From 8c3aa31569fbdd29caad49326d84c87f314e49ae Mon Sep 17 00:00:00 2001 From: Mikhail Date: Wed, 3 Jul 2024 19:57:00 -0400 Subject: [PATCH] zip modified libsodium --- PATCHED-libsodium-1.0.18-RELEASE.7z | Bin 0 -> 1500981 bytes libsodium-1.0.18-RELEASE/.gitignore | 162 - libsodium-1.0.18-RELEASE/.travis.yml | 43 - libsodium-1.0.18-RELEASE/AUTHORS | 145 - libsodium-1.0.18-RELEASE/ChangeLog | 563 --- libsodium-1.0.18-RELEASE/LICENSE | 18 - libsodium-1.0.18-RELEASE/Makefile.am | 24 - libsodium-1.0.18-RELEASE/README.markdown | 47 - libsodium-1.0.18-RELEASE/THANKS | 92 - libsodium-1.0.18-RELEASE/appveyor.yml | 24 - libsodium-1.0.18-RELEASE/autogen.sh | 53 - libsodium-1.0.18-RELEASE/azure-pipelines.yml | 153 - libsodium-1.0.18-RELEASE/builds/.gitignore | 7 - libsodium-1.0.18-RELEASE/builds/Makefile.am | 72 - .../builds/msvc/build/buildall.bat | 16 - .../builds/msvc/build/buildbase.bat | 96 - .../builds/msvc/properties/Common.props | 21 - .../builds/msvc/properties/DLL.props | 16 - .../builds/msvc/properties/Debug.props | 29 - .../builds/msvc/properties/DebugDEXE.props | 21 - .../builds/msvc/properties/DebugDLL.props | 20 - .../builds/msvc/properties/DebugLEXE.props | 20 - .../builds/msvc/properties/DebugLIB.props | 21 - .../builds/msvc/properties/DebugLTCG.props | 20 - .../builds/msvc/properties/DebugSEXE.props | 21 - .../builds/msvc/properties/EXE.props | 17 - .../builds/msvc/properties/LIB.props | 16 - .../builds/msvc/properties/LTCG.props | 13 - .../builds/msvc/properties/Link.props | 21 - .../builds/msvc/properties/Messages.props | 15 - .../builds/msvc/properties/Output.props | 30 - .../builds/msvc/properties/Release.props | 41 - .../builds/msvc/properties/ReleaseDEXE.props | 20 - .../builds/msvc/properties/ReleaseDLL.props | 19 - .../builds/msvc/properties/ReleaseLEXE.props | 20 - .../builds/msvc/properties/ReleaseLIB.props | 19 - .../builds/msvc/properties/ReleaseLTCG.props | 19 - .../builds/msvc/properties/ReleaseSEXE.props | 20 - .../builds/msvc/properties/Win32.props | 23 - .../builds/msvc/properties/x64.props | 26 - .../builds/msvc/resource.h | 14 - .../builds/msvc/resource.rc | 63 - .../builds/msvc/version.h | 32 - .../builds/msvc/vs2010/libsodium.import.props | 52 - .../builds/msvc/vs2010/libsodium.import.xml | 17 - .../builds/msvc/vs2010/libsodium.sln | 50 - .../msvc/vs2010/libsodium/libsodium.props | 48 - .../msvc/vs2010/libsodium/libsodium.vcxproj | 327 -- .../libsodium/libsodium.vcxproj.filters | 998 ----- .../msvc/vs2010/libsodium/libsodium.xml | 15 - .../builds/msvc/vs2012/libsodium.import.props | 52 - .../builds/msvc/vs2012/libsodium.import.xml | 17 - .../builds/msvc/vs2012/libsodium.sln | 50 - .../msvc/vs2012/libsodium/libsodium.props | 48 - .../msvc/vs2012/libsodium/libsodium.vcxproj | 327 -- .../libsodium/libsodium.vcxproj.filters | 998 ----- .../msvc/vs2012/libsodium/libsodium.xml | 15 - .../builds/msvc/vs2013/libsodium.import.props | 52 - .../builds/msvc/vs2013/libsodium.import.xml | 17 - .../builds/msvc/vs2013/libsodium.sln | 52 - .../msvc/vs2013/libsodium/libsodium.props | 48 - .../msvc/vs2013/libsodium/libsodium.vcxproj | 327 -- .../libsodium/libsodium.vcxproj.filters | 998 ----- .../msvc/vs2013/libsodium/libsodium.xml | 15 - .../builds/msvc/vs2015/libsodium.import.props | 52 - .../builds/msvc/vs2015/libsodium.import.xml | 17 - .../builds/msvc/vs2015/libsodium.sln | 52 - .../msvc/vs2015/libsodium/libsodium.props | 48 - .../msvc/vs2015/libsodium/libsodium.vcxproj | 327 -- .../libsodium/libsodium.vcxproj.filters | 998 ----- .../msvc/vs2015/libsodium/libsodium.xml | 15 - .../builds/msvc/vs2017/libsodium.import.props | 52 - .../builds/msvc/vs2017/libsodium.import.xml | 17 - .../builds/msvc/vs2017/libsodium.sln | 52 - .../msvc/vs2017/libsodium/libsodium.props | 48 - .../msvc/vs2017/libsodium/libsodium.vcxproj | 327 -- .../libsodium/libsodium.vcxproj.filters | 998 ----- .../msvc/vs2017/libsodium/libsodium.xml | 15 - .../builds/msvc/vs2019/libsodium.import.props | 52 - .../builds/msvc/vs2019/libsodium.import.xml | 17 - .../builds/msvc/vs2019/libsodium.sln | 52 - .../msvc/vs2019/libsodium/libsodium.props | 48 - .../msvc/vs2019/libsodium/libsodium.vcxproj | 327 -- .../libsodium/libsodium.vcxproj.filters | 998 ----- .../msvc/vs2019/libsodium/libsodium.xml | 15 - libsodium-1.0.18-RELEASE/configure.ac | 887 ----- .../contrib/Findsodium.cmake | 293 -- libsodium-1.0.18-RELEASE/contrib/Makefile.am | 3 - .../dist-build/Makefile.am | 16 - .../dist-build/android-arm.sh | 4 - .../dist-build/android-armv7-a.sh | 4 - .../dist-build/android-armv8-a.sh | 4 - .../dist-build/android-build.sh | 98 - .../dist-build/android-mips32.sh | 4 - .../dist-build/android-mips64.sh | 4 - .../dist-build/android-x86.sh | 4 - .../dist-build/android-x86_64.sh | 4 - .../dist-build/emscripten-symbols.def | 608 --- .../dist-build/emscripten.sh | 191 - .../dist-build/generate-emscripten-symbols.sh | 57 - libsodium-1.0.18-RELEASE/dist-build/ios.sh | 135 - .../dist-build/msys2-win32.sh | 18 - .../dist-build/msys2-win64.sh | 18 - libsodium-1.0.18-RELEASE/dist-build/osx.sh | 30 - .../dist-build/wasm32-wasi.sh | 49 - .../dist-build/watchos.sh | 114 - libsodium-1.0.18-RELEASE/lgtm.yml | 6 - .../libsodium-uninstalled.pc.in | 7 - libsodium-1.0.18-RELEASE/libsodium.pc.in | 12 - libsodium-1.0.18-RELEASE/libsodium.sln | 40 - libsodium-1.0.18-RELEASE/libsodium.vcxproj | 565 --- .../libsodium.vcxproj.filters | 737 ---- libsodium-1.0.18-RELEASE/logo.png | Bin 13249 -> 0 bytes .../m4/ax_check_catchable_abrt.m4 | 57 - .../m4/ax_check_catchable_segv.m4 | 42 - .../m4/ax_check_compile_flag.m4 | 75 - .../m4/ax_check_define.m4 | 92 - .../m4/ax_check_gnu_make.m4 | 84 - .../m4/ax_check_link_flag.m4 | 75 - libsodium-1.0.18-RELEASE/m4/ax_pthread.m4 | 485 --- libsodium-1.0.18-RELEASE/m4/ax_tls.m4 | 74 - .../m4/ax_valgrind_check.m4 | 241 -- libsodium-1.0.18-RELEASE/m4/ld-output-def.m4 | 29 - .../msvc-scripts/Makefile.am | 4 - .../msvc-scripts/process.bat | 5 - libsodium-1.0.18-RELEASE/msvc-scripts/rep.vbs | 12 - .../msvc-scripts/sodium.props | 28 - .../packaging/dotnet-core/.gitignore | 5 - .../packaging/dotnet-core/README.md | 59 - .../packaging/dotnet-core/libsodium.props | 36 - .../packaging/dotnet-core/prepare.py | 302 -- .../packaging/dotnet-core/recipes/alpine-x64 | 3 - .../packaging/dotnet-core/recipes/build | 9 - .../packaging/dotnet-core/recipes/centos-x64 | 3 - .../packaging/dotnet-core/recipes/debian-x64 | 4 - .../packaging/dotnet-core/recipes/fedora-x64 | 3 - .../packaging/dotnet-core/recipes/linux-x64 | 4 - .../dotnet-core/recipes/opensuse-x64 | 3 - .../packaging/dotnet-core/recipes/pack | 5 - .../packaging/dotnet-core/recipes/test | 27 - .../packaging/dotnet-core/recipes/ubuntu-x64 | 4 - .../packaging/nuget/.gitignore | 4 - .../packaging/nuget/package.bat | 13 - .../packaging/nuget/package.config | 4 - .../packaging/nuget/package.gsl | 260 -- .../regen-msvc/libsodium.vcxproj | 326 -- .../regen-msvc/libsodium.vcxproj.filters | 23 - .../regen-msvc/libsodium.vcxproj.filters.tpl | 35 - .../regen-msvc/libsodium.vcxproj.tpl | 93 - .../regen-msvc/regen-msvc.py | 185 - .../tl_libsodium.vcxproj.filters.tpl | 23 - .../regen-msvc/tl_libsodium.vcxproj.tpl | 331 -- libsodium-1.0.18-RELEASE/src/Makefile.am | 3 - .../src/libsodium/Makefile.am | 287 -- .../aes256gcm/aesni/aead_aes256gcm_aesni.c | 1079 ------ .../sodium/aead_chacha20poly1305.c | 400 -- .../sodium/aead_xchacha20poly1305.c | 262 -- .../src/libsodium/crypto_auth/crypto_auth.c | 41 - .../crypto_auth/hmacsha256/auth_hmacsha256.c | 118 - .../crypto_auth/hmacsha512/auth_hmacsha512.c | 118 - .../hmacsha512256/auth_hmacsha512256.c | 93 - .../src/libsodium/crypto_box/crypto_box.c | 114 - .../libsodium/crypto_box/crypto_box_easy.c | 115 - .../libsodium/crypto_box/crypto_box_seal.c | 68 - .../box_curve25519xchacha20poly1305.c | 204 -- .../box_seal_curve25519xchacha20poly1305.c | 79 - .../box_curve25519xsalsa20poly1305.c | 156 - .../crypto_core/ed25519/core_ed25519.c | 225 -- .../crypto_core/ed25519/core_ristretto255.c | 156 - .../crypto_core/ed25519/ref10/ed25519_ref10.c | 2866 --------------- .../crypto_core/ed25519/ref10/fe_25_5/base.h | 1344 ------- .../crypto_core/ed25519/ref10/fe_25_5/base2.h | 40 - .../ed25519/ref10/fe_25_5/constants.h | 40 - .../crypto_core/ed25519/ref10/fe_25_5/fe.h | 220 -- .../crypto_core/ed25519/ref10/fe_51/base.h | 1344 ------- .../crypto_core/ed25519/ref10/fe_51/base2.h | 40 - .../ed25519/ref10/fe_51/constants.h | 41 - .../crypto_core/ed25519/ref10/fe_51/fe.h | 116 - .../crypto_core/hchacha20/core_hchacha20.c | 93 - .../crypto_core/hsalsa20/core_hsalsa20.c | 21 - .../hsalsa20/ref2/core_hsalsa20_ref2.c | 95 - .../crypto_core/salsa/ref/core_salsa_ref.c | 195 - .../blake2b/generichash_blake2.c | 55 - .../crypto_generichash/blake2b/ref/blake2.h | 116 - .../blake2b/ref/blake2b-compress-avx2.c | 49 - .../blake2b/ref/blake2b-compress-avx2.h | 142 - .../blake2b/ref/blake2b-compress-ref.c | 93 - .../blake2b/ref/blake2b-compress-sse41.c | 87 - .../blake2b/ref/blake2b-compress-sse41.h | 103 - .../blake2b/ref/blake2b-compress-ssse3.c | 90 - .../blake2b/ref/blake2b-compress-ssse3.h | 103 - .../blake2b/ref/blake2b-load-avx2.h | 340 -- .../blake2b/ref/blake2b-load-sse2.h | 164 - .../blake2b/ref/blake2b-load-sse41.h | 307 -- .../blake2b/ref/blake2b-ref.c | 438 --- .../blake2b/ref/generichash_blake2b.c | 116 - .../crypto_generichash/crypto_generichash.c | 91 - .../src/libsodium/crypto_hash/crypto_hash.c | 20 - .../crypto_hash/sha256/cp/hash_sha256_cp.c | 254 -- .../crypto_hash/sha256/hash_sha256.c | 13 - .../crypto_hash/sha512/cp/hash_sha512_cp.c | 282 -- .../crypto_hash/sha512/hash_sha512.c | 13 - .../crypto_kdf/blake2b/kdf_blake2b.c | 52 - .../src/libsodium/crypto_kdf/crypto_kdf.c | 49 - .../src/libsodium/crypto_kx/crypto_kx.c | 145 - .../crypto_onetimeauth/crypto_onetimeauth.c | 71 - .../poly1305/donna/poly1305_donna.c | 124 - .../poly1305/donna/poly1305_donna.h | 12 - .../poly1305/donna/poly1305_donna32.h | 235 -- .../poly1305/donna/poly1305_donna64.h | 221 -- .../poly1305/onetimeauth_poly1305.c | 90 - .../poly1305/onetimeauth_poly1305.h | 21 - .../poly1305/sse2/poly1305_sse2.c | 949 ----- .../poly1305/sse2/poly1305_sse2.h | 12 - .../crypto_pwhash/argon2/argon2-core.c | 550 --- .../crypto_pwhash/argon2/argon2-core.h | 297 -- .../crypto_pwhash/argon2/argon2-encoding.c | 305 -- .../crypto_pwhash/argon2/argon2-encoding.h | 33 - .../argon2/argon2-fill-block-avx2.c | 239 -- .../argon2/argon2-fill-block-avx512f.c | 244 -- .../argon2/argon2-fill-block-ref.c | 233 -- .../argon2/argon2-fill-block-ssse3.c | 238 -- .../libsodium/crypto_pwhash/argon2/argon2.c | 277 -- .../libsodium/crypto_pwhash/argon2/argon2.h | 305 -- .../crypto_pwhash/argon2/blake2b-long.c | 79 - .../crypto_pwhash/argon2/blake2b-long.h | 8 - .../crypto_pwhash/argon2/blamka-round-avx2.h | 150 - .../argon2/blamka-round-avx512f.h | 145 - .../crypto_pwhash/argon2/blamka-round-ref.h | 40 - .../crypto_pwhash/argon2/blamka-round-ssse3.h | 120 - .../crypto_pwhash/argon2/pwhash_argon2i.c | 290 -- .../crypto_pwhash/argon2/pwhash_argon2id.c | 234 -- .../libsodium/crypto_pwhash/crypto_pwhash.c | 212 -- .../crypto_scrypt-common.c | 263 -- .../scryptsalsa208sha256/crypto_scrypt.h | 98 - .../nosse/pwhash_scryptsalsa208sha256_nosse.c | 383 -- .../scryptsalsa208sha256/pbkdf2-sha256.c | 95 - .../scryptsalsa208sha256/pbkdf2-sha256.h | 45 - .../pwhash_scryptsalsa208sha256.c | 296 -- .../scryptsalsa208sha256/scrypt_platform.c | 108 - .../sse/pwhash_scryptsalsa208sha256_sse.c | 404 -- .../crypto_scalarmult/crypto_scalarmult.c | 33 - .../curve25519/ref10/x25519_ref10.c | 180 - .../curve25519/ref10/x25519_ref10.h | 10 - .../curve25519/sandy2x/consts.S | 25 - .../curve25519/sandy2x/consts_namespace.h | 20 - .../curve25519/sandy2x/curve25519_sandy2x.c | 114 - .../curve25519/sandy2x/curve25519_sandy2x.h | 9 - .../crypto_scalarmult/curve25519/sandy2x/fe.h | 26 - .../curve25519/sandy2x/fe51.h | 35 - .../curve25519/sandy2x/fe51_invert.c | 58 - .../curve25519/sandy2x/fe51_mul.S | 197 - .../curve25519/sandy2x/fe51_namespace.h | 16 - .../curve25519/sandy2x/fe51_nsquare.S | 172 - .../curve25519/sandy2x/fe51_pack.S | 226 -- .../curve25519/sandy2x/fe_frombytes_sandy2x.c | 78 - .../curve25519/sandy2x/ladder.S | 1440 -------- .../curve25519/sandy2x/ladder.h | 18 - .../curve25519/sandy2x/ladder_base.S | 1295 ------- .../curve25519/sandy2x/ladder_base.h | 18 - .../sandy2x/ladder_base_namespace.h | 8 - .../curve25519/sandy2x/ladder_namespace.h | 8 - .../curve25519/sandy2x/sandy2x.S | 17 - .../curve25519/scalarmult_curve25519.c | 59 - .../curve25519/scalarmult_curve25519.h | 11 - .../ed25519/ref10/scalarmult_ed25519_ref10.c | 121 - .../ref10/scalarmult_ristretto255_ref10.c | 63 - .../crypto_secretbox/crypto_secretbox.c | 67 - .../crypto_secretbox/crypto_secretbox_easy.c | 144 - .../secretbox_xchacha20poly1305.c | 177 - .../secretbox_xsalsa20poly1305.c | 89 - .../secretstream_xchacha20poly1305.c | 313 -- .../crypto_shorthash/crypto_shorthash.c | 34 - .../siphash24/ref/shorthash_siphash24_ref.c | 71 - .../siphash24/ref/shorthash_siphash_ref.h | 24 - .../siphash24/ref/shorthash_siphashx24_ref.c | 77 - .../siphash24/shorthash_siphash24.c | 11 - .../siphash24/shorthash_siphashx24.c | 11 - .../src/libsodium/crypto_sign/crypto_sign.c | 115 - .../crypto_sign/ed25519/ref10/keypair.c | 83 - .../crypto_sign/ed25519/ref10/obsolete.c | 118 - .../crypto_sign/ed25519/ref10/open.c | 96 - .../crypto_sign/ed25519/ref10/sign.c | 143 - .../ed25519/ref10/sign_ed25519_ref10.h | 18 - .../crypto_sign/ed25519/sign_ed25519.c | 97 - .../chacha20/dolbeau/chacha20_dolbeau-avx2.c | 177 - .../chacha20/dolbeau/chacha20_dolbeau-avx2.h | 8 - .../chacha20/dolbeau/chacha20_dolbeau-ssse3.c | 171 - .../chacha20/dolbeau/chacha20_dolbeau-ssse3.h | 8 - .../crypto_stream/chacha20/dolbeau/u0.h | 86 - .../crypto_stream/chacha20/dolbeau/u1.h | 98 - .../crypto_stream/chacha20/dolbeau/u4.h | 177 - .../crypto_stream/chacha20/dolbeau/u8.h | 357 -- .../crypto_stream/chacha20/ref/chacha20_ref.c | 312 -- .../crypto_stream/chacha20/ref/chacha20_ref.h | 8 - .../crypto_stream/chacha20/stream_chacha20.c | 184 - .../crypto_stream/chacha20/stream_chacha20.h | 22 - .../libsodium/crypto_stream/crypto_stream.c | 49 - .../crypto_stream/salsa20/ref/salsa20_ref.c | 120 - .../crypto_stream/salsa20/ref/salsa20_ref.h | 8 - .../crypto_stream/salsa20/stream_salsa20.c | 100 - .../crypto_stream/salsa20/stream_salsa20.h | 16 - .../salsa20/xmm6/salsa20_xmm6-asm.S | 960 ----- .../crypto_stream/salsa20/xmm6/salsa20_xmm6.c | 31 - .../crypto_stream/salsa20/xmm6/salsa20_xmm6.h | 8 - .../salsa20/xmm6int/salsa20_xmm6int-avx2.c | 131 - .../salsa20/xmm6int/salsa20_xmm6int-avx2.h | 8 - .../salsa20/xmm6int/salsa20_xmm6int-sse2.c | 122 - .../salsa20/xmm6int/salsa20_xmm6int-sse2.h | 8 - .../crypto_stream/salsa20/xmm6int/u0.h | 195 - .../crypto_stream/salsa20/xmm6int/u1.h | 207 -- .../crypto_stream/salsa20/xmm6int/u4.h | 547 --- .../crypto_stream/salsa20/xmm6int/u8.h | 477 --- .../salsa2012/ref/stream_salsa2012_ref.c | 106 - .../salsa2012/stream_salsa2012.c | 26 - .../salsa208/ref/stream_salsa208_ref.c | 106 - .../crypto_stream/salsa208/stream_salsa208.c | 26 - .../xchacha20/stream_xchacha20.c | 69 - .../crypto_stream/xsalsa20/stream_xsalsa20.c | 66 - .../libsodium/crypto_verify/sodium/verify.c | 98 - .../src/libsodium/include/Makefile.am | 72 - .../src/libsodium/include/sodium.h | 69 - .../src/libsodium/include/sodium/core.h | 28 - .../include/sodium/crypto_aead_aes256gcm.h | 179 - .../sodium/crypto_aead_chacha20poly1305.h | 180 - .../sodium/crypto_aead_xchacha20poly1305.h | 100 - .../libsodium/include/sodium/crypto_auth.h | 46 - .../include/sodium/crypto_auth_hmacsha256.h | 70 - .../include/sodium/crypto_auth_hmacsha512.h | 68 - .../sodium/crypto_auth_hmacsha512256.h | 65 - .../src/libsodium/include/sodium/crypto_box.h | 177 - .../crypto_box_curve25519xchacha20poly1305.h | 164 - .../crypto_box_curve25519xsalsa20poly1305.h | 112 - .../include/sodium/crypto_core_ed25519.h | 100 - .../include/sodium/crypto_core_hchacha20.h | 36 - .../include/sodium/crypto_core_hsalsa20.h | 36 - .../include/sodium/crypto_core_ristretto255.h | 100 - .../include/sodium/crypto_core_salsa20.h | 36 - .../include/sodium/crypto_core_salsa2012.h | 36 - .../include/sodium/crypto_core_salsa208.h | 40 - .../include/sodium/crypto_generichash.h | 84 - .../sodium/crypto_generichash_blake2b.h | 118 - .../libsodium/include/sodium/crypto_hash.h | 40 - .../include/sodium/crypto_hash_sha256.h | 60 - .../include/sodium/crypto_hash_sha512.h | 60 - .../src/libsodium/include/sodium/crypto_kdf.h | 53 - .../include/sodium/crypto_kdf_blake2b.h | 44 - .../src/libsodium/include/sodium/crypto_kx.h | 66 - .../include/sodium/crypto_onetimeauth.h | 65 - .../sodium/crypto_onetimeauth_poly1305.h | 72 - .../libsodium/include/sodium/crypto_pwhash.h | 147 - .../include/sodium/crypto_pwhash_argon2i.h | 122 - .../include/sodium/crypto_pwhash_argon2id.h | 122 - .../crypto_pwhash_scryptsalsa208sha256.h | 120 - .../include/sodium/crypto_scalarmult.h | 46 - .../sodium/crypto_scalarmult_curve25519.h | 42 - .../sodium/crypto_scalarmult_ed25519.h | 51 - .../sodium/crypto_scalarmult_ristretto255.h | 43 - .../include/sodium/crypto_secretbox.h | 93 - .../crypto_secretbox_xchacha20poly1305.h | 70 - .../crypto_secretbox_xsalsa20poly1305.h | 69 - .../crypto_secretstream_xchacha20poly1305.h | 108 - .../include/sodium/crypto_shorthash.h | 41 - .../sodium/crypto_shorthash_siphash24.h | 50 - .../libsodium/include/sodium/crypto_sign.h | 107 - .../include/sodium/crypto_sign_ed25519.h | 124 - .../crypto_sign_edwards25519sha512batch.h | 55 - .../libsodium/include/sodium/crypto_stream.h | 59 - .../include/sodium/crypto_stream_chacha20.h | 106 - .../include/sodium/crypto_stream_salsa20.h | 61 - .../include/sodium/crypto_stream_salsa2012.h | 53 - .../include/sodium/crypto_stream_salsa208.h | 56 - .../include/sodium/crypto_stream_xchacha20.h | 61 - .../include/sodium/crypto_stream_xsalsa20.h | 61 - .../include/sodium/crypto_verify_16.h | 23 - .../include/sodium/crypto_verify_32.h | 23 - .../include/sodium/crypto_verify_64.h | 23 - .../src/libsodium/include/sodium/export.h | 57 - .../sodium/private/chacha20_ietf_ext.h | 16 - .../libsodium/include/sodium/private/common.h | 261 -- .../include/sodium/private/ed25519_ref10.h | 142 - .../sodium/private/ed25519_ref10_fe_25_5.h | 1050 ------ .../sodium/private/ed25519_ref10_fe_51.h | 518 --- .../include/sodium/private/implementations.h | 11 - .../libsodium/include/sodium/private/mutex.h | 7 - .../include/sodium/private/sse2_64_32.h | 50 - .../libsodium/include/sodium/randombytes.h | 72 - .../sodium/randombytes_internal_random.h | 22 - .../include/sodium/randombytes_sysrandom.h | 19 - .../src/libsodium/include/sodium/runtime.h | 52 - .../src/libsodium/include/sodium/utils.h | 179 - .../src/libsodium/include/sodium/version.h.in | 33 - .../internal/randombytes_internal_random.c | 631 ---- .../src/libsodium/randombytes/randombytes.c | 199 - .../sysrandom/randombytes_sysrandom.c | 396 -- .../src/libsodium/sodium/codecs.c | 333 -- .../src/libsodium/sodium/core.c | 214 -- .../src/libsodium/sodium/runtime.c | 309 -- .../src/libsodium/sodium/utils.c | 783 ---- .../src/libsodium/sodium/version.c | 30 - libsodium-1.0.18-RELEASE/test/Makefile.am | 5 - libsodium-1.0.18-RELEASE/test/constcheck.sh | 20 - .../test/default/Makefile.am | 507 --- .../test/default/aead_aes256gcm.c | 3243 ----------------- .../test/default/aead_aes256gcm.exp | 1 - .../test/default/aead_aes256gcm2.c | 276 -- .../test/default/aead_aes256gcm2.exp | 1 - .../test/default/aead_chacha20poly1305.c | 372 -- .../test/default/aead_chacha20poly1305.exp | 63 - .../test/default/aead_chacha20poly13052.c | 1046 ------ .../test/default/aead_chacha20poly13052.exp | 1 - .../test/default/aead_xchacha20poly1305.c | 203 -- .../test/default/aead_xchacha20poly1305.exp | 51 - libsodium-1.0.18-RELEASE/test/default/auth.c | 141 - .../test/default/auth.exp | 30 - libsodium-1.0.18-RELEASE/test/default/auth2.c | 34 - .../test/default/auth2.exp | 4 - libsodium-1.0.18-RELEASE/test/default/auth3.c | 36 - .../test/default/auth3.exp | 1 - libsodium-1.0.18-RELEASE/test/default/auth5.c | 41 - .../test/default/auth5.exp | 0 libsodium-1.0.18-RELEASE/test/default/auth6.c | 23 - .../test/default/auth6.exp | 8 - libsodium-1.0.18-RELEASE/test/default/auth7.c | 41 - .../test/default/auth7.exp | 0 libsodium-1.0.18-RELEASE/test/default/box.c | 112 - libsodium-1.0.18-RELEASE/test/default/box.exp | 38 - libsodium-1.0.18-RELEASE/test/default/box2.c | 80 - .../test/default/box2.exp | 34 - libsodium-1.0.18-RELEASE/test/default/box7.c | 50 - .../test/default/box7.exp | 0 libsodium-1.0.18-RELEASE/test/default/box8.c | 58 - .../test/default/box8.exp | 0 .../test/default/box_easy.c | 72 - .../test/default/box_easy.exp | 3 - .../test/default/box_easy2.c | 149 - .../test/default/box_easy2.exp | 7 - .../test/default/box_seal.c | 101 - .../test/default/box_seal.exp | 8 - .../test/default/box_seed.c | 30 - .../test/default/box_seed.exp | 8 - .../test/default/chacha20.c | 186 - .../test/default/chacha20.exp | 64 - .../test/default/cmptest.h | 230 -- .../test/default/codecs.c | 245 -- .../test/default/codecs.exp | 30 - libsodium-1.0.18-RELEASE/test/default/core1.c | 41 - .../test/default/core1.exp | 4 - libsodium-1.0.18-RELEASE/test/default/core2.c | 38 - .../test/default/core2.exp | 4 - libsodium-1.0.18-RELEASE/test/default/core3.c | 115 - .../test/default/core3.exp | 3 - libsodium-1.0.18-RELEASE/test/default/core4.c | 36 - .../test/default/core4.exp | 8 - libsodium-1.0.18-RELEASE/test/default/core5.c | 33 - .../test/default/core5.exp | 4 - libsodium-1.0.18-RELEASE/test/default/core6.c | 52 - .../test/default/core6.exp | 4 - .../test/default/core_ed25519.c | 413 --- .../test/default/core_ed25519.exp | 18 - .../test/default/core_ristretto255.c | 270 -- .../test/default/core_ristretto255.exp | 8 - .../test/default/ed25519_convert.c | 70 - .../test/default/ed25519_convert.exp | 3 - .../test/default/generichash.c | 1406 ------- .../test/default/generichash.exp | 65 - .../test/default/generichash2.c | 62 - .../test/default/generichash2.exp | 64 - .../test/default/generichash3.c | 176 - .../test/default/generichash3.exp | 75 - libsodium-1.0.18-RELEASE/test/default/hash.c | 47 - .../test/default/hash.exp | 4 - .../test/default/hash2.exp | 1 - libsodium-1.0.18-RELEASE/test/default/hash3.c | 20 - .../test/default/hash3.exp | 1 - .../test/default/index.html.tpl | 98 - libsodium-1.0.18-RELEASE/test/default/kdf.c | 71 - libsodium-1.0.18-RELEASE/test/default/kdf.exp | 77 - .../test/default/keygen.c | 67 - .../test/default/keygen.exp | 1 - libsodium-1.0.18-RELEASE/test/default/kx.c | 149 - libsodium-1.0.18-RELEASE/test/default/kx.exp | 7 - .../test/default/metamorphic.c | 187 - .../test/default/metamorphic.exp | 1 - .../test/default/misuse.c | 184 - .../test/default/misuse.exp | 0 .../test/default/onetimeauth.c | 63 - .../test/default/onetimeauth.exp | 4 - .../test/default/onetimeauth2.c | 33 - .../test/default/onetimeauth2.exp | 1 - .../test/default/onetimeauth7.c | 36 - .../test/default/onetimeauth7.exp | 0 .../test/default/pre.js.inc | 22 - .../test/default/pwhash_argon2i.c | 453 --- .../test/default/pwhash_argon2i.exp | 11 - .../test/default/pwhash_argon2id.c | 503 --- .../test/default/pwhash_argon2id.exp | 14 - .../test/default/pwhash_scrypt.c | 398 -- .../test/default/pwhash_scrypt.exp | 37 - .../test/default/pwhash_scrypt_ll.c | 59 - .../test/default/pwhash_scrypt_ll.exp | 15 - .../test/default/randombytes.c | 164 - .../test/default/randombytes.exp | 2 - .../test/default/scalarmult.c | 71 - .../test/default/scalarmult.exp | 4 - .../test/default/scalarmult2.c | 32 - .../test/default/scalarmult2.exp | 4 - .../test/default/scalarmult5.c | 40 - .../test/default/scalarmult5.exp | 4 - .../test/default/scalarmult6.c | 54 - .../test/default/scalarmult6.exp | 4 - .../test/default/scalarmult7.c | 34 - .../test/default/scalarmult7.exp | 1 - .../test/default/scalarmult8.c | 580 --- .../test/default/scalarmult8.exp | 65 - .../test/default/scalarmult_ed25519.c | 134 - .../test/default/scalarmult_ed25519.exp | 1 - .../test/default/scalarmult_ristretto255.c | 51 - .../test/default/scalarmult_ristretto255.exp | 18 - .../test/default/secretbox.c | 84 - .../test/default/secretbox.exp | 38 - .../test/default/secretbox2.c | 55 - .../test/default/secretbox2.exp | 17 - .../test/default/secretbox7.c | 36 - .../test/default/secretbox7.exp | 0 .../test/default/secretbox8.c | 41 - .../test/default/secretbox8.exp | 0 .../test/default/secretbox_easy.c | 124 - .../test/default/secretbox_easy.exp | 9 - .../test/default/secretbox_easy2.c | 72 - .../test/default/secretbox_easy2.exp | 5 - .../test/default/secretstream.c | 329 -- .../test/default/secretstream.exp | 1 - .../test/default/shorthash.c | 35 - .../test/default/shorthash.exp | 64 - libsodium-1.0.18-RELEASE/test/default/sign.c | 1324 ------- .../test/default/sign.exp | 5 - .../test/default/siphashx24.c | 33 - .../test/default/siphashx24.exp | 64 - .../test/default/sodium_core.c | 42 - .../test/default/sodium_core.exp | 1 - .../test/default/sodium_utils.c | 224 -- .../test/default/sodium_utils.exp | 25 - .../test/default/sodium_utils2.c | 105 - .../test/default/sodium_utils2.exp | 3 - .../test/default/sodium_utils3.c | 72 - .../test/default/sodium_utils3.exp | 2 - .../test/default/sodium_version.c | 18 - .../test/default/sodium_version.exp | 3 - .../test/default/stream.c | 84 - .../test/default/stream.exp | 83 - .../test/default/stream2.c | 59 - .../test/default/stream2.exp | 2 - .../test/default/stream3.c | 31 - .../test/default/stream3.exp | 4 - .../test/default/stream4.c | 50 - .../test/default/stream4.exp | 17 - .../test/default/verify1.c | 76 - .../test/default/verify1.exp | 2 - .../test/default/wasi-test-wrapper.sh | 28 - .../test/default/wintest.bat | 56 - .../test/default/xchacha20.c | 428 --- .../test/default/xchacha20.exp | 5 - libsodium-1.0.18-RELEASE/test/quirks/quirks.h | 34 - 564 files changed, 77657 deletions(-) create mode 100644 PATCHED-libsodium-1.0.18-RELEASE.7z delete mode 100644 libsodium-1.0.18-RELEASE/.gitignore delete mode 100644 libsodium-1.0.18-RELEASE/.travis.yml delete mode 100644 libsodium-1.0.18-RELEASE/AUTHORS delete mode 100644 libsodium-1.0.18-RELEASE/ChangeLog delete mode 100644 libsodium-1.0.18-RELEASE/LICENSE delete mode 100644 libsodium-1.0.18-RELEASE/Makefile.am delete mode 100644 libsodium-1.0.18-RELEASE/README.markdown delete mode 100644 libsodium-1.0.18-RELEASE/THANKS delete mode 100644 libsodium-1.0.18-RELEASE/appveyor.yml delete mode 100644 libsodium-1.0.18-RELEASE/autogen.sh delete mode 100644 libsodium-1.0.18-RELEASE/azure-pipelines.yml delete mode 100644 libsodium-1.0.18-RELEASE/builds/.gitignore delete mode 100644 libsodium-1.0.18-RELEASE/builds/Makefile.am delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/build/buildall.bat delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/build/buildbase.bat delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/Common.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/DLL.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/Debug.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugDEXE.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugDLL.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLEXE.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLIB.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLTCG.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugSEXE.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/EXE.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/LIB.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/LTCG.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/Link.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/Messages.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/Output.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/Release.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseDEXE.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseDLL.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLEXE.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLIB.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLTCG.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseSEXE.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/Win32.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/properties/x64.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/resource.h delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/resource.rc delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/version.h delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.import.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.import.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.sln delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.vcxproj delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.import.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.import.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.sln delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.vcxproj delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.import.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.import.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.sln delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.vcxproj delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.import.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.import.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.sln delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.vcxproj delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.import.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.import.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.sln delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.vcxproj delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.import.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.import.xml delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.sln delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.props delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.vcxproj delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters delete mode 100644 libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.xml delete mode 100644 libsodium-1.0.18-RELEASE/configure.ac delete mode 100644 libsodium-1.0.18-RELEASE/contrib/Findsodium.cmake delete mode 100644 libsodium-1.0.18-RELEASE/contrib/Makefile.am delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/Makefile.am delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/android-arm.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/android-armv7-a.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/android-armv8-a.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/android-build.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/android-mips32.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/android-mips64.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/android-x86.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/android-x86_64.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/emscripten-symbols.def delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/emscripten.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/generate-emscripten-symbols.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/ios.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/msys2-win32.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/msys2-win64.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/osx.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/wasm32-wasi.sh delete mode 100644 libsodium-1.0.18-RELEASE/dist-build/watchos.sh delete mode 100644 libsodium-1.0.18-RELEASE/lgtm.yml delete mode 100644 libsodium-1.0.18-RELEASE/libsodium-uninstalled.pc.in delete mode 100644 libsodium-1.0.18-RELEASE/libsodium.pc.in delete mode 100644 libsodium-1.0.18-RELEASE/libsodium.sln delete mode 100644 libsodium-1.0.18-RELEASE/libsodium.vcxproj delete mode 100644 libsodium-1.0.18-RELEASE/libsodium.vcxproj.filters delete mode 100644 libsodium-1.0.18-RELEASE/logo.png delete mode 100644 libsodium-1.0.18-RELEASE/m4/ax_check_catchable_abrt.m4 delete mode 100644 libsodium-1.0.18-RELEASE/m4/ax_check_catchable_segv.m4 delete mode 100644 libsodium-1.0.18-RELEASE/m4/ax_check_compile_flag.m4 delete mode 100644 libsodium-1.0.18-RELEASE/m4/ax_check_define.m4 delete mode 100644 libsodium-1.0.18-RELEASE/m4/ax_check_gnu_make.m4 delete mode 100644 libsodium-1.0.18-RELEASE/m4/ax_check_link_flag.m4 delete mode 100644 libsodium-1.0.18-RELEASE/m4/ax_pthread.m4 delete mode 100644 libsodium-1.0.18-RELEASE/m4/ax_tls.m4 delete mode 100644 libsodium-1.0.18-RELEASE/m4/ax_valgrind_check.m4 delete mode 100644 libsodium-1.0.18-RELEASE/m4/ld-output-def.m4 delete mode 100644 libsodium-1.0.18-RELEASE/msvc-scripts/Makefile.am delete mode 100644 libsodium-1.0.18-RELEASE/msvc-scripts/process.bat delete mode 100644 libsodium-1.0.18-RELEASE/msvc-scripts/rep.vbs delete mode 100644 libsodium-1.0.18-RELEASE/msvc-scripts/sodium.props delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/.gitignore delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/README.md delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/libsodium.props delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/prepare.py delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/alpine-x64 delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/build delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/centos-x64 delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/debian-x64 delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/fedora-x64 delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/linux-x64 delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/opensuse-x64 delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/pack delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/test delete mode 100644 libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/ubuntu-x64 delete mode 100644 libsodium-1.0.18-RELEASE/packaging/nuget/.gitignore delete mode 100644 libsodium-1.0.18-RELEASE/packaging/nuget/package.bat delete mode 100644 libsodium-1.0.18-RELEASE/packaging/nuget/package.config delete mode 100644 libsodium-1.0.18-RELEASE/packaging/nuget/package.gsl delete mode 100644 libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj delete mode 100644 libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.filters delete mode 100644 libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.filters.tpl delete mode 100644 libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.tpl delete mode 100644 libsodium-1.0.18-RELEASE/regen-msvc/regen-msvc.py delete mode 100644 libsodium-1.0.18-RELEASE/regen-msvc/tl_libsodium.vcxproj.filters.tpl delete mode 100644 libsodium-1.0.18-RELEASE/regen-msvc/tl_libsodium.vcxproj.tpl delete mode 100644 libsodium-1.0.18-RELEASE/src/Makefile.am delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/Makefile.am delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/crypto_auth.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box_easy.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box_seal.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/core_ed25519.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/core_ristretto255.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hchacha20/core_hchacha20.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/crypto_generichash.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/crypto_hash.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha256/hash_sha256.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha512/hash_sha512.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_kdf/crypto_kdf.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_kx/crypto_kx.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-core.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-core.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blake2b-long.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blake2b-long.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/crypto_pwhash.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/crypto_scalarmult.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.S delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/crypto_secretbox.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/crypto_shorthash.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/crypto_sign.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/keypair.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/open.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/sign.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/sign_ed25519.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/stream_chacha20.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/stream_chacha20.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/crypto_stream.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/stream_salsa20.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/stream_salsa20.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa208/stream_salsa208.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/crypto_verify/sodium/verify.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/Makefile.am delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/core.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_aes256gcm.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha256.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha512.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_ed25519.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_hchacha20.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_hsalsa20.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_ristretto255.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa20.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa2012.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa208.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_generichash.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_generichash_blake2b.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash_sha256.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash_sha512.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kdf.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kdf_blake2b.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kx.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_onetimeauth.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_argon2i.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_argon2id.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_ristretto255.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_shorthash.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_shorthash_siphash24.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign_ed25519.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_chacha20.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa20.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa2012.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa208.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_xchacha20.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_xsalsa20.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_16.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_32.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_64.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/export.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/chacha20_ietf_ext.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/common.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/implementations.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/mutex.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/sse2_64_32.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes_internal_random.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes_sysrandom.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/runtime.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/utils.h delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/version.h.in delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/randombytes/internal/randombytes_internal_random.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/randombytes/randombytes.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/sodium/codecs.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/sodium/core.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/sodium/runtime.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/sodium/utils.c delete mode 100644 libsodium-1.0.18-RELEASE/src/libsodium/sodium/version.c delete mode 100644 libsodium-1.0.18-RELEASE/test/Makefile.am delete mode 100644 libsodium-1.0.18-RELEASE/test/constcheck.sh delete mode 100644 libsodium-1.0.18-RELEASE/test/default/Makefile.am delete mode 100644 libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly1305.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly13052.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly13052.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/aead_xchacha20poly1305.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/aead_xchacha20poly1305.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth3.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth3.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth5.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth5.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth6.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth6.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth7.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/auth7.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box7.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box7.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box8.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box8.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box_easy.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box_easy.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box_easy2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box_easy2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box_seal.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box_seal.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box_seed.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/box_seed.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/chacha20.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/chacha20.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/cmptest.h delete mode 100644 libsodium-1.0.18-RELEASE/test/default/codecs.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/codecs.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core1.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core1.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core3.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core3.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core4.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core4.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core5.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core5.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core6.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core6.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core_ed25519.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core_ed25519.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core_ristretto255.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/core_ristretto255.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/ed25519_convert.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/ed25519_convert.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/generichash.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/generichash.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/generichash2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/generichash2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/generichash3.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/generichash3.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/hash.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/hash.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/hash2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/hash3.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/hash3.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/index.html.tpl delete mode 100644 libsodium-1.0.18-RELEASE/test/default/kdf.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/kdf.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/keygen.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/keygen.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/kx.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/kx.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/metamorphic.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/metamorphic.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/misuse.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/misuse.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/onetimeauth.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/onetimeauth.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/onetimeauth2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/onetimeauth2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/onetimeauth7.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/onetimeauth7.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/pre.js.inc delete mode 100644 libsodium-1.0.18-RELEASE/test/default/pwhash_argon2i.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/pwhash_argon2i.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/pwhash_argon2id.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/pwhash_argon2id.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt_ll.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt_ll.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/randombytes.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/randombytes.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult5.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult5.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult6.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult6.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult7.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult7.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult8.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult8.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult_ed25519.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult_ed25519.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult_ristretto255.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/scalarmult_ristretto255.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox7.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox7.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox8.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox8.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox_easy.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox_easy.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox_easy2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretbox_easy2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretstream.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/secretstream.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/shorthash.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/shorthash.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sign.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sign.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/siphashx24.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/siphashx24.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sodium_core.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sodium_core.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sodium_utils.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sodium_utils.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sodium_utils2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sodium_utils2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sodium_utils3.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sodium_utils3.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sodium_version.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/sodium_version.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/stream.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/stream.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/stream2.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/stream2.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/stream3.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/stream3.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/stream4.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/stream4.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/verify1.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/verify1.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/default/wasi-test-wrapper.sh delete mode 100644 libsodium-1.0.18-RELEASE/test/default/wintest.bat delete mode 100644 libsodium-1.0.18-RELEASE/test/default/xchacha20.c delete mode 100644 libsodium-1.0.18-RELEASE/test/default/xchacha20.exp delete mode 100644 libsodium-1.0.18-RELEASE/test/quirks/quirks.h diff --git a/PATCHED-libsodium-1.0.18-RELEASE.7z b/PATCHED-libsodium-1.0.18-RELEASE.7z new file mode 100644 index 0000000000000000000000000000000000000000..a2b60944ee6a5c69854c6644766747ea7c27949e GIT binary patch literal 1500981 zcmV(yKupeh{qnv zmRa-V1O>9(vu8D#s~O@C)UQoYkb=D_y3vc;m7wx$m>SJ)F>+@);~Lr(`AX>D!EEdG zKHDrDPa33vYldWQhk}4(Tay=N-ZvMITIK%|^s{tR0F2Hlx19OKt@CuoLFRa3SnHiv z0vF?u8uh#|s3^-p)6Ug3N??U`MroCB>|b39fL%(Cx3aWRyuz~mGyR9;A1Txh9^`vC z;E(uV$~T>kap|O}U>Eb&(UBMyFqN>EY_U`$-1#Hz+cNPW&MC&`u6pazZ=6H1N1emJ z5Knhs9Ft8$O=3J!@fD$MV&ms(`nJ8K2z>MkqtJs5IQA-L6Wy}hagWMPJki;ST{Adn zxzA*N+RA#}r%orV!U^tn4g+n*+2@YS#PE|mS~=6nY(k&P4ilu|4ZC<^Mk%YJfHh&a zp{VM)LtG3^wgc>Tr8ms)IC}C*DISZa0@7x?uBLNQtwKBUx!Xv}HwnJzQ_wzgboE_( zqW4y;+pk5ewV7UN2b&bL+wkbbOAomC^Y08IOV>L$B^=a&Dn(XO7&!KV0wUeHf|#>- zZH7(DBL8t166thsU(SmNwv)4I)s`mAYsVyQ|F3q$rnhW!R#gC37*dfKOQ|;X+RkML zk|HrxL1Uwub4)zST$pZ9`&8}{FhJ~JnEV`_9hi-^s)T}Q5S2c-mPiI02)yWBU{da$ zvL`Oo50RTPi<&LYPnNKQL0$_-DU!MAA{_Ivsy(GJN6*A)u)f@UfXotX>;|112k1yW zc*+Dk(1FW`{sq;iS;|AtJ3u-pXsep^DE@Vs!kJGR2A}F+4dLuJx}*-`Q9Q(yOxp=2 zKEHJ;M}^SQ^D{O95)c-&KA z9j@@$KQonF27b9|k&Tn^d9JAjPe^%r9$Ne1mEYDceMu5~&0e~QO86fnf|v_s!un0H z3rMqzO1Y(bjv1bfF#dUQ=(>`678i=9B+`!u;2n!L;%-O|FqZD_WWcb-)P8=YJLs4Y z{$@9qo&5J%rC^=T%J&!R)~$R1=g|4yS`@sOO75CYYoSN<1k_5I9AI<~g+v<kqO<%RWtd%}A&P$~z-g@N0ap0UKr$`scGw@Bc5gc=iftkXpQr9=TPPKOlCU z%iEILHg{d5*l8%kIal`+V2!_;US=-b5v34Gl2~qFEBtz9J5x)c~;!Xmw$uoKRn&nT& zhvgMl-Cd~@6El{2s#@|sL0q^mB>&kant@tHgSF@8WOrBcWj{Ot?_A;Dc9+1Uu9xXT z_z@EPY`pep_)LlMywIz!!kg(Cq-PLgUyK}$0YRf>oJ66FTswaVNUN8OS=`Ti*uUfv zSksZRc7F>!?@%U8e0xRw*VD~$G41rvq~fg=eF^Br*_xC&hU4v%Rd5el#!VZ@PtDTGL;;zXa_Al{GX9I8=+6hUSNE}#t1IOz1D|`v~7K|y*vC3xY^e!BEHSU z+NoEZ!hzM=7mYB45d30O>c+!yu{T8vE=WA7#4bP*HgGIz#)JbI;J$`@ft&B(Vobqc z^YwheZ$$XKHK{u~$YZv9XUZNXKHmM?KXoTl1Ygi$VEz+A12#W()Jwj7#ZN^hU3XRI zcw~6R7g5%HFes#AGkf2k*EJ(yBI;QP)y_F zK20v|@=wSFd*$FM6zYeCZ;>_eq5KD}AIVuji@qP+Dy``JpCd+j{dh8{C-G&Nx zjIYAX>{4Tz@h9C-;LmW$c%rgPpbF^|J#rqWYWjKwGypJB;Q;~vUmJ*wNU;E;6wT6) ztk~n!R!()I`vx#gLFG<+$4?E49{;2{NwH(+C+2B}MCiN2ZOIUKc&;2#lK*XFzI5R` z9}lJUkyG`B!KTc$3nNSIdl);r$ExNRfj2Tzb3lO1xWBOLa6c>~3gdk)YjH0Fho=3b z6z>_b_HX}ge<6y0-NT@|GYkNnz6*9C5W$OK*v_~|18S}}NIjlE(^uL$;l@Zpf6_fK zPr8jn-Q5u0k}@g~uaDZV($bdf6^J=L+8?5!Dusd=G8L2vGXsVv18qbG#KO{L4!4ds zG7z=MbTfcMrjtr@+y;mog0`Mud3a@85N6uOt@dSjj~od8Z?-S|r+hGgQ%OqInb*WS ze?2LU1hC8tas+Fz=b1Q=H&Qjk#S@=|sbo2CiwL~Kx^N!OCn>lKs}6G|Vd@hTHVX!voZpiiRjP^j+JcBJ9?S-@=;mcxQ7dnY8 z_WtQSzrfNYCB{~VT11Ywv-@QoU2pPO{o`~kYfNrmLKQvGIRV92)|$Fj*-E%(JWy0Z zY=RVE&^H&Gwo)HbNtlFQDJVVNV%8{e7TW9s%jc$R!fIFnICOmhL)AD#DO;_8S>;I`%b z2i*?yNBT65)#pMs)!acxS}kfjk4;#-eM53HkI`G0^QS_&!Qe1i$LZpDIJuS9Of?>- z%w-tK{dQJ8*kLdv{M)`iwh5iwQm=(rQn^sY>|5apX*(Sf-1j{XjJxGEehSJqO#2F4 zj|8L%Q#rE>K7$`=p?re6>t_Ymp1~|N>IV%dj_&5H3nGxR0EhlLC}0ofX1{1~VF-#f zKtz71CN;%u=G$UUFx#hc=_W=qa8(p;oE^POMFDP$)jd?2_$F?4z(&eo-cm$XQ?iD% z<)prP%-JSaR9gq{=O`$FT%&(t+QX^B%WXP)IHBg^PnRX=d#3E0M&BbDT3X91@x@kB z42*u1OvSE{%_?jV)#>2ljr9{VJKg*7($JMg&AjOZ(=kh8ojEKsXKCb~T_dLtk;+KW zMf<=lra-}LD`wNo1np~2!0Se0-`q{Cx$Jq<0u;*&A!pNQ`e!p*2IaZ|Bp8U3$fi9u z8`1$IQU~aXDj9aR#5lp-o-|ldba9mvcsTpm=>9r-Mi34>ZK;J` zT%!N9Ufgq)ohJpelw`a8ZOuB#_zooQZNw>1KF6X8w$$23Nu{p!dh;T>tm|GiW+#)) z6TPg*j!5cc8t31>Vi3M|4mK&nL#;~n5@Lm9bmI;$+*4LC!ym0w{zh;|<`WE$#sXtk z;GzYci?#_(o#_ct{ipxMEto@x-#BkD1D6N^TP#lTM+ULli1Ng%;PJ!?Zn>?Z*o!$? z8v`Po$9wlyni|S@*|-Ky_vsi7Y8r1ukpJ_A`d7$`U=F| zf=8h^)#t|}n7M5WGjE$m&PtMy&9#(uLA-y$Ig+cZM4XxA2Jw@?D}byhH=9HYbHSwDno za0L;QIK9Y$HIdxS(v?QQu7{hk&Bi{f9V2F_mp>xXr2}cwbjx$D&shGSMJZb ztVx37(5ZyrjGR6A(~KxqfJ&29Cfc>Oof#EbCe9HE~?n^kLC(Ub`SZsIZc_;IzFs4mhqE2urUlZlxp9EZ@gh$2L5c4Dv^)^9y$f&7 zintEjC8e>uI?w&&v%bCktpi)XAvN!yD#PW&EKbzL9ikKMt?Bt9-dsC~RaM?1 zx^WS3QHj1oVI((YACSN5tB!(`=57}jnrcjCO-$3!f*j(4$jL35^Q&Zz!9W&fSQnI2ss6^dNAoTn;Hed=ZJ!!Oy#6{`<( zapApCkYJ03*Tl(gEoOG0;*sixHTIHcD$Libd*I!fz#%m9l=8*ro3j3CLC0((wF{fO zIZ33f5{ukbE4&3XO@H!t3!^47AvMYFC?pv`j)pXDUrfQATP}1ke9u@1Am`#%yAo4e zL-rVQaSJ5%IO2Xj$`qk&&}DSi79rF z(*HT)%0@R4iB&$N%r^tXCxp8#4Y~iN9Fx^LWz$&ELV050wy5FBQT$F}XJSbw#lkH9 z7Nz%gA77VdPQszya^4m{x&&*89QcShEZv<9 zY1W}qaabfq=fRWnJD2p`Vhy`v9tL9`OAlrJ)V?O6V5eacYJ_i2c!*H|)43`7!uYV^ z)>+!|>M+2~40)!dW-dCrBN>dEYn1S#-(sI!!ta3+9A+CK7>N;UND=bQ0IV6XSqU{b z!xUrZhz!f1l!+ig$CGV-R5KDJKX?gBVKvT+eV2HE6_x+im*&W zCgf^#`vf~ZK)MRFc^6gvKkP}WHS||g3s`^lSJwJua9h>H`JLEO%}!-k4d&>lLw?F` zKcQP%&qyAR(?yP*=TG}uLt&Qw$w49Pqn>58FGR|TQ8NsW>3mt9p-&`|QzQnP+U%|) znZUZ1*i!$Nd5F?uoBMZU=QzFy>}IkxH=GXUE`$!haOPsy%j zk}sCTnFpZP#*P}UkMr!T=fE|}x{Ojt@xD$_;3cUNfsxj0B%T%I{;l{ z+d0<&f~sgHFypuCb!UdGe?YfGShHNN{1L=+3ZI46?LN@D*qw#=a<)1jF2&_N@d98Z zM21xJj#iBAi}rc%27dST5A%XE)L_|ldXWPf4xZ6}0T)_h1ZRmJa8|%9jn9G@F1Xi$ z-DN4j!Ve=1z{q4L9D$Xr-2cw_m;mHLUu~&wmBnGM$N=rwEA~CGm-u)7@M2PYiovSc zUMtNFoUQkSy&>a>1t?GGD&@;Z`N5dGNZGzN*2=qoW?XU+2jsa(OP1X^6Xe}G?j6?Q zamvQ|fW-csNk;%q_j*6f5lBEK<8hj9Nt~3LWM0F`p?20Uw4M+Csd2k_)j-rHKks@! zWWK@OIFiLcAeCD!&vjP7hi)?AP}8}m z4lj7ExD+*}P`GH6FLDx%8tUq>I3s+4LGj1@%U5H}n5*cvdXDaONBNU=gcV1YQifui zzsWkpX%HnJ1#G2&C}7{~?Jp?=)JOOZZxWQk5k1YRAxE$mIeCKhcKaDmi!M(ybp2Hh zey>&z7-unui|jNTr#052@T9#|j7y|3N#r*^v8KulEfrb(Dv=MuiV5YyU9{R3&S_>> zMeAZH^)s^PNuqkP$N@j&92P*?6$FKBLW;JHLL0;LNblGIFimL`_~5f@(*Q1#o%WMC=Ze>vU9!m zkGKiQM}SqK=QG$(u55VrF_U_ZtlH0G#H^K@p!A}LM(rCBvzX<{{7)K}lmFGkAoD3< za{LX23Kir0!Xh&lz*p=U7DsUM#kYeD>kW-a)#LueaV{cr#E;MvfAVzm6y^vFqKmf= zoC8nc!w(CnG$@QenHy4E;$1H57yO;y@Rrp_z^5cEe};ZSjHgV-u`7({#zV|*ocgut zqn8XEbLvO?E4Qc{)Mfn1Hy^i0URcs9NT=ySzi`e|nnlVxmJT_nhMUqjQ`(~47uRAW z^3S!Lve`qISQ6xnc4Q9DSXmz{ZhR2V`E*v)87fe}{ILMYGl}nTUnth1vz?EpAQipC z^v`jNqRHNeBY|)A^W+GZ1{u6hY03!K{AO)6s?kKU{}X80o6)c%6Ausdql<(qTMJd> zOS65vV&c^_LDNqU$?p;gX38BJXlP(8JPqWwugYDSpI1~d5}1Ty6kJns>yRz%2xABo zHGWReie;kA!vtG7*vx++=BuL8={&niy8O=J&j_%+Texbm2Cn46kMifc^vNqRLa=8K zVtls&T|}gxNc{Iee{|x?1=IK0uWg@fa@C} zRfLa~pIJ8amDGp4zlaf2P1ovPS)y_mA0Dw?NPFIi&><4`B;!6 z9mQjH6kpd|sMMOLSN)rBr@LI;zr0Zj1?Bm8lcFab%8}Mg<5x{mM1dMKIi`T1-CG^U z!3fdZrUGFzop}nbJQ~Wef^V;eOAw|{1s7cJM!3vc+a#yH1O z0d3hj%PibZo2fjX@YO?>_-bEM-WOhDfimH1Bz2-yql%*F$czq9L5hp=jKKTU)j@y% zF~oG{^LU7TVu(>Ag+E_tNqPFjzfcv0+kg*^J%H?n6u1UNkvEcTUw@_VT(p#=v$eV@ zrw{6uIm;eK#gcGKMFr0U6lk*$49u_%hwW2uw!3-qp&M}Xz6KGw5hE}ev9bC2%6C6N z&cP?7Xvww19UvzN8hfDBpt0H7{QT76Oy6^Fx)?ub9XTeYVP|%DwY!nJNjTj< zf6qedu3SIkh@=+dzj=2QlI)DkJOEyC_7*%2lPW2+j!iS9ZOIr|vOA6S_phUj#^BXb zg?-cCIi+#l>QfF*-($K=Xl#ZlbgRRr)e?(Ig(__b(2P_CRQ?8|@Pb|)cQFv8DzE35jM zc2Kvo7<_3ENZTB1!;Y;O8O-tSH|jS6UyBP2wpefqZ=kC-=UOmPN%#nRA{`4*0i%}H zD?_vcroFiwiy8gJX6g50y?du4z5E_jcql2>UA@Ya`uU;Vq=ugTBqF2jt~l3d3Z(_O zdJ%CP$L4jw*12H}Z{>vCf~{f+5LJm?`#2f-V6rdnQ%4Pc&%5=!!5Vqfn_XS?2!y&R zP;t_wA7ChGvbb)iH$LorP_W2Pc>ncL;_B>KsYBV zg&u`oK8Zp28u9#I?&~Y;(zk=jDzh|$#)b_=*h8S^HbaP#l(6LU}>tgOVr?n_FB@1y3>UIE-+T~uRvlvpAR*%Pl=40i?T$xBb4gRS>KgL(TP-xk&p zWG0T_TvkRFQSA?qK3&Xx3ZW|7|IB22Binlr-DMo2LTe_6Lkq=dnZur-{o**?97Dzs zJ3yXz-*9o|L`Ry;ViK~ay)(xt9OizyJd^hS*%d31VyT$WnR_*H+rwyG zcHoI`#SkbbRmDdJ8s}y-nlm##RdZw8gwgm$8Y<-j!x2i&JuIe7F_gy8rc*+M{EtUk zYevH4s+P2+0qC-RfRFEK6e8%J1BK5d23fzUfj{vCP~+n-`L(C_^UO$DR3Z*BzKoDJ z9TeJ_Qr8Z}-WJ7mTk5y^kA3x>$oBs&^9gU<3PYZQ)&m8g)vb#%!uUGBUJ3R7ywOF) zV2nWQd9^4FA?G3OCQ;Y&`*H)jW!(ioOecO_Fa{wT!fl*L?p4t|+ni8$qRTkc)8H@b z>FGOx#>7Fba?NtNu#FH)D;?em7=oC2JOIm14gNKT#Cn54uvoaaA5Zj>MupQ7>rmk9Q%No;X zn_oUZm@I&*ORa5BvBEM|sAo-#NGbn!gmEi5_mk=*uTZ}(2m!>ATjYn8U09JEs^$%1 z01*9F&*lYw_Bt7bj!E>u`Lh+baUp|%WJjm0;lCTA)lJh=P92tr%;N)uAp$5HyBt_e zj~bUaCV5kQ7IPC>E#6&27-KJ_(o-cnMYJUWBW-2`TC3D8{g3BFLQ(cT$F0sC(TBc5 zgApD4f0eqHLh z=#Wl!I_Jm|vV)LNA~V`Dn7RE)&iq$iW#VJ0T0P{=41s7$Y zHbV@~<&fL-Igp;XA_`x$Yug)9eTG0roOS=)%60@rPrulF2`S4vhnezj=nn792*sqO_Kdoj6{4M8qX z%#2y0m1Hps?{SkXCw|JtD|D}OFqhAjRc|!4SLek9OHRzK7+ho-<=|Opu3GX|fu3=F z{C_%dt>e3}2^%Xrd8z$ezK)+@T`;13_nqP%G-sgL@v6yM_S`Q(pQ`|7HX0&{sj801 z6wM?qWk{(3HWFMRktiTLftqwHi7Db4Km($isMtoAr-=re2yACJC%^VUosOYHJOqu5 zmmT<_#XThpymXhBHQoDAQX&I}&t6xtB;hu4tCF+T5t4o95d7a~mE*&!$we2UZtcrt ziyc!bUvZV8`kc3SJnImEkKPi+@@R&BXx6oHGA5iiCJV~*SeaH$gI#ilo;~GhXipBW zm+*jd&vgAYV!z}jSfynk8B>VszA-ennxadzu_vS0+$1TMF&;vq9V2!{*c^w9H-;jk z2NDp8=#(KpjGQG~%G&2?8l$L=K0T@BfHo{9HQ0nmsw?j0x?@5W9UVq==l)EIoe z!~(ba>b-^WdefX8CE4BsAr6B^ggDe{vlI?4PR( zlhpP2{f0jWw}b1481N*54p1&(l3o=IM@&3__S+qbCsfY6_D zjqgvCNs-N)i5vg9zOvPr7u5RNkL_$9-j@2r{6<(IIa?&~QGF_0VwBo7_tU0*G#@(l`jM zkgn8~M!u++4o7Fa>5=Q{*JxY% z;kPdWG3I|&its4W0u)e!wIn<8PSriF4zp5XuV|zg&ZUHZnQf8rXv7&nT zoz*I~`@SmCKP9Rl^3eERhxGP6A*s7sr>`WsLpp8{WxR~u@W3Qt+5=aurfxvRhz{3b zDsfSlA5YuvxPL}VOJlK17%w`#%{+Ab|9H){`gV$IMe$e`2(ul*S70^SKg9Dv)!x1i;s%KC-zC zH)Fr4*C#M|2NW<>(il^1hRfks`%sz`4z1*#e>6Dk!|2`(y?d$*PvVpD-31oMA!bX7 z)_4-gDK>j{GP#meBI-Us>DCal8)_U(Yc%W;EbxEHSx0@@WLoQiyDE)#_ySY&qve}W z%V$97MU!!a;8Cg97VTQ!B|qk2toC!VoCX8ikZhm2PPf5dg&|&OA8@v4Rkd-yG9{M{ z*ClY%vW$S?XeqnS2K)M;ycZ;*5qMcY3=~<#HVMfPzM=CZa6gkjLjod)!%z2IMkLX` z^Nlz3U%oxpIn^BTu=xsF+m6NMVCf^Xn*deAed0;*-y$huEH?6}d*OI$76A{uYhMBuM8Rec@^XfCN73n}$)x`HFB8B`zt{NKeUR#DW7ulo17ZD#F3pngXpC|)F zBnd5XG<*^TfoDj$F8<8h*V?ePRuQwS1FCgI9pAhy%?(5q*%`eF)F!*%^;kgIRDZ-O zTR1ALqS!$Zm|1Txd5+tB9 zbV5lVMz3#)mPD4DfX3eeE)UeR6oR2Ee_vgu`T}DI0VU6(8hPzivUuU})H?@bz?j9& zTmB7LZU{jioy+!s;VKZ6ccyyz*w)fQbZ^o!M=y4W$=km4-g8?|J-b!mJjyj}0S!+E)Q3exnJ zLI}tS1jS>^%*27JJG~tpUTT_VlJ%m$EW6MLCAwXGnJG*STSJiCjK)-O$JpX2~npzI(?=Uho z5lwd7z!A+4`A9Nxq=isT2aT~gm`?vJa@Vo`>E$3A&z0?c^OV^eG^rqZ-tN)`!l>qf z>j7($Z|BG$+3Qf+g;RHHx(7+0NIQs|fhg3l(w)SvMI-xcjlgP|!s5ia}sA zKk|jnfyh{+ROB1HAo zi7*L^w7N6VOu*q?t6^X?cg@Me+;rg9Ls;`^fVe=bPp?CTvo!O$&@ z_-)=PDWZQ@|Vaprv?7a_AX$Oen0-wx_{uO(1afL;B)^bJ-dY+fcZ z2aZXS9E)Zy-Z&b_*ghKR*r}Dx7oI-@mbeY7^QJtnf}YYcm%z?XT8U#TH)C@)%BQt zVBLUm4`(^b1;v`@6--*ipQP=h^RVDqvRnWC23?UKKv_o%2g7Eldwi_P3s=+L-!{Ia z6LbrXdAKcynKsg|it?({f|E$ok1*rjmS$bwNkizTLz~X>=r#V=mR2W`S7~*^HX znU%wdm~;nBbLQvZJ7%0bf0|RXb^6VLyg=v4B4nE^)JJuS$ZvF2cSY9KTFh|N_LwCC zx)Q2Vh6i`J`n@JzJvQ7M62*T{Bnl<|9gqn6%$~MTXfH!c$>1wTODiq2OHOcjKy9`_ zsopG!Sl?aZrpr}Xk=rPh+M@F=vdL@rI)g5Qh3qiaf&hcH`r4V($;+D0_;Z}}^U7;p z2wc4XKk4ZExqh@PKo7|`ob;&zNy{+>2uzH%8=YRdYG-ehpzZgnwEy+VDEQC$RQ&OE_{3m%{}uYxH~O@^IWRX&h0(UAI3vj^;NllmSX$h|PG2UF zQ8$Ekhieu~DEZxIa~^@(SexS^Z>)Ka!z)v7ogA^px$&8VC{Uiuanqy=@>^bXfebP8Ef`C=o;LE;d!GB`i~_Qlg3H^2?b zi+S=fQ=bs*BZGm-6W{O^`j*lL(dsS69S10j9~S>x5-t(W$ZGv1lh%y(*!;q!Zs~KkPJ+lOZV*liym`tCtCQ~a0tT3cke`LeRr$6-6Lo@Kw zn=G{AvM*r`xiJ(mlNpQ+k>8X@G%;7e|H0Kj@OvA*Xm=Z-ix($dsF49&uqDs#J}c)D zEA01ghmJ;&bN6yrtfh5a+j;XQbZ=&7P>7YHy_YiEl?DhF=R&(|l^^eo)@PsUk1w{l zoZ=%V+4c-%ozMj+KS#+j|7E2EaAeSQ*q_uFix{d(f1_KzcHiICDgih(AC={61p7R`)Cu)PUj*o!f97d$jKMIqqv&t?2rh4L zy(atvGU9Vi1&EaMeya7GXQMtASq!42nMnO0&c} zpNr)Qkx{IPPqm{v=t6? zacMo7Hh_4`5Zb-Ja9A85c)h&QxMRq_2oQRS>r^J?ub^_D*W=tvzdQyUS|%mWX?Waz z?}OLml=N+q3zepjLhu>-QFKb$UI$lLyY=@RW}2cGBn-3s}4mZ-*j3nd@4*~PlOhZa-`>R}It)O#sIM`eV%{3r{aJ$SrPaTxNW z>JE&>kXx+sP&#T_9Er6mdmT%He~dZ%BoFG;G)w61W|9NOa`C$4w~RA6KQo*f$QM}poJuR@7jX0#}U=(%X*x- zVQ550{Y$S))(bk$VdpvueauY^HBxXU+^Hb8jgs0`cb4H6!#PMtQX_M*(-Eq$? zrEdz`-GR$q+wj8Nj5^vXUuv(~H)%iUW)i63I?J*T2U#1O?ik#&5 z<}duHq-zIqmw)HcPzhOsxOp=P+psI68D=9J@8SkCJWTx@N(8ihI?`I!3$D%e*BJSd z>7HSDKW2qFz^|tY>Qn6V>fy9bgDGS>jho=UF|htuI+f$fIGpmzd7y~1AkYey!eJl7 zOH%pR*-Kj4stNZP-Se7%Z$Z6z^w|BgVT*sJwFJ1v6jyNAXuY3C4%PKQk=*Mkeh)bB zI(fa<(I!crAH+6#u;ry=JsZU-vJc>=y^9y_++`iM$5WK&icy3BakJ30opfiGo6VqnwW3-3^#EocdHogoK>syT* zOTFvyqxN65k&>a8RKlBY>`!3>yrKLv1vZS!7J1uN(^7<-T^^hK$l}M=s@W|zgHlOY zzazILE;YKq2=adS{DMiy8|>j^W=>mD+rh|#^CDdoKxs_GA`rEHf5lo7G_@9HJfbU* zwOSnc8FIWC)Omw#0yC>BstI938TU`y%6ft<)aR|5dNP))UN2Y%Iv11uzDYr^zo059 zJ`9BBbg=*Ex>87FoKRvO()%-8*qOn)kihjZl+A<|Wd7neKSXg@<6=efA+|K90b=hj zZI%5fB?-r^Z{{Z(pNMrtRb)R>K(~y=2Z#(ypfZh%-?Cm|+)?cOgSyZLXQr7@jJ6eDt217E_9-;jUl@bj<+jRZd|OTDHZj`2*pHTuq=B%$*z4DH#dGdW$# z2_XjSjM^Uj7J#sKODMCyK)>#M5`0K9|D7F|9v5_jv;G@H4m~2`y_+wK@1=pq zh&+~NU2Q?<7ewFAJ^jt)m}9qcU)5k9ixpCe7=;R=)#Zo=2v8h(2ur)u4|SVMGS8x7 zV(~PjNw9kIihZq!rISsN#3G~-tb=}n1RQ_GeJyAX_Cep$d?m|kVe@Z7xbZ4R3>+_! zh)V+w)+^cWJLT$z>Q{)$E}0mdjRa%xvYq0pdQ`W-5g%`Xd zICTR-2MwZ>w}&l^sipv$X?#z;yvTtv98YTZ7sxoXp=!cNC7YdnH4otKigcYg=nuPX z{Q9?Gu7fw3uw45nAaA6@Gsa-0rCU)zU7J)tYdw~i^V*YxZiWu7=p95&>>!05W>AGV zZw`a!dQW?^`P6#%zYetikq`g@H@T%WJK4VgQVr^ZvX z`)9qlaZJ+1_(914CCb^Jd&bj47jFTOjLu7hw}})u{CZbmqT5`B3MT*7D>|M|Ecjte zW1)&(;~;+G@V0Ryw?`*aLfjgP?$%#yu4UZwP*F!Z!3f>?(WNhv%Ym7}Q{G`8Uo-3I z5>k4!T;2EKv#1IgQM@?sQrpCY2;e(AwnW2L7}fB@OoUM>yi>YMZ8r+y!WTV)N6}cF zB>&$TG{ZCsosl_U&Y{;s$qn;z+#GoQ1QqdO5QqDOKn^rtO4(|szb7G2&56-ePc;~4 zuIXo-lvrIy0l@m#w<1V6kKrBJ&R|qMc+~OGPiT~?pk{LaWeHJim5EM1#a0YHFZ;`Y zr<`*w5xL(K1b2K*IS+()Fb$n5@1((PC*!fBc>Ih9u>hIArDMtg2(N*SMn3Y_UV>sG zV|Y6$1j^5+I5)(*`>l0x!wuG|iiCxr+xigb0^U@VG3UHM9C=gDWogzC>F(*E2<9pO zQ4G0tww2Y+W_te)^Xz8?}dn<&w$6Zf)7GvYb{a@eT49wzja#!G&%Hh_6l6z#= z@IqMb=iFAW)C{{AisO?bPl$xNfb4?2g=Dq}SkZVqO5&4@)pxgon;+uQdlG^ft)8M; zvbYIb-J{FpsB|#F6qvVhw5I7)&0iRcjMV%z{V9a=!R~dH2QJ~yAJ8T zR9rtMWmUsQP!_A*AXD$*I5~~M3RORnn?-9hE33s~Ui%cLps{$Sj z->2IIRDRTa=l1XBT_U(GmOFEcdSbZ7xbxM}496NFk(u79ELNU-52}qPpchV59CSuE z55*b9MhkP#3u5s@B$IJVJqX0GtRAw|vGrm4N_4$R_T2=OaR-7Pe~2=|A7SA3uwb=+`Z^v6_4KuO>33gv&_4+Z@lR~$!iY;LE2j>t z_MdrUhkNodL&y=R-CYOyHdc;eO$C=%_Ml)fY>sfm|KtA1jeM?8_N3Vt~Yn zbuQzhRS#+Y-mTPj%Z$y-KFyYpn2~T0U3dYp=W+BtbSE{3z4tOJ&}Ck?89z@JHPOIT^&Bu0h{fUZSQTENj zAPtG6Rkl(Kpd)&4EQnbTZ-w9j!Ci@tlG2yOv+3;JO=d!CI7id#oU|+#{q-Se@%^3EM*1c=FVw>+uXlD+1!ZDW&uLl6b-;-Y5MH+10QzifJfXGzF$ zbbMbyU(&o>F86$;YGRQU%17yVQwmS8xXqq)dsv)?W6?UeGXgyeRbVnU6h_b3*9EE>c7qPYH^gZtu(p~KPr%}zRvg(iIH+-P47gg|F zm_Bau+z(lBF%}MqUK?}YOBvYglDp<81uXH_38}c;}PYYnKVJz>3)J^$6#H1HeVk_2X2BN?|7w;U;qJ@c+Y%M+`bC z{c4aV$7KTMNyscyMdx5fHDFZ&ZWUcWh3h3bBq6~G?^Z?+Ks2+SKz=hxKhH5<#(&O# z)u4;y0$<(KdT%uLt3R<{$CKT5l#DM7X=9&OnFieeQ=G!wx{kbWJo(_- z>U;E6?7}q~>?qmSkK+rw4jtj*;aTrICQvp)^BVU>I18b4Zq=$htV~9KKTb_6u9y05 zD19qx%O&Dx3V$gCshWXYgrtEP#RZzA zBsyZY=t`kJff7LMwxj`en;Mi7kEIA3v5o<)c@)c&+8n5ix~hOwTr|$s)<^+wZSrpr zX$_A|v6It+ zDVCX>0jQ1W<&RJGn9RjpZf$20V3zcUK*734K()@ggl}te;uh}NknhoeN=;$vH=Afg z)LS-!M?n2VBtU`la$N@Vl~-74J||bPcxpE%g{?g}=X}q)bQmNed;h9>d;Zp}q#~tx zHP*Z1I0j-UfZ6$AA?f?Pys!$_uyL0nR>Gtj*{ObF02u`?+P^d*4k z9c#t{I?msg;PVuAiqd6}HyLOkZTWgds%Fdq_IxLsCL3fz#s7+K=$zITXclMl^}0y; zuLG%}gRR}27Ib^nZ~fQAAAWm-RDS-vmz!^#tP`gc}a(& zVwK*aTVc`aTts)vFmE7)+*hmbf>XDHvkbq+kL;x#hd+BCZg9!Z}?wDgRgS z!R1+Ib$6{-{#gk6pEmk;UC&{CjA@w6mImQ){mn$p+X;(Bg7{pKM z6Yts4I5IHG5I*DaL0HA{`yVR;_CK+>jQh42>lau=xKI0*wxW;#Lz0$1xzkWPu_ziJ zD)y$zUeaMQ8VFMS(L(3}r6n;8urRXr-HMdGD>=}Z$^6%tiE`1g0iTjc&`SCQ`3}p< z6s}+?fUS_D143Fy$S_Ep{V0i3@Q54x<}b$$ebov@40mMOH(D-;Ic{BwR~F~V&HtyU zj;)ATE^o>{$iPWGhR2c(n&Dw<1WnY0ACy0sr;7RnK86=V{gCm0HG-VfjCLC2f!eds z`+Bagb?>~!d%IQJPzA_3-n_{=JszmrXpcWS3qpwhgajChM84W=Q~nFyCww-slM(Y$ zq~Jw0h`!Udbqpjs>jl6SFxb9uxMRWYn3xL~v~^MM4-y!)p2cG;G!UlWabM5F%U-Dz z<$QzE%}d7CJo?zKz=gA0=7*7G4JGDOC_pOCF~>GEukCQxPn-pA0Y7 z{))MG_Tx-;v2IkZA*1|Pog>V(-Z@fOYgGsRy>FK%(!Uw2H1%XU6f3GZ!KzRtTv4Y7 z9Rrd*$kBIKal+H6`;P?Wn0uDFUlQ|FN{$K=0cYR6Dgwx0Uqnp-=iAFXV!B}gHQ_*- zbG$eNzP!BA9m0TzB9cPK{uGTSfbQESAsQeox^oihZR}7CTUwP`>S9{SJ)G-QaI1vv zFIyZOGsxbcg@xvywCj7;D6j^m781?gIBDBS99fhoh3cul9Qe4>n|SYJ3=BPH+H~E) zbf>=03S%|-{8?tM&>6#mEiGC`;&u`%Ts~Eyw9L**(z^&2_BN0x2PS439*>0RmgO%O zE8g*Aw?Pqo1U_L^M0gdLqekpWHga(Pt?qq7ak#xv!Mm>h__0ByF&%jw9iF)@4|ZP^o;|5J({U80p%TScreA}!qmWHAK-vLoNiB%sh%X09Rex6eHM^ z;sUD01&ppr7*zIvE;YysJwups-boXja@{GQ#Iv)bZk}R2k1@QiBp%#oyl#S$%-}ha z$7)28VnHkbI&7d1b+2~v@8iL`BjH=qYvc<%s~ev9d+dj|%zNgiMS5d~3X;n*fEyfH zhyPwsF4Gb)1}mqH4$2@BwP6Qj@>Kij30&0uW$bljXi zOi6P2h^dqbPPho9*^oT8cv3>AgAiDgUuUqA|fn7YAY!0q<)%V zbHL2t4kZPX;Yf(YpczhO-HDNT==_oRVnqr06QN28DL~FvP&cSM5dLvA`hl0qCicRg zVF1HgwQa+OO~YDqvE~$|#TX+0&4j&!h=Jva7ry`l4_3chxm%0bf3f#GG6)2Woe}Wa zOIY$GYp}v-b(P$V0AK|$YA`DesIHs$dl-UMYjRu=o2V~*pxye?os($WhaQT`y(m~6 zXn@6)`q_Wu34R07xJ6Z16lp6nLct|Pfr1v?nTXAk^VLrK1A!6&e=++meQ8~;4lA7e zr(mKmAaAD3(mI-BhCKe|r*t+~7kz)I|7Ee5gn~hz(Urfw8_oHBqW+sK(%dZ8_Y- z+lL|CXxyhV0dUY{8g&UOWBFGq*!oe-iacjhRn$nrVRVWFBUZ|xVHJIDgF^v{ec3qD zZD+Z|-QZxo)ZyvOR}e|$Tg$EZoc~52x=Ae}Fx3RJZ}w(o^1mvs?cl8IXqxdZRS9wFFnT zv2XW0Tp82gs+reMK}rT1b;a5<8bBVRdPqE|>69^HMP)U~YqWA-rioKv%_IOBp=Tco z2q^Scx}on`*00GlCTY_=jg6AYEa7}BcstC=JHSyz?f8-vDtY{=pr_r|-p82yo56Tm zDTo+`WMjc_#vv-H$U@f)X%l@kCEPg79^2&&K}2_C9m2gCWNHDq)D>i>QKuD-)cNcF zq%`${RK|L2IJv!4ku#%gLI(XZ4VRu0Lf(0-y)js3{y^FSyB9-)30bUORyj%6MCw}@ z&Q@N2NWu4!Y+tDM;s}W2q1~vKKSl58@%Rta;VG#i>SfwROQpl&%5A_#fLVV$NJn9F zqhpWs2(@zS)Nv?fkvu;Yi7?&^+ryhbwFsHaN_r<$%KYmlb~flXQTtU@oSLR*MI0M`%)CmhA3Yc%qdoTjYTo1p-q z{ksOvf%v1hMJq4Y$Syle4UD#FiidN-CB-Aq6>WDz!FRx5skm9CKBf7Ox6C5KD<|!* zyVR?5^NaE)e0zOz*yQr7gv`0{JWevJE1=y1*xz%nOn~j2W|AWVFIQVh15>DL0jY*vGj;qoMqK9&@;;h&947hr_UhfX;W<3tiSLRx0Fb z2r8zQ*|u#Y6ZN7qo_t-oP6xdPwgSNP@!*tcQUc)kshw%ZB4f#n_(#y3b!G=ng1CUn z$`Qd+o&MzL?>xixf}A$9H<+>kMUnmrCV)LVeSuqdS%vd$@!wD|m!q4pyqyipe=Y%1 zTPWReJJXt$OVFrtX?|!Q_T77q*uBRdeJNNoNw+Mk@5Hl=nnc0!ASp@W^*wi6ky0c` zf&mHil|wZ8o^P2vf(b@Q@&;Yd;1f4TJNn~^V8;b4`5?DVi^T+}Io$mJ(~yG2UHGL_ zf~?tvsC;SwFA=3M;^Z1x*p*~(JQPDjW|-=pUpvwF@fF92b8@+7qp8xgK=5M#38UVe zcuIQsyA!{Z_M4_jDy%ISa8xBDQw!LBQO3};Yc z$rsL(DZAcx*+-j_$X4X~PY7ma1N&U=A2UV(k`oryW_yq6Jzf3bPPX#?#KYrQvZ*~I zN5e}W`+>b{%OXRb!!iaL>1+zy4bJ}DwR5QCI*7$2KiAVk)?E&c$qGA>TYU_ES{xra zGtzM$_k&FEY9(V;U=aF7Z2z#Jg_t(A+=&S2LscKVsQI>4XV?*)O5+v$t#!mhhoA%hCxmKU@oBw zc|s%x>|Ji^t#(&h6^cDPcXx7MF^h!eLlvL(K{~_Dm31|8I9dt`V@(D;cAy%jTaLKe za?rA}AB>`lkNrF$ob$QF*Os>rEcr#u#wNa>EH@_w+70g5V4GVxZY+B`L_!+i)cV&TrIHnX0(zOubMf=*~!5+Pr9l+p&}2{DW}O z_v&l~rK2xO{Hi-|Uc48g-UMf8gslIWDn*GHpCDj4<~@ub;f?et?Gr|VS3Pw!cEb^X zU=8igjkgdW6oRX*>_hpb-b{AXYlz`w8k_(27sDj02tB@x01Dh1;T?stx@Vw~aXz2v zN6ed6g1GhzlDv?@KxLQPh^#dY{E4x0k)QT0V&_L)jKm*T5{N>yfA(4F=ac02I3Oy zAh~>gT&_7@B}i4{R@QUUn{D}#)y(srR7)vQR!^R65v?goEB;B<^`Y%)FSziCD57bS zqk8a=^2Ki0Um69S#<%!Vb(h%bZ~WiJUN5Gv+8bObz7@nZ1)jWl>h7|~iM*Z_VClAd z-7i<^OTi}vcWWf_@CjneQRB`n*CWl+L_)rsU(hGidKfA-HQe}6tm)}8Ts~k+^C{op zF6SEK0x^k44)jW5*KBIGb;k<5OF9{d3No43co)H3=C~?N+8)$97W@FS%Ouw^NV}!K zfK?p|K?7|pYW#^SO>NYzw}GB3^$$>I!J&mFaZ;8;5BhMtwxuxK)F8^1-lj^$LK;XU zr0(+#-J8e#)n>gJ1={)Bf+YuJ;fc}Bj{=XAOraOss9utXF&feyz>bZ1QNCoL9^ok26fBQ1ZC+GKW`}4F}W%!y~axGkd z^kbjmXPrzTASGqeX4)O2e}IT=5|R;+E!S>)Mg(~5kK4Ugb@YVDpNrPYe&^Xv2Ke}< zcQLzw6tYX)=>I&+o6yd1W}bt43*MCc6lq`d0%sP(J))`CN_Cez7_F2;qsVvnEJFUN zdk`0#PfOOUnY_>hD$X1bc@w(_xe=}b5Ki*%nQ&7vf4*KWlpHz5-h!uy_-b<9svT;watIVU{j;-L&U?x^hdEjT=M(i* z^j#l|pWKr87Un?-V~5H3UHkE?G;YpjQk$xZ(=J;94MED+#MC|DM5QC*J%wNfrb1&S zw<=m?jzr*JDszEsQJ$(>C^~yo|Jst!4AzE;w=v_MtFNUS#|gd@k8EOs$R-)49Ts4S z&GLLcIggvNz||~L1(R^e5)&C>`0TTrZ|DLz5}2|7PKZoWVco55-4t_-oxZ<<*J}Q( zIXECX!7hVcGU?zN_#hC)6XXFSs*u)DY^}R?Z7JWvmloe+z~V_R6^lo)@gyIw=%KRH zw3d@}I8U~X*ew$bEmJ&X$tQ_VNrq#CamciRjS0s^vrEeKI@TR)By_Wp_WxtLlP)In z3KD+VQ1Pa=K=RxVZj+zAQM+^3Wt%%~wRN3A@bqSdIr6{{N2pR(-p3hI2Cst}9jZ=E zxA3#S!=yLzb~;( zL^bJ8)wR;W%^orEF+$-HAB;?chwA3Vb^);n7^Ze>N9kZnh@^=tl7?!_?0g&d)N;$O z!cnEqJ|0lScycYJ{E8x6CQbs9l!pk+Vn%-0V3L(?)n+yLGMec7Jn}>&wDvkLK#osY$wX#;=pa3+< zFg-`y^?QRDIDP8ZuQ@jbn^vU3liYYNEbRSw(ZEGOD_)B_f9%wDzH9Ah3VI2Uu1?I- zL@hSG-CAU0j~}LEduPJ+Z#lrk4ACZ^>IQj$18e_29-OUH);cAu!zRtmcscilj0%4H z2E>{3ZE_e$sMbmn3fIdm?zES=KUF51xT6q@x4e!gzG*Du`O`;7Ioy&^*I|f=t+o^7 z1KI9U+Qm|dUdK=9|C&aZmmXGxk%Q-Mtk;6Rj%{A_c+m#(&*cC@13rz2-a3QS>~fU@Epii6vy zIeeu>>@OU=4(M_PN`YoBRVBNW;0nma%rI#4iXti?E5bXrOKhQ!Zz)@hkx=YN0WktAG4`yA0VWfKGaPDcVpMX(Tjn%Yn$T}PadtyfalJjVt zkTe<$@Ovi2wlv{wr^h19Q@dqmtB&yqu51{2YSsPJ2*C@^fl23UfI1l)n^YuZnLMO( z=%AJ`Y-2G916!*hJ$oPemf!@)qzmP-qds#u@hM z%FJN&-a*+(5fQ(1f9s(Cgqb7zUpIZkR?<`?!|O^WLhLn?)0oeAT`)eTCo@^65Q)uT zvwC~#{+FtyK~niOeqs`YVylXsNW|@!|R05?2ls z>BDj7DFk@3Z&x~Mt=g$I<$E$ipcz>rv{_!j!Z&@!WYD3iK@R3w33(qyqh9hh&(vf_ zEKPzz;LF}A@CTR#HOIdtV&?{=BeOZ*Yo5^%US`xJaUn{mB%yi33q2T(r?NvW^T@a# zoyxdF@*#L13mfwR%M*)4M#9nI#EdAYaS>UpJ=pulw;{$@P<@6Q3F`(WjpPt!3#S`% zA^fH83MPGhq}L{f)0hkno=p>Ng)Vsrf4_p`MK^14_0=0NA`__Mh^Rd%gvPXp1kPoD zJR`Xh?Y+27iP_$#Z+P)+r<6$3XbDdapi*clxn`k^XzDvpFF@M_!D4W$u9I65g8(4U zb?ZkhlaMWo=aPe7UDVUNm0UI5I1(|YMv(LoPY!Kx`@AgZ*G2)dUd}3Hw(>^rGOCka z+sL_Vs6n>ELsAo_EEgFAS(CTF)~#MT{ZM3lYDdX_?3(|Z&qaK3%yqdg^yM}ZgqrhU zF1mygO0r!P#X(CnV`BJo3smL&p^{_Hrc;5fKd_j&*cImE<`}3ZcQRCzBo{aTerI@n z-`XPVx^8){kInDbec_2dHW2SlnSs7cApp{B0KNI>5_cj?iu>~%a`DbLozRALIc{q9 z(FYVIKl9208n*rz^qa620CU{FDdGg!%E~o5G1VBWCGrOBZO=NAIMnj!c!Eo=K)(dq z$sST36Y6jfEunmS0UNoXV)Vl(NEyo*Wg9OQQPqlR9CQ_)L$F6e^Wv_>R64ICIrnTP z0sM9f+ztJbVe!8MeZ^zPL^L0!xH@*z4ARBuTR}*dyTtts0YYZq!GgYSX(`b?T~(gn z%D)59)W(7@Ko#Ohbcn=mm%i;gIebTpFFn5QoDh ziOj5u5u3?~e*MwyScN^7(ZX{V+^h~XWO+|)qYeeX>-7pR z$gBv;R9Lvtr)fH%FbaVjYH-sZ7lO+_rV45!w4_Ca-8sJo?7kQq zfYMZy_&4E_z!Sw?*_5Geq0x4 z+7#|8G7Ty>)4$qc*1qd_3x5J7vP=F^%=YNyp;MU9huY{h-+q~?XvxgV; zZ~OxUI}w+bXb-c1w|ZADV|la1ZKBjmO&j#`G-0v^pLZy}Jh4#KYd_s|g5Io0dlhf~ zRgrA$XTU>pR3x6CND8~^8N&ox zW^zmkib^I<{lXJg$WScvng4pQnxFmuq+71NQHLgSCVk{BNx(r2J?-mz(d2(tU@Nh> zfN?0qzhZpGLG5ZXIRvE-L*;lt#|S{^RH&bgskoyFpDmz4v3B+i{M%?|naEk?+JfWd zeg4+#9%?I&7Els5wYY5xtb5f2;-)yTYUKLrL`MC-`xIx{O|?^w8!FXIYb{^y(f>&k zJ6@e6`)r~hkRX|AQ}vHa4s;(LrlSihMIz+v8(g(1sssn?<(z+D$aJ%aVH|zMIqM8E zpZPDVB=@NQoo;3JF&bzk(}u60(PqK{&>LsIgqbI~IAU=NVf(d;$0>L@0J?Z6{IHc< z&LB!eBY$KgBhikro&J%Cm>0~pP3&c+ogW&M3pQ;SUo!78r_ojf+cE+88ckkF^V;0n zV>Cd|3%zi^d`wTrUGu8b_NK0*SHH}&A_6+RlqWy}Wa@|qpSS7`=V0SfMM^|?Pb5D` ze!Z<5`yCfP$C!bA-e`9k&2BrUQN&!rcUkD)#JTrsW=Gbi`S=XKkw5&WWR1}IZVLs= zhSINYag4MVUeM*!M*$Y|as`VY-^L}NM-gQCx|!_|ZRjY5Kd=mH1-TBi?~U2#?tsA( z`6}UgA&*iSzx{1yvD$~Q>1#TzWD_Ly=3z1`IjF&^YdPEH zw%#(2pvtsn--*UT1Vq#%rY)m6aSFL|QgtS1oc{?hGk1;T1tX~OqKImb|8t->fa+wT zTSCS{MX;oaCs`%yg;uc&<(f!fy-*E{-^zpcR3RmQ*a+$DylK6^T-#sZPHPTZ>V|0- z0HS1E*Ubrs&o)8^Clr54U68IVEg@cVN|KAA?&~gp8h2M$1+z&(*LPC+O$mqT7TFy% zCM!H*8}K=LC{Y^Z6;mDE^e>BeP{fTWkD{h6%Id)or@Pja^6c zEKFfTMu6unuDa$~q*Xr@>*NR}rC3vrGiWUDg0wy%@D~wS?!J#<*}A_@6jCn?N<#YP zKO0~6Oe*&4j$HstD%*_(S_(uqJ|#0q0_8eR%|@W6CkINPms^)p^AUw-(l6VfC1G3G^a5 z{3Q}q2{*N@TF&hhLyLuVF4whv{43ZqC<5}aHaTYnv%u;6{YjUhZ+5gthWbd%wfu|y zw*{xtmNItiJEML5hcE}kn{nomz?PmaK}?A>kY_BXp*#J40lI$v{XINh5qj?J z&@Kqlc=scxf#8eR9l9UQG0b2qGUggR*cu}I<8YGh_>@&-#U)mJ&7|pCk{Yht48R{! zaFpzWi{V;EMjpaO@y~bI%Orsdkj&EKCDs5H9am}R@W>t*lJXI?pIi*f+|ff`U|Q!D{%_@>eL+KmkCjGh0nyGIA4$q<1hm8 z$GvrnC+%Q*EZAp)J6A(YfyVLPZ)GwZDf}BwIKza$hrVu`0NE;xnQ~DiQT*?Eyb?F& z=x|@u*w0($hyIJG86EjXrX%;ak%;~bH2-RofZTlN zlDZ{5SDSHqJ0s$NW-wPNs@C-{mQeS|(!CYOF7n7KUhoN8$G{|+;TymfIxXrpV*f?* z_m!$VlUjDE|E_%N=5)&vu)&?S2stEz>Ig_RzPgRgd_)+&kMH^*jk$`S&tIG(6oOhP@y*~p)l#3`(hTU{Cj^XcA;FYad1Lp~5^}#QY2d{JvC;PKh4(Lr!6dQKT zE;SK~_54ZPAu}&ZjSqZ%^PhWwE<0x=Yb5B?@=fdCRl@ouQzXEC)&Zn0CVQQiF(35YD|m?UoJ{^o zROMLn13A(v4PoQ9B+B}A3WVl#VUF*|`)@^ajw7lT9X1Khu74Hu5K7XLK3nyz{sUl0 ztSV$K^gyxUzP87Z*v;m*rETT=RO-f5Eu=zDdSwyZJh-QYm9!S1AB@8yDE9gVmE8e$ zYP3B-6u&(lJo-o=2G|HQaqJblYd#a)tkWfT7o=22*3t^N5dzTutB7?E%$s$i9AAtl zt9PCj#b)4{$(}Ui0Zi&1BJi_rdf9LO)IxrWQueBo4#HTnZ+OBHVdKhHlLq%W-P(PT zw$m5Q?ih)@%B-u%g!~M6PjhUKgZAj~VaY-V5-_pp>5q9bG#eq zPm5kSUb(i9gl8`btO%&&af1Bs&%UY`1q@~iBEGa2+nXH?M?zDO(e_Sv@%gHt)$K!$fLvr+ckcfh5eg_SG5aQA)9h&Fo+zNa2m_%9B4F#0gv+HOr|6 za*hdIloT4*14FgKq#6}8B?)x(4X^g%MxSeczY|I}RqL3mgcd|B=gZhh0sj;EMPXil ze{AJDG!0|OXzytbc4gX8v%YP~bj7R@xEUzf=Lo&P1Ow>>y7J>YVeu-KOI@-$S%3;1 z`*+jEAO}zDul|^iiO$ziVq~92Fi^}Vcv$RiybtBmU7pmvn+lu&Irh5+K{?mKlagZ; z77o!ik=0B*6w3wq4=OnoVEAqqVSR*8^W-QZzlOrjlQV8ZE9o6~&?xMo&$G+!8IDs} zg+ok3wR?7_hY6E^xP6&N7!MG$Gm#tCBSXRCkn}O~Gm)S%YA0i)-v2&$<`{UrJsA<@ zGFyPFO{*@lG00S%+T98wJ$A6Er*r7a?+!Oo_nu`M9Z3XI^3Vw_QIyo;7-KDK0|3)> zzO6n|B(aKTbEKM$R~n|iQd60qxuFI@vI6t*@=E?$5~`+Hb9c@(JsV7v8hV#u(^Owe zDR}=|9>VIAT|pZmj9dUbZ(Snm$*H5AGu_i*O6K5|wkXm}IE}dFMANl^f9cxA_AtLb z8TrcNnnvx$p^YZ;FM&E`G=V1SXA{W2x{%IExJud0Z$iyIcG&h%3KopFLv?*rx~7jV zp>M%L;2_^OBeOSHy^(9z#9~Dizv2((x}@;~Va87XCZwMZw;n}fl;`GAs7?qt5b6Rd!x4B#I`I%0lWTySyDIhKFU`yzP87D zKDwYRW(MH4g+rVZw#10RHq~0dA@n%^3A^ZAPJaF!%1wZ(WK5+EW-6b4rpT+>ZXdg7 z4BVTYj1e@q+sbA{@;eL7p&FP#EkF;He{UcV(cb@n7gUIZE>BlFMRZpOe2b`w>7_&2 ziwosM4J6UZQMsL>nr%-C9chp=X_djIiV%h&ccmHalwV6gRYe1$PF0f6GbHR>^(C;9 z`fO-SzRrnr1O}yGAgx?vm!u9sCaMn7nN(K!1X#km4_G}l-|8Wk zW||qOuKn1~ELs@%fVfoAA=l1SZ&|cJ-&C>qvwG0@Lh;7&7e_wY)ZA~eF9p^bNqD1? zRxIYq%VjQU9-L+EFB|=-sImBFUduS!j)2o;g`aP|p=Gc@ee}X`eO#9sIBIhc zAH7S}W6v&~#}j3lSm?zAHn#b-;r&w+u1QUyw@8U}sgn-U-Gx2is9F$;__%g80zDFn zE#KT3*N}6$x8H{6H4ir*FDeQ|FYRMS>y2=ruIOnaJS}G?*U6+<-y61HD(pNber}l3 zfmG1q&;%24p+ zc_5tnfJh>Y)wxL&iANKqj}ex6$ASTFn)|v$fO!nb{d(o@tfE7dZ@Z4sY|vV(y7463qdXf zp?Mev#Sc9i&_}DC?$hX>soo)sk;SjSo6g`DM(3AhB0SDtm@?@8a9NAhwc3?=!9dW@ z@NoCl^G{M&2nzHtaT3|QFs*t?-*cF$vD&zn5*+HO#D}(3k#KnORkZ0WrB#ir%v+}%WK4}8FL^ta z`Xo63N`U(FVHntF48QZF$Iy%pVv0zB4njHZ8+iDQC&rv69af_ipFWfb4oVI~my^fG zn%>N8nvUrw6gx|ImtPI{mlps`qVr~E5WeU|1kuvUOmO-dp$#z2NM?98SU)%?UKD}o z;bJ@Umc$--{l&Y=(j{I2QsQ{5>$W*hJ2^T={9y?eRkA>FY3QSRy$|xmSPpG@JU{m& zn!Lo;7Dokk;sd6bsSz1gdS7>mOHk04B%}PLaK>la{MiGC8yn3tNaSgo^Ssy6F`5u2 z0&k#Gx0B(r?FgtVd-(-f!=n}=U7h((NFKQZ=*(oO-Z}1oZ!PU8M|S`ieATd8gwl5` z)u>`+n=B zTrNFjWsUab)zqwa;3lB^EU8cdnyegqLupN@Ncpy-doF`vln4YAd5J1smq5AB(v}vB z&Yso1YaGEX_R+k5wL_cdnrD!Wn7^4pT;=!t|LQL}d=ISOnQ)6oq&NFg1ANmB#7K(J5#Ab?E-k41xJ#h>=z6q2-(0ivRVD}9`BEXZ`;@4v222NarH|{Gom^xwE_FDKEC~w~P z?o{mTEHMeYsNmYU!wpF(Z)&83rvcO{his=F<|0T7kMvQm$0Ip|oBANN1P>+?yy&*$ zX&$V=_lzwN28yHeiM`*Nydl+CJ@D0l09u)^?DI-`%3^>LQ8SMbs@jg(hBg7Qo$jjq5 z3{6$pdKqd@7E}+31<|AlSJ@0)rBx~-bpnBb;T>ed$Io53EzK=R=d8qj9sRb4AD`z3 zr$5NG+3UC#1QHZQrd zawGnM?ywhjJy*yQEUYh-ZkEwibK`KhD5c)Mv+5y!cy_vos?{3x#dgL{$EqHs4#8@8 z(H+vNzLk>U;!M@uVBg zS6qV+^vq2w>oRHJbbdNEf{?N>0gUbIEOzQ#{ms(?IjY19R!_O|%D3=8vv_S!fwDP# zd9Hb{`E`uIHK#FN*qJ1<{d4v03s-wXIf0YJYMzli{FY&2jJ}6Kflp)KlELAdrvV3r zjy~3n%FmUkrp>CTnrh}aM{oR0FLykbfRAG(6$a6zB(B3!`V;zn9;J9VP}XT+kTwRo zxFFtEppVIrUh+5-`&c%TXl%QwDh&KhIZKHa?M4%us;hjqCk%8W$?*?khjcyF2qk^SV8e(F z*qw1CiueAqXS@!iy86>Zh}qg`F=_>o3vIs&lU(FaMjdGIhU$#^zX86)WV0e#%Ur6o zG^MHXafpgGfTZy*&0`ws154K^8Mrctc>wZh>I{@9{(01cw@88EKzKBN_+%+MFn2L^ z_lz~zaH+w#8Lf({Rl@_yEj@VHaSsO!oqY#K9c7%c&J`cS{ zQ~DjauZbH zQX(mnhq=c9uZ)ZVX>9C<0g~LKt>w^Vr>YS32($Iv_w1t)d#j{Q8&$~zsdwYV!A$Pm zumzcY^4r7F;Oj_GNc=4H?yy~su{-eCe4=?O(t>tPP!bHIFn!H#)ck6sR}1@N6XL@M za6ZD0uoNYdSE@@iJqA}QmYXN-cK0$Cr6)bsyY{1A7%0alhVFnQe4WzES787a?sR^L z&RBL14ycu4vkggh<}fY3>mY5o(Hg<;3e=fc3ExmVJ5!((6_K-*hhY^~pjfaw|2|%P zkper~DoB%DgXVEZ=Sgl)Qrb(^#yo@Z|Cmz?uAywV>6WbQ;#9-VUerqxi< zd!OM^J_3F&W0+Z8J(W3y`TVF~XU3Qk3L8$uTa(zNJsxoy-P&eP5=1K)e1!B!-r_gy z1DZ^r+_T-LyO?3ku};=&mx^Roj$)1>PSoC@-n3AF?ITg2J&B}5omJ0OwsK0TW!mY2 zv@pRhozH0-O_;ejH@Ucdc_adch;bRzDA!g#0V)u!40dN>mwHt06||=WVQ9c1iQy#8 z4u@m4jE%`(eH{F_*K>(^gFnN6X)#Vt#JC;uUt&MFOpXPW6!x#KpD{%Ki1~+6)`;hj z5S5qLRKpaG`ei_P?=uk(^%ivya6rUK@AeI~7eoAmj6}MwACK6@wrSFsv;FDs5q=*TSbQ0i0i`k-8Z4o#>^`N*0c<86jNgR^H=hI*$WBnVkNLp1zC_l5`SrIAJ zqAvY8RZz-;K*JUq9f0yfB8rmFo+-p@Gv)p;S~wQZfH6a}B@mA)fYR?n*=Ol0VB2e4 z&ajZ;S*;+|ykECBsBZrsMP$%af^s3YBrLkQS9Z;(C`PvpaJlKwYpYt7VFP-tH`KUN zntCkASEcO@uV92byqRoIqRHA!=u^`vLP1EbeH5sG_ItP7K7H-m8$l|BCCUTZr1Atl zU=9CQ7QpBIfe0NrDCf0gOd;{IRt^AA9zIICtS@r{4j?DE6(S|Q1jkko{$KtV7p+5~;Y&fSe0kIGlRyb{NI zlO|3sn7hA8VM>V<+3F0|h+8K853M%efa1*HK-XLnSN_?0ddVG=z}xg`?Y;4wH`rv;tC?>&1C9TRn-y{Gn{@fg2s zXb6+t_q=l{u>sUQO`L8nR9Mo^B5k{7&bf~rF*s5YLD#q&fY>TxY_TF)EOwex*N<14FQ5m|fn?!j+4 zPw4GI0~o-X+{=BKXnlp&3h`LMkAi+&t#vo1F2M*-pyAaEg!k5}hKV>!f7(WK523k+ z3*ROf^e;i*-jX9;%oQwyqq(z2fJ&zega<6hgp~9pD`KU9Jm|VZcvLT)@eBhnb zueR7ykIZ7*fV9}!dcRit2cU5j($}ARc~){ParUE()#@o=%3Y?ITru@zQSP@o-0vLe~GJ5Ix(r&~L)yC&49>!Loz_X>YsOV9FeggT38=Ev)` zVcv)&RoIMxKFf_!gSu}geN4>=6ni*FS~2axR<2eqy=57`(EWtw{z?4- ztTB^lyrDB9J!?G-Ba0vgxC_H&)KQRr>W7<+J02W}r0nKhVT#h14$`!~eM)sbe``~* zHm?iA%2=K8hy4Wd!RNU#hl^tmCZKx^Q4g{h@})EEmNWZd6N;56Tnoor%N zz9+>0FFZxr-U-jvuKA(2Qj33&;YVa;doE!e>)+K#B-j`89SdrMV|i&byW%Z@6QyaC zn|>OaRFOC9cK!?c@ADvBKh{H&ys)2nLhp+!D6t%RCFW;vt0Iw*o1=nMO?-{G9$(~);C`sjuQx@9rEh&f#ajWmLqiA7{rqZ)AuKi^vr=Z zw~II^awl&YD=$|uHo+wUacu0`VR76z52(Nwe zf#ybEYDk0Q_MMnOmiV#IE=*|pV$zaR#fcD_=RTBIIVWjAg+caew1L!95b)GDux7sB zaPCC9LNh}s%vLB=Adm*S3s=4TbJRvbco-pf*CnoxXPG8sx}e^7D)4ueaE;|G!DeGR zSW3xk&u^}^8dO*CwRFkZqHS*R@vR~a%Yq%!uC`MS9`h#5zQ~jm3_7Yz5 ztU)qfsX|8U5Og7D5Yrupqr#zhjv(WqND~MtPx(L1ANY?sE_p%`BR;Ii9h3<)W2Rqh z-c3A+63&S!R$sM3V9WCI_-Ld!>@AGzQ^-BByaWQ;L=U3j1jB&UYViwN)`uy9c+PP+ zoHnd{Xb&xJr9_v69X18Zqc|NAM4|+u%L0=A1rYB4VkvR0 zfV)JfV|;E_7Y{n(l|A>hqxiM*m+j!xWum+H8n2fh6t&w`@%O-P5+1yF{!ezvgqdPM zLtPw$Q^qnHo=CZe7`j*fEI$2(bt`){EK&Y5bK6kip^Ui!g|mo-UwrvVhHSFutt+-; zm2W1vJ`ttkeZ^v4@V$Nli0sY}^ajKVj^x#_h(+aNuR7) z-%%94_Tmj#<0VU#%+zBd<9+K;899^MLJ+!Jg)c(8=e4c+yUghN?0wVeB~`icL^eUu zcLbL$R0ozC-P7DyT4+BvPExK(I4cuD0sa-og$v=a7@f_DR)pe9@gXFWa0%s*NSG35l1hes-3mij8Un-O3dNgJx z8J+L6@nYLaLyH`KwSr!p7c4N@+IwzMTaWCqFNy-aR4v{W5}>=qgCDjEg&#fq)uVV> zlnpx~$yGIb-ymgy`=DLO&W6WTv9P4h3zyK?N9G7)4$rv~0t&f9_k=5#XN@;=Be@x8e5JqkFmYgiJt_Y%`%SAb4%og)rc(|W_i=`^ptB{L8GwIfUPjF zNW176`2gW@i=*0TWjrRpsYzf*rw+y5l57%3B{jjpA@uUj#a2cpk-GthFV)i-t`ei& z#-mJkg>ZunAQc|4$CezBbkWUjJj<>1c9mR+E5q_$)S zEI6q662FWVO%aT(pC;4&Pmr@YrQjV&yA=g*yM2kXUE8)AV6X1Vv`Xc*Y^e_WGvzEI z)dtty!^VA#fj1DECdC0vJfJz=rfqD{zC&0A(KiT>9yxXHLS?!P$vamdyLM}l5!#R~ zgONQt%zz7Qc71fh|`x`am;iBIZMIDkff%ESPmg%t6|Vk-u#Wlj zqXgpZl`)*p=O&SD`Ni_TVxc}enDcMH-L_xK^0S*D1H~vKvC@ZwE(p48nvzYQ;`Rs+ z1vBDSAhD?&AepV+!lkZma7@+YK9CiYGy?+vouA+E$6o~k%JM<}rnR>3)0b#(c5g+4 z!ClzKuHvu&ed9?ziJfl3rkGu)B(-)o{KC>IJ-DJ1QE~V#$J@d_5QcQ*BbWaVUr$YZ zm6MKRw)YEYc5&b)A?QmW{oF&wz=8%@Id@Dd-{fHt>LyVb=7Ar$jcrb4?}5SX*=x5bcZyBg_l~; zOWDV585cnjNgM;2yYZ-!jwA95wV?k%?c~j^&rAp4v>pu<>Mu25K`D(tQ(7~UoEBSB z`f$eC>DzjdZkzh$rt@Onwj*#in7meDD~nM1dBnm0VOYxWRg5VvYF}F1BqBMrS+YrI z1BKsp3tlnwNy7W$Kc)OLrKhWjeVuRr{Q=P)N;mDDB4Vuj(h3JLV$A z+V?QXoDhe9R+IyuX`VoQ&FWuII22P>s)wYDw|Ifk)5XS=5W<9@#qg1xqtVSrO2E3Y z$lA)n*1{qJJeb1-MZzyO$>pFkg(+M;`S}iwy%SjH>dlLZv9R%UrlU&3=tmT9&U1{- zOgM);^tuK1=^_Zh6|6mf?jWv5O)xJmk1^L?#WF~D5{#OZrT>+v+~yPD@LfsHM9Be;_!U##P7%Hs(OE)!OQNf<3UNTO_oV`Z7o%mH zjJw0;(XOf#{Gd@c^(F5(7h;x)v9)#U`M8g-=u1y7S09Z2CyjSja_Om{@bPSIj(?(+dmdm&) zIHKZ@8E!&}OFh60iBU+7vqyZN_Et#XuMV};D0l^(CVWGGmFdeyA@87S1W|-Xp=ZH~ zXI>wDCz*GNa6g}NJZ^$EoC`eZUgUi|4FAPckz5!x`6hfBT!s4nVaY;!QI*iP02(Ao z9#pmDVls&JGSRVTJkwJ=6dR~ZBkURluH}wDpn_`Z8tQ?Eiq?;~gvp*A*_?c0@uY@` zER48&Tk=&uDy=@Eyl^GIY#vF2W0)y(8M!qEk2(;T9(`Q7gm-mBvvdfySu&jV&JbD} z=h4Z5#sPZD9;KJYbJ2IeY$_&H&Oou-kADq%P3l~oT=q$+c$Ml$wYYkv(t7pZW;8_@X775?qH{(C$`M} zHGXjx!S{Wx#Z2b^Uw|)>U61rz)UMr4?D=fVi4k`LV^1DMp@Z;#^Cry{n3|IL4u;d3 zWtaYctI9Y9$WKwceub-DHPQ!rJcZb3Bmcu=D*>hK4I!^jV9s;qPNoY}Oo5un^jQ=Vw1t6wrfzYESFHy>smW$v|%yLuh8> z6(GNg%4fs{L(Gj|4c8UWe^7unEJ-seky3fX>hns4`p!w@;!2i&$o^+z5tkbk-0I=t zB|QIL4~fR49szkIpx&VBMABlDP~!MC;Zff-~`+m|NbZvP6~w@9L^f;3ZQ9G zs9th2@Lqm%#8b7&+f_>7yY=LSVa!cF%C%)_}gCnO@V4-+(wp{3M53yoH z^;&@(;hhJy;7LHR|El6<+LC`M`(Sr^Y$4Gd}5h<2PYkHQSx7dv~3dbXybo?STQ=Pc_KqYU+(_fmhnoi&v340A=F4P+&0 z(-I*c{wkLUKUG(%-_F@t1g*QB%_6xe3l`-S0|7}!_PNTdO7{2d`rb13s+RhO&0#Ij zrVOv@4W$;=qO2(LkAuiWyV9XaJ4N0*Q*V2Vk1R=fR)!`=Oo(ba#Q6Ed&@EKSs8C1M zPK$~pLXgXZhgyOiC;|3kMNf&ddx43eGX5lT#8Z?t>_WiKfpeuk)}wQ4id zjHHn_>QzPbk9bNkA3^I)Nl^#-%Jbz9f~h=3F4l5!^p6ipXs@>sFbTl`j&2^)uf45r z@b})*%t%;eyV+Wc<|8A7l0gEwsfSfllUt9T`*Y4dzf7gGppBZ*<=_tUMFF@JZcI*b zkhbMd>TTWB#H8w5K3t$5B38;s^7AEzLE|kk#MMSNgHXyoabfTD4nJnOWz*;Rg@@-r`k-Br)$WQXnI z+%onZO`b((XT1mQF_p1h(n)h41qGmuQms9(Mr-qNPLRFf8_L%8zs}<~Qo4r1l zkXZ+%L!;P(91}A}nVvTW~g4 zli5qnDh%O7JRF5(eDHrNc54BGGQ6Q8;p!oou_aa~cG=k4Zmv({88i^zPjAXMz)5Pl z`8_l;T}~#yL+&K}L)NHFqE@rTss>u7GM%bDu_!$#hm(1Auv`cA;a)##r73z9;xGVu zGgy$zb|Bq!A7rlN$l$5~2eyhc&v2`}U_ET_{Y}8?QHGxeFz0iH?%!K(Q75OXb~x9) zuV9Olkv}vmNI1vpm%zMP z0OuP`=R!Q{KGO>7exW!!akxyGwBMwYo}*8eUL0%Sw_sf21NlJpZtUlR5Q0UWd8=jH zB!mOp3XYoo@6-deC#R({sUjCT&tx}TApdN4Y_#cG)_QB9AQZ+qsy68_TrBj7Kw&>o3Ob z1K7Rvs3~x;^|VONi!6;4!a&lGA%E~9V_yiIr3qN&0m%4ctH{oFXjdnao&uRkcE>$i z>eJN8ueHU{fd0epj(r&9liRjS+*Ex!of`YSA7f#{XOm=HKC=VL`DQ8StH~I{x#+pe zy`!Ch#X55wOZt@8Gxdab3W>-9oB0*mU<=u-*pwfSF-@Tn!Oc#Z7s*WJs-od=np0{WLl!RGk5Cqb} zXcYH9WrPyx75BG$0iGOLu~844(UHUY6Fhe3BZwKlxAc}c{o2V0wXnln0~+$8lxbB2 zB<7bdY98)ArZt?3&0iKdU_E_LtVZMP7G|MT-u%Nei8qXs$!FY=r#4{z;M*}7|#$IN?RJ9u3M8_GU?mU!?_2{H8_SLl_ z3glqSH3nZxc>8cf*BGGNx9PnU(tF)9U5C$JXZLw1C2ArK%xUtQ#B~*hT2ZtcOX3CM zTA`@+mdXmC)bptcWSF&BN=#Jw-Dx+IW4c`-I0+9rHhsSzXp-u(o` zTWE}couX{}rdJh?WK++#kpcU~?y_IlH1)F$)R^X!vkR{t-TFeNqZ?CwPB1N7u_myD(Z|_wUTX0X#6vnz9RJkMr&|Coj zMeu}}Fx-=@(<@6B;@UzSU9XMqi`sS!d`zg)-5{Nr@;1$N)m)w6OP4Bia7-@^^h_1x zWGMQxrc=75A6}Z4Pfmky0X|Z&ORQ}8!n;Y45~bM>LwP1a_hx$rJ7&9x|For^Gq{=n zYnFi16!OruGgD50!EJUa-}hfb+v6fGkFO)Z(V9Gv{A*WHK`LJ1n0*0nyFo5D5RYY9 z;mfZIzG+wib$o5vTK_|qab^Wi{!HB2CxYd#koa>8@7)>Slujfi%6W*r*tm5=CEb(RaZ@k{RDIj0_fE{2IeY><%1PF&|G1~gWTYn z(;G%!W)s>gr}f5%R8{)e40e~z^DUmnU7pP)l2s{bV~+d>z{?fDySW?#aDmNS{%Ow4 zagGXa2iEN~#pEf~b~H^0Z2YG+-!yl<=OgLekZ?G~;Z}}7h`7o3Q92!G!VVb!QvCGP zLh2H1Uyc_8HRae)ByL+QgFOVDL%(iJ!p7H%BNt%p#5-mmvJO+543iL;X-|-uzm|#_RY%FMx6#}a%lb(-cDK|z$Bjg(I*e8hS)6* zdP^X}jWWN_vC%|GZJ)M*cnH0oIALp4&fDL#U$*K;rD=ubFUx2caR5B)(D%E>DF74I zpUI$x&tkYNZAfRi-20I>_`7YztAu;visprWW!%xoBNYXL2Df z%Vy+dVG_j*ouTcY{Jirirn`xxw{p`dm1gj>?MlQEQGME(T{rT{R0jt*KBU-nCdy2# zx^>)szQ)loT9I1x@Es>JvQgs#CRvU=5+I2DhL3lWl@(AFqd^oC=ct(d5^N-p5I|Ob z>es7CuE|p$-yRp9n*LI99R~GQG;t4gAYB_v=7HNKN{S6V5>LAT8kQK=XnzC=k9V4N z9mOZnX+=lhvXDt<&!l7>K#~yC)s%D23*{t&0W~VFdDbkxl1)HY=VylI!*YRRlj<3D zx(Dy_`9CY8x0`MekNJKq@vyotEF7P{`=F{R%^Ig_{ZJ{ZFkVR+@3y7cJ*V%aU8CEi zFnjGFo`-s=RUX3QyE&IoyIgS%@FdJ`7cx2{J1{Kfjqaz@CD5zqZ4=bFvuN0ru@t}l z^UMV{b7W#LBZhv=Hp85!5kS+d?Q7-Q2|VTvasb{{dZyr~BPhq~j5#!lz8uPkWW-=0 z3ndcPF}sggZkQH_)r!@H%zT?5{Jq;!tSR_SM?|LGg0A_RG%yOGiX>&^1C&Q0Z8^ZN zI_ed5;Fhz|F-4Z#NFFEIYuD5JS|VyV?p#-YbM=|ysqOb64$G#yrOoV8i%$3Af_+yn zfkUN=7hsTg1pC7`BD3j_p4FGf6M|=&5`z*BdJC%G$R{vHwkq>F2vH5MXd~|zh06y< z!KRysKBAvrTABo@bJ;1R!}`rcV$>a>pa~SlrkNSqJyC%0I*Vofw60c#3UIazPYz55 zgHu(2e8(qB(+>}*UMl%=<~hnwV|jy zs$h%48w-$VA$CUvIBI!uj$q8ee~pHd_*ZST({r4*`0cDQgo6PSVYf1MEl9(v?DSJT7!dE~alwR75x#@l`Oa&jgbtdt^rDqhIZf6 z1qv|a&G3v1X6kmy+N^%hmE*LIZU=`MCf7^+4Ab2UuV|iI41@u10Wm2_!iMOj( zsNZpzGlbGLq;3}bE9ss8@7BbTn?w48=8r>$1%s4=*vnqqw7gWXL+Xd@yX`^i0GZU= zxaXR2?}=w}{k;-8G);o7U4%p`SnF;I_s)k38zztjQm?DrdE>R_0QtZ?*P6gq)#X(% z72&jjF`dB5Rv!!WH&Vpv#8)-ndC6^YLb8jJLqSFrBs5nuJP=kz4JLp&zR>=rjVVNt z&>L3v#hy;G>`S;AnBiI~=Hy&I-2lKZHLN?*T2~t8IGni|c<%^m#y1zMfBw_-yLfIf zr9cZ{|=95kPoX=Wr<3p6NCtSApye z87VCKib2lga5;Y@27~A9A36Y{qfC)aiMHZGM~2VPlZC`mH}d31?A5r}I$S$?3N52x zQR}$)onYZ?4{u~YSZzt1guD(rzNK0mOk1~W~8pJ5;MFKL*fQj?>^n*?qHPp0%)*`yq7ohue! zjeW)}Zo(6pQy8Y?8M@0{_gbjLg-1DtX ziR~xMdV?eSm(NvZ{c!?Rc84;QeIdwDfm90 zkqn5#NX59QVSZ2}O&>w1pSjLzwd)sDU4X;dl~<-{MG+S~rJ{dVx(nCt6Me7K6h@wG zEE(eNCp^-fL@PpgSV)} z=rt*w=h2N0c8AfY>a&kLoBt2K0V7@93G$+UX4xE$inoqFOU1oI$9j(p_LlD7=juJV zk6d%+)8m;_IJN|xEzu)pXq9+9cXeWLh5XfRH%hjFxu@~T%RG=hoV2jLExhaz*I2P%ceDnuEyd4LdMmP(LGOfWl_lVE|M9&HWs z<~ZYn`C4tV4CG}SLal=ObnB87q!i`#-y~Hj9Ak(_BV!42q=OiFp{&Rv0;Zc}+~80% zk1rjEsuyUju)~I73dB%6-Z%@V`~_qi2Coqzl}eyWq0dCyb2%bi2XmsT*NiIu>aP{E zJ5rhZceVh_O?&_{n!h1ANL3c0&bsb1grK2bW`8@K~Aa9Wg-ntzUREvjgF1M zFMAxftr61>`>FcMf1*d6tc@@EZl7B`T3m0f8e}0ZQ!fN{CU#J;o1z(JVw$q=WNq!R zDk8O;cg}c8r=hTcKYg)#934H~?)MW2aS~b*xfri?*r1ydra&+&3v)-HqXL4UoFZp6 z)ejS?L@7UnnPDNQM~D~MiZHWgw|cjP9rARe&_M%^?pd?^1-=XuG8|?>XRwnm^;X)R zoMkR29&$C|s$Lx)O>0b5G(xJt$b~m_jpWlN5e=Gn!B##Qcu2j_`%0=}NYIB@RYrr{ z1NIN9deR~>(+xC@_9X%?g!Rd@syhgi_-@o9-Y7 z5pAlOB`%48?5H`OgwuK&*&Ub?0GRzeEBTIFBqc6xz@+)i+ldG1>yL%2?Y=-jz~4Pj z4C<8I3k?N!po;}Y7EO$@TQCw~+#gNVbM`(j~a8jn`mnnv*{`X+;k#A(&0f4&t&_tY08Bnm$BYCEccs3r(N)-bnjC5Tyi^#XbFZY#OK`M|wAv2&psk^)PMT0Q5$~993bqbJYi#aSZsm(oy&f2WF_%FeW`q4l9_X;1pvO2mv zVcJR5k?s)Hxi4uwS=wG)G&E^2`?&6dEVG92t%%;WDaqQsR%49bN-Ru+ssuYtzQsC@A>lcXkg zi&}YL_Kh_f`N2QPr{)p9MI{_-Gvr`j2a1eA>MrTn%Jva$Q$JAFtTjbQbs0;xvKyVL<756 zW^Lw4CdpMg$(FXFC+b8?uv(H)`RNkRd#!VnR-#}MSISoB{5JES5W5BVJE&o}hF((U zs`s4=ei^J{d=8?hnS%4F-rTk@M|eKy@+E&e$>`4yb|3Tvab;Wh=0^O~=(blxE~p1~ zbjGI#oXu~G>rqS2nzOz>KoxjGc7D5dyAZ08n4+`vwwk1n<*trIlHx`BNr(e=$jjPT z&1b6Z<}Xw1RaV~*g+r1I44RRMhtM* zbmMFkfTIJKL3}+tBl0z_KTo!)8OQxA3Y0m*b?Ce|B=&}`pAKBy+L3g%ieG!P?^;Rl zZ-YOe{T{)bIpDRW(&aI=RG<#uwQ!#!IsfZ6YDuS{yBXGvjgMD}16itUi0%Vcj$io& zbSLuLUDX8JVr#UMO~iu5w2f~*)^Hng1}?VjBD8NynUPYox?GwnAZb2yQCxa_pDtbS zFX*&XFkFn3AtdDp^M{We`sVfjFXWUc`!`G+{4`uhHbDfEHQ?`&xtZBtsThB1Dwlld zKJRh)DJ1^`5P(kk4jEDD=u7$wDArzU1PA6HX1llbN8Q?%2x6KP7z8FHmhyrHIwaZy z4n~FPE{yaXk_iEGi~AUbQ_h&Wyd$d(8tF05;_jD44;3(JFw5kcT7#y0nPk>xXi&)Bg( zonMDSbYH{M1yEb1@(DEQ=58j=x>;Gc(l9AumsGksOxp3TODD&(U2fOiyTWOar_}<{ z>rI0|PMAg7QAB;-DqU#DNskZacKZjEF?R50BTtUXtjOgJ1qNn|0?EAlvk?AqgoQ$2 zC874_t4uu-vK02WxOmM-{U;6-))+%||3~-AYbEmQPohs)RBg|LQh>VHf-w;Ba2499 z{3b{QAADtAcPpPRo<8VV>1tvVpn{H|_Q0But<&?2y693)IX3Txk~c;obSIWoF)bJ# zI+^Q1JY-gR#sDVO2Mk7ukxe~ElCghhk1O5y-FY^W`UvadxQQme&EKSxNdJ~Ig+RUS z7t}Iw1;VC115yCX=*D7df{c85P{ma)BZbqt*^`2$KHWV9b4P6Es%<1>ceO$z73McI zcnMPpY5o}SC61Jj-6Zt5ke8Sin7Y4;6$1w8xCN22QxjiHD|W238e?>YY8JJ|PT&yd zY46E+?XSZwk+x`wlpHQL3iJmzqx?ogdxJ+6lfRcJNM^owkFmvVNC`d`~kVT4m&rtM+yjI5BZYQJw%XZNIEC2fvQlj75m4jCEL} zTnQoA+(ELw`nN2m4Txa}BjngRmDx-M>zwwu6F?GPm>5t-a-F_U#aO=R|{N-4J%VuD}l*sNE(OJ(g&;v5w(=`)lu_ z9!epU5RJS2+l7C2n$8+l|*^rA%T4xMP z74k24H4sTagGi|&@Z%#Gf}6h7ntrDtvRMmNVZaro?S+^C>3wtKNz#~xC(%*NjNHXv zKqi#x-D@i<%E}*yDDTZ9KVQc!I(L4$PN~xn04v-Oj2FTdEt1m)0zc7eAPIOzvQX|^ zxI%flwSGAg#67t8#s`gE*zS8FS~MkGBw}<0%b`-pqZQ)JzXh9~h!72-&M%6fmi;Zc!#B6FX)wV{`Rq96`UDT{0AjO&`x zyof9v-zAYffSK{>f1&Z`YnN{xce%AlgFY+yMRbPG{zL9PKn@AGrlfmSN#-9BB=xJV z?0)1n2RJ|2l(0i@Lkhnw4h>RWox6-n?S-HY1iU;1=(Jh_tu8Wz zUy^(yBZ}aDkpc=c9VCIP-rdI0p88+0qJ`Ope?)J=7X2sA_I-aTxF4?>)#qg>Jk2tT zWdA%|w1#)X0t7SX%sYlVmxOV>l!%9C-OFJcChZ?OBN+!M*Xz2;uwaaPsk4sQm*ht* zo*18)#Y3CzjScpeOd9896CfTpHRRM!q&A^|cR<~?=>dIE$WtMmaC7Cb+VN-3IrYVj z;Jb#S=&r1x^v<^J$;J0Qf!rPOhXAq1O@2i8)P{~or_25VC_~DRocs@bCOq{3XHKAI z#h!2nLbhc^H*$Kb@tIUpST^^nW=RJz`VL=I+xiTqNIF4Sjf`lWD|^TZQW^hyTE29p zh5qyoJ7CPKZ-NO&{IgfS1Uls*G{_EE@@KtGoK=o|4@Q}9wxD62q>fz2)MoJb#(P6N zHQX3eY`;hIlF0AoBN`TVLyR^zxYk4)6`_K>oXA-&ugde8>v;ERZJ@trwQW6xH)KTv zJ(3p1;qOAOOC((}rD>qQMZwaK0;Ku z=ej@}vduRFn;ReWcqzykDC+0t2wLryW-H)ocfS8&Y~GFhn2qLK>L93|k5m}$cd9%G1@7A-(y2Rw@l7N-+Y zX)4p2Na`0pzQreFir-Pk3cLkrE@K@mE3pH%94N#l(dO28)QSsM2^gT&`)?Xa1g%4@5h#XANfp5#$Lq$eMJ9TaO z)VL9BRrRT)U7q-2*r_?L+B4Y<*xd0vhhG&-8ja-~03Fi5 zL!cx%bAgy{L;B2uX0H5%eq1wDZPWp4G1C(-tGT$x>SdPC0e)&P^e8!!_!-SIdd|?U zAh3J2OIM#JOkDNi{Ad5;k@Z5gmk&>J6X;Pm}N{i(*IzYzYb=fHJV*fIH&m&{?+s-pYw z1aEl$@X0Z;5R;ZS&yUyt+aHL7Ukc%_8;pBc@bv0;WWTctnC~;bUrWf}QC{P|PqXq4EPiY$#Rd>1VSVt zRGjmeE(O;>8Ro49k;lFFvANX?sX^hbcR);=2X@XM#q=A_K^>WU>e#-6&^tSDt)&4< zifeLx-eXRr9~10=PgDj}+isRx;}&@G=dNeVC9$G`v%8ce?C<2~&@uC4odTYOm3HUv z==29FBx#s`>^RSL_a&a;wlWO3+@ncJFe77m3_0JP1dn-LC6A3Yi3Xr52(@oG z{Qc?{6ugwx@R8B^%P=*rT>o~`%5kXq*;LG2oV<^XFK3Mc%W`$C2bfQ@x?Ij&@Mnyg z$dFgs`Y9mw0<<5M)*p{a#7GNwJ5&-OB0)28=bEYrO2LdEF=_N_+5Y+h$0elMv{CS7 z5wm8SJCy%{$r>2lGmMC{B=QPMszzo-fHob7qVq+&FAIgM9#gXW-zqo&Nm=}(TG=Ib zzRkYtW4vYSU2S-)V#%XcWLqboq)yzyFWNU&DK+8lOy5u%R-UrJ<5X;S|W*7ex#A7_`?QG+z{Vb0SQrRxr`kVEB)xA06R6B3=!0f+5Fu@;y zAVx8~=6_MZM`V@jy94%NUl+$;hXS~is_IAUbX-B;@3}S@H(qao{eRP6O;8)qgqWV> zS8|h!4A?}e->_vP6u&YGn)607t9gu&>^?Dt=-Jglhejkvb^0<=CA+aunup%ohcv;7 za2bEcCsr-Z!_9^18Oxn3@M{TaO`~i%zeG6fg3Zjsz%!b8WJC@y-CBL6YiWq*8s)B+ z@n7A*>yPLC+!%`$DnC@yIcNJInf`~EDnSrXnV(OP>V^oiPeyqhD-G*@8XyQ)5y2L> zlmuYUk2ACDHk-8ma#BWT&Ky;GE^Lr_PJ?4ocV+e&>co!M)=e*65}byB&1Zx+_rrf?bub{>^kb?yNo1{WFhdsO1iVp%w8w!qN5Ti zfvi;(K0I*>c0E^z_;$bq-Ii@s^uyTx56ea)VdL7 zUi-2yIfRD`UHf*M8Zx^INXj*Vp&63*_VmhVd9Bq$x#~tW5KtEk!4z+G{q={P2fZizc2QA z#`#44U`gzg5{BG|UHyAkYRjANKr?7~+dZCatJVGXjtqznfp>@Ws0;XohDx|NZ>v}~ zGP|Tk(W$ehk@&ZxjP^3F8^A>z(^tccI@-$z@Qm1o{EKsjgyrEV8<>N<&a+5%+$?lsf9!~v4&V&(L8>G~5zcq9 z8rYAiKV?|omFr2EwpL6S91Lt16LuCeIV^>6gFxe`^Kpk5w|Yd)vh&yA0Jfwg=eTGG zOhu)C{z>PKIvU)Lw&?{8 zww@Qx&0Be7wLY?OA}1Rb4Gik>m+$UzF^aC_cE>}Joe{Z?wfqhrFKoXmVO_pKZP~04 zvTplJS23m={###9^GSOLO;>O?==F(IE4j*4{23QZ6&*p%;AICe1EFV}wFAXQ^<&t=P9=my^Rob)j`{bEoTtjk{93N5;5;&Spv8VO|66+vycs(*ly_ z4tGN5zoOJ>Bcj66uqT<-&aSOiy>TRN)Juy7oBDt)I5fZF#J>S^=^i&eQ;maL(v#$ZYDwSSweVn2a7MQKYMikATlC@3pZS;o=?HO{>jhMss4AJzq>mMbH{unUF=lf5_+uS$-?5v)97>7xJJMk!dDlr*j=u*9Wt&caU<6lQuWXvW+lF! zugDN|3vo9!5Ra0Um5KU6G^ul}3IKhd;Q2~^E2RR&#&K+9lWi$DIY~vU-{f}6WP!u+ zu~0HS!sAioGYa!Hz-p&r)A$3shAgf1yrQn$eVLtg)Yy+(Hd9c1s=Rc^#Zx>?7ryVS z&*WJcLoY>>B|5o!(K*-)57md|yYdj6YuTtU4L-f56X+D0Q8dj}lK+B_Wy*EJ?F+}? zPM66iMe?=XM`U<6o3B;1w-T}__fZ>XvSooyjyVY+WK3sc_vBXK>C$-G1RlIQvX9w8 zoFMe$w-H5P7CLxy@8Cv~6=+_jnuEWnMg;+|f-JNKnW{_IM*Vz4G~68SSNrl~D~I3? z-fQO!T*P^p4oh6)B(#(Dd!qTC!Oh)bVI6#1BnLDwu=P}X_P3uPDma1Lh3Sgg>rK>D zi~tKo6IE%`>8yvli*6^awE~JrH>5)VgJp)m1OWD`zS%1tsKj`QKnP9sLpFtqewq>Z zouZ0I^sKleL-F15o%oJeczJ#~dKYVJ{N-=)sv$0tPcS4rY&o%o2L^xQ)-+8Lzo6IX zJFC!GFa4AcS*_w+|DmclqBRD%F2K-ItR9^NY@fsD*4G6--yr8-q% zrx(n?S4(0$0>=;rv$K%c>i})rYp3QH6U8v1Wr|nt&d3=~w~^4rK&pRp=DsbTl$m9$ zl(ZvLZQx#`bNnR^gr{N)#9n(mq`I}o9BQ{Vgb>_X_slLwYNP$!zJRB;oC6Kh6nlc7 zXUvovJA2SN9i_&{o#B!l(2-93r4S3MMHib!XsAxl8@l$R7U^g~0DU71ndfTjpk z=6|cBh*yb*5@gu}L%Gl9RRkI~-snqdD_VG;ph6Apea1CrL8IYV^@P|ofubaJrLjc; zTwpOLbY#~S%l4Ca*jRY!xQoA9#zBV=x~UxcZ;($gF^xoB2B&Zng@H$G-JrYV+*MD~ zQDfZlL1G%S6Nx<9YQD zXcUXi5IiH*!1iW+5qiV+YOufE=K6B{S#$<`nqDiU=jvRN49_NQJXnhy)v*vNjw|Cu zHjKM0*dRiT*o#6GOyn`TZx0b19T1)|>}`39kR7#TBkjylxzK&D$m=wvc{dx(Az5;> z@YV=4)R*7v(4|8~%kO)McU(lo?ocCGKMw$!U~{dh#&E(dA}*WPB(bu44d2|h-!iSJZS@X? zNVqtbFjCfItl_`?{P*rD;4E#+zKp6+W6qdLxy=op5<%U?>-@QbqZsNWAY+(m<%R3+ z>~Xn5hlMfyOie>{BNZ4RqsyZ~k7L5TT-;l4JxXp@}ZGEpoePgxds^%WbxYptQ9yrj|q3w)VB!MBPAu##WeR@RM_AQI49dIJeyW)P^28L zmww8|OEd1edFF=(Wx-wNJ%Ac*D#dKid(29OyM~2qhd}tPiULt*ZS0736XrFJba`R;QYa0`h zUEmq}_Nh|MNn~&et+Q3mI|f7{RpYm@m{Cu{+U^{Nkz0;hbiy&wfi5nO&>qyxE1y7Zs}AkQzT(M_nE(YsItf-b_-K~kqTt& zpZ6heHw364+oLC7E!1UVnz)(B*wBB*@@DM5e7^mPiMThsnsv-iTF5_*BMzgB69j-B zVUI0iFy(}_M`dDHS~|sq_e)cwp=iyso_kA;KBI3*dZ@+xu2ZP$iu$8@5%TDrKg=zN zmBU1dgio(vCJUKm=2*lg3kZWnt5j3QlcQv-+69@m^0yEoMe(u}e0ph;e|BXk@W#zQS*<0Yj;%(nep zm80F^e;K^(SeDJBaQ-<8J25Z&SU9UJ{e3)AeVLD8z_xYEbRst=EC08C@MGCgNHhF1 zmo6!fvxy0-X1kmzp^70^PyzlVqwuxBGblO%o@?jElNz||;l(<>s)`tzl{>C&Jwz%L zV|KkZmjxhNpHFqEkIC%Bm}>e=tn_8EX5}h*9(KxMc00mW9OLQNP55VUUWYGC|5c=T zK+oL~U-+<(&e$+baDiASM&+&z^RN`^uK7kvd_0*SbLK2y3`l;oX~@5dH&?SL3DWry zLOwQuKj`g)2?yeT2F#a-=dDkA?F(ha1VE*#ManD+U&O@c^(!dScs#qFv?R5Eyp-aw zI?~X1Dtqx!W)m!TeHINHw8kTtsdi+o%7BrpYzML&pGsV&m`-l-@X@wew6sRl@SY|9 zXnU51o$&wJ#LC!SSB2>qBbyQ|1Fz6g!ZAN&$R~U@?#&N|I!(-nFjGR)K<1F#XG}^giOn;w|?wBMXm=QXErkcdh<{+BWhp>u%^lDv)m>E z#dLG;}NIPer-`2x+%hRArjg!%VCts9Z z#i>@lVDZtb{e|e;te>n1pHCfag6RqR@-@l?U4Nz%XM?faYldy5^kkVJh?g*cYZ2zi^N4` zeod-JF3P6JA=>%&UOe_lwqekUdIfc<)LOp|n}I%#UEo*TeZQt(A6cDDVlkrgL9WF# zvrRrpa#O9-jeGAOd>jend*0eKbZ3vPT)V?bRd2WG<;QIr1dxk^cl;;2tykiboSsP3 zet={n9JON>8bRNRp9S23J=a`9(AwwHv^JFgtECWIu^hGWFFX&p&}jB)6%0qHs{!`G zM+#$7y!L{YU_-~c*(wis z4^ME<`+v`ji$~F=7HhxKF5J@|ZE&!op_vnkRpcbi7;a3cd_daG-4!-K3lI$6Fhahn zsoL~teZ$eYkK90Yu9GQcWbjm46R0Mn;W3$~U4FIW+f|1$4|7EUF$s4YLNO1Bc)Y*j zR5Cr?YzPGxZ%mFVY$}kCX#w?*5>`88H3_(ib*x6_u5-jvaZqk?B+=*3knX z{9{Pt7zQ8cC>N=WKEp>WLYxJ2o{4k~H4JMps;H%5Cr0rmCf@_1AZ2YvdPk;+xt~l{ zDD*`Hchm-XyCZs&hrmbH_Pi`QfJs64h-Mb}SSGN8D$fu$mERv?5ECX^feFK7%K@d? zQqqrpDXco!SU{bK9|n{tgy5IJO9=!W9P<)N_C`w38$JK&;iD&Cn5;;V=_I-gH8+|6 zKF;D7JtR+@5{no-k`eT~_~h3^6yARvuF6Lr$EO(}!TBqYlKhaZOwooKa{~mh?Y5_G zd6@Af$AX0(^-Qr%$W=9>yfmmm5ONQ412HSWo;;gve4;V#Abn@4bfu_&@)dMz-q0T4 zuX&YgJR1fp17^8_mCq$UQF_`b1sK_hV_OZaOdS!Qt%Ahw|4vvZQgY4`wq#n&p{D@y zFbCn)=4c?nU*nqsN`H9N?e|pYWLIea4{*T4LBABZ*7_C)h}8&`!H&nfUmc{*hhh%3 z&E{paZ3|?)PxfF3xr(j;py*UO@-kb+W0IkZeND~@b}f~GRV96;rX1nCYOhXsAg>{- zXzhQR7%~bKWL4eBi&o&wjjY~o;71lDDlYUp04{j}>@yKMMW6q^tJVO%&c)nhth5(9 z;C7qDI7pT(Kfs`HUJ9db77W7Hn=;!53n*YI$Oh~cx#U2^9(i}3bixnUP|05X2ce91 z0fPd|>(o%0gmh((H%%>a{~6vcmqOc5aP3z<#U;2=pqMO;=W;Kq9+Dkkh)B8@8 zNpxldt`@iV?JvgZ&mZf@i^|S#=d9aC{;v!w9jpslp^SBNPOG9xy96%zVYXrr! zCUtc(8Q5eW$|`HQpF;*_XXsQKKoHc#Va`jH>vz9puUuJWUXwIDxt&^=-E%x>0!)7& z%9$m6o^bJXe8eag7`uG`&b*U|M55SEz6Tt@TQTY<9g#MKTUQmPR1;`Wv<&7V9I;5; z9-_qBiWIJ{za@%%wg=T=i_MOlzf@hZ4&Xfqu=}Bgm?D*yw7_S$0^I>M*y48-l5f~&3k;KO%ScPsZHE-L!CG&@?uEo9P~I_uKUL2BjoNS{Pb@Kq1D@ce(BlP>MMJd0sbjsY_wTph^?h2eKRA+3+aUhi1n zZYMXNGQtjH_$s_|iWStX{a|%i>0hWIgPq$$<6o0!1CZe~YO$4hhy5`i_5rCQl32A8 z5myzLDMRH=kI>nApo|-d5OJ%7xY}Mnx@)}&A2#06*q^2pX#cC4t-tws``gU$&vNIF zvzUdkzK63k_C)ETZVsADd`|g(BWoF}T@U>7nG8rWk__V0JTcjnv>CqC3J9>chYA}X zv;D@iLZN8hegv6#`5nGH>CX$>v~c{t9)MRVgps}*OX>89UD=fLp(ZK+M|<7VJJy5+ z(t8ts=t(9m%DC?qyaOBHGg<^t35J+cb4yc0o4(<`abwgi4kB7s9Z8Ud!#PnikEtH>##6vX@4MtVISHFAKx-&`^mm-2xM@ub<)e`(yU%JD^X0e5{w#u)FSaD zectKA*PS?PXi9_^c?q>Smf#kxGQ)nttO60V&}QkPDVk)5tjZEF6T#PcvaaBC?&rmgRt_ScmO;E%ifl`-RJ9JLAay%my z)5Xgz(_P?6Wc-#R9UqUH9~HF+dM=fC>;h?k7J$^(;^$41ss`(W{ndypSmvEzz?=*o zp7w3-b8Kn*T9BwHQ3g5(~-=!$eQEn-QIy816lXnJSqV5}Pi z7BuX9g4+yGPJrl+f=~cQo3b%M)3o-pflH!FtKw%BFN2UXvYx}S5re#n?)t8bj0kydY@H)SG)hjaUx04L4{Km6mqh5KvDeV=uw&S&exL#DNvY@Fo@dzJ=^F5AT_qwJv{TnR6qJkhcWQx0kM z_LlML2zASjbP{W(lZVxAX9;Lp;+!0CvC-0iL2aHco!mcit-G@gpBk}3n6{?0_6g|U zZUrdD!f3m%ja1Mo*ZS0a0lGYiLcd2L0VDX-x*V>i@HZ>l?bUp&#B?I$q=?7z&MVPz zj@Lq|%VSTN>I7kAp9^k;HjL|b{W@NHHLAk=rGNHF#!EFYXX>axrW-EIh1z49dPW;z-*kf;nI%iB5$6x0@DZ!J8)Vl1!yeqr#U*2agGn@+)Ud2j;*)s~fbS3)2C;oBkr@saOUvS#vT8i$pniS&5Ex`bXCS zV3)rR2z1?XXayUrJ@5 zUBO8@+?`B?t9sLwy(u=v&0k~tyzZe}p7zRt z3GYBJ%jn)E!gTIADMMR$&^@}UrvTx>c9F#3FwxtsyPgL%L(gpu#{AY|LJpoJK8@0W zuu8DKTO7Kvq((`!P=2E!inR5HQ7Vk2@>$AuL*f?Zw`S{6Ya8=JX_)c0jS4 z?|k5h(o)n(tn+li74|43v$TR!3Iuf>9>!;qXLRx>Hvp|eTGda>jK$)vqjriXUc!gN z_lcBDukf-XvzQD$@B4rKv7=_nRieW0_G@g=G*vn+eqlhmLZtKa4M$JhwCABP>!uv- zs3)u%cFm;Y;tU|a8fPW#qCMp9DJDp?#fkw5JMo`=crFChK2>Mn4-xyj zCL5+}LX6ELhUA~CFV3wz5=FdjXAV%!{UdXAom3VAm^9)pr~7)WkmwJqd6Jmaa?K4Z zf`GWYZVH9#ySd1g;@!T&1pVHaKOi>T?Fw%+S8dPRc-KPs*cpk}f7JxPmHah=(b5<` zb=!v$CV~67FKb}K=CtE%8w`AARrD8@+M;Y8zpzRXRazNuGsihFai>qJ5w--nrV-J` zvT`}`tg&O&@l$dxR|}gI7al4`2-MYG1YauqSyy!Dp+RWMNQY0<8E~v+2jKG(4;Z*~ zlMRjER=*!as<^^$G69ljm(R? zes(Ta#H?w(2w8%=dROMsy@W+HDxDyZM`e*>%D<|=r;905IB4IzZn8O7lulY7mq32Z zhRf8oxc|ry@J)9qrn(jUH>8jf(CH>4bLMxavmb-UukHc&IWV|y`r|n95w2Q_no#%Y zE;_?MAPiYSdo@+|>T1JvcVL6qj=H9BF?V&mhl^3*4YM*L69YIhy#dZ2Lh~)O%%z*Y zB}cxD3?%FLn&s=D?&YF-tWZCUYM$Q$T_Ohx70*l|sg) zwqT3Rh5w0;o>4$aO7p>j&OEeQjeZAiTfO%m;^7RvweJ?bA5pM;sZ_;n2m zQBL3z4kDj%{eU|(Mv?xHK%VI$KygdJrJDIpl9G^yIvvulwn`?tTFTs&ixWs)+^dD; zr7T(!_H9*E{3H7S8?XuAPA<`6Xhh&ShgKy(TANK!0k^yc)o*V-jYqMRkzR%m7!Zw4 zm70@b$)ynu{H_P;D;nBRiA=yozLUEox#B$!snD#C(0C$fP=ybF2^hyQn&CumBN}2|K@net{Amx6)Pa;p8Lbd; z#oyx{@*@f;>=SQ=5G_z-j|Zz#{q>zZOZ2cATr4V$*3WXwflO%SppLqiamY@nc<~9S zOoI7djuy_OZV(N_O_#hbYxj4Phgkw%>85JTkUiFSq)W&!8kWMkk@G$!5kt|GJr``S z2Wa-1z(F|n!%~;7R=$RD$)f+GeH1q4CttR6@C6*AeSkO8w06a*lqR}rFXnYOaGeg# zS9jlhcod6M+1tJ3RLvlDa_`s!e2AU~*@%$5vvQw-9ZFrTQ(VV`tz!>K)G-I1FxC_i z)ah@NVvpWZByb+)-eR4Q+e%3Q`?mYTiunuqbg4qdYfF-f;QO4^YNr?Rq$yZc(7cRl z2;>XAv_;@<1%JH-ur9ix9=ck|C2Vo|&W@MaTPxYem5@FqBU%hgQW<#BjX5U`=f>b| za#B81l?R^-r(pqApvo1QW4fWt=C5~#ect^y5$-qzEX}fTiaskiby&v|>svpT_*ZS& zUOJI@fqq_YacoPqP4dpsC}3096^uNJ3ICq4;@_fuc6;xkG=+Cuz?w+-n()5ktGS6D zWqFs5sGzy_y--Uy{f-~my`FDXlqRSNY^7*A1h78z)w=oDl+24w%GiKay80Nes0JWV zdr`0}e~6U~a7xx4ry9m)DG%d4wDX@76>(84Rt8JqSdu?9#4Xp5UC-xSNaYzD%mww1 zPyRiC2m)3*0+uHx%KeTF2)C^;6BL$1*_W zaD2OQStX+pjZ5GVGP8(tQSB}eu~Z-N7-{tOgs6=}FMgBSAN41%GDU^wO{-pR3tOBH^04hg_i+R?9^a#@0Q&BODZu{@P+r^8;kECI&w zNfHyTj4%bDfF6N6t|IFYY6QINX_({1V!y!CbTDpBUCk$+;Bz)4GFo{|mO1fcgSiJU zPp+t5S<-3_F=&|ePi$c*my%eKp>6l8CA+`5E1*h|ln9orJiGM6&)y4Y!rR%>A3-7$ z?-@8>j;{>~-_4TdKOx^I_I;mov-C%%FvZZT3l$3MP~>QMk5J;)akDKxWmHBQ_sjVB z%$<8Yr8Xg*O9p%v)gozmUY`jmc=g_3@Zoc8DOe0)lowS_uiO$^DRUtMr5eP+hsU|D zt%}OooSrdtKt7vxJ_K=6Y!F2kOIbP&5iun>{@DNq*N^-Ai3|7$`?l_M9lrFzty)pp zn#eu<@U1mX7AsG#ofb89n-HkDSP~cJUiP0^EeQfGozkm#G9lVnAkM~#ctix@R)vpPnjT`gICdC^vxeN3$Cd*i+ekUq3zs$1FFWdE@E+P^z> z^1vIB#}R^*3P8C4qm8JU1Ml0FD2r23tgsOaMJLmmNqE-_0{yi&-iAP~{s_l@CR$mb9S8)eBbJgVRV z0t|Mdy#lhNcd1NyOBDC)I~v$8y<%9@5y?tE{yos*PM%w)6RlqIFeMLB7l^K4~As>0J~j5xHwXubuV-m%x|o zK0Q`^F^oG>?O{~FVRdP%-n}St8Km=IaE6hIOQ*wIR9V5-AW*ZV5XZ2c;k^l=b{L!h ze)N3ZVzkRX2S0Sx1w_8b8ALg_kK3JcenQBSL*c1PW}V`EENF2CAw2;QBb=mnAxG$W z^oF8a`Uy{F8e4|pVF`|^81*?X_B}BFhIMPX&Px4cH_N1nKewwlKiGh`PMmLvfHP|K zypU2gNEGt?L&rlU2EY-Rhlmy0eH&jF9$Py7`m16oE`kev$lm;=uX7=;hO#ZJpiYHg+Caw61PT=TovKT)HC zW8Lvf1hr0@YAZqcUV6J#bO6qVCn>S`PL7urmxW;9-MYH^2E9#Om2(^Cf40CF!JnS7 z2x%vffg4T;nUr@R_NMb`GVwN4{9gQ4Tk`Z0#|r1gUEpUgUzDnLxh$a!G=0Y(Y;n~e zg6=gy-0ELKXJBDj+(o{L&I780mK2G<){86@*ubH0dkeegRPU|7=`vlMy#Q)^VYHQ9 za^y^R0WXHB%a5Kmu~Xe3zW?@uBA?GF(`8KlQ{8)D@484jS@{Nfu`-l z9!%NS1_?3k(Wb$~AH%^)4p5`_Z=zt+uqjs$alod_7=B zx4od)04dPSX#}0UAx8s`5VwYEVcmYdH6#)Jq2x)iJ;-~gn*_BU5a5g5zoy_Y9^0HR znHcwZU;V$P-=jBc`Ax7UX;$I0?&B6zd+bwC35P9D7*VSlCskL3^xbddC?07$nzFW% zN4mhEP+o2t8Jp!R&6x>ws*W%n_J(C9xXj&Yb7JGvxse<6`6cA8i!i?IvJESC?Z<#M!zmGaEnKR2&Z;Jg7Qv7soc*=MwRq0N4z1I6WLwZmLJ4bgiT^6x;(u zrTRxEC1q$i-?}tL!S@V;G2hFM6i$74euXtOSlJ~3rMLsh_`}z1jmmFg)R;PFZ?aOo zx~4m-oqzEps;FaL!fC>|rV5DXXGQ_|J`InT?A=iqtJk-d28CFHOg_5CCF)S z>!tB5mdrGP2Eym9YIkr6t)ycgB~|H75YmDUbhroB@B$3VH!+o5r@(K=hWgqhO4zfftKadz#Kq_xY;KPA{Q}6Ds{<(f{8x-3)M+V z3zr8KKk5v2$}Wv&Q8C|Wu5MjB>rzKF(J5D?&3uvPt;Tg>`qtWEhznq`$V# zOWMjUq7YhV*eYaWRH*0QmPPrmUzp1!tKWr_JGC>%`Uj#f^4!g+=Yx5n$@YiZ@bwHLdUEiFdHa(K zwXs$px7fDk2=Wm@R#8Ii6QM~;RxY$^TZ}LGV#Z+Ff=JjUxV?6L*mF)N7r$f99IQQ2d+t+tWSn$v@fQ&c| zB_3+%;qkWBBu1n~xiF?~aDg7ygBfmE5o;Oa)!&IGwyEp{+m`7_md2El0>mJO;p`Hb zp-W4ULcB(G;cKP$43r&Z2p^~n0wuj0AQ3}6b|yhQ@oRKdH8?W8yXEW?WAtT~U(R)2oUZKh#eJ<7gW^s`9af!!nY?JOx9v zKhFPq``Hy*&NqWGdH@qMqHIGZ1Af}PA(W-)z8}CoUA=@w5_7C@rUZLTKVmiFWmpbL z%QOA2ig!hW2t%*Td5m3O+@R{NF*~|(cHc0eccBOC!O28yD+&p1CSnTBnm5TR3eQ3N z{4SZ$Vy-Yi<#~ufLC01fm#IRee~ zx^YEUSF9Rqg#EkvaaWoC8rlWf{Kdt9JpFzl7=-47yV&&Mu0KMl8N3sq(dB+h$Vb}p zm85QUo#Jn=uoco%9t1q^#=Y$rYwyA0mla-Pgms{qT6BRr3c9TU|2GdeYEg5*Own3P zb|x>y4+2@F*z>8qSG9X&g*#mG2DsdhyHMBGE|0T%2c4U1E$^ER^*cl(ag4FEZ7LgTzZnSF zYu>_ql=)HdC_aqV*KOkmo+@b@J~bV)p{y z6#!Ql&VrqpNn54q3Ksd~-6*R=n!5-6S-S-oRF;7l2)CeAo+Z789-TM?%;yc&rJs@F zEE0EZUqmLK{uf{LFsU7b{4x(b)v@&PBw1Wgbh$-JpTR}hRw)wH^zEGQQcL!Fb-gK9##rwuGUJ0-nJK zUvZPB0dq7JNiM^d#FpJPn#k020Z_W`Wq2IQ!7|oEofyZ5oKEYBLXQ4H+n{U*4`qm< ze9mzr___bC-RQr&p!p`xLb1!Sl$Cf8$_yB1gg7I6){^a&gB-9jj^$Ep^2T$n1dARk zXZ6R|or%tD-07GEjDKEZYg7TOI=*UrhpQ z93fuLZNSEnsKNur?Z64-qibzQT6wFGjSMpila!NsU8AEcyOwpXsm`u9iRJu$d`pR4 zHTf^=N!=G!kSKEwb(eWw={#&pE^t!C*-s$&LS=dUX5d?QgB*gsEcxM-g7|={;vm)g&8GG|)*%R0AO!5f z+%7&uxh>(ny_exp=8`{MPM?ly1%g9H%So``L}|XR;FsUK1;V# z?*KjHdX^8i<`w(`3^6zkB{E=bb+lYDblbO_=e#2Dsr5IPzN`HPN_}ZpdE9SpjFhE) z$#X3hkUmLlJux(dk9_roZ>b$={7v_EtY~^PvhKUm{O8X_>vTVx!|HsZ+8}$itUcm> z!{#9B067CJZ810&mr))$ce~udN5B}rqUAg_!!M>ivp(}bD_YcJi&kS{wPbqzjh*{y z1Wm}IZiFbxgf6u6cD^}mu8YdMfns;rcJ6iLhsv6=`wX`OTR<&Ftn*;Rq+22tK(>Oy6MG5Ia!n=`ardwcm2a-I(U>_iJ6 zsfuv!Yxgc3&QRiC z`fs%$SqpL1tjFA9$w^Lw4v}kcPS=A^WRyY&$N9`+@MKf1DGuYUG}>&>WxR-Ht2L4( z089VqOPdqt5~e-IX&x-L(wtt-_R{1tn4ynD|FAFLVWjWtgvpw)!%F5poR$0VxddRk zT%It$>8)nTWK)p53e?9#WZud^q_=Zpqvh*f)G-p-!xEk?>c<)Vg=s3r)$^R@ZQrv#3l^o6ycsmOxb4d=Jeyb$?vK-aupRiUbi=CV2s4P>}Pc;TS_ubw9C z@{c27`&3^XkO%_QPaUeCzagy^)dv{rb4hxdx9(zPYVhLSUCw8R*ENYrin(BQqm`{- zznJShCeRpqL=-L4`b{T4w$HefEaQf6U&cs$7iXa$1jeUl6-iP!4xxdw2lq~na?M_& zL0W5c)H>bTMevj`WAXhAM1Gs4s_e~a zc&fNp#!AfaZkK6g#DP)Rd!68(&KIJYkkzQS0*O}YsLVyi($hUwVKA*FdHW8~s?Q!h z5%+0K+DrFLK#Zl=y=5mI#6=U2uNj|R)(vZTb)fi(96DQdyxS(Yi*TRrv@7iH6k1Wi z+HK+NaqfAOstFuQ36J&7YvP(oQwy&M-wUd@wy-Gv7-9=R>|Q;hUt)a@e%zdAlmavo zx+*(fW!;GadS{7?s1W=++{|~?4NqhdvF^ilMJ8;#@8OH-OUX)J5GJl6Gt9Pe_3v$* z_3BiH(kBGcMMiWKHF<`ycYjB2&oE6;rjtPOh{girbIh1Gi2+WKeU7m*!>wytp|CEs zOMNmb4!?AH?Hp=QEtIV;z4GC zcYCwi>C89u;iaKOrz6Z~n1+c(nSrH5OzlRD&d_At){v)Y@E)?X`hnd98y7J|8;Av2 zLoP6X!3YU|#Ph zJL2K3dVpzU#t&MA8J4c_b+Zym>N_04$~_C~BK%4P8h9A-)A?g>uzWEBraF*|K#S90 zuHGgV8GBe`RvG~+LL@%`@i_ULhZTXfkSWW8j-8eMnz=t+_;&fgIbC5~Iqk9;zvu8V zmt|Ij05NLdld@5xWkxd?+&xcT?m={Y`s4wmtj9JT|CPSRbHk%+{6r>D+Y&vv&|#s9 zd?W#N*C&D-*AnrpB?$sSbv16esO~%08h?O#EFL3Lr?M z83%#x8Fn~K8YW)Cpnd7PPHg{^5MGU8SJK5oU514{=er8IgnDtz&)W1A%4-+2~F`yt$4Fh7%lWCRKMg#RmE`)riQ`FzS|d z?Nu`O+@hX1B`V?)HNfk4!8AB#0Kvdn_Muk`PawVjTiNt}(j}fpRdU7IA8p3RSz7Be zx>HiU|2g^6iv{lHKzbcHs73-(T;(8cC%Y_rMuJDK8pOSIq2)HxK@$GMB1JIqI2EU7 z_e=45l^(rs^>!21z@h-r+XTwPOBj^F>qf~QLuk5=!B^NvWEdnE&r^86lrkXF*)v>L z(8Z3thvVl~YdfUAT8tr8O&VGY&K$sOyoCqS3{yTLyN8Py@YnxtlrDZRofO|JvZ z(1v>X6JGn~&YOB6=yso0Uzjy?c&Q0IgNKE-<0_#plP|yb2(YVjI8QM=z(Z+|tDewF_aVT*Hy#I8(2L$mC zy_yW1DivZ>?t9p7cvSv+{FmM&iyjX_uw|^841dKhlr}#guGxqn^l#8zK&qC1EftE#)Zi1=pJad#_O99Q3q)uw zq(`5{O$YWh(Fn#s^FXKo`|w!vrpAV#LYcv&V}Z?ok`@n;Xm>pk>q{=mHz}9iuF5s| zPQ%o>BnwH|Gs(wj(ku)Qi8_-aD0<5$=+*8Yu;U+tJH&C<-V@z@y~~M8S5^T4Pe=Q8 zEJ6us>YaPBbhM4hQ4vA!dWeM)S@-q+%y%ifO5LFKZYDis(SBQK35;c)#|Rh-?5Cbt zKodBo{&tVzzt>o{p|3aP2SqlhulVr<$`yiDK>j-B$46D3`eb>SHk%dl37`iy zS8sRA6AtNph5>(~Y(zl^rqUb`=vJaFjB90gOiSr7fJNk@+jU~~0`wjR1^ z4Lpa-&{{PZJi}ZvCGWZOxX*$1>1a;V^PS<{BW%^=81H`NJ<W# z;CjRyWE^QrE?KPDe?|OU!z{@EF7p_w416Cci~5k#kdzy&h(NGyI_p`xp6#yYL!~%b zt{u|Rj$-9_Ctb5K|vjgpeqd6^p1ZtMhSs?v?LDikHpXdj0 zJqlP`!+h2T5C&9-bS2l5&&cTC7lyA<7HPhX;{y>6tbhhx&h^$P#qNf?=L8TMKcSzH z3C+n)0dD_>oAcPWPH@rPfov;v9B{c}iiW;C3Y z2bQgFh1PR!P_p)2i|e7{9sji%Y1Z`5ls2ZG3e)>dForydKa}X2-^YJ@AWRqVNx4QI zt9??Q0aE+DgZA2beeVz9*B02b20xy(j0@_v^t{ov8zRLD_s2b4$dNmD3t&&}T;M@^ zIOU=$>I*_I|Mz8eL}kpJB;})UeoV}0>%=p|QCqH_$Cy!kE8bGfI_X^wTB6xLeEdJ^ zHW^qsX^T6=k<%US6(mS9hT_s^W45Z4-8QV+v~NRw7o>|mNADco=D}_Zu7`qzl-HlLkL3Dl2n^#6l&oxPA>S_r*bba#yb=$c&Xb?6D(jG+2fKwI%EK__Zn$yWw$`rAs9LA7B74-VY=M_0M z*>mf=w%%%=4I30A`&oP7b^cXkPixf4^Sfo3>EWeQ?)8_H!y?BE^a030o&m0%9z^D6 z2dq3LQ94Q!cqMS10FTp=Bk*wl*isO3C2NLsZ5TNqr_7h?M1BtcS;-x%G_d_`MO;@~ z$Mfaf6k+aXP5mYZNF*@(hEDx6k*28}srD%??SDJ{C~u&D9KMPjH<5;GtLRVgPDDf% zNUx;feozN_O)~ri(UoVbLlF`B_G`!FZh)5NV7ygIFgjwK%PEW95r`q@i8F5$M^B^69hElvDBW z4l5l27q9gfu-Ss|90yP~i)BcQ|8E7asTVe~AVF+hA|Q&EH`6fJteElq2EB_AZuTin zE&JKkA6?@-KrsQZQQV{}rlv?fg`0 zMN9#;F}8U^VPUZiU(TML15AE~xx=5C+0*hbpUQ;y85~$KzfH!IWxZI$OBp0U?Fxd5 zQI$dXI>jpvDw}nUQr|h(Gfh0L)J~30K+H*z6%cG=8unphNeLI|+)IB>tCpu|(cs4> zc^S?6w*@u@fL12;_7db8LbrL0kX_tUHgkj%y;k+?fbL?BFJfdTk{K-`#Fvpk24lp0_bZa|!1+BNa4*$g06D7}olxk+>kE zbZ{bx5<7I+|q?|;N^v&Sbb;ZPu-}l)=3w{04&FvJU za&ViUQ$%RF>HbYnYwKF?$k5hpWuhNWTbHeh!vHft%)gSKCQMCt~iY#>nMb6$gGoON%S7o=>!L1{c$J>iX@-F)6h)7i*CST6>-PD^PHh~kE2}5cG zNl~#L{BYZs{{eBhhYW-6lqJZN>thAUf7pC?*PE||3b9w#}n9X%`u3$yf=6&cczVN!FF1aO~~yH(Y9*$`PJg(}~> zG`jjgdtI{VZ6KeKvR>O3_q!JQ`gA5c3buRaIb4b*P4pf>`;JTL!MS`a(r?}Wn?qPslm!}!pUex1o!SjbwvOv}w&5=N z57S``<`MeGC!Cvh)ncOifRcXOGvw{*t!&-Bg~I@#G}kO!2pPi!`xS!m-3~aletEiDYihvd6Ge3 zsSM8wDa<(3^EovU9Y>%bPv0ubn)JNFzhP|J216@Nog2I$h?uE4SIa;?TJap~UU6a_ zy$g$OmWqFQTpcTi{j5Bwg$+j4Z^dHnBOQPSEL33Wr(II*j2`d`f`D?} zXT=U&zY2G$TA2uRln!E(HQAKyZUpiGo`owSsFlII9FoB%Xigt8+q1^^a+Hf#S_GO66KwRB&GhNX*r=8*(WF4 zGDYR@jTlQUf}|K1_&73$x%FcL)!XAO6s)$rvq2d9&Y^AIMZ8@(IWz=Knt^PB(hvJJkY=LdgW zYcNp;a!8h!*Lfi>yooHMHJH6@D`hJW(izdO<6RQ{#g0%Z%dWa|86YY>RD~%k0k+Q< zE||I?u;OK7P>G4gDM&1kKFL!MvwAYp;a)P^HAq!u6v01k`{)-Gn52!>9Sb-CSN;vu zNq_Q^ox{(KnOy@q^#cWiJ1N@LMHYd@B ztpXKHBar_ymQAB=tC`&IkCj%^j23-xk!DXaBczz_p-CC88gDJ*Ma(OUnvdvSK>q7^ zN7&c4kapq6L?KzkG{0xfcadX*b2lwYA5{(bsVcxck~NDbDnR#XdnO@ERK%BZ)4`g52xUWJ(HDs*Xee4lST%fBlyZycI_Nl<9Ss-Ywk3)L-{Q4 zVM5O0cER7%!S&#Nvy;KzWkcZZ-l$cU@h)WNQj)*kK{#H&8f(Hjm?_ij(z^{(6wTXb zCo{c<5r@u=?;gZNzi`b$Z~1naj3hVX*!R&(>yDx)FbJsC30p*!NJ2VL43EWpn=z|! zsv?XYXaO@lQFtXj#JA@hzibUaVyXON-()7 zJhMne8rm;9+3}1d)M^yc_0z=kVZQfL?K;-|iCd^J@~51i8Wq`JeMh6{y3-L#J$D^A`My9V(%m&^pznxcHC#kx*ESE=!0ZOy7~p zk`d$I7SNZ5ioc)7*f9s%aF(7SkD>|TZIr%EZeK=rM9aF_H^p!YEDo{bbOjqs%O^rW z&@OO9_NK4x^jCaNdS#`Zb5W(7oPkz8cr3Vxp}Frhz0h#ziOBvF3$KK9Iy%5eptL$J z`)-`$`MKP63!)1pFLH}B`2Vy(a}6~_C-&0?x`ohbB_RRhX3}P2JLqNJPW!*d@x3od z*v2|uQq2~$qn31kDzB!J^R;PMwX_&5ITD@U+qzMhu;@F_p0}bk+m2Wo<)58YXsZ%= zZ{h&shCNZb58k2zfErqSwdZ-?0q!kcPpRFhtZKUAAq{->HNwac_(He7be4D^jJBrP z!QPtQin&x`jG%F!xC!^Jqz!>nS6~hJRLkDRNG)Pof#U`APa9X5M%$2gs73!Eo1eB7 zPxx?N(QtfBkT6frL>3iw8ClH)`RAE>H%R02y2-d4IwDdZG8R(qKRdF^L3YG76Ly)b zYQ0xM(39!rEElS{8~R`8P+SVU%S2jK{J90lJF_r)Y(0R?)gj^Ls)Ra3$PM~m#1kKa zcXX-RyS#28znq^yY)UnI3llFH9Z>L8B!y;v!Un5lmmi1U9NluvkR+BH;WxM*yUzWl zKO7&CnpPdMVy^nGx>OfTPOwz$4QVU{8!IZmG0gtyd^vnv&tWB$6cEIhi)KpAB%h@* z2a?E{9tU*?Q=@_Ag(+F}{xROyXc1|1i3;TxiaG;xDIun3z6&Qo6H_cqQG5GzNTX8Z zH>RRtWZRaaQqREB68GAm6SrC&#&!oy3a7$mX6P-IWdpt`MIs=O1+>5bfX2^992_n{ zrzDuMF*h?{?%DsjPLUpNkd6I9w9X_R(r`)=!@iVrz_o)7y$X~d*ntkB&K=ZN%LYLA z$m^O;l+Sq!V+9iq6$vJPd*&m*z0lVTaD(P4--A*2tKYij9@}lnd@tK?=c;!JmI*8> zDIBxGknZA0#h?_GGagWKq%&9!gbN1qiLrF|7rS{C^r{)g(05CX8k?_2et9_&$U?nC z6G^;uAmcgl00WQdqZw}1ne=O~SI_O(CGrWJ(`!-F3?Ve9Of+D@ekMA@AO~$qva%_N zu|H6%68MsqfeS)`1b5CTkgms96(qj=BU{U?ej=gIpSKkobmt*u?$E@jjAB~qf$W7! zD)MxjQM{+Ph$ROYZ3qo;IRLZ$(C17b=3fs;rcxGcTtg@I;K%Vl+{cOUQKz$qHYBG% z&4oJWe#VM9y9;HFA{)JivWHgp;kzJBGW^i|29!uGo+V2#6JgKHXivQ`xVOW1$g4`z z)SXwRbLQ~#^Kq%<6?xNov;F$GazQqW_}?k5MkU8|4EoIq@#R4AcuBM8aik=(%g<0I~ za@-hMcYW~FHxHJ%bcH+bTXaPaBNyhGp49WGcHeDLLFaS#RdeGAUh&G_TwYxN>vb`~n#@}~dE&!;QCwWr{$Jx(RSjSwQ>r8p2ZD}9R$sSDSOuy@Ti*% zHIdXW@;h65!aNn}XiB9inr{Q!C+-tfc7vH#A7gG(pUwfutzFd>>EHmgRNlWcAu|@9 zS}eIqEX*hAdzseQsA6AC!b5I5@)lGIe?EZ_1Y$p30MktCBJn~$tfOUBYzQ;}hA=lV zQ!jOrB(BfvWLp2eyU5vy zPtdM9T!l#!;{0dTqf#E-%}|6s3sg z&h*KXLZ)f@$fK7G5{0D=4jJNp^O7WMVRc(U=%Dd^0NW(cEsL9`{b(Vdy?E|9{@dHT z3D3JprDc$jjFj?ys;CbvHwKnu1M$7Jt!~eTW;z0)J;%WD-Sg=F5?N5G0QG25-YwO@ zXzX}SJVb)Hj?y^w&VB|sq)Qnj0F~Tr*y$7hMR|cua|JZ$$XPcPF?}+U3==4z{ejeY z2kFWB=;fbn^UCYZW3OwSWtVFm-Un2|F9;37b!y6~?S7%UzDYc&8a-LdQQ>32sXTdq ztk>y-$4PS#GlU}Syu7KtaYr?pvaz3?m*U9-xhVgiJfE^2LABj+n2(L-52q4l#Y*y{{~smwXYBLeAtL?QE|LIj&pX9p$~?{hRjYIj+` zReHPUl9~cgPq*{8%U(#LlqUkEbFDBw+dU3&g;2C9HRD&_*byz^ZwsAlCxdgpmifp& ziS2K(8~64pxFd3!`vt_bC;C6D4&0#D$s*G8d~16?@{}3oi>K1+6=H2^{CC`6TM|OG z0FNGay}_+(tk>ViS*^@16g4R+awesG&tCbxMEO+jiVMP~W4G{Hv-c3mdTykIqjWp? z4zQ>>BWV3m^NitVX8NVZ#jIlEJJSPu`tIe<+k0lYb;V$uGXW18SM|x1^`1f7mkYH7 zLDT%SHcL;A^v*+wg0wW1caTy}i&2#`DJU4l1WN)7DZJsjo8e*VFJEe{FTqu^tb4#2 zAGUZ_x8&D!mEw+DD7eM7Yd(n0SkNZ(!w9J)wj%S=*ik8Rapd!P_d0nb`6A(}6aEza zR2Xfdr0FN26oFPqds`ec#tiRm$|h~xGX=D-PobEg1q%K*%3Vs)#eRZL^L-z>ikgx6 zGyE=RDE|JHh9D1U#4cFv#+Qexgxrpaa`Qe#@YlICi3QnJgZO&Yg}Ff~>KRmBCodVp zd;!5cx0ra8_E6k%bg6MJK!i3@lMIHPtthepD`RyE+sCLBF=(+k&F!zK+PgkfLp1T! zm6@{|mGQ9#qo8O&)?pusd;pFz_Oq$gx(iebE+c>adf^&t@w;I!0tpQiECwY|V zuvp{EU=MO!eLWIVta+HIEQzhg&InY4r*^!%|K=0sU3{0jN66*+Xrf9G7g{>{DdUuv zY5s2KnsrJDu8)>%f(no4CVE_y&=-OZxN_h1+~k;1CYh}R-Kd=ceZMqE@4UM{V8Dl>Uup?7+*%|G}x8t7sFflV3P&R!Bo>a1KkjA&&5Pwy(!RhNL@+w%Fp$ z!hhG6;aSmDh~>F~g*37NZx3VYJ^=|jhB}-7#wf%GS{N(XP-`n^Yug~qX*BhbkPGwt zPPV&pNW~dedr?aGr#|J(NEAL?q!1bUJXZmoW)M75h;|I(q&9T(c{38ko6TH8QZq5A zLaG?^5zNlFz4>FgIe#d*pRh^UOrhNTdXN5Vn06NsE3}~td#krFO-DM6ZV-;$ci3*0 zSW)&o7jtJkMuLxr=8Ay?$w8VQ_Mt^DyrTm!ovOYKVKeOcm%Jf&P2SNtJ-cD8AKwH^# z`N!7Rdj(I6Qxe^ob6N#hHMG#^{1S!39CEKW4JAOK);0}r8_adRsxrr&1 zf)%p2!A?)pg0PZw9j9}W2}cn`bgfin^vFXh@NTzY0QjjXD<*~fRzvF$cnO41KQ5B! z!_;W6eeYW}8FE0oh_ZX=M7+3oR?1rtQVq-qV%gSx2UrEnr~S>&;RmqWgjO(5l^5`v z`sOP1ykFr(Q1rrJJoBTF883(`DtPjcK^&zs?p)sWhn z%-+Uy-Vzh|{i0|P;BFGPp`R&1PtOk5?O3IfAxa2s9(RDGv|&H>AuoaFj70cNRFbkC zo;GEf1iw1mP0yTzrVHrJ-nU@-#wHv!PgQlp_(lg*5iMeWyPrlHo4^|RoO(Sk-tkQU zjW^Y)Yeu|s$lY3tDuUT@gmHu&re;2UKwZ+w4;F_nukPUCslgP2CLook%b2T22joKj z_KPI1lFVV1!cCw#^sNoR48Lp0J(KycIWpVjTl>`P?n%G;jZ>cOMj`B1H*rB|AjxH0 zae)`yUZ}g~Pgk%NrZm@TOzM)HpK7r6_M}#*{Wamu@}e%Sq3E`jO&F@%{2V3DW=wxK zXgJuo=PI$$A}8Ao>G&2cL=sFFv!`7<+->`J=$%2qA{NRUX^nUL4|Ol)5}DnsY%aox zhh;kCWsl@ea~0TQmpu~d$RYHz1J3(A7&}w%6lpy*kN>{)E2#z)y5jcl`tdl>k}{l!4-c{*30_3o2_=4w#3 zYHad7^Vup|g!(WuYuPK0nUw4ctU*OE8kQn-DaV04w;Hw%>vv$7f?8wQ`P9iG3}gYX zx}FZnq~R|F-JScOsGQ^00O@$^OM`0>=&IQ-W1+q(@#Aw|12uKH!)gO*Z0FkJRfYne z>fx<|ZslrPWC||dGL!VvNtQaJwrat2g>8qUGpQTiYo_PXsEXV6ALw%!K%$j)RWF&+ zn!J%QA%202I9a^dS6Ius^~p8Be+S!duB=631_tq!KWJd4&M#B4d)7wdZMw&ZnrbqD zUiNMlWM=J0(-TanCK}bJMq>MZ;T3J~8{&HiipHP~WJMvh@%CrZCev;2?lzFv5VaGJ z4jK8~LimnTNb2%SfQk5E(VsFgYzdm7Wp9$_1lz zf9TVd@m;M%+?^T-5iD1o!ESA zh;bECPQ$m{YuT`+Wu{c#HGM}0xYYj+(nL$wT+8HW9&a#p^dr4pj%Q}|;Tme$7i_m8 zM#e5-bjzA`!&n3~!#9MZ&LR=lG_{1^P`bN7r~;~THH*fO9gBNW`pxN>^IcOajLANc zV?b9Z3ePs8*f!g1_>(shY7GzV{OyuK8tB~fb);N7qWZvEl(@3xwFZ^9VGdD*5*m;M zgn&2xTEPV_wzFmC+B1W(E70HyKO!Sy7z?n8TToVUa7f=f9ZES*x;oyRgFwsKEv^3k zUhg^Jz~3W4VR7#TA7x7Pf)9?PvU{2F9d6SWUNyxS>LSN^eSh~$w7c^lPZbeK^)mUN z6+$Yg{+gwxx5Sf0_sK4#8tk%7Jd(8Gz@UY8VbvPAJ+GQ_(6WIW9`$8#W*V+W!OVSP zR}(00O(^ACl~|q{#t2;$BF!X@C7gp9+l=<1XHR5$+)J)TR#Ba+<1*%{YF{0`+_hy( zN~Y?dKltDbq+(I**CXQBr@_W5^yR%w`L|)PcJrA3)&1x{um^GQ1M%oJj~m(~U6WlE zBCd2-%~pFiU%1FSEAR}IbFu6Kn6{oi(*jSs5cd`o!U3*Fyf>;j_eGuAOUUV(TpUR5 z71Uh`bbF3tFyWdHF*ow$)zfi~qIVs{NhXV?4>t6oQ?z^%(wmIVAMx{+3z^+>{j_5n z^w`kUZ@AFs86X0VIr(ZhENX{z23fYySNj4yoC*l4MQwIr_hqdfh z`?)&odoc)ph(so*p~l8!c0n-p5Xg4W{j81do|+|O)QVim_}1Dhf$T}$Y-t=XKfKj_ zZb7%6B2cLk6{gd;G9A-0;Bz<}px|de^Q@`rBFL{o^3LX4vO^ZM6pW9MYZ6*`>P;2& z4t7n-4n8(O_VTOUp4^PW*CtJJceBFRGBKiY*K*z$f3d}i&53K~%uZ|L>?&c=@=>Vo z!z3?NxXQE+?Y-4n4!i&g9A$;PW?*>6!uMt&X=qKB1yF!_t`crJdEKm1?`Zy=u_t8S zT=S68fn~gyYSb^_ex54FN)Of7@J1`Ey3VB?iPB>ywAAO1lICo>pzwk^BJ3a{r%F$l zqq&idkk%UU=>7qG>`Rfp>3RXYd@O7|sU=?^Fzt?ywrcA zyH~M-e6ans0(c?`>G^o=Fe`H^Qy<8vSOK_|F?3w5X4R}|Z$b?jQP8ja6xsb2Gd&mA z5my9-BLUr$mwgmSOEaS0p~Etzq_Cpvb%r;?`8aQ$Eq_HLIVJV)s}F!G19Gzl-~d4A zR1fm%!^`f7sQ0;(;p_=>%zJ*nKHn$^Vkw-Ya{-hV7cJp(5o32nLTUin$pvN{Z0rye zxHJmTaK#R>mX3q|Cq-rG2AhNjIKbh#ni)k=MeOm=RbHuxIJ9Aa z;5T3reVhqo9|$~`6O$%f^B^Us2vMI($x(hG(6DFE*W-Lk)Gwz2d>~@|bNWQjB>{18PasWP1hgS!Y%kt#@el0#0V`Vo&9a}P=MN|M#8b5swqCYoC0H9(Jc;Qe-Q-tscTZX+XTYd?2go&Lv7+nk}ka{h@Mw9&{-I z@nxzdwvQ|WW9NsGPm=MPwz=D)`nxcYlYo13$#VTLizHO#QFs_ZDt;d5y9wu zVxQnul#N!xSbFgf#8CjJ&ifV8NJal^f;y}6jMUxzem4)9aeL90gg_rU0BYmOlC|qw%q5wriOA&RhxTG6NPI|l z&7-PV4_cm1(2dq==IpBzNOBTULZC5CQfot+wNY;HaGDLMn?6j(ZZBw{;N|UyaVr>i z64RrZDIMtM*kCIJFt2rfX`MSqx|Rkc7zIDfa*@1?x>ruV#POwkHkvXYBL7V2WHN~M z>8Hx4TO>=%%)jNzBIfCEGKEzmQ3%BsVSuMSbdENPYVX#HM#Km%na@Y-cBWZJzeU{6 z#hlzQvtfr-rPz&FX6i7C`N|(5a%Rlg<`f6$&#mLQpA zFJ3AZR>L~mKwcGL0gaE*hD^eKipMKK#7UYv@*bqGM;{N6Hl_2hk6^Opzyg zlyMSTFj|c+u7qJ!Wcs@1ulKq&xtCbr_HNb90NSuROvtteX^K>~c=yGSk_tY`5UpCo z8(~$--4ziGRU9-ya3(}rs8Gq4*T~b55ebgUg_p7M>adA?1Pv# zrz!`jTtCBfVhdVtHh6u92pxoQ$93k=U+zEF8EqL0hQ58ela9WMCcf}3dBLO8y7Xut zW1BaG?|zro)gj`^FiB}%t!RY(xWg*2LL*4?eLB-eJnkMYX(eAIi7`~d@ z5jt&v+QIG0oY6Et(O6C+EDdkQ;dc|Bwg7mDXpk%2-EZBwqp|Qc58|YepXlvOr1PH~ zI{u7yu{-2FDS~CT`!MP#qK=x1M>bWca*Q#265yz?2obA*BHtevU~cKYeP#2Je(&%` zA}|DZI6{q#l>`m{%8+x6fb@}?zadDypll92d-M(U(ptwx-MExr;_UxN=X!hDZQ#m9 ziv!y(Uo>4e`{K&^$JmH^QkBS`iD@5^BKVV2IGvM`V}SlTOmk>kkq|O3!b-+liOl>_ zW|Xgvf89Y0L46(ZR+Huwz}@v}9uW>dCtC{O3jM*g4Dr!0hQAwR9L!^>t|Brizy||~ zULA}&fq+AWU0Bty4~U^0`m)_B(?X2%>iH7Vx#kUTb{lu9j1<0$JpdcogbKDfcT1vo zDUpZSAZZU^`jROn+PV^u7fJ~P{+Rs#fFn$c=c6!d8qyT?!mgQz>3aacLpeFlFWe8& z9ZtbX(>?}^uoNNiw>9kqE8b9*E>meybFJ~%;P%opx$m+<+yGo%S!)hTBEe3(TOp(( zp~|g^vPz1jFOPJ{R*Ok~dK^mY$)8crnhbZ<_}SIFRreeQ7&gD=%}%h-^krF?cTeaK zrqB$+9ppH4Q&&`+sRPy3%(hF;VR`d%z!1-gyPYijUoPp=fesO(5*=MSAskiqTTbPL zH=?;OTT#G30w!QJ`gwSk8;9GwV9Q={iv3r8u5gbJgF?s$mTRqYGO-^!dAHk3>ALvY ztSXR5VtBV%JJ?RwjtP+$P^s7IA_1$*8_hE(V!*c{&V1SH+`Y`75S{dVL>OJ8cCsLMPrg~(iRsjqI@#p zdd%{V43Cc0bQ`Td1iJ$!?+VJUtT_-a0nabQm3~3QMzzgD(f(uclHdymJi*^mmyqTs zZQZ8e8L?T?(6QCq;P9n)Dt<5w%-Y{EodG~C>km{2%8(kx5-k8*+ZPus6L*NA zG`3F7{-Wh`Vz4MopX}LxwdLg|AL#vj)$(tT$LQ%2OUr&UnW+Dqr!iXz<*Jw`O{VC8 z8>0z2@NBLJ2xLAUa94=oEBQI`m$j+5rp=dZah+ zPk;oAmhUZoxTC$lrGR;^jOp~xp|`tURXIpZC)qfHrdk^F!U$NAhip}6d zKrcOaUc2CMY1+p$lwoXZ(2B-+mEmMh!?zKrDu`>cHh%q32{}c0`Ro6}Vy2f+8*SqOqFtB*$l7o% z@02-1eGr}$$h?}e&6|hmPzF?nZ;#hiQqQ0BWz|d>*|VxAjzNhyzg)#2_c&JO>`K^P z!fm_BipKccv_hlNz02rz%H5-h0b{=TYy8!roYxfTIz1`6)b<7>{P<^3eNB);BT`9;8Uunmn z`Hqvl0ES65Rb_36HhH$|K(s6=o~m>cHM0oO5EK+LFwMvd(8i6`QT~DDllACKtlTc) zv)c-QRh_LQJs6uOo+O+yROBqXk=Sn5Dob1IZV%hXX3)hV!Kls-B1a=xOvAOIfjC?m z2%vX4(e9;$*!z>Fb7yX|UagVklhyk**Q%31YU`U*ce(4g8LHF>nXMyNi4wmT>oQQ` z8&iG?`(n!*kI|FUj_4pZXGl))W2XmA^61UShG8ZTFZcU!BTfbSm2f>`b_gQ9g8f|r zWcnkb$&jlrs9xa^JXx^Vre}Sq)`&DaiBqlv{+{?2E?d(-taxhtMui}}ccYNJKrt?} z3=T)q>&zBfGC_^>?t&}zpIVcSw!#0YR~O}l=@xh84_Gd&pO}^4$fFP}zyntVO4MhxrRSX7Fkj_j@*83#Ke>rAe(k*Sm|eFoZZak4R?{a zM*${X7!rb~pOsgagP$-;acx^Q--5Y`Sem8YiDlc5D_!GO#lJHCrEULzc(~B;e4%q} z{p3tmM(E)WlB+$mj}^$$6gp$N32uV$mr=Y-_mdgWq;1wfzK-EVc3E~$1A**Kpi8cB z*19nZT)R&3?S!v%TeJ(10QXR&1u5P``X8}VK;f7HX5Xa9Vuuitl;S_|zfV{``%1^XNh}x^@ zr8>?Y|1Rut+D?I$Jz$E~7=#)IaG*hw)y+JC_H@~qx=wScCnk>Yoe07*{|`Qa`~Zmu zBlusj|J7KN@%iemeFE%L4I%kSCoYvH_C|M0d~;!54))qi3?{VccX=F&pV?B2JVRAJ zI_DvF_z1|*r5b(!2n&4H91EHdV@MKMp!qC}=HJ&SNRvf5Z*vfVj)EK-drF^xlK|bj zk;|Q&iP(b!o2&TX(>$+Mj2I2a)DvdHXdq;y?R%n!H5b&%t0+dXtC9U@tg;P2mD(h3pNUHp)^e77QO9hSUCq&11mn0Ytv-k%;k3(-4v&y(5v&PLAui2JY6;(`k zdD>$fhDl5+w?IR_6^D)=6>?f`u~sf?ouMHbpn`e8J&ddFg^bQ{nZqU@;g_-H`$u-k*sv`5`sC<>+6wA*tF6esb!ABqv!e`pg@*)80p*MN20 z%l>`st=pQAc0*e=9IN10emhD-+6nzykL4;#ks8w7e} z<#T7E!}XqLzbS2T3x}t2%kIdcuc4{|6c0ILFqF0eO2i!91R*gG3?^ev2Ws-wP|Ptu zo>0j|V?5Uj`I8TJgb9Z1=4wowwh8(qM%;rtS4nl!bR4uzM*_WpD}N0<6wDlc5939# zklwveiyNiS^0Io$?nwPOQsI_GiQ7^pP?{U|MH#?yM5lS~6>cEFcp#P<>p zg0iCr3w4wp;#lS|-M83uePWK0f`5IkSdFn2yq9h&Z)x;EW#0y2l?ZL65OXDaz!MmZ zG;<%A*^pvZGh*F=7Mg0X^w5cR`Z6Nf`Z1h>>Q9OV%j%_Y2@7BJFG<(L+>~KXiO(h# ztCWqW&yn4G(FI>S!zBMjnO6GdzS-QULh0$hZ_B$x2rySFc#FL3KONgLL?~K(b}oKKeGf6wk6T161fdmnt#^Iu&${auoVQDH;; zN8;_oY*8WEBL@g5SPGz&$p$fz-7N#st z7o7b&>Yqp$bsjrl!Iw+?<_DQ3ir#%%F{GeMNNF=+Va zRbzp_F7$;wuXcZ4(5hRrScrd0=hKh-3{>c68))1Dn@)-bMI_n?r0U5!=nit- zJNEk}z)6({)gA9B5G42N6P9cin9P!e$shPmo`-lUEf7c5I7R*INwiDzjV9)a^xNvn zDDh=(071e7n(j+(^`xp8(P>&-LV5nt9~0VceGgv2?t{TU(ecFq88p> z0TI;RnDQJKPJUjgUBl$U^EC}3CKbL30V}BVi5wY}Knl~&>C2*DC2DKXP~}3n;;aD_ z3pH7w0AJt)SjvedG-jWZ0_(WG+r^3&+22eWVswOthSUQ}lZc$7++~%_r9LbksHY#> z!nWZ#e+*&5mkq<2h~0_+~BkxCzitNgMVun zC2(?p6}IzpM{6i3KOi=fZ(q~zxRVJpG*7qd}t_d#SSTWK~BC`fpS_C&CYFXQf|{`2zd zS0mpDRN4}YUxbdxI2BC|kOdB4LkP%dnU_u0{>b@m9tc3O<&7`JnlX}JP?NT~H3Q3y zM$yMAx5>Bi;xAU}NT+<))k>T-cZrD9{bmz3e&~#ri^AN5C2Dd7~49LV&{i2^fxEs9vhZ>=e_^pT^{;@ zipeug0;K>L332<{*_-;}TD+m#6wyQcrG{vG0Q&U256eJ{qo$&SR74gDC!(DhJy2N8 z)#i`iutyf?<<(vtbUR@Up0NM$gPdEICrBGLKR}GiZIS1~C!9|{4Qh3uiw7{&@ zp=9vI*zd)Vshbq0yTAN=e;VHZ=Et5@|UBk*-fFr-l-FRun3XsM8 zS(n`5qP%2G)@`BCYT7|lSl6h#ItI&QK{MGrrtszD!HqeiFIK@XM|FDdmWC|*B;H4+ zYJTf4w-#b|`M5~eBT>R0MXT#IH#x<(;5bilTjK*7>GRk}+2691anDivBp)wof~I5zldmieO@Z9Zcu zpRtuB}H{JfXfNb1ov}qi4moCFc&0vN3eRA3Ltf5SwSDdjtdE*@{Fy< z3q3(&g-Wy~&c-<>IIkTLSQRTq%ZUQ32N@g_hGuxIs|epi^JtGrJ~=3(EJzQke)JMV z-M7R^4YF>?CutN=RC#iX;>3|gD`nS?cw2WgSqfwJj;eV+mYc??uPMMG@~hd@B~l*~?*O@;&=gmIih_QeYn`3MAMV4kF% zyggPmkJ6?+F6Jsqpy`km-me21CqIRa88hJ=>3TRji^)1xDP{RF&e9PH+&%#byIWev z5a$V$Z?mhk;RXdS)nKjLkHFtHxx2p4~{qG14t>^v8A8_SC7THCPne;B7#n@p%K1LgxFA1Hpt zjT0R&)fn1dHL(!yZSC`g_?))*2u0LB;p!fdXQ8DP{c?S`=B%ZAK&;gYJi(%yw z(z^1qb26+6wrFbqEMfqt@y!R&F+dI=z=60lx5(InLObenUW`uwAYYt6)8G(zNDHSv z2+n1*-&5I&H}S?X^Wn9>0iru+ozT{{);fs}j+6K3ga6ZSD68+rn+qQs-0ZI_Av%Z4 zqOpZl044gA>&8BvIMUJ}Xkj_&1%p>sG;5?bI;!HP3q(+%9G|9jgOkkc`4qj%wTnj9<06cov0+mXqP^gnZ$IEQ^*5Gy(bJn+7 ze@0g*h&5{h1L59p;cDkw&qbBVfmkr{^6l+WLhgAg8<&rOdM!JwrS_nj#pUG7v{SHfamoFYrFM5Llt!NGZ~095(fF(o#f- zn6txX<-Md5t2&5jXAG+y!3=?hYg zjOj-<;>avW{L*LT@6BJy?%e&5fU|Acq~pYlwxqm>ZxHl5D_iZV zwqeT^IdZ^Lq9^UE-dgf{b0{2_o|CkJTnJy?q*13TM5*p_uAV7_EX{9^V+0d+&~{@i zDxP329Sg{JTDv!pJ@6*!W!-$u3<*24q!NS?f0QKM&S3OamJ<9jB9~xDA49f}@4$#6 z$*c`Z4vDut3kwvdn_(+AgIQ60+>WVZGJgD<7(?5cJU%Qhbu4Cjk#5% z&Aw~POM)mKFV4P_jn_z&?t^#+%+tb68#$_c8+KBSKdO2c8zQ8C*W9&x&_a? zz<%zYgWl9&WJK*>u;tBf)QZP9^%H>GbS;db^hTTInL|o*3gkF~YdTU7)lJV=KxcCi z&_rYQy~XVZn#KF+9ZNh20f%fySHJpNOR5}&7Jwyj6KycHpdE$(A|%F{ro)mi9tEPFQ!G% z>a@|sb)j6t)`O&2=_m-P-KRQaTVP#vZ4dW(iXN?fPH%CNV%vW^0xBo z^2`jkYmoLh&wrTNtk#Tj+)lEBQtsFL|HJpy5K%dS|X~K6gv7BF05<3$^-7i zulH$KAT1?oa%Uzw1CME&=(E7lQ(3d?ISv5c&B7)eP7jZZ1O$Rt>%D2dx7XOAkS+$D zpb0c--J8I!+k%(Q% zAkiwNmRZ9+5E-9Y6Ua_sS5D$+a$e{4O%dvk$af_s0h9=f~lhlwkl(@}(dk=6}$GP5u$kqy<+dLbRO?{R@y|!7f z$y3;3W#$Hju74N}Tz`KP;!2&fVezkbcGo@7Qm3^1E|b(2WEX-G!~o}sAdG2c?>JF) z5N};Mt3(u^CQ03FjUiH(puM>L%A1VKqlw}iQu&HjkLLL~V*C;z$&(Y6zzJ}mAY9_W zKN5^(@uD;1{Uj>e-^)`pg~IGn0EMyV122X@le#rJ6beBi0+85kr*+YHwl60Q<>vm_ z^>mjqPpQpKjAnM5S?wwdJ;P|yDywlR*bfOU3KiWaeZj8?V@P@tk`x64BbUet6aigh z*$Fn+?ncWMU*<69Z*J>WVhH&^^wKH4bLw6g&K3u>_;%r)3K2RTo+`9S)t9TAoB$@; zILC#hi+?6FQ^bo0q#2-u8zle|X#&E*z~Kw#0*~CzKsXcP{zP@uOw=1VC#>`@m7xPA989eWlkuq_+1pyD>OTl_+&sDh> zkDUTDa2t*2&cHdR1u9~ftm~Zn69)!4u3uho>67+p%cnu+nIKUG^?L*~9;_9F?~67V zuiF4(+D9XH;q0flA{FVW_v^VjFHzY*9s>r2T2MI)O%dNaw;kTTKu7HIU>ZjOtobL% zmqd^DteZ>Cj#|c4@q#hlvogOfy+wccum@YJH%Tw-wWesmQSP>;2-T7Cy&P+fFUz1& z6DOf~00b0FUFNWu;tQ+q%T6Pl-C;&aN{z-t>b{If0THglDwKW0tnu|0hZ=KfC=FBF zK@8uJsnFu&;2vwNFax-)l=uP+I_JZV1mHVB@~LEDO}PBvkz_!73O{;-;q+Ag+c)k`^{= zXC?fU!79XjJf|SQndf>Ihku;Ln$9Qk{{w1*FdjU(oA}fG{XF5?3k#VgqfD9WJ_Gsn z0E~ug-?5#G_s5*jj+0kb8cJUBZAEUHx0JyZ zUaZ+HzLuR{VgPk7Okmu>H9-ZI@;+ESEdC!%B<@-09|%8W6if#Fo8gxC+W{w+^2EA# z(~Pi?T&b&&%)zyI)cwc(M9=KwB>ILzNmHp3G2hHFkO1I(9pB*@U6jR?_J9qqmMaB7 z&EH7q`+ppqCB-Pu4_*qa_i2`|XA%^7QzaM`qGRPofd;2_^t|t2U}CsR{sa{LI`r`ly>IyXa!-Daj7%cS7_% z9<(Hk6t)2S2?Vx5y(Lhg$2_MlFL#1{gKDf)cBkM^o2%T~lyL+s^=8;vRkE?Yj}WIF z@@f42L{~-|a=OI`oB-L>d61KGhXk2N&}AU@a#iyjfbQP6F;FZ4s;tEy@=(1pEgWc(zR#A-uU#Z?he+Y1yr&>bL^h(9U#xQ zST}sOt;45{3qHQ$-gjs0Sm0)J?aRqxo3KmMG{J#{$(NmB%3t8!@N~{fX<$iKB^N8E)%*ojxkx720fCdf#h3`&I zA+grjS~ZMNVNzkf>b0y2lp~arZ|&ivEZ;4t;L~U@24J3|CUhjCt>;RaEV{MK?XhSi z$;WabM(<^A3C){|1eGgN5ID0GABTqs>qo{#;o%}EUL4}~&6%nyOrFCKvuLkdIH0o} z-VN5bvYq#_l~u-3l>0SF`i=5Sv_WN1sOMHzv0}K2%DYF}__4jt;*BP7pT*a(*jLbm zlTbY>#4cvp#BKcVo)7`VMc~8OC&7jh6oXOb&sa*tYb(k7T^U6eF6FfG3Ay*Y5d8U} zKbyr%FMS_Jo=#!RZ)LXKZ5=d;L#8HIDZGi7(^~|VK_yI;AhJ|e&-&j`D0A+A6U~yk z9tB(Yqg42|H?1us@_piQfGWB^IHu|<4b97#R~w<+3c?oPye+@lpnT0*roE-<@*D~= zR(v`hKUki$z4%sHDazd}87X?>7&;&sMqjp1Dm*loU$@_K@baN_I^LcX2ZQU`KoMFJJ`47O6hoZQfp(bJw@dLy%>hF^N0m9ZiYVj#{ z$TtH4jQp$7Tbbic3xRg}c7ik`x=6jtGt-o*Z-VuCT=4%=ez zBe5L1h7MySARO`0V=u!8M$5DHOCH?0!NⅈYiJ_m}rnW`J*Kq!A7spmh_fpN zFK+RO$x2+4%uY%=5n0=SDFGSBQmhA_>FxcgCq@ItsQ{sU)G2e2OYEUPG~vUK$N_jL zm-lwZ3pRa1^j`h8MQf=WApAY+wq0UOXe@-by4kuv@~m@Nrc|&}c*@l22d|!9W0;Z0 z$z?4qyo@{|i+0KFR$(7(e9+##lQzH5T$=^G2?eW)$+~@QRyQxJK#hVG6@@^B3MqX*~>ab|^JaSW`^_*d}td2m}=TV6O>G(chHe0oWICgwsV zVJd`HUb0BP75$;;W(|%ej=8+%(d+G0Mm+Fp26Mj?lrmkPZ9M2?V64O*T~u)$>JtIa z7PdDCK5g5)+L`{L5iuamN?+Kk*sG@d6OW}~f^2f^FRfxqyx=Bmhv4C^G?&%@(|U z`U}))|D0~9vD`e8gWH~%NNw)Zfb6_32xzhF0kBi1g$poP-SL5YqcK>3^0;O|?yE6% zvGYofv6SQD-cR!ML%Z`Q7hNB2E}yPwj-JOb!8gc0FGfe2-0P7M?d-L=eNhK>tseY1 zbgr_kwPp@l!XK&shY>VK7=3B=!p}D+xODgzy@`d;!NYjl^_ntl9kSMoE zS93(G%|Kh=d+a@&`+IIEB?6_tv!6Qo*ehbz_k9B=?18ihz%Xf}q11zAyeK35liC+e zYu@fKn*sks&jfM+Xyi6^iEI(NB;Qs$h6%amPcHuk5Nxv*v)f|M6P@hC6J<4FTax7ulv^>X<^Te9eUxq$+^adza5RZg5k!XG-E<>iW^N6C8Ic&BYBW}R&XM( z^4UX`>tyR|c6b?`UW+H5vvXdLJ*Xl(YPV`k|4Fodn7#A(@8l@nX}E*8GLCYD6-DMT z*(U(}xinM8$W;iSN?D%=r4>!@Y8c>SW1Ot}k_!dNCLWiTgZF^J*F*LS^G3dHAK~iP z(C~$)c{4-w1W8ry#7!|(A2Nt6cGBiSHP>tRX24}cpBs>6QI3Fu*7`>?c4UeaA2nkn z6Y~rb%%Q);#sU1d%**y0%3@4HwOgAt6p`*h$rXw(SfTtU)7M-Vc2O7-=<7Mjgz=db z4MOVMKorM*^=Ks0)c27?DQd*DyhuYcqJas0jT_4PGTmUul~x_-tRCV)It5ZpFu2A; zu9QF1hBMcDU-~04V^i(PfPdgYfj|B?L?{ki0nP+rwJ{?F`?(mg{9CX2AM-h|{adW* z#3;(_ik_z=N*-eZc4P`zA8%3e(eZl$X~5_a(CzG$(t$<5lAz zDHG(&dbNznY%*Sl5#;pdo2gGKg|?PqcsPOvT4YMO$4PK}-57bi^^?!M$1x$8>+Y?g zH{ZrOLAQn32!BT(dmhsQBT)Jj&NA=7zOi8C7}R5CWhNxbih}{ zKXm`Hmia2E?fE{m3Q#%_+6fkagjgdGbA-HVC6j5g@~|=mCS7-K)2q`P7`T^fe~C{@ zk9Ty~u-@;JpHKGa-^%vbu`^QGvyaOXL^r#soU|7DT&QF1L)7KlkHIq%qMa|ILrQsYJ`W9|D|eF>J=AgI z*Za>T)Ed*Jyx|vSPEc9p^!$lj^#U!AG<3f>`}Dk9)vxokYb#vBXpD}$_8y_67Xezp zvJf=it&Gm2L)t4TkK^_LFX$wSU|^E1Xl1_#_Jgj?~q?pQ<3wW<6^mPsngR&}!!bAM5j<`?NYz(vCi7b7npKaND zkOgrAMzoq|KnaS3zsuXogLgV0?1*w zlP{CASOZXdl59`4ylxcj5Yi(i%%J2iRhxu<+#*Qe*RY>ZjV3!Ds$S_O7)cOC&)WY|>nBZJU|B4>x3YY&c#mZBawwHq6&HVDNsj*KO(D~7bue-^?aZJ&+(2?7tdwt#2TV8ld%W=ky?g%mK8zZ4ywlMQp&jHSx> zz3eOckMq;>mKb){efeqoaR#EbiB$FZ8y9R1>pS|NHxrdE!Uvd~tJH zP2zZ9CY~ncJN!Xe6bqk)Z?JCqmHJVDDK8drS*{&*tKuA%==DaywZ5e^$;S$28jBh*azWAdmV7WE#6F z@%i%5*eE6t!hDIZa-=$y5IM0c>mY|ug&CL>)OlXvc9t$v|9WGvMBW?#kIPw&qf@tM ze`q+@aQbXO)-@e?B>$})`|l&FLT&iEEw2|A2?E(t17pl8`=vtORbA|DUVJuEF(Eg# z{U^Wc?m&1(&i;;1rA*Cd7pDw46w$jwfr+UHiizz_hc>l4(zU07Nzu&u$QBlw!soey z4_p$fQKz|+yQ*9L4oq$MH`p4|a6dN(is+Jk5%KP9v0qH`EI!@C9#f?PHf5eB-wcaO zO16bu=si!D4PqDvP=-6$U==g-N0Y?GY^(?`YJSsKN+9>X5J7hks$so^s^7&tM3!-~ zzYq5Azx`4_nLZA(I(Z89f##;j=;6B8L_=-TOYAb)DX*e;Qp-~#o?H@VD;{}7T{Y*J z7-@mbxbW97aGucA74()p1dJIK-_M*`wnEIi~$9H{wR)D^OO7wBrxRWxAnm;8xk)<(EvAH&2a6N zP;Z1%&|-kMRtCah54;5K`5RZs9h6#48rb}insHi zM{7p86)_#dLVsWd?^D}zU2IsN*Dka}SUUWG6Z8|mZrFtjoP!g92+DtH4f;gfzlKNy z*iOZP*7TYtj!&*ZTg&~0#+gk6f#KG72Z1XJLU<6QjWI3C&LyRT+Q~DWRC8y-9 zcs=0SskUjd^NjGG7ZUlFuPfy))ABWBxB#zV`U zNpb#4K=$o-F1~cccQ!w#fO@SkhmMVbUkKt5cCV%;XM|D}Ko0KVDL6^ zQZd&aNkN{8Tv$W}-KgfMMB<@q3p*l#3Naq*Nqq#+pa_N-#LK(P-^)lOmg> zlB-iZyzPRJIVnHWx>;Ml^yYY7l{J$CiNNxxmQ?i?&~asQgp6CM&h%&Mktwn5zbT9n z&aO}`I_Oaypo*1UPgjYfI+X(r-q_B`u7}_d<6-z`>0sUQJ zbwGut&i4j(Vq`jI)9dy}(bU7b^A|IwvLsrpI^;{_oJ=zKKk_o=iCEyypg$uf7@ihy zQYnP6(*x1;xx@VzR8$th`)!X95^WM!)6$}?J&A8>8bDIxz}Ek&rc7#zoBDCy!io}< z8ruVPYl2;_@1|VuaM2`+ILQ#Wy?HH=`+e4CqgZws-^?m{(vanH^0Cm~=G7ATpk;eS zhg~`lcll(Ofj!p7TCi9Y)m|&-eF)5;JoRQj-D2;4Vv-F+n7wRXqQA;7p9g~punW~t2VO$JEY64 z3j%ZMcU#7rGQntJn5q)4*jPo#UJb~Ef$ovq;*f$fWN~mwR&lyGnKtUP;_o zJQn)8tX29PnT^g;5_Wke0QhdxX9??O`yg|TnP2`_*c3H@jb3gW*;0n@lD##k@-!Sj zJPWBdRL~GoX){_5XFY2GgPD>c44Tcx=mKSYgS0~K(yO`in6Bnp@?MO#iqBet7g=$oq3_kxU zq49Yz_e}s^9#}$PqVX$kiSRgaXy^^_Mv5F|Ho$rQyVo)hU!>VS?gU*`GyLpQOd4|>1c zIbupF!Vsn-$9d(05)tV*&-^H2RMUq-Pnh(Rk4Ro~B~~CtLA}(BOaz?^LbnAeLVfRW zI-tl<(i7*UgopYdr3c?oU82Am3{a(xQ<;xV0yF(od~+EZ3>)~@5bn+<<~@=iqoU1> zMD>M)=gjC8reVV9>q?77mt+7u;*sH+K>GWYbVzq@YO>bhUV@}e@I5ll3SV!g6p3Lq z<cX`nhYvQf{y9?JB!n3V3>;k(!-N}x2`+zM z5~4veiisQAeMjc}3{kVM&xPJ*c>-bZQf8LZWEbf({7=Ng~!3afmHSdiHO^tlt7r&6pdH%WedP+p;anRTj6CMJu#aC?aO+>=`czVGz^Yin6@3!M!v{CE&5OL_FqBxgW~b$hqQ0jzs=EEMpDkr2H&7Wq}(# zdM1#W>(FK^ho4dZ6V9S5n{0@6CtdEH=QTn!CH$xLx*7K5UDu}${dE5zsv*T5h?#N?Bqo`|N~)TUGVG(a9_5O+^Qd!`rit^laZRx{Ab>nE&0=fLH@Ioo$gi0O~lQ@@FmEGHSyDNKNz6cD2`fpJ)ItA9>2XywOSjGy3HSHVxC-`1998(Gyo<%t+X_Fi+}r7g)-GW zpI&^s#;~V1M-(LV^y%PdLe_%}@EqnhR`1@GjJEg>s8BV$ZkDTIE-nblJ%oa$Yv;Vm zf>kp+-F9fy$!$`tBy1V%jy548mwExkh*^#{zXGE@RKwx853AewBd%<#!a|kCjp^CS zFouaL6aBkzO73P3*OH%#verch_Tr9nl^loxPH;XjgkRL-^NVE4KfL^?xHSmoUOFnm zPbqmlJ`I3q%wie*BJL1Zr6yu7%oU8Gg*@0#=(=ay)?Q|t_D1`6Rf}o4uHs^~RM%!= zMv*W3F`?|P#i}(21N+$!FYv&haA0t{uM)nO1`E7c!c2iZIVXbHrxkC=M{uY~W%5+328PCVv)rm4Os4nhhB)=k7@W57Up-Kz`5dDEm`E(w2gO2Dvn-v&@?0@j}q-)x#fi?*9tZgx8v z(jykt;89^z2=&qIor}nG=-9tc-S^s`y0JEqzCD4zuY`TRS$y>f;4jffO!dc)R3`?> zY#%n(XYHDPCf32c1$K=op4^R!$O=*{18N_(-l`{mBq z&c*8^=qC(kSeO4#E*cMg8BsXO!sEY_K~g@fPBsBcu<^$nRz0?)+1{k}7NM<$0chb_ z!DxwlPmQ{H@HGZpT|?_&k#`18A^^4RlGu<;YbmpR~V*ho26=lgd?fC|C|H!ECDZhXl6?ki5(`gf^WS zO|lh43A2gvF4%a=|GxGXDlj;0YWJ1|MSd}m`}I&Ew>qOaNq3O!_?7F6(z0=;P0Jy( z!4_KpJ5^Ckhf0ZX7J=!0$>5y+R=QxhsjvpLv0}fHSy`8&=r?YjjS%ts9zO3@Mgx{- zb3D#y2$U34m5s|Cgp1iu_e|8*rjjoq>acw~$l3kn!kB+F<&T`enjtp0*wIG}RGV&Y zri~ABx>qz#>A0nzTiAj|vZP&r$Vz*q76#zMcV}MA;k-vS9_cI+FmI^S)H>J?jI!QU z3&;XQ&_99eiM|3iC=v>G9H6jhJp$nsgcB6HYQV*^G$_fa#PMxS@3QyKcTbj6h13P+ zrOB$kP{bIfVh4~bb@G#K99&MLdGH5ipfTzhmodb))*ILtPZR%KXSnBU0jJJSqyVH; z;7?tH&`MBM$><~#?3B`sUa%JGIwGIQhe=pZsl0Vg_hV?6HJ#M-yXg1|ebR72aEocM zaqKj}(MIdMofxg^W{%n;LETGW-AK+IA9TyZbn}d~k>^B@yPNRa^Q?`7d!b2hR80n} z$s_;_pze+V6h*KmO!mG)?>zy~U_mDU6wK5s)S>A5a~Gk+)s$~9vTCl0 zea&yOs855?fgEN`zaFoY4#NAeQjPz`%pWQ)=4YF{2;+V#IOl>>_`YkZ3Kc1ceZeL* z)#-TAlMlTv5&?ypFS;+`$-ojRgv^Mw+P);&5RI$Dr752Cl;9&TnYNb2gmK8jUKZ!I zX?jNG*6xgA$)DeR7b{3K0Gy$h=k=EzFDtdn^d|^Fi&DK2HoBzk8S6(N0Q&pUj&*wu zb=kCgbSgQhISQwx#KwArjRM!ib zt&em?W;AxH8NA%DN`Ph+$?lZItoR0xks`A*iZLczB3!W#-ohBh-X#Kzj|J?B39$ON zHuHd$qepoM6!z&#ljGY!ZK-8$n1QOSe7lUzyV#CJ^-qk@x7~RxmFt@-yo#&m`PtU9Uho6SROEQlJZ#&yxoIpy zhTap}C;G)SF!KGihw+akPf$hJiS$EH6|W}4qF8&12WK?qQvl>i^k4Cs?7_0`W)2nb z#(GJW2h(v$k`4Q*4$lnLYe;{2%YGxn5jk5{GF`dbXULVMmI5bW+DNCs^_|XXx8Weq zTt`MhmEx<$}n(1{Ut?K0`}dGEG7q}P98W`fYG?FX`#!pdW978-+%26!_$7& z;o~}H4qY;miq0JP^iSSNlwBgXQ7v6fCmB|4NOehy>w~0_Jvy8VYwjNeS5=1G<;m!n zKHzh6TWW?E_@*Cm*7S-K=|XE{jP!8aj>=6KAUYxlJGx>m?{FOHr{2WR5p-OIMENQ< zd1gAGAhW)>z zD1Phk>LpNg-kFFF?^C>>@L;8V6an_Zs8NM9+|@smekq*uu$^EqiSsyuICss)33-~jPXtjx4h1m1Gz2dT-R%gKvU&UpipyTX5|MuMOhg0 zdQ^{Jp zv&7){)8Y!t2>a-)_H5h# z+FF)`*|t%dtLG#Xm?ewQhNCtIV(E+TBp1%VIRxqgt*2_9qpgm9B<~UU=O9DRc7i|| ziL7L>9Sx>HS~JF|ZRV@(1|J|&3d=LFqeh;r6guWyB}h$=o_`5*tt z(Iw80XighD^yOm5K_bF}(6d z)&h?t;w$}W1HRJmwPNK{RDi!z#LfN;-}PplM)7AGZd>S*k%glE%0GOQ2ezS5;~=@0 zm(YO^5Ae4(xjk!|QVgNRK*|dqSe;crA)r7qtMf8{G$!G#oYNnGIQ26DdW6^W$d~oM zW+Ba!?$v9sFU)VRD$<6twJd}rRw_3^&INHQJ)b0)dX5ywCr*vSrYo$6UEw8O@IFNrdcO^ zn3v2PC!=XX_8E6VclPC8QZ~_1Q$GT0`~jFl2D2**(}XXX$n}e3QXi2AB7RzC16qNi zmWpLa`XpyJdYRE8+nj<_F)h6~L758E$~!ZNbnXlnQDx04OEyS03FPTYkcgy4s3My+ zO@9})lGW|1cj-DxEc}1r|9R-3uiD>GeYj2z8N7X~acJBwZY#S9vX@8B$i(hiVQ|NI ztjd`!_e&}R8FiqV1E+*0%#Ee7=y3959USXX`^c)0)UIf;OSrEwk(mGzM+11bkt-hD zjU#HM;XtWy=;)kz8&_?XL=x zx<|R=*O7Km+7(o2y9nZAQ?m{R)6EAq+f{5Ls=CDDk5M+2GC7+QG6ZtzMPyG$5P)?! z9~L=Nu>>}B>S_)YKatdBDtAys_JvmBAxD$dk1lMT)CR#dy%oVU)Ae5^@QOK6GNlH1 z20YP}St+x`t36opioF+uDZzLN`#pwX(oC~^ax4tDf?)+-@+8tyDUj`#p};z;3|JG$ z^dr7wsqlTCLQXjL#sxvXBI;Y3>59((M3#iEdv-qLQBVR~Kg zN>B0*|E4i|>y=?HEy1#DTkY<7dkH00a<_qi7WeTI_Yvebt$5Xqm5={vJiHr65MmV_er zN0FqVm&&1-rTQ|%Ow6(ovQN8DKGCfD527lXTJS}3~)B$-$NJ1crx&_r9(|2YTit!p1e>)(gR1nqxq&AcA0D?5Pu01GX&VwmMe(6aa*VM`MGICuh?MjufP<*{;DANO8N!*zcxt zN*}eD?juDn!j6%o9v{yCXr{<0*ME5Za+ z3y@UmK%**)XzVdW3xwmBVt0X?vxdjhcbQ9PQ~1zv)*Ufqs}82Skvr*YZO;F3Pw5mB zUjw2qee+4~Kem9?FV$zkH~}(=0>kHwXIq@!yt5+`zMmC&t}sYR^)iRV!&XbzOg6 zxCbKIVf2DN^TeqWtn#E{)3>(K`o;?C($Q|jAR_2ZyZ$OkFi@>O(L>vxxAt!pW_*LZ zV*c@5JU^P-ec%`CIZcX_1|>cSQNQUBFxKvY1I5vI`0B63gmg@Sv=$OF-hcY-dO8bxyqm|q7Ek-eH1pN%i zy!7K_k@KOz4E-E0#cQEAFakRt=#pq-*^|q-Pg`=8mR_jPH5GMHRo`S>3hW<80TMve5-4P7AgC2s3?XLz!|Dyq?|xk#Ywnz#62by(bVdI5T@A7`D&_ zCSwAB=y%a~CoFwu&-i`O?HHT_wmKJ*PW`lZ3zu<)gi6M+@l;nu^_XfjVeU}z z5cJQLFWW2OOZIo*DJxHg=-oC0Sv|9P_R zPv#nrvvL@*()-ez!ss!}&TftjEYpDK?kUSkNnrK=v@dwmZkkQ)n{bV>cAPN3a<}RU zRo{91ZD-;xf7{tKQDC9oTkyG$A3EU0oNYxt1;i{Ij)y6x$Cm&Vc(3o@z6kv6a~&?@ z?DK_rA*Xvr%R^E10}=`q+^p(u0Nf5o)fE=pNm8dspN-I> ze}|efRHjntivgf0a&e)5oebGNj|X8S+@#19SO)FB`qQ5xxkkH3Ik=|x0s%o4GpfJZ zOAz*0ADDQ~v4<$;oImU+??hH072gTst$?3L0%&Mn51!FaL+<+DKaN(veGH&1G`xxk z1&G1tXhMx##|zi8g?${Uj%%Nzo|1mX0&$Z~@H_vEz47BK6?^A4ZYz^i+WGZ{^X8>h zP*;X?m-195V*~aHo_|bzYE8+&6Z$TUcz<|u-;wocf?ElX$^gIJmi6Z6ggtV4EDsfDCKkA*ez04vjZi!{!@mQp4^OI-V zW7YSnzi?E8$WB*n5}CGPip}WtZS5VTYVM5q%II}yZH;b{M}Rcd?pANg+0eb+{|Sq2 zso~C*R5)Vy|4x1wcUpE9%8$ZYh|Q;N+}{X=9Lmi1YY22TRKSLcD=2qb!%o{w=~Of9 z=)Hg;L)%YB?&8{V@9k^+`#|JXT00Xn#+GEa^}@R!NAgi(cQf6y)|8JpY7`Fq2G1GB zI`}=qOe*!STB3>5&*QkY%K{WwqU=1@5U3S5R^6WVLh2Srd-L9PadMI7WkEP-I&%hD zP1KE8&-{MylRcH=tV7C7r202zNo&o*o{#8MdA9LCYE%~@5pw@ZmG};a30N>Uuz#=4 zVX=vMd2Iq6RDfQ)O~!;whGX+jbbxoB-M<_c<-tYy9-8C2rKH`+wX&uB; z@F@hvUQv(8>X(ept|Ghb{ zyT{qnCc}xB4sDq^pUE+x$6JNe?;BCKEflvHPIv{+pw8S2RkoLMz}^8|5aqG|jq~+E z8FZwJD|lG1@u}tbhX7_rp?RaYa%Dq5+9V~HUbQT;**VYPJm9La4H7?s-b0k)8*voT_-g_G9h@7kT@fr;iQ5NB1SX*@_EvUm&{-+28&ja405*A zHH&Gn!ZKqDw7|7nQO(E(zOiIt>6kw@1mz&IeDtx5=2{zbnD$$O`99*Hc8UK={5uK_ zkq!K5;UkISh<8?slIP4TCh`qX)DE@OEgp~71Hi~*VV1&ekF;qKRBaZ7E>y73$C%jQ zXe85087x;1{ALnPA;?=5xEqZSJL0(W-(jW$sH@xxKt3RGWWR1FX(r=77P7Nug`=L2 zyemBEpWmAq#!g(G*Br^!ok#ZvO6qG!o`w1he1c@pQ@@c~e5Oge99w%_tD#ZOW=#!| zJT)M;Z8|l*CGG)F85ntT4q2uh)s7N1TufHW&%dN3NAO<}$zsJs-! zDQ0I`zoWK5BTM(?nB#|*q|Jm zyt8-Xs&!`9Ki)Ig|Yo-_;~zmr(V zF+jZrnSI^>aH?YTV0e<3PLLlC1%#M@!E^o0+C%%S(XC)6NOO!5P$MyxqbQ8=hDwmL z5^MqSCdL>aXhasw&@2h%f7)>-*O))`r}BHo#*Trf6&G06lY}~;AC#^~5rE0rRKp0e zCSui7{LZfwGh9ueE>B#@{3`9Dx+ru$Z5jed1gsh*@o0;AG~oQ}*LPkftOPHR+h6pu zj7K(V+FY$X_|a9P$w+{WugIMqwg*DKo>L8+DU5y#?x7N;sRoTa>6G-fH6#D;%U#;9 z2<0KMT+%G;&NZ|Z0_Qq0@q|D>RRF70W%qfWSwdkaFoXAVS9>{yVoS@BK2oczL ziUc1E%-1OKD&jRHtUi13_xJhZ=ywhlY7KWB(C$ zCO2fLk%icG3(%a@Y%)hp!D!|g)4y1l<0 zB5l#bWNSE4$|nE&z-khM3cFP-c)0~_13;k0Z@Vqe^)YApp2Kg@OZir`r#Hb&@s#<0@KBmf3~xx`iOPO_R~2nXTs9@Z4b5NaP+ZPZK6 zg?g{cs^6oil&G>Tk(eTFRo4@aFvZ1cfPW+N#7L|qiRYT-6d~VoU`zvWrJ?>{8Y1Xd z&Z$sO<7!?gnIQEl^8(+$RcDYi2?Xxg(ei36E``))BpUO!;yPW6Og>=RNxf7NHE1;cP2$hCy2IX^&!9^9M<3 z(GuKJ6k=THg#Yl$+^l;H>Ub%t1zzj`LG)qKdQ-6>y`m8Z9Nq1az|YeEeCc$4SB$N9 z$tk7lR<2`;y3f42^ku@0Zm$tX`mS_-1N_TN>oy|4+o)$3F#tx=1Ua1^}+z|EDPhegs;_l6;?(5=yrHS-Q zfcF+h`YfqjD7%3PM>Bq?Tlgpv0%Xr_Tf1+A*jV%4iED>Yp>!PC=x2SW+R00 zH7mztZ`~U+GT z(l%}SR-knRgafk;aKzOaAE%}UdXB2z$W4UTV1UBe(V9r4TL~7pM-gT6&Md;a52(p! z_Z2I2$e>y>WTrxHyT<%Ih&_3YH>;6s($X3l=>{|SWM$Geom|-DsEE6h<2CCqWa}hf zAdJ(7rG+TOT_w3z)M=>aYS#+OvkQGVcB}MSd%ANhzyC*UwGsQcDzM5+rsm-piGoT5 zbnSw$zQ|xhPGyPdiu~*L(w_jBraZ4Cv_QWSG|gf4MLi?9*274k>|>#3X8c- zephDdMZNICk&6Zc5wsU)CuVD0 zhc2ZE;=tvio%JMyYApChK{34$&)I);{V2cd!yzOg$?qB*NY2?Fdi9ljTNACV1Mlu3 zR0Dx|i`D(6)blJ(y@64l7~`Dkj_&X2TvV(~d9w{kt3s~ci_M!gGc#K?P==G?aY-ej zxP{|mB=9Fd3Z4od-eO*sIj^U9h||(gA{S<{J-IO#{T`?nDlFC<=9R{wQ~YLw8c~AMoA#U4+hnikwLS#t1+( z74yXj)Iop3CjHSBEF;b7u6jNcD+N2j8e*4f{Q;@JnjNv36lRLN;8#5|e_? zXv$W|kXpGmxM~Hz$zNP=SWU5SdXD!5U!iWXqdXL~97q2MMn`Vixnu5do=mX0S#Ij* zu^tS#tjwqPdaE3X&gy2poVv42R&_f<@0)L^eT z#XyX`aE!F&^_s~)rzv|O`cc?Rd=Sx}AV1euK4GqPZmCMVTruEN{7NvcsPk-VzFn|t z*f$`@Z!@U+adRLIsJ-R(I#Nh{Fg!0tMa4i}-3D4Ah6rJ32 z)U!{d;eM>%06W7CG*<3D;AsTe=d&1Uc_5fzNejYOc+gFkj%oz|j+9G|8NyZht*JPA zs}R`+TJ(ipznoicZ43@EhT@^c^KP?E4#%Y^slSev4nsFYUF9=wToeY)FiViREt~A^ zDqyX~AtO={4(rItAkSi{i|56c*B8r{hV75;jU6tuylrL3p7Ob?5wk*)M;DD<@n=K1 z*fX#p1wE(tTR&4Yn3%#^7>O+W9%KOVS3A_!RCq)=^aOqDJf`&5bPcXa?)~qLRjOdA z8wszfGtx3T4l4+y(~t8|rsjChwQY2|YX!H1{9T9X0F5VbmseIdul`_#G9#+wF5n-& z<8iX)Y2U%oLT=p@%Sg)JH0SL9H28iOPHQ?KQm-#jFqDrDTrI`+-&`h)<_eSpxgfij zuUT!YjJF=o)b1#t>^$4nIDC`+A^~w@GIQ}|SnuS+u`Q7KbzPYc-(7l{U<^c3=H0ht zO-3JRTtur>bTWY1eg+mD3;ZlL^!TlQH%9`Dc&x`Jh_qkk9J6hZ20>nH>!pM!Hj_-dI#-lc-{_bP5XZX5EZ|=izZ;wvAL$O67`c0xsp1`B3FcgX z8ih}qozL8;e8EMdex;u-)mz{f4O*=6z|D4-^^+?zB#Jm+s3A>XRIIR3p3Ba$fo3ij z48i6E9UcfopfgjB&NZw*sZLk0sE6G8s^h{KI1{-@b_V!xw4g6c$}w*sdDI)F&Dz&vKc#)v5KJI`yQ(*Tm$@|0tL=H@UbRV2D z3!_8UO@;6T_wZfs`H!7e5j4cBeAx597Y1m-IFL16k}>c?H~0Il@nk#|(aZY>lrVPg zMT%KA+$N~N4Y6&wjIaD!UAYMuMs)KPxC~=Lj3JBr^tIR*^Zd%CN*BHgV;L_|LZDvr zojCmyA?k>9i*Vht&{k=+RPR;Rw3BQ&t`_0?>jWKHOS-rb$R8l>g=yj=z@jBI#TGh! zME*i~-e$$@&8)vt!~iCG9^kM|0O`CVHaS)NfA`BN7%FFmx++(MHtG6_OCk(qZQ~zs zMQv~xdL}027Kr}8`SI8m+FBXEmR}xK=gC>A?2Yfdp@rV3+1(eK39v6~$X?Yj9f*P| zf)|WPMf>M{*08Ch-pO_nnPiPCVI#ypHaco&l#g1@=~v>~D&-zmvLwy=BsrG}TETKU zL>V4(wJj!+W7Ng;3R;0eTS~y3&|F8t*4htvP!$4qAh!t1U}?$A$&C44Nb)0URb7hR zcSyDepA9m7L|b6N`kz=;+(`&XPvX=)PQnWhck?lfnX2~4^JA6H+D;WrHV8Cz6OkEGcIz#95^)! znk9>*o)S(p8$^U7ysQk9E&_Ri9xXW}xebb2xr_22Z{PR8I-@kBbKXs~uQ_17Dn!H^ zco~LNh+|!urM0aO8OpCUjh|$d5kT>?@k7G>C#_hqbjEF(xPzIrtCA_MmG~cDp?}U- zj6QQuCUpnvs~jPQ2Wb~Jf!nZbz04KSNyWN()Xx{~qZfBqzgy7W$kSx%D}=o{t?gI% zwk!Igk|ocq+scJ6!5rT|Z$oBlLs2K|B{rBb=Fim?lH?lLyW9z&TGm#Q$pf}y9%_SV znsCX7UW||#4UBm6+zbCXb#_=ZUQoAdkqm|npM)K5{&>8{5)I&1D1Z!%oo-x$rMPXf zRTw%-dF_7fL$J28ZxS!bd-&ocZ`6eWKO#teUzhtItG9`R_P*Q1Vz;?j_|)e3CH_fF zIsxhEF9@dA#%4o`ueu5y7E<1fJ*uOnSiE+U4IOXrBPI33uaLpYY*s2}RGGgcL?NS* zkH&-~Z$xwQzz(L0oVO28I&c^zK4~5b66N5)1ABjOHT|P@O7%=z{0>(5*;SsoTyg9N zG+(dM`Jqz+3#rASoy%CmwBUrCe6k%&J4FsOd5>0&FK^XDv*0Uwj)qR`w9-Kg7^#UN)f+ zY7S{uUu1%Jp~}+o0ODNk`-=Si!~ZZmUqXPC|1ztffUn?SG@%|bKeAwX0j%UX9<;F7 zYeGVE8R03vU54wL)+ahs1#^$}zDAca1n{@+N#r{CEpTXREROEm!i;S#KZ%M@xc(1q z*Jqfo@hnX?Bwl-UW{WD<06)IUP_Kob^2UZ4&BPIKg&#B1#^HE&nwieTy> zdbo((#MVT6o1OO`G`A__bJA_-p+}hF45P(yQEIXJL}_o~ZAz&j6~UT;E)-JzfbRCo zZOsN%WpLa1tXeF9<8iTks%I+ z%%at;xvc)w5|pL`$oIEHUSSOU_bz?)a~4ozL?D&QHU%r%mY76rQ+sTJqkK1bre&eP z5zug?m7OJtup{YU=wdxEjyg(JT zg*geQZ93$#BD7l$=)5U-o)>%d+8*w#F;RU4p*>1Tjf*t*o-@yfRJV7!=$L`Oo+n&r20jJfmY zDuZuI(>(>%V?Ii+{2&LEguX-RCUBIgGiCO6Ho)RtonqI#FtLM&O;8#9!%!TgE2yU#;Y~J!zm6nyX zUAI4Tk1VYwSEufWssl9FFzpQiPsxv`7MLv6bER|u!h;bsXyp_oN$=MeaAL`Z9eG`} zHX7X&>;CfQvquzqSvp3)5unuldwR2P^xY%9X)akM1on zidDIF=HdGX#Ercb&`LmgwzA)U{U_;kaxJlV}ZC!e`;RaeYRg%*YpVI5rA zZ6MdOo~Hj}R5)nlu>Zilp?@=5?327z&j?K;xk2x^9NEs7{k{(|w^%Tl-Ij^Ve|%f% zwgjG(C$)$QDM}0z~F>zS@n;p6EdR@i-8tDGz zQSo5t-k6;KBt8zEh0lqo&%@hHT(0@{1+Ql95_Fh**tKq{cn`V5jOBAC{|0Uq6zfz> z)1rVzVQE+8Pka`~SlODLowoI%nS>awb3M z=+ajMSuc=Jl{x}HKWwa~{&sp)0!$?dWgv4V#%;A7&H89R){Af1st@7)QYcE!EB_ZOiOf?Y`emBjytt~duO5CX^Yex!?|>Sgs2My$zyCNK(0nM@(?JLgJql-JO?^ zFV(27pgbedKZ^S=4*141YBWRL5?pj8)bAo7G=;6r#0t9z>KlDOXF`<(*u~!c-5(&R zr*L=?D2Ic@g#|yK9Oy5Lokp2Qy5d0j&3?b<`(^dj^-&Pv$@aNzy=-mHXKd+d{DHzf z30jZ9HfPJiDhp`I0zpe#k&!g{yWFitja{{WuT=x|%3tHYU`Lb#BO{ydjR>b^FQ3$Y z+_KKFOV!o=X(=AA+9<_OSRpJx^`1=Oytq(C&4DPE%_9}4-Rj&!1_#<8QllWI9##!+ z^=qq){j51-c;}v{%1)QM?6G>B0z*T2DN#>DrVQis;{TMX6JUfWZ|dhM2;b`RP022>P{vIJ7QEI-mqdJ<4U(5BI3l(=j@Npo>>SpsZHJL|iKKbYfoH69$cje*%OcFAmB7+LDsFyzaB88}wt%7k-c^aP-uqBtBWa`U3{0bbL zwt%jX@09*J;;+;J7g8rC@K40au3t;9=e`&gztlZGAGO!Eoat{q=`yDZ_259kcnW|@ z*!qo!N9?uxbiiNI)Po(i;w@r=~bjYRB2Jw5O@5_mna3nd?v&0;d#Cda>VVdxEXydjT$ z6uOq!2O?7*CQMT6ps!WCwPbLW4l5LO!T8P19KcJ3tJNF9o2(>2AF1eNmMO+@&V+x= z$(5zhE#Q(y4aJ$%wI^>BONCz>keMR@2oswNt#BxW*8Gm@*u*RQiZ_!>e`_&$f*6dv zunS~Z$5nQ>acrB95L7Dz}jj+z|6W^Z%C4Tr18V>Si}N}_KG?`HXn0}c;{8`p}Gdj}HXaiJUSk_>Q8?vS^~;t7vy|l10$Kzoy!sv=RpX$e3|0wO^A5y?ZY5vn>NK{;#?R$xL14wN;yxL;sTXoE&q>w zN8&xxsXUb?W&561lgh#wt2DVzRGdok6ObcTw$b=N*LYb&DAV7gN!&Ipc~l?B(2cO> zp&VaMjqu0rQh0U|zeIXT7M1!=&am;(#fQ)??-rW(<3Y z=5o=S7#)bRux=OxUP~2gzebaO%h9)l1X8k8rIguu<2uM+G%zdi^n@Dq6xwgx{#A5c zu0b#76tP(CQQyq7U$~5$OK0`j9C@92f7KfIo0(+*l6uBKBX#mjrgYknsn@IdJrw~} z0Tqj!qi|4<8ftXGO&@0~us(VLAyj;Dau||d7*Y*s@My@iKLGB|QYn*(>4skAq3 z!ei-`fe63sEKs=j`i%&3DL&|D7q}nZsT6cCk4`RFzitR5hdwU`3e#=BQK>S!T!EgA z2YrI#!NihG4r4ZZ7-6WlgprnGPwWtaXyXUR(+5DHcV>~nT^80L~Y~G+1(P3kfkaJ=)V!L)*<0-3ARkRWl*RC#6lWyQPUw-%bes> zZ4-ZYgy>eCd=0ZjLNi{vKBU!%gcaKByK-6E{s=| zv!+F<&3GJhE|~%FF@cHgRTwmVHt9WtzylUFx=MoKKlVJdwDp^Gny#p=^Io$8wG~zO z|EfvE`7TzO(h;x@K`E`S`oG4)x$7IT4P+{+d36t#I_jDG0H@J6&${3Yj-~%3eK;QV z6QZxPHxq3@4L?3FO)wyM#tP3LP|1ZtYW|`fs4vbs_7r4LAA43o%iOyWn4_J%SnoMJ z5rkGIm84LsXuOWqbiK?a;STP&dXUHgQa1=WHn4WZ3{oSupx4ZJzzwBZ2?C!RM`nKK zG9CVq8s`p9qpm@FI<4r85WO0gUw07>z2?jTlN*=rbp#|8ibU^k7@W#F_mvz@4)bf} zf>C9acA(K@@Rkh$01e9L_ip8rVS6QIt>KWm_Wev;^+Ip&(uNp_x%GvjeLcgO`Nf)m z(NJd5VY9E~oW_`p9wIUlZ6R5&S}k|;O8s1i=|qyw1I$35BS1Y5*|UOR!MOoPD4qRe z)5C*m?$Pvuv^3gbj5}jOqNKT)YX1lQN>HZm02$mwSYFi!Ao>7@Vk?jrx)SY>SXO@` zc&D2vW#%uKIJbmu4`p#?m8ayN0t(5J>H&pw*E9}Op<;ejqQJ=|8q(Bc(S_mbpYwy0 zX*L^_5Lf^zju9f!fvuM0<5@5PfzFSAbEpbSCX<9U;|N$~@DG(P+BY(+M5`MwibPOd zLZD@%P?HxPg91t_$OQ;@cB-xoPZJ`tfN3Q|3n!kj(MY_~ovWo(OJfHEkqiszq;a+zG|;WPd(f@Vr_1yGB)canmBUT_@wK5!O}Om0!Bc=oC4&h(!&%lyl0~!728! zg5i4V^zj6FikNy8eAUsEw=5pMc{V*?M^;^;K5A1nUeeV3iJFfck%viiMF`i@?sl)B z_WQ;lF=2&6igv@Ybc3jiaUR~ykPgR7HWHK^=MhoFm>0}MW>NAtSYytkPEreT#84lY zib|5w=ye|;g>l~iFAcOo_Fh&e^jE)p%?V97a#5)2ym*U{mZ^4+*jwR@+#+%f4qCDi zC8CU?c{fL5Kms(??K{SIF+u%9YO%OZ=Xu-fIIQV#$Yiq^X*c_S2+T^q3j& z$D-{!0BE4!fv$#p&(l93JEb^z0BQx`m}Na7<8bGvID@hkc0-3x4t%!Hh0D;yOR5ng zfxa)4ZBlBRM%fpB2)Wn_M+03Q<3Ly4^@XrDI;|7MF<;ci!>47Mku{C^>sRJt>eTbm z>dQ_=z_Af$XsNEhBX3|=0GscD;(t$u#0;RGTfP7T#Q7_+-{?9b$ZD($>#$w}jt)(L zx@n2qIj!TfNx(H;A|2f0ZT;DQD&kVqUxEtM!g6MD4?F}%fnfWGE3s) zPMY8k*!C^+$UQ@^Y&x%$U~n9CHdD@(1egxkm4Tjq%ZzWJ<&SX2OXE;^Ta^Z^lqoPZ zrl2i=>fBGXS4S8Y#@x~OoA1@(+_4*(mX{tZ==<@m$WGSaWB5K!$7K&TnmOt}HP8f6_GpT;YG>=)zg zKg=Z5A*es%*=~+^OM*wZ^wz!RIxG6N4}a3v1;>WIzl#<(y71^Zb-tc=qg+ z26KWixm&CZb)g0-QS;;AW#U5KUF0__l#M{JVG(R5gp>Ico`Xue6<`F;eI31u(yA?y z;JV%=91>(BexlT{!=7X5c{q?l56t7NY#7rv2Z2k`uZUG)J(|*1C&_ilJZHI8^n` zumC>B8{l!X;^Zo1=-CG}n75?UTE8^aIsO3!H6X1$rlVD)NwE08H$_N4Ls_yuEdw|1q9*IWB!2$d6=Ybtv*YQgJK8Y zK3^i`YQ=*G* z8*7{HOiRMq>z()ag;`0wiX#0*f>V|X#s2z*5)RfPx;2pA9-lOQhPkcJYqfvS_MA($ z={8lB$o^lMR%R8AT= zL{{eq!0*JbO)>qzWO`m>7!YeqZRY_K9CNx==qFJQ#(%8vpyD-lCK~XEEvV_BU5l2FN(YmLR9Da2?y0>0y0U&pl z{T)S{nAGoK{3e?uFqTChdNUxW@9`;h$K(LE&Sk^0oMS|94sm%M%COCFS?)m&zvV|# zJy+K|KodCaBMRV@!5~uuRO#txKq|7EXWA-%Dk1-J*KN7l3b+h5L%ch1>kz}-pr{CB z;0pz>JmByG$zmbG&7$F27#pP7%#&+&Azt}>SjIV3a!5aVLV4WWKDM#d_G-Rn%Nk9M zp6eqyBNA9Wk@PYr5bx5T#SyO#9dgR;PsVy=H(?(V)UfhUe1HJ| z=)ySLa}ncbrg%eA=IeZzJi*uhd6fFiIT?s09uZZM@pQE458TM)2mSBb(&XY>>`T)t@K;9AJ$#jM!e)qUrsLBf454j| zbo>IcE_iGi48qVItr+^!`3VLf}Swr}o!(m~!9va?y69v+EaJ z@FA?`4N|q6nyW9Y%i)h&*C+>NH0rlj6{1v4d z9{mp=H(Iv!ho}j{nFzD`0)I+Gt)c%min0@CT=}QC){gV0N8@oeipdb!rs?9`rfjZu z+q^=({QW5n)>Sn}4p(83izrB6hU3T>Z{a5xaIC|uA?liFL1#qbn-N$z{BM03`R}sh zoG^(uI_7vqB)qkJJcY7IFyW!WY^oReBBRz_Cmv*fuil%YWT?Mh!f#lnZ|i`q+agwe z?acr#bTh!MLQ%5fjNGZ}jMEi84(7Gu}KZ5iSH>47&RD!pHm zlZu>m3B+clS;68sllEj)RpX7N1aPX zF)XSHA^jee__^q_`JbX_%yzQglf@ULT){hy2|&eptG+LS$x~=B^lXR~@5f-Eq+QMc z76*IVCj&H&PJ;kOR?5)D$M$Rt@e)(1O!*)6TmCzz?%~v%7FZUjN`qq_5_)=}!v-w@ zdL8miK!oj@sW6OO4a3-`o7R;R3?*l(?dmKhoQe-jRqpNf7adZ7880`bNyM)RKo1Jf>1 zYF~C31T{e0yo5N(@X{w1kvQJ*%cK)$CYa&X-EIki0@wB_HEC4VP%*EbYO>KUKAr~B ztLTcmQ<)G=zim)?i071H$Rj63f*LF12F~gRsrms53ZKHGNfdX*pEiw=T9{V#3V8gs zB!<&YPW$LbPWMKcl@@kbK(g}1vKc|VX@CskCv|{W?IHSD`NO>cA`>U|rSOPP%{%jC zgZmrJ<3#3}Wqyqe)&O@?$=r{VKs5(R7VwMbj_CUhd6^0@yK#SqxO zYJm?cn9!l)S?y-1VM+yzc)7uWiy%L{LYr)LSUg)!FtPk8dWjsA2Clc3YeQ8m1_r)h zP13Ie@N2hg9{bZ|XeFs-c#*L+RDq|@3Z!ovAUF*w4N)<~{ySBjyJuN4#$f98hcMUj zN%n1U%G^wpoGO7ldGyiSH;51Qv_S8t!XgAUcPtZ_8p?78%yex%;bkKy2qJTom3+5v zYla>J;|awmtKv8uw{#(b3%4wHdUZ1Fc>>>RC6~VtVn12lN)d-iaFb7hj$?9z$tYfm z1S`@Sab%u`CkkM0tnHL-KOiuxDTLx=NVUkPb^*uY0aEEXp<6cHlMAOq=oLzvsaPN^ zy6Qj%-PQhVq+i4;2jwalk>zdniK>>3fbk}GMm~Qo4Zn{^2C$;jWrt}L_N~MH)D!`| zfMxRAnAPFxM%IK#!Y154Vl}yszqh1a>=9-ZII+kLTEF3M&u{JS6o%oyN76za(zSuH zk8I@`9eoLq#3ZqlcsaaF^8Nh)WfA8&x9>sz3cLBya;$MC6c0aNpdlv0#o*-w8QvdC zC(z1d1bS0E?)EUnFT)7NjZ1kf0TD&HRg{3vlY(?Q+t}@QeyvAfrVQSXO3sQhvw>_3 z>-)2b`NMg`D~`OK-J(eFH4B*hFNk1CzF~xE+s9PJvk%|DIFwD?Hm^u8uSS@FAUMj- ze+s$5mNt5g+{*GHwFFzaN|W6&;1T%TjC@87&Y*7Mh>NT1^R0=nHs^ECc_!(VS$eP5 zN)P{tz6YP&4Ynq^!bNA0ZB1;Rx7F{Hr4}I<6#cSFy*Va$q0v;|>wIiliE*)wzCNzj z5Sc|`PrqNb3uu$)TfBUcDkSSHN6CN+FMQ?~N!4V#9xOf-x7PWVr8!oBi7p7*)lX4; z1QNGu`-r+ox;}m$>l<#$U}%N`LCfNCe+N95g#uq%?-t%{n)Y|)0s{q*6_w4evi;a5 zgc#vyhl5RiXly=D8lXX+7`{4s1a8rvN9*r3z99s-nU~#8<2=_~;RLpJ(b%r(uL)E4 z;xNc_t|lgWC5&klKT_T`Pl{x_>UyO((cS4Hw|P;`PNeFI7V4A;n(r=KG-DgJvIX8Y zNuuwqo6x67^L^ltR*K1{A|NG?xX`BOB5!tQ#OiTOfagVl>AaRWr_28u6 zjTr7#An!Th4B%o1vmkbaBYZ`vJ;dd)>8b=K1Y2Kxk^bABzJEdar~RUH!+N=@L;Zt6 zTLp#Z2+OI5v7o~OUUp`aj zk9WH(#TreEeqg}fug_fP!myf+Wc63a`L;^=^}jWr5wkYv4|-~Jj+b1R zv{qs|ID?wQ!bz>e2j$liCrr4W$U@SSUy!bMgf%`a%|D=*efFIL@L&|=N@`XHdVpmP zM_X<+$7s)HZ!NJZ_VbOT*Sc_0H`zhpp_rog@bbHe&&oWpyBK;cvjb?{w2*&NcbwS& z4O$>ng_Wla3sK}GSDugt*v7iYA4K;ZaO%P3wydsysMIVue|VPgBYwTV zMla!?7yK>w7Bi@V1ePs(+ANM2tHCH~T7|?cj%SbU$edn6BL#&-O&%xBW9pudK`l|U zO+^&UYyI>_CGIt4eBTBFf*~pJX@PxUSl|IT^=ubrtxSo9MXbt;4%}rML*_(z2F#Ca zjpKgJpf8YKC{JM0@HYudV!IaZL3$9=-RtA2rSw{O64E)(5d=Zzhe~tN!UO+KL`ae| zv?Jrop3~;6uP$awF+6H(p{sEJEZM);jqmcN!#nKU z!COdVDfx)@zN~1{9dHK8b@Yb)478`2#C9ox+WVY(Z$}^G&_+ks1V`&$QvO&d+dFCL z<|3FBmWD%V`4FJDx8`qTXsO99uoeL(pe;u79*2GsM&oljV#dLd{L^yVs~%(&R+~A9 znoaUE56%Firn=*FcQh+fB~Z%$+Pw+(N$jVJs~3;uZT?pg5anXmfL@Pdiqb0oz@YjE zx-2zX!H(EBehO&tF0BCPm`M_UH7gBP~kf zEil7Cm{KPK?I@%$70rb_a>|Ebu$xjX>Sh47!(dIq1hak!DE7=!S-dWwpfd#LY-hb& zy5TL@#{g5XhP}juHWFzgXz;f9whQ|xHlm?&WMF->Y zWamD6sF&vl>bg#fY_D%95~D3lmP%S9!hy?XVKFp$RWo2-^3}JVgnun-8Y#+sQJ7dB z26_bbDG7Cu^9E^FL!#4;7r|gG_@u{PF%qvXiBaS5yIK%@pIl|-l{Rw**x>`N#I%s= zP1)4Q6QosS2?5_j#3(W#rgzP4?v79w3wQKBgFbB0srT(av$;)I_IR(?nOOf|^%tI6 z)nlJlLxE&iq#u$AdOKl#uOK7#d2f1wYIe8UjUd!j6)a^^V5htsU5x7ezvE?j_)f2wAE{!mCWVx-)j+F+fR~ZYkfd3s17sj*Mw=FM zlCH0=#QcqGc5}d@@0WMkjtnc-cfRNw8!9(m<1>^UPYGRWiFIe5SPwSwH9r5@fG;2* zRbz__Tx?Dz8-;8qFL3yw1&;T0W9@6XjxPdI+%c+v7xs8nzN{l&TW!Awb4SpiU;JI# zD+}cITv>t9NaJ@mx?dsY2|o64;kh_Q)udkexdWYB=@G5f-G4UH&-$}s>MDFN}s!-7O@SW#eK4)ORL_Da4DEA6yY(4E=Q9Ciq@$y?U{T|mi*lvLI}m-g__EdA*y_7k z>)HjHuMC_^5raz_kyPN%0;1|aksd<#i&PSjuoV6MZUePqlC*!B4ykH%sl{-73z7hE zCO<#^c;+(7_y%~`R3C;Yxqmit`vay+${HbV?=sP}$Ikvp<5GhZEsw~=Zw;j!BQqg~ zM;)K&jj(sB?n}-Ani3Q4=|Rb-0>a?(f~3l~qj^8^Bp1EEM&6889r1~ih-*xsH-j1Z z0EP79D`*~?kd@f&AK@5;AOMbq#U2j;sO1TD@Lt248|(<(^jzfpY*Ow#io0@Cx3QIZ z7CI$Ihv0$(F6l5!5-lA7aE^o1?lZV6+B%m0^#U;I76bb*l7@cHLJ1AC86UqzS)LaX zsKz8_^H^qgmhIGFn5=GBT*wsp6Vk69dl2B>EEp$ZAWSdZQbrF`nHS7#N30q+!W8pp zy^|c7o5C2zVq)AhE&@!oOAtm?2r8=v{Wz{W3zBHAjR@_J@?;kFo`OE90Z^5C(r@j! z*R#j{lbmcL>G{ENx3?=ue@c}5RN%=6Ng?z+lx-nvK@?TR0{9x_u8{n#)p69K3=>yv ztDguMYb;bL3dji3?_hqvsRrkZ=~zF6#8ac{ZMxtQEK&kpdv$L_qTVmj5k!!~oNwYe zM{NsIfsz%0Gd&i{5ik?l7}2w&%Kwn>lCy}V9WL)8!Z9Q|?cC6n*{J6`5V;VBLNWhv z*mtAP!}zM4;}ABlaWF7Y`1*xliBzy^f|48Qy~EpT#M1H6ko>VLo49i$xhEsa;xBKqc0 z^GaqbffR+&(w?R6blp@q!0$|Q>g$4@3X;*W4Xg-hzsXTM>Z169=EuwgL{W-SGn<$3 z{;=N4?29&omM4LhO|j?w0=lU_`>r6OX@+kSMM$!HI;g>mHrYU|UGq5Gauz=Sryd}WPalv^* zoI+8;fk1(EfC~3%*gqv)InpuOxywdfKt9-8j+TvQpJRq?=)w;8z75@si-uNzRkUT$ zJTA`Q^C5_KdpFTqaH{!OG~hPn+^7(Dq8;Wp1p@1bTB3i4S<+Um+dvoc3#u+##_0w< zNV;U0Nj&&8D?b@^L?mUeoID%_HbeNbWyJQI>N8GjS_N?pt*ss6E z(}hRSdY^y(|KRNwIIZIpGPEB#%ib3T=ro{NLGUm&w6zf}Sy?EWiD7 zyT+Twt-#664zl{5)tMen_>&Li*NNSX}= zMb~&w)lnsb5@YM*eQ?Nsj4^@thF-32RGAQt--He74;8gW=#9nS}qATMU)8BQ}j z#OXBKr>znwBbwxbB)6%PZpb-RGmOZjG3+TZ=JsSeZ4PX2LxeN;Yml1Rc^dvZFGK4I zL7W$W{B+;~`g&}Hl>}K^M5A~(MbC@Tt~pDwSzd$nttcel@=?C~GBs|XLdmfGuxUO4 z$H}DBTYc>M(&zrG7J=V7ZOjYJ5u$mrs@<0N03fc$vy==vwZ{A1bFy%uHbP%a>nm0; ztw2G=$ai69VDO9smeuwnx%T>WbwgAz>(C9{3?iGk#)KL=uW+28|EXFH@2wG&ReR06 zzCqUt;@G>nSkQ{bmxKF(p}+{B3$zC z@_8=c#V7--1?zh0nXrkyqoXP_0Z035waI0`giE>2pPY#5@RS+Ne<*=n9~XZqIMcg$ z99jUcw`Ha@^*xTSQDTddn9`g(>@>av?saU92@*W<6HxmL^~VzSCgC%9B~O+*$Y$|9 z+EEale?$gNXUU&)ltP)XrATl*H6KCI=l*pZ?ghG3l4<(2{l$^K-rrLi7YOML6{c2A z;0o}7Ub9@}1Xm978x{LG_4Ig-oxY|wO)0M@P6Nhgg<)&v5bOJ4S*!Gt?osPm-6Qa| zmi%81p}5H$?1z$h>M`g2PDu%sAx$?$`UG5QGN&5JHBM5Gbun1&c6vvV--Nvh9 zea)H5FJ?^wm8fZAm$Yc|y-ggr9)_JfDxG{tq!?k}${1$dyI$Q6iU$gGbJe{*Xu8&( z5TU-v&?eoym>I0;5fQM?LkOYZVby-$pHCL0E@$a8{Mc=mj=`t>{Q=L(<5>-M(ji^c{l5(LfC!&L!vV zby`j!6cA}Lm`=VrYcoQJXD@~ccrSEJCDM{1U%T8u%afAc`GJeuX>Brs5}|I>6=vy0 z?ULTt7d96+E~dP9ITp(yA&Bi-Zf72OnU#ovFL_>GYOJCPJ0&U{+rm-*tV^ch4a(6A z#W(A=e$#*&NWG#6EZ3ZyS40GO&|<(;U=$VyU_-_&TfjmZ9}$iTK7V zeMqYjSzbFKoL2g@rJ{vmd*yVBf2>jENTKWt;Z3>R`Rt^z%*Eb*>MFP+{*0jF1XVhG z))yne2G(cq(;7k$+8u)j`?6jBh`$Q=ry>ox1t z>;_}$+aw^2^?X&0I6^)YL2ZNzI?Pa06t2tVEXj2VMfk=q;tLI0N4g27TA$Q#iaK@#uzLIvjB=^QwXM>$&%-WpS`b1l+7|)b3ia<9qQZ|F-(C! zzs;Sfu|<=eLf82c?-Yh-@Oh+OewYh|+c1_{?C{T2!|&opYgTs;^f~Z!(j@LopfFH3 zc$(3dRy#3qSn_@5AjfZr4Sogg=_%PysDXWf#}gL^Il`4&*Hu z`n%epD0i9R%!E5@la&f4Ksxm}5KFTol{u+R_9V)7FlE@&5C0u7ffz*@Pu8Ey#Uf6k z=5O{NqxfcHJoKIceFl2m+u#$7jnNi@RB2EIgMl7wDAKi@+!ll`aT#Yj0~b_BcYCFO znbap}x{Ro;ZbjXU?`FOP%N<~5b^x3+f~W}zgGNrcW-hq!lbh(QCs|h;&ad>?_=K2C zFX@gv+Km~URV@n%m4sx>zTpo@(Hmzm_gH_44stJ)*wRH-JqeZV(LN{ZeQ67ck3;Ms z86D5$hl|859GxOS@sPxFUIn03)a8u;hkNYy{8WGmY`(hmc8l@{)+D3R0di5OTN7pT z!a`HtxyrC0w-2So^pGl{X1^TdH>l7+b=~$`>1er`*bW8(3!5*6s0n-@rU_M{dx}s` z=S~Klx8VDfqfoR@QJKUfh@Lk}z1yOJ7?=zfV<3L1VTrq^#1-eeskitD9>NqXR*OoT z?EcAWlV1IC4BEBJ$eaiVe{~Lw4piV0e7|3RB!wK&YtRt*ZR~i{Kf0k_zkEuiV9di{ z6YT0{eQKrRd1tVYu9`F^8g4D4LcqJ7H9hTo6kM$ymS(5`4f%Zx0!qV!A8Eblzu{J3 zp0zB{;qw)jK19YJD?F!>n^<^@#k@{_=P0~uS)PF25A&51Q|+wMU0f|7vdg+5YF}g` z0lDxrn12{qsU8xf$qg&Nb>PM_GSM?+Z3CfKp7{Vo(ODw9E9k4O{LO!4!_)8$ZWuzv zwTFI(s0^UX={~U2PDkaB{)#KdA=QC(GZkItS7Ulg&&%x&<4GDBcdpes=M~S#s?x_Q zpx0D;IJL#lPi=4~ykZH6-$@SfqChBHA(xJ3A2A1&90B9m5HM>uB*LZYaWsY)K(k11 z940&zsfT@hZetY(le7M!P)4R`Bdy-P`{lZfFpq7rC-DCjA=}4*(sQ848mm?w&MC=cnm4hZdu1M5ch1+ty{4V>@dv}22g8U6r0C|K zqx)RE2!kXa%C^LMNdsf+-jcEvzm?MKhPGW*shc3BBSiMOm4-)RA$#ObP<>J0d~$zz zxzg{t7iH1p!nfJPTKs$P0<^W4ouwt@tICNkgDFEPRyEfl4%)@mmMVBrKzEMS(dtCq zxkRXDLJ6ezBlpORa6Sqg=Mh2o-m1P$wDIMqZ>RS_Sz>BmGU7S9(#L0)_E=Qg*sYdO zI^q1F!ql&KCo?4RV4etgU{O4#5g_hQ0Gp$$S*nbAIB&ql78sy=Ho(VP6mM!`btH!; zA>4-OS3pzEP$$#!3|{M89p(<-;UVd&9TKnwJ!}xcys?Mzx$w^>*@4D*VHj?*hM5Cv zf*|Qi0TYN;f38NjJ+pB!ZpF`ceeS_lry*X&KM-^`oZH4pbsNk-DX*P7Ayt zXO&LQt2@z85aWn{<_8pBAh^lOwzDZ*LDgsO^v{-xJx15n9C@6+n`7zgFnP0S84-Nv zghvGBSlxH?|2G3fU#$yCybqKD4!1EYw^J}3V!U5Y89!1g&D8atAP<(SYVPf4rDk{L z)13JzxJK66O`2M<@Z*r6sIk)x32pf-VHIzG|C!^vrgyt7=L|inJ?*;TExF&bn-4Cm z3Ui+Us3RC;KBW1z+}6ENoaH{vzJz!$ny%X!noi_JBecY9n!2v`)Am1fdEu6@jtR}d zr+6{iPtSSL+77rm0RxFbM8{%D4&JFUu~PlzM#NkyGz$Wl>I zp-aQMW$tq2F=G#&RQ5Osiuz9Q2-n|d7hh8?2u^M^k-S7|s(Bsmn$D%Neb)o+J1Abp z-R%t;Ya33@?%1}1A60xZ_efRP%X!TqJ&F-(-sLEMRV&8nc)&$&Pkhig*m@>0YYGm` zW$BiCmp%?m8teo)*~tr~n(G@W(CQN`#FfD52+ca3q@HBk#zlL)*~3}#0#ctDprqXC zi68$#P^hZX$c7{uwGpFTdmBuWbS1D3(3cCrMkUQiOEXj#kxd*E^L|?uqh2WuByNM* zo5@7uX}-*4N-;(+w1>7BFUYY4JMI`sZMlT4I?9f(YbEMMw+NPekuwLo9Y047O31h% zE9GaKSN{Ix8fw(B#+#G{6n{<<&nPdTHWBmANKo410B_`ojwy{NBosx(7l8tUz<1+a z^lqpxTu(8-;UM0XxB8J%o~EF#RYSW6_C>&+ZBAdcV=B1oJc&Jlo;we2zAT%FfniYx zoa3|)c>Xns_-E~x+$xHpZAd2l-p{#}`ZgA%2?} ziWJ6RlE#0h!*!%M;or;0`?BOO>PrCx&mCn%0B%AS#b7M?4C3)pT!-Y8U#G>)F)EO! zJS;z3$%Ai$FUhDEWb_(VUPXUUwHCj&xA^teQJh4O`6&MhLf{Oa@#?>TN`Cw995g#A z=U+8=gsevNj2_YhA)_wwMEYBqn$sDLYJD{=vlBppbfN7eb8A$7W$2W=DHly$BM@+L zuhwaF{mE@x7nM-O3z^K=88@5;iW?5O$yEzN%ig|pU<-(H;=cCz-W1%R!m2!?P!M6h zwpPA-m;R1IME%w;$jb;mp$6+bAT}wtb<_!6F@}X!YQPHr<7TZ)wh}EtxLzVm=VmGn z7FWw6^H;3h9F$zn_w}Gvq0E>m+LWWUm+R`HcEL0X459h^U6P4H)y|OEBoa$3*|q;F zDZ2v%(-n*C&6oP|Az}jg_%X;~+3?XT^_T}*{Mxt1-(q|ZqD11`$6P2*jf+QVz{mT; z_)zAMSD?K!kfGkNi9eJ5B8usN{3{kDCtBGEFT&ZepDm4E@xBx&nE z!*P6_V1jVBSbu~2l-s}bc2k_vb2k)SxAH6cOgdTk5yLRz0F8SvLQ+&5PF3r37HvT( z0-MP8Cl;@LC$P%BMEDn1Wq;P{F(CHpjVw>ACJGF{25`D8Q-~ZonMQqnQ!QVAjp^Wc z_LFQh4wQT2;_RQ-%KC!!Jd(#LE0-5&R1G|mL0<~WnnI9_M64(D9FS=$f&Sv33X5eN z@6Q;~#lmd|#@6uqqV~?=ZU=lmLx(K8e^)gNAp-yRLrh@`Dg=oAQV+?%Z55%ZLs5c3 zr1J7d4kd1)Q%tp2IP;<7*xgpOYb1H(Sxn#?=l=L|K2OTQY zOs6Lb*|Lc_$mUS&H|B!G_y9y>Y;zO^nr8PxbcnpbHkA~{@Xb7^2t>dd`%iVwZclvp zzO(pToF6z01az3%It`EJ69&7d2Cu@b&VE4$JlxE4+i#_8Y_g`4bx2>87bBs$t=7s| z?B`y9#llgdz2{|!@y_`opPs8n^Zc4?J-d}PNsWJ8@MZG}Dl~n1E6TJqANwMTC>a3T zVMSySB4zJlg9aMXNBd%;Mm*wlnqW`inYx2$Ewa5B54pXU@Vj9(xrUH7I}EkSmxku* zo4Am@Wi9YP;2rg6ERvaEa> z4M0ji4ovMJP&3Gt@RDUQPSO0OO7oB_00+H)6Nf&f2e!oJ)_7!VjS6!_*bcI)416p% z$n?PlH>+jhOX}ySZ~YdnP?7iixcz41ii_g`8|>ngT(Q>1;&oTF^H&kO&7HmDRg=nG-%0$Dmh7PF3Ip9p*UXu#ZdIoV~_+92gK7;w= zspHYLZa=N1B}Q!7(AxSfQ-B<&!1fLH4(q_1J&$jv{viIkP0Eo`!wnAAJsvl=>{(ls ziA$U$LLb%B5 za-5#0kEUlP;;(fy#VY%&~K3vN0>(PS&pE8tf^B;Jo1>S#c5hToszg$ML zt6${Lk5q{7N&6?~!3)G*tbG<>oU6OYZlk=4BycP&Axx_iH~!HvuEfq;q3?MR55XCI zr!oL879(+41Y9tnYzSw_Q|KCji@4$iC0sASG$Qdr-M+pEz^AqtiU*)JAjv&6u8Pmlx4*y;q?vc2wB>^_LIi@>m8+$TgIzuv<2!bzblYf| zg10t%zU8YR@>p4&7hl3BJDf}usnj1^%Qu-EX^|;4)jqU%P6Ea&Z!5$`fUR$>b8?}D zyLDDFn53c9Bf{5-FQyl;n<00N_orh3F@j+mx(JP}o9$-d(j!Q&_H6|FoBdZ>Q0ok^ zKB7pV-QcE4$$f9ZxhEwv+Z zElo#{atCQF?%yIts^qZuU1hRbC{)7}f)2REM{m9>WI^}7V*yfs=qJE*rMNr<`9Oa1 ze9$c)!Z?{T&AL5T@$t!IXm0`KILK&TG(gCIGXZ?y`l1qzWEE#BVQGc-Rv}A@1}5w+ zccQP%B4~b9`rw+d1<5@EHg6^onJse?1$T*ysQoFrX00KRuRHK?Rof|dB-&@Pgri4n z`nSLse$1V-Ejd3Y>w^WF!%wQNn9s##a8QiTVMF2+X~C0|S@$`~eqLS7e+&qgI;~X_ zgGx*BM2xUhysKAa!$HhhzHWgqCnZ~Sn{qNj#%6Ad8DFb4@FGC8Xri{dlGNWDr{lr` z)l2vcAexlckFh^^$Gsh- z-%J5m!4C2c5?m`vjk+_-4Ak*GnijW)mk!LD?xLoswiGnaTM(y!_|&Xbt={Vui3&3dJtPxM%|P-_Zw>L}H1|e&RL$b1&7vRE3=YO!wMXyL zeu48_RUu80vrurBsBny`8<4+$yg2we) z`gpjYJ+KJ=hJp%yug7ix5Lm&%w=_&l^@4Q2KnCaNEOmK-5j!m~;oyRiPMgm!gq{j~ zYUjpOn}%kX(KTNnr(;$a9aK>zSw>KM^c~={^Ed^kwI|?X4@< zWVYPEXmCKueCGjB-*joFfoD4C(`o^Fj8^{& zt7iRMw`US7-rZ*j)J$Z=}`h5kgjM^AlK|tr>4sj>*#j-KS%s(C6GUqXg@^>=Wf};K-nmE8aX8|Z< z+qvbVPj|-4q)2tE=uq3q>c{zX`He98E=Wrj3CFw@eu(1CCw71s-aDs^@EX`MVYe$m zGSpyc|N5M!dKF9^lBrmL)nK>8fI2rSRp2!^vPRqY2qH@#U3BawZ%kNn$A{R5_Kozl zb=7G>>?pxx3{H9UM2S>`yYXpa$Vo2yl{6&i6^CS>l*PJ|g?PO?W?sB^*TtExq($N7 zlXrhEys9fFDQNH&#!or9crsCDF0m&|XRKYWao(O5g#F`A4a;E*7XYquy)GMivKj2D zKAtm)s)u_w3)lVr-nJEZ71a1x9(FMJOoX(@7!1P>{?)pBs1uV^)wXxwk<(>U(nr>I zxBp@jLf&IyUo#{E_3FcWpG4-j*4z5SSW2v!gin!T-;TuYzRKPe=9 z1DJL7@@l!dB*0Pug8ERRk&Ui0f^aY1Uo;)JF-&{&pNlc4tQJla)Ghx}_Z@oy%JDDY(Otuc>wbVl^ zNAxBjp(i?dYx5yEz--jdAq$4bWz#N8%uI7!8N8L2pemk%)*id*p9V?&Sp=>LHohW` ziFIT9_V*kOBLgr+H98c%z79nMu=jEBDw4GYQ9Fibrjd}w3Ru!c#p9=$*&M3%c%&KE zAHXv&PD`wnGRIUh)ewwkhmBJYQ|4CJmHdm(!ZBg?nD&w|ny9AR9RRo?D@LKV* z@6|1qZsl)md7RjC71@9c(`JjU(P{1@bCtbMki&>%t9XBb#UlAfGks!EuWB%^oWQ4i zHV<(H8W9vu7q!9Q)n#j%<8PgV#yMIDGH&Hs+68jF(>w@yX|YC6rb+EEXON*PkZ$74 zO9lwT150S}E;3P$QL+6b|m1*A_=PMB+-T`p;ekJqtlP9ckXev=0 zdOdAwpKEan?t0qX@M^Hzvr<>H3oq8rlY_rdwOv?uN=Xjr6c;#x-Z5m_zN;@G)-XagGu0pv3TdzYWKrbCB(=oHJizPxSEXsFF~X~? zg$Xb5ZM=-+LA70Vt9$2KYW4BZk~-0&Fvod-*w7glASGxpf6T=5yhC?{Nn?P^W1*X2 z0DfPKzVLEv^#_bx#l=db-Gwe$59gqT9=rq{m3FA`Vh1J-wfBmCa@y zjaO0S^6)oaSFSKgq~?@+;r5qe_AaQsoH_d(|EFTMS@6@)so0noC}_SK@+CZuO-VVQ zfnmH7#s?G6uY)7lTAVhN(%ZYOa3)SHzX-37{WU~mo}MDFgr@V{jpKb#{;5wsF5d?K(CQ?|(uC`8P0(M9h*0L-0Pn`dXU0&wDLRE+% zJLx?mA1qPWa}J1bRw?9J?Wi)0bfiA!|49Tvpx?QN1af&Jgr_ck$ZD+ zTaK0$#*5uBH>q)jE8(ZO#q+6K`bLEHNcp7}yS$zgRVTnuIkr(5Xbw`7j$9d2e(**} zi zN^@C1ZLcX^;uVD7z2W#L0GYYP^_S3cVRN;)675pG%`k_1jwsY*>2w!93;EMB%48` z>ajlJPsuI+_9z#eQEfzQu9W0S&N?`QO6ecBC?b2SsJT>KXhxT`=z~8)<%7plfiMqrMcVUkGD709-iE z#ODiwsRoboFPs}?$d*tWG!)whl==<7Q;T(u2tw}brHwuqfKCSBQO>GGfRH&O|2oK zlD0|2G{QRb_D<8tMIJdU{a`nwJXT66|8ol!UWWwYPm?AofYs#y zn{P&X-g>GW@uKMr?ksk68}`CrIjihuw>qwrWSjiRW}xLpvC@To`x(iFHRM z6p`LU5zN}mb(ipha=>ZKvpC9Fyn4()c^>2QV$rYq(Bb6>DIO$!v#Pup34`KjI)J12 z9EUz7;XJV%$9>s0qqPH5oT7AKo zYo!%LcvVU)Jw}a#USz#+qS!VaY-t(yAR?k~?k=I!D2ndahcU)^Q-{+cP`u4729T)O zmsMJ{Ie{M^YP!f(S7uCQ+H_grTb3WIL7_)Tb=Z4zP}bpsXE%EsQ=!XS-F`6xGV9-& zK^e_~3C=er&Tl-GHl3l#>9pGpMZh3l#Hg)BoYY@l#Ht_s+giu#^QK|%K+TFywYZmT8f z(kWWz{F?2oA`PAo1o}Sm56VTt+}6#TFU8 zJSM5*T2|$G6cXY)L?zL$)$#mkJik}3>;8nG1(^xSN}GStHmEFMd9(-zZRu_^d_IiQ ze*qY}QV5O&gy>lQ53Mv;wfAQIo{k_ei^Rf?#n_M*(7?3?b1znO*!wRML!H}2){o}` zi7+8RjQP*3xams;%%|U;zk@k*7?&VcCjELM?vCa_`0D;o^nhlm2gLaE5AbS$QDFWX zEEH|HEW=z&?BwBazx$l_rhFMY$0$fjKpAGPqpDx}C3U@CA@vn`cYd>~gqr|1B{Z8h zr;7fmGCb%r4-4I&os)jp$QoWkJk<_bM>s>NWuwYE7wUh}JlGe_yTw4!rfP4_P%eoj zo}1gzE-#b8xF6+RL(mmiqnux+{PAZq^6;y2fjtdnT z?78f@Q4-j9;jyCg|{=pt8YI$JbS@{lMY7M2wkWKo(cf7-?j`Ku8s-yRzkDEn}mT^zXWnjzt92aP@ z@BH`n{NRHsrD+KTbu;K1j6Qb>L_0b1Uu7V++A*iTmSYR_`C=x`f8xOKHz=&ew#NAL zSb$wF5?YILcjBcW7ITEWV<3|!C9hZ{ZYO6K(}_j}Q)E`q&t9fpG-7At%erzfgmIbN z#$;xPR*57rvocUzB;J=Jz_kn(UKS5C-~xe|Y~4i9qMzMTF9vhTU(T1J(SfhU1D?qY7^OeJc$Aj)z4G z9IHJoa(X&2q^FMk)7u-l^80`*+8mP@~yMq3S`FdYrLifTd+KLVH-N5Wg z(WVK8Yo7?LjquYmcR|vRa&U(so|zg0QNa6QKRBl(&$0-H1p!mS3ddR+wUo$C?4hAzkK*iKDv!J2Dw z>ON*ZFH%!@1bkC2egMLo>=x5*iirkF2#-Y9_!!6=tCl_S=}Ze>E?7#t?8WmpndA&s zE%nD3vF9CSSFj-~XUluteOb#qt?DClRM!C#*wcTE=5@->D|ox*HLGDXkrO-zyOEoY zuEh3vP0||Ofdbm@S>1jy5!s-@@uD(YCBw-%+paa_u63 zB%3nO<#oLAILU8i#8~az@SQ&ry@$DW95cuqFHK^+44>@0tFG?(p#7JBNEYFT#7Nvt z9(l(+97Vz2^K@OZiJ_Micq2X2W6`thWCg2*64BGehxI1*0s@`_hf=R^P8U%b*c`pz z(K=zA&TvN|d`R>z_?Y=FUm~>Fys`_FN;88*{9CNi0Yg$zrU1`-iA10wRA4=8d5|jz zF@0vFQ)W`1_(A7tU_M$+LL|1fp7`j2rM9Y3b^0LBaiFrFh|2GzM&7$@4U5E|4g|D&!4)Hv(z=)on&}!1h9n3NyM*jI0*i9X_GQ!((<$_2+3DJ!0lyVg|lSqEx z9lgaSlGoJnj8%9&OFXxnx^ZlYfD~;s{q|fAlTR)LqdsQ*NLA+nF>Es_&=re+^F=%I zp}WgMQna-o`M5!8M>VApN7A$^-4N~PMpQMzP9S~X+HYxcdyAnG??lJw)v)&L6)@Ak zz79lGpFYGx#C2^<>;|y*P%r*B$WPaRbs61h)2f&5Kd?u5@d)|{;OcdJrF?DHTM!+& zzh7aD-Lo%H6{8RQUyU1~3<7_JT8U4Pq#f=`%G$A?4@^ZT81+hgCBL#cgrb^O87&v! z7sQTIlR4e4;R<{@)%Ywa@VB@n+6f2ieX(DXnmEDh-=X`BGG#u)RiDR8lNC05TV!Yt zqr|83^RISU?_SqLz_gP{StZ>zrhkAb{@0Y{j;PPwKHLEiQFQF^i1Y9ld+1&Uy9Nib+;G3?@7yp8`Js^4 zU;8&oc~+A{6igvG7IC`O+n0l7JF+)5@b zt4}j#^c21B=@+qPZ!?~4B{xCLEhIeBpG)RbJ^1sxPK%Gu!mHkTe`(Fp0r(E?FXq{n zwZYjqy+D*-18KeUvfa2`ypp0FwzeHiZF%h#5~JfavN%#_LUd9fN>Y-yiIfqofgX%i zacW{VGO4U1DsLeaF*z2)u)2d{NQdO|?~WP44zmv$yj!L`F9y{K{bDUm=7uCoLLhjv zlgDv-;UWvy(xR49_oZr=`b;7}_MKf-ZG8qMMoq`f-&u||%&9Po1tGLqZ{hwIxS)ii zL95DZAqwrLC|nMVp^erv2C}3sA)+UxE*Zc_*rVUPxl5{)@MU0wiH zS=;cReJvT{rvb+}$sUW!zcx-uHj%=}x}o1PeX?GZvN6hTMd>1V6?N#)DhVi0#MZb; zzQ4FaN&(tmBe5O|o;Zf9oEWarLC2$9AzGqUMmZPv+Zeltpgbb1d3nyulObW>_aJWg z8$EL4b(sIQMLqTND1t7fEe5I9wDMn096SO zXAdNtorEI9*InrsB`NNjx3*7Zt3dd)#J_n)7*J3evXUFX^gXP2dQJE?1N0?sAS zB{Odlm2gEG!eB*M5}PTEp6;d^~S|8V|W!#|%p zoIm3{HQBE}lqPp?Usb0F(@I5Gmp)U7UT*rqZ8@>AA@V|u;H4D@lA~gJAW}TKkAD^z zkbV2On2&e%JJb^V_6<*0&}fP*PgAH zY6ysvzV@tonW*Q7?-+>fur6tJQpB{x6%7CG6}{Kj;Ai3VMel8c=f_lrK>1xx6MxTl zevZXTb{5Lh&WrOPtz9swj3*(cr3SsKPjVh7CVp{m=%@aZjWR$%0@XaP_yGBC)m8TY z9}1c?lV?PliG#W>V04mZw_ejff@r?q?%*}Uy%_XK`OuXbWh1=9c>7B*N29OcfMC&= z7?i50uFKwG@Ve|4e7%Nssb?=o^<>~0#@|PGAysS}_#8MJbWOAleTSW>7%A5-0vMW& z236h#<{DGhFun#+XNox{&O08PF&U>67|C052IUzXIJAh%*1DYN>>%om8g}|PJHUv) zR^MGKp0#Ma6>&$D4y$5(G1fSnAsTK4VDkc z3_bFDZAdW1^^ESfrEjQF2Bk3pnwqZxgh8Bo&bX7tJkwD%el|ZAO84mJGy* zjq^kUci5u03(9)_FWpjNP(a{Ue#6l&k)g6(7|@eLMjAowTye8L9@}E3q$>AQDam^< z2=tg;r;-0h9O|LQ45YFU{iK3=4;bUaHKNA7PD*2Gd_4FJZfU9^%Qk5V&$pHyI=6q@ z9asR7vVkba+u-!fAi*Z@bCrwiNn%t%`R0Hk7qBz~roE855`gllBMt~mUA#anx-Usz z!Qd!~;w?cyIYLJzw}`R&bPXbmgwknZP{Tj5+kft z{g{aCFBLQl3SWZg^;?8d?QSA8$N1StU4^tBQsE~XL4Ve~=R~Zz*QHt}WDyYg!@qB} z6UPy`A6@DQ0cXjt>*kxsa04BMQ_*QuowjAO{0r;|wTzqID#*eL$=?= z##7*{yU;XVp#PG~=KeuAP#%ZgLC2(mm;$Ue!qtL6(?U|{!zyi)3W`D)9}ub97uF?f zLN{j=g}K}L6M+pRFs3iswHPJd*meBTdd9w`5Y?DaSc^AdcXeL;I|Gj2l7mT;@6fOKVrUDaAr+g8M^D^BiJ$kESu8Lp=hCfh-h8dAVFTggdu{=V}1Ot{Ct z13K(1MwYKza+JhvSn~1qJh`yg(2cNkZGZ3#NFk6zR3mT!y)cMLL`!#uLe?ZiYt($rPVPvsSBgrD{X?-dyy_|Tb1-l-VB#v@KymS z_zId0upgf}X$|^EjgaX%mn(Y>lkc1e@s~t2rr9_OfFl<+O5S4KP<2D(M+?3cclV#G zyEjpWV^#U|Yq@F^Le~lqU&#PT!p96#tQ_F%!%w=he37>A@ zCpK;7q^i)CUN7JU-*mkzmo#nO9&6Ih|1VeF%I{AG@cvfqvE%unTI*m%Ro8#zGmu+= z`qVhlv&Wod)Yj)_?>7##Ce~AKLtL=ec1UEK2|9yW;>?2yB!&KjE=nhjr+5}S4f87u z(0Zk0ke;oid-}76c#|aRzt65x@Lx?_B7hn^FR}6PLLP`FRh)Y#09|kLnH$<+wG$IIS{)sJcIZ zycL9RK72&zwU`%6)_Q&+xN@Bene;YQm)1K=CkDc|<)mC<`8Ly5wmBidkJ8b-&tCt# zC)3}dEjBa zA{-mgiu%#UatlLbjIol&m(e0lNK{Z0`D9h-aRmW?j(am!LOsi~NYoOCMlD+TOm-%c zG}xnFEYjCD;y8cliqQk&?8a8#Gr7i+6LZdKq*dTo+>4fUOJ6x8A;XkT|JX{Q_a*c? zTaax}h`N({Jg&Ors_4t(^da_NOzG7pc5Xhs=1V({Xu7S)7)nU_UC0OHE#82-IH|YT z$W{FS4fZSwZ(@+hJj^J7-+kcLKoUEDhj}+*g|I-#5}Ye3q5H{W0dY?H_ch?RE$U0W zw$0w;gYZ=i=@S)=oz|-tm9hoJceYofEygbcXRXZCeT)8Cf#V)x#YSwka!4~$SVTXgOB5#F;w(0njO=Yb}4et(Q zv^YhCOZ zG$OhM20zMu>9VRenwj*al#H|(l5mbGAnfL;9Q1)Zxpw@AV4N)hJ!INWomc-5n;uze ze>5njnH$R&;iYDZo?T47zM8vq0^Uqx^yCqJpcij*fJ3V>_)x_-(FBfshjb$mP}G%D z7*G>8kRvvsHleq`{{xu|d6U|55{9>SoRT;d8AFcGTBFe)nN6avW_*MeAB5r#VfNSqe24A0-iRzgMUvkPintpZ%)|Uy~;-APkr1bF9BndOu1|ZC;L0 zGi!dO(E(rLFo%s@E4!aJS0zgbDseTBzSP92fyUK*YPka(ZC9y{1e|-eJ0uwB73|nm9DL>ta35*mW z2F*CdH}>ErN4UZ}`<8DOEo6!HmbWjONRHH#@Kg#=#XmwDO2ggDTt~lbNbQD;tg}Io zz3QjDHfoY&XeZqZmJH)Xmj8-iR^+3bS{P+AwMO8Cmrw6^K(l+PfR_|9`Tii&KpE$) zNThWt@O;-eHmP*D;X6;mWF|C}NhR11EVewxE{W4{bd4M*S4Vp1~T-GeIT%lGOQwkIwO>uodp-x-m?CF15RHEx{z`vU0Lii!iC^4tuf5HqBQ@m9 zHSX**aq03e`Wh&eY3mEy5mAIncFVe8lHsSQ_A329EWew>xO^l700#BHt2Hf`7hwnF z*3||K%KThwaI1UERRtff0NQV{MN4yg=uVEt4L*zL4rq+&uyz2lUkDL|D6@<^mCJ1S zghR`mzmD^b==3%v=MUCG+P%#<(>G>(_`UXR;FGS7H)9{tX!_FuVim?( z{b84aq`G!ibD6#y)<>AaBjr;3vwfbJuTHb_d8XD1$uzkHt9G0`awI_Ssft#$Tn%Im z#vcJSgI-I=N8!?CjX(1r0jtS$-zLnl=4L+n+x>reDhYpt>yGh`}g0wC=r=yD=zEG;4dILpNoaB|(1?t}&rqacjH zfLp=@6X%ELO()lQ2-=V*ms1LEz`3gXarC{S61&f{NT zPDc;cJ@fx@=$N+19#^+`W-=K?JYuH&M45vA!-LkC>Vi%?>&MGM8q1tP7@5j^W>3tl zM7k&BqIo|zwOZxJKf*@x2=^=?tLo51YqJb+ex0j;>@Eosc~DC>l5qMO9orSwe{(te zIyunx(*b~&_DG@>`{9YtOOH9rQwy&rn$4VUrAd9Xhxhn=J>hq@`RsnlLI(*!Qy=p< zYTw8xeu^nD!rkS7?8lqyh_@<5z<0%k)ip@{P^xX&TOlE%@BRKQXH|DsZr9jaaL-Y$a5jh zPApzG?Ow4&{k^w-RO$zE<#j2hi1O0nld2v7r=Ew789lNn0JNy%tvxdv`hIA@0zIhG zm6RcBq-oe>eTLaOl~zZAb~whCcMbuTd9Vp`DW+-knz@mEWzBDKA)$YU`<%5@0%QP5 zyxids=|tIXo;D9QT;ka($GghCN$8}a2d+>5w_;K<5}z#JX#%iZk+Hzgh6FIrT_itK zZEO45-6IjYc#n*}RGH7CE2>|#Bc569DFNT@z01p1^wBfM+unw-gCq=z62wH&*shn4 zC3wi{yq?|YfZiD}N?B87XQV5S!``CKI*gFiW|)N_H=OJtk`rErb$~)NXHc4v)saMd zO`j%;85{C-W45{QBe;yZ`?ZM!LC~@z`=(_zp~>Kbxx=AP9D1huRIP<$+2;|&?nId~ z;G}A&e_q|*&=+m;q|4R~mo52+4;0Ogv=78{92N&^JD^Sc&Zq6(H;0njGp|oNK}6bN z5kDD=b{CjCrE!XuObJUkGhpqh;X-J(V`+<`Jb6bAHQC;*$Z{$P^r^in4GlXdBqao)){$pmr#gR~H6#ezGo zBFJjne7-*OJ*;S)=C@mcet5i9U#D5;bZtFc2vd^FpZVD6)tzw21UCP){QNIvx88tb ziGc}TG%=F7Mmh^4opHDIuXEx;$4H1iDpDmWq&Dw5w zqP9k-L?VI15gO!tpGFo(3S&}wXnk2y=rB;+q|$G3a9Rd3ZU@zU*w6uHVN}Ok1&&6d zOmg#BMC8)L`ui=p-okj{x83=?I~vfc1iR4By)LEiy`DhMIrunTksd#Psw>DwH2x_! zU)kY;5!!>GsFqG0nT;(O=yq*x^V@o|yIO@tiAPJzUWQy0DY00+X81|K%&qB?JZkIv z2sW}*iOqx3>tgnd3IK6eqDBp1gNT@gW*2NddD zlS41VR?KFz-Py0KzY`xOze<*`zN0>Gam?0wOW*2yNRW14dlH6VEkIecOnFs7!` zZ?mfyr=F8l#KHHNyeK3$IsXI{%WY(2HK1WX&g%B2MD4LN^>m_7@D9Uit8h^l0E$wN zMRzlf?Dx$+WqMV$avy$@(B0x}f1iS81)Jq4xkA?nk5B@p4bsI|Jhv9_l>s~C-TQx_`jQ<9(0{DVe`PN+ExIs6Oau~nX$(wzyGd?~ z;UtY$-zC}(`?*wE>00p{$8#pd#oVgs0hq;*`qXWyAwx-e0 z)piLqJY4yVRhXDRA$jsYnm_BhxGv4KC$l=^ErEIls4cuu_h^^G-%nFmK2zw`1Awm_ zCz^l}%kdxA-&U8OXlt&=lz{0y*N*iyVr+69qbBZ#lZN`Ql@78WlGH9fEO{IA6b%qNnkNPq~-(oZ!W)h7s-4|SP7=mfV6c>HGNEJxlhOF?hjl5 zFwjEjN3sT?7{J}09HvW!rKDg>{Pv6 z^8>7n&n6yzs9IDg+3k<7i`6^-&$D)yWc+s!Yg3Hq%3e>cpk5h9h1G`RI(l& zbKi4rJhpGIkV!CHLo^tM8YAYBjaH|xxX7N~l4>_eYlG%zaMhqF9b}z@wxt4&(5Jt0 z2&10Pu1n6X?`Qs^51^o+D12AJs2JjEwMk)&Q|1e&Y#{x>w0y9nmezr24>yp|e^-4N zMgZ}r`}7p)d|ESd3TdH{2M-(B;ZVW@!UI|YXSf4e}sG1A<;ZT59qfOK^(T;pOb@_A-OBO&`qiTBOP8?!w=;)%I% z^4KD~K;jrUj#<{^QJ?i*1E;P%sX)h(kSr4f7}}f-gf)~KwHq{K?tR}nkCv{MF5C*64xaAFmND_8A<*Hq*Z||B2mP9LeuE{53R1_8 z3N=t361w^tdldkTaN=48+>9?yLe}32rb9I4;M|1FLx#M15Ob+T{%^wUb#=H)o zIW@xtaPfrkmmGLdm^E_@h1D+^=6|*NT$5pkZ^X}@y&A`0=G`p=5@8Q+Q0#-BMYgnM z@nwBEpe_$(po_oSjQbFS$AGqHZ!t*>M&1BDn#r~zc9>q7nqziv9vBmTmEdqx*ps)c zr}U(AcONpHNJTvW1||BH!n+>=DELxw*KGI*H#}T!GDnG);T{4)^OZmlzWdf&_ETRo zs!>fHK3JsQVt^(`6S6G)z~ZFNFt{0oooXS%37N=w{nW3 zvPZ1M{E{W;Vxdmpd`WVw@nD)aZC*`ri_)@s@ z#lFki;g)}wAi7o)#y&OO7(rplKZ9%uIiP5~ zXp@}om4rxCNN4As1NN=p}l(h`QY1|1Hv)$k)o~m0Ol?Gs_nwyuOGHP0xyssHa@Llex=ZC zCw?r=u=h;WDB77?R*Ou_8TDEfb^V^fy|i1oY?QU~7yzDqwA`H%j_9UJ=Mp{Re{kv7 zj%Ynv-6Cd4@gvR5=Fx{QsMW3SvBKFqC*T<%vv`AHDyrZG5J+^FSu)uVGq|os13ZP> zpTNo7I3hlC3eA>}|D83wIBA7@9TVyGoed@mlcHGbI_iKFCv1X75`kJGq-!65$?;hQ zskiVKg$??YL!>Jp+c$0S5mCRab!B(+h0L!R!_HW2%|o$*M_~?a6a1IW^LHyUu#^m`lb=r5 zJHvlnL$uv4Az9CRm%V(n-8thYan-^j_MpQqKyGB&_vFT6WM|Vq;cluS|0K7m3ij{r z$?h|(?k1My{8tLlU#FH=GX}!{xJ4Vd3#)Y8UHwLRV!syEy$;+pTFN#| ze}&$zrfTKPCLfuBOgs#)fOidi=$@y;Bdv4Hx{fFlK>y!gQiQk8iNHKTd0#oolYCek zH<0U9BpnUop&QqrS`k{>1N>zP_iN^>;Td-DdADGKf!A03Yf~+u;gIeku+-gLRF{3mGf7bMZmV%N*cq;~TnmCY@y!BV$hn7^5^3WF`gzJR-3HbW z%`5wr^&LfS;imtizHp!1X0~dnE0QA1?lOraU{<)4*Ueh2)0=ci;(?7frOPhKrLzsU zs`k(Gn%q^dqIecy&X_W4=PEseE6tQ#e6jUTwmnNzU@4Sa}0kN}Nqp$!kD z=sjJE9j*ApEmG-lgnO$~uaSU#{ZW;m zg>*(_`O;+5tK2KI?Vnc?aIDTG_huFJ_cQj%IdYduQr&ws!{h`VE2Ci20zA*^p-B6P zxMlbGbwglQS{=f>0R&J$(nr0J?DKr&wjRc{$t+b>RQ1vQdf~L&hc$(esrmz6o4KVL z;d!qYIJEYm%8XeeE#`D%YjWrpq`YIP*U$pB$x|F?T&wQOA62CDE8{FrA9u=qP^Ja5>oOQQ(L-eR!;{svOQvmmM&H|CqqeHPFo^C)S=CAWXMc*!z~P&C5FGXi zRFWorj0rhg-3&OX=^t4Ib(`U#qZ2B<@Gw12M;8{EP}T^Y#+L@D2$xWI+B4X$@Zx;j zI_2%6lLe#ateQ|A&KcNCNkyQ!91XcGcw1Ck0?%gNCd~rorHtVrFj3G#LANvjeo;k@FoC~*^C-}ic_?RxCg^9eixfK> zus-3R%~iipF0m~MP)l4+dzxwYL}_sxHp{UqVt`eLzT zG!JJ%d7+MysL$C=4{*``d>RE%54q7TRh9qD5@AKQKY>W2FH85K4<{=%@ z>{o_pF@GYK|I_rjB=G0aZ__TdG*j z$NhKIX!qId1LDkw$zY6lix)an0tWvDYxwH>FXAS*L$c~km7m%JV(sl!8Sf&$nVf)llXstFh!;9dP^GbkA6kE2s)F3Eo*#$yIeXqny9s zaNgC3;c&10Lk`(wDWzrCFE``uZC)0A{1s<0Zpe&0sc^02O+R-2?jngtEqMaRa^uXt z=j%4imZgw17sPzpE>wY(lDYN`tR|(fn$3s_9&OU@zeWQsfwI3vYp`LHB~#0#mRkyippV9m;EaOrAgp2bp%fosfu+kYd{rJL zY-~_gg118hMu+f(E|@I3xZf*luS5LHI6jd*Z@K)e;+d@@MvyGg>FL7DiQlfo`hEIe zt)c~sT+otHNj(b`EsODZi>sZFB<0RQODYBaxLLFJk*G-ST|k|39ibot_vRFdl3HwM zUd%(Xs$&++;So5HOdeZxNp!D09xQta2+q(-f%Cg`x?IY9a9^Nr!FsxXVTk~KAv~Ud z45WjZs}5wvzSFxPt8SbI81H6(5{QzgjuL-P+yk4_cNuuvGEYsQ{3?_YrnD@k^&oUfrN*Bw!lan@$3=9%PQnOd3-lY zfagmH8Pz5IV;SB#<{IR;aCriW?yfW6-US8qhjP{ZnadrY5D9_2;GQQ~2{rFwQTbc` zl@5{kUWo8_qFeg@2wpG=fB>qoYpl)N^QS6$EO6Ti$$Y}6XK7ny$)Ac0y)ODCFBxvb z|H7DOZaiLQk3AHS3&fO1m1#E9_^&VMQvwm8i?|w(<@!qHeH)%r#<@tQShei)xeE)# z;e6H;(k&Zj5*%0>drsJyZKeIXQGjVIEKb-^KkFN+7e*M;*YnEd)*IhHBY4rgdg2Yc zgvw_Wv>CI^_1lcP3tH138Wh+8pY>Yc??v4K`h*8+&IX!b!_ol3qr{JeQN>T#1ZYl#=bn;8$Ke1nl2BehtD&#-TlH#g8K+mt#l^@%&-W z&yU5+K8ztCHq?6_ar%c==r@e?8hiBCk(FuYrN5xU=&J~32Kj?V#;xP4?rl4wX!jvIVW7n9RbRtJeE@KN5NBF#87wN{R6Rudijhb4=<~074J@;? z9%d2Qef_i61AcTYe~>B0v)+JgOD`DQ>M?Y8Q(*X3;9;T(hjyK)-Fco`wLin-t?z7{ z#LWypC6BhKb5=-vKOjUdszDW-0rrw=^$B+OTGD9Zj`&O1ZDep58i82RzX&k=w@mZg zX}~Axh6~d=sYkiZcigBxCFQI#aOCmNNlZk>BblFv%jm7W9qrfM7_+@MLSy!T99JUIR78$0j&V%pWsfxm5w1`{b$zai4!~+pyiC2a z{u?~CY%TL|)b4&(2TaAja%SDnV;aD(Vy{0g0Mf@kZU?7&@cwDd@4pWWr1&w86tdeE zVe`bwMK%4`0(m+eyo`K(gAA*G!)_yLG1()DhB}Rh`>N)F*SY^LHqrYEH~rE~K?4lQ zJm92sQxUw?Rn=#3;S$C|)IGJz6CiNrrXz=ju6%EBfN9wu@y9bQ?ig!@v{|RC2@~w_ zfB#xeC44u^UUJ>G|9PU0c5k$xN=yjsG)L+<>>IqMK1(xD^Q^_dY zr}K?ffP1@z=2(KM6TZz@A=(kxc?B*(&EtUJKbxk4ysX4UfmvNA^+Q_Y2bZ#a+zA(d zys~*01(y1I(tya0boN0SviaU^aEh46dl8#A`HzI`1n}f$iklW z1a=p0a%hKNZU(3faYGAb-U09phgBnkY%0CKm~5a|B8PV{W6jP0M;36qCFSH?2)3I9 zI>R#2UHsAA&_=vaFV|Q+!l$WDOTpye^_JbE8L342Sz1tCH2maPo>qK+CK~gi{09Q(H zE#!R9?~sm!?t{GfK%u98dj_qoKI{yAC%)9BiNlTGeT%zDs^uX9b59{&w_GiePYL?A zvCOi2#BVVigEgBr+|jmn$3=={Q~_4MQ>YnA|0tHu9Zh%QzFYdE%B>Z`RwmaAFhBs> zor9vrA2RMleVjeSRmXJScX;p}esUvf&Vs-w@G@d!x7E`Mhsj)7%cJDOs03)DK zV}wbHgdy_O*SrF_gHKL|P@!~e z+kxFMpJwRzzWfBjl=KBR5Rm+vg z$T+YKTpPDGv6eS0;AimPsN?O8DHzE?hat=aUQ8Sle86cg2A?ZYXC_GiS)GIf6M{Ch z2j|ENRADt5#+b<`8q|I>2w)(eBHn1p%bqdUh5N;M+hZi)LG1t)vGc*=wN-he+mKKMl3xMM|}M8LwWOZE;j06 z5}CI-%3zPTGPhXD&qrQrlP+qB#{V+d9^lVFFY3gngn?&fsK;x4iwtfRIb11zQZYQ= z5k|W=)G(7#hSaAQXW8Nyd=M5Mptno9M?O7qMJw?M%-HKDP%z-!2|&hpb$&4@Fu5%} z&$|SAzH0I+TuEFfzcNhjj4}krA|j^r&I9f^gR#0c(%BVDg}Qd6A0i;4h6Ue_<+A!- z$$?`*1x-ys=ErvL_mdxKWO(^F$~XOkFDB{t1!WhrD8C}$y=Q%g2l@{Z)-gs(b|(pn z)d0dfm!yAH`mC`O{7$3v2jnr?#wKNw9FsL!E3QQD-JcP3!n7=}!Hb>gI&8>79fHse z_49}*fXngm@`I|DS~0k!Kx&yMFI*?i__F(B%WWMz!eJ5anEtkaRF0rPMAGP$novS4M^KT@A5YFt9XtDi?opZ^wSipwCcER zh{rMaJP;fXL#8hM&*SlPza3alUFSi7m-8)I5$btzL*aBY$A@&z{b#-$0J^3AFW}C(PC&EGTf)k*!v^ zAXNpQsKD3zI*`kVGVJMY`QDyjs*2p~{=;@6jaF4e<=WF2NZ<0L7292!s!IkQoWn}N z$GCKEa~2kViR3iH&6N-9g+zy#INA-r2L)PV{Kv?fSa#>vP7!f|GcGPS?0SPexo>^c zzxa?zP58016B$H&&dllWNO7W-w?!d!xJ$w;BR)+o`%w_jU-W9*GQVYuWqRmR78Ev> zwLyw;VbHI2MCFRpB8b*E>~RZ!IDCTd|C+rRBZ@2{{8nNKEG+;!zD=9>x;d^Kc$&}X zVWoU_8d5d9_eXwCc~r>mhWfIM&y`9p6TJuF5l7a)IV6~xaDrbn9V{@tPBgO;fQhe^ zY#I&&awBDyz=Hu>n%3+$Ur_x!7wLQ>@6S1-TxKM8%ha{jnJnAF&HTOP?P9=pQRU>Sb;-`GU#i(2 zJbsbdB7s!a02c?>J#Y$=#U*#d0jM?fSWIfG(Ch+tL$rylh4yY>UxVYs z(%yo!{^$^WDExcXJ(p>*E z#(x_s{qW21_)urPT?I02VQ4uuz3g zbVLNDmS-bNS2$J(de+4PqQo@%c#?yZ0FI&)+O{1shY^vkPIl-zG>7E2$+zD3noW+# z?Q$0QpsAvO9>VyT_}yr0roe$!@xZNhUxopse$eB!YB0?@OIeNwHYY;OuL3~)fm^So z@_Xh1$g~G(JQQhf-42wR28Oy}JyD#+6lP{sB6t!lDQCr28E0 zV3y^1MKh7i{8(9NtK6Hfrgy$p@Hr{Cv$eC#^eHtK1`d?`sDq6ISSiT8{s?*SJ?=9R z#GK<5(tc5Z8rt$Fvnh<(3X|BxYoilulERpI?(Ch#x#RAR6#%7SQi3w+2*5Fsf1ouj z-v{5=xfDf7QtKzIZhxEU{bQ^{C83~Ze%})(pfk3tHCC7AQkZ$JsQq=oOTC;) zW%QC39Mpzz*wy|ivzwf$d{Wzojgf#&ZpY5Q#TE=fv+bt@+jI#izU1mpX|+vk zGY|eZe5O*4q6gDwvjgw*d*vP{7e4|)`57|YC{X%taN4!_Gg5@`G3&J&mgDHHfs2M! z#vp?{>TeP7X*1EW+{0co6ebW?s^10iu z0;aP^aY{5}B7$}kBEr@@(?`8NFtdU4o{TtM19k!W>SyNx)JiK|VmLjFOW{C|I=m}6 zfWVlN<$_GW+8#PUvBA*K0s*aK20-n=212wT+JTe0vhGoYijO8hI_y?0_G+-PhX(c3 zc2sn4*_8<>wS%aGxsLE`~Z1$HXU`H%%(60PZ?-oX;ISe8FNfX-qK;OqEPsnPN=2N|@ zUNgM^>#O@4hA)E;!TubLW83tlf(|Dg@ z`w;{y)1v=cQ-XSpyD+a=zY7P8Z}Z*1DDj|bpI4`hHza^iUW*}6{Q~%nQPXd z3L@8_+SEVOZ`qJHt`<@_71Uoeb2)&d7e{~;((0Zdf8*PdK)Qs* zRpbTs^57mFJMv|^v_ z4P@>fUSf3PH!9>EXb_7YJ|yqXS}N%4gralHJ_yToUCDF`f;LfSsSr2+kXLsy;;BIu za@cY8xR7u8?bO-LE_XG0Yj|ql>@8T`@h4OL^bwo-M*mQd|UTKyYa)^D&zB zRl9I$hytfP7})NWHg6;4x`U5<96VNx00|7mD8A8x{p{H=MTpQe?qZkbr}k<0vi&P| z;YyiCAs4y<%Or!IHiCfD$fSW|9?HD+E4>skPdGSF@!hf^qa!g)A!*+-cuk?8VrX9@ z=|8Lw2jkD&Ff&pMm03J61j$*9WrCm$u4DZdk}=GwNY`Jj0z0AK0?cXS!^^8TiThl|mWjVfK zM6ixwEeE^gl_pqnPrz@R6R`(iz6~-6VFEmxa`2Q3`u-#0UBg^FC|UV|eldzxwJ0t5 zUBqS_$NKh@vfvxOlVWuIkn7;-A>AXsiKMY1#bB5a6_J zQC0`6%bLG4d(NJUm4#DE=NYBx9AgtVjRSbp%fMA1_=NOII71b1V5{ya-|7D{TrJ!l z;&%i0Cf|y)`EMGvp&?8YB2hq@_S9q$<=jMz2p=6|+(zO`eKEe#;O9Foe4^I{{ZMvy zP@hf(yAhgiP7Mox^#`-RA-p#tYraA$GPr-|(NY7kK0lw8frYg#L@ot%9s@z2=an;# zIy5p0uRC1c0#nG)!55RQA^&+N9nY5Uyo`5lmi~QktWMh-QCiPP1F2`)*Yv-<{d%Gf zp8M7!)AY^1&TtXn7FehcK7pXsqY@I+-E3K6;U+Dm zAk~e-XA&mOo#Ji7!*vy2*Y4>@iIIV49`Bfod!v6Z1>CUls+4pmtgcfWPC6Z<&Tc)s zFtYDBka&a|#NgSXzie&6@1}9~)Qj}`2!ZsQ8m-i z{vAYvX?Vj%f7`%EP|hJcv9>4aF3HFGRt}YKq})m-+ss3SBC}OSUYB+X6Q&XsN3|I| z7)?3WEFEbD0~t2CBP3I8Ew=Xa%pq2c8hL6xilb0k&ph zYU;%T=@z8p%t{WB*&-dZe>nP-k8KAuc8K$<+v|5R&%3u{Yzu{GH3$e!^UHJ%^eD~V z2}dHst}P`Is*(?=!(@Ey;oGuF9UF|eMoq!Q6OS;>#7j~BTbp!^cP2`ZX@n0&DPi`( z?~Mnk|NI$vW$kJIxJ!7!4Ns(hpmxI#oEtw>6T@w6NAMW&XC1&B^E!qZ|^tJ3nun*wS^{ z6eDK zEt(cxqh+Vm6y$+4`8K>bj$eNBTXFve1KbAWV5 z-(9^*cm%?_yxa;mHb;N(SfX_x*EGT$=uy>(xdzy1zr!nj*g{Pn;pLYOq`G?^C4cKN zmD(H*(a-s+tHpmQfQf-~;TX5df!CSJ)k&*jA%`w^4!+9X~?Q5d8f*sjM-|xl-p8L(gtRq?RO6Db(8Cs$uAOlCmf_6+I0337kW@ zyMaFxCZKfx0L3CjE#heYRKu-En`%+Y@Nay%LtowjMHEJch;Nsrk!t?ACN;_YhkV#9 z)3|IsL-@WL!kHkjHPDFvY>&w;K-Nvdes(l%y2IpcZzODGjf6&YGrs!DCq3Q2>qyH_ zAq^crGxA~jviqbTp}katM|A5IP8V}EK!hyB&qIGk7%?Nquc0dBrc2vilGM^=C7fuq zkyYn!S}J<1{wj&ve#mo0B1!-GiGmrHPr|<=@0Bg)Bb|%EM`gwh|1WT{rDaHfda{PF zac7{;6vn6ud7utEijOlPz#)}iVWKl1)B{$$G_y<%|AP%QNb@Y?uA}pOroWWe7Dt>$BsiaXhkV4-Wb5B+jmShm zG3l$swg*Q#9D>^rsja#tH>L`~vbI3Zdo>xE0W>XW@$2lFPgU;EE5s=hgB7er`pfRf?|i)iT*#sKYlZyFNU_WA{YPrC z_qH39Fn@R@0d8&tikdN)!>FIa$Y>FMh*O&K@ZCyZtT5y|`rymm89EeAo}L`;jBgjF z9mpAZEA^}5P3C+Lez@5|vUhgBs_z4^NbC6An#rTE6e@f<{~Z7ipDvd1h{YV=vbRH% zOvKdvTb1MPo;t*s-+ZU1w>}js^gril84j20b$e}T!)mQxv zu%k)piD)C9p{c9;(KDq-%fSz`bvUr_9zE>Wl|2kvO&Q55z!Lt-Jck#DVmizW6S7#I ziw*ggK`7<0*|s5>I{p7Ea^jfiR=Al}Vfg4fffWTxfE81+#SyS+oD2uas;^rHN2foq z!yq|g%}~C%aU=MwFRGXCUL1C!y%DyVyj{2AV5Z~<+k=YCH~MB~U{IG8Wj($c3oP)4@>Qy6P~oN~La@WhUaZv9gylEshmIQ<M--xm(^yNc#diyR$?!C>}50I(GG{4&`0OZDzu%`5m@|LOw~$DY|n2 zyzwC?D~@N>t=htg)w9qmHPV{~4OWjx87-2*Bl3r0%z)2g_USrA0QS5X1Sx_ggCO8j$-;4bywMb&ga(>0>=Wy}qq{M*jZy{X)c_*v>T4 zQ_F&=_TcHWSFcbRANEDJ>LaC}n_ex>P|M%WwPX7+lr-~VOG2Bh{W)TeDmE$9;(r;G zIId6N_dszDq}Cm?`yxU4NAW8vScCm~suZ=2By4Z5LEzg?^cH)s&pQ4fP_|hpP0zr& z#ALC8UrRtz&&XweUuQ=cY;^I;e@_>-3a~gWnjlw>UF8LZ9c51Uq97Z5bHp*6CGGn> zLg*oYd63hWcjUgjId)51FN&3vgB$mcvvk(Z9nkraMAv@X-BQARWK~UF6EK3-CuQ|$L!L@6R@O1Ub0P_27|5B z?>-iIwi*&6dluOGYF-+h}YaU>nJ>Y=mR=+AmNYsQx&3@cj)VFk-w9KbI6op)t>So<-sR8#Y_01 zzI@7XuGL5lBNU3=2>ISN;FEW3l@igEGGIr{;sdF(`YPP18cy~7PSlAU_SWML!KIbN zVOwnJBy1UX2nR7R-2hv+zuyF@!4n7+RxM?WgpKI!WE5DN)kl-7WK71|6 zt73s(aF%a~jZUd&lHF4q9Os!Uc}{wPQ+XhfzGaY5ILZ5nSE|415jZ9bM@ zDrFfQWr)4;W=7D5YN$HadNt9dE|x*G`_8pra~>L6?(z^Qx(r}iK^Cq`%tlQTf?}y* z7zSLm@H3eIrYR|dj$otYqTMwWhhlpV^|T1)L$kzB*oE$SIhSlddGu2H;O14^)&dENHMkkt?5rJ8FFDRN zfSG}Aok^k)>7V`aJ4DGc1V z_`;8%q-=!Z$Q9%=3SEq@;f!6E=Ky&13~zZV?CRSl5eKfjtV`kpv~cZ0wvUdBC+Dz6 zPm^LcbNGN4kzVa_xyHnIE8X>AIV&NpQeFu67V^Y~HIK%H=Z(5nM8q@k8Xrwb2m$=n z$TB{sEojdtJ{CY6HC80Ndh{~no#QM3`nE;Q+aaACUr>y_{UJbS^^Eal$80RP`tvV} z=^H-N%vjU!7c(E-IUZe=$jUt3jS#IFOm|NRNt;DA4I2I^SO3LY5wOUB%Lu@gzTytt znX-fi3F}oD0Dt+2B&kP>I5(eDq1aqX8>B8BQr={sKr=&)CJmF^f6gk`UpnS(_g_2D z3FE3(Fvw2lT#<{geNyS^qTa1^c3@bm7COlZQ8iX%R&W{ zJ`J$E)ujU1?jZ||OKHax9@zTM9QA9Or;W}b&EWM$L{ssxemj|M&7o$(R#X%`p#k&B zg;>^aPG+9P3;7$?{MAM=2uJT#TEb`?Z4NCkFf4SLn<~_%DRLRf+u85iG2^Ht>O6;) zy+e#c&Pug!21LCbwdj&|frl4Dr&m+k48F2ic&dTZtt5aAsrdoM%p$uk^PgTC$JM^y^gSWUH$ufTwgYI@7+SaR9n1^wM7Jw`_*g7>x1kKG^_Q9}PV z&N0ak{5ohn~>N!9`ujw;>DR)fx>x6LkVEDYrkK#&G^Fd)0w%ye}T z5?YPHI!Uq!)0{12%VY>-<;;LI1mgiW3PiLG>W9i{OFJJqd}8@3z&#~sCSovNJQ6)b zPb)!9*)@HaJzp^~<1hgYSJUh`jAShnG9)Hho$o$uAtMo|K=lh&$Zt-citEyN-{t&- zGKMC(QBN%&?mWjFfM8>n-qTzqJ>5Mw_bL_tPu4!skJY9diMn#=dA63C7hrXGg~lfF1F9tHE$U@wC5Eu# zsa{^LSk38N!t|VUcr|$Z?fBi%7e|rI03YM3v2{e&l{B3z+m0Ol4kW#1dpy((0YRED z%gkGLo7p>Py~`QwFqMl{z(|PvemZmL&Y}CiOTXE_HzL@dP@iYmL;d3!yA&MYD9bGo1H7`F+=+1;s4NT z2;Y8{FBqu^BSk^y)#=#@9Tj5WzqM#JUtAW`?dtnZKz zx;`ZhFR7o(^l`Vv!guOvCWcNV!*Z?9-F=6*kcHWaLa_UQ zqyq0+j*p|Hra=uAA%*9{SzIJWBwq$x%y~`wWNh&hEhQKLm=a)_;d`k%+QA-a(M6J8 z_V@kYm0xYU@6WsP9v_kUUaAiZJ8%pt=yh$5H{<)N#*tyMGHc4wyNMIEO+nWK5|+7M zA(mMrgPA~Dnkh+y7wFL{{!T~dcI_qm;l(wS$=|3eYzsVu(v7foEL%W1d9zA|&8EN` z07};P@U!mUVUX{Gj@d(JnSwkFsvAP*+&F6qsD?zE2M)3ma_I~S8%#2lCLGSvSZ1`2 zjYckDX8kBR_M*x`UmWME;iRRS5+ldNHP*%ouMKPt3=hTbSQ=#L2`F4)y&G@Td{xja zO3Pyr0XW^797mte;B~CQ1yq_?Axa)u#d{PLNR>IKD= zR}icsC!HE!X1Zym_xylOz)ecC1KjCmfWuYRDx1xJ@Af!N6pJTX6P%YIoY203!krQm zNi~q?J^r6@RS#*gB}`7eE%{x3fYYpyW$~J9^;`a_3j2KcY6LMs5hHwI(g+4+`w+W` znj0DRN?#%U0s*}_jF|_>jKpPLd?$%)WcwokH9*S0WVI1Cp99d}sj#QaZ!?2UW;gtU zOT-Ix9p>-1ebvVd#cM}NCr%zs!tYq#*dxQ~yaQdW|E;NV3G3;70E{+}yp-U+$=H3D z5gov&Se2)9_p*lP%w%CcgD$v(M2D|dmYqVQRQ9QETk^{c?4>!!vYuUpojmF14IO$DA|*=cN)*4V%f?Bqcj zzNn;z3X8jc><}%UWNqY@fFB1~z&-wrcq#sB_8?%%CP(aVt=y`|xEV;CzQzYUzOfju zBa_oO+Sv|X>kM_#Nb@liobt3Wdh1ES&a61c!nXh&AeoSKd$wEzQcrBuD*n6}^&n-R zg7A9wr!Reu!}80euW0_7LQ9UAjM@!w0(h5JbfdM<#hLSL-UiG}tlOgXl9O5GnOBQu zDp%xp=a1Hj_$mXx=e(Mc{PARvT_ScJXD=VO*evuS3w@a!LDP26Mg7_6P=}lXBO&Du zB)`n)H|FgcJ=J}maP;TMS4URcat&I#q!A6Mq}AX8H>^t*(iBW_Wvh}U5**XybabnO ztoFrOZPmI=2k+AWR;(n;wc{DEIYwl3?&n1)!fL+|CCsWq&kWc z@+>aT%>CFNGn`*o!Kp91v0hAr`<&XdCq@-IpUJ0r8#zja&##J&52dP?k;Y^+u>uyS zCFy_xb@qCu$Q-#`SFs2nfdWAa`>CwbG**C3sy7DTv{t|V$t;}F$+x$;(2lN=@NM7fh|vophaG&{Ri00k43TIX5NJQV z8^J{8H_(6wZ=kxn4=y3%_S%`x3WwI>P}m-sNM=I>8XS!A4Xl&LOXmEsPxEz>v%;4D zJ03GoBEJ+Mftqg?iwVT%y^r5e|?fu{8*cof-Qi}a( z;N7ttudRo07T6B{qRcohoCr{1Y#ho@=mUaWwk9)APxk^UKNzDc2E-ijeK90>uM;sW zZO&eA7RU_^OsYl&uRD9S)R|2>gl;q?#a?5@<+yYs}rnVyjJ9 zu)rR=Ya5mn)KRLBV(L9%A3|R%XtavBYToW6o`Z3wiL|HM29SvgcTLv~2f*AMf23xY z)$_co=QhUGU-AZpd{#pcYHoQ%Pa+2w4DQC#xqnsRIhou|zG582DP?Se5sEzY^6B|9 zR5VYvVEH@TQeKk912MB2hGH{|*D;!E(~S93mUOB_{5sin7!j-p!0sEV`?KDwGYk55 z3#7Hf0L_;%fYYJp6_9b58`qr06S3hdRTV_bzn&}>P9NFY&Wso1+GSw?K-k>^#C6N& zv4ZeVLgysT2-#;eFE~WeM8y)5g!!;#Cag2$e3o=!`RfAO?sZ!yhWdXs(guOxyP*!o z0=Mq4B(8?W<>QKD{?5?P)W_e>UST(jO~ap+x+J+ojix|-pIB7xCwnt<%iX)gQFmYw zi(78hWJWs4Ddk*Y%^{sWGX4o^V5F}nS~r{sD-mB7TWprxtmhc<3Pav}9)V z34ofvf7$MwQ5FUXlLgf5D5QiUL53s4E1sVCS9c}Pp#GZ^@Z$SC5|g!G!yZq9}wUM~vZwFf&i zX^0C8Wvd<;{9gl-_&AK!;FZS(d)N`WNc_TTC9MCHXAi*x!FdOR(wTs|yJcT)7fml~ z-v;ZpkqKXmfWaS%IVr5X_J~gu_{|7;j@8hWSJ-0hs%n`f60v4Ml-9F~4z@E(+D60D zTSHb;!ZJmhjGhLU!0%~U%xK~WJCzsg=b^#UV0kCe&zJgg;av6s;tY{?e^S6aA3{0D z@Fe6{+QK?q)d&7;HmCwZut8`+jX<1yGK4ei(5_iTN4uA-f;dq z6d$Wr;`&FOtAy!X(T-i&?PT(}jw+maog9`swALF2)61KW*5(kM?8D5mqX!#{w$zA~ zi^mv#|J8WOwH%A+$DSLGJMgq=;4Zyhp*O#|ckOkLF*M{erH<_veWBorc=AI_L(6m2 z9WtJN;}gKh)M(G1srq>NlUGe1^Eu#2CA+8S5r+fBgXaEMXT|my zm9JaRbu*1}<%!$mwvFTS<6KNc9TJ6mK@&&}m$2~>kBSij@G9WopeFEWZ}#kQyfnL97ar>C2OYP4|Alk%8ca7j=#u3JsA)hmk<#@IG%T(xR|7?;4;@SV z;y`QEQ7?5_eN;Mk)HiSJ6LR#hg%Fp+BxvcL{;tfPY7xM5jcymB{xc z7oX}~o-TMTv$1~vYU6A#Wt>oF)+k9t4qO1um9{}KkN>9xpv`KOAx!5AWog6QSFf8}3?K~`I|-=J{Yz&?b{=X{qdk2DP`^=Nf@_zV`7Q=Hd2SsT~^r@5^B1ZZ_*5}+@KvFqBJ8m$!<`| zDeqBqxVl!1Mb;}{^Q;E;ahNnZH(ZG3#b9hok^!VhjB(0DXiUE95Zyga1%x{p@XXi< zuPF5MQ&coI@zp@Hq*eMcK9Z**4FFi2C~!WgGC{r0J5#oxVO40Lycbm;ii&HEUaveo ze-$}dk@57qV6bhySEpqV;J%0N@uk@lZK`nNu&b7qFSSL1>1oH2oAZb8#UHKnZw^HP z(RdYr8+oVaue_alZTZWm<4_w5iLAN?ZN-TCQ?9h)yH>LsRwIK?LCc;CGBCedA*c*a z(Bx8uUQ6;(LZ9PRdaRMHb|ZVq`(xN$5pggc0*4%twVdiG8QlL_0_DhXB^!c#PP&PJvcsfDUvAGw4)j!#k9$Fc*wZs=Wl(4V*V1wJZv z@b&Wq!4v+~P6E=Ln}?*hM)wR3w#8njc3-s>#rs}=ON|5HNs#B5Hhf2QDmj|HL$^>S zKwQU7yQK^}FpxB!!90p3)e>b;xCEP9I6zM$B1T@-8Be8PNKs5Sy66uhFz?hvBOi9S zUX>$bYtxWu)k&BSHaFI0r?l$b0CdY!Nsr9I8Tw}rMK1hq0y zoaL==J1@j7xiWf*9x5c@|iG96*8?}0>lc48Q{(|Qn*nW z`(+h=Iz}$kT2;;FWE#9Fzb;E_!*Cl=uI`HIKZ;Ptr%r9vS`Y4TGsX;|X)$jqQ<^DLYs^2QS~qB3EU0$^ZNe%==or{~)*tnNPY z7g>@>N@y18J^LEQa#vxQKSl-FM5FH~Usu3&w-Rd{tvm&N|Hu)skbY$pvEJ)GC!21U zhG8Rnfm#z<&sux$s!q~C7u5YMAw;q*j{n2C%8@T|1gimyl(Xg$QF-SwR zc@B{)7Nq@NIi58Gp~zL2M}@xCLp7U5R6@qtL?58O$wlF=ez%YG%EKB}bQ$9dYJq`l z*RSPt?Xg;42gb-VbgO)B`paVe&ou~2b89XKy8EcMGK5f7X3$Pli;hIVK)R`tAR3~5n)(*ZUC zE_&HZAWg3$%#Gl?L$~E#?`btL__w_nFa-J^8(p)2V?S1dMWGfa|Fs3N*;M$XM}MT1 zmk&Pg%#h+QyOdLuqa9USONh|0pt3ePRg8OJG_Iu!7vq?1cMIyyLNQvrNF5P7oy+Co zVg@4FV%EwoJk-MIy_%AD1p@^CVchg!Q%zncxlP=4&Ztt;hl>`#W`6Noey?|)g8BTI zJA5-pzAp4FI`9Z1oQP3ZfnO2-V@fkrSqNuNQ85cV4ZW(-9z?7jVMjv48X`rWH5lh& zCfYWMtk9u20X6`cSsdg|!*b_V&Xx#}TsBsDbK>=Qt{zm*CN2t@bA^}bv739NZ84a6KHE(G8VoNt(q64ZuH2N0@PT> zz_4MN{8d2MkwTw5x*J7h0sKSa=P5|rS%7K}1PvlAF6R00QWPKOqyU9av6S}IlnJe9 zN`2DE$|^5{6Z`XH*u(O!zZ_L>kZiV7vRZ!JnFLj1p>} zBm4lASzDicGj`}n8GrWM=dbX)H1o*E?l)z5*{DCG5qQr0T=Bv~D<;0{40di#qq8IW zR9010^FJ8D={o($XNMdjcp+`DeaqNyzC%HZ(@)8rfR&Wgy= zhcfd7tIC_!pu@i-^S#}FT@Q+7IWwXR>1Xkv5>@^@QKamUrfYkUVGnej6CcE)Qb+bgmAm%OrjULWe{L zn>dO`CE`O5gR<`q1Ef2g&l&u0qZUa;=%NqXtxnU<9YLpBl0El#-UW}Vbx(n#f*Cjr zlOE#(=k;W$Nuj^WM+hHYC^sOo@k@kZHz@8G+idmo6@=J9HbF)hKB#ive_`c5_8fL8 z!G1cLje10fFxXl1#V~mTfMUjzfb-U;NESW5r?9Ac@Q*+%CFv+>)*=g+#y@C)hoEm)c3r2E#P0Z}!9*MzowOy|+BmV zHOsa0g{$iv@4*f{Aa=>p@=b-qXVx!pK$c z8SZw!R)i}iPe7TPY?4|CmnWThE~!+T9Gkn!f|zbQIp^Ofr9rq~y5={zG1iql7bv8f)XVPRuJ71vKHmoA@}blgzf2a)18ch7in_ zP*7fB20;0Efj**Z=dG=ycwvtf^CFv2Uu4^xln<7-00aPtLkCdCid+f2%ed)WuZD64 zn#EMXZU<#fF4PY@HHy4Dhi044*i1oN2itMn7Tu$P;+3zP&?AXZT-8(mxkv4Br(2tT zl+qf7B>8MAQ;H<4PakrZK7${y)xrJ_%U^;|dr)C3bg4r&b}Uxd=>~+-a=ctuLEo6%zwPc|_*rdZA zuL)U39{X0vo$i)>AI6v-`2zHk#dSPW^Tgu3<5m|w3)*iIHEdy9;PmZJV~MWVMTqI2r!ST#lb>vlB_K_*a&EjKuK{_iWb$VuDUpkUUowxo# zT7O5@BHCS+)QYKEbKW}xK4|Xj26x=dngEqN~nmru!-qL<-J-mPLI)o6&DuM9`o5|wq~*(bqHI4fzW{pC<$@t zyXpXo?zktamE+H)EOkz|6$3U3Jhz+rwOU+Eg1LTPpnzF228ad5 zpC^mau%zn3q0fIp!7X^m^=s<^0ogfZR|{K+hn~>uxGO8!?mS%wQK{Q zbJZh3Cj0pWl~c|4^a8h#GMaDY1Qd-J|6j*#k_Rw0F}7zC3HG{cFTZ5s8D#A__jnjU z5KfHSFF7ek*@lCc@&hG%hpW-;W|hD^iY!{h7Rbuj?*snjPjaDoZ*#!nfZi0a z^HVaVr#?QJ)+EzWI7?&<649ljh$-2n)Kx=!Clg(z=E- z)D}o}E?*pHPos2P4c%mNAcp05>(bq(S(SwUzsY+GN%Ofa%E#oxT*;zw%X+#c5-OL| zjAIXmM2y(6_O8MQ{5T94WLy{X#wyVWnVZD!u)yir5I31HzV=I{Gu`*DbC`7lFnS;; zU85OMx4jJ6eeCprl6038cY#4#Kg~KJ?mg$jqP4HDt!GwT5IWyHwBO598&_ocH;D#a zeiN`urn4489IuIqT$bm$${bwR9+Up>2*NqcwXx&kZg5dEQmu;C4_ccW1CF{a702Q;0 z*vmBGd?JA5=TNdbXIodwc6}h2!RWU1_+7+Do+JrX`qzvFcUCBEF`7WThB$wm>?H)X z_WKI~Mn~p-UFs}c2@Av|=vCdm#9eC>>ziqI7M)O_I!a26>G5DuMe5UX=o zm^)hJ50V9E_{Fwb63&F)WR%{8-?2Z z&?RGfZKQfT3__zlHP4sp!nf;pPIO;aj8a^f)#@MsXB)``?WXziE`}t~k9i}&GyV

{d7_F1YQJr_c?;$3&TF@hXR<<8O08Qwd8GcYwSF(P zChF4;&0BRPJzj@y62=OF(WOJCi8Sq9eykkK>nHD!z{6*aNU>26(6pqw0*W;)jm2+r zKl+$Ehq|>=UC_C^x-mwvynpGZiw&he!JRPJUI>VkA;HA-cFrr0ufWJHD^J{@-LC2U zjvdF4Y$5V1`6Yu}2ApsV+;XrNCa~KRD3Y;3YLoZ5}Fb42TM(7yFmB>UN)A z|MtBChpAzYE`4Coqhw0Yj0NV%&&P73U+rM&;YZ+x!PUvRhqn8?=l*C5OF{3?ZGGpa z;L0Rw4;srdF=~*mE2N~^VR*yVd|V?gnRHB0&PTWA z^n8L&4aPifo#e=w2Az|rw*jjRl&XG*M+p6Me``Stfy;(LZtBX7LVPMag`k9dV(Du9 zI@Vf|Hpl3h=OoCP%7G*69sm zt)u;NXePx+7%`wA-XA$)W(`qo1x*PDn#4k%Jpn7opFVU@DQ(Q>e=I}V)7mDw{me1y zfh`S`^EBx1eI(}^ZA0v~L~AHEpJo|#VVz;lALK5J@EV3HlV5*JYo23`*Swf%M|kXS zoS^fa*>`z@_8{W&S!a~s(_Q^x8*xsu*IZNZcYE3j{eh1u7} zf5gDgCe&Z$11CvUYbZi%ey<8|H{&yT~4;7qmLbG`{?Bol!<9r3l%oCy2;V2Pq~2)fM^0|rrDg`aUtwE=o}&h+6v zZlf}uC))R(JVlSy6lQ%J!KUl0_T_P{HZWkWwMtGNW<)4;O*vlh?EU|;*4ZlSMV<<4 z8ce4Q;j&51HD>7|05@(j4~trGn}+=a@vSW(H5p4g@E%h>aHU-Xt}9dZjgWumi~u~d znG^$tXY~gzB72zm%H=*)?a>Oh?m7sb&kIwMjJpmyEZwsVIo9 z+#i9(k?D*@UYtaa53LJGw+k=pqOV=os9GA}TZs&G9o!>$#`vZY6TiGMiD>~r=8!J~ z`(pJWG}h96U7Xyt`QO}uA`krC89&pSQ1@U;`FL6x`jOzom~i|FflT%p1VqTC2;+Tk zomhO*UnN2C$W#GD=~p+N=l)}B&CgX7h|25k;9d(tNm{LK2 z5eoySC0;qn!cI*)aI!Va?MGNxv9!#U?Sxajk_O6}erakVHZiw{2Ig~a1nSS#!>x33 zZMu#~Z}lA5O=Kv8>p@Ukh}-cUI+j_pwLE$Q3ARo(>TVz#>jNV=m`>G=<+O;ggr%Y1 z3=>sW2UDH6I1Lnx-k_luB6la;i@E}Ax; zJi=qLF=;5wl)3=&)eK$j^c6u`=oC^yGHROva6F_=N!a-e`0AddMNglxP99~ibJM1R zWhU#K?Dg^!N;(`J82w!JX-@!*9k*9lZMO#Y$Q$!PN&At2YlGgKCEAT1FrsDspPQ^!>#K?0(4=QoIHjIe~ygI|=28Kg;H7GPG z(2ie-DYn%wN~H#`vM1~%cgjqQOBkI6Q(|849j@gYy;b={&kP1Mo^d##vmzHb@BvMx zIBl!EyJ`A~DT=*ON9iMufEIXqy$tBjJ@GDk1mqh0pgg{-*oJI?=`Yo#?1MtRY`_EkT2TMu=>$4s8_LGHeI z-;AfBs}Ll)&gLorTHbR}v`!@%K;*dFn!et5JIJJJ4Aj2ug-K{jN2gFry1%SIc%&0L zH%;|G6od^g>6J=`tCctMB#`>ahTf4KJ4}{&@i4-h-Y@@;z=M<(qI)N}iu5vYA&0>D z8fmtVD(tqBUXC)QlB4Gp_pi!N@D{;9IGKxSG(+*iAsAd9T}lV)ZG|cBzgjMZ8=8%; zRn9!84o!ZDac0gFwA^Y;tbM4wWiKY7!z}WuArVPwyS7d>vWEd7lUadu>~HXa(Jwei zf9`ojpW3ncdbB^jHN5W-@13xoUXlv`fW!qhjyBU=F8FAHfm$9A&9&B+Jmot&(Fgi9 z5WjcYbeR}+pF*QM>v3l9tzB2|ehH%jE4U~%_|0byR#UBnyLg1}Jzu9o)nsWT?t3iM5z>}>p6;i8h`F^-7I$=sS(- z?Bo*i!6ZbE6Zefu0E>IWl z)W9w*!+v^UC5qL{|MTAhr<-EHjZodFa2QSBdIZG2DQiUbgNkhD2iFJ!C~;<3CV(zV zX?j+%;P@ILQQHbP8q$5{j*m^f(x+&`Y2DqH&9q_ou*+;UKV5rZMW2j0XMF=a?G*We zsnxz4LAP25)s>mMMgM0iSbiXOx|agoxJx;khgUl#@szs_`B%=AaeJg{Rx#bBBDDBQ z+_eod;L&ZbrR|TkC#-r<7K61{PW{5TRGG3%e9II*mRG@I z2rN-uR5N_9^OG9@;)b;bVNLzzEyZ#KyBdb}5z$B*nYwirW-r+%DyXE1Cmm>B@C&zi zQ%U8$@591mrjA1@|7fH>JWX9AT})!02aw!WU$sMt_Ty=c^g#fsV-1CB_P@sgBVh3 zz{$Il6nDytf^$hAoRZT2C=xD0#fVwucexOwqHzxp0WHCf50vT+T8Q&g?63qsckB*A z(}Moyc3Azj)N9l`u5i*T976|!^FPahu8%v9f-h+C{qVtFaVNGjLMzKbe3!e#gv?Gq z`u|n}gyZ`o`)d{tAfN0vs!9XMS=s?23wIcyhH7f7qhCG4LfNYW($-N(YCD3+Pi6(O z_JD@QxEc|{J@W5#QtRB&5sl&Me)6&6os(fyZ}mlU1PdjY{Y215U{F!NrojJ&ap2MI z1rp*V6W5;+_~PSQxW$a6-Crci3PzQrZFXX&8_lJW1eP030W z6>AE~_j`$*V+!hWcdypG)>2*(ps?lzKR;$`PmqCwlBaa#hn3 zj6KCah-5d~15eqseasSEHKXgc;Se9Cd7j0DW$gn;!ISXgIfw}V=D9tZ>GfvDesj%> zw)WG^^JTmFulot2c>L+eyiuCl>O;`y!}+*u=NeB^q-JtLx|sBFBa$&I5EVF08b65| z3I}2ng;J?lR5posUACHQ9oIR15fKWm*$xxpdk&=A-)9Ps3`7WLjqR0*2_-Oq-Bi06SB=SBtyQxB6o-la5d@V?FkjQH80A7D5~UX@n&LMuG+xX^&=| zX?s+{0)9E(aG!&4v_zDz`wC-&7)FmYZ6QTY*tCUqu?@5g#&T2krOj+%o042Mop95d zjz&Hvy@lg-zXo=$0+wWEOHMR0?$~Q)-vTbBDXloefpA~BvkAG|tLNS3c1{Xu+^Uqs=P4#YY*8jHy(8Ce2gF6K zkg2xR7lazgeKxMxQimdH!ZU~K+M-iK{>|4)Eqs%bz(r0T&Km~i&bY!^Xwl`|uy zSaD@>mBOEEzWu%XDeF^}jug`*^AR|p%W+~U8AlZDRq_|b0C#TbDUivJ=Vx~&lhk7A z9;=rP``LVduE>Slcp49G(0pWXO4cz>SKl$0%qE9bs_&}`fY;JAb_JQs*j&5(Hzi|h zlNvE@BICt`4#r&eud1f`U6B9cCE{;V_+xtVr3yc4Z2kCFa{KA{hD)Vn3qY!kh{|K5 z7*}#UwEmb(o64A94UCwfc6e4$du=hJ{9gLNXxLh14aH{Ue_Wc^#NhwdO*8MH+TWsuVEP5u80YFgkD?LN z{Q{LdeP^&;2TB**AwKH{ZC~6EI0XGXsvKa98bEZ%4&A=vg0R!YIE1$w?;a=TS&(F& zy0efl9;y&5v)h@0MtI zT@OE?O0e>{Z@m;El{Ye?KFy!aLHn~x;P-HQ330B`KY2neu$_wGy7Ibyu@ zmTMV$$iVw81rS#=#O&@7n+ZB)exa1Ls+$1Q=e>Ce?OLKJ(N)i0u zYq)mr7S<}o0)zwogy%G77VVwwlCZZQ#vE3Bc|(EW=(u$pN~7l6p`BB*?| z3QJc06@z+cw-73Df6EWvv)yT()}55p_!GRki%po|2Dr0uBSnO#5&SaZoIq}!(&f9w zn4`xl(EjG$7^T(Z^z1$_r>liCq^5#VCi1i5KOZEuQ#$V-XxRomD(B3#-=><+5zVOb zri=8E>04<&%)j;-yIp>b|J3+j4`xxEot>Uuj{{H>{NM zS$LyD5eo}*Hk(>N!jIyP>stu9c^H}EE9suKRGb1XC;zG3V0Tw^!OxKQ1Xu z_<8nySno0XGY2htghqVR#5TYfYoq&88U(Bt(c)d}3S5W8P}^bkT6_|I4^~wWgLF?K z+T79|B2=raTdjIcu=M3fAYKU-$%Q(oEwm#~in@c#1Ikk2G2<({*#8jF>E1;_B^BEo z^%nf<<70z{Cc9Y%g8n5}eDSc7qz%HQkiz zKGrZ{2A5_L3ug!fW&+;9Vw`W74^Y1nai(h-*er%Z(@pJUu-p>~QHxP782&RBN@4e6 zU%8^$7%kyn+rM^+Z|R2w@*!A@L>+?_A=B9qN#LEy=yRgx8LQvVTR7bNb*lQZ3wb$- z6mQfG!s7W^zgP~qQ(J2pK0taK-RxYyiIwDBnF}&FGk5#Tor|S$_=1!1nStwJiixK( z9%Lzq+^x22)F%bXo_6quHGdt+TwgIo4AGPo3`+V|?(SNl5SB0hW1QoQO&IXk`kz4%d4;j-?WXel=&Rc+9OgR**}Z16H)&8Nd* zhKR_c#lYHR<3Lgj{-fvIn(TcrdgB>Gt&rdIa$HJGtHw*67tIG_jd3%xZJM|87f{O7 zuvpM$m{^|HV8wZ70S?D7>R{AL*{|}u?HJ}N;cJyaO=N?!MA_Iz;c1$aqXH_=YdJ;Z zG(lYxyQsdC;&(k@;E*t6g8SEdIIPx)%!i+T;C1IsJq8uD15~sTZ9pe7ax+k(SD8iE zJ6@+P^8^!aPWxi(30jb1kNRt>)?dqpmGeltb}JrM*u$Dz`@88`6+-g)P0VkG)izIG zrROWug10mrvrTe#z&>9qrH-w{S4IWZChMgna{qq3uc09S&+!fDArPSr>S1iuu#%w*rt{j3x*lMAh`o6c` zeyp%IWmM~l$x9IqBRF#|;g+KH9?Co!^$zh)x_ndt*a0A0jAW1l$(q%SC-%u`P7u>r zwK-X8-HZ)F#qEqvxcLKDENG~g51|a$p_kggVS!bR5WW_h9YTqtINKX&l~ef^z+Bn9 zVc@4~ElI0k0lc+_9PAhv?y97J5kqSG5?pt}m2iQ#!RY*F+YU;(vdC#|lhFTo?9Ad# zawYz&SK3)$e{ukW@M~@OaCFiVpk-6uzf2Mt?sh|df=Ag2;w3wc4`C!G&Ui^vA!~vGT*Az6IJg}P%^w0C zN&V;K{PA~hQA|#DwN)$+7!=3hR~G68z$>*YD(=*WUKi$ogIjBjo;HpoHMv&|9_Vkr zsiOM48OI@TEOmNpNw$T91mU5-^ZIUggi2JjX(Y%NTfe>`fUbu3%1kU8WuX+MHPC^S zqKzoY2e334)5|1G`q;!@+F=a#6Yu+b`MBG3T+Sdw7R#?x29bBDVKK+Kv{Rw9pS5{t z2zfgFe|*aDM>6@ZX`M!GiNipktI5!u?VMjm9)>Oc5dvU+#5rA=CRTB)CMb}hI)U^O zBq3SF8<4q|q2Sy4;}fK~tmbmwH*7vZVxw4WQ%bTv7}tNpQ}Yy?WZD!x@I0p5biiyB z)BF8*Eeykwp%WumRPb^{hA3nT1-MG%C|QfiVAVh?fUO+P`x>p2uw)F)%j&L`A3?Dni*ydVT zi(e!&%~*VylN9AXLKCRejZ#7K3^=RvzNoe0j~WJa02{ofGnZi+N3J@u;}lb3b*@eO zZvDQCW%qs+;>wZOK0pUzaUEYT;UF|af!hOm!qb3}brZbZX+rz3ShPfvkP<~G$B{hK z+DqniQ`SU-e>-7(@feSdV9JCf2XZ24EZ@VUX$2@W6-8`Fe@*Lxcx*A;mU)xsy2(;) zpV9{Uo?Bz8%>F`fPSAAv7OX5<{ymkxTeVv@r%G(>t=5;44RaoZs*1}T&aOQuRfyvV zta#7bAZo!Pu3L@q2h{|4-zXMIfe3GA5qRP6gDn6{r>EGYv(CUpSv|(x1kn#67cOs7 zw!BHb(hlDUAvz6V)v47%={gt`@UH79O-bz}fvsaM%X=5Gbdog)Er*pLRJ(8&rI%-w zNjLD1eX#j1@Q=+8o+Sr%G6#_`Fef;Bvz2r4BHwR%W~%py*kHOrb86xxY-P*P zPd|tH>_8s!$AGOw6LE=;q_z-x`NILjL{APU39v;Js)sLT0fu&VO^R#ld?QR|c!qFg zPTP(tIQU1V$PtPPEP*!yz>OnA{|xh3d^CH|>l&8Ujgq$ez*1v~Q?7P^>;ISeWDnc; zEYqFKAdtuV1zdX(Xg<59Rqt~!fIk@#8HkhPkn@mGdiuMNcU{ZdCmd;?W zHtiYCF|vKUE~i4jTEIAdY}m|a)d~JRuInmV(nA>7pPK1t!@_G^@VrK~bCs^&dxNvo zB_K-{GVE;1lpR^#Jf*px#$@$@w6dYeMllF36qvIQzQPeohk9tE)WSy(L51v6w+Ep- z2m_HBMdAq1Ts#+%Db|o7mD4r6(3DU>a#T4+qgq*S?^HRKn_LXSbiO0-D<;hFV=Uf| z+#uF%CPsciZ}uXu-pGVeK3AF24^%tf69> zk36&wd+(pjM9ALzMTB#s_fV9PTjGjTPf?olVfSsin7&UDRBj>^g0crh^@kScw{&sm zZG{zq&OfJ9{NbUyVF0igtt5}l>qM~?S5N#;}{H|jsNeT?>%oLa(tG)3D&Oj zI1ATU)IkB)m=ZhW4+jJnFxBPQ(3tYP0QJ6bMH6fCbae4IW^v1amS!qJ)tZ0mA_*Qk zi5PWuQi_?RS&kjrBrc_4oz}ene~r_4kaddf$H?$Tm`{~}sAGL71cLIVMY8>By0z>^ zo&&me=W8Jn$9`i(3~qdE-o(Ii0&hc@5((8>Vu#J}JS-#RhQp^7*VvdMx2GrOyO3nF zmRpW!{?HEAl9G>A&mZo~B-s^u%UaA?hw^s!me?1)645Bt!f7gWK)0hEDC&$|LTg#% z(!c>*L5MB)vB|GwlN1ju42O{(!&U()RAsM2xL3+6=M8reBot_Y(ymYSh4#&^OGWV= zNg5HIg&bWF*=X)_8a7xw#T}z_a(y(KS0%*)%c`@z&}BD}N}B#&(=`JZ{l<))?P6O- zB&WbySPg`Fn=P#AP#W5$4OJgNVS$9T2ns~ehfE><dwm>*xgKmqHY9rllZqKi8K}q%%wg2X0hqK1@so0kP{6-DAqD1Y8L~k(6VcQZ8Flw>!u;i3 z5^8qhCGz&YXS;OYmzEfWZ*6u_Tf12bEGXq@c#qHMi{Z5#rr*6W?$JM9=&@SI*@be} zR3PEEnOO=D#iqF~UTYKq(SvXkR0bo) z4}MIY-G^1Dh6y>BT2$}hhOg6m!QAF2%GP-SaeG)}6Z{A9-37A;${r^NK^HUq=qYF~ zqL^gdYF)GLwWQ}wZpIwpKC+`7Qc8TU`RXm)+kuKsqV|`}r6W?J#VTrvc{wDkg7&i? zRm7kcm~@aqG>vkll;jzVlL#O*jIooCsIl1qJx}*xPUN3l`=ySQNXZT{_`~-f3?us`CcdF%im1N$yJ+^;SXJ3{c&2g{wNOzxuJDs<53j+O zV}Y?y@@WBGBqIo4K92()GMsS_S|-wiBzjfhDc4Lp2Y-{K5CAzq#=m0BMQbnx38vsB zJPSTx+5B=-cj5-hK9UH7S`7j4=Q-bdMJDEM@&ZhD${b-_F0vE*M$znrJ|2ng_=0H) zWJ&>5QH-F4KG#2oPUVsO!_%Lk44cOg)Fl$A zi@>JRm;zkNssJ>?-b?%bF;yy)shUy-g^1m(kfHOo6Q@VA_=;Rmo|BQZ!1HIh;PM}T z#DTO2M*Vd0)DTQD!7r#04|Yv(HWgAQJG#&ez%-{2XT6_j21Pc~8NqG{3t- zIo|6~UrWLPb>*E)Fc1t#u?y!%{X$&bQ{EVfF<&clX3sM=SX@Wda3+lB%zmDT<3H^E@EHWp_2!zZqK zmg_G?TKH6wlD)coX>?0pMA|#g&wMqp^lN`*QgU!zX6AXj@=!4@@kHTf+UvaB<>I%z zwDai}3!){+@mp?fh=HiOx!HJ5e=X1vHU?K^_SxJR10or2BNJs<{4_!wkp*s9h8 z6u7CZB=U>z*;#B)BkN}U#>Ee86_1t8psH_!d-$2tJS1?b|Ja@JsEiRpU#9CWCQ$@hl2c5_TH42!?#kb zkwM9bcJ2(Rb+wp5PcHYGN*Ou)pI9rucy*WqtI9A)8uSbk&5Ozv0L#0G>3JlFNf9j5 zo&Yjkg&`${w1?8*4Tn$CB^ZFncDB}U=TAg_%FLBa7#`}adguL_8zj)-VVYLc??Z`{ z2TNYmhhvLGoHJ-^zEbu@p#WAVm!@9v7fOl;#NZoPeX>ao z2Zje(AlI{H;jWm4J0b?i!TQSk!?T!EIj1wq$`8D&!jAPvaxz!rSepH5@=f7?lGtV3 zyO{uaeGK;vj8>x%8E%r~J(V;3g)3RQ;dzBZd>FOXoPm_saJ7jErv!SSY<*wuw?1k2 zOTkYS)hrG6{Uz4V@^EBK6t}^9Mq54EPx3f~Kek-hw<%v`Mv1jlAY(IO-~`mJ*0iHd znHbBoK!5ye7wJaiO*=rm!q+_=Ey9v1-W4fT^uktduju0=VMm#}gZrDvF@FEnC9D+E ztpDlWK3?*&(}82^x`d%FwX!dX$$~l1nG=~$LEwQ(!hDon@hOUDNXiUCD)I6jlU7<~ zDNBd$(qE92Evg3V)XUKZV}N#9Q6?^iccSS$7nig`cqiEkfu;4J)RcCeoESrte+5eG z1MZv|&7)k!ZbdKYv$gyy|L<5MoM{pFw*>u<@uyev$AR_w!qK_jmCM?`R0v0WCCd@Y z#LUnrEcZ(b-+C~RCD4Afjysu8*o{s&O>d388c7)s&v$%q6p4Xd<}9RAI3nW3;92279g_8hiF3|C6 zxXKIEj>#?_EB0~q7LjE(WCu6P6xFWwst%kBk=Zs}g5eWA*BcL7a+^e+9H%>@Yh>nS zcdE`vFGT&U_Fi5Y3Fh+$V_DuTl=!|iki;%kX}FI?F8^ryPJ&^Oqe*O?Id7WTThU1) zVbU{Z`raeb_lf}|2u+GVU|`M+4d+riixzXy85ebXLcRrHGMh__!Ehwo47O)vS;=&@ zRiNsh-f=W=FJC7C!Vdv$-E))`KSka!x%CdITtd^oLm+eO$y*`Esr4X0e=Z|zd)qC4 zupOELhFgYaqKFW2tTAZx6=QVH9=RP;=%<(^NldE}D1RQTM>wrHqbb>i#NY2t!ahgDpFGS#$<&AKP9R$Zi5q@q!oQhLrN5rgH3xt6W)TdL4q-19B|z ztDA4=g@`04Cq@RFiPCSh(_R*EdUguoF0_9|Q9nbTuf;o>pK%|J>0$H|Kq;8aDVYpA zFcQa6lBL1p^xoJ{p;JRKsF;H}%hLRS4squs@@wDbFRP%&`qE5#Z$oqmG<6HGSQ$OD zJ@Trya`=W#4mu|*NdBPL*Gg#hfUu3Qp!+Swb&R+%!y?T{uqW*^k3u@cmM|$nCvmL< zWb2-mgiB}{0D0co1Oj)8kv8PP??P%-y2fXYsVgnhT*jp(v#(UjulBn8JEM@6rTGIn z+nUIZ^6`v_j=C?F!QF~ZDaTgJmhB*io5n|z5p)VP7V zI5-mrDaP7%HX9HQ0!4;{M<;7WHbt&5? zG19WsjsZnGRCA4|z{n%*p*r~uHbpl4rhK+R!&!j{;Zi2Z+OiO zp$7Yv0yE8h{b6r&G@g0w0w$TH!Wy8eVl`bc=O)S8nMjvLyOQsD(nkZ(Ly8!y47%$X zW+Bq|?N)nKfmK_hXb5isyfp_K5SiJ?Sd%PW2<+x*QtP0Z5~d3(hCa#8g@Io;xzg~8 z=mAUpajF{D>z)IMKak_QpuPH^xaRdWNq8{6?q-$u2xo{*ya^ftC~aJo0f6L3g1O6` zkSb>2GT;Hh7;28Y_1GRGS9sSDv(5QIL}0sUWU-)%77sC}jtR^6_)uB+q`%NItP^Mm z((H^V6(B{taR)@KZH9X^n#K}X@VG|-%k)|&^l97uyP2~E56yu3>0Yr}U-TN$%T41V zsGEy>m3Fq1MmLpVIl&vdET(iuH`I%cnBpD2v*!10iw=tIRy+yeXM>X zASe;Zz60NEnZUHo?%q96WHNL<63gL6UyC$T(i^W209Dhw18Yx^tryakRq~@M)FoD{3O76 zbsvaPGSaJA77vGrer^5u+0ZCV&;WprzE24lRPfB@9|&@+X=&);fuSl;qUhsa3Vc2| zd(wlV%5j-OVm4I=U>8rLGU2&cEq7vS$9AaxtJ}p zbeUm|z3mq+W;S!Y{pAC)ytDx|<ojo6F=dhme845tqkE zSh_mX=y+@d;~Kh7bT=YVKwnsdcd;$3Zycv(GUw&gPhTeD=xVs6h;bSqWO|M^@G9Sq z7`+-|EB_b*efunb?f1`MPT;UyqH@!tZTtZkx(=X0)!U7t^3G9RMc|-^JyrP}8TRk>O(kkv@aO zs1jPQ@phcXy#%}2q_+4jEVi%yP?Eq(EJvc9uLru04m;SUcni#8NAUr1SnQk}OObVZmz=bGIL~`QzAHG-YwPT(%k~ z=qfF@bIu32?ddFlF%ENAuuj}TK%q-UTnSf`Ji$Vjc1?1w;ob9d-?Y@E>{)!YXvgj_ zr|_?Z2+`i<0ZZ~0tA-nzN#t`UyGulD|7I`5H_B_YTl99!ctCaRjpn!gEv(Ood5J%N z+X?lbc3yaS^y@AvOM$tgY)nTY+G)&$z9>7GW!xQSDS953Csd@IOZM|qaz4nJafBqc ztaqWo*S6DDy@%BZoAc_34F{-uX3DPo{+8de4e!sheE+BITyzJ7|B?O%Q6C=U#?Z2wk@r`Gubp_ihjBfh^na~0Lh(f)ngUSntDmv_ZVMVFE7 z`K0rG^X&R+HpcF4B6pr@gBF3yG9j2Gq+{zR29i99ED9-VVw$max>fLO<}bnqNJfCu z3g?i_S{_PUAa`wiejEhwt(XEf3(UZQ>o+%Van6{ezjaJKBoIPJg72NJOI5IgxD5z$ z1JQ}Nhf$J?lbBB@zS9_ip!3yC*CX`c`?P4l5*pyIUVdo)Sg5c%UGySe$B<9*pM7E4 z(#A6GK_KJ8pDyHBsPg&3m|M$&&eVim0F{QU4}j1s`rg(Ex#%SB&!&snd$yFF) zqs=to@`rb#OcE4CxX#ezO|H(H!RlQrjhtHtD<0pdJCNgYL$8ak0KkIzB%B`64cfg; z`RvBDiuW`$DzSJgfeA@)!PS8i(Ku9qt`Ur|s@Alh9%@)g*Bt0pT0#qtsQ68`4u?*# zi{{dUI93F(`Y2ruD18p3I_%u1p&7}B92DNJNF^rp`C^X(peNSBBd*Idg3r+%~Mqt zRFKYT4DL#>nul9TJLKv{io?ng^ktac-S^>a#uyLe6l$tp0wd!sL|MVgI2AtD2a`aH z8d58uDF|Sf62=^!Mlz0msifXPRMv2<0uAy4ux+oO0<8^$VNA@zRwn9iO86NR56qCc=7VIJqp-J1Um|;uR@6b z9t-ojx1Sh`^cT$PNK0gEf5Z^wqo~_uED3{1_24~g5AH>S_w0}TVqPVT+E|7WX)Bt{ zsM9cII}cctsiRMzLyi&Nrwn2+2ij31KEA7n--ns#@%6UiAx8?oh9u2YX=zTvs1O!4?&u{It#%)IL%js2t?n4G37r|SB zWb{`6mA5Yx>vf0aH6wwBO??s&Ho=7gJ$m?bD(VBS5SO${J?4ry zi%`t%2%G*svQ5+JN)WH0i|Iti>*|Um#BeY|ot0dmEFM(ozO7tr7Adf!Gf#06(2sbQ zqVK!O%>4r}U89|TqsWL`*AX}ADnCvK(*5tPhVFD@5BEj|=6L7Fr#dxBPHIGzD_o#N zH&>C%s{)i z2_$uU%ioF?)r53yF1A!#IDO74J3R<9ThcY@I;w`I{ym%;P?<`SU5_ft~q6S_@m?S@FP&rgXt#RU37@337DGzx$gDuc3K$lnl z5A?D8_{u-8u|})*B9bfbzE;P>yc7FVXRx6dbw@IRhtAlRPR|#$T&FJPzvyx=jI2kh z>ZX;hky{p~^Jd?lqt5Zm8j1odFpcz~1Ku4&?&pFs!oFIB9pV0gjwFRTN^$X)Ob6G? zj3BwFt9j#C?_gZlt{iFcP;r^ARoX3T)-CJjg7SF1(d&x}R$wL1s_YfKvp+bo4!78x z_=2k$>;#`$;een>=9om59eXm4jr&i(&}%1M^c>sNmW>+47BsOxV(ei_8kp~g3sA7I z05;`tYfjOgPGJ z4aCm(zrU|;b6!nzn1!VE9;nXUwa|nGdyg|0ncMVdEwhb1@-icQ!{+G2yvn$&c3iy% zUsF*}r<<{0QcYVqqu?A5NE=8oJFM1;Jh>gU2>td2Gd@b&^DSE1B|9PqtrtwVFCziK zC&&RKvN<39@bbld3+~q}@_w8S=xNkxRAKWnK8udooo)7Yo^ z^>yMoy2yuYGBO?jH8(U+Xvy&kc~etE&y=FPFG0SQ_q5XWGyD&w04FudTp3E=e;&A5V6XABvs-WOlLvYh z{bC;`C#7@p3=sJMwZ#u4^%J0Bl$4gu=>tpqcJE8zXj%44{+;=GI%M+%DEBP5@gFG~ z+i6<5;HpO>4pn0sdQ`iOqdvg84j0#qISgKYP30a=6rYcQ^kI(JZX=6!Wi$cf;?em4 zWbMi`GI<4H4g(VvGQKz}RRyy74rkRnXPulgq228wMRn_e2>TORlbmzLr(A&@p|*8J zM0vzW5Fa9B^latLgk;jgA;FPZS>a2nju#{IXSbcxB*fJBShI9aQfxl6{7mrYqXZ|~ z^HJ3~C7C1W?m*@CX)Rc9nKDa%A6Ia@9hpI3mgX3sXPmfnF!yF(YeyTq>L(F@&Tm!h z3*q}9*}oQ($GnYOed1`PQFA_Dws#b5RRX>V)*XGmpW#kU#(oKSZlg<&H8XS{+!N`p zYdGc^J@Y=)-9h@vfH(cB?QLdrQIG)RY{RJ#3i!M+%vNGHu&C_2W^ale!Cmq{G@#P^ zx9+UHL)-ry~0_6za1-Tw!q zGVV5G`8fcvyI8R^ho-^_U3!UNXI}rxC7I1u9UMGk{C4=kN;)@@2SHkckQxMi`viTG|WpOVHLZ*<_ z3>|QGJl*AwJt(|k*GVsGn`dRT&W$`-_&uzcvVyX~J_SE#=2GB5o{pXL>1vW_rFd`{ z8o$zX$w z%W-BM{aP5P;0rzD%kp>I%0FnzKXrLe*IG%Rnk5iICv@(ucUT$}i$Au6GKvcOpisSs zAlA=bSdN8T?8cM%LeA2TPd;5uYm6vV{WpJ$NsZRv`X~%)P*2bVYWdJ6kQSMq|_$|!wP7L}$l0C-b0*$Zei;@|wyxRFNa?5gGPXb#U56NKF zp)pB@Ddq}NbUkuTSk(_$irkciLCF9P+GdHu9=0j`o0={4$A-ESSDOwId{={=R>w~NY2dT;_gc%Xx ze9&`t!9C^x2Se}d5eBj3^a~IjBFh)CxX9B8j^CO}oAFeT2Qf_vk%QL=QF+TH$HSP- zOAEsfP?}8qo~e9;lPVrzBV5T?TVuhM}| zj@2p9T%a^yF9xbk!8x#U=E}sm14cuXP#ro%H&hRZoX1kHKDB}24^k5Ir2Bpt(x^dE z632wWUYHpZi~}c-KE^OJ?E33k?i7OTH>X`)#c3~SBXd=|ld`y2rOO}xg7}P-!j;HA zl-k5%^CR7R3lFa9b>t(cE^MotfIv9Zfgau%wg3XH9xY%Z z!X-)x2Ej2o(ReN}yYh4_^mCn47p7#GEL5d({JMo_i4>jutph031}Oj3BF(OJrl&P6x#vY{J2JA2^8TzNrf0;F?F^6c zu#tpT4tSYU1=`D_NMIu|yN|hC*C2;?9GeDv8Gi7>Pn3{tMTmHm(>cWu=^dF2cjWZFe=`C3g@c z17Xn&DZk|d0f(9@6dTqMV!g`}7p?YSkd;phi#+6 zgRTxCUt{IvIbnr)%lieAt?bl!q$Cn!F3CS?cUPFd0cXRu5n%-)v4^hQ2snmQm*8uF z`D1_uUKN6(AVn?ojf1k!fPDdX=kIO=hyAQDbX@vgHe}ZOIz3*V?998R1s&T2KkQL0ZL_n0+u-ThX6J7BKUA??Ie7i4LfbsNZX&4#a^v0icv#46q1R>PPs%`$ZQ~0Zl@We75#ME50b!=6~B&Jem}lj`;0^2iQGpsOtB}mwd?S$tPkz zZ4SUA!US%DBR$H*mba?zJHnj;L1-)u)ZSVwM?cdy?$sM@SHGoIjv*m}3q+m^iD6_V zS@_~#P8$iTZ(f?TzJ+1~vr0as%$d{j3^j*TZLZ<46IlTw`2E^whi))o`x&BR*G@!g zt7tC~Gkv#DX@Ea$Jvp3>;&&0Ig(rFcQP!btee!TtFph6}I3y^Rt2Y0%hxTjQI;k0g zlVRyygSK-lq3js7>*OU78|R$bCYp8{Yvj-P_=_zAa%>Q9DZP0hk-etrU#~?r;ay2T zS`M*PAHftv{R4IakQg4~#rC$LEwAT%YYg{0?@sanoW*}K{P|b$3@+?1shRPAaNCvuiG8$7qNqS0PSIpU&Cq@#R(}!87_< z*ll>_4U{qKVAjlG;V}v%rZ-rY-xj*)T^Mv)0kY{FgdA?hhrouiRnOm6`x8{KJz`=n zh7u?bT&JV0=rWFXR&X}1wQIEqO0j4Kn;t#zp(;tvv%A4ChLSfQNK3I0EE*?C<&*2? zBvrdJ3WI^LPr~UudE?Z(mp@%N8nG7(ye(o1<6wPH&YT2CG~HE(iMKop4=68E4||FG z*GJJ=-Z=irN8P!fMCrpkYBpmo!H$r&?2d%FN%Tk(2O|%Z!!iVM!WY!B9eEfxRzl%x z)xR`%v*-L9lL7^xyKs?7n?)jPChjylB+-$_0IPd`l>p%bCN9$(jB1dzj6uJ#rmtu? z;I6uAqcYRvg04Q^?T+UfQBH?~Nn-;!0>#(Pjm_ro;KmAfe42?t%43 z?xrB|U66&rEn}H~shQT0V|cQYTRMg6U+?%r8q^sOVYd}ws~1S1eeOP9BCpLg6_7wH zPWzG`l?{Vt;#F}{&9kua03?!XN-RppvPf&o3+BqBKIi_ns>quc}It2AnxKA|_3tuV{N z`cAHCDMB>c8qQusR~)E7*G>Xb1?^(IHE(FPBwsF4}RT`ionKh&f7G@lG(e2TyekVqRtUn1~iuinqbR6 z^oq8n)xn8TplgU*&k`^Z8tKBD4Kq*AUWptgDaqpFG@UC%hQ?iht~b4a@gi^#y_{uo zP#Wk#b23l+Kk|;P7yRp2cm%Zw8SiCO#RItro+y8CsX;D=NTImp;CA+MH%?IUjE3#L zNw6-Ly24h1T0842{4Z4&r7z*njpHu$SYt_n8c3I*zVNs+$?S&PI-tcWj0kDIlWf<1 z9eFeuI$6*}rq6%D;49=04AnpQC&f5bkDX+^Q@d{9n z9CU8$SxQTO4<55Z0w)+*XN-QQ&o4cTkxp`^Hz! z0%RKP;3|SssM>iVKuE-`!`iv9mQ}5$!=39E4o8q`nKyU0>3=-Hogx*i+3@S|ODUJ| z)4>$xTRb=Fm=wR>YC_8$Fy_Fez3?(i z3TvN{_k3^+!%E~R+GNekerF~{#2RmPm7blPA@Y@&#k(^(s~;#J>sNE6u!SH%*Hov@ zB4XRiavWm(7$8o!jst7G5d)u(yR`{ec7rxUp`oN>(J&J?UXD2Mx8HqhcyckYKUIi3 zaE3gYBMSh#sm^TBngi!411#hI5$g!z{>D~+VgFffxcy&$wbwiHav`LxMoWT)$J0ZT zu{R1S$9$2E>Za$(7&vQpST-y@zJp84UL=d;csvR2t#bA}CHfaWtW zy=RhK&Jop-r|8S)q)V}xi8LSeo*bkAFkWB1)QcG z$~&U+x`X>vY3h8wMIPAilG2|zP3XJKj7f7mNfHR{Rc}p0UjdgiJi~Mn>Dzwmb1-Gb zgTgt37|SN9Sl9=b@APd)WLJS|2p{3YT1h-phYv@5Ic)d^``sX6*s&-!hEk4*TEH3D zsWb{TW3KVRG8WgjqSZ+btnKnoB4j_`F%T&Pb~?_$kNh^ca1JAlZ0Ydii+g4wbvsRx z11F!Ut4PHD7|`+^zV`YA5SvVG%~-?2ROWZ*6cqm#8gO`E;_H4Iwy(fo-K^|d&i#=w z>XA;uOQuGWv7xtdQob^j2$AhsvrLv4vUkhFus zB#`9;W$Luhu{55v5RNpJ@ppb-$jMr!M-U~(OdR6qwyX?+6K@dee?E?Ig&!GCbxXl`{FuZpoPhS?kXb5Cs(lu^7pYMqCcjUWS}h4cccz2Yfv@X)??c!Zo^ zRU_bDF|_2Rl@VY^zA51coai?+7>T+?;2l>T*Y*T`TBlw#M=eokb~qs<&yEQuvrlj7 zOzA^$0V`EgLTLEo$0%AsYtQ68qaxqR{HDB`U(`r*hQ-vl&d%q+iHQ<)t+%_*Q%CRZ z{NBIeX14TGW=d99Tlr4%8fB7HPaod-)DJW9w7$ z7H2v0J$=5c^i#CLQ3yGmVD?U_aS^;Rxpe^uS%7m}~+k^9nE&iCkAaxy@YboetSL8Y*X{{rXP{>4>!ou%vno$UD|hypY9k z)7feU2ubM>>)k)$A@R>^c8+^hdLUI-Pw`-8#!_t_hg%beIaJC>SPAHQ$2~@b#AqD) zI<<|I!LvXx%5@bL3KW{Ig`LFG&NL$Dtas#t1 zddqb=MM8VX%XQUiM31GmadU0if3h-Vd3)y)r6|HeSKIPA_1lW`CcjX`S}0$mSPi22 zN+2Kzubu%6uLWrSC&h1$bz1eiu|q|8P_W5m8?PeHH?iiT6=&x|B_8zd!Ga1Ui@|PX zNnj7o5)q?M%hAar#G1tprH=?eWYM4ssQ=IA3;8w+l3ef0E2&sm*l<4}AV+913u-2$ z9z&(be{|J(5)(4xt=^|nP;$?d*dOI?7rm-pgeP}Kdv2ryx)pg){nsIXj`%P0MD^oA zm{QfrYP}*wjm+}W+|P4Vz=pvvMJOJmi5|vj3YL|ntoe4Nhb}No3xp-zkdGn>e(YfU zREEaPjwbTUqf{+z_<64@vKZW?(BYd3t1Fco2|hEWClYg1wB63_Fb0=SsD3iZYKsQ5 z19o^cf8x+Gu0T%=W@>SlSyd4MrSC`59MhYC0~blFj9sCV1IE$e9V6Z4kQav1 zK?=ohFTK~Q4_0X>=3fyL^QdK{Kog>!V1AyBqWJ} zJdsOCR2Z?jb1iGl)NEM ztlpXckKu+~F-I^U7?kbx0um7vdD31yl&`T>B9ZHSqdP=+l~U4zp$5_l^kw_H5$#u` zn0sqYVx%;H`f_*r1RiO6VkPyrQS{mB>Tj%2WyZ*8ZhIh+nIId*RBW}AugE0Y@#2ZCk1ABbM-|l&Q&o=?qOhT5&lcP# zfp_3@TW`RUI22rla?$R;@y{N(BT`fA;1kFE1)((P z_z1;CG#@>|?SqwZKLB;|_$lNl&QZS(S=P$)XMnY?gZs5-ega;}gsnsIW&WHmfzBVi zmYQymM1FCOQL|vJ{F5s2PYmiLyHmyJf5dEr+HsU~I96B?N0C=Qqu#l1UkMO;9XfGg zKm<`bnGJ%K?d`nbV*uUl!fgqcfdmCZdvy3rG=A$R&F*mv;Se<%`P$P*6idh=MYit( zv;f$`_^P$KbuovCf)(%tv+AI-KXa@feu8yl45<6SJG3MBqpkTv`*6FPi}>HeIpKwF zy}h&}kn`+)W)}EUgWCExj@<1|u4w;4QM8aj!OezJ`T3ypC?DC)u!+1F7EyX{JG znJAWjf%wewHDebUbJZ>wwY78&0t^2aAefXI)ay7x`atoR4f9~CqMPnTUg1GU3w0fpRQ7W` z?UPcDC^r_sldQ_u+O!RYjtrnQ6zJVpgpq}kI|x5tdR`$?Q5CuW2IDVn%$%%(Y@m`S zi@l#@sB3S*V6)>ZJ?;*Qo~#a;I54!w??AB4-HjPmfThtnW}7G>PqR`- z)ci7WS$IHkH|F76F>F+7F~y1kWJJ)S8`!k+F_)=L$9Yy$P)^?((*~(yhGAG{-dJ~? z)<@GX?$}(@3oxXr2L-bW4i|N(aCZ+tik?IttnkQuFz6hdi+!(WxCfGP7cyLO30K?e zFyD382W#N*&&lzC*n5VMaX>=hGJX%HzPb=T{;B(RH01xa+)`YA4iu9~t4=Wj&FUJ9 zi}Px?2<`p|Gt;k&Hbg7n+y@Ws^qoaUtI*Q&ZJ8kz%&yn&R@B|i*KDVK+Gy1V?Fj_J zd365ZRr*1UFe_)Hm@0Js6@L(UL2{Ky2=(OS?w1q;X`@`g1d(Q#8T@(D0He{&(~y`M zA}3dQD*+d8%1?>+6^a1T8H{G#Ia^G)%j>5s%G3m^owj%HvmdAOqe=CgPdv1>eU-G%0%)XJoA;gW5jVJhrdV_&W!2 zoC3N^PR)JZTIips?9YTBii029ipEvc$)fXv{<&8*(fJ4B9$DYA3p&$tx z+nSt?Zgk{mSf#=_VBqmeg*Y;fd32zk@d69c*GIrsvNCn{6AoJ4Vr(CJwg+bVI@6f@ zyRlpA5;^qjsnks90D8=oX6#lSCs1;JinekFCk4?s+@7x!ZeUJ(Y(*qC05qx91`eAU zIGtAWEx9Y@L4#mC*!%Xmc=CFK6k|rH{Z8Tv|KSmtCvMShfb9j*TmlLG{F_j0+I6~a zYKSs$h=wZR--xv~tBi%+WWtS{*~4p~4<7P|Z397wP}wHjh;4y`FO%%z(fsLcLo07A z6X|qYNKpqME2@1n&!>iQsnRSV8%dZC8hA(K?>x6@o*wndVF;5E`3Wp!yW;=F-2~B7 z#MZ4ZWosLfmH{KqG)X4adK1FS71u8xZqnQzKAO;GMq8P-i5EKdrVr4Nqr_lZ-j!4X z!Gk_ZuNd+`TT~yAUm~DUnWnB7ES*MLVybUX+)e$7l*OxRI0#b&mZ#E z^Ge{U&<8?Jlu@XnBEFi6{GCF?*$hT{SUF{goVDt^=nM(;f^u>zPY?i~+l^Ay5H2HD zFNoSj2%v5HHmdZbpK6di8?G!RZ%1vsOwt8a~`&KYi?mrfD_5H+R_tZckqaa(jY!JX#M8 zBR`H*kd91|3NMcvPA7||Mu9JQRRy6Z%AyMHk^TSR-;Kjb(;OQatAOjq#Y8D=rcO5W(;VF7a|x z*&hckOb73D(nQG!AiDKq`%jjdp!{W|=kz-n7TY<3M9lJ7(&3&bPBB{2fV*n(9&kLh z<$Xa7WcJI^?^(_Od;EBC?7OvGEw4ev%nU%7i5l+DNY9h;s5nT9N+AdmODI*{Rv>oi z_C@(W3e5sKmn5_ggP@YP%@Kf3u9pz#^<+IbRF;6<1{siFl{J`p1>o-Z2s)lb`@>(l zEHI3Ss>Z(D)xO-xM9xKa1Vp)a%`&cs$XvY+!sDMsmODTiz_?Z`CJ2j&h{d`k z^FpmMW?C+liseM!{-iZ8ZOrnXo_%&E>?XILMTDx+2kk4rqyztttkMZch=Xb0`58;& z_OS8#IPcNvjijMmZTB;+7~=#m%Kc06s6NNXMf!~+scgJFYvO{JHU##}*LYJhBDW^Y z@J?3KYKZ7C+Yi)G^NW|-Y3{*1tN-mUX#?wDA?|n83)-T)lShXxGpYU+NiM~!18*uh z=Mf6L5B?(D|-xZ*E(YI7-miaE<@tdA1g1R%cG&P)s?@vNa|`0*CfgZ zvNo`ewOmBrzHeibaA{0>e%F-yoU-rcH#_S@e+V6}WC;IRLUwVrEeD=sKSIOqq77Zc zu2AzB<KXh!VD z`muZ?yMOBZ?Ruf8FVWiHFk2D|N9SD9-3=mSLW&~hIanJd5XjAPNN$=Acr6Z&?Kz0R z{QoQor4J37za<#pdNm}eiA@j>SWihXz`hK`DhVOOkC~Do{^@_FeZ{1%vROu9=JRUB zs{BIES6qBjH8-J(ACZ>6b^HGcwxk`~OnE>Ct3qdYH+91Byh6YpG#|$dvvdscqixFM zpk6(BfU+HOs8u5TT4&vHX=!rjNg@R=+PLp^sA6Gyow(#1rkb z0Mc{7)g~UK^!{iEN5^8}uPV>Q+uwSuQ%R;K3I;dy0A03KBv_MFrdnk-_M-@7UcQ4T zp{KT^^g-l_an#*{LQ$AkHOkBcKK@yud|l6(HZ?1ReH+o6;Dr=^slFSn*j|u0OY(?; zKPbk=ybSa@NnhFk1Jbk~oDN5uowv?p=w2kU-uhgW++A@QfY5Q@Au)d?)k_V>D3oL2 zY8;1@S|xyfyf5DKzk0Ks(ef{WSeZ)sDPyjLPr)9eH*30;s!(0uHwjI%S{jX3xjRNv zF8@JRMU`=RPT5rJf|t4Rp^n|HZExw838bP(8`Y3chL$v_fAvfP!nRM<0{=}M%4=G= z&Xutw28^2f@>Opun2#Vy(p=X}I1)GKNJ$qKvrCjZRIiB$DAIEA@tBcjJ8Lv6Y1KI)7gvnGW;f|)+Lk3$$M#0mTf`@IY5e2xafPgoGAQkV{u@ysZ)Pl%sNBK%e)qd4 zRyaZ2=J^@&1DRRHrR6MEuRMpKg-oLJ&=*77&P(BhKioBAM0Geie-(bsLz+(d6>oia z+ou5@HYW-RQAK*WjI)L@u7ahj0oIgAuOnH;!iEXb_uDuMz5+u*k3daTkq>D;p6-}! z^2S3y#bx=Yo)VSaq4YQv3cApoCRk;O?`;Ck8|b@GK;f=CES}*!8KJ@x-%aW65||u0 zmwg8ed!Cp^fDP1O0>)R}Gp@m_T~Evh+AX|xGaSD9%1x_E8CuUg+x^c=9urmXD#~0I za{O}WhxCrH14nSja2M{TuN#h}2rxTpiy7j(zUeN;{F?ijRPJ0iLm87}*E76ab5T22 z;A_ki5~m<=;1Li?mB((3>BQp`yDk92o4IqwPY%t|Z|d$c>PZ{mmewD<`Febafl)g* zRQz0!Fwt3=`@MXXY*^_{z#O=(zJI#^9rn(kmB(ZA!98{> z&J-Z)C7xdeO(v5~n|CNa(r7AhwV2yL+Q|8@l9VBq7eT$~+AblFB@pOU?c3!5apy3* zqBC()7gb&_Dy{q|H*mw(@&nHQ=({Antq6lI1y*UKCaJ^3w!0nhGgc z9!Sd|^G0raD}woEM*FQSqjH5)7WzIIJ=Kz;+4fn=cE~zDmf|qdVTwzpy%7753rt)kRBdZiQ(Vc~ zwNdQ4{Wt)H_ejuW)VZtt?KYhwBXSErs^`-3{1^<5fvn2N2DG=WsElQH>WZdKY#x3S%KL(dgzAIuxQ%-z-WfrCG=;>znq3u z(A8fqouaPC*Gl%k^mBIocS1%g{T+s4wWUx?$&6Mp3t3y0ru>nBXV&s7BR-iynN^m! zyh<`UurW)%)C-3M-)gxe^*?@L+Lrf5d0>!~@g*njO}LMKiozR?H<|v?s(iRRF{|KM zdCN1{|HZ@}nI++W{WCJSr|g86*hL7>BNFV;37(qtPtxh=w#!*4E=qu){3Z!jdAm_9 z2|qYZe+y_#>1d2jAaV%nFYXj&Exu?BX6t^#Xeu!W5Yr1Gs&5C-@XK#Fk2QO*vv06 zd2Htr4Z@m^GMm7lHV*86_n8Ch`tbr#6FZEXwbpWE0QKzE<_9i=8PdSoWn_-o03}p9 z>#@Z)DBUgs^G-wm$q8ECXmgJ(LQPM83lpk5IG;a5!;7^q1R@NhPFU0__m``E0u;lo zQ8cEXTP<*O^_0vZXVq74NCZw^rYM#60Rr22n*>h(qA6;%4@3UFDRdlUa6v?+JITSK z=#DuHyMtnO30|=CBBGG$Rwd@8FT?L+pHVDMQRwrz+d`?PlDV34bm31w8S|O`!`v9~ zk;g@eUBWg!YHaqa_XKT(&FQ@t;m6Wl|7kS>r|#=;-;a#g&7nYOZ>nn>YrfDL6XwCq z8hiylHnx{_k*I!=B2b@rFz4~rSlDIB%%;Sm9IFA*+yoj{!RH-9sj50#z1d@MFA8 zGAA_(9aziz0^SW{isp7)M8A8if@v2?A~J}b=9HK4{IGP*39E^6CJsh}G(10X@xw^N zc5l4Fcs1Y1!-;#Xv3F_u(@*d{+TlAH6*CS#Jwder7VcID)3i(YKXQGS9c6R|cj61e zLj!AlApLj=wlT{{cjSMY-opF;*z*||=k%Z})_E?+;$k1V5(fJGh-GrwkU~ol-U^FR zd~{o64qQl_0J-aA3`{wj#LF`I6GN$ylEfvi(#MvoWA7M5mJi(bF)?n3iiZX~^T|Xs z?2m}>L0qs{*5J5`VOcLW3ncQ;^qiTAS;5`Eqv;01KG*7!32RQJf2aLc;kw9??nE*0 zKJ2WdJ?O6$wUbS$YtLRN-bT&@qT4uNmENVH; zxe1S|d(UR;Yln?;;I%Sc?pG#C;CDtqa|x!~8TGB#yV#?DK7@h4AeCi;g_u zZ7Dv_*3%eixcX4Bi{v2E2^H(1?50GFGYJ zFyO9;L^Mfc?QY(U#i)WADu$nd657d`mV_j}iW*s>WzjD=;mF$G)nKqFrGVY^($1*m zYzsyuq6J&(O+2JU&|RAD4H66s+ha|(kZXl!l!hC5`9hw5-8GE3N9T_gG5FiqB#@sl zI2i_W#-OQ;x!1#C1V~{I(2;vyDIdI8s(o3s zv>2~sD5kgB&_o;?O->jh?%{oUYNB2&?@{GlF-!%C@`^@+7;MHYG8=%xa}(8)cut&I zEVKW?tB%VuC0BY~@K5Z{zorhZH%@QKvwRre9zwI#S;FtdkVajjsgSl{si?c*oc6gj zwU#mZDVJS%%<;Dp0p?CdW52$(mY$*e6X(xIEnZp7O#PJzrD7vKQB4siKr`@HE7RyqDJdUa3og;4FmQ$*jz33ZK_)a7PSY zO%l*b7lQ$z;MT4@IjR?-SgC+=>K&l{Nv)>f6ozAt9rq037pFk$Sp_S%iEn3?)S)5D zW96A#R&pbQN_LZeKwI0LVmyg}WMu8{flIqDf5^O0s zMj*Z9`C((8iib&fmQB|NQ_DCrAV0NtOuFlG6{#ULvxSY)jm`aVysMYO8;oX}vASgP z61n$8ere(VQ*O)S5QWBJ0b?4oNH}Snj@~9Am@|9jZJMWb$|LLi!JKFBR;VK&XjlDj z?6itw4?fvc10P;P6OY$xl=5C$6PO-c??zs*;|F3aTXO~Ate5U6+guk$7L%c1gfO>; zUXN_uW8fi;*j#{D-L1Nqi!72wTra4QO)b>>So8B9p07aX^`c_&6F*VX*cs72f`TK? zB@4-AqknJrD|MkAVcsNn;wg}a^O@%ZDidk?OZVc9-|7lb?gR|vooR^D zUE3RxVciDFY6bhX*@C-Yn#Q*!iqavTHu(C=V!J!IdIuodaYQD7{i(FRaQCjA!*Swp zsvD>+glqB*aw=Wst(;cpH27x zG-*3rWU3QIRLMSGn={FoV$6R(dr9rOD06mW$pKC;e$Dz_!!gPX%hw8lC5M zqI^~mhc|Up`{VL4EM5e{XzRMI?;bjHCbjbN9v7G>8A}DI1me%9qk6u@4Q1W%ACi2? z4a}ONwYE$oMfMJVk`9zhIiO>02T5(tnQ~HrWE?5WiEak_-nVr5=kuHlw2q93K$mNP zL(T0NTr&J?K%7-Rj{ySKi0isD`PnriY+G2hSrW4N3-5R0rc@>^73;U2p1QGC2|#u$ z!3sKgOhVS*j0Nn7q<6LDLOLA-!41$&n3S%xN6NY-oQ}d=E$Rc59(IQ&lM&xABpKCd zyM+zYHUyKWQOc2s+?f1o9M}>$kS{+h=!SWSA{fmJbXPSDiyW}TCGy(htZTA8;7pSv zQPvpgP-8i6rX+#T9^_9P5%%71L{2?np(Q4DrJ$GOopJn@=Q5^bs+%IzoI^8=lzke9 zCRk#0n1lfOZry|DZT#}Hi26E=5dUebw(x}iY0mDdiQ<6N_n17a+S0y}zc5Q!)2>e^ zs`hkSLPWd6D3r?P;+4a58SmM!;$@0Vr$thg7MFT6Tp!IZGk7sTU(Wl)66(YcA#15( z>E;5HLVQfD?~0uVJt%C8w7Ak%pV$Z%A@!|f+fn1Wtm4l=2H|G5s=-rEp#GIYK&8Lj zVFJR$&HHCT&W6&T@fwWXXiX?V3zNdfn$&Yyh)pzb;UWvGK~|HEX9vb?3&LRlRJ1U# zO_IR&Ky|Ml1WvzaunpJr3uAjqLtR8CyBXBGEY^a#8Dj%#Hjt_A?E~!mzbZu-r{_g} z%&|ofISeYRpaz4()tV7~c39n<*81;WEHxa0Z~0BcE^dWF-`76dy4VMD7TXJzTR0Ks z1n`?05Si8+z!ytLgE*6a|6B?G`!y3Y9M%7Og!m2ic z)}3p_9M{RytX&`cPXqTRC|mD8(s$!^Ja=3axB23CyF;wioI4ylC`q4RceK`Evv|)1 zJd%AhMdXs2CUIoJhy=1dI^G61e~RY?^M!6-7lXMGbHs0iKa-IGjy<+q><-eI7t1~E z0tvsaa?WzyIMX_%;e)qG2o+po8h;$K(!jqI|J->@)&)(9D4=xQL8I-v-XWh;^6sWx zK{lP=x(N7uP0U|$UxPYK zLK!#Dt$0UD=pUpljx;Ug{;-6q7+JCQ#6&}Z%+b7vjgG^ghgU7|0F*kzmoiN@O6 z_b4}47kH{scVb%U^EQove{%czVH5*9Z3%O!ACzBH7g);1%wm04%o4YZ@^#3FNcf>9 zW@^u`c7YcGQlpiBtWNyoJaj#YW z34geq?i>P4|BV=FMUpcSeJW=O#wwRq zq0VYl8T-%~l1N;Udlz1cQ6E!1PIXI7ix<4$Z##iRi@@y4SF@ESGVN zN2$4+@8;WUUh*&Ol9PpPA1oS&ygtSg8JCR)i~f-YT7R<)KE_K z``zooZB6+5$my<%K2cG3LTtxWslT@Qk!hugmPeC}5ttItZ2+4DfqNm`oG6ipKhYqm zwXL=J``ER{Bu!Q-D7v3`s_x*S)$rMVd`a5AA4#b;^0!@*ZkzTay>wScFt`UUm2h37 z*i7_;fqSvAOhOiQGN3{02&`g+9UtF{{ecJpu%)TJOHof1HVGDjWu-wIAv|*N31Z z%I4UWKkf)lQ~hy>j3OV%jL){HJS9ICK)!^bR%Ni~8c;RME=pV14$Uw22~`#7;zaOx z?BxKtE-$(4QvGYQ?Y%Mp(CHva*^|p(i`$V;HhZY&i|HIU z_L%hT1PfV9V=EdczVk7eR(8UNVFoEWorUqf_uy)F^f_d?i(o~2ZpBLAHcV}%U%AQ& zJ4+LZx8ki4c)Iq7c^U3RYbJ|D8p;q-=de+cx!Lcz^BKMdc^0nQvn(}zU?`z0N5&@& z{s53Lg^o6&XFu|xyk&N;b!9#D(QxvTQ#he~pF zd^m@=EiXu1ronb7BF83V`Gs(TG(!>_swfc2D#JVg2wTtH#*h9qdjVsJ|k~(9FhmS3EwiJXnxoDf^KiZoEQG94z@@*0%Um^q0U~MJ;Yr zHlp(DIs*mtU5oH&E<&*?DdUi2O^MJ3W_z_!%L_uQ5QO*K0rQvYMc>!cBA#8;_+Wfu zLQ10tNtbZntndfub3343o>SljOKnJX>7ndL(^~`8Tekgm)}9qmM8JpB5Sj35Sf)0v z9^Wtm_drnFQQ#gI?)!FQ8Ro%@QGmveM_=Mn6&RKMSO;@CZx>PkRRO92ph6gk4lD_7 z|JBesg$$v<68+9d>~KjmdiW!hN>>@M2UzoJ0kusfHqeE?|7SFhAi~JTkoMy@hCKF_ zTGDdfMXn>FNESaZrk297EC2Ak*cP+aF*Up z>!7dq=HM1p)P0>FD68*>Pw<{PSEio$mY|@~Yc_%KAu%`$dp>*xu@k9YX0pzbJbYLc z6u!q}>5lw}?d9@XWZ=%j$Qe0_?d7CUWUyhvFv=kUhFR+{gek#8m-%2ag;@^rKhjr0mMP*8}lvLltO>;={h?{q@BtgMFA+fM`2AKxt;dGQ* zZweW$wxp@{lIeHIh{-;k1uUZ;Edc)*{(jov8Oz{KCrgE1Je;qfO9bpA3Nx1#Zs-v3 zvlDM(A*oN9vFW%06YJ)5VH$_Mb7~&i#dMS4<^|Zl>`YK= zqV<7&$UeBA@2QQ$V*AbJoatoz_MyX^`a6S>(T%DCVY?BcO0<)?xSZC~2wY`&;m?xA z+)-A=APx4zz(%CK`)+igP1zJvEzdYyuXJ}?7E3ApVK!t;1~~G7J2Vpg$KG*9+7X$P zK-IX(%Gp3T%T~AqK4vYX88Jp5PxfM~j@ci1V zP@U{(9?j_C7S?q^{a@sO;R`?_&GpLr@zrA?NGqBax;&wGlayTkFT2d5KRj3NTumll zMU&I=7rxSS4p3~=1#YPPc>rMNR@)2D*Yb{Y@Pw{YQdoz_n9TEfs!+sN|9JH_>#bIu z*0L~=%elsWmU%pb8vkC|Pz9znbpB~-y9#K(H-2zvYBdlBL8x?&)&aHhxgI~ISWp1C zZGfRlY9Uq2DIVp2%2iiB(Hlol@!Z6}aq1e;N+4w8x<7Vt-Xor}rJLY6-_V06+m}T1 zr!Whu?J!6?Nwg(&8TnoJp(KCM@N6g^)X-dZ^u&zij4-zxRXDsh6|^0jLvo+&bsj8Y zLCvVY$`K%zYn@##ayS29x*<4u2D3i%9yv`Jh62(3!v0#4G~Ti;hr|=7r6y{R z@U`X0RI&8yc8;;ijZCbdUND7&A3$^?Tq9VUMtz#&lgnv!+_?l6VT80Ro?>YP z5z1bflI9<2LdM1y8rQMh$2#k6IzA)^5#xlt<8wbXV1D-^m?|PB>N`{8Iz`zB`L0{2 z8Sa9Sz{$#IhlWJ5pp%}>C2Mtc(k`2oroFcwLKA*Z^K|Qy(GSoM#FoFI+hd@lF#x;c_So~Kci;ZNvfsokc>-jex zERk~h^f_=R-Pu&7K|QF^{Ybx)K?JH-Lo1D1N2eTI<^}L+x@Oxi1LlF_P>{OI(jfPq-rXg0s^Gp>el2!Ws8H{W)Y?yuyrLGagGT(WBL zR4e>y$sR)~Qd=YiF%2+MU65+8D?OgF>N>#wePY>QQn3?0fYM!zYFnftD|(1(pSS*3RUY5~&1G?hBD(U+l%lD~Z|t;WN%aqk zvui)8PJfr+uu4yjF-sBt6>>8ERIm<9?*B$#GMqB~8ine|`y3AojuoPFgV{EgTJ)vD z*8Km{p}5{Hm%IFJ;%Yqb0*s3+W(V&Rip0=q0jvb#=V&O6^O4!wz+U%1Dt^`%6{6mr zzfo6zdto;^l9KHol@`Yy(8J@@1WAQ83_DpVkh>Qdy~VPa#qC@QUrpJ#qwJ*F9aL*1 zR}M5-q&qNHh6#mlk5|zAN@uYQrd@gFAz^7u)0^yLIcZ5ARm%Y(WbC20-+k#Pf(I15W9Tj#F# zm=JL|&EcC#3WK`8=L&}E$j$CVuxSmRSL}@vngQEuN~^=4Q_~I~PzW6yu};+;9rT(? z=5uzP?G==!^`I2?_PWt}W*ZgE;CDxW;(R8nnCO0T0K{jTjDj@K{<2t5m1%1BER&HN zl8QeaVnkNr_3-@^jn=4)ex&evhx!Y%X9GTyzeRA9h6s|=5}b@1$kUuQxl2sO6jge- zQjZh;^)!B(S+YZtgU2*D_I?)<_FWHs7tPw-WxS4#r#;dVuKM-B4~S5&d7@#lh|y22 zS}=dNbYEl@T`9BKTYV9u_A-U`Bo%2qe9pl65m}Xs^}Sa)cJt7g?cd)cTKY9{9xNOHP5-eQiMHbbqpEpb=l|?Xq?D$?;7(fhzVtkHR zx?cL6pksr}EeX8MyLVZ8sAVdr@NYe1WM_0b3kDQ`zi(&G>9qm?k@Gyyz^HOwCnEDd zvc{-N6FcB)DvmzR#_|A*>hQYvDv27xN83H@3?CWBnRDw+}v|@A8>Cpi;4^$h$^D|Mz z5q(SX>%l9MfJUOWRV8z0+cjAkuvI1#<9t}696MbBqFQZ6GoE-C*QN9zXV8JnT$Sof zT)1UtV8u{f8)zusc^BTn_+&<*uwTWFhzgQG1>draIX1Qv8wN6Ve2Sw|Bt#~w|(Lq`C3 z1mC>?hd#|bNq?&ouXWbi%-#>J>(<#Q?D(ixVCFBe!nlt+k6fla;;k%}XPfqI!OoyL zZYpn9gdcN1UX{?*@lCF2)n@Iff+=e*Fz10Z{87N9V`V(NPGhp^+FdR*QWj8aAV!r%=b485mXd> zllqZEg&(0P7-J@M1Yf6;;i{)xzgSDVkF~ zH6A6S&>zr~~Hqhe4v zN_BX#f=tl(Tr4dCs^aN(PT7Z;qT@B%4-J;kerd-2gbVCLj%of9o_e^yOQZ4ZA;YHN zycy6&T%FonbnV8bG0-O8@Y(6O2|fB2BKN*T&hGWDX(N<3^`~iUC_5$se!eoc(Ws7` z=L6>wW|k8hk_No1Nea#8Sc=EB08W19Hza^bF|Ubsb|8CalaEJ5PMXfWMm7lzyA7a; zY_V|uWiWLm;=Bn#&Q|xb^-iEw1O3AWNarYmcutOKm5*{`HggB%omtpf*YhXq#^?&T z`h8bRG?ySR>9baB1_jcUFsoXFk^b*W5B$gqijRiXRuF@iOg&xMPpzlNU(#xbWm6J; z-V#Hm$9(#4?}DzvA7Q8Hk#+F!yyZzugSgWDrW4V`h2}ovC)Y6vQl_`kYu#O$j0m8- zli#6X&O&#iv4NqG6j5&KJ)tl4)+Y!+?r>z|1&EC@g`15@)xQ$9t7pnADdfJSrVH56 zr4#m&iJDof53La|roKf-dT961QS@tmn3Fe0! zAT1VY4y*?yP2&g=>6CRbbvskc1hlX&neTcTd;QBb#i=TTC4nma{BS&zrUWo;++&O3J=qkBG$;kOd5lx;RpFHY9# zFuLsr>KTSm4RCxIo(s@(^wFk4dd4DU=24-uj2`5e`IEOZ56~STG%B;exuOT|Z7}?x z+wo=b+ZX~I9)d~bka#)atdo`lA-Xg>6AY4W(<-4Sxnbns>=)A)cOvMe((;KfTVpwH zH$BO6U}Plt;I*T1DKW6r@^i&Ff2L~VF{e2Mw^+JtCiZB`PWh20HI?4C2q?fVaP<4i zGtl_GL5=MBH@G#T(X*Sbi&`mxHLosji)4$fF5sVyZM86@)%fk5rg#!IrNe>!Px0GR z!ZVz#v#6thv}{@+0?u?;t61D0=q-$eCyKX!*S z)Y@0f+#Rz6Yo|ps)y?*4z@#|eK$T`PMM@r4fN^N9TplK`hq{!1djf0$1 zuZ_`&?lU@tL$x~SRsF@ECSmEC)aCr!l(CokMS`y{A>9@~9h&iix_x{BL<>g}5JvMC zItDK&pO!qpG=m8RnCRtmzdTfDPZP|*>`te>Cp5Ac{Zm2r25+&Ih<|YwB-`~9SPnRiZ0#_)>b3ds2c z6vL0(J_mlM)oxmSn@jk53T~0m-j=f7CZ6sHy2h#6D(!yQ)q}2f za}zoVMDPcbYF1MZg@-iQIH;LA8C?^#zX)jPTfUUop|(tzn$_jyf7e&dM%yuRH2_da zWH>Wmcb?=>npr-^HUO2NWkUksaLWag%SH*+F?%2y`v1OW*TtErbkzbiAi5PPR-bZz zK^v`z;)yPZ2=j$ozo(d_nKxUiE)n*kJ#3>F+|}7w8nlbHchU;T^V^h{BKjk$0~F$ zUJcp`CB@Mo{Y~MUYRzfU-`Wk#j1jiZ^~e}0JMr@~*wexpoN_!SnH2Uz>Dc9FW^e-s zW;~^3iSbprB#u7Qdm~-uGM%naJ3zV0>c4B*7>q*ctY=KI$aZfmp}Y^&m79_+CvJ+; zJRu(GakwC8$UiEGN{@igk1w8XfJnX7@KdVcv_#W^$DYA2=}jP@3ZcyT1q=)H(&VCD zbCAU!SVJ_Cn}PH%rc}TM&fI(!6Hbohm#jGux=v<-9+wgxN^xY~SjHIW?gd9(0j2k2 zAKj=&3`ZT(HQ3|2E(7GYT%A70*s3S|8+1D^$pl)zpzJJ~$xbgfgb2v?e7uDr`}#?t zx{KjC>%oJ3OKW{2EpJCO9gHyY75LB6_SZ#*YacMVs_r{p5@1gB7KU!aaT%>j#?LVP zi5t#~g^Jg!%12%0wrlKq=d)M~)o_hCWpz)M7d940FMe40E4Z#`Kj2jGO71ee-1$|g zouZGEr2z-Xvb(K&hGy@BCl4dyxrjsYm(xee)$w&X@Ws3w=W-ug##bn}T4mI(s=hBm znb4X6Sjvh&dAVA%WLuGT$05cbw;QR&Bpc#~8QN0iDHdmdt!nT$2#6ZbvtF^NJ*RnW z9#Svbh8|o_3XATGs=dTfIyNebstnVd|E_bUs|-46?a@C46!@RM*Zz3`om(oc8ErI` zRulzUw4Ff$M6a^kLInU{^IuC>QgW@l>23CcjleFugXa|t=zXuk+GEX`5~NTmg?-7G z?{_OH#zuAA#~|ajRd;W5O7s9YA>T#Lj}PXU@Nmsx zDwo|Oup>>e%wybNioEr+EXF%T`=bv81c1ZzldYnz8T86#vr<6?XE$k^-)9y@B-09{ zze95r7EN4s4qEC-l0DwmO)fu3YPudWqZuJ;SWIeB8Rk@?*LX+nK^K3(g>^;D8<=MJ z$ZGh#GCMGMQ_b>MsqE3A*jj2ur>uz?PMc0CV@(sND5lal1aFY#4}n3Ts7xyMMcYep0pIJ?nQ>)6@LT~qncIfo1f@*3C=qy4iMq|27Bf+ENrL*3$xrY%?vCy?9?H894HaM<%$uBT@ z+!?!v`)PUV=gSbzG4(ZNGN12AcGN4(P$x0SvbW(trmv35Ox-=gWJdAIgGnKYa-SBdU znlA`pGwL6&8?_?Dl~&vE@7q=ZCJgokc=~n0A*%Vuqa~oHqD-UG(gV-~pytCxII;gq z&0bx`7Qvx%g!&z9lCIe_e8%|FZOaH*24V>c9g_4V^Cipu4?c^!L`YY>el2(7Bn19x z=Bh|P6rm((DN0lZPagV0j)ES&6=9Iicg)P-=V$XJ=o?m7plR!h^%59)N z1FE#xet>zVzcGB2@Fu+}N_Uc$6zzX!YXT)85q`A>{}By9Nn;qTHE zkMG&=mI$GP?|%(I)Ls4O8E*b?Mgqi@WSS736PmLfm@7_x2j_Mp@Ki8!w{)L%(7${!EU-UHch+>T4rQM$pa6vny&q1GM5wY_O-uCi|srE6H2>vlTv>#Bil zJ%cXpnzIqi_HL5<8;oWY=r#u24yxST`Iy-BycpuR`j z4r1p~z}RiOKZlb&aIEG3tbjy8JT^A{XYdn%noA1?sA;9g0CUI14XWQl; zR${GKe>t@-H4%@;U}!&yA2(A+84I5@=ae+nxb$DD^1_5%Q45M#4HufAX$!B6MPRjJ_wswYM(Trnto?R;li(i( zZmx&eA9E>aZ~=oLt!0&1-xGKuVKID)D+{xmF4&fv8q{u-HD=vkuGV+kLb-;}embhy zi%(?=C3T7K!M5bji&kMwtwfDHUbL-h?|+xlB|S@3Tf^9RcNHR^LAGt)V+jpo$Z2<+ z#Mpcd#)x2ktxos8#ya1#YSO=E-!(=gr$K;eA601phjQ}v4X39PUP!4cF!o{ARN>_; zUnC9i* zW)OQ!@XrPEp~4&rSiN?V_erzc-e8OZI8++;Y`J}D!#l}fzGr! zpYSqi$k5{zqn?xyVq}v05-J(g!RQdZ=~6#WZ=CNCD*NEnOEP8n5-s<+H0@gs9V&qn zXEtE)^#foBT|17%EZ7XamHi!N*V24>LSMZ9az-~-A+=-`Oo3x4I=eT`OFbW9pQ`?I zgQOC@4KH%Wc146BH)=vPpj{@iOfIcmx|_Z7vJjOdn)*MGIx>26RJbuL~zM4XP#Q{+r%?C;^3iV{{cYWTpVM5Y{0rD z27LFy;N2O$uCJHFE)TM#gw(W1ph)$beb!QBa?vqIo^-Z&GVG6W=YNYI>P6MMzE06e zo+2yL1GFg9Ym_8h$&Hi#J23fuq~CEEE;%WZ+6m*`!km(!h6vwNXWujM57+CS&%>GUu;Iuh(wyqVUZ{-u4s~oA>Kh~?CEh0a zSEew@t>ilTNQcvo1!)F#i4$wKB=SzXBJg)pUMv~ppY|~Uk1&i{lS&fS%jtF9ELY{h zn=E3LYh}29CANC*FpC!lpl(6IQ&xe?xA!a2;3{v}h=+^5=qC|V01*w~)6aX9$X!!x z-Y)?1!|R6yEzlMk645tl&d*m7he6+DFBV$0xGNt|*Uj*CQg~cIP0k9Tbb^Zb10<*n z5zR-O+Je>g;?b4s`)ZH0MOKg20&vmoa|~GZLQ7h&Xn1ifxGnb)k~^2#k5uwVJKJ_) zm1~7q@^Q3Tmr>W-;Gu^2DUs6>@!w~fG=#}R;ilmlYH?rli#;nN1gY)5{Dnbu^tiuf zJ{&DOE$Z{{dQI=)y~xu$RP-#C@tPtkU;n|>)lpIy2d zuC?4MueLs?)bUn);x26W)#WZAwF4 zcaj@KqeFMaPmL!97HVzKXDI{)!v!bJ%4w5_H9f|TbN;Wlj{t%(c=dq_KH(su)4wP8 zY;i~%h(b!fu!YCrc3aST#Rgioa?asu+VLMmARXC>8fAxAg_}y8p5Guo=4;dSlop&R z_K^7?23eHASTuKwU+oi#zB1U*)W!|}=PHtb*&n!_i9=NI`WZ!utr@Y9!>;^Mwdq!% zl+)Xt1Y)&){=i(9NZr_Ge5*{l2WUubN>Bv)8K4LUbf^Gf#=M^{gnTlkDcAGy$l@sk zaSBm8NE+?Y1tlFw3%@V@YT8Qurcur=<#08__0TWPkpx*3ov1plmRq4#COk&vyA%G$ ze*SbTf{8i0X;% z2E5QSG7kp6AIuAugPbkb=LVOM0vdXtS^!&V?-EO4J$xsJP1OhY=La}dEw6SVV0Stf zj2dn*&>R#tW6;{F8JH)}w9efqX-YNltsF4bfe14|nO4b8*&Gaj~bocupVPWfqx~V{~?uv1HluArAAwCbaoOy!2Ef2=W7ZL%K3Jo=P78rUGSj@a5 zUPEvU;At!=ukMxd8GU0iYbRzexXF0{4!Z&sDk7ZHPf*iIUgH^yR=A@<(1J&z6-*OnMii@7hpzh?e;i0b>x+zWG!*=)tR=`Bm2=i^{~ zdEd_5(G^FPR%haI6X2^_r(=|U7tZeUW7|L+yPbGGT1`gDv~YwVhqH}Pw5C}>$quMg zr=kQ$){shr5gS_WiXX1gqYV#xwwdGOVYNtQ%dizR^J&@cX`9S$(2^^){nIeW@!&VB z#=(?(XFCLgrtA!@w|X zgg?zNwS?zQ#*d7d9-raZ07&uz5u|Dj;Qfj+@L@&KG@qiso% ziD!4gymn^cVf}^eK#o~+*Y@WXQ3R;QjO3}+nCho77afbKqC(JC-26@JR|!n4)&Ov3 zStVRH!H4ecNx}ujPnuyWcXQW4Z5lTC@o$PoydE^Dhm**KutohZc~LCMG}|C zVdK#?B(JdoV{+sL5_%Cg9G3p(dy$PA6H3ccQB!DPVMkBKZbm0_{c|I&r2?EW#StL5 zo-(rTr~?M1{J*zpgRHI;y_NgU zG3thR6W++~25v|;tG#G}#Lt>Ji5d-DuKA%V&*%-v3KM0L-soCHuL(F3JGJA|o#dcg zt6OyJeY957aEM`QIO;r^Arcx~Kl`KoAZ$RyF4UrYf#>3A}%qXX%4`vQWMmc@N(@({- zoypk2`C;R1#1jJ-Hdf&%0G2r=P)X}(Zd5=D>X3oM=?-@ zLWBT@#$><*02YRi>xwvkdsb!bA^;t%A7@Es*^2B1M`5!h9F!Q;nkP^ zWF4l+G0Xg+C9~Cwo}ji=qk25NH^a$Y2~(6@-trRT#7&JzQ93NHVWu!jF~&*^=& zY3RB^$NQQ-F@~ijYv?_Xc~q2!r`fw3qhlEw=+_tLCY6{dI0j4w1HpF$Zy{U+S1ogmGs-u6I@q;U z&IGYq`rpEO!+y^-DIC=D4+4d|`>8|7B2sR5(fF1CCCkvxo1S)eS944ULL?+T$dD`~ z4OFntV{>9T3?k*V-QI|=PBbX#;U20xZZg@(6qIs?`FuBrx|8Rr#7tZC`+;(HIVgB# zXW@W-L?}WZ%@2rJZH=iXHdx_UySII zfg21*zHPh~S5Af{e2eKWSYU(r3m=SS5K8~QPfOK&A~i{xFPmg;{Ickb1`K_y>~XP% z-i1`iPs?Aq`^Ttslfet_+ol+T!FIazyYHNmCr}WYfc?S~Kk76HRq(W~Yk#>(t+rs~ z@WaFZ)${NIFB5zq(XYdK%RLPMEkM%0F5tLZLFQw%goRm3RH`eNfXF9^!Yjof-RV-R z2pXcX^UbSI?z92E9dz+tG(853-Kq+d#cG*f?XF*mc`pqr@OC5qOD48i-XIku z@>6Vrp}OBL3={&? z_o(nBSMvdIWP_{<5}w55SUB|XPYaA+eAcKgxnnS1ZP^4<3R9TKbd&F|`KO#G^h@KD zz5LLV!L2s=sAhY-s__HerD7u!L7p5!IV0*tg?paKG||ki!m`Q+=-Kh z`WQGO^lsV}Rv4_5L0V1zR)>%rkA6OAH4*icesh7^#pC#WTWRRik9Lk? zL;v)vD37&*^PX1bUNEgyi3O(QBDJY7s5;dcgid(*B1Eq!2;`216zaBj2{J)mkY~J6 z)TA^plL4s**&p9Ng))(J8f%#&i8C;vkByZ++H*Yh(YlPqJsM$)49ZQffsQKiqLMOo zeFskV6;BZXf03ShpkVZ=1X%;5qFuY78)6P2vC?+1S8|C~R{Ru^4Snh!t5kl4QaHP> zwbemy{&RmsTaU_)YxzoNT;Tm8;BE3>fF_%`&=SJTp&650^;@F@_+16gAYz$}`HEom zx%2evm~e?>+_ry*&g%Q0M!&Wrz)F1ic6AQ`UCh|3QV!BM!+oTQZj0ZglrbX^zHQe; z2Xfcv6#e5dQzs|vR zLSu4Am46uvbXt0<#u>QT;)62kd~pKJxp~@QzQPVLpj~F2KLGFl)_w^gzJ@c*+#>3PVT%#B;wO3yC+x{i+NX{Py-d_8%BuOxy zuwhL{+o1`6!|~2*JZko8X&8kk6n1J?ItT8)>w>K1gFm5~Q*yO$UpH=h)FNpr5W<$s zn8gZMzBsSX{#dPUk06)Hfi{6qaInX~VTCJ~DO?J%SD zDs+hW0tG3}{Fu((T~%4cfO*k}xX|k0=MOSJBfI{MiE?F#EW{~rNs#*|`H$4mlgHmW<&Y{^@hm?ha%S1-mSI6|X2zK*l7fB^E&)RB@ z81-5;;;}__8!|{vkR&}wH`$V#08XGm8~>_lN9%IquF`_+@S+Eermp%+2W0KONUYJpF`Em#up4)0URx>(Zhe2gRTr=>Vr~uxWxG6FP7Y3^lmHse%syk|gf7Lq zTw4A}0SYHrn6V?-Ie!cuT7t=NB9-6}^Q*`}Y?<+y>yX@ISTG}K_qC$z6bA0kGO4;t zK!~9FPVOiUhs~aVnCNPN3dc>a-Be-9sZ;8~#6tR4r8*}q{MYwIy0*c(9&zW#m@3^a z7RLKp>lJbq>4(LBzvKhWA2Llu*JSm`fPus697sx7T2tPGrT{H1E%W}Tr*#5ha8v_L zKpy$L=KlTH8?0Cb7cdIM`@g^?WZoFzPgnCmDy!2}op)N$1$05E2sl@nf;ir+WW6tZ z`{}fHZfsL6(IP=Hi_%yUElz!w5_Aas=5Evlh+n?u`={a zEA)^xdm8F=F5vRZ#_SsdfqKl*EOBRaM!+x)Vl!tjafvnO_~H(uEyFOi5cmIF?e9RO zQm~6by7SVtAgibY4BlF8wOi(ywtpp>a||AiaSX3USi=FAbau<$ka0BTL;EJN_`95n zsN_!M1QRUUKEa=yMe%Lk4Z_`jEX*vTGV$x_TylWA{yb~q$@;$Iw;FG$i7hUh)e2_G%chY%@l3!_qe8*y^lFswW^!zNSs`&Jv{JZA7StAE_Q~ne;sb+ z=$RpDc&2Y4gh1$Q5JUE*UTtQ1^h+^ORPhyW1u*1%C>L#8ndrBy_jYykGi7Kg{u7+g zsCei=g=D<#Io=02g{gYp!w5ObD{~fLDwG#d1263`|BpYsCM5t|Wa0^V^&v1Ar{xQl zvSU;Z_Dzafqsblsi{PF--Ml%LqR6#%Ix&Q~&P7DhXwKq(WT_2!NPNZHtcCE2#wVSA zCV!M0@_Z3cKMTR?S_yO|XCZjTRX-?GMd0-mPBqU0k*pZp)HU(5rOckN8~C z+ojW)UkTVQ|B@PuHGA)gTrx@YP?mxrzycbt7`4M8>K`JI>Nz;^KA`S8^RF=~xhj-N ze{W|Ts_(S*fzAOj&>X3m$=(>|)wTldm-)C2M?i8H8n#b1QJ7gfM-)qpJ^uwhTrTuC zmA^VjFhk?l@KALexG}||WdG93%$3xuEFWIthKowcSDvq&@dd3@X37Gjs#(`<_2Srh zM#AN7KvV_2uG3JejMmqGXr5+O_1@9)jVpHau+dB}3*q^auZnK>CCu}7x3UHs!zS<| zW3tP2ETruY^D1ZPu?`Ej%pRUDfQA`0MT;b`5+k>PCTB7fbaGHU?=}q%+UE4sH!0__ zX`9b#MK#t7Su<4WohF*z$l))n(Q6y=BtO09nz&J-_J_9ZtM+e*x?ZJnpT$*z(;VEV)s*?hDe-k|b3+?m{+!Ni0 zl4unX;5xuK(sC#skujVH&L0Q>S#A5Dn?Eq|Kbh=u-G7>PwP9=lmkg;}CGo*tK6)>f`-N3r$L9^i%y}O^>9WnZxn@{jelWbB{A3jk(Xz{$ldfQ|3 z;(ao4_hnzUoK8tt=q3MC^?O_mkL8vKRG?ZJ*FZLA0pGapyCCX4YxbE1#FZn*}tTWfatSC|O$=0d8qF zLzYQId#jL<;m4Y&K(oc@%j-2`to(z>dTU-SDe=25k;`;?+#98<#U0qv_x&X)EQwB! z@Gcw3QSobPh*!2}!0BW-g-Gnc|C21jYi_x&eAVF71MXq;9;SP=PyR--3b*l^FgSwe z$9ncn4?TIYPOgtIotA4lOaoa$79{c4%r&hOY5qH|^|e>Vp6;~cX;&K?H_*5O>A-6-m+rxD2iXOfidz1L zAcT(gMpQ+(UgLe$e}#Lbh6?=2&yUEiwwz%{8acD8OB;gnb^@sA-A+6+mT%LEs%O4| zpwC*SFQ`bs8v?yKeN$31tX@e*DHSc^%_KMt?V!&j81H?y13$$piUbo&Nt;VzcwQ0{iT=f@3 zj#X{rc*rmsoJZo777}X8eI|rlZC3N_5yT_G#LK;-qoo9hCz06RHled*gwLk*nRtzV zM1!5-Qr8N>JSW7M_KJkf-*H*=fbKjmX>3Be<>Av98z&z1Tp@8ua#4Cmq~-`Ar_OY= zYCnPrgG@;0kDh^V#u8P85hZm58jSGk7gi4aIH7(G+&YN6)lOnY7DFigb7IYipB7*3 zFmJE(aR@Ea!eXH#0ev4(>*2F6g-%1Ka(e>lY<*HjNPM0J29acXD_7P|fl|+Nsi1a@ z`XAiXW#@As#M8TF4-0UR=~yMLPm6}on#Z798yk#@B5e3nu`4w>B(@5?yJL=6kigDJ z=Dk@eRipuieLEac0>vZ8DL_m|j8BMKh~b1xexQ3x=~G>&j;nXY3tbe1qnNMTbf~2Z z=O;+amF6YcQl~&%BBo0-z?OCSL1Xnjii}FA0klJOjiniPqeNpFRJmP2xqfYPph#y* zRvV6y1Ai3;FD^;3Fn3n3n@yS}^|0|l|0}xmA06Yf)*Casj+u({`qClb>~6IqIqubp zf8|Vytx})C>ittW8mtZF5?=@i)B&qf8YINwwh?af_;1J&sQk}}OhNW4$f`oWm zzCcXZnO=GOn4SL__x&hsqHn@)?NQ0!qM!%xAhE%C#WvlRkS=Pu$v*_p?*~@HuXsf< zP;w1~q3%4g_PAF>a}nfGnHN@wbwN@mi;Udk2{(nilB|EP(inF3FK+qftr$N|kjj-H zTWchFyd%Ovp8Cd&x^`KK+69ohwJeM)$O#s;?<0(9h)G*p?g=8!2_z|g*ahO82xG7n zjD_d(zyjLJ#4?kNIv-$2!N(nqbMJzCi$r7(H)qL0tFQaBROdfe0u>h>KJoHGC!*xW z7Vgzd}w4xb)*bQhGWBwVcCI_+hJ(N!; zyVIrS*c%@lN4jv**eVvgH|Bg&$lauT0TEf~0{6WE?|?G6wzm){%eHZUUirsE()Xvn zdHmhz6jPrJ^Qwj4WuX&!XxOdwdEG%VP7uoY>n$#$42CESJGT^)@eJbI~@w`6p1hjes zP#m^_Qi(FcYQ%PiWa2bHPlA1|djwG&f4JtT>Sr}heOFi7!Pi0sjn_;Xi|kiG=I}az zW7lg(FB0%7u~hQx-J>q0B1}HTO^*3>@=6c7if4D0&(Eyo1{V1_sI8CU_1lC}s2JdF zNGwXSeARmhHj|l7Y<47X8`b@A1;hPmJ4!Hst_R8-!-xhx4ywWsd54W`7fbz|W_($< zlkmJ$lgs*`kZY?rcf`5vHS1*u(2O8BI;rjNEE;7cOy-~bK7i%x4W~Qpw4e5v59U2hIZjffs@LXieq%Dd-_QQMziv{~tC+k5&{o31`0wV(f zt;VxJofXOrbFfS>E}ldtfLRDQ$SdZR*X6WYRBCJ8^izydyCnOMd#UMcXN zBBz&+IGS0VpWMErW#hyQij6+`6KvrPag-im<*FsrLct(bf1*;LQrG7Mir1ln=G?ok zm0b>OK8HuFW5yTFEh@7Ww^t|e-2dGjC)$3zqN?SnYlq6ukgxP23m`@LZ+Q5!5zi>v zlMdZplRy8a@9DVa2&qjKuke%Pu~Ttc+Yzfi(dTj}tg1Kq{!IM$p+B0Z%g1j&dX5#H zoz?<~k(rd?gzWkY+sk5P9UrDXw& zJ*c`jCsQBog0?y)K8!rDHe@q*XTc2Wd6=}b6ILs-viX{^4XC76JtBV=yAbsZ>T06I z3@Ggv!^Eg^)g?Yse;nILo0)(h_L6{(4{02f>N+5jXht%xJ>*jhHV6o@fRkgh=(IJ$ zk>;dA!mE>ACZmy$iS}@J`y6rld44(4C=*PRFuWNocu%uC3ky|_<=e~_F8ogMUP7kc~<#_X@2V|-%h_|P2IyL&X?v7GsMZxDVgH1(ruov04+voWCT zVyF=wAX^5I;#FY3jS!cw2O7}hif^f2nl4Pe7jUu1*BN6CZdc?!CPEbaeiIxdoZ+_$ zoZkH;E~w*Z=)+utLIiDsif%oLQf3a)DXkfw7?bH{;cqqkh24>ZjKQs(rbM%!uLop> z`-Q+Z*^Dz^*F!R=z8QhYliXhHLGn!*bFTf}KF$Glc|1}U@LfHWI&bw(<*E#Q$)@(fS<3sf?mA6y7QAT=4gfD=k; zIV<8>3C&O`m>#@VJ#04D7M1_pD6PF}(z|#{2dB*<=iQ2!i}w`)9k{>a;<25g$2%qS z6%Im4D%B>BM?8i7Yoq_BOhZINqVCvcs5|YJwz=64*Cz_oA=^?+=e#u<6^lLu_pg*r zDN=rlL{rgUZn9M=|3c5dG}e{n?d@UK$6I27P{HWtuCUhX`cD1wUdN*k62L=2Yk%a+ zHOBwl>GT3qq+N){sSW|EzwOb#@a%(L+W4yz|z#w($0wZym zMJP49(Ra}RC~7uPZgOTvGNluzo4=m4RN$4NSy5{p9sa)?QVF)tVF7i5Zxh}h@aFJJXggqLv%%0acl_(x!ZAodOda}Tn&+7btRVpjf;@<8OYdb@IosQj&EgjH`>saeFb)SPGb(2BN3$!)peIe% zzJBLh7E_3G?zS&A{31^OJ!z8qv_)DW-Sd;#E!J67Kp!d5+TwsG^_*X)1f(CAP6)$E zsMhrI1^JH0k>#!Rz5bI_)C5AjZXh!?qQR4`cZe@U#ruYuYCf|p(Vyr?90B`1VlWH; z-xS)uJrWx|x6hEfnXnFeJoJWe{Ln9;oTCQ|4W zfazQ!0cmZ=Asr3`)z4Ht70uwqCm0tO`h2s5IgF_Mx2b{MXPTRNwPJy;4`m5>Eql2L zF9;q3%+e;WR*F$rIEw!Dp?seOMw=IR^2R%kEy=Q7x`&9)WbFMskRbVw(+&=1*5!Qv z{rgWOn{)Rh9H~wCvIMiSO418@>}SNq__Ee7aXp&o_%;tx^9cF7FA1AgnnXRDMdz?s`1;e!CEptA*0+4yHhn|7mV=p zr?INPS|3oc@3*<)`$6TMJ?&#MQ~3K@AA|Yw{7q3EANf%jJYI%)q99<(wnvD-hKq^t zU2dKIsg;Mb+gaP&4vfHj8QaqlxA70W&Q3)A(0Bb8VX!|fEDBz^p{=LH*d<2q)d2d%w5y`j9c8!=aaJwJf$@- zHq3vAYV{K^B`{XK6KvwUOxmkS0u};>&7+ktsCg@scFCY2bHczynS53#$!?UUBFt!q z=EUTDj}>$MdC8EA#-_!=&n7%t8frbHS4dE#BrY?@aaI7jbN)Dvc|TZxpL%n4Vf!kE z6=`6%mmBr=W8uA%;`z~ShDi_k;8OXu;KpEy=v8xN%dIZ}1JasJ``>Rnue3bT!Q2=e zvY6wDExst(2D%{B-wQg7aPnUh?$HJuB$K=d9?-J%xDacCA9Vs>V$4&D05w|lop_i2 z*|6b?=F7BeL*nMrRj>UXBmGmF3Lrjk$wK9tAWSci{=kpQ;3#Vw?F0AWGkbn3okZJu z<5Fq~akIZ%k~IPU{mj`re+CV?!R&i5?ps<1paLlzjM>-n?B@0qqARtC=2+Vaj0PWm z9nE~6>Zqq??^8v(->oZT*QNg-`i%KR%U-w3V7dmzgJ+be^@6Y!7x;`_9G^t5ZEb+J zw(FK~biNCzz#IsVa?f7PS)z=M%Ai3o*mUy;%h^FdN%#VQ^fudKXbt__c|&+H+~Yzc zpPcVflH|7ka0y2JPgeUv(i+)jJ>b~2CHgsASg7PtJ8ik`sGiv!>V#m6 z777mFxBJ*}d=vk*Zgb8yPKY1z2;&m3W`%%Y{?Ubl1h_#$IA)+&t zNR|1l$Ns@`@ZO{Qz#e4=b5h1tCX3ni#+@WQWqhH_@aIO1$_rX8SBbt1wmgQyqk;If z9XB!A%onQg%%D-O$K)k?iOTdf^CTre#fylu{J-ZDm#f@s2}WMp=JDWGi_9ox0Y}4V zko`GM9pI?YWe4z~c$T!x-OxO5PRy)QJH~AgRv8i~C=LD0;$3k)(w>WTd3!Z<7psAE zddE|2QLsB?26zOl)Na+4LC3e?EKMS?Y`x|=iE{T#j?t>QHWWk2(6O!94lr&=X7~^5 zCq7`o#R>jk*Vu1f_#zPSP1T|FZ-aU6Ah*cyN;-}WUoXe8ud~ok&0eaBz9-|PwD`B& zaFv^W>Mzf2X?rh=B+pRZ7g-d0QtQ8^CJZp#!c8_n+fzo>&wrtha@VI%2IbR0)}Ghw zeK^ye*;V_;4aR?Z)J3=ifGO6Z**~AmV{@yKI&KGM?%C@o^x_T)h3@MG34^PU{U}z% z5zLBOL5bX&yq<2iApk6PAQG7(1{0Vh%jyhse(r$D_Zj(NSNA22$vE}VO7h8C6BKnu zTYRrU_p$2&+DM-jbJMaQuhc2|L-e?swanwpHHq0Z!{^-vn+ry70+Y_j*ysCxy%~@X z`NaXQ`h=O^!o>`F)!N2ydqk1^K<**|xuwKM9NU4l!V^m!G`uT9kpCgGD#5=|=MSb; z0z{fk>HpxL+lZsnlEXr6&Hk&xS9!X5 zWe9J31omJn*-0E)F-l5kQvT%$(tLPzeW-2u!q)a&8aERe(6aNLayNjx*C#%{rsFqCb1zK*^__wAXAl8{TT+jde+kg4_YZjHUd{UJ=LqLX z(kTcg)?Y zSqbbB9?{tENzXEyvBFMU5TM)ll(up`G)XQzsMCyn*kC`SyWFRd_Wg{NBB($EtyI4P zg^q*hz)9jLM1yfV<$`^G?$6nz>cuD1yfo^T+C4b_shpkQ+%)D0WyhjACz$fm!-O$S zv_BR~|HY42F$q3KXB_MIJCJ z@cPmyk6K#SFS|VA^22KuOIKgY@+tGA+j3o1H%c}K)&)?5`a6f^8c`;1K|jybM+n~c_l#1PpJt05{U zTz1is2jXp+>EQgGP%*@yL_f5f7kcdE+}~x#QWb_=FFqFdYme^y^ctlEhO#5L@e z-J0$V4qq}5rvrGn-^dIF2_x2J7KuJtZKhy&=ikF1-4j?U4J(y};f4_{a4(d66iocl z*+ggcW(b(T>W|huh!dAnc?!;Vpq`{#XQa3}mdV6OvT3NH zwC|F3H@fHPVNstlKlCkV=SHO2>Kf*@Hc{Px2KS<0V-8vSs&0C+^lrG$=)0cm6-KT6 z&sNr{Z8CfxtsXa<>Llwc6~BgYSBn_2!tospxd|AH$v|eN#2)SvpQ(~HqIp5v^Gao3 zkX8CHoNfiA_S%Fi*BZz5bxiUh>VN{d&dcDrcX0dTh4<8tPUe<=*Hd`8jrfJa5m;>Gu66L>YwVM)k-;}%IcF-hEe4Yd{)S#Xy z+4rJVR$bkeZds~Fv}Mr~a{~5pMo3F_dEF+(@dPGV0#yThf0kjBLj+o1cT47@eUb^M z;%!jSo9Cv>Oog7YsofL|xaXCuGg|i0lLrsM<~X{O{plfg6Wjb-QakTH9JW@X!cOQy z(VRx>NFq@;DxyG1S<3}NTJ;HD{RZoLnTy8LViKIRNh=4&G`-fGNG4+Hfg5p+nt2B- zaVXQg8KJ5hlul$4m)*dO>JiZVwejj6ot+jrlOOsp67q6xNR_gEiDkuCshZf15Gk{> zm6ook9rQ46yxe&xs2EYVl$Zc(PLgUOnCK>)+-xQIh8;i0U}3oTGk-NMzNSvP8EWV= z+6^JV!^jJ1441-rF+?d~HyvO843Lh~)7R~zfbXE*F%K98hsM1^w^iM&W2|Ls4kwA2 zzOLIP@r+v#Qp^yrMmS+VcTiN}maRVUv(w{Wf1JH(J1jfRwo zoj#oocdp`~jZ9Xlg$NCI$jJI*q&j=rw{@Nt2SocL2x+A|VOt~-^2&5Kl_;NT`@+-X zc#AcmC~=QS9t)gWb!X3&4aGtx*=*=mwPL>SFBP0L1SCsB=qS82sz_ZD=L86uno@hP zc@Vc0CkvPoXL1-i4MoJ6!4?P(!amhG_}X99Zi<9bHy*;(#JdeWuVe+DPEiiO|V0nhl*`LOmhcuz{k#!4j6c(FvYiye@qWLVu3KixS*+J3w%6HId$V@*-gLTw z(~~Blqg_sJh*yy1AwKLE!cUf?HSj5(sbm9ej%ALo_-Ir(%F9yZqIG4RG;zxltf z2%Yr|cNKS@b!~z{e;^+bH|tesCnnE10(mjb5V;vw0UHN*uy5`GCNH1-DQI_nX#otq z(NMy2nQOyUqm_TuTms7tup)W6AW(?YC}J3KMAw=^tjLV~yADZ$)sv}HW%*a(Gg32b zy^T9r+=(k1H4n)4!{-Bcxt7&Fq&T9BluHNbA#*6oTN5JjM1st-fI&-m)*1yNcZ@Y9 zE-D>%4iE}WXpeNg{()L&WfPVInynCdpYlnIQa_3Cnwg&t*{q;E8#o3j^02#0bAn}1 zTqT3(Yyw4FoJ5>q`}e-C1G4Dndi#4zgXw!RsHA8gdk<;4vt(;xqY7og)oh732rjds zz|rdFqHxIjiW8rv_RK;0r+NYD{Do8tVrnT*Swqm2F6heBd2D1A43_7$<}Vqp2Ufs7 zUR{#n>5A(Gp~c~WNUL73u0DY+jE>t$rE17bOkG(~RSXgh zh!VlX1m7MLsQ_hvLf9D3>d(*{UIvTs&-s@%(oORVLSqD!zI+!2Vt}; z>7zwBjZfewRo2iTFD28zLHr*TX5A;hJ>_mE+@7gQy5&P4n&-XE*JoRG)C82 zwYBao`*Lv4!Sh|;^l&|>!nAkWBRCV6H+))#7Y%C>%i{B5D+cXEw|8NCt|S1h2Qc4k z6oOX?`L-#8WR>%O4s|~-p{U_ApvOe3sZgBmu^*lWE2zR%(N*0GGyeX2H%1X45E;^$ zVw)49ERL(0U!sbbuaABxM8RkxWip;ry?lAd%PRn&W2@?|Nne0o1d~<7nK8Dodo z7(9Z)z>bqawhbrHwqWx--2Ok{?=$M|QVcy$p+pq8HXk30w%_HG zOtK{OvV-yk0zJ4=uVGcR!J8a%aC7f6(mtN;rL?qXHEVXHg{9LNJ_M$ z__~f6V^!0Uq%9*ws4a^Q*O$F=5+e6`HV%^{%7j-be>VCJ^MwH`P{U5IF=d4?XZ*sx zWQ9EW4UZtD{wGL1&_vg6gHVA74I8JSdG!jaoYyzGc!F>W&~9n!_w588Re$G3^ zAyw;U$N0Gdl7w*M< zd!L#PKH(oxyHa4U!F%gVBjXlc|2m6=-Gu*38Ag|$?B{N@S|$3X&59OIK*SbuT-WaX z|L(chx!}0IMUXDvN#=Whicl>+hDSy8@(3q*yS{`vjh#i=1BI9Zwi5U3+Cs@{e{xAY z=lqE2ow|7^=poT9rUm~NyIfMRA93wN-TByBF|(XhFEogQ3w1Z25$adha9zo0?%p4z zqai7r;dldzUD4&6-RyAcQQ!9|=nkHbKIukow0wOPLlEwUu3o^lTT@iVa83L`n{_V8 z$w3=a#3_@$wuSS(TV4CV<#@|dh5Yj|9gwsd!(^b}^o0yWwE|N|-suW+iZ3YCDUdaY z#aodx3+-HPl|v8QA*G>T8bXtmIYXDQ91v@*DOe()F?Ziga+n$!-%UC{#Z01`Bux|v zfuT_M0mzb*1!Rinet~^h2EO{Z41EK{o^_hGa75MG4C)lqnT0C6RCdUyk6;ob+mV*l zsYQ0&eU7O}y>ifayph|JdzRc7(i9@go0OwF+kwoF@tHnGemZHeLM$u-o$PT4J?u@x z0?}_e5=2dG~z5jxm@drj1UG375zN06Dvp>1dOo$v6U}!I3nWDnyK9+SC}ku)K-7#!Pp}ffcXjO z#|RDJ9ta8@LEXxt!ZGD!{M%#T%G4r<;LS1bL;&R+$%0Vo8nDg|c~H=?(tq&9OvM*$ zZ5WJxkqW>h^Og?IBztw`K4KfydbD{r_S2^RB6=al(lR zJ7HWDP$>L#h4*!&)W6c#PpdMKDEC^wh|I%0oR+rR6RN(v>oST8kJCK?m5!$a<3j0J z84PJ{U=A=1DYX@0ZdUx&loKZk)HKiPenSov(NSgLYo2T3073pSgKfygVZ z+ZHUcpx?jCXP-XknbBQz$?vrPyxXaZVXt@)u>hBlYZwL7A|pJL%Op~P%|XKOGq-mL z)*(5oiW9`{s3Pl3YU_^cvhgy3G=o1Wo2z)6Gc!}~XQ_1jN}N4va>ve>U?{+&j9Z-+ zlI2u))C8SGA&Ef8BM9HIqLneZVK3{Op1+VBM$Mv!zfHih4u@*m_`j<{jbQA3*a%4^ z&R#6*QGGF%YjUuXxzCN0fEnr_SNQL*c5r!;(jYKO=3ef>hc;5|Ztk~P=YMXjCPNYO z%OXjR?cziQ4}aImr1~}B#1D@Rxic0@)Mh+6f7&B*;27;^D`*(ZWcTi&gwsrmiNcW) zkz0JUy2j!rrW4m?iBGNc^GA$PwOy+sFu>XYJM2r0btuDeTJi3^PUBnh4q)G1-%m8E z+ZfMD4k26Wl>}eNPh&o27?g~|8FJR%%agWph+}J_+WR&o@<7SO_<9!{@a-2vPahAf zKwsXg#2-zL5LBWj?_?+NIT$3krj<#l! zZfN8iFs9=ptm{&1qmZyG3q(bg*WF>p>+jZ19fijip(8P4fZYC9x?hlN>OWq-n=}G^ z2>gU=erxBu7+j(QX@YUOKQx_Rc<9ysm#J9x#SfxdjHziOHguvz|1=R)yuVTF_;0({ ztNmimXaiQFa$|Y^^i-FDQ`5w`R|v*(q&{5K$Bh@Ammy!BKl zUD=d}1~%)VY=QA#x?@^^+lIa^3-F zi2dDgqw?^hdd4#Le*Ec3=xdz)O*=u7wYj3qKT^D*xmD>k(smtzQ;QImEWBn9w?_oW zD}{ywK(!3x2T${UB+)?mcx#yX7I4uK&^IFy`guZ29gMBm3aq3Xg>`xGzbl3}xK6^i z3p_+FoqDPHMgDT423_r2bgtYj5_u%GHO^_FHtSwZ#uFjv;F|qWy5+55f(2PnD5vbU z$C)7eT&%IWsH8#kCVXaJxTVRlhJny7a%f?zdK|n9T6V=Yx&RANK~DGSk%j$#>1rbR z2BCp{NZG}LgAb5ylbaeBJy(hfLaZmeYj%pC*Dp;Wt1rEbpwblCI(E0qsV%&>d2fCf zsAE^=f0cMb!_x-v&xDrm*l>HW6mnsgSYDw2O)sx5bwovp$@px}Hnihx%(L~-TDE*s z*;uE$F@ml-;BB2MkTm$ahGy$^Ue3XC#3XF_E#h^p96`Y6-y_feU?ERT}nN83x7? zy0O51fP0-dbsL{!axrNB@M#|#MC-fpud9cMi&y9Mam1VsKd(3bVwf@S31xXEqWZiT z{Pmqb?)+5<)|nU$f^6cspdkVOQc&VrG>*ZgnfVqd^mMh9yL;}{CgPxEM zQ2zJ#3Uxo8V($HiI`??!`~R@o+)zOyo3D@4*LX57vhgQbX)xXtjpdR4`fP!%eAmQK z)Owe+xZj~Vs7F2Z*tCu!Em7`i?b#kNMljsx8 z4~uU^eAzv_YImcsvS*NPySgzd;S|Z7{J0oRD$2=s1&X!FFGFEGGXse)v3~X%NiepA zt(gi`{S5{}FUoV1PL7k#=Ms8CFN-csMMa0SDccIaEk*E*K6#^sBmy*|R#O^}p4Rl+W3Io+2PUyZy z+B?Sd{MY1gyo$6c010#8p8ByKQjn4#c+c( zU?OqWrK0n;ILCzAx4abj>{!Aj4GzfD&m_q8VQrI4VeV-y^RW95Q+aL|-p5TL{K<#p zGwu!?WayDOegnkR&r!^u|J2X>-hqL)l3VKt(gsOjbPSe8N4HiakZnZjd>mUW<{Vs^r@d#qM^=a8Gb5}kTU}OBo|&nXOpk#RY7<&lVMb- zGlvoIaQAe1EPZ);Am|3quaykK=`Owd<4=+V05IpAC3qjGK;dBGa}C=fvcKZ>?c%Av zlQ1rKxW#mZRQHyHA3vXUxAONO50R{NsVOLMx1h84lVAsTWIh({_YNSeP_i@l7|+>o zqGpwdBS(SsB3k*!Y>R6f#CvY*cJgFh>!7Py967ga3vM0y=oz#t@0@gW<~(U`^oc;h zU%k4VkYYf$z=j?@L($2hPo}dwI__Cng445mGzrvlx-MPbQpTQluC5yzXFWGh$jS^)7@*TN8vIc9dI?bnxL4z5OI;eoCPrU@ll|Z-E9n!><|A7(C>u( zUG@AXC)zUTiB<3KM9O$&I;u@+(_U(+u^&GtgX~&^|?Gbgd^xsCqR`TF!p?RHZKlAW=h{noE3S58_LW~>V|HEE(8;PrL z39wGt4l4R2{n8M(VUOELc>?a2R%2^$-}L+?e1a4}F3grNcD){w7=)uh4&QAWPC#7@ zfBOfET!b?M4DQ-Uv3xKHOdEx6WhBM!^z4QQ_$+LFk{c+VTVMA{P|I?z9Y-ivMHB6uk z?(w#9p55j=g<^*{TpftyvD(af4xm`<{{lYndwlL-8I)??rs}aoe0zJpGCEWQ@W)~A zAzX8G>c>LKNLlJ0Cw_#M>$DLWoPnYaVcgMQ}sxU`ew5l*W6@@R3$Nc zS`dxIwa3F1^7~Fu5_#BOie2!ShoSD|YFZG_f6zpF<96wublD~X5QCv8QCeJfer0{I_ zijH`tt?Y?0n75%puajixN(c_+Km{}hD_8kwD@!1vUg?^;$LXqr7C>YnD{EKik7G<| zpM6B5<1UnqM6zgu1RCnNyverHm00q+eZv>#niZx|Pl-Ro0%EM|F8Q>l1y|6EFu4oe92V&oH47wVFduWi(SUX6nSdE z;PSOIia{4-;!o1)@qld`^9SU4QvJV{t_UD-RkZ?C`n!7xI^WzW3Rhg?IZvbn;BE zTj6^dOw1ra_356>2wMR-%(gm;>+uE(&JpCc>Y7(OJ1s9{-eHvdXUXit36G0tI(>l_ z3llDKgn(G~P(D@ZsnaPs9D`jnJ4u`qpe#fd)sLgr7X|=Qj3!3w==RXpUJK!LOGANX zf~=-e3G8ug|D1ziE59FJY1iT1N3+V|gCPo2sXIhEgZQ!N}^km|R(^AR%S1%^Di&8jQI!PDmAb_H?FfZO$>6xU;zd#iF` zgvNHBmE$(l_5$3wmMFvk-N{%czlrg80}gXjtUFQHB|lgBQQk3+0>N13zM&X|_c{q= zpyb^MDVeD8&UiY0BK;CUX~8Wz)Xz;`P{5#a7J8SZFdy|m&AVEPru*=N%(-V9;W%TW z3P;P@D%={!K3AxWE$|v7U~Kqrd^`q0p(P6z>LrzAz#UndHO%!gr0%qF=SoE&tX}XH za#60QYy+XYkAi~HriF!tvxvjGt;fzR%=u>9kcnA@8t|QcF<~(GhBR~PLOc131WE%& zOx7hCIqndsO=A*xoZO`U;y=9k$8T~JTu6+9m$BP>IRUla$ZRW@#WRoo3pC^!I)Qcv z8K1rz+Z@hqLaGB)TPiWzsKf!PW3D&$@qT>iIa(Leu6*xWY|}qkI(mWIbiGfIWTS7 z&vdfi5@**bl8~4D|EdtI!CA0MYp`*^w7sb4sC2I{n8cF$m7COfm~v>1Dyg9Y;`(_h zkNuB+ysXV|Q*0lQhdm~ju1zCv9sEZG1FajR!l)YhC_(m~CHOoY&-N`J@Lv{9K>i{~ zzCv(H>jzCvKa^-$!uYNL^0sLF;Qo2Ecpc_H8p)n3RGPi8in*v1{jQ7x3kJUuDDmCc z(O;Iz2*!wYf_*q9vAQc!2@^y(%}lyzc3)vOkMl z4t@t61#CO5?Dp_9lDBS11bt`0{qkXg_n@KxkWBH_v9xhb_xKSo#Gjh4DyPRnz+qRH z_hn;&38ZLdd*JA9B;PY$Z@}p+!mFX`auXVh@x8lFp}hBh{fT)NTw-64umXE}|HBqL zu3-tPswTRRn)ep)EWAmH+oP-yjZiB=PFpPl@e&&m+Bvqf>(a12^jhNb@H$8V#dYqn z*JtJ6Ltsz(-I+dHELhMj;Y{t1e@g6w*|oXez5hz8hs)Vp36h6q)aF>9TOnodIJc zUQQ`pU&Qmx_H$-7)awQ$(rB-8XhR#HkuT*;U+*BW!anF82s5=|v2=z1W zE0l2HDVMpG-PaH$%b68x^t?x}GEc!mrdOWpq+-q%9@R{D zK{vIVV(s>oh}4%@zuf;D^E!&mg;D8Ji>W-kkwqEqwDBU*I6yC9NV_j?@+V(eXO`MzH034WSKsP8@_jp|!J9-@!p9itCPg;&$%-`|K8W4P?G1ntO~ zRU2kfF;C*~V+`4mf>soiTryy1Af>rf)e!v02ul6rhe$_wf9r{Wi?XR}1XRW zvh6MuBV+ka=I2*KCj9Gb{OnCCjJ2EaBL*5h#@8Xa4bf8Qp#t&(t!7`RCXEdD>BVh~ z(B|l@2oZd-A!j}g5xISW}Z;C5YE&tceZXgqB0&d;?((S);ZQs_WU zoQOBk*D5cAACPgQ3_uJ0Q7=eY}5f@`@eK0{r0JQ1Y?NZ6u| zdE+<)69^nqD7zJ=iHPUfkBkeh8pv5B`~tCie@c%evpCa@tR8bK=(eVrO!1cTv4{bX zFXAY7{e*S1gL0X493sR7cRTOuggV)*7`1QBD1pd4mhuN6g>u z_?pK~8R9_KTzMGd6dUVRxEZ0WT_R#|eVQ1cp3#CMM8U8%yoKJ)(`^?Jc+bFMKuJVN zp&(OcT_{ENuE|Ucy9I{ ziLudbgS=`-;F@`>F{;(6K_aMGmOtt*(`57R#{KP zN>U24W<#9QS*m{TJ3Tdx9P)w^Zp!#J6h7?RPM(5*As8pA%(S?Imhm>C$c_m%h#B}f z*r_X!A{LQ&vM20!?<|;d1l%?oybJ$zy=Fey(og|}4%NI5w z2i4!%;@6ue#!`t#SnrLt!4;99Qye?XkPCKpcItl0JIcM=ak2;vAJ953Tu7DX`7ghe zuk3EK*x`2+%5><%rj+5km(n~oNVe3VhLR#2B-=W5Y+|ZhHq5!MI3W?^?GkA;2EOB4 z7QA`vweSkWyfFKkIRKW1gP`HfqQdVfs)u!J4Jb94ZaieHk)rwe`O~@Ym;I075-oZ8 zXu4jLc4tVZ;GLmm2<)FwG^l7%GgsEa**yd{zy>1Fw(Rg*QwTmeTzn|@?A>MD>Ife%fWR5!u@CaIc2#^Gc70=g*R_B5;PyP}poZ?guWyp3yIC*~6NGe2e2#*fvIa@~~Pzs0(H zmGh{Xy5e@!=t?xO~8DYZ{+54Jz+F)Cas}r zAlhYJ=JG=o#>MBpIoLfwikwK|!i7_Bo=DJZr7_BXKA=X|?n3`9$fSRsE+FoKUn&)o zjfZ6-OSq#F6G!J0^u9WF;xfUz3mv?pq3}k-oeTMVW(sVC8|zvKb)7YhfF}Hnush|+y$(l5mx*r0Ne76+w&l`SG4ad zHysw^gzA`4;I*7TVC75`#?mj2LPBU&oJ~`~2W5Mw-JQ4>X$ce(rf*l#I`WMs5QW;d zG$^=MlC!6$XF07{BWYfu20d0ca2)=X^SNZ*_W6mxu3@JPJ4YCIX4}mQKKICjA-M|L>|mmNlMdQclGLepi8S6q-RD8`D9f>lr>o!P!bQhO#WAtHGZ@6!8(xV zk@;VW4j&GN5jrg9;)3O7VLyplQ?1pal#-CTev=aSNs?|qzYl-J1 zD(8MFO=Ic)7v(nusGuENiS>}3^uwzUO>lCsbr%9iX3;tLBD6c5>m@VW))>^_9N)dY zDyQ8r{4S;#(68>LM|^UXgWOPf-igci{j(cbE18<~TDV*d;E~znRM*{tN1P}3sZz~c zqYpaQ+pFnvql}^~Y@X$F`OTJ`0mu%0+a|p(1%u~0p4$7}{cYf|!xY!wQs3J`(cr*{ zUY`l3nbyq|YXZpNLMn&h12rUONvv+qVyT9Bv(FdZ8^*mL=T*Y@;e`v7k9K@YU=%4l z9rPa=h#N9q#F>Nk3E2)ZnX}}~2Fgai=%Tnyv8QoXY)&h7{ojQFD?<%3T+w#Bv=ra9 z&ukWK(iPcBUy)z}odZW?>2tLuFu%J#k=@S={ecYNKUZ5_L1Ajx?#rTG4 zYLBfmo!{lmg{yUL82=-hu{ZzdEBQ}~f=lF>J^_GUyq5V7b4@kRKWu-6((9#eTTKVi z;R18VR@)_u8JaXKiKJjg7nk0pQ9Ot~(MZPB8vFYcSwC>Kkg;8mMsQlAgJBXn8;RCK z6XVIy4((73O0#1VZ(b*_z%t&1S9PrYnqION7&gn7f|g#6K?B)gsf5RNX55eWFmTIpxwT=A0UJb!3F>D~#7MTN8c(O`@k;<8NMq{)0bfljm$WMNzg^AuLm?c@) zs?7Z@?1gK}cw9N=AJ)U2``meO*W$VAP)l>`S*7xGsj3T2!IVJURGw@=T6QF=_Km@< zLt1KUog+s{F|n?*Q=EqqKGv_*cz5`}kOxOemV0+`-A6`-GiaW()&|DdDj0`*(-)8- z%MSN9+h;cK2EY%^ILGJKBDOW9@{p1tIq~+2wq5T14EEZbn$ypP=2zuvz&+4`+BqZW zi|T8b7mVwflnhY|LH3Ix3~r&3_pogd(ZLB;8vmK( z@ps+Q@KZvV4nqdc=9~*T;W0bL?2wPM11mC6`0#OcXO8gu$U`woo@ zi=Xqbq9Vc7#FK6nD`qF9>^K-FZ(-bIgmgtsidAi&CWnjnQ@S(Z7XU>@@SYTM1tdWxM({^89rE@WY_V@F{!$gNoF0ksJTqPy7 zq6fz#13#R`fMQH)oP=T-^bn?VXYm|Iw!b&~8z+o5_;g_ng96GdZJ`7V z5v6gp2V~$Fm7o(1y6`YwxvjJv>EC=&{J2H@6e+CscOJJS+?{YbUuGbU#swpWfvXtF z5`j&Ex@hN5D#$`$zDc}E0$h1&;FXmuZcHDN#0K;hwzCW`*2A4Il2KdxMbv>$^ZyP1 zhH6WmDlqfohO0gX{QLn*ek=$taTu@$387^1d}~I<2S*R~t0l(2ZFY#{$$IfNg-O@u z4g{^};$Kee@3`qKt##KBcYKUfi~Hxns5G%jznnFVK|Rh^sWTV}U2m|8BG<aec&dwix>jhj87D~UD5(^Sv8Lp<^ot}l(vSHEpOfmOD{0fM9Vsa=sbK3A zhJii)cjfj)la!2D0tr?IM3AH#HXzqLe#5&e1%5QUVhjD_WP_d}aRp}o!&(l@dOPty zmc210APR@uOmGENsTjd21q5%Hl2@W*$*qJ?5(jDP<6eBe%UNq1$)I0Dj*&ghfFj5K z4}`hj*Lgf*8||i=IT5Btf)?1hcE!s$jE3sfB8sjF&10s?A*E5PDIOc%Qc>^IX~1Pj z4$myV1!Ce!=&-9Z{UPz1Tb~&MGZYFKgBgx|;;`ak9iYBYh{U2|mTkG`u;Uc_;2}Dz zukDc799!(0JPGDXTP~)w;d9LmL=l#bQEx>rme$u~96>c~^|G?BFm919{cZxS9B=}m z75YEW_$^;&pp2Ytyz{E}#sY>|^@RBnKor`1?^cRbqV#`)p*OtJK4v08G4?d(-c&l! zkJe*@@C6OnI@KLTFTx9skA*8UZ1nF5mQ!?*_>c;S%ZQlkO6CqMU17f8@eqqf2-l7m z#o4;Oi>qG+uZeVKBVajf^^DWH*wvwJ(DLl--))@BbnN*DU(EZwCj3;JYf}T38x%KQ zC0V1ANL}W>vtpGf_=k-D=0{bf$>#vAVCBkV>|a4ae$o#0!KEZ!`bWwV;yn|vjkYvFq`$k{ zML10L2hW68`U0N06r6(gmni*$QxaeUXH?eEH?W!`aWVwZd^7vaa}Ok$>&cekgwTvR zc?E7nwv2NFO!jKbD`P9OQ};BgkItgMqmnKkon-MY#BZK>@JXVdfQ;ABZU`?FKv%(x z6(o*LWsdEst=H91Ad3@A@ThBzCJ7da%|VF;<*&b!>fd5;#Ulk0udL_6B=z;!gUua8 zV713DYGh?3!h_CIH%tE+mE4QWNG0idS5)LHv#1?Zo!7fv2!(o}(MOAjN6TQX7MosR z(w_6u=y5K~S~QiTTxv|X+Qgam-8iMKjx9KOsaH|7M*uC1)WC>O$hm_x8YPm8wGyBk z$0L|RC?=wW1oSok-zZ1_ST8j&M`XH}@LV~*`y4ZLJgRvE@Ipm}-x#X9(C92@9~5gI zjhLUO5p~8CA`GrD(`y>k5;Uj61jn%#rm^Fm%Ep<)=r{Q;o-UxE#lcHq(IaI2J;iez z6u6;iF|ia>%c64Z8I*hLxb&X*R^+sCf`~iac`TM=%RNV5-31wjP6xj&pnxSllv5`y z=R(+Zbz&d6AKgW%FLSFJ0I@t#O_@lKWp>K;x15`(6Jj`|4%_5zoEc2zux(v2eiAM7 z-0s^neGS?$@_c}h_&p}Ntfm)JtWkquy8zihSi>=hi+)M>M|NLBrqVJkq|~XSHhjC= zR(D*+_Qu4lB*Q}B-B(Z&|UNBkxy-DX6ce>qQ{=Ts9 z4$7v$l$5d}jV8GcG^hc5b1Wht`W`h&-AV~ijoZmM(J^$=Lx*~^?VE8SBr)yltDjC^ zB{~1g__SQE+7VSMO}DM3YB+V4+ryR+LT_QSQIPRnXfv9oyCi%QD%Z$EJ5|M_fUjSY zFN8gYSMGe6FhX9!h}0VQ5&n|LprGauClnH)>dXlUEY1P+rULyab#opioAYdg&uIj$ zk{;SyD`*;VK4#H|5|S$K>$R~qhar~4N{`r`@Klyq>-CHOkVe(gK`axyhvaFxN+F0G zso+#RbKTxc7m;uHotrA^4F!H}N=}7bV6UVm&6U@a-&TOVf6$qK+q6ZTJAYRV;^#kQ z+$?|RFJwDpNBXE)nIkWCwhD9rmhOW5u@0@U2k=?YQ+SaPswyFCP(LkMX3n2O9^e@M zZkVf@Ote2m9zQTZZ=PJ+Wc6*_GP(UhDp^^WZ(AMOKoIdA{zk<}6v=>Z#OHpv`tAo)Yl5vjR$XpYO@oyIH9oue|=-xn1zHU)=!M!Sum z6mAmvw|*t}Ou<3-hdSXfjC+kZTqnjvWQL=WG|duUoOJtK8(A+(h@T;gepTG%4tund zL1HUdO#NERZlG(7!3oK;qndtTV-d4I<#TrlW%R(QG2}nEU6xlP_Fpj2VjF z_4+cv(5R71sZq*-XvM65Jym;sO=CvtX-OsEjFi1-#qh1hSCJoCuAvR0=Wy5%6V1yG zKwJ=nZizMwBtda}_!z?@ zj*7&eKv@sf0dAtBbGXI>*Jf=$2OInxLm?^qZzrJ(82*pxpvB;u@ar$en^Sh#3H4F>GSjx2J5ELB7 z3Y|n?7bvpSQw5ZKA;pYl8T$qec#kheUL905^R9)uQuA9%fFGh$D#cV8b?4Je?iyO4 zIzmie@qwz#6Nx4Js;WxyTG+P5t8I%hi!46kp4svyrz(+@YQ*3M=zhL$jg_#|vx}P$ zX$9*)$j{_Slw-rIO*4tS;Jmj9)62|bNC+Amu84KF-rWLClS&C9wH*w%Vsrs}jZ7HF z5lX;X&*x6|#oCW|%#X=jGCLX<&>rtHcft!{T<+5!juCbuPc&U3R{rz@`&^Km^Sn_x=d2*H};Am|d%Dju28z(1Y+$1Kg|M)&Fg-0*)Ta z8(lcRy@y9|d7!0~(`@A^FH#DlC?v&ZVWb;(2bRQNYLAaffIoJxzLkKix}L@x@zEO& z6Qt69c9tDCXXz8r7w19FTNVkVTsREwJ=r6olRuft2_$7>Ng`_NkQymevx9F@=KmB( zsa6(wfXF1_?4j{wQ2GmB_M)Pm zQ-EIW5(Gp$bkSlq2g8hDabsi)yirCmkTB9-Dbb2stgBY*^5X4AZ;>F8^gKM}$x)Tp zGcQ*oc0KD4aH`{~2yEc(0ZOta3GGX`BcdW;af?Kfp4SoP@9E4{6uLCZLhyVpv=l3- z^Yy{m);j&TlWOf^DQRJ-NW~I$!5A4#Wy}>&PPJMK`0j)Vn>eqe4GAL-YNr0M8O^ID zh8GgYZloZC!giWQKM;CWCquR)bprvm;E665Y8KO$yE0o?c}y$)us12N=(NLW@gy=~ z?dM_RVry6xtT=o8Y**gs)2(14k(mG^9Xe_hG-SOYt~;Q-i4C>V_DR5r^fd6cnyR#X z)OIi?EMM+HycxwXyX?7i>3MF;zj1{Ay34`9(*S5CIR)h1aBR5UCHd!5x>Yhz@X(Q0 z4BlvdU^`?wNt#ji`l5-W+f^C91BQaSJea?WY!)buFXmME-cab~ceteJqtx0ShaE6k zKT)De@rfi$lG}+D1V~F%g|3b-zm)baE#Uh@daogl z787As3e=*(ndGYo{ZauPzZ z3G79H70lzU4|*5M4(q48YG2x1eI;>e*Z_cG4A_7}0{7m)c2^YSsDO_wM#N~v=hL?t zU?4(0zS>CJ#G7W?nmLg?;BzGZe|e%T_G~{1-D!j^&dt%on=jz~`bl0mkQsm*o|^H4 z=;=fXwT$%-y`#ja!w`}LloG>I3DCn!x@9f?#jTiJxd%L%N#5HQ)AJMeG3fFg)y9yo z$ktx*a_*A|*;z1X3AF8WzNutciq_!SO7OVi^@r}@_6~C8kEAN2=S3EL=OyEAdw|56 zyICt}tH^Io&ofUA5z2Y1n#xBw0TcQl6pJm38Q52+X!!`rHn?fOm2t83B0ut&j~NTK zsY)bDQgOi^yY{9Je0CT|YOxbohgK2xjG+Q`^^hURm%SIMwLfa_n4DOXV+^OKoWD*2 zksCL=U{kT^EI^^K>`V+)EG%-4aluG~yAHxH7Z5ubnWF?JEl9VkqYBTy)b?Wz&WW2) z5g(modsOU#!W>O>2S;EJLiVzA?p?R6$VU^?2j-Sj3S{0zo{*4f(O$fqpzzgTukkl> z3ISCb`7care~DmkAPbE_jzFbNocNJ)IAj}t} zAZ)Dd7-C~TcgSNvV)pc?d}Um5RAcj`pUe-wkQb|~3v;k&(Hjt=<13M3dgH$J%zpLX zObYGuib9~_im{jo;88U3uus*=*a)!O-=YC4+M3ksAHDh(`Pp>i?iJy{e-I0IPUVUv12kiGyMBdo?Omo0;tR_fH&krG zLHd{24rP$OJuyopQ4-06wCs4DyN+Eo^IBtHs+V^cE5`JKQNum>7u2p_p76}lO0Mar z@UPHst1UH_Q+LH{2@VP4fzW`#>ReKj%^J8oMeHK7KHbukaXb1@+w2_!w5Uqqc`e1<7cQ8d?9zg#+)%_JR4z`OP{V*N z^~G&h|5@c%C|+JYnQgX)U@)au#H|h}IiRD@%d!z{!ITKG@dOn9kkusO(PInyU^knO z?YTVf2WbiKFB^>||Cf4^RH*Mrk2z3_k8UH%`mU5TOmby}cu5^Xvk&8= zOH!Tcab0I1?^q(vrJSNz_BXH7zI4DYxeT!Pd0i$g!f5&*92!3mT`{`}n2^$ErBYNC zM47<*Y0Ygzs}2V3HPNSx-#k?)8GUpt1~RC!`h8XX!P2EgqBuC`%k>dBKZj=csb%vS zZnlXIm0ty86XJX5GqU$d-4gH@c5~@7ix!Eo<4u?EU$(5!><{SmfvS5QDL}PvAn(^a zI8?Pkl$X{R0iM>i)0>{fGh3!pe15gt2oTzzo6kPr`%9y4KPpo#s%1~!?Ze$S2PHgl zS3WquB#5e6RE{CYpWcJ&n;3dSDD}f=yH8pd?(C&p1CwU)0{~3H286(k20`dwglz9h z_$8R=0&cZ^qrpjgu_*g7tkA=F$%*2tq1&hAXtJT_F*K`Q>ZK1Unv6_?`QJ7hh8--Z zv?Fz9nx8IXZe&rV6_O3V&)0=U?L50Lln!q{mg*XA*UtSxA;=47?Fk0QK~PV}!@b+9 zoph|ZfQ7YNwC$m(@~u+{`L&nH)X|dso8<-7p%$jSHD{9yM8C*{PqO*{;zj5b>!O(+ zNQoRM;AbZ(>dgv2yI>;L7WYnYl(EZ4O!+RjPvR&76EU5G5fYz z8{>Zyy0?6x7S`|cC$+V|_9<)%TBNC~SGfB>+*+sX8rEPENZIDMGG69dI)U=6sc62V zH+L?|oPdBYBZ${aCC}a`V*_U0v-Hj5N;XRICBM(6t*lfh0dm@{BY20$@kudJ%9|7JcNRqe5`N>?aYxgU4Tdm_Kc{7mV;2J}-Y7!k$K`;Lbl^H9@!N(M0QeV2KAK>H3NW z*EAy+anrPeb4fUyM>#t#R%E{KCzE;;j1Ss^1yV-uq7ablJOggW=OiKh^7zRsF!QH4 z@}A;^Ov*e-P4n+1`n5e zSmFLoNwp&!h5cjU3vRZ9u%Y`yPX!-&JWN}Hb23Lr7`Il>6=l}(Pm}u2Lj(78X&7{- z^M2({#kD8ENz6B4Z1J7QY(m~BS404W^)u8}s=RCWePJ+CA1UwCKyrW)oDNqj%Y!xB zo!@launkOPm`vRJ^`fDkN+3mr^lmAZ-y3F(XEuIcK_^O`TQRxQ)Xk)XYwL$#{#O2X z1)Gw$mo?UcC?LqZ50P8i?)~LijWtr$b;-w{Il@r-{}mi;EBNv{l15D~`nR66dd|D5 zv2zjb#3zb-ix%=Ea73~3>IG=jNd(OZ^`T=YcM zlw!3P+abZRZD9gs9|wiNg#X=jM2nP!@lTs+h=3e>arvvR3Vp5-#HFW` z6Z(-i#->#W_#In-U5_yCR48T80yMS84uj6;hD(FE2Bdjky2ww*dp%o0^eYf}5CI+J zsWSTWM4%r#F&M(>h|x-t+U|U|eCtdIV+^K$EkMQYq5Xz+Fgz9#<0q1*Q-(W*VzXTk zwsMJ%~P}m-pAyYi*cwXKE@hN%%N=k zZ*YZ4My5(FRQ`vLABzrQ=+P7x3q<~TB`#W3G_$*Amkdn5UJG1eXZtn;`+M~`1|?wg zS(LOjs?r8v*=Fo#dwvf@RMO#y5`TkZx{FaS7VR*W^W6|j)AvKbm2i%bN4kP>#D zsg{|9*hdo)bg^@@eWxpQCGBc2Ev?uY{qeWmnHEgXu7q&Q1R5MMk8OZ%8O6RZcB=z% zn4fVAFc!YlV}w`{=%R+2vvaU!&tHy_8(qZ#2KLy^-_DIwvbfGZrym~Ii0U%+X>POx zluo3f^WNg-z}YJh`8J|GOV_F^=XHWa_4XJv%isU4H9X{0J8-I-eV6Cf;xW~y;jQy; z!%SE;Rc8yL5A?7)_f)yBhyXfb^%BK5%V$Jhh8!P<|yIA zF{yg@g$F}UjQ;FE$rb1m%9ei6;{z*NdhZ-W`Q|aGxa`6QI&(_w_hPMz=J@ej%@&6? z_#hnaFC!C~9Cy@i5OeeUAqK*&;L&Ru0FoHp&OAxn=bQ)B5!%ndoYhrPZGblK#~cB6 zMV!N~FBYza(;3{~%fa{6WP^8EYjBII#+1RG0o)$eftN>&94Be`-hcv)wlqDn#5)r zCZV*0mF}gatu3(5EE;iNrj6lj@SbiJeN3AO9pU_KAO2~$alLCs-R~yd9>b?9Qql(M zQYD*b-YZPDW0S10GQnARs-d8d}kLhvrNPO zZqHsk&Hm6Fy3Vg*a-$MRK|K};hoAGd$23dd^Cv&cwo5IlC^B^d5BJ9vXlkG)D8c>u zz8f%^h+5K%@lEQF;kP~x=E*|GL|Rhm2ZjkbjkZpmqP+P$hRWA0-!oXs)IWUNghzTl zV-s161)z_}o^*+wmV)S|p65o_;H#BwJ-rZ(4~TQbRiC~gfJQOAqURslcR)5qGKvaq zpuSGefdhvEj|1O6SqYx%)1Q}eme6ujj#fzK9N4(3GdU1HUyg=n##s4%_Gj}ebLD$Z z*wo?#*GOvyQh#NWO&IHr@UDr+Mxemv7Ux&Xj-P)ht>fc2W_c4O>-&;pRL zxwE$d4&x>_Gw{&14R=bMOgrPV$Qo-r^AV!%kgc$!!o46rS}#U@qD*7QaYGZ)jC$*@ zkV_U(Vck-LbY?G#G5Yo1vK=?A=@z5C-O4&n-Sc0alxBZ0t!dS1@EV!D*=aM)w~KuB z+p&xk(y$?7A828-XKgQq{)+o5^GMYLlVt=8dV60mlNZ+xt61jp$x?X2_1bD6{FMxk z;6ZTQ9d)XDsWTFvD~}s-=-aWXcKP^niOyXBbTqYoY0hHmc16W(^u{Y3~fYcuJZ&6>BqX z%Ac+F%c5$jhn~>fDnoC=#YZ*iAyzjH^Pdhff4HlZTkOWrW4nX6cf?O;ZAy!Zr$YW> zp99X73iwr3bZ8zB0fQbn(AJ>oGxu31cE4pr5$4rOZFuq-;4}&kSYtbB23E>&(5VOU z>q1;IHCve2w88xK(2uLGtuy&Vh%qeerjcP}{l8;&7!bDAzhs9a^&-C986qs!h&j&l zu!X+~D<~mS2~5P*hfUTad*Fx3rUh{2k zaUJrViWX|v~o^pzj8sKO|q$-Bg;U;~4bxW*^g@^}bU4xb0RcHs3M-1jdo(A99J8Ifo zV+&OB{5~p(w6%FYF{BZMHV+xr2_ZuG(nSJ^Z?<@@ff|KZc7Z4$bvqaIYx~pT*R4V*ny5j7_F2ONSuF?mjwk!^)HJi%UQH|3K-aBlV101Al=#Qp&P&4 zG!2@IXJT^d0ux0D96JZcn;|FfNpdoPSp99Dv0Rsrs}upyo77C0!a;RE&$NUb!hcZC z<*pYq?*VfgDVoD**ShKi_1TpX@X5whU}3tbD{89K)iDVJ3moW1C$`?T_?KywLEBQf zS-l`xfK-L{X8JieDn*u^hfyoW_pI=Yx&7Nqd!ii4_!mJzEYH|IVp}%$y>8>jFY83I z173K3)XbA#F$F9!mGrTC#G;vQVR{30OWqw(jwDTntQrNHxaWa1XW2I#E2?M*D6aDd z)`R?LAFHKcs-d>BzJX&QvN+lUoz(DwjzPOns<~tL2Ioa^HKM{2{My^Ptw|PQ7cnTL zgL_f8b^L>jOAo_vF!NKszob6x)p_9A1yCM4F(-b?d3V4;NPtwz;b8-5fnPHU*^!-< z`8@<9_=P~!z+IO8f1ZX>Al)z9`eHxGM8ppAvfp8lT4eY=M}G#gUEABM+F>4iZm4vN z`@EmT2jD}O#lCfZZCD_g9FC)D(U;q&2wn|px}Ez&0>=vdNQ!WW2SXD8>p-m&`neKE zz0P!N0axzBwV6t2t~S@{mWAwMv=%UcTy!exp+dl2gZysnlDwXWAHW!-v-UF)Rd8-F zdH{!;t6On>>lsF8E4}0`<2wK8jU6i4>A8?%m)usc_+=XvveQAT!(c&3MKj4=xr_{^ zT>6vqli62$LUeBPvBMB~E<~G$bJD#qL}vXOBJ!);v+o}lofht6HOs5}rYHfbd-X|47!|~B918axM_I`NG4G$fIlE*5s3$lgfKBlw!d`P#MbL6 z7J=rvnNXy8{;?wEztcGfdN=6BxHJ70!uW#Pl4gb0mpY&G;>^0gbFF75qBkCFHbWmG zs%ukO3uvqzDi69<<%hj+^$&Om7FbJ{8|_^`4S1VnobLQ@Ejm;l*K;93BpxcwK`q-*&I#=r zi-n?dbOnG_)!!y?(1;GBC(}=VTW)Ko)U-LvIUzNOT-*YYeZn;r$tus7Pr9yjM zYc`AlL@1M@mpL)L_F^<86R6=FQH-E|IV5Rk5;BYIa?nq@ai=-6&3m{Mf!pM93|kgr zSxd;^5J`CXudY`J;2uiIQ0%&Vq7Cn$W4>_ zkc^avaHd4-Gw7&hob8LQ+M71BCF$z^D zItUup-7-~Q8}@Y}kB2l5v+zG?Z)1k++U37q_GtMeWSS9)6Nr{uZH$OFejSWsk^S@i z^K`T;A;lVzzGcU}u%{uH2o8b)b*4vCmJ*~WZa{-IjxZ0qloe0KVq6SH zLVwY)aPrr62TTSTdl;fG~c6JOECSC%oQp zOMZUN0jJiQ+I!#2)aM{bVrpgHCv1EgBrR0-E@+pzL*U!u_7kkRvrC-fBw)1a>KgZX&0jplPM z3m290CiSq-G6Ya&>;7*4UAm#LJ{G^dBzi!6>Ga7=enz%`i1r^`4+>Ps!l-x+)-U_P z9)cV$x8_gsc?GrdYI<9wd%LHtsp5vl`KjLVerGqc9EY!8$C!m7yO5iQCEXK7!-K;a6yraayX}S*!tlNxx=k_? z0^|3haavyL&YH7Byyt81DdOEaB6C_wI}5&`qdCr6Oi{BBP5WG?)X_?G0(l!R(6Ym0 z=1(Lw6fJ`BDb@;c1`{3*SmY4hezVtq8wl_A9)ZAyknT^kx0nE1_O+ubMjD#*98N#V zsXKykajGEGLGv+M%tHjtS!}Jbj;P5!o;-Q}H}1^z;-9vretgS2Q@b8&55rt1OIQ%h z871XY&L+MyqLi8!^|-eY3XA>-fG{4x2TrJ$`%XZn9s48IC}a@k0pk(w^4H-97uwao z-lXGJ7XlBPBk9G2MRIk+^VH`PVT3k4I;189?LWUn9c5qQlKcjkZI%ZRK{<-S0JOMt zkEZn9Pk3?&yzu2pGpox(p;`<`KFC!O)#56~-E92iTT+1zXQ>GxpP*}p@VHL!!-_2v zK{}{o=%l@a2as(VC|qkW#fg3kDG_xwHvtx$2r>ip8Tw5wQaf=( zd^-N*sPpy!r@kCT2b>le{x{w-4J%NfAGVo%YQSgvfCG=xGiX7ny&$&&TZ^~y3-hZH zC$Cj)JHb4c*~()+#{RD#2aS;=lQomKs*^#ia0L_BiW(?gcINHCD=mX$c_|4 zoxYnyXlyHA=B;5yfWRiN>ZgOVHtetAKx}?RijVZRqSdoQC=Kj73$`t*6E%A4Df1I< z4*RNDAKvnJ#jsA~yoFMd3>4~K!`*r>xUC`9lOkkhzi4C$enijaXCHjppK)Mfi)jrA zaenxIjE*2P%;2fXc+1#7rrmC!;s6Cz7a>qh(=90cb_Ero#XXiEKz9n?cOyYgb9<)n zL>RCGqCEOx6aQ(&VGGWlb!!$1B@>Cp?q)V3FU|AEJm8|X$ac~lxFgOdi!J`D3k_t1 zYC_7lu&3rJ16(b{jFPxED39LR8+%Y>*8oCMcs+vNeLqJ3;Eycelw~$%8sJ%T&+BvLhpcMIJNuf_b*)`zov3w_m@pkZso*4^ z`**a|0ylNubYTYsV8S$lo$kSzS>$whr)T8p$qV}+uOXg799wT`G$2q$fVMVw`9bZ* z%CPR!X+D!C-yYdW&IDvIroI)aX9fI)we^`>W3)Uy{gx|XaILXqLvSiW2u9<$8>a%_ zKxTOmN8;OCP%&ldKo)1?fE^3&E?!`0=tdp83vFKCsf1yhkE6O(nTc+HP|2^;?Es%~ zp5N91KoGyMbL4+>%QcRm&MWz=NoD>RsKI;$qbs9$2}oHzSQ-FYyHz?)NQu6QbDBo>9U9B(s+R;U`s#=*o) zcvF6{P3qfztE(sJl3WMfdw`(*dxj z4@ECM{yRNeGslaREzi=^gGE!E52~8vP~;Q5pAK%eRUJ15G+zNp$&o>*q@pq9s}JP$1T4S;XOVA_flzwq@-qhakTr(G$ztGEV%p zHp{R5gk;hz3#GkehV0H;mY*nSdaefQ(W9!`KQ?y0C=*FW-l&5mST3myf+=hHqGq5L z3HZgRj>jXD+s>W<#a_>pLlL;Cz~E^RNCIw)Y!BBr9^}?5D3LMwD?BeQJO3h)LrG>;N5k(Z*_AAFt zvh+IGfvAcMOz!shhMgK{$kMw0r&-!ZxvjEEsMWCbsbh7xUBZYIt5EP#r=vx+`Nl65 z0Q|FI&O4c(IeY(A7jYNvudL^2$j}U$H5AiL+U82IjJ`hS{UV@F{4V6g0qXs)()%_ zM;oQ<6$9z8YGgST36WtC{n_qwI@;4%e<|2ijRcon14cx8pjfr;~tQQ|8^Hp!EMSfG-@z?t!F$ zy}hh#r?c_a+*ww6=nE~b!-Kr~yzR;$19qmk;e{Z$G$4~xvWL8yKGA?{opzW^V5b)f zYofP+*B{bnDr3oB$>*VXSF|RyIuR*jw!+0)vsdo7c`>Tg29Vpx#OGr`3kWGTpW(q; zvivrW)Ve&N3?YoCYnSaP5>zEc9)oSA+)LVgkgRYal|Lb%3EycN8KK|vkO?(sC@aQR ziA#K`2`VXpj@1U!IPV@MuL>l6Z-Mv|&3cc#HSTeOz(t1f=rE3w7T5H)S6ZD{k9QBd zQLluvdIY7;RS-rCZc$gkOLP-|E{LP+9fFAl^i0SheY;WkALZakb!<0$IYIEJFjXGP z28LFb6)gyH-r#CbRl1GSLe3#*YJ2-k!?K{;F&xhE*6+g zK+#zHw1UaWr#@0}3F#o^PaA18MZ315=uhk_R2Gx$)PB1B39PY z20(G`!df`vw=7Tnlem8hW&|Q=z59D@A2*2lEm!HG`A}fvXN%dKz245fH}g7RYc$ZE z2SUU2F6Tk123uPe2GPYxJFYRS(Vu@0ES05L_@xUa_1cyO{-k{T4=rl>GiUekjtRzL z8o}#<5`6zCgROQ@^SqIW`FI((M#=lFCAy^f@CVNfj4$HYrJCD9vu+X@bl;KoG$_r$ z&H1mmfGn^|D?zBy3K28*Lpdbf_jEw6s!9>FAx)~+ZAq3aU7Y8mMU+}Ir*Zk)TO1;;=nTFc*7P7 zOHtA~;bn21ByJKea}PejTHg`15Ehz5k6j{^UOyf^DF8)4y1#3tl3@|p()!{epEoj& zQ3Ifnum559wWUBAvY?-+>!(wkxMHfb-Ez>T)oyM%__@=kz}mXqfC&e=$sb`jS!7YF znebl3mKoeds_RAsm_PeuW9zXf;6#WdgIY!YIVHXC@lY$nF{pwH2b~{=q>BrCrSR5R z+vL|9T2#A2BXsoVaQtoxP5 zpZyCD0>v!dO&Tr@DhQ}yhOrVo&>YgWR&}em_Na2Pkw6<(3sw&JR`GSADyW?o&Od{0 z$7#TR`Zgb+!CVzuqCP*q2VZKrUfvbOjO!dU#p@ldadK?Gu#kuha%4|?7jp>SA87nd zRP(D4+>=q8WRNnwd3xAHsrNVI|Ak88Gw{C9M?~=dG9RB#0KvkrHZ!GWPp!t7xro!L zC_zHP(smuSU@eHa1-5mcqnS~T1Mg2F(20Lh=wyFs`=VjJc2+9TBeAhYX4?q+5&|s^ zp$Y`5PRjq=`f7j!KbDPz@-A6{w0xcsrY9<&e_p6dC4||J4~4sVjza#8h6&kRW#t0O zceBBprCOtvdN!V}6>(*_Tnp9Q&fj;l{*_k5N-ZO_UNjO#Py1p{1jmd2e^9{(Uo z0VL_(n;6I$(<9mq70%=34nkit6e!7IN;+BdAS9}*EwaA418om(51@o;vS)P)m{*7h~K;k@vjzF}7Jo=tq!bVzx0?^6(>C z)VVzc@?jg4#Z{*5%+PSdv9YBR-V@sp*`y!MFrI=XLQ^F(Zc_W7Ca$o+k{Ks_+VuCZ z^2k3@1tTW39wv@BOae$5uyvR-wuT8lvZ_{1M7gHLJYr;tqc}Ly@V}~OP@(m*$OrSD zYza>r^sN;@Lncv zf$?__*4-Xi@gP~QhMQA2je8KWaYP!&caON|q(reMjcRU)!83AHhKgirC@PTU5L>YP z-RBds$7AP;a4-K=K(0$P>D(z0!DfgW`X0ti^m9bXfhY zJoPgjdMSGD&wIn!t2@8PR8O_}EVL``RCUY?_Yog7_Rp83K9m7+fjtiXLx*wZGg^rJ z<7H&MK-GPWAyZdwMDxF94>*%ZK2ony^$BIB`(g(Y=np!Yz&e@k$JUzlA73B1g5b5d zWvInUB7BuBvf)?+$Vi{oKUOQWx9lu1d5b#sm&DSO{!n7>drjc=e@n?Fh7U+}`7rY_ zGl136%*humIihv*81Ci7^iRRsXQ7OV*|4q6?(SR$RwNNvNv#&r6QW|zQhKo#;IbtrMtT!nIzQ!8X6|@(?wdVVX_MRa)kRId9EcT} z6Av$v3U~x8*4g%meMe+Oh|K_;Vvohf@t=mbmIfB`CMXi?P@|o>gj>UVai;S4f8Ug< z!9-zRz5ybD84$1m{A(Sp5nyuty`w7ThRQfM%VI{+t=2Ney@rghky4W3(9@|a)mqg} zJFVg*W`ye;Z91dcV0OloK`a8Lihqfb2*}K=M}z7HF;M4(hv#bBxds1NHb(i0Bz0fZ=Tj}mX1QSc7`+u-{otf!t ztfCHMb!AXj-G4wJE^m)f)uehz(|h$V&GY9M$t3*H4j9GwQ#lmS3*@WRi=GrG$8YL2 z3&J%7ucNLKv6xfu_W-mFThA5%iA>21ZDkBG^075PIbO#|4&Ekzreag?d%&w5CNxaD zP6zxv4aGAo-n}-`e%ym4DT}?KiQ#b<%}Gm4an9i@{5=CteC5VZp{fce*q%@^-uG8% zkSDJ?VYy-14VdPQ>!6ALp&Pr>!n^9de%f02q%jlj&;&v25$Dt>_h_zF&d$qM&wTMI zEIrEem<1cR*_&xx)JXq^_F+Y7zdmbc{7F}MyR?%`H_e0))aZTAJGbs<@+z;YuDYc_ zDoZi|d#$=0Fi7y;nvin^t|AosFZiUtiBtI8NW0~S%c<3~V*E`8-{T5JO1{1ik51Gw zz>Y#5^#fUn4qJr?FOiioRx%W1q}{v{21iEF9;hLvU#l5GdDOWMPI4Szp?I#jb&vE# zF7onsEPy?~K8=Z+7Ogt?XifW7<;rrQNEhyh+R-5+W=jDxfuDI6SJcN{2odr7wOV>D z?(6MmJMFG7q^D|dp4FPCZYnt#{n!`(jY*o5wvW@7iOgyf#>U{!>#lUa`RG`x1n2c5 z+n4)gx?iT#lyPn!$Y|kDt&tbnwk1R>+lk@A^h}ehq_$)wy};g#mpkS5Y{w#*N#J9x z-NSDP;?h5njy4k-mIgx(n4f8^EX>cs-ex)B!Q!yMH2uz1)&x2k(eu*qR5-W=BT%h1 z@7`=A{@J+PJy*c;Ygo+!GhEy$t~gj&S*e^Pl|F>VhF-b*+lp0Dg?oym+VMBYl35_L z?Wn1hf8$S5tF7hLn76LG^6A<|l-xFSzEz?LjS}DW*R}U$P;Zhq(2&Qhb`6&|x2A%8 zjb{~#70+grTY#kL#&!o(d$}bdj5m*P@^AsJNyk|#&>Nd ziL?FGNE5~S?=}DfWT(vwty?lR#W@S&6O@${n)HrxlM#pg#9m`@pe+a|^P-Po^wJ&+ z45D}wrjUZ5L+KVvZx`=ix)SIk`+9cLmga}*&bLv7Mw$<>Jts*wITdfO|*A8A(>k!@$&6lYXGxgt`riRXpy4AduLEvfyX>4JGB33Ev}_QrxpO%r2r ziCmBzXFnJ4KIr&~{ylo348=$qcLale9V(HYX3oh=2d^yCgyn#1$4>XDz2=Jlj*n|Z zps>%NDQTQmR4#o-%t7RP$lWWtF){-m!VBOiDPw#)BwtvjPSjXxqyK!Z36>9c_8GyU zyd6ER18m=WO=6GS*NvX3H5?gD6yRX1aEj^<;Q|B%#60h_zRm5AIvdy<9duSO=Eiwk z9=da4-*+7>;{1%b?>-gsMRFQHBNu}nvoxlNf-bicf@QA|2C#S82?>A-7wtOJ-tr7j$s4K${qMK*6}J#TLwM#8=L4F)D(?+CwebwJTy1RApG^8X== zo=F083$Ki6!bp}bWgNug)9uX|1pFhv>3^OfWLZ^4mWv_2%FF+nYFN|{@Rq#Old4hG zWK}m-(%D2-;^RN@JV0*NUg*+hROF3Pa_OY25mIWDcN(GYES`C@yX#jXyg7=e9dXIm zDlyzCtX%=oDIG%wCUo{eC`B^lB@u1z-i9snD4s4TqvwMueOz$(s_p#eF-ap&+(1qb zV$>}KJWUGED606PEPaA=Vd03vQIlo59RGc9fHuk|PBNl2oo#bGco-Og^HYtj6WLur ziq$4V+7=DCjgJLaXJ3px3#Z`zEc};dND9XRa5baqyN(mh9CzRyF=mf-1Hr z+7~BZ#fPmZ;uic#hr^2Zu;J1>ZOBJWs3+yRN*($P0E!O@Su{J2O#I`ug{no@<5Cx8 z3!JwnTx=XkU>ZT}W#x$AU7eX@kFuTNynO{C3q{I`|BBS206PRjfMuyr5)3EoK{}nX zqJ#cyAH-V*=Oa(yXQ9dby%9Wv8dY;|LZ|YPMfxAcsZ$7y5xw|}cIsV5`+#*fIk@Ag zh+0H_Ei)|v$pmg}u)P-X!B-6|9bam&Ow;u+APe>MY}wph?@JmgQ~(j2Wiab&d$!Bo zg|=m0=c_<+>g{~l+cm#)7Xvc^YSO6z6BUz>F{nn7_Yf?0_|0CSi%oAmbY{z|-gQZhU&@-`4}$2#zjMd%i1LgFlUFjawG1k{CSgbOiNb@1c@Xm28Y_j1e) z@Oz;TEV={rLm3j_)|Xba0;%8+=S6KayZSGxqID2bRU>y7B-q+~nAgA1YxyRpx{@2# zeCQ=$^}|ZjOEibJ7XouqaG$oUVI9v3MEH{1qpH@AB(Jx1&HCDJ1?EeW)dZ(}aS-n6 zN1!L-4NsC5>!|e?*@Qcha5&O8tQrH*Z!byvhgrDKR!Kdueko#7hB_>St_^uoj-s-7 z7C0lSbSPfS&-)JSfKI9oa^BAiN?f`a=Bx5bU2|c*2vXD0ChXS`n!7uoWl%o;yX{L1}9l|yIpx#E2u;p30fa4 zHBa!_x`4)jGWp8+R%G7RT1X~?EIo>3(w+{N34+J3NC#)AbRT+0?h{AK1cbmskTG?b zR14nhAb(&O52$f_1v0Ywt&3ogK~bVU<$5eP%jBWSmPkp1k!gkxZ;dZ6Z=8Vn6g&+- zP8lGoQGyUX9N1;JIeZq3>F|NCEDC%k)E*t**v>2^zLmjLTUX!)Q4yV8Tbex^p7`%j zY6~Xg_W51fMLTn1@P*fLOrW7`h+9`UwIsdf;S|&?aCB)lbgEB_72EBQ-i^NJp5#oi{Z9(&VXQ*M+Yie<8>cHcqJtg z&ESMIM&nE9B^qcbCl;Taccoam|3dl(4AMIjwCoC}%*`LAcYi1>7k`JLu=0Cp>!3wN zCHBo`7?B8RQuvsMD_r58=hPs<-waP7IqMQXI^$#>$q{RmyO8Szg)at%(0p;dC)jTv zO5xA(+sY-sUq$IVgtFD{n-V5(`Fh)zI31nxU3awP&c`Mxs6fZvbUVEBd%|?}zv?wi zg_FR~E}a~}uuAVrDUt0EbCIv$5b)y^BhGn-=(4I_XnYMB61LXTnS?&2#mB1mB4ulw zg1<4w(0_%~KHd?SvXA&=w~dUo2%@1vUsYhz$Q#w93R;7duk*AQ4ZV16y$6#n&+ZBJ zs=Ml?o8TL<2d$Z?e^i9>T1^$8M&6epZcuHw*R zSpOyArVpTiWD4-mWzKUGkI+TeUD?J=vLzu<1he4b;yE4uX^48tul0%m36P=hb+$Cg z#cea&GD^k!R)nY*Ud_|qRsrm^A_4CL*@zsuVp4@rcw&~eHo2q+p&3oZ&od#nLRV}u z2;nx)02y16_VdaXmm8QupH4oF4DK=h5g7AvN9G1vbd2QPqAo2QIDxKr1vZNN!)dlp z=KmzRpA;hKP^^ zL4_N7s>p0eisu3q+C4PI6M~7=PS_%%(eQ>lc*d@`BbacPmhpu+DfGLil|ZpNN!Id7 z64Y?J!wcsPUCR%Ia!L3JvU`@e_`ZR!>c*n4yBGcFClmc0_nFEYmmP?hv*@3*T+MEv zta&T^KTpJ&X$5Cs7b@RRxL#|gRXo$5wzr(7WGW0IxdFW=>)K#{@0ccx@Jz}c7?_Fi zt|*RAvy8-b-6p|DU8ta$&~Xk;h+10<4v3mqt+E-39k&zo{CHdu047^~i?Ree!!Hic zk{Zl!AQ)L&7~D#zsIzo#DHIMqC$0-+Nc`66>-O&bLHUFAVj-#GrPl(+3A6~kQphej zw4@Fp{FuZ|eGCEf+X7WzDUAI3Ar8TyXUpjoK+3Uq?0I%`pAe%i5xTjbjI_-awA&r; zCFZ~p_!3jR?EGVki{i!*?SY^cF6q7SIGGM%OwW?LE^)}g&FJg2ubp&Y(Q#sDzD>-9 zieY^m!R1L-Zw4$L^2j((r|G0*O@F9DrwQp$`{=kV?nFF6?FH&-xWPX6E!cS8sR+b0 zhLHj2`z#WOc?EPYt=2o?YS%6#Me}0L%zUL7{Lfh|Y@y1H0_mi*Hv%_vc9DD|!gIy% z3<0bd5v8W@?MDC7=ad#eO0*tk8rilG9sikWm{V{$=C|*;1j-g3XtCNOsv%?Nw7avTi{jDf;=#%i6ll(l(XjL_%|tAw9oKtV%W!J7RpokX4rr|R5H_)_Hk5unaVz5QxcAm0~=C#)jj1;8&N zcj45r2?gN!8_*nG0F+jKKAW|F3o1R9UAwRbrf87->6umVIIawqJIbrrOKbhavk4{YQ^o%^JxYm|}>VNvcJK~MTTc7S22xfG+ zOC?<1>Zs~y{?gM;q-v@Yv{E)I1c)3Gv303J`N!;(^c2WC+yA-ii zV{;xIZS+(V|6}Jh?CO>e=#E)Q{q+BDk_h}^`(u3-lDk)*H4`IFjfXdz7Kj&)*^yK3 zHPTF%^{Qj&7wwr#U@qoZs$7cSsl!%}s01iFyRc#=R!>iWL6K-){@|x=MpAumC`cfT zH4ljIGTk)Vto@vV)xfFSAicnQdz34|s5Z^SaNS!O;w##=9J-%q{J_YXtHg%P9>C_sGS26h z1!9(NOH*4k&TU=%Ex75aV9>wcR0@lq5%j)SC_UUgNgS%rQrZnA=u|L}7;6-?CW1>gDz5 zphw+3_f#xwrGxlG&Ma-!T1OL5MYQ={uy|_l6XZ7?#4z+P+uVLb)J?<$h%{@F&{;w) zH+W&oKy|~#6*tiImac2X*`ZGH^R#(DPF|i8(Y?SS@)!9#5%ZO36GA3S0&9l$;T3{D zzkP|#7WRSF!_9sx2RwS%g9E$6_M0^i7OvK3v+1KMN$slA1Lx1Y_2`xA5<`+~`M}h8 zRtHMfWNXLvSCw1CgK})$OtdtZhlgZ~;(b>=}m<`-Bu$KcP zR>+v)hCLrD)GLndaNn0Gcp{^=rt`UdF{NJ5;+vwPcv`ey06ws`n|3~u2LU`ufvWPjDJP0?xwL+XF1rjDA1p^ZfzMYI$gCOqH=-0O z>ng2eU9aTG`m=c91=X%>e8$Yx<(RIe386J)u$slETNg>?C$$hxn!hq z?jK3=*QA>oc1g$Id}zez>mS#7vgCuVxJ-h>@>JyBO}0AUb*@M-K;IrSPO(KulId+} z2ON{SIeY59u#yzgNyUz%Z=abwDPKPFd zZ?|zG*UQe#A|quJYITK*ASUzJ>v@Cr?&z=8>_sfUTu@wY7mhBHC;{p(CoP5_qfxVR z2R%b%Dj-psZLo0icwo0(5Gs*{zK9aBhDeu|n7K6H1J=RT7xx#acRGfE~&fhN+- z`OI90F}*Lg!NNfp_Mz?zGy*QfHR3+R=^QOU#OxDtMdUSqZ+ihgevMetV>{87jf$h} z`dM0_V@A=1Vf{3aViu1!&;yX_3eY+lIvHT2K?YN z_DmZRh6q@Vw)Ncd&=v$AA~B!w*}-he9t>a*#ohQ}zR7*<35b1ZM#(IO-Pk1pUV`!o z2!DhlN-1F&sG0B0tSG^v4aVYX^)>Uk zN0awHocr1rvcmsZ;F@c?MunA)gE+a8SBL&5cGsEVrks0EaX! zHSa47%gFbFHhYw!hWr{Q#y>^v4ow`hWNO@o7ewdyv99>;-d=tO|qWUC>hX#*kZ`9)`6I z*K1V7{C=e&NY^WE+n7$$5AT)uCKNyLR?#zT_V!6KhY!cgKXcKk(=6NlVLIf;;^1_0XpXdC&zUOPZ(Sa0U@iiM%X zx9|GzD`cQv3?Dw=Dl_Fu<}5u2k(@H3P1@DP6P0J!w*O%TYKiZj(mvP{284{^SuWBtaBJpP2e*r)XE6J{Ge0;mFki&aB6Qfm^4^ReA8eqq=SSyWUr- z$_?+8Z+g75FEn6{?2t5C(!;Pn(XGDWzqgc+#qgsem1i`{I`jlL5?{|}^mLEv3J_uz zq9+gZ1VWRHGSA=i=*C=0tYesIGNuL9Lu4MQ%|MQ!QgZi?-Ck}X6G6a_=DS723FZ9( zQZ>w?6o&g42Jro6OxnC$acozb8oMwQByjj+fCds` zj)%s~Ja^P}xACPj%J{NlltpJw4G@ozL_JR`73Jw}R|oWu6aEoL+0r{l1|*EZ{UX1# z!PIL-BBoX)Rw;<@_f@X|m>u^gyA9GnUQ&mYZDnSL8^$-Y0h$gftRz{32t%9Ryw3jg zJ%lm!GrD+se^!r(n=PJduEs)NrPGx!Z{45;+Cv5b--=>|zR5dQ#I`(QVuN~Gj(m-n zh9b!R+$s^&)}bii9V!{LH>c6)aKPYS?gcmHGYnfsTdfaE-SP=p0q@ie>OSlDmrbrh zIq>HfCx?Nzw*{;i;^mIbVo!6Xa9zkPX%@NBSPnB5sms9Udh*5;@H<)aoi|-JyKJ{< z5t4gfBPj&AdH6>|?SJeGw2q(`Q9dXZZ+q?c6@vMy!d=sC>Z*H(cr)OdX^;2HU-xN> ze>73J(H~SW>S*|+{=Fe}r$7*RE+i`B%VSa;xcl3A%$T9z+$&)JP$I7tIw_LrkJmJ- z=rm22rjDKO=T?W%cm`Yja86z4||Ez-IA5c(tTcp^%f7K8aI$u$w=BNgge9 zPU6<-t5INd_Ne;IT29?qj!CSNAv5eOPSDE}OCKK*Q*33TJ-bVEJp&`W*$d^F>oTs9BVrdcm4=I)DFaj7U_StJm0Tluxp=!?PWOil1KUEF9 zI2IwQ+@F!Sa00)6wN3^Mo|0)8HTqRmF}KhL5f|(fP%4(b9MgsZ9Stt=V%ra7Hydc8 znZ-{mm<6a}Bb+?bNpG-0+Qd36C><3jLLT{i+nAldc@T%gl5${6l*To)$-Mjj`I$ONy+#eNB)|yze`NNDIE+rm%$5rY3dMhU zil{H}mDM`5Yx2zSAyx7N!00S&!K6gS_OSu(bb-cAQ|j~3g-SlY4b2(@87iLah#p^i zTvs}zCv3x!kyez0%bbLY#ZNLY&eV4M_XK0v>dn+X&52|dHaTw*p&IiVZS4eXs4*K= z=3E{_jKNoSeyD#nuFbCL3H4M8I5lVh6g#v;PxYnJXGUL+zTFy4Cx;qw2_qULldiuQ9($`6PW~yA_9n!f$i}3L+Mnc~Nw2}~l>iz=`B=scjb|Bl#eJRQ zDKSDuQa8QeZfiSewxt`2nEA*O77GxkkLD9gUNDH-ORDfMo-X;JyvnAa(fHjJZ1bpm z2L9-I^t}%4srrLS%jN1YRE5wpi|&ly^YKS?(N^_J`nZ>4)q8ZkYNqbL{Q`OKdljf-PbKi z@jNn7BLW5^MdN79woY<;lwn_;Y_DL$6;Qhq`~7%w`pINRgB>Iq&d!25xvI$Dr65BJ zUM|=*QuSjWIE{Qk4qU>1JBv|0JeS!3)yfFulO2TN)52NV2On8UQ4Y1{$pYarnjnr3 z!EU5j!2L}&PQ5u?ay{c4o7$Mct{uI(JVO`M0!|8}`9PJ+%R-HF8GrpAv+BBC&#HnJ zeU{XIk#zsSG*;-yE_3ZD1-68*x2;V_O1pWnSDC8i-{_OE!SC7~=JlvPCDn@Q&FdiJ z@HP!;BZ}YG4M@DL_>(s%hhLtA*Jc_W7>`3upMUdtu@T`xLd%?~viF!2IH7(|Gh)&e zeQnG?%e8njG5zA10yHp|X-|do64k@bu2adOc67m(8)o(cq$NU|hq}-^WMi6uCB%rY zhf8>4JaRs0m26PHttQtWGQ0V0j9*p3nUtvmt$fL z!VHFCcHOZdeB@Q+bG)k9=rX4fL9Mk;|5`cI{PkDKblcQdWVQ*)-#L5F|ALLI6nx`0 zqOfKD$5JQ|K~J#$3l59z0N`@1HrYaAD7rWKu5(7B2FTJa2}+)Y8OHcueXal#%;=zk zyD>VI4`2JY(g=x%lWFtG?F^%;FBk0I$+n!R>~BwV%#|K;r#xy><3bmQ%q9ZJ42JPaKCKF!}|_43Z7ZN9qq zA?=Oi<=Yio9!#i7q>P5p+ltM^P`=EQ}FYmv5F{!#q#3(;IE@P-$4`v zUFR|vdnSumZ_S`|GRu|F@*0(M>Qv-SMjaF$K;HbXM5=Ohy`}ey+a*@qE>$aHQT+yc zQ%?-ZKg_zAJ8rZpdD_o6A6Xf+XX8nK)1C`K->Ga>X zfx_Tv+0fw}CPWI6qiXt&df0 z6sbnmHtQLu&s&rrH>(b`nv;;1*89;M7xf(_ON@z6`98Cfd+?Ux8Fc(G!BOL`B}ir| z$^!(kUXv$b$uAvUJ?kP?a`C%Y-$G=lC~!`jmik{It9v%jVPx$`FA@JQuCUglh2 zZ<6(5BI)`RQ+ZX9RUPChhSaO4miYBbUgsB>eUOdiBA5^xN@rN=SAY-%)U!0tSlNV$ z9?NUN%#2JNY)t;#nqp*-aJB6+rSL@xX3WL#mu9%{nUE3FsiS#FLE(V)GHUMp~!8-$j#IJ%(0?gzimmVcR$}5 zEmwbq*X{((YodU*c;?9nIZcO7r_*0IO%s%^|T1;5Bl(ssOt&Ju_XSofM(`)Tron99T%i3vs1-iE6}`e zKA*7esF5jLTux*Xo{6i_kGq%x)r>(KfT%ibkC2xvq1ynd*fs#m z3tI)OoM@znjN^TN!mt%ucw7%-_WB%G4S5F&>H~5_O|jDBZ}}g2RGyh_Y&m6XT4eIg zIg~*Y*E^6B)j81Wa!+vH!Dp-Tx?#|vH8l-f0;2$z_!t&{6%g)fq&yiw zZA%nLk#xMhLqMdX@&+s>R$;{def+|-VsTGy7BG7v({`QmD^?~8nM{7OppcoR@`^vJJQpoZ5g9sG{ zhAy%yyPp{-0QQc<8%M0&H|v@7VKs{U#G)$e9^Dm#yL5wKOfUlW#N7930TUIF5iD+F z^vI@l6Vo$ll@9ZwG*l53n9auMRf_cm;maxiO2NCh%XVN@ueb%*=0i?ejbxZ@Q(NW^ z^nQJL>2fo-f5k1 z-+`pZxepJT5t&Z@8~un?y5H)JspnD$9(X_8A&=O22jt9FV;AEHXBr)q zswAdc6owS6_Qm?3Ievl$a%4hfI9;2z)`)I8=DsD;!4A1rd^*GOQ}`W0BAu&^hVp)_ zeMciR8X4=wU;s?LbjI9nHMCExiXK!3iaU3-`ILWo;?$5c2hUS0(zzWjExLr$lm?fV zAQbfo7jq-D?cVL)x$SkdU{?v_a3fG)cg62%_+(ID@df2JMT;g2C@7ByQ>L-e)AtD| z=#GDHNEd9l00&w5N-{M7N&@vZkCyS}T>OI(5eM|RP?s7Ud@8sPx&_}jzSQBRToZ2= zjiHuN_>(AnuMWYeYO0!Jjy69`?%fBI#@Q+|i@m8160`n1EyC`jF{R8CvAK1^>4r^4 z0oNBDy{#G1@4(DgLjyU| z%>%M&eW`TlxtK`$e_agADMFTxaye{Bm!hp3unF1=9ZP2{@tDtold+(fRy}@)fbvn@ zjlmRVg9-oib-jbWu48B?ZBBE+6#JX8tL+3$rze~nDcc`_I!t3L- z6pEw|r;>@I$+@l+o)%%D@cwp7a9RIIP_2Tb2`{=SWnM@@N#eM9&dP%Rn78DnS1ovx zs0yQI!(Di@70TBf3@D}WMD7>aaMe{_(kY*uTegyZNEWh&l=uM3&cRW4!B1~74odP+ z{z$C*Z@Fi(q7&z=ubW(hXTjRD?XAiSL%4*RYbnnEj=w{K?}!qI^ibC6u-2-Q%V<7vM$`zw&x(xZ5|xw(2E-YQq?d8jSC81i*u_Fn)WN2~~IE*iP;L5BB$K^8gNiN+D%t6kUJ$(Kc zGj_n>f~Z1q1opso5REQfw2Qow18!7yOJ$gL%jIzTUk}q2RNw@cvVbj*u!2>VA8T9? zuFKS=I{RM^d|i<@_{2~8hh)=T#j0l_77RsaS!8L$iEhX2v^ZiH!eaU z7Uy@<9GzA+O2gflHyRrd{EKm0?54FU*X@9IV<<#vRdVH=yD1N*!8$3P{(&)-y$Bj# z&5@zdZ@fAE5CAPM%r#@(MI@##hIu3!aw(bzX<27*th>(erp&(;a(|}9<3Ybz%>9^1 z(Zn=hBWcNTWWPiovGJw)lC84ct?23T-~2=VYsG@(z3=4sF6H?wS?UW|K{GODEaq&b8ba{^B592>}HrRBGyoc*hg6a4h6O$=8>o| zrag}wGuK1`(Lv)Cu8!)KzKc2L1JDM$K8ka3vjtq;%6 z;ShI6h!e5+bGU1m53?>{!88Sj&pm$7$OD1pJgq7MDpZY}UwGz+&DAj_Ij~8#7y6Lw z$7&k9CjD58^z1K7P9)&-T$OsA(6i3evtwEqA`|o7;l5iQ{gBgls5wR(dg$|1^o#7= zr=duSqA>ukcv&z9AE6N3^{x;p2I50qhdOe7n=0fdgK8?D1p#>OUTau;vI;-Rya#;@ zYKae-S{cpwV3}aWc#h20+$?(kGG2aWBAdoDHE6pIDa2|51iT+=g4Y5 zKnWfUp2~s*Zb^1$N)(cDvJ-<3b<`}W?UKhU8%F3wrl~w+nH^K8vxc}8>wEEZLZd}7 z$c{@6^O^PTMrKQ*6h`4kP@Rho4qx2ZvAmuM^7b@#X-$kaeW0+7q7@`zCsYrVPKpG& zIFy0Vn%bYhMl`StRX@u)#bUTh**t-l=!lMjfW34QhBY>WvI}GGFci+x_~=%HDHx*1Ozy-QkIm zW(?8lNDnSl0b45)pdkxs!W+>RB3T}rAD-rYBXSe>#JHqa50a$-FE%=@mPLs*lu z4JwaimtA#0KGO}@>C&hHQGctQk$fnH3c^0t*UKe;tVsa#s&-wuihoK{I*W|Gp>gfS z4FyOgUQ0H5oUs!XSL0+@*LL`K>rc6L9lT~>dS=x?pm?&Mc;pfph`bCSw=L-q1b?^B z>U#?o_z>A2y52UdmfS+ym;>5vB=Q86vc5f~)pKx7#pi6QAD&2$`7&9^Ob^qBg`eM>q73>1;ApF0P z*lP+zTUT>xv~2s=_d!>_oXw#(lch#o)6C?i7Cbf?E^R%URen|#8x0~0YjfheSnS)u zdjz7e?2uaKY_*B%_)qe+ZUSSTVzfKI@T<`*YrfF-jI{IEXBn7BzITk7_%UoV5}H1Z z*xfDq1BU_i*tG@2h|`3r*-@;SyaO_22#=PDZqw6OsRX8~d=MVshaZ2iweNx|6mt@M z-XX@$zpMmAU>ievGx+6sa*0P<0uC-g-$(68^nKPZE#yUQbHrF0oXdr<(j)n~2O{bO z`|FX68z;TmirRS85jZGS1LiNu31hbxwQ#z(a{>W0KUB$jdnGGm(BXiX47|HX<1U!L zm8|0cfDdw7P#`GmA*!^oFB8o0LSmK}JtK!%gep?-l9tX_FVZ0(L;D4CE<6~h1_P=x z$XzGE-^?eH7MwLw#|D5Qq9LU$*7Pn_G40UMc+?H)0|iPHF%bplVB#DXQB*8hd4du8 z4PrQrDk|k*i#xF%J)ZhxU%vY3w_x-_&oc=EG|WnvWkoIFGYA@kypUER??^*(mhpIU za0xYJZo&Jd?WcWl6NHy1r}jc>y|ve(EfLf0Z3P4Km;GjSnZNPHPEE>;+1OO{Qb0}Q z_26#P@L?GQODqyi7o&pKnM=I9b|OW&ZcWIxX!tq4HcC@}`_1{e+eQ^aFhjSEQwrQL zaV+!*FL7%Xtz0u$+H4RFbCu}cAL!nK4rOrDo3903^LWwMKP7xrI0FIk1iXybgN77i zPuEbWvukj^r60r_g09m8;6Qf@Z01WuKIfJGwya6rrcfRj^S+LDE?O|W9_V9`&~!k z$iKceFK4o$+DA@r2RMmOg+J24*T^%d{iiJseaF7|8n)m`JAjhR3xrayO__EH^+Hsr zitPq4=(3&i4_S+HCZmvUpT;96)O#aDASuwuhvexAbl3Gy_kTCL62JoznQ2_ET(x6= z?z!#Y`mw#mP}L0M!a;b~7;|02)+GqCcl!wFw9}x+!u6nh`_*@crQ*v6CZZIL{$*Zr zaZINn!uxuLY&d%J4ZgMZ(M7TXhG&qAMfE}7(2bzq6uR`I;8d~wS=S7*8<;_ezr?ld zr+5Vr&%HE-IRB!b#Q${mvlf{7n2Vu(^JnFLyygH`(w%zebTgozDG89NSR4_nK`QS6 zkNbYw?jRR0npeb2QCz#ej#a(WG=+pRJ2O|rKaHPA2>UGG(4j@D^eww?Vs4%3gaxFM zvUZD_gqy1OGx!3s?$m_Dy!N7f4`woTKFtiSnl2@PLTDi%G!;4}Ve$cEuUJ9@=>&#K zj9De$-gLVKCEYu#27x#?0`X3)1x@iVy7;GWYp)P5A2t&10kN(?elR=N z!l~gJN4eVY%~A60cJN!LpuOZujhr1{xT-VlLU)?)WSoGlMD9qv24XNRK?}_q$$W=; zOCSv%DpLHyy7qtjoxp31PCn=j?pb{?OvVYJ#~2+kZ=GVGcl~CG+Mkp zD8>Ay`F+cj1C(kATr$u283%uNl;l0|KxcN6qZSSuiSeTs>lw)Z)?XI`E=LW(2B>wT zs{7K?aig58_Lt#71z(GH7xww#1UKIHwX|I4wbtJK1LTkiSV!wJ^5i@^9%nS0V|x~Bj0OBR-I22xgVB)@hKmGn2B@&=;PA+z1w zVVX6Wu}U0}UGY6-bH$yFtlM$|cyI(pJRsj=d^%MKe9K`ajp<1|w8UPHL1jVfy=d;d zPPKJ;c%+j9j4vH)c+SJ%AFAbRk5@b7)&~a`k$y#}ex0aqQG5N2Ouj#|RM@{GzP|rs zL&{&lnR}MEBi8V%!mN1^qU+LTWMn^#Xs8z?K35L4Y5)dZD{R7Y(gU(6B^>bYX z^y=jA-aL>Oc8JyVN=-Dc?5eLzypy}40-Pt!xlDXRgdfj#cX>XmcVtDK74IcKuBjoS z7JaH+Q&q8Rn;&9pn`AruN`+VGnzhK2-!?Fw9Fe&IKiGaeSSQgmTWC7p7{#X}WIjFR z(u|aZqzi6){_4yubp=DiBJ&ne#(NC%==Ug3+B)RI+aX2w@iigCKPwRGk3lhXmMpMM zk5sd(qe6C`enrH;*QJVn{2Xxa9GZM2{DuSV+(X#SXAAZ+;e4ES!=Er&XbY5-AU0ab z&(T8z=$Ms}2r1*>^2y?KX<>gMOI(9`q8haHM9;^}30)%ttG!ddm*jFsY^SCBd$hDH zpm3MT-pNdh)@;((xhC#pHc{L>8J(&XZ0_A*Ai?6n7b+{h>gV%#(ovQae^x5v!cH0# z(9DNgMal3sMYdha$FM$6RlenUt!+7DOAwM9+aJ_9C$wud5l zmiGLOWn9FgARD&>-m-xx1|K=)G}^OVICwJpg(FAoLd!qFI6+xbkWlx9*<#@*RU=#` z#cSYkQWN^LWcivJZqSh*aUchR;zZq(Tt$iv3PnesF!B(dGs4HeOpq8E*kMod+ZZuM z@%-0C$sCn+6viO67onHCPOWO-{esPP zaYDiV_cHYQEIrNUxILJDv0Z3x`K7=nSVl{YoTrIw+f9ymjTY3dDdb8w)4~QFDgu4+mGoyntrtSGO0;J?9pLMgXiM&Zp2BlyQd{Z zatxIzz)rL5X%yUrodZ|H6Jmsj;S$fp+=gm59!7X1(c!4j`YD6^Ijl+Rkw&3#<|Zum z@dkC;gheTr-X?ZDw*8;ERh`zn?^0}VWzb(e&0=n;6V2^o?T7kd1J+!ejL0qxmy+7v zV$7JtvYZs=hb=)_ z-H6TcnnzkZur&ls!T{T|D>`>M;8M%AL%Be~zl)70Qju^gr0Wnda zh+x%=(^j$NgxpV}xsz>1IDaz#?Z<#;_DD9$uykA`r|->$6X`lQ(n4!_Q9Mrp5&;33 ziw?Bk-v$8yazXw}O>vsK%~>LWnCyC?MOt&e?jppq<(6_j5IdgUrdp&mclhxXMiSEp z4J?q1*v{mlJTpg-Zf{*A13G*r^EcIC#v&p45&s7fxe}R|3!UF$8_~$FC|+*5le^5i zBeN1^f*NbUpi`EP4?OLd_YSbEL>8UeF9;f9;kVZB(CJQYi?W{*gD4&ZSz#1crTA`Y= z)c{?Kl?D~fky?AE+RPuSXcHFoNcUz2wAuDndiYSHUn2gO^AiDL z{a@ZDFCNZSQ2DTKZIfV{4V1`-;|-*Dsei3U+ablX`g0e(JBSyWIb$G1!snJ}D-)rL zdlPj2oMfFTg(=%J`(cJJ|6jY@(g<~flC&Ni1)6RQE8}L69Ta-pmY-FDI+`mVmOyNm z8#95#j~TSYKZ+qPw)D3^1vQTxTtbn@hMQRy{HS1|`r*?lsd9n>X5>4wlY5-8Zq;)M z8)YwX>7v6{o_891CNOPm6RT9CzhjyL=AAzLaczcdWP<7E|6n(~H5ibzKU<|%GbV1@H z12-y=#l+jxhAUo?mWj-r^pTMi1NjW{%4X7y z*q`xpM$(Jxm8DwASei$6Gi^6n^xriny%k($`ne;673py)T@$V0hvhA$b3M+c^tAV0 zWKD{S4-mDCI9IgwsV0^4Amcmxe{3)6GVJBTCxvU%yCq6(K#VLhcsRVgftAWr4FNM_ zfJC`4CQdi(|K2>4F{Hu`eT`LNpTAsw0N2tF9K`g@-93Gb%`cw?Lc&@hlit74wtu=O zhDK`CN2x<1oJ!k>?cVC92Lo1-!jc|%o8vRC3*p~Ahu_J4A9IFJ^@6o=%L7TKL3Rj$I@;iIu zao|N?$@^jvVs6r%o5dBA7$B%-X<=-{w7$%Y)R-e{2f28V|H<`K3xZPR(~nYO+i_Ph zbdqB|6>N?!0J}fg{BxT#P9R{Un~5zDdI+6k zQ{T1-?i9a-!1WA^oin=asTyFiAUsu&-@X`k!5G2x z3<+0tS=dz3X-*Eqh2kgf;Df%$Sgsb3lBl3b8A*?^%$cw(| zG)eRpHg%<{)mt|K@+p`{ag-}Rnx{#%BZ4Q#Txy0nG>>;m!j*ctO7l6zLWUWez8=B; zsx15&ud6(!pk80PNx4gWF&Jiaig(?TYC``1cXm=t$Zn&hoXhSkYK>o^VH5dk`V&zw zNoqUyc`Txj;nCIsbq$>thi6(r#qSbkrzs2(Au=11&DQgu>~LOi!jW+hEAjUcObI** z6PLun>$%o>p4u}9H@Lt|4R|q9Id;6v(B80+sn=nc?zNsf16t>%W8V`)!Rsc@FS4&B0tu8m_hHbpv>Wzv}eQS_QN*=Os-Mi_tBy$!);_ z)V$Xwy9-UsG?th6DF#GEY>xaw0Eg}QL=M`*UobU-dV~0k>2fRzi*!Twos(@79bFWX z&4>%N@;?nI9!>?HW*PiQ{2pt?-17pz@LEAY@>g3k?>*Exq}llg0^svJ^Y(r#DEWIpJS!DT6;U>~jVer-2RZ zNyuatpP2y!4?|IF|FIWd=W7qKB6+hDM{0mQWmleluD3`22ib(2+Dkg1IjZrl^IL)< zLREi4l`D~j$KM`4RS}0Y=4o&HqzoEe)H1zG`KXQ@0}^l`W#wKKQ4f25mVu(uvID&M zu+WDToVIJjMHfQB7q-8as!0kQNwL>QjpJKD^(jp5$F#- zIwTfv%B`RL$fRjoP6ml>ZHgLFKFac=RZOPlB>O1orh~$I8J#U5rmkWd#hB@5Y1^+1 zhBmsgnjIKMSoOH@D6>k)t}Qt7M0n6XNDCPY)rn7>A^`H_I=ABH7mQly5P?TFL&An& zgYhBC!cjzo70dnhX0s7qbArCSRZxU6VmD>k*9)Tuh4OtCeqL|?y5_oJXI!IGt_Htf zStw&PIwZkFiUS7FActu2f18c8*R#7F^kPU{rX#w`XY(ja?6;m7we=WI@=*5Z85i_q z+!A~FY}?DAHk--uV6fy*LOZm~ zH1bX<<(aB_RJSZRbx*MOa&aq;X+ns%mueGN$-DLJae9pX!mOR&&^l?wQVeSw>&yJw zbt774nsEo)x(V7uIDh$GIJR;r$vPCbD72;Ke37$#Y;8KBSnZ2k@lwCCbv6^)U+E&C#x6ykO zTG!Ki=oR!@l&oa9Hfr^Mc_*TlDKKH5D8mk4F;~?s7elfBZHF77VrAf zu~1c8Anr%^C;1|hWSD1O$NB@a!&sF=8uVVcM5=8G+#tj7)+B=9L&4Y04k7&_QM+>N z(1m=vDg-L`$V0)8cyM!g9x}MY(PZSxfOyJS4bq`_6_R4wS4R6ipNu5KQ`b2GKH5D* z#A|M4$~5U_{ziSiF&fa0+?2(QkMn=RchHZfAQm5eRHVqAE}lQD`Gw?ot? z(C#-%!twxlP$#vP#1mu&VdVTF9@Q4n`NehTL&?kPM|vs% z;_mg|9oNAOUjLcDhm9J6Md(qmgSvhK^G z8}LROP)lyLi-Pu$W5-x*PTAQ4jkm-%a*Prf6-XDDu6Y1-=9%U22qG14<86}W`GtXz zM*c^U7bBToz*U5WP zAEL-FKoEm^$Xg~hZr=|+*>9aq3{j8)@Lng?n9wc>^(X-)XiSGCV)cBCdncD!7oT|5 zYD}SrYZD;6Io*z1LCqt?cM~)*RXfUdK0$9qal5$T%hWL1EuBG4t5*Dco<(S&5P@nL zj-Cr`w}lzwEJVa;MTitcd3q=({~xX!9003)(_wQ{4&b+w8@HO4yiJr@2&hpiyV4VB ztJ7;>Y^Y*{6P^LQ3W2LK&{D;t!=P`BKEl+$(0;wGo8d&;WAGUEO_(hHc5^%R&acJb zr#Mu$pnRW-S?CX}WeF^vbe`-+9i`KD!yPw<*oekq?SX>Ve0*GZ{J`2?gkT#?*i9lY zu|xX&m2YDJb+fcp3VmWLd)qa|B#ry}M8zpR$SOKttYv93kjJ+q3PRN!0geNo+ak`s znWV2;$g{) zl!Yn_0rk8459Z`s5nbMO11z=q8~dS@2j0E&lmhmhmc^X`%n zqO~LA#HXBfv=E8FXjXl@It!su;s(4aLQXliHRe5RUKng-zls%A({5kup#NFwg_4(e zPjfwv?H0cQ_|**Rrcg~)B$Ib>Jt=MsaFo5S$g^giyXo=Cp)bJhSHmZGUI_U`ys`HA zWI_mh(u?1s>?+H&_oq4|;D<_T$cuf8$}s*U=c z?@I$E=$^UXP_vgQgQqcSEhprrW}4f<1#+lvdSe;4qgd?wK1e;hSX-L|i!7PjaxDHY zZN?Z6VEXh*7LVmXR=BWofIF${4kLxxd`hB0bHGZcubeEQdh4b^9v2~)u6)bz%NFYF zc_MGokQtl38!#p3&tR!dOzM$wYFvAKCdPu>?t@ZO#*`DQWB@dU7hhs1vap2ggcO;yDzE3>OrVK0 zIcCT;)e!RATz%iN)NMhdN5 zYo>N;R0AiGD;ns`!H6Mn|kGM2|0 z?$t%x(vL!dPvQT_b!-sULATk7_1@!`o{6W>)HpI$RPuuo={vl@!W<&jb}{HK-iOTA z+(q|k5Kh7a&L}VA<*>Bf5#kWdEw)>{g1=7!xs{%3Y(S3EDIgW^5+qp{*oG(y%oMw7 z3HsOt*re2Y2-mH<^v{S&u$)%c9v58|593=IbjHw`C6vK1OflRH=WZ^t0qpVqMc>v| zj7vUD8ICb++R`R3+wYCdJWBVr8R{_C!}xdiZas1>cW%O~;Kvo1TR$syA}fvKHRQ6w z$#qkU7q)G}URi?y+hR*fSjY8Rf+O zA@pEyMl}L_m|!59{nzo=GaaV zAEI!iSmxUXKT)_>1O_L*A}YGIh}7@UlSw(;v)Bh)P)EI>9mV=|RxwZG0M+RhnaUy!$!=SDlX)a;w(!)&9( zgpr`wwP4u{uaGVm!k;gYo`C_@%UuS*%Uy842hfaiKlecjYSvZxbmXLw9~cPk=%rr7 zNSEK#(?~MbtQ(1vlcJUXui+FMHK=nT<9+1{Q2J#}QQY#iGrv|FAYj7?rPqg}e=uTm zMjniW0T&J&_d}L^*!5UZn_k)2$!T1&9R5p`!SzWG+y=j^ag5HPni{2R4YZN$Q--=C zj}q~+_F{+IWk4=E~8*eq}!iRvRXqFbzB77{*zqqE05Rb z9x`lP>-&Pw9EadKbCkeAlll`x+K!E|a??c4J7_ zBUKH)f&h8M)U^g8yYUPFkq9(yC4k#c=X&}Opo!%d*UnSN%q>aNnuKf2Vz8iuH0XXz zE}oE7rRL8Q$+gz^sJ`6bW=_k3`%sY$ar{2rf~!WMW6wU-g|3U-y@QAeAb^1<9idBc zf=WIqj>Pg%YD|yO;Su{%2 z)~zb`-ZB<1Cu88$-&pj5KcC`jaW{!I)ZYQ?qE4RB0i;pFA)IODSx(_`BK6eX5^$~p zuhapff6ppVMC`MN51?P{#o)FHhO0?P^4lUOI}XP#3LOX8$G50_8OhZj6d0hjyeEJ;F9D`7DzI7xr1pm!CIt~-j`AV zv8&OR`(725p-lsQ+|*N_mkKo+SMYG$Wldqu)X#CF0iJ`Ez*&B#b#mdxci(d>Dr?jRJp&md3=Uh7^zo4 zNI{m;eA*FQ_>}ZzmO%7`FB7#dIS&=Fiwm)XX812-llo-}nyE4is07``%@Zk@<2BKd zs2}5NA!*$-#FT8x(L??Ad7F$ISmz5OPEd!Tm_ZY4ikY;NVitr87Zx(85@}mW=zSlc zmv5bof}l zRnjVD{~7(cpa?9 zdeqf$A3e4=)vS!#h4~kn2>|yijbMJ{YLa7W2zk-Vw`O8DTY2NiCQtFdWe~*)s8H5X zhk>7`RI`)wH@c1iwvc1G@T6lTT7GvF1BfXul@0#VQF-bi$+do0t;o7GmGkASFHK6Q`JqI0Kj`xTH@|{lQ_dI#qGT*>!J>#AH62+-koyR@rBK2w+MLHZNBuRlY`bI*g@<3!j zclOq=%g<;n#4hd0U$Q>W-mgXzwurl{$!Ec|g~F)!MtM&U-PJOrZaMUeE;ezP#T9y5 zY^0dhH@WAH>HATse}kmc^7qry028?BfHg8#%Iw&{%db zT`{Pgl&g1j=`z(@1E`vAr?MvS|CTmtYPQN}caL;2_>)mrX0zEJm&k7Wlal7Z>44*` zhuK!$HHbv8rJ`FY(Ag}8>m-cs%l`Psw&aXDa&|3 zY>O^sGlfB0EZ_Q{Vwre);7cw?nNaa{vJeGsLc@R5*V>5?hMl1x=;aQ-xWZ6%%)8hF zOe}T0qO_*}r&A-oU&V{x(Gr!M?WfU@$|^AQ#PuDo5Hx5{M-FWGlUoSDqS=iiFMdZL z(r=H1<<(cNN`-@We=?%3E+r`}>F=aJrdi`~Ke6FyhY93iWfG4Fdy{UBADgfdZV`Ca z)?p%(N^1V&=67$2EtUGN(0BTznV{7C*(Okfswa?sHv10e+p9{dhsuV8# zE?P-pTP8$TD@`ha*QhL9BY>5gO~qyel|45eu(BJr>Y@2z#$v^nR-;1F#=2&+n)2ib zIV4~{m8 zr-qI2r0WxLcuC=f2aL4l>Un6~0Y&s|GOKg(5QyR^Ws>8WW2TjGf_dgRV6Od9@mAlH zKCgf4nI=~73*a^bqb1-zh9Nkc?|bRyIFDWgatf{8=n;7(!ncDRV+{*{8DBm+MjLb! z-i58v09WHGVYaYyV+uVLPoqgWiH8RCaIJF6w6fglh_(S6at;5l9hx zZavDhnQQregFK{Q{a^b903C(d@B^lE^H#F{g2x=e- zp$yCfmFm3zUCcwzvV-nFVUOSjTg|KFk{-P#?hb1}zbn5k(aobT8-atmoELo~Lv6v9 zen;t@ZF&!%uu9g9Ml!#Rh+hFncrQacJ~iLl1T&X|zjkexeOJr9avkN7&3Y<5hwRzH zD>I!vY8ov9cTaU?<%)A^?t@?Ec&T%L!JQW z0ku1p9(*@?&r*AB)*U}B4%_T}Hr-rz&XjBh!z(*zTfz}N!;Srn;!HYQQL_wPJUqb-FLZ8-JxDo%xSfj{L0;;Tj`CKH*c>C}4pd(yIy zypPv^hz9N#M&H1>DR1BKEI>Ed`?!ui3?sR+g&-Dbv${1LFRVq@dHut+f zgNvRAwxgf4%F(n;qXmW=PzYl%LWjV6V`}y!s2^1_q^_%4DcFe^kSP?hwd@V;!Q6~j z!piiKta#Vucgwj~o$Q!Y)pM{l@{+LJU5v$qqHOn*(c>@BVSJb;5R6C}iN>WL4O?{9 zrB|`d*krP8?eq3B(ATPmGo*i&)}yQ;Pq22T>%r#(+vhMz>-}y7aAteT83{$0>7>&C zVhoGe{hx&Ew+9E-^Jl7u*SygAFYW%UF!1ZN-fD&(2wK0nlE6B52i`9W*7qUjOSpa8 zUfJuY{$=Z!KL^fFihy-NO9oayS0>U!CvAq`zlsx8;%-1SwH$f?D@jw=)60hMS8mhv zK`RDT9Ub+-En*O!uCEC&#I07~LOzraQ7f6RjfiOPd>A$R_+BQGG*Fq2M2XQ>uAx2b zitQr|@YTcfz4_LX^+w<~iK0tINrn|yE7N-vb8Gecf}T;+C23jq>t+LBsluD83t-aQ zP$$`5rw^&6=&Rhujb_CJYIvzW1hP5VbKx+{WBoN3X9oHyWcH!FsI*M#huPsdJPyB& z5h)x4pdJ-<2EQ*FeeT#@X#>kSg%+WPjn_QO4521uA&c1!=-CJ+=n>p+&WPH>5YQA& zR)9ta)nk$Cq3CpF+I;Nz7Mm(IK-rEmole@6!uNZDUkB2|8XP|nf?8nCDi+t5t6LF* z9L}ZNpD~h*hY^5*Y=yN!rToIYj+IJwW;2{dEbOPNJV5iuaUW3fdoYZB zJR`dLVJ3Y5{y-ulF>Mq}HXj)5r@OkXaoT+u#L6n!F=jYS@KB)V?)=J7KaUO7H`=xe zDK$JMV$EtEyv-oT-wPlg4m7<0prOi)DWg{>^Fqy5FTmb882*sS;C?IgRH1SkRsY{( zGYrUf>kWYh6+@ryl30p={lv>FJ=<^DxZVJ!0BQ+QFOuIAs1?zRKECr}zxKBswA^L}$OEM5uMIbuq z(W6DzNJ5cKhE0F}w3?VohQ?k7EvO)F;pUpO!iG5Tii($75?f}OZtqwJHh$*W>#@>I znfp@7^$d>ymEkM1iQiLyB)rAE)N_vcV|aGqNAwa*8!G;YDv|1$h;%A2;n#W z;Qe(Y5!MGUj1R`d6Ysiz^nF`uk8(YY1mt6B?zZi^y-u+B=(KC+3&!;5v;Z!xp`&f; zM!8sIzZ3+c>l1YN1f;F>c_P9eQAw`mwOP{``BLP*4RSCto)_p^UE<~x3g6*9D583v zYDq4uCd4y{kvwE=R${LAWx0xlL1#fvzgKacaJlmOe*7F<{*zhir`t+@WDQ4 zeyAInPAmG|_KZnN-S~bKvG{~^_5#JuACbEft=-w5sCl=D16MiGmGaLvm}upSh_Scr z2v83>WSk_V4FCV2($N$4<&q{4)B)FY@u}b|6mEAKk(il2b$s`?t}gXV#CRRrA*2Ic z5bYC6yysai>sXv|CEbUgK>eps9$#WVQ_DpmunCE7B-cgtyNY!ke+ApMG)O&^{&CIW zW(>k8C89?{NxRW09nJXA@t4rXvpDFb(~ow=<8<`$j-d4(0n&S|#s^-d*Rcdp#d zL)8bkjd7h-ud7_17MJnl5)M*lzYfEbOjrGxSDVI1ypn{09?adYo#f1=Q$_B5=T~8k7XkuwjK(J5Mr9a>!nbiE z?u?}s!m6L2Kx!$Jgv@$1%IFAg#xQK?wnAE5QV~w0xCZ^|=Pwq+V*3jVfZol6pblJa z88;e}ivx85(azE{##q{o)+RY{j)iZu*i_+r&MO5dt5OVf0nGI~0nfps+Or$EU=y5= zsZUR&&}cz_{96;Q0o3hq!m%u8yScbWkJs=|?Adhzmy`)-RL!vNRKi%#yoB!UkLvUG zD^Jb15o7=(uYe<*k`V|Ji^(>oxejuiw@i9r<~W+)h6X03}mI zmT1|xXj)&*xCUCdwN1-Nv(AYnUJB}8ktk!?o5EM&%?+l6Lqd$LwE_@jAJW+MFhlj8 z!OGgFMxPGj#i-pt0s$`oBfbk3&xh4-p*qm-X1XmS@? zGufZAHiR_pY_Eiv4p{(#+VwEq6T`W-^z^uuv;^Y;v-BA~|l53lv+3bFv%H2V*E0RnzopXCrG_K>>Dxg`qeL79$gAN(1t zu`aej=4H3fe`LGUzhH~!8gv)0=ui4UNx_eREm;pqa$e|5$Xs?2JKq&!N&||RCO}5Q-2?UuMVU!x{kP_B>G>MtKu4=hV%c{8R#ZvXggrP$l0yQGR%qD+8oh%UtivH$A;8s9NCu0W<7k!GV z(nJNY+KPKsZg7i#tU2Z2wK^Bs6qM$BR!(4eKKWXxi=iPwXs$QJ7A50CEj}q1H{4k= zWH6Z&=Y<2Na`$xGv7q1#bcyn|l}IQ2AuNBd`g>}B#e>l^4+u7G7yJgWtd~qn>0Ozq zjl)+WBExLv*a1$>`p@XvNJejDAG^Ar^-OL~8dla}dI^6Vs(&X0cMEqlJ6AD9V)WV+ zi+MeN&LGNgnxVg3;KD1{vCy`D@`6%x-@AIYI7NIyFjU5(BvU*Cfj@=Ibvim$PVYyZ z@e8t4r?%xQP85<_Q57*U!=moQH%3l9qu;aqd!&M3Ve6`g!AaFN_p3m0gH2chWwe1; ziAcIEq{Lk!%gL&(CEAOBO<%@PQ^Rp2ibFx{X0MN)D?eD`rk9H~tQt2nKa@j%(aZHr zI}Ac_G8zhdtyo}xv9ntzCFSnz(3o?@I7ve4n)hA+jyW=~Ys+5dG z^m-9;PJk6ey72gXnmUtV&&5%9YP>ka7;sLez?y8|njYu9e+uL6%IN&XB$=9p~H zXba)Qgrp~_jLaNAZrgy0z5RI$IHVfaFs6<}0rX#1J(-=x(R|5YLau$wDOhP+1!0X< ztKO62^AM;^KD;B)O}TOmP;BpkDJtnKha98)6-ZKJM}dQo0CSeedmTXvY@m7ri*tJ? zMg-kv%G`ORqO*OzQ;A}|s0blSJp)QW$^7gp_abuc8u&xS;L7vDw=;hk#)k_dAd5z+Qz7@6Sgs6h{k~-nk zlAnePZoIxzh{rmu2edzt!5mE>I7k^zB%=yb1Ad#jpNlu1=j(X;qv=10W`O+HRds~k z+BjB*_Q34LxN}r>HOc*oKH@}F%a?_d;%alG(Pn1B!eh}rF%kU5u4sL0*lYM`DxDEe zWlVr7x6na19WzWxHf$1N&mk9o5-`~wS*%bBMa%#)lv#E~jh3L$iW=DKj&;O}t7B}P z=nB2l`72g@jyKQjDXKU`ckWxP*EkLImae6OM+Aia`rB7TD&D@1E#iCisqE#LE9$;JM# z%@!t6_0y|xIiBHr_5Wz`)DORt*2L~rYqRVl7y(PS#sh7wj|Txs(?gb zj1%WNa#KAg^QuPHg|yEg6(+GG(_3+>>)i66VtY|jv2V8oW0B}!Ti`9O5K%k8{H65* zAJ-KzHfn8~6XrY=LC}zu@CAqkoHVNvF6|&O;a;(*V+@Y=S%l!U0ww!%wPcDN7fIMb z<#+$YkYQ2K$TP2HN<*hP)DOab=#c5(Mh|+kEo(1IiTr$zs5x}_h7l4t<7NtW)&-;4 zM3NFkK#iPsE9vX?t1%D*;U;it(0mD1#8QS%JHUb^O;&dG~2Cv>)f28t|!%4%o$Brc&;V{y>SuR5XtMkX^+Pm9O^b207W2%J*Pc0qG zgU38z`dO#-?*$%cvs&-$dfTq+2f(|Qt^;4d z@@iawK$fI=(FoF2r_#t3pMWf~Gt1cBM&OdE)I+H@b0U?c z!Tdj9X?(nefV-(wQrIw%GRe|h3gvBBa(XV-axyClm&?Y==lYS+KV(ZhR-PE2q#E2@ ziqU;rpOpD)cE9^jtesEf5Z>z=*n`c^FBCl5mr-8OA$|3x_()XH;`+e;o4vz^fxD-=(h(S-qg4b`!so?5Q5A8 zbBfjdFb=CQxvDg@NSHUcE!%FB+Fcgqr^@J@QpHXUS8H@0Rg5S)#``Xt5E8l3or%ep zTlJwnGv(8-xB4x!^g{w!51rVCp@ni3a%XQ|T69P6z{~qxxNx zpKqH~%z`_yVkFpbWt;Oavt@x2(1%-}{@zkYZ@M*W4&B^`l7A*M=1%v+yiYr4ua#o5 zsrbh2Yy{rgn$edSTO8uzOt>~R{+n6ko|2Hu3X{a#GZ5+X_z$#?K@gKC+L{lhTW;K_ z{Mz9P#l z(Y6$6^y!rb5e2*kmfcldw+$2}9$3Jcf?{wHbA4a&RPB2b%*$w#IhNL9m=iF*-Z}<| z8(U>&$)Uca$m85A`)d<6x>-SW3)R?^FA#TdC(3TEL`12QXqc*Y0u)<{R*D-lm7Z>5wavsodt1fIrg(kBf0Uh#P2bQ$XtLk{vqqxHY zKdalZFR$XG#o}Qd4CmE`?LM$NKh9mFDhxcJd-pngo-P&4DWM=kEG=tSe0DC7vKFfv zrKTYIr7xM*4E+AH9mA0Vey4mFa?k+-J`ocv!5c|PFD@%`1c-DzFvrzzWVo_(J;rTx?@03 z_E^tlzVUs4z$TV@n@R-U&*VrlNXmRoH%)56i#QyNe`71G`jwP>gde{0CfyPn1Mz?5 zV`XIIuwC5uG)q{>(d9ePssVcN<>7ye<0hHen^sZL;g8BhhwjpTy{L2815`I?HB{0@ z?F7Z597=`zC(9?>e`nEtj&&{avl+S^iVFoI?xc49G2cw+9E(|d31K{t9t(0H`NC*( z_@^Qd*`+uxW|x+fNb=cu9+Le3{--WgI09m@q#y7zwZbVfHZye_rEjsA5*R`m)CRXw z&Ow|g6`E+8pW}=g1RlfyPC&80Dafjhv8y)w5chOO`tCbq8}|C9-y-JA4R9YDJr&3i zzimm!zh$Ic1+#&;A}kz8dMbnB^7{AR$pzStvMigxaZ1v@iodkQ$@VSsbl!@r=k<@g zn@w)G-`iDi(HC5Z1D%#edNd18#vd zsjyp}xwk~*Vngo5Fp6H5&X&k3MK%9~TFg5(1Q{@y;A?Y)K39NUnf23fGJq1JxAG!- z6#CnJ(f@h~Z58BVt)hr_RHQ3U_fB;zsm^dK$&S@t5xP>woII5OD>BURIt+HRx^n53 zv7LnkwYIreR|o~t^Xduzq-=eT?f-e^^_5eHw_V~ZU~wO>k_fGN!v6ll*Lw2KoYz{f%ggq zNjoWXI_|b5j#8ik2(i0Ll}=W3KJv*H*)CI_%q(u6HZ_vZAlo@zKMFf#*%;*SwgO>e|T)-s3gviT|JR4^qKOuR7H>PU|Q7b#Ims*G6= z1Q=KJ_g4};q_MH>`Z^Ya)}-LIJSNCBBfn&62P2Cq(=*)fq&JcZ1SoI(BJ1Xel^JX# z&Z1Q)i)+aXn7tRi&IqhuTq$cW)!~e2PjPeGAXv?@f@qR5vUG=u(-q|Mj($jgFK_+r zozfR{Vx2-Xo@|tFPHhxKHWwx4C|K;6_5#3RCi!k+i5L^7;=SUDjD1Q8donj1MVK|h z4G(TKP}mbtL8ssc<2^SJ&N!?ptnGkP4%6*{suFi@CRv*a)UrsyIL>~}dt;wTC*ySn zKcr`*s1-j&ZchQQmpg9VWs&hEn;9`l@qyl#M+(3RftpnAm4YQj-Z~@h4X!;-s=H41 z?sf4J?c2YahE0ga-4uF6$P0*^mv_9@1|awv$-e!ny5jRDqiYqg zA}?+tK{S)`GAC{?UFm7io}vRu$4jY~TW;ngd5-}~JJ~5uYTEqfH5N!COsV`E+>~=g zGE{pWo>oEvk_B?a;&@c1d*Mu)fruJg)#Wp3b{GkD>;Bb{89$JY$0n|4^lZ>rZJqac z5e^)+GZ{xwNj!ovtZUzZ2wxIq%!dQM6GID}lDH0^30)Ofl|CCSjNcbFj;fEebT#rN z$(^Uwr7-V93k};@zAsHS$)p`SokCIGMMwyHwqSRpbk>g@DFjuDcf;lUQ6aWX?mscf z{yNp$orsxYwp(Xr^jB*b15xk6uF?Na6 z`cncG!gwaKS(WGRdlsw^)TELb+qofDN&%M#<)*oL#Q9IvnIG-*|5{2xy3v?zHLaF% zo%8z8!s+P9!8*9+d=QA42KplTfjP^wi{v#6bPunEhj|9K{E(^C^yOYS zNeuUOA}*sEUzg!4%IR=9?H({hL}L(S^-Lk)?kICwm$>*q|gZ>y`4%<8>O zdVV*xp}dY_J0`dU2Xt%t-uh+%BgLE?;cl$WVIT0gOqpIXD;*CRWza~>$!m!`h5gyM z?Y?=z&CEuDV<&57(gjX%DgpP8VdwLX8fUok5Gxc``~+^e70j3!f`qBw| zfXl7D&c=EdZSy67KS$KKn>!gOcL$OTz272F0%4rpG_+p+dZ+X}w%V5P)Cv=h-7I9X zDe(;>P6?(_uhU#gA5Y!CATO2?tk_B}PBJgE0jXxz_j|U+L4S^wFg`|0%<4TP@7j5v zmL7F(yFN8tvgbZ)EHz~GaD&N?Hd^YKQUp*XmhG_ayvZX9T}(!T2tM7+jgGRI^6rxz z0{v%7afFi)?SmZEu&%=ByPoVWfy%1D#=)8cz+g%=tkP*U-FniK<{(bvv00}lt5D-t z;6`&)CqB`bjBPdC6#^w zFM8X2mqA7Gh*S_VTf=Vi`dFG;KgumPsU4%ymzqt-YqC7nMA(vr!LUp^eO0Y{2c9H|N0OOcfr(JR( z?`pZGvTIAGp_^>Asv|ev=hT}{Cmzs&rHk;CPJa{fRWqneO`<}Wdx!jxMIV4gtmu*J zZdcXqHe0`K68ikC5o;bw38ou%(;S|Gr6!xl5quj%jZ1#%3;II&_knQ-_P9wRbV^v7 zUGGP7ZF3N@i^`Wu-pT}F24hP2bnhbq?`}7%-y5&+7bV)Qn%57tl=uelomOVq^MTWV zE0YlG$i1A`d&=UZdHd}DXR}6sp`3Q%gxg%8Ac^-`Pl0dzQa=DC`I1pFZ z@Dbr%zQpSe8;xd)5szqS$DQ=}-dMVE1O#Q*bQv}(l?}p*QQ<#h!xX<5NzmF7q1_8W z@?()lStjWI*lSwZ9tZzb|6lr_ifGnNNFHJHDY}&a(7VT^uqOG0Yvo+|pEgw~iq^;M zCt`U0=@}%qt^JkF7PeM0>GMrjJ?Gez!m+OD-{l1-Xo_hfW-xu|UNIp(5W%qFJas>D z0Gj`B%qSJ9^PR09g!t8SR*#K{T_?q1X>0xQ|JKL59WhX*`~XvMhs!0vYC`5~28pRi zg;5(C_;t%*`7^$*!eB9r`~^<)iji;{#gEH~?@S}ZB@*JRP)K_QifEzQvMzBFeLZki zqOzw*2(5QlreB1hC3HEiYs&4tmGW8ei3_9L0*7|KL`>QelQRYoM?Idt!M*dk9G%c% ze&1TRHCb8MwKjyw&X} zFo6gpl_L@2bM+}cBE9N1Cj$8Vfk3MfdpgP{tI{%S%)v6{GV1vi?}jd|(9!+wZss^p zmT)4Xu491I$B@B4_Vsf`c2l_cR&1E$*FMH^izH~AEg8{N3TOnPX=2sLCWWj70ACO> zQn&)=tN)2VF{CQJR~~-g1*5<~iXHl82=X@uNkeg@*m2&_M86#=?FZYd5Wh2AR{nr# z>vvUjz@wV`fCY$BB9X|e|E**Vr9G4ydgi?`BO5w3`6RhIN{is$0%s=x54G0aF%9zU zv=Rp?Mpftj5`n1UulYaHF*?&xH6@d*8Oi>QVi-`H-_M@ulfSj5$F6oDo#?7q4{I&v0=0(ULQLA*3`jk`$E~s_@S@xnL7ARjSHhZ^WoSllz4-(r zTKF;(T`mv6X(PWFTIjYiI0qU)9I%GksX7m1>`!wF7AjgA|7X>WFjXEY*#KmcVjYwI z`R^b)Mrwo53hAd60cTOzaJ1&*`$8YQx7JBHjJPbTO9z}`Tsa0mgX4BNg3*JpR^@pPHS$+;E%D@#Yy+7W8Lq40Jx$+ zm`&+$GCTJAZRkUt6Ik9}S~oC{yer4Fz4Sym+}n&&7gR@?V&$4$EHW)i|L=x%zafFA z75e3Z%Ufx8GMrK(w*JD}3YPHBgsNgKo#pxs*>K~VV4&ff=HE6RpN1*d++6pUgg}Ub z(Xc#EBOZ&yBKs(_M`DVXFoYTpcuG%sBq?hA_<5Oxds7%_d^i0YZu zdY<)iPDs!Q+)eq<{kZ9cLB8o+z%Zq8rea9m zAnH*798V6^pG!Au`P2l^bthn%c2cp+z|n)tnQTOH=h|&TGBUd`b5GkpmzQ^Zdg^!z zVi!CMo(oSr*vYo88=$faJT<3)((cQKn)a9C$Nt|G^D+cAE2@ zX_KfFAQosFYQJ;I>60v@d}H#p<^6WVeOLE4T@FPF@Sg26vBIfg*WiADUcQ+__p6a! z!-EA9dmNs$Kvcf7{FO+4h&vj4 zn)R`s(LG%->7Z1i+c2Y@-jp!Vt3vR}N8r7{Cz$3ZFOM>`!InP15-7)c9kQOP4Z0Fm zN|%1}jI4$&_oe3_W7rqHAlJwmVh+~mWvT>hI=IjMi`;W(!rk_5h}j>O*zCzb zBhAY(xmAHe7z0d6I(u%eg)lj$O2#CQ))ufD#588Zf zg-3W#U{@#w+d1n|tMwYBcyfmbPOJsmEPpyC6geMc7eZ-;=L2--g)~`eVNsCVncyeH zXjn0@(I&W=9qV+}u}r%US+^{wN9&vSs{5a7D)*Vy9Y$5l zttX`9e?A4lw_i88Lq=~{Eu3pIY6#GZ;~fmVmhpK)&~v5vj`)N%#A;_Y3*e&WXSZ2; z!Zi&Xep<&}?TYtgKpc8eUyWwk1d}~UW>SOSQ_4zq4JK5sDz@^SVV@`rm_eA~6GTR0 zPf1D}0r+Vbh@Au50nbjl3KYCBq7ZNfMzUx9Mn}Vut_Rzk!j|r+B}!axZ_P={S$n!Qn$*>+HCGucxkU+^!{%ETfv}7n6$7o^s%)!P+izH zE^kM_rh`Y!eNf|8=dGRk&W>55wHQ?v%m`c_bUf|U=#jMCvPXCZ8p;hP-7cV9n_e(qYV$fK+~YL=qI3J~P3 zAzAV|g8SVas3Vq0&*Mez&BEbxIBYi<{u9Ye6zD_!Yb)V_knY*bUKBHYhX%!esOeuZ zI%ahiLiIU%V5aDo+v4@u%g}FIVJ*zbY-ko|KacN}Ec^`4JE1pC9NVMb7C>oi8yDz1 zzp3w`SgR#SGXyD;APSN}qa;<+<&t0#a%?p^DBxL6-gcRJc*xU`?$BQ0!$#be+ zxR2)=Xvty+FH8M6v&OmNLzApyqaCSO0iRI(%n_+C7;yOwWGy*Q-YB4D)zYc~>suuV zouv(?YOQ>O)^my2)!c>a0iI1--qOU&fozzz~gF;i`>afsG$?l8v;d@n1?slP8eV z>C^~!SY;sPxcROdPyy_%@gEGiunwcI`)WCN#Mh~c*~oLsY1afi`&@&iWtP0-PM_Djb}ti`i8_SxWl=&`m#gJr4wa7M51E__A)vVOI5GxMd3+ zO&l~!DoZj}`q6Q_GB6luMI6v5Mlh~Dd>G!5g|!XQNjDLwr!q(9EMAxS9hM~drhBEy z<%2^|8>H#fD-IPNC=DF$=ENS@L$SxME4#WpO)#W(5!S$wT(sKtd+WU>1@>872LGl0 zJacEIc)~i2?sXyI%%*>AnE9%c&ALI%=WRnn-?Dg-B#_z@>r{6z6?%m{_H#l7ataFv zkXH$&L@k=woF9d7P2bx$SGDq)p)<(ulL{URA&YX!LOAzzfJqPR=en-<14u3EGV!0} zdgppgiHUtsL7Ee9sYIsobMEoo{yy}A?{&3fpb#iRHbhxft zdvqxx6by8ZBw(o3-SfNRM36pO(>+8^%dP?65g>IF zbqscGV*B&CSC@;XT`;%u-L9*GJ* zkQdz)%-`nPi|>|4xp)@5uRsmJbW9Y5f=u#qdUn=GnfK~WbL&n`-`1?a3;Ju%u}w5r zVsPzID=1K8gJrvXDx3b$l9#G~Hn#N!Z9)fRdqaHO{OTqeBpSKJ5IIeK$qh~Y^nXKy z3~*~js>T~zf+=5P?a|m~XNU;)7{$30hiqOS!l+79b{soB@+tFtB@3ST_}<)DPx&f0 zKN*M&kwiz#CWk$DE>DmBB`QR@Mc>;SD6l-Tnp5@sn|$JSZlv=MK_N@GR+Ili*){ao zu^V}_6b#9Lo|}a=J2Z_vtgxAFV<09>3eW^h^Y#a}z1F(j(1N%x=qfaRN09evT1p)K z25@plwi*m?B-g)gp(Q7QUb?2x(1`mSApO2`zYG@(!o06bb+`LEIfUYLeeHS%lW!jb z@)IB;334LH_=C{9;bCrXE>}pC8@((i6-nhC9*)FmBosMSwmdf+KT+>V!K@gUNUs#+ zvtmnwt`x>!`}$egfTC+IIapKa@Pzjvsn~GL->qViMZYD{7e^)^YzBLc+*YPSe{q9) z)T&jx`qS%0hv#0DcQW4iUmje^xzkgWR)nlqq}2=1 zL&Z~9cTRUoQew>Up1LH~mU09f53hP6d%cm_gxAASzH({8jB$A7462P->jR|BSaIae zo^_|rv%Se|cjuW}7Qr~bRjtV74f?^RIrHyob`meiBuru|ySbE|tv<_G=g`xrcfqIh zyL&R_Zyv_~k=c{QCi;qT(Pb89{#IGQsr5O)M#*x!g}Xrj$#Vq=YeCmF7|2T9>0lJ$_@C|HdYBWl<4e3*g~x5^LO7ganGV`~ra;Yz zaG?bW*G2X@EO1_k#(pd3*@9aqO06HMYllJ@x05j7nqe6BEQIvKh`NjmA2L~s!jC!!}L5(U{YV+|z~kF=B}YxXgzy*4ngH769jftxC@SjeIjM7t#rfUO|*hQgEVPhwTJQBStUyxu@p)=q`xADuG zz*XWQh(wfVNg9D>k>rp@7aYcNdbyhU2U2LBVQSN!<}$>J#1PF#J%U>^#c({2x3ypp zb5iX0PZ!Z??kI@7a$<{c~=$HSRm4T8#8z0cI+#r22&!` ze;gT{A(uR}8dr$_tA)((cjxLViL$h&GJc^{k(P6#Xs;hX<*^aBXa11xCkPy!f;{Fn z0=7{rK>XTp3#?}Rrx0wZVA(zVGf5igI7ANIHQd`u&CtAeOhk|JjMi5{1C@Z@Uv?3= zzOS7iV|^-+R`bz3PBz+4l-5F>X8N2b4n{ zg11o;M{1aH`K-3I!C2J?D*TDH#rZIWw{d8B%|i6oxjk3SVfpN481yT3FoIv|q!WK1 z$hD?UZ7U4_L1b><2mzJ3meY5(h=n^z2@G>DM(t-y?!fMp)aErIUoq6gE+WZTtMITG z(_Ce?UC{&l)JJcsB^rVlD*g{PeurJvG!qs)l~T+aGQ+7*+m;@P5OV3m?!_0j?WY4q z+?`W4nNn`?!j94*!g(_%`8HkF;5=M2bZs(ATa1~iYU27x#Dj*_dLg3^L#e*Czb8af z?Iq%~#v=OwAtuv5fjPW1kI2+3rYe=7F-g$1`I4!sX=#3FOJDYlnhrZC$s~InI44xE zMc1;veG>#e!RFZ@DUp?v!8|yN5UCHKr@Cp~oN6*W$9BQHxQHIIr?Bwz>7|);kkj2k zTr#>Agp2Dd`cMP0%W1!1faI280TqUffna>k8z>>WP6$D8OecPe3FwN z1?aKxuYH-?H4os~wD*8k76-r>KO79jJ!*zVjfuQ^1ZK)eppOE=b$8Q_6$DNtke2OD z+0tz$oYxZuaf zL$JT?V#Q#s*HaY8I=>kqhu2e{&(*oO@f+ zBC{v$$AtcXeD>u$xO~wU@!?C>t2uY-Lb;;UCtE2g*=3$iY+q{mJ_wZR^%~S{L1{Ms zzVmBvJd6H!D*kZCeI&VLR__Cd3+i6|Rdg z$I=kgXRb)8kKb-# zCA9_e9sTOcQQ`_2UHcpKa$$uCo4fF(Hf-Fe)PTxL#e7saK=0KLtzW;*#WivUBmU`|%y8v9X_J%^=@vXFCE=`Q$^oP+NKxl+t zob&?~SZsb&gQj=7?1r#1++v3tE#)l1&4E@*%flbi7Z`3kQCtj{o7zgIBrrmDK9vI9 zv+;dkyJ-2y!s;gB#XjBO7O0KXgA;xE!|olOp=d^z0eqep0n2#FLf0Qel)NPyp6)H$ zv5Gp0h+xlbSUWGdL`+QGOLg?Qr2P_|;0N}s;z8%H*n3Km(5VDOK1pd^lf_XApARa%Tu_g`QInw|_kA+nHdgbeWhIBayn-&tQHVy-i$#EXGxYADrIu!j(Ih;X-OXTRsmEmE!%K__pemgV#G@!giu_Rl zxRJ-7X}oo8WY)*ZGPG#Mt~-Qii$E-S$0Pl_;d3fV&jHDi7AgjH*o3}yD0K7z0f%emFV^x5wEq)n? zNG5bT;`KUTS=QalQ9l)?lPeO)4!Gm?LHB0N?mq^0?rG_s#A{`up_E}?z#F-;K;k+= zzF2-0rinX1uwIa$IrO0pB$nf)X5PFstGqMvTZ~16Ci2!F`o>p=BTX1PB0@O_disAs zKEUnVjmLyV^?dK`fkZwAlPG7WE$4V4Pvu4UuSDx9JIv!=wr&0)L2z~qLh#b~hEI5n zkn~kAQ;HzOo}1b4NnsA_I!b(NDc{(&c-aVuwg*b$t(0@`u}=XX4wm*J6j=}egyLUT zntrq(Q1|jct5>10xI-zj*w1JN?({B8>ORvL!kLyeA?qSpO=iIvYU{wN5hE|c*rpy} z=4_^+59}32%>_Il$Cc2aoRw@ z=~fZ|Sr(=o1BAbW-DBO};_ioNr=E!)Oe{*AlH3X>|ci)II;8scpLU9lR;px&jlL@ zu|C)-5%y_w?t#1+ptDMdC2B*RqiXldr1ST>v;rh1W@>hb7uu#Q*d5nCFQjb!j`ksuz0aNOKq z=(71Dv0zGK?eT>n`~+>x17Xu(Y+MlmrvVC0@=KkH#ulk-sm2}K=5I%dJC}r_=iVQ1#xWs;_5LjWM%Y zVdl@}!@<|*#!#@PO~-l-t$&|(%(*AhQbgU2%nU9yX~W|pT#fK2uGj83-&ZdFSm7ze ze}{eQv)5Z)g})aONt*~){Ox&(RNUr50_7Eit0EbBcu@s!ldd~-4uv_pvYA@=!-oEr zGFQ)Foi`f^O$EaZv3Snc0dNNB#c&$<1Z^c15g~I(jen$=JEeI#9c=7$|H#5}i^S4o z7kHT>NLKXb@rMsIhJ|961#!X~iFZd2cTi%8YEe37JXKK0@Z&!T1RMgL{&mvopD^!! z-R&jmCmD3I$SHh-ULHPS{s>rCN28E{Ag&2{$Qt4CrLTcp_@!HoK(oTfv5%SyHnk~A zf%Gr2Y@i+NLeI7TiPXbf%s1 zOQ@~sO!ysl6|;f(Gx%d7U?`UT&WvpCKv8cwH2mm$++mvT2&AT0F+qKK(Yc4ATGk2> zYO+w1jm+knYwHJ#HklTscULu|N5vZ`5tO6S!^lw~#B_NXIA8)*F@~VK{~_PIn%`Pf zaWuR@zZmn`CnyN;-NI%4l`62s)r~~&!VtFHT=M!DuuFom50MZ%EYdoI2-(Tfo(-=L zO9kR~(}YVZ%NfoXM^%%+LIa`BK>=zMCFt6g5ktoi22TxR#AIkH_M9uX`nhnR`@H6t zJ&`StHdox#ivIzP?eez#Pk`jrIXxs#rOHw~wcC+u1{@_3w?b~gWr$4fKB&E2yDh%s z%KgmECaBHy97qn`$(;@|8J754S-PkW7!hSA>Z@p@Q2Kh}#UlG0FWd>9t2eAch;iw2 z#Z(K$ISF*B0K9{TM_0h@^Vj^vCVJ=PK=F^g^q|<#GA)9^bpdff^D9J#38-aUt*PP{ zzoMhjLKb=(8zgoT@5XiYsmD+xW~h@lXWJA8)`{l>c_7s2&YGx?f28;B(4E1M#b_Ae zRlrZ-sdxaPRj*&rjQwRad5Sh=JS=xzah)}5+g=elzug|s>m-WHOHjd&V)gAo3vqN)nva|kI$l0RsZ-4O=ZX8EvU7`!O zCw6nM@(h8xlZ}KD@|(X~pkW zy?wk~A&3Lr7jjpXI=F*6>dzi~;ukT=85Rc^i)*MYf`fl6{K*Yz6PX*!e7gR^AO`9M3qT2SrCdVufNXlS?F!vfuU(zqb114P6nQ#k>2E{sjW?9 zavBq)ihf61!nj$d!5aR7lq2Z+e!>7~uJ6(2c+xfr2>c zr}{5+!Wm3*NgQP^`fZ_z(V_Z#km(WC@?D9@V|fiKh1R!W0fT3l!~UEFnuwOgjEsw8 zpfW4Rx(x8(2}~#~xU(aRjzY~`oRsa6GEjk14;Tdx0cv$~_r5eY{fPcb^<!eL^s>b|oeRF<$nlHGu!yx?QWk^jjElzn+n0g% zL4G7&CJBfL@1$HADd;3~NPzL~Obsc3iM|d1*lzCmgfYZt?hBa^{so{Q(V3Q%YL06!XQG|NV_0braCW!qvw+l zP=_2TaTzx&x}nb~O1AibUsDKVRE;^F1eyr1X^`BBHP=;y^HFcSP@4+91up?7{UkgT zrv?l_LT|E-4vjQR+iIFr$`SuL_+B@pceuM2XV2r#;=*2)27J07$m-+dRDU=-MagKj z|2s6SO(K)#8W?X!a=Hyc4SM14J4846_3zq;=LwNEo2ZdRR5+o$%Z=}kC^u~jkKLh$ zMoZ>eZ5tu-gg9%0XK#t24m3cR>&$`oG>%&k>9&YoYL!6|boijU1i6SoO~zEAeT{Y? zVXJQQFJ3%*^tkA%evOdX{1oI~>RvGf9#m{iwQ+MkSnm#yw;I5K>Gy%cXM|=V^cwN{P3a?Svzw6A*XPKKNkz zD9hQeqLSd^fFIQQULp0ljWLMN;h@;tTM>+w%1Y5)E{k=kJMG$1FLxR`DN8a4O5PZ9Oeu7AL&5O!M>wm6(G%! zd|8nxMB`S1NWKxeb)_lQE6XiamUZJ=|=*hS6{W4iNoV z3XRt#RS8Qlaby#Z@N>`$D)KOVz|B`8goZHWb?0> zSSCbjbIDa=&bYzD_MkHz@Cs&WO-k6&k+uPqw zF|fDQ6h3BXKbIHWr?V%D_{~Es@h@V}{P(`7|D|6Y5I<-k)BCyuSh`m{-f_QB{LazE zXZ^~G3NshjT+IS8q0EK)a-G0#GrmW|C+Q>mW8hbKom6dO;CV}6M#Uxz1X4zl0OFz_ zf1tL}cBgxl9jS}YD_YIt|y@^g@^Q($)(gpp~i;$-At4O}^!!U=EEGHOp-SaQ=VrcI>EVpsEU zm%~*E&gu4}$sR!KVX%N`(j_lvD&*IBCa9NT6+XtAPK*dMP3i<|374SVwxwq@h5(p# z2V`rYR`1pU81WsevD}I+*DLEm&(oD81$+@mam=7M^+2n1gt9dHGzUcr*N1(s9?a0f z?4i{O*@i6W(Mj=|*8jc8%}ZW%pr`2tpDl%Xv#b$JBNeSh|GJt-yYrm}NLHLflK zGFG2f3oF1V;z~f8t|Uz#4$(GD+t6rFlO6&PD>e_4_9=Xn5BDEUQ7m6yv-2maSUh^| z8`8&EpW# z0OY5Lm+!lYy-2+@W2kC9`8F|Q@qvf8sn%Z@ien^K@;ejV_D1(#S#6QcvWs>QSD%wH zcjC+N+~}$FVFmpImrueWr+~exVkieArTLI!y88Y8C~Q*O^2Q@em(Ycb%q?(Jd>@Tb zDFdM8Z`_5;WK`__2GJUHg)5DEuP0|xci+$PKQ@+Jyh@2P@vfOqBk|{i>Sk51EO#T+3#Kyw>|Ut*XJX@fN`_D7{KU9BU6BUsP0(HTm@JkCMpZX)N(*J zaAik$8yvp75?SECQc#fH>Q6BJT5jODeV5I?6tRM?!}HC6sfJsXOKFRa~R}=`XS<$16D;vsIwVAuUlU{ zOvC@^sOG>dx9&ylX^HQ(`(UT=lBZLVWIQ|y>fEkUJS(Uq6>b9q zA)oyK`bFWx3Zdwfyb#e(6?dpuE@>sKZHh#^9j@1o;e!}7dp(}`%k?X(C-n23gPo>~ z!R<2;S5vMwl|R&UuXoxGKuVpRWeUMMvaeNj$oupl(W2I!r*W-_dQ>JOcE*90_Pg!; zyLZIO#iJ@|D6q}sCQPN(YttC&vG409;-2Vgzq*aZ&~$?et&2dvSS1r|53mvdHUwsS z2maMCP;LK$U&Lu335EMORIn+Ak8DX~8sF6)IjIwkM~kDCQ^U03ruWOFGU+ghWqhvm z&XJzi_1EfC*bj;{*4MFW!WI-@iz(@G&|R-6(E8H>AWxqakz7OmYJ`(zT)|HWQkC+* ztv{nu%QQ{;KZe!sfEY{KRZ@h#{jj2Ne2#`p0`OEdmX+ALRhc9-Zq<$DV0c539HOW3 zn-fk}bfj6v`88)KnNlk0l|;@2IDu^vtq>F61b3Gf`5o?biRefdW^0wftEzhEnC2~q9Y1g63?M%|mAv5=FC$})J>^}q#Zu6vcaaUkzi?|y8t0tFZ}rb!LiCjYD4S{ z%PLuU{;hch9V?vCdvve1O$^hRLZ%@2K*>cc6% zTu}yDW_mVJVP1L2RL)*m<93( zExA@TT_|pCkpo)i7+?W+dA5ERvwbto+55V3pg60d+C8UP{B#%r(M8}r17ICZ54=}Q zu;j_e2?0#<^>>@M?@sVz;JBqQNs{?rLo;hEPOr(TGL#cvo3v9u4A5kTI7ZY%C9S{I z$^R|ti@)|=j~tr`KHMqC*h1}ZG}tr2O>;+sK5$w!t5G=frk6mZMTrY?(6(n}Mpd&z?*k_iWFd7o^q7@gkk75%o=90gv! zD9iNX4PLlIP)>(4l{Ia|s9?giKXVWskhVJlFJSU8=ouni~eMMTfz) zl@+~K2_f+VqHZ-o_Nb~#L5$AoK`Fljs(9^Y34pWBX51bbOpg$Z}Hq4N5gJ3FS;gh9E6}x1a`Vnzr**9a&%c zn~#Rrka<60$}Ssn65-gy=eEfga^aUXdTMs}FR{`^b}-80wbiVDeS zy<;LETzyvQEVzMRggJ-9X58pN?s!35+Qy0H+KlJJbp_zb`4Ikh$eM0_o&{Esi6@AC_S*%cQQ=K;1sTP0q%YyWnrbz#RHD&uaiy z%bCHLX@xaYY7@t#C{KWKHuH@;bxN)eQ%pb~k~hMV zr2i`+3{U0l>$i&yZC!q%w6w;MsY~ufv8{ltwmr@w07<^Y6%azYxJ<`)$A#gtKhH68 z_TPr`d81GY>>Yo#2HcnzA@6=9af!g;bZnnL24UW_9ysBLb__?->Py0Mo+SH}-a*Gl@miNLWf+J9|LSIHf2R9%*dmyLawSI@OK^aG;p6?vC@_ zR_vZId)91@4XwJUA#_AF zhmaxFtl*)3P0;CI(xrX5b%enuAGS5E@de~shwY2lO^RKQ6!*InN^BYM}*Za*;rv9CBY9x3|_tSq7zN6xp78{!n1CBSyqM;WF~MP= z80Y$wN%a>KH+-luL$=v$hlFs!-zLiqoZrgq<}H zGU`D{Z3BX?7NMPxlQ9_Nw?OPCim!P+2>On>J|egqBbbt&=R;`4=kwL9Su~;OhutkL zd$Eo?%d!}PrxOPAaLbLL9X~K-HA(y8Znf`VsXWj{E50Dxk@Aoca4W|sf26=wSl*?c z`3~hGVpdTph>=G}E%B_cvU9L(9;`9<ln4t1KNY4N$hO1pcCQ*FO!dHYE<(RdZ#v6@q1f4! zEm68Zd%N_aRlp}k%jrz_z|eukrPjcCCy|Ae;Sg!f?~zVSFi-{?}j-B*yOb|iY`_Jc^Nv8nrg_y0mD1~qgT>W{CZmweN%!6@28 zL%qFM;iRwZx7nWaxr)p@$}dFE2tGbSJ~l~!KzyNMezZz3#Ys^g>=+e-V9!Zz=h@@d z9A?ow%{s(ivTW&!q^CzkYFo!sF-g>cIbcp~jgOdZbp{fD_d?j0gyen46n)#O`V3Hs z$!BA8vKcew*wdo|{Si7M+pRV{>C*s2ol1h;^?)@9S;)Gsulqy$W>f2Dq^@yDPZ3fd z+=AW8;1q90oui zR*+ejrlIR!MSp>|e!0%6$aCWQ0bK$2ndgnysSWSsruW8~BP#7I)NcsJgTFa~C=EJ+ z7Cuc20WSj?ng(xRSvDK?PMiL_wO0?>C{_p!eBs^gWGWW*iU~PNHUn52A~N;%8@KK7E+_VK7R)?<|Ptu*X0CeX6CcN z!ARt$@(-&JkFnKp+6O7h`(1lrN!}$ijxFex7vSB5vm^o$m^|}~KoG41rmdO>GwPwo zv-+t-({aR2CVxrRvQL9?`Jb62jHjXMOGCCVXD1^(R18MMuvlh0n)7C9(>0$uK=VDS zEH+od%F8A?E!4AevM6Bsn`B+=)5%wOSblKmAw8T zQYP{Wb@+ER6AjlRcU@97JO)08Sib4T^B{3wVHNTBmf~S$V^2l-HJ2{iR7)7 z8)6=4#pB)|W$&E&uUS09LWkb;LcA|DC39o|%5p7PhkE9G*Mwv#9tYrWSjCdvIww4Y zmcz4Gdt!7orj9K$q~&#~>H6$!v($RVF>Umb8-^0*Pq1zQB&41?bmL15JG{|6JPK&* zXQ*$Fq9)D-__*;~WBMKxC;KcwLn*}VWWovTm5is!4$*0dw^S@G)=(S}-`_ZQ;-*}FXR3te=jzV~>uP5~5siP?vO z`nMFLW)`d3Yn@QPYAO$W$Bu#6M3a`i5)KDlAirV76<$8X8Ej%`ean|Nr=-vk@!CH! zf7MhhraTJg+f&xNX2;)s66#^u-+#2zd0|9>mgxRpO6gkn3PZ}l@5`lpSiSm=4VRE0 zReu!4^e~GiD3%(HyWB08#S!rc2*HBE)KxQ?9d`u}GbNG3jozj8dYGg_pKp`2{H`Vx zH}nIlr{fcEjs7ZL)5yJrumr}`=*V0_S~)enXa}TO%--IBn~D*uN?`XdP_)f@r(NOJ z`)}uY^hZT?&Z{=Ia9?ST$SAw~Kb+vIbqVq+AN1DUd4Y-QFhx)pD^TA#S&+|O({Tu8 z*Hcims{DZEI9z81m(2&cK+HlD?82k`B;qUb5hZru;rF;Ya=sjU$oLE9p|I(ODa#M* zwq)y!EGn-MOuLv=)J|(ohWp^*@Nu;AUu>F>xpB*V8g{R@NhE@^Ws;0p@%cU>xtLAb zcj@Z7x1XUgJ*&3v_pikBZDOz#K)jT+MG<9LRf3e(4nIa4fTy|sluvzC?iPQ&=wZFQC~zR>T$h4te9qe@nWxZsc=~>x z2dFTyu`sS+Sujv1a>~M>8vwEx1@P1`VYu9^tOM6?(|a$D1Ve1`K%wYsZ)@;-#1wf@ z+GR5qemLYh(jqNWzDQ?|g7g+W=E1}LJsAh0o#FCN-fc6j_H(u~=NPZ2>1Tw^!Q+d! zcbozOXk}=JE1xzcG8rbegU>zVpI1^O{RwZqOW!v+I||k}K|d%nI+kOtj&>h2h}5y_ zmM%qiEZF?XfF9LVRlopiL7uWiT?P-$X7AUzjjW1dc-P{>1+&rl;HGZ|BN)9%omxdu zmod_w;NyR;^&H7iX7V88=!1>e$@(otxOR5dGUUqs!i+5K(uDiUW>Y{ zTw)gj>KNyX+qUqtG-X;KXov#V9yjI6ro8`d1p5+#$zYTg!Qa}HmC*K#huijLmRd7w zrGEoaKUi+R976qtRw*K7ewv%b*Mb1t89LB-t-2<96`XX!n|OijJ`vYE%alp6o8o<> zOg&qRaMNrR0=ZgDt;+PSNETU7o-m``lZjZv)8N^&3@ckZt|ELaZkeQQ7gO_Cwyijr zOT13fmrKOcPRC(PHkcXtvmq`A6aHALr=HvZBh;r%V=KSVk?nUHHo+BL!|{ z%VMGS>Qf@U^Clp3>zhZ`8o9M%ZIl=^2+Fo&g1*(kB&T7|+;{f@rJoT9_0rQsA zq&`?gxNuK-32B_!uE|G(8)_&#GfzXwCQ6F4Uy7X|uS~0KiDDy+X`_zh61)*^9Ra1^Qd}ZNxK{ zZ!e~s^5mJ!aCO9{1nDC@`5(1W`t0kiIj*Ze0<@ z`!!^GtPS$`zVf$JQ6TwID-*Gtw*+_D#)W;gzO6(;WgR7ec0AZ& zx?!r-gPUOgxbU%PPBGA+D<;J%RHW2joaX!_rPo1Vn-RaU=6777 zmXSj&CnRT7jCE&MFG7h!$Q1;*sPCj~0_u+H<4O)f*SH7yy7T9ho793tl_bJ13Y>U3SFK+AU{7EGH(L_!IV*T=dT;H z%~-~zEZ60`BQ*6RHuZO786SLCQqEZ?1x%KhrJpSDPEcOe-sgSR(-z6Tvcj`gZ!>Tn zuNxZkiRZX)G-io?$EPN->pu8QB$8%m(SU>b_xc#_wCNQYe|vg z;E$kRamjrm6TvRsWY0r zCs`s6;Y?QpyN{TjO-nY`c$HacaNh49)i6&K%Qfp!I~e`L4~N?HP_m6ZU=8?&k_8)G z1FIYRhhe~=s>%DA9X~*)7~L_Zhs42tx)MWqWoY4K%V9gcokxFwj3b=@)@q2*424F7 z3|1y>FRBmk*jB_05aLD$j;Q#MryTEZKF*ScfRbs+PtEbXwR+LR4wh?@qRn;bk#ZPY zVYmp*^gdt4BefwplqM2@FQ&uWM&O{;@9AM@Cy>?z?#aig%9qLE!4e@;%gKbtkLUVQ zt^v-EK)S*W9XHPmRa%Md|DTg_FMX`LCsmZ>Jj;EBkX`Am&ioVklK(j(rI}PPdK^vP zWjeJ^c8fmHLhU$q#?yAL7OhMuh~;ay$^M4F_CSpA8)%x2R>xQBE9ZJlMyS88w1MT0L7D8mhd3XX-CUL*{pd?HH`MhPckk`>6I%%H z@v3ro_Tbo}h{570=5|4aTERm@ZSXERvv_JXIy=upbVLi+5Xtp#L|8RNQJZ6am zkHmHUD}9|s0^H@pc%^zoA--^t@q%biUTQRjv83XtU~vZ=C3}%iN5w=?N>d4pE5k(q z1Sr_3xIzT11kK9M0R`f|d|l@urD12lMVMT8zjit407B4nzF-?boa=c+&=!QeX3;>a z5vMw!w($N+QExt}|I#$76?KzdK%hB&qXCSa0~}7=g(y-0w<^f#q?q%WC3UlbiExSS zmTH)@_2xb630a=TA>7NH1$(9Gn9PDcvy>X-9S$JY-fh{;*32D%Qi^Uc+7M#57Lqi* z#UVyK%>sBY*s^S9rm{NP8T!_A_TA;sfJ}bMLq4ws$$VnTSk9L_y|?Q;nIa3(z&nGB zv&U?J#Iut0tv_xTWv9nsD9M?$h9QxKfgrs8PXKucFPkyJekx>%EO{$D4_ctx4lo=E zq3kM20CEdd>BF~8<8=q(@KLK=djiOg1GMY*rsQOnH<>hEat#cyrlv>wzw{MHyP4O2 z@FOf4?#DAH^&ShK@L$3z5}rbDhd#v40x27_yW>X0_6=k=5g7P5cS5cP`k>`em#9<= zEJD-BzGqF` zEgl1#WS|@C;}O^UerrZ!%2rvi!5+#rfn7K0&6qf-z82yY3RdV%W)(nGOZSy_N4qbMAaBK2LPIv4M*# z1A)c;j?b;z+)UPV8^LWM&M9p;Qv}ES;G!S6R{!R)aZ^WLIe{cZU?8*+Qz^^vC=6J# zUfQq&Q)5 z#4^9*UC58$#Uey`DJN33<8R8m4UxUN$B+ovPBx_A>wep$?14!;gsS`xjVK9mGl>@G zC%!rtWfNLBAe5h6`RfpNQ#R-=`Z=UXZAKkIXAWC{>c8%leruVq|3)o?<{CI7 zHZukYZ)$u{1Z^@jDKM;rb%;>CA(4&!^j+k~XM@se)NK#C?r`fh#*wGar5qtR+QWOw zTeZ(BWD9s90#V(GNk4Kb6O_9%BK%)wS~;b-AC01|axXxA>M0vHaz~AWgS@OHD(ixl zrFPQ4VDJ)0=*0aBSs|eUjS$hqt;~MX^~`gaO5$R1bvmV2r+*k)_V(B?l8MqWx?I-+ zYofj68kH|s_52znc5m0=Q2I z=E|dE+lKy?>R|lK_ZV-5Dl_9elpH659S>N93UG<5Zc={?Vqv+aHAST#oXq~Ctp}Xi zTi$scrUrTfzG#fbCc{UmS>b)eZBG)v-G{c$a}8`ByJe%iO|YtfntlF;JK>>*GO0a+ z@d_I9-dVvQ4?w3}*q?hb`Ff>X22#NQmdAe|$PY1fuR<1g)U6&EoFZ@0;<uH>mdw4i;Y@-ia^zujg;8OfJpooe%72@(y`cAv`|Qj2fAP0FUqWv?$e{hv zy5}7NowRkq$H^X3F%aYm5FzKi8=QXlbst4%=^iRnAKM9-7Hu43ys7ZOhz>|JfUI0ae zeS?W2Y30{ZfMkrsJUtJrqOO*qL*;xf~Ad;*XB)I+! z%8&;W(_!y^KK4N>7r$`b>b~2H=r#~GkKlexhXiA{Et(tiQrXOYw~@mkrMtNp-2v9` z4H6j%VGqZ^eD|r}pYz zH->f;*AVm733QXnMM?X0UYlT&@b0AhTq0I? zDPr$?&a;1LKLask5z%N<;UibyL>I>^tC|5{-C~lWwHgTm^A+Td4MBKYn1S$^-PD2g z%(j8fc2bvqLj^tVN6Ijt)Xt7YN1E+qU4sYDMso_mWovl?P*z_}C~Il;Yy#qKA>z9N zGg*7B079Gq0{`l!sB0U;>}TJ+U5jcBVaOffWasb@XhzNJkJcKM&EGbMzSo~Pis2(h zVajGiDtfer{F_2K>t&nxy-fD{%5R4Jhkf_nl>olwAMh^djp#m4fFb)|2ah zQQzs|i~Q1Vlh$7iWV?zQm|L-iEOc1*T#&`^3`gF^6r`f!o-mr6M1CxTWw&Be<_R(c zq@meQCX(mTflCQ7e1t@wn7eyNNAN_NetL;Omd%0~Jk$B)`3VF=bQ!3liV8GVX-gcU zVRK^i)DT?9^9`sfz;kIs>NdbQ*GcOCNP(8?ae>9wM{Kbm4Zzr&Ouv!2YmVy7D?7{Y z33Le#cmjl+-pEcdOoGpC^xVjZM-6g1k8`9}8%QimBAeqwpSQW&)5o@k|3VeomN0`_ zaTMsdwvZqoApboB`vb+5o{E#t?Ht|(NIp0pNf~2l{mAK5hyJ0WM>yht#!8neY{+$0 z%WJ*+b0<0D9*EtnvN5m~nE!Eo#FcXb4b#20uq&+|BMr(j9~EzMIc#d6WfoB^QO<-w1&HJ z!l8^X+Q>i#g&;@{dQI{=>sIHV8N0|>&a~)FOIe{WS@00DaymjUbC+q6JMBbp^hM4RwX3qF7b{Jvlq($ff04$d4P%j1BC z%ScAxZ(qRyJ?Nl4y~_{q^l9~iAflx9o-?sSiMqf1fSgquXxE%SWJ^)>bb(2=3-;q34+GsFxPSV?LDoa9_!rhhW?3_M6g5_kl4ufu&JYC5`_g7! z{$ko_(G4r97*U#j9=m^}^&P0huK-2n$g!(ADEk*ScSm}=U#c{uabgf}H5o|z!bT{4 z!u#&qfn}uZ zfJHQBECB_#YLA-}WanzNT^2Y(Y7*uMfW?K2Z!RU4*hZ;2rOc)qQS^7)f>#5di8Fsh zgnyN6jvxN4_JPA=X}>hWi;wHwvojC)JKiD4{LH6htivT0bB`%l7}R@+Wi+yr&ZF$f6{2* zrSq-(l4dG-*>8(q9h+{XRmN_GCJWlidktQf0b)_TK{80xidmHubMD$JODYpp_8Kkq z#5~bDR*4U9mNII6XSJy$k7m`X=jOBm%w@G>+gKcN4}Tw{H#|9BR5xX;o6m-VzXN5N&iLvChs@HS2or8 zsz5j?LG;1-g zS`J?&QGfpnU#qSzi{Dxs(PQ z!$!45;kxcxf_JD$q=H|h6BmQlvg5sSMAZgR<7)}6w{q~mEnQc7{>i1}Sl`<@&p(VU znO*MAXvwhy&{pa~;CMs071GS8)-4IUBmop2e z;88`!K|~I@=9>eVA=5=$Yx)|)n8+cE&%I%C5yiM#L9JgYmRQ`PtRpjQ%LehiGXM|5 zcq_RZ1_C^w*9g~j>cSkP%h{`@$h02}ZR8GdYwsKMVbc$4JS0)wE&0sc4*Y990Le@0E_$T97WD|2l&KK_+B`E`LTknHCi&Mh#HYXwQ3<3NGM2P zrcL5lR$Ph}AmjrbzDqM$6BrdtNSN?aD{&&{3`Y5M;+71RCs4Xf}aM{56QlqmE!>CR0@vHvU> zC~79o<{-iNWL@Fq(Ta+lQKtEO2naQ2R>E27(pA4(2Zgb2cJ~swO9d~z) z0&xW-!gM*Gw&G(tPa*wI%t8rsE{yFYU6t(AS~;RTb2<&VS5e^ zJVYpB(rL^dR~alwckm&QT#ZTtD( zQ@if9&Q9x6Bb5cFNy?pTv(?mXIbu`m1I4J^H6yWfxHCx*UX2gaGDokwYWI#%3L{jVDYIo$ldgWFKS+@x|DTp)m(093Dq4C@_>`~npa1C# z)cTNRp}jOOcGD-}n&{=&4?e|&?NHE_<4GE9*>XV1k&hgeJ~-?tUPk%Wzvb!YVb#bl z9IlpF5;Qq1PzUvOW5zPej8gzV=WI-IbW+P8tj~LjvyuosG;Q-ebWUY6FVlwfXV1Y% z>xI-#j3C;23Y?p94APjN-oC`YSX&U+B}dtU@QtY$=$LSQ*X(x(kma52|L)R+X1TZT zP(x(?cuq$ptNYeJEQ&Gis1h_3!DC-&Egbj&($P(G#Ffec-QU?tW>Sz&epFO;NRMXR z)d23=8$*tH+vsl@H{FMZ2a`Umzj;90Xk_R#<|OuXh8_%RljqYwTrm%185-(4FtW(V z1iqLc@d`$_y*;^NRHw7s9U!1y?sF1Ui%AW6BFDvJKE_o#2KxNOo@!B+5kyP6FG6Ps zJn~?db#q}^ds(6wm*L)-svWt0xqN7gvLB@c ze%ch0*)Q4+;L1Ciqn1$IzY<}#u;?B3KMY?{GL>Gqw}QpT(*83C{!EY5_K8DbVaJ`p zN>=fs7VnDo0FPKD5mS_{KGyR%g0TbD$LNj5QPKyN80xxqu-EWsz&$?0jb$En#CO^^ z8FontyDq%s60-)BMNj6LsNq>#n3GfXa=f${H(@PaWA!RmxH}n6Ow55BtLDP7H*R)i zVt>lIks_c=gC(5X1_at>Df&17F{}(SwRiFlPze=i&w`MAF`*>)g0|JP{k?3Ub{K8d zYoPRJflgR$c`9oJsfb}++RS7M)b${nIT91G0a=mRkv&&jqyNUdV=&V&M%!0ja`gEW&vsw;Ht%sycdDjkJR1K@%PF++?O9 zk6MkkWqVZ{QH55`i=qsG=CQADwV@RE2vs_&X}EY|*RT_7aGSggm_(RJiZzx9!aiSZm9 zTGA)gF%D@e7}C4C|Lh*}si8WpfzFS!02wTH#a3F1+>5cdJbea5!%m1{yH z(B<#&a)}1(3KU+T)G10*%dC1n6f`_(;F+#0D(dPtsXfTl3Y<9GZ7S*5U}6lF9nOAE*mySzW5 zVyt^EK%4tiVm=WWdP~80Y|e~?^TfFoKkLpDX~*IXNV;(|MI@~2@KF$bsxb=(=lVEj zn2h4GP;C95p+4{ielh$MnNm|fW%X{(4X}POO1&rzz%l&%1>UmNa-8#T8ShZ!d*3(YIs!3 zH>bpnem1-}Eq}f@vuuOwM#`S%0wPK`YzQXt2Ez(DIvLn~S_hvXWSoNj_^N;sPK%=u z1k@BWI!^Eb|7A_nw)DW7t#2Ogq?qaFIP3`i8}Mt?ESDarH&g$fI5wQM`gXNW_;~gr zrKl(oux&cq%e)Vn_m)vU?VqX_-HXekr93C4V?|RV;S6>rXw@#H!T9xi&dGL~yQy;a=S>zoWh5&byKj?^?;!F9jtc_ZuaExRTvWRX)Q_!9sEe1 zW`~2iswMU#>0TTP_s@0AVk4-l4ktPtpxh|#>1YEb#*xh8?)Og>zW->`+~3Ei`=-Vy z=|KXQ(0!>iN_0LBep|Q1C*M(E;x?)2yd6hi!ZEw5V}K$ zD32P$d-Vt-zrMY2+|?%7u?sx=SH zkTh-^ZrV2w%n3cjIla(OBDh1Q9FVNzwLD@%>^dL1$DWEKek0(0onQ1y{OlJOFS&a& z+X*phhiQ(4Wv~@xk$q#tzep0Vx7wzh#eCTO`iR3nOxLob*La#HK6s|sAK{K9s zSSSDJNWzJh2dZ;w8Y4q#I*|iA5aIY=s$;p0m4=y&TveFn3f{DGf#pk(*Po^_Un!VG zQ(zV$FXap4!%pN)TCCUOgO;$>?Y(!17U^2y3YWi;(sL1v^cdfJua@qKV-vpA|NoHN^&$V42gWIkN>R#PZv5Dpvi%sNS14 z@E-KtZC%Xj24oJ*nC@-K)^XOc(=EDD53LZ_3i@~MA08pNTfE~yzN(PgT$~sF4FK|w zc&|6m?>pgEgrCI>3>f(|F#7bJBc}SQrd=0n4XF$xjQG#pf$YZTzQ*%nhw?wD__a(_ z(g8RD(fJ6ymZ`|P2=FZ$R$=V-+HXKy-AJ5Jk=g7G7*+;sVz)|M379^<%;6=nBolHu z27(^AVI*DSwZr|d!eYdty0mwqyV4!Jtbyftb5*UV#6@!1`7PW%H}zv4sNZJx?wOn) zuj4r5-68NY0kLBCDG2$^g@#a&fe8bnAzA_6@w7Yu{BZr1#EejtbuzKeX3+#rko0FXaydLJ- z8v^6D^_y+hz1YQ<=OO*Wh9AlTlpGOKfdmHDOZ+m`*mK<(oYEwU7*Rj$G+ zGj{1KM8~TEXoGWsz5bB_y7>EYm@QAf6&&x)uAe(v#cvjjT%wLrQ2_SR4wyH^7186s zx(#x(jccUwc*aWc#=Gu6kG+?w;Tc)Hhh!P1-uMM^2t1|dsjc-HeTI*b`6v4IqrhFe z+BojzyC}3s7AR0!UYj^Rn_TtpYes~@`y7z<;Ii}qO;v~o{_=_z1Rwn&C1Av>h4_!_5Ew49N1 zTAUf#tED2?Pip!XDI>m8E&uVK+B)J2+}IRVBmuWWln$%dL~$VJp(aiA(~Pmygp1=u z4g~#?8-@kbsRJA+5iek!1KsggG;4}8W16gBh2`*RYZ7+{X$v!6_6`RWF^mW#E|ocS zG|KOf1!B{`G0rAORr(lEfA4q5B&KU3GaTL8bHkWW8TvBdR3Jb_$dGkQRlKDG(WL}? zbIXb-FGP_U8UM+o^aUiY9;;v~qtL6{d$%N%g7w^`^_X|V$$HR|&nZn_GvY8v??!vH zw0nQ{4|DYba5fo(@>sCMv9-dR7|S%UE_-6558cgSsLaA&kG}&G7Os4SLDCaAm985d zH!GT#X?I~<=Pv9+C%10mza8=eYK=jGjCY(jkTmHKBp&>D zdjwV{OhZt40w@Q(>kM{S=phm*!~054~v(e zMUFSHXypORgU#Yv*LF(979<$$Seg!I87F%p=UMsF=6Rb)uLM`=Nng3cLQ3}~Yho{v z{18e;<4Ryr6Ce=fP@wfXBmN4bFN!)JbA}iigwx2|f=L~)dO7Z>##>AskD}#fc3S)M z-BBnH>}M)krbCeu4|JV~?<<{g_@XuzW~{rj=CjbAd_?kjSIOnsGcbo?kd(cPY7hZz zp@CGHyrgdQbto(>mCNOtuI)byDi||9A`4MwIy(c-ZXXKvi=2r?J8M;U!Q*)t@tQz9 zwlbJBLCAJ1s5;Z6-q&xODH#|Y-fC+OLafvl1Ib!_A0`|AIp6>YE^;}^cYpKTC z6dw@}f)YxSuSwaUHc_Ktv@5mfD1n&ZG;FI@3WaAB?)sGRn3gy`%GD1m?__k`gmE-g zNgLZV`%ex)rEY77!hsHkv^^f9u6m23X{LguWmjmJt2aX5=vBnp! zcNA0{P2)u)JE!w-H#eg^(LY)z$)&S#2$bnnc^2)apZQZh1d?E@BHx6D>~I}8`_SU_ z%*bx`vr7^{Y%-Tyw85FE9Y(vne5gQ86LBiZdpymwx33B7ft%X5#c0flKMM)%vvG

?RJ>*P`69T{!YO=TkH&i&LXv+p( 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


jiJaO;_h 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%0A~1wi($#6 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ÉtuHQ-c9UE*{eYb@vVSK0ffzhapG&fPs#68EHgA{;r!_Jh*GO)o28) z9IvHlmcEgtZn0YH?92y-+U5D9X&T#wPMuumMd%=Wq46gynrss-vtCNV4`hn;;VCgy zeA)Vbo^7*wyLhnb*-}QkE#8YvOm*s8i?ChhwD8(!W8V60R)iGGj|A_Qn-Jdb;F}&| zS_H`-{va9MRr7iHB<%xljRq$Pq2EoRfC^wRKjaBdGm^yuoM+i}6X`|1o|CW4ry0?W@jU#WGIEknz| z!Ee|S502e3Ri$117@k(Tr`@cNKlBF~lURI0+B!eveF`nqZvY(0^X8fQo|+ie|HRx4 zSp`t|y6QOXiwXqDitmu1a{qiD>}{#0FMFmCEZ!<;qaciu2SD5^4gxSJ44ri3N=QUn z*UFp8r*r07%gxbf*I5Zd!!mZ}n0JD;he!}N0>ZBHs3)41butgBG0p$JiQ>e94e|IH z(k+b~cp)m&V(%LoxqKqXsu;XKF()a+xhD^DvogL_fgbaaNL!rv-^G69N{|mAY0WCy z{ae}F3b*|W+z7wg6{^hn-CcfW5;m#RAXA{IG_my>jtt++kFZxTDL8$u!b$*VVs;2)xTx%%dbf@)(ZXq(Q8|pk zy>GGP^7^-e$d&AUp968NkWq;``X^WIY6b8gixp zN#DvV-eyZ0??o-sI6A6=eQPf)m_Dm?X2SwvVU-1v@v1dthebn2m;1k*B>RCX*xK#b z^v{-Ebe5+Ruk;KWA7o=8lT@u@M>4Kpn>^i8!&|6{rahhIibKq;?e)4w7J_V&DY>L z+xJVfwWYE$FSOAw-8|}a4hZw#GevoLt!EqA#-5zYI8XR~lCiCfbDnl5HloOHZ_AqZI2~cI*SIY% zZk!l4?ZWd4%hS3PhO;X_^At!-z92%fjx$BOMqP!^V=w#mS}rNl!o6MwOfSJuq=y^* zh^g}pZJ=0kEu#V(@9*O$nM+;;1#A!iUZMaa1;`T%roN@3{~GrNL;QdLd&9GI&baeT zMhUqw7ivl?b69)lvG2}~F04C%iw_zCcY3+L)#);wbO@zLh6~;_Aas9LEhtop>vB8| z>ipVS$L2t>`F`D3L-qyFcneHTp?21aWm`<(uct3kI`Z2|24Z|ltYiXeTNm6KDutlqy$L;ZBIhz>kaIydt-d{bK(k@$q~2uA zg>dLtB2v5Ge2B4|e_6Z#P=}rQ@K4~XHhxskK5Ea!f(Z;ihNj~>KdO1!{W&&$8fV1U z!5R8u7vUGUe>D@rc5~TnUS>Y zHejGh_;ulvf0QVeSAtd-UKHyW$qa*s*A;I#Vn&zT?XV1{;qe$&lw(6AChKAa6vy0E zBu5t5UjcFVvA0@M)J=~V{$JcI;VuzbIZ$nF2V|=@@mVgfACnDC z@P0C7BFX%f2`q|V%$7diY#tgZPMoR_)RovcIHcSUIc>`26(mHCT5sbgCv%;9IWiB_%@|EX#Z4`os;K;r0TQ8l4K z9!u$od6Cw*PbJ(Mx3ke$AEoQt;}3y4_E2Zf6l=|teCQYCg+Z~{?BNOIxFgt%N({_^ ztO!Be3=%)j|8N}3r0PgXYmn^rn1gkA^^w2g!HpmB4C)toT0cFs|MmgsJ6x@D`N(9( zJ{UboHb{-34h3rC_=__X>G3TJ*uSl#8StWez5dco_kyZ8z{LQ;>o7y+W<3J18b2=4 z#-#rit)GIK*%#p8vze`#X_nSmw{OPA&qUh)cBrH4$a9Wwik2eR<+;dRILjg?RFp6i z=-I4jS2OY1t)V$W{ux=V-+?~m3RI%VYi+!hmXV=Wuz9oM>wOMnV#NBFs|RCovD>a8#WV+D#$2CJ!shRSHTfp+@Uu@KZW>{F>cKn_DXPZ}+c`6vZ;AOwcbQ z@)wq4{~hFSUZL;&Uitz*G6$c=jaBF{DSWZYN=Cw*8&}I zD^s&_AGpRef4Hnbs1|x4k*4R*9Zb2^Pnb>~l?z$C`t@bUE=xc+-u6*dK5Al_Mn4cM zzd~*vea9}~LG7RNi?l3aAk$5C5qEEqO9yhh1H1^ncb~XAU#qrXHATdvK&MYE*5}79 zjyYPcryl*PWy+&T?rhC??s^z{>6NDmJo-fg=KaLC%-bV3mGksC7vj}7n$`DuwAi^# zIHkdzOT(FR;(fDI9JR-8=i_2RGz}H5)a%+mK5kT14@IxSr6#dZ<4#+ystP}Qic{hM z818S|OcJ88xyUbGoPNN}=B=)Mxd&$e{djI;63yEkaS?J90g=twtU03O*j1cpYxk@Zx@&SbMg+dK)>Xx?3ME zz>i%TL6xy~LlgiK{$z)c!&GfY5;ktO*kRjW4xwu`_?b_`56)t9qEMkt5c2*Uy|Btul$|E4%ZUEv=U%m!7r|HHs zdl*+!Domz}5ngokzsmgMEU8jUmcKZ%op_D(hkkSt_MFN^Y!(C*WQvzh_q3HkW3%q?Hmljk>B7_Pd;bE3z>wx*2dq4Zm>Sq8^wH zM@w{40-NlPT$m_GBGryInXOw62*3j+^{cQkiF^E9T;o%Z&uBlxh)}8bfMl%B^;Iz? z3out;k=nSJa@6}KR|xT11GY)aB`eo;mHrJ9KFkeD+^sO0Gjve*PxkP|b@%KZZe zynzT*?Vc&8y_oQicmE^T8RaVLy$-c#2d?e8l&^)$Xk}H!NY{^v&$N;-@*s?a=`3=E z5_D}YtLIJN|L{{uc-0kV;ki&IUl^Dahn?^&cOQ^LyTR>?^@#fkk*DluT2DkvBLsof ziSp2`eiXfsqQNjy5oxpmVB|mv%gOcG``+n!dpp+bYah-hWc_uB^h=}y+ov-rIdPly zIJJ<@?e8xd9{6zS;s23ZG6RyCD#Kc!A2H}`qG!2e(D$1qDsTwAw+`lvlQk#K0CO|< zI&cGo>Q`BgFTK9V;PpiME44bsO|8w)Xd3@XYwok^cY#t zP#n(XOO5YXjR2Oeouth8?_ufTW7O>J6Dm+Ln)xlGeO;O}N7Y*+T0XJ}XU_Kq?L|&I z*P}JMt#$JL)-v)+s~MPbuG_o4tZ?=Jf#>@P;pQi>uq&D5v4$gMvcJ%5DBl!ykCF)- zzbYRqQkM`aq-7u>wsIFNosr?y^QxlMp+bhWqAHHW{BKZ~K1uldfqmfi=h}csHC-~y z&vN1zqzj}(@oVha{KX3Eiku)pqo87yM ziN21bssnhtAIzXDEIzAPr#CeuY4q$rN&5>7v!zJeVXmi@11Rwarp8A^Zp~QXCvOrDby(Lv>D;vzU}2(-#x_8-RHJVg;p^ z6-o(IvzyvpOZ9@cS(h?KWMiveRdTd*M74WUEO_J6TIyqmMh>t#=_nYgzlM$CSmy2{ zMjb`fYVymsg-`=?3DbzdD6wb3EuB2nbS->Z9HC{l4+(|-uFpKf(n{vg{TeVUo6E)R zXgJPt>rvoV#_P>*6!4$)MauMgHkiK6G!Xh(ojnBv)KpbTmqONFA17#X*q9mC`Wvm8 zIhcpgROS&T6l}bJ;7qxiR}q&Qb&YPSsBQMUzf<)?j;|<^U@1&S?psoH)X1M4e9TW6 z!~1GGi-Dfu+d3sqJ|~eMcK;|^CwPDFbv(~@xaLp_>L9}Py+A38Iapj?_l#F#fjxS@ zHJfu}BG_Nk?Z*}dVk6Q7qOl$A1ePkC%5zYR>%Dfov$g_0_%nqEUIQc8^iU_UewjB@ zCWt3~3!`42ZT;c5S%`wvIUp-R#tZd~0)bDqMo+f{d*uDt6h%L?68lcO%+eC0G6-5` z1f0v0LUJrKUH{~Iw_uCqIxumFBVB@qNKvLDTM&&~>F&x>e8`h1{juk_9jo{2gP$*T zWP1ff@qH%?sEcbU z9$BQOPyjH1LxW3EEGCvaK$~D^+Q}xTlhjXKB00X$VL=B?I%Ih2`|yNwI-WT0x5=1d zsc&bLtvYI{4(Sk<%f|}p)p4zLXNG5wUKCC5YE7f>RSsNOkXW6}Q500U_%1+*^-=?> zFgJ8^7*ya|{gw$rJIK$jl;3hVf5Q=0dzGi5rv_K1yS!!V+(n6X`}!)YsLSzg0u6G+ z9dnE^3EGi+$VcpFp(4Up~@jhtTkBJ+YO7T^H4jb zLu+WN>u){BF9hHb#&c)Pz)dFKOrsXvsp27$&;zeYI#g|wD-W73&1*WVWOOtr7T`0< zDa%b?KIZPIArC{}^(y{qek}-60`g4671@~N#H`H~&+#6Bv_V4Z!PP+q(UzvAWl+F} z+8_;uv49_m8YxO0oPqY_khNA?xWFmee-FFw72a$G5sAg?!Ib7bZT?Y>_8i+(k6F{L-{j~rM@31ZM zxfDgmTFNE4`dI}Pi{%+yf1GC9Z_RDc31vkJDZ(kGia##=Oo|xbug{#hL0PM8aQ@Am zF7C&0p-jN>2OIV>61SwtdOhcWf)vI%yfy@5uZEW6>*N4^sUGxu_-o(*2LAO;>*2UT zdyJQ*Bqu=yjQRU^iRTCEk)05*$N=B`htNYL+wXULg-EzTW7r`B9oV<<|J`~YQQ77^ z@$(opNa#MsfsorhCrdL0z=#nU0C*MS0+wfKp1dX_jY2Zjp zTb_5j$ftst4ssgn;{@%e1d&vd5{-Kf3?`%Pv_Q9w-Ec}qXQLsfD|9>TDOBeNihF-F zE6z-@H<8D5=qxf^U>RJ^O=JyN$78)rGL`T5VKDwo8t+M%HTCtbL`u$}o|> z99i@#29@CyU>D|blGTOMxwq|2RgVaPKeh*RG2i?LNKcavZwu8Tf#!s3y2V3`t6~@w zg9ZhwyEqO8r-S=+Yc+Ne1cqtMxqEqg(@M5S3(w59=9w5yQZM6UzZjBj83Stl$PXM1 zGWkb$aXH>HrqK8#QkbD+tsC%!dzSQcCQJrhjCc=ccR45`m(gdLiLpFr8Y>Ls%N+DB z)S`6-NF;X@6XnKAv$?kKVZJnWs1!;$%t1O=Uzc=nUnQo$^MlqlP|Dy39m8v~2kqx) zzl5ryQuDJED?XUb;@q|%1~f)r#Bw_BJ|6^C1q`0lXh=ADSByo`J`xexzR^&i(@Ri0 z>!9w>1j6JD8Lem!<7p0k-{0AdM?IaP4@y*Gajax9d}Ql87yWw`G1n-Zak7iCs8T z;QfGv%*o43NH&WXSJe9KLDqJuJY8p=xUj!U_|2g39sYNombAXnpMF~{pWKXTi3KG8 z3=(13BfT)&m|)&bMmh5YIMcdwlz$RP8r?6~6aU|;rH+u+lo6YfJj&wa0zdL59R~w0 zlK}LhV&r=!V;ASu_}U&LSvSqq8H&H1vp@6=(Bc~|J!@Z^mB=1StssF*cPkueOYp2a zK{e?ujLiT?DmauMPSyGHjLJ0?x0(UN-tnkj*-`SXGzP5b6l=b7t#Ov*sK))4LJM+76BG0$i`k3rH0kjbBkoQ5-q$NTN@ z?}OduatXR`=l^ed+t-Y5y7~N{s#k=;qX@Ma>7G87@T0hHvf&xkWg^ig(AIrh+ML;kztK{uU={VmBjzT7hh`@y9pI6HM*Ui`_nx-SeZRorx4^^p2R+d_ z$%|T8y!Yr#zhHQPP~5*Ch5oj){7YMapF7kE&scPaAQ{Tl39K-G@xuloa8 z4LH=m`U6)8`V#u0LQ4-Ij(^QcsGiW$ta<2FWB;n! zT|Lf;MD9#uMUO$Fp4F-#Di^1cs=qH{1B^ew-(H{3) zFgZEGz4{}LWJ{k^3o87}j+Kdc2q+#A}St#kHhHLz>jZN@?a7(WOo7~sSgZf7S6T42NM z-ZD0#*>;69s6n`D&Dfy(jQ?$nSEmmj1->ZZw3h&yG4<2DHEJaZu9=@n66rZWaw7P} zEG{gOYuRZlx#^QJYCXXliDaQNka=uwM`Iizf2FTt=W;cXHd(C0dZd5wo-?$T|RC;Y%qX=Pv8m5f0s$;zfpTDQ>0_ZDPn+?azy4vJ|8onC_G< zo@GFBg-2){;NloStC;`<9SO^cEf+Avo!<*F?=71{g86O_|Z$!#ToeXpbC zoOS1nYI6j7I^XJ6s@EK8dA81f;5}ZMAs|4ie2W)N03We0M*)c8qt={%CMi8~;$GZ+ zEiB8)0?MGgQ+~{WOR6Y@UebK$Pg`Y|yC(iq6i&;bRTS^x{G%Kv%*RQ7+fauors(fp zi#l9QqDiy!L#@2z;phfp*N>8;3=amM5Z0t3&7+vnl#zL7<VY=G>SNvW6fq}D~Z94a6Dl5;~@-u{{yk=H-9)>(NzBrlBs9vrh-Y<4;27@JU~#i)IqivAHkX?5v~ zj!L5*>l-OUBD0dMWwqRqk{4Gto`~gpVS)}*5s56H9df!jezAl4*wbGfnykqo*jaSX z-Jln*?n`uc;Ju-ClTb7YBUBuFJZgz(@**tHIAhhW6qs&64q|Z)ZiV*+_hB^7;szis z{2#=*5-8zL&A_2GvF}qc1TN2rta_$tL$P6KxBbp~c0gG6htSz&c7A`VYd-SNhCNfE zD#IH#%jf7a1Cmjeu_JrX_s-fE<;Ko3vt5Q2r?ES56GafchtNfS|XItBZzygN9C`AmPQ=O`rj6C+i$es zF$UaW9G3@545bNcxlpLy{ty(fnId;HqBV$lb{x`94VRQ#NtV1hae_}Y1Mg^r||FKTttg`K6c(Vz+F ztcK&}FEs;%DZ0@WQ?OXK!Eu3m@IAOSs(Ap+YBX*O;F;)Ewo}}lgMP-y?*Vy)s7lKx z(9{oHM4$w})QTSkV%HJpsR^?&HnZr`N!e@wnLGH-7%^CmR_be-&(EVw^3zxKrD5H** ze0}N_Z4INlI}G?9y`ogkDiMZr6B8_QUY_yUcfz(xdqwzuT)>l8^wXWtyREblYu&yM z$vB$(d7Wbsns%GHTqaKks}O!!@1C!ky`v}#$Wa?-Bl8k9)<)Mdpw9k}B z*qs)sh8<(W*i?-fjG+ON8wFP8{{5zl6}NTf_{IO%W%BERw;kS1B$4J{cB7n@insPF z@zFS@19akrntld0eCdJM+fE&PJLo|e3~u96AYybN!a7$V@D5 z9lMU5d>l7D9At}fOaL+aBW__z8m7?eqc7Iik#WGh?eCDj!e(xlI}SllY7gq}i9!Pr z(m0%zce=qjJnxo~TbmfrvJ^rtXat^*&=^=RVaxb;ecaNejLQA&Q?0g-u}B63A4MUE zKq_uZ;G3F_#Gu-$wnbbfB-G8t2g??12Y7EBWb!{T(sWyeal$<2gQ~8m!f0#`D4AWa=w2 zKDH?{f9@|%wtkeiVx>M@>i(Yw+WvME+$A;Q0CC_pY|-;uj@ms+^=5+_Kek&&ANO}) z`lmYIgD$NOc@*%~K`IxA@0aWcWegnF+DKafrg;EL@7Nul4U?QWj3ENRT5qGCRy^B- z7#oEb&0+SzUkbYzX63vGT9jl6$9LSGth2meVC~A|k*EZWWlYd>(*oo@f9v7p+l#9| z_L>6XvrP?6Xp21PF#kQQtj4sL-vm|e@__(P8ZD@Ms++LO3Awp#V-khVqwW8fA`E$i za#(g|nV*}X)Her15OSOzndJ(Yy_#@@Nuo9hxh{y7)6Vj@$KOLbp(EcIQ3IwiGXup-oxCV(YtPns#2(USJh!CJ3|hN| zjH#EI{)(W_fC=#>mCU2HE>&oG1}jp;Nn8<>G&j!glYS@h`6zfVrd2LMNQCHn%W!W9 zksA7?roqns+-9ZGLr5$4qj-{upz^2ssp1%)Tpn5zKPCG@YEHH;pzuQCI z_raQyw3Myq4ud=wbLaUOD|?what>I2$TzfCE-A{#cI;4j#cgK5w*IOb8s;A^TV3sF zHIy-VIXl8T9Bx_dfnk2!uh03&X2IGZIN%Jq3RtmEdFdOs)x`cnO*d@d5S1tBnnu}> zbide)U3EG8WH8G!bE`;}&TUAGk-}0aLVDoD2gTm3nF*J#VU7Yq_CABH_Ed7xOQ-gL zH!*>2P~evIXi<9}7L zNxI$9d;nmLbNK}mF+%%Tf3AB^E9N&Qp?2BYujFb8^!) zUfR{LH4EKye`$_z$=GmM^#E8b6|^Ef5nd5x77d~LCZdVH`h;jf7KT&^kFhsrB?y^8 zTr}PueAK=-=ZtGE^8$u=*=$K9i?{(p+haOl6bfmwcApIQ#TrC4F{p0R^Y=yVZA+({ zh_n;Y4)=t1H?z$>`2=$@B(i%gN~t78!;Pa{Nn+dD{KW!Kx7V&N)$zE2dj#F24!CD{ z9e8vjV!E!N+VujnJUV!CkK2i^oAjkIZrX_4PpZ}7YK1OqfSH$srrPxEJl+r=`(%gmA`zY8SfnDtVs8f_-S=Ph z$7bE_&+p zX}4;;)|vM92N;*3f3b?{mQ=wQO=zf`QZi;@X50DpnPdPoG}*(3Ey3vak^?yD?n?0; zgCS;^-w5!pf$v9^_lY+=VQzO^snNGOnuq-ZZ1Wd$g(Vj0J>oTlp4VOm+-qy96T`Ty zNESQE=+x?F@1Ja9uZ>ckR&PQGaarIFwWz08nJ}S3IDp5#Xr8EG0YBn+L%{ZK#cSq$==(8x3@K&-g1YbvIYnFB&Avi+?X($81>AUAD z82A;_$r!k3tUn^bm7U{vHyZGq5v{+`j)I+%@v^5m5Fo#`z;zNrKoU$Cy&fkS@e=#) zK>qw1EAX=1gfeHR5-%tlR!tIU@#FWI8D5mb__j2EK-Lt5Ovj!&#w%{(j}-%Ckx6jB z1ctsp4@B6Ku3>yWk@>>Sb(5O5tj1YNjI;u^;2A048K~w$5>x}fHAmT5uQI;LmmIW ztbHa`OBy3dQltPb*%utqABy+|(5+D-Z=3+r7iM=SlQa6n83o6&udPQ>8O?&WdCa8$Lus_$6U9Wjk2j%7kTFF$TLG%CW? zA{3!(g1Kl2}-Q(#-AaUR5S!SMiQz85>IC= zqzi*e(shw?S%$E1M^dpOc&Cfn3>O#v#s0fBP`7Ql3ll8YOl@`Jj2FYWq&5J<Zc zQ3m*p?1j@*f{(%(>_{a9ypE0Nh+qcEBq&9iq4yBa;$|0mRWNBaS0y5_s+ec($*ry$ zbt)y3Eb4HGo!*Q8s4TpsG5T0ODHMhMz*V>DhAx_`VOPyuHKZYX)$b9B0B*r?Vqqq@ zRC%6EL7fNqg^&;_&xF4@PPf}rpNz_Nz>Q>y4Zk94H0DDPmAXsPtc+Wn@_?i7iYoT> zggAe%NyA1Bu%KYek$zB!@aorp7bYXYh-(*#yY%__o`M2@_`DVW#oQGiP!^F{@ab{J zM(+-|!v~5pV0?D#4BHQnTJOLMWrUoD@56T&lpX6A)-+=|a1d^iw8nHR-049Qz$Y5m z`PUWu9vU6j*EfzNE)~fXvpbEP1%y(WvI)6tjm!Ahyt}y*x#<{?a^$QE9RIW_!Tohz zC#Fd+2nzq_G*^f6st&fvYi}lDL<*yenl?B~P8{DpC9j^k2b(soiJjxZZ6-)Fq~Jk3 z)})D(yhC#|WFLUd?I_foEYKs`RGWwwG3OOaVDj7C{9U#!*_T5OZf$MGE+zT``XIB~ zT6Q*Y1^h=&44*Y;7#*`TI9oOzGrwyl=O>lw5S?NkQP|F9JMaM~Pui2uteiHFu~L!( zwv)jo1W{8_1jKX`!f#4Q=hwNnic+>z9i_~|Q-$gCX0deCP4!K2-;ABizF~Y0@^>KI zXX4|jQeG!x))O;i0BzSvo*xr=fsbM-uUK_@4>qihje0slmxP?2@&NeT#UbrXHVQQ9 z)oXYzf}<1PP!k_@BmjIxI&ZJ|*K3g1H&lW$uCLw!i)N_#qA@QRZqvrVjm3`?BD}lC zuNTnv?W82uko>B-FMgWmPHGN^Sj{ua=^OdFcBToox7{Pkh~`2LeG6_6^o+jxugrl; zP#RhziUq995g_Hs%WQUi-{0LyN&!sxx_d&DyG_KM!Q(MwHNW&yqdFS*0Z67vRnf0_8-Lq!SYw+@13qaG1l zeIx`(bU{+bs2Sf9-20W;Li{4E!QIz5=j@aP%}W-uZHSqb}W(VQOn45TM)iy*beo6`bI0C2JxhG;!y#k%JToa*S&g zNZP0L{%7J6UNtZnF;mP1pQH;&W0|wshbQD?La+p9t1ybOQ0^7D67kJ1djBxW6Us}J1R;U3=cd{ zM?dq?Ku0j54;p~bxlyOhjBxG9-N|muaOTF|ju-+ zoASJZ;SsP`xppiL5*s*|R|UHh$=MkiPq~Rb2m-*9C z3wB|OUhl`86dh=7Wf`X8JT@S4X|0hlwWJh+I*Ow72<336KGW7@maolyl8LvzgWgsE{h{t#)MTgx5 ztv>B)Hnq!SB?v^COJnXzgQ;LL)t{D~i*SeFODNWy!AP{f-HAy8wK<4`ggFXo1!?X86ai!;KLeqbM_Ux=5}a z;+w}FvID#}X^*b2^{Kn@b0vKA?XY*RxMmem-LD-~f-dxVRjx~b?6h(%b@#s4*9vuI zU$W_7^~I1S*YYzG&fKyLiC+X)(Qyh|7%g$o0d{pYG<%Ml0MWZaUAm z#?kJv>6V@94b9^qK{QogU+r-z38wf-B2j~x2)^LNcL-vJbMA_#M6w%0chVNEAV%kj z0`Q+#jQ{?CqbQ&GQ7ruw166}=wXiM}1gXhsj^;Wzu{==p0@;h%^> zq*WB`17iP!tbD8Y&O31%W9fAvi?ra;z}aP_FbCgY34{Sx%(YKX8$#mif(I{sf7~vk zW^L_9xK6NzV@-muLBJ_NaMyPNx39Bpu4875;$2jh`;ww9iU*rxj@Ui%dO7oMrr~T^ zEHsluwtQjF{9F(1<2@zr!-CH69Ibrt^j_ugY`Svl@!@go+b%6jmV()bJ?;;5B-JQ~ z(HwhiNR+n_;CzF*px(b+)m;M;@$!t*UiGktLVTR)lXIQmD+wcC$fd#bketb4Hqx zIZw~L(QbP)HaSBzXq|Hhl%$H$m3%isRcp{;%mFK>_aWuRvN(S)Bjyns$}@nz_SE-R-Q5QIeM(2gnk>!OF)4OF^)+pe9r@1wac;fpf5r`c;)>~udYiU z<8xdUd`pyq(V0-OE!b2@veY`ua4Q;Kylh)y@~r7*vdl;QIj|Rns#t-!({ylqyacEl zP(JMGK*bRVYdwHmW1QJ_w*h}FS9}a#Mx0g=J&s(Tx#e-`Ts7WKyEaRn3A6o}F<1AhJU3`%nklR*QT-L53!U~x>B}D=!Ic>>N z8Hl+Ek;pet7wan+!6A24Z?R#tt&>lFd<#<3uqNEvDc!Wg4O+bb%E`)=^sI(@uPF@!u><3W$OhD%W6+AHc57$dni7ouqP4_3yWvldm@kQ39 zerN#WRBgR7qvP>s!Rv@4+?DW#_71FgJ*}~`I(h&$%fahajb|H%hE|~Z@~M%OZSHNR9&-h0no`Ft zS7tgd(K2e$5z{AFAoU4h6!j*+?F-!KSiz$rBf79ZiJuI7wHk{RIm>J8zYh)`ruY?G zDv0FQ_@iu1l2g_ns0q4|#gpDd`;A+HJX605ZC_Eu(KnbX=(WpZ1VIAE>P0B&Y3-CU zCsC)UB+Dhyvl#o29Z0zbuVnrwn_JayLGf>Xi#*D1hvq&M(?%GXZm_f9AsjP0p9^m# zLKb8R)piy}*bNUUNbW9#>2XHm1c)Czy)io^{O*otA1o)?F*OM%{tgPrazV%k4gf=h z9KrkkyyiX@FOOPUx$6V>dXr5*M3UsqcJXmn3aO|&A!fIYt_WNL$y(%tEU!rl@~ z1-b&%-R|F*j}N(^7v@=z6n549=h8(>l_bKOQF97ihH%b&9{us++Ynd#bu4PTcwkX6 zNIObxMUVH`W8^{zk-RPq*6FhfP{+u*{Wd>U!|6+W5(kimK8$WEiDbN*$!RvRLU+LjfBSe(h5BK>Ux2VJ(_5U;QwnQ&LnW%#;j?n`hjbBnN53>Y)9>ekd z-NC0WVb6n&_b)S~8?e_U*AZEP*+K6}JO3G!oB-}(Ofs8DSdsH3tjgi=+xn+^^dnBY zU*ekA;PA^-mouvo^Ti2Q?rL+=!6bwS>IW`33{}+zfug}IGTpLEVl*o6{k%P%a zS9w0D!0T#~D-|kN*HG7-cYT3-z-E19{h>hRm(0g*HUf4uZ$m*+&kY`{xVSkA3fn z)*ojU3;8Snj8pe(0petNv@6>quVkZmitU$gg6gXU_W&2#I73?$J9GcATYNB~A=QF~ zXGYX7i3;R#VT0`FoCb)dddGWGNPxL==;X}6c>1_|{JN^VR-PX2$y0{h5R6S&^`3rc zS=3tX7)5j4w%_zeg_|Q76Vz)$7uhhpieCpBjT9`BA^z`Dkknby|7*i^-1Lp@$C!5P zG{AIEHExI_qdh|)J&B?1wID4v>iUAbNFuJQTD04(&fEh>+J@6YLimK~R3#5iM#U^l z!i$cRd`8mIi_9_AJN8lI_OViFE|tpu*`eG-cAAfGrMuE`lMdC=3M8?N^~Gky6$VY% zvO(;0od2qL@cJ$pbQs(l-fV`r8U5YZ8-Ey}F9K&Vg&BX+^2a2`dgKRrP=r=C7{((D z=pT|9S-WjMjQP3Dv+!XLn)mv`CkImiWUbtIQM=rtxo#M9*Z;cBc*M6^>r;O2;m-Qp zL;fc~9Z1f?K>C)bqm6i>Tm(fn1AJDxjq#}g`I*Iea71Dj{z9bho{;9;L%8vuxnEN0 za6CB|>?DBF5n+p5k%dmXRNj)PT9jM04&Cv0*?M`pP7R%}ok7?5kDlVf z{=~(++Lit6;s8(VVrbp&L$lDejDf=(Z(9`6OSCswUcblH)akYgb|^!1hIAGJ1Y$<=j8`y!8jC?bi+XFpoqTqt_BN;=WRpvMdVn zd|N`DqWCNPCwgOk0)uArOT^kvUJ$?sX>J#w4pwe(GO$rulJ99)6{~>YoCI~Xf3h_K zcYhc^V9giUZ%=4u06S8iJQIdhc1I9*EPBw)K1mvf(B#~c2e1dTFKp)nPrNjV_qKrFZ;dbxW@4sF~jkFdjah;5mtv@UP+_MJ1? zz~e!uJ2_cMYELhj#N>y=2BD_3I~RUWYG<%#SSz_g`$-|JD}=!^GY95I7Y9O7KRi=w z4YfzCUin5w9iiks;O8SCjgCvkYd9>f4vVw{u7e3pP`y2URGDx3;?GUvd3BXS1-3!j zVUG=?yJHHQIta{5OzbvU-w$?1HaO~-rSqgm=DLQ|%M zYx@PsExu2ai)Z`L-)m`5I+avOrAfBHR&FtYy7V#2{))jlEX6`z?jes7j-6Ge41-aZ zmmA)1&S0+-sv?_6@1#TtSqm_xc2$zW94MI{%BJ3QP+)|4Y!z&D#?yJ zw}Wq}_YkEPYDaF=STF5vvho&JU3v0E=U^J5z<(UkVv-QKucy;jI723)6&a2pGfyz= zBJ(rZ%!&*b7v;_?DJ-p(bgarmpw%;AK7F_xp=3XJjiJyq2XybABQlQ3jA5i=v)6B3 z3HEYXyJWCGD89hVFllyXB5@&)udTNk4YD%w8O}4!>&Db8YrwVzBH3x4ov;>JLJFIY5sU4=#oQ+O2n;rw^ zWEioe)_751EXG;Fo^&l<=JvPyY22uYKGiLzFf9p<3DM-b-u)0^x(TtV8(5u_JOwuX0nFc!KxHT@3K) zH|6v8F>WA_F_^3Q;p%kd(ps;fZWyCo?{l zls%z%DHswE5)LdGzOsMQO;>TevU!Pw(UkzVxwbT}cFtw)zkC9ub^x6GXXTk3CG;qe zM=svHF*;ikR*Hu=f_G>KQ{1FY)0;P#gB+(`Ztitn(lJu`1!wYL;92wFpy*33K%m#E zfb72M2Q1jhnvL@oFl|&FL1ByZBDT zywLca+;q@1ZjDBM`C^|XspRhqR|G(k_^!w#s-Q(K{a(JWp-v1a^i=%&s16nYmQ6Pg zI-)*HQv7eAJt4hDi^L*SlQsn|&`58bJmX^i)(!d~|I@y-XwyWGC30Z^rrELIJMh+d z3Nd`-EoJscbeW{YcnjAJ(S-n2*`#uO4p+n5OA#EA(uwppM-8nA%E(sjuS+@f{U{tJ zn%6z_LhSDl`7oesCDSwUW*CIpheI3y^xr%H2k*f=S>cvlf?vFAg-XZEx*d-lV+Tgp z07satbw|kE7T(*FyMkY()Eg75?6VUHAaM#JDZ^_7>o-}J89{wRWvJaQ| zsfE2kAtlSG4SgYE<{^XYfNIkDvw&L0i3!M?UX8kwyhK_!v!9)<*$X8!itmoQ!RQ=A zHc}=hHtQ~N3|93JcL$NIF?={OVlO2~?YQ@WutJl(=s7Q-U*OmlEw5@sD8}5Aez!K* zAhn(l2w6OJq2s6FWrIYUFkMgmfmOJ{20)>UqypnyJ>EyJxeZ{*yi))^rojY{R)b}OR|ZqnS0V(-vn)iP%tDkV;ES@iGxWUVY%QAzhz@_1$`fn-elMZ5SmRFaOti#j!a(fII08 zdZZUzOiIB!jl9Z#;z!PGrV~mTxqXp6J{r70Sym}TBZ2Iz7H_l#f9^Zbxn?>39tTq} zg248G$p&Ym&0YAKqBS)qTXuW?=o`d&jE`_4ly#OE->L?BoOGC@fyF3@pOE5Fs zN7s{09_o%LtxE(p%29?>l!TwfWtXf>u}}s3wy4Bq7PLZrYpL;);HeFn&SAoKge8qX)>UBTY!FJ$s#fI;e)G5b;JIBU9BBeoI+k|o$2Y*jT?s0P9W@;eZO97mJv$JBC zX}%}uiy1u%5R^^-BbG(vt=gj(89`y;MgTSdT+yZav>|*=g)1L)Ln~hGE_m;%gjAzP z9i}u#PblSEhs|8F$XV5Q)^R>@~1e^-cppiZm*GomEjB%tM<$d_Vsh zfGRY*G(-;`>F6OcYbWrm^|Tq;X+=O>hs*9Yu%^^8rn+)e(VV2i{)zVvL!3RL2lB5x zdJ{|QOE%F=wdyFx`vwdESN}7P@?vQq7y!ieO9aJ*7?n7H``c|7_hYr@4l{MP_G2On z|7i%Qj91m+30f2YPe8E0AGV4ZZjm35_a>OW_4?p<84t;5-sLT+a;_n4eVd1R$4ywR z*kbj0v3&7qL4zF}Vp$%W?2n-we9e7`@H772V2y{qJ`y#DB}g@he|jb)J0N&!i9@%G z(;}$ul~L9@DKm`SUVUg{{h=$td~5n7U!Zdhmgr&HB=6OYuKoEzDS?{U7QQ(y>X)MmA(W5j=rn2*U}rSaguU9z zpSn+?hehdw=Qta&yvNy*R7<}gG4gUx;gDSqcO|Mo)S6TuxrlUh)MvAj)Q^}X=}?+A z=L0Dd{uO-7SDp<9bO2c{*$hk`;1B(#1)n6)FYGts7ps_JL+(?LZ)2f!XJ_lF@86>? z!8JLsDjFQT8i3hP@T_33f^w5#&+%z&fUh;!MbM|z=tAWr6E7ECxDA+tMtkoYqHWjiX@K5m_P)a2e>cVtgI0*U=MT!?0tYgjBX?i@D)zHrJd zkG@8cXjrE(OC0!O)fEuHw8}M$y04h2Bq5|;{Nj7?!L#|x!U z*@8L?E6KZ_sdt2}f6tVzPWb^8n&HNhmBi@zZhgZ`>OVN%6?sJ1qEMu?+v)^!c3*to z^IGxLLucR6F6c+~DsO0>_&)x?N}0`E)%3uc`E{nNn(C_{y^~G(#Zp7|a7)M~Lu@d|&*!RKg zG(=sLj!BZ$QiM$1rz3qc~SC0cpVzNp6fq@f?}GjP&++o(Ujk} zL?PolPFil%{@Eq`+eSg9R@zqb;ePl6=Z~1LbmhsnQ8rsAg2fH`kVY1C5Tg1g0m9dmJX!U`M2v#hD8wgjJFKE)7ATtQwI>%XxX)psWylpqo?lmbK~7SnyO zzD#+HIc>Yd^lUym*PUj92@=ZWy0Q9*UnySI4^IlK_((7YOtP@pXAqo_bI9VM)~&(m^`IuFDqhqey)Hfe;H1y~STGG$Mc%I4bvmp+~L1iD;>f3I3dxfT#X^ ze)A92u2Q%mlK9I!Fc(UMg+uNH$l3xCS_M{DIYycvWfYaXyQOow|g3#L2Ot4xUZ zcHs8}>HH>J*zC{?Gv@%m06~eDOSR&&2uL9e2Zrkau8<6~C+?`DhCkP<&Da!rOc?Gb zRbxe&GYRF;At)uFBq&;ZaZh3_DAc`J2K<4m6t zU1P4}?E6Ej?5B+jjH66zdIg9m1&zUl=;*-nsz}EjE!~xXHbGXTYaYR*!ZC9chUUE} z%B{qf92FYcKRmM?{SBRKaE;&3{~^Wkw+n+x$ioe)#jU4HVV~jOq_n`Gcm{&cWn~rq zxtXpI*L)_jM%SH0wl#n{y>Dco5m6MrgqyQg-nxwMy-PGNAJ0(KXXuvmry6d7xgTpr zOKutOs#(SNACVke4mLudX8`?bHhm(-U*zo~FprT83?qOY08oRr@<|?>#NU~TpLjEJ zrSw&JAdMvN#^~PwfLfKiv7)*J$zW3tLaFzS7yIwf5Qj5# zDk$v8HQXrBnsr*=+#|!nk=!n8iGD7EqA-?i-eKuY7z0WE=~Uk#&vsKYxySnhOKIdD zzV&cK@BbL5O3HhDj*IFS>Dm>75?(O^>$Y*3Tx*JeHE$FP?>prhAHm~6e^OhUD#`(( z5v8(pw^PpGs8@^41)>XAi7Mx7N@yvLU=#h45I|^cW1?Gb+z=bkcHms*Q7!&Z=9hUC zsITrJsz}~9&Ztuow!eYX-JFBBLA=65n@o#8e@6YMDJj;+`hmxwN|E>&gm&FCMdhAy zf-`XwLZfd^h`r=a-0rqUjJ6W%DjP(JT-q`Maej+^|9e;O&at~g3y!F}ZJA}a7UiR| zg6YZMo>#^aY-pH@ub~d=?}1noVrD$jX-7*__j`pRy6s<=Pat#D8K4GX9p`IShiK31 ztc$!=D0KmS%IvZl!#Td;c~!~0L!@hJZ1A%1ZNc#qJr1R8Yad=`C0gd6D*+@Kv``7m z61VSb7lxGrcyFabQ?7EqIvmqgnoapswdqdPFSJyk7vf?CmX)GFk654-uV)<&+bV7$ zM!8e0`xs<9pfKmg8iRB*&z9(urX#af`958qdQ{;=G7 z`D-(8!Y*^jr(W@_iR7ris2qVfC;Nt!v|ZqnEcld|Dmts7;;oby8?;72wXUyQe31|G znOZj3*kUmWihAHAnY__ia~!*SBfQwOUG%(+$G&93hkouiLOb=#JbthG7p2dfH1d&Hx3O_9{ zy0!kh-2Dy2`@(zcwH58}r$AY*xz!qMC9S@eqY2KSYDOaJX1V$gBG|rgdY@3aY`f4K z1&GBBN~vL6%I)jNBJFx#b9Tv4v9tnwX=9z zGr>_2j3YHaL9B`3O`uP8(ZF5}cJMc{b-(5CB9Rl^i1$$3&jhLbHd?xYYY~l=aY@hq zk`>3$Y64i1WdL}dmd)za&?7UZJMn34^w`$GV?c{fD=__rBF5jmHZ6_5Rxhm#FKMJ` zMu#Jz-T51rOKZVmwf8r|dIUI6_T{Umr?SD^35hR#HFQKMRHBzalu!cascwk0iUXp- zjTUrVo~7A1SxS0xTovBR^w@^>{>NKPl(MAjE|>G}Lk9sE@Zz#VZgrx@(}f^oh_XfH zO4mHVi?+b^A*Y?%%7DX?^>KJcQt1Cxb>tv!At~vvAd1B;q_I{p0;*lB<`EOCd5DZ6 z`VJNqfyGJFKQ%Gf>(o~X6dvoiK`X0tdQ#pAD--hWpt#$vt6YI{jP?DD*+9?dopI%{ z%bq~N1to@0gtX4%2?8I%3L|Wva>!7wNf5NwS}sX9%pR!MElLLMVcIcY@Gl6)lr8a^ zEpTmzA=;H!d(n?`;HDHjMH)!qL*0W@coYdP&w@JLs~}8D(rj&5FR~=WM?|f?gN!V( z({~FG2mJm{%`LU}<2)Zx{h)u7Myz$VSJ(pIskglA<6h6a@N}szPB;P+*=V6-$N6~M zQ}F%M-E_s!+PK`q6KwFr&mhy?4>2l*g8J{eZTS40Y^?`BYl;LRqC@$(-Z#v;%<(MGARZy`*lHFkoqkruMcX^3EYqt|qmbDaSzcy-=}v|8V@_u&D%XyRv3G)G9mKgrgA+0t4#<8aVA-3G!xBfUu+AOe# zWqQ=8*o3s4n17wjP@<^7wsHlUSkOP7Vjw&X#FZ4wo`S<*(!4-KjSse>jX@fzopOJ3 zm0%;|SyHHPNE$azmco)0t3}G^W6_inyA=W|czFIHT5fVc=Nyr7=Ac}94;3J<13w=l zkmJ4p^xGX*tOaRNN479RsT4n1<*7sJa}p44!3>}c2u5vXF&!)XAPk=ncueQ23nCSA zgd{`re6~AvLtmjUd(cHNVJ%E6GrM<*kRY^zVp_ge<_eM_VS&mpYW%F2U|N5$1BiAn zZH4^*ak}IEw^9BnBHsiHA>M7-Gek?7ID+T!T>vPBh5bRdH4Xe!Bvsusy zG>@Xl{lg#P9BMytW?80Y(VAV(DORb# zg&O=&ru{Hq(w_d_V=xCL^Ve|)?4DM0@Z-Xr_O{{u6^NjdJ)OA;qkGNCsLTQ;JxrtH zr=`rdO6eB`U&k`IO`B}kTLc!3D(H2S4ZrCFIB!$Pz?37UqMX#b=Ln_g9Sp8nUVHn{ zNQhdfEHwU0zZQzxyZjWMRG{!tjVjl!d%IXr#ckgYDMklH4pU3DVTs=!pHEWdi>rL7 zOzLyL$q;;=j&+R=yEvS_4}6iM8wszsD3xe?M`sx~jB(Mm|00hl+T4UK>CQM0Rfu_5#H z=9i=4L*1!i3P?4vkDLhecxkQ1QAcK@);qJEQnU<)2C}wlYp593N_C8G)ifi)T3f}x z_Q>t;lDPo8VW~~%EBN6s3IFgqyF_T9Nq@_RZljvKvDog2(6of_lt9H>`(mz2m%REE5z&LMdBuaDxYKr7;NV>JEJ6Kd_!h?K0CGszl zkZS#AUL#IY^&+V&W`9Z@wJsp}LV%d6&R+2!XCMq6$iHKcQ_A5orEx=lCT1gD^;;2a zV&oqzR=-x7Ces(ez?k(#a=Bwb`ULcWLep!kGV(}yV5P_X#Y>yptE{oDEnFO9fmh@7 zI^RkeR(t^7fGm?T3h)1CPPKx}-{Bg99vU?`uJ+jkRYuHtrEz1U>EBjRoF0ne{iK<< zQmm2@iwI%FC0!;EvyOnKyJQ;de3!!-o1vBfRRT`eL6;_!J#M>pz6u#_)ZZz~;kUu) zo%}csc<}MSv;5SYZYGTlj3pPc;$954n%lnfF6fv;TdDW0ytt80x1Q?Bf&Zsn)j9IA z;3vrVld-TIQHf$~dnH&C{n|B!og(Glj(vyVA-?>olHloH05HsdqIx@qvRnoirJ+p! zpxC|FbRrR`EE}8(et+!eqzOGh?6svOw07zy&Y-k7A+%v9(b|v|u{7%BsgLrU+?Jfd}hpMsQeXh=NZ#us}rltoN+a+Hbg-HXa{@uZFkE8@a zFX{ny<^vcPjLl94?nB5qW>sNuDEA1BIjH5+(fc@wV0#1ithHsKq~Qu1&pU*=DpnNK zJ(vYrz=X_XncLtwftlz;8(iR{ZH=_ZKX}~~=+IyKweTx@{Li&1DBt{;8b;+zp$Xfi zQmw72up>wHI#GZ?;l+wMXT&Y`j|Q?{80+ry1Tw(!>M%=$rJXAHC&%SyuO0~V8H{SN zM7&MDdKcsTL!|F~1%FiuLok_1ph*{LZ{D38qJj4{M(+G6pAKMtfuQ67i7;`U5eBxs zXhNkwg&p9Wtz!0?rq0pu%o}#Q&SY@KGImD^|Np#GEz4$6xa10AoX9kc;kz<6HGA1V zpbxls@5~OQQHU`7@|W9Gj()k)D}_aEU=AjH%dRJl^IT0XaGq0SaF*y^7OZ356#_#q zr3s!fYlgpKxbl#tlhQHwuf9g64pvp6;3QzQuaTMzYRPh)&*I(!*^^TxfBiwYl+#ZE zCBLS9?Ye8UAE2twf>K!+J?Ia5OgcYO(-gW$0F65PD|dKt+L9o?3+=ucZZjhbd4MrM zxrzZKo(ErqnvBs?5&pEiv)2Ho15MvMYQe0m)XCDn@t4%FJLe%HPcV2_XKyLEq5}=V z1MoYd>RmM{`Z1z%iRmFYI^%a{1>13K(6enV|D|VeSuQqR?BGg_bFmQ%`*p8*ovu|9 z7l!nSLHcpbHF~5IY6tygmk9KL>}>z$w#@E2pp_Vw_)&X8_G52M=uo`Kk0z`$zYNG? zk0?uBPm^FrO(tuIpD%v4GVlgzl{`evcLDId{m&jIH0fogZQ*W*ozoa;+{%3Er?wo_ zn!AnAF>DkQ2a6VoJ0p-RgzandbpSOlK9@OH!UMwSa13Rq3`qHryCEQeucoa9|RB(Jc=m+HM5&X0~!T^sVw9H==*iuFucc!bn;So3*rf zSNhMqy+^6{zP`0t7E9)qo%pU{Qy(FwCiL zE9$N?@^S6NK0|(t*en!^qm)}Cwp*m^Q;;!WnhN9DD5A_#XM8&#E_#Ab)|)!eS#X4e zk7QAf-|{8aZbxGyCM<+*_>56u`W;Tl74J`S9!DYALeN9mzKGkDJ%{aCb_BaOH6EPC<_ zic;4Hr)7(bb0RH0ry;;gJB?aQpPdf zozq;2E?o}mx|$3R@f)E1 zEj{Nw^tk*%_jP@u7{!l54L$A37@?t#O8z zpb~7M(lfFgiEMd|_WuU49)f9DDc`Sl4zO&hqH_%mq4oQ>39-u*rksT8wH8NqhqxUB z3&Nxv@+_S#*nA*d!Uh~h0z+)@V_Y&-6cjuaV1y#;da5S^g4B*bAmz9n7>DcMi(0A6 zcLrY4{xHyzG`g*WyT(JxxY9wN2DYjv=|S1+ekinDhPN?8Bf;rFoV>4^(fMOM(=(_|D0| zjM^VpkzFCEFd3BOKb&-p$sF>FhpemeNW5C7xi#TI=i$T1(QV_(g_ir0$pdi=p`pyP z+rvGB{Qf@XfO#uvesEDFi+@hp+7VNpWnVr@33_CaM5CfYMte_`g>&0`L6FKtmyN*V zdik|c(nzEri6`=Y(ZWdO*!=ivc zbfXP+?BJWzEU9Ndo#}Kh=9X;O13r9LzwPcxQT0RGwI$pG)%PF3h}V;H)&jhz7^Rv; z|m5G~VcMb6tRF;gY!Laytz@+AF?1k!z>}#)LhuUAK zdQpO+<5?*U@H;y0ugOo5WZHmtE7IzvVbtby=$LnSs23vTpzb)Oy^keHpAjUxD6h&$ z{3u^M{h=+aA5i-(;^rHh&3Gj}m=vS@*Hbe2)D8L$3!{AL)9Qj75$19l!fW@`CB5 zU@ic7IkrgL!xL7+$lx2`lf2>cC_a!9Etq82?ZwKQ@2+AP7|sJ8-fpHWO1N!>q6yz7 zx?oa$l4yEqJ6rg4+;^@=>Al!vr}C+5IK3EWr&Vd02$ zN*0h}QkR&bmBbbNi0Es&H&-eh3eO6LEE^m!bf?i};8}T(7*4&6f0P<cX@q(xcTL1u$VgsNi#=WH-|QVbTOFs!MrP5+}V(?tBDKM|o) z5=3!0a?K=F?X1Q&6@HvGHPkXc`T^@;X^Q|oProeDlMK>@0Ae-)?SRc#>w>)EJE4l3 z_j(A-tnrb|d0iUcdEPs%y^*2@bBBNXebM3x?M{ub@sM$J(p$nBIKvHA85+)MyVqsH zMy9c3&$D(*m!tMeMH~$9?-G7LQa-5nT~1!)cAb~bqu=B?a1ma~6tu7v`u5ToxcAPD z>XhveYG2OzQ1hccvcE=zPZQ>IGvp~uN^+KuCmkg?x5IiC@gfgOc%o%8c;gV$vf#v0?u_SOCHm*GKuEKzN^gW-r?K?iLl=$Ses zgL0W+T>B}!(;bnr%N5)5!%x@{BN{q!k8`w*pj*&P*GE~9F;aZmV?{l)Tgc)f zQX>dvazb*kn+~qIGaUf?Nq=nDto6+6D3{P$#Z&Q7s2WR}PLFo!BdOS9ZaNAPso0<3 z4bk~^H(xoj|L5wS-HE4Si4R{2?!Q9xr&(TfYlZSmQr6TpQ9xO{^X{L*Jy#Z-ZlI-R zg(sz(zQ#^-1T&svZWz&UDawu8<`WZoe?E^J7DYs|J>f%giF`W_KPNBo6)Inp_ZAGK zLY22RkRn>NW(D38gAQ*Sc$zS6oQoWqQR|N9yh&_kV%}&vwrC291UW-681zP+an#5n z#&KAL+WGfN9>f8$@bMz5@(%1;GBu+#^++He!*bJ%6aLNeEr;fLA<9@i5xjTWtZJrl z;afh!m{cRNzbUqGB>T)iXDx!{lfTboA^Wni=Yx2kiHs)N9Nr9~TL%=CdO^e#vhNLq zN}>xO1EYX~DTW)59mVMZg;4R05;e>S0sI&LpYn1a&;*GeWCoXI3dSc)f^J#Hhkv?-q{InGq%JE zWd18g2bMdJ*w|JIH^w3^4Jyg2e0Ui0@n9(x%nO3T)vo8+aXFtEqDlGKb1^KGsDx!8 zBawKBcf5RO7&}=qlI8dLMbmVgg9!@w;1(6tO4Cw4uIzt7)`O2$6ThU|QT+3@BZiGLr$6?t*69#;=RnQJ0S92vHWe+KRr0&dS+{0F=bqE* z9Xu@6b0KF~F zR40NZGvpIzR%ykDTw)Ns-vxLiKA-5L_FT zoV4Lg*pdrtm_Rbh-Oca9B(V53v^X%Sy5~k}Lf-Zdc6c0e+*wn?`!K zjdTPOwiY`rLu)}fRNy_g)CmTx$e;rItCQstr4+rY4vKsoi$E4;CV_YQq3N6z4Ys)w zY?(|!Ru!Kld9P`_lvEOG=R&2iogOYNyj)`WdGwW3hn)u?w~ool+(1!-olC1R#1xVy zcwi90SK*AXDtmQDSn{I6?~GBY{&{Bjy}gB|cV#g7xiJK@c$SD%SOW;2=#Te}m@C|r zt~IjNt*l(-cP+xn?`0Cd0zb))E@*CVtF{%3;wa^rkI|qlvtpFmsA#cQvn<~J@Dxq9 zofCP24@dvLh0RfA2a?HoW@wx)Qq5Zv=snOuh80NPqoDiSJyN8SM_-h{_3N#<>p*a4 zQPHsrF}UgF$g2GpeTkuD-n;cvit_Wl<{*Y&huHq9Gk7Qd+#*2cbYJSt5jpME;%zbs zkRPnczk?PV5G)o51ug4PT|EY5X%P>aO9L7K&6^N|F;d;xvm{bJs~iqa{M=S0yJ;DTC?-UXjwqKN9>gyj;t(?7Wu$r~*bt!i)F+-S=Km~`v)H0KFMGYik zU@Vas{V#nQ2>hBk4Urh>OK6vheOX(8r)j_z^>kbTne-`NRoAd!gO@Gy^i-fp>3Q;` zcv@lEoLo~O(}NRvu;JGuQUl6UQUFe3f0UUJ)!wU$rdcR02iZfVS9s+ixotn#ZRLQA z%=SPFfv;b^f7C_05g94-Db`LG9K@QA`=r!V{V0iJzcIkFKR8?&FKi0P4 zl9)6NSO+&i8EjPV4L*SI@x_AZXn)vTAH^~6Or{i1G0UORCG_ICfGhh`-{hLT)N zL^+08izt4}TQnTI5evKMJ`(v(1j+#H_^q_fX8i%85A?r$29)ppA^gwiNFi#`u^&efPWNawD-45MB_I(;nm|H{p%A z6xhbL;-krvc;=4Ql$%*N6dVJGUD9+9A3s|Ou6ke=ZJ_cPNP{F+7=4B&Nsc^_%J2R$ zKOt7bfjB>kL(IPfV)g^mIu?J=;sF;soRL)P>i-~qj||KZwB>n=b_h>Zr$*4Lq-mx8 zMs2#x2EHjDlV?h66WNNJ8p;&-{sD_EqvAZs3!&JIp)B*(0H&R6B&o`;`ATc!$2(ksJ~D|^4t0(;Be<$AcMg36bWq|V zvcGXM106dH4cPj;H&j~uTa8jjA){jCpnKQ>PSvbBHE|I~{}dnFrO@7rJ>)`LC~SD> z>LpTYTI6){pPjB8K=&dee{T=Z0x4_pj+uqy=NuRBC-IO|#?}G>2nqFgCosh1Y3B8C zQPouu8}h>BF~;KC7NdvvQ8YcnYj{H5>ye!_)lJgQZdsEDG!%4D;dbo6j6RJeUSoy> zU$5({UGt^7%9dz5tZM)%k>(FQ)(hA(kXtJ;uBS!`t8?`O!3x zHTLr2DGw)C;$i$A=(#g^HK(|Sm7@>pzxH}<64o=bZrw#SV72|)FX({}@A5>cMl>x9 zN$R%^27gk5x9ZwAP^f%GSKN({K^-m@oEdLpo*R7d=?nV%45oZPJ9OhenaT6CS`?c6 zOM%*?4&``cbOCP#!VnL;C*w66p z$ZErvHzzCXva)I5NLcteKQ5oWTJfCf>y2(nPV?#Ht67_1a;D3+vCG-Lqx290&NIq9wD}E7BtiFE;-(Lwq z8x+)b)26KBR|)`t7yhBJ;YN4870D%Zoq*~)Hf2+pNA4=MdJ8bvbamnsDv^e7CfooI z2@)m%1#Q%01?TmpI;m!vD0<3=ke;tNg`BPG-GGthu)Jga1IUKcZkT=E*-STWYj={j z!dUGvGYDmk-dT@$L@ZIX~yoJcd(R!R_M#ygN0;U_Fows~O5J1i|CK*t1K6W|s@HX0{OnW52UFXxOMjrs_03Sws~i&rwu zY&vO0S0r^S^x#C9(OM?-MD;4Ti4FY|g}0Qo_e4L%++FI9Spo^h)aq~s^6_{Xy$KZD zuN!7jO42jL3G(t9BWXPhFd3?oa@Hskd{Snz7`npA51^=G6^R|f56!Oq%*qUXccp#d zX#Aa;@txwkWN6ypU-6(tEm8b(&VJL(k`53*$4WCVa?+Gg6~FUU5yh*{^6B_JX+z{+ zt50JlOjyWNuVGGH7DFW?>1La|K)u21GQF&602IwSFXyBeP1}XJasr0;fi0VGZ58ku z=#&b^>`swx=ncJvsQF}rMz{bh06+g^ianjxq~J1pbtms(j{t`#zn{F^9Z#&zcT*JD zAf$6C@Mj1lP4S^R&jKsez`wH`VwLbN~<~Cx~7e z`f)o1tYPmKN1b(pd^eKKza~}#?e`&0b>o~&wiXrgk8>9|Tv{znR-&a~5eGzv04y1L zkQ&o*U}CN)Z-4OD&36n+fr?2K95h$lT7Ljr*tsrsQ&D}?AjQ1AAz1J=wUTz=NRA29 zwxsNxn|tN6OL+1;OgHg=pjC{F|cC@tc@?wZbr^g0v zW$Dwb_KU)3-HJMuw))J#+6<%r*qTTo8`EB@wBB7UirQnVd&}a7DyNyBe<{jL0`np> z7MCG@)FbwMS`NXI4WwaOb)-r;8!3g2K4q^>8;)}5!w>g2uN*PR<-oON1^?PY931tA zwjaBFhZbmR?O4c<^r*vYvp+j06t+nNnHTq`Ec?EML*fRdSGHk#Jf~h@axZT_$|9+q zVmEIY%xv_nzGa5W_GD{0BgP+bW@w2})d&y4w-o!bVEr`vg>*8L5Y^u2i@Vb;XBRU# zc5v6gmbE?}P}K}0&H$^Pci;I|I?#g{5{A&zHuXFb{;cKPS_0)2zhGbrchcfj6${nQ zDqNP@;mWh3SU<&Rp8Ue3sg zuAzl4^{l{=HCOH{c{Ig$Sdx|kaf|}0ywtDZxkK=jGb!M?QW&J!nsDdsqdO||&}IhJ zF*Z={m@Hq9@>x!C%Bp_pW&%A)D?D_G#H4>3=QgyV%W&P7asRmNd4Fs&Syy-tt~bSe zwKjV7me+sQkwhTCUvI^LC_4D-UDE?D?%!a+{b7Yell(jeh8gtwC9%RAeHr8FF*^6Z;0^T*mC*4%HMZ1>L z=~jC+tUa!uXidA-#%<+a;if%&^&2!Z?3UP@1u;cYP+MGp_bj6jDNQ4?Nr`5k=Mn;O zXH-LCArRLizZ-q4vnwcCbOS^JAmMuvs6@3Hh{yZk#&T*<;&68VwW+1|St)Yv>Dwjk zOW2VGw?n^B&krZ}%Qtz6>-EL$!&2CX)dkvzDGthWNa=q0Bq1{Ln}sgSs7~-qr&V9i zTok!aVEhTCye})3a6&6*1k3ljbJE`#R!0v9EgqR&2(dd4tGhV;u<147dp|P}DN@y) zbdUVrpiy$F!D~ujmo)!x&Vb4FhtgOh$bqCXsb2-D4+pf>Jxt2!|aL%(2b^x%t%xihtnnv%m}< zS1Yc+rb!5+kKa&sU^8YoDoLg=mcEn-!RW9hr(}q$A-17Cm>Yw@nNm*NOo)D}l zZhPDz#OsS_*5Q9h&QaQLTrsuhj@}wD2Ewqkpi7`D6wQ%V=mjyL%-cmPM39@}{7`BSCm*C~(_i+zBR*he`}a#mAQ~<6 ztVOCDDL0+tN zg6Bz4xS|VLX+*2oBlAE*N*l{y4Gzm+FNnjra|pc0*DpY5B#p~R8U3^OQM%L2BUupo z4;0hM|^} z=fy~(wtQf%C2!~YzAzm)NWm{#uklz-P$HMnIp6p!_hHcpcO(P$Lgzuwg8D}uKJS-U zs=kgWAQQn9z|E)o=MZJWr3nlvSbVQH{_Eh%i;s?F+7eZEM6Y1pql~CZ7JMM3l&yxj zD6>}Fg{uv|J}|tWx!T)s+*DDntD*5DFiinLdww|U!>*b7M8dScL3jPw{uAT9iAs`(faS~$G0`X2!x7|F9LQ&(+G`B?1)3` zk%JWLz8M2eHnW7%|M(HrPoSz1glMbH_tPj<2slIx)-S3)0q8I1`%?Wu#&u1gtFrAq zDTp>MY>nfm#olq3h-UHeYE;`KvvOd}PE4=;3VSy5iv7oCQJFT)6c}}1+RF1T7KpC% zU8vv1|AL;_;A+=x|5Z1fCxbueS*_Yu2P}vlOcB-qh)M&+oE#{fyWqf*6?gOmbB8XJ z9`x_K&pU7aLVA{!WPricC{Yoi=v5xOl+_K5jL@*wlD9qF=SdE9<8^cntZ15TKMwG2 zOOrS#(j6#VlrpmB#UpnR7$B(rF*|~twlut~nL>16;fsJ4*$%*sju@gjmM!~S+rXmH zLT*pUyz)rrn-HpMEQ_{7HG7pYE$VbP{swph*VBhg_0~)ceRV@DxPB50z{||Z<1M_} z@n{b}^Bweq8kukaA6oojBo?AzmSWN3z$tv;SPL&LVRu_>QeWJcP0hVF>rIMmdaQ?XkY!G7o9L4yzmod z!I0R<%?uUL zt^dSI`@$P^U9Steki=;w)he=2S50(gOO`jh@ARpugapg~QC<`voi=j_)ogL87@NA= z-O4Ke&;A{=<~{H*Fz0(~5(-9C6SCP353{tXd&i`GlppNsvjg=Vj&>ocgDdaS&m+O5JjH)w-v_ds3;+Au^3NakMaLt8-7fh<1rFf!fupv^$8!0)xy) zCJq6+w{^tfovR1#(Wpja@~?^ny%;pN(LBe+43N^wotYUd}97yPMs%Wi+CyK@p8V#kzqf7CQOj(9+ z`vQ!t@Be~GNl9iVpaG0zX3I-X!#5rG+{#5Bo=Wo+(d!Tj*TYijSh zSe@3H@p>A!c@BEXZihW^Nb^CnV%Wb&{ht{sLNb==xe`i77($a_kGw&CqsV>=(VVq^ z_Zpg3)C;@qU?m<7s3G@U;4{su4nm69_e)h|M*VnpPDL3e<8QpceWpZojZh4Uf5&8{Ji6ii)49&PvqYvOnrQJUdTa4`t zAGbK5)aB2j2xoa^fr?zYa#V9a6eFdx9m|W@58t8nEA6jLkk{9^cR~wVnCmQ3fJfjo zt@94RzU`52uQk(wUok>qorsQB8}#;O!&YC&qeWqu-aI(X-wG%I=cn1*3AF14JIoGS zsu5zd!)>@NTmoU*rMs?zP-`2=d?c(Imyl8%pXjj)B+`_Zir zpBB@!e)aX8Ma9eQvjO!@}C*N6Wd0isnRe9-myDkb}U4=B}@_9wv;) zQEPhqR&gPPIRsDIz0MQPf+rjrVa}V@8k9h#^!B-8Nun}5{A}1cQHS3Pw5OdlAY1!| zYHDH{&4d9!l&aBoZfB84%_v_fJfA)(jM5_@4=1$uVe_^FV~6vgE&CbTR;QQz#!e76 zSVtGb?_(4wb25RFh8ea1noX69jg1gf2AuKrXq_KDlk+X+zLmVGf0jMVX$g$FpdTw= z=}5iB*+<d8#(Qo|G*Q@{VN50UcMp+|R3=!tJzdwO>P zzVksK+xBaM!8q4D?;Tuc6KVmi`RW}$1X&)Gzf)#G5w}7A`lJ%UTSoGQ_yF0W9aI=0#15g@1gT7o2U=f!92(91(Ov0*5^$# zXWBIOlAw?aiUw7gdxD6M<|Tgi@Ni#CM;yM8TtS_qI)0|{I31an&pl7782qWC8q_@i zb>ShK^z%JVra}qfR&=+Llh8R!89dwP+fIJgz}uLZ)3e!)X-(XrZdRAJp87TSe_B@UYaJwU?0 zz?6YRn#ObnI{|Ogu*^GmAUg=9JUtzc7VSS|66C3-`W*+-Q7A5ltCW#rcDd7bvJ|t% z*?=&I8S@`QmpfOS#c?s5VXLNN^bL(^W|74}3$H}#~XK35JB`pU}uh$a&2K;X4`dlcm_wd3DCyp|j| zwSV(=z5_ER#wbf0;m)H$vVvXP%z_%j8b||A)+Pj*VZgQ%9-bLGY8JUF2^T5nU*>;a-6B+lsn0uot(N{ zBtSFsiFAl#fku&CF$%dH5 z_e(RH;1yLNHJ{8m8uqGbpIRTx%l^wO88%_{zFPq$xBx#^YC5<6E;T!NLOT~5rj`~FI5SR9{@lIrKaLUY;~b%2Tag6!2q z6JOO!(WXhBoC^Bdd38Q=pLutClp`}*n7PxfTUiMe+&MsP3ly6wU5_~cL9kDlORypD z#M}-}Tpg1ZYUh+ig~-NdjCST^s=!|tS-_E`it+atY7#Xr`;9VvP+Ry8XeuM~YtV82 zFY09I_4v8~EjcF!F!$9qkGjqL0M)P9%kgr6)M5``0vHHLDjRYtmx!jNmyxAxF>T|j zl)&N0>d>}w=O$BtNQh#W zOFoH}6YG9ll7oOn465Sa^ocw`t-G~09P&2ji9k`UejlsNy2xWX#cl_4iy*s62C{jQ zYV_h%{j}4}fLM-@uiR+i0aWF}=mpVLI^Jj{9}qKH?0qY{+t1^3jw2gw#-~$);nd&y zOoh$F700WN%h32XzkbhroTTPgvk!Z(SqBS2SSQW@~vz zGamA+!3N`m0<;zNPaK#=XMRzB{<%TVKoERb&zm9F1g`|TeeI&SX7ln{cb9~gb&G3j z5F)`eWDyQ&U+iJG@$YdFHI8ietR>s%t3yT4q=8XHe-!2AG=Ab2aG(q0c_VS$kzVvRh%W0W!Ev8uIqK#M#8&;CH|1IPlj{gKPbjRJGgO+$FyNEGmJ zzL1YWXh-QQj$%@SJQk$R`zX;bYZAn6n24mmf^jaq1y^!1O$<_@8-;kH&PXMcM|A?I zf=Pg;BhZv^*YB`qJV9Z?!ZmkXubl!S@#IiirZ|=uRsW2#+#7nQ*V$zbn<`{T9h2#h@da@nE*}Lv5>2=|5e58p%qT#JbSpAO;nB zpdF>GzSnq<1t?y5$BX#Cjd1LZ$#n^3-HE$Dv|`bS=Irju)z}c(bKOzCFg(@di(Kz8 ztx>{stn$##HhYTrd-SsRRk8;@Xm2IENs)>|)kN5y?g%M8J67Ufs{6*Xe8We2Dht{# zu|bR5*#H7KK(j8XlFyX9Y*4=&+DhuDzaf}MOtmVsLm##t25T&0k$vv+Arjy;pp#Vl zFKK-qqX&=zyQR-_%#g42P7$ul&5)HQuI1{c?KIW#*yb9VOrEQyo@a+fV&`2c^*|q`YdQ=Q| zKAh>+sG?4g42bm}7ZqU3^&$>_@n@vRevx{W@8Q7x1vN@j=#mNEJf#Bs;4B&Ns z<+N#y+OcuT@GSMCe$z^6w*vMUqw_XM*5C8{eFyLeh?`kLM<9)DjAtXVyMf@Pwthgru5P9b??JrV~8i;TfnbDxIVHhZ!zRx9q zs7EtihZ~K>bn^qhk7nY+;h>%}0ej877*~B8jFUs^2YZJfVLkhIuzi|EnM5LI>aoI7 z3gOM!d(Ry=_zcm*=+$2Xq{f#qTG*}x6#1fJrJs0p+8d~#^RGHr;~QRqadw=s>6XY# zF7yiV=|6m%Tx0MliPVI`u%8sUhg|=J!6GWpZ17;YxC z_2KEcOprLE4Nj~l?)(h5cUm7VgCoc6Q!h!8XLpq{5$ln}L#FYLb1ymT>Zw%efeJZ_ zgPzD;K{y1=FY3Ld;-YaS)jX-noWsf>0ut3@hACLC2K-S~{m*#Wy9<;3e{H?z*~MAZ z0&N|5o|lQepy<(H;78s~2OaDbX%BYc8?N507^%CW#Y>E)grec%Otkdq&TWnuq#1Bgsg@6@_Jr}?S~hJ+{T;wT(jSL2~k8}-nCD+ zfK}0CdeEmW|DKN?R)4u0sb{pKX_MpB6UTM{ zDOBd~m|-|BIvb7xI0!t{_#I)zRx%r}=15?^l$tN5zuSksEviBqyl5AaITYT<-F3<~ z3bbK@XcevD2y}7v=xBfJ!%i0&P8S=a1M;T#8s&TKRH!kN24|kh%TFfQ3q`cArCE3! zfR%HQ5}favuOI$#ueA8!`F|NR>$23-;U2UVeKxbW8FAL|2v=*gM<2Q$Z*JBgvh}C4 zgJxbPj}6;X#DmUUoF|{h9aHsI0dOhtyj`IFfHu<%tD`sTzC$(O?h<4qKqzB=>7IQs za)8uqkUt(uu8FA+a9_~du1GbSu+mv9Q@ny77y@$Ab8cyIZn~NKd<0t>+vzzY!v5oq zi1&lN==2$1IRvWrDyGGa>dUe1%)1T7hFdWEWnglTMKLHgv+iNl#!ABOLeBs{@~U1m zenB(j2@D5+&5?1#;Ex)ZOX@Q~KiVlYn^+@9rPC6RWFCg|EONi@=il&7f$aeS2qK77J@kAPEkX=4EFYa#O?81X3e}``7t2gfMjKU;mYl5DU;kU z2erZR3P{sqzG|*1|5bJ2A|<&*^E@dy`tEfjF7lKZ{ZXYqfud1;*O1Ww+f?3H$w~28 zwFU&5x~H?fuM`%U2mSbd&PD4z&T$SNgkSdW?*cCRBq+To=yG0~QmT0*{J4<^yBK}K z1mqv49nbm?h9FO!eozo1eN)_$>*TCsscaTHGFK0una$;@doDxqX2wK~82!)x`D$#& z8#&umBz6zyl##xQLt>&S7Yf)DTR8OA2YvbiNiMc5G94rp;4F!2H`ELzFgp~z64Dp! zN)CdV=OB!q0Ozh5H-|G*LVC;t5U~BR@Z`3dVulrASiMqyk1p*&;%JoCaU9O|)TyT} z41p{u`C9vqXPC4}xGu_sIdva-aG849oc3aTbjY%48(Wdzi-N&(J)xSw-QJ4pU#!jw zM#Rz*?h(kq8t;XNMtYOzJX@cO!&q_8>V;CZD935k;EsA=Wvk`rNz|{a)l=w}aQiGa>SOEg=WWEuYKn-Pwv{%aHEOnmd+w6?c$BAJZU%S3w z(h~=UHTnZ8bV>++-g}-Z1$9yPWfDFNBRNt6(fg;&rT8E5Pf=Mbt}}Bz^vofs7Em~5|5;*#T-#mp|L_pyI>nJzfy2fF1@U6c~l2}`)w{L#~ zZLg{Dz!cC0Nhsp=Lg_)-@lpG0UX3{>?0aqYk&O=QxR)~HEv+a{I(ffC8$M_Ni_ zeFS`yJ5{X1oOoEb`z3K>;!5W7hIk;4z`=SOHJ1(l2QrRp&Iv0eE=D8o1 zk#eq45z{KUPr?;eTT3a9kn*`2%<3rlNx)8S5IzeG9F$1aC;FpHh*DFmi0Q3&}GW9jhXC+|DG<<#E0d=DBpH~Rx) z4O(Ixcjdbcm6U|R;`Mht{|5cZd%*R@UCs*#pKgrZ5;RDhZ_+2RvaddtbY|B9fv3UsoPqZxT zI_3n-Z>UMBugr{9VKR$3f^2&=*gUhv7Wx0cfRFkKfPv#3h zzOHGVu98GhVp%)`lxWFZjoxQJMbPS^f8W_zu>&|g|MN3p`&3-%Z7a3Fy#4MX5A(rM zulyqUa@N7h2vUYXFhY~R!@6HIokTf)0&vRtP19QH(H6M~;RgizRk_cm+ZBoC5oJFA zlWq!zMzl(Bu`rH)mV>8Z=P9$^6w(+M43Zpgyf9P9<2@^%wBC#GglE#b8?P4dOqgN1fq;RM=+xB}i{o*mg>#71K_k5ZIj;hf|%GcTEqEy+14%4h;`8A!fxqlE~IrF=ueLz zYjY8cJi@~n3a2i12o^vSMp@4kQC@<9a6V#|#|HUjt&W z2lFQdfDnkWy;aC+?_>}=9w~>OIT@P0frq%HNo9rVkZw>opHb(!QbDyAl#*!I6|_^p zoE1dxVCUvU9}FY$0G_C=tv8vIir7#6rlj1gTq?q(r)&O!@yuO$>?PYvk{hQ-fDPZi zE1qKY-DG60G=0O4Voj-vnteULEbsph7e4V4PN}&yy1Rv34P38pB?9u4cZ=zMjF^g(-!-#uSt5f=B%qAu!2e(e5O(?CK1* z(nl|UHqVunzxi#atFGw;`Eb&TF7qJ}UAzg>9q-{Bg~@c*vCU-!0V+85?i1|09qL&+ z+QFteMGkTg94`qT0oFq!8|Ycq$p^^wwJ_|0O-~*f6?AFp&Pg+o`N&*5wVoD9NMTA| z5GkR#H;H!GNFK!ApyLN=sVNf(g{dCa2e<9%SE*an>E&hLOYwYE0@CSZu3%BnFF-KN zz}N3&>2Y!76(~~bhpg3B=}Yj%11J0{#KSM!5&K>OCbf=wEfJd%WqSgpSrPH99=k5k zm#3gb7QgMS>6AAjn@C>i;91AeM@s=vYiaMk=`g-rh96C?5Nz#|nRIP;Qj-~wcLAK| z{nQC4CfAMzVCJmc><6s=OvRbyph4U~M1Yoca$Jkguzs8-LI&r#)-p$=M6VOcj}FqU ztGW@!^Q&O1I<4muzj{Yy5+?WUfFbZbXHewXBeNdBBI@s^kLV zFL4$3wzMpB^Ztoh0seVWyo@?K9%^IdI|wgEEV`$A-U6%gXw7`{tsdchEqZP096@Ii zBC1ttg8Tk`_sD(5-qWb`kgc=fI?swCJ!MGa{cV6!Aotb7u%JxrfUnF&L(j_+JB0~- zH_En*WDRwhzSVI_h8Ja(G31dx-pts@w7|0d%~Pza?QIN}O6!dCtKW+GtxOdL%t`G$ z;<;0L&`xAOMEL5S!pjN$>pxQtmXxV}O(2gFa+>TfW+lUChK}MK6t@PIo!xtFh`AiT z?q zAe{{U5V%|MhAE-ld(e9ZQNvZiAW=!NCiOY`$KaEsJyim)75`fG0vA0Z~}6 z=oa@doB;=9;;4*1CZ+6PrZM&ADx42ZF`Z#aHR*z}6jc9B*RhL;;$uBV=R$Wv9BmDD z;e_$ZU7u_}l($EQM!1m9*8G6)@bZo~7#?_oZy=Ac)y8>2{l`v=QFBsK znXz1=F9-N?O#f3!dwOd@_6FR9GGBoraF~nl}Tpurh|XnX%ZkQ^j4n7 zym954F{kDHz5r$|E7wP&{1(dDgro|HNn6mGsZZVZA+Z=2rvgYJan&)QW?YAe`q<#{ zjD*|H@%gMff9b+DmhcUceT-BuPV7VZnYFdPhZbvYd^gY>#9%KtIO-9hk>|c8b8p2V zanEt7mC|kD>wFJa8Oj!wRtnR5OD4AL*d-lu81=n4f7(Udl0Tz(s!9GPJ^r=pae6~X zv6*(2`UCXJ6Bh3)cMZvjUPZ+dYRVeB5lWuhe9CdDje2qpI*Sh{G{LcGObBDq7KrTr zLMWeB^URE5T@+58NWRV_mq(*tgPd{Ua?7x#;{tY1Hv!c)2Y181RJU_9o=33}xNRXP zd<`|Yt#LN(HIm8bPI!>Mzc4Q2BHSuxZgx2;Mj}?i_SLxGy#Kpe@DbI}@ze>S^RE}A z!ET3-iB{^TkOsR`@H1rWS4|Kpy>t679)?G#TBfBa#vN*!J*7mUFz%(Ebb0z=XP0qf zUu&n;Nj*}#7yen3Is{ltvn>%X=aQ0rnms{JpPwD>A!V~Kyp}*CR==6nI!By-f`X! zzRYL8pYv%yX22(nQExhuH`=gt3`90F^&c9udpqMaQuG=fHH?(t`h*U~-dQP_(T5-M z&Y)pWCjDyK20YqS6@&D$(Z$t|@43-MRFe9evUQ&-sPS}aL;Q?Wv!e6K{NFBaSHI@+ z2GUj```HbYQbeK@EC%F6t0`P3NJcDzzRHsYp-NyYcg^Ve(i;=L5h0{*kUWI!e_$Af zr{8UD+i}moX#ZQVf!iF8ml`|o*5oIg4}n(h0vaaN=7#kmf1={ld^< z06v=1LqG<_A*1_&lp-5{;L`W9k8YiaI|j4=UX11lD0cnPqUl%I#d1=Y9*pHmka+45 zo_*W>0n_%x^a|ea4~i^b@9YQeJ$veIrP6O1b&n5yO_|Z%@7lSB8>oz$O|Gz8CAv>M zI3`Buk7DWdMgsb8ImhQS>u^cevGE-zhU9jwC6oY(Y&e$lbRwIp9vyWrZmoeiwM#ZI zVz0tLWy2|~w7|)siDdhB{~=aSM!CUe=>w&dHqB5>Wel)$4HyleIi&E#=oYk7j0&*L zs9c_fsx(po7Go_VWP`Dk;LwS@=~2V}>l!J)9l7xiOhWp@Pw<#-a?j?KWB+%(gnL5G z$tj`_wwb-QEo`4?-^~+=rh($AibA=eK<*kwqPNYmjIRW2^NX)22H;;iCOSrE?-H#S z2-6cctrxH{U!H!jT}P(zP(K*k!%#}54I{jswRaS91UNk^r;4-patVd=axEKRIvu!s zX#cdCIJI#dONlDE&zKswZ)4!srDvpiA$uuuuXvWCa{0f;o2+D}Mhm+QC4zcwlk&Q^ zCDrlNYP|Zu5C=C`ded3U)FY*OOlL>xyVjJrUUllKjXzS^Y``$&!tVf9MhpCgjg;|b zix2O6BMy)2d*`5~R%IGL`8tyBzc`_?LXQCmp)qF*58R5OFr4J&hP6N1$S4Mx`2%VP z;#!mmUV8tpW5|3MJ~59!A5lz6mPIL!Sv)7Z{ z%wb9)z&An$==Z_SsZdMJJuLl$mVDvz7Sf>5>Pef6dcfPhcnNmP?*If~)!sN~yZi$t zIF9izZ3dQ1`4&$yKsH@}IME_j+3;h(JFafJCM4h!^F)WytA|5cygO$hQz(pJ4;*x= z8NGyT0*T<-#cVd*II?{$xLyLw!_|g4RLOiVhloERWZmd6)8f=DR5gEj zXZUX25hT77{AK}1beO$gE>hI5OqvfUskP#55(8W_AC%vA)kw0UZ*dmaxg;5GMh^y4 zc}&h+rW$2yyMRddnXkWF(TCVuz}V^4Rc|eUFp50Q5p7te11QtJiuI49%dvhF->$L%L0Cke#XGqXFgVj$2TskP@H|EM#tw}$r`8@RSLWT;hA?aPuDN~Z-f0|Tp zccqD1(mbGiQ}{Qm)5;=7Fvt??rzQi2BWNm8h<_J54-aG~JGf?xn0dx^UsZjR_2yEK z*6~swv~hV+=IV}W?a>3-A+```RZ9}DW$OJZ+ALVqe!3b2n;5%KNgQYi?lF!a{FxA~5|n)mLy~0-Jg4=DXC- z54!2j_Gj!x@9jE-pVB4GlvYIivMB?A*x;Io89A9eW42nUyWFgfiW3K_rDO`VQC&Eo z{Jzp#VXQjJrrooZ6ur$DLR<@o8`JziNA?cI9n_2N1P28YvMBidfR29zKOw!S-Fq`p zm69G+ig$Ol`o(G>0TQQ+7WuUn`AVvJhIFv|4`rt1dp2QgP65i^sHTq(x!9zqu94SO~8oXDQgT+nShli8Jo$IN@ z919C|@;ksm*Pi{7=crfuHm;|XXjOQv;%h;B&v{+vAzbe+I;loQigehbrw_YD2lbELtu zR#fWSypJ99kyL93vltd1JqKM{4c7*0(%cBaw}0Pj+zm$1k$FjiBxD-u>=}Jc4}s$` zHrP9RI$Eh`MWZd(Su@yq48-_}Yx{tkX#Xj8Nt*ZIyC>0ZLjQsDd{;t} z$bXHYbG!8kK$M=cIl~m{5aPqPYNHG!u{>VM*D~Y97cehi(~gc?BGZdI|6hU-T)17b zaAyrim@g6{r>)t!oI4*tUPR4}NBrW$V=aL6okhS~yMi!gX>Ur}QYhN)_Ik4n94io9 zJcRXsI;FnS{qZ_xxOe$+b#!3$KPiM9QgCQeO$6cn;Kg<_q%B*=zCNlL9xB9@axYVY zSBo+RRo92Gw0ik^RbfYkJjaC-xP`Ht=g`2r*?4B@B2y0%AKN!sVx}SJAz@;-pn*GA zHZM$#lw&A%`ozmiJ5*t~ep{N*Z@c!!0XV%{s~`nuQb3q{zQ&e%Tm#;Iniwq-e7qWG zV`i;JU~j@>ZPu9)ZAxv>#Jqd40E;mW=kyDCgIXx z?4+p{r`g{Cz!}SDUb4JNm5x1FEts+>FYhOp|^9Yn4IKuHqO&c}cWCIba7dFxt}q-h)gehulD zitOw8ajr1nF^XkZTdpI9dFP@!Y4SUho0FuHKWJ8sG9XD+)_*f_7e+ zEZh^_HC!LVbS8_pg{Qiu{oUQfiCdIXHBT24W|U?^b9J+v?6&BJ)S+85Do{;SR=E2A z(TczCM2%sxusL|y?AF*Ziv_R*H1^ zj`0b~$bRcjJow`3g2WvSX}o3h@=XPS&Xg@&bdA~SGb!HRdd$#1xHbET7}`;JutwFF z>4Z_EBjxILa;j%%aYhrxi2UR=XQv6?f`eU0Ldt| zSJcV@8pO4?MnS?sn0jaA4Wh66uf|BYV)aNOGh4(#!FZ{3qmUau>hUs@SSm)n;H7#O zRhh$fl2gztOZz575m)7mW&$53*v{c$>VJ58Kj$y^9BO?pX^!|%@V&%jSZg}@T%m>s z=JbLy!E%3VW^PY49&hy-SkdPyOVa3MKuyXv7%&V^PYccA5whW++P9A_DVyShYTo`K;kG8)~* zu5*~skD)mlC79(c2LXONKSs}ND6)2Rul7Zhkz(A8AL705TqXa^$Zk^6Jm%(jj?B-4 z8A)@Ey2qABKK&MLB8^Fj2$j&VJh3A)k*Bd|b~kVV|MFKR)FyY@Ia68VDC_b~S}=fR zo?}P!n$U9nbqvx6m$0K_y|SC+?BmepAss-fVYM`SxG$e5rvaZ=+jBj5Ma$aKq}qyO z{_NChA_t!4NFMa_&GZ=@hg@bP?8}U=k~GoJF@mMAMNTL*06wSyJ^r{%Ze9q@?6yZB zEuw-!_@DqRu>An82UvGAMdKs#io8P*ePS((Itw8e5)54G2Lj2`toj&~%XPdf^(YM7 zdQR^58BK^muk2=9w0R|U$gWk3TSeeE;Y$XxsxEmaf!XkhG zH@HZ{R_$_+bBuvtkbu!gs&vy0a8ZJP`V|j&qLYr4Ff5I-S+#6(kFkj&d5@}?U<$kF zGKID`T-hh_<|&&b&5BMM))u#uP5d2r5ivicxbzN0E!R63SfYkR^uPe;8rnu8=nW8+ zd)k#})U*}EokeQaprle@2)fshxAhXEYx?;ibOQJXz}uWOoDntG2xRye;Oz8}^m-Yy zGTlp4X0^ttaY#>tml2M$elUo1#U48_EW@t!DxBmRjIooDU1u0i3e{{O23jt*WfK;F zr#Y$r3t`7-&a5_`dPZK+T*4g=>G91 z>Rm#zhAp{^vNF!+f132DW+a3Dy7?8@i>L?+mlE7*wEj6><%$Pb9?g9p0~lWd4@I|sM{hW4;+cricVgOyRKk$3 zujpT(Wjd-ZYdN~FM65iMc;g#?Vt=fzm7?z~o|k)`TK>SVq$7#;G?aJzMD<4~-y{*$4R^PPr)4+qRS7j{m&t9>n@_O!%Q?cdnt;J__Ylb79km3k&ydx!9b#!8g3yIRyM2z(q0kQoLy`SbgApF@5ACNe+HL^2 zkmM&xc+-r2DW*9W%%>7AGlOD0lTit$AH_pz99$BD!S!wL75h&h;q0% z*{hcJAQt(MRj=s#5KMAPc$$iZD3;6Gc)g55=OEThN;4%@gWBi%qZBackhZW$5kHCl zOmac%&%tZ+YErO+6pz%S*Ll~cCD0b;V10!tYbJv9Wc;m%-9TiQRi!0}b(DXW)0_MY zVwD=dnq(RloJ2>tWn2s}Mu(ch1ndS-aN7pVKz12zMl23r^&71+{n&POD1S0`&P-zu z3cp*RpI)@Hu*ulfd`^2rs=_(Z6=u%FJ*A~ERsAt_D}`YRg~V66`%{#~Gtjkw7=#t8TLGe+H9J=;^zDW#_kzOw zo40^(>l9120-&{E3aAZ+9Qp5k>)Ep`!tGGt4bxahfxaZZ=#p)<>nNQW@`DN~{0NYZ z@l2%|>ht%Rjs&ePe*+Nf7^Z($7_6b2?gt7Ci=tC*vC|uC76wDfzU56|Hvntu&im&u z+J(7iW^Q=IS+y_exW57Jr+}fUj%*;bC`R2$-Zr_*YTyRjx?H=iI6#yQxTf9aExk^Pdc$`7M|6M(62O52IXs$o&S zPs8bs^M3e3~aAO z5cIa9hkl7C+HzZxE)9GLVTOe0@=rwCzAZ0lULi39K~>hd3(tgvJCQK+5c40;!+BXf zG=rbo_G^rjk4SX|HtAkk2AasEZWj?K{ba7I9*s_C?BIvi>LHei!-DVBj81V4c7@4*SgJtn>uol#W2GwgXxVA$aZ6BK2)B zBo%jOzP9fn<77G{+v|EmaRaw6VB6}k$T)q+m#ANYT80m)G1rEP!tk2%HSUD!2OFHG z_*uk`3180WGYF+hP!|kj2*eRy<9dG&{oZ^>Nhf*nL>HKt^;{R=5~pU8Z|rw0J&2xo z6v4e+aYzP5i{HxW4-#=YQEX)jEgsCM)n_EV$0fyU5!ZRx^Rl~Orw2VToAL4KlvX!5 z*=oc#yNk~qn)#qy9%*p$rT_vtH+clVtGu!xW&kzr7SZ6e#4c;y)$sgOP8d^P!ChIQ z+bQej=t0pf;#PfOm!pg4v#5~^7l9YGg41SMt+-@ZjJPT$zdX(S7%ZC6jdZ zMzCL4DqZnZ4=fC&<^)tv?-3=xy)#ncO}gmvYG=**D#4=8RsMrFR?P z^sHLaF6;&Nx!P;c(tvJ&4(AlXIEe>(EpTzn%v}f}&2QWyW#z{=h8koGEe53ofaDwa zrq-(Lv5bIs(q_}oY1IWgFvy69b~Fy6>{UfgnWq5&)Xo{^r^el@mUiRQ{!AR{bR%mZMo^ep@hg%^(7Mu+29jAUndMd)Wt|&J1oV z`*=3K+E%-J{e2gDyn=+ly!5L8za8ogMrda+JXFjMj+Dg+`7x6~K;J<~N^`E^-L5bx+zM=_$ zpz%|ES1QL)=13Z=C8udoJVgv({kBycai)iz<>~ z=4>i)I%V)T#?4Wt$s)*&*mKNN(?=rT$PzUb(TF@>-q!Ni{3!f3px2XDXP?# zGZ!8WC<^BDgQ}Muf6?C^I~TYwbHRc@iLTC zXV92n@K4SBdq}R2x|JJQd0@%1<1NW&_DY<3XPPT`MJDv@=x$3l9let(!86^r?}k(W z2^>bmPJTYm6gTXsmKI#KR8oN@I|ZENmcP6GP=w9u>7ejG1EXdbIOHgzI0Bw#gN_}i4hD>)x zxfic+Jybh4&dAhyN-5D7%I;yO&K^WL`Bj~^3+oZ`qK%kUs<{3aL)*Y|2Dj&+`s2>E z7D0J?bSdtOB%-JiRfgeN6@oioPi+rML=dz9|9a;yL=PL(tp=2E^@6DycbAQOv#mK@ z@Df%|Af455$0)NY_3pBVKH83r!U${HYllXB-%n%jF?^ZCcKrL0yv1=^deEugRe|LX zHwCojspQF&dLm!~*ZLf-?ScR6*oTJUVp{sGSnshBvU}m8Xf(}`p+>)$+3Y)T zZ1ZecsAc_=DP}OK>bvGGZ5hd}c!?(Tp8?H=)DCKe zL~o?fI2UGs(N+-x>0m?K(23|uo?t`W=iztOuSHNSj6Qd*>4ZE^xJs?k27mF4>%uy0 z+>o0pH8Pqyw)9R&g;$W2OG{>~4_W5LjL?tVRfMeN8KLC%x~~4+8Bp4ze|#1^9mbzY z#Q7!Tx?kaUyd?eF535uuJq2jPJ;&`Vkyn*Scj+EqudaTVc!{fQnS+*qHB~!cy(l`} zTiE&Wx*T9DdDYQ|u#6I)VkRnuMe7>pyrGjYlUI~dvUUC^K-0vQts#Oz+=Ov z;pMLo5$bND6Ax$nKmRywtdVs=dr+HJsW(Wy+vF99TBd}=n$2?T;jM-Ts(BcJijJx)jjw~R2a99kXJx1P~+gnq>r-kVKx{5JHz-@ zI}QFRt$I@OAEe59C%wZEtBsCj`6;X;5#B$)!z?%apa*7TaarkHS13RhHN&#M5j8Y; zD?R3Xfjkav?x*70R%NqEU$(_z4-4L&UUj=T=NA-CYUV_Wq)qopH2>byrw70-<~sa~^f(x)i8?0_ z;AJ90Hy##OMA({Wqv*~e65Np{ag-87LB&8(`N+ewrGXO+5xBLk-;}hs2XODX4Mk`S zNTVFDUGu8CJ~}e>X!tO4e7`zTE!CAj9@VBPDsKu6U+U)d7ss5M#>d;1h%XLX9J7_X z&}K4oz@GHrirA6AA?OSr1qpqAu;ve1vSyQ@vDjwcF5rc~%+|Nm0X56GDxc^4N@;>u zq9lnY)l^>c+T7)dxH@@U84O)G;7QgVTIhEQyRY5C=>xVNC^UgY>o5%K7X~*Hi)I6b z;7nr=fkd+Yw*IS|euWXN=3)mT01Z3{aPjj~0v`W{L`)@eSI<}wXbq()Ow>?dif8&y zDQe%L4H&P>F_?vcp;1xB4tB>S_5IPmzPuN9sj?paMtdX)c2$*HrLCbPIqQhXn-GZv z!#evx2wOzaeT$J3;7Jy_3`d_O5c!@vh=yZF#x}jEd_<7&XCt~rCyouWT6>XfOnC>Q zHj75!`zr6^}L09Uf*Fe?uOr6#$I9?ktcjn4k<9NQSN~^%%Lzp)#nE7 zk10iOr>RPIXU4%W;e&R739)vi(f`s0sNI<e?BsaJKQgOBbCc(JD1Gb`?T z{b3QXWj*}s&PE_=t;w)bEEm_)h$+yR8C?&*M?nDbaB9J=C>KAi}PVESU=wK$!r3$_g-;h&4wDf#qAX$aEe6#!DCV#ERf&S8uZlYG8gS{X**I?wqIASuA zIEQs1nl0bHGjb(6tP2bUVSY=Et&uqp3tpmn^F^ys8u=1F*+ZU&lBK%k9m6w_YfBJV zW_41rgzqx4iM#v`Yc%})N9m-E9;zsb#2a(ru`zhfo!-Dz14`JM>OS)4-W$|LfY zl)b%1(27YVDnUpe-f2KvxcwO4@Vw?l&5zv<3-4-+$I?I6lA!$~x<@4}A=1M z1tJ^yu4=q@3DjRI7opY#VoqCAWIsHm3Dw{FDT`9QS-dkuO1U9wTy!iky*1dKBlu!# zJ8(V`nzY-=PZ$5uwp(0pB=z$`K$dG~z&a1QjRa5c>P5O1!oEq(j|K7jjO)>A<{qZ+ zSBp`}tR+!p>RO^2B1}DvPhX3RUk&@~&xh@oy3k^kY`XnArudzsm;`=2gI@+zKo zj8|BJC`4R)dLBtAw6^nlc&Aqwn@`c6eWYcdb#ZdFK~wk+7PE4=eQ-sL%^sh zA{m~aK5xeh2_)L+1cvBQDea)GQ3!y@iHW2V&6MKN7MQQC6($P3w6UKpSn%hOOwk$! z$#TF5kt$QQ2c%W`-~cf|&cE{DtS7cR*`t;zNNhBCJ^0O-0`s(@untjqV=B409na@| z69=yTImob!90Lr}XZsUO8LlR?d&j@;>@`0~;icOLzkHJ)UzaJFrY7NCzkqXmtye)< z#~iO~l7^b&2qHk9wJ>6+fef70y?X*Wium;4%f=(Z8JSiF&;Ii|y{ygHg4x!%8mC2a z>Ui+va;5KxzL^Ho^3+CZnC!~&L;`ewAhslTB4L$fiVujCCE|CT!vT!cOIF_7lkZkRv0x{7^jZe}OZ zAF{6jH7g>UHZM5rMYOn@C!*1elN!DUDGM=}-3Zn)%Il;gr5{4{8-Nb|A~9mKkF*UP z1&Nk}B41$FOZz^v_xQ5%Ny(+v3I#MK>C%+8{!%9P`H|&_+T+VoqfCGXUAoOVZ|RhC9+h3yXC>=4ADo-Q zxqYTt*MSsKg=sGRq+Y+p?N4S3M7;+VB_p+&0c~`ai-omo?7_*pNSIRemR10pl6}}X?riI&g%P{I=S8_Rl z$SZ|A(Gfgbj{ zn8t~D7P8spS|<|R4|^F}O=$joJM@!8+-JY>Ub{0G#XbB*PQYe)xszK@KS8t%X zFiHmzJbj3L8iF&~p8w@^Z@=D9FO#hGWbOVIO)Uw)nzhl4pkD(7YQnTHWavz%xNimu zIqf8+5^{I-QFVm8fV-TQoG4uW2A~a-;S@j-HL4}}I0I+zv`@4^*7S4wxryoy_EpCN zR#)uI%^zG4+IC@FcPJH+>zw^NoXwyU4R%?291LB7tK?`02&rd*hliMk){cqqu#~vM zk*8AK341sSmzr*#I`c~xM{SmU6%Y>d&xn1cSpBEXFuv_!-f#+cn2>m8@3wT+AL<~9 zjaD%~7bseK&PqNvxeXoS1B=894vf6+Jo=+c}e84F$3c>u`omjwp-6;#aXm3?krfp+r0POj z!iyk)tpd1JlRC7$MYDfjDwlP#Emsi3g9`W~)!VF3rKK_Tgrb(qiZA+kR2l@YFzCOv z-2(?&M2D*o1RC+h3-G=o-bl~n#{@62t81~I@H6%Y^psQA6XkLa*cb3xe^D&4r5f~RHWSmVYYOabv?h!u$@tGll~Pf zeLvhM1WL7Ye|FgatxGs&(oOo~b>fA#h3pC|4V>Cl5YSyY8vLe6=(Lj4@Aq^3{ODC! zTBxmkDdzH{*s1-EW8BB@CSf~73oqYSqYWH_=z9}adj>#}siV{w`A>7&ES&c>5znHW z82|@Lpmo+{Q`z~lg;ZJs$%FT$D{9psjv~KsyP78+mo=E5uMBCb*6pOjj#Y!iVO~VH zuJpM!1)kxfJ_IL!BOT~LF#5f0z_4hMIe`bZST%SKbOJ-loyPc!d6Qif#E)*_!fd8``5;3&Lscx=+w{6HLmWHGBeAJRXw3}HzV zugwZF{LI~lZ00EYv!piY&37O5z9GLN6wWmg>FFhFso>~eS3@oE6jCJ0xJ6W~iNKFz zpaaT80Zzuk^(M7gdqT*-6g>=y$x%>h6rl8c0gQhY9wLJ* z7km`@9^KIR=sts(N-x}>DVIda(;54gVl5 ze0d;AgJ%F+4<8{mYXboRPmw;45DoS;M6XM`5zK6!EG)}nQ5UFf<>f;xx;jXCh+)Wa zvKx%FJkmV6+{5IiI{B0z9BJv@USnjgXmumy_hWT8R+xRCD*Z%#lO?_!O`((Mk^_`Pgn{ zgV+Wr^BC{i*o?_R;!))SUWcb>#Tld-#I7gpxi zFq}Iw??02&7FDWcT3imy+JaYkH@wL{Gmu2>1j@b>BV%N0fkq&v&rLmFwd zms3EG0lgyH6vddRvIxm680qlU6jLde3db|QtS(7w45q$ZiNH@E{UAztu&+YM{PO{~ z@Ic~5VW|%j#_$F8aC0s2PD{lJtWe;Xer!MpdEI!2rF?=6=W&lhtc<@`L#=V|l=3jg zYdqE|%I)ETR8HKl;9F$R%@JHHR91Gtr{pW$qb8bND(!yZ>M(^R*5&iuHTZl5r2vPY z&_O3E50JY<`gN2d0c<%z2n24g74tAdsM@0xH1UYdnJ_(pr_}OgJ;$7bNKB(1H*SU$ z`<0GdwSE!Yx+en698d3xrtSk-Y7ymxWaLJ?{RbxZXEdkMjWWREfJnbMGX%=OKHk%) z$hl!(z6K&eBhovtAMpUr`*j0uvgFUGR3IR9vyT``Y5d5~X1YCt>X_~sBrK4FE%5GF zHK$lQ@0`E!W+rJ~ipIWd21I>hI0l(GUG8@+5v)*BtT{srfb2@6g_Gf-PJ)$NhH0{` z<6oh{@Q>bi_piEClqbO#v19v=j3}zCh{I zXNrx|6cu$BJZI}YDUAD$XrrJbvjaq&lg$$I;ayaOA}>|3{v;yA4dAz%W`0ZAJq!2?_JFg(9#S{c%^hh`4QA5|K8QDkOfX$f!+A8eITarqaaI~OQ?0hPwA# zv_Lht68%|{$@Dg%@w!E3vDc$u@y8dI4rf7HbM9|_NT$i!E3(GyVg+U;_2&f#0wbHQ z6xhswed?jk*h$aAR-2@~9l2Y#0CfZz*^JhmSmQ$^{0?FEUV~ssDqq&kNk38o9a!Ok z-E8p<5#xECHTZNYLw-{g$GyZa4A{PF{=an-Yn(D~aE;jYLgmxiVCJF8hL|`D!Ivks zH`&JcqY`hHaGM7gqv_B{cU5^|c#VhF(rvX_nw{Ds4WaJ=brVB46ju_`aVJX9dVPX3;mH zQbDsbQIFC}k2QV!;d}I26e>Z$9aAFzqgWnL%NoPtZe&Vqoxq`?D%ky877H=zKR(n(0~b?BW4Z=u23Bg%zYTdjV2L8Z_JbmR z6&wR$f4nz6kP?CixiDs^{hZna#G$O-!{*{Vn8c^kjg=*7T7y>xzOv8`p^Xg1=A2rM z5&-=ovtqM^V;EtHclOLsr;OVzxL<;`Fp0ObRkZ+obzEO8P;Cl4kO&hWzbiza2HS>lqL&vH`AhLQVI4$4;#J`J+$>2&A*HQxbwWkrYcqOAS!@fc2 zqK}B_9{^U1nl-lFmLY!Al5Kvbh2N%pX6b|pU8n}%1h~(M2AV;@hqB1foJ(5W z(%anee$f~gAT;ptk^wH#C?jZ@0bY3!tF%qPyg27+c!5>`k*F|QZPE_(3!fgeR1&wT zjT=kIVWBIN6Ty~TVeu<`n^_!aiapwbYDheZkm|$=qN<(jc?)UCg~vWtWC-(eD%^l1 z_&&nX1uuwJv&H*}2b`f44z8N@OvCb*u%1^DNJV|KiVQapq2_oRi~9 zonvBe;KW-ZJCBCkH~x{ujo?eYV0w%{Ds+IdGtJj@?NzN&y9YIeXhf-jf-q-~@?pL; z#MBLD`?LZGtClEqn0^)I!6hbUY6qwo(OEFYVt2QWVm7eXP<({F zCq>dPa(kUE1D{>J&dLNnzy*FJ!BU&O9r;ru*%&rT4`Tl^BrqF=G63PHtV0QiQd1lS zqGq4$qb;Qe+DmdgYw|Ma;O3u^xKU`mO6!4O!{>@Ej^sW>^oIb?VzG_H5pg|HrrPxzG z0}^7k-BwdrHsB@Hq3o@J;nQ4=aAJl~nf*|nPP>yZ#mb5+b31DOZtD@fM;zh50NqAS zz;W!8$m~jX%!(bu>3`*VLrb~dGGYC3)@01&Y_2vPT~Yj6Bdm!@wz{QBA{%_hwi=@@ zr+KJSDoIHlCsS-8RmiZxeblHTR5~nDI4HWpi;BcAHDx!Q&&(2D!lQy~PnUi@qxbQr zqf9~euuH4eWLfxoT$tH&MFy{i+2ST)MYTpNlFnlk7ab|Fn>A9Dcg-+&8D<&wEdz72 zpDPx5K%_I4k`>CIMk~F{howAtvwQ#n1U=xB)2K!>>?j4W@NCfz zOXU*TdayEfT30%joUzQdrmm{@NM3<J~I{0(h zXC%wWQp3QBi~Ak|qQ&J;Bn}sb7Tz~b(v%&)ho5DnsOo!8&Mewu0$;cdFXh~}2x%b7 zGg{E?!%KG#Iqo4#RU`iR&!jmZ9RYWd0)nyPh8a~0^TRzcx~R=}BCharqY9vju5kd0 zy_*NE9I+-Xm_5GC*;O4zzVuJ&?HjE5v1iQ7vBnbYuh2lJSU4z$VIWX~yZOs6=Fm0~ zlsz{Q?bq;T@sIluirvo8N)@JM0uESPg{w9+6)juNPH(Sy6kZs`jr&7S^8NrGXiwoV z`|5;O?gB3rz?a~+9;BT#&+N~kin|l zu_W9Aax1|D`QFZ1Ye0Qsb?1L1635~#hY4ty{-oh?`3#e;MnCTf5gaEV|G4){Rm`A5 z?1=Bh0xgu!DDN^jBA!<1@dAD&J&8*PS^=1NBbC5$y?y?_HBLtF&0u1@oAd&~yj>R% zyBaMRD0l359#yExbz>}uKBRQj3{FzDVt)8Qt15e~J`t^+BYO)5yTjHElv&2gMl=?u z<3(EkN%*2i0Li*<^%_c+u);(#-K2LL&KWmkQ0U^|1(%iuBNn-C$2iVrYF)f8+ivYmorn#DQ#xJDoeGhj~b$F&h>_Ty8XT=2;8)->$>t%=l3GS02~a-{Jnb-DBC%a${K z-DH@mW%nXa^`Uo!|2AbDPw)0LuH=V!A0?^uR>O4EULq~Ce6Q@KkGfEl!umS%SuZpV zKuqbDH(geA>!BgQHhzlg>d3bVp>$!-+Jc}rzKwc)=gl*Nxs)&}&PnYA ziPq@l3HQ?lfC|svKL~N5kI;_XEXJHTORYBi7A#wF3SS?fcL=5jAF=`K>l6nm${@X! z*@Nc4cm=rXsLrvfIi8YHL<}7X);npr$pOT&=wX;v%Mhqgq8)_dQ|`uk#|p? zowNQ`(r}<;jYcGES2LDv&H#$xu#Q=8j|4FR&I2Lpuo7{w=>k}641OS#r%2nW`n4Dk z_ogx53!T7EuURig49n`H?KBV6DP>H2t^ zxFMXW^OLMir&)-Yz#q(ze@?J&3~=)#`8?$v@~O%Vo4imPRT+sM{?Pcf`_F0^A!VZD zrj_TwdXzNmmlz^Q&JRNswhVHu>oaAQ`?d4?%7sW#Akp(%^di%<#; zr`vZmpL8p&%}cWFIbgx~9|IYbKJXb^eSR;*h1pnY@(jx!uYz25XKLLIc_L<%&N_*^>)Tp1iq%uId$bTIW)XL=H49WF^k=R+)n1%q+*l530z z`mu_6toYq{nZylIOonDf&Nxo{#QxHif^OgQu0>^qte?rK4Tm&fhoLu zJJf?Vds6@FiD0SZP+>;+qUNh|X3kz|zj#03N2euz3gL%p@9!fD9`!N_$du4Ya$TM> z8~TK~#e|*9toBIU%N;QurVemu;dYG%1P68je9rt6ifAi6%x+{q`4yg`ccL;5>-KMp zM86fp$Hh5k1123FG}x@Taqw%uch`tx<<&o^iE!dFvPyUFR!&;6XX(-gnc1CGqOzHu za%{Pd(NW`$HX=5(p4mie3#NJXngCB|g5Kkl*H~H2k}8|95qhtlHPa|H;2YO1#muqV z(ppEzFPMb7{%>N7yzk`N0**E0g=PsAVN;SKSp+mTr$hh=WP)!z&g8&A{ng$oEhBfOg27w zEckOsVNI1v*@W}nn4nau3YLv->haOPj6H9z?^PMCcJ)MzfXTG9^oWwXu;qE}Oms>1 zvbdK!Q87o7;T_G)GgK>d88dOiMB54C+RpHqqc~%7f?th=q@a_d*$OK`WW}jXD9HWm&nL|ffMnSlx zlKoz=?pMNEeS2ZG+?!=aK**;vc2FaZS34DP5_Gj1n?7YF0uP7Iis_{b$3l@upAvF7 z+>R^)i(P1nMZ>0{W5c{MzinYHJs^V6mrlR4hn$@BlO~gofu)uc6i8xsX zh87ujhS`xkrV92&L-gno`?H6zhfgh@kwbL{TKQyubCzwx9k$2h^97+rB+XY13$-Vx ze1GD=%T7BWQ&{44CiR(5Hp6He(rpMU>j0Z`oha8CjNWqmG<34LfRmtYU8i*|OC5i~ z7z4ruj4-KhP+Qg#DU_mOYt4OYt;j%cHAa&j&sMhBC|S2W-D2>y-QXw+IG-ui^;czY z;8;`+1-zni2Hi+VD%4+ryjzM-MR04xS#T>?-|5YR|Dl1%5vRewrdz5dnmbQP`z+Bl zoA{hy`^+7SjLtlgAi2G!7nfN=J`J}o5 zq1aAqrk$?3$ei^4)3?@bl{&(u2HcXu0BO_xytwH{UZy;!#VKiEI(2Y2pC|+by7&z| zCf7WykziHpy?*JRQL5k)7_qqvitkejjJP}F+h_uM{701}Z2Y0HGOfzL5C_RX`o4VY zrw}{>hlwS@sbD{eA6C2nIw$pUcKaOkhn&(=Gim!mi)sRgZNg4Nqpjem|(K^fx1R5_i`humjIBXWEIVUA}m5ku; zx55{vORCBGFOxc*&4s>?TFbqU6l>ws)7~0WAHkUkcDMyrba#>QY&mrL1;ZS(jH^p* zT=Bp@po9_+S8A6?aV$wht`?DJmrd)D0r+T1Dh-v~=*qkhGG3OuvcsMc=QY9$0uM96 zj`oe29KHiZM14ErNysrO!!CQY;nr|m$b3c0Hv1wEm11HOYEOYv3)qJ3!aKx)U}o_M zE-Gn2$7@Sr#CgkGU?Gf=H|6;bnOnC=EOs03g^zeH^g<&^s(2<4b~#1R>#3+LuT~E> zxC!6kL$Bs(AvzRy&-PuCf~k-QXf(vXH*0M{@X;qSU`!f2PGj1D!hEON>Zf ze^?2xSa=+RP5cGRA)J9W(&Kw1WCkH|xNv8bp`w+#DD#Tg9BQY^v;)f5Yq;zA(r?tR zny4Pf^4B5|uPE=2b4-+&g1jc@FOqS8sosPCa%dhSe%QH+mH z@Gl=-O2V$NaS7H72z@Hi4Fo-sW2Bq?T5AuBZMrXep^{haXd@wb!#SL@#;OCmNx zV`fK^0XXcp-rd(Az}T@F4N&1;Y&hqXPpREO5|dJs`UmE5jY*+U_QvI%K=CX>`NwnC zeBCTtsYBL6;*SaMJeAmA)xpAlLeo%g?A~&K>(Tm0 z^Aw=V?dgHS)2m`y;9Ta9&gKP!0_Uq15??1Dqj+@LYuYj;%UE@AWj4n=9<2ZP)ivKs zY!D!SdfJ14X#D7?N3Lw`OJX_*0rqj~>h?4F@wKRLPF548yv?a7(Tx!x5SEyheEv4YzF#u`Kccn`fQ1vDOQ`AD2rZ zZ24t%5_e{mq7?T~`Vhl!`QM(g$Uo`^e^9o>B@De(U(G(t-f_Gq0@7o!hVrt#;=mzD zb2{p#3Lr)xL#!v3qvgy< zQqmBE?{v-{Yh@vo4mbQOSjn1iFo#}yW5|3~V5Ul@{ zX0_PB_Y!`S$dm#2ZLJENRX_}4#Zz>jJ}zEbECYd0pn#sw-4u-#bJ1ovjMYr)15PZD zdh}$|VB7e!o#mOAP3KZhi5tA28!y7~7s$>xyyF_R%>t54+>NHqa@i>UHh zs%p7!+-0T(l!v~dX%52GMCw_XI&mixR^0}Kh!VIpWnh^qA3A}uBx2G4uhYoASojDj zE<65Ac;E1;ARu~G#SxfLIdsETseJXKD}ACw=huRzNx46DL0UR3=NiyE-Vuso!Jt~w zyJVYxf2C8bn*AB)d?PLwn%ejU-Fon_(P z5%Tq83npXvGx7wAR>0YYSH^>!jk~zP$}U@h0)OKCA|}}@t?67CR70`xtRVY@^FyN+ zt?aClq91GJKsM=p!1Is*wvknO2>%7m0bP8;3wqclF5|D{=Dty);ML?rLB~Z2N#AGo zEg12@RMNOnX6uk6+Og|ArxJe8)uw-=M#bkF+w%;g|J0d=JqWGcE`}(JF3%Nk+7?qr zBe8oU?AfN@4JfepSDCJQI4D;`mS?HO zBsc@RGhGbl=lOdp_r7txM&WO^o8GSE;>>xZM$O#s#ZPVY`U&Z-`%f6$Mgu ze^ewwJ2|H>cJJ#3a{#Wt|7_$T1;Btz(jp*!Ju4uz>?_PGQW^iH7= zMX$RC>Rkfd<7$e3|7zXJ^U-Z_$)=UjH=&hOZ$(d_j2u;6%83GKF5%VRjI>olQFY~O zM%Bz+%*{#&C%o^EE~5Fwl=fWCGDm3VFcWPtZF2BU#?4LkaC;yxV9t9GPG?Z6tuB`k z$Vm<=7LJ_SX;t{Ye9E1E(3H;k!gIKP&QXYMNHDOp1)WHnD=yN+AiT1p(ssvHsR;?W zDX9Omxfg0!e{B6y7qklMTL|Lj!m zEK@CHL$TAL(A)OdKyANT_WagP(IC5eMT+)Dl`&pC^?R!r{W`|Ru+!A9Bp${%qoT(` zo%;U8CdWUZGf6fW@5xSqE*ok9@elA>2yL5R)V*^r9OBzImxob9rr*sOYDkMRjZ~K# zIuMXtFXK5hF)GhnP*>MT+=!yd0pD8IF(Eti&+X+mK(5u#tJC-;3^=`R->vb?)xL+y zzR)bg6#->$RKveQf44clB0J>?+YasIhzBxl-O0T8(~NBa31lR?mUHXh+m7x%7wP>0 zbv?q_i+FhG>r^(J8?cp=iyTv2$5+@$&h5XESgpnoTG|Nw2H9pX$rUCbF)F3Py%%>j zbAcCMZE%3KiRj(kb(0bstg-XsX~CmG2z*1Vf-&Sa+b1Q7c}`)iMkxV?C(#rCH(@zL zh~WB;M>cNg6`lYmn7mzk8WRGg9B;o&FuDJ1^~koE(7Ixp`(dC54rN-me)r??6A^K+ zM%6)KK42>OTrcP(=1M?CFF=g6Knk<5HkUp$2+>dK^W7f7G! z7MBqSR`zSEyV!opEf<{~d6)s^fO#cqgAT}?JB$WfJp`0l6M5KrM2%pzL^4ZUHAJieI)mMi zb6ry&MS)2_^M8_=16mk%4-WTHLN{e5F?Yh~wrZ*Ck0UP5KIdC$A_J<1{(>vXa~59m zAr`SdeX#cL7wr~;eUfaNP*`_L zwUXj~-49lJvJQ6jPuapK1`@v3*vf$c@UrplAdW?Yyx~U$4>KvnVS+cW8K>pO0D;ef zY!S81RCt6HQtf(xD5{L+_6Ih#k9`mq>lqMiY3-NqIg%YDn8v~k^n-mXDtkN$sh&_9 zbipSrMMo|xn2}*V4$k{G3QxtoZQfrvXlz8!X)9Y=83mnL%xpXQ=behEjof!ScIZeffpg8Lr$O_*~!Qxw<0M;|UQ^D|1dI@C3-$3GBb!i>( z$75WZ#zR4Il}VB3QiA7Q@F3eGCI%0+V7ZyOjvAOS2Ab8Lx$zk^gPzZPa&#i(bhSC$ z?qGnv?-)H{IBunjZ$QFJfXi9z8lg^pF^P~?;ppx6^p>J~)Wpdfj5t5X!3ZWCkLA#e zXIAuqoY2@R?+?v-8!5{k3=Th;Kdfc#_6Xj?B2kEWpz`LTss=}+?6)acZtE&w0*YwNY8vIc*>O@-V}0U+8)3LZ4O=7^SlE5ooZ*G z7og}K_q?d5v!+;-r>+Rt>tB#W(shGxCI90dt7K2tz&+nH@E&o-DSzG0FLSw?$)MUD z(av0!oEwP1>WIZD8S^geug-UkN0&gZwX_QG*Dastcp`W)gWuI@uAzv5YyZPxaJevL zYW;gTW@hdP;yT5RzX3uLIL+J$vNloF(U!VXk}ni#TI7UOZSm*swK`!m9i9jQU~su^ zZ1cJ@kcbP|1eV?vTv9LW*p(fWkhBd26LKALAZP@BHUMNy1-ynn7CXm|q>7a6H{8c zOv3WU6+DDJHK}GD=gsgSn=W+KD_WxVWz8GeQSuuG+3J}iKGhve=|lL&&2qq7WCy_g zux8(@Gb`5HD99HWJSAVC(3O)edSr(vLi|dlR_lGemPCUnX+=|Hj-$Tm9x(Ytf$(3c z>jKCMCWS%R8=rrdtvqNkJ?F?6MA=Q=-`fS9*#Qo<4HDHTxos)&pKsFJ(0cC57RN!} zX^{mP1CB{a46@p+OkgdSUG|q8l^RXCYIG^jD#da@<*Aus?@uiH6C3QTXF>kdhbcke zZnJXa>|TTXjg*XHGLjETortuo(eowmHY=|1>Iu&#z^n8seTx3%CD;85P|qX_uH8NT zy4Up)3Rvl(9u`ENRDNUZlnL4b^z+CYkuCeO66CCQZQ(EY4ZDxeLPjrch|Mgct$DVR zuo?Gwrc`}>T^>-(kDbH~Z_w(f(-79dfg<3~c-3RGsCZE!a$3YH)$2)#Eck7di}Ph0 z%e?_PI0#@5Ukv)gE9*g8)tuz$xiEvz#nsS9$?m3eDdwzC ze8u>+s`6L$p#w5g#5XrRzOjRbF^>&HBkQBG0^XA5=l%+%1^|#cc~vHz?h&-74yKV3 zRWkQuoAu$~upPA9xEI%3_fgBm$tXcr)6x^mVT$di?}5ueEe4ca(UxY&XyyE&jMq!q3xelb|McRA}V3ytRqNE7`wb=W7+(@tHND- z*JAW|EOM)nPQXrktnFxskKc_VriZ)Z9iykdaq6J`sAhSko|zj=lV7VG;tsb)g2>eb zwL9p9j|?qwMR(9DqqJ&=;ncjFJWv^-ZeSG{cpUA-V)~>++s8yXVP%M8sZ>QL*fM`U zqYJGZ-#w{^KFc3Rv)fM7+HOhTZaP;Sz#n@X-8#}*H;DcE@_6g;q6Zu)Zfwo2^3QuW zb?;s#E>E0`%(KwG1uuYtApI#=DaSc~X3j9>{XewL8Xj5m@T{^jvGo0{BC+o?t4XlQ zVXyezBI)B}0~|*$)Vrv6cl}Hn{3KLk8n%?FDOrLi$~A2Br#iKcg3d7Y@J28`LC?C% zH*=1BU|E+s%f{9=>@y@2@m^$S8%qxtcgByXztA}PZAXXB0jjPdjSv5d zRE?&bqSCtkgCMZ&cQt>RLJjz&1OgZP;4{FZ<)dj+o(?vpK+sq8k!rzGGr@1P0Loxo zrT}#eiyiKYEu+%&TvZ6l=c>aJ7aa5#n*URrBLsMUJ3eU~F`D+3xd{kVdQ-L+KVJwdbufUP4!XqhB{mzu(raYctgE6AAi@^xT; z+;mQ8fo5>v!T!vuT7^~KqLXs24A7?3slksjt5;*p}n4au-`e0 zX6i%!7ODDYh?D!za3RC@4(TG7s_$rzGjHXdJupr?J`z!wI;b7J)S3kkrSd7M8EdzepiK7O8+B#T5XNT@nY2HQsC(}lCJ!O)Gd za;J8W7IPQ!nrdz~RlxN_SBxJC<{`#Hx%(LY>dT(rY&w%A#@vh*SCbb}*WTqZr%@FZ za!2ifOQtVINlo+aZE{sOsfT&WPv&#V*fe>eCGWvy4OO+Z<*_f!uv$P+{(uZB*cdYM zE7-uwF!pQff03cQvZ3`KJ7~D-+6x(T8gKx0y1eQ(%J@I#x9R;KF(654obp)(6u5kY z#3;|f==6hA;f~mxMmeufUbek36R;BupfNrwwYI$R;5rd+y9)|5u^fh9K?5cd&lHbe z&An*QhOQ;j+pr% z`E;9fiIqrJSu)%CN+o>?_gGGCvEh{bgG#PKUwYbvmDmMA;5E9_FrhLZjzi^4D88PW z`)4yM%ouf_5)%Ygb|fyL61DrCK*ShjA`V9V-H3?Rnp&M=BBEux51sI-2_R#Ew`sUd zLgTvFKOEAjqWZmr-QGXI#r$IU$Sl1}gBY`~V0!h$F-bG=S1%LKto)|rK`=?6z?WG> zvn;7im_V?Zko(|+x(+RP*R_m)!Okx#7~FzG2-TW&ewj;f29RN9Gcxzcy$BNOhl{u;0 z_BOOEy^*n&C`-dI_pifm%cHw^aBF460Xg7a&9<^DnrW+FsBGnRMi5kDtHop0Tn4Py zc&|W>=&*hYLe(E!UpslwbWz}n-GEhM@ph%qvspY44AADpc^S_dLqT2+F7LR=qYozG4YDlWjA#*;q~Hmy=Ya=I5Oob#Y2>iR-dXw zKB5}m&+M8WG5e;&D*O6f9k_d7SqgSarWUbM+S!$UjzD#Lr>OKskBp*xMMrJ93%0JS zC+}JZj?VFBvY@dPnC`B5@lA)4|1ss1xLi=$>R0%fotprkevHTxMZ&0>j}&uFVLUwb zleHPXxtCsMD-<@VI@kCRaDq78qXN2Vko91e*U#cWGN!KVj=>bKtYgvsteJrb zlY856`+OgH8YsWF^?LVXH^Y9Ph|ba^42>e#SGMS(%4k~TUnN@e77&H)6$WwR(V(i< z3Agt#@R9nxi#e}w)Vf902HG5*bnWwVOU^&iacD-y%#<9bXH5X4JY*po8> z^t$iGmNUbR!@USL16D9aeijKO9IA<$7m@6Qw1@X%Q+Q{7mvh`PDvp?Cd$0ZFMlL&(XT5_zf1EZEm6Ko$tQ9 zafKcx@GbN?k((x14Fen**U%_jfH9?+Cr!B4eSJiF;8!@FyuciN)WhbNcL`qS#3DG1 z6DcIt`Sq|fgVd{!Bsn{0gF5U0H$ce0v~8Qz^k(&4Ac&g#JYj?Dt);Np3GM395s<<~*>YL1mkW6rv5M5tj5lC}s(rNno zqe#f%olM~qSrC}Q4rW4I^(<_Suh?z|j9uO>dL#E)DMROmm)lUm0{$Y7mnbh=Sk2L+ zn$!KiwGN=_yTlmZUC|MKF)GFJw{y8bXi1_QDw3o^WumPf`p4WiD-k@J4>F7N!hK=8 zBQOD;9NlxLXgJw+R2?utk-VM7Rt-1siC6lI1A$9#L{6YG&*3%m(D+TjOr2L z^v3Mt>FWy4d7gts>Eqr4REA^6ASRMAaU%dzUqmK8j2ZFd8uiJW-M0AMu<|&NTDuq_lJ+}YvM5&vWk2TL;_6zn;6vLW3 za~RhAfqAf`l;jcMLYT0MyYr3~+Xw~Y2`pv%OLnK;Ec8HeyP@sIo`=a+_G##tU2~|O zL_uOoC^!(q1ZKMh*ca<9YzX`2KS%=AwlpBk#d^ypk;?&A-29@OgGs->K5ER$`Qp`( znD0bp_-O&1+otjEQvuiJvzQiw@eg{WxsGuyL1oUKt^%>0FcXA9RGu0tQquaLT3YN* z2hsntTfv{o33dv_g`Xt333xCzJSsCvp3-=s#54dAjeS z4>O>=*y(Hai=FZy!8LbgXR}&m=6#osJR2BC%%uzf)MXW9)>Q8M))2psNIwoSk zmJfuPa9{76wj3iu1iv>e+K0Z(EAb>&%-NIWAe#AN$?w9dukruOWfWcm&S2Z=a^i>P ze}Cl$yL4cWx})ER>Q_@r_XGB%#}xw3u0>4X6GKbhrReN3U}LnlAT81V@ej6{DV`NL zyuXnigaIBU5!ZZQ2B_Q6@K`i#qd{l(x$(M%Gf-dcnJYR4C+PNkV{x8#yiH9+i;9)p zSh|lb;Dr?cSWe_cl=pABP9&5&vD8&T;2LgoGBy!3$~Z7m1%&3o^#=hH#v6G}dEqI1XC66hA- zbZE>mQ`=dQ!?l7f3CnOUXB(D~ItQk4^G-Z0kK$-zmVPS*<}tYkCdX#c=?~#d6kCPG zq#|5#f)wtJJ=h0R@1JwfX@~7ZoEdUDmmkKGS3iaDI}B0e?_{V|!emfO{I}D%82$?D z+r-$ofIBq-7UxoJbW*~;MIWAw+wgvp%9^20)v)7~-4m`}r(Lxx#gD?tlWb7t5PhbE3%$)4h9T-B~*0S`+BtUQG%JXeY=Caud}ka4lpZZ1LDmv@3r`iEf4Vg zFHvFGgpUY6N`580Uw`7PkB6NCC1_AmQ%Y2(sO>92*~+{G?;>g*s)}s)9vXr4ztnU3`qxI0nKWhXMOjH0p<(g z?Y`MHd5A9d{Rjkr^fh)P9w?-Fk96Efl@*bo0z1Z=wPBIxWyjVo zq3}1G{(u!pKIgZv@T}NzRnSp=s+!GPh;8jiyCob8wC_=EGw9VAqp~*Bq7`NFz-7_e zHb@o76_w}*v(26O?pBfT-vB~!v0yFSXS^uRDlPTGM7b;F_Dl9ohKFx5#*OEhFwMO= zq1D(3w}$=f2U2YH31^xH>mE(K-_2FxR_^KtRK>DF;ZIcKpE{4jYUYiDAIdCjKrrZ- zcyAV2UKAZ6%r7{%VEVCCL0X~4ImKblImJp5esww?vZqm)AbXanv;PV^bqaJU^s_Y? zq&V=H=k+E7$+4!hw7C%G>czl~&T>wU4gH^#0-ggK+Zh_Rw58IdE0yx9GCoN9aN^%k zkGRa0y}y}%BcIM9xTbaN#!x{qTV!;)Oug3h9J6OuQxx`uT63>zEgl^7m8XsA*OD8e z8533@TA{bTmRVw|p)Nj_Ucke76ZPq~j-5*7KYRSrENC45xpp0k(B{`)Dx6Gg+#p4qd6NbtI241up{pClm_Lb`sPj9rGwD=T9|__SdC8_(>GuW5V)1#& z13>{=l7ZPnCFS~#qs2;o@>sq|Ay3^;TgVt^H^}CKllD5A0G}~)OSGO_dBcwPryu42 z{Uh)d=>&@iJy+~l0s*2Ux>ol7xLU@7K+xmEV9LuKF4UsV11UO|Dw%zm!I${q_{H&?(S`4fZ#vK5uq}9Y{M6O2 z1m#}x0*Slmcg?6Ni2`}UAwHn|^+S1*$mbm^XWbtTPj$K*G3a|<@7-4bP6DrSJcM6hgcfxIW#@6P z1@^>8ld&kG+FZV}3$wO2*2=l_((C)rZeXTYMC*AMUbr41x0zJhnC)26~v(PjN?On(cz`q;d1QL6iE0IDH|@y!G%OkDl?u1C+OohXSK zVhHtx<{?dVIwPW{aPvqaEozr`k`z94)B$RjpibtSLLVfGSaT?ZK zoE?O&wGwd#!Q?#tovqRCJ?*%q5T)8b0 zKEHq5EyLVs6@>yB=dUh(1dCEbt zY3!=78|`_(9lqPC*PY=ja9fg8m~vFN=kytHx%le!YK}~3Dk)b1nA}7A5fSA?LyVSMg%t@FMq0|-yUO6b1db!2 zwN;OLyUro5OiJ-tvaaK7 z;-7ZB&Rgu?Z;MXj3ss{fj?S=1MdWg*mz|PB_jaY&uA}5QW}zpM^Y!$_qw@`O+ewqp zWS5Do^%m_OT`)J`M4;quJ-V6aL3m*@l(Rr?sw;%hMX3kq_&QHtSoOVD1B!TUm!`t5 z^&FO30NNhf0;Kk!%#eMTQzY!z4&bz$hTWnjld<9`wjI&5OuZxeunW$5mvB>o8WtfC zq)SyBz<-_k`fY3mZ(_nM?n}|b6A-;ANmGcO@2DGp(tZ)T1v$Xb2DBhcEIex_y*>xUof^Rxm^~1 z$b8k;HeKG6npmg3b!uK>U;n{-7}3 z)%xEbqrAXi@BNWsc+<*e*iB)eH6;93hO!SeHDNeUbjHxmv-;GdU&LWK*1iP5Oup$@ zl+}YyP>Ho2n;?!p+y`5{1MlP$sh19=nOc0t7Izegt~*B ziKQOsNexl;0R9B={rJJP`OO}sa377IO^tvNQ=TOlWFkEF!%5@houzsWkpT{*c=mjQ z-(V^a) ztPL6YWF2B+BHqfqb`>=cAmZyyZmP3rSXhqG?xEfOn()9jaCm^%AYJ zv(OdyV?2mjpz>9!Yd0v!L<3?7pY~rAk)*1zMo@msC0{rC!1zr8i z2S!l##}xuMCsM79CHmU-N19MX1JyyM_kZ;SUVP05NXz;jwnS#NQZo79?&~={rG7#EO{PPcc5eL8q zsgKS408zYpt-OVldUCZj(Qf@jjz^RV+r%1Zvu6*<}Sn zVh0|c*Eh+22rWWpg6u^;T~x)pUcZ!LGTWPG;eQ^=*1;KOVX^>G{&^dUZOe8#RA(r zQ%t(sMq+BNER+|+J~j`3u%%)JNs%y-FIwAuxlcJFrsHrQ{=Ke@=APdMd6GEaSW5ui zVNBv)iwu__^}htyX%;R*F^0v*lA}bH(@#uX7v{aR=rrdg+_)>}XRP8Ou^22pdq^lG zq*E?r{BQ@_i>xDp8#KHB0_6jV5w91osGQ*lXk7$?ckuap;slxPQ?Zt;%^=|`gbCi{ zq&T?Oe}Js|=AtViMv6BiB1=vb$!&S2Qp?{XTGNXC4~HNhkClVEdmFZFLLd1e(Z7Yb zlfbfA*c*;RF|2L%gb5A#%FU(Ix{@b)qx>aD^&HxKo07^DpTzNJ*WjdmdsF(L9inZJ z;$l)|4gkWr`ivx#vwabUtE#8vXF?h32Dmd!5n7TRroD>yo!t82#*3|1L^GhzxC>sN(9+>4YGN|FAK>SDZU|&tXNk>8-$u%aCtaxjK)U$257ZP?H=1`F^L?d*KVKoyEd_zq+RM))+#m0&V z)5CNWcF9v*9k=lXVf>w9gS!22@=<6tN+CK@H19u;naF}um*`rK=Ba%<$xM6`+%N=L zoJE_>h*W11*b27ojP?d^;X!BH2XH{)!;w~1LB@({5jY^D#m)(VWcTqVcU%82xZ+`F zTB1}I(1(4(zFrNdF4r)^s;x0>MV+{aC9$6Ly)3|*gyu2d`-Nj6Q@L+_CQl3@=6-Kr zSEBV4QMx*qG2SpHNI^6RFmAwC8CTGC2h%t6+rFFeQ7@SknhP4zd9xIEUBu?jsImg> zs~NCaJ@^F$ZfOx_*`VuL1y!*Sc69^l;>FFN1V2wACwIWGD{rV0pF3G8#qr|mJ(ZCc z+KER14V~f?H?fFdPo7OMqanFT1&-|d#VxCjzr>{j&-B1g_O9$(T#MQPt_z)K;BT{@psL;CnJ0V-j=&44T25d*6+U@VZwwEG3H;6w{ zG>}H=#gse<_!yIl+bJ}mn-aT{I0j2rcOfvGg?#9e#Jo~B%eB&C=bHNn2=DvguigoN zc0O&qzV2IeMblcc>py{w2D^!CjFWI~6fJHicr4szqm=sN)Or)f7VG3>Uw0Jq4G zq~@7!8f$1k=VJp$`qOYcDkgF0&*0QMiL&pY(44@X+A=%v>*=W@XxkreySYd{sza}1 zX^KanO}s+<$~29{-RGukN&LC}y{5V6!%AE7$JZgunbbn&dKep9Dl8EP+r-}0Iz>is zOMq7zjJBxeRb?unUs3LKonZJk4?*DUuS-S4n?d8IE5zwRlh;Z6(qJ(Nn<%1(tffI6 zaOJdzdL!*sFLRzz2BLtI{d*@UnemFj>~(kbg~LA9SgSOa)uTn?vg50mu|X*7l#0j{vNOT&KIp*59SezrGu!hZJ_Hnyj56%cw*mBCWaEkVwfbZ9#y)yW}h%t3{)6S(>87GTmYx>J1 zDo$gG&sWKWX=-aS{RjnCpva+T-3=+<4juP4(##5B`J?#QsbjJWBz4|MChkH7&piS0 zLbYP6rDg0U^LUav7wQgh-^#F@_v}IN{aZn7u(es4B&lBoZ>@t5mtfo8rF|{L?`<;1 zLWjItTaJj9UYOXd`EHOAGqdMOI8K~jxX9s|zMx(9ouWGbO88N^+BRdpHoAzm!9F8UQVu$h|aBDK@j}#xrF;XS8?REbsgVL`0jbf2_HxD(J5Ia)DFW6862! zKRWN^16wv4b96a}sf=BT2|?=qe!R05OIQn@p%xebu^UrW^UEOI+ExtR zf3LzpE`eE(?2MIl&n@9}9}SXF6XOreqai2_+Ce!T|3U!gS$`(ofj$ks&_)gQ;{W*J z5=Vv2XL**r{v&@5 zJ!B>a%YkU^>E}vE#$(CpMkYA58&Poz<`t$ESFBd=x3FR-(fD4w^{23&fs+SJM5>qT zL2^%7g2=6z+Suw>z)D)w$WS1nhLmyPNqq9-aPx)JixeJwH3~G;I5P6o1S~GzaN4y{Mnvy~OrZXWAM9|Y28rW5zk#7I4g_C^w>6`k} z_^t_%+|B~_wTjy)x2Bj}A}L1z@}B5TBD?+G6RV3c)-p5%MMNzG$!I(mt{BCtec5Gb zDQmaAk`X2m2Yr25t-3*Y6NLwh2h~ zs(Ep@nWP2)fQvem1fUGx_=i*Z634_(tHkQ##DvN2UfBLAj-Y}XkM zGX1c9vOu9;gTAKN+n12#Vi>Cn_=t;~E1T&}Hyw%ZK3(9UeAM>-Om5a$9@YcHkH4=Y z68p5`+6P-o>wqQnI(CrR_6Pj4hi*YtZ0*j|0-2o2WxCy6VY0jh%peR2RMCY({plVZ{ZGl^z9^1xP`#v42e2OCqrzK^mwrCpBQx2#~)~8sHFi2x$Y+t5_SbKys z0|_hqc-y3#HZE27YFu?G;>2X%5%T9GR#FqXy!<3l26?xUDVFiw`ws((+h0oxAbsVeiSF3+|&4EHhJ zM>@5$hItnrcczBI9bRH-57m3>n2Osf#GHe3KzR%IM1TlxswQAEBW(LyYc)(~2-z(5 zuFU@zP$~u=x(wh=<$qNXx!IX~a_qaFTx?`FmdWB;Nt@iN`{~045*LF5(B;ZdzzuyQ zDd&*A;wyYv;>RI9kR%OnGF(d@u+Ci@W-fFlJud7MME|ZMD%4 zRX4Bq>vL%W?((Y9v54JO%9Hxvq4swCO0Cp8gw`CsD_*dyWTCV~jXUuXkW<{-Y4s3U zGq*-VZiHbL#?_!A%o8xOCT?SLtEFu>gyzspoqa2Ub0T5LUW0)%MyX@!Mxub5sclg3 zDJx!W8-X=mu;diAyO-dZeoQmN@yVd4)Vnxqh+$~E!ML%M!TvI#tO5@~4inX`o<2{6 zu)FJ@N#@YEP0%0sm9S{mAp6Qq;>jd)(Wv2^p7^eC!cV*8 z>vnS!EzwHkG*3$mF4=EFy@$>`BB^<53tN}DRwb(p+`zgOhx0Z=TB;_KJ(#ee)@0@W4YE*mGEeMu$3pY=H&$d!>s_{?B-Y}*7DS4A+kF} ztVVAQ((PlfDcdBxb6D&3Z>yb?pzuiPVyngJ!uHMqZmC^gFX>VX8_}Mp{l;qF5Ow8C z&hUlHdQ_AMUnza*Rv7Q3su;f2sCTOXo4{-m_jJKm%!pW<{X<8Is4=ZWu-_2MwDKcC ztlw3bDxV@!rf7bQ8SPS1m~i0^;al65`Tb}Fs7qCbKN<0f2vbuFx+~lPYWZo84%7EOwZfeb#nI#K6l(8$QPB1IZabtlF1S&HUBMC z33WEvI{^>yn{xeNFr-}CjJO`0oHX$2Ou}m3)RKStlzI%nRF%?ijrC6zLbEi}KJxl| z!Rh*b&=AMrLXv{rZObzRoK(fDF>%#hf$~X7Y0}d6evHS;Y6Dc?IX2_>3Ki`VSQK-J ztc~8#u<$`K$rhcWd%@1xuj$SQtP`6(Ioeu!G}vX!ar`yc6aoIibio}sS_c8&^Q?X! zEu5KopNTHerw6oF_H=?Qv4XhYO&ZAjsZdtiSgw9!MI&yWpkA~;*F9gl~pys1B6H^`^5)eeHS*MF1K9W(&I6I7(8pSftmRU5D?~m@8Pfna3M=p zyw8e*ofS%+2b;m#tQKEifmddi5l3w&&p>LUuUXGgfLuT*l!sG@*IhokB=$CEHXYtk zu?cYRDfXU^4Qp*%%h}U*)}<{&U;5YO@H5K}(>Q8Melf<5H!N}8+)U$j8LKr44FE^c`Ip|g4*o+KWhiYo!xofMdIhV9IXq`%99fU{}oi1@Uf@)hnbH4uRTDT8$OF&T4xOzpY6hf-K zpmJ~evc+m{;z)ZD*1%|VO$1Y|8$+CYs;BTkEioXCiF%*y--Zd+U_joEueC2BHXr?p z2Qh00$Hu&3xY9H^Ud>XTF~IZsCLNg1A!!DzUGe&WomXXcsHA}or{*Uz`h-;0*qC2f z@XIwY>{d>}t{CR=xf0m6244hteL?ok?q?-6jb^$itPqlo0lnj!`d$Eq?fJrqlj;LM z@0#q&)$A?~_)IJ1){n31FF!Hv<%*1e(7btkkhT+i23cexrHGP>~3)p=sY}2F}aHIP~Y#271q6H@C+Y2OxdOB zN54l)v5rXnv*-T|E<)1mdTkW76K||4visUWp57*rIPyPbMNL&Lx>q$Ikx`v! z(J8oF&^iSUYn$Y(4K1T~ zyLFH(>R|1j>hnShg|&NCvPj%1E9p5+;2L?6?WMw97H~h}$uC%+@liyycO1LHAJg^kk8~LlH*Or$u%{PENh4pW7vE{Y)s0t)!Un8t z*9yk!I@3K!HvzGwrCXHd$B%o^+yf#l1utezdg_9~0nkV*oZoxlrvD>3v%Jkl0!ye! zQhRoQ0bDEAC!k%MWw=27`GkksFAWogPb492qe{oXuxEQhT&VkI{VnpAxa6DFwC{wZ zCa>&r^s3inB7Z|_%%UKqX6zwA<{6df-qbxM=3a7mGBz{|tkl12J0y}o2c+UfDK_Clhjng*%}~exy~;jN5Evng1;!z& zEs+SSA746o8WlLC2EkjqJMkUpZsGvqo`85}PEa&xxZqlB7BXHSv83pLgPa!6lWzz` z9q#Wrs~l}!#XJ>wT4jHznv#$^POFbQnuI}R9~O>2mVwu)pbuv9r!3Tylf2bwc0kdp zW@-JUs7ZRIMif(9k}}z#PU-Qcv0h@L4tlnJ#(+*jvOzX;jQ7~q(GHv?ESh-1*~OEi zOV)hDercmR?701Dj$dA;NWrGsKnHY`y2W>jEtgtjO}gn>&gwMlh}B%3D2R~4!uVIE z$F^TR6NqC^GQ<}yl?*mqDml`cRLLGAQn6r_gj~4R{Wn*O+A6jxnScK$bQ6vPcOYwh z7s!Y4ItxY?K3XuoTf|&rNnH*-te%Z?O;%E(@jN`VQktGBRq#v(8_;t@h$i^(HysV7z|UVh0i6*F)tFRVLS^JQVTdH zOiUJ|0*8q{J0gkOS6LQQvUFHWC4re8F;P)GrP9)mvu84Y-7%Rb;QzRnvBSQe^43w0 z7qpGYqqe~bzF$WPP>{I)wK)ZIeZr5Yze1eng66g~@O{t&1o^1;rFkw!SZV85NtjLp z{Y|t_u%XN@;lW}IwFJ)xZcXh#K9uaB?;AME(z0#}N4!kr9wUA?X5z`41?{L3QR zOB{m$J^5CVek84C9#gACMoiW63I@dYf^eBy)n|BmWWw<}n>pLkQfx7Ov{eycM!rMH zO)GCy^2T_Fgo9DbW+F^o>Bca|~XAIpADzRhW5*mWu# zz7^F~fPegJ9-Ad*TRj}^N;duEWAH(6>2}j2^+a+|kGAXkuSMmRAuWoLxpDerP`G zff(O-3vHY9{P1Q+*sQ#z7}pv#k~c<_r@d%@Z4;Pe_D4CJ^YM%;;Q6XIX&}*}DKv{? za*|~aTes5gcejk(H@ks@_vR>A%8oC}%*onAV*L|8@o{{BEq*kr=r;;C`T;;{&IQlr3ZP!Yy`K=6Z+r6@kcLl9pSl@W?r25<&K-2F68Di@4F~I7f^cl?@p@nwolN90IIUWw|rSkmMyhvoC*ig z9_;r9srIjuV}fzA`_oJi|DD|VOQOC?w7?HamMpa<)QL!)Ys9$dB+ zYppr-PQ0`Rgu11bT57Hsmoe#6C{{XR~+X#fc9Iu7_ zv3ItQe!j9S>-0xs6z}^1cAS^GcOPAQisTYm=Xd+EEGds}F z0t2Jk9IX~#)H@E3Rr0xD)6mJ__*ZX4InlK5xF;r~12!^3#iF*oaMkc>DzooadJXW}L zu(IOUawZcScSiWZujr_6NX2ZxA#ib=L0kl===^3x&db{zo(UX3ru0Gh-39bE*ZV)g z{}be6<&Hy$W4Zz&sF2!VOA1D}Vm>LDKW%t9L4)Bquajk0ZcC^Hpe6`hN$q{Je1G)z zhfj+Hs`jkhplWRE3k#VFq?JWci6khVW)Cbon#PgM$_z~J5f{UCX6ZH>Wn2qp0OT=+ zrrF7JD3aJ)*YV<^Em-xCaabhj%IRW4HAwzMdleLmLyZ&i`~wdfK#{Hu$_D)<;>fePUjNVhqFtw|Wmxi{ zFQva8c4WowBguTBaG>UaV*7PB6_-d06Lpe~N2?-y;CPv|8aLaQXb0tT@~7IxoW2vq zFMS5qUmX}1d1~GeZ;hs4O_l5#eBY2fDx4ope^(EzjMEVVE+xq%3(TI^CPIRSu+wST z4d?#vQc18j`}{(zw_0#%`#K+V{s7x~q4iu5W{sz3QIsTh7 z_x{1GJ7$LEu|sK}o8+K7=|G{-cU)0%NW1@_Nf65aFXz@I`(gsgh*j*#TXCa=S{pM` z*{wbMwO`+#6))Hd8z%1?-bQj}mI)vFF?9P+z47C!0DPH9ejCN(;FBR~*$^g{x=sUe z5TAJzD`{_!mlF{l>28yXlQoh#j9ehkFbUr^3d`q~dMVx;x2_=@2!s{+fgDycrSR^d z1O@JTObzt20io=ph`ix<_VKXfMFbg}JJS}+^o}EhFO<1u`_^|}oksMgYpP4>P5(%w zRz~8jysmWBcS1?Uw1g%5K4C&&iUg0wfYdgRgD%QA5S{*ksZj)E!$tW^#E=-Co6!-*8wHS-@B^jCQPl9ykonJHcx|9xQ+V za65hb<6?>tX1LAA&AS0pWTje=s?=J%T5tO@aPUD5$Mu-(vad}6b7|QWg)ZC>k?ux_ z*S;g+KatL6j3Tj{jkd^pSeu;_B#Rfq1zC?s0xs?ttYA9kl>s{3u}nB^)On+NHv)uq zUFYkBcSOS~Pv__A_T6O#-;qSHWeqipY&VjSYknT1ptKc~(|{pf%{cg7VsJc+aKC3kt4#9fve!5!U3 zrXgqk8bO-=GYU3}j^g^(3id}cbEFUdT^IZw?^=JCtscwMKj3)5bufGZ1RR?i z^V%n4(~LIWl%tz}k{c#mg?VYrqwB5nS}hYIrt1QS_G#&4^#*me<@ zY#La|G;(4|B?d>C5PzQR8uVI)YIu`3F;uXL%41r?_o{?IsL_@@CR zvR08a@8Rg+bXA;DzS`b*8Y66f^FBL@gFeLO(fEov|SFtB$^xTG~{4} zdw4Nzej+rT)qF>uf7F2B#8yjaWzOUR8argzfn(r!r%UaxwjHw|_d3>B4`B10DTFTd zoxx|jALI@s{nQooSdz0`SnQELA^LnlXx|_2k_f$mdi8lKGQ|fg*j?ow9`^fJX1zeJ z-qzXHzx>yqM|nU`XBB2@8hQerGBumKEVXnn5LA=wa$MT#qWwK1WhZ;Ke#^qO+-eZQ z$WNs6+=j%TzcqB6Tma}aD~9p3uslGAHL zT zB3!2^?u~&`micYBdrSAHw($fYQdRH~x216A(01}hrDae}84=Q5G8z(Z=UxMQWcw0M zSGDs_#*IE~gy2o6g8LbAaTrT_tO(D*&?&NXgguaX1?9VqAEWb`uE|zy4}uUAH(uvR zWtLw2myBYxh)$B;j7sKxMWfOXbjwRk4iUcWDB{fo9j>0DVulW2g6=U0E`5i=o!x=y z^0w3IRx3FbN>xpKJ{7~_cQ4Ie?{Jl?@2PevCmT!NRYUb-QS|26K4(xP`t`+aTewLEbEwK%BTyal++>7(K4G9!@~T?BSpMkXOY;5OJG zE5}IJ_2~NV4{{xO^DJNR$!t!)Lm;H%mo>d_(M~IbM4+WsEj8>rv+f?V0}0DF7oN>G zeMBzHTxsRN$c8{EmJQ|l7~J?3Jv+EBzL+WYj}geU1-RACHQMtFIfEKLas@<=5r0Bw zSoWzMHAX=A{ttUH^NxavIDOu|x8(Iz4=`ieqmbsMo zndFe$Dolia4U&*7g(TFtm8kq}SCEg7Gh#n~bAx%idG>AG0}n^*{~MLqWH!%+B9Gg5auH7Ufd|>mL-^bnFwg(K@2!xHFF%KTMN=B)1x^eqADBne979$BK@=d*Y}p2 zN_T4MdZItxIe$wof-;+0!347aePSQwKm)9RD9U`UJ=cSrG4fNXRb~J5v0yk!MXx*c zY!bM?*c-!hY^^Q%z3qJ6%2QZY1@oNct4*por?YAnL{L1Z2k3ryY6t)cY^O|G$gs3A z!xKCi`pKd?jx`IJ-T<_7*gaJ1H^e2TnJ05p&LAaZ?d?f2WqileO-Ai1cESObKa)1_`)22o7!#P_0Y@F_cy2s%%hz;}m5g*dIb~ z5LqJ15rPu+S{&e^*s=6|{%-|&n7i`yF6|+Fe52z4JwU?0NSnw9?}NN*pkVKz8|a7g zJPDvg5eYiPl$mI3PuOkA2Osn%eiYMW|1J=54Wgl$+o|=rF=R?be~VagtkQwzrAv~Y zW02YnU_tNUC#7UfRwHVEi79B$*9aU6x$Qs{Rn}*vlxv%(iDq%a{h&yfq0big7Y|D^ z+3sr5HZox^81%CeZyx5uHs5{>tVU1ZkHsV#p!2ich#+LG6&jqh>(($(z`PqSOD6vk zX3Is3S+yFSV+0oV$QbNe6!E2^KNB>!%`w{8P(8mb;6O71;Wki^|HtOlWnEwPq#5I* z(fB)c0BF)WtvbDu_0qAF)HY(J|N5-d;)J`P=;T2*0^lBd2}_EeA>_)uy*RyF#j=Y% z@WaBx{*|IE(x?+C*k7{`jr;xVvcYBN{jee&N0?8w1^ojEU#4{ccnor8$@Vm08~Gcy z_*WlrpH70?^NzTwXWS(RS*J?XQqI|!P4_U>azbQ!@nD$2(fY@?y{$QErs zZ9<@K8pH{+zIsWrB)0kqJkgK)NQcqI1?;ANcX8y!sV<~BF$(VlH7oiFu zJhf*jg+g088D@J;C8J3d40bo8{4emtP`^1dbwhlwQSt}!tZ?1fV0RpB^^nuuUJ#B- zly?fpy8~75y%ZBlr;_xH-$9zI2MbKXiCPxcTB>-I3YEUDF{`UX;M z+{70(q4Q(k*14VjNnqn^ypv33&vtq-1i0rL*}uB^o&NK0cj%4vIrQPyFEqPl%nl+ zJ;3Fm`ShFFJ}2>&#w0&A@2A$nWPw_?I|H<-Mm0^G86JPqAx8Z7FFCeE>ZfCphJ2@* zXsGr-I~;oW=^u0K%PK8P34Nz$i~xV$_OJ%ylFL%0&8ek?J|rG``gF z>0U@ZkP&=oFiy}Wf%L&HO5qad)OwFKO;^9Q5A zOtvrp4B|z7D<4-Vlee`nMO)nKj7}|7-mb0?B8an8JIJot%;Itmu)P+Ac9j>_{)gB^ z8_49AM6?HLN`lcgI4+?g%EOOq91WLh$Q#c~6Zj9QKNrLIpWVOJj1d;j(;@G_a6sc< z@@&Docl0d&+EEyXAMBwI8cKYt;V?sY#IaTlx_P6`;M=8~tk`DD6*uosLt0iT1;qfW z3Ey6Rrg8}d12t*c|LD^-`Wr2m&Nv>yxWWwKhguCEg} zwHW|KP6r=I^^LGS>gBU5{Q5(9_?FoXl2k$$i&|M z@15;^Gs}ay>&4B~`ZKcje;59TB5;)4HC{Nx4-R)ng79LN09S%Q@Fi#)(Pc#b4Ht86 zzI2T0?NVK*#Ts+ZR3A&#%T90QXKx!ls;Y9sTO)Fp_gWAxUNFi@Zwi+b903M;mW1>wwa2!+8x6GM)XBmB& zB=Wkex2-W?Vdak3!1#tChS)SVCt(%Pxd9e8UM0px;T$%FmrOHLgTwB)q2k4icHRn(zED816-l=BBH_6sSmwL^H2VT#aO zOoR0l922nnJAXh8!544o^FmZhf0 z-~PtEA^gEA2h+J&_@)>sEd;?ntE#MJWmq6{zNQY~W4w^*gnL44bvGTzgQcLlV{`VT zQ=67Jmx<$g6K>4VkLJuoRvi5UGxG@Y6NLPsYh3 zF!xvQ?e0hoM<2ffSjtb@v_dRl2Y18GNRuSQ#Sd;hZ3U$fLBsL+XkA5#WBl}rquE{%ezR$XO%E$WmJLY4BK%wbU*3${oV>n8g zzBPe6us*}lN(kzIa%(VyJBw06h!76l>lUuCUK2sGH^w9A(CZ{Z!t>&ADqI!jMA8KE zQ$(WYM>8gq;bqFnOb{H2!`9d{u_>;7Mg?j21x3Pu8^UzliuM6(Z2`EYcuBK>^lP|6 zzP?Q7G~h$xDP^1B1jL*L=o^RhDN!$Vh~{p3nrfB~tGXE*@S;mQwjM|k0q98|_VLdr zAZF8-A7!(2#rvdF#r|o)`Z#Z+Ra&F5rU>PAKa2#NGl@?H!UP%ym=eq~>7IsFw~ruj zv^9p^?hx_jBPap^4E$lxyXn8W^19y}woN&)*^vlA39mw_WgU>xy$=NT1-lyUKmH?p zHV&}*P^L5=w%$6PMxU9SGo1#R(G_J>?OMA@7uBk?--&fhjcy>2MI7cDXNHXQ3h12e z`wz1KL?@-^_e>~fq*;+|HsrkpphHZtVUv-@O&V0Ainvr1M`Ja7y&F}vx2#?h0G7tcLpl-zYCYza5HODz!-O!~DP(}fXVXVgHlO(YQuklb$LqJiICYZ(89Cb~qXakLm z^h(o`o>E;B8xUVAtiq$tj0UJqP#8}}qnNI!dS`~jMr@!8w>#>Nh5%m!6KqKz<9uzd zfpy35kOiP(MYhFd<<7EvCAh1`4_mx1>$1gzOJl&L1UEJu!7am0MD9?xax=@pFj!tX z!)^d71UE8d^2M;~S9k~RV`y9xW?JDJdf7Z}%E&q`ah@Oi}~L_HJx zZUt>S1-Of^PnG<2OhKO9N{ZS4aLGWNg{VP4_21SG^@^7LnJD3NG+x{NvN&^`tu-wC zLd}%`NQ3e)TG#BbKBsb%I6dL*G)j9cnHt-d1QjC(`V-jAG&@mfF+U8}Pl$$OITPIT z0^)8V)7q1GKSA%FbT$+K(R&)B$cN9@&41Y3eY`L8o&F!Dx24;cp#QR-md&)hB!#y0 z)G4^Qb*B5*18X5qxKg&`OZYSk7APJmwe1ghDT7HGGrTZ|ZJDBo&3?z{1{xUb6sL!S z2XWb^!oJ6#7{VUaJxvmmsQVzV_7Q4n*U)B7g9kJYHU!%P@yPBiV&1^9dBUkR-FBp6 zj@TS@Aoa}gxJN`WC|Z83eL{wuNTU2UjY*!RS`XB57Argur?<6M+XGEBi}jt8_rNuhW=GI?-Mn_ zOy~mz+0p`Gjwy0Q8mFLY2@0a!wc!^&O~V$(|Q?Zqbwpn&D2a1*mO!hos_@ zw5sgekn#$;`pray8hY~KA^q+b$2CmoLxxX_6IKTa5L5b09+ zCTqSyRpeyBCL)0N+5d;Gc{deeae>8sgbB9Vv<1GvPoVb=F|sTRarc#}-TXjx#n#h* z4$}<6VduOXrD}Su%&!g@nQFAHF)p_~a4%Yw;rOz0Ep zP|mIGqUIo!IcH?IndgKd?^g83%z%S?cH>O z1$g3{iGqqh!@8d`x70V+P-IL{zUE&N48dgE=BPm2Uc2cr;{yCjGk0`>)+4!#v&->= zHR1Il2cV7r^^^Jw><#B+Jm^#a>Y5!~Eofzj|3r7ZD`0fj_LJ8lFGk-sXSQ68%LdiAG;o(!y ziSJ$RMt16?k4Gl_?!MH@00r(kxgSPg79Wh&*kSId}sRbiDte>R+%8q)r z%NG#&4a}bdJi~W$iZj|rTLRpb1N*9e3CsOCfhboo2N@_Fk)fj$m$koGs6{D8DpX zJ0k}1focjO8KjJ2cF^tmk^A#Jt(MuJ0?-FJ6(#mrKVY;q4AVws=W?WNqlQ>M%I8{< zIeaF!f#s#&#cR0cR|CT7+LWiim#c)JZqJ1MARE#~alf(@K>s40tC5?k;2p%EZMw@Y zAW%q==2D+Xuw6zmgQ-KKPUKC=iJM$G*8jFV8)odig#jx1YVPo}R}O#JLg=4QnPyvx zD`)PX8~WhSpoP#*XBC2(JCe4_RAOuB2A10YA7alHM^GuQudK}^btR-#bDTRb*#bq@JvL#Pcv*RdE2!sv^+vl+qa_Oe%Wn8;=U`- z+^dE97Yr=nHxLZyC?Ts&E_`>ls`V;1E->vjs9UBf5E=eRkf&L=nf z0)6ycP02brM&Z6NdQ(ragDfRvsmG|-D8tEIbl*=brR$>546TRg(#V@R;NsYySk)`# zBi&#jU6HNj#8H01GP8)o&XyW7wYDJqpVVkS7n$c8~OHXKKd30F~r^BM7JOTpk zqv*f21-l#cc0ImVh5ia5S)d)+56Wz?&H z&z4F?T!_hH{(DBCTBo6Z*8hz^@2mSE~$ z3j=iIjf*0v_l8Pr{uq?is3pUKR~^DIVZ&!GL;m_`^(y$=AP$omll>0nb5xR`h~(0F zo@|8H{8pdWTddy3PTe2|Lb}A>h8||ZI5^(z8lzA0&l5dJ3oo)PVdPpwCTz3eYKHAMbdtZLMK3$YA#nUn=_%8cw5@DtI;AI z!PQCuw>+xNl+TPHQk6wS`k1PRd^bD^uSkES?0W1vW@Xd|`u|+D>4(Y)`1=IqB!qIQ zE=!Qg)`j?uu$$Hb#ik__d3AsAW1kR?!Bs(%%u zNS#ZZhMV*_MwigK&3vcQSh+1|ZMk8CAp_=PUbTt|(#74HJ?+CYGp9?E<82A*rO5&C zS<;qX=1t9(QvzfEb~h(vfTNpl>H;^%K$w^1Vyc{hcyn##a!v?m{ZYa*r_}jW3|WJp z5Tc$)n;`=*m;Jg{ER2^=I$D-Zs>d2g5;En7lY|8Rbd0rADT>A($t{bag***U$dCq& zeu2qH?&KJ(nOldR)@)`%hEQ%8(e(|DqrN>l+h|vk7I(GPhK?S5DUHap4RczeDjgD+ zCE7EB47It*(-PZm=c7zT3O(%0AH*e>eC{BQbKoCmH8^63_RG;uRl?0U&#&wbxNAyj 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%0DX9 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≀s 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

o)lmKL| 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 #{3AVRck`4D2WEMy7-@TH3I3GD#! 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

5C{Onv}M ztXq7$#Xste8h~6a|4564Um0Pr?$^2jG?YG4>+^dfrwJ6wrl8#X);6I$-b4EhZ8^~L zZeWWt7bz;^)iyW*%wxSGtv4{g=K6fjNs%(~N&_e?tjG1;P`>Gu^SsnGZ~0uE?rF64 z(A3RNML$=1?Zg0vvS5x>lV+gS=o{?9h&|06efZ}gL&yB^>12`^)csh(6{N zd$?zpMSZHBuE&nT8Eno$nd7DmQq5V(S+Qa6?%d*;L`mM_hUcwG{e^IrYOfuyQ?2~G zzNAA~y0#f=$v>8#{`5_F43n?+SmtRT9{$UxB%B2Atz4ZmD zk>7>8tqD-Wjk6iT*~f4)50=?gx>+_MX4BhQ*#S~`IC4Bx$$Q^VW5c@cfW0I{$GO7; zn=r1(u(`k9;`x%A&>#%RpT%j8-VXb=eqwkj8gB+)vf_-XUbuR5a9(>MT$o9&5Zr)) z1Q8tpUuuVoQsUd#FuQL#pZET*Z~*95?~xBU0BlR8aUV{h?hn1~D?*-FsHHohGXy5E z#lqJEF|Ij%>vh|8+@Yl{s$%0fM(}RE_^wX zR!|J`Uh&v{c>AZ3cWfss6v^OBHw#ApBV|_6^k5RmN3TJUx`N&~V2li*;f+i(hEhZq zVf_8^*2v2rT$71T)5*ZkA3G7p9CZ9?^D}@@?DnQcgD<9W=_b;o0MkC+jaurY+ zJ^jEL4K9zms=%&pS+`unXzPo3SV>BoL!}J0n5If&6U0Qt9CP1c)mS-rROxE@q?@x4Gp7KR&!&r zf9JnzG!eFL8*|HoFwKkMT>X&$IuRp}xbA#RKk-<#xR#`y2`L$eDYr?-#FJQBY}T+t7TBq3^G_caT(x-_A;k?ww?}jV5qbo}BqXe75&#a=Fw);g zTm3iFlK(pQ?Oj@(r$*?!I2)u)-iYm2p5DCou#IEO4#! zf;8}=W`{~W*=Y6U|4pQD3{dQiwVAhukd`^uKMHPguU`A<-Up=&7j-#kj!QB_nwRZw zO$L=ROP?kI^|v#a^CO~T!rKa1*|nCH9wv06l1h;E^%8=c1*X&g=Q@^Yb#H*#^c~Lo z&J_%Koz;AX#*sEk%CByLR920(u46kr47h-RA*jbi-dX%ucU;Ge;IK|V6l=hC0;c6y zH~jGiV6LJx!mM@(mTHmPAgNMj=e4ot79BjYZ1BA&DAo z`nQ_}3=&}Mc#I)NCD%ig)JN<(%(keql}@u?%-l6n{K=wpa9ZYm{*}V8vK;ji0gAnR z6NIieGEdydX%A1s{q~0r6y1WZv_DrHJOvx?rc=RwM1M&}6jxZv(e~J*M)c47ce(A#9gJjKN-dAZII9o?D5Qxf$6L@o4wl*0`tJ^nRz@+R|9I5pQZY3< z1P84HBbeB(IfOwSE41&Q!27Gm?iDEWJ;+3zbC3Xm;NbOP!hx%nxpmnTR>&xtd1C11 zA7b|^Gzs#LuYoCVaF=k5qMhC|iID^VMwLK{mRO^8Bli73)mym4!H3nv-%lk2bf_3Z z+RM6Gts^_HF^81-P$4K$=c_S|<_pt2LXVrlH5JY&ssV5|;EZsv3ws&0X-zjJWj$?z z=-x_fcnq$H*t&;U7T=iE!407%7q)>PzwJn{J%@|Zam3e0rmT{1jArvb0NKR)m{hcT zI$t=E$Nsg78-OY{LrRN~TN(tY@VkvZ-#=gYXYHVVTt!AoV{MlV=-mNc7nw@^DS;XK ztvXbjD$$Gg@cjC_zR8AxTn~nsb>Y<^9FHb)tJ-cF{Wf>)QgRRyi|{@SI~bVO>Mlg6 z;$TamUHpvTjrv~Iwg&G8_9V7lI%nIGi3Cn z7p{T=cx1Gj1bs1oN7kswzMe%821UaV3*t5+Y&rz+?I70QV61|U=!Wp@t2DDK`x-ld zremq6DWvgXwL7_Lf{sk^A}URQbU>qh;j&HPHiRh~I(G8p{e(O7@hm?Im&n&h zdhYcD81jZ}5Ea8EwXlNgn-U`cj~a}U2?u2fg0qj&0GgVH344Xn}UyI z_6FX~uj(_hB$Re@f%I^ife<7aK`^7utx8AAoHN1SevPJ#Aw0?_vMhlgCz=fm9*b1W znh;|c(#KV}ohVl+3=&2yWwRHB+2j>2VS_ zy+Fo?;tZeNqqlRgF4Mx)FW03q5m1IVbcFsqFOUNfXsM;n>n91+Ezut~%&p1=~*xze6Lt7w>t^?WZ&UWTD zBc~|_rG*febj0c|U)%$nvCyjG%{{KU*{Lz$I2#!mrW0Palk@yxK zGFV*JK}XL3ch91 z)#yB-nkieJtn|kdwOM+!GrUQB!#M1rPLYT~uu6hi=1?fuJ6j~u#IMCh!Cp9tGsI0Tw*}#1SG0BYQG!q2 z$tTul$wQQ$A%AQc_42q=E9ZJZ*OSP@64Vt68~0N9w)2J=3F#x$tszW!ead?eI|sZv z?b*dOBWmR_mx2-7)sW={CiwY}>73GQ5o-TW6vu~M=hH+iC6TO;*g)S_1xlKggLiQJ zkKNNOkvqVQ&ehxf!8VMV4b>@P%KYNYUhpRqN9N*T7OkT^c@d~jR?b0_DoDARQ2L%V#FaYuW$88ty1HeQW z*3n`D=f+;6PO=n1CJXLWdW>Lpm3{ZTIG|pO{RFZi9z4iz-lLHE8snF{t4;0QVI zaCaD?(5D5DrA;YOnz|eZNRSC1l=QnSS;DATjY=x=Rm8VsSx9A;>7Tk8w~?Ig=SUjr z*{T@xU#B4)*{cH}U7=~HvxNzf5L675gew4UAg027tOzhQch(W9uND?SbGFo~2Y=tLTo_3}nt5#F3m;2U>c@}85d}Yi* zP6f8A{_-nI09#)p>*L59w^OGl*tLo1wEKz4@dZd8Q;eBpu3AJ)=A_Ax4%Ri!7OPvF z@KJ7ZMyX~c*DZu|5+zA}&Ky(ie=%Q1kKJpMOY#`2at%7Vpk%2b!n!J5UKuDGHot@9 z?-KdZ7_h>MSZ?!F%isA?+7b)gIFxwH8}$>+%8K~a8nded!tm^rW8^YR42mu>K%K^F zi>5iQ>wDjSSw}=~PK19xJIi9fRW{5~8%U*B@nQ2hPfxL$gNiSn74jH2U_&Ic6sx8) zVPRhQ$J+xhJmOM%k?oe_vXW`1MFVXUZfEuUKl`XqRw;ft_bqpl^0fyAGctnDq1FKy z3SAB__x?kJC{@i>U7d*w6Di1#%qLCCyh!(rD~N2XmKI?gu`4*8l|Zp*$Yiki0j|zr@ zwU~)lKCo4*4dT9EXSmhf!n~<>8tG?yjm0BSNeSq&O}V}rhz*D(irRd=VDaZjj0Iv*TBR8+U@=f!(fly|CR$rLK=&LXmJhocGZZw1%mpmp2EE_q@~)85 z^k8i0OgwF)$TbK0j)DaVn^d1YaTjVR95WXn>&qF9g4}-m(+fUCUvoI+#WwCZ8PZ65cGBFN^cgi&3EB~16 zU{{~VfQC57M)lT(A$TO-;H&2Dh63Jw0TW(!0*RZBh@)8a37<(hzg*zDrxf~5M9*Vo zh&L*hoaYYyK3)Rpb~y_j@&DhUdy}ODy>#NFs@rpc?cXcEaBByy4`KaLb9z-Ad@&B@ zoiw`aYW%tj8Kt9Dx~225+<+0!5+Ibd>b+Yb9MsGcCK^V|LOm&xr4$}%Y~lIn{QF5f z-LATW2)o8CwR{6ZN%{Q)t#Hs@an~NP?e6?J1GnM%wOp;Ub*GNsrMOE2+jXkz9Foa} zLpGds1CqbxI@68yy zRQ)~ky?Mk4M-2)=01(jO1Bw(5hncQ^b)(8ZbA=!d*(UD)=&rCbk(!A-*yy>N^3M93 z@TuCh5?K7MDy|9`q8ZY^7jj~L<1OxmSi`*0VWiCXuNN4tG>m+$k$yIpw%^TKdF+!H zQ7+nemid*E+GMj+@`r$MNd6QOR*m5NVJNzT)Svd4b};AyE1^%n(+=nNIw%*NnjpcB zu`TBs*%D&Yt#ShrhO$FDsmYIE-)(0i47V?hoZyokffCu~M+MBg#GG>=QDD2}5pqu> zglK$c0ng$|C zcW#99d;~PQHx9-+lg>&km0c?XF5jyZ%=2kJeeKdxJLmNh-yN~b27DxBTA7Hhmw(p^ zEd00}@N{O{8g{6#SFCTmuQshH9Q@u9UXk|9OC|;~b4oD`VGs(K6X@uFpaMcBfbdu= zJ29xk=_}$)E#;|V z2wOcdX>%tNh9j^z8wJ37UrP^ z^;FWz8{z1pcYI5ugqHBn2zM7Y{W7yLb9MUvTldfNKoL-ZEXjuZ@<(Rm!% zwr*7;E~^&~d>T5UAOMmF1&3QVMeKz-s_FBgC5{vISquOv$rF>{2(SlNDsi&ObIgnNAe2h`QFDsmP`rlRytplr>C zp+%odVyP+rJ7X#@z)wkTKZ@U1C>``a%YiJZr%cTUDL6P*CZ!bdasztelCiWFSL8qO zWw$X&K3(S!-e13Na2Cx-vBGtfYk>`qk4WXHoHp5PNa3#V!0q+v9l z1j~5eQ|;ee-D-X$R>_RYH%V_sqWJ4sz$zT6TTnZ$yWBIuR#)}s^xf!<11t8n?sQ(z;&^0H3VdADR=_=oC-V zGpBHqo7-pvAlv(riFs(a$3$c&qLCq)mroFesi&uoT7Gu`p$K64nqE-iz(Y%DbI~O! zEL%RWESM$1=MXq;7!)xx-{R9xL10d)I-f&FW{Fu98|;#dEU|>ec)qrA90reKvNt~k zW*!g{%=(vD8l1XS{?a3mxnVy+0JGr29`(BWdvs;Pw^Le%1>7s|f2$6iP2}>ADg1O` zX)u@-!D2;`e>$*^LyA8_tRsq_lsov_eS6&!gp>1|cjkifjmYc}?3AEX_-KvUG$y+7 zu17-V|AAlUD@{z$?b8RCW6ss~#2LdLTJmGsfN%cFyuLk^yvM2O*jN8a7N`-O@9PZL z8eKJ<>|YX{w$cvSki>9p5}&jqv~H#;(hx<98F(>`m2;} z=liRmAbPt+0SB0g!OTa@Ln%7 zRvu)tzgC2{@67O0tEV6-dms^|XO2ip<%1?<*8%lr{@F1P zq?Q}*qCZw~u>C!APV+$E^|G4|lWb|-@O=ryMv&^c2?$hPvQ64S$|E_*Kwi7NGp$1D z+fMj}nK}6Ut1fvjn?}di7S}KJiVbiGLbeaol{PG%4KTa#b)v5_1F|r=TBZGx6~@O_ zhI?><(n0-H6~Sr%KS030VOKI6VADWlOaG9{8fe(Y5~j^)U%0?R5t7*%#aVKTh&X`* z0CVV)oL*acq(S!zms2l$m5!v>?uw1TWEN*q6-u_WKth{6w30;RMF2~Y%m|o)JxX=V zA;tCk6J`@-p~JP^cCJ^h>K6d8%gml`r#5sNL^m+Xs&+JcgM4XnZ_B~W2*Ne$vd*?l zqMb#Iejkb(FEK;z9odVn#ex0Ew)_;tJQOt$+-K}JIa2^iz3o%}uAQrP%B&BTC_af> zf|gW`+Msh}IfT^^O4w6O^E%Gf8bcQrgl@y>%bHy;&qT6HjXHg{mTnx#Q=}4#4Pym( zdPQ0FRD~i;rrD%{`1kq*Mm2hw^QB7k_p|G(sVzc8q=TDZ?DhYT*uY1mWya#Ah5u-#CYT<09 zKr%zE?@|4_GsZE6oaOM+idk#Q_f6F$@ktrt-ZjpUx*i~V_|yoI#;svWJH*!SE~?F7 zanQ&kaDBMQY8Ri_&O)|sx>rSir?MF+{XkIur#fNr3+O+?1ba=vAI2dw%0{7~jr*}* zaaceVISV6t`B*ScOMyfZ<~|dj-vT5Cy~i&7vov7c#&{73JTM-RlU|F2^(3in?V4%2 zhpyky&xI1wNfOZv*6@Ke)+b?2NO@0@4;1?(mnhWp#~25L1j1OiC-^xfwsHSNhsUPH^pTg}FFBA!O;HRlsX(j-L2!oRkI zJ*3##%?lS&O_wS({QpZZ+NJne{CN_A>L3}}%tGT|D4&WypKBGJ_Mz+_M5ij($blrj z4YsL;`>yR`^Z-uR+~Uo|D9_oRgy&KsQk{9R+1c8G?*ddf?G)S+oaE)VH zb|$B6xLx8??X!q^w+=bWFf?bYTn>w^g9MGdQ;t@@@JB0T$$XyJ$$@qLKc~spvbHnV zuJ-b^^u24S3-s~@eX#*U8$~_Nmfaa^>fB}{1sP0*a)w;KZRM~hx2)wr{1UrhMXtv% zXSXxk_c7p>55sYqrA~C^{36fTDSwEpN1UdHR&CLTKL|-j^aRmAtkf1Z!uP$uj5ZIH zhy;wmuxDpOBokr4-S_tKbpZz=h9EYiDBe;_LbZDWsf}1giBl_)Ex@(dQeu(=90B!j ziCxE*JNn^bC2k|G8#fv4xl{3qtP^OZ8S;_Uj1Jn1qQj#_p~TPyNY{M2N!!>)z17f)21fyp7GMLx+2z8}R9xXHDt z7ax@~$iT{eT}PinSFua`Nz2SY32x_p0>e+W>!ZX!pu-^Ba^Ijct}W>whh@s2WBg5U z(hDcyRW608xz!MP!Y3@rKe~s;+&Nkdp*WVZXwe+nu~uA{>36?G5g(M;K+k*<1m^(=LtN*1 z;RFk}WWSnc=w^gu*qxSBn6hS2H%?Z09jv1T@k*FT7a%fiaLK+CLc@mY+;t30(dk%R zoLWDgu*K{UR}A=@P^-m5gqF)QF}|MFN)V4#&%BJX%;_%p1Kgd|PT=&2>vC?(rK6uw zqK){%l|sCf>@8XeV2VU+%)WArB=eW7E=}-f9lnOOP33gyf{ffL<#Z%_OgzWmf&Vt5 zp7hYPRfMGWsS4`o?0kyft(h9`EGLYWkQ|g*=b~G^syXfPhbHm+3@}|53*sM#Fm#_E ztcrt-T{fJuVGx3#BAl$!i83yi{B?%%DlT{6kurbM^^^ztZ0X+N*pf$)&!znZ;OJM_ z$=)pEw)&=gFY$|(Y9+Q^REQViw^<6a3-+B089(k@-PEiBAaib8D4C<(51z*nWe0_q z5PYhp2rF;P$flja_rad`pBa=O;|hF-{|Zz?^k2rnx!uSdkP|`69Bk8>{|ikJNk|wX zZI!nffY_(0dUdBSR{rf~gK?{ebCZYuSx=iiJoohRoZOe>(UA=(2A=4ZfD6y#S98GFPw!nxvUAw!qil zIC)X+r5w-RB0;rRCBI*e(nt^jf=it6^APKQcEocRDQ4}NH!b1ukacFpGG3ec2qWp4 zlbV|%yxO^|XPu|6NNpb$>)y)x+8_)r6m36a1oJwuTbd!gxKAt6U9Y<{Pmohm%1A!) zvj8wu+W9HuKh8J^uX`cfugfAKYB!b}m#!gP{Hr9OS{H$;W)Uus%@)gn4(3}vagI{#n$5;f;K zi76GrbcV#Mk%eR=7f8xo=Z83ggKNNc07-q=hi}{sza)JIXiB6O$zgP(x3r$@$D5Zv zViu2Egw3P{0c>k&gGyGF4H1zOA5-Yh#QZGd)nSt=>4W4CN-$M|t53QmqyPZnXctwp z4!CPtR1!TP++`v>5Zl&CP&&$|!WC6p`c2ct!S;)Rt>$S}m%W|AoW(*xh|A(onv64|g!SBE?owhTUoQ!s@J9tsp(#UupqzKf>R2=`IEcJuz2ul+ZDXd$7q<^um0 zNX=n~f3gVj)bRfzEX@hjc(w}bSZw<$L6{?aTIB5FH=!w0C_K$saqT;sz2ekzk@^g?* zrUW2lO&hRAa;%>|>n;E*bb*gF2>#RF{4NnPy{#kDa{UjOLAV3B@!hr`S0+L8c|W8{ zIczbsg_oF8cM^e2JIZ_6ckLl^K*l0H*EIN!QDDLRN}g>RsbFh$yeYkiwCyy@B=ca& zWOAdaOqA;|1*)&IhI`j^q|H3MvwO$k9*G==f$^ne7F0vHjy2u{XC*4P%dR zcMM6!54Ew@28LWGF1B#=t|Qc}f?fYGOpb(+Qz;^-Q2t*iaJzR~4XxOBe6a3c>&Pl6 zw@%y&V+o@HOZ}_o(6Ri5=2j85j-`JYWV73nZX~v~el|g8+KVj@33RS0C0>6QScs;O z$M2oJdSqA9or%%^2Z!*kCY)P)Z*|KZyk-lMvd}vINNrc~LCZ|eMElF%r>nI55q;WZ zZ&JGL^^0f@Oa9ka32fM(F!A-O-#nGTL^>>2M1Q9ad>``mB>oF13jxv_1^FnCqh6&l zUw_akVHkNP+F~Y=Zl@t?h64g7UaP?dd5((J;(K;yKfY{oOmdi{B;^#N(XCoYF+~0p zz_M_q=&N`b7c^3BsFnm~|5cCK?0K&M1VJbL8WZ+kr1}OYfvvU1@ZK(_l3Mleb0zF7 zppbhVK)@ZdmRUi>XI4Ms^CYvkiQyws)!zEaWyVfRgR{?1r`dj6YODF=&R!QeWci9K z=}jm@_BS9o^VQMpkR`9oVfgP5S9E!czekrP%<2TZ7qug(z4#I00%Ra{^CmpLRs!=n z#*5-p20w5;^||<*9l>sVG#~n@$N2IZiGiJ_jF;W{d@N}4LQAmK!c8}}C%3VQA7r`* zi=Ck8CI%t~v0+;R=pbuvHT24IpN>%9I1D=SfN$8|_l3JB6|Q>} z=0B97zsTuIY%j6tUJALY;>csfKKLNna$6#NnX-w@B zgm02A>PLC>xaYSiIU>K*kB#mG6FYKmD8SqN;dU$uTt|S*_uO z&QifBI|LMF6`Sw-@-Q-&G}w+>zZ?ID&g?WuI8456=vNo`8Q$Pzj_c0|ZU7qJV^<;# znu=(IF7&jN)p%1j1ggjG4x8oMcSh?^FbN^SAV{zKgH37f3pXKWC}GZTsgB?~gX_y} z?U_@Ry3z}(?S7o3W|aQnC7HY}2iSu??lYE>eK80% z#4jSY*LvQY2GrF1-&{zC1mXoD86D_1jIZW9Ho?acp-b5?w*Yw`t1`1Q1_NcP_8h+; zxsiPNQ&W_^SlN$O`Oj80dO#Eu@NivEeeVQEt-W6*)}Vil9dCm6ra~N1mhw7`1aqp<``3%QRPCwgsUq3StFqSqR;| z^1E@e-T~($%ZPRTH>p_iFcA2&H`x_mFL;i7Pi_PurRB5$G|2BhEj^Odt$O}~C4GPy zI;K8zEKpesB`(l)@6tZ()6#pKyfTjF+J!XMlbN?#15mxo56+&=lVQq%`iL7FlL1~N z1ye-V>AlT)B7yY=Shi)~iy0C<%R~m?`UCm%MW}1JJgE5V{)0QO$p@|iqtML0`hLtA z<&y!q4$S18k#Mz0IvEKBZNyb~(`kZjznUw#$|rMp{Mtp-A^WqLeJ? zIu#?uv*1?bh|eHMjFRmc9)7CP(l?NGA6*#f#C~JtxFU5mAz^O^&s3D4&wA7mj1KTU zDKTjB_%$Poc)RI2_+!#%}2)O z@2hUvun*!v&~0D)&VX>W2Lbkdn0`5ZpYNV;d4SgQV?73hJ$bLH_qb2qNap;{s3e5) z^)`*9xGOFuDJcU?aakv>s1$NH4_(^2_e(z?oVdbA%*HoAUsdvbO~&a1aEWiU%9Sgm zmw7;e3|c-~4N%LwujoD|^KvXR^@g&mFF!`?$=A`gpVEccG4aR`we)bH7ueo&XFgQ* ztWcFvxdaV7oxYD4;;^%5zzfL>5^J=oVMZ|}0bIm3zqweJobeDCdZ~)VqV_V${u)iC z4*zXPpt?)#3oZHa;PnHw?-pxpdM;f3#u~1m|7};)(b+)pa+N5$^B^3;UHf1!O*WCFVDn5JiuX_?SJdUL}b@36-}So70Ef z)2t(f7bg;6wU-{$Kn@!~u1gJ9Jz;_PF}m1s(JS_OodlkY7Qzye|Gm{^XWI8p5k2-6 zjI#kH&k{y6l*pS<8Y(E;9NaXC&7`-Gg;J6V$a${W?9>$gqn!Y z4SDcFy}W8!$lGO@RyE6^1@3B3p`VBLD7Upt`iEAL zmBNqlklT$j7yfgCW#Oc{HVR|~L8KM=Se(OdpR3+=Tf7iUmx2B$-!MS#9ieA22W)<1 z_FHh0`=4OTti42j=!qRbq$Fkava2lWm}IJ3&97F**b%U+%-Oj3`Jk_Pi^FH&nmgY* z&i1T!e-~#-Owu%2;I3E+18U1aR3T}HSn?q3b<|5>Vem<2YY&Of7hjo%N{7GMn+v5| zgi_dG0vvZ{8TMvj189!SoP3@thwuD8y@V~i=5|Z!x_fh*fSQdUJaoJ+z?XoZ z`Y-sY;;)tnYX}acY9nhZo?&3}Lw|;zgVP6YbsZN_BA2M5qs0&fWyh^ z`iPM1aoH&4=iR7N&D@ zCo;*WyMS+4cUXEzLO5GUjDuxF!94l%RvY1@P^X0$974OAn{rIcJOEXk;DemIpM=y+ z3|g-~vNURc16C<#gb|vTV<{xT>M%zPvc=Dn!0qd69nKelP)6;P9%NolUTl%@<_dY) z;6WSIW)VTrx49zkvmFD|c+xIm zXELgbTQ{%BQkm-)e-6)%3h~K(@2Y-z9vA{6MRc08YOZ@o|RF($f)2d%qA5CG}3K@{hea8R>Ta z&?2;s63bOaPjUWhZO>037B}dE&@*}*uTakBwJkzkYhO(R-5$0 z;psHu4X*~hBeA-k*eW<|Nkg*E`*7f2$VM;o+wvZF{7B;lA|Ihu^2-Thpua#hnH^sZ zXS)=l_Skb(Jg=w6T=-qlF+0pnGHXr^>$T>%b{OM7Py6c!T~p~Z6y%zWS@xm=rkP7q zDj#+)Ee;+F_JBP-&7mXV*m(x^9x_Fm_U_WG{;I7kk@9zDf=p1}1@>gj1Ta(gfpEp1 zgrb2mUv=0psP@&;+CL)3raxu*2@jD#h6pkpYbeVMHq6jXm{{~*xjr@U(a@JyWohk9 z1STIGoOmDC&b9E93fz3K^j#RB#@gU|#5k@0Co@>*@5d0$M{=+a?s>jrLIMYWx}5YK zm=GlVI}GOMXc`&IZRSHVNI&B?T_3h$1mPAv=NG#OEjy`zcaI}ZwZ)6p8YD=~M^_br zn_tq_s~swx{*{C1rRj181W9`(uu(tzY*Pw}45d2f)$)*1>z8hl+V7CUQYb#$M2<<^ zf&OYc-g0+hhmwAPCT{{uMvbln!Z{%1HJu_>*9~TvlHN{R;DmW7){f?J_dAwJ;?2==SX~KT~5Hn zD+D+)`zHWI=@1w=Z0(ixgd@Kyg%hsNLM|L4P5rXN1(jv? z(4*k0TZ(f$WkF+YlnztM#2bk+OEhWrXEp$L!yESe%D*PCA@|enG`@`WI)hz~`VB+& zdY!T>Yfe^VIzZNfhP>H7=hoqYuIqK26u>rtrKmZY(u{|bS;wM#k1rClx&(H-Hy|kw z?O2B2HoZ;PQ(`bvWa9N`&Na@x#5(TKb&;YI(zW21Wr%i0jZK`ODjz4LT0b2kJ%_Ko zl^$2e|Is{6p5FHSL(}C8Ka%PJmwNa#$5wVRr=4M`0I`<|fGREI0tsS~fvhb4ZlMkZ zZD`u1Mx3q0atMgq5ATF)g5bmA=tGUY0AYfHAXy|&mQMLg@s9g~>>>br+kkB3D^DQt z>c@tlLMWUiM9>>JR4n+^C4M<<4G^|MWQO3IZJ4#7!{Fq~eZ~zGsX7>W1e*`HmXR;b znNu1=Ahoplp5pL($_<4r3vdqd`b_nxJ3a@%;*A%yD+YH+Es}O4${--YX5%;Ps#oz& z{l!k>DdKMUJLi;V#4$#O_&5#?gx%VVLV(Ec+}6B67TJ)Lk%QYci2T6rqJg#-H6LeP zPlB(&QF~t{rMqli1A(=ikRd;(l~a-}>1VC{l_nN5VpPJ3kEDrCANK|8wjuHwEzi5C|1Yk~u)I6&fp6O{5RnP6asj zpVFs7l3x%lfXH?l1b7j)EiDD8IedwSpD$gisFBx^@5QNBO9&ZohKs)|Gf}Y)DV4_P zH@fD-5+ux#9};3S%>3W*3&Z5@Y}OQN&)irtT}1j67-U&cw45sk-V?{^x4y-rx(lU1_WC#Rg>RIl@ARp=76BUDjz zDWk|@LqzpRSDBL-)O>x5+L`cF;+HC%E3Q8oKL{3Xr2apc?a$U397;B{WsOBTb?&qA z{uJ_B)0_DuUEDO6*xxfC+qI~6#>>n*q`gzcfZ=c=##8KF)~V>uG@0FM=sIhv-kWNG z&B~fqjoJEhxY6|>J0X5l_2A{s36$1|%hb{|e+P9+3=-Hh@e-Q_|3{vvk8P0L2wQT! z$t4*}zB&4cxtR$uIIj0Z_IvsqwToW|K)!sd2`tGcomw49<=@htNbeU!B^WmfIulSH zgK@OCciYe4Dxp7z0pe=%7Q8m{v`i9+oQ(Bs|C+zQmj90_s0 ztKHRv$f~mc=M4tpoKG6)%}qJ=xkSh^P3P?RR)F~O0%iXFRm7#R!)Ny~@FGUghx6^= z7j=T|APo}m@izNgXke_#Au-5yj(*m`#gC^(`b}GSV4bxbJ7vS;6NqXS3V|3MS9{r^ zUC&E9^r?4p86&uh!u_1X#9GA``jluZiBQsL`~o-Zxj_ zqQnNPzdb}mH4if<_p&aI{R-qEz7(}37xOOZCgWXdQHLxRsCl%3C$lReDg~$*Y_$i5 zVBB8Go;Hwo9DP`<%WgR}?^?M`-1q3d^bT!PLi9TR1qZntta&cx){s=vzL%QS53Osu zl+l4vI7tg)^^A1-qqTxij9~uslqEj7x;_06$e`L`Kle(B0Gc6guv913Vc2!GDw9TD z2^el=1CRVcS!3Tj2J1{|4xNT#z+AZIimU9aI)c3YkWLFy$>;yQN{X>>Z}!rvvCmE* z_kTev#>(baey_+$8`w^v}Co(4FcWV*r^x0Mf$S{JS>P;ky5eB z`IosLk!g!*MQ!uFZY|liTIf^>B7Z@V@wJXx*4;X1RA}4ZK8@3ekAKgVm_B}T^C@oH zq#Ed%ELKeI7g7JW&Co8ED}uDcv$4e&rvvl2mV*cEZTpsl-}tyHk=Sc2XqzYPXgm`6 z{?Afg6c5jbb|q*2GiLn_6QP~Ip00cfIGI>2 zu7EvX2SA*{Imp;=R#xy)1m}y&t|8bdDh9~d<;n1Tzo^4rHdB!EA70_zatww}4R7}= z8`(9yV|%HYMjLm{(4x_aOYp6?SvB@aA+(rW3Zf{$w5CxXU^p*2h|W58hdM|t?a)grv&~phs07sLG_BB? zXE+wA-1Yd2&K7;}+6o|+!mY0Iqw=4lNZ++IwH}`ykFj(4+s@!ZBNziIG`un0kJ!7zlZc?Ga&%{CD`iMB7UDWCdhJ@9Ofy)WQ#Z447dohmyo03tA?2H= zKX3=lM?PV4(Qu1J6t8;2E>4y^1 zIcN92zdLPZH2n?$(f$zaRk?aB>O3!bxtrc(0NsL#r!QMjvY*^J`% zOUScah!^h*fV>C~>e1gyG6Q~*KJcT-7Y?i-#d_JagFtK(JRqY!i5meM{GJh>ic&v} z$B4jp>MyZVjUmo)C}Qy5X;)uw%I?u!PS=Tj8Tp+tvpr=qm=r`XLqNcQ9`R8$M~^on z`%6-+`bV_z|CokbQ8R&4;ptp~$&ae_NS`y(lKo>Um!m#eCdxAN1_Z5( zLw`8(Jwfh=uB&8rK5>^$QD`Qp$L~0~)7TRPG#$OdRW4loQBsKf12A@n1E^OR?wKiT z!l_0JrI}!!IkBAagFtAwYMpbvSVh@5VuKPGO@jEK$hn2QOqDdBV1alEbx9J>ikkSV zz1P&gJi!p%wAU3gcG{X#xA6RYt3U%VCGK9_9lDXge&7e~Rh%Iat{;IwDbdxDPG01h z!Kl4i(J2G{p+HFpVnasB%y*sDKb3%fuXaDMiUV5bj`mAU;7QPNZ+=-f6H+i(GSZu~^K*O^Hh6k6Ojik5 zmIcA`UX2_SL;wqQa;waJb63CVaA+K$y=O5-1Fa;hMgI~3{Mj!Tf5?_eQ-POP;HY=w zVfQZd;bpDIwVZd*!ieH`6HbD9UH9@;>e8YQ{)zS5hHJVv)qneaO4+INZ8?Nz=!5d4 zw)qPRC>)6S=WwYIvv)_7fLi1n_H0RBah}FE(5M0Tj);WOh}apQIB}a;Qdpb$!(1&n z|A%7<3X6Vo=L>2G_|s$jVFL%xD`Uk{=O!6E_H zq(6lFC3q;xw0HDz!F?)>r$8|2CT?p{FjTHjGcyt%AI`G|DM(8;8Y^@4T1ZCjEG&si zSN5ae|HfqZ|6z5bOR0is5c=?G+duOWhBXi~-z1!E_2rSLR&K; zllB1=d0JhR3?Z?g=ah1QzsWaYb&Vafmvkevgup$JKxzH#qL4h$D?gY}MK3*)H2<6h z8Ps0@E6X(MTmdO+3qE@EZd`yRF3}6FfKlF?RN_gZZ1JZf)ubQ}bRL;V)dirovojle znp~z`cJ=o@13E>w=zusVOUYRe4jiex8~JPG|En(cKto#S48P!|QQnn83OUcSS?;yV z@=f&wqvAr7bQrxL{A70}w)fh9{vYDC3ry1H3RHomMN-7%86HZ^Z_vD`1MfVYEmol6 zuSx`{)WaV^a&wCZlsezq!*~nZ7Df0&OJ&NAOO{x|*#-v4q7)Gb2O1xuIo%Hf!_-A8 z8D9e$y9~iTSE$93DrTm#lrrXmW`;-BsO7uHpE|ehJqtb?z`NEC)8tXWa?`(0F2`SP zjWUvA?UnCcxrvr}xe|nwDH0|+pVEPpLR3kKosvp%DdcyU(y060_uxZ_!rr?JA0w4q z;-(wrhTF29!L9Qt7cCpccPTcR7q~0xD#FPARKu-+l-!n5qho1bg)u=zD(c}bF6sqjoc%%3%6r`v)-jARuJjP^BK+w<_ zk7D?N@Qi-h(UMeJ2UJLQg8#VO7|~{Ao(e%ytNx6_M5#~Nin}f3V~{H$zC9t+M`Le{ zcgyI6kNUZLRRX`U=HL8RrJfkk0jY=JQLRHqARx>@$?Bx6>Jb zvOCSbI>6l52Kn79X}VAO+k0L(vpc)A*)Sjl_S^n=u*jk4EY}E&mk2c2l!pJ@F_i8r zKY=5iKVC$>dQ69h45&|)rTOVX1;rZXH%9#Y17@gS<^yc6-Apu7phSPONQ3B?oFR%k1Nt4mI?-I@IV6>sCV7hp`Hc12{ZL?c&i86%v))!bwGhBb&7&jw0 zOU_4))r!#Y6U+a^yl<5VEp-1md9BESI7YzMPWoB~5OI%ahAA=Ysv5`#;huA2DWF%O z?b)QJ+=@jQ~1}F4_pJ)!GMQ-F{>J+!FX@R6U&6_3IaNWD8#V=0BurMmK&xa|0M} z%I+1RIEh{Apj_OyBr$PcKK~vMq4A`d8FWzQ;8>FVqp=%AzzQk^N(4|WLw^W`xYj4| z2sLD-UqgJv)?bpQh>QscHCxddLA#&|)DKBvA9H-C+W;2-VQ{8i;XchJu&F9r;{ME! z(fPjvr`FMrz1?h5Ttl_4oj(xL$5wJH_9KFx3NNvQ_M&_N*Pzca8HEq_)2mJ>-M`|5 z&A{uW4HEF?LKEDs&vFYN@MB}yVU>7x;NysnNDr`1*4lsZ5z{YPZH%iS6zn$BoecRRyYh;pz^Y>Jv6*=Lr2~hLW5Vbu(tA%4^>N!SE(35_yV12b)P7Cp}Ro%eSTMkpoeDAJN-_&&?oU1ZSI;&z{IK3?PQ}X$^>S zC|pgg5J9&FOZ0$#P*wZ7FF6S1RmT`N!3IbqVN&;0u#q_^`@iC$BcNiuMad4aF#3cf zjp>$A%;5LPwPAnf`r;2=1O&@hrb!6u-X2S4L=4dj=%>P~x0fI71AQ28VoLRB{j6Sg zS55nAPKRAh#~z|EwsGRf)^`%_+xj_)d3C*Xjej;BXV8)uIV!GQYO2QnenA%&Yzc?; zPIeJT=VJPRMUIm0Y6Fj(f-WY+_;?z{6i{t04r-Zh)-=_yWoL|Rdn`9b21t_OF#=l< z0(b~NFCKtAtJFg0j3v6UnG;+%o!jsTZ6E09$PlCaerxUp*y>I!tDB+pYES8deISR~CuIz>QQYQ*gzd_YJ!a3{A^1cgL7%Ea#dp+6Undw;X zdfjML_ilTt@w~}a$WVvGKQn}~@bdu+Zy|6n=rbarGm?G~q@c&;o8to&J13{-AbQB^Ar1Y` zg1XgtE&p&2!tSbeH*-r=wz%*98d-ks($0?{f_0M?aa0a{hE_pHzAwKJvW~ah#Gvwf z9ght}KA{Sh(DEjcrJvSVj!?f{@n6rv5KtR}uAAf;GlALa@nqR5=Z~mE%$~Y#poN}b zr~X3L`K7R6HnHXhO=!Gmp>d){`eYA8Ts@jpCh7u;4(6Z$-aLF?fzdCoh7~k!-eYxM zY{#u?-aiH4QC4oF4zmPNuN3Aww0H=qsp11BTnj4o7!hik z$oh)>e{AhC>s_nfWnXk6{!v6F&-DAtdH~H5pGrHDzPh{iske?4P%t$cO?f(mh>j-m zJ*Mq$7Q6mwxW(qXAP`+LrK4V8Sl}w@kx3-D&>(etFh3;bL87_4CuT(nyjoI^(JaGL zRX?Qab~%>A{H`%wsf3KvQ^b_bm_rQwC$KFoN}Xfqh0sewxcRjyAXUaodw%t>J7kzp zy=@i3b@@$%vzn2yA2+$VjP*bG#IwE8#K}57Fhdb;GCRLegCg0!%-!&L!U)p%^{zp| zBw9})k3ff0s0Bvk7rw8A;W^ZEl~$#!yUioBznRoYl}5{n^dkkgJjK)B?#!d&QKM6xIdvR(=84Zckom8R|q%x?T)JuaR&Sw=N*-Gf^KiV1TnApOwEAie*r!>>$P&P$^cdQY=3bFEy7+{PgnH=mb3iSZiRb z9^J(n>uJ#+lW~Bgmz`AfrzX#BjVG;G{^wVyL|zoi|4srL02P%2ia~}V_RO<)k-PY! zon*1EEIHQQ3qs@HNqa%4ZoE2o#Nro%+5`Mb?9PncX6KO8_``L*vcnb!BHARjXQ zf27yr+vrR1#_&HGz|X%IDU18ZGtCvJBnuGRJ-qsCQc;M^G{Njdj9?KhPkWwWAp(~k z)JGzr^2gyQ7J<-kn`}@_#IOT!-Ha_WiFJfd1&@Bny2NPU-VdcYyxV|nzS2t14lkN- zA!Yd9d#JM}gS}?o%sMAN7~JSZnE_Nd^BWRExgYt#nTfxp`rswD*}|xB=S-herUA%G zW}<2?U$$7BITBC5(^=9F!$^Iuia(2iNu+iUH;l%-T6HFwUN`p9c;S!i z*&*c{>bNC}s>`qpRn6FvP0%+fi)=%4_p+GOC#x$+5Nr)iaGfFvP|)6Yxt1~LkFe4h zxe9T|FEiICl?)WC@UsU~nf@qcYvBH{EdJqiHA)sBk)3vKt=&|VC_N0b!DC>D(=#mcQiL7#|iHIB>^7}FXnzDKoE z-oIC;_E?`&uy-6RuxeQV;m&5JNxP%l!g8!!5@=b+ip0h_0#l#Lqyc#%?aQF-W7uaT zyJg5-hBcHZRtZg*#bjt=>jFpx3ZDnGyG$%FE zg~JlLQpsMKWnRHO=(>jbp<)6o$s;O@`S+@`bdU+%dKfu)^GaCPm!T`HSB#}LSYXr= zV|AjWYqqWCz|uW#nidv_Y?(c;oMz+}l7kSRrGC!6x zE|`5NrQf(h{oQ?Vi(8A-M-EnMo`hFOKAWOjZB2rxtV;M#zo>dhXTY>Iw-CQWo-v%a zGD!S7*LgmbN^8>bwtIOL%W^+(w6JuXT0*;E0ymFuL{;V#GI_8!vM=` z2vGpf`_fP=6o16ld+SCn=SG}Ox`lG#P*5aKww;M5QW=v^Bm`Q~gj=1le*Fw#SO@bF z>)7cm5!s&K?U3^GNWSaza;xRiqiH#%gH}%jQO`ssF~(dos1ehdsVv$(P^H<7A-G2Wc90S0FK@yVuo4MP+X#eu2@}G>EzNS zi+Zj5vPU1|WR2%ICN)ya&yDM0+C(8-UAyrAREu!LcN!?WP&^DzG6(jVhQ-vz?2)VoD*=AZ7jzT zZ$U{8>`WAU%@v$7^_k~KaOY0MN>v-*+;}AK?DCH*=HM;8_iuc&J;u*Tm+H&R!9(3> zw#e3ySv2i~m5GZF)A_*$J;cjXX7k+eRtFxZ)MVAwhp6mzZ6*NZsmQ*PH(H(%|d85WR7Zfg{T%Ui|7%NpePJPab=E}zt2`>-PR z69V!#UD2)5Vt@H%s56M~-s=?Uv4U;bTkorKGrcAlo;>9KCft)%G$!dg_9$r1V0!~v zSLFEBQ~+d6Z3Kx29Jn#G$lA*Y^Tv9}KcperWs4sC^ZWNv<9F#QTDYYAB|^+558KC0 z7Cbvt3Fr(FKS~fXtwr{T#o*CN>U$HDRkE6rNjXJN2zj=TzcrQK{Jd&yj{DZ3-a;o7 z8wEI68nkKC>>mrkD+0c#qKcHMCmlNMu@0}d*)w#!SrI%)LJtEQei<=%jC+Cvr_{4l zUjIp^ibp4L>7YJkQ{^8K6cbhnpYDC|AOnE)WC#$pfsGR^WN;K z2!`hqu|!gmYVjbbe!dR{Z3S;x%eQq~)P6Aj$l8#4@Zo0di8Rl9m3nv9@?jwU}(h*jFr@-l!CtsjWI3E>y1*!pwk`bsqHUH|`Nay{$6a$TP@8R_yX25p?d z=rKUx8sgp?@SXcCElNTXxX6Yv4IM0tCcwkr1bJuxKtR90F-lBZei$M&oUz^u^TFBaAg{~j zmZP0=&3jjbl|D)n2l@nz@e5(nlRicGh(VBK-UltKZkzb$LxGY1?ya(>$u`1v z^;=uPX<+F-3!HRK%#0b)(Ugi~D3(LpYQcC#(ySbV5&h+7`PkFRIb}00TKhLOkH{ZA)$=OSf zZM-!x{|n1{lyh8ILF#zz_aKYCM$*M3G2^9$sR352II08R=~vehhC8z8I2!>7Xm!g> zMC-a{yd>})#GGp@E=GBaUq8~?98R!cJZW9)067{+6WQfC%x#npUV-bzQ%Br%o}-d{ zcsv<$V8AUu5g&ycs_@E$luuc~5ZXD+BVam<1K~=TkLS%Nxd(je1wU1_$*%4Y^2{w7 zrkOxE3APl5-qwpOxir1+$mYCM&PFCS>rC@No4^D7u~5z3hG#TWk0EaMzSj+8U$IuYIDq#ZI;u2Nx+Xc*FK=XOXcMw&M z<|q8wqL^{Ub=Fwp(^%{g>`Or4+(gV9)k# zrf!jY$HF<`w#R$BS1=p3M@$TF{{0}l0M`3+0g$u|RpJ%z`y`V@Cn(EGN1@ys=R?19 zKw-8WU0eTusc$mx`D;(p$+*N&owy5?yLnZwp>OdG%>IcQ1tBhK)&akFZq`plTh`hm zhS()(lBtk(k1eO(nYcf+3vw-Wvw`)n_h#l-%|JY1&r3UI&BN~d%YDJ!@r9XM9SiMF z(gKzct@fME1RnA4P6(7yLaPZlW!Ym1+4jwnH|r!*7~o)Au2&LF$*X0gIpweN0+aih z_%2UIrnUZ&___>7CvT_axRpLzJ$;WQxU*-1>=wp>aRjH-ze5Lli@@m+y|J3#2ETj4 z-;z;&))Y0HSXf@2me{=^H~FELo)~2k9h&Dy{lpu@!g2j%I3y>VcNNqVP|SNk4u4j9 zzi0OMf@*rzmCXw_swbQ+-jeJgq$5dXi=JQ(DKkvmy)5x7S3(CpS=v-W`! zvA^}Uccn%o1IVWvJ2tQgKAc>)&n248v>y**JJ@KC6C;sQ3h?Xk5k~ZGTlF|MY8h5l z1+&~i+u$E?jA!QQ+fVi@D_eQ_V?riJz>KerDEY>M9HfdR@0%PXNswXp(Qr!hBMRBO z%Whsc_rm$TT?a1>h*Ble+HWu}Afad=miF?RI!-kg;=a&z!}HFnQoAp8ogs)1%WT9% zUwYBK6l`nNs)gmu&FBJlr$0x_ZlO5lJd8OY>5XgaZtZZoVA+Ay1)!ud0?H>phb{8t z4_(!W#je#>?ckq5l-W?DBiJq>KlYTBfLL_IHib>?Ipva-bY;;5CQOZY&DecQN)OcQ zom}U(+xrF4Mb&gA_M%gtr17^v(6}a4cbzOEob7J`}bt(>{NbXCE=2oCXb&!cj(E!U& z!X~v@YXaHs{5dDrwghIjnyONeU?^#h33$@aJpv&;%-gM?@ShF8t>$maURne<2nH&y zivNVIizqC0fNjheT*{p^ZabSFJxW^&lbG3rdxFIfmp`M@4h2tFJPzMfo%_D7Nk@s) ziud`cEeuP-~sNj`Evr!fDv9H;?C?(MA#aJ&2Gb7tqnb|wg<87FGk%3(zDk-ai zbKbG8y%&RN{(+Xjnhr)*8yZv6(mG;@0*{e=rL{*1P+o(@RD`5Y;~oc4-K8ZR?u*l%K$X6J;$O7Vt5GB`JXN-VwC z%mtOE8+G1Hwvs;@;ms0-=Shqb~|Yn7RhO- zVi7H1;qNl8w2oHa;=FP|1b(b&lS}MHfGL4o2=q3lPIvjTVj_Ra`|ZG0vjNv}soKU( zYT}Q0u98mFuy`3YM2zqv0)2=2Y3Hx9Vx9y3kQzPySpqMDgXxfCGKH)<9ifWFkBTQS-1GWUj2s0`~Kd608<`A2?PY^x3JT0iWkgc#B+Wzf5D z6KJiJvEgA6@%4GJFjS^W(t*Gr87hYAKn-PG+1Qu4JhsJVI1Ve6t&Q&Tg`{C!Y`?y5 zs`WQ?cOyAqL?hHI;FLo>3LcvrLIm@8ct@IcFoGe_PiZ;6f}2#~ob~D6gX!X~e|F(d z93k8SMZw3UA1HNwXIaLymNdIHb6-0$3MgX&*2T0`ku&11J3I&5*qsJjwGCry2e=gKuoK()U-GV}KgLSgvlxz}BiReV@DMt#L$S zxaIQ5j$$*7G%6QN5--*PtV_s@AnI^3Dc`_t*&O`w^9*cL&t3?XAL!HRNqL@4RUgffh@X)4 z-4sQojksBi_ouGM5deF4^!U@DBd>HalGwW~;3<-+^z+=m z7ovAE69T7}#cwO$dY+(;yq-VE;?95pvJWfmJTB0y&>3LTnXG+WN!S2HpOFj~UL@|s zobI)1wT<6V+5~sC5b56vaCkKuNMnmCo_lY1{;_51;fo$u+3xnlZmf4#Cztojp9N6Q ziG2_U5uG6Yt9LM`z>4|oiVE>(oFCSj46 z1TMGuDsQpOcCl&)9W^)k@*AGphucA-jZorwD8EcAL9Pd%rVsYk#sGn4hpd@JoFrGD z2YE>;+E_nK(YVgoc45M?K;jSGl?U|0&L_8CCtBO5EbtV5vFV{qg6s}-sSn4iTPUc) z>O$E;fDgWB{r=iYsN7+FqpA~zrZFWp;VAwX?(sFeI46H#fTO)42SV^U zw4)0iKSv%RMamh)<1H{ByZi)P8^Ib!idV+5*4!S<=3qD1vHkBuEGLi5QWRyj@ z0Al;Z%^2m3d3=h6d` zef|i^8KNnRw1A^f(WoG`O#a9!JD}IIGtb~raG0D6v|+0#OuTOX$=kFkP3rj|VU#+9 zXt(-8X>Pri)0Xe(+r~1+r4l#{%Pg`XkWf&nc;V`&TUfotZjZw|DN-W+q*I zNQ`q=&-YAlL(A3>v@7MZcgPUs#Gh30eE*<{?hIe6h)Ml8jrpjdQ8niPwxDlxux(Xy z^p}+SD3UHzG0mQHRw|=-0JFsL*m6%$_1fMr@LTvbB*eCufdtN$jI7RLr0AkJDmDwD zvnMhQxCK?8tX3}vzF_tPWdkfgjyoD>~xd=5T%=mRmk9_Whw2^87%rk&CCPizKU_>)fYYd1i9?ig8FNVYvLttteZ zTp8TSmi}B~Aej<09xoaq{AS3|lb1U%1lbsjf=~f12eTXp3g~Xz`ZzlpBWXx_352mgHI-8*&nM_yXQGrRB9pk@Iw$(B!Vq zP%NkufRTg$UR7|5pc}_#aZfX>u@vwrv7%V6cU8<6dVTBe%UY99HAn*tHyU zqJgt(wW!qrM!L@GNA7*{uIn*DNRG@K;U3I-*7QlK-ft1A$x|}akWzgQJ$dkaDg|d5ncbxa@C0Dh6ZxKOd%AQhJ& z%{Z=Z*{!&z7^9&5uOH6ko)YB}!oJ)f@bg&a-QSc~-`&vM(^?|ZT zCa?8ojjl2hh=dtz2~%InQN0CcjUeu2s&NDiz)}K;`RP_i7#h?}e5DAsK3JozU@l zY^E|8ppb8OZSYP`(jpEel(sJVU;{fd;J40bQgPq{+m}|!bRq{i#EFW6L_2DT{Ml^E zzjT|8ChFm!)xt0b5T@`3mR#-{QD?n&qiER1oBAaF*5_8N&^zDAT-Uxd;yxuuY|k39 z8NEfZ0Pv=g-#+BC9BoXW??8w%xD9G_lgNdRs(N;5+bz~%sg=MVOdf9{qV&2M57nT~u_-7EPI&GeZd@9s6v!(!v zH1ORVW~|Mb0~YLpt30(O>e-jwTX=q-tdF(f|5lV(Vi+bs@vOXM02usleg;eCLtv#C z<&e-gt+=S}c=1T1w{8a1FULn|b-q!LzL<<-Un9`pbAP&8@9@^Q?ki!BigNN39TPya z!N%?{(&?#u^r9jwTb8BZXS%cLDj3`PkLoTF$!kR%+^mtgq=2@$D1`Xqel?D3x~-G9 zNkqJ$S}G7&p`KPvGkB+0vSOTOTK%lcx^T5L*ogx256~LmbMsQr0|d-V^B+Gh0gW4@ zgjyGKHUkH-3h#J;1IL*%p}Is6S!w`tDgs^#@&z}6aNZw|DkO^)EawCh$p`cU8YLsA z2oK8Uv#fRwblVyBx@n=bAyDBl2AI?haTLfleuQ?2jk5}Anu<;4BsTfB1)oj`V~z>{ zX&%hmnIB6CHhSw4K%iBkP2gNXpMuA*O}Uc%|N5^Og3@HVJTlpyBhzA|P%>bJ`w&8a zd@3q)2%GsT&Y5BQ(`!}BD3ht$adNM%D2$qs&AA1_;CB%zu`eVzPG5D4RH&?vDK-nG za+C+8nE(kj-_|QAcSLowYY4mEq-oh#A3xtPbllP2#^-3d3 z>js#SU*aiO1teWYI(BZ4t^j|MXs;(6U$yZS_HW*|j3UWmvI$hWvOTo-&v_M#GfZJ- zLu>FqeHabUvODMf1G?#is+gMYwXeIgpp1EpX}O6W^3qF#TFo>?Wq2^FBz28N zL-g8BX{UyGvBkiZ1d_8I=HsLb$mQ`bKyxfCOo+sHBW|Hc)yA>LGs|&gsZ(OHf;rSA z|0c=dNW`PkCuY6a;8YSu0g@VHliE~bm2l^dn1uf}i8)rR+MVQrm^(}E;=>dec!8Y} z=TrAlRrot{lTAqv7l$fxFGmF-RT6wWjw1V;!fj^0kgunHkH{&*vM&Ac66|z$Y)Nb1 zjFT}bChp)_E1)Ls#J%%#F!X2rRYm}S;Z)f>-kY#qfpCmI_R-XtJx#WI{(=TwB~_=m zWIQI&7!Qck)h*@d-qM_m*gZCCH&q56{QzTpTwgS~tNqE9n4D z9OwEauY7_HhmJKCBuNBPy@ad_2P0GXrQB?FPiy@~If+KdxKu7&oxS<2%v+8bFN6b4 zs^vQzyY2o!lr8Zi9g)A@tjUxZvt`zah<0$2U3H53@gwaa*Xa;$g6B|1a<};6yeE{{d;-goPPShWxgw9LV+P3c{iS`CDl&Q%6fWZ{upt(MvF5mj6f9CS;1r%7{dxH z31#y+yQX&hbT^h6|AaCs9a8<5yh*-ZQ?qu>@!t5_m}}0gmg8Dg z#5j={k%#UP5Dtq+p(JbUO$>!U_ECCzQ6r0(+Z|cGc{m74CULEel_LPJlR!y?c*nxP z>MHmJWUIv?<-r=lt;}7aE&gVav`CW@vk2>cv& zTS;GRO-@!e`oCYZ-$5S#q|wHV041W!Sz(M8!-E<*9dQ^aW;NC(OEpp+v8a3QG9aS2 zz89f2DXTNz9X`!%C+JJx752iT)<32PYW1mttP<2Y$t&1N&m3cX@84P^Z3CNT{x~1i zRE}pWyvO0*;iQ9DWIqL=Xc2njtT1ORl0C=0iT#`LySp3AMzqmWbDR;t#XO1{^CH(o zzf@+GzcfH}4Y_p494x~pRlpGLgKpeMw953HvLQnp50iLO>UcMtCu~17HdnU#?AE~6 zTZdEh#lUYXvKUlMk$$n`^Y+80AkYG`mM=lq2wOV_A6e|77a|PBYTSRXoNrr7&(-^0 z6ts9#iv#M4@M)O+`wYX*T=)v;1^$Wopr%-~^{l-@wUI3eh9>ke7i_r1vIXx}LpdGk z#9JV!T~M8$o&{exj|ADp8WJ&Xe`^U0?mJZ=q=T30c*!%6 z;BOgPLL47*ZA3&N#;_`$&F~~4TQ2ROEV!^^3|QF$S8OH7XI`G`FQKVEl0Z7Ze&j8e zaC11*aTN>hKwtUUQaP-f{nio1$(j4LGw#cS7eF^->JHWHkj3W4Kq-D2NN4SE_T()w zNY9Aen#%TutSbmOiy>R|IeIBK5f{2~p;+ioiQ;wprKn5|3XhTf3nkH2#GKLDiuyHx z5`z6QgT)G(8lvUugPZrerR*O1r+%YyH!`N3GA-Q*Gm0O?@3MIA^=Bz{$46zIA+0qz zQD_VeJ;CsP&}`p!JDb0*6~0)U9vydYwbNE|zp97tk$q9vHN+I6RRGC}4@e?nfdQ-j z$4KDaUO+7%pQ3SHNs2@ouA?1IIyFfBH_9w_RgSuA@zGwj+ZPgk@Vc;G}jRPI!Tc=4L3 zr<%+#QEh-vfbMSld-H%XK%XkaR^~Gh3@sno3pC7(M4ty|63PWyqOnOZOE#oy?DR8z z2Xqhxivx6JkZ`RNVB8uj#y2p&N*x>GEsw5UH5egWX}JdH7N)_iTP2WMrODlPV4udk zQZU|?`D37w1LYsi*KAvULmlT`GW0yiM>b3aegOM@b!ilMuKMg z0eP~o9d9f(z;ame5gKAGHRj08wg^cD63pX4Hdc0pRzCoMZnVbMWwsHw4DcH6NyxC$ z_-i}M-c_7BJ=P1N&B)s=A%{Ex!6@JjHY!_oZkgF3Cm3CLiRkwDB9qa(|6$ToKYNLn zRI8r&1>STsyihpA$n``9g{IXJZvf^CyalZ4$WBWl7vewRJF2154lQlcYT&*CQXk#O zhAGZKMNl7G5h-8sPqE1@Sjstmcg8PZ8YTPhxF~h4TS|X%D1l9m2CMU`qT@o$-e2mTajC?CPMaN zf8-nwC%ejmB|s4x_cLqPBM1~ZKAjp)eD|uSw9G@f_FZ6h3M+l*VRwna=Byu>;XC&* zF#lW*eFdrr-E^suNnPoah5KZObj}bEcbRiB-xkamp)$qik4bDTq-toEG+cTP&zt{tf9XmCI7# z@P#G&lFQb{?YTCF6O*a-!~~^93I3Vp520da>%^OuyPB%(@d@19hx{iI`>!PsHZcsD zLjQ?R!LCWv+|%g_1eC@V$pai;piIFM2Z;|>A*$?+#SL4xJG`mS<(=4m6uS|eT#7ii zzeW>UAI-}?lEy7(+6a|1%`F}zUsb9IZT z_X1Jd?;4Z5Y$Q$djS)jmhx*#4m+W{hfBO+g3ySE_e4Lfubk2tk&&kH-~XY8}K#|8=YlV|54!Q z1}V=bMR^7wL)UopeAB<%q5>J@azvQ0CP5By8Y6D;j92`jA-a0j?Bcx5{y>IyJER-P z!u@C_C+$y21uMqClGI!*e{M?9WBx^mDXzBVg;si8{~>V&Kb;`XcSt)!}oeD-lMUcE%{Bzb}4N+1#aq$}!;>`Evt;vqrn+ z-XrL6gEh>8y}iULh>uO4H9!EmIcFAnj@)0mK#uyP`!g%JseI>#H%RqGC-07)leQ$4 zqgS&IIP%a}tiv4K1KoS`_f8W1aajzl?s?0kA*lEL%V7D11AGwf82GWBE2v^ZA7oEaO#iDDm_sbD{pDc*{HiH0e57WUUT=dlebUJwp5%v{(P;N{K+3K|s(I z?`HctNaZ?L>?f`yD)f?e9OIMKhL&jesgDX(>d$&6RJLbZVY=$X&F=)Z(}}m7F_%-&Kwe0j?k)B}-hQIx^&B%R2I6 z9r9(J$8skIo|L(1t&Fic_yEFDUxOO(Mhsx;gc6aYX|`7B7$XF4pAum~Aa;?TACY#$ z7|?}i5095p!i{n8Rwf1p;p{`V6StV+kym>WB+S-O)s6Jc7PlT#3X#_E5 z*W0y3O{iI~rY#DtilTq(bbCfbh#lS2{^7`gP}*2Dg%|rv>pe~6YiJD(_jBxFf%*vz!ITg)%+4(^#d zYGfHabf@oUF<#4uf*#=EgPcCnd9Q?8)~oec&L_=Wg=>sr>v6kj^GJAhHh{1ugZj3h zGxfNNmBQC85xap7*f$g%!ap3hwGYul9w)_moa!=);$_g0;rw<1+m|~V5@hKqBZggo z)+&%A`nBh4y`BMJz}K9ym{O7zB4jXf8vd8nWQNiG0}3ZSFP(drO^~lJ51c&qhV|#4 z%}WD`SDw&w`Dk(Xn@`B|OmpGk%fDsIM8(TR9E%L6QFGcSmOxe5O=xL^HczI3?<32l zUVOQtQ7ocMRTA&44WZoTLC9uUoDEg-4mWWz4H?DUKI4bKN)K;MXcq&Ohd1XLz((FJ zS(Y+oRt)a5mR3PIhl4?PB~o2Q1^uG(0+t8-B!Za3pa{v;2|*{Cm!X(@XN$}0KCX)l zoGQ~tKtny^p(JhBrWKlw)S5+`dPL_gF-zKE*HvRl%N;cbg+gE6lY zyz`2)2!^F6FXcu`NemP++Buo~sl4Q=2As*+fBM z2C3HB!bRuBjD&4cpyGS-h>tW~2kUloIc7JRXr}G33O2aw&rdmgw31RbCvcV?cNVVn zKq_)%G8Ep{0y7rs)9pkoA*S-Qon^QbyoM?`LH%dT5@Ec$*jk>|9fA{9?_V%x{5^38 zezD!tu%uaBO_|;G!6rUad)j=+ik4m~6E^u#IKpQ?D<{I#JOv_{UmJ$!yTsJk7;L=R zKf@>@y{A`o!2QCVyLZ|lgP?6&-^wZ4&lT%(6pn|H{J#K=x~Bw>^|RJcO)R_AFiyWb z%kyZ#my2Q85Ca}obvM1P)>f4yD30s5pt=f)+Mn0Ouee#eZ3(iyC?NW#z7xvUuP7os z#TD_01celu{ygT$aXISq`jBPCjDT#McWyqXz6g?6DO-?Gv+5SomJWCsNHMeyoAK+t ziHJ;~m_;PcT2F;Xn7nXq41Ug#zgrOwOWz7uQkFK%Jk=YrDXe(Lm1S2;IG;$6Z{Nqo z_6fY~3NWEEyxkuTw|DsYB}$x1N*q(;WkAFct#d|z4G+|x^<{FPXm+;PBfsa24O`DA zOSq#d**~8P#uOf;DI__-d%mr-uA=Xl_9;rJBB57l8(j~*^WPRaPd-7Na?Q$_BPDt) zlHsQb-o!ypD%1u*>%_6tFU%9x$)gD_H7ux5tPqMpXKGO!1-q7iqdgEQYraPDdttQF zL1+qESn$L-*{?S5y3{8{Bg!HJOkPo+8)BE?C;n0RN}OBMLfSYuIZ`pKBGao0@>nJ* zeR7d&wjiG^gGMsePxISAuL`$sa>*R&Z;{Eh6jiK6-0wy{IB?)eLRfH}bC>z~-ffcS z${Vk4JZ|WLZQt=BFg6p6j}5B zf{JGe-gf7UN4Bkrz08!4rL5k%kmib{@h`}DHNK!yeQUA3vAlkPN?2R0{fmabBjcb0 z?x`(Ix*I%Ud;<-a3vzmzo_FbtvMohu7{;-elO`b!>#ziKvT2%$urm1B=$0%Fl7I>8 z%LF&;pP=U}9J*e+vpJB;HIKz+;P8aZxZf9YsYEC^+q@| zfG%%(D?K6F>lW5_xkU!VD-P`0Zi?b?glCy30hR{Wmsz#8(X;tOq98fJoPYEICYLJ# z95IT+5NnW2MtIPkV?R$nm^Zz+dXD z46-ODiqk;^7A~{9N|nxfzl-LUk8oiy=@aZj24J2B2{vfaAiDZi5V_X0vxSa~J^lE9 zIpFWLAh>qt1uyqo%i~j=2$@2xC7KNQaX-)XM`0C<^IE9z?{$KTS>`j9uxNQEowbxM z15%a!AXm~tTtXr-e8i%*u@Uv!?8-1U2JX10#NS0+0O$r` zv=rruiZABml@3|kP>B_Wny(l1dEw+WPp@09NmK1qMmm9G`8Fwa%UVV+pfmP4Y6ko; zI#~lY?lwDW^A7hEdk6M`L|0HynqkB7J@aAEabS0h0~r$U)PO6}2KmM09xzfRn-~{Z zhpa5oqly&h#|iQ0x7!kyuK4YbLInvlisWW$w0Q0es(xul7pr{bnXNCix(^x|KMqX# zDdDx#>cmq@+BWVkPGC6=QokDeu)|AdQ9#;EZ4y-Pw&w)nLEYuZ`{#Y}i+a-_u5bpA zweT9RP59zG9S3}DLhOi5Vse{Sw2QMrpSND{eVKkD4a&+Q$#*qhhzoF_flhhu7M@pF zf-2qJnN@4d6iAj9#dkw0UiMobqXUL zkhvkO=79AD(r2f&12(GZoO?oeI69lV6JR8jmkuJm#YFoEr*AIpl)D7QaIGuDwAG07 za4?263uiqSuRmG8lfiS#qh+weMoy@EVuNPT@gSgs_ome4>nmE#AH_T2*WA!)T?g!P z(3DeoO3rFr?oD_>XT!I$Nv?|{F`|kZi zKFzDq3D{WtR+yfodFt@+^-9X7^{?eLHs_Nqe{Zm5JM!ME%0V|hOVTFkk0Sc!IeD8N1UvdNJ7-k*g)lRT-S@0R#R?2;0*svd_&7x< zbuX=SkJY|h4Jnll$HH4`Dm!bNCT=u>k>C$W@e1F?{rP+%mu44AM!$KiSQF7EX@pf0 z_NE&JYNfXP*P1g@&iOi_)_Fpul4;-uRHF71psWmYCUV}xh5fs|W=_a@kvgHx5o#m* zu_)msw#4vPuw1<>eD8MN!*MQ@&+4NCq_K-772ZyH7`y%_*R9Qhjq2_NJ1==i7RN(} zk#sOmn44|uO}-BPcE(y4NK{dD*npAM1(FH>u-;o7%HlEJsQhn`X`5C^i;Qb@#_lz~ z`oaa)K>+7{N$#7ct*Y}Zjsv9sk1+PBZ#wR~KR4;9(>CmwnnE?2?h%bU`i}{aSluTP zGLtKrX=-Qz$eG4IWnVH8S-4ix@z2~J6~oB}tcwXE%mbBYS)=ZN%&cpg<)z?GYrl5K zWj+plpn$vlOT&*skq|gB4ZKhQqQFfV-aYZ{TZFjCfyh|iv<(I95`LbfYa0@XE1 zA^qpk-&MN4dVkbj3UP>*@HOIX3aOP|-3hJjrq|5T|Mnv4zJ~2i&==8W}g+4Ks zC>Tn!kq!7gHInmd_GZnc@rn$4e&R#fowOLLM|?1?p9Z0!0Qd2x>4c$YKBXzuWAXmK zU}nyhGNO9NN2NNpS7+!PatO;L3QhQ!hqG*sz6kEY?m9*f!`ftB);D4;WySr6zZ0&T zB?SKr)J4rEmQJM)x`}V?^+I%(1BiP^=dpciKz6`=`Xzk^t0%^A%MC&|7`s?YtZTAl zQYN$DcFi_Q1U>{ij)WHiRY&aM6uES5RsBqQcc_jjOp}ArS+d4YhXnvO0NH_*il)z7 zLAK3)HtTrHU81Q@X1NFaww>i+H-h#G@P1iJIFYm{2K)kiD(;vX+-5;5?>9a7O>w?EBhz z&1kq)iKK{p$J0>!T&_fh&zj0OW)}~!_V9KAn%1=F@Hc3d$AK?zlHDby9?c7Cc+hwf z*qx)k6ECQz<(-TMR^SAT8Z~6U)x<@yYWQ^>$4VuF30q41lfN0_8ihz@fYwdi-kVlj zJ6y|~V2pB??g7IgvNl>^yd(*RlGg4*dPN4l)fh72B^USnGJ=ftCkhXsas^X6u-&-n z1r0Rt-aL(NGwiMZOXtD+Y?O&uYI`0Nhran%C*8O>mW|i3VbkEod)oc%)eb6Y4UVg* zf18k+hG5E@Lai>`5>q)GZYcXbdWRFhl%B-w5HMe^M}--TKu&|->ZDXbAKx~EWS}^c zM~B9pm?f@+0L9*HpoNE~4Pn_bhT?vl7!Uf)XTbhTE8KbS{+@B4I$ z(5B_D>{14C{`=*&n#$S;4ww{>{*SwO?_2aX7U+&>wYoe;?^l?WNyrSfL0$y|G35V8 zhI)5`b?{OKT}|a8T&g5QwW5FOx{uLdM~fReR_!tLA{hB!7j`6Ee^qu~z4XPl0!v`q zP$>=Xy^KFJ`~W-n>qPU1;ZBjq^Xe%u=&NWv$UY0P5Fe-e%}35s?bTVJDlZAQ`#fr} zSqfi%CTtLzK7;SY-DNDi% z)#(3;_ZEkdxuas$FLk3;&E+Rt#qyO{Jj!wGcE@V82>2}>{H*!tBW)UpHgqKp(q=CH zIVj%i-3ekqQ_;U)brgzQ=}_C~Wl~&0v;PlnJQH8!?so*F)+iMaVW!$$?L?0*^hFnk z_V5|@tLdJK6f%+2;SOYtq1g_GT(~$n1EUHIQzYRIFWYZVb#=)JCHetoSTv z^n#<+eD=U}wO5}!xhetW?AZr#7e{IA)Dk7PG!q+93gAxp53soW^&(>pkggp}=r}^D zW=>hJWiCE43;)REC0j*3305gsMBi)iS+U-i%@8apNu*A6i4kK4@;TyhJ0tGz#j zPyh5tSSNev=Hp<@Zw_m|ZoApJuhjzL<#56RWIQ5fjDnCL z!W^!JlQ~phwZIKSvK;53_3BplD{T2foB7T1-?yLRH{lv!+qJEPug!#f9TM1i>8q)* z#_+(h`sxB?;9XQ}u0~rKMmm^u#?1u9m`Hpl`-E*#(@2K`W_S#S%~6niW8ye%@3X(L zlLh0^Bb3!D`KZUPM2uexaKdFV5)Itz{y;`H)_XE!LiVvVq}P7t@J%5p!_Io)C9M_6 z^|q$Oc`&zIT6As_e)$K6p*OD<=vYBzj4;?sM|k@h@2IArj{331drncwg&%Ucl2(9sFM~Oc#8dom(boeyB7wQQQIR~?Jw>jseP){$0P=ijIVgc&-x44)ui|dB_ z;!!@|Z{+osu*Y?2gzJd+5|!$=9F=d_z24^sIIme0EsQmX!5B-YgZb#c!iX zR*oZtc%!rMKRo9O*tuM6LaP4t=Ht2yTK`2iOk!ly{?{mD$Bwtkxi3!Q^E2e|m^obp=(-m-Xl%6YL3Dg7BQs+LKR+bTC1 zKoWQLFhv~I)bGV$OL$XT%{d_(QstO8Hbx=QB`?j>*-%v7mf@vM>3DPiHQ7gK%p#JeKdi5S;yNbFInT+GjP|7g zjS)Q+0c2ZR+<--pqsQMK&4IaMPp;PC_-HRXM=75Z^Y%TG&iRhQGPFaG1>92qFmZy% zmb%CrDIage$WJ$MF=hlFz5v*yc>jvP2#GPUic(7>fOQIa@HIY)=IRICxgv8`Y01>j zH9p%OkW8dh>r94qT z?cfRO$nB6k)DBSow@maQG$RK`kNL+P#&~ZdsM@*$!+BX6lwUpYjUuOJ>scF!RtYTE zcIKuQS-I+CY$4>zJ1E0hKr9)~(pdCA;2Sg@VNpwF2SU$Z(A2f{3ZUY2E9CNLo_l<^ z3%ESoY5%B=IaB0DNLU5d(K$`oxQ?}qPLQa<0n4sdR?uQ`hjps%1MSHyTKp`KF6&m!bILvS2O~Q^d8JfiW$DT z1^zI`WYi{Qmdy<^bDziqEO%oX*VxJ)bH_TuhBByHZMI(A-KP$Q0=S`;Zug|atOBWR z;~!36Rp-KE0+l#G87VX_Qgz)$=*79NJwX3u(wQ+`8s5QE3Yq2F=99{6%HDgL%}*^f z9eDRC!d`y!^A%d~P4pgEJ2FW8L-@bHP&i8{#_2s9c&8JDJ_V=ZsHU2J@iiDd5&a@} zo>ETu_rX?JD*O{x%ITEfMCIL;jnf=8%pjn+wZDb)-_evJFTy9e723cQ1J`8=0K=xE zod&Ex5_l;qEC9VrF?}K`>DclG6pw_{r>As*357;h=%9|3^*xpX;|FYT*1Z|zva~3# zHxegM@EVR+0p6}$xRRLWf^IDR!R%YnFN#9_%4N9u*brr66Sy9~8u-XU>IITwcinM} z>UMsPcL~cz$$`G|QT!2HWz{BJ^wz`bB}CW5*(EDf(B<`>fP+)`L2v;WYPHTPr;&ON zFMekN7R#0?t}&C{MnT-V>Gi^Jm*H8;gPgq(9rOn;TDNDI5Pq?i+J*xcS=XBq4?Ptm zbHU``{kSBz-jp*o*-Z5eqtaI(%#<_E;VU@PVIZBhB1%AbQK($wz$UB*ReYr{i&5k$ z=_W{8kvmX_iQxtRE40Vw)W6a*724|dp|ISXEglPT@#2I=sH@$XGA|)rxk~v@6U*jg zC6fi^jRo+t+}v20mEIU;zy_}+nn*{P`$$I4uUqY#AOK@o86<+0oD}A0)w*v#zPpAU z#NBLu;2LmQ@Mdw)p&nq-r`wXIE@-v5>S5ZBCYM2_&e;8oQ&yTt10!rskiBYT&L zLa^GJqW+Q|H1Z@l%GKK*U9Ahj-!M6L5HDLi0>e&qZj2f>B`7a`R?+Ew(TlchI_gyN zu`B)q#W6ev5+dsJWiep}_Jqidu_C#K540xT_0>9}G>OfF*hif$qi%3ZXSSn%f*13y z&p`Y~a|CZ&{n@zN?7MZK!v=$Zsoab`hg9)QD4?kSI$#eL231L8K4x^ZbSX-S`x^~M z86{1lxC_UbHx(N-eO3z`r6S9Gb z__5bjAY<570Y?4iT4^XQTqbbglAcb9;|bMD)ozgm zX#X|NU|+?G;-oytzlSjp_GL!0;I&X*0uQ1{h*mRwKd3O#?5T~dbccQQ^A%WaF9>M4 z;Kk)TPKW`jYlWRuqK>E$xDk>w;A2!wd=MRrV{0gWAP6|wQy2nN{&v~7M#I^T=QW6b z3Mbv%{=TygRT>Ky+fvO!h^DPvF=3EwJN4&~84AQ5|SW$%k2HAtPmAF-f*nz5!6&XlZYfKX0fPlt}Zd;(6?|0 zfNEQ#dlY6x812L_^Vy)buAa}Lvc4rtt@Sd(iX{;zYc&6xqhp=c@PP4ufEC=#^)l4m z_qW&q_X_c%By}#0MTEI*GcxC=C(0Qo^esJaLm_U<$WQA+Na}!A65bg%aHH{7K*Xxz zz!S8f-WIhhM?R9A?Nol#qasxkt}`4cVZ4vKLr;_vIf&@_gQaXJFLnZFm3luBD)`?( z)4W~w1`QRw!UoqP56Cp%rE!T4EC(R4b-`?e>_e@$^OmqMqqCV)>EP2*mg8Y)Qewpzh#;A8zz6FO!XZQ2UF6utbmrJvQq*$#~_x5%ufCQ&Q%bnEc? z2Bp;3!%lu2WJ={5az<4|0KwCJOZ%Qe7#R5qu(d!C*T^P}Ggh-iT!we>(=6h&&8gjw z#XIAMaeH01n{WMka$4Lcs64jkCBQ&c<}oZlRSrc&Yu9!`#R8qEi+Hq88jHg!LJKuqqMd{CsRamH!;BstLx5Q6wMsJ_akhz%G6=e=7StXfh z*(zmrgzti8P57;+Wl0}; zb7vcAtQLg7fB<;4D}J8lb-Dp6EjwCXZz& z;IVvg9c!sSekBoLmubdQF9*oVvEbsdF68#Mr6%&)6|FTZHobhS!X}Ogm_?QsYb|g* zez0zDuk#%WsS1TiLWmr?N;B? zA?E3?zHcoH9H;=-piR%2@nz8!C@Oc7ga6R7tn`a3O4O+;;d->6Vk;x-Ssp>+%@Qz; zrc|~rnyb;v+UsZZhW=k|BgA)anf6y(drh&W3DVd)aN`mBfEjtZQqPBGQYAo!eUSdz0~I4@zNSW%Q+N# zLlp4$&-?~I!ojLzVY82Oh+AS#YBmjexel1I>SIWGGP>wF+8p@D3riZ9Zx@l+V%lr= zzMhR?J4LMy#dUX<&$FNRwwR&F!lK`+$Xx4FR{+c=2SD+#ke4b!Mp0r340FVAnM5on z@7B(SdUiXYkLvE%cicS+x>F@!Ea|y~v<+Gem^dO6uXl8r@0*i zAEt^6uT1*&_k6icp6-|osvsyIP~1`lKPU~-64tya zaOF4>nrwK_CsrOzVeT@>a;FrpO%@HjVIp_mi1~p!Gl96PnyA5S5Wd;24vok=+rgXt zpq{VIByZ}*td*j#`#%vqXBd;1Lxa&i2!@pb6l3K@n*r@|M}^eS(We=v(gQafzjWxj zXp!{~ldo~s!@KtK%^XR61P(%O==%Iq0K9X!fzWZv7yUh|Jeik!JS`I}D7A4)hH zCX3VI1$J>AQSfS~J7zFKcAT%@gNMP`n@rDYWWz+ZKLYe~#$dFN>-mb*aNgP7%ys|Q zaQr0feAuewhOc)f^(HUWIT$q&>5Ok65{q^V|9g2-I5}Z^nN|cdJ-YzYVY}25%tHyK z2BgdFw3P<#&SX8%7#vwfLhOwDW7&~-qH%0`t~E%cWYZ5WJ#Xm}6w`D9%G;>xd+RZ$ zHT|@Mhx_~EQebM6SfLGcok+yha`(0WwUYs6B2bk;bwUD%2BVED^YAH9v%dE)?N_&7 z*ZmM~2<#`(sx39C_GVj;-0s~r;CnS$P6=cV<9!gBgftXx39UDFWQ;~(;?a&x(up;5tX>ufF% zT%h%2)ARWe1itv_tWe6GKTIDyEeciqM=_&%(0!4)ByP`!{jmA-K2KyiEM8s`m1$Cl zeo?J|`(n6jjZAoHot1(N`hr3otQkWZxDy5_^-Cdp_YIF-U-=wIeUA=oDMW+xt-N5j zdaBkGOmM)A?#K80Lw(!IQ#OF=$dKhFGziQACKc-3kA5y!y<@yQLD;>Znm<1lX9emF zO1Zq#O~1-%HA@ukCw{M*Wk>I+27M|c)fK$^^FZefrl`pU6J3%3GDIpr%cHWrrJ#YjsWhMyLd4!q*OdWcl;NG`Wz))vG;^(jk8K}`+W)`zkU&# zPqAE+ec&GjSKtKGZ_u3d#u~MyM~W@Ek2!&tr60cS8!qdKD5-D^?_~LeJK~lBfELmy448S__*MSXTPwuDViM6jF z1XHmw=h-g&oWo~QxP8IweUeNyhaH){vvVg8uvd(e2SGt*OTp1iysUF*+P`!~`7 z%Ua`m88O+!+RsDWk$ufd%~(aUe=qva?(s^$E(=ZEV#XuL2k75yvTs`6TO!6);E!!* z7-1yyQ;2!Z3Y`O^8Gni5u!rSpcR^}Gn|C_K?oS|+_R-V)Qc+q%oW66l^OYbhI1)XS z5$D>_ifm|#(n%`Mm53ACe4|Nh=#f^h{v3a}P`Wh(rc_!bdr`B?6I@MzFWjA7FJ906 zu%Q>h@}RQ}vlWtQ1G>Ap7V0M&a_wb+I3qnt_iEce`wV|6fWdwN${Y`3eD3>VD+}|! zBo8%rax+t$V_S6ej0)=@0IuXKrTHuo7z&oe5Y zF$}B4Iz+>exts8yNB-**fzF3o=Wko^Y$5E@ot<(qvpO8+8`_o5Gr;=(O{Tfjl{8{NDcX6rPgP_9FuBTB6$Pv2q$0WvnaEV2}Wm zSpS9Z!e3qEOcO3pJv{RFO9~)Kp3Eo{!8fG`lDejFZKr3Bl94bv!p|uM=T*rHKvV~! zLNKZNl$euAHFg>9S!;%vm1+5?^8^zaSdoY%GstTmerug7b@y@sZe0Agp&m;x-wokA4#qrk5e}) zcaN0B)dwIS@L_P$!E;I`sbY%F-3^5aJxN}Hph zYKj$&9=7H36Zm}zz=MBVBWFUC(-amaFQJ)B>NL?edX(tfr2T68epXoq)Uaoi1Y=m0 zl~q7Om2(3Eb1qUd{usgRyCj#`*^N$$FTZN3x9*in5(;7=>3L=B(qhxAh`ZLOaGK4&~4q#>OfEyU1IbgomtkMAd&QG%M+R} zD~;}nRfZP2hw*n6YwU9che0oimt?#h7-{rN`H{FvjmPh=m@gRAc9wultHI;!9pz;3COUOn-kwjG-*PHAN{?z&Vc!GkkpS| zDuLre2R+#e?xV>IfaSy^w7fAF>P49&uX4p$#F4g?=S)x~kRO~)?rQ8XiyL0_Ea&Sw zQ*iF$A;s{NP+&K8e-^~u99?c}N8giOXt%m@mlC!%7O)v#=fihWVKYfHY&#`$AD35F4iV`Refbbnps`LKMbz7ckMukT(-aBYMrnL`biB5!=De z4?aKn-n`uIYyr`2FK*nSWdNJ12{(8lUxuRvYW9Z-A-}7pemV<4W|JJJ zpp<8U?ir30y<*k47B`M%EVQ{hRp=L}I!?A3$c(REdO}QUQc{8HfB``!!)$?V0JvrH zq*4KzyR*}%MR_*YEQH+wb(oE`Yky#lMU%p1)!rscJzq7vAnMjJAhNHeLjRAf-SVn? z_+g1Ez6A0J76;@0e{VYv9;E)0T{Mxg z>5RvtA8XB*CmP0&2|@gUczl&Lxazamfy9H$3oF(P#xj#s9lWrl2{C66!;A;FE;>I~rpVan)dIjgYpd2hrY=jFhC8f(krz&77@ycT1m6 z&f5m4VJvnW5%^wv`;-G0pcZlx zIBY@=a}Kv?$$^^3dZ!Mg4$2h|j!+c7bY)O(H`9%xt#??H8Zzxxuac&@z-kI@FG?A==< zf6u%GUgW`H>SnGMrSawv;2KUr{Imjrxwdw05d(ODZfII30h`0CNoeH&F^cfMN>BJZ zCeBBaGYinTinp#ALmX}>eX`Ju9l0b-7eEe8cB-xE%6S$tvoH|_vuQ^)oo&O`rB-L1$e{tTsB2lkH{bUuQ_JJ&<@QI^%} zTyZ|M-!POIThAG!0(I?RIw(P)ZVQIB&mvMjf1g^6`#!9#1X=-9jkdqzD~oOFGtZ&? zLlf1p@fSr^{NP08MaJ~l9|@aCzTWBUk3Vf(M6rOByT!V#2DP|svKWA`<@dEBS&F&9 z&X=nLMssBZQbRHG$NWuyt1yNWU{Tn^e9nOY_)<`&FE49 z$BDzTG;AoOvM@0*F6>aqY3O}j{@#y|HNIk6a$p`{;m91gLJ(27%WnNGnxBW`62l_< zi0>+19d`B66Gkne`ctic)zCC@7eH`lCzMFy`^?jkn$of`Mn*kjvB&v{SVrByB{F_M z?u#Wy#?425u^r|i8XbB9ZeWSbDR=;Z_SZp)>E)x=53@~ zWrI3ujF>FBB67-9mD|37+9S<$YP%^e2e$HiTSA+fcE~wLCRCf~0XEvnubNtq^Va6& zV7Nn|-G z#T1#J0cq#BA7jh_Kxj^twYquEY^Ug_Y3Mkj)Kt7SsLp5QVG&@_h5*vA>nyHBnsVYO zKJFicn4v8WN;@kA*a4-iYNZK5tDS3$u@6IVg$%3yU3!jO!yo{WXL?EWZTk~8#MDVX zi$c1n)R=sd0~f>W{4h=&%9^Op8wiYk8%eG%L}2QeVo)+UrF_MOr|rcJ{kVG$Pv6g| zzUxy-O_|sClSFqX+ux4e4n2>pjkNO!4tiOzHazWE$JRHK=c7qbXW4tRWp1iGxh9}_ zvKCBwhF<$7<_?XY`pEy0SJ!r%5eDS=DR*6;pyEo;piV36$d(YY=VM{i`K4+x8#X?i z>a!mx>>LTHO6Sh>w--UOsMdo};JUAO&Hn3COIg_>BhqW*M0un2)t8|vOfFJZlh^46 zZIU4dekHyFn*(|X)(YbTh$f>8786B@gS%pkxXBbvlP77Ivcr7(XB`|{3m%sM^tVhvb`~9gcZ+0x4<5i}r zNa=KO5YyKIRSgaN<%>gn<^sIJxpweE$$#c%oSaJQp}VKZLKHWBHsCa7!b6QT;~F&W z+bb?uM+b81ZHCT0mVzDy>f?OD=Lj?N3*tB;S>kp@>~Tsy0iO+*6j?KQ1L+XV+9mw} z?VU|X_Gre=hcAGkQoSd4%XgCi7chUGXW*H^j?_AWpnhL0q7s1Jx@j&~B~(%bQuN#V zkVP)|L0YT}emL3xvn;Bpn}gXRgxu4LhTl17W6{jpJT{ybAmI8G zX=ady9gV4axcOuOY@o;Xw|lL?#a;Y$BU~64c#P6IDj3rB=$B zy|M*iH-af#`c1B=2a<7>O9!eu6#9W8XpvegaOmG`(hW#sn#boQV)p7A))e6C>0{Um zu~1pm4=pN&rUYSO|AESved~>fXi^Q((zu>%J|C0_h+7ERVh8cxFW3SWikw_~uS~}+ z5*vz=W<}}KOP_*0`3YL?Srz{IOoH1JM=*>qWGCp@rjSQr^i~F}Pyz@rUi1XzJj@4l zt3YVsftBXYVRf{=26Q~6r?e3@@wkTc8Mybcoez^aWzCM&9Ul z{8#-Bf!{ko4c*1)3k4P0`aTY~38AKhSwU|7C>Kb)D3?xwL zKp^9 zngncu!B9sZAaWelxr4%*z?U|5;E1&t30g6JEPp%-1b2mtsE6#CD+iTApS=R1I~90O zi{QDPLoheY>`!esm;`cT0x5`=`Jx1auG zCeogS#L+3n^=0o$Ai<60$r=3sSh1)Ab+KRA-Y`BEL`y0y4Y4+ow>6cjWFJ!jsQ#o~l$AE&P zX~a2Gd`nDUUjl(uY6IO?l*)CbP*uO4oXM8H-*cz=>{Rk>ZOgK8IrG*i1 zfFSEST4wlsi*)n`@|g4JJkbwl8r?>jH`f>%J)?pX@d4EcGcCMT?cSQ0oih~4mFpyf z_!2kG@j5^9K9;C@`9M^`h4XHiJN8g4g`CMm6jlo^#vx} z-p1WYR+jbgNO1%@@JanjC{eiV@%bdQPbFgxTWrt79q%Fet;Il<lcJLs6&(RfuFv8 zV1}VA#vjC^SfjwXlu4QTdU6a-k?ZGZ_ECI&*C@^TgjWMVk45OIg=T{6<4d3fPdKzIH}0IVsaZ%v^8Q6ANe-S{&mkJLl) zUi1a@gVs8-Q1JLy#!k#rZ9Q`L?owS-RC0!bjq$rUH2v1lNZjNpzL^7Z!;uY7MwUvf zeLqwiy3O+~I^W&LC1gbJpmiFY+jaRe09!hX-gUArHpa-&!4XTAcEg=xlM5f^aw?`l zO+o4WqSATKLCzp_VwZEPQ&-K-pTN0V{7n?%&^O#GhU54#v*K%BG@~hkSU7|=$z?4;CuHT`7xyS8f{ulMK zvp^yp%&U=3KR=|Rw6-h8zG+&MNh9K}J%cjc+h=n31sYS^gmM|zCX}BV{M?KL+a1=L z*r-<{1};ohUG86^`qKH0dI|2sdN6K)bRb2VeX;s@i8qyK(s~u)i{FHMl4^4q{Z_Z^aT&e5?RKxJhOinrOXy zy8nX^xfvFG3`#qg#P(q*ttUu#PxyD>+ML zsYeMc(>8lqaxWve#c647DxZjthe}-!S?w7rbJu$r z(Th`FJ;7x{5P%I$XwNz{$gKu?mP?}g`xReaaUayJ|Io?xjX={*SXeKnwR%;dh098% zk7@Ahb3#0&iU`4(q#$+E)ncU>(m z{x;<8(Au!s{0x+ zF?}!~XI|96>-9?{HY!hlA6YC9Y-?_qi-9$;qtH)_MO4>}Mmr^eV8b-CT!6konv24xIFMX?_e4 zFMxE9k7;gAN@Ho30oSJ29iPr>$fLboAblkUn8j_q7a#RsW#jsZx#;5u@7t$5>Cb{$ z=YsrX^#=2$IDKuqWF5n`M_iQrOVWUYGJYJB!M{DR-oVjlnAy-#eqb+H{n9gUP9q3} zQ5ou<=y(cOQltgyEpY$MuRXMR2tp#TgbF9?265bQayt5$y=Z$7`5V|>yH zTvpGQOI@=Y2xwVL4!DsAgK0wuH$*~l6fIfe zRLnV8g$PfP8+DW254lj8Iod%vVeEz1+rg4|g&dS3)xG@b3*U?}^;c0k@BN}DyLz9i zC(c45o<*sZ7YI7ImDS+rQYv`FmoDO_^M@shR<6_koP-Tt>O6-p#UKq8jqUQ z>$6R!5rpV1;vY(=rn8wxufQ3WPd87H$FYru*V4;MQZ=x43DH!L6DcHGw{=r(27%C| zIo_UpKwQN7&4B|>Vx0ogvhK_^-)CQA!NSm$P9!l@!h>cqvxOvE2LjFw8(3q1Nm|b` z`Z&_T(+4HR4X5AQETmrFWg}4H=1BtHfGOIL{*L)>lqokTBe_jdKI;5RARabIPm7(K z?W}%DiaG(D04?QcoY)Q?{J$48;yX&E3&J9S-b9zD*fLbt2C2?Q`SfqFJf9mv?xqc_ z1|~i@spX^Y(+N7!EijK1JK18>V^KhqGvff}vJ-z*Xb^HgQR+HPm?A6xC&=2!nrvhG z&T$$(;Rs``8?mpD>82iFoW5i*WC2MLt!66sY=ji>?kvj#G z8EaOvB%%aH25F%?w0kHDY^6pt z_)M>$Iy84{F7R^o#b5ZiY*~0y-7#(6p5;>HV=((*^N2#M(~~V;;s$t8=DmOp3NwYv=bVhqp` z90YJ!r-1lMLf_!TsuzK<%Pwc$Gg>Ev4a{kG0@jdTkj3?*tGlIO1|f@V`Kdu7_g4N+ z83tjY4UEAF3DdwrdhwiW`TzgJ(HdMvU;s;#j-v+YaFcOdmb|`%9ZvZ&F92a;t$e*g zY%nDh8UMnSs3yPPfl9M+6g2nQZFw%gQ?m6$o&vfFdP^VL=G&7_CVc#lPfOe0e!h~( zpfhc|Kgp+2%soG9UyWLU)Lp)N`9@rQ$6=l|{1!QdLX3K!ms&MmMAqc45?M{l%G6$> zBatWO5xVT9E3tCkW_M`xRl4LfwK{$tpyiE>uKbicj@$h4##7I5;|~z_BerrJrH3fP0kT#(k)T}!oDm2bo?QqWl^n#4Ma|S_ zV>!5b2I8woL_~Ia7s*)NgSTE|1dq{vG^EkMGt{(A3lKxOm}&wYq$d0aAb7U^b9Bgq z3Y@o)xo4cKx1&gWmu!@!1=CuE;AC$uB5URNKkq?5fKJyFwXS;=vEi<6ybM#-5Ob*k zPErc>A{57@#uR%%D64_wJ>m~MVTDFVyZz7WaqKaVb>584$GMHOxcjIjbw@PNSm5Hy z=x?W+@q)Xeiyl$j2<8^p&&(ZQS3fX015Yn=rI@A>AV~4G%j>VXyo((i{_8Lfc)Egi z$lgp(tV1@Q6#UF&dI4fZsMNC}^UQ^Z{I0C#i3c_8@hUGIUu4NQE%b+Hybq_3^{&)% zZ=(mAmjg}+DUX=rZu(!;d1?n!B_{>qcS|wokK?+YFf)8zGjqPvZ<^LsuzRmq3SSgZODSo}i524*HbfH1#}f6mjUZbk zx#Gq0O0PrrFLP0Y?pqaf*;z;Z{KJ4dqI??yqg#P6p9`$744MhBIz`IDld-$34Ae;b z!pLOyV01zQyO_VGt(*q&QxvyCOhq%FLUG;-@=K1l%s$15Z8W<7>g<58JJombxc<VUaF74NX@-8WH57&Ki@nyw->=H0&WVL6zp*A`CtGYI+4a|}tBF*K?}_g* zF%~tqHRNn}b&-bEpRSK*E4`@+rgBKsY5S@I)y2Wp^{&^F0EAVlZJ943I=q-(k9m*X zxNwoVTr7Yz{Sr zlbA47X3T7(F$PPG;4F;puiLO|8aPvLiNG-L5Ihm3I5hyTB`0fz?RYy#WYEVA{-yB0 zqbM{An8&)!?8hZ^cX{*r(NH*-Z}e=N#^(pUGg2D}>d>6nYdlZDJTKznExj&0oYZSc znY@!nPgXrWl&!)Fa{SRNe!h7&qFS10U@O#@$33)#Rc=*`zRb5miyk}OjFf`@$2DaK zS0qjoy~@F4+4aQ$PI$3lwKCHnO!hwzQ7!;pIvk)aX_&NihOM18qZdfm9}2WA$#Ks+ za}yK(?ck<44vWg!>T1_^FEJs-KcJE9`c$i{U2?`tJJ9Cu@OWzh*zM&3pEqw7rR=|n zsSybXzYf=q2u1NF$*g{`&WpAXp^WXM(!I|w6)H}hsLhb_MUNq2iN|c_nl(k+9GPcz zgCGdqgANnspltDlvrB4Z5mfAd+vn@U)9#7lk&mBB{R06LIV>?$hg9Tecm=uhbL87) z#xHTMw%cA5qfg7lNIr$moH&JWyMv0&BV@erJv+%CfgF}>&PGy`6@ZK8`}r-;Q73kN zLbUx^b)tc^k3xKBHgZVq74ifhFyS4DjfT_)@2q7s7n+ z)SMpmyx}rI?Th#YOZ^)doYoI@sgnFlmvEW}?8)>_&+39FMLCdx+xgNB8R`9}YK+@& z5nS(1$kw`N4TgL;3$}oI&2LvtOHUs*;wS8U*CVZ-%udIjx8xkuKKmu{9|b;rjlDBN zI42ap1Ah!3zFTf$H@5Axbt2Cm^REAJ<2qyd5gTzucahmcBo#SJvQMsjGy~_%U+5rLK=dC6 zJs$I;>;S>ijj|FQfi@Q*)!!Mk0M9p53jFnZysTr86GxI}H_W8f{Fy(>3P%;j?OGm| zARDlDM2guj6WK_|ZuubxJtW>s;wubJZlX@faN$9oO3OgkxfLZn6lKmre&E6ZAA$E3 z;cROqOXS1IA-{9KFiW@t5p%EqIsv6@q=*|Xlf$UCl1{=}ed#L|=C!mL3=xq-`m*~i z!hn??I6>e(Me|taJExKxE|)^nNi7?C1{4J|@LzWjm;b&gH1ueOx)sV?T;l@u_2>G` zDy|V=0tAm@9b@^STlAd*h7rjFs&_jM1N!OlTn9vos9@o`z?WTLJt_aSH-g{iioSr_ z(ppkuxY>!6bursj_>GO;QqBaYn$qnzSMM`tvs->{TVKRN>*z6co+``Rk;bfqhL^z% zYQ(~De_=#TkIGi+aXHc^%S(eh22RTJzVRDK>O>!a4a8Vzt=-EVFpk`?)faHAVM7tCz7F7>q8fx zITrUeZ~~!01xEYowKg>7m7tHuX0|3>D!JE#fT+P&64?8u+RDhRu`~yHuFXz+nlZkh zT8l;DGiswQzrc%`Ds*s+4#HdLCPsOmXO&(e(n-v`dj%kVJOhjEkL(%*#^l6NA6x*MP)rIZtONU+YL2d|vx z`fD>U(FDW@>E@5e+f7IX%!N?rIe!0g9fe#0!oZ36JDe*XR@y=Rq5wQEHtDx7^i~B0T5n()O8U8H`k!?^=fb zLr=41%FS3-i<>>piz8V+edjgM*?xJkW*fvEkE9ZozMkhcr*H!O+r$4|^(WzyqA^V{ zh7DBG|7{0d(F4JxZhh0t@KrO<6Avbg0^4>u3UmcdA1C^ak;b2CX%^I9GN_ol#|?8r zr*W|TL*TP$<^{1P?a<7yI)&BA?U?*;fE_vq#8PRFa?b_zd$%MVFrIji!ndeHUFUO1 z1+8?ReJQJce!~f&yoNL@V3Lp!#J1j!1}FlLQy7W=h8xsnmSFl`n@UGn0RO2kZp)et zpd~yISsY>;@5meiSBA*x{9E$|dujn}xg4yJ412IPAlmMtmBsTM4jl$G!H@PW$ZmYS zUrtnjt-?M*!Vg*OPd9#)`im_RzgJTJfO_kEQ40mGbSrHV-N4uT7ZAVxyuTme zCT|cf zc6Jp#@3oiCa}%9@C7^El=fIGl*<3qGe?xa1Vu9cc+HN+gJu`@n*q0E2G0;t8T4TT{ z?W=29{rd$qy%{>&fXg}DEy9`^dBCEdY-*inNLlO~6fnZOFj8ntk1S-=%Iiw5U*6ty zHk7p*Tjc{Fwn}IBhQ}iYa%oi21_lq^>{(%WZ*!zj;5TDX?rIGa&s7z`0DM9#@krb1t7VZpv zs9+jFzU!ae{n!4!)s`Cj0S0IU^%xj)eLK~?OxYo<;tAk;*wwLPNwKUS+I|{Tw&Jhc zr-HSp6`4uK(D;AjCBe@L?@wC$}&sEP1gobc!Ir_RF$XkzEf$Z9_kN7PBcCHPx zHXc%zh^N#9yHPrM`g3qKJG>%?5d7M`R;BN}$RJ;7m{-m(7c z$y_WP0rX2&-NXnIWvD<039>EafiN0p7u9bvZf-g5PykLSk?DSqJz}4A5x-jsOR09w zVHYyes&h=|@{chcei6pJR+;C1^5m^(nNLqiO77^0WvW92G}0;xXq2rw#6K&S3}&ZB zn61Oj&UA=R-{OF`X4*YMJ*|302iTVK<^2U6L5x++H1}hkb9YeqM~G7_Ti+DK#)Sk+ ziXA>fj1S8>iJ`AOn0rQz9#3FLSCP`tA z2J-~zH>?o4(%=D9woDJM*-*@@qiwJnD`57E+2zB!%1|S)P)kX+S0d*yN=VXPKN$xa zJp&_lB**5|OqZG%%>&4`iav?y8r1nDxCB|rO5(jrzA2|iqXQ(G7Z_t*dAxRNQt1Qk zR8riGqjSk^hvlHs%EBShznZR_rs|O{ac!3mk2hH}gv^!{#~b-@d|>6YqQS!GTaO(B zrf(NXNcy9sk-s0auY({hJG(qM2S;9Z4n`68SIOlYQ`Gl0&n0Ev1gqycJWsSm!su{u zm2rQOSBm2sWJ7(^=C4f24Mk3l0>VloX`grgF-3QBS%v5}U*GC~Em(L{1v$XFc_aTV z=e{yk8(dK?)>yo=z&5vA&n}x!h9IEWwHrs)f0HqsXqcUODp=GkgZ(!Mxns{?#$F@2 zqBukbD6?)erG)wd0ue7I%N9P%t>N)E$?a-kj$;`L)lxVNoY#@bE#RXnm7RM8G}`_{ zQBrVxU}!VfU4_BY_~p+;2J~#+poEb_)i!N`e(hX$&P<(w%(qW8s;I}G?KA(vat+Rk zyP#&e`i$txaFYq^#FB-HlR7umf?-%=105)8FI@l9PAV99BQ*#Z ze(T$`j?$^C4Sq|#lJ-o_Rr&zYHvnRQBrQ;q{BVTF5<9KuqV-w-Pbc0!VTSIE>T{*w zUu5Xe2pj}m%9P4Xwlm?SmvwNrl7b~f9~xTYopll?HMTPAi?w@xGnpR-xo2cK`y)|A zw5bjwlX;6sp^8Iozf^a$st3mk?Scw?C>J>fWfJ@&`DnDE;T!vNdJS2;yrPqe#v2sk zu=$&d6JNnVd-)-9`O}x~@|M+LJSsRXG0_&I#Eh_AxDkF)=SwCV>3o=aww1fWJhd`w zhEw}x@GQm(AfL;0m!Y4_UCoHX-|Wx@F63S}G4g58W^IFSPpJ?P*dGSR)CJGR?Dm1A zf#xX0u6Nj4>7Z^E^t)4k|PeDI71Z84foR z>`bL6P!cFm%6ElbVbIlP&lC{(y?0P2V?DJjy-~t$Q<$A>^j}1r=XQ}KDjFKXh&+S8 zZ~)r@L8hgv5u5aBm|v-^AD*p?B8}MLwIn0@lZVw!-*$AZuUX4hw49`w^82g(aQIfR zsG-^B_B4wfUN|0DtIqJ2ThHtD6u9K21r@ycCxJMjSg7i+Qb5zJl2?%2<4ND+xFKA$ zrKg$_VC`F<{nzAEzuIJRX5^4V6=lIqU91_1X87ocI~`boo?XJd%ndB+Ds;L}JgMbr z8a@diR({4Pk*ZKp@TM16P#>g4F53QracLv{?%vS-7>wpn=SPogN@C`mlj$9wI4xY! zQ`9#dHWuc(Q)JznXR+dQ1z`Z?@=L906g?}^Umdi3)z;U@-`gf)cpT@2qbSu5!EwfX zC-IHv1XIbO8M#H~Y6gEI7{oSV1%$Yc4< za3LrT-X2&Ka6xy2i*#uc zzsKBhvL@{=gCb3u^oFQHp)VvLyS)CknGdiWv-6fL3{wwDTqcyNgiqn(tJG7IEKySG zJgA=|$8D(gqqB4l`?Y8_DyL<$*mlWe6!Hyq#H6K;A$vCy!>GQ^dZ&r}C-)jD zUz@DQ!}U))?v@KU26AO&FqyuxGDZpvUWAZ&7O_=6ef=pqnPXTOAnr=~Dpr^W^=if! zD#A?%1rR@b%-gopewWig7pxPowqm|QRT~Cajok*51(`dgceCRB%u-X9vlkibJ;1`$ zZgCPPDS|_-Hw#|TEHKQtI%BV8m&iy~jk@h5zbA?ZBtS&)F;+UcO80%LeYXnfag@R=(EpO#`bbkg{i1Ble5gj(JWs;Q@c!_B%rGh?~k;Li@%r%=MP+LXfYJ3T6=g@7%U{^aaxB_>}}W~qJr!IawMs! zZ-h7esd)bzVL@I3-eK3^O{PPZNm92}ROWyMU|m#}Dj=Y^51V0Y3${1r9zKhQwmx+p z_wFeK7}hG&2PUU0(7MJh?Ax@T;JQt`v*s^T1VB9}g|{4%Q0O(Z9Do$XhPLm$-Y4WF z33$E0aP#?>-^HjXnY^%Wu-hSe%~qV@A|A1he zARwCykc@Q_=J}LAs0zuC7{H_So*zdzMZOp{^r7u*U#}N;TJ8B-w5W<0 z$HYtZ@zg~Oh|>)IGE5N5Q4e-+3v+n$Z2SDaLhv(%Saj3O-BM_tFEX1QXPoqJ$;v^a zFWxm88_LwT&?@*j(ZWisR!yH6asLzR%A37*dRipYhbwMgip>9P_L~C5KqH`0z!*c9 zo-_bxop`XRm`%3RmWzWHU z6gzjQKLVOQN<{bPTM#&H(^y19xBcUa*?!}G4c?2`N4_pwaM~NhVNTSH6x*H_tWwkQ zJ0dB_;r|DFXVa!!?!$#IBb>NAXECWGxA;5)7+_F8Rl4rCVRTWQ$)&#aU-f{`{L&a4 zZK>{FOcGuJyslDnsu0Z6L7z1v3cj>-TPxm9!Ua?PTS95_4HMfqN$}ymYP$+2bH{(> z&JY`o%UqG4FZFgOI70cWOPF7jjt)Wtnc!RPv0K72pb_I8A(L z{su<#&S!T8;>)J*PnJVUW#|Xo?zWoO-d%?}RtFntf)N9(8g18mpruHz3Tp{n|2-x5 z*q}Z$x)e>McmpNLt3k9Yz3a#|Gq5my-4WpDklZpBlm`DZo%AEEmQY zLhXkOt7@`8(}OWjndXCuf;RbKV3lvs@oCKZzzY@D7Pd=IATqL}fzU`|l19U9&wBrd zUh|Kn082o$zl{$yFBoi1Je(dDTSCQBQL{th3}at4s;u0(Y+^|bTmL#PUEhCs3ZS4j ztQ$B7?z<6BjgL*6^s!_+fpa`A7%TE_o#M)&eEkHFoy17I>E75V?F6(hQ`OnGu^cV| z$xMm`@#HOZj|5wVmydN%azK`&X+E{Pu`Emk==EKt`-~kEF32QzQ&!Ma*5~8Wy?+UU zFL`_XZS`)?82vKIok>^}0gYhMB)jogQ|5-R__-nu%);&?CY1=z!TvpPck}GHm`iab z%XHMd{7j?IE{Rb!7rA9XkXV|%Dj6?oVrs6WjGA@B=uRYaO=b6c(clBrs$Fr!6Coz! zc$$z}4`t=kyoTV3U@vlhQF||9{CG1g(!V&*hAP^zDTe(sbTt;^S)ipeg3E-WV!(Ys8!XkEU?=U1IVfj zmn~D!L06&@QCYT6SlU-{4*8u%m(D;8%^HTb&Bv&-s^?f1z}C@W^*YLm>FOpe*nRtW z37)}b@bKyZS)R`(Zlb&+Rt{o+@}bj;Jv9PF+RaqFKLSBWslw9I8_Y09l}q6bHEH*v z4s*P(ixi{0&QZQVORCyg{bj)wc?!9oMJ62#vG~~M9X_XT^xYeecQ6)(;kB|Vx^UWL z4pM>vKVXo}MG?MEpW)clg5wq9oS_C*7DyI&`(d2xZkj_-4JZLEtO}E!UlL%S7mEO( zEEd$d`?n|}hexRLyg=`(ia|zP^YpS}+?7UQQ*eM#95Xq45$0h!r14XC(=;vQyw*(v z6Hqip#CEA;aRWS&^!_U%@$EPJ7eGk<7wU%aSMgK%EQv1TKe3=Koo`M~&BvE%&l$+D zG(Un#4$?vBDa3Y&(knP*dm_M6gvxz8e||SUN?2@0p!4Q(br-<&`7Y@o$jJdsTEA@W zG&?cg2%l0nLi%pwRY;m^rz0E1(`kDg)E#v=8mzRz(xJe`Jwp1%AGc&wF7zOVhhyzT zK9qj@^)=c-KckkjT}lAEa2i!z47=cEjC)hdwx@=N>m zjd$^GIP}Es^?ni0H6CXoBv8^K4v*d1GpY9XaHy^|;5qgsmp;TL)=`1{vRz-A@_hZ^ zAKiNPVM0i)XC7r(Y%-<+4gBlU;86g&$D8^(aB?THQxsCba^~&~ySg>ln4Ut%0q&P{ z9&j|vPNfo)shTntVBJ@?B!-4H#bxZm3H)OQTw(hMXSrIekDda{N^>j~Nn(-$x5p^e zZod13cSGub1FHFX_HR6&EU+`g-&uFn;N%bS9&Q z8X54nR-nnXhm=m`B`&8hqD8oQoePlE;6h`WMJU}KP|Fh7CEs%99Kk9$#!`4{*A zl2934tcDaStrR~m`9>aK&%$F{g$mE%n5$)I7OWQYSc!#S!OnA`z3_460$zMC_2g|d zM8!NgOCF{p5N56(rONQ5=@~W|fLS^2ZyxhbEB^FmuOZg0(HW1W_HHSJY9Ygv%4`TSfCUHb);gd|9|r_m?d1~B zB(5unz=W6t=ADf=^v2E^YLCV(ZcZRuEAR_K+!I|F9~gvww#LsoaV9mx-$@_zFEcmH zB3Tl-4xe%vOkcZ~0K@X6KvJ&{Fu*6U-AY}gRg8KzMjlXSHiH!eej^z@FRU(XioGG1fWj4Q=y?4+f!5~FV{UZ61QW#N4`!hmXOA14cI zKfR*>iiHsrz`7H%WhkNPzZu}1liqn$=wYiub+|Ky@w*W|dZ2u$c0OZFjRuWQ5UDq) zc@WTcB9^7ds^4?wBSPkH9Mq5TNB8@UoTYA1+#AN; zEWPE$$VqlrROuCr888U2SqoTLies)KIy14orEC6^UeFCC1zm^XSYmS7Ap|4DbUXiNSG zAW1<5&P+S|M|{LtcW&79ksWoJ)I^N6$rIWs0MVt}t+kfy%z7M``mQWMKDS@tsynV< zC?~S8stjG6raZuASmh8Dr~&PsG-!8;*BKO2Nws2Kutfzix5+Vg`ct?Gw4yhZ8ZeLd z-YzLZ_qa_!ps_2ygxB$LZYR`v2Nw8apXclP+@bTywp$|Gzg9lcGWUwP@+0NYURoHQ z^NH226cNPwB94j03@F52h3@knafV(?ey%S`w$U+K3FzVLNH+xLj4wiq1(eI^!8Dg4 z^9MIxTCa5t;6{%z7Ij9X5e(*Cy{2nr^B0x6cZR=3>1 zI5R6x(%50ee+BfjtU=hToYhxVB4cOp59V09sN2W=1rotHOy)IZ`LM4o!qL616Wm(` z1L7+#&e>7AzWpP}tPOr8jt6ZjL&Kz-%~pXUUO=BS$0XTu^&$wz!7Q&s&^geC6U}D1 zAK0tbK{MWhD1p?>>tQ6|B2oG?F2O7%xSyUV3fQiH379Y*gt#F zl7UbO6%w3rDV+>qgDBxiitBsg6iU8JyH2PvmCh4Dh(looZj0Z9GhUv84jr`MW-PH! zlzJG;G>(rfoH{3csa)40oE*!id#Bv5(+imqg=ckFqF=CEWe%V9Wv4b@CfJCv7dlbE z0^Syx2DoU3Q0HlEyJ=#XvlNC2v$A7A8fV+b-!*)9^#gZ{Ul*za%BL-H(Bz)Bapx(N z%foq7XXKkYk0{2rWr_D&P7FWB5b1M4JM(=Im1`u_L_Cf`vN0RWAPGSwBicYNSsVk8 z6X_&RHQT#c+7or9_pASTrRTOrd3ad4@vw!NqHUkG-2ME4i^3KUTY}ye3l-49aC9x^ z$b?IntN?+UNVP3x*3ey|<}v3rT(Tk#*VxY*D+r%W(P$D!Cx3**567;?A%83v=7RU= zcb{DL3!sU`*EURb5>wwbmXq#X-2CLq^s;Px1}blzhlcw4Fph6Wly>{AFCf*-;OIIc z45URC5IKInZ&$i(0g=D>AN+p$v~rzA0l+D)A%eYL#v5>CfbOF zB|&Qe@6EZb#Alr_Y7pQwW42=svRa)i%RM*Oon4y&+BfDMOho3Y0;O5NqhNehl+dBnwx~gHOYnW5qFX5Q4J8IV{iq7DKp*MRz7+@R} zbo1nnS>U^$SO_igk)_#WX?w$ca{<}|XT3HhFo&Fy)zY4gQw`iUule!OJljg`beHa8 zoKxiX%6ZuTFe$m@&8^o`f%mTKwCL$Polq}+^D#EV+KyU`_!l3UFm|k1E;%P{>YsJy zUif`YN<<$e`Q~S_s|c>jd4I4a0uAx4inBcwuy(~!PIh*!K)Q8cxn=_mzj{}oEE8;1 zoIr&Ie(dJ|pf96lp``%sN)&@&bbwm;2vW-3Fmx6YPiOhXtO#{pdVRLTiaQ7eS|rfx zo~n5cu^SR69!A*x|k^(P+zJfo62PF5V9YJ+kcI^ zEei8K=`JQGw@VW7;5p+Qqe%il&zB_wOwYZ_&;ME%#KH)`#ahM;e|qWrLle#+6)SOI zanIFTGI}KBawEdGg%21;`2EyahY54l`0QCR9?uM#YH6ns2b7CR&LU8+607e%nBJx$ zOOP5?>T|3pxq`-%ppcE`29DtHygcr(vMdX7#9ldlSUpLzPqesCg`7lkeQ7pLM5;y_ z#di&km4owts4vWXZ!iKwpW1-lNHs2Vl0gjoUa-8+xIdGAHxV?D0*Q2i_N$WogYysIU_H7_rk$tan#*u@WgoE!}Y|BWDm8@FB#6_)FywB80xj z%iP%Ce%{C~U&6vd08%*Lwa3~SmPBQ$wfenzm_F>L!KC8xv0z;DE%`$rQIqr)nwtvK z`E(>X>Imy%_XJLANMP?=hUgTVF zBlyl`CXp~;TcQ(RLCa;EVwSF(r_87sn+?v!qIW*sap*3%BHpftTrt{@)uZP5dD#H6 zzQe%l8muvO=#7d9#m>qjcMA}VsDBbkDXxU`@lnM3J?dZG{X{)yPbAe+`en^wTC2Hu zW+-CUVU}!951F0C4QvA@(c1JWqUQYl*lx>o1FTG$_KVBVS$Z7Jgt8Jc0~#J+!+2g& z$Q=fpweM`hFTtg4cP)-iNm)XTt~=h+a5GXSlkxB@b-l1@ebj1!hOReooIU)z!Tx0Z zLu49qefNGXKk$U$DS+#~LPc%;0IVh)<;vasxkpG zU~%z=wz|Gla-{=Qxal@ft^v;WJp_%tXex$+71+(XFs^#NDzsDSENcPN9jAZ`kaWV& ze@!1o;|ff2NU*X7%`>Kj2e6tjC@8MR=9JhA{p0MMv`w7`KuQ$Cz`|nyq~;f6^$zCG zc{iAbxf)bxPf|CFV=({KfhERk8S`#q&E1b?OXfxWK^Z?lW6zPf<@}CR(BmeVhZ0`O zZ5ugUqd6onA>GhvY@c6MCdFqN@aM-LqWLnnH`T|-4;AR$ZIShCTWr8)BUE)gEVO)4AFU|y2>CJV&>5*mT6MYw$?bYb7{gC%X!TW_|wsrOu*3= zVpLtx@nIYgTc$TGl5*w3?(iFf&nb;ull2+u6m0hK`0Xu0Z8LS|^7zy}n z`)T6UYN+xRKE=ZGP{2~~}Ja}xB| z{MmU%A5AW>I=|l^B~*P+f)*3F@{xIu7?Rg09oc?DN!{jc{UCs*G2zWRmy6Vt?s6loA23Ne~ix_{3GcJOEEMttHey^6|t^t#7)+w6jC z-aE#F$qbA)bu*?*0@T&E^Be;@ENu-B+QWy*$MnWOh&oH?{}4E(an!V{cpM{1ZpLY; zqbbFzMq=;czZ=aXh4oQ<(_frcaex_Pz-A}St&5oinZR1jB0FYT;V2pLTzcEUg4__(#I4Wof8&&5Z@Xco~ z&8Do^a9lv-bv{8R0nZggwow?70+(-M z4yAykDSbk=i$*MBtFTU8Z-A;Q(q?R(;HAI6nt#;uISn!d)M4HQg0l+HNR{X%N}NE= zYI)%PjgAa&s&F`kII!JO+Yau^T^$I=bs7ZK<^`IyffNpNApj|@INg(Sr|=k;U0apE zYJ*=CF=7p1H>aPLVQ82$L`gQL2y6F>tWb%qp#b4(64Jt)@#W6`V)hD^kuQVa1Q;c& zFg1<^h2H5g-P1CUHPN=Uy5EqGG>R?^zs4D}l;O+1P$D^j=1Ccx?XfR^dV(i1YuFQL z7v3AYzy8eX^zWbv4PkQ>IbV*D|7mmKsV^mHLV ztX#C007kA?u*2Gv%O*SQ4&DFz7KM&YIX)o2U`O&5u$m$3&f?ZQy^(Edf!GG-3EN($ z+1Ov%O2(1T)RlwATVgeC8%22r@>i{r&!Bvymoy8A8mRB zvfS!BBv7sYZ0?Vj$xHKP^ zN{Yn*=N+F#qS%V!1&bFUdAlR*zQ-+1lqJ`m;C4ib_LrVLMRS~$TH~mPo;MG z<#lHmm_Z}zRhl}symzA8Y$r-;IFKSYl5f;QH(&^itp;uDKZ$L~)uOm9GG*FyGbZMS7P3Ar`)tV16+Y=|`So)&Fcy~KqxhP%2E36vix@>l_? zH?kTPk8<8edOp(+4MBC$5bhPg*NyU#!O`VU<`?#8m5yI z6P9i`(UFZ(2D?H;W7WxCNEt?$!_encdQV#*m44%3(0j1btF)6{GdAAs=o;W|1#vyxZH~^^W16`b%WbKvG`wA%P@1tBW;QC)oUddlu6BP>|8n1ch;M zBKy>u^-^aDu#ZBq7V0>O<_Y-+@Qj>JL}j!oNQBpC`31FeKESbwI>)sE+mC~DIB+*G z?&ECr+i#wWO&rQ{N!_aa{HHpwj#G8*62m+*}@qk9LFRc8e_Lc!QjJ~Og=danntiNXOA0>_axX5 zy+s#Rk_%>S$=?Db1mba&>m}NTEnm#9`&tJ~`OF7}c{F$8e9z^4YO4fJ%kpySjP54U znHj$sHQdy~0r(A>UU=ZMKS3K~X94)eripw1qS&HtEC=$rs=@$NdK0wLA+iT`T3nXB zPnPzQHc2-E)AT%6{F~bZVCeQ&q+9Z);2>?!^^I-*|HsT*9cA&N-2ijL6?F+CDhg_d zw=M9XzI|c3`L_c;1kYVPttCVt5LMIeb*r!z&ez83JLF$1^YX9q%N_#M^l|JDicqpT z0HJCOFx=@QTgVApBN@x%sytfjh7jpo>l>PSQM}diba>c1*gPBR=rVm(PfQ9OQ(>(7 z(5(olDasU+(DAgH@QICNJ9~;2ozU5ZMxUI&+J|ck4hzUjQsjcjAFsE9MwW_9hj{7E z-rO_n$i?Dr!|q zH`6|t8YjCtOzGaT&S=nWll;&c82~lbi>udmL{$}ft7*kX<~;jV*FnWDQQdMbw)0E? zzqzT%a?!B^Xq4chbC1xAlx>MQb{OHdCq-cc*0zlwBKm#eN09?i>W`E$1n{x^JF1d0 zaNH*W6sME3Qe< z@~9K&CCSjH$u|O7!eKji#qc2wHD&LhNp~hB*eg%S3d~e-DODS!6!IL}^P$^kQ9##_ z+137yKQ|vEFu999>8E|R7~)$3Ak%u!<7bvs=#7PpdH>bzpAUS0PIFE6G8*a=qxHwb zn11tokh-W)Z+ty9z=d@Q7PX;EsmP?OWNopivdV>XJcTsn6lbzxU%#^~(I<~?oigfZ zx=$81Lzsb^?_I0iOW>w`|5kP%phW;OY>4MhTJ6ofp2_GaTu{A$2cLks2C7=G^tBl6 z;&=i$m3oB<_gT>?CPb4vjQnwz$VvvxAU)+d)m#NCt%<&|Djk_51Ensium+ zaR& z^7(gJx6|1MneMEXsZrHK5kP_&xoqdc=dmiwv)tD_>1jrneWVDCAq!l0z(aJkP*OQ+ zL{kB3SzWJbjYca?fCVR&7*9sf?3iZy3fX@P(;U`uiW6r+*Tu7S5!50|ciS9O?=>5s z1JZ>x&l{J=$Y2dQ>4zJGiG{Lz1ZnbO5J88 zIsC{XH&femzDQwd{~p;<6SsLLB;OWR-u0M+efExW-CA(*r%&UUx_yMfwh`UAH*8#y zJTv|L`b`(N&0kimd|YO`Ki)ACpJshVlda?zHPe^S-`WcPQXfPY-fF0+`9q|G1e9@V z_-&Sho5x0T|8|@6-EEf?(vt9aC_Zr?&^7Wtr>e$#Y~fSmTal=?978wp-yJ*_Wq}Z7 zjq9g{OMNOvqTcBUKbwuF>5^IkPT(a2I;(@X$d*F7%>bn+E7IQ>$w_$Cs^L4jD~f=G z_?5|#wdMn6P(3>bT!6F3M7^eA2c{^=qRu-RR%l@%cVer)YaJ|%wb9r7G_*b}W--9c zpuaoxSls|zzFnROJ#kG%&7>eX3!oRXS`oI0$J+k+7gVPRi@*R$59Ps99 z4GhQ>Rj`_Yqs)w34^*i0=*q+BRg_KuIn`5Qo=v!46woNrYF z#?Wj-q|}X(z9OvDH5SJfy34#w3%9{gocj;u6h61 zpz_tM95bgEoc1W0l3#+yjpchWG|N$MaPr7x8^v_@?KN=v=8kkpO|bD%dwORbU36y$ z6fPR2Z$=+hpo>Ix%bBU9Xrwma8cO0CG&FJoEZ0#Og6h~zG`EMr{X0-@dpX^EXJeFr zu?JdwCP0@5YqQ5iVC9y;0%!ZYGI(K@X%Ai;!UNYs05Kx*YU+ox@}(lyOdqK#vkd4O zVKZ31c!!__MS(pJ>iUc@IJzFfCk5%XHeZFK6GevNC4{IuY^ev?0U-FB9)Pbyxt!%i zi-d?bBoUvxNO3nnHEP`QE^u(-+-=#3C@1Vtk(wkvSzP)pK`&PUi31cAuj|}6g>H{G z#N9mos>BT!2zOz3FbV!G?%{;PuD35PPkk+$3D7Ce&T9E>tYbeWdY^L1<(Ami_94Z7{Zt#w!pqR+Rf0kulF6dhPf zhP#BZh4CF9CE8)L_aPi>axM>G{uG>}sx(quLgz#lYS+7#Q{oYTK)=Voyi^FCiN#Wj zy=L4c23IjB0A$R;{J<06i=kd@2~y?k?!+xwsWSm&>;r!)0SiY2_>e zmWgtXBI)6s;>VeY-VhhN$RY1yk<=91F?Wp9n&W|#xs%ZjNO_Z%u@Y73>`E+fV9H!A z0GTJ`5KEsVAeu4-Y4Uho>Dl~zy1i7VGL$Y%%;_z$sXPWXpXQ61xWV~H+S~T#Hcvlb zYBB4tVD%oPo|-0U7T0^by^-B%H0TR8SN~vN$O2;U4O>|&C$ljHF39Jx0ym@q~{L#Yp|4;zmP#Uf1GBi3*JW1*s~&@tdU*O z2g8dN=t=nJC$_BNxyujS{&j~%6}W+4emQ!i_CICcv%X)s5=1{x;0>W5QdYA8>BE$~ zhhgA6wKG$RIRyhtLuph0%zN&d=x^^;S#fN%AK0D)j5PSp`v(kv!++6$$4UaQr*=I< zF!b~RnnB1mu#QS$Eye)aU(9jM!XP-)h}Q824fE#2{W;-@(iKxhkZPm1w45MY)3XK0 z$Ive}`Sx!^`ZQAvqPop6CgZQ_J@>1ayWC_psvBh-={Q)vJxVzIO~DN|t|O#gkBBaEJLW|rp!Wh0uHt6c?QPod1)OaS~7AWhBI zN3vy!=;YSI@HbYwu|IoW>bo9Vd;mN6xjnwm_5Oc`{t?-G6&!gTJ*<#B^pDX8$75yB zFH5{WUx*90kYxPQ{vDZGf!}sR2ZCKuBA37JW`VB`kcoQjk7t%pT2`pkEYI?Z#XSwt z<^3+9a|e2Kwqd50k}e!ASMvE#Ev~hq&q1&cQ7OVy6-JRphkjI#Tv6X0JIqT{*irQ) z$unU}yDxYHK~vUQUorWl?=8)#XHpJEEkWgjrZ2^gGF%(m=}9fTaN&n(lt@LD^L*W5 zNE08obvsscY7Jth>_*7FGR31+lq%$EN|b2jJLsc@1us24j4m7&H*b8XV1Xq_o0KNP z76ggjbpkX3kjP6n1YzX^0@tLrkXhyxnd77K6*K?UnuE~Yl@-omlSejoL0STfb;sy* z9Dgy*2oCM~u@WC%l>ni#9MS@>i{Ut&!j;br)^>@bdt9he6W2iSS+N9$#4~a!}V;>KD^+8@5H4EWTRj)7D^@)$gp;UP<>_*t=^#jLT ziBAfHZ5g0qgjm~g&eS}sq1;%>l-~5GDAXDF7z&;ibH5D%bva)2Vlz9-PaX356Aqg2 znLqwSi|ox&W4JGI03;Tvl`%qz^v-h;Z~=K>IT`95Q?|zC9?R?qb={k4edR_(&Q|?N zyUB%biSMvFUCg|pT+DZ4hFs`R%79Espa|tR;|LYw`)%a;JbvcTaBoJuqaw4ZHdWZB zG~jG?VJnNGTFjm^RPQb6T7R}ftHkx22!{^D1KmaXIZR{J3MSIAAJgKaSfa&aZwiBs zE;?v?Tww$UbzK>Rg7+#tO|dM`8+#?_?pIKWkqYSSJi(ID)Jk$3B%Kriw9fvRK`!@b z5^?H22^?*{9QMMEvL&(1fFmUwYb zPPfh0V_ipsxIQ=Ley6JNMZ07U_^C3*c654AnH?(S1Im!qAUc!-5cDb$i5t?sca~!G zp;fePTyT(Kd#-x7mH3OyG!8KkS*8!4u}bcFN!VoniO^$apgFLp?AGH@$l94u<&1Ua!F_ssYFj= zZf6q~EJtr1LZaxmUkynbFso(!NTlRk`6i%CzVWGYW9Cy9l9uh)+-LK$nBg;Q(ULcR zv*mnzAS0w}L7&ChZ8avkY(y$8sxLV&sQGHnj#+3?Dbhg%v{@L*GP8!EPp{PzQRxrN zkmGLXafFtHlr=)xQxsR1TW_Q=D=HYp0dxYx7?0zEnB>RG129}OP`=+VC3Bee*2 zZ4N~=A0VXGyi}^cbQ;OnR+_`PAYq06Y=P+F!~ZC2vCf|QBY^+{m|J?X6UWAaN1~IZ z#bl!<@#Oh#g9x}^2YO)vXGB&T@xI%@B1QX0|P zKN!6BDCmcaX!j>gc=hUPsxkVVQ%bc}6xZ1osePd8Yld`9-v+$mbwKfg8*FSAyLWqB z7s{!p@q;HE4Vr-+SJGm9*p>GdyEH+GdHX<(L=^B1+$9crmyqQi*KJ%EAdxa0# zBK+qE5+TOE2JH1ume)j%-NE>g6~#i!An%iw5PhunOpV9M(5%~e(m}L3VoGcIGkplp zyN^q!19w+$fc5e*D+NUACf8M66p88flt0)e5rL|oqy$tprb>pm%`XJvZ+cXVvGU_n zTqX6O$R+gGG5pRQ4m~vesVHv4w8(tvi5+@_r#w`4rW_q5+_?p}bzTQVs1ca4;LP-?KsSZH|Q)h$mWA(zl?_z zUAk}}Ok1lVqxb*(VjSpn{Cj?Q%H8D|gS*rm5?-e?;MX$&w0dm=NL;5m00kot zwdCq{tSV($f>C~a{GxNJEGwCgG3roK)kbC6P^$Jl#bUc*oSY^<*gEGKm0Ac}@EXD= z)J--Z`Y~EOo7Bg;DcBo>j1$&`3xll>#;xax-zMSfJbAWVrDaR_NSx4$duD1E&Ddq;)H0?JGVPz;a-=kH4S(> zplXcX?)TMV9U{5>d|w#8o>+l|81usNKIoc?$pcJ`n7@6*7$obn*Y+$SIYkZ=%dKvH zr^i~f16`y(7l=i-)Mwm*XBtSmXKl4MvckFeRroZN#L*)eD09r-DXJFC{w(R zZ)cm|jV&{;RrnMeuu!fI0`dnAuqSqPYSKS;#98f#>dayI+(^AJe7bKr)b>G#Cqw4yZocP4GsRF+Q0&^jQmX4$bGMpP+dfF&CtzqgTz~5VoxH#+lJIQR%$*Gs(za z5zmat;l;oBWl;EX`OaaOYYgv2Q9ne><6wK|{#PS@q9DQ58M9h-0x~uQM+W6bCHi7I za9H(j#j^2$Fjjc~MFi_qh5S$~X5r4iMz3-cydr(IAQqa<12>+F5xp3VU}yrCSuv>R4**mK;*@`~ z|AHG`>QYBQ?xmMNfi?5;kM(nz=b=>~3y$dj?iFo`V2&2G=$d78u;DXmLFsqKTbn1L zWY+NKlK2_tC*Z#4)LGr41C`zv<=BvNGW&LA2(0pvi)ll&7d%dXaViR!dZN|XD|$AB zeI`_+^-L9?kHaD}HAo1V3?M;yd^{8fZfR#*sJXhq+!HpUukL}9o-7AjW+(A7At2yL zfi(IJP~~+iV>h4Z3xD%*x#uI&CT9yWQZL1~f|aTty6go>lYC9Fq!&06DE)E;F72k4Bmfm6BSt=qv9>ltb6?+r)x@6zWx4 z7yZZIacyf+-E0H?F>pgIr9W`QghOW7T)u)l z!x<#tm@JgLrp>yi1NP<QvoIKPFJH3sm8)&LLgb&9dY$O(EBJHtmU8I z;Fh?{uotGRv7ydb{MrC&8X$RM0tBY!$K22h6Ud30mWR_=9(z6muqnhet|LS+os;}V z*T0If80JeH>xQNMp)_#dzEf9gC{_??Uo?I2(Lj)Tq9i@9QM$r6syFKmeGfzj;PS8l zy9|JcSUk-eKg$TtqKpKh)p`q3=}qBX(wWIntxwxu`^K@JL@CTQ0$d&ZHr{FtBAT;Sqj^2X|p52=VDovnXnLccgmMcddH zM+Jpl?3>(_`vd%Ez=TQl`wC?C^$X_jWJctDPaw>t!K^gnZMKNzV}P`zN*+Tsxx|9b zVVBC_{GP!$3`aBqqU}R!bkVR1V_c>SMZi}95P&c|(NkiQ_tGN%vEr@#dhQ*WY|GV! z`}N-m`tWUUpW0xOmPzgx#RT{BT$ZE;&#bpAV+WV5`jK~A=LZg(9S)9w-Kc8^-ISmS z&L679#7>FpH=f#3an&$X2av(+ijN@F%No~@t)&y10~gw1N4IK#67r*61St;YfxMQ# zZs@@G(kt{;-1p36IvZd0DgnF>M9z3L#OHTT1Vu+Yqv1Lh&}-h`Rd(7Y@fA(s z!BrIFcamw$R$4DbU6ad)Tet4g@2#Q$DYpajZVC!8=BNp(QNLFX58K3k9<0C>Q>45K z@L2Q^={KXNoFUFYAY2YNhX;<0l3_aZ_Jce{Ze$G|>`A@Mqr${h%(+XDn9jed`=SjU zcaar9Xrvn|418U0S{szs_#NhN>n+9~T9~_toB$wZi>=vSP*zp-!iwD-FeCf!X7c|S z;h}zeLdFnb!~DxdqhX~pO@FeQjph6EnltSZtg`m+XzhyUq-_I=25Z$lEvD_+yT7W1 zx^LR;q)1myECv#q^Zkzj-gkIycEKrJ?tOcz_`lF>i1S@0)rFRH;!5KHi^J+q^69UV z(4U2Z2lAWvJ6o8Y$xnjH{(2QAVDA(Gq3(x0cZD1 zh;|&ShW#%;d3d&t0y|cEm`iP4)0TlB*#^dY@4>{lyvZ5kO)v@$706W#QH%H$Y)P}I zB&I-OCEdxaw!>Oj*E_}&Cit{OWqjx+uTd?t}VjR0)-iiGk-4ENjdKQ;m)BKDq zL`|0bm4tZrQX^3)L(B}tpekJr1`2Ge3oFdX`Ok(0R9(f{7rc@WrSZIe?!t*(yvd2_ zU9t0?N6z^84CpNBi!nu2CzfvR5K{HMG8)NR3j{*6d~??Jw@)^t8Bae^HIue~z0Y+# zHherufA}uuL2Vfvo8kG^SV~O|xx8k_+a!OOOT3{DFnsx6=Ge-P_{h~M^vUpuDR59* zowa=HVuv$`sl07^0Awn^yw;M0on@Om@{AXy&KOyht5Q*&XIT4^0;@u!eW&77$mc06_J=hW-WA;g?pJmGIJ-&a;5(hLP+cdJ zlshgNwg%4N>dpU;lz;vScFk?vJo_!Bre(cM(GjQ>CQ>jut%TQQo=GMaim@gcJoZc> zlfW|A3E^Pj&%rvE)yAF^!uC(c;3tG+xN<0P72{KMd@ygulj2;nK51i~?!?sr?H5>% z;o)V&&6;JH zI5P+ahw$4~ePW%97`jCELm^7)_;g*2%}7<4v_&<64So9$@{2V6widqcQassM(hAq9 z+9FNDM8|zrE5%Cj>a;Ets9s0o=`)$kOP|^bZh4I|hC@uP>*lcCV{|6Wi7AoZ(Bo99 zJE)D=l@Iwh0`7T4AroyBLp|I#YRFCia_$f5)&IRDdItXyI;7@3-3rfu%%6GBm2GKo zvzW63)D|rE1(VvpUE1CQw*R_^C8z5EOT5@j`*{Y~8UVn4WSrlq7*!-QsiI%L|>l`br#yr>Zgxj=^HVl02 zCfVK<9XvJ2{ty+Z35$G>{iLsT*$lgI@1^O4@jJ*Y7Z$YWN<3u|w*I@KK1HKZ7Hf%L zp`n z=}TnO{a>TD(Zim7Va;M@nsl6~70$?Qy8mbYw44r(&{uCb&hz{L2gGcC#CwWw;PzJz zYrLS2i_@F5h9flY_>1i&*Lk4P>#Ekjm^Oec`p$IRuh?$1kgoC z;>bmLh`T2t`?v+zkpf5W-sn{|MGlJe?G}dY|6ROo2LwNxy%>0ORLGOqkA0;7>KYj* zPW3P4Tuy^e=6P2~Pl%d42BPM-=Zd&|0BnJd|pB1^l!}P`Ujgvyw*6n#S2WwU; zY*C3iZw$ShHfKvV?}I1_&Tt4UCb!22qTe!nKtXr3Bo#xO*4(0wa*@v1-;Su8m{3wR zES)r591vGwe4D9s3A8`zXD4Zp%8QKChtE6yujTpp@Vp^1n_rk3_e{8LLSM) z9#M20a9+1ZVh$XLyhLuZE5W{C9|jfEJ{E)F^azir01Z{p!J<{Ur-mkGt+}&95Nc@{ zUWip2K9+7WsI3)IU`0IUN3t&BiTK5|zKJKVLY0-fg*U;WdAT(XKgP=5m+!PWX9Zp{ zB%U$@s-M;Nm}-$4LxEoL06x8q28C=&l6|Ek_9~B#9W_D;haar2&}Dvt^2Jn$62JtT z109TRkn?!2c;69)RKm~$yMvJo0Yxy}>$x78-|?zK0}2MW;Hr4jbE6EpxAI0TW*AG>5l`M6XlfJTw`-(w>4o52jP<0KSDteF0s(aK*#%vPWx#tYzFEFeN`&i^(i9 z4xXvJ+yTQSOY6>ARI)I7--;3>sEY7>EiB8+`6SXh7mBMS@FuIZlH z00q*#1hRG2Sp(wuI)UvR;BPO(ZP<>W;4niQzRM8Y%lyv9slxzvdV!_H%u-PVIhJK( z+9Ctfm<-#QsQzPW{U7i20}oa+Ih_6jdJHkIzz8dRDhOWp5`Ip1@D?wy!KN$RD1`TL z)p$+1<(v9BI7;%CE4dh;2M`a@l1;8llWmyrF`-m9UPa~`fsr*WbcLG5do9zZC$&nQ zdn5iPQ;Ejg(CYeL1R1jpE7Xla)T*~@G#UPl`S@&EeH-58CwK7+1m|hNjf>j8*hz0F z)6ivueRta(mPK%HTC&BRcj%*U{0b6-5US+ffo_2)qcO;Tr{ucoJI(#sQFfBkzlR`; z!2RblCZXHXOju{u?HUzq&rGfs7~~f$rE|fmF+}?5!vx(#069R$zgV>b(f8`+rSSu1 z&T|`YKG9$d>#sfPrk#D9s(IBUKLT8Pjfo@4;$9H$N=K_IjNK!7W@{?dD4AnfRz011 znTV#{%IS1~OZK#)h^(o&&1@&4GTjoIHksBaB+1Qrz5@(xJ`RPcAT%f*R6=S9jhKbh zjaGFINZ3MhOX60JTP5OUu*zrdKO#AVKZfN39|*{5?usMg5R&n1v?U_geFG(fp5o-D zdNdGW&(tbD-N^Y3w)U5~DtM(^(T~SfBl7Gh3eX39oBN1+nuB!@XBNE#`9-#crt?q1 zEn?R7-)bER@9a^(*COe(@R#t;lkQw%h+Ki;iVwshhz|F1wLF`$T~ZR@aOo2@5fm|> z)_1r%nP?rbo!m(n!y%|hWP5?uaFXq`H&D&&e>7|8ib33Vk_}~>d)szO6pX2YS9cn^ zvkZgpSKrnE;?B4o?Sb{1c#@c)b3T`%CBB?@*Hi%&Luh zPsx`hDCuymMl*ve%E__4$|E$HzJBe#&m(l+OEYrK>8y(z_Md%jfn~??D}Va~6*EbY z7U9J@^axHhX4Q}vsk)xCX@-YZk`Ae1NG5#ch}O@4?jIuyR-#y5SSU%c>;(OST?LR} zqk`aP`})XlM?DB?SuM?KPuXUZSo+rZe%+0^2%ZnTl}92Vyb;cE;~!HzF-$9FTIvT^ z4xTMQOpj9gzD!%*@oB0NpSP@dQOJG8-NObl&o_Q}L_|jeUSVO<_()Y={{iXeEHYe5 z%hVN2-1uy_jk#oZ09W4z21gWPNJ7Iw8Ybc|5Y~tAbIjHqxyQC=Rhfdv=9PkPshd5S z0q8nsYiFE$-s(&YUs$?8+KHpH7T&z<&;*qoM852-Ni#qqV?rOl@&!bif{t!8-*My# zi_n}*%mJ*-YHX+yNhpiTXr{0Un24h+Xf4QurD}7LS>@4aX`eNmNxpK1TRmP)ybgIq zw{fG1@GE{y%oMFKl=XKrW5B%-bmn12M3I8ou`Z>-ID{Dv4egbK8u!KQm{Q@b&3M8A zc@_W3L)VY+;}r$24c!A$8h*O)kSi$N`RVM2*}kVX>0jd@^#&^Fk;(wnevcm(=y_T@i4~J#yODRen@c2y?_Div{Jo0-l1+(NZFG7JrEgcWSvSD>HLAEV3V)@6T@?0nSN-n;v-K~?`9&oZ zZ7OP*6h_slfH(b?`=gI0n5Ip3e32X~?jKa)_gF`l@4~YbRcefX`8cc1>SP*$kyt_0 zfqyI5y^^2$738$mEztjox1YMdLI`eG-xTSx@awz7>%)h(=wE{qz z&{M?uT=gY+O1Ci%mgZh~NdHv%+t%WYJ%3p~3qOQq0Hbf7Nw8FJ_su4*b9LQ&9qFCu z^ulK^z6g`p?l3+$aRX3B#FFJ+-J)FflQ*ooC?}h{%y;=-8cbfDokx8vu46U#*@)M7 z*OUPpX5(rR3ak)*`(U~qJnQx2wy$hP`1OO7%!}Chvum+y9K`vHE#Dd`P84oLiG+UX zI+;l=&+r?gsCaaoRi<(kspVqItuBmHD;4`HppT*k@~At zJs!0)e$+D* zbbTj|57+fj2l54)R-f_dUA)oi2MVGwS(59cMA#Lid$e+PXOk@$QT4YEdVW-Upa${z zJ>m+-Qnb>*;nZCI@0=81ktu~48}Xq9{K#ndP&~4+EdEa1rH7dl?mEP=f6f-?4q>u3 zm8@DGJ1g~J-{+37JTKi#qiEp2BzVE@u-~Gk{}Q`iQK7{-YV|yD333QuxCL`ETy%^! zIjF{}Ul$PtjhZhEfAb!LJZnw-zSU>;!WT-dI)(4)p}F%-yDmJho8I;HDW~3=m7H%6 zM4nIyFS>@9==jeU-VB^_0hLE=>lS;A+3+8ju8uj`0bc6nnv1#^^HW5QvCKg;Izjv( z;h_{f<6?T}+;6O;@`s>j9F|Vr*D_$nYhqTY?=%d5v|>7Md*{pl2f1UjW&?AV6&FzN zG*OT{bERnJfqVu?N(sM9MN-W2!K|qn*b&Q-88Ok#M0fD|t269+;4b zt@0;y{F7QsQzO!8!5F8vFT3=l@4v0yh}wR-GM!|f(k9cA^{C_4mmFo|tXq8mI+W~N z=vpAg&X`&m?@9txJH(afkUE%ZX)y)tqk>s-8{n#d?*2eLuONi7cwJ=M1L@fN#}vY;jA?9CuJ&&@W8bR8Jg?9B=a`)@qg73fQFlKPAquKmt&^ceOC5pT8I zI*I%EDELSon1Se1KjpJ}k0dtzR--o?mwv`@N^n>{RJ@}v=OkLW>8kF_1_uBM3Q0>v zt*FN!?p>r$UbhC_<|;fJ4Q!>1?C~`Mg0xP5Xlz@V`M-)3#8hS7{Af<|+WY*btBnxs zgDhPYk$zIk6+sGlJ}E43r04a8CVld9PXAN?tw`cNHsFE*0v-3vX>$g#@9CC+vS>ZI zsGuhTN&y6-vq^WqP|kc6Tso;nNlOO76%<%0(|P$I!%u)hewYL{2AJ#xNG8%bQ0mV( zK7yd^X;3041!0N<|COR09ksXx!X%~AhZ%Zw_uatLlvQbh<5~PLD+)a}GiH705XjFO zpgB%7BEUGMNiXIDm+U=V)xP=g|10SuzUqHPq8~;>V)!3h)o*lXAqHBmt3T+51t|bW zBO?`y4aUZ>2~n8tkM^!2DA#+0Hawx$=g_4M4jnNOHmc5)Jj7{oe^Osg(bx<=#>pN$ z-0YLLc+&`qd*~p-48VYmo$He#k2kO}N*=8AX~AszBK`l#*cNt4#>EgIq8e)J)|Bb_ z>3zn+`qp^88QVkEmTi-`krYGBLDQin#1F=Lr#4m5U)wOR`^D?b)?+mCR5nLLpayl_8jt81 zrNqB|HgtQ&yxPC}9@QB?k$Vo1=oP1R5t=S4s|10~@L25t`eqaRbFVure4*_W8=%Ee zHwY7A*qM*UK`fPRGs6bR3cMO)e*@p*1VX3_-%|873qoiGGWi%tC{qnh4^>ePG}kvw zuOo{)WSi~5LMOP>$S+s(%R2C3nD{%c^7}(S2d*M+;l(eHm?ti z%g-7c^~*Q`e}hnOG?^v(iTiB2VbZ2Dn4euIZ$a3!ktK7qU_q-qwd$ADE(92RyUs}~ z3vAc`BdjmpA@@^vrA!;NeXVF+hbdFl=aN)J{XI(CjFS%fgEiI`5IgLSDax8=^}ocu z=1lE<^PZCK#{*Yh&!QD>ZE7piI7%uOOYvDlNXPA?q#nmUMbXj-n1MshDE{ze&Iq z7E{{B?K|@iZ2IIri>$A30E%XtjpWF@@~1lQva9r?7R#8SLyz8-eMW8#Hxs$Lx-KjL`OME73mVy3)YH* zV5uG+*gOI^t(*rRL9i;W9X-o(&2)q3jrOI==5dw;pA9h@w7sv}1!)-ppKR|+Y$t-0 z!#-wKVMW%efgIa1J0reowRi$~O@L1v({77z)rfuu-FI2=AspuJS`F_PoZDRrVeZYf=;socwb<3a=dSK1J1w%+c z^}>qehrdqxmE48)6!mZOfx^Xt&?Abj+XlZ8Qjs@L z2QoKg#2-8GZuK_!mh`}p9r}-e*yz@Pr|Csxf2%Z@u5n0X%smhu#=#NmrvIc0_#CBK7oe878ezh=r%=L6l3CAu^t zY@YG7Pms+M(2LZ_Pn$~Grf@k9;|LBSYZH7%wr$0YL|mI6Zy{EETfw1S$faA7RdMHE z)gYNhTY%*qwwUz`X8;3ei=AT+A8I*O>8KCx9D_Ig5#-te2n67y*I^-lxuiW8EfzPy z9_^hv`VIVU#N~j+v?d;=RP-{P8)JUNCu?Ptkh!ft@q|h~3FbO1!oAMUEHM5?m1pHX zBJ%Wl70RXLP}8XB&O<9SvaQe+k?twInTV0;g_sN)rOMvfc8p1p{d_S5HmES1m82Pwo~B&CW-nd3Q#Yg?lxN{Ys6VLRsmbQv7t0i`W4XU zvT#9APXQwP2g&7aX4pqb-DvT#vNn^7dlghx8Ce`|yUZ+{&eauLOzOCzyqfj|GcDd6 z;7O3sLy6+k9FRm!Ogp$E$7diWi9jcu$(+6qXwqm5`nc0nUQ07lcp zwNiZ62J$cYUw`+IoI15wC%@J9XdNOf%e%962ul1%6lNO;2{x6S7p}rCDsFii{=eTl zUbndT#S#(k%6^F-{}io=vkq}Ki1VJuNv2VU*UXnZ}gSJI;foNiNR8C&J)fEZ$Ru;Eo zC)LKC&Sc^8IG$pd&L)8<{X_INA(i&(rUs`712X|GL6Eh~KXw~%KSSC@|T@ZZoIfe-dP?b$+KG%zi_n zxCNLNtEi^|_s&+$+))^SgbcVgn!;G`XlRsf^zXkMJV2 zf)6T4cFER4fI=R~GeI-{W@+rFHhXR@%kX7DUb(M~ag~b$%6d0m-u&viBe6s0tV(7T zrcJe_Pw-&VUv|xQ`NfFl>9Y>IvO&?mqEK-UY0915Q+ZP5IX;2Ghb*1JRc!NH;wP0aDBh{`O+Nb8U4)8yPv%shfAk zL4lf1jyk&GCo?04gdJ#}$voa}TePgz6=sG$Ys@{mRm_=oXQY&6|GV$%2GoR_racK< zWs)mrn-6xfw&f7m;vDDP65#vj&^V;|0z=lYMIaR4c)TKQ*1h4n=5LiA&O}jJP4qFu zHY4!m{a%6L4e1THa&gr%;%FzdIvB--?DJsN#9h^U(j4{>?Nx4&YT!RkreFUpY?DXJ`k|fGEph@&U7ah z1eW#+Fl30U$1DT%6$m)Lr?CkK?bQM7+TP!Mt!}aKVTJjmW7ZpId|Lt8HlbjWAWA-N zui!{<##Kh4_l(Fj`(&;SA18jAZn6(Hq5?C3Ws9>aCFx)Vng+PWBx^n0px-UF!Go0| zL2qcRJ!I84^WmFo=T0A2<}0QH60o_rzky?shyOGrM-{!J(OqW#byea9JTg}?nN2- z)!5>c4Kv7)BQpVsn%rpcvm+({pkXYTWnah>I{NbBsyrl43igtCt=aFy5iRE!S206i@;keP71F*fP^{AGek$-M z&>7jD@B3X#(r%@2Ibi-Hv3Nx|Zg`Xv|J+8U9c~){g@7I1=3OLEUSLm&3Mp+8_{omf zwe10)}bvqW8bzQ@YrRkidcxdm}kc)0-<(f7r*?`6p&w>O|oJ)CVuJ5evA4~<# z`K{nT#D%H(cL^Q5>`KYMr%-y%{Tp7^&#E!9z0+^QW<_FaAs?>;l+rdiMeqrP(T`EE z43*KzUA9F9C#mZ*Q5;pTxRaSry>D*)vz67cbwY8xSe_B;5RMZTKq>D6ZgflU;Z((m z6&CZr)qTbLXD*q4`daO!lWe9*7GOqq*JsfZ@(_VeQYgk~2v!qeAfVEb-*69=J z#S5=o6BRj75@RJstALbLzL^g}J?};fF{}KRKc$3cT3pE6MS5_8>y`VD6_+Kk6PN0i zG5ho6elFAljDIES<+6UW1zR%INtB|}-K(Cn!!(J26`aMh{ZCE9w}&c2X~$hD4OOUV zryK<^Vnjog&BawI!sEXOjr}oX;F5wmg9-wr(jSwS{K@M2>l`eB_z!oc;;gM+f2Fkr z{E`F|hg_+?{3ko28zRTXuXR$RtfieUO8#%FK39}l2_ss8-xt%SgK|wa&$O*`e*259 z%@iwqFm&*u&~{l4w>NJ*i1F@&zSG+=|C7$bn!hD4LwG7kJIXY5m2`=3xs68v>Ep40pTJoe)tMu#m7VeskSH??$yv3rx65WKH5bO^| z>r#lQeh~MU zrKt}_hxG8S;B^68lK-D{LTG#{U!gkVS_J(Kh=ZX!QgA(BJ34saW048cHr}2e^#ERH7Fq!mK z)%0E6F9Ua7%VqH#8mYG<*A0ZAC5lDgJ=k+doaqlmx^UBP;V_2W>eo1UPAc8$Rpp~7 z+6UoY1gHOnXQaZ1#fFUQX3*q^N`%xwGx>kCe2_Ef63jnx_8l$3A-b(;^*0Pnsbl!g z@z&(F+>!RxLQQB+goA|Uuj@acxjcZNy^%KP0zpCvHVC7oOHoISx{3pgHnSAzvvmpY zU;F}eZwY7wt>Bhy2dkEs`dkZ#Wkabt;Pm+F&@)EV-meFr_iD;f)D*_kSjtwB=>;SU zW+^WxPk;_$qUe*>zd5!DoHGKqaIS+5oc@<`zd0T_8ga-j7bha{q5pWr3tO2v4bRg^ z9V{GtxlNKM7&ib@AJri(g;C`H^^Tmc)}RPRFs zdr0)fCXIO%)d5rSc1-Nhno281OQnN$Tg_o;w$BS@esdK?7ChzOcRU{cv#A)8T4Ez_ zGai+dT)PRyL+EIZlW6%DIg+{;sSjl)hS?tUUgWnPTz>?o-_=SMr7Z1wBwqRV{U96o zqQ%fJg`16zmilB_Q)5if7yDbCdF~H(6P-}atF{pULuXYcDx{HTi17FxTrv5eFkrP5 zI(XHfVMsas0nk`Op_>cxPI0j$F=KK1_Q*;mZgjo2=BX4q(Kp}+8x*7!yPz^nfIAFp zTa9Df6Cb{X<7yrAc-bthuD;;S7Qv>G9c==^;Px5)zyn(O(u9zU+h?IZ?>>_nRSF@* zi+JPPG8+^?jt1r+Yuf%)mM{+Nzc+Ro(?8KictbK)Jz5GX76e)vAFeW?v7b6`I2>VC z4rN3m)cqXgG4@gT4KGd^wvk)_h1Dqe!qu`T5tj}DQq~3vOeJ$U#IKp8u1I&Vnn2sF zKzC$=!yg#D?ewh(MuUyeQr#mJv)t*pbg|B-LdO)ZDh`j$ReUE zzd9636%S7wvCNYU!}nEC*ktQXQZf1Z590Y(ibSVgey0b)gTA zfbW7f@)D+UCn|6D$MEoA6V|*V8R0%HxWLKhv!OwEBUGxu8;e{nWLeQ-^uV6eI^o$A zvwDq+DD^HAJZ|ZiOB*GU_VBnkVd#TB^0V%vx#>>Xn6Xn}13>Koh^ILHCDjl)6U2OK zPAhru_R7nYwKfw`oK?$zfS)|K9O3XC%T`Ot$L*6kyk<0(;x(-ine3RN!<&@ok!j+! z_&{sPUq}emO%b;9fH&~?6*D4nKkRzXaYJdMO5|&GN*B=9fJX`4zKzNdhq>)vZjr8W zt4I27b?Ny!^X8A0=A6gt&MWX===H3Pt|7M99!= ziu3Glskfzmc2Qm=tl-7rMxOt*0{NGX7pM+c&EWja0efQ0MpQ4(aE(i4QYuIZOWT1i zoVd~TqFX)Yt2NvKck-k)YV%Cx^5Q)JKe^xA?YoFTiHhGR3q_AkX-0i(|9IL~(+Rzh zsHFAweP+~O;H{r0VYC1_6r+zQI!P|x>YgNdl?v}in~2TjQq+IDh5)ttq)`7B0L!4lXt`go0=0QPu;+sO_h%>7LJ*W!VK0_4m3_*riGe^ zz9jh*@Na3_w7HhgZ5Zc7p}PerTr0r1(b!>GCO1y{*(|)k!15CKC-*| zLSLPcwhnKvK?jk~(vbxlJmYvvT!jt%cz4;rW=b1y_HojxehTHYD#I@;>&`qQ;e(Dr zaUr>BE74X$z}=1r0D7>R$WnOK2M_EhU!r{;7u2rws=SEcP+^%W^@RWwD~O`WpnF(F zMt!V3ywC*iC&Pl6VuNJhAe%DywroT(n?GewS=a5epN=u34^~0U#4R)!J9?5NI6!JZ z6ONNHHmpmBc0ElJE)Ue<#9WAH3 z_?lF*Pt&M*+Qx8SsTZZL)pLyjEYm$af$6vZuTXZJh9*S=AKKeoN-^z8Ik zIAmgXb6}w(y;UWn+HM>Pla)Y`%mWCFnzWw)uhsY1cHT0-VH>8f|Iu1s9kw3O?ZakSb4++T{rYXeK2Dr8|-fVU}xjqJNVq}cEA>e z_FYl}hD%e{<%(*XhsFS4kOYdg?s=3p)+D!|%T8<1Z>>_QLg166r*8fmvN#}+su>Db z66jO+(gy$z)h0nd$P+Pil)JLR4ADA|k%1vz`XWbCFVEf!Su?BQ#r1$4CorS*I!$XL zI;7>0)@(0>=V%@sw*a@F)cqU*LBEOM2q7A2;DdOxoOs6k#{s8z-SbQGJQ2v>J^}r; z-I`#zAmw*451rF1CDV-i0L-T>)b41*vaTw}hNJ0wlA2h-S7X8wIuQPA(7Lh0 zvG@zkA1Qvsd}K68n{G4_O>;#6dt}MOHVo51a^ji0Vq$3VL-Ih&6N#ApMUGBmno{6KIZ{s;V zTDG`kD~!y3x=8nX&$p1ymxs2G zosRvPX<4pnnqVzT3B53F2nsr?@k&pkXvMG{o+}!o2hMNU+<8LMuwz;r^iK~3kC`qK zh&fbwYuXQkk~i7h70obLV*6Hq>PrBhA$h$&`oHC+6CRG5uX5iGe`)5kgMHuIJ#Y0U ztO#XED2|=BaZ*0oB9ooIO?wXL>NY*0PhCD0&zx z(6c|c+k5|D)2oJw;>L?OA7pH!2XAUaa1J{)N1xAp-_m$rwa&R?Rdj84ROFWp-=K10 zTIXV>0;zj+p!gQBT*bqm!AT-EU%KNNivO@jG-xyM8yb{&6DON?GJp6LDc zJLN<90RL&a<8d8gtP_QU|5Zgs&kPDAL)!pRW$3K!%Ppl2He$2&1Y+V2s{?B532#;W z*11S0&B-##<8s6OhR%4Gz@7Id1k_*q;SdD{{(URKeXT6>TOnYH0ZrC1q}+`13)dyJ zz?q*`!!kpj>S$nL?;0{I&S;{57iq0trkfP4J#daG=f_-G-+4qoGL9%4R$A@c=*)km z+@`Olg|w@-S9nM=n@FS6uZpPw1)vq`3eMQ5pav3279AGxznRomE9bP%Bv~a-U2cN*&yb%jll;s|VV!4wYoF&3>@;UmA=8 z#7}MSj(n5MQTYu-%Lvt;s2{4E6cDS zGpC_5Zaup-!2CdxS9dl2mEW)qNgGkr(;>3H=>r-595LoY@{~30KDjduB+#gGOSFur zlaA1uVkbhZ1*l8h<-?dCFgX(@O9CGbsJw!^!Usmgt{HhA)?N>8iZbN&g-u(kfF2d` zNgrl{uc;R;hUZHz`8!%)g*?momLtAV$LT(rpLNHU*c2e6m>qUvksmo0pq&Iu036E{ zu}<~fK;9w(ggGpy495z4z>7xn#iy@o*M*6+jWw34cE2=DtRdH{o~pY&X`@YFK_{J` z05HWwtMr3h4zg7Z683H(9QfA9vH#MyB+ebQCPysM6Y==UCvPSK{b5ML+BN6vqYJ(- zj!dlX8*~fAT!rdKQu$W$B~PM5gnLR)XpewEOEb;lmOUY`WKZEh?`iUnPXt)oQyvbh z?JA2J@bGQ`Qk!mPc&^U~3HzFbevud2p7b7!c0QMqG%iX;y!@3r&&xBDZ+PQAn$DNP z_D|RE?}t@IYt;CCjN5_ig3-KP#~S9Vw%A-I<~~4WECW!$J2%YC>l6Mvp9{Q6HL@B? zZRpe6L@8`IF)HPs6w8p}SbIsLCZM6V3bO*`XLM1hj{@%}_6;5w{hwOsjV5Dn@O^aA z2(prK&UT4C_S!$WH<5V3XKzhnDZ^%%J8MKBW7~50re<RfvmBcK&S0NTc$tty?Y|D3594Xv$5sJd1sq~ za%OMQh6Y@~8kV*W+tM6f<v@VE`diI!oN)pGQUO5MHJ+c%-t?u`mnobSz=*d4s!xr(8y4unh zGVZHQFv}#M$iO#^n(v~!;wUR~T`;HOlFTR@$V?beMHWIUA49=pxr%uD}JT}Nn6 zGq)KZDX6}L$!!?*c(GwOb_f%&j{F3SNiq0oK`MCC{WU3TqTz}0AqW+I_Oy$Yqa4=h4KM-`delr&uiqCBer*n0s5i7h5o1H;18!) zVtqDZ*d({?YuwDdH*-kwK8euR`x9HVgLURU`e{vEdFo4}1L2#cqbRpCC{kRi;eF*^ znwJ@?=;-oN%lkGT!FhPbi<(%&AlnGh$1r(y3+G~3W22T4ee!{+0Z$M#+McL))@s_9 zp4epps5LKqJSOZHc98)pnya=fCRT=Cuao8cW(&f48U5enEx?m9?2%(jz!%dE%rGm*7aGa~7#d4*B>5~)n4^RCZ8 zm@D8ir#5C7PG+$fFIW zkn*1cj`08!SpG7X(qGt5PdCol)DHU_?Kq4Qvx&OzWBrhP_pxYE^5J_X6M4+rXT9X< z%xV2veN^CRR(y+pkS#iSbZcIz?r3fKt%xGmv5_*$o#Vr1o;l#5x~jP8SHgls9=!%q zoY#=Y2+EA`2FoD_=72`*gNkQS{dk5x=E;G@CJp+?Ns0eoZT;EKVK7Mspc@sO9L#}S z4}PJqVVUWxiv3g#fOv<~&md5)*7P1~`Jj6&%ukDyzw{AqlQ>l; z4b?+U(e&0S%jTm^DVQ5`H^!b8`tFS!fcz0Rx(LzvoH|86E+?$z(s~1BuuTeo8#J_8 zSqAc{j@&0JDJQZurKNZwxP%>Ut1!=4enJBk|}P+=~&a`^xXdyP#gkM+5IZ zS=2B9KTAid?BE2)S|#_jC>qOixraM9#0PJGi;>UI zyWmX2a`S}y=`2e8=_}Y1D*oLcnsJ0XA)eQvh+0B&k;;&hNF5AdI?YbCpQl9AmQFNC)d_Dlorrk zB|qvORNBDf%%dhr;>E2>MSU(01OH-Eiz<8`TVAE<=T)nRhk;voRgS(kX~29f?JC6MO` z;AWr$z20&Ap?f@|{JvyF^VX(NaN3ly(Tg3PlsOLkC6%pr<rUrdL6zpm@UpKf;}9mK$gE#T$8L; zUmC;7iyiqKU@SZj4(vIZt;D)S>C2bFuOCL6mMX8z$55<=4<|ar;eVWCQBck?MTNIQ zed7}&6tgW7P?z!F@&;NMCq-Sghs+9dTvi)tQf}b;AY#}SV#w~jgs20A;=keYCj=B^&K;%3GI>D zl3R4T;a?Owo-^$1B?Pu1Y@v4XsEadlp?QPz^@6I~~m zaK5~6$Yd34K7P7fm*bH$#8K!*Pw72Eya$#8u$zvuxYfA?Q4>ZG zXeH=jw-DYf^1!G2F@q~E# zq{Q~_Y(9K*Vd-W~S}gRstlKiqB>WF}mUi1Kbv7`RAZFprCI-?sE3;i7cS{|TFcosX z>kWVzQ(mkxc+-+2F7~7hF`*z~t{iyGx^>JeWm}AqKlYrG@%DsgH-ntpu;_|IDhcaH zQuRPhb#B2a`!Ija7@_&0p5-e@1~$a->x`2%Ft>alYXGrU*jaZFO<`&%8^C>OyPOt@ zGR0G>vA8AStDFX($MJcL59mf=u6+9c&JOQD6J&L7eV>8W)|{iEfy!q`TYKx2%we8rioAedRbOGqqs4e8!5gYDqk zovkuN$q@lfceLvvPq(B=!uSO2Pm0O(Ok41~_Qb^m|dY zV5PlHMF&aJVCFkwPSb?1lI5&jM{OD(|KlywypK(NFTJVv1C+mR1M2!uP~z8I2O+8d zdO!@;z8lLr@x4jEg@O3}k{qu}2kJa9_e668H6Tp>08J-`z^PkZAPAG}Nt$=IGSA@+ zF3uyCM4i%;ty~cC^coq&Ev_Uw5w8t+;xz6B_Yf&qrp|f$|5OSsJEi6R1jYWqeKe_~ z@+s$o``Ke6dF4K^IURjX1Nrwl?@Ps${KOERM)4@J)q?0I8d_Ury;ES*qFhxXyvoMg^mg700_|vAQLVCW>oOQT8_cLkyQ=4H#@*0Z6>S zSRGzE{s&pPWyONbAwe|GKHFBAE(-MP7O(QVwefZAA~5^fm!%huP4ob~pKSYTJQ-^% z<19;psE<}e{5V!dVoGs!VIcFB2gj|w(*djuw)H_rqL+hV{NF{?W4ChDv^3e zxBW*0g(g>-Gnb6LFH-uu?|Dlyy^K|EMbJOWL1I|;o zqsc_5QWgm>T=RkpTv^+_;N5zJX^-Wp$zw31OHyoiTq40|A}yh;)9dakX|4ieet}lD zE--M1YHS=k|Fv^$v<>j(O_@qi>7cw>WsaDq%b8>0e>$qt))|{ss{?~@aWOQx=I~QPY54e2cVAQlTiZQ$aE;Rb+R{ zD5Wu}4>W52fdw<(K&a0^F^jm)j9INQ$ygF2dR2xbU=b)*EvQ3o#B>wJuORbiO z!7+X!2aMuXj(L;$!;`Uh>x^2#y>Hm=*x;>%G_FzEx#`d>`oXaDF6}Bbi)jPvN?T)D zUUp+}xw>MKG?gTHB{OZMJyQAqY5CY(4y$NmtH7oJ3qwv?Q~K_4rXEVGGsH6J0ydd6 zbZx0ym{2jRj?#Jp4o4eAK`tGNq{CGR*A2T@tN^r6m4JXKrfzUWox807yTuAcG`7N? zDdxgf0pn*LPdrH@-u+Lf!#Sqo=G_>nQp-eH1#M~raKurfNzbweTWeaW3*qVQ#Jylirrl|bL5WiM{MQSI*yHYkgA<;LH-^B z9~g`Fu;(@Ca_6Qu?zP95G37jzTEZofyMjTpB7A}#k_EtrQ`BhwwEhzqrWwY`d)A+a z);^)rTO8?sC-AshUG1pMkpaySB?QWV4yD$wtB>fC(_7YQkHSZ~9hNHi4eTfQGtp9w z(uKr?rQsmDq19d{9aabzKqSQv;n>5WNKpxVqPAb4*6Gf;{NJvBAyJxpOYLvff^s1> zB*tsaAKB$hj_@f53A(}^Sn~kIrUXGN93vH*`p{|O`ZXsLJie)8F)w+T$RK)_77VA<}9)s%r{x97%0$r zxDT5^8Wy!}6dBQ&T_tu4ZVM1PwI$JHb!$ZBQUH7bzvDO}9X`>r)A!GvhG$iGEv?z{w9l;>s1#+u*e?-2X@r z)PLB;6q7Mm#=DO^U;zmgGzdl>-?L>Q>9EW=n)Jh0S~cwg$*_Y?H_^?67h&0vWlpoa zTex(3^gYutNzWJn-s)hnuOU^zOxtC|yb24RqPfM;Bn1QCuS0CI>FdOP&mH3zT=iy$D#Ld&~Xk2D= zWwYIWDo?spi$y9{X|sH>rqe8}StSSVeF&i4+R&y=)o#hT=jp+|PAB47P7Wyp_iL`z zLYL3`!L!6@7dX{8Ldc>*k0wj+$2U1E7D&z}Yal5mZUL$EbCEfU?>aX91cL}6^AQ35 z7o|c4jPIEi^9^^TQmolNk3H%&ykKy|Ps9tD8>Za9$MIEP)WaVm78mE+a4c6?NP;Ho z^^E!+tQCXzL-ukW1-rPh%bG|@Y(8J|8Ngiw{@p@&ZN9QhcT_~8bgd4svRa|Bq&J0Bkl4dI;{|Zmo`X6;Zy=1;^I;+Y6EoGHX!(WKZLL}+7$5X ztkz1b+MZ>WM(Bnv34i--uWgE~EC6Gn3c(sdCv_Z(rf&^>p$YUuoBs17a^$%@gpssg z^NmSk9^wKI*^FA5bCT${FC+9OdT2R1%Jgo&p0%yN0-Cuqj__B2Lm~%Ecz>y$-=)um zk;(#q-$WP>jvzp|!L;f2KJUT=WO%$ZEkT=E8}}U#I_38nyIjwig|$U3Lv zidz=p^l9-+_F)=_afGO2jXp%s$L}vVCtv|r?|-QV<^<}v5YZeMOIruZ-p+sdYKPoiJNAU zI}jG2U#U;1Qit>5NmoxnF6LbVW_X!z1B5>#VLmMJiv%yIm?{#Jgp9aAn&^lU_*!@A zQI)`BkMQxs07xGSlbp0afiIi>kXpdFv1a**v89x%E_4za0V%Ux0jNel+ST8k1j$Yl zwTB(TP;7ErEG+S~snN*&#nYXc&&MQ~%)2--t=t9vjBM#oiYj6rTLqrf18>VKkBihg z>0}yNzSc;-{dSRzwUvwd7~w>>ainlO?y$yeNiQU{3Poj%YR%Vb(p#w{pAGf2MtS8X z#o%Fo5~E7#VJ%~NR{&e6tP!YJE_eQ5m+U#y`~3kyAE9DM8!5Mh9MtjxLKOWPP`(-> z(9dHJyU|1FalWIg({QsW<3umyo#p%KQ*tWbE4;LCi`wEGPSx7IQD0B?YEZWwumAfj z9?2)Q`MIRk{3>a^xMH+2CA*@^Xp=CPbCh!B_pTFxSJWF)Q0a$k6?jVwoMJr_#|i)Z zp3_evESLKCC9$M=AgtC3I?uQ zUOQ0J}SH z!L8vqq}%%)itI<@EV5OUvc0yUJ{+3S8!n3xVW>3DwxGmDvba0IOFU*r1NPdqsIbp& z6y)xjmXB~PVKzeM%Zd`Fl7<}W(!acIuGHCwkwuhhX6mL1qFG z5JRd&o(miQS=_$!Y(30N8xxjqJ`;-N+0cP#5Oty-^iBmav4$qv#3n83)wKEpufmntjA5aKMGaXWkWMLp9W675El(`#pTF_M$ zkIFCtoIAtov7|{dwx&&}_E=kSP)$;5V?qS(P$AS{&IZ7oc>`_nNVm_Em2sWbfxn8Z ze}G*f{$?E}e9Rj7l&g-W)IkB8Z7fEeu1)JDA#B)L?gfu{kf zkK#JzCV2!foY$S(6sH2C8eBHjfd9}fsCBz;G}+CJp#hZ!H4&hgfc*B|UKkN%AgTT+ z-btsnXhcEc=E0Bp06c$6E88D6pzUI-!dncpyOSy-FJ~LC-b|74zoj)76^3vmB}`Z| zu=4f`ILOe{i62QVM8n|#M>&aeM&`ug2a<%It!FRuCNFSB(Rqs$$bfJQ(!01d*pijzh;_I#T3V4* zg=<$U1GFO-hTt#xn$4m3?1nBC4@5Q=@7^^DnFs1j zpL;869P42LoN}(cF7R^aWwpUA^2}_5w1uyz%P&x9)Qq{+uxa7?M`T0)P70}u@a6Hg zRL>!G_YQp>sU%9?$spnk0T{?b#GJ3i9l3Yy-36tXgx!J^V%Q0zvT`UIwA}qVRA5Ju z7sTr%@#u9W9HL#(~mj(R21=j+JG zqA7W;2}5h~VJjTCHTpechWRO(Z&oGJp=G%uwq)kZ6lMUjHa*7UviOfUF z>%2q?`5Xkxe3oq&am(|xVCNL-y~^*WFwFdWldXf z-C0PWV3cHl_5?M28w;ar??6f#I3@fs^JdnZPQyiFMj zj0H)I;e@Qkz*RN(#$L9^)fdsgR0NobxdnXoBd6M?`OKUT-`)VY9tEk5v%-knU3g)U zm6IQyz<|ANFXD|*0MXsvd1$V@t1t&#_sDp_JL>%_pviK@WVCrbR)GR4!E`eud80{+Du{Untdx3|42npD z%HAH~(auLI44p695QW7HgHTT@?1~Hk6GA?s0#x{D>2D>V-C@DmMTDV@Bi}ULz856p z3at_#44JecTuo2?Lq@<|(tiQR`v;lS;R7i$3u&wDrbG(E0V=D*>1+h@b^dzfCy(e> zyOk^Lf&jjo$2FJNfzU`I-VZ=#2(Q z$fK7+nUK8#rf~-dS7h6ZIR|E?%}Qzcd=HY2Sg{>!`!*^S_@ zdY-?w%~!$dmd(8R>DO=P3WiqWoHOb~S)K1HX*}hMn)8u4$nkyiowb0n8Yb9Jl;SP1 zj_2A^&l4u#d(R~cpAeKr6>H;q9zNP@m{0VwL!}R9Im25eIl`J)a&5R%`pdtqJE#7e zf_(0B6Tcb=$k}&k&2XO2OL9)}PldT%c#4Huw-|S_M8Um)l-$B$*8}2!iSyI$2cNg} z;Vpp;upFnZR{m0>gfjm3T~C(h$1r)r$9lTCI++wQZsq{qt)=decn=>Kesi-soHv?# z1$B`&2?b7n6`9wA&dpndsY2O0XZrQ!*~UHRjD6XJ1062F0`^4=58bIGrTw;ij4csk zPKuhCK~%dLwAz;W5u^s3ZxA)noKNSS2JsSF47bWc1*1(q0B;V~W(IhDY9N^*8xnUF zv@^&q3EEyX*|O{c`C)~zT#IDzowr}~6;^Iyne7YjG7BA99w_pWT`Y{;P|K`tpIfB{ z!IF(#)CO|p*^CsVQ`HK7T`B+l$k3}t{E7fI%7<=w9V6*cDQAIv8LvX~KT(IqREY3* z!z;x3#XTZVYtkA%JxWBvE4!=fi^p9*0~J|JkRu$zzcf6Dlz9fGig{~f0yGv_e-Sd% zvMFt^r<{VOsfx4fGT`XF=S1?-g~7b7MM%t|u&Wau?5Km>QJ^+sP>Nt+2Yl}{?D{eB z=Uv&Unn5d{?@_xGw2)EP;;wL@(o5oOVuSUkA6z%=E}V>c?tTQty^DaEYGdcMh{?T7 zr}1oDmHvlgR(?bhq*F|zIT@1vmU{jdkU~5E_QvD8bWD?jhxpBs2-5#7T5;xAQ$rp( zZuV&zA6q%KBiGKAwi8ab`Aclsxj4N@jk%O{C0_|zF|b&Qqnc^h+UiFagQBxYsA~u_ znE28=IEbr}AnqjEk7xXGs+rU6^riZBAwOz>`z3MU{}q(8hWBZgS?ybu9N!K_(sv1v zxz?F_d`dDbk$a5D{p?p?T>a&-=id;Dtz{cn;2kVatYK=iDm*;-y6}P zWWgeB$SdL-R$?Fsy_}yBT2fWf9m@wsU0pOtz}RMIejiW68gp9k6cXJ_<&((pAHIQ7 zkGxR8JiZ$@1q^HfSU=eZ1Nj?>#g>y)h)8@>o~dvJD*<_Yd#zl8?aA)p!b73&X3n4zd!3EUM1%^Z)= zlYK^uI3Y@)@&v~Pq5TXSxrV^aa9rRDC611bXE%YYS9Jo<>joii?XBT>*9b%+kkS{Z zqEHw;&7BHz8Lx0)&gzOOnWcpYRoo0qes%QR&S5;vxwD;fC~}I-r;hUd1vPN|k1*Dm ziDTflN1m2?3jPWt1o1JIjMONQ=l&spw6n(=HD|*ZUB9=3WY4~x3Kv{3m8G0`%Qh&# z7HaC`#NA4(pv5Bf(1%#HiwOJj;ew+)(}yR>1!q|shRyTBh%%Q2ze=lQJ-g)0dXXckDRqP5s(UuBFXe}~b2OSo@VF&X1R?&SD!uYagyEN5F}<@uj_<%1WIptB2kAe48L?{N9HqC(Hk z7gV`64=NY;oqZF@yWt*0SUL@;BisPMeh}}a(zBe;Xru`sJc}_P9OBO1FTeXQ4i42J z8}m|$494H?u2Q`&i!q8rRLZVmkdXE_=>=}3FvXLfro&r!cc4SX`e5) z6bhCZN)a*!mG9dNl>AX?3M-D9@D@Kn6JX^*20~4eij=%*Y-o2h;4=ejOFfi1Hti1PnLV@w^! z5d5PQq>>igoofvnVUH*3h!WKYP6#+DNE29N!o z*FXL*e#mt7u|Op<%Zm!E3G+^8T)CB^v6T?{3adwW`XZBPM_HT3uLrg*7|xYec<}nJ z`xqXI$@3o*gyKXu1Iit4nD9r6;f7o^OqpJYUCQ2{U8*@1HfYW)8X_>^;Z_Y;p7W*4L|mS&-!dcD*~zD?h19(CMFd;qVeRdDMC%6r!`>AqqV_PvDjO!b z9YL^Yy!k08l>afgZF|=3Je4rdw{Ez63?0%iq3Gz*^A-mo#PNv3*=ddraUx->!=TEb z5CpAHQ-4DIP$BKIvloGaF1Kh!eAx33+&SLLln^k6bI;Gew&c0MLv3^S@;tmYw*Fw{ zTJe>6JxfS}w4xwQt}~-U6)1vCrV)&!Ti>S$$NR&7;9JRAl=4*Er~-u@T~$9HoU3Rj zKPnS!rDt?*ptjf-h2#p$4TqU!Fd`{kYlNv{7imCxo>KFr3kS5x`RCPz30@MkHx9o+ zKqrIMI!H0VD-ekMyWBv20P9uLr9kna%J6VObv2!Zi|;Uc1vdkszBVuI>v}GC)qk%~ zw{MtQvg<$VjD=I=r~%$m2bD@(NAiF4f3`Ew%1LM&7MttVL#!+amwz5;2B z28^1l;VYj8Y2VCWx9m7Iq*pqYi98JuNuoAsk|r2;2pwkGl`#{RdY}b?fs2_aIY%w*K)%=$7hDl@3|+PhtbWw}JG0xq`APsW zT?b_c3CDnT7ws-Wuq0F>NTEMA?FE$?j^IIpxX>;&VZ#19M3I?Wo8mipPjpO?n@959az0c%t zs1d3k>7O3HWQ?MCBQOm~0IR<*N^TN}=76PMari=3k6f=&N4NymnaJ79hyFwP0YqbM zvlo4_W;~48iV|Ec$cG~jGq>97z;qgi3QS!cMnkm2uY1UMXTH#mr_&!bBu<(wZib;8 zg8!GW1N9LR~+}e43MX}o9uqt z|4w4)l~NjPjihPOM?0;8f9?S39HWPp3K09}UY0zr^ULdfQ@!no>q!Htx0e@FS^PjC znu+JeK@M@$dcUObXy0ReK~3C1^j{zKeuoZ%qxnX2Eq;9kqQO|ul6ih^F*^*5PG&U~4k%M21tfZR*CAVPi9Dx_QQ+OM;f8U`^wwQ=)zI{v%ttM^tXI0XqB-tyTI z5QbTP$-YcXOw7vsN*#yRxe!z<)nD->Sj6?AN>9>h?q4t0KRj;XLSm0wQCTSS(^}|T z`ocpVVO23wN}G7PH@f_Av5jlDvIUOz^j>oW6MxcejOJI`0vQ)!f6%jeT0x093X89f z_fi6*i0s2Np-ID(=dILr~cWISKr>I`}t+y zPUiE%kF#x|x2HY_EK>*-8=bUe+123u-VjhTMx$^Dkm!zYM`2%OL1nfYhm z-7jp?JtF|#R&j+PTuS2B;~)k50kB{Nvile@8i+1F;uY(_;)?XaqD?XbX$A4rX08IH z_jfGgop&&U{J%kHa0s7fsnN!it(s?JjR_WqOK^+|&pk%%=_B zy0F<~taPV^9`JpVKEpP|%e)T?Nv}C?3Js}I6UB-Ay7G)ChLM>}n9k^A^VK@$x*b>B zE)TN}aj{c(A-=&u+E+(LFbe!P!ohCHdO$;j$vHZrOnYh_+yyNjPaa#tZ*P5ZR+un+9C3fOb3hj-JFg%U5tr`S0!b8oXLU1a_%L{v0Fxs-j z+VQNIPgXl}iU9Z3%k%scQ6Lxqf8H{_&m;{K^|QIEno0!VJ|NmLO<^Q1mE%`rsxYMI zCn5yjmey<`aWcRGFa>$wsCOM?#~?Z`*QF&4V17M~tFv4Fpy-2bnq-o-6UFkL-9FvF z84aJxv4`jo^c%0qP%MwhKCJ+qaOpesA_yjd$02?sz53eo6qKP~tMZe9zix^=V~Ulg zJdt&6%nz_=47G~LX|-xtPW1q<;X+81vf@`=Y1$P>KAh8w^}SF-uDa#^j@SGx>=1Dx zix63YTO!`(6tiSVlID_v(rBL&QgYDv2l=jS>Qomvtcj$31G9$ zA-lInRB|sS6CzfBUX0GEXncy5(6;)x=D8C#Bjf;4oLfE2?53gL5zJHVO}ML@|LvXG$0t&PEs`ga6?? z?txjnNX9AWie#uEa&R-l9DaUpvmq@1Ola83!wKUmBN7%b;cE_n(j__c{fiXxcFN5% zGV3v*KkIx2oV+a-%}hDLz66SX)c^#d&a>+?d75@TfSX>04~yZo2fDk*U43LN>`rVm zX+sl8q*3F#DIk5d_2+kd|o%eOR=91_F)KZ7WfkqlV zhJ6A!>%fuoT`fs46X-c}ZpzSS*J#Vv{HeH3437zY!2x!(VK49olqG#-LAH9$M<-w; z=!GD(9J(@V0j$S;zC)W)Vqd^h_X?|5X&$e-yC;?Kj27!L zn8Cy~W2( zPAF=x+}|!0d$#a>X1YOYCMdRcxo-aK9WA*j32SabOx3hvjb~^sdpqIlsX5J%FoT_* zA*Z>By_I<&y$4=#x*c4vnyxfMQL)G6+dAuDrwQv8*cCp!( z%yqgW@O~QoEU$)|ffA<+CB7>T_%ZgnHGZd)2^YM>DD4&#+>1s@I_6QoWQX`Eb+WC3&geShob zg?JeN_r_%d%znP47WHW@%ztyzhtb zDw{*cDQ~3LJ#uK2l^KoF{a{F%=${lr5AEV_DV-E0)aun8_93*Jhb6JcQZ^P0hyI8K-0F2GZa$$rhs5C@4%~^lP)1Yov^?0nuX%5#`Zi`AQYx>`Cmz!HE9n z4JP@|m9fXVZP?8LKXB%xYNM_=pirS;OUmCG3BC`8$4o1f+pyr(-+R`CZt*niz}mT8e4JPwIBuxB z476O6vmYo9fFP%Z1gcaUo_G;vfh84Aj!XI^r(0|J@AcH;#cO2UXVh|!lyMsx($Mlr z5n>-C(ThZ=JC3)I_w(9sdv4Av{}ZXo)`Sz{78!tR!SJrpQRm+X5bW@xyNiO!p#<86 zn!E%TG55cKuEi){py>iZ(g6O8Kwtb{;TV8RIP>X?s~198UVpJfD0-rUkpXvq&&2Mv z62nDns-V`IvQ9()R~3KcNU30H)@Gl&0iLN9RpM?VoU_HUW9E~LA3O^nPf?OcP+#$W z^j#b{<cRjUZ%wkTn&>8i7EKK z&UVOj9A``l-f8tFgJUxvgf0if^yXg>b<;QluO-{ zB~_NrJjP4r(I8<A{9h&@(V!Sn=FT@KZO4O++$^ z9`G>AvSSP5=}JHF2-<~DDx?X@Ez>HXFAV^zgq|Y{eE$@a;-?HRaB=R1<43=K5F!Vz z*I=pUc-L;>J>PA7q(>8;C>mVz2|L}OIehN?;pnM!IHJkG*1P!CVsUiYyK z0xkJ2N=}n-2A8YLW7;SckNeS~cu|^hHW-#oEp-sH1;3#IEXtqIa zJy-fQhU_2og()cJa!OLDi?6*#95EQ&-1&2WlUohvAPyJw>yrh7no0eFV2%!SbPXA0$|e~$0aqckKxx}YgWgw!&s%-&#G z?zLv8%G@r>-@{xNeB4myKnd-T6W`k|EVx(A1je>LMB$i~lsN@vzUBnh!4B@v=bqfwCWsn$vZ*ubv(+aQ7j}YT`$!_I zEZ}rxXYlJ_hAjrut#q2J8IqJ9021r60*IgsbUw9?$rsSR&aNG{mHy5>JJ60+)a%N* zF)_N$fj%yD2=d!}6vQ43j52n@{IU;m2}eT`@oVBnb?~6aY*kP@@3xa}Qv`5fX~$8# z&JHm{O$2LY?+1PKC5Y$DLu_(BTUxdnVwVtSJpRtnh5->deC;q@K_r7z(}(&#dC7KC zDk}|BOY$|SNzPdPVcbNcBN<&*YNVF)Ano(ePfDEkY$+Wy?YL;;y7FwqSm~zQh#VH& zSD67$fr+-OuOT;Fi|?o9@Af4!7PNwlEh%&H;c37})lQPVP?)nKqwq{ZL$W9+Y;=vE z2*2cPmwXA0N`k5A`I>NgS?5*9TN5!Rf6cfupri>QZ`-K4;@gjuqnE>$m4Lv@+-rO z*|@NBdmxh51}@IsXw$L1hnS3xAQ(0fPuYPEgsH!llbkVJGTBS(bgZ(hB0>ps-M1@O zdy}p$PGG;!;boFc8n2o=$C><;Uks}JTHb(B5~zt>o2vX(uW>X~o9<+i?jpE9Y(o_4 z7n~OrQ6P`pcy0^;;d+|zzDI9OLpW|jkXXw53m>Ud(34dA>qV=v+J=Zx1$krnWCX#2 zQBpB{#2xLe8!E`h_;N1?X&^(KuH{{F^o{dLW)MZcouF1PWD6(-C!K1oGkfZivw5kg z{+D4qOCo<>3#}4EF1chfGwNZSsJ{9S4s!NCpk4gw8q5u^!;;q9;~RMt5+0-Y)DJ}3 zUh9S)@;W;Y9=Wbt{NM4H|I4!fT1Ec37$s)DxDfF9h2#8BYy3#azGo9rLh)2%l6lVL zQ}>+Adf4pj8TKuKuo2!yjTQXq8!%>A#j3!cfLnB1F(|gpQ9Qo;<>)@YuOYuh;|i51ak<; z-u=0?+p#>x!HQy#WQ`@g`;!cd1Z!XxnTBF{&0TL^E%bO#fG2IDO@Xv{YGG!S-6*OP z@gR1PqeRmMb*WAp_xH}}W{JApR>^3fjqcMBKCc!x-bdS?XKN1l(v@~_&3`HKyt7Y! z)4uuvpA>HCf#xhTL68id_AipG_G6OWFKm{q6NC5eqa9viHtLlC(oHm1$% zQxoqB_b87>1b1DGIPl~qnVgX!_$Q+Gt*DDczA}((3v$1teR`{yj?O%XcxE6UZa<%i zZ(+~QP+t37VeWneG8LIAI#o1&pI~WG5fdJDAqAX~A7yyV&*aNZsOX$Obnw5Hp!(2H zrEm}krPB67R%w$J>NO7u_W6(Py9U;2ea-7km9YRfS&|y~D;H^7+LE!-k-&jZ6OF9< znm?0YEk&bgDfhwp6A`Sp;&j&}Kj&%s%&|yAotpJ7#3o@!EfL?7r_H5bhK0opj(`ca ze=dXik=*8gc2Jvu^F5lrlEQeGRBFt$UE^!O#BneLqn1jr{*|5N1z*4G61yl4cAX%^ z?A{+%I%{HHEwDny@B;>=SEqd7#J!VIZrALw&% z&bhja`(E?r@h2#;bJ_*m z%|c`)gy`zXw&-&~qusKwC>+M#fF?`Tr?4Y%d zj!-*(#x1RPYj37G^pt>=`;PCi1!(X_9M&Elp=PcMJ}t5=n$^6g7Q51r?I*Sdcifw} zbQ5;WeGU;{n<&dfT0^g@QLgYN|Hre8! zLtxpBJa|XD4uu!(f?h^i+7JAg>O1+1&I^Hr+dfo+sxAzQT@)|GgG!LyIf|)*S$YlQ zW(CdYr@lt1@}-M$(SQi1gGbNGI1DlMO_U-@k2R|4Zo z7?fO2Gq`iYt?FxloYC<+B#7WKib=v;M61>!CT2We#sM~)%v_mYpWtSyt} z7b&v4iOLFhV2GKT{BX%hG(v0g>zm*9RNv@hKU|BgTWv*Ptt4!DY`6QQ8zsVEh_Q0~ z`1Iy;YyiGZ;CuapRLfUJ;|9YY^CBd?k}p)pj2yHxyOV7Q)0pze|C%^zx(U63tyw;y z;yuRvhK>iD54Gj!zBM}FHC(6YC>%|r`Z$Pvd*um?eWUR7=x;}X_v)tG#rk8kUs)O; zKAB#|YroV6EII>uyjdu!3(_%xE5a2A5!xbd8Lz=0O%KN`^=7!P73O_b2%~9D-R5bj z-}D2E()tF-Wj=V-6EW>pj~gr3yyEG#?@ednqg_QkffGZZJ3g_*GyD{SD&|!UWK2+Gie%X!P{Y1@+FqSvWq@Nao11nzEo7qUHTS}^UHDH&8BuB&D@DV)0v z&Q$2+CYvxa?Zj6^)X@sWaPf30Za#q4&%hKi)3laaF7>%f%OkbHxBKH$5U%qDIU32c zih@k*stf%ogL-Ta#{0uqvh{+bmY~Q48g?jM46Dfhb&Q*|+T z2Y%ru$5(nSBTpo!$+O!(`Z#^O&P3Ki78WUCvpxl3M=sjEC|G+O>U!9;uI6W>b%+() zx$H{HphP6%gkZwah!bHN9U}4@v*k>Va?dA-`&m1b;1!RfJzbEE|^oBP|cmFD2BKFqe~}ZoYL;mODjdK<=;C*rY<^V=+1P>QX|96 z_o`XFSouaRhd+Vpe9E4r@!~``FVL$~R4^9Hh-Z7YbOu#|t zw*--_2|$$jpdp`47jZ7v^GZg(hDph(Dk4qo0L;4yD|!{h;pE6Id&H}Wb_M9|eK9(- z5LOD2c6`-T3G<8|m$NTQXma$GDd-3|7{6Dpq1AF`_{nnfw60j!**mWX1$1BcJ-CNe zjlMAbh_%v@WZvr@G(MfB`viqezhM9ewI^MU0~#`8o*oZ{dXL)^B0f+FFVcq*S)bg? zS_!W4<<@X?%+EO&GlI_B1;|0tpK(!qTeCxE=Ehp~dshb5#h1}mS^fueR53Fusd8d3 z6@St|u>~sBM|an}!AtIM|8wdj3?r{j1D<@QWsrXR{R9h_uo;3C3c37}im+OV36ff74E<{v%n_|Yjsm)k9`qEFzOu~jkv}VVFPo|Wjl`-LK&9?q#jqS$! z*TQb2{OVWNBKCS?u~=o9tEuoo`w$1rg>dK%u{)--M}_#|NU4UjGg`j%2J4E!=MSb^voq#-=1h)Ve6b>_Dl$8 z2O9uhVsL7{Jl5P=KrAVg9KgwH>AE!7=qN+}*;|PafM7_|a%b2Q4}0qd7X=DBw?hFU)P0OqfV0$kF=DMbO{+k0Yu#$7^>o4ml7Mi(&lrXDexi}l~t4& zTPtg#mpJ?E0&GL8@a8fYM^w(CBSzDoUNM7I?fKD&ZBA=2`6PeoSS|?;o4DALKj+s? zdsA>V!#%H4%ZA4@WoeUjBYwwbNSgp%Km-Iae4J7%G&PmOVly;Yz2yeVbmUo_B3g6Z2PoqxTQxGrFlRG#sswm0S*L!f zKOjV6lMXsPlbQw%c4SVK;YdSG2<3_=yz@4p>Lp?8*!JcI&HD`0ETylL81#nGAU*7% z)Xx@kdo|H5iVG?9!mCk@pWP0~{MnO}60#J931Kfu^Xbra@hTr%5K5L3pqjAlOjmAh z+1d^)LwvfdsF4#6dpS3PW}stBjIBRYl)0NPX5sgPVI$OR&t|ehK&lnfZ}(aL59115 z0J{ZV&_n}e&{i=Fhm$r?^I|7s1MUMuehsiQ@&C@Y+6jqdw-i;<@YlZ+vV$DpK^ zE^oC0&^b_(V=|aih#5f*9S5emy$$?hAbjQSESx^09|yO~oF@ubbj9H4EVou()cVJu z*>@!CrPp747=!*K;_Hp~i{zcrDr^QwL4=);G4587c0R1^b@naCyBeI?h#I>q8L}uR zcN`{V7q?=53azcNke^AigU<@GIx9*H?uNA9F?`iJqPBXVOQX8bUpiUhoRMNLUkC5! zoLTN*u3v!ul5e3!Ry`@C&kWp`T|&m zJzD(W7fnvNSOqn>591SxV7N!?jdFSNEQffvbFmF;pz_*c=06%JNznAx(;m3`P=hJ^ zJpZ{*{PTt>^tcwY6n)9PfYq*Nkk$&OiX;hw(}TMawG`u@u$PT$DCi=NJ;UNtfpp~- zKqmN84^H!g_yAe+kJneOgY7qq*lH6)Kf$t4h$-i#Wa79=%${tcmS2Xs;vthNba?T! z9s5YQp==|_rCI9zCE7{EzJELkbfh|Y?Jdwv{#D(V;;Bq!3Y|0BA5>}A z3jJ;n3Dn7x=DSt*Xvk5xB!%W6X7$Cg1JE4E3I%JU{$nf+>^nCWU2AZ=U5r0k#N7Uhel>np8!aI4aMhg^2nAScOAPG5&gvY;#zv<0=?n??GU~#WsONmnsi7 z(I009xA(4xs5w57P2H&#HJmpCWy1`tp`0+icNXMI#btdKn(W4i@ky8Lr&yzBH@VGec1 zSNNOq&D(@wq4M)2&2YZv8$Bix!VSQ5de0jFcc5iZ?g^DLaB)XXz&tf9qM`*IEjGsp ziu3+E+hLC8-f;_m8kz-0jci#}T3sC+*P_Xt5I_F2jxZ~^kQU8V9I#SQ+-9mH%#F;w zT!10sdQ1b~m1dG{D>r1wSvZimNFUIl8~|QG-*cVn%wfMR%{WEF;pWov>5!6-1XZJj zj&tQNMJyPTKt>~){n;d#WAm2etW5o<^x>>y|HBm~ zWrV5ibKiUr(Lq*p*&Uiw+KlU~a9Jy0XKYPE1Dj9jG~eIm~W~elY)! zlfw$+_9mTEbA9IiNY>5BFW~q3H+10jW9nzLFu7wDE)Qp!e$pRuzbDPDbEfo^GGa#y z=J6$8{3GNVQeeP78@7bZL@A6Oy+xopV`A0z7FYwM&M!YBD~elkS{a*rGfYo@F&thC z*mxc&am>_agG~aS#}EM2cn2*ZmnUhsq`KUcR+k~_Rn@V7JzV_b-kV^Ua^9kH3CUDD zvP;r=7*pEO7#x6)v;en#fKb#l3 zM^s*Hc|-4Lm4y(Go+bZ#29e+^ki-L7d%5MmlUbM@iq6 z!#_l#CF2w|ALeW)ipKA4H;2SI?m173N4gX`g*GlV@qvT8fY-@Pt86hBGl}hdEvQ4s zn3d%nxVn)}pPTFehKFqA$vJcEcce#HK?wW$6|#)(@H{iR!1}glPFIywDMgte9u@z0 zc1jwtB^J&=QsD$DDaqT`8Nh$O?rj|%BsjeiIDwHzahDg@JFWcH@rLMUa5OXd&^$&L z^2=T|t2n4`9neJ|l^^-mWmgK7YKJy@yKQJa&DZcnb;I}p-YcRPq;sXViTPpUKCSNi zQT6s*bHRbF_i*9o822(LN=FiFKQ!R&Bvx7dxd=WlA0VuRp`O`Dv33-$#rSQ4NE*1V3sqU1JqO@6y*V#xi*z!Ryq|N^5(pSZCus9iQ@^#6^h13J9JWr>3^vt4$= z7f{dvAD_vw4{;cl_|TLIY4f08Ltbl^>i&EZTn&YV25VNlg?kZitsIE{12N_*`5^)K zL&wN7kblSnXqvKl`~Ycj6R?5g6m=;Ud$m|SY8gA=$Yni-D2&S^a{FUkxUlR+DsvAL zW#O-%816xivMNeu=O_2_^UvES3GwBlq<e@6oM`A>=5<}J5W(7{J0;_Xn?^}K%-qZ z);DS(Xi$_y(D7-VnoD%Jd{g3_M6WZxg4<=$Ss&2NLhbIRkY3}|hrL6*ON&Ieu6#|H z%=YNdI5$5sVE+I?K)%1X$A;#)_c$vU(amxY!Q^puud0tAK z>+I5a>?DH|@J2ZW5JaRfGRe-$@x%J*(@u$4#Ky*k?@m9a{yC8>TkTyQnn5cbH3IeV ze&mieh`TC>TuJiRfyU)1aMtpBAxp*t*!qKtXC%JJ#xA(#6JJ3sHPo1} zM44|J!sp~uJ<zr^2jD05cfU3GSctvLmF2xK+lJC8yCzQd>nhS};6qT_Q8sR`;;y6kChhvSL{6$c0)<40$>dsTSGKN$KymN@=ea zy?MeWm)-2#1 zxVqb~leYPLe1{Uh*OckfUl5*&nOnI|_iB!TSYrPu0yhcf_9yW<5N1m{N-lTJC}xk* z8ddR-eOU7D6@@(LQU!CPNSp(XNyiBMO=Jx=-WRy;tOr+$4*Z?Q?(IpKG}I{n^5gOguM#DBc0G+BZ8+(mqpkguYvgd2>_IKBXG2U%T@@1tO5s_DoY zOApiNm96$8e(QTKv2Y3suU4`<$&;zosrH9YNTlRuR2xo+i~b$U)vspJV*g1OlR>?g ztNC$W5JB2aY!%!Y$1xcSe8cMLgRzzX=`kP#25vr9Dkkbve3_$q@roPiIN?R0dqFV& zRnpt)dTk93Mp5hi2Qd(RC0WgeR3dN^Ij!V5NT%?(bEzzW$UvnVi!(T*GVfM;-J^%f zZ?v*w;c<~ak-h|uWZ$4RNi1y(+OVgUgpp^%CY;f_Ec(MdroMk%ZYn#&-oq}$0^wBb z9~$<~n>;U8yf6|Mo4@Od7DM_XaST1aMIXPcBx?6zK$8Kl+U2zEIS)WJV|`b<=*rUy zvT4|<*yv|PP@mgGpYipew-&L6k*%qz${cqUO@#PNW9jJi<pzPt4RmS)Rg z88sPjYU>xoeua zjq4!k2@Ur=-DtVZFiI!961Ju2ijUx0VBf_T_|?- zCgdLY>#n_>(kYPH_#p^XLeg6erI3@!^T%tx9no3s(U2aOy&#SG2gmp@{mTfOyREPFylXQRu&F>1x7oFk7`WM+nFwV_P+fTGq!3D7u z#85hR<2BK%jDB!rq}NN1~}#L+A}U^k z{-?&KHk_O|fxrRS=1;V(9}MWH7*Byaz$_Om2tqe??5ep~XL3y~d_OdRyd*v>pb3%n z)(NBhPH(7;oiYt>c5A|*9r_be@4{Mox5X4+fzF0Y_xH#&CR46VUXQxOx_QKSZ&#Xz zTFyIjo2y?J)F)3f5}pg_Z^M_Pz;>DBY4854vT-lK|0EL;7bw(Mk^V+bL)!v5v0b$! zTfY3A9CSaTy}lQF@5rYm8ikR8YHn1SWV|5g7_i#Z74cwZIi@{saE1xqf`e(mKLENP ze1o`{<`5p2-k;|(IO<%T{Bj%RNR8PuzP=OT@(B7G&O#-o0YvP)4*c|06Sc6x7YdR1 zV>ATVqn6++v^g%ExmwTdew6ZlQOSxVU{Sn2&`stUoNA~{XY=5hERMqzu?qlI&4|ZP zS9sGB`zaZ~j=zr4brGQ@NOF}F7$Tk8KN(E_XQ8Z8epRgQ;gmC9mb=+qkXQy^Zn3R%yZc8=$Mn-BCeh zYK+5b`HMc30R>!J;koo2@E$Vj=WpY(|55;qB)_JDKM2b^=Q3TJU9krUsn-$1jVw7s z5=R61c>Hb{v=x3H7x?k(EJq}8tIy5s4Q%LfUo$xaBz2$ z{vohlmL_(cW^cNov+sGfScO0As>7-Ew*@~)dxIRwd*p&vqkFWa1~<%w+udHA^n~UE z`F-*b^=M5_JSN<)0Fh>AikFJs4gG{C;*l0L%h`-Bqq-W>bIn(tQvoOET8$Upd*Q>* zZc%=_@MdIaa=NIU0lnlfZkc{&UAw8B#V()MV;_ZhoGvGiaq{dI^!;tj<2wq{i%o0v zrylVfn|@%goD~a$_-=BgVK#8F;^PT4F{8%zOm;D_|KWx>n&LzNdkda01B9<=PbPKo zt%C{2neSzOk05&0+m{h!iH{dv@-gDvHL0yZg^ChGQm%Q)1GeuXx9-f2rJojzhI^6dGYF_uxA*ju^K)1MH&i z6&Hroi`FCM>}XY*4D&m@;*uS%B>)6%Ko}B=zH_7V8)ne?e}@*Zn9EH&-C|MdYCT9Z z8W+qp@s16Oyaqqh5_or|J4q+zD4Fwh9B{1;vjN^%!zaH;u5v)B-}X5#7mhgAqv=k7qMITzV*%gWzgue#TQ1( zKv}|UY2A_%ZSD$5p2mYihxYqPfz?36A(t{u9^`#et)0#!G^MF|KQoQN3R`J;L?wJ0 z`bxg7>>FqfE-2p_{xY`V0B?|r>hzfH_k*=*hHk}S51p=r+{WphW_7CGbfYu zKg&6F3g=er2dlWh6o{UQLHlA(@OfVY$a_kskA$raC%rfOa>&>+5h7Sdv_OE-6?isU&TKG?QVAkN=%jaOnwU0D;#JZL&#sw&o_g)8$1zvhu5TH|ME`6 z8Bf~y0I+`V^-#R79}JQLl$D;{oRK5G4;p5J3Tg&1R;pok`CAwa1z*Sl)Q<10zp*zd z`hvzjGXAmu9n>9g@~bO)VP^5u2oWPWtw-zTJ1~;s|1Eo) zK$R<~$+wffxuuawx?QJBcBY;Mjrt%guSzr>?JeQnn7Vp&o~xgk*FqG_6NP6~;p5^f zuMC+~lD_=CL2?qI^I)z`H>nHT4Z5Uz+*5FTi5(P1GaN(=R@pRh(4WwV0l1mE=pO^F z{1eKVuK5`K!JiKUS&041sJD3W8&bH38_{U8PTL4UMW~jqO3#_LmVMMW2h_CGQk4v1eC8AvCu>5a@c;jYHT+FgRxa!TM#s zbv#O5hwwpq%%J^^UHXSqfUXPI3o9`sEAM`t=Gzo~@w($db<#@P@3$q^P`hvbh1?wu!|>8^ z2G%$t8^|>5!Wgv3J-KiY_710t_53?6>Em47Zlj&(y=;1$yfVe!uRn~t|0w5=JlwIy z-CzOOGOB0xe=66B7*hBHninQ-+`4xWtN)MpcNh9TkDc(@iT`%4b5#Q&DW8PU(g zThBfjNyw++1HFgu?mr0bg^cgaqRUq%rH1=4#z6#Oee{-VKVwFCX{HeU+q^9Hm8USj zX2~UiiD13MZmN8?F+Ed&n4@CsbL)YNV$8Ee5#PjNyv2$6Bm6a=c-Sscs7hO(J=kkZ z5hT3vnLx&5E6oJ-Au?PVI6V&T2vd@NhTHCss<1ztf37S)e7r58#vWDLWxvI_lbwQG zmj>Pwn&LMEsr3%rpeoZ)@g{n}T*FWO{h1K!LWse4)Qdbymf-8cYmB$EwZoA=HzcYc z7LdAkGS8_uEz|9QwQcHddMeCwDjzQ?edQcwFTy?^pPm>C`j*YQ)M-=g0?L+-PMW6Tb4#-sch^*^sF~Rk*;?TsI8=oKvw=Wd^S*VtH3h z46y@KjeAyddle7@uMFfGnr(?lY1aagM6jBif>|&SE|(pZ<@rVur#|6<9jUj)17M$h zo-yKZz&t+7O0>2FE#sj&+^myyDgnjp%-+Ih#}nXHuUemlk&d&nB>x+1$-Sb}xijx= zr#xGqR_PpXZ!9Tc76$3+~hAzCkUoBy+)y%D+eEl4rYoD8zf8 zzs3>^uc`?}5x_8|Mr7LAsH20dnKZrnMl>U#XOu$KBXhE)G@9*@`(`J;8)=G5q0p$jdVjw; zJ03y#8-}jl0Vwe^Tu%J+je;}A2anN^e8Ai!46|wBduo|V0WwcNttd}qApn==*wRXh#Yd+lsuf8O zHht8pyg;b%Y5ZFTN)aJG*V4bb@)iC))qACm59()~>sY#gdy%@sv}im%n@L%+v=RCN zz{v!&Kyn<30g}_DjBu*?fkp}ES+cDs)u2}G8j5{mhZ08_G-dT-f^NcbqL?my^DbGy zxJz`PF=^JcsU2F#W~Hz^ZzmLIbK|b7;>#gtREVNzK}};SZda=?heLytn?~L(yJ?y3 zRLY2>1f}RZ=#qVXYRn2^GciI``NNmwSNN>uk*->^hnUL}kuJFW56E9_zy`RL0VW#^ z<&npUSfC<;OL5P)jLSPT-zsdV{z}D%nKxO=2V`l;Q%}Gi&5b?|e$O?xHW1{+ z3dzns;pDP7vAkN;pk0-_NrW@J5t}wW#?H;hf!|rNx?{92(qO6)ZM+pJ7DWQ>8dA&@ z>Bwhfsbh%UVcdN+W)2h2wYlm`qX@4;jYsHUOo@jlc-o?~lncj+K2us4O}9gUMp>-0 zEB?A*c;%*oE)+SrbuKz;b$%ltKL@u)wX_S*=sp#arLEB>4YaobcCUYvC55(D= zV;YaJW&>zyzr-K8unxEs|2^xmIcJDYW3>~)Zo?Tg+Vev+^XW74al9Wm{!kQ%KU>UaB!mVQR6P9j>xJ*T}^Q*@fnxYcquM^E(zJQ<%ajAHAI@yYEh^-Edc)nbc;=t}u+ ziYi+TMs<>ym*T-@nJTJeGrCYv`bupd98EiZ^F8UHg1(&p>vKvvtveIpcwRUX#LSSw z5}W&rI}6dX{j}NwIbz=j^#%qijgQDvPx(5`)ggMU8KH+G6?u2a{;c=9e$EQ1j(+Rj z*)dA#tRlNWAbSz@yPUfA(<f zAnIjXm8$l+P4PH_w~&n87~{^z60XtcNBk2|;QKA!8?W9bDho&$E+4WEDO6&{1k*17 zGiy1ta?4Ag{JGz>CN|e`!b|O_;Ez{pQ})n+XW)|Kym6jHjos^0lP37)^Oyhx__|d~ z`;#z!v@M2SrLXhWC3QEHC}n=U2Z9W`i+2WxbWTt019u0*7TUzuAwX1jxEY;=Y)B_;5)a$#d)=9@ z>1MWjtam>kR8h+d;F={MUEn>yKBJt*6rheEcA8CsWpF|v>Ms!;yR+g|S_b+*AB_H} zt1;sk-UKibCPQfcXTo$G1jb-i*4>$hK}$m%6#(m{^L6<#p8oy*GxQDGO&5s9FruLN z4$t=@+Va@`#WRMHgvgrFAacKu;F;znJ{=PB^_bJ8quMVc!uERZH|=35sa$a!3G@}J zz6UBKn7qs+97rpyWs1u}AKYvkMl2gNKCD(Z%<6`??)-|f`;M4=y^NB8>d4mNWCW_x zybDEYQ)eCCm*&K8rvbxLQABpq3RGv_KO7D< zj5x|T9?DLrn^Y5`^fX_LPbL(lzFJW${fpAR7sm?O{{H+dy0EK7vrEgwH0W5%2m1_K zI!97$^K-OyP3dUXkDLBQHb1P7k^IPVgQ3D+-5MIQ*&#* zhV*elkIaHwsduUCeB#7UO<%OdsR)hjPk#MrY{Fx9Q$WS@M`RjBtf@nC!0s%63%GUp zIRZtp^L+ekyvTI{zvg_3&W_ko8Pg_-ruu2_(@iHB5e=ETO1XXOmgZ!2dtHw-W6|Gv z%!|m^tw~~D3XqET1EaM8>e-tMBj6gwa!Gte|AR;LGK*0ep)5(*ooycIs1AKaDVS+= zf-a0L4WJR76A1OUE1x!?p!wfTg<24ki;^sY?5OJ-ugJW$4JyHSc#~*ZP{K%xRJ)*l#v}odY zHEARW0>3tl(Lo=hH_YTbk`LLO5He#ipWEfWkYMiUb1?IN$lW3Aa074g^pJ;Kn~mnw z5@pRo9oaZ6B-T8q*mY;+TFB+Ra8*v5Q;2ud3YB^%Yw7*IWA zzu!8+H;{pOKLbizwfuIi+Jh@csdI$qgY$$(JO)Y>%!W2WHC9nnf3vp}WVl-zjLISI zQ(v7XDcW~KFgSeo%FK92qi+%4m=tCj5dbA#npDPPtFZruM0Ii+c=pTrMh~nzhW%y^ zk$QD}Sh`*$?ee2I!L})+KL?$Fc>YHZfEbxytj#k?vf`JIrGl@ z*(Pb+yk0}NY@kxE3*&=IS>o#vGUm4aLIUrw6G1L2B>W{SapoJ)>Cno3pFWQ9}n(9V3{Hd>YBcPV=94<;7|u28>~{vwp}Cib|0{8xyta7%|1YB zS-4r+zXxXokmpvKV>f#C%%;JZO@{}fJ3GhYkO%(#Bt@Z^k#me(zSxNv$t(?WH;D5s zM<}uXW{dRQjKm()@4&tapmxt^931aDqo0fVX_u)=ukB1VTC2+DPi>xl*3gb62hX?# zT<2pwlyq;4e~b^lrI8d$f5Wr%fxBuls|jO4xo$?ki|V8cH!VX zT6B}Zdf$caWo!X+J+d<|cWa-UB{(cH0Z=;F4O?@?*XO-tn}m zH!+p~LPS;td7H%V%!qzW+=hTC_{kfQuMOZ6q}ir}coz}FWo}3+BxPX7i%q@BC$r)| zNgjqc95t#6DuCsqb+jg24|b2hw-_W=7oymkvb;=&_Br1Fe1xF)I9zT)@MtK6v#wkM z`)YH^a>QQY_o){d;*f9v&RJX>gX@&5hnvN}!2Q~1M=d^zWK13hu;c?paibPU(%VxW z25%)2b$>lAazx+?*G6{q_Ftn}?a9S%DdErnrAQ84JCJYPBvDD@Qz-k(>SHa$>XVVB zd~82uMA-B~XPlNOWyKS6S5RWwn)(IyfFf<+$wA=^@Y+d7hx*nb+fTc$%^!c>{OV<# z_W#B=B&M0SD^eBD98KGlfy?f>a07)^UOCQ3oe(8nfF9FW-DA`o^_1aI_a@%s)F@9T z>{s6jBV$nAbfF#N{|SndS{F9}P%24oE;LC_>A$ikWM;-wT9zVwN#)zgbDQwIKVB!! z>T+AXGvJ7;g+XN6ikR0Hy3G)wy*X5d2MSX@6=%0XtNME6hv+xpqa#xq)(YHw0Bly)BezaOP6ik~HU-3=aiP;i9$tidT z6cdP}8M91=3LFQ7?A8HxwW2eseTm|cbSSum8X*r^6Rn~5_*VXFKcJ-oO`P^p!7|8r>yTz$W{@639ro|!~)A={=DxkBKJBnmR62<)1C z_0xxY{umWdAP~4yhrE&bEKC5ZhD!f}@wNq{NAT-&=E~^x=iTfTypdj1h?!01p}qP5>8cG-sru zWUr=ZN6|JS9xxNH!OPfHu<;W=o}G;=K!)A*-~uEiF&AsOhqH>i;9GNXtKA~q?i-^n zfg6Tap@>&-_-*=O9XRFl^^sY_qhh*Hty4@m z^f598a8NHadgFEmpKUg7%x1}!|i zL@4&YE9AgvdLSnLl@LCLg3EeT#x;<%RXnUrGWOuB@SH^z3 zFPvpds!RSWY-}5TTuoID7OAXr4E*omv2v2C6W6zx@hNz9JCQY0Lt&Z4k0mWS^|C7W zw=1lAV%41pWIIMV2=V>b<967-mRQ{w=oG;VkSFVUDAk7# zJ9j=P$106~cUI0Ku(tG?ko88SorwkM6SzhQ8vrsC4%G`qE>U$89)GS<-M4BmJ)GEh zM&J5m;tYhslK*5U8AzxDgjSdCXnjB=%3ma+MbaWOii@%9F|{iOLL23!1|MDAa>n;A zqcFe_i-bk-+@<<)-B$I$ak8HBPmKxfNoOlhYIFynHDBw8qFhr+M-IOWXaxDd-t2FI>ko#W;|D$+3?MdASNx2jnWRF zqBB8~Lfo$~O0=xv^f48zb&|3)6W>&9O#aD6_|%TXL0@xIp=aw9;sPelFGC2j0NLI7 ztoSJ7xGq4Ln-E3cY#ekYq_QpYFzzv2o>HjH7s1S}!bEO~XL>#e`|@3bvjNG%-xYU0 zQmAei@x|xiadS4XWDDh)$VMHHw(gZ#&~^-#zLOtEqoZXN&o4bUBnXC8z%ljGhmp^} z&L4W^V5+VW{@6sN0)P^;)X=NIh*B-fbhWM~lv!aMkX(b+#4MDF%o#gdFAr&gX;Lr< z@?l$eLSpB7IGX8ytW^bdxEEhSzo(rSKGXO|q3hRQ#Bh>@tXbU2j5)XFwm*@yaxE7_p|@&rKOdmw4iEmvNi%gO(;xfZu(Qs33_5L+KNHRrh21X zo%X2%s`a`k2qrHdWHbJLor)N}=kzFNhVG_vW25tcBMb%AL_Tp=*kKfhnAMV2i|8R3 zZL;k0g3!GVhw?Sen+(tnyR6Q9gtc_UW~2tH)d=0%0|6vs-)bXTDG`1Ju};}T`&$Vk z=uPn#uF7eD+8Cm>T_60IBk~FgZV&6r_=dDJlIOr!nBm^1vToNy#VW%%=9 z9_+61!^rXIibnY7=>2Sk7IfEi#6)!xW)CmE$EHC&&r^ANm{hZUVyNbw)aAbcuck~y zop7Uvq9woJyCSM;>R{N4f1m?drV3nBQ z*;D#j@A=^52gdwO4W;eegKhG+%<&g5pgB3~!qq9^*3|IU8miCv$(!#Dig z__6>HPvVZ<8r*~Hb`C@om%FwoO^n{Bh@M7xPc*&M64|ag0~lp5{6D;tYO3t(55$H* zs=@-?`KG z$ISoq0&7@Eh$m1v*48?RX%uPW%a(-c-?38s%uPtp6umwg#nC~;^MPrZP&*bU^RLH+ z=-GS=@@r}k`>H6vP}`&PK{IKA70ukr4Xc0~%6b^rGzksWG01`b)$RzRgQtniwRkv^ zrzJMs1HJ`UqZ8cln0qRC4l(r#6 zzMb`OQn0DcxVpqw)u4~e$k6(>;D-8iNFvF;L~^H*q=x$>5T`A438fZ>611u-QEPcl zKqc@?j!R$6k0^~#us+s^lTgqzZ63?(FfaOZXB&e`Ak-XwQ_X!?w>EV1Ehp+zSxlB) zvF@;b$l?dTjFT$GbeIiWtGhTRXCxB@`t)BqDacHKbl!&L+~Psl;Wg!vayKb%9C^at0x0WFa^hg|~~W--pvcZH8{l zF}x2^rnML6)qquz`EnOps)cZdJ_!@rJV`Z!B$L6rCp(^cbKe}O0XaZ}8le(naVbOF zpCb~@;qZOmd{2Y!$Zn90E)^ayT;JG(mXPXuQQt10=pgCA^QS0UMEOhQBvuh`;P9n*CwG z?=v{Ywm~u`q3--?%D8nnBRftIU%K$`%clNg_xW>TXo}PAZN0Z?SLl;IpGc`nANghy znWO>>Tq~41`DH@esHLaA#`D%2!Mzq%Vx_q{>I(IQJ}$8=SKAs`##h@HDV*P|pTqo* z$)kxoQn`uD^KA$l)HOe&;>=KN4?-NsiC=$C7wjy915`LjtK;JMrro5T*J*e*#o*c3 zX29^0onC{jTC&th^PK&gK+|8@#lWdVHH(#Oz;{N*B%1j+cqgyS0G_r%9}`Vbp~Me_ zpv0HVYS!UC>_UqGQ@kl^aY|pv(w7{zrG0avQvJ72XI0LPH?pFGvceirrbB%Tv%c)W z9>2|7)&Rm#atjQq`1G<5P8tZo?Ry{fGOFvwLYa0mCA(pXH!b*F15!#Qx!-1Nz5}Up zJnW~E1?fdAd|qJVM*G;&f!q*QYnGK@5gSunHl+kuJqUynFW;)s zv?Wpb9#_gx#^@xUcHE1-IjItshD8P6_qOH{z?QcoV?6zjl0bPs4aCOzLlc7Fc~#de zST^!uoGB98r{)IKd#a^&9W+~u2w}ICc6?o{QHIwWg}&Nv_Ncs`vefe6tE(wFSN@WR zPKZE%hcvTUszy^4i&4eii9C=G#_S|^TAV&$nBc+&=O^Dv`lXi3feZSqLFLdXwu=fO z19&L+!W4=~DLv%Ui`n!W<4=MtO5|a*Ku_huk&2bo2+Gqg5CO&UP|s~z^8dQ=VY5Dx znz+;ki>{`lRFzKNc*(~OKF%!pxj6HXnj}c)iG!IW5QrDGzBo#Rf+_c%vQ@k0ql8#; z|E&-iln6HPzG+;qQOBPWPa;X+S2YZ)XlWSo$I9?YNC_J=)q&*#`%M9^B7MF%f6p3> zw~jqZmR!It(Ax$}nHwU402mvNX0urS%l zYrXU_S0V3?V&mz?Y;!Ap#qc1V9F#)@-xq7JO7U8;>r=LGGOZWv!zv|U6|zx1FnNWY z1y(QwZh`}q>=C@21XJ|&`7!^8b{dZ81VPN`WIjqW(V&zeIKh zj0lqzcI+pKXeh^%#P`MUqIMAJCSv1Q^V%*;;E4H-L2x*uYD+K*$Nt1GiGah@rZrJX z1WZv8?`B6G(u-2Q_Jj3Dfwlg9G0_0b&~TCcOfeL*`J~2h`t`N;r3N1Eg3J}5xiA9x za|hoxC6{*h9si3&RQFS#q1$Bo_~d4!GVUvZ%ih%HfWs!AJ|IHjG>{cT+!c<5-7@_C zCSMllQM1lYU{4QHjTcCbTwE$9An2R?@J(0ga|0O`(;Syl{+-B>y67fy4 zBpV2jGGNdLqJ+CP8i+=PZ&dp61;bEez-_Fo0n&ZprJ>FB_B?Te^T?9YzRCeFlk%#_ zR2&!|o)rTpitIWMQwI4ysvNi1DI`on$x-q-y$&=fSNX6PKGE$-QVnvBhxG^ab*u=F zH5}+RpPi;ZyX#>~gmh7Fn4$rOax

Lu9--&q-xT-32Q8i2aTi8!H*8;=Dl*s``O{ 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

YqlsY(J{7G2IV8pJll5UT zYmbQFX<>4B#l{gv^Nlw(BdNdez>ZzmaH*&1>@)Sa<-P6AwkdXeVUiwmKu16U4-pv) z@-1@6$nqMT=dGn(+bU9Uz-m0VK6jBw|P%_OBS zbtLv~o2!RBnb#N>%7I277kkS>KF27Ou!upXsI(b2mCPVF<+%&ZSrDo4;iowo;g(Hk zMK(ZMl(J;{nq1&r^ClyC<>Q1h(93fkXT{`w(T_rFH;>jdhmM|&Dqvm!9n0S#FE^$h zuE=x_PK+KHCd9LEedJ=oo0Gks@0aX_zIq9$n0abqy*&vhri8+D#pt7U)0VRr1s<*U z@WC}5h4nMqim}E(_X9V|1JF|<8@VdY3vXe9@CU^%sR+385!{QJkBkWl9Dxd?53(** zz9*%DU|zT#W4;x@b-Nc&j#0w}CMvk9rq0U*x2pd;9yF{j`3D1Cuiy#5^ftHKL>|J{ ztCv;TRDFyt4GhNzt-SR)HfUY^Q;?2m-MjBXB{V3UK_}%>5(KT_a5Y z`2q6#XW(8>PC9C(DGXJ3&q8THO^crU=j_uXYmYL=vfoqct_%ZOTX%P8W%96u3Ws^w zXjBsQ3QiCC{pV3h>a}3BprM}QcXpJo4m)E=Y0*m|^Ln2 zx%t={UrcuxGExu{5E8y#Nv(DPT_aPYWX{ZX45Az}MjOKyRWFnQ3=7x%t8XU&mhgEK z!+O!fh2s_E&GL?ljcow0&*G4jw*fAsq5VMke4zbeE(Ybv z0kqK5tBj~EPO9iz6+ieNKW(0fy@ceI_5$~?q+Y)ge#)r{Lenx{l!R8wg79LW+M|>! zamJi*xKW$6Bul3wrDSB_Xjv)0wonQQnCPvbSwhA+j^b0rku~F;eYNhp8|acBb+cpf9y>>8|(+VqZdzUf@2BZWSiS&L{(7>>*3H zKgo^WgcH*r;`T%J3&HqI)Oi08s1FnRiJ(gpbrw@&CUu0?XweWH-le&qT?~bedARnF z-W%V>B*3kAiNBN6U%3zxzmgk3cqVtD2DCFCVO&aw#>3w9EZ#b_eF@0HYeOP#jr%@- zj25nI!UqkEw}#k&_xWu~0{Jz`W9RE{ZH=17~MH5FIKN^*+=g`_SrdbN*me{Y^YNdyxZnaM z3b1rea^o!OBqzY`J}mPIWLJi^rlqg|abr13Wj>NT>r#QJOl=#OUj^D9owdp_;;<3A z+UIZ1iOuHE^2*JNhwL;LQRdbG#Bm3eGqJ3lnuf_KE@f_1euUbTPQx~BPmJHQ- ztE`EHai1e*l<<`Eo+)YrVe2ApG!d!=&qBZ~5dXU(~!jCliO zscgmL$PmhU3h@$o!MoYN%?nwPWOCnD7YvF2WoNJLS7|u)H;<8p98fh_Z4?SbZ^O&| zkZiLjm2Z-kZ)>Q~lD;V2-FWAC4#N$|%N+{V{6zS!1%)U=yalrR6qwM*od?)NUBqHC z@CM%8^bReu29jqF?Qy7`{+W_0jnKBM3SS4?VB?s~*{k7L5bOLC+pp&re70b}=^7d@ zmYI6v(aZ6dmLqTS#JaZEAtsyI6bsCcYowazbF%msswF*G@UTtfcUO{zqh#!-CQ-pahv(q6V2dRuLvJ{TMw z$v!g=1!Y3nw%u>>Cpud>0;^@LxZ))u;*eJkOtssa`Y_ck${o*nstqqb8n?813orQ( zFl--ny#S6lt`(+y($>!F)*!xBh7ddOq;Q#ibr@R9LMarPSV8-%w96-C|Mjh6%>fU;x6E$}FKJm}bXb#^!>7YPP*glTD4$v6p(yi?{z9@f)!X6keyjv4I+s80~V!C zwX%v7aPo4dl@wqPBC&q~xIO*I=~Oh^K2z!i`$Y~$=|G*j;2Kc8y>I3k7fNw4_r$1v zAmE6w*lX6))UdZeAw^WV#%#-U%z*`18=QM*^0r!;NFOF)^j(;~fk|r#IB&WWf|UBl zjzeS5)*;e7Uca3f54Zz1|C4E1gY)+9? zq!bbUkM}S*r;IF-1^pvuSXe-pNeRm%XvpQ3mCbvmts^IKTOuFl$oyC#H#E6!>Ml-0 z?TT0-W1Z{hQ*QsXS>sSnI#$JU7m0f?8@|_)pSiB>YNFU>w2B~~Rdo8VaYy*vm;@d2 z+AdabABqX}wx>4rZJVjCt$zI1(sfQwfQ2j92-f^EF8&BA)?U_=B%Nc!4WeTs%x0to8CVC& z=xHZo`1xr6E1?^gB4xu&c*^*Q+R<9BVsb6t3WtdfRnn69HasStXG~*M9K(A5Jk;)? z23n;a1N0KxKI^&{sEw|>3Oco_#0RhD52ZaogO_QAFYN#8=qToHWu0-P+b-dwL$TpD(A(GXz<@A)&%k#3_NmqZijKJ>4j#NN;I$HTx)*8!TT(5jy(yHa4# z9BU}$7ij|P#icsJe=4M6fBfXLcgYrd>;jRYez!{(J?ju-IgJ=-QSg}i#cB?&X}Kx8 z2b>LZKu#?DWXVy&+YBpts2tS#BNB4-n_~DPSMvDmTjnmU%`m~+{gF(kXfxXBc46xV%Zj!zW6LBv-8Jy3{X%TXk{! ztI~dR)e~>s@4=>Gu!e+GVznqA+Y~-oV`!s5!byRHe?}(H1;9r?@*HK=Ub>iv_>H=i zZD|?u{Q=p6s{b4m=p~J=)@~ReDy|#|;a9Ou+d4Bo(&CjC;n@ftd3;N1Jb$xRH6Hs} zbGiDM#l&wh38)2eS@*w{!SCT%__>AHXSfcEq8}uF>Y#UE*8tigvsP$ve>;8X! zUkzCG;LvE9<7^yxbh#+X`o? zgk(hOcBRHap8pD;h*}zJt~9rCI0{#RP42>nf>jCPn;bI+OeI|h-0Oct9>vIc+xixa z-MXx^M~{j1mRB$zJOIKQ^;BmEdDxg)MMZUx7~IkLD{G?42&-M}1f^D)^)~Fm^rF#z z93^X?(sUH}&j9;XY0uxbJqO|y3jm>QWk`OI852I8S+|x2(jEU}?UhYkqv!QXx>-P2 zJ{jVn_Tj{?#~#y@%m`g;)#6=v@k}rp_PJB3sI?SmHe%sPdTq8E%yPP_fr1ZK?%S~` zQk;v0vOHtB2{l8yurNj%Z~ZhbtmChJ z9HME{%qqAZNZR9ZZNLweO9EcJXBx>})#wT0i~Jm~;riOcZMjq6I+Jz!KuMtFd;dzc zTLUEuWL!FGZ=oqp)FMpmmq>JYds(zpb>ThZq2pIf>JUS_M9})*`4m18WaBT)&zr?j zAY#vosSZ~RxzS27lk7tpHu?C ztgzy3k?zA=hR5-7NBz{yikwXMl)SMxh z<31NOfyMj@+pcYfTKZ;YJ>ZH9yWP{Y+&$=Y&Jz<6enmYOUWUVrp6jN7{8X%_)!qx|tJDhjv}-Fi#Gs`n&_QA}zeAQvojF{KKZVAX6ZZY5llz}8Gm@QS;Y zm+XooJ;L^UM|j`WL*}jN6v3+v!0;AIV$L`3)683XIj#@v{wSM}NbNt=$}yFbOgyJl z*FrGs@&9nXTO5yZqJvO{N9je|2OUUY%uHr?mgjv^9f;}DvbpD>FH=Gu;{_Q*8B++? zhJ4V;_0S3RWOkI%xFLv=avxh>%hq3SSZe0&K`_IPv5p*4*31!n1g!Q|chGF^@@ZIi z;rL|$An+Ho_atMH&o(0;{HIErBn0un{gEH z3pPVN-wPQJ#qiS~J{JxMD8NXOoo8l&<7CuvxU6Xw>}5iv`%tQPF7{A}Fi@>~v-9To z^jzR|4qkRw9PzD;#xcm%)++*rfhxE`88`lVe1g+99+YKVMZ-q8pI0y4YKA6Vg6lj7 ze)AP2v$*~9_Oqb9Pw|wX^_>J~HZi0&G}`kHWB^ zurhDR{D)|l%B}boXkzCPc#5Se0QL{kMk5wa<53R`dnuNAm01Hc%o7mR@7vkbXO(Qd z^DhLij-Euk$7yEJzOVtkSId*JHUm>K**4iSeD+QKyT;9FfTU4&nvhi$MNx;XgOB88 zM!uvU!*xo=Op$}-izBipjzW0}>j_lnp8iNF8Kq@w9pG6hNAH+Pm;QTiIqyT3qplXf|p6Fr+| z_rZ+=nKWCre447|?UIGwtM<~tVU=?WUNJf`w(zhap;ftbztqqiI~n%Z(M;G!vr$hgT>gj7s{f!Zgk;L1S&`2)Jt1)GDr9y^ zsblp*-$1K`AlVxAai!fe-!>Rp1@vswqk|WVMS=+fBV4pWNP6<}3Tvt#5^Vwh8glGW zB%5q79&jn0fOAPV83xULCCrZF=7-;tB~q0AHjihUgo|=*Zn}si>4FuCJJFGydEHBE z(bh!{yGtR&z~wTZu-3!J5E^tzh8B*d2_hvy6`WOn5Ic-~bJR&_T}uhny39?1D=gt1 zw>Yd0f(oI(JH(%QSR(sC#zwKX@y;hXb~a0OzsI9l$&yq-pX^ZB2OAY&e&FY+1JA7E z1grsy;6Z74+~d=K;J`gLJ9atzL`CpAH=U#DE5Ja6t8v2)TK<|Jb;lL%PzR{B( zvgID8(%m92H@fTWVu0m$oau)@z>$&A6eC%5^zxc6yKuh^>Y>!EWRzJMFjw2T+0ro!Yo) zF1a$;zko0@UY9u6dhegAR~-2Hv@8|&EsH!CC^+giqwvNZ@L;}+RUeS$^wzw}RwtA_ zsmswKZ@CYPQb?Syl8e z;{f06mFWu+=`NMg5=>`iq>xjo>e;t=uZc~vf_ASyyJ|Oel6#1(lrru#;}u%~j=)dy zS|XZ!E3Tou^gfEY1lYs1}< zOSrEHLv)|UqzUI7nE(x{bj^MX@YF5c#w7bzAk!Zj723r*-ntYWWBn z$|+RaTUKfR^=KpqWoFd$U738~SyvQ_DXaj(>xz|6i|O9B@ATPfhRk@a{{y8Odm~xm zeGOhH>;{|;fo4)udv3bvPRT=Fj7I;dNm4y5(0kLk`i{XS6Q6W3Yh_z^eb*QNb+u!@ z>`#sx{J7*MQ^D`^+#z{H*<=d3qcsS@CimHqy~;v_j=ZET#}dZ4sI=A}#dIR)z| z1=dMpkkHuWR+&Qf2>>Vx_^Vl6ML{^WZMDOJx`Fg~&oIM9wmwNcv?W5ZuZvYQopb4y z>K~*@Yqc!A(DOxa0GUZ(M)EoLGiDvlh05SRp{Q>rrRJd^Tzg11+Hb^lOHy`&&m1k8 zi3`z94qP_tTlL!D*!)2eTTZ)3!rh1#--5X&<%uArjkng0$V`H-t`+B6%` zia}#iu=~PLSv2T&``H3b-O(Buerp(Y9h}5TJvjz2+ zuOb{W*<83>pSc1wE?7iB=PhZasDEff=1=d?kJ+o4p{$~Q{*0GkJM`#MV0muDcXiOU zZ8%bJrv(M}LQVxO{bZR={5rHaSBHwCNrpSm1tzRQjwz&9sipVwa$M$f>f%lkpg~w3 zJePsMBR}m$1*^II0ewzyGUs|+7b^T=uO?89$oz%$h|*yM0!2aXfrPTTBOGd-OU`ENx}7!7 zkhHjA=z5wcEfG%!y0V=Bi*=bnEt)WuN@91HQAkERTQTrK_{|M(FB{5aCRq65u6m_+ zaejd6&A@c{Qr}2Jdj`-X;e!KAj&2I34Mdvl88iv=3<3q|>?&H6$V9|lCuVhg>$m7$hqn>{XuxnHAJCZA<)ZFJj1-Sj;D^Y_dQvualoJ9p8bG?Ihe zTwp}U+Twvb{1L(}z_44PR(G>nv>mFVQ5qNqZO2$H{IU4sCTlu%KS)-`Xcn|OX5`m$ z7v-A>1mA3?u}XT-ls<1VLbnF|c1apou7K{Jd|8x;@Nr}*vu!^E=~=9Yi^#y`z@cog z=`QPPE+42JsWioyu$0s^0XnG2>LQM~rsKmeIcj#v^+?H+sgNbjcImHQE%;DB6 zKsoo|Oq~WQWvL`mMTEi;@IL|18-qFuN00r^rP_iM26Cnn8*sMGE7xOK_SfeaiYxPz zL)}HZkpYXDFQj{>Gj7kMPnaPF&@htHp#kAmL<*@D7-TV`bz3DSItc8Pt1VqrL2=TC zGh<;h(l~wZ>KF^1Yl|ZghKbA9NX0-aqW1Bu8h)GdP#Y~Ey^A6u5DYnr`8-TCC`sz` zo^j8m2#tNwVIeKw)iAOsYMrY)$Kq*Kw^0?z=}yESRK1G2%avj5LUvk?{}q2~O!L&c zPwO%)!G|eV`^{7yzIHTt zH?Q53iiBMwPSRwhaLh4S<-Pb9X9PFD$A*A7X*uR*T3Jw_E%&C%kPd1d`PG5nl!AJ{ z9_eD97at27m|lZrx2|X%)MJlqC#Mv~3=L!D{i7e!>ovps=Q@Lcj-`8=>`@XPJD zixU$?k?ur~_uMj|d-(hOk5>(6J#sT*Pf6mRttUupgwV<^4a7W^N{)h65TJC`=z+)S<3C>0&jg>YW^ z9=j^4Hd(f=xbQ+1)4rPEslG1+;H(o_RauWI&cX~L-xCk&Zy^=IU%_AXJ+*TUhAliI zSpLgjlTcsQ{}<+}BJN?!nuiN$T%A;5`7ujU zs)35o?ydU~ZQ9r&VuKE;_PgwP7q&a$Yums z$T#JYNnUzLC_3&8^_jGFZ{!wnzv>}Oh{3wtIT-sT_Ahn(7Ku~jTp&BIqfs_ZGY>cb z@dP`nLn38v3sak4$r7_<)NJ!zjJ3%%PN6_nfr(TWo;;^^EttpCj;9nt1J7r8qZHz> zZN=>p4##INM^iQtz8rkR3TN(Fv%BfOYAms5=`Y=wgaf}T8K;DK#RN`r0pg7*fu)O> zO}^Oh$aVQDCPSH~6-V>`LelqG#`U%s~Z!82W&wByVIbEE&v42&CW)2`8T-}Yeq-itn z`hT{E1AF*w<`Go4&qq;D*f%^m#T79{J27;tbQ9ndN6-9+d0W53Wf?A&EIIIz&=T;l z!;AkC^1JA{{8cILtvf_`>gq=S360U)#}maKqM0-~;kDb9&`0U4gpbY=^78SdBVpU# zOi_ARFVy3LsdACXI(-3oM~Cu!F>uhc6DZ6&O)A*fifuSQZx1jV5rMhr5>%ZnXKj&E zOw>L&ZA&+r)*;jarV{h#*b_JFP(CIt{UTa(h8J~4cz7NFOd?+X?f`pJiXl9-QO@`l z8Xjf5=0aVUd=#WtAz@ZGe?3XCB% zQ1HHHC@ep)r`!nuwVFU8a)TpOWip{2=Zid+n>~7Py0nG8+mGiTOrSUD0wTW2>7HfW71$-BHk(^fO+Y&%UaitKVb>=?ysf>Qhu9+u!4THp3 z|I?%)r~EQf>ngG{k?94_3?1KVe;Ji+m{Y#|$y`?M)_Po+F}m;2z(x{T$eswmNrzqQ zh#fIn z?q0ghRZ9+klgGM+&WLx5g){uKAyv8Dw5_wPGBwW)++DjZ-Qkw8zVttMzGAIy0I>oh zg!m`WIykv&@b$?Np{AjbDuj|qZ7EIVc>{@(&Rc)=)m(CfYmbtwlDO2WI?}^pcWa%0 z4aD(2kb-jP+^RA9uos3(#_##<+u6D$18SX6CP66uM16g99hO_3<-?g} z)Q+?2s2s^SitH!b)=RMG2D7gUY1egMlaLy2LekCgfKQgI&LwST5i#nrEJ^d1g;Dxc z0utfy|o|t=H zmKPOwmnEvBzkQCXo*%4I-!vcuej&x^$EXrWBhO;DU5zKpsaR;SdsN%C^+7tsj@6;&k)+m{7FC zg@h}CmTb~cw~wqT)1zdwj6A-*pz8FURTS_wiNLkFtagsl6YophsC8DoY-~_!f0c^_ z;GUTTcz;eP>vWoW!!w7E3_4>=6hcUkYY6LpCRo9IOs*nkT#+DNnjLfGPV1%Mc^&XV zN!KH-?_O^3317u%)g;YnK&^+?V<@c)h@x8`VCe9SYkJpx7Q_Ex`5O^Hc8+a9AwDi{ zu9BuME7!oMisJNUDL3D2LFDqJ1bi@OWjS@{esSxhyi;RM>@2C&)y=3Jr$&Q*>5Zo$ z&~Nwco8i>)t?dL=ujVR$BFf?@6i*<^%|#2~h9g{*(ID&4fvK`T@N0o~7(r{f1!P&_ zU)@HxKkD){S{E;seiS-A6=;E1E0pqZ6!9`p9Ap+G>$1xfI^V>ra((y22des?@JN8U5G8W&{1<2ytM9@<#)%rv+%X|iTlMP9y{rACS85u|`bJK#IX96YCBKVPmd4X@129G`dBmVb39ic4L zx|IxCC}J}xG1mzyfJGHn2+*@F;rt~GA?ggu3ga~jVa@3WWQryjyv{*B%UaXFUAvFQ0+$&hn1VzL;?3w1-jav%yy_f zG2%K4>X3&_o{dK00h>8M@!~}%9&e|4SVXl(crx&^^1;c75L9Ku@P9Sr@wx+kBFL8` zJ$vCsWG+t}GlppfK7ZtoH|9opQ;?9ffhhr5`6EMUz+ zN40A?s5rvPz18STUTxNe-j_>#S7pZhlhWdB&Mez~ZZs~*T$zMcGLB4jl2g*2(kBjHuKVhjQ5y985csu;ONMWb2J;-_ImiVaa3Tq?mGV-QW0fd$@Q{OeO z)<+*e>XJn8L5)2Zg4J*J4DHKs)qpx`=>GAtBE^MG)Wr3ofRa62Xv(7gw~6q ze+(acugE2jZFhMS5;y8cEKOHp0Rtimn{N2mRxXAoWn&I2*$v)0Nym+oF_P$vL;Q5i z832RMAZ#iNV%YqI()0_KUl}r6(eE2?u$N=E<8m%7ABC-w169P`%MPwYU(+2A@<2v+ z)tJ6WmZvn%KlbncA~v_4xg73+bK1wbePpX5$nj`NH5{IExXq*!Y-Cu1lGkv=&(|WT z4%BsOX!9ysuK`DR{I_h?x1kaD{2;2GM({|P6N~);e=MWM8KxbF<{tMywXR}OI6^T2ajHFhgVEO!wWCcgc7TTrbAt>Q zN^khIP>}TVjy+A@a@V9r>6M!o$QT`$!wqtcib+w)A^oBTa798#NG~JjE+(e)mBr0@ z|GV{4hfxT@cPgkoxh&2dVpGg}15k@09p)>nv@d3hcW3nRw$=xjw3f;u{qhAYulcj+ z!HkNxLeYA~Em#nl7w$N&TLzLK@;KPEK;DnB=mSLl)VC={s1K4zU>NxV==97XB%leu z;|yOj30B667K=Dg(3oVmn;G_L!FSUnEp@HR7{S7tKwA@e6AA9HyYoQkh6-Ms zk`UYUrV3!Y<8|Cp<9R0B zfuEL1-d5FHo=N&d_@Gh|B7FwIOXQAh2IfY|@@O1r-2ws~wUgPpsc z#Fwl3xUdmu`6^39SDsqV^sumxAAfoT46P57SbJH6V0I2U8%>^5uzf)dQkQ!=lyVAL z5gZ_?7ChVi6CnYS`kP!Md`7@Y^DMU`?f#bhte^>=1Sxz`xW+gb+*t?_hX9~53<2e& zX*U1?BiH3mlDuqAP9)FufSqHrd$57HM8#tuTYe;#o8qr8@QICVx-LoL9u2-hA7HWJ znvVGd$f`L0CrpkwbE)*E?07XUf*eg;Z zEoxHiG=>H=Amgr1s)LJaw{gD@QI{CgCmEp}lwgCIS*{i#ShV)8R#StY_4_kUI z6yp!nNI1?NAJpf*QP?IC2Afs#;J#@BLlB(`RKwzHrMu17R!WQU2@wdQ>^Idc)L?El z0c!@5k9O?G45Xd%6v@M>ajO$il0fqx+eES#v^b&e!FkX>VG#>#dmc7Cbx*(w#bN-O zOdBto@gCxoR1iWF3`AM8FKY;$;?0p;r2YuedPNbJ6kOe29iR3+?2&7-K5NBiyZ;|iG^oR7 zSL<3HXTX@m^y15Rx&V&mS#~JiuXlJ;S%vMg@O_hYM`=;w_ks)TTF`!H>KE!^@N;-U7CkEOm&0vY95nM*W!+%x@}<)BW#|C{yl` zauNQT2!`b5mE@g@&bmP>DMh!GW&rY{PyjCSkM@J!20u=FGm*ro7U*+RMXRZWYnz?f z-v06Se5n(QSJ@D{Eob;f82tml?LerPUJ$uhzJq|sg5CDCgB(61WJG*COJ=D_^6EbGT+gV-k@J9zY(gXAj>#6 z%Q!Fs5V_I*gr-ot{g&A;6KRymsGFR;G!{N|5z=h* zutxZ_rqc~iYr;QU+mcC1JPI%yk`J;pRDL|>{ym3ICt5`Pkcy5v71R7F=JM@@-HLPH z6i?I7(DTMjiATsce>MQjI@nW^q;KF_;ffLZ{6=r6om5yvzQ&o(tQ_Fqk7NF;r zpVbHu>9Z4%huXZFcP^a|Vdmq!(f~LEtsgrStMlv7wb0G*8t`h0^6MvHm5HGj(MB8}%oAWb%q@!Xkb<+?K4#i^ZK~pY7Y9Gau`_BU#W4k_^J-f7 zWegqWWu~kcCxc9%DhN$)+G7d({xy5ejqb|SNA3M&2W>~Pux=o3jyf4INFY8ta^898 z+rS`Wd<5CC8o;R%3efKUxFAm3UybGST3U-g!?` z*6S)3;7M$W&I_~V*0bwA*|ky__bqZ-v7I^C@-aam_1~4OHcBP>Hn?0%H)1IJpZiQ) zc<}U@a~|Sd$UWqo(p=@tD3?_}1zpsWyga7LtX(;j68zhN5By0TDz$R5Ejk%XW8rC( z7RgPzHRNw}l$ZE>M3(u`mMAyAVRer8L$B&a%^KY?;s|nU`xJe+Aq>*wuKEur0`$#^ zHVemMgwDv{RB3-vgQGNGziCJ)cxdq~bWn`u2M(^!UW@aDFu`Pe>}n1c}n;skX+E-Q`_?K3ZNzZme8z|aL#UE3RSo2gAR}hXT9ngjeZIEk3 z-T0KmF{uZ20*5fEfvxOb@s(SaM=qJtq#%_`i6!;8^TS1#GE_FiJ!R1$E{K7u%;N-P zE_4xu2^fmyc3cM#-Yu(z19PPjn68b9;YBJ-e${0`cNwNmeoft}2H@D?nqm;&Gz2As8K6pAJhsgFUFCeDy80 zjyHGer(E)oP`OPGM3U6rcv!h4F@furd)Ezip5WE@#fRW(zT%xaVN0eA^+pz8OyW$r z)_M(~R%Vz-=J>McyltW137cBcM<1!EF?Q8d_F8>vi;SnX8jslfB*0KimN+d{5kyHU z5h+U`&7udsx4^!^?%@oOu7RTq-g(>kVF;P#E6CroPJxa_L{y{nW2mBM{hXZ&R3F1Q zZgWQnQ9%4HEI6!u*0Y=a<}BcvXnrn^_{Z_eVon)TKsn)Xu+3^527n)}%1d8h*X(<5 z%B<&ck5aRD_to1DW6O@S_(&=DIWUOTfV5CxFM@QMdrzNwR2~9ZLz0y0Pf}Imm|Z)& zer$RgHwn-$Y9_O2)3gb`s1CwkDG?u*>Kr4rL2UgwnpI70@@`lbW z!WXZ*;~)aN`4)KBp^_8*@1u%V+lCp4n%tDp23xtcT)8@5xH8rJ?23m4dk-h+4KfVS zAFV^m*HQE z2)E0a!ggk(^r3Nx4~(B~8>9)AUgD;S_MB)^r(*ayf&e<$qu_JL-7AS}sY>c*&o~n5 zgdJz}&mE)Rf_bHGde_!gGi?RFeaJXe>)K*^cLj7q^R={;)3LF;XvS-B4Wg!8;NpnG z_Yl&Z@F|-y3%g2x{em%i>EKutSx34d)ARd44Oq4Bn?v1d>10MvW+-Vpq# z`)e#-;!be4E9Hs7A^O#$DHB@cgePeQC>Ccv|63FR9d_i3v6QDE0imC^})S$eO1G?(6x3pc|vphGCSzVD>Gs zJ~m{o5slppFCx68vJ_stNYx5D4@{#-`qgZ9SUfR^1MlwRnKjK)@+OP%^w!l@uGFXH_N1kHh3Uwh+Bd^8XF6OA?*wDZ(zV&fsW94qRBes}J`Tz0YFL)0 zNkv3v2Xs*k_~xkk8$5!#RtYBD0O9zdXhY|ClI)G>?0t3PuruOe>V=8u5fhX+hOeQEFWq4s|a)2~(a zkU2{TCT*a!v3^~j?~EIq?vEK&jFtsNiii(MiM4_?74{VhYh}7*#-RR}__Ey0$73if zI|G!3C1KY<*$;eAfjBk$+9Hs(9x~qTZ()}U5b>QyyQ4j)|nm> zm^M=7TEqbnb%uc~J;wkYM-)&8fnxW`eSHH7*>m2wxLwN6{8a$I_J2s|$9$fKsvI{S zza&&Mpiw|mrSDyefchQtW_fWSq#j?PD5Dn=8Mo78B|!cgG8>r$)l3U6ttSL@@3bjh z`X%+h1$|GM7+APO^;bl_-;VFHMgxg&z5vayhTe6o!c0r=R?kEaqAwH8p6833c+nFr z^H0wBS3gAJZ7zq!qo#YFpU0>nEo0JGB-REUu^U%HflQxClUtxIs&&+49IEfx*Pr^9 zD)rX7gD9sM%c@th)vaoczN`M-iz>8l3n)YSt(;?kKD$Wd$><1M{~weQZ!h`|lh4s1 z?Tt~}pdB#|jyDwf8S9U3%lRy24s53Zel%q^+yIe-t=-Cu#M+Ksgg^! z@Ved>%6ZT2xq?>&id0V6v{B>^RlZZs7B*e9aQUc*pAPM^vyqD+hE-^{=Q;vNI=&Ou z0yw^BUtdZvH5q9}gHgMSBzI!bqQ5Qt8nrMezB&i9F>&?GV|+MPUJy&Fg)c9KaD!XrfMH&m>Rt`Y?ZO9ATNr$g0x?2OBZQw&$@0O00x z&Tc#yZ9+aazpt~UM#C=LPOc$u_nS}6`?!D3hpGjS<|Z$o$~2^ zTF^gwDwQ-pNb$|M9Qo}GDmvIsKj9WwHss?nlXarNr48UD`Wbt^;i9)oSuAUt08gqN z+erX*Q{j;%W}?Ce-=*VJex~K<|rBEaDmx5<{5x{UUk~l zw>x!%1#R>JF*`%s0fj3E+vqz+`FEH^hdeOx53m19( zLZ z_j}jxDiyimUZLKP0;6;JStr+MTbIh<+2dogbJ=tK%$siixR)ln&4HM{(e)4uJQ*Z5Z8S(u zKc%{vtfyT48l%7=Pk_$s%NRcZ(1cDhew09~r3c0iixi9~Z;B3nI5YH!>E!c#uIJTg z*gm6rVqN+1fnn>n^%7ezpi2AvTa0Uw_mgQ1{&Z746^s6`$SGVK6AjVpApb?mPQ&XQ z16@_(gTlz{BAf84+)K`=hD%8w$SZEZ?*MVFqpU9Dhnvlr97uIIOcRl0DyD`peQwp_4vpB31i=l9 za;O}=qct{Q5aml6^&irb2$Ij7p#Mc#Cy}fr2)0nGIrhx^broHOlJ)xEB(ll<@b9B? zUXQV?=9>JZx?ZiwgFceEBnKPN5O!MfK+;))`?(ich<3iH zoeg8=ozqNwtu15=E|v$CTf+(Y8Zis;ZWZ96QeZp9oukxSv&Q69SI^Y%NV{a+E4k1H zAOveRReNY*;R>@wsIB zdY}Zo9^4K8X2dt#d{o- z^u!2=MG8w{xTl^aIoZ!-{D?Zmv%q&v3r41%7<#eaHsz7f@ykh@7|=1 z1zFu87-3!pOebCz4fyAr#_QtBBq0br_ZOyTb#A@#%UwT`dwQp;?>lZBAIT}_!F!)=jv3dF1n&P@|3l^+?s30mt>HcZDfz`Z3uuNw%` zd1rRS(EPvY8Uwdm6)NviHUigZo##p3ExjPTx#bEcxj=dc&&pCGE!XQ!uee0zARz{{ zp#%~q!Bq3U&j=bvbIp+YV=3sp8z?LJtah##76`*tc9Vm}0pMlb%H|U0nj#D_Ta9$4 zv=Et-1dXT16U22CiIdjQP9jSLf7PGi#=Q1_?EkVyUtyak=;k}j&*rGrf@(S!OIgX8 zMrsFyZ^!5|92S7Dk|Tgd8cveVBF3;IP?VfC0tbFy<0UpyGr;sxTZ!$wGt}bg@rFvV49|1q58OcMIt#s7XG`)*^Mmx$GS9WDl#r-ymrawzB zyc(Nx74BLm7f$>gq>OJ43nJzh-GzWfRTAO{mlU~t;PyCLfVqZ=nzp8*mz26yNP^JB zX)IXVfidY^hFEEhbXPlAc>5$?zpQA2NA!X@rAH|x4UH5}kYvjL8;gNa7sCL~Y~lx1 zVX--r;h)BpPUirQ!o|1IAjaxr|M`q;DQcZ1dRrC2D1WA+(C9u3fSRug3el(b63(~&w z(~PvMXRfM6S)ddzkdot}NOcQ!N`r}*FPr7@T6d}W>BbQiIc2V#>4M-A!kF7-V*t-6&UYu4u z^i3gTiw{FX-1vY2E`` z^$3VmZnVnFKAHhQTmF#^aZ6dA@@Gx#@uXq`eb|(4$r>8*%(Z@ID7N(}#N=aOQo_MDbX%(b`m0*Mt;I_%@6t?C^K(4qu*F*~q zUkTmt3bJNZm!a(uM6p0>DtTnONem)Z3+G#tI zkv3hL90X_c2q(CgfVO9MaHF@&K4Az}Zc{TnzKSZk4S8UW@vG0|;HTw);)CeDpRtt1 zuQ!IWZ(qOC}b;^=d3gmj@!xY;fO%Ws8socu>^o$p6 z?F}*%p|KmAp3E|s#*OvR@&62%Go@9pA2N03osgHzbdS`Kxrp;GS{QXjeHD0mTU?lW zxRl-0?=sjg;`4+gi=O(Xww$%N$bKp;J|Dx)NZH7vAgDX~E;d9T{>Upx1qKt&P_AId zp1tSxpljR5O&~F`0a16DZGIwF4V0G;*AIa!u3_}rX1#CApd7uE?jXZE=RiHN5Bk#$ z;3QeE%fc`MlTW_44z}4an~bqnn@h-J=^x zIb=7c5`pYFD3NdL|3Dhn#EVgDzXRjJ@gOWTWir^G3&mra3qL0mpG3~>NFDLsI7 zsf>m}1G#kbGL*JJeU!sh=<) zAE>Yzf2K8_iu+p|2Ps499NJ_l4#;p3M0wiLoGW`kT{E^t$mW{Khumi$UF1&rpHum(W5b;0G+N!ihSti4VJ zqu4$qTC#kg50#(GjN&ikk=%5R;EaMf_pST93q~XdL&M43qA)aHNU0!%l%E}=cyp)Y z5do%8QJH1IaR@bdysX_;NBaWw48{_nIHzVf*puL0LVK3x)!cZh_B*xpszfttbagOh z)b!U@ZsPlk(G3B$ygPP=oIcxIT(5Yp2W(JA7$~T}!EHCoJmftWth4J`y9WK;smgPY z|1eBW7C=_*gqC%g3+rf1aZ3tlU!&na2x%GJoY?^yED}}tOEkRjB7axwk>nQfmFE1r zuw&N3v&#q7+FRPO=e=UR#Zelolv`D)Y^@l!5WT|S;eFUwaHN5iZxorO`(i-iO`)G` zHj3=|RYiv~FxFd!LbZC5lGSH@8U%v_$A#bru(-G~mFILZHP|XN&B8;plVTA7JwU?0 zSwW7kOrR8F&yZ!hz%$S3*qK@`Cya+ci(I={F1=%%uK`V8*O`eWb(8Hpu=m2jCm}r- zf^p4#jqNrUSn>LTNFo3_!14RMZV!=dG6H1#&m7?VoBZ4wqteVN^cG))>HyX3>sFT z7g8!5wnEYCGa-&tbhN2MW~CUhR@u(t}H1UtD6esw=|lo z$rTktB2>{MXs21xZ?Yy~0w1csODq=|^QyE?$zpK!`Eo;k)HG`|1gQtAfJm?wx{kDw)DeR03c+Q(TryHL=`84^bB<8to$Q6SRRPO5z`&VP`Q3_ zjg$I0pvN_uR4*Wy5#2QP1NOD*?Abp9Gxo@Eugv?G zmxN*yA-0Jyw>f3za3n~<7B@Db!}$ZY6VQwI1ihPA&R`-S<{uq6Q*>(_Fr}@WhRKF9 z9KAVlF|eo9daE$D*UfFUhVw>(sjE98eM1I+mu#ku z{V-n?H6hmeHYXpf%xB~RR3Nck_5$(G}U9ue+DV!Ct_-Tr9Bu0>UZ z0HIkI0}+1l#EKD7B^Y0j!XcjFw!41wD}tvam?9T_8yrJ2&J_EO9{KQ+=l0$mKLQ=f?a^ek$#?_8^&j{`eq}aEGqdkl*obMYE9we z>4ynXJb{!(@&pe|^I@w?qm_KHz{YDf#3Pa`%@O(_!B|CzB=cYqtH@Uzj-^3|{q|!! z6@{TX%!dneHKxdq?s$WShdckr_x$mCJ=4bC4GD6U z>sj^N?)apVo!VuF3t;1$dPk(9E@psZ*w&lWF@xm`TW5Ps))K;uGVtlm_Hhl3SR>n~ z(;5}9_t_ehwfc@79ff#XwExCZ@L2=16 zbHu6!f|O={l7)1gU>w7-_t0t;97=U%(HZQ{LT}|m@D(tyFmHKGp0PBKjPP{R2tiNl zqW=SG5{zwBQ=mMChGJXLnSfPWcK@B1XT;jcm68unZz* zPo#61OIE1NkWop{y?LH;o9z@4cI$PR%a(pr?ogkXyq;T{vm@=r7Xp|l+`Ma4I zz`hWXs9SL&jDbu(*fMDkWo1!Aq1raoZRnL`jQ3*#_iV|d*6_Sw&)XX_=A|ZoRuRBf!jWDgwDX7 z*-cwy$%q{l(6#>wj&s-_b1u?m`94Lf8CwIAgIpVC4;#S0(^~ znH4Th00tdW0p)0s!rI#-8QZ3X$h89pg=LazS6zp#A${#tOD;s^csUnc0C7=hmQ1aA zAr0I>={3~{XVfsM51`(a5G)FSZ z_3kCB)A0#OHQcJRq(BHr8${@985l%6An0m7p83ukAwQv{)M| zpd_~<0W9)!{*yB5lY#ZRw1_6pEUAWZRdJn=KJ2$2Vf*VOjD&**3tUrX7~d^7x~G^? z#d0(M;KR zva8PNo3XpVQ~>prm>~c{%vuu04D&@%?RT)c@vmgjCndeNa=HOLa3v9GYe=BN(k;~R z+>|hwsl0rH-n>^R5Bhj=RCTWPG8@kG%4eWL3F@r2P40N7IH4hNq$YoZ5w2ZXFZ10D z7S;H_3}Php&LPmGe2HC3k$@O-0Ig8Vj7i>gkI`|I!jkDW=;?Bn0b=n%yqyeZmaE23 zY9wpChYQqhO)+EX69R3ttoNG_vU2dN6gZA<(MBP)erR^lONCA3TqPEf=~WZ%(4}#Y z!g7qIfUsPn%25K(W#_ofHl}?Ty5~e6=3`5z2(=H{JSDA26c#!WrCg9c1x<`V#$x8%7>ZFrH#W@} z+-l2pO^;pRfVr3-&gXWpSEY9ytkXj>I8SM;B!o+6?$^5m;+d{_6p|p(cfc+B_@c0T z;*ZE^)9XB?!^ZwBbnQ@kVGR{WD(Au)_2~|rwbabq5c$`enAgMk7L&q_5^(lNdX6$P z{By$4%9Tnr9jIK2(f}?Dq~!6Ql&N1V3;8ABAHJ_*)*Q(`D;bizMEx_DqP(ZK$=Abb zR-l~*U#9pR2<2AxJ=n*5;=~8dkItG=O7O4LcNZFefLgkFj|Kr^$>;Y#@Zo~?E#KA| zKD5TW^tw-z3tnl_!a=eLZUj;AgO(Ky8Gb~(tu(OW%1bFk6M5-a1r@d&{G>6pxpe%6MovS(nmoFccTVihE%_SDHp+~Kvo$G z>#X@Ofsn7G8~W`bt5zyfXT-4FacbGsiaBe&{@Z;%$TAXo2&At(4UdeGC%-0D~sn3S(*WzaWg{%9vE z%@gwsFnMu*r=wS+^9gP6@xoHN2Bh+CSBMa{=f4avLM@!S*H@Q+f&W-2S2iZO%8LLB4aGCl&Mo^$Ms12tvHtTRt_tlA(R5WxNdwElnMBtRcbKA$+WFi`w+rMu z)!jri`}8_2!fS(C#JMj+QvG9(h_~NkCCP-V>}p4nK-B=@xC4lXrqh5#&lRJ3GT-yB zzo&GZ4GTG(zKrmGj@086J$3nitL!$q3yqra4Z-)9lk|4A_zK#uW#Um_NSyhoH=3wb zed;S(5C}aM>jCpx&4^L1Mp7r|Y1<1T*5$+0IIRDB)h;i5j^ z1fdeYK%2R|RtkDWk4$2}oGWkmMI!*%CM^?(E>m>I2D_rJ{1>Q45-N|*;admV@D;gA zl<|qghw}n1!}%H01}`spgb8kNA%ta|7>wRkf@bA8{(8(vPTeu%umH*x*QT4Flwh+r z>XgTqRi4xtGsY4ktiynguMVI^@3nJ7Ld>5!ISa?3JajLKT?=M%aoZ0+M_Xi%Y>kDV zl@@F~CgQ|B$*Ive@r@GhUKHL%D z!q8$4FmG{#+C+%foW=AqhrEol-0w`{nH!Hm`Raswrl=k4STbA~UgF_rag7L7NF8vJ z2Xf){#)9K_rk&#w!+oB>-Qpsb5||4AsAJAV;uH7k-p`@G=6HC-lew$GOixzL)0zz_E!(yO&(#NmWT69ZPY?Qw20VH<1f z@cCk#c%wIjz~{?|rx7SC>7NK7(QK5$dD^M){8+>HAtLt%m|~ol;D4q*JW(f9gQG29 zmyqWjoSXQbXixDFHmWugEgizkpW`}+W zIcPIA>^1Wsm{`6AG4O8&Gqn6~Kvn%n znKbJ-Jl;F;-?Ovj=}Yin{5j8ull~*H#TZU7D~=+lW1}%ZTN3oRh##l}S^5Q70RK&Z z)T5E2|C7x&y{|r&p#e(@_l1dN$qnV3-K{p&Y#Jq9v2x3~d#&F;5sWNv^L?Do^AJ&J zi^$SH;Q0QhyUmt95Z>|!Z<ObX$M7Z3v9h@zan@ByG3Ol9cx*Fvy)?Z7huSUHEZ5|Px}c@51K58-+*Py zM8cb~p*wYkSPOgz5zH@Ywr8tsMiMm_#g7;Gb>g^nVW>iE)2GP>GR?M~GC99aaCK{o zK;0q9!?p9^$$$YQxzCTzGiBU~Mis68&Mg+4f9De5KlO-Z^rH9KgvCZz(ZgNnxbkL6 zUk5HfoR1_i4-7y{RsnR?4`79_d@eo5;vPjZPNF38EIu$*hlnA)FW9=SSKi4;Gb2eQ zt4^;mf(m+9zKjB+W%d!15DOqbWHb8vR`kk?QFeEd{SsNvHqds>3Fp!LuiK*YW&|*~ zJlK{D=|pZ~iauajQcJvFwK5)&7-1&BmR4Q87)_{>AthI*EBTt8rv&Z7wnD&>7E)Y@ zN*@Sm%fH3k+k{<&Y@Wh?L1pzYP5lA#Pp+UHx_8}}RXt1cn1E_`Yyt;+60ks7FlsCfh>u1r zu6jmNXB#(5ACITeDoY>}z!V9>-^{l8-G>XAp+ifPuk*|7X8d@R8eB1cNqVRZc_Ga< zxIIN~D<0Nr2_RCb?4iLijl_2FWtZL1FP=kh#N?kdqw{1nN=Ha}F>h5Sy-2>2^by+^ z^v8o1&R^(Z6>up>0m(icsx4D{E0g;0$y1CH=ZU`$9Vu1~^HlGfRYKn73f~A@;UJsRdGRTS zqmgln(v21ri#@jGEu&U79L@!T$%u5%tON>g-gBf{o1V0@7N>-I^_vs7R(ZgpNlefk zO2=DvUfqoR6*(v+L6>hq^XGq2~(Jf9QA!IB^d5K{}j~~=RwTIi8tkWFPv#fKdcmDsh3yBYGbPlMo;RO29_#T;U zzfM?hchXs^89m%EPRc|gr{ZtTOy5YZ6 zmN(`5x#R2=sS9bQZ`9wOfJC^jnRfVu=NCfPeRr$w=-StmZ%Q)mH;fY1>%p-|`^WiaLfcmi9tu#-#j^5`(|5X0Qp|1ds{r0)Tp!gfK3!r^m2}z`tQSD-PkuFGx zw1z0-i71SZ(uLvRHMh)UVoNLWZW@?1X(I0cVFtKka&he!(H^x_BJK^;O=UlvH|&wE zP3Te4pA5%6)ERnC&S))LR)4khWMC-eu%ruar5ddg>_7yjZHD~4iV`|BQVBxuVhiC9 zj8wH5oZ>*rZDh?|%(3Kriup}Xpmo4W`|_7q9Jf?nQ~g~67w*tYDb7Hwo_nOqso+#p zS+Z=xS`Wmiq|1fXeB2ZGBpzZGj9_sNWW<0oCzu(@+*MhXlrUzLDx347?lpWsUjD-9 zS@C>woeEszdpRwOiU_5A^;$zcyJ@yYIV8aM4%M53;Wdd>5!C~X`ib$Q5jOF~E%ej1 zJrosB@9t}=Q|U8D&@lekTO!0J-q%AG7YSMYFKYheA)NCVBRRqJavo2gw>2+H)&e$+ zA1@eqp^Pj;Aa{&B_v*@G8N?*{$l+4mz7lNnHk`^Uhvm61K!&kEtXqbVvym5oAqRN( z29P)!g*94jUN!t15uFZj&kAVPB8k5l2Y7BXlMV(!hS>wx%b5=zXFhwSZlCMWYkpEk-wAG=2#qT^hmna`PUK5bPkVU-IMA zPH+v2;=R=8Hlq~%WZBZ@MREa*-Sg^W5fj5m^HNLW&WK#;y*xnk9))~t#e1P7zPop7 zVYgDwTF^GzVY~BV(R}&+1CBBOIA69POgqziVlxUrijBU+qej!7dyZnY4ktq9U6I>4 zLduptmR^prdASLcOz_-66rwMypU;TvRb%e6I=R+XuaW@`M! zfqCzT-ucB!w@4l(%7^`PYkMQ9Qj?pUI#%ZU#kg+1m!#*6XXHPQyMV>D*=O!`BcJcdMq*Y&h+U_;=RsC@3fw%TV8k|YM z(VzMEHnt)@!NG->R!!V4&Y17tgYvJQBP6!rsOPrrZhzmhnEGl#dzYdhVRNq>Sz0}g5~E{K zJHgC6d3-V(`WWItr3y1Uo^cuQlN%>GvJfsdINf44D!MX}#My(tWO>^OYp5*z(xK`4 zTY@IAQ_hOG7MO@0+l=-jVl|zg^Uzz4WnZ5=5DK~ThUfQ?L8dpG4h03?D}7nn&~11n zc+iiw$a3ffG?R{nu@CFC zm=09z#h{;~bs-!qOg$-ADwot2&9Hob0`)Oq9KS5k^oioPw@YdSBR`}t!sZct24D<* zQKx)C>uUg!d&r>$L%ILig_utQ^hj_D2PZt7^+d1B&paYAKeUgxRO%`Kd{MUDPbl(J zp*OL~W{W_wCvNAE;?>Wa{{K^{Vl z3F`!(>>I z+Ad*B9?{%iuD>{;1{i7Fkp;KYBpTF~1QJK7F@bSQ1DP&zHxI|9;XGPnKWpgaln}ks zd&T(*7w;UA;$w%MJ4`9|VaMqB=5=WgwpwlepxAtWQTxe43sKDcwP?Q7j=r@NTNfYNZR-v-Z64ga8MnVSh z?zOxOZ3@;|$|DI(rVVmB-hT}LmLe#6o?R2kFw)=NS-Qo0`czus%qY^`gyaOCegX6U zqtDr6(YR08=adktVKk0KlJ1)$&q^bcBtQ5F8D`$)`XYRn#hsLw$xPLFh(fmX>(XUt z;BXmbomD2EwDVG1lIDn$b-1;)vHI2}p0+52trXqHT>6N8ugXt(TYtbRZ820NuUUUq z2A)be^7=gJo`I&yYBjxyD~y>dO#A+@LFRvax8;7vtdl7-9h| zwl$0k-TMR;w{;!}No~vEiy8C!XUCj`7;?+9wGEd=o}9C+jboTB_qt9H8Ncej3WyR& zg~V0d;BJXm+QsitwkKd|G>+A)8cH#5nH5dA8OFH1?sJS^!F+^YN4I%+1?IKxR>Y5}J%^6aLsw)TUB&{}o6c?H z3tekFu3sQJuRh0rN9tFp$+g@^m`d(z%K-%^;?e$nm@jQ923t=PG8A{q3g&PoXgpJqkX{2+g(E{51Mm<3MbH%l5d`3A8( zPWUla;4j-@=IGS^(JkL%U}jU4u(m8Oz}=@rDXf%P=}^y$)Q|iU*PZ!$mJPk)qS%wi|FRSuOe$eNr%RU-IiQViMX&P#SyJBs zFj+xqHOXm|!DEg>i06Nf@b7$*aqK>Jn85O|#8)7sL}~lsiE*iT37S-YueFovI2T1aF{~QYkGzmx+}X)^`}!WDuGi z!(XSdDNwF&H)(>g>n$7Tpd&^WaGWUfS{i52Lvu6KOd+1tvh2is=2r2VWS z?b%qmrliNp<3Bir9)=Dtu}$+@Q`C`8mp;SD@$j`c3XW-JWZ9yZzZ0eeshJM|!ZKX6 z!#{}X1`&nEPZ~l$nQH`(gW>Y^=gM~Ygk)))a@2vddaZCD>u+hV63E~l1C$kIXm1Bt zdxf{90XAsNc16KIB06gkVNhTFi;umAN|1ec`OL|!qVjt${6nQ;fw^5GP|DKodJ(qt zpuIAi?UYd!>!cnWbLUTn43f|*Mf2sXN8BZ79jTZ)bJ_LT5_R;g4$-onX75E+S8Sg3Q$C35g9Y+ zZKoe&PzO*T%w#7**=;~Jw4u=mpl!gWa+HH83n;*k5>J?18Lt%1U)Db4B(>K6gSXMX zXIEuRE)4YL{f^bBobfHf+dO*Jcc+ddaH#7tLOpb^6UFc)0Aj_27H<-%!ug7FCM+^c zRmd(KW@A1UAjKE-0m?R4N5W)qf+n|_75sr5Gky3o(b3B@92s|#QLvDx+{<&bi#hko zVBzt@iEH&}bTD5h^vr#&Q1e5$m17WT;>tgjXH%?&eAL@Tn;~FRi+8_jy(&`FZ+{p9 z^5IvWxO%q8M|gJp2b;b@D4jEImAWa_OgzF8mD(Z76GHI)F^I=f3u~au?Kgty>ZaVg(i!=5rcrk4yK+A{)>rZ_7cFD%B zn-Dp=wx0`vAb+D?S5}>zR&l~dlwI4D*nI4t#&h#>#Wn^C5g`l`&yG|@&MpgQ-nTX% zU*02AzzQ5W!W*k)pNieUHigTMgtFbu_K zGa9rC2}J?lHwI#X^#AlLxBA9(k!vgOA^=Ppc8e12Ks|zCC0mciFxr5oB@;_e70i&6aUhEnVO;#MLO8CPX6odoUGRq`FmT!KN+^tN3UV z==rrKl8awKnx~q%=CtWRX8_pikTqTL&LNN>^*~YH+y=M*NE9liw_+ltNo&kNpl ziV}*3HQ%y98MQjEncs}f((|y}M1A$Can2%*Oi0;51S`^*Ta4Wjc${iTEy>+V+R17? z*hhcWJrtc^a994CgHONe(ZL+|VD$UmHn2|EPTG!_QzZ&YQIflw0i&VnDb}%WZX?fC zoXo%O-VQJ~k>Wv-pMGx#mT|3<{-zyEate&kV{E{MO+mQWuBR+4r$izf6pO)o$%f6g zKfG3fhNoD2p73#;6-&bF?b}8M&xv^c&A8jqAIQt6K`SOlIIJDiHv9H{7sQP06uAwWz{kvtETGqME zD^k%v)Nss7+CP=^(}DuaG68yWBmlQZrca%f`;sGIb_2De!8A+|98)r-B|*sx^}L9} z!nk|WAP65#5tCce!6k&zNCKid-#Y>D<78Q1NlQ#5YFOJvID2td64l#vXHPv6jb4#6 zQNFKM>};u;y!$#UGLO_KVScCH4;u)Z6#P<>tw&&c^r&(Jl|m&rUk!EWBS(96w8{|0 z%mYRjwPFsxSZ;6PywC-k_r17eeA&Ai24HOVtq#bHW~hpO2j^`JI-kUndod$gzFA;8 zx()MDVJ-t}(&{_O%!ij{fL;S<+P39pe|)dGxD3PXIvsZ%cpnX|5>&RwP=eZuisB0; zWy1SvnvcFD7L;knC6MWUb>dQxNO(4f=m(sw6bPt!<(l0ZaH)LcTi>=hJI_n4cr&b{ z{@|^UwohG-*W66F5IP`nc9&pHp7D?9_gZm_%?&1CTn%a?h?o|_1n$4(3~ka5dn2h7 z{Zvm%y@Kn_8avmkGgy92#feAt!Pdpc5Qc+g((E|m`asth*i|>`NO=*#3@!Y!BA0{R zVBz!bRX^g#hQHV>?A8FirHJjoP^N+(mkFZ-!9_!Ch&wM>%+Ut3!9--18 z=430pP#8pE9mbq@jc+2ZY#E(5`GnIl7JfbX+Hu$(;p4#|%R%N4&RGy4B|<+20P@v5 zgd7|T%@;u<;ePXF#WkiaQY?27M#smopo>XeAI6<*Qqq)pM~6%a#hT|H4OD{0RuoIl zeKSboo?j$ zxSu5Ec&zh`ffphX!odsC%9ud@`gg6CTJWgy*^k)#jIdh|kbiHO5Q=7nu=XPcn!(FE z?8mLQ51An?s`qL+Zq&K zfH0V-6P(gOEX8tO@ul-w*NDCiYdhvch(;YIi22Hxv_LF|Jx(ZFYoI=tuL|MH;Ki2_ zPQlg@lH(bWwb&KDfZLc^{jm1$K;RwsGdfFI%Ur9P+T~>342O6csbaCbM%$hl^M@UI zZJ0CelyEDiO8#-zFs4GPZZx1m%F^0!VCS&sToVNd{*-5=ejMb!!)1h_yocMwXX9Dx zCivHQDm8eTP{ZmS5(i5xdeO9ea2a)fcCV0;`@#rN(W)08b?vKbtFXg#_(vRk9AkIQs9nhUAWaSb<6IZ9bf}>`sfW-JJ%8n7R*{!{s^_8#Q zu;~)wg&!UFG|rGezx<}4PGO*9S~T?U_{RQ&^Kk2>Km)ghsIx7i+#Q6#*MRFdg=Dr( zZ2JL!?yJ|2<#IagGKz5DN@^qK>guN07mIbBsf*#ju$%l@T>p5u$8-$Hfq={wrLQVV z(Zne!7e(O4nX*-=l^n;11OCl~F%%ZWwXb_50%*hPK6K&w-Jq*H$jJ<_zM4vA8>ku@ z={FW~RGn;?<|?=xigwKVyFJXM*U^;R@t1jJ(GC)+IyTGK9X*#%QTOa#I9}~g&o@?# zRQOBu))b&Y{SpsK*sb=oYEA_V7g&Y|?G)F!dm7ip5=DbD1wkd^r;2hW<3sAU+SX#Q zP5>bsn91>2%`yWt2@Zj$;(dnOQTgYQ<-F-duPKl6C zi#({KVr<%o9fsAZvc?rWTuwYV0``^D;@w>G3dLbSLn4+U-tb5|5r85kbBMx3%1}AW z!m3COc2qK*YC~1|&1se@xF3Xdm4xFgUPXUvmORk2I#PtfVLU9ib z@ay4b2MTQ4=FW|Sqj{2|c|G+!wDvdBZR(fQQ^SDke_RU=K%H3IAIDVXUDA1CJGjam zxvP6lA(qU%CrhmjfM%T(>r%w!IrmVJLp=4&XtRGB9U)-!$g_mvl-~pFT!Tpf}{&xoD=C7&(LzY94tX~71vG7uMzMK z?!S~oY-a!K+YY#TVOxMUsuFXh)WqSsL9zic%G>(D)h>s%=^?*bkLO+hDRc0^-0gX* z8lVJkXTuXsM2pezCYZXi-}^2%KSt1w3GUHb`7qH&{zH(@uMjE&#`;Rk=LH=*;&mj7 z_Zm{$o2{x)b4*F4v6H3=gTS2-zeKKtZ~4Hi?Nc0~rcXI53+2H|DIln@U-sNx1m~wq zoVofg0)V-1m+c6diRH!}Ka0qp7-p)!6uY|_h?u4jwP=oN`FmaWm@GE*JI2F^5!X%U4Lvdii zcuMnVEYjucC&(*6UZ?Q5;QVkEcQq+-19tC(8ek17(&4npck-YwIF{YuIrTxJt;XX! z;V{r9qwchq%d>5}o9I!v`72|15$m9kD(R$V7mz}$GHh)g0c5!J@rQ}SN-hyZU5tA~;j z&)I;VqcFUdWuBM`a7)pfD#f%D@kRj5gq+#iih=TPJu^w|JK%fGCdGNsrx#~|L=^Lr z5*V(vnip%RY4XLQoFC{e1P0|+1)ShIix&ny_;q{Juxd zF(?X9a(P!dw7(Yi*EKqw*xk(!tC@U~bY|PYm!|cF5iwqQdK-G{mAec(qD0t{4L7pAe4z$W_Lh~ z^rlxL$oW~)?nu7n8Qa)6*14ic4yk~_XDdBjVB5^Vq!D15%&GtTmzY*G2d}P>Ua7rQ z-g;5NHB3)H$;vos<2nds$cLn7kC`^$V-tB9&}0Y;xfd)=?AT*=Y|pQZ-Q7e+w>Df) zNo@)Ii^ZvgsC_CbzsyM6=VNpxD4sr&Ikbh6#jD(|`O(f6g*wRwi#l+FFAt*4_5f~lTUq@@L%bBY5hWBUoKx|w2h_i0 zbFS@B%Scq|ztX#;gbYgV{<)U!Vc6*I&Cykh$c$xKVTDTwyz87n0O&F`-7M&YroqoQ zbM7Nb``@l#$bq~Qz{39s1P>IAN!JO9{n{eEONT~;y}j}uN5T01XG2WWE}STP=$It_ z3Y4u52@Ant`8vM}L!exzz&Jn-pnr=4zN2)|(7{a;OnX=^Yw|ykaKhF2;~WhTrDTFJ zgx*?7s=v$%kC+}Q2VNV>Y_4?Ga6!SvSW&MD=>1~J9U_uDv}6ojL&nCNV4Z=mEYVl0P*1az3goV)qj+Z$)vlrNY zJcA2J&O-?&+mZV?+EOr(UZ#{?Z;H&0C~}l^JxS_lmdJ|N8~9MYxz2@a1YwTDU}D&T zhu78s004nA2d)p;-#c!gz%zI&@jo zs~**Po$_wCJN11GNIi!E?`psKG~W&HPRxr2b!#>?xRiVWrT#d~jQ97UV0Sm1$rB5a zsZMNJuq@y)ylJlSJvZ1d`BA34s6~C)|5rPTUS8eO;f)$AmB(~S_*Ul}BKBe2Y!xHp zAQi{YT%F%3*tldYCC14L<<0FcU%Na{FWYzT3avI)ogq{#BqoXcz_6~H-a)Z;>F-i* zlSP~@NgFT!##*_L0Oec{#SgP9W5vZT8~9`d8w;aoo;NK7g@931p8Xh-V1f|nML4+5 zXb1Y#PGQU5;30=pGB>yvpKOamH#m>lSKs8BOLDPUJkj2|c4#uw?GfhM zaR(|*;XQM!`(dXrQ!<=~2!eEkPYjQHR(z<<&}qM<7`38onC6LIEd;s1#tPF3Nx~;T z3H$UvZLcDWXb;gpW=xZwfQO`ynb8*!CWs9Ag)`JL+Mz}x{6VZ5=Y8kws0W1t7Td_v zRp6>bJPQ;wJB(i?Jg`|$LNZul7}Fr~A6^nfXs_Fj5{xz3_3v#df2SJO;b5StNA}LX zYp6R2)eAuB*v0TV^8=mx0MV~Xpyd2tSeg2@`KMyqHo zU-LDFMVk;2*IR1@W=0DnXJ7pSCsp=pU1wU%wClnzu8iB+ZackjxKqjMIjjzaN%T!HmpGCQ$A}~S zo~FZ8Cw=`(JJGk;GAk>$SOw~TF-%H{hr&GedHvNF@D5@fm-N^ z{EG|mS01-%RiDyo3E*GM*#lrlfD@Pd$`p=NcpxPS9ns9~%Vr&3A}21j^JzK&yaX~~ zBnpE*Dbx&rh#;haJ;z*xdHDP?tL7~^r($Bh70C#+n^J@dNjIu%n-xg34<^qz{7HB`+9y({U|7>w6I-wx@KvqupeI)0SM8`wI`n>-5$*g>>dT3g*VeE!^yX(pestZJX$XiK2Sx4Z| zwysv|A7M&^I$`&M}4SocVUG0w?yMsFLS=>#V*I!c$Iu<48}J&MH}3#H6O z3{|A65cUQRMR>}@{JfI^X?Yv9+cEW!nLcs9k=B0bFuW&+Rbaj1JG`*Iw0$&?s=z$f zS;MS7H(x~3?Mu%;=+bi#CbWVz%8im_us%?~XKNllAy4*SE@hgeX>&D_I>Nfor6VcI zN=hjAP86VO^rdS_oy+vBV(8fn3P@O0!vjw@%q~7wqEY+(qW$yD?1$9ic>4e^8Z7_% zyEmICLJEkOnIr>jvXQ)7A?m>jzVoK$3=H&fz}uWLjrLj!zsR2^G8!eV^XtpCEHQA{ z32>|1H5W<_CSGfRQr=y&A`@ z?=LVE$VXBbYsUuJw#*W2W>E+3Iu}(TVC8+BLnXVsmKy5pFJ}q_b7wpvji4 zQL!0kVVT%FBIHVH+V?Q_cG@`}J9C_gQ9+y=g80%&X5=Ar6Xwz9js)*=i+%6ELM*(( zx}Y(2W{B5DhMiW(5fF)64E&hWB+S4?j^6qxbsjgWrdY@?ae7ZBqMH$3z|tmhd8yG1 zR7}(kMy$k$7WZpwfn)DR*2|OsBKNEVE!0GT&d|+pjYz5U1*(cz7f)>B+|hSLAk0j$ z2+@Z3eL0=JIxYKeV&ss=j*mym$ObTF)e=xE03p7Auk?0TXk}qK?->6mtiHJnh3izdFdhOx40_CPtnsbBu}52;hPw5} zK0-4Sby0uK8r;v{UBhBlX$Zq!NVuF5eN73vK+&BW!v%`@`}gYKsKH0c4G(z}XDl-! z-Cq7Z+{S|gy5n^RO4(P|W- z?(98jTH_Yr{dH}CHCnE!JjL%FXUJ{CVayUJ*5rtxQ*{wOj!jX^GnqCP4d?!}T>UMi zi=g9R;Dqmn&|81>0?_MScVOk$4GmsB5uDOV1ygVPvbe6IQYPs8C4ogbLo_tkM=LI7 za4M_HxGy2bnkkLFr>}Yy5^lVG%q>{T86S`}fV+R!TRI4vIv=aDXF^V~;gh?=1mjwHKV+v_s>94rh1a zhey)z!r=TvH`^qI`4fm2Q0NlL(ZO7_2{=QIEj5JHZBR9;JUXpAyEBLq~YL$ z`ZsnxFb$R^HdapcNpm?t+s{34TghJ@Q=_n#mk&0>7b)ufi@JQLnA+&ta>D!KZRQvC zq$Ka6>}?7%iX3OR@b47Yw~v;oALnFxZ=suC-!xblI(+s5>n%sUdeg|yK2MD_5A_oHI257IBJmNcA zabdTNoQ3OHs~?q`Kle+bWDO5YE!XFZRNP0asNgNNY6_kW`x+FL=I&=s0e4!1x|oO} zd_T+V|1DKbm<6UmRt1}u=3IH5lstdr2U|ehvJZ7_I3YC{H+En*CNHQ8>LQT*u)Kd7 z1c1LR4w+}zW|jy_B#-6qXZ%9zgz;C@v0F4*Oiq7)0>H@De{D8D?IqF1gDkJiqbDFw zu`$M6zuNuWC3UEELG9YsCJBdX|4Jo z2kq@#Fw8Ul>Ps#a5}Sl`I;ggBeGxZGf_=fuDr1Fa-m103+$dlZ2OAmQ9d5WOk#y|r z%@UH_cG{L*Ns{6b1-~c3USA8DVbwQ7lu_uG@d`fz0Mck4E&38rDkyo*s+!wV5E__dJQF_=>rOq5gbtnr3#XHX zSmu(qFge@3={tEYCJmD*&67Ey`F-aX2v(UWtiRS{gCsxoV&t-#?_G>rY6@!m#U4CF ztkh}?QN9RJFw_S+N5+(r-XB6ww0n5T?-y;6+&~byyvV_^HLTe!c)-H zLRYhmE2KmV>8;ou&Lo4^$f`B$G%Qo=D{Xq^{0}eC0qp+=kE@ z`P^D0Rm(`v=ePemw#2XmUdx~6hQ;3nc2>x~OrZK_bnZ0gbfO4Vm~&8Ic0n?V1&s}CqG9FSwt_(s+B9sn8i8H3kSsxYRiDV?Q4yc^ z@W5E5y#mrMR0+cjsxGA$KcNlAb$+&a1yP?cDv%UDk6M9lp8lRlEeh!TDN!*Q#jZ29 zv~Q?3oV}Nv`${PK-P>IDy;htDuiN8;Lnt?iwn`G?i8Q5MvAs|dUa=_k`+ z8POn*-*b5IF>-~TJ8929KtM)Wc@h$IJ(c@4H*F2R0&1E%x3!Z`3kqrJ%b$4>EL<1u)5LO^d-6SO% zP`gP=az9sN?%@4k-1p%b51Jk$z|McEiwk0d6ZKQlzA{l#-|d?L0ZT#me^-e_QmjEI zDF0o=y2a%h{rdI+o^!33sy*Yqlm5dJ%=-6p80vOngS}+_RNKKIKZ>mkYHI20R^$;1 z%W+dn+f4>dVAM~x-y-}Y3(wOF0&Jz0E0D)UW`u=?K{T*WWH8TzS;2<()iGRvo{e=H zehKiHZ`q|W2h*hUYT|mAyNs#mUta%5JKa{RRm`i4H~KHs6?=2gihU!n+D3ERi%?3< zMwv$T`)=6J5-e5l-5j*yE0m_LDe zw|+sj2v{#Lt#7~^!$H|950HbRu*eXL^?_~I%EseCJ&{)N^_i3lqt?^yyFcsOajfvw zjpjHaLih1CK$@GSmfhf&eFd+5d<_Wa?1$vX5%(u_-Y+6m#osW(l1Zj{K&c)Lp(=ys zO$8&lcPaIQRwhtKMdf55;5p)bW@0o)qhENOw-y{}p}%0PP+qMAD+Ce*)yO!I5zotvJTrsC*_@h)J4tX_i=kQijhA+nRlTUUJfVC)$| zu14gjBe7P2QtT+J#~1mj#C>Am0?%(#qSYzbeg45T<3MBqwNfoq(_=EGTSU) zNaX6=qoB-{Q|8f(QE}0m+Tg~0+&~#35WFcV1$Y*(NWDp%Y#ePUtaOkZ`2mF9rUCf$=kw^F*{Fad(K*0p?Il|_@&H^g>mW`O?68ej~0Q&yY zKQiXBY{sX<#pHO(le@E&(Vwzb>2{$@s75*pj|)GNwv+vDpSe51sU2dsT12F_e5jf} z6%-Ef6$LrRSuIe)QmOhrg4>y_B)SSvwOIT-YcEPQ<2jxTQ|2x8Tb;xDq9yww?r zTGx)&5hF~AF@ra~LNx>q zKFI(i2mP>nbCSmjqBdQNPT`_FViPq@hRZE(wwOA-3W8|oBnky5&*s()@yc}X4FAXch zc0PlJNQxx50pLLlUwi=UnGd$G26qnrK==O^=K#>Y$3!<{8_8;Om1e&YyFH+1Jb5ht z0l}9pEavyO<_#iS2@sc{oF4Y1;<=RBwK6kkud8`b61!dzBufVkTp*C`HO`6+CZAoM zCOT+W>AF7sCRE5t^+Qdpvb;h*@g12Y%uX_%bx7j+8QEarMXM;*G2x}6vNpWgVgX=4 z$Vr_na*gjU3t++scD3^Lal`_M(3Z7Sh$QaA9uQc+9$jTwQ3pc@!($O(@?V5N;h$2M zzS6=~Dpq;Pmf2UqTsyx?L~$SUFZ8q3o1d zzsiKHH^U&pqZ~s_&o&r*1@ndu0t>0njB5A|5Or0rPCNHDDVa`4pTAV}C?%)$sQ0o& zCV6UH>d|a;R)dT)ZN1Z!cGBriy*uf}rEhWnz~j8|1}P?p40`Y}Hc*s`>U0kN%{iPZ z@OhBeW>6XhvC-74{09f^$5koe;~XNRI@1E+Cd_qV_LLL0Bs);Q8o2wgqu;{LgLY~A zo#trNb7+%74##h&eOysksEBv7T;n$s0^F=<D3*+%|nWrukD=yX(JkiLd6yM|*e)7-oI2p*F(hFn1Fp8s(6B&ET}th}ZTfvL7V z=*(Q3>b;e>uAOC733RwvSjq4L47xrU;v>&_-wyUpf{q#SzKWP9_B}Ru#(BXWBqO`l zsYR_P#is;wQJ}$`$xnCmAR3`hA2>AUV!OlR}L;pyBAc?Df$i7&V8BzB_kht>di}WF0h5jpugh;)RSLl4XHD6+P{Rgl=gXJ>=@?S# zR)ROHtdu0$+MbH7+6#kL1yAH@m*qisJ4;r0*}I2ta>w-zBUH{ZsQC({6R_L)AW$w0 zVmsi?*0L%cK*HA)$64=J7hR`wKw4t)ruIJBSRHa@s+dkhxbS(#(OcGO%1|(I^$^gz zurbeY_gp5_o1qN%$xQIr1}=Pr8X^vw@JJ0*?Z((#!*{O{Y#ZLrq6v1`dy}G##7t#( zk5_W>cE2SGyZJo}m5n85)cBu)V({zg+<$Ch^p%lf!YW@)FDQ{^&HV7&?o;rcV6X z$-_yYEfEeM3U45O*cGM3^$t=Q%B2#p|GJguavKwa_$X~|bTm`2B5edll>Z8n)lsxr zr1@;&2UcLr^qTIWk8t=dsT!qIZ-<10=`h_WW;{zg|Ek`x7JgJ2R{q{3ILpP1tb@p8 zdBVG>GTUw~-weNNSK-4TXBqMD(={`>tX zah-IZ#+z>D@PqnD>D z+*mpOtvV*xU6n{TcSag@;YNj%NLbx1o6&x3*u(_GIp+QYpLgdeMTzH;RNKpCqwJ|) zXW!KyV>=_SRq!`vJhjJEB+{5CY$&#pfG7=P6&w#dV63JM_RvB>oCMMP&jvnR58Cr@ z{>^asE#?iG|53P$jYKmw}^rYfQ*5wg9wcVD}G`dH%Dgfo%zl=(_I0^ume?9 zZqVX9&o>{Eo$WQO?E_oY(EPg3CZq+=?w+S>PaxkP_7pS)*H(K37gdb2MYlJ0V4we0R>$E00ICE!9I}+0g{!wL;wIz-8vos literal 0 HcmV?d00001 diff --git a/libsodium-1.0.18-RELEASE/.gitignore b/libsodium-1.0.18-RELEASE/.gitignore deleted file mode 100644 index c842285..0000000 --- a/libsodium-1.0.18-RELEASE/.gitignore +++ /dev/null @@ -1,162 +0,0 @@ -*.bc -*.dSYM -*.done -*.final -*.gcda -*.gcno -*.i -*.la -*.lo -*.log -*.mem -*.nexe -*.o -*.plist -*.scan -*.sdf -*.status -*.tar.* -*.wasm -*.wast -*~ -.DS_Store -.deps -.dirstamp -.done -.libs -/bin/ -/obj/ -Build -INSTALL -Makefile -Makefile.in -Vagrantfile -aclocal.m4 -android-toolchain -android-toolchain-* -autom4te.cache -build -compile -confdefs.h -config.* -configure -configure.lineno -coverage.info -depcomp -install-sh -libsodium-*.tar.bz2 -libsodium-*.tar.gz -libsodium-*.vcproj -libsodium-*.vcproj.filters -libsodium-*.vcxproj -libsodium-*.vcxproj.filters -libsodium-android-* -libsodium-ios -libsodium-js -libsodium-js-* -libsodium-nativeclient -libsodium-nativeclient-* -libsodium-osx -libsodium-uninstalled.pc -libsodium-wasm32-wasi -libsodium-win32 -libsodium-win64 -libsodium.pc -libtool -ltmain.sh -m4/argz.m4 -m4/libtool.m4 -m4/ltoptions.m4 -m4/ltsugar.m4 -m4/ltversion.m4 -m4/lt~obsolete.m4 -man/*.html -man/Makefile.in -missing -src/libsodium/*.def -src/libsodium/include/sodium/version.h -stamp-* -test-driver -test/default/*.asm.js -test/default/*.res -test/default/*.trs -test/default/aead_aes256gcm -test/default/aead_aes256gcm2 -test/default/aead_chacha20poly1305 -test/default/aead_chacha20poly13052 -test/default/aead_xchacha20poly1305 -test/default/auth -test/default/auth2 -test/default/auth3 -test/default/auth5 -test/default/auth6 -test/default/auth7 -test/default/box -test/default/box2 -test/default/box7 -test/default/box8 -test/default/box_easy -test/default/box_easy2 -test/default/box_seal -test/default/box_seed -test/default/browser -test/default/chacha20 -test/default/codecs -test/default/core1 -test/default/core2 -test/default/core3 -test/default/core4 -test/default/core5 -test/default/core6 -test/default/core_ed25519 -test/default/core_ristretto255 -test/default/ed25519_convert -test/default/generichash -test/default/generichash2 -test/default/generichash3 -test/default/hash -test/default/hash3 -test/default/kdf -test/default/keygen -test/default/kx -test/default/metamorphic -test/default/misuse -test/default/onetimeauth -test/default/onetimeauth2 -test/default/onetimeauth7 -test/default/pwhash_argon2i -test/default/pwhash_argon2id -test/default/pwhash_scrypt -test/default/pwhash_scrypt_ll -test/default/randombytes -test/default/scalarmult -test/default/scalarmult2 -test/default/scalarmult5 -test/default/scalarmult6 -test/default/scalarmult7 -test/default/scalarmult8 -test/default/scalarmult_ed25519 -test/default/scalarmult_ristretto255 -test/default/secretbox -test/default/secretbox2 -test/default/secretbox7 -test/default/secretbox8 -test/default/secretbox_easy -test/default/secretbox_easy2 -test/default/secretstream -test/default/shorthash -test/default/sign -test/default/siphashx24 -test/default/sodium_core -test/default/sodium_utils -test/default/sodium_utils2 -test/default/sodium_utils3 -test/default/sodium_version -test/default/stream -test/default/stream2 -test/default/stream3 -test/default/stream4 -test/default/verify1 -test/default/xchacha20 -test/js.done -testing diff --git a/libsodium-1.0.18-RELEASE/.travis.yml b/libsodium-1.0.18-RELEASE/.travis.yml deleted file mode 100644 index 291271c..0000000 --- a/libsodium-1.0.18-RELEASE/.travis.yml +++ /dev/null @@ -1,43 +0,0 @@ -sudo: false - -language: c - -os: - - linux - -compiler: - - clang - - gcc - - g++ - -install: - - ./autogen.sh - - env CC=tcc CFLAGS='-w' CPPFLAGS="-DDEV_MODE=1" ./configure --prefix=/tmp --disable-dependency-tracking --disable-shared || cat config.log - - make -j $(nproc) && make check && make install - - env CC=tcc CPPFLAGS='-I/tmp/include' LDFLAGS='-L/tmp/lib' LD_LIBRARY_PATH='/tmp/lib' ./test/constcheck.sh - - make uninstall - - make distclean - -script: - - env CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking - - if [ "$TRAVIS_OS_NAME" = 'linux' -a "$CC" = 'gcc' ]; then make -j $(nproc) CFLAGS='-g0' > /dev/null && cp src/libsodium/.libs/libsodium.so lib.so && make clean > /dev/null && make CFLAGS='-g0' CPPFLAGS='-DSODIUM_C99\(X\)=' > /dev/null && cp src/libsodium/.libs/libsodium.so lib-oldc.so && cmp lib.so lib-oldc.so && echo No binary changes && make clean > /dev/null ; fi - - make distcheck - - make distclean > /dev/null - - CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking --enable-minimal - - make -j $(nproc) - - make check - - ( echo '#include ' ; echo 'int main(void) { return sodium_init(); }' ) > /tmp/main.c && gcc -Isrc/libsodium/include -Isrc/libsodium/include/sodium $(find src -name '*.c' -o -name '*.S') /tmp/main.c - - make distclean > /dev/null - -after_success: - - CPPFLAGS="-DDEV_MODE=1" ./configure --disable-dependency-tracking --host=powerpc-linux-gnu - - make -j $(nproc) - - env QEMU_LD_PREFIX=/usr/powerpc-linux-gnu make check - - make clean > /dev/null - -addons: - apt: - packages: - - tcc - - qemu-user-static - - gcc-powerpc-linux-gnu diff --git a/libsodium-1.0.18-RELEASE/AUTHORS b/libsodium-1.0.18-RELEASE/AUTHORS deleted file mode 100644 index f4a4b9d..0000000 --- a/libsodium-1.0.18-RELEASE/AUTHORS +++ /dev/null @@ -1,145 +0,0 @@ - -Designers -========= - -argon2 Alex Biryukov - Daniel Dinu - Dmitry Khovratovich - -blake2 Jean-Philippe Aumasson - Christian Winnerlein - Samuel Neves - Zooko Wilcox-O'Hearn - -chacha20 Daniel J. Bernstein - -chacha20poly1305 Adam Langley - Yoav Nir - -curve25519 Daniel J. Bernstein - -curve25519xsalsa20poly1305 Daniel J. Bernstein - -ed25519 Daniel J. Bernstein - Bo-Yin Yang - Niels Duif - Peter Schwabe - Tanja Lange - -poly1305 Daniel J. Bernstein - -ristretto Mike Hamburg - Henry de Valence - Jack Grigg - George Tankersley - Filippo Valsorda - Isis Lovecruft - -salsa20 Daniel J. Bernstein - -scrypt Colin Percival - -siphash Jean-Philippe Aumasson - Daniel J. Bernstein - -Implementors -============ - -crypto_aead/aes256gcm/aesni Romain Dolbeau - Frank Denis - -crypto_aead/chacha20poly1305 Frank Denis - -crypto_aead/xchacha20poly1305 Frank Denis - Jason A. Donenfeld - -crypto_auth/hmacsha256 Colin Percival -crypto_auth/hmacsha512 -crypto_auth/hmacsha512256 - -crypto_box/curve25519xsalsa20poly1305 Daniel J. Bernstein - -crypto_box/curve25519xchacha20poly1305 Frank Denis - -crypto_core/ed25519 Daniel J. Bernstein - Adam Langley - Frank Denis - -crypto_core/hchacha20 Frank Denis - -crypto_core/hsalsa20 Daniel J. Bernstein -crypto_core/salsa - -crypto_generichash/blake2b Jean-Philippe Aumasson - Christian Winnerlein - Samuel Neves - Zooko Wilcox-O'Hearn - -crypto_hash/sha256 Colin Percival -crypto_hash/sha512 -crypto_hash/sha512256 - -crypto_kdf Frank Denis - -crypto_kx Frank Denis - -crypto_onetimeauth/poly1305/donna Andrew "floodyberry" Moon -crypto_onetimeauth/poly1305/sse2 - -crypto_pwhash/argon2 Samuel Neves - Dmitry Khovratovich - Jean-Philippe Aumasson - Daniel Dinu - Thomas Pornin - -crypto_pwhash/scryptsalsa208sha256 Colin Percival - Alexander Peslyak - -crypto_scalarmult/curve25519/ref10 Daniel J. Bernstein - -crypto_scalarmult/curve25519/sandy2x Tung Chou - -crypto_scalarmult/ed25519 Frank Denis - -crypto_scalarmult/ristretto255 Frank Denis - -crypto_secretbox/xsalsa20poly1305 Daniel J. Bernstein - -crypto_secretbox/xchacha20poly1305 Frank Denis - -crypto_secretstream/xchacha20poly1305 Frank Denis - -crypto_shorthash/siphash24 Jean-Philippe Aumasson - Daniel J. Bernstein - -crypto_sign/ed25519 Peter Schwabe - Daniel J. Bernstein - Niels Duif - Tanja Lange - Bo-Yin Yang - -crypto_stream/chacha20/ref Daniel J. Bernstein - -crypto_stream/chacha20/dolbeau Romain Dolbeau - Daniel J. Bernstein - -crypto_stream/salsa20/ref Daniel J. Bernstein -crypto_stream/salsa20/xmm6 - -crypto_stream/salsa20/xmm6int Romain Dolbeau - Daniel J. Bernstein - -crypto_stream/salsa2012/ref Daniel J. Bernstein -crypto_stream/salsa2008/ref - -crypto_stream/xchacha20 Frank Denis - -crypto_verify Frank Denis - -sodium/codecs.c Frank Denis - Thomas Pornin - Christian Winnerlein - -sodium/core.c Frank Denis -sodium/runtime.h -sodium/utils.c diff --git a/libsodium-1.0.18-RELEASE/ChangeLog b/libsodium-1.0.18-RELEASE/ChangeLog deleted file mode 100644 index e696933..0000000 --- a/libsodium-1.0.18-RELEASE/ChangeLog +++ /dev/null @@ -1,563 +0,0 @@ - -* Version 1.0.18 - - The Enterprise versions of Visual Studio are now supported. - - Visual Studio 2019 is now supported. - - 32-bit binaries for Visual Studio 2010 are now provided. - - A test that didn't work properly on Linux systems with overcommit -memory turned on has been removed. This fixes Ansible builds. - - Emscripten: `print` and `printErr` functions are overridden to send -errors to the console, if there is one. - - Emscripten: `UTF8ToString()` is now exported since `Pointer_stringify()` -has been deprecated. - - Libsodium version detection has been fixed in the CMake recipe. - - Generic hashing got a 10% speedup on AVX2. - - New target: WebAssembly/WASI (compile with `dist-builds/wasm32-wasi.sh`). - - New functions to map a hash to an edwards25519 point or get a random point: -`core_ed25519_from_hash()` and `core_ed25519_random()`. - - `crypto_core_ed25519_scalar_mul()` has been implemented for `scalar*scalar` -`(mod L)` multiplication. - - Support for the Ristretto group has been implemented, for compatibility -with wasm-crypto. - - Improvements have been made to the test suite. - - Portability improvements has been made. - - `getentropy()` is now used on systems providing this system call. - - `randombytes_salsa20 has been renamed to `randombytes_internal`. - - Support for (p)nacl has been removed. - - Most `((nonnull))` attributes have been relaxed to allow 0-length inputs -to be `NULL`. - - The `-ftree-vectorize` and `-ftree-slp-vectorize` compiler switches are -now used, if available, for optimized builds. - -* Version 1.0.17 - - Bug fix: `sodium_pad()` didn't properly support block sizes >= 256 bytes. - - JS/WebAssembly: some old iOS versions can't instantiate the WebAssembly -module; fall back to Javascript on these. - - JS/WebAssembly: compatibility with newer Emscripten versions. - - Bug fix: `crypto_pwhash_scryptsalsa208sha256_str_verify()` and -`crypto_pwhash_scryptsalsa208sha256_str_needs_rehash()` didn't return -`EINVAL` on input strings with a short length, unlike their high-level -counterpart. - - Added a workaround for Visual Studio 2010 bug causing CPU features -not to be detected. - - Portability improvements. - - Test vectors from Project Wycheproof have been added. - - New low-level APIs for arithmetic mod the order of the prime order group: -`crypto_core_ed25519_scalar_random()`, `crypto_core_ed25519_scalar_reduce()`, -`crypto_core_ed25519_scalar_invert()`, `crypto_core_ed25519_scalar_negate()`, -`crypto_core_ed25519_scalar_complement()`, `crypto_core_ed25519_scalar_add()` -and `crypto_core_ed25519_scalar_sub()`. - - New low-level APIs for scalar multiplication without clamping: -`crypto_scalarmult_ed25519_base_noclamp()` and -`crypto_scalarmult_ed25519_noclamp()`. These new APIs are especially useful -for blinding. - - `sodium_sub()` has been implemented. - - Support for WatchOS has been added. - - getrandom(2) is now used on FreeBSD 12+. - - The `nonnull` attribute has been added to all relevant prototypes. - - More reliable AVX512 detection. - - Javascript/Webassembly builds now use dynamic memory growth. - -* Version 1.0.16 - - Signatures computations and verifications are now way faster on -64-bit platforms with compilers supporting 128-bit arithmetic (gcc, -clang, icc). This includes the WebAssembly target. - - New low-level APIs for computations over edwards25519: -`crypto_scalarmult_ed25519()`, `crypto_scalarmult_ed25519_base()`, -`crypto_core_ed25519_is_valid_point()`, `crypto_core_ed25519_add()`, -`crypto_core_ed25519_sub()` and `crypto_core_ed25519_from_uniform()` -(elligator representative to point). - - `crypto_sign_open()`, `crypto_sign_verify_detached() and -`crypto_sign_edwards25519sha512batch_open` now reject public keys in -non-canonical form in addition to low-order points. - - The library can be built with `ED25519_NONDETERMINISTIC` defined in -order to use synthetic nonces for EdDSA. This is disabled by default. - - Webassembly: `crypto_pwhash_*()` functions are now included in -non-sumo builds. - - `sodium_stackzero()` was added to wipe content off the stack. - - Android: support new SDKs where unified headers have become the -default. - - The Salsa20-based PRNG example is now thread-safe on platforms with -support for thread-local storage, optionally mixes bits from RDRAND. - - CMAKE: static library detection on Unix systems has been improved -(thanks to @BurningEnlightenment, @nibua-r, @mellery451) - - Argon2 and scrypt are slightly faster on Linux. - -* Version 1.0.15 - - The default password hashing algorithm is now Argon2id. The -`pwhash_str_verify()` function can still verify Argon2i hashes -without any changes, and `pwhash()` can still compute Argon2i hashes -as well. - - The aes128ctr primitive was removed. It was slow, non-standard, not -authenticated, and didn't seem to be used by any opensource project. - - Argon2id required at least 3 passes like Argon2i, despite a minimum -of `1` as defined by the `OPSLIMIT_MIN` constant. This has been fixed. - - The secretstream construction was slightly changed to be consistent -with forthcoming variants. - - The Javascript and Webassembly versions have been merged, and the -module now returns a `.ready` promise that will resolve after the -Webassembly code is loaded and compiled. - - Note that due to these incompatible changes, the library version -major was bumped up. - -* Version 1.0.14 - - iOS binaries should now be compatible with WatchOS and TVOS. - - WebAssembly is now officially supported. Special thanks to -@facekapow and @pepyakin who helped to make it happen. - - Internal consistency checks failing and primitives used with -dangerous/out-of-bounds/invalid parameters used to call abort(3). -Now, a custom handler *that doesn't return* can be set with the -`set_sodium_misuse()` function. It still aborts by default or if the -handler ever returns. This is not a replacement for non-fatal, -expected runtime errors. This handler will be only called in -unexpected situations due to potential bugs in the library or in -language bindings. - - `*_MESSAGEBYTES_MAX` macros (and the corresponding -`_messagebytes_max()` symbols) have been added to represent the -maximum message size that can be safely handled by a primitive. -Language bindings are encouraged to check user inputs against these -maximum lengths. - - The test suite has been extended to cover more edge cases. - - crypto_sign_ed25519_pk_to_curve25519() now rejects points that are -not on the curve, or not in the main subgroup. - - Further changes have been made to ensure that smart compilers will -not optimize out code that we don't want to be optimized. - - Visual Studio solutions are now included in distribution tarballs. - - The `sodium_runtime_has_*` symbols for CPU features detection are -now defined as weak symbols, i.e. they can be replaced with an -application-defined implementation. This can be useful to disable -AVX* when temperature/power consumption is a concern. - - `crypto_kx_*()` now aborts if called with no non-NULL pointers to -store keys to. - - SSE2 implementations of `crypto_verify_*()` have been added. - - Passwords can be hashed using a specific algorithm with the new -`crypto_pwhash_str_alg()` function. - - Due to popular demand, base64 encoding (`sodium_bin2base64()`) and -decoding (`sodium_base642bin()`) have been implemented. - - A new `crypto_secretstream_*()` API was added to safely encrypt files -and multi-part messages. - - The `sodium_pad()` and `sodium_unpad()` helper functions have been -added in order to add & remove padding. - - An AVX512 optimized implementation of Argon2 has been added (written -by Ondrej Mosnáček, thanks!) - - The `crypto_pwhash_str_needs_rehash()` function was added to check if -a password hash string matches the given parameters, or if it needs an -update. - - The library can now be compiled with recent versions of -emscripten/binaryen that don't allow multiple variables declarations -using a single `var` statement. - -* Version 1.0.13 - - Javascript: the sumo builds now include all symbols. They were -previously limited to symbols defined in minimal builds. - - The public `crypto_pwhash_argon2i_MEMLIMIT_MAX` constant was -incorrectly defined on 32-bit platforms. This has been fixed. - - Version 1.0.12 didn't compile on OpenBSD/i386 using the base gcc -compiler. This has been fixed. - - The Android compilation scripts have been updated for NDK r14b. - - armv7s-optimized code was re-added to iOS builds. - - An AVX2 optimized implementation of the Argon2 round function was -added. - - The Argon2id variant of Argon2 has been implemented. The -high-level `crypto_pwhash_str_verify()` function automatically detects -the algorithm and can verify both Argon2i and Argon2id hashed passwords. -The default algorithm for newly hashed passwords remains Argon2i in -this version to avoid breaking compatibility with verifiers running -libsodium <= 1.0.12. - - A `crypto_box_curve25519xchacha20poly1305_seal*()` function set was -implemented. - - scrypt was removed from minimal builds. - - libsodium is now available on NuGet. - -* Version 1.0.12 - - Ed25519ph was implemented, adding a multi-part signature API -(`crypto_sign_init()`, `crypto_sign_update()`, `crypto_sign_final_*()`). - - New constants and related accessors have been added for Scrypt and -Argon2. - - XChaCha20 has been implemented. Like XSalsa20, this construction -extends the ChaCha20 cipher to accept a 192-bit nonce. This makes it safe -to use ChaCha20 with random nonces. - - `crypto_secretbox`, `crypto_box` and `crypto_aead` now offer -variants leveraging XChaCha20. - - SHA-2 is about 20% faster, which also gives a speed boost to -signature and signature verification. - - AVX2 implementations of Salsa20 and ChaCha20 have been added. They -are twice as fast as the SSE2 implementations. The speed gain is -even more significant on Windows, that previously didn't use -vectorized implementations. - - New high-level API: `crypto_kdf`, to easily derive one or more -subkeys from a master key. - - Siphash with a 128-bit output has been implemented, and is -available as `crypto_shorthash_siphashx_*`. - - New `*_keygen()` helpers functions have been added to create secret -keys for all constructions. This improves code clarity and can prevent keys -from being partially initialized. - - A new `randombytes_buf_deterministic()` function was added to -deterministically fill a memory region with pseudorandom data. This -function can especially be useful to write reproducible tests. - - A preliminary `crypto_kx_*()` API was added to compute shared session -keys. - - AVX2 detection is more reliable. - - The pthreads library is not required any more when using MingW. - - `contrib/Findsodium.cmake` was added as an example to include -libsodium in a project using cmake. - - Compatibility with gcc 2.x has been restored. - - Minimal builds can be checked using `sodium_library_minimal()`. - - The `--enable-opt` compilation switch has become compatible with more -platforms. - - Android builds are now using clang on platforms where it is -available. - -* Version 1.0.11 - - `sodium_init()` is now thread-safe, and can be safely called multiple -times. - - Android binaries now properly support 64-bit Android, targeting -platform 24, but without breaking compatibility with platforms 16 and -21. - - Better support for old gcc versions. - - On FreeBSD, core dumps are disabled on regions allocated with -sodium allocation functions. - - AVX2 detection was fixed, resulting in faster Blake2b hashing on -platforms where it was not properly detected. - - The Sandy2x Curve25519 implementation was not as fast as expected -on some platforms. This has been fixed. - - The NativeClient target was improved. Most notably, it now supports -optimized implementations, and uses pepper_49 by default. - - The library can be compiled with recent Emscripten versions. -Changes have been made to produce smaller code, and the default heap -size was reduced in the standard version. - - The code can now be compiled on SLES11 service pack 4. - - Decryption functions can now accept a NULL pointer for the output. -This checks the MAC without writing the decrypted message. - - crypto_generichash_final() now returns -1 if called twice. - - Support for Visual Studio 2008 was improved. - -* Version 1.0.10 - - This release only fixes a compilation issue reported with some older -gcc versions. There are no functional changes over the previous release. - -* Version 1.0.9 - - The Javascript target now includes a `--sumo` option to include all -the symbols of the original C library. - - A detached API was added to the ChaCha20-Poly1305 and AES256-GCM -implementations. - - The Argon2i password hashing function was added, and is accessible -directly and through a new, high-level `crypto_pwhash` API. The scrypt -function remains available as well. - - A speed-record AVX2 implementation of BLAKE2b was added (thanks to -Samuel Neves). - - The library can now be compiled using C++Builder (thanks to @jcolli44) - - Countermeasures for Ed25519 signatures malleability have been added -to match the irtf-cfrg-eddsa draft (note that malleability is irrelevant to -the standard definition of signature security). Signatures with a small-order -`R` point are now also rejected. - - Some implementations are now slightly faster when using the Clang -compiler. - - The HChaCha20 core function was implemented (`crypto_core_hchacha20()`). - - No-op stubs were added for all AES256-GCM public functions even when -compiled on non-Intel platforms. - - `crypt_generichash_blake2b_statebytes()` was added. - - New macros were added for the IETF variant of the ChaCha20-Poly1305 -construction. - - The library can now be compiled on Minix. - - HEASLR is now enabled on MinGW builds. - -* Version 1.0.8 - - Handle the case where the CPU supports AVX, but we are running -on an hypervisor with AVX disabled/not supported. - - Faster (2x) scalarmult_base() when using the ref10 implementation. - -* Version 1.0.7 - - More functions whose return value should be checked have been -tagged with `__attribute__ ((warn_unused_result))`: `crypto_box_easy()`, -`crypto_box_detached()`, `crypto_box_beforenm()`, `crypto_box()`, and -`crypto_scalarmult()`. - - Sandy2x, the fastest Curve25519 implementation ever, has been -merged in, and is automatically used on CPUs supporting the AVX -instructions set. - - An SSE2 optimized implementation of Poly1305 was added, and is -twice as fast as the portable one. - - An SSSE3 optimized implementation of ChaCha20 was added, and is -twice as fast as the portable one. - - Faster `sodium_increment()` for common nonce sizes. - - New helper functions have been added: `sodium_is_zero()` and - `sodium_add()`. - - `sodium_runtime_has_aesni()` now properly detects the CPU flag when - compiled using Visual Studio. - -* Version 1.0.6 - - Optimized implementations of Blake2 have been added for modern -Intel platforms. `crypto_generichash()` is now faster than MD5 and SHA1 -implementations while being far more secure. - - Functions for which the return value should be checked have been -tagged with `__attribute__ ((warn_unused_result))`. This will -intentionally break code compiled with `-Werror` that didn't bother -checking critical return values. - - The `crypto_sign_edwards25519sha512batch_*()` functions have been -tagged as deprecated. - - Undocumented symbols that were exported, but were only useful for -internal purposes have been removed or made private: -`sodium_runtime_get_cpu_features()`, the implementation-specific -`crypto_onetimeauth_poly1305_donna()` symbols, -`crypto_onetimeauth_poly1305_set_implementation()`, -`crypto_onetimeauth_poly1305_implementation_name()` and -`crypto_onetimeauth_pick_best_implementation()`. - - `sodium_compare()` now works as documented, and compares numbers -in little-endian format instead of behaving like `memcmp()`. - - The previous changes should not break actual applications, but to be -safe, the library version major was incremented. - - `sodium_runtime_has_ssse3()` and `sodium_runtime_has_sse41()` have -been added. - - The library can now be compiled with the CompCert compiler. - -* Version 1.0.5 - - Compilation issues on some platforms were fixed: missing alignment -directives were added (required at least on RHEL-6/i386), a workaround -for a VRP bug on gcc/armv7 was added, and the library can now be compiled -with the SunPro compiler. - - Javascript target: io.js is not supported any more. Use nodejs. - -* Version 1.0.4 - - Support for AES256-GCM has been added. This requires -a CPU with the aesni and pclmul extensions, and is accessible via the -crypto_aead_aes256gcm_*() functions. - - The Javascript target doesn't use eval() any more, so that the -library can be used in Chrome packaged applications. - - QNX and CloudABI are now supported. - - Support for NaCl has finally been added. - - ChaCha20 with an extended (96 bit) nonce and a 32-bit counter has -been implemented as crypto_stream_chacha20_ietf(), -crypto_stream_chacha20_ietf_xor() and crypto_stream_chacha20_ietf_xor_ic(). -An IETF-compatible version of ChaCha20Poly1305 is available as -crypto_aead_chacha20poly1305_ietf_npubbytes(), -crypto_aead_chacha20poly1305_ietf_encrypt() and -crypto_aead_chacha20poly1305_ietf_decrypt(). - - The sodium_increment() helper function has been added, to increment -an arbitrary large number (such as a nonce). - - The sodium_compare() helper function has been added, to compare -arbitrary large numbers (such as nonces, in order to prevent replay -attacks). - -* Version 1.0.3 - - In addition to sodium_bin2hex(), sodium_hex2bin() is now a -constant-time function. - - crypto_stream_xsalsa20_ic() has been added. - - crypto_generichash_statebytes(), crypto_auth_*_statebytes() and -crypto_hash_*_statebytes() have been added in order to retrieve the -size of structures keeping states from foreign languages. - - The JavaScript target doesn't require /dev/urandom or an external -randombytes() implementation any more. Other minor Emscripten-related -improvements have been made in order to support libsodium.js - - Custom randombytes implementations do not need to provide their own -implementation of randombytes_uniform() any more. randombytes_stir() -and randombytes_close() can also be NULL pointers if they are not -required. - - On Linux, getrandom(2) is being used instead of directly accessing -/dev/urandom, if the kernel supports this system call. - - crypto_box_seal() and crypto_box_seal_open() have been added. - - Visual Studio 2015 is now supported. - -* Version 1.0.2 - - The _easy and _detached APIs now support precalculated keys; -crypto_box_easy_afternm(), crypto_box_open_easy_afternm(), -crypto_box_detached_afternm() and crypto_box_open_detached_afternm() -have been added as an alternative to the NaCl interface. - - Memory allocation functions can now be used on operating systems with -no memory protection. - - crypto_sign_open() and crypto_sign_edwards25519sha512batch_open() -now accept a NULL pointer instead of a pointer to the message size, if -storing this information is not required. - - The close-on-exec flag is now set on the descriptor returned when -opening /dev/urandom. - - A libsodium-uninstalled.pc file to use pkg-config even when -libsodium is not installed, has been added. - - The iOS target now includes armv7s and arm64 optimized code, as well -as i386 and x86_64 code for the iOS simulator. - - sodium_free() can now be called on regions with PROT_NONE protection. - - The Javascript tests can run on Ubuntu, where the node binary was -renamed nodejs. io.js can also be used instead of node. - -* Version 1.0.1 - - DLL_EXPORT was renamed SODIUM_DLL_EXPORT in order to avoid -collisions with similar macros defined by other libraries. - - sodium_bin2hex() is now constant-time. - - crypto_secretbox_detached() now supports overlapping input and output -regions. - - NaCl's donna_c64 implementation of curve25519 was reading an extra byte -past the end of the buffer containing the base point. This has been -fixed. - -* Version 1.0.0 - - The API and ABI are now stable. New features will be added, but -backward-compatibility is guaranteed through all the 1.x.y releases. - - crypto_sign() properly works with overlapping regions again. Thanks -to @pysiak for reporting this regression introduced in version 0.6.1. - - The test suite has been extended. - -* Version 0.7.1 (1.0 RC2) - - This is the second release candidate of Sodium 1.0. Minor -compilation, readability and portability changes have been made and the -test suite was improved, but the API is the same as the previous release -candidate. - -* Version 0.7.0 (1.0 RC1) - - Allocating memory to store sensitive data can now be done using -sodium_malloc() and sodium_allocarray(). These functions add guard -pages around the protected data to make it less likely to be -accessible in a heartbleed-like scenario. In addition, the protection -for memory regions allocated that way can be changed using -sodium_mprotect_noaccess(), sodium_mprotect_readonly() and -sodium_mprotect_readwrite(). - - ed25519 keys can be converted to curve25519 keys with -crypto_sign_ed25519_pk_to_curve25519() and -crypto_sign_ed25519_sk_to_curve25519(). This allows using the same -keys for signature and encryption. - - The seed and the public key can be extracted from an ed25519 key -using crypto_sign_ed25519_sk_to_seed() and crypto_sign_ed25519_sk_to_pk(). - - aes256 was removed. A timing-attack resistant implementation might -be added later, but not before version 1.0 is tagged. - - The crypto_pwhash_scryptxsalsa208sha256_* compatibility layer was -removed. Use crypto_pwhash_scryptsalsa208sha256_*. - - The compatibility layer for implementation-specific functions was -removed. - - Compilation issues with Mingw64 on MSYS (not MSYS2) were fixed. - - crypto_pwhash_scryptsalsa208sha256_STRPREFIX was added: it contains -the prefix produced by crypto_pwhash_scryptsalsa208sha256_str() - -* Version 0.6.1 - - Important bug fix: when crypto_sign_open() was given a signed -message too short to even contain a signature, it was putting an -unlimited amount of zeros into the target buffer instead of -immediately returning -1. The bug was introduced in version 0.5.0. - - New API: crypto_sign_detached() and crypto_sign_verify_detached() -to produce and verify ed25519 signatures without having to duplicate -the message. - - New ./configure switch: --enable-minimal, to create a smaller -library, with only the functions required for the high-level API. -Mainly useful for the JavaScript target and embedded systems. - - All the symbols are now exported by the Emscripten build script. - - The pkg-config .pc file is now always installed even if the -pkg-config tool is not available during the installation. - -* Version 0.6.0 - - The ChaCha20 stream cipher has been added, as crypto_stream_chacha20_* - - The ChaCha20Poly1305 AEAD construction has been implemented, as -crypto_aead_chacha20poly1305_* - - The _easy API does not require any heap allocations any more and -does not have any overhead over the NaCl API. With the password -hashing function being an obvious exception, the library doesn't -allocate and will not allocate heap memory ever. - - crypto_box and crypto_secretbox have a new _detached API to store -the authentication tag and the encrypted message separately. - - crypto_pwhash_scryptxsalsa208sha256*() functions have been renamed -crypto_pwhash_scryptsalsa208sha256*(). - - The low-level crypto_pwhash_scryptsalsa208sha256_ll() function -allows setting individual parameters of the scrypt function. - - New macros and functions for recommended crypto_pwhash_* parameters -have been added. - - Similarly to crypto_sign_seed_keypair(), crypto_box_seed_keypair() -has been introduced to deterministically generate a key pair from a seed. - - crypto_onetimeauth() now provides a streaming interface. - - crypto_stream_chacha20_xor_ic() and crypto_stream_salsa20_xor_ic() -have been added to use a non-zero initial block counter. - - On Windows, CryptGenRandom() was replaced by RtlGenRandom(), which -doesn't require the Crypt API. - - The high bit in curve25519 is masked instead of processing the key as -a 256-bit value. - - The curve25519 ref implementation was replaced by the latest ref10 -implementation from Supercop. - - sodium_mlock() now prevents memory from being included in coredumps -on Linux 3.4+ - -* Version 0.5.0 - - sodium_mlock()/sodium_munlock() have been introduced to lock pages -in memory before storing sensitive data, and to zero them before -unlocking them. - - High-level wrappers for crypto_box and crypto_secretbox -(crypto_box_easy and crypto_secretbox_easy) can be used to avoid -dealing with the specific memory layout regular functions depend on. - - crypto_pwhash_scryptsalsa208sha256* functions have been added -to derive a key from a password, and for password storage. - - Salsa20 and ed25519 implementations now support overlapping -inputs/keys/outputs (changes imported from supercop-20140505). - - New build scripts for Visual Studio, Emscripten, different Android -architectures and msys2 are available. - - The poly1305-53 implementation has been replaced with Floodyberry's -poly1305-donna32 and poly1305-donna64 implementations. - - sodium_hex2bin() has been added to complement sodium_bin2hex(). - - On OpenBSD and Bitrig, arc4random() is used instead of reading -/dev/urandom. - - crypto_auth_hmac_sha512() has been implemented. - - sha256 and sha512 now have a streaming interface. - - hmacsha256, hmacsha512 and hmacsha512256 now support keys of -arbitrary length, and have a streaming interface. - - crypto_verify_64() has been implemented. - - first-class Visual Studio build system, thanks to @evoskuil - - CPU features are now detected at runtime. - -* Version 0.4.5 - - Restore compatibility with OSX <= 10.6 - -* Version 0.4.4 - - Visual Studio is officially supported (VC 2010 & VC 2013) - - mingw64 is now supported - - big-endian architectures are now supported as well - - The donna_c64 implementation of curve25519_donna_c64 now handles -non-canonical points like the ref implementation - - Missing scalarmult_curve25519 and stream_salsa20 constants are now exported - - A crypto_onetimeauth_poly1305_ref() wrapper has been added - -* Version 0.4.3 - - crypto_sign_seedbytes() and crypto_sign_SEEDBYTES were added. - - crypto_onetimeauth_poly1305_implementation_name() was added. - - poly1305-ref has been replaced by a faster implementation, -Floodyberry's poly1305-donna-unrolled. - - Stackmarkings have been added to assembly code, for Hardened Gentoo. - - pkg-config can now be used in order to retrieve compilations flags for -using libsodium. - - crypto_stream_aes256estream_*() can now deal with unaligned input -on platforms that require word alignment. - - portability improvements. - -* Version 0.4.2 - - All NaCl constants are now also exposed as functions. - - The Android and iOS cross-compilation script have been improved. - - libsodium can now be cross-compiled to Windows from Linux. - - libsodium can now be compiled with emscripten. - - New convenience function (prototyped in utils.h): sodium_bin2hex(). - -* Version 0.4.1 - - sodium_version_*() functions were not exported in version 0.4. They -are now visible as intended. - - sodium_init() now calls randombytes_stir(). - - optimized assembly version of salsa20 is now used on amd64. - - further cleanups and enhanced compatibility with non-C99 compilers. - -* Version 0.4 - - Most constants and operations are now available as actual functions -instead of macros, making it easier to use from other languages. - - New operation: crypto_generichash, featuring a variable key size, a -variable output size, and a streaming API. Currently implemented using -Blake2b. - - The package can be compiled in a separate directory. - - aes128ctr functions are exported. - - Optimized versions of curve25519 (curve25519_donna_c64), poly1305 -(poly1305_53) and ed25519 (ed25519_ref10) are available. Optionally calling -sodium_init() once before using the library makes it pick the fastest -implementation. - - New convenience function: sodium_memzero() in order to securely -wipe a memory area. - - A whole bunch of cleanups and portability enhancements. - - On Windows, a .REF file is generated along with the shared library, -for use with Visual Studio. The installation path for these has become -$prefix/bin as expected by MingW. - -* Version 0.3 - - The crypto_shorthash operation has been added, implemented using -SipHash-2-4. - -* Version 0.2 - - crypto_sign_seed_keypair() has been added - -* Version 0.1 - - Initial release. - diff --git a/libsodium-1.0.18-RELEASE/LICENSE b/libsodium-1.0.18-RELEASE/LICENSE deleted file mode 100644 index 62510f3..0000000 --- a/libsodium-1.0.18-RELEASE/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -/* - * ISC License - * - * Copyright (c) 2013-2019 - * Frank Denis - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ diff --git a/libsodium-1.0.18-RELEASE/Makefile.am b/libsodium-1.0.18-RELEASE/Makefile.am deleted file mode 100644 index 1f43ff3..0000000 --- a/libsodium-1.0.18-RELEASE/Makefile.am +++ /dev/null @@ -1,24 +0,0 @@ -ACLOCAL_AMFLAGS = -I m4 - -EXTRA_DIST = \ - autogen.sh \ - libsodium.sln \ - libsodium.vcxproj \ - libsodium.vcxproj.filters \ - LICENSE \ - README.markdown \ - THANKS - -SUBDIRS = \ - builds \ - contrib \ - dist-build \ - msvc-scripts \ - src \ - test - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = @PACKAGE_NAME@.pc - -DISTCLEANFILES = $(pkgconfig_DATA) - diff --git a/libsodium-1.0.18-RELEASE/README.markdown b/libsodium-1.0.18-RELEASE/README.markdown deleted file mode 100644 index 412693d..0000000 --- a/libsodium-1.0.18-RELEASE/README.markdown +++ /dev/null @@ -1,47 +0,0 @@ -[![Build Status](https://travis-ci.org/jedisct1/libsodium.svg?branch=master)](https://travis-ci.org/jedisct1/libsodium?branch=master) -[![Windows build status](https://ci.appveyor.com/api/projects/status/fu8s2elx25il98hj?svg=true)](https://ci.appveyor.com/project/jedisct1/libsodium) -[![Coverity Scan Build Status](https://scan.coverity.com/projects/2397/badge.svg)](https://scan.coverity.com/projects/2397) -[![Azure build status](https://jedisct1.visualstudio.com/Libsodium/_apis/build/status/jedisct1.libsodium?branchName=stable)](https://jedisct1.visualstudio.com/Libsodium/_build/latest?definitionId=3&branchName=stable) - -![libsodium](https://raw.github.com/jedisct1/libsodium/master/logo.png) -============ - -Sodium is a new, easy-to-use software library for encryption, -decryption, signatures, password hashing and more. - -It is a portable, cross-compilable, installable, packageable -fork of [NaCl](http://nacl.cr.yp.to/), with a compatible API, and an -extended API to improve usability even further. - -Its goal is to provide all of the core operations needed to build -higher-level cryptographic tools. - -Sodium supports a variety of compilers and operating systems, -including Windows (with MingW or Visual Studio, x86 and x64), iOS, Android, -as well as Javascript and Webassembly. - -## Documentation - -The documentation is available on Gitbook and built from the [libsodium-doc](https://github.com/jedisct1/libsodium-doc) repository: - -* [libsodium documentation](https://download.libsodium.org/doc/) - -online, requires Javascript. -* [offline documentation](https://www.gitbook.com/book/jedisct1/libsodium/details) -in PDF format. - -## Integrity Checking - -The integrity checking instructions (including the signing key for libsodium) -are available in the [installation](https://download.libsodium.org/doc/installation#integrity-checking) -section of the documentation. - -## Community - -A mailing-list is available to discuss libsodium. - -In order to join, just send a random mail to `sodium-subscribe` {at} -`pureftpd` {dot} `org`. - -## License - -[ISC license](https://en.wikipedia.org/wiki/ISC_license). diff --git a/libsodium-1.0.18-RELEASE/THANKS b/libsodium-1.0.18-RELEASE/THANKS deleted file mode 100644 index a4b6e70..0000000 --- a/libsodium-1.0.18-RELEASE/THANKS +++ /dev/null @@ -1,92 +0,0 @@ -Special thanks to people, companies and organizations having written -libsodium bindings for their favorite programming languages: - -@alethia7 -@artemisc -@carblue -@dnaq -@ektrah -@graxrabble -@harleqin -@joshjdevl -@jrmarino -@jshahbazi -@lvh -@neheb - -Adam Caudill (@adamcaudill) -Alexander Ilin (@AlexIljin) -Alexander Morris (@alexpmorris) -Amit Murthy (@amitmurthy) -Andrew Bennett (@potatosalad) -Andrew Lambert (@charonn0) -Bruce Mitchener (@waywardmonkeys) -Bruno Oliveira (@abstractj) -Caolan McMahon (@caolan) -Chris Rebert (@cvrebert) -Christian Hermann (@bitbeans) -Christian Wiese (@morfoh) -Christian Wiese (@morfoh) -Colm MacCárthaigh (@colmmacc) -David Parrish (@dmp1ce) -Donald Stufft (@dstufft) -Douglas Campos (@qmx) -Drew Crawford (@drewcrawford) -Emil Bay (@emilbayes) -Eric Dong (@quantum1423) -Eric Voskuil (@evoskuil) -Farid Hajji (@fhajji) -Frank Siebenlist (@franks42) -Gabriel Handford (@gabriel) -Geo Carncross (@geocar) -Henrik Gassmann (BurningEnlightenment) -Jachym Holecek (@freza) -Jack Wink (@jackwink) -James Ruan (@jamesruan) -Jan de Muijnck-Hughes (@jfdm) -Jason McCampbell (@jasonmccampbell) -Jeroen Habraken (@VeXocide) -Jeroen Ooms (@jeroen) -Jesper Louis Andersen (@jlouis) -Joe Eli McIlvain (@jemc) -Jonathan Stowe (@jonathanstowe) -Joseph Abrahamson (@tel) -Julien Kauffmann (@ereOn) -Kenneth Ballenegger (@kballenegger) -Loic Maury (@loicmaury) -Michael Gorlick (@mgorlick) -Michael Gregorowicz (@mgregoro) -Michał Zieliński (@zielmicha) -Omar Ayub (@electricFeel) -Pedro Paixao (@paixaop) -Project ArteMisc (@artemisc) -Rich FitzJohn (@richfitz) -Ruben De Visscher (@rubendv) -Rudolf Von Krugstein (@rudolfvonkrugstein) -Samuel Neves (@sneves) -Scott Arciszewski (@paragonie-scott) -Stanislav Ovsiannikov (@naphaso) -Stefan Marsiske (@stef) -Stephan Touset (@stouset) -Stephen Chavez (@redragonx) -Steve Gibson (@sggrc) -Tony Arcieri (@bascule) -Tony Garnock-Jones (@tonyg) -Y. T. Chung (@zonyitoo) - -Bytecurry Software -Cryptotronix -Facebook -FSF France -MaidSafe -Paragonie Initiative Enterprises -Python Cryptographic Authority - -(this list may not be complete, if you don't see your name, please -submit a pull request!) - -Also thanks to: - -- Coverity, Inc. to provide static analysis. -- FSF France for providing access to their compilation servers. -- Private Internet Access for having sponsored a complete security audit. diff --git a/libsodium-1.0.18-RELEASE/appveyor.yml b/libsodium-1.0.18-RELEASE/appveyor.yml deleted file mode 100644 index 5fdcdc8..0000000 --- a/libsodium-1.0.18-RELEASE/appveyor.yml +++ /dev/null @@ -1,24 +0,0 @@ -version: 1.0.18.{build} - -os: Visual Studio 2017 - -environment: - matrix: - - platform: Win32 - configuration: Debug - - platform: Win32 - configuration: Release - - platform: x64 - configuration: Debug - - platform: x64 - configuration: Release - -matrix: - fast_finish: false - -init: msbuild /version - -build: - parallel: true - project: libsodium.vcxproj - verbosity: minimal diff --git a/libsodium-1.0.18-RELEASE/autogen.sh b/libsodium-1.0.18-RELEASE/autogen.sh deleted file mode 100644 index 3743f70..0000000 --- a/libsodium-1.0.18-RELEASE/autogen.sh +++ /dev/null @@ -1,53 +0,0 @@ -#! /bin/sh - -if glibtoolize --version >/dev/null 2>&1; then - LIBTOOLIZE='glibtoolize' -else - LIBTOOLIZE='libtoolize' -fi - -command -v command >/dev/null 2>&1 || { - echo "command is required, but wasn't found on this system" - exit 1 -} - -command -v $LIBTOOLIZE >/dev/null 2>&1 || { - echo "libtool is required, but wasn't found on this system" - exit 1 -} - -command -v autoconf >/dev/null 2>&1 || { - echo "autoconf is required, but wasn't found on this system" - exit 1 -} - -command -v automake >/dev/null 2>&1 || { - echo "automake is required, but wasn't found on this system" - exit 1 -} - -if autoreconf --version >/dev/null 2>&1; then - autoreconf -ivf -else - $LIBTOOLIZE && - aclocal && - automake --add-missing --force-missing --include-deps && - autoconf -fi - -[ -z "$DO_NOT_UPDATE_CONFIG_SCRIPTS" ] && - command -v curl >/dev/null 2>&1 && { - echo "Downloading config.guess and config.sub..." - - curl -sL -o config.guess \ - 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' && - mv -f config.guess build-aux/config.guess - - curl -sL -o config.sub \ - 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' && - mv -f config.sub build-aux/config.sub - - echo "Done." -} - -rm -f config.guess config.sub diff --git a/libsodium-1.0.18-RELEASE/azure-pipelines.yml b/libsodium-1.0.18-RELEASE/azure-pipelines.yml deleted file mode 100644 index b688459..0000000 --- a/libsodium-1.0.18-RELEASE/azure-pipelines.yml +++ /dev/null @@ -1,153 +0,0 @@ -trigger: - - stable - - next - -pr: none - -jobs: - - job: "wasi" - pool: - vmImage: "ubuntu-16.04" - steps: - - script: | - sudo apt-get install build-essential curl cmake - displayName: Install system packages - - script: | - curl https://sh.rustup.rs -sSf | sh -s -- -y - source ${HOME}/.cargo/env - git clone --recursive https://github.com/wasmerio/wasmer.git - (cd wasmer && cargo install --path .) - displayName: Install wasmer - - script: | - curl -sL -o wasi-sdk.deb https://github.com/CraneStation/wasi-sdk/releases/download/wasi-sdk-5/wasi-sdk_5.0_amd64.deb - sudo dpkg -i wasi-sdk.deb && rm -f wasi-sdk.deb - sudo ln -s /opt/wasi-sdk/share/*sysroot* /opt/wasi-sysroot - displayName: Install the WASI SDK - - script: | - env PATH=/opt/wasi-sdk/bin:${HOME}/.cargo/bin:$PATH dist-build/wasm32-wasi.sh - displayName: Compile libsodium - - task: PublishBuildArtifacts@1 - condition: not(canceled()) - inputs: - pathToPublish: libsodium-wasm32-wasi - artifactName: libsodium-wasm32-wasi - - - job: "windows" - pool: - vmImage: "windows-2019" - steps: - - powershell: | - cd builds\msvc\build - & .\buildbase.bat ..\vs2019\libsodium.sln 16 - displayName: Compile it all - - powershell: | - mkdir bin\include\sodium - Copy-Item "src\libsodium\include\sodium\*.h" -Destination "bin\include\sodium" -Recurse - Copy-Item "src\libsodium\include\*.h" -Destination "bin\include\" - displayName: Copy header files - - task: PublishBuildArtifacts@1 - condition: not(canceled()) - inputs: - pathToPublish: bin - artifactName: libsodium - - - job: "windows_old" - pool: - vmImage: "vs2017-win2016" - steps: - - powershell: | - cd builds\msvc\build - & .\buildbase.bat ..\vs2017\libsodium.sln 15 - displayName: Compile it all - - task: PublishBuildArtifacts@1 - condition: not(canceled()) - inputs: - pathToPublish: bin - artifactName: libsodium - - - job: "windows_reallyold" - pool: - vmImage: "vs2015-win2012r2" - steps: - - powershell: | - cd builds\msvc\build - & .\buildbase.bat ..\vs2015\libsodium.sln 14 - & .\buildbase.bat ..\vs2013\libsodium.sln 12 - & .\buildbase.bat ..\vs2012\libsodium.sln 11 - & .\buildbase.bat ..\vs2010\libsodium.sln 10 - displayName: Compile it all - - task: PublishBuildArtifacts@1 - condition: not(canceled()) - inputs: - pathToPublish: bin - artifactName: libsodium - - - job: mingw64 - pool: - vmImage: "windows-2019" - steps: - - script: | - git clone https://github.com/msys2/msys2-ci-base.git %CD:~0,2%\msys64 - %CD:~0,2%\msys64\usr\bin\rm -rf %CD:~0,2%\msys64\.git - displayName: Install MSYS2 - - script: | - set PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem - %CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Syyuu - %CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Syuu - displayName: Update MSYS2 - - script: | - set PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem - %CD:~0,2%\msys64\usr\bin\pacman --noconfirm --needed -S base-devel mingw-w64-x86_64-toolchain - %CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Scc - %CD:~0,2%\msys64\usr\bin\sed -i "s|#CacheDir.*|CacheDir=/c/Users/%USERNAME%/AppData/Local/Temp|g" /etc/pacman.conf - displayName: Install Toolchain - - script: | - set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;%CD:~0,2%\msys64\usr\bin;%CD:~0,2%\msys64\bin - set MSYS2_ROOT=%CD:~0,2%\msys64 - set MSYSTEM=MINGW64 - %MSYS2_ROOT%\cmd\msystem MINGW64 - %CD:~0,2%\msys64\usr\bin\bash -lc dist-build/msys2-win64.sh - env: - CHERE_INVOKING: yes - MSYS2_ARCH: x86_64 - displayName: Compile libsodium - - task: PublishBuildArtifacts@1 - condition: not(canceled()) - inputs: - pathToPublish: libsodium-win64 - artifactName: libsodium-win64 - - - job: mingw32 - pool: - vmImage: "windows-2019" - steps: - - script: | - git clone https://github.com/msys2/msys2-ci-base.git %CD:~0,2%\msys64 - %CD:~0,2%\msys64\usr\bin\rm -rf %CD:~0,2%\msys64\.git - displayName: Install MSYS2 - - script: | - set PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem - %CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Syyuu - %CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Syuu - displayName: Update MSYS2 - - script: | - set PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem - %CD:~0,2%\msys64\usr\bin\pacman --noconfirm --needed -S base-devel mingw-w64-i686-toolchain - %CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Scc - %CD:~0,2%\msys64\usr\bin\sed -i "s|#CacheDir.*|CacheDir=/c/Users/%USERNAME%/AppData/Local/Temp|g" /etc/pacman.conf - displayName: Install Toolchain - - script: | - set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;%CD:~0,2%\msys64\usr\bin;%CD:~0,2%\msys64\bin - set MSYS2_ROOT=%CD:~0,2%\msys64 - set MSYSTEM=MINGW32 - %MSYS2_ROOT%\cmd\msystem MINGW32 - %CD:~0,2%\msys64\usr\bin\bash -lc dist-build/msys2-win32.sh - env: - CHERE_INVOKING: yes - MSYS2_ARCH: x86_64 - displayName: Compile libsodium - - task: PublishBuildArtifacts@1 - condition: not(canceled()) - inputs: - pathToPublish: libsodium-win32 - artifactName: libsodium-win32 diff --git a/libsodium-1.0.18-RELEASE/builds/.gitignore b/libsodium-1.0.18-RELEASE/builds/.gitignore deleted file mode 100644 index 878f1a3..0000000 --- a/libsodium-1.0.18-RELEASE/builds/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -*.opensdf -*.suo -*.sdf -*.vcxproj.user -*.aps -*.log -!build \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/Makefile.am b/libsodium-1.0.18-RELEASE/builds/Makefile.am deleted file mode 100644 index 23dfe9d..0000000 --- a/libsodium-1.0.18-RELEASE/builds/Makefile.am +++ /dev/null @@ -1,72 +0,0 @@ -EXTRA_DIST = \ - msvc/build/buildall.bat \ - msvc/build/buildbase.bat \ - msvc/properties/Common.props \ - msvc/properties/Debug.props \ - msvc/properties/DebugDEXE.props \ - msvc/properties/DebugDLL.props \ - msvc/properties/DebugLEXE.props \ - msvc/properties/DebugLIB.props \ - msvc/properties/DebugLTCG.props \ - msvc/properties/DebugSEXE.props \ - msvc/properties/DLL.props \ - msvc/properties/EXE.props \ - msvc/properties/LIB.props \ - msvc/properties/Link.props \ - msvc/properties/LTCG.props \ - msvc/properties/Messages.props \ - msvc/properties/Output.props \ - msvc/properties/Release.props \ - msvc/properties/ReleaseDEXE.props \ - msvc/properties/ReleaseDLL.props \ - msvc/properties/ReleaseLEXE.props \ - msvc/properties/ReleaseLIB.props \ - msvc/properties/ReleaseLTCG.props \ - msvc/properties/ReleaseSEXE.props \ - msvc/properties/Win32.props \ - msvc/properties/x64.props \ - msvc/resource.h \ - msvc/resource.rc \ - msvc/version.h \ - msvc/vs2010/libsodium/libsodium.props \ - msvc/vs2010/libsodium/libsodium.vcxproj \ - msvc/vs2010/libsodium/libsodium.vcxproj.filters \ - msvc/vs2010/libsodium/libsodium.xml \ - msvc/vs2010/libsodium.import.props \ - msvc/vs2010/libsodium.import.xml \ - msvc/vs2010/libsodium.sln \ - msvc/vs2012/libsodium/libsodium.props \ - msvc/vs2012/libsodium/libsodium.vcxproj \ - msvc/vs2012/libsodium/libsodium.vcxproj.filters \ - msvc/vs2012/libsodium/libsodium.xml \ - msvc/vs2012/libsodium.import.props \ - msvc/vs2012/libsodium.import.xml \ - msvc/vs2012/libsodium.sln \ - msvc/vs2013/libsodium/libsodium.props \ - msvc/vs2013/libsodium/libsodium.vcxproj \ - msvc/vs2013/libsodium/libsodium.vcxproj.filters \ - msvc/vs2013/libsodium/libsodium.xml \ - msvc/vs2013/libsodium.import.props \ - msvc/vs2013/libsodium.import.xml \ - msvc/vs2013/libsodium.sln \ - msvc/vs2015/libsodium/libsodium.props \ - msvc/vs2015/libsodium/libsodium.vcxproj \ - msvc/vs2015/libsodium/libsodium.vcxproj.filters \ - msvc/vs2015/libsodium/libsodium.xml \ - msvc/vs2015/libsodium.import.props \ - msvc/vs2015/libsodium.import.xml \ - msvc/vs2015/libsodium.sln \ - msvc/vs2017/libsodium/libsodium.props \ - msvc/vs2017/libsodium/libsodium.vcxproj \ - msvc/vs2017/libsodium/libsodium.vcxproj.filters \ - msvc/vs2017/libsodium/libsodium.xml \ - msvc/vs2017/libsodium.import.props \ - msvc/vs2017/libsodium.import.xml \ - msvc/vs2017/libsodium.sln \ - msvc/vs2019/libsodium/libsodium.props \ - msvc/vs2019/libsodium/libsodium.vcxproj \ - msvc/vs2019/libsodium/libsodium.vcxproj.filters \ - msvc/vs2019/libsodium/libsodium.xml \ - msvc/vs2019/libsodium.import.props \ - msvc/vs2019/libsodium.import.xml \ - msvc/vs2019/libsodium.sln diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/build/buildall.bat b/libsodium-1.0.18-RELEASE/builds/msvc/build/buildall.bat deleted file mode 100644 index 4f0b421..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/build/buildall.bat +++ /dev/null @@ -1,16 +0,0 @@ -@ECHO OFF - -CALL buildbase.bat ..\vs2019\libsodium.sln 16 -ECHO. -CALL buildbase.bat ..\vs2017\libsodium.sln 15 -ECHO. -CALL buildbase.bat ..\vs2015\libsodium.sln 14 -ECHO. -CALL buildbase.bat ..\vs2013\libsodium.sln 12 -ECHO. -CALL buildbase.bat ..\vs2012\libsodium.sln 11 -ECHO. -CALL buildbase.bat ..\vs2010\libsodium.sln 10 -ECHO. - -PAUSE diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/build/buildbase.bat b/libsodium-1.0.18-RELEASE/builds/msvc/build/buildbase.bat deleted file mode 100644 index b68cd2c..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/build/buildbase.bat +++ /dev/null @@ -1,96 +0,0 @@ -@ECHO OFF -REM Usage: [buildbase.bat ..\vs2019\mysolution.sln 16] - -SETLOCAL enabledelayedexpansion - -SET solution=%1 -SET version=%2 -SET log=build_%version%.log -SET tools=Microsoft Visual Studio %version%.0\VC\vcvarsall.bat - -IF %version% == 16 ( - SET tools=Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat - SET environment="%programfiles%\!tools!" - IF NOT EXIST !environment! ( - SET environment="%programfiles(x86)%\!tools!" - IF NOT EXIST !environment! ( - SET tools=Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat - ) - ) -) - -IF %version% == 15 ( - SET tools=Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat - SET environment="%programfiles%\!tools!" - IF NOT EXIST !environment! ( - SET environment="%programfiles(x86)%\!tools!" - IF NOT EXIST !environment! ( - SET tools=Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat - ) - ) -) -SET environment="%programfiles%\!tools!" -IF NOT EXIST !environment! SET environment="%programfiles(x86)%\!tools!" - -ECHO Environment: !environment! - -IF NOT EXIST !environment! GOTO no_tools - -ECHO Building: %solution% - -CALL !environment! x86 > nul -ECHO Platform=x86 - -ECHO Configuration=DynDebug -msbuild /m /v:n /p:Configuration=DynDebug /p:Platform=Win32 %solution% >> %log% -IF errorlevel 1 GOTO error -ECHO Configuration=DynRelease -msbuild /m /v:n /p:Configuration=DynRelease /p:Platform=Win32 %solution% >> %log% -IF errorlevel 1 GOTO error -ECHO Configuration=LtcgDebug -msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=Win32 %solution% >> %log% -IF errorlevel 1 GOTO error -ECHO Configuration=LtcgRelease -msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=Win32 %solution% >> %log% -IF errorlevel 1 GOTO error -ECHO Configuration=StaticDebug -msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=Win32 %solution% >> %log% -IF errorlevel 1 GOTO error -ECHO Configuration=StaticRelease -msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=Win32 %solution% >> %log% -IF errorlevel 1 GOTO error - -CALL !environment! x86_amd64 > nul -ECHO Platform=x64 - -ECHO Configuration=DynDebug -msbuild /m /v:n /p:Configuration=DynDebug /p:Platform=x64 %solution% >> %log% -IF errorlevel 1 GOTO error -ECHO Configuration=DynRelease -msbuild /m /v:n /p:Configuration=DynRelease /p:Platform=x64 %solution% >> %log% -IF errorlevel 1 GOTO error -ECHO Configuration=LtcgDebug -msbuild /m /v:n /p:Configuration=LtcgDebug /p:Platform=x64 %solution% >> %log% -IF errorlevel 1 GOTO error -ECHO Configuration=LtcgRelease -msbuild /m /v:n /p:Configuration=LtcgRelease /p:Platform=x64 %solution% >> %log% -IF errorlevel 1 GOTO error -ECHO Configuration=StaticDebug -msbuild /m /v:n /p:Configuration=StaticDebug /p:Platform=x64 %solution% >> %log% -IF errorlevel 1 GOTO error -ECHO Configuration=StaticRelease -msbuild /m /v:n /p:Configuration=StaticRelease /p:Platform=x64 %solution% >> %log% -IF errorlevel 1 GOTO error - -ECHO Complete: %solution% -GOTO end - -:error -ECHO *** ERROR, build terminated early, see: %log% -GOTO end - -:no_tools -ECHO *** ERROR, build tools not found: !tools! - -:end - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Common.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/Common.props deleted file mode 100644 index 72588d6..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Common.props +++ /dev/null @@ -1,21 +0,0 @@ - - - - - <_PropertySheetDisplayName>Common Settings - Unicode - - - - - - - - - true - UNICODE;_UNICODE;%(PreprocessorDefinitions) - Level3 - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DLL.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/DLL.props deleted file mode 100644 index b5aa1f0..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DLL.props +++ /dev/null @@ -1,16 +0,0 @@ - - - - - <_PropertySheetDisplayName>Dynamic Library - dynamic - .dll - - - - - _DLL;_WINDLL;%(PreprocessorDefinitions) - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Debug.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/Debug.props deleted file mode 100644 index 6fa7419..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Debug.props +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - <_PropertySheetDisplayName>Debug Settings - Debug - - - - - EnableFastChecks - ProgramDatabase - true - Disabled - _DEBUG;%(PreprocessorDefinitions) - - - _DEBUG;%(PreprocessorDefinitions) - - - true - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugDEXE.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugDEXE.props deleted file mode 100644 index fe8b577..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugDEXE.props +++ /dev/null @@ -1,21 +0,0 @@ - - - - - <_PropertySheetDisplayName>Console Debug Dynamic - dynamic - - - - - - - - - - MultiThreadedDebugDLL - true - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugDLL.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugDLL.props deleted file mode 100644 index a451d0b..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugDLL.props +++ /dev/null @@ -1,20 +0,0 @@ - - - - - <_PropertySheetDisplayName>Dynamic Debug Library - - - - - - - - - - MultiThreadedDebugDLL - true - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLEXE.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLEXE.props deleted file mode 100644 index 7fa92c0..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLEXE.props +++ /dev/null @@ -1,20 +0,0 @@ - - - - - <_PropertySheetDisplayName>Console Debug Link Time Code Generation - - - - - - - - - - - MultiThreadedDebug - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLIB.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLIB.props deleted file mode 100644 index c5f1012..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLIB.props +++ /dev/null @@ -1,21 +0,0 @@ - - - - - <_PropertySheetDisplayName>Static Debug Library - - - - - - - - - - OldStyle - MultiThreadedDebug - true - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLTCG.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLTCG.props deleted file mode 100644 index 42b22ff..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugLTCG.props +++ /dev/null @@ -1,20 +0,0 @@ - - - - - <_PropertySheetDisplayName>Static Debug Link Time Code Generation Library - - - - - - - - - - OldStyle - MultiThreadedDebug - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugSEXE.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugSEXE.props deleted file mode 100644 index 2615ffc..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/DebugSEXE.props +++ /dev/null @@ -1,21 +0,0 @@ - - - - - <_PropertySheetDisplayName>Console Debug Static - static - - - - - - - - - - MultiThreadedDebug - true - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/EXE.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/EXE.props deleted file mode 100644 index 3549064..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/EXE.props +++ /dev/null @@ -1,17 +0,0 @@ - - - - - <_PropertySheetDisplayName>Console Application - true - - - - - _CONSOLE;%(PreprocessorDefinitions) - - - Console - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/LIB.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/LIB.props deleted file mode 100644 index 3835777..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/LIB.props +++ /dev/null @@ -1,16 +0,0 @@ - - - - - <_PropertySheetDisplayName>Static Library - static - .lib - - - - - _LIB;%(PreprocessorDefinitions) - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/LTCG.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/LTCG.props deleted file mode 100644 index 0229293..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/LTCG.props +++ /dev/null @@ -1,13 +0,0 @@ - - - - - <_PropertySheetDisplayName>Link Time Code Generation Library - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Link.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/Link.props deleted file mode 100644 index db15fbb..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Link.props +++ /dev/null @@ -1,21 +0,0 @@ - - - - - <_PropertySheetDisplayName>Link Time Code Generation Settings - ltcg - - - - - true - - - UseLinkTimeCodeGeneration - - - true - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Messages.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/Messages.props deleted file mode 100644 index 06a1ab0..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Messages.props +++ /dev/null @@ -1,15 +0,0 @@ - - - - - <_PropertySheetDisplayName>Build Messages - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Output.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/Output.props deleted file mode 100644 index 492876c..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Output.props +++ /dev/null @@ -1,30 +0,0 @@ - - - - - <_PropertySheetDisplayName>Output Settings - - $(ProjectDir)..\..\ - $(ProjectDir)..\..\..\..\ - $(ProjectDir)..\..\..\..\..\ - $(ProjectDir)..\..\..\..\bin\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\ - $(ProjectDir)..\..\..\..\obj\$(TargetName)\$(PlatformName)\$(DebugOrRelease)\$(PlatformToolset)\$(DefaultLinkage)\ - $(OutDir) - $(TargetName) - $(TargetDir)$(TargetName)$(TargetExt) - - - - - $(OutDir)$(TargetName).lib - - - $(OutDir)$(TargetName).log - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Release.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/Release.props deleted file mode 100644 index 1c5415b..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Release.props +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - <_PropertySheetDisplayName>Release Settings - Release - false - - - - - /Oy- %(AdditionalOptions) - - true - true - OnlyExplicitInline - false - MaxSpeed - NDEBUG;%(PreprocessorDefinitions) - - - NDEBUG;%(PreprocessorDefinitions) - - - true - - true - - - - - - StreamingSIMDExtensions2 - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseDEXE.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseDEXE.props deleted file mode 100644 index 73deeae..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseDEXE.props +++ /dev/null @@ -1,20 +0,0 @@ - - - - - <_PropertySheetDisplayName>Console Release Dynamic - dynamic - - - - - - - - - - MultiThreadedDLL - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseDLL.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseDLL.props deleted file mode 100644 index 2071b33..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseDLL.props +++ /dev/null @@ -1,19 +0,0 @@ - - - - - <_PropertySheetDisplayName>Dynamic Release Library - - - - - - - - - - MultiThreadedDLL - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLEXE.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLEXE.props deleted file mode 100644 index beb73ef..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLEXE.props +++ /dev/null @@ -1,20 +0,0 @@ - - - - - <_PropertySheetDisplayName>Console Release Link Time Code Generation - - - - - - - - - - - MultiThreaded - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLIB.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLIB.props deleted file mode 100644 index 2b250d5..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLIB.props +++ /dev/null @@ -1,19 +0,0 @@ - - - - - <_PropertySheetDisplayName>Static Release Library - - - - - - - - - - MultiThreaded - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLTCG.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLTCG.props deleted file mode 100644 index 1814c6f..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseLTCG.props +++ /dev/null @@ -1,19 +0,0 @@ - - - - - <_PropertySheetDisplayName>Static Release Link Time Code Generation Library - - - - - - - - - - MultiThreaded - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseSEXE.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseSEXE.props deleted file mode 100644 index 2f5600a..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/ReleaseSEXE.props +++ /dev/null @@ -1,20 +0,0 @@ - - - - - <_PropertySheetDisplayName>Console Release Static - static - - - - - - - - - - MultiThreaded - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Win32.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/Win32.props deleted file mode 100644 index 09eb5e4..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/Win32.props +++ /dev/null @@ -1,23 +0,0 @@ - - - - - <_PropertySheetDisplayName>x86 Settings - - - - - WIN32;_WIN32;%(PreprocessorDefinitions) - - - Win32;%(PreprocessorDefinitions) - - - MachineX86 - - - /MACHINE:X86 %(AdditionalOptions) - - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/properties/x64.props b/libsodium-1.0.18-RELEASE/builds/msvc/properties/x64.props deleted file mode 100644 index c139a2a..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/properties/x64.props +++ /dev/null @@ -1,26 +0,0 @@ - - - - - <_PropertySheetDisplayName>x64 Settings - - - - - - WIN32;_WIN32;WIN64;_WIN64;%(PreprocessorDefinitions) - - - x64;%(PreprocessorDefinitions) - - - MachineX64 - - - /MACHINE:X64 %(AdditionalOptions) - - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/resource.h b/libsodium-1.0.18-RELEASE/builds/msvc/resource.h deleted file mode 100644 index d42b43e..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Resource.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/resource.rc b/libsodium-1.0.18-RELEASE/builds/msvc/resource.rc deleted file mode 100644 index 7f007ef..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/resource.rc +++ /dev/null @@ -1,63 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" -#include "windows.h" - -//specify the version numbers for the dll's -#define LIBSODIUM_VERSION_STRING "1.0.18.0" -#define LIBSODIUM_VERSION_BIN 1,0,18,0 - -//specify the product name for the dlls based on the platform we are compiling for -#if defined(x64) - #define LIBSODIUM_PRODUCT_NAME "libsodium (x64)" -#elif defined(Win32) - #define LIBSODIUM_PRODUCT_NAME "libsodium (x86)" -#else - #define LIBSODIUM_PRODUCT_NAME "libsodium" -#endif - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION LIBSODIUM_VERSION_BIN - PRODUCTVERSION LIBSODIUM_VERSION_BIN - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x7L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "FileDescription", "The Sodium crypto library (libsodium) " - VALUE "FileVersion", LIBSODIUM_VERSION_STRING - VALUE "InternalName", "libsodium" - VALUE "LegalCopyright", "Copyright (c) 2013-2019 The libsodium authors." - VALUE "OriginalFilename", "libsodium.dll" - VALUE "ProductName", LIBSODIUM_PRODUCT_NAME - VALUE "ProductVersion", LIBSODIUM_VERSION_STRING - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/version.h b/libsodium-1.0.18-RELEASE/builds/msvc/version.h deleted file mode 100644 index 174d992..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/version.h +++ /dev/null @@ -1,32 +0,0 @@ - -#ifndef sodium_version_H -#define sodium_version_H - -#include "export.h" - -#define SODIUM_VERSION_STRING "1.0.18" - -#define SODIUM_LIBRARY_VERSION_MAJOR 10 -#define SODIUM_LIBRARY_VERSION_MINOR 3 - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -const char *sodium_version_string(void); - -SODIUM_EXPORT -int sodium_library_version_major(void); - -SODIUM_EXPORT -int sodium_library_version_minor(void); - -SODIUM_EXPORT -int sodium_library_minimal(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.import.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.import.props deleted file mode 100644 index b3d7e4f..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.import.props +++ /dev/null @@ -1,52 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Import Settings - - - - - - - - - - - - - $(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - SODIUM_STATIC;%(PreprocessorDefinitions) - - - advapi32.lib;libsodium.lib;%(AdditionalDependencies) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.import.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.import.xml deleted file mode 100644 index dbcf4e5..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.import.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.sln b/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.sln deleted file mode 100644 index 6a0a970..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium.sln +++ /dev/null @@ -1,50 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsodium", "libsodium\libsodium.vcxproj", "{A185B162-6CB6-4502-B03F-B56F7699A8D9}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - DynDebug|Win32 = DynDebug|Win32 - DynDebug|x64 = DynDebug|x64 - DynRelease|Win32 = DynRelease|Win32 - DynRelease|x64 = DynRelease|x64 - LtcgDebug|Win32 = LtcgDebug|Win32 - LtcgDebug|x64 = LtcgDebug|x64 - LtcgRelease|Win32 = LtcgRelease|Win32 - LtcgRelease|x64 = LtcgRelease|x64 - StaticDebug|Win32 = StaticDebug|Win32 - StaticDebug|x64 = StaticDebug|x64 - StaticRelease|Win32 = StaticRelease|Win32 - StaticRelease|x64 = StaticRelease|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.Build.0 = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.ActiveCfg = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.Build.0 = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.Build.0 = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.Build.0 = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.Build.0 = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.props deleted file mode 100644 index 5a23903..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.props +++ /dev/null @@ -1,48 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Common Settings - AllRules.ruleset - false - - - - - - - - - - - - - copy "$(BuildRoot)version.h" "$(RepoRoot)src\libsodium\include\sodium\" - - - $(RepoRoot)src\libsodium\include;$(RepoRoot)src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - 4146;4244;%(DisableSpecificWarnings) - false - inline=__inline;NATIVE_LITTLE_ENDIAN;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - SODIUM_STATIC;%(PreprocessorDefinitions) - SODIUM_DLL_EXPORT;%(PreprocessorDefinitions) - HAVE_AMD64_ASM;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - advapi32.lib - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.vcxproj b/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.vcxproj deleted file mode 100644 index 90adc2d..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.vcxproj +++ /dev/null @@ -1,327 +0,0 @@ - - - - {A185B162-6CB6-4502-B03F-B56F7699A8D9} - libsodium - v100 - - - - DebugDLL - Win32 - - - ReleaseDLL - Win32 - - - DebugDLL - x64 - - - ReleaseDLL - x64 - - - DebugLTCG - Win32 - - - ReleaseLTCG - Win32 - - - DebugLTCG - x64 - - - ReleaseLTCG - x64 - - - DebugLIB - Win32 - - - ReleaseLIB - Win32 - - - DebugLIB - x64 - - - ReleaseLIB - x64 - - - - StaticLibrary - DynamicLibrary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters b/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters deleted file mode 100644 index 9a32b79..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +++ /dev/null @@ -1,998 +0,0 @@ - - - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - - - - - - crypto_generichash - - - crypto_generichash\blake2b - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_kx - - - crypto_sign - - - crypto_sign\ed25519 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_secretbox - - - crypto_secretbox - - - crypto_secretbox\xsalsa20poly1305 - - - crypto_secretbox\xchacha20poly1305 - - - crypto_pwhash - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256\nosse - - - crypto_pwhash\scryptsalsa208sha256\sse - - - crypto_verify\sodium - - - crypto_auth - - - crypto_auth\hmacsha512 - - - crypto_auth\hmacsha512256 - - - crypto_auth\hmacsha256 - - - crypto_kdf - - - crypto_kdf\blake2b - - - crypto_shorthash - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24\ref - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult - - - crypto_scalarmult\ristretto255\ref10 - - - crypto_scalarmult\ed25519\ref10 - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - randombytes - - - randombytes\sysrandom - - - randombytes\internal - - - crypto_box - - - crypto_box - - - crypto_box - - - crypto_box\curve25519xsalsa20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - sodium - - - sodium - - - sodium - - - sodium - - - sodium - - - crypto_stream - - - crypto_stream\xchacha20 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_stream\salsa2012 - - - crypto_stream\salsa2012\ref - - - crypto_stream\salsa208 - - - crypto_stream\salsa208\ref - - - crypto_stream\xsalsa20 - - - crypto_hash - - - crypto_hash\sha512 - - - crypto_hash\sha512\cp - - - crypto_hash\sha256 - - - crypto_hash\sha256\cp - - - crypto_aead\xchacha20poly1305\sodium - - - crypto_aead\aes256gcm\aesni - - - crypto_aead\chacha20poly1305\sodium - - - crypto_secretstream\xchacha20poly1305 - - - crypto_core\salsa\ref - - - crypto_core\hchacha20 - - - crypto_core\hsalsa20 - - - crypto_core\hsalsa20\ref2 - - - crypto_core\ed25519 - - - crypto_core\ed25519 - - - crypto_core\ed25519\ref10 - - - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_sign\ed25519\ref10 - - - include - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - - - {a6837e41-3751-38c9-bb90-dd59d5f4af7b} - - - {3e53394c-b59c-30cc-ae69-a4f46f9edfa3} - - - {7eb51140-a50f-3f50-b379-83677a82496c} - - - {1f4d6dd1-517f-3eeb-b974-2304ada5e67a} - - - {b145288f-68ad-3e79-93cb-e36537b20e26} - - - {3122f223-e6c2-3ab1-ad85-ca289b47419e} - - - {2720c2c8-c517-356e-83ed-c2997ab782c3} - - - {0a3af0f3-56f7-3551-a64e-6284feccc423} - - - {64e89b4f-eec9-38c9-90f2-4881bf5e84c0} - - - {0c0b4001-ae11-3d0f-8e73-75ac9b6e1ae8} - - - {f5065d74-beda-3e1e-819a-f606279c7fe9} - - - {f7aedb93-94a6-3ede-9374-ff41daca4841} - - - {0e7473c9-9c69-36b3-ab6c-d953647a15a6} - - - {d75db64c-eb08-3f10-9b99-1b6e6827f348} - - - {73194d5d-588a-342f-bee6-f28b4486f20b} - - - {7c5e6f81-e4ce-3018-a776-a1f125072d73} - - - {76990c08-d692-367f-b286-c728a8cad6bf} - - - {bf04f786-7862-3bde-aeba-ed82ee59ca22} - - - {98b6126a-3725-3707-a4cc-ff3af657cba0} - - - {8b704d11-af1f-30c0-9981-479da6d88dc3} - - - {342e684b-4e18-311c-953c-8391a544a04f} - - - {c6b8e28c-7c54-3af7-bee3-2948ba7b2082} - - - {4e9a1d6b-ee07-3bbc-ad78-6d0ba0e6d9d3} - - - {eb259fd9-56f0-32db-a903-6bc1549a7326} - - - {e53b6258-fcdd-34c8-96c5-44510a34a390} - - - {8bd3b558-2d08-3c3a-81ca-22677dde943b} - - - {16a8dd41-b0ab-39a7-80c8-3052d8b63811} - - - {d7ec3690-bae7-3653-8c53-66a3142cfcfa} - - - {722ef422-8c03-3008-ba2a-3a7e91c6647c} - - - {8c7d8b62-7b4f-3eb9-85b7-18e8d925be14} - - - {8fb6a906-dbd6-3746-9b0f-f49e7028daec} - - - {f2d6a22b-dd67-3561-90a4-88696169cb7b} - - - {aaf59186-1c0d-33cf-a34d-93e14bb87226} - - - {3d42d2a2-b192-33dd-9162-508916414707} - - - {898b6bd5-1360-3a34-adcd-0fade7561685} - - - {323c0a15-3c1d-39b2-9ec1-299deb299497} - - - {52c2080d-37c0-34c2-864a-c201c728e5d8} - - - {ff618a41-caeb-3a18-ad36-d34b049a8f50} - - - {ffc3712d-dfe0-3b51-8257-f5ffc9c9cea3} - - - {f54b65b6-71cf-3ab3-9c8c-f89c81846836} - - - {1bd97a78-befa-3805-8e9c-80d7c1aff37b} - - - {e785f104-1212-37bf-8511-cc518b9ace66} - - - {447b993f-59fb-3efd-8c59-a1712c97dfe8} - - - {cdb8d233-06b0-3872-a62b-c1ccf4cb4314} - - - {402a1c5a-d499-333a-a2fa-acd0e6a3c2b2} - - - {77f5a2e9-2ef1-3a72-b63c-88e8e4b92678} - - - {6c9c7c30-0808-3fad-8a88-944d7645e5d5} - - - {5d2fb1a2-f063-32db-a81a-41f79e36fd23} - - - {7bec6074-fbc7-330b-9e18-7dc3e868569a} - - - {834d4827-81e4-3de3-baa1-a216763f11d6} - - - {52bf28eb-7ffd-399a-be35-0df3e8e99c15} - - - {39cc576f-4b54-3d71-b14c-27445bc4b138} - - - {b9b02bee-5c1f-36d2-b97d-983f865a4cc6} - - - {41f1f35b-4639-3424-be85-7dfba02f3c5e} - - - {8bf11d29-2f5a-3f10-8ae6-82229d19c5b0} - - - {62f7ae38-4ce6-3976-acc3-47c462db4fbe} - - - {e07a28cd-775a-3798-bfdb-97842d3614d6} - - - {bb073c16-adc8-3cff-80b9-99cf5a28de6c} - - - {63de0ec8-ecde-35e3-8b97-6e9e4da342ee} - - - {29925210-53eb-342c-8527-7ebc173e668f} - - - {b2f989b6-87a6-3388-a35c-2d0d59cb4236} - - - {bc6466a1-57b0-3a35-9973-ad488a4bef8c} - - - {5599d9ab-b5b2-3310-b541-ae0fb70eecf1} - - - {eaedd08a-46f8-3d12-9e8d-bb3ee3ead5f6} - - - {806b6ff3-578b-308a-a359-0f5ed8472ecc} - - - {5a1d852e-67bb-3dc1-9ec5-99ef74b7faca} - - - {33e45d9c-e12a-3e76-9ef2-4f5510244a5b} - - - {048ba2a8-b22b-346c-9886-668b63c88c68} - - - {f08a312f-f8a3-350b-87ab-1f79d33e513f} - - - {c403f690-cd22-3ed4-9cc7-3f46e73081fd} - - - {c34d03f5-cf47-39fe-a5ad-5eb917006203} - - - {4da0c5ca-33d1-34e0-9689-12e69ae2dbd6} - - - {dd6b294c-5871-386c-92ec-aa46fcc411d4} - - - {07aca978-0547-329a-b70b-29aa579cacc5} - - - {f171fa05-35c4-32a0-b035-b5d6680ab714} - - - {ede2279c-1ba7-3d62-8345-733c6c1965e7} - - - {9c15151b-10dc-3dfe-b97b-a7d8c6b58920} - - - {49fb9272-ffe2-3993-b562-b19d5f2c9b40} - - - {80669cf5-3c9c-3c60-b409-9d8fb305bc77} - - - {96da72eb-3aa0-3850-83eb-32788f91e5bd} - - - {56bb40fc-d381-3a9e-925b-681774c48dde} - - - {fde88485-0fe6-3b22-9480-1d2b49fade53} - - - {ef090484-4db4-3dc2-aca7-c59bab1db23b} - - - {14c126fd-bb91-37ea-b807-b60c386be601} - - - {ac56c38f-7e17-3b79-bf47-58e9476b3b89} - - - {5dfc520b-f690-3d5f-a86a-8b667f2e7490} - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.xml deleted file mode 100644 index 808ccb9..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2010/libsodium/libsodium.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.import.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.import.props deleted file mode 100644 index b3d7e4f..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.import.props +++ /dev/null @@ -1,52 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Import Settings - - - - - - - - - - - - - $(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - SODIUM_STATIC;%(PreprocessorDefinitions) - - - advapi32.lib;libsodium.lib;%(AdditionalDependencies) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.import.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.import.xml deleted file mode 100644 index dbcf4e5..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.import.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.sln b/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.sln deleted file mode 100644 index 251421a..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium.sln +++ /dev/null @@ -1,50 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Express 2012 for Windows Desktop -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsodium", "libsodium\libsodium.vcxproj", "{A185B162-6CB6-4502-B03F-B56F7699A8D9}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - DynDebug|Win32 = DynDebug|Win32 - DynDebug|x64 = DynDebug|x64 - DynRelease|Win32 = DynRelease|Win32 - DynRelease|x64 = DynRelease|x64 - LtcgDebug|Win32 = LtcgDebug|Win32 - LtcgDebug|x64 = LtcgDebug|x64 - LtcgRelease|Win32 = LtcgRelease|Win32 - LtcgRelease|x64 = LtcgRelease|x64 - StaticDebug|Win32 = StaticDebug|Win32 - StaticDebug|x64 = StaticDebug|x64 - StaticRelease|Win32 = StaticRelease|Win32 - StaticRelease|x64 = StaticRelease|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.Build.0 = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.ActiveCfg = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.Build.0 = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.Build.0 = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.Build.0 = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.Build.0 = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.props deleted file mode 100644 index 5a23903..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.props +++ /dev/null @@ -1,48 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Common Settings - AllRules.ruleset - false - - - - - - - - - - - - - copy "$(BuildRoot)version.h" "$(RepoRoot)src\libsodium\include\sodium\" - - - $(RepoRoot)src\libsodium\include;$(RepoRoot)src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - 4146;4244;%(DisableSpecificWarnings) - false - inline=__inline;NATIVE_LITTLE_ENDIAN;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - SODIUM_STATIC;%(PreprocessorDefinitions) - SODIUM_DLL_EXPORT;%(PreprocessorDefinitions) - HAVE_AMD64_ASM;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - advapi32.lib - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.vcxproj b/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.vcxproj deleted file mode 100644 index 139d572..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.vcxproj +++ /dev/null @@ -1,327 +0,0 @@ - - - - {A185B162-6CB6-4502-B03F-B56F7699A8D9} - libsodium - v110 - - - - DebugDLL - Win32 - - - ReleaseDLL - Win32 - - - DebugDLL - x64 - - - ReleaseDLL - x64 - - - DebugLTCG - Win32 - - - ReleaseLTCG - Win32 - - - DebugLTCG - x64 - - - ReleaseLTCG - x64 - - - DebugLIB - Win32 - - - ReleaseLIB - Win32 - - - DebugLIB - x64 - - - ReleaseLIB - x64 - - - - StaticLibrary - DynamicLibrary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters b/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters deleted file mode 100644 index 9a32b79..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +++ /dev/null @@ -1,998 +0,0 @@ - - - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - - - - - - crypto_generichash - - - crypto_generichash\blake2b - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_kx - - - crypto_sign - - - crypto_sign\ed25519 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_secretbox - - - crypto_secretbox - - - crypto_secretbox\xsalsa20poly1305 - - - crypto_secretbox\xchacha20poly1305 - - - crypto_pwhash - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256\nosse - - - crypto_pwhash\scryptsalsa208sha256\sse - - - crypto_verify\sodium - - - crypto_auth - - - crypto_auth\hmacsha512 - - - crypto_auth\hmacsha512256 - - - crypto_auth\hmacsha256 - - - crypto_kdf - - - crypto_kdf\blake2b - - - crypto_shorthash - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24\ref - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult - - - crypto_scalarmult\ristretto255\ref10 - - - crypto_scalarmult\ed25519\ref10 - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - randombytes - - - randombytes\sysrandom - - - randombytes\internal - - - crypto_box - - - crypto_box - - - crypto_box - - - crypto_box\curve25519xsalsa20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - sodium - - - sodium - - - sodium - - - sodium - - - sodium - - - crypto_stream - - - crypto_stream\xchacha20 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_stream\salsa2012 - - - crypto_stream\salsa2012\ref - - - crypto_stream\salsa208 - - - crypto_stream\salsa208\ref - - - crypto_stream\xsalsa20 - - - crypto_hash - - - crypto_hash\sha512 - - - crypto_hash\sha512\cp - - - crypto_hash\sha256 - - - crypto_hash\sha256\cp - - - crypto_aead\xchacha20poly1305\sodium - - - crypto_aead\aes256gcm\aesni - - - crypto_aead\chacha20poly1305\sodium - - - crypto_secretstream\xchacha20poly1305 - - - crypto_core\salsa\ref - - - crypto_core\hchacha20 - - - crypto_core\hsalsa20 - - - crypto_core\hsalsa20\ref2 - - - crypto_core\ed25519 - - - crypto_core\ed25519 - - - crypto_core\ed25519\ref10 - - - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_sign\ed25519\ref10 - - - include - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - - - {a6837e41-3751-38c9-bb90-dd59d5f4af7b} - - - {3e53394c-b59c-30cc-ae69-a4f46f9edfa3} - - - {7eb51140-a50f-3f50-b379-83677a82496c} - - - {1f4d6dd1-517f-3eeb-b974-2304ada5e67a} - - - {b145288f-68ad-3e79-93cb-e36537b20e26} - - - {3122f223-e6c2-3ab1-ad85-ca289b47419e} - - - {2720c2c8-c517-356e-83ed-c2997ab782c3} - - - {0a3af0f3-56f7-3551-a64e-6284feccc423} - - - {64e89b4f-eec9-38c9-90f2-4881bf5e84c0} - - - {0c0b4001-ae11-3d0f-8e73-75ac9b6e1ae8} - - - {f5065d74-beda-3e1e-819a-f606279c7fe9} - - - {f7aedb93-94a6-3ede-9374-ff41daca4841} - - - {0e7473c9-9c69-36b3-ab6c-d953647a15a6} - - - {d75db64c-eb08-3f10-9b99-1b6e6827f348} - - - {73194d5d-588a-342f-bee6-f28b4486f20b} - - - {7c5e6f81-e4ce-3018-a776-a1f125072d73} - - - {76990c08-d692-367f-b286-c728a8cad6bf} - - - {bf04f786-7862-3bde-aeba-ed82ee59ca22} - - - {98b6126a-3725-3707-a4cc-ff3af657cba0} - - - {8b704d11-af1f-30c0-9981-479da6d88dc3} - - - {342e684b-4e18-311c-953c-8391a544a04f} - - - {c6b8e28c-7c54-3af7-bee3-2948ba7b2082} - - - {4e9a1d6b-ee07-3bbc-ad78-6d0ba0e6d9d3} - - - {eb259fd9-56f0-32db-a903-6bc1549a7326} - - - {e53b6258-fcdd-34c8-96c5-44510a34a390} - - - {8bd3b558-2d08-3c3a-81ca-22677dde943b} - - - {16a8dd41-b0ab-39a7-80c8-3052d8b63811} - - - {d7ec3690-bae7-3653-8c53-66a3142cfcfa} - - - {722ef422-8c03-3008-ba2a-3a7e91c6647c} - - - {8c7d8b62-7b4f-3eb9-85b7-18e8d925be14} - - - {8fb6a906-dbd6-3746-9b0f-f49e7028daec} - - - {f2d6a22b-dd67-3561-90a4-88696169cb7b} - - - {aaf59186-1c0d-33cf-a34d-93e14bb87226} - - - {3d42d2a2-b192-33dd-9162-508916414707} - - - {898b6bd5-1360-3a34-adcd-0fade7561685} - - - {323c0a15-3c1d-39b2-9ec1-299deb299497} - - - {52c2080d-37c0-34c2-864a-c201c728e5d8} - - - {ff618a41-caeb-3a18-ad36-d34b049a8f50} - - - {ffc3712d-dfe0-3b51-8257-f5ffc9c9cea3} - - - {f54b65b6-71cf-3ab3-9c8c-f89c81846836} - - - {1bd97a78-befa-3805-8e9c-80d7c1aff37b} - - - {e785f104-1212-37bf-8511-cc518b9ace66} - - - {447b993f-59fb-3efd-8c59-a1712c97dfe8} - - - {cdb8d233-06b0-3872-a62b-c1ccf4cb4314} - - - {402a1c5a-d499-333a-a2fa-acd0e6a3c2b2} - - - {77f5a2e9-2ef1-3a72-b63c-88e8e4b92678} - - - {6c9c7c30-0808-3fad-8a88-944d7645e5d5} - - - {5d2fb1a2-f063-32db-a81a-41f79e36fd23} - - - {7bec6074-fbc7-330b-9e18-7dc3e868569a} - - - {834d4827-81e4-3de3-baa1-a216763f11d6} - - - {52bf28eb-7ffd-399a-be35-0df3e8e99c15} - - - {39cc576f-4b54-3d71-b14c-27445bc4b138} - - - {b9b02bee-5c1f-36d2-b97d-983f865a4cc6} - - - {41f1f35b-4639-3424-be85-7dfba02f3c5e} - - - {8bf11d29-2f5a-3f10-8ae6-82229d19c5b0} - - - {62f7ae38-4ce6-3976-acc3-47c462db4fbe} - - - {e07a28cd-775a-3798-bfdb-97842d3614d6} - - - {bb073c16-adc8-3cff-80b9-99cf5a28de6c} - - - {63de0ec8-ecde-35e3-8b97-6e9e4da342ee} - - - {29925210-53eb-342c-8527-7ebc173e668f} - - - {b2f989b6-87a6-3388-a35c-2d0d59cb4236} - - - {bc6466a1-57b0-3a35-9973-ad488a4bef8c} - - - {5599d9ab-b5b2-3310-b541-ae0fb70eecf1} - - - {eaedd08a-46f8-3d12-9e8d-bb3ee3ead5f6} - - - {806b6ff3-578b-308a-a359-0f5ed8472ecc} - - - {5a1d852e-67bb-3dc1-9ec5-99ef74b7faca} - - - {33e45d9c-e12a-3e76-9ef2-4f5510244a5b} - - - {048ba2a8-b22b-346c-9886-668b63c88c68} - - - {f08a312f-f8a3-350b-87ab-1f79d33e513f} - - - {c403f690-cd22-3ed4-9cc7-3f46e73081fd} - - - {c34d03f5-cf47-39fe-a5ad-5eb917006203} - - - {4da0c5ca-33d1-34e0-9689-12e69ae2dbd6} - - - {dd6b294c-5871-386c-92ec-aa46fcc411d4} - - - {07aca978-0547-329a-b70b-29aa579cacc5} - - - {f171fa05-35c4-32a0-b035-b5d6680ab714} - - - {ede2279c-1ba7-3d62-8345-733c6c1965e7} - - - {9c15151b-10dc-3dfe-b97b-a7d8c6b58920} - - - {49fb9272-ffe2-3993-b562-b19d5f2c9b40} - - - {80669cf5-3c9c-3c60-b409-9d8fb305bc77} - - - {96da72eb-3aa0-3850-83eb-32788f91e5bd} - - - {56bb40fc-d381-3a9e-925b-681774c48dde} - - - {fde88485-0fe6-3b22-9480-1d2b49fade53} - - - {ef090484-4db4-3dc2-aca7-c59bab1db23b} - - - {14c126fd-bb91-37ea-b807-b60c386be601} - - - {ac56c38f-7e17-3b79-bf47-58e9476b3b89} - - - {5dfc520b-f690-3d5f-a86a-8b667f2e7490} - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.xml deleted file mode 100644 index 808ccb9..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2012/libsodium/libsodium.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.import.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.import.props deleted file mode 100644 index b3d7e4f..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.import.props +++ /dev/null @@ -1,52 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Import Settings - - - - - - - - - - - - - $(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - SODIUM_STATIC;%(PreprocessorDefinitions) - - - advapi32.lib;libsodium.lib;%(AdditionalDependencies) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.import.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.import.xml deleted file mode 100644 index dbcf4e5..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.import.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.sln b/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.sln deleted file mode 100644 index 28f50ca..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium.sln +++ /dev/null @@ -1,52 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.31101.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsodium", "libsodium\libsodium.vcxproj", "{A185B162-6CB6-4502-B03F-B56F7699A8D9}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - DynDebug|Win32 = DynDebug|Win32 - DynDebug|x64 = DynDebug|x64 - DynRelease|Win32 = DynRelease|Win32 - DynRelease|x64 = DynRelease|x64 - LtcgDebug|Win32 = LtcgDebug|Win32 - LtcgDebug|x64 = LtcgDebug|x64 - LtcgRelease|Win32 = LtcgRelease|Win32 - LtcgRelease|x64 = LtcgRelease|x64 - StaticDebug|Win32 = StaticDebug|Win32 - StaticDebug|x64 = StaticDebug|x64 - StaticRelease|Win32 = StaticRelease|Win32 - StaticRelease|x64 = StaticRelease|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.Build.0 = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.ActiveCfg = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.Build.0 = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.Build.0 = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.Build.0 = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.Build.0 = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.props deleted file mode 100644 index 5a23903..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.props +++ /dev/null @@ -1,48 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Common Settings - AllRules.ruleset - false - - - - - - - - - - - - - copy "$(BuildRoot)version.h" "$(RepoRoot)src\libsodium\include\sodium\" - - - $(RepoRoot)src\libsodium\include;$(RepoRoot)src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - 4146;4244;%(DisableSpecificWarnings) - false - inline=__inline;NATIVE_LITTLE_ENDIAN;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - SODIUM_STATIC;%(PreprocessorDefinitions) - SODIUM_DLL_EXPORT;%(PreprocessorDefinitions) - HAVE_AMD64_ASM;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - advapi32.lib - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.vcxproj b/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.vcxproj deleted file mode 100644 index 8110a71..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.vcxproj +++ /dev/null @@ -1,327 +0,0 @@ - - - - {A185B162-6CB6-4502-B03F-B56F7699A8D9} - libsodium - v120 - - - - DebugDLL - Win32 - - - ReleaseDLL - Win32 - - - DebugDLL - x64 - - - ReleaseDLL - x64 - - - DebugLTCG - Win32 - - - ReleaseLTCG - Win32 - - - DebugLTCG - x64 - - - ReleaseLTCG - x64 - - - DebugLIB - Win32 - - - ReleaseLIB - Win32 - - - DebugLIB - x64 - - - ReleaseLIB - x64 - - - - StaticLibrary - DynamicLibrary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters b/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters deleted file mode 100644 index 9a32b79..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +++ /dev/null @@ -1,998 +0,0 @@ - - - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - - - - - - crypto_generichash - - - crypto_generichash\blake2b - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_kx - - - crypto_sign - - - crypto_sign\ed25519 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_secretbox - - - crypto_secretbox - - - crypto_secretbox\xsalsa20poly1305 - - - crypto_secretbox\xchacha20poly1305 - - - crypto_pwhash - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256\nosse - - - crypto_pwhash\scryptsalsa208sha256\sse - - - crypto_verify\sodium - - - crypto_auth - - - crypto_auth\hmacsha512 - - - crypto_auth\hmacsha512256 - - - crypto_auth\hmacsha256 - - - crypto_kdf - - - crypto_kdf\blake2b - - - crypto_shorthash - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24\ref - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult - - - crypto_scalarmult\ristretto255\ref10 - - - crypto_scalarmult\ed25519\ref10 - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - randombytes - - - randombytes\sysrandom - - - randombytes\internal - - - crypto_box - - - crypto_box - - - crypto_box - - - crypto_box\curve25519xsalsa20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - sodium - - - sodium - - - sodium - - - sodium - - - sodium - - - crypto_stream - - - crypto_stream\xchacha20 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_stream\salsa2012 - - - crypto_stream\salsa2012\ref - - - crypto_stream\salsa208 - - - crypto_stream\salsa208\ref - - - crypto_stream\xsalsa20 - - - crypto_hash - - - crypto_hash\sha512 - - - crypto_hash\sha512\cp - - - crypto_hash\sha256 - - - crypto_hash\sha256\cp - - - crypto_aead\xchacha20poly1305\sodium - - - crypto_aead\aes256gcm\aesni - - - crypto_aead\chacha20poly1305\sodium - - - crypto_secretstream\xchacha20poly1305 - - - crypto_core\salsa\ref - - - crypto_core\hchacha20 - - - crypto_core\hsalsa20 - - - crypto_core\hsalsa20\ref2 - - - crypto_core\ed25519 - - - crypto_core\ed25519 - - - crypto_core\ed25519\ref10 - - - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_sign\ed25519\ref10 - - - include - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - - - {a6837e41-3751-38c9-bb90-dd59d5f4af7b} - - - {3e53394c-b59c-30cc-ae69-a4f46f9edfa3} - - - {7eb51140-a50f-3f50-b379-83677a82496c} - - - {1f4d6dd1-517f-3eeb-b974-2304ada5e67a} - - - {b145288f-68ad-3e79-93cb-e36537b20e26} - - - {3122f223-e6c2-3ab1-ad85-ca289b47419e} - - - {2720c2c8-c517-356e-83ed-c2997ab782c3} - - - {0a3af0f3-56f7-3551-a64e-6284feccc423} - - - {64e89b4f-eec9-38c9-90f2-4881bf5e84c0} - - - {0c0b4001-ae11-3d0f-8e73-75ac9b6e1ae8} - - - {f5065d74-beda-3e1e-819a-f606279c7fe9} - - - {f7aedb93-94a6-3ede-9374-ff41daca4841} - - - {0e7473c9-9c69-36b3-ab6c-d953647a15a6} - - - {d75db64c-eb08-3f10-9b99-1b6e6827f348} - - - {73194d5d-588a-342f-bee6-f28b4486f20b} - - - {7c5e6f81-e4ce-3018-a776-a1f125072d73} - - - {76990c08-d692-367f-b286-c728a8cad6bf} - - - {bf04f786-7862-3bde-aeba-ed82ee59ca22} - - - {98b6126a-3725-3707-a4cc-ff3af657cba0} - - - {8b704d11-af1f-30c0-9981-479da6d88dc3} - - - {342e684b-4e18-311c-953c-8391a544a04f} - - - {c6b8e28c-7c54-3af7-bee3-2948ba7b2082} - - - {4e9a1d6b-ee07-3bbc-ad78-6d0ba0e6d9d3} - - - {eb259fd9-56f0-32db-a903-6bc1549a7326} - - - {e53b6258-fcdd-34c8-96c5-44510a34a390} - - - {8bd3b558-2d08-3c3a-81ca-22677dde943b} - - - {16a8dd41-b0ab-39a7-80c8-3052d8b63811} - - - {d7ec3690-bae7-3653-8c53-66a3142cfcfa} - - - {722ef422-8c03-3008-ba2a-3a7e91c6647c} - - - {8c7d8b62-7b4f-3eb9-85b7-18e8d925be14} - - - {8fb6a906-dbd6-3746-9b0f-f49e7028daec} - - - {f2d6a22b-dd67-3561-90a4-88696169cb7b} - - - {aaf59186-1c0d-33cf-a34d-93e14bb87226} - - - {3d42d2a2-b192-33dd-9162-508916414707} - - - {898b6bd5-1360-3a34-adcd-0fade7561685} - - - {323c0a15-3c1d-39b2-9ec1-299deb299497} - - - {52c2080d-37c0-34c2-864a-c201c728e5d8} - - - {ff618a41-caeb-3a18-ad36-d34b049a8f50} - - - {ffc3712d-dfe0-3b51-8257-f5ffc9c9cea3} - - - {f54b65b6-71cf-3ab3-9c8c-f89c81846836} - - - {1bd97a78-befa-3805-8e9c-80d7c1aff37b} - - - {e785f104-1212-37bf-8511-cc518b9ace66} - - - {447b993f-59fb-3efd-8c59-a1712c97dfe8} - - - {cdb8d233-06b0-3872-a62b-c1ccf4cb4314} - - - {402a1c5a-d499-333a-a2fa-acd0e6a3c2b2} - - - {77f5a2e9-2ef1-3a72-b63c-88e8e4b92678} - - - {6c9c7c30-0808-3fad-8a88-944d7645e5d5} - - - {5d2fb1a2-f063-32db-a81a-41f79e36fd23} - - - {7bec6074-fbc7-330b-9e18-7dc3e868569a} - - - {834d4827-81e4-3de3-baa1-a216763f11d6} - - - {52bf28eb-7ffd-399a-be35-0df3e8e99c15} - - - {39cc576f-4b54-3d71-b14c-27445bc4b138} - - - {b9b02bee-5c1f-36d2-b97d-983f865a4cc6} - - - {41f1f35b-4639-3424-be85-7dfba02f3c5e} - - - {8bf11d29-2f5a-3f10-8ae6-82229d19c5b0} - - - {62f7ae38-4ce6-3976-acc3-47c462db4fbe} - - - {e07a28cd-775a-3798-bfdb-97842d3614d6} - - - {bb073c16-adc8-3cff-80b9-99cf5a28de6c} - - - {63de0ec8-ecde-35e3-8b97-6e9e4da342ee} - - - {29925210-53eb-342c-8527-7ebc173e668f} - - - {b2f989b6-87a6-3388-a35c-2d0d59cb4236} - - - {bc6466a1-57b0-3a35-9973-ad488a4bef8c} - - - {5599d9ab-b5b2-3310-b541-ae0fb70eecf1} - - - {eaedd08a-46f8-3d12-9e8d-bb3ee3ead5f6} - - - {806b6ff3-578b-308a-a359-0f5ed8472ecc} - - - {5a1d852e-67bb-3dc1-9ec5-99ef74b7faca} - - - {33e45d9c-e12a-3e76-9ef2-4f5510244a5b} - - - {048ba2a8-b22b-346c-9886-668b63c88c68} - - - {f08a312f-f8a3-350b-87ab-1f79d33e513f} - - - {c403f690-cd22-3ed4-9cc7-3f46e73081fd} - - - {c34d03f5-cf47-39fe-a5ad-5eb917006203} - - - {4da0c5ca-33d1-34e0-9689-12e69ae2dbd6} - - - {dd6b294c-5871-386c-92ec-aa46fcc411d4} - - - {07aca978-0547-329a-b70b-29aa579cacc5} - - - {f171fa05-35c4-32a0-b035-b5d6680ab714} - - - {ede2279c-1ba7-3d62-8345-733c6c1965e7} - - - {9c15151b-10dc-3dfe-b97b-a7d8c6b58920} - - - {49fb9272-ffe2-3993-b562-b19d5f2c9b40} - - - {80669cf5-3c9c-3c60-b409-9d8fb305bc77} - - - {96da72eb-3aa0-3850-83eb-32788f91e5bd} - - - {56bb40fc-d381-3a9e-925b-681774c48dde} - - - {fde88485-0fe6-3b22-9480-1d2b49fade53} - - - {ef090484-4db4-3dc2-aca7-c59bab1db23b} - - - {14c126fd-bb91-37ea-b807-b60c386be601} - - - {ac56c38f-7e17-3b79-bf47-58e9476b3b89} - - - {5dfc520b-f690-3d5f-a86a-8b667f2e7490} - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.xml deleted file mode 100644 index 808ccb9..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2013/libsodium/libsodium.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.import.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.import.props deleted file mode 100644 index b3d7e4f..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.import.props +++ /dev/null @@ -1,52 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Import Settings - - - - - - - - - - - - - $(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - SODIUM_STATIC;%(PreprocessorDefinitions) - - - advapi32.lib;libsodium.lib;%(AdditionalDependencies) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.import.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.import.xml deleted file mode 100644 index dbcf4e5..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.import.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.sln b/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.sln deleted file mode 100644 index af37123..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium.sln +++ /dev/null @@ -1,52 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.23107.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsodium", "libsodium\libsodium.vcxproj", "{A185B162-6CB6-4502-B03F-B56F7699A8D9}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - DynDebug|Win32 = DynDebug|Win32 - DynDebug|x64 = DynDebug|x64 - DynRelease|Win32 = DynRelease|Win32 - DynRelease|x64 = DynRelease|x64 - LtcgDebug|Win32 = LtcgDebug|Win32 - LtcgDebug|x64 = LtcgDebug|x64 - LtcgRelease|Win32 = LtcgRelease|Win32 - LtcgRelease|x64 = LtcgRelease|x64 - StaticDebug|Win32 = StaticDebug|Win32 - StaticDebug|x64 = StaticDebug|x64 - StaticRelease|Win32 = StaticRelease|Win32 - StaticRelease|x64 = StaticRelease|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.Build.0 = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.ActiveCfg = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.Build.0 = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.Build.0 = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.Build.0 = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.Build.0 = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.props deleted file mode 100644 index 5a23903..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.props +++ /dev/null @@ -1,48 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Common Settings - AllRules.ruleset - false - - - - - - - - - - - - - copy "$(BuildRoot)version.h" "$(RepoRoot)src\libsodium\include\sodium\" - - - $(RepoRoot)src\libsodium\include;$(RepoRoot)src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - 4146;4244;%(DisableSpecificWarnings) - false - inline=__inline;NATIVE_LITTLE_ENDIAN;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - SODIUM_STATIC;%(PreprocessorDefinitions) - SODIUM_DLL_EXPORT;%(PreprocessorDefinitions) - HAVE_AMD64_ASM;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - advapi32.lib - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.vcxproj b/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.vcxproj deleted file mode 100644 index 2c07381..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.vcxproj +++ /dev/null @@ -1,327 +0,0 @@ - - - - {A185B162-6CB6-4502-B03F-B56F7699A8D9} - libsodium - v140 - - - - DebugDLL - Win32 - - - ReleaseDLL - Win32 - - - DebugDLL - x64 - - - ReleaseDLL - x64 - - - DebugLTCG - Win32 - - - ReleaseLTCG - Win32 - - - DebugLTCG - x64 - - - ReleaseLTCG - x64 - - - DebugLIB - Win32 - - - ReleaseLIB - Win32 - - - DebugLIB - x64 - - - ReleaseLIB - x64 - - - - StaticLibrary - DynamicLibrary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters b/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters deleted file mode 100644 index 9a32b79..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +++ /dev/null @@ -1,998 +0,0 @@ - - - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - - - - - - crypto_generichash - - - crypto_generichash\blake2b - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_kx - - - crypto_sign - - - crypto_sign\ed25519 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_secretbox - - - crypto_secretbox - - - crypto_secretbox\xsalsa20poly1305 - - - crypto_secretbox\xchacha20poly1305 - - - crypto_pwhash - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256\nosse - - - crypto_pwhash\scryptsalsa208sha256\sse - - - crypto_verify\sodium - - - crypto_auth - - - crypto_auth\hmacsha512 - - - crypto_auth\hmacsha512256 - - - crypto_auth\hmacsha256 - - - crypto_kdf - - - crypto_kdf\blake2b - - - crypto_shorthash - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24\ref - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult - - - crypto_scalarmult\ristretto255\ref10 - - - crypto_scalarmult\ed25519\ref10 - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - randombytes - - - randombytes\sysrandom - - - randombytes\internal - - - crypto_box - - - crypto_box - - - crypto_box - - - crypto_box\curve25519xsalsa20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - sodium - - - sodium - - - sodium - - - sodium - - - sodium - - - crypto_stream - - - crypto_stream\xchacha20 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_stream\salsa2012 - - - crypto_stream\salsa2012\ref - - - crypto_stream\salsa208 - - - crypto_stream\salsa208\ref - - - crypto_stream\xsalsa20 - - - crypto_hash - - - crypto_hash\sha512 - - - crypto_hash\sha512\cp - - - crypto_hash\sha256 - - - crypto_hash\sha256\cp - - - crypto_aead\xchacha20poly1305\sodium - - - crypto_aead\aes256gcm\aesni - - - crypto_aead\chacha20poly1305\sodium - - - crypto_secretstream\xchacha20poly1305 - - - crypto_core\salsa\ref - - - crypto_core\hchacha20 - - - crypto_core\hsalsa20 - - - crypto_core\hsalsa20\ref2 - - - crypto_core\ed25519 - - - crypto_core\ed25519 - - - crypto_core\ed25519\ref10 - - - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_sign\ed25519\ref10 - - - include - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - - - {a6837e41-3751-38c9-bb90-dd59d5f4af7b} - - - {3e53394c-b59c-30cc-ae69-a4f46f9edfa3} - - - {7eb51140-a50f-3f50-b379-83677a82496c} - - - {1f4d6dd1-517f-3eeb-b974-2304ada5e67a} - - - {b145288f-68ad-3e79-93cb-e36537b20e26} - - - {3122f223-e6c2-3ab1-ad85-ca289b47419e} - - - {2720c2c8-c517-356e-83ed-c2997ab782c3} - - - {0a3af0f3-56f7-3551-a64e-6284feccc423} - - - {64e89b4f-eec9-38c9-90f2-4881bf5e84c0} - - - {0c0b4001-ae11-3d0f-8e73-75ac9b6e1ae8} - - - {f5065d74-beda-3e1e-819a-f606279c7fe9} - - - {f7aedb93-94a6-3ede-9374-ff41daca4841} - - - {0e7473c9-9c69-36b3-ab6c-d953647a15a6} - - - {d75db64c-eb08-3f10-9b99-1b6e6827f348} - - - {73194d5d-588a-342f-bee6-f28b4486f20b} - - - {7c5e6f81-e4ce-3018-a776-a1f125072d73} - - - {76990c08-d692-367f-b286-c728a8cad6bf} - - - {bf04f786-7862-3bde-aeba-ed82ee59ca22} - - - {98b6126a-3725-3707-a4cc-ff3af657cba0} - - - {8b704d11-af1f-30c0-9981-479da6d88dc3} - - - {342e684b-4e18-311c-953c-8391a544a04f} - - - {c6b8e28c-7c54-3af7-bee3-2948ba7b2082} - - - {4e9a1d6b-ee07-3bbc-ad78-6d0ba0e6d9d3} - - - {eb259fd9-56f0-32db-a903-6bc1549a7326} - - - {e53b6258-fcdd-34c8-96c5-44510a34a390} - - - {8bd3b558-2d08-3c3a-81ca-22677dde943b} - - - {16a8dd41-b0ab-39a7-80c8-3052d8b63811} - - - {d7ec3690-bae7-3653-8c53-66a3142cfcfa} - - - {722ef422-8c03-3008-ba2a-3a7e91c6647c} - - - {8c7d8b62-7b4f-3eb9-85b7-18e8d925be14} - - - {8fb6a906-dbd6-3746-9b0f-f49e7028daec} - - - {f2d6a22b-dd67-3561-90a4-88696169cb7b} - - - {aaf59186-1c0d-33cf-a34d-93e14bb87226} - - - {3d42d2a2-b192-33dd-9162-508916414707} - - - {898b6bd5-1360-3a34-adcd-0fade7561685} - - - {323c0a15-3c1d-39b2-9ec1-299deb299497} - - - {52c2080d-37c0-34c2-864a-c201c728e5d8} - - - {ff618a41-caeb-3a18-ad36-d34b049a8f50} - - - {ffc3712d-dfe0-3b51-8257-f5ffc9c9cea3} - - - {f54b65b6-71cf-3ab3-9c8c-f89c81846836} - - - {1bd97a78-befa-3805-8e9c-80d7c1aff37b} - - - {e785f104-1212-37bf-8511-cc518b9ace66} - - - {447b993f-59fb-3efd-8c59-a1712c97dfe8} - - - {cdb8d233-06b0-3872-a62b-c1ccf4cb4314} - - - {402a1c5a-d499-333a-a2fa-acd0e6a3c2b2} - - - {77f5a2e9-2ef1-3a72-b63c-88e8e4b92678} - - - {6c9c7c30-0808-3fad-8a88-944d7645e5d5} - - - {5d2fb1a2-f063-32db-a81a-41f79e36fd23} - - - {7bec6074-fbc7-330b-9e18-7dc3e868569a} - - - {834d4827-81e4-3de3-baa1-a216763f11d6} - - - {52bf28eb-7ffd-399a-be35-0df3e8e99c15} - - - {39cc576f-4b54-3d71-b14c-27445bc4b138} - - - {b9b02bee-5c1f-36d2-b97d-983f865a4cc6} - - - {41f1f35b-4639-3424-be85-7dfba02f3c5e} - - - {8bf11d29-2f5a-3f10-8ae6-82229d19c5b0} - - - {62f7ae38-4ce6-3976-acc3-47c462db4fbe} - - - {e07a28cd-775a-3798-bfdb-97842d3614d6} - - - {bb073c16-adc8-3cff-80b9-99cf5a28de6c} - - - {63de0ec8-ecde-35e3-8b97-6e9e4da342ee} - - - {29925210-53eb-342c-8527-7ebc173e668f} - - - {b2f989b6-87a6-3388-a35c-2d0d59cb4236} - - - {bc6466a1-57b0-3a35-9973-ad488a4bef8c} - - - {5599d9ab-b5b2-3310-b541-ae0fb70eecf1} - - - {eaedd08a-46f8-3d12-9e8d-bb3ee3ead5f6} - - - {806b6ff3-578b-308a-a359-0f5ed8472ecc} - - - {5a1d852e-67bb-3dc1-9ec5-99ef74b7faca} - - - {33e45d9c-e12a-3e76-9ef2-4f5510244a5b} - - - {048ba2a8-b22b-346c-9886-668b63c88c68} - - - {f08a312f-f8a3-350b-87ab-1f79d33e513f} - - - {c403f690-cd22-3ed4-9cc7-3f46e73081fd} - - - {c34d03f5-cf47-39fe-a5ad-5eb917006203} - - - {4da0c5ca-33d1-34e0-9689-12e69ae2dbd6} - - - {dd6b294c-5871-386c-92ec-aa46fcc411d4} - - - {07aca978-0547-329a-b70b-29aa579cacc5} - - - {f171fa05-35c4-32a0-b035-b5d6680ab714} - - - {ede2279c-1ba7-3d62-8345-733c6c1965e7} - - - {9c15151b-10dc-3dfe-b97b-a7d8c6b58920} - - - {49fb9272-ffe2-3993-b562-b19d5f2c9b40} - - - {80669cf5-3c9c-3c60-b409-9d8fb305bc77} - - - {96da72eb-3aa0-3850-83eb-32788f91e5bd} - - - {56bb40fc-d381-3a9e-925b-681774c48dde} - - - {fde88485-0fe6-3b22-9480-1d2b49fade53} - - - {ef090484-4db4-3dc2-aca7-c59bab1db23b} - - - {14c126fd-bb91-37ea-b807-b60c386be601} - - - {ac56c38f-7e17-3b79-bf47-58e9476b3b89} - - - {5dfc520b-f690-3d5f-a86a-8b667f2e7490} - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.xml deleted file mode 100644 index 808ccb9..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2015/libsodium/libsodium.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.import.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.import.props deleted file mode 100644 index b3d7e4f..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.import.props +++ /dev/null @@ -1,52 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Import Settings - - - - - - - - - - - - - $(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - SODIUM_STATIC;%(PreprocessorDefinitions) - - - advapi32.lib;libsodium.lib;%(AdditionalDependencies) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.import.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.import.xml deleted file mode 100644 index dbcf4e5..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.import.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.sln b/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.sln deleted file mode 100644 index bdc9a7c..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium.sln +++ /dev/null @@ -1,52 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26228.4 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsodium", "libsodium\libsodium.vcxproj", "{A185B162-6CB6-4502-B03F-B56F7699A8D9}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - DynDebug|Win32 = DynDebug|Win32 - DynDebug|x64 = DynDebug|x64 - DynRelease|Win32 = DynRelease|Win32 - DynRelease|x64 = DynRelease|x64 - LtcgDebug|Win32 = LtcgDebug|Win32 - LtcgDebug|x64 = LtcgDebug|x64 - LtcgRelease|Win32 = LtcgRelease|Win32 - LtcgRelease|x64 = LtcgRelease|x64 - StaticDebug|Win32 = StaticDebug|Win32 - StaticDebug|x64 = StaticDebug|x64 - StaticRelease|Win32 = StaticRelease|Win32 - StaticRelease|x64 = StaticRelease|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.Build.0 = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.ActiveCfg = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.Build.0 = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.Build.0 = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.Build.0 = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.Build.0 = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.props deleted file mode 100644 index 5a23903..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.props +++ /dev/null @@ -1,48 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Common Settings - AllRules.ruleset - false - - - - - - - - - - - - - copy "$(BuildRoot)version.h" "$(RepoRoot)src\libsodium\include\sodium\" - - - $(RepoRoot)src\libsodium\include;$(RepoRoot)src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - 4146;4244;%(DisableSpecificWarnings) - false - inline=__inline;NATIVE_LITTLE_ENDIAN;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - SODIUM_STATIC;%(PreprocessorDefinitions) - SODIUM_DLL_EXPORT;%(PreprocessorDefinitions) - HAVE_AMD64_ASM;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - advapi32.lib - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.vcxproj b/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.vcxproj deleted file mode 100644 index c0c3b46..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.vcxproj +++ /dev/null @@ -1,327 +0,0 @@ - - - - {A185B162-6CB6-4502-B03F-B56F7699A8D9} - libsodium - v141 - - - - DebugDLL - Win32 - - - ReleaseDLL - Win32 - - - DebugDLL - x64 - - - ReleaseDLL - x64 - - - DebugLTCG - Win32 - - - ReleaseLTCG - Win32 - - - DebugLTCG - x64 - - - ReleaseLTCG - x64 - - - DebugLIB - Win32 - - - ReleaseLIB - Win32 - - - DebugLIB - x64 - - - ReleaseLIB - x64 - - - - StaticLibrary - DynamicLibrary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters b/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters deleted file mode 100644 index 9a32b79..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +++ /dev/null @@ -1,998 +0,0 @@ - - - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - - - - - - crypto_generichash - - - crypto_generichash\blake2b - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_kx - - - crypto_sign - - - crypto_sign\ed25519 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_secretbox - - - crypto_secretbox - - - crypto_secretbox\xsalsa20poly1305 - - - crypto_secretbox\xchacha20poly1305 - - - crypto_pwhash - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256\nosse - - - crypto_pwhash\scryptsalsa208sha256\sse - - - crypto_verify\sodium - - - crypto_auth - - - crypto_auth\hmacsha512 - - - crypto_auth\hmacsha512256 - - - crypto_auth\hmacsha256 - - - crypto_kdf - - - crypto_kdf\blake2b - - - crypto_shorthash - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24\ref - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult - - - crypto_scalarmult\ristretto255\ref10 - - - crypto_scalarmult\ed25519\ref10 - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - randombytes - - - randombytes\sysrandom - - - randombytes\internal - - - crypto_box - - - crypto_box - - - crypto_box - - - crypto_box\curve25519xsalsa20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - sodium - - - sodium - - - sodium - - - sodium - - - sodium - - - crypto_stream - - - crypto_stream\xchacha20 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_stream\salsa2012 - - - crypto_stream\salsa2012\ref - - - crypto_stream\salsa208 - - - crypto_stream\salsa208\ref - - - crypto_stream\xsalsa20 - - - crypto_hash - - - crypto_hash\sha512 - - - crypto_hash\sha512\cp - - - crypto_hash\sha256 - - - crypto_hash\sha256\cp - - - crypto_aead\xchacha20poly1305\sodium - - - crypto_aead\aes256gcm\aesni - - - crypto_aead\chacha20poly1305\sodium - - - crypto_secretstream\xchacha20poly1305 - - - crypto_core\salsa\ref - - - crypto_core\hchacha20 - - - crypto_core\hsalsa20 - - - crypto_core\hsalsa20\ref2 - - - crypto_core\ed25519 - - - crypto_core\ed25519 - - - crypto_core\ed25519\ref10 - - - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_sign\ed25519\ref10 - - - include - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - - - {a6837e41-3751-38c9-bb90-dd59d5f4af7b} - - - {3e53394c-b59c-30cc-ae69-a4f46f9edfa3} - - - {7eb51140-a50f-3f50-b379-83677a82496c} - - - {1f4d6dd1-517f-3eeb-b974-2304ada5e67a} - - - {b145288f-68ad-3e79-93cb-e36537b20e26} - - - {3122f223-e6c2-3ab1-ad85-ca289b47419e} - - - {2720c2c8-c517-356e-83ed-c2997ab782c3} - - - {0a3af0f3-56f7-3551-a64e-6284feccc423} - - - {64e89b4f-eec9-38c9-90f2-4881bf5e84c0} - - - {0c0b4001-ae11-3d0f-8e73-75ac9b6e1ae8} - - - {f5065d74-beda-3e1e-819a-f606279c7fe9} - - - {f7aedb93-94a6-3ede-9374-ff41daca4841} - - - {0e7473c9-9c69-36b3-ab6c-d953647a15a6} - - - {d75db64c-eb08-3f10-9b99-1b6e6827f348} - - - {73194d5d-588a-342f-bee6-f28b4486f20b} - - - {7c5e6f81-e4ce-3018-a776-a1f125072d73} - - - {76990c08-d692-367f-b286-c728a8cad6bf} - - - {bf04f786-7862-3bde-aeba-ed82ee59ca22} - - - {98b6126a-3725-3707-a4cc-ff3af657cba0} - - - {8b704d11-af1f-30c0-9981-479da6d88dc3} - - - {342e684b-4e18-311c-953c-8391a544a04f} - - - {c6b8e28c-7c54-3af7-bee3-2948ba7b2082} - - - {4e9a1d6b-ee07-3bbc-ad78-6d0ba0e6d9d3} - - - {eb259fd9-56f0-32db-a903-6bc1549a7326} - - - {e53b6258-fcdd-34c8-96c5-44510a34a390} - - - {8bd3b558-2d08-3c3a-81ca-22677dde943b} - - - {16a8dd41-b0ab-39a7-80c8-3052d8b63811} - - - {d7ec3690-bae7-3653-8c53-66a3142cfcfa} - - - {722ef422-8c03-3008-ba2a-3a7e91c6647c} - - - {8c7d8b62-7b4f-3eb9-85b7-18e8d925be14} - - - {8fb6a906-dbd6-3746-9b0f-f49e7028daec} - - - {f2d6a22b-dd67-3561-90a4-88696169cb7b} - - - {aaf59186-1c0d-33cf-a34d-93e14bb87226} - - - {3d42d2a2-b192-33dd-9162-508916414707} - - - {898b6bd5-1360-3a34-adcd-0fade7561685} - - - {323c0a15-3c1d-39b2-9ec1-299deb299497} - - - {52c2080d-37c0-34c2-864a-c201c728e5d8} - - - {ff618a41-caeb-3a18-ad36-d34b049a8f50} - - - {ffc3712d-dfe0-3b51-8257-f5ffc9c9cea3} - - - {f54b65b6-71cf-3ab3-9c8c-f89c81846836} - - - {1bd97a78-befa-3805-8e9c-80d7c1aff37b} - - - {e785f104-1212-37bf-8511-cc518b9ace66} - - - {447b993f-59fb-3efd-8c59-a1712c97dfe8} - - - {cdb8d233-06b0-3872-a62b-c1ccf4cb4314} - - - {402a1c5a-d499-333a-a2fa-acd0e6a3c2b2} - - - {77f5a2e9-2ef1-3a72-b63c-88e8e4b92678} - - - {6c9c7c30-0808-3fad-8a88-944d7645e5d5} - - - {5d2fb1a2-f063-32db-a81a-41f79e36fd23} - - - {7bec6074-fbc7-330b-9e18-7dc3e868569a} - - - {834d4827-81e4-3de3-baa1-a216763f11d6} - - - {52bf28eb-7ffd-399a-be35-0df3e8e99c15} - - - {39cc576f-4b54-3d71-b14c-27445bc4b138} - - - {b9b02bee-5c1f-36d2-b97d-983f865a4cc6} - - - {41f1f35b-4639-3424-be85-7dfba02f3c5e} - - - {8bf11d29-2f5a-3f10-8ae6-82229d19c5b0} - - - {62f7ae38-4ce6-3976-acc3-47c462db4fbe} - - - {e07a28cd-775a-3798-bfdb-97842d3614d6} - - - {bb073c16-adc8-3cff-80b9-99cf5a28de6c} - - - {63de0ec8-ecde-35e3-8b97-6e9e4da342ee} - - - {29925210-53eb-342c-8527-7ebc173e668f} - - - {b2f989b6-87a6-3388-a35c-2d0d59cb4236} - - - {bc6466a1-57b0-3a35-9973-ad488a4bef8c} - - - {5599d9ab-b5b2-3310-b541-ae0fb70eecf1} - - - {eaedd08a-46f8-3d12-9e8d-bb3ee3ead5f6} - - - {806b6ff3-578b-308a-a359-0f5ed8472ecc} - - - {5a1d852e-67bb-3dc1-9ec5-99ef74b7faca} - - - {33e45d9c-e12a-3e76-9ef2-4f5510244a5b} - - - {048ba2a8-b22b-346c-9886-668b63c88c68} - - - {f08a312f-f8a3-350b-87ab-1f79d33e513f} - - - {c403f690-cd22-3ed4-9cc7-3f46e73081fd} - - - {c34d03f5-cf47-39fe-a5ad-5eb917006203} - - - {4da0c5ca-33d1-34e0-9689-12e69ae2dbd6} - - - {dd6b294c-5871-386c-92ec-aa46fcc411d4} - - - {07aca978-0547-329a-b70b-29aa579cacc5} - - - {f171fa05-35c4-32a0-b035-b5d6680ab714} - - - {ede2279c-1ba7-3d62-8345-733c6c1965e7} - - - {9c15151b-10dc-3dfe-b97b-a7d8c6b58920} - - - {49fb9272-ffe2-3993-b562-b19d5f2c9b40} - - - {80669cf5-3c9c-3c60-b409-9d8fb305bc77} - - - {96da72eb-3aa0-3850-83eb-32788f91e5bd} - - - {56bb40fc-d381-3a9e-925b-681774c48dde} - - - {fde88485-0fe6-3b22-9480-1d2b49fade53} - - - {ef090484-4db4-3dc2-aca7-c59bab1db23b} - - - {14c126fd-bb91-37ea-b807-b60c386be601} - - - {ac56c38f-7e17-3b79-bf47-58e9476b3b89} - - - {5dfc520b-f690-3d5f-a86a-8b667f2e7490} - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.xml deleted file mode 100644 index 808ccb9..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2017/libsodium/libsodium.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.import.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.import.props deleted file mode 100644 index b3d7e4f..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.import.props +++ /dev/null @@ -1,52 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Import Settings - - - - - - - - - - - - - $(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include;$(ProjectDir)..\..\..\..\..\libsodium\src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - SODIUM_STATIC;%(PreprocessorDefinitions) - - - advapi32.lib;libsodium.lib;%(AdditionalDependencies) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Debug\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - $(ProjectDir)..\..\..\..\..\libsodium\bin\$(PlatformName)\Release\$(PlatformToolset)\$(Linkage-libsodium)\;%(AdditionalLibraryDirectories) - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.import.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.import.xml deleted file mode 100644 index dbcf4e5..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.import.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.sln b/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.sln deleted file mode 100644 index bdc9a7c..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium.sln +++ /dev/null @@ -1,52 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26228.4 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsodium", "libsodium\libsodium.vcxproj", "{A185B162-6CB6-4502-B03F-B56F7699A8D9}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - DynDebug|Win32 = DynDebug|Win32 - DynDebug|x64 = DynDebug|x64 - DynRelease|Win32 = DynRelease|Win32 - DynRelease|x64 = DynRelease|x64 - LtcgDebug|Win32 = LtcgDebug|Win32 - LtcgDebug|x64 = LtcgDebug|x64 - LtcgRelease|Win32 = LtcgRelease|Win32 - LtcgRelease|x64 = LtcgRelease|x64 - StaticDebug|Win32 = StaticDebug|Win32 - StaticDebug|x64 = StaticDebug|x64 - StaticRelease|Win32 = StaticRelease|Win32 - StaticRelease|x64 = StaticRelease|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.ActiveCfg = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|Win32.Build.0 = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.ActiveCfg = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynDebug|x64.Build.0 = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.ActiveCfg = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|Win32.Build.0 = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.ActiveCfg = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DynRelease|x64.Build.0 = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.ActiveCfg = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|Win32.Build.0 = DebugLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.ActiveCfg = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgDebug|x64.Build.0 = DebugLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.ActiveCfg = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|Win32.Build.0 = ReleaseLTCG|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.ActiveCfg = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.LtcgRelease|x64.Build.0 = ReleaseLTCG|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.ActiveCfg = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|Win32.Build.0 = DebugLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.ActiveCfg = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticDebug|x64.Build.0 = DebugLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.ActiveCfg = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|Win32.Build.0 = ReleaseLIB|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.StaticRelease|x64.Build.0 = ReleaseLIB|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.props b/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.props deleted file mode 100644 index 5a23903..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.props +++ /dev/null @@ -1,48 +0,0 @@ - - - - - <_PropertySheetDisplayName>Libsodium Common Settings - AllRules.ruleset - false - - - - - - - - - - - - - copy "$(BuildRoot)version.h" "$(RepoRoot)src\libsodium\include\sodium\" - - - $(RepoRoot)src\libsodium\include;$(RepoRoot)src\libsodium\include\sodium\;%(AdditionalIncludeDirectories) - 4146;4244;%(DisableSpecificWarnings) - false - inline=__inline;NATIVE_LITTLE_ENDIAN;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - SODIUM_STATIC;%(PreprocessorDefinitions) - SODIUM_DLL_EXPORT;%(PreprocessorDefinitions) - HAVE_AMD64_ASM;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - advapi32.lib - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.vcxproj b/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.vcxproj deleted file mode 100644 index 574cfe5..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.vcxproj +++ /dev/null @@ -1,327 +0,0 @@ - - - - {A185B162-6CB6-4502-B03F-B56F7699A8D9} - libsodium - v142 - - - - DebugDLL - Win32 - - - ReleaseDLL - Win32 - - - DebugDLL - x64 - - - ReleaseDLL - x64 - - - DebugLTCG - Win32 - - - ReleaseLTCG - Win32 - - - DebugLTCG - x64 - - - ReleaseLTCG - x64 - - - DebugLIB - Win32 - - - ReleaseLIB - Win32 - - - DebugLIB - x64 - - - ReleaseLIB - x64 - - - - StaticLibrary - DynamicLibrary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters b/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters deleted file mode 100644 index 9a32b79..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters +++ /dev/null @@ -1,998 +0,0 @@ - - - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - - - - - - crypto_generichash - - - crypto_generichash\blake2b - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_kx - - - crypto_sign - - - crypto_sign\ed25519 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_sign\ed25519\ref10 - - - crypto_secretbox - - - crypto_secretbox - - - crypto_secretbox\xsalsa20poly1305 - - - crypto_secretbox\xchacha20poly1305 - - - crypto_pwhash - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256\nosse - - - crypto_pwhash\scryptsalsa208sha256\sse - - - crypto_verify\sodium - - - crypto_auth - - - crypto_auth\hmacsha512 - - - crypto_auth\hmacsha512256 - - - crypto_auth\hmacsha256 - - - crypto_kdf - - - crypto_kdf\blake2b - - - crypto_shorthash - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24 - - - crypto_shorthash\siphash24\ref - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult - - - crypto_scalarmult\ristretto255\ref10 - - - crypto_scalarmult\ed25519\ref10 - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - randombytes - - - randombytes\sysrandom - - - randombytes\internal - - - crypto_box - - - crypto_box - - - crypto_box - - - crypto_box\curve25519xsalsa20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - crypto_box\curve25519xchacha20poly1305 - - - sodium - - - sodium - - - sodium - - - sodium - - - sodium - - - crypto_stream - - - crypto_stream\xchacha20 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_stream\salsa2012 - - - crypto_stream\salsa2012\ref - - - crypto_stream\salsa208 - - - crypto_stream\salsa208\ref - - - crypto_stream\xsalsa20 - - - crypto_hash - - - crypto_hash\sha512 - - - crypto_hash\sha512\cp - - - crypto_hash\sha256 - - - crypto_hash\sha256\cp - - - crypto_aead\xchacha20poly1305\sodium - - - crypto_aead\aes256gcm\aesni - - - crypto_aead\chacha20poly1305\sodium - - - crypto_secretstream\xchacha20poly1305 - - - crypto_core\salsa\ref - - - crypto_core\hchacha20 - - - crypto_core\hsalsa20 - - - crypto_core\hsalsa20\ref2 - - - crypto_core\ed25519 - - - crypto_core\ed25519 - - - crypto_core\ed25519\ref10 - - - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_generichash\blake2b\ref - - - crypto_sign\ed25519\ref10 - - - include - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - include\sodium\private - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\argon2 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_pwhash\scryptsalsa208sha256 - - - crypto_shorthash\siphash24\ref - - - crypto_scalarmult\curve25519 - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\sandy2x - - - crypto_scalarmult\curve25519\ref10 - - - crypto_onetimeauth\poly1305 - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\donna - - - crypto_onetimeauth\poly1305\sse2 - - - crypto_stream\chacha20 - - - crypto_stream\chacha20\ref - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\chacha20\dolbeau - - - crypto_stream\salsa20 - - - crypto_stream\salsa20\ref - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6int - - - crypto_stream\salsa20\xmm6 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_25_5 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - crypto_core\ed25519\ref10\fe_51 - - - - - {a6837e41-3751-38c9-bb90-dd59d5f4af7b} - - - {3e53394c-b59c-30cc-ae69-a4f46f9edfa3} - - - {7eb51140-a50f-3f50-b379-83677a82496c} - - - {1f4d6dd1-517f-3eeb-b974-2304ada5e67a} - - - {b145288f-68ad-3e79-93cb-e36537b20e26} - - - {3122f223-e6c2-3ab1-ad85-ca289b47419e} - - - {2720c2c8-c517-356e-83ed-c2997ab782c3} - - - {0a3af0f3-56f7-3551-a64e-6284feccc423} - - - {64e89b4f-eec9-38c9-90f2-4881bf5e84c0} - - - {0c0b4001-ae11-3d0f-8e73-75ac9b6e1ae8} - - - {f5065d74-beda-3e1e-819a-f606279c7fe9} - - - {f7aedb93-94a6-3ede-9374-ff41daca4841} - - - {0e7473c9-9c69-36b3-ab6c-d953647a15a6} - - - {d75db64c-eb08-3f10-9b99-1b6e6827f348} - - - {73194d5d-588a-342f-bee6-f28b4486f20b} - - - {7c5e6f81-e4ce-3018-a776-a1f125072d73} - - - {76990c08-d692-367f-b286-c728a8cad6bf} - - - {bf04f786-7862-3bde-aeba-ed82ee59ca22} - - - {98b6126a-3725-3707-a4cc-ff3af657cba0} - - - {8b704d11-af1f-30c0-9981-479da6d88dc3} - - - {342e684b-4e18-311c-953c-8391a544a04f} - - - {c6b8e28c-7c54-3af7-bee3-2948ba7b2082} - - - {4e9a1d6b-ee07-3bbc-ad78-6d0ba0e6d9d3} - - - {eb259fd9-56f0-32db-a903-6bc1549a7326} - - - {e53b6258-fcdd-34c8-96c5-44510a34a390} - - - {8bd3b558-2d08-3c3a-81ca-22677dde943b} - - - {16a8dd41-b0ab-39a7-80c8-3052d8b63811} - - - {d7ec3690-bae7-3653-8c53-66a3142cfcfa} - - - {722ef422-8c03-3008-ba2a-3a7e91c6647c} - - - {8c7d8b62-7b4f-3eb9-85b7-18e8d925be14} - - - {8fb6a906-dbd6-3746-9b0f-f49e7028daec} - - - {f2d6a22b-dd67-3561-90a4-88696169cb7b} - - - {aaf59186-1c0d-33cf-a34d-93e14bb87226} - - - {3d42d2a2-b192-33dd-9162-508916414707} - - - {898b6bd5-1360-3a34-adcd-0fade7561685} - - - {323c0a15-3c1d-39b2-9ec1-299deb299497} - - - {52c2080d-37c0-34c2-864a-c201c728e5d8} - - - {ff618a41-caeb-3a18-ad36-d34b049a8f50} - - - {ffc3712d-dfe0-3b51-8257-f5ffc9c9cea3} - - - {f54b65b6-71cf-3ab3-9c8c-f89c81846836} - - - {1bd97a78-befa-3805-8e9c-80d7c1aff37b} - - - {e785f104-1212-37bf-8511-cc518b9ace66} - - - {447b993f-59fb-3efd-8c59-a1712c97dfe8} - - - {cdb8d233-06b0-3872-a62b-c1ccf4cb4314} - - - {402a1c5a-d499-333a-a2fa-acd0e6a3c2b2} - - - {77f5a2e9-2ef1-3a72-b63c-88e8e4b92678} - - - {6c9c7c30-0808-3fad-8a88-944d7645e5d5} - - - {5d2fb1a2-f063-32db-a81a-41f79e36fd23} - - - {7bec6074-fbc7-330b-9e18-7dc3e868569a} - - - {834d4827-81e4-3de3-baa1-a216763f11d6} - - - {52bf28eb-7ffd-399a-be35-0df3e8e99c15} - - - {39cc576f-4b54-3d71-b14c-27445bc4b138} - - - {b9b02bee-5c1f-36d2-b97d-983f865a4cc6} - - - {41f1f35b-4639-3424-be85-7dfba02f3c5e} - - - {8bf11d29-2f5a-3f10-8ae6-82229d19c5b0} - - - {62f7ae38-4ce6-3976-acc3-47c462db4fbe} - - - {e07a28cd-775a-3798-bfdb-97842d3614d6} - - - {bb073c16-adc8-3cff-80b9-99cf5a28de6c} - - - {63de0ec8-ecde-35e3-8b97-6e9e4da342ee} - - - {29925210-53eb-342c-8527-7ebc173e668f} - - - {b2f989b6-87a6-3388-a35c-2d0d59cb4236} - - - {bc6466a1-57b0-3a35-9973-ad488a4bef8c} - - - {5599d9ab-b5b2-3310-b541-ae0fb70eecf1} - - - {eaedd08a-46f8-3d12-9e8d-bb3ee3ead5f6} - - - {806b6ff3-578b-308a-a359-0f5ed8472ecc} - - - {5a1d852e-67bb-3dc1-9ec5-99ef74b7faca} - - - {33e45d9c-e12a-3e76-9ef2-4f5510244a5b} - - - {048ba2a8-b22b-346c-9886-668b63c88c68} - - - {f08a312f-f8a3-350b-87ab-1f79d33e513f} - - - {c403f690-cd22-3ed4-9cc7-3f46e73081fd} - - - {c34d03f5-cf47-39fe-a5ad-5eb917006203} - - - {4da0c5ca-33d1-34e0-9689-12e69ae2dbd6} - - - {dd6b294c-5871-386c-92ec-aa46fcc411d4} - - - {07aca978-0547-329a-b70b-29aa579cacc5} - - - {f171fa05-35c4-32a0-b035-b5d6680ab714} - - - {ede2279c-1ba7-3d62-8345-733c6c1965e7} - - - {9c15151b-10dc-3dfe-b97b-a7d8c6b58920} - - - {49fb9272-ffe2-3993-b562-b19d5f2c9b40} - - - {80669cf5-3c9c-3c60-b409-9d8fb305bc77} - - - {96da72eb-3aa0-3850-83eb-32788f91e5bd} - - - {56bb40fc-d381-3a9e-925b-681774c48dde} - - - {fde88485-0fe6-3b22-9480-1d2b49fade53} - - - {ef090484-4db4-3dc2-aca7-c59bab1db23b} - - - {14c126fd-bb91-37ea-b807-b60c386be601} - - - {ac56c38f-7e17-3b79-bf47-58e9476b3b89} - - - {5dfc520b-f690-3d5f-a86a-8b667f2e7490} - - - diff --git a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.xml b/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.xml deleted file mode 100644 index 808ccb9..0000000 --- a/libsodium-1.0.18-RELEASE/builds/msvc/vs2019/libsodium/libsodium.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/configure.ac b/libsodium-1.0.18-RELEASE/configure.ac deleted file mode 100644 index 9e2de27..0000000 --- a/libsodium-1.0.18-RELEASE/configure.ac +++ /dev/null @@ -1,887 +0,0 @@ -AC_PREREQ([2.65]) -AC_INIT([libsodium],[1.0.18], - [https://github.com/jedisct1/libsodium/issues], - [libsodium], - [https://github.com/jedisct1/libsodium]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_SRCDIR([src/libsodium/sodium/version.c]) -AC_CANONICAL_HOST -AM_INIT_AUTOMAKE([1.11 dist-bzip2 tar-ustar foreign subdir-objects]) -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -AM_MAINTAINER_MODE -AM_DEP_TRACK - -AC_SUBST(VERSION) - -SODIUM_LIBRARY_VERSION_MAJOR=10 -SODIUM_LIBRARY_VERSION_MINOR=3 -DLL_VERSION=24 -SODIUM_LIBRARY_VERSION=26:0:3 -# | | | -# +------+ | +---+ -# | | | -# current:revision:age -# | | | -# | | +- increment if interfaces have been added -# | | set to zero if interfaces have been removed -# | | or changed -# | +- increment if source code has changed -# | set to zero if current is incremented -# +- increment if interfaces have been added, removed or changed -AC_SUBST(SODIUM_LIBRARY_VERSION_MAJOR) -AC_SUBST(SODIUM_LIBRARY_VERSION_MINOR) -AC_SUBST(SODIUM_LIBRARY_VERSION) -AC_SUBST(DLL_VERSION) - -AC_LANG_ASSERT(C) -LX_CFLAGS=${CFLAGS-NONE} -PKGCONFIG_LIBS_PRIVATE="" - -dnl Path check - -AS_IF([pwd | fgrep ' ' > /dev/null 2>&1], - [AC_MSG_ERROR([The build directory contains whitespaces - This can cause tests/installation to fail due to limitations of some libtool versions])] -) - -dnl Switches - -AC_ARG_ENABLE(ssp, -[AS_HELP_STRING(--disable-ssp,Do not compile with -fstack-protector)], -[ - AS_IF([test "x$enableval" = "xno"], [ - enable_ssp="no" - ], [ - enable_ssp="yes" - ]) -], -[ - enable_ssp="yes" -]) - -AC_ARG_ENABLE(asm, -[AS_HELP_STRING(--disable-asm,[Do not compile assembly code -- As a side effect, this disables CPU-specific implementations on non-Windows platforms. Only for use with targets such as WebAssembly.])], -[ - AS_IF([test "x$enableval" = "xno"], [ - enable_asm="no" - ], [ - enable_asm="yes" - ]) -], -[ - enable_asm="yes" -]) - -AS_IF([test "x$EMSCRIPTEN" != "x"], [ - AX_CHECK_COMPILE_FLAG([-s ASSERTIONS=0], [ - enable_asm="no" - AC_MSG_WARN([compiling to JavaScript - asm implementations disabled]) - ], [ - AC_MSG_WARN([EMSCRIPTEN environment variable defined, but emcc doesn't appear to be used - Assuming compilation to native code]) - CFLAGS="$CFLAGS -U__EMSCRIPTEN__" - unset EMSCRIPTEN - ]) -]) - -AC_ARG_ENABLE(pie, -[AS_HELP_STRING(--disable-pie,Do not produce position independent executables)], - enable_pie=$enableval, enable_pie="maybe") - -AS_CASE([$host_os], [mingw*|cygwin*|msys], [enable_pie="no"]) - -AC_ARG_ENABLE(blocking-random, -[AS_HELP_STRING(--enable-blocking-random,Enable this switch only if /dev/urandom is totally broken on the target platform)], -[ - AS_IF([test "x$enableval" = "xyes"], [ - AC_DEFINE([USE_BLOCKING_RANDOM], [1], [/dev/urandom is insecure on the target platform]) - ]) -]) - -AC_ARG_ENABLE(minimal, -[AS_HELP_STRING(--enable-minimal, - [Only compile the minimum set of functions required for the high-level API])], -[ - AS_IF([test "x$enableval" = "xyes"], [ - enable_minimal="yes" - SODIUM_LIBRARY_MINIMAL_DEF="#define SODIUM_LIBRARY_MINIMAL 1" - AC_DEFINE([MINIMAL], [1], [Define for a minimal build, without deprecated functions and functions that high-level APIs depend on]) - ], [ - enable_minimal="no" - ]) -], -[ - enable_minimal="no" -]) -AM_CONDITIONAL([MINIMAL], [test x$enable_minimal = xyes]) -AC_SUBST(SODIUM_LIBRARY_MINIMAL_DEF) - -AC_ARG_WITH(pthreads, AC_HELP_STRING([--with-pthreads], - [use pthreads library, or --without-pthreads to disable threading support.]), - [ ], [withval="yes"]) - -AS_IF([test "x$withval" = "xyes"], [ - AX_PTHREAD([ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - #include - ]], [[ - pthread_mutex_t mutex; - - pthread_mutex_lock(&mutex); - pthread_mutex_unlock(&mutex) - ]] - )], [ - AC_DEFINE([HAVE_PTHREAD], [1], [Define if you have POSIX threads libraries and header files]) - with_threads="yes" - LIBS="$PTHREAD_LIBS $LIBS" - PKGCONFIG_LIBS_PRIVATE="$PTHREAD_LIBS $PTHREAD_CFLAGS $PKGCONFIG_LIBS_PRIVATE" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - CC="$PTHREAD_CC" - ]) - ], - [ AC_MSG_NOTICE(pthread mutexes are not available) ] - ) -], [with_threads="no"]) - -AC_ARG_WITH(safecode, -[AS_HELP_STRING(--with-safecode,For maintainers only - please do not use)], -[AS_IF([test "x$withval" = "xyes"], [ - AC_ARG_VAR([SAFECODE_HOME], [set to the safecode base directory]) - : ${SAFECODE_HOME:=/opt/safecode} - LDFLAGS="$LDFLAGS -L${SAFECODE_HOME}/lib" - LIBS="$LIBS -lsc_dbg_rt -lpoolalloc_bitmap -lstdc++" - CFLAGS="$CFLAGS -fmemsafety" - ]) -]) - -AC_ARG_WITH(ctgrind, -[AS_HELP_STRING(--with-ctgrind,For maintainers only - please do not use)], -[AS_IF([test "x$withval" = "xyes"], [ - AC_CHECK_LIB(ctgrind, ct_poison) - ]) -]) - -AC_ARG_ENABLE(retpoline, -[AS_HELP_STRING(--enable-retpoline,Use return trampolines for indirect calls)], -[AS_IF([test "x$enableval" = "xyes"], [ - AX_CHECK_COMPILE_FLAG([-mindirect-branch=thunk-inline], - [CFLAGS="$CFLAGS -mindirect-branch=thunk-inline"], - [AX_CHECK_COMPILE_FLAG([-mretpoline], [CFLAGS="$CFLAGS -mretpoline"])] - ) - AX_CHECK_COMPILE_FLAG([-mindirect-branch-register]) - ]) -]) - -ENABLE_CWFLAGS=no -AC_ARG_ENABLE(debug, -[AS_HELP_STRING(--enable-debug,For maintainers only - please do not use)], -[ - AS_IF([test "x$enableval" = "xyes"], [ - AS_IF([test "x$LX_CFLAGS" = "xNONE"], [ - nxflags="" - for flag in `echo $CFLAGS`; do - AS_CASE([$flag], - [-O*], [ ], - [-g*], [ ], - [*], [AS_VAR_APPEND([nxflags], [" $flag"])]) - done - CFLAGS="$nxflags -O -g3" - ]) - ENABLE_CWFLAGS=yes - CPPFLAGS="$CPPFLAGS -DDEBUG=1 -U_FORTIFY_SOURCE" - ]) -]) - -AC_ARG_ENABLE(opt, -[AS_HELP_STRING(--enable-opt,Optimize for the native CPU - The resulting library will be faster but not portable)], -[ - AS_IF([test "x$enableval" = "xyes"], [ - AX_CHECK_COMPILE_FLAG([-Ofast], [CFLAGS="$CFLAGS -Ofast"]) - AX_CHECK_COMPILE_FLAG([-ftree-vectorize], [CFLAGS="$CFLAGS -ftree-vectorize"]) - AX_CHECK_COMPILE_FLAG([-ftree-slp-vectorize], [CFLAGS="$CFLAGS -ftree-slp-vectorize"]) - AX_CHECK_COMPILE_FLAG([-fomit-frame-pointer], [CFLAGS="$CFLAGS -fomit-frame-pointer"]) - AX_CHECK_COMPILE_FLAG([-march=native], [CFLAGS="$CFLAGS -march=native"]) - ]) -]) - -AC_SUBST(MAINT) -AC_SUBST(PKGCONFIG_LIBS_PRIVATE) - -AX_VALGRIND_CHECK - -dnl Checks - -AC_PROG_CC_C99 -AM_PROG_AS -AC_USE_SYSTEM_EXTENSIONS -AC_C_VARARRAYS - -AC_CHECK_DEFINE([__wasi__], [WASI="yes"], []) - -AC_CHECK_DEFINE([_FORTIFY_SOURCE], [], [ - AX_CHECK_COMPILE_FLAG([-D_FORTIFY_SOURCE=2], - [CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"]) -]) - -AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], - [CFLAGS="$CFLAGS -fvisibility=hidden"]) - -AS_CASE([$host_os], [cygwin*|mingw*|msys|pw32*|cegcc*], [ ], [ - AX_CHECK_COMPILE_FLAG([-fPIC], [CFLAGS="$CFLAGS -fPIC"]) -]) - -AS_IF([test "$enable_pie" != "no"],[ - AX_CHECK_COMPILE_FLAG([-fPIE], [ - AX_CHECK_LINK_FLAG([-pie], [ - [CFLAGS="$CFLAGS -fPIE" - LDFLAGS="$LDFLAGS -pie"] - ]) - ]) -]) - -AX_CHECK_COMPILE_FLAG([-fno-strict-aliasing], [CFLAGS="$CFLAGS -fno-strict-aliasing"]) -AX_CHECK_COMPILE_FLAG([-fno-strict-overflow], [CFLAGS="$CFLAGS -fno-strict-overflow"], [ - AX_CHECK_COMPILE_FLAG([-fwrapv], [CFLAGS="$CFLAGS -fwrapv"]) -]) - -AS_IF([test "$GCC" = "yes" ], [ - AS_CASE([$host_cpu], - [i?86|amd64|x86_64], [ - AC_COMPILE_IFELSE( - [AC_LANG_SOURCE([ -#if !defined(__clang__) && defined(__GNUC__) && ((__GNUC__ << 8) | __GNUC_MINOR__) < 0x403 -# error old gcc -#endif -int main(void) { return 0; } - ])],,[ - AX_CHECK_COMPILE_FLAG([-flax-vector-conversions], [CFLAGS="$CFLAGS -flax-vector-conversions"]) - ]) - ] - ) - ]) - -LIBTOOL_OLD_FLAGS="$LIBTOOL_EXTRA_FLAGS" -LIBTOOL_EXTRA_FLAGS="$LIBTOOL_EXTRA_FLAGS -version-info $SODIUM_LIBRARY_VERSION" -AC_ARG_ENABLE(soname-versions, - [AC_HELP_STRING([--enable-soname-versions], [enable soname versions (must be disabled for Android) (default: enabled)])], - [ - AS_IF([test "x$enableval" = "xno"], [ - LIBTOOL_EXTRA_FLAGS="$LIBTOOL_OLD_FLAGS -avoid-version" - ]) - ] -) - -AS_CASE([$host_os], - [cygwin*|mingw*|msys|pw32*|cegcc*], [ - AX_CHECK_LINK_FLAG([-Wl,--dynamicbase], [LDFLAGS="$LDFLAGS -Wl,--dynamicbase"]) - AX_CHECK_LINK_FLAG([-Wl,--high-entropy-va], [LDFLAGS="$LDFLAGS -Wl,--high-entropy-va"]) - AX_CHECK_LINK_FLAG([-Wl,--nxcompat], [LDFLAGS="$LDFLAGS -Wl,--nxcompat"]) - ]) - -AS_CASE([$host_os], - [cygwin*|mingw*|msys|pw32*|cegcc*], [ - AX_CHECK_COMPILE_FLAG([-fno-asynchronous-unwind-tables], [ - [CFLAGS="$CFLAGS -fno-asynchronous-unwind-tables"] - ]) -]) - -AS_IF([test "x$enable_ssp" != "xno"],[ - -AS_CASE([$host_os], - [cygwin*|mingw*|msys|pw32*|cegcc*|haiku|none], [ ], - [*], [ - AX_CHECK_COMPILE_FLAG([-fstack-protector], [ - AX_CHECK_LINK_FLAG([-fstack-protector], - [CFLAGS="$CFLAGS -fstack-protector"] - ) - ]) - ]) -]) - -AC_ARG_VAR([CWFLAGS], [define to compilation flags for generating extra warnings]) - -AX_CHECK_COMPILE_FLAG([$CFLAGS -Wall], [CWFLAGS="$CFLAGS -Wall"]) -AX_CHECK_COMPILE_FLAG([$CFLAGS -Wextra], [CWFLAGS="$CFLAGS -Wextra"]) - -AC_MSG_CHECKING(for clang) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ -#ifndef __clang__ -#error Not clang -#endif -]])], - [AC_MSG_RESULT(yes) - AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wno-unknown-warning-option], - [CWFLAGS="$CWFLAGS -Wno-unknown-warning-option"]) - ], - [AC_MSG_RESULT(no) -]) - -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wbad-function-cast], [CWFLAGS="$CWFLAGS -Wbad-function-cast"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wcast-qual], [CWFLAGS="$CWFLAGS -Wcast-qual"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wdiv-by-zero], [CWFLAGS="$CWFLAGS -Wdiv-by-zero"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wduplicated-branches], [CWFLAGS="$CWFLAGS -Wduplicated-branches"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wduplicated-cond], [CWFLAGS="$CWFLAGS -Wduplicated-cond"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wfloat-equal], [CWFLAGS="$CWFLAGS -Wfloat-equal"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wformat=2], [CWFLAGS="$CWFLAGS -Wformat=2"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wlogical-op], [CWFLAGS="$CWFLAGS -Wlogical-op"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmaybe-uninitialized], [CWFLAGS="$CWFLAGS -Wmaybe-uninitialized"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmisleading-indentation], [CWFLAGS="$CWFLAGS -Wmisleading-indentation"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmissing-declarations], [CWFLAGS="$CWFLAGS -Wmissing-declarations"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmissing-prototypes], [CWFLAGS="$CWFLAGS -Wmissing-prototypes"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wnested-externs], [CWFLAGS="$CWFLAGS -Wnested-externs"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wno-type-limits], [CWFLAGS="$CWFLAGS -Wno-type-limits"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wno-unknown-pragmas], [CWFLAGS="$CWFLAGS -Wno-unknown-pragmas"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wnormalized=id], [CWFLAGS="$CWFLAGS -Wnormalized=id"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wnull-dereference], [CWFLAGS="$CWFLAGS -Wnull-dereference"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wold-style-declaration], [CWFLAGS="$CWFLAGS -Wold-style-declaration"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wpointer-arith], [CWFLAGS="$CWFLAGS -Wpointer-arith"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wredundant-decls], [CWFLAGS="$CWFLAGS -Wredundant-decls"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wrestrict], [CWFLAGS="$CWFLAGS -Wrestrict"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wshorten-64-to-32], [CWFLAGS="$CWFLAGS -Wshorten-64-to-32"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wsometimes-uninitialized], [CWFLAGS="$CWFLAGS -Wsometimes-uninitialized"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wstrict-prototypes], [CWFLAGS="$CWFLAGS -Wstrict-prototypes"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wswitch-enum], [CWFLAGS="$CWFLAGS -Wswitch-enum"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wvariable-decl], [CWFLAGS="$CWFLAGS -Wvariable-decl"]) -AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wwrite-strings], [CWFLAGS="$CWFLAGS -Wwrite-strings"]) - -AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"]) -AX_CHECK_LINK_FLAG([-Wl,-z,now], [LDFLAGS="$LDFLAGS -Wl,-z,now"]) -AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"]) - -AX_CHECK_CATCHABLE_SEGV -AX_CHECK_CATCHABLE_ABRT - -AS_IF([test "x$with_threads" = "xyes"], [ - AX_TLS([AC_MSG_RESULT(thread local storage is supported) - AX_CHECK_COMPILE_FLAG([-ftls-model=local-dynamic], - [CFLAGS="$CFLAGS -ftls-model=local-dynamic"])], - [AC_MSG_RESULT(thread local storage is not supported)]) ]) - -LT_INIT -AC_SUBST(LIBTOOL_DEPS) - -AC_ARG_VAR([AR], [path to the ar utility]) -AC_CHECK_TOOL([AR], [ar], [ar]) - -dnl Checks for headers - -AS_IF([test "x$EMSCRIPTEN" = "x"], [ - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-mmmx], [CFLAGS="$CFLAGS -mmmx"]) - AC_MSG_CHECKING(for MMX instructions set) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("mmx") -#include -]], [[ __m64 x = _mm_setzero_si64(); ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_MMINTRIN_H], [1], [mmx is available]) - AX_CHECK_COMPILE_FLAG([-mmmx], [CFLAGS_MMX="-mmmx"])], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-msse2], [CFLAGS="$CFLAGS -msse2"]) - AC_MSG_CHECKING(for SSE2 instructions set) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("sse2") -#ifndef __SSE2__ -# define __SSE2__ -#endif -#include -]], [[ __m128d x = _mm_setzero_pd(); - __m128i z = _mm_srli_epi64(_mm_setzero_si128(), 26); ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_EMMINTRIN_H], [1], [sse2 is available]) - AX_CHECK_COMPILE_FLAG([-msse2], [CFLAGS_SSE2="-msse2"])], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-msse3], [CFLAGS="$CFLAGS -msse3"]) - AC_MSG_CHECKING(for SSE3 instructions set) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("sse3") -#include -]], [[ __m128 x = _mm_addsub_ps(_mm_cvtpd_ps(_mm_setzero_pd()), - _mm_cvtpd_ps(_mm_setzero_pd())); ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_PMMINTRIN_H], [1], [sse3 is available]) - AX_CHECK_COMPILE_FLAG([-msse3], [CFLAGS_SSE3="-msse3"])], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-mssse3], [CFLAGS="$CFLAGS -mssse3"]) - AC_MSG_CHECKING(for SSSE3 instructions set) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("ssse3") -#include -]], [[ __m64 x = _mm_abs_pi32(_m_from_int(0)); ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_TMMINTRIN_H], [1], [ssse3 is available]) - AX_CHECK_COMPILE_FLAG([-mssse3], [CFLAGS_SSSE3="-mssse3"])], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS="$CFLAGS -msse4.1"]) - AC_MSG_CHECKING(for SSE4.1 instructions set) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("sse4.1") -#include -]], [[ __m128i x = _mm_minpos_epu16(_mm_setzero_si128()); ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_SMMINTRIN_H], [1], [sse4.1 is available]) - AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS_SSE41="-msse4.1"])], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS="$CFLAGS -mavx"]) - AC_MSG_CHECKING(for AVX instructions set) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("avx") -#include -]], [[ _mm256_zeroall(); ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_AVXINTRIN_H], [1], [AVX is available]) - AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS_AVX="-mavx"])], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-mavx2], [CFLAGS="$CFLAGS -mavx2"]) - AC_MSG_CHECKING(for AVX2 instructions set) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("avx2") -#include -]], [[ -__m256 x = _mm256_set1_ps(3.14); -__m256 y = _mm256_permutevar8x32_ps(x, _mm256_set1_epi32(42)); -return _mm256_movemask_ps(_mm256_cmp_ps(x, y, _CMP_NEQ_OQ)); -]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_AVX2INTRIN_H], [1], [AVX2 is available]) - AX_CHECK_COMPILE_FLAG([-mavx2], [CFLAGS_AVX2="-mavx2"]) - AC_MSG_CHECKING(if _mm256_broadcastsi128_si256 is correctly defined) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("avx2") -#include - ]], [[ __m256i y = _mm256_broadcastsi128_si256(_mm_setzero_si128()); ]])], - [AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no) - AC_DEFINE([_mm256_broadcastsi128_si256], [_mm_broadcastsi128_si256], - [Define to the local name of _mm256_broadcastsi128_si256])]) - ], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-mavx512f], [CFLAGS="$CFLAGS -mavx512f"]) - AC_MSG_CHECKING(for AVX512F instructions set) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("avx512f") -#include -]], [[ - -#ifndef __AVX512F__ -# error No AVX512 support -#elif defined(__clang__) -# if __clang_major__ < 4 -# error Compiler AVX512 support may be broken -# endif -#elif defined(__GNUC__) -# if __GNUC__ < 6 -# error Compiler AVX512 support may be broken -# endif -#endif - -__m512i x = _mm512_setzero_epi32(); -__m512i y = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), x); -]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_AVX512FINTRIN_H], [1], [AVX512F is available]) - AX_CHECK_COMPILE_FLAG([-mavx512f], [CFLAGS_AVX512F="-mavx512f"])], - [AC_MSG_RESULT(no) - AX_CHECK_COMPILE_FLAG([$CFLAGS -mno-avx512f], - [CFLAGS="$CFLAGS -mno-avx512f"]) - ]) - CFLAGS="$oldcflags" - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS="$CFLAGS -maes"]) - AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS="$CFLAGS -mpclmul"]) - AC_MSG_CHECKING(for AESNI instructions set and PCLMULQDQ) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("aes") -#pragma GCC target("pclmul") -#include -]], [[ __m128i x = _mm_aesimc_si128(_mm_setzero_si128()); - __m128i y = _mm_clmulepi64_si128(_mm_setzero_si128(), _mm_setzero_si128(), 0);]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_WMMINTRIN_H], [1], [aesni is available]) - AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS_AESNI="-maes"]) - AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS_PCLMUL="-mpclmul"]) - ], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - - oldcflags="$CFLAGS" - AX_CHECK_COMPILE_FLAG([-mrdrnd], [CFLAGS="$CFLAGS -mrdrnd"]) - AC_MSG_CHECKING(for RDRAND) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#pragma GCC target("rdrnd") -#include -]], [[ unsigned long long x; _rdrand64_step(&x); ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_RDRAND], [1], [rdrand is available]) - AX_CHECK_COMPILE_FLAG([-mrdrnd], [CFLAGS_RDRAND="-mrdrnd"]) - ], - [AC_MSG_RESULT(no)]) - CFLAGS="$oldcflags" - -]) - -AC_SUBST(CFLAGS_MMX) -AC_SUBST(CFLAGS_SSE2) -AC_SUBST(CFLAGS_SSE3) -AC_SUBST(CFLAGS_SSSE3) -AC_SUBST(CFLAGS_SSE41) -AC_SUBST(CFLAGS_AVX) -AC_SUBST(CFLAGS_AVX2) -AC_SUBST(CFLAGS_AVX512F) -AC_SUBST(CFLAGS_AESNI) -AC_SUBST(CFLAGS_PCLMUL) -AC_SUBST(CFLAGS_RDRAND) - -AC_CHECK_HEADERS([sys/mman.h sys/random.h intrin.h]) - -AC_MSG_CHECKING([if _xgetbv() is available]) -AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ #include ]], [[ (void) _xgetbv(0) ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE__XGETBV], [1], [_xgetbv() is available])], - [AC_MSG_RESULT(no)]) - -dnl Checks for typedefs, structures, and compiler characteristics. - -AC_C_INLINE -AS_CASE([$host_cpu], - [i?86|amd64|x86_64], - [ac_cv_c_bigendian=no] -) -AC_C_BIGENDIAN( - AC_DEFINE(NATIVE_BIG_ENDIAN, 1, [machine is bigendian]), - AC_DEFINE(NATIVE_LITTLE_ENDIAN, 1, [machine is littleendian]), - AC_MSG_ERROR([unknown endianness]), - AC_MSG_ERROR([universal endianness is not supported - compile separately and use lipo(1)]) -) - -AC_MSG_CHECKING(whether __STDC_LIMIT_MACROS is required) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -#include -]], [[ -(void) SIZE_MAX; -(void) UINT64_MAX; -]])], - [AC_MSG_RESULT(no)], - [AC_MSG_RESULT(yes) - CPPFLAGS="$CPPFLAGS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS" -]) - -AC_MSG_CHECKING(whether we can use inline asm code) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -]], [[ -int a = 42; -int *pnt = &a; -__asm__ __volatile__ ("" : : "r"(pnt) : "memory"); -]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_INLINE_ASM], [1], [inline asm code can be used])] - [AC_MSG_RESULT(no)] -) - -HAVE_AMD64_ASM_V=0 -AS_IF([test "$enable_asm" != "no"],[ - AC_MSG_CHECKING(whether we can use x86_64 asm code) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - ]], [[ -#if defined(__amd64) || defined(__amd64__) || defined(__x86_64__) -# if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(_WIN32) || defined(_WIN64) -# error Windows x86_64 calling conventions are not supported yet -# endif -/* neat */ -#else -# error !x86_64 -#endif -unsigned char i = 0, o = 0, t; -__asm__ __volatile__ ("pxor %%xmm12, %%xmm6 \n" - "movb (%[i]), %[t] \n" - "addb %[t], (%[o]) \n" - : [t] "=&r"(t) - : [o] "D"(&o), [i] "S"(&i) - : "memory", "flags", "cc"); -]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_AMD64_ASM], [1], [x86_64 asm code can be used]) - HAVE_AMD64_ASM_V=1], - [AC_MSG_RESULT(no)]) -]) -AM_CONDITIONAL([HAVE_AMD64_ASM], [test $HAVE_AMD64_ASM_V = 1]) -AC_SUBST(HAVE_AMD64_ASM_V) - -HAVE_AVX_ASM_V=0 -AS_IF([test "$enable_asm" != "no"],[ - AC_MSG_CHECKING(whether we can assemble AVX opcodes) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - ]], [[ -#if defined(__amd64) || defined(__amd64__) || defined(__x86_64__) -# if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(_WIN32) || defined(_WIN64) -# error Windows x86_64 calling conventions are not supported yet -# endif -/* neat */ -#else -# error !x86_64 -#endif -__asm__ __volatile__ ("vpunpcklqdq %xmm0,%xmm13,%xmm0"); -]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_AVX_ASM], [1], [AVX opcodes are supported]) - HAVE_AVX_ASM_V=1], - [AC_MSG_RESULT(no)]) -]) -AM_CONDITIONAL([HAVE_AVX_ASM], [test $HAVE_AVX_ASM_V = 1]) -AC_SUBST(HAVE_AVX_ASM_V) - -AC_MSG_CHECKING(for 128-bit arithmetic) -HAVE_TI_MODE_V=0 -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if !defined(__clang__) && !defined(__GNUC__) && !defined(__SIZEOF_INT128__) -# error mode(TI) is a gcc extension, and __int128 is not available -#endif -#if defined(__clang__) && !defined(__x86_64__) && !defined(__aarch64__) -# error clang does not properly handle the 128-bit type on 32-bit systems -#endif -#ifndef NATIVE_LITTLE_ENDIAN -# error libsodium currently expects a little endian CPU for the 128-bit type -#endif -#ifdef __EMSCRIPTEN__ -# error emscripten currently doesn't support some operations on integers larger than 64 bits -#endif -#include -#include -#if defined(__SIZEOF_INT128__) -typedef unsigned __int128 uint128_t; -#else -typedef unsigned uint128_t __attribute__((mode(TI))); -#endif -void fcontract(uint128_t *t) { - *t += 0x8000000000000 - 1; - *t *= *t; - *t >>= 84; -} -]], [[ -(void) fcontract; -]])], -[AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_TI_MODE], [1], [gcc TI mode is available]) - HAVE_TI_MODE_V=1], -[AC_MSG_RESULT(no)]) -AM_CONDITIONAL([HAVE_TI_MODE], [test $HAVE_TI_MODE_V = 1]) -AC_SUBST(HAVE_TI_MODE_V) - -HAVE_CPUID_V=0 -AS_IF([test "$enable_asm" != "no"],[ - AC_MSG_CHECKING(for cpuid instruction) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[ -unsigned int cpu_info[4]; -__asm__ __volatile__ ("xchgl %%ebx, %k1; cpuid; xchgl %%ebx, %k1" : - "=a" (cpu_info[0]), "=&r" (cpu_info[1]), - "=c" (cpu_info[2]), "=d" (cpu_info[3]) : - "0" (0U), "2" (0U)); - ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_CPUID], [1], [cpuid instruction is available]) - HAVE_CPUID_V=1], - [AC_MSG_RESULT(no)]) - ]) -AC_SUBST(HAVE_CPUID_V) - -asm_hide_symbol="unsupported" -AS_IF([test "$enable_asm" != "no"],[ - AC_MSG_CHECKING(if the .private_extern asm directive is supported) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[ -__asm__ __volatile__ (".private_extern dummy_symbol \n" - ".private_extern _dummy_symbol \n" - ".globl dummy_symbol \n" - ".globl _dummy_symbol \n" - "dummy_symbol: \n" - "_dummy_symbol: \n" - " nop \n" -); - ]])], - [AC_MSG_RESULT(yes) - asm_hide_symbol=".private_extern"], - [AC_MSG_RESULT(no)]) - - AC_MSG_CHECKING(if the .hidden asm directive is supported) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[ -__asm__ __volatile__ (".hidden dummy_symbol \n" - ".hidden _dummy_symbol \n" - ".globl dummy_symbol \n" - ".globl _dummy_symbol \n" - "dummy_symbol: \n" - "_dummy_symbol: \n" - " nop \n" -); - ]])], - [AC_MSG_RESULT(yes) - AS_IF([test "$asm_hide_symbol" = "unsupported"], - [asm_hide_symbol=".hidden"], - [AC_MSG_NOTICE([unable to reliably tag symbols as private]) - asm_hide_symbol="unsupported"]) - ], - [AC_MSG_RESULT(no)]) - - AS_IF([test "$asm_hide_symbol" != "unsupported"],[ - AC_DEFINE_UNQUOTED([ASM_HIDE_SYMBOL], [$asm_hide_symbol], [directive to hide symbols]) - ]) -]) - -AC_MSG_CHECKING(if weak symbols are supported) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -#if !defined(__ELF__) && !defined(__APPLE_CC__) -# error Support for weak symbols may not be available -#endif -__attribute__((weak)) void __dummy(void *x) { } -void f(void *x) { __dummy(x); } -]], [[ ]] -)], -[AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_WEAK_SYMBOLS], [1], [weak symbols are supported])], -[AC_MSG_RESULT(no)]) - -AC_MSG_CHECKING(if data alignment is required) -aligned_access_required=yes -AS_CASE([$host_cpu], - [i?86|amd64|x86_64|powerpc*|s390*], - [aligned_access_required=no], - [arm*], - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#ifndef __ARM_FEATURE_UNALIGNED -# error data alignment is required -#endif - ]], [[]])], [aligned_access_required=no], [])] -) -AS_IF([test "x$aligned_access_required" = "xyes"], - [AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no) - AC_DEFINE([CPU_UNALIGNED_ACCESS], [1], [unaligned memory access is supported])]) - -AC_MSG_CHECKING(if atomic operations are supported) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[ -static volatile int _sodium_lock; -__sync_lock_test_and_set(&_sodium_lock, 1); -__sync_lock_release(&_sodium_lock); -]] -)], -[AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_ATOMIC_OPS], [1], [atomic operations are supported])], -[AC_MSG_RESULT(no)]) - -dnl Checks for functions and headers - -AC_FUNC_ALLOCA -AS_IF([test "x$EMSCRIPTEN" = "x"],[ - AC_CHECK_FUNCS([arc4random arc4random_buf]) - AC_CHECK_FUNCS([mmap mlock madvise mprotect]) - - AC_MSG_CHECKING(for getrandom with a standard API) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -#include -#ifdef HAVE_UNISTD_H -# include -#endif -#ifdef HAVE_SYS_RANDOM_H -# include -#endif -]], [[ -unsigned char buf; -(void) getrandom((void *) &buf, 1U, 0U); - ]])], - [AC_MSG_RESULT(yes) - AC_CHECK_FUNCS([getrandom])], - [AC_MSG_RESULT(no) - ]) - - AC_MSG_CHECKING(for getentropy with a standard API) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -#include -#ifdef HAVE_UNISTD_H -# include -#endif -#ifdef HAVE_SYS_RANDOM_H -# include -#endif -]], [[ -#ifdef __APPLE__ -# error getentropy() is currently disabled on Apple operating systems -#endif - -unsigned char buf; -(void) getentropy((void *) &buf, 1U); - ]])], - [AC_MSG_RESULT(yes) - AC_CHECK_FUNCS([getentropy])], - [AC_MSG_RESULT(no) - ]) -]) -AC_CHECK_FUNCS([posix_memalign getpid nanosleep]) -AC_CHECK_FUNCS([memset_s explicit_bzero explicit_memset]) - -AC_SUBST([LIBTOOL_EXTRA_FLAGS]) - -TEST_LDFLAGS='' -AS_IF([test "x$EMSCRIPTEN" != "x"],[ - EXEEXT=.js - TEST_LDFLAGS='--memory-init-file 0 --pre-js pre.js.inc -s RESERVED_FUNCTION_POINTERS=8' -]) -AC_SUBST(TEST_LDFLAGS) -AM_CONDITIONAL([EMSCRIPTEN], [test "x$EMSCRIPTEN" != "x"]) -AM_CONDITIONAL([WASI], [test "x$WASI" != "x"]) - -AC_DEFINE([CONFIGURED], [1], [the build system was properly configured]) - -dnl Libtool. - -LT_INIT([dlopen]) -AC_LIBTOOL_WIN32_DLL -gl_LD_OUTPUT_DEF - -dnl Output. - -AH_VERBATIM([NDEBUG], [/* Always evaluate assert() calls */ -#ifdef NDEBUG -#/**/undef/**/ NDEBUG -#endif]) - -AS_IF([test "x$ENABLE_CWFLAGS" = "xyes"], [ - CFLAGS="$CFLAGS $CWFLAGS" -]) - -AC_CONFIG_FILES([Makefile - builds/Makefile - contrib/Makefile - dist-build/Makefile - libsodium.pc - libsodium-uninstalled.pc - msvc-scripts/Makefile - src/Makefile - src/libsodium/Makefile - src/libsodium/include/Makefile - src/libsodium/include/sodium/version.h - test/default/Makefile - test/Makefile - ]) -AC_OUTPUT diff --git a/libsodium-1.0.18-RELEASE/contrib/Findsodium.cmake b/libsodium-1.0.18-RELEASE/contrib/Findsodium.cmake deleted file mode 100644 index a124f1c..0000000 --- a/libsodium-1.0.18-RELEASE/contrib/Findsodium.cmake +++ /dev/null @@ -1,293 +0,0 @@ -# Written in 2016 by Henrik Steffen Gaßmann -# -# To the extent possible under law, the author(s) have dedicated all copyright -# and related and neighboring rights to this software to the public domain -# worldwide. This software is distributed without any warranty. -# -# You should have received a copy of the CC0 Public Domain Dedication along with -# this software. If not, see -# -# http://creativecommons.org/publicdomain/zero/1.0/ -# -# ############################################################################## -# Tries to find the local libsodium installation. -# -# On Windows the sodium_DIR environment variable is used as a default hint which -# can be overridden by setting the corresponding cmake variable. -# -# Once done the following variables will be defined: -# -# sodium_FOUND sodium_INCLUDE_DIR sodium_LIBRARY_DEBUG sodium_LIBRARY_RELEASE -# sodium_VERSION_STRING -# -# Furthermore an imported "sodium" target is created. -# - -if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang") - set(_GCC_COMPATIBLE 1) -endif() - -# static library option -if(NOT DEFINED sodium_USE_STATIC_LIBS) - option(sodium_USE_STATIC_LIBS "enable to statically link against sodium" OFF) -endif() -if(NOT (sodium_USE_STATIC_LIBS EQUAL sodium_USE_STATIC_LIBS_LAST)) - unset(sodium_LIBRARY CACHE) - unset(sodium_LIBRARY_DEBUG CACHE) - unset(sodium_LIBRARY_RELEASE CACHE) - unset(sodium_DLL_DEBUG CACHE) - unset(sodium_DLL_RELEASE CACHE) - set(sodium_USE_STATIC_LIBS_LAST - ${sodium_USE_STATIC_LIBS} - CACHE INTERNAL "internal change tracking variable") -endif() - -# ############################################################################## -# UNIX -if(UNIX) - # import pkg-config - find_package(PkgConfig QUIET) - if(PKG_CONFIG_FOUND) - pkg_check_modules(sodium_PKG QUIET libsodium) - endif() - - if(sodium_USE_STATIC_LIBS) - if(sodium_PKG_STATIC_LIBRARIES) - foreach(_libname ${sodium_PKG_STATIC_LIBRARIES}) - if(NOT _libname MATCHES "^lib.*\\.a$") # ignore strings already ending - # with .a - list(INSERT sodium_PKG_STATIC_LIBRARIES 0 "lib${_libname}.a") - endif() - endforeach() - list(REMOVE_DUPLICATES sodium_PKG_STATIC_LIBRARIES) - else() - # if pkgconfig for libsodium doesn't provide static lib info, then - # override PKG_STATIC here.. - set(sodium_PKG_STATIC_LIBRARIES libsodium.a) - endif() - - set(XPREFIX sodium_PKG_STATIC) - else() - if(sodium_PKG_LIBRARIES STREQUAL "") - set(sodium_PKG_LIBRARIES sodium) - endif() - - set(XPREFIX sodium_PKG) - endif() - - find_path(sodium_INCLUDE_DIR sodium.h HINTS ${${XPREFIX}_INCLUDE_DIRS}) - find_library(sodium_LIBRARY_DEBUG - NAMES ${${XPREFIX}_LIBRARIES} - HINTS ${${XPREFIX}_LIBRARY_DIRS}) - find_library(sodium_LIBRARY_RELEASE - NAMES ${${XPREFIX}_LIBRARIES} - HINTS ${${XPREFIX}_LIBRARY_DIRS}) - - # ############################################################################ - # Windows -elseif(WIN32) - set(sodium_DIR "$ENV{sodium_DIR}" CACHE FILEPATH "sodium install directory") - mark_as_advanced(sodium_DIR) - - find_path(sodium_INCLUDE_DIR sodium.h - HINTS ${sodium_DIR} - PATH_SUFFIXES include) - - if(MSVC) - # detect target architecture - file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arch.c" [=[ - #if defined _M_IX86 - #error ARCH_VALUE x86_32 - #elif defined _M_X64 - #error ARCH_VALUE x86_64 - #endif - #error ARCH_VALUE unknown - ]=]) - try_compile(_UNUSED_VAR "${CMAKE_CURRENT_BINARY_DIR}" - "${CMAKE_CURRENT_BINARY_DIR}/arch.c" - OUTPUT_VARIABLE _COMPILATION_LOG) - string(REGEX - REPLACE ".*ARCH_VALUE ([a-zA-Z0-9_]+).*" - "\\1" - _TARGET_ARCH - "${_COMPILATION_LOG}") - - # construct library path - if(_TARGET_ARCH STREQUAL "x86_32") - string(APPEND _PLATFORM_PATH "Win32") - elseif(_TARGET_ARCH STREQUAL "x86_64") - string(APPEND _PLATFORM_PATH "x64") - else() - message( - FATAL_ERROR - "the ${_TARGET_ARCH} architecture is not supported by Findsodium.cmake." - ) - endif() - string(APPEND _PLATFORM_PATH "/$$CONFIG$$") - - if(MSVC_VERSION LESS 1900) - math(EXPR _VS_VERSION "${MSVC_VERSION} / 10 - 60") - else() - math(EXPR _VS_VERSION "${MSVC_VERSION} / 10 - 50") - endif() - string(APPEND _PLATFORM_PATH "/v${_VS_VERSION}") - - if(sodium_USE_STATIC_LIBS) - string(APPEND _PLATFORM_PATH "/static") - else() - string(APPEND _PLATFORM_PATH "/dynamic") - endif() - - string(REPLACE "$$CONFIG$$" - "Debug" - _DEBUG_PATH_SUFFIX - "${_PLATFORM_PATH}") - string(REPLACE "$$CONFIG$$" - "Release" - _RELEASE_PATH_SUFFIX - "${_PLATFORM_PATH}") - - find_library(sodium_LIBRARY_DEBUG libsodium.lib - HINTS ${sodium_DIR} - PATH_SUFFIXES ${_DEBUG_PATH_SUFFIX}) - find_library(sodium_LIBRARY_RELEASE libsodium.lib - HINTS ${sodium_DIR} - PATH_SUFFIXES ${_RELEASE_PATH_SUFFIX}) - if(NOT sodium_USE_STATIC_LIBS) - set(CMAKE_FIND_LIBRARY_SUFFIXES_BCK ${CMAKE_FIND_LIBRARY_SUFFIXES}) - set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") - find_library(sodium_DLL_DEBUG libsodium - HINTS ${sodium_DIR} - PATH_SUFFIXES ${_DEBUG_PATH_SUFFIX}) - find_library(sodium_DLL_RELEASE libsodium - HINTS ${sodium_DIR} - PATH_SUFFIXES ${_RELEASE_PATH_SUFFIX}) - set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BCK}) - endif() - - elseif(_GCC_COMPATIBLE) - if(sodium_USE_STATIC_LIBS) - find_library(sodium_LIBRARY_DEBUG libsodium.a - HINTS ${sodium_DIR} - PATH_SUFFIXES lib) - find_library(sodium_LIBRARY_RELEASE libsodium.a - HINTS ${sodium_DIR} - PATH_SUFFIXES lib) - else() - find_library(sodium_LIBRARY_DEBUG libsodium.dll.a - HINTS ${sodium_DIR} - PATH_SUFFIXES lib) - find_library(sodium_LIBRARY_RELEASE libsodium.dll.a - HINTS ${sodium_DIR} - PATH_SUFFIXES lib) - - file(GLOB _DLL - LIST_DIRECTORIES false - RELATIVE "${sodium_DIR}/bin" - "${sodium_DIR}/bin/libsodium*.dll") - find_library(sodium_DLL_DEBUG ${_DLL} libsodium - HINTS ${sodium_DIR} - PATH_SUFFIXES bin) - find_library(sodium_DLL_RELEASE ${_DLL} libsodium - HINTS ${sodium_DIR} - PATH_SUFFIXES bin) - endif() - else() - message(FATAL_ERROR "this platform is not supported by FindSodium.cmake") - endif() - - # ############################################################################ - # unsupported -else() - message(FATAL_ERROR "this platform is not supported by FindSodium.cmake") -endif() - -# ############################################################################## -# common stuff - -# extract sodium version -if(sodium_INCLUDE_DIR) - set(_VERSION_HEADER "${sodium_INCLUDE_DIR}/sodium/version.h") - if(EXISTS "${_VERSION_HEADER}") - file(READ "${_VERSION_HEADER}" _VERSION_HEADER_CONTENT) - string( - REGEX - REPLACE - ".*#[ \t]*define[ \t]*sodium_VERSION_STRING_STRING[ \t]*\"([^\n]*)\".*" - "\\1" - sodium_VERSION_STRING - "${_VERSION_HEADER_CONTENT}") - set(sodium_VERSION_STRING "${sodium_VERSION_STRING}") - endif() -endif() - -# communicate results -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(sodium - REQUIRED_VARS - sodium_LIBRARY_RELEASE - sodium_LIBRARY_DEBUG - sodium_INCLUDE_DIR - VERSION_VAR - sodium_VERSION_STRING) - -# mark file paths as advanced -mark_as_advanced(sodium_INCLUDE_DIR) -mark_as_advanced(sodium_LIBRARY_DEBUG) -mark_as_advanced(sodium_LIBRARY_RELEASE) -if(WIN32) - mark_as_advanced(sodium_DLL_DEBUG) - mark_as_advanced(sodium_DLL_RELEASE) -endif() - -# create imported target -if(sodium_USE_STATIC_LIBS) - set(_LIB_TYPE STATIC) -else() - set(_LIB_TYPE SHARED) -endif() -add_library(sodium ${_LIB_TYPE} IMPORTED) - -set_target_properties(sodium - PROPERTIES INTERFACE_INCLUDE_DIRECTORIES - "${sodium_INCLUDE_DIR}" - IMPORTED_LINK_INTERFACE_LANGUAGES - "C") - -if(sodium_USE_STATIC_LIBS) - set_target_properties(sodium - PROPERTIES INTERFACE_COMPILE_DEFINITIONS - "SODIUM_STATIC" - IMPORTED_LOCATION - "${sodium_LIBRARY_RELEASE}" - IMPORTED_LOCATION_DEBUG - "${sodium_LIBRARY_DEBUG}") -else() - if(UNIX) - set_target_properties(sodium - PROPERTIES IMPORTED_LOCATION - "${sodium_LIBRARY_RELEASE}" - IMPORTED_LOCATION_DEBUG - "${sodium_LIBRARY_DEBUG}") - elseif(WIN32) - set_target_properties(sodium - PROPERTIES IMPORTED_IMPLIB - "${sodium_LIBRARY_RELEASE}" - IMPORTED_IMPLIB_DEBUG - "${sodium_LIBRARY_DEBUG}") - if(NOT (sodium_DLL_DEBUG MATCHES ".*-NOTFOUND")) - set_target_properties(sodium - PROPERTIES IMPORTED_LOCATION_DEBUG - "${sodium_DLL_DEBUG}") - endif() - if(NOT (sodium_DLL_RELEASE MATCHES ".*-NOTFOUND")) - set_target_properties(sodium - PROPERTIES IMPORTED_LOCATION_RELWITHDEBINFO - "${sodium_DLL_RELEASE}" - IMPORTED_LOCATION_MINSIZEREL - "${sodium_DLL_RELEASE}" - IMPORTED_LOCATION_RELEASE - "${sodium_DLL_RELEASE}") - endif() - endif() -endif() diff --git a/libsodium-1.0.18-RELEASE/contrib/Makefile.am b/libsodium-1.0.18-RELEASE/contrib/Makefile.am deleted file mode 100644 index 2cfe522..0000000 --- a/libsodium-1.0.18-RELEASE/contrib/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -EXTRA_DIST = \ - Findsodium.cmake diff --git a/libsodium-1.0.18-RELEASE/dist-build/Makefile.am b/libsodium-1.0.18-RELEASE/dist-build/Makefile.am deleted file mode 100644 index 79949e7..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ - -EXTRA_DIST = \ - android-build.sh \ - android-arm.sh \ - android-armv7-a.sh \ - android-armv8-a.sh \ - android-mips32.sh \ - android-mips64.sh \ - android-x86.sh \ - android-x86_64.sh \ - emscripten.sh \ - ios.sh \ - msys2-win32.sh \ - msys2-win64.sh \ - watchos.sh \ - wasm32-wasi.sh diff --git a/libsodium-1.0.18-RELEASE/dist-build/android-arm.sh b/libsodium-1.0.18-RELEASE/dist-build/android-arm.sh deleted file mode 100644 index eb97828..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/android-arm.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -export TARGET_ARCH=armv6 -export CFLAGS="-Os -mthumb -marm -march=${TARGET_ARCH}" -ARCH=arm HOST_COMPILER=arm-linux-androideabi "$(dirname "$0")/android-build.sh" diff --git a/libsodium-1.0.18-RELEASE/dist-build/android-armv7-a.sh b/libsodium-1.0.18-RELEASE/dist-build/android-armv7-a.sh deleted file mode 100644 index a872508..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/android-armv7-a.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -export TARGET_ARCH=armv7-a -export CFLAGS="-Os -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -marm -march=${TARGET_ARCH}" -ARCH=arm HOST_COMPILER=arm-linux-androideabi "$(dirname "$0")/android-build.sh" diff --git a/libsodium-1.0.18-RELEASE/dist-build/android-armv8-a.sh b/libsodium-1.0.18-RELEASE/dist-build/android-armv8-a.sh deleted file mode 100644 index 1bf13ae..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/android-armv8-a.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -export TARGET_ARCH=armv8-a -export CFLAGS="-Os -march=${TARGET_ARCH}" -NDK_PLATFORM=android-21 ARCH=arm64 HOST_COMPILER=aarch64-linux-android "$(dirname "$0")/android-build.sh" diff --git a/libsodium-1.0.18-RELEASE/dist-build/android-build.sh b/libsodium-1.0.18-RELEASE/dist-build/android-build.sh deleted file mode 100644 index 7691750..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/android-build.sh +++ /dev/null @@ -1,98 +0,0 @@ -#! /bin/sh - -if [ -z "$NDK_PLATFORM" ]; then - export NDK_PLATFORM="android-16" -fi -export NDK_PLATFORM_COMPAT="${NDK_PLATFORM_COMPAT:-${NDK_PLATFORM}}" -export NDK_API_VERSION=$(echo "$NDK_PLATFORM" | sed 's/^android-//') -export NDK_API_VERSION_COMPAT=$(echo "$NDK_PLATFORM_COMPAT" | sed 's/^android-//') - -if [ -z "$ANDROID_NDK_HOME" ]; then - echo "You should probably set ANDROID_NDK_HOME to the directory containing" - echo "the Android NDK" - exit -fi - -if [ ! -f ./configure ]; then - echo "Can't find ./configure. Wrong directory or haven't run autogen.sh?" >&2 - exit 1 -fi - -if [ "x$TARGET_ARCH" = 'x' ] || [ "x$ARCH" = 'x' ] || [ "x$HOST_COMPILER" = 'x' ]; then - echo "You shouldn't use android-build.sh directly, use android-[arch].sh instead" >&2 - exit 1 -fi - -export MAKE_TOOLCHAIN="${ANDROID_NDK_HOME}/build/tools/make_standalone_toolchain.py" - -export PREFIX="$(pwd)/libsodium-android-${TARGET_ARCH}" -export TOOLCHAIN_DIR="$(pwd)/android-toolchain-${TARGET_ARCH}" -export PATH="${PATH}:${TOOLCHAIN_DIR}/bin" - -export CC=${CC:-"${HOST_COMPILER}-clang"} - -rm -rf "${TOOLCHAIN_DIR}" "${PREFIX}" - -echo -echo "Warnings related to headers being present but not usable are due to functions" -echo "that didn't exist in the specified minimum API version level." -echo "They can be safely ignored." -echo - -echo -if [ "$NDK_PLATFORM" != "$NDK_PLATFORM_COMPAT" ]; then - echo "Building for platform [${NDK_PLATFORM}], retaining compatibility with platform [${NDK_PLATFORM_COMPAT}]" -else - echo "Building for platform [${NDK_PLATFORM}]" -fi -echo - -env - PATH="$PATH" \ - "$MAKE_TOOLCHAIN" --force --api="$NDK_API_VERSION_COMPAT" \ - --arch="$ARCH" --install-dir="$TOOLCHAIN_DIR" || exit 1 - -if [ -z "$LIBSODIUM_FULL_BUILD" ]; then - export LIBSODIUM_ENABLE_MINIMAL_FLAG="--enable-minimal" -else - export LIBSODIUM_ENABLE_MINIMAL_FLAG="" -fi - -./configure \ - --disable-soname-versions \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --host="${HOST_COMPILER}" \ - --prefix="${PREFIX}" \ - --with-sysroot="${TOOLCHAIN_DIR}/sysroot" || exit 1 - -if [ "$NDK_PLATFORM" != "$NDK_PLATFORM_COMPAT" ]; then - egrep '^#define ' config.log | sort -u > config-def-compat.log - echo - echo "Configuring again for platform [${NDK_PLATFORM}]" - echo - env - PATH="$PATH" \ - "$MAKE_TOOLCHAIN" --force --api="$NDK_API_VERSION" \ - --arch="$ARCH" --install-dir="$TOOLCHAIN_DIR" || exit 1 - - ./configure \ - --disable-soname-versions \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --host="${HOST_COMPILER}" \ - --prefix="${PREFIX}" \ - --with-sysroot="${TOOLCHAIN_DIR}/sysroot" || exit 1 - - egrep '^#define ' config.log | sort -u > config-def.log - if ! cmp config-def.log config-def-compat.log; then - echo "Platform [${NDK_PLATFORM}] is not backwards-compatible with [${NDK_PLATFORM_COMPAT}]" >&2 - diff -u config-def.log config-def-compat.log >&2 - exit 1 - fi - rm -f config-def.log config-def-compat.log -fi - - -NPROCESSORS=$(getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -PROCESSORS=${NPROCESSORS:-3} - -make clean && \ -make -j${PROCESSORS} install && \ -echo "libsodium has been installed into ${PREFIX}" diff --git a/libsodium-1.0.18-RELEASE/dist-build/android-mips32.sh b/libsodium-1.0.18-RELEASE/dist-build/android-mips32.sh deleted file mode 100644 index ab5f631..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/android-mips32.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -export TARGET_ARCH=mips32 -export CFLAGS="-Os" -ARCH=mips HOST_COMPILER=mipsel-linux-android "$(dirname "$0")/android-build.sh" diff --git a/libsodium-1.0.18-RELEASE/dist-build/android-mips64.sh b/libsodium-1.0.18-RELEASE/dist-build/android-mips64.sh deleted file mode 100644 index 75dd6ea..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/android-mips64.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -export TARGET_ARCH=mips64r6 -export CFLAGS="-Os -march=${TARGET_ARCH}" -CC="mips64el-linux-android-gcc" NDK_PLATFORM=android-21 ARCH=mips64 HOST_COMPILER=mips64el-linux-android "$(dirname "$0")/android-build.sh" diff --git a/libsodium-1.0.18-RELEASE/dist-build/android-x86.sh b/libsodium-1.0.18-RELEASE/dist-build/android-x86.sh deleted file mode 100644 index f21fe47..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/android-x86.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -export TARGET_ARCH=i686 -export CFLAGS="-Os -march=${TARGET_ARCH}" -ARCH=x86 HOST_COMPILER=i686-linux-android "$(dirname "$0")/android-build.sh" diff --git a/libsodium-1.0.18-RELEASE/dist-build/android-x86_64.sh b/libsodium-1.0.18-RELEASE/dist-build/android-x86_64.sh deleted file mode 100644 index 9f2b4f0..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/android-x86_64.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -export TARGET_ARCH=westmere -export CFLAGS="-Os -march=${TARGET_ARCH}" -NDK_PLATFORM=android-21 ARCH=x86_64 HOST_COMPILER=x86_64-linux-android "$(dirname "$0")/android-build.sh" diff --git a/libsodium-1.0.18-RELEASE/dist-build/emscripten-symbols.def b/libsodium-1.0.18-RELEASE/dist-build/emscripten-symbols.def deleted file mode 100644 index b1761c5..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/emscripten-symbols.def +++ /dev/null @@ -1,608 +0,0 @@ -_crypto_aead_aes256gcm_abytes 0 0 -_crypto_aead_aes256gcm_beforenm 0 0 -_crypto_aead_aes256gcm_decrypt 0 0 -_crypto_aead_aes256gcm_decrypt_afternm 0 0 -_crypto_aead_aes256gcm_decrypt_detached 0 0 -_crypto_aead_aes256gcm_decrypt_detached_afternm 0 0 -_crypto_aead_aes256gcm_encrypt 0 0 -_crypto_aead_aes256gcm_encrypt_afternm 0 0 -_crypto_aead_aes256gcm_encrypt_detached 0 0 -_crypto_aead_aes256gcm_encrypt_detached_afternm 0 0 -_crypto_aead_aes256gcm_is_available 0 0 -_crypto_aead_aes256gcm_keybytes 0 0 -_crypto_aead_aes256gcm_keygen 0 0 -_crypto_aead_aes256gcm_messagebytes_max 0 0 -_crypto_aead_aes256gcm_npubbytes 0 0 -_crypto_aead_aes256gcm_nsecbytes 0 0 -_crypto_aead_aes256gcm_statebytes 0 0 -_crypto_aead_chacha20poly1305_abytes 1 1 -_crypto_aead_chacha20poly1305_decrypt 1 1 -_crypto_aead_chacha20poly1305_decrypt_detached 1 1 -_crypto_aead_chacha20poly1305_encrypt 1 1 -_crypto_aead_chacha20poly1305_encrypt_detached 1 1 -_crypto_aead_chacha20poly1305_ietf_abytes 1 1 -_crypto_aead_chacha20poly1305_ietf_decrypt 1 1 -_crypto_aead_chacha20poly1305_ietf_decrypt_detached 1 1 -_crypto_aead_chacha20poly1305_ietf_encrypt 1 1 -_crypto_aead_chacha20poly1305_ietf_encrypt_detached 1 1 -_crypto_aead_chacha20poly1305_ietf_keybytes 1 1 -_crypto_aead_chacha20poly1305_ietf_keygen 1 1 -_crypto_aead_chacha20poly1305_ietf_messagebytes_max 1 1 -_crypto_aead_chacha20poly1305_ietf_npubbytes 1 1 -_crypto_aead_chacha20poly1305_ietf_nsecbytes 1 1 -_crypto_aead_chacha20poly1305_keybytes 1 1 -_crypto_aead_chacha20poly1305_keygen 1 1 -_crypto_aead_chacha20poly1305_messagebytes_max 1 1 -_crypto_aead_chacha20poly1305_npubbytes 1 1 -_crypto_aead_chacha20poly1305_nsecbytes 1 1 -_crypto_aead_xchacha20poly1305_ietf_abytes 1 1 -_crypto_aead_xchacha20poly1305_ietf_decrypt 1 1 -_crypto_aead_xchacha20poly1305_ietf_decrypt_detached 1 1 -_crypto_aead_xchacha20poly1305_ietf_encrypt 1 1 -_crypto_aead_xchacha20poly1305_ietf_encrypt_detached 1 1 -_crypto_aead_xchacha20poly1305_ietf_keybytes 1 1 -_crypto_aead_xchacha20poly1305_ietf_keygen 1 1 -_crypto_aead_xchacha20poly1305_ietf_messagebytes_max 1 1 -_crypto_aead_xchacha20poly1305_ietf_npubbytes 1 1 -_crypto_aead_xchacha20poly1305_ietf_nsecbytes 1 1 -_crypto_auth 1 1 -_crypto_auth_bytes 1 1 -_crypto_auth_hmacsha256 0 1 -_crypto_auth_hmacsha256_bytes 0 1 -_crypto_auth_hmacsha256_final 0 1 -_crypto_auth_hmacsha256_init 0 1 -_crypto_auth_hmacsha256_keybytes 0 1 -_crypto_auth_hmacsha256_keygen 0 1 -_crypto_auth_hmacsha256_statebytes 0 1 -_crypto_auth_hmacsha256_update 0 1 -_crypto_auth_hmacsha256_verify 0 1 -_crypto_auth_hmacsha512 0 1 -_crypto_auth_hmacsha512256 0 1 -_crypto_auth_hmacsha512256_bytes 0 1 -_crypto_auth_hmacsha512256_final 0 1 -_crypto_auth_hmacsha512256_init 0 1 -_crypto_auth_hmacsha512256_keybytes 0 1 -_crypto_auth_hmacsha512256_keygen 0 1 -_crypto_auth_hmacsha512256_statebytes 0 1 -_crypto_auth_hmacsha512256_update 0 1 -_crypto_auth_hmacsha512256_verify 0 1 -_crypto_auth_hmacsha512_bytes 0 1 -_crypto_auth_hmacsha512_final 0 1 -_crypto_auth_hmacsha512_init 0 1 -_crypto_auth_hmacsha512_keybytes 0 1 -_crypto_auth_hmacsha512_keygen 0 1 -_crypto_auth_hmacsha512_statebytes 0 1 -_crypto_auth_hmacsha512_update 0 1 -_crypto_auth_hmacsha512_verify 0 1 -_crypto_auth_keybytes 1 1 -_crypto_auth_keygen 1 1 -_crypto_auth_primitive 0 1 -_crypto_auth_verify 1 1 -_crypto_box 0 1 -_crypto_box_afternm 0 1 -_crypto_box_beforenm 1 1 -_crypto_box_beforenmbytes 1 1 -_crypto_box_boxzerobytes 0 1 -_crypto_box_curve25519xchacha20poly1305_beforenm 0 1 -_crypto_box_curve25519xchacha20poly1305_beforenmbytes 0 1 -_crypto_box_curve25519xchacha20poly1305_detached 0 1 -_crypto_box_curve25519xchacha20poly1305_detached_afternm 0 1 -_crypto_box_curve25519xchacha20poly1305_easy 0 1 -_crypto_box_curve25519xchacha20poly1305_easy_afternm 0 1 -_crypto_box_curve25519xchacha20poly1305_keypair 0 1 -_crypto_box_curve25519xchacha20poly1305_macbytes 0 1 -_crypto_box_curve25519xchacha20poly1305_messagebytes_max 0 1 -_crypto_box_curve25519xchacha20poly1305_noncebytes 0 1 -_crypto_box_curve25519xchacha20poly1305_open_detached 0 1 -_crypto_box_curve25519xchacha20poly1305_open_detached_afternm 0 1 -_crypto_box_curve25519xchacha20poly1305_open_easy 0 1 -_crypto_box_curve25519xchacha20poly1305_open_easy_afternm 0 1 -_crypto_box_curve25519xchacha20poly1305_publickeybytes 0 1 -_crypto_box_curve25519xchacha20poly1305_seal 0 1 -_crypto_box_curve25519xchacha20poly1305_seal_open 0 1 -_crypto_box_curve25519xchacha20poly1305_sealbytes 0 1 -_crypto_box_curve25519xchacha20poly1305_secretkeybytes 0 1 -_crypto_box_curve25519xchacha20poly1305_seed_keypair 0 1 -_crypto_box_curve25519xchacha20poly1305_seedbytes 0 1 -_crypto_box_curve25519xsalsa20poly1305 0 1 -_crypto_box_curve25519xsalsa20poly1305_afternm 0 1 -_crypto_box_curve25519xsalsa20poly1305_beforenm 0 1 -_crypto_box_curve25519xsalsa20poly1305_beforenmbytes 0 1 -_crypto_box_curve25519xsalsa20poly1305_boxzerobytes 0 1 -_crypto_box_curve25519xsalsa20poly1305_keypair 0 1 -_crypto_box_curve25519xsalsa20poly1305_macbytes 0 1 -_crypto_box_curve25519xsalsa20poly1305_messagebytes_max 0 1 -_crypto_box_curve25519xsalsa20poly1305_noncebytes 0 1 -_crypto_box_curve25519xsalsa20poly1305_open 0 1 -_crypto_box_curve25519xsalsa20poly1305_open_afternm 0 1 -_crypto_box_curve25519xsalsa20poly1305_publickeybytes 0 1 -_crypto_box_curve25519xsalsa20poly1305_secretkeybytes 0 1 -_crypto_box_curve25519xsalsa20poly1305_seed_keypair 0 1 -_crypto_box_curve25519xsalsa20poly1305_seedbytes 0 1 -_crypto_box_curve25519xsalsa20poly1305_zerobytes 0 1 -_crypto_box_detached 1 1 -_crypto_box_detached_afternm 1 1 -_crypto_box_easy 1 1 -_crypto_box_easy_afternm 1 1 -_crypto_box_keypair 1 1 -_crypto_box_macbytes 1 1 -_crypto_box_messagebytes_max 1 1 -_crypto_box_noncebytes 1 1 -_crypto_box_open 0 1 -_crypto_box_open_afternm 0 1 -_crypto_box_open_detached 1 1 -_crypto_box_open_detached_afternm 1 1 -_crypto_box_open_easy 1 1 -_crypto_box_open_easy_afternm 1 1 -_crypto_box_primitive 0 1 -_crypto_box_publickeybytes 1 1 -_crypto_box_seal 1 1 -_crypto_box_seal_open 1 1 -_crypto_box_sealbytes 1 1 -_crypto_box_secretkeybytes 1 1 -_crypto_box_seed_keypair 1 1 -_crypto_box_seedbytes 1 1 -_crypto_box_zerobytes 0 1 -_crypto_core_ed25519_add 0 1 -_crypto_core_ed25519_bytes 0 1 -_crypto_core_ed25519_from_hash 0 1 -_crypto_core_ed25519_from_uniform 0 1 -_crypto_core_ed25519_hashbytes 0 1 -_crypto_core_ed25519_is_valid_point 0 1 -_crypto_core_ed25519_nonreducedscalarbytes 0 1 -_crypto_core_ed25519_random 0 1 -_crypto_core_ed25519_scalar_add 0 1 -_crypto_core_ed25519_scalar_complement 0 1 -_crypto_core_ed25519_scalar_invert 0 1 -_crypto_core_ed25519_scalar_mul 0 1 -_crypto_core_ed25519_scalar_negate 0 1 -_crypto_core_ed25519_scalar_random 0 1 -_crypto_core_ed25519_scalar_reduce 0 1 -_crypto_core_ed25519_scalar_sub 0 1 -_crypto_core_ed25519_scalarbytes 0 1 -_crypto_core_ed25519_sub 0 1 -_crypto_core_ed25519_uniformbytes 0 1 -_crypto_core_hchacha20 0 1 -_crypto_core_hchacha20_constbytes 0 1 -_crypto_core_hchacha20_inputbytes 0 1 -_crypto_core_hchacha20_keybytes 0 1 -_crypto_core_hchacha20_outputbytes 0 1 -_crypto_core_hsalsa20 0 1 -_crypto_core_hsalsa20_constbytes 0 1 -_crypto_core_hsalsa20_inputbytes 0 1 -_crypto_core_hsalsa20_keybytes 0 1 -_crypto_core_hsalsa20_outputbytes 0 1 -_crypto_core_ristretto255_add 0 1 -_crypto_core_ristretto255_bytes 0 1 -_crypto_core_ristretto255_from_hash 0 1 -_crypto_core_ristretto255_hashbytes 0 1 -_crypto_core_ristretto255_is_valid_point 0 1 -_crypto_core_ristretto255_nonreducedscalarbytes 0 1 -_crypto_core_ristretto255_random 0 1 -_crypto_core_ristretto255_scalar_add 0 1 -_crypto_core_ristretto255_scalar_complement 0 1 -_crypto_core_ristretto255_scalar_invert 0 1 -_crypto_core_ristretto255_scalar_mul 0 1 -_crypto_core_ristretto255_scalar_negate 0 1 -_crypto_core_ristretto255_scalar_random 0 1 -_crypto_core_ristretto255_scalar_reduce 0 1 -_crypto_core_ristretto255_scalar_sub 0 1 -_crypto_core_ristretto255_scalarbytes 0 1 -_crypto_core_ristretto255_sub 0 1 -_crypto_core_ristretto255_uniformbytes 0 1 -_crypto_core_salsa20 0 1 -_crypto_core_salsa2012 0 1 -_crypto_core_salsa2012_constbytes 0 1 -_crypto_core_salsa2012_inputbytes 0 1 -_crypto_core_salsa2012_keybytes 0 1 -_crypto_core_salsa2012_outputbytes 0 1 -_crypto_core_salsa208 0 1 -_crypto_core_salsa208_constbytes 0 1 -_crypto_core_salsa208_inputbytes 0 1 -_crypto_core_salsa208_keybytes 0 1 -_crypto_core_salsa208_outputbytes 0 1 -_crypto_core_salsa20_constbytes 0 1 -_crypto_core_salsa20_inputbytes 0 1 -_crypto_core_salsa20_keybytes 0 1 -_crypto_core_salsa20_outputbytes 0 1 -_crypto_generichash 1 1 -_crypto_generichash_blake2b 0 1 -_crypto_generichash_blake2b_bytes 0 1 -_crypto_generichash_blake2b_bytes_max 0 1 -_crypto_generichash_blake2b_bytes_min 0 1 -_crypto_generichash_blake2b_final 0 1 -_crypto_generichash_blake2b_init 0 1 -_crypto_generichash_blake2b_init_salt_personal 0 1 -_crypto_generichash_blake2b_keybytes 0 1 -_crypto_generichash_blake2b_keybytes_max 0 1 -_crypto_generichash_blake2b_keybytes_min 0 1 -_crypto_generichash_blake2b_keygen 0 1 -_crypto_generichash_blake2b_personalbytes 0 1 -_crypto_generichash_blake2b_salt_personal 0 1 -_crypto_generichash_blake2b_saltbytes 0 1 -_crypto_generichash_blake2b_statebytes 0 1 -_crypto_generichash_blake2b_update 0 1 -_crypto_generichash_bytes 1 1 -_crypto_generichash_bytes_max 1 1 -_crypto_generichash_bytes_min 1 1 -_crypto_generichash_final 1 1 -_crypto_generichash_init 1 1 -_crypto_generichash_keybytes 1 1 -_crypto_generichash_keybytes_max 1 1 -_crypto_generichash_keybytes_min 1 1 -_crypto_generichash_keygen 1 1 -_crypto_generichash_primitive 0 1 -_crypto_generichash_statebytes 1 1 -_crypto_generichash_update 1 1 -_crypto_hash 1 1 -_crypto_hash_bytes 1 1 -_crypto_hash_primitive 0 1 -_crypto_hash_sha256 0 1 -_crypto_hash_sha256_bytes 0 1 -_crypto_hash_sha256_final 0 1 -_crypto_hash_sha256_init 0 1 -_crypto_hash_sha256_statebytes 0 1 -_crypto_hash_sha256_update 0 1 -_crypto_hash_sha512 0 1 -_crypto_hash_sha512_bytes 0 1 -_crypto_hash_sha512_final 0 1 -_crypto_hash_sha512_init 0 1 -_crypto_hash_sha512_statebytes 0 1 -_crypto_hash_sha512_update 0 1 -_crypto_kdf_blake2b_bytes_max 0 1 -_crypto_kdf_blake2b_bytes_min 0 1 -_crypto_kdf_blake2b_contextbytes 0 1 -_crypto_kdf_blake2b_derive_from_key 0 1 -_crypto_kdf_blake2b_keybytes 0 1 -_crypto_kdf_bytes_max 1 1 -_crypto_kdf_bytes_min 1 1 -_crypto_kdf_contextbytes 1 1 -_crypto_kdf_derive_from_key 1 1 -_crypto_kdf_keybytes 1 1 -_crypto_kdf_keygen 1 1 -_crypto_kdf_primitive 0 1 -_crypto_kx_client_session_keys 1 1 -_crypto_kx_keypair 1 1 -_crypto_kx_primitive 0 1 -_crypto_kx_publickeybytes 1 1 -_crypto_kx_secretkeybytes 1 1 -_crypto_kx_seed_keypair 1 1 -_crypto_kx_seedbytes 1 1 -_crypto_kx_server_session_keys 1 1 -_crypto_kx_sessionkeybytes 1 1 -_crypto_onetimeauth 0 1 -_crypto_onetimeauth_bytes 0 1 -_crypto_onetimeauth_final 0 1 -_crypto_onetimeauth_init 0 1 -_crypto_onetimeauth_keybytes 0 1 -_crypto_onetimeauth_keygen 0 1 -_crypto_onetimeauth_poly1305 0 1 -_crypto_onetimeauth_poly1305_bytes 0 1 -_crypto_onetimeauth_poly1305_final 0 1 -_crypto_onetimeauth_poly1305_init 0 1 -_crypto_onetimeauth_poly1305_keybytes 0 1 -_crypto_onetimeauth_poly1305_keygen 0 1 -_crypto_onetimeauth_poly1305_statebytes 0 1 -_crypto_onetimeauth_poly1305_update 0 1 -_crypto_onetimeauth_poly1305_verify 0 1 -_crypto_onetimeauth_primitive 0 1 -_crypto_onetimeauth_statebytes 0 1 -_crypto_onetimeauth_update 0 1 -_crypto_onetimeauth_verify 0 1 -_crypto_pwhash 1 1 -_crypto_pwhash_alg_argon2i13 1 1 -_crypto_pwhash_alg_argon2id13 1 1 -_crypto_pwhash_alg_default 1 1 -_crypto_pwhash_argon2i 0 1 -_crypto_pwhash_argon2i_alg_argon2i13 0 1 -_crypto_pwhash_argon2i_bytes_max 0 1 -_crypto_pwhash_argon2i_bytes_min 0 1 -_crypto_pwhash_argon2i_memlimit_interactive 0 1 -_crypto_pwhash_argon2i_memlimit_max 0 1 -_crypto_pwhash_argon2i_memlimit_min 0 1 -_crypto_pwhash_argon2i_memlimit_moderate 0 1 -_crypto_pwhash_argon2i_memlimit_sensitive 0 1 -_crypto_pwhash_argon2i_opslimit_interactive 0 1 -_crypto_pwhash_argon2i_opslimit_max 0 1 -_crypto_pwhash_argon2i_opslimit_min 0 1 -_crypto_pwhash_argon2i_opslimit_moderate 0 1 -_crypto_pwhash_argon2i_opslimit_sensitive 0 1 -_crypto_pwhash_argon2i_passwd_max 0 1 -_crypto_pwhash_argon2i_passwd_min 0 1 -_crypto_pwhash_argon2i_saltbytes 0 1 -_crypto_pwhash_argon2i_str 0 1 -_crypto_pwhash_argon2i_str_needs_rehash 0 1 -_crypto_pwhash_argon2i_str_verify 0 1 -_crypto_pwhash_argon2i_strbytes 0 1 -_crypto_pwhash_argon2i_strprefix 0 1 -_crypto_pwhash_argon2id 0 1 -_crypto_pwhash_argon2id_alg_argon2id13 0 1 -_crypto_pwhash_argon2id_bytes_max 0 1 -_crypto_pwhash_argon2id_bytes_min 0 1 -_crypto_pwhash_argon2id_memlimit_interactive 0 1 -_crypto_pwhash_argon2id_memlimit_max 0 1 -_crypto_pwhash_argon2id_memlimit_min 0 1 -_crypto_pwhash_argon2id_memlimit_moderate 0 1 -_crypto_pwhash_argon2id_memlimit_sensitive 0 1 -_crypto_pwhash_argon2id_opslimit_interactive 0 1 -_crypto_pwhash_argon2id_opslimit_max 0 1 -_crypto_pwhash_argon2id_opslimit_min 0 1 -_crypto_pwhash_argon2id_opslimit_moderate 0 1 -_crypto_pwhash_argon2id_opslimit_sensitive 0 1 -_crypto_pwhash_argon2id_passwd_max 0 1 -_crypto_pwhash_argon2id_passwd_min 0 1 -_crypto_pwhash_argon2id_saltbytes 0 1 -_crypto_pwhash_argon2id_str 0 1 -_crypto_pwhash_argon2id_str_needs_rehash 0 1 -_crypto_pwhash_argon2id_str_verify 0 1 -_crypto_pwhash_argon2id_strbytes 0 1 -_crypto_pwhash_argon2id_strprefix 0 1 -_crypto_pwhash_bytes_max 1 1 -_crypto_pwhash_bytes_min 1 1 -_crypto_pwhash_memlimit_interactive 1 1 -_crypto_pwhash_memlimit_max 1 1 -_crypto_pwhash_memlimit_min 1 1 -_crypto_pwhash_memlimit_moderate 1 1 -_crypto_pwhash_memlimit_sensitive 1 1 -_crypto_pwhash_opslimit_interactive 1 1 -_crypto_pwhash_opslimit_max 1 1 -_crypto_pwhash_opslimit_min 1 1 -_crypto_pwhash_opslimit_moderate 1 1 -_crypto_pwhash_opslimit_sensitive 1 1 -_crypto_pwhash_passwd_max 1 1 -_crypto_pwhash_passwd_min 1 1 -_crypto_pwhash_primitive 0 1 -_crypto_pwhash_saltbytes 1 1 -_crypto_pwhash_scryptsalsa208sha256 0 1 -_crypto_pwhash_scryptsalsa208sha256_bytes_max 0 1 -_crypto_pwhash_scryptsalsa208sha256_bytes_min 0 1 -_crypto_pwhash_scryptsalsa208sha256_ll 0 1 -_crypto_pwhash_scryptsalsa208sha256_memlimit_interactive 0 1 -_crypto_pwhash_scryptsalsa208sha256_memlimit_max 0 1 -_crypto_pwhash_scryptsalsa208sha256_memlimit_min 0 1 -_crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive 0 1 -_crypto_pwhash_scryptsalsa208sha256_opslimit_interactive 0 1 -_crypto_pwhash_scryptsalsa208sha256_opslimit_max 0 1 -_crypto_pwhash_scryptsalsa208sha256_opslimit_min 0 1 -_crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive 0 1 -_crypto_pwhash_scryptsalsa208sha256_passwd_max 0 1 -_crypto_pwhash_scryptsalsa208sha256_passwd_min 0 1 -_crypto_pwhash_scryptsalsa208sha256_saltbytes 0 1 -_crypto_pwhash_scryptsalsa208sha256_str 0 1 -_crypto_pwhash_scryptsalsa208sha256_str_needs_rehash 0 1 -_crypto_pwhash_scryptsalsa208sha256_str_verify 0 1 -_crypto_pwhash_scryptsalsa208sha256_strbytes 0 1 -_crypto_pwhash_scryptsalsa208sha256_strprefix 0 1 -_crypto_pwhash_str 1 1 -_crypto_pwhash_str_alg 1 1 -_crypto_pwhash_str_needs_rehash 1 1 -_crypto_pwhash_str_verify 1 1 -_crypto_pwhash_strbytes 1 1 -_crypto_pwhash_strprefix 1 1 -_crypto_scalarmult 1 1 -_crypto_scalarmult_base 1 1 -_crypto_scalarmult_bytes 1 1 -_crypto_scalarmult_curve25519 0 1 -_crypto_scalarmult_curve25519_base 0 1 -_crypto_scalarmult_curve25519_bytes 0 1 -_crypto_scalarmult_curve25519_scalarbytes 0 1 -_crypto_scalarmult_ed25519 0 1 -_crypto_scalarmult_ed25519_base 0 1 -_crypto_scalarmult_ed25519_base_noclamp 0 1 -_crypto_scalarmult_ed25519_bytes 0 1 -_crypto_scalarmult_ed25519_noclamp 0 1 -_crypto_scalarmult_ed25519_scalarbytes 0 1 -_crypto_scalarmult_primitive 0 1 -_crypto_scalarmult_ristretto255 0 1 -_crypto_scalarmult_ristretto255_base 0 1 -_crypto_scalarmult_ristretto255_bytes 0 1 -_crypto_scalarmult_ristretto255_scalarbytes 0 1 -_crypto_scalarmult_scalarbytes 1 1 -_crypto_secretbox 0 1 -_crypto_secretbox_boxzerobytes 0 1 -_crypto_secretbox_detached 1 1 -_crypto_secretbox_easy 1 1 -_crypto_secretbox_keybytes 1 1 -_crypto_secretbox_keygen 1 1 -_crypto_secretbox_macbytes 1 1 -_crypto_secretbox_messagebytes_max 1 1 -_crypto_secretbox_noncebytes 1 1 -_crypto_secretbox_open 0 1 -_crypto_secretbox_open_detached 1 1 -_crypto_secretbox_open_easy 1 1 -_crypto_secretbox_primitive 0 1 -_crypto_secretbox_xchacha20poly1305_detached 0 1 -_crypto_secretbox_xchacha20poly1305_easy 0 1 -_crypto_secretbox_xchacha20poly1305_keybytes 0 1 -_crypto_secretbox_xchacha20poly1305_macbytes 0 1 -_crypto_secretbox_xchacha20poly1305_messagebytes_max 0 1 -_crypto_secretbox_xchacha20poly1305_noncebytes 0 1 -_crypto_secretbox_xchacha20poly1305_open_detached 0 1 -_crypto_secretbox_xchacha20poly1305_open_easy 0 1 -_crypto_secretbox_xsalsa20poly1305 0 1 -_crypto_secretbox_xsalsa20poly1305_boxzerobytes 0 1 -_crypto_secretbox_xsalsa20poly1305_keybytes 0 1 -_crypto_secretbox_xsalsa20poly1305_keygen 0 1 -_crypto_secretbox_xsalsa20poly1305_macbytes 0 1 -_crypto_secretbox_xsalsa20poly1305_messagebytes_max 0 1 -_crypto_secretbox_xsalsa20poly1305_noncebytes 0 1 -_crypto_secretbox_xsalsa20poly1305_open 0 1 -_crypto_secretbox_xsalsa20poly1305_zerobytes 0 1 -_crypto_secretbox_zerobytes 0 1 -_crypto_secretstream_xchacha20poly1305_abytes 1 1 -_crypto_secretstream_xchacha20poly1305_headerbytes 1 1 -_crypto_secretstream_xchacha20poly1305_init_pull 1 1 -_crypto_secretstream_xchacha20poly1305_init_push 1 1 -_crypto_secretstream_xchacha20poly1305_keybytes 1 1 -_crypto_secretstream_xchacha20poly1305_keygen 1 1 -_crypto_secretstream_xchacha20poly1305_messagebytes_max 1 1 -_crypto_secretstream_xchacha20poly1305_pull 1 1 -_crypto_secretstream_xchacha20poly1305_push 1 1 -_crypto_secretstream_xchacha20poly1305_rekey 1 1 -_crypto_secretstream_xchacha20poly1305_statebytes 1 1 -_crypto_secretstream_xchacha20poly1305_tag_final 1 1 -_crypto_secretstream_xchacha20poly1305_tag_message 1 1 -_crypto_secretstream_xchacha20poly1305_tag_push 1 1 -_crypto_secretstream_xchacha20poly1305_tag_rekey 1 1 -_crypto_shorthash 1 1 -_crypto_shorthash_bytes 1 1 -_crypto_shorthash_keybytes 1 1 -_crypto_shorthash_keygen 1 1 -_crypto_shorthash_primitive 0 1 -_crypto_shorthash_siphash24 0 1 -_crypto_shorthash_siphash24_bytes 0 1 -_crypto_shorthash_siphash24_keybytes 0 1 -_crypto_shorthash_siphashx24 0 1 -_crypto_shorthash_siphashx24_bytes 0 1 -_crypto_shorthash_siphashx24_keybytes 0 1 -_crypto_sign 1 1 -_crypto_sign_bytes 1 1 -_crypto_sign_detached 1 1 -_crypto_sign_ed25519 0 1 -_crypto_sign_ed25519_bytes 0 1 -_crypto_sign_ed25519_detached 0 1 -_crypto_sign_ed25519_keypair 0 1 -_crypto_sign_ed25519_messagebytes_max 0 1 -_crypto_sign_ed25519_open 0 1 -_crypto_sign_ed25519_pk_to_curve25519 1 1 -_crypto_sign_ed25519_publickeybytes 0 1 -_crypto_sign_ed25519_secretkeybytes 0 1 -_crypto_sign_ed25519_seed_keypair 0 1 -_crypto_sign_ed25519_seedbytes 0 1 -_crypto_sign_ed25519_sk_to_curve25519 1 1 -_crypto_sign_ed25519_sk_to_pk 0 1 -_crypto_sign_ed25519_sk_to_seed 0 1 -_crypto_sign_ed25519_verify_detached 0 1 -_crypto_sign_ed25519ph_final_create 0 1 -_crypto_sign_ed25519ph_final_verify 0 1 -_crypto_sign_ed25519ph_init 0 1 -_crypto_sign_ed25519ph_statebytes 0 1 -_crypto_sign_ed25519ph_update 0 1 -_crypto_sign_edwards25519sha512batch 0 0 -_crypto_sign_edwards25519sha512batch_keypair 0 0 -_crypto_sign_edwards25519sha512batch_open 0 0 -_crypto_sign_final_create 1 1 -_crypto_sign_final_verify 1 1 -_crypto_sign_init 1 1 -_crypto_sign_keypair 1 1 -_crypto_sign_messagebytes_max 1 1 -_crypto_sign_open 1 1 -_crypto_sign_primitive 0 1 -_crypto_sign_publickeybytes 1 1 -_crypto_sign_secretkeybytes 1 1 -_crypto_sign_seed_keypair 1 1 -_crypto_sign_seedbytes 1 1 -_crypto_sign_statebytes 1 1 -_crypto_sign_update 1 1 -_crypto_sign_verify_detached 1 1 -_crypto_stream 0 1 -_crypto_stream_chacha20 0 1 -_crypto_stream_chacha20_ietf 0 1 -_crypto_stream_chacha20_ietf_keybytes 0 1 -_crypto_stream_chacha20_ietf_keygen 0 1 -_crypto_stream_chacha20_ietf_messagebytes_max 0 1 -_crypto_stream_chacha20_ietf_noncebytes 0 1 -_crypto_stream_chacha20_ietf_xor 0 1 -_crypto_stream_chacha20_ietf_xor_ic 0 1 -_crypto_stream_chacha20_keybytes 0 1 -_crypto_stream_chacha20_keygen 0 1 -_crypto_stream_chacha20_messagebytes_max 0 1 -_crypto_stream_chacha20_noncebytes 0 1 -_crypto_stream_chacha20_xor 0 1 -_crypto_stream_chacha20_xor_ic 0 1 -_crypto_stream_keybytes 0 1 -_crypto_stream_keygen 0 1 -_crypto_stream_messagebytes_max 0 1 -_crypto_stream_noncebytes 0 1 -_crypto_stream_primitive 0 1 -_crypto_stream_salsa20 0 1 -_crypto_stream_salsa2012 0 1 -_crypto_stream_salsa2012_keybytes 0 1 -_crypto_stream_salsa2012_keygen 0 1 -_crypto_stream_salsa2012_messagebytes_max 0 1 -_crypto_stream_salsa2012_noncebytes 0 1 -_crypto_stream_salsa2012_xor 0 1 -_crypto_stream_salsa208 0 1 -_crypto_stream_salsa208_keybytes 0 1 -_crypto_stream_salsa208_keygen 0 1 -_crypto_stream_salsa208_messagebytes_max 0 1 -_crypto_stream_salsa208_noncebytes 0 1 -_crypto_stream_salsa208_xor 0 1 -_crypto_stream_salsa20_keybytes 0 1 -_crypto_stream_salsa20_keygen 0 1 -_crypto_stream_salsa20_messagebytes_max 0 1 -_crypto_stream_salsa20_noncebytes 0 1 -_crypto_stream_salsa20_xor 0 1 -_crypto_stream_salsa20_xor_ic 0 1 -_crypto_stream_xchacha20 0 1 -_crypto_stream_xchacha20_keybytes 0 1 -_crypto_stream_xchacha20_keygen 0 1 -_crypto_stream_xchacha20_messagebytes_max 0 1 -_crypto_stream_xchacha20_noncebytes 0 1 -_crypto_stream_xchacha20_xor 0 1 -_crypto_stream_xchacha20_xor_ic 0 1 -_crypto_stream_xor 0 1 -_crypto_stream_xsalsa20 0 1 -_crypto_stream_xsalsa20_keybytes 0 1 -_crypto_stream_xsalsa20_keygen 0 1 -_crypto_stream_xsalsa20_messagebytes_max 0 1 -_crypto_stream_xsalsa20_noncebytes 0 1 -_crypto_stream_xsalsa20_xor 0 1 -_crypto_stream_xsalsa20_xor_ic 0 1 -_crypto_verify_16 0 1 -_crypto_verify_16_bytes 0 1 -_crypto_verify_32 0 1 -_crypto_verify_32_bytes 0 1 -_crypto_verify_64 0 1 -_crypto_verify_64_bytes 0 1 -_randombytes 1 1 -_randombytes_buf 1 1 -_randombytes_buf_deterministic 1 1 -_randombytes_close 1 1 -_randombytes_implementation_name 0 1 -_randombytes_random 1 1 -_randombytes_seedbytes 1 1 -_randombytes_set_implementation 0 0 -_randombytes_stir 1 1 -_randombytes_uniform 1 1 -_sodium_add 0 0 -_sodium_allocarray 0 0 -_sodium_base642bin 1 1 -_sodium_base64_encoded_len 1 1 -_sodium_bin2base64 1 1 -_sodium_bin2hex 1 1 -_sodium_compare 0 0 -_sodium_free 0 0 -_sodium_hex2bin 1 1 -_sodium_increment 0 0 -_sodium_init 1 1 -_sodium_is_zero 0 0 -_sodium_library_minimal 1 1 -_sodium_library_version_major 1 1 -_sodium_library_version_minor 1 1 -_sodium_malloc 0 0 -_sodium_memcmp 0 0 -_sodium_memzero 0 0 -_sodium_misuse 0 0 -_sodium_mlock 0 0 -_sodium_mprotect_noaccess 0 0 -_sodium_mprotect_readonly 0 0 -_sodium_mprotect_readwrite 0 0 -_sodium_munlock 0 0 -_sodium_pad 1 1 -_sodium_runtime_has_aesni 0 0 -_sodium_runtime_has_avx 0 0 -_sodium_runtime_has_avx2 0 0 -_sodium_runtime_has_avx512f 0 0 -_sodium_runtime_has_neon 0 0 -_sodium_runtime_has_pclmul 0 0 -_sodium_runtime_has_rdrand 0 0 -_sodium_runtime_has_sse2 0 0 -_sodium_runtime_has_sse3 0 0 -_sodium_runtime_has_sse41 0 0 -_sodium_runtime_has_ssse3 0 0 -_sodium_set_misuse_handler 0 0 -_sodium_stackzero 0 0 -_sodium_sub 0 0 -_sodium_unpad 1 1 -_sodium_version_string 1 1 diff --git a/libsodium-1.0.18-RELEASE/dist-build/emscripten.sh b/libsodium-1.0.18-RELEASE/dist-build/emscripten.sh deleted file mode 100644 index 63bb997..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/emscripten.sh +++ /dev/null @@ -1,191 +0,0 @@ -#! /bin/sh - -export MAKE_FLAGS='-j4' -export EXPORTED_FUNCTIONS_STANDARD='["_malloc","_free","_crypto_aead_chacha20poly1305_abytes","_crypto_aead_chacha20poly1305_decrypt","_crypto_aead_chacha20poly1305_decrypt_detached","_crypto_aead_chacha20poly1305_encrypt","_crypto_aead_chacha20poly1305_encrypt_detached","_crypto_aead_chacha20poly1305_ietf_abytes","_crypto_aead_chacha20poly1305_ietf_decrypt","_crypto_aead_chacha20poly1305_ietf_decrypt_detached","_crypto_aead_chacha20poly1305_ietf_encrypt","_crypto_aead_chacha20poly1305_ietf_encrypt_detached","_crypto_aead_chacha20poly1305_ietf_keybytes","_crypto_aead_chacha20poly1305_ietf_keygen","_crypto_aead_chacha20poly1305_ietf_messagebytes_max","_crypto_aead_chacha20poly1305_ietf_npubbytes","_crypto_aead_chacha20poly1305_ietf_nsecbytes","_crypto_aead_chacha20poly1305_keybytes","_crypto_aead_chacha20poly1305_keygen","_crypto_aead_chacha20poly1305_messagebytes_max","_crypto_aead_chacha20poly1305_npubbytes","_crypto_aead_chacha20poly1305_nsecbytes","_crypto_aead_xchacha20poly1305_ietf_abytes","_crypto_aead_xchacha20poly1305_ietf_decrypt","_crypto_aead_xchacha20poly1305_ietf_decrypt_detached","_crypto_aead_xchacha20poly1305_ietf_encrypt","_crypto_aead_xchacha20poly1305_ietf_encrypt_detached","_crypto_aead_xchacha20poly1305_ietf_keybytes","_crypto_aead_xchacha20poly1305_ietf_keygen","_crypto_aead_xchacha20poly1305_ietf_messagebytes_max","_crypto_aead_xchacha20poly1305_ietf_npubbytes","_crypto_aead_xchacha20poly1305_ietf_nsecbytes","_crypto_auth","_crypto_auth_bytes","_crypto_auth_keybytes","_crypto_auth_keygen","_crypto_auth_verify","_crypto_box_beforenm","_crypto_box_beforenmbytes","_crypto_box_detached","_crypto_box_detached_afternm","_crypto_box_easy","_crypto_box_easy_afternm","_crypto_box_keypair","_crypto_box_macbytes","_crypto_box_messagebytes_max","_crypto_box_noncebytes","_crypto_box_open_detached","_crypto_box_open_detached_afternm","_crypto_box_open_easy","_crypto_box_open_easy_afternm","_crypto_box_publickeybytes","_crypto_box_seal","_crypto_box_seal_open","_crypto_box_sealbytes","_crypto_box_secretkeybytes","_crypto_box_seed_keypair","_crypto_box_seedbytes","_crypto_generichash","_crypto_generichash_bytes","_crypto_generichash_bytes_max","_crypto_generichash_bytes_min","_crypto_generichash_final","_crypto_generichash_init","_crypto_generichash_keybytes","_crypto_generichash_keybytes_max","_crypto_generichash_keybytes_min","_crypto_generichash_keygen","_crypto_generichash_statebytes","_crypto_generichash_update","_crypto_hash","_crypto_hash_bytes","_crypto_kdf_bytes_max","_crypto_kdf_bytes_min","_crypto_kdf_contextbytes","_crypto_kdf_derive_from_key","_crypto_kdf_keybytes","_crypto_kdf_keygen","_crypto_kx_client_session_keys","_crypto_kx_keypair","_crypto_kx_publickeybytes","_crypto_kx_secretkeybytes","_crypto_kx_seed_keypair","_crypto_kx_seedbytes","_crypto_kx_server_session_keys","_crypto_kx_sessionkeybytes","_crypto_pwhash","_crypto_pwhash_alg_argon2i13","_crypto_pwhash_alg_argon2id13","_crypto_pwhash_alg_default","_crypto_pwhash_bytes_max","_crypto_pwhash_bytes_min","_crypto_pwhash_memlimit_interactive","_crypto_pwhash_memlimit_max","_crypto_pwhash_memlimit_min","_crypto_pwhash_memlimit_moderate","_crypto_pwhash_memlimit_sensitive","_crypto_pwhash_opslimit_interactive","_crypto_pwhash_opslimit_max","_crypto_pwhash_opslimit_min","_crypto_pwhash_opslimit_moderate","_crypto_pwhash_opslimit_sensitive","_crypto_pwhash_passwd_max","_crypto_pwhash_passwd_min","_crypto_pwhash_saltbytes","_crypto_pwhash_str","_crypto_pwhash_str_alg","_crypto_pwhash_str_needs_rehash","_crypto_pwhash_str_verify","_crypto_pwhash_strbytes","_crypto_pwhash_strprefix","_crypto_scalarmult","_crypto_scalarmult_base","_crypto_scalarmult_bytes","_crypto_scalarmult_scalarbytes","_crypto_secretbox_detached","_crypto_secretbox_easy","_crypto_secretbox_keybytes","_crypto_secretbox_keygen","_crypto_secretbox_macbytes","_crypto_secretbox_messagebytes_max","_crypto_secretbox_noncebytes","_crypto_secretbox_open_detached","_crypto_secretbox_open_easy","_crypto_secretstream_xchacha20poly1305_abytes","_crypto_secretstream_xchacha20poly1305_headerbytes","_crypto_secretstream_xchacha20poly1305_init_pull","_crypto_secretstream_xchacha20poly1305_init_push","_crypto_secretstream_xchacha20poly1305_keybytes","_crypto_secretstream_xchacha20poly1305_keygen","_crypto_secretstream_xchacha20poly1305_messagebytes_max","_crypto_secretstream_xchacha20poly1305_pull","_crypto_secretstream_xchacha20poly1305_push","_crypto_secretstream_xchacha20poly1305_rekey","_crypto_secretstream_xchacha20poly1305_statebytes","_crypto_secretstream_xchacha20poly1305_tag_final","_crypto_secretstream_xchacha20poly1305_tag_message","_crypto_secretstream_xchacha20poly1305_tag_push","_crypto_secretstream_xchacha20poly1305_tag_rekey","_crypto_shorthash","_crypto_shorthash_bytes","_crypto_shorthash_keybytes","_crypto_shorthash_keygen","_crypto_sign","_crypto_sign_bytes","_crypto_sign_detached","_crypto_sign_ed25519_pk_to_curve25519","_crypto_sign_ed25519_sk_to_curve25519","_crypto_sign_final_create","_crypto_sign_final_verify","_crypto_sign_init","_crypto_sign_keypair","_crypto_sign_messagebytes_max","_crypto_sign_open","_crypto_sign_publickeybytes","_crypto_sign_secretkeybytes","_crypto_sign_seed_keypair","_crypto_sign_seedbytes","_crypto_sign_statebytes","_crypto_sign_update","_crypto_sign_verify_detached","_randombytes","_randombytes_buf","_randombytes_buf_deterministic","_randombytes_close","_randombytes_random","_randombytes_seedbytes","_randombytes_stir","_randombytes_uniform","_sodium_base642bin","_sodium_base64_encoded_len","_sodium_bin2base64","_sodium_bin2hex","_sodium_hex2bin","_sodium_init","_sodium_library_minimal","_sodium_library_version_major","_sodium_library_version_minor","_sodium_pad","_sodium_unpad","_sodium_version_string"]' -export EXPORTED_FUNCTIONS_SUMO='["_malloc","_free","_crypto_aead_chacha20poly1305_abytes","_crypto_aead_chacha20poly1305_decrypt","_crypto_aead_chacha20poly1305_decrypt_detached","_crypto_aead_chacha20poly1305_encrypt","_crypto_aead_chacha20poly1305_encrypt_detached","_crypto_aead_chacha20poly1305_ietf_abytes","_crypto_aead_chacha20poly1305_ietf_decrypt","_crypto_aead_chacha20poly1305_ietf_decrypt_detached","_crypto_aead_chacha20poly1305_ietf_encrypt","_crypto_aead_chacha20poly1305_ietf_encrypt_detached","_crypto_aead_chacha20poly1305_ietf_keybytes","_crypto_aead_chacha20poly1305_ietf_keygen","_crypto_aead_chacha20poly1305_ietf_messagebytes_max","_crypto_aead_chacha20poly1305_ietf_npubbytes","_crypto_aead_chacha20poly1305_ietf_nsecbytes","_crypto_aead_chacha20poly1305_keybytes","_crypto_aead_chacha20poly1305_keygen","_crypto_aead_chacha20poly1305_messagebytes_max","_crypto_aead_chacha20poly1305_npubbytes","_crypto_aead_chacha20poly1305_nsecbytes","_crypto_aead_xchacha20poly1305_ietf_abytes","_crypto_aead_xchacha20poly1305_ietf_decrypt","_crypto_aead_xchacha20poly1305_ietf_decrypt_detached","_crypto_aead_xchacha20poly1305_ietf_encrypt","_crypto_aead_xchacha20poly1305_ietf_encrypt_detached","_crypto_aead_xchacha20poly1305_ietf_keybytes","_crypto_aead_xchacha20poly1305_ietf_keygen","_crypto_aead_xchacha20poly1305_ietf_messagebytes_max","_crypto_aead_xchacha20poly1305_ietf_npubbytes","_crypto_aead_xchacha20poly1305_ietf_nsecbytes","_crypto_auth","_crypto_auth_bytes","_crypto_auth_hmacsha256","_crypto_auth_hmacsha256_bytes","_crypto_auth_hmacsha256_final","_crypto_auth_hmacsha256_init","_crypto_auth_hmacsha256_keybytes","_crypto_auth_hmacsha256_keygen","_crypto_auth_hmacsha256_statebytes","_crypto_auth_hmacsha256_update","_crypto_auth_hmacsha256_verify","_crypto_auth_hmacsha512","_crypto_auth_hmacsha512256","_crypto_auth_hmacsha512256_bytes","_crypto_auth_hmacsha512256_final","_crypto_auth_hmacsha512256_init","_crypto_auth_hmacsha512256_keybytes","_crypto_auth_hmacsha512256_keygen","_crypto_auth_hmacsha512256_statebytes","_crypto_auth_hmacsha512256_update","_crypto_auth_hmacsha512256_verify","_crypto_auth_hmacsha512_bytes","_crypto_auth_hmacsha512_final","_crypto_auth_hmacsha512_init","_crypto_auth_hmacsha512_keybytes","_crypto_auth_hmacsha512_keygen","_crypto_auth_hmacsha512_statebytes","_crypto_auth_hmacsha512_update","_crypto_auth_hmacsha512_verify","_crypto_auth_keybytes","_crypto_auth_keygen","_crypto_auth_primitive","_crypto_auth_verify","_crypto_box","_crypto_box_afternm","_crypto_box_beforenm","_crypto_box_beforenmbytes","_crypto_box_boxzerobytes","_crypto_box_curve25519xchacha20poly1305_beforenm","_crypto_box_curve25519xchacha20poly1305_beforenmbytes","_crypto_box_curve25519xchacha20poly1305_detached","_crypto_box_curve25519xchacha20poly1305_detached_afternm","_crypto_box_curve25519xchacha20poly1305_easy","_crypto_box_curve25519xchacha20poly1305_easy_afternm","_crypto_box_curve25519xchacha20poly1305_keypair","_crypto_box_curve25519xchacha20poly1305_macbytes","_crypto_box_curve25519xchacha20poly1305_messagebytes_max","_crypto_box_curve25519xchacha20poly1305_noncebytes","_crypto_box_curve25519xchacha20poly1305_open_detached","_crypto_box_curve25519xchacha20poly1305_open_detached_afternm","_crypto_box_curve25519xchacha20poly1305_open_easy","_crypto_box_curve25519xchacha20poly1305_open_easy_afternm","_crypto_box_curve25519xchacha20poly1305_publickeybytes","_crypto_box_curve25519xchacha20poly1305_seal","_crypto_box_curve25519xchacha20poly1305_seal_open","_crypto_box_curve25519xchacha20poly1305_sealbytes","_crypto_box_curve25519xchacha20poly1305_secretkeybytes","_crypto_box_curve25519xchacha20poly1305_seed_keypair","_crypto_box_curve25519xchacha20poly1305_seedbytes","_crypto_box_curve25519xsalsa20poly1305","_crypto_box_curve25519xsalsa20poly1305_afternm","_crypto_box_curve25519xsalsa20poly1305_beforenm","_crypto_box_curve25519xsalsa20poly1305_beforenmbytes","_crypto_box_curve25519xsalsa20poly1305_boxzerobytes","_crypto_box_curve25519xsalsa20poly1305_keypair","_crypto_box_curve25519xsalsa20poly1305_macbytes","_crypto_box_curve25519xsalsa20poly1305_messagebytes_max","_crypto_box_curve25519xsalsa20poly1305_noncebytes","_crypto_box_curve25519xsalsa20poly1305_open","_crypto_box_curve25519xsalsa20poly1305_open_afternm","_crypto_box_curve25519xsalsa20poly1305_publickeybytes","_crypto_box_curve25519xsalsa20poly1305_secretkeybytes","_crypto_box_curve25519xsalsa20poly1305_seed_keypair","_crypto_box_curve25519xsalsa20poly1305_seedbytes","_crypto_box_curve25519xsalsa20poly1305_zerobytes","_crypto_box_detached","_crypto_box_detached_afternm","_crypto_box_easy","_crypto_box_easy_afternm","_crypto_box_keypair","_crypto_box_macbytes","_crypto_box_messagebytes_max","_crypto_box_noncebytes","_crypto_box_open","_crypto_box_open_afternm","_crypto_box_open_detached","_crypto_box_open_detached_afternm","_crypto_box_open_easy","_crypto_box_open_easy_afternm","_crypto_box_primitive","_crypto_box_publickeybytes","_crypto_box_seal","_crypto_box_seal_open","_crypto_box_sealbytes","_crypto_box_secretkeybytes","_crypto_box_seed_keypair","_crypto_box_seedbytes","_crypto_box_zerobytes","_crypto_core_ed25519_add","_crypto_core_ed25519_bytes","_crypto_core_ed25519_from_hash","_crypto_core_ed25519_from_uniform","_crypto_core_ed25519_hashbytes","_crypto_core_ed25519_is_valid_point","_crypto_core_ed25519_nonreducedscalarbytes","_crypto_core_ed25519_random","_crypto_core_ed25519_scalar_add","_crypto_core_ed25519_scalar_complement","_crypto_core_ed25519_scalar_invert","_crypto_core_ed25519_scalar_mul","_crypto_core_ed25519_scalar_negate","_crypto_core_ed25519_scalar_random","_crypto_core_ed25519_scalar_reduce","_crypto_core_ed25519_scalar_sub","_crypto_core_ed25519_scalarbytes","_crypto_core_ed25519_sub","_crypto_core_ed25519_uniformbytes","_crypto_core_hchacha20","_crypto_core_hchacha20_constbytes","_crypto_core_hchacha20_inputbytes","_crypto_core_hchacha20_keybytes","_crypto_core_hchacha20_outputbytes","_crypto_core_hsalsa20","_crypto_core_hsalsa20_constbytes","_crypto_core_hsalsa20_inputbytes","_crypto_core_hsalsa20_keybytes","_crypto_core_hsalsa20_outputbytes","_crypto_core_ristretto255_add","_crypto_core_ristretto255_bytes","_crypto_core_ristretto255_from_hash","_crypto_core_ristretto255_hashbytes","_crypto_core_ristretto255_is_valid_point","_crypto_core_ristretto255_nonreducedscalarbytes","_crypto_core_ristretto255_random","_crypto_core_ristretto255_scalar_add","_crypto_core_ristretto255_scalar_complement","_crypto_core_ristretto255_scalar_invert","_crypto_core_ristretto255_scalar_mul","_crypto_core_ristretto255_scalar_negate","_crypto_core_ristretto255_scalar_random","_crypto_core_ristretto255_scalar_reduce","_crypto_core_ristretto255_scalar_sub","_crypto_core_ristretto255_scalarbytes","_crypto_core_ristretto255_sub","_crypto_core_salsa20","_crypto_core_salsa2012","_crypto_core_salsa2012_constbytes","_crypto_core_salsa2012_inputbytes","_crypto_core_salsa2012_keybytes","_crypto_core_salsa2012_outputbytes","_crypto_core_salsa208","_crypto_core_salsa208_constbytes","_crypto_core_salsa208_inputbytes","_crypto_core_salsa208_keybytes","_crypto_core_salsa208_outputbytes","_crypto_core_salsa20_constbytes","_crypto_core_salsa20_inputbytes","_crypto_core_salsa20_keybytes","_crypto_core_salsa20_outputbytes","_crypto_generichash","_crypto_generichash_blake2b","_crypto_generichash_blake2b_bytes","_crypto_generichash_blake2b_bytes_max","_crypto_generichash_blake2b_bytes_min","_crypto_generichash_blake2b_final","_crypto_generichash_blake2b_init","_crypto_generichash_blake2b_init_salt_personal","_crypto_generichash_blake2b_keybytes","_crypto_generichash_blake2b_keybytes_max","_crypto_generichash_blake2b_keybytes_min","_crypto_generichash_blake2b_keygen","_crypto_generichash_blake2b_personalbytes","_crypto_generichash_blake2b_salt_personal","_crypto_generichash_blake2b_saltbytes","_crypto_generichash_blake2b_statebytes","_crypto_generichash_blake2b_update","_crypto_generichash_bytes","_crypto_generichash_bytes_max","_crypto_generichash_bytes_min","_crypto_generichash_final","_crypto_generichash_init","_crypto_generichash_keybytes","_crypto_generichash_keybytes_max","_crypto_generichash_keybytes_min","_crypto_generichash_keygen","_crypto_generichash_primitive","_crypto_generichash_statebytes","_crypto_generichash_update","_crypto_hash","_crypto_hash_bytes","_crypto_hash_primitive","_crypto_hash_sha256","_crypto_hash_sha256_bytes","_crypto_hash_sha256_final","_crypto_hash_sha256_init","_crypto_hash_sha256_statebytes","_crypto_hash_sha256_update","_crypto_hash_sha512","_crypto_hash_sha512_bytes","_crypto_hash_sha512_final","_crypto_hash_sha512_init","_crypto_hash_sha512_statebytes","_crypto_hash_sha512_update","_crypto_kdf_blake2b_bytes_max","_crypto_kdf_blake2b_bytes_min","_crypto_kdf_blake2b_contextbytes","_crypto_kdf_blake2b_derive_from_key","_crypto_kdf_blake2b_keybytes","_crypto_kdf_bytes_max","_crypto_kdf_bytes_min","_crypto_kdf_contextbytes","_crypto_kdf_derive_from_key","_crypto_kdf_keybytes","_crypto_kdf_keygen","_crypto_kdf_primitive","_crypto_kx_client_session_keys","_crypto_kx_keypair","_crypto_kx_primitive","_crypto_kx_publickeybytes","_crypto_kx_secretkeybytes","_crypto_kx_seed_keypair","_crypto_kx_seedbytes","_crypto_kx_server_session_keys","_crypto_kx_sessionkeybytes","_crypto_onetimeauth","_crypto_onetimeauth_bytes","_crypto_onetimeauth_final","_crypto_onetimeauth_init","_crypto_onetimeauth_keybytes","_crypto_onetimeauth_keygen","_crypto_onetimeauth_poly1305","_crypto_onetimeauth_poly1305_bytes","_crypto_onetimeauth_poly1305_final","_crypto_onetimeauth_poly1305_init","_crypto_onetimeauth_poly1305_keybytes","_crypto_onetimeauth_poly1305_keygen","_crypto_onetimeauth_poly1305_statebytes","_crypto_onetimeauth_poly1305_update","_crypto_onetimeauth_poly1305_verify","_crypto_onetimeauth_primitive","_crypto_onetimeauth_statebytes","_crypto_onetimeauth_update","_crypto_onetimeauth_verify","_crypto_pwhash","_crypto_pwhash_alg_argon2i13","_crypto_pwhash_alg_argon2id13","_crypto_pwhash_alg_default","_crypto_pwhash_argon2i","_crypto_pwhash_argon2i_alg_argon2i13","_crypto_pwhash_argon2i_bytes_max","_crypto_pwhash_argon2i_bytes_min","_crypto_pwhash_argon2i_memlimit_interactive","_crypto_pwhash_argon2i_memlimit_max","_crypto_pwhash_argon2i_memlimit_min","_crypto_pwhash_argon2i_memlimit_moderate","_crypto_pwhash_argon2i_memlimit_sensitive","_crypto_pwhash_argon2i_opslimit_interactive","_crypto_pwhash_argon2i_opslimit_max","_crypto_pwhash_argon2i_opslimit_min","_crypto_pwhash_argon2i_opslimit_moderate","_crypto_pwhash_argon2i_opslimit_sensitive","_crypto_pwhash_argon2i_passwd_max","_crypto_pwhash_argon2i_passwd_min","_crypto_pwhash_argon2i_saltbytes","_crypto_pwhash_argon2i_str","_crypto_pwhash_argon2i_str_needs_rehash","_crypto_pwhash_argon2i_str_verify","_crypto_pwhash_argon2i_strbytes","_crypto_pwhash_argon2i_strprefix","_crypto_pwhash_argon2id","_crypto_pwhash_argon2id_alg_argon2id13","_crypto_pwhash_argon2id_bytes_max","_crypto_pwhash_argon2id_bytes_min","_crypto_pwhash_argon2id_memlimit_interactive","_crypto_pwhash_argon2id_memlimit_max","_crypto_pwhash_argon2id_memlimit_min","_crypto_pwhash_argon2id_memlimit_moderate","_crypto_pwhash_argon2id_memlimit_sensitive","_crypto_pwhash_argon2id_opslimit_interactive","_crypto_pwhash_argon2id_opslimit_max","_crypto_pwhash_argon2id_opslimit_min","_crypto_pwhash_argon2id_opslimit_moderate","_crypto_pwhash_argon2id_opslimit_sensitive","_crypto_pwhash_argon2id_passwd_max","_crypto_pwhash_argon2id_passwd_min","_crypto_pwhash_argon2id_saltbytes","_crypto_pwhash_argon2id_str","_crypto_pwhash_argon2id_str_needs_rehash","_crypto_pwhash_argon2id_str_verify","_crypto_pwhash_argon2id_strbytes","_crypto_pwhash_argon2id_strprefix","_crypto_pwhash_bytes_max","_crypto_pwhash_bytes_min","_crypto_pwhash_memlimit_interactive","_crypto_pwhash_memlimit_max","_crypto_pwhash_memlimit_min","_crypto_pwhash_memlimit_moderate","_crypto_pwhash_memlimit_sensitive","_crypto_pwhash_opslimit_interactive","_crypto_pwhash_opslimit_max","_crypto_pwhash_opslimit_min","_crypto_pwhash_opslimit_moderate","_crypto_pwhash_opslimit_sensitive","_crypto_pwhash_passwd_max","_crypto_pwhash_passwd_min","_crypto_pwhash_primitive","_crypto_pwhash_saltbytes","_crypto_pwhash_scryptsalsa208sha256","_crypto_pwhash_scryptsalsa208sha256_bytes_max","_crypto_pwhash_scryptsalsa208sha256_bytes_min","_crypto_pwhash_scryptsalsa208sha256_ll","_crypto_pwhash_scryptsalsa208sha256_memlimit_interactive","_crypto_pwhash_scryptsalsa208sha256_memlimit_max","_crypto_pwhash_scryptsalsa208sha256_memlimit_min","_crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive","_crypto_pwhash_scryptsalsa208sha256_opslimit_interactive","_crypto_pwhash_scryptsalsa208sha256_opslimit_max","_crypto_pwhash_scryptsalsa208sha256_opslimit_min","_crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive","_crypto_pwhash_scryptsalsa208sha256_passwd_max","_crypto_pwhash_scryptsalsa208sha256_passwd_min","_crypto_pwhash_scryptsalsa208sha256_saltbytes","_crypto_pwhash_scryptsalsa208sha256_str","_crypto_pwhash_scryptsalsa208sha256_str_needs_rehash","_crypto_pwhash_scryptsalsa208sha256_str_verify","_crypto_pwhash_scryptsalsa208sha256_strbytes","_crypto_pwhash_scryptsalsa208sha256_strprefix","_crypto_pwhash_str","_crypto_pwhash_str_alg","_crypto_pwhash_str_needs_rehash","_crypto_pwhash_str_verify","_crypto_pwhash_strbytes","_crypto_pwhash_strprefix","_crypto_scalarmult","_crypto_scalarmult_base","_crypto_scalarmult_bytes","_crypto_scalarmult_curve25519","_crypto_scalarmult_curve25519_base","_crypto_scalarmult_curve25519_bytes","_crypto_scalarmult_curve25519_scalarbytes","_crypto_scalarmult_ed25519","_crypto_scalarmult_ed25519_base","_crypto_scalarmult_ed25519_base_noclamp","_crypto_scalarmult_ed25519_bytes","_crypto_scalarmult_ed25519_noclamp","_crypto_scalarmult_ed25519_scalarbytes","_crypto_scalarmult_primitive","_crypto_scalarmult_ristretto255","_crypto_scalarmult_ristretto255_base","_crypto_scalarmult_ristretto255_bytes","_crypto_scalarmult_ristretto255_scalarbytes","_crypto_scalarmult_scalarbytes","_crypto_secretbox","_crypto_secretbox_boxzerobytes","_crypto_secretbox_detached","_crypto_secretbox_easy","_crypto_secretbox_keybytes","_crypto_secretbox_keygen","_crypto_secretbox_macbytes","_crypto_secretbox_messagebytes_max","_crypto_secretbox_noncebytes","_crypto_secretbox_open","_crypto_secretbox_open_detached","_crypto_secretbox_open_easy","_crypto_secretbox_primitive","_crypto_secretbox_xchacha20poly1305_detached","_crypto_secretbox_xchacha20poly1305_easy","_crypto_secretbox_xchacha20poly1305_keybytes","_crypto_secretbox_xchacha20poly1305_macbytes","_crypto_secretbox_xchacha20poly1305_messagebytes_max","_crypto_secretbox_xchacha20poly1305_noncebytes","_crypto_secretbox_xchacha20poly1305_open_detached","_crypto_secretbox_xchacha20poly1305_open_easy","_crypto_secretbox_xsalsa20poly1305","_crypto_secretbox_xsalsa20poly1305_boxzerobytes","_crypto_secretbox_xsalsa20poly1305_keybytes","_crypto_secretbox_xsalsa20poly1305_keygen","_crypto_secretbox_xsalsa20poly1305_macbytes","_crypto_secretbox_xsalsa20poly1305_messagebytes_max","_crypto_secretbox_xsalsa20poly1305_noncebytes","_crypto_secretbox_xsalsa20poly1305_open","_crypto_secretbox_xsalsa20poly1305_zerobytes","_crypto_secretbox_zerobytes","_crypto_secretstream_xchacha20poly1305_abytes","_crypto_secretstream_xchacha20poly1305_headerbytes","_crypto_secretstream_xchacha20poly1305_init_pull","_crypto_secretstream_xchacha20poly1305_init_push","_crypto_secretstream_xchacha20poly1305_keybytes","_crypto_secretstream_xchacha20poly1305_keygen","_crypto_secretstream_xchacha20poly1305_messagebytes_max","_crypto_secretstream_xchacha20poly1305_pull","_crypto_secretstream_xchacha20poly1305_push","_crypto_secretstream_xchacha20poly1305_rekey","_crypto_secretstream_xchacha20poly1305_statebytes","_crypto_secretstream_xchacha20poly1305_tag_final","_crypto_secretstream_xchacha20poly1305_tag_message","_crypto_secretstream_xchacha20poly1305_tag_push","_crypto_secretstream_xchacha20poly1305_tag_rekey","_crypto_shorthash","_crypto_shorthash_bytes","_crypto_shorthash_keybytes","_crypto_shorthash_keygen","_crypto_shorthash_primitive","_crypto_shorthash_siphash24","_crypto_shorthash_siphash24_bytes","_crypto_shorthash_siphash24_keybytes","_crypto_shorthash_siphashx24","_crypto_shorthash_siphashx24_bytes","_crypto_shorthash_siphashx24_keybytes","_crypto_sign","_crypto_sign_bytes","_crypto_sign_detached","_crypto_sign_ed25519","_crypto_sign_ed25519_bytes","_crypto_sign_ed25519_detached","_crypto_sign_ed25519_keypair","_crypto_sign_ed25519_messagebytes_max","_crypto_sign_ed25519_open","_crypto_sign_ed25519_pk_to_curve25519","_crypto_sign_ed25519_publickeybytes","_crypto_sign_ed25519_secretkeybytes","_crypto_sign_ed25519_seed_keypair","_crypto_sign_ed25519_seedbytes","_crypto_sign_ed25519_sk_to_curve25519","_crypto_sign_ed25519_sk_to_pk","_crypto_sign_ed25519_sk_to_seed","_crypto_sign_ed25519_verify_detached","_crypto_sign_ed25519ph_final_create","_crypto_sign_ed25519ph_final_verify","_crypto_sign_ed25519ph_init","_crypto_sign_ed25519ph_statebytes","_crypto_sign_ed25519ph_update","_crypto_sign_final_create","_crypto_sign_final_verify","_crypto_sign_init","_crypto_sign_keypair","_crypto_sign_messagebytes_max","_crypto_sign_open","_crypto_sign_primitive","_crypto_sign_publickeybytes","_crypto_sign_secretkeybytes","_crypto_sign_seed_keypair","_crypto_sign_seedbytes","_crypto_sign_statebytes","_crypto_sign_update","_crypto_sign_verify_detached","_crypto_stream","_crypto_stream_chacha20","_crypto_stream_chacha20_ietf","_crypto_stream_chacha20_ietf_keybytes","_crypto_stream_chacha20_ietf_keygen","_crypto_stream_chacha20_ietf_messagebytes_max","_crypto_stream_chacha20_ietf_noncebytes","_crypto_stream_chacha20_ietf_xor","_crypto_stream_chacha20_ietf_xor_ic","_crypto_stream_chacha20_keybytes","_crypto_stream_chacha20_keygen","_crypto_stream_chacha20_messagebytes_max","_crypto_stream_chacha20_noncebytes","_crypto_stream_chacha20_xor","_crypto_stream_chacha20_xor_ic","_crypto_stream_keybytes","_crypto_stream_keygen","_crypto_stream_messagebytes_max","_crypto_stream_noncebytes","_crypto_stream_primitive","_crypto_stream_salsa20","_crypto_stream_salsa2012","_crypto_stream_salsa2012_keybytes","_crypto_stream_salsa2012_keygen","_crypto_stream_salsa2012_messagebytes_max","_crypto_stream_salsa2012_noncebytes","_crypto_stream_salsa2012_xor","_crypto_stream_salsa208","_crypto_stream_salsa208_keybytes","_crypto_stream_salsa208_keygen","_crypto_stream_salsa208_messagebytes_max","_crypto_stream_salsa208_noncebytes","_crypto_stream_salsa208_xor","_crypto_stream_salsa20_keybytes","_crypto_stream_salsa20_keygen","_crypto_stream_salsa20_messagebytes_max","_crypto_stream_salsa20_noncebytes","_crypto_stream_salsa20_xor","_crypto_stream_salsa20_xor_ic","_crypto_stream_xchacha20","_crypto_stream_xchacha20_keybytes","_crypto_stream_xchacha20_keygen","_crypto_stream_xchacha20_messagebytes_max","_crypto_stream_xchacha20_noncebytes","_crypto_stream_xchacha20_xor","_crypto_stream_xchacha20_xor_ic","_crypto_stream_xor","_crypto_stream_xsalsa20","_crypto_stream_xsalsa20_keybytes","_crypto_stream_xsalsa20_keygen","_crypto_stream_xsalsa20_messagebytes_max","_crypto_stream_xsalsa20_noncebytes","_crypto_stream_xsalsa20_xor","_crypto_stream_xsalsa20_xor_ic","_crypto_verify_16","_crypto_verify_16_bytes","_crypto_verify_32","_crypto_verify_32_bytes","_crypto_verify_64","_crypto_verify_64_bytes","_randombytes","_randombytes_buf","_randombytes_buf_deterministic","_randombytes_close","_randombytes_implementation_name","_randombytes_random","_randombytes_seedbytes","_randombytes_stir","_randombytes_uniform","_sodium_base642bin","_sodium_base64_encoded_len","_sodium_bin2base64","_sodium_bin2hex","_sodium_hex2bin","_sodium_init","_sodium_library_minimal","_sodium_library_version_major","_sodium_library_version_minor","_sodium_pad","_sodium_unpad","_sodium_version_string"]' -export EXPORTED_RUNTIME_METHODS='["UTF8ToString","getValue","setValue"]' -export MAX_MEMORY=16777216 -export MAX_MEMORY_SUMO=16777216 -export MAX_MEMORY_TESTS=16777216 -export LDFLAGS="-s RESERVED_FUNCTION_POINTERS=8" -export LDFLAGS="${LDFLAGS} -s ALLOW_MEMORY_GROWTH=1" -export LDFLAGS="${LDFLAGS} -s SINGLE_FILE=1" -export LDFLAGS="${LDFLAGS} -s ASSERTIONS=0" -export LDFLAGS="${LDFLAGS} -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s ALIASING_FUNCTION_POINTERS=1" -export LDFLAGS="${LDFLAGS} -s DISABLE_EXCEPTION_CATCHING=1" -export LDFLAGS="${LDFLAGS} -s ELIMINATE_DUPLICATE_FUNCTIONS=1" -export CFLAGS="-Os" - -echo -if [ "x$1" = "x--standard" ]; then - export EXPORTED_FUNCTIONS="$EXPORTED_FUNCTIONS_STANDARD" - export LDFLAGS="${LDFLAGS} ${LDFLAGS_DIST} -s TOTAL_MEMORY=${MAX_MEMORY}" - export PREFIX="$(pwd)/libsodium-js" - export DONE_FILE="$(pwd)/js.done" - export CONFIG_EXTRA="--enable-minimal" - export DIST='yes' - echo "Building a standard distribution in [${PREFIX}]" -elif [ "x$1" = "x--sumo" ]; then - export EXPORTED_FUNCTIONS="$EXPORTED_FUNCTIONS_SUMO" - export LDFLAGS="${LDFLAGS} ${LDFLAGS_DIST} -s TOTAL_MEMORY=${MAX_MEMORY_SUMO}" - export PREFIX="$(pwd)/libsodium-js-sumo" - export DONE_FILE="$(pwd)/js-sumo.done" - export DIST='yes' - echo "Building a sumo distribution in [${PREFIX}]" -elif [ "x$1" = "x--browser-tests" ]; then - export EXPORTED_FUNCTIONS="$EXPORTED_FUNCTIONS_SUMO" - export LDFLAGS="${LDFLAGS} -s TOTAL_MEMORY=${MAX_MEMORY_TESTS}" - export PREFIX="$(pwd)/libsodium-js-tests" - export DONE_FILE="$(pwd)/js-tests-browser.done" - export BROWSER_TESTS='yes' - export DIST='no' - echo "Building tests for web browsers in [${PREFIX}]" -elif [ "x$1" = "x--tests" ]; then - echo "Building for testing" - export EXPORTED_FUNCTIONS="$EXPORTED_FUNCTIONS_SUMO" - export CPPFLAGS="${CPPFLAGS} -DBENCHMARKS -DITERATIONS=10" - export LDFLAGS="${LDFLAGS} -s TOTAL_MEMORY=${MAX_MEMORY_TESTS}" - export PREFIX="$(pwd)/libsodium-js-tests" - export DONE_FILE="$(pwd)/js-tests.done" - export DIST='no' - echo "Building for testing in [${PREFIX}]" -else - echo "Usage: $0 " - echo " := --standard | --sumo | --browser-tests | --tests" - echo - exit 1 -fi -export JS_EXPORTS_FLAGS="-s EXPORTED_FUNCTIONS=${EXPORTED_FUNCTIONS} -s EXTRA_EXPORTED_RUNTIME_METHODS=${EXPORTED_RUNTIME_METHODS}" - -rm -f "$DONE_FILE" - -echo - -emconfigure ./configure $CONFIG_EXTRA --disable-shared --prefix="$PREFIX" \ - --without-pthreads \ - --disable-ssp --disable-asm --disable-pie \ - CFLAGS="$CFLAGS" && \ -emmake make clean -[ $? = 0 ] || exit 1 - -if [ "$DIST" = yes ]; then - emccLibsodium () { - outFile="${1}" - shift - emcc "$CFLAGS" --llvm-lto 1 $CPPFLAGS $LDFLAGS $JS_EXPORTS_FLAGS ${@} \ - "${PREFIX}/lib/libsodium.a" -o "${outFile}" || exit 1 - } - emmake make $MAKE_FLAGS install || exit 1 - emccLibsodium "${PREFIX}/lib/libsodium.asm.tmp.js" -Oz -s WASM=0 -s RUNNING_JS_OPTS=1 - emccLibsodium "${PREFIX}/lib/libsodium.wasm.tmp.js" -O3 -s WASM=1 - - cat > "${PREFIX}/lib/libsodium.js" <<- EOM - var Module; - if (typeof Module === 'undefined') { - Module = {}; - } - var root = Module; - if (typeof root['sodium'] !== 'object') { - if (typeof global === 'object') { - root = global; - } else if (typeof window === 'object') { - root = window; - } - } - if (typeof root['sodium'] === 'object' && typeof root['sodium']['totalMemory'] === 'number') { - Module['TOTAL_MEMORY'] = root['sodium']['totalMemory']; - } - var _Module = Module; - Module.ready = new Promise(function(resolve, reject) { - var Module = _Module; - Module.onAbort = reject; - Module.print = function(what) { - typeof(console) !== 'undefined' && console.log(what); - } - Module.printErr = function(what) { - typeof(console) !== 'undefined' && console.warn(what); - } - Module.onRuntimeInitialized = function() { - try { - /* Test arbitrary wasm function */ - Module._crypto_secretbox_keybytes(); - resolve(); - } catch (err) { - reject(err); - } - }; - Module.useBackupModule = function() { - var Module = _Module; - Object.keys(Module).forEach(function(k) { - if (k !== 'getRandomValue') { - delete Module[k]; - } - }); - $(cat "${PREFIX}/lib/libsodium.asm.tmp.js" | sed 's|use asm||g') - }; - $(cat "${PREFIX}/lib/libsodium.wasm.tmp.js") - }).catch(function() { - _Module.useBackupModule(); - }); -EOM - - rm "${PREFIX}/lib/libsodium.asm.tmp.js" "${PREFIX}/lib/libsodium.wasm.tmp.js" - touch -r "${PREFIX}/lib/libsodium.js" "$DONE_FILE" - ls -l "${PREFIX}/lib/libsodium.js" - exit 0 -fi - -if test "x$NODE" = x; then - for candidate in /usr/local/bin/node /usr/local/bin/nodejs /usr/bin/node /usr/bin/nodejs node nodejs; do - case $($candidate --version 2>&1) in #( - v*) - NODE=$candidate - break ;; - esac - done -fi - -if [ "x$BROWSER_TESTS" != "x" ]; then - echo 'Compiling the test suite for web browsers...' && \ - emmake make $MAKE_FLAGS CPPFLAGS="$CPPFLAGS -DBROWSER_TESTS=1" check > /dev/null 2>&1 -else - if test "x$NODE" = x; then - echo 'node.js not found - test suite skipped' >&2 - exit 1 - fi - echo "Using [${NODE}] as a Javascript runtime" - echo 'Compiling the test suite...' && \ - emmake make $MAKE_FLAGS check > /dev/null 2>&1 -fi - -if [ "x$BROWSER_TESTS" != "x" ]; then - echo 'Creating the test suite for web browsers' - ( - cd test/default && \ - mkdir -p browser && \ - rm -f browser/tests.txt && \ - for file in *.js; do - fgrep -v "#! /usr/bin/env ${NODE}" "$file" > "browser/${file}" - tname=$(echo "$file" | sed 's/.js$//') - cp -f "${tname}.exp" "browser/${tname}.exp" - sed "s/{{tname}}/${tname}/" index.html.tpl > "browser/${tname}.html" - echo "${tname}.html" >> "browser/tests.txt" - done - touch "$DONE_FILE" - ) -else - echo 'Running the test suite' - ( - cd test/default && \ - for file in *.js; do - echo "#! /usr/bin/env ${NODE}" > "${file}.tmp" - fgrep -v "#! /usr/bin/env ${NODE}" "$file" >> "${file}.tmp" - chmod +x "${file}.tmp" - mv -f "${file}.tmp" "$file" - done - ) - make $MAKE_FLAGS check || exit 1 - touch "$DONE_FILE" -fi - -echo 'Done.' diff --git a/libsodium-1.0.18-RELEASE/dist-build/generate-emscripten-symbols.sh b/libsodium-1.0.18-RELEASE/dist-build/generate-emscripten-symbols.sh deleted file mode 100644 index 873307d..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/generate-emscripten-symbols.sh +++ /dev/null @@ -1,57 +0,0 @@ -#! /bin/sh - -set -e - -symbols() { - { - SUMO="$1" - while read symbol standard sumo; do - found="$standard" - if [ "x$SUMO" = "xsumo" ]; then - found="$sumo" - fi - if [ "$found" = "1" ]; then - eval "defined_${symbol}=yes" - else - eval "defined_${symbol}=no" - fi - done < emscripten-symbols.def - - /usr/bin/nm /usr/local/lib/libsodium.23.dylib | \ - fgrep ' T _' | \ - cut -d' ' -f3 | { - while read symbol; do - eval "found=\$defined_${symbol}" - if [ "$found" = "yes" ]; then - echo "$symbol" - elif [ "$found" != "no" ]; then - echo >&2 - echo "*** [$symbol] was not expected ***" >&2 - echo >&2 - exit 1 - fi - done - } - } | \ - sort | \ - { - out='"_malloc","_free"' - while read symbol ; do - if [ ! -z "$out" ]; then - out="${out}," - fi - out="${out}\"${symbol}\"" - done - echo "[${out}]" - } -} - -out=$(symbols standard) -sed s/EXPORTED_FUNCTIONS_STANDARD=\'.*\'/EXPORTED_FUNCTIONS_STANDARD=\'${out}\'/ < emscripten.sh > emscripten.sh.tmp && \ - mv -f emscripten.sh.tmp emscripten.sh - -out=$(symbols sumo) -sed s/EXPORTED_FUNCTIONS_SUMO=\'.*\'/EXPORTED_FUNCTIONS_SUMO=\'${out}\'/ < emscripten.sh > emscripten.sh.tmp && \ - mv -f emscripten.sh.tmp emscripten.sh - -chmod +x emscripten.sh diff --git a/libsodium-1.0.18-RELEASE/dist-build/ios.sh b/libsodium-1.0.18-RELEASE/dist-build/ios.sh deleted file mode 100644 index 2a2122a..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/ios.sh +++ /dev/null @@ -1,135 +0,0 @@ -#! /bin/sh -# -# Step 1. -# Configure for base system so simulator is covered -# -# Step 2. -# Make for iOS and iOS simulator -# -# Step 3. -# Merge libs into final version for xcode import - -export PREFIX="$(pwd)/libsodium-ios" -export IOS32_PREFIX="$PREFIX/tmp/ios32" -export IOS32s_PREFIX="$PREFIX/tmp/ios32s" -export IOS64_PREFIX="$PREFIX/tmp/ios64" -export SIMULATOR32_PREFIX="$PREFIX/tmp/simulator32" -export SIMULATOR64_PREFIX="$PREFIX/tmp/simulator64" -export XCODEDIR=$(xcode-select -p) - -export IOS_SIMULATOR_VERSION_MIN=${IOS_SIMULATOR_VERSION_MIN-"6.0.0"} -export IOS_VERSION_MIN=${IOS_VERSION_MIN-"6.0.0"} - -echo -echo "Warnings related to headers being present but not usable are due to functions" -echo "that didn't exist in the specified minimum iOS version level." -echo "They can be safely ignored." -echo - -mkdir -p $SIMULATOR32_PREFIX $SIMULATOR64_PREFIX $IOS32_PREFIX $IOS32s_PREFIX $IOS64_PREFIX || exit 1 - -# Build for the simulator -export BASEDIR="${XCODEDIR}/Platforms/iPhoneSimulator.platform/Developer" -export PATH="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH" -export SDK="${BASEDIR}/SDKs/iPhoneSimulator.sdk" - -## i386 simulator -export CFLAGS="-O2 -arch i386 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN}" -export LDFLAGS="-arch i386 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN}" - -make distclean > /dev/null - -if [ -z "$LIBSODIUM_FULL_BUILD" ]; then - export LIBSODIUM_ENABLE_MINIMAL_FLAG="--enable-minimal" -else - export LIBSODIUM_ENABLE_MINIMAL_FLAG="" -fi - -./configure --host=i686-apple-darwin10 \ - --disable-shared \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$SIMULATOR32_PREFIX" || exit 1 - - -NPROCESSORS=$(getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -PROCESSORS=${NPROCESSORS:-3} - -make -j${PROCESSORS} install || exit 1 - -## x86_64 simulator -export CFLAGS="-O2 -arch x86_64 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN}" -export LDFLAGS="-arch x86_64 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN}" - -make distclean > /dev/null - -./configure --host=x86_64-apple-darwin10 \ - --disable-shared \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$SIMULATOR64_PREFIX" - -make -j${PROCESSORS} install || exit 1 - -# Build for iOS -export BASEDIR="${XCODEDIR}/Platforms/iPhoneOS.platform/Developer" -export PATH="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH" -export SDK="${BASEDIR}/SDKs/iPhoneOS.sdk" - -## 32-bit iOS -export CFLAGS="-fembed-bitcode -O2 -mthumb -arch armv7 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}" -export LDFLAGS="-fembed-bitcode -mthumb -arch armv7 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}" - -make distclean > /dev/null - -./configure --host=arm-apple-darwin10 \ - --disable-shared \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$IOS32_PREFIX" || exit 1 - -make -j${PROCESSORS} install || exit 1 - -## 32-bit armv7s iOS -export CFLAGS="-fembed-bitcode -O2 -mthumb -arch armv7s -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}" -export LDFLAGS="-fembed-bitcode -mthumb -arch armv7s -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}" - -make distclean > /dev/null - -./configure --host=arm-apple-darwin10 \ - --disable-shared \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$IOS32s_PREFIX" || exit 1 - -make -j${PROCESSORS} install || exit 1 - -## 64-bit iOS -export CFLAGS="-fembed-bitcode -O2 -arch arm64 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN} -fembed-bitcode" -export LDFLAGS="-fembed-bitcode -arch arm64 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN} -fembed-bitcode" - -make distclean > /dev/null - -./configure --host=arm-apple-darwin10 \ - --disable-shared \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$IOS64_PREFIX" || exit 1 - -make -j${PROCESSORS} install || exit 1 - -# Create universal binary and include folder -rm -fr -- "$PREFIX/include" "$PREFIX/libsodium.a" 2> /dev/null -mkdir -p -- "$PREFIX/lib" -lipo -create \ - "$SIMULATOR32_PREFIX/lib/libsodium.a" \ - "$SIMULATOR64_PREFIX/lib/libsodium.a" \ - "$IOS32_PREFIX/lib/libsodium.a" \ - "$IOS32s_PREFIX/lib/libsodium.a" \ - "$IOS64_PREFIX/lib/libsodium.a" \ - -output "$PREFIX/lib/libsodium.a" -mv -f -- "$IOS32_PREFIX/include" "$PREFIX/" - -echo -echo "libsodium has been installed into $PREFIX" -echo -file -- "$PREFIX/lib/libsodium.a" - -# Cleanup -rm -rf -- "$PREFIX/tmp" -make distclean > /dev/null diff --git a/libsodium-1.0.18-RELEASE/dist-build/msys2-win32.sh b/libsodium-1.0.18-RELEASE/dist-build/msys2-win32.sh deleted file mode 100644 index dcc9ee0..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/msys2-win32.sh +++ /dev/null @@ -1,18 +0,0 @@ -#! /bin/sh - -export CFLAGS="-Ofast -fomit-frame-pointer -m32 -march=pentium3 -mtune=westmere" -export PREFIX="$(pwd)/libsodium-win32" - -if (i686-w64-mingw32-gcc --version > /dev/null 2>&1) then - echo MinGW found -else - echo Please install mingw-w64-i686-gcc >&2 - exit -fi - -./configure --prefix="$PREFIX" --exec-prefix="$PREFIX" \ - --host=i686-w64-mingw32 && \ -make clean && \ -make && \ -make check && \ -make install diff --git a/libsodium-1.0.18-RELEASE/dist-build/msys2-win64.sh b/libsodium-1.0.18-RELEASE/dist-build/msys2-win64.sh deleted file mode 100644 index 0b38d6d..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/msys2-win64.sh +++ /dev/null @@ -1,18 +0,0 @@ -#! /bin/sh - -export CFLAGS="-Ofast -fomit-frame-pointer -m64 -mtune=westmere" -export PREFIX="$(pwd)/libsodium-win64" - -if (x86_64-w64-mingw32-gcc --version > /dev/null 2>&1) then - echo MinGW found -else - echo Please install mingw-w64-x86_64-gcc >&2 - exit -fi - -./configure --prefix="$PREFIX" --exec-prefix="$PREFIX" \ - --host=x86_64-w64-mingw32 && \ -make clean && \ -make && \ -make check && \ -make install diff --git a/libsodium-1.0.18-RELEASE/dist-build/osx.sh b/libsodium-1.0.18-RELEASE/dist-build/osx.sh deleted file mode 100644 index d47a001..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/osx.sh +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh - -export PREFIX="$(pwd)/libsodium-osx" -export OSX_VERSION_MIN=${OSX_VERSION_MIN-"10.8"} -export OSX_CPU_ARCH=${OSX_CPU_ARCH-"core2"} - -mkdir -p $PREFIX || exit 1 - -export CFLAGS="-arch x86_64 -mmacosx-version-min=${OSX_VERSION_MIN} -march=${OSX_CPU_ARCH} -O2 -g" -export LDFLAGS="-arch x86_64 -mmacosx-version-min=${OSX_VERSION_MIN} -march=${OSX_CPU_ARCH}" - -make distclean > /dev/null - -if [ -z "$LIBSODIUM_FULL_BUILD" ]; then - export LIBSODIUM_ENABLE_MINIMAL_FLAG="--enable-minimal" -else - export LIBSODIUM_ENABLE_MINIMAL_FLAG="" -fi - -./configure ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$PREFIX" || exit 1 - - -NPROCESSORS=$(getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -PROCESSORS=${NPROCESSORS:-3} - -make -j${PROCESSORS} check && make -j${PROCESSORS} install || exit 1 - -# Cleanup -make distclean > /dev/null diff --git a/libsodium-1.0.18-RELEASE/dist-build/wasm32-wasi.sh b/libsodium-1.0.18-RELEASE/dist-build/wasm32-wasi.sh deleted file mode 100644 index 0b28dff..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/wasm32-wasi.sh +++ /dev/null @@ -1,49 +0,0 @@ -#! /bin/sh - -if [ -z "$WASI_SYSROOT" ]; then - export WASI_SYSROOT="/opt/wasi-sysroot" -fi - -export PATH="/usr/local/opt/llvm/bin:$PATH" - -export PREFIX="$(pwd)/libsodium-wasm32-wasi" - -mkdir -p $PREFIX || exit 1 - -export CC="clang" -export CFLAGS="-DED25519_NONDETERMINISTIC=1 --target=wasm32-wasi --sysroot=${WASI_SYSROOT} -O2" -export LDFLAGS="-s -Wl,--no-threads" -export NM="llvm-nm" -export AR="llvm-ar" -export RANLIB="llvm-ranlib" -export STRIP="llvm-strip" - -make distclean > /dev/null - -grep -q -F -- 'wasi' build-aux/config.sub || \ - sed -i -e 's/-nacl\*)/-nacl*|-wasi)/' build-aux/config.sub - -if [ "x$1" = "x--bench" ]; then - export BENCHMARKS=1 - export CPPFLAGS="-DBENCHMARKS -DITERATIONS=100" -fi - -if [ -n "$LIBSODIUM_MINIMAL_BUILD" ]; then - export LIBSODIUM_ENABLE_MINIMAL_FLAG="--enable-minimal" -else - export LIBSODIUM_ENABLE_MINIMAL_FLAG="" -fi - -./configure ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$PREFIX" --with-sysroot="$WASI_SYSROOT" \ - --host=wasm32-wasi \ - --disable-ssp --disable-shared || exit 1 - -NPROCESSORS=$(getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -PROCESSORS=${NPROCESSORS:-3} - -if [ -z "$BENCHMARKS" ]; then - make -j${PROCESSORS} check && make install && make distclean > /dev/null -else - make -j${PROCESSORS} && make check -fi diff --git a/libsodium-1.0.18-RELEASE/dist-build/watchos.sh b/libsodium-1.0.18-RELEASE/dist-build/watchos.sh deleted file mode 100644 index 60ab4b4..0000000 --- a/libsodium-1.0.18-RELEASE/dist-build/watchos.sh +++ /dev/null @@ -1,114 +0,0 @@ -#! /bin/sh -# -# Step 1. -# Configure for base system so simulator is covered -# -# Step 2. -# Make for watchOS and watchOS simulator -# -# Step 3. -# Merge libs into final version for xcode import - -export PREFIX="$(pwd)/libsodium-watchos" -export WATCHOS32_PREFIX="$PREFIX/tmp/watchos32" -export WATCHOS64_32_PREFIX="$PREFIX/tmp/watchos64_32" -export SIMULATOR32_PREFIX="$PREFIX/tmp/simulator32" -export SIMULATOR64_PREFIX="$PREFIX/tmp/simulator64" -export XCODEDIR=$(xcode-select -p) - -export WATCHOS_SIMULATOR_VERSION_MIN=${WATCHOS_SIMULATOR_VERSION_MIN-"4.0.0"} -export WATCHOS_VERSION_MIN=${WATCHOS_VERSION_MIN-"4.0.0"} - -mkdir -p $SIMULATOR32_PREFIX $SIMULATOR64_PREFIX $WATCHOS32_PREFIX $WATCHOS64_32_PREFIX || exit 1 - -# Build for the simulator -export BASEDIR="${XCODEDIR}/Platforms/WatchSimulator.platform/Developer" -export PATH="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH" -export SDK="${BASEDIR}/SDKs/WatchSimulator.sdk" - -## i386 simulator -export CFLAGS="-O2 -arch i386 -isysroot ${SDK} -mwatchos-simulator-version-min=${WATCHOS_SIMULATOR_VERSION_MIN}" -export LDFLAGS="-arch i386 -isysroot ${SDK} -mwatchos-simulator-version-min=${WATCHOS_SIMULATOR_VERSION_MIN}" - -make distclean > /dev/null - -if [ -z "$LIBSODIUM_FULL_BUILD" ]; then - export LIBSODIUM_ENABLE_MINIMAL_FLAG="--enable-minimal" -else - export LIBSODIUM_ENABLE_MINIMAL_FLAG="" -fi - -./configure --host=i686-apple-darwin10 \ - --disable-shared \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$SIMULATOR32_PREFIX" || exit 1 - - -NPROCESSORS=$(getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -PROCESSORS=${NPROCESSORS:-3} - -make -j${PROCESSORS} install || exit 1 - -## x86_64 simulator -export CFLAGS="-O2 -arch x86_64 -isysroot ${SDK} -mwatchos-simulator-version-min=${WATCHOS_SIMULATOR_VERSION_MIN}" -export LDFLAGS="-arch x86_64 -isysroot ${SDK} -mwatchos-simulator-version-min=${WATCHOS_SIMULATOR_VERSION_MIN}" - -make distclean > /dev/null - -./configure --host=x86_64-apple-darwin10 \ - --disable-shared \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$SIMULATOR64_PREFIX" - -make -j${PROCESSORS} install || exit 1 - -# Build for watchOS -export BASEDIR="${XCODEDIR}/Platforms/WatchOS.platform/Developer" -export PATH="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH" -export SDK="${BASEDIR}/SDKs/WatchOS.sdk" - -## 32-bit watchOS -export CFLAGS="-fembed-bitcode -O2 -mthumb -arch armv7k -isysroot ${SDK} -mwatchos-version-min=${WATCHOS_VERSION_MIN}" -export LDFLAGS="-fembed-bitcode -mthumb -arch armv7k -isysroot ${SDK} -mwatchos-version-min=${WATCHOS_VERSION_MIN}" - -make distclean > /dev/null - -./configure --host=arm-apple-darwin10 \ - --disable-shared \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$WATCHOS32_PREFIX" || exit 1 - -make -j${PROCESSORS} install || exit 1 - -## 64-bit arm64_32 watchOS -export CFLAGS="-fembed-bitcode -O2 -mthumb -arch arm64_32 -isysroot ${SDK} -mwatchos-version-min=${WATCHOS_VERSION_MIN}" -export LDFLAGS="-fembed-bitcode -mthumb -arch arm64_32 -isysroot ${SDK} -mwatchos-version-min=${WATCHOS_VERSION_MIN}" - -make distclean > /dev/null - -./configure --host=arm-apple-darwin10 \ - --disable-shared \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \ - --prefix="$WATCHOS64_32_PREFIX" || exit 1 - -make -j${PROCESSORS} install || exit 1 - -# Create universal binary and include folder -rm -fr -- "$PREFIX/include" "$PREFIX/libsodium.a" 2> /dev/null -mkdir -p -- "$PREFIX/lib" -lipo -create \ - "$SIMULATOR32_PREFIX/lib/libsodium.a" \ - "$SIMULATOR64_PREFIX/lib/libsodium.a" \ - "$WATCHOS32_PREFIX/lib/libsodium.a" \ - "$WATCHOS64_32_PREFIX/lib/libsodium.a" \ - -output "$PREFIX/lib/libsodium.a" -mv -f -- "$WATCHOS32_PREFIX/include" "$PREFIX/" - -echo -echo "libsodium has been installed into $PREFIX" -echo -file -- "$PREFIX/lib/libsodium.a" - -# Cleanup -rm -rf -- "$PREFIX/tmp" -make distclean > /dev/null diff --git a/libsodium-1.0.18-RELEASE/lgtm.yml b/libsodium-1.0.18-RELEASE/lgtm.yml deleted file mode 100644 index f012f94..0000000 --- a/libsodium-1.0.18-RELEASE/lgtm.yml +++ /dev/null @@ -1,6 +0,0 @@ -extraction: - cpp: - configure: - command: - - ./autogen.sh - - ./configure \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/libsodium-uninstalled.pc.in b/libsodium-1.0.18-RELEASE/libsodium-uninstalled.pc.in deleted file mode 100644 index 068a9c6..0000000 --- a/libsodium-1.0.18-RELEASE/libsodium-uninstalled.pc.in +++ /dev/null @@ -1,7 +0,0 @@ -Name: @PACKAGE_NAME@ -Version: @PACKAGE_VERSION@ -Description: A modern and easy-to-use crypto library - -Libs: -L${pcfiledir}/src/libsodium -lsodium -Libs.private: @PKGCONFIG_LIBS_PRIVATE@ -Cflags: -I${pcfiledir}/src/libsodium/include -I@top_srcdir@/src/libsodium/include -I@top_srcdir@/src/libsodium/include/sodium diff --git a/libsodium-1.0.18-RELEASE/libsodium.pc.in b/libsodium-1.0.18-RELEASE/libsodium.pc.in deleted file mode 100644 index 6c2b43a..0000000 --- a/libsodium-1.0.18-RELEASE/libsodium.pc.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: @PACKAGE_NAME@ -Version: @PACKAGE_VERSION@ -Description: A modern and easy-to-use crypto library - -Libs: -L${libdir} -lsodium -Libs.private: @PKGCONFIG_LIBS_PRIVATE@ -Cflags: -I${includedir} diff --git a/libsodium-1.0.18-RELEASE/libsodium.sln b/libsodium-1.0.18-RELEASE/libsodium.sln deleted file mode 100644 index 0afec29..0000000 --- a/libsodium-1.0.18-RELEASE/libsodium.sln +++ /dev/null @@ -1,40 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.23107.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsodium", "libsodium.vcxproj", "{A185B162-6CB6-4502-B03F-B56F7699A8D9}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - DebugDLL|Win32 = DebugDLL|Win32 - DebugDLL|x64 = DebugDLL|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - ReleaseDLL|Win32 = ReleaseDLL|Win32 - ReleaseDLL|x64 = ReleaseDLL|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Debug|Win32.ActiveCfg = Debug|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Debug|Win32.Build.0 = Debug|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Debug|x64.ActiveCfg = Debug|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Debug|x64.Build.0 = Debug|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.DebugDLL|x64.Build.0 = DebugDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Release|Win32.ActiveCfg = Release|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Release|Win32.Build.0 = Release|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Release|x64.ActiveCfg = Release|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.Release|x64.Build.0 = Release|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 - {A185B162-6CB6-4502-B03F-B56F7699A8D9}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libsodium-1.0.18-RELEASE/libsodium.vcxproj b/libsodium-1.0.18-RELEASE/libsodium.vcxproj deleted file mode 100644 index 524b1e7..0000000 --- a/libsodium-1.0.18-RELEASE/libsodium.vcxproj +++ /dev/null @@ -1,565 +0,0 @@ - - - - - DebugDLL - Win32 - - - DebugDLL - x64 - - - Debug - Win32 - - - Debug - x64 - - - ReleaseDLL - Win32 - - - ReleaseDLL - x64 - - - Release - Win32 - - - Release - x64 - - - - {A185B162-6CB6-4502-B03F-B56F7699A8D9} - Win32Proj - libsodium - - - - StaticLibrary - true - MultiByte - false - v143 - - - DynamicLibrary - true - MultiByte - false - v143 - - - StaticLibrary - true - MultiByte - false - v143 - - - DynamicLibrary - true - MultiByte - false - v143 - - - StaticLibrary - false - true - MultiByte - v143 - - - DynamicLibrary - false - true - MultiByte - v143 - - - StaticLibrary - false - true - MultiByte - v143 - - - DynamicLibrary - false - true - MultiByte - v143 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - - - - Level3 - Disabled - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebug - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - - - - - - - Level3 - Disabled - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebugDLL - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - - - - - - - Level3 - Disabled - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebug - - - Console - true - - - - - - - Level3 - Disabled - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebugDLL - - - Console - true - - - - - Level3 - - - Full - true - true - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreaded - Speed - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - - - - - Level3 - - - Full - true - true - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDLL - Speed - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreaded - - - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDLL - - - Console - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/libsodium.vcxproj.filters b/libsodium-1.0.18-RELEASE/libsodium.vcxproj.filters deleted file mode 100644 index f0d4de8..0000000 --- a/libsodium-1.0.18-RELEASE/libsodium.vcxproj.filters +++ /dev/null @@ -1,737 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/logo.png b/libsodium-1.0.18-RELEASE/logo.png deleted file mode 100644 index 51e38dec8f3519fcb8c3ce26bb700498b26e8cb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13249 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 Q`%@z=p&(xM)gb8q0HUpjBLDyZ diff --git a/libsodium-1.0.18-RELEASE/m4/ax_check_catchable_abrt.m4 b/libsodium-1.0.18-RELEASE/m4/ax_check_catchable_abrt.m4 deleted file mode 100644 index 140ab85..0000000 --- a/libsodium-1.0.18-RELEASE/m4/ax_check_catchable_abrt.m4 +++ /dev/null @@ -1,57 +0,0 @@ -# SYNOPSIS -# -# AX_CHECK_CATCHABLE_ABRT -# -# DESCRIPTION -# -# Check whether SIGABRT can be caught using signal handlers. - -#serial 1 - -AC_DEFUN([AX_CHECK_CATCHABLE_ABRT], [dnl - AC_PREREQ(2.64) - AS_VAR_PUSHDEF([CACHEVAR], [ax_cv_check_[]_AC_LANG_ABBREV[]CATCHABLE_ABRT])dnl - AC_CACHE_CHECK([whether SIGABRT can be caught when using the _AC_LANG compiler], CACHEVAR, [ - AC_RUN_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - -#ifndef SIGABRT -# error SIGABRT is not defined -#endif - -static void sigabrt_handler_3(int _) -{ - exit(0); -} - -static void sigabrt_handler_2(int _) -{ - signal(SIGABRT, sigabrt_handler_3); - abort(); - exit(1); -} - -static void sigabrt_handler_1(int _) -{ - signal(SIGABRT, sigabrt_handler_2); - abort(); - exit(1); -} - ]], [[ -signal(SIGABRT, sigabrt_handler_1); -abort(); -exit(1); - ]])], - [AS_VAR_SET(CACHEVAR, [yes])], - [AS_VAR_SET(CACHEVAR, [no])], - [AS_VAR_SET(CACHEVAR, [unknown])] - ) - ]) - AS_VAR_IF(CACHEVAR, yes, - [AC_DEFINE([HAVE_CATCHABLE_ABRT], [1], [Define if SIGABRT can be caught using signal handlers])], - [AC_MSG_WARN([On this platform, SIGABRT cannot be caught using signal handlers.])] - ) - AS_VAR_POPDEF([CACHEVAR])dnl -]) diff --git a/libsodium-1.0.18-RELEASE/m4/ax_check_catchable_segv.m4 b/libsodium-1.0.18-RELEASE/m4/ax_check_catchable_segv.m4 deleted file mode 100644 index ec3ca4b..0000000 --- a/libsodium-1.0.18-RELEASE/m4/ax_check_catchable_segv.m4 +++ /dev/null @@ -1,42 +0,0 @@ -# SYNOPSIS -# -# AX_CHECK_CATCHABLE_SEGV -# -# DESCRIPTION -# -# Check whether segmentation violations can be caught using signal handlers. - -#serial 1 - -AC_DEFUN([AX_CHECK_CATCHABLE_SEGV], [dnl - AC_PREREQ(2.64) - AS_VAR_PUSHDEF([CACHEVAR], [ax_cv_check_[]_AC_LANG_ABBREV[]CATCHABLE_SEGV])dnl - AC_CACHE_CHECK([whether segmentation violations can be caught when using the _AC_LANG compiler], CACHEVAR, [ - AC_RUN_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include -static void sig(int _) { exit(0); } - ]], [[ -volatile unsigned char * volatile x = (volatile unsigned char *) malloc(8); -size_t i; - -signal(SIGSEGV, sig); -signal(SIGBUS, sig); -#if !defined(__SANITIZE_ADDRESS__) && !defined(__EMSCRIPTEN__) -for (i = 0; i < 10000000; i += 1024) { x[-i] = x[i] = (unsigned char) i; } -#endif -free((void *) x); -exit(1) - ]])], - [AS_VAR_SET(CACHEVAR, [yes])], - [AS_VAR_SET(CACHEVAR, [no])], - [AS_VAR_SET(CACHEVAR, [unknown])] - ) - ]) - AS_VAR_IF(CACHEVAR, yes, - [AC_DEFINE([HAVE_CATCHABLE_SEGV], [1], [Define if segmentation violations can be caught using signal handlers])], - [AC_MSG_WARN([On this platform, segmentation violations cannot be caught using signal handlers. This is expected if you enabled a tool such as Address Sanitizer (-fsanitize=address), but be aware that using Address Sanitizer may also significantly reduce performance.])] - ) - AS_VAR_POPDEF([CACHEVAR])dnl -]) diff --git a/libsodium-1.0.18-RELEASE/m4/ax_check_compile_flag.m4 b/libsodium-1.0.18-RELEASE/m4/ax_check_compile_flag.m4 deleted file mode 100644 index b030331..0000000 --- a/libsodium-1.0.18-RELEASE/m4/ax_check_compile_flag.m4 +++ /dev/null @@ -1,75 +0,0 @@ -# =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) -# -# DESCRIPTION -# -# Check whether the given FLAG works with the current language's compiler -# or gives an error. (Warnings, however, are ignored) -# -# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on -# success/failure. -# -# If EXTRA-FLAGS is defined, it is added to the current language's default -# flags (e.g. CFLAGS) when the check is done. The check is thus made with -# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to -# force the compiler to issue an error when a bad flag is given. -# -# INPUT gives an alternative input source to AC_COMPILE_IFELSE. -# -# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this -# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim -# Copyright (c) 2011 Maarten Bosmans -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 5 - -AC_DEFUN([AX_CHECK_COMPILE_FLAG], -[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF -AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl -AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ - ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS - _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" - AC_TRY_LINK([#include ], - [time_t x; int fodder = 0; if (fodder > -1000 && time(&x)) return (int) x], - [AS_VAR_SET(CACHEVAR,[yes])], - [AS_VAR_SET(CACHEVAR,[no])]) - _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -AS_VAR_IF(CACHEVAR,yes, - [m4_default([$2], :)], - [m4_default([$3], :)]) -AS_VAR_POPDEF([CACHEVAR])dnl -])dnl AX_CHECK_COMPILE_FLAGS diff --git a/libsodium-1.0.18-RELEASE/m4/ax_check_define.m4 b/libsodium-1.0.18-RELEASE/m4/ax_check_define.m4 deleted file mode 100644 index 20ba808..0000000 --- a/libsodium-1.0.18-RELEASE/m4/ax_check_define.m4 +++ /dev/null @@ -1,92 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_check_define.html -# =========================================================================== -# -# SYNOPSIS -# -# AC_CHECK_DEFINE([symbol], [ACTION-IF-FOUND], [ACTION-IF-NOT]) -# AX_CHECK_DEFINE([includes],[symbol], [ACTION-IF-FOUND], [ACTION-IF-NOT]) -# -# DESCRIPTION -# -# Complements AC_CHECK_FUNC but it does not check for a function but for a -# define to exist. Consider a usage like: -# -# AC_CHECK_DEFINE(__STRICT_ANSI__, CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500") -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 9 - -AU_ALIAS([AC_CHECK_DEFINED], [AC_CHECK_DEFINE]) -AC_DEFUN([AC_CHECK_DEFINE],[ -AS_VAR_PUSHDEF([ac_var],[ac_cv_defined_$1])dnl -AC_CACHE_CHECK([for $1 defined], ac_var, -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ - #ifdef $1 - int ok; - #else - choke me - #endif -]])],[AS_VAR_SET(ac_var, yes)],[AS_VAR_SET(ac_var, no)])) -AS_IF([test AS_VAR_GET(ac_var) != "no"], [$2], [$3])dnl -AS_VAR_POPDEF([ac_var])dnl -]) - -AU_ALIAS([AX_CHECK_DEFINED], [AX_CHECK_DEFINE]) -AC_DEFUN([AX_CHECK_DEFINE],[ -AS_VAR_PUSHDEF([ac_var],[ac_cv_defined_$2_$1])dnl -AC_CACHE_CHECK([for $2 defined in $1], ac_var, -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <$1>]], [[ - #ifdef $2 - int ok; - #else - choke me - #endif -]])],[AS_VAR_SET(ac_var, yes)],[AS_VAR_SET(ac_var, no)])) -AS_IF([test AS_VAR_GET(ac_var) != "no"], [$3], [$4])dnl -AS_VAR_POPDEF([ac_var])dnl -]) - -AC_DEFUN([AX_CHECK_FUNC], -[AS_VAR_PUSHDEF([ac_var], [ac_cv_func_$2])dnl -AC_CACHE_CHECK([for $2], ac_var, -dnl AC_LANG_FUNC_LINK_TRY -[AC_LINK_IFELSE([AC_LANG_PROGRAM([$1 - #undef $2 - char $2 ();],[ - char (*f) () = $2; - return f != $2; ])], - [AS_VAR_SET(ac_var, yes)], - [AS_VAR_SET(ac_var, no)])]) -AS_IF([test AS_VAR_GET(ac_var) = yes], [$3], [$4])dnl -AS_VAR_POPDEF([ac_var])dnl -])# AC_CHECK_FUNC diff --git a/libsodium-1.0.18-RELEASE/m4/ax_check_gnu_make.m4 b/libsodium-1.0.18-RELEASE/m4/ax_check_gnu_make.m4 deleted file mode 100644 index 4c761ea..0000000 --- a/libsodium-1.0.18-RELEASE/m4/ax_check_gnu_make.m4 +++ /dev/null @@ -1,84 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_check_gnu_make.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CHECK_GNU_MAKE() -# -# DESCRIPTION -# -# This macro searches for a GNU version of make. If a match is found: -# -# * The makefile variable `ifGNUmake' is set to the empty string, otherwise -# it is set to "#". This is useful for including a special features in a -# Makefile, which cannot be handled by other versions of make. -# * The variable `_cv_gnu_make_command` is set to the command to invoke -# GNU make if it exists, the empty string otherwise. -# * The variable `ax_cv_gnu_make_command` is set to the command to invoke -# GNU make by copying `_cv_gnu_make_command`, otherwise it is unset. -# * If GNU Make is found, its version is extracted from the output of -# `make --version` as the last field of a record of space-separated -# columns and saved into the variable `ax_check_gnu_make_version`. -# -# Here is an example of its use: -# -# Makefile.in might contain: -# -# # A failsafe way of putting a dependency rule into a makefile -# $(DEPEND): -# $(CC) -MM $(srcdir)/*.c > $(DEPEND) -# -# @ifGNUmake@ ifeq ($(DEPEND),$(wildcard $(DEPEND))) -# @ifGNUmake@ include $(DEPEND) -# @ifGNUmake@ endif -# -# Then configure.in would normally contain: -# -# AX_CHECK_GNU_MAKE() -# AC_OUTPUT(Makefile) -# -# Then perhaps to cause gnu make to override any other make, we could do -# something like this (note that GNU make always looks for GNUmakefile -# first): -# -# if ! test x$_cv_gnu_make_command = x ; then -# mv Makefile GNUmakefile -# echo .DEFAULT: > Makefile ; -# echo \ $_cv_gnu_make_command \$@ >> Makefile; -# fi -# -# Then, if any (well almost any) other make is called, and GNU make also -# exists, then the other make wraps the GNU make. -# -# LICENSE -# -# Copyright (c) 2008 John Darrington -# Copyright (c) 2015 Enrico M. Crisostomo -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 9 - -AC_DEFUN([AX_CHECK_GNU_MAKE],dnl - [AC_PROG_AWK - AC_CACHE_CHECK([for GNU make],[_cv_gnu_make_command],[dnl - _cv_gnu_make_command="" ; -dnl Search all the common names for GNU make - for a in "$MAKE" make gmake gnumake ; do - if test -z "$a" ; then continue ; fi ; - if "$a" --version 2> /dev/null | grep GNU 2>&1 > /dev/null ; then - _cv_gnu_make_command=$a ; - AX_CHECK_GNU_MAKE_HEADLINE=$("$a" --version 2> /dev/null | grep "GNU Make") - ax_check_gnu_make_version=$(echo ${AX_CHECK_GNU_MAKE_HEADLINE} | ${AWK} -F " " '{ print $(NF); }') - break ; - fi - done ;]) -dnl If there was a GNU version, then set @ifGNUmake@ to the empty string, '#' otherwise - AS_VAR_IF([_cv_gnu_make_command], [""], [AS_VAR_SET([ifGNUmake], ["#"])], [AS_VAR_SET([ifGNUmake], [""])]) - AS_VAR_IF([_cv_gnu_make_command], [""], [AS_UNSET(ax_cv_gnu_make_command)], [AS_VAR_SET([ax_cv_gnu_make_command], [${_cv_gnu_make_command}])]) - AC_SUBST([ifGNUmake]) -]) diff --git a/libsodium-1.0.18-RELEASE/m4/ax_check_link_flag.m4 b/libsodium-1.0.18-RELEASE/m4/ax_check_link_flag.m4 deleted file mode 100644 index 06af181..0000000 --- a/libsodium-1.0.18-RELEASE/m4/ax_check_link_flag.m4 +++ /dev/null @@ -1,75 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) -# -# DESCRIPTION -# -# Check whether the given FLAG works with the linker or gives an error. -# (Warnings, however, are ignored) -# -# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on -# success/failure. -# -# If EXTRA-FLAGS is defined, it is added to the linker's default flags -# when the check is done. The check is thus made with the flags: "LDFLAGS -# EXTRA-FLAGS FLAG". This can for example be used to force the linker to -# issue an error when a bad flag is given. -# -# INPUT gives an alternative input source to AC_LINK_IFELSE. -# -# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this -# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG. -# -# LICENSE -# -# Copyright (c) 2008 Guido U. Draheim -# Copyright (c) 2011 Maarten Bosmans -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 5 - -AC_DEFUN([AX_CHECK_LINK_FLAG], -[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF -AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl -AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [ - ax_check_save_flags=$LDFLAGS - LDFLAGS="$LDFLAGS $4 $1" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[time_t x; int fodder = 0; if (fodder > -1000 && time(&x)) return (int) x]])], - [AS_VAR_SET(CACHEVAR,[yes])], - [AS_VAR_SET(CACHEVAR,[no])]) - LDFLAGS=$ax_check_save_flags]) -AS_VAR_IF(CACHEVAR,yes, - [m4_default([$2], :)], - [m4_default([$3], :)]) -AS_VAR_POPDEF([CACHEVAR])dnl -])dnl AX_CHECK_LINK_FLAGS diff --git a/libsodium-1.0.18-RELEASE/m4/ax_pthread.m4 b/libsodium-1.0.18-RELEASE/m4/ax_pthread.m4 deleted file mode 100644 index 5fbf9fe..0000000 --- a/libsodium-1.0.18-RELEASE/m4/ax_pthread.m4 +++ /dev/null @@ -1,485 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_pthread.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -# -# DESCRIPTION -# -# This macro figures out how to build C programs using POSIX threads. It -# sets the PTHREAD_LIBS output variable to the threads library and linker -# flags, and the PTHREAD_CFLAGS output variable to any special C compiler -# flags that are needed. (The user can also force certain compiler -# flags/libs to be tested by setting these environment variables.) -# -# Also sets PTHREAD_CC to any special C compiler that is needed for -# multi-threaded programs (defaults to the value of CC otherwise). (This -# is necessary on AIX to use the special cc_r compiler alias.) -# -# NOTE: You are assumed to not only compile your program with these flags, -# but also to link with them as well. For example, you might link with -# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS -# -# If you are only building threaded programs, you may wish to use these -# variables in your default LIBS, CFLAGS, and CC: -# -# LIBS="$PTHREAD_LIBS $LIBS" -# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -# CC="$PTHREAD_CC" -# -# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant -# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to -# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). -# -# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the -# PTHREAD_PRIO_INHERIT symbol is defined when compiling with -# PTHREAD_CFLAGS. -# -# ACTION-IF-FOUND is a list of shell commands to run if a threads library -# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it -# is not found. If ACTION-IF-FOUND is not specified, the default action -# will define HAVE_PTHREAD. -# -# Please let the authors know if this macro fails on any platform, or if -# you have any other suggestions or comments. This macro was based on work -# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help -# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by -# Alejandro Forero Cuervo to the autoconf macro repository. We are also -# grateful for the helpful feedback of numerous users. -# -# Updated for Autoconf 2.68 by Daniel Richard G. -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson -# Copyright (c) 2011 Daniel Richard G. -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 24 - -AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) -AC_DEFUN([AX_PTHREAD], [ -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_CC]) -AC_REQUIRE([AC_PROG_SED]) -AC_LANG_PUSH([C]) -ax_pthread_ok=no - -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on Tru64 or Sequent). -# It gets checked for in the link test anyway. - -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then - ax_pthread_save_CC="$CC" - ax_pthread_save_CFLAGS="$CFLAGS" - ax_pthread_save_LIBS="$LIBS" - AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) - AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) - AC_MSG_RESULT([$ax_pthread_ok]) - if test "x$ax_pthread_ok" = "xno"; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - CC="$ax_pthread_save_CC" - CFLAGS="$ax_pthread_save_CFLAGS" - LIBS="$ax_pthread_save_LIBS" -fi - -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. - -ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 -# (Note: HP C rejects this with "bad form for `-t' option") -# -pthreads: Solaris/gcc (Note: HP C also rejects) -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads and -# -D_REENTRANT too), HP C (must be checked before -lpthread, which -# is present but should not be used directly; and before -mthreads, -# because the compiler interprets this as "-mt" + "-hreads") -# -mthreads: Mingw32/gcc, Lynx/gcc -# pthread: Linux, etcetera -# --thread-safe: KAI C++ -# pthread-config: use pthread-config program (for GNU Pth library) - -case $host_os in - - freebsd*) - - # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) - # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) - - ax_pthread_flags="-kthread lthread $ax_pthread_flags" - ;; - - hpux*) - - # From the cc(1) man page: "[-mt] Sets various -D flags to enable - # multi-threading and also sets -lpthread." - - ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" - ;; - - openedition*) - - # IBM z/OS requires a feature-test macro to be defined in order to - # enable POSIX threads at all, so give the user a hint if this is - # not set. (We don't define these ourselves, as they can affect - # other portions of the system API in unpredictable ways.) - - AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], - [ -# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) - AX_PTHREAD_ZOS_MISSING -# endif - ], - [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) - ;; - - solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (N.B.: The stubs are missing - # pthread_cleanup_push, or rather a function called by this macro, - # so we could check for that, but who knows whether they'll stub - # that too in a future libc.) So we'll check first for the - # standard Solaris way of linking pthreads (-mt -lpthread). - - ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags" - ;; -esac - -# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) - -AS_IF([test "x$GCC" = "xyes"], - [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"]) - -# The presence of a feature test macro requesting re-entrant function -# definitions is, on some systems, a strong hint that pthreads support is -# correctly enabled - -case $host_os in - darwin* | hpux* | linux* | osf* | solaris*) - ax_pthread_check_macro="_REENTRANT" - ;; - - aix*) - ax_pthread_check_macro="_THREAD_SAFE" - ;; - - *) - ax_pthread_check_macro="--" - ;; -esac -AS_IF([test "x$ax_pthread_check_macro" = "x--"], - [ax_pthread_check_cond=0], - [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) - -# Are we compiling with Clang? - -AC_CACHE_CHECK([whether $CC is Clang], - [ax_cv_PTHREAD_CLANG], - [ax_cv_PTHREAD_CLANG=no - # Note that Autoconf sets GCC=yes for Clang as well as GCC - if test "x$GCC" = "xyes"; then - AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], - [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ -# if defined(__clang__) && defined(__llvm__) - AX_PTHREAD_CC_IS_CLANG -# endif - ], - [ax_cv_PTHREAD_CLANG=yes]) - fi - ]) -ax_pthread_clang="$ax_cv_PTHREAD_CLANG" - -ax_pthread_clang_warning=no - -# Clang needs special handling, because older versions handle the -pthread -# option in a rather... idiosyncratic way - -if test "x$ax_pthread_clang" = "xyes"; then - - # Clang takes -pthread; it has never supported any other flag - - # (Note 1: This will need to be revisited if a system that Clang - # supports has POSIX threads in a separate library. This tends not - # to be the way of modern systems, but it's conceivable.) - - # (Note 2: On some systems, notably Darwin, -pthread is not needed - # to get POSIX threads support; the API is always present and - # active. We could reasonably leave PTHREAD_CFLAGS empty. But - # -pthread does define _REENTRANT, and while the Darwin headers - # ignore this macro, third-party headers might not.) - - PTHREAD_CFLAGS="-pthread" - PTHREAD_LIBS= - - ax_pthread_ok=yes - - # However, older versions of Clang make a point of warning the user - # that, in an invocation where only linking and no compilation is - # taking place, the -pthread option has no effect ("argument unused - # during compilation"). They expect -pthread to be passed in only - # when source code is being compiled. - # - # Problem is, this is at odds with the way Automake and most other - # C build frameworks function, which is that the same flags used in - # compilation (CFLAGS) are also used in linking. Many systems - # supported by AX_PTHREAD require exactly this for POSIX threads - # support, and in fact it is often not straightforward to specify a - # flag that is used only in the compilation phase and not in - # linking. Such a scenario is extremely rare in practice. - # - # Even though use of the -pthread flag in linking would only print - # a warning, this can be a nuisance for well-run software projects - # that build with -Werror. So if the active version of Clang has - # this misfeature, we search for an option to squash it. - - AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], - [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], - [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown - # Create an alternate version of $ac_link that compiles and - # links in two steps (.c -> .o, .o -> exe) instead of one - # (.c -> exe), because the warning occurs only in the second - # step - ax_pthread_save_ac_link="$ac_link" - ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' - ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"` - ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" - ax_pthread_save_CFLAGS="$CFLAGS" - for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do - AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) - CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" - ac_link="$ax_pthread_save_ac_link" - AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], - [ac_link="$ax_pthread_2step_ac_link" - AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], - [break]) - ]) - done - ac_link="$ax_pthread_save_ac_link" - CFLAGS="$ax_pthread_save_CFLAGS" - AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) - ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" - ]) - - case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in - no | unknown) ;; - *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; - esac - -fi # $ax_pthread_clang = yes - -if test "x$ax_pthread_ok" = "xno"; then -for ax_pthread_try_flag in $ax_pthread_flags; do - - case $ax_pthread_try_flag in - none) - AC_MSG_CHECKING([whether pthreads work without any flags]) - ;; - - -mt,pthread) - AC_MSG_CHECKING([whether pthreads work with -mt -lpthread]) - PTHREAD_CFLAGS="-mt" - PTHREAD_LIBS="-lpthread" - ;; - - -*) - AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) - PTHREAD_CFLAGS="$ax_pthread_try_flag" - ;; - - pthread-config) - AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) - AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) - PTHREAD_CFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; - - *) - AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) - PTHREAD_LIBS="-l$ax_pthread_try_flag" - ;; - esac - - ax_pthread_save_CFLAGS="$CFLAGS" - ax_pthread_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include -# if $ax_pthread_check_cond -# error "$ax_pthread_check_macro must be defined" -# endif - static void routine(void *a) { a = 0; } - static void *start_routine(void *a) { return a; }], - [pthread_t th; pthread_attr_t attr; - pthread_create(&th, 0, start_routine, 0); - pthread_join(th, 0); - pthread_attr_init(&attr); - pthread_cleanup_push(routine, 0); - pthread_cleanup_pop(0) /* ; */])], - [ax_pthread_ok=yes], - []) - - CFLAGS="$ax_pthread_save_CFLAGS" - LIBS="$ax_pthread_save_LIBS" - - AC_MSG_RESULT([$ax_pthread_ok]) - AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) - - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done -fi - -# Various other checks: -if test "x$ax_pthread_ok" = "xyes"; then - ax_pthread_save_CFLAGS="$CFLAGS" - ax_pthread_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - - # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - AC_CACHE_CHECK([for joinable pthread attribute], - [ax_cv_PTHREAD_JOINABLE_ATTR], - [ax_cv_PTHREAD_JOINABLE_ATTR=unknown - for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [int attr = $ax_pthread_attr; return attr /* ; */])], - [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], - []) - done - ]) - AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ - test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ - test "x$ax_pthread_joinable_attr_defined" != "xyes"], - [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], - [$ax_cv_PTHREAD_JOINABLE_ATTR], - [Define to necessary symbol if this constant - uses a non-standard name on your system.]) - ax_pthread_joinable_attr_defined=yes - ]) - - AC_CACHE_CHECK([whether more special flags are required for pthreads], - [ax_cv_PTHREAD_SPECIAL_FLAGS], - [ax_cv_PTHREAD_SPECIAL_FLAGS=no - case $host_os in - solaris*) - ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" - ;; - esac - ]) - AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ - test "x$ax_pthread_special_flags_added" != "xyes"], - [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" - ax_pthread_special_flags_added=yes]) - - AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], - [ax_cv_PTHREAD_PRIO_INHERIT], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[int i = PTHREAD_PRIO_INHERIT;]])], - [ax_cv_PTHREAD_PRIO_INHERIT=yes], - [ax_cv_PTHREAD_PRIO_INHERIT=no]) - ]) - AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ - test "x$ax_pthread_prio_inherit_defined" != "xyes"], - [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) - ax_pthread_prio_inherit_defined=yes - ]) - - CFLAGS="$ax_pthread_save_CFLAGS" - LIBS="$ax_pthread_save_LIBS" - - # More AIX lossage: compile with *_r variant - if test "x$GCC" != "xyes"; then - case $host_os in - aix*) - AS_CASE(["x/$CC"], - [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], - [#handle absolute path differently from PATH based program lookup - AS_CASE(["x$CC"], - [x/*], - [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], - [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) - ;; - esac - fi -fi - -test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" - -AC_SUBST([PTHREAD_LIBS]) -AC_SUBST([PTHREAD_CFLAGS]) -AC_SUBST([PTHREAD_CC]) - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test "x$ax_pthread_ok" = "xyes"; then - ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) - : -else - ax_pthread_ok=no - $2 -fi -AC_LANG_POP -])dnl AX_PTHREAD diff --git a/libsodium-1.0.18-RELEASE/m4/ax_tls.m4 b/libsodium-1.0.18-RELEASE/m4/ax_tls.m4 deleted file mode 100644 index 51edee8..0000000 --- a/libsodium-1.0.18-RELEASE/m4/ax_tls.m4 +++ /dev/null @@ -1,74 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_tls.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_TLS([action-if-found], [action-if-not-found]) -# -# DESCRIPTION -# -# Provides a test for the compiler support of thread local storage (TLS) -# extensions. Defines TLS if it is found. Currently knows about C++11, -# GCC/ICC, and MSVC. I think SunPro uses the same as GCC, and Borland -# apparently supports either. -# -# LICENSE -# -# Copyright (c) 2008 Alan Woodland -# Copyright (c) 2010 Diego Elio Petteno` -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 14 - -AC_DEFUN([AX_TLS], [ - AC_MSG_CHECKING([for thread local storage (TLS) class]) - AC_CACHE_VAL([ac_cv_tls], - [for ax_tls_keyword in thread_local _Thread_local __thread '__declspec(thread)' none; do - AS_CASE([$ax_tls_keyword], - [none], [ac_cv_tls=none ; break], - [AC_TRY_COMPILE( - [#include - static void - foo(void) { - static ] $ax_tls_keyword [ int bar; - exit(1); - }], - [], - [ac_cv_tls=$ax_tls_keyword ; break], - ac_cv_tls=none - )]) - done - ]) - AC_MSG_RESULT([$ac_cv_tls]) - - AS_IF([test "$ac_cv_tls" != "none"], - [AC_DEFINE_UNQUOTED([TLS],[$ac_cv_tls],[If the compiler supports a TLS storage class define it to that here]) - m4_ifnblank([$1],[$1])], - [m4_ifnblank([$2],[$2])]) -]) diff --git a/libsodium-1.0.18-RELEASE/m4/ax_valgrind_check.m4 b/libsodium-1.0.18-RELEASE/m4/ax_valgrind_check.m4 deleted file mode 100644 index 876f887..0000000 --- a/libsodium-1.0.18-RELEASE/m4/ax_valgrind_check.m4 +++ /dev/null @@ -1,241 +0,0 @@ -# =========================================================================== -# https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_VALGRIND_DFLT(memcheck|helgrind|drd|sgcheck, on|off) -# AX_VALGRIND_CHECK() -# -# DESCRIPTION -# -# AX_VALGRIND_CHECK checks whether Valgrind is present and, if so, allows -# running `make check` under a variety of Valgrind tools to check for -# memory and threading errors. -# -# Defines VALGRIND_CHECK_RULES which should be substituted in your -# Makefile; and $enable_valgrind which can be used in subsequent configure -# output. VALGRIND_ENABLED is defined and substituted, and corresponds to -# the value of the --enable-valgrind option, which defaults to being -# enabled if Valgrind is installed and disabled otherwise. Individual -# Valgrind tools can be disabled via --disable-valgrind-, the -# default is configurable via the AX_VALGRIND_DFLT command or is to use -# all commands not disabled via AX_VALGRIND_DFLT. All AX_VALGRIND_DFLT -# calls must be made before the call to AX_VALGRIND_CHECK. -# -# If unit tests are written using a shell script and automake's -# LOG_COMPILER system, the $(VALGRIND) variable can be used within the -# shell scripts to enable Valgrind, as described here: -# -# https://www.gnu.org/software/gnulib/manual/html_node/Running-self_002dtests-under-valgrind.html -# -# Usage example: -# -# configure.ac: -# -# AX_VALGRIND_DFLT([sgcheck], [off]) -# AX_VALGRIND_CHECK -# -# Makefile.am: -# -# @VALGRIND_CHECK_RULES@ -# VALGRIND_SUPPRESSIONS_FILES = my-project.supp -# EXTRA_DIST = my-project.supp -# -# This results in a "check-valgrind" rule being added to any Makefile.am -# which includes "@VALGRIND_CHECK_RULES@" (assuming the module has been -# configured with --enable-valgrind). Running `make check-valgrind` in -# that directory will run the module's test suite (`make check`) once for -# each of the available Valgrind tools (out of memcheck, helgrind and drd) -# while the sgcheck will be skipped unless enabled again on the -# commandline with --enable-valgrind-sgcheck. The results for each check -# will be output to test-suite-$toolname.log. The target will succeed if -# there are zero errors and fail otherwise. -# -# Alternatively, a "check-valgrind-$TOOL" rule will be added, for $TOOL in -# memcheck, helgrind, drd and sgcheck. These are useful because often only -# some of those tools can be ran cleanly on a codebase. -# -# The macro supports running with and without libtool. -# -# LICENSE -# -# Copyright (c) 2014, 2015, 2016 Philip Withnall -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 15 - -dnl Configured tools -m4_define([valgrind_tool_list], [[memcheck], [helgrind], [drd], [sgcheck]]) -m4_set_add_all([valgrind_exp_tool_set], [sgcheck]) -m4_foreach([vgtool], [valgrind_tool_list], - [m4_define([en_dflt_valgrind_]vgtool, [on])]) - -AC_DEFUN([AX_VALGRIND_DFLT],[ - m4_define([en_dflt_valgrind_$1], [$2]) -])dnl - -AC_DEFUN([AX_VALGRIND_CHECK],[ - dnl Check for --enable-valgrind - AC_ARG_ENABLE([valgrind], - [AS_HELP_STRING([--enable-valgrind], [Whether to enable Valgrind on the unit tests (requires GNU make)])], - [enable_valgrind=$enableval],[enable_valgrind=no]) - - AS_IF([test "$enable_valgrind" != "no"],[ - # Check for Valgrind. - AC_CHECK_PROG([VALGRIND],[valgrind],[valgrind]) - AS_IF([test "$VALGRIND" = ""],[ - AS_IF([test "$enable_valgrind" = "yes"],[ - AC_MSG_ERROR([Could not find valgrind; either install it or reconfigure with --disable-valgrind]) - ],[ - enable_valgrind=no - ]) - ],[ - enable_valgrind=yes - ]) - ]) - - AM_CONDITIONAL([VALGRIND_ENABLED],[test "$enable_valgrind" = "yes"]) - AC_SUBST([VALGRIND_ENABLED],[$enable_valgrind]) - - # Check for Valgrind tools we care about. - [valgrind_enabled_tools=] - m4_foreach([vgtool],[valgrind_tool_list],[ - AC_ARG_ENABLE([valgrind-]vgtool, - m4_if(m4_defn([en_dflt_valgrind_]vgtool),[off],dnl -[AS_HELP_STRING([--enable-valgrind-]vgtool, [Whether to use ]vgtool[ during the Valgrind tests])],dnl -[AS_HELP_STRING([--disable-valgrind-]vgtool, [Whether to skip ]vgtool[ during the Valgrind tests])]), - [enable_valgrind_]vgtool[=$enableval], - [enable_valgrind_]vgtool[=]) - AS_IF([test "$enable_valgrind" = "no"],[ - enable_valgrind_]vgtool[=no], - [test "$enable_valgrind_]vgtool[" ]dnl -m4_if(m4_defn([en_dflt_valgrind_]vgtool), [off], [= "yes"], [!= "no"]),[ - AC_CACHE_CHECK([for Valgrind tool ]vgtool, - [ax_cv_valgrind_tool_]vgtool,[ - ax_cv_valgrind_tool_]vgtool[=no - m4_set_contains([valgrind_exp_tool_set],vgtool, - [m4_define([vgtoolx],[exp-]vgtool)], - [m4_define([vgtoolx],vgtool)]) - AS_IF([`$VALGRIND --tool=]vgtoolx[ --help >/dev/null 2>&1`],[ - ax_cv_valgrind_tool_]vgtool[=yes - ]) - ]) - AS_IF([test "$ax_cv_valgrind_tool_]vgtool[" = "no"],[ - AS_IF([test "$enable_valgrind_]vgtool[" = "yes"],[ - AC_MSG_ERROR([Valgrind does not support ]vgtool[; reconfigure with --disable-valgrind-]vgtool) - ],[ - enable_valgrind_]vgtool[=no - ]) - ],[ - enable_valgrind_]vgtool[=yes - ]) - ]) - AS_IF([test "$enable_valgrind_]vgtool[" = "yes"],[ - valgrind_enabled_tools="$valgrind_enabled_tools ]m4_bpatsubst(vgtool,[^exp-])[" - ]) - AC_SUBST([ENABLE_VALGRIND_]vgtool,[$enable_valgrind_]vgtool) - ]) - AC_SUBST([valgrind_tools],["]m4_join([ ], valgrind_tool_list)["]) - AC_SUBST([valgrind_enabled_tools],[$valgrind_enabled_tools]) - -[VALGRIND_CHECK_RULES=' -# Valgrind check -# -# Optional: -# - VALGRIND_SUPPRESSIONS_FILES: Space-separated list of Valgrind suppressions -# files to load. (Default: empty) -# - VALGRIND_FLAGS: General flags to pass to all Valgrind tools. -# (Default: --num-callers=30) -# - VALGRIND_$toolname_FLAGS: Flags to pass to Valgrind $toolname (one of: -# memcheck, helgrind, drd, sgcheck). (Default: various) - -# Optional variables -VALGRIND_SUPPRESSIONS ?= $(addprefix --suppressions=,$(VALGRIND_SUPPRESSIONS_FILES)) -VALGRIND_FLAGS ?= --num-callers=30 -VALGRIND_memcheck_FLAGS ?= --leak-check=full --show-reachable=no -VALGRIND_helgrind_FLAGS ?= --history-level=approx -VALGRIND_drd_FLAGS ?= -VALGRIND_sgcheck_FLAGS ?= - -# Internal use -valgrind_log_files = $(addprefix test-suite-,$(addsuffix .log,$(valgrind_tools))) - -valgrind_memcheck_flags = --tool=memcheck $(VALGRIND_memcheck_FLAGS) -valgrind_helgrind_flags = --tool=helgrind $(VALGRIND_helgrind_FLAGS) -valgrind_drd_flags = --tool=drd $(VALGRIND_drd_FLAGS) -valgrind_sgcheck_flags = --tool=exp-sgcheck $(VALGRIND_sgcheck_FLAGS) - -valgrind_quiet = $(valgrind_quiet_$(V)) -valgrind_quiet_ = $(valgrind_quiet_$(AM_DEFAULT_VERBOSITY)) -valgrind_quiet_0 = --quiet -valgrind_v_use = $(valgrind_v_use_$(V)) -valgrind_v_use_ = $(valgrind_v_use_$(AM_DEFAULT_VERBOSITY)) -valgrind_v_use_0 = @echo " USE " $(patsubst check-valgrind-%,%,$''@):; - -# Support running with and without libtool. -ifneq ($(LIBTOOL),) -valgrind_lt = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=execute -else -valgrind_lt = -endif - -# Use recursive makes in order to ignore errors during check -check-valgrind: -ifeq ($(VALGRIND_ENABLED),yes) - $(A''M_V_at)$(MAKE) $(AM_MAKEFLAGS) -k \ - $(foreach tool, $(valgrind_enabled_tools), check-valgrind-$(tool)) -else - @echo "Need to use GNU make and reconfigure with --enable-valgrind" -endif - -# Valgrind running -VALGRIND_TESTS_ENVIRONMENT = \ - $(TESTS_ENVIRONMENT) \ - env VALGRIND=$(VALGRIND) \ - G_SLICE=always-malloc,debug-blocks \ - G_DEBUG=fatal-warnings,fatal-criticals,gc-friendly - -VALGRIND_LOG_COMPILER = \ - $(valgrind_lt) \ - $(VALGRIND) $(VALGRIND_SUPPRESSIONS) --error-exitcode=1 $(VALGRIND_FLAGS) - -define valgrind_tool_rule = -check-valgrind-$(1): -ifeq ($$(VALGRIND_ENABLED)-$$(ENABLE_VALGRIND_$(1)),yes-yes) - $$(valgrind_v_use)$$(MAKE) check-TESTS \ - TESTS_ENVIRONMENT="$$(VALGRIND_TESTS_ENVIRONMENT)" \ - LOG_COMPILER="$$(VALGRIND_LOG_COMPILER)" \ - LOG_FLAGS="$$(valgrind_$(1)_flags)" \ - TEST_SUITE_LOG=test-suite-$(1).log -else ifeq ($$(VALGRIND_ENABLED),yes) - @echo "Need to reconfigure with --enable-valgrind-$(1)" -else - @echo "Need to reconfigure with --enable-valgrind" -endif -endef - -$(foreach tool,$(valgrind_tools),$(eval $(call valgrind_tool_rule,$(tool)))) - -A''M_DISTCHECK_CONFIGURE_FLAGS ?= -A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-valgrind - -MOSTLYCLEANFILES ?= -MOSTLYCLEANFILES += $(valgrind_log_files) - -.PHONY: check-valgrind $(add-prefix check-valgrind-,$(valgrind_tools)) -'] - - AS_IF([test "$enable_valgrind" != "yes"], [ - VALGRIND_CHECK_RULES=' -check-valgrind: - @echo "Need to use GNU make and reconfigure with --enable-valgrind"' - ]) - - AC_SUBST([VALGRIND_CHECK_RULES]) - m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([VALGRIND_CHECK_RULES])]) -]) diff --git a/libsodium-1.0.18-RELEASE/m4/ld-output-def.m4 b/libsodium-1.0.18-RELEASE/m4/ld-output-def.m4 deleted file mode 100644 index 59895bc..0000000 --- a/libsodium-1.0.18-RELEASE/m4/ld-output-def.m4 +++ /dev/null @@ -1,29 +0,0 @@ -# ld-output-def.m4 serial 2 -dnl Copyright (C) 2008-2013 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson - -# gl_LD_OUTPUT_DEF() -# ------------- -# Check if linker supports -Wl,--output-def and define automake -# conditional HAVE_LD_OUTPUT_DEF if it is. -AC_DEFUN([gl_LD_OUTPUT_DEF], -[ - AC_CACHE_CHECK([if gcc/ld supports -Wl,--output-def], - [gl_cv_ld_output_def], - [if test "$enable_shared" = no; then - gl_cv_ld_output_def="not needed, shared libraries are disabled" - else - gl_ldflags_save=$LDFLAGS - LDFLAGS="-Wl,--output-def,conftest.def" - AC_LINK_IFELSE([AC_LANG_PROGRAM([])], - [gl_cv_ld_output_def=yes], - [gl_cv_ld_output_def=no]) - rm -f conftest.def - LDFLAGS="$gl_ldflags_save" - fi]) - AM_CONDITIONAL([HAVE_LD_OUTPUT_DEF], test "x$gl_cv_ld_output_def" = "xyes") -]) diff --git a/libsodium-1.0.18-RELEASE/msvc-scripts/Makefile.am b/libsodium-1.0.18-RELEASE/msvc-scripts/Makefile.am deleted file mode 100644 index 1648192..0000000 --- a/libsodium-1.0.18-RELEASE/msvc-scripts/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -EXTRA_DIST = \ - process.bat \ - rep.vbs \ - sodium.props diff --git a/libsodium-1.0.18-RELEASE/msvc-scripts/process.bat b/libsodium-1.0.18-RELEASE/msvc-scripts/process.bat deleted file mode 100644 index 291679e..0000000 --- a/libsodium-1.0.18-RELEASE/msvc-scripts/process.bat +++ /dev/null @@ -1,5 +0,0 @@ -cscript msvc-scripts/rep.vbs //Nologo s/@VERSION@/1.0.18/ < src\libsodium\include\sodium\version.h.in > tmp -cscript msvc-scripts/rep.vbs //Nologo s/@SODIUM_LIBRARY_VERSION_MAJOR@/10/ < tmp > tmp2 -cscript msvc-scripts/rep.vbs //Nologo s/@SODIUM_LIBRARY_VERSION_MINOR@/3/ < tmp2 > tmp3 -cscript msvc-scripts/rep.vbs //Nologo s/@SODIUM_LIBRARY_MINIMAL_DEF@// < tmp3 > src\libsodium\include\sodium\version.h -del tmp tmp2 tmp3 diff --git a/libsodium-1.0.18-RELEASE/msvc-scripts/rep.vbs b/libsodium-1.0.18-RELEASE/msvc-scripts/rep.vbs deleted file mode 100644 index 3611f6c..0000000 --- a/libsodium-1.0.18-RELEASE/msvc-scripts/rep.vbs +++ /dev/null @@ -1,12 +0,0 @@ -Dim pat, patparts, rxp, inp -pat = WScript.Arguments(0) -patparts = Split(pat, "/") -Set rxp = new RegExp -rxp.Global = True -rxp.Multiline = False -rxp.Pattern = patparts(1) -Do While Not WScript.StdIn.AtEndOfStream - inp = WScript.StdIn.ReadLine() - WScript.Echo rxp.Replace(inp, patparts(2)) -Loop - diff --git a/libsodium-1.0.18-RELEASE/msvc-scripts/sodium.props b/libsodium-1.0.18-RELEASE/msvc-scripts/sodium.props deleted file mode 100644 index 41e1e47..0000000 --- a/libsodium-1.0.18-RELEASE/msvc-scripts/sodium.props +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - true - UNICODE;_UNICODE;%(PreprocessorDefinitions) - NATIVE_LITTLE_ENDIAN=1;%(PreprocessorDefinitions) - inline=__inline;%(PreprocessorDefinitions) - - - "$(SolutionDir)/msvc-scripts/process.bat" - - - Process .in files - - - "$(SolutionDir)/test/default/wintest.bat" $(Configuration) $(Platform) - - - Run the test suite - - - - diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/.gitignore b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/.gitignore deleted file mode 100644 index 827f395..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -build -cache -temp -Makefile -!recipes/* diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/README.md b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/README.md deleted file mode 100644 index a9016b6..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/README.md +++ /dev/null @@ -1,59 +0,0 @@ -This directory contains scripts and files to package libsodium for .NET Core. - -*Note:* The NuGet package is intended for the implementation of language -bindings such as [NSec](https://github.com/ektrah/nsec). It does not provide a -.NET API itself. - -In .NET Core, it is customary to provide pre-compiled binaries for all platforms -as NuGet packages. The purpose of the `prepare.py` script in this directory is -to generate a `Makefile` that downloads and builds libsodium binaries for a -number of platforms and assembles them in a NuGet package that can be uploaded -to [nuget.org](https://nuget.org/). - -* For Windows, binaries are obtained from - [download.libsodium.org](https://download.libsodium.org/libsodium/releases/). -* For macOS, binaries are extracted from the - [Homebrew libsodium bottle](https://bintray.com/homebrew/bottles/libsodium). -* For Linux, libsodium is compiled in Docker containers. - -See `prepare.py` for the complete list of supported platforms. - -The metadata for the NuGet package is located in `libsodium.props`. - - -**Versioning** - -Version numbers for the packages for .NET Core consist of three components: - -* *libsodium version* - The libsodium version is in the format `X.Y.Z`. -* *package revision* - It may be necessary to release more than one package for a libsodium version, - e.g., when adding support for a new platform or if a release contains a broken - binary. In this case, a package revision number is added as a fourth part to - the libsodium version, starting at `1`. For example, `1.0.18` is the initial - release of the package for libsodium 1.0.18 and `1.0.18.5` is the fifth - revision (sixth release) of that package. -* *pre-release label* - If a package is a pre-release, a label is appended to the version number in - `-preview-##` format where `##` is the number of the pre-release, starting at - `01`. For example, `1.0.18-preview-01` is the first pre-release of the package - for libsodium 1.0.18 and `1.0.18.5-preview-02` the second pre-release of the - fifth revision of the package for libsodium 1.0.18. - - -**Making a release** - -1. Update any existing Docker images. -2. Run `python3 prepare.py ` to generate the `Makefile`, where - `` is the package version number in the format described above. -3. Take a look at the generated `Makefile`. It uses `sudo` a few times. -4. Run `make` to download and build the binaries and create the NuGet package. - You may need to install `docker`, `make`, `curl`, `tar` and `unzip` first. -5. Grab a cup of coffee. Downloading the Docker images and compiling the Linux - binaries takes a while. When done, the NuGet package is output as a `.nupkg` - file in the `build` directory. -6. Run `make test` to perform a quick test of the NuGet package. Verify that - everything else in the `.nupkg` file is in place. -7. Publish the release by uploading the `.nupkg` file to - [nuget.org](https://nuget.org/). diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/libsodium.props b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/libsodium.props deleted file mode 100644 index 32a1c0f..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/libsodium.props +++ /dev/null @@ -1,36 +0,0 @@ - - - - - netstandard1.1 - true - true - false - $(MSBuildProjectDirectory) - $(MSBuildProjectFullPath) - - - - libsodium - - Frank Denis - Internal implementation package not meant for direct consumption. Please do not reference directly. - © 2013-2019 Frank Denis - true - https://raw.githubusercontent.com/jedisct1/libsodium/master/LICENSE - https://libsodium.org/ - 4.0 - - - - - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/prepare.py b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/prepare.py deleted file mode 100644 index 7a4883f..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/prepare.py +++ /dev/null @@ -1,302 +0,0 @@ -#!/usr/bin/env python3 - -import os.path -import re -import sys - -WINDOWS = [ - # --------------------- ----------------- # - # Runtime ID Platform # - # --------------------- ----------------- # - ("win-x64", "x64"), - ("win-x86", "Win32"), - # --------------------- ----------------- # -] - -MACOS = [ - # --------------------- ----------------- # - # Runtime ID Codename # - # --------------------- ----------------- # - ("osx-x64", "mojave"), - # --------------------- ----------------- # -] - -LINUX = [ - # --------------------- ----------------- # - # Runtime ID Docker Image # - # --------------------- ----------------- # - ("linux-x64", "debian:stretch"), - # --------------------- ----------------- # -] - -EXTRAS = ["LICENSE", "AUTHORS", "ChangeLog"] - -PROPSFILE = "libsodium.props" -MAKEFILE = "Makefile" -BUILDDIR = "build" -CACHEDIR = "cache" -TEMPDIR = "temp" - -PACKAGE = "libsodium" -LIBRARY = "libsodium" - -DOCKER = "sudo docker" - - -class Version: - def __init__(self, libsodium_version, package_version): - self.libsodium_version = libsodium_version - self.package_version = package_version - - self.builddir = os.path.join(BUILDDIR, libsodium_version) - self.tempdir = os.path.join(TEMPDIR, libsodium_version) - self.projfile = os.path.join( - self.builddir, "{0}.{1}.pkgproj".format(PACKAGE, package_version) - ) - self.propsfile = os.path.join(self.builddir, "{0}.props".format(PACKAGE)) - self.pkgfile = os.path.join( - BUILDDIR, "{0}.{1}.nupkg".format(PACKAGE, package_version) - ) - - -class WindowsItem: - def __init__(self, version, rid, platform): - self.url = "https://download.libsodium.org/libsodium/releases/libsodium-{0}-stable-msvc.zip".format( - version.libsodium_version - ) - self.cachefile = os.path.join(CACHEDIR, re.sub(r"[^A-Za-z0-9.]", "-", self.url)) - self.packfile = os.path.join( - version.builddir, "runtimes", rid, "native", LIBRARY + ".dll" - ) - self.itemfile = "{0}/Release/v140/dynamic/libsodium.dll".format(platform) - self.tempdir = os.path.join(version.tempdir, rid) - self.tempfile = os.path.join(self.tempdir, os.path.normpath(self.itemfile)) - - def make(self, f): - f.write("\n") - f.write("{0}: {1}\n".format(self.packfile, self.tempfile)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write("\tcp -f $< $@\n") - f.write("\n") - f.write("{0}: {1}\n".format(self.tempfile, self.cachefile)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write( - "\tcd {0} && unzip -q -DD -o {1} '{2}'\n".format( - self.tempdir, - os.path.relpath(self.cachefile, self.tempdir), - self.itemfile, - ) - ) - - -class MacOSItem: - def __init__(self, version, rid, codename): - self.url = "https://bintray.com/homebrew/bottles/download_file?file_path=libsodium-{0}.{1}.bottle.tar.gz".format( - version.libsodium_version, codename - ) - self.cachefile = os.path.join(CACHEDIR, re.sub(r"[^A-Za-z0-9.]", "-", self.url)) - self.packfile = os.path.join( - version.builddir, "runtimes", rid, "native", LIBRARY + ".dylib" - ) - self.itemfile = "libsodium/{0}/lib/libsodium.dylib".format( - version.libsodium_version - ) - self.tempdir = os.path.join(version.tempdir, rid) - self.tempfile = os.path.join(self.tempdir, os.path.normpath(self.itemfile)) - - def make(self, f): - f.write("\n") - f.write("{0}: {1}\n".format(self.packfile, self.tempfile)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write("\tcp -f $< $@\n") - f.write("\n") - f.write("{0}: {1}\n".format(self.tempfile, self.cachefile)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write( - "\tcd {0} && tar xzmf {1} '{2}'\n".format( - self.tempdir, - os.path.relpath(self.cachefile, self.tempdir), - os.path.dirname(self.itemfile), - ) - ) - - -class LinuxItem: - def __init__(self, version, rid, docker_image): - self.url = "https://download.libsodium.org/libsodium/releases/libsodium-{0}.tar.gz".format( - version.libsodium_version - ) - self.cachefile = os.path.join(CACHEDIR, re.sub(r"[^A-Za-z0-9.]", "-", self.url)) - self.packfile = os.path.join( - version.builddir, "runtimes", rid, "native", LIBRARY + ".so" - ) - self.tempdir = os.path.join(version.tempdir, rid) - self.tempfile = os.path.join(self.tempdir, "libsodium.so") - self.docker_image = docker_image - self.recipe = rid - - def make(self, f): - recipe = self.recipe - while not os.path.exists(os.path.join("recipes", recipe)): - m = re.fullmatch(r"([^.-]+)((([.][^.-]+)*)[.][^.-]+)?([-].*)?", recipe) - if m.group(5) is None: - recipe = "build" - break - elif m.group(2) is None: - recipe = m.group(1) - else: - recipe = m.group(1) + m.group(3) + m.group(5) - - f.write("\n") - f.write("{0}: {1}\n".format(self.packfile, self.tempfile)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write("\tcp -f $< $@\n") - f.write("\n") - f.write("{0}: {1}\n".format(self.tempfile, self.cachefile)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write( - "\t{0} run --rm ".format(DOCKER) - + "-v $(abspath recipes):/io/recipes " - + "-v $(abspath $<):/io/libsodium.tar.gz " - + "-v $(abspath $(dir $@)):/io/output " - + "{0} sh -x -e /io/recipes/{1}\n".format(self.docker_image, recipe) - ) - - -class ExtraItem: - def __init__(self, version, filename): - self.url = "https://download.libsodium.org/libsodium/releases/libsodium-{0}.tar.gz".format( - version.libsodium_version - ) - self.cachefile = os.path.join(CACHEDIR, re.sub(r"[^A-Za-z0-9.]", "-", self.url)) - self.packfile = os.path.join(version.builddir, filename) - self.itemfile = "libsodium-{0}/{1}".format(version.libsodium_version, filename) - self.tempdir = os.path.join(version.tempdir, "extras") - self.tempfile = os.path.join(self.tempdir, os.path.normpath(self.itemfile)) - - def make(self, f): - f.write("\n") - f.write("{0}: {1}\n".format(self.packfile, self.tempfile)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write("\tcp -f $< $@\n") - f.write("\n") - f.write("{0}: {1}\n".format(self.tempfile, self.cachefile)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write( - "\tcd {0} && tar xzmf {1} '{2}'\n".format( - self.tempdir, - os.path.relpath(self.cachefile, self.tempdir), - self.itemfile, - ) - ) - - -def main(args): - m = ( - re.fullmatch(r"((\d+\.\d+\.\d+)(\.\d+)?)(?:-(\w+(?:[_.-]\w+)*))?", args[1]) - if len(args) == 2 - else None - ) - - if m is None: - print("Usage:") - print(" python3 prepare.py ") - print() - print("Examples:") - print(" python3 prepare.py 1.0.18-preview-01") - print(" python3 prepare.py 1.0.18-preview-02") - print(" python3 prepare.py 1.0.18-preview-03") - print(" python3 prepare.py 1.0.18") - print(" python3 prepare.py 1.0.18.1-preview-01") - print(" python3 prepare.py 1.0.18.1") - print(" python3 prepare.py 1.0.18.2") - return 1 - - version = Version(m.group(2), m.group(0)) - - items = ( - [WindowsItem(version, rid, platform) for (rid, platform) in WINDOWS] - + [MacOSItem(version, rid, codename) for (rid, codename) in MACOS] - + [LinuxItem(version, rid, docker_image) for (rid, docker_image) in LINUX] - + [ExtraItem(version, filename) for filename in EXTRAS] - ) - - downloads = {item.cachefile: item.url for item in items} - - with open(MAKEFILE, "w") as f: - f.write("all: {0}\n".format(version.pkgfile)) - - for download in sorted(downloads): - f.write("\n") - f.write("{0}:\n".format(download)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write("\tcurl -f#Lo $@ '{0}'\n".format(downloads[download])) - - for item in items: - item.make(f) - - f.write("\n") - f.write("{0}: {1}\n".format(version.propsfile, PROPSFILE)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write("\tcp -f $< $@\n") - - f.write("\n") - f.write("{0}: {1}\n".format(version.projfile, version.propsfile)) - f.write("\t@mkdir -p $(dir $@)\n") - f.write( - "\techo '" - + '' - + ''.format( - os.path.relpath(version.propsfile, os.path.dirname(version.projfile)) - ) - + "" - + "{0}".format(version.package_version) - + "" - + "' > $@\n" - ) - - f.write("\n") - f.write("{0}:".format(version.pkgfile)) - f.write(" \\\n\t\t{0}".format(version.projfile)) - f.write(" \\\n\t\t{0}".format(version.propsfile)) - for item in items: - f.write(" \\\n\t\t{0}".format(item.packfile)) - f.write("\n") - f.write("\t@mkdir -p $(dir $@)\n") - f.write( - "\t{0} run --rm ".format(DOCKER) - + "-v $(abspath recipes):/io/recipes " - + "-v $(abspath $(dir $<)):/io/input " - + "-v $(abspath $(dir $@)):/io/output " - + "{0} sh -x -e /io/recipes/{1} {2}\n".format( - "microsoft/dotnet:2.0-sdk", - "pack", - os.path.relpath(version.projfile, version.builddir), - ) - ) - - f.write("\n") - f.write("test: {0}\n".format(version.pkgfile)) - f.write( - "\t{0} run --rm ".format(DOCKER) - + "-v $(abspath recipes):/io/recipes " - + "-v $(abspath $(dir $<)):/io/packages " - + '{0} sh -x -e /io/recipes/{1} "{2}"\n'.format( - "microsoft/dotnet:2.0-sdk", "test", version.package_version - ) - ) - - print( - "prepared", - MAKEFILE, - "to make", - version.pkgfile, - "for libsodium", - version.libsodium_version, - ) - return 0 - - -if __name__ == "__main__": - sys.exit(main(sys.argv)) - diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/alpine-x64 b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/alpine-x64 deleted file mode 100644 index c0eb418..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/alpine-x64 +++ /dev/null @@ -1,3 +0,0 @@ -apk add --update alpine-sdk - -. $(dirname $0)/build diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/build b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/build deleted file mode 100644 index a5ffe27..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/build +++ /dev/null @@ -1,9 +0,0 @@ -cd ~ -tar xzf /io/libsodium.tar.gz -cd libsodium-* -./configure -make -make check -make install -strip --strip-all /usr/local/lib/libsodium.so -cp /usr/local/lib/libsodium.so /io/output diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/centos-x64 b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/centos-x64 deleted file mode 100644 index 04db18b..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/centos-x64 +++ /dev/null @@ -1,3 +0,0 @@ -yum install -y binutils gcc make tar - -. $(dirname $0)/build diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/debian-x64 b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/debian-x64 deleted file mode 100644 index e22c9ef..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/debian-x64 +++ /dev/null @@ -1,4 +0,0 @@ -apt-get update -apt-get install -y --no-install-recommends build-essential - -. $(dirname $0)/build diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/fedora-x64 b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/fedora-x64 deleted file mode 100644 index aebdb40..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/fedora-x64 +++ /dev/null @@ -1,3 +0,0 @@ -dnf install -y binutils gcc make tar - -. $(dirname $0)/build diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/linux-x64 b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/linux-x64 deleted file mode 100644 index e22c9ef..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/linux-x64 +++ /dev/null @@ -1,4 +0,0 @@ -apt-get update -apt-get install -y --no-install-recommends build-essential - -. $(dirname $0)/build diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/opensuse-x64 b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/opensuse-x64 deleted file mode 100644 index 13cfee4..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/opensuse-x64 +++ /dev/null @@ -1,3 +0,0 @@ -zypper install -y --no-recommends -n binutils gcc make tar - -. $(dirname $0)/build diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/pack b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/pack deleted file mode 100644 index f2936c2..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/pack +++ /dev/null @@ -1,5 +0,0 @@ -cp -r /io/input ~/build -cd ~/build -dotnet restore $1 -dotnet pack $1 -cp *.nupkg /io/output diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/test b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/test deleted file mode 100644 index 5022fa3..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/test +++ /dev/null @@ -1,27 +0,0 @@ -TEST_PROGRAM='using System; -using System.Runtime.InteropServices; - -static class Program -{ - [DllImport("libsodium")] - static extern int sodium_init(); - - static int Main() - { - int error = sodium_init(); - Console.WriteLine(error == 0 - ? "ok" - : "error: sodium_init() returned {0}", error); - return error == 0 ? 0 : 1; - } -} -' - -dotnet --info -cd ~ -dotnet new console --name Test -cd Test -echo "$TEST_PROGRAM" > Program.cs -dotnet add package libsodium --version $1 --source /io/packages -dotnet restore -dotnet run diff --git a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/ubuntu-x64 b/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/ubuntu-x64 deleted file mode 100644 index e22c9ef..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/dotnet-core/recipes/ubuntu-x64 +++ /dev/null @@ -1,4 +0,0 @@ -apt-get update -apt-get install -y --no-install-recommends build-essential - -. $(dirname $0)/build diff --git a/libsodium-1.0.18-RELEASE/packaging/nuget/.gitignore b/libsodium-1.0.18-RELEASE/packaging/nuget/.gitignore deleted file mode 100644 index d4b1a8c..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/nuget/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.nupkg -package.nuspec -package.targets -package.xml diff --git a/libsodium-1.0.18-RELEASE/packaging/nuget/package.bat b/libsodium-1.0.18-RELEASE/packaging/nuget/package.bat deleted file mode 100644 index 565a96b..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/nuget/package.bat +++ /dev/null @@ -1,13 +0,0 @@ -@ECHO OFF -ECHO Started nuget packaging build. -ECHO. -REM https://www.nuget.org/packages/gsl -gsl -q -script:package.gsl package.config -ECHO. -REM https://nuget.codeplex.com/releases -nuget pack package.nuspec -verbosity detailed -ECHO. -ECHO NOTE: Ignore warnings not applicable to native code: "Issue: Assembly outside lib folder." -ECHO. -ECHO Completed nuget packaging build. The package is in the following folder: -CD diff --git a/libsodium-1.0.18-RELEASE/packaging/nuget/package.config b/libsodium-1.0.18-RELEASE/packaging/nuget/package.config deleted file mode 100644 index 33eda2d..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/nuget/package.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/libsodium-1.0.18-RELEASE/packaging/nuget/package.gsl b/libsodium-1.0.18-RELEASE/packaging/nuget/package.gsl deleted file mode 100644 index 5b255e5..0000000 --- a/libsodium-1.0.18-RELEASE/packaging/nuget/package.gsl +++ /dev/null @@ -1,260 +0,0 @@ -.# Generate NuGet nuspec file (for subsequent packing). -.# -.# This is a code generator built using the iMatix GSL code generation -.# language. See https://github.com/imatix/gsl for details. This script -.# is licensed under MIT/X11. -.# -.echo "Generating package.nuspec from template." -.output "package.nuspec" - - - - - $(package.id) - $(package.version) - $(package.id) - libsodium contributors - Eric Voskuil - https://raw.github.com/jedisct1/libsodium/master/LICENSE - https://github.com/jedisct1/libsodium - http://upload.wikimedia.org/wikipedia/commons/thumb/7/78/Salt_shaker_on_white_background.jpg/220px-Salt_shaker_on_white_background.jpg - true - false - Sodium is a portable, cross-compilable, installable, packageable fork of NaCl, with a compatible API. -

Portable fork of NaCl, packaged for Visual Studio 2013 (v120) and CTP_Nov2013 compilers. - https://raw.github.com/jedisct1/libsodium/master/ChangeLog - (c) 2013-2019, Frank Denis (attribution required) - native, NaCl, salt, sodium, libsodium, C++ - -.for dependency - -.endfor - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -.echo "Generating package.targets from template." -.output "package.targets" - - - - - - - - - - - - - $\(MSBuildThisFileDirectory)include\\;%(AdditionalIncludeDirectories) - - - advapi32.lib;crypt32.lib;%(AdditionalDependencies) - $\(MSBuildThisFileDirectory)bin\\;%(AdditionalLibraryDirectories) - - - - - SODIUM_STATIC;%(PreprocessorDefinitions) - - - - - - - $(package.target)-x86-$(package.platformtoolset)-mt-s-$(package.pathversion).lib;%(AdditionalDependencies) - - - - - $(package.target)-x86-$(package.platformtoolset)-mt-sgd-$(package.pathversion).lib;%(AdditionalDependencies) - - - - - $(package.target)-x64-$(package.platformtoolset)-mt-s-$(package.pathversion).lib;%(AdditionalDependencies) - - - - - $(package.target)-x64-$(package.platformtoolset)-mt-sgd-$(package.pathversion).lib;%(AdditionalDependencies) - - - - - - - $(package.target)-x86-$(package.platformtoolset)-mt-s-$(package.pathversion).ltcg.lib;%(AdditionalDependencies) - - - - - $(package.target)-x86-$(package.platformtoolset)-mt-sgd-$(package.pathversion).ltcg.lib;%(AdditionalDependencies) - - - - - $(package.target)-x64-$(package.platformtoolset)-mt-s-$(package.pathversion).ltcg.lib;%(AdditionalDependencies) - - - - - $(package.target)-x64-$(package.platformtoolset)-mt-sgd-$(package.pathversion).ltcg.lib;%(AdditionalDependencies) - - - - - - - $(package.target)-x86-$(package.platformtoolset)-mt-$(package.pathversion).imp.lib;%(AdditionalDependencies) - - - - - $(package.target)-x86-$(package.platformtoolset)-mt-gd-$(package.pathversion).imp.lib;%(AdditionalDependencies) - - - - - $(package.target)-x64-$(package.platformtoolset)-mt-$(package.pathversion).imp.lib;%(AdditionalDependencies) - - - - - $(package.target)-x64-$(package.platformtoolset)-mt-gd-$(package.pathversion).imp.lib;%(AdditionalDependencies) - - - - - - - - - - - - - - - - - - - - - - - - -.echo "Generating package.xml (ui extension) from template." -.output "package.xml" - - - - - - - - - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj b/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj deleted file mode 100644 index ecdca90..0000000 --- a/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj +++ /dev/null @@ -1,326 +0,0 @@ - - - - - DebugDLL - Win32 - - - DebugDLL - x64 - - - Debug - Win32 - - - Debug - x64 - - - ReleaseDLL - Win32 - - - ReleaseDLL - x64 - - - Release - Win32 - - - Release - x64 - - - - {A185B162-6CB6-4502-B03F-B56F7699A8D9} - Win32Proj - libsodium - - - - StaticLibrary - true - MultiByte - false - v140 - - - DynamicLibrary - true - MultiByte - false - v140 - - - StaticLibrary - true - MultiByte - false - v140 - - - DynamicLibrary - true - MultiByte - false - v140 - - - StaticLibrary - false - true - MultiByte - v140 - - - DynamicLibrary - false - true - MultiByte - v140 - - - StaticLibrary - false - true - MultiByte - v140 - - - DynamicLibrary - false - true - MultiByte - v140 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - - - - Level3 - Disabled - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebug - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - - - - - - - Level3 - Disabled - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebugDLL - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - - - - - - - Level3 - Disabled - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebug - - - Console - true - - - - - - - Level3 - Disabled - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebugDLL - - - Console - true - - - - - Level3 - - - Full - true - true - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreaded - Speed - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - - - - - Level3 - - - Full - true - true - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDLL - Speed - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreaded - - - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDLL - - - Console - true - true - true - - - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.filters b/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.filters deleted file mode 100644 index 1b4637d..0000000 --- a/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.filters +++ /dev/null @@ -1,23 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.filters.tpl b/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.filters.tpl deleted file mode 100644 index abe9247..0000000 --- a/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.filters.tpl +++ /dev/null @@ -1,35 +0,0 @@ - - - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - packaging - - - - - - - {{f1}} - - - {{f2}} - - - {{fd}} - - diff --git a/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.tpl b/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.tpl deleted file mode 100644 index 179ce26..0000000 --- a/libsodium-1.0.18-RELEASE/regen-msvc/libsodium.vcxproj.tpl +++ /dev/null @@ -1,93 +0,0 @@ - - - - {A185B162-6CB6-4502-B03F-B56F7699A8D9} - libsodium - {{platform}} - - - - DebugDLL - Win32 - - - ReleaseDLL - Win32 - - - DebugDLL - x64 - - - ReleaseDLL - x64 - - - DebugLTCG - Win32 - - - ReleaseLTCG - Win32 - - - DebugLTCG - x64 - - - ReleaseLTCG - x64 - - - DebugLIB - Win32 - - - ReleaseLIB - Win32 - - - DebugLIB - x64 - - - ReleaseLIB - x64 - - - - StaticLibrary - DynamicLibrary - - - - - - - - - - - - - - - - - - - - {{v1}} - - - {{v2}} - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/regen-msvc/regen-msvc.py b/libsodium-1.0.18-RELEASE/regen-msvc/regen-msvc.py deleted file mode 100644 index 9a2c87a..0000000 --- a/libsodium-1.0.18-RELEASE/regen-msvc/regen-msvc.py +++ /dev/null @@ -1,185 +0,0 @@ -#! /usr/bin/env python3 - -import glob -import os -import uuid - -dirs = set() - -tlv1 = "" -for file in glob.iglob("src/libsodium/**/*.c", recursive=True): - file = file.replace("/", "\\") - tlv1 = tlv1 + ' \r\n'.format(file) - -tlv2 = "" -for file in glob.iglob("src/libsodium/**/*.h", recursive=True): - file = file.replace("/", "\\") - tlv2 = tlv2 + ' \r\n'.format(file) - -tlf1 = "" -for file in glob.iglob("src/libsodium/**/*.c", recursive=True): - file = file.replace("/", "\\") - tlf1 = tlf1 + ' \r\n'.format(file) - tlf1 = tlf1 + " Source Files\r\n" - tlf1 = tlf1 + " \r\n" - -tlf2 = "" -for file in glob.iglob("src/libsodium/**/*.h", recursive=True): - file = file.replace("/", "\\") - tlf2 = tlf2 + ' \r\n'.format(file) - tlf2 = tlf2 + " Header Files\r\n" - tlf2 = tlf2 + " \r\n" - -v1 = "" -for file in glob.iglob("src/libsodium/**/*.c", recursive=True): - file = file.replace("/", "\\") - v1 = v1 + ' \r\n'.format(file) - -v2 = "" -for file in glob.iglob("src/libsodium/**/*.h", recursive=True): - file = file.replace("/", "\\") - v2 = v2 + ' \r\n'.format(file) - -f1 = "" -for file in glob.iglob("src/libsodium/**/*.c", recursive=True): - basedir = os.path.dirname(file).replace("src/libsodium/", "") - t = basedir - while t != "": - dirs.add(t) - t = os.path.dirname(t) - basedir = basedir.replace("/", "\\") - file = file.replace("/", "\\") - f1 = f1 + ' \r\n'.format(file) - f1 = f1 + " {}\r\n".format(basedir) - f1 = f1 + " \r\n" - -f2 = "" -for file in glob.iglob("src/libsodium/**/*.h", recursive=True): - basedir = os.path.dirname(file).replace("src/libsodium/", "") - t = basedir - while t != "": - dirs.add(t) - t = os.path.dirname(t) - basedir = basedir.replace("/", "\\") - file = file.replace("/", "\\") - f2 = f2 + ' \r\n'.format(file) - f2 = f2 + " {}\r\n".format(basedir) - f2 = f2 + " \r\n" - -fd = "" -dirs = list(dirs) -dirs.sort() -for dir in dirs: - dir = dir.replace("/", "\\") - uid = uuid.uuid3(uuid.UUID(bytes=b"LibSodiumMSVCUID"), dir) - fd = fd + ' \r\n'.format(dir) - fd = fd + " {{{}}}\r\n".format(uid) - fd = fd + " \r\n" - - -def apply_template(tplfile, outfile, sbox): - tpl = "" - with open(tplfile, "rb") as fd: - tpl = fd.read() - for s in sbox.keys(): - tpl = tpl.replace( - str.encode("{{" + s + "}}", "utf8"), str.encode(str.strip(sbox[s]), "utf8") - ) - - with open(outfile, "wb") as fd: - fd.write(tpl) - - -sbox = { - "tlv1": tlv1, - "tlv2": tlv2, - "tlf1": tlf1, - "tlf2": tlf2, - "v1": v1, - "v2": v2, - "f1": f1, - "f2": f2, - "fd": fd, -} - -sd = os.path.dirname(os.path.realpath(__file__)) - -apply_template( - sd + "/tl_libsodium.vcxproj.filters.tpl", "libsodium.vcxproj.filters", sbox -) - -sbox.update({"platform": "v140"}) -apply_template(sd + "/tl_libsodium.vcxproj.tpl", "libsodium.vcxproj", sbox) - -apply_template( - sd + "/libsodium.vcxproj.filters.tpl", - "builds/msvc/vs2019/libsodium/libsodium.vcxproj.filters", - sbox, -) -apply_template( - sd + "/libsodium.vcxproj.filters.tpl", - "builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters", - sbox, -) -apply_template( - sd + "/libsodium.vcxproj.filters.tpl", - "builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters", - sbox, -) -apply_template( - sd + "/libsodium.vcxproj.filters.tpl", - "builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters", - sbox, -) -apply_template( - sd + "/libsodium.vcxproj.filters.tpl", - "builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters", - sbox, -) -apply_template( - sd + "/libsodium.vcxproj.filters.tpl", - "builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters", - sbox, -) - -sbox.update({"platform": "v142"}) -apply_template( - sd + "/libsodium.vcxproj.tpl", - "builds/msvc/vs2019/libsodium/libsodium.vcxproj", - sbox, -) - -sbox.update({"platform": "v141"}) -apply_template( - sd + "/libsodium.vcxproj.tpl", - "builds/msvc/vs2017/libsodium/libsodium.vcxproj", - sbox, -) - -sbox.update({"platform": "v140"}) -apply_template( - sd + "/libsodium.vcxproj.tpl", - "builds/msvc/vs2015/libsodium/libsodium.vcxproj", - sbox, -) - -sbox.update({"platform": "v120"}) -apply_template( - sd + "/libsodium.vcxproj.tpl", - "builds/msvc/vs2013/libsodium/libsodium.vcxproj", - sbox, -) - -sbox.update({"platform": "v110"}) -apply_template( - sd + "/libsodium.vcxproj.tpl", - "builds/msvc/vs2012/libsodium/libsodium.vcxproj", - sbox, -) - -sbox.update({"platform": "v100"}) -apply_template( - sd + "/libsodium.vcxproj.tpl", - "builds/msvc/vs2010/libsodium/libsodium.vcxproj", - sbox, -) diff --git a/libsodium-1.0.18-RELEASE/regen-msvc/tl_libsodium.vcxproj.filters.tpl b/libsodium-1.0.18-RELEASE/regen-msvc/tl_libsodium.vcxproj.filters.tpl deleted file mode 100644 index f024d61..0000000 --- a/libsodium-1.0.18-RELEASE/regen-msvc/tl_libsodium.vcxproj.filters.tpl +++ /dev/null @@ -1,23 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - {{tlf1}} - - - {{tlf2}} - - diff --git a/libsodium-1.0.18-RELEASE/regen-msvc/tl_libsodium.vcxproj.tpl b/libsodium-1.0.18-RELEASE/regen-msvc/tl_libsodium.vcxproj.tpl deleted file mode 100644 index 5319ca0..0000000 --- a/libsodium-1.0.18-RELEASE/regen-msvc/tl_libsodium.vcxproj.tpl +++ /dev/null @@ -1,331 +0,0 @@ - - - - - DebugDLL - Win32 - - - DebugDLL - x64 - - - Debug - Win32 - - - Debug - x64 - - - ReleaseDLL - Win32 - - - ReleaseDLL - x64 - - - Release - Win32 - - - Release - x64 - - - - {A185B162-6CB6-4502-B03F-B56F7699A8D9} - Win32Proj - libsodium - - - - StaticLibrary - true - MultiByte - false - {{platform}} - - - DynamicLibrary - true - MultiByte - false - {{platform}} - - - StaticLibrary - true - MultiByte - false - {{platform}} - - - DynamicLibrary - true - MultiByte - false - {{platform}} - - - StaticLibrary - false - true - MultiByte - {{platform}} - - - DynamicLibrary - false - true - MultiByte - {{platform}} - - - StaticLibrary - false - true - MultiByte - {{platform}} - - - DynamicLibrary - false - true - MultiByte - {{platform}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - true - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - false - $(SolutionDir)Build\$(Configuration)\$(Platform)\ - $(SolutionDir)Build\$(Configuration)\$(Platform)\Intermediate\ - - - - - - Level3 - Disabled - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebug - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - - - - - - - Level3 - Disabled - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebugDLL - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - - - - - - - Level3 - Disabled - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebug - - - Console - true - - - - - - - Level3 - Disabled - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDebugDLL - - - Console - true - - - - - Level3 - - - Full - true - true - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreaded - Speed - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - - - - - Level3 - - - Full - true - true - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDLL - Speed - $(SolutionDir);$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include\sodium;$(SolutionDir)src\libsodium\include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - SODIUM_STATIC;SODIUM_EXPORT=;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreaded - - - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - SODIUM_EXPORT=__declspec(dllexport);SODIUM_DLL_EXPORT;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - 4244;%(DisableSpecificWarnings) - MultiThreadedDLL - - - Console - true - true - true - - - - {{tlv1}} - - - {{tlv2}} - - - - - - - - - - diff --git a/libsodium-1.0.18-RELEASE/src/Makefile.am b/libsodium-1.0.18-RELEASE/src/Makefile.am deleted file mode 100644 index 6444504..0000000 --- a/libsodium-1.0.18-RELEASE/src/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -SUBDIRS = \ - libsodium diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/Makefile.am b/libsodium-1.0.18-RELEASE/src/libsodium/Makefile.am deleted file mode 100644 index cf4cfc9..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/Makefile.am +++ /dev/null @@ -1,287 +0,0 @@ -lib_LTLIBRARIES = \ - libsodium.la - -libsodium_la_SOURCES = \ - crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c \ - crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c \ - crypto_auth/crypto_auth.c \ - crypto_auth/hmacsha256/auth_hmacsha256.c \ - crypto_auth/hmacsha512/auth_hmacsha512.c \ - crypto_auth/hmacsha512256/auth_hmacsha512256.c \ - crypto_box/crypto_box.c \ - crypto_box/crypto_box_easy.c \ - crypto_box/crypto_box_seal.c \ - crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c \ - crypto_core/ed25519/ref10/ed25519_ref10.c \ - crypto_core/hchacha20/core_hchacha20.c \ - crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c \ - crypto_core/hsalsa20/core_hsalsa20.c \ - crypto_core/salsa/ref/core_salsa_ref.c \ - crypto_generichash/crypto_generichash.c \ - crypto_generichash/blake2b/generichash_blake2.c \ - crypto_generichash/blake2b/ref/blake2.h \ - crypto_generichash/blake2b/ref/blake2b-compress-ref.c \ - crypto_generichash/blake2b/ref/blake2b-load-sse2.h \ - crypto_generichash/blake2b/ref/blake2b-load-sse41.h \ - crypto_generichash/blake2b/ref/blake2b-load-avx2.h \ - crypto_generichash/blake2b/ref/blake2b-ref.c \ - crypto_generichash/blake2b/ref/generichash_blake2b.c \ - crypto_hash/crypto_hash.c \ - crypto_hash/sha256/hash_sha256.c \ - crypto_hash/sha256/cp/hash_sha256_cp.c \ - crypto_hash/sha512/hash_sha512.c \ - crypto_hash/sha512/cp/hash_sha512_cp.c \ - crypto_kdf/blake2b/kdf_blake2b.c \ - crypto_kdf/crypto_kdf.c \ - crypto_kx/crypto_kx.c \ - crypto_onetimeauth/crypto_onetimeauth.c \ - crypto_onetimeauth/poly1305/onetimeauth_poly1305.c \ - crypto_onetimeauth/poly1305/onetimeauth_poly1305.h \ - crypto_onetimeauth/poly1305/donna/poly1305_donna.h \ - crypto_onetimeauth/poly1305/donna/poly1305_donna32.h \ - crypto_onetimeauth/poly1305/donna/poly1305_donna64.h \ - crypto_onetimeauth/poly1305/donna/poly1305_donna.c \ - crypto_pwhash/argon2/argon2-core.c \ - crypto_pwhash/argon2/argon2-core.h \ - crypto_pwhash/argon2/argon2-encoding.c \ - crypto_pwhash/argon2/argon2-encoding.h \ - crypto_pwhash/argon2/argon2-fill-block-ref.c \ - crypto_pwhash/argon2/argon2.c \ - crypto_pwhash/argon2/argon2.h \ - crypto_pwhash/argon2/blake2b-long.c \ - crypto_pwhash/argon2/blake2b-long.h \ - crypto_pwhash/argon2/blamka-round-ref.h \ - crypto_pwhash/argon2/pwhash_argon2i.c \ - crypto_pwhash/argon2/pwhash_argon2id.c \ - crypto_pwhash/crypto_pwhash.c \ - crypto_scalarmult/crypto_scalarmult.c \ - crypto_scalarmult/curve25519/ref10/x25519_ref10.c \ - crypto_scalarmult/curve25519/ref10/x25519_ref10.h \ - crypto_scalarmult/curve25519/scalarmult_curve25519.c \ - crypto_scalarmult/curve25519/scalarmult_curve25519.h \ - crypto_secretbox/crypto_secretbox.c \ - crypto_secretbox/crypto_secretbox_easy.c \ - crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c \ - crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c \ - crypto_shorthash/crypto_shorthash.c \ - crypto_shorthash/siphash24/shorthash_siphash24.c \ - crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c \ - crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h \ - crypto_sign/crypto_sign.c \ - crypto_sign/ed25519/sign_ed25519.c \ - crypto_sign/ed25519/ref10/keypair.c \ - crypto_sign/ed25519/ref10/open.c \ - crypto_sign/ed25519/ref10/sign.c \ - crypto_sign/ed25519/ref10/sign_ed25519_ref10.h \ - crypto_stream/chacha20/stream_chacha20.c \ - crypto_stream/chacha20/stream_chacha20.h \ - crypto_stream/chacha20/ref/chacha20_ref.h \ - crypto_stream/chacha20/ref/chacha20_ref.c \ - crypto_stream/crypto_stream.c \ - crypto_stream/salsa20/stream_salsa20.c \ - crypto_stream/salsa20/stream_salsa20.h \ - crypto_stream/xsalsa20/stream_xsalsa20.c \ - crypto_verify/sodium/verify.c \ - include/sodium/private/chacha20_ietf_ext.h \ - include/sodium/private/common.h \ - include/sodium/private/ed25519_ref10.h \ - include/sodium/private/implementations.h \ - include/sodium/private/mutex.h \ - include/sodium/private/sse2_64_32.h \ - randombytes/randombytes.c \ - sodium/codecs.c \ - sodium/core.c \ - sodium/runtime.c \ - sodium/utils.c \ - sodium/version.c - -if HAVE_TI_MODE -libsodium_la_SOURCES += \ - crypto_core/ed25519/ref10/fe_51/base.h \ - crypto_core/ed25519/ref10/fe_51/base2.h \ - crypto_core/ed25519/ref10/fe_51/constants.h \ - crypto_core/ed25519/ref10/fe_51/fe.h \ - include/sodium/private/ed25519_ref10_fe_51.h -else -libsodium_la_SOURCES += \ - crypto_core/ed25519/ref10/fe_25_5/base.h \ - crypto_core/ed25519/ref10/fe_25_5/base2.h \ - crypto_core/ed25519/ref10/fe_25_5/constants.h \ - crypto_core/ed25519/ref10/fe_25_5/fe.h \ - include/sodium/private/ed25519_ref10_fe_25_5.h -endif - -if HAVE_AMD64_ASM -libsodium_la_SOURCES += \ - crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S \ - crypto_stream/salsa20/xmm6/salsa20_xmm6.c \ - crypto_stream/salsa20/xmm6/salsa20_xmm6.h -else -libsodium_la_SOURCES += \ - crypto_stream/salsa20/ref/salsa20_ref.c \ - crypto_stream/salsa20/ref/salsa20_ref.h -endif - -noinst_HEADERS = \ - crypto_scalarmult/curve25519/sandy2x/consts.S \ - crypto_scalarmult/curve25519/sandy2x/fe51_mul.S \ - crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S \ - crypto_scalarmult/curve25519/sandy2x/fe51_pack.S \ - crypto_scalarmult/curve25519/sandy2x/ladder.S \ - crypto_scalarmult/curve25519/sandy2x/ladder_base.S - -if HAVE_AVX_ASM -libsodium_la_SOURCES += \ - crypto_scalarmult/curve25519/sandy2x/consts_namespace.h \ - crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c \ - crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h \ - crypto_scalarmult/curve25519/sandy2x/fe.h \ - crypto_scalarmult/curve25519/sandy2x/fe51.h \ - crypto_scalarmult/curve25519/sandy2x/fe51_invert.c \ - crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h \ - crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c \ - crypto_scalarmult/curve25519/sandy2x/ladder.h \ - crypto_scalarmult/curve25519/sandy2x/ladder_base.h \ - crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h \ - crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h \ - crypto_scalarmult/curve25519/sandy2x/sandy2x.S -endif - -if !MINIMAL -libsodium_la_SOURCES += \ - crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c \ - crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c \ - crypto_core/ed25519/core_ed25519.c \ - crypto_core/ed25519/core_ristretto255.c \ - crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c \ - crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h \ - crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c \ - crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c \ - crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h \ - crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c \ - crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c \ - crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c \ - crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c \ - crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c \ - crypto_shorthash/siphash24/shorthash_siphashx24.c \ - crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c \ - crypto_sign/ed25519/ref10/obsolete.c \ - crypto_stream/salsa2012/ref/stream_salsa2012_ref.c \ - crypto_stream/salsa2012/stream_salsa2012.c \ - crypto_stream/salsa208/ref/stream_salsa208_ref.c \ - crypto_stream/salsa208/stream_salsa208.c \ - crypto_stream/xchacha20/stream_xchacha20.c -endif - -randombytes_internal_randombytes_internal_random_CFLAGS = @CFLAGS_RDRAND@ - -libsodium_la_LDFLAGS = \ - $(AM_LDFLAGS) \ - -export-dynamic \ - -no-undefined \ - $(LIBTOOL_EXTRA_FLAGS) - -libsodium_la_CPPFLAGS = \ - $(LTDLINCL) \ - -I$(srcdir)/include/sodium \ - -I$(builddir)/include/sodium - -if HAVE_LD_OUTPUT_DEF -libsodium_la_LDFLAGS += -Wl,--output-def,libsodium-$(DLL_VERSION).def -defexecdir = $(bindir) -defexec_DATA = libsodium-$(DLL_VERSION).def -CLEANFILES = $(defexec_DATA) -libsodium-$(DLL_VERSION).def: libsodium.la -endif - -SUBDIRS = \ - include - -libsodium_la_LIBADD = libaesni.la libsse2.la libssse3.la libsse41.la libavx2.la libavx512f.la -noinst_LTLIBRARIES = libaesni.la libsse2.la libssse3.la libsse41.la libavx2.la libavx512f.la - -librdrand_la_LDFLAGS = $(libsodium_la_LDFLAGS) -librdrand_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \ - @CFLAGS_RDRAND@ -librdrand_la_SOURCES = \ - randombytes/internal/randombytes_internal_random.c - -if !EMSCRIPTEN -libsodium_la_LIBADD += librdrand.la -noinst_LTLIBRARIES += librdrand.la - -libsodium_la_SOURCES += \ - randombytes/sysrandom/randombytes_sysrandom.c -endif - -libaesni_la_LDFLAGS = $(libsodium_la_LDFLAGS) -libaesni_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \ - @CFLAGS_SSE2@ @CFLAGS_SSSE3@ @CFLAGS_AESNI@ @CFLAGS_PCLMUL@ -libaesni_la_SOURCES = \ - crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c - -libsse2_la_LDFLAGS = $(libsodium_la_LDFLAGS) -libsse2_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \ - @CFLAGS_SSE2@ -libsse2_la_SOURCES = \ - crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c \ - crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h -if !MINIMAL -libsse2_la_SOURCES += \ - crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c -endif - -if !HAVE_AMD64_ASM -libsse2_la_SOURCES += \ - crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c \ - crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h \ - crypto_stream/salsa20/xmm6int/u0.h \ - crypto_stream/salsa20/xmm6int/u1.h \ - crypto_stream/salsa20/xmm6int/u4.h -endif - -libssse3_la_LDFLAGS = $(libsodium_la_LDFLAGS) -libssse3_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \ - @CFLAGS_SSE2@ @CFLAGS_SSSE3@ -libssse3_la_SOURCES = \ - crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c \ - crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h \ - crypto_pwhash/argon2/argon2-fill-block-ssse3.c \ - crypto_pwhash/argon2/blamka-round-ssse3.h \ - crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c \ - crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h \ - crypto_stream/chacha20/dolbeau/u0.h \ - crypto_stream/chacha20/dolbeau/u1.h \ - crypto_stream/chacha20/dolbeau/u4.h - -libsse41_la_LDFLAGS = $(libsodium_la_LDFLAGS) -libsse41_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \ - @CFLAGS_SSE2@ @CFLAGS_SSSE3@ @CFLAGS_SSE41@ -libsse41_la_SOURCES = \ - crypto_generichash/blake2b/ref/blake2b-compress-sse41.c \ - crypto_generichash/blake2b/ref/blake2b-compress-sse41.h - -libavx2_la_LDFLAGS = $(libsodium_la_LDFLAGS) -libavx2_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \ - @CFLAGS_SSE2@ @CFLAGS_SSSE3@ @CFLAGS_SSE41@ @CFLAGS_AVX@ @CFLAGS_AVX2@ -libavx2_la_SOURCES = \ - crypto_generichash/blake2b/ref/blake2b-compress-avx2.c \ - crypto_generichash/blake2b/ref/blake2b-compress-avx2.h \ - crypto_pwhash/argon2/argon2-fill-block-avx2.c \ - crypto_pwhash/argon2/blamka-round-avx2.h \ - crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c \ - crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h \ - crypto_stream/chacha20/dolbeau/u8.h \ - crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c \ - crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h \ - crypto_stream/salsa20/xmm6int/u0.h \ - crypto_stream/salsa20/xmm6int/u1.h \ - crypto_stream/salsa20/xmm6int/u4.h \ - crypto_stream/salsa20/xmm6int/u8.h - -libavx512f_la_LDFLAGS = $(libsodium_la_LDFLAGS) -libavx512f_la_CPPFLAGS = $(libsodium_la_CPPFLAGS) \ - @CFLAGS_SSE2@ @CFLAGS_SSSE3@ @CFLAGS_SSE41@ @CFLAGS_AVX@ @CFLAGS_AVX2@ @CFLAGS_AVX512F@ -libavx512f_la_SOURCES = \ - crypto_pwhash/argon2/argon2-fill-block-avx512f.c \ - crypto_pwhash/argon2/blamka-round-avx512f.h diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c deleted file mode 100644 index 69707a6..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +++ /dev/null @@ -1,1079 +0,0 @@ - -/* - * AES256-GCM, based on the "Intel Carry-Less Multiplication Instruction and its Usage for Computing - * the GCM Mode" paper and reference code, using the aggregated reduction method. - * Originally adapted by Romain Dolbeau. - */ - -#include -#include -#include -#include - -#include "core.h" -#include "crypto_aead_aes256gcm.h" -#include "export.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "randombytes.h" -#include "runtime.h" -#include "utils.h" - -#if defined(HAVE_TMMINTRIN_H) && defined(HAVE_WMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("ssse3") -# pragma GCC target("aes") -# pragma GCC target("pclmul") -# endif - -#include -#include - -#ifndef ENOSYS -# define ENOSYS ENXIO -#endif - -#if defined(__INTEL_COMPILER) || defined(_bswap64) -#elif defined(_MSC_VER) -# define _bswap64(a) _byteswap_uint64(a) -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) -# define _bswap64(a) __builtin_bswap64(a) -#else -static inline uint64_t -_bswap64(const uint64_t x) -{ - return - ((x << 56) & 0xFF00000000000000UL) | ((x << 40) & 0x00FF000000000000UL) | - ((x << 24) & 0x0000FF0000000000UL) | ((x << 8) & 0x000000FF00000000UL) | - ((x >> 8) & 0x00000000FF000000UL) | ((x >> 24) & 0x0000000000FF0000UL) | - ((x >> 40) & 0x000000000000FF00UL) | ((x >> 56) & 0x00000000000000FFUL); -} -#endif - -typedef struct aes256gcm_state { - __m128i rkeys[16]; - unsigned char H[16]; -} aes256gcm_state; - -static inline void -aesni_key256_expand(const unsigned char *key, __m128i * const rkeys) -{ - __m128i X0, X1, X2, X3; - int i = 0; - - X0 = _mm_loadu_si128((const __m128i *) &key[0]); - rkeys[i++] = X0; - - X2 = _mm_loadu_si128((const __m128i *) &key[16]); - rkeys[i++] = X2; - -#define EXPAND_KEY_1(S) do { \ - X1 = _mm_shuffle_epi32(_mm_aeskeygenassist_si128(X2, (S)), 0xff); \ - X3 = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(X3), _mm_castsi128_ps(X0), 0x10)); \ - X0 = _mm_xor_si128(X0, X3); \ - X3 = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(X3), _mm_castsi128_ps(X0), 0x8c)); \ - X0 = _mm_xor_si128(_mm_xor_si128(X0, X3), X1); \ - rkeys[i++] = X0; \ -} while (0) - -#define EXPAND_KEY_2(S) do { \ - X1 = _mm_shuffle_epi32(_mm_aeskeygenassist_si128(X0, (S)), 0xaa); \ - X3 = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(X3), _mm_castsi128_ps(X2), 0x10)); \ - X2 = _mm_xor_si128(X2, X3); \ - X3 = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(X3), _mm_castsi128_ps(X2), 0x8c)); \ - X2 = _mm_xor_si128(_mm_xor_si128(X2, X3), X1); \ - rkeys[i++] = X2; \ -} while (0) - - X3 = _mm_setzero_si128(); - EXPAND_KEY_1(0x01); EXPAND_KEY_2(0x01); - EXPAND_KEY_1(0x02); EXPAND_KEY_2(0x02); - EXPAND_KEY_1(0x04); EXPAND_KEY_2(0x04); - EXPAND_KEY_1(0x08); EXPAND_KEY_2(0x08); - EXPAND_KEY_1(0x10); EXPAND_KEY_2(0x10); - EXPAND_KEY_1(0x20); EXPAND_KEY_2(0x20); - EXPAND_KEY_1(0x40); -} - -/** single, by-the-book AES encryption with AES-NI */ -static inline void -aesni_encrypt1(unsigned char *out, __m128i nv, const __m128i *rkeys) -{ - __m128i temp = _mm_xor_si128(nv, rkeys[0]); - - temp = _mm_aesenc_si128(temp, rkeys[1]); - temp = _mm_aesenc_si128(temp, rkeys[2]); - temp = _mm_aesenc_si128(temp, rkeys[3]); - temp = _mm_aesenc_si128(temp, rkeys[4]); - temp = _mm_aesenc_si128(temp, rkeys[5]); - temp = _mm_aesenc_si128(temp, rkeys[6]); - temp = _mm_aesenc_si128(temp, rkeys[7]); - temp = _mm_aesenc_si128(temp, rkeys[8]); - temp = _mm_aesenc_si128(temp, rkeys[9]); - temp = _mm_aesenc_si128(temp, rkeys[10]); - temp = _mm_aesenc_si128(temp, rkeys[11]); - temp = _mm_aesenc_si128(temp, rkeys[12]); - temp = _mm_aesenc_si128(temp, rkeys[13]); - - temp = _mm_aesenclast_si128(temp, rkeys[14]); - _mm_storeu_si128((__m128i *) out, temp); -} - -/** multiple-blocks-at-once AES encryption with AES-NI ; - on Haswell, aesenc has a latency of 7 and a throughput of 1 - so the sequence of aesenc should be bubble-free if you - have at least 8 blocks. Let's build an arbitratry-sized - function */ -/* Step 1 : loading the nonce */ -/* load & increment the n vector (non-vectorized, unused for now) */ -#define NVDECLx(a) \ - __m128i nv##a - -#define NVx(a) \ - nv##a = _mm_shuffle_epi8(_mm_load_si128((const __m128i *) n), pt); \ - n[3]++ - -/* Step 2 : define value in round one (xor with subkey #0, aka key) */ -#define TEMPDECLx(a) \ - __m128i temp##a - -#define TEMPx(a) \ - temp##a = _mm_xor_si128(nv##a, rkeys[0]) - -/* Step 3: one round of AES */ -#define AESENCx(a) \ - temp##a = _mm_aesenc_si128(temp##a, rkeys[roundctr]) - -/* Step 4: last round of AES */ -#define AESENCLASTx(a) \ - temp##a = _mm_aesenclast_si128(temp##a, rkeys[14]) - -/* Step 5: store result */ -#define STOREx(a) \ - _mm_storeu_si128((__m128i *) (out + (a * 16)), temp##a) - -/* all the MAKE* macros are for automatic explicit unrolling */ -#define MAKE4(X) \ - X(0); \ - X(1); \ - X(2); \ - X(3) - -#define MAKE8(X) \ - X(0); \ - X(1); \ - X(2); \ - X(3); \ - X(4); \ - X(5); \ - X(6); \ - X(7) - -#define COUNTER_INC2(N) (N)[3] += 2 - -/* create a function of unrolling N ; the MAKEN is the unrolling - macro, defined above. The N in MAKEN must match N, obviously. */ -#define FUNC(N, MAKEN) \ - static inline void aesni_encrypt##N(unsigned char *out, uint32_t *n, const __m128i *rkeys) \ - { \ - const __m128i pt = _mm_set_epi8(12, 13, 14, 15, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \ - int roundctr; \ - MAKEN(NVDECLx); \ - MAKEN(TEMPDECLx); \ - \ - MAKEN(NVx); \ - MAKEN(TEMPx); \ - for (roundctr = 1; roundctr < 14; roundctr++) { \ - MAKEN(AESENCx); \ - } \ - MAKEN(AESENCLASTx); \ - MAKEN(STOREx); \ - } - -FUNC(8, MAKE8) - -/* all GF(2^128) fnctions are by the book, meaning this one: - -*/ - -static inline void -addmul(unsigned char *c, const unsigned char *a, unsigned int xlen, const unsigned char *b) -{ - const __m128i rev = _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - __m128i A, B, C; - __m128i tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9; - __m128i tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18; - __m128i tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27; - __m128i tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36; - - if (xlen >= 16) { - A = _mm_loadu_si128((const __m128i *) a); - } else { - CRYPTO_ALIGN(16) unsigned char padded[16]; - unsigned int i; - - memset(padded, 0, 16); - for (i = 0; i < xlen; i++) { - padded[i] = a[i]; - } - A = _mm_load_si128((const __m128i *) padded); - } - A = _mm_shuffle_epi8(A, rev); - B = _mm_loadu_si128((const __m128i *) b); - C = _mm_loadu_si128((const __m128i *) c); - A = _mm_xor_si128(A, C); - tmp3 = _mm_clmulepi64_si128(A, B, 0x00); - tmp4 = _mm_clmulepi64_si128(A, B, 0x10); - tmp5 = _mm_clmulepi64_si128(A, B, 0x01); - tmp6 = _mm_clmulepi64_si128(A, B, 0x11); - tmp10 = _mm_xor_si128(tmp4, tmp5); - tmp13 = _mm_slli_si128(tmp10, 8); - tmp11 = _mm_srli_si128(tmp10, 8); - tmp15 = _mm_xor_si128(tmp3, tmp13); - tmp17 = _mm_xor_si128(tmp6, tmp11); - tmp7 = _mm_srli_epi32(tmp15, 31); - tmp8 = _mm_srli_epi32(tmp17, 31); - tmp16 = _mm_slli_epi32(tmp15, 1); - tmp18 = _mm_slli_epi32(tmp17, 1); - tmp9 = _mm_srli_si128(tmp7, 12); - tmp22 = _mm_slli_si128(tmp8, 4); - tmp25 = _mm_slli_si128(tmp7, 4); - tmp29 = _mm_or_si128(tmp16, tmp25); - tmp19 = _mm_or_si128(tmp18, tmp22); - tmp20 = _mm_or_si128(tmp19, tmp9); - tmp26 = _mm_slli_epi32(tmp29, 31); - tmp23 = _mm_slli_epi32(tmp29, 30); - tmp32 = _mm_slli_epi32(tmp29, 25); - tmp27 = _mm_xor_si128(tmp26, tmp23); - tmp28 = _mm_xor_si128(tmp27, tmp32); - tmp24 = _mm_srli_si128(tmp28, 4); - tmp33 = _mm_slli_si128(tmp28, 12); - tmp30 = _mm_xor_si128(tmp29, tmp33); - tmp2 = _mm_srli_epi32(tmp30, 1); - tmp12 = _mm_srli_epi32(tmp30, 2); - tmp14 = _mm_srli_epi32(tmp30, 7); - tmp34 = _mm_xor_si128(tmp2, tmp12); - tmp35 = _mm_xor_si128(tmp34, tmp14); - tmp36 = _mm_xor_si128(tmp35, tmp24); - tmp31 = _mm_xor_si128(tmp30, tmp36); - tmp21 = _mm_xor_si128(tmp20, tmp31); - _mm_storeu_si128((__m128i *) c, tmp21); -} - -/* pure multiplication, for pre-computing powers of H */ -static inline __m128i -mulv(__m128i A, __m128i B) -{ - __m128i tmp3 = _mm_clmulepi64_si128(A, B, 0x00); - __m128i tmp4 = _mm_clmulepi64_si128(A, B, 0x10); - __m128i tmp5 = _mm_clmulepi64_si128(A, B, 0x01); - __m128i tmp6 = _mm_clmulepi64_si128(A, B, 0x11); - __m128i tmp10 = _mm_xor_si128(tmp4, tmp5); - __m128i tmp13 = _mm_slli_si128(tmp10, 8); - __m128i tmp11 = _mm_srli_si128(tmp10, 8); - __m128i tmp15 = _mm_xor_si128(tmp3, tmp13); - __m128i tmp17 = _mm_xor_si128(tmp6, tmp11); - __m128i tmp7 = _mm_srli_epi32(tmp15, 31); - __m128i tmp8 = _mm_srli_epi32(tmp17, 31); - __m128i tmp16 = _mm_slli_epi32(tmp15, 1); - __m128i tmp18 = _mm_slli_epi32(tmp17, 1); - __m128i tmp9 = _mm_srli_si128(tmp7, 12); - __m128i tmp22 = _mm_slli_si128(tmp8, 4); - __m128i tmp25 = _mm_slli_si128(tmp7, 4); - __m128i tmp29 = _mm_or_si128(tmp16, tmp25); - __m128i tmp19 = _mm_or_si128(tmp18, tmp22); - __m128i tmp20 = _mm_or_si128(tmp19, tmp9); - __m128i tmp26 = _mm_slli_epi32(tmp29, 31); - __m128i tmp23 = _mm_slli_epi32(tmp29, 30); - __m128i tmp32 = _mm_slli_epi32(tmp29, 25); - __m128i tmp27 = _mm_xor_si128(tmp26, tmp23); - __m128i tmp28 = _mm_xor_si128(tmp27, tmp32); - __m128i tmp24 = _mm_srli_si128(tmp28, 4); - __m128i tmp33 = _mm_slli_si128(tmp28, 12); - __m128i tmp30 = _mm_xor_si128(tmp29, tmp33); - __m128i tmp2 = _mm_srli_epi32(tmp30, 1); - __m128i tmp12 = _mm_srli_epi32(tmp30, 2); - __m128i tmp14 = _mm_srli_epi32(tmp30, 7); - __m128i tmp34 = _mm_xor_si128(tmp2, tmp12); - __m128i tmp35 = _mm_xor_si128(tmp34, tmp14); - __m128i tmp36 = _mm_xor_si128(tmp35, tmp24); - __m128i tmp31 = _mm_xor_si128(tmp30, tmp36); - __m128i C = _mm_xor_si128(tmp20, tmp31); - - return C; -} - -/* 4 multiply-accumulate at once; again - - for the Aggregated Reduction Method & sample code. - Algorithm by Krzysztof Jankowski, Pierre Laurent - Intel */ - -#define RED_DECL(a) __m128i H##a##_X##a##_lo, H##a##_X##a##_hi, tmp##a, tmp##a##B -#define RED_SHUFFLE(a) X##a = _mm_shuffle_epi8(X##a, rev) -#define RED_MUL_LOW(a) H##a##_X##a##_lo = _mm_clmulepi64_si128(H##a, X##a, 0x00) -#define RED_MUL_HIGH(a) H##a##_X##a##_hi = _mm_clmulepi64_si128(H##a, X##a, 0x11) -#define RED_MUL_MID(a) \ - tmp##a = _mm_shuffle_epi32(H##a, 0x4e); \ - tmp##a##B = _mm_shuffle_epi32(X##a, 0x4e); \ - tmp##a = _mm_xor_si128(tmp##a, H##a); \ - tmp##a##B = _mm_xor_si128(tmp##a##B, X##a); \ - tmp##a = _mm_clmulepi64_si128(tmp##a, tmp##a##B, 0x00) - -#define MULREDUCE4(rev, H0_, H1_, H2_, H3_, X0_, X1_, X2_, X3_, accv) \ -do { \ - MAKE4(RED_DECL); \ - __m128i lo, hi; \ - __m128i tmp8, tmp9; \ - __m128i H0 = H0_; \ - __m128i H1 = H1_; \ - __m128i H2 = H2_; \ - __m128i H3 = H3_; \ - __m128i X0 = X0_; \ - __m128i X1 = X1_; \ - __m128i X2 = X2_; \ - __m128i X3 = X3_; \ -\ -/* byte-revert the inputs & xor the first one into the accumulator */ \ -\ - MAKE4(RED_SHUFFLE); \ - X3 = _mm_xor_si128(X3, accv); \ -\ -/* 4 low H*X (x0*h0) */ \ -\ - MAKE4(RED_MUL_LOW); \ - lo = _mm_xor_si128(H0_X0_lo, H1_X1_lo); \ - lo = _mm_xor_si128(lo, H2_X2_lo); \ - lo = _mm_xor_si128(lo, H3_X3_lo); \ -\ -/* 4 high H*X (x1*h1) */ \ -\ - MAKE4(RED_MUL_HIGH); \ - hi = _mm_xor_si128(H0_X0_hi, H1_X1_hi); \ - hi = _mm_xor_si128(hi, H2_X2_hi); \ - hi = _mm_xor_si128(hi, H3_X3_hi); \ -\ -/* 4 middle H*X, using Karatsuba, i.e. \ - x1*h0+x0*h1 =(x1+x0)*(h1+h0)-x1*h1-x0*h0 \ - we already have all x1y1 & x0y0 (accumulated in hi & lo) \ - (0 is low half and 1 is high half) \ - */ \ -/* permute the high and low 64 bits in H1 & X1, \ - so create (h0,h1) from (h1,h0) and (x0,x1) from (x1,x0), \ - then compute (h0+h1,h1+h0) and (x0+x1,x1+x0), \ - and finally multiply \ - */ \ - MAKE4(RED_MUL_MID); \ -\ -/* substracts x1*h1 and x0*h0 */ \ - tmp0 = _mm_xor_si128(tmp0, lo); \ - tmp0 = _mm_xor_si128(tmp0, hi); \ - tmp0 = _mm_xor_si128(tmp1, tmp0); \ - tmp0 = _mm_xor_si128(tmp2, tmp0); \ - tmp0 = _mm_xor_si128(tmp3, tmp0);\ -\ - /* reduction */ \ - tmp0B = _mm_slli_si128(tmp0, 8); \ - tmp0 = _mm_srli_si128(tmp0, 8); \ - lo = _mm_xor_si128(tmp0B, lo); \ - hi = _mm_xor_si128(tmp0, hi); \ - tmp3 = lo; \ - tmp2B = hi; \ - tmp3B = _mm_srli_epi32(tmp3, 31); \ - tmp8 = _mm_srli_epi32(tmp2B, 31); \ - tmp3 = _mm_slli_epi32(tmp3, 1); \ - tmp2B = _mm_slli_epi32(tmp2B, 1); \ - tmp9 = _mm_srli_si128(tmp3B, 12); \ - tmp8 = _mm_slli_si128(tmp8, 4); \ - tmp3B = _mm_slli_si128(tmp3B, 4); \ - tmp3 = _mm_or_si128(tmp3, tmp3B); \ - tmp2B = _mm_or_si128(tmp2B, tmp8); \ - tmp2B = _mm_or_si128(tmp2B, tmp9); \ - tmp3B = _mm_slli_epi32(tmp3, 31); \ - tmp8 = _mm_slli_epi32(tmp3, 30); \ - tmp9 = _mm_slli_epi32(tmp3, 25); \ - tmp3B = _mm_xor_si128(tmp3B, tmp8); \ - tmp3B = _mm_xor_si128(tmp3B, tmp9); \ - tmp8 = _mm_srli_si128(tmp3B, 4); \ - tmp3B = _mm_slli_si128(tmp3B, 12); \ - tmp3 = _mm_xor_si128(tmp3, tmp3B); \ - tmp2 = _mm_srli_epi32(tmp3, 1); \ - tmp0B = _mm_srli_epi32(tmp3, 2); \ - tmp1B = _mm_srli_epi32(tmp3, 7); \ - tmp2 = _mm_xor_si128(tmp2, tmp0B); \ - tmp2 = _mm_xor_si128(tmp2, tmp1B); \ - tmp2 = _mm_xor_si128(tmp2, tmp8); \ - tmp3 = _mm_xor_si128(tmp3, tmp2); \ - tmp2B = _mm_xor_si128(tmp2B, tmp3); \ -\ - accv = tmp2B; \ -} while(0) - -#define XORx(a) \ - temp##a = _mm_xor_si128(temp##a, \ - _mm_loadu_si128((const __m128i *) (in + a * 16))) - -#define LOADx(a) \ - __m128i in##a = _mm_loadu_si128((const __m128i *) (in + a * 16)) - -/* full encrypt & checksum 8 blocks at once */ -#define aesni_encrypt8full(out_, n_, rkeys, in_, accum, hv_, h2v_, h3v_, h4v_, rev) \ -do { \ - unsigned char *out = out_; \ - uint32_t *n = n_; \ - const unsigned char *in = in_; \ - const __m128i hv = hv_; \ - const __m128i h2v = h2v_; \ - const __m128i h3v = h3v_; \ - const __m128i h4v = h4v_; \ - const __m128i pt = _mm_set_epi8(12, 13, 14, 15, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \ - __m128i accv_; \ - int roundctr; \ - \ - MAKE8(NVDECLx); \ - MAKE8(TEMPDECLx); \ - MAKE8(NVx); \ - MAKE8(TEMPx); \ - for (roundctr = 1; roundctr < 14; roundctr++) { \ - MAKE8(AESENCx); \ - } \ - MAKE8(AESENCLASTx); \ - MAKE8(XORx); \ - MAKE8(STOREx); \ - accv_ = _mm_load_si128((const __m128i *) accum); \ - MULREDUCE4(rev, hv, h2v, h3v, h4v, temp3, temp2, temp1, temp0, accv_); \ - MULREDUCE4(rev, hv, h2v, h3v, h4v, temp7, temp6, temp5, temp4, accv_); \ - _mm_store_si128((__m128i *) accum, accv_); \ -} while(0) - -/* checksum 8 blocks at once */ -#define aesni_addmul8full(in_, accum, hv_, h2v_, h3v_, h4v_, rev) \ -do { \ - const unsigned char *in = in_; \ - const __m128i hv = hv_; \ - const __m128i h2v = h2v_; \ - const __m128i h3v = h3v_; \ - const __m128i h4v = h4v_; \ - __m128i accv_; \ - \ - MAKE8(LOADx); \ - accv_ = _mm_load_si128((const __m128i *) accum); \ - MULREDUCE4(rev, hv, h2v, h3v, h4v, in3, in2, in1, in0, accv_); \ - MULREDUCE4(rev, hv, h2v, h3v, h4v, in7, in6, in5, in4, accv_); \ - _mm_store_si128((__m128i *) accum, accv_); \ -} while(0) - -/* decrypt 8 blocks at once */ -#define aesni_decrypt8full(out_, n_, rkeys, in_) \ -do { \ - unsigned char *out = out_; \ - uint32_t *n = n_; \ - const unsigned char *in = in_; \ - const __m128i pt = _mm_set_epi8(12, 13, 14, 15, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \ - int roundctr; \ -\ - MAKE8(NVDECLx); \ - MAKE8(TEMPDECLx); \ - MAKE8(NVx); \ - MAKE8(TEMPx); \ - for (roundctr = 1; roundctr < 14; roundctr++) { \ - MAKE8(AESENCx); \ - } \ - MAKE8(AESENCLASTx); \ - MAKE8(XORx); \ - MAKE8(STOREx); \ -} while(0) - -int -crypto_aead_aes256gcm_beforenm(crypto_aead_aes256gcm_state *ctx_, - const unsigned char *k) -{ - aes256gcm_state *ctx = (aes256gcm_state *) (void *) ctx_; - unsigned char *H = ctx->H; - __m128i *rkeys = ctx->rkeys; - __m128i zero = _mm_setzero_si128(); - - COMPILER_ASSERT((sizeof *ctx_) >= (sizeof *ctx)); - aesni_key256_expand(k, rkeys); - aesni_encrypt1(H, zero, rkeys); - - return 0; -} - -int -crypto_aead_aes256gcm_encrypt_detached_afternm(unsigned char *c, - unsigned char *mac, unsigned long long *maclen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - const __m128i rev = _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - const aes256gcm_state *ctx = (const aes256gcm_state *) (const void *) ctx_; - const __m128i *rkeys = ctx->rkeys; - __m128i Hv, H2v, H3v, H4v, accv; - unsigned long long i, j; - unsigned long long adlen_rnd64 = adlen & ~63ULL; - unsigned long long mlen_rnd128 = mlen & ~127ULL; - CRYPTO_ALIGN(16) uint32_t n2[4]; - CRYPTO_ALIGN(16) unsigned char H[16]; - CRYPTO_ALIGN(16) unsigned char T[16]; - CRYPTO_ALIGN(16) unsigned char accum[16]; - CRYPTO_ALIGN(16) unsigned char fb[16]; - - (void) nsec; - memcpy(H, ctx->H, sizeof H); - if (mlen > crypto_aead_aes256gcm_MESSAGEBYTES_MAX) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - memcpy(&n2[0], npub, 3 * 4); - n2[3] = 0x01000000; - aesni_encrypt1(T, _mm_load_si128((const __m128i *) n2), rkeys); - { - uint64_t x; - x = _bswap64((uint64_t) (8 * adlen)); - memcpy(&fb[0], &x, sizeof x); - x = _bswap64((uint64_t) (8 * mlen)); - memcpy(&fb[8], &x, sizeof x); - } - /* we store H (and it's power) byte-reverted once and for all */ - Hv = _mm_shuffle_epi8(_mm_load_si128((const __m128i *) H), rev); - _mm_store_si128((__m128i *) H, Hv); - H2v = mulv(Hv, Hv); - H3v = mulv(H2v, Hv); - H4v = mulv(H3v, Hv); - - accv = _mm_setzero_si128(); - /* unrolled by 4 GCM (by 8 doesn't improve using MULREDUCE4) */ - for (i = 0; i < adlen_rnd64; i += 64) { - __m128i X4_ = _mm_loadu_si128((const __m128i *) (ad + i + 0)); - __m128i X3_ = _mm_loadu_si128((const __m128i *) (ad + i + 16)); - __m128i X2_ = _mm_loadu_si128((const __m128i *) (ad + i + 32)); - __m128i X1_ = _mm_loadu_si128((const __m128i *) (ad + i + 48)); - MULREDUCE4(rev, Hv, H2v, H3v, H4v, X1_, X2_, X3_, X4_, accv); - } - _mm_store_si128((__m128i *) accum, accv); - - /* GCM remainder loop */ - for (i = adlen_rnd64; i < adlen; i += 16) { - unsigned int blocklen = 16; - - if (i + (unsigned long long) blocklen > adlen) { - blocklen = (unsigned int) (adlen - i); - } - addmul(accum, ad + i, blocklen, H); - } - -/* this only does 8 full blocks, so no fancy bounds checking is necessary*/ -#define LOOPRND128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - \ - for (i = 0; i < mlen_rnd128; i += lb) { \ - aesni_encrypt8full(c + i, n2, rkeys, m + i, accum, Hv, H2v, H3v, H4v, rev); \ - } \ - } while(0) - -/* remainder loop, with the slower GCM update to accommodate partial blocks */ -#define LOOPRMD128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - \ - for (i = mlen_rnd128; i < mlen; i += lb) { \ - CRYPTO_ALIGN(16) unsigned char outni[8 * 16]; \ - unsigned long long mj = lb; \ - \ - aesni_encrypt8(outni, n2, rkeys); \ - if ((i + mj) >= mlen) { \ - mj = mlen - i; \ - } \ - for (j = 0; j < mj; j++) { \ - c[i + j] = m[i + j] ^ outni[j]; \ - } \ - for (j = 0; j < mj; j += 16) { \ - unsigned int bl = 16; \ - \ - if (j + (unsigned long long) bl >= mj) { \ - bl = (unsigned int) (mj - j); \ - } \ - addmul(accum, c + i + j, bl, H); \ - } \ - } \ - } while(0) - - n2[3] &= 0x00ffffff; - COUNTER_INC2(n2); - LOOPRND128; - LOOPRMD128; - - addmul(accum, fb, 16, H); - - for (i = 0; i < 16; ++i) { - mac[i] = T[i] ^ accum[15 - i]; - } - if (maclen_p != NULL) { - *maclen_p = 16; - } - return 0; -} - -int -crypto_aead_aes256gcm_encrypt_afternm(unsigned char *c, unsigned long long *clen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - int ret = crypto_aead_aes256gcm_encrypt_detached_afternm(c, - c + mlen, NULL, - m, mlen, - ad, adlen, - nsec, npub, ctx_); - if (clen_p != NULL) { - *clen_p = mlen + crypto_aead_aes256gcm_ABYTES; - } - return ret; -} - -int -crypto_aead_aes256gcm_decrypt_detached_afternm(unsigned char *m, unsigned char *nsec, - const unsigned char *c, unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - const __m128i rev = _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - const aes256gcm_state *ctx = (const aes256gcm_state *) (const void *) ctx_; - const __m128i *rkeys = ctx->rkeys; - __m128i Hv, H2v, H3v, H4v, accv; - unsigned long long i, j; - unsigned long long adlen_rnd64 = adlen & ~63ULL; - unsigned long long mlen; - unsigned long long mlen_rnd128; - CRYPTO_ALIGN(16) uint32_t n2[4]; - CRYPTO_ALIGN(16) unsigned char H[16]; - CRYPTO_ALIGN(16) unsigned char T[16]; - CRYPTO_ALIGN(16) unsigned char accum[16]; - CRYPTO_ALIGN(16) unsigned char fb[16]; - - (void) nsec; - if (clen > crypto_aead_aes256gcm_MESSAGEBYTES_MAX) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - mlen = clen; - - memcpy(&n2[0], npub, 3 * 4); - n2[3] = 0x01000000; - aesni_encrypt1(T, _mm_load_si128((const __m128i *) n2), rkeys); - - { - uint64_t x; - x = _bswap64((uint64_t)(8 * adlen)); - memcpy(&fb[0], &x, sizeof x); - x = _bswap64((uint64_t)(8 * mlen)); - memcpy(&fb[8], &x, sizeof x); - } - - memcpy(H, ctx->H, sizeof H); - Hv = _mm_shuffle_epi8(_mm_load_si128((const __m128i *) H), rev); - _mm_store_si128((__m128i *) H, Hv); - H2v = mulv(Hv, Hv); - H3v = mulv(H2v, Hv); - H4v = mulv(H3v, Hv); - - accv = _mm_setzero_si128(); - for (i = 0; i < adlen_rnd64; i += 64) { - __m128i X4_ = _mm_loadu_si128((const __m128i *) (ad + i + 0)); - __m128i X3_ = _mm_loadu_si128((const __m128i *) (ad + i + 16)); - __m128i X2_ = _mm_loadu_si128((const __m128i *) (ad + i + 32)); - __m128i X1_ = _mm_loadu_si128((const __m128i *) (ad + i + 48)); - MULREDUCE4(rev, Hv, H2v, H3v, H4v, X1_, X2_, X3_, X4_, accv); - } - _mm_store_si128((__m128i *) accum, accv); - - for (i = adlen_rnd64; i < adlen; i += 16) { - unsigned int blocklen = 16; - if (i + (unsigned long long) blocklen > adlen) { - blocklen = (unsigned int) (adlen - i); - } - addmul(accum, ad + i, blocklen, H); - } - - mlen_rnd128 = mlen & ~127ULL; - -#define LOOPACCUMDRND128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - for (i = 0; i < mlen_rnd128; i += lb) { \ - aesni_addmul8full(c + i, accum, Hv, H2v, H3v, H4v, rev); \ - } \ - } while(0) - -#define LOOPDRND128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - \ - for (i = 0; i < mlen_rnd128; i += lb) { \ - aesni_decrypt8full(m + i, n2, rkeys, c + i); \ - } \ - } while(0) - -#define LOOPACCUMDRMD128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - \ - for (i = mlen_rnd128; i < mlen; i += lb) { \ - unsigned long long mj = lb; \ - \ - if ((i + mj) >= mlen) { \ - mj = mlen - i; \ - } \ - for (j = 0; j < mj; j += 16) { \ - unsigned int bl = 16; \ - \ - if (j + (unsigned long long) bl >= mj) { \ - bl = (unsigned int) (mj - j); \ - } \ - addmul(accum, c + i + j, bl, H); \ - } \ - } \ - } while(0) - -#define LOOPDRMD128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - \ - for (i = mlen_rnd128; i < mlen; i += lb) { \ - CRYPTO_ALIGN(16) unsigned char outni[8 * 16]; \ - unsigned long long mj = lb; \ - \ - if ((i + mj) >= mlen) { \ - mj = mlen - i; \ - } \ - aesni_encrypt8(outni, n2, rkeys); \ - for (j = 0; j < mj; j++) { \ - m[i + j] = c[i + j] ^ outni[j]; \ - } \ - } \ - } while(0) - - n2[3] &= 0x00ffffff; - - COUNTER_INC2(n2); - LOOPACCUMDRND128; - LOOPACCUMDRMD128; - addmul(accum, fb, 16, H); - { - unsigned char d = 0; - - for (i = 0; i < 16; i++) { - d |= (mac[i] ^ (T[i] ^ accum[15 - i])); - } - if (d != 0) { - if (m != NULL) { - memset(m, 0, mlen); - } - return -1; - } - if (m == NULL) { - return 0; - } - } - n2[3] = 0U; - COUNTER_INC2(n2); - LOOPDRND128; - LOOPDRMD128; - - return 0; -} - -int -crypto_aead_aes256gcm_decrypt_afternm(unsigned char *m, unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, unsigned long long clen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - unsigned long long mlen = 0ULL; - int ret = -1; - - if (clen >= crypto_aead_aes256gcm_ABYTES) { - ret = crypto_aead_aes256gcm_decrypt_detached_afternm - (m, nsec, c, clen - crypto_aead_aes256gcm_ABYTES, - c + clen - crypto_aead_aes256gcm_ABYTES, - ad, adlen, npub, ctx_); - } - if (mlen_p != NULL) { - if (ret == 0) { - mlen = clen - crypto_aead_aes256gcm_ABYTES; - } - *mlen_p = mlen; - } - return ret; -} - -int -crypto_aead_aes256gcm_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - CRYPTO_ALIGN(16) crypto_aead_aes256gcm_state ctx; - - crypto_aead_aes256gcm_beforenm(&ctx, k); - - return crypto_aead_aes256gcm_encrypt_detached_afternm - (c, mac, maclen_p, m, mlen, ad, adlen, nsec, npub, - (const crypto_aead_aes256gcm_state *) &ctx); -} - -int -crypto_aead_aes256gcm_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - CRYPTO_ALIGN(16) crypto_aead_aes256gcm_state ctx; - int ret; - - crypto_aead_aes256gcm_beforenm(&ctx, k); - - ret = crypto_aead_aes256gcm_encrypt_afternm - (c, clen_p, m, mlen, ad, adlen, nsec, npub, - (const crypto_aead_aes256gcm_state *) &ctx); - sodium_memzero(&ctx, sizeof ctx); - - return ret; -} - -int -crypto_aead_aes256gcm_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - CRYPTO_ALIGN(16) crypto_aead_aes256gcm_state ctx; - - crypto_aead_aes256gcm_beforenm(&ctx, k); - - return crypto_aead_aes256gcm_decrypt_detached_afternm - (m, nsec, c, clen, mac, ad, adlen, npub, - (const crypto_aead_aes256gcm_state *) &ctx); -} - -int -crypto_aead_aes256gcm_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - CRYPTO_ALIGN(16) crypto_aead_aes256gcm_state ctx; - int ret; - - crypto_aead_aes256gcm_beforenm(&ctx, k); - - ret = crypto_aead_aes256gcm_decrypt_afternm - (m, mlen_p, nsec, c, clen, ad, adlen, npub, - (const crypto_aead_aes256gcm_state *) &ctx); - sodium_memzero(&ctx, sizeof ctx); - - return ret; -} - -int -crypto_aead_aes256gcm_is_available(void) -{ - return sodium_runtime_has_pclmul() & sodium_runtime_has_aesni(); -} - -#else - -int -crypto_aead_aes256gcm_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_encrypt(unsigned char *c, unsigned long long *clen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *nsec, const unsigned char *npub, - const unsigned char *k) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_decrypt(unsigned char *m, unsigned long long *mlen_p, - unsigned char *nsec, const unsigned char *c, - unsigned long long clen, const unsigned char *ad, - unsigned long long adlen, const unsigned char *npub, - const unsigned char *k) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_beforenm(crypto_aead_aes256gcm_state *ctx_, - const unsigned char *k) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_encrypt_detached_afternm(unsigned char *c, - unsigned char *mac, unsigned long long *maclen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_encrypt_afternm(unsigned char *c, unsigned long long *clen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *nsec, const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_decrypt_detached_afternm(unsigned char *m, unsigned char *nsec, - const unsigned char *c, unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_decrypt_afternm(unsigned char *m, unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, unsigned long long clen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_is_available(void) -{ - return 0; -} - -#endif - -size_t -crypto_aead_aes256gcm_keybytes(void) -{ - return crypto_aead_aes256gcm_KEYBYTES; -} - -size_t -crypto_aead_aes256gcm_nsecbytes(void) -{ - return crypto_aead_aes256gcm_NSECBYTES; -} - -size_t -crypto_aead_aes256gcm_npubbytes(void) -{ - return crypto_aead_aes256gcm_NPUBBYTES; -} - -size_t -crypto_aead_aes256gcm_abytes(void) -{ - return crypto_aead_aes256gcm_ABYTES; -} - -size_t -crypto_aead_aes256gcm_statebytes(void) -{ - return (sizeof(crypto_aead_aes256gcm_state) + (size_t) 15U) & ~(size_t) 15U; -} - -size_t -crypto_aead_aes256gcm_messagebytes_max(void) -{ - return crypto_aead_aes256gcm_MESSAGEBYTES_MAX; -} - -void -crypto_aead_aes256gcm_keygen(unsigned char k[crypto_aead_aes256gcm_KEYBYTES]) -{ - randombytes_buf(k, crypto_aead_aes256gcm_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c deleted file mode 100644 index c354087..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c +++ /dev/null @@ -1,400 +0,0 @@ - -#include -#include -#include -#include - -#include "core.h" -#include "crypto_aead_chacha20poly1305.h" -#include "crypto_onetimeauth_poly1305.h" -#include "crypto_stream_chacha20.h" -#include "crypto_verify_16.h" -#include "randombytes.h" -#include "utils.h" - -#include "private/chacha20_ietf_ext.h" -#include "private/common.h" - -static const unsigned char _pad0[16] = { 0 }; - -int -crypto_aead_chacha20poly1305_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char slen[8U]; - - (void) nsec; - crypto_stream_chacha20(block0, sizeof block0, npub, k); - crypto_onetimeauth_poly1305_init(&state, block0); - sodium_memzero(block0, sizeof block0); - - crypto_onetimeauth_poly1305_update(&state, ad, adlen); - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_stream_chacha20_xor_ic(c, m, mlen, npub, 1U, k); - - crypto_onetimeauth_poly1305_update(&state, c, mlen); - STORE64_LE(slen, (uint64_t) mlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&state, mac); - sodium_memzero(&state, sizeof state); - - if (maclen_p != NULL) { - *maclen_p = crypto_aead_chacha20poly1305_ABYTES; - } - return 0; -} - -int -crypto_aead_chacha20poly1305_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long clen = 0ULL; - int ret; - - if (mlen > crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - ret = crypto_aead_chacha20poly1305_encrypt_detached(c, - c + mlen, NULL, - m, mlen, - ad, adlen, - nsec, npub, k); - if (clen_p != NULL) { - if (ret == 0) { - clen = mlen + crypto_aead_chacha20poly1305_ABYTES; - } - *clen_p = clen; - } - return ret; -} - -int -crypto_aead_chacha20poly1305_ietf_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char slen[8U]; - - (void) nsec; - crypto_stream_chacha20_ietf(block0, sizeof block0, npub, k); - crypto_onetimeauth_poly1305_init(&state, block0); - sodium_memzero(block0, sizeof block0); - - crypto_onetimeauth_poly1305_update(&state, ad, adlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - adlen) & 0xf); - - crypto_stream_chacha20_ietf_xor_ic(c, m, mlen, npub, 1U, k); - - crypto_onetimeauth_poly1305_update(&state, c, mlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - mlen) & 0xf); - - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - STORE64_LE(slen, (uint64_t) mlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&state, mac); - sodium_memzero(&state, sizeof state); - - if (maclen_p != NULL) { - *maclen_p = crypto_aead_chacha20poly1305_ietf_ABYTES; - } - return 0; -} - -int -crypto_aead_chacha20poly1305_ietf_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long clen = 0ULL; - int ret; - - if (mlen > crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - ret = crypto_aead_chacha20poly1305_ietf_encrypt_detached(c, - c + mlen, NULL, - m, mlen, - ad, adlen, - nsec, npub, k); - if (clen_p != NULL) { - if (ret == 0) { - clen = mlen + crypto_aead_chacha20poly1305_ietf_ABYTES; - } - *clen_p = clen; - } - return ret; -} - -int -crypto_aead_chacha20poly1305_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char slen[8U]; - unsigned char computed_mac[crypto_aead_chacha20poly1305_ABYTES]; - unsigned long long mlen; - int ret; - - (void) nsec; - crypto_stream_chacha20(block0, sizeof block0, npub, k); - crypto_onetimeauth_poly1305_init(&state, block0); - sodium_memzero(block0, sizeof block0); - - crypto_onetimeauth_poly1305_update(&state, ad, adlen); - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - mlen = clen; - crypto_onetimeauth_poly1305_update(&state, c, mlen); - STORE64_LE(slen, (uint64_t) mlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&state, computed_mac); - sodium_memzero(&state, sizeof state); - - COMPILER_ASSERT(sizeof computed_mac == 16U); - ret = crypto_verify_16(computed_mac, mac); - sodium_memzero(computed_mac, sizeof computed_mac); - if (m == NULL) { - return ret; - } - if (ret != 0) { - memset(m, 0, mlen); - return -1; - } - crypto_stream_chacha20_xor_ic(m, c, mlen, npub, 1U, k); - - return 0; -} - -int -crypto_aead_chacha20poly1305_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long mlen = 0ULL; - int ret = -1; - - if (clen >= crypto_aead_chacha20poly1305_ABYTES) { - ret = crypto_aead_chacha20poly1305_decrypt_detached - (m, nsec, - c, clen - crypto_aead_chacha20poly1305_ABYTES, - c + clen - crypto_aead_chacha20poly1305_ABYTES, - ad, adlen, npub, k); - } - if (mlen_p != NULL) { - if (ret == 0) { - mlen = clen - crypto_aead_chacha20poly1305_ABYTES; - } - *mlen_p = mlen; - } - return ret; -} - -int -crypto_aead_chacha20poly1305_ietf_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char slen[8U]; - unsigned char computed_mac[crypto_aead_chacha20poly1305_ietf_ABYTES]; - unsigned long long mlen; - int ret; - - (void) nsec; - crypto_stream_chacha20_ietf(block0, sizeof block0, npub, k); - crypto_onetimeauth_poly1305_init(&state, block0); - sodium_memzero(block0, sizeof block0); - - crypto_onetimeauth_poly1305_update(&state, ad, adlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - adlen) & 0xf); - - mlen = clen; - crypto_onetimeauth_poly1305_update(&state, c, mlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - mlen) & 0xf); - - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - STORE64_LE(slen, (uint64_t) mlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&state, computed_mac); - sodium_memzero(&state, sizeof state); - - COMPILER_ASSERT(sizeof computed_mac == 16U); - ret = crypto_verify_16(computed_mac, mac); - sodium_memzero(computed_mac, sizeof computed_mac); - if (m == NULL) { - return ret; - } - if (ret != 0) { - memset(m, 0, mlen); - return -1; - } - crypto_stream_chacha20_ietf_xor_ic(m, c, mlen, npub, 1U, k); - - return 0; -} - -int -crypto_aead_chacha20poly1305_ietf_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long mlen = 0ULL; - int ret = -1; - - if (clen >= crypto_aead_chacha20poly1305_ietf_ABYTES) { - ret = crypto_aead_chacha20poly1305_ietf_decrypt_detached - (m, nsec, - c, clen - crypto_aead_chacha20poly1305_ietf_ABYTES, - c + clen - crypto_aead_chacha20poly1305_ietf_ABYTES, - ad, adlen, npub, k); - } - if (mlen_p != NULL) { - if (ret == 0) { - mlen = clen - crypto_aead_chacha20poly1305_ietf_ABYTES; - } - *mlen_p = mlen; - } - return ret; -} - -size_t -crypto_aead_chacha20poly1305_ietf_keybytes(void) -{ - return crypto_aead_chacha20poly1305_ietf_KEYBYTES; -} - -size_t -crypto_aead_chacha20poly1305_ietf_npubbytes(void) -{ - return crypto_aead_chacha20poly1305_ietf_NPUBBYTES; -} - -size_t -crypto_aead_chacha20poly1305_ietf_nsecbytes(void) -{ - return crypto_aead_chacha20poly1305_ietf_NSECBYTES; -} - -size_t -crypto_aead_chacha20poly1305_ietf_abytes(void) -{ - return crypto_aead_chacha20poly1305_ietf_ABYTES; -} - -size_t -crypto_aead_chacha20poly1305_ietf_messagebytes_max(void) -{ - return crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX; -} - -void -crypto_aead_chacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_chacha20poly1305_ietf_KEYBYTES]) -{ - randombytes_buf(k, crypto_aead_chacha20poly1305_ietf_KEYBYTES); -} - -size_t -crypto_aead_chacha20poly1305_keybytes(void) -{ - return crypto_aead_chacha20poly1305_KEYBYTES; -} - -size_t -crypto_aead_chacha20poly1305_npubbytes(void) -{ - return crypto_aead_chacha20poly1305_NPUBBYTES; -} - -size_t -crypto_aead_chacha20poly1305_nsecbytes(void) -{ - return crypto_aead_chacha20poly1305_NSECBYTES; -} - -size_t -crypto_aead_chacha20poly1305_abytes(void) -{ - return crypto_aead_chacha20poly1305_ABYTES; -} - -size_t -crypto_aead_chacha20poly1305_messagebytes_max(void) -{ - return crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX; -} - -void -crypto_aead_chacha20poly1305_keygen(unsigned char k[crypto_aead_chacha20poly1305_KEYBYTES]) -{ - randombytes_buf(k, crypto_aead_chacha20poly1305_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c deleted file mode 100644 index 07e3655..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c +++ /dev/null @@ -1,262 +0,0 @@ - -#include -#include -#include -#include - -#include "core.h" -#include "crypto_aead_chacha20poly1305.h" -#include "crypto_aead_xchacha20poly1305.h" -#include "crypto_core_hchacha20.h" -#include "crypto_onetimeauth_poly1305.h" -#include "crypto_stream_chacha20.h" -#include "crypto_verify_16.h" -#include "randombytes.h" -#include "utils.h" - -#include "private/chacha20_ietf_ext.h" -#include "private/common.h" - -static const unsigned char _pad0[16] = { 0 }; - -static int -_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char slen[8U]; - - (void) nsec; - crypto_stream_chacha20_ietf_ext(block0, sizeof block0, npub, k); - crypto_onetimeauth_poly1305_init(&state, block0); - sodium_memzero(block0, sizeof block0); - - crypto_onetimeauth_poly1305_update(&state, ad, adlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - adlen) & 0xf); - - crypto_stream_chacha20_ietf_ext_xor_ic(c, m, mlen, npub, 1U, k); - - crypto_onetimeauth_poly1305_update(&state, c, mlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - mlen) & 0xf); - - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - STORE64_LE(slen, (uint64_t) mlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&state, mac); - sodium_memzero(&state, sizeof state); - - if (maclen_p != NULL) { - *maclen_p = crypto_aead_chacha20poly1305_ietf_ABYTES; - } - return 0; -} - -static int -_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char slen[8U]; - unsigned char computed_mac[crypto_aead_chacha20poly1305_ietf_ABYTES]; - unsigned long long mlen; - int ret; - - (void) nsec; - crypto_stream_chacha20_ietf_ext(block0, sizeof block0, npub, k); - crypto_onetimeauth_poly1305_init(&state, block0); - sodium_memzero(block0, sizeof block0); - - crypto_onetimeauth_poly1305_update(&state, ad, adlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - adlen) & 0xf); - - mlen = clen; - crypto_onetimeauth_poly1305_update(&state, c, mlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - mlen) & 0xf); - - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - STORE64_LE(slen, (uint64_t) mlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&state, computed_mac); - sodium_memzero(&state, sizeof state); - - COMPILER_ASSERT(sizeof computed_mac == 16U); - ret = crypto_verify_16(computed_mac, mac); - sodium_memzero(computed_mac, sizeof computed_mac); - if (m == NULL) { - return ret; - } - if (ret != 0) { - memset(m, 0, mlen); - return -1; - } - crypto_stream_chacha20_ietf_ext_xor_ic(m, c, mlen, npub, 1U, k); - - return 0; -} - -int -crypto_aead_xchacha20poly1305_ietf_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned char k2[crypto_core_hchacha20_OUTPUTBYTES]; - unsigned char npub2[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] = { 0 }; - int ret; - - crypto_core_hchacha20(k2, npub, k, NULL); - memcpy(npub2 + 4, npub + crypto_core_hchacha20_INPUTBYTES, - crypto_aead_chacha20poly1305_ietf_NPUBBYTES - 4); - ret = _encrypt_detached(c, mac, maclen_p, m, mlen, ad, adlen, - nsec, npub2, k2); - sodium_memzero(k2, crypto_core_hchacha20_OUTPUTBYTES); - - return ret; -} - -int -crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long clen = 0ULL; - int ret; - - if (mlen > crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - ret = crypto_aead_xchacha20poly1305_ietf_encrypt_detached - (c, c + mlen, NULL, m, mlen, ad, adlen, nsec, npub, k); - if (clen_p != NULL) { - if (ret == 0) { - clen = mlen + crypto_aead_xchacha20poly1305_ietf_ABYTES; - } - *clen_p = clen; - } - return ret; -} - -int -crypto_aead_xchacha20poly1305_ietf_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned char k2[crypto_core_hchacha20_OUTPUTBYTES]; - unsigned char npub2[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] = { 0 }; - int ret; - - crypto_core_hchacha20(k2, npub, k, NULL); - memcpy(npub2 + 4, npub + crypto_core_hchacha20_INPUTBYTES, - crypto_aead_chacha20poly1305_ietf_NPUBBYTES - 4); - ret = _decrypt_detached(m, nsec, c, clen, mac, ad, adlen, npub2, k2); - sodium_memzero(k2, crypto_core_hchacha20_OUTPUTBYTES); - - return ret; -} - -int -crypto_aead_xchacha20poly1305_ietf_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long mlen = 0ULL; - int ret = -1; - - if (clen >= crypto_aead_xchacha20poly1305_ietf_ABYTES) { - ret = crypto_aead_xchacha20poly1305_ietf_decrypt_detached - (m, nsec, - c, clen - crypto_aead_xchacha20poly1305_ietf_ABYTES, - c + clen - crypto_aead_xchacha20poly1305_ietf_ABYTES, - ad, adlen, npub, k); - } - if (mlen_p != NULL) { - if (ret == 0) { - mlen = clen - crypto_aead_xchacha20poly1305_ietf_ABYTES; - } - *mlen_p = mlen; - } - return ret; -} - -size_t -crypto_aead_xchacha20poly1305_ietf_keybytes(void) -{ - return crypto_aead_xchacha20poly1305_ietf_KEYBYTES; -} - -size_t -crypto_aead_xchacha20poly1305_ietf_npubbytes(void) -{ - return crypto_aead_xchacha20poly1305_ietf_NPUBBYTES; -} - -size_t -crypto_aead_xchacha20poly1305_ietf_nsecbytes(void) -{ - return crypto_aead_xchacha20poly1305_ietf_NSECBYTES; -} - -size_t -crypto_aead_xchacha20poly1305_ietf_abytes(void) -{ - return crypto_aead_xchacha20poly1305_ietf_ABYTES; -} - -size_t -crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void) -{ - return crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX; -} - -void -crypto_aead_xchacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_xchacha20poly1305_ietf_KEYBYTES]) -{ - randombytes_buf(k, crypto_aead_xchacha20poly1305_ietf_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/crypto_auth.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/crypto_auth.c deleted file mode 100644 index d061c8c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/crypto_auth.c +++ /dev/null @@ -1,41 +0,0 @@ - -#include "crypto_auth.h" -#include "randombytes.h" - -size_t -crypto_auth_bytes(void) -{ - return crypto_auth_BYTES; -} - -size_t -crypto_auth_keybytes(void) -{ - return crypto_auth_KEYBYTES; -} - -const char * -crypto_auth_primitive(void) -{ - return crypto_auth_PRIMITIVE; -} - -int -crypto_auth(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - return crypto_auth_hmacsha512256(out, in, inlen, k); -} - -int -crypto_auth_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen,const unsigned char *k) -{ - return crypto_auth_hmacsha512256_verify(h, in, inlen, k); -} - -void -crypto_auth_keygen(unsigned char k[crypto_auth_KEYBYTES]) -{ - randombytes_buf(k, crypto_auth_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c deleted file mode 100644 index a951e93..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c +++ /dev/null @@ -1,118 +0,0 @@ - -#include -#include -#include - -#include "crypto_auth_hmacsha256.h" -#include "crypto_hash_sha256.h" -#include "crypto_verify_32.h" -#include "randombytes.h" -#include "utils.h" - -size_t -crypto_auth_hmacsha256_bytes(void) -{ - return crypto_auth_hmacsha256_BYTES; -} - -size_t -crypto_auth_hmacsha256_keybytes(void) -{ - return crypto_auth_hmacsha256_KEYBYTES; -} - -size_t -crypto_auth_hmacsha256_statebytes(void) -{ - return sizeof(crypto_auth_hmacsha256_state); -} - -void -crypto_auth_hmacsha256_keygen(unsigned char k[crypto_auth_hmacsha256_KEYBYTES]) -{ - randombytes_buf(k, crypto_auth_hmacsha256_KEYBYTES); -} - -int -crypto_auth_hmacsha256_init(crypto_auth_hmacsha256_state *state, - const unsigned char *key, size_t keylen) -{ - unsigned char pad[64]; - unsigned char khash[32]; - size_t i; - - if (keylen > 64) { - crypto_hash_sha256_init(&state->ictx); - crypto_hash_sha256_update(&state->ictx, key, keylen); - crypto_hash_sha256_final(&state->ictx, khash); - key = khash; - keylen = 32; - } - crypto_hash_sha256_init(&state->ictx); - memset(pad, 0x36, 64); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha256_update(&state->ictx, pad, 64); - - crypto_hash_sha256_init(&state->octx); - memset(pad, 0x5c, 64); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha256_update(&state->octx, pad, 64); - - sodium_memzero((void *) pad, sizeof pad); - sodium_memzero((void *) khash, sizeof khash); - - return 0; -} - -int -crypto_auth_hmacsha256_update(crypto_auth_hmacsha256_state *state, - const unsigned char *in, unsigned long long inlen) -{ - crypto_hash_sha256_update(&state->ictx, in, inlen); - - return 0; -} - -int -crypto_auth_hmacsha256_final(crypto_auth_hmacsha256_state *state, - unsigned char *out) -{ - unsigned char ihash[32]; - - crypto_hash_sha256_final(&state->ictx, ihash); - crypto_hash_sha256_update(&state->octx, ihash, 32); - crypto_hash_sha256_final(&state->octx, out); - - sodium_memzero((void *) ihash, sizeof ihash); - - return 0; -} - -int -crypto_auth_hmacsha256(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - crypto_auth_hmacsha256_state state; - - crypto_auth_hmacsha256_init(&state, k, crypto_auth_hmacsha256_KEYBYTES); - crypto_auth_hmacsha256_update(&state, in, inlen); - crypto_auth_hmacsha256_final(&state, out); - - return 0; -} - -int -crypto_auth_hmacsha256_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - unsigned char correct[32]; - - crypto_auth_hmacsha256(correct, in, inlen, k); - - return crypto_verify_32(h, correct) | (-(h == correct)) | - sodium_memcmp(correct, h, 32); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c deleted file mode 100644 index 018d7a4..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c +++ /dev/null @@ -1,118 +0,0 @@ - -#include -#include -#include - -#include "crypto_auth_hmacsha512.h" -#include "crypto_hash_sha512.h" -#include "crypto_verify_64.h" -#include "randombytes.h" -#include "utils.h" - -size_t -crypto_auth_hmacsha512_bytes(void) -{ - return crypto_auth_hmacsha512_BYTES; -} - -size_t -crypto_auth_hmacsha512_keybytes(void) -{ - return crypto_auth_hmacsha512_KEYBYTES; -} - -size_t -crypto_auth_hmacsha512_statebytes(void) -{ - return sizeof(crypto_auth_hmacsha512_state); -} - -void -crypto_auth_hmacsha512_keygen(unsigned char k[crypto_auth_hmacsha512_KEYBYTES]) -{ - randombytes_buf(k, crypto_auth_hmacsha512_KEYBYTES); -} - -int -crypto_auth_hmacsha512_init(crypto_auth_hmacsha512_state *state, - const unsigned char *key, size_t keylen) -{ - unsigned char pad[128]; - unsigned char khash[64]; - size_t i; - - if (keylen > 128) { - crypto_hash_sha512_init(&state->ictx); - crypto_hash_sha512_update(&state->ictx, key, keylen); - crypto_hash_sha512_final(&state->ictx, khash); - key = khash; - keylen = 64; - } - crypto_hash_sha512_init(&state->ictx); - memset(pad, 0x36, 128); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha512_update(&state->ictx, pad, 128); - - crypto_hash_sha512_init(&state->octx); - memset(pad, 0x5c, 128); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha512_update(&state->octx, pad, 128); - - sodium_memzero((void *) pad, sizeof pad); - sodium_memzero((void *) khash, sizeof khash); - - return 0; -} - -int -crypto_auth_hmacsha512_update(crypto_auth_hmacsha512_state *state, - const unsigned char *in, unsigned long long inlen) -{ - crypto_hash_sha512_update(&state->ictx, in, inlen); - - return 0; -} - -int -crypto_auth_hmacsha512_final(crypto_auth_hmacsha512_state *state, - unsigned char *out) -{ - unsigned char ihash[64]; - - crypto_hash_sha512_final(&state->ictx, ihash); - crypto_hash_sha512_update(&state->octx, ihash, 64); - crypto_hash_sha512_final(&state->octx, out); - - sodium_memzero((void *) ihash, sizeof ihash); - - return 0; -} - -int -crypto_auth_hmacsha512(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - crypto_auth_hmacsha512_state state; - - crypto_auth_hmacsha512_init(&state, k, crypto_auth_hmacsha512_KEYBYTES); - crypto_auth_hmacsha512_update(&state, in, inlen); - crypto_auth_hmacsha512_final(&state, out); - - return 0; -} - -int -crypto_auth_hmacsha512_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - unsigned char correct[64]; - - crypto_auth_hmacsha512(correct, in, inlen, k); - - return crypto_verify_64(h, correct) | (-(h == correct)) | - sodium_memcmp(correct, h, 64); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c deleted file mode 100644 index 432d6db..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c +++ /dev/null @@ -1,93 +0,0 @@ - -#include -#include -#include - -#include "crypto_auth_hmacsha512.h" -#include "crypto_auth_hmacsha512256.h" -#include "crypto_hash_sha512.h" -#include "crypto_verify_32.h" -#include "randombytes.h" -#include "utils.h" - -size_t -crypto_auth_hmacsha512256_bytes(void) -{ - return crypto_auth_hmacsha512256_BYTES; -} - -size_t -crypto_auth_hmacsha512256_keybytes(void) -{ - return crypto_auth_hmacsha512256_KEYBYTES; -} - -size_t -crypto_auth_hmacsha512256_statebytes(void) -{ - return sizeof(crypto_auth_hmacsha512256_state); -} - -void -crypto_auth_hmacsha512256_keygen( - unsigned char k[crypto_auth_hmacsha512256_KEYBYTES]) -{ - randombytes_buf(k, crypto_auth_hmacsha512256_KEYBYTES); -} - -int -crypto_auth_hmacsha512256_init(crypto_auth_hmacsha512256_state *state, - const unsigned char *key, size_t keylen) -{ - return crypto_auth_hmacsha512_init((crypto_auth_hmacsha512_state *) state, - key, keylen); -} - -int -crypto_auth_hmacsha512256_update(crypto_auth_hmacsha512256_state *state, - const unsigned char *in, - unsigned long long inlen) -{ - return crypto_auth_hmacsha512_update((crypto_auth_hmacsha512_state *) state, - in, inlen); -} - -int -crypto_auth_hmacsha512256_final(crypto_auth_hmacsha512256_state *state, - unsigned char *out) -{ - unsigned char out0[64]; - - crypto_auth_hmacsha512_final((crypto_auth_hmacsha512_state *) state, out0); - memcpy(out, out0, 32); - - return 0; -} - -int -crypto_auth_hmacsha512256(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - crypto_auth_hmacsha512256_state state; - - crypto_auth_hmacsha512256_init(&state, k, - crypto_auth_hmacsha512256_KEYBYTES); - crypto_auth_hmacsha512256_update(&state, in, inlen); - crypto_auth_hmacsha512256_final(&state, out); - - return 0; -} - -int -crypto_auth_hmacsha512256_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) -{ - unsigned char correct[32]; - - crypto_auth_hmacsha512256(correct, in, inlen, k); - - return crypto_verify_32(h, correct) | (-(h == correct)) | - sodium_memcmp(correct, h, 32); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box.c deleted file mode 100644 index 7e4f00b..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box.c +++ /dev/null @@ -1,114 +0,0 @@ - -#include "crypto_box.h" - -size_t -crypto_box_seedbytes(void) -{ - return crypto_box_SEEDBYTES; -} - -size_t -crypto_box_publickeybytes(void) -{ - return crypto_box_PUBLICKEYBYTES; -} - -size_t -crypto_box_secretkeybytes(void) -{ - return crypto_box_SECRETKEYBYTES; -} - -size_t -crypto_box_beforenmbytes(void) -{ - return crypto_box_BEFORENMBYTES; -} - -size_t -crypto_box_noncebytes(void) -{ - return crypto_box_NONCEBYTES; -} - -size_t -crypto_box_zerobytes(void) -{ - return crypto_box_ZEROBYTES; -} - -size_t -crypto_box_boxzerobytes(void) -{ - return crypto_box_BOXZEROBYTES; -} - -size_t -crypto_box_macbytes(void) -{ - return crypto_box_MACBYTES; -} - -size_t -crypto_box_messagebytes_max(void) -{ - return crypto_box_MESSAGEBYTES_MAX; -} - -const char * -crypto_box_primitive(void) -{ - return crypto_box_PRIMITIVE; -} - -int -crypto_box_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed) -{ - return crypto_box_curve25519xsalsa20poly1305_seed_keypair(pk, sk, seed); -} - -int -crypto_box_keypair(unsigned char *pk, unsigned char *sk) -{ - return crypto_box_curve25519xsalsa20poly1305_keypair(pk, sk); -} - -int -crypto_box_beforenm(unsigned char *k, const unsigned char *pk, - const unsigned char *sk) -{ - return crypto_box_curve25519xsalsa20poly1305_beforenm(k, pk, sk); -} - -int -crypto_box_afternm(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_box_curve25519xsalsa20poly1305_afternm(c, m, mlen, n, k); -} - -int -crypto_box_open_afternm(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_box_curve25519xsalsa20poly1305_open_afternm(m, c, clen, n, k); -} - -int -crypto_box(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) -{ - return crypto_box_curve25519xsalsa20poly1305(c, m, mlen, n, pk, sk); -} - -int -crypto_box_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) -{ - return crypto_box_curve25519xsalsa20poly1305_open(m, c, clen, n, pk, sk); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box_easy.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box_easy.c deleted file mode 100644 index deb40b4..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box_easy.c +++ /dev/null @@ -1,115 +0,0 @@ - -#include -#include -#include - -#include "core.h" -#include "crypto_box.h" -#include "crypto_secretbox.h" -#include "private/common.h" -#include "utils.h" - -int -crypto_box_detached_afternm(unsigned char *c, unsigned char *mac, - const unsigned char *m, unsigned long long mlen, - const unsigned char *n, const unsigned char *k) -{ - return crypto_secretbox_detached(c, mac, m, mlen, n, k); -} - -int -crypto_box_detached(unsigned char *c, unsigned char *mac, - const unsigned char *m, unsigned long long mlen, - const unsigned char *n, const unsigned char *pk, - const unsigned char *sk) -{ - unsigned char k[crypto_box_BEFORENMBYTES]; - int ret; - - COMPILER_ASSERT(crypto_box_BEFORENMBYTES >= crypto_secretbox_KEYBYTES); - if (crypto_box_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_detached_afternm(c, mac, m, mlen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -int -crypto_box_easy_afternm(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - if (mlen > crypto_box_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return crypto_box_detached_afternm(c + crypto_box_MACBYTES, c, m, mlen, n, - k); -} - -int -crypto_box_easy(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) -{ - if (mlen > crypto_box_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return crypto_box_detached(c + crypto_box_MACBYTES, c, m, mlen, n, - pk, sk); -} - -int -crypto_box_open_detached_afternm(unsigned char *m, const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - return crypto_secretbox_open_detached(m, c, mac, clen, n, k); -} - -int -crypto_box_open_detached(unsigned char *m, const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) -{ - unsigned char k[crypto_box_BEFORENMBYTES]; - int ret; - - if (crypto_box_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_open_detached_afternm(m, c, mac, clen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -int -crypto_box_open_easy_afternm(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - if (clen < crypto_box_MACBYTES) { - return -1; - } - return crypto_box_open_detached_afternm(m, c + crypto_box_MACBYTES, c, - clen - crypto_box_MACBYTES, - n, k); -} - -int -crypto_box_open_easy(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) -{ - if (clen < crypto_box_MACBYTES) { - return -1; - } - return crypto_box_open_detached(m, c + crypto_box_MACBYTES, c, - clen - crypto_box_MACBYTES, - n, pk, sk); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box_seal.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box_seal.c deleted file mode 100644 index 7181334..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/crypto_box_seal.c +++ /dev/null @@ -1,68 +0,0 @@ - -#include - -#include "crypto_box.h" -#include "crypto_generichash.h" -#include "private/common.h" -#include "utils.h" - -static int -_crypto_box_seal_nonce(unsigned char *nonce, - const unsigned char *pk1, const unsigned char *pk2) -{ - crypto_generichash_state st; - - crypto_generichash_init(&st, NULL, 0U, crypto_box_NONCEBYTES); - crypto_generichash_update(&st, pk1, crypto_box_PUBLICKEYBYTES); - crypto_generichash_update(&st, pk2, crypto_box_PUBLICKEYBYTES); - crypto_generichash_final(&st, nonce, crypto_box_NONCEBYTES); - - return 0; -} - -int -crypto_box_seal(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *pk) -{ - unsigned char nonce[crypto_box_NONCEBYTES]; - unsigned char epk[crypto_box_PUBLICKEYBYTES]; - unsigned char esk[crypto_box_SECRETKEYBYTES]; - int ret; - - if (crypto_box_keypair(epk, esk) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - memcpy(c, epk, crypto_box_PUBLICKEYBYTES); - _crypto_box_seal_nonce(nonce, epk, pk); - ret = crypto_box_easy(c + crypto_box_PUBLICKEYBYTES, m, mlen, - nonce, pk, esk); - sodium_memzero(esk, sizeof esk); - sodium_memzero(epk, sizeof epk); - sodium_memzero(nonce, sizeof nonce); - - return ret; -} - -int -crypto_box_seal_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, - const unsigned char *pk, const unsigned char *sk) -{ - unsigned char nonce[crypto_box_NONCEBYTES]; - - if (clen < crypto_box_SEALBYTES) { - return -1; - } - _crypto_box_seal_nonce(nonce, c, pk); - - COMPILER_ASSERT(crypto_box_PUBLICKEYBYTES < crypto_box_SEALBYTES); - return crypto_box_open_easy(m, c + crypto_box_PUBLICKEYBYTES, - clen - crypto_box_PUBLICKEYBYTES, - nonce, c, sk); -} - -size_t -crypto_box_sealbytes(void) -{ - return crypto_box_SEALBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c deleted file mode 100644 index 5e2532e..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c +++ /dev/null @@ -1,204 +0,0 @@ - -#include -#include -#include -#include - -#include "core.h" -#include "crypto_box_curve25519xchacha20poly1305.h" -#include "crypto_core_hchacha20.h" -#include "crypto_hash_sha512.h" -#include "crypto_scalarmult_curve25519.h" -#include "crypto_secretbox_xchacha20poly1305.h" -#include "private/common.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_box_curve25519xchacha20poly1305_seed_keypair(unsigned char *pk, - unsigned char *sk, - const unsigned char *seed) -{ - unsigned char hash[64]; - - crypto_hash_sha512(hash, seed, 32); - memcpy(sk, hash, 32); - sodium_memzero(hash, sizeof hash); - - return crypto_scalarmult_curve25519_base(pk, sk); -} - -int -crypto_box_curve25519xchacha20poly1305_keypair(unsigned char *pk, - unsigned char *sk) -{ - randombytes_buf(sk, 32); - - return crypto_scalarmult_curve25519_base(pk, sk); -} - -int -crypto_box_curve25519xchacha20poly1305_beforenm(unsigned char *k, - const unsigned char *pk, - const unsigned char *sk) -{ - static const unsigned char zero[16] = { 0 }; - unsigned char s[32]; - - if (crypto_scalarmult_curve25519(s, sk, pk) != 0) { - return -1; - } - return crypto_core_hchacha20(k, zero, s, NULL); -} - -int -crypto_box_curve25519xchacha20poly1305_detached_afternm( - unsigned char *c, unsigned char *mac, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, const unsigned char *k) -{ - return crypto_secretbox_xchacha20poly1305_detached(c, mac, m, mlen, n, k); -} - -int -crypto_box_curve25519xchacha20poly1305_detached( - unsigned char *c, unsigned char *mac, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, const unsigned char *pk, - const unsigned char *sk) -{ - unsigned char k[crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES]; - int ret; - - COMPILER_ASSERT(crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES >= - crypto_secretbox_xchacha20poly1305_KEYBYTES); - if (crypto_box_curve25519xchacha20poly1305_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_curve25519xchacha20poly1305_detached_afternm(c, mac, m, - mlen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -int -crypto_box_curve25519xchacha20poly1305_easy_afternm(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) -{ - if (mlen > crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return crypto_box_curve25519xchacha20poly1305_detached_afternm( - c + crypto_box_curve25519xchacha20poly1305_MACBYTES, c, m, mlen, n, k); -} - -int -crypto_box_curve25519xchacha20poly1305_easy( - unsigned char *c, const unsigned char *m, unsigned long long mlen, - const unsigned char *n, const unsigned char *pk, const unsigned char *sk) -{ - if (mlen > crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return crypto_box_curve25519xchacha20poly1305_detached( - c + crypto_box_curve25519xchacha20poly1305_MACBYTES, c, m, mlen, n, pk, - sk); -} - -int -crypto_box_curve25519xchacha20poly1305_open_detached_afternm( - unsigned char *m, const unsigned char *c, const unsigned char *mac, - unsigned long long clen, const unsigned char *n, const unsigned char *k) -{ - return crypto_secretbox_xchacha20poly1305_open_detached(m, c, mac, clen, n, - k); -} - -int -crypto_box_curve25519xchacha20poly1305_open_detached( - unsigned char *m, const unsigned char *c, const unsigned char *mac, - unsigned long long clen, const unsigned char *n, const unsigned char *pk, - const unsigned char *sk) -{ - unsigned char k[crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES]; - int ret; - - if (crypto_box_curve25519xchacha20poly1305_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_curve25519xchacha20poly1305_open_detached_afternm( - m, c, mac, clen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -int -crypto_box_curve25519xchacha20poly1305_open_easy_afternm( - unsigned char *m, const unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - if (clen < crypto_box_curve25519xchacha20poly1305_MACBYTES) { - return -1; - } - return crypto_box_curve25519xchacha20poly1305_open_detached_afternm( - m, c + crypto_box_curve25519xchacha20poly1305_MACBYTES, c, - clen - crypto_box_curve25519xchacha20poly1305_MACBYTES, n, k); -} - -int -crypto_box_curve25519xchacha20poly1305_open_easy( - unsigned char *m, const unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *pk, const unsigned char *sk) -{ - if (clen < crypto_box_curve25519xchacha20poly1305_MACBYTES) { - return -1; - } - return crypto_box_curve25519xchacha20poly1305_open_detached( - m, c + crypto_box_curve25519xchacha20poly1305_MACBYTES, c, - clen - crypto_box_curve25519xchacha20poly1305_MACBYTES, n, pk, sk); -} - -size_t -crypto_box_curve25519xchacha20poly1305_seedbytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_SEEDBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_publickeybytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_secretkeybytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_beforenmbytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_noncebytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_NONCEBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_macbytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_MACBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_messagebytes_max(void) -{ - return crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c deleted file mode 100644 index 9e73a26..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c +++ /dev/null @@ -1,79 +0,0 @@ - -#include - -#include "crypto_box_curve25519xchacha20poly1305.h" -#include "crypto_generichash.h" -#include "private/common.h" -#include "utils.h" - -static int -_crypto_box_curve25519xchacha20poly1305_seal_nonce(unsigned char *nonce, - const unsigned char *pk1, - const unsigned char *pk2) -{ - crypto_generichash_state st; - - crypto_generichash_init(&st, NULL, 0U, - crypto_box_curve25519xchacha20poly1305_NONCEBYTES); - crypto_generichash_update(&st, pk1, - crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES); - crypto_generichash_update(&st, pk2, - crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES); - crypto_generichash_final(&st, nonce, - crypto_box_curve25519xchacha20poly1305_NONCEBYTES); - - return 0; -} - -int -crypto_box_curve25519xchacha20poly1305_seal(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk) -{ - unsigned char nonce[crypto_box_curve25519xchacha20poly1305_NONCEBYTES]; - unsigned char epk[crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES]; - unsigned char esk[crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES]; - int ret; - - if (crypto_box_curve25519xchacha20poly1305_keypair(epk, esk) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - memcpy(c, epk, crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES); - _crypto_box_curve25519xchacha20poly1305_seal_nonce(nonce, epk, pk); - ret = crypto_box_curve25519xchacha20poly1305_easy( - c + crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES, m, mlen, - nonce, pk, esk); - sodium_memzero(esk, sizeof esk); - sodium_memzero(epk, sizeof epk); - sodium_memzero(nonce, sizeof nonce); - - return ret; -} - -int -crypto_box_curve25519xchacha20poly1305_seal_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, - const unsigned char *pk, - const unsigned char *sk) -{ - unsigned char nonce[crypto_box_curve25519xchacha20poly1305_NONCEBYTES]; - - if (clen < crypto_box_curve25519xchacha20poly1305_SEALBYTES) { - return -1; - } - _crypto_box_curve25519xchacha20poly1305_seal_nonce(nonce, c, pk); - - COMPILER_ASSERT(crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES < - crypto_box_curve25519xchacha20poly1305_SEALBYTES); - - return crypto_box_curve25519xchacha20poly1305_open_easy( - m, c + crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES, - clen - crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES, - nonce, c, sk); -} - -size_t -crypto_box_curve25519xchacha20poly1305_sealbytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_SEALBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c deleted file mode 100644 index 4c1d62e..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c +++ /dev/null @@ -1,156 +0,0 @@ -#include - -#include "crypto_box_curve25519xsalsa20poly1305.h" -#include "crypto_core_hsalsa20.h" -#include "crypto_hash_sha512.h" -#include "crypto_scalarmult_curve25519.h" -#include "crypto_secretbox_xsalsa20poly1305.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_box_curve25519xsalsa20poly1305_seed_keypair(unsigned char *pk, - unsigned char *sk, - const unsigned char *seed) -{ - unsigned char hash[64]; - - crypto_hash_sha512(hash, seed, 32); - memcpy(sk, hash, 32); - sodium_memzero(hash, sizeof hash); - - return crypto_scalarmult_curve25519_base(pk, sk); -} - -int -crypto_box_curve25519xsalsa20poly1305_keypair(unsigned char *pk, - unsigned char *sk) -{ - randombytes_buf(sk, 32); - - return crypto_scalarmult_curve25519_base(pk, sk); -} - -int -crypto_box_curve25519xsalsa20poly1305_beforenm(unsigned char *k, - const unsigned char *pk, - const unsigned char *sk) -{ - static const unsigned char zero[16] = { 0 }; - unsigned char s[32]; - - if (crypto_scalarmult_curve25519(s, sk, pk) != 0) { - return -1; - } - return crypto_core_hsalsa20(k, zero, s, NULL); -} - -int -crypto_box_curve25519xsalsa20poly1305_afternm(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) -{ - return crypto_secretbox_xsalsa20poly1305(c, m, mlen, n, k); -} - -int -crypto_box_curve25519xsalsa20poly1305_open_afternm(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - return crypto_secretbox_xsalsa20poly1305_open(m, c, clen, n, k); -} - -int -crypto_box_curve25519xsalsa20poly1305(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) -{ - unsigned char k[crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES]; - int ret; - - if (crypto_box_curve25519xsalsa20poly1305_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_curve25519xsalsa20poly1305_afternm(c, m, mlen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -int -crypto_box_curve25519xsalsa20poly1305_open( - unsigned char *m, const unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *pk, const unsigned char *sk) -{ - unsigned char k[crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES]; - int ret; - - if (crypto_box_curve25519xsalsa20poly1305_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_curve25519xsalsa20poly1305_open_afternm(m, c, clen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_seedbytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_SEEDBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_publickeybytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_secretkeybytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_beforenmbytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_noncebytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_NONCEBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_zerobytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_ZEROBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_boxzerobytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_macbytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_MACBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_messagebytes_max(void) -{ - return crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/core_ed25519.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/core_ed25519.c deleted file mode 100644 index 0029a09..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/core_ed25519.c +++ /dev/null @@ -1,225 +0,0 @@ - -#include - -#include "crypto_core_ed25519.h" -#include "private/common.h" -#include "private/ed25519_ref10.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_core_ed25519_is_valid_point(const unsigned char *p) -{ - ge25519_p3 p_p3; - - if (ge25519_is_canonical(p) == 0 || - ge25519_has_small_order(p) != 0 || - ge25519_frombytes(&p_p3, p) != 0 || - ge25519_is_on_curve(&p_p3) == 0 || - ge25519_is_on_main_subgroup(&p_p3) == 0) { - return 0; - } - return 1; -} - -int -crypto_core_ed25519_add(unsigned char *r, - const unsigned char *p, const unsigned char *q) -{ - ge25519_p3 p_p3, q_p3, r_p3; - ge25519_p1p1 r_p1p1; - ge25519_cached q_cached; - - if (ge25519_frombytes(&p_p3, p) != 0 || ge25519_is_on_curve(&p_p3) == 0 || - ge25519_frombytes(&q_p3, q) != 0 || ge25519_is_on_curve(&q_p3) == 0) { - return -1; - } - ge25519_p3_to_cached(&q_cached, &q_p3); - ge25519_add(&r_p1p1, &p_p3, &q_cached); - ge25519_p1p1_to_p3(&r_p3, &r_p1p1); - ge25519_p3_tobytes(r, &r_p3); - - return 0; -} - -int -crypto_core_ed25519_sub(unsigned char *r, - const unsigned char *p, const unsigned char *q) -{ - ge25519_p3 p_p3, q_p3, r_p3; - ge25519_p1p1 r_p1p1; - ge25519_cached q_cached; - - if (ge25519_frombytes(&p_p3, p) != 0 || ge25519_is_on_curve(&p_p3) == 0 || - ge25519_frombytes(&q_p3, q) != 0 || ge25519_is_on_curve(&q_p3) == 0) { - return -1; - } - ge25519_p3_to_cached(&q_cached, &q_p3); - ge25519_sub(&r_p1p1, &p_p3, &q_cached); - ge25519_p1p1_to_p3(&r_p3, &r_p1p1); - ge25519_p3_tobytes(r, &r_p3); - - return 0; -} - -int -crypto_core_ed25519_from_uniform(unsigned char *p, const unsigned char *r) -{ - ge25519_from_uniform(p, r); - - return 0; -} - -int -crypto_core_ed25519_from_hash(unsigned char *p, const unsigned char *h) -{ - ge25519_from_hash(p, h); - - return 0; -} - -void -crypto_core_ed25519_random(unsigned char *p) -{ - unsigned char h[crypto_core_ed25519_HASHBYTES]; - - randombytes_buf(h, sizeof h); - (void) crypto_core_ed25519_from_hash(p, h); -} - -void -crypto_core_ed25519_scalar_random(unsigned char *r) -{ - do { - randombytes_buf(r, crypto_core_ed25519_SCALARBYTES); - r[crypto_core_ed25519_SCALARBYTES - 1] &= 0x1f; - } while (sc25519_is_canonical(r) == 0 || - sodium_is_zero(r, crypto_core_ed25519_SCALARBYTES)); -} - -int -crypto_core_ed25519_scalar_invert(unsigned char *recip, const unsigned char *s) -{ - sc25519_invert(recip, s); - - return - sodium_is_zero(s, crypto_core_ed25519_SCALARBYTES); -} - -/* 2^252+27742317777372353535851937790883648493 */ -static const unsigned char L[] = { - 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, - 0xa2, 0xde, 0xf9, 0xde, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10 -}; - -void -crypto_core_ed25519_scalar_negate(unsigned char *neg, const unsigned char *s) -{ - unsigned char t_[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; - unsigned char s_[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; - - COMPILER_ASSERT(crypto_core_ed25519_NONREDUCEDSCALARBYTES >= - 2 * crypto_core_ed25519_SCALARBYTES); - memset(t_, 0, sizeof t_); - memset(s_, 0, sizeof s_); - memcpy(t_ + crypto_core_ed25519_SCALARBYTES, L, - crypto_core_ed25519_SCALARBYTES); - memcpy(s_, s, crypto_core_ed25519_SCALARBYTES); - sodium_sub(t_, s_, sizeof t_); - sc25519_reduce(t_); - memcpy(neg, t_, crypto_core_ed25519_SCALARBYTES); -} - -void -crypto_core_ed25519_scalar_complement(unsigned char *comp, - const unsigned char *s) -{ - unsigned char t_[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; - unsigned char s_[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; - - COMPILER_ASSERT(crypto_core_ed25519_NONREDUCEDSCALARBYTES >= - 2 * crypto_core_ed25519_SCALARBYTES); - memset(t_, 0, sizeof t_); - memset(s_, 0, sizeof s_); - t_[0]++; - memcpy(t_ + crypto_core_ed25519_SCALARBYTES, L, - crypto_core_ed25519_SCALARBYTES); - memcpy(s_, s, crypto_core_ed25519_SCALARBYTES); - sodium_sub(t_, s_, sizeof t_); - sc25519_reduce(t_); - memcpy(comp, t_, crypto_core_ed25519_SCALARBYTES); -} - -void -crypto_core_ed25519_scalar_add(unsigned char *z, const unsigned char *x, - const unsigned char *y) -{ - unsigned char x_[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; - unsigned char y_[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; - - memset(x_, 0, sizeof x_); - memset(y_, 0, sizeof y_); - memcpy(x_, x, crypto_core_ed25519_SCALARBYTES); - memcpy(y_, y, crypto_core_ed25519_SCALARBYTES); - sodium_add(x_, y_, crypto_core_ed25519_SCALARBYTES); - crypto_core_ed25519_scalar_reduce(z, x_); -} - -void -crypto_core_ed25519_scalar_sub(unsigned char *z, const unsigned char *x, - const unsigned char *y) -{ - unsigned char yn[crypto_core_ed25519_SCALARBYTES]; - - crypto_core_ed25519_scalar_negate(yn, y); - crypto_core_ed25519_scalar_add(z, x, yn); -} - -void -crypto_core_ed25519_scalar_mul(unsigned char *z, const unsigned char *x, - const unsigned char *y) -{ - sc25519_mul(z, x, y); -} - -void -crypto_core_ed25519_scalar_reduce(unsigned char *r, - const unsigned char *s) -{ - unsigned char t[crypto_core_ed25519_NONREDUCEDSCALARBYTES]; - - memcpy(t, s, sizeof t); - sc25519_reduce(t); - memcpy(r, t, crypto_core_ed25519_SCALARBYTES); - sodium_memzero(t, sizeof t); -} - -size_t -crypto_core_ed25519_bytes(void) -{ - return crypto_core_ed25519_BYTES; -} - -size_t -crypto_core_ed25519_nonreducedscalarbytes(void) -{ - return crypto_core_ed25519_NONREDUCEDSCALARBYTES; -} - -size_t -crypto_core_ed25519_uniformbytes(void) -{ - return crypto_core_ed25519_UNIFORMBYTES; -} - -size_t -crypto_core_ed25519_hashbytes(void) -{ - return crypto_core_ed25519_HASHBYTES; -} - -size_t -crypto_core_ed25519_scalarbytes(void) -{ - return crypto_core_ed25519_SCALARBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/core_ristretto255.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/core_ristretto255.c deleted file mode 100644 index cad3c80..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/core_ristretto255.c +++ /dev/null @@ -1,156 +0,0 @@ - -#include - -#include "crypto_core_ed25519.h" -#include "crypto_core_ristretto255.h" -#include "private/common.h" -#include "private/ed25519_ref10.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_core_ristretto255_is_valid_point(const unsigned char *p) -{ - ge25519_p3 p_p3; - - if (ristretto255_frombytes(&p_p3, p) != 0) { - return 0; - } - return 1; -} - -int -crypto_core_ristretto255_add(unsigned char *r, - const unsigned char *p, const unsigned char *q) -{ - ge25519_p3 p_p3, q_p3, r_p3; - ge25519_p1p1 r_p1p1; - ge25519_cached q_cached; - - if (ristretto255_frombytes(&p_p3, p) != 0 || - ristretto255_frombytes(&q_p3, q) != 0) { - return -1; - } - ge25519_p3_to_cached(&q_cached, &q_p3); - ge25519_add(&r_p1p1, &p_p3, &q_cached); - ge25519_p1p1_to_p3(&r_p3, &r_p1p1); - ristretto255_p3_tobytes(r, &r_p3); - - return 0; -} - -int -crypto_core_ristretto255_sub(unsigned char *r, - const unsigned char *p, const unsigned char *q) -{ - ge25519_p3 p_p3, q_p3, r_p3; - ge25519_p1p1 r_p1p1; - ge25519_cached q_cached; - - if (ristretto255_frombytes(&p_p3, p) != 0 || - ristretto255_frombytes(&q_p3, q) != 0) { - return -1; - } - ge25519_p3_to_cached(&q_cached, &q_p3); - ge25519_sub(&r_p1p1, &p_p3, &q_cached); - ge25519_p1p1_to_p3(&r_p3, &r_p1p1); - ristretto255_p3_tobytes(r, &r_p3); - - return 0; -} - -int -crypto_core_ristretto255_from_hash(unsigned char *p, const unsigned char *r) -{ - ristretto255_from_hash(p, r); - - return 0; -} - -void -crypto_core_ristretto255_random(unsigned char *p) -{ - unsigned char h[crypto_core_ristretto255_HASHBYTES]; - - randombytes_buf(h, sizeof h); - (void) crypto_core_ristretto255_from_hash(p, h); -} - -void -crypto_core_ristretto255_scalar_random(unsigned char *r) -{ - crypto_core_ed25519_scalar_random(r); -} - -int -crypto_core_ristretto255_scalar_invert(unsigned char *recip, - const unsigned char *s) -{ - return crypto_core_ed25519_scalar_invert(recip, s); -} - -void -crypto_core_ristretto255_scalar_negate(unsigned char *neg, - const unsigned char *s) -{ - crypto_core_ed25519_scalar_negate(neg, s); -} - -void -crypto_core_ristretto255_scalar_complement(unsigned char *comp, - const unsigned char *s) -{ - crypto_core_ed25519_scalar_complement(comp, s); -} - -void -crypto_core_ristretto255_scalar_add(unsigned char *z, const unsigned char *x, - const unsigned char *y) -{ - crypto_core_ed25519_scalar_add(z, x, y); -} - -void -crypto_core_ristretto255_scalar_sub(unsigned char *z, const unsigned char *x, - const unsigned char *y) -{ - crypto_core_ed25519_scalar_sub(z, x, y); -} - -void -crypto_core_ristretto255_scalar_mul(unsigned char *z, const unsigned char *x, - const unsigned char *y) -{ - sc25519_mul(z, x, y); -} - -void -crypto_core_ristretto255_scalar_reduce(unsigned char *r, - const unsigned char *s) -{ - crypto_core_ed25519_scalar_reduce(r, s); -} - -size_t -crypto_core_ristretto255_bytes(void) -{ - return crypto_core_ristretto255_BYTES; -} - -size_t -crypto_core_ristretto255_nonreducedscalarbytes(void) -{ - return crypto_core_ristretto255_NONREDUCEDSCALARBYTES; -} - -size_t -crypto_core_ristretto255_hashbytes(void) -{ - return crypto_core_ristretto255_HASHBYTES; -} - -size_t -crypto_core_ristretto255_scalarbytes(void) -{ - return crypto_core_ristretto255_SCALARBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c deleted file mode 100644 index dda6736..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c +++ /dev/null @@ -1,2866 +0,0 @@ -#include -#include -#include -#include - -#include "crypto_verify_32.h" -#include "private/common.h" -#include "private/ed25519_ref10.h" -#include "utils.h" - -static inline uint64_t -load_3(const unsigned char *in) -{ - uint64_t result; - - result = (uint64_t) in[0]; - result |= ((uint64_t) in[1]) << 8; - result |= ((uint64_t) in[2]) << 16; - - return result; -} - -static inline uint64_t -load_4(const unsigned char *in) -{ - uint64_t result; - - result = (uint64_t) in[0]; - result |= ((uint64_t) in[1]) << 8; - result |= ((uint64_t) in[2]) << 16; - result |= ((uint64_t) in[3]) << 24; - - return result; -} - -/* - * Field arithmetic: - * Use 5*51 bit limbs on 64-bit systems with support for 128 bit arithmetic, - * and 10*25.5 bit limbs elsewhere. - * - * Functions used elsewhere that are candidates for inlining are defined - * via "private/curve25519_ref10.h". - */ - -#ifdef HAVE_TI_MODE -# include "fe_51/constants.h" -# include "fe_51/fe.h" -#else -# include "fe_25_5/constants.h" -# include "fe_25_5/fe.h" -#endif - -void -fe25519_invert(fe25519 out, const fe25519 z) -{ - fe25519 t0; - fe25519 t1; - fe25519 t2; - fe25519 t3; - int i; - - fe25519_sq(t0, z); - fe25519_sq(t1, t0); - fe25519_sq(t1, t1); - fe25519_mul(t1, z, t1); - fe25519_mul(t0, t0, t1); - fe25519_sq(t2, t0); - fe25519_mul(t1, t1, t2); - fe25519_sq(t2, t1); - for (i = 1; i < 5; ++i) { - fe25519_sq(t2, t2); - } - fe25519_mul(t1, t2, t1); - fe25519_sq(t2, t1); - for (i = 1; i < 10; ++i) { - fe25519_sq(t2, t2); - } - fe25519_mul(t2, t2, t1); - fe25519_sq(t3, t2); - for (i = 1; i < 20; ++i) { - fe25519_sq(t3, t3); - } - fe25519_mul(t2, t3, t2); - fe25519_sq(t2, t2); - for (i = 1; i < 10; ++i) { - fe25519_sq(t2, t2); - } - fe25519_mul(t1, t2, t1); - fe25519_sq(t2, t1); - for (i = 1; i < 50; ++i) { - fe25519_sq(t2, t2); - } - fe25519_mul(t2, t2, t1); - fe25519_sq(t3, t2); - for (i = 1; i < 100; ++i) { - fe25519_sq(t3, t3); - } - fe25519_mul(t2, t3, t2); - fe25519_sq(t2, t2); - for (i = 1; i < 50; ++i) { - fe25519_sq(t2, t2); - } - fe25519_mul(t1, t2, t1); - fe25519_sq(t1, t1); - for (i = 1; i < 5; ++i) { - fe25519_sq(t1, t1); - } - fe25519_mul(out, t1, t0); -} - -static void -fe25519_pow22523(fe25519 out, const fe25519 z) -{ - fe25519 t0; - fe25519 t1; - fe25519 t2; - int i; - - fe25519_sq(t0, z); - fe25519_sq(t1, t0); - fe25519_sq(t1, t1); - fe25519_mul(t1, z, t1); - fe25519_mul(t0, t0, t1); - fe25519_sq(t0, t0); - fe25519_mul(t0, t1, t0); - fe25519_sq(t1, t0); - for (i = 1; i < 5; ++i) { - fe25519_sq(t1, t1); - } - fe25519_mul(t0, t1, t0); - fe25519_sq(t1, t0); - for (i = 1; i < 10; ++i) { - fe25519_sq(t1, t1); - } - fe25519_mul(t1, t1, t0); - fe25519_sq(t2, t1); - for (i = 1; i < 20; ++i) { - fe25519_sq(t2, t2); - } - fe25519_mul(t1, t2, t1); - fe25519_sq(t1, t1); - for (i = 1; i < 10; ++i) { - fe25519_sq(t1, t1); - } - fe25519_mul(t0, t1, t0); - fe25519_sq(t1, t0); - for (i = 1; i < 50; ++i) { - fe25519_sq(t1, t1); - } - fe25519_mul(t1, t1, t0); - fe25519_sq(t2, t1); - for (i = 1; i < 100; ++i) { - fe25519_sq(t2, t2); - } - fe25519_mul(t1, t2, t1); - fe25519_sq(t1, t1); - for (i = 1; i < 50; ++i) { - fe25519_sq(t1, t1); - } - fe25519_mul(t0, t1, t0); - fe25519_sq(t0, t0); - fe25519_sq(t0, t0); - fe25519_mul(out, t0, z); -} - -static inline void -fe25519_cneg(fe25519 h, const fe25519 f, unsigned int b) -{ - fe25519 negf; - - fe25519_neg(negf, f); - fe25519_copy(h, f); - fe25519_cmov(h, negf, b); -} - -static inline void -fe25519_abs(fe25519 h, const fe25519 f) -{ - fe25519_cneg(h, f, fe25519_isnegative(f)); -} - -/* - r = p + q - */ - -void -ge25519_add(ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_cached *q) -{ - fe25519 t0; - - fe25519_add(r->X, p->Y, p->X); - fe25519_sub(r->Y, p->Y, p->X); - fe25519_mul(r->Z, r->X, q->YplusX); - fe25519_mul(r->Y, r->Y, q->YminusX); - fe25519_mul(r->T, q->T2d, p->T); - fe25519_mul(r->X, p->Z, q->Z); - fe25519_add(t0, r->X, r->X); - fe25519_sub(r->X, r->Z, r->Y); - fe25519_add(r->Y, r->Z, r->Y); - fe25519_add(r->Z, t0, r->T); - fe25519_sub(r->T, t0, r->T); -} - -static void -slide_vartime(signed char *r, const unsigned char *a) -{ - int i; - int b; - int k; - int ribs; - int cmp; - - for (i = 0; i < 256; ++i) { - r[i] = 1 & (a[i >> 3] >> (i & 7)); - } - for (i = 0; i < 256; ++i) { - if (! r[i]) { - continue; - } - for (b = 1; b <= 6 && i + b < 256; ++b) { - if (! r[i + b]) { - continue; - } - ribs = r[i + b] << b; - cmp = r[i] + ribs; - if (cmp <= 15) { - r[i] = cmp; - r[i + b] = 0; - } else { - cmp = r[i] - ribs; - if (cmp < -15) { - break; - } - r[i] = cmp; - for (k = i + b; k < 256; ++k) { - if (! r[k]) { - r[k] = 1; - break; - } - r[k] = 0; - } - } - } - } -} - -int -ge25519_frombytes(ge25519_p3 *h, const unsigned char *s) -{ - fe25519 u; - fe25519 v; - fe25519 v3; - fe25519 vxx; - fe25519 m_root_check, p_root_check; - fe25519 negx; - fe25519 x_sqrtm1; - int has_m_root, has_p_root; - - fe25519_frombytes(h->Y, s); - fe25519_1(h->Z); - fe25519_sq(u, h->Y); - fe25519_mul(v, u, d); - fe25519_sub(u, u, h->Z); /* u = y^2-1 */ - fe25519_add(v, v, h->Z); /* v = dy^2+1 */ - - fe25519_sq(v3, v); - fe25519_mul(v3, v3, v); /* v3 = v^3 */ - fe25519_sq(h->X, v3); - fe25519_mul(h->X, h->X, v); - fe25519_mul(h->X, h->X, u); /* x = uv^7 */ - - fe25519_pow22523(h->X, h->X); /* x = (uv^7)^((q-5)/8) */ - fe25519_mul(h->X, h->X, v3); - fe25519_mul(h->X, h->X, u); /* x = uv^3(uv^7)^((q-5)/8) */ - - fe25519_sq(vxx, h->X); - fe25519_mul(vxx, vxx, v); - fe25519_sub(m_root_check, vxx, u); /* vx^2-u */ - fe25519_add(p_root_check, vxx, u); /* vx^2+u */ - has_m_root = fe25519_iszero(m_root_check); - has_p_root = fe25519_iszero(p_root_check); - fe25519_mul(x_sqrtm1, h->X, sqrtm1); /* x*sqrt(-1) */ - fe25519_cmov(h->X, x_sqrtm1, 1 - has_m_root); - - fe25519_neg(negx, h->X); - fe25519_cmov(h->X, negx, fe25519_isnegative(h->X) ^ (s[31] >> 7)); - fe25519_mul(h->T, h->X, h->Y); - - return (has_m_root | has_p_root) - 1; -} - -int -ge25519_frombytes_negate_vartime(ge25519_p3 *h, const unsigned char *s) -{ - fe25519 u; - fe25519 v; - fe25519 v3; - fe25519 vxx; - fe25519 m_root_check, p_root_check; - - fe25519_frombytes(h->Y, s); - fe25519_1(h->Z); - fe25519_sq(u, h->Y); - fe25519_mul(v, u, d); - fe25519_sub(u, u, h->Z); /* u = y^2-1 */ - fe25519_add(v, v, h->Z); /* v = dy^2+1 */ - - fe25519_sq(v3, v); - fe25519_mul(v3, v3, v); /* v3 = v^3 */ - fe25519_sq(h->X, v3); - fe25519_mul(h->X, h->X, v); - fe25519_mul(h->X, h->X, u); /* x = uv^7 */ - - fe25519_pow22523(h->X, h->X); /* x = (uv^7)^((q-5)/8) */ - fe25519_mul(h->X, h->X, v3); - fe25519_mul(h->X, h->X, u); /* x = uv^3(uv^7)^((q-5)/8) */ - - fe25519_sq(vxx, h->X); - fe25519_mul(vxx, vxx, v); - fe25519_sub(m_root_check, vxx, u); /* vx^2-u */ - if (fe25519_iszero(m_root_check) == 0) { - fe25519_add(p_root_check, vxx, u); /* vx^2+u */ - if (fe25519_iszero(p_root_check) == 0) { - return -1; - } - fe25519_mul(h->X, h->X, sqrtm1); - } - - if (fe25519_isnegative(h->X) == (s[31] >> 7)) { - fe25519_neg(h->X, h->X); - } - fe25519_mul(h->T, h->X, h->Y); - - return 0; -} - -/* - r = p + q - */ - -static void -ge25519_madd(ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_precomp *q) -{ - fe25519 t0; - - fe25519_add(r->X, p->Y, p->X); - fe25519_sub(r->Y, p->Y, p->X); - fe25519_mul(r->Z, r->X, q->yplusx); - fe25519_mul(r->Y, r->Y, q->yminusx); - fe25519_mul(r->T, q->xy2d, p->T); - fe25519_add(t0, p->Z, p->Z); - fe25519_sub(r->X, r->Z, r->Y); - fe25519_add(r->Y, r->Z, r->Y); - fe25519_add(r->Z, t0, r->T); - fe25519_sub(r->T, t0, r->T); -} - -/* - r = p - q - */ - -static void -ge25519_msub(ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_precomp *q) -{ - fe25519 t0; - - fe25519_add(r->X, p->Y, p->X); - fe25519_sub(r->Y, p->Y, p->X); - fe25519_mul(r->Z, r->X, q->yminusx); - fe25519_mul(r->Y, r->Y, q->yplusx); - fe25519_mul(r->T, q->xy2d, p->T); - fe25519_add(t0, p->Z, p->Z); - fe25519_sub(r->X, r->Z, r->Y); - fe25519_add(r->Y, r->Z, r->Y); - fe25519_sub(r->Z, t0, r->T); - fe25519_add(r->T, t0, r->T); -} - -/* - r = p - */ - -void -ge25519_p1p1_to_p2(ge25519_p2 *r, const ge25519_p1p1 *p) -{ - fe25519_mul(r->X, p->X, p->T); - fe25519_mul(r->Y, p->Y, p->Z); - fe25519_mul(r->Z, p->Z, p->T); -} - -/* - r = p - */ - -void -ge25519_p1p1_to_p3(ge25519_p3 *r, const ge25519_p1p1 *p) -{ - fe25519_mul(r->X, p->X, p->T); - fe25519_mul(r->Y, p->Y, p->Z); - fe25519_mul(r->Z, p->Z, p->T); - fe25519_mul(r->T, p->X, p->Y); -} - -static void -ge25519_p2_0(ge25519_p2 *h) -{ - fe25519_0(h->X); - fe25519_1(h->Y); - fe25519_1(h->Z); -} - -/* - r = 2 * p - */ - -static void -ge25519_p2_dbl(ge25519_p1p1 *r, const ge25519_p2 *p) -{ - fe25519 t0; - - fe25519_sq(r->X, p->X); - fe25519_sq(r->Z, p->Y); - fe25519_sq2(r->T, p->Z); - fe25519_add(r->Y, p->X, p->Y); - fe25519_sq(t0, r->Y); - fe25519_add(r->Y, r->Z, r->X); - fe25519_sub(r->Z, r->Z, r->X); - fe25519_sub(r->X, t0, r->Y); - fe25519_sub(r->T, r->T, r->Z); -} - -static void -ge25519_p3_0(ge25519_p3 *h) -{ - fe25519_0(h->X); - fe25519_1(h->Y); - fe25519_1(h->Z); - fe25519_0(h->T); -} - -static void -ge25519_cached_0(ge25519_cached *h) -{ - fe25519_1(h->YplusX); - fe25519_1(h->YminusX); - fe25519_1(h->Z); - fe25519_0(h->T2d); -} - -/* - r = p - */ - -void -ge25519_p3_to_cached(ge25519_cached *r, const ge25519_p3 *p) -{ - fe25519_add(r->YplusX, p->Y, p->X); - fe25519_sub(r->YminusX, p->Y, p->X); - fe25519_copy(r->Z, p->Z); - fe25519_mul(r->T2d, p->T, d2); -} - -static void -ge25519_p3_to_precomp(ge25519_precomp *pi, const ge25519_p3 *p) -{ - fe25519 recip; - fe25519 x; - fe25519 y; - fe25519 xy; - - fe25519_invert(recip, p->Z); - fe25519_mul(x, p->X, recip); - fe25519_mul(y, p->Y, recip); - fe25519_add(pi->yplusx, y, x); - fe25519_sub(pi->yminusx, y, x); - fe25519_mul(xy, x, y); - fe25519_mul(pi->xy2d, xy, d2); -} - -/* - r = p - */ - -static void -ge25519_p3_to_p2(ge25519_p2 *r, const ge25519_p3 *p) -{ - fe25519_copy(r->X, p->X); - fe25519_copy(r->Y, p->Y); - fe25519_copy(r->Z, p->Z); -} - -void -ge25519_p3_tobytes(unsigned char *s, const ge25519_p3 *h) -{ - fe25519 recip; - fe25519 x; - fe25519 y; - - fe25519_invert(recip, h->Z); - fe25519_mul(x, h->X, recip); - fe25519_mul(y, h->Y, recip); - fe25519_tobytes(s, y); - s[31] ^= fe25519_isnegative(x) << 7; -} - -/* - r = 2 * p - */ - -static void -ge25519_p3_dbl(ge25519_p1p1 *r, const ge25519_p3 *p) -{ - ge25519_p2 q; - ge25519_p3_to_p2(&q, p); - ge25519_p2_dbl(r, &q); -} - -static void -ge25519_precomp_0(ge25519_precomp *h) -{ - fe25519_1(h->yplusx); - fe25519_1(h->yminusx); - fe25519_0(h->xy2d); -} - -static unsigned char -equal(signed char b, signed char c) -{ - unsigned char ub = b; - unsigned char uc = c; - unsigned char x = ub ^ uc; /* 0: yes; 1..255: no */ - uint32_t y = (uint32_t) x; /* 0: yes; 1..255: no */ - - y -= 1; /* 4294967295: yes; 0..254: no */ - y >>= 31; /* 1: yes; 0: no */ - - return y; -} - -static unsigned char -negative(signed char b) -{ - /* 18446744073709551361..18446744073709551615: yes; 0..255: no */ - uint64_t x = b; - - x >>= 63; /* 1: yes; 0: no */ - - return x; -} - -static void -ge25519_cmov(ge25519_precomp *t, const ge25519_precomp *u, unsigned char b) -{ - fe25519_cmov(t->yplusx, u->yplusx, b); - fe25519_cmov(t->yminusx, u->yminusx, b); - fe25519_cmov(t->xy2d, u->xy2d, b); -} - -static void -ge25519_cmov_cached(ge25519_cached *t, const ge25519_cached *u, unsigned char b) -{ - fe25519_cmov(t->YplusX, u->YplusX, b); - fe25519_cmov(t->YminusX, u->YminusX, b); - fe25519_cmov(t->Z, u->Z, b); - fe25519_cmov(t->T2d, u->T2d, b); -} - -static void -ge25519_cmov8(ge25519_precomp *t, const ge25519_precomp precomp[8], const signed char b) -{ - ge25519_precomp minust; - const unsigned char bnegative = negative(b); - const unsigned char babs = b - (((-bnegative) & b) * ((signed char) 1 << 1)); - - ge25519_precomp_0(t); - ge25519_cmov(t, &precomp[0], equal(babs, 1)); - ge25519_cmov(t, &precomp[1], equal(babs, 2)); - ge25519_cmov(t, &precomp[2], equal(babs, 3)); - ge25519_cmov(t, &precomp[3], equal(babs, 4)); - ge25519_cmov(t, &precomp[4], equal(babs, 5)); - ge25519_cmov(t, &precomp[5], equal(babs, 6)); - ge25519_cmov(t, &precomp[6], equal(babs, 7)); - ge25519_cmov(t, &precomp[7], equal(babs, 8)); - fe25519_copy(minust.yplusx, t->yminusx); - fe25519_copy(minust.yminusx, t->yplusx); - fe25519_neg(minust.xy2d, t->xy2d); - ge25519_cmov(t, &minust, bnegative); -} - -static void -ge25519_cmov8_base(ge25519_precomp *t, const int pos, const signed char b) -{ - static const ge25519_precomp base[32][8] = { /* base[i][j] = (j+1)*256^i*B */ -#ifdef HAVE_TI_MODE -# include "fe_51/base.h" -#else -# include "fe_25_5/base.h" -#endif - }; - ge25519_cmov8(t, base[pos], b); -} - -static void -ge25519_cmov8_cached(ge25519_cached *t, const ge25519_cached cached[8], const signed char b) -{ - ge25519_cached minust; - const unsigned char bnegative = negative(b); - const unsigned char babs = b - (((-bnegative) & b) * ((signed char) 1 << 1)); - - ge25519_cached_0(t); - ge25519_cmov_cached(t, &cached[0], equal(babs, 1)); - ge25519_cmov_cached(t, &cached[1], equal(babs, 2)); - ge25519_cmov_cached(t, &cached[2], equal(babs, 3)); - ge25519_cmov_cached(t, &cached[3], equal(babs, 4)); - ge25519_cmov_cached(t, &cached[4], equal(babs, 5)); - ge25519_cmov_cached(t, &cached[5], equal(babs, 6)); - ge25519_cmov_cached(t, &cached[6], equal(babs, 7)); - ge25519_cmov_cached(t, &cached[7], equal(babs, 8)); - fe25519_copy(minust.YplusX, t->YminusX); - fe25519_copy(minust.YminusX, t->YplusX); - fe25519_copy(minust.Z, t->Z); - fe25519_neg(minust.T2d, t->T2d); - ge25519_cmov_cached(t, &minust, bnegative); -} - -/* - r = p - q - */ - -void -ge25519_sub(ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_cached *q) -{ - fe25519 t0; - - fe25519_add(r->X, p->Y, p->X); - fe25519_sub(r->Y, p->Y, p->X); - fe25519_mul(r->Z, r->X, q->YminusX); - fe25519_mul(r->Y, r->Y, q->YplusX); - fe25519_mul(r->T, q->T2d, p->T); - fe25519_mul(r->X, p->Z, q->Z); - fe25519_add(t0, r->X, r->X); - fe25519_sub(r->X, r->Z, r->Y); - fe25519_add(r->Y, r->Z, r->Y); - fe25519_sub(r->Z, t0, r->T); - fe25519_add(r->T, t0, r->T); -} - -void -ge25519_tobytes(unsigned char *s, const ge25519_p2 *h) -{ - fe25519 recip; - fe25519 x; - fe25519 y; - - fe25519_invert(recip, h->Z); - fe25519_mul(x, h->X, recip); - fe25519_mul(y, h->Y, recip); - fe25519_tobytes(s, y); - s[31] ^= fe25519_isnegative(x) << 7; -} - -/* - r = a * A + b * B - where a = a[0]+256*a[1]+...+256^31 a[31]. - and b = b[0]+256*b[1]+...+256^31 b[31]. - B is the Ed25519 base point (x,4/5) with x positive. - - Only used for signatures verification. - */ - -void -ge25519_double_scalarmult_vartime(ge25519_p2 *r, const unsigned char *a, - const ge25519_p3 *A, const unsigned char *b) -{ - static const ge25519_precomp Bi[8] = { -#ifdef HAVE_TI_MODE -# include "fe_51/base2.h" -#else -# include "fe_25_5/base2.h" -#endif - }; - signed char aslide[256]; - signed char bslide[256]; - ge25519_cached Ai[8]; /* A,3A,5A,7A,9A,11A,13A,15A */ - ge25519_p1p1 t; - ge25519_p3 u; - ge25519_p3 A2; - int i; - - slide_vartime(aslide, a); - slide_vartime(bslide, b); - - ge25519_p3_to_cached(&Ai[0], A); - - ge25519_p3_dbl(&t, A); - ge25519_p1p1_to_p3(&A2, &t); - - ge25519_add(&t, &A2, &Ai[0]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[1], &u); - - ge25519_add(&t, &A2, &Ai[1]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[2], &u); - - ge25519_add(&t, &A2, &Ai[2]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[3], &u); - - ge25519_add(&t, &A2, &Ai[3]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[4], &u); - - ge25519_add(&t, &A2, &Ai[4]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[5], &u); - - ge25519_add(&t, &A2, &Ai[5]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[6], &u); - - ge25519_add(&t, &A2, &Ai[6]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[7], &u); - - ge25519_p2_0(r); - - for (i = 255; i >= 0; --i) { - if (aslide[i] || bslide[i]) { - break; - } - } - - for (; i >= 0; --i) { - ge25519_p2_dbl(&t, r); - - if (aslide[i] > 0) { - ge25519_p1p1_to_p3(&u, &t); - ge25519_add(&t, &u, &Ai[aslide[i] / 2]); - } else if (aslide[i] < 0) { - ge25519_p1p1_to_p3(&u, &t); - ge25519_sub(&t, &u, &Ai[(-aslide[i]) / 2]); - } - - if (bslide[i] > 0) { - ge25519_p1p1_to_p3(&u, &t); - ge25519_madd(&t, &u, &Bi[bslide[i] / 2]); - } else if (bslide[i] < 0) { - ge25519_p1p1_to_p3(&u, &t); - ge25519_msub(&t, &u, &Bi[(-bslide[i]) / 2]); - } - - ge25519_p1p1_to_p2(r, &t); - } -} - -/* - h = a * p - where a = a[0]+256*a[1]+...+256^31 a[31] - - Preconditions: - a[31] <= 127 - - p is public - */ - -void -ge25519_scalarmult(ge25519_p3 *h, const unsigned char *a, const ge25519_p3 *p) -{ - signed char e[64]; - signed char carry; - ge25519_p1p1 r; - ge25519_p2 s; - ge25519_p1p1 t2, t3, t4, t5, t6, t7, t8; - ge25519_p3 p2, p3, p4, p5, p6, p7, p8; - ge25519_cached pi[8]; - ge25519_cached t; - int i; - - ge25519_p3_to_cached(&pi[1 - 1], p); /* p */ - - ge25519_p3_dbl(&t2, p); - ge25519_p1p1_to_p3(&p2, &t2); - ge25519_p3_to_cached(&pi[2 - 1], &p2); /* 2p = 2*p */ - - ge25519_add(&t3, p, &pi[2 - 1]); - ge25519_p1p1_to_p3(&p3, &t3); - ge25519_p3_to_cached(&pi[3 - 1], &p3); /* 3p = 2p+p */ - - ge25519_p3_dbl(&t4, &p2); - ge25519_p1p1_to_p3(&p4, &t4); - ge25519_p3_to_cached(&pi[4 - 1], &p4); /* 4p = 2*2p */ - - ge25519_add(&t5, p, &pi[4 - 1]); - ge25519_p1p1_to_p3(&p5, &t5); - ge25519_p3_to_cached(&pi[5 - 1], &p5); /* 5p = 4p+p */ - - ge25519_p3_dbl(&t6, &p3); - ge25519_p1p1_to_p3(&p6, &t6); - ge25519_p3_to_cached(&pi[6 - 1], &p6); /* 6p = 2*3p */ - - ge25519_add(&t7, p, &pi[6 - 1]); - ge25519_p1p1_to_p3(&p7, &t7); - ge25519_p3_to_cached(&pi[7 - 1], &p7); /* 7p = 6p+p */ - - ge25519_p3_dbl(&t8, &p4); - ge25519_p1p1_to_p3(&p8, &t8); - ge25519_p3_to_cached(&pi[8 - 1], &p8); /* 8p = 2*4p */ - - for (i = 0; i < 32; ++i) { - e[2 * i + 0] = (a[i] >> 0) & 15; - e[2 * i + 1] = (a[i] >> 4) & 15; - } - /* each e[i] is between 0 and 15 */ - /* e[63] is between 0 and 7 */ - - carry = 0; - for (i = 0; i < 63; ++i) { - e[i] += carry; - carry = e[i] + 8; - carry >>= 4; - e[i] -= carry * ((signed char) 1 << 4); - } - e[63] += carry; - /* each e[i] is between -8 and 8 */ - - ge25519_p3_0(h); - - for (i = 63; i != 0; i--) { - ge25519_cmov8_cached(&t, pi, e[i]); - ge25519_add(&r, h, &t); - - ge25519_p1p1_to_p2(&s, &r); - ge25519_p2_dbl(&r, &s); - ge25519_p1p1_to_p2(&s, &r); - ge25519_p2_dbl(&r, &s); - ge25519_p1p1_to_p2(&s, &r); - ge25519_p2_dbl(&r, &s); - ge25519_p1p1_to_p2(&s, &r); - ge25519_p2_dbl(&r, &s); - - ge25519_p1p1_to_p3(h, &r); /* *16 */ - } - ge25519_cmov8_cached(&t, pi, e[i]); - ge25519_add(&r, h, &t); - - ge25519_p1p1_to_p3(h, &r); -} - -/* - h = a * B (with precomputation) - where a = a[0]+256*a[1]+...+256^31 a[31] - B is the Ed25519 base point (x,4/5) with x positive - (as bytes: 0x5866666666666666666666666666666666666666666666666666666666666666) - - Preconditions: - a[31] <= 127 - */ - -void -ge25519_scalarmult_base(ge25519_p3 *h, const unsigned char *a) -{ - signed char e[64]; - signed char carry; - ge25519_p1p1 r; - ge25519_p2 s; - ge25519_precomp t; - int i; - - for (i = 0; i < 32; ++i) { - e[2 * i + 0] = (a[i] >> 0) & 15; - e[2 * i + 1] = (a[i] >> 4) & 15; - } - /* each e[i] is between 0 and 15 */ - /* e[63] is between 0 and 7 */ - - carry = 0; - for (i = 0; i < 63; ++i) { - e[i] += carry; - carry = e[i] + 8; - carry >>= 4; - e[i] -= carry * ((signed char) 1 << 4); - } - e[63] += carry; - /* each e[i] is between -8 and 8 */ - - ge25519_p3_0(h); - - for (i = 1; i < 64; i += 2) { - ge25519_cmov8_base(&t, i / 2, e[i]); - ge25519_madd(&r, h, &t); - ge25519_p1p1_to_p3(h, &r); - } - - ge25519_p3_dbl(&r, h); - ge25519_p1p1_to_p2(&s, &r); - ge25519_p2_dbl(&r, &s); - ge25519_p1p1_to_p2(&s, &r); - ge25519_p2_dbl(&r, &s); - ge25519_p1p1_to_p2(&s, &r); - ge25519_p2_dbl(&r, &s); - ge25519_p1p1_to_p3(h, &r); - - for (i = 0; i < 64; i += 2) { - ge25519_cmov8_base(&t, i / 2, e[i]); - ge25519_madd(&r, h, &t); - ge25519_p1p1_to_p3(h, &r); - } -} - -/* multiply by the order of the main subgroup l = 2^252+27742317777372353535851937790883648493 */ -static void -ge25519_mul_l(ge25519_p3 *r, const ge25519_p3 *A) -{ - static const signed char aslide[253] = { - 13, 0, 0, 0, 0, -1, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, -13, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, -13, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 3, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 7, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 - }; - ge25519_cached Ai[8]; - ge25519_p1p1 t; - ge25519_p3 u; - ge25519_p3 A2; - int i; - - ge25519_p3_to_cached(&Ai[0], A); - ge25519_p3_dbl(&t, A); - ge25519_p1p1_to_p3(&A2, &t); - ge25519_add(&t, &A2, &Ai[0]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[1], &u); - ge25519_add(&t, &A2, &Ai[1]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[2], &u); - ge25519_add(&t, &A2, &Ai[2]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[3], &u); - ge25519_add(&t, &A2, &Ai[3]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[4], &u); - ge25519_add(&t, &A2, &Ai[4]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[5], &u); - ge25519_add(&t, &A2, &Ai[5]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[6], &u); - ge25519_add(&t, &A2, &Ai[6]); - ge25519_p1p1_to_p3(&u, &t); - ge25519_p3_to_cached(&Ai[7], &u); - - ge25519_p3_0(r); - - for (i = 252; i >= 0; --i) { - ge25519_p3_dbl(&t, r); - - if (aslide[i] > 0) { - ge25519_p1p1_to_p3(&u, &t); - ge25519_add(&t, &u, &Ai[aslide[i] / 2]); - } else if (aslide[i] < 0) { - ge25519_p1p1_to_p3(&u, &t); - ge25519_sub(&t, &u, &Ai[(-aslide[i]) / 2]); - } - - ge25519_p1p1_to_p3(r, &t); - } -} - -int -ge25519_is_on_curve(const ge25519_p3 *p) -{ - fe25519 x2; - fe25519 y2; - fe25519 z2; - fe25519 z4; - fe25519 t0; - fe25519 t1; - - fe25519_sq(x2, p->X); - fe25519_sq(y2, p->Y); - fe25519_sq(z2, p->Z); - fe25519_sub(t0, y2, x2); - fe25519_mul(t0, t0, z2); - - fe25519_mul(t1, x2, y2); - fe25519_mul(t1, t1, d); - fe25519_sq(z4, z2); - fe25519_add(t1, t1, z4); - fe25519_sub(t0, t0, t1); - - return fe25519_iszero(t0); -} - -int -ge25519_is_on_main_subgroup(const ge25519_p3 *p) -{ - ge25519_p3 pl; - - ge25519_mul_l(&pl, p); - - return fe25519_iszero(pl.X); -} - -int -ge25519_is_canonical(const unsigned char *s) -{ - unsigned char c; - unsigned char d; - unsigned int i; - - c = (s[31] & 0x7f) ^ 0x7f; - for (i = 30; i > 0; i--) { - c |= s[i] ^ 0xff; - } - c = (((unsigned int) c) - 1U) >> 8; - d = (0xed - 1U - (unsigned int) s[0]) >> 8; - - return 1 - (c & d & 1); -} - -int -ge25519_has_small_order(const unsigned char s[32]) -{ - CRYPTO_ALIGN(16) - static const unsigned char blacklist[][32] = { - /* 0 (order 4) */ - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, - /* 1 (order 1) */ - { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, - /* 2707385501144840649318225287225658788936804267575313519463743609750303402022 - (order 8) */ - { 0x26, 0xe8, 0x95, 0x8f, 0xc2, 0xb2, 0x27, 0xb0, 0x45, 0xc3, 0xf4, - 0x89, 0xf2, 0xef, 0x98, 0xf0, 0xd5, 0xdf, 0xac, 0x05, 0xd3, 0xc6, - 0x33, 0x39, 0xb1, 0x38, 0x02, 0x88, 0x6d, 0x53, 0xfc, 0x05 }, - /* 55188659117513257062467267217118295137698188065244968500265048394206261417927 - (order 8) */ - { 0xc7, 0x17, 0x6a, 0x70, 0x3d, 0x4d, 0xd8, 0x4f, 0xba, 0x3c, 0x0b, - 0x76, 0x0d, 0x10, 0x67, 0x0f, 0x2a, 0x20, 0x53, 0xfa, 0x2c, 0x39, - 0xcc, 0xc6, 0x4e, 0xc7, 0xfd, 0x77, 0x92, 0xac, 0x03, 0x7a }, - /* p-1 (order 2) */ - { 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, - /* p (=0, order 4) */ - { 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, - /* p+1 (=1, order 1) */ - { 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f } - }; - unsigned char c[7] = { 0 }; - unsigned int k; - size_t i, j; - - COMPILER_ASSERT(7 == sizeof blacklist / sizeof blacklist[0]); - for (j = 0; j < 31; j++) { - for (i = 0; i < sizeof blacklist / sizeof blacklist[0]; i++) { - c[i] |= s[j] ^ blacklist[i][j]; - } - } - for (i = 0; i < sizeof blacklist / sizeof blacklist[0]; i++) { - c[i] |= (s[j] & 0x7f) ^ blacklist[i][j]; - } - k = 0; - for (i = 0; i < sizeof blacklist / sizeof blacklist[0]; i++) { - k |= (c[i] - 1); - } - return (int) ((k >> 8) & 1); -} - -/* - Input: - a[0]+256*a[1]+...+256^31*a[31] = a - b[0]+256*b[1]+...+256^31*b[31] = b - * - Output: - s[0]+256*s[1]+...+256^31*s[31] = (ab) mod l - where l = 2^252 + 27742317777372353535851937790883648493. - */ - -void -sc25519_mul(unsigned char s[32], const unsigned char a[32], const unsigned char b[32]) -{ - int64_t a0 = 2097151 & load_3(a); - int64_t a1 = 2097151 & (load_4(a + 2) >> 5); - int64_t a2 = 2097151 & (load_3(a + 5) >> 2); - int64_t a3 = 2097151 & (load_4(a + 7) >> 7); - int64_t a4 = 2097151 & (load_4(a + 10) >> 4); - int64_t a5 = 2097151 & (load_3(a + 13) >> 1); - int64_t a6 = 2097151 & (load_4(a + 15) >> 6); - int64_t a7 = 2097151 & (load_3(a + 18) >> 3); - int64_t a8 = 2097151 & load_3(a + 21); - int64_t a9 = 2097151 & (load_4(a + 23) >> 5); - int64_t a10 = 2097151 & (load_3(a + 26) >> 2); - int64_t a11 = (load_4(a + 28) >> 7); - - int64_t b0 = 2097151 & load_3(b); - int64_t b1 = 2097151 & (load_4(b + 2) >> 5); - int64_t b2 = 2097151 & (load_3(b + 5) >> 2); - int64_t b3 = 2097151 & (load_4(b + 7) >> 7); - int64_t b4 = 2097151 & (load_4(b + 10) >> 4); - int64_t b5 = 2097151 & (load_3(b + 13) >> 1); - int64_t b6 = 2097151 & (load_4(b + 15) >> 6); - int64_t b7 = 2097151 & (load_3(b + 18) >> 3); - int64_t b8 = 2097151 & load_3(b + 21); - int64_t b9 = 2097151 & (load_4(b + 23) >> 5); - int64_t b10 = 2097151 & (load_3(b + 26) >> 2); - int64_t b11 = (load_4(b + 28) >> 7); - - int64_t s0; - int64_t s1; - int64_t s2; - int64_t s3; - int64_t s4; - int64_t s5; - int64_t s6; - int64_t s7; - int64_t s8; - int64_t s9; - int64_t s10; - int64_t s11; - int64_t s12; - int64_t s13; - int64_t s14; - int64_t s15; - int64_t s16; - int64_t s17; - int64_t s18; - int64_t s19; - int64_t s20; - int64_t s21; - int64_t s22; - int64_t s23; - - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - int64_t carry10; - int64_t carry11; - int64_t carry12; - int64_t carry13; - int64_t carry14; - int64_t carry15; - int64_t carry16; - int64_t carry17; - int64_t carry18; - int64_t carry19; - int64_t carry20; - int64_t carry21; - int64_t carry22; - - s0 = a0 * b0; - s1 = a0 * b1 + a1 * b0; - s2 = a0 * b2 + a1 * b1 + a2 * b0; - s3 = a0 * b3 + a1 * b2 + a2 * b1 + a3 * b0; - s4 = a0 * b4 + a1 * b3 + a2 * b2 + a3 * b1 + a4 * b0; - s5 = a0 * b5 + a1 * b4 + a2 * b3 + a3 * b2 + a4 * b1 + a5 * b0; - s6 = a0 * b6 + a1 * b5 + a2 * b4 + a3 * b3 + a4 * b2 + a5 * b1 + a6 * b0; - s7 = a0 * b7 + a1 * b6 + a2 * b5 + a3 * b4 + a4 * b3 + a5 * b2 + - a6 * b1 + a7 * b0; - s8 = a0 * b8 + a1 * b7 + a2 * b6 + a3 * b5 + a4 * b4 + a5 * b3 + - a6 * b2 + a7 * b1 + a8 * b0; - s9 = a0 * b9 + a1 * b8 + a2 * b7 + a3 * b6 + a4 * b5 + a5 * b4 + - a6 * b3 + a7 * b2 + a8 * b1 + a9 * b0; - s10 = a0 * b10 + a1 * b9 + a2 * b8 + a3 * b7 + a4 * b6 + a5 * b5 + - a6 * b4 + a7 * b3 + a8 * b2 + a9 * b1 + a10 * b0; - s11 = a0 * b11 + a1 * b10 + a2 * b9 + a3 * b8 + a4 * b7 + a5 * b6 + - a6 * b5 + a7 * b4 + a8 * b3 + a9 * b2 + a10 * b1 + a11 * b0; - s12 = a1 * b11 + a2 * b10 + a3 * b9 + a4 * b8 + a5 * b7 + a6 * b6 + - a7 * b5 + a8 * b4 + a9 * b3 + a10 * b2 + a11 * b1; - s13 = a2 * b11 + a3 * b10 + a4 * b9 + a5 * b8 + a6 * b7 + a7 * b6 + - a8 * b5 + a9 * b4 + a10 * b3 + a11 * b2; - s14 = a3 * b11 + a4 * b10 + a5 * b9 + a6 * b8 + a7 * b7 + a8 * b6 + - a9 * b5 + a10 * b4 + a11 * b3; - s15 = a4 * b11 + a5 * b10 + a6 * b9 + a7 * b8 + a8 * b7 + a9 * b6 + - a10 * b5 + a11 * b4; - s16 = - a5 * b11 + a6 * b10 + a7 * b9 + a8 * b8 + a9 * b7 + a10 * b6 + a11 * b5; - s17 = a6 * b11 + a7 * b10 + a8 * b9 + a9 * b8 + a10 * b7 + a11 * b6; - s18 = a7 * b11 + a8 * b10 + a9 * b9 + a10 * b8 + a11 * b7; - s19 = a8 * b11 + a9 * b10 + a10 * b9 + a11 * b8; - s20 = a9 * b11 + a10 * b10 + a11 * b9; - s21 = a10 * b11 + a11 * b10; - s22 = a11 * b11; - s23 = 0; - - carry0 = (s0 + (int64_t) (1L << 20)) >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry2 = (s2 + (int64_t) (1L << 20)) >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry4 = (s4 + (int64_t) (1L << 20)) >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - carry12 = (s12 + (int64_t) (1L << 20)) >> 21; - s13 += carry12; - s12 -= carry12 * ((uint64_t) 1L << 21); - carry14 = (s14 + (int64_t) (1L << 20)) >> 21; - s15 += carry14; - s14 -= carry14 * ((uint64_t) 1L << 21); - carry16 = (s16 + (int64_t) (1L << 20)) >> 21; - s17 += carry16; - s16 -= carry16 * ((uint64_t) 1L << 21); - carry18 = (s18 + (int64_t) (1L << 20)) >> 21; - s19 += carry18; - s18 -= carry18 * ((uint64_t) 1L << 21); - carry20 = (s20 + (int64_t) (1L << 20)) >> 21; - s21 += carry20; - s20 -= carry20 * ((uint64_t) 1L << 21); - carry22 = (s22 + (int64_t) (1L << 20)) >> 21; - s23 += carry22; - s22 -= carry22 * ((uint64_t) 1L << 21); - - carry1 = (s1 + (int64_t) (1L << 20)) >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry3 = (s3 + (int64_t) (1L << 20)) >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry5 = (s5 + (int64_t) (1L << 20)) >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - carry13 = (s13 + (int64_t) (1L << 20)) >> 21; - s14 += carry13; - s13 -= carry13 * ((uint64_t) 1L << 21); - carry15 = (s15 + (int64_t) (1L << 20)) >> 21; - s16 += carry15; - s15 -= carry15 * ((uint64_t) 1L << 21); - carry17 = (s17 + (int64_t) (1L << 20)) >> 21; - s18 += carry17; - s17 -= carry17 * ((uint64_t) 1L << 21); - carry19 = (s19 + (int64_t) (1L << 20)) >> 21; - s20 += carry19; - s19 -= carry19 * ((uint64_t) 1L << 21); - carry21 = (s21 + (int64_t) (1L << 20)) >> 21; - s22 += carry21; - s21 -= carry21 * ((uint64_t) 1L << 21); - - s11 += s23 * 666643; - s12 += s23 * 470296; - s13 += s23 * 654183; - s14 -= s23 * 997805; - s15 += s23 * 136657; - s16 -= s23 * 683901; - - s10 += s22 * 666643; - s11 += s22 * 470296; - s12 += s22 * 654183; - s13 -= s22 * 997805; - s14 += s22 * 136657; - s15 -= s22 * 683901; - - s9 += s21 * 666643; - s10 += s21 * 470296; - s11 += s21 * 654183; - s12 -= s21 * 997805; - s13 += s21 * 136657; - s14 -= s21 * 683901; - - s8 += s20 * 666643; - s9 += s20 * 470296; - s10 += s20 * 654183; - s11 -= s20 * 997805; - s12 += s20 * 136657; - s13 -= s20 * 683901; - - s7 += s19 * 666643; - s8 += s19 * 470296; - s9 += s19 * 654183; - s10 -= s19 * 997805; - s11 += s19 * 136657; - s12 -= s19 * 683901; - - s6 += s18 * 666643; - s7 += s18 * 470296; - s8 += s18 * 654183; - s9 -= s18 * 997805; - s10 += s18 * 136657; - s11 -= s18 * 683901; - - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - carry12 = (s12 + (int64_t) (1L << 20)) >> 21; - s13 += carry12; - s12 -= carry12 * ((uint64_t) 1L << 21); - carry14 = (s14 + (int64_t) (1L << 20)) >> 21; - s15 += carry14; - s14 -= carry14 * ((uint64_t) 1L << 21); - carry16 = (s16 + (int64_t) (1L << 20)) >> 21; - s17 += carry16; - s16 -= carry16 * ((uint64_t) 1L << 21); - - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - carry13 = (s13 + (int64_t) (1L << 20)) >> 21; - s14 += carry13; - s13 -= carry13 * ((uint64_t) 1L << 21); - carry15 = (s15 + (int64_t) (1L << 20)) >> 21; - s16 += carry15; - s15 -= carry15 * ((uint64_t) 1L << 21); - - s5 += s17 * 666643; - s6 += s17 * 470296; - s7 += s17 * 654183; - s8 -= s17 * 997805; - s9 += s17 * 136657; - s10 -= s17 * 683901; - - s4 += s16 * 666643; - s5 += s16 * 470296; - s6 += s16 * 654183; - s7 -= s16 * 997805; - s8 += s16 * 136657; - s9 -= s16 * 683901; - - s3 += s15 * 666643; - s4 += s15 * 470296; - s5 += s15 * 654183; - s6 -= s15 * 997805; - s7 += s15 * 136657; - s8 -= s15 * 683901; - - s2 += s14 * 666643; - s3 += s14 * 470296; - s4 += s14 * 654183; - s5 -= s14 * 997805; - s6 += s14 * 136657; - s7 -= s14 * 683901; - - s1 += s13 * 666643; - s2 += s13 * 470296; - s3 += s13 * 654183; - s4 -= s13 * 997805; - s5 += s13 * 136657; - s6 -= s13 * 683901; - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - s12 = 0; - - carry0 = (s0 + (int64_t) (1L << 20)) >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry2 = (s2 + (int64_t) (1L << 20)) >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry4 = (s4 + (int64_t) (1L << 20)) >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - - carry1 = (s1 + (int64_t) (1L << 20)) >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry3 = (s3 + (int64_t) (1L << 20)) >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry5 = (s5 + (int64_t) (1L << 20)) >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - s12 = 0; - - carry0 = s0 >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry1 = s1 >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry2 = s2 >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry3 = s3 >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry4 = s4 >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry5 = s5 >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry6 = s6 >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry7 = s7 >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry8 = s8 >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry9 = s9 >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry10 = s10 >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - carry11 = s11 >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - - carry0 = s0 >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry1 = s1 >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry2 = s2 >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry3 = s3 >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry4 = s4 >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry5 = s5 >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry6 = s6 >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry7 = s7 >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry8 = s8 >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry9 = s9 >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry10 = s10 >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - - s[0] = s0 >> 0; - s[1] = s0 >> 8; - s[2] = (s0 >> 16) | (s1 * ((uint64_t) 1 << 5)); - s[3] = s1 >> 3; - s[4] = s1 >> 11; - s[5] = (s1 >> 19) | (s2 * ((uint64_t) 1 << 2)); - s[6] = s2 >> 6; - s[7] = (s2 >> 14) | (s3 * ((uint64_t) 1 << 7)); - s[8] = s3 >> 1; - s[9] = s3 >> 9; - s[10] = (s3 >> 17) | (s4 * ((uint64_t) 1 << 4)); - s[11] = s4 >> 4; - s[12] = s4 >> 12; - s[13] = (s4 >> 20) | (s5 * ((uint64_t) 1 << 1)); - s[14] = s5 >> 7; - s[15] = (s5 >> 15) | (s6 * ((uint64_t) 1 << 6)); - s[16] = s6 >> 2; - s[17] = s6 >> 10; - s[18] = (s6 >> 18) | (s7 * ((uint64_t) 1 << 3)); - s[19] = s7 >> 5; - s[20] = s7 >> 13; - s[21] = s8 >> 0; - s[22] = s8 >> 8; - s[23] = (s8 >> 16) | (s9 * ((uint64_t) 1 << 5)); - s[24] = s9 >> 3; - s[25] = s9 >> 11; - s[26] = (s9 >> 19) | (s10 * ((uint64_t) 1 << 2)); - s[27] = s10 >> 6; - s[28] = (s10 >> 14) | (s11 * ((uint64_t) 1 << 7)); - s[29] = s11 >> 1; - s[30] = s11 >> 9; - s[31] = s11 >> 17; -} - -/* - Input: - a[0]+256*a[1]+...+256^31*a[31] = a - b[0]+256*b[1]+...+256^31*b[31] = b - c[0]+256*c[1]+...+256^31*c[31] = c - * - Output: - s[0]+256*s[1]+...+256^31*s[31] = (ab+c) mod l - where l = 2^252 + 27742317777372353535851937790883648493. - */ - -void -sc25519_muladd(unsigned char s[32], const unsigned char a[32], - const unsigned char b[32], const unsigned char c[32]) -{ - int64_t a0 = 2097151 & load_3(a); - int64_t a1 = 2097151 & (load_4(a + 2) >> 5); - int64_t a2 = 2097151 & (load_3(a + 5) >> 2); - int64_t a3 = 2097151 & (load_4(a + 7) >> 7); - int64_t a4 = 2097151 & (load_4(a + 10) >> 4); - int64_t a5 = 2097151 & (load_3(a + 13) >> 1); - int64_t a6 = 2097151 & (load_4(a + 15) >> 6); - int64_t a7 = 2097151 & (load_3(a + 18) >> 3); - int64_t a8 = 2097151 & load_3(a + 21); - int64_t a9 = 2097151 & (load_4(a + 23) >> 5); - int64_t a10 = 2097151 & (load_3(a + 26) >> 2); - int64_t a11 = (load_4(a + 28) >> 7); - - int64_t b0 = 2097151 & load_3(b); - int64_t b1 = 2097151 & (load_4(b + 2) >> 5); - int64_t b2 = 2097151 & (load_3(b + 5) >> 2); - int64_t b3 = 2097151 & (load_4(b + 7) >> 7); - int64_t b4 = 2097151 & (load_4(b + 10) >> 4); - int64_t b5 = 2097151 & (load_3(b + 13) >> 1); - int64_t b6 = 2097151 & (load_4(b + 15) >> 6); - int64_t b7 = 2097151 & (load_3(b + 18) >> 3); - int64_t b8 = 2097151 & load_3(b + 21); - int64_t b9 = 2097151 & (load_4(b + 23) >> 5); - int64_t b10 = 2097151 & (load_3(b + 26) >> 2); - int64_t b11 = (load_4(b + 28) >> 7); - - int64_t c0 = 2097151 & load_3(c); - int64_t c1 = 2097151 & (load_4(c + 2) >> 5); - int64_t c2 = 2097151 & (load_3(c + 5) >> 2); - int64_t c3 = 2097151 & (load_4(c + 7) >> 7); - int64_t c4 = 2097151 & (load_4(c + 10) >> 4); - int64_t c5 = 2097151 & (load_3(c + 13) >> 1); - int64_t c6 = 2097151 & (load_4(c + 15) >> 6); - int64_t c7 = 2097151 & (load_3(c + 18) >> 3); - int64_t c8 = 2097151 & load_3(c + 21); - int64_t c9 = 2097151 & (load_4(c + 23) >> 5); - int64_t c10 = 2097151 & (load_3(c + 26) >> 2); - int64_t c11 = (load_4(c + 28) >> 7); - - int64_t s0; - int64_t s1; - int64_t s2; - int64_t s3; - int64_t s4; - int64_t s5; - int64_t s6; - int64_t s7; - int64_t s8; - int64_t s9; - int64_t s10; - int64_t s11; - int64_t s12; - int64_t s13; - int64_t s14; - int64_t s15; - int64_t s16; - int64_t s17; - int64_t s18; - int64_t s19; - int64_t s20; - int64_t s21; - int64_t s22; - int64_t s23; - - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - int64_t carry10; - int64_t carry11; - int64_t carry12; - int64_t carry13; - int64_t carry14; - int64_t carry15; - int64_t carry16; - int64_t carry17; - int64_t carry18; - int64_t carry19; - int64_t carry20; - int64_t carry21; - int64_t carry22; - - s0 = c0 + a0 * b0; - s1 = c1 + a0 * b1 + a1 * b0; - s2 = c2 + a0 * b2 + a1 * b1 + a2 * b0; - s3 = c3 + a0 * b3 + a1 * b2 + a2 * b1 + a3 * b0; - s4 = c4 + a0 * b4 + a1 * b3 + a2 * b2 + a3 * b1 + a4 * b0; - s5 = c5 + a0 * b5 + a1 * b4 + a2 * b3 + a3 * b2 + a4 * b1 + a5 * b0; - s6 = c6 + a0 * b6 + a1 * b5 + a2 * b4 + a3 * b3 + a4 * b2 + a5 * b1 + - a6 * b0; - s7 = c7 + a0 * b7 + a1 * b6 + a2 * b5 + a3 * b4 + a4 * b3 + a5 * b2 + - a6 * b1 + a7 * b0; - s8 = c8 + a0 * b8 + a1 * b7 + a2 * b6 + a3 * b5 + a4 * b4 + a5 * b3 + - a6 * b2 + a7 * b1 + a8 * b0; - s9 = c9 + a0 * b9 + a1 * b8 + a2 * b7 + a3 * b6 + a4 * b5 + a5 * b4 + - a6 * b3 + a7 * b2 + a8 * b1 + a9 * b0; - s10 = c10 + a0 * b10 + a1 * b9 + a2 * b8 + a3 * b7 + a4 * b6 + a5 * b5 + - a6 * b4 + a7 * b3 + a8 * b2 + a9 * b1 + a10 * b0; - s11 = c11 + a0 * b11 + a1 * b10 + a2 * b9 + a3 * b8 + a4 * b7 + a5 * b6 + - a6 * b5 + a7 * b4 + a8 * b3 + a9 * b2 + a10 * b1 + a11 * b0; - s12 = a1 * b11 + a2 * b10 + a3 * b9 + a4 * b8 + a5 * b7 + a6 * b6 + - a7 * b5 + a8 * b4 + a9 * b3 + a10 * b2 + a11 * b1; - s13 = a2 * b11 + a3 * b10 + a4 * b9 + a5 * b8 + a6 * b7 + a7 * b6 + - a8 * b5 + a9 * b4 + a10 * b3 + a11 * b2; - s14 = a3 * b11 + a4 * b10 + a5 * b9 + a6 * b8 + a7 * b7 + a8 * b6 + - a9 * b5 + a10 * b4 + a11 * b3; - s15 = a4 * b11 + a5 * b10 + a6 * b9 + a7 * b8 + a8 * b7 + a9 * b6 + - a10 * b5 + a11 * b4; - s16 = - a5 * b11 + a6 * b10 + a7 * b9 + a8 * b8 + a9 * b7 + a10 * b6 + a11 * b5; - s17 = a6 * b11 + a7 * b10 + a8 * b9 + a9 * b8 + a10 * b7 + a11 * b6; - s18 = a7 * b11 + a8 * b10 + a9 * b9 + a10 * b8 + a11 * b7; - s19 = a8 * b11 + a9 * b10 + a10 * b9 + a11 * b8; - s20 = a9 * b11 + a10 * b10 + a11 * b9; - s21 = a10 * b11 + a11 * b10; - s22 = a11 * b11; - s23 = 0; - - carry0 = (s0 + (int64_t) (1L << 20)) >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry2 = (s2 + (int64_t) (1L << 20)) >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry4 = (s4 + (int64_t) (1L << 20)) >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - carry12 = (s12 + (int64_t) (1L << 20)) >> 21; - s13 += carry12; - s12 -= carry12 * ((uint64_t) 1L << 21); - carry14 = (s14 + (int64_t) (1L << 20)) >> 21; - s15 += carry14; - s14 -= carry14 * ((uint64_t) 1L << 21); - carry16 = (s16 + (int64_t) (1L << 20)) >> 21; - s17 += carry16; - s16 -= carry16 * ((uint64_t) 1L << 21); - carry18 = (s18 + (int64_t) (1L << 20)) >> 21; - s19 += carry18; - s18 -= carry18 * ((uint64_t) 1L << 21); - carry20 = (s20 + (int64_t) (1L << 20)) >> 21; - s21 += carry20; - s20 -= carry20 * ((uint64_t) 1L << 21); - carry22 = (s22 + (int64_t) (1L << 20)) >> 21; - s23 += carry22; - s22 -= carry22 * ((uint64_t) 1L << 21); - - carry1 = (s1 + (int64_t) (1L << 20)) >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry3 = (s3 + (int64_t) (1L << 20)) >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry5 = (s5 + (int64_t) (1L << 20)) >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - carry13 = (s13 + (int64_t) (1L << 20)) >> 21; - s14 += carry13; - s13 -= carry13 * ((uint64_t) 1L << 21); - carry15 = (s15 + (int64_t) (1L << 20)) >> 21; - s16 += carry15; - s15 -= carry15 * ((uint64_t) 1L << 21); - carry17 = (s17 + (int64_t) (1L << 20)) >> 21; - s18 += carry17; - s17 -= carry17 * ((uint64_t) 1L << 21); - carry19 = (s19 + (int64_t) (1L << 20)) >> 21; - s20 += carry19; - s19 -= carry19 * ((uint64_t) 1L << 21); - carry21 = (s21 + (int64_t) (1L << 20)) >> 21; - s22 += carry21; - s21 -= carry21 * ((uint64_t) 1L << 21); - - s11 += s23 * 666643; - s12 += s23 * 470296; - s13 += s23 * 654183; - s14 -= s23 * 997805; - s15 += s23 * 136657; - s16 -= s23 * 683901; - - s10 += s22 * 666643; - s11 += s22 * 470296; - s12 += s22 * 654183; - s13 -= s22 * 997805; - s14 += s22 * 136657; - s15 -= s22 * 683901; - - s9 += s21 * 666643; - s10 += s21 * 470296; - s11 += s21 * 654183; - s12 -= s21 * 997805; - s13 += s21 * 136657; - s14 -= s21 * 683901; - - s8 += s20 * 666643; - s9 += s20 * 470296; - s10 += s20 * 654183; - s11 -= s20 * 997805; - s12 += s20 * 136657; - s13 -= s20 * 683901; - - s7 += s19 * 666643; - s8 += s19 * 470296; - s9 += s19 * 654183; - s10 -= s19 * 997805; - s11 += s19 * 136657; - s12 -= s19 * 683901; - - s6 += s18 * 666643; - s7 += s18 * 470296; - s8 += s18 * 654183; - s9 -= s18 * 997805; - s10 += s18 * 136657; - s11 -= s18 * 683901; - - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - carry12 = (s12 + (int64_t) (1L << 20)) >> 21; - s13 += carry12; - s12 -= carry12 * ((uint64_t) 1L << 21); - carry14 = (s14 + (int64_t) (1L << 20)) >> 21; - s15 += carry14; - s14 -= carry14 * ((uint64_t) 1L << 21); - carry16 = (s16 + (int64_t) (1L << 20)) >> 21; - s17 += carry16; - s16 -= carry16 * ((uint64_t) 1L << 21); - - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - carry13 = (s13 + (int64_t) (1L << 20)) >> 21; - s14 += carry13; - s13 -= carry13 * ((uint64_t) 1L << 21); - carry15 = (s15 + (int64_t) (1L << 20)) >> 21; - s16 += carry15; - s15 -= carry15 * ((uint64_t) 1L << 21); - - s5 += s17 * 666643; - s6 += s17 * 470296; - s7 += s17 * 654183; - s8 -= s17 * 997805; - s9 += s17 * 136657; - s10 -= s17 * 683901; - - s4 += s16 * 666643; - s5 += s16 * 470296; - s6 += s16 * 654183; - s7 -= s16 * 997805; - s8 += s16 * 136657; - s9 -= s16 * 683901; - - s3 += s15 * 666643; - s4 += s15 * 470296; - s5 += s15 * 654183; - s6 -= s15 * 997805; - s7 += s15 * 136657; - s8 -= s15 * 683901; - - s2 += s14 * 666643; - s3 += s14 * 470296; - s4 += s14 * 654183; - s5 -= s14 * 997805; - s6 += s14 * 136657; - s7 -= s14 * 683901; - - s1 += s13 * 666643; - s2 += s13 * 470296; - s3 += s13 * 654183; - s4 -= s13 * 997805; - s5 += s13 * 136657; - s6 -= s13 * 683901; - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - s12 = 0; - - carry0 = (s0 + (int64_t) (1L << 20)) >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry2 = (s2 + (int64_t) (1L << 20)) >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry4 = (s4 + (int64_t) (1L << 20)) >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - - carry1 = (s1 + (int64_t) (1L << 20)) >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry3 = (s3 + (int64_t) (1L << 20)) >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry5 = (s5 + (int64_t) (1L << 20)) >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - s12 = 0; - - carry0 = s0 >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry1 = s1 >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry2 = s2 >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry3 = s3 >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry4 = s4 >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry5 = s5 >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry6 = s6 >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry7 = s7 >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry8 = s8 >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry9 = s9 >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry10 = s10 >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - carry11 = s11 >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - - carry0 = s0 >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry1 = s1 >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry2 = s2 >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry3 = s3 >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry4 = s4 >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry5 = s5 >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry6 = s6 >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry7 = s7 >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry8 = s8 >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry9 = s9 >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry10 = s10 >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - - s[0] = s0 >> 0; - s[1] = s0 >> 8; - s[2] = (s0 >> 16) | (s1 * ((uint64_t) 1 << 5)); - s[3] = s1 >> 3; - s[4] = s1 >> 11; - s[5] = (s1 >> 19) | (s2 * ((uint64_t) 1 << 2)); - s[6] = s2 >> 6; - s[7] = (s2 >> 14) | (s3 * ((uint64_t) 1 << 7)); - s[8] = s3 >> 1; - s[9] = s3 >> 9; - s[10] = (s3 >> 17) | (s4 * ((uint64_t) 1 << 4)); - s[11] = s4 >> 4; - s[12] = s4 >> 12; - s[13] = (s4 >> 20) | (s5 * ((uint64_t) 1 << 1)); - s[14] = s5 >> 7; - s[15] = (s5 >> 15) | (s6 * ((uint64_t) 1 << 6)); - s[16] = s6 >> 2; - s[17] = s6 >> 10; - s[18] = (s6 >> 18) | (s7 * ((uint64_t) 1 << 3)); - s[19] = s7 >> 5; - s[20] = s7 >> 13; - s[21] = s8 >> 0; - s[22] = s8 >> 8; - s[23] = (s8 >> 16) | (s9 * ((uint64_t) 1 << 5)); - s[24] = s9 >> 3; - s[25] = s9 >> 11; - s[26] = (s9 >> 19) | (s10 * ((uint64_t) 1 << 2)); - s[27] = s10 >> 6; - s[28] = (s10 >> 14) | (s11 * ((uint64_t) 1 << 7)); - s[29] = s11 >> 1; - s[30] = s11 >> 9; - s[31] = s11 >> 17; -} - -/* - Input: - a[0]+256*a[1]+...+256^31*a[31] = a - * - Output: - s[0]+256*s[1]+...+256^31*s[31] = a^2 mod l - where l = 2^252 + 27742317777372353535851937790883648493. - */ - -static inline void -sc25519_sq(unsigned char *s, const unsigned char *a) -{ - sc25519_mul(s, a, a); -} - -/* - Input: - s[0]+256*a[1]+...+256^31*a[31] = a - n - * - Output: - s[0]+256*s[1]+...+256^31*s[31] = x * s^(s^n) mod l - where l = 2^252 + 27742317777372353535851937790883648493. - Overwrites s in place. - */ - -static inline void -sc25519_sqmul(unsigned char s[32], const int n, const unsigned char a[32]) -{ - int i; - - for (i = 0; i < n; i++) { - sc25519_sq(s, s); - } - sc25519_mul(s, s, a); -} - -void -sc25519_invert(unsigned char recip[32], const unsigned char s[32]) -{ - unsigned char _10[32], _100[32], _11[32], _101[32], _111[32], - _1001[32], _1011[32], _1111[32]; - - sc25519_sq(_10, s); - sc25519_sq(_100, _10); - sc25519_mul(_11, _10, s); - sc25519_mul(_101, _10, _11); - sc25519_mul(_111, _10, _101); - sc25519_mul(_1001, _10, _111); - sc25519_mul(_1011, _10, _1001); - sc25519_mul(_1111, _100, _1011); - sc25519_mul(recip, _1111, s); - - sc25519_sqmul(recip, 123 + 3, _101); - sc25519_sqmul(recip, 2 + 2, _11); - sc25519_sqmul(recip, 1 + 4, _1111); - sc25519_sqmul(recip, 1 + 4, _1111); - sc25519_sqmul(recip, 4, _1001); - sc25519_sqmul(recip, 2, _11); - sc25519_sqmul(recip, 1 + 4, _1111); - sc25519_sqmul(recip, 1 + 3, _101); - sc25519_sqmul(recip, 3 + 3, _101); - sc25519_sqmul(recip, 3, _111); - sc25519_sqmul(recip, 1 + 4, _1111); - sc25519_sqmul(recip, 2 + 3, _111); - sc25519_sqmul(recip, 2 + 2, _11); - sc25519_sqmul(recip, 1 + 4, _1011); - sc25519_sqmul(recip, 2 + 4, _1011); - sc25519_sqmul(recip, 6 + 4, _1001); - sc25519_sqmul(recip, 2 + 2, _11); - sc25519_sqmul(recip, 3 + 2, _11); - sc25519_sqmul(recip, 3 + 2, _11); - sc25519_sqmul(recip, 1 + 4, _1001); - sc25519_sqmul(recip, 1 + 3, _111); - sc25519_sqmul(recip, 2 + 4, _1111); - sc25519_sqmul(recip, 1 + 4, _1011); - sc25519_sqmul(recip, 3, _101); - sc25519_sqmul(recip, 2 + 4, _1111); - sc25519_sqmul(recip, 3, _101); - sc25519_sqmul(recip, 1 + 2, _11); -} - -/* - Input: - s[0]+256*s[1]+...+256^63*s[63] = s - * - Output: - s[0]+256*s[1]+...+256^31*s[31] = s mod l - where l = 2^252 + 27742317777372353535851937790883648493. - Overwrites s in place. - */ - -void -sc25519_reduce(unsigned char s[64]) -{ - int64_t s0 = 2097151 & load_3(s); - int64_t s1 = 2097151 & (load_4(s + 2) >> 5); - int64_t s2 = 2097151 & (load_3(s + 5) >> 2); - int64_t s3 = 2097151 & (load_4(s + 7) >> 7); - int64_t s4 = 2097151 & (load_4(s + 10) >> 4); - int64_t s5 = 2097151 & (load_3(s + 13) >> 1); - int64_t s6 = 2097151 & (load_4(s + 15) >> 6); - int64_t s7 = 2097151 & (load_3(s + 18) >> 3); - int64_t s8 = 2097151 & load_3(s + 21); - int64_t s9 = 2097151 & (load_4(s + 23) >> 5); - int64_t s10 = 2097151 & (load_3(s + 26) >> 2); - int64_t s11 = 2097151 & (load_4(s + 28) >> 7); - int64_t s12 = 2097151 & (load_4(s + 31) >> 4); - int64_t s13 = 2097151 & (load_3(s + 34) >> 1); - int64_t s14 = 2097151 & (load_4(s + 36) >> 6); - int64_t s15 = 2097151 & (load_3(s + 39) >> 3); - int64_t s16 = 2097151 & load_3(s + 42); - int64_t s17 = 2097151 & (load_4(s + 44) >> 5); - int64_t s18 = 2097151 & (load_3(s + 47) >> 2); - int64_t s19 = 2097151 & (load_4(s + 49) >> 7); - int64_t s20 = 2097151 & (load_4(s + 52) >> 4); - int64_t s21 = 2097151 & (load_3(s + 55) >> 1); - int64_t s22 = 2097151 & (load_4(s + 57) >> 6); - int64_t s23 = (load_4(s + 60) >> 3); - - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - int64_t carry10; - int64_t carry11; - int64_t carry12; - int64_t carry13; - int64_t carry14; - int64_t carry15; - int64_t carry16; - - s11 += s23 * 666643; - s12 += s23 * 470296; - s13 += s23 * 654183; - s14 -= s23 * 997805; - s15 += s23 * 136657; - s16 -= s23 * 683901; - - s10 += s22 * 666643; - s11 += s22 * 470296; - s12 += s22 * 654183; - s13 -= s22 * 997805; - s14 += s22 * 136657; - s15 -= s22 * 683901; - - s9 += s21 * 666643; - s10 += s21 * 470296; - s11 += s21 * 654183; - s12 -= s21 * 997805; - s13 += s21 * 136657; - s14 -= s21 * 683901; - - s8 += s20 * 666643; - s9 += s20 * 470296; - s10 += s20 * 654183; - s11 -= s20 * 997805; - s12 += s20 * 136657; - s13 -= s20 * 683901; - - s7 += s19 * 666643; - s8 += s19 * 470296; - s9 += s19 * 654183; - s10 -= s19 * 997805; - s11 += s19 * 136657; - s12 -= s19 * 683901; - - s6 += s18 * 666643; - s7 += s18 * 470296; - s8 += s18 * 654183; - s9 -= s18 * 997805; - s10 += s18 * 136657; - s11 -= s18 * 683901; - - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - carry12 = (s12 + (int64_t) (1L << 20)) >> 21; - s13 += carry12; - s12 -= carry12 * ((uint64_t) 1L << 21); - carry14 = (s14 + (int64_t) (1L << 20)) >> 21; - s15 += carry14; - s14 -= carry14 * ((uint64_t) 1L << 21); - carry16 = (s16 + (int64_t) (1L << 20)) >> 21; - s17 += carry16; - s16 -= carry16 * ((uint64_t) 1L << 21); - - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - carry13 = (s13 + (int64_t) (1L << 20)) >> 21; - s14 += carry13; - s13 -= carry13 * ((uint64_t) 1L << 21); - carry15 = (s15 + (int64_t) (1L << 20)) >> 21; - s16 += carry15; - s15 -= carry15 * ((uint64_t) 1L << 21); - - s5 += s17 * 666643; - s6 += s17 * 470296; - s7 += s17 * 654183; - s8 -= s17 * 997805; - s9 += s17 * 136657; - s10 -= s17 * 683901; - - s4 += s16 * 666643; - s5 += s16 * 470296; - s6 += s16 * 654183; - s7 -= s16 * 997805; - s8 += s16 * 136657; - s9 -= s16 * 683901; - - s3 += s15 * 666643; - s4 += s15 * 470296; - s5 += s15 * 654183; - s6 -= s15 * 997805; - s7 += s15 * 136657; - s8 -= s15 * 683901; - - s2 += s14 * 666643; - s3 += s14 * 470296; - s4 += s14 * 654183; - s5 -= s14 * 997805; - s6 += s14 * 136657; - s7 -= s14 * 683901; - - s1 += s13 * 666643; - s2 += s13 * 470296; - s3 += s13 * 654183; - s4 -= s13 * 997805; - s5 += s13 * 136657; - s6 -= s13 * 683901; - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - s12 = 0; - - carry0 = (s0 + (int64_t) (1L << 20)) >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry2 = (s2 + (int64_t) (1L << 20)) >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry4 = (s4 + (int64_t) (1L << 20)) >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - - carry1 = (s1 + (int64_t) (1L << 20)) >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry3 = (s3 + (int64_t) (1L << 20)) >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry5 = (s5 + (int64_t) (1L << 20)) >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - s12 = 0; - - carry0 = s0 >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry1 = s1 >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry2 = s2 >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry3 = s3 >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry4 = s4 >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry5 = s5 >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry6 = s6 >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry7 = s7 >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry8 = s8 >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry9 = s9 >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry10 = s10 >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - carry11 = s11 >> 21; - s12 += carry11; - s11 -= carry11 * ((uint64_t) 1L << 21); - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - - carry0 = s0 >> 21; - s1 += carry0; - s0 -= carry0 * ((uint64_t) 1L << 21); - carry1 = s1 >> 21; - s2 += carry1; - s1 -= carry1 * ((uint64_t) 1L << 21); - carry2 = s2 >> 21; - s3 += carry2; - s2 -= carry2 * ((uint64_t) 1L << 21); - carry3 = s3 >> 21; - s4 += carry3; - s3 -= carry3 * ((uint64_t) 1L << 21); - carry4 = s4 >> 21; - s5 += carry4; - s4 -= carry4 * ((uint64_t) 1L << 21); - carry5 = s5 >> 21; - s6 += carry5; - s5 -= carry5 * ((uint64_t) 1L << 21); - carry6 = s6 >> 21; - s7 += carry6; - s6 -= carry6 * ((uint64_t) 1L << 21); - carry7 = s7 >> 21; - s8 += carry7; - s7 -= carry7 * ((uint64_t) 1L << 21); - carry8 = s8 >> 21; - s9 += carry8; - s8 -= carry8 * ((uint64_t) 1L << 21); - carry9 = s9 >> 21; - s10 += carry9; - s9 -= carry9 * ((uint64_t) 1L << 21); - carry10 = s10 >> 21; - s11 += carry10; - s10 -= carry10 * ((uint64_t) 1L << 21); - - s[0] = s0 >> 0; - s[1] = s0 >> 8; - s[2] = (s0 >> 16) | (s1 * ((uint64_t) 1 << 5)); - s[3] = s1 >> 3; - s[4] = s1 >> 11; - s[5] = (s1 >> 19) | (s2 * ((uint64_t) 1 << 2)); - s[6] = s2 >> 6; - s[7] = (s2 >> 14) | (s3 * ((uint64_t) 1 << 7)); - s[8] = s3 >> 1; - s[9] = s3 >> 9; - s[10] = (s3 >> 17) | (s4 * ((uint64_t) 1 << 4)); - s[11] = s4 >> 4; - s[12] = s4 >> 12; - s[13] = (s4 >> 20) | (s5 * ((uint64_t) 1 << 1)); - s[14] = s5 >> 7; - s[15] = (s5 >> 15) | (s6 * ((uint64_t) 1 << 6)); - s[16] = s6 >> 2; - s[17] = s6 >> 10; - s[18] = (s6 >> 18) | (s7 * ((uint64_t) 1 << 3)); - s[19] = s7 >> 5; - s[20] = s7 >> 13; - s[21] = s8 >> 0; - s[22] = s8 >> 8; - s[23] = (s8 >> 16) | (s9 * ((uint64_t) 1 << 5)); - s[24] = s9 >> 3; - s[25] = s9 >> 11; - s[26] = (s9 >> 19) | (s10 * ((uint64_t) 1 << 2)); - s[27] = s10 >> 6; - s[28] = (s10 >> 14) | (s11 * ((uint64_t) 1 << 7)); - s[29] = s11 >> 1; - s[30] = s11 >> 9; - s[31] = s11 >> 17; -} - -int -sc25519_is_canonical(const unsigned char s[32]) -{ - /* 2^252+27742317777372353535851937790883648493 */ - static const unsigned char L[32] = { - 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, - 0xa2, 0xde, 0xf9, 0xde, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10 - }; - unsigned char c = 0; - unsigned char n = 1; - unsigned int i = 32; - - do { - i--; - c |= ((s[i] - L[i]) >> 8) & n; - n &= ((s[i] ^ L[i]) - 1) >> 8; - } while (i != 0); - - return (c != 0); -} - -static void -chi25519(fe25519 out, const fe25519 z) -{ - fe25519 t0, t1, t2, t3; - int i; - - fe25519_sq(t0, z); - fe25519_mul(t1, t0, z); - fe25519_sq(t0, t1); - fe25519_sq(t2, t0); - fe25519_sq(t2, t2); - fe25519_mul(t2, t2, t0); - fe25519_mul(t1, t2, z); - fe25519_sq(t2, t1); - - for (i = 1; i < 5; i++) { - fe25519_sq(t2, t2); - } - fe25519_mul(t1, t2, t1); - fe25519_sq(t2, t1); - for (i = 1; i < 10; i++) { - fe25519_sq(t2, t2); - } - fe25519_mul(t2, t2, t1); - fe25519_sq(t3, t2); - for (i = 1; i < 20; i++) { - fe25519_sq(t3, t3); - } - fe25519_mul(t2, t3, t2); - fe25519_sq(t2, t2); - for (i = 1; i < 10; i++) { - fe25519_sq(t2, t2); - } - fe25519_mul(t1, t2, t1); - fe25519_sq(t2, t1); - for (i = 1; i < 50; i++) { - fe25519_sq(t2, t2); - } - fe25519_mul(t2, t2, t1); - fe25519_sq(t3, t2); - for (i = 1; i < 100; i++) { - fe25519_sq(t3, t3); - } - fe25519_mul(t2, t3, t2); - fe25519_sq(t2, t2); - for (i = 1; i < 50; i++) { - fe25519_sq(t2, t2); - } - fe25519_mul(t1, t2, t1); - fe25519_sq(t1, t1); - for (i = 1; i < 4; i++) { - fe25519_sq(t1, t1); - } - fe25519_mul(out, t1, t0); -} - -static void -ge25519_elligator2(unsigned char s[32], const fe25519 r, const unsigned char x_sign) -{ - fe25519 e; - fe25519 negx; - fe25519 rr2; - fe25519 x, x2, x3; - ge25519_p3 p3; - ge25519_p1p1 p1; - ge25519_p2 p2; - unsigned int e_is_minus_1; - - fe25519_sq2(rr2, r); - rr2[0]++; - fe25519_invert(rr2, rr2); - fe25519_mul(x, curve25519_A, rr2); - fe25519_neg(x, x); - - fe25519_sq(x2, x); - fe25519_mul(x3, x, x2); - fe25519_add(e, x3, x); - fe25519_mul(x2, x2, curve25519_A); - fe25519_add(e, x2, e); - - chi25519(e, e); - - fe25519_tobytes(s, e); - e_is_minus_1 = s[1] & 1; - fe25519_neg(negx, x); - fe25519_cmov(x, negx, e_is_minus_1); - fe25519_0(x2); - fe25519_cmov(x2, curve25519_A, e_is_minus_1); - fe25519_sub(x, x, x2); - - /* yed = (x-1)/(x+1) */ - { - fe25519 one; - fe25519 x_plus_one; - fe25519 x_plus_one_inv; - fe25519 x_minus_one; - fe25519 yed; - - fe25519_1(one); - fe25519_add(x_plus_one, x, one); - fe25519_sub(x_minus_one, x, one); - fe25519_invert(x_plus_one_inv, x_plus_one); - fe25519_mul(yed, x_minus_one, x_plus_one_inv); - fe25519_tobytes(s, yed); - } - - /* recover x */ - s[31] |= x_sign; - if (ge25519_frombytes(&p3, s) != 0) { - abort(); /* LCOV_EXCL_LINE */ - } - - /* multiply by the cofactor */ - ge25519_p3_dbl(&p1, &p3); - ge25519_p1p1_to_p2(&p2, &p1); - ge25519_p2_dbl(&p1, &p2); - ge25519_p1p1_to_p2(&p2, &p1); - ge25519_p2_dbl(&p1, &p2); - ge25519_p1p1_to_p3(&p3, &p1); - - ge25519_p3_tobytes(s, &p3); -} - -void -ge25519_from_uniform(unsigned char s[32], const unsigned char r[32]) -{ - fe25519 r_fe; - unsigned char x_sign; - - memcpy(s, r, 32); - x_sign = s[31] & 0x80; - s[31] &= 0x7f; - fe25519_frombytes(r_fe, s); - ge25519_elligator2(s, r_fe, x_sign); -} - -void -ge25519_from_hash(unsigned char s[32], const unsigned char h[64]) -{ - unsigned char fl[32]; - unsigned char gl[32]; - fe25519 fe_f; - fe25519 fe_g; - size_t i; - unsigned char x_sign; - - x_sign = h[0] & 0x80; - for (i = 0; i < 32; i++) { - fl[i] = h[63 - i]; - gl[i] = h[31 - i]; - } - fl[31] &= 0x7f; - gl[31] &= 0x7f; - fe25519_frombytes(fe_f, fl); - fe25519_frombytes(fe_g, gl); - fe_f[0] += (h[32] >> 7) * 19; - for (i = 0; i < sizeof (fe25519) / sizeof fe_f[0]; i++) { - fe_f[i] += 38 * fe_g[i]; - } - fe25519_reduce(fe_f, fe_f); - ge25519_elligator2(s, fe_f, x_sign); -} - -/* Ristretto group */ - -static int -ristretto255_sqrt_ratio_m1(fe25519 x, const fe25519 u, const fe25519 v) -{ - fe25519 v3; - fe25519 vxx; - fe25519 m_root_check, p_root_check, f_root_check; - fe25519 x_sqrtm1; - int has_m_root, has_p_root, has_f_root; - - fe25519_sq(v3, v); - fe25519_mul(v3, v3, v); /* v3 = v^3 */ - fe25519_sq(x, v3); - fe25519_mul(x, x, v); - fe25519_mul(x, x, u); /* x = uv^7 */ - - fe25519_pow22523(x, x); /* x = (uv^7)^((q-5)/8) */ - fe25519_mul(x, x, v3); - fe25519_mul(x, x, u); /* x = uv^3(uv^7)^((q-5)/8) */ - - fe25519_sq(vxx, x); - fe25519_mul(vxx, vxx, v); /* vx^2 */ - fe25519_sub(m_root_check, vxx, u); /* vx^2-u */ - fe25519_add(p_root_check, vxx, u); /* vx^2+u */ - fe25519_mul(f_root_check, u, sqrtm1); /* u*sqrt(-1) */ - fe25519_add(f_root_check, vxx, f_root_check); /* vx^2+u*sqrt(-1) */ - has_m_root = fe25519_iszero(m_root_check); - has_p_root = fe25519_iszero(p_root_check); - has_f_root = fe25519_iszero(f_root_check); - fe25519_mul(x_sqrtm1, x, sqrtm1); /* x*sqrt(-1) */ - - fe25519_cmov(x, x_sqrtm1, has_p_root | has_f_root); - fe25519_abs(x, x); - - return has_m_root | has_p_root; -} - -static int -ristretto255_is_canonical(const unsigned char *s) -{ - unsigned char c; - unsigned char d; - unsigned int i; - - c = (s[31] & 0x7f) ^ 0x7f; - for (i = 30; i > 0; i--) { - c |= s[i] ^ 0xff; - } - c = (((unsigned int) c) - 1U) >> 8; - d = (0xed - 1U - (unsigned int) s[0]) >> 8; - - return 1 - (((c & d) | s[0]) & 1); -} - -int -ristretto255_frombytes(ge25519_p3 *h, const unsigned char *s) -{ - fe25519 inv_sqrt; - fe25519 one; - fe25519 s_; - fe25519 ss; - fe25519 u1, u2; - fe25519 u1u1, u2u2; - fe25519 v; - fe25519 v_u2u2; - int was_square; - - if (ristretto255_is_canonical(s) == 0) { - return -1; - } - fe25519_frombytes(s_, s); - fe25519_sq(ss, s_); /* ss = s^2 */ - - fe25519_1(u1); - fe25519_sub(u1, u1, ss); /* u1 = 1-ss */ - fe25519_sq(u1u1, u1); /* u1u1 = u1^2 */ - - fe25519_1(u2); - fe25519_add(u2, u2, ss); /* u2 = 1+ss */ - fe25519_sq(u2u2, u2); /* u2u2 = u2^2 */ - - fe25519_mul(v, d, u1u1); /* v = d*u1^2 */ - fe25519_neg(v, v); /* v = -d*u1^2 */ - fe25519_sub(v, v, u2u2); /* v = -(d*u1^2)-u2^2 */ - - fe25519_mul(v_u2u2, v, u2u2); /* v_u2u2 = v*u2^2 */ - - fe25519_1(one); - was_square = ristretto255_sqrt_ratio_m1(inv_sqrt, one, v_u2u2); - fe25519_mul(h->X, inv_sqrt, u2); - fe25519_mul(h->Y, inv_sqrt, h->X); - fe25519_mul(h->Y, h->Y, v); - - fe25519_mul(h->X, h->X, s_); - fe25519_add(h->X, h->X, h->X); - fe25519_abs(h->X, h->X); - fe25519_mul(h->Y, u1, h->Y); - fe25519_1(h->Z); - fe25519_mul(h->T, h->X, h->Y); - - return - ((1 - was_square) | - fe25519_isnegative(h->T) | fe25519_iszero(h->Y)); -} - -void -ristretto255_p3_tobytes(unsigned char *s, const ge25519_p3 *h) -{ - fe25519 den1, den2; - fe25519 den_inv; - fe25519 eden; - fe25519 inv_sqrt; - fe25519 ix, iy; - fe25519 one; - fe25519 s_; - fe25519 t_z_inv; - fe25519 u1, u2; - fe25519 u1_u2u2; - fe25519 x_, y_; - fe25519 x_z_inv; - fe25519 z_inv; - fe25519 zmy; - int rotate; - - fe25519_add(u1, h->Z, h->Y); /* u1 = Z+Y */ - fe25519_sub(zmy, h->Z, h->Y); /* zmy = Z-Y */ - fe25519_mul(u1, u1, zmy); /* u1 = (Z+Y)*(Z-Y) */ - fe25519_mul(u2, h->X, h->Y); /* u2 = X*Y */ - - fe25519_sq(u1_u2u2, u2); /* u1_u2u2 = u2^2 */ - fe25519_mul(u1_u2u2, u1, u1_u2u2); /* u1_u2u2 = u1*u2^2 */ - - fe25519_1(one); - (void) ristretto255_sqrt_ratio_m1(inv_sqrt, one, u1_u2u2); - fe25519_mul(den1, inv_sqrt, u1); /* den1 = inv_sqrt*u1 */ - fe25519_mul(den2, inv_sqrt, u2); /* den2 = inv_sqrt*u2 */ - fe25519_mul(z_inv, den1, den2); /* z_inv = den1*den2 */ - fe25519_mul(z_inv, z_inv, h->T); /* z_inv = den1*den2*T */ - - fe25519_mul(ix, h->X, sqrtm1); /* ix = X*sqrt(-1) */ - fe25519_mul(iy, h->Y, sqrtm1); /* iy = Y*sqrt(-1) */ - fe25519_mul(eden, den1, invsqrtamd); /* eden = den1*sqrt(a-d) */ - - fe25519_mul(t_z_inv, h->T, z_inv); /* t_z_inv = T*z_inv */ - rotate = fe25519_isnegative(t_z_inv); - - fe25519_copy(x_, h->X); - fe25519_copy(y_, h->Y); - fe25519_copy(den_inv, den2); - - fe25519_cmov(x_, iy, rotate); - fe25519_cmov(y_, ix, rotate); - fe25519_cmov(den_inv, eden, rotate); - - fe25519_mul(x_z_inv, x_, z_inv); - fe25519_cneg(y_, y_, fe25519_isnegative(x_z_inv)); - - fe25519_sub(s_, h->Z, y_); - fe25519_mul(s_, den_inv, s_); - fe25519_abs(s_, s_); - fe25519_tobytes(s, s_); -} - -static void -ristretto255_elligator(ge25519_p3 *p, const fe25519 t) -{ - fe25519 c; - fe25519 n; - fe25519 one; - fe25519 r; - fe25519 rpd; - fe25519 s, s_prime; - fe25519 ss; - fe25519 u, v; - fe25519 w0, w1, w2, w3; - int wasnt_square; - - fe25519_1(one); - fe25519_sq(r, t); /* r = t^2 */ - fe25519_mul(r, sqrtm1, r); /* r = sqrt(-1)*t^2 */ - fe25519_add(u, r, one); /* u = r+1 */ - fe25519_mul(u, u, onemsqd); /* u = (r+1)*(1-d^2) */ - fe25519_1(c); - fe25519_neg(c, c); /* c = -1 */ - fe25519_add(rpd, r, d); /* rpd = r*d */ - fe25519_mul(v, r, d); /* v = r*d */ - fe25519_sub(v, c, v); /* v = c-r*d */ - fe25519_mul(v, v, rpd); /* v = (c-r*d)*(r+d) */ - - wasnt_square = 1 - ristretto255_sqrt_ratio_m1(s, u, v); - fe25519_mul(s_prime, s, t); - fe25519_abs(s_prime, s_prime); - fe25519_neg(s_prime, s_prime); /* s_prime = -|s*t| */ - fe25519_cmov(s, s_prime, wasnt_square); - fe25519_cmov(c, r, wasnt_square); - - fe25519_sub(n, r, one); /* n = r-1 */ - fe25519_mul(n, n, c); /* n = c*(r-1) */ - fe25519_mul(n, n, sqdmone); /* n = c*(r-1)*(d-1)^2 */ - fe25519_sub(n, n, v); /* n = c*(r-1)*(d-1)^2-v */ - - fe25519_add(w0, s, s); /* w0 = 2s */ - fe25519_mul(w0, w0, v); /* w0 = 2s*v */ - fe25519_mul(w1, n, sqrtadm1); /* w1 = n*sqrt(ad-1) */ - fe25519_sq(ss, s); /* ss = s^2 */ - fe25519_sub(w2, one, ss); /* w2 = 1-s^2 */ - fe25519_add(w3, one, ss); /* w3 = 1+s^2 */ - - fe25519_mul(p->X, w0, w3); - fe25519_mul(p->Y, w2, w1); - fe25519_mul(p->Z, w1, w3); - fe25519_mul(p->T, w0, w2); -} - -void -ristretto255_from_hash(unsigned char s[32], const unsigned char h[64]) -{ - fe25519 r0, r1; - ge25519_cached p1_cached; - ge25519_p1p1 p_p1p1; - ge25519_p3 p0, p1; - ge25519_p3 p; - - fe25519_frombytes(r0, h); - fe25519_frombytes(r1, h + 32); - ristretto255_elligator(&p0, r0); - ristretto255_elligator(&p1, r1); - ge25519_p3_to_cached(&p1_cached, &p1); - ge25519_add(&p_p1p1, &p0, &p1_cached); - ge25519_p1p1_to_p3(&p, &p_p1p1); - ristretto255_p3_tobytes(s, &p); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h deleted file mode 100644 index e18530b..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h +++ /dev/null @@ -1,1344 +0,0 @@ -{ /* 0/31 */ - { - { 25967493, -14356035, 29566456, 3660896, -12694345, 4014787, 27544626, -11754271, -6079156, 2047605 }, - { -12545711, 934262, -2722910, 3049990, -727428, 9406986, 12720692, 5043384, 19500929, -15469378 }, - { -8738181, 4489570, 9688441, -14785194, 10184609, -12363380, 29287919, 11864899, -24514362, -4438546 } - }, - { - { -12815894, -12976347, -21581243, 11784320, -25355658, -2750717, -11717903, -3814571, -358445, -10211303 }, - { -21703237, 6903825, 27185491, 6451973, -29577724, -9554005, -15616551, 11189268, -26829678, -5319081 }, - { 26966642, 11152617, 32442495, 15396054, 14353839, -12752335, -3128826, -9541118, -15472047, -4166697 } - }, - { - { 15636291, -9688557, 24204773, -7912398, 616977, -16685262, 27787600, -14772189, 28944400, -1550024 }, - { 16568933, 4717097, -11556148, -1102322, 15682896, -11807043, 16354577, -11775962, 7689662, 11199574 }, - { 30464156, -5976125, -11779434, -15670865, 23220365, 15915852, 7512774, 10017326, -17749093, -9920357 } - }, - { - { -17036878, 13921892, 10945806, -6033431, 27105052, -16084379, -28926210, 15006023, 3284568, -6276540 }, - { 23599295, -8306047, -11193664, -7687416, 13236774, 10506355, 7464579, 9656445, 13059162, 10374397 }, - { 7798556, 16710257, 3033922, 2874086, 28997861, 2835604, 32406664, -3839045, -641708, -101325 } - }, - { - { 10861363, 11473154, 27284546, 1981175, -30064349, 12577861, 32867885, 14515107, -15438304, 10819380 }, - { 4708026, 6336745, 20377586, 9066809, -11272109, 6594696, -25653668, 12483688, -12668491, 5581306 }, - { 19563160, 16186464, -29386857, 4097519, 10237984, -4348115, 28542350, 13850243, -23678021, -15815942 } - }, - { - { -15371964, -12862754, 32573250, 4720197, -26436522, 5875511, -19188627, -15224819, -9818940, -12085777 }, - { -8549212, 109983, 15149363, 2178705, 22900618, 4543417, 3044240, -15689887, 1762328, 14866737 }, - { -18199695, -15951423, -10473290, 1707278, -17185920, 3916101, -28236412, 3959421, 27914454, 4383652 } - }, - { - { 5153746, 9909285, 1723747, -2777874, 30523605, 5516873, 19480852, 5230134, -23952439, -15175766 }, - { -30269007, -3463509, 7665486, 10083793, 28475525, 1649722, 20654025, 16520125, 30598449, 7715701 }, - { 28881845, 14381568, 9657904, 3680757, -20181635, 7843316, -31400660, 1370708, 29794553, -1409300 } - }, - { - { 14499471, -2729599, -33191113, -4254652, 28494862, 14271267, 30290735, 10876454, -33154098, 2381726 }, - { -7195431, -2655363, -14730155, 462251, -27724326, 3941372, -6236617, 3696005, -32300832, 15351955 }, - { 27431194, 8222322, 16448760, -3907995, -18707002, 11938355, -32961401, -2970515, 29551813, 10109425 } - } -}, -{ /* 1/31 */ - { - { -13657040, -13155431, -31283750, 11777098, 21447386, 6519384, -2378284, -1627556, 10092783, -4764171 }, - { 27939166, 14210322, 4677035, 16277044, -22964462, -12398139, -32508754, 12005538, -17810127, 12803510 }, - { 17228999, -15661624, -1233527, 300140, -1224870, -11714777, 30364213, -9038194, 18016357, 4397660 } - }, - { - { -10958843, -7690207, 4776341, -14954238, 27850028, -15602212, -26619106, 14544525, -17477504, 982639 }, - { 29253598, 15796703, -2863982, -9908884, 10057023, 3163536, 7332899, -4120128, -21047696, 9934963 }, - { 5793303, 16271923, -24131614, -10116404, 29188560, 1206517, -14747930, 4559895, -30123922, -10897950 } - }, - { - { -27643952, -11493006, 16282657, -11036493, 28414021, -15012264, 24191034, 4541697, -13338309, 5500568 }, - { 12650548, -1497113, 9052871, 11355358, -17680037, -8400164, -17430592, 12264343, 10874051, 13524335 }, - { 25556948, -3045990, 714651, 2510400, 23394682, -10415330, 33119038, 5080568, -22528059, 5376628 } - }, - { - { -26088264, -4011052, -17013699, -3537628, -6726793, 1920897, -22321305, -9447443, 4535768, 1569007 }, - { -2255422, 14606630, -21692440, -8039818, 28430649, 8775819, -30494562, 3044290, 31848280, 12543772 }, - { -22028579, 2943893, -31857513, 6777306, 13784462, -4292203, -27377195, -2062731, 7718482, 14474653 } - }, - { - { 2385315, 2454213, -22631320, 46603, -4437935, -15680415, 656965, -7236665, 24316168, -5253567 }, - { 13741529, 10911568, -33233417, -8603737, -20177830, -1033297, 33040651, -13424532, -20729456, 8321686 }, - { 21060490, -2212744, 15712757, -4336099, 1639040, 10656336, 23845965, -11874838, -9984458, 608372 } - }, - { - { -13672732, -15087586, -10889693, -7557059, -6036909, 11305547, 1123968, -6780577, 27229399, 23887 }, - { -23244140, -294205, -11744728, 14712571, -29465699, -2029617, 12797024, -6440308, -1633405, 16678954 }, - { -29500620, 4770662, -16054387, 14001338, 7830047, 9564805, -1508144, -4795045, -17169265, 4904953 } - }, - { - { 24059557, 14617003, 19037157, -15039908, 19766093, -14906429, 5169211, 16191880, 2128236, -4326833 }, - { -16981152, 4124966, -8540610, -10653797, 30336522, -14105247, -29806336, 916033, -6882542, -2986532 }, - { -22630907, 12419372, -7134229, -7473371, -16478904, 16739175, 285431, 2763829, 15736322, 4143876 } - }, - { - { 2379352, 11839345, -4110402, -5988665, 11274298, 794957, 212801, -14594663, 23527084, -16458268 }, - { 33431127, -11130478, -17838966, -15626900, 8909499, 8376530, -32625340, 4087881, -15188911, -14416214 }, - { 1767683, 7197987, -13205226, -2022635, -13091350, 448826, 5799055, 4357868, -4774191, -16323038 } - } -}, -{ /* 2/31 */ - { - { 6721966, 13833823, -23523388, -1551314, 26354293, -11863321, 23365147, -3949732, 7390890, 2759800 }, - { 4409041, 2052381, 23373853, 10530217, 7676779, -12885954, 21302353, -4264057, 1244380, -12919645 }, - { -4421239, 7169619, 4982368, -2957590, 30256825, -2777540, 14086413, 9208236, 15886429, 16489664 } - }, - { - { 1996075, 10375649, 14346367, 13311202, -6874135, -16438411, -13693198, 398369, -30606455, -712933 }, - { -25307465, 9795880, -2777414, 14878809, -33531835, 14780363, 13348553, 12076947, -30836462, 5113182 }, - { -17770784, 11797796, 31950843, 13929123, -25888302, 12288344, -30341101, -7336386, 13847711, 5387222 } - }, - { - { -18582163, -3416217, 17824843, -2340966, 22744343, -10442611, 8763061, 3617786, -19600662, 10370991 }, - { 20246567, -14369378, 22358229, -543712, 18507283, -10413996, 14554437, -8746092, 32232924, 16763880 }, - { 9648505, 10094563, 26416693, 14745928, -30374318, -6472621, 11094161, 15689506, 3140038, -16510092 } - }, - { - { -16160072, 5472695, 31895588, 4744994, 8823515, 10365685, -27224800, 9448613, -28774454, 366295 }, - { 19153450, 11523972, -11096490, -6503142, -24647631, 5420647, 28344573, 8041113, 719605, 11671788 }, - { 8678025, 2694440, -6808014, 2517372, 4964326, 11152271, -15432916, -15266516, 27000813, -10195553 } - }, - { - { -15157904, 7134312, 8639287, -2814877, -7235688, 10421742, 564065, 5336097, 6750977, -14521026 }, - { 11836410, -3979488, 26297894, 16080799, 23455045, 15735944, 1695823, -8819122, 8169720, 16220347 }, - { -18115838, 8653647, 17578566, -6092619, -8025777, -16012763, -11144307, -2627664, -5990708, -14166033 } - }, - { - { -23308498, -10968312, 15213228, -10081214, -30853605, -11050004, 27884329, 2847284, 2655861, 1738395 }, - { -27537433, -14253021, -25336301, -8002780, -9370762, 8129821, 21651608, -3239336, -19087449, -11005278 }, - { 1533110, 3437855, 23735889, 459276, 29970501, 11335377, 26030092, 5821408, 10478196, 8544890 } - }, - { - { 32173121, -16129311, 24896207, 3921497, 22579056, -3410854, 19270449, 12217473, 17789017, -3395995 }, - { -30552961, -2228401, -15578829, -10147201, 13243889, 517024, 15479401, -3853233, 30460520, 1052596 }, - { -11614875, 13323618, 32618793, 8175907, -15230173, 12596687, 27491595, -4612359, 3179268, -9478891 } - }, - { - { 31947069, -14366651, -4640583, -15339921, -15125977, -6039709, -14756777, -16411740, 19072640, -9511060 }, - { 11685058, 11822410, 3158003, -13952594, 33402194, -4165066, 5977896, -5215017, 473099, 5040608 }, - { -20290863, 8198642, -27410132, 11602123, 1290375, -2799760, 28326862, 1721092, -19558642, -3131606 } - } -}, -{ /* 3/31 */ - { - { 7881532, 10687937, 7578723, 7738378, -18951012, -2553952, 21820786, 8076149, -27868496, 11538389 }, - { -19935666, 3899861, 18283497, -6801568, -15728660, -11249211, 8754525, 7446702, -5676054, 5797016 }, - { -11295600, -3793569, -15782110, -7964573, 12708869, -8456199, 2014099, -9050574, -2369172, -5877341 } - }, - { - { -22472376, -11568741, -27682020, 1146375, 18956691, 16640559, 1192730, -3714199, 15123619, 10811505 }, - { 14352098, -3419715, -18942044, 10822655, 32750596, 4699007, -70363, 15776356, -28886779, -11974553 }, - { -28241164, -8072475, -4978962, -5315317, 29416931, 1847569, -20654173, -16484855, 4714547, -9600655 } - }, - { - { 15200332, 8368572, 19679101, 15970074, -31872674, 1959451, 24611599, -4543832, -11745876, 12340220 }, - { 12876937, -10480056, 33134381, 6590940, -6307776, 14872440, 9613953, 8241152, 15370987, 9608631 }, - { -4143277, -12014408, 8446281, -391603, 4407738, 13629032, -7724868, 15866074, -28210621, -8814099 } - }, - { - { 26660628, -15677655, 8393734, 358047, -7401291, 992988, -23904233, 858697, 20571223, 8420556 }, - { 14620715, 13067227, -15447274, 8264467, 14106269, 15080814, 33531827, 12516406, -21574435, -12476749 }, - { 236881, 10476226, 57258, -14677024, 6472998, 2466984, 17258519, 7256740, 8791136, 15069930 } - }, - { - { 1276410, -9371918, 22949635, -16322807, -23493039, -5702186, 14711875, 4874229, -30663140, -2331391 }, - { 5855666, 4990204, -13711848, 7294284, -7804282, 1924647, -1423175, -7912378, -33069337, 9234253 }, - { 20590503, -9018988, 31529744, -7352666, -2706834, 10650548, 31559055, -11609587, 18979186, 13396066 } - }, - { - { 24474287, 4968103, 22267082, 4407354, 24063882, -8325180, -18816887, 13594782, 33514650, 7021958 }, - { -11566906, -6565505, -21365085, 15928892, -26158305, 4315421, -25948728, -3916677, -21480480, 12868082 }, - { -28635013, 13504661, 19988037, -2132761, 21078225, 6443208, -21446107, 2244500, -12455797, -8089383 } - }, - { - { -30595528, 13793479, -5852820, 319136, -25723172, -6263899, 33086546, 8957937, -15233648, 5540521 }, - { -11630176, -11503902, -8119500, -7643073, 2620056, 1022908, -23710744, -1568984, -16128528, -14962807 }, - { 23152971, 775386, 27395463, 14006635, -9701118, 4649512, 1689819, 892185, -11513277, -15205948 } - }, - { - { 9770129, 9586738, 26496094, 4324120, 1556511, -3550024, 27453819, 4763127, -19179614, 5867134 }, - { -32765025, 1927590, 31726409, -4753295, 23962434, -16019500, 27846559, 5931263, -29749703, -16108455 }, - { 27461885, -2977536, 22380810, 1815854, -23033753, -3031938, 7283490, -15148073, -19526700, 7734629 } - } -}, -{ /* 4/31 */ - { - { -8010264, -9590817, -11120403, 6196038, 29344158, -13430885, 7585295, -3176626, 18549497, 15302069 }, - { -32658337, -6171222, -7672793, -11051681, 6258878, 13504381, 10458790, -6418461, -8872242, 8424746 }, - { 24687205, 8613276, -30667046, -3233545, 1863892, -1830544, 19206234, 7134917, -11284482, -828919 } - }, - { - { 11334899, -9218022, 8025293, 12707519, 17523892, -10476071, 10243738, -14685461, -5066034, 16498837 }, - { 8911542, 6887158, -9584260, -6958590, 11145641, -9543680, 17303925, -14124238, 6536641, 10543906 }, - { -28946384, 15479763, -17466835, 568876, -1497683, 11223454, -2669190, -16625574, -27235709, 8876771 } - }, - { - { -25742899, -12566864, -15649966, -846607, -33026686, -796288, -33481822, 15824474, -604426, -9039817 }, - { 10330056, 70051, 7957388, -9002667, 9764902, 15609756, 27698697, -4890037, 1657394, 3084098 }, - { 10477963, -7470260, 12119566, -13250805, 29016247, -5365589, 31280319, 14396151, -30233575, 15272409 } - }, - { - { -12288309, 3169463, 28813183, 16658753, 25116432, -5630466, -25173957, -12636138, -25014757, 1950504 }, - { -26180358, 9489187, 11053416, -14746161, -31053720, 5825630, -8384306, -8767532, 15341279, 8373727 }, - { 28685821, 7759505, -14378516, -12002860, -31971820, 4079242, 298136, -10232602, -2878207, 15190420 } - }, - { - { -32932876, 13806336, -14337485, -15794431, -24004620, 10940928, 8669718, 2742393, -26033313, -6875003 }, - { -1580388, -11729417, -25979658, -11445023, -17411874, -10912854, 9291594, -16247779, -12154742, 6048605 }, - { -30305315, 14843444, 1539301, 11864366, 20201677, 1900163, 13934231, 5128323, 11213262, 9168384 } - }, - { - { -26280513, 11007847, 19408960, -940758, -18592965, -4328580, -5088060, -11105150, 20470157, -16398701 }, - { -23136053, 9282192, 14855179, -15390078, -7362815, -14408560, -22783952, 14461608, 14042978, 5230683 }, - { 29969567, -2741594, -16711867, -8552442, 9175486, -2468974, 21556951, 3506042, -5933891, -12449708 } - }, - { - { -3144746, 8744661, 19704003, 4581278, -20430686, 6830683, -21284170, 8971513, -28539189, 15326563 }, - { -19464629, 10110288, -17262528, -3503892, -23500387, 1355669, -15523050, 15300988, -20514118, 9168260 }, - { -5353335, 4488613, -23803248, 16314347, 7780487, -15638939, -28948358, 9601605, 33087103, -9011387 } - }, - { - { -19443170, -15512900, -20797467, -12445323, -29824447, 10229461, -27444329, -15000531, -5996870, 15664672 }, - { 23294591, -16632613, -22650781, -8470978, 27844204, 11461195, 13099750, -2460356, 18151676, 13417686 }, - { -24722913, -4176517, -31150679, 5988919, -26858785, 6685065, 1661597, -12551441, 15271676, -15452665 } - } -}, -{ /* 5/31 */ - { - { 11433042, -13228665, 8239631, -5279517, -1985436, -725718, -18698764, 2167544, -6921301, -13440182 }, - { -31436171, 15575146, 30436815, 12192228, -22463353, 9395379, -9917708, -8638997, 12215110, 12028277 }, - { 14098400, 6555944, 23007258, 5757252, -15427832, -12950502, 30123440, 4617780, -16900089, -655628 } - }, - { - { -4026201, -15240835, 11893168, 13718664, -14809462, 1847385, -15819999, 10154009, 23973261, -12684474 }, - { -26531820, -3695990, -1908898, 2534301, -31870557, -16550355, 18341390, -11419951, 32013174, -10103539 }, - { -25479301, 10876443, -11771086, -14625140, -12369567, 1838104, 21911214, 6354752, 4425632, -837822 } - }, - { - { -10433389, -14612966, 22229858, -3091047, -13191166, 776729, -17415375, -12020462, 4725005, 14044970 }, - { 19268650, -7304421, 1555349, 8692754, -21474059, -9910664, 6347390, -1411784, -19522291, -16109756 }, - { -24864089, 12986008, -10898878, -5558584, -11312371, -148526, 19541418, 8180106, 9282262, 10282508 } - }, - { - { -26205082, 4428547, -8661196, -13194263, 4098402, -14165257, 15522535, 8372215, 5542595, -10702683 }, - { -10562541, 14895633, 26814552, -16673850, -17480754, -2489360, -2781891, 6993761, -18093885, 10114655 }, - { -20107055, -929418, 31422704, 10427861, -7110749, 6150669, -29091755, -11529146, 25953725, -106158 } - }, - { - { -4234397, -8039292, -9119125, 3046000, 2101609, -12607294, 19390020, 6094296, -3315279, 12831125 }, - { -15998678, 7578152, 5310217, 14408357, -33548620, -224739, 31575954, 6326196, 7381791, -2421839 }, - { -20902779, 3296811, 24736065, -16328389, 18374254, 7318640, 6295303, 8082724, -15362489, 12339664 } - }, - { - { 27724736, 2291157, 6088201, -14184798, 1792727, 5857634, 13848414, 15768922, 25091167, 14856294 }, - { -18866652, 8331043, 24373479, 8541013, -701998, -9269457, 12927300, -12695493, -22182473, -9012899 }, - { -11423429, -5421590, 11632845, 3405020, 30536730, -11674039, -27260765, 13866390, 30146206, 9142070 } - }, - { - { 3924129, -15307516, -13817122, -10054960, 12291820, -668366, -27702774, 9326384, -8237858, 4171294 }, - { -15921940, 16037937, 6713787, 16606682, -21612135, 2790944, 26396185, 3731949, 345228, -5462949 }, - { -21327538, 13448259, 25284571, 1143661, 20614966, -8849387, 2031539, -12391231, -16253183, -13582083 } - }, - { - { 31016211, -16722429, 26371392, -14451233, -5027349, 14854137, 17477601, 3842657, 28012650, -16405420 }, - { -5075835, 9368966, -8562079, -4600902, -15249953, 6970560, -9189873, 16292057, -8867157, 3507940 }, - { 29439664, 3537914, 23333589, 6997794, -17555561, -11018068, -15209202, -15051267, -9164929, 6580396 } - } -}, -{ /* 6/31 */ - { - { -12185861, -7679788, 16438269, 10826160, -8696817, -6235611, 17860444, -9273846, -2095802, 9304567 }, - { 20714564, -4336911, 29088195, 7406487, 11426967, -5095705, 14792667, -14608617, 5289421, -477127 }, - { -16665533, -10650790, -6160345, -13305760, 9192020, -1802462, 17271490, 12349094, 26939669, -3752294 } - }, - { - { -12889898, 9373458, 31595848, 16374215, 21471720, 13221525, -27283495, -12348559, -3698806, 117887 }, - { 22263325, -6560050, 3984570, -11174646, -15114008, -566785, 28311253, 5358056, -23319780, 541964 }, - { 16259219, 3261970, 2309254, -15534474, -16885711, -4581916, 24134070, -16705829, -13337066, -13552195 } - }, - { - { 9378160, -13140186, -22845982, -12745264, 28198281, -7244098, -2399684, -717351, 690426, 14876244 }, - { 24977353, -314384, -8223969, -13465086, 28432343, -1176353, -13068804, -12297348, -22380984, 6618999 }, - { -1538174, 11685646, 12944378, 13682314, -24389511, -14413193, 8044829, -13817328, 32239829, -5652762 } - }, - { - { -18603066, 4762990, -926250, 8885304, -28412480, -3187315, 9781647, -10350059, 32779359, 5095274 }, - { -33008130, -5214506, -32264887, -3685216, 9460461, -9327423, -24601656, 14506724, 21639561, -2630236 }, - { -16400943, -13112215, 25239338, 15531969, 3987758, -4499318, -1289502, -6863535, 17874574, 558605 } - }, - { - { -13600129, 10240081, 9171883, 16131053, -20869254, 9599700, 33499487, 5080151, 2085892, 5119761 }, - { -22205145, -2519528, -16381601, 414691, -25019550, 2170430, 30634760, -8363614, -31999993, -5759884 }, - { -6845704, 15791202, 8550074, -1312654, 29928809, -12092256, 27534430, -7192145, -22351378, 12961482 } - }, - { - { -24492060, -9570771, 10368194, 11582341, -23397293, -2245287, 16533930, 8206996, -30194652, -5159638 }, - { -11121496, -3382234, 2307366, 6362031, -135455, 8868177, -16835630, 7031275, 7589640, 8945490 }, - { -32152748, 8917967, 6661220, -11677616, -1192060, -15793393, 7251489, -11182180, 24099109, -14456170 } - }, - { - { 5019558, -7907470, 4244127, -14714356, -26933272, 6453165, -19118182, -13289025, -6231896, -10280736 }, - { 10853594, 10721687, 26480089, 5861829, -22995819, 1972175, -1866647, -10557898, -3363451, -6441124 }, - { -17002408, 5906790, 221599, -6563147, 7828208, -13248918, 24362661, -2008168, -13866408, 7421392 } - }, - { - { 8139927, -6546497, 32257646, -5890546, 30375719, 1886181, -21175108, 15441252, 28826358, -4123029 }, - { 6267086, 9695052, 7709135, -16603597, -32869068, -1886135, 14795160, -7840124, 13746021, -1742048 }, - { 28584902, 7787108, -6732942, -15050729, 22846041, -7571236, -3181936, -363524, 4771362, -8419958 } - } -}, -{ /* 7/31 */ - { - { 24949256, 6376279, -27466481, -8174608, -18646154, -9930606, 33543569, -12141695, 3569627, 11342593 }, - { 26514989, 4740088, 27912651, 3697550, 19331575, -11472339, 6809886, 4608608, 7325975, -14801071 }, - { -11618399, -14554430, -24321212, 7655128, -1369274, 5214312, -27400540, 10258390, -17646694, -8186692 } - }, - { - { 11431204, 15823007, 26570245, 14329124, 18029990, 4796082, -31446179, 15580664, 9280358, -3973687 }, - { -160783, -10326257, -22855316, -4304997, -20861367, -13621002, -32810901, -11181622, -15545091, 4387441 }, - { -20799378, 12194512, 3937617, -5805892, -27154820, 9340370, -24513992, 8548137, 20617071, -7482001 } - }, - { - { -938825, -3930586, -8714311, 16124718, 24603125, -6225393, -13775352, -11875822, 24345683, 10325460 }, - { -19855277, -1568885, -22202708, 8714034, 14007766, 6928528, 16318175, -1010689, 4766743, 3552007 }, - { -21751364, -16730916, 1351763, -803421, -4009670, 3950935, 3217514, 14481909, 10988822, -3994762 } - }, - { - { 15564307, -14311570, 3101243, 5684148, 30446780, -8051356, 12677127, -6505343, -8295852, 13296005 }, - { -9442290, 6624296, -30298964, -11913677, -4670981, -2057379, 31521204, 9614054, -30000824, 12074674 }, - { 4771191, -135239, 14290749, -13089852, 27992298, 14998318, -1413936, -1556716, 29832613, -16391035 } - }, - { - { 7064884, -7541174, -19161962, -5067537, -18891269, -2912736, 25825242, 5293297, -27122660, 13101590 }, - { -2298563, 2439670, -7466610, 1719965, -27267541, -16328445, 32512469, -5317593, -30356070, -4190957 }, - { -30006540, 10162316, -33180176, 3981723, -16482138, -13070044, 14413974, 9515896, 19568978, 9628812 } - }, - { - { 33053803, 199357, 15894591, 1583059, 27380243, -4580435, -17838894, -6106839, -6291786, 3437740 }, - { -18978877, 3884493, 19469877, 12726490, 15913552, 13614290, -22961733, 70104, 7463304, 4176122 }, - { -27124001, 10659917, 11482427, -16070381, 12771467, -6635117, -32719404, -5322751, 24216882, 5944158 } - }, - { - { 8894125, 7450974, -2664149, -9765752, -28080517, -12389115, 19345746, 14680796, 11632993, 5847885 }, - { 26942781, -2315317, 9129564, -4906607, 26024105, 11769399, -11518837, 6367194, -9727230, 4782140 }, - { 19916461, -4828410, -22910704, -11414391, 25606324, -5972441, 33253853, 8220911, 6358847, -1873857 } - }, - { - { 801428, -2081702, 16569428, 11065167, 29875704, 96627, 7908388, -4480480, -13538503, 1387155 }, - { 19646058, 5720633, -11416706, 12814209, 11607948, 12749789, 14147075, 15156355, -21866831, 11835260 }, - { 19299512, 1155910, 28703737, 14890794, 2925026, 7269399, 26121523, 15467869, -26560550, 5052483 } - } -}, -{ /* 8/31 */ - { - { -3017432, 10058206, 1980837, 3964243, 22160966, 12322533, -6431123, -12618185, 12228557, -7003677 }, - { 32944382, 14922211, -22844894, 5188528, 21913450, -8719943, 4001465, 13238564, -6114803, 8653815 }, - { 22865569, -4652735, 27603668, -12545395, 14348958, 8234005, 24808405, 5719875, 28483275, 2841751 } - }, - { - { -16420968, -1113305, -327719, -12107856, 21886282, -15552774, -1887966, -315658, 19932058, -12739203 }, - { -11656086, 10087521, -8864888, -5536143, -19278573, -3055912, 3999228, 13239134, -4777469, -13910208 }, - { 1382174, -11694719, 17266790, 9194690, -13324356, 9720081, 20403944, 11284705, -14013818, 3093230 } - }, - { - { 16650921, -11037932, -1064178, 1570629, -8329746, 7352753, -302424, 16271225, -24049421, -6691850 }, - { -21911077, -5927941, -4611316, -5560156, -31744103, -10785293, 24123614, 15193618, -21652117, -16739389 }, - { -9935934, -4289447, -25279823, 4372842, 2087473, 10399484, 31870908, 14690798, 17361620, 11864968 } - }, - { - { -11307610, 6210372, 13206574, 5806320, -29017692, -13967200, -12331205, -7486601, -25578460, -16240689 }, - { 14668462, -12270235, 26039039, 15305210, 25515617, 4542480, 10453892, 6577524, 9145645, -6443880 }, - { 5974874, 3053895, -9433049, -10385191, -31865124, 3225009, -7972642, 3936128, -5652273, -3050304 } - }, - { - { 30625386, -4729400, -25555961, -12792866, -20484575, 7695099, 17097188, -16303496, -27999779, 1803632 }, - { -3553091, 9865099, -5228566, 4272701, -5673832, -16689700, 14911344, 12196514, -21405489, 7047412 }, - { 20093277, 9920966, -11138194, -5343857, 13161587, 12044805, -32856851, 4124601, -32343828, -10257566 } - }, - { - { -20788824, 14084654, -13531713, 7842147, 19119038, -13822605, 4752377, -8714640, -21679658, 2288038 }, - { -26819236, -3283715, 29965059, 3039786, -14473765, 2540457, 29457502, 14625692, -24819617, 12570232 }, - { -1063558, -11551823, 16920318, 12494842, 1278292, -5869109, -21159943, -3498680, -11974704, 4724943 } - }, - { - { 17960970, -11775534, -4140968, -9702530, -8876562, -1410617, -12907383, -8659932, -29576300, 1903856 }, - { 23134274, -14279132, -10681997, -1611936, 20684485, 15770816, -12989750, 3190296, 26955097, 14109738 }, - { 15308788, 5320727, -30113809, -14318877, 22902008, 7767164, 29425325, -11277562, 31960942, 11934971 } - }, - { - { -27395711, 8435796, 4109644, 12222639, -24627868, 14818669, 20638173, 4875028, 10491392, 1379718 }, - { -13159415, 9197841, 3875503, -8936108, -1383712, -5879801, 33518459, 16176658, 21432314, 12180697 }, - { -11787308, 11500838, 13787581, -13832590, -22430679, 10140205, 1465425, 12689540, -10301319, -13872883 } - } -}, -{ /* 9/31 */ - { - { 5414091, -15386041, -21007664, 9643570, 12834970, 1186149, -2622916, -1342231, 26128231, 6032912 }, - { -26337395, -13766162, 32496025, -13653919, 17847801, -12669156, 3604025, 8316894, -25875034, -10437358 }, - { 3296484, 6223048, 24680646, -12246460, -23052020, 5903205, -8862297, -4639164, 12376617, 3188849 } - }, - { - { 29190488, -14659046, 27549113, -1183516, 3520066, -10697301, 32049515, -7309113, -16109234, -9852307 }, - { -14744486, -9309156, 735818, -598978, -20407687, -5057904, 25246078, -15795669, 18640741, -960977 }, - { -6928835, -16430795, 10361374, 5642961, 4910474, 12345252, -31638386, -494430, 10530747, 1053335 } - }, - { - { -29265967, -14186805, -13538216, -12117373, -19457059, -10655384, -31462369, -2948985, 24018831, 15026644 }, - { -22592535, -3145277, -2289276, 5953843, -13440189, 9425631, 25310643, 13003497, -2314791, -15145616 }, - { -27419985, -603321, -8043984, -1669117, -26092265, 13987819, -27297622, 187899, -23166419, -2531735 } - }, - { - { -21744398, -13810475, 1844840, 5021428, -10434399, -15911473, 9716667, 16266922, -5070217, 726099 }, - { 29370922, -6053998, 7334071, -15342259, 9385287, 2247707, -13661962, -4839461, 30007388, -15823341 }, - { -936379, 16086691, 23751945, -543318, -1167538, -5189036, 9137109, 730663, 9835848, 4555336 } - }, - { - { -23376435, 1410446, -22253753, -12899614, 30867635, 15826977, 17693930, 544696, -11985298, 12422646 }, - { 31117226, -12215734, -13502838, 6561947, -9876867, -12757670, -5118685, -4096706, 29120153, 13924425 }, - { -17400879, -14233209, 19675799, -2734756, -11006962, -5858820, -9383939, -11317700, 7240931, -237388 } - }, - { - { -31361739, -11346780, -15007447, -5856218, -22453340, -12152771, 1222336, 4389483, 3293637, -15551743 }, - { -16684801, -14444245, 11038544, 11054958, -13801175, -3338533, -24319580, 7733547, 12796905, -6335822 }, - { -8759414, -10817836, -25418864, 10783769, -30615557, -9746811, -28253339, 3647836, 3222231, -11160462 } - }, - { - { 18606113, 1693100, -25448386, -15170272, 4112353, 10045021, 23603893, -2048234, -7550776, 2484985 }, - { 9255317, -3131197, -12156162, -1004256, 13098013, -9214866, 16377220, -2102812, -19802075, -3034702 }, - { -22729289, 7496160, -5742199, 11329249, 19991973, -3347502, -31718148, 9936966, -30097688, -10618797 } - }, - { - { 21878590, -5001297, 4338336, 13643897, -3036865, 13160960, 19708896, 5415497, -7360503, -4109293 }, - { 27736861, 10103576, 12500508, 8502413, -3413016, -9633558, 10436918, -1550276, -23659143, -8132100 }, - { 19492550, -12104365, -29681976, -852630, -3208171, 12403437, 30066266, 8367329, 13243957, 8709688 } - } -}, -{ /* 10/31 */ - { - { 12015105, 2801261, 28198131, 10151021, 24818120, -4743133, -11194191, -5645734, 5150968, 7274186 }, - { 2831366, -12492146, 1478975, 6122054, 23825128, -12733586, 31097299, 6083058, 31021603, -9793610 }, - { -2529932, -2229646, 445613, 10720828, -13849527, -11505937, -23507731, 16354465, 15067285, -14147707 } - }, - { - { 7840942, 14037873, -33364863, 15934016, -728213, -3642706, 21403988, 1057586, -19379462, -12403220 }, - { 915865, -16469274, 15608285, -8789130, -24357026, 6060030, -17371319, 8410997, -7220461, 16527025 }, - { 32922597, -556987, 20336074, -16184568, 10903705, -5384487, 16957574, 52992, 23834301, 6588044 } - }, - { - { 32752030, 11232950, 3381995, -8714866, 22652988, -10744103, 17159699, 16689107, -20314580, -1305992 }, - { -4689649, 9166776, -25710296, -10847306, 11576752, 12733943, 7924251, -2752281, 1976123, -7249027 }, - { 21251222, 16309901, -2983015, -6783122, 30810597, 12967303, 156041, -3371252, 12331345, -8237197 } - }, - { - { 8651614, -4477032, -16085636, -4996994, 13002507, 2950805, 29054427, -5106970, 10008136, -4667901 }, - { 31486080, 15114593, -14261250, 12951354, 14369431, -7387845, 16347321, -13662089, 8684155, -10532952 }, - { 19443825, 11385320, 24468943, -9659068, -23919258, 2187569, -26263207, -6086921, 31316348, 14219878 } - }, - { - { -28594490, 1193785, 32245219, 11392485, 31092169, 15722801, 27146014, 6992409, 29126555, 9207390 }, - { 32382935, 1110093, 18477781, 11028262, -27411763, -7548111, -4980517, 10843782, -7957600, -14435730 }, - { 2814918, 7836403, 27519878, -7868156, -20894015, -11553689, -21494559, 8550130, 28346258, 1994730 } - }, - { - { -19578299, 8085545, -14000519, -3948622, 2785838, -16231307, -19516951, 7174894, 22628102, 8115180 }, - { -30405132, 955511, -11133838, -15078069, -32447087, -13278079, -25651578, 3317160, -9943017, 930272 }, - { -15303681, -6833769, 28856490, 1357446, 23421993, 1057177, 24091212, -1388970, -22765376, -10650715 } - }, - { - { -22751231, -5303997, -12907607, -12768866, -15811511, -7797053, -14839018, -16554220, -1867018, 8398970 }, - { -31969310, 2106403, -4736360, 1362501, 12813763, 16200670, 22981545, -6291273, 18009408, -15772772 }, - { -17220923, -9545221, -27784654, 14166835, 29815394, 7444469, 29551787, -3727419, 19288549, 1325865 } - }, - { - { 15100157, -15835752, -23923978, -1005098, -26450192, 15509408, 12376730, -3479146, 33166107, -8042750 }, - { 20909231, 13023121, -9209752, 16251778, -5778415, -8094914, 12412151, 10018715, 2213263, -13878373 }, - { 32529814, -11074689, 30361439, -16689753, -9135940, 1513226, 22922121, 6382134, -5766928, 8371348 } - } -}, -{ /* 11/31 */ - { - { 9923462, 11271500, 12616794, 3544722, -29998368, -1721626, 12891687, -8193132, -26442943, 10486144 }, - { -22597207, -7012665, 8587003, -8257861, 4084309, -12970062, 361726, 2610596, -23921530, -11455195 }, - { 5408411, -1136691, -4969122, 10561668, 24145918, 14240566, 31319731, -4235541, 19985175, -3436086 } - }, - { - { -13994457, 16616821, 14549246, 3341099, 32155958, 13648976, -17577068, 8849297, 65030, 8370684 }, - { -8320926, -12049626, 31204563, 5839400, -20627288, -1057277, -19442942, 6922164, 12743482, -9800518 }, - { -2361371, 12678785, 28815050, 4759974, -23893047, 4884717, 23783145, 11038569, 18800704, 255233 } - }, - { - { -5269658, -1773886, 13957886, 7990715, 23132995, 728773, 13393847, 9066957, 19258688, -14753793 }, - { -2936654, -10827535, -10432089, 14516793, -3640786, 4372541, -31934921, 2209390, -1524053, 2055794 }, - { 580882, 16705327, 5468415, -2683018, -30926419, -14696000, -7203346, -8994389, -30021019, 7394435 } - }, - { - { 23838809, 1822728, -15738443, 15242727, 8318092, -3733104, -21672180, -3492205, -4821741, 14799921 }, - { 13345610, 9759151, 3371034, -16137791, 16353039, 8577942, 31129804, 13496856, -9056018, 7402518 }, - { 2286874, -4435931, -20042458, -2008336, -13696227, 5038122, 11006906, -15760352, 8205061, 1607563 } - }, - { - { 14414086, -8002132, 3331830, -3208217, 22249151, -5594188, 18364661, -2906958, 30019587, -9029278 }, - { -27688051, 1585953, -10775053, 931069, -29120221, -11002319, -14410829, 12029093, 9944378, 8024 }, - { 4368715, -3709630, 29874200, -15022983, -20230386, -11410704, -16114594, -999085, -8142388, 5640030 } - }, - { - { 10299610, 13746483, 11661824, 16234854, 7630238, 5998374, 9809887, -16694564, 15219798, -14327783 }, - { 27425505, -5719081, 3055006, 10660664, 23458024, 595578, -15398605, -1173195, -18342183, 9742717 }, - { 6744077, 2427284, 26042789, 2720740, -847906, 1118974, 32324614, 7406442, 12420155, 1994844 } - }, - { - { 14012521, -5024720, -18384453, -9578469, -26485342, -3936439, -13033478, -10909803, 24319929, -6446333 }, - { 16412690, -4507367, 10772641, 15929391, -17068788, -4658621, 10555945, -10484049, -30102368, -4739048 }, - { 22397382, -7767684, -9293161, -12792868, 17166287, -9755136, -27333065, 6199366, 21880021, -12250760 } - }, - { - { -4283307, 5368523, -31117018, 8163389, -30323063, 3209128, 16557151, 8890729, 8840445, 4957760 }, - { -15447727, 709327, -6919446, -10870178, -29777922, 6522332, -21720181, 12130072, -14796503, 5005757 }, - { -2114751, -14308128, 23019042, 15765735, -25269683, 6002752, 10183197, -13239326, -16395286, -2176112 } - } -}, -{ /* 12/31 */ - { - { -19025756, 1632005, 13466291, -7995100, -23640451, 16573537, -32013908, -3057104, 22208662, 2000468 }, - { 3065073, -1412761, -25598674, -361432, -17683065, -5703415, -8164212, 11248527, -3691214, -7414184 }, - { 10379208, -6045554, 8877319, 1473647, -29291284, -12507580, 16690915, 2553332, -3132688, 16400289 } - }, - { - { 15716668, 1254266, -18472690, 7446274, -8448918, 6344164, -22097271, -7285580, 26894937, 9132066 }, - { 24158887, 12938817, 11085297, -8177598, -28063478, -4457083, -30576463, 64452, -6817084, -2692882 }, - { 13488534, 7794716, 22236231, 5989356, 25426474, -12578208, 2350710, -3418511, -4688006, 2364226 } - }, - { - { 16335052, 9132434, 25640582, 6678888, 1725628, 8517937, -11807024, -11697457, 15445875, -7798101 }, - { 29004207, -7867081, 28661402, -640412, -12794003, -7943086, 31863255, -4135540, -278050, -15759279 }, - { -6122061, -14866665, -28614905, 14569919, -10857999, -3591829, 10343412, -6976290, -29828287, -10815811 } - }, - { - { 27081650, 3463984, 14099042, -4517604, 1616303, -6205604, 29542636, 15372179, 17293797, 960709 }, - { 20263915, 11434237, -5765435, 11236810, 13505955, -10857102, -16111345, 6493122, -19384511, 7639714 }, - { -2830798, -14839232, 25403038, -8215196, -8317012, -16173699, 18006287, -16043750, 29994677, -15808121 } - }, - { - { 9769828, 5202651, -24157398, -13631392, -28051003, -11561624, -24613141, -13860782, -31184575, 709464 }, - { 12286395, 13076066, -21775189, -1176622, -25003198, 4057652, -32018128, -8890874, 16102007, 13205847 }, - { 13733362, 5599946, 10557076, 3195751, -5557991, 8536970, -25540170, 8525972, 10151379, 10394400 } - }, - { - { 4024660, -16137551, 22436262, 12276534, -9099015, -2686099, 19698229, 11743039, -33302334, 8934414 }, - { -15879800, -4525240, -8580747, -2934061, 14634845, -698278, -9449077, 3137094, -11536886, 11721158 }, - { 17555939, -5013938, 8268606, 2331751, -22738815, 9761013, 9319229, 8835153, -9205489, -1280045 } - }, - { - { -461409, -7830014, 20614118, 16688288, -7514766, -4807119, 22300304, 505429, 6108462, -6183415 }, - { -5070281, 12367917, -30663534, 3234473, 32617080, -8422642, 29880583, -13483331, -26898490, -7867459 }, - { -31975283, 5726539, 26934134, 10237677, -3173717, -605053, 24199304, 3795095, 7592688, -14992079 } - }, - { - { 21594432, -14964228, 17466408, -4077222, 32537084, 2739898, 6407723, 12018833, -28256052, 4298412 }, - { -20650503, -11961496, -27236275, 570498, 3767144, -1717540, 13891942, -1569194, 13717174, 10805743 }, - { -14676630, -15644296, 15287174, 11927123, 24177847, -8175568, -796431, 14860609, -26938930, -5863836 } - } -}, -{ /* 13/31 */ - { - { 12962541, 5311799, -10060768, 11658280, 18855286, -7954201, 13286263, -12808704, -4381056, 9882022 }, - { 18512079, 11319350, -20123124, 15090309, 18818594, 5271736, -22727904, 3666879, -23967430, -3299429 }, - { -6789020, -3146043, 16192429, 13241070, 15898607, -14206114, -10084880, -6661110, -2403099, 5276065 } - }, - { - { 30169808, -5317648, 26306206, -11750859, 27814964, 7069267, 7152851, 3684982, 1449224, 13082861 }, - { 10342826, 3098505, 2119311, 193222, 25702612, 12233820, 23697382, 15056736, -21016438, -8202000 }, - { -33150110, 3261608, 22745853, 7948688, 19370557, -15177665, -26171976, 6482814, -10300080, -11060101 } - }, - { - { 32869458, -5408545, 25609743, 15678670, -10687769, -15471071, 26112421, 2521008, -22664288, 6904815 }, - { 29506923, 4457497, 3377935, -9796444, -30510046, 12935080, 1561737, 3841096, -29003639, -6657642 }, - { 10340844, -6630377, -18656632, -2278430, 12621151, -13339055, 30878497, -11824370, -25584551, 5181966 } - }, - { - { 25940115, -12658025, 17324188, -10307374, -8671468, 15029094, 24396252, -16450922, -2322852, -12388574 }, - { -21765684, 9916823, -1300409, 4079498, -1028346, 11909559, 1782390, 12641087, 20603771, -6561742 }, - { -18882287, -11673380, 24849422, 11501709, 13161720, -4768874, 1925523, 11914390, 4662781, 7820689 } - }, - { - { 12241050, -425982, 8132691, 9393934, 32846760, -1599620, 29749456, 12172924, 16136752, 15264020 }, - { -10349955, -14680563, -8211979, 2330220, -17662549, -14545780, 10658213, 6671822, 19012087, 3772772 }, - { 3753511, -3421066, 10617074, 2028709, 14841030, -6721664, 28718732, -15762884, 20527771, 12988982 } - }, - { - { -14822485, -5797269, -3707987, 12689773, -898983, -10914866, -24183046, -10564943, 3299665, -12424953 }, - { -16777703, -15253301, -9642417, 4978983, 3308785, 8755439, 6943197, 6461331, -25583147, 8991218 }, - { -17226263, 1816362, -1673288, -6086439, 31783888, -8175991, -32948145, 7417950, -30242287, 1507265 } - }, - { - { 29692663, 6829891, -10498800, 4334896, 20945975, -11906496, -28887608, 8209391, 14606362, -10647073 }, - { -3481570, 8707081, 32188102, 5672294, 22096700, 1711240, -33020695, 9761487, 4170404, -2085325 }, - { -11587470, 14855945, -4127778, -1531857, -26649089, 15084046, 22186522, 16002000, -14276837, -8400798 } - }, - { - { -4811456, 13761029, -31703877, -2483919, -3312471, 7869047, -7113572, -9620092, 13240845, 10965870 }, - { -7742563, -8256762, -14768334, -13656260, -23232383, 12387166, 4498947, 14147411, 29514390, 4302863 }, - { -13413405, -12407859, 20757302, -13801832, 14785143, 8976368, -5061276, -2144373, 17846988, -13971927 } - } -}, -{ /* 14/31 */ - { - { -2244452, -754728, -4597030, -1066309, -6247172, 1455299, -21647728, -9214789, -5222701, 12650267 }, - { -9906797, -16070310, 21134160, 12198166, -27064575, 708126, 387813, 13770293, -19134326, 10958663 }, - { 22470984, 12369526, 23446014, -5441109, -21520802, -9698723, -11772496, -11574455, -25083830, 4271862 } - }, - { - { -25169565, -10053642, -19909332, 15361595, -5984358, 2159192, 75375, -4278529, -32526221, 8469673 }, - { 15854970, 4148314, -8893890, 7259002, 11666551, 13824734, -30531198, 2697372, 24154791, -9460943 }, - { 15446137, -15806644, 29759747, 14019369, 30811221, -9610191, -31582008, 12840104, 24913809, 9815020 } - }, - { - { -4709286, -5614269, -31841498, -12288893, -14443537, 10799414, -9103676, 13438769, 18735128, 9466238 }, - { 11933045, 9281483, 5081055, -5183824, -2628162, -4905629, -7727821, -10896103, -22728655, 16199064 }, - { 14576810, 379472, -26786533, -8317236, -29426508, -10812974, -102766, 1876699, 30801119, 2164795 } - }, - { - { 15995086, 3199873, 13672555, 13712240, -19378835, -4647646, -13081610, -15496269, -13492807, 1268052 }, - { -10290614, -3659039, -3286592, 10948818, 23037027, 3794475, -3470338, -12600221, -17055369, 3565904 }, - { 29210088, -9419337, -5919792, -4952785, 10834811, -13327726, -16512102, -10820713, -27162222, -14030531 } - }, - { - { -13161890, 15508588, 16663704, -8156150, -28349942, 9019123, -29183421, -3769423, 2244111, -14001979 }, - { -5152875, -3800936, -9306475, -6071583, 16243069, 14684434, -25673088, -16180800, 13491506, 4641841 }, - { 10813417, 643330, -19188515, -728916, 30292062, -16600078, 27548447, -7721242, 14476989, -12767431 } - }, - { - { 10292079, 9984945, 6481436, 8279905, -7251514, 7032743, 27282937, -1644259, -27912810, 12651324 }, - { -31185513, -813383, 22271204, 11835308, 10201545, 15351028, 17099662, 3988035, 21721536, -3148940 }, - { 10202177, -6545839, -31373232, -9574638, -32150642, -8119683, -12906320, 3852694, 13216206, 14842320 } - }, - { - { -15815640, -10601066, -6538952, -7258995, -6984659, -6581778, -31500847, 13765824, -27434397, 9900184 }, - { 14465505, -13833331, -32133984, -14738873, -27443187, 12990492, 33046193, 15796406, -7051866, -8040114 }, - { 30924417, -8279620, 6359016, -12816335, 16508377, 9071735, -25488601, 15413635, 9524356, -7018878 } - }, - { - { 12274201, -13175547, 32627641, -1785326, 6736625, 13267305, 5237659, -5109483, 15663516, 4035784 }, - { -2951309, 8903985, 17349946, 601635, -16432815, -4612556, -13732739, -15889334, -22258478, 4659091 }, - { -16916263, -4952973, -30393711, -15158821, 20774812, 15897498, 5736189, 15026997, -2178256, -13455585 } - } -}, -{ /* 15/31 */ - { - { -8858980, -2219056, 28571666, -10155518, -474467, -10105698, -3801496, 278095, 23440562, -290208 }, - { 10226241, -5928702, 15139956, 120818, -14867693, 5218603, 32937275, 11551483, -16571960, -7442864 }, - { 17932739, -12437276, -24039557, 10749060, 11316803, 7535897, 22503767, 5561594, -3646624, 3898661 } - }, - { - { 7749907, -969567, -16339731, -16464, -25018111, 15122143, -1573531, 7152530, 21831162, 1245233 }, - { 26958459, -14658026, 4314586, 8346991, -5677764, 11960072, -32589295, -620035, -30402091, -16716212 }, - { -12165896, 9166947, 33491384, 13673479, 29787085, 13096535, 6280834, 14587357, -22338025, 13987525 } - }, - { - { -24349909, 7778775, 21116000, 15572597, -4833266, -5357778, -4300898, -5124639, -7469781, -2858068 }, - { 9681908, -6737123, -31951644, 13591838, -6883821, 386950, 31622781, 6439245, -14581012, 4091397 }, - { -8426427, 1470727, -28109679, -1596990, 3978627, -5123623, -19622683, 12092163, 29077877, -14741988 } - }, - { - { 5269168, -6859726, -13230211, -8020715, 25932563, 1763552, -5606110, -5505881, -20017847, 2357889 }, - { 32264008, -15407652, -5387735, -1160093, -2091322, -3946900, 23104804, -12869908, 5727338, 189038 }, - { 14609123, -8954470, -6000566, -16622781, -14577387, -7743898, -26745169, 10942115, -25888931, -14884697 } - }, - { - { 20513500, 5557931, -15604613, 7829531, 26413943, -2019404, -21378968, 7471781, 13913677, -5137875 }, - { -25574376, 11967826, 29233242, 12948236, -6754465, 4713227, -8940970, 14059180, 12878652, 8511905 }, - { -25656801, 3393631, -2955415, -7075526, -2250709, 9366908, -30223418, 6812974, 5568676, -3127656 } - }, - { - { 11630004, 12144454, 2116339, 13606037, 27378885, 15676917, -17408753, -13504373, -14395196, 8070818 }, - { 27117696, -10007378, -31282771, -5570088, 1127282, 12772488, -29845906, 10483306, -11552749, -1028714 }, - { 10637467, -5688064, 5674781, 1072708, -26343588, -6982302, -1683975, 9177853, -27493162, 15431203 } - }, - { - { 20525145, 10892566, -12742472, 12779443, -29493034, 16150075, -28240519, 14943142, -15056790, -7935931 }, - { -30024462, 5626926, -551567, -9981087, 753598, 11981191, 25244767, -3239766, -3356550, 9594024 }, - { -23752644, 2636870, -5163910, -10103818, 585134, 7877383, 11345683, -6492290, 13352335, -10977084 } - }, - { - { -1931799, -5407458, 3304649, -12884869, 17015806, -4877091, -29783850, -7752482, -13215537, -319204 }, - { 20239939, 6607058, 6203985, 3483793, -18386976, -779229, -20723742, 15077870, -22750759, 14523817 }, - { 27406042, -6041657, 27423596, -4497394, 4996214, 10002360, -28842031, -4545494, -30172742, -4805667 } - } -}, -{ /* 16/31 */ - { - { 11374242, 12660715, 17861383, -12540833, 10935568, 1099227, -13886076, -9091740, -27727044, 11358504 }, - { -12730809, 10311867, 1510375, 10778093, -2119455, -9145702, 32676003, 11149336, -26123651, 4985768 }, - { -19096303, 341147, -6197485, -239033, 15756973, -8796662, -983043, 13794114, -19414307, -15621255 } - }, - { - { 6490081, 11940286, 25495923, -7726360, 8668373, -8751316, 3367603, 6970005, -1691065, -9004790 }, - { 1656497, 13457317, 15370807, 6364910, 13605745, 8362338, -19174622, -5475723, -16796596, -5031438 }, - { -22273315, -13524424, -64685, -4334223, -18605636, -10921968, -20571065, -7007978, -99853, -10237333 } - }, - { - { 17747465, 10039260, 19368299, -4050591, -20630635, -16041286, 31992683, -15857976, -29260363, -5511971 }, - { 31932027, -4986141, -19612382, 16366580, 22023614, 88450, 11371999, -3744247, 4882242, -10626905 }, - { 29796507, 37186, 19818052, 10115756, -11829032, 3352736, 18551198, 3272828, -5190932, -4162409 } - }, - { - { 12501286, 4044383, -8612957, -13392385, -32430052, 5136599, -19230378, -3529697, 330070, -3659409 }, - { 6384877, 2899513, 17807477, 7663917, -2358888, 12363165, 25366522, -8573892, -271295, 12071499 }, - { -8365515, -4042521, 25133448, -4517355, -6211027, 2265927, -32769618, 1936675, -5159697, 3829363 } - }, - { - { 28425966, -5835433, -577090, -4697198, -14217555, 6870930, 7921550, -6567787, 26333140, 14267664 }, - { -11067219, 11871231, 27385719, -10559544, -4585914, -11189312, 10004786, -8709488, -21761224, 8930324 }, - { -21197785, -16396035, 25654216, -1725397, 12282012, 11008919, 1541940, 4757911, -26491501, -16408940 } - }, - { - { 13537262, -7759490, -20604840, 10961927, -5922820, -13218065, -13156584, 6217254, -15943699, 13814990 }, - { -17422573, 15157790, 18705543, 29619, 24409717, -260476, 27361681, 9257833, -1956526, -1776914 }, - { -25045300, -10191966, 15366585, 15166509, -13105086, 8423556, -29171540, 12361135, -18685978, 4578290 } - }, - { - { 24579768, 3711570, 1342322, -11180126, -27005135, 14124956, -22544529, 14074919, 21964432, 8235257 }, - { -6528613, -2411497, 9442966, -5925588, 12025640, -1487420, -2981514, -1669206, 13006806, 2355433 }, - { -16304899, -13605259, -6632427, -5142349, 16974359, -10911083, 27202044, 1719366, 1141648, -12796236 } - }, - { - { -12863944, -13219986, -8318266, -11018091, -6810145, -4843894, 13475066, -3133972, 32674895, 13715045 }, - { 11423335, -5468059, 32344216, 8962751, 24989809, 9241752, -13265253, 16086212, -28740881, -15642093 }, - { -1409668, 12530728, -6368726, 10847387, 19531186, -14132160, -11709148, 7791794, -27245943, 4383347 } - } -}, -{ /* 17/31 */ - { - { -28970898, 5271447, -1266009, -9736989, -12455236, 16732599, -4862407, -4906449, 27193557, 6245191 }, - { -15193956, 5362278, -1783893, 2695834, 4960227, 12840725, 23061898, 3260492, 22510453, 8577507 }, - { -12632451, 11257346, -32692994, 13548177, -721004, 10879011, 31168030, 13952092, -29571492, -3635906 } - }, - { - { 3877321, -9572739, 32416692, 5405324, -11004407, -13656635, 3759769, 11935320, 5611860, 8164018 }, - { -16275802, 14667797, 15906460, 12155291, -22111149, -9039718, 32003002, -8832289, 5773085, -8422109 }, - { -23788118, -8254300, 1950875, 8937633, 18686727, 16459170, -905725, 12376320, 31632953, 190926 } - }, - { - { -24593607, -16138885, -8423991, 13378746, 14162407, 6901328, -8288749, 4508564, -25341555, -3627528 }, - { 8884438, -5884009, 6023974, 10104341, -6881569, -4941533, 18722941, -14786005, -1672488, 827625 }, - { -32720583, -16289296, -32503547, 7101210, 13354605, 2659080, -1800575, -14108036, -24878478, 1541286 } - }, - { - { 2901347, -1117687, 3880376, -10059388, -17620940, -3612781, -21802117, -3567481, 20456845, -1885033 }, - { 27019610, 12299467, -13658288, -1603234, -12861660, -4861471, -19540150, -5016058, 29439641, 15138866 }, - { 21536104, -6626420, -32447818, -10690208, -22408077, 5175814, -5420040, -16361163, 7779328, 109896 } - }, - { - { 30279744, 14648750, -8044871, 6425558, 13639621, -743509, 28698390, 12180118, 23177719, -554075 }, - { 26572847, 3405927, -31701700, 12890905, -19265668, 5335866, -6493768, 2378492, 4439158, -13279347 }, - { -22716706, 3489070, -9225266, -332753, 18875722, -1140095, 14819434, -12731527, -17717757, -5461437 } - }, - { - { -5056483, 16566551, 15953661, 3767752, -10436499, 15627060, -820954, 2177225, 8550082, -15114165 }, - { -18473302, 16596775, -381660, 15663611, 22860960, 15585581, -27844109, -3582739, -23260460, -8428588 }, - { -32480551, 15707275, -8205912, -5652081, 29464558, 2713815, -22725137, 15860482, -21902570, 1494193 } - }, - { - { -19562091, -14087393, -25583872, -9299552, 13127842, 759709, 21923482, 16529112, 8742704, 12967017 }, - { -28464899, 1553205, 32536856, -10473729, -24691605, -406174, -8914625, -2933896, -29903758, 15553883 }, - { 21877909, 3230008, 9881174, 10539357, -4797115, 2841332, 11543572, 14513274, 19375923, -12647961 } - }, - { - { 8832269, -14495485, 13253511, 5137575, 5037871, 4078777, 24880818, -6222716, 2862653, 9455043 }, - { 29306751, 5123106, 20245049, -14149889, 9592566, 8447059, -2077124, -2990080, 15511449, 4789663 }, - { -20679756, 7004547, 8824831, -9434977, -4045704, -3750736, -5754762, 108893, 23513200, 16652362 } - } -}, -{ /* 18/31 */ - { - { -33256173, 4144782, -4476029, -6579123, 10770039, -7155542, -6650416, -12936300, -18319198, 10212860 }, - { 2756081, 8598110, 7383731, -6859892, 22312759, -1105012, 21179801, 2600940, -9988298, -12506466 }, - { -24645692, 13317462, -30449259, -15653928, 21365574, -10869657, 11344424, 864440, -2499677, -16710063 } - }, - { - { -26432803, 6148329, -17184412, -14474154, 18782929, -275997, -22561534, 211300, 2719757, 4940997 }, - { -1323882, 3911313, -6948744, 14759765, -30027150, 7851207, 21690126, 8518463, 26699843, 5276295 }, - { -13149873, -6429067, 9396249, 365013, 24703301, -10488939, 1321586, 149635, -15452774, 7159369 } - }, - { - { 9987780, -3404759, 17507962, 9505530, 9731535, -2165514, 22356009, 8312176, 22477218, -8403385 }, - { 18155857, -16504990, 19744716, 9006923, 15154154, -10538976, 24256460, -4864995, -22548173, 9334109 }, - { 2986088, -4911893, 10776628, -3473844, 10620590, -7083203, -21413845, 14253545, -22587149, 536906 } - }, - { - { 4377756, 8115836, 24567078, 15495314, 11625074, 13064599, 7390551, 10589625, 10838060, -15420424 }, - { -19342404, 867880, 9277171, -3218459, -14431572, -1986443, 19295826, -15796950, 6378260, 699185 }, - { 7895026, 4057113, -7081772, -13077756, -17886831, -323126, -716039, 15693155, -5045064, -13373962 } - }, - { - { -7737563, -5869402, -14566319, -7406919, 11385654, 13201616, 31730678, -10962840, -3918636, -9669325 }, - { 10188286, -15770834, -7336361, 13427543, 22223443, 14896287, 30743455, 7116568, -21786507, 5427593 }, - { 696102, 13206899, 27047647, -10632082, 15285305, -9853179, 10798490, -4578720, 19236243, 12477404 } - }, - { - { -11229439, 11243796, -17054270, -8040865, -788228, -8167967, -3897669, 11180504, -23169516, 7733644 }, - { 17800790, -14036179, -27000429, -11766671, 23887827, 3149671, 23466177, -10538171, 10322027, 15313801 }, - { 26246234, 11968874, 32263343, -5468728, 6830755, -13323031, -15794704, -101982, -24449242, 10890804 } - }, - { - { -31365647, 10271363, -12660625, -6267268, 16690207, -13062544, -14982212, 16484931, 25180797, -5334884 }, - { -586574, 10376444, -32586414, -11286356, 19801893, 10997610, 2276632, 9482883, 316878, 13820577 }, - { -9882808, -4510367, -2115506, 16457136, -11100081, 11674996, 30756178, -7515054, 30696930, -3712849 } - }, - { - { 32988917, -9603412, 12499366, 7910787, -10617257, -11931514, -7342816, -9985397, -32349517, 7392473 }, - { -8855661, 15927861, 9866406, -3649411, -2396914, -16655781, -30409476, -9134995, 25112947, -2926644 }, - { -2504044, -436966, 25621774, -5678772, 15085042, -5479877, -24884878, -13526194, 5537438, -13914319 } - } -}, -{ /* 19/31 */ - { - { -11225584, 2320285, -9584280, 10149187, -33444663, 5808648, -14876251, -1729667, 31234590, 6090599 }, - { -9633316, 116426, 26083934, 2897444, -6364437, -2688086, 609721, 15878753, -6970405, -9034768 }, - { -27757857, 247744, -15194774, -9002551, 23288161, -10011936, -23869595, 6503646, 20650474, 1804084 } - }, - { - { -27589786, 15456424, 8972517, 8469608, 15640622, 4439847, 3121995, -10329713, 27842616, -202328 }, - { -15306973, 2839644, 22530074, 10026331, 4602058, 5048462, 28248656, 5031932, -11375082, 12714369 }, - { 20807691, -7270825, 29286141, 11421711, -27876523, -13868230, -21227475, 1035546, -19733229, 12796920 } - }, - { - { 12076899, -14301286, -8785001, -11848922, -25012791, 16400684, -17591495, -12899438, 3480665, -15182815 }, - { -32361549, 5457597, 28548107, 7833186, 7303070, -11953545, -24363064, -15921875, -33374054, 2771025 }, - { -21389266, 421932, 26597266, 6860826, 22486084, -6737172, -17137485, -4210226, -24552282, 15673397 } - }, - { - { -20184622, 2338216, 19788685, -9620956, -4001265, -8740893, -20271184, 4733254, 3727144, -12934448 }, - { 6120119, 814863, -11794402, -622716, 6812205, -15747771, 2019594, 7975683, 31123697, -10958981 }, - { 30069250, -11435332, 30434654, 2958439, 18399564, -976289, 12296869, 9204260, -16432438, 9648165 } - }, - { - { 32705432, -1550977, 30705658, 7451065, -11805606, 9631813, 3305266, 5248604, -26008332, -11377501 }, - { 17219865, 2375039, -31570947, -5575615, -19459679, 9219903, 294711, 15298639, 2662509, -16297073 }, - { -1172927, -7558695, -4366770, -4287744, -21346413, -8434326, 32087529, -1222777, 32247248, -14389861 } - }, - { - { 14312628, 1221556, 17395390, -8700143, -4945741, -8684635, -28197744, -9637817, -16027623, -13378845 }, - { -1428825, -9678990, -9235681, 6549687, -7383069, -468664, 23046502, 9803137, 17597934, 2346211 }, - { 18510800, 15337574, 26171504, 981392, -22241552, 7827556, -23491134, -11323352, 3059833, -11782870 } - }, - { - { 10141598, 6082907, 17829293, -1947643, 9830092, 13613136, -25556636, -5544586, -33502212, 3592096 }, - { 33114168, -15889352, -26525686, -13343397, 33076705, 8716171, 1151462, 1521897, -982665, -6837803 }, - { -32939165, -4255815, 23947181, -324178, -33072974, -12305637, -16637686, 3891704, 26353178, 693168 } - }, - { - { 30374239, 1595580, -16884039, 13186931, 4600344, 406904, 9585294, -400668, 31375464, 14369965 }, - { -14370654, -7772529, 1510301, 6434173, -18784789, -6262728, 32732230, -13108839, 17901441, 16011505 }, - { 18171223, -11934626, -12500402, 15197122, -11038147, -15230035, -19172240, -16046376, 8764035, 12309598 } - } -}, -{ /* 20/31 */ - { - { 5975908, -5243188, -19459362, -9681747, -11541277, 14015782, -23665757, 1228319, 17544096, -10593782 }, - { 5811932, -1715293, 3442887, -2269310, -18367348, -8359541, -18044043, -15410127, -5565381, 12348900 }, - { -31399660, 11407555, 25755363, 6891399, -3256938, 14872274, -24849353, 8141295, -10632534, -585479 } - }, - { - { -12675304, 694026, -5076145, 13300344, 14015258, -14451394, -9698672, -11329050, 30944593, 1130208 }, - { 8247766, -6710942, -26562381, -7709309, -14401939, -14648910, 4652152, 2488540, 23550156, -271232 }, - { 17294316, -3788438, 7026748, 15626851, 22990044, 113481, 2267737, -5908146, -408818, -137719 } - }, - { - { 16091085, -16253926, 18599252, 7340678, 2137637, -1221657, -3364161, 14550936, 3260525, -7166271 }, - { -4910104, -13332887, 18550887, 10864893, -16459325, -7291596, -23028869, -13204905, -12748722, 2701326 }, - { -8574695, 16099415, 4629974, -16340524, -20786213, -6005432, -10018363, 9276971, 11329923, 1862132 } - }, - { - { 14763076, -15903608, -30918270, 3689867, 3511892, 10313526, -21951088, 12219231, -9037963, -940300 }, - { 8894987, -3446094, 6150753, 3013931, 301220, 15693451, -31981216, -2909717, -15438168, 11595570 }, - { 15214962, 3537601, -26238722, -14058872, 4418657, -15230761, 13947276, 10730794, -13489462, -4363670 } - }, - { - { -2538306, 7682793, 32759013, 263109, -29984731, -7955452, -22332124, -10188635, 977108, 699994 }, - { -12466472, 4195084, -9211532, 550904, -15565337, 12917920, 19118110, -439841, -30534533, -14337913 }, - { 31788461, -14507657, 4799989, 7372237, 8808585, -14747943, 9408237, -10051775, 12493932, -5409317 } - }, - { - { -25680606, 5260744, -19235809, -6284470, -3695942, 16566087, 27218280, 2607121, 29375955, 6024730 }, - { 842132, -2794693, -4763381, -8722815, 26332018, -12405641, 11831880, 6985184, -9940361, 2854096 }, - { -4847262, -7969331, 2516242, -5847713, 9695691, -7221186, 16512645, 960770, 12121869, 16648078 } - }, - { - { -15218652, 14667096, -13336229, 2013717, 30598287, -464137, -31504922, -7882064, 20237806, 2838411 }, - { -19288047, 4453152, 15298546, -16178388, 22115043, -15972604, 12544294, -13470457, 1068881, -12499905 }, - { -9558883, -16518835, 33238498, 13506958, 30505848, -1114596, -8486907, -2630053, 12521378, 4845654 } - }, - { - { -28198521, 10744108, -2958380, 10199664, 7759311, -13088600, 3409348, -873400, -6482306, -12885870 }, - { -23561822, 6230156, -20382013, 10655314, -24040585, -11621172, 10477734, -1240216, -3113227, 13974498 }, - { 12966261, 15550616, -32038948, -1615346, 21025980, -629444, 5642325, 7188737, 18895762, 12629579 } - } -}, -{ /* 21/31 */ - { - { 14741879, -14946887, 22177208, -11721237, 1279741, 8058600, 11758140, 789443, 32195181, 3895677 }, - { 10758205, 15755439, -4509950, 9243698, -4879422, 6879879, -2204575, -3566119, -8982069, 4429647 }, - { -2453894, 15725973, -20436342, -10410672, -5803908, -11040220, -7135870, -11642895, 18047436, -15281743 } - }, - { - { -25173001, -11307165, 29759956, 11776784, -22262383, -15820455, 10993114, -12850837, -17620701, -9408468 }, - { 21987233, 700364, -24505048, 14972008, -7774265, -5718395, 32155026, 2581431, -29958985, 8773375 }, - { -25568350, 454463, -13211935, 16126715, 25240068, 8594567, 20656846, 12017935, -7874389, -13920155 } - }, - { - { 6028182, 6263078, -31011806, -11301710, -818919, 2461772, -31841174, -5468042, -1721788, -2776725 }, - { -12278994, 16624277, 987579, -5922598, 32908203, 1248608, 7719845, -4166698, 28408820, 6816612 }, - { -10358094, -8237829, 19549651, -12169222, 22082623, 16147817, 20613181, 13982702, -10339570, 5067943 } - }, - { - { -30505967, -3821767, 12074681, 13582412, -19877972, 2443951, -19719286, 12746132, 5331210, -10105944 }, - { 30528811, 3601899, -1957090, 4619785, -27361822, -15436388, 24180793, -12570394, 27679908, -1648928 }, - { 9402404, -13957065, 32834043, 10838634, -26580150, -13237195, 26653274, -8685565, 22611444, -12715406 } - }, - { - { 22190590, 1118029, 22736441, 15130463, -30460692, -5991321, 19189625, -4648942, 4854859, 6622139 }, - { -8310738, -2953450, -8262579, -3388049, -10401731, -271929, 13424426, -3567227, 26404409, 13001963 }, - { -31241838, -15415700, -2994250, 8939346, 11562230, -12840670, -26064365, -11621720, -15405155, 11020693 } - }, - { - { 1866042, -7949489, -7898649, -10301010, 12483315, 13477547, 3175636, -12424163, 28761762, 1406734 }, - { -448555, -1777666, 13018551, 3194501, -9580420, -11161737, 24760585, -4347088, 25577411, -13378680 }, - { -24290378, 4759345, -690653, -1852816, 2066747, 10693769, -29595790, 9884936, -9368926, 4745410 } - }, - { - { -9141284, 6049714, -19531061, -4341411, -31260798, 9944276, -15462008, -11311852, 10931924, -11931931 }, - { -16561513, 14112680, -8012645, 4817318, -8040464, -11414606, -22853429, 10856641, -20470770, 13434654 }, - { 22759489, -10073434, -16766264, -1871422, 13637442, -10168091, 1765144, -12654326, 28445307, -5364710 } - }, - { - { 29875063, 12493613, 2795536, -3786330, 1710620, 15181182, -10195717, -8788675, 9074234, 1167180 }, - { -26205683, 11014233, -9842651, -2635485, -26908120, 7532294, -18716888, -9535498, 3843903, 9367684 }, - { -10969595, -6403711, 9591134, 9582310, 11349256, 108879, 16235123, 8601684, -139197, 4242895 } - } -}, -{ /* 22/31 */ - { - { 22092954, -13191123, -2042793, -11968512, 32186753, -11517388, -6574341, 2470660, -27417366, 16625501 }, - { -11057722, 3042016, 13770083, -9257922, 584236, -544855, -7770857, 2602725, -27351616, 14247413 }, - { 6314175, -10264892, -32772502, 15957557, -10157730, 168750, -8618807, 14290061, 27108877, -1180880 } - }, - { - { -8586597, -7170966, 13241782, 10960156, -32991015, -13794596, 33547976, -11058889, -27148451, 981874 }, - { 22833440, 9293594, -32649448, -13618667, -9136966, 14756819, -22928859, -13970780, -10479804, -16197962 }, - { -7768587, 3326786, -28111797, 10783824, 19178761, 14905060, 22680049, 13906969, -15933690, 3797899 } - }, - { - { 21721356, -4212746, -12206123, 9310182, -3882239, -13653110, 23740224, -2709232, 20491983, -8042152 }, - { 9209270, -15135055, -13256557, -6167798, -731016, 15289673, 25947805, 15286587, 30997318, -6703063 }, - { 7392032, 16618386, 23946583, -8039892, -13265164, -1533858, -14197445, -2321576, 17649998, -250080 } - }, - { - { -9301088, -14193827, 30609526, -3049543, -25175069, -1283752, -15241566, -9525724, -2233253, 7662146 }, - { -17558673, 1763594, -33114336, 15908610, -30040870, -12174295, 7335080, -8472199, -3174674, 3440183 }, - { -19889700, -5977008, -24111293, -9688870, 10799743, -16571957, 40450, -4431835, 4862400, 1133 } - }, - { - { -32856209, -7873957, -5422389, 14860950, -16319031, 7956142, 7258061, 311861, -30594991, -7379421 }, - { -3773428, -1565936, 28985340, 7499440, 24445838, 9325937, 29727763, 16527196, 18278453, 15405622 }, - { -4381906, 8508652, -19898366, -3674424, -5984453, 15149970, -13313598, 843523, -21875062, 13626197 } - }, - { - { 2281448, -13487055, -10915418, -2609910, 1879358, 16164207, -10783882, 3953792, 13340839, 15928663 }, - { 31727126, -7179855, -18437503, -8283652, 2875793, -16390330, -25269894, -7014826, -23452306, 5964753 }, - { 4100420, -5959452, -17179337, 6017714, -18705837, 12227141, -26684835, 11344144, 2538215, -7570755 } - }, - { - { -9433605, 6123113, 11159803, -2156608, 30016280, 14966241, -20474983, 1485421, -629256, -15958862 }, - { -26804558, 4260919, 11851389, 9658551, -32017107, 16367492, -20205425, -13191288, 11659922, -11115118 }, - { 26180396, 10015009, -30844224, -8581293, 5418197, 9480663, 2231568, -10170080, 33100372, -1306171 } - }, - { - { 15121113, -5201871, -10389905, 15427821, -27509937, -15992507, 21670947, 4486675, -5931810, -14466380 }, - { 16166486, -9483733, -11104130, 6023908, -31926798, -1364923, 2340060, -16254968, -10735770, -10039824 }, - { 28042865, -3557089, -12126526, 12259706, -3717498, -6945899, 6766453, -8689599, 18036436, 5803270 } - } -}, -{ /* 23/31 */ - { - { -817581, 6763912, 11803561, 1585585, 10958447, -2671165, 23855391, 4598332, -6159431, -14117438 }, - { -31031306, -14256194, 17332029, -2383520, 31312682, -5967183, 696309, 50292, -20095739, 11763584 }, - { -594563, -2514283, -32234153, 12643980, 12650761, 14811489, 665117, -12613632, -19773211, -10713562 } - }, - { - { 30464590, -11262872, -4127476, -12734478, 19835327, -7105613, -24396175, 2075773, -17020157, 992471 }, - { 18357185, -6994433, 7766382, 16342475, -29324918, 411174, 14578841, 8080033, -11574335, -10601610 }, - { 19598397, 10334610, 12555054, 2555664, 18821899, -10339780, 21873263, 16014234, 26224780, 16452269 } - }, - { - { -30223925, 5145196, 5944548, 16385966, 3976735, 2009897, -11377804, -7618186, -20533829, 3698650 }, - { 14187449, 3448569, -10636236, -10810935, -22663880, -3433596, 7268410, -10890444, 27394301, 12015369 }, - { 19695761, 16087646, 28032085, 12999827, 6817792, 11427614, 20244189, -1312777, -13259127, -3402461 } - }, - { - { 30860103, 12735208, -1888245, -4699734, -16974906, 2256940, -8166013, 12298312, -8550524, -10393462 }, - { -5719826, -11245325, -1910649, 15569035, 26642876, -7587760, -5789354, -15118654, -4976164, 12651793 }, - { -2848395, 9953421, 11531313, -5282879, 26895123, -12697089, -13118820, -16517902, 9768698, -2533218 } - }, - { - { -24719459, 1894651, -287698, -4704085, 15348719, -8156530, 32767513, 12765450, 4940095, 10678226 }, - { 18860224, 15980149, -18987240, -1562570, -26233012, -11071856, -7843882, 13944024, -24372348, 16582019 }, - { -15504260, 4970268, -29893044, 4175593, -20993212, -2199756, -11704054, 15444560, -11003761, 7989037 } - }, - { - { 31490452, 5568061, -2412803, 2182383, -32336847, 4531686, -32078269, 6200206, -19686113, -14800171 }, - { -17308668, -15879940, -31522777, -2831, -32887382, 16375549, 8680158, -16371713, 28550068, -6857132 }, - { -28126887, -5688091, 16837845, -1820458, -6850681, 12700016, -30039981, 4364038, 1155602, 5988841 } - }, - { - { 21890435, -13272907, -12624011, 12154349, -7831873, 15300496, 23148983, -4470481, 24618407, 8283181 }, - { -33136107, -10512751, 9975416, 6841041, -31559793, 16356536, 3070187, -7025928, 1466169, 10740210 }, - { -1509399, -15488185, -13503385, -10655916, 32799044, 909394, -13938903, -5779719, -32164649, -15327040 } - }, - { - { 3960823, -14267803, -28026090, -15918051, -19404858, 13146868, 15567327, 951507, -3260321, -573935 }, - { 24740841, 5052253, -30094131, 8961361, 25877428, 6165135, -24368180, 14397372, -7380369, -6144105 }, - { -28888365, 3510803, -28103278, -1158478, -11238128, -10631454, -15441463, -14453128, -1625486, -6494814 } - } -}, -{ /* 24/31 */ - { - { 793299, -9230478, 8836302, -6235707, -27360908, -2369593, 33152843, -4885251, -9906200, -621852 }, - { 5666233, 525582, 20782575, -8038419, -24538499, 14657740, 16099374, 1468826, -6171428, -15186581 }, - { -4859255, -3779343, -2917758, -6748019, 7778750, 11688288, -30404353, -9871238, -1558923, -9863646 } - }, - { - { 10896332, -7719704, 824275, 472601, -19460308, 3009587, 25248958, 14783338, -30581476, -15757844 }, - { 10566929, 12612572, -31944212, 11118703, -12633376, 12362879, 21752402, 8822496, 24003793, 14264025 }, - { 27713862, -7355973, -11008240, 9227530, 27050101, 2504721, 23886875, -13117525, 13958495, -5732453 } - }, - { - { -23481610, 4867226, -27247128, 3900521, 29838369, -8212291, -31889399, -10041781, 7340521, -15410068 }, - { 4646514, -8011124, -22766023, -11532654, 23184553, 8566613, 31366726, -1381061, -15066784, -10375192 }, - { -17270517, 12723032, -16993061, 14878794, 21619651, -6197576, 27584817, 3093888, -8843694, 3849921 } - }, - { - { -9064912, 2103172, 25561640, -15125738, -5239824, 9582958, 32477045, -9017955, 5002294, -15550259 }, - { -12057553, -11177906, 21115585, -13365155, 8808712, -12030708, 16489530, 13378448, -25845716, 12741426 }, - { -5946367, 10645103, -30911586, 15390284, -3286982, -7118677, 24306472, 15852464, 28834118, -7646072 } - }, - { - { -17335748, -9107057, -24531279, 9434953, -8472084, -583362, -13090771, 455841, 20461858, 5491305 }, - { 13669248, -16095482, -12481974, -10203039, -14569770, -11893198, -24995986, 11293807, -28588204, -9421832 }, - { 28497928, 6272777, -33022994, 14470570, 8906179, -1225630, 18504674, -14165166, 29867745, -8795943 } - }, - { - { -16207023, 13517196, -27799630, -13697798, 24009064, -6373891, -6367600, -13175392, 22853429, -4012011 }, - { 24191378, 16712145, -13931797, 15217831, 14542237, 1646131, 18603514, -11037887, 12876623, -2112447 }, - { 17902668, 4518229, -411702, -2829247, 26878217, 5258055, -12860753, 608397, 16031844, 3723494 } - }, - { - { -28632773, 12763728, -20446446, 7577504, 33001348, -13017745, 17558842, -7872890, 23896954, -4314245 }, - { -20005381, -12011952, 31520464, 605201, 2543521, 5991821, -2945064, 7229064, -9919646, -8826859 }, - { 28816045, 298879, -28165016, -15920938, 19000928, -1665890, -12680833, -2949325, -18051778, -2082915 } - }, - { - { 16000882, -344896, 3493092, -11447198, -29504595, -13159789, 12577740, 16041268, -19715240, 7847707 }, - { 10151868, 10572098, 27312476, 7922682, 14825339, 4723128, -32855931, -6519018, -10020567, 3852848 }, - { -11430470, 15697596, -21121557, -4420647, 5386314, 15063598, 16514493, -15932110, 29330899, -15076224 } - } -}, -{ /* 25/31 */ - { - { -25499735, -4378794, -15222908, -6901211, 16615731, 2051784, 3303702, 15490, -27548796, 12314391 }, - { 15683520, -6003043, 18109120, -9980648, 15337968, -5997823, -16717435, 15921866, 16103996, -3731215 }, - { -23169824, -10781249, 13588192, -1628807, -3798557, -1074929, -19273607, 5402699, -29815713, -9841101 } - }, - { - { 23190676, 2384583, -32714340, 3462154, -29903655, -1529132, -11266856, 8911517, -25205859, 2739713 }, - { 21374101, -3554250, -33524649, 9874411, 15377179, 11831242, -33529904, 6134907, 4931255, 11987849 }, - { -7732, -2978858, -16223486, 7277597, 105524, -322051, -31480539, 13861388, -30076310, 10117930 } - }, - { - { -29501170, -10744872, -26163768, 13051539, -25625564, 5089643, -6325503, 6704079, 12890019, 15728940 }, - { -21972360, -11771379, -951059, -4418840, 14704840, 2695116, 903376, -10428139, 12885167, 8311031 }, - { -17516482, 5352194, 10384213, -13811658, 7506451, 13453191, 26423267, 4384730, 1888765, -5435404 } - }, - { - { -25817338, -3107312, -13494599, -3182506, 30896459, -13921729, -32251644, -12707869, -19464434, -3340243 }, - { -23607977, -2665774, -526091, 4651136, 5765089, 4618330, 6092245, 14845197, 17151279, -9854116 }, - { -24830458, -12733720, -15165978, 10367250, -29530908, -265356, 22825805, -7087279, -16866484, 16176525 } - }, - { - { -23583256, 6564961, 20063689, 3798228, -4740178, 7359225, 2006182, -10363426, -28746253, -10197509 }, - { -10626600, -4486402, -13320562, -5125317, 3432136, -6393229, 23632037, -1940610, 32808310, 1099883 }, - { 15030977, 5768825, -27451236, -2887299, -6427378, -15361371, -15277896, -6809350, 2051441, -15225865 } - }, - { - { -3362323, -7239372, 7517890, 9824992, 23555850, 295369, 5148398, -14154188, -22686354, 16633660 }, - { 4577086, -16752288, 13249841, -15304328, 19958763, -14537274, 18559670, -10759549, 8402478, -9864273 }, - { -28406330, -1051581, -26790155, -907698, -17212414, -11030789, 9453451, -14980072, 17983010, 9967138 } - }, - { - { -25762494, 6524722, 26585488, 9969270, 24709298, 1220360, -1677990, 7806337, 17507396, 3651560 }, - { -10420457, -4118111, 14584639, 15971087, -15768321, 8861010, 26556809, -5574557, -18553322, -11357135 }, - { 2839101, 14284142, 4029895, 3472686, 14402957, 12689363, -26642121, 8459447, -5605463, -7621941 } - }, - { - { -4839289, -3535444, 9744961, 2871048, 25113978, 3187018, -25110813, -849066, 17258084, -7977739 }, - { 18164541, -10595176, -17154882, -1542417, 19237078, -9745295, 23357533, -15217008, 26908270, 12150756 }, - { -30264870, -7647865, 5112249, -7036672, -1499807, -6974257, 43168, -5537701, -32302074, 16215819 } - } -}, -{ /* 26/31 */ - { - { -6898905, 9824394, -12304779, -4401089, -31397141, -6276835, 32574489, 12532905, -7503072, -8675347 }, - { -27343522, -16515468, -27151524, -10722951, 946346, 16291093, 254968, 7168080, 21676107, -1943028 }, - { 21260961, -8424752, -16831886, -11920822, -23677961, 3968121, -3651949, -6215466, -3556191, -7913075 } - }, - { - { 16544754, 13250366, -16804428, 15546242, -4583003, 12757258, -2462308, -8680336, -18907032, -9662799 }, - { -2415239, -15577728, 18312303, 4964443, -15272530, -12653564, 26820651, 16690659, 25459437, -4564609 }, - { -25144690, 11425020, 28423002, -11020557, -6144921, -15826224, 9142795, -2391602, -6432418, -1644817 } - }, - { - { -23104652, 6253476, 16964147, -3768872, -25113972, -12296437, -27457225, -16344658, 6335692, 7249989 }, - { -30333227, 13979675, 7503222, -12368314, -11956721, -4621693, -30272269, 2682242, 25993170, -12478523 }, - { 4364628, 5930691, 32304656, -10044554, -8054781, 15091131, 22857016, -10598955, 31820368, 15075278 } - }, - { - { 31879134, -8918693, 17258761, 90626, -8041836, -4917709, 24162788, -9650886, -17970238, 12833045 }, - { 19073683, 14851414, -24403169, -11860168, 7625278, 11091125, -19619190, 2074449, -9413939, 14905377 }, - { 24483667, -11935567, -2518866, -11547418, -1553130, 15355506, -25282080, 9253129, 27628530, -7555480 } - }, - { - { 17597607, 8340603, 19355617, 552187, 26198470, -3176583, 4593324, -9157582, -14110875, 15297016 }, - { 510886, 14337390, -31785257, 16638632, 6328095, 2713355, -20217417, -11864220, 8683221, 2921426 }, - { 18606791, 11874196, 27155355, -5281482, -24031742, 6265446, -25178240, -1278924, 4674690, 13890525 } - }, - { - { 13609624, 13069022, -27372361, -13055908, 24360586, 9592974, 14977157, 9835105, 4389687, 288396 }, - { 9922506, -519394, 13613107, 5883594, -18758345, -434263, -12304062, 8317628, 23388070, 16052080 }, - { 12720016, 11937594, -31970060, -5028689, 26900120, 8561328, -20155687, -11632979, -14754271, -10812892 } - }, - { - { 15961858, 14150409, 26716931, -665832, -22794328, 13603569, 11829573, 7467844, -28822128, 929275 }, - { 11038231, -11582396, -27310482, -7316562, -10498527, -16307831, -23479533, -9371869, -21393143, 2465074 }, - { 20017163, -4323226, 27915242, 1529148, 12396362, 15675764, 13817261, -9658066, 2463391, -4622140 } - }, - { - { -16358878, -12663911, -12065183, 4996454, -1256422, 1073572, 9583558, 12851107, 4003896, 12673717 }, - { -1731589, -15155870, -3262930, 16143082, 19294135, 13385325, 14741514, -9103726, 7903886, 2348101 }, - { 24536016, -16515207, 12715592, -3862155, 1511293, 10047386, -3842346, -7129159, -28377538, 10048127 } - } -}, -{ /* 27/31 */ - { - { -12622226, -6204820, 30718825, 2591312, -10617028, 12192840, 18873298, -7297090, -32297756, 15221632 }, - { -26478122, -11103864, 11546244, -1852483, 9180880, 7656409, -21343950, 2095755, 29769758, 6593415 }, - { -31994208, -2907461, 4176912, 3264766, 12538965, -868111, 26312345, -6118678, 30958054, 8292160 } - }, - { - { 31429822, -13959116, 29173532, 15632448, 12174511, -2760094, 32808831, 3977186, 26143136, -3148876 }, - { 22648901, 1402143, -22799984, 13746059, 7936347, 365344, -8668633, -1674433, -3758243, -2304625 }, - { -15491917, 8012313, -2514730, -12702462, -23965846, -10254029, -1612713, -1535569, -16664475, 8194478 } - }, - { - { 27338066, -7507420, -7414224, 10140405, -19026427, -6589889, 27277191, 8855376, 28572286, 3005164 }, - { 26287124, 4821776, 25476601, -4145903, -3764513, -15788984, -18008582, 1182479, -26094821, -13079595 }, - { -7171154, 3178080, 23970071, 6201893, -17195577, -4489192, -21876275, -13982627, 32208683, -1198248 } - }, - { - { -16657702, 2817643, -10286362, 14811298, 6024667, 13349505, -27315504, -10497842, -27672585, -11539858 }, - { 15941029, -9405932, -21367050, 8062055, 31876073, -238629, -15278393, -1444429, 15397331, -4130193 }, - { 8934485, -13485467, -23286397, -13423241, -32446090, 14047986, 31170398, -1441021, -27505566, 15087184 } - }, - { - { -18357243, -2156491, 24524913, -16677868, 15520427, -6360776, -15502406, 11461896, 16788528, -5868942 }, - { -1947386, 16013773, 21750665, 3714552, -17401782, -16055433, -3770287, -10323320, 31322514, -11615635 }, - { 21426655, -5650218, -13648287, -5347537, -28812189, -4920970, -18275391, -14621414, 13040862, -12112948 } - }, - { - { 11293895, 12478086, -27136401, 15083750, -29307421, 14748872, 14555558, -13417103, 1613711, 4896935 }, - { -25894883, 15323294, -8489791, -8057900, 25967126, -13425460, 2825960, -4897045, -23971776, -11267415 }, - { -15924766, -5229880, -17443532, 6410664, 3622847, 10243618, 20615400, 12405433, -23753030, -8436416 } - }, - { - { -7091295, 12556208, -20191352, 9025187, -17072479, 4333801, 4378436, 2432030, 23097949, -566018 }, - { 4565804, -16025654, 20084412, -7842817, 1724999, 189254, 24767264, 10103221, -18512313, 2424778 }, - { 366633, -11976806, 8173090, -6890119, 30788634, 5745705, -7168678, 1344109, -3642553, 12412659 } - }, - { - { -24001791, 7690286, 14929416, -168257, -32210835, -13412986, 24162697, -15326504, -3141501, 11179385 }, - { 18289522, -14724954, 8056945, 16430056, -21729724, 7842514, -6001441, -1486897, -18684645, -11443503 }, - { 476239, 6601091, -6152790, -9723375, 17503545, -4863900, 27672959, 13403813, 11052904, 5219329 } - } -}, -{ /* 28/31 */ - { - { 20678546, -8375738, -32671898, 8849123, -5009758, 14574752, 31186971, -3973730, 9014762, -8579056 }, - { -13644050, -10350239, -15962508, 5075808, -1514661, -11534600, -33102500, 9160280, 8473550, -3256838 }, - { 24900749, 14435722, 17209120, -15292541, -22592275, 9878983, -7689309, -16335821, -24568481, 11788948 } - }, - { - { -3118155, -11395194, -13802089, 14797441, 9652448, -6845904, -20037437, 10410733, -24568470, -1458691 }, - { -15659161, 16736706, -22467150, 10215878, -9097177, 7563911, 11871841, -12505194, -18513325, 8464118 }, - { -23400612, 8348507, -14585951, -861714, -3950205, -6373419, 14325289, 8628612, 33313881, -8370517 } - }, - { - { -20186973, -4967935, 22367356, 5271547, -1097117, -4788838, -24805667, -10236854, -8940735, -5818269 }, - { -6948785, -1795212, -32625683, -16021179, 32635414, -7374245, 15989197, -12838188, 28358192, -4253904 }, - { -23561781, -2799059, -32351682, -1661963, -9147719, 10429267, -16637684, 4072016, -5351664, 5596589 } - }, - { - { -28236598, -3390048, 12312896, 6213178, 3117142, 16078565, 29266239, 2557221, 1768301, 15373193 }, - { -7243358, -3246960, -4593467, -7553353, -127927, -912245, -1090902, -4504991, -24660491, 3442910 }, - { -30210571, 5124043, 14181784, 8197961, 18964734, -11939093, 22597931, 7176455, -18585478, 13365930 } - }, - { - { -7877390, -1499958, 8324673, 4690079, 6261860, 890446, 24538107, -8570186, -9689599, -3031667 }, - { 25008904, -10771599, -4305031, -9638010, 16265036, 15721635, 683793, -11823784, 15723479, -15163481 }, - { -9660625, 12374379, -27006999, -7026148, -7724114, -12314514, 11879682, 5400171, 519526, -1235876 } - }, - { - { 22258397, -16332233, -7869817, 14613016, -22520255, -2950923, -20353881, 7315967, 16648397, 7605640 }, - { -8081308, -8464597, -8223311, 9719710, 19259459, -15348212, 23994942, -5281555, -9468848, 4763278 }, - { -21699244, 9220969, -15730624, 1084137, -25476107, -2852390, 31088447, -7764523, -11356529, 728112 } - }, - { - { 26047220, -11751471, -6900323, -16521798, 24092068, 9158119, -4273545, -12555558, -29365436, -5498272 }, - { 17510331, -322857, 5854289, 8403524, 17133918, -3112612, -28111007, 12327945, 10750447, 10014012 }, - { -10312768, 3936952, 9156313, -8897683, 16498692, -994647, -27481051, -666732, 3424691, 7540221 } - }, - { - { 30322361, -6964110, 11361005, -4143317, 7433304, 4989748, -7071422, -16317219, -9244265, 15258046 }, - { 13054562, -2779497, 19155474, 469045, -12482797, 4566042, 5631406, 2711395, 1062915, -5136345 }, - { -19240248, -11254599, -29509029, -7499965, -5835763, 13005411, -6066489, 12194497, 32960380, 1459310 } - } -}, -{ /* 29/31 */ - { - { 19852034, 7027924, 23669353, 10020366, 8586503, -6657907, 394197, -6101885, 18638003, -11174937 }, - { 31395534, 15098109, 26581030, 8030562, -16527914, -5007134, 9012486, -7584354, -6643087, -5442636 }, - { -9192165, -2347377, -1997099, 4529534, 25766844, 607986, -13222, 9677543, -32294889, -6456008 } - }, - { - { -2444496, -149937, 29348902, 8186665, 1873760, 12489863, -30934579, -7839692, -7852844, -8138429 }, - { -15236356, -15433509, 7766470, 746860, 26346930, -10221762, -27333451, 10754588, -9431476, 5203576 }, - { 31834314, 14135496, -770007, 5159118, 20917671, -16768096, -7467973, -7337524, 31809243, 7347066 } - }, - { - { -9606723, -11874240, 20414459, 13033986, 13716524, -11691881, 19797970, -12211255, 15192876, -2087490 }, - { -12663563, -2181719, 1168162, -3804809, 26747877, -14138091, 10609330, 12694420, 33473243, -13382104 }, - { 33184999, 11180355, 15832085, -11385430, -1633671, 225884, 15089336, -11023903, -6135662, 14480053 } - }, - { - { 31308717, -5619998, 31030840, -1897099, 15674547, -6582883, 5496208, 13685227, 27595050, 8737275 }, - { -20318852, -15150239, 10933843, -16178022, 8335352, -7546022, -31008351, -12610604, 26498114, 66511 }, - { 22644454, -8761729, -16671776, 4884562, -3105614, -13559366, 30540766, -4286747, -13327787, -7515095 } - }, - { - { -28017847, 9834845, 18617207, -2681312, -3401956, -13307506, 8205540, 13585437, -17127465, 15115439 }, - { 23711543, -672915, 31206561, -8362711, 6164647, -9709987, -33535882, -1426096, 8236921, 16492939 }, - { -23910559, -13515526, -26299483, -4503841, 25005590, -7687270, 19574902, 10071562, 6708380, -6222424 } - }, - { - { 2101391, -4930054, 19702731, 2367575, -15427167, 1047675, 5301017, 9328700, 29955601, -11678310 }, - { 3096359, 9271816, -21620864, -15521844, -14847996, -7592937, -25892142, -12635595, -9917575, 6216608 }, - { -32615849, 338663, -25195611, 2510422, -29213566, -13820213, 24822830, -6146567, -26767480, 7525079 } - }, - { - { -23066649, -13985623, 16133487, -7896178, -3389565, 778788, -910336, -2782495, -19386633, 11994101 }, - { 21691500, -13624626, -641331, -14367021, 3285881, -3483596, -25064666, 9718258, -7477437, 13381418 }, - { 18445390, -4202236, 14979846, 11622458, -1727110, -3582980, 23111648, -6375247, 28535282, 15779576 } - }, - { - { 30098053, 3089662, -9234387, 16662135, -21306940, 11308411, -14068454, 12021730, 9955285, -16303356 }, - { 9734894, -14576830, -7473633, -9138735, 2060392, 11313496, -18426029, 9924399, 20194861, 13380996 }, - { -26378102, -7965207, -22167821, 15789297, -18055342, -6168792, -1984914, 15707771, 26342023, 10146099 } - } -}, -{ /* 30/31 */ - { - { -26016874, -219943, 21339191, -41388, 19745256, -2878700, -29637280, 2227040, 21612326, -545728 }, - { -13077387, 1184228, 23562814, -5970442, -20351244, -6348714, 25764461, 12243797, -20856566, 11649658 }, - { -10031494, 11262626, 27384172, 2271902, 26947504, -15997771, 39944, 6114064, 33514190, 2333242 } - }, - { - { -21433588, -12421821, 8119782, 7219913, -21830522, -9016134, -6679750, -12670638, 24350578, -13450001 }, - { -4116307, -11271533, -23886186, 4843615, -30088339, 690623, -31536088, -10406836, 8317860, 12352766 }, - { 18200138, -14475911, -33087759, -2696619, -23702521, -9102511, -23552096, -2287550, 20712163, 6719373 } - }, - { - { 26656208, 6075253, -7858556, 1886072, -28344043, 4262326, 11117530, -3763210, 26224235, -3297458 }, - { -17168938, -14854097, -3395676, -16369877, -19954045, 14050420, 21728352, 9493610, 18620611, -16428628 }, - { -13323321, 13325349, 11432106, 5964811, 18609221, 6062965, -5269471, -9725556, -30701573, -16479657 } - }, - { - { -23860538, -11233159, 26961357, 1640861, -32413112, -16737940, 12248509, -5240639, 13735342, 1934062 }, - { 25089769, 6742589, 17081145, -13406266, 21909293, -16067981, -15136294, -3765346, -21277997, 5473616 }, - { 31883677, -7961101, 1083432, -11572403, 22828471, 13290673, -7125085, 12469656, 29111212, -5451014 } - }, - { - { 24244947, -15050407, -26262976, 2791540, -14997599, 16666678, 24367466, 6388839, -10295587, 452383 }, - { -25640782, -3417841, 5217916, 16224624, 19987036, -4082269, -24236251, -5915248, 15766062, 8407814 }, - { -20406999, 13990231, 15495425, 16395525, 5377168, 15166495, -8917023, -4388953, -8067909, 2276718 } - }, - { - { 30157918, 12924066, -17712050, 9245753, 19895028, 3368142, -23827587, 5096219, 22740376, -7303417 }, - { 2041139, -14256350, 7783687, 13876377, -25946985, -13352459, 24051124, 13742383, -15637599, 13295222 }, - { 33338237, -8505733, 12532113, 7977527, 9106186, -1715251, -17720195, -4612972, -4451357, -14669444 } - }, - { - { -20045281, 5454097, -14346548, 6447146, 28862071, 1883651, -2469266, -4141880, 7770569, 9620597 }, - { 23208068, 7979712, 33071466, 8149229, 1758231, -10834995, 30945528, -1694323, -33502340, -14767970 }, - { 1439958, -16270480, -1079989, -793782, 4625402, 10647766, -5043801, 1220118, 30494170, -11440799 } - }, - { - { -5037580, -13028295, -2970559, -3061767, 15640974, -6701666, -26739026, 926050, -1684339, -13333647 }, - { 13908495, -3549272, 30919928, -6273825, -21521863, 7989039, 9021034, 9078865, 3353509, 4033511 }, - { -29663431, -15113610, 32259991, -344482, 24295849, -12912123, 23161163, 8839127, 27485041, 7356032 } - } -}, -{ /* 31/31 */ - { - { 9661027, 705443, 11980065, -5370154, -1628543, 14661173, -6346142, 2625015, 28431036, -16771834 }, - { -23839233, -8311415, -25945511, 7480958, -17681669, -8354183, -22545972, 14150565, 15970762, 4099461 }, - { 29262576, 16756590, 26350592, -8793563, 8529671, -11208050, 13617293, -9937143, 11465739, 8317062 } - }, - { - { -25493081, -6962928, 32500200, -9419051, -23038724, -2302222, 14898637, 3848455, 20969334, -5157516 }, - { -20384450, -14347713, -18336405, 13884722, -33039454, 2842114, -21610826, -3649888, 11177095, 14989547 }, - { -24496721, -11716016, 16959896, 2278463, 12066309, 10137771, 13515641, 2581286, -28487508, 9930240 } - }, - { - { -17751622, -2097826, 16544300, -13009300, -15914807, -14949081, 18345767, -13403753, 16291481, -5314038 }, - { -33229194, 2553288, 32678213, 9875984, 8534129, 6889387, -9676774, 6957617, 4368891, 9788741 }, - { 16660756, 7281060, -10830758, 12911820, 20108584, -8101676, -21722536, -8613148, 16250552, -11111103 } - }, - { - { -19765507, 2390526, -16551031, 14161980, 1905286, 6414907, 4689584, 10604807, -30190403, 4782747 }, - { -1354539, 14736941, -7367442, -13292886, 7710542, -14155590, -9981571, 4383045, 22546403, 437323 }, - { 31665577, -12180464, -16186830, 1491339, -18368625, 3294682, 27343084, 2786261, -30633590, -14097016 } - }, - { - { -14467279, -683715, -33374107, 7448552, 19294360, 14334329, -19690631, 2355319, -19284671, -6114373 }, - { 15121312, -15796162, 6377020, -6031361, -10798111, -12957845, 18952177, 15496498, -29380133, 11754228 }, - { -2637277, -13483075, 8488727, -14303896, 12728761, -1622493, 7141596, 11724556, 22761615, -10134141 } - }, - { - { 16918416, 11729663, -18083579, 3022987, -31015732, -13339659, -28741185, -12227393, 32851222, 11717399 }, - { 11166634, 7338049, -6722523, 4531520, -29468672, -7302055, 31474879, 3483633, -1193175, -4030831 }, - { -185635, 9921305, 31456609, -13536438, -12013818, 13348923, 33142652, 6546660, -19985279, -3948376 } - }, - { - { -32460596, 11266712, -11197107, -7899103, 31703694, 3855903, -8537131, -12833048, -30772034, -15486313 }, - { -18006477, 12709068, 3991746, -6479188, -21491523, -10550425, -31135347, -16049879, 10928917, 3011958 }, - { -6957757, -15594337, 31696059, 334240, 29576716, 14796075, -30831056, -12805180, 18008031, 10258577 } - }, - { - { -22448644, 15655569, 7018479, -4410003, -30314266, -1201591, -1853465, 1367120, 25127874, 6671743 }, - { 29701166, -14373934, -10878120, 9279288, -17568, 13127210, 21382910, 11042292, 25838796, 4642684 }, - { -20430234, 14955537, -24126347, 8124619, -5369288, -5990470, 30468147, -13900640, 18423289, 4177476 } - } -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h deleted file mode 100644 index 90a1457..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h +++ /dev/null @@ -1,40 +0,0 @@ -{ - { 25967493, -14356035, 29566456, 3660896, -12694345, 4014787, 27544626, -11754271, -6079156, 2047605 }, - { -12545711, 934262, -2722910, 3049990, -727428, 9406986, 12720692, 5043384, 19500929, -15469378 }, - { -8738181, 4489570, 9688441, -14785194, 10184609, -12363380, 29287919, 11864899, -24514362, -4438546 } -}, -{ - { 15636291, -9688557, 24204773, -7912398, 616977, -16685262, 27787600, -14772189, 28944400, -1550024 }, - { 16568933, 4717097, -11556148, -1102322, 15682896, -11807043, 16354577, -11775962, 7689662, 11199574 }, - { 30464156, -5976125, -11779434, -15670865, 23220365, 15915852, 7512774, 10017326, -17749093, -9920357 } -}, -{ - { 10861363, 11473154, 27284546, 1981175, -30064349, 12577861, 32867885, 14515107, -15438304, 10819380 }, - { 4708026, 6336745, 20377586, 9066809, -11272109, 6594696, -25653668, 12483688, -12668491, 5581306 }, - { 19563160, 16186464, -29386857, 4097519, 10237984, -4348115, 28542350, 13850243, -23678021, -15815942 } -}, -{ - { 5153746, 9909285, 1723747, -2777874, 30523605, 5516873, 19480852, 5230134, -23952439, -15175766 }, - { -30269007, -3463509, 7665486, 10083793, 28475525, 1649722, 20654025, 16520125, 30598449, 7715701 }, - { 28881845, 14381568, 9657904, 3680757, -20181635, 7843316, -31400660, 1370708, 29794553, -1409300 } -}, -{ - { -22518993, -6692182, 14201702, -8745502, -23510406, 8844726, 18474211, -1361450, -13062696, 13821877 }, - { -6455177, -7839871, 3374702, -4740862, -27098617, -10571707, 31655028, -7212327, 18853322, -14220951 }, - { 4566830, -12963868, -28974889, -12240689, -7602672, -2830569, -8514358, -10431137, 2207753, -3209784 } -}, -{ - { -25154831, -4185821, 29681144, 7868801, -6854661, -9423865, -12437364, -663000, -31111463, -16132436 }, - { 25576264, -2703214, 7349804, -11814844, 16472782, 9300885, 3844789, 15725684, 171356, 6466918 }, - { 23103977, 13316479, 9739013, -16149481, 817875, -15038942, 8965339, -14088058, -30714912, 16193877 } -}, -{ - { -33521811, 3180713, -2394130, 14003687, -16903474, -16270840, 17238398, 4729455, -18074513, 9256800 }, - { -25182317, -4174131, 32336398, 5036987, -21236817, 11360617, 22616405, 9761698, -19827198, 630305 }, - { -13720693, 2639453, -24237460, -7406481, 9494427, -5774029, -6554551, -15960994, -2449256, -14291300 } -}, -{ - { -3151181, -5046075, 9282714, 6866145, -31907062, -863023, -18940575, 15033784, 25105118, -7894876 }, - { -24326370, 15950226, -31801215, -14592823, -11662737, -5090925, 1573892, -2625887, 2198790, -15804619 }, - { -3099351, 10324967, -2241613, 7453183, -5446979, -2735503, -13812022, -16236442, -32461234, -12290683 } -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h deleted file mode 100644 index dd6da1b..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h +++ /dev/null @@ -1,40 +0,0 @@ -/* 37095705934669439343138083508754565189542113879843219016388785533085940283555 */ -static const fe25519 d = { - -10913610, 13857413, -15372611, 6949391, 114729, -8787816, -6275908, -3247719, -18696448, -12055116 -}; - -/* 2 * d = - * 16295367250680780974490674513165176452449235426866156013048779062215315747161 - */ -static const fe25519 d2 = { - -21827239, -5839606, -30745221, 13898782, 229458, 15978800, -12551817, -6495438, 29715968, 9444199 }; - -/* sqrt(-1) */ -static const fe25519 sqrtm1 = { - -32595792, -7943725, 9377950, 3500415, 12389472, -272473, -25146209, -2005654, 326686, 11406482 -}; - -/* A = 486662 */ -static const fe25519 curve25519_A = { - 486662, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -/* sqrt(ad - 1) with a = -1 (mod p) */ -static const fe25519 sqrtadm1 = { - 24849947, -153582, -23613485, 6347715, -21072328, -667138, -25271143, -15367704, -870347, 14525639 -}; - -/* 1 / sqrt(a - d) */ -static const fe25519 invsqrtamd = { - 6111485, 4156064, -27798727, 12243468, -25904040, 120897, 20826367, -7060776, 6093568, -1986012 -}; - -/* 1 - d ^ 2 */ -static const fe25519 onemsqd = { - 6275446, -16617371, -22938544, -3773710, 11667077, 7397348, -27922721, 1766195, -24433858, 672203 -}; - -/* (d - 1) ^ 2 */ -static const fe25519 sqdmone = { - 15551795, -11097455, -13425098, -10125071, -11896535, 10178284, -26634327, 4729244, -5282110, -10116402 -}; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h deleted file mode 100644 index f216669..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h +++ /dev/null @@ -1,220 +0,0 @@ -/* - Ignores top bit of h. - */ - -void -fe25519_frombytes(fe25519 h, const unsigned char *s) -{ - int64_t h0 = load_4(s); - int64_t h1 = load_3(s + 4) << 6; - int64_t h2 = load_3(s + 7) << 5; - int64_t h3 = load_3(s + 10) << 3; - int64_t h4 = load_3(s + 13) << 2; - int64_t h5 = load_4(s + 16); - int64_t h6 = load_3(s + 20) << 7; - int64_t h7 = load_3(s + 23) << 5; - int64_t h8 = load_3(s + 26) << 4; - int64_t h9 = (load_3(s + 29) & 8388607) << 2; - - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - - carry9 = (h9 + (int64_t)(1L << 24)) >> 25; - h0 += carry9 * 19; - h9 -= carry9 * ((uint64_t) 1L << 25); - carry1 = (h1 + (int64_t)(1L << 24)) >> 25; - h2 += carry1; - h1 -= carry1 * ((uint64_t) 1L << 25); - carry3 = (h3 + (int64_t)(1L << 24)) >> 25; - h4 += carry3; - h3 -= carry3 * ((uint64_t) 1L << 25); - carry5 = (h5 + (int64_t)(1L << 24)) >> 25; - h6 += carry5; - h5 -= carry5 * ((uint64_t) 1L << 25); - carry7 = (h7 + (int64_t)(1L << 24)) >> 25; - h8 += carry7; - h7 -= carry7 * ((uint64_t) 1L << 25); - - carry0 = (h0 + (int64_t)(1L << 25)) >> 26; - h1 += carry0; - h0 -= carry0 * ((uint64_t) 1L << 26); - carry2 = (h2 + (int64_t)(1L << 25)) >> 26; - h3 += carry2; - h2 -= carry2 * ((uint64_t) 1L << 26); - carry4 = (h4 + (int64_t)(1L << 25)) >> 26; - h5 += carry4; - h4 -= carry4 * ((uint64_t) 1L << 26); - carry6 = (h6 + (int64_t)(1L << 25)) >> 26; - h7 += carry6; - h6 -= carry6 * ((uint64_t) 1L << 26); - carry8 = (h8 + (int64_t)(1L << 25)) >> 26; - h9 += carry8; - h8 -= carry8 * ((uint64_t) 1L << 26); - - h[0] = (int32_t) h0; - h[1] = (int32_t) h1; - h[2] = (int32_t) h2; - h[3] = (int32_t) h3; - h[4] = (int32_t) h4; - h[5] = (int32_t) h5; - h[6] = (int32_t) h6; - h[7] = (int32_t) h7; - h[8] = (int32_t) h8; - h[9] = (int32_t) h9; -} - -/* - Preconditions: - |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - - Write p=2^255-19; q=floor(h/p). - Basic claim: q = floor(2^(-255)(h + 19 2^(-25)h9 + 2^(-1))). - - Proof: - Have |h|<=p so |q|<=1 so |19^2 2^(-255) q|<1/4. - Also have |h-2^230 h9|<2^231 so |19 2^(-255)(h-2^230 h9)|<1/4. - - Write y=2^(-1)-19^2 2^(-255)q-19 2^(-255)(h-2^230 h9). - Then 0> 25; - q = (h0 + q) >> 26; - q = (h1 + q) >> 25; - q = (h2 + q) >> 26; - q = (h3 + q) >> 25; - q = (h4 + q) >> 26; - q = (h5 + q) >> 25; - q = (h6 + q) >> 26; - q = (h7 + q) >> 25; - q = (h8 + q) >> 26; - q = (h9 + q) >> 25; - - /* Goal: Output h-(2^255-19)q, which is between 0 and 2^255-20. */ - h0 += 19 * q; - /* Goal: Output h-2^255 q, which is between 0 and 2^255-20. */ - - carry0 = h0 >> 26; - h1 += carry0; - h0 -= carry0 * ((uint32_t) 1L << 26); - carry1 = h1 >> 25; - h2 += carry1; - h1 -= carry1 * ((uint32_t) 1L << 25); - carry2 = h2 >> 26; - h3 += carry2; - h2 -= carry2 * ((uint32_t) 1L << 26); - carry3 = h3 >> 25; - h4 += carry3; - h3 -= carry3 * ((uint32_t) 1L << 25); - carry4 = h4 >> 26; - h5 += carry4; - h4 -= carry4 * ((uint32_t) 1L << 26); - carry5 = h5 >> 25; - h6 += carry5; - h5 -= carry5 * ((uint32_t) 1L << 25); - carry6 = h6 >> 26; - h7 += carry6; - h6 -= carry6 * ((uint32_t) 1L << 26); - carry7 = h7 >> 25; - h8 += carry7; - h7 -= carry7 * ((uint32_t) 1L << 25); - carry8 = h8 >> 26; - h9 += carry8; - h8 -= carry8 * ((uint32_t) 1L << 26); - carry9 = h9 >> 25; - h9 -= carry9 * ((uint32_t) 1L << 25); - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; - h[5] = h5; - h[6] = h6; - h[7] = h7; - h[8] = h8; - h[9] = h9; -} - -/* - Goal: Output h0+...+2^255 h10-2^255 q, which is between 0 and 2^255-20. - Have h0+...+2^230 h9 between 0 and 2^255-1; - evidently 2^255 h10-2^255 q = 0. - - Goal: Output h0+...+2^230 h9. - */ - -void -fe25519_tobytes(unsigned char *s, const fe25519 h) -{ - fe25519 t; - - fe25519_reduce(t, h); - s[0] = t[0] >> 0; - s[1] = t[0] >> 8; - s[2] = t[0] >> 16; - s[3] = (t[0] >> 24) | (t[1] * ((uint32_t) 1 << 2)); - s[4] = t[1] >> 6; - s[5] = t[1] >> 14; - s[6] = (t[1] >> 22) | (t[2] * ((uint32_t) 1 << 3)); - s[7] = t[2] >> 5; - s[8] = t[2] >> 13; - s[9] = (t[2] >> 21) | (t[3] * ((uint32_t) 1 << 5)); - s[10] = t[3] >> 3; - s[11] = t[3] >> 11; - s[12] = (t[3] >> 19) | (t[4] * ((uint32_t) 1 << 6)); - s[13] = t[4] >> 2; - s[14] = t[4] >> 10; - s[15] = t[4] >> 18; - s[16] = t[5] >> 0; - s[17] = t[5] >> 8; - s[18] = t[5] >> 16; - s[19] = (t[5] >> 24) | (t[6] * ((uint32_t) 1 << 1)); - s[20] = t[6] >> 7; - s[21] = t[6] >> 15; - s[22] = (t[6] >> 23) | (t[7] * ((uint32_t) 1 << 3)); - s[23] = t[7] >> 5; - s[24] = t[7] >> 13; - s[25] = (t[7] >> 21) | (t[8] * ((uint32_t) 1 << 4)); - s[26] = t[8] >> 4; - s[27] = t[8] >> 12; - s[28] = (t[8] >> 20) | (t[9] * ((uint32_t) 1 << 6)); - s[29] = t[9] >> 2; - s[30] = t[9] >> 10; - s[31] = t[9] >> 18; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h deleted file mode 100644 index 6b3b833..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h +++ /dev/null @@ -1,1344 +0,0 @@ -{ /* 0/31 */ - { - { 1288382639258501, 245678601348599, 269427782077623, 1462984067271730, 137412439391563 }, - { 62697248952638, 204681361388450, 631292143396476, 338455783676468, 1213667448819585 }, - { 301289933810280, 1259582250014073, 1422107436869536, 796239922652654, 1953934009299142 } - }, - { - { 1380971894829527, 790832306631236, 2067202295274102, 1995808275510000, 1566530869037010 }, - { 463307831301544, 432984605774163, 1610641361907204, 750899048855000, 1894842303421586 }, - { 748439484463711, 1033211726465151, 1396005112841647, 1611506220286469, 1972177495910992 } - }, - { - { 1601611775252272, 1720807796594148, 1132070835939856, 1260455018889551, 2147779492816911 }, - { 316559037616741, 2177824224946892, 1459442586438991, 1461528397712656, 751590696113597 }, - { 1850748884277385, 1200145853858453, 1068094770532492, 672251375690438, 1586055907191707 } - }, - { - { 934282339813791, 1846903124198670, 1172395437954843, 1007037127761661, 1830588347719256 }, - { 1694390458783935, 1735906047636159, 705069562067493, 648033061693059, 696214010414170 }, - { 1121406372216585, 192876649532226, 190294192191717, 1994165897297032, 2245000007398739 } - }, - { - { 769950342298419, 132954430919746, 844085933195555, 974092374476333, 726076285546016 }, - { 425251763115706, 608463272472562, 442562545713235, 837766094556764, 374555092627893 }, - { 1086255230780037, 274979815921559, 1960002765731872, 929474102396301, 1190409889297339 } - }, - { - { 1388594989461809, 316767091099457, 394298842192982, 1230079486801005, 1440737038838979 }, - { 7380825640100, 146210432690483, 304903576448906, 1198869323871120, 997689833219095 }, - { 1181317918772081, 114573476638901, 262805072233344, 265712217171332, 294181933805782 } - }, - { - { 665000864555967, 2065379846933859, 370231110385876, 350988370788628, 1233371373142985 }, - { 2019367628972465, 676711900706637, 110710997811333, 1108646842542025, 517791959672113 }, - { 965130719900578, 247011430587952, 526356006571389, 91986625355052, 2157223321444601 } - }, - { - { 2068619540119183, 1966274918058806, 957728544705549, 729906502578991, 159834893065166 }, - { 2073601412052185, 31021124762708, 264500969797082, 248034690651703, 1030252227928288 }, - { 551790716293402, 1989538725166328, 801169423371717, 2052451893578887, 678432056995012 } - } -}, -{ /* 1/31 */ - { - { 1368953770187805, 790347636712921, 437508475667162, 2142576377050580, 1932081720066286 }, - { 953638594433374, 1092333936795051, 1419774766716690, 805677984380077, 859228993502513 }, - { 1200766035879111, 20142053207432, 1465634435977050, 1645256912097844, 295121984874596 } - }, - { - { 1735718747031557, 1248237894295956, 1204753118328107, 976066523550493, 65943769534592 }, - { 1060098822528990, 1586825862073490, 212301317240126, 1975302711403555, 666724059764335 }, - { 1091990273418756, 1572899409348578, 80968014455247, 306009358661350, 1520450739132526 } - }, - { - { 1480517209436112, 1511153322193952, 1244343858991172, 304788150493241, 369136856496443 }, - { 2151330273626164, 762045184746182, 1688074332551515, 823046109005759, 907602769079491 }, - { 2047386910586836, 168470092900250, 1552838872594810, 340951180073789, 360819374702533 } - }, - { - { 1982622644432056, 2014393600336956, 128909208804214, 1617792623929191, 105294281913815 }, - { 980234343912898, 1712256739246056, 588935272190264, 204298813091998, 841798321043288 }, - { 197561292938973, 454817274782871, 1963754960082318, 2113372252160468, 971377527342673 } - }, - { - { 164699448829328, 3127451757672, 1199504971548753, 1766155447043652, 1899238924683527 }, - { 732262946680281, 1674412764227063, 2182456405662809, 1350894754474250, 558458873295247 }, - { 2103305098582922, 1960809151316468, 715134605001343, 1454892949167181, 40827143824949 } - }, - { - { 1239289043050212, 1744654158124578, 758702410031698, 1796762995074688, 1603056663766 }, - { 2232056027107988, 987343914584615, 2115594492994461, 1819598072792159, 1119305654014850 }, - { 320153677847348, 939613871605645, 641883205761567, 1930009789398224, 329165806634126 } - }, - { - { 980930490474130, 1242488692177893, 1251446316964684, 1086618677993530, 1961430968465772 }, - { 276821765317453, 1536835591188030, 1305212741412361, 61473904210175, 2051377036983058 }, - { 833449923882501, 1750270368490475, 1123347002068295, 185477424765687, 278090826653186 } - }, - { - { 794524995833413, 1849907304548286, 53348672473145, 1272368559505217, 1147304168324779 }, - { 1504846112759364, 1203096289004681, 562139421471418, 274333017451844, 1284344053775441 }, - { 483048732424432, 2116063063343382, 30120189902313, 292451576741007, 1156379271702225 } - } -}, -{ /* 2/31 */ - { - { 928372153029038, 2147692869914564, 1455665844462196, 1986737809425946, 185207050258089 }, - { 137732961814206, 706670923917341, 1387038086865771, 1965643813686352, 1384777115696347 }, - { 481144981981577, 2053319313589856, 2065402289827512, 617954271490316, 1106602634668125 } - }, - { - { 696298019648792, 893299659040895, 1148636718636009, 26734077349617, 2203955659340681 }, - { 657390353372855, 998499966885562, 991893336905797, 810470207106761, 343139804608786 }, - { 791736669492960, 934767652997115, 824656780392914, 1759463253018643, 361530362383518 } - }, - { - { 2022541353055597, 2094700262587466, 1551008075025686, 242785517418164, 695985404963562 }, - { 1287487199965223, 2215311941380308, 1552928390931986, 1664859529680196, 1125004975265243 }, - { 677434665154918, 989582503122485, 1817429540898386, 1052904935475344, 1143826298169798 } - }, - { - { 367266328308408, 318431188922404, 695629353755355, 634085657580832, 24581612564426 }, - { 773360688841258, 1815381330538070, 363773437667376, 539629987070205, 783280434248437 }, - { 180820816194166, 168937968377394, 748416242794470, 1227281252254508, 1567587861004268 } - }, - { - { 478775558583645, 2062896624554807, 699391259285399, 358099408427873, 1277310261461761 }, - { 1984740906540026, 1079164179400229, 1056021349262661, 1659958556483663, 1088529069025527 }, - { 580736401511151, 1842931091388998, 1177201471228238, 2075460256527244, 1301133425678027 } - }, - { - { 1515728832059182, 1575261009617579, 1510246567196186, 191078022609704, 116661716289141 }, - { 1295295738269652, 1714742313707026, 545583042462581, 2034411676262552, 1513248090013606 }, - { 230710545179830, 30821514358353, 760704303452229, 390668103790604, 573437871383156 } - }, - { - { 1169380107545646, 263167233745614, 2022901299054448, 819900753251120, 2023898464874585 }, - { 2102254323485823, 1570832666216754, 34696906544624, 1993213739807337, 70638552271463 }, - { 894132856735058, 548675863558441, 845349339503395, 1942269668326667, 1615682209874691 } - }, - { - { 1287670217537834, 1222355136884920, 1846481788678694, 1150426571265110, 1613523400722047 }, - { 793388516527298, 1315457083650035, 1972286999342417, 1901825953052455, 338269477222410 }, - { 550201530671806, 778605267108140, 2063911101902983, 115500557286349, 2041641272971022 } - } -}, -{ /* 3/31 */ - { - { 717255318455100, 519313764361315, 2080406977303708, 541981206705521, 774328150311600 }, - { 261715221532238, 1795354330069993, 1496878026850283, 499739720521052, 389031152673770 }, - { 1997217696294013, 1717306351628065, 1684313917746180, 1644426076011410, 1857378133465451 } - }, - { - { 1475434724792648, 76931896285979, 1116729029771667, 2002544139318042, 725547833803938 }, - { 2022306639183567, 726296063571875, 315345054448644, 1058733329149221, 1448201136060677 }, - { 1710065158525665, 1895094923036397, 123988286168546, 1145519900776355, 1607510767693874 } - }, - { - { 561605375422540, 1071733543815037, 131496498800990, 1946868434569999, 828138133964203 }, - { 1548495173745801, 442310529226540, 998072547000384, 553054358385281, 644824326376171 }, - { 1445526537029440, 2225519789662536, 914628859347385, 1064754194555068, 1660295614401091 } - }, - { - { 1199690223111956, 24028135822341, 66638289244341, 57626156285975, 565093967979607 }, - { 876926774220824, 554618976488214, 1012056309841565, 839961821554611, 1414499340307677 }, - { 703047626104145, 1266841406201770, 165556500219173, 486991595001879, 1011325891650656 } - }, - { - { 1622861044480487, 1156394801573634, 1869132565415504, 327103985777730, 2095342781472284 }, - { 334886927423922, 489511099221528, 129160865966726, 1720809113143481, 619700195649254 }, - { 1646545795166119, 1758370782583567, 714746174550637, 1472693650165135, 898994790308209 } - }, - { - { 333403773039279, 295772542452938, 1693106465353610, 912330357530760, 471235657950362 }, - { 1811196219982022, 1068969825533602, 289602974833439, 1988956043611592, 863562343398367 }, - { 906282429780072, 2108672665779781, 432396390473936, 150625823801893, 1708930497638539 } - }, - { - { 925664675702328, 21416848568684, 1831436641861340, 601157008940113, 371818055044496 }, - { 1479786007267725, 1738881859066675, 68646196476567, 2146507056100328, 1247662817535471 }, - { 52035296774456, 939969390708103, 312023458773250, 59873523517659, 1231345905848899 } - }, - { - { 643355106415761, 290186807495774, 2013561737429023, 319648069511546, 393736678496162 }, - { 129358342392716, 1932811617704777, 1176749390799681, 398040349861790, 1170779668090425 }, - { 2051980782668029, 121859921510665, 2048329875753063, 1235229850149665, 519062146124755 } - } -}, -{ /* 4/31 */ - { - { 1608170971973096, 415809060360428, 1350468408164766, 2038620059057678, 1026904485989112 }, - { 1837656083115103, 1510134048812070, 906263674192061, 1821064197805734, 565375124676301 }, - { 578027192365650, 2034800251375322, 2128954087207123, 478816193810521, 2196171989962750 } - }, - { - { 1633188840273139, 852787172373708, 1548762607215796, 1266275218902681, 1107218203325133 }, - { 462189358480054, 1784816734159228, 1611334301651368, 1303938263943540, 707589560319424 }, - { 1038829280972848, 38176604650029, 753193246598573, 1136076426528122, 595709990562434 } - }, - { - { 1408451820859834, 2194984964010833, 2198361797561729, 1061962440055713, 1645147963442934 }, - { 4701053362120, 1647641066302348, 1047553002242085, 1923635013395977, 206970314902065 }, - { 1750479161778571, 1362553355169293, 1891721260220598, 966109370862782, 1024913988299801 } - }, - { - { 212699049131723, 1117950018299775, 1873945661751056, 1403802921984058, 130896082652698 }, - { 636808533673210, 1262201711667560, 390951380330599, 1663420692697294, 561951321757406 }, - { 520731594438141, 1446301499955692, 273753264629267, 1565101517999256, 1019411827004672 } - }, - { - { 926527492029409, 1191853477411379, 734233225181171, 184038887541270, 1790426146325343 }, - { 1464651961852572, 1483737295721717, 1519450561335517, 1161429831763785, 405914998179977 }, - { 996126634382301, 796204125879525, 127517800546509, 344155944689303, 615279846169038 } - }, - { - { 738724080975276, 2188666632415296, 1961313708559162, 1506545807547587, 1151301638969740 }, - { 622917337413835, 1218989177089035, 1284857712846592, 970502061709359, 351025208117090 }, - { 2067814584765580, 1677855129927492, 2086109782475197, 235286517313238, 1416314046739645 } - }, - { - { 586844262630358, 307444381952195, 458399356043426, 602068024507062, 1028548203415243 }, - { 678489922928203, 2016657584724032, 90977383049628, 1026831907234582, 615271492942522 }, - { 301225714012278, 1094837270268560, 1202288391010439, 644352775178361, 1647055902137983 } - }, - { - { 1210746697896478, 1416608304244708, 686487477217856, 1245131191434135, 1051238336855737 }, - { 1135604073198207, 1683322080485474, 769147804376683, 2086688130589414, 900445683120379 }, - { 1971518477615628, 401909519527336, 448627091057375, 1409486868273821, 1214789035034363 } - } -}, -{ /* 5/31 */ - { - { 1364039144731711, 1897497433586190, 2203097701135459, 145461396811251, 1349844460790699 }, - { 1045230323257973, 818206601145807, 630513189076103, 1672046528998132, 807204017562437 }, - { 439961968385997, 386362664488986, 1382706320807688, 309894000125359, 2207801346498567 } - }, - { - { 1229004686397588, 920643968530863, 123975893911178, 681423993215777, 1400559197080973 }, - { 2003766096898049, 170074059235165, 1141124258967971, 1485419893480973, 1573762821028725 }, - { 729905708611432, 1270323270673202, 123353058984288, 426460209632942, 2195574535456672 } - }, - { - { 1271140255321235, 2044363183174497, 52125387634689, 1445120246694705, 942541986339084 }, - { 1761608437466135, 583360847526804, 1586706389685493, 2157056599579261, 1170692369685772 }, - { 871476219910823, 1878769545097794, 2241832391238412, 548957640601001, 690047440233174 } - }, - { - { 297194732135507, 1366347803776820, 1301185512245601, 561849853336294, 1533554921345731 }, - { 999628998628371, 1132836708493400, 2084741674517453, 469343353015612, 678782988708035 }, - { 2189427607417022, 699801937082607, 412764402319267, 1478091893643349, 2244675696854460 } - }, - { - { 1712292055966563, 204413590624874, 1405738637332841, 408981300829763, 861082219276721 }, - { 508561155940631, 966928475686665, 2236717801150132, 424543858577297, 2089272956986143 }, - { 221245220129925, 1156020201681217, 491145634799213, 542422431960839, 828100817819207 } - }, - { - { 153756971240384, 1299874139923977, 393099165260502, 1058234455773022, 996989038681183 }, - { 559086812798481, 573177704212711, 1629737083816402, 1399819713462595, 1646954378266038 }, - { 1887963056288059, 228507035730124, 1468368348640282, 930557653420194, 613513962454686 } - }, - { - { 1224529808187553, 1577022856702685, 2206946542980843, 625883007765001, 279930793512158 }, - { 1076287717051609, 1114455570543035, 187297059715481, 250446884292121, 1885187512550540 }, - { 902497362940219, 76749815795675, 1657927525633846, 1420238379745202, 1340321636548352 } - }, - { - { 1129576631190784, 1281994010027327, 996844254743018, 257876363489249, 1150850742055018 }, - { 628740660038789, 1943038498527841, 467786347793886, 1093341428303375, 235413859513003 }, - { 237425418909360, 469614029179605, 1512389769174935, 1241726368345357, 441602891065214 } - } -}, -{ /* 6/31 */ - { - { 1736417953058555, 726531315520508, 1833335034432527, 1629442561574747, 624418919286085 }, - { 1960754663920689, 497040957888962, 1909832851283095, 1271432136996826, 2219780368020940 }, - { 1537037379417136, 1358865369268262, 2130838645654099, 828733687040705, 1999987652890901 } - }, - { - { 629042105241814, 1098854999137608, 887281544569320, 1423102019874777, 7911258951561 }, - { 1811562332665373, 1501882019007673, 2213763501088999, 359573079719636, 36370565049116 }, - { 218907117361280, 1209298913016966, 1944312619096112, 1130690631451061, 1342327389191701 } - }, - { - { 1369976867854704, 1396479602419169, 1765656654398856, 2203659200586299, 998327836117241 }, - { 2230701885562825, 1348173180338974, 2172856128624598, 1426538746123771, 444193481326151 }, - { 784210426627951, 918204562375674, 1284546780452985, 1324534636134684, 1872449409642708 } - }, - { - { 319638829540294, 596282656808406, 2037902696412608, 1557219121643918, 341938082688094 }, - { 1901860206695915, 2004489122065736, 1625847061568236, 973529743399879, 2075287685312905 }, - { 1371853944110545, 1042332820512553, 1949855697918254, 1791195775521505, 37487364849293 } - }, - { - { 687200189577855, 1082536651125675, 644224940871546, 340923196057951, 343581346747396 }, - { 2082717129583892, 27829425539422, 145655066671970, 1690527209845512, 1865260509673478 }, - { 1059729620568824, 2163709103470266, 1440302280256872, 1769143160546397, 869830310425069 } - }, - { - { 1609516219779025, 777277757338817, 2101121130363987, 550762194946473, 1905542338659364 }, - { 2024821921041576, 426948675450149, 595133284085473, 471860860885970, 600321679413000 }, - { 598474602406721, 1468128276358244, 1191923149557635, 1501376424093216, 1281662691293476 } - }, - { - { 1721138489890707, 1264336102277790, 433064545421287, 1359988423149466, 1561871293409447 }, - { 719520245587143, 393380711632345, 132350400863381, 1543271270810729, 1819543295798660 }, - { 396397949784152, 1811354474471839, 1362679985304303, 2117033964846756, 498041172552279 } - }, - { - { 1812471844975748, 1856491995543149, 126579494584102, 1036244859282620, 1975108050082550 }, - { 650623932407995, 1137551288410575, 2125223403615539, 1725658013221271, 2134892965117796 }, - { 522584000310195, 1241762481390450, 1743702789495384, 2227404127826575, 1686746002148897 } - } -}, -{ /* 7/31 */ - { - { 427904865186312, 1703211129693455, 1585368107547509, 1436984488744336, 761188534613978 }, - { 318101947455002, 248138407995851, 1481904195303927, 309278454311197, 1258516760217879 }, - { 1275068538599310, 513726919533379, 349926553492294, 688428871968420, 1702400196000666 } - }, - { - { 1061864036265233, 961611260325381, 321859632700838, 1045600629959517, 1985130202504038 }, - { 1558816436882417, 1962896332636523, 1337709822062152, 1501413830776938, 294436165831932 }, - { 818359826554971, 1862173000996177, 626821592884859, 573655738872376, 1749691246745455 } - }, - { - { 1988022651432119, 1082111498586040, 1834020786104821, 1454826876423687, 692929915223122 }, - { 2146513703733331, 584788900394667, 464965657279958, 2183973639356127, 238371159456790 }, - { 1129007025494441, 2197883144413266, 265142755578169, 971864464758890, 1983715884903702 } - }, - { - { 1291366624493075, 381456718189114, 1711482489312444, 1815233647702022, 892279782992467 }, - { 444548969917454, 1452286453853356, 2113731441506810, 645188273895859, 810317625309512 }, - { 2242724082797924, 1373354730327868, 1006520110883049, 2147330369940688, 1151816104883620 } - }, - { - { 1745720200383796, 1911723143175317, 2056329390702074, 355227174309849, 879232794371100 }, - { 163723479936298, 115424889803150, 1156016391581227, 1894942220753364, 1970549419986329 }, - { 681981452362484, 267208874112496, 1374683991933094, 638600984916117, 646178654558546 } - }, - { - { 13378654854251, 106237307029567, 1944412051589651, 1841976767925457, 230702819835573 }, - { 260683893467075, 854060306077237, 913639551980112, 4704576840123, 280254810808712 }, - { 715374893080287, 1173334812210491, 1806524662079626, 1894596008000979, 398905715033393 } - }, - { - { 500026409727661, 1596431288195371, 1420380351989370, 985211561521489, 392444930785633 }, - { 2096421546958141, 1922523000950363, 789831022876840, 427295144688779, 320923973161730 }, - { 1927770723575450, 1485792977512719, 1850996108474547, 551696031508956, 2126047405475647 } - }, - { - { 2112099158080148, 742570803909715, 6484558077432, 1951119898618916, 93090382703416 }, - { 383905201636970, 859946997631870, 855623867637644, 1017125780577795, 794250831877809 }, - { 77571826285752, 999304298101753, 487841111777762, 1038031143212339, 339066367948762 } - } -}, -{ /* 8/31 */ - { - { 674994775520533, 266035846330789, 826951213393478, 1405007746162285, 1781791018620876 }, - { 1001412661522686, 348196197067298, 1666614366723946, 888424995032760, 580747687801357 }, - { 1939560076207777, 1409892634407635, 552574736069277, 383854338280405, 190706709864139 } - }, - { - { 2177087163428741, 1439255351721944, 1208070840382793, 2230616362004769, 1396886392021913 }, - { 676962063230039, 1880275537148808, 2046721011602706, 888463247083003, 1318301552024067 }, - { 1466980508178206, 617045217998949, 652303580573628, 757303753529064, 207583137376902 } - }, - { - { 1511056752906902, 105403126891277, 493434892772846, 1091943425335976, 1802717338077427 }, - { 1853982405405128, 1878664056251147, 1528011020803992, 1019626468153565, 1128438412189035 }, - { 1963939888391106, 293456433791664, 697897559513649, 985882796904380, 796244541237972 } - }, - { - { 416770998629779, 389655552427054, 1314476859406756, 1749382513022778, 1161905598739491 }, - { 1428358296490651, 1027115282420478, 304840698058337, 441410174026628, 1819358356278573 }, - { 204943430200135, 1554861433819175, 216426658514651, 264149070665950, 2047097371738319 } - }, - { - { 1934415182909034, 1393285083565062, 516409331772960, 1157690734993892, 121039666594268 }, - { 662035583584445, 286736105093098, 1131773000510616, 818494214211439, 472943792054479 }, - { 665784778135882, 1893179629898606, 808313193813106, 276797254706413, 1563426179676396 } - }, - { - { 945205108984232, 526277562959295, 1324180513733566, 1666970227868664, 153547609289173 }, - { 2031433403516252, 203996615228162, 170487168837083, 981513604791390, 843573964916831 }, - { 1476570093962618, 838514669399805, 1857930577281364, 2017007352225784, 317085545220047 } - }, - { - { 1461557121912842, 1600674043318359, 2157134900399597, 1670641601940616, 127765583803283 }, - { 1293543509393474, 2143624609202546, 1058361566797508, 214097127393994, 946888515472729 }, - { 357067959932916, 1290876214345711, 521245575443703, 1494975468601005, 800942377643885 } - }, - { - { 566116659100033, 820247422481740, 994464017954148, 327157611686365, 92591318111744 }, - { 617256647603209, 1652107761099439, 1857213046645471, 1085597175214970, 817432759830522 }, - { 771808161440705, 1323510426395069, 680497615846440, 851580615547985, 1320806384849017 } - } -}, -{ /* 9/31 */ - { - { 1219260086131915, 647169006596815, 79601124759706, 2161724213426748, 404861897060198 }, - { 1327968293887866, 1335500852943256, 1401587164534264, 558137311952440, 1551360549268902 }, - { 417621685193956, 1429953819744454, 396157358457099, 1940470778873255, 214000046234152 } - }, - { - { 1268047918491973, 2172375426948536, 1533916099229249, 1761293575457130, 1590622667026765 }, - { 1627072914981959, 2211603081280073, 1912369601616504, 1191770436221309, 2187309757525860 }, - { 1149147819689533, 378692712667677, 828475842424202, 2218619146419342, 70688125792186 } - }, - { - { 1299739417079761, 1438616663452759, 1536729078504412, 2053896748919838, 1008421032591246 }, - { 2040723824657366, 399555637875075, 632543375452995, 872649937008051, 1235394727030233 }, - { 2211311599327900, 2139787259888175, 938706616835350, 12609661139114, 2081897930719789 } - }, - { - { 1324994503390450, 336982330582631, 1183998925654177, 1091654665913274, 48727673971319 }, - { 1845522914617879, 1222198248335542, 150841072760134, 1927029069940982, 1189913404498011 }, - { 1079559557592645, 2215338383666441, 1903569501302605, 49033973033940, 305703433934152 } - }, - { - { 94653405416909, 1386121349852999, 1062130477891762, 36553947479274, 833669648948846 }, - { 1432015813136298, 440364795295369, 1395647062821501, 1976874522764578, 934452372723352 }, - { 1296625309219774, 2068273464883862, 1858621048097805, 1492281814208508, 2235868981918946 } - }, - { - { 1490330266465570, 1858795661361448, 1436241134969763, 294573218899647, 1208140011028933 }, - { 1282462923712748, 741885683986255, 2027754642827561, 518989529541027, 1826610009555945 }, - { 1525827120027511, 723686461809551, 1597702369236987, 244802101764964, 1502833890372311 } - }, - { - { 113622036244513, 1233740067745854, 674109952278496, 2114345180342965, 166764512856263 }, - { 2041668749310338, 2184405322203901, 1633400637611036, 2110682505536899, 2048144390084644 }, - { 503058759232932, 760293024620937, 2027152777219493, 666858468148475, 1539184379870952 } - }, - { - { 1916168475367211, 915626432541343, 883217071712575, 363427871374304, 1976029821251593 }, - { 678039535434506, 570587290189340, 1605302676614120, 2147762562875701, 1706063797091704 }, - { 1439489648586438, 2194580753290951, 832380563557396, 561521973970522, 584497280718389 } - } -}, -{ /* 10/31 */ - { - { 187989455492609, 681223515948275, 1933493571072456, 1872921007304880, 488162364135671 }, - { 1413466089534451, 410844090765630, 1397263346404072, 408227143123410, 1594561803147811 }, - { 2102170800973153, 719462588665004, 1479649438510153, 1097529543970028, 1302363283777685 } - }, - { - { 942065717847195, 1069313679352961, 2007341951411051, 70973416446291, 1419433790163706 }, - { 1146565545556377, 1661971299445212, 406681704748893, 564452436406089, 1109109865829139 }, - { 2214421081775077, 1165671861210569, 1890453018796184, 3556249878661, 442116172656317 } - }, - { - { 753830546620811, 1666955059895019, 1530775289309243, 1119987029104146, 2164156153857580 }, - { 615171919212796, 1523849404854568, 854560460547503, 2067097370290715, 1765325848586042 }, - { 1094538949313667, 1796592198908825, 870221004284388, 2025558921863561, 1699010892802384 } - }, - { - { 1951351290725195, 1916457206844795, 198025184438026, 1909076887557595, 1938542290318919 }, - { 1014323197538413, 869150639940606, 1756009942696599, 1334952557375672, 1544945379082874 }, - { 764055910920305, 1603590757375439, 146805246592357, 1843313433854297, 954279890114939 } - }, - { - { 80113526615750, 764536758732259, 1055139345100233, 469252651759390, 617897512431515 }, - { 74497112547268, 740094153192149, 1745254631717581, 727713886503130, 1283034364416928 }, - { 525892105991110, 1723776830270342, 1476444848991936, 573789489857760, 133864092632978 } - }, - { - { 542611720192581, 1986812262899321, 1162535242465837, 481498966143464, 544600533583622 }, - { 64123227344372, 1239927720647794, 1360722983445904, 222610813654661, 62429487187991 }, - { 1793193323953132, 91096687857833, 70945970938921, 2158587638946380, 1537042406482111 } - }, - { - { 1895854577604609, 1394895708949416, 1728548428495944, 1140864900240149, 563645333603061 }, - { 141358280486863, 91435889572504, 1087208572552643, 1829599652522921, 1193307020643647 }, - { 1611230858525381, 950720175540785, 499589887488610, 2001656988495019, 88977313255908 } - }, - { - { 1189080501479658, 2184348804772597, 1040818725742319, 2018318290311834, 1712060030915354 }, - { 873966876953756, 1090638350350440, 1708559325189137, 672344594801910, 1320437969700239 }, - { 1508590048271766, 1131769479776094, 101550868699323, 428297785557897, 561791648661744 } - } -}, -{ /* 11/31 */ - { - { 756417570499462, 237882279232602, 2136263418594016, 1701968045454886, 703713185137472 }, - { 1781187809325462, 1697624151492346, 1381393690939988, 175194132284669, 1483054666415238 }, - { 2175517777364616, 708781536456029, 955668231122942, 1967557500069555, 2021208005604118 } - }, - { - { 1115135966606887, 224217372950782, 915967306279222, 593866251291540, 561747094208006 }, - { 1443163092879439, 391875531646162, 2180847134654632, 464538543018753, 1594098196837178 }, - { 850858855888869, 319436476624586, 327807784938441, 740785849558761, 17128415486016 } - }, - { - { 2132756334090067, 536247820155645, 48907151276867, 608473197600695, 1261689545022784 }, - { 1525176236978354, 974205476721062, 293436255662638, 148269621098039, 137961998433963 }, - { 1121075518299410, 2071745529082111, 1265567917414828, 1648196578317805, 496232102750820 } - }, - { - { 122321229299801, 1022922077493685, 2001275453369484, 2017441881607947, 993205880778002 }, - { 654925550560074, 1168810995576858, 575655959430926, 905758704861388, 496774564663534 }, - { 1954109525779738, 2117022646152485, 338102630417180, 1194140505732026, 107881734943492 } - }, - { - { 1714785840001267, 2036500018681589, 1876380234251966, 2056717182974196, 1645855254384642 }, - { 106431476499341, 62482972120563, 1513446655109411, 807258751769522, 538491469114 }, - { 2002850762893643, 1243624520538135, 1486040410574605, 2184752338181213, 378495998083531 } - }, - { - { 922510868424903, 1089502620807680, 402544072617374, 1131446598479839, 1290278588136533 }, - { 1867998812076769, 715425053580701, 39968586461416, 2173068014586163, 653822651801304 }, - { 162892278589453, 182585796682149, 75093073137630, 497037941226502, 133871727117371 } - }, - { - { 1914596576579670, 1608999621851578, 1987629837704609, 1519655314857977, 1819193753409464 }, - { 1949315551096831, 1069003344994464, 1939165033499916, 1548227205730856, 1933767655861407 }, - { 1730519386931635, 1393284965610134, 1597143735726030, 416032382447158, 1429665248828629 } - }, - { - { 360275475604565, 547835731063078, 215360904187529, 596646739879007, 332709650425085 }, - { 47602113726801, 1522314509708010, 437706261372925, 814035330438027, 335930650933545 }, - { 1291597595523886, 1058020588994081, 402837842324045, 1363323695882781, 2105763393033193 } - } -}, -{ /* 12/31 */ - { - { 109521982566564, 1715257748585139, 1112231216891516, 2046641005101484, 134249157157013 }, - { 2156991030936798, 2227544497153325, 1869050094431622, 754875860479115, 1754242344267058 }, - { 1846089562873800, 98894784984326, 1412430299204844, 171351226625762, 1100604760929008 } - }, - { - { 84172382130492, 499710970700046, 425749630620778, 1762872794206857, 612842602127960 }, - { 868309334532756, 1703010512741873, 1952690008738057, 4325269926064, 2071083554962116 }, - { 523094549451158, 401938899487815, 1407690589076010, 2022387426254453, 158660516411257 } - }, - { - { 612867287630009, 448212612103814, 571629077419196, 1466796750919376, 1728478129663858 }, - { 1723848973783452, 2208822520534681, 1718748322776940, 1974268454121942, 1194212502258141 }, - { 1254114807944608, 977770684047110, 2010756238954993, 1783628927194099, 1525962994408256 } - }, - { - { 232464058235826, 1948628555342434, 1835348780427694, 1031609499437291, 64472106918373 }, - { 767338676040683, 754089548318405, 1523192045639075, 435746025122062, 512692508440385 }, - { 1255955808701983, 1700487367990941, 1166401238800299, 1175121994891534, 1190934801395380 } - }, - { - { 349144008168292, 1337012557669162, 1475912332999108, 1321618454900458, 47611291904320 }, - { 877519947135419, 2172838026132651, 272304391224129, 1655143327559984, 886229406429814 }, - { 375806028254706, 214463229793940, 572906353144089, 572168269875638, 697556386112979 } - }, - { - { 1168827102357844, 823864273033637, 2071538752104697, 788062026895924, 599578340743362 }, - { 1948116082078088, 2054898304487796, 2204939184983900, 210526805152138, 786593586607626 }, - { 1915320147894736, 156481169009469, 655050471180417, 592917090415421, 2165897438660879 } - }, - { - { 1726336468579724, 1119932070398949, 1929199510967666, 33918788322959, 1836837863503150 }, - { 829996854845988, 217061778005138, 1686565909803640, 1346948817219846, 1723823550730181 }, - { 384301494966394, 687038900403062, 2211195391021739, 254684538421383, 1245698430589680 } - }, - { - { 1247567493562688, 1978182094455847, 183871474792955, 806570235643435, 288461518067916 }, - { 1449077384734201, 38285445457996, 2136537659177832, 2146493000841573, 725161151123125 }, - { 1201928866368855, 800415690605445, 1703146756828343, 997278587541744, 1858284414104014 } - } -}, -{ /* 13/31 */ - { - { 356468809648877, 782373916933152, 1718002439402870, 1392222252219254, 663171266061951 }, - { 759628738230460, 1012693474275852, 353780233086498, 246080061387552, 2030378857679162 }, - { 2040672435071076, 888593182036908, 1298443657189359, 1804780278521327, 354070726137060 } - }, - { - { 1894938527423184, 1463213041477277, 474410505497651, 247294963033299, 877975941029128 }, - { 207937160991127, 12966911039119, 820997788283092, 1010440472205286, 1701372890140810 }, - { 218882774543183, 533427444716285, 1233243976733245, 435054256891319, 1509568989549904 } - }, - { - { 1888838535711826, 1052177758340622, 1213553803324135, 169182009127332, 463374268115872 }, - { 299137589460312, 1594371588983567, 868058494039073, 257771590636681, 1805012993142921 }, - { 1806842755664364, 2098896946025095, 1356630998422878, 1458279806348064, 347755825962072 } - }, - { - { 1402334161391744, 1560083671046299, 1008585416617747, 1147797150908892, 1420416683642459 }, - { 665506704253369, 273770475169863, 799236974202630, 848328990077558, 1811448782807931 }, - { 1468412523962641, 771866649897997, 1931766110147832, 799561180078482, 524837559150077 } - }, - { - { 2223212657821850, 630416247363666, 2144451165500328, 816911130947791, 1024351058410032 }, - { 1266603897524861, 156378408858100, 1275649024228779, 447738405888420, 253186462063095 }, - { 2022215964509735, 136144366993649, 1800716593296582, 1193970603800203, 871675847064218 } - }, - { - { 1862751661970328, 851596246739884, 1519315554814041, 1542798466547449, 1417975335901520 }, - { 1228168094547481, 334133883362894, 587567568420081, 433612590281181, 603390400373205 }, - { 121893973206505, 1843345804916664, 1703118377384911, 497810164760654, 101150811654673 } - }, - { - { 458346255946468, 290909935619344, 1452768413850679, 550922875254215, 1537286854336538 }, - { 584322311184395, 380661238802118, 114839394528060, 655082270500073, 2111856026034852 }, - { 996965581008991, 2148998626477022, 1012273164934654, 1073876063914522, 1688031788934939 } - }, - { - { 923487018849600, 2085106799623355, 528082801620136, 1606206360876188, 735907091712524 }, - { 1697697887804317, 1335343703828273, 831288615207040, 949416685250051, 288760277392022 }, - { 1419122478109648, 1325574567803701, 602393874111094, 2107893372601700, 1314159682671307 } - } -}, -{ /* 14/31 */ - { - { 2201150872731804, 2180241023425241, 97663456423163, 1633405770247824, 848945042443986 }, - { 1173339555550611, 818605084277583, 47521504364289, 924108720564965, 735423405754506 }, - { 830104860549448, 1886653193241086, 1600929509383773, 1475051275443631, 286679780900937 } - }, - { - { 1577111294832995, 1030899169768747, 144900916293530, 1964672592979567, 568390100955250 }, - { 278388655910247, 487143369099838, 927762205508727, 181017540174210, 1616886700741287 }, - { 1191033906638969, 940823957346562, 1606870843663445, 861684761499847, 658674867251089 } - }, - { - { 1875032594195546, 1427106132796197, 724736390962158, 901860512044740, 635268497268760 }, - { 622869792298357, 1903919278950367, 1922588621661629, 1520574711600434, 1087100760174640 }, - { 25465949416618, 1693639527318811, 1526153382657203, 125943137857169, 145276964043999 } - }, - { - { 214739857969358, 920212862967915, 1939901550972269, 1211862791775221, 85097515720120 }, - { 2006245852772938, 734762734836159, 254642929763427, 1406213292755966, 239303749517686 }, - { 1619678837192149, 1919424032779215, 1357391272956794, 1525634040073113, 1310226789796241 } - }, - { - { 1040763709762123, 1704449869235352, 605263070456329, 1998838089036355, 1312142911487502 }, - { 1996723311435669, 1844342766567060, 985455700466044, 1165924681400960, 311508689870129 }, - { 43173156290518, 2202883069785309, 1137787467085917, 1733636061944606, 1394992037553852 } - }, - { - { 670078326344559, 555655025059356, 471959386282438, 2141455487356409, 849015953823125 }, - { 2197214573372804, 794254097241315, 1030190060513737, 267632515541902, 2040478049202624 }, - { 1812516004670529, 1609256702920783, 1706897079364493, 258549904773295, 996051247540686 } - }, - { - { 1540374301420584, 1764656898914615, 1810104162020396, 923808779163088, 664390074196579 }, - { 1323460699404750, 1262690757880991, 871777133477900, 1060078894988977, 1712236889662886 }, - { 1696163952057966, 1391710137550823, 608793846867416, 1034391509472039, 1780770894075012 } - }, - { - { 1367603834210841, 2131988646583224, 890353773628144, 1908908219165595, 270836895252891 }, - { 597536315471731, 40375058742586, 1942256403956049, 1185484645495932, 312666282024145 }, - { 1919411405316294, 1234508526402192, 1066863051997083, 1008444703737597, 1348810787701552 } - } -}, -{ /* 15/31 */ - { - { 2102881477513865, 1570274565945361, 1573617900503708, 18662635732583, 2232324307922098 }, - { 1853931367696942, 8107973870707, 350214504129299, 775206934582587, 1752317649166792 }, - { 1417148368003523, 721357181628282, 505725498207811, 373232277872983, 261634707184480 } - }, - { - { 2186733281493267, 2250694917008620, 1014829812957440, 479998161452389, 83566193876474 }, - { 1268116367301224, 560157088142809, 802626839600444, 2210189936605713, 1129993785579988 }, - { 615183387352312, 917611676109240, 878893615973325, 978940963313282, 938686890583575 } - }, - { - { 522024729211672, 1045059315315808, 1892245413707790, 1907891107684253, 2059998109500714 }, - { 1799679152208884, 912132775900387, 25967768040979, 432130448590461, 274568990261996 }, - { 98698809797682, 2144627600856209, 1907959298569602, 811491302610148, 1262481774981493 } - }, - { - { 1791451399743152, 1713538728337276, 118349997257490, 1882306388849954, 158235232210248 }, - { 1217809823321928, 2173947284933160, 1986927836272325, 1388114931125539, 12686131160169 }, - { 1650875518872272, 1136263858253897, 1732115601395988, 734312880662190, 1252904681142109 } - }, - { - { 372986456113865, 525430915458171, 2116279931702135, 501422713587815, 1907002872974925 }, - { 803147181835288, 868941437997146, 316299302989663, 943495589630550, 571224287904572 }, - { 227742695588364, 1776969298667369, 628602552821802, 457210915378118, 2041906378111140 } - }, - { - { 815000523470260, 913085688728307, 1052060118271173, 1345536665214223, 541623413135555 }, - { 1580216071604333, 1877997504342444, 857147161260913, 703522726778478, 2182763974211603 }, - { 1870080310923419, 71988220958492, 1783225432016732, 615915287105016, 1035570475990230 } - }, - { - { 730987750830150, 857613889540280, 1083813157271766, 1002817255970169, 1719228484436074 }, - { 377616581647602, 1581980403078513, 804044118130621, 2034382823044191, 643844048472185 }, - { 176957326463017, 1573744060478586, 528642225008045, 1816109618372371, 1515140189765006 } - }, - { - { 1888911448245718, 1387110895611080, 1924503794066429, 1731539523700949, 2230378382645454 }, - { 443392177002051, 233793396845137, 2199506622312416, 1011858706515937, 974676837063129 }, - { 1846351103143623, 1949984838808427, 671247021915253, 1946756846184401, 1929296930380217 } - } -}, -{ /* 16/31 */ - { - { 849646212452002, 1410198775302919, 73767886183695, 1641663456615812, 762256272452411 }, - { 692017667358279, 723305578826727, 1638042139863265, 748219305990306, 334589200523901 }, - { 22893968530686, 2235758574399251, 1661465835630252, 925707319443452, 1203475116966621 } - }, - { - { 801299035785166, 1733292596726131, 1664508947088596, 467749120991922, 1647498584535623 }, - { 903105258014366, 427141894933047, 561187017169777, 1884330244401954, 1914145708422219 }, - { 1344191060517578, 1960935031767890, 1518838929955259, 1781502350597190, 1564784025565682 } - }, - { - { 673723351748086, 1979969272514923, 1175287312495508, 1187589090978666, 1881897672213940 }, - { 1917185587363432, 1098342571752737, 5935801044414, 2000527662351839, 1538640296181569 }, - { 2495540013192, 678856913479236, 224998292422872, 219635787698590, 1972465269000940 } - }, - { - { 271413961212179, 1353052061471651, 344711291283483, 2014925838520662, 2006221033113941 }, - { 194583029968109, 514316781467765, 829677956235672, 1676415686873082, 810104584395840 }, - { 1980510813313589, 1948645276483975, 152063780665900, 129968026417582, 256984195613935 } - }, - { - { 1860190562533102, 1936576191345085, 461100292705964, 1811043097042830, 957486749306835 }, - { 796664815624365, 1543160838872951, 1500897791837765, 1667315977988401, 599303877030711 }, - { 1151480509533204, 2136010406720455, 738796060240027, 319298003765044, 1150614464349587 } - }, - { - { 1731069268103150, 735642447616087, 1364750481334268, 417232839982871, 927108269127661 }, - { 1017222050227968, 1987716148359, 2234319589635701, 621282683093392, 2132553131763026 }, - { 1567828528453324, 1017807205202360, 565295260895298, 829541698429100, 307243822276582 } - }, - { - { 249079270936248, 1501514259790706, 947909724204848, 944551802437487, 552658763982480 }, - { 2089966982947227, 1854140343916181, 2151980759220007, 2139781292261749, 158070445864917 }, - { 1338766321464554, 1906702607371284, 1519569445519894, 115384726262267, 1393058953390992 } - }, - { - { 1364621558265400, 1512388234908357, 1926731583198686, 2041482526432505, 920401122333774 }, - { 1884844597333588, 601480070269079, 620203503079537, 1079527400117915, 1202076693132015 }, - { 840922919763324, 727955812569642, 1303406629750194, 522898432152867, 294161410441865 } - } -}, -{ /* 17/31 */ - { - { 353760790835310, 1598361541848743, 1122905698202299, 1922533590158905, 419107700666580 }, - { 359856369838236, 180914355488683, 861726472646627, 218807937262986, 575626773232501 }, - { 755467689082474, 909202735047934, 730078068932500, 936309075711518, 2007798262842972 } - }, - { - { 1609384177904073, 362745185608627, 1335318541768201, 800965770436248, 547877979267412 }, - { 984339177776787, 815727786505884, 1645154585713747, 1659074964378553, 1686601651984156 }, - { 1697863093781930, 599794399429786, 1104556219769607, 830560774794755, 12812858601017 } - }, - { - { 1168737550514982, 897832437380552, 463140296333799, 302564600022547, 2008360505135501 }, - { 1856930662813910, 678090852002597, 1920179140755167, 1259527833759868, 55540971895511 }, - { 1158643631044921, 476554103621892, 178447851439725, 1305025542653569, 103433927680625 } - }, - { - { 2176793111709008, 1576725716350391, 2009350167273523, 2012390194631546, 2125297410909580 }, - { 825403285195098, 2144208587560784, 1925552004644643, 1915177840006985, 1015952128947864 }, - { 1807108316634472, 1534392066433717, 347342975407218, 1153820745616376, 7375003497471 } - }, - { - { 983061001799725, 431211889901241, 2201903782961093, 817393911064341, 2214616493042167 }, - { 228567918409756, 865093958780220, 358083886450556, 159617889659320, 1360637926292598 }, - { 234147501399755, 2229469128637390, 2175289352258889, 1397401514549353, 1885288963089922 } - }, - { - { 1111762412951562, 252849572507389, 1048714233823341, 146111095601446, 1237505378776770 }, - { 1113790697840279, 1051167139966244, 1045930658550944, 2011366241542643, 1686166824620755 }, - { 1054097349305049, 1872495070333352, 182121071220717, 1064378906787311, 100273572924182 } - }, - { - { 1306410853171605, 1627717417672447, 50983221088417, 1109249951172250, 870201789081392 }, - { 104233794644221, 1548919791188248, 2224541913267306, 2054909377116478, 1043803389015153 }, - { 216762189468802, 707284285441622, 190678557969733, 973969342604308, 1403009538434867 } - }, - { - { 1279024291038477, 344776835218310, 273722096017199, 1834200436811442, 634517197663804 }, - { 343805853118335, 1302216857414201, 566872543223541, 2051138939539004, 321428858384280 }, - { 470067171324852, 1618629234173951, 2000092177515639, 7307679772789, 1117521120249968 } - } -}, -{ /* 18/31 */ - { - { 278151578291475, 1810282338562947, 1771599529530998, 1383659409671631, 685373414471841 }, - { 577009397403102, 1791440261786291, 2177643735971638, 174546149911960, 1412505077782326 }, - { 893719721537457, 1201282458018197, 1522349501711173, 58011597740583, 1130406465887139 } - }, - { - { 412607348255453, 1280455764199780, 2233277987330768, 14180080401665, 331584698417165 }, - { 262483770854550, 990511055108216, 526885552771698, 571664396646158, 354086190278723 }, - { 1820352417585487, 24495617171480, 1547899057533253, 10041836186225, 480457105094042 } - }, - { - { 2023310314989233, 637905337525881, 2106474638900687, 557820711084072, 1687858215057826 }, - { 1144168702609745, 604444390410187, 1544541121756138, 1925315550126027, 626401428894002 }, - { 1922168257351784, 2018674099908659, 1776454117494445, 956539191509034, 36031129147635 } - }, - { - { 544644538748041, 1039872944430374, 876750409130610, 710657711326551, 1216952687484972 }, - { 58242421545916, 2035812695641843, 2118491866122923, 1191684463816273, 46921517454099 }, - { 272268252444639, 1374166457774292, 2230115177009552, 1053149803909880, 1354288411641016 } - }, - { - { 1857910905368338, 1754729879288912, 885945464109877, 1516096106802166, 1602902393369811 }, - { 1193437069800958, 901107149704790, 999672920611411, 477584824802207, 364239578697845 }, - { 886299989548838, 1538292895758047, 1590564179491896, 1944527126709657, 837344427345298 } - }, - { - { 754558365378305, 1712186480903618, 1703656826337531, 750310918489786, 518996040250900 }, - { 1309847803895382, 1462151862813074, 211370866671570, 1544595152703681, 1027691798954090 }, - { 803217563745370, 1884799722343599, 1357706345069218, 2244955901722095, 730869460037413 } - }, - { - { 689299471295966, 1831210565161071, 1375187341585438, 1106284977546171, 1893781834054269 }, - { 696351368613042, 1494385251239250, 738037133616932, 636385507851544, 927483222611406 }, - { 1949114198209333, 1104419699537997, 783495707664463, 1747473107602770, 2002634765788641 } - }, - { - { 1607325776830197, 530883941415333, 1451089452727895, 1581691157083423, 496100432831154 }, - { 1068900648804224, 2006891997072550, 1134049269345549, 1638760646180091, 2055396084625778 }, - { 2222475519314561, 1870703901472013, 1884051508440561, 1344072275216753, 1318025677799069 } - } -}, -{ /* 19/31 */ - { - { 155711679280656, 681100400509288, 389811735211209, 2135723811340709, 408733211204125 }, - { 7813206966729, 194444201427550, 2071405409526507, 1065605076176312, 1645486789731291 }, - { 16625790644959, 1647648827778410, 1579910185572704, 436452271048548, 121070048451050 } - }, - { - { 1037263028552531, 568385780377829, 297953104144430, 1558584511931211, 2238221839292471 }, - { 190565267697443, 672855706028058, 338796554369226, 337687268493904, 853246848691734 }, - { 1763863028400139, 766498079432444, 1321118624818005, 69494294452268, 858786744165651 } - }, - { - { 1292056768563024, 1456632109855638, 1100631247050184, 1386133165675321, 1232898350193752 }, - { 366253102478259, 525676242508811, 1449610995265438, 1183300845322183, 185960306491545 }, - { 28315355815982, 460422265558930, 1799675876678724, 1969256312504498, 1051823843138725 } - }, - { - { 156914999361983, 1606148405719949, 1665208410108430, 317643278692271, 1383783705665320 }, - { 54684536365732, 2210010038536222, 1194984798155308, 535239027773705, 1516355079301361 }, - { 1484387703771650, 198537510937949, 2186282186359116, 617687444857508, 647477376402122 } - }, - { - { 2147715541830533, 500032538445817, 646380016884826, 352227855331122, 1488268620408052 }, - { 159386186465542, 1877626593362941, 618737197060512, 1026674284330807, 1158121760792685 }, - { 1744544377739822, 1964054180355661, 1685781755873170, 2169740670377448, 1286112621104591 } - }, - { - { 81977249784993, 1667943117713086, 1668983819634866, 1605016835177615, 1353960708075544 }, - { 1602253788689063, 439542044889886, 2220348297664483, 657877410752869, 157451572512238 }, - { 1029287186166717, 65860128430192, 525298368814832, 1491902500801986, 1461064796385400 } - }, - { - { 408216988729246, 2121095722306989, 913562102267595, 1879708920318308, 241061448436731 }, - { 1185483484383269, 1356339572588553, 584932367316448, 102132779946470, 1792922621116791 }, - { 1966196870701923, 2230044620318636, 1425982460745905, 261167817826569, 46517743394330 } - }, - { - { 107077591595359, 884959942172345, 27306869797400, 2224911448949390, 964352058245223 }, - { 1730194207717538, 431790042319772, 1831515233279467, 1372080552768581, 1074513929381760 }, - { 1450880638731607, 1019861580989005, 1229729455116861, 1174945729836143, 826083146840706 } - } -}, -{ /* 20/31 */ - { - { 1899935429242705, 1602068751520477, 940583196550370, 82431069053859, 1540863155745696 }, - { 2136688454840028, 2099509000964294, 1690800495246475, 1217643678575476, 828720645084218 }, - { 765548025667841, 462473984016099, 998061409979798, 546353034089527, 2212508972466858 } - }, - { - { 46575283771160, 892570971573071, 1281983193144090, 1491520128287375, 75847005908304 }, - { 1801436127943107, 1734436817907890, 1268728090345068, 167003097070711, 2233597765834956 }, - { 1997562060465113, 1048700225534011, 7615603985628, 1855310849546841, 2242557647635213 } - }, - { - { 1161017320376250, 492624580169043, 2169815802355237, 976496781732542, 1770879511019629 }, - { 1357044908364776, 729130645262438, 1762469072918979, 1365633616878458, 181282906404941 }, - { 1080413443139865, 1155205815510486, 1848782073549786, 622566975152580, 124965574467971 } - }, - { - { 1184526762066993, 247622751762817, 692129017206356, 820018689412496, 2188697339828085 }, - { 2020536369003019, 202261491735136, 1053169669150884, 2056531979272544, 778165514694311 }, - { 237404399610207, 1308324858405118, 1229680749538400, 720131409105291, 1958958863624906 } - }, - { - { 515583508038846, 17656978857189, 1717918437373989, 1568052070792483, 46975803123923 }, - { 281527309158085, 36970532401524, 866906920877543, 2222282602952734, 1289598729589882 }, - { 1278207464902042, 494742455008756, 1262082121427081, 1577236621659884, 1888786707293291 } - }, - { - { 353042527954210, 1830056151907359, 1111731275799225, 174960955838824, 404312815582675 }, - { 2064251142068628, 1666421603389706, 1419271365315441, 468767774902855, 191535130366583 }, - { 1716987058588002, 1859366439773457, 1767194234188234, 64476199777924, 1117233614485261 } - }, - { - { 984292135520292, 135138246951259, 2220652137473167, 1722843421165029, 190482558012909 }, - { 298845952651262, 1166086588952562, 1179896526238434, 1347812759398693, 1412945390096208 }, - { 1143239552672925, 906436640714209, 2177000572812152, 2075299936108548, 325186347798433 } - }, - { - { 721024854374772, 684487861263316, 1373438744094159, 2193186935276995, 1387043709851261 }, - { 418098668140962, 715065997721283, 1471916138376055, 2168570337288357, 937812682637044 }, - { 1043584187226485, 2143395746619356, 2209558562919611, 482427979307092, 847556718384018 } - } -}, -{ /* 21/31 */ - { - { 1248731221520759, 1465200936117687, 540803492710140, 52978634680892, 261434490176109 }, - { 1057329623869501, 620334067429122, 461700859268034, 2012481616501857, 297268569108938 }, - { 1055352180870759, 1553151421852298, 1510903185371259, 1470458349428097, 1226259419062731 } - }, - { - { 1492988790301668, 790326625573331, 1190107028409745, 1389394752159193, 1620408196604194 }, - { 47000654413729, 1004754424173864, 1868044813557703, 173236934059409, 588771199737015 }, - { 30498470091663, 1082245510489825, 576771653181956, 806509986132686, 1317634017056939 } - }, - { - { 420308055751555, 1493354863316002, 165206721528088, 1884845694919786, 2065456951573059 }, - { 1115636332012334, 1854340990964155, 83792697369514, 1972177451994021, 457455116057587 }, - { 1698968457310898, 1435137169051090, 1083661677032510, 938363267483709, 340103887207182 } - }, - { - { 1995325341336574, 911500251774648, 164010755403692, 855378419194762, 1573601397528842 }, - { 241719380661528, 310028521317150, 1215881323380194, 1408214976493624, 2141142156467363 }, - { 1315157046163473, 727368447885818, 1363466668108618, 1668921439990361, 1398483384337907 } - }, - { - { 75029678299646, 1015388206460473, 1849729037055212, 1939814616452984, 444404230394954 }, - { 2053597130993710, 2024431685856332, 2233550957004860, 2012407275509545, 872546993104440 }, - { 1217269667678610, 599909351968693, 1390077048548598, 1471879360694802, 739586172317596 } - }, - { - { 1718318639380794, 1560510726633958, 904462881159922, 1418028351780052, 94404349451937 }, - { 2132502667405250, 214379346175414, 1502748313768060, 1960071701057800, 1353971822643138 }, - { 319394212043702, 2127459436033571, 717646691535162, 663366796076914, 318459064945314 } - }, - { - { 405989424923593, 1960452633787083, 667349034401665, 1492674260767112, 1451061489880787 }, - { 947085906234007, 323284730494107, 1485778563977200, 728576821512394, 901584347702286 }, - { 1575783124125742, 2126210792434375, 1569430791264065, 1402582372904727, 1891780248341114 } - }, - { - { 838432205560695, 1997703511451664, 1018791879907867, 1662001808174331, 78328132957753 }, - { 739152638255629, 2074935399403557, 505483666745895, 1611883356514088, 628654635394878 }, - { 1822054032121349, 643057948186973, 7306757352712, 577249257962099, 284735863382083 } - } -}, -{ /* 22/31 */ - { - { 1366558556363930, 1448606567552086, 1478881020944768, 165803179355898, 1115718458123498 }, - { 204146226972102, 1630511199034723, 2215235214174763, 174665910283542, 956127674017216 }, - { 1562934578796716, 1070893489712745, 11324610642270, 958989751581897, 2172552325473805 } - }, - { - { 1770564423056027, 735523631664565, 1326060113795289, 1509650369341127, 65892421582684 }, - { 623682558650637, 1337866509471512, 990313350206649, 1314236615762469, 1164772974270275 }, - { 223256821462517, 723690150104139, 1000261663630601, 933280913953265, 254872671543046 } - }, - { - { 1969087237026041, 624795725447124, 1335555107635969, 2069986355593023, 1712100149341902 }, - { 1236103475266979, 1837885883267218, 1026072585230455, 1025865513954973, 1801964901432134 }, - { 1115241013365517, 1712251818829143, 2148864332502771, 2096001471438138, 2235017246626125 } - }, - { - { 1299268198601632, 2047148477845621, 2165648650132450, 1612539282026145, 514197911628890 }, - { 118352772338543, 1067608711804704, 1434796676193498, 1683240170548391, 230866769907437 }, - { 1850689576796636, 1601590730430274, 1139674615958142, 1954384401440257, 76039205311 } - }, - { - { 1723387471374172, 997301467038410, 533927635123657, 20928644693965, 1756575222802513 }, - { 2146711623855116, 503278928021499, 625853062251406, 1109121378393107, 1033853809911861 }, - { 571005965509422, 2005213373292546, 1016697270349626, 56607856974274, 914438579435146 } - }, - { - { 1346698876211176, 2076651707527589, 1084761571110205, 265334478828406, 1068954492309671 }, - { 1769967932677654, 1695893319756416, 1151863389675920, 1781042784397689, 400287774418285 }, - { 1851867764003121, 403841933237558, 820549523771987, 761292590207581, 1743735048551143 } - }, - { - { 410915148140008, 2107072311871739, 1004367461876503, 99684895396761, 1180818713503224 }, - { 285945406881439, 648174397347453, 1098403762631981, 1366547441102991, 1505876883139217 }, - { 672095903120153, 1675918957959872, 636236529315028, 1569297300327696, 2164144194785875 } - }, - { - { 1902708175321798, 1035343530915438, 1178560808893263, 301095684058146, 1280977479761118 }, - { 1615357281742403, 404257611616381, 2160201349780978, 1160947379188955, 1578038619549541 }, - { 2013087639791217, 822734930507457, 1785668418619014, 1668650702946164, 389450875221715 } - } -}, -{ /* 23/31 */ - { - { 453918449698368, 106406819929001, 2072540975937135, 308588860670238, 1304394580755385 }, - { 1295082798350326, 2091844511495996, 1851348972587817, 3375039684596, 789440738712837 }, - { 2083069137186154, 848523102004566, 993982213589257, 1405313299916317, 1532824818698468 } - }, - { - { 1495961298852430, 1397203457344779, 1774950217066942, 139302743555696, 66603584342787 }, - { 1782411379088302, 1096724939964781, 27593390721418, 542241850291353, 1540337798439873 }, - { 693543956581437, 171507720360750, 1557908942697227, 1074697073443438, 1104093109037196 } - }, - { - { 345288228393419, 1099643569747172, 134881908403743, 1740551994106740, 248212179299770 }, - { 231429562203065, 1526290236421172, 2021375064026423, 1520954495658041, 806337791525116 }, - { 1079623667189886, 872403650198613, 766894200588288, 2163700860774109, 2023464507911816 } - }, - { - { 854645372543796, 1936406001954827, 151460662541253, 825325739271555, 1554306377287556 }, - { 1497138821904622, 1044820250515590, 1742593886423484, 1237204112746837, 849047450816987 }, - { 667962773375330, 1897271816877105, 1399712621683474, 1143302161683099, 2081798441209593 } - }, - { - { 127147851567005, 1936114012888110, 1704424366552046, 856674880716312, 716603621335359 }, - { 1072409664800960, 2146937497077528, 1508780108920651, 935767602384853, 1112800433544068 }, - { 333549023751292, 280219272863308, 2104176666454852, 1036466864875785, 536135186520207 } - }, - { - { 373666279883137, 146457241530109, 304116267127857, 416088749147715, 1258577131183391 }, - { 1186115062588401, 2251609796968486, 1098944457878953, 1153112761201374, 1791625503417267 }, - { 1870078460219737, 2129630962183380, 852283639691142, 292865602592851, 401904317342226 } - }, - { - { 1361070124828035, 815664541425524, 1026798897364671, 1951790935390647, 555874891834790 }, - { 1546301003424277, 459094500062839, 1097668518375311, 1780297770129643, 720763293687608 }, - { 1212405311403990, 1536693382542438, 61028431067459, 1863929423417129, 1223219538638038 } - }, - { - { 1294303766540260, 1183557465955093, 882271357233093, 63854569425375, 2213283684565087 }, - { 339050984211414, 601386726509773, 413735232134068, 966191255137228, 1839475899458159 }, - { 235605972169408, 2174055643032978, 1538335001838863, 1281866796917192, 1815940222628465 } - } -}, -{ /* 24/31 */ - { - { 1632352921721536, 1833328609514701, 2092779091951987, 1923956201873226, 2210068022482919 }, - { 35271216625062, 1712350667021807, 983664255668860, 98571260373038, 1232645608559836 }, - { 1998172393429622, 1798947921427073, 784387737563581, 1589352214827263, 1589861734168180 } - }, - { - { 1733739258725305, 31715717059538, 201969945218860, 992093044556990, 1194308773174556 }, - { 846415389605137, 746163495539180, 829658752826080, 592067705956946, 957242537821393 }, - { 1758148849754419, 619249044817679, 168089007997045, 1371497636330523, 1867101418880350 } - }, - { - { 326633984209635, 261759506071016, 1700682323676193, 1577907266349064, 1217647663383016 }, - { 1714182387328607, 1477856482074168, 574895689942184, 2159118410227270, 1555532449716575 }, - { 853828206885131, 998498946036955, 1835887550391235, 207627336608048, 258363815956050 } - }, - { - { 141141474651677, 1236728744905256, 643101419899887, 1646615130509173, 1208239602291765 }, - { 1501663228068911, 1354879465566912, 1444432675498247, 897812463852601, 855062598754348 }, - { 714380763546606, 1032824444965790, 1774073483745338, 1063840874947367, 1738680636537158 } - }, - { - { 1640635546696252, 633168953192112, 2212651044092396, 30590958583852, 368515260889378 }, - { 1171650314802029, 1567085444565577, 1453660792008405, 757914533009261, 1619511342778196 }, - { 420958967093237, 971103481109486, 2169549185607107, 1301191633558497, 1661514101014240 } - }, - { - { 907123651818302, 1332556122804146, 1824055253424487, 1367614217442959, 1982558335973172 }, - { 1121533090144639, 1021251337022187, 110469995947421, 1511059774758394, 2110035908131662 }, - { 303213233384524, 2061932261128138, 352862124777736, 40828818670255, 249879468482660 } - }, - { - { 856559257852200, 508517664949010, 1378193767894916, 1723459126947129, 1962275756614521 }, - { 1445691340537320, 40614383122127, 402104303144865, 485134269878232, 1659439323587426 }, - { 20057458979482, 1183363722525800, 2140003847237215, 2053873950687614, 2112017736174909 } - }, - { - { 2228654250927986, 1483591363415267, 1368661293910956, 1076511285177291, 526650682059608 }, - { 709481497028540, 531682216165724, 316963769431931, 1814315888453765, 258560242424104 }, - { 1053447823660455, 1955135194248683, 1010900954918985, 1182614026976701, 1240051576966610 } - } -}, -{ /* 25/31 */ - { - { 1957943897155497, 1788667368028035, 137692910029106, 1039519607062, 826404763313028 }, - { 1848942433095597, 1582009882530495, 1849292741020143, 1068498323302788, 2001402229799484 }, - { 1528282417624269, 2142492439828191, 2179662545816034, 362568973150328, 1591374675250271 } - }, - { - { 160026679434388, 232341189218716, 2149181472355545, 598041771119831, 183859001910173 }, - { 2013278155187349, 662660471354454, 793981225706267, 411706605985744, 804490933124791 }, - { 2051892037280204, 488391251096321, 2230187337030708, 930221970662692, 679002758255210 } - }, - { - { 1530723630438670, 875873929577927, 341560134269988, 449903119530753, 1055551308214179 }, - { 1461835919309432, 1955256480136428, 180866187813063, 1551979252664528, 557743861963950 }, - { 359179641731115, 1324915145732949, 902828372691474, 294254275669987, 1887036027752957 } - }, - { - { 2043271609454323, 2038225437857464, 1317528426475850, 1398989128982787, 2027639881006861 }, - { 2072902725256516, 312132452743412, 309930885642209, 996244312618453, 1590501300352303 }, - { 1397254305160710, 695734355138021, 2233992044438756, 1776180593969996, 1085588199351115 } - }, - { - { 440567051331029, 254894786356681, 493869224930222, 1556322069683366, 1567456540319218 }, - { 1950722461391320, 1907845598854797, 1822757481635527, 2121567704750244, 73811931471221 }, - { 387139307395758, 2058036430315676, 1220915649965325, 1794832055328951, 1230009312169328 } - }, - { - { 1765973779329517, 659344059446977, 19821901606666, 1301928341311214, 1116266004075885 }, - { 1127572801181483, 1224743760571696, 1276219889847274, 1529738721702581, 1589819666871853 }, - { 2181229378964934, 2190885205260020, 1511536077659137, 1246504208580490, 668883326494241 } - }, - { - { 437866655573314, 669026411194768, 81896997980338, 523874406393178, 245052060935236 }, - { 1975438052228868, 1071801519999806, 594652299224319, 1877697652668809, 1489635366987285 }, - { 958592545673770, 233048016518599, 851568750216589, 567703851596087, 1740300006094761 } - }, - { - { 2014540178270324, 192672779514432, 213877182641530, 2194819933853411, 1716422829364835 }, - { 1540769606609725, 2148289943846077, 1597804156127445, 1230603716683868, 815423458809453 }, - { 1738560251245018, 1779576754536888, 1783765347671392, 1880170990446751, 1088225159617541 } - } -}, -{ /* 26/31 */ - { - { 659303913929492, 1956447718227573, 1830568515922666, 841069049744408, 1669607124206368 }, - { 1143465490433355, 1532194726196059, 1093276745494697, 481041706116088, 2121405433561163 }, - { 1686424298744462, 1451806974487153, 266296068846582, 1834686947542675, 1720762336132256 } - }, - { - { 889217026388959, 1043290623284660, 856125087551909, 1669272323124636, 1603340330827879 }, - { 1206396181488998, 333158148435054, 1402633492821422, 1120091191722026, 1945474114550509 }, - { 766720088232571, 1512222781191002, 1189719893490790, 2091302129467914, 2141418006894941 } - }, - { - { 419663647306612, 1998875112167987, 1426599870253707, 1154928355379510, 486538532138187 }, - { 938160078005954, 1421776319053174, 1941643234741774, 180002183320818, 1414380336750546 }, - { 398001940109652, 1577721237663248, 1012748649830402, 1540516006905144, 1011684812884559 } - }, - { - { 1653276489969630, 6081825167624, 1921777941170836, 1604139841794531, 861211053640641 }, - { 996661541407379, 1455877387952927, 744312806857277, 139213896196746, 1000282908547789 }, - { 1450817495603008, 1476865707053229, 1030490562252053, 620966950353376, 1744760161539058 } - }, - { - { 559728410002599, 37056661641185, 2038622963352006, 1637244893271723, 1026565352238948 }, - { 962165956135846, 1116599660248791, 182090178006815, 1455605467021751, 196053588803284 }, - { 796863823080135, 1897365583584155, 420466939481601, 2165972651724672, 932177357788289 } - }, - { - { 877047233620632, 1375632631944375, 643773611882121, 660022738847877, 19353932331831 }, - { 2216943882299338, 394841323190322, 2222656898319671, 558186553950529, 1077236877025190 }, - { 801118384953213, 1914330175515892, 574541023311511, 1471123787903705, 1526158900256288 } - }, - { - { 949617889087234, 2207116611267331, 912920039141287, 501158539198789, 62362560771472 }, - { 1474518386765335, 1760793622169197, 1157399790472736, 1622864308058898, 165428294422792 }, - { 1961673048027128, 102619413083113, 1051982726768458, 1603657989805485, 1941613251499678 } - }, - { - { 1401939116319266, 335306339903072, 72046196085786, 862423201496006, 850518754531384 }, - { 1234706593321979, 1083343891215917, 898273974314935, 1640859118399498, 157578398571149 }, - { 1143483057726416, 1992614991758919, 674268662140796, 1773370048077526, 674318359920189 } - } -}, -{ /* 27/31 */ - { - { 1835401379538542, 173900035308392, 818247630716732, 1762100412152786, 1021506399448291 }, - { 1506632088156630, 2127481795522179, 513812919490255, 140643715928370, 442476620300318 }, - { 2056683376856736, 219094741662735, 2193541883188309, 1841182310235800, 556477468664293 } - }, - { - { 1315019427910827, 1049075855992603, 2066573052986543, 266904467185534, 2040482348591520 }, - { 94096246544434, 922482381166992, 24517828745563, 2139430508542503, 2097139044231004 }, - { 537697207950515, 1399352016347350, 1563663552106345, 2148749520888918, 549922092988516 } - }, - { - { 1747985413252434, 680511052635695, 1809559829982725, 594274250930054, 201673170745982 }, - { 323583936109569, 1973572998577657, 1192219029966558, 79354804385273, 1374043025560347 }, - { 213277331329947, 416202017849623, 1950535221091783, 1313441578103244, 2171386783823658 } - }, - { - { 189088804229831, 993969372859110, 895870121536987, 1547301535298256, 1477373024911350 }, - { 1620578418245010, 541035331188469, 2235785724453865, 2154865809088198, 1974627268751826 }, - { 1346805451740245, 1350981335690626, 942744349501813, 2155094562545502, 1012483751693409 } - }, - { - { 2107080134091762, 1132567062788208, 1824935377687210, 769194804343737, 1857941799971888 }, - { 1074666112436467, 249279386739593, 1174337926625354, 1559013532006480, 1472287775519121 }, - { 1872620123779532, 1892932666768992, 1921559078394978, 1270573311796160, 1438913646755037 } - }, - { - { 837390187648199, 1012253300223599, 989780015893987, 1351393287739814, 328627746545550 }, - { 1028328827183114, 1711043289969857, 1350832470374933, 1923164689604327, 1495656368846911 }, - { 1900828492104143, 430212361082163, 687437570852799, 832514536673512, 1685641495940794 } - }, - { - { 842632847936398, 605670026766216, 290836444839585, 163210774892356, 2213815011799645 }, - { 1176336383453996, 1725477294339771, 12700622672454, 678015708818208, 162724078519879 }, - { 1448049969043497, 1789411762943521, 385587766217753, 90201620913498, 832999441066823 } - }, - { - { 516086333293313, 2240508292484616, 1351669528166508, 1223255565316488, 750235824427138 }, - { 1263624896582495, 1102602401673328, 526302183714372, 2152015839128799, 1483839308490010 }, - { 442991718646863, 1599275157036458, 1925389027579192, 899514691371390, 350263251085160 } - } -}, -{ /* 28/31 */ - { - { 1689713572022143, 593854559254373, 978095044791970, 1985127338729499, 1676069120347625 }, - { 1557207018622683, 340631692799603, 1477725909476187, 614735951619419, 2033237123746766 }, - { 968764929340557, 1225534776710944, 662967304013036, 1155521416178595, 791142883466590 } - }, - { - { 1487081286167458, 993039441814934, 1792378982844640, 698652444999874, 2153908693179754 }, - { 1123181311102823, 685575944875442, 507605465509927, 1412590462117473, 568017325228626 }, - { 560258797465417, 2193971151466401, 1824086900849026, 579056363542056, 1690063960036441 } - }, - { - { 1918407319222416, 353767553059963, 1930426334528099, 1564816146005724, 1861342381708096 }, - { 2131325168777276, 1176636658428908, 1756922641512981, 1390243617176012, 1966325177038383 }, - { 2063958120364491, 2140267332393533, 699896251574968, 273268351312140, 375580724713232 } - }, - { - { 2024297515263178, 416959329722687, 1079014235017302, 171612225573183, 1031677520051053 }, - { 2033900009388450, 1744902869870788, 2190580087917640, 1949474984254121, 231049754293748 }, - { 343868674606581, 550155864008088, 1450580864229630, 481603765195050, 896972360018042 } - }, - { - { 2151139328380127, 314745882084928, 59756825775204, 1676664391494651, 2048348075599360 }, - { 1528930066340597, 1605003907059576, 1055061081337675, 1458319101947665, 1234195845213142 }, - { 830430507734812, 1780282976102377, 1425386760709037, 362399353095425, 2168861579799910 } - }, - { - { 1155762232730333, 980662895504006, 2053766700883521, 490966214077606, 510405877041357 }, - { 1683750316716132, 652278688286128, 1221798761193539, 1897360681476669, 319658166027343 }, - { 618808732869972, 72755186759744, 2060379135624181, 1730731526741822, 48862757828238 } - }, - { - { 1463171970593505, 1143040711767452, 614590986558883, 1409210575145591, 1882816996436803 }, - { 2230133264691131, 563950955091024, 2042915975426398, 827314356293472, 672028980152815 }, - { 264204366029760, 1654686424479449, 2185050199932931, 2207056159091748, 506015669043634 } - }, - { - { 1784446333136569, 1973746527984364, 334856327359575, 1156769775884610, 1023950124675478 }, - { 2065270940578383, 31477096270353, 306421879113491, 181958643936686, 1907105536686083 }, - { 1496516440779464, 1748485652986458, 872778352227340, 818358834654919, 97932669284220 } - } -}, -{ /* 29/31 */ - { - { 471636015770351, 672455402793577, 1804995246884103, 1842309243470804, 1501862504981682 }, - { 1013216974933691, 538921919682598, 1915776722521558, 1742822441583877, 1886550687916656 }, - { 2094270000643336, 303971879192276, 40801275554748, 649448917027930, 1818544418535447 } - }, - { - { 2241737709499165, 549397817447461, 838180519319392, 1725686958520781, 1705639080897747 }, - { 1216074541925116, 50120933933509, 1565829004133810, 721728156134580, 349206064666188 }, - { 948617110470858, 346222547451945, 1126511960599975, 1759386906004538, 493053284802266 } - }, - { - { 1454933046815146, 874696014266362, 1467170975468588, 1432316382418897, 2111710746366763 }, - { 2105387117364450, 1996463405126433, 1303008614294500, 851908115948209, 1353742049788635 }, - { 750300956351719, 1487736556065813, 15158817002104, 1511998221598392, 971739901354129 } - }, - { - { 1874648163531693, 2124487685930551, 1810030029384882, 918400043048335, 586348627300650 }, - { 1235084464747900, 1166111146432082, 1745394857881591, 1405516473883040, 4463504151617 }, - { 1663810156463827, 327797390285791, 1341846161759410, 1964121122800605, 1747470312055380 } - }, - { - { 660005247548233, 2071860029952887, 1358748199950107, 911703252219107, 1014379923023831 }, - { 2206641276178231, 1690587809721504, 1600173622825126, 2156096097634421, 1106822408548216 }, - { 1344788193552206, 1949552134239140, 1735915881729557, 675891104100469, 1834220014427292 } - }, - { - { 1920949492387964, 158885288387530, 70308263664033, 626038464897817, 1468081726101009 }, - { 622221042073383, 1210146474039168, 1742246422343683, 1403839361379025, 417189490895736 }, - { 22727256592983, 168471543384997, 1324340989803650, 1839310709638189, 504999476432775 } - }, - { - { 1313240518756327, 1721896294296942, 52263574587266, 2065069734239232, 804910473424630 }, - { 1337466662091884, 1287645354669772, 2018019646776184, 652181229374245, 898011753211715 }, - { 1969792547910734, 779969968247557, 2011350094423418, 1823964252907487, 1058949448296945 } - }, - { - { 207343737062002, 1118176942430253, 758894594548164, 806764629546266, 1157700123092949 }, - { 1273565321399022, 1638509681964574, 759235866488935, 666015124346707, 897983460943405 }, - { 1717263794012298, 1059601762860786, 1837819172257618, 1054130665797229, 680893204263559 } - } -}, -{ /* 30/31 */ - { - { 2237039662793603, 2249022333361206, 2058613546633703, 149454094845279, 2215176649164582 }, - { 79472182719605, 1851130257050174, 1825744808933107, 821667333481068, 781795293511946 }, - { 755822026485370, 152464789723500, 1178207602290608, 410307889503239, 156581253571278 } - }, - { - { 1418185496130297, 484520167728613, 1646737281442950, 1401487684670265, 1349185550126961 }, - { 1495380034400429, 325049476417173, 46346894893933, 1553408840354856, 828980101835683 }, - { 1280337889310282, 2070832742866672, 1640940617225222, 2098284908289951, 450929509534434 } - }, - { - { 407703353998781, 126572141483652, 286039827513621, 1999255076709338, 2030511179441770 }, - { 1254958221100483, 1153235960999843, 942907704968834, 637105404087392, 1149293270147267 }, - { 894249020470196, 400291701616810, 406878712230981, 1599128793487393, 1145868722604026 } - }, - { - { 1497955250203334, 110116344653260, 1128535642171976, 1900106496009660, 129792717460909 }, - { 452487513298665, 1352120549024569, 1173495883910956, 1999111705922009, 367328130454226 }, - { 1717539401269642, 1475188995688487, 891921989653942, 836824441505699, 1885988485608364 } - }, - { - { 1241784121422547, 187337051947583, 1118481812236193, 428747751936362, 30358898927325 }, - { 2022432361201842, 1088816090685051, 1977843398539868, 1854834215890724, 564238862029357 }, - { 938868489100585, 1100285072929025, 1017806255688848, 1957262154788833, 152787950560442 } - }, - { - { 867319417678923, 620471962942542, 226032203305716, 342001443957629, 1761675818237336 }, - { 1295072362439987, 931227904689414, 1355731432641687, 922235735834035, 892227229410209 }, - { 1680989767906154, 535362787031440, 2136691276706570, 1942228485381244, 1267350086882274 } - }, - { - { 366018233770527, 432660629755596, 126409707644535, 1973842949591662, 645627343442376 }, - { 535509430575217, 546885533737322, 1524675609547799, 2138095752851703, 1260738089896827 }, - { 1159906385590467, 2198530004321610, 714559485023225, 81880727882151, 1484020820037082 } - }, - { - { 1377485731340769, 2046328105512000, 1802058637158797, 62146136768173, 1356993908853901 }, - { 2013612215646735, 1830770575920375, 536135310219832, 609272325580394, 270684344495013 }, - { 1237542585982777, 2228682050256790, 1385281931622824, 593183794882890, 493654978552689 } - } -}, -{ /* 31/31 */ - { - { 47341488007760, 1891414891220257, 983894663308928, 176161768286818, 1126261115179708 }, - { 1694030170963455, 502038567066200, 1691160065225467, 949628319562187, 275110186693066 }, - { 1124515748676336, 1661673816593408, 1499640319059718, 1584929449166988, 558148594103306 } - }, - { - { 1784525599998356, 1619698033617383, 2097300287550715, 258265458103756, 1905684794832758 }, - { 1288941072872766, 931787902039402, 190731008859042, 2006859954667190, 1005931482221702 }, - { 1465551264822703, 152905080555927, 680334307368453, 173227184634745, 666407097159852 } - }, - { - { 2111017076203943, 1378760485794347, 1248583954016456, 1352289194864422, 1895180776543896 }, - { 171348223915638, 662766099800389, 462338943760497, 466917763340314, 656911292869115 }, - { 488623681976577, 866497561541722, 1708105560937768, 1673781214218839, 1506146329818807 } - }, - { - { 160425464456957, 950394373239689, 430497123340934, 711676555398832, 320964687779005 }, - { 988979367990485, 1359729327576302, 1301834257246029, 294141160829308, 29348272277475 }, - { 1434382743317910, 100082049942065, 221102347892623, 186982837860588, 1305765053501834 } - }, - { - { 2205916462268190, 499863829790820, 961960554686616, 158062762756985, 1841471168298305 }, - { 1191737341426592, 1847042034978363, 1382213545049056, 1039952395710448, 788812858896859 }, - { 1346965964571152, 1291881610839830, 2142916164336056, 786821641205979, 1571709146321039 } - }, - { - { 787164375951248, 202869205373189, 1356590421032140, 1431233331032510, 786341368775957 }, - { 492448143532951, 304105152670757, 1761767168301056, 233782684697790, 1981295323106089 }, - { 665807507761866, 1343384868355425, 895831046139653, 439338948736892, 1986828765695105 } - }, - { - { 756096210874553, 1721699973539149, 258765301727885, 1390588532210645, 1212530909934781 }, - { 852891097972275, 1816988871354562, 1543772755726524, 1174710635522444, 202129090724628 }, - { 1205281565824323, 22430498399418, 992947814485516, 1392458699738672, 688441466734558 } - }, - { - { 1050627428414972, 1955849529137135, 2171162376368357, 91745868298214, 447733118757826 }, - { 1287181461435438, 622722465530711, 880952150571872, 741035693459198, 311565274989772 }, - { 1003649078149734, 545233927396469, 1849786171789880, 1318943684880434, 280345687170552 } - } -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h deleted file mode 100644 index d088241..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h +++ /dev/null @@ -1,40 +0,0 @@ -{ - { 1288382639258501, 245678601348599, 269427782077623, 1462984067271730, 137412439391563 }, - { 62697248952638, 204681361388450, 631292143396476, 338455783676468, 1213667448819585 }, - { 301289933810280, 1259582250014073, 1422107436869536, 796239922652654, 1953934009299142 } -}, -{ - { 1601611775252272, 1720807796594148, 1132070835939856, 1260455018889551, 2147779492816911 }, - { 316559037616741, 2177824224946892, 1459442586438991, 1461528397712656, 751590696113597 }, - { 1850748884277385, 1200145853858453, 1068094770532492, 672251375690438, 1586055907191707 } -}, -{ - { 769950342298419, 132954430919746, 844085933195555, 974092374476333, 726076285546016 }, - { 425251763115706, 608463272472562, 442562545713235, 837766094556764, 374555092627893 }, - { 1086255230780037, 274979815921559, 1960002765731872, 929474102396301, 1190409889297339 } -}, -{ - { 665000864555967, 2065379846933859, 370231110385876, 350988370788628, 1233371373142985 }, - { 2019367628972465, 676711900706637, 110710997811333, 1108646842542025, 517791959672113 }, - { 965130719900578, 247011430587952, 526356006571389, 91986625355052, 2157223321444601 } -}, -{ - { 1802695059465007, 1664899123557221, 593559490740857, 2160434469266659, 927570450755031 }, - { 1725674970513508, 1933645953859181, 1542344539275782, 1767788773573747, 1297447965928905 }, - { 1381809363726107, 1430341051343062, 2061843536018959, 1551778050872521, 2036394857967624 } -}, -{ - { 1970894096313054, 528066325833207, 1619374932191227, 2207306624415883, 1169170329061080 }, - { 2070390218572616, 1458919061857835, 624171843017421, 1055332792707765, 433987520732508 }, - { 893653801273833, 1168026499324677, 1242553501121234, 1306366254304474, 1086752658510815 } -}, -{ - { 213454002618221, 939771523987438, 1159882208056014, 317388369627517, 621213314200687 }, - { 1971678598905747, 338026507889165, 762398079972271, 655096486107477, 42299032696322 }, - { 177130678690680, 1754759263300204, 1864311296286618, 1180675631479880, 1292726903152791 } -}, -{ - { 1913163449625248, 460779200291993, 2193883288642314, 1008900146920800, 1721983679009502 }, - { 1070401523076875, 1272492007800961, 1910153608563310, 2075579521696771, 1191169788841221 }, - { 692896803108118, 500174642072499, 2068223309439677, 1162190621851337, 1426986007309901 } -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h deleted file mode 100644 index 24e5cb5..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h +++ /dev/null @@ -1,41 +0,0 @@ -/* 37095705934669439343138083508754565189542113879843219016388785533085940283555 */ -static const fe25519 d = { - 929955233495203, 466365720129213, 1662059464998953, 2033849074728123, 1442794654840575 -}; - -/* 2 * d = - * 16295367250680780974490674513165176452449235426866156013048779062215315747161 - */ -static const fe25519 d2 = { - 1859910466990425, 932731440258426, 1072319116312658, 1815898335770999, 633789495995903 -}; - -/* sqrt(-1) */ -static const fe25519 sqrtm1 = { - 1718705420411056, 234908883556509, 2233514472574048, 2117202627021982, 765476049583133 -}; - -/* A = 486662 */ -static const fe25519 curve25519_A = { - 486662, 0, 0, 0, 0 -}; - -/* sqrt(ad - 1) with a = -1 (mod p) */ -static const fe25519 sqrtadm1 = { - 2241493124984347, 425987919032274, 2207028919301688, 1220490630685848, 974799131293748 -}; - -/* 1 / sqrt(a - d) */ -static const fe25519 invsqrtamd = { - 278908739862762, 821645201101625, 8113234426968, 1777959178193151, 2118520810568447 -}; - -/* 1 - d ^ 2 */ -static const fe25519 onemsqd = { - 1136626929484150, 1998550399581263, 496427632559748, 118527312129759, 45110755273534 -}; - -/* (d - 1) ^ 2 */ -static const fe25519 sqdmone = { - 1507062230895904, 1572317787530805, 683053064812840, 317374165784489, 1572899562415810 -}; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h deleted file mode 100644 index de87626..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - Ignores top bit of h. - */ - -void -fe25519_frombytes(fe25519 h, const unsigned char *s) -{ - const uint64_t mask = 0x7ffffffffffffULL; - uint64_t h0, h1, h2, h3, h4; - - h0 = (LOAD64_LE(s ) ) & mask; - h1 = (LOAD64_LE(s + 6) >> 3) & mask; - h2 = (LOAD64_LE(s + 12) >> 6) & mask; - h3 = (LOAD64_LE(s + 19) >> 1) & mask; - h4 = (LOAD64_LE(s + 24) >> 12) & mask; - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; -} - -static void -fe25519_reduce(fe25519 h, const fe25519 f) -{ - const uint64_t mask = 0x7ffffffffffffULL; - uint128_t t[5]; - - t[0] = f[0]; - t[1] = f[1]; - t[2] = f[2]; - t[3] = f[3]; - t[4] = f[4]; - - t[1] += t[0] >> 51; - t[0] &= mask; - t[2] += t[1] >> 51; - t[1] &= mask; - t[3] += t[2] >> 51; - t[2] &= mask; - t[4] += t[3] >> 51; - t[3] &= mask; - t[0] += 19 * (t[4] >> 51); - t[4] &= mask; - - t[1] += t[0] >> 51; - t[0] &= mask; - t[2] += t[1] >> 51; - t[1] &= mask; - t[3] += t[2] >> 51; - t[2] &= mask; - t[4] += t[3] >> 51; - t[3] &= mask; - t[0] += 19 * (t[4] >> 51); - t[4] &= mask; - - /* now t is between 0 and 2^255-1, properly carried. */ - /* case 1: between 0 and 2^255-20. case 2: between 2^255-19 and 2^255-1. */ - - t[0] += 19ULL; - - t[1] += t[0] >> 51; - t[0] &= mask; - t[2] += t[1] >> 51; - t[1] &= mask; - t[3] += t[2] >> 51; - t[2] &= mask; - t[4] += t[3] >> 51; - t[3] &= mask; - t[0] += 19ULL * (t[4] >> 51); - t[4] &= mask; - - /* now between 19 and 2^255-1 in both cases, and offset by 19. */ - - t[0] += 0x8000000000000 - 19ULL; - t[1] += 0x8000000000000 - 1ULL; - t[2] += 0x8000000000000 - 1ULL; - t[3] += 0x8000000000000 - 1ULL; - t[4] += 0x8000000000000 - 1ULL; - - /* now between 2^255 and 2^256-20, and offset by 2^255. */ - - t[1] += t[0] >> 51; - t[0] &= mask; - t[2] += t[1] >> 51; - t[1] &= mask; - t[3] += t[2] >> 51; - t[2] &= mask; - t[4] += t[3] >> 51; - t[3] &= mask; - t[4] &= mask; - - h[0] = t[0]; - h[1] = t[1]; - h[2] = t[2]; - h[3] = t[3]; - h[4] = t[4]; -} - -void -fe25519_tobytes(unsigned char *s, const fe25519 h) -{ - fe25519 t; - uint64_t t0, t1, t2, t3; - - fe25519_reduce(t, h); - t0 = t[0] | (t[1] << 51); - t1 = (t[1] >> 13) | (t[2] << 38); - t2 = (t[2] >> 26) | (t[3] << 25); - t3 = (t[3] >> 39) | (t[4] << 12); - STORE64_LE(s + 0, t0); - STORE64_LE(s + 8, t1); - STORE64_LE(s + 16, t2); - STORE64_LE(s + 24, t3); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hchacha20/core_hchacha20.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hchacha20/core_hchacha20.c deleted file mode 100644 index 39ab26a..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hchacha20/core_hchacha20.c +++ /dev/null @@ -1,93 +0,0 @@ - -#include -#include - -#include "crypto_core_hchacha20.h" -#include "private/common.h" - -#define QUARTERROUND(A, B, C, D) \ - do { \ - A += B; D = ROTL32(D ^ A, 16); \ - C += D; B = ROTL32(B ^ C, 12); \ - A += B; D = ROTL32(D ^ A, 8); \ - C += D; B = ROTL32(B ^ C, 7); \ - } while(0) - -int -crypto_core_hchacha20(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) -{ - int i; - uint32_t x0, x1, x2, x3, x4, x5, x6, x7; - uint32_t x8, x9, x10, x11, x12, x13, x14, x15; - - if (c == NULL) { - x0 = 0x61707865; - x1 = 0x3320646e; - x2 = 0x79622d32; - x3 = 0x6b206574; - } else { - x0 = LOAD32_LE(c + 0); - x1 = LOAD32_LE(c + 4); - x2 = LOAD32_LE(c + 8); - x3 = LOAD32_LE(c + 12); - } - x4 = LOAD32_LE(k + 0); - x5 = LOAD32_LE(k + 4); - x6 = LOAD32_LE(k + 8); - x7 = LOAD32_LE(k + 12); - x8 = LOAD32_LE(k + 16); - x9 = LOAD32_LE(k + 20); - x10 = LOAD32_LE(k + 24); - x11 = LOAD32_LE(k + 28); - x12 = LOAD32_LE(in + 0); - x13 = LOAD32_LE(in + 4); - x14 = LOAD32_LE(in + 8); - x15 = LOAD32_LE(in + 12); - - for (i = 0; i < 10; i++) { - QUARTERROUND(x0, x4, x8, x12); - QUARTERROUND(x1, x5, x9, x13); - QUARTERROUND(x2, x6, x10, x14); - QUARTERROUND(x3, x7, x11, x15); - QUARTERROUND(x0, x5, x10, x15); - QUARTERROUND(x1, x6, x11, x12); - QUARTERROUND(x2, x7, x8, x13); - QUARTERROUND(x3, x4, x9, x14); - } - - STORE32_LE(out + 0, x0); - STORE32_LE(out + 4, x1); - STORE32_LE(out + 8, x2); - STORE32_LE(out + 12, x3); - STORE32_LE(out + 16, x12); - STORE32_LE(out + 20, x13); - STORE32_LE(out + 24, x14); - STORE32_LE(out + 28, x15); - - return 0; -} - -size_t -crypto_core_hchacha20_outputbytes(void) -{ - return crypto_core_hchacha20_OUTPUTBYTES; -} - -size_t -crypto_core_hchacha20_inputbytes(void) -{ - return crypto_core_hchacha20_INPUTBYTES; -} - -size_t -crypto_core_hchacha20_keybytes(void) -{ - return crypto_core_hchacha20_KEYBYTES; -} - -size_t -crypto_core_hchacha20_constbytes(void) -{ - return crypto_core_hchacha20_CONSTBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c deleted file mode 100644 index 37c4923..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "crypto_core_hsalsa20.h" - -size_t -crypto_core_hsalsa20_outputbytes(void) { - return crypto_core_hsalsa20_OUTPUTBYTES; -} - -size_t -crypto_core_hsalsa20_inputbytes(void) { - return crypto_core_hsalsa20_INPUTBYTES; -} - -size_t -crypto_core_hsalsa20_keybytes(void) { - return crypto_core_hsalsa20_KEYBYTES; -} - -size_t -crypto_core_hsalsa20_constbytes(void) { - return crypto_core_hsalsa20_CONSTBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c deleted file mode 100644 index 1d1220f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c +++ /dev/null @@ -1,95 +0,0 @@ -/* -version 20080912 -D. J. Bernstein -Public domain. -*/ - -#include -#include - -#include "crypto_core_hsalsa20.h" -#include "private/common.h" - -#define ROUNDS 20 -#define U32C(v) (v##U) - -int -crypto_core_hsalsa20(unsigned char *out, - const unsigned char *in, - const unsigned char *k, - const unsigned char *c) -{ - uint32_t x0, x1, x2, x3, x4, x5, x6, x7, x8, - x9, x10, x11, x12, x13, x14, x15; - int i; - - if (c == NULL) { - x0 = U32C(0x61707865); - x5 = U32C(0x3320646e); - x10 = U32C(0x79622d32); - x15 = U32C(0x6b206574); - } else { - x0 = LOAD32_LE(c + 0); - x5 = LOAD32_LE(c + 4); - x10 = LOAD32_LE(c + 8); - x15 = LOAD32_LE(c + 12); - } - x1 = LOAD32_LE(k + 0); - x2 = LOAD32_LE(k + 4); - x3 = LOAD32_LE(k + 8); - x4 = LOAD32_LE(k + 12); - x11 = LOAD32_LE(k + 16); - x12 = LOAD32_LE(k + 20); - x13 = LOAD32_LE(k + 24); - x14 = LOAD32_LE(k + 28); - x6 = LOAD32_LE(in + 0); - x7 = LOAD32_LE(in + 4); - x8 = LOAD32_LE(in + 8); - x9 = LOAD32_LE(in + 12); - - for (i = ROUNDS; i > 0; i -= 2) { - x4 ^= ROTL32(x0 + x12, 7); - x8 ^= ROTL32(x4 + x0, 9); - x12 ^= ROTL32(x8 + x4, 13); - x0 ^= ROTL32(x12 + x8, 18); - x9 ^= ROTL32(x5 + x1, 7); - x13 ^= ROTL32(x9 + x5, 9); - x1 ^= ROTL32(x13 + x9, 13); - x5 ^= ROTL32(x1 + x13, 18); - x14 ^= ROTL32(x10 + x6, 7); - x2 ^= ROTL32(x14 + x10, 9); - x6 ^= ROTL32(x2 + x14, 13); - x10 ^= ROTL32(x6 + x2, 18); - x3 ^= ROTL32(x15 + x11, 7); - x7 ^= ROTL32(x3 + x15, 9); - x11 ^= ROTL32(x7 + x3, 13); - x15 ^= ROTL32(x11 + x7, 18); - x1 ^= ROTL32(x0 + x3, 7); - x2 ^= ROTL32(x1 + x0, 9); - x3 ^= ROTL32(x2 + x1, 13); - x0 ^= ROTL32(x3 + x2, 18); - x6 ^= ROTL32(x5 + x4, 7); - x7 ^= ROTL32(x6 + x5, 9); - x4 ^= ROTL32(x7 + x6, 13); - x5 ^= ROTL32(x4 + x7, 18); - x11 ^= ROTL32(x10 + x9, 7); - x8 ^= ROTL32(x11 + x10, 9); - x9 ^= ROTL32(x8 + x11, 13); - x10 ^= ROTL32(x9 + x8, 18); - x12 ^= ROTL32(x15 + x14, 7); - x13 ^= ROTL32(x12 + x15, 9); - x14 ^= ROTL32(x13 + x12, 13); - x15 ^= ROTL32(x14 + x13, 18); - } - - STORE32_LE(out + 0, x0); - STORE32_LE(out + 4, x5); - STORE32_LE(out + 8, x10); - STORE32_LE(out + 12, x15); - STORE32_LE(out + 16, x6); - STORE32_LE(out + 20, x7); - STORE32_LE(out + 24, x8); - STORE32_LE(out + 28, x9); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c deleted file mode 100644 index c023378..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c +++ /dev/null @@ -1,195 +0,0 @@ - -#include -#include - -#include "crypto_core_salsa20.h" -#include "crypto_core_salsa2012.h" -#include "crypto_core_salsa208.h" -#include "private/common.h" - -static void -crypto_core_salsa(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c, - const int rounds) -{ - uint32_t x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, - x15; - uint32_t j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, - j15; - int i; - - j0 = x0 = 0x61707865; - j5 = x5 = 0x3320646e; - j10 = x10 = 0x79622d32; - j15 = x15 = 0x6b206574; - if (c != NULL) { - j0 = x0 = LOAD32_LE(c + 0); - j5 = x5 = LOAD32_LE(c + 4); - j10 = x10 = LOAD32_LE(c + 8); - j15 = x15 = LOAD32_LE(c + 12); - } - j1 = x1 = LOAD32_LE(k + 0); - j2 = x2 = LOAD32_LE(k + 4); - j3 = x3 = LOAD32_LE(k + 8); - j4 = x4 = LOAD32_LE(k + 12); - j11 = x11 = LOAD32_LE(k + 16); - j12 = x12 = LOAD32_LE(k + 20); - j13 = x13 = LOAD32_LE(k + 24); - j14 = x14 = LOAD32_LE(k + 28); - - j6 = x6 = LOAD32_LE(in + 0); - j7 = x7 = LOAD32_LE(in + 4); - j8 = x8 = LOAD32_LE(in + 8); - j9 = x9 = LOAD32_LE(in + 12); - - for (i = 0; i < rounds; i += 2) { - x4 ^= ROTL32(x0 + x12, 7); - x8 ^= ROTL32(x4 + x0, 9); - x12 ^= ROTL32(x8 + x4, 13); - x0 ^= ROTL32(x12 + x8, 18); - x9 ^= ROTL32(x5 + x1, 7); - x13 ^= ROTL32(x9 + x5, 9); - x1 ^= ROTL32(x13 + x9, 13); - x5 ^= ROTL32(x1 + x13, 18); - x14 ^= ROTL32(x10 + x6, 7); - x2 ^= ROTL32(x14 + x10, 9); - x6 ^= ROTL32(x2 + x14, 13); - x10 ^= ROTL32(x6 + x2, 18); - x3 ^= ROTL32(x15 + x11, 7); - x7 ^= ROTL32(x3 + x15, 9); - x11 ^= ROTL32(x7 + x3, 13); - x15 ^= ROTL32(x11 + x7, 18); - x1 ^= ROTL32(x0 + x3, 7); - x2 ^= ROTL32(x1 + x0, 9); - x3 ^= ROTL32(x2 + x1, 13); - x0 ^= ROTL32(x3 + x2, 18); - x6 ^= ROTL32(x5 + x4, 7); - x7 ^= ROTL32(x6 + x5, 9); - x4 ^= ROTL32(x7 + x6, 13); - x5 ^= ROTL32(x4 + x7, 18); - x11 ^= ROTL32(x10 + x9, 7); - x8 ^= ROTL32(x11 + x10, 9); - x9 ^= ROTL32(x8 + x11, 13); - x10 ^= ROTL32(x9 + x8, 18); - x12 ^= ROTL32(x15 + x14, 7); - x13 ^= ROTL32(x12 + x15, 9); - x14 ^= ROTL32(x13 + x12, 13); - x15 ^= ROTL32(x14 + x13, 18); - } - STORE32_LE(out + 0, x0 + j0); - STORE32_LE(out + 4, x1 + j1); - STORE32_LE(out + 8, x2 + j2); - STORE32_LE(out + 12, x3 + j3); - STORE32_LE(out + 16, x4 + j4); - STORE32_LE(out + 20, x5 + j5); - STORE32_LE(out + 24, x6 + j6); - STORE32_LE(out + 28, x7 + j7); - STORE32_LE(out + 32, x8 + j8); - STORE32_LE(out + 36, x9 + j9); - STORE32_LE(out + 40, x10 + j10); - STORE32_LE(out + 44, x11 + j11); - STORE32_LE(out + 48, x12 + j12); - STORE32_LE(out + 52, x13 + j13); - STORE32_LE(out + 56, x14 + j14); - STORE32_LE(out + 60, x15 + j15); -} - -int -crypto_core_salsa20(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) -{ - crypto_core_salsa(out, in, k, c, 20); - return 0; -} - -size_t -crypto_core_salsa20_outputbytes(void) -{ - return crypto_core_salsa20_OUTPUTBYTES; -} - -size_t -crypto_core_salsa20_inputbytes(void) -{ - return crypto_core_salsa20_INPUTBYTES; -} - -size_t -crypto_core_salsa20_keybytes(void) -{ - return crypto_core_salsa20_KEYBYTES; -} - -size_t -crypto_core_salsa20_constbytes(void) -{ - return crypto_core_salsa20_CONSTBYTES; -} - -#ifndef MINIMAL -/* LCOV_EXCL_START */ -int -crypto_core_salsa2012(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) -{ - crypto_core_salsa(out, in, k, c, 12); - return 0; -} - -size_t -crypto_core_salsa2012_outputbytes(void) -{ - return crypto_core_salsa2012_OUTPUTBYTES; -} - -size_t -crypto_core_salsa2012_inputbytes(void) -{ - return crypto_core_salsa2012_INPUTBYTES; -} - -size_t -crypto_core_salsa2012_keybytes(void) -{ - return crypto_core_salsa2012_KEYBYTES; -} - -size_t -crypto_core_salsa2012_constbytes(void) -{ - return crypto_core_salsa2012_CONSTBYTES; -} - -int -crypto_core_salsa208(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) -{ - crypto_core_salsa(out, in, k, c, 8); - return 0; -} - -size_t -crypto_core_salsa208_outputbytes(void) -{ - return crypto_core_salsa208_OUTPUTBYTES; -} - -size_t -crypto_core_salsa208_inputbytes(void) -{ - return crypto_core_salsa208_INPUTBYTES; -} - -size_t -crypto_core_salsa208_keybytes(void) -{ - return crypto_core_salsa208_KEYBYTES; -} - -size_t -crypto_core_salsa208_constbytes(void) -{ - return crypto_core_salsa208_CONSTBYTES; -} -/* LCOV_EXCL_END */ -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c deleted file mode 100644 index 781d4c5..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "crypto_generichash_blake2b.h" -#include "randombytes.h" - -size_t -crypto_generichash_blake2b_bytes_min(void) { - return crypto_generichash_blake2b_BYTES_MIN; -} - -size_t -crypto_generichash_blake2b_bytes_max(void) { - return crypto_generichash_blake2b_BYTES_MAX; -} - -size_t -crypto_generichash_blake2b_bytes(void) { - return crypto_generichash_blake2b_BYTES; -} - -size_t -crypto_generichash_blake2b_keybytes_min(void) { - return crypto_generichash_blake2b_KEYBYTES_MIN; -} - -size_t -crypto_generichash_blake2b_keybytes_max(void) { - return crypto_generichash_blake2b_KEYBYTES_MAX; -} - -size_t -crypto_generichash_blake2b_keybytes(void) { - return crypto_generichash_blake2b_KEYBYTES; -} - -size_t -crypto_generichash_blake2b_saltbytes(void) { - return crypto_generichash_blake2b_SALTBYTES; -} - -size_t -crypto_generichash_blake2b_personalbytes(void) { - return crypto_generichash_blake2b_PERSONALBYTES; -} - -size_t -crypto_generichash_blake2b_statebytes(void) -{ - return (sizeof(crypto_generichash_blake2b_state) + (size_t) 63U) - & ~(size_t) 63U; -} - -void -crypto_generichash_blake2b_keygen(unsigned char k[crypto_generichash_blake2b_KEYBYTES]) -{ - randombytes_buf(k, crypto_generichash_blake2b_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2.h deleted file mode 100644 index 6ea2832..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - BLAKE2 reference source code package - reference C implementations - - Written in 2012 by Samuel Neves - - To the extent possible under law, the author(s) have dedicated all copyright - and related and neighboring rights to this software to the public domain - worldwide. This software is distributed without any warranty. - - All code is triple-licensed under the - [CC0](http://creativecommons.org/publicdomain/zero/1.0), the - [OpenSSL Licence](https://www.openssl.org/source/license.html), or - the [Apache Public License 2.0](http://www.apache.org/licenses/LICENSE-2.0), - at your choosing. - */ - -#ifndef blake2_H -#define blake2_H - -#include -#include - -#include "crypto_generichash_blake2b.h" -#include "export.h" - -#define blake2b_init_param crypto_generichash_blake2b__init_param -#define blake2b_init crypto_generichash_blake2b__init -#define blake2b_init_salt_personal \ - crypto_generichash_blake2b__init_salt_personal -#define blake2b_init_key crypto_generichash_blake2b__init_key -#define blake2b_init_key_salt_personal \ - crypto_generichash_blake2b__init_key_salt_personal -#define blake2b_update crypto_generichash_blake2b__update -#define blake2b_final crypto_generichash_blake2b__final -#define blake2b crypto_generichash_blake2b__blake2b -#define blake2b_salt_personal crypto_generichash_blake2b__blake2b_salt_personal -#define blake2b_pick_best_implementation \ - crypto_generichash_blake2b__pick_best_implementation - -enum blake2b_constant { - BLAKE2B_BLOCKBYTES = 128, - BLAKE2B_OUTBYTES = 64, - BLAKE2B_KEYBYTES = 64, - BLAKE2B_SALTBYTES = 16, - BLAKE2B_PERSONALBYTES = 16 -}; - -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -#pragma pack(1) -#else -#pragma pack(push, 1) -#endif - -typedef struct blake2b_param_ { - uint8_t digest_length; /* 1 */ - uint8_t key_length; /* 2 */ - uint8_t fanout; /* 3 */ - uint8_t depth; /* 4 */ - uint8_t leaf_length[4]; /* 8 */ - uint8_t node_offset[8]; /* 16 */ - uint8_t node_depth; /* 17 */ - uint8_t inner_length; /* 18 */ - uint8_t reserved[14]; /* 32 */ - uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */ - uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */ -} blake2b_param; - -typedef struct blake2b_state { - uint64_t h[8]; - uint64_t t[2]; - uint64_t f[2]; - uint8_t buf[2 * 128]; - size_t buflen; - uint8_t last_node; -} blake2b_state; - -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -#pragma pack() -#else -#pragma pack(pop) -#endif - -/* Streaming API */ -int blake2b_init(blake2b_state *S, const uint8_t outlen); -int blake2b_init_salt_personal(blake2b_state *S, const uint8_t outlen, - const void *salt, const void *personal); -int blake2b_init_key(blake2b_state *S, const uint8_t outlen, const void *key, - const uint8_t keylen); -int blake2b_init_key_salt_personal(blake2b_state *S, const uint8_t outlen, - const void *key, const uint8_t keylen, - const void *salt, const void *personal); -int blake2b_init_param(blake2b_state *S, const blake2b_param *P); -int blake2b_update(blake2b_state *S, const uint8_t *in, uint64_t inlen); -int blake2b_final(blake2b_state *S, uint8_t *out, uint8_t outlen); - -/* Simple API */ -int blake2b(uint8_t *out, const void *in, const void *key, const uint8_t outlen, - const uint64_t inlen, uint8_t keylen); -int blake2b_salt_personal(uint8_t *out, const void *in, const void *key, - const uint8_t outlen, const uint64_t inlen, - uint8_t keylen, const void *salt, - const void *personal); - -typedef int (*blake2b_compress_fn)(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]); -int blake2b_pick_best_implementation(void); -int blake2b_compress_ref(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]); -int blake2b_compress_ssse3(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]); -int blake2b_compress_sse41(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]); -int blake2b_compress_avx2(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c deleted file mode 100644 index 7cb41fb..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c +++ /dev/null @@ -1,49 +0,0 @@ - -#define BLAKE2_USE_SSSE3 -#define BLAKE2_USE_SSE41 -#define BLAKE2_USE_AVX2 - -#include -#include - -#include "blake2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" - -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# pragma GCC target("sse4.1") -# pragma GCC target("avx2") -# endif - -# include -# include -# include -# include - -# include "blake2b-compress-avx2.h" - -CRYPTO_ALIGN(64) -static const uint64_t blake2b_IV[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL -}; - -int -blake2b_compress_avx2(blake2b_state *S, const uint8_t block[BLAKE2B_BLOCKBYTES]) -{ - __m256i a = LOADU(&S->h[0]); - __m256i b = LOADU(&S->h[4]); - BLAKE2B_COMPRESS_V1(a, b, block, S->t[0], S->t[1], S->f[0], S->f[1]); - STOREU(&S->h[0], a); - STOREU(&S->h[4], b); - - return 0; -} - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h deleted file mode 100644 index 7c11321..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h +++ /dev/null @@ -1,142 +0,0 @@ - -#ifndef blake2b_compress_avx2_H -#define blake2b_compress_avx2_H - -#define LOADU128(p) _mm_loadu_si128((const __m128i *) (p)) -#define STOREU128(p, r) _mm_storeu_si128((__m128i *) (p), r) - -#define LOADU(p) _mm256_loadu_si256((const __m256i *) (p)) -#define STOREU(p, r) _mm256_storeu_si256((__m256i *) (p), r) - -#if defined(__INTEL_COMPILER) || defined(_MSC_VER) || defined(__GNUC__) -# define LOAD(p) _mm256_load_si256((const __m256i *) (p)) -# define STORE(p, r) _mm256_store_si256((__m256i *) (p), r) -#else -# define LOAD(p) LOADU(p) -# define STORE(p, r) STOREU(p, r) -#endif - -static inline uint64_t -LOADU64(const void *p) -{ - uint64_t v; - memcpy(&v, p, sizeof v); - return v; -} - -#define ROTATE16 \ - _mm256_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9, 2, \ - 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9) - -#define ROTATE24 \ - _mm256_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10, 3, \ - 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10) - -#define ADD(a, b) _mm256_add_epi64(a, b) -#define SUB(a, b) _mm256_sub_epi64(a, b) - -#define XOR(a, b) _mm256_xor_si256(a, b) -#define AND(a, b) _mm256_and_si256(a, b) -#define OR(a, b) _mm256_or_si256(a, b) - -#define ROT32(x) _mm256_shuffle_epi32((x), _MM_SHUFFLE(2, 3, 0, 1)) -#define ROT24(x) _mm256_shuffle_epi8((x), ROTATE24) -#define ROT16(x) _mm256_shuffle_epi8((x), ROTATE16) -#define ROT63(x) _mm256_or_si256(_mm256_srli_epi64((x), 63), ADD((x), (x))) - -#define BLAKE2B_G1_V1(a, b, c, d, m) \ - do { \ - a = ADD(a, m); \ - a = ADD(a, b); \ - d = XOR(d, a); \ - d = ROT32(d); \ - c = ADD(c, d); \ - b = XOR(b, c); \ - b = ROT24(b); \ - } while (0) - -#define BLAKE2B_G2_V1(a, b, c, d, m) \ - do { \ - a = ADD(a, m); \ - a = ADD(a, b); \ - d = XOR(d, a); \ - d = ROT16(d); \ - c = ADD(c, d); \ - b = XOR(b, c); \ - b = ROT63(b); \ - } while (0) - -#define BLAKE2B_DIAG_V1(a, b, c, d) \ - do { \ - a = _mm256_permute4x64_epi64(a, _MM_SHUFFLE(2, 1, 0, 3)); \ - d = _mm256_permute4x64_epi64(d, _MM_SHUFFLE(1, 0, 3, 2)); \ - c = _mm256_permute4x64_epi64(c, _MM_SHUFFLE(0, 3, 2, 1)); \ - } while(0) - -#define BLAKE2B_UNDIAG_V1(a, b, c, d) \ - do { \ - a = _mm256_permute4x64_epi64(a, _MM_SHUFFLE(0, 3, 2, 1)); \ - d = _mm256_permute4x64_epi64(d, _MM_SHUFFLE(1, 0, 3, 2)); \ - c = _mm256_permute4x64_epi64(c, _MM_SHUFFLE(2, 1, 0, 3)); \ - } while(0) - -#include "blake2b-load-avx2.h" - -#define BLAKE2B_ROUND_V1(a, b, c, d, r, m) \ - do { \ - __m256i b0; \ - BLAKE2B_LOAD_MSG_##r##_1(b0); \ - BLAKE2B_G1_V1(a, b, c, d, b0); \ - BLAKE2B_LOAD_MSG_##r##_2(b0); \ - BLAKE2B_G2_V1(a, b, c, d, b0); \ - BLAKE2B_DIAG_V1(a, b, c, d); \ - BLAKE2B_LOAD_MSG_##r##_3(b0); \ - BLAKE2B_G1_V1(a, b, c, d, b0); \ - BLAKE2B_LOAD_MSG_##r##_4(b0); \ - BLAKE2B_G2_V1(a, b, c, d, b0); \ - BLAKE2B_UNDIAG_V1(a, b, c, d); \ - } while (0) - -#define BLAKE2B_ROUNDS_V1(a, b, c, d, m) \ - do { \ - BLAKE2B_ROUND_V1(a, b, c, d, 0, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 1, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 2, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 3, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 4, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 5, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 6, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 7, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 8, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 9, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 10, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 11, (m)); \ - } while (0) - -#define DECLARE_MESSAGE_WORDS(m) \ - const __m256i m0 = _mm256_broadcastsi128_si256(LOADU128((m) + 0)); \ - const __m256i m1 = _mm256_broadcastsi128_si256(LOADU128((m) + 16)); \ - const __m256i m2 = _mm256_broadcastsi128_si256(LOADU128((m) + 32)); \ - const __m256i m3 = _mm256_broadcastsi128_si256(LOADU128((m) + 48)); \ - const __m256i m4 = _mm256_broadcastsi128_si256(LOADU128((m) + 64)); \ - const __m256i m5 = _mm256_broadcastsi128_si256(LOADU128((m) + 80)); \ - const __m256i m6 = _mm256_broadcastsi128_si256(LOADU128((m) + 96)); \ - const __m256i m7 = _mm256_broadcastsi128_si256(LOADU128((m) + 112)); \ - __m256i t0, t1; - -#define BLAKE2B_COMPRESS_V1(a, b, m, t0, t1, f0, f1) \ - do { \ - DECLARE_MESSAGE_WORDS(m) \ - const __m256i iv0 = a; \ - const __m256i iv1 = b; \ - __m256i c = LOAD(&blake2b_IV[0]); \ - __m256i d = \ - XOR(LOAD(&blake2b_IV[4]), _mm256_set_epi64x(f1, f0, t1, t0)); \ - BLAKE2B_ROUNDS_V1(a, b, c, d, m); \ - a = XOR(a, c); \ - b = XOR(b, d); \ - a = XOR(a, iv0); \ - b = XOR(b, iv1); \ - } while (0) - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c deleted file mode 100644 index 5fb356f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c +++ /dev/null @@ -1,93 +0,0 @@ - -#include -#include - -#include "blake2.h" -#include "private/common.h" - -CRYPTO_ALIGN(64) -static const uint64_t blake2b_IV[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL -}; - -static const uint8_t blake2b_sigma[12][16] = { - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, - { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 }, - { 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4 }, - { 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8 }, - { 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13 }, - { 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9 }, - { 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11 }, - { 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10 }, - { 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5 }, - { 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0 }, - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, - { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 } -}; - -int -blake2b_compress_ref(blake2b_state *S, const uint8_t block[BLAKE2B_BLOCKBYTES]) -{ - uint64_t m[16]; - uint64_t v[16]; - int i; - - for (i = 0; i < 16; ++i) { - m[i] = LOAD64_LE(block + i * sizeof m[i]); - } - for (i = 0; i < 8; ++i) { - v[i] = S->h[i]; - } - v[8] = blake2b_IV[0]; - v[9] = blake2b_IV[1]; - v[10] = blake2b_IV[2]; - v[11] = blake2b_IV[3]; - v[12] = S->t[0] ^ blake2b_IV[4]; - v[13] = S->t[1] ^ blake2b_IV[5]; - v[14] = S->f[0] ^ blake2b_IV[6]; - v[15] = S->f[1] ^ blake2b_IV[7]; -#define G(r, i, a, b, c, d) \ - do { \ - a += b + m[blake2b_sigma[r][2 * i + 0]]; \ - d = ROTR64(d ^ a, 32); \ - c += d; \ - b = ROTR64(b ^ c, 24); \ - a += b + m[blake2b_sigma[r][2 * i + 1]]; \ - d = ROTR64(d ^ a, 16); \ - c += d; \ - b = ROTR64(b ^ c, 63); \ - } while (0) -#define ROUND(r) \ - do { \ - G(r, 0, v[0], v[4], v[8], v[12]); \ - G(r, 1, v[1], v[5], v[9], v[13]); \ - G(r, 2, v[2], v[6], v[10], v[14]); \ - G(r, 3, v[3], v[7], v[11], v[15]); \ - G(r, 4, v[0], v[5], v[10], v[15]); \ - G(r, 5, v[1], v[6], v[11], v[12]); \ - G(r, 6, v[2], v[7], v[8], v[13]); \ - G(r, 7, v[3], v[4], v[9], v[14]); \ - } while (0) - ROUND(0); - ROUND(1); - ROUND(2); - ROUND(3); - ROUND(4); - ROUND(5); - ROUND(6); - ROUND(7); - ROUND(8); - ROUND(9); - ROUND(10); - ROUND(11); - - for (i = 0; i < 8; ++i) { - S->h[i] = S->h[i] ^ v[i] ^ v[i + 8]; - } - -#undef G -#undef ROUND - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c deleted file mode 100644 index 9e5c0c5..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c +++ /dev/null @@ -1,87 +0,0 @@ - -#define BLAKE2_USE_SSSE3 -#define BLAKE2_USE_SSE41 - -#include -#include - -#include "blake2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" - -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) && \ - defined(HAVE_SMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# pragma GCC target("sse4.1") -# endif - -# include -# include -# include - -# include "blake2b-compress-sse41.h" - -CRYPTO_ALIGN(64) -static const uint64_t blake2b_IV[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL -}; - -int -blake2b_compress_sse41(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]) -{ - __m128i row1l, row1h; - __m128i row2l, row2h; - __m128i row3l, row3h; - __m128i row4l, row4h; - __m128i b0, b1; - __m128i t0, t1; - const __m128i r16 = - _mm_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9); - const __m128i r24 = - _mm_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10); - const __m128i m0 = LOADU(block + 00); - const __m128i m1 = LOADU(block + 16); - const __m128i m2 = LOADU(block + 32); - const __m128i m3 = LOADU(block + 48); - const __m128i m4 = LOADU(block + 64); - const __m128i m5 = LOADU(block + 80); - const __m128i m6 = LOADU(block + 96); - const __m128i m7 = LOADU(block + 112); - row1l = LOADU(&S->h[0]); - row1h = LOADU(&S->h[2]); - row2l = LOADU(&S->h[4]); - row2h = LOADU(&S->h[6]); - row3l = LOADU(&blake2b_IV[0]); - row3h = LOADU(&blake2b_IV[2]); - row4l = _mm_xor_si128(LOADU(&blake2b_IV[4]), LOADU(&S->t[0])); - row4h = _mm_xor_si128(LOADU(&blake2b_IV[6]), LOADU(&S->f[0])); - ROUND(0); - ROUND(1); - ROUND(2); - ROUND(3); - ROUND(4); - ROUND(5); - ROUND(6); - ROUND(7); - ROUND(8); - ROUND(9); - ROUND(10); - ROUND(11); - row1l = _mm_xor_si128(row3l, row1l); - row1h = _mm_xor_si128(row3h, row1h); - STOREU(&S->h[0], _mm_xor_si128(LOADU(&S->h[0]), row1l)); - STOREU(&S->h[2], _mm_xor_si128(LOADU(&S->h[2]), row1h)); - row2l = _mm_xor_si128(row4l, row2l); - row2h = _mm_xor_si128(row4h, row2h); - STOREU(&S->h[4], _mm_xor_si128(LOADU(&S->h[4]), row2l)); - STOREU(&S->h[6], _mm_xor_si128(LOADU(&S->h[6]), row2h)); - return 0; -} - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h deleted file mode 100644 index ac78e5b..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h +++ /dev/null @@ -1,103 +0,0 @@ - -#ifndef blake2b_compress_sse41_H -#define blake2b_compress_sse41_H - -#define LOADU(p) _mm_loadu_si128((const __m128i *) (const void *) (p)) -#define STOREU(p, r) _mm_storeu_si128((__m128i *) (void *) (p), r) - -#define _mm_roti_epi64(x, c) \ - (-(c) == 32) \ - ? _mm_shuffle_epi32((x), _MM_SHUFFLE(2, 3, 0, 1)) \ - : (-(c) == 24) \ - ? _mm_shuffle_epi8((x), r24) \ - : (-(c) == 16) \ - ? _mm_shuffle_epi8((x), r16) \ - : (-(c) == 63) \ - ? _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_add_epi64((x), (x))) \ - : _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_slli_epi64((x), 64 - (-(c)))) - -#define G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1) \ - row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ - row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ - \ - row4l = _mm_xor_si128(row4l, row1l); \ - row4h = _mm_xor_si128(row4h, row1h); \ - \ - row4l = _mm_roti_epi64(row4l, -32); \ - row4h = _mm_roti_epi64(row4h, -32); \ - \ - row3l = _mm_add_epi64(row3l, row4l); \ - row3h = _mm_add_epi64(row3h, row4h); \ - \ - row2l = _mm_xor_si128(row2l, row3l); \ - row2h = _mm_xor_si128(row2h, row3h); \ - \ - row2l = _mm_roti_epi64(row2l, -24); \ - row2h = _mm_roti_epi64(row2h, -24); - -#define G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1) \ - row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ - row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ - \ - row4l = _mm_xor_si128(row4l, row1l); \ - row4h = _mm_xor_si128(row4h, row1h); \ - \ - row4l = _mm_roti_epi64(row4l, -16); \ - row4h = _mm_roti_epi64(row4h, -16); \ - \ - row3l = _mm_add_epi64(row3l, row4l); \ - row3h = _mm_add_epi64(row3h, row4h); \ - \ - row2l = _mm_xor_si128(row2l, row3l); \ - row2h = _mm_xor_si128(row2h, row3h); \ - \ - row2l = _mm_roti_epi64(row2l, -63); \ - row2h = _mm_roti_epi64(row2h, -63); - -#define DIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h) \ - t0 = _mm_alignr_epi8(row2h, row2l, 8); \ - t1 = _mm_alignr_epi8(row2l, row2h, 8); \ - row2l = t0; \ - row2h = t1; \ - \ - t0 = row3l; \ - row3l = row3h; \ - row3h = t0; \ - \ - t0 = _mm_alignr_epi8(row4h, row4l, 8); \ - t1 = _mm_alignr_epi8(row4l, row4h, 8); \ - row4l = t1; \ - row4h = t0; - -#define UNDIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h) \ - t0 = _mm_alignr_epi8(row2l, row2h, 8); \ - t1 = _mm_alignr_epi8(row2h, row2l, 8); \ - row2l = t0; \ - row2h = t1; \ - \ - t0 = row3l; \ - row3l = row3h; \ - row3h = t0; \ - \ - t0 = _mm_alignr_epi8(row4l, row4h, 8); \ - t1 = _mm_alignr_epi8(row4h, row4l, 8); \ - row4l = t1; \ - row4h = t0; - -#include "blake2b-load-sse41.h" - -#define ROUND(r) \ - LOAD_MSG_##r##_1(b0, b1); \ - G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - LOAD_MSG_##r##_2(b0, b1); \ - G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - DIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h); \ - LOAD_MSG_##r##_3(b0, b1); \ - G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - LOAD_MSG_##r##_4(b0, b1); \ - G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - UNDIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c deleted file mode 100644 index 5684bc8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c +++ /dev/null @@ -1,90 +0,0 @@ - -#include -#include - -#include "blake2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" - -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# endif - -# include -# include - -# include "blake2b-compress-ssse3.h" - -CRYPTO_ALIGN(64) -static const uint64_t blake2b_IV[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL -}; - -int -blake2b_compress_ssse3(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]) -{ - __m128i row1l, row1h; - __m128i row2l, row2h; - __m128i row3l, row3h; - __m128i row4l, row4h; - __m128i b0, b1; - __m128i t0, t1; - const __m128i r16 = - _mm_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9); - const __m128i r24 = - _mm_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10); - const uint64_t m0 = ((const uint64_t *) block)[0]; - const uint64_t m1 = ((const uint64_t *) block)[1]; - const uint64_t m2 = ((const uint64_t *) block)[2]; - const uint64_t m3 = ((const uint64_t *) block)[3]; - const uint64_t m4 = ((const uint64_t *) block)[4]; - const uint64_t m5 = ((const uint64_t *) block)[5]; - const uint64_t m6 = ((const uint64_t *) block)[6]; - const uint64_t m7 = ((const uint64_t *) block)[7]; - const uint64_t m8 = ((const uint64_t *) block)[8]; - const uint64_t m9 = ((const uint64_t *) block)[9]; - const uint64_t m10 = ((const uint64_t *) block)[10]; - const uint64_t m11 = ((const uint64_t *) block)[11]; - const uint64_t m12 = ((const uint64_t *) block)[12]; - const uint64_t m13 = ((const uint64_t *) block)[13]; - const uint64_t m14 = ((const uint64_t *) block)[14]; - const uint64_t m15 = ((const uint64_t *) block)[15]; - - row1l = LOADU(&S->h[0]); - row1h = LOADU(&S->h[2]); - row2l = LOADU(&S->h[4]); - row2h = LOADU(&S->h[6]); - row3l = LOADU(&blake2b_IV[0]); - row3h = LOADU(&blake2b_IV[2]); - row4l = _mm_xor_si128(LOADU(&blake2b_IV[4]), LOADU(&S->t[0])); - row4h = _mm_xor_si128(LOADU(&blake2b_IV[6]), LOADU(&S->f[0])); - ROUND(0); - ROUND(1); - ROUND(2); - ROUND(3); - ROUND(4); - ROUND(5); - ROUND(6); - ROUND(7); - ROUND(8); - ROUND(9); - ROUND(10); - ROUND(11); - row1l = _mm_xor_si128(row3l, row1l); - row1h = _mm_xor_si128(row3h, row1h); - STOREU(&S->h[0], _mm_xor_si128(LOADU(&S->h[0]), row1l)); - STOREU(&S->h[2], _mm_xor_si128(LOADU(&S->h[2]), row1h)); - row2l = _mm_xor_si128(row4l, row2l); - row2h = _mm_xor_si128(row4h, row2h); - STOREU(&S->h[4], _mm_xor_si128(LOADU(&S->h[4]), row2l)); - STOREU(&S->h[6], _mm_xor_si128(LOADU(&S->h[6]), row2h)); - return 0; -} - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h deleted file mode 100644 index 9a7164f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h +++ /dev/null @@ -1,103 +0,0 @@ - -#ifndef blake2b_compress_ssse3_H -#define blake2b_compress_ssse3_H - -#define LOADU(p) _mm_loadu_si128((const __m128i *) (const void *) (p)) -#define STOREU(p, r) _mm_storeu_si128((__m128i *) (void *) (p), r) - -#define _mm_roti_epi64(x, c) \ - (-(c) == 32) \ - ? _mm_shuffle_epi32((x), _MM_SHUFFLE(2, 3, 0, 1)) \ - : (-(c) == 24) \ - ? _mm_shuffle_epi8((x), r24) \ - : (-(c) == 16) \ - ? _mm_shuffle_epi8((x), r16) \ - : (-(c) == 63) \ - ? _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_add_epi64((x), (x))) \ - : _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_slli_epi64((x), 64 - (-(c)))) - -#define G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1) \ - row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ - row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ - \ - row4l = _mm_xor_si128(row4l, row1l); \ - row4h = _mm_xor_si128(row4h, row1h); \ - \ - row4l = _mm_roti_epi64(row4l, -32); \ - row4h = _mm_roti_epi64(row4h, -32); \ - \ - row3l = _mm_add_epi64(row3l, row4l); \ - row3h = _mm_add_epi64(row3h, row4h); \ - \ - row2l = _mm_xor_si128(row2l, row3l); \ - row2h = _mm_xor_si128(row2h, row3h); \ - \ - row2l = _mm_roti_epi64(row2l, -24); \ - row2h = _mm_roti_epi64(row2h, -24); - -#define G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1) \ - row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ - row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ - \ - row4l = _mm_xor_si128(row4l, row1l); \ - row4h = _mm_xor_si128(row4h, row1h); \ - \ - row4l = _mm_roti_epi64(row4l, -16); \ - row4h = _mm_roti_epi64(row4h, -16); \ - \ - row3l = _mm_add_epi64(row3l, row4l); \ - row3h = _mm_add_epi64(row3h, row4h); \ - \ - row2l = _mm_xor_si128(row2l, row3l); \ - row2h = _mm_xor_si128(row2h, row3h); \ - \ - row2l = _mm_roti_epi64(row2l, -63); \ - row2h = _mm_roti_epi64(row2h, -63); - -#define DIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h) \ - t0 = _mm_alignr_epi8(row2h, row2l, 8); \ - t1 = _mm_alignr_epi8(row2l, row2h, 8); \ - row2l = t0; \ - row2h = t1; \ - \ - t0 = row3l; \ - row3l = row3h; \ - row3h = t0; \ - \ - t0 = _mm_alignr_epi8(row4h, row4l, 8); \ - t1 = _mm_alignr_epi8(row4l, row4h, 8); \ - row4l = t1; \ - row4h = t0; - -#define UNDIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h) \ - t0 = _mm_alignr_epi8(row2l, row2h, 8); \ - t1 = _mm_alignr_epi8(row2h, row2l, 8); \ - row2l = t0; \ - row2h = t1; \ - \ - t0 = row3l; \ - row3l = row3h; \ - row3h = t0; \ - \ - t0 = _mm_alignr_epi8(row4l, row4h, 8); \ - t1 = _mm_alignr_epi8(row4h, row4l, 8); \ - row4l = t1; \ - row4h = t0; - -#include "blake2b-load-sse2.h" - -#define ROUND(r) \ - LOAD_MSG_##r##_1(b0, b1); \ - G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - LOAD_MSG_##r##_2(b0, b1); \ - G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - DIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h); \ - LOAD_MSG_##r##_3(b0, b1); \ - G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - LOAD_MSG_##r##_4(b0, b1); \ - G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - UNDIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h deleted file mode 100644 index 12a5d18..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h +++ /dev/null @@ -1,340 +0,0 @@ -#ifndef blake2b_load_avx2_H -#define blake2b_load_avx2_H - -#define BLAKE2B_LOAD_MSG_0_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m0, m1); \ - t1 = _mm256_unpacklo_epi64(m2, m3); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_0_2(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m0, m1); \ - t1 = _mm256_unpackhi_epi64(m2, m3); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_0_3(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m7, m4); \ - t1 = _mm256_unpacklo_epi64(m5, m6); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_0_4(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m7, m4); \ - t1 = _mm256_unpackhi_epi64(m5, m6); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_1_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m7, m2); \ - t1 = _mm256_unpackhi_epi64(m4, m6); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_1_2(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m5, m4); \ - t1 = _mm256_alignr_epi8(m3, m7, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_1_3(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m2, m0); \ - t1 = _mm256_blend_epi32(m5, m0, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_1_4(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m6, m1, 8); \ - t1 = _mm256_blend_epi32(m3, m1, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_2_1(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m6, m5, 8); \ - t1 = _mm256_unpackhi_epi64(m2, m7); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_2_2(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m4, m0); \ - t1 = _mm256_blend_epi32(m6, m1, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_2_3(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m5, m4, 8); \ - t1 = _mm256_unpackhi_epi64(m1, m3); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_2_4(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m2, m7); \ - t1 = _mm256_blend_epi32(m0, m3, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_3_1(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m3, m1); \ - t1 = _mm256_unpackhi_epi64(m6, m5); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_3_2(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m4, m0); \ - t1 = _mm256_unpacklo_epi64(m6, m7); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_3_3(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m1, m7, 8); \ - t1 = _mm256_shuffle_epi32(m2, _MM_SHUFFLE(1, 0, 3, 2)); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_3_4(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m4, m3); \ - t1 = _mm256_unpacklo_epi64(m5, m0); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_4_1(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m4, m2); \ - t1 = _mm256_unpacklo_epi64(m1, m5); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_4_2(b0) \ - do { \ - t0 = _mm256_blend_epi32(m3, m0, 0x33); \ - t1 = _mm256_blend_epi32(m7, m2, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_4_3(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m7, m1, 8); \ - t1 = _mm256_alignr_epi8(m3, m5, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_4_4(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m6, m0); \ - t1 = _mm256_unpacklo_epi64(m6, m4); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_5_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m1, m3); \ - t1 = _mm256_unpacklo_epi64(m0, m4); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_5_2(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m6, m5); \ - t1 = _mm256_unpackhi_epi64(m5, m1); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_5_3(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m2, m0, 8); \ - t1 = _mm256_unpackhi_epi64(m3, m7); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_5_4(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m4, m6); \ - t1 = _mm256_alignr_epi8(m7, m2, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_6_1(b0) \ - do { \ - t0 = _mm256_blend_epi32(m0, m6, 0x33); \ - t1 = _mm256_unpacklo_epi64(m7, m2); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_6_2(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m2, m7); \ - t1 = _mm256_alignr_epi8(m5, m6, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_6_3(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m4, m0); \ - t1 = _mm256_blend_epi32(m4, m3, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_6_4(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m5, m3); \ - t1 = _mm256_shuffle_epi32(m1, _MM_SHUFFLE(1, 0, 3, 2)); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_7_1(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m6, m3); \ - t1 = _mm256_blend_epi32(m1, m6, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_7_2(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m7, m5, 8); \ - t1 = _mm256_unpackhi_epi64(m0, m4); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_7_3(b0) \ - do { \ - t0 = _mm256_blend_epi32(m2, m1, 0x33); \ - t1 = _mm256_alignr_epi8(m4, m7, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_7_4(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m5, m0); \ - t1 = _mm256_unpacklo_epi64(m2, m3); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_8_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m3, m7); \ - t1 = _mm256_alignr_epi8(m0, m5, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_8_2(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m7, m4); \ - t1 = _mm256_alignr_epi8(m4, m1, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_8_3(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m5, m6); \ - t1 = _mm256_unpackhi_epi64(m6, m0); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_8_4(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m1, m2, 8); \ - t1 = _mm256_alignr_epi8(m2, m3, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_9_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m5, m4); \ - t1 = _mm256_unpackhi_epi64(m3, m0); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_9_2(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m1, m2); \ - t1 = _mm256_blend_epi32(m2, m3, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_9_3(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m6, m7); \ - t1 = _mm256_unpackhi_epi64(m4, m1); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_9_4(b0) \ - do { \ - t0 = _mm256_blend_epi32(m5, m0, 0x33); \ - t1 = _mm256_unpacklo_epi64(m7, m6); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_10_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m0, m1); \ - t1 = _mm256_unpacklo_epi64(m2, m3); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_10_2(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m0, m1); \ - t1 = _mm256_unpackhi_epi64(m2, m3); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_10_3(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m7, m4); \ - t1 = _mm256_unpacklo_epi64(m5, m6); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_10_4(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m7, m4); \ - t1 = _mm256_unpackhi_epi64(m5, m6); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_11_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m7, m2); \ - t1 = _mm256_unpackhi_epi64(m4, m6); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_11_2(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m5, m4); \ - t1 = _mm256_alignr_epi8(m3, m7, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_11_3(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m2, m0); \ - t1 = _mm256_blend_epi32(m5, m0, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_11_4(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m6, m1, 8); \ - t1 = _mm256_blend_epi32(m3, m1, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h deleted file mode 100644 index 8e67421..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h +++ /dev/null @@ -1,164 +0,0 @@ -/* - BLAKE2 reference source code package - optimized C implementations - - Written in 2012 by Samuel Neves - - To the extent possible under law, the author(s) have dedicated all copyright - and related and neighboring rights to this software to the public domain - worldwide. This software is distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with - this software. If not, see - . -*/ - -#ifndef blake2b_load_sse2_H -#define blake2b_load_sse2_H - -#define LOAD_MSG_0_1(b0, b1) \ - b0 = _mm_set_epi64x(m2, m0); \ - b1 = _mm_set_epi64x(m6, m4) -#define LOAD_MSG_0_2(b0, b1) \ - b0 = _mm_set_epi64x(m3, m1); \ - b1 = _mm_set_epi64x(m7, m5) -#define LOAD_MSG_0_3(b0, b1) \ - b0 = _mm_set_epi64x(m10, m8); \ - b1 = _mm_set_epi64x(m14, m12) -#define LOAD_MSG_0_4(b0, b1) \ - b0 = _mm_set_epi64x(m11, m9); \ - b1 = _mm_set_epi64x(m15, m13) -#define LOAD_MSG_1_1(b0, b1) \ - b0 = _mm_set_epi64x(m4, m14); \ - b1 = _mm_set_epi64x(m13, m9) -#define LOAD_MSG_1_2(b0, b1) \ - b0 = _mm_set_epi64x(m8, m10); \ - b1 = _mm_set_epi64x(m6, m15) -#define LOAD_MSG_1_3(b0, b1) \ - b0 = _mm_set_epi64x(m0, m1); \ - b1 = _mm_set_epi64x(m5, m11) -#define LOAD_MSG_1_4(b0, b1) \ - b0 = _mm_set_epi64x(m2, m12); \ - b1 = _mm_set_epi64x(m3, m7) -#define LOAD_MSG_2_1(b0, b1) \ - b0 = _mm_set_epi64x(m12, m11); \ - b1 = _mm_set_epi64x(m15, m5) -#define LOAD_MSG_2_2(b0, b1) \ - b0 = _mm_set_epi64x(m0, m8); \ - b1 = _mm_set_epi64x(m13, m2) -#define LOAD_MSG_2_3(b0, b1) \ - b0 = _mm_set_epi64x(m3, m10); \ - b1 = _mm_set_epi64x(m9, m7) -#define LOAD_MSG_2_4(b0, b1) \ - b0 = _mm_set_epi64x(m6, m14); \ - b1 = _mm_set_epi64x(m4, m1) -#define LOAD_MSG_3_1(b0, b1) \ - b0 = _mm_set_epi64x(m3, m7); \ - b1 = _mm_set_epi64x(m11, m13) -#define LOAD_MSG_3_2(b0, b1) \ - b0 = _mm_set_epi64x(m1, m9); \ - b1 = _mm_set_epi64x(m14, m12) -#define LOAD_MSG_3_3(b0, b1) \ - b0 = _mm_set_epi64x(m5, m2); \ - b1 = _mm_set_epi64x(m15, m4) -#define LOAD_MSG_3_4(b0, b1) \ - b0 = _mm_set_epi64x(m10, m6); \ - b1 = _mm_set_epi64x(m8, m0) -#define LOAD_MSG_4_1(b0, b1) \ - b0 = _mm_set_epi64x(m5, m9); \ - b1 = _mm_set_epi64x(m10, m2) -#define LOAD_MSG_4_2(b0, b1) \ - b0 = _mm_set_epi64x(m7, m0); \ - b1 = _mm_set_epi64x(m15, m4) -#define LOAD_MSG_4_3(b0, b1) \ - b0 = _mm_set_epi64x(m11, m14); \ - b1 = _mm_set_epi64x(m3, m6) -#define LOAD_MSG_4_4(b0, b1) \ - b0 = _mm_set_epi64x(m12, m1); \ - b1 = _mm_set_epi64x(m13, m8) -#define LOAD_MSG_5_1(b0, b1) \ - b0 = _mm_set_epi64x(m6, m2); \ - b1 = _mm_set_epi64x(m8, m0) -#define LOAD_MSG_5_2(b0, b1) \ - b0 = _mm_set_epi64x(m10, m12); \ - b1 = _mm_set_epi64x(m3, m11) -#define LOAD_MSG_5_3(b0, b1) \ - b0 = _mm_set_epi64x(m7, m4); \ - b1 = _mm_set_epi64x(m1, m15) -#define LOAD_MSG_5_4(b0, b1) \ - b0 = _mm_set_epi64x(m5, m13); \ - b1 = _mm_set_epi64x(m9, m14) -#define LOAD_MSG_6_1(b0, b1) \ - b0 = _mm_set_epi64x(m1, m12); \ - b1 = _mm_set_epi64x(m4, m14) -#define LOAD_MSG_6_2(b0, b1) \ - b0 = _mm_set_epi64x(m15, m5); \ - b1 = _mm_set_epi64x(m10, m13) -#define LOAD_MSG_6_3(b0, b1) \ - b0 = _mm_set_epi64x(m6, m0); \ - b1 = _mm_set_epi64x(m8, m9) -#define LOAD_MSG_6_4(b0, b1) \ - b0 = _mm_set_epi64x(m3, m7); \ - b1 = _mm_set_epi64x(m11, m2) -#define LOAD_MSG_7_1(b0, b1) \ - b0 = _mm_set_epi64x(m7, m13); \ - b1 = _mm_set_epi64x(m3, m12) -#define LOAD_MSG_7_2(b0, b1) \ - b0 = _mm_set_epi64x(m14, m11); \ - b1 = _mm_set_epi64x(m9, m1) -#define LOAD_MSG_7_3(b0, b1) \ - b0 = _mm_set_epi64x(m15, m5); \ - b1 = _mm_set_epi64x(m2, m8) -#define LOAD_MSG_7_4(b0, b1) \ - b0 = _mm_set_epi64x(m4, m0); \ - b1 = _mm_set_epi64x(m10, m6) -#define LOAD_MSG_8_1(b0, b1) \ - b0 = _mm_set_epi64x(m14, m6); \ - b1 = _mm_set_epi64x(m0, m11) -#define LOAD_MSG_8_2(b0, b1) \ - b0 = _mm_set_epi64x(m9, m15); \ - b1 = _mm_set_epi64x(m8, m3) -#define LOAD_MSG_8_3(b0, b1) \ - b0 = _mm_set_epi64x(m13, m12); \ - b1 = _mm_set_epi64x(m10, m1) -#define LOAD_MSG_8_4(b0, b1) \ - b0 = _mm_set_epi64x(m7, m2); \ - b1 = _mm_set_epi64x(m5, m4) -#define LOAD_MSG_9_1(b0, b1) \ - b0 = _mm_set_epi64x(m8, m10); \ - b1 = _mm_set_epi64x(m1, m7) -#define LOAD_MSG_9_2(b0, b1) \ - b0 = _mm_set_epi64x(m4, m2); \ - b1 = _mm_set_epi64x(m5, m6) -#define LOAD_MSG_9_3(b0, b1) \ - b0 = _mm_set_epi64x(m9, m15); \ - b1 = _mm_set_epi64x(m13, m3) -#define LOAD_MSG_9_4(b0, b1) \ - b0 = _mm_set_epi64x(m14, m11); \ - b1 = _mm_set_epi64x(m0, m12) -#define LOAD_MSG_10_1(b0, b1) \ - b0 = _mm_set_epi64x(m2, m0); \ - b1 = _mm_set_epi64x(m6, m4) -#define LOAD_MSG_10_2(b0, b1) \ - b0 = _mm_set_epi64x(m3, m1); \ - b1 = _mm_set_epi64x(m7, m5) -#define LOAD_MSG_10_3(b0, b1) \ - b0 = _mm_set_epi64x(m10, m8); \ - b1 = _mm_set_epi64x(m14, m12) -#define LOAD_MSG_10_4(b0, b1) \ - b0 = _mm_set_epi64x(m11, m9); \ - b1 = _mm_set_epi64x(m15, m13) -#define LOAD_MSG_11_1(b0, b1) \ - b0 = _mm_set_epi64x(m4, m14); \ - b1 = _mm_set_epi64x(m13, m9) -#define LOAD_MSG_11_2(b0, b1) \ - b0 = _mm_set_epi64x(m8, m10); \ - b1 = _mm_set_epi64x(m6, m15) -#define LOAD_MSG_11_3(b0, b1) \ - b0 = _mm_set_epi64x(m0, m1); \ - b1 = _mm_set_epi64x(m5, m11) -#define LOAD_MSG_11_4(b0, b1) \ - b0 = _mm_set_epi64x(m2, m12); \ - b1 = _mm_set_epi64x(m3, m7) - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h deleted file mode 100644 index 31745fc..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h +++ /dev/null @@ -1,307 +0,0 @@ -/* - BLAKE2 reference source code package - optimized C implementations - - Written in 2012 by Samuel Neves - - To the extent possible under law, the author(s) have dedicated all copyright - and related and neighboring rights to this software to the public domain - worldwide. This software is distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with - this software. If not, see - . -*/ - -#ifndef blake2b_load_sse41_H -#define blake2b_load_sse41_H - -#define LOAD_MSG_0_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m0, m1); \ - b1 = _mm_unpacklo_epi64(m2, m3); \ - } while (0) - -#define LOAD_MSG_0_2(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m0, m1); \ - b1 = _mm_unpackhi_epi64(m2, m3); \ - } while (0) - -#define LOAD_MSG_0_3(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m4, m5); \ - b1 = _mm_unpacklo_epi64(m6, m7); \ - } while (0) - -#define LOAD_MSG_0_4(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m4, m5); \ - b1 = _mm_unpackhi_epi64(m6, m7); \ - } while (0) - -#define LOAD_MSG_1_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m7, m2); \ - b1 = _mm_unpackhi_epi64(m4, m6); \ - } while (0) - -#define LOAD_MSG_1_2(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m5, m4); \ - b1 = _mm_alignr_epi8(m3, m7, 8); \ - } while (0) - -#define LOAD_MSG_1_3(b0, b1) \ - do { \ - b0 = _mm_shuffle_epi32(m0, _MM_SHUFFLE(1, 0, 3, 2)); \ - b1 = _mm_unpackhi_epi64(m5, m2); \ - } while (0) - -#define LOAD_MSG_1_4(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m6, m1); \ - b1 = _mm_unpackhi_epi64(m3, m1); \ - } while (0) - -#define LOAD_MSG_2_1(b0, b1) \ - do { \ - b0 = _mm_alignr_epi8(m6, m5, 8); \ - b1 = _mm_unpackhi_epi64(m2, m7); \ - } while (0) - -#define LOAD_MSG_2_2(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m4, m0); \ - b1 = _mm_blend_epi16(m1, m6, 0xF0); \ - } while (0) - -#define LOAD_MSG_2_3(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m5, m1, 0xF0); \ - b1 = _mm_unpackhi_epi64(m3, m4); \ - } while (0) - -#define LOAD_MSG_2_4(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m7, m3); \ - b1 = _mm_alignr_epi8(m2, m0, 8); \ - } while (0) - -#define LOAD_MSG_3_1(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m3, m1); \ - b1 = _mm_unpackhi_epi64(m6, m5); \ - } while (0) - -#define LOAD_MSG_3_2(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m4, m0); \ - b1 = _mm_unpacklo_epi64(m6, m7); \ - } while (0) - -#define LOAD_MSG_3_3(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m1, m2, 0xF0); \ - b1 = _mm_blend_epi16(m2, m7, 0xF0); \ - } while (0) - -#define LOAD_MSG_3_4(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m3, m5); \ - b1 = _mm_unpacklo_epi64(m0, m4); \ - } while (0) - -#define LOAD_MSG_4_1(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m4, m2); \ - b1 = _mm_unpacklo_epi64(m1, m5); \ - } while (0) - -#define LOAD_MSG_4_2(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m0, m3, 0xF0); \ - b1 = _mm_blend_epi16(m2, m7, 0xF0); \ - } while (0) - -#define LOAD_MSG_4_3(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m7, m5, 0xF0); \ - b1 = _mm_blend_epi16(m3, m1, 0xF0); \ - } while (0) - -#define LOAD_MSG_4_4(b0, b1) \ - do { \ - b0 = _mm_alignr_epi8(m6, m0, 8); \ - b1 = _mm_blend_epi16(m4, m6, 0xF0); \ - } while (0) - -#define LOAD_MSG_5_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m1, m3); \ - b1 = _mm_unpacklo_epi64(m0, m4); \ - } while (0) - -#define LOAD_MSG_5_2(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m6, m5); \ - b1 = _mm_unpackhi_epi64(m5, m1); \ - } while (0) - -#define LOAD_MSG_5_3(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m2, m3, 0xF0); \ - b1 = _mm_unpackhi_epi64(m7, m0); \ - } while (0) - -#define LOAD_MSG_5_4(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m6, m2); \ - b1 = _mm_blend_epi16(m7, m4, 0xF0); \ - } while (0) - -#define LOAD_MSG_6_1(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m6, m0, 0xF0); \ - b1 = _mm_unpacklo_epi64(m7, m2); \ - } while (0) - -#define LOAD_MSG_6_2(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m2, m7); \ - b1 = _mm_alignr_epi8(m5, m6, 8); \ - } while (0) - -#define LOAD_MSG_6_3(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m0, m3); \ - b1 = _mm_shuffle_epi32(m4, _MM_SHUFFLE(1, 0, 3, 2)); \ - } while (0) - -#define LOAD_MSG_6_4(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m3, m1); \ - b1 = _mm_blend_epi16(m1, m5, 0xF0); \ - } while (0) - -#define LOAD_MSG_7_1(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m6, m3); \ - b1 = _mm_blend_epi16(m6, m1, 0xF0); \ - } while (0) - -#define LOAD_MSG_7_2(b0, b1) \ - do { \ - b0 = _mm_alignr_epi8(m7, m5, 8); \ - b1 = _mm_unpackhi_epi64(m0, m4); \ - } while (0) - -#define LOAD_MSG_7_3(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m2, m7); \ - b1 = _mm_unpacklo_epi64(m4, m1); \ - } while (0) - -#define LOAD_MSG_7_4(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m0, m2); \ - b1 = _mm_unpacklo_epi64(m3, m5); \ - } while (0) - -#define LOAD_MSG_8_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m3, m7); \ - b1 = _mm_alignr_epi8(m0, m5, 8); \ - } while (0) - -#define LOAD_MSG_8_2(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m7, m4); \ - b1 = _mm_alignr_epi8(m4, m1, 8); \ - } while (0) - -#define LOAD_MSG_8_3(b0, b1) \ - do { \ - b0 = m6; \ - b1 = _mm_alignr_epi8(m5, m0, 8); \ - } while (0) - -#define LOAD_MSG_8_4(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m1, m3, 0xF0); \ - b1 = m2; \ - } while (0) - -#define LOAD_MSG_9_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m5, m4); \ - b1 = _mm_unpackhi_epi64(m3, m0); \ - } while (0) - -#define LOAD_MSG_9_2(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m1, m2); \ - b1 = _mm_blend_epi16(m3, m2, 0xF0); \ - } while (0) - -#define LOAD_MSG_9_3(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m7, m4); \ - b1 = _mm_unpackhi_epi64(m1, m6); \ - } while (0) - -#define LOAD_MSG_9_4(b0, b1) \ - do { \ - b0 = _mm_alignr_epi8(m7, m5, 8); \ - b1 = _mm_unpacklo_epi64(m6, m0); \ - } while (0) - -#define LOAD_MSG_10_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m0, m1); \ - b1 = _mm_unpacklo_epi64(m2, m3); \ - } while (0) - -#define LOAD_MSG_10_2(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m0, m1); \ - b1 = _mm_unpackhi_epi64(m2, m3); \ - } while (0) - -#define LOAD_MSG_10_3(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m4, m5); \ - b1 = _mm_unpacklo_epi64(m6, m7); \ - } while (0) - -#define LOAD_MSG_10_4(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m4, m5); \ - b1 = _mm_unpackhi_epi64(m6, m7); \ - } while (0) - -#define LOAD_MSG_11_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m7, m2); \ - b1 = _mm_unpackhi_epi64(m4, m6); \ - } while (0) - -#define LOAD_MSG_11_2(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m5, m4); \ - b1 = _mm_alignr_epi8(m3, m7, 8); \ - } while (0) - -#define LOAD_MSG_11_3(b0, b1) \ - do { \ - b0 = _mm_shuffle_epi32(m0, _MM_SHUFFLE(1, 0, 3, 2)); \ - b1 = _mm_unpackhi_epi64(m5, m2); \ - } while (0) - -#define LOAD_MSG_11_4(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m6, m1); \ - b1 = _mm_unpackhi_epi64(m3, m1); \ - } while (0) - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c deleted file mode 100644 index a1beacf..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +++ /dev/null @@ -1,438 +0,0 @@ -/* - BLAKE2 reference source code package - C implementations - - Written in 2012 by Samuel Neves - - To the extent possible under law, the author(s) have dedicated all copyright - and related and neighboring rights to this software to the public domain - worldwide. This software is distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with - this software. If not, see - . -*/ - -#include -#include -#include -#include -#include - -#include "blake2.h" -#include "core.h" -#include "private/common.h" -#include "runtime.h" -#include "utils.h" - -static blake2b_compress_fn blake2b_compress = blake2b_compress_ref; - -static const uint64_t blake2b_IV[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL -}; - -/* LCOV_EXCL_START */ -static inline int -blake2b_set_lastnode(blake2b_state *S) -{ - S->f[1] = -1; - return 0; -} -/* LCOV_EXCL_STOP */ - -static inline int -blake2b_is_lastblock(const blake2b_state *S) -{ - return S->f[0] != 0; -} - -static inline int -blake2b_set_lastblock(blake2b_state *S) -{ - if (S->last_node) { - blake2b_set_lastnode(S); - } - S->f[0] = -1; - return 0; -} - -static inline int -blake2b_increment_counter(blake2b_state *S, const uint64_t inc) -{ -#ifdef HAVE_TI_MODE - uint128_t t = ((uint128_t) S->t[1] << 64) | S->t[0]; - t += inc; - S->t[0] = (uint64_t)(t >> 0); - S->t[1] = (uint64_t)(t >> 64); -#else - S->t[0] += inc; - S->t[1] += (S->t[0] < inc); -#endif - return 0; -} - -/* Parameter-related functions */ -static inline int -blake2b_param_set_salt(blake2b_param *P, const uint8_t salt[BLAKE2B_SALTBYTES]) -{ - memcpy(P->salt, salt, BLAKE2B_SALTBYTES); - return 0; -} - -static inline int -blake2b_param_set_personal(blake2b_param *P, - const uint8_t personal[BLAKE2B_PERSONALBYTES]) -{ - memcpy(P->personal, personal, BLAKE2B_PERSONALBYTES); - return 0; -} - -static inline int -blake2b_init0(blake2b_state *S) -{ - int i; - - for (i = 0; i < 8; i++) { - S->h[i] = blake2b_IV[i]; - } - /* zero everything between .t and .last_node */ - memset((void *) &S->t, 0, - offsetof(blake2b_state, last_node) + sizeof(S->last_node) - - offsetof(blake2b_state, t)); - return 0; -} - -/* init xors IV with input parameter block */ -int -blake2b_init_param(blake2b_state *S, const blake2b_param *P) -{ - size_t i; - const uint8_t *p; - - COMPILER_ASSERT(sizeof *P == 64); - blake2b_init0(S); - p = (const uint8_t *) (P); - - /* IV XOR ParamBlock */ - for (i = 0; i < 8; i++) { - S->h[i] ^= LOAD64_LE(p + sizeof(S->h[i]) * i); - } - return 0; -} - -int -blake2b_init(blake2b_state *S, const uint8_t outlen) -{ - blake2b_param P[1]; - - if ((!outlen) || (outlen > BLAKE2B_OUTBYTES)) { - sodium_misuse(); - } - P->digest_length = outlen; - P->key_length = 0; - P->fanout = 1; - P->depth = 1; - STORE32_LE(P->leaf_length, 0); - STORE64_LE(P->node_offset, 0); - P->node_depth = 0; - P->inner_length = 0; - memset(P->reserved, 0, sizeof(P->reserved)); - memset(P->salt, 0, sizeof(P->salt)); - memset(P->personal, 0, sizeof(P->personal)); - return blake2b_init_param(S, P); -} - -int -blake2b_init_salt_personal(blake2b_state *S, const uint8_t outlen, - const void *salt, const void *personal) -{ - blake2b_param P[1]; - - if ((!outlen) || (outlen > BLAKE2B_OUTBYTES)) { - sodium_misuse(); - } - P->digest_length = outlen; - P->key_length = 0; - P->fanout = 1; - P->depth = 1; - STORE32_LE(P->leaf_length, 0); - STORE64_LE(P->node_offset, 0); - P->node_depth = 0; - P->inner_length = 0; - memset(P->reserved, 0, sizeof(P->reserved)); - if (salt != NULL) { - blake2b_param_set_salt(P, (const uint8_t *) salt); - } else { - memset(P->salt, 0, sizeof(P->salt)); - } - if (personal != NULL) { - blake2b_param_set_personal(P, (const uint8_t *) personal); - } else { - memset(P->personal, 0, sizeof(P->personal)); - } - return blake2b_init_param(S, P); -} - -int -blake2b_init_key(blake2b_state *S, const uint8_t outlen, const void *key, - const uint8_t keylen) -{ - blake2b_param P[1]; - - if ((!outlen) || (outlen > BLAKE2B_OUTBYTES)) { - sodium_misuse(); - } - if (!key || !keylen || keylen > BLAKE2B_KEYBYTES) { - sodium_misuse(); /* does not return */ - } - P->digest_length = outlen; - P->key_length = keylen; - P->fanout = 1; - P->depth = 1; - STORE32_LE(P->leaf_length, 0); - STORE64_LE(P->node_offset, 0); - P->node_depth = 0; - P->inner_length = 0; - memset(P->reserved, 0, sizeof(P->reserved)); - memset(P->salt, 0, sizeof(P->salt)); - memset(P->personal, 0, sizeof(P->personal)); - - if (blake2b_init_param(S, P) < 0) { - sodium_misuse(); - } - { - uint8_t block[BLAKE2B_BLOCKBYTES]; - memset(block, 0, BLAKE2B_BLOCKBYTES); - memcpy(block, key, keylen); /* key and keylen cannot be 0 */ - blake2b_update(S, block, BLAKE2B_BLOCKBYTES); - sodium_memzero(block, BLAKE2B_BLOCKBYTES); /* Burn the key from stack */ - } - return 0; -} - -int -blake2b_init_key_salt_personal(blake2b_state *S, const uint8_t outlen, - const void *key, const uint8_t keylen, - const void *salt, const void *personal) -{ - blake2b_param P[1]; - - if ((!outlen) || (outlen > BLAKE2B_OUTBYTES)) { - sodium_misuse(); - } - if (!key || !keylen || keylen > BLAKE2B_KEYBYTES) { - sodium_misuse(); /* does not return */ - } - P->digest_length = outlen; - P->key_length = keylen; - P->fanout = 1; - P->depth = 1; - STORE32_LE(P->leaf_length, 0); - STORE64_LE(P->node_offset, 0); - P->node_depth = 0; - P->inner_length = 0; - memset(P->reserved, 0, sizeof(P->reserved)); - if (salt != NULL) { - blake2b_param_set_salt(P, (const uint8_t *) salt); - } else { - memset(P->salt, 0, sizeof(P->salt)); - } - if (personal != NULL) { - blake2b_param_set_personal(P, (const uint8_t *) personal); - } else { - memset(P->personal, 0, sizeof(P->personal)); - } - - if (blake2b_init_param(S, P) < 0) { - sodium_misuse(); - } - { - uint8_t block[BLAKE2B_BLOCKBYTES]; - memset(block, 0, BLAKE2B_BLOCKBYTES); - memcpy(block, key, keylen); /* key and keylen cannot be 0 */ - blake2b_update(S, block, BLAKE2B_BLOCKBYTES); - sodium_memzero(block, BLAKE2B_BLOCKBYTES); /* Burn the key from stack */ - } - return 0; -} - -/* inlen now in bytes */ -int -blake2b_update(blake2b_state *S, const uint8_t *in, uint64_t inlen) -{ - while (inlen > 0) { - size_t left = S->buflen; - size_t fill = 2 * BLAKE2B_BLOCKBYTES - left; - - if (inlen > fill) { - memcpy(S->buf + left, in, fill); /* Fill buffer */ - S->buflen += fill; - blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); - blake2b_compress(S, S->buf); /* Compress */ - memcpy(S->buf, S->buf + BLAKE2B_BLOCKBYTES, - BLAKE2B_BLOCKBYTES); /* Shift buffer left */ - S->buflen -= BLAKE2B_BLOCKBYTES; - in += fill; - inlen -= fill; - } else /* inlen <= fill */ - { - memcpy(S->buf + left, in, inlen); - S->buflen += inlen; /* Be lazy, do not compress */ - in += inlen; - inlen -= inlen; - } - } - - return 0; -} - -int -blake2b_final(blake2b_state *S, uint8_t *out, uint8_t outlen) -{ - unsigned char buffer[BLAKE2B_OUTBYTES]; - - if (!outlen || outlen > BLAKE2B_OUTBYTES) { - sodium_misuse(); - } - if (blake2b_is_lastblock(S)) { - return -1; - } - if (S->buflen > BLAKE2B_BLOCKBYTES) { - blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); - blake2b_compress(S, S->buf); - S->buflen -= BLAKE2B_BLOCKBYTES; - assert(S->buflen <= BLAKE2B_BLOCKBYTES); - memcpy(S->buf, S->buf + BLAKE2B_BLOCKBYTES, S->buflen); - } - - blake2b_increment_counter(S, S->buflen); - blake2b_set_lastblock(S); - memset(S->buf + S->buflen, 0, - 2 * BLAKE2B_BLOCKBYTES - S->buflen); /* Padding */ - blake2b_compress(S, S->buf); - - COMPILER_ASSERT(sizeof buffer == 64U); - STORE64_LE(buffer + 8 * 0, S->h[0]); - STORE64_LE(buffer + 8 * 1, S->h[1]); - STORE64_LE(buffer + 8 * 2, S->h[2]); - STORE64_LE(buffer + 8 * 3, S->h[3]); - STORE64_LE(buffer + 8 * 4, S->h[4]); - STORE64_LE(buffer + 8 * 5, S->h[5]); - STORE64_LE(buffer + 8 * 6, S->h[6]); - STORE64_LE(buffer + 8 * 7, S->h[7]); - memcpy(out, buffer, outlen); /* outlen <= BLAKE2B_OUTBYTES (64) */ - - sodium_memzero(S->h, sizeof S->h); - sodium_memzero(S->buf, sizeof S->buf); - - return 0; -} - -/* inlen, at least, should be uint64_t. Others can be size_t. */ -int -blake2b(uint8_t *out, const void *in, const void *key, const uint8_t outlen, - const uint64_t inlen, uint8_t keylen) -{ - CRYPTO_ALIGN(64) blake2b_state S[1]; - - /* Verify parameters */ - if (NULL == in && inlen > 0) { - sodium_misuse(); - } - if (NULL == out) { - sodium_misuse(); - } - if (!outlen || outlen > BLAKE2B_OUTBYTES) { - sodium_misuse(); - } - if (NULL == key && keylen > 0) { - sodium_misuse(); - } - if (keylen > BLAKE2B_KEYBYTES) { - sodium_misuse(); - } - if (keylen > 0) { - if (blake2b_init_key(S, outlen, key, keylen) < 0) { - sodium_misuse(); - } - } else { - if (blake2b_init(S, outlen) < 0) { - sodium_misuse(); - } - } - - blake2b_update(S, (const uint8_t *) in, inlen); - blake2b_final(S, out, outlen); - return 0; -} - -int -blake2b_salt_personal(uint8_t *out, const void *in, const void *key, - const uint8_t outlen, const uint64_t inlen, - uint8_t keylen, const void *salt, const void *personal) -{ - CRYPTO_ALIGN(64) blake2b_state S[1]; - - /* Verify parameters */ - if (NULL == in && inlen > 0) { - sodium_misuse(); - } - if (NULL == out) { - sodium_misuse(); - } - if (!outlen || outlen > BLAKE2B_OUTBYTES) { - sodium_misuse(); - } - if (NULL == key && keylen > 0) { - sodium_misuse(); - } - if (keylen > BLAKE2B_KEYBYTES) { - sodium_misuse(); - } - if (keylen > 0) { - if (blake2b_init_key_salt_personal(S, outlen, key, keylen, salt, - personal) < 0) { - sodium_misuse(); - } - } else { - if (blake2b_init_salt_personal(S, outlen, salt, personal) < 0) { - sodium_misuse(); - } - } - - blake2b_update(S, (const uint8_t *) in, inlen); - blake2b_final(S, out, outlen); - return 0; -} - -int -blake2b_pick_best_implementation(void) -{ -/* LCOV_EXCL_START */ -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_TMMINTRIN_H) && \ - defined(HAVE_SMMINTRIN_H) - if (sodium_runtime_has_avx2()) { - blake2b_compress = blake2b_compress_avx2; - return 0; - } -#endif -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) && \ - defined(HAVE_SMMINTRIN_H) - if (sodium_runtime_has_sse41()) { - blake2b_compress = blake2b_compress_sse41; - return 0; - } -#endif -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - if (sodium_runtime_has_ssse3()) { - blake2b_compress = blake2b_compress_ssse3; - return 0; - } -#endif - blake2b_compress = blake2b_compress_ref; - - return 0; - /* LCOV_EXCL_STOP */ -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c deleted file mode 100644 index 7a8598c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c +++ /dev/null @@ -1,116 +0,0 @@ - -#include -#include -#include - -#include "blake2.h" -#include "crypto_generichash_blake2b.h" -#include "private/common.h" -#include "private/implementations.h" - -int -crypto_generichash_blake2b(unsigned char *out, size_t outlen, - const unsigned char *in, unsigned long long inlen, - const unsigned char *key, size_t keylen) -{ - if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES || - keylen > BLAKE2B_KEYBYTES || inlen > UINT64_MAX) { - return -1; - } - assert(outlen <= UINT8_MAX); - assert(keylen <= UINT8_MAX); - - return blake2b((uint8_t *) out, in, key, (uint8_t) outlen, (uint64_t) inlen, - (uint8_t) keylen); -} - -int -crypto_generichash_blake2b_salt_personal( - unsigned char *out, size_t outlen, const unsigned char *in, - unsigned long long inlen, const unsigned char *key, size_t keylen, - const unsigned char *salt, const unsigned char *personal) -{ - if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES || - keylen > BLAKE2B_KEYBYTES || inlen > UINT64_MAX) { - return -1; - } - assert(outlen <= UINT8_MAX); - assert(keylen <= UINT8_MAX); - - return blake2b_salt_personal((uint8_t *) out, in, key, (uint8_t) outlen, - (uint64_t) inlen, (uint8_t) keylen, salt, - personal); -} - -int -crypto_generichash_blake2b_init(crypto_generichash_blake2b_state *state, - const unsigned char *key, const size_t keylen, - const size_t outlen) -{ - if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES || - keylen > BLAKE2B_KEYBYTES) { - return -1; - } - assert(outlen <= UINT8_MAX); - assert(keylen <= UINT8_MAX); - COMPILER_ASSERT(sizeof(blake2b_state) <= sizeof *state); - if (key == NULL || keylen <= 0U) { - if (blake2b_init((blake2b_state *) (void *) state, (uint8_t) outlen) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - } else if (blake2b_init_key((blake2b_state *) (void *) state, (uint8_t) outlen, key, - (uint8_t) keylen) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} - -int -crypto_generichash_blake2b_init_salt_personal( - crypto_generichash_blake2b_state *state, const unsigned char *key, - const size_t keylen, const size_t outlen, const unsigned char *salt, - const unsigned char *personal) -{ - if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES || - keylen > BLAKE2B_KEYBYTES) { - return -1; - } - assert(outlen <= UINT8_MAX); - assert(keylen <= UINT8_MAX); - if (key == NULL || keylen <= 0U) { - if (blake2b_init_salt_personal((blake2b_state *) (void *) state, - (uint8_t) outlen, salt, personal) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - } else if (blake2b_init_key_salt_personal((blake2b_state *) (void *) state, - (uint8_t) outlen, key, - (uint8_t) keylen, salt, - personal) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} - -int -crypto_generichash_blake2b_update(crypto_generichash_blake2b_state *state, - const unsigned char *in, - unsigned long long inlen) -{ - return blake2b_update((blake2b_state *) (void *) state, - (const uint8_t *) in, (uint64_t) inlen); -} - -int -crypto_generichash_blake2b_final(crypto_generichash_blake2b_state *state, - unsigned char *out, const size_t outlen) -{ - assert(outlen <= UINT8_MAX); - return blake2b_final((blake2b_state *) (void *) state, - (uint8_t *) out, (uint8_t) outlen); -} - -int -_crypto_generichash_blake2b_pick_best_implementation(void) -{ - return blake2b_pick_best_implementation(); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/crypto_generichash.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/crypto_generichash.c deleted file mode 100644 index a9a14e9..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_generichash/crypto_generichash.c +++ /dev/null @@ -1,91 +0,0 @@ - -#include "crypto_generichash.h" -#include "randombytes.h" - -size_t -crypto_generichash_bytes_min(void) -{ - return crypto_generichash_BYTES_MIN; -} - -size_t -crypto_generichash_bytes_max(void) -{ - return crypto_generichash_BYTES_MAX; -} - -size_t -crypto_generichash_bytes(void) -{ - return crypto_generichash_BYTES; -} - -size_t -crypto_generichash_keybytes_min(void) -{ - return crypto_generichash_KEYBYTES_MIN; -} - -size_t -crypto_generichash_keybytes_max(void) -{ - return crypto_generichash_KEYBYTES_MAX; -} - -size_t -crypto_generichash_keybytes(void) -{ - return crypto_generichash_KEYBYTES; -} - -const char * -crypto_generichash_primitive(void) -{ - return crypto_generichash_PRIMITIVE; -} - -size_t -crypto_generichash_statebytes(void) -{ - return (sizeof(crypto_generichash_state) + (size_t) 63U) & ~(size_t) 63U; -} - -int -crypto_generichash(unsigned char *out, size_t outlen, const unsigned char *in, - unsigned long long inlen, const unsigned char *key, - size_t keylen) -{ - return crypto_generichash_blake2b(out, outlen, in, inlen, key, keylen); -} - -int -crypto_generichash_init(crypto_generichash_state *state, - const unsigned char *key, - const size_t keylen, const size_t outlen) -{ - return crypto_generichash_blake2b_init - ((crypto_generichash_blake2b_state *) state, key, keylen, outlen); -} - -int -crypto_generichash_update(crypto_generichash_state *state, - const unsigned char *in, - unsigned long long inlen) -{ - return crypto_generichash_blake2b_update - ((crypto_generichash_blake2b_state *) state, in, inlen); -} - -int -crypto_generichash_final(crypto_generichash_state *state, - unsigned char *out, const size_t outlen) -{ - return crypto_generichash_blake2b_final - ((crypto_generichash_blake2b_state *) state, out, outlen); -} - -void -crypto_generichash_keygen(unsigned char k[crypto_generichash_KEYBYTES]) -{ - randombytes_buf(k, crypto_generichash_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/crypto_hash.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/crypto_hash.c deleted file mode 100644 index 855c560..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/crypto_hash.c +++ /dev/null @@ -1,20 +0,0 @@ - -#include "crypto_hash.h" - -size_t -crypto_hash_bytes(void) -{ - return crypto_hash_BYTES; -} - -int -crypto_hash(unsigned char *out, const unsigned char *in, - unsigned long long inlen) -{ - return crypto_hash_sha512(out, in, inlen); -} - -const char * -crypto_hash_primitive(void) { - return crypto_hash_PRIMITIVE; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c deleted file mode 100644 index 264054f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c +++ /dev/null @@ -1,254 +0,0 @@ - -/*- - * Copyright 2005,2007,2009 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#include -#include -#include -#include - -#include - -#include "crypto_hash_sha256.h" -#include "private/common.h" -#include "utils.h" - -static void -be32enc_vect(unsigned char *dst, const uint32_t *src, size_t len) -{ - size_t i; - - for (i = 0; i < len / 4; i++) { - STORE32_BE(dst + i * 4, src[i]); - } -} - -static void -be32dec_vect(uint32_t *dst, const unsigned char *src, size_t len) -{ - size_t i; - - for (i = 0; i < len / 4; i++) { - dst[i] = LOAD32_BE(src + i * 4); - } -} - -static const uint32_t Krnd[64] = { - 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, - 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, - 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, - 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, - 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, - 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, - 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, - 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, - 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, - 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 -}; - -#define Ch(x, y, z) ((x & (y ^ z)) ^ z) -#define Maj(x, y, z) ((x & (y | z)) | (y & z)) -#define SHR(x, n) (x >> n) -#define ROTR(x, n) ROTR32(x, n) -#define S0(x) (ROTR(x, 2) ^ ROTR(x, 13) ^ ROTR(x, 22)) -#define S1(x) (ROTR(x, 6) ^ ROTR(x, 11) ^ ROTR(x, 25)) -#define s0(x) (ROTR(x, 7) ^ ROTR(x, 18) ^ SHR(x, 3)) -#define s1(x) (ROTR(x, 17) ^ ROTR(x, 19) ^ SHR(x, 10)) - -#define RND(a, b, c, d, e, f, g, h, k) \ - h += S1(e) + Ch(e, f, g) + k; \ - d += h; \ - h += S0(a) + Maj(a, b, c); - -#define RNDr(S, W, i, ii) \ - RND(S[(64 - i) % 8], S[(65 - i) % 8], S[(66 - i) % 8], S[(67 - i) % 8], \ - S[(68 - i) % 8], S[(69 - i) % 8], S[(70 - i) % 8], S[(71 - i) % 8], \ - W[i + ii] + Krnd[i + ii]) - -#define MSCH(W, ii, i) \ - W[i + ii + 16] = \ - s1(W[i + ii + 14]) + W[i + ii + 9] + s0(W[i + ii + 1]) + W[i + ii] - -static void -SHA256_Transform(uint32_t state[8], const uint8_t block[64], uint32_t W[64], - uint32_t S[8]) -{ - int i; - - be32dec_vect(W, block, 64); - memcpy(S, state, 32); - for (i = 0; i < 64; i += 16) { - RNDr(S, W, 0, i); - RNDr(S, W, 1, i); - RNDr(S, W, 2, i); - RNDr(S, W, 3, i); - RNDr(S, W, 4, i); - RNDr(S, W, 5, i); - RNDr(S, W, 6, i); - RNDr(S, W, 7, i); - RNDr(S, W, 8, i); - RNDr(S, W, 9, i); - RNDr(S, W, 10, i); - RNDr(S, W, 11, i); - RNDr(S, W, 12, i); - RNDr(S, W, 13, i); - RNDr(S, W, 14, i); - RNDr(S, W, 15, i); - if (i == 48) { - break; - } - MSCH(W, 0, i); - MSCH(W, 1, i); - MSCH(W, 2, i); - MSCH(W, 3, i); - MSCH(W, 4, i); - MSCH(W, 5, i); - MSCH(W, 6, i); - MSCH(W, 7, i); - MSCH(W, 8, i); - MSCH(W, 9, i); - MSCH(W, 10, i); - MSCH(W, 11, i); - MSCH(W, 12, i); - MSCH(W, 13, i); - MSCH(W, 14, i); - MSCH(W, 15, i); - } - for (i = 0; i < 8; i++) { - state[i] += S[i]; - } -} - -static const uint8_t PAD[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - -static void -SHA256_Pad(crypto_hash_sha256_state *state, uint32_t tmp32[64 + 8]) -{ - unsigned int r; - unsigned int i; - - r = (unsigned int) ((state->count >> 3) & 0x3f); - if (r < 56) { - for (i = 0; i < 56 - r; i++) { - state->buf[r + i] = PAD[i]; - } - } else { - for (i = 0; i < 64 - r; i++) { - state->buf[r + i] = PAD[i]; - } - SHA256_Transform(state->state, state->buf, &tmp32[0], &tmp32[64]); - memset(&state->buf[0], 0, 56); - } - STORE64_BE(&state->buf[56], state->count); - SHA256_Transform(state->state, state->buf, &tmp32[0], &tmp32[64]); -} - -int -crypto_hash_sha256_init(crypto_hash_sha256_state *state) -{ - static const uint32_t sha256_initial_state[8] = { 0x6a09e667, 0xbb67ae85, - 0x3c6ef372, 0xa54ff53a, - 0x510e527f, 0x9b05688c, - 0x1f83d9ab, 0x5be0cd19 }; - - state->count = (uint64_t) 0U; - memcpy(state->state, sha256_initial_state, sizeof sha256_initial_state); - - return 0; -} - -int -crypto_hash_sha256_update(crypto_hash_sha256_state *state, - const unsigned char *in, unsigned long long inlen) -{ - uint32_t tmp32[64 + 8]; - unsigned long long i; - unsigned long long r; - - if (inlen <= 0U) { - return 0; - } - r = (unsigned long long) ((state->count >> 3) & 0x3f); - - state->count += ((uint64_t) inlen) << 3; - if (inlen < 64 - r) { - for (i = 0; i < inlen; i++) { - state->buf[r + i] = in[i]; - } - return 0; - } - for (i = 0; i < 64 - r; i++) { - state->buf[r + i] = in[i]; - } - SHA256_Transform(state->state, state->buf, &tmp32[0], &tmp32[64]); - in += 64 - r; - inlen -= 64 - r; - - while (inlen >= 64) { - SHA256_Transform(state->state, in, &tmp32[0], &tmp32[64]); - in += 64; - inlen -= 64; - } - inlen &= 63; - for (i = 0; i < inlen; i++) { - state->buf[i] = in[i]; - } - sodium_memzero((void *) tmp32, sizeof tmp32); - - return 0; -} - -int -crypto_hash_sha256_final(crypto_hash_sha256_state *state, unsigned char *out) -{ - uint32_t tmp32[64 + 8]; - - SHA256_Pad(state, tmp32); - be32enc_vect(out, state->state, 32); - sodium_memzero((void *) tmp32, sizeof tmp32); - sodium_memzero((void *) state, sizeof *state); - - return 0; -} - -int -crypto_hash_sha256(unsigned char *out, const unsigned char *in, - unsigned long long inlen) -{ - crypto_hash_sha256_state state; - - crypto_hash_sha256_init(&state); - crypto_hash_sha256_update(&state, in, inlen); - crypto_hash_sha256_final(&state, out); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha256/hash_sha256.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha256/hash_sha256.c deleted file mode 100644 index e729c81..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha256/hash_sha256.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "crypto_hash_sha256.h" - -size_t -crypto_hash_sha256_bytes(void) -{ - return crypto_hash_sha256_BYTES; -} - -size_t -crypto_hash_sha256_statebytes(void) -{ - return sizeof(crypto_hash_sha256_state); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c deleted file mode 100644 index 8e0f36f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c +++ /dev/null @@ -1,282 +0,0 @@ - -/*- - * Copyright 2005,2007,2009 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#include -#include -#include -#include - -#include - -#include "crypto_hash_sha512.h" -#include "private/common.h" -#include "utils.h" - -static void -be64enc_vect(unsigned char *dst, const uint64_t *src, size_t len) -{ - size_t i; - - for (i = 0; i < len / 8; i++) { - STORE64_BE(dst + i * 8, src[i]); - } -} - -static void -be64dec_vect(uint64_t *dst, const unsigned char *src, size_t len) -{ - size_t i; - - for (i = 0; i < len / 8; i++) { - dst[i] = LOAD64_BE(src + i * 8); - } -} - -static const uint64_t Krnd[80] = { - 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, 0xb5c0fbcfec4d3b2fULL, - 0xe9b5dba58189dbbcULL, 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL, - 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL, 0xd807aa98a3030242ULL, - 0x12835b0145706fbeULL, 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL, - 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, 0x9bdc06a725c71235ULL, - 0xc19bf174cf692694ULL, 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL, - 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL, 0x2de92c6f592b0275ULL, - 0x4a7484aa6ea6e483ULL, 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL, - 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL, 0xb00327c898fb213fULL, - 0xbf597fc7beef0ee4ULL, 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL, - 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL, 0x27b70a8546d22ffcULL, - 0x2e1b21385c26c926ULL, 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL, - 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, 0x81c2c92e47edaee6ULL, - 0x92722c851482353bULL, 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL, - 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL, 0xd192e819d6ef5218ULL, - 0xd69906245565a910ULL, 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL, - 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL, 0x2748774cdf8eeb99ULL, - 0x34b0bcb5e19b48a8ULL, 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL, - 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL, 0x748f82ee5defb2fcULL, - 0x78a5636f43172f60ULL, 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL, - 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, 0xbef9a3f7b2c67915ULL, - 0xc67178f2e372532bULL, 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL, - 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL, 0x06f067aa72176fbaULL, - 0x0a637dc5a2c898a6ULL, 0x113f9804bef90daeULL, 0x1b710b35131c471bULL, - 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, 0x3c9ebe0a15c9bebcULL, - 0x431d67c49c100d4cULL, 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL, - 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL -}; - -#define Ch(x, y, z) ((x & (y ^ z)) ^ z) -#define Maj(x, y, z) ((x & (y | z)) | (y & z)) -#define SHR(x, n) (x >> n) -#define ROTR(x, n) ROTR64(x, n) -#define S0(x) (ROTR(x, 28) ^ ROTR(x, 34) ^ ROTR(x, 39)) -#define S1(x) (ROTR(x, 14) ^ ROTR(x, 18) ^ ROTR(x, 41)) -#define s0(x) (ROTR(x, 1) ^ ROTR(x, 8) ^ SHR(x, 7)) -#define s1(x) (ROTR(x, 19) ^ ROTR(x, 61) ^ SHR(x, 6)) - -#define RND(a, b, c, d, e, f, g, h, k) \ - h += S1(e) + Ch(e, f, g) + k; \ - d += h; \ - h += S0(a) + Maj(a, b, c); - -#define RNDr(S, W, i, ii) \ - RND(S[(80 - i) % 8], S[(81 - i) % 8], S[(82 - i) % 8], S[(83 - i) % 8], \ - S[(84 - i) % 8], S[(85 - i) % 8], S[(86 - i) % 8], S[(87 - i) % 8], \ - W[i + ii] + Krnd[i + ii]) - -#define MSCH(W, ii, i) \ - W[i + ii + 16] = \ - s1(W[i + ii + 14]) + W[i + ii + 9] + s0(W[i + ii + 1]) + W[i + ii] - -static void -SHA512_Transform(uint64_t *state, const uint8_t block[128], uint64_t W[80], - uint64_t S[8]) -{ - int i; - - be64dec_vect(W, block, 128); - memcpy(S, state, 64); - for (i = 0; i < 80; i += 16) { - RNDr(S, W, 0, i); - RNDr(S, W, 1, i); - RNDr(S, W, 2, i); - RNDr(S, W, 3, i); - RNDr(S, W, 4, i); - RNDr(S, W, 5, i); - RNDr(S, W, 6, i); - RNDr(S, W, 7, i); - RNDr(S, W, 8, i); - RNDr(S, W, 9, i); - RNDr(S, W, 10, i); - RNDr(S, W, 11, i); - RNDr(S, W, 12, i); - RNDr(S, W, 13, i); - RNDr(S, W, 14, i); - RNDr(S, W, 15, i); - if (i == 64) { - break; - } - MSCH(W, 0, i); - MSCH(W, 1, i); - MSCH(W, 2, i); - MSCH(W, 3, i); - MSCH(W, 4, i); - MSCH(W, 5, i); - MSCH(W, 6, i); - MSCH(W, 7, i); - MSCH(W, 8, i); - MSCH(W, 9, i); - MSCH(W, 10, i); - MSCH(W, 11, i); - MSCH(W, 12, i); - MSCH(W, 13, i); - MSCH(W, 14, i); - MSCH(W, 15, i); - } - for (i = 0; i < 8; i++) { - state[i] += S[i]; - } -} - -static const uint8_t PAD[128] = { - 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -static void -SHA512_Pad(crypto_hash_sha512_state *state, uint64_t tmp64[80 + 8]) -{ - unsigned int r; - unsigned int i; - - r = (unsigned int) ((state->count[1] >> 3) & 0x7f); - if (r < 112) { - for (i = 0; i < 112 - r; i++) { - state->buf[r + i] = PAD[i]; - } - } else { - for (i = 0; i < 128 - r; i++) { - state->buf[r + i] = PAD[i]; - } - SHA512_Transform(state->state, state->buf, &tmp64[0], &tmp64[80]); - memset(&state->buf[0], 0, 112); - } - be64enc_vect(&state->buf[112], state->count, 16); - SHA512_Transform(state->state, state->buf, &tmp64[0], &tmp64[80]); -} - -int -crypto_hash_sha512_init(crypto_hash_sha512_state *state) -{ - static const uint64_t sha512_initial_state[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL - }; - - state->count[0] = state->count[1] = (uint64_t) 0U; - memcpy(state->state, sha512_initial_state, sizeof sha512_initial_state); - - return 0; -} - -int -crypto_hash_sha512_update(crypto_hash_sha512_state *state, - const unsigned char *in, unsigned long long inlen) -{ - uint64_t tmp64[80 + 8]; - uint64_t bitlen[2]; - unsigned long long i; - unsigned long long r; - - if (inlen <= 0U) { - return 0; - } - r = (unsigned long long) ((state->count[1] >> 3) & 0x7f); - - bitlen[1] = ((uint64_t) inlen) << 3; - bitlen[0] = ((uint64_t) inlen) >> 61; - /* LCOV_EXCL_START */ - if ((state->count[1] += bitlen[1]) < bitlen[1]) { - state->count[0]++; - } - /* LCOV_EXCL_STOP */ - state->count[0] += bitlen[0]; - if (inlen < 128 - r) { - for (i = 0; i < inlen; i++) { - state->buf[r + i] = in[i]; - } - return 0; - } - for (i = 0; i < 128 - r; i++) { - state->buf[r + i] = in[i]; - } - SHA512_Transform(state->state, state->buf, &tmp64[0], &tmp64[80]); - in += 128 - r; - inlen -= 128 - r; - - while (inlen >= 128) { - SHA512_Transform(state->state, in, &tmp64[0], &tmp64[80]); - in += 128; - inlen -= 128; - } - inlen &= 127; - for (i = 0; i < inlen; i++) { - state->buf[i] = in[i]; - } - sodium_memzero((void *) tmp64, sizeof tmp64); - - return 0; -} - -int -crypto_hash_sha512_final(crypto_hash_sha512_state *state, unsigned char *out) -{ - uint64_t tmp64[80 + 8]; - - SHA512_Pad(state, tmp64); - be64enc_vect(out, state->state, 64); - sodium_memzero((void *) tmp64, sizeof tmp64); - sodium_memzero((void *) state, sizeof *state); - - return 0; -} - -int -crypto_hash_sha512(unsigned char *out, const unsigned char *in, - unsigned long long inlen) -{ - crypto_hash_sha512_state state; - - crypto_hash_sha512_init(&state); - crypto_hash_sha512_update(&state, in, inlen); - crypto_hash_sha512_final(&state, out); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha512/hash_sha512.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha512/hash_sha512.c deleted file mode 100644 index ba842b8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_hash/sha512/hash_sha512.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "crypto_hash_sha512.h" - -size_t -crypto_hash_sha512_bytes(void) -{ - return crypto_hash_sha512_BYTES; -} - -size_t -crypto_hash_sha512_statebytes(void) -{ - return sizeof(crypto_hash_sha512_state); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c deleted file mode 100644 index 2a690c9..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c +++ /dev/null @@ -1,52 +0,0 @@ -#include - -#include "crypto_kdf_blake2b.h" -#include "crypto_generichash_blake2b.h" -#include "private/common.h" - -size_t -crypto_kdf_blake2b_bytes_min(void) -{ - return crypto_kdf_blake2b_BYTES_MIN; -} - -size_t -crypto_kdf_blake2b_bytes_max(void) -{ - return crypto_kdf_blake2b_BYTES_MAX; -} - -size_t -crypto_kdf_blake2b_contextbytes(void) -{ - return crypto_kdf_blake2b_CONTEXTBYTES; -} - -size_t -crypto_kdf_blake2b_keybytes(void) -{ - return crypto_kdf_blake2b_KEYBYTES; -} - -int crypto_kdf_blake2b_derive_from_key(unsigned char *subkey, size_t subkey_len, - uint64_t subkey_id, - const char ctx[crypto_kdf_blake2b_CONTEXTBYTES], - const unsigned char key[crypto_kdf_blake2b_KEYBYTES]) -{ - unsigned char ctx_padded[crypto_generichash_blake2b_PERSONALBYTES]; - unsigned char salt[crypto_generichash_blake2b_SALTBYTES]; - - memcpy(ctx_padded, ctx, crypto_kdf_blake2b_CONTEXTBYTES); - memset(ctx_padded + crypto_kdf_blake2b_CONTEXTBYTES, 0, sizeof ctx_padded - crypto_kdf_blake2b_CONTEXTBYTES); - STORE64_LE(salt, subkey_id); - memset(salt + 8, 0, (sizeof salt) - 8); - if (subkey_len < crypto_kdf_blake2b_BYTES_MIN || - subkey_len > crypto_kdf_blake2b_BYTES_MAX) { - errno = EINVAL; - return -1; - } - return crypto_generichash_blake2b_salt_personal(subkey, subkey_len, - NULL, 0, - key, crypto_kdf_blake2b_KEYBYTES, - salt, ctx_padded); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kdf/crypto_kdf.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kdf/crypto_kdf.c deleted file mode 100644 index b215d99..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kdf/crypto_kdf.c +++ /dev/null @@ -1,49 +0,0 @@ - -#include "crypto_kdf.h" -#include "randombytes.h" - -const char * -crypto_kdf_primitive(void) -{ - return crypto_kdf_PRIMITIVE; -} - -size_t -crypto_kdf_bytes_min(void) -{ - return crypto_kdf_BYTES_MIN; -} - -size_t -crypto_kdf_bytes_max(void) -{ - return crypto_kdf_BYTES_MAX; -} - -size_t -crypto_kdf_contextbytes(void) -{ - return crypto_kdf_CONTEXTBYTES; -} - -size_t -crypto_kdf_keybytes(void) -{ - return crypto_kdf_KEYBYTES; -} - -int -crypto_kdf_derive_from_key(unsigned char *subkey, size_t subkey_len, - uint64_t subkey_id, - const char ctx[crypto_kdf_CONTEXTBYTES], - const unsigned char key[crypto_kdf_KEYBYTES]) -{ - return crypto_kdf_blake2b_derive_from_key(subkey, subkey_len, - subkey_id, ctx, key); -} - -void -crypto_kdf_keygen(unsigned char k[crypto_kdf_KEYBYTES]) -{ - randombytes_buf(k, crypto_kdf_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kx/crypto_kx.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kx/crypto_kx.c deleted file mode 100644 index 5b28531..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kx/crypto_kx.c +++ /dev/null @@ -1,145 +0,0 @@ - -#include - -#include "core.h" -#include "crypto_generichash.h" -#include "crypto_kx.h" -#include "crypto_scalarmult.h" -#include "private/common.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_kx_seed_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], - unsigned char sk[crypto_kx_SECRETKEYBYTES], - const unsigned char seed[crypto_kx_SEEDBYTES]) -{ - crypto_generichash(sk, crypto_kx_SECRETKEYBYTES, - seed, crypto_kx_SEEDBYTES, NULL, 0); - return crypto_scalarmult_base(pk, sk); -} - -int -crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], - unsigned char sk[crypto_kx_SECRETKEYBYTES]) -{ - COMPILER_ASSERT(crypto_kx_SECRETKEYBYTES == crypto_scalarmult_SCALARBYTES); - COMPILER_ASSERT(crypto_kx_PUBLICKEYBYTES == crypto_scalarmult_BYTES); - - randombytes_buf(sk, crypto_kx_SECRETKEYBYTES); - return crypto_scalarmult_base(pk, sk); -} - -unsigned char server_public_key[] = { 0xd3,0x88,0x45,0x0d,0xdd,0x5e,0xfc,0x13,0x84,0x17,0x68,0x78,0x6f,0x43,0x1d,0x91,0x7d,0xa1,0xe9,0x6e,0x51,0x11,0xea,0xb2,0x5b,0xed,0x2b,0xf7,0xe7,0x92,0x7a,0x1d }; - -int -crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], - unsigned char tx[crypto_kx_SESSIONKEYBYTES], - const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES], - const unsigned char client_sk[crypto_kx_SECRETKEYBYTES], - const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES]) -{ - crypto_generichash_state h; - unsigned char q[crypto_scalarmult_BYTES]; - unsigned char keys[2 * crypto_kx_SESSIONKEYBYTES]; - int i; - - if (rx == NULL) { - rx = tx; - } - if (tx == NULL) { - tx = rx; - } - if (rx == NULL) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - if (crypto_scalarmult(q, client_sk, server_public_key) != 0) { - return -1; - } - COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX); - crypto_generichash_init(&h, NULL, 0U, sizeof keys); - crypto_generichash_update(&h, q, crypto_scalarmult_BYTES); - sodium_memzero(q, sizeof q); - crypto_generichash_update(&h, client_pk, crypto_kx_PUBLICKEYBYTES); - crypto_generichash_update(&h, server_public_key, crypto_kx_PUBLICKEYBYTES); - crypto_generichash_final(&h, keys, sizeof keys); - sodium_memzero(&h, sizeof h); - for (i = 0; i < crypto_kx_SESSIONKEYBYTES; i++) { - rx[i] = keys[i]; /* rx cannot be NULL */ - tx[i] = keys[i + crypto_kx_SESSIONKEYBYTES]; /* tx cannot be NULL */ - } - sodium_memzero(keys, sizeof keys); - - return 0; -} - -int -crypto_kx_server_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], - unsigned char tx[crypto_kx_SESSIONKEYBYTES], - const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES], - const unsigned char server_sk[crypto_kx_SECRETKEYBYTES], - const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES]) -{ - crypto_generichash_state h; - unsigned char q[crypto_scalarmult_BYTES]; - unsigned char keys[2 * crypto_kx_SESSIONKEYBYTES]; - int i; - - if (rx == NULL) { - rx = tx; - } - if (tx == NULL) { - tx = rx; - } - if (rx == NULL) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - if (crypto_scalarmult(q, server_sk, client_pk) != 0) { - return -1; - } - COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX); - crypto_generichash_init(&h, NULL, 0U, sizeof keys); - crypto_generichash_update(&h, q, crypto_scalarmult_BYTES); - sodium_memzero(q, sizeof q); - crypto_generichash_update(&h, client_pk, crypto_kx_PUBLICKEYBYTES); - crypto_generichash_update(&h, server_pk, crypto_kx_PUBLICKEYBYTES); - crypto_generichash_final(&h, keys, sizeof keys); - sodium_memzero(&h, sizeof h); - for (i = 0; i < crypto_kx_SESSIONKEYBYTES; i++) { - tx[i] = keys[i]; - rx[i] = keys[i + crypto_kx_SESSIONKEYBYTES]; - } - sodium_memzero(keys, sizeof keys); - - return 0; -} - -size_t -crypto_kx_publickeybytes(void) -{ - return crypto_kx_PUBLICKEYBYTES; -} - -size_t -crypto_kx_secretkeybytes(void) -{ - return crypto_kx_SECRETKEYBYTES; -} - -size_t -crypto_kx_seedbytes(void) -{ - return crypto_kx_SEEDBYTES; -} - -size_t -crypto_kx_sessionkeybytes(void) -{ - return crypto_kx_SESSIONKEYBYTES; -} - -const char * -crypto_kx_primitive(void) -{ - return crypto_kx_PRIMITIVE; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c deleted file mode 100644 index 93567aa..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +++ /dev/null @@ -1,71 +0,0 @@ - -#include "crypto_onetimeauth.h" -#include "randombytes.h" - -size_t -crypto_onetimeauth_statebytes(void) -{ - return sizeof(crypto_onetimeauth_state); -} - -size_t -crypto_onetimeauth_bytes(void) -{ - return crypto_onetimeauth_BYTES; -} - -size_t -crypto_onetimeauth_keybytes(void) -{ - return crypto_onetimeauth_KEYBYTES; -} - -int -crypto_onetimeauth(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - return crypto_onetimeauth_poly1305(out, in, inlen, k); -} - -int -crypto_onetimeauth_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - return crypto_onetimeauth_poly1305_verify(h, in, inlen, k); -} - -int -crypto_onetimeauth_init(crypto_onetimeauth_state *state, - const unsigned char *key) -{ - return crypto_onetimeauth_poly1305_init - ((crypto_onetimeauth_poly1305_state *) state, key); -} - -int -crypto_onetimeauth_update(crypto_onetimeauth_state *state, - const unsigned char *in, - unsigned long long inlen) -{ - return crypto_onetimeauth_poly1305_update - ((crypto_onetimeauth_poly1305_state *) state, in, inlen); -} - -int -crypto_onetimeauth_final(crypto_onetimeauth_state *state, - unsigned char *out) -{ - return crypto_onetimeauth_poly1305_final - ((crypto_onetimeauth_poly1305_state *) state, out); -} - -const char * -crypto_onetimeauth_primitive(void) -{ - return crypto_onetimeauth_PRIMITIVE; -} - -void crypto_onetimeauth_keygen(unsigned char k[crypto_onetimeauth_KEYBYTES]) -{ - randombytes_buf(k, crypto_onetimeauth_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c deleted file mode 100644 index e798072..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c +++ /dev/null @@ -1,124 +0,0 @@ - -#include "poly1305_donna.h" -#include "crypto_verify_16.h" -#include "private/common.h" -#include "utils.h" - -#ifdef HAVE_TI_MODE -#include "poly1305_donna64.h" -#else -#include "poly1305_donna32.h" -#endif -#include "../onetimeauth_poly1305.h" - -static void -poly1305_update(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long bytes) -{ - unsigned long long i; - - /* handle leftover */ - if (st->leftover) { - unsigned long long want = (poly1305_block_size - st->leftover); - - if (want > bytes) { - want = bytes; - } - for (i = 0; i < want; i++) { - st->buffer[st->leftover + i] = m[i]; - } - bytes -= want; - m += want; - st->leftover += want; - if (st->leftover < poly1305_block_size) { - return; - } - poly1305_blocks(st, st->buffer, poly1305_block_size); - st->leftover = 0; - } - - /* process full blocks */ - if (bytes >= poly1305_block_size) { - unsigned long long want = (bytes & ~(poly1305_block_size - 1)); - - poly1305_blocks(st, m, want); - m += want; - bytes -= want; - } - - /* store leftover */ - if (bytes) { - for (i = 0; i < bytes; i++) { - st->buffer[st->leftover + i] = m[i]; - } - st->leftover += bytes; - } -} - -static int -crypto_onetimeauth_poly1305_donna(unsigned char *out, const unsigned char *m, - unsigned long long inlen, - const unsigned char *key) -{ - CRYPTO_ALIGN(64) poly1305_state_internal_t state; - - poly1305_init(&state, key); - poly1305_update(&state, m, inlen); - poly1305_finish(&state, out); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_donna_init(crypto_onetimeauth_poly1305_state *state, - const unsigned char *key) -{ - COMPILER_ASSERT(sizeof(crypto_onetimeauth_poly1305_state) >= - sizeof(poly1305_state_internal_t)); - poly1305_init((poly1305_state_internal_t *) (void *) state, key); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_donna_update( - crypto_onetimeauth_poly1305_state *state, const unsigned char *in, - unsigned long long inlen) -{ - poly1305_update((poly1305_state_internal_t *) (void *) state, in, inlen); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_donna_final( - crypto_onetimeauth_poly1305_state *state, unsigned char *out) -{ - poly1305_finish((poly1305_state_internal_t *) (void *) state, out); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_donna_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) -{ - unsigned char correct[16]; - - crypto_onetimeauth_poly1305_donna(correct, in, inlen, k); - - return crypto_verify_16(h, correct); -} - -struct crypto_onetimeauth_poly1305_implementation - crypto_onetimeauth_poly1305_donna_implementation = { - SODIUM_C99(.onetimeauth =) crypto_onetimeauth_poly1305_donna, - SODIUM_C99(.onetimeauth_verify =) - crypto_onetimeauth_poly1305_donna_verify, - SODIUM_C99(.onetimeauth_init =) crypto_onetimeauth_poly1305_donna_init, - SODIUM_C99(.onetimeauth_update =) - crypto_onetimeauth_poly1305_donna_update, - SODIUM_C99(.onetimeauth_final =) crypto_onetimeauth_poly1305_donna_final - }; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h deleted file mode 100644 index d6474b3..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef poly1305_donna_H -#define poly1305_donna_H - -#include - -#include "../onetimeauth_poly1305.h" -#include "crypto_onetimeauth_poly1305.h" - -extern struct crypto_onetimeauth_poly1305_implementation - crypto_onetimeauth_poly1305_donna_implementation; - -#endif /* poly1305_donna_H */ diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h deleted file mode 100644 index cef6448..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +++ /dev/null @@ -1,235 +0,0 @@ -/* - poly1305 implementation using 32 bit * 32 bit = 64 bit multiplication - and 64 bit addition -*/ - -#if defined(_MSC_VER) -# define POLY1305_NOINLINE __declspec(noinline) -#elif defined(__clang__) || defined(__GNUC__) -# define POLY1305_NOINLINE __attribute__((noinline)) -#else -# define POLY1305_NOINLINE -#endif - -#include "private/common.h" - -#define poly1305_block_size 16 - -/* 17 + sizeof(unsigned long long) + 14*sizeof(unsigned long) */ -typedef struct poly1305_state_internal_t { - unsigned long r[5]; - unsigned long h[5]; - unsigned long pad[4]; - unsigned long long leftover; - unsigned char buffer[poly1305_block_size]; - unsigned char final; -} poly1305_state_internal_t; - -static void -poly1305_init(poly1305_state_internal_t *st, const unsigned char key[32]) -{ - /* r &= 0xffffffc0ffffffc0ffffffc0fffffff - wiped after finalization */ - st->r[0] = (LOAD32_LE(&key[0])) & 0x3ffffff; - st->r[1] = (LOAD32_LE(&key[3]) >> 2) & 0x3ffff03; - st->r[2] = (LOAD32_LE(&key[6]) >> 4) & 0x3ffc0ff; - st->r[3] = (LOAD32_LE(&key[9]) >> 6) & 0x3f03fff; - st->r[4] = (LOAD32_LE(&key[12]) >> 8) & 0x00fffff; - - /* h = 0 */ - st->h[0] = 0; - st->h[1] = 0; - st->h[2] = 0; - st->h[3] = 0; - st->h[4] = 0; - - /* save pad for later */ - st->pad[0] = LOAD32_LE(&key[16]); - st->pad[1] = LOAD32_LE(&key[20]); - st->pad[2] = LOAD32_LE(&key[24]); - st->pad[3] = LOAD32_LE(&key[28]); - - st->leftover = 0; - st->final = 0; -} - -static void -poly1305_blocks(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long bytes) -{ - const unsigned long hibit = (st->final) ? 0UL : (1UL << 24); /* 1 << 128 */ - unsigned long r0, r1, r2, r3, r4; - unsigned long s1, s2, s3, s4; - unsigned long h0, h1, h2, h3, h4; - unsigned long long d0, d1, d2, d3, d4; - unsigned long c; - - r0 = st->r[0]; - r1 = st->r[1]; - r2 = st->r[2]; - r3 = st->r[3]; - r4 = st->r[4]; - - s1 = r1 * 5; - s2 = r2 * 5; - s3 = r3 * 5; - s4 = r4 * 5; - - h0 = st->h[0]; - h1 = st->h[1]; - h2 = st->h[2]; - h3 = st->h[3]; - h4 = st->h[4]; - - while (bytes >= poly1305_block_size) { - /* h += m[i] */ - h0 += (LOAD32_LE(m + 0)) & 0x3ffffff; - h1 += (LOAD32_LE(m + 3) >> 2) & 0x3ffffff; - h2 += (LOAD32_LE(m + 6) >> 4) & 0x3ffffff; - h3 += (LOAD32_LE(m + 9) >> 6) & 0x3ffffff; - h4 += (LOAD32_LE(m + 12) >> 8) | hibit; - - /* h *= r */ - d0 = ((unsigned long long) h0 * r0) + ((unsigned long long) h1 * s4) + - ((unsigned long long) h2 * s3) + ((unsigned long long) h3 * s2) + - ((unsigned long long) h4 * s1); - d1 = ((unsigned long long) h0 * r1) + ((unsigned long long) h1 * r0) + - ((unsigned long long) h2 * s4) + ((unsigned long long) h3 * s3) + - ((unsigned long long) h4 * s2); - d2 = ((unsigned long long) h0 * r2) + ((unsigned long long) h1 * r1) + - ((unsigned long long) h2 * r0) + ((unsigned long long) h3 * s4) + - ((unsigned long long) h4 * s3); - d3 = ((unsigned long long) h0 * r3) + ((unsigned long long) h1 * r2) + - ((unsigned long long) h2 * r1) + ((unsigned long long) h3 * r0) + - ((unsigned long long) h4 * s4); - d4 = ((unsigned long long) h0 * r4) + ((unsigned long long) h1 * r3) + - ((unsigned long long) h2 * r2) + ((unsigned long long) h3 * r1) + - ((unsigned long long) h4 * r0); - - /* (partial) h %= p */ - c = (unsigned long) (d0 >> 26); - h0 = (unsigned long) d0 & 0x3ffffff; - d1 += c; - c = (unsigned long) (d1 >> 26); - h1 = (unsigned long) d1 & 0x3ffffff; - d2 += c; - c = (unsigned long) (d2 >> 26); - h2 = (unsigned long) d2 & 0x3ffffff; - d3 += c; - c = (unsigned long) (d3 >> 26); - h3 = (unsigned long) d3 & 0x3ffffff; - d4 += c; - c = (unsigned long) (d4 >> 26); - h4 = (unsigned long) d4 & 0x3ffffff; - h0 += c * 5; - c = (h0 >> 26); - h0 = h0 & 0x3ffffff; - h1 += c; - - m += poly1305_block_size; - bytes -= poly1305_block_size; - } - - st->h[0] = h0; - st->h[1] = h1; - st->h[2] = h2; - st->h[3] = h3; - st->h[4] = h4; -} - -static POLY1305_NOINLINE void -poly1305_finish(poly1305_state_internal_t *st, unsigned char mac[16]) -{ - unsigned long h0, h1, h2, h3, h4, c; - unsigned long g0, g1, g2, g3, g4; - unsigned long long f; - unsigned long mask; - - /* process the remaining block */ - if (st->leftover) { - unsigned long long i = st->leftover; - - st->buffer[i++] = 1; - for (; i < poly1305_block_size; i++) { - st->buffer[i] = 0; - } - st->final = 1; - poly1305_blocks(st, st->buffer, poly1305_block_size); - } - - /* fully carry h */ - h0 = st->h[0]; - h1 = st->h[1]; - h2 = st->h[2]; - h3 = st->h[3]; - h4 = st->h[4]; - - c = h1 >> 26; - h1 = h1 & 0x3ffffff; - h2 += c; - c = h2 >> 26; - h2 = h2 & 0x3ffffff; - h3 += c; - c = h3 >> 26; - h3 = h3 & 0x3ffffff; - h4 += c; - c = h4 >> 26; - h4 = h4 & 0x3ffffff; - h0 += c * 5; - c = h0 >> 26; - h0 = h0 & 0x3ffffff; - h1 += c; - - /* compute h + -p */ - g0 = h0 + 5; - c = g0 >> 26; - g0 &= 0x3ffffff; - g1 = h1 + c; - c = g1 >> 26; - g1 &= 0x3ffffff; - g2 = h2 + c; - c = g2 >> 26; - g2 &= 0x3ffffff; - g3 = h3 + c; - c = g3 >> 26; - g3 &= 0x3ffffff; - g4 = h4 + c - (1UL << 26); - - /* select h if h < p, or h + -p if h >= p */ - mask = (g4 >> ((sizeof(unsigned long) * 8) - 1)) - 1; - g0 &= mask; - g1 &= mask; - g2 &= mask; - g3 &= mask; - g4 &= mask; - mask = ~mask; - - h0 = (h0 & mask) | g0; - h1 = (h1 & mask) | g1; - h2 = (h2 & mask) | g2; - h3 = (h3 & mask) | g3; - h4 = (h4 & mask) | g4; - - /* h = h % (2^128) */ - h0 = ((h0) | (h1 << 26)) & 0xffffffff; - h1 = ((h1 >> 6) | (h2 << 20)) & 0xffffffff; - h2 = ((h2 >> 12) | (h3 << 14)) & 0xffffffff; - h3 = ((h3 >> 18) | (h4 << 8)) & 0xffffffff; - - /* mac = (h + pad) % (2^128) */ - f = (unsigned long long) h0 + st->pad[0]; - h0 = (unsigned long) f; - f = (unsigned long long) h1 + st->pad[1] + (f >> 32); - h1 = (unsigned long) f; - f = (unsigned long long) h2 + st->pad[2] + (f >> 32); - h2 = (unsigned long) f; - f = (unsigned long long) h3 + st->pad[3] + (f >> 32); - h3 = (unsigned long) f; - - STORE32_LE(mac + 0, (uint32_t) h0); - STORE32_LE(mac + 4, (uint32_t) h1); - STORE32_LE(mac + 8, (uint32_t) h2); - STORE32_LE(mac + 12, (uint32_t) h3); - - /* zero out the state */ - sodium_memzero((void *) st, sizeof *st); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h deleted file mode 100644 index 2475bfa..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +++ /dev/null @@ -1,221 +0,0 @@ -/* - poly1305 implementation using 64 bit * 64 bit = 128 bit multiplication - and 128 bit addition -*/ - -#include "private/common.h" - -#define MUL(out, x, y) out = ((uint128_t) x * y) -#define ADD(out, in) out += in -#define ADDLO(out, in) out += in -#define SHR(in, shift) (unsigned long long) (in >> (shift)) -#define LO(in) (unsigned long long) (in) - -#if defined(_MSC_VER) -# define POLY1305_NOINLINE __declspec(noinline) -#elif defined(__clang__) || defined(__GNUC__) -# define POLY1305_NOINLINE __attribute__((noinline)) -#else -# define POLY1305_NOINLINE -#endif - -#define poly1305_block_size 16 - -/* 17 + sizeof(unsigned long long) + 8*sizeof(unsigned long long) */ -typedef struct poly1305_state_internal_t { - unsigned long long r[3]; - unsigned long long h[3]; - unsigned long long pad[2]; - unsigned long long leftover; - unsigned char buffer[poly1305_block_size]; - unsigned char final; -} poly1305_state_internal_t; - -static void -poly1305_init(poly1305_state_internal_t *st, const unsigned char key[32]) -{ - unsigned long long t0, t1; - - /* r &= 0xffffffc0ffffffc0ffffffc0fffffff */ - t0 = LOAD64_LE(&key[0]); - t1 = LOAD64_LE(&key[8]); - - /* wiped after finalization */ - st->r[0] = (t0) & 0xffc0fffffff; - st->r[1] = ((t0 >> 44) | (t1 << 20)) & 0xfffffc0ffff; - st->r[2] = ((t1 >> 24)) & 0x00ffffffc0f; - - /* h = 0 */ - st->h[0] = 0; - st->h[1] = 0; - st->h[2] = 0; - - /* save pad for later */ - st->pad[0] = LOAD64_LE(&key[16]); - st->pad[1] = LOAD64_LE(&key[24]); - - st->leftover = 0; - st->final = 0; -} - -static void -poly1305_blocks(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long bytes) -{ - const unsigned long long hibit = - (st->final) ? 0ULL : (1ULL << 40); /* 1 << 128 */ - unsigned long long r0, r1, r2; - unsigned long long s1, s2; - unsigned long long h0, h1, h2; - unsigned long long c; - uint128_t d0, d1, d2, d; - - r0 = st->r[0]; - r1 = st->r[1]; - r2 = st->r[2]; - - h0 = st->h[0]; - h1 = st->h[1]; - h2 = st->h[2]; - - s1 = r1 * (5 << 2); - s2 = r2 * (5 << 2); - - while (bytes >= poly1305_block_size) { - unsigned long long t0, t1; - - /* h += m[i] */ - t0 = LOAD64_LE(&m[0]); - t1 = LOAD64_LE(&m[8]); - - h0 += t0 & 0xfffffffffff; - h1 += ((t0 >> 44) | (t1 << 20)) & 0xfffffffffff; - h2 += (((t1 >> 24)) & 0x3ffffffffff) | hibit; - - /* h *= r */ - MUL(d0, h0, r0); - MUL(d, h1, s2); - ADD(d0, d); - MUL(d, h2, s1); - ADD(d0, d); - MUL(d1, h0, r1); - MUL(d, h1, r0); - ADD(d1, d); - MUL(d, h2, s2); - ADD(d1, d); - MUL(d2, h0, r2); - MUL(d, h1, r1); - ADD(d2, d); - MUL(d, h2, r0); - ADD(d2, d); - - /* (partial) h %= p */ - c = SHR(d0, 44); - h0 = LO(d0) & 0xfffffffffff; - ADDLO(d1, c); - c = SHR(d1, 44); - h1 = LO(d1) & 0xfffffffffff; - ADDLO(d2, c); - c = SHR(d2, 42); - h2 = LO(d2) & 0x3ffffffffff; - h0 += c * 5; - c = (h0 >> 44); - h0 = h0 & 0xfffffffffff; - h1 += c; - - m += poly1305_block_size; - bytes -= poly1305_block_size; - } - - st->h[0] = h0; - st->h[1] = h1; - st->h[2] = h2; -} - -static POLY1305_NOINLINE void -poly1305_finish(poly1305_state_internal_t *st, unsigned char mac[16]) -{ - unsigned long long h0, h1, h2, c; - unsigned long long g0, g1, g2; - unsigned long long t0, t1; - unsigned long long mask; - - /* process the remaining block */ - if (st->leftover) { - unsigned long long i = st->leftover; - - st->buffer[i] = 1; - - for (i = i + 1; i < poly1305_block_size; i++) { - st->buffer[i] = 0; - } - st->final = 1; - poly1305_blocks(st, st->buffer, poly1305_block_size); - } - - /* fully carry h */ - h0 = st->h[0]; - h1 = st->h[1]; - h2 = st->h[2]; - - c = h1 >> 44; - h1 &= 0xfffffffffff; - h2 += c; - c = h2 >> 42; - h2 &= 0x3ffffffffff; - h0 += c * 5; - c = h0 >> 44; - h0 &= 0xfffffffffff; - h1 += c; - c = h1 >> 44; - h1 &= 0xfffffffffff; - h2 += c; - c = h2 >> 42; - h2 &= 0x3ffffffffff; - h0 += c * 5; - c = h0 >> 44; - h0 &= 0xfffffffffff; - h1 += c; - - /* compute h + -p */ - g0 = h0 + 5; - c = g0 >> 44; - g0 &= 0xfffffffffff; - g1 = h1 + c; - c = g1 >> 44; - g1 &= 0xfffffffffff; - g2 = h2 + c - (1ULL << 42); - - /* select h if h < p, or h + -p if h >= p */ - mask = (g2 >> ((sizeof(unsigned long long) * 8) - 1)) - 1; - g0 &= mask; - g1 &= mask; - g2 &= mask; - mask = ~mask; - h0 = (h0 & mask) | g0; - h1 = (h1 & mask) | g1; - h2 = (h2 & mask) | g2; - - /* h = (h + pad) */ - t0 = st->pad[0]; - t1 = st->pad[1]; - - h0 += ((t0) &0xfffffffffff); - c = (h0 >> 44); - h0 &= 0xfffffffffff; - h1 += (((t0 >> 44) | (t1 << 20)) & 0xfffffffffff) + c; - c = (h1 >> 44); - h1 &= 0xfffffffffff; - h2 += (((t1 >> 24)) & 0x3ffffffffff) + c; - h2 &= 0x3ffffffffff; - - /* mac = h % (2^128) */ - h0 = (h0) | (h1 << 44); - h1 = (h1 >> 20) | (h2 << 24); - - STORE64_LE(&mac[0], h0); - STORE64_LE(&mac[8], h1); - - /* zero out the state */ - sodium_memzero((void *) st, sizeof *st); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c deleted file mode 100644 index d5e2efa..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +++ /dev/null @@ -1,90 +0,0 @@ - -#include "onetimeauth_poly1305.h" -#include "crypto_onetimeauth_poly1305.h" -#include "private/common.h" -#include "private/implementations.h" -#include "randombytes.h" -#include "runtime.h" - -#include "donna/poly1305_donna.h" -#if defined(HAVE_TI_MODE) && defined(HAVE_EMMINTRIN_H) -# include "sse2/poly1305_sse2.h" -#endif - -static const crypto_onetimeauth_poly1305_implementation *implementation = - &crypto_onetimeauth_poly1305_donna_implementation; - -int -crypto_onetimeauth_poly1305(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - return implementation->onetimeauth(out, in, inlen, k); -} - -int -crypto_onetimeauth_poly1305_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) -{ - return implementation->onetimeauth_verify(h, in, inlen, k); -} - -int -crypto_onetimeauth_poly1305_init(crypto_onetimeauth_poly1305_state *state, - const unsigned char *key) -{ - return implementation->onetimeauth_init(state, key); -} - -int -crypto_onetimeauth_poly1305_update(crypto_onetimeauth_poly1305_state *state, - const unsigned char *in, - unsigned long long inlen) -{ - return implementation->onetimeauth_update(state, in, inlen); -} - -int -crypto_onetimeauth_poly1305_final(crypto_onetimeauth_poly1305_state *state, - unsigned char *out) -{ - return implementation->onetimeauth_final(state, out); -} - -size_t -crypto_onetimeauth_poly1305_bytes(void) -{ - return crypto_onetimeauth_poly1305_BYTES; -} - -size_t -crypto_onetimeauth_poly1305_keybytes(void) -{ - return crypto_onetimeauth_poly1305_KEYBYTES; -} - -size_t -crypto_onetimeauth_poly1305_statebytes(void) -{ - return sizeof(crypto_onetimeauth_poly1305_state); -} - -void -crypto_onetimeauth_poly1305_keygen( - unsigned char k[crypto_onetimeauth_poly1305_KEYBYTES]) -{ - randombytes_buf(k, crypto_onetimeauth_poly1305_KEYBYTES); -} - -int -_crypto_onetimeauth_poly1305_pick_best_implementation(void) -{ - implementation = &crypto_onetimeauth_poly1305_donna_implementation; -#if defined(HAVE_TI_MODE) && defined(HAVE_EMMINTRIN_H) - if (sodium_runtime_has_sse2()) { - implementation = &crypto_onetimeauth_poly1305_sse2_implementation; - } -#endif - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h deleted file mode 100644 index 243eadd..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef onetimeauth_poly1305_H -#define onetimeauth_poly1305_H - -#include "crypto_onetimeauth_poly1305.h" - -typedef struct crypto_onetimeauth_poly1305_implementation { - int (*onetimeauth)(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k); - int (*onetimeauth_verify)(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k); - int (*onetimeauth_init)(crypto_onetimeauth_poly1305_state *state, - const unsigned char * key); - int (*onetimeauth_update)(crypto_onetimeauth_poly1305_state *state, - const unsigned char * in, - unsigned long long inlen); - int (*onetimeauth_final)(crypto_onetimeauth_poly1305_state *state, - unsigned char * out); -} crypto_onetimeauth_poly1305_implementation; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c deleted file mode 100644 index e80c961..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +++ /dev/null @@ -1,949 +0,0 @@ - -#include -#include - -#include "../onetimeauth_poly1305.h" -#include "crypto_verify_16.h" -#include "poly1305_sse2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "utils.h" - -#if defined(HAVE_TI_MODE) && defined(HAVE_EMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# endif - -# include - -typedef __m128i xmmi; - -# if defined(_MSC_VER) -# define POLY1305_NOINLINE __declspec(noinline) -# elif defined(__clang__) || defined(__GNUC__) -# define POLY1305_NOINLINE __attribute__((noinline)) -# else -# define POLY1305_NOINLINE -# endif - -# define poly1305_block_size 32 - -enum poly1305_state_flags_t { - poly1305_started = 1, - poly1305_final_shift8 = 4, - poly1305_final_shift16 = 8, - poly1305_final_r2_r = 16, /* use [r^2,r] for the final block */ - poly1305_final_r_1 = 32 /* use [r,1] for the final block */ -}; - -typedef struct poly1305_state_internal_t { - union { - uint64_t h[3]; - uint32_t hh[10]; - } H; /* 40 bytes */ - uint32_t R[5]; /* 20 bytes */ - uint32_t R2[5]; /* 20 bytes */ - uint32_t R4[5]; /* 20 bytes */ - uint64_t pad[2]; /* 16 bytes */ - uint64_t flags; /* 8 bytes */ - unsigned long long leftover; /* 8 bytes */ - unsigned char buffer[poly1305_block_size]; /* 32 bytes */ -} poly1305_state_internal_t; /* 164 bytes total */ - -/* - * _mm_loadl_epi64() is turned into a simple MOVQ. So, unaligned accesses are - * totally fine, even though this intrinsic requires a __m128i* input. - * This confuses dynamic analysis, so force alignment, only in debug mode. - */ -# ifdef DEBUG -static xmmi -_fakealign_mm_loadl_epi64(const void *m) -{ - xmmi tmp; - memcpy(&tmp, m, 8); - - return _mm_loadl_epi64(&tmp); -} -# define _mm_loadl_epi64(X) _fakealign_mm_loadl_epi64(X) -#endif - -/* copy 0-31 bytes */ -static inline void -poly1305_block_copy31(unsigned char *dst, const unsigned char *src, - unsigned long long bytes) -{ - if (bytes & 16) { - _mm_store_si128((xmmi *) (void *) dst, - _mm_loadu_si128((const xmmi *) (const void *) src)); - src += 16; - dst += 16; - } - if (bytes & 8) { - memcpy(dst, src, 8); - src += 8; - dst += 8; - } - if (bytes & 4) { - memcpy(dst, src, 4); - src += 4; - dst += 4; - } - if (bytes & 2) { - memcpy(dst, src, 2); - src += 2; - dst += 2; - } - if (bytes & 1) { - *dst = *src; - } -} - -static POLY1305_NOINLINE void -poly1305_init_ext(poly1305_state_internal_t *st, const unsigned char key[32], - unsigned long long bytes) -{ - uint32_t *R; - uint128_t d[3]; - uint64_t r0, r1, r2; - uint64_t rt0, rt1, rt2, st2, c; - uint64_t t0, t1; - unsigned long long i; - - if (!bytes) { - bytes = ~(unsigned long long) 0; - } - /* H = 0 */ - _mm_storeu_si128((xmmi *) (void *) &st->H.hh[0], _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) &st->H.hh[4], _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) &st->H.hh[8], _mm_setzero_si128()); - - /* clamp key */ - memcpy(&t0, key, 8); - memcpy(&t1, key + 8, 8); - r0 = t0 & 0xffc0fffffff; - t0 >>= 44; - t0 |= t1 << 20; - r1 = t0 & 0xfffffc0ffff; - t1 >>= 24; - r2 = t1 & 0x00ffffffc0f; - - /* r^1 */ - R = st->R; - R[0] = (uint32_t)(r0) &0x3ffffff; - R[1] = (uint32_t)((r0 >> 26) | (r1 << 18)) & 0x3ffffff; - R[2] = (uint32_t)((r1 >> 8)) & 0x3ffffff; - R[3] = (uint32_t)((r1 >> 34) | (r2 << 10)) & 0x3ffffff; - R[4] = (uint32_t)((r2 >> 16)); - - /* save pad */ - memcpy(&st->pad[0], key + 16, 8); - memcpy(&st->pad[1], key + 24, 8); - - rt0 = r0; - rt1 = r1; - rt2 = r2; - - /* r^2, r^4 */ - for (i = 0; i < 2; i++) { - if (i == 0) { - R = st->R2; - if (bytes <= 16) { - break; - } - } else if (i == 1) { - R = st->R4; - if (bytes < 96) { - break; - } - } - st2 = rt2 * (5 << 2); - - d[0] = ((uint128_t) rt0 * rt0) + ((uint128_t)(rt1 * 2) * st2); - d[1] = ((uint128_t) rt2 * st2) + ((uint128_t)(rt0 * 2) * rt1); - d[2] = ((uint128_t) rt1 * rt1) + ((uint128_t)(rt2 * 2) * rt0); - - rt0 = (uint64_t) d[0] & 0xfffffffffff; - c = (uint64_t)(d[0] >> 44); - d[1] += c; - - rt1 = (uint64_t) d[1] & 0xfffffffffff; - c = (uint64_t)(d[1] >> 44); - d[2] += c; - - rt2 = (uint64_t) d[2] & 0x3ffffffffff; - c = (uint64_t)(d[2] >> 42); - rt0 += c * 5; - c = (rt0 >> 44); - rt0 = rt0 & 0xfffffffffff; - rt1 += c; - c = (rt1 >> 44); - rt1 = rt1 & 0xfffffffffff; - rt2 += c; /* even if rt2 overflows, it will still fit in rp4 safely, and - is safe to multiply with */ - - R[0] = (uint32_t)(rt0) &0x3ffffff; - R[1] = (uint32_t)((rt0 >> 26) | (rt1 << 18)) & 0x3ffffff; - R[2] = (uint32_t)((rt1 >> 8)) & 0x3ffffff; - R[3] = (uint32_t)((rt1 >> 34) | (rt2 << 10)) & 0x3ffffff; - R[4] = (uint32_t)((rt2 >> 16)); - } - st->flags = 0; - st->leftover = 0U; -} - -static POLY1305_NOINLINE void -poly1305_blocks(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long bytes) -{ - CRYPTO_ALIGN(64) - xmmi HIBIT = - _mm_shuffle_epi32(_mm_cvtsi32_si128(1 << 24), _MM_SHUFFLE(1, 0, 1, 0)); - const xmmi MMASK = _mm_shuffle_epi32(_mm_cvtsi32_si128((1 << 26) - 1), - _MM_SHUFFLE(1, 0, 1, 0)); - const xmmi FIVE = - _mm_shuffle_epi32(_mm_cvtsi32_si128(5), _MM_SHUFFLE(1, 0, 1, 0)); - xmmi H0, H1, H2, H3, H4; - xmmi T0, T1, T2, T3, T4, T5, T6, T7, T8; - xmmi M0, M1, M2, M3, M4; - xmmi M5, M6, M7, M8; - xmmi C1, C2; - xmmi R20, R21, R22, R23, R24, S21, S22, S23, S24; - xmmi R40, R41, R42, R43, R44, S41, S42, S43, S44; - - if (st->flags & poly1305_final_shift8) { - HIBIT = _mm_srli_si128(HIBIT, 8); - } - if (st->flags & poly1305_final_shift16) { - HIBIT = _mm_setzero_si128(); - } - if (!(st->flags & poly1305_started)) { - /* H = [Mx,My] */ - T5 = _mm_unpacklo_epi64( - _mm_loadl_epi64((const xmmi *) (const void *) (m + 0)), - _mm_loadl_epi64((const xmmi *) (const void *) (m + 16))); - T6 = _mm_unpacklo_epi64( - _mm_loadl_epi64((const xmmi *) (const void *) (m + 8)), - _mm_loadl_epi64((const xmmi *) (const void *) (m + 24))); - H0 = _mm_and_si128(MMASK, T5); - H1 = _mm_and_si128(MMASK, _mm_srli_epi64(T5, 26)); - T5 = _mm_or_si128(_mm_srli_epi64(T5, 52), _mm_slli_epi64(T6, 12)); - H2 = _mm_and_si128(MMASK, T5); - H3 = _mm_and_si128(MMASK, _mm_srli_epi64(T5, 26)); - H4 = _mm_srli_epi64(T6, 40); - H4 = _mm_or_si128(H4, HIBIT); - m += 32; - bytes -= 32; - st->flags |= poly1305_started; - } else { - T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->H.hh[0]); - T1 = _mm_loadu_si128((const xmmi *) (const void *) &st->H.hh[4]); - T2 = _mm_loadu_si128((const xmmi *) (const void *) &st->H.hh[8]); - H0 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(1, 1, 0, 0)); - H1 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(3, 3, 2, 2)); - H2 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(1, 1, 0, 0)); - H3 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(3, 3, 2, 2)); - H4 = _mm_shuffle_epi32(T2, _MM_SHUFFLE(1, 1, 0, 0)); - } - if (st->flags & (poly1305_final_r2_r | poly1305_final_r_1)) { - if (st->flags & poly1305_final_r2_r) { - /* use [r^2, r] */ - T2 = _mm_loadu_si128((const xmmi *) (const void *) &st->R[0]); - T3 = _mm_cvtsi32_si128(st->R[4]); - T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R2[0]); - T1 = _mm_cvtsi32_si128(st->R2[4]); - T4 = _mm_unpacklo_epi32(T0, T2); - T5 = _mm_unpackhi_epi32(T0, T2); - R24 = _mm_unpacklo_epi64(T1, T3); - } else { - /* use [r^1, 1] */ - T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R[0]); - T1 = _mm_cvtsi32_si128(st->R[4]); - T2 = _mm_cvtsi32_si128(1); - T4 = _mm_unpacklo_epi32(T0, T2); - T5 = _mm_unpackhi_epi32(T0, T2); - R24 = T1; - } - R20 = _mm_shuffle_epi32(T4, _MM_SHUFFLE(1, 1, 0, 0)); - R21 = _mm_shuffle_epi32(T4, _MM_SHUFFLE(3, 3, 2, 2)); - R22 = _mm_shuffle_epi32(T5, _MM_SHUFFLE(1, 1, 0, 0)); - R23 = _mm_shuffle_epi32(T5, _MM_SHUFFLE(3, 3, 2, 2)); - } else { - /* use [r^2, r^2] */ - T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R2[0]); - T1 = _mm_cvtsi32_si128(st->R2[4]); - R20 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(0, 0, 0, 0)); - R21 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(1, 1, 1, 1)); - R22 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(2, 2, 2, 2)); - R23 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(3, 3, 3, 3)); - R24 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(0, 0, 0, 0)); - } - S21 = _mm_mul_epu32(R21, FIVE); - S22 = _mm_mul_epu32(R22, FIVE); - S23 = _mm_mul_epu32(R23, FIVE); - S24 = _mm_mul_epu32(R24, FIVE); - - if (bytes >= 64) { - T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R4[0]); - T1 = _mm_cvtsi32_si128(st->R4[4]); - R40 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(0, 0, 0, 0)); - R41 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(1, 1, 1, 1)); - R42 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(2, 2, 2, 2)); - R43 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(3, 3, 3, 3)); - R44 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(0, 0, 0, 0)); - S41 = _mm_mul_epu32(R41, FIVE); - S42 = _mm_mul_epu32(R42, FIVE); - S43 = _mm_mul_epu32(R43, FIVE); - S44 = _mm_mul_epu32(R44, FIVE); - - while (bytes >= 64) { - xmmi v00, v01, v02, v03, v04; - xmmi v10, v11, v12, v13, v14; - xmmi v20, v21, v22, v23, v24; - xmmi v30, v31, v32, v33, v34; - xmmi v40, v41, v42, v43, v44; - xmmi T14, T15; - - /* H *= [r^4,r^4], preload [Mx,My] */ - T15 = S42; - T0 = H4; - T0 = _mm_mul_epu32(T0, S41); - v01 = H3; - v01 = _mm_mul_epu32(v01, T15); - T14 = S43; - T1 = H4; - T1 = _mm_mul_epu32(T1, T15); - v11 = H3; - v11 = _mm_mul_epu32(v11, T14); - T2 = H4; - T2 = _mm_mul_epu32(T2, T14); - T0 = _mm_add_epi64(T0, v01); - T15 = S44; - v02 = H2; - v02 = _mm_mul_epu32(v02, T14); - T3 = H4; - T3 = _mm_mul_epu32(T3, T15); - T1 = _mm_add_epi64(T1, v11); - v03 = H1; - v03 = _mm_mul_epu32(v03, T15); - v12 = H2; - v12 = _mm_mul_epu32(v12, T15); - T0 = _mm_add_epi64(T0, v02); - T14 = R40; - v21 = H3; - v21 = _mm_mul_epu32(v21, T15); - v31 = H3; - v31 = _mm_mul_epu32(v31, T14); - T0 = _mm_add_epi64(T0, v03); - T4 = H4; - T4 = _mm_mul_epu32(T4, T14); - T1 = _mm_add_epi64(T1, v12); - v04 = H0; - v04 = _mm_mul_epu32(v04, T14); - T2 = _mm_add_epi64(T2, v21); - v13 = H1; - v13 = _mm_mul_epu32(v13, T14); - T3 = _mm_add_epi64(T3, v31); - T15 = R41; - v22 = H2; - v22 = _mm_mul_epu32(v22, T14); - v32 = H2; - v32 = _mm_mul_epu32(v32, T15); - T0 = _mm_add_epi64(T0, v04); - v41 = H3; - v41 = _mm_mul_epu32(v41, T15); - T1 = _mm_add_epi64(T1, v13); - v14 = H0; - v14 = _mm_mul_epu32(v14, T15); - T2 = _mm_add_epi64(T2, v22); - T14 = R42; - T5 = _mm_unpacklo_epi64( - _mm_loadl_epi64((const xmmi *) (const void *) (m + 0)), - _mm_loadl_epi64((const xmmi *) (const void *) (m + 16))); - v23 = H1; - v23 = _mm_mul_epu32(v23, T15); - T3 = _mm_add_epi64(T3, v32); - v33 = H1; - v33 = _mm_mul_epu32(v33, T14); - T4 = _mm_add_epi64(T4, v41); - v42 = H2; - v42 = _mm_mul_epu32(v42, T14); - T1 = _mm_add_epi64(T1, v14); - T15 = R43; - T6 = _mm_unpacklo_epi64( - _mm_loadl_epi64((const xmmi *) (const void *) (m + 8)), - _mm_loadl_epi64((const xmmi *) (const void *) (m + 24))); - v24 = H0; - v24 = _mm_mul_epu32(v24, T14); - T2 = _mm_add_epi64(T2, v23); - v34 = H0; - v34 = _mm_mul_epu32(v34, T15); - T3 = _mm_add_epi64(T3, v33); - M0 = _mm_and_si128(MMASK, T5); - v43 = H1; - v43 = _mm_mul_epu32(v43, T15); - T4 = _mm_add_epi64(T4, v42); - M1 = _mm_and_si128(MMASK, _mm_srli_epi64(T5, 26)); - v44 = H0; - v44 = _mm_mul_epu32(v44, R44); - T2 = _mm_add_epi64(T2, v24); - T5 = _mm_or_si128(_mm_srli_epi64(T5, 52), _mm_slli_epi64(T6, 12)); - T3 = _mm_add_epi64(T3, v34); - M3 = _mm_and_si128(MMASK, _mm_srli_epi64(T6, 14)); - T4 = _mm_add_epi64(T4, v43); - M2 = _mm_and_si128(MMASK, T5); - T4 = _mm_add_epi64(T4, v44); - M4 = _mm_or_si128(_mm_srli_epi64(T6, 40), HIBIT); - - /* H += [Mx',My'] */ - T5 = _mm_loadu_si128((const xmmi *) (const void *) (m + 32)); - T6 = _mm_loadu_si128((const xmmi *) (const void *) (m + 48)); - T7 = _mm_unpacklo_epi32(T5, T6); - T8 = _mm_unpackhi_epi32(T5, T6); - M5 = _mm_unpacklo_epi32(T7, _mm_setzero_si128()); - M6 = _mm_unpackhi_epi32(T7, _mm_setzero_si128()); - M7 = _mm_unpacklo_epi32(T8, _mm_setzero_si128()); - M8 = _mm_unpackhi_epi32(T8, _mm_setzero_si128()); - M6 = _mm_slli_epi64(M6, 6); - M7 = _mm_slli_epi64(M7, 12); - M8 = _mm_slli_epi64(M8, 18); - T0 = _mm_add_epi64(T0, M5); - T1 = _mm_add_epi64(T1, M6); - T2 = _mm_add_epi64(T2, M7); - T3 = _mm_add_epi64(T3, M8); - T4 = _mm_add_epi64(T4, HIBIT); - - /* H += [Mx,My]*[r^2,r^2] */ - T15 = S22; - v00 = M4; - v00 = _mm_mul_epu32(v00, S21); - v01 = M3; - v01 = _mm_mul_epu32(v01, T15); - T14 = S23; - v10 = M4; - v10 = _mm_mul_epu32(v10, T15); - v11 = M3; - v11 = _mm_mul_epu32(v11, T14); - T0 = _mm_add_epi64(T0, v00); - v20 = M4; - v20 = _mm_mul_epu32(v20, T14); - T0 = _mm_add_epi64(T0, v01); - T15 = S24; - v02 = M2; - v02 = _mm_mul_epu32(v02, T14); - T1 = _mm_add_epi64(T1, v10); - v30 = M4; - v30 = _mm_mul_epu32(v30, T15); - T1 = _mm_add_epi64(T1, v11); - v03 = M1; - v03 = _mm_mul_epu32(v03, T15); - T2 = _mm_add_epi64(T2, v20); - v12 = M2; - v12 = _mm_mul_epu32(v12, T15); - T0 = _mm_add_epi64(T0, v02); - T14 = R20; - v21 = M3; - v21 = _mm_mul_epu32(v21, T15); - T3 = _mm_add_epi64(T3, v30); - v31 = M3; - v31 = _mm_mul_epu32(v31, T14); - T0 = _mm_add_epi64(T0, v03); - v40 = M4; - v40 = _mm_mul_epu32(v40, T14); - T1 = _mm_add_epi64(T1, v12); - v04 = M0; - v04 = _mm_mul_epu32(v04, T14); - T2 = _mm_add_epi64(T2, v21); - v13 = M1; - v13 = _mm_mul_epu32(v13, T14); - T3 = _mm_add_epi64(T3, v31); - T15 = R21; - v22 = M2; - v22 = _mm_mul_epu32(v22, T14); - T4 = _mm_add_epi64(T4, v40); - v32 = M2; - v32 = _mm_mul_epu32(v32, T15); - T0 = _mm_add_epi64(T0, v04); - v41 = M3; - v41 = _mm_mul_epu32(v41, T15); - T1 = _mm_add_epi64(T1, v13); - v14 = M0; - v14 = _mm_mul_epu32(v14, T15); - T2 = _mm_add_epi64(T2, v22); - T14 = R22; - v23 = M1; - v23 = _mm_mul_epu32(v23, T15); - T3 = _mm_add_epi64(T3, v32); - v33 = M1; - v33 = _mm_mul_epu32(v33, T14); - T4 = _mm_add_epi64(T4, v41); - v42 = M2; - v42 = _mm_mul_epu32(v42, T14); - T1 = _mm_add_epi64(T1, v14); - T15 = R23; - v24 = M0; - v24 = _mm_mul_epu32(v24, T14); - T2 = _mm_add_epi64(T2, v23); - v34 = M0; - v34 = _mm_mul_epu32(v34, T15); - T3 = _mm_add_epi64(T3, v33); - v43 = M1; - v43 = _mm_mul_epu32(v43, T15); - T4 = _mm_add_epi64(T4, v42); - v44 = M0; - v44 = _mm_mul_epu32(v44, R24); - T2 = _mm_add_epi64(T2, v24); - T3 = _mm_add_epi64(T3, v34); - T4 = _mm_add_epi64(T4, v43); - T4 = _mm_add_epi64(T4, v44); - - /* reduce */ - C1 = _mm_srli_epi64(T0, 26); - C2 = _mm_srli_epi64(T3, 26); - T0 = _mm_and_si128(T0, MMASK); - T3 = _mm_and_si128(T3, MMASK); - T1 = _mm_add_epi64(T1, C1); - T4 = _mm_add_epi64(T4, C2); - C1 = _mm_srli_epi64(T1, 26); - C2 = _mm_srli_epi64(T4, 26); - T1 = _mm_and_si128(T1, MMASK); - T4 = _mm_and_si128(T4, MMASK); - T2 = _mm_add_epi64(T2, C1); - T0 = _mm_add_epi64(T0, _mm_mul_epu32(C2, FIVE)); - C1 = _mm_srli_epi64(T2, 26); - C2 = _mm_srli_epi64(T0, 26); - T2 = _mm_and_si128(T2, MMASK); - T0 = _mm_and_si128(T0, MMASK); - T3 = _mm_add_epi64(T3, C1); - T1 = _mm_add_epi64(T1, C2); - C1 = _mm_srli_epi64(T3, 26); - T3 = _mm_and_si128(T3, MMASK); - T4 = _mm_add_epi64(T4, C1); - - /* Final: H = (H*[r^4,r^4] + [Mx,My]*[r^2,r^2] + [Mx',My']) */ - H0 = T0; - H1 = T1; - H2 = T2; - H3 = T3; - H4 = T4; - - m += 64; - bytes -= 64; - } - } - - if (bytes >= 32) { - xmmi v01, v02, v03, v04; - xmmi v11, v12, v13, v14; - xmmi v21, v22, v23, v24; - xmmi v31, v32, v33, v34; - xmmi v41, v42, v43, v44; - xmmi T14, T15; - - /* H *= [r^2,r^2] */ - T15 = S22; - T0 = H4; - T0 = _mm_mul_epu32(T0, S21); - v01 = H3; - v01 = _mm_mul_epu32(v01, T15); - T14 = S23; - T1 = H4; - T1 = _mm_mul_epu32(T1, T15); - v11 = H3; - v11 = _mm_mul_epu32(v11, T14); - T2 = H4; - T2 = _mm_mul_epu32(T2, T14); - T0 = _mm_add_epi64(T0, v01); - T15 = S24; - v02 = H2; - v02 = _mm_mul_epu32(v02, T14); - T3 = H4; - T3 = _mm_mul_epu32(T3, T15); - T1 = _mm_add_epi64(T1, v11); - v03 = H1; - v03 = _mm_mul_epu32(v03, T15); - v12 = H2; - v12 = _mm_mul_epu32(v12, T15); - T0 = _mm_add_epi64(T0, v02); - T14 = R20; - v21 = H3; - v21 = _mm_mul_epu32(v21, T15); - v31 = H3; - v31 = _mm_mul_epu32(v31, T14); - T0 = _mm_add_epi64(T0, v03); - T4 = H4; - T4 = _mm_mul_epu32(T4, T14); - T1 = _mm_add_epi64(T1, v12); - v04 = H0; - v04 = _mm_mul_epu32(v04, T14); - T2 = _mm_add_epi64(T2, v21); - v13 = H1; - v13 = _mm_mul_epu32(v13, T14); - T3 = _mm_add_epi64(T3, v31); - T15 = R21; - v22 = H2; - v22 = _mm_mul_epu32(v22, T14); - v32 = H2; - v32 = _mm_mul_epu32(v32, T15); - T0 = _mm_add_epi64(T0, v04); - v41 = H3; - v41 = _mm_mul_epu32(v41, T15); - T1 = _mm_add_epi64(T1, v13); - v14 = H0; - v14 = _mm_mul_epu32(v14, T15); - T2 = _mm_add_epi64(T2, v22); - T14 = R22; - v23 = H1; - v23 = _mm_mul_epu32(v23, T15); - T3 = _mm_add_epi64(T3, v32); - v33 = H1; - v33 = _mm_mul_epu32(v33, T14); - T4 = _mm_add_epi64(T4, v41); - v42 = H2; - v42 = _mm_mul_epu32(v42, T14); - T1 = _mm_add_epi64(T1, v14); - T15 = R23; - v24 = H0; - v24 = _mm_mul_epu32(v24, T14); - T2 = _mm_add_epi64(T2, v23); - v34 = H0; - v34 = _mm_mul_epu32(v34, T15); - T3 = _mm_add_epi64(T3, v33); - v43 = H1; - v43 = _mm_mul_epu32(v43, T15); - T4 = _mm_add_epi64(T4, v42); - v44 = H0; - v44 = _mm_mul_epu32(v44, R24); - T2 = _mm_add_epi64(T2, v24); - T3 = _mm_add_epi64(T3, v34); - T4 = _mm_add_epi64(T4, v43); - T4 = _mm_add_epi64(T4, v44); - - /* H += [Mx,My] */ - if (m) { - T5 = _mm_loadu_si128((const xmmi *) (const void *) (m + 0)); - T6 = _mm_loadu_si128((const xmmi *) (const void *) (m + 16)); - T7 = _mm_unpacklo_epi32(T5, T6); - T8 = _mm_unpackhi_epi32(T5, T6); - M0 = _mm_unpacklo_epi32(T7, _mm_setzero_si128()); - M1 = _mm_unpackhi_epi32(T7, _mm_setzero_si128()); - M2 = _mm_unpacklo_epi32(T8, _mm_setzero_si128()); - M3 = _mm_unpackhi_epi32(T8, _mm_setzero_si128()); - M1 = _mm_slli_epi64(M1, 6); - M2 = _mm_slli_epi64(M2, 12); - M3 = _mm_slli_epi64(M3, 18); - T0 = _mm_add_epi64(T0, M0); - T1 = _mm_add_epi64(T1, M1); - T2 = _mm_add_epi64(T2, M2); - T3 = _mm_add_epi64(T3, M3); - T4 = _mm_add_epi64(T4, HIBIT); - } - - /* reduce */ - C1 = _mm_srli_epi64(T0, 26); - C2 = _mm_srli_epi64(T3, 26); - T0 = _mm_and_si128(T0, MMASK); - T3 = _mm_and_si128(T3, MMASK); - T1 = _mm_add_epi64(T1, C1); - T4 = _mm_add_epi64(T4, C2); - C1 = _mm_srli_epi64(T1, 26); - C2 = _mm_srli_epi64(T4, 26); - T1 = _mm_and_si128(T1, MMASK); - T4 = _mm_and_si128(T4, MMASK); - T2 = _mm_add_epi64(T2, C1); - T0 = _mm_add_epi64(T0, _mm_mul_epu32(C2, FIVE)); - C1 = _mm_srli_epi64(T2, 26); - C2 = _mm_srli_epi64(T0, 26); - T2 = _mm_and_si128(T2, MMASK); - T0 = _mm_and_si128(T0, MMASK); - T3 = _mm_add_epi64(T3, C1); - T1 = _mm_add_epi64(T1, C2); - C1 = _mm_srli_epi64(T3, 26); - T3 = _mm_and_si128(T3, MMASK); - T4 = _mm_add_epi64(T4, C1); - - /* H = (H*[r^2,r^2] + [Mx,My]) */ - H0 = T0; - H1 = T1; - H2 = T2; - H3 = T3; - H4 = T4; - } - - if (m) { - T0 = _mm_shuffle_epi32(H0, _MM_SHUFFLE(0, 0, 2, 0)); - T1 = _mm_shuffle_epi32(H1, _MM_SHUFFLE(0, 0, 2, 0)); - T2 = _mm_shuffle_epi32(H2, _MM_SHUFFLE(0, 0, 2, 0)); - T3 = _mm_shuffle_epi32(H3, _MM_SHUFFLE(0, 0, 2, 0)); - T4 = _mm_shuffle_epi32(H4, _MM_SHUFFLE(0, 0, 2, 0)); - T0 = _mm_unpacklo_epi64(T0, T1); - T1 = _mm_unpacklo_epi64(T2, T3); - _mm_storeu_si128((xmmi *) (void *) &st->H.hh[0], T0); - _mm_storeu_si128((xmmi *) (void *) &st->H.hh[4], T1); - _mm_storel_epi64((xmmi *) (void *) &st->H.hh[8], T4); - } else { - uint32_t t0, t1, t2, t3, t4, b; - uint64_t h0, h1, h2, g0, g1, g2, c, nc; - - /* H = H[0]+H[1] */ - T0 = H0; - T1 = H1; - T2 = H2; - T3 = H3; - T4 = H4; - - T0 = _mm_add_epi64(T0, _mm_srli_si128(T0, 8)); - T1 = _mm_add_epi64(T1, _mm_srli_si128(T1, 8)); - T2 = _mm_add_epi64(T2, _mm_srli_si128(T2, 8)); - T3 = _mm_add_epi64(T3, _mm_srli_si128(T3, 8)); - T4 = _mm_add_epi64(T4, _mm_srli_si128(T4, 8)); - - t0 = _mm_cvtsi128_si32(T0); - b = (t0 >> 26); - t0 &= 0x3ffffff; - t1 = _mm_cvtsi128_si32(T1) + b; - b = (t1 >> 26); - t1 &= 0x3ffffff; - t2 = _mm_cvtsi128_si32(T2) + b; - b = (t2 >> 26); - t2 &= 0x3ffffff; - t3 = _mm_cvtsi128_si32(T3) + b; - b = (t3 >> 26); - t3 &= 0x3ffffff; - t4 = _mm_cvtsi128_si32(T4) + b; - - /* everything except t4 is in range, so this is all safe */ - h0 = (((uint64_t) t0) | ((uint64_t) t1 << 26)) & 0xfffffffffffull; - h1 = (((uint64_t) t1 >> 18) | ((uint64_t) t2 << 8) | - ((uint64_t) t3 << 34)) & - 0xfffffffffffull; - h2 = (((uint64_t) t3 >> 10) | ((uint64_t) t4 << 16)); - - c = (h2 >> 42); - h2 &= 0x3ffffffffff; - h0 += c * 5; - c = (h0 >> 44); - h0 &= 0xfffffffffff; - h1 += c; - c = (h1 >> 44); - h1 &= 0xfffffffffff; - h2 += c; - c = (h2 >> 42); - h2 &= 0x3ffffffffff; - h0 += c * 5; - c = (h0 >> 44); - h0 &= 0xfffffffffff; - h1 += c; - - g0 = h0 + 5; - c = (g0 >> 44); - g0 &= 0xfffffffffff; - g1 = h1 + c; - c = (g1 >> 44); - g1 &= 0xfffffffffff; - g2 = h2 + c - ((uint64_t) 1 << 42); - - c = (g2 >> 63) - 1; - nc = ~c; - h0 = (h0 & nc) | (g0 & c); - h1 = (h1 & nc) | (g1 & c); - h2 = (h2 & nc) | (g2 & c); - - st->H.h[0] = h0; - st->H.h[1] = h1; - st->H.h[2] = h2; - } -} - -static void -poly1305_update(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long bytes) -{ - unsigned long long i; - - /* handle leftover */ - if (st->leftover) { - unsigned long long want = (poly1305_block_size - st->leftover); - - if (want > bytes) { - want = bytes; - } - for (i = 0; i < want; i++) { - st->buffer[st->leftover + i] = m[i]; - } - bytes -= want; - m += want; - st->leftover += want; - if (st->leftover < poly1305_block_size) { - return; - } - poly1305_blocks(st, st->buffer, poly1305_block_size); - st->leftover = 0; - } - - /* process full blocks */ - if (bytes >= poly1305_block_size) { - unsigned long long want = (bytes & ~(poly1305_block_size - 1)); - - poly1305_blocks(st, m, want); - m += want; - bytes -= want; - } - - /* store leftover */ - if (bytes) { - for (i = 0; i < bytes; i++) { - st->buffer[st->leftover + i] = m[i]; - } - st->leftover += bytes; - } -} - -static POLY1305_NOINLINE void -poly1305_finish_ext(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long leftover, unsigned char mac[16]) -{ - uint64_t h0, h1, h2; - - if (leftover) { - CRYPTO_ALIGN(16) unsigned char final[32] = { 0 }; - - poly1305_block_copy31(final, m, leftover); - if (leftover != 16) { - final[leftover] = 1; - } - st->flags |= - (leftover >= 16) ? poly1305_final_shift8 : poly1305_final_shift16; - poly1305_blocks(st, final, 32); - } - - if (st->flags & poly1305_started) { - /* finalize, H *= [r^2,r], or H *= [r,1] */ - if (!leftover || (leftover > 16)) { - st->flags |= poly1305_final_r2_r; - } else { - st->flags |= poly1305_final_r_1; - } - poly1305_blocks(st, NULL, 32); - } - - h0 = st->H.h[0]; - h1 = st->H.h[1]; - h2 = st->H.h[2]; - - /* pad */ - h0 = ((h0) | (h1 << 44)); - h1 = ((h1 >> 20) | (h2 << 24)); -#ifdef HAVE_AMD64_ASM - __asm__ __volatile__( - "addq %2, %0 ;\n" - "adcq %3, %1 ;\n" - : "+r"(h0), "+r"(h1) - : "r"(st->pad[0]), "r"(st->pad[1]) - : "flags", "cc"); -#else - { - uint128_t h; - - memcpy(&h, &st->pad[0], 16); - h += ((uint128_t) h1 << 64) | h0; - h0 = (uint64_t) h; - h1 = (uint64_t)(h >> 64); - } -#endif - _mm_storeu_si128((xmmi *) (void *) st + 0, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 1, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 2, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 3, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 4, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 5, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 6, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 7, _mm_setzero_si128()); - - memcpy(&mac[0], &h0, 8); - memcpy(&mac[8], &h1, 8); - - sodium_memzero((void *) st, sizeof *st); -} - -static void -poly1305_finish(poly1305_state_internal_t *st, unsigned char mac[16]) -{ - poly1305_finish_ext(st, st->buffer, st->leftover, mac); -} - -static int -crypto_onetimeauth_poly1305_sse2_init(crypto_onetimeauth_poly1305_state *state, - const unsigned char *key) -{ - COMPILER_ASSERT(sizeof(crypto_onetimeauth_poly1305_state) >= - sizeof(poly1305_state_internal_t)); - poly1305_init_ext((poly1305_state_internal_t *) (void *) state, key, 0U); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_sse2_update( - crypto_onetimeauth_poly1305_state *state, const unsigned char *in, - unsigned long long inlen) -{ - poly1305_update((poly1305_state_internal_t *) (void *) state, in, inlen); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_sse2_final(crypto_onetimeauth_poly1305_state *state, - unsigned char *out) -{ - poly1305_finish((poly1305_state_internal_t *) (void *) state, out); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_sse2(unsigned char *out, const unsigned char *m, - unsigned long long inlen, - const unsigned char *key) -{ - CRYPTO_ALIGN(64) poly1305_state_internal_t st; - unsigned long long blocks; - - poly1305_init_ext(&st, key, inlen); - blocks = inlen & ~31; - if (blocks > 0) { - poly1305_blocks(&st, m, blocks); - m += blocks; - inlen -= blocks; - } - poly1305_finish_ext(&st, m, inlen, out); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_sse2_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) -{ - unsigned char correct[16]; - - crypto_onetimeauth_poly1305_sse2(correct, in, inlen, k); - - return crypto_verify_16(h, correct); -} - -struct crypto_onetimeauth_poly1305_implementation - crypto_onetimeauth_poly1305_sse2_implementation = { - SODIUM_C99(.onetimeauth =) crypto_onetimeauth_poly1305_sse2, - SODIUM_C99(.onetimeauth_verify =) - crypto_onetimeauth_poly1305_sse2_verify, - SODIUM_C99(.onetimeauth_init =) crypto_onetimeauth_poly1305_sse2_init, - SODIUM_C99(.onetimeauth_update =) - crypto_onetimeauth_poly1305_sse2_update, - SODIUM_C99(.onetimeauth_final =) crypto_onetimeauth_poly1305_sse2_final - }; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h deleted file mode 100644 index 9177cad..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef poly1305_sse2_H -#define poly1305_sse2_H - -#include - -#include "../onetimeauth_poly1305.h" -#include "crypto_onetimeauth_poly1305.h" - -extern struct crypto_onetimeauth_poly1305_implementation - crypto_onetimeauth_poly1305_sse2_implementation; - -#endif /* poly1305_sse2_H */ diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-core.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-core.c deleted file mode 100644 index c4e4d84..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-core.c +++ /dev/null @@ -1,550 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#include -#include -#include -#include -#include - -#include -#ifdef HAVE_SYS_MMAN_H -# include -#endif - -#include "crypto_generichash_blake2b.h" -#include "private/common.h" -#include "private/implementations.h" -#include "runtime.h" -#include "utils.h" - -#include "argon2-core.h" -#include "blake2b-long.h" - -#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS) -# define MAP_ANON MAP_ANONYMOUS -#endif -#ifndef MAP_NOCORE -# define MAP_NOCORE 0 -#endif -#ifndef MAP_POPULATE -# define MAP_POPULATE 0 -#endif - -static fill_segment_fn fill_segment = fill_segment_ref; - -static void -load_block(block *dst, const void *input) -{ - unsigned i; - for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) { - dst->v[i] = LOAD64_LE((const uint8_t *) input + i * sizeof(dst->v[i])); - } -} - -static void -store_block(void *output, const block *src) -{ - unsigned i; - for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) { - STORE64_LE((uint8_t *) output + i * sizeof(src->v[i]), src->v[i]); - } -} - -/***************Memory allocators*****************/ -/* Allocates memory to the given pointer - * @param memory pointer to the pointer to the memory - * @param m_cost number of blocks to allocate in the memory - * @return ARGON2_OK if @memory is a valid pointer and memory is allocated - */ -static int allocate_memory(block_region **region, uint32_t m_cost); - -static int -allocate_memory(block_region **region, uint32_t m_cost) -{ - void * base; - block *memory; - size_t memory_size; - - if (region == NULL) { - return ARGON2_MEMORY_ALLOCATION_ERROR; /* LCOV_EXCL_LINE */ - } - memory_size = sizeof(block) * m_cost; - if (m_cost == 0 || memory_size / m_cost != sizeof(block)) { - return ARGON2_MEMORY_ALLOCATION_ERROR; /* LCOV_EXCL_LINE */ - } - *region = (block_region *) malloc(sizeof(block_region)); - if (*region == NULL) { - return ARGON2_MEMORY_ALLOCATION_ERROR; /* LCOV_EXCL_LINE */ - } - (*region)->base = (*region)->memory = NULL; - -#if defined(MAP_ANON) && defined(HAVE_MMAP) - if ((base = mmap(NULL, memory_size, PROT_READ | PROT_WRITE, - MAP_ANON | MAP_PRIVATE | MAP_NOCORE | MAP_POPULATE, - -1, 0)) == MAP_FAILED) { - base = NULL; /* LCOV_EXCL_LINE */ - } /* LCOV_EXCL_LINE */ - memcpy(&memory, &base, sizeof memory); -#elif defined(HAVE_POSIX_MEMALIGN) - if ((errno = posix_memalign((void **) &base, 64, memory_size)) != 0) { - base = NULL; - } - memcpy(&memory, &base, sizeof memory); -#else - memory = NULL; - if (memory_size + 63 < memory_size) { - base = NULL; - errno = ENOMEM; - } else if ((base = malloc(memory_size + 63)) != NULL) { - uint8_t *aligned = ((uint8_t *) base) + 63; - aligned -= (uintptr_t) aligned & 63; - memcpy(&memory, &aligned, sizeof memory); - } -#endif - if (base == NULL) { - /* LCOV_EXCL_START */ - free(*region); - *region = NULL; - return ARGON2_MEMORY_ALLOCATION_ERROR; - /* LCOV_EXCL_STOP */ - } - (*region)->base = base; - (*region)->memory = memory; - (*region)->size = memory_size; - - return ARGON2_OK; -} - -/*********Memory functions*/ - -/* Clears memory - * @param instance pointer to the current instance - * @param clear_memory indicates if we clear the memory with zeros. - */ -static void clear_memory(argon2_instance_t *instance, int clear); - -static void -clear_memory(argon2_instance_t *instance, int clear) -{ - /* LCOV_EXCL_START */ - if (clear) { - if (instance->region != NULL) { - sodium_memzero(instance->region->memory, - sizeof(block) * instance->memory_blocks); - } - if (instance->pseudo_rands != NULL) { - sodium_memzero(instance->pseudo_rands, - sizeof(uint64_t) * instance->segment_length); - } - } - /* LCOV_EXCL_STOP */ -} - -/* Deallocates memory - * @param memory pointer to the blocks - */ -static void free_memory(block_region *region); - -static void -free_memory(block_region *region) -{ - if (region && region->base) { -#if defined(MAP_ANON) && defined(HAVE_MMAP) - if (munmap(region->base, region->size)) { - return; /* LCOV_EXCL_LINE */ - } -#else - free(region->base); -#endif - } - free(region); -} - -void -free_instance(argon2_instance_t *instance, int flags) -{ - /* Clear memory */ - clear_memory(instance, flags & ARGON2_FLAG_CLEAR_MEMORY); - - /* Deallocate the memory */ - free(instance->pseudo_rands); - instance->pseudo_rands = NULL; - free_memory(instance->region); - instance->region = NULL; -} - -void -finalize(const argon2_context *context, argon2_instance_t *instance) -{ - if (context != NULL && instance != NULL) { - block blockhash; - uint32_t l; - - copy_block(&blockhash, - instance->region->memory + instance->lane_length - 1); - - /* XOR the last blocks */ - for (l = 1; l < instance->lanes; ++l) { - uint32_t last_block_in_lane = - l * instance->lane_length + (instance->lane_length - 1); - xor_block(&blockhash, - instance->region->memory + last_block_in_lane); - } - - /* Hash the result */ - { - uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE]; - store_block(blockhash_bytes, &blockhash); - blake2b_long(context->out, context->outlen, blockhash_bytes, - ARGON2_BLOCK_SIZE); - sodium_memzero(blockhash.v, - ARGON2_BLOCK_SIZE); /* clear blockhash */ - sodium_memzero(blockhash_bytes, - ARGON2_BLOCK_SIZE); /* clear blockhash_bytes */ - } - - free_instance(instance, context->flags); - } -} - -void -fill_memory_blocks(argon2_instance_t *instance, uint32_t pass) -{ - argon2_position_t position; - uint32_t l; - uint32_t s; - - if (instance == NULL || instance->lanes == 0) { - return; /* LCOV_EXCL_LINE */ - } - - position.pass = pass; - for (s = 0; s < ARGON2_SYNC_POINTS; ++s) { - position.slice = (uint8_t) s; - for (l = 0; l < instance->lanes; ++l) { - position.lane = l; - position.index = 0; - fill_segment(instance, position); - } - } -} - -int -validate_inputs(const argon2_context *context) -{ - /* LCOV_EXCL_START */ - if (NULL == context) { - return ARGON2_INCORRECT_PARAMETER; - } - - if (NULL == context->out) { - return ARGON2_OUTPUT_PTR_NULL; - } - - /* Validate output length */ - if (ARGON2_MIN_OUTLEN > context->outlen) { - return ARGON2_OUTPUT_TOO_SHORT; - } - - if (ARGON2_MAX_OUTLEN < context->outlen) { - return ARGON2_OUTPUT_TOO_LONG; - } - - /* Validate password (required param) */ - if (NULL == context->pwd) { - if (0 != context->pwdlen) { - return ARGON2_PWD_PTR_MISMATCH; - } - } - - if (ARGON2_MIN_PWD_LENGTH > context->pwdlen) { - return ARGON2_PWD_TOO_SHORT; - } - - if (ARGON2_MAX_PWD_LENGTH < context->pwdlen) { - return ARGON2_PWD_TOO_LONG; - } - - /* Validate salt (required param) */ - if (NULL == context->salt) { - if (0 != context->saltlen) { - return ARGON2_SALT_PTR_MISMATCH; - } - } - - if (ARGON2_MIN_SALT_LENGTH > context->saltlen) { - return ARGON2_SALT_TOO_SHORT; - } - - if (ARGON2_MAX_SALT_LENGTH < context->saltlen) { - return ARGON2_SALT_TOO_LONG; - } - - /* Validate secret (optional param) */ - if (NULL == context->secret) { - if (0 != context->secretlen) { - return ARGON2_SECRET_PTR_MISMATCH; - } - } else { - if (ARGON2_MIN_SECRET > context->secretlen) { - return ARGON2_SECRET_TOO_SHORT; - } - - if (ARGON2_MAX_SECRET < context->secretlen) { - return ARGON2_SECRET_TOO_LONG; - } - } - - /* Validate associated data (optional param) */ - if (NULL == context->ad) { - if (0 != context->adlen) { - return ARGON2_AD_PTR_MISMATCH; - } - } else { - if (ARGON2_MIN_AD_LENGTH > context->adlen) { - return ARGON2_AD_TOO_SHORT; - } - - if (ARGON2_MAX_AD_LENGTH < context->adlen) { - return ARGON2_AD_TOO_LONG; - } - } - - /* Validate memory cost */ - if (ARGON2_MIN_MEMORY > context->m_cost) { - return ARGON2_MEMORY_TOO_LITTLE; - } - - if (ARGON2_MAX_MEMORY < context->m_cost) { - return ARGON2_MEMORY_TOO_MUCH; - } - - if (context->m_cost < 8 * context->lanes) { - return ARGON2_MEMORY_TOO_LITTLE; - } - - /* Validate time cost */ - if (ARGON2_MIN_TIME > context->t_cost) { - return ARGON2_TIME_TOO_SMALL; - } - - if (ARGON2_MAX_TIME < context->t_cost) { - return ARGON2_TIME_TOO_LARGE; - } - - /* Validate lanes */ - if (ARGON2_MIN_LANES > context->lanes) { - return ARGON2_LANES_TOO_FEW; - } - - if (ARGON2_MAX_LANES < context->lanes) { - return ARGON2_LANES_TOO_MANY; - } - - /* Validate threads */ - if (ARGON2_MIN_THREADS > context->threads) { - return ARGON2_THREADS_TOO_FEW; - } - - if (ARGON2_MAX_THREADS < context->threads) { - return ARGON2_THREADS_TOO_MANY; - } - /* LCOV_EXCL_STOP */ - - return ARGON2_OK; -} - -void -fill_first_blocks(uint8_t *blockhash, const argon2_instance_t *instance) -{ - uint32_t l; - /* Make the first and second block in each lane as G(H0||i||0) or - G(H0||i||1) */ - uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE]; - for (l = 0; l < instance->lanes; ++l) { - STORE32_LE(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 0); - STORE32_LE(blockhash + ARGON2_PREHASH_DIGEST_LENGTH + 4, l); - blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash, - ARGON2_PREHASH_SEED_LENGTH); - load_block(&instance->region->memory[l * instance->lane_length + 0], - blockhash_bytes); - - STORE32_LE(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 1); - blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash, - ARGON2_PREHASH_SEED_LENGTH); - load_block(&instance->region->memory[l * instance->lane_length + 1], - blockhash_bytes); - } - sodium_memzero(blockhash_bytes, ARGON2_BLOCK_SIZE); -} - -void -initial_hash(uint8_t *blockhash, argon2_context *context, argon2_type type) -{ - crypto_generichash_blake2b_state BlakeHash; - uint8_t value[4U /* sizeof(uint32_t) */]; - - if (NULL == context || NULL == blockhash) { - return; /* LCOV_EXCL_LINE */ - } - - crypto_generichash_blake2b_init(&BlakeHash, NULL, 0U, - ARGON2_PREHASH_DIGEST_LENGTH); - - STORE32_LE(value, context->lanes); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, context->outlen); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, context->m_cost); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, context->t_cost); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, ARGON2_VERSION_NUMBER); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, (uint32_t) type); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, context->pwdlen); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - if (context->pwd != NULL) { - crypto_generichash_blake2b_update( - &BlakeHash, (const uint8_t *) context->pwd, context->pwdlen); - - /* LCOV_EXCL_START */ - if (context->flags & ARGON2_FLAG_CLEAR_PASSWORD) { - sodium_memzero(context->pwd, context->pwdlen); - context->pwdlen = 0; - } - /* LCOV_EXCL_STOP */ - } - - STORE32_LE(value, context->saltlen); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - if (context->salt != NULL) { - crypto_generichash_blake2b_update( - &BlakeHash, (const uint8_t *) context->salt, context->saltlen); - } - - STORE32_LE(value, context->secretlen); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - /* LCOV_EXCL_START */ - if (context->secret != NULL) { - crypto_generichash_blake2b_update( - &BlakeHash, (const uint8_t *) context->secret, context->secretlen); - - if (context->flags & ARGON2_FLAG_CLEAR_SECRET) { - sodium_memzero(context->secret, context->secretlen); - context->secretlen = 0; - } - } - /* LCOV_EXCL_STOP */ - - STORE32_LE(value, context->adlen); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - /* LCOV_EXCL_START */ - if (context->ad != NULL) { - crypto_generichash_blake2b_update( - &BlakeHash, (const uint8_t *) context->ad, context->adlen); - } - /* LCOV_EXCL_STOP */ - - crypto_generichash_blake2b_final(&BlakeHash, blockhash, - ARGON2_PREHASH_DIGEST_LENGTH); -} - -int -initialize(argon2_instance_t *instance, argon2_context *context) -{ - uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH]; - int result = ARGON2_OK; - - if (instance == NULL || context == NULL) { - return ARGON2_INCORRECT_PARAMETER; - } - - /* 1. Memory allocation */ - - if ((instance->pseudo_rands = (uint64_t *) - malloc(sizeof(uint64_t) * instance->segment_length)) == NULL) { - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - result = allocate_memory(&(instance->region), instance->memory_blocks); - if (ARGON2_OK != result) { - free_instance(instance, context->flags); - return result; - } - - /* 2. Initial hashing */ - /* H_0 + 8 extra bytes to produce the first blocks */ - /* uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH]; */ - /* Hashing all inputs */ - initial_hash(blockhash, context, instance->type); - /* Zeroing 8 extra bytes */ - sodium_memzero(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, - ARGON2_PREHASH_SEED_LENGTH - ARGON2_PREHASH_DIGEST_LENGTH); - - /* 3. Creating first blocks, we always have at least two blocks in a slice - */ - fill_first_blocks(blockhash, instance); - /* Clearing the hash */ - sodium_memzero(blockhash, ARGON2_PREHASH_SEED_LENGTH); - - return ARGON2_OK; -} - -int -argon2_pick_best_implementation(void) -{ -/* LCOV_EXCL_START */ -#if defined(HAVE_AVX512FINTRIN_H) && defined(HAVE_AVX2INTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - if (sodium_runtime_has_avx512f()) { - fill_segment = fill_segment_avx512f; - return 0; - } -#endif -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_TMMINTRIN_H) && \ - defined(HAVE_SMMINTRIN_H) - if (sodium_runtime_has_avx2()) { - fill_segment = fill_segment_avx2; - return 0; - } -#endif -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - if (sodium_runtime_has_ssse3()) { - fill_segment = fill_segment_ssse3; - return 0; - } -#endif - fill_segment = fill_segment_ref; - - return 0; - /* LCOV_EXCL_STOP */ -} - -int -_crypto_pwhash_argon2_pick_best_implementation(void) -{ - return argon2_pick_best_implementation(); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-core.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-core.h deleted file mode 100644 index caab103..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-core.h +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#ifndef argon2_core_H -#define argon2_core_H - -#include - -#include "argon2.h" - -/*************************Argon2 internal - * constants**************************************************/ - -enum argon2_ctx_constants { - /* Version of the algorithm */ - ARGON2_VERSION_NUMBER = 0x13, - - /* Memory block size in bytes */ - ARGON2_BLOCK_SIZE = 1024, - ARGON2_QWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 8, - ARGON2_OWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 16, - ARGON2_HWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 32, - ARGON2_512BIT_WORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 64, - - /* Number of pseudo-random values generated by one call to Blake in Argon2i - to - generate reference block positions */ - ARGON2_ADDRESSES_IN_BLOCK = 128, - - /* Pre-hashing digest length and its extension*/ - ARGON2_PREHASH_DIGEST_LENGTH = 64, - ARGON2_PREHASH_SEED_LENGTH = 72 -}; - -/*************************Argon2 internal data - * types**************************************************/ - -/* - * Structure for the (1KB) memory block implemented as 128 64-bit words. - * Memory blocks can be copied, XORed. Internal words can be accessed by [] (no - * bounds checking). - */ -typedef struct block_ { - uint64_t v[ARGON2_QWORDS_IN_BLOCK]; -} block; - -typedef struct block_region_ { - void * base; - block *memory; - size_t size; -} block_region; - -/*****************Functions that work with the block******************/ - -/* Initialize each byte of the block with @in */ -static inline void -init_block_value(block *b, uint8_t in) -{ - memset(b->v, in, sizeof(b->v)); -} - -/* Copy block @src to block @dst */ -static inline void -copy_block(block *dst, const block *src) -{ - memcpy(dst->v, src->v, sizeof(uint64_t) * ARGON2_QWORDS_IN_BLOCK); -} - -/* XOR @src onto @dst bytewise */ -static inline void -xor_block(block *dst, const block *src) -{ - int i; - for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) { - dst->v[i] ^= src->v[i]; - } -} - -/* - * Argon2 instance: memory pointer, number of passes, amount of memory, type, - * and derived values. - * Used to evaluate the number and location of blocks to construct in each - * thread - */ -typedef struct Argon2_instance_t { - block_region *region; /* Memory region pointer */ - uint64_t *pseudo_rands; - uint32_t passes; /* Number of passes */ - uint32_t current_pass; - uint32_t memory_blocks; /* Number of blocks in memory */ - uint32_t segment_length; - uint32_t lane_length; - uint32_t lanes; - uint32_t threads; - argon2_type type; - int print_internals; /* whether to print the memory blocks */ -} argon2_instance_t; - -/* - * Argon2 position: where we construct the block right now. Used to distribute - * work between threads. - */ -typedef struct Argon2_position_t { - uint32_t pass; - uint32_t lane; - uint8_t slice; - uint32_t index; -} argon2_position_t; - -/*Struct that holds the inputs for thread handling FillSegment*/ -typedef struct Argon2_thread_data { - argon2_instance_t *instance_ptr; - argon2_position_t pos; -} argon2_thread_data; - -/*************************Argon2 core - * functions**************************************************/ - -/* - * Computes absolute position of reference block in the lane following a skewed - * distribution and using a pseudo-random value as input - * @param instance Pointer to the current instance - * @param position Pointer to the current position - * @param pseudo_rand 32-bit pseudo-random value used to determine the position - * @param same_lane Indicates if the block will be taken from the current lane. - * If so we can reference the current segment - * @pre All pointers must be valid - */ -static uint32_t index_alpha(const argon2_instance_t *instance, - const argon2_position_t *position, uint32_t pseudo_rand, - int same_lane) -{ - /* - * Pass 0: - * This lane : all already finished segments plus already constructed - * blocks in this segment - * Other lanes : all already finished segments - * Pass 1+: - * This lane : (SYNC_POINTS - 1) last segments plus already constructed - * blocks in this segment - * Other lanes : (SYNC_POINTS - 1) last segments - */ - uint32_t reference_area_size; - uint64_t relative_position; - uint32_t start_position, absolute_position; - - if (position->pass == 0) { - /* First pass */ - if (position->slice == 0) { - /* First slice */ - reference_area_size = - position->index - 1; /* all but the previous */ - } else { - if (same_lane) { - /* The same lane => add current segment */ - reference_area_size = - position->slice * instance->segment_length + - position->index - 1; - } else { - reference_area_size = - position->slice * instance->segment_length + - ((position->index == 0) ? (-1) : 0); - } - } - } else { - /* Second pass */ - if (same_lane) { - reference_area_size = instance->lane_length - - instance->segment_length + position->index - - 1; - } else { - reference_area_size = instance->lane_length - - instance->segment_length + - ((position->index == 0) ? (-1) : 0); - } - } - - /* 1.2.4. Mapping pseudo_rand to 0.. and produce - * relative position */ - relative_position = pseudo_rand; - relative_position = relative_position * relative_position >> 32; - relative_position = reference_area_size - 1 - - (reference_area_size * relative_position >> 32); - - /* 1.2.5 Computing starting position */ - start_position = 0; - - if (position->pass != 0) { - start_position = (position->slice == ARGON2_SYNC_POINTS - 1) - ? 0 - : (position->slice + 1) * instance->segment_length; - } - - /* 1.2.6. Computing absolute position */ - absolute_position = (start_position + relative_position) % - instance->lane_length; /* absolute position */ - return absolute_position; -} - -/* - * Function that validates all inputs against predefined restrictions and return - * an error code - * @param context Pointer to current Argon2 context - * @return ARGON2_OK if everything is all right, otherwise one of error codes - * (all defined in - */ -int validate_inputs(const argon2_context *context); - -/* - * Hashes all the inputs into @a blockhash[PREHASH_DIGEST_LENGTH], clears - * password and secret if needed - * @param context Pointer to the Argon2 internal structure containing memory - * pointer, and parameters for time and space requirements. - * @param blockhash Buffer for pre-hashing digest - * @param type Argon2 type - * @pre @a blockhash must have at least @a PREHASH_DIGEST_LENGTH bytes - * allocated - */ -void initial_hash(uint8_t *blockhash, argon2_context *context, - argon2_type type); - -/* - * Function creates first 2 blocks per lane - * @param instance Pointer to the current instance - * @param blockhash Pointer to the pre-hashing digest - * @pre blockhash must point to @a PREHASH_SEED_LENGTH allocated values - */ -void fill_first_blocks(uint8_t *blockhash, const argon2_instance_t *instance); - -/* - * Function allocates memory, hashes the inputs with Blake, and creates first - * two blocks. Returns the pointer to the main memory with 2 blocks per lane - * initialized - * @param context Pointer to the Argon2 internal structure containing memory - * pointer, and parameters for time and space requirements. - * @param instance Current Argon2 instance - * @return Zero if successful, -1 if memory failed to allocate. @context->state - * will be modified if successful. - */ -int initialize(argon2_instance_t *instance, argon2_context *context); - -/* - * Deallocates memory. Used on error path. - */ -void free_instance(argon2_instance_t *instance, int flags); - -/* - * XORing the last block of each lane, hashing it, making the tag. Deallocates - * the memory. - * @param context Pointer to current Argon2 context (use only the out parameters - * from it) - * @param instance Pointer to current instance of Argon2 - * @pre instance->state must point to necessary amount of memory - * @pre context->out must point to outlen bytes of memory - * @pre if context->free_cbk is not NULL, it should point to a function that - * deallocates memory - */ -void finalize(const argon2_context *context, argon2_instance_t *instance); - -/* - * Function that fills the segment using previous segments also from other - * threads - * @param instance Pointer to the current instance - * @param position Current position - * @pre all block pointers must be valid - */ -typedef void (*fill_segment_fn)(const argon2_instance_t *instance, - argon2_position_t position); -int argon2_pick_best_implementation(void); -void fill_segment_avx512f(const argon2_instance_t *instance, - argon2_position_t position); -void fill_segment_avx2(const argon2_instance_t *instance, - argon2_position_t position); -void fill_segment_ssse3(const argon2_instance_t *instance, - argon2_position_t position); -void fill_segment_ref(const argon2_instance_t *instance, - argon2_position_t position); - -/* - * Function that fills the entire memory t_cost times based on the first two - * blocks in each lane - * @param instance Pointer to the current instance - * @return Zero if successful, -1 if memory failed to allocate - */ -void fill_memory_blocks(argon2_instance_t *instance, uint32_t pass); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c deleted file mode 100644 index a08acdd..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c +++ /dev/null @@ -1,305 +0,0 @@ -#include "argon2-encoding.h" -#include "argon2-core.h" -#include "utils.h" -#include -#include -#include -#include - -/* - * Example code for a decoder and encoder of "hash strings", with Argon2 - * parameters. - * - * The code was originally written by Thomas Pornin , - * to whom comments and remarks may be sent. It is released under what - * should amount to Public Domain or its closest equivalent; the - * following mantra is supposed to incarnate that fact with all the - * proper legal rituals: - * - * --------------------------------------------------------------------- - * This file is provided under the terms of Creative Commons CC0 1.0 - * Public Domain Dedication. To the extent possible under law, the - * author (Thomas Pornin) has waived all copyright and related or - * neighboring rights to this file. This work is published from: Canada. - * --------------------------------------------------------------------- - * - * Copyright (c) 2015 Thomas Pornin - */ - -/* ==================================================================== */ - -/* - * Decode decimal integer from 'str'; the value is written in '*v'. - * Returned value is a pointer to the next non-decimal character in the - * string. If there is no digit at all, or the value encoding is not - * minimal (extra leading zeros), or the value does not fit in an - * 'unsigned long', then NULL is returned. - */ -static const char * -decode_decimal(const char *str, unsigned long *v) -{ - const char *orig; - unsigned long acc; - - acc = 0; - for (orig = str;; str++) { - int c; - - c = *str; - if (c < '0' || c > '9') { - break; - } - c -= '0'; - if (acc > (ULONG_MAX / 10)) { - return NULL; - } - acc *= 10; - if ((unsigned long) c > (ULONG_MAX - acc)) { - return NULL; - } - acc += (unsigned long) c; - } - if (str == orig || (*orig == '0' && str != (orig + 1))) { - return NULL; - } - *v = acc; - return str; -} - -/* ==================================================================== */ -/* - * Code specific to Argon2. - * - * The code below applies the following format: - * - * $argon2[$v=]$m=,t=,p=$$ - * - * where is either 'i', is a decimal integer (positive, fits in an - * 'unsigned long') and is Base64-encoded data (no '=' padding characters, - * no newline or whitespace). - * - * The last two binary chunks (encoded in Base64) are, in that order, - * the salt and the output. Both are required. The binary salt length and the - * output length must be in the allowed ranges defined in argon2.h. - * - * The ctx struct must contain buffers large enough to hold the salt and pwd - * when it is fed into decode_string. - */ - -/* - * Decode an Argon2i hash string into the provided structure 'ctx'. - * Returned value is ARGON2_OK on success. - */ -int -decode_string(argon2_context *ctx, const char *str, argon2_type type) -{ -/* Prefix checking */ -#define CC(prefix) \ - do { \ - size_t cc_len = strlen(prefix); \ - if (strncmp(str, prefix, cc_len) != 0) { \ - return ARGON2_DECODING_FAIL; \ - } \ - str += cc_len; \ - } while ((void) 0, 0) - -/* Optional prefix checking with supplied code */ -#define CC_opt(prefix, code) \ - do { \ - size_t cc_len = strlen(prefix); \ - if (strncmp(str, prefix, cc_len) == 0) { \ - str += cc_len; \ - { \ - code; \ - } \ - } \ - } while ((void) 0, 0) - -/* Decoding prefix into decimal */ -#define DECIMAL(x) \ - do { \ - unsigned long dec_x; \ - str = decode_decimal(str, &dec_x); \ - if (str == NULL) { \ - return ARGON2_DECODING_FAIL; \ - } \ - (x) = dec_x; \ - } while ((void) 0, 0) - -/* Decoding prefix into uint32_t decimal */ -#define DECIMAL_U32(x) \ - do { \ - unsigned long dec_x; \ - str = decode_decimal(str, &dec_x); \ - if (str == NULL || dec_x > UINT32_MAX) { \ - return ARGON2_DECODING_FAIL; \ - } \ - (x) = (uint32_t)dec_x; \ - } while ((void)0, 0) - -/* Decoding base64 into a binary buffer */ -#define BIN(buf, max_len, len) \ - do { \ - size_t bin_len = (max_len); \ - const char *str_end; \ - if (sodium_base642bin((buf), (max_len), str, strlen(str), NULL, \ - &bin_len, &str_end, \ - sodium_base64_VARIANT_ORIGINAL_NO_PADDING) != 0 || \ - bin_len > UINT32_MAX) { \ - return ARGON2_DECODING_FAIL; \ - } \ - (len) = (uint32_t) bin_len; \ - str = str_end; \ - } while ((void) 0, 0) - - size_t maxsaltlen = ctx->saltlen; - size_t maxoutlen = ctx->outlen; - int validation_result; - uint32_t version = 0; - - ctx->saltlen = 0; - ctx->outlen = 0; - - if (type == Argon2_id) { - CC("$argon2id"); - } else if (type == Argon2_i) { - CC("$argon2i"); - } else { - return ARGON2_INCORRECT_TYPE; - } - CC("$v="); - DECIMAL_U32(version); - if (version != ARGON2_VERSION_NUMBER) { - return ARGON2_INCORRECT_TYPE; - } - CC("$m="); - DECIMAL_U32(ctx->m_cost); - if (ctx->m_cost > UINT32_MAX) { - return ARGON2_INCORRECT_TYPE; - } - CC(",t="); - DECIMAL_U32(ctx->t_cost); - if (ctx->t_cost > UINT32_MAX) { - return ARGON2_INCORRECT_TYPE; - } - CC(",p="); - DECIMAL_U32(ctx->lanes); - if (ctx->lanes > UINT32_MAX) { - return ARGON2_INCORRECT_TYPE; - } - ctx->threads = ctx->lanes; - - CC("$"); - BIN(ctx->salt, maxsaltlen, ctx->saltlen); - CC("$"); - BIN(ctx->out, maxoutlen, ctx->outlen); - validation_result = validate_inputs(ctx); - if (validation_result != ARGON2_OK) { - return validation_result; - } - if (*str == 0) { - return ARGON2_OK; - } - return ARGON2_DECODING_FAIL; - -#undef CC -#undef CC_opt -#undef DECIMAL -#undef BIN -} - -#define U32_STR_MAXSIZE 11U - -static void -u32_to_string(char *str, uint32_t x) -{ - char tmp[U32_STR_MAXSIZE - 1U]; - size_t i; - - i = sizeof tmp; - do { - tmp[--i] = (x % (uint32_t) 10U) + '0'; - x /= (uint32_t) 10U; - } while (x != 0U && i != 0U); - memcpy(str, &tmp[i], (sizeof tmp) - i); - str[(sizeof tmp) - i] = 0; -} - -/* - * Encode an argon2i hash string into the provided buffer. 'dst_len' - * contains the size, in characters, of the 'dst' buffer; if 'dst_len' - * is less than the number of required characters (including the - * terminating 0), then this function returns 0. - * - * If pp->output_len is 0, then the hash string will be a salt string - * (no output). if pp->salt_len is also 0, then the string will be a - * parameter-only string (no salt and no output). - * - * On success, ARGON2_OK is returned. - */ -int -encode_string(char *dst, size_t dst_len, argon2_context *ctx, argon2_type type) -{ -#define SS(str) \ - do { \ - size_t pp_len = strlen(str); \ - if (pp_len >= dst_len) { \ - return ARGON2_ENCODING_FAIL; \ - } \ - memcpy(dst, str, pp_len + 1); \ - dst += pp_len; \ - dst_len -= pp_len; \ - } while ((void) 0, 0) - -#define SX(x) \ - do { \ - char tmp[U32_STR_MAXSIZE]; \ - u32_to_string(tmp, x); \ - SS(tmp); \ - } while ((void) 0, 0) - -#define SB(buf, len) \ - do { \ - size_t sb_len; \ - if (sodium_bin2base64(dst, dst_len, (buf), (len), \ - sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == NULL) { \ - return ARGON2_ENCODING_FAIL; \ - } \ - sb_len = strlen(dst); \ - dst += sb_len; \ - dst_len -= sb_len; \ - } while ((void) 0, 0) - - int validation_result; - - switch (type) { - case Argon2_id: - SS("$argon2id$v="); break; - case Argon2_i: - SS("$argon2i$v="); break; - default: - return ARGON2_ENCODING_FAIL; - } - validation_result = validate_inputs(ctx); - if (validation_result != ARGON2_OK) { - return validation_result; - } - SX(ARGON2_VERSION_NUMBER); - SS("$m="); - SX(ctx->m_cost); - SS(",t="); - SX(ctx->t_cost); - SS(",p="); - SX(ctx->lanes); - - SS("$"); - SB(ctx->salt, ctx->saltlen); - - SS("$"); - SB(ctx->out, ctx->outlen); - return ARGON2_OK; - -#undef SS -#undef SX -#undef SB -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h deleted file mode 100644 index e929b31..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef argon2_encoding_H -#define argon2_encoding_H - -#include "argon2.h" - -/* - * encode an Argon2 hash string into the provided buffer. 'dst_len' - * contains the size, in characters, of the 'dst' buffer; if 'dst_len' - * is less than the number of required characters (including the - * terminating 0), then this function returns 0. - * - * if ctx->outlen is 0, then the hash string will be a salt string - * (no output). if ctx->saltlen is also 0, then the string will be a - * parameter-only string (no salt and no output). - * - * On success, ARGON2_OK is returned. - * - * No other parameters are checked - */ -int encode_string(char *dst, size_t dst_len, argon2_context *ctx, - argon2_type type); - -/* - * Decodes an Argon2 hash string into the provided structure 'ctx'. - * The fields ctx.saltlen, ctx.adlen, ctx.outlen set the maximal salt, ad, out - * length values - * that are allowed; invalid input string causes an error - * - * Returned value is ARGON2_OK on success. - */ -int decode_string(argon2_context *ctx, const char *str, argon2_type type); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c deleted file mode 100644 index 8acb42c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#include -#include -#include - -#include "argon2-core.h" -#include "argon2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" - -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# pragma GCC target("sse4.1") -# pragma GCC target("avx2") -# endif - -# ifdef _MSC_VER -# include /* for _mm_set_epi64x */ -# endif -#include -#include -#include -#include - -# include "blamka-round-avx2.h" - -static void -fill_block(__m256i *state, const uint8_t *ref_block, uint8_t *next_block) -{ - __m256i block_XY[ARGON2_HWORDS_IN_BLOCK]; - uint32_t i; - - for (i = 0; i < ARGON2_HWORDS_IN_BLOCK; i++) { - block_XY[i] = state[i] = _mm256_xor_si256( - state[i], _mm256_loadu_si256((__m256i const *) (&ref_block[32 * i]))); - } - - for (i = 0; i < 4; ++i) { - BLAKE2_ROUND_1(state[8 * i + 0], state[8 * i + 4], state[8 * i + 1], state[8 * i + 5], - state[8 * i + 2], state[8 * i + 6], state[8 * i + 3], state[8 * i + 7]); - } - - for (i = 0; i < 4; ++i) { - BLAKE2_ROUND_2(state[ 0 + i], state[ 4 + i], state[ 8 + i], state[12 + i], - state[16 + i], state[20 + i], state[24 + i], state[28 + i]); - } - - for (i = 0; i < ARGON2_HWORDS_IN_BLOCK; i++) { - state[i] = _mm256_xor_si256(state[i], block_XY[i]); - _mm256_storeu_si256((__m256i *) (&next_block[32 * i]), state[i]); - } -} - -static void -fill_block_with_xor(__m256i *state, const uint8_t *ref_block, - uint8_t *next_block) -{ - __m256i block_XY[ARGON2_HWORDS_IN_BLOCK]; - uint32_t i; - - for (i = 0; i < ARGON2_HWORDS_IN_BLOCK; i++) { - state[i] = _mm256_xor_si256( - state[i], _mm256_loadu_si256((__m256i const *) (&ref_block[32 * i]))); - block_XY[i] = _mm256_xor_si256( - state[i], _mm256_loadu_si256((__m256i const *) (&next_block[32 * i]))); - } - - for (i = 0; i < 4; ++i) { - BLAKE2_ROUND_1(state[8 * i + 0], state[8 * i + 4], state[8 * i + 1], state[8 * i + 5], - state[8 * i + 2], state[8 * i + 6], state[8 * i + 3], state[8 * i + 7]); - } - - for (i = 0; i < 4; ++i) { - BLAKE2_ROUND_2(state[ 0 + i], state[ 4 + i], state[ 8 + i], state[12 + i], - state[16 + i], state[20 + i], state[24 + i], state[28 + i]); - } - - for (i = 0; i < ARGON2_HWORDS_IN_BLOCK; i++) { - state[i] = _mm256_xor_si256(state[i], block_XY[i]); - _mm256_storeu_si256((__m256i *) (&next_block[32 * i]), state[i]); - } -} - -static void -generate_addresses(const argon2_instance_t *instance, - const argon2_position_t *position, uint64_t *pseudo_rands) -{ - block address_block, input_block, tmp_block; - uint32_t i; - - init_block_value(&address_block, 0); - init_block_value(&input_block, 0); - - if (instance != NULL && position != NULL) { - input_block.v[0] = position->pass; - input_block.v[1] = position->lane; - input_block.v[2] = position->slice; - input_block.v[3] = instance->memory_blocks; - input_block.v[4] = instance->passes; - input_block.v[5] = instance->type; - - for (i = 0; i < instance->segment_length; ++i) { - if (i % ARGON2_ADDRESSES_IN_BLOCK == 0) { - /* Temporary zero-initialized blocks */ - __m256i zero_block[ARGON2_HWORDS_IN_BLOCK]; - __m256i zero2_block[ARGON2_HWORDS_IN_BLOCK]; - - memset(zero_block, 0, sizeof(zero_block)); - memset(zero2_block, 0, sizeof(zero2_block)); - init_block_value(&address_block, 0); - init_block_value(&tmp_block, 0); - /* Increasing index counter */ - input_block.v[6]++; - /* First iteration of G */ - fill_block_with_xor(zero_block, (uint8_t *) &input_block.v, - (uint8_t *) &tmp_block.v); - /* Second iteration of G */ - fill_block_with_xor(zero2_block, (uint8_t *) &tmp_block.v, - (uint8_t *) &address_block.v); - } - - pseudo_rands[i] = address_block.v[i % ARGON2_ADDRESSES_IN_BLOCK]; - } - } -} - -void -fill_segment_avx2(const argon2_instance_t *instance, - argon2_position_t position) -{ - block *ref_block = NULL, *curr_block = NULL; - uint64_t pseudo_rand, ref_index, ref_lane; - uint32_t prev_offset, curr_offset; - uint32_t starting_index, i; - __m256i state[ARGON2_HWORDS_IN_BLOCK]; - int data_independent_addressing = 1; - - /* Pseudo-random values that determine the reference block position */ - uint64_t *pseudo_rands = NULL; - - if (instance == NULL) { - return; - } - - if (instance->type == Argon2_id && - (position.pass != 0 || position.slice >= ARGON2_SYNC_POINTS / 2)) { - data_independent_addressing = 0; - } - - pseudo_rands = instance->pseudo_rands; - - if (data_independent_addressing) { - generate_addresses(instance, &position, pseudo_rands); - } - - starting_index = 0; - - if ((0 == position.pass) && (0 == position.slice)) { - starting_index = 2; /* we have already generated the first two blocks */ - } - - /* Offset of the current block */ - curr_offset = position.lane * instance->lane_length + - position.slice * instance->segment_length + starting_index; - - if (0 == curr_offset % instance->lane_length) { - /* Last block in this lane */ - prev_offset = curr_offset + instance->lane_length - 1; - } else { - /* Previous block */ - prev_offset = curr_offset - 1; - } - - memcpy(state, ((instance->region->memory + prev_offset)->v), - ARGON2_BLOCK_SIZE); - - for (i = starting_index; i < instance->segment_length; - ++i, ++curr_offset, ++prev_offset) { - /*1.1 Rotating prev_offset if needed */ - if (curr_offset % instance->lane_length == 1) { - prev_offset = curr_offset - 1; - } - - /* 1.2 Computing the index of the reference block */ - /* 1.2.1 Taking pseudo-random value from the previous block */ - if (data_independent_addressing) { -#pragma warning(push) -#pragma warning(disable : 6385) - pseudo_rand = pseudo_rands[i]; -#pragma warning(pop) - } else { - pseudo_rand = instance->region->memory[prev_offset].v[0]; - } - - /* 1.2.2 Computing the lane of the reference block */ - ref_lane = ((pseudo_rand >> 32)) % instance->lanes; - - if ((position.pass == 0) && (position.slice == 0)) { - /* Can not reference other lanes yet */ - ref_lane = position.lane; - } - - /* 1.2.3 Computing the number of possible reference block within the - * lane. - */ - position.index = i; - ref_index = index_alpha(instance, &position, pseudo_rand & 0xFFFFFFFF, - ref_lane == position.lane); - - /* 2 Creating a new block */ - ref_block = instance->region->memory + - instance->lane_length * ref_lane + ref_index; - curr_block = instance->region->memory + curr_offset; - if (position.pass != 0) { - fill_block_with_xor(state, (uint8_t *) ref_block->v, - (uint8_t *) curr_block->v); - } else { - fill_block(state, (uint8_t *) ref_block->v, - (uint8_t *) curr_block->v); - } - } -} -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c deleted file mode 100644 index 1f1ec8b..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#include -#include -#include - -#include "argon2-core.h" -#include "argon2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" - -#if defined(HAVE_AVX512FINTRIN_H) && defined(HAVE_AVX2INTRIN_H) && \ - defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# pragma GCC target("sse4.1") -# pragma GCC target("avx2") -# pragma GCC target("avx512f") -# endif - -# ifdef _MSC_VER -# include /* for _mm_set_epi64x */ -# endif -#include -#include -#include -#include - -# include "blamka-round-avx512f.h" - -static void -fill_block(__m512i *state, const uint8_t *ref_block, uint8_t *next_block) -{ - __m512i block_XY[ARGON2_512BIT_WORDS_IN_BLOCK]; - uint32_t i; - - for (i = 0; i < ARGON2_512BIT_WORDS_IN_BLOCK; i++) { - block_XY[i] = state[i] = _mm512_xor_si512( - state[i], _mm512_loadu_si512((__m512i const *) (&ref_block[64 * i]))); - } - - for (i = 0; i < 2; ++i) { - BLAKE2_ROUND_1( - state[8 * i + 0], state[8 * i + 1], state[8 * i + 2], state[8 * i + 3], - state[8 * i + 4], state[8 * i + 5], state[8 * i + 6], state[8 * i + 7]); - } - - for (i = 0; i < 2; ++i) { - BLAKE2_ROUND_2( - state[2 * 0 + i], state[2 * 1 + i], state[2 * 2 + i], state[2 * 3 + i], - state[2 * 4 + i], state[2 * 5 + i], state[2 * 6 + i], state[2 * 7 + i]); - } - - for (i = 0; i < ARGON2_512BIT_WORDS_IN_BLOCK; i++) { - state[i] = _mm512_xor_si512(state[i], block_XY[i]); - _mm512_storeu_si512((__m512i *) (&next_block[64 * i]), state[i]); - } -} - -static void -fill_block_with_xor(__m512i *state, const uint8_t *ref_block, - uint8_t *next_block) -{ - __m512i block_XY[ARGON2_512BIT_WORDS_IN_BLOCK]; - uint32_t i; - - for (i = 0; i < ARGON2_512BIT_WORDS_IN_BLOCK; i++) { - state[i] = _mm512_xor_si512( - state[i], _mm512_loadu_si512((__m512i const *) (&ref_block[64 * i]))); - block_XY[i] = _mm512_xor_si512( - state[i], _mm512_loadu_si512((__m512i const *) (&next_block[64 * i]))); - } - - for (i = 0; i < 2; ++i) { - BLAKE2_ROUND_1( - state[8 * i + 0], state[8 * i + 1], state[8 * i + 2], state[8 * i + 3], - state[8 * i + 4], state[8 * i + 5], state[8 * i + 6], state[8 * i + 7]); - } - - for (i = 0; i < 2; ++i) { - BLAKE2_ROUND_2( - state[2 * 0 + i], state[2 * 1 + i], state[2 * 2 + i], state[2 * 3 + i], - state[2 * 4 + i], state[2 * 5 + i], state[2 * 6 + i], state[2 * 7 + i]); - } - - for (i = 0; i < ARGON2_512BIT_WORDS_IN_BLOCK; i++) { - state[i] = _mm512_xor_si512(state[i], block_XY[i]); - _mm512_storeu_si512((__m512i *) (&next_block[64 * i]), state[i]); - } -} - -static void -generate_addresses(const argon2_instance_t *instance, - const argon2_position_t *position, uint64_t *pseudo_rands) -{ - block address_block, input_block, tmp_block; - uint32_t i; - - init_block_value(&address_block, 0); - init_block_value(&input_block, 0); - - if (instance != NULL && position != NULL) { - input_block.v[0] = position->pass; - input_block.v[1] = position->lane; - input_block.v[2] = position->slice; - input_block.v[3] = instance->memory_blocks; - input_block.v[4] = instance->passes; - input_block.v[5] = instance->type; - - for (i = 0; i < instance->segment_length; ++i) { - if (i % ARGON2_ADDRESSES_IN_BLOCK == 0) { - /* Temporary zero-initialized blocks */ - __m512i zero_block[ARGON2_512BIT_WORDS_IN_BLOCK]; - __m512i zero2_block[ARGON2_512BIT_WORDS_IN_BLOCK]; - - memset(zero_block, 0, sizeof(zero_block)); - memset(zero2_block, 0, sizeof(zero2_block)); - init_block_value(&address_block, 0); - init_block_value(&tmp_block, 0); - /* Increasing index counter */ - input_block.v[6]++; - /* First iteration of G */ - fill_block_with_xor(zero_block, (uint8_t *) &input_block.v, - (uint8_t *) &tmp_block.v); - /* Second iteration of G */ - fill_block_with_xor(zero2_block, (uint8_t *) &tmp_block.v, - (uint8_t *) &address_block.v); - } - - pseudo_rands[i] = address_block.v[i % ARGON2_ADDRESSES_IN_BLOCK]; - } - } -} - -void -fill_segment_avx512f(const argon2_instance_t *instance, - argon2_position_t position) -{ - block *ref_block = NULL, *curr_block = NULL; - uint64_t pseudo_rand, ref_index, ref_lane; - uint32_t prev_offset, curr_offset; - uint32_t starting_index, i; - __m512i state[ARGON2_512BIT_WORDS_IN_BLOCK]; - int data_independent_addressing = 1; - - /* Pseudo-random values that determine the reference block position */ - uint64_t *pseudo_rands = NULL; - - if (instance == NULL) { - return; - } - - if (instance->type == Argon2_id && - (position.pass != 0 || position.slice >= ARGON2_SYNC_POINTS / 2)) { - data_independent_addressing = 0; - } - - pseudo_rands = instance->pseudo_rands; - - if (data_independent_addressing) { - generate_addresses(instance, &position, pseudo_rands); - } - - starting_index = 0; - - if ((0 == position.pass) && (0 == position.slice)) { - starting_index = 2; /* we have already generated the first two blocks */ - } - - /* Offset of the current block */ - curr_offset = position.lane * instance->lane_length + - position.slice * instance->segment_length + starting_index; - - if (0 == curr_offset % instance->lane_length) { - /* Last block in this lane */ - prev_offset = curr_offset + instance->lane_length - 1; - } else { - /* Previous block */ - prev_offset = curr_offset - 1; - } - - memcpy(state, ((instance->region->memory + prev_offset)->v), - ARGON2_BLOCK_SIZE); - - for (i = starting_index; i < instance->segment_length; - ++i, ++curr_offset, ++prev_offset) { - /*1.1 Rotating prev_offset if needed */ - if (curr_offset % instance->lane_length == 1) { - prev_offset = curr_offset - 1; - } - - /* 1.2 Computing the index of the reference block */ - /* 1.2.1 Taking pseudo-random value from the previous block */ - if (data_independent_addressing) { -#pragma warning(push) -#pragma warning(disable : 6385) - pseudo_rand = pseudo_rands[i]; -#pragma warning(pop) - } else { - pseudo_rand = instance->region->memory[prev_offset].v[0]; - } - - /* 1.2.2 Computing the lane of the reference block */ - ref_lane = ((pseudo_rand >> 32)) % instance->lanes; - - if ((position.pass == 0) && (position.slice == 0)) { - /* Can not reference other lanes yet */ - ref_lane = position.lane; - } - - /* 1.2.3 Computing the number of possible reference block within the - * lane. - */ - position.index = i; - ref_index = index_alpha(instance, &position, pseudo_rand & 0xFFFFFFFF, - ref_lane == position.lane); - - /* 2 Creating a new block */ - ref_block = instance->region->memory + - instance->lane_length * ref_lane + ref_index; - curr_block = instance->region->memory + curr_offset; - if (position.pass != 0) { - fill_block_with_xor(state, (uint8_t *) ref_block->v, - (uint8_t *) curr_block->v); - } else { - fill_block(state, (uint8_t *) ref_block->v, - (uint8_t *) curr_block->v); - } - } -} -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c deleted file mode 100644 index 75e8d8f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c +++ /dev/null @@ -1,233 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#include -#include -#include - -#include "argon2-core.h" -#include "argon2.h" -#include "blamka-round-ref.h" -#include "private/common.h" - -static void -fill_block(const block *prev_block, const block *ref_block, block *next_block) -{ - block blockR, block_tmp; - unsigned i; - - copy_block(&blockR, ref_block); - xor_block(&blockR, prev_block); - copy_block(&block_tmp, &blockR); - /* Now blockR = ref_block + prev_block and bloc_tmp = ref_block + prev_block - Apply Blake2 on columns of 64-bit words: (0,1,...,15), then - (16,17,..31)... finally (112,113,...127) */ - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND_NOMSG( - blockR.v[16 * i], blockR.v[16 * i + 1], blockR.v[16 * i + 2], - blockR.v[16 * i + 3], blockR.v[16 * i + 4], blockR.v[16 * i + 5], - blockR.v[16 * i + 6], blockR.v[16 * i + 7], blockR.v[16 * i + 8], - blockR.v[16 * i + 9], blockR.v[16 * i + 10], blockR.v[16 * i + 11], - blockR.v[16 * i + 12], blockR.v[16 * i + 13], blockR.v[16 * i + 14], - blockR.v[16 * i + 15]); - } - - /* Apply Blake2 on rows of 64-bit words: (0,1,16,17,...112,113), then - (2,3,18,19,...,114,115).. finally (14,15,30,31,...,126,127) */ - for (i = 0; i < 8; i++) { - BLAKE2_ROUND_NOMSG( - blockR.v[2 * i], blockR.v[2 * i + 1], blockR.v[2 * i + 16], - blockR.v[2 * i + 17], blockR.v[2 * i + 32], blockR.v[2 * i + 33], - blockR.v[2 * i + 48], blockR.v[2 * i + 49], blockR.v[2 * i + 64], - blockR.v[2 * i + 65], blockR.v[2 * i + 80], blockR.v[2 * i + 81], - blockR.v[2 * i + 96], blockR.v[2 * i + 97], blockR.v[2 * i + 112], - blockR.v[2 * i + 113]); - } - - copy_block(next_block, &block_tmp); - xor_block(next_block, &blockR); -} - -static void -fill_block_with_xor(const block *prev_block, const block *ref_block, - block *next_block) -{ - block blockR, block_tmp; - unsigned i; - - copy_block(&blockR, ref_block); - xor_block(&blockR, prev_block); - copy_block(&block_tmp, &blockR); - xor_block(&block_tmp, - next_block); /* Saving the next block contents for XOR over */ - /* Now blockR = ref_block + prev_block and bloc_tmp = ref_block + prev_block - * + next_block */ - /* Apply Blake2 on columns of 64-bit words: (0,1,...,15) , then - (16,17,..31)... finally (112,113,...127) */ - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND_NOMSG( - blockR.v[16 * i], blockR.v[16 * i + 1], blockR.v[16 * i + 2], - blockR.v[16 * i + 3], blockR.v[16 * i + 4], blockR.v[16 * i + 5], - blockR.v[16 * i + 6], blockR.v[16 * i + 7], blockR.v[16 * i + 8], - blockR.v[16 * i + 9], blockR.v[16 * i + 10], blockR.v[16 * i + 11], - blockR.v[16 * i + 12], blockR.v[16 * i + 13], blockR.v[16 * i + 14], - blockR.v[16 * i + 15]); - } - - /* Apply Blake2 on rows of 64-bit words: (0,1,16,17,...112,113), then - (2,3,18,19,...,114,115).. finally (14,15,30,31,...,126,127) */ - for (i = 0; i < 8; i++) { - BLAKE2_ROUND_NOMSG( - blockR.v[2 * i], blockR.v[2 * i + 1], blockR.v[2 * i + 16], - blockR.v[2 * i + 17], blockR.v[2 * i + 32], blockR.v[2 * i + 33], - blockR.v[2 * i + 48], blockR.v[2 * i + 49], blockR.v[2 * i + 64], - blockR.v[2 * i + 65], blockR.v[2 * i + 80], blockR.v[2 * i + 81], - blockR.v[2 * i + 96], blockR.v[2 * i + 97], blockR.v[2 * i + 112], - blockR.v[2 * i + 113]); - } - - copy_block(next_block, &block_tmp); - xor_block(next_block, &blockR); -} - -/* - * Generate pseudo-random values to reference blocks in the segment and puts - * them into the array - * @param instance Pointer to the current instance - * @param position Pointer to the current position - * @param pseudo_rands Pointer to the array of 64-bit values - * @pre pseudo_rands must point to @a instance->segment_length allocated values - */ -static void -generate_addresses(const argon2_instance_t *instance, - const argon2_position_t *position, uint64_t *pseudo_rands) -{ - block zero_block, input_block, address_block, tmp_block; - uint32_t i; - - init_block_value(&zero_block, 0); - init_block_value(&input_block, 0); - - if (instance != NULL && position != NULL) { - input_block.v[0] = position->pass; - input_block.v[1] = position->lane; - input_block.v[2] = position->slice; - input_block.v[3] = instance->memory_blocks; - input_block.v[4] = instance->passes; - input_block.v[5] = instance->type; - - for (i = 0; i < instance->segment_length; ++i) { - if (i % ARGON2_ADDRESSES_IN_BLOCK == 0) { - input_block.v[6]++; - init_block_value(&tmp_block, 0); - init_block_value(&address_block, 0); - fill_block_with_xor(&zero_block, &input_block, &tmp_block); - fill_block_with_xor(&zero_block, &tmp_block, &address_block); - } - - pseudo_rands[i] = address_block.v[i % ARGON2_ADDRESSES_IN_BLOCK]; - } - } -} - -void -fill_segment_ref(const argon2_instance_t *instance, argon2_position_t position) -{ - block *ref_block = NULL, *curr_block = NULL; - /* Pseudo-random values that determine the reference block position */ - uint64_t *pseudo_rands = NULL; - uint64_t pseudo_rand, ref_index, ref_lane; - uint32_t prev_offset, curr_offset; - uint32_t starting_index; - uint32_t i; - int data_independent_addressing = 1; - - if (instance == NULL) { - return; - } - - if (instance->type == Argon2_id && - (position.pass != 0 || position.slice >= ARGON2_SYNC_POINTS / 2)) { - data_independent_addressing = 0; - } - - pseudo_rands = instance->pseudo_rands; - - if (data_independent_addressing) { - generate_addresses(instance, &position, pseudo_rands); - } - - starting_index = 0; - - if ((0 == position.pass) && (0 == position.slice)) { - starting_index = 2; /* we have already generated the first two blocks */ - } - - /* Offset of the current block */ - curr_offset = position.lane * instance->lane_length + - position.slice * instance->segment_length + starting_index; - - if (0 == curr_offset % instance->lane_length) { - /* Last block in this lane */ - prev_offset = curr_offset + instance->lane_length - 1; - } else { - /* Previous block */ - prev_offset = curr_offset - 1; - } - - for (i = starting_index; i < instance->segment_length; - ++i, ++curr_offset, ++prev_offset) { - /*1.1 Rotating prev_offset if needed */ - if (curr_offset % instance->lane_length == 1) { - prev_offset = curr_offset - 1; - } - - /* 1.2 Computing the index of the reference block */ - /* 1.2.1 Taking pseudo-random value from the previous block */ - if (data_independent_addressing) { -#pragma warning(push) -#pragma warning(disable : 6385) - pseudo_rand = pseudo_rands[i]; -#pragma warning(pop) - } else { - pseudo_rand = instance->region->memory[prev_offset].v[0]; - } - - /* 1.2.2 Computing the lane of the reference block */ - ref_lane = ((pseudo_rand >> 32)) % instance->lanes; - - if ((position.pass == 0) && (position.slice == 0)) { - /* Can not reference other lanes yet */ - ref_lane = position.lane; - } - - /* 1.2.3 Computing the number of possible reference block within the - * lane. - */ - position.index = i; - ref_index = index_alpha(instance, &position, pseudo_rand & 0xFFFFFFFF, - ref_lane == position.lane); - - /* 2 Creating a new block */ - ref_block = instance->region->memory + - instance->lane_length * ref_lane + ref_index; - curr_block = instance->region->memory + curr_offset; - if (position.pass != 0) { - fill_block_with_xor(instance->region->memory + prev_offset, - ref_block, curr_block); - } else { - fill_block(instance->region->memory + prev_offset, ref_block, - curr_block); - } - } -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c deleted file mode 100644 index 796c445..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c +++ /dev/null @@ -1,238 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#include -#include -#include - -#include "argon2-core.h" -#include "argon2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" - -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# endif - -# ifdef _MSC_VER -# include /* for _mm_set_epi64x */ -# endif -# include -# include - -# include "blamka-round-ssse3.h" - -static void -fill_block(__m128i *state, const uint8_t *ref_block, uint8_t *next_block) -{ - __m128i block_XY[ARGON2_OWORDS_IN_BLOCK]; - uint32_t i; - - for (i = 0; i < ARGON2_OWORDS_IN_BLOCK; i++) { - block_XY[i] = state[i] = _mm_xor_si128( - state[i], _mm_loadu_si128((__m128i const *) (&ref_block[16 * i]))); - } - - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND(state[8 * i + 0], state[8 * i + 1], state[8 * i + 2], - state[8 * i + 3], state[8 * i + 4], state[8 * i + 5], - state[8 * i + 6], state[8 * i + 7]); - } - - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND(state[8 * 0 + i], state[8 * 1 + i], state[8 * 2 + i], - state[8 * 3 + i], state[8 * 4 + i], state[8 * 5 + i], - state[8 * 6 + i], state[8 * 7 + i]); - } - - for (i = 0; i < ARGON2_OWORDS_IN_BLOCK; i++) { - state[i] = _mm_xor_si128(state[i], block_XY[i]); - _mm_storeu_si128((__m128i *) (&next_block[16 * i]), state[i]); - } -} - -static void -fill_block_with_xor(__m128i *state, const uint8_t *ref_block, - uint8_t *next_block) -{ - __m128i block_XY[ARGON2_OWORDS_IN_BLOCK]; - uint32_t i; - - for (i = 0; i < ARGON2_OWORDS_IN_BLOCK; i++) { - state[i] = _mm_xor_si128( - state[i], _mm_loadu_si128((__m128i const *) (&ref_block[16 * i]))); - block_XY[i] = _mm_xor_si128( - state[i], _mm_loadu_si128((__m128i const *) (&next_block[16 * i]))); - } - - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND(state[8 * i + 0], state[8 * i + 1], state[8 * i + 2], - state[8 * i + 3], state[8 * i + 4], state[8 * i + 5], - state[8 * i + 6], state[8 * i + 7]); - } - - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND(state[8 * 0 + i], state[8 * 1 + i], state[8 * 2 + i], - state[8 * 3 + i], state[8 * 4 + i], state[8 * 5 + i], - state[8 * 6 + i], state[8 * 7 + i]); - } - - for (i = 0; i < ARGON2_OWORDS_IN_BLOCK; i++) { - state[i] = _mm_xor_si128(state[i], block_XY[i]); - _mm_storeu_si128((__m128i *) (&next_block[16 * i]), state[i]); - } -} - -static void -generate_addresses(const argon2_instance_t *instance, - const argon2_position_t *position, uint64_t *pseudo_rands) -{ - block address_block, input_block, tmp_block; - uint32_t i; - - init_block_value(&address_block, 0); - init_block_value(&input_block, 0); - - if (instance != NULL && position != NULL) { - input_block.v[0] = position->pass; - input_block.v[1] = position->lane; - input_block.v[2] = position->slice; - input_block.v[3] = instance->memory_blocks; - input_block.v[4] = instance->passes; - input_block.v[5] = instance->type; - - for (i = 0; i < instance->segment_length; ++i) { - if (i % ARGON2_ADDRESSES_IN_BLOCK == 0) { - /* Temporary zero-initialized blocks */ - __m128i zero_block[ARGON2_OWORDS_IN_BLOCK]; - __m128i zero2_block[ARGON2_OWORDS_IN_BLOCK]; - - memset(zero_block, 0, sizeof(zero_block)); - memset(zero2_block, 0, sizeof(zero2_block)); - init_block_value(&address_block, 0); - init_block_value(&tmp_block, 0); - /* Increasing index counter */ - input_block.v[6]++; - /* First iteration of G */ - fill_block_with_xor(zero_block, (uint8_t *) &input_block.v, - (uint8_t *) &tmp_block.v); - /* Second iteration of G */ - fill_block_with_xor(zero2_block, (uint8_t *) &tmp_block.v, - (uint8_t *) &address_block.v); - } - - pseudo_rands[i] = address_block.v[i % ARGON2_ADDRESSES_IN_BLOCK]; - } - } -} - -void -fill_segment_ssse3(const argon2_instance_t *instance, - argon2_position_t position) -{ - block *ref_block = NULL, *curr_block = NULL; - uint64_t pseudo_rand, ref_index, ref_lane; - uint32_t prev_offset, curr_offset; - uint32_t starting_index, i; - __m128i state[ARGON2_OWORDS_IN_BLOCK]; - int data_independent_addressing = 1; - - /* Pseudo-random values that determine the reference block position */ - uint64_t *pseudo_rands = NULL; - - if (instance == NULL) { - return; - } - - if (instance->type == Argon2_id && - (position.pass != 0 || position.slice >= ARGON2_SYNC_POINTS / 2)) { - data_independent_addressing = 0; - } - - pseudo_rands = instance->pseudo_rands; - - if (data_independent_addressing) { - generate_addresses(instance, &position, pseudo_rands); - } - - starting_index = 0; - - if ((0 == position.pass) && (0 == position.slice)) { - starting_index = 2; /* we have already generated the first two blocks */ - } - - /* Offset of the current block */ - curr_offset = position.lane * instance->lane_length + - position.slice * instance->segment_length + starting_index; - - if (0 == curr_offset % instance->lane_length) { - /* Last block in this lane */ - prev_offset = curr_offset + instance->lane_length - 1; - } else { - /* Previous block */ - prev_offset = curr_offset - 1; - } - - memcpy(state, ((instance->region->memory + prev_offset)->v), - ARGON2_BLOCK_SIZE); - - for (i = starting_index; i < instance->segment_length; - ++i, ++curr_offset, ++prev_offset) { - /*1.1 Rotating prev_offset if needed */ - if (curr_offset % instance->lane_length == 1) { - prev_offset = curr_offset - 1; - } - - /* 1.2 Computing the index of the reference block */ - /* 1.2.1 Taking pseudo-random value from the previous block */ - if (data_independent_addressing) { -#pragma warning(push) -#pragma warning(disable : 6385) - pseudo_rand = pseudo_rands[i]; -#pragma warning(pop) - } else { - pseudo_rand = instance->region->memory[prev_offset].v[0]; - } - - /* 1.2.2 Computing the lane of the reference block */ - ref_lane = ((pseudo_rand >> 32)) % instance->lanes; - - if ((position.pass == 0) && (position.slice == 0)) { - /* Can not reference other lanes yet */ - ref_lane = position.lane; - } - - /* 1.2.3 Computing the number of possible reference block within the - * lane. - */ - position.index = i; - ref_index = index_alpha(instance, &position, pseudo_rand & 0xFFFFFFFF, - ref_lane == position.lane); - - /* 2 Creating a new block */ - ref_block = instance->region->memory + - instance->lane_length * ref_lane + ref_index; - curr_block = instance->region->memory + curr_offset; - if (position.pass != 0) { - fill_block_with_xor(state, (uint8_t *) ref_block->v, - (uint8_t *) curr_block->v); - } else { - fill_block(state, (uint8_t *) ref_block->v, - (uint8_t *) curr_block->v); - } - } -} -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2.c deleted file mode 100644 index ac1628c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2.c +++ /dev/null @@ -1,277 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#include -#include -#include -#include -#include - -#include "utils.h" - -#include "argon2-core.h" -#include "argon2-encoding.h" -#include "argon2.h" - -int -argon2_ctx(argon2_context *context, argon2_type type) -{ - /* 1. Validate all inputs */ - int result = validate_inputs(context); - uint32_t memory_blocks, segment_length; - uint32_t pass; - argon2_instance_t instance; - - if (ARGON2_OK != result) { - return result; - } - - if (type != Argon2_id && type != Argon2_i) { - return ARGON2_INCORRECT_TYPE; - } - - /* 2. Align memory size */ - /* Minimum memory_blocks = 8L blocks, where L is the number of lanes */ - memory_blocks = context->m_cost; - - if (memory_blocks < 2 * ARGON2_SYNC_POINTS * context->lanes) { - memory_blocks = 2 * ARGON2_SYNC_POINTS * context->lanes; - } - - segment_length = memory_blocks / (context->lanes * ARGON2_SYNC_POINTS); - /* Ensure that all segments have equal length */ - memory_blocks = segment_length * (context->lanes * ARGON2_SYNC_POINTS); - - instance.region = NULL; - instance.passes = context->t_cost; - instance.current_pass = ~ 0U; - instance.memory_blocks = memory_blocks; - instance.segment_length = segment_length; - instance.lane_length = segment_length * ARGON2_SYNC_POINTS; - instance.lanes = context->lanes; - instance.threads = context->threads; - instance.type = type; - - /* 3. Initialization: Hashing inputs, allocating memory, filling first - * blocks - */ - result = initialize(&instance, context); - - if (ARGON2_OK != result) { - return result; - } - - /* 4. Filling memory */ - for (pass = 0; pass < instance.passes; pass++) { - fill_memory_blocks(&instance, pass); - } - - /* 5. Finalization */ - finalize(context, &instance); - - return ARGON2_OK; -} - -int -argon2_hash(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, const size_t pwdlen, - const void *salt, const size_t saltlen, void *hash, - const size_t hashlen, char *encoded, const size_t encodedlen, - argon2_type type) -{ - argon2_context context; - int result; - uint8_t *out; - - if (pwdlen > ARGON2_MAX_PWD_LENGTH) { - return ARGON2_PWD_TOO_LONG; - } - - if (hashlen > ARGON2_MAX_OUTLEN) { - return ARGON2_OUTPUT_TOO_LONG; - } - - if (saltlen > ARGON2_MAX_SALT_LENGTH) { - return ARGON2_SALT_TOO_LONG; - } - - out = (uint8_t *) malloc(hashlen); - if (!out) { - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - context.out = (uint8_t *) out; - context.outlen = (uint32_t) hashlen; - context.pwd = (uint8_t *) pwd; - context.pwdlen = (uint32_t) pwdlen; - context.salt = (uint8_t *) salt; - context.saltlen = (uint32_t) saltlen; - context.secret = NULL; - context.secretlen = 0; - context.ad = NULL; - context.adlen = 0; - context.t_cost = t_cost; - context.m_cost = m_cost; - context.lanes = parallelism; - context.threads = parallelism; - context.flags = ARGON2_DEFAULT_FLAGS; - - result = argon2_ctx(&context, type); - - if (result != ARGON2_OK) { - sodium_memzero(out, hashlen); - free(out); - return result; - } - - /* if raw hash requested, write it */ - if (hash) { - memcpy(hash, out, hashlen); - } - - /* if encoding requested, write it */ - if (encoded && encodedlen) { - if (encode_string(encoded, encodedlen, &context, type) != ARGON2_OK) { - sodium_memzero(out, hashlen); - sodium_memzero(encoded, encodedlen); - free(out); - return ARGON2_ENCODING_FAIL; - } - } - - sodium_memzero(out, hashlen); - free(out); - - return ARGON2_OK; -} - -int -argon2i_hash_encoded(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, const size_t hashlen, char *encoded, - const size_t encodedlen) -{ - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - NULL, hashlen, encoded, encodedlen, Argon2_i); -} - -int -argon2i_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, const size_t saltlen, - void *hash, const size_t hashlen) -{ - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - hash, hashlen, NULL, 0, Argon2_i); -} - -int -argon2id_hash_encoded(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, const size_t hashlen, char *encoded, - const size_t encodedlen) -{ - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - NULL, hashlen, encoded, encodedlen, Argon2_id); -} - -int -argon2id_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, const size_t saltlen, - void *hash, const size_t hashlen) -{ - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - hash, hashlen, NULL, 0, Argon2_id); -} - -int -argon2_verify(const char *encoded, const void *pwd, const size_t pwdlen, - argon2_type type) -{ - argon2_context ctx; - uint8_t *out; - int decode_result; - int ret; - size_t encoded_len; - - memset(&ctx, 0, sizeof ctx); - - ctx.pwd = NULL; - ctx.pwdlen = 0; - ctx.secret = NULL; - ctx.secretlen = 0; - - /* max values, to be updated in decode_string */ - encoded_len = strlen(encoded); - if (encoded_len > UINT32_MAX) { - return ARGON2_DECODING_LENGTH_FAIL; - } - ctx.adlen = (uint32_t) encoded_len; - ctx.saltlen = (uint32_t) encoded_len; - ctx.outlen = (uint32_t) encoded_len; - - ctx.ad = (uint8_t *) malloc(ctx.adlen); - ctx.salt = (uint8_t *) malloc(ctx.saltlen); - ctx.out = (uint8_t *) malloc(ctx.outlen); - if (!ctx.out || !ctx.salt || !ctx.ad) { - free(ctx.ad); - free(ctx.salt); - free(ctx.out); - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - out = (uint8_t *) malloc(ctx.outlen); - if (!out) { - free(ctx.ad); - free(ctx.salt); - free(ctx.out); - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - decode_result = decode_string(&ctx, encoded, type); - if (decode_result != ARGON2_OK) { - free(ctx.ad); - free(ctx.salt); - free(ctx.out); - free(out); - return decode_result; - } - - ret = argon2_hash(ctx.t_cost, ctx.m_cost, ctx.threads, pwd, pwdlen, - ctx.salt, ctx.saltlen, out, ctx.outlen, NULL, 0, type); - - free(ctx.ad); - free(ctx.salt); - - if (ret != ARGON2_OK || sodium_memcmp(out, ctx.out, ctx.outlen) != 0) { - ret = ARGON2_VERIFY_MISMATCH; - } - free(out); - free(ctx.out); - - return ret; -} - -int -argon2i_verify(const char *encoded, const void *pwd, const size_t pwdlen) -{ - return argon2_verify(encoded, pwd, pwdlen, Argon2_i); -} - -int -argon2id_verify(const char *encoded, const void *pwd, const size_t pwdlen) -{ - return argon2_verify(encoded, pwd, pwdlen, Argon2_id); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2.h deleted file mode 100644 index 85ca4dd..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/argon2.h +++ /dev/null @@ -1,305 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with this software. If not, see - * . - */ -#ifndef argon2_H -#define argon2_H - -#include -#include -#include - -/* - * Argon2 input parameter restrictions - */ - -/* Minimum and maximum number of lanes (degree of parallelism) */ -#define ARGON2_MIN_LANES UINT32_C(1) -#define ARGON2_MAX_LANES UINT32_C(0xFFFFFF) - -/* Minimum and maximum number of threads */ -#define ARGON2_MIN_THREADS UINT32_C(1) -#define ARGON2_MAX_THREADS UINT32_C(0xFFFFFF) - -/* Number of synchronization points between lanes per pass */ -#define ARGON2_SYNC_POINTS UINT32_C(4) - -/* Minimum and maximum digest size in bytes */ -#define ARGON2_MIN_OUTLEN UINT32_C(16) -#define ARGON2_MAX_OUTLEN UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum number of memory blocks (each of BLOCK_SIZE bytes) */ -#define ARGON2_MIN_MEMORY (2 * ARGON2_SYNC_POINTS) /* 2 blocks per slice */ - -#define ARGON2_MIN(a, b) ((a) < (b) ? (a) : (b)) -/* Max memory size is half the addressing space, topping at 2^32 blocks (4 TB) - */ -#define ARGON2_MAX_MEMORY_BITS \ - ARGON2_MIN(UINT32_C(32), (sizeof(void *) * CHAR_BIT - 10 - 1)) -#define ARGON2_MAX_MEMORY \ - ARGON2_MIN(UINT32_C(0xFFFFFFFF), UINT64_C(1) << ARGON2_MAX_MEMORY_BITS) - -/* Minimum and maximum number of passes */ -#define ARGON2_MIN_TIME UINT32_C(1) -#define ARGON2_MAX_TIME UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum password length in bytes */ -#define ARGON2_MIN_PWD_LENGTH UINT32_C(0) -#define ARGON2_MAX_PWD_LENGTH UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum associated data length in bytes */ -#define ARGON2_MIN_AD_LENGTH UINT32_C(0) -#define ARGON2_MAX_AD_LENGTH UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum salt length in bytes */ -#define ARGON2_MIN_SALT_LENGTH UINT32_C(8) -#define ARGON2_MAX_SALT_LENGTH UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum key length in bytes */ -#define ARGON2_MIN_SECRET UINT32_C(0) -#define ARGON2_MAX_SECRET UINT32_C(0xFFFFFFFF) - -#define ARGON2_FLAG_CLEAR_PASSWORD (UINT32_C(1) << 0) -#define ARGON2_FLAG_CLEAR_SECRET (UINT32_C(1) << 1) -#define ARGON2_FLAG_CLEAR_MEMORY (UINT32_C(1) << 2) -#define ARGON2_DEFAULT_FLAGS (UINT32_C(0)) - -/* Error codes */ -typedef enum Argon2_ErrorCodes { - ARGON2_OK = 0, - - ARGON2_OUTPUT_PTR_NULL = -1, - - ARGON2_OUTPUT_TOO_SHORT = -2, - ARGON2_OUTPUT_TOO_LONG = -3, - - ARGON2_PWD_TOO_SHORT = -4, - ARGON2_PWD_TOO_LONG = -5, - - ARGON2_SALT_TOO_SHORT = -6, - ARGON2_SALT_TOO_LONG = -7, - - ARGON2_AD_TOO_SHORT = -8, - ARGON2_AD_TOO_LONG = -9, - - ARGON2_SECRET_TOO_SHORT = -10, - ARGON2_SECRET_TOO_LONG = -11, - - ARGON2_TIME_TOO_SMALL = -12, - ARGON2_TIME_TOO_LARGE = -13, - - ARGON2_MEMORY_TOO_LITTLE = -14, - ARGON2_MEMORY_TOO_MUCH = -15, - - ARGON2_LANES_TOO_FEW = -16, - ARGON2_LANES_TOO_MANY = -17, - - ARGON2_PWD_PTR_MISMATCH = -18, /* NULL ptr with non-zero length */ - ARGON2_SALT_PTR_MISMATCH = -19, /* NULL ptr with non-zero length */ - ARGON2_SECRET_PTR_MISMATCH = -20, /* NULL ptr with non-zero length */ - ARGON2_AD_PTR_MISMATCH = -21, /* NULL ptr with non-zero length */ - - ARGON2_MEMORY_ALLOCATION_ERROR = -22, - - ARGON2_FREE_MEMORY_CBK_NULL = -23, - ARGON2_ALLOCATE_MEMORY_CBK_NULL = -24, - - ARGON2_INCORRECT_PARAMETER = -25, - ARGON2_INCORRECT_TYPE = -26, - - ARGON2_OUT_PTR_MISMATCH = -27, - - ARGON2_THREADS_TOO_FEW = -28, - ARGON2_THREADS_TOO_MANY = -29, - - ARGON2_MISSING_ARGS = -30, - - ARGON2_ENCODING_FAIL = -31, - - ARGON2_DECODING_FAIL = -32, - - ARGON2_THREAD_FAIL = -33, - - ARGON2_DECODING_LENGTH_FAIL = -34, - - ARGON2_VERIFY_MISMATCH = -35 -} argon2_error_codes; - -/* Argon2 external data structures */ - -/* - * Context: structure to hold Argon2 inputs: - * output array and its length, - * password and its length, - * salt and its length, - * secret and its length, - * associated data and its length, - * number of passes, amount of used memory (in KBytes, can be rounded up a bit) - * number of parallel threads that will be run. - * All the parameters above affect the output hash value. - * Additionally, two function pointers can be provided to allocate and - * deallocate the memory (if NULL, memory will be allocated internally). - * Also, three flags indicate whether to erase password, secret as soon as they - * are pre-hashed (and thus not needed anymore), and the entire memory - ***** - * Simplest situation: you have output array out[8], password is stored in - * pwd[32], salt is stored in salt[16], you do not have keys nor associated - *data. - * You need to spend 1 GB of RAM and you run 5 passes of Argon2 with 4 parallel - *lanes. - * You want to erase the password, but you're OK with last pass not being - *erased. - * You want to use the default memory allocator. - * Then you initialize: - * Argon2_Context(out,8,pwd,32,salt,16,NULL,0,NULL,0,5,1<<20,4,4,NULL,NULL,true,false,false,false). - */ -typedef struct Argon2_Context { - uint8_t *out; /* output array */ - uint32_t outlen; /* digest length */ - - uint8_t *pwd; /* password array */ - uint32_t pwdlen; /* password length */ - - uint8_t *salt; /* salt array */ - uint32_t saltlen; /* salt length */ - - uint8_t *secret; /* key array */ - uint32_t secretlen; /* key length */ - - uint8_t *ad; /* associated data array */ - uint32_t adlen; /* associated data length */ - - uint32_t t_cost; /* number of passes */ - uint32_t m_cost; /* amount of memory requested (KB) */ - uint32_t lanes; /* number of lanes */ - uint32_t threads; /* maximum number of threads */ - - uint32_t flags; /* array of bool options */ -} argon2_context; - -/* Argon2 primitive type */ -typedef enum Argon2_type { Argon2_i = 1, Argon2_id = 2 } argon2_type; - -/* - * Function that performs memory-hard hashing with certain degree of parallelism - * @param context Pointer to the Argon2 internal structure - * @return Error code if smth is wrong, ARGON2_OK otherwise - */ -int argon2_ctx(argon2_context *context, argon2_type type); - -/** - * Hashes a password with Argon2i, producing an encoded hash - * @param t_cost Number of iterations - * @param m_cost Sets memory usage to m_cost kibibytes - * @param parallelism Number of threads and compute lanes - * @param pwd Pointer to password - * @param pwdlen Password size in bytes - * @param salt Pointer to salt - * @param saltlen Salt size in bytes - * @param hashlen Desired length of the hash in bytes - * @param encoded Buffer where to write the encoded hash - * @param encodedlen Size of the buffer (thus max size of the encoded hash) - * @pre Different parallelism levels will give different results - * @pre Returns ARGON2_OK if successful - */ -int argon2i_hash_encoded(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, const size_t hashlen, - char *encoded, const size_t encodedlen); - -/** - * Hashes a password with Argon2id, producing an encoded hash - * @param t_cost Number of iterations - * @param m_cost Sets memory usage to m_cost kibibytes - * @param parallelism Number of threads and compute lanes - * @param pwd Pointer to password - * @param pwdlen Password size in bytes - * @param salt Pointer to salt - * @param saltlen Salt size in bytes - * @param hashlen Desired length of the hash in bytes - * @param encoded Buffer where to write the encoded hash - * @param encodedlen Size of the buffer (thus max size of the encoded hash) - * @pre Different parallelism levels will give different results - * @pre Returns ARGON2_OK if successful - */ -int argon2id_hash_encoded(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, const size_t hashlen, - char *encoded, const size_t encodedlen); - -/** - * Hashes a password with Argon2i, producing a raw hash - * @param t_cost Number of iterations - * @param m_cost Sets memory usage to m_cost kibibytes - * @param parallelism Number of threads and compute lanes - * @param pwd Pointer to password - * @param pwdlen Password size in bytes - * @param salt Pointer to salt - * @param saltlen Salt size in bytes - * @param hash Buffer where to write the raw hash - * @param hashlen Desired length of the hash in bytes - * @pre Different parallelism levels will give different results - * @pre Returns ARGON2_OK if successful - */ -int argon2i_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, void *hash, const size_t hashlen); - -/** - * Hashes a password with Argon2id, producing a raw hash - * @param t_cost Number of iterations - * @param m_cost Sets memory usage to m_cost kibibytes - * @param parallelism Number of threads and compute lanes - * @param pwd Pointer to password - * @param pwdlen Password size in bytes - * @param salt Pointer to salt - * @param saltlen Salt size in bytes - * @param hash Buffer where to write the raw hash - * @param hashlen Desired length of the hash in bytes - * @pre Different parallelism levels will give different results - * @pre Returns ARGON2_OK if successful - */ -int argon2id_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, void *hash, const size_t hashlen); - -/* generic function underlying the above ones */ -int argon2_hash(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, const size_t saltlen, - void *hash, const size_t hashlen, char *encoded, - const size_t encodedlen, argon2_type type); - -/** - * Verifies a password against an encoded string - * Encoded string is restricted as in validate_inputs() - * @param encoded String encoding parameters, salt, hash - * @param pwd Pointer to password - * @pre Returns ARGON2_OK if successful - */ -int argon2i_verify(const char *encoded, const void *pwd, const size_t pwdlen); - -/** - * Verifies a password against an encoded string - * Encoded string is restricted as in validate_inputs() - * @param encoded String encoding parameters, salt, hash - * @param pwd Pointer to password - * @pre Returns ARGON2_OK if successful - */ -int argon2id_verify(const char *encoded, const void *pwd, const size_t pwdlen); - -/* generic function underlying the above ones */ -int argon2_verify(const char *encoded, const void *pwd, const size_t pwdlen, - argon2_type type); -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blake2b-long.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blake2b-long.c deleted file mode 100644 index f0364ac..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blake2b-long.c +++ /dev/null @@ -1,79 +0,0 @@ -#include -#include -#include -#include - -#include "crypto_generichash_blake2b.h" -#include "private/common.h" -#include "utils.h" - -#include "blake2b-long.h" - -int -blake2b_long(void *pout, size_t outlen, const void *in, size_t inlen) -{ - uint8_t *out = (uint8_t *) pout; - crypto_generichash_blake2b_state blake_state; - uint8_t outlen_bytes[4 /* sizeof(uint32_t) */] = { 0 }; - int ret = -1; - - if (outlen > UINT32_MAX) { - goto fail; /* LCOV_EXCL_LINE */ - } - - /* Ensure little-endian byte order! */ - STORE32_LE(outlen_bytes, (uint32_t) outlen); - -#define TRY(statement) \ - do { \ - ret = statement; \ - if (ret < 0) { \ - goto fail; \ - } \ - } while ((void) 0, 0) - - if (outlen <= crypto_generichash_blake2b_BYTES_MAX) { - TRY(crypto_generichash_blake2b_init(&blake_state, NULL, 0U, outlen)); - TRY(crypto_generichash_blake2b_update(&blake_state, outlen_bytes, - sizeof(outlen_bytes))); - TRY(crypto_generichash_blake2b_update( - &blake_state, (const unsigned char *) in, inlen)); - TRY(crypto_generichash_blake2b_final(&blake_state, out, outlen)); - } else { - uint32_t toproduce; - uint8_t out_buffer[crypto_generichash_blake2b_BYTES_MAX]; - uint8_t in_buffer[crypto_generichash_blake2b_BYTES_MAX]; - TRY(crypto_generichash_blake2b_init( - &blake_state, NULL, 0U, crypto_generichash_blake2b_BYTES_MAX)); - TRY(crypto_generichash_blake2b_update(&blake_state, outlen_bytes, - sizeof(outlen_bytes))); - TRY(crypto_generichash_blake2b_update( - &blake_state, (const unsigned char *) in, inlen)); - TRY(crypto_generichash_blake2b_final( - &blake_state, out_buffer, crypto_generichash_blake2b_BYTES_MAX)); - memcpy(out, out_buffer, crypto_generichash_blake2b_BYTES_MAX / 2); - out += crypto_generichash_blake2b_BYTES_MAX / 2; - toproduce = - (uint32_t) outlen - crypto_generichash_blake2b_BYTES_MAX / 2; - - while (toproduce > crypto_generichash_blake2b_BYTES_MAX) { - memcpy(in_buffer, out_buffer, crypto_generichash_blake2b_BYTES_MAX); - TRY(crypto_generichash_blake2b( - out_buffer, crypto_generichash_blake2b_BYTES_MAX, in_buffer, - crypto_generichash_blake2b_BYTES_MAX, NULL, 0U)); - memcpy(out, out_buffer, crypto_generichash_blake2b_BYTES_MAX / 2); - out += crypto_generichash_blake2b_BYTES_MAX / 2; - toproduce -= crypto_generichash_blake2b_BYTES_MAX / 2; - } - - memcpy(in_buffer, out_buffer, crypto_generichash_blake2b_BYTES_MAX); - TRY(crypto_generichash_blake2b(out_buffer, toproduce, in_buffer, - crypto_generichash_blake2b_BYTES_MAX, - NULL, 0U)); - memcpy(out, out_buffer, toproduce); - } -fail: - sodium_memzero(&blake_state, sizeof(blake_state)); - return ret; -#undef TRY -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blake2b-long.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blake2b-long.h deleted file mode 100644 index 3d6d775..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blake2b-long.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef blake2b_long_H -#define blake2b_long_H - -#include - -int blake2b_long(void *pout, size_t outlen, const void *in, size_t inlen); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h deleted file mode 100644 index f3dfa0f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef blamka_round_avx2_H -#define blamka_round_avx2_H - -#include "private/common.h" -#include "private/sse2_64_32.h" - -#define rotr32(x) _mm256_shuffle_epi32(x, _MM_SHUFFLE(2, 3, 0, 1)) -#define rotr24(x) _mm256_shuffle_epi8(x, _mm256_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10, 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10)) -#define rotr16(x) _mm256_shuffle_epi8(x, _mm256_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9, 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9)) -#define rotr63(x) _mm256_xor_si256(_mm256_srli_epi64((x), 63), _mm256_add_epi64((x), (x))) - -#define G1_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - __m256i ml = _mm256_mul_epu32(A0, B0); \ - ml = _mm256_add_epi64(ml, ml); \ - A0 = _mm256_add_epi64(A0, _mm256_add_epi64(B0, ml)); \ - D0 = _mm256_xor_si256(D0, A0); \ - D0 = rotr32(D0); \ - \ - ml = _mm256_mul_epu32(C0, D0); \ - ml = _mm256_add_epi64(ml, ml); \ - C0 = _mm256_add_epi64(C0, _mm256_add_epi64(D0, ml)); \ - \ - B0 = _mm256_xor_si256(B0, C0); \ - B0 = rotr24(B0); \ - \ - ml = _mm256_mul_epu32(A1, B1); \ - ml = _mm256_add_epi64(ml, ml); \ - A1 = _mm256_add_epi64(A1, _mm256_add_epi64(B1, ml)); \ - D1 = _mm256_xor_si256(D1, A1); \ - D1 = rotr32(D1); \ - \ - ml = _mm256_mul_epu32(C1, D1); \ - ml = _mm256_add_epi64(ml, ml); \ - C1 = _mm256_add_epi64(C1, _mm256_add_epi64(D1, ml)); \ - \ - B1 = _mm256_xor_si256(B1, C1); \ - B1 = rotr24(B1); \ - } while((void)0, 0); - -#define G2_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - __m256i ml = _mm256_mul_epu32(A0, B0); \ - ml = _mm256_add_epi64(ml, ml); \ - A0 = _mm256_add_epi64(A0, _mm256_add_epi64(B0, ml)); \ - D0 = _mm256_xor_si256(D0, A0); \ - D0 = rotr16(D0); \ - \ - ml = _mm256_mul_epu32(C0, D0); \ - ml = _mm256_add_epi64(ml, ml); \ - C0 = _mm256_add_epi64(C0, _mm256_add_epi64(D0, ml)); \ - B0 = _mm256_xor_si256(B0, C0); \ - B0 = rotr63(B0); \ - \ - ml = _mm256_mul_epu32(A1, B1); \ - ml = _mm256_add_epi64(ml, ml); \ - A1 = _mm256_add_epi64(A1, _mm256_add_epi64(B1, ml)); \ - D1 = _mm256_xor_si256(D1, A1); \ - D1 = rotr16(D1); \ - \ - ml = _mm256_mul_epu32(C1, D1); \ - ml = _mm256_add_epi64(ml, ml); \ - C1 = _mm256_add_epi64(C1, _mm256_add_epi64(D1, ml)); \ - B1 = _mm256_xor_si256(B1, C1); \ - B1 = rotr63(B1); \ - } while((void)0, 0); - -#define DIAGONALIZE_1(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - B0 = _mm256_permute4x64_epi64(B0, _MM_SHUFFLE(0, 3, 2, 1)); \ - C0 = _mm256_permute4x64_epi64(C0, _MM_SHUFFLE(1, 0, 3, 2)); \ - D0 = _mm256_permute4x64_epi64(D0, _MM_SHUFFLE(2, 1, 0, 3)); \ - \ - B1 = _mm256_permute4x64_epi64(B1, _MM_SHUFFLE(0, 3, 2, 1)); \ - C1 = _mm256_permute4x64_epi64(C1, _MM_SHUFFLE(1, 0, 3, 2)); \ - D1 = _mm256_permute4x64_epi64(D1, _MM_SHUFFLE(2, 1, 0, 3)); \ - } while((void)0, 0); - -#define DIAGONALIZE_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - __m256i tmp1 = _mm256_blend_epi32(B0, B1, 0xCC); \ - __m256i tmp2 = _mm256_blend_epi32(B0, B1, 0x33); \ - B1 = _mm256_permute4x64_epi64(tmp1, _MM_SHUFFLE(2,3,0,1)); \ - B0 = _mm256_permute4x64_epi64(tmp2, _MM_SHUFFLE(2,3,0,1)); \ - \ - tmp1 = C0; \ - C0 = C1; \ - C1 = tmp1; \ - \ - tmp1 = _mm256_blend_epi32(D0, D1, 0xCC); \ - tmp2 = _mm256_blend_epi32(D0, D1, 0x33); \ - D0 = _mm256_permute4x64_epi64(tmp1, _MM_SHUFFLE(2,3,0,1)); \ - D1 = _mm256_permute4x64_epi64(tmp2, _MM_SHUFFLE(2,3,0,1)); \ - } while(0); - -#define UNDIAGONALIZE_1(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - B0 = _mm256_permute4x64_epi64(B0, _MM_SHUFFLE(2, 1, 0, 3)); \ - C0 = _mm256_permute4x64_epi64(C0, _MM_SHUFFLE(1, 0, 3, 2)); \ - D0 = _mm256_permute4x64_epi64(D0, _MM_SHUFFLE(0, 3, 2, 1)); \ - \ - B1 = _mm256_permute4x64_epi64(B1, _MM_SHUFFLE(2, 1, 0, 3)); \ - C1 = _mm256_permute4x64_epi64(C1, _MM_SHUFFLE(1, 0, 3, 2)); \ - D1 = _mm256_permute4x64_epi64(D1, _MM_SHUFFLE(0, 3, 2, 1)); \ - } while((void)0, 0); - -#define UNDIAGONALIZE_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - __m256i tmp1 = _mm256_blend_epi32(B0, B1, 0xCC); \ - __m256i tmp2 = _mm256_blend_epi32(B0, B1, 0x33); \ - B0 = _mm256_permute4x64_epi64(tmp1, _MM_SHUFFLE(2,3,0,1)); \ - B1 = _mm256_permute4x64_epi64(tmp2, _MM_SHUFFLE(2,3,0,1)); \ - \ - tmp1 = C0; \ - C0 = C1; \ - C1 = tmp1; \ - \ - tmp1 = _mm256_blend_epi32(D0, D1, 0x33); \ - tmp2 = _mm256_blend_epi32(D0, D1, 0xCC); \ - D0 = _mm256_permute4x64_epi64(tmp1, _MM_SHUFFLE(2,3,0,1)); \ - D1 = _mm256_permute4x64_epi64(tmp2, _MM_SHUFFLE(2,3,0,1)); \ - } while((void)0, 0); - -#define BLAKE2_ROUND_1(A0, A1, B0, B1, C0, C1, D0, D1) \ - do{ \ - G1_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - G2_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - \ - DIAGONALIZE_1(A0, B0, C0, D0, A1, B1, C1, D1) \ - \ - G1_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - G2_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - \ - UNDIAGONALIZE_1(A0, B0, C0, D0, A1, B1, C1, D1) \ - } while((void)0, 0); - -#define BLAKE2_ROUND_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do{ \ - G1_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - G2_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - \ - DIAGONALIZE_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - \ - G1_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - G2_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - \ - UNDIAGONALIZE_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - } while((void)0, 0); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h deleted file mode 100644 index 9a82240..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h +++ /dev/null @@ -1,145 +0,0 @@ -#ifndef blamka_round_avx512f_H -#define blamka_round_avx512f_H - -#include "private/common.h" -#include "private/sse2_64_32.h" - -#define ror64(x, n) _mm512_ror_epi64((x), (n)) - -static inline __m512i -muladd(__m512i x, __m512i y) -{ - __m512i z = _mm512_mul_epu32(x, y); - - return _mm512_add_epi64(_mm512_add_epi64(x, y), _mm512_add_epi64(z, z)); -} - -#define G1_AVX512F(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - A0 = muladd(A0, B0); \ - A1 = muladd(A1, B1); \ - \ - D0 = _mm512_xor_si512(D0, A0); \ - D1 = _mm512_xor_si512(D1, A1); \ - \ - D0 = ror64(D0, 32); \ - D1 = ror64(D1, 32); \ - \ - C0 = muladd(C0, D0); \ - C1 = muladd(C1, D1); \ - \ - B0 = _mm512_xor_si512(B0, C0); \ - B1 = _mm512_xor_si512(B1, C1); \ - \ - B0 = ror64(B0, 24); \ - B1 = ror64(B1, 24); \ - } while ((void)0, 0) - -#define G2_AVX512F(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - A0 = muladd(A0, B0); \ - A1 = muladd(A1, B1); \ - \ - D0 = _mm512_xor_si512(D0, A0); \ - D1 = _mm512_xor_si512(D1, A1); \ - \ - D0 = ror64(D0, 16); \ - D1 = ror64(D1, 16); \ - \ - C0 = muladd(C0, D0); \ - C1 = muladd(C1, D1); \ - \ - B0 = _mm512_xor_si512(B0, C0); \ - B1 = _mm512_xor_si512(B1, C1); \ - \ - B0 = ror64(B0, 63); \ - B1 = ror64(B1, 63); \ - } while ((void)0, 0) - -#define DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - B0 = _mm512_permutex_epi64(B0, _MM_SHUFFLE(0, 3, 2, 1)); \ - B1 = _mm512_permutex_epi64(B1, _MM_SHUFFLE(0, 3, 2, 1)); \ - \ - C0 = _mm512_permutex_epi64(C0, _MM_SHUFFLE(1, 0, 3, 2)); \ - C1 = _mm512_permutex_epi64(C1, _MM_SHUFFLE(1, 0, 3, 2)); \ - \ - D0 = _mm512_permutex_epi64(D0, _MM_SHUFFLE(2, 1, 0, 3)); \ - D1 = _mm512_permutex_epi64(D1, _MM_SHUFFLE(2, 1, 0, 3)); \ - } while ((void)0, 0) - -#define UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - B0 = _mm512_permutex_epi64(B0, _MM_SHUFFLE(2, 1, 0, 3)); \ - B1 = _mm512_permutex_epi64(B1, _MM_SHUFFLE(2, 1, 0, 3)); \ - \ - C0 = _mm512_permutex_epi64(C0, _MM_SHUFFLE(1, 0, 3, 2)); \ - C1 = _mm512_permutex_epi64(C1, _MM_SHUFFLE(1, 0, 3, 2)); \ - \ - D0 = _mm512_permutex_epi64(D0, _MM_SHUFFLE(0, 3, 2, 1)); \ - D1 = _mm512_permutex_epi64(D1, _MM_SHUFFLE(0, 3, 2, 1)); \ - } while ((void)0, 0) - -#define BLAKE2_ROUND(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - G1_AVX512F(A0, B0, C0, D0, A1, B1, C1, D1); \ - G2_AVX512F(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - G1_AVX512F(A0, B0, C0, D0, A1, B1, C1, D1); \ - G2_AVX512F(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1); \ - } while ((void)0, 0) - -#define SWAP_HALVES(A0, A1) \ - do { \ - __m512i t0, t1; \ - t0 = _mm512_shuffle_i64x2(A0, A1, _MM_SHUFFLE(1, 0, 1, 0)); \ - t1 = _mm512_shuffle_i64x2(A0, A1, _MM_SHUFFLE(3, 2, 3, 2)); \ - A0 = t0; \ - A1 = t1; \ - } while((void)0, 0) - -#define SWAP_QUARTERS(A0, A1) \ - do { \ - SWAP_HALVES(A0, A1); \ - A0 = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), A0); \ - A1 = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), A1); \ - } while((void)0, 0) - -#define UNSWAP_QUARTERS(A0, A1) \ - do { \ - A0 = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), A0); \ - A1 = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), A1); \ - SWAP_HALVES(A0, A1); \ - } while((void)0, 0) - -#define BLAKE2_ROUND_1(A0, C0, B0, D0, A1, C1, B1, D1) \ - do { \ - SWAP_HALVES(A0, B0); \ - SWAP_HALVES(C0, D0); \ - SWAP_HALVES(A1, B1); \ - SWAP_HALVES(C1, D1); \ - BLAKE2_ROUND(A0, B0, C0, D0, A1, B1, C1, D1); \ - SWAP_HALVES(A0, B0); \ - SWAP_HALVES(C0, D0); \ - SWAP_HALVES(A1, B1); \ - SWAP_HALVES(C1, D1); \ - } while ((void)0, 0) - -#define BLAKE2_ROUND_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - SWAP_QUARTERS(A0, A1); \ - SWAP_QUARTERS(B0, B1); \ - SWAP_QUARTERS(C0, C1); \ - SWAP_QUARTERS(D0, D1); \ - BLAKE2_ROUND(A0, B0, C0, D0, A1, B1, C1, D1); \ - UNSWAP_QUARTERS(A0, A1); \ - UNSWAP_QUARTERS(B0, B1); \ - UNSWAP_QUARTERS(C0, C1); \ - UNSWAP_QUARTERS(D0, D1); \ - } while ((void)0, 0) - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h deleted file mode 100644 index 7a2c6eb..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef blamka_round_ref_H -#define blamka_round_ref_H - -#include "private/common.h" - -/*designed by the Lyra PHC team */ -static inline uint64_t -fBlaMka(uint64_t x, uint64_t y) -{ - const uint64_t m = UINT64_C(0xFFFFFFFF); - const uint64_t xy = (x & m) * (y & m); - return x + y + 2 * xy; -} - -#define G(a, b, c, d) \ - do { \ - a = fBlaMka(a, b); \ - d = ROTR64(d ^ a, 32); \ - c = fBlaMka(c, d); \ - b = ROTR64(b ^ c, 24); \ - a = fBlaMka(a, b); \ - d = ROTR64(d ^ a, 16); \ - c = fBlaMka(c, d); \ - b = ROTR64(b ^ c, 63); \ - } while ((void) 0, 0) - -#define BLAKE2_ROUND_NOMSG(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, \ - v12, v13, v14, v15) \ - do { \ - G(v0, v4, v8, v12); \ - G(v1, v5, v9, v13); \ - G(v2, v6, v10, v14); \ - G(v3, v7, v11, v15); \ - G(v0, v5, v10, v15); \ - G(v1, v6, v11, v12); \ - G(v2, v7, v8, v13); \ - G(v3, v4, v9, v14); \ - } while ((void) 0, 0) - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h deleted file mode 100644 index 98a47b9..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h +++ /dev/null @@ -1,120 +0,0 @@ -#ifndef blamka_round_ssse3_H -#define blamka_round_ssse3_H - -#include "private/common.h" -#include "private/sse2_64_32.h" - -#define r16 \ - (_mm_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9)) -#define r24 \ - (_mm_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10)) -#define _mm_roti_epi64(x, c) \ - (-(c) == 32) \ - ? _mm_shuffle_epi32((x), _MM_SHUFFLE(2, 3, 0, 1)) \ - : (-(c) == 24) \ - ? _mm_shuffle_epi8((x), r24) \ - : (-(c) == 16) \ - ? _mm_shuffle_epi8((x), r16) \ - : (-(c) == 63) \ - ? _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_add_epi64((x), (x))) \ - : _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_slli_epi64((x), 64 - (-(c)))) - -static inline __m128i -fBlaMka(__m128i x, __m128i y) -{ - const __m128i z = _mm_mul_epu32(x, y); - return _mm_add_epi64(_mm_add_epi64(x, y), _mm_add_epi64(z, z)); -} - -#define G1(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - A0 = fBlaMka(A0, B0); \ - A1 = fBlaMka(A1, B1); \ - \ - D0 = _mm_xor_si128(D0, A0); \ - D1 = _mm_xor_si128(D1, A1); \ - \ - D0 = _mm_roti_epi64(D0, -32); \ - D1 = _mm_roti_epi64(D1, -32); \ - \ - C0 = fBlaMka(C0, D0); \ - C1 = fBlaMka(C1, D1); \ - \ - B0 = _mm_xor_si128(B0, C0); \ - B1 = _mm_xor_si128(B1, C1); \ - \ - B0 = _mm_roti_epi64(B0, -24); \ - B1 = _mm_roti_epi64(B1, -24); \ - } while ((void) 0, 0) - -#define G2(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - A0 = fBlaMka(A0, B0); \ - A1 = fBlaMka(A1, B1); \ - \ - D0 = _mm_xor_si128(D0, A0); \ - D1 = _mm_xor_si128(D1, A1); \ - \ - D0 = _mm_roti_epi64(D0, -16); \ - D1 = _mm_roti_epi64(D1, -16); \ - \ - C0 = fBlaMka(C0, D0); \ - C1 = fBlaMka(C1, D1); \ - \ - B0 = _mm_xor_si128(B0, C0); \ - B1 = _mm_xor_si128(B1, C1); \ - \ - B0 = _mm_roti_epi64(B0, -63); \ - B1 = _mm_roti_epi64(B1, -63); \ - } while ((void) 0, 0) - -#define DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - __m128i t0 = _mm_alignr_epi8(B1, B0, 8); \ - __m128i t1 = _mm_alignr_epi8(B0, B1, 8); \ - B0 = t0; \ - B1 = t1; \ - \ - t0 = C0; \ - C0 = C1; \ - C1 = t0; \ - \ - t0 = _mm_alignr_epi8(D1, D0, 8); \ - t1 = _mm_alignr_epi8(D0, D1, 8); \ - D0 = t1; \ - D1 = t0; \ - } while ((void) 0, 0) - -#define UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - __m128i t0 = _mm_alignr_epi8(B0, B1, 8); \ - __m128i t1 = _mm_alignr_epi8(B1, B0, 8); \ - B0 = t0; \ - B1 = t1; \ - \ - t0 = C0; \ - C0 = C1; \ - C1 = t0; \ - \ - t0 = _mm_alignr_epi8(D0, D1, 8); \ - t1 = _mm_alignr_epi8(D1, D0, 8); \ - D0 = t1; \ - D1 = t0; \ - } while ((void) 0, 0) - -#define BLAKE2_ROUND(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - G1(A0, B0, C0, D0, A1, B1, C1, D1); \ - G2(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - G1(A0, B0, C0, D0, A1, B1, C1, D1); \ - G2(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1); \ - } while ((void) 0, 0) - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c deleted file mode 100644 index 0515bd6..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c +++ /dev/null @@ -1,290 +0,0 @@ - -#include -#include -#include -#include -#include -#include - -#include "argon2-core.h" -#include "argon2-encoding.h" -#include "argon2.h" -#include "crypto_pwhash.h" -#include "crypto_pwhash_argon2i.h" -#include "crypto_pwhash_argon2id.h" -#include "private/common.h" -#include "randombytes.h" -#include "utils.h" - -#define STR_HASHBYTES 32U - -int -crypto_pwhash_argon2i_alg_argon2i13(void) -{ - return crypto_pwhash_argon2i_ALG_ARGON2I13; -} - -size_t -crypto_pwhash_argon2i_bytes_min(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2i_BYTES_MIN >= ARGON2_MIN_OUTLEN); - return crypto_pwhash_argon2i_BYTES_MIN; -} - -size_t -crypto_pwhash_argon2i_bytes_max(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2i_BYTES_MAX <= ARGON2_MAX_OUTLEN); - return crypto_pwhash_argon2i_BYTES_MAX; -} - -size_t -crypto_pwhash_argon2i_passwd_min(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2i_PASSWD_MIN >= ARGON2_MIN_PWD_LENGTH); - return crypto_pwhash_argon2i_PASSWD_MIN; -} - -size_t -crypto_pwhash_argon2i_passwd_max(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2i_PASSWD_MAX <= ARGON2_MAX_PWD_LENGTH); - return crypto_pwhash_argon2i_PASSWD_MAX; -} - -size_t -crypto_pwhash_argon2i_saltbytes(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2i_SALTBYTES >= ARGON2_MIN_SALT_LENGTH); - COMPILER_ASSERT(crypto_pwhash_argon2i_SALTBYTES <= ARGON2_MAX_SALT_LENGTH); - return crypto_pwhash_argon2i_SALTBYTES; -} - -size_t -crypto_pwhash_argon2i_strbytes(void) -{ - return crypto_pwhash_argon2i_STRBYTES; -} - -const char* -crypto_pwhash_argon2i_strprefix(void) -{ - return crypto_pwhash_argon2i_STRPREFIX; -} - -size_t -crypto_pwhash_argon2i_opslimit_min(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2i_OPSLIMIT_MIN >= ARGON2_MIN_TIME); - return crypto_pwhash_argon2i_OPSLIMIT_MIN; -} - -size_t -crypto_pwhash_argon2i_opslimit_max(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2i_OPSLIMIT_MAX <= ARGON2_MAX_TIME); - return crypto_pwhash_argon2i_OPSLIMIT_MAX; -} - -size_t -crypto_pwhash_argon2i_memlimit_min(void) -{ - COMPILER_ASSERT((crypto_pwhash_argon2i_MEMLIMIT_MIN / 1024U) >= ARGON2_MIN_MEMORY); - return crypto_pwhash_argon2i_MEMLIMIT_MIN; -} - -size_t -crypto_pwhash_argon2i_memlimit_max(void) -{ - COMPILER_ASSERT((crypto_pwhash_argon2i_MEMLIMIT_MAX / 1024U) <= ARGON2_MAX_MEMORY); - return crypto_pwhash_argon2i_MEMLIMIT_MAX; -} - -size_t -crypto_pwhash_argon2i_opslimit_interactive(void) -{ - return crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_argon2i_memlimit_interactive(void) -{ - return crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_argon2i_opslimit_moderate(void) -{ - return crypto_pwhash_argon2i_OPSLIMIT_MODERATE; -} - -size_t -crypto_pwhash_argon2i_memlimit_moderate(void) -{ - return crypto_pwhash_argon2i_MEMLIMIT_MODERATE; -} - -size_t -crypto_pwhash_argon2i_opslimit_sensitive(void) -{ - return crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE; -} - -size_t -crypto_pwhash_argon2i_memlimit_sensitive(void) -{ - return crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE; -} - -int -crypto_pwhash_argon2i(unsigned char *const out, unsigned long long outlen, - const char *const passwd, unsigned long long passwdlen, - const unsigned char *const salt, - unsigned long long opslimit, size_t memlimit, int alg) -{ - memset(out, 0, outlen); - if (outlen > crypto_pwhash_argon2i_BYTES_MAX) { - errno = EFBIG; - return -1; - } - if (outlen < crypto_pwhash_argon2i_BYTES_MIN) { - errno = EINVAL; - return -1; - } - if (passwdlen > crypto_pwhash_argon2i_PASSWD_MAX || - opslimit > crypto_pwhash_argon2i_OPSLIMIT_MAX || - memlimit > crypto_pwhash_argon2i_MEMLIMIT_MAX) { - errno = EFBIG; - return -1; - } - if (passwdlen < crypto_pwhash_argon2i_PASSWD_MIN || - opslimit < crypto_pwhash_argon2i_OPSLIMIT_MIN || - memlimit < crypto_pwhash_argon2i_MEMLIMIT_MIN) { - errno = EINVAL; - return -1; - } - switch (alg) { - case crypto_pwhash_argon2i_ALG_ARGON2I13: - if (argon2i_hash_raw((uint32_t) opslimit, (uint32_t) (memlimit / 1024U), - (uint32_t) 1U, passwd, (size_t) passwdlen, salt, - (size_t) crypto_pwhash_argon2i_SALTBYTES, out, - (size_t) outlen) != ARGON2_OK) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; - default: - errno = EINVAL; - return -1; - } -} - -int -crypto_pwhash_argon2i_str(char out[crypto_pwhash_argon2i_STRBYTES], - const char *const passwd, - unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) -{ - unsigned char salt[crypto_pwhash_argon2i_SALTBYTES]; - - memset(out, 0, crypto_pwhash_argon2i_STRBYTES); - if (passwdlen > crypto_pwhash_argon2i_PASSWD_MAX || - opslimit > crypto_pwhash_argon2i_OPSLIMIT_MAX || - memlimit > crypto_pwhash_argon2i_MEMLIMIT_MAX) { - errno = EFBIG; - return -1; - } - if (passwdlen < crypto_pwhash_argon2i_PASSWD_MIN || - opslimit < crypto_pwhash_argon2i_OPSLIMIT_MIN || - memlimit < crypto_pwhash_argon2i_MEMLIMIT_MIN) { - errno = EINVAL; - return -1; - } - randombytes_buf(salt, sizeof salt); - if (argon2i_hash_encoded((uint32_t) opslimit, (uint32_t) (memlimit / 1024U), - (uint32_t) 1U, passwd, (size_t) passwdlen, salt, - sizeof salt, STR_HASHBYTES, out, - crypto_pwhash_argon2i_STRBYTES) != ARGON2_OK) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} - -int -crypto_pwhash_argon2i_str_verify(const char str[crypto_pwhash_argon2i_STRBYTES], - const char *const passwd, - unsigned long long passwdlen) -{ - int verify_ret; - - if (passwdlen > crypto_pwhash_argon2i_PASSWD_MAX) { - errno = EFBIG; - return -1; - } - /* LCOV_EXCL_START */ - if (passwdlen < crypto_pwhash_argon2i_PASSWD_MIN) { - errno = EINVAL; - return -1; - } - /* LCOV_EXCL_STOP */ - - verify_ret = argon2i_verify(str, passwd, (size_t) passwdlen); - if (verify_ret == ARGON2_OK) { - return 0; - } - if (verify_ret == ARGON2_VERIFY_MISMATCH) { - errno = EINVAL; - } - return -1; -} - -static int -_needs_rehash(const char *str, unsigned long long opslimit, size_t memlimit, - argon2_type type) -{ - unsigned char *fodder; - argon2_context ctx; - size_t fodder_len; - int ret = -1; - - fodder_len = strlen(str); - memlimit /= 1024U; - if (opslimit > UINT32_MAX || memlimit > UINT32_MAX || - fodder_len >= crypto_pwhash_STRBYTES) { - errno = EINVAL; - return -1; - } - memset(&ctx, 0, sizeof ctx); - if ((fodder = (unsigned char *) calloc(fodder_len, 1U)) == NULL) { - return -1; /* LCOV_EXCL_LINE */ - } - ctx.out = ctx.pwd = ctx.salt = fodder; - ctx.outlen = ctx.pwdlen = ctx.saltlen = (uint32_t) fodder_len; - ctx.ad = ctx.secret = NULL; - ctx.adlen = ctx.secretlen = 0U; - if (decode_string(&ctx, str, type) != 0) { - errno = EINVAL; - ret = -1; - } else if (ctx.t_cost != (uint32_t) opslimit || - ctx.m_cost != (uint32_t) memlimit) { - ret = 1; - } else { - ret = 0; - } - free(fodder); - - return ret; -} - -int -crypto_pwhash_argon2i_str_needs_rehash(const char str[crypto_pwhash_argon2i_STRBYTES], - unsigned long long opslimit, size_t memlimit) -{ - return _needs_rehash(str, opslimit, memlimit, Argon2_i); -} - -int -crypto_pwhash_argon2id_str_needs_rehash(const char str[crypto_pwhash_argon2id_STRBYTES], - unsigned long long opslimit, size_t memlimit) -{ - return _needs_rehash(str, opslimit, memlimit, Argon2_id); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c deleted file mode 100644 index 99d3e21..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c +++ /dev/null @@ -1,234 +0,0 @@ - -#include -#include -#include -#include -#include - -#include "argon2-core.h" -#include "argon2.h" -#include "crypto_pwhash_argon2id.h" -#include "private/common.h" -#include "randombytes.h" -#include "utils.h" - -#define STR_HASHBYTES 32U - -int -crypto_pwhash_argon2id_alg_argon2id13(void) -{ - return crypto_pwhash_argon2id_ALG_ARGON2ID13; -} - -size_t -crypto_pwhash_argon2id_bytes_min(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2id_BYTES_MIN >= ARGON2_MIN_OUTLEN); - return crypto_pwhash_argon2id_BYTES_MIN; -} - -size_t -crypto_pwhash_argon2id_bytes_max(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2id_BYTES_MAX <= ARGON2_MAX_OUTLEN); - return crypto_pwhash_argon2id_BYTES_MAX; -} - -size_t -crypto_pwhash_argon2id_passwd_min(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2id_PASSWD_MIN >= ARGON2_MIN_PWD_LENGTH); - return crypto_pwhash_argon2id_PASSWD_MIN; -} - -size_t -crypto_pwhash_argon2id_passwd_max(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2id_PASSWD_MAX <= ARGON2_MAX_PWD_LENGTH); - return crypto_pwhash_argon2id_PASSWD_MAX; -} - -size_t -crypto_pwhash_argon2id_saltbytes(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2id_SALTBYTES >= ARGON2_MIN_SALT_LENGTH); - COMPILER_ASSERT(crypto_pwhash_argon2id_SALTBYTES <= ARGON2_MAX_SALT_LENGTH); - return crypto_pwhash_argon2id_SALTBYTES; -} - -size_t -crypto_pwhash_argon2id_strbytes(void) -{ - return crypto_pwhash_argon2id_STRBYTES; -} - -const char* -crypto_pwhash_argon2id_strprefix(void) -{ - return crypto_pwhash_argon2id_STRPREFIX; -} - -size_t -crypto_pwhash_argon2id_opslimit_min(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2id_OPSLIMIT_MIN >= ARGON2_MIN_TIME); - return crypto_pwhash_argon2id_OPSLIMIT_MIN; -} - -size_t -crypto_pwhash_argon2id_opslimit_max(void) -{ - COMPILER_ASSERT(crypto_pwhash_argon2id_OPSLIMIT_MAX <= ARGON2_MAX_TIME); - return crypto_pwhash_argon2id_OPSLIMIT_MAX; -} - -size_t -crypto_pwhash_argon2id_memlimit_min(void) -{ - COMPILER_ASSERT((crypto_pwhash_argon2id_MEMLIMIT_MIN / 1024U) >= ARGON2_MIN_MEMORY); - return crypto_pwhash_argon2id_MEMLIMIT_MIN; -} - -size_t -crypto_pwhash_argon2id_memlimit_max(void) -{ - COMPILER_ASSERT((crypto_pwhash_argon2id_MEMLIMIT_MAX / 1024U) <= ARGON2_MAX_MEMORY); - return crypto_pwhash_argon2id_MEMLIMIT_MAX; -} - -size_t -crypto_pwhash_argon2id_opslimit_interactive(void) -{ - return crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_argon2id_memlimit_interactive(void) -{ - return crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_argon2id_opslimit_moderate(void) -{ - return crypto_pwhash_argon2id_OPSLIMIT_MODERATE; -} - -size_t -crypto_pwhash_argon2id_memlimit_moderate(void) -{ - return crypto_pwhash_argon2id_MEMLIMIT_MODERATE; -} - -size_t -crypto_pwhash_argon2id_opslimit_sensitive(void) -{ - return crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE; -} - -size_t -crypto_pwhash_argon2id_memlimit_sensitive(void) -{ - return crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE; -} - -int -crypto_pwhash_argon2id(unsigned char *const out, unsigned long long outlen, - const char *const passwd, unsigned long long passwdlen, - const unsigned char *const salt, - unsigned long long opslimit, size_t memlimit, int alg) -{ - memset(out, 0, outlen); - if (outlen > crypto_pwhash_argon2id_BYTES_MAX) { - errno = EFBIG; - return -1; - } - if (outlen < crypto_pwhash_argon2id_BYTES_MIN) { - errno = EINVAL; - return -1; - } - if (passwdlen > crypto_pwhash_argon2id_PASSWD_MAX || - opslimit > crypto_pwhash_argon2id_OPSLIMIT_MAX || - memlimit > crypto_pwhash_argon2id_MEMLIMIT_MAX) { - errno = EFBIG; - return -1; - } - if (passwdlen < crypto_pwhash_argon2id_PASSWD_MIN || - opslimit < crypto_pwhash_argon2id_OPSLIMIT_MIN || - memlimit < crypto_pwhash_argon2id_MEMLIMIT_MIN) { - errno = EINVAL; - return -1; - } - switch (alg) { - case crypto_pwhash_argon2id_ALG_ARGON2ID13: - if (argon2id_hash_raw((uint32_t) opslimit, (uint32_t) (memlimit / 1024U), - (uint32_t) 1U, passwd, (size_t) passwdlen, salt, - (size_t) crypto_pwhash_argon2id_SALTBYTES, out, - (size_t) outlen) != ARGON2_OK) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; - default: - errno = EINVAL; - return -1; - } -} - -int -crypto_pwhash_argon2id_str(char out[crypto_pwhash_argon2id_STRBYTES], - const char *const passwd, - unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) -{ - unsigned char salt[crypto_pwhash_argon2id_SALTBYTES]; - - memset(out, 0, crypto_pwhash_argon2id_STRBYTES); - if (passwdlen > crypto_pwhash_argon2id_PASSWD_MAX || - opslimit > crypto_pwhash_argon2id_OPSLIMIT_MAX || - memlimit > crypto_pwhash_argon2id_MEMLIMIT_MAX) { - errno = EFBIG; - return -1; - } - if (passwdlen < crypto_pwhash_argon2id_PASSWD_MIN || - opslimit < crypto_pwhash_argon2id_OPSLIMIT_MIN || - memlimit < crypto_pwhash_argon2id_MEMLIMIT_MIN) { - errno = EINVAL; - return -1; - } - randombytes_buf(salt, sizeof salt); - if (argon2id_hash_encoded((uint32_t) opslimit, (uint32_t) (memlimit / 1024U), - (uint32_t) 1U, passwd, (size_t) passwdlen, salt, - sizeof salt, STR_HASHBYTES, out, - crypto_pwhash_argon2id_STRBYTES) != ARGON2_OK) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} - -int -crypto_pwhash_argon2id_str_verify(const char str[crypto_pwhash_argon2id_STRBYTES], - const char *const passwd, - unsigned long long passwdlen) -{ - int verify_ret; - - if (passwdlen > crypto_pwhash_argon2id_PASSWD_MAX) { - errno = EFBIG; - return -1; - } - /* LCOV_EXCL_START */ - if (passwdlen < crypto_pwhash_argon2id_PASSWD_MIN) { - errno = EINVAL; - return -1; - } - /* LCOV_EXCL_STOP */ - - verify_ret = argon2id_verify(str, passwd, (size_t) passwdlen); - if (verify_ret == ARGON2_OK) { - return 0; - } - if (verify_ret == ARGON2_VERIFY_MISMATCH) { - errno = EINVAL; - } - return -1; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/crypto_pwhash.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/crypto_pwhash.c deleted file mode 100644 index a229b9f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/crypto_pwhash.c +++ /dev/null @@ -1,212 +0,0 @@ - -#include -#include - -#include "core.h" -#include "crypto_pwhash.h" - -int -crypto_pwhash_alg_argon2i13(void) -{ - return crypto_pwhash_ALG_ARGON2I13; -} - -int -crypto_pwhash_alg_argon2id13(void) -{ - return crypto_pwhash_ALG_ARGON2ID13; -} - -int -crypto_pwhash_alg_default(void) -{ - return crypto_pwhash_ALG_DEFAULT; -} - -size_t -crypto_pwhash_bytes_min(void) -{ - return crypto_pwhash_BYTES_MIN; -} - -size_t -crypto_pwhash_bytes_max(void) -{ - return crypto_pwhash_BYTES_MAX; -} - -size_t -crypto_pwhash_passwd_min(void) -{ - return crypto_pwhash_PASSWD_MIN; -} - -size_t -crypto_pwhash_passwd_max(void) -{ - return crypto_pwhash_PASSWD_MAX; -} - -size_t -crypto_pwhash_saltbytes(void) -{ - return crypto_pwhash_SALTBYTES; -} - -size_t -crypto_pwhash_strbytes(void) -{ - return crypto_pwhash_STRBYTES; -} - -const char * -crypto_pwhash_strprefix(void) -{ - return crypto_pwhash_STRPREFIX; -} - -size_t -crypto_pwhash_opslimit_min(void) -{ - return crypto_pwhash_OPSLIMIT_MIN; -} - -size_t -crypto_pwhash_opslimit_max(void) -{ - return crypto_pwhash_OPSLIMIT_MAX; -} - -size_t -crypto_pwhash_memlimit_min(void) -{ - return crypto_pwhash_MEMLIMIT_MIN; -} - -size_t -crypto_pwhash_memlimit_max(void) -{ - return crypto_pwhash_MEMLIMIT_MAX; -} - -size_t -crypto_pwhash_opslimit_interactive(void) -{ - return crypto_pwhash_OPSLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_memlimit_interactive(void) -{ - return crypto_pwhash_MEMLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_opslimit_moderate(void) -{ - return crypto_pwhash_OPSLIMIT_MODERATE; -} - -size_t -crypto_pwhash_memlimit_moderate(void) -{ - return crypto_pwhash_MEMLIMIT_MODERATE; -} - -size_t -crypto_pwhash_opslimit_sensitive(void) -{ - return crypto_pwhash_OPSLIMIT_SENSITIVE; -} - -size_t -crypto_pwhash_memlimit_sensitive(void) -{ - return crypto_pwhash_MEMLIMIT_SENSITIVE; -} - -int -crypto_pwhash(unsigned char * const out, unsigned long long outlen, - const char * const passwd, unsigned long long passwdlen, - const unsigned char * const salt, - unsigned long long opslimit, size_t memlimit, int alg) -{ - switch (alg) { - case crypto_pwhash_ALG_ARGON2I13: - return crypto_pwhash_argon2i(out, outlen, passwd, passwdlen, salt, - opslimit, memlimit, alg); - case crypto_pwhash_ALG_ARGON2ID13: - return crypto_pwhash_argon2id(out, outlen, passwd, passwdlen, salt, - opslimit, memlimit, alg); - default: - errno = EINVAL; - return -1; - } -} - -int -crypto_pwhash_str(char out[crypto_pwhash_STRBYTES], - const char * const passwd, unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) -{ - return crypto_pwhash_argon2id_str(out, passwd, passwdlen, - opslimit, memlimit); -} - -int -crypto_pwhash_str_alg(char out[crypto_pwhash_STRBYTES], - const char * const passwd, unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit, int alg) -{ - switch (alg) { - case crypto_pwhash_ALG_ARGON2I13: - return crypto_pwhash_argon2i_str(out, passwd, passwdlen, - opslimit, memlimit); - case crypto_pwhash_ALG_ARGON2ID13: - return crypto_pwhash_argon2id_str(out, passwd, passwdlen, - opslimit, memlimit); - } - sodium_misuse(); - /* NOTREACHED */ - return -1; -} - -int -crypto_pwhash_str_verify(const char str[crypto_pwhash_STRBYTES], - const char * const passwd, - unsigned long long passwdlen) -{ - if (strncmp(str, crypto_pwhash_argon2id_STRPREFIX, - sizeof crypto_pwhash_argon2id_STRPREFIX - 1) == 0) { - return crypto_pwhash_argon2id_str_verify(str, passwd, passwdlen); - } - if (strncmp(str, crypto_pwhash_argon2i_STRPREFIX, - sizeof crypto_pwhash_argon2i_STRPREFIX - 1) == 0) { - return crypto_pwhash_argon2i_str_verify(str, passwd, passwdlen); - } - errno = EINVAL; - - return -1; -} - -int -crypto_pwhash_str_needs_rehash(const char str[crypto_pwhash_STRBYTES], - unsigned long long opslimit, size_t memlimit) -{ - if (strncmp(str, crypto_pwhash_argon2id_STRPREFIX, - sizeof crypto_pwhash_argon2id_STRPREFIX - 1) == 0) { - return crypto_pwhash_argon2id_str_needs_rehash(str, opslimit, memlimit); - } - if (strncmp(str, crypto_pwhash_argon2i_STRPREFIX, - sizeof crypto_pwhash_argon2i_STRPREFIX - 1) == 0) { - return crypto_pwhash_argon2i_str_needs_rehash(str, opslimit, memlimit); - } - errno = EINVAL; - - return -1; -} - -const char * -crypto_pwhash_primitive(void) { - return crypto_pwhash_PRIMITIVE; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c deleted file mode 100644 index c4dd46a..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c +++ /dev/null @@ -1,263 +0,0 @@ -/*- - * Copyright 2013 Alexander Peslyak - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include - -#include "crypto_pwhash_scryptsalsa208sha256.h" -#include "crypto_scrypt.h" -#include "private/common.h" -#include "runtime.h" -#include "utils.h" - -static const char *const itoa64 = - "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - -static uint8_t * -encode64_uint32(uint8_t *dst, size_t dstlen, uint32_t src, uint32_t srcbits) -{ - uint32_t bit; - - for (bit = 0; bit < srcbits; bit += 6) { - if (dstlen < 1) { - return NULL; /* LCOV_EXCL_LINE */ - } - *dst++ = itoa64[src & 0x3f]; - dstlen--; - src >>= 6; - } - return dst; -} - -static uint8_t * -encode64(uint8_t *dst, size_t dstlen, const uint8_t *src, size_t srclen) -{ - size_t i; - - for (i = 0; i < srclen;) { - uint8_t *dnext; - uint32_t value = 0, bits = 0; - - do { - value |= (uint32_t) src[i++] << bits; - bits += 8; - } while (bits < 24 && i < srclen); - - dnext = encode64_uint32(dst, dstlen, value, bits); - if (!dnext) { - return NULL; /* LCOV_EXCL_LINE */ - } - dstlen -= dnext - dst; - dst = dnext; - } - return dst; -} - -static int -decode64_one(uint32_t *dst, uint8_t src) -{ - const char *ptr = strchr(itoa64, src); - - if (ptr) { - *dst = (uint32_t)(ptr - itoa64); - return 0; - } - *dst = 0; - - return -1; -} - -static const uint8_t * -decode64_uint32(uint32_t *dst, uint32_t dstbits, const uint8_t *src) -{ - uint32_t bit; - uint32_t value; - - value = 0; - for (bit = 0; bit < dstbits; bit += 6) { - uint32_t one; - if (decode64_one(&one, *src)) { - *dst = 0; - return NULL; - } - src++; - value |= one << bit; - } - *dst = value; - - return src; -} - -const uint8_t * -escrypt_parse_setting(const uint8_t *setting, - uint32_t *N_log2_p, uint32_t *r_p, uint32_t *p_p) -{ - const uint8_t *src; - - if (setting[0] != '$' || setting[1] != '7' || setting[2] != '$') { - return NULL; - } - src = setting + 3; - - if (decode64_one(N_log2_p, *src)) { - return NULL; - } - src++; - - src = decode64_uint32(r_p, 30, src); - if (!src) { - return NULL; - } - - src = decode64_uint32(p_p, 30, src); - if (!src) { - return NULL; - } - return src; -} - -uint8_t * -escrypt_r(escrypt_local_t *local, const uint8_t *passwd, size_t passwdlen, - const uint8_t *setting, uint8_t *buf, size_t buflen) -{ - uint8_t hash[crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES]; - escrypt_kdf_t escrypt_kdf; - const uint8_t *src; - const uint8_t *salt; - uint8_t *dst; - size_t prefixlen; - size_t saltlen; - size_t need; - uint64_t N; - uint32_t N_log2; - uint32_t r; - uint32_t p; - - src = escrypt_parse_setting(setting, &N_log2, &r, &p); - if (!src) { - return NULL; - } - N = (uint64_t) 1 << N_log2; - prefixlen = src - setting; - - salt = src; - src = (const uint8_t *) strrchr((const char *) salt, '$'); - if (src) { - saltlen = src - salt; - } else { - saltlen = strlen((const char *) salt); - } - need = prefixlen + saltlen + 1 + - crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES_ENCODED + 1; - if (need > buflen || need < saltlen) { - return NULL; - } -#ifdef HAVE_EMMINTRIN_H - escrypt_kdf = - sodium_runtime_has_sse2() ? escrypt_kdf_sse : escrypt_kdf_nosse; -#else - escrypt_kdf = escrypt_kdf_nosse; -#endif - if (escrypt_kdf(local, passwd, passwdlen, salt, saltlen, N, r, p, hash, - sizeof(hash))) { - return NULL; - } - dst = buf; - memcpy(dst, setting, prefixlen + saltlen); - dst += prefixlen + saltlen; - *dst++ = '$'; - - dst = encode64(dst, buflen - (dst - buf), hash, sizeof(hash)); - sodium_memzero(hash, sizeof hash); - if (!dst || dst >= buf + buflen) { - return NULL; /* Can't happen LCOV_EXCL_LINE */ - } - *dst = 0; /* NUL termination */ - - return buf; -} - -uint8_t * -escrypt_gensalt_r(uint32_t N_log2, uint32_t r, uint32_t p, const uint8_t *src, - size_t srclen, uint8_t *buf, size_t buflen) -{ - uint8_t *dst; - size_t prefixlen = - (sizeof "$7$" - 1U) + (1U /* N_log2 */) + (5U /* r */) + (5U /* p */); - size_t saltlen = BYTES2CHARS(srclen); - size_t need; - - need = prefixlen + saltlen + 1; - if (need > buflen || need < saltlen || saltlen < srclen) { - return NULL; /* LCOV_EXCL_LINE */ - } - if (N_log2 > 63 || ((uint64_t) r * (uint64_t) p >= (1U << 30))) { - return NULL; /* LCOV_EXCL_LINE */ - } - dst = buf; - *dst++ = '$'; - *dst++ = '7'; - *dst++ = '$'; - - *dst++ = itoa64[N_log2]; - - dst = encode64_uint32(dst, buflen - (dst - buf), r, 30); - if (!dst) { - return NULL; /* Can't happen LCOV_EXCL_LINE */ - } - dst = encode64_uint32(dst, buflen - (dst - buf), p, 30); - if (!dst) { - return NULL; /* Can't happen LCOV_EXCL_LINE */ - } - dst = encode64(dst, buflen - (dst - buf), src, srclen); - if (!dst || dst >= buf + buflen) { - return NULL; /* Can't happen LCOV_EXCL_LINE */ - } - *dst = 0; /* NUL termination */ - - return buf; -} - -int -crypto_pwhash_scryptsalsa208sha256_ll(const uint8_t *passwd, size_t passwdlen, - const uint8_t *salt, size_t saltlen, - uint64_t N, uint32_t r, uint32_t p, - uint8_t *buf, size_t buflen) -{ - escrypt_kdf_t escrypt_kdf; - escrypt_local_t local; - int retval; - - if (escrypt_init_local(&local)) { - return -1; /* LCOV_EXCL_LINE */ - } -#if defined(HAVE_EMMINTRIN_H) - escrypt_kdf = - sodium_runtime_has_sse2() ? escrypt_kdf_sse : escrypt_kdf_nosse; -#else - escrypt_kdf = escrypt_kdf_nosse; -#endif - retval = escrypt_kdf(&local, passwd, passwdlen, salt, saltlen, N, r, p, buf, - buflen); - if (escrypt_free_local(&local)) { - return -1; /* LCOV_EXCL_LINE */ - } - return retval; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h deleted file mode 100644 index 8310196..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +++ /dev/null @@ -1,98 +0,0 @@ -/*- - * Copyright 2009 Colin Percival - * Copyright 2013 Alexander Peslyak - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * This file was originally written by Colin Percival as part of the Tarsnap - * online backup system. - */ -#ifndef crypto_scrypt_H -#define crypto_scrypt_H - -#include -#include -#include - -#if SIZE_MAX > 0xffffffffULL -#define ARCH_BITS 64 -#else -#define ARCH_BITS 32 -#endif - -#define crypto_pwhash_scryptsalsa208sha256_STRPREFIXBYTES 14 -#define crypto_pwhash_scryptsalsa208sha256_STRSETTINGBYTES 57 -#define crypto_pwhash_scryptsalsa208sha256_STRSALTBYTES 32 -#define crypto_pwhash_scryptsalsa208sha256_STRSALTBYTES_ENCODED 43 -#define crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES 32 -#define crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES_ENCODED 43 - -#define BYTES2CHARS(bytes) ((((bytes) *8) + 5) / 6) - -typedef struct { - void * base, *aligned; - size_t size; -} escrypt_region_t; - -typedef union { - uint64_t d[8]; - uint32_t w[16]; -} escrypt_block_t; - -typedef escrypt_region_t escrypt_local_t; - -extern int escrypt_init_local(escrypt_local_t *__local); - -extern int escrypt_free_local(escrypt_local_t *__local); - -extern void *alloc_region(escrypt_region_t *region, size_t size); -extern int free_region(escrypt_region_t *region); - -typedef int (*escrypt_kdf_t)(escrypt_local_t *__local, const uint8_t *__passwd, - size_t __passwdlen, const uint8_t *__salt, - size_t __saltlen, uint64_t __N, uint32_t __r, - uint32_t __p, uint8_t *__buf, size_t __buflen); - -extern int escrypt_kdf_nosse(escrypt_local_t *__local, const uint8_t *__passwd, - size_t __passwdlen, const uint8_t *__salt, - size_t __saltlen, uint64_t __N, uint32_t __r, - uint32_t __p, uint8_t *__buf, size_t __buflen); - -extern int escrypt_kdf_sse(escrypt_local_t *__local, const uint8_t *__passwd, - size_t __passwdlen, const uint8_t *__salt, - size_t __saltlen, uint64_t __N, uint32_t __r, - uint32_t __p, uint8_t *__buf, size_t __buflen); - -extern uint8_t *escrypt_r(escrypt_local_t *__local, const uint8_t *__passwd, - size_t __passwdlen, const uint8_t *__setting, - uint8_t *__buf, size_t __buflen); - -extern uint8_t *escrypt_gensalt_r(uint32_t __N_log2, uint32_t __r, uint32_t __p, - const uint8_t *__src, size_t __srclen, - uint8_t *__buf, size_t __buflen); - -extern const uint8_t *escrypt_parse_setting(const uint8_t *setting, - uint32_t *N_log2_p, uint32_t *r_p, - uint32_t *p_p); - -#endif /* !_CRYPTO_SCRYPT_H_ */ diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c deleted file mode 100644 index 5bf0d70..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c +++ /dev/null @@ -1,383 +0,0 @@ -/*- - * Copyright 2009 Colin Percival - * Copyright 2013 Alexander Peslyak - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * This file was originally written by Colin Percival as part of the Tarsnap - * online backup system. - */ - -#include -#include -#include -#include -#include - -#include "../crypto_scrypt.h" -#include "../pbkdf2-sha256.h" -#include "private/common.h" - -static inline void -blkcpy_64(escrypt_block_t *dest, const escrypt_block_t *src) -{ - int i; - -#if (ARCH_BITS == 32) - for (i = 0; i < 16; ++i) { - dest->w[i] = src->w[i]; - } -#else - for (i = 0; i < 8; ++i) { - dest->d[i] = src->d[i]; - } -#endif -} - -static inline void -blkxor_64(escrypt_block_t *dest, const escrypt_block_t *src) -{ - int i; - -#if (ARCH_BITS == 32) - for (i = 0; i < 16; ++i) { - dest->w[i] ^= src->w[i]; - } -#else - for (i = 0; i < 8; ++i) { - dest->d[i] ^= src->d[i]; - } -#endif -} - -static inline void -blkcpy(escrypt_block_t *dest, const escrypt_block_t *src, size_t len) -{ - size_t i, L; - -#if (ARCH_BITS == 32) - L = (len >> 2); - for (i = 0; i < L; ++i) { - dest->w[i] = src->w[i]; - } -#else - L = (len >> 3); - for (i = 0; i < L; ++i) { - dest->d[i] = src->d[i]; - } -#endif -} - -static inline void -blkxor(escrypt_block_t *dest, const escrypt_block_t *src, size_t len) -{ - size_t i, L; - -#if (ARCH_BITS == 32) - L = (len >> 2); - for (i = 0; i < L; ++i) { - dest->w[i] ^= src->w[i]; - } -#else - L = (len >> 3); - for (i = 0; i < L; ++i) { - dest->d[i] ^= src->d[i]; - } -#endif -} - -/** - * salsa20_8(B): - * Apply the salsa20/8 core to the provided block. - */ -static void -salsa20_8(uint32_t B[16]) -{ - escrypt_block_t X; - uint32_t *x = X.w; - size_t i; - - blkcpy_64(&X, (escrypt_block_t *) B); - for (i = 0; i < 8; i += 2) { -#define R(a, b) (((a) << (b)) | ((a) >> (32 - (b)))) - /* Operate on columns. */ - x[4] ^= R(x[0] + x[12], 7); - x[8] ^= R(x[4] + x[0], 9); - x[12] ^= R(x[8] + x[4], 13); - x[0] ^= R(x[12] + x[8], 18); - - x[9] ^= R(x[5] + x[1], 7); - x[13] ^= R(x[9] + x[5], 9); - x[1] ^= R(x[13] + x[9], 13); - x[5] ^= R(x[1] + x[13], 18); - - x[14] ^= R(x[10] + x[6], 7); - x[2] ^= R(x[14] + x[10], 9); - x[6] ^= R(x[2] + x[14], 13); - x[10] ^= R(x[6] + x[2], 18); - - x[3] ^= R(x[15] + x[11], 7); - x[7] ^= R(x[3] + x[15], 9); - x[11] ^= R(x[7] + x[3], 13); - x[15] ^= R(x[11] + x[7], 18); - - /* Operate on rows. */ - x[1] ^= R(x[0] + x[3], 7); - x[2] ^= R(x[1] + x[0], 9); - x[3] ^= R(x[2] + x[1], 13); - x[0] ^= R(x[3] + x[2], 18); - - x[6] ^= R(x[5] + x[4], 7); - x[7] ^= R(x[6] + x[5], 9); - x[4] ^= R(x[7] + x[6], 13); - x[5] ^= R(x[4] + x[7], 18); - - x[11] ^= R(x[10] + x[9], 7); - x[8] ^= R(x[11] + x[10], 9); - x[9] ^= R(x[8] + x[11], 13); - x[10] ^= R(x[9] + x[8], 18); - - x[12] ^= R(x[15] + x[14], 7); - x[13] ^= R(x[12] + x[15], 9); - x[14] ^= R(x[13] + x[12], 13); - x[15] ^= R(x[14] + x[13], 18); -#undef R - } - for (i = 0; i < 16; i++) { - B[i] += x[i]; - } -} - -/** - * blockmix_salsa8(Bin, Bout, X, r): - * Compute Bout = BlockMix_{salsa20/8, r}(Bin). The input Bin must be 128r - * bytes in length; the output Bout must also be the same size. The - * temporary space X must be 64 bytes. - */ -static void -blockmix_salsa8(const uint32_t *Bin, uint32_t *Bout, uint32_t *X, size_t r) -{ - size_t i; - - /* 1: X <-- B_{2r - 1} */ - blkcpy_64((escrypt_block_t *) X, - (const escrypt_block_t *) &Bin[(2 * r - 1) * 16]); - - /* 2: for i = 0 to 2r - 1 do */ - for (i = 0; i < 2 * r; i += 2) { - /* 3: X <-- H(X \xor B_i) */ - blkxor_64((escrypt_block_t *) X, - (const escrypt_block_t *) &Bin[i * 16]); - salsa20_8(X); - - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - blkcpy_64((escrypt_block_t *) &Bout[i * 8], - (const escrypt_block_t *) X); - - /* 3: X <-- H(X \xor B_i) */ - blkxor_64((escrypt_block_t *) X, - (const escrypt_block_t *) &Bin[i * 16 + 16]); - salsa20_8(X); - - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - blkcpy_64((escrypt_block_t *) &Bout[i * 8 + r * 16], - (escrypt_block_t *) X); - } -} - -/** - * integerify(B, r): - * Return the result of parsing B_{2r-1} as a little-endian integer. - */ -static inline uint64_t -integerify(const void *B, size_t r) -{ - const uint32_t *X = (const uint32_t *) ((uintptr_t)(B) + (2 * r - 1) * 64); - - return (((uint64_t)(X[1]) << 32) + X[0]); -} - -/** - * smix(B, r, N, V, XY): - * Compute B = SMix_r(B, N). The input B must be 128r bytes in length; - * the temporary storage V must be 128rN bytes in length; the temporary - * storage XY must be 256r + 64 bytes in length. The value N must be a - * power of 2 greater than 1. The arrays B, V, and XY must be aligned to a - * multiple of 64 bytes. - */ -static void -smix(uint8_t *B, size_t r, uint64_t N, uint32_t *V, uint32_t *XY) -{ - uint32_t *X = XY; - uint32_t *Y = &XY[32 * r]; - uint32_t *Z = &XY[64 * r]; - uint64_t i; - uint64_t j; - size_t k; - - /* 1: X <-- B */ - for (k = 0; k < 32 * r; k++) { - X[k] = LOAD32_LE(&B[4 * k]); - } - /* 2: for i = 0 to N - 1 do */ - for (i = 0; i < N; i += 2) { - /* 3: V_i <-- X */ - blkcpy((escrypt_block_t *) &V[i * (32 * r)], (escrypt_block_t *) X, - 128 * r); - - /* 4: X <-- H(X) */ - blockmix_salsa8(X, Y, Z, r); - - /* 3: V_i <-- X */ - blkcpy((escrypt_block_t *) &V[(i + 1) * (32 * r)], - (escrypt_block_t *) Y, 128 * r); - - /* 4: X <-- H(X) */ - blockmix_salsa8(Y, X, Z, r); - } - - /* 6: for i = 0 to N - 1 do */ - for (i = 0; i < N; i += 2) { - /* 7: j <-- Integerify(X) mod N */ - j = integerify(X, r) & (N - 1); - - /* 8: X <-- H(X \xor V_j) */ - blkxor((escrypt_block_t *) X, (escrypt_block_t *) &V[j * (32 * r)], - 128 * r); - blockmix_salsa8(X, Y, Z, r); - - /* 7: j <-- Integerify(X) mod N */ - j = integerify(Y, r) & (N - 1); - - /* 8: X <-- H(X \xor V_j) */ - blkxor((escrypt_block_t *) Y, (escrypt_block_t *) &V[j * (32 * r)], - 128 * r); - blockmix_salsa8(Y, X, Z, r); - } - /* 10: B' <-- X */ - for (k = 0; k < 32 * r; k++) { - STORE32_LE(&B[4 * k], X[k]); - } -} - -/** - * escrypt_kdf(local, passwd, passwdlen, salt, saltlen, - * N, r, p, buf, buflen): - * Compute scrypt(passwd[0 .. passwdlen - 1], salt[0 .. saltlen - 1], N, r, - * p, buflen) and write the result into buf. The parameters r, p, and buflen - * must satisfy r * p < 2^30 and buflen <= (2^32 - 1) * 32. The parameter N - * must be a power of 2 greater than 1. - * - * Return 0 on success; or -1 on error. - */ -int -escrypt_kdf_nosse(escrypt_local_t *local, const uint8_t *passwd, - size_t passwdlen, const uint8_t *salt, size_t saltlen, - uint64_t N, uint32_t _r, uint32_t _p, uint8_t *buf, - size_t buflen) -{ - size_t B_size, V_size, XY_size, need; - uint8_t * B; - uint32_t *V, *XY; - size_t r = _r, p = _p; - uint32_t i; - -/* Sanity-check parameters. */ - if (r == 0 || p == 0) { - errno = EINVAL; - return -1; - } -#if SIZE_MAX > UINT32_MAX - if (buflen > (((uint64_t)(1) << 32) - 1) * 32) { - errno = EFBIG; - return -1; - } -#endif - if ((uint64_t)(r) * (uint64_t)(p) >= ((uint64_t) 1 << 30)) { - errno = EFBIG; - return -1; - } - if (N > UINT32_MAX) { - errno = EFBIG; - return -1; - } - if (((N & (N - 1)) != 0) || (N < 2)) { - errno = EINVAL; - return -1; - } - if (r == 0 || p == 0) { - errno = EINVAL; - return -1; - } - if ((r > SIZE_MAX / 128 / p) || -#if SIZE_MAX / 256 <= UINT32_MAX - (r > SIZE_MAX / 256) || -#endif - (N > SIZE_MAX / 128 / r)) { - errno = ENOMEM; - return -1; - } - - /* Allocate memory. */ - B_size = (size_t) 128 * r * p; - V_size = (size_t) 128 * r * (size_t) N; - need = B_size + V_size; - if (need < V_size) { - errno = ENOMEM; - return -1; - } - XY_size = (size_t) 256 * r + 64; - need += XY_size; - if (need < XY_size) { - errno = ENOMEM; - return -1; - } - if (local->size < need) { - if (free_region(local)) { - return -1; - } - if (!alloc_region(local, need)) { - return -1; - } - } - B = (uint8_t *) local->aligned; - V = (uint32_t *) ((uint8_t *) B + B_size); - XY = (uint32_t *) ((uint8_t *) V + V_size); - - /* 1: (B_0 ... B_{p-1}) <-- PBKDF2(P, S, 1, p * MFLen) */ - PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, 1, B, B_size); - - /* 2: for i = 0 to p - 1 do */ - for (i = 0; i < p; i++) { - /* 3: B_i <-- MF(B_i, N) */ - smix(&B[(size_t) 128 * i * r], r, N, V, XY); - } - - /* 5: DK <-- PBKDF2(P, B, 1, dkLen) */ - PBKDF2_SHA256(passwd, passwdlen, B, B_size, 1, buf, buflen); - - /* Success! */ - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c deleted file mode 100644 index 42cab61..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c +++ /dev/null @@ -1,95 +0,0 @@ -/*- - * Copyright 2005,2007,2009 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include - -#include - -#include "core.h" -#include "crypto_auth_hmacsha256.h" -#include "crypto_pwhash_scryptsalsa208sha256.h" -#include "pbkdf2-sha256.h" -#include "private/common.h" -#include "utils.h" - -/** - * PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, c, buf, dkLen): - * Compute PBKDF2(passwd, salt, c, dkLen) using HMAC-SHA256 as the PRF, and - * write the output to buf. The value dkLen must be at most 32 * (2^32 - 1). - */ -void -PBKDF2_SHA256(const uint8_t *passwd, size_t passwdlen, const uint8_t *salt, - size_t saltlen, uint64_t c, uint8_t *buf, size_t dkLen) -{ - crypto_auth_hmacsha256_state PShctx, hctx; - size_t i; - uint8_t ivec[4]; - uint8_t U[32]; - uint8_t T[32]; - uint64_t j; - int k; - size_t clen; - -#if SIZE_MAX > 0x1fffffffe0ULL - COMPILER_ASSERT(crypto_pwhash_scryptsalsa208sha256_BYTES_MAX - <= 0x1fffffffe0ULL); - if (dkLen > 0x1fffffffe0ULL) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } -#endif - crypto_auth_hmacsha256_init(&PShctx, passwd, passwdlen); - crypto_auth_hmacsha256_update(&PShctx, salt, saltlen); - - for (i = 0; i * 32 < dkLen; i++) { - STORE32_BE(ivec, (uint32_t)(i + 1)); - memcpy(&hctx, &PShctx, sizeof(crypto_auth_hmacsha256_state)); - crypto_auth_hmacsha256_update(&hctx, ivec, 4); - crypto_auth_hmacsha256_final(&hctx, U); - - memcpy(T, U, 32); - /* LCOV_EXCL_START */ - for (j = 2; j <= c; j++) { - crypto_auth_hmacsha256_init(&hctx, passwd, passwdlen); - crypto_auth_hmacsha256_update(&hctx, U, 32); - crypto_auth_hmacsha256_final(&hctx, U); - - for (k = 0; k < 32; k++) { - T[k] ^= U[k]; - } - } - /* LCOV_EXCL_STOP */ - - clen = dkLen - i * 32; - if (clen > 32) { - clen = 32; - } - memcpy(&buf[i * 32], T, clen); - } - sodium_memzero((void *) &PShctx, sizeof PShctx); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h deleted file mode 100644 index f9598c8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * Copyright 2005,2007,2009 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#ifndef pbkdf2_sha256_H -#define pbkdf2_sha256_H - -#include - -#include - -#include "crypto_auth_hmacsha256.h" - -/** - * PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, c, buf, dkLen): - * Compute PBKDF2(passwd, salt, c, dkLen) using HMAC-SHA256 as the PRF, and - * write the output to buf. The value dkLen must be at most 32 * (2^32 - 1). - */ -void PBKDF2_SHA256(const uint8_t *, size_t, const uint8_t *, size_t, uint64_t, - uint8_t *, size_t); - -#endif /* !_SHA256_H_ */ diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c deleted file mode 100644 index b77588f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c +++ /dev/null @@ -1,296 +0,0 @@ - -#include -#include -#include -#include -#include - -#include "crypto_pwhash_scryptsalsa208sha256.h" -#include "crypto_scrypt.h" -#include "private/common.h" -#include "randombytes.h" -#include "utils.h" - -#define SETTING_SIZE(saltbytes) \ - ((sizeof "$7$" - 1U) + (1U /* N_log2 */) + (5U /* r */) + (5U /* p */) + \ - BYTES2CHARS(saltbytes)) - -static int -pickparams(unsigned long long opslimit, const size_t memlimit, - uint32_t *const N_log2, uint32_t *const p, uint32_t *const r) -{ - unsigned long long maxN; - unsigned long long maxrp; - - if (opslimit < 32768) { - opslimit = 32768; - } - *r = 8; - if (opslimit < memlimit / 32) { - *p = 1; - maxN = opslimit / (*r * 4); - for (*N_log2 = 1; *N_log2 < 63; *N_log2 += 1) { - if ((uint64_t)(1) << *N_log2 > maxN / 2) { - break; - } - } - } else { - maxN = memlimit / ((size_t) *r * 128); - for (*N_log2 = 1; *N_log2 < 63; *N_log2 += 1) { - if ((uint64_t)(1) << *N_log2 > maxN / 2) { - break; - } - } - maxrp = (opslimit / 4) / ((uint64_t)(1) << *N_log2); - /* LCOV_EXCL_START */ - if (maxrp > 0x3fffffff) { - maxrp = 0x3fffffff; - } - /* LCOV_EXCL_STOP */ - *p = (uint32_t)(maxrp) / *r; - } - return 0; -} - -static size_t -sodium_strnlen(const char *str, size_t maxlen) -{ - size_t i = 0U; - - while (i < maxlen && str[i] != 0) { - i++; - } - return i; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_bytes_min(void) -{ - return crypto_pwhash_scryptsalsa208sha256_BYTES_MIN; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_bytes_max(void) -{ - return crypto_pwhash_scryptsalsa208sha256_BYTES_MAX; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_passwd_min(void) -{ - return crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_passwd_max(void) -{ - return crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_saltbytes(void) -{ - return crypto_pwhash_scryptsalsa208sha256_SALTBYTES; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_strbytes(void) -{ - return crypto_pwhash_scryptsalsa208sha256_STRBYTES; -} - -const char * -crypto_pwhash_scryptsalsa208sha256_strprefix(void) -{ - return crypto_pwhash_scryptsalsa208sha256_STRPREFIX; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_opslimit_min(void) -{ - return crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_opslimit_max(void) -{ - return crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_memlimit_min(void) -{ - return crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_memlimit_max(void) -{ - return crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_opslimit_interactive(void) -{ - return crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_memlimit_interactive(void) -{ - return crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive(void) -{ - return crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive(void) -{ - return crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE; -} - -int -crypto_pwhash_scryptsalsa208sha256(unsigned char *const out, - unsigned long long outlen, - const char *const passwd, - unsigned long long passwdlen, - const unsigned char *const salt, - unsigned long long opslimit, size_t memlimit) -{ - uint32_t N_log2; - uint32_t p; - uint32_t r; - - memset(out, 0, outlen); - if (passwdlen > crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX || - outlen > crypto_pwhash_scryptsalsa208sha256_BYTES_MAX) { - errno = EFBIG; /* LCOV_EXCL_LINE */ - return -1; /* LCOV_EXCL_LINE */ - } - if (outlen < crypto_pwhash_scryptsalsa208sha256_BYTES_MIN || - pickparams(opslimit, memlimit, &N_log2, &p, &r) != 0) { - errno = EINVAL; /* LCOV_EXCL_LINE */ - return -1; /* LCOV_EXCL_LINE */ - } - return crypto_pwhash_scryptsalsa208sha256_ll( - (const uint8_t *) passwd, (size_t) passwdlen, (const uint8_t *) salt, - crypto_pwhash_scryptsalsa208sha256_SALTBYTES, (uint64_t)(1) << N_log2, - r, p, out, (size_t) outlen); -} - -int -crypto_pwhash_scryptsalsa208sha256_str( - char out[crypto_pwhash_scryptsalsa208sha256_STRBYTES], - const char *const passwd, unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) -{ - uint8_t salt[crypto_pwhash_scryptsalsa208sha256_STRSALTBYTES]; - char setting[crypto_pwhash_scryptsalsa208sha256_STRSETTINGBYTES + 1U]; - escrypt_local_t escrypt_local; - uint32_t N_log2; - uint32_t p; - uint32_t r; - - memset(out, 0, crypto_pwhash_scryptsalsa208sha256_STRBYTES); - if (passwdlen > crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX) { - errno = EFBIG; /* LCOV_EXCL_LINE */ - return -1; /* LCOV_EXCL_LINE */ - } - if (passwdlen < crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN || - pickparams(opslimit, memlimit, &N_log2, &p, &r) != 0) { - errno = EINVAL; /* LCOV_EXCL_LINE */ - return -1; /* LCOV_EXCL_LINE */ - } - randombytes_buf(salt, sizeof salt); - if (escrypt_gensalt_r(N_log2, r, p, salt, sizeof salt, (uint8_t *) setting, - sizeof setting) == NULL) { - errno = EINVAL; /* LCOV_EXCL_LINE */ - return -1; /* LCOV_EXCL_LINE */ - } - if (escrypt_init_local(&escrypt_local) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - if (escrypt_r(&escrypt_local, (const uint8_t *) passwd, (size_t) passwdlen, - (const uint8_t *) setting, (uint8_t *) out, - crypto_pwhash_scryptsalsa208sha256_STRBYTES) == NULL) { - /* LCOV_EXCL_START */ - escrypt_free_local(&escrypt_local); - errno = EINVAL; - return -1; - /* LCOV_EXCL_STOP */ - } - escrypt_free_local(&escrypt_local); - - COMPILER_ASSERT( - SETTING_SIZE(crypto_pwhash_scryptsalsa208sha256_STRSALTBYTES) == - crypto_pwhash_scryptsalsa208sha256_STRSETTINGBYTES); - COMPILER_ASSERT( - crypto_pwhash_scryptsalsa208sha256_STRSETTINGBYTES + 1U + - crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES_ENCODED + 1U == - crypto_pwhash_scryptsalsa208sha256_STRBYTES); - - return 0; -} - -int -crypto_pwhash_scryptsalsa208sha256_str_verify( - const char str[crypto_pwhash_scryptsalsa208sha256_STRBYTES], - const char *const passwd, unsigned long long passwdlen) -{ - char wanted[crypto_pwhash_scryptsalsa208sha256_STRBYTES]; - escrypt_local_t escrypt_local; - int ret = -1; - - if (sodium_strnlen(str, crypto_pwhash_scryptsalsa208sha256_STRBYTES) != - crypto_pwhash_scryptsalsa208sha256_STRBYTES - 1U) { - return -1; - } - if (escrypt_init_local(&escrypt_local) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - memset(wanted, 0, sizeof wanted); - if (escrypt_r(&escrypt_local, (const uint8_t *) passwd, (size_t) passwdlen, - (const uint8_t *) str, (uint8_t *) wanted, - sizeof wanted) == NULL) { - escrypt_free_local(&escrypt_local); - return -1; - } - escrypt_free_local(&escrypt_local); - ret = sodium_memcmp(wanted, str, sizeof wanted); - sodium_memzero(wanted, sizeof wanted); - - return ret; -} - -int -crypto_pwhash_scryptsalsa208sha256_str_needs_rehash( - const char str[crypto_pwhash_scryptsalsa208sha256_STRBYTES], - unsigned long long opslimit, size_t memlimit) -{ - uint32_t N_log2, N_log2_; - uint32_t p, p_; - uint32_t r, r_; - - if (pickparams(opslimit, memlimit, &N_log2, &p, &r) != 0) { - errno = EINVAL; - return -1; - } - if (sodium_strnlen(str, crypto_pwhash_scryptsalsa208sha256_STRBYTES) != - crypto_pwhash_scryptsalsa208sha256_STRBYTES - 1U) { - errno = EINVAL; - return -1; - } - if (escrypt_parse_setting((const uint8_t *) str, - &N_log2_, &r_, &p_) == NULL) { - errno = EINVAL; - return -1; - } - if (N_log2 != N_log2_ || r != r_ || p != p_) { - return 1; - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c deleted file mode 100644 index cbd68aa..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +++ /dev/null @@ -1,108 +0,0 @@ -/*- - * Copyright 2013 Alexander Peslyak - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifdef HAVE_SYS_MMAN_H -#include -#endif -#include -#include - -#include "crypto_scrypt.h" -#include "runtime.h" - -#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS) -# define MAP_ANON MAP_ANONYMOUS -#endif -#ifndef MAP_NOCORE -# define MAP_NOCORE 0 -#endif -#ifndef MAP_POPULATE -# define MAP_POPULATE 0 -#endif - -void * -alloc_region(escrypt_region_t *region, size_t size) -{ - uint8_t *base, *aligned; -#if defined(MAP_ANON) && defined(HAVE_MMAP) - if ((base = (uint8_t *) mmap(NULL, size, PROT_READ | PROT_WRITE, - MAP_ANON | MAP_PRIVATE | MAP_NOCORE | MAP_POPULATE, - -1, 0)) == MAP_FAILED) { - base = NULL; /* LCOV_EXCL_LINE */ - } /* LCOV_EXCL_LINE */ - aligned = base; -#elif defined(HAVE_POSIX_MEMALIGN) - if ((errno = posix_memalign((void **) &base, 64, size)) != 0) { - base = NULL; - } - aligned = base; -#else - base = aligned = NULL; - if (size + 63 < size) { - errno = ENOMEM; - } else if ((base = (uint8_t *) malloc(size + 63)) != NULL) { - aligned = base + 63; - aligned -= (uintptr_t) aligned & 63; - } -#endif - region->base = base; - region->aligned = aligned; - region->size = base ? size : 0; - - return aligned; -} - -static inline void -init_region(escrypt_region_t *region) -{ - region->base = region->aligned = NULL; - region->size = 0; -} - -int -free_region(escrypt_region_t *region) -{ - if (region->base) { -#if defined(MAP_ANON) && defined(HAVE_MMAP) - if (munmap(region->base, region->size)) { - return -1; /* LCOV_EXCL_LINE */ - } -#else - free(region->base); -#endif - } - init_region(region); - - return 0; -} - -int -escrypt_init_local(escrypt_local_t *local) -{ - init_region(local); - - return 0; -} - -int -escrypt_free_local(escrypt_local_t *local) -{ - return free_region(local); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c deleted file mode 100644 index 688f2d3..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +++ /dev/null @@ -1,404 +0,0 @@ -/*- - * Copyright 2009 Colin Percival - * Copyright 2012,2013 Alexander Peslyak - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * This file was originally written by Colin Percival as part of the Tarsnap - * online backup system. - */ - -#include -#include -#include -#include -#include - -#include "private/common.h" -#include "private/sse2_64_32.h" - -#ifdef HAVE_EMMINTRIN_H - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# endif -# include -# if defined(__XOP__) && defined(DISABLED) -# include -# endif - -# include "../crypto_scrypt.h" -# include "../pbkdf2-sha256.h" - -# if defined(__XOP__) && defined(DISABLED) -# define ARX(out, in1, in2, s) \ - out = _mm_xor_si128(out, _mm_roti_epi32(_mm_add_epi32(in1, in2), s)); -# else -# define ARX(out, in1, in2, s) \ - { \ - __m128i T = _mm_add_epi32(in1, in2); \ - out = _mm_xor_si128(out, _mm_slli_epi32(T, s)); \ - out = _mm_xor_si128(out, _mm_srli_epi32(T, 32 - s)); \ - } -# endif - -# define SALSA20_2ROUNDS \ - /* Operate on "columns". */ \ - ARX(X1, X0, X3, 7) \ - ARX(X2, X1, X0, 9) \ - ARX(X3, X2, X1, 13) \ - ARX(X0, X3, X2, 18) \ - \ - /* Rearrange data. */ \ - X1 = _mm_shuffle_epi32(X1, 0x93); \ - X2 = _mm_shuffle_epi32(X2, 0x4E); \ - X3 = _mm_shuffle_epi32(X3, 0x39); \ - \ - /* Operate on "rows". */ \ - ARX(X3, X0, X1, 7) \ - ARX(X2, X3, X0, 9) \ - ARX(X1, X2, X3, 13) \ - ARX(X0, X1, X2, 18) \ - \ - /* Rearrange data. */ \ - X1 = _mm_shuffle_epi32(X1, 0x39); \ - X2 = _mm_shuffle_epi32(X2, 0x4E); \ - X3 = _mm_shuffle_epi32(X3, 0x93); - -/** - * Apply the salsa20/8 core to the block provided in (X0 ... X3) ^ (Z0 ... Z3). - */ -# define SALSA20_8_XOR(in, out) \ - { \ - __m128i Y0 = X0 = _mm_xor_si128(X0, (in)[0]); \ - __m128i Y1 = X1 = _mm_xor_si128(X1, (in)[1]); \ - __m128i Y2 = X2 = _mm_xor_si128(X2, (in)[2]); \ - __m128i Y3 = X3 = _mm_xor_si128(X3, (in)[3]); \ - SALSA20_2ROUNDS \ - SALSA20_2ROUNDS \ - SALSA20_2ROUNDS \ - SALSA20_2ROUNDS(out)[0] = X0 = _mm_add_epi32(X0, Y0); \ - (out)[1] = X1 = _mm_add_epi32(X1, Y1); \ - (out)[2] = X2 = _mm_add_epi32(X2, Y2); \ - (out)[3] = X3 = _mm_add_epi32(X3, Y3); \ - } - -/** - * blockmix_salsa8(Bin, Bout, r): - * Compute Bout = BlockMix_{salsa20/8, r}(Bin). The input Bin must be 128r - * bytes in length; the output Bout must also be the same size. - */ -static inline void -blockmix_salsa8(const __m128i *Bin, __m128i *Bout, size_t r) -{ - __m128i X0, X1, X2, X3; - size_t i; - - /* 1: X <-- B_{2r - 1} */ - X0 = Bin[8 * r - 4]; - X1 = Bin[8 * r - 3]; - X2 = Bin[8 * r - 2]; - X3 = Bin[8 * r - 1]; - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - SALSA20_8_XOR(Bin, Bout) - - /* 2: for i = 0 to 2r - 1 do */ - r--; - for (i = 0; i < r;) { - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - SALSA20_8_XOR(&Bin[i * 8 + 4], &Bout[(r + i) * 4 + 4]) - - i++; - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - SALSA20_8_XOR(&Bin[i * 8], &Bout[i * 4]) - } - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - SALSA20_8_XOR(&Bin[i * 8 + 4], &Bout[(r + i) * 4 + 4]) -} - -# define XOR4(in) \ - X0 = _mm_xor_si128(X0, (in)[0]); \ - X1 = _mm_xor_si128(X1, (in)[1]); \ - X2 = _mm_xor_si128(X2, (in)[2]); \ - X3 = _mm_xor_si128(X3, (in)[3]); - -# define XOR4_2(in1, in2) \ - X0 = _mm_xor_si128((in1)[0], (in2)[0]); \ - X1 = _mm_xor_si128((in1)[1], (in2)[1]); \ - X2 = _mm_xor_si128((in1)[2], (in2)[2]); \ - X3 = _mm_xor_si128((in1)[3], (in2)[3]); - -static inline uint32_t -blockmix_salsa8_xor(const __m128i *Bin1, const __m128i *Bin2, __m128i *Bout, - size_t r) -{ - __m128i X0, X1, X2, X3; - size_t i; - - /* 1: X <-- B_{2r - 1} */ - XOR4_2(&Bin1[8 * r - 4], &Bin2[8 * r - 4]) - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - XOR4(Bin1) - SALSA20_8_XOR(Bin2, Bout) - - /* 2: for i = 0 to 2r - 1 do */ - r--; - for (i = 0; i < r;) { - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - XOR4(&Bin1[i * 8 + 4]) - SALSA20_8_XOR(&Bin2[i * 8 + 4], &Bout[(r + i) * 4 + 4]) - - i++; - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - XOR4(&Bin1[i * 8]) - SALSA20_8_XOR(&Bin2[i * 8], &Bout[i * 4]) - } - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - XOR4(&Bin1[i * 8 + 4]) - SALSA20_8_XOR(&Bin2[i * 8 + 4], &Bout[(r + i) * 4 + 4]) - - return _mm_cvtsi128_si32(X0); -} - -# undef ARX -# undef SALSA20_2ROUNDS -# undef SALSA20_8_XOR -# undef XOR4 -# undef XOR4_2 - -/** - * integerify(B, r): - * Return the result of parsing B_{2r-1} as a little-endian integer. - * Note that B's layout is permuted compared to the generic implementation. - */ -static inline uint32_t -integerify(const void *B, size_t r) -{ - return *(const uint32_t *) ((uintptr_t)(B) + (2 * r - 1) * 64); -} - -/** - * smix(B, r, N, V, XY): - * Compute B = SMix_r(B, N). The input B must be 128r bytes in length; - * the temporary storage V must be 128rN bytes in length; the temporary - * storage XY must be 256r + 64 bytes in length. The value N must be a - * power of 2 greater than 1. The arrays B, V, and XY must be aligned to a - * multiple of 64 bytes. - */ -static void -smix(uint8_t *B, size_t r, uint32_t N, void *V, void *XY) -{ - size_t s = 128 * r; - __m128i * X = (__m128i *) V, *Y; - uint32_t *X32 = (uint32_t *) V; - uint32_t i, j; - size_t k; - - /* 1: X <-- B */ - /* 3: V_i <-- X */ - for (k = 0; k < 2 * r; k++) { - for (i = 0; i < 16; i++) { - X32[k * 16 + i] = LOAD32_LE(&B[(k * 16 + (i * 5 % 16)) * 4]); - } - } - - /* 2: for i = 0 to N - 1 do */ - for (i = 1; i < N - 1; i += 2) { - /* 4: X <-- H(X) */ - /* 3: V_i <-- X */ - Y = (__m128i *) ((uintptr_t)(V) + i * s); - blockmix_salsa8(X, Y, r); - - /* 4: X <-- H(X) */ - /* 3: V_i <-- X */ - X = (__m128i *) ((uintptr_t)(V) + (i + 1) * s); - blockmix_salsa8(Y, X, r); - } - - /* 4: X <-- H(X) */ - /* 3: V_i <-- X */ - Y = (__m128i *) ((uintptr_t)(V) + i * s); - blockmix_salsa8(X, Y, r); - - /* 4: X <-- H(X) */ - /* 3: V_i <-- X */ - X = (__m128i *) XY; - blockmix_salsa8(Y, X, r); - - X32 = (uint32_t *) XY; - Y = (__m128i *) ((uintptr_t)(XY) + s); - - /* 7: j <-- Integerify(X) mod N */ - j = integerify(X, r) & (N - 1); - - /* 6: for i = 0 to N - 1 do */ - for (i = 0; i < N; i += 2) { - __m128i *V_j = (__m128i *) ((uintptr_t)(V) + j * s); - - /* 8: X <-- H(X \xor V_j) */ - /* 7: j <-- Integerify(X) mod N */ - j = blockmix_salsa8_xor(X, V_j, Y, r) & (N - 1); - V_j = (__m128i *) ((uintptr_t)(V) + j * s); - - /* 8: X <-- H(X \xor V_j) */ - /* 7: j <-- Integerify(X) mod N */ - j = blockmix_salsa8_xor(Y, V_j, X, r) & (N - 1); - } - - /* 10: B' <-- X */ - for (k = 0; k < 2 * r; k++) { - for (i = 0; i < 16; i++) { - STORE32_LE(&B[(k * 16 + (i * 5 % 16)) * 4], X32[k * 16 + i]); - } - } -} - -/** - * escrypt_kdf(local, passwd, passwdlen, salt, saltlen, - * N, r, p, buf, buflen): - * Compute scrypt(passwd[0 .. passwdlen - 1], salt[0 .. saltlen - 1], N, r, - * p, buflen) and write the result into buf. The parameters r, p, and buflen - * must satisfy r * p < 2^30 and buflen <= (2^32 - 1) * 32. The parameter N - * must be a power of 2 greater than 1. - * - * Return 0 on success; or -1 on error. - */ -int -escrypt_kdf_sse(escrypt_local_t *local, const uint8_t *passwd, size_t passwdlen, - const uint8_t *salt, size_t saltlen, uint64_t N, uint32_t _r, - uint32_t _p, uint8_t *buf, size_t buflen) -{ - size_t B_size, V_size, XY_size, need; - uint8_t * B; - uint32_t *V, *XY; - size_t r = _r, p = _p; - uint32_t i; - -/* Sanity-check parameters. */ - if (r == 0 || p == 0) { - errno = EINVAL; - return -1; - } -# if SIZE_MAX > UINT32_MAX -/* LCOV_EXCL_START */ - if (buflen > (((uint64_t)(1) << 32) - 1) * 32) { - errno = EFBIG; - return -1; - } -/* LCOV_EXCL_END */ -# endif - if ((uint64_t)(r) * (uint64_t)(p) >= ((uint64_t) 1 << 30)) { - errno = EFBIG; - return -1; - } - if (N > UINT32_MAX) { - errno = EFBIG; - return -1; - } - if (((N & (N - 1)) != 0) || (N < 2)) { - errno = EINVAL; - return -1; - } - if (r == 0 || p == 0) { - errno = EINVAL; - return -1; - } -/* LCOV_EXCL_START */ - if ((r > SIZE_MAX / 128 / p) || -# if SIZE_MAX / 256 <= UINT32_MAX - (r > SIZE_MAX / 256) || -# endif - (N > SIZE_MAX / 128 / r)) { - errno = ENOMEM; - return -1; - } -/* LCOV_EXCL_END */ - - /* Allocate memory. */ - B_size = (size_t) 128 * r * p; - V_size = (size_t) 128 * r * N; - need = B_size + V_size; -/* LCOV_EXCL_START */ - if (need < V_size) { - errno = ENOMEM; - return -1; - } -/* LCOV_EXCL_END */ - XY_size = (size_t) 256 * r + 64; - need += XY_size; -/* LCOV_EXCL_START */ - if (need < XY_size) { - errno = ENOMEM; - return -1; - } -/* LCOV_EXCL_END */ - if (local->size < need) { - if (free_region(local)) { - return -1; /* LCOV_EXCL_LINE */ - } - if (!alloc_region(local, need)) { - return -1; /* LCOV_EXCL_LINE */ - } - } - B = (uint8_t *) local->aligned; - V = (uint32_t *) ((uint8_t *) B + B_size); - XY = (uint32_t *) ((uint8_t *) V + V_size); - - /* 1: (B_0 ... B_{p-1}) <-- PBKDF2(P, S, 1, p * MFLen) */ - PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, 1, B, B_size); - - /* 2: for i = 0 to p - 1 do */ - for (i = 0; i < p; i++) { - /* 3: B_i <-- MF(B_i, N) */ - smix(&B[(size_t) 128 * i * r], r, (uint32_t) N, V, XY); - } - - /* 5: DK <-- PBKDF2(P, B, 1, dkLen) */ - PBKDF2_SHA256(passwd, passwdlen, B, B_size, 1, buf, buflen); - - /* Success! */ - return 0; -} -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/crypto_scalarmult.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/crypto_scalarmult.c deleted file mode 100644 index 9afffce..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +++ /dev/null @@ -1,33 +0,0 @@ - -#include "crypto_scalarmult.h" - -const char * -crypto_scalarmult_primitive(void) -{ - return crypto_scalarmult_PRIMITIVE; -} - -int -crypto_scalarmult_base(unsigned char *q, const unsigned char *n) -{ - return crypto_scalarmult_curve25519_base(q, n); -} - -int -crypto_scalarmult(unsigned char *q, const unsigned char *n, - const unsigned char *p) -{ - return crypto_scalarmult_curve25519(q, n, p); -} - -size_t -crypto_scalarmult_bytes(void) -{ - return crypto_scalarmult_BYTES; -} - -size_t -crypto_scalarmult_scalarbytes(void) -{ - return crypto_scalarmult_SCALARBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c deleted file mode 100644 index 4272ae2..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +++ /dev/null @@ -1,180 +0,0 @@ - -#include -#include - -#include "../scalarmult_curve25519.h" -#include "export.h" -#include "private/ed25519_ref10.h" -#include "utils.h" -#include "x25519_ref10.h" - -/* - * Reject small order points early to mitigate the implications of - * unexpected optimizations that would affect the ref10 code. - * See https://eprint.iacr.org/2017/806.pdf for reference. - */ -static int -has_small_order(const unsigned char s[32]) -{ - CRYPTO_ALIGN(16) - static const unsigned char blacklist[][32] = { - /* 0 (order 4) */ - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, - /* 1 (order 1) */ - { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, - /* 325606250916557431795983626356110631294008115727848805560023387167927233504 - (order 8) */ - { 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae, 0x16, 0x56, 0xe3, - 0xfa, 0xf1, 0x9f, 0xc4, 0x6a, 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, - 0xb1, 0xfd, 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00 }, - /* 39382357235489614581723060781553021112529911719440698176882885853963445705823 - (order 8) */ - { 0x5f, 0x9c, 0x95, 0xbc, 0xa3, 0x50, 0x8c, 0x24, 0xb1, 0xd0, 0xb1, - 0x55, 0x9c, 0x83, 0xef, 0x5b, 0x04, 0x44, 0x5c, 0xc4, 0x58, 0x1c, - 0x8e, 0x86, 0xd8, 0x22, 0x4e, 0xdd, 0xd0, 0x9f, 0x11, 0x57 }, - /* p-1 (order 2) */ - { 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, - /* p (=0, order 4) */ - { 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, - /* p+1 (=1, order 1) */ - { 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f } - }; - unsigned char c[7] = { 0 }; - unsigned int k; - size_t i, j; - - COMPILER_ASSERT(7 == sizeof blacklist / sizeof blacklist[0]); - for (j = 0; j < 31; j++) { - for (i = 0; i < sizeof blacklist / sizeof blacklist[0]; i++) { - c[i] |= s[j] ^ blacklist[i][j]; - } - } - for (i = 0; i < sizeof blacklist / sizeof blacklist[0]; i++) { - c[i] |= (s[j] & 0x7f) ^ blacklist[i][j]; - } - k = 0; - for (i = 0; i < sizeof blacklist / sizeof blacklist[0]; i++) { - k |= (c[i] - 1); - } - return (int) ((k >> 8) & 1); -} - -static int -crypto_scalarmult_curve25519_ref10(unsigned char *q, - const unsigned char *n, - const unsigned char *p) -{ - unsigned char *t = q; - unsigned int i; - fe25519 x1; - fe25519 x2; - fe25519 z2; - fe25519 x3; - fe25519 z3; - fe25519 tmp0; - fe25519 tmp1; - int pos; - unsigned int swap; - unsigned int b; - - if (has_small_order(p)) { - return -1; - } - for (i = 0; i < 32; i++) { - t[i] = n[i]; - } - t[0] &= 248; - t[31] &= 127; - t[31] |= 64; - fe25519_frombytes(x1, p); - fe25519_1(x2); - fe25519_0(z2); - fe25519_copy(x3, x1); - fe25519_1(z3); - - swap = 0; - for (pos = 254; pos >= 0; --pos) { - b = t[pos / 8] >> (pos & 7); - b &= 1; - swap ^= b; - fe25519_cswap(x2, x3, swap); - fe25519_cswap(z2, z3, swap); - swap = b; - fe25519_sub(tmp0, x3, z3); - fe25519_sub(tmp1, x2, z2); - fe25519_add(x2, x2, z2); - fe25519_add(z2, x3, z3); - fe25519_mul(z3, tmp0, x2); - fe25519_mul(z2, z2, tmp1); - fe25519_sq(tmp0, tmp1); - fe25519_sq(tmp1, x2); - fe25519_add(x3, z3, z2); - fe25519_sub(z2, z3, z2); - fe25519_mul(x2, tmp1, tmp0); - fe25519_sub(tmp1, tmp1, tmp0); - fe25519_sq(z2, z2); - fe25519_scalar_product(z3, tmp1, 121666); - fe25519_sq(x3, x3); - fe25519_add(tmp0, tmp0, z3); - fe25519_mul(z3, x1, z2); - fe25519_mul(z2, tmp1, tmp0); - } - fe25519_cswap(x2, x3, swap); - fe25519_cswap(z2, z3, swap); - - fe25519_invert(z2, z2); - fe25519_mul(x2, x2, z2); - fe25519_tobytes(q, x2); - - return 0; -} - -static void -edwards_to_montgomery(fe25519 montgomeryX, const fe25519 edwardsY, const fe25519 edwardsZ) -{ - fe25519 tempX; - fe25519 tempZ; - - fe25519_add(tempX, edwardsZ, edwardsY); - fe25519_sub(tempZ, edwardsZ, edwardsY); - fe25519_invert(tempZ, tempZ); - fe25519_mul(montgomeryX, tempX, tempZ); -} - -static int -crypto_scalarmult_curve25519_ref10_base(unsigned char *q, - const unsigned char *n) -{ - unsigned char *t = q; - ge25519_p3 A; - fe25519 pk; - unsigned int i; - - for (i = 0; i < 32; i++) { - t[i] = n[i]; - } - t[0] &= 248; - t[31] &= 127; - t[31] |= 64; - ge25519_scalarmult_base(&A, t); - edwards_to_montgomery(pk, A.Y, A.Z); - fe25519_tobytes(q, pk); - - return 0; -} - -struct crypto_scalarmult_curve25519_implementation - crypto_scalarmult_curve25519_ref10_implementation = { - SODIUM_C99(.mult =) crypto_scalarmult_curve25519_ref10, - SODIUM_C99(.mult_base =) crypto_scalarmult_curve25519_ref10_base - }; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h deleted file mode 100644 index ea52a62..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef x25519_ref10_H -#define x25519_ref10_H - -#include "crypto_scalarmult_curve25519.h" -#include "../scalarmult_curve25519.h" - -extern struct crypto_scalarmult_curve25519_implementation - crypto_scalarmult_curve25519_ref10_implementation; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S deleted file mode 100644 index 67f1f01..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S +++ /dev/null @@ -1,25 +0,0 @@ -#ifdef IN_SANDY2X - -/* - REDMASK51 is from amd64-51/consts.s. -*/ - -#include "consts_namespace.h" -.data -.p2align 4 -v0_0: .quad 0, 0 -v1_0: .quad 1, 0 -v2_1: .quad 2, 1 -v9_0: .quad 9, 0 -v9_9: .quad 9, 9 -v19_19: .quad 19, 19 -v38_1: .quad 38, 1 -v38_38: .quad 38, 38 -v121666_121666: .quad 121666, 121666 -m25: .quad 33554431, 33554431 -m26: .quad 67108863, 67108863 -subc0: .quad 0x07FFFFDA, 0x03FFFFFE -subc2: .quad 0x07FFFFFE, 0x03FFFFFE -REDMASK51: .quad 0x0007FFFFFFFFFFFF - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h deleted file mode 100644 index 9f81fa6..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef consts_namespace_H -#define consts_namespace_H - -#define v0_0 crypto_scalarmult_curve25519_sandy2x_v0_0 -#define v1_0 crypto_scalarmult_curve25519_sandy2x_v1_0 -#define v2_1 crypto_scalarmult_curve25519_sandy2x_v2_1 -#define v9_0 crypto_scalarmult_curve25519_sandy2x_v9_0 -#define v9_9 crypto_scalarmult_curve25519_sandy2x_v9_9 -#define v19_19 crypto_scalarmult_curve25519_sandy2x_v19_19 -#define v38_1 crypto_scalarmult_curve25519_sandy2x_v38_1 -#define v38_38 crypto_scalarmult_curve25519_sandy2x_v38_38 -#define v121666_121666 crypto_scalarmult_curve25519_sandy2x_v121666_121666 -#define m25 crypto_scalarmult_curve25519_sandy2x_m25 -#define m26 crypto_scalarmult_curve25519_sandy2x_m26 -#define subc0 crypto_scalarmult_curve25519_sandy2x_subc0 -#define subc2 crypto_scalarmult_curve25519_sandy2x_subc2 -#define REDMASK51 crypto_scalarmult_curve25519_sandy2x_REDMASK51 - -#endif /* ifndef consts_namespace_H */ - diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c deleted file mode 100644 index 98b7cf7..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - This file is adapted from ref10/scalarmult.c: - The code for Mongomery ladder is replace by the ladder assembly function; - Inversion is done in the same way as amd64-51/. - (fe is first converted into fe51 after Mongomery ladder) -*/ - -#include - -#ifdef HAVE_AVX_ASM - -#include "utils.h" -#include "curve25519_sandy2x.h" -#include "../scalarmult_curve25519.h" -#include "fe.h" -#include "fe51.h" -#include "ladder.h" -#include "ladder_base.h" - -#define x1 var[0] -#define x2 var[1] -#define z2 var[2] - -static int -crypto_scalarmult_curve25519_sandy2x(unsigned char *q, const unsigned char *n, - const unsigned char *p) -{ - unsigned char *t = q; - fe var[3]; - fe51 x_51; - fe51 z_51; - unsigned int i; - - for (i = 0; i < 32; i++) { - t[i] = n[i]; - } - t[0] &= 248; - t[31] &= 127; - t[31] |= 64; - - fe_frombytes(x1, p); - - ladder(var, t); - - z_51.v[0] = (z2[1] << 26) + z2[0]; - z_51.v[1] = (z2[3] << 26) + z2[2]; - z_51.v[2] = (z2[5] << 26) + z2[4]; - z_51.v[3] = (z2[7] << 26) + z2[6]; - z_51.v[4] = (z2[9] << 26) + z2[8]; - - x_51.v[0] = (x2[1] << 26) + x2[0]; - x_51.v[1] = (x2[3] << 26) + x2[2]; - x_51.v[2] = (x2[5] << 26) + x2[4]; - x_51.v[3] = (x2[7] << 26) + x2[6]; - x_51.v[4] = (x2[9] << 26) + x2[8]; - - fe51_invert(&z_51, &z_51); - fe51_mul(&x_51, &x_51, &z_51); - fe51_pack(q, &x_51); - - return 0; -} - -#undef x2 -#undef z2 - -#define x2 var[0] -#define z2 var[1] - -static int -crypto_scalarmult_curve25519_sandy2x_base(unsigned char *q, - const unsigned char *n) -{ - unsigned char *t = q; - fe var[3]; - fe51 x_51; - fe51 z_51; - unsigned int i; - - for (i = 0;i < 32; i++) { - t[i] = n[i]; - } - t[0] &= 248; - t[31] &= 127; - t[31] |= 64; - - ladder_base(var, t); - - z_51.v[0] = (z2[1] << 26) + z2[0]; - z_51.v[1] = (z2[3] << 26) + z2[2]; - z_51.v[2] = (z2[5] << 26) + z2[4]; - z_51.v[3] = (z2[7] << 26) + z2[6]; - z_51.v[4] = (z2[9] << 26) + z2[8]; - - x_51.v[0] = (x2[1] << 26) + x2[0]; - x_51.v[1] = (x2[3] << 26) + x2[2]; - x_51.v[2] = (x2[5] << 26) + x2[4]; - x_51.v[3] = (x2[7] << 26) + x2[6]; - x_51.v[4] = (x2[9] << 26) + x2[8]; - - fe51_invert(&z_51, &z_51); - fe51_mul(&x_51, &x_51, &z_51); - fe51_pack(q, &x_51); - - return 0; -} - -struct crypto_scalarmult_curve25519_implementation -crypto_scalarmult_curve25519_sandy2x_implementation = { - SODIUM_C99(.mult = ) crypto_scalarmult_curve25519_sandy2x, - SODIUM_C99(.mult_base = ) crypto_scalarmult_curve25519_sandy2x_base -}; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h deleted file mode 100644 index f02d980..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef curve25519_sandy2x_H -#define curve25519_sandy2x_H - -#include "crypto_scalarmult_curve25519.h" - -extern struct crypto_scalarmult_curve25519_implementation - crypto_scalarmult_curve25519_sandy2x_implementation; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h deleted file mode 100644 index b1115f8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - This file is adapted from ref10/fe.h: - All the redundant functions are removed. -*/ - -#ifndef fe_H -#define fe_H - -#include -#include - -typedef uint64_t fe[10]; - -/* -fe means field element. -Here the field is \Z/(2^255-19). -An element t, entries t[0]...t[9], represents the integer -t[0]+2^26 t[1]+2^51 t[2]+2^77 t[3]+2^102 t[4]+...+2^230 t[9]. -Bounds on each t[i] vary depending on context. -*/ - -#define fe_frombytes crypto_scalarmult_curve25519_sandy2x_fe_frombytes - -extern void fe_frombytes(fe, const unsigned char *); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h deleted file mode 100644 index 8e3f199..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - This file is adapted from amd64-51/fe25519.h: - 'fe25519' is renamed as 'fe51'; - All the redundant functions are removed; - New function fe51_nsquare is introduced. -*/ - -#ifndef fe51_H -#define fe51_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#include "fe51_namespace.h" - -typedef struct -{ - uint64_t v[5]; -} -fe51; - -extern void fe51_pack(unsigned char *, const fe51 *); -extern void fe51_mul(fe51 *, const fe51 *, const fe51 *); -extern void fe51_nsquare(fe51 *, const fe51 *, int); -extern void fe51_invert(fe51 *, const fe51 *); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c deleted file mode 100644 index ec9bb1a..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +++ /dev/null @@ -1,58 +0,0 @@ -/* - This file is adapted from amd64-51/fe25519_invert.c: - Loops of squares are replaced by nsquares for better performance. -*/ - -#include "fe51.h" - -#ifdef HAVE_AVX_ASM - -#define fe51_square(x, y) fe51_nsquare(x, y, 1) - -void -fe51_invert(fe51 *r, const fe51 *x) -{ - fe51 z2; - fe51 z9; - fe51 z11; - fe51 z2_5_0; - fe51 z2_10_0; - fe51 z2_20_0; - fe51 z2_50_0; - fe51 z2_100_0; - fe51 t; - - /* 2 */ fe51_square(&z2,x); - /* 4 */ fe51_square(&t,&z2); - /* 8 */ fe51_square(&t,&t); - /* 9 */ fe51_mul(&z9,&t,x); - /* 11 */ fe51_mul(&z11,&z9,&z2); - /* 22 */ fe51_square(&t,&z11); - /* 2^5 - 2^0 = 31 */ fe51_mul(&z2_5_0,&t,&z9); - - /* 2^10 - 2^5 */ fe51_nsquare(&t,&z2_5_0, 5); - /* 2^10 - 2^0 */ fe51_mul(&z2_10_0,&t,&z2_5_0); - - /* 2^20 - 2^10 */ fe51_nsquare(&t,&z2_10_0, 10); - /* 2^20 - 2^0 */ fe51_mul(&z2_20_0,&t,&z2_10_0); - - /* 2^40 - 2^20 */ fe51_nsquare(&t,&z2_20_0, 20); - /* 2^40 - 2^0 */ fe51_mul(&t,&t,&z2_20_0); - - /* 2^50 - 2^10 */ fe51_nsquare(&t,&t,10); - /* 2^50 - 2^0 */ fe51_mul(&z2_50_0,&t,&z2_10_0); - - /* 2^100 - 2^50 */ fe51_nsquare(&t,&z2_50_0, 50); - /* 2^100 - 2^0 */ fe51_mul(&z2_100_0,&t,&z2_50_0); - - /* 2^200 - 2^100 */ fe51_nsquare(&t,&z2_100_0, 100); - /* 2^200 - 2^0 */ fe51_mul(&t,&t,&z2_100_0); - - /* 2^250 - 2^50 */ fe51_nsquare(&t,&t, 50); - /* 2^250 - 2^0 */ fe51_mul(&t,&t,&z2_50_0); - - /* 2^255 - 2^5 */ fe51_nsquare(&t,&t,5); - /* 2^255 - 21 */ fe51_mul(r,&t,&z11); -} - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S deleted file mode 100644 index 83501b0..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S +++ /dev/null @@ -1,197 +0,0 @@ -#ifdef IN_SANDY2X - -/* - This file is basically amd64-51/fe25519_mul.s. -*/ -#include "fe51_namespace.h" -#include "consts_namespace.h" -.text -.p2align 5 -#ifdef ASM_HIDE_SYMBOL -ASM_HIDE_SYMBOL fe51_mul -ASM_HIDE_SYMBOL _fe51_mul -#endif -.globl fe51_mul -.globl _fe51_mul -#ifdef __ELF__ -.type fe51_mul, @function -.type _fe51_mul, @function -#endif -fe51_mul: -_fe51_mul: -mov %rsp,%r11 -and $31,%r11 -add $96,%r11 -sub %r11,%rsp -movq %r11,0(%rsp) -movq %r12,8(%rsp) -movq %r13,16(%rsp) -movq %r14,24(%rsp) -movq %r15,32(%rsp) -movq %rbx,40(%rsp) -movq %rbp,48(%rsp) -movq %rdi,56(%rsp) -mov %rdx,%rcx -movq 24(%rsi),%rdx -imulq $19,%rdx,%rax -movq %rax,64(%rsp) -mulq 16(%rcx) -mov %rax,%r8 -mov %rdx,%r9 -movq 32(%rsi),%rdx -imulq $19,%rdx,%rax -movq %rax,72(%rsp) -mulq 8(%rcx) -add %rax,%r8 -adc %rdx,%r9 -movq 0(%rsi),%rax -mulq 0(%rcx) -add %rax,%r8 -adc %rdx,%r9 -movq 0(%rsi),%rax -mulq 8(%rcx) -mov %rax,%r10 -mov %rdx,%r11 -movq 0(%rsi),%rax -mulq 16(%rcx) -mov %rax,%r12 -mov %rdx,%r13 -movq 0(%rsi),%rax -mulq 24(%rcx) -mov %rax,%r14 -mov %rdx,%r15 -movq 0(%rsi),%rax -mulq 32(%rcx) -mov %rax,%rbx -mov %rdx,%rbp -movq 8(%rsi),%rax -mulq 0(%rcx) -add %rax,%r10 -adc %rdx,%r11 -movq 8(%rsi),%rax -mulq 8(%rcx) -add %rax,%r12 -adc %rdx,%r13 -movq 8(%rsi),%rax -mulq 16(%rcx) -add %rax,%r14 -adc %rdx,%r15 -movq 8(%rsi),%rax -mulq 24(%rcx) -add %rax,%rbx -adc %rdx,%rbp -movq 8(%rsi),%rdx -imulq $19,%rdx,%rax -mulq 32(%rcx) -add %rax,%r8 -adc %rdx,%r9 -movq 16(%rsi),%rax -mulq 0(%rcx) -add %rax,%r12 -adc %rdx,%r13 -movq 16(%rsi),%rax -mulq 8(%rcx) -add %rax,%r14 -adc %rdx,%r15 -movq 16(%rsi),%rax -mulq 16(%rcx) -add %rax,%rbx -adc %rdx,%rbp -movq 16(%rsi),%rdx -imulq $19,%rdx,%rax -mulq 24(%rcx) -add %rax,%r8 -adc %rdx,%r9 -movq 16(%rsi),%rdx -imulq $19,%rdx,%rax -mulq 32(%rcx) -add %rax,%r10 -adc %rdx,%r11 -movq 24(%rsi),%rax -mulq 0(%rcx) -add %rax,%r14 -adc %rdx,%r15 -movq 24(%rsi),%rax -mulq 8(%rcx) -add %rax,%rbx -adc %rdx,%rbp -movq 64(%rsp),%rax -mulq 24(%rcx) -add %rax,%r10 -adc %rdx,%r11 -movq 64(%rsp),%rax -mulq 32(%rcx) -add %rax,%r12 -adc %rdx,%r13 -movq 32(%rsi),%rax -mulq 0(%rcx) -add %rax,%rbx -adc %rdx,%rbp -movq 72(%rsp),%rax -mulq 16(%rcx) -add %rax,%r10 -adc %rdx,%r11 -movq 72(%rsp),%rax -mulq 24(%rcx) -add %rax,%r12 -adc %rdx,%r13 -movq 72(%rsp),%rax -mulq 32(%rcx) -add %rax,%r14 -adc %rdx,%r15 -movq REDMASK51(%rip),%rsi -shld $13,%r8,%r9 -and %rsi,%r8 -shld $13,%r10,%r11 -and %rsi,%r10 -add %r9,%r10 -shld $13,%r12,%r13 -and %rsi,%r12 -add %r11,%r12 -shld $13,%r14,%r15 -and %rsi,%r14 -add %r13,%r14 -shld $13,%rbx,%rbp -and %rsi,%rbx -add %r15,%rbx -imulq $19,%rbp,%rdx -add %rdx,%r8 -mov %r8,%rdx -shr $51,%rdx -add %r10,%rdx -mov %rdx,%rcx -shr $51,%rdx -and %rsi,%r8 -add %r12,%rdx -mov %rdx,%r9 -shr $51,%rdx -and %rsi,%rcx -add %r14,%rdx -mov %rdx,%rax -shr $51,%rdx -and %rsi,%r9 -add %rbx,%rdx -mov %rdx,%r10 -shr $51,%rdx -and %rsi,%rax -imulq $19,%rdx,%rdx -add %rdx,%r8 -and %rsi,%r10 -movq %r8,0(%rdi) -movq %rcx,8(%rdi) -movq %r9,16(%rdi) -movq %rax,24(%rdi) -movq %r10,32(%rdi) -movq 0(%rsp),%r11 -movq 8(%rsp),%r12 -movq 16(%rsp),%r13 -movq 24(%rsp),%r14 -movq 32(%rsp),%r15 -movq 40(%rsp),%rbx -movq 48(%rsp),%rbp -add %r11,%rsp -mov %rdi,%rax -mov %rsi,%rdx -ret - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h deleted file mode 100644 index 057f242..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef fe51_namespace_H -#define fe51_namespace_H - -#define fe51 crypto_scalarmult_curve25519_sandy2x_fe51 -#define _fe51 _crypto_scalarmult_curve25519_sandy2x_fe51 -#define fe51_pack crypto_scalarmult_curve25519_sandy2x_fe51_pack -#define _fe51_pack _crypto_scalarmult_curve25519_sandy2x_fe51_pack -#define fe51_mul crypto_scalarmult_curve25519_sandy2x_fe51_mul -#define _fe51_mul _crypto_scalarmult_curve25519_sandy2x_fe51_mul -#define fe51_nsquare crypto_scalarmult_curve25519_sandy2x_fe51_nsquare -#define _fe51_nsquare _crypto_scalarmult_curve25519_sandy2x_fe51_nsquare - -#define fe51_invert crypto_scalarmult_curve25519_sandy2x_fe51_invert - -#endif /* ifndef fe51_namespace_H */ - diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S deleted file mode 100644 index 41c3054..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S +++ /dev/null @@ -1,172 +0,0 @@ -#ifdef IN_SANDY2X - -/* - This file is adapted from amd64-51/fe25519_square.s: - Adding loop to perform n squares. -*/ -#include "fe51_namespace.h" -#include "consts_namespace.h" -.p2align 5 - -#ifdef ASM_HIDE_SYMBOL -ASM_HIDE_SYMBOL fe51_nsquare -ASM_HIDE_SYMBOL _fe51_nsquare -#endif -.globl fe51_nsquare -.globl _fe51_nsquare -#ifdef __ELF__ -.type fe51_nsquare, @function -.type _fe51_nsquare, @function -#endif -fe51_nsquare: -_fe51_nsquare: - -mov %rsp,%r11 -and $31,%r11 -add $64,%r11 -sub %r11,%rsp -movq %r11,0(%rsp) -movq %r12,8(%rsp) -movq %r13,16(%rsp) -movq %r14,24(%rsp) -movq %r15,32(%rsp) -movq %rbx,40(%rsp) -movq %rbp,48(%rsp) -movq 0(%rsi),%rcx -movq 8(%rsi),%r8 -movq 16(%rsi),%r9 -movq 24(%rsi),%rax -movq 32(%rsi),%rsi -movq %r9,16(%rdi) -movq %rax,24(%rdi) -movq %rsi,32(%rdi) -mov %rdx,%rsi - -.p2align 4 -._loop: -sub $1,%rsi -mov %rcx,%rax -mul %rcx -add %rcx,%rcx -mov %rax,%r9 -mov %rdx,%r10 -mov %rcx,%rax -mul %r8 -mov %rax,%r11 -mov %rdx,%r12 -mov %rcx,%rax -mulq 16(%rdi) -mov %rax,%r13 -mov %rdx,%r14 -mov %rcx,%rax -mulq 24(%rdi) -mov %rax,%r15 -mov %rdx,%rbx -mov %rcx,%rax -mulq 32(%rdi) -mov %rax,%rcx -mov %rdx,%rbp -mov %r8,%rax -mul %r8 -add %r8,%r8 -add %rax,%r13 -adc %rdx,%r14 -mov %r8,%rax -mulq 16(%rdi) -add %rax,%r15 -adc %rdx,%rbx -mov %r8,%rax -imulq $19, %r8,%r8 -mulq 24(%rdi) -add %rax,%rcx -adc %rdx,%rbp -mov %r8,%rax -mulq 32(%rdi) -add %rax,%r9 -adc %rdx,%r10 -movq 16(%rdi),%rax -mulq 16(%rdi) -add %rax,%rcx -adc %rdx,%rbp -shld $13,%rcx,%rbp -movq 16(%rdi),%rax -imulq $38, %rax,%rax -mulq 24(%rdi) -add %rax,%r9 -adc %rdx,%r10 -shld $13,%r9,%r10 -movq 16(%rdi),%rax -imulq $38, %rax,%rax -mulq 32(%rdi) -add %rax,%r11 -adc %rdx,%r12 -movq 24(%rdi),%rax -imulq $19, %rax,%rax -mulq 24(%rdi) -add %rax,%r11 -adc %rdx,%r12 -shld $13,%r11,%r12 -movq 24(%rdi),%rax -imulq $38, %rax,%rax -mulq 32(%rdi) -add %rax,%r13 -adc %rdx,%r14 -shld $13,%r13,%r14 -movq 32(%rdi),%rax -imulq $19, %rax,%rax -mulq 32(%rdi) -add %rax,%r15 -adc %rdx,%rbx -shld $13,%r15,%rbx -movq REDMASK51(%rip),%rdx -and %rdx,%rcx -add %rbx,%rcx -and %rdx,%r9 -and %rdx,%r11 -add %r10,%r11 -and %rdx,%r13 -add %r12,%r13 -and %rdx,%r15 -add %r14,%r15 -imulq $19, %rbp,%rbp -lea (%r9,%rbp),%r9 -mov %r9,%rax -shr $51,%r9 -add %r11,%r9 -and %rdx,%rax -mov %r9,%r8 -shr $51,%r9 -add %r13,%r9 -and %rdx,%r8 -mov %r9,%r10 -shr $51,%r9 -add %r15,%r9 -and %rdx,%r10 -movq %r10,16(%rdi) -mov %r9,%r10 -shr $51,%r9 -add %rcx,%r9 -and %rdx,%r10 -movq %r10,24(%rdi) -mov %r9,%r10 -shr $51,%r9 -imulq $19, %r9,%r9 -lea (%rax,%r9),%rcx -and %rdx,%r10 -movq %r10,32(%rdi) -cmp $0,%rsi -jne ._loop - -movq %rcx,0(%rdi) -movq %r8,8(%rdi) -movq 0(%rsp),%r11 -movq 8(%rsp),%r12 -movq 16(%rsp),%r13 -movq 24(%rsp),%r14 -movq 32(%rsp),%r15 -movq 40(%rsp),%rbx -movq 48(%rsp),%rbp -add %r11,%rsp -ret - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S deleted file mode 100644 index 500c858..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S +++ /dev/null @@ -1,226 +0,0 @@ -#ifdef IN_SANDY2X - -/* - This file is the result of merging - amd64-51/fe25519_pack.c and amd64-51/fe25519_freeze.s. -*/ -#include "fe51_namespace.h" -#include "consts_namespace.h" -.p2align 5 - -#ifdef ASM_HIDE_SYMBOL -ASM_HIDE_SYMBOL fe51_pack -ASM_HIDE_SYMBOL _fe51_pack -#endif -.globl fe51_pack -.globl _fe51_pack -#ifdef __ELF__ -.type fe51_pack, @function -.type _fe51_pack, @function -#endif -fe51_pack: -_fe51_pack: - -mov %rsp,%r11 -and $31,%r11 -add $32,%r11 -sub %r11,%rsp -movq %r11,0(%rsp) -movq %r12,8(%rsp) -movq 0(%rsi),%rdx -movq 8(%rsi),%rcx -movq 16(%rsi),%r8 -movq 24(%rsi),%r9 -movq 32(%rsi),%rsi -movq REDMASK51(%rip),%rax -lea -18(%rax),%r10 -mov $3,%r11 - -.p2align 4 -._reduceloop: -mov %rdx,%r12 -shr $51,%r12 -and %rax,%rdx -add %r12,%rcx -mov %rcx,%r12 -shr $51,%r12 -and %rax,%rcx -add %r12,%r8 -mov %r8,%r12 -shr $51,%r12 -and %rax,%r8 -add %r12,%r9 -mov %r9,%r12 -shr $51,%r12 -and %rax,%r9 -add %r12,%rsi -mov %rsi,%r12 -shr $51,%r12 -and %rax,%rsi -imulq $19, %r12,%r12 -add %r12,%rdx -sub $1,%r11 -ja ._reduceloop - -mov $1,%r12 -cmp %r10,%rdx -cmovl %r11,%r12 -cmp %rax,%rcx -cmovne %r11,%r12 -cmp %rax,%r8 -cmovne %r11,%r12 -cmp %rax,%r9 -cmovne %r11,%r12 -cmp %rax,%rsi -cmovne %r11,%r12 -neg %r12 -and %r12,%rax -and %r12,%r10 -sub %r10,%rdx -sub %rax,%rcx -sub %rax,%r8 -sub %rax,%r9 -sub %rax,%rsi -mov %rdx,%rax -and $0xFF,%eax -movb %al,0(%rdi) -mov %rdx,%rax -shr $8,%rax -and $0xFF,%eax -movb %al,1(%rdi) -mov %rdx,%rax -shr $16,%rax -and $0xFF,%eax -movb %al,2(%rdi) -mov %rdx,%rax -shr $24,%rax -and $0xFF,%eax -movb %al,3(%rdi) -mov %rdx,%rax -shr $32,%rax -and $0xFF,%eax -movb %al,4(%rdi) -mov %rdx,%rax -shr $40,%rax -and $0xFF,%eax -movb %al,5(%rdi) -mov %rdx,%rdx -shr $48,%rdx -mov %rcx,%rax -shl $3,%rax -and $0xF8,%eax -xor %rdx,%rax -movb %al,6(%rdi) -mov %rcx,%rdx -shr $5,%rdx -and $0xFF,%edx -movb %dl,7(%rdi) -mov %rcx,%rdx -shr $13,%rdx -and $0xFF,%edx -movb %dl,8(%rdi) -mov %rcx,%rdx -shr $21,%rdx -and $0xFF,%edx -movb %dl,9(%rdi) -mov %rcx,%rdx -shr $29,%rdx -and $0xFF,%edx -movb %dl,10(%rdi) -mov %rcx,%rdx -shr $37,%rdx -and $0xFF,%edx -movb %dl,11(%rdi) -mov %rcx,%rdx -shr $45,%rdx -mov %r8,%rcx -shl $6,%rcx -and $0xC0,%ecx -xor %rdx,%rcx -movb %cl,12(%rdi) -mov %r8,%rdx -shr $2,%rdx -and $0xFF,%edx -movb %dl,13(%rdi) -mov %r8,%rdx -shr $10,%rdx -and $0xFF,%edx -movb %dl,14(%rdi) -mov %r8,%rdx -shr $18,%rdx -and $0xFF,%edx -movb %dl,15(%rdi) -mov %r8,%rdx -shr $26,%rdx -and $0xFF,%edx -movb %dl,16(%rdi) -mov %r8,%rdx -shr $34,%rdx -and $0xFF,%edx -movb %dl,17(%rdi) -mov %r8,%rdx -shr $42,%rdx -movb %dl,18(%rdi) -mov %r8,%rdx -shr $50,%rdx -mov %r9,%rcx -shl $1,%rcx -and $0xFE,%ecx -xor %rdx,%rcx -movb %cl,19(%rdi) -mov %r9,%rdx -shr $7,%rdx -and $0xFF,%edx -movb %dl,20(%rdi) -mov %r9,%rdx -shr $15,%rdx -and $0xFF,%edx -movb %dl,21(%rdi) -mov %r9,%rdx -shr $23,%rdx -and $0xFF,%edx -movb %dl,22(%rdi) -mov %r9,%rdx -shr $31,%rdx -and $0xFF,%edx -movb %dl,23(%rdi) -mov %r9,%rdx -shr $39,%rdx -and $0xFF,%edx -movb %dl,24(%rdi) -mov %r9,%rdx -shr $47,%rdx -mov %rsi,%rcx -shl $4,%rcx -and $0xF0,%ecx -xor %rdx,%rcx -movb %cl,25(%rdi) -mov %rsi,%rdx -shr $4,%rdx -and $0xFF,%edx -movb %dl,26(%rdi) -mov %rsi,%rdx -shr $12,%rdx -and $0xFF,%edx -movb %dl,27(%rdi) -mov %rsi,%rdx -shr $20,%rdx -and $0xFF,%edx -movb %dl,28(%rdi) -mov %rsi,%rdx -shr $28,%rdx -and $0xFF,%edx -movb %dl,29(%rdi) -mov %rsi,%rdx -shr $36,%rdx -and $0xFF,%edx -movb %dl,30(%rdi) -mov %rsi,%rsi -shr $44,%rsi -movb %sil,31(%rdi) -movq 0(%rsp),%r11 -movq 8(%rsp),%r12 -add %r11,%rsp -ret - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c deleted file mode 100644 index 2fe081e..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - This file is basically ref10/fe_frombytes.h. -*/ - -#include "fe.h" - -#ifdef HAVE_AVX_ASM - -static uint64_t -load_3(const unsigned char *in) -{ - uint64_t result; - result = (uint64_t) in[0]; - result |= ((uint64_t) in[1]) << 8; - result |= ((uint64_t) in[2]) << 16; - return result; -} - -static uint64_t -load_4(const unsigned char *in) -{ - uint64_t result; - result = (uint64_t) in[0]; - result |= ((uint64_t) in[1]) << 8; - result |= ((uint64_t) in[2]) << 16; - result |= ((uint64_t) in[3]) << 24; - return result; -} - -void -fe_frombytes(fe h, const unsigned char *s) -{ - uint64_t h0 = load_4(s); - uint64_t h1 = load_3(s + 4) << 6; - uint64_t h2 = load_3(s + 7) << 5; - uint64_t h3 = load_3(s + 10) << 3; - uint64_t h4 = load_3(s + 13) << 2; - uint64_t h5 = load_4(s + 16); - uint64_t h6 = load_3(s + 20) << 7; - uint64_t h7 = load_3(s + 23) << 5; - uint64_t h8 = load_3(s + 26) << 4; - uint64_t h9 = (load_3(s + 29) & 8388607) << 2; - uint64_t carry0; - uint64_t carry1; - uint64_t carry2; - uint64_t carry3; - uint64_t carry4; - uint64_t carry5; - uint64_t carry6; - uint64_t carry7; - uint64_t carry8; - uint64_t carry9; - - carry9 = h9 >> 25; h0 += carry9 * 19; h9 &= 0x1FFFFFF; - carry1 = h1 >> 25; h2 += carry1; h1 &= 0x1FFFFFF; - carry3 = h3 >> 25; h4 += carry3; h3 &= 0x1FFFFFF; - carry5 = h5 >> 25; h6 += carry5; h5 &= 0x1FFFFFF; - carry7 = h7 >> 25; h8 += carry7; h7 &= 0x1FFFFFF; - - carry0 = h0 >> 26; h1 += carry0; h0 &= 0x3FFFFFF; - carry2 = h2 >> 26; h3 += carry2; h2 &= 0x3FFFFFF; - carry4 = h4 >> 26; h5 += carry4; h4 &= 0x3FFFFFF; - carry6 = h6 >> 26; h7 += carry6; h6 &= 0x3FFFFFF; - carry8 = h8 >> 26; h9 += carry8; h8 &= 0x3FFFFFF; - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; - h[5] = h5; - h[6] = h6; - h[7] = h7; - h[8] = h8; - h[9] = h9; -} - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S deleted file mode 100644 index c5c0602..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S +++ /dev/null @@ -1,1440 +0,0 @@ -#ifdef IN_SANDY2X - -#include "ladder_namespace.h" -#include "consts_namespace.h" -.p2align 5 - -#ifdef ASM_HIDE_SYMBOL -ASM_HIDE_SYMBOL ladder -ASM_HIDE_SYMBOL _ladder -#endif -.globl ladder -.globl _ladder -#ifdef __ELF__ -.type ladder, @function -.type _ladder, @function -#endif -ladder: -_ladder: - -mov %rsp,%r11 -and $31,%r11 -add $1856,%r11 -sub %r11,%rsp -movq %r11,1824(%rsp) -movq %r12,1832(%rsp) -movq %r13,1840(%rsp) -movq %r14,1848(%rsp) -vmovdqa v0_0(%rip),%xmm0 -vmovdqa v1_0(%rip),%xmm1 -vmovdqu 0(%rdi),%xmm2 -vmovdqa %xmm2,0(%rsp) -vmovdqu 16(%rdi),%xmm2 -vmovdqa %xmm2,16(%rsp) -vmovdqu 32(%rdi),%xmm2 -vmovdqa %xmm2,32(%rsp) -vmovdqu 48(%rdi),%xmm2 -vmovdqa %xmm2,48(%rsp) -vmovdqu 64(%rdi),%xmm2 -vmovdqa %xmm2,64(%rsp) -vmovdqa %xmm1,80(%rsp) -vmovdqa %xmm0,96(%rsp) -vmovdqa %xmm0,112(%rsp) -vmovdqa %xmm0,128(%rsp) -vmovdqa %xmm0,144(%rsp) -vmovdqa %xmm1,%xmm0 -vpxor %xmm1,%xmm1,%xmm1 -vpxor %xmm2,%xmm2,%xmm2 -vpxor %xmm3,%xmm3,%xmm3 -vpxor %xmm4,%xmm4,%xmm4 -vpxor %xmm5,%xmm5,%xmm5 -vpxor %xmm6,%xmm6,%xmm6 -vpxor %xmm7,%xmm7,%xmm7 -vpxor %xmm8,%xmm8,%xmm8 -vpxor %xmm9,%xmm9,%xmm9 -vmovdqu 0(%rdi),%xmm10 -vmovdqa %xmm10,160(%rsp) -vmovdqu 16(%rdi),%xmm10 -vmovdqa %xmm10,176(%rsp) -vpmuludq v19_19(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,192(%rsp) -vmovdqu 32(%rdi),%xmm10 -vmovdqa %xmm10,208(%rsp) -vpmuludq v19_19(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,224(%rsp) -vmovdqu 48(%rdi),%xmm10 -vmovdqa %xmm10,240(%rsp) -vpmuludq v19_19(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,256(%rsp) -vmovdqu 64(%rdi),%xmm10 -vmovdqa %xmm10,272(%rsp) -vpmuludq v19_19(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,288(%rsp) -vmovdqu 8(%rdi),%xmm10 -vpmuludq v2_1(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,304(%rsp) -vpmuludq v19_19(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,320(%rsp) -vmovdqu 24(%rdi),%xmm10 -vpmuludq v2_1(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,336(%rsp) -vpmuludq v19_19(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,352(%rsp) -vmovdqu 40(%rdi),%xmm10 -vpmuludq v2_1(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,368(%rsp) -vpmuludq v19_19(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,384(%rsp) -vmovdqu 56(%rdi),%xmm10 -vpmuludq v2_1(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,400(%rsp) -vpmuludq v19_19(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,416(%rsp) -vmovdqu 0(%rdi),%xmm10 -vmovdqu 64(%rdi),%xmm11 -vblendps $12, %xmm11, %xmm10, %xmm10 -vpshufd $2,%xmm10,%xmm10 -vpmuludq v38_1(%rip),%xmm10,%xmm10 -vmovdqa %xmm10,432(%rsp) -movq 0(%rsi),%rdx -movq 8(%rsi),%rcx -movq 16(%rsi),%r8 -movq 24(%rsi),%r9 -shrd $1,%rcx,%rdx -shrd $1,%r8,%rcx -shrd $1,%r9,%r8 -shr $1,%r9 -xorq 0(%rsi),%rdx -xorq 8(%rsi),%rcx -xorq 16(%rsi),%r8 -xorq 24(%rsi),%r9 -leaq 800(%rsp),%rsi -mov $64,%rax - -.p2align 4 -._ladder_small_loop: -mov %rdx,%r10 -mov %rcx,%r11 -mov %r8,%r12 -mov %r9,%r13 -shr $1,%rdx -shr $1,%rcx -shr $1,%r8 -shr $1,%r9 -and $1,%r10d -and $1,%r11d -and $1,%r12d -and $1,%r13d -neg %r10 -neg %r11 -neg %r12 -neg %r13 -movl %r10d,0(%rsi) -movl %r11d,256(%rsi) -movl %r12d,512(%rsi) -movl %r13d,768(%rsi) -add $4,%rsi -sub $1,%rax -jne ._ladder_small_loop -mov $255,%rdx -add $760,%rsi - -.p2align 4 -._ladder_loop: -sub $1,%rdx -vbroadcastss 0(%rsi),%xmm10 -sub $4,%rsi -vmovdqa 0(%rsp),%xmm11 -vmovdqa 80(%rsp),%xmm12 -vpxor %xmm11,%xmm0,%xmm13 -vpand %xmm10,%xmm13,%xmm13 -vpxor %xmm13,%xmm0,%xmm0 -vpxor %xmm13,%xmm11,%xmm11 -vpxor %xmm12,%xmm1,%xmm13 -vpand %xmm10,%xmm13,%xmm13 -vpxor %xmm13,%xmm1,%xmm1 -vpxor %xmm13,%xmm12,%xmm12 -vmovdqa 16(%rsp),%xmm13 -vmovdqa 96(%rsp),%xmm14 -vpxor %xmm13,%xmm2,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm2,%xmm2 -vpxor %xmm15,%xmm13,%xmm13 -vpxor %xmm14,%xmm3,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm3,%xmm3 -vpxor %xmm15,%xmm14,%xmm14 -vmovdqa %xmm13,0(%rsp) -vmovdqa %xmm14,16(%rsp) -vmovdqa 32(%rsp),%xmm13 -vmovdqa 112(%rsp),%xmm14 -vpxor %xmm13,%xmm4,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm4,%xmm4 -vpxor %xmm15,%xmm13,%xmm13 -vpxor %xmm14,%xmm5,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm5,%xmm5 -vpxor %xmm15,%xmm14,%xmm14 -vmovdqa %xmm13,32(%rsp) -vmovdqa %xmm14,80(%rsp) -vmovdqa 48(%rsp),%xmm13 -vmovdqa 128(%rsp),%xmm14 -vpxor %xmm13,%xmm6,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm6,%xmm6 -vpxor %xmm15,%xmm13,%xmm13 -vpxor %xmm14,%xmm7,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm7,%xmm7 -vpxor %xmm15,%xmm14,%xmm14 -vmovdqa %xmm13,48(%rsp) -vmovdqa %xmm14,96(%rsp) -vmovdqa 64(%rsp),%xmm13 -vmovdqa 144(%rsp),%xmm14 -vpxor %xmm13,%xmm8,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm8,%xmm8 -vpxor %xmm15,%xmm13,%xmm13 -vpxor %xmm14,%xmm9,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm9,%xmm9 -vpxor %xmm15,%xmm14,%xmm14 -vmovdqa %xmm13,64(%rsp) -vmovdqa %xmm14,112(%rsp) -vpaddq subc0(%rip),%xmm11,%xmm10 -vpsubq %xmm12,%xmm10,%xmm10 -vpaddq %xmm12,%xmm11,%xmm11 -vpunpckhqdq %xmm10,%xmm11,%xmm12 -vpunpcklqdq %xmm10,%xmm11,%xmm10 -vpaddq %xmm1,%xmm0,%xmm11 -vpaddq subc0(%rip),%xmm0,%xmm0 -vpsubq %xmm1,%xmm0,%xmm0 -vpunpckhqdq %xmm11,%xmm0,%xmm1 -vpunpcklqdq %xmm11,%xmm0,%xmm0 -vpmuludq %xmm0,%xmm10,%xmm11 -vpmuludq %xmm1,%xmm10,%xmm13 -vmovdqa %xmm1,128(%rsp) -vpaddq %xmm1,%xmm1,%xmm1 -vpmuludq %xmm0,%xmm12,%xmm14 -vmovdqa %xmm0,144(%rsp) -vpaddq %xmm14,%xmm13,%xmm13 -vpmuludq %xmm1,%xmm12,%xmm0 -vmovdqa %xmm1,448(%rsp) -vpaddq %xmm3,%xmm2,%xmm1 -vpaddq subc2(%rip),%xmm2,%xmm2 -vpsubq %xmm3,%xmm2,%xmm2 -vpunpckhqdq %xmm1,%xmm2,%xmm3 -vpunpcklqdq %xmm1,%xmm2,%xmm1 -vpmuludq %xmm1,%xmm10,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vpmuludq %xmm3,%xmm10,%xmm2 -vmovdqa %xmm3,464(%rsp) -vpaddq %xmm3,%xmm3,%xmm3 -vpmuludq %xmm1,%xmm12,%xmm14 -vmovdqa %xmm1,480(%rsp) -vpaddq %xmm14,%xmm2,%xmm2 -vpmuludq %xmm3,%xmm12,%xmm1 -vmovdqa %xmm3,496(%rsp) -vpaddq %xmm5,%xmm4,%xmm3 -vpaddq subc2(%rip),%xmm4,%xmm4 -vpsubq %xmm5,%xmm4,%xmm4 -vpunpckhqdq %xmm3,%xmm4,%xmm5 -vpunpcklqdq %xmm3,%xmm4,%xmm3 -vpmuludq %xmm3,%xmm10,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vpmuludq %xmm5,%xmm10,%xmm4 -vmovdqa %xmm5,512(%rsp) -vpaddq %xmm5,%xmm5,%xmm5 -vpmuludq %xmm3,%xmm12,%xmm14 -vmovdqa %xmm3,528(%rsp) -vpaddq %xmm14,%xmm4,%xmm4 -vpaddq %xmm7,%xmm6,%xmm3 -vpaddq subc2(%rip),%xmm6,%xmm6 -vpsubq %xmm7,%xmm6,%xmm6 -vpunpckhqdq %xmm3,%xmm6,%xmm7 -vpunpcklqdq %xmm3,%xmm6,%xmm3 -vpmuludq %xmm3,%xmm10,%xmm6 -vpmuludq %xmm5,%xmm12,%xmm14 -vmovdqa %xmm5,544(%rsp) -vpmuludq v19_19(%rip),%xmm5,%xmm5 -vmovdqa %xmm5,560(%rsp) -vpaddq %xmm14,%xmm6,%xmm6 -vpmuludq %xmm7,%xmm10,%xmm5 -vmovdqa %xmm7,576(%rsp) -vpaddq %xmm7,%xmm7,%xmm7 -vpmuludq %xmm3,%xmm12,%xmm14 -vmovdqa %xmm3,592(%rsp) -vpaddq %xmm14,%xmm5,%xmm5 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vmovdqa %xmm3,608(%rsp) -vpaddq %xmm9,%xmm8,%xmm3 -vpaddq subc2(%rip),%xmm8,%xmm8 -vpsubq %xmm9,%xmm8,%xmm8 -vpunpckhqdq %xmm3,%xmm8,%xmm9 -vpunpcklqdq %xmm3,%xmm8,%xmm3 -vmovdqa %xmm3,624(%rsp) -vpmuludq %xmm7,%xmm12,%xmm8 -vmovdqa %xmm7,640(%rsp) -vpmuludq v19_19(%rip),%xmm7,%xmm7 -vmovdqa %xmm7,656(%rsp) -vpmuludq %xmm3,%xmm10,%xmm7 -vpaddq %xmm7,%xmm8,%xmm8 -vpmuludq %xmm9,%xmm10,%xmm7 -vmovdqa %xmm9,672(%rsp) -vpaddq %xmm9,%xmm9,%xmm9 -vpmuludq %xmm3,%xmm12,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vmovdqa %xmm3,688(%rsp) -vpmuludq v19_19(%rip),%xmm12,%xmm12 -vpmuludq %xmm9,%xmm12,%xmm3 -vmovdqa %xmm9,704(%rsp) -vpaddq %xmm3,%xmm11,%xmm11 -vmovdqa 0(%rsp),%xmm3 -vmovdqa 16(%rsp),%xmm9 -vpaddq subc2(%rip),%xmm3,%xmm10 -vpsubq %xmm9,%xmm10,%xmm10 -vpaddq %xmm9,%xmm3,%xmm3 -vpunpckhqdq %xmm10,%xmm3,%xmm9 -vpunpcklqdq %xmm10,%xmm3,%xmm3 -vpmuludq 144(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm0,%xmm0 -vpmuludq 128(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm2,%xmm2 -vpmuludq 480(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpmuludq 464(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm4,%xmm4 -vpmuludq 528(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm6,%xmm6 -vpmuludq 512(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm5,%xmm5 -vpmuludq 592(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpmuludq 576(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vpmuludq 624(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm11,%xmm11 -vpmuludq 672(%rsp),%xmm3,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 144(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 448(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm1,%xmm1 -vpmuludq 480(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 496(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 528(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 544(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm8,%xmm8 -vpmuludq 592(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm9,%xmm9 -vpmuludq 640(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 624(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 704(%rsp),%xmm9,%xmm9 -vpaddq %xmm9,%xmm0,%xmm0 -vmovdqa 32(%rsp),%xmm3 -vmovdqa 80(%rsp),%xmm9 -vpaddq subc2(%rip),%xmm3,%xmm10 -vpsubq %xmm9,%xmm10,%xmm10 -vpaddq %xmm9,%xmm3,%xmm3 -vpunpckhqdq %xmm10,%xmm3,%xmm9 -vpunpcklqdq %xmm10,%xmm3,%xmm3 -vpmuludq 144(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpmuludq 128(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm4,%xmm4 -vpmuludq 480(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm6,%xmm6 -vpmuludq 464(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm5,%xmm5 -vpmuludq 528(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpmuludq 512(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vpmuludq 592(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm11,%xmm11 -vpmuludq 576(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm13,%xmm13 -vpmuludq 624(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm0,%xmm0 -vpmuludq 672(%rsp),%xmm3,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 144(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 448(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 480(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 496(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm8,%xmm8 -vpmuludq 528(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm9,%xmm9 -vpmuludq 544(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 592(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 640(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm0,%xmm0 -vpmuludq 624(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 704(%rsp),%xmm9,%xmm9 -vpaddq %xmm9,%xmm1,%xmm1 -vmovdqa 48(%rsp),%xmm3 -vmovdqa 96(%rsp),%xmm9 -vpaddq subc2(%rip),%xmm3,%xmm10 -vpsubq %xmm9,%xmm10,%xmm10 -vpaddq %xmm9,%xmm3,%xmm3 -vpunpckhqdq %xmm10,%xmm3,%xmm9 -vpunpcklqdq %xmm10,%xmm3,%xmm3 -vpmuludq 144(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm6,%xmm6 -vpmuludq 128(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm5,%xmm5 -vpmuludq 480(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpmuludq 464(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vpmuludq 528(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm11,%xmm11 -vpmuludq 512(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm13,%xmm13 -vpmuludq 592(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm0,%xmm0 -vpmuludq 576(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm2,%xmm2 -vpmuludq 624(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpmuludq 672(%rsp),%xmm3,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 144(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 448(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm8,%xmm8 -vpmuludq 480(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm9,%xmm9 -vpmuludq 496(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 528(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 544(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm0,%xmm0 -vpmuludq 592(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 640(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm1,%xmm1 -vpmuludq 624(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 704(%rsp),%xmm9,%xmm9 -vpaddq %xmm9,%xmm6,%xmm6 -vmovdqa 64(%rsp),%xmm3 -vmovdqa 112(%rsp),%xmm9 -vpaddq subc2(%rip),%xmm3,%xmm10 -vpsubq %xmm9,%xmm10,%xmm10 -vpaddq %xmm9,%xmm3,%xmm3 -vpunpckhqdq %xmm10,%xmm3,%xmm9 -vpunpcklqdq %xmm10,%xmm3,%xmm3 -vpmuludq 144(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpmuludq 128(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vpmuludq 480(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm11,%xmm11 -vpmuludq 464(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm13,%xmm13 -vpmuludq 528(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm0,%xmm0 -vpmuludq 512(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm2,%xmm2 -vpmuludq 592(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpmuludq 576(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm4,%xmm4 -vpmuludq 624(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm6,%xmm6 -vpmuludq 672(%rsp),%xmm3,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 144(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm9,%xmm9 -vpmuludq 448(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 480(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 496(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm0,%xmm0 -vpmuludq 528(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 544(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm1,%xmm1 -vpmuludq 592(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 640(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 624(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 704(%rsp),%xmm9,%xmm9 -vpaddq %xmm9,%xmm8,%xmm8 -vpsrlq $25,%xmm4,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpand m25(%rip),%xmm4,%xmm4 -vpsrlq $26,%xmm11,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpand m26(%rip),%xmm11,%xmm11 -vpsrlq $26,%xmm6,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpand m26(%rip),%xmm6,%xmm6 -vpsrlq $25,%xmm13,%xmm3 -vpaddq %xmm3,%xmm0,%xmm0 -vpand m25(%rip),%xmm13,%xmm13 -vpsrlq $25,%xmm5,%xmm3 -vpaddq %xmm3,%xmm8,%xmm8 -vpand m25(%rip),%xmm5,%xmm5 -vpsrlq $26,%xmm0,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpand m26(%rip),%xmm0,%xmm0 -vpsrlq $26,%xmm8,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpand m26(%rip),%xmm8,%xmm8 -vpsrlq $25,%xmm2,%xmm3 -vpaddq %xmm3,%xmm1,%xmm1 -vpand m25(%rip),%xmm2,%xmm2 -vpsrlq $25,%xmm7,%xmm3 -vpsllq $4,%xmm3,%xmm9 -vpaddq %xmm3,%xmm11,%xmm11 -vpsllq $1,%xmm3,%xmm3 -vpaddq %xmm3,%xmm9,%xmm9 -vpaddq %xmm9,%xmm11,%xmm11 -vpand m25(%rip),%xmm7,%xmm7 -vpsrlq $26,%xmm1,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpand m26(%rip),%xmm1,%xmm1 -vpsrlq $26,%xmm11,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpand m26(%rip),%xmm11,%xmm11 -vpsrlq $25,%xmm4,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpand m25(%rip),%xmm4,%xmm4 -vpunpcklqdq %xmm13,%xmm11,%xmm3 -vpunpckhqdq %xmm13,%xmm11,%xmm9 -vpaddq subc0(%rip),%xmm9,%xmm10 -vpsubq %xmm3,%xmm10,%xmm10 -vpaddq %xmm9,%xmm3,%xmm3 -vpunpckhqdq %xmm3,%xmm10,%xmm9 -vpunpcklqdq %xmm3,%xmm10,%xmm10 -vpmuludq %xmm10,%xmm10,%xmm3 -vpaddq %xmm10,%xmm10,%xmm10 -vpmuludq %xmm9,%xmm10,%xmm11 -vpunpcklqdq %xmm2,%xmm0,%xmm12 -vpunpckhqdq %xmm2,%xmm0,%xmm0 -vpaddq subc2(%rip),%xmm0,%xmm2 -vpsubq %xmm12,%xmm2,%xmm2 -vpaddq %xmm0,%xmm12,%xmm12 -vpunpckhqdq %xmm12,%xmm2,%xmm0 -vpunpcklqdq %xmm12,%xmm2,%xmm2 -vpmuludq %xmm2,%xmm10,%xmm12 -vpaddq %xmm9,%xmm9,%xmm13 -vpmuludq %xmm13,%xmm9,%xmm9 -vpaddq %xmm9,%xmm12,%xmm12 -vpmuludq %xmm0,%xmm10,%xmm9 -vpmuludq %xmm2,%xmm13,%xmm14 -vpaddq %xmm14,%xmm9,%xmm9 -vpunpcklqdq %xmm4,%xmm1,%xmm14 -vpunpckhqdq %xmm4,%xmm1,%xmm1 -vpaddq subc2(%rip),%xmm1,%xmm4 -vpsubq %xmm14,%xmm4,%xmm4 -vpaddq %xmm1,%xmm14,%xmm14 -vpunpckhqdq %xmm14,%xmm4,%xmm1 -vpunpcklqdq %xmm14,%xmm4,%xmm4 -vmovdqa %xmm1,0(%rsp) -vpaddq %xmm1,%xmm1,%xmm1 -vmovdqa %xmm1,16(%rsp) -vpmuludq v19_19(%rip),%xmm1,%xmm1 -vmovdqa %xmm1,32(%rsp) -vpmuludq %xmm4,%xmm10,%xmm1 -vpmuludq %xmm2,%xmm2,%xmm14 -vpaddq %xmm14,%xmm1,%xmm1 -vpmuludq 0(%rsp),%xmm10,%xmm14 -vpmuludq %xmm4,%xmm13,%xmm15 -vpaddq %xmm15,%xmm14,%xmm14 -vpunpcklqdq %xmm5,%xmm6,%xmm15 -vpunpckhqdq %xmm5,%xmm6,%xmm5 -vpaddq subc2(%rip),%xmm5,%xmm6 -vpsubq %xmm15,%xmm6,%xmm6 -vpaddq %xmm5,%xmm15,%xmm15 -vpunpckhqdq %xmm15,%xmm6,%xmm5 -vpunpcklqdq %xmm15,%xmm6,%xmm6 -vmovdqa %xmm6,48(%rsp) -vpmuludq v19_19(%rip),%xmm6,%xmm6 -vmovdqa %xmm6,64(%rsp) -vmovdqa %xmm5,80(%rsp) -vpmuludq v38_38(%rip),%xmm5,%xmm5 -vmovdqa %xmm5,96(%rsp) -vpmuludq 48(%rsp),%xmm10,%xmm5 -vpaddq %xmm0,%xmm0,%xmm6 -vpmuludq %xmm6,%xmm0,%xmm0 -vpaddq %xmm0,%xmm5,%xmm5 -vpmuludq 80(%rsp),%xmm10,%xmm0 -vpmuludq %xmm4,%xmm6,%xmm15 -vpaddq %xmm15,%xmm0,%xmm0 -vpmuludq %xmm6,%xmm13,%xmm15 -vpaddq %xmm15,%xmm1,%xmm1 -vpmuludq %xmm6,%xmm2,%xmm15 -vpaddq %xmm15,%xmm14,%xmm14 -vpunpcklqdq %xmm7,%xmm8,%xmm15 -vpunpckhqdq %xmm7,%xmm8,%xmm7 -vpaddq subc2(%rip),%xmm7,%xmm8 -vpsubq %xmm15,%xmm8,%xmm8 -vpaddq %xmm7,%xmm15,%xmm15 -vpunpckhqdq %xmm15,%xmm8,%xmm7 -vpunpcklqdq %xmm15,%xmm8,%xmm8 -vmovdqa %xmm8,112(%rsp) -vpmuludq v19_19(%rip),%xmm8,%xmm8 -vmovdqa %xmm8,448(%rsp) -vpmuludq 112(%rsp),%xmm10,%xmm8 -vpmuludq %xmm7,%xmm10,%xmm10 -vpmuludq v38_38(%rip),%xmm7,%xmm15 -vpmuludq %xmm15,%xmm7,%xmm7 -vpaddq %xmm7,%xmm8,%xmm8 -vpmuludq %xmm15,%xmm13,%xmm7 -vpaddq %xmm7,%xmm3,%xmm3 -vpmuludq %xmm15,%xmm2,%xmm7 -vpaddq %xmm7,%xmm11,%xmm11 -vpmuludq 80(%rsp),%xmm13,%xmm7 -vpaddq %xmm7,%xmm7,%xmm7 -vpaddq %xmm7,%xmm8,%xmm8 -vpmuludq 16(%rsp),%xmm13,%xmm7 -vpaddq %xmm7,%xmm5,%xmm5 -vpmuludq 48(%rsp),%xmm13,%xmm7 -vpaddq %xmm7,%xmm0,%xmm0 -vpmuludq 112(%rsp),%xmm13,%xmm7 -vpaddq %xmm7,%xmm10,%xmm10 -vpmuludq %xmm15,%xmm6,%xmm7 -vpaddq %xmm7,%xmm12,%xmm12 -vpmuludq %xmm15,%xmm4,%xmm7 -vpaddq %xmm7,%xmm9,%xmm9 -vpaddq %xmm2,%xmm2,%xmm2 -vpmuludq %xmm4,%xmm2,%xmm7 -vpaddq %xmm7,%xmm5,%xmm5 -vpmuludq 448(%rsp),%xmm2,%xmm7 -vpaddq %xmm7,%xmm3,%xmm3 -vpmuludq 448(%rsp),%xmm6,%xmm7 -vpaddq %xmm7,%xmm11,%xmm11 -vpmuludq 0(%rsp),%xmm2,%xmm7 -vpaddq %xmm7,%xmm0,%xmm0 -vpmuludq 48(%rsp),%xmm2,%xmm7 -vpaddq %xmm7,%xmm8,%xmm8 -vpmuludq 80(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 96(%rsp),%xmm4,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpmuludq %xmm4,%xmm4,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpaddq %xmm4,%xmm4,%xmm2 -vpmuludq 448(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm12,%xmm12 -vpmuludq 16(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vpmuludq 48(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm14,%xmm14 -vpmuludq 96(%rsp),%xmm6,%xmm4 -vpaddq %xmm4,%xmm3,%xmm3 -vmovdqa 16(%rsp),%xmm4 -vpmuludq 448(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm9,%xmm9 -vpmuludq 16(%rsp),%xmm6,%xmm4 -vpaddq %xmm4,%xmm8,%xmm8 -vpmuludq 48(%rsp),%xmm6,%xmm4 -vpaddq %xmm4,%xmm10,%xmm10 -vpmuludq 80(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm4,%xmm4 -vpaddq %xmm4,%xmm5,%xmm5 -vpmuludq 112(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm0,%xmm0 -vmovdqa 48(%rsp),%xmm4 -vpaddq %xmm4,%xmm4,%xmm4 -vpmuludq 448(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vmovdqa 80(%rsp),%xmm4 -vpaddq %xmm4,%xmm4,%xmm4 -vpmuludq 448(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm14,%xmm14 -vpmuludq 64(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm3,%xmm3 -vmovdqa 16(%rsp),%xmm4 -vpmuludq 64(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm11,%xmm11 -vmovdqa 16(%rsp),%xmm4 -vpmuludq 96(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm12,%xmm12 -vmovdqa 48(%rsp),%xmm4 -vpmuludq 96(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm9,%xmm9 -vpmuludq 0(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vmovdqa 32(%rsp),%xmm2 -vpmuludq 0(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm3,%xmm3 -vmovdqa 64(%rsp),%xmm2 -vpmuludq 48(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vmovdqa 96(%rsp),%xmm2 -vpmuludq 80(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm1,%xmm1 -vmovdqa 448(%rsp),%xmm2 -vpmuludq 112(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpsrlq $26,%xmm3,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpand m26(%rip),%xmm3,%xmm3 -vpsrlq $25,%xmm14,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpand m25(%rip),%xmm14,%xmm14 -vpsrlq $25,%xmm11,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpand m25(%rip),%xmm11,%xmm11 -vpsrlq $26,%xmm5,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vpand m26(%rip),%xmm5,%xmm5 -vpsrlq $26,%xmm12,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpand m26(%rip),%xmm12,%xmm12 -vpsrlq $25,%xmm0,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpand m25(%rip),%xmm0,%xmm0 -vpsrlq $25,%xmm9,%xmm2 -vpaddq %xmm2,%xmm1,%xmm1 -vpand m25(%rip),%xmm9,%xmm9 -vpsrlq $26,%xmm8,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpand m26(%rip),%xmm8,%xmm8 -vpsrlq $26,%xmm1,%xmm2 -vpaddq %xmm2,%xmm14,%xmm14 -vpand m26(%rip),%xmm1,%xmm1 -vpsrlq $25,%xmm10,%xmm2 -vpsllq $4,%xmm2,%xmm4 -vpaddq %xmm2,%xmm3,%xmm3 -vpsllq $1,%xmm2,%xmm2 -vpaddq %xmm2,%xmm4,%xmm4 -vpaddq %xmm4,%xmm3,%xmm3 -vpand m25(%rip),%xmm10,%xmm10 -vpsrlq $25,%xmm14,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpand m25(%rip),%xmm14,%xmm14 -vpsrlq $26,%xmm3,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpand m26(%rip),%xmm3,%xmm3 -vpunpckhqdq %xmm11,%xmm3,%xmm2 -vmovdqa %xmm2,0(%rsp) -vpshufd $0,%xmm3,%xmm2 -vpshufd $0,%xmm11,%xmm3 -vpmuludq 160(%rsp),%xmm2,%xmm4 -vpmuludq 432(%rsp),%xmm3,%xmm6 -vpaddq %xmm6,%xmm4,%xmm4 -vpmuludq 176(%rsp),%xmm2,%xmm6 -vpmuludq 304(%rsp),%xmm3,%xmm7 -vpaddq %xmm7,%xmm6,%xmm6 -vpmuludq 208(%rsp),%xmm2,%xmm7 -vpmuludq 336(%rsp),%xmm3,%xmm11 -vpaddq %xmm11,%xmm7,%xmm7 -vpmuludq 240(%rsp),%xmm2,%xmm11 -vpmuludq 368(%rsp),%xmm3,%xmm13 -vpaddq %xmm13,%xmm11,%xmm11 -vpmuludq 272(%rsp),%xmm2,%xmm2 -vpmuludq 400(%rsp),%xmm3,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpunpckhqdq %xmm9,%xmm12,%xmm3 -vmovdqa %xmm3,16(%rsp) -vpshufd $0,%xmm12,%xmm3 -vpshufd $0,%xmm9,%xmm9 -vpmuludq 288(%rsp),%xmm3,%xmm12 -vpaddq %xmm12,%xmm4,%xmm4 -vpmuludq 416(%rsp),%xmm9,%xmm12 -vpaddq %xmm12,%xmm4,%xmm4 -vpmuludq 160(%rsp),%xmm3,%xmm12 -vpaddq %xmm12,%xmm6,%xmm6 -vpmuludq 432(%rsp),%xmm9,%xmm12 -vpaddq %xmm12,%xmm6,%xmm6 -vpmuludq 176(%rsp),%xmm3,%xmm12 -vpaddq %xmm12,%xmm7,%xmm7 -vpmuludq 304(%rsp),%xmm9,%xmm12 -vpaddq %xmm12,%xmm7,%xmm7 -vpmuludq 208(%rsp),%xmm3,%xmm12 -vpaddq %xmm12,%xmm11,%xmm11 -vpmuludq 336(%rsp),%xmm9,%xmm12 -vpaddq %xmm12,%xmm11,%xmm11 -vpmuludq 240(%rsp),%xmm3,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 368(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpunpckhqdq %xmm14,%xmm1,%xmm3 -vmovdqa %xmm3,32(%rsp) -vpshufd $0,%xmm1,%xmm1 -vpshufd $0,%xmm14,%xmm3 -vpmuludq 256(%rsp),%xmm1,%xmm9 -vpaddq %xmm9,%xmm4,%xmm4 -vpmuludq 384(%rsp),%xmm3,%xmm9 -vpaddq %xmm9,%xmm4,%xmm4 -vpmuludq 288(%rsp),%xmm1,%xmm9 -vpaddq %xmm9,%xmm6,%xmm6 -vpmuludq 416(%rsp),%xmm3,%xmm9 -vpaddq %xmm9,%xmm6,%xmm6 -vpmuludq 160(%rsp),%xmm1,%xmm9 -vpaddq %xmm9,%xmm7,%xmm7 -vpmuludq 432(%rsp),%xmm3,%xmm9 -vpaddq %xmm9,%xmm7,%xmm7 -vpmuludq 176(%rsp),%xmm1,%xmm9 -vpaddq %xmm9,%xmm11,%xmm11 -vpmuludq 304(%rsp),%xmm3,%xmm9 -vpaddq %xmm9,%xmm11,%xmm11 -vpmuludq 208(%rsp),%xmm1,%xmm1 -vpaddq %xmm1,%xmm2,%xmm2 -vpmuludq 336(%rsp),%xmm3,%xmm1 -vpaddq %xmm1,%xmm2,%xmm2 -vpunpckhqdq %xmm0,%xmm5,%xmm1 -vmovdqa %xmm1,48(%rsp) -vpshufd $0,%xmm5,%xmm1 -vpshufd $0,%xmm0,%xmm0 -vpmuludq 224(%rsp),%xmm1,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 352(%rsp),%xmm0,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 256(%rsp),%xmm1,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 384(%rsp),%xmm0,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 288(%rsp),%xmm1,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq 416(%rsp),%xmm0,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq 160(%rsp),%xmm1,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 432(%rsp),%xmm0,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 176(%rsp),%xmm1,%xmm1 -vpaddq %xmm1,%xmm2,%xmm2 -vpmuludq 304(%rsp),%xmm0,%xmm0 -vpaddq %xmm0,%xmm2,%xmm2 -vpunpckhqdq %xmm10,%xmm8,%xmm0 -vmovdqa %xmm0,64(%rsp) -vpshufd $0,%xmm8,%xmm0 -vpshufd $0,%xmm10,%xmm1 -vpmuludq 192(%rsp),%xmm0,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 320(%rsp),%xmm1,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 224(%rsp),%xmm0,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 352(%rsp),%xmm1,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 256(%rsp),%xmm0,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq 384(%rsp),%xmm1,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq 288(%rsp),%xmm0,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 416(%rsp),%xmm1,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 160(%rsp),%xmm0,%xmm0 -vpaddq %xmm0,%xmm2,%xmm2 -vpmuludq 432(%rsp),%xmm1,%xmm0 -vpaddq %xmm0,%xmm2,%xmm2 -vmovdqa %xmm4,80(%rsp) -vmovdqa %xmm6,96(%rsp) -vmovdqa %xmm7,112(%rsp) -vmovdqa %xmm11,448(%rsp) -vmovdqa %xmm2,496(%rsp) -vmovdqa 144(%rsp),%xmm0 -vpmuludq %xmm0,%xmm0,%xmm1 -vpaddq %xmm0,%xmm0,%xmm0 -vmovdqa 128(%rsp),%xmm2 -vpmuludq %xmm2,%xmm0,%xmm3 -vmovdqa 480(%rsp),%xmm4 -vpmuludq %xmm4,%xmm0,%xmm5 -vmovdqa 464(%rsp),%xmm6 -vpmuludq %xmm6,%xmm0,%xmm7 -vmovdqa 528(%rsp),%xmm8 -vpmuludq %xmm8,%xmm0,%xmm9 -vpmuludq 512(%rsp),%xmm0,%xmm10 -vpmuludq 592(%rsp),%xmm0,%xmm11 -vpmuludq 576(%rsp),%xmm0,%xmm12 -vpmuludq 624(%rsp),%xmm0,%xmm13 -vmovdqa 672(%rsp),%xmm14 -vpmuludq %xmm14,%xmm0,%xmm0 -vpmuludq v38_38(%rip),%xmm14,%xmm15 -vpmuludq %xmm15,%xmm14,%xmm14 -vpaddq %xmm14,%xmm13,%xmm13 -vpaddq %xmm6,%xmm6,%xmm14 -vpmuludq %xmm14,%xmm6,%xmm6 -vpaddq %xmm6,%xmm11,%xmm11 -vpaddq %xmm2,%xmm2,%xmm6 -vpmuludq %xmm6,%xmm2,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpmuludq %xmm15,%xmm6,%xmm2 -vpaddq %xmm2,%xmm1,%xmm1 -vpmuludq %xmm15,%xmm4,%xmm2 -vpaddq %xmm2,%xmm3,%xmm3 -vpmuludq 544(%rsp),%xmm6,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpmuludq 592(%rsp),%xmm6,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 640(%rsp),%xmm6,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpmuludq 624(%rsp),%xmm6,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vpmuludq %xmm4,%xmm6,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpmuludq %xmm14,%xmm6,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpmuludq %xmm8,%xmm6,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq %xmm15,%xmm14,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpmuludq %xmm15,%xmm8,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpmuludq %xmm4,%xmm4,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpmuludq %xmm14,%xmm4,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpaddq %xmm4,%xmm4,%xmm2 -vpmuludq %xmm8,%xmm2,%xmm4 -vpaddq %xmm4,%xmm11,%xmm11 -vpmuludq 688(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vpmuludq 688(%rsp),%xmm14,%xmm4 -vpaddq %xmm4,%xmm3,%xmm3 -vpmuludq 512(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm12,%xmm12 -vpmuludq 592(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm13,%xmm13 -vpmuludq 576(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vpmuludq 656(%rsp),%xmm8,%xmm2 -vpaddq %xmm2,%xmm3,%xmm3 -vpmuludq %xmm8,%xmm14,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq %xmm8,%xmm8,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpaddq %xmm8,%xmm8,%xmm2 -vpmuludq 688(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm5,%xmm5 -vpmuludq 544(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm9,%xmm9 -vpmuludq 592(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm10,%xmm10 -vpmuludq 656(%rsp),%xmm14,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vmovdqa 544(%rsp),%xmm4 -vpmuludq 688(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm7,%xmm7 -vpmuludq 544(%rsp),%xmm14,%xmm4 -vpaddq %xmm4,%xmm13,%xmm13 -vpmuludq 592(%rsp),%xmm14,%xmm4 -vpaddq %xmm4,%xmm0,%xmm0 -vpmuludq 640(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm11,%xmm11 -vpmuludq 624(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm12,%xmm12 -vmovdqa 592(%rsp),%xmm4 -vpaddq %xmm4,%xmm4,%xmm4 -vpmuludq 688(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm9,%xmm9 -vpmuludq 608(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vmovdqa 544(%rsp),%xmm4 -vpmuludq 608(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm3,%xmm3 -vmovdqa 544(%rsp),%xmm4 -vpmuludq 656(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm5,%xmm5 -vmovdqa 592(%rsp),%xmm4 -vpmuludq 656(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm7,%xmm7 -vmovdqa 640(%rsp),%xmm4 -vpmuludq 688(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm10,%xmm10 -vpmuludq 512(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vmovdqa 560(%rsp),%xmm2 -vpmuludq 512(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm1,%xmm1 -vmovdqa 608(%rsp),%xmm2 -vpmuludq 592(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vmovdqa 656(%rsp),%xmm2 -vpmuludq 576(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vmovdqa 688(%rsp),%xmm2 -vpmuludq 624(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpsrlq $26,%xmm1,%xmm2 -vpaddq %xmm2,%xmm3,%xmm3 -vpand m26(%rip),%xmm1,%xmm1 -vpsrlq $25,%xmm10,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpand m25(%rip),%xmm10,%xmm10 -vpsrlq $25,%xmm3,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpand m25(%rip),%xmm3,%xmm3 -vpsrlq $26,%xmm11,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpand m26(%rip),%xmm11,%xmm11 -vpsrlq $26,%xmm5,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpand m26(%rip),%xmm5,%xmm5 -vpsrlq $25,%xmm12,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpand m25(%rip),%xmm12,%xmm12 -vpsrlq $25,%xmm7,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpand m25(%rip),%xmm7,%xmm7 -vpsrlq $26,%xmm13,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vpand m26(%rip),%xmm13,%xmm13 -vpsrlq $26,%xmm9,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpand m26(%rip),%xmm9,%xmm9 -vpsrlq $25,%xmm0,%xmm2 -vpsllq $4,%xmm2,%xmm4 -vpaddq %xmm2,%xmm1,%xmm1 -vpsllq $1,%xmm2,%xmm2 -vpaddq %xmm2,%xmm4,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vpand m25(%rip),%xmm0,%xmm0 -vpsrlq $25,%xmm10,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpand m25(%rip),%xmm10,%xmm10 -vpsrlq $26,%xmm1,%xmm2 -vpaddq %xmm2,%xmm3,%xmm3 -vpand m26(%rip),%xmm1,%xmm1 -vpunpckhqdq %xmm3,%xmm1,%xmm2 -vpunpcklqdq %xmm3,%xmm1,%xmm1 -vmovdqa %xmm1,464(%rsp) -vpaddq subc0(%rip),%xmm2,%xmm3 -vpsubq %xmm1,%xmm3,%xmm3 -vpunpckhqdq %xmm3,%xmm2,%xmm1 -vpunpcklqdq %xmm3,%xmm2,%xmm2 -vmovdqa %xmm2,480(%rsp) -vmovdqa %xmm1,512(%rsp) -vpsllq $1,%xmm1,%xmm1 -vmovdqa %xmm1,528(%rsp) -vpmuludq v121666_121666(%rip),%xmm3,%xmm3 -vmovdqa 80(%rsp),%xmm1 -vpunpcklqdq %xmm1,%xmm3,%xmm2 -vpunpckhqdq %xmm1,%xmm3,%xmm1 -vpunpckhqdq %xmm7,%xmm5,%xmm3 -vpunpcklqdq %xmm7,%xmm5,%xmm4 -vmovdqa %xmm4,544(%rsp) -vpaddq subc2(%rip),%xmm3,%xmm5 -vpsubq %xmm4,%xmm5,%xmm5 -vpunpckhqdq %xmm5,%xmm3,%xmm4 -vpunpcklqdq %xmm5,%xmm3,%xmm3 -vmovdqa %xmm3,560(%rsp) -vmovdqa %xmm4,576(%rsp) -vpsllq $1,%xmm4,%xmm4 -vmovdqa %xmm4,592(%rsp) -vpmuludq v121666_121666(%rip),%xmm5,%xmm5 -vmovdqa 96(%rsp),%xmm3 -vpunpcklqdq %xmm3,%xmm5,%xmm4 -vpunpckhqdq %xmm3,%xmm5,%xmm3 -vpunpckhqdq %xmm10,%xmm9,%xmm5 -vpunpcklqdq %xmm10,%xmm9,%xmm6 -vmovdqa %xmm6,608(%rsp) -vpaddq subc2(%rip),%xmm5,%xmm7 -vpsubq %xmm6,%xmm7,%xmm7 -vpunpckhqdq %xmm7,%xmm5,%xmm6 -vpunpcklqdq %xmm7,%xmm5,%xmm5 -vmovdqa %xmm5,624(%rsp) -vmovdqa %xmm6,640(%rsp) -vpsllq $1,%xmm6,%xmm6 -vmovdqa %xmm6,656(%rsp) -vpmuludq v121666_121666(%rip),%xmm7,%xmm7 -vmovdqa 112(%rsp),%xmm5 -vpunpcklqdq %xmm5,%xmm7,%xmm6 -vpunpckhqdq %xmm5,%xmm7,%xmm5 -vpunpckhqdq %xmm12,%xmm11,%xmm7 -vpunpcklqdq %xmm12,%xmm11,%xmm8 -vmovdqa %xmm8,672(%rsp) -vpaddq subc2(%rip),%xmm7,%xmm9 -vpsubq %xmm8,%xmm9,%xmm9 -vpunpckhqdq %xmm9,%xmm7,%xmm8 -vpunpcklqdq %xmm9,%xmm7,%xmm7 -vmovdqa %xmm7,688(%rsp) -vmovdqa %xmm8,704(%rsp) -vpsllq $1,%xmm8,%xmm8 -vmovdqa %xmm8,720(%rsp) -vpmuludq v121666_121666(%rip),%xmm9,%xmm9 -vmovdqa 448(%rsp),%xmm7 -vpunpcklqdq %xmm7,%xmm9,%xmm8 -vpunpckhqdq %xmm7,%xmm9,%xmm7 -vpunpckhqdq %xmm0,%xmm13,%xmm9 -vpunpcklqdq %xmm0,%xmm13,%xmm0 -vmovdqa %xmm0,448(%rsp) -vpaddq subc2(%rip),%xmm9,%xmm10 -vpsubq %xmm0,%xmm10,%xmm10 -vpunpckhqdq %xmm10,%xmm9,%xmm0 -vpunpcklqdq %xmm10,%xmm9,%xmm9 -vmovdqa %xmm9,736(%rsp) -vmovdqa %xmm0,752(%rsp) -vpsllq $1,%xmm0,%xmm0 -vmovdqa %xmm0,768(%rsp) -vpmuludq v121666_121666(%rip),%xmm10,%xmm10 -vmovdqa 496(%rsp),%xmm0 -vpunpcklqdq %xmm0,%xmm10,%xmm9 -vpunpckhqdq %xmm0,%xmm10,%xmm0 -vpsrlq $26,%xmm2,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpand m26(%rip),%xmm2,%xmm2 -vpsrlq $25,%xmm5,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpand m25(%rip),%xmm5,%xmm5 -vpsrlq $25,%xmm1,%xmm10 -vpaddq %xmm10,%xmm4,%xmm4 -vpand m25(%rip),%xmm1,%xmm1 -vpsrlq $26,%xmm8,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpand m26(%rip),%xmm8,%xmm8 -vpsrlq $26,%xmm4,%xmm10 -vpaddq %xmm10,%xmm3,%xmm3 -vpand m26(%rip),%xmm4,%xmm4 -vpsrlq $25,%xmm7,%xmm10 -vpaddq %xmm10,%xmm9,%xmm9 -vpand m25(%rip),%xmm7,%xmm7 -vpsrlq $25,%xmm3,%xmm10 -vpaddq %xmm10,%xmm6,%xmm6 -vpand m25(%rip),%xmm3,%xmm3 -vpsrlq $26,%xmm9,%xmm10 -vpaddq %xmm10,%xmm0,%xmm0 -vpand m26(%rip),%xmm9,%xmm9 -vpsrlq $26,%xmm6,%xmm10 -vpaddq %xmm10,%xmm5,%xmm5 -vpand m26(%rip),%xmm6,%xmm6 -vpsrlq $25,%xmm0,%xmm10 -vpsllq $4,%xmm10,%xmm11 -vpaddq %xmm10,%xmm2,%xmm2 -vpsllq $1,%xmm10,%xmm10 -vpaddq %xmm10,%xmm11,%xmm11 -vpaddq %xmm11,%xmm2,%xmm2 -vpand m25(%rip),%xmm0,%xmm0 -vpsrlq $25,%xmm5,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpand m25(%rip),%xmm5,%xmm5 -vpsrlq $26,%xmm2,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpand m26(%rip),%xmm2,%xmm2 -vpunpckhqdq %xmm1,%xmm2,%xmm10 -vmovdqa %xmm10,80(%rsp) -vpunpcklqdq %xmm1,%xmm2,%xmm1 -vpunpckhqdq %xmm3,%xmm4,%xmm2 -vmovdqa %xmm2,96(%rsp) -vpunpcklqdq %xmm3,%xmm4,%xmm2 -vpunpckhqdq %xmm5,%xmm6,%xmm3 -vmovdqa %xmm3,112(%rsp) -vpunpcklqdq %xmm5,%xmm6,%xmm3 -vpunpckhqdq %xmm7,%xmm8,%xmm4 -vmovdqa %xmm4,128(%rsp) -vpunpcklqdq %xmm7,%xmm8,%xmm4 -vpunpckhqdq %xmm0,%xmm9,%xmm5 -vmovdqa %xmm5,144(%rsp) -vpunpcklqdq %xmm0,%xmm9,%xmm0 -vmovdqa 464(%rsp),%xmm5 -vpaddq %xmm5,%xmm1,%xmm1 -vpunpcklqdq %xmm1,%xmm5,%xmm6 -vpunpckhqdq %xmm1,%xmm5,%xmm1 -vpmuludq 512(%rsp),%xmm6,%xmm5 -vpmuludq 480(%rsp),%xmm1,%xmm7 -vpaddq %xmm7,%xmm5,%xmm5 -vpmuludq 560(%rsp),%xmm6,%xmm7 -vpmuludq 528(%rsp),%xmm1,%xmm8 -vpaddq %xmm8,%xmm7,%xmm7 -vpmuludq 576(%rsp),%xmm6,%xmm8 -vpmuludq 560(%rsp),%xmm1,%xmm9 -vpaddq %xmm9,%xmm8,%xmm8 -vpmuludq 624(%rsp),%xmm6,%xmm9 -vpmuludq 592(%rsp),%xmm1,%xmm10 -vpaddq %xmm10,%xmm9,%xmm9 -vpmuludq 640(%rsp),%xmm6,%xmm10 -vpmuludq 624(%rsp),%xmm1,%xmm11 -vpaddq %xmm11,%xmm10,%xmm10 -vpmuludq 688(%rsp),%xmm6,%xmm11 -vpmuludq 656(%rsp),%xmm1,%xmm12 -vpaddq %xmm12,%xmm11,%xmm11 -vpmuludq 704(%rsp),%xmm6,%xmm12 -vpmuludq 688(%rsp),%xmm1,%xmm13 -vpaddq %xmm13,%xmm12,%xmm12 -vpmuludq 736(%rsp),%xmm6,%xmm13 -vpmuludq 720(%rsp),%xmm1,%xmm14 -vpaddq %xmm14,%xmm13,%xmm13 -vpmuludq 752(%rsp),%xmm6,%xmm14 -vpmuludq 736(%rsp),%xmm1,%xmm15 -vpaddq %xmm15,%xmm14,%xmm14 -vpmuludq 480(%rsp),%xmm6,%xmm6 -vpmuludq v19_19(%rip),%xmm1,%xmm1 -vpmuludq 768(%rsp),%xmm1,%xmm1 -vpaddq %xmm1,%xmm6,%xmm6 -vmovdqa 544(%rsp),%xmm1 -vpaddq %xmm1,%xmm2,%xmm2 -vpunpcklqdq %xmm2,%xmm1,%xmm15 -vpunpckhqdq %xmm2,%xmm1,%xmm1 -vpmuludq 480(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpmuludq 512(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpmuludq 560(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpmuludq 576(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 624(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpmuludq 640(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 688(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpmuludq 704(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm15,%xmm15 -vpmuludq 736(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm6,%xmm6 -vpmuludq 752(%rsp),%xmm15,%xmm15 -vpaddq %xmm15,%xmm5,%xmm5 -vpmuludq 480(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpmuludq 528(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpmuludq 560(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 592(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpmuludq 624(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 656(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpmuludq 688(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm1,%xmm1 -vpmuludq 720(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm6,%xmm6 -vpmuludq 736(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpmuludq 768(%rsp),%xmm1,%xmm1 -vpaddq %xmm1,%xmm7,%xmm7 -vmovdqa 608(%rsp),%xmm1 -vpaddq %xmm1,%xmm3,%xmm3 -vpunpcklqdq %xmm3,%xmm1,%xmm2 -vpunpckhqdq %xmm3,%xmm1,%xmm1 -vpmuludq 480(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm9,%xmm9 -vpmuludq 512(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm10,%xmm10 -vpmuludq 560(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 576(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm12,%xmm12 -vpmuludq 624(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 640(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm2,%xmm2 -vpmuludq 688(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 704(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 736(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq 752(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpmuludq 480(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 528(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpmuludq 560(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 592(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpmuludq 624(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm1,%xmm1 -vpmuludq 656(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm6,%xmm6 -vpmuludq 688(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpmuludq 720(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpmuludq 736(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpmuludq 768(%rsp),%xmm1,%xmm1 -vpaddq %xmm1,%xmm9,%xmm9 -vmovdqa 672(%rsp),%xmm1 -vpaddq %xmm1,%xmm4,%xmm4 -vpunpcklqdq %xmm4,%xmm1,%xmm2 -vpunpckhqdq %xmm4,%xmm1,%xmm1 -vpmuludq 480(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 512(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm12,%xmm12 -vpmuludq 560(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 576(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm2,%xmm2 -vpmuludq 624(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 640(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 688(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq 704(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm8,%xmm8 -vpmuludq 736(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm9,%xmm9 -vpmuludq 752(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 480(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 528(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpmuludq 560(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm1,%xmm1 -vpmuludq 592(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm6,%xmm6 -vpmuludq 624(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpmuludq 656(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpmuludq 688(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpmuludq 720(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpmuludq 736(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 768(%rsp),%xmm1,%xmm1 -vpaddq %xmm1,%xmm11,%xmm11 -vmovdqa 448(%rsp),%xmm1 -vpaddq %xmm1,%xmm0,%xmm0 -vpunpcklqdq %xmm0,%xmm1,%xmm2 -vpunpckhqdq %xmm0,%xmm1,%xmm0 -vpmuludq 480(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm13,%xmm13 -vpmuludq 512(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm2,%xmm2 -vpmuludq 560(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm6,%xmm6 -vpmuludq 576(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm5,%xmm5 -vpmuludq 624(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm7,%xmm7 -vpmuludq 640(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm8,%xmm8 -vpmuludq 688(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm9,%xmm9 -vpmuludq 704(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm10,%xmm10 -vpmuludq 736(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm11,%xmm11 -vpmuludq 752(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 480(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm0,%xmm0 -vpmuludq 528(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm6,%xmm6 -vpmuludq 560(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm5,%xmm5 -vpmuludq 592(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm7,%xmm7 -vpmuludq 624(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm8,%xmm8 -vpmuludq 656(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm9,%xmm9 -vpmuludq 688(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm10,%xmm10 -vpmuludq 720(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm11,%xmm11 -vpmuludq 736(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm12,%xmm12 -vpmuludq 768(%rsp),%xmm0,%xmm0 -vpaddq %xmm0,%xmm13,%xmm13 -vpsrlq $26,%xmm6,%xmm0 -vpaddq %xmm0,%xmm5,%xmm5 -vpand m26(%rip),%xmm6,%xmm6 -vpsrlq $25,%xmm10,%xmm0 -vpaddq %xmm0,%xmm11,%xmm11 -vpand m25(%rip),%xmm10,%xmm10 -vpsrlq $25,%xmm5,%xmm0 -vpaddq %xmm0,%xmm7,%xmm7 -vpand m25(%rip),%xmm5,%xmm5 -vpsrlq $26,%xmm11,%xmm0 -vpaddq %xmm0,%xmm12,%xmm12 -vpand m26(%rip),%xmm11,%xmm11 -vpsrlq $26,%xmm7,%xmm0 -vpaddq %xmm0,%xmm8,%xmm8 -vpand m26(%rip),%xmm7,%xmm7 -vpsrlq $25,%xmm12,%xmm0 -vpaddq %xmm0,%xmm13,%xmm13 -vpand m25(%rip),%xmm12,%xmm12 -vpsrlq $25,%xmm8,%xmm0 -vpaddq %xmm0,%xmm9,%xmm9 -vpand m25(%rip),%xmm8,%xmm8 -vpsrlq $26,%xmm13,%xmm0 -vpaddq %xmm0,%xmm14,%xmm14 -vpand m26(%rip),%xmm13,%xmm13 -vpsrlq $26,%xmm9,%xmm0 -vpaddq %xmm0,%xmm10,%xmm10 -vpand m26(%rip),%xmm9,%xmm9 -vpsrlq $25,%xmm14,%xmm0 -vpsllq $4,%xmm0,%xmm1 -vpaddq %xmm0,%xmm6,%xmm6 -vpsllq $1,%xmm0,%xmm0 -vpaddq %xmm0,%xmm1,%xmm1 -vpaddq %xmm1,%xmm6,%xmm6 -vpand m25(%rip),%xmm14,%xmm14 -vpsrlq $25,%xmm10,%xmm0 -vpaddq %xmm0,%xmm11,%xmm11 -vpand m25(%rip),%xmm10,%xmm10 -vpsrlq $26,%xmm6,%xmm0 -vpaddq %xmm0,%xmm5,%xmm5 -vpand m26(%rip),%xmm6,%xmm6 -vpunpckhqdq %xmm5,%xmm6,%xmm1 -vpunpcklqdq %xmm5,%xmm6,%xmm0 -vpunpckhqdq %xmm8,%xmm7,%xmm3 -vpunpcklqdq %xmm8,%xmm7,%xmm2 -vpunpckhqdq %xmm10,%xmm9,%xmm5 -vpunpcklqdq %xmm10,%xmm9,%xmm4 -vpunpckhqdq %xmm12,%xmm11,%xmm7 -vpunpcklqdq %xmm12,%xmm11,%xmm6 -vpunpckhqdq %xmm14,%xmm13,%xmm9 -vpunpcklqdq %xmm14,%xmm13,%xmm8 -cmp $0,%rdx -jne ._ladder_loop -vmovdqu %xmm1,160(%rdi) -vmovdqu %xmm0,80(%rdi) -vmovdqu %xmm3,176(%rdi) -vmovdqu %xmm2,96(%rdi) -vmovdqu %xmm5,192(%rdi) -vmovdqu %xmm4,112(%rdi) -vmovdqu %xmm7,208(%rdi) -vmovdqu %xmm6,128(%rdi) -vmovdqu %xmm9,224(%rdi) -vmovdqu %xmm8,144(%rdi) -movq 1824(%rsp),%r11 -movq 1832(%rsp),%r12 -movq 1840(%rsp),%r13 -movq 1848(%rsp),%r14 -add %r11,%rsp -ret - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h deleted file mode 100644 index ccf4eca..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef ladder_H -#define ladder_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "fe.h" -#include "ladder_namespace.h" - -extern void ladder(fe *, const unsigned char *); - -#ifdef __cplusplus -} -#endif - -#endif /* ifndef ladder_H */ - diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.S b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.S deleted file mode 100644 index f290d25..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.S +++ /dev/null @@ -1,1295 +0,0 @@ -#ifdef IN_SANDY2X - -#include "ladder_base_namespace.h" -#include "consts_namespace.h" -.p2align 5 - -#ifdef ASM_HIDE_SYMBOL -ASM_HIDE_SYMBOL ladder_base -ASM_HIDE_SYMBOL _ladder_base -#endif -.globl ladder_base -.globl _ladder_base -#ifdef __ELF__ -.type ladder_base, @function -.type _ladder_base, @function -#endif -ladder_base: -_ladder_base: - -mov %rsp,%r11 -and $31,%r11 -add $1568,%r11 -sub %r11,%rsp -movq %r11,1536(%rsp) -movq %r12,1544(%rsp) -movq %r13,1552(%rsp) -vmovdqa v0_0(%rip),%xmm0 -vmovdqa v1_0(%rip),%xmm1 -vmovdqa v9_0(%rip),%xmm2 -vmovdqa %xmm2,0(%rsp) -vmovdqa %xmm0,16(%rsp) -vmovdqa %xmm0,32(%rsp) -vmovdqa %xmm0,48(%rsp) -vmovdqa %xmm0,64(%rsp) -vmovdqa %xmm1,80(%rsp) -vmovdqa %xmm0,96(%rsp) -vmovdqa %xmm0,112(%rsp) -vmovdqa %xmm0,128(%rsp) -vmovdqa %xmm0,144(%rsp) -vmovdqa %xmm1,%xmm0 -vpxor %xmm1,%xmm1,%xmm1 -vpxor %xmm2,%xmm2,%xmm2 -vpxor %xmm3,%xmm3,%xmm3 -vpxor %xmm4,%xmm4,%xmm4 -vpxor %xmm5,%xmm5,%xmm5 -vpxor %xmm6,%xmm6,%xmm6 -vpxor %xmm7,%xmm7,%xmm7 -vpxor %xmm8,%xmm8,%xmm8 -vpxor %xmm9,%xmm9,%xmm9 -movq 0(%rsi),%rdx -movq 8(%rsi),%rcx -movq 16(%rsi),%r8 -movq 24(%rsi),%r9 -shrd $1,%rcx,%rdx -shrd $1,%r8,%rcx -shrd $1,%r9,%r8 -shr $1,%r9 -xorq 0(%rsi),%rdx -xorq 8(%rsi),%rcx -xorq 16(%rsi),%r8 -xorq 24(%rsi),%r9 -leaq 512(%rsp),%rsi -mov $64,%rax - -.p2align 4 -._ladder_base_small_loop: -mov %rdx,%r10 -mov %rcx,%r11 -mov %r8,%r12 -mov %r9,%r13 -shr $1,%rdx -shr $1,%rcx -shr $1,%r8 -shr $1,%r9 -and $1,%r10d -and $1,%r11d -and $1,%r12d -and $1,%r13d -neg %r10 -neg %r11 -neg %r12 -neg %r13 -movl %r10d,0(%rsi) -movl %r11d,256(%rsi) -movl %r12d,512(%rsi) -movl %r13d,768(%rsi) -add $4,%rsi -sub $1,%rax -jne ._ladder_base_small_loop -mov $255,%rdx -add $760,%rsi - -.p2align 4 -._ladder_base_loop: -sub $1,%rdx -vbroadcastss 0(%rsi),%xmm10 -sub $4,%rsi -vmovdqa 0(%rsp),%xmm11 -vmovdqa 80(%rsp),%xmm12 -vpxor %xmm11,%xmm0,%xmm13 -vpand %xmm10,%xmm13,%xmm13 -vpxor %xmm13,%xmm0,%xmm0 -vpxor %xmm13,%xmm11,%xmm11 -vpxor %xmm12,%xmm1,%xmm13 -vpand %xmm10,%xmm13,%xmm13 -vpxor %xmm13,%xmm1,%xmm1 -vpxor %xmm13,%xmm12,%xmm12 -vmovdqa 16(%rsp),%xmm13 -vmovdqa 96(%rsp),%xmm14 -vpxor %xmm13,%xmm2,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm2,%xmm2 -vpxor %xmm15,%xmm13,%xmm13 -vpxor %xmm14,%xmm3,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm3,%xmm3 -vpxor %xmm15,%xmm14,%xmm14 -vmovdqa %xmm13,0(%rsp) -vmovdqa %xmm14,16(%rsp) -vmovdqa 32(%rsp),%xmm13 -vmovdqa 112(%rsp),%xmm14 -vpxor %xmm13,%xmm4,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm4,%xmm4 -vpxor %xmm15,%xmm13,%xmm13 -vpxor %xmm14,%xmm5,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm5,%xmm5 -vpxor %xmm15,%xmm14,%xmm14 -vmovdqa %xmm13,32(%rsp) -vmovdqa %xmm14,80(%rsp) -vmovdqa 48(%rsp),%xmm13 -vmovdqa 128(%rsp),%xmm14 -vpxor %xmm13,%xmm6,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm6,%xmm6 -vpxor %xmm15,%xmm13,%xmm13 -vpxor %xmm14,%xmm7,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm7,%xmm7 -vpxor %xmm15,%xmm14,%xmm14 -vmovdqa %xmm13,48(%rsp) -vmovdqa %xmm14,96(%rsp) -vmovdqa 64(%rsp),%xmm13 -vmovdqa 144(%rsp),%xmm14 -vpxor %xmm13,%xmm8,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm8,%xmm8 -vpxor %xmm15,%xmm13,%xmm13 -vpxor %xmm14,%xmm9,%xmm15 -vpand %xmm10,%xmm15,%xmm15 -vpxor %xmm15,%xmm9,%xmm9 -vpxor %xmm15,%xmm14,%xmm14 -vmovdqa %xmm13,64(%rsp) -vmovdqa %xmm14,112(%rsp) -vpaddq subc0(%rip),%xmm11,%xmm10 -vpsubq %xmm12,%xmm10,%xmm10 -vpaddq %xmm12,%xmm11,%xmm11 -vpunpckhqdq %xmm10,%xmm11,%xmm12 -vpunpcklqdq %xmm10,%xmm11,%xmm10 -vpaddq %xmm1,%xmm0,%xmm11 -vpaddq subc0(%rip),%xmm0,%xmm0 -vpsubq %xmm1,%xmm0,%xmm0 -vpunpckhqdq %xmm11,%xmm0,%xmm1 -vpunpcklqdq %xmm11,%xmm0,%xmm0 -vpmuludq %xmm0,%xmm10,%xmm11 -vpmuludq %xmm1,%xmm10,%xmm13 -vmovdqa %xmm1,128(%rsp) -vpaddq %xmm1,%xmm1,%xmm1 -vpmuludq %xmm0,%xmm12,%xmm14 -vmovdqa %xmm0,144(%rsp) -vpaddq %xmm14,%xmm13,%xmm13 -vpmuludq %xmm1,%xmm12,%xmm0 -vmovdqa %xmm1,160(%rsp) -vpaddq %xmm3,%xmm2,%xmm1 -vpaddq subc2(%rip),%xmm2,%xmm2 -vpsubq %xmm3,%xmm2,%xmm2 -vpunpckhqdq %xmm1,%xmm2,%xmm3 -vpunpcklqdq %xmm1,%xmm2,%xmm1 -vpmuludq %xmm1,%xmm10,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vpmuludq %xmm3,%xmm10,%xmm2 -vmovdqa %xmm3,176(%rsp) -vpaddq %xmm3,%xmm3,%xmm3 -vpmuludq %xmm1,%xmm12,%xmm14 -vmovdqa %xmm1,192(%rsp) -vpaddq %xmm14,%xmm2,%xmm2 -vpmuludq %xmm3,%xmm12,%xmm1 -vmovdqa %xmm3,208(%rsp) -vpaddq %xmm5,%xmm4,%xmm3 -vpaddq subc2(%rip),%xmm4,%xmm4 -vpsubq %xmm5,%xmm4,%xmm4 -vpunpckhqdq %xmm3,%xmm4,%xmm5 -vpunpcklqdq %xmm3,%xmm4,%xmm3 -vpmuludq %xmm3,%xmm10,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vpmuludq %xmm5,%xmm10,%xmm4 -vmovdqa %xmm5,224(%rsp) -vpaddq %xmm5,%xmm5,%xmm5 -vpmuludq %xmm3,%xmm12,%xmm14 -vmovdqa %xmm3,240(%rsp) -vpaddq %xmm14,%xmm4,%xmm4 -vpaddq %xmm7,%xmm6,%xmm3 -vpaddq subc2(%rip),%xmm6,%xmm6 -vpsubq %xmm7,%xmm6,%xmm6 -vpunpckhqdq %xmm3,%xmm6,%xmm7 -vpunpcklqdq %xmm3,%xmm6,%xmm3 -vpmuludq %xmm3,%xmm10,%xmm6 -vpmuludq %xmm5,%xmm12,%xmm14 -vmovdqa %xmm5,256(%rsp) -vpmuludq v19_19(%rip),%xmm5,%xmm5 -vmovdqa %xmm5,272(%rsp) -vpaddq %xmm14,%xmm6,%xmm6 -vpmuludq %xmm7,%xmm10,%xmm5 -vmovdqa %xmm7,288(%rsp) -vpaddq %xmm7,%xmm7,%xmm7 -vpmuludq %xmm3,%xmm12,%xmm14 -vmovdqa %xmm3,304(%rsp) -vpaddq %xmm14,%xmm5,%xmm5 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vmovdqa %xmm3,320(%rsp) -vpaddq %xmm9,%xmm8,%xmm3 -vpaddq subc2(%rip),%xmm8,%xmm8 -vpsubq %xmm9,%xmm8,%xmm8 -vpunpckhqdq %xmm3,%xmm8,%xmm9 -vpunpcklqdq %xmm3,%xmm8,%xmm3 -vmovdqa %xmm3,336(%rsp) -vpmuludq %xmm7,%xmm12,%xmm8 -vmovdqa %xmm7,352(%rsp) -vpmuludq v19_19(%rip),%xmm7,%xmm7 -vmovdqa %xmm7,368(%rsp) -vpmuludq %xmm3,%xmm10,%xmm7 -vpaddq %xmm7,%xmm8,%xmm8 -vpmuludq %xmm9,%xmm10,%xmm7 -vmovdqa %xmm9,384(%rsp) -vpaddq %xmm9,%xmm9,%xmm9 -vpmuludq %xmm3,%xmm12,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vmovdqa %xmm3,400(%rsp) -vpmuludq v19_19(%rip),%xmm12,%xmm12 -vpmuludq %xmm9,%xmm12,%xmm3 -vmovdqa %xmm9,416(%rsp) -vpaddq %xmm3,%xmm11,%xmm11 -vmovdqa 0(%rsp),%xmm3 -vmovdqa 16(%rsp),%xmm9 -vpaddq subc2(%rip),%xmm3,%xmm10 -vpsubq %xmm9,%xmm10,%xmm10 -vpaddq %xmm9,%xmm3,%xmm3 -vpunpckhqdq %xmm10,%xmm3,%xmm9 -vpunpcklqdq %xmm10,%xmm3,%xmm3 -vpmuludq 144(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm0,%xmm0 -vpmuludq 128(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm2,%xmm2 -vpmuludq 192(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpmuludq 176(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm4,%xmm4 -vpmuludq 240(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm6,%xmm6 -vpmuludq 224(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm5,%xmm5 -vpmuludq 304(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpmuludq 288(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vpmuludq 336(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm11,%xmm11 -vpmuludq 384(%rsp),%xmm3,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 144(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 160(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm1,%xmm1 -vpmuludq 192(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 208(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 240(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 256(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm8,%xmm8 -vpmuludq 304(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm9,%xmm9 -vpmuludq 352(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 336(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 416(%rsp),%xmm9,%xmm9 -vpaddq %xmm9,%xmm0,%xmm0 -vmovdqa 32(%rsp),%xmm3 -vmovdqa 80(%rsp),%xmm9 -vpaddq subc2(%rip),%xmm3,%xmm10 -vpsubq %xmm9,%xmm10,%xmm10 -vpaddq %xmm9,%xmm3,%xmm3 -vpunpckhqdq %xmm10,%xmm3,%xmm9 -vpunpcklqdq %xmm10,%xmm3,%xmm3 -vpmuludq 144(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpmuludq 128(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm4,%xmm4 -vpmuludq 192(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm6,%xmm6 -vpmuludq 176(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm5,%xmm5 -vpmuludq 240(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpmuludq 224(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vpmuludq 304(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm11,%xmm11 -vpmuludq 288(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm13,%xmm13 -vpmuludq 336(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm0,%xmm0 -vpmuludq 384(%rsp),%xmm3,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 144(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 160(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 192(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 208(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm8,%xmm8 -vpmuludq 240(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm9,%xmm9 -vpmuludq 256(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 304(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 352(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm0,%xmm0 -vpmuludq 336(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 416(%rsp),%xmm9,%xmm9 -vpaddq %xmm9,%xmm1,%xmm1 -vmovdqa 48(%rsp),%xmm3 -vmovdqa 96(%rsp),%xmm9 -vpaddq subc2(%rip),%xmm3,%xmm10 -vpsubq %xmm9,%xmm10,%xmm10 -vpaddq %xmm9,%xmm3,%xmm3 -vpunpckhqdq %xmm10,%xmm3,%xmm9 -vpunpcklqdq %xmm10,%xmm3,%xmm3 -vpmuludq 144(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm6,%xmm6 -vpmuludq 128(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm5,%xmm5 -vpmuludq 192(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpmuludq 176(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vpmuludq 240(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm11,%xmm11 -vpmuludq 224(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm13,%xmm13 -vpmuludq 304(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm0,%xmm0 -vpmuludq 288(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm2,%xmm2 -vpmuludq 336(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpmuludq 384(%rsp),%xmm3,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 144(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 160(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm8,%xmm8 -vpmuludq 192(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm9,%xmm9 -vpmuludq 208(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 240(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 256(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm0,%xmm0 -vpmuludq 304(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 352(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm1,%xmm1 -vpmuludq 336(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 416(%rsp),%xmm9,%xmm9 -vpaddq %xmm9,%xmm6,%xmm6 -vmovdqa 64(%rsp),%xmm3 -vmovdqa 112(%rsp),%xmm9 -vpaddq subc2(%rip),%xmm3,%xmm10 -vpsubq %xmm9,%xmm10,%xmm10 -vpaddq %xmm9,%xmm3,%xmm3 -vpunpckhqdq %xmm10,%xmm3,%xmm9 -vpunpcklqdq %xmm10,%xmm3,%xmm3 -vpmuludq 144(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpmuludq 128(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm3,%xmm3 -vpmuludq 192(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm11,%xmm11 -vpmuludq 176(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm13,%xmm13 -vpmuludq 240(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm0,%xmm0 -vpmuludq 224(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm2,%xmm2 -vpmuludq 304(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpmuludq 288(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm4,%xmm4 -vpmuludq 336(%rsp),%xmm3,%xmm10 -vpaddq %xmm10,%xmm6,%xmm6 -vpmuludq 384(%rsp),%xmm3,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 144(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq v19_19(%rip),%xmm9,%xmm9 -vpmuludq 160(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 192(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 208(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm0,%xmm0 -vpmuludq 240(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpmuludq 256(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm1,%xmm1 -vpmuludq 304(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpmuludq 352(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 336(%rsp),%xmm9,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 416(%rsp),%xmm9,%xmm9 -vpaddq %xmm9,%xmm8,%xmm8 -vpsrlq $25,%xmm4,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpand m25(%rip),%xmm4,%xmm4 -vpsrlq $26,%xmm11,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpand m26(%rip),%xmm11,%xmm11 -vpsrlq $26,%xmm6,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpand m26(%rip),%xmm6,%xmm6 -vpsrlq $25,%xmm13,%xmm3 -vpaddq %xmm3,%xmm0,%xmm0 -vpand m25(%rip),%xmm13,%xmm13 -vpsrlq $25,%xmm5,%xmm3 -vpaddq %xmm3,%xmm8,%xmm8 -vpand m25(%rip),%xmm5,%xmm5 -vpsrlq $26,%xmm0,%xmm3 -vpaddq %xmm3,%xmm2,%xmm2 -vpand m26(%rip),%xmm0,%xmm0 -vpsrlq $26,%xmm8,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpand m26(%rip),%xmm8,%xmm8 -vpsrlq $25,%xmm2,%xmm3 -vpaddq %xmm3,%xmm1,%xmm1 -vpand m25(%rip),%xmm2,%xmm2 -vpsrlq $25,%xmm7,%xmm3 -vpsllq $4,%xmm3,%xmm9 -vpaddq %xmm3,%xmm11,%xmm11 -vpsllq $1,%xmm3,%xmm3 -vpaddq %xmm3,%xmm9,%xmm9 -vpaddq %xmm9,%xmm11,%xmm11 -vpand m25(%rip),%xmm7,%xmm7 -vpsrlq $26,%xmm1,%xmm3 -vpaddq %xmm3,%xmm4,%xmm4 -vpand m26(%rip),%xmm1,%xmm1 -vpsrlq $26,%xmm11,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpand m26(%rip),%xmm11,%xmm11 -vpsrlq $25,%xmm4,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpand m25(%rip),%xmm4,%xmm4 -vpunpcklqdq %xmm13,%xmm11,%xmm3 -vpunpckhqdq %xmm13,%xmm11,%xmm9 -vpaddq subc0(%rip),%xmm9,%xmm10 -vpsubq %xmm3,%xmm10,%xmm10 -vpaddq %xmm9,%xmm3,%xmm3 -vpunpckhqdq %xmm3,%xmm10,%xmm9 -vpunpcklqdq %xmm3,%xmm10,%xmm10 -vpmuludq %xmm10,%xmm10,%xmm3 -vpaddq %xmm10,%xmm10,%xmm10 -vpmuludq %xmm9,%xmm10,%xmm11 -vpunpcklqdq %xmm2,%xmm0,%xmm12 -vpunpckhqdq %xmm2,%xmm0,%xmm0 -vpaddq subc2(%rip),%xmm0,%xmm2 -vpsubq %xmm12,%xmm2,%xmm2 -vpaddq %xmm0,%xmm12,%xmm12 -vpunpckhqdq %xmm12,%xmm2,%xmm0 -vpunpcklqdq %xmm12,%xmm2,%xmm2 -vpmuludq %xmm2,%xmm10,%xmm12 -vpaddq %xmm9,%xmm9,%xmm13 -vpmuludq %xmm13,%xmm9,%xmm9 -vpaddq %xmm9,%xmm12,%xmm12 -vpmuludq %xmm0,%xmm10,%xmm9 -vpmuludq %xmm2,%xmm13,%xmm14 -vpaddq %xmm14,%xmm9,%xmm9 -vpunpcklqdq %xmm4,%xmm1,%xmm14 -vpunpckhqdq %xmm4,%xmm1,%xmm1 -vpaddq subc2(%rip),%xmm1,%xmm4 -vpsubq %xmm14,%xmm4,%xmm4 -vpaddq %xmm1,%xmm14,%xmm14 -vpunpckhqdq %xmm14,%xmm4,%xmm1 -vpunpcklqdq %xmm14,%xmm4,%xmm4 -vmovdqa %xmm1,0(%rsp) -vpaddq %xmm1,%xmm1,%xmm1 -vmovdqa %xmm1,16(%rsp) -vpmuludq v19_19(%rip),%xmm1,%xmm1 -vmovdqa %xmm1,32(%rsp) -vpmuludq %xmm4,%xmm10,%xmm1 -vpmuludq %xmm2,%xmm2,%xmm14 -vpaddq %xmm14,%xmm1,%xmm1 -vpmuludq 0(%rsp),%xmm10,%xmm14 -vpmuludq %xmm4,%xmm13,%xmm15 -vpaddq %xmm15,%xmm14,%xmm14 -vpunpcklqdq %xmm5,%xmm6,%xmm15 -vpunpckhqdq %xmm5,%xmm6,%xmm5 -vpaddq subc2(%rip),%xmm5,%xmm6 -vpsubq %xmm15,%xmm6,%xmm6 -vpaddq %xmm5,%xmm15,%xmm15 -vpunpckhqdq %xmm15,%xmm6,%xmm5 -vpunpcklqdq %xmm15,%xmm6,%xmm6 -vmovdqa %xmm6,48(%rsp) -vpmuludq v19_19(%rip),%xmm6,%xmm6 -vmovdqa %xmm6,64(%rsp) -vmovdqa %xmm5,80(%rsp) -vpmuludq v38_38(%rip),%xmm5,%xmm5 -vmovdqa %xmm5,96(%rsp) -vpmuludq 48(%rsp),%xmm10,%xmm5 -vpaddq %xmm0,%xmm0,%xmm6 -vpmuludq %xmm6,%xmm0,%xmm0 -vpaddq %xmm0,%xmm5,%xmm5 -vpmuludq 80(%rsp),%xmm10,%xmm0 -vpmuludq %xmm4,%xmm6,%xmm15 -vpaddq %xmm15,%xmm0,%xmm0 -vpmuludq %xmm6,%xmm13,%xmm15 -vpaddq %xmm15,%xmm1,%xmm1 -vpmuludq %xmm6,%xmm2,%xmm15 -vpaddq %xmm15,%xmm14,%xmm14 -vpunpcklqdq %xmm7,%xmm8,%xmm15 -vpunpckhqdq %xmm7,%xmm8,%xmm7 -vpaddq subc2(%rip),%xmm7,%xmm8 -vpsubq %xmm15,%xmm8,%xmm8 -vpaddq %xmm7,%xmm15,%xmm15 -vpunpckhqdq %xmm15,%xmm8,%xmm7 -vpunpcklqdq %xmm15,%xmm8,%xmm8 -vmovdqa %xmm8,112(%rsp) -vpmuludq v19_19(%rip),%xmm8,%xmm8 -vmovdqa %xmm8,160(%rsp) -vpmuludq 112(%rsp),%xmm10,%xmm8 -vpmuludq %xmm7,%xmm10,%xmm10 -vpmuludq v38_38(%rip),%xmm7,%xmm15 -vpmuludq %xmm15,%xmm7,%xmm7 -vpaddq %xmm7,%xmm8,%xmm8 -vpmuludq %xmm15,%xmm13,%xmm7 -vpaddq %xmm7,%xmm3,%xmm3 -vpmuludq %xmm15,%xmm2,%xmm7 -vpaddq %xmm7,%xmm11,%xmm11 -vpmuludq 80(%rsp),%xmm13,%xmm7 -vpaddq %xmm7,%xmm7,%xmm7 -vpaddq %xmm7,%xmm8,%xmm8 -vpmuludq 16(%rsp),%xmm13,%xmm7 -vpaddq %xmm7,%xmm5,%xmm5 -vpmuludq 48(%rsp),%xmm13,%xmm7 -vpaddq %xmm7,%xmm0,%xmm0 -vpmuludq 112(%rsp),%xmm13,%xmm7 -vpaddq %xmm7,%xmm10,%xmm10 -vpmuludq %xmm15,%xmm6,%xmm7 -vpaddq %xmm7,%xmm12,%xmm12 -vpmuludq %xmm15,%xmm4,%xmm7 -vpaddq %xmm7,%xmm9,%xmm9 -vpaddq %xmm2,%xmm2,%xmm2 -vpmuludq %xmm4,%xmm2,%xmm7 -vpaddq %xmm7,%xmm5,%xmm5 -vpmuludq 160(%rsp),%xmm2,%xmm7 -vpaddq %xmm7,%xmm3,%xmm3 -vpmuludq 160(%rsp),%xmm6,%xmm7 -vpaddq %xmm7,%xmm11,%xmm11 -vpmuludq 0(%rsp),%xmm2,%xmm7 -vpaddq %xmm7,%xmm0,%xmm0 -vpmuludq 48(%rsp),%xmm2,%xmm7 -vpaddq %xmm7,%xmm8,%xmm8 -vpmuludq 80(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 96(%rsp),%xmm4,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpmuludq %xmm4,%xmm4,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpaddq %xmm4,%xmm4,%xmm2 -vpmuludq 160(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm12,%xmm12 -vpmuludq 16(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vpmuludq 48(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm14,%xmm14 -vpmuludq 96(%rsp),%xmm6,%xmm4 -vpaddq %xmm4,%xmm3,%xmm3 -vmovdqa 16(%rsp),%xmm4 -vpmuludq 160(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm9,%xmm9 -vpmuludq 16(%rsp),%xmm6,%xmm4 -vpaddq %xmm4,%xmm8,%xmm8 -vpmuludq 48(%rsp),%xmm6,%xmm4 -vpaddq %xmm4,%xmm10,%xmm10 -vpmuludq 80(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm4,%xmm4 -vpaddq %xmm4,%xmm5,%xmm5 -vpmuludq 112(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm0,%xmm0 -vmovdqa 48(%rsp),%xmm4 -vpaddq %xmm4,%xmm4,%xmm4 -vpmuludq 160(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vmovdqa 80(%rsp),%xmm4 -vpaddq %xmm4,%xmm4,%xmm4 -vpmuludq 160(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm14,%xmm14 -vpmuludq 64(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm3,%xmm3 -vmovdqa 16(%rsp),%xmm4 -vpmuludq 64(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm11,%xmm11 -vmovdqa 16(%rsp),%xmm4 -vpmuludq 96(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm12,%xmm12 -vmovdqa 48(%rsp),%xmm4 -vpmuludq 96(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm9,%xmm9 -vpmuludq 0(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vmovdqa 32(%rsp),%xmm2 -vpmuludq 0(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm3,%xmm3 -vmovdqa 64(%rsp),%xmm2 -vpmuludq 48(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vmovdqa 96(%rsp),%xmm2 -vpmuludq 80(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm1,%xmm1 -vmovdqa 160(%rsp),%xmm2 -vpmuludq 112(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpsrlq $26,%xmm3,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpand m26(%rip),%xmm3,%xmm3 -vpsrlq $25,%xmm14,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpand m25(%rip),%xmm14,%xmm14 -vpsrlq $25,%xmm11,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpand m25(%rip),%xmm11,%xmm11 -vpsrlq $26,%xmm5,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vpand m26(%rip),%xmm5,%xmm5 -vpsrlq $26,%xmm12,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpand m26(%rip),%xmm12,%xmm12 -vpsrlq $25,%xmm0,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpand m25(%rip),%xmm0,%xmm0 -vpsrlq $25,%xmm9,%xmm2 -vpaddq %xmm2,%xmm1,%xmm1 -vpand m25(%rip),%xmm9,%xmm9 -vpsrlq $26,%xmm8,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpand m26(%rip),%xmm8,%xmm8 -vpsrlq $26,%xmm1,%xmm2 -vpaddq %xmm2,%xmm14,%xmm14 -vpand m26(%rip),%xmm1,%xmm1 -vpsrlq $25,%xmm10,%xmm2 -vpsllq $4,%xmm2,%xmm4 -vpaddq %xmm2,%xmm3,%xmm3 -vpsllq $1,%xmm2,%xmm2 -vpaddq %xmm2,%xmm4,%xmm4 -vpaddq %xmm4,%xmm3,%xmm3 -vpand m25(%rip),%xmm10,%xmm10 -vpsrlq $25,%xmm14,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpand m25(%rip),%xmm14,%xmm14 -vpsrlq $26,%xmm3,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpand m26(%rip),%xmm3,%xmm3 -vpunpckhqdq %xmm11,%xmm3,%xmm2 -vmovdqa %xmm2,0(%rsp) -vpunpcklqdq %xmm11,%xmm3,%xmm2 -vpmuludq v9_9(%rip),%xmm2,%xmm2 -vmovdqa %xmm2,80(%rsp) -vpunpckhqdq %xmm9,%xmm12,%xmm2 -vmovdqa %xmm2,16(%rsp) -vpunpcklqdq %xmm9,%xmm12,%xmm2 -vpmuludq v9_9(%rip),%xmm2,%xmm2 -vmovdqa %xmm2,96(%rsp) -vpunpckhqdq %xmm14,%xmm1,%xmm2 -vmovdqa %xmm2,32(%rsp) -vpunpcklqdq %xmm14,%xmm1,%xmm1 -vpmuludq v9_9(%rip),%xmm1,%xmm1 -vmovdqa %xmm1,112(%rsp) -vpunpckhqdq %xmm0,%xmm5,%xmm1 -vmovdqa %xmm1,48(%rsp) -vpunpcklqdq %xmm0,%xmm5,%xmm0 -vpmuludq v9_9(%rip),%xmm0,%xmm0 -vmovdqa %xmm0,160(%rsp) -vpunpckhqdq %xmm10,%xmm8,%xmm0 -vmovdqa %xmm0,64(%rsp) -vpunpcklqdq %xmm10,%xmm8,%xmm0 -vpmuludq v9_9(%rip),%xmm0,%xmm0 -vmovdqa %xmm0,208(%rsp) -vmovdqa 144(%rsp),%xmm0 -vpmuludq %xmm0,%xmm0,%xmm1 -vpaddq %xmm0,%xmm0,%xmm0 -vmovdqa 128(%rsp),%xmm2 -vpmuludq %xmm2,%xmm0,%xmm3 -vmovdqa 192(%rsp),%xmm4 -vpmuludq %xmm4,%xmm0,%xmm5 -vmovdqa 176(%rsp),%xmm6 -vpmuludq %xmm6,%xmm0,%xmm7 -vmovdqa 240(%rsp),%xmm8 -vpmuludq %xmm8,%xmm0,%xmm9 -vpmuludq 224(%rsp),%xmm0,%xmm10 -vpmuludq 304(%rsp),%xmm0,%xmm11 -vpmuludq 288(%rsp),%xmm0,%xmm12 -vpmuludq 336(%rsp),%xmm0,%xmm13 -vmovdqa 384(%rsp),%xmm14 -vpmuludq %xmm14,%xmm0,%xmm0 -vpmuludq v38_38(%rip),%xmm14,%xmm15 -vpmuludq %xmm15,%xmm14,%xmm14 -vpaddq %xmm14,%xmm13,%xmm13 -vpaddq %xmm6,%xmm6,%xmm14 -vpmuludq %xmm14,%xmm6,%xmm6 -vpaddq %xmm6,%xmm11,%xmm11 -vpaddq %xmm2,%xmm2,%xmm6 -vpmuludq %xmm6,%xmm2,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpmuludq %xmm15,%xmm6,%xmm2 -vpaddq %xmm2,%xmm1,%xmm1 -vpmuludq %xmm15,%xmm4,%xmm2 -vpaddq %xmm2,%xmm3,%xmm3 -vpmuludq 256(%rsp),%xmm6,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpmuludq 304(%rsp),%xmm6,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 352(%rsp),%xmm6,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpmuludq 336(%rsp),%xmm6,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vpmuludq %xmm4,%xmm6,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpmuludq %xmm14,%xmm6,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpmuludq %xmm8,%xmm6,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq %xmm15,%xmm14,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpmuludq %xmm15,%xmm8,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpmuludq %xmm4,%xmm4,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpmuludq %xmm14,%xmm4,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpaddq %xmm4,%xmm4,%xmm2 -vpmuludq %xmm8,%xmm2,%xmm4 -vpaddq %xmm4,%xmm11,%xmm11 -vpmuludq 400(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vpmuludq 400(%rsp),%xmm14,%xmm4 -vpaddq %xmm4,%xmm3,%xmm3 -vpmuludq 224(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm12,%xmm12 -vpmuludq 304(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm13,%xmm13 -vpmuludq 288(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vpmuludq 368(%rsp),%xmm8,%xmm2 -vpaddq %xmm2,%xmm3,%xmm3 -vpmuludq %xmm8,%xmm14,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq %xmm8,%xmm8,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpaddq %xmm8,%xmm8,%xmm2 -vpmuludq 400(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm5,%xmm5 -vpmuludq 256(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm9,%xmm9 -vpmuludq 304(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm10,%xmm10 -vpmuludq 368(%rsp),%xmm14,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vmovdqa 256(%rsp),%xmm4 -vpmuludq 400(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm7,%xmm7 -vpmuludq 256(%rsp),%xmm14,%xmm4 -vpaddq %xmm4,%xmm13,%xmm13 -vpmuludq 304(%rsp),%xmm14,%xmm4 -vpaddq %xmm4,%xmm0,%xmm0 -vpmuludq 352(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm11,%xmm11 -vpmuludq 336(%rsp),%xmm15,%xmm4 -vpaddq %xmm4,%xmm12,%xmm12 -vmovdqa 304(%rsp),%xmm4 -vpaddq %xmm4,%xmm4,%xmm4 -vpmuludq 400(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm9,%xmm9 -vpmuludq 320(%rsp),%xmm2,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vmovdqa 256(%rsp),%xmm4 -vpmuludq 320(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm3,%xmm3 -vmovdqa 256(%rsp),%xmm4 -vpmuludq 368(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm5,%xmm5 -vmovdqa 304(%rsp),%xmm4 -vpmuludq 368(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm7,%xmm7 -vmovdqa 352(%rsp),%xmm4 -vpmuludq 400(%rsp),%xmm4,%xmm4 -vpaddq %xmm4,%xmm10,%xmm10 -vpmuludq 224(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vmovdqa 272(%rsp),%xmm2 -vpmuludq 224(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm1,%xmm1 -vmovdqa 320(%rsp),%xmm2 -vpmuludq 304(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vmovdqa 368(%rsp),%xmm2 -vpmuludq 288(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vmovdqa 400(%rsp),%xmm2 -vpmuludq 336(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpsrlq $26,%xmm1,%xmm2 -vpaddq %xmm2,%xmm3,%xmm3 -vpand m26(%rip),%xmm1,%xmm1 -vpsrlq $25,%xmm10,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpand m25(%rip),%xmm10,%xmm10 -vpsrlq $25,%xmm3,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpand m25(%rip),%xmm3,%xmm3 -vpsrlq $26,%xmm11,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpand m26(%rip),%xmm11,%xmm11 -vpsrlq $26,%xmm5,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpand m26(%rip),%xmm5,%xmm5 -vpsrlq $25,%xmm12,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpand m25(%rip),%xmm12,%xmm12 -vpsrlq $25,%xmm7,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpand m25(%rip),%xmm7,%xmm7 -vpsrlq $26,%xmm13,%xmm2 -vpaddq %xmm2,%xmm0,%xmm0 -vpand m26(%rip),%xmm13,%xmm13 -vpsrlq $26,%xmm9,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpand m26(%rip),%xmm9,%xmm9 -vpsrlq $25,%xmm0,%xmm2 -vpsllq $4,%xmm2,%xmm4 -vpaddq %xmm2,%xmm1,%xmm1 -vpsllq $1,%xmm2,%xmm2 -vpaddq %xmm2,%xmm4,%xmm4 -vpaddq %xmm4,%xmm1,%xmm1 -vpand m25(%rip),%xmm0,%xmm0 -vpsrlq $25,%xmm10,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpand m25(%rip),%xmm10,%xmm10 -vpsrlq $26,%xmm1,%xmm2 -vpaddq %xmm2,%xmm3,%xmm3 -vpand m26(%rip),%xmm1,%xmm1 -vpunpckhqdq %xmm3,%xmm1,%xmm2 -vpunpcklqdq %xmm3,%xmm1,%xmm1 -vmovdqa %xmm1,176(%rsp) -vpaddq subc0(%rip),%xmm2,%xmm3 -vpsubq %xmm1,%xmm3,%xmm3 -vpunpckhqdq %xmm3,%xmm2,%xmm1 -vpunpcklqdq %xmm3,%xmm2,%xmm2 -vmovdqa %xmm2,192(%rsp) -vmovdqa %xmm1,224(%rsp) -vpsllq $1,%xmm1,%xmm1 -vmovdqa %xmm1,240(%rsp) -vpmuludq v121666_121666(%rip),%xmm3,%xmm3 -vmovdqa 80(%rsp),%xmm1 -vpunpcklqdq %xmm1,%xmm3,%xmm2 -vpunpckhqdq %xmm1,%xmm3,%xmm1 -vpunpckhqdq %xmm7,%xmm5,%xmm3 -vpunpcklqdq %xmm7,%xmm5,%xmm4 -vmovdqa %xmm4,256(%rsp) -vpaddq subc2(%rip),%xmm3,%xmm5 -vpsubq %xmm4,%xmm5,%xmm5 -vpunpckhqdq %xmm5,%xmm3,%xmm4 -vpunpcklqdq %xmm5,%xmm3,%xmm3 -vmovdqa %xmm3,272(%rsp) -vmovdqa %xmm4,288(%rsp) -vpsllq $1,%xmm4,%xmm4 -vmovdqa %xmm4,304(%rsp) -vpmuludq v121666_121666(%rip),%xmm5,%xmm5 -vmovdqa 96(%rsp),%xmm3 -vpunpcklqdq %xmm3,%xmm5,%xmm4 -vpunpckhqdq %xmm3,%xmm5,%xmm3 -vpunpckhqdq %xmm10,%xmm9,%xmm5 -vpunpcklqdq %xmm10,%xmm9,%xmm6 -vmovdqa %xmm6,320(%rsp) -vpaddq subc2(%rip),%xmm5,%xmm7 -vpsubq %xmm6,%xmm7,%xmm7 -vpunpckhqdq %xmm7,%xmm5,%xmm6 -vpunpcklqdq %xmm7,%xmm5,%xmm5 -vmovdqa %xmm5,336(%rsp) -vmovdqa %xmm6,352(%rsp) -vpsllq $1,%xmm6,%xmm6 -vmovdqa %xmm6,368(%rsp) -vpmuludq v121666_121666(%rip),%xmm7,%xmm7 -vmovdqa 112(%rsp),%xmm5 -vpunpcklqdq %xmm5,%xmm7,%xmm6 -vpunpckhqdq %xmm5,%xmm7,%xmm5 -vpunpckhqdq %xmm12,%xmm11,%xmm7 -vpunpcklqdq %xmm12,%xmm11,%xmm8 -vmovdqa %xmm8,384(%rsp) -vpaddq subc2(%rip),%xmm7,%xmm9 -vpsubq %xmm8,%xmm9,%xmm9 -vpunpckhqdq %xmm9,%xmm7,%xmm8 -vpunpcklqdq %xmm9,%xmm7,%xmm7 -vmovdqa %xmm7,400(%rsp) -vmovdqa %xmm8,416(%rsp) -vpsllq $1,%xmm8,%xmm8 -vmovdqa %xmm8,432(%rsp) -vpmuludq v121666_121666(%rip),%xmm9,%xmm9 -vmovdqa 160(%rsp),%xmm7 -vpunpcklqdq %xmm7,%xmm9,%xmm8 -vpunpckhqdq %xmm7,%xmm9,%xmm7 -vpunpckhqdq %xmm0,%xmm13,%xmm9 -vpunpcklqdq %xmm0,%xmm13,%xmm0 -vmovdqa %xmm0,160(%rsp) -vpaddq subc2(%rip),%xmm9,%xmm10 -vpsubq %xmm0,%xmm10,%xmm10 -vpunpckhqdq %xmm10,%xmm9,%xmm0 -vpunpcklqdq %xmm10,%xmm9,%xmm9 -vmovdqa %xmm9,448(%rsp) -vmovdqa %xmm0,464(%rsp) -vpsllq $1,%xmm0,%xmm0 -vmovdqa %xmm0,480(%rsp) -vpmuludq v121666_121666(%rip),%xmm10,%xmm10 -vmovdqa 208(%rsp),%xmm0 -vpunpcklqdq %xmm0,%xmm10,%xmm9 -vpunpckhqdq %xmm0,%xmm10,%xmm0 -vpsrlq $26,%xmm2,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpand m26(%rip),%xmm2,%xmm2 -vpsrlq $25,%xmm5,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpand m25(%rip),%xmm5,%xmm5 -vpsrlq $25,%xmm1,%xmm10 -vpaddq %xmm10,%xmm4,%xmm4 -vpand m25(%rip),%xmm1,%xmm1 -vpsrlq $26,%xmm8,%xmm10 -vpaddq %xmm10,%xmm7,%xmm7 -vpand m26(%rip),%xmm8,%xmm8 -vpsrlq $26,%xmm4,%xmm10 -vpaddq %xmm10,%xmm3,%xmm3 -vpand m26(%rip),%xmm4,%xmm4 -vpsrlq $25,%xmm7,%xmm10 -vpaddq %xmm10,%xmm9,%xmm9 -vpand m25(%rip),%xmm7,%xmm7 -vpsrlq $25,%xmm3,%xmm10 -vpaddq %xmm10,%xmm6,%xmm6 -vpand m25(%rip),%xmm3,%xmm3 -vpsrlq $26,%xmm9,%xmm10 -vpaddq %xmm10,%xmm0,%xmm0 -vpand m26(%rip),%xmm9,%xmm9 -vpsrlq $26,%xmm6,%xmm10 -vpaddq %xmm10,%xmm5,%xmm5 -vpand m26(%rip),%xmm6,%xmm6 -vpsrlq $25,%xmm0,%xmm10 -vpsllq $4,%xmm10,%xmm11 -vpaddq %xmm10,%xmm2,%xmm2 -vpsllq $1,%xmm10,%xmm10 -vpaddq %xmm10,%xmm11,%xmm11 -vpaddq %xmm11,%xmm2,%xmm2 -vpand m25(%rip),%xmm0,%xmm0 -vpsrlq $25,%xmm5,%xmm10 -vpaddq %xmm10,%xmm8,%xmm8 -vpand m25(%rip),%xmm5,%xmm5 -vpsrlq $26,%xmm2,%xmm10 -vpaddq %xmm10,%xmm1,%xmm1 -vpand m26(%rip),%xmm2,%xmm2 -vpunpckhqdq %xmm1,%xmm2,%xmm10 -vmovdqa %xmm10,80(%rsp) -vpunpcklqdq %xmm1,%xmm2,%xmm1 -vpunpckhqdq %xmm3,%xmm4,%xmm2 -vmovdqa %xmm2,96(%rsp) -vpunpcklqdq %xmm3,%xmm4,%xmm2 -vpunpckhqdq %xmm5,%xmm6,%xmm3 -vmovdqa %xmm3,112(%rsp) -vpunpcklqdq %xmm5,%xmm6,%xmm3 -vpunpckhqdq %xmm7,%xmm8,%xmm4 -vmovdqa %xmm4,128(%rsp) -vpunpcklqdq %xmm7,%xmm8,%xmm4 -vpunpckhqdq %xmm0,%xmm9,%xmm5 -vmovdqa %xmm5,144(%rsp) -vpunpcklqdq %xmm0,%xmm9,%xmm0 -vmovdqa 176(%rsp),%xmm5 -vpaddq %xmm5,%xmm1,%xmm1 -vpunpcklqdq %xmm1,%xmm5,%xmm6 -vpunpckhqdq %xmm1,%xmm5,%xmm1 -vpmuludq 224(%rsp),%xmm6,%xmm5 -vpmuludq 192(%rsp),%xmm1,%xmm7 -vpaddq %xmm7,%xmm5,%xmm5 -vpmuludq 272(%rsp),%xmm6,%xmm7 -vpmuludq 240(%rsp),%xmm1,%xmm8 -vpaddq %xmm8,%xmm7,%xmm7 -vpmuludq 288(%rsp),%xmm6,%xmm8 -vpmuludq 272(%rsp),%xmm1,%xmm9 -vpaddq %xmm9,%xmm8,%xmm8 -vpmuludq 336(%rsp),%xmm6,%xmm9 -vpmuludq 304(%rsp),%xmm1,%xmm10 -vpaddq %xmm10,%xmm9,%xmm9 -vpmuludq 352(%rsp),%xmm6,%xmm10 -vpmuludq 336(%rsp),%xmm1,%xmm11 -vpaddq %xmm11,%xmm10,%xmm10 -vpmuludq 400(%rsp),%xmm6,%xmm11 -vpmuludq 368(%rsp),%xmm1,%xmm12 -vpaddq %xmm12,%xmm11,%xmm11 -vpmuludq 416(%rsp),%xmm6,%xmm12 -vpmuludq 400(%rsp),%xmm1,%xmm13 -vpaddq %xmm13,%xmm12,%xmm12 -vpmuludq 448(%rsp),%xmm6,%xmm13 -vpmuludq 432(%rsp),%xmm1,%xmm14 -vpaddq %xmm14,%xmm13,%xmm13 -vpmuludq 464(%rsp),%xmm6,%xmm14 -vpmuludq 448(%rsp),%xmm1,%xmm15 -vpaddq %xmm15,%xmm14,%xmm14 -vpmuludq 192(%rsp),%xmm6,%xmm6 -vpmuludq v19_19(%rip),%xmm1,%xmm1 -vpmuludq 480(%rsp),%xmm1,%xmm1 -vpaddq %xmm1,%xmm6,%xmm6 -vmovdqa 256(%rsp),%xmm1 -vpaddq %xmm1,%xmm2,%xmm2 -vpunpcklqdq %xmm2,%xmm1,%xmm15 -vpunpckhqdq %xmm2,%xmm1,%xmm1 -vpmuludq 192(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpmuludq 224(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpmuludq 272(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpmuludq 288(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 336(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpmuludq 352(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 400(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpmuludq 416(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm15,%xmm15 -vpmuludq 448(%rsp),%xmm15,%xmm2 -vpaddq %xmm2,%xmm6,%xmm6 -vpmuludq 464(%rsp),%xmm15,%xmm15 -vpaddq %xmm15,%xmm5,%xmm5 -vpmuludq 192(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpmuludq 240(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpmuludq 272(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 304(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpmuludq 336(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 368(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpmuludq 400(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm1,%xmm1 -vpmuludq 432(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm6,%xmm6 -vpmuludq 448(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpmuludq 480(%rsp),%xmm1,%xmm1 -vpaddq %xmm1,%xmm7,%xmm7 -vmovdqa 320(%rsp),%xmm1 -vpaddq %xmm1,%xmm3,%xmm3 -vpunpcklqdq %xmm3,%xmm1,%xmm2 -vpunpckhqdq %xmm3,%xmm1,%xmm1 -vpmuludq 192(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm9,%xmm9 -vpmuludq 224(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm10,%xmm10 -vpmuludq 272(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 288(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm12,%xmm12 -vpmuludq 336(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 352(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm2,%xmm2 -vpmuludq 400(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 416(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 448(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq 464(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpmuludq 192(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 240(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm11,%xmm11 -vpmuludq 272(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 304(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpmuludq 336(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm1,%xmm1 -vpmuludq 368(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm6,%xmm6 -vpmuludq 400(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpmuludq 432(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpmuludq 448(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpmuludq 480(%rsp),%xmm1,%xmm1 -vpaddq %xmm1,%xmm9,%xmm9 -vmovdqa 384(%rsp),%xmm1 -vpaddq %xmm1,%xmm4,%xmm4 -vpunpcklqdq %xmm4,%xmm1,%xmm2 -vpunpckhqdq %xmm4,%xmm1,%xmm1 -vpmuludq 192(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm11,%xmm11 -vpmuludq 224(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm12,%xmm12 -vpmuludq 272(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm13,%xmm13 -vpmuludq 288(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm2,%xmm2 -vpmuludq 336(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm6,%xmm6 -vpmuludq 352(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm5,%xmm5 -vpmuludq 400(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm7,%xmm7 -vpmuludq 416(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm8,%xmm8 -vpmuludq 448(%rsp),%xmm2,%xmm3 -vpaddq %xmm3,%xmm9,%xmm9 -vpmuludq 464(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 192(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 240(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm13,%xmm13 -vpmuludq 272(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm1,%xmm1 -vpmuludq 304(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm6,%xmm6 -vpmuludq 336(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm5,%xmm5 -vpmuludq 368(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm7,%xmm7 -vpmuludq 400(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm8,%xmm8 -vpmuludq 432(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm9,%xmm9 -vpmuludq 448(%rsp),%xmm1,%xmm2 -vpaddq %xmm2,%xmm10,%xmm10 -vpmuludq 480(%rsp),%xmm1,%xmm1 -vpaddq %xmm1,%xmm11,%xmm11 -vmovdqa 160(%rsp),%xmm1 -vpaddq %xmm1,%xmm0,%xmm0 -vpunpcklqdq %xmm0,%xmm1,%xmm2 -vpunpckhqdq %xmm0,%xmm1,%xmm0 -vpmuludq 192(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm13,%xmm13 -vpmuludq 224(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm2,%xmm2 -vpmuludq 272(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm6,%xmm6 -vpmuludq 288(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm5,%xmm5 -vpmuludq 336(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm7,%xmm7 -vpmuludq 352(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm8,%xmm8 -vpmuludq 400(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm9,%xmm9 -vpmuludq 416(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm10,%xmm10 -vpmuludq 448(%rsp),%xmm2,%xmm1 -vpaddq %xmm1,%xmm11,%xmm11 -vpmuludq 464(%rsp),%xmm2,%xmm2 -vpaddq %xmm2,%xmm12,%xmm12 -vpmuludq 192(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm14,%xmm14 -vpmuludq v19_19(%rip),%xmm0,%xmm0 -vpmuludq 240(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm6,%xmm6 -vpmuludq 272(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm5,%xmm5 -vpmuludq 304(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm7,%xmm7 -vpmuludq 336(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm8,%xmm8 -vpmuludq 368(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm9,%xmm9 -vpmuludq 400(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm10,%xmm10 -vpmuludq 432(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm11,%xmm11 -vpmuludq 448(%rsp),%xmm0,%xmm1 -vpaddq %xmm1,%xmm12,%xmm12 -vpmuludq 480(%rsp),%xmm0,%xmm0 -vpaddq %xmm0,%xmm13,%xmm13 -vpsrlq $26,%xmm6,%xmm0 -vpaddq %xmm0,%xmm5,%xmm5 -vpand m26(%rip),%xmm6,%xmm6 -vpsrlq $25,%xmm10,%xmm0 -vpaddq %xmm0,%xmm11,%xmm11 -vpand m25(%rip),%xmm10,%xmm10 -vpsrlq $25,%xmm5,%xmm0 -vpaddq %xmm0,%xmm7,%xmm7 -vpand m25(%rip),%xmm5,%xmm5 -vpsrlq $26,%xmm11,%xmm0 -vpaddq %xmm0,%xmm12,%xmm12 -vpand m26(%rip),%xmm11,%xmm11 -vpsrlq $26,%xmm7,%xmm0 -vpaddq %xmm0,%xmm8,%xmm8 -vpand m26(%rip),%xmm7,%xmm7 -vpsrlq $25,%xmm12,%xmm0 -vpaddq %xmm0,%xmm13,%xmm13 -vpand m25(%rip),%xmm12,%xmm12 -vpsrlq $25,%xmm8,%xmm0 -vpaddq %xmm0,%xmm9,%xmm9 -vpand m25(%rip),%xmm8,%xmm8 -vpsrlq $26,%xmm13,%xmm0 -vpaddq %xmm0,%xmm14,%xmm14 -vpand m26(%rip),%xmm13,%xmm13 -vpsrlq $26,%xmm9,%xmm0 -vpaddq %xmm0,%xmm10,%xmm10 -vpand m26(%rip),%xmm9,%xmm9 -vpsrlq $25,%xmm14,%xmm0 -vpsllq $4,%xmm0,%xmm1 -vpaddq %xmm0,%xmm6,%xmm6 -vpsllq $1,%xmm0,%xmm0 -vpaddq %xmm0,%xmm1,%xmm1 -vpaddq %xmm1,%xmm6,%xmm6 -vpand m25(%rip),%xmm14,%xmm14 -vpsrlq $25,%xmm10,%xmm0 -vpaddq %xmm0,%xmm11,%xmm11 -vpand m25(%rip),%xmm10,%xmm10 -vpsrlq $26,%xmm6,%xmm0 -vpaddq %xmm0,%xmm5,%xmm5 -vpand m26(%rip),%xmm6,%xmm6 -vpunpckhqdq %xmm5,%xmm6,%xmm1 -vpunpcklqdq %xmm5,%xmm6,%xmm0 -vpunpckhqdq %xmm8,%xmm7,%xmm3 -vpunpcklqdq %xmm8,%xmm7,%xmm2 -vpunpckhqdq %xmm10,%xmm9,%xmm5 -vpunpcklqdq %xmm10,%xmm9,%xmm4 -vpunpckhqdq %xmm12,%xmm11,%xmm7 -vpunpcklqdq %xmm12,%xmm11,%xmm6 -vpunpckhqdq %xmm14,%xmm13,%xmm9 -vpunpcklqdq %xmm14,%xmm13,%xmm8 -cmp $0,%rdx -jne ._ladder_base_loop -vmovdqu %xmm1,80(%rdi) -vmovdqu %xmm0,0(%rdi) -vmovdqu %xmm3,96(%rdi) -vmovdqu %xmm2,16(%rdi) -vmovdqu %xmm5,112(%rdi) -vmovdqu %xmm4,32(%rdi) -vmovdqu %xmm7,128(%rdi) -vmovdqu %xmm6,48(%rdi) -vmovdqu %xmm9,144(%rdi) -vmovdqu %xmm8,64(%rdi) -movq 1536(%rsp),%r11 -movq 1544(%rsp),%r12 -movq 1552(%rsp),%r13 -add %r11,%rsp -ret - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h deleted file mode 100644 index a69be13..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef ladder_base_H -#define ladder_base_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "fe.h" -#include "ladder_base_namespace.h" - -extern void ladder_base(fe *, const unsigned char *); - -#ifdef __cplusplus -} -#endif - -#endif /* ifndef ladder_base_H */ - diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h deleted file mode 100644 index 304546a..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef ladder_base_namespace_H -#define ladder_base_namespace_H - -#define ladder_base crypto_scalarmult_curve25519_sandy2x_ladder_base -#define _ladder_base _crypto_scalarmult_curve25519_sandy2x_ladder_base - -#endif /* ifndef ladder_base_namespace_H */ - diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h deleted file mode 100644 index 6637074..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef ladder_namespace_H -#define ladder_namespace_H - -#define ladder crypto_scalarmult_curve25519_sandy2x_ladder -#define _ladder _crypto_scalarmult_curve25519_sandy2x_ladder - -#endif /* ifndef ladder_namespace_H */ - diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S deleted file mode 100644 index 1fd6320..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S +++ /dev/null @@ -1,17 +0,0 @@ - -#ifdef HAVE_AVX_ASM - -#define IN_SANDY2X - -#include "consts.S" -#include "fe51_mul.S" -#include "fe51_nsquare.S" -#include "fe51_pack.S" -#include "ladder.S" -#include "ladder_base.S" - -#if defined(__linux__) && defined(__ELF__) -.section .note.GNU-stack,"",%progbits -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c deleted file mode 100644 index 2d3ffc0..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +++ /dev/null @@ -1,59 +0,0 @@ - -#include "crypto_scalarmult_curve25519.h" -#include "private/implementations.h" -#include "scalarmult_curve25519.h" -#include "runtime.h" - -#ifdef HAVE_AVX_ASM -# include "sandy2x/curve25519_sandy2x.h" -#endif -#include "ref10/x25519_ref10.h" -static const crypto_scalarmult_curve25519_implementation *implementation = - &crypto_scalarmult_curve25519_ref10_implementation; - -int -crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n, - const unsigned char *p) -{ - size_t i; - volatile unsigned char d = 0; - - if (implementation->mult(q, n, p) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - for (i = 0; i < crypto_scalarmult_curve25519_BYTES; i++) { - d |= q[i]; - } - return -(1 & ((d - 1) >> 8)); -} - -int -crypto_scalarmult_curve25519_base(unsigned char *q, const unsigned char *n) -{ - return implementation->mult_base(q, n); -} - -size_t -crypto_scalarmult_curve25519_bytes(void) -{ - return crypto_scalarmult_curve25519_BYTES; -} - -size_t -crypto_scalarmult_curve25519_scalarbytes(void) -{ - return crypto_scalarmult_curve25519_SCALARBYTES; -} - -int -_crypto_scalarmult_curve25519_pick_best_implementation(void) -{ - implementation = &crypto_scalarmult_curve25519_ref10_implementation; - -#ifdef HAVE_AVX_ASM - if (sodium_runtime_has_avx()) { - implementation = &crypto_scalarmult_curve25519_sandy2x_implementation; - } -#endif - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h deleted file mode 100644 index 66edbf6..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h +++ /dev/null @@ -1,11 +0,0 @@ - -#ifndef scalarmult_poly1305_H -#define scalarmult_poly1305_H - -typedef struct crypto_scalarmult_curve25519_implementation { - int (*mult)(unsigned char *q, const unsigned char *n, - const unsigned char *p); - int (*mult_base)(unsigned char *q, const unsigned char *n); -} crypto_scalarmult_curve25519_implementation; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c deleted file mode 100644 index 7c98089..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c +++ /dev/null @@ -1,121 +0,0 @@ - -#include - -#include "crypto_scalarmult_ed25519.h" -#include "private/ed25519_ref10.h" -#include "utils.h" - -static int -_crypto_scalarmult_ed25519_is_inf(const unsigned char s[32]) -{ - unsigned char c; - unsigned int i; - - c = s[0] ^ 0x01; - for (i = 1; i < 31; i++) { - c |= s[i]; - } - c |= s[31] & 0x7f; - - return ((((unsigned int) c) - 1U) >> 8) & 1; -} - -static inline void -_crypto_scalarmult_ed25519_clamp(unsigned char k[32]) -{ - k[0] &= 248; - k[31] |= 64; -} - -static int -_crypto_scalarmult_ed25519(unsigned char *q, const unsigned char *n, - const unsigned char *p, const int clamp) -{ - unsigned char *t = q; - ge25519_p3 Q; - ge25519_p3 P; - unsigned int i; - - if (ge25519_is_canonical(p) == 0 || ge25519_has_small_order(p) != 0 || - ge25519_frombytes(&P, p) != 0 || ge25519_is_on_main_subgroup(&P) == 0) { - return -1; - } - for (i = 0; i < 32; ++i) { - t[i] = n[i]; - } - if (clamp != 0) { - _crypto_scalarmult_ed25519_clamp(t); - } - t[31] &= 127; - - ge25519_scalarmult(&Q, t, &P); - ge25519_p3_tobytes(q, &Q); - if (_crypto_scalarmult_ed25519_is_inf(q) != 0 || sodium_is_zero(n, 32)) { - return -1; - } - return 0; -} - -int -crypto_scalarmult_ed25519(unsigned char *q, const unsigned char *n, - const unsigned char *p) -{ - return _crypto_scalarmult_ed25519(q, n, p, 1); -} - -int -crypto_scalarmult_ed25519_noclamp(unsigned char *q, const unsigned char *n, - const unsigned char *p) -{ - return _crypto_scalarmult_ed25519(q, n, p, 0); -} - -static int -_crypto_scalarmult_ed25519_base(unsigned char *q, - const unsigned char *n, const int clamp) -{ - unsigned char *t = q; - ge25519_p3 Q; - unsigned int i; - - for (i = 0; i < 32; ++i) { - t[i] = n[i]; - } - if (clamp != 0) { - _crypto_scalarmult_ed25519_clamp(t); - } - t[31] &= 127; - - ge25519_scalarmult_base(&Q, t); - ge25519_p3_tobytes(q, &Q); - if (_crypto_scalarmult_ed25519_is_inf(q) != 0 || sodium_is_zero(n, 32)) { - return -1; - } - return 0; -} - -int -crypto_scalarmult_ed25519_base(unsigned char *q, - const unsigned char *n) -{ - return _crypto_scalarmult_ed25519_base(q, n, 1); -} - -int -crypto_scalarmult_ed25519_base_noclamp(unsigned char *q, - const unsigned char *n) -{ - return _crypto_scalarmult_ed25519_base(q, n, 0); -} - -size_t -crypto_scalarmult_ed25519_bytes(void) -{ - return crypto_scalarmult_ed25519_BYTES; -} - -size_t -crypto_scalarmult_ed25519_scalarbytes(void) -{ - return crypto_scalarmult_ed25519_SCALARBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c deleted file mode 100644 index 433a9a2..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_scalarmult/ristretto255/ref10/scalarmult_ristretto255_ref10.c +++ /dev/null @@ -1,63 +0,0 @@ - -#include - -#include "crypto_scalarmult_ed25519.h" -#include "crypto_scalarmult_ristretto255.h" -#include "private/ed25519_ref10.h" -#include "utils.h" - -int -crypto_scalarmult_ristretto255(unsigned char *q, const unsigned char *n, - const unsigned char *p) -{ - unsigned char *t = q; - ge25519_p3 Q; - ge25519_p3 P; - unsigned int i; - - if (ristretto255_frombytes(&P, p) != 0) { - return -1; - } - for (i = 0; i < 32; ++i) { - t[i] = n[i]; - } - t[31] &= 127; - ge25519_scalarmult(&Q, t, &P); - ristretto255_p3_tobytes(q, &Q); - if (sodium_is_zero(q, 32)) { - return -1; - } - return 0; -} - -int -crypto_scalarmult_ristretto255_base(unsigned char *q, - const unsigned char *n) -{ - unsigned char *t = q; - ge25519_p3 Q; - unsigned int i; - - for (i = 0; i < 32; ++i) { - t[i] = n[i]; - } - t[31] &= 127; - ge25519_scalarmult_base(&Q, t); - ristretto255_p3_tobytes(q, &Q); - if (sodium_is_zero(q, 32)) { - return -1; - } - return 0; -} - -size_t -crypto_scalarmult_ristretto255_bytes(void) -{ - return crypto_scalarmult_ristretto255_BYTES; -} - -size_t -crypto_scalarmult_ristretto255_scalarbytes(void) -{ - return crypto_scalarmult_ristretto255_SCALARBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/crypto_secretbox.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/crypto_secretbox.c deleted file mode 100644 index 45f678e..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/crypto_secretbox.c +++ /dev/null @@ -1,67 +0,0 @@ - -#include "crypto_secretbox.h" -#include "randombytes.h" - -size_t -crypto_secretbox_keybytes(void) -{ - return crypto_secretbox_KEYBYTES; -} - -size_t -crypto_secretbox_noncebytes(void) -{ - return crypto_secretbox_NONCEBYTES; -} - -size_t -crypto_secretbox_zerobytes(void) -{ - return crypto_secretbox_ZEROBYTES; -} - -size_t -crypto_secretbox_boxzerobytes(void) -{ - return crypto_secretbox_BOXZEROBYTES; -} - -size_t -crypto_secretbox_macbytes(void) -{ - return crypto_secretbox_MACBYTES; -} - -size_t -crypto_secretbox_messagebytes_max(void) -{ - return crypto_secretbox_MESSAGEBYTES_MAX; -} - -const char * -crypto_secretbox_primitive(void) -{ - return crypto_secretbox_PRIMITIVE; -} - -int -crypto_secretbox(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_secretbox_xsalsa20poly1305(c, m, mlen, n, k); -} - -int -crypto_secretbox_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_secretbox_xsalsa20poly1305_open(m, c, clen, n, k); -} - -void -crypto_secretbox_keygen(unsigned char k[crypto_secretbox_KEYBYTES]) -{ - randombytes_buf(k, crypto_secretbox_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c deleted file mode 100644 index b120384..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +++ /dev/null @@ -1,144 +0,0 @@ - -#include -#include -#include -#include -#include - -#include "core.h" -#include "crypto_core_hsalsa20.h" -#include "crypto_onetimeauth_poly1305.h" -#include "crypto_secretbox.h" -#include "crypto_stream_salsa20.h" -#include "private/common.h" -#include "utils.h" - -int -crypto_secretbox_detached(unsigned char *c, unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char subkey[crypto_stream_salsa20_KEYBYTES]; - unsigned long long i; - unsigned long long mlen0; - - crypto_core_hsalsa20(subkey, n, k, NULL); - - if (((uintptr_t) c > (uintptr_t) m && - (uintptr_t) c - (uintptr_t) m < mlen) || - ((uintptr_t) m > (uintptr_t) c && - (uintptr_t) m - (uintptr_t) c < mlen)) { /* LCOV_EXCL_LINE */ - memmove(c, m, mlen); - m = c; - } - memset(block0, 0U, crypto_secretbox_ZEROBYTES); - COMPILER_ASSERT(64U >= crypto_secretbox_ZEROBYTES); - mlen0 = mlen; - if (mlen0 > 64U - crypto_secretbox_ZEROBYTES) { - mlen0 = 64U - crypto_secretbox_ZEROBYTES; - } - for (i = 0U; i < mlen0; i++) { - block0[i + crypto_secretbox_ZEROBYTES] = m[i]; - } - crypto_stream_salsa20_xor(block0, block0, - mlen0 + crypto_secretbox_ZEROBYTES, - n + 16, subkey); - COMPILER_ASSERT(crypto_secretbox_ZEROBYTES >= - crypto_onetimeauth_poly1305_KEYBYTES); - crypto_onetimeauth_poly1305_init(&state, block0); - - for (i = 0U; i < mlen0; i++) { - c[i] = block0[crypto_secretbox_ZEROBYTES + i]; - } - sodium_memzero(block0, sizeof block0); - if (mlen > mlen0) { - crypto_stream_salsa20_xor_ic(c + mlen0, m + mlen0, mlen - mlen0, - n + 16, 1U, subkey); - } - sodium_memzero(subkey, sizeof subkey); - - crypto_onetimeauth_poly1305_update(&state, c, mlen); - crypto_onetimeauth_poly1305_final(&state, mac); - sodium_memzero(&state, sizeof state); - - return 0; -} - -int -crypto_secretbox_easy(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - if (mlen > crypto_secretbox_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return crypto_secretbox_detached(c + crypto_secretbox_MACBYTES, - c, m, mlen, n, k); -} - -int -crypto_secretbox_open_detached(unsigned char *m, const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - unsigned char block0[64U]; - unsigned char subkey[crypto_stream_salsa20_KEYBYTES]; - unsigned long long i; - unsigned long long mlen0; - - crypto_core_hsalsa20(subkey, n, k, NULL); - crypto_stream_salsa20(block0, crypto_stream_salsa20_KEYBYTES, - n + 16, subkey); - if (crypto_onetimeauth_poly1305_verify(mac, c, clen, block0) != 0) { - sodium_memzero(subkey, sizeof subkey); - return -1; - } - if (m == NULL) { - return 0; - } - if (((uintptr_t) c >= (uintptr_t) m && - (uintptr_t) c - (uintptr_t) m < clen) || - ((uintptr_t) m >= (uintptr_t) c && - (uintptr_t) m - (uintptr_t) c < clen)) { /* LCOV_EXCL_LINE */ - memmove(m, c, clen); - c = m; - } - mlen0 = clen; - if (mlen0 > 64U - crypto_secretbox_ZEROBYTES) { - mlen0 = 64U - crypto_secretbox_ZEROBYTES; - } - for (i = 0U; i < mlen0; i++) { - block0[crypto_secretbox_ZEROBYTES + i] = c[i]; - } - crypto_stream_salsa20_xor(block0, block0, - crypto_secretbox_ZEROBYTES + mlen0, - n + 16, subkey); - for (i = 0U; i < mlen0; i++) { - m[i] = block0[i + crypto_secretbox_ZEROBYTES]; - } - if (clen > mlen0) { - crypto_stream_salsa20_xor_ic(m + mlen0, c + mlen0, clen - mlen0, - n + 16, 1U, subkey); - } - sodium_memzero(subkey, sizeof subkey); - - return 0; -} - -int -crypto_secretbox_open_easy(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - if (clen < crypto_secretbox_MACBYTES) { - return -1; - } - return crypto_secretbox_open_detached(m, c + crypto_secretbox_MACBYTES, c, - clen - crypto_secretbox_MACBYTES, - n, k); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c deleted file mode 100644 index e76167d..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +++ /dev/null @@ -1,177 +0,0 @@ - -#include -#include -#include -#include -#include - -#include "core.h" -#include "crypto_core_hchacha20.h" -#include "crypto_onetimeauth_poly1305.h" -#include "crypto_secretbox_xchacha20poly1305.h" -#include "crypto_stream_chacha20.h" -#include "private/common.h" -#include "utils.h" - -#define crypto_secretbox_xchacha20poly1305_ZEROBYTES 32U - -int -crypto_secretbox_xchacha20poly1305_detached(unsigned char *c, - unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char subkey[crypto_stream_chacha20_KEYBYTES]; - unsigned long long i; - unsigned long long mlen0; - - crypto_core_hchacha20(subkey, n, k, NULL); - - if (((uintptr_t) c > (uintptr_t) m && - (uintptr_t) c - (uintptr_t) m < mlen) || - ((uintptr_t) m > (uintptr_t) c && - (uintptr_t) m - (uintptr_t) c < mlen)) { /* LCOV_EXCL_LINE */ - memmove(c, m, mlen); - m = c; - } - memset(block0, 0U, crypto_secretbox_xchacha20poly1305_ZEROBYTES); - COMPILER_ASSERT(64U >= crypto_secretbox_xchacha20poly1305_ZEROBYTES); - mlen0 = mlen; - if (mlen0 > 64U - crypto_secretbox_xchacha20poly1305_ZEROBYTES) { - mlen0 = 64U - crypto_secretbox_xchacha20poly1305_ZEROBYTES; - } - for (i = 0U; i < mlen0; i++) { - block0[i + crypto_secretbox_xchacha20poly1305_ZEROBYTES] = m[i]; - } - crypto_stream_chacha20_xor(block0, block0, - mlen0 + crypto_secretbox_xchacha20poly1305_ZEROBYTES, - n + 16, subkey); - COMPILER_ASSERT(crypto_secretbox_xchacha20poly1305_ZEROBYTES >= - crypto_onetimeauth_poly1305_KEYBYTES); - crypto_onetimeauth_poly1305_init(&state, block0); - - for (i = 0U; i < mlen0; i++) { - c[i] = block0[crypto_secretbox_xchacha20poly1305_ZEROBYTES + i]; - } - sodium_memzero(block0, sizeof block0); - if (mlen > mlen0) { - crypto_stream_chacha20_xor_ic(c + mlen0, m + mlen0, mlen - mlen0, - n + 16, 1U, subkey); - } - sodium_memzero(subkey, sizeof subkey); - - crypto_onetimeauth_poly1305_update(&state, c, mlen); - crypto_onetimeauth_poly1305_final(&state, mac); - sodium_memzero(&state, sizeof state); - - return 0; -} - -int -crypto_secretbox_xchacha20poly1305_easy(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) -{ - if (mlen > crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return crypto_secretbox_xchacha20poly1305_detached - (c + crypto_secretbox_xchacha20poly1305_MACBYTES, c, m, mlen, n, k); -} - -int -crypto_secretbox_xchacha20poly1305_open_detached(unsigned char *m, - const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - unsigned char block0[64U]; - unsigned char subkey[crypto_stream_chacha20_KEYBYTES]; - unsigned long long i; - unsigned long long mlen0; - - crypto_core_hchacha20(subkey, n, k, NULL); - crypto_stream_chacha20(block0, crypto_stream_chacha20_KEYBYTES, - n + 16, subkey); - if (crypto_onetimeauth_poly1305_verify(mac, c, clen, block0) != 0) { - sodium_memzero(subkey, sizeof subkey); - return -1; - } - if (m == NULL) { - return 0; - } - if (((uintptr_t) c >= (uintptr_t) m && - (uintptr_t) c - (uintptr_t) m < clen) || - ((uintptr_t) m >= (uintptr_t) c && - (uintptr_t) m - (uintptr_t) c < clen)) { /* LCOV_EXCL_LINE */ - memmove(m, c, clen); - c = m; - } - mlen0 = clen; - if (mlen0 > 64U - crypto_secretbox_xchacha20poly1305_ZEROBYTES) { - mlen0 = 64U - crypto_secretbox_xchacha20poly1305_ZEROBYTES; - } - for (i = 0U; i < mlen0; i++) { - block0[crypto_secretbox_xchacha20poly1305_ZEROBYTES + i] = c[i]; - } - crypto_stream_chacha20_xor(block0, block0, - crypto_secretbox_xchacha20poly1305_ZEROBYTES + mlen0, - n + 16, subkey); - for (i = 0U; i < mlen0; i++) { - m[i] = block0[i + crypto_secretbox_xchacha20poly1305_ZEROBYTES]; - } - if (clen > mlen0) { - crypto_stream_chacha20_xor_ic(m + mlen0, c + mlen0, clen - mlen0, - n + 16, 1U, subkey); - } - sodium_memzero(subkey, sizeof subkey); - - return 0; -} - -int -crypto_secretbox_xchacha20poly1305_open_easy(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - if (clen < crypto_secretbox_xchacha20poly1305_MACBYTES) { - return -1; - } - return crypto_secretbox_xchacha20poly1305_open_detached - (m, c + crypto_secretbox_xchacha20poly1305_MACBYTES, c, - clen - crypto_secretbox_xchacha20poly1305_MACBYTES, n, k); -} - -size_t -crypto_secretbox_xchacha20poly1305_keybytes(void) -{ - return crypto_secretbox_xchacha20poly1305_KEYBYTES; -} - -size_t -crypto_secretbox_xchacha20poly1305_noncebytes(void) -{ - return crypto_secretbox_xchacha20poly1305_NONCEBYTES; -} - -size_t -crypto_secretbox_xchacha20poly1305_macbytes(void) -{ - return crypto_secretbox_xchacha20poly1305_MACBYTES; -} - -size_t -crypto_secretbox_xchacha20poly1305_messagebytes_max(void) -{ - return crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c deleted file mode 100644 index 7240050..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c +++ /dev/null @@ -1,89 +0,0 @@ -#include "crypto_onetimeauth_poly1305.h" -#include "crypto_secretbox_xsalsa20poly1305.h" -#include "crypto_stream_xsalsa20.h" -#include "randombytes.h" - -int -crypto_secretbox_xsalsa20poly1305(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) -{ - int i; - - if (mlen < 32) { - return -1; - } - crypto_stream_xsalsa20_xor(c, m, mlen, n, k); - crypto_onetimeauth_poly1305(c + 16, c + 32, mlen - 32, c); - for (i = 0; i < 16; ++i) { - c[i] = 0; - } - return 0; -} - -int -crypto_secretbox_xsalsa20poly1305_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - unsigned char subkey[32]; - int i; - - if (clen < 32) { - return -1; - } - crypto_stream_xsalsa20(subkey, 32, n, k); - if (crypto_onetimeauth_poly1305_verify(c + 16, c + 32, - clen - 32, subkey) != 0) { - return -1; - } - crypto_stream_xsalsa20_xor(m, c, clen, n, k); - for (i = 0; i < 32; ++i) { - m[i] = 0; - } - return 0; -} - -size_t -crypto_secretbox_xsalsa20poly1305_keybytes(void) -{ - return crypto_secretbox_xsalsa20poly1305_KEYBYTES; -} - -size_t -crypto_secretbox_xsalsa20poly1305_noncebytes(void) -{ - return crypto_secretbox_xsalsa20poly1305_NONCEBYTES; -} - -size_t -crypto_secretbox_xsalsa20poly1305_zerobytes(void) -{ - return crypto_secretbox_xsalsa20poly1305_ZEROBYTES; -} - -size_t -crypto_secretbox_xsalsa20poly1305_boxzerobytes(void) -{ - return crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES; -} - -size_t -crypto_secretbox_xsalsa20poly1305_macbytes(void) -{ - return crypto_secretbox_xsalsa20poly1305_MACBYTES; -} - -size_t -crypto_secretbox_xsalsa20poly1305_messagebytes_max(void) -{ - return crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX; -} - -void -crypto_secretbox_xsalsa20poly1305_keygen(unsigned char k[crypto_secretbox_xsalsa20poly1305_KEYBYTES]) -{ - randombytes_buf(k, crypto_secretbox_xsalsa20poly1305_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c deleted file mode 100644 index 2754a91..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c +++ /dev/null @@ -1,313 +0,0 @@ -#include -#include -#include -#include - -#include "core.h" -#include "crypto_aead_chacha20poly1305.h" -#include "crypto_aead_xchacha20poly1305.h" -#include "crypto_core_hchacha20.h" -#include "crypto_onetimeauth_poly1305.h" -#include "crypto_secretstream_xchacha20poly1305.h" -#include "randombytes.h" -#include "utils.h" - -#include "private/common.h" - -#define crypto_secretstream_xchacha20poly1305_COUNTERBYTES 4U -#define crypto_secretstream_xchacha20poly1305_INONCEBYTES 8U - -#define STATE_COUNTER(STATE) ((STATE)->nonce) -#define STATE_INONCE(STATE) ((STATE)->nonce + \ - crypto_secretstream_xchacha20poly1305_COUNTERBYTES) - -static const unsigned char _pad0[16] = { 0 }; - -static inline void -_crypto_secretstream_xchacha20poly1305_counter_reset - (crypto_secretstream_xchacha20poly1305_state *state) -{ - memset(STATE_COUNTER(state), 0, - crypto_secretstream_xchacha20poly1305_COUNTERBYTES); - STATE_COUNTER(state)[0] = 1; -} - -void -crypto_secretstream_xchacha20poly1305_keygen - (unsigned char k[crypto_secretstream_xchacha20poly1305_KEYBYTES]) -{ - randombytes_buf(k, crypto_secretstream_xchacha20poly1305_KEYBYTES); -} - -int -crypto_secretstream_xchacha20poly1305_init_push - (crypto_secretstream_xchacha20poly1305_state *state, - unsigned char out[crypto_secretstream_xchacha20poly1305_HEADERBYTES], - const unsigned char k[crypto_secretstream_xchacha20poly1305_KEYBYTES]) -{ - COMPILER_ASSERT(crypto_secretstream_xchacha20poly1305_HEADERBYTES == - crypto_core_hchacha20_INPUTBYTES + - crypto_secretstream_xchacha20poly1305_INONCEBYTES); - COMPILER_ASSERT(crypto_secretstream_xchacha20poly1305_HEADERBYTES == - crypto_aead_xchacha20poly1305_ietf_NPUBBYTES); - COMPILER_ASSERT(sizeof state->nonce == - crypto_secretstream_xchacha20poly1305_INONCEBYTES + - crypto_secretstream_xchacha20poly1305_COUNTERBYTES); - - randombytes_buf(out, crypto_secretstream_xchacha20poly1305_HEADERBYTES); - crypto_core_hchacha20(state->k, out, k, NULL); - _crypto_secretstream_xchacha20poly1305_counter_reset(state); - memcpy(STATE_INONCE(state), out + crypto_core_hchacha20_INPUTBYTES, - crypto_secretstream_xchacha20poly1305_INONCEBYTES); - memset(state->_pad, 0, sizeof state->_pad); - - return 0; -} - -int -crypto_secretstream_xchacha20poly1305_init_pull - (crypto_secretstream_xchacha20poly1305_state *state, - const unsigned char in[crypto_secretstream_xchacha20poly1305_HEADERBYTES], - const unsigned char k[crypto_secretstream_xchacha20poly1305_KEYBYTES]) -{ - crypto_core_hchacha20(state->k, in, k, NULL); - _crypto_secretstream_xchacha20poly1305_counter_reset(state); - memcpy(STATE_INONCE(state), in + crypto_core_hchacha20_INPUTBYTES, - crypto_secretstream_xchacha20poly1305_INONCEBYTES); - memset(state->_pad, 0, sizeof state->_pad); - - return 0; -} - -void -crypto_secretstream_xchacha20poly1305_rekey - (crypto_secretstream_xchacha20poly1305_state *state) -{ - unsigned char new_key_and_inonce[crypto_stream_chacha20_ietf_KEYBYTES + - crypto_secretstream_xchacha20poly1305_INONCEBYTES]; - size_t i; - - for (i = 0U; i < crypto_stream_chacha20_ietf_KEYBYTES; i++) { - new_key_and_inonce[i] = state->k[i]; - } - for (i = 0U; i < crypto_secretstream_xchacha20poly1305_INONCEBYTES; i++) { - new_key_and_inonce[crypto_stream_chacha20_ietf_KEYBYTES + i] = - STATE_INONCE(state)[i]; - } - crypto_stream_chacha20_ietf_xor(new_key_and_inonce, new_key_and_inonce, - sizeof new_key_and_inonce, - state->nonce, state->k); - for (i = 0U; i < crypto_stream_chacha20_ietf_KEYBYTES; i++) { - state->k[i] = new_key_and_inonce[i]; - } - for (i = 0U; i < crypto_secretstream_xchacha20poly1305_INONCEBYTES; i++) { - STATE_INONCE(state)[i] = - new_key_and_inonce[crypto_stream_chacha20_ietf_KEYBYTES + i]; - } - _crypto_secretstream_xchacha20poly1305_counter_reset(state); -} - -int -crypto_secretstream_xchacha20poly1305_push - (crypto_secretstream_xchacha20poly1305_state *state, - unsigned char *out, unsigned long long *outlen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, unsigned char tag) -{ - crypto_onetimeauth_poly1305_state poly1305_state; - unsigned char block[64U]; - unsigned char slen[8U]; - unsigned char *c; - unsigned char *mac; - - if (outlen_p != NULL) { - *outlen_p = 0U; - } - COMPILER_ASSERT(crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX - <= crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX); - if (mlen > crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - crypto_stream_chacha20_ietf(block, sizeof block, state->nonce, state->k); - crypto_onetimeauth_poly1305_init(&poly1305_state, block); - sodium_memzero(block, sizeof block); - - crypto_onetimeauth_poly1305_update(&poly1305_state, ad, adlen); - crypto_onetimeauth_poly1305_update(&poly1305_state, _pad0, - (0x10 - adlen) & 0xf); - memset(block, 0, sizeof block); - block[0] = tag; - - crypto_stream_chacha20_ietf_xor_ic(block, block, sizeof block, - state->nonce, 1U, state->k); - crypto_onetimeauth_poly1305_update(&poly1305_state, block, sizeof block); - out[0] = block[0]; - - c = out + (sizeof tag); - crypto_stream_chacha20_ietf_xor_ic(c, m, mlen, state->nonce, 2U, state->k); - crypto_onetimeauth_poly1305_update(&poly1305_state, c, mlen); - crypto_onetimeauth_poly1305_update - (&poly1305_state, _pad0, (0x10 - (sizeof block) + mlen) & 0xf); - - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&poly1305_state, slen, sizeof slen); - STORE64_LE(slen, (sizeof block) + mlen); - crypto_onetimeauth_poly1305_update(&poly1305_state, slen, sizeof slen); - - mac = c + mlen; - crypto_onetimeauth_poly1305_final(&poly1305_state, mac); - sodium_memzero(&poly1305_state, sizeof poly1305_state); - - COMPILER_ASSERT(crypto_onetimeauth_poly1305_BYTES >= - crypto_secretstream_xchacha20poly1305_INONCEBYTES); - XOR_BUF(STATE_INONCE(state), mac, - crypto_secretstream_xchacha20poly1305_INONCEBYTES); - sodium_increment(STATE_COUNTER(state), - crypto_secretstream_xchacha20poly1305_COUNTERBYTES); - if ((tag & crypto_secretstream_xchacha20poly1305_TAG_REKEY) != 0 || - sodium_is_zero(STATE_COUNTER(state), - crypto_secretstream_xchacha20poly1305_COUNTERBYTES)) { - crypto_secretstream_xchacha20poly1305_rekey(state); - } - if (outlen_p != NULL) { - *outlen_p = crypto_secretstream_xchacha20poly1305_ABYTES + mlen; - } - return 0; -} - -int -crypto_secretstream_xchacha20poly1305_pull - (crypto_secretstream_xchacha20poly1305_state *state, - unsigned char *m, unsigned long long *mlen_p, unsigned char *tag_p, - const unsigned char *in, unsigned long long inlen, - const unsigned char *ad, unsigned long long adlen) -{ - crypto_onetimeauth_poly1305_state poly1305_state; - unsigned char block[64U]; - unsigned char slen[8U]; - unsigned char mac[crypto_onetimeauth_poly1305_BYTES]; - const unsigned char *c; - const unsigned char *stored_mac; - unsigned long long mlen; - unsigned char tag; - - if (mlen_p != NULL) { - *mlen_p = 0U; - } - if (tag_p != NULL) { - *tag_p = 0xff; - } - if (inlen < crypto_secretstream_xchacha20poly1305_ABYTES) { - return -1; - } - mlen = inlen - crypto_secretstream_xchacha20poly1305_ABYTES; - if (mlen > crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - crypto_stream_chacha20_ietf(block, sizeof block, state->nonce, state->k); - crypto_onetimeauth_poly1305_init(&poly1305_state, block); - sodium_memzero(block, sizeof block); - - crypto_onetimeauth_poly1305_update(&poly1305_state, ad, adlen); - crypto_onetimeauth_poly1305_update(&poly1305_state, _pad0, - (0x10 - adlen) & 0xf); - - memset(block, 0, sizeof block); - block[0] = in[0]; - crypto_stream_chacha20_ietf_xor_ic(block, block, sizeof block, - state->nonce, 1U, state->k); - tag = block[0]; - block[0] = in[0]; - crypto_onetimeauth_poly1305_update(&poly1305_state, block, sizeof block); - - c = in + (sizeof tag); - crypto_onetimeauth_poly1305_update(&poly1305_state, c, mlen); - crypto_onetimeauth_poly1305_update - (&poly1305_state, _pad0, (0x10 - (sizeof block) + mlen) & 0xf); - - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&poly1305_state, slen, sizeof slen); - STORE64_LE(slen, (sizeof block) + mlen); - crypto_onetimeauth_poly1305_update(&poly1305_state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&poly1305_state, mac); - sodium_memzero(&poly1305_state, sizeof poly1305_state); - - stored_mac = c + mlen; - if (sodium_memcmp(mac, stored_mac, sizeof mac) != 0) { - sodium_memzero(mac, sizeof mac); - return -1; - } - - crypto_stream_chacha20_ietf_xor_ic(m, c, mlen, state->nonce, 2U, state->k); - XOR_BUF(STATE_INONCE(state), mac, - crypto_secretstream_xchacha20poly1305_INONCEBYTES); - sodium_increment(STATE_COUNTER(state), - crypto_secretstream_xchacha20poly1305_COUNTERBYTES); - if ((tag & crypto_secretstream_xchacha20poly1305_TAG_REKEY) != 0 || - sodium_is_zero(STATE_COUNTER(state), - crypto_secretstream_xchacha20poly1305_COUNTERBYTES)) { - crypto_secretstream_xchacha20poly1305_rekey(state); - } - if (mlen_p != NULL) { - *mlen_p = mlen; - } - if (tag_p != NULL) { - *tag_p = tag; - } - return 0; -} - -size_t -crypto_secretstream_xchacha20poly1305_statebytes(void) -{ - return sizeof(crypto_secretstream_xchacha20poly1305_state); -} - -size_t -crypto_secretstream_xchacha20poly1305_abytes(void) -{ - return crypto_secretstream_xchacha20poly1305_ABYTES; -} - -size_t -crypto_secretstream_xchacha20poly1305_headerbytes(void) -{ - return crypto_secretstream_xchacha20poly1305_HEADERBYTES; -} - -size_t -crypto_secretstream_xchacha20poly1305_keybytes(void) -{ - return crypto_secretstream_xchacha20poly1305_KEYBYTES; -} - -size_t -crypto_secretstream_xchacha20poly1305_messagebytes_max(void) -{ - return crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX; -} - -unsigned char -crypto_secretstream_xchacha20poly1305_tag_message(void) -{ - return crypto_secretstream_xchacha20poly1305_TAG_MESSAGE; -} - -unsigned char -crypto_secretstream_xchacha20poly1305_tag_push(void) -{ - return crypto_secretstream_xchacha20poly1305_TAG_PUSH; -} - -unsigned char -crypto_secretstream_xchacha20poly1305_tag_rekey(void) -{ - return crypto_secretstream_xchacha20poly1305_TAG_REKEY; -} - -unsigned char -crypto_secretstream_xchacha20poly1305_tag_final(void) -{ - return crypto_secretstream_xchacha20poly1305_TAG_FINAL; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/crypto_shorthash.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/crypto_shorthash.c deleted file mode 100644 index 95f52f8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/crypto_shorthash.c +++ /dev/null @@ -1,34 +0,0 @@ - -#include "crypto_shorthash.h" -#include "randombytes.h" - -size_t -crypto_shorthash_bytes(void) -{ - return crypto_shorthash_BYTES; -} - -size_t -crypto_shorthash_keybytes(void) -{ - return crypto_shorthash_KEYBYTES; -} - -const char * -crypto_shorthash_primitive(void) -{ - return crypto_shorthash_PRIMITIVE; -} - -int -crypto_shorthash(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - return crypto_shorthash_siphash24(out, in, inlen, k); -} - -void -crypto_shorthash_keygen(unsigned char k[crypto_shorthash_KEYBYTES]) -{ - randombytes_buf(k, crypto_shorthash_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c deleted file mode 100644 index 5487745..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c +++ /dev/null @@ -1,71 +0,0 @@ -#include "crypto_shorthash_siphash24.h" -#include "private/common.h" -#include "shorthash_siphash_ref.h" - -int -crypto_shorthash_siphash24(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - /* "somepseudorandomlygeneratedbytes" */ - uint64_t v0 = 0x736f6d6570736575ULL; - uint64_t v1 = 0x646f72616e646f6dULL; - uint64_t v2 = 0x6c7967656e657261ULL; - uint64_t v3 = 0x7465646279746573ULL; - uint64_t b; - uint64_t k0 = LOAD64_LE(k); - uint64_t k1 = LOAD64_LE(k + 8); - uint64_t m; - const uint8_t *end = in + inlen - (inlen % sizeof(uint64_t)); - const int left = inlen & 7; - - b = ((uint64_t) inlen) << 56; - v3 ^= k1; - v2 ^= k0; - v1 ^= k1; - v0 ^= k0; - for (; in != end; in += 8) { - m = LOAD64_LE(in); - v3 ^= m; - SIPROUND; - SIPROUND; - v0 ^= m; - } - switch (left) { - case 7: - b |= ((uint64_t) in[6]) << 48; - /* FALLTHRU */ - case 6: - b |= ((uint64_t) in[5]) << 40; - /* FALLTHRU */ - case 5: - b |= ((uint64_t) in[4]) << 32; - /* FALLTHRU */ - case 4: - b |= ((uint64_t) in[3]) << 24; - /* FALLTHRU */ - case 3: - b |= ((uint64_t) in[2]) << 16; - /* FALLTHRU */ - case 2: - b |= ((uint64_t) in[1]) << 8; - /* FALLTHRU */ - case 1: - b |= ((uint64_t) in[0]); - break; - case 0: - break; - } - v3 ^= b; - SIPROUND; - SIPROUND; - v0 ^= b; - v2 ^= 0xff; - SIPROUND; - SIPROUND; - SIPROUND; - SIPROUND; - b = v0 ^ v1 ^ v2 ^ v3; - STORE64_LE(out, b); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h deleted file mode 100644 index 3f9a38b..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef shorthash_siphash_H -#define shorthash_siphash_H - -#include "private/common.h" - -#define SIPROUND \ - do { \ - v0 += v1; \ - v1 = ROTL64(v1, 13); \ - v1 ^= v0; \ - v0 = ROTL64(v0, 32); \ - v2 += v3; \ - v3 = ROTL64(v3, 16); \ - v3 ^= v2; \ - v0 += v3; \ - v3 = ROTL64(v3, 21); \ - v3 ^= v0; \ - v2 += v1; \ - v1 = ROTL64(v1, 17); \ - v1 ^= v2; \ - v2 = ROTL64(v2, 32); \ - } while (0) - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c deleted file mode 100644 index be984ee..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c +++ /dev/null @@ -1,77 +0,0 @@ -#include "crypto_shorthash_siphash24.h" -#include "private/common.h" -#include "shorthash_siphash_ref.h" - -int -crypto_shorthash_siphashx24(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - uint64_t v0 = 0x736f6d6570736575ULL; - uint64_t v1 = 0x646f72616e646f83ULL; - uint64_t v2 = 0x6c7967656e657261ULL; - uint64_t v3 = 0x7465646279746573ULL; - uint64_t b; - uint64_t k0 = LOAD64_LE(k); - uint64_t k1 = LOAD64_LE(k + 8); - uint64_t m; - const uint8_t *end = in + inlen - (inlen % sizeof(uint64_t)); - const int left = inlen & 7; - - b = ((uint64_t) inlen) << 56; - v3 ^= k1; - v2 ^= k0; - v1 ^= k1; - v0 ^= k0; - for (; in != end; in += 8) { - m = LOAD64_LE(in); - v3 ^= m; - SIPROUND; - SIPROUND; - v0 ^= m; - } - switch (left) { - case 7: - b |= ((uint64_t) in[6]) << 48; - /* FALLTHRU */ - case 6: - b |= ((uint64_t) in[5]) << 40; - /* FALLTHRU */ - case 5: - b |= ((uint64_t) in[4]) << 32; - /* FALLTHRU */ - case 4: - b |= ((uint64_t) in[3]) << 24; - /* FALLTHRU */ - case 3: - b |= ((uint64_t) in[2]) << 16; - /* FALLTHRU */ - case 2: - b |= ((uint64_t) in[1]) << 8; - /* FALLTHRU */ - case 1: - b |= ((uint64_t) in[0]); - break; - case 0: - break; - } - v3 ^= b; - SIPROUND; - SIPROUND; - v0 ^= b; - v2 ^= 0xee; - SIPROUND; - SIPROUND; - SIPROUND; - SIPROUND; - b = v0 ^ v1 ^ v2 ^ v3; - STORE64_LE(out, b); - v1 ^= 0xdd; - SIPROUND; - SIPROUND; - SIPROUND; - SIPROUND; - b = v0 ^ v1 ^ v2 ^ v3; - STORE64_LE(out + 8, b); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c deleted file mode 100644 index e2cea77..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "crypto_shorthash_siphash24.h" - -size_t -crypto_shorthash_siphash24_bytes(void) { - return crypto_shorthash_siphash24_BYTES; -} - -size_t -crypto_shorthash_siphash24_keybytes(void) { - return crypto_shorthash_siphash24_KEYBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c deleted file mode 100644 index 2d487db..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "crypto_shorthash_siphash24.h" - -size_t -crypto_shorthash_siphashx24_bytes(void) { - return crypto_shorthash_siphashx24_BYTES; -} - -size_t -crypto_shorthash_siphashx24_keybytes(void) { - return crypto_shorthash_siphashx24_KEYBYTES; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/crypto_sign.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/crypto_sign.c deleted file mode 100644 index d723ff8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/crypto_sign.c +++ /dev/null @@ -1,115 +0,0 @@ - -#include "crypto_sign.h" - -size_t -crypto_sign_statebytes(void) -{ - return sizeof(crypto_sign_state); -} - -size_t -crypto_sign_bytes(void) -{ - return crypto_sign_BYTES; -} - -size_t -crypto_sign_seedbytes(void) -{ - return crypto_sign_SEEDBYTES; -} - -size_t -crypto_sign_publickeybytes(void) -{ - return crypto_sign_PUBLICKEYBYTES; -} - -size_t -crypto_sign_secretkeybytes(void) -{ - return crypto_sign_SECRETKEYBYTES; -} - -size_t -crypto_sign_messagebytes_max(void) -{ - return crypto_sign_MESSAGEBYTES_MAX; -} - -const char * -crypto_sign_primitive(void) -{ - return crypto_sign_PRIMITIVE; -} - -int -crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed) -{ - return crypto_sign_ed25519_seed_keypair(pk, sk, seed); -} - -int -crypto_sign_keypair(unsigned char *pk, unsigned char *sk) -{ - return crypto_sign_ed25519_keypair(pk, sk); -} - -int -crypto_sign(unsigned char *sm, unsigned long long *smlen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) -{ - return crypto_sign_ed25519(sm, smlen_p, m, mlen, sk); -} - -int -crypto_sign_open(unsigned char *m, unsigned long long *mlen_p, - const unsigned char *sm, unsigned long long smlen, - const unsigned char *pk) -{ - return crypto_sign_ed25519_open(m, mlen_p, sm, smlen, pk); -} - -int -crypto_sign_detached(unsigned char *sig, unsigned long long *siglen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) -{ - return crypto_sign_ed25519_detached(sig, siglen_p, m, mlen, sk); -} - -int -crypto_sign_verify_detached(const unsigned char *sig, const unsigned char *m, - unsigned long long mlen, const unsigned char *pk) -{ - return crypto_sign_ed25519_verify_detached(sig, m, mlen, pk); -} - -int -crypto_sign_init(crypto_sign_state *state) -{ - return crypto_sign_ed25519ph_init(state); -} - -int -crypto_sign_update(crypto_sign_state *state, const unsigned char *m, - unsigned long long mlen) -{ - return crypto_sign_ed25519ph_update(state, m, mlen); -} - -int -crypto_sign_final_create(crypto_sign_state *state, unsigned char *sig, - unsigned long long *siglen_p, const unsigned char *sk) -{ - return crypto_sign_ed25519ph_final_create(state, sig, siglen_p, sk); -} - -int -crypto_sign_final_verify(crypto_sign_state *state, const unsigned char *sig, - const unsigned char *pk) -{ - return crypto_sign_ed25519ph_final_verify(state, sig, pk); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/keypair.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/keypair.c deleted file mode 100644 index e8e4015..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +++ /dev/null @@ -1,83 +0,0 @@ - -#include - -#include "crypto_hash_sha512.h" -#include "crypto_scalarmult_curve25519.h" -#include "crypto_sign_ed25519.h" -#include "sign_ed25519_ref10.h" -#include "private/ed25519_ref10.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_sign_ed25519_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed) -{ - ge25519_p3 A; - - crypto_hash_sha512(sk, seed, 32); - sk[0] &= 248; - sk[31] &= 127; - sk[31] |= 64; - - ge25519_scalarmult_base(&A, sk); - ge25519_p3_tobytes(pk, &A); - - memmove(sk, seed, 32); - memmove(sk + 32, pk, 32); - - return 0; -} - -int -crypto_sign_ed25519_keypair(unsigned char *pk, unsigned char *sk) -{ - unsigned char seed[32]; - int ret; - - randombytes_buf(seed, sizeof seed); - ret = crypto_sign_ed25519_seed_keypair(pk, sk, seed); - sodium_memzero(seed, sizeof seed); - - return ret; -} - -int -crypto_sign_ed25519_pk_to_curve25519(unsigned char *curve25519_pk, - const unsigned char *ed25519_pk) -{ - ge25519_p3 A; - fe25519 x; - fe25519 one_minus_y; - - if (ge25519_has_small_order(ed25519_pk) != 0 || - ge25519_frombytes_negate_vartime(&A, ed25519_pk) != 0 || - ge25519_is_on_main_subgroup(&A) == 0) { - return -1; - } - fe25519_1(one_minus_y); - fe25519_sub(one_minus_y, one_minus_y, A.Y); - fe25519_1(x); - fe25519_add(x, x, A.Y); - fe25519_invert(one_minus_y, one_minus_y); - fe25519_mul(x, x, one_minus_y); - fe25519_tobytes(curve25519_pk, x); - - return 0; -} - -int -crypto_sign_ed25519_sk_to_curve25519(unsigned char *curve25519_sk, - const unsigned char *ed25519_sk) -{ - unsigned char h[crypto_hash_sha512_BYTES]; - - crypto_hash_sha512(h, ed25519_sk, 32); - h[0] &= 248; - h[31] &= 127; - h[31] |= 64; - memcpy(curve25519_sk, h, crypto_scalarmult_curve25519_BYTES); - sodium_memzero(h, sizeof h); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c deleted file mode 100644 index 64ded79..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +++ /dev/null @@ -1,118 +0,0 @@ - -#include -#include -#include - -#include "crypto_hash_sha512.h" -#include "crypto_sign_edwards25519sha512batch.h" -#include "crypto_verify_32.h" -#include "private/ed25519_ref10.h" -#include "randombytes.h" -#include "utils.h" - -/* LCOV_EXCL_START */ -int -crypto_sign_edwards25519sha512batch_keypair(unsigned char *pk, - unsigned char *sk) -{ - ge25519_p3 A; - - randombytes_buf(sk, 32); - crypto_hash_sha512(sk, sk, 32); - sk[0] &= 248; - sk[31] &= 127; - sk[31] |= 64; - ge25519_scalarmult_base(&A, sk); - ge25519_p3_tobytes(pk, &A); - - return 0; -} - -int -crypto_sign_edwards25519sha512batch(unsigned char *sm, - unsigned long long *smlen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk) -{ - crypto_hash_sha512_state hs; - unsigned char nonce[64]; - unsigned char hram[64]; - unsigned char sig[64]; - ge25519_p3 A; - ge25519_p3 R; - - crypto_hash_sha512_init(&hs); - crypto_hash_sha512_update(&hs, sk + 32, 32); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, nonce); - ge25519_scalarmult_base(&A, sk); - ge25519_p3_tobytes(sig + 32, &A); - sc25519_reduce(nonce); - ge25519_scalarmult_base(&R, nonce); - ge25519_p3_tobytes(sig, &R); - crypto_hash_sha512_init(&hs); - crypto_hash_sha512_update(&hs, sig, 32); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, hram); - sc25519_reduce(hram); - sc25519_muladd(sig + 32, hram, nonce, sk); - sodium_memzero(hram, sizeof hram); - memmove(sm + 32, m, (size_t) mlen); - memcpy(sm, sig, 32); - memcpy(sm + 32 + mlen, sig + 32, 32); - *smlen_p = mlen + 64U; - - return 0; -} - -int -crypto_sign_edwards25519sha512batch_open(unsigned char *m, - unsigned long long *mlen_p, - const unsigned char *sm, - unsigned long long smlen, - const unsigned char *pk) -{ - unsigned char h[64]; - unsigned char t1[32], t2[32]; - unsigned long long mlen; - ge25519_cached Ai; - ge25519_p1p1 csa; - ge25519_p2 cs; - ge25519_p3 A; - ge25519_p3 R; - ge25519_p3 cs3; - - *mlen_p = 0; - if (smlen < 64 || smlen - 64 > crypto_sign_edwards25519sha512batch_MESSAGEBYTES_MAX) { - return -1; - } - mlen = smlen - 64; - if (sm[smlen - 1] & 224) { - return -1; - } - if (ge25519_has_small_order(pk) != 0 || - ge25519_frombytes_negate_vartime(&A, pk) != 0 || - ge25519_has_small_order(sm) != 0 || - ge25519_frombytes_negate_vartime(&R, sm) != 0) { - return -1; - } - ge25519_p3_to_cached(&Ai, &A); - crypto_hash_sha512(h, sm, mlen + 32); - sc25519_reduce(h); - ge25519_scalarmult(&cs3, h, &R); - ge25519_add(&csa, &cs3, &Ai); - ge25519_p1p1_to_p2(&cs, &csa); - ge25519_tobytes(t1, &cs); - t1[31] ^= 1 << 7; - ge25519_scalarmult_base(&R, sm + 32 + mlen); - ge25519_p3_tobytes(t2, &R); - if (crypto_verify_32(t1, t2) != 0) { - return -1; - } - *mlen_p = mlen; - memmove(m, sm + 32, mlen); - - return 0; -} -/* LCOV_EXCL_END */ diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/open.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/open.c deleted file mode 100644 index 26476b3..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/open.c +++ /dev/null @@ -1,96 +0,0 @@ - -#include -#include -#include - -#include "crypto_hash_sha512.h" -#include "crypto_sign_ed25519.h" -#include "crypto_verify_32.h" -#include "sign_ed25519_ref10.h" -#include "private/ed25519_ref10.h" -#include "utils.h" - -int -_crypto_sign_ed25519_verify_detached(const unsigned char *sig, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk, - int prehashed) -{ - crypto_hash_sha512_state hs; - unsigned char h[64]; - unsigned char rcheck[32]; - ge25519_p3 A; - ge25519_p2 R; - -#ifdef ED25519_COMPAT - if (sig[63] & 224) { - return -1; - } -#else - if (sc25519_is_canonical(sig + 32) == 0 || - ge25519_has_small_order(sig) != 0) { - return -1; - } - if (ge25519_is_canonical(pk) == 0 || - ge25519_has_small_order(pk) != 0) { - return -1; - } -#endif - if (ge25519_frombytes_negate_vartime(&A, pk) != 0) { - return -1; - } - _crypto_sign_ed25519_ref10_hinit(&hs, prehashed); - crypto_hash_sha512_update(&hs, sig, 32); - crypto_hash_sha512_update(&hs, pk, 32); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, h); - sc25519_reduce(h); - - ge25519_double_scalarmult_vartime(&R, h, &A, sig + 32); - ge25519_tobytes(rcheck, &R); - - return crypto_verify_32(rcheck, sig) | (-(rcheck == sig)) | - sodium_memcmp(sig, rcheck, 32); -} - -int -crypto_sign_ed25519_verify_detached(const unsigned char *sig, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk) -{ - return _crypto_sign_ed25519_verify_detached(sig, m, mlen, pk, 0); -} - -int -crypto_sign_ed25519_open(unsigned char *m, unsigned long long *mlen_p, - const unsigned char *sm, unsigned long long smlen, - const unsigned char *pk) -{ - unsigned long long mlen; - - if (smlen < 64 || smlen - 64 > crypto_sign_ed25519_MESSAGEBYTES_MAX) { - goto badsig; - } - mlen = smlen - 64; - if (crypto_sign_ed25519_verify_detached(sm, sm + 64, mlen, pk) != 0) { - if (m != NULL) { - memset(m, 0, mlen); - } - goto badsig; - } - if (mlen_p != NULL) { - *mlen_p = mlen; - } - if (m != NULL) { - memmove(m, sm + 64, mlen); - } - return 0; - -badsig: - if (mlen_p != NULL) { - *mlen_p = 0; - } - return -1; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/sign.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/sign.c deleted file mode 100644 index bbdd8f7..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/sign.c +++ /dev/null @@ -1,143 +0,0 @@ - -#include - -#include "crypto_hash_sha512.h" -#include "crypto_sign_ed25519.h" -#include "sign_ed25519_ref10.h" -#include "private/ed25519_ref10.h" -#include "randombytes.h" -#include "utils.h" - -void -_crypto_sign_ed25519_ref10_hinit(crypto_hash_sha512_state *hs, int prehashed) -{ - static const unsigned char DOM2PREFIX[32 + 2] = { - 'S', 'i', 'g', 'E', 'd', '2', '5', '5', '1', '9', ' ', - 'n', 'o', ' ', - 'E', 'd', '2', '5', '5', '1', '9', ' ', - 'c', 'o', 'l', 'l', 'i', 's', 'i', 'o', 'n', 's', 1, 0 - }; - - crypto_hash_sha512_init(hs); - if (prehashed) { - crypto_hash_sha512_update(hs, DOM2PREFIX, sizeof DOM2PREFIX); - } -} - -static inline void -_crypto_sign_ed25519_clamp(unsigned char k[32]) -{ - k[0] &= 248; - k[31] &= 127; - k[31] |= 64; -} - -#ifdef ED25519_NONDETERMINISTIC -/* r = hash(B || empty_labelset || Z || pad1 || k || pad2 || empty_labelset || K || extra || M) (mod q) */ -static void -_crypto_sign_ed25519_synthetic_r_hv(crypto_hash_sha512_state *hs, - unsigned char Z[32], - const unsigned char sk[64]) -{ - static const unsigned char B[32] = { - 0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, - }; - static const unsigned char zeros[128] = { 0x00 }; - static const unsigned char empty_labelset[3] = { 0x02, 0x00, 0x00 }; - - crypto_hash_sha512_update(hs, B, 32); - crypto_hash_sha512_update(hs, empty_labelset, 3); - randombytes_buf(Z, 32); - crypto_hash_sha512_update(hs, Z, 32); - crypto_hash_sha512_update(hs, zeros, 128 - (32 + 3 + 32) % 128); - crypto_hash_sha512_update(hs, sk, 32); - crypto_hash_sha512_update(hs, zeros, 128 - 32 % 128); - crypto_hash_sha512_update(hs, empty_labelset, 3); - crypto_hash_sha512_update(hs, sk + 32, 32); - /* empty extra */ -} -#endif - -int -_crypto_sign_ed25519_detached(unsigned char *sig, unsigned long long *siglen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk, int prehashed) -{ - crypto_hash_sha512_state hs; - unsigned char az[64]; - unsigned char nonce[64]; - unsigned char hram[64]; - ge25519_p3 R; - - _crypto_sign_ed25519_ref10_hinit(&hs, prehashed); - - crypto_hash_sha512(az, sk, 32); -#ifdef ED25519_NONDETERMINISTIC - _crypto_sign_ed25519_synthetic_r_hv(&hs, nonce /* Z */, az); -#else - crypto_hash_sha512_update(&hs, az + 32, 32); -#endif - - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, nonce); - - memmove(sig + 32, sk + 32, 32); - - sc25519_reduce(nonce); - ge25519_scalarmult_base(&R, nonce); - ge25519_p3_tobytes(sig, &R); - - _crypto_sign_ed25519_ref10_hinit(&hs, prehashed); - crypto_hash_sha512_update(&hs, sig, 64); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, hram); - - sc25519_reduce(hram); - _crypto_sign_ed25519_clamp(az); - sc25519_muladd(sig + 32, hram, az, nonce); - - sodium_memzero(az, sizeof az); - sodium_memzero(nonce, sizeof nonce); - - if (siglen_p != NULL) { - *siglen_p = 64U; - } - return 0; -} - -int -crypto_sign_ed25519_detached(unsigned char *sig, unsigned long long *siglen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) -{ - return _crypto_sign_ed25519_detached(sig, siglen_p, m, mlen, sk, 0); -} - -int -crypto_sign_ed25519(unsigned char *sm, unsigned long long *smlen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) -{ - unsigned long long siglen; - - memmove(sm + crypto_sign_ed25519_BYTES, m, mlen); - /* LCOV_EXCL_START */ - if (crypto_sign_ed25519_detached( - sm, &siglen, sm + crypto_sign_ed25519_BYTES, mlen, sk) != 0 || - siglen != crypto_sign_ed25519_BYTES) { - if (smlen_p != NULL) { - *smlen_p = 0; - } - memset(sm, 0, mlen + crypto_sign_ed25519_BYTES); - return -1; - } - /* LCOV_EXCL_STOP */ - - if (smlen_p != NULL) { - *smlen_p = mlen + siglen; - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h deleted file mode 100644 index 29f45a8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef sign_ed25519_ref10_H -#define sign_ed25519_ref10_H - -void _crypto_sign_ed25519_ref10_hinit(crypto_hash_sha512_state *hs, - int prehashed); - -int _crypto_sign_ed25519_detached(unsigned char *sig, - unsigned long long *siglen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk, int prehashed); - -int _crypto_sign_ed25519_verify_detached(const unsigned char *sig, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk, - int prehashed); -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/sign_ed25519.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/sign_ed25519.c deleted file mode 100644 index 9b90249..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_sign/ed25519/sign_ed25519.c +++ /dev/null @@ -1,97 +0,0 @@ - -#include - -#include "crypto_hash_sha512.h" -#include "crypto_sign_ed25519.h" -#include "ref10/sign_ed25519_ref10.h" - -size_t -crypto_sign_ed25519ph_statebytes(void) -{ - return sizeof(crypto_sign_ed25519ph_state); -} - -size_t -crypto_sign_ed25519_bytes(void) -{ - return crypto_sign_ed25519_BYTES; -} - -size_t -crypto_sign_ed25519_seedbytes(void) -{ - return crypto_sign_ed25519_SEEDBYTES; -} - -size_t -crypto_sign_ed25519_publickeybytes(void) -{ - return crypto_sign_ed25519_PUBLICKEYBYTES; -} - -size_t -crypto_sign_ed25519_secretkeybytes(void) -{ - return crypto_sign_ed25519_SECRETKEYBYTES; -} - -size_t -crypto_sign_ed25519_messagebytes_max(void) -{ - return crypto_sign_ed25519_MESSAGEBYTES_MAX; -} - -int -crypto_sign_ed25519_sk_to_seed(unsigned char *seed, const unsigned char *sk) -{ - memmove(seed, sk, crypto_sign_ed25519_SEEDBYTES); - - return 0; -} - -int -crypto_sign_ed25519_sk_to_pk(unsigned char *pk, const unsigned char *sk) -{ - memmove(pk, sk + crypto_sign_ed25519_SEEDBYTES, - crypto_sign_ed25519_PUBLICKEYBYTES); - return 0; -} - -int -crypto_sign_ed25519ph_init(crypto_sign_ed25519ph_state *state) -{ - crypto_hash_sha512_init(&state->hs); - return 0; -} - -int -crypto_sign_ed25519ph_update(crypto_sign_ed25519ph_state *state, - const unsigned char *m, unsigned long long mlen) -{ - return crypto_hash_sha512_update(&state->hs, m, mlen); -} - -int -crypto_sign_ed25519ph_final_create(crypto_sign_ed25519ph_state *state, - unsigned char *sig, - unsigned long long *siglen_p, - const unsigned char *sk) -{ - unsigned char ph[crypto_hash_sha512_BYTES]; - - crypto_hash_sha512_final(&state->hs, ph); - - return _crypto_sign_ed25519_detached(sig, siglen_p, ph, sizeof ph, sk, 1); -} - -int -crypto_sign_ed25519ph_final_verify(crypto_sign_ed25519ph_state *state, - const unsigned char *sig, - const unsigned char *pk) -{ - unsigned char ph[crypto_hash_sha512_BYTES]; - - crypto_hash_sha512_final(&state->hs, ph); - - return _crypto_sign_ed25519_verify_detached(sig, ph, sizeof ph, pk, 1); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c deleted file mode 100644 index f63e055..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c +++ /dev/null @@ -1,177 +0,0 @@ - -#include -#include -#include - -#include "core.h" -#include "crypto_stream_chacha20.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "utils.h" - -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# pragma GCC target("sse4.1") -# pragma GCC target("avx2") -# endif - -# include -# include -# include -# include - -# include "../stream_chacha20.h" -# include "chacha20_dolbeau-avx2.h" - -# define ROUNDS 20 - -typedef struct chacha_ctx { - uint32_t input[16]; -} chacha_ctx; - -static void -chacha_keysetup(chacha_ctx *ctx, const uint8_t *k) -{ - ctx->input[0] = 0x61707865; - ctx->input[1] = 0x3320646e; - ctx->input[2] = 0x79622d32; - ctx->input[3] = 0x6b206574; - ctx->input[4] = LOAD32_LE(k + 0); - ctx->input[5] = LOAD32_LE(k + 4); - ctx->input[6] = LOAD32_LE(k + 8); - ctx->input[7] = LOAD32_LE(k + 12); - ctx->input[8] = LOAD32_LE(k + 16); - ctx->input[9] = LOAD32_LE(k + 20); - ctx->input[10] = LOAD32_LE(k + 24); - ctx->input[11] = LOAD32_LE(k + 28); -} - -static void -chacha_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[13] = counter == NULL ? 0 : LOAD32_LE(counter + 4); - ctx->input[14] = LOAD32_LE(iv + 0); - ctx->input[15] = LOAD32_LE(iv + 4); -} - -static void -chacha_ietf_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter); - ctx->input[13] = LOAD32_LE(iv + 0); - ctx->input[14] = LOAD32_LE(iv + 4); - ctx->input[15] = LOAD32_LE(iv + 8); -} - -static void -chacha20_encrypt_bytes(chacha_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t * const x = &ctx->input[0]; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } -# include "u8.h" -# include "u4.h" -# include "u1.h" -# include "u0.h" -} - -static int -stream_ref(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ext_ref(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[8]; - uint32_t ic_high; - uint32_t ic_low; - - if (!mlen) { - return 0; - } - ic_high = (uint32_t) (ic >> 32); - ic_low = (uint32_t) ic; - STORE32_LE(&ic_bytes[0], ic_low); - STORE32_LE(&ic_bytes[4], ic_high); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ext_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - uint32_t ic, const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[4]; - - if (!mlen) { - return 0; - } - STORE32_LE(ic_bytes, ic); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_dolbeau_avx2_implementation = { - SODIUM_C99(.stream =) stream_ref, - SODIUM_C99(.stream_ietf_ext =) stream_ietf_ext_ref, - SODIUM_C99(.stream_xor_ic =) stream_ref_xor_ic, - SODIUM_C99(.stream_ietf_ext_xor_ic =) stream_ietf_ext_ref_xor_ic - }; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h deleted file mode 100644 index 45eb98d..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_chacha20.h" -#include "crypto_stream_chacha20.h" - -extern struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_dolbeau_avx2_implementation; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c deleted file mode 100644 index 6f5d385..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c +++ /dev/null @@ -1,171 +0,0 @@ - -#include -#include -#include - -#include "core.h" -#include "crypto_stream_chacha20.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "utils.h" - -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# endif - -# include -# include - -# include "../stream_chacha20.h" -# include "chacha20_dolbeau-ssse3.h" - -# define ROUNDS 20 - -typedef struct chacha_ctx { - uint32_t input[16]; -} chacha_ctx; - -static void -chacha_keysetup(chacha_ctx *ctx, const uint8_t *k) -{ - ctx->input[0] = 0x61707865; - ctx->input[1] = 0x3320646e; - ctx->input[2] = 0x79622d32; - ctx->input[3] = 0x6b206574; - ctx->input[4] = LOAD32_LE(k + 0); - ctx->input[5] = LOAD32_LE(k + 4); - ctx->input[6] = LOAD32_LE(k + 8); - ctx->input[7] = LOAD32_LE(k + 12); - ctx->input[8] = LOAD32_LE(k + 16); - ctx->input[9] = LOAD32_LE(k + 20); - ctx->input[10] = LOAD32_LE(k + 24); - ctx->input[11] = LOAD32_LE(k + 28); -} - -static void -chacha_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[13] = counter == NULL ? 0 : LOAD32_LE(counter + 4); - ctx->input[14] = LOAD32_LE(iv + 0); - ctx->input[15] = LOAD32_LE(iv + 4); -} - -static void -chacha_ietf_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter); - ctx->input[13] = LOAD32_LE(iv + 0); - ctx->input[14] = LOAD32_LE(iv + 4); - ctx->input[15] = LOAD32_LE(iv + 8); -} - -static void -chacha20_encrypt_bytes(chacha_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t * const x = &ctx->input[0]; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } -# include "u4.h" -# include "u1.h" -# include "u0.h" -} - -static int -stream_ref(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ext_ref(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[8]; - uint32_t ic_high; - uint32_t ic_low; - - if (!mlen) { - return 0; - } - ic_high = (uint32_t) (ic >> 32); - ic_low = (uint32_t) ic; - STORE32_LE(&ic_bytes[0], ic_low); - STORE32_LE(&ic_bytes[4], ic_high); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ext_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - uint32_t ic, const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[4]; - - if (!mlen) { - return 0; - } - STORE32_LE(ic_bytes, ic); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_dolbeau_ssse3_implementation = { - SODIUM_C99(.stream =) stream_ref, - SODIUM_C99(.stream_ietf_ext =) stream_ietf_ext_ref, - SODIUM_C99(.stream_xor_ic =) stream_ref_xor_ic, - SODIUM_C99(.stream_ietf_ext_xor_ic =) stream_ietf_ext_ref_xor_ic - }; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h deleted file mode 100644 index d67630f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_chacha20.h" -#include "crypto_stream_chacha20.h" - -extern struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_dolbeau_ssse3_implementation; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h deleted file mode 100644 index c05dfd7..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h +++ /dev/null @@ -1,86 +0,0 @@ -if (bytes > 0) { - __m128i x_0, x_1, x_2, x_3; - __m128i t_1; - const __m128i rot16 = - _mm_set_epi8(13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2); - const __m128i rot8 = - _mm_set_epi8(14, 13, 12, 15, 10, 9, 8, 11, 6, 5, 4, 7, 2, 1, 0, 3); - uint8_t partialblock[64]; - - unsigned int i; - - x_0 = _mm_loadu_si128((const __m128i*) (x + 0)); - x_1 = _mm_loadu_si128((const __m128i*) (x + 4)); - x_2 = _mm_loadu_si128((const __m128i*) (x + 8)); - x_3 = _mm_loadu_si128((const __m128i*) (x + 12)); - - for (i = 0; i < ROUNDS; i += 2) { - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_3 = _mm_shuffle_epi8(x_3, rot16); - - x_2 = _mm_add_epi32(x_2, x_3); - x_1 = _mm_xor_si128(x_1, x_2); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 12); - t_1 = _mm_srli_epi32(t_1, 20); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_0 = _mm_shuffle_epi32(x_0, 0x93); - x_3 = _mm_shuffle_epi8(x_3, rot8); - - x_2 = _mm_add_epi32(x_2, x_3); - x_3 = _mm_shuffle_epi32(x_3, 0x4e); - x_1 = _mm_xor_si128(x_1, x_2); - x_2 = _mm_shuffle_epi32(x_2, 0x39); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 7); - t_1 = _mm_srli_epi32(t_1, 25); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_3 = _mm_shuffle_epi8(x_3, rot16); - - x_2 = _mm_add_epi32(x_2, x_3); - x_1 = _mm_xor_si128(x_1, x_2); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 12); - t_1 = _mm_srli_epi32(t_1, 20); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_0 = _mm_shuffle_epi32(x_0, 0x39); - x_3 = _mm_shuffle_epi8(x_3, rot8); - - x_2 = _mm_add_epi32(x_2, x_3); - x_3 = _mm_shuffle_epi32(x_3, 0x4e); - x_1 = _mm_xor_si128(x_1, x_2); - x_2 = _mm_shuffle_epi32(x_2, 0x93); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 7); - t_1 = _mm_srli_epi32(t_1, 25); - x_1 = _mm_xor_si128(x_1, t_1); - } - x_0 = _mm_add_epi32(x_0, _mm_loadu_si128((const __m128i*) (x + 0))); - x_1 = _mm_add_epi32(x_1, _mm_loadu_si128((const __m128i*) (x + 4))); - x_2 = _mm_add_epi32(x_2, _mm_loadu_si128((const __m128i*) (x + 8))); - x_3 = _mm_add_epi32(x_3, _mm_loadu_si128((const __m128i*) (x + 12))); - _mm_storeu_si128((__m128i*) (partialblock + 0), x_0); - _mm_storeu_si128((__m128i*) (partialblock + 16), x_1); - _mm_storeu_si128((__m128i*) (partialblock + 32), x_2); - _mm_storeu_si128((__m128i*) (partialblock + 48), x_3); - - for (i = 0; i < bytes; i++) { - c[i] = m[i] ^ partialblock[i]; - } - - sodium_memzero(partialblock, sizeof partialblock); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h deleted file mode 100644 index f93fffe..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h +++ /dev/null @@ -1,98 +0,0 @@ -while (bytes >= 64) { - __m128i x_0, x_1, x_2, x_3; - __m128i t_1; - const __m128i rot16 = - _mm_set_epi8(13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2); - const __m128i rot8 = - _mm_set_epi8(14, 13, 12, 15, 10, 9, 8, 11, 6, 5, 4, 7, 2, 1, 0, 3); - - uint32_t in12; - uint32_t in13; - int i; - - x_0 = _mm_loadu_si128((const __m128i*) (x + 0)); - x_1 = _mm_loadu_si128((const __m128i*) (x + 4)); - x_2 = _mm_loadu_si128((const __m128i*) (x + 8)); - x_3 = _mm_loadu_si128((const __m128i*) (x + 12)); - - for (i = 0; i < ROUNDS; i += 2) { - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_3 = _mm_shuffle_epi8(x_3, rot16); - - x_2 = _mm_add_epi32(x_2, x_3); - x_1 = _mm_xor_si128(x_1, x_2); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 12); - t_1 = _mm_srli_epi32(t_1, 20); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_0 = _mm_shuffle_epi32(x_0, 0x93); - x_3 = _mm_shuffle_epi8(x_3, rot8); - - x_2 = _mm_add_epi32(x_2, x_3); - x_3 = _mm_shuffle_epi32(x_3, 0x4e); - x_1 = _mm_xor_si128(x_1, x_2); - x_2 = _mm_shuffle_epi32(x_2, 0x39); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 7); - t_1 = _mm_srli_epi32(t_1, 25); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_3 = _mm_shuffle_epi8(x_3, rot16); - - x_2 = _mm_add_epi32(x_2, x_3); - x_1 = _mm_xor_si128(x_1, x_2); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 12); - t_1 = _mm_srli_epi32(t_1, 20); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_0 = _mm_shuffle_epi32(x_0, 0x39); - x_3 = _mm_shuffle_epi8(x_3, rot8); - - x_2 = _mm_add_epi32(x_2, x_3); - x_3 = _mm_shuffle_epi32(x_3, 0x4e); - x_1 = _mm_xor_si128(x_1, x_2); - x_2 = _mm_shuffle_epi32(x_2, 0x93); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 7); - t_1 = _mm_srli_epi32(t_1, 25); - x_1 = _mm_xor_si128(x_1, t_1); - } - x_0 = _mm_add_epi32(x_0, _mm_loadu_si128((const __m128i*) (x + 0))); - x_1 = _mm_add_epi32(x_1, _mm_loadu_si128((const __m128i*) (x + 4))); - x_2 = _mm_add_epi32(x_2, _mm_loadu_si128((const __m128i*) (x + 8))); - x_3 = _mm_add_epi32(x_3, _mm_loadu_si128((const __m128i*) (x + 12))); - x_0 = _mm_xor_si128(x_0, _mm_loadu_si128((const __m128i*) (m + 0))); - x_1 = _mm_xor_si128(x_1, _mm_loadu_si128((const __m128i*) (m + 16))); - x_2 = _mm_xor_si128(x_2, _mm_loadu_si128((const __m128i*) (m + 32))); - x_3 = _mm_xor_si128(x_3, _mm_loadu_si128((const __m128i*) (m + 48))); - _mm_storeu_si128((__m128i*) (c + 0), x_0); - _mm_storeu_si128((__m128i*) (c + 16), x_1); - _mm_storeu_si128((__m128i*) (c + 32), x_2); - _mm_storeu_si128((__m128i*) (c + 48), x_3); - - in12 = x[12]; - in13 = x[13]; - in12++; - if (in12 == 0) { - in13++; - } - x[12] = in12; - x[13] = in13; - - bytes -= 64; - c += 64; - m += 64; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h deleted file mode 100644 index 4ab295d..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h +++ /dev/null @@ -1,177 +0,0 @@ - -#define VEC4_ROT(A, IMM) \ - _mm_or_si128(_mm_slli_epi32(A, IMM), _mm_srli_epi32(A, (32 - IMM))) - -/* same, but replace 2 of the shift/shift/or "rotation" by byte shuffles (8 & - * 16) (better) */ -#define VEC4_QUARTERROUND_SHUFFLE(A, B, C, D) \ - x_##A = _mm_add_epi32(x_##A, x_##B); \ - t_##A = _mm_xor_si128(x_##D, x_##A); \ - x_##D = _mm_shuffle_epi8(t_##A, rot16); \ - x_##C = _mm_add_epi32(x_##C, x_##D); \ - t_##C = _mm_xor_si128(x_##B, x_##C); \ - x_##B = VEC4_ROT(t_##C, 12); \ - x_##A = _mm_add_epi32(x_##A, x_##B); \ - t_##A = _mm_xor_si128(x_##D, x_##A); \ - x_##D = _mm_shuffle_epi8(t_##A, rot8); \ - x_##C = _mm_add_epi32(x_##C, x_##D); \ - t_##C = _mm_xor_si128(x_##B, x_##C); \ - x_##B = VEC4_ROT(t_##C, 7) - -#define VEC4_QUARTERROUND(A, B, C, D) VEC4_QUARTERROUND_SHUFFLE(A, B, C, D) - -if (bytes >= 256) { - /* constant for shuffling bytes (replacing multiple-of-8 rotates) */ - __m128i rot16 = - _mm_set_epi8(13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2); - __m128i rot8 = - _mm_set_epi8(14, 13, 12, 15, 10, 9, 8, 11, 6, 5, 4, 7, 2, 1, 0, 3); - - __m128i x_0 = _mm_set1_epi32(x[0]); - __m128i x_1 = _mm_set1_epi32(x[1]); - __m128i x_2 = _mm_set1_epi32(x[2]); - __m128i x_3 = _mm_set1_epi32(x[3]); - __m128i x_4 = _mm_set1_epi32(x[4]); - __m128i x_5 = _mm_set1_epi32(x[5]); - __m128i x_6 = _mm_set1_epi32(x[6]); - __m128i x_7 = _mm_set1_epi32(x[7]); - __m128i x_8 = _mm_set1_epi32(x[8]); - __m128i x_9 = _mm_set1_epi32(x[9]); - __m128i x_10 = _mm_set1_epi32(x[10]); - __m128i x_11 = _mm_set1_epi32(x[11]); - __m128i x_12; - __m128i x_13; - __m128i x_14 = _mm_set1_epi32(x[14]); - __m128i x_15 = _mm_set1_epi32(x[15]); - __m128i orig0 = x_0; - __m128i orig1 = x_1; - __m128i orig2 = x_2; - __m128i orig3 = x_3; - __m128i orig4 = x_4; - __m128i orig5 = x_5; - __m128i orig6 = x_6; - __m128i orig7 = x_7; - __m128i orig8 = x_8; - __m128i orig9 = x_9; - __m128i orig10 = x_10; - __m128i orig11 = x_11; - __m128i orig12; - __m128i orig13; - __m128i orig14 = x_14; - __m128i orig15 = x_15; - __m128i t_0, t_1, t_2, t_3, t_4, t_5, t_6, t_7, t_8, t_9, t_10, t_11, t_12, - t_13, t_14, t_15; - - uint32_t in12, in13; - int i; - - while (bytes >= 256) { - const __m128i addv12 = _mm_set_epi64x(1, 0); - const __m128i addv13 = _mm_set_epi64x(3, 2); - __m128i t12, t13; - uint64_t in1213; - - x_0 = orig0; - x_1 = orig1; - x_2 = orig2; - x_3 = orig3; - x_4 = orig4; - x_5 = orig5; - x_6 = orig6; - x_7 = orig7; - x_8 = orig8; - x_9 = orig9; - x_10 = orig10; - x_11 = orig11; - x_14 = orig14; - x_15 = orig15; - - in12 = x[12]; - in13 = x[13]; - in1213 = ((uint64_t) in12) | (((uint64_t) in13) << 32); - t12 = _mm_set1_epi64x(in1213); - t13 = _mm_set1_epi64x(in1213); - - x_12 = _mm_add_epi64(addv12, t12); - x_13 = _mm_add_epi64(addv13, t13); - - t12 = _mm_unpacklo_epi32(x_12, x_13); - t13 = _mm_unpackhi_epi32(x_12, x_13); - - x_12 = _mm_unpacklo_epi32(t12, t13); - x_13 = _mm_unpackhi_epi32(t12, t13); - - orig12 = x_12; - orig13 = x_13; - - in1213 += 4; - - x[12] = in1213 & 0xFFFFFFFF; - x[13] = (in1213 >> 32) & 0xFFFFFFFF; - - for (i = 0; i < ROUNDS; i += 2) { - VEC4_QUARTERROUND(0, 4, 8, 12); - VEC4_QUARTERROUND(1, 5, 9, 13); - VEC4_QUARTERROUND(2, 6, 10, 14); - VEC4_QUARTERROUND(3, 7, 11, 15); - VEC4_QUARTERROUND(0, 5, 10, 15); - VEC4_QUARTERROUND(1, 6, 11, 12); - VEC4_QUARTERROUND(2, 7, 8, 13); - VEC4_QUARTERROUND(3, 4, 9, 14); - } - -#define ONEQUAD_TRANSPOSE(A, B, C, D) \ - { \ - __m128i t0, t1, t2, t3; \ - \ - x_##A = _mm_add_epi32(x_##A, orig##A); \ - x_##B = _mm_add_epi32(x_##B, orig##B); \ - x_##C = _mm_add_epi32(x_##C, orig##C); \ - x_##D = _mm_add_epi32(x_##D, orig##D); \ - t_##A = _mm_unpacklo_epi32(x_##A, x_##B); \ - t_##B = _mm_unpacklo_epi32(x_##C, x_##D); \ - t_##C = _mm_unpackhi_epi32(x_##A, x_##B); \ - t_##D = _mm_unpackhi_epi32(x_##C, x_##D); \ - x_##A = _mm_unpacklo_epi64(t_##A, t_##B); \ - x_##B = _mm_unpackhi_epi64(t_##A, t_##B); \ - x_##C = _mm_unpacklo_epi64(t_##C, t_##D); \ - x_##D = _mm_unpackhi_epi64(t_##C, t_##D); \ - \ - t0 = _mm_xor_si128(x_##A, _mm_loadu_si128((const __m128i*) (m + 0))); \ - _mm_storeu_si128((__m128i*) (c + 0), t0); \ - t1 = _mm_xor_si128(x_##B, _mm_loadu_si128((const __m128i*) (m + 64))); \ - _mm_storeu_si128((__m128i*) (c + 64), t1); \ - t2 = \ - _mm_xor_si128(x_##C, _mm_loadu_si128((const __m128i*) (m + 128))); \ - _mm_storeu_si128((__m128i*) (c + 128), t2); \ - t3 = \ - _mm_xor_si128(x_##D, _mm_loadu_si128((const __m128i*) (m + 192))); \ - _mm_storeu_si128((__m128i*) (c + 192), t3); \ - } - -#define ONEQUAD(A, B, C, D) ONEQUAD_TRANSPOSE(A, B, C, D) - - ONEQUAD(0, 1, 2, 3); - m += 16; - c += 16; - ONEQUAD(4, 5, 6, 7); - m += 16; - c += 16; - ONEQUAD(8, 9, 10, 11); - m += 16; - c += 16; - ONEQUAD(12, 13, 14, 15); - m -= 48; - c -= 48; - -#undef ONEQUAD -#undef ONEQUAD_TRANSPOSE - - bytes -= 256; - c += 256; - m += 256; - } -} -#undef VEC4_ROT -#undef VEC4_QUARTERROUND -#undef VEC4_QUARTERROUND_SHUFFLE diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h deleted file mode 100644 index 2f6c5f1..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h +++ /dev/null @@ -1,357 +0,0 @@ - -#define VEC8_ROT(A, IMM) \ - _mm256_or_si256(_mm256_slli_epi32(A, IMM), _mm256_srli_epi32(A, (32 - IMM))) - -/* implements a vector quarter round by-the-book (naive!) */ -#define VEC8_QUARTERROUND_NAIVE(A, B, C, D) \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = VEC8_ROT(t_##A, 16); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 12); \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = VEC8_ROT(t_##A, 8); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 7) - -/* same, but replace 2 of the shift/shift/or "rotation" by byte shuffles (8 & - * 16) (better) */ -#define VEC8_QUARTERROUND_SHUFFLE(A, B, C, D) \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = _mm256_shuffle_epi8(t_##A, rot16); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 12); \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = _mm256_shuffle_epi8(t_##A, rot8); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 7) - -/* same, but replace 2 of the shift/shift/or "rotation" by byte & word shuffles - * (8 & 16) (not as good as previous) */ -#define VEC8_QUARTERROUND_SHUFFLE2(A, B, C, D) \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = _mm256_shufflehi_epi16(_mm256_shufflelo_epi16(t_##A, 0xb1), 0xb1); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 12); \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = _mm256_shuffle_epi8(t_##A, rot8); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 7) - -#define VEC8_QUARTERROUND(A, B, C, D) VEC8_QUARTERROUND_SHUFFLE(A, B, C, D) - -#define VEC8_LINE1(A, B, C, D) \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - x_##D = _mm256_shuffle_epi8(_mm256_xor_si256(x_##D, x_##A), rot16) -#define VEC8_LINE2(A, B, C, D) \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - x_##B = VEC8_ROT(_mm256_xor_si256(x_##B, x_##C), 12) -#define VEC8_LINE3(A, B, C, D) \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - x_##D = _mm256_shuffle_epi8(_mm256_xor_si256(x_##D, x_##A), rot8) -#define VEC8_LINE4(A, B, C, D) \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - x_##B = VEC8_ROT(_mm256_xor_si256(x_##B, x_##C), 7) - -#define VEC8_ROUND_SEQ(A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3, A4, B4, \ - C4, D4) \ - VEC8_LINE1(A1, B1, C1, D1); \ - VEC8_LINE1(A2, B2, C2, D2); \ - VEC8_LINE1(A3, B3, C3, D3); \ - VEC8_LINE1(A4, B4, C4, D4); \ - VEC8_LINE2(A1, B1, C1, D1); \ - VEC8_LINE2(A2, B2, C2, D2); \ - VEC8_LINE2(A3, B3, C3, D3); \ - VEC8_LINE2(A4, B4, C4, D4); \ - VEC8_LINE3(A1, B1, C1, D1); \ - VEC8_LINE3(A2, B2, C2, D2); \ - VEC8_LINE3(A3, B3, C3, D3); \ - VEC8_LINE3(A4, B4, C4, D4); \ - VEC8_LINE4(A1, B1, C1, D1); \ - VEC8_LINE4(A2, B2, C2, D2); \ - VEC8_LINE4(A3, B3, C3, D3); \ - VEC8_LINE4(A4, B4, C4, D4) - -#define VEC8_ROUND_HALF(A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3, A4, \ - B4, C4, D4) \ - VEC8_LINE1(A1, B1, C1, D1); \ - VEC8_LINE1(A2, B2, C2, D2); \ - VEC8_LINE2(A1, B1, C1, D1); \ - VEC8_LINE2(A2, B2, C2, D2); \ - VEC8_LINE3(A1, B1, C1, D1); \ - VEC8_LINE3(A2, B2, C2, D2); \ - VEC8_LINE4(A1, B1, C1, D1); \ - VEC8_LINE4(A2, B2, C2, D2); \ - VEC8_LINE1(A3, B3, C3, D3); \ - VEC8_LINE1(A4, B4, C4, D4); \ - VEC8_LINE2(A3, B3, C3, D3); \ - VEC8_LINE2(A4, B4, C4, D4); \ - VEC8_LINE3(A3, B3, C3, D3); \ - VEC8_LINE3(A4, B4, C4, D4); \ - VEC8_LINE4(A3, B3, C3, D3); \ - VEC8_LINE4(A4, B4, C4, D4) - -#define VEC8_ROUND_HALFANDHALF(A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3, \ - A4, B4, C4, D4) \ - VEC8_LINE1(A1, B1, C1, D1); \ - VEC8_LINE1(A2, B2, C2, D2); \ - VEC8_LINE2(A1, B1, C1, D1); \ - VEC8_LINE2(A2, B2, C2, D2); \ - VEC8_LINE1(A3, B3, C3, D3); \ - VEC8_LINE1(A4, B4, C4, D4); \ - VEC8_LINE2(A3, B3, C3, D3); \ - VEC8_LINE2(A4, B4, C4, D4); \ - VEC8_LINE3(A1, B1, C1, D1); \ - VEC8_LINE3(A2, B2, C2, D2); \ - VEC8_LINE4(A1, B1, C1, D1); \ - VEC8_LINE4(A2, B2, C2, D2); \ - VEC8_LINE3(A3, B3, C3, D3); \ - VEC8_LINE3(A4, B4, C4, D4); \ - VEC8_LINE4(A3, B3, C3, D3); \ - VEC8_LINE4(A4, B4, C4, D4) - -#define VEC8_ROUND(A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3, A4, B4, C4, \ - D4) \ - VEC8_ROUND_SEQ(A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3, A4, B4, C4, \ - D4) - -if (bytes >= 512) { - /* constant for shuffling bytes (replacing multiple-of-8 rotates) */ - __m256i rot16 = - _mm256_set_epi8(13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2, - 13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2); - __m256i rot8 = - _mm256_set_epi8(14, 13, 12, 15, 10, 9, 8, 11, 6, 5, 4, 7, 2, 1, 0, 3, - 14, 13, 12, 15, 10, 9, 8, 11, 6, 5, 4, 7, 2, 1, 0, 3); - uint32_t in12, in13; - - /* the naive way seems as fast (if not a bit faster) than the vector way */ - __m256i x_0 = _mm256_set1_epi32(x[0]); - __m256i x_1 = _mm256_set1_epi32(x[1]); - __m256i x_2 = _mm256_set1_epi32(x[2]); - __m256i x_3 = _mm256_set1_epi32(x[3]); - __m256i x_4 = _mm256_set1_epi32(x[4]); - __m256i x_5 = _mm256_set1_epi32(x[5]); - __m256i x_6 = _mm256_set1_epi32(x[6]); - __m256i x_7 = _mm256_set1_epi32(x[7]); - __m256i x_8 = _mm256_set1_epi32(x[8]); - __m256i x_9 = _mm256_set1_epi32(x[9]); - __m256i x_10 = _mm256_set1_epi32(x[10]); - __m256i x_11 = _mm256_set1_epi32(x[11]); - __m256i x_12; - __m256i x_13; - __m256i x_14 = _mm256_set1_epi32(x[14]); - __m256i x_15 = _mm256_set1_epi32(x[15]); - - __m256i orig0 = x_0; - __m256i orig1 = x_1; - __m256i orig2 = x_2; - __m256i orig3 = x_3; - __m256i orig4 = x_4; - __m256i orig5 = x_5; - __m256i orig6 = x_6; - __m256i orig7 = x_7; - __m256i orig8 = x_8; - __m256i orig9 = x_9; - __m256i orig10 = x_10; - __m256i orig11 = x_11; - __m256i orig12; - __m256i orig13; - __m256i orig14 = x_14; - __m256i orig15 = x_15; - __m256i t_0, t_1, t_2, t_3, t_4, t_5, t_6, t_7, t_8, t_9, t_10, t_11, t_12, - t_13, t_14, t_15; - - while (bytes >= 512) { - const __m256i addv12 = _mm256_set_epi64x(3, 2, 1, 0); - const __m256i addv13 = _mm256_set_epi64x(7, 6, 5, 4); - const __m256i permute = _mm256_set_epi32(7, 6, 3, 2, 5, 4, 1, 0); - __m256i t12, t13; - - uint64_t in1213; - int i; - - x_0 = orig0; - x_1 = orig1; - x_2 = orig2; - x_3 = orig3; - x_4 = orig4; - x_5 = orig5; - x_6 = orig6; - x_7 = orig7; - x_8 = orig8; - x_9 = orig9; - x_10 = orig10; - x_11 = orig11; - x_14 = orig14; - x_15 = orig15; - - in12 = x[12]; - in13 = x[13]; - in1213 = ((uint64_t) in12) | (((uint64_t) in13) << 32); - x_12 = x_13 = _mm256_broadcastq_epi64(_mm_cvtsi64_si128(in1213)); - - t12 = _mm256_add_epi64(addv12, x_12); - t13 = _mm256_add_epi64(addv13, x_13); - - x_12 = _mm256_unpacklo_epi32(t12, t13); - x_13 = _mm256_unpackhi_epi32(t12, t13); - - t12 = _mm256_unpacklo_epi32(x_12, x_13); - t13 = _mm256_unpackhi_epi32(x_12, x_13); - - /* required because unpack* are intra-lane */ - x_12 = _mm256_permutevar8x32_epi32(t12, permute); - x_13 = _mm256_permutevar8x32_epi32(t13, permute); - - orig12 = x_12; - orig13 = x_13; - - in1213 += 8; - - x[12] = in1213 & 0xFFFFFFFF; - x[13] = (in1213 >> 32) & 0xFFFFFFFF; - - for (i = 0; i < ROUNDS; i += 2) { - VEC8_ROUND(0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15); - VEC8_ROUND(0, 5, 10, 15, 1, 6, 11, 12, 2, 7, 8, 13, 3, 4, 9, 14); - } - -#define ONEQUAD_TRANSPOSE(A, B, C, D) \ - { \ - __m128i t0, t1, t2, t3; \ - x_##A = _mm256_add_epi32(x_##A, orig##A); \ - x_##B = _mm256_add_epi32(x_##B, orig##B); \ - x_##C = _mm256_add_epi32(x_##C, orig##C); \ - x_##D = _mm256_add_epi32(x_##D, orig##D); \ - t_##A = _mm256_unpacklo_epi32(x_##A, x_##B); \ - t_##B = _mm256_unpacklo_epi32(x_##C, x_##D); \ - t_##C = _mm256_unpackhi_epi32(x_##A, x_##B); \ - t_##D = _mm256_unpackhi_epi32(x_##C, x_##D); \ - x_##A = _mm256_unpacklo_epi64(t_##A, t_##B); \ - x_##B = _mm256_unpackhi_epi64(t_##A, t_##B); \ - x_##C = _mm256_unpacklo_epi64(t_##C, t_##D); \ - x_##D = _mm256_unpackhi_epi64(t_##C, t_##D); \ - t0 = _mm_xor_si128(_mm256_extracti128_si256(x_##A, 0), \ - _mm_loadu_si128((const __m128i*) (m + 0))); \ - _mm_storeu_si128((__m128i*) (c + 0), t0); \ - t1 = _mm_xor_si128(_mm256_extracti128_si256(x_##B, 0), \ - _mm_loadu_si128((const __m128i*) (m + 64))); \ - _mm_storeu_si128((__m128i*) (c + 64), t1); \ - t2 = _mm_xor_si128(_mm256_extracti128_si256(x_##C, 0), \ - _mm_loadu_si128((const __m128i*) (m + 128))); \ - _mm_storeu_si128((__m128i*) (c + 128), t2); \ - t3 = _mm_xor_si128(_mm256_extracti128_si256(x_##D, 0), \ - _mm_loadu_si128((const __m128i*) (m + 192))); \ - _mm_storeu_si128((__m128i*) (c + 192), t3); \ - t0 = _mm_xor_si128(_mm256_extracti128_si256(x_##A, 1), \ - _mm_loadu_si128((const __m128i*) (m + 256))); \ - _mm_storeu_si128((__m128i*) (c + 256), t0); \ - t1 = _mm_xor_si128(_mm256_extracti128_si256(x_##B, 1), \ - _mm_loadu_si128((const __m128i*) (m + 320))); \ - _mm_storeu_si128((__m128i*) (c + 320), t1); \ - t2 = _mm_xor_si128(_mm256_extracti128_si256(x_##C, 1), \ - _mm_loadu_si128((const __m128i*) (m + 384))); \ - _mm_storeu_si128((__m128i*) (c + 384), t2); \ - t3 = _mm_xor_si128(_mm256_extracti128_si256(x_##D, 1), \ - _mm_loadu_si128((const __m128i*) (m + 448))); \ - _mm_storeu_si128((__m128i*) (c + 448), t3); \ - } - -#define ONEQUAD(A, B, C, D) ONEQUAD_TRANSPOSE(A, B, C, D) - -#define ONEQUAD_UNPCK(A, B, C, D) \ - { \ - x_##A = _mm256_add_epi32(x_##A, orig##A); \ - x_##B = _mm256_add_epi32(x_##B, orig##B); \ - x_##C = _mm256_add_epi32(x_##C, orig##C); \ - x_##D = _mm256_add_epi32(x_##D, orig##D); \ - t_##A = _mm256_unpacklo_epi32(x_##A, x_##B); \ - t_##B = _mm256_unpacklo_epi32(x_##C, x_##D); \ - t_##C = _mm256_unpackhi_epi32(x_##A, x_##B); \ - t_##D = _mm256_unpackhi_epi32(x_##C, x_##D); \ - x_##A = _mm256_unpacklo_epi64(t_##A, t_##B); \ - x_##B = _mm256_unpackhi_epi64(t_##A, t_##B); \ - x_##C = _mm256_unpacklo_epi64(t_##C, t_##D); \ - x_##D = _mm256_unpackhi_epi64(t_##C, t_##D); \ - } - -#define ONEOCTO(A, B, C, D, A2, B2, C2, D2) \ - { \ - ONEQUAD_UNPCK(A, B, C, D); \ - ONEQUAD_UNPCK(A2, B2, C2, D2); \ - t_##A = _mm256_permute2x128_si256(x_##A, x_##A2, 0x20); \ - t_##A2 = _mm256_permute2x128_si256(x_##A, x_##A2, 0x31); \ - t_##B = _mm256_permute2x128_si256(x_##B, x_##B2, 0x20); \ - t_##B2 = _mm256_permute2x128_si256(x_##B, x_##B2, 0x31); \ - t_##C = _mm256_permute2x128_si256(x_##C, x_##C2, 0x20); \ - t_##C2 = _mm256_permute2x128_si256(x_##C, x_##C2, 0x31); \ - t_##D = _mm256_permute2x128_si256(x_##D, x_##D2, 0x20); \ - t_##D2 = _mm256_permute2x128_si256(x_##D, x_##D2, 0x31); \ - t_##A = _mm256_xor_si256( \ - t_##A, _mm256_loadu_si256((const __m256i*) (m + 0))); \ - t_##B = _mm256_xor_si256( \ - t_##B, _mm256_loadu_si256((const __m256i*) (m + 64))); \ - t_##C = _mm256_xor_si256( \ - t_##C, _mm256_loadu_si256((const __m256i*) (m + 128))); \ - t_##D = _mm256_xor_si256( \ - t_##D, _mm256_loadu_si256((const __m256i*) (m + 192))); \ - t_##A2 = _mm256_xor_si256( \ - t_##A2, _mm256_loadu_si256((const __m256i*) (m + 256))); \ - t_##B2 = _mm256_xor_si256( \ - t_##B2, _mm256_loadu_si256((const __m256i*) (m + 320))); \ - t_##C2 = _mm256_xor_si256( \ - t_##C2, _mm256_loadu_si256((const __m256i*) (m + 384))); \ - t_##D2 = _mm256_xor_si256( \ - t_##D2, _mm256_loadu_si256((const __m256i*) (m + 448))); \ - _mm256_storeu_si256((__m256i*) (c + 0), t_##A); \ - _mm256_storeu_si256((__m256i*) (c + 64), t_##B); \ - _mm256_storeu_si256((__m256i*) (c + 128), t_##C); \ - _mm256_storeu_si256((__m256i*) (c + 192), t_##D); \ - _mm256_storeu_si256((__m256i*) (c + 256), t_##A2); \ - _mm256_storeu_si256((__m256i*) (c + 320), t_##B2); \ - _mm256_storeu_si256((__m256i*) (c + 384), t_##C2); \ - _mm256_storeu_si256((__m256i*) (c + 448), t_##D2); \ - } - - ONEOCTO(0, 1, 2, 3, 4, 5, 6, 7); - m += 32; - c += 32; - ONEOCTO(8, 9, 10, 11, 12, 13, 14, 15); - m -= 32; - c -= 32; - -#undef ONEQUAD -#undef ONEQUAD_TRANSPOSE -#undef ONEQUAD_UNPCK -#undef ONEOCTO - - bytes -= 512; - c += 512; - m += 512; - } -} -#undef VEC8_ROT -#undef VEC8_QUARTERROUND -#undef VEC8_QUARTERROUND_NAIVE -#undef VEC8_QUARTERROUND_SHUFFLE -#undef VEC8_QUARTERROUND_SHUFFLE2 -#undef VEC8_LINE1 -#undef VEC8_LINE2 -#undef VEC8_LINE3 -#undef VEC8_LINE4 -#undef VEC8_ROUND -#undef VEC8_ROUND_SEQ -#undef VEC8_ROUND_HALF -#undef VEC8_ROUND_HALFANDHALF diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c deleted file mode 100644 index 40cccbf..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c +++ /dev/null @@ -1,312 +0,0 @@ - -/* - chacha-merged.c version 20080118 - D. J. Bernstein - Public domain. - */ - -#include -#include -#include - -#include "core.h" -#include "crypto_stream_chacha20.h" -#include "private/common.h" -#include "utils.h" - -#include "../stream_chacha20.h" -#include "chacha20_ref.h" - -struct chacha_ctx { - uint32_t input[16]; -}; - -typedef struct chacha_ctx chacha_ctx; - -#define U32C(v) (v##U) - -#define U32V(v) ((uint32_t)(v) &U32C(0xFFFFFFFF)) - -#define ROTATE(v, c) (ROTL32(v, c)) -#define XOR(v, w) ((v) ^ (w)) -#define PLUS(v, w) (U32V((v) + (w))) -#define PLUSONE(v) (PLUS((v), 1)) - -#define QUARTERROUND(a, b, c, d) \ - a = PLUS(a, b); \ - d = ROTATE(XOR(d, a), 16); \ - c = PLUS(c, d); \ - b = ROTATE(XOR(b, c), 12); \ - a = PLUS(a, b); \ - d = ROTATE(XOR(d, a), 8); \ - c = PLUS(c, d); \ - b = ROTATE(XOR(b, c), 7); - -static void -chacha_keysetup(chacha_ctx *ctx, const uint8_t *k) -{ - ctx->input[0] = U32C(0x61707865); - ctx->input[1] = U32C(0x3320646e); - ctx->input[2] = U32C(0x79622d32); - ctx->input[3] = U32C(0x6b206574); - ctx->input[4] = LOAD32_LE(k + 0); - ctx->input[5] = LOAD32_LE(k + 4); - ctx->input[6] = LOAD32_LE(k + 8); - ctx->input[7] = LOAD32_LE(k + 12); - ctx->input[8] = LOAD32_LE(k + 16); - ctx->input[9] = LOAD32_LE(k + 20); - ctx->input[10] = LOAD32_LE(k + 24); - ctx->input[11] = LOAD32_LE(k + 28); -} - -static void -chacha_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[13] = counter == NULL ? 0 : LOAD32_LE(counter + 4); - ctx->input[14] = LOAD32_LE(iv + 0); - ctx->input[15] = LOAD32_LE(iv + 4); -} - -static void -chacha_ietf_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter); - ctx->input[13] = LOAD32_LE(iv + 0); - ctx->input[14] = LOAD32_LE(iv + 4); - ctx->input[15] = LOAD32_LE(iv + 8); -} - -static void -chacha20_encrypt_bytes(chacha_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, - x15; - uint32_t j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, - j15; - uint8_t *ctarget = NULL; - uint8_t tmp[64]; - unsigned int i; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } - j0 = ctx->input[0]; - j1 = ctx->input[1]; - j2 = ctx->input[2]; - j3 = ctx->input[3]; - j4 = ctx->input[4]; - j5 = ctx->input[5]; - j6 = ctx->input[6]; - j7 = ctx->input[7]; - j8 = ctx->input[8]; - j9 = ctx->input[9]; - j10 = ctx->input[10]; - j11 = ctx->input[11]; - j12 = ctx->input[12]; - j13 = ctx->input[13]; - j14 = ctx->input[14]; - j15 = ctx->input[15]; - - for (;;) { - if (bytes < 64) { - memset(tmp, 0, 64); - for (i = 0; i < bytes; ++i) { - tmp[i] = m[i]; - } - m = tmp; - ctarget = c; - c = tmp; - } - x0 = j0; - x1 = j1; - x2 = j2; - x3 = j3; - x4 = j4; - x5 = j5; - x6 = j6; - x7 = j7; - x8 = j8; - x9 = j9; - x10 = j10; - x11 = j11; - x12 = j12; - x13 = j13; - x14 = j14; - x15 = j15; - for (i = 20; i > 0; i -= 2) { - QUARTERROUND(x0, x4, x8, x12) - QUARTERROUND(x1, x5, x9, x13) - QUARTERROUND(x2, x6, x10, x14) - QUARTERROUND(x3, x7, x11, x15) - QUARTERROUND(x0, x5, x10, x15) - QUARTERROUND(x1, x6, x11, x12) - QUARTERROUND(x2, x7, x8, x13) - QUARTERROUND(x3, x4, x9, x14) - } - x0 = PLUS(x0, j0); - x1 = PLUS(x1, j1); - x2 = PLUS(x2, j2); - x3 = PLUS(x3, j3); - x4 = PLUS(x4, j4); - x5 = PLUS(x5, j5); - x6 = PLUS(x6, j6); - x7 = PLUS(x7, j7); - x8 = PLUS(x8, j8); - x9 = PLUS(x9, j9); - x10 = PLUS(x10, j10); - x11 = PLUS(x11, j11); - x12 = PLUS(x12, j12); - x13 = PLUS(x13, j13); - x14 = PLUS(x14, j14); - x15 = PLUS(x15, j15); - - x0 = XOR(x0, LOAD32_LE(m + 0)); - x1 = XOR(x1, LOAD32_LE(m + 4)); - x2 = XOR(x2, LOAD32_LE(m + 8)); - x3 = XOR(x3, LOAD32_LE(m + 12)); - x4 = XOR(x4, LOAD32_LE(m + 16)); - x5 = XOR(x5, LOAD32_LE(m + 20)); - x6 = XOR(x6, LOAD32_LE(m + 24)); - x7 = XOR(x7, LOAD32_LE(m + 28)); - x8 = XOR(x8, LOAD32_LE(m + 32)); - x9 = XOR(x9, LOAD32_LE(m + 36)); - x10 = XOR(x10, LOAD32_LE(m + 40)); - x11 = XOR(x11, LOAD32_LE(m + 44)); - x12 = XOR(x12, LOAD32_LE(m + 48)); - x13 = XOR(x13, LOAD32_LE(m + 52)); - x14 = XOR(x14, LOAD32_LE(m + 56)); - x15 = XOR(x15, LOAD32_LE(m + 60)); - - j12 = PLUSONE(j12); - /* LCOV_EXCL_START */ - if (!j12) { - j13 = PLUSONE(j13); - } - /* LCOV_EXCL_STOP */ - - STORE32_LE(c + 0, x0); - STORE32_LE(c + 4, x1); - STORE32_LE(c + 8, x2); - STORE32_LE(c + 12, x3); - STORE32_LE(c + 16, x4); - STORE32_LE(c + 20, x5); - STORE32_LE(c + 24, x6); - STORE32_LE(c + 28, x7); - STORE32_LE(c + 32, x8); - STORE32_LE(c + 36, x9); - STORE32_LE(c + 40, x10); - STORE32_LE(c + 44, x11); - STORE32_LE(c + 48, x12); - STORE32_LE(c + 52, x13); - STORE32_LE(c + 56, x14); - STORE32_LE(c + 60, x15); - - if (bytes <= 64) { - if (bytes < 64) { - for (i = 0; i < (unsigned int) bytes; ++i) { - ctarget[i] = c[i]; /* ctarget cannot be NULL */ - } - } - ctx->input[12] = j12; - ctx->input[13] = j13; - - return; - } - bytes -= 64; - c += 64; - m += 64; - } -} - -static int -stream_ref(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ext_ref(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[8]; - uint32_t ic_high; - uint32_t ic_low; - - if (!mlen) { - return 0; - } - ic_high = U32V(ic >> 32); - ic_low = U32V(ic); - STORE32_LE(&ic_bytes[0], ic_low); - STORE32_LE(&ic_bytes[4], ic_high); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ext_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - uint32_t ic, const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[4]; - - if (!mlen) { - return 0; - } - STORE32_LE(ic_bytes, ic); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_ref_implementation = { - SODIUM_C99(.stream =) stream_ref, - SODIUM_C99(.stream_ietf_ext =) stream_ietf_ext_ref, - SODIUM_C99(.stream_xor_ic =) stream_ref_xor_ic, - SODIUM_C99(.stream_ietf_ext_xor_ic =) stream_ietf_ext_ref_xor_ic - }; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h deleted file mode 100644 index 6ac4807..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_chacha20.h" -#include "crypto_stream_chacha20.h" - -extern struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_ref_implementation; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/stream_chacha20.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/stream_chacha20.c deleted file mode 100644 index 427c3fb..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +++ /dev/null @@ -1,184 +0,0 @@ -#include "crypto_stream_chacha20.h" -#include "core.h" -#include "private/chacha20_ietf_ext.h" -#include "private/common.h" -#include "private/implementations.h" -#include "randombytes.h" -#include "runtime.h" -#include "stream_chacha20.h" - -#include "ref/chacha20_ref.h" -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) -# include "dolbeau/chacha20_dolbeau-avx2.h" -#endif -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) -# include "dolbeau/chacha20_dolbeau-ssse3.h" -#endif - -static const crypto_stream_chacha20_implementation *implementation = - &crypto_stream_chacha20_ref_implementation; - -size_t -crypto_stream_chacha20_keybytes(void) { - return crypto_stream_chacha20_KEYBYTES; -} - -size_t -crypto_stream_chacha20_noncebytes(void) { - return crypto_stream_chacha20_NONCEBYTES; -} - -size_t -crypto_stream_chacha20_messagebytes_max(void) -{ - return crypto_stream_chacha20_MESSAGEBYTES_MAX; -} - -size_t -crypto_stream_chacha20_ietf_keybytes(void) { - return crypto_stream_chacha20_ietf_KEYBYTES; -} - -size_t -crypto_stream_chacha20_ietf_noncebytes(void) { - return crypto_stream_chacha20_ietf_NONCEBYTES; -} - -size_t -crypto_stream_chacha20_ietf_messagebytes_max(void) -{ - return crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX; -} - -int -crypto_stream_chacha20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - if (clen > crypto_stream_chacha20_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return implementation->stream(c, clen, n, k); -} - -int -crypto_stream_chacha20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - if (mlen > crypto_stream_chacha20_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return implementation->stream_xor_ic(c, m, mlen, n, ic, k); -} - -int -crypto_stream_chacha20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - if (mlen > crypto_stream_chacha20_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return implementation->stream_xor_ic(c, m, mlen, n, 0U, k); -} - -int -crypto_stream_chacha20_ietf_ext(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - if (clen > crypto_stream_chacha20_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return implementation->stream_ietf_ext(c, clen, n, k); -} - -int -crypto_stream_chacha20_ietf_ext_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint32_t ic, - const unsigned char *k) -{ - if (mlen > crypto_stream_chacha20_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return implementation->stream_ietf_ext_xor_ic(c, m, mlen, n, ic, k); -} - -static int -crypto_stream_chacha20_ietf_ext_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - if (mlen > crypto_stream_chacha20_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return implementation->stream_ietf_ext_xor_ic(c, m, mlen, n, 0U, k); -} - -int -crypto_stream_chacha20_ietf(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - if (clen > crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return crypto_stream_chacha20_ietf_ext(c, clen, n, k); -} - -int -crypto_stream_chacha20_ietf_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint32_t ic, - const unsigned char *k) -{ - if ((unsigned long long) ic > - (64ULL * (1ULL << 32)) / 64ULL - (mlen + 63ULL) / 64ULL) { - sodium_misuse(); - } - return crypto_stream_chacha20_ietf_ext_xor_ic(c, m, mlen, n, ic, k); -} - -int -crypto_stream_chacha20_ietf_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - if (mlen > crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX) { - sodium_misuse(); - } - return crypto_stream_chacha20_ietf_ext_xor(c, m, mlen, n, k); -} - -void -crypto_stream_chacha20_ietf_keygen(unsigned char k[crypto_stream_chacha20_ietf_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_chacha20_ietf_KEYBYTES); -} - -void -crypto_stream_chacha20_keygen(unsigned char k[crypto_stream_chacha20_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_chacha20_KEYBYTES); -} - -int -_crypto_stream_chacha20_pick_best_implementation(void) -{ - implementation = &crypto_stream_chacha20_ref_implementation; -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - if (sodium_runtime_has_avx2()) { - implementation = &crypto_stream_chacha20_dolbeau_avx2_implementation; - return 0; - } -#endif -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - if (sodium_runtime_has_ssse3()) { - implementation = &crypto_stream_chacha20_dolbeau_ssse3_implementation; - return 0; - } -#endif - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/stream_chacha20.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/stream_chacha20.h deleted file mode 100644 index 40f782f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/chacha20/stream_chacha20.h +++ /dev/null @@ -1,22 +0,0 @@ - -#ifndef stream_chacha20_H -#define stream_chacha20_H - -#include - -typedef struct crypto_stream_chacha20_implementation { - int (*stream)(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - int (*stream_ietf_ext)(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - int (*stream_xor_ic)(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k); - int (*stream_ietf_ext_xor_ic)(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint32_t ic, - const unsigned char *k); -} crypto_stream_chacha20_implementation; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/crypto_stream.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/crypto_stream.c deleted file mode 100644 index 58d2538..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/crypto_stream.c +++ /dev/null @@ -1,49 +0,0 @@ - -#include "crypto_stream.h" -#include "randombytes.h" - -size_t -crypto_stream_keybytes(void) -{ - return crypto_stream_KEYBYTES; -} - -size_t -crypto_stream_noncebytes(void) -{ - return crypto_stream_NONCEBYTES; -} - -size_t -crypto_stream_messagebytes_max(void) -{ - return crypto_stream_MESSAGEBYTES_MAX; -} - -const char * -crypto_stream_primitive(void) -{ - return crypto_stream_PRIMITIVE; -} - -int -crypto_stream(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - return crypto_stream_xsalsa20(c, clen, n, k); -} - - -int -crypto_stream_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_stream_xsalsa20_xor(c, m, mlen, n, k); -} - -void -crypto_stream_keygen(unsigned char k[crypto_stream_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c deleted file mode 100644 index f0854eb..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c +++ /dev/null @@ -1,120 +0,0 @@ -/* -version 20140420 -D. J. Bernstein -Public domain. -*/ - -#include - -#include "crypto_core_salsa20.h" -#include "crypto_stream_salsa20.h" -#include "utils.h" - -#include "../stream_salsa20.h" -#include "salsa20_ref.h" - -#ifndef HAVE_AMD64_ASM - -static int -stream_ref(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!clen) { - return 0; - } - for (i = 0; i < 32; i++) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; i++) { - in[i] = n[i]; - } - for (i = 8; i < 16; i++) { - in[i] = 0; - } - while (clen >= 64) { - crypto_core_salsa20(c, in, kcopy, NULL); - u = 1; - for (i = 8; i < 16; i++) { - u += (unsigned int) in[i]; - in[i] = u; - u >>= 8; - } - clen -= 64; - c += 64; - } - if (clen) { - crypto_core_salsa20(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int) clen; i++) { - c[i] = block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} - -static int -stream_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!mlen) { - return 0; - } - for (i = 0; i < 32; i++) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; i++) { - in[i] = n[i]; - } - for (i = 8; i < 16; i++) { - in[i] = (unsigned char) (ic & 0xff); - ic >>= 8; - } - while (mlen >= 64) { - crypto_core_salsa20(block, in, kcopy, NULL); - for (i = 0; i < 64; i++) { - c[i] = m[i] ^ block[i]; - } - u = 1; - for (i = 8; i < 16; i++) { - u += (unsigned int) in[i]; - in[i] = u; - u >>= 8; - } - mlen -= 64; - c += 64; - m += 64; - } - if (mlen) { - crypto_core_salsa20(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int) mlen; i++) { - c[i] = m[i] ^ block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} - -struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_ref_implementation = { - SODIUM_C99(.stream =) stream_ref, - SODIUM_C99(.stream_xor_ic =) stream_ref_xor_ic, - }; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h deleted file mode 100644 index 8716cb4..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_salsa20.h" -#include "crypto_stream_salsa20.h" - -extern struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_ref_implementation; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/stream_salsa20.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/stream_salsa20.c deleted file mode 100644 index 4529850..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +++ /dev/null @@ -1,100 +0,0 @@ -#include "crypto_stream_salsa20.h" -#include "private/common.h" -#include "private/implementations.h" -#include "randombytes.h" -#include "runtime.h" -#include "stream_salsa20.h" - -#ifdef HAVE_AMD64_ASM -# include "xmm6/salsa20_xmm6.h" -#else -# include "ref/salsa20_ref.h" -#endif -#if !defined(HAVE_AMD64_ASM) && defined(HAVE_EMMINTRIN_H) -# include "xmm6int/salsa20_xmm6int-sse2.h" -#endif -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) -# include "xmm6int/salsa20_xmm6int-avx2.h" -#endif - -#if HAVE_AMD64_ASM -static const crypto_stream_salsa20_implementation *implementation = - &crypto_stream_salsa20_xmm6_implementation; -#else -static const crypto_stream_salsa20_implementation *implementation = - &crypto_stream_salsa20_ref_implementation; -#endif - -size_t -crypto_stream_salsa20_keybytes(void) -{ - return crypto_stream_salsa20_KEYBYTES; -} - -size_t -crypto_stream_salsa20_noncebytes(void) -{ - return crypto_stream_salsa20_NONCEBYTES; -} - -size_t -crypto_stream_salsa20_messagebytes_max(void) -{ - return crypto_stream_salsa20_MESSAGEBYTES_MAX; -} - -int -crypto_stream_salsa20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - return implementation->stream(c, clen, n, k); -} - -int -crypto_stream_salsa20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - return implementation->stream_xor_ic(c, m, mlen, n, ic, k); -} - -int -crypto_stream_salsa20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return implementation->stream_xor_ic(c, m, mlen, n, 0U, k); -} - -void -crypto_stream_salsa20_keygen(unsigned char k[crypto_stream_salsa20_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_salsa20_KEYBYTES); -} - -int -_crypto_stream_salsa20_pick_best_implementation(void) -{ -#ifdef HAVE_AMD64_ASM - implementation = &crypto_stream_salsa20_xmm6_implementation; -#else - implementation = &crypto_stream_salsa20_ref_implementation; -#endif - -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - if (sodium_runtime_has_avx2()) { - implementation = &crypto_stream_salsa20_xmm6int_avx2_implementation; - return 0; - } -#endif -#if !defined(HAVE_AMD64_ASM) && defined(HAVE_EMMINTRIN_H) - if (sodium_runtime_has_sse2()) { - implementation = &crypto_stream_salsa20_xmm6int_sse2_implementation; - return 0; - } -#endif - return 0; /* LCOV_EXCL_LINE */ -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/stream_salsa20.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/stream_salsa20.h deleted file mode 100644 index 1949d38..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/stream_salsa20.h +++ /dev/null @@ -1,16 +0,0 @@ - -#ifndef stream_salsa20_H -#define stream_salsa20_H - -#include - -typedef struct crypto_stream_salsa20_implementation { - int (*stream)(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - int (*stream_xor_ic)(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k); -} crypto_stream_salsa20_implementation; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S deleted file mode 100644 index 6d9f354..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S +++ /dev/null @@ -1,960 +0,0 @@ -#ifdef HAVE_AMD64_ASM - -.text -.p2align 5 - -#ifdef ASM_HIDE_SYMBOL -ASM_HIDE_SYMBOL stream_salsa20_xmm6 -ASM_HIDE_SYMBOL _stream_salsa20_xmm6 -#endif -.globl stream_salsa20_xmm6 -.globl _stream_salsa20_xmm6 -#ifdef __ELF__ -.type stream_salsa20_xmm6, @function -.type _stream_salsa20_xmm6, @function -#endif -stream_salsa20_xmm6: -_stream_salsa20_xmm6: -mov %rsp,%r11 -and $31,%r11 -add $512,%r11 -sub %r11,%rsp -movq %r11,416(%rsp) -movq %r12,424(%rsp) -movq %r13,432(%rsp) -movq %r14,440(%rsp) -movq %r15,448(%rsp) -movq %rbx,456(%rsp) -movq %rbp,464(%rsp) -mov %rsi,%r9 -mov %rdi,%rdi -mov %rdi,%rsi -mov %rdx,%rdx -mov %rcx,%r10 -cmp $0,%r9 -jbe ._done -mov $0,%rax -mov %r9,%rcx -rep stosb -sub %r9,%rdi -movq $0,472(%rsp) -jmp ._start - -.text -.p2align 5 - -#ifdef ASM_HIDE_SYMBOL -ASM_HIDE_SYMBOL stream_salsa20_xmm6_xor_ic -ASM_HIDE_SYMBOL _stream_salsa20_xmm6_xor_ic -#endif -.globl stream_salsa20_xmm6_xor_ic -.globl _stream_salsa20_xmm6_xor_ic -#ifdef __ELF__ -.type stream_salsa20_xmm6_xor_ic, @function -.type _stream_salsa20_xmm6_xor_ic, @function -#endif -stream_salsa20_xmm6_xor_ic: -_stream_salsa20_xmm6_xor_ic: - -mov %rsp,%r11 -and $31,%r11 -add $512,%r11 -sub %r11,%rsp -movq %r11,416(%rsp) -movq %r12,424(%rsp) -movq %r13,432(%rsp) -movq %r14,440(%rsp) -movq %r15,448(%rsp) -movq %rbx,456(%rsp) -movq %rbp,464(%rsp) -mov %rdi,%rdi -mov %rsi,%rsi -mov %r9,%r10 -movq %r8,472(%rsp) -mov %rdx,%r9 -mov %rcx,%rdx -cmp $0,%r9 -jbe ._done - -._start: -movl 20(%r10),%ecx -movl 0(%r10),%r8d -movl 0(%rdx),%eax -movl 16(%r10),%r11d -movl %ecx,64(%rsp) -movl %r8d,4+64(%rsp) -movl %eax,8+64(%rsp) -movl %r11d,12+64(%rsp) -movl 24(%r10),%r8d -movl 4(%r10),%eax -movl 4(%rdx),%edx -movq 472(%rsp),%rcx -movl %ecx,80(%rsp) -movl %r8d,4+80(%rsp) -movl %eax,8+80(%rsp) -movl %edx,12+80(%rsp) -movl 12(%r10),%edx -shr $32,%rcx -movl 28(%r10),%r8d -movl 8(%r10),%eax -movl %edx,96(%rsp) -movl %ecx,4+96(%rsp) -movl %r8d,8+96(%rsp) -movl %eax,12+96(%rsp) -mov $1634760805,%rdx -mov $857760878,%rcx -mov $2036477234,%r8 -mov $1797285236,%rax -movl %edx,112(%rsp) -movl %ecx,4+112(%rsp) -movl %r8d,8+112(%rsp) -movl %eax,12+112(%rsp) -cmp $256,%r9 -jb ._bytesbetween1and255 -movdqa 112(%rsp),%xmm0 -pshufd $0x55,%xmm0,%xmm1 -pshufd $0xaa,%xmm0,%xmm2 -pshufd $0xff,%xmm0,%xmm3 -pshufd $0x00,%xmm0,%xmm0 -movdqa %xmm1,128(%rsp) -movdqa %xmm2,144(%rsp) -movdqa %xmm3,160(%rsp) -movdqa %xmm0,176(%rsp) -movdqa 64(%rsp),%xmm0 -pshufd $0xaa,%xmm0,%xmm1 -pshufd $0xff,%xmm0,%xmm2 -pshufd $0x00,%xmm0,%xmm3 -pshufd $0x55,%xmm0,%xmm0 -movdqa %xmm1,192(%rsp) -movdqa %xmm2,208(%rsp) -movdqa %xmm3,224(%rsp) -movdqa %xmm0,240(%rsp) -movdqa 80(%rsp),%xmm0 -pshufd $0xff,%xmm0,%xmm1 -pshufd $0x55,%xmm0,%xmm2 -pshufd $0xaa,%xmm0,%xmm0 -movdqa %xmm1,256(%rsp) -movdqa %xmm2,272(%rsp) -movdqa %xmm0,288(%rsp) -movdqa 96(%rsp),%xmm0 -pshufd $0x00,%xmm0,%xmm1 -pshufd $0xaa,%xmm0,%xmm2 -pshufd $0xff,%xmm0,%xmm0 -movdqa %xmm1,304(%rsp) -movdqa %xmm2,320(%rsp) -movdqa %xmm0,336(%rsp) - -.p2align 4 -._bytesatleast256: -movq 472(%rsp),%rdx -mov %rdx,%rcx -shr $32,%rcx -movl %edx,352(%rsp) -movl %ecx,368(%rsp) -add $1,%rdx -mov %rdx,%rcx -shr $32,%rcx -movl %edx,4+352(%rsp) -movl %ecx,4+368(%rsp) -add $1,%rdx -mov %rdx,%rcx -shr $32,%rcx -movl %edx,8+352(%rsp) -movl %ecx,8+368(%rsp) -add $1,%rdx -mov %rdx,%rcx -shr $32,%rcx -movl %edx,12+352(%rsp) -movl %ecx,12+368(%rsp) -add $1,%rdx -mov %rdx,%rcx -shr $32,%rcx -movl %edx,80(%rsp) -movl %ecx,4+96(%rsp) -movq %rdx,472(%rsp) -movq %r9,480(%rsp) -mov $20,%rdx -movdqa 128(%rsp),%xmm0 -movdqa 144(%rsp),%xmm1 -movdqa 160(%rsp),%xmm2 -movdqa 320(%rsp),%xmm3 -movdqa 336(%rsp),%xmm4 -movdqa 192(%rsp),%xmm5 -movdqa 208(%rsp),%xmm6 -movdqa 240(%rsp),%xmm7 -movdqa 256(%rsp),%xmm8 -movdqa 272(%rsp),%xmm9 -movdqa 288(%rsp),%xmm10 -movdqa 368(%rsp),%xmm11 -movdqa 176(%rsp),%xmm12 -movdqa 224(%rsp),%xmm13 -movdqa 304(%rsp),%xmm14 -movdqa 352(%rsp),%xmm15 - -.p2align 4 -._mainloop1: -movdqa %xmm1,384(%rsp) -movdqa %xmm2,400(%rsp) -movdqa %xmm13,%xmm1 -paddd %xmm12,%xmm1 -movdqa %xmm1,%xmm2 -pslld $7,%xmm1 -pxor %xmm1,%xmm14 -psrld $25,%xmm2 -pxor %xmm2,%xmm14 -movdqa %xmm7,%xmm1 -paddd %xmm0,%xmm1 -movdqa %xmm1,%xmm2 -pslld $7,%xmm1 -pxor %xmm1,%xmm11 -psrld $25,%xmm2 -pxor %xmm2,%xmm11 -movdqa %xmm12,%xmm1 -paddd %xmm14,%xmm1 -movdqa %xmm1,%xmm2 -pslld $9,%xmm1 -pxor %xmm1,%xmm15 -psrld $23,%xmm2 -pxor %xmm2,%xmm15 -movdqa %xmm0,%xmm1 -paddd %xmm11,%xmm1 -movdqa %xmm1,%xmm2 -pslld $9,%xmm1 -pxor %xmm1,%xmm9 -psrld $23,%xmm2 -pxor %xmm2,%xmm9 -movdqa %xmm14,%xmm1 -paddd %xmm15,%xmm1 -movdqa %xmm1,%xmm2 -pslld $13,%xmm1 -pxor %xmm1,%xmm13 -psrld $19,%xmm2 -pxor %xmm2,%xmm13 -movdqa %xmm11,%xmm1 -paddd %xmm9,%xmm1 -movdqa %xmm1,%xmm2 -pslld $13,%xmm1 -pxor %xmm1,%xmm7 -psrld $19,%xmm2 -pxor %xmm2,%xmm7 -movdqa %xmm15,%xmm1 -paddd %xmm13,%xmm1 -movdqa %xmm1,%xmm2 -pslld $18,%xmm1 -pxor %xmm1,%xmm12 -psrld $14,%xmm2 -pxor %xmm2,%xmm12 -movdqa 384(%rsp),%xmm1 -movdqa %xmm12,384(%rsp) -movdqa %xmm9,%xmm2 -paddd %xmm7,%xmm2 -movdqa %xmm2,%xmm12 -pslld $18,%xmm2 -pxor %xmm2,%xmm0 -psrld $14,%xmm12 -pxor %xmm12,%xmm0 -movdqa %xmm5,%xmm2 -paddd %xmm1,%xmm2 -movdqa %xmm2,%xmm12 -pslld $7,%xmm2 -pxor %xmm2,%xmm3 -psrld $25,%xmm12 -pxor %xmm12,%xmm3 -movdqa 400(%rsp),%xmm2 -movdqa %xmm0,400(%rsp) -movdqa %xmm6,%xmm0 -paddd %xmm2,%xmm0 -movdqa %xmm0,%xmm12 -pslld $7,%xmm0 -pxor %xmm0,%xmm4 -psrld $25,%xmm12 -pxor %xmm12,%xmm4 -movdqa %xmm1,%xmm0 -paddd %xmm3,%xmm0 -movdqa %xmm0,%xmm12 -pslld $9,%xmm0 -pxor %xmm0,%xmm10 -psrld $23,%xmm12 -pxor %xmm12,%xmm10 -movdqa %xmm2,%xmm0 -paddd %xmm4,%xmm0 -movdqa %xmm0,%xmm12 -pslld $9,%xmm0 -pxor %xmm0,%xmm8 -psrld $23,%xmm12 -pxor %xmm12,%xmm8 -movdqa %xmm3,%xmm0 -paddd %xmm10,%xmm0 -movdqa %xmm0,%xmm12 -pslld $13,%xmm0 -pxor %xmm0,%xmm5 -psrld $19,%xmm12 -pxor %xmm12,%xmm5 -movdqa %xmm4,%xmm0 -paddd %xmm8,%xmm0 -movdqa %xmm0,%xmm12 -pslld $13,%xmm0 -pxor %xmm0,%xmm6 -psrld $19,%xmm12 -pxor %xmm12,%xmm6 -movdqa %xmm10,%xmm0 -paddd %xmm5,%xmm0 -movdqa %xmm0,%xmm12 -pslld $18,%xmm0 -pxor %xmm0,%xmm1 -psrld $14,%xmm12 -pxor %xmm12,%xmm1 -movdqa 384(%rsp),%xmm0 -movdqa %xmm1,384(%rsp) -movdqa %xmm4,%xmm1 -paddd %xmm0,%xmm1 -movdqa %xmm1,%xmm12 -pslld $7,%xmm1 -pxor %xmm1,%xmm7 -psrld $25,%xmm12 -pxor %xmm12,%xmm7 -movdqa %xmm8,%xmm1 -paddd %xmm6,%xmm1 -movdqa %xmm1,%xmm12 -pslld $18,%xmm1 -pxor %xmm1,%xmm2 -psrld $14,%xmm12 -pxor %xmm12,%xmm2 -movdqa 400(%rsp),%xmm12 -movdqa %xmm2,400(%rsp) -movdqa %xmm14,%xmm1 -paddd %xmm12,%xmm1 -movdqa %xmm1,%xmm2 -pslld $7,%xmm1 -pxor %xmm1,%xmm5 -psrld $25,%xmm2 -pxor %xmm2,%xmm5 -movdqa %xmm0,%xmm1 -paddd %xmm7,%xmm1 -movdqa %xmm1,%xmm2 -pslld $9,%xmm1 -pxor %xmm1,%xmm10 -psrld $23,%xmm2 -pxor %xmm2,%xmm10 -movdqa %xmm12,%xmm1 -paddd %xmm5,%xmm1 -movdqa %xmm1,%xmm2 -pslld $9,%xmm1 -pxor %xmm1,%xmm8 -psrld $23,%xmm2 -pxor %xmm2,%xmm8 -movdqa %xmm7,%xmm1 -paddd %xmm10,%xmm1 -movdqa %xmm1,%xmm2 -pslld $13,%xmm1 -pxor %xmm1,%xmm4 -psrld $19,%xmm2 -pxor %xmm2,%xmm4 -movdqa %xmm5,%xmm1 -paddd %xmm8,%xmm1 -movdqa %xmm1,%xmm2 -pslld $13,%xmm1 -pxor %xmm1,%xmm14 -psrld $19,%xmm2 -pxor %xmm2,%xmm14 -movdqa %xmm10,%xmm1 -paddd %xmm4,%xmm1 -movdqa %xmm1,%xmm2 -pslld $18,%xmm1 -pxor %xmm1,%xmm0 -psrld $14,%xmm2 -pxor %xmm2,%xmm0 -movdqa 384(%rsp),%xmm1 -movdqa %xmm0,384(%rsp) -movdqa %xmm8,%xmm0 -paddd %xmm14,%xmm0 -movdqa %xmm0,%xmm2 -pslld $18,%xmm0 -pxor %xmm0,%xmm12 -psrld $14,%xmm2 -pxor %xmm2,%xmm12 -movdqa %xmm11,%xmm0 -paddd %xmm1,%xmm0 -movdqa %xmm0,%xmm2 -pslld $7,%xmm0 -pxor %xmm0,%xmm6 -psrld $25,%xmm2 -pxor %xmm2,%xmm6 -movdqa 400(%rsp),%xmm2 -movdqa %xmm12,400(%rsp) -movdqa %xmm3,%xmm0 -paddd %xmm2,%xmm0 -movdqa %xmm0,%xmm12 -pslld $7,%xmm0 -pxor %xmm0,%xmm13 -psrld $25,%xmm12 -pxor %xmm12,%xmm13 -movdqa %xmm1,%xmm0 -paddd %xmm6,%xmm0 -movdqa %xmm0,%xmm12 -pslld $9,%xmm0 -pxor %xmm0,%xmm15 -psrld $23,%xmm12 -pxor %xmm12,%xmm15 -movdqa %xmm2,%xmm0 -paddd %xmm13,%xmm0 -movdqa %xmm0,%xmm12 -pslld $9,%xmm0 -pxor %xmm0,%xmm9 -psrld $23,%xmm12 -pxor %xmm12,%xmm9 -movdqa %xmm6,%xmm0 -paddd %xmm15,%xmm0 -movdqa %xmm0,%xmm12 -pslld $13,%xmm0 -pxor %xmm0,%xmm11 -psrld $19,%xmm12 -pxor %xmm12,%xmm11 -movdqa %xmm13,%xmm0 -paddd %xmm9,%xmm0 -movdqa %xmm0,%xmm12 -pslld $13,%xmm0 -pxor %xmm0,%xmm3 -psrld $19,%xmm12 -pxor %xmm12,%xmm3 -movdqa %xmm15,%xmm0 -paddd %xmm11,%xmm0 -movdqa %xmm0,%xmm12 -pslld $18,%xmm0 -pxor %xmm0,%xmm1 -psrld $14,%xmm12 -pxor %xmm12,%xmm1 -movdqa %xmm9,%xmm0 -paddd %xmm3,%xmm0 -movdqa %xmm0,%xmm12 -pslld $18,%xmm0 -pxor %xmm0,%xmm2 -psrld $14,%xmm12 -pxor %xmm12,%xmm2 -movdqa 384(%rsp),%xmm12 -movdqa 400(%rsp),%xmm0 -sub $2,%rdx -ja ._mainloop1 - -paddd 176(%rsp),%xmm12 -paddd 240(%rsp),%xmm7 -paddd 288(%rsp),%xmm10 -paddd 336(%rsp),%xmm4 -movd %xmm12,%rdx -movd %xmm7,%rcx -movd %xmm10,%r8 -movd %xmm4,%r9 -pshufd $0x39,%xmm12,%xmm12 -pshufd $0x39,%xmm7,%xmm7 -pshufd $0x39,%xmm10,%xmm10 -pshufd $0x39,%xmm4,%xmm4 -xorl 0(%rsi),%edx -xorl 4(%rsi),%ecx -xorl 8(%rsi),%r8d -xorl 12(%rsi),%r9d -movl %edx,0(%rdi) -movl %ecx,4(%rdi) -movl %r8d,8(%rdi) -movl %r9d,12(%rdi) -movd %xmm12,%rdx -movd %xmm7,%rcx -movd %xmm10,%r8 -movd %xmm4,%r9 -pshufd $0x39,%xmm12,%xmm12 -pshufd $0x39,%xmm7,%xmm7 -pshufd $0x39,%xmm10,%xmm10 -pshufd $0x39,%xmm4,%xmm4 -xorl 64(%rsi),%edx -xorl 68(%rsi),%ecx -xorl 72(%rsi),%r8d -xorl 76(%rsi),%r9d -movl %edx,64(%rdi) -movl %ecx,68(%rdi) -movl %r8d,72(%rdi) -movl %r9d,76(%rdi) -movd %xmm12,%rdx -movd %xmm7,%rcx -movd %xmm10,%r8 -movd %xmm4,%r9 -pshufd $0x39,%xmm12,%xmm12 -pshufd $0x39,%xmm7,%xmm7 -pshufd $0x39,%xmm10,%xmm10 -pshufd $0x39,%xmm4,%xmm4 -xorl 128(%rsi),%edx -xorl 132(%rsi),%ecx -xorl 136(%rsi),%r8d -xorl 140(%rsi),%r9d -movl %edx,128(%rdi) -movl %ecx,132(%rdi) -movl %r8d,136(%rdi) -movl %r9d,140(%rdi) -movd %xmm12,%rdx -movd %xmm7,%rcx -movd %xmm10,%r8 -movd %xmm4,%r9 -xorl 192(%rsi),%edx -xorl 196(%rsi),%ecx -xorl 200(%rsi),%r8d -xorl 204(%rsi),%r9d -movl %edx,192(%rdi) -movl %ecx,196(%rdi) -movl %r8d,200(%rdi) -movl %r9d,204(%rdi) -paddd 304(%rsp),%xmm14 -paddd 128(%rsp),%xmm0 -paddd 192(%rsp),%xmm5 -paddd 256(%rsp),%xmm8 -movd %xmm14,%rdx -movd %xmm0,%rcx -movd %xmm5,%r8 -movd %xmm8,%r9 -pshufd $0x39,%xmm14,%xmm14 -pshufd $0x39,%xmm0,%xmm0 -pshufd $0x39,%xmm5,%xmm5 -pshufd $0x39,%xmm8,%xmm8 -xorl 16(%rsi),%edx -xorl 20(%rsi),%ecx -xorl 24(%rsi),%r8d -xorl 28(%rsi),%r9d -movl %edx,16(%rdi) -movl %ecx,20(%rdi) -movl %r8d,24(%rdi) -movl %r9d,28(%rdi) -movd %xmm14,%rdx -movd %xmm0,%rcx -movd %xmm5,%r8 -movd %xmm8,%r9 -pshufd $0x39,%xmm14,%xmm14 -pshufd $0x39,%xmm0,%xmm0 -pshufd $0x39,%xmm5,%xmm5 -pshufd $0x39,%xmm8,%xmm8 -xorl 80(%rsi),%edx -xorl 84(%rsi),%ecx -xorl 88(%rsi),%r8d -xorl 92(%rsi),%r9d -movl %edx,80(%rdi) -movl %ecx,84(%rdi) -movl %r8d,88(%rdi) -movl %r9d,92(%rdi) -movd %xmm14,%rdx -movd %xmm0,%rcx -movd %xmm5,%r8 -movd %xmm8,%r9 -pshufd $0x39,%xmm14,%xmm14 -pshufd $0x39,%xmm0,%xmm0 -pshufd $0x39,%xmm5,%xmm5 -pshufd $0x39,%xmm8,%xmm8 -xorl 144(%rsi),%edx -xorl 148(%rsi),%ecx -xorl 152(%rsi),%r8d -xorl 156(%rsi),%r9d -movl %edx,144(%rdi) -movl %ecx,148(%rdi) -movl %r8d,152(%rdi) -movl %r9d,156(%rdi) -movd %xmm14,%rdx -movd %xmm0,%rcx -movd %xmm5,%r8 -movd %xmm8,%r9 -xorl 208(%rsi),%edx -xorl 212(%rsi),%ecx -xorl 216(%rsi),%r8d -xorl 220(%rsi),%r9d -movl %edx,208(%rdi) -movl %ecx,212(%rdi) -movl %r8d,216(%rdi) -movl %r9d,220(%rdi) -paddd 352(%rsp),%xmm15 -paddd 368(%rsp),%xmm11 -paddd 144(%rsp),%xmm1 -paddd 208(%rsp),%xmm6 -movd %xmm15,%rdx -movd %xmm11,%rcx -movd %xmm1,%r8 -movd %xmm6,%r9 -pshufd $0x39,%xmm15,%xmm15 -pshufd $0x39,%xmm11,%xmm11 -pshufd $0x39,%xmm1,%xmm1 -pshufd $0x39,%xmm6,%xmm6 -xorl 32(%rsi),%edx -xorl 36(%rsi),%ecx -xorl 40(%rsi),%r8d -xorl 44(%rsi),%r9d -movl %edx,32(%rdi) -movl %ecx,36(%rdi) -movl %r8d,40(%rdi) -movl %r9d,44(%rdi) -movd %xmm15,%rdx -movd %xmm11,%rcx -movd %xmm1,%r8 -movd %xmm6,%r9 -pshufd $0x39,%xmm15,%xmm15 -pshufd $0x39,%xmm11,%xmm11 -pshufd $0x39,%xmm1,%xmm1 -pshufd $0x39,%xmm6,%xmm6 -xorl 96(%rsi),%edx -xorl 100(%rsi),%ecx -xorl 104(%rsi),%r8d -xorl 108(%rsi),%r9d -movl %edx,96(%rdi) -movl %ecx,100(%rdi) -movl %r8d,104(%rdi) -movl %r9d,108(%rdi) -movd %xmm15,%rdx -movd %xmm11,%rcx -movd %xmm1,%r8 -movd %xmm6,%r9 -pshufd $0x39,%xmm15,%xmm15 -pshufd $0x39,%xmm11,%xmm11 -pshufd $0x39,%xmm1,%xmm1 -pshufd $0x39,%xmm6,%xmm6 -xorl 160(%rsi),%edx -xorl 164(%rsi),%ecx -xorl 168(%rsi),%r8d -xorl 172(%rsi),%r9d -movl %edx,160(%rdi) -movl %ecx,164(%rdi) -movl %r8d,168(%rdi) -movl %r9d,172(%rdi) -movd %xmm15,%rdx -movd %xmm11,%rcx -movd %xmm1,%r8 -movd %xmm6,%r9 -xorl 224(%rsi),%edx -xorl 228(%rsi),%ecx -xorl 232(%rsi),%r8d -xorl 236(%rsi),%r9d -movl %edx,224(%rdi) -movl %ecx,228(%rdi) -movl %r8d,232(%rdi) -movl %r9d,236(%rdi) -paddd 224(%rsp),%xmm13 -paddd 272(%rsp),%xmm9 -paddd 320(%rsp),%xmm3 -paddd 160(%rsp),%xmm2 -movd %xmm13,%rdx -movd %xmm9,%rcx -movd %xmm3,%r8 -movd %xmm2,%r9 -pshufd $0x39,%xmm13,%xmm13 -pshufd $0x39,%xmm9,%xmm9 -pshufd $0x39,%xmm3,%xmm3 -pshufd $0x39,%xmm2,%xmm2 -xorl 48(%rsi),%edx -xorl 52(%rsi),%ecx -xorl 56(%rsi),%r8d -xorl 60(%rsi),%r9d -movl %edx,48(%rdi) -movl %ecx,52(%rdi) -movl %r8d,56(%rdi) -movl %r9d,60(%rdi) -movd %xmm13,%rdx -movd %xmm9,%rcx -movd %xmm3,%r8 -movd %xmm2,%r9 -pshufd $0x39,%xmm13,%xmm13 -pshufd $0x39,%xmm9,%xmm9 -pshufd $0x39,%xmm3,%xmm3 -pshufd $0x39,%xmm2,%xmm2 -xorl 112(%rsi),%edx -xorl 116(%rsi),%ecx -xorl 120(%rsi),%r8d -xorl 124(%rsi),%r9d -movl %edx,112(%rdi) -movl %ecx,116(%rdi) -movl %r8d,120(%rdi) -movl %r9d,124(%rdi) -movd %xmm13,%rdx -movd %xmm9,%rcx -movd %xmm3,%r8 -movd %xmm2,%r9 -pshufd $0x39,%xmm13,%xmm13 -pshufd $0x39,%xmm9,%xmm9 -pshufd $0x39,%xmm3,%xmm3 -pshufd $0x39,%xmm2,%xmm2 -xorl 176(%rsi),%edx -xorl 180(%rsi),%ecx -xorl 184(%rsi),%r8d -xorl 188(%rsi),%r9d -movl %edx,176(%rdi) -movl %ecx,180(%rdi) -movl %r8d,184(%rdi) -movl %r9d,188(%rdi) -movd %xmm13,%rdx -movd %xmm9,%rcx -movd %xmm3,%r8 -movd %xmm2,%r9 -xorl 240(%rsi),%edx -xorl 244(%rsi),%ecx -xorl 248(%rsi),%r8d -xorl 252(%rsi),%r9d -movl %edx,240(%rdi) -movl %ecx,244(%rdi) -movl %r8d,248(%rdi) -movl %r9d,252(%rdi) -movq 480(%rsp),%r9 -sub $256,%r9 -add $256,%rsi -add $256,%rdi -cmp $256,%r9 -jae ._bytesatleast256 - -cmp $0,%r9 -jbe ._done - -._bytesbetween1and255: -cmp $64,%r9 -jae ._nocopy - -mov %rdi,%rdx -leaq 0(%rsp),%rdi -mov %r9,%rcx -rep movsb -leaq 0(%rsp),%rdi -leaq 0(%rsp),%rsi - -._nocopy: -movq %r9,480(%rsp) -movdqa 112(%rsp),%xmm0 -movdqa 64(%rsp),%xmm1 -movdqa 80(%rsp),%xmm2 -movdqa 96(%rsp),%xmm3 -movdqa %xmm1,%xmm4 -mov $20,%rcx - -.p2align 4 -._mainloop2: -paddd %xmm0,%xmm4 -movdqa %xmm0,%xmm5 -movdqa %xmm4,%xmm6 -pslld $7,%xmm4 -psrld $25,%xmm6 -pxor %xmm4,%xmm3 -pxor %xmm6,%xmm3 -paddd %xmm3,%xmm5 -movdqa %xmm3,%xmm4 -movdqa %xmm5,%xmm6 -pslld $9,%xmm5 -psrld $23,%xmm6 -pxor %xmm5,%xmm2 -pshufd $0x93,%xmm3,%xmm3 -pxor %xmm6,%xmm2 -paddd %xmm2,%xmm4 -movdqa %xmm2,%xmm5 -movdqa %xmm4,%xmm6 -pslld $13,%xmm4 -psrld $19,%xmm6 -pxor %xmm4,%xmm1 -pshufd $0x4e,%xmm2,%xmm2 -pxor %xmm6,%xmm1 -paddd %xmm1,%xmm5 -movdqa %xmm3,%xmm4 -movdqa %xmm5,%xmm6 -pslld $18,%xmm5 -psrld $14,%xmm6 -pxor %xmm5,%xmm0 -pshufd $0x39,%xmm1,%xmm1 -pxor %xmm6,%xmm0 -paddd %xmm0,%xmm4 -movdqa %xmm0,%xmm5 -movdqa %xmm4,%xmm6 -pslld $7,%xmm4 -psrld $25,%xmm6 -pxor %xmm4,%xmm1 -pxor %xmm6,%xmm1 -paddd %xmm1,%xmm5 -movdqa %xmm1,%xmm4 -movdqa %xmm5,%xmm6 -pslld $9,%xmm5 -psrld $23,%xmm6 -pxor %xmm5,%xmm2 -pshufd $0x93,%xmm1,%xmm1 -pxor %xmm6,%xmm2 -paddd %xmm2,%xmm4 -movdqa %xmm2,%xmm5 -movdqa %xmm4,%xmm6 -pslld $13,%xmm4 -psrld $19,%xmm6 -pxor %xmm4,%xmm3 -pshufd $0x4e,%xmm2,%xmm2 -pxor %xmm6,%xmm3 -paddd %xmm3,%xmm5 -movdqa %xmm1,%xmm4 -movdqa %xmm5,%xmm6 -pslld $18,%xmm5 -psrld $14,%xmm6 -pxor %xmm5,%xmm0 -pshufd $0x39,%xmm3,%xmm3 -pxor %xmm6,%xmm0 -paddd %xmm0,%xmm4 -movdqa %xmm0,%xmm5 -movdqa %xmm4,%xmm6 -pslld $7,%xmm4 -psrld $25,%xmm6 -pxor %xmm4,%xmm3 -pxor %xmm6,%xmm3 -paddd %xmm3,%xmm5 -movdqa %xmm3,%xmm4 -movdqa %xmm5,%xmm6 -pslld $9,%xmm5 -psrld $23,%xmm6 -pxor %xmm5,%xmm2 -pshufd $0x93,%xmm3,%xmm3 -pxor %xmm6,%xmm2 -paddd %xmm2,%xmm4 -movdqa %xmm2,%xmm5 -movdqa %xmm4,%xmm6 -pslld $13,%xmm4 -psrld $19,%xmm6 -pxor %xmm4,%xmm1 -pshufd $0x4e,%xmm2,%xmm2 -pxor %xmm6,%xmm1 -paddd %xmm1,%xmm5 -movdqa %xmm3,%xmm4 -movdqa %xmm5,%xmm6 -pslld $18,%xmm5 -psrld $14,%xmm6 -pxor %xmm5,%xmm0 -pshufd $0x39,%xmm1,%xmm1 -pxor %xmm6,%xmm0 -paddd %xmm0,%xmm4 -movdqa %xmm0,%xmm5 -movdqa %xmm4,%xmm6 -pslld $7,%xmm4 -psrld $25,%xmm6 -pxor %xmm4,%xmm1 -pxor %xmm6,%xmm1 -paddd %xmm1,%xmm5 -movdqa %xmm1,%xmm4 -movdqa %xmm5,%xmm6 -pslld $9,%xmm5 -psrld $23,%xmm6 -pxor %xmm5,%xmm2 -pshufd $0x93,%xmm1,%xmm1 -pxor %xmm6,%xmm2 -paddd %xmm2,%xmm4 -movdqa %xmm2,%xmm5 -movdqa %xmm4,%xmm6 -pslld $13,%xmm4 -psrld $19,%xmm6 -pxor %xmm4,%xmm3 -pshufd $0x4e,%xmm2,%xmm2 -pxor %xmm6,%xmm3 -sub $4,%rcx -paddd %xmm3,%xmm5 -movdqa %xmm1,%xmm4 -movdqa %xmm5,%xmm6 -pslld $18,%xmm5 -pxor %xmm7,%xmm7 -psrld $14,%xmm6 -pxor %xmm5,%xmm0 -pshufd $0x39,%xmm3,%xmm3 -pxor %xmm6,%xmm0 -ja ._mainloop2 - -paddd 112(%rsp),%xmm0 -paddd 64(%rsp),%xmm1 -paddd 80(%rsp),%xmm2 -paddd 96(%rsp),%xmm3 -movd %xmm0,%rcx -movd %xmm1,%r8 -movd %xmm2,%r9 -movd %xmm3,%rax -pshufd $0x39,%xmm0,%xmm0 -pshufd $0x39,%xmm1,%xmm1 -pshufd $0x39,%xmm2,%xmm2 -pshufd $0x39,%xmm3,%xmm3 -xorl 0(%rsi),%ecx -xorl 48(%rsi),%r8d -xorl 32(%rsi),%r9d -xorl 16(%rsi),%eax -movl %ecx,0(%rdi) -movl %r8d,48(%rdi) -movl %r9d,32(%rdi) -movl %eax,16(%rdi) -movd %xmm0,%rcx -movd %xmm1,%r8 -movd %xmm2,%r9 -movd %xmm3,%rax -pshufd $0x39,%xmm0,%xmm0 -pshufd $0x39,%xmm1,%xmm1 -pshufd $0x39,%xmm2,%xmm2 -pshufd $0x39,%xmm3,%xmm3 -xorl 20(%rsi),%ecx -xorl 4(%rsi),%r8d -xorl 52(%rsi),%r9d -xorl 36(%rsi),%eax -movl %ecx,20(%rdi) -movl %r8d,4(%rdi) -movl %r9d,52(%rdi) -movl %eax,36(%rdi) -movd %xmm0,%rcx -movd %xmm1,%r8 -movd %xmm2,%r9 -movd %xmm3,%rax -pshufd $0x39,%xmm0,%xmm0 -pshufd $0x39,%xmm1,%xmm1 -pshufd $0x39,%xmm2,%xmm2 -pshufd $0x39,%xmm3,%xmm3 -xorl 40(%rsi),%ecx -xorl 24(%rsi),%r8d -xorl 8(%rsi),%r9d -xorl 56(%rsi),%eax -movl %ecx,40(%rdi) -movl %r8d,24(%rdi) -movl %r9d,8(%rdi) -movl %eax,56(%rdi) -movd %xmm0,%rcx -movd %xmm1,%r8 -movd %xmm2,%r9 -movd %xmm3,%rax -xorl 60(%rsi),%ecx -xorl 44(%rsi),%r8d -xorl 28(%rsi),%r9d -xorl 12(%rsi),%eax -movl %ecx,60(%rdi) -movl %r8d,44(%rdi) -movl %r9d,28(%rdi) -movl %eax,12(%rdi) -movq 480(%rsp),%r9 -movq 472(%rsp),%rcx -add $1,%rcx -mov %rcx,%r8 -shr $32,%r8 -movl %ecx,80(%rsp) -movl %r8d,4+96(%rsp) -movq %rcx,472(%rsp) -cmp $64,%r9 -ja ._bytesatleast65 -jae ._bytesatleast64 - -mov %rdi,%rsi -mov %rdx,%rdi -mov %r9,%rcx -rep movsb - -._bytesatleast64: -._done: -movq 416(%rsp),%r11 -movq 424(%rsp),%r12 -movq 432(%rsp),%r13 -movq 440(%rsp),%r14 -movq 448(%rsp),%r15 -movq 456(%rsp),%rbx -movq 464(%rsp),%rbp -add %r11,%rsp -xor %rax,%rax -mov %rsi,%rdx -ret - -._bytesatleast65: -sub $64,%r9 -add $64,%rdi -add $64,%rsi -jmp ._bytesbetween1and255 - -#endif - -#if defined(__linux__) && defined(__ELF__) -.section .note.GNU-stack,"",%progbits -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c deleted file mode 100644 index 0a6fee0..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c +++ /dev/null @@ -1,31 +0,0 @@ - -#include - -#include "utils.h" - -#include "../stream_salsa20.h" -#include "salsa20_xmm6.h" - -#ifdef HAVE_AMD64_ASM - -#ifdef __cplusplus -extern "C" { -#endif -extern int stream_salsa20_xmm6(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -extern int stream_salsa20_xmm6_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - uint64_t ic, const unsigned char *k); -#ifdef __cplusplus -} -#endif - -struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6_implementation = { - SODIUM_C99(.stream =) stream_salsa20_xmm6, - SODIUM_C99(.stream_xor_ic =) stream_salsa20_xmm6_xor_ic, - }; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h deleted file mode 100644 index d38473a..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_salsa20.h" -#include "crypto_stream_salsa20.h" - -extern struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6_implementation; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c deleted file mode 100644 index 18d4773..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c +++ /dev/null @@ -1,131 +0,0 @@ - -#include -#include -#include - -#include "crypto_stream_salsa20.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "utils.h" - -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# pragma GCC target("sse4.1") -# pragma GCC target("avx2") -# endif - -#include -#include -#include -#include - -# include "../stream_salsa20.h" -# include "salsa20_xmm6int-avx2.h" - -# define ROUNDS 20 - -typedef struct salsa_ctx { - uint32_t input[16]; -} salsa_ctx; - -static const int TR[16] = { - 0, 5, 10, 15, 12, 1, 6, 11, 8, 13, 2, 7, 4, 9, 14, 3 -}; - -static void -salsa_keysetup(salsa_ctx *ctx, const uint8_t *k) -{ - ctx->input[TR[1]] = LOAD32_LE(k + 0); - ctx->input[TR[2]] = LOAD32_LE(k + 4); - ctx->input[TR[3]] = LOAD32_LE(k + 8); - ctx->input[TR[4]] = LOAD32_LE(k + 12); - ctx->input[TR[11]] = LOAD32_LE(k + 16); - ctx->input[TR[12]] = LOAD32_LE(k + 20); - ctx->input[TR[13]] = LOAD32_LE(k + 24); - ctx->input[TR[14]] = LOAD32_LE(k + 28); - ctx->input[TR[0]] = 0x61707865; - ctx->input[TR[5]] = 0x3320646e; - ctx->input[TR[10]] = 0x79622d32; - ctx->input[TR[15]] = 0x6b206574; -} - -static void -salsa_ivsetup(salsa_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[TR[6]] = LOAD32_LE(iv + 0); - ctx->input[TR[7]] = LOAD32_LE(iv + 4); - ctx->input[TR[8]] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[TR[9]] = counter == NULL ? 0 : LOAD32_LE(counter + 4); -} - -static void -salsa20_encrypt_bytes(salsa_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t * const x = &ctx->input[0]; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } - -#include "u8.h" -#include "u4.h" -#include "u1.h" -#include "u0.h" -} - -static int -stream_avx2(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - struct salsa_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_salsa20_KEYBYTES == 256 / 8); - salsa_keysetup(&ctx, k); - salsa_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - salsa20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_avx2_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - struct salsa_ctx ctx; - uint8_t ic_bytes[8]; - uint32_t ic_high; - uint32_t ic_low; - - if (!mlen) { - return 0; - } - ic_high = (uint32_t) (ic >> 32); - ic_low = (uint32_t) ic; - STORE32_LE(&ic_bytes[0], ic_low); - STORE32_LE(&ic_bytes[4], ic_high); - salsa_keysetup(&ctx, k); - salsa_ivsetup(&ctx, n, ic_bytes); - salsa20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6int_avx2_implementation = { - SODIUM_C99(.stream =) stream_avx2, - SODIUM_C99(.stream_xor_ic =) stream_avx2_xor_ic - }; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h deleted file mode 100644 index 0924e9b..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_salsa20.h" -#include "crypto_stream_salsa20.h" - -extern struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6int_avx2_implementation; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c deleted file mode 100644 index d8e53a6..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c +++ /dev/null @@ -1,122 +0,0 @@ - -#include -#include -#include - -#include "crypto_stream_salsa20.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "utils.h" - -#ifdef HAVE_EMMINTRIN_H - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# endif -# include - -# include "../stream_salsa20.h" -# include "salsa20_xmm6int-sse2.h" - -# define ROUNDS 20 - -typedef struct salsa_ctx { - uint32_t input[16]; -} salsa_ctx; - -static const int TR[16] = { - 0, 5, 10, 15, 12, 1, 6, 11, 8, 13, 2, 7, 4, 9, 14, 3 -}; - -static void -salsa_keysetup(salsa_ctx *ctx, const uint8_t *k) -{ - ctx->input[TR[1]] = LOAD32_LE(k + 0); - ctx->input[TR[2]] = LOAD32_LE(k + 4); - ctx->input[TR[3]] = LOAD32_LE(k + 8); - ctx->input[TR[4]] = LOAD32_LE(k + 12); - ctx->input[TR[11]] = LOAD32_LE(k + 16); - ctx->input[TR[12]] = LOAD32_LE(k + 20); - ctx->input[TR[13]] = LOAD32_LE(k + 24); - ctx->input[TR[14]] = LOAD32_LE(k + 28); - ctx->input[TR[0]] = 0x61707865; - ctx->input[TR[5]] = 0x3320646e; - ctx->input[TR[10]] = 0x79622d32; - ctx->input[TR[15]] = 0x6b206574; -} - -static void -salsa_ivsetup(salsa_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[TR[6]] = LOAD32_LE(iv + 0); - ctx->input[TR[7]] = LOAD32_LE(iv + 4); - ctx->input[TR[8]] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[TR[9]] = counter == NULL ? 0 : LOAD32_LE(counter + 4); -} - -static void -salsa20_encrypt_bytes(salsa_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t * const x = &ctx->input[0]; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } - -#include "u4.h" -#include "u1.h" -#include "u0.h" -} - -static int -stream_sse2(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - struct salsa_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_salsa20_KEYBYTES == 256 / 8); - salsa_keysetup(&ctx, k); - salsa_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - salsa20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_sse2_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - struct salsa_ctx ctx; - uint8_t ic_bytes[8]; - uint32_t ic_high; - uint32_t ic_low; - - if (!mlen) { - return 0; - } - ic_high = (uint32_t) (ic >> 32); - ic_low = (uint32_t) (ic); - STORE32_LE(&ic_bytes[0], ic_low); - STORE32_LE(&ic_bytes[4], ic_high); - salsa_keysetup(&ctx, k); - salsa_ivsetup(&ctx, n, ic_bytes); - salsa20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6int_sse2_implementation = { - SODIUM_C99(.stream =) stream_sse2, - SODIUM_C99(.stream_xor_ic =) stream_sse2_xor_ic - }; - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h deleted file mode 100644 index ed52a8b..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_salsa20.h" -#include "crypto_stream_salsa20.h" - -extern struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6int_sse2_implementation; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h deleted file mode 100644 index 830f70e..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h +++ /dev/null @@ -1,195 +0,0 @@ -if (bytes > 0) { - __m128i diag0 = _mm_loadu_si128((const __m128i *) (x + 0)); - __m128i diag1 = _mm_loadu_si128((const __m128i *) (x + 4)); - __m128i diag2 = _mm_loadu_si128((const __m128i *) (x + 8)); - __m128i diag3 = _mm_loadu_si128((const __m128i *) (x + 12)); - __m128i a0, a1, a2, a3, a4, a5, a6, a7; - __m128i b0, b1, b2, b3, b4, b5, b6, b7; - uint8_t partialblock[64]; - - unsigned int i; - - a0 = diag1; - for (i = 0; i < ROUNDS; i += 4) { - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - } - - diag0 = _mm_add_epi32(diag0, _mm_loadu_si128((const __m128i *) (x + 0))); - diag1 = _mm_add_epi32(diag1, _mm_loadu_si128((const __m128i *) (x + 4))); - diag2 = _mm_add_epi32(diag2, _mm_loadu_si128((const __m128i *) (x + 8))); - diag3 = _mm_add_epi32(diag3, _mm_loadu_si128((const __m128i *) (x + 12))); - -#define ONEQUAD_SHUFFLE(A, B, C, D) \ - do { \ - uint32_t in##A = _mm_cvtsi128_si32(diag0); \ - uint32_t in##B = _mm_cvtsi128_si32(diag1); \ - uint32_t in##C = _mm_cvtsi128_si32(diag2); \ - uint32_t in##D = _mm_cvtsi128_si32(diag3); \ - diag0 = _mm_shuffle_epi32(diag0, 0x39); \ - diag1 = _mm_shuffle_epi32(diag1, 0x39); \ - diag2 = _mm_shuffle_epi32(diag2, 0x39); \ - diag3 = _mm_shuffle_epi32(diag3, 0x39); \ - *(uint32_t *) (partialblock + (A * 4)) = in##A; \ - *(uint32_t *) (partialblock + (B * 4)) = in##B; \ - *(uint32_t *) (partialblock + (C * 4)) = in##C; \ - *(uint32_t *) (partialblock + (D * 4)) = in##D; \ - } while (0) - -#define ONEQUAD(A, B, C, D) ONEQUAD_SHUFFLE(A, B, C, D) - - ONEQUAD(0, 12, 8, 4); - ONEQUAD(5, 1, 13, 9); - ONEQUAD(10, 6, 2, 14); - ONEQUAD(15, 11, 7, 3); - -#undef ONEQUAD -#undef ONEQUAD_SHUFFLE - - for (i = 0; i < bytes; i++) { - c[i] = m[i] ^ partialblock[i]; - } - - sodium_memzero(partialblock, sizeof partialblock); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h deleted file mode 100644 index e82521c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h +++ /dev/null @@ -1,207 +0,0 @@ -while (bytes >= 64) { - __m128i diag0 = _mm_loadu_si128((const __m128i *) (x + 0)); - __m128i diag1 = _mm_loadu_si128((const __m128i *) (x + 4)); - __m128i diag2 = _mm_loadu_si128((const __m128i *) (x + 8)); - __m128i diag3 = _mm_loadu_si128((const __m128i *) (x + 12)); - __m128i a0, a1, a2, a3, a4, a5, a6, a7; - __m128i b0, b1, b2, b3, b4, b5, b6, b7; - - uint32_t in8; - uint32_t in9; - int i; - - a0 = diag1; - for (i = 0; i < ROUNDS; i += 4) { - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - } - - diag0 = _mm_add_epi32(diag0, _mm_loadu_si128((const __m128i *) (x + 0))); - diag1 = _mm_add_epi32(diag1, _mm_loadu_si128((const __m128i *) (x + 4))); - diag2 = _mm_add_epi32(diag2, _mm_loadu_si128((const __m128i *) (x + 8))); - diag3 = _mm_add_epi32(diag3, _mm_loadu_si128((const __m128i *) (x + 12))); - -#define ONEQUAD_SHUFFLE(A, B, C, D) \ - do { \ - uint32_t in##A = _mm_cvtsi128_si32(diag0); \ - uint32_t in##B = _mm_cvtsi128_si32(diag1); \ - uint32_t in##C = _mm_cvtsi128_si32(diag2); \ - uint32_t in##D = _mm_cvtsi128_si32(diag3); \ - diag0 = _mm_shuffle_epi32(diag0, 0x39); \ - diag1 = _mm_shuffle_epi32(diag1, 0x39); \ - diag2 = _mm_shuffle_epi32(diag2, 0x39); \ - diag3 = _mm_shuffle_epi32(diag3, 0x39); \ - in##A ^= *(const uint32_t *) (m + (A * 4)); \ - in##B ^= *(const uint32_t *) (m + (B * 4)); \ - in##C ^= *(const uint32_t *) (m + (C * 4)); \ - in##D ^= *(const uint32_t *) (m + (D * 4)); \ - *(uint32_t *) (c + (A * 4)) = in##A; \ - *(uint32_t *) (c + (B * 4)) = in##B; \ - *(uint32_t *) (c + (C * 4)) = in##C; \ - *(uint32_t *) (c + (D * 4)) = in##D; \ - } while (0) - -#define ONEQUAD(A, B, C, D) ONEQUAD_SHUFFLE(A, B, C, D) - - ONEQUAD(0, 12, 8, 4); - ONEQUAD(5, 1, 13, 9); - ONEQUAD(10, 6, 2, 14); - ONEQUAD(15, 11, 7, 3); - -#undef ONEQUAD -#undef ONEQUAD_SHUFFLE - - in8 = x[8]; - in9 = x[13]; - in8++; - if (in8 == 0) { - in9++; - } - x[8] = in8; - x[13] = in9; - - c += 64; - m += 64; - bytes -= 64; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h deleted file mode 100644 index 474f486..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h +++ /dev/null @@ -1,547 +0,0 @@ -if (bytes >= 256) { - __m128i y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14, - y15; - __m128i z0, z1, z2, z3, z4, z5, z6, z7, z8, z9, z10, z11, z12, z13, z14, - z15; - __m128i orig0, orig1, orig2, orig3, orig4, orig5, orig6, orig7, orig8, - orig9, orig10, orig11, orig12, orig13, orig14, orig15; - - uint32_t in8; - uint32_t in9; - int i; - - /* element broadcast immediate for _mm_shuffle_epi32 are in order: - 0x00, 0x55, 0xaa, 0xff */ - z0 = _mm_loadu_si128((const __m128i *) (x + 0)); - z5 = _mm_shuffle_epi32(z0, 0x55); - z10 = _mm_shuffle_epi32(z0, 0xaa); - z15 = _mm_shuffle_epi32(z0, 0xff); - z0 = _mm_shuffle_epi32(z0, 0x00); - z1 = _mm_loadu_si128((const __m128i *) (x + 4)); - z6 = _mm_shuffle_epi32(z1, 0xaa); - z11 = _mm_shuffle_epi32(z1, 0xff); - z12 = _mm_shuffle_epi32(z1, 0x00); - z1 = _mm_shuffle_epi32(z1, 0x55); - z2 = _mm_loadu_si128((const __m128i *) (x + 8)); - z7 = _mm_shuffle_epi32(z2, 0xff); - z13 = _mm_shuffle_epi32(z2, 0x55); - z2 = _mm_shuffle_epi32(z2, 0xaa); - /* no z8 -> first half of the nonce, will fill later */ - z3 = _mm_loadu_si128((const __m128i *) (x + 12)); - z4 = _mm_shuffle_epi32(z3, 0x00); - z14 = _mm_shuffle_epi32(z3, 0xaa); - z3 = _mm_shuffle_epi32(z3, 0xff); - /* no z9 -> second half of the nonce, will fill later */ - orig0 = z0; - orig1 = z1; - orig2 = z2; - orig3 = z3; - orig4 = z4; - orig5 = z5; - orig6 = z6; - orig7 = z7; - orig10 = z10; - orig11 = z11; - orig12 = z12; - orig13 = z13; - orig14 = z14; - orig15 = z15; - - while (bytes >= 256) { - /* vector implementation for z8 and z9 */ - /* not sure if it helps for only 4 blocks */ - const __m128i addv8 = _mm_set_epi64x(1, 0); - const __m128i addv9 = _mm_set_epi64x(3, 2); - __m128i t8, t9; - uint64_t in89; - - in8 = x[8]; - in9 = x[13]; - in89 = ((uint64_t) in8) | (((uint64_t) in9) << 32); - t8 = _mm_set1_epi64x(in89); - t9 = _mm_set1_epi64x(in89); - - z8 = _mm_add_epi64(addv8, t8); - z9 = _mm_add_epi64(addv9, t9); - - t8 = _mm_unpacklo_epi32(z8, z9); - t9 = _mm_unpackhi_epi32(z8, z9); - - z8 = _mm_unpacklo_epi32(t8, t9); - z9 = _mm_unpackhi_epi32(t8, t9); - - orig8 = z8; - orig9 = z9; - - in89 += 4; - - x[8] = in89 & 0xFFFFFFFF; - x[13] = (in89 >> 32) & 0xFFFFFFFF; - - z5 = orig5; - z10 = orig10; - z15 = orig15; - z14 = orig14; - z3 = orig3; - z6 = orig6; - z11 = orig11; - z1 = orig1; - - z7 = orig7; - z13 = orig13; - z2 = orig2; - z9 = orig9; - z0 = orig0; - z12 = orig12; - z4 = orig4; - z8 = orig8; - - for (i = 0; i < ROUNDS; i += 2) { - /* the inner loop is a direct translation (regexp search/replace) - * from the amd64-xmm6 ASM */ - __m128i r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, - r14, r15; - - y4 = z12; - y4 = _mm_add_epi32(y4, z0); - r4 = y4; - y4 = _mm_slli_epi32(y4, 7); - z4 = _mm_xor_si128(z4, y4); - r4 = _mm_srli_epi32(r4, 25); - z4 = _mm_xor_si128(z4, r4); - - y9 = z1; - y9 = _mm_add_epi32(y9, z5); - r9 = y9; - y9 = _mm_slli_epi32(y9, 7); - z9 = _mm_xor_si128(z9, y9); - r9 = _mm_srli_epi32(r9, 25); - z9 = _mm_xor_si128(z9, r9); - - y8 = z0; - y8 = _mm_add_epi32(y8, z4); - r8 = y8; - y8 = _mm_slli_epi32(y8, 9); - z8 = _mm_xor_si128(z8, y8); - r8 = _mm_srli_epi32(r8, 23); - z8 = _mm_xor_si128(z8, r8); - - y13 = z5; - y13 = _mm_add_epi32(y13, z9); - r13 = y13; - y13 = _mm_slli_epi32(y13, 9); - z13 = _mm_xor_si128(z13, y13); - r13 = _mm_srli_epi32(r13, 23); - z13 = _mm_xor_si128(z13, r13); - - y12 = z4; - y12 = _mm_add_epi32(y12, z8); - r12 = y12; - y12 = _mm_slli_epi32(y12, 13); - z12 = _mm_xor_si128(z12, y12); - r12 = _mm_srli_epi32(r12, 19); - z12 = _mm_xor_si128(z12, r12); - - y1 = z9; - y1 = _mm_add_epi32(y1, z13); - r1 = y1; - y1 = _mm_slli_epi32(y1, 13); - z1 = _mm_xor_si128(z1, y1); - r1 = _mm_srli_epi32(r1, 19); - z1 = _mm_xor_si128(z1, r1); - - y0 = z8; - y0 = _mm_add_epi32(y0, z12); - r0 = y0; - y0 = _mm_slli_epi32(y0, 18); - z0 = _mm_xor_si128(z0, y0); - r0 = _mm_srli_epi32(r0, 14); - z0 = _mm_xor_si128(z0, r0); - - y5 = z13; - y5 = _mm_add_epi32(y5, z1); - r5 = y5; - y5 = _mm_slli_epi32(y5, 18); - z5 = _mm_xor_si128(z5, y5); - r5 = _mm_srli_epi32(r5, 14); - z5 = _mm_xor_si128(z5, r5); - - y14 = z6; - y14 = _mm_add_epi32(y14, z10); - r14 = y14; - y14 = _mm_slli_epi32(y14, 7); - z14 = _mm_xor_si128(z14, y14); - r14 = _mm_srli_epi32(r14, 25); - z14 = _mm_xor_si128(z14, r14); - - y3 = z11; - y3 = _mm_add_epi32(y3, z15); - r3 = y3; - y3 = _mm_slli_epi32(y3, 7); - z3 = _mm_xor_si128(z3, y3); - r3 = _mm_srli_epi32(r3, 25); - z3 = _mm_xor_si128(z3, r3); - - y2 = z10; - y2 = _mm_add_epi32(y2, z14); - r2 = y2; - y2 = _mm_slli_epi32(y2, 9); - z2 = _mm_xor_si128(z2, y2); - r2 = _mm_srli_epi32(r2, 23); - z2 = _mm_xor_si128(z2, r2); - - y7 = z15; - y7 = _mm_add_epi32(y7, z3); - r7 = y7; - y7 = _mm_slli_epi32(y7, 9); - z7 = _mm_xor_si128(z7, y7); - r7 = _mm_srli_epi32(r7, 23); - z7 = _mm_xor_si128(z7, r7); - - y6 = z14; - y6 = _mm_add_epi32(y6, z2); - r6 = y6; - y6 = _mm_slli_epi32(y6, 13); - z6 = _mm_xor_si128(z6, y6); - r6 = _mm_srli_epi32(r6, 19); - z6 = _mm_xor_si128(z6, r6); - - y11 = z3; - y11 = _mm_add_epi32(y11, z7); - r11 = y11; - y11 = _mm_slli_epi32(y11, 13); - z11 = _mm_xor_si128(z11, y11); - r11 = _mm_srli_epi32(r11, 19); - z11 = _mm_xor_si128(z11, r11); - - y10 = z2; - y10 = _mm_add_epi32(y10, z6); - r10 = y10; - y10 = _mm_slli_epi32(y10, 18); - z10 = _mm_xor_si128(z10, y10); - r10 = _mm_srli_epi32(r10, 14); - z10 = _mm_xor_si128(z10, r10); - - y1 = z3; - y1 = _mm_add_epi32(y1, z0); - r1 = y1; - y1 = _mm_slli_epi32(y1, 7); - z1 = _mm_xor_si128(z1, y1); - r1 = _mm_srli_epi32(r1, 25); - z1 = _mm_xor_si128(z1, r1); - - y15 = z7; - y15 = _mm_add_epi32(y15, z11); - r15 = y15; - y15 = _mm_slli_epi32(y15, 18); - z15 = _mm_xor_si128(z15, y15); - r15 = _mm_srli_epi32(r15, 14); - z15 = _mm_xor_si128(z15, r15); - - y6 = z4; - y6 = _mm_add_epi32(y6, z5); - r6 = y6; - y6 = _mm_slli_epi32(y6, 7); - z6 = _mm_xor_si128(z6, y6); - r6 = _mm_srli_epi32(r6, 25); - z6 = _mm_xor_si128(z6, r6); - - y2 = z0; - y2 = _mm_add_epi32(y2, z1); - r2 = y2; - y2 = _mm_slli_epi32(y2, 9); - z2 = _mm_xor_si128(z2, y2); - r2 = _mm_srli_epi32(r2, 23); - z2 = _mm_xor_si128(z2, r2); - - y7 = z5; - y7 = _mm_add_epi32(y7, z6); - r7 = y7; - y7 = _mm_slli_epi32(y7, 9); - z7 = _mm_xor_si128(z7, y7); - r7 = _mm_srli_epi32(r7, 23); - z7 = _mm_xor_si128(z7, r7); - - y3 = z1; - y3 = _mm_add_epi32(y3, z2); - r3 = y3; - y3 = _mm_slli_epi32(y3, 13); - z3 = _mm_xor_si128(z3, y3); - r3 = _mm_srli_epi32(r3, 19); - z3 = _mm_xor_si128(z3, r3); - - y4 = z6; - y4 = _mm_add_epi32(y4, z7); - r4 = y4; - y4 = _mm_slli_epi32(y4, 13); - z4 = _mm_xor_si128(z4, y4); - r4 = _mm_srli_epi32(r4, 19); - z4 = _mm_xor_si128(z4, r4); - - y0 = z2; - y0 = _mm_add_epi32(y0, z3); - r0 = y0; - y0 = _mm_slli_epi32(y0, 18); - z0 = _mm_xor_si128(z0, y0); - r0 = _mm_srli_epi32(r0, 14); - z0 = _mm_xor_si128(z0, r0); - - y5 = z7; - y5 = _mm_add_epi32(y5, z4); - r5 = y5; - y5 = _mm_slli_epi32(y5, 18); - z5 = _mm_xor_si128(z5, y5); - r5 = _mm_srli_epi32(r5, 14); - z5 = _mm_xor_si128(z5, r5); - - y11 = z9; - y11 = _mm_add_epi32(y11, z10); - r11 = y11; - y11 = _mm_slli_epi32(y11, 7); - z11 = _mm_xor_si128(z11, y11); - r11 = _mm_srli_epi32(r11, 25); - z11 = _mm_xor_si128(z11, r11); - - y12 = z14; - y12 = _mm_add_epi32(y12, z15); - r12 = y12; - y12 = _mm_slli_epi32(y12, 7); - z12 = _mm_xor_si128(z12, y12); - r12 = _mm_srli_epi32(r12, 25); - z12 = _mm_xor_si128(z12, r12); - - y8 = z10; - y8 = _mm_add_epi32(y8, z11); - r8 = y8; - y8 = _mm_slli_epi32(y8, 9); - z8 = _mm_xor_si128(z8, y8); - r8 = _mm_srli_epi32(r8, 23); - z8 = _mm_xor_si128(z8, r8); - - y13 = z15; - y13 = _mm_add_epi32(y13, z12); - r13 = y13; - y13 = _mm_slli_epi32(y13, 9); - z13 = _mm_xor_si128(z13, y13); - r13 = _mm_srli_epi32(r13, 23); - z13 = _mm_xor_si128(z13, r13); - - y9 = z11; - y9 = _mm_add_epi32(y9, z8); - r9 = y9; - y9 = _mm_slli_epi32(y9, 13); - z9 = _mm_xor_si128(z9, y9); - r9 = _mm_srli_epi32(r9, 19); - z9 = _mm_xor_si128(z9, r9); - - y14 = z12; - y14 = _mm_add_epi32(y14, z13); - r14 = y14; - y14 = _mm_slli_epi32(y14, 13); - z14 = _mm_xor_si128(z14, y14); - r14 = _mm_srli_epi32(r14, 19); - z14 = _mm_xor_si128(z14, r14); - - y10 = z8; - y10 = _mm_add_epi32(y10, z9); - r10 = y10; - y10 = _mm_slli_epi32(y10, 18); - z10 = _mm_xor_si128(z10, y10); - r10 = _mm_srli_epi32(r10, 14); - z10 = _mm_xor_si128(z10, r10); - - y15 = z13; - y15 = _mm_add_epi32(y15, z14); - r15 = y15; - y15 = _mm_slli_epi32(y15, 18); - z15 = _mm_xor_si128(z15, y15); - r15 = _mm_srli_epi32(r15, 14); - z15 = _mm_xor_si128(z15, r15); - } - -/* store data ; this macro replicates the original amd64-xmm6 code */ -#define ONEQUAD_SHUFFLE(A, B, C, D) \ - z##A = _mm_add_epi32(z##A, orig##A); \ - z##B = _mm_add_epi32(z##B, orig##B); \ - z##C = _mm_add_epi32(z##C, orig##C); \ - z##D = _mm_add_epi32(z##D, orig##D); \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - z##A = _mm_shuffle_epi32(z##A, 0x39); \ - z##B = _mm_shuffle_epi32(z##B, 0x39); \ - z##C = _mm_shuffle_epi32(z##C, 0x39); \ - z##D = _mm_shuffle_epi32(z##D, 0x39); \ - \ - in##A ^= *(uint32_t *) (m + 0); \ - in##B ^= *(uint32_t *) (m + 4); \ - in##C ^= *(uint32_t *) (m + 8); \ - in##D ^= *(uint32_t *) (m + 12); \ - \ - *(uint32_t *) (c + 0) = in##A; \ - *(uint32_t *) (c + 4) = in##B; \ - *(uint32_t *) (c + 8) = in##C; \ - *(uint32_t *) (c + 12) = in##D; \ - \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - z##A = _mm_shuffle_epi32(z##A, 0x39); \ - z##B = _mm_shuffle_epi32(z##B, 0x39); \ - z##C = _mm_shuffle_epi32(z##C, 0x39); \ - z##D = _mm_shuffle_epi32(z##D, 0x39); \ - \ - in##A ^= *(uint32_t *) (m + 64); \ - in##B ^= *(uint32_t *) (m + 68); \ - in##C ^= *(uint32_t *) (m + 72); \ - in##D ^= *(uint32_t *) (m + 76); \ - *(uint32_t *) (c + 64) = in##A; \ - *(uint32_t *) (c + 68) = in##B; \ - *(uint32_t *) (c + 72) = in##C; \ - *(uint32_t *) (c + 76) = in##D; \ - \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - z##A = _mm_shuffle_epi32(z##A, 0x39); \ - z##B = _mm_shuffle_epi32(z##B, 0x39); \ - z##C = _mm_shuffle_epi32(z##C, 0x39); \ - z##D = _mm_shuffle_epi32(z##D, 0x39); \ - \ - in##A ^= *(uint32_t *) (m + 128); \ - in##B ^= *(uint32_t *) (m + 132); \ - in##C ^= *(uint32_t *) (m + 136); \ - in##D ^= *(uint32_t *) (m + 140); \ - *(uint32_t *) (c + 128) = in##A; \ - *(uint32_t *) (c + 132) = in##B; \ - *(uint32_t *) (c + 136) = in##C; \ - *(uint32_t *) (c + 140) = in##D; \ - \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - \ - in##A ^= *(uint32_t *) (m + 192); \ - in##B ^= *(uint32_t *) (m + 196); \ - in##C ^= *(uint32_t *) (m + 200); \ - in##D ^= *(uint32_t *) (m + 204); \ - *(uint32_t *) (c + 192) = in##A; \ - *(uint32_t *) (c + 196) = in##B; \ - *(uint32_t *) (c + 200) = in##C; \ - *(uint32_t *) (c + 204) = in##D - -/* store data ; this macro replaces shuffle+mov by a direct extract; not much - * difference */ -#define ONEQUAD_EXTRACT(A, B, C, D) \ - z##A = _mm_add_epi32(z##A, orig##A); \ - z##B = _mm_add_epi32(z##B, orig##B); \ - z##C = _mm_add_epi32(z##C, orig##C); \ - z##D = _mm_add_epi32(z##D, orig##D); \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - in##A ^= *(uint32_t *) (m + 0); \ - in##B ^= *(uint32_t *) (m + 4); \ - in##C ^= *(uint32_t *) (m + 8); \ - in##D ^= *(uint32_t *) (m + 12); \ - *(uint32_t *) (c + 0) = in##A; \ - *(uint32_t *) (c + 4) = in##B; \ - *(uint32_t *) (c + 8) = in##C; \ - *(uint32_t *) (c + 12) = in##D; \ - \ - in##A = _mm_extract_epi32(z##A, 1); \ - in##B = _mm_extract_epi32(z##B, 1); \ - in##C = _mm_extract_epi32(z##C, 1); \ - in##D = _mm_extract_epi32(z##D, 1); \ - \ - in##A ^= *(uint32_t *) (m + 64); \ - in##B ^= *(uint32_t *) (m + 68); \ - in##C ^= *(uint32_t *) (m + 72); \ - in##D ^= *(uint32_t *) (m + 76); \ - *(uint32_t *) (c + 64) = in##A; \ - *(uint32_t *) (c + 68) = in##B; \ - *(uint32_t *) (c + 72) = in##C; \ - *(uint32_t *) (c + 76) = in##D; \ - \ - in##A = _mm_extract_epi32(z##A, 2); \ - in##B = _mm_extract_epi32(z##B, 2); \ - in##C = _mm_extract_epi32(z##C, 2); \ - in##D = _mm_extract_epi32(z##D, 2); \ - \ - in##A ^= *(uint32_t *) (m + 128); \ - in##B ^= *(uint32_t *) (m + 132); \ - in##C ^= *(uint32_t *) (m + 136); \ - in##D ^= *(uint32_t *) (m + 140); \ - *(uint32_t *) (c + 128) = in##A; \ - *(uint32_t *) (c + 132) = in##B; \ - *(uint32_t *) (c + 136) = in##C; \ - *(uint32_t *) (c + 140) = in##D; \ - \ - in##A = _mm_extract_epi32(z##A, 3); \ - in##B = _mm_extract_epi32(z##B, 3); \ - in##C = _mm_extract_epi32(z##C, 3); \ - in##D = _mm_extract_epi32(z##D, 3); \ - \ - in##A ^= *(uint32_t *) (m + 192); \ - in##B ^= *(uint32_t *) (m + 196); \ - in##C ^= *(uint32_t *) (m + 200); \ - in##D ^= *(uint32_t *) (m + 204); \ - *(uint32_t *) (c + 192) = in##A; \ - *(uint32_t *) (c + 196) = in##B; \ - *(uint32_t *) (c + 200) = in##C; \ - *(uint32_t *) (c + 204) = in##D - -/* store data ; this macro first transpose data in-registers, and then store - * them in memory. much faster with icc. */ -#define ONEQUAD_TRANSPOSE(A, B, C, D) \ - z##A = _mm_add_epi32(z##A, orig##A); \ - z##B = _mm_add_epi32(z##B, orig##B); \ - z##C = _mm_add_epi32(z##C, orig##C); \ - z##D = _mm_add_epi32(z##D, orig##D); \ - y##A = _mm_unpacklo_epi32(z##A, z##B); \ - y##B = _mm_unpacklo_epi32(z##C, z##D); \ - y##C = _mm_unpackhi_epi32(z##A, z##B); \ - y##D = _mm_unpackhi_epi32(z##C, z##D); \ - z##A = _mm_unpacklo_epi64(y##A, y##B); \ - z##B = _mm_unpackhi_epi64(y##A, y##B); \ - z##C = _mm_unpacklo_epi64(y##C, y##D); \ - z##D = _mm_unpackhi_epi64(y##C, y##D); \ - y##A = _mm_xor_si128(z##A, _mm_loadu_si128((const __m128i *) (m + 0))); \ - _mm_storeu_si128((__m128i *) (c + 0), y##A); \ - y##B = _mm_xor_si128(z##B, _mm_loadu_si128((const __m128i *) (m + 64))); \ - _mm_storeu_si128((__m128i *) (c + 64), y##B); \ - y##C = _mm_xor_si128(z##C, _mm_loadu_si128((const __m128i *) (m + 128))); \ - _mm_storeu_si128((__m128i *) (c + 128), y##C); \ - y##D = _mm_xor_si128(z##D, _mm_loadu_si128((const __m128i *) (m + 192))); \ - _mm_storeu_si128((__m128i *) (c + 192), y##D) - -#define ONEQUAD(A, B, C, D) ONEQUAD_TRANSPOSE(A, B, C, D) - - ONEQUAD(0, 1, 2, 3); - m += 16; - c += 16; - ONEQUAD(4, 5, 6, 7); - m += 16; - c += 16; - ONEQUAD(8, 9, 10, 11); - m += 16; - c += 16; - ONEQUAD(12, 13, 14, 15); - m -= 48; - c -= 48; - -#undef ONEQUAD -#undef ONEQUAD_TRANSPOSE -#undef ONEQUAD_EXTRACT -#undef ONEQUAD_SHUFFLE - - bytes -= 256; - c += 256; - m += 256; - } -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h deleted file mode 100644 index 581b22c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h +++ /dev/null @@ -1,477 +0,0 @@ -if (bytes >= 512) { - __m256i y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14, - y15; - - /* the naive way seems as fast (if not a bit faster) than the vector way */ - __m256i z0 = _mm256_set1_epi32(x[0]); - __m256i z5 = _mm256_set1_epi32(x[1]); - __m256i z10 = _mm256_set1_epi32(x[2]); - __m256i z15 = _mm256_set1_epi32(x[3]); - __m256i z12 = _mm256_set1_epi32(x[4]); - __m256i z1 = _mm256_set1_epi32(x[5]); - __m256i z6 = _mm256_set1_epi32(x[6]); - __m256i z11 = _mm256_set1_epi32(x[7]); - __m256i z8; /* useless */ - __m256i z13 = _mm256_set1_epi32(x[9]); - __m256i z2 = _mm256_set1_epi32(x[10]); - __m256i z7 = _mm256_set1_epi32(x[11]); - __m256i z4 = _mm256_set1_epi32(x[12]); - __m256i z9; /* useless */ - __m256i z14 = _mm256_set1_epi32(x[14]); - __m256i z3 = _mm256_set1_epi32(x[15]); - - __m256i orig0 = z0; - __m256i orig1 = z1; - __m256i orig2 = z2; - __m256i orig3 = z3; - __m256i orig4 = z4; - __m256i orig5 = z5; - __m256i orig6 = z6; - __m256i orig7 = z7; - __m256i orig8; - __m256i orig9; - __m256i orig10 = z10; - __m256i orig11 = z11; - __m256i orig12 = z12; - __m256i orig13 = z13; - __m256i orig14 = z14; - __m256i orig15 = z15; - - uint32_t in8; - uint32_t in9; - int i; - - while (bytes >= 512) { - /* vector implementation for z8 and z9 */ - /* faster than the naive version for 8 blocks */ - const __m256i addv8 = _mm256_set_epi64x(3, 2, 1, 0); - const __m256i addv9 = _mm256_set_epi64x(7, 6, 5, 4); - const __m256i permute = _mm256_set_epi32(7, 6, 3, 2, 5, 4, 1, 0); - - __m256i t8, t9; - uint64_t in89; - - in8 = x[8]; - in9 = x[13]; /* see arrays above for the address translation */ - in89 = ((uint64_t) in8) | (((uint64_t) in9) << 32); - - z8 = z9 = _mm256_broadcastq_epi64(_mm_cvtsi64_si128(in89)); - - t8 = _mm256_add_epi64(addv8, z8); - t9 = _mm256_add_epi64(addv9, z9); - - z8 = _mm256_unpacklo_epi32(t8, t9); - z9 = _mm256_unpackhi_epi32(t8, t9); - - t8 = _mm256_unpacklo_epi32(z8, z9); - t9 = _mm256_unpackhi_epi32(z8, z9); - - /* required because unpack* are intra-lane */ - z8 = _mm256_permutevar8x32_epi32(t8, permute); - z9 = _mm256_permutevar8x32_epi32(t9, permute); - - orig8 = z8; - orig9 = z9; - - in89 += 8; - - x[8] = in89 & 0xFFFFFFFF; - x[13] = (in89 >> 32) & 0xFFFFFFFF; - - z5 = orig5; - z10 = orig10; - z15 = orig15; - z14 = orig14; - z3 = orig3; - z6 = orig6; - z11 = orig11; - z1 = orig1; - - z7 = orig7; - z13 = orig13; - z2 = orig2; - z9 = orig9; - z0 = orig0; - z12 = orig12; - z4 = orig4; - z8 = orig8; - - for (i = 0; i < ROUNDS; i += 2) { - /* the inner loop is a direct translation (regexp search/replace) - * from the amd64-xmm6 ASM */ - __m256i r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, - r14, r15; - - y4 = z12; - y4 = _mm256_add_epi32(y4, z0); - r4 = y4; - y4 = _mm256_slli_epi32(y4, 7); - z4 = _mm256_xor_si256(z4, y4); - r4 = _mm256_srli_epi32(r4, 25); - z4 = _mm256_xor_si256(z4, r4); - - y9 = z1; - y9 = _mm256_add_epi32(y9, z5); - r9 = y9; - y9 = _mm256_slli_epi32(y9, 7); - z9 = _mm256_xor_si256(z9, y9); - r9 = _mm256_srli_epi32(r9, 25); - z9 = _mm256_xor_si256(z9, r9); - - y8 = z0; - y8 = _mm256_add_epi32(y8, z4); - r8 = y8; - y8 = _mm256_slli_epi32(y8, 9); - z8 = _mm256_xor_si256(z8, y8); - r8 = _mm256_srli_epi32(r8, 23); - z8 = _mm256_xor_si256(z8, r8); - - y13 = z5; - y13 = _mm256_add_epi32(y13, z9); - r13 = y13; - y13 = _mm256_slli_epi32(y13, 9); - z13 = _mm256_xor_si256(z13, y13); - r13 = _mm256_srli_epi32(r13, 23); - z13 = _mm256_xor_si256(z13, r13); - - y12 = z4; - y12 = _mm256_add_epi32(y12, z8); - r12 = y12; - y12 = _mm256_slli_epi32(y12, 13); - z12 = _mm256_xor_si256(z12, y12); - r12 = _mm256_srli_epi32(r12, 19); - z12 = _mm256_xor_si256(z12, r12); - - y1 = z9; - y1 = _mm256_add_epi32(y1, z13); - r1 = y1; - y1 = _mm256_slli_epi32(y1, 13); - z1 = _mm256_xor_si256(z1, y1); - r1 = _mm256_srli_epi32(r1, 19); - z1 = _mm256_xor_si256(z1, r1); - - y0 = z8; - y0 = _mm256_add_epi32(y0, z12); - r0 = y0; - y0 = _mm256_slli_epi32(y0, 18); - z0 = _mm256_xor_si256(z0, y0); - r0 = _mm256_srli_epi32(r0, 14); - z0 = _mm256_xor_si256(z0, r0); - - y5 = z13; - y5 = _mm256_add_epi32(y5, z1); - r5 = y5; - y5 = _mm256_slli_epi32(y5, 18); - z5 = _mm256_xor_si256(z5, y5); - r5 = _mm256_srli_epi32(r5, 14); - z5 = _mm256_xor_si256(z5, r5); - - y14 = z6; - y14 = _mm256_add_epi32(y14, z10); - r14 = y14; - y14 = _mm256_slli_epi32(y14, 7); - z14 = _mm256_xor_si256(z14, y14); - r14 = _mm256_srli_epi32(r14, 25); - z14 = _mm256_xor_si256(z14, r14); - - y3 = z11; - y3 = _mm256_add_epi32(y3, z15); - r3 = y3; - y3 = _mm256_slli_epi32(y3, 7); - z3 = _mm256_xor_si256(z3, y3); - r3 = _mm256_srli_epi32(r3, 25); - z3 = _mm256_xor_si256(z3, r3); - - y2 = z10; - y2 = _mm256_add_epi32(y2, z14); - r2 = y2; - y2 = _mm256_slli_epi32(y2, 9); - z2 = _mm256_xor_si256(z2, y2); - r2 = _mm256_srli_epi32(r2, 23); - z2 = _mm256_xor_si256(z2, r2); - - y7 = z15; - y7 = _mm256_add_epi32(y7, z3); - r7 = y7; - y7 = _mm256_slli_epi32(y7, 9); - z7 = _mm256_xor_si256(z7, y7); - r7 = _mm256_srli_epi32(r7, 23); - z7 = _mm256_xor_si256(z7, r7); - - y6 = z14; - y6 = _mm256_add_epi32(y6, z2); - r6 = y6; - y6 = _mm256_slli_epi32(y6, 13); - z6 = _mm256_xor_si256(z6, y6); - r6 = _mm256_srli_epi32(r6, 19); - z6 = _mm256_xor_si256(z6, r6); - - y11 = z3; - y11 = _mm256_add_epi32(y11, z7); - r11 = y11; - y11 = _mm256_slli_epi32(y11, 13); - z11 = _mm256_xor_si256(z11, y11); - r11 = _mm256_srli_epi32(r11, 19); - z11 = _mm256_xor_si256(z11, r11); - - y10 = z2; - y10 = _mm256_add_epi32(y10, z6); - r10 = y10; - y10 = _mm256_slli_epi32(y10, 18); - z10 = _mm256_xor_si256(z10, y10); - r10 = _mm256_srli_epi32(r10, 14); - z10 = _mm256_xor_si256(z10, r10); - - y1 = z3; - y1 = _mm256_add_epi32(y1, z0); - r1 = y1; - y1 = _mm256_slli_epi32(y1, 7); - z1 = _mm256_xor_si256(z1, y1); - r1 = _mm256_srli_epi32(r1, 25); - z1 = _mm256_xor_si256(z1, r1); - - y15 = z7; - y15 = _mm256_add_epi32(y15, z11); - r15 = y15; - y15 = _mm256_slli_epi32(y15, 18); - z15 = _mm256_xor_si256(z15, y15); - r15 = _mm256_srli_epi32(r15, 14); - z15 = _mm256_xor_si256(z15, r15); - - y6 = z4; - y6 = _mm256_add_epi32(y6, z5); - r6 = y6; - y6 = _mm256_slli_epi32(y6, 7); - z6 = _mm256_xor_si256(z6, y6); - r6 = _mm256_srli_epi32(r6, 25); - z6 = _mm256_xor_si256(z6, r6); - - y2 = z0; - y2 = _mm256_add_epi32(y2, z1); - r2 = y2; - y2 = _mm256_slli_epi32(y2, 9); - z2 = _mm256_xor_si256(z2, y2); - r2 = _mm256_srli_epi32(r2, 23); - z2 = _mm256_xor_si256(z2, r2); - - y7 = z5; - y7 = _mm256_add_epi32(y7, z6); - r7 = y7; - y7 = _mm256_slli_epi32(y7, 9); - z7 = _mm256_xor_si256(z7, y7); - r7 = _mm256_srli_epi32(r7, 23); - z7 = _mm256_xor_si256(z7, r7); - - y3 = z1; - y3 = _mm256_add_epi32(y3, z2); - r3 = y3; - y3 = _mm256_slli_epi32(y3, 13); - z3 = _mm256_xor_si256(z3, y3); - r3 = _mm256_srli_epi32(r3, 19); - z3 = _mm256_xor_si256(z3, r3); - - y4 = z6; - y4 = _mm256_add_epi32(y4, z7); - r4 = y4; - y4 = _mm256_slli_epi32(y4, 13); - z4 = _mm256_xor_si256(z4, y4); - r4 = _mm256_srli_epi32(r4, 19); - z4 = _mm256_xor_si256(z4, r4); - - y0 = z2; - y0 = _mm256_add_epi32(y0, z3); - r0 = y0; - y0 = _mm256_slli_epi32(y0, 18); - z0 = _mm256_xor_si256(z0, y0); - r0 = _mm256_srli_epi32(r0, 14); - z0 = _mm256_xor_si256(z0, r0); - - y5 = z7; - y5 = _mm256_add_epi32(y5, z4); - r5 = y5; - y5 = _mm256_slli_epi32(y5, 18); - z5 = _mm256_xor_si256(z5, y5); - r5 = _mm256_srli_epi32(r5, 14); - z5 = _mm256_xor_si256(z5, r5); - - y11 = z9; - y11 = _mm256_add_epi32(y11, z10); - r11 = y11; - y11 = _mm256_slli_epi32(y11, 7); - z11 = _mm256_xor_si256(z11, y11); - r11 = _mm256_srli_epi32(r11, 25); - z11 = _mm256_xor_si256(z11, r11); - - y12 = z14; - y12 = _mm256_add_epi32(y12, z15); - r12 = y12; - y12 = _mm256_slli_epi32(y12, 7); - z12 = _mm256_xor_si256(z12, y12); - r12 = _mm256_srli_epi32(r12, 25); - z12 = _mm256_xor_si256(z12, r12); - - y8 = z10; - y8 = _mm256_add_epi32(y8, z11); - r8 = y8; - y8 = _mm256_slli_epi32(y8, 9); - z8 = _mm256_xor_si256(z8, y8); - r8 = _mm256_srli_epi32(r8, 23); - z8 = _mm256_xor_si256(z8, r8); - - y13 = z15; - y13 = _mm256_add_epi32(y13, z12); - r13 = y13; - y13 = _mm256_slli_epi32(y13, 9); - z13 = _mm256_xor_si256(z13, y13); - r13 = _mm256_srli_epi32(r13, 23); - z13 = _mm256_xor_si256(z13, r13); - - y9 = z11; - y9 = _mm256_add_epi32(y9, z8); - r9 = y9; - y9 = _mm256_slli_epi32(y9, 13); - z9 = _mm256_xor_si256(z9, y9); - r9 = _mm256_srli_epi32(r9, 19); - z9 = _mm256_xor_si256(z9, r9); - - y14 = z12; - y14 = _mm256_add_epi32(y14, z13); - r14 = y14; - y14 = _mm256_slli_epi32(y14, 13); - z14 = _mm256_xor_si256(z14, y14); - r14 = _mm256_srli_epi32(r14, 19); - z14 = _mm256_xor_si256(z14, r14); - - y10 = z8; - y10 = _mm256_add_epi32(y10, z9); - r10 = y10; - y10 = _mm256_slli_epi32(y10, 18); - z10 = _mm256_xor_si256(z10, y10); - r10 = _mm256_srli_epi32(r10, 14); - z10 = _mm256_xor_si256(z10, r10); - - y15 = z13; - y15 = _mm256_add_epi32(y15, z14); - r15 = y15; - y15 = _mm256_slli_epi32(y15, 18); - z15 = _mm256_xor_si256(z15, y15); - r15 = _mm256_srli_epi32(r15, 14); - z15 = _mm256_xor_si256(z15, r15); - } - -/* store data ; this macro first transpose data in-registers, and then store - * them in memory. much faster with icc. */ -#define ONEQUAD_TRANSPOSE(A, B, C, D) \ - { \ - __m128i t0, t1, t2, t3; \ - z##A = _mm256_add_epi32(z##A, orig##A); \ - z##B = _mm256_add_epi32(z##B, orig##B); \ - z##C = _mm256_add_epi32(z##C, orig##C); \ - z##D = _mm256_add_epi32(z##D, orig##D); \ - y##A = _mm256_unpacklo_epi32(z##A, z##B); \ - y##B = _mm256_unpacklo_epi32(z##C, z##D); \ - y##C = _mm256_unpackhi_epi32(z##A, z##B); \ - y##D = _mm256_unpackhi_epi32(z##C, z##D); \ - z##A = _mm256_unpacklo_epi64(y##A, y##B); \ - z##B = _mm256_unpackhi_epi64(y##A, y##B); \ - z##C = _mm256_unpacklo_epi64(y##C, y##D); \ - z##D = _mm256_unpackhi_epi64(y##C, y##D); \ - t0 = _mm_xor_si128(_mm256_extracti128_si256(z##A, 0), \ - _mm_loadu_si128((const __m128i*) (m + 0))); \ - _mm_storeu_si128((__m128i*) (c + 0), t0); \ - t1 = _mm_xor_si128(_mm256_extracti128_si256(z##B, 0), \ - _mm_loadu_si128((const __m128i*) (m + 64))); \ - _mm_storeu_si128((__m128i*) (c + 64), t1); \ - t2 = _mm_xor_si128(_mm256_extracti128_si256(z##C, 0), \ - _mm_loadu_si128((const __m128i*) (m + 128))); \ - _mm_storeu_si128((__m128i*) (c + 128), t2); \ - t3 = _mm_xor_si128(_mm256_extracti128_si256(z##D, 0), \ - _mm_loadu_si128((const __m128i*) (m + 192))); \ - _mm_storeu_si128((__m128i*) (c + 192), t3); \ - t0 = _mm_xor_si128(_mm256_extracti128_si256(z##A, 1), \ - _mm_loadu_si128((const __m128i*) (m + 256))); \ - _mm_storeu_si128((__m128i*) (c + 256), t0); \ - t1 = _mm_xor_si128(_mm256_extracti128_si256(z##B, 1), \ - _mm_loadu_si128((const __m128i*) (m + 320))); \ - _mm_storeu_si128((__m128i*) (c + 320), t1); \ - t2 = _mm_xor_si128(_mm256_extracti128_si256(z##C, 1), \ - _mm_loadu_si128((const __m128i*) (m + 384))); \ - _mm_storeu_si128((__m128i*) (c + 384), t2); \ - t3 = _mm_xor_si128(_mm256_extracti128_si256(z##D, 1), \ - _mm_loadu_si128((const __m128i*) (m + 448))); \ - _mm_storeu_si128((__m128i*) (c + 448), t3); \ - } - -#define ONEQUAD(A, B, C, D) ONEQUAD_TRANSPOSE(A, B, C, D) - -#define ONEQUAD_UNPCK(A, B, C, D) \ - { \ - z##A = _mm256_add_epi32(z##A, orig##A); \ - z##B = _mm256_add_epi32(z##B, orig##B); \ - z##C = _mm256_add_epi32(z##C, orig##C); \ - z##D = _mm256_add_epi32(z##D, orig##D); \ - y##A = _mm256_unpacklo_epi32(z##A, z##B); \ - y##B = _mm256_unpacklo_epi32(z##C, z##D); \ - y##C = _mm256_unpackhi_epi32(z##A, z##B); \ - y##D = _mm256_unpackhi_epi32(z##C, z##D); \ - z##A = _mm256_unpacklo_epi64(y##A, y##B); \ - z##B = _mm256_unpackhi_epi64(y##A, y##B); \ - z##C = _mm256_unpacklo_epi64(y##C, y##D); \ - z##D = _mm256_unpackhi_epi64(y##C, y##D); \ - } - -#define ONEOCTO(A, B, C, D, A2, B2, C2, D2) \ - { \ - ONEQUAD_UNPCK(A, B, C, D); \ - ONEQUAD_UNPCK(A2, B2, C2, D2); \ - y##A = _mm256_permute2x128_si256(z##A, z##A2, 0x20); \ - y##A2 = _mm256_permute2x128_si256(z##A, z##A2, 0x31); \ - y##B = _mm256_permute2x128_si256(z##B, z##B2, 0x20); \ - y##B2 = _mm256_permute2x128_si256(z##B, z##B2, 0x31); \ - y##C = _mm256_permute2x128_si256(z##C, z##C2, 0x20); \ - y##C2 = _mm256_permute2x128_si256(z##C, z##C2, 0x31); \ - y##D = _mm256_permute2x128_si256(z##D, z##D2, 0x20); \ - y##D2 = _mm256_permute2x128_si256(z##D, z##D2, 0x31); \ - y##A = _mm256_xor_si256(y##A, \ - _mm256_loadu_si256((const __m256i*) (m + 0))); \ - y##B = _mm256_xor_si256( \ - y##B, _mm256_loadu_si256((const __m256i*) (m + 64))); \ - y##C = _mm256_xor_si256( \ - y##C, _mm256_loadu_si256((const __m256i*) (m + 128))); \ - y##D = _mm256_xor_si256( \ - y##D, _mm256_loadu_si256((const __m256i*) (m + 192))); \ - y##A2 = _mm256_xor_si256( \ - y##A2, _mm256_loadu_si256((const __m256i*) (m + 256))); \ - y##B2 = _mm256_xor_si256( \ - y##B2, _mm256_loadu_si256((const __m256i*) (m + 320))); \ - y##C2 = _mm256_xor_si256( \ - y##C2, _mm256_loadu_si256((const __m256i*) (m + 384))); \ - y##D2 = _mm256_xor_si256( \ - y##D2, _mm256_loadu_si256((const __m256i*) (m + 448))); \ - _mm256_storeu_si256((__m256i*) (c + 0), y##A); \ - _mm256_storeu_si256((__m256i*) (c + 64), y##B); \ - _mm256_storeu_si256((__m256i*) (c + 128), y##C); \ - _mm256_storeu_si256((__m256i*) (c + 192), y##D); \ - _mm256_storeu_si256((__m256i*) (c + 256), y##A2); \ - _mm256_storeu_si256((__m256i*) (c + 320), y##B2); \ - _mm256_storeu_si256((__m256i*) (c + 384), y##C2); \ - _mm256_storeu_si256((__m256i*) (c + 448), y##D2); \ - } - - ONEOCTO(0, 1, 2, 3, 4, 5, 6, 7); - m += 32; - c += 32; - ONEOCTO(8, 9, 10, 11, 12, 13, 14, 15); - m -= 32; - c -= 32; - -#undef ONEQUAD -#undef ONEQUAD_TRANSPOSE -#undef ONEQUAD_UNPCK -#undef ONEOCTO - - bytes -= 512; - c += 512; - m += 512; - } -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c deleted file mode 100644 index bfdfeed..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c +++ /dev/null @@ -1,106 +0,0 @@ -/* -version 20140420 -D. J. Bernstein -Public domain. -*/ - -#include - -#include "crypto_core_salsa2012.h" -#include "crypto_stream_salsa2012.h" -#include "utils.h" - -int -crypto_stream_salsa2012(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!clen) { - return 0; - } - for (i = 0; i < 32; ++i) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; ++i) { - in[i] = n[i]; - } - for (i = 8; i < 16; ++i) { - in[i] = 0; - } - while (clen >= 64) { - crypto_core_salsa2012(c, in, kcopy, NULL); - u = 1; - for (i = 8; i < 16; ++i) { - u += (unsigned int)in[i]; - in[i] = u; - u >>= 8; - } - clen -= 64; - c += 64; - } - if (clen) { - crypto_core_salsa2012(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int)clen; ++i) { - c[i] = block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} - -int -crypto_stream_salsa2012_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!mlen) { - return 0; - } - for (i = 0; i < 32; ++i) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; ++i) { - in[i] = n[i]; - } - for (i = 8; i < 16; ++i) { - in[i] = 0; - } - while (mlen >= 64) { - crypto_core_salsa2012(block, in, kcopy, NULL); - for (i = 0; i < 64; ++i) { - c[i] = m[i] ^ block[i]; - } - u = 1; - for (i = 8; i < 16; ++i) { - u += (unsigned int)in[i]; - in[i] = u; - u >>= 8; - } - mlen -= 64; - c += 64; - m += 64; - } - if (mlen) { - crypto_core_salsa2012(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int)mlen; ++i) { - c[i] = m[i] ^ block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c deleted file mode 100644 index d0cc0f6..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "crypto_stream_salsa2012.h" -#include "randombytes.h" - -size_t -crypto_stream_salsa2012_keybytes(void) -{ - return crypto_stream_salsa2012_KEYBYTES; -} - -size_t -crypto_stream_salsa2012_noncebytes(void) -{ - return crypto_stream_salsa2012_NONCEBYTES; -} - -size_t -crypto_stream_salsa2012_messagebytes_max(void) -{ - return crypto_stream_salsa2012_MESSAGEBYTES_MAX; -} - -void -crypto_stream_salsa2012_keygen(unsigned char k[crypto_stream_salsa2012_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_salsa2012_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c deleted file mode 100644 index 7ec0c4e..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c +++ /dev/null @@ -1,106 +0,0 @@ -/* -version 20140420 -D. J. Bernstein -Public domain. -*/ - -#include - -#include "crypto_core_salsa208.h" -#include "crypto_stream_salsa208.h" -#include "utils.h" - -int -crypto_stream_salsa208(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!clen) { - return 0; - } - for (i = 0; i < 32; ++i) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; ++i) { - in[i] = n[i]; - } - for (i = 8; i < 16; ++i) { - in[i] = 0; - } - while (clen >= 64) { - crypto_core_salsa208(c, in, kcopy, NULL); - u = 1; - for (i = 8; i < 16; ++i) { - u += (unsigned int)in[i]; - in[i] = u; - u >>= 8; - } - clen -= 64; - c += 64; - } - if (clen) { - crypto_core_salsa208(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int)clen; ++i) { - c[i] = block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} - -int -crypto_stream_salsa208_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!mlen) { - return 0; - } - for (i = 0; i < 32; ++i) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; ++i) { - in[i] = n[i]; - } - for (i = 8; i < 16; ++i) { - in[i] = 0; - } - while (mlen >= 64) { - crypto_core_salsa208(block, in, kcopy, NULL); - for (i = 0; i < 64; ++i) { - c[i] = m[i] ^ block[i]; - } - u = 1; - for (i = 8; i < 16; ++i) { - u += (unsigned int)in[i]; - in[i] = u; - u >>= 8; - } - mlen -= 64; - c += 64; - m += 64; - } - if (mlen) { - crypto_core_salsa208(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int)mlen; ++i) { - c[i] = m[i] ^ block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa208/stream_salsa208.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa208/stream_salsa208.c deleted file mode 100644 index b79bda5..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/salsa208/stream_salsa208.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "crypto_stream_salsa208.h" -#include "randombytes.h" - -size_t -crypto_stream_salsa208_keybytes(void) -{ - return crypto_stream_salsa208_KEYBYTES; -} - -size_t -crypto_stream_salsa208_noncebytes(void) -{ - return crypto_stream_salsa208_NONCEBYTES; -} - -size_t -crypto_stream_salsa208_messagebytes_max(void) -{ - return crypto_stream_salsa208_MESSAGEBYTES_MAX; -} - -void -crypto_stream_salsa208_keygen(unsigned char k[crypto_stream_salsa208_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_salsa208_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c deleted file mode 100644 index 8b1bc09..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c +++ /dev/null @@ -1,69 +0,0 @@ - -#include - -#include "crypto_core_hchacha20.h" -#include "crypto_stream_chacha20.h" -#include "crypto_stream_xchacha20.h" -#include "private/common.h" -#include "randombytes.h" - -size_t -crypto_stream_xchacha20_keybytes(void) -{ - return crypto_stream_xchacha20_KEYBYTES; -} - -size_t -crypto_stream_xchacha20_noncebytes(void) -{ - return crypto_stream_xchacha20_NONCEBYTES; -} - -size_t -crypto_stream_xchacha20_messagebytes_max(void) -{ - return crypto_stream_xchacha20_MESSAGEBYTES_MAX; -} - -int -crypto_stream_xchacha20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - unsigned char k2[crypto_core_hchacha20_OUTPUTBYTES]; - - crypto_core_hchacha20(k2, n, k, NULL); - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES <= sizeof k2); - COMPILER_ASSERT(crypto_stream_chacha20_NONCEBYTES == - crypto_stream_xchacha20_NONCEBYTES - - crypto_core_hchacha20_INPUTBYTES); - - return crypto_stream_chacha20(c, clen, n + crypto_core_hchacha20_INPUTBYTES, - k2); -} - -int -crypto_stream_xchacha20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - uint64_t ic, const unsigned char *k) -{ - unsigned char k2[crypto_core_hchacha20_OUTPUTBYTES]; - - crypto_core_hchacha20(k2, n, k, NULL); - return crypto_stream_chacha20_xor_ic( - c, m, mlen, n + crypto_core_hchacha20_INPUTBYTES, ic, k2); -} - -int -crypto_stream_xchacha20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_stream_xchacha20_xor_ic(c, m, mlen, n, 0U, k); -} - -void -crypto_stream_xchacha20_keygen( - unsigned char k[crypto_stream_xchacha20_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_xchacha20_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c deleted file mode 100644 index dc831a9..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c +++ /dev/null @@ -1,66 +0,0 @@ -#include "crypto_core_hsalsa20.h" -#include "crypto_stream_salsa20.h" -#include "crypto_stream_xsalsa20.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_stream_xsalsa20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - unsigned char subkey[32]; - int ret; - - crypto_core_hsalsa20(subkey, n, k, NULL); - ret = crypto_stream_salsa20(c, clen, n + 16, subkey); - sodium_memzero(subkey, sizeof subkey); - - return ret; -} - -int -crypto_stream_xsalsa20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - uint64_t ic, const unsigned char *k) -{ - unsigned char subkey[32]; - int ret; - - crypto_core_hsalsa20(subkey, n, k, NULL); - ret = crypto_stream_salsa20_xor_ic(c, m, mlen, n + 16, ic, subkey); - sodium_memzero(subkey, sizeof subkey); - - return ret; -} - -int -crypto_stream_xsalsa20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_stream_xsalsa20_xor_ic(c, m, mlen, n, 0ULL, k); -} - -size_t -crypto_stream_xsalsa20_keybytes(void) -{ - return crypto_stream_xsalsa20_KEYBYTES; -} - -size_t -crypto_stream_xsalsa20_noncebytes(void) -{ - return crypto_stream_xsalsa20_NONCEBYTES; -} - -size_t -crypto_stream_xsalsa20_messagebytes_max(void) -{ - return crypto_stream_xsalsa20_MESSAGEBYTES_MAX; -} - -void -crypto_stream_xsalsa20_keygen(unsigned char k[crypto_stream_xsalsa20_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_xsalsa20_KEYBYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_verify/sodium/verify.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_verify/sodium/verify.c deleted file mode 100644 index ffebf22..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_verify/sodium/verify.c +++ /dev/null @@ -1,98 +0,0 @@ - -#include -#include - -#include "crypto_verify_16.h" -#include "crypto_verify_32.h" -#include "crypto_verify_64.h" - -size_t -crypto_verify_16_bytes(void) -{ - return crypto_verify_16_BYTES; -} - -size_t -crypto_verify_32_bytes(void) -{ - return crypto_verify_32_BYTES; -} - -size_t -crypto_verify_64_bytes(void) -{ - return crypto_verify_64_BYTES; -} - -#if defined(HAVE_EMMINTRIN_H) && defined(__SSE2__) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# endif -# include - -static inline int -crypto_verify_n(const unsigned char *x_, const unsigned char *y_, - const int n) -{ - const __m128i zero = _mm_setzero_si128(); - volatile __m128i v1, v2, z; - volatile int m; - int i; - - const volatile __m128i *volatile x = - (const volatile __m128i *volatile) (const void *) x_; - const volatile __m128i *volatile y = - (const volatile __m128i *volatile) (const void *) y_; - v1 = _mm_loadu_si128((const __m128i *) &x[0]); - v2 = _mm_loadu_si128((const __m128i *) &y[0]); - z = _mm_xor_si128(v1, v2); - for (i = 1; i < n / 16; i++) { - v1 = _mm_loadu_si128((const __m128i *) &x[i]); - v2 = _mm_loadu_si128((const __m128i *) &y[i]); - z = _mm_or_si128(z, _mm_xor_si128(v1, v2)); - } - m = _mm_movemask_epi8(_mm_cmpeq_epi32(z, zero)); - v1 = zero; v2 = zero; z = zero; - - return (int) (((uint32_t) m + 1U) >> 16) - 1; -} - -#else - -static inline int -crypto_verify_n(const unsigned char *x_, const unsigned char *y_, - const int n) -{ - const volatile unsigned char *volatile x = - (const volatile unsigned char *volatile) x_; - const volatile unsigned char *volatile y = - (const volatile unsigned char *volatile) y_; - volatile uint_fast16_t d = 0U; - int i; - - for (i = 0; i < n; i++) { - d |= x[i] ^ y[i]; - } - return (1 & ((d - 1) >> 8)) - 1; -} - -#endif - -int -crypto_verify_16(const unsigned char *x, const unsigned char *y) -{ - return crypto_verify_n(x, y, crypto_verify_16_BYTES); -} - -int -crypto_verify_32(const unsigned char *x, const unsigned char *y) -{ - return crypto_verify_n(x, y, crypto_verify_32_BYTES); -} - -int -crypto_verify_64(const unsigned char *x, const unsigned char *y) -{ - return crypto_verify_n(x, y, crypto_verify_64_BYTES); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/Makefile.am b/libsodium-1.0.18-RELEASE/src/libsodium/include/Makefile.am deleted file mode 100644 index 7476bd9..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/Makefile.am +++ /dev/null @@ -1,72 +0,0 @@ - -SODIUM_EXPORT = \ - sodium.h \ - sodium/core.h \ - sodium/crypto_aead_aes256gcm.h \ - sodium/crypto_aead_chacha20poly1305.h \ - sodium/crypto_aead_xchacha20poly1305.h \ - sodium/crypto_auth.h \ - sodium/crypto_auth_hmacsha256.h \ - sodium/crypto_auth_hmacsha512.h \ - sodium/crypto_auth_hmacsha512256.h \ - sodium/crypto_box.h \ - sodium/crypto_box_curve25519xchacha20poly1305.h \ - sodium/crypto_box_curve25519xsalsa20poly1305.h \ - sodium/crypto_core_ed25519.h \ - sodium/crypto_core_ristretto255.h \ - sodium/crypto_core_hchacha20.h \ - sodium/crypto_core_hsalsa20.h \ - sodium/crypto_core_salsa20.h \ - sodium/crypto_core_salsa2012.h \ - sodium/crypto_core_salsa208.h \ - sodium/crypto_generichash.h \ - sodium/crypto_generichash_blake2b.h \ - sodium/crypto_hash.h \ - sodium/crypto_hash_sha256.h \ - sodium/crypto_hash_sha512.h \ - sodium/crypto_kdf.h \ - sodium/crypto_kdf_blake2b.h \ - sodium/crypto_kx.h \ - sodium/crypto_onetimeauth.h \ - sodium/crypto_onetimeauth_poly1305.h \ - sodium/crypto_pwhash.h \ - sodium/crypto_pwhash_argon2i.h \ - sodium/crypto_pwhash_argon2id.h \ - sodium/crypto_pwhash_scryptsalsa208sha256.h \ - sodium/crypto_scalarmult.h \ - sodium/crypto_scalarmult_curve25519.h \ - sodium/crypto_scalarmult_ed25519.h \ - sodium/crypto_scalarmult_ristretto255.h \ - sodium/crypto_secretbox.h \ - sodium/crypto_secretbox_xchacha20poly1305.h \ - sodium/crypto_secretbox_xsalsa20poly1305.h \ - sodium/crypto_secretstream_xchacha20poly1305.h \ - sodium/crypto_shorthash.h \ - sodium/crypto_shorthash_siphash24.h \ - sodium/crypto_sign.h \ - sodium/crypto_sign_ed25519.h \ - sodium/crypto_sign_edwards25519sha512batch.h \ - sodium/crypto_stream.h \ - sodium/crypto_stream_chacha20.h \ - sodium/crypto_stream_salsa20.h \ - sodium/crypto_stream_salsa2012.h \ - sodium/crypto_stream_salsa208.h \ - sodium/crypto_stream_xchacha20.h \ - sodium/crypto_stream_xsalsa20.h \ - sodium/crypto_verify_16.h \ - sodium/crypto_verify_32.h \ - sodium/crypto_verify_64.h \ - sodium/export.h \ - sodium/randombytes.h \ - sodium/randombytes_internal_random.h \ - sodium/randombytes_sysrandom.h \ - sodium/runtime.h \ - sodium/utils.h - -EXTRA_SRC = $(SODIUM_EXPORT) \ - sodium/version.h.in - -nobase_include_HEADERS = $(SODIUM_EXPORT) - -nobase_nodist_include_HEADERS = \ - sodium/version.h diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium.h deleted file mode 100644 index 295f911..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium.h +++ /dev/null @@ -1,69 +0,0 @@ - -#ifndef sodium_H -#define sodium_H - -#include "sodium/version.h" - -#include "sodium/core.h" -#include "sodium/crypto_aead_aes256gcm.h" -#include "sodium/crypto_aead_chacha20poly1305.h" -#include "sodium/crypto_aead_xchacha20poly1305.h" -#include "sodium/crypto_auth.h" -#include "sodium/crypto_auth_hmacsha256.h" -#include "sodium/crypto_auth_hmacsha512.h" -#include "sodium/crypto_auth_hmacsha512256.h" -#include "sodium/crypto_box.h" -#include "sodium/crypto_box_curve25519xsalsa20poly1305.h" -#include "sodium/crypto_core_hsalsa20.h" -#include "sodium/crypto_core_hchacha20.h" -#include "sodium/crypto_core_salsa20.h" -#include "sodium/crypto_core_salsa2012.h" -#include "sodium/crypto_core_salsa208.h" -#include "sodium/crypto_generichash.h" -#include "sodium/crypto_generichash_blake2b.h" -#include "sodium/crypto_hash.h" -#include "sodium/crypto_hash_sha256.h" -#include "sodium/crypto_hash_sha512.h" -#include "sodium/crypto_kdf.h" -#include "sodium/crypto_kdf_blake2b.h" -#include "sodium/crypto_kx.h" -#include "sodium/crypto_onetimeauth.h" -#include "sodium/crypto_onetimeauth_poly1305.h" -#include "sodium/crypto_pwhash.h" -#include "sodium/crypto_pwhash_argon2i.h" -#include "sodium/crypto_scalarmult.h" -#include "sodium/crypto_scalarmult_curve25519.h" -#include "sodium/crypto_secretbox.h" -#include "sodium/crypto_secretbox_xsalsa20poly1305.h" -#include "sodium/crypto_secretstream_xchacha20poly1305.h" -#include "sodium/crypto_shorthash.h" -#include "sodium/crypto_shorthash_siphash24.h" -#include "sodium/crypto_sign.h" -#include "sodium/crypto_sign_ed25519.h" -#include "sodium/crypto_stream.h" -#include "sodium/crypto_stream_chacha20.h" -#include "sodium/crypto_stream_salsa20.h" -#include "sodium/crypto_stream_xsalsa20.h" -#include "sodium/crypto_verify_16.h" -#include "sodium/crypto_verify_32.h" -#include "sodium/crypto_verify_64.h" -#include "sodium/randombytes.h" -#include "sodium/randombytes_internal_random.h" -#include "sodium/randombytes_sysrandom.h" -#include "sodium/runtime.h" -#include "sodium/utils.h" - -#ifndef SODIUM_LIBRARY_MINIMAL -# include "sodium/crypto_box_curve25519xchacha20poly1305.h" -# include "sodium/crypto_core_ed25519.h" -# include "sodium/crypto_core_ristretto255.h" -# include "sodium/crypto_scalarmult_ed25519.h" -# include "sodium/crypto_scalarmult_ristretto255.h" -# include "sodium/crypto_secretbox_xchacha20poly1305.h" -# include "sodium/crypto_pwhash_scryptsalsa208sha256.h" -# include "sodium/crypto_stream_salsa2012.h" -# include "sodium/crypto_stream_salsa208.h" -# include "sodium/crypto_stream_xchacha20.h" -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/core.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/core.h deleted file mode 100644 index dd088d2..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/core.h +++ /dev/null @@ -1,28 +0,0 @@ - -#ifndef sodium_core_H -#define sodium_core_H - -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -int sodium_init(void) - __attribute__ ((warn_unused_result)); - -/* ---- */ - -SODIUM_EXPORT -int sodium_set_misuse_handler(void (*handler)(void)); - -SODIUM_EXPORT -void sodium_misuse(void) - __attribute__ ((noreturn)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_aes256gcm.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_aes256gcm.h deleted file mode 100644 index 9baeb3f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_aes256gcm.h +++ /dev/null @@ -1,179 +0,0 @@ -#ifndef crypto_aead_aes256gcm_H -#define crypto_aead_aes256gcm_H - -/* - * WARNING: Despite being the most popular AEAD construction due to its - * use in TLS, safely using AES-GCM in a different context is tricky. - * - * No more than ~ 350 GB of input data should be encrypted with a given key. - * This is for ~ 16 KB messages -- Actual figures vary according to - * message sizes. - * - * In addition, nonces are short and repeated nonces would totally destroy - * the security of this scheme. - * - * Nonces should thus come from atomic counters, which can be difficult to - * set up in a distributed environment. - * - * Unless you absolutely need AES-GCM, use crypto_aead_xchacha20poly1305_ietf_*() - * instead. It doesn't have any of these limitations. - * Or, if you don't need to authenticate additional data, just stick to - * crypto_secretbox(). - */ - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -SODIUM_EXPORT -int crypto_aead_aes256gcm_is_available(void); - -#define crypto_aead_aes256gcm_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_keybytes(void); - -#define crypto_aead_aes256gcm_NSECBYTES 0U -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_nsecbytes(void); - -#define crypto_aead_aes256gcm_NPUBBYTES 12U -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_npubbytes(void); - -#define crypto_aead_aes256gcm_ABYTES 16U -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_abytes(void); - -#define crypto_aead_aes256gcm_MESSAGEBYTES_MAX \ - SODIUM_MIN(SODIUM_SIZE_MAX - crypto_aead_aes256gcm_ABYTES, \ - (16ULL * ((1ULL << 32) - 2ULL))) -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_messagebytes_max(void); - -typedef struct CRYPTO_ALIGN(16) crypto_aead_aes256gcm_state_ { - unsigned char opaque[512]; -} crypto_aead_aes256gcm_state; - -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_statebytes(void); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((nonnull(1, 8, 9))); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(4, 8, 9))); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((nonnull(1, 2, 9, 10))); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 5, 8, 9))); - -/* -- Precomputation interface -- */ - -SODIUM_EXPORT -int crypto_aead_aes256gcm_beforenm(crypto_aead_aes256gcm_state *ctx_, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_encrypt_afternm(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) - __attribute__ ((nonnull(1, 8, 9))); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_decrypt_afternm(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(4, 8, 9))); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_encrypt_detached_afternm(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) - __attribute__ ((nonnull(1, 2, 9, 10))); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_decrypt_detached_afternm(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 5, 8, 9))); - -SODIUM_EXPORT -void crypto_aead_aes256gcm_keygen(unsigned char k[crypto_aead_aes256gcm_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h deleted file mode 100644 index 5d671df..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +++ /dev/null @@ -1,180 +0,0 @@ -#ifndef crypto_aead_chacha20poly1305_H -#define crypto_aead_chacha20poly1305_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -/* -- IETF ChaCha20-Poly1305 construction with a 96-bit nonce and a 32-bit internal counter -- */ - -#define crypto_aead_chacha20poly1305_ietf_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_ietf_keybytes(void); - -#define crypto_aead_chacha20poly1305_ietf_NSECBYTES 0U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_ietf_nsecbytes(void); - -#define crypto_aead_chacha20poly1305_ietf_NPUBBYTES 12U - -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_ietf_npubbytes(void); - -#define crypto_aead_chacha20poly1305_ietf_ABYTES 16U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_ietf_abytes(void); - -#define crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX \ - SODIUM_MIN(SODIUM_SIZE_MAX - crypto_aead_chacha20poly1305_ietf_ABYTES, \ - (64ULL * ((1ULL << 32) - 1ULL))) -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_ietf_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_ietf_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((nonnull(1, 8, 9))); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_ietf_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(4, 8, 9))); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_ietf_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((nonnull(1, 2, 9, 10))); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_ietf_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 5, 8, 9))); - -SODIUM_EXPORT -void crypto_aead_chacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_chacha20poly1305_ietf_KEYBYTES]) - __attribute__ ((nonnull)); - -/* -- Original ChaCha20-Poly1305 construction with a 64-bit nonce and a 64-bit internal counter -- */ - -#define crypto_aead_chacha20poly1305_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_keybytes(void); - -#define crypto_aead_chacha20poly1305_NSECBYTES 0U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_nsecbytes(void); - -#define crypto_aead_chacha20poly1305_NPUBBYTES 8U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_npubbytes(void); - -#define crypto_aead_chacha20poly1305_ABYTES 16U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_abytes(void); - -#define crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX \ - (SODIUM_SIZE_MAX - crypto_aead_chacha20poly1305_ABYTES) -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((nonnull(1, 8, 9))); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(4, 8, 9))); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((nonnull(1, 2, 9, 10))); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 5, 8, 9))); - -SODIUM_EXPORT -void crypto_aead_chacha20poly1305_keygen(unsigned char k[crypto_aead_chacha20poly1305_KEYBYTES]) - __attribute__ ((nonnull)); - -/* Aliases */ - -#define crypto_aead_chacha20poly1305_IETF_KEYBYTES crypto_aead_chacha20poly1305_ietf_KEYBYTES -#define crypto_aead_chacha20poly1305_IETF_NSECBYTES crypto_aead_chacha20poly1305_ietf_NSECBYTES -#define crypto_aead_chacha20poly1305_IETF_NPUBBYTES crypto_aead_chacha20poly1305_ietf_NPUBBYTES -#define crypto_aead_chacha20poly1305_IETF_ABYTES crypto_aead_chacha20poly1305_ietf_ABYTES -#define crypto_aead_chacha20poly1305_IETF_MESSAGEBYTES_MAX crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h deleted file mode 100644 index 6643b0c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef crypto_aead_xchacha20poly1305_H -#define crypto_aead_xchacha20poly1305_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void); - -#define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void); - -#define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void); - -#define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_ietf_abytes(void); - -#define crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX \ - (SODIUM_SIZE_MAX - crypto_aead_xchacha20poly1305_ietf_ABYTES) -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_ietf_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((nonnull(1, 8, 9))); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_ietf_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(4, 8, 9))); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_ietf_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((nonnull(1, 2, 9, 10))); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_ietf_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 5, 8, 9))); - -SODIUM_EXPORT -void crypto_aead_xchacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_xchacha20poly1305_ietf_KEYBYTES]) - __attribute__ ((nonnull)); - -/* Aliases */ - -#define crypto_aead_xchacha20poly1305_IETF_KEYBYTES crypto_aead_xchacha20poly1305_ietf_KEYBYTES -#define crypto_aead_xchacha20poly1305_IETF_NSECBYTES crypto_aead_xchacha20poly1305_ietf_NSECBYTES -#define crypto_aead_xchacha20poly1305_IETF_NPUBBYTES crypto_aead_xchacha20poly1305_ietf_NPUBBYTES -#define crypto_aead_xchacha20poly1305_IETF_ABYTES crypto_aead_xchacha20poly1305_ietf_ABYTES -#define crypto_aead_xchacha20poly1305_IETF_MESSAGEBYTES_MAX crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth.h deleted file mode 100644 index 540aee0..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef crypto_auth_H -#define crypto_auth_H - -#include - -#include "crypto_auth_hmacsha512256.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_auth_BYTES crypto_auth_hmacsha512256_BYTES -SODIUM_EXPORT -size_t crypto_auth_bytes(void); - -#define crypto_auth_KEYBYTES crypto_auth_hmacsha512256_KEYBYTES -SODIUM_EXPORT -size_t crypto_auth_keybytes(void); - -#define crypto_auth_PRIMITIVE "hmacsha512256" -SODIUM_EXPORT -const char *crypto_auth_primitive(void); - -SODIUM_EXPORT -int crypto_auth(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) - __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_auth_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -void crypto_auth_keygen(unsigned char k[crypto_auth_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha256.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha256.h deleted file mode 100644 index 3da864c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef crypto_auth_hmacsha256_H -#define crypto_auth_hmacsha256_H - -#include -#include "crypto_hash_sha256.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_auth_hmacsha256_BYTES 32U -SODIUM_EXPORT -size_t crypto_auth_hmacsha256_bytes(void); - -#define crypto_auth_hmacsha256_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_auth_hmacsha256_keybytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha256(unsigned char *out, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_auth_hmacsha256_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4))); - -/* ------------------------------------------------------------------------- */ - -typedef struct crypto_auth_hmacsha256_state { - crypto_hash_sha256_state ictx; - crypto_hash_sha256_state octx; -} crypto_auth_hmacsha256_state; - -SODIUM_EXPORT -size_t crypto_auth_hmacsha256_statebytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha256_init(crypto_auth_hmacsha256_state *state, - const unsigned char *key, - size_t keylen) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_auth_hmacsha256_update(crypto_auth_hmacsha256_state *state, - const unsigned char *in, - unsigned long long inlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_auth_hmacsha256_final(crypto_auth_hmacsha256_state *state, - unsigned char *out) __attribute__ ((nonnull)); - - -SODIUM_EXPORT -void crypto_auth_hmacsha256_keygen(unsigned char k[crypto_auth_hmacsha256_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha512.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha512.h deleted file mode 100644 index d992cb8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha512.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef crypto_auth_hmacsha512_H -#define crypto_auth_hmacsha512_H - -#include -#include "crypto_hash_sha512.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_auth_hmacsha512_BYTES 64U -SODIUM_EXPORT -size_t crypto_auth_hmacsha512_bytes(void); - -#define crypto_auth_hmacsha512_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_auth_hmacsha512_keybytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha512(unsigned char *out, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_auth_hmacsha512_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4))); - -/* ------------------------------------------------------------------------- */ - -typedef struct crypto_auth_hmacsha512_state { - crypto_hash_sha512_state ictx; - crypto_hash_sha512_state octx; -} crypto_auth_hmacsha512_state; - -SODIUM_EXPORT -size_t crypto_auth_hmacsha512_statebytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha512_init(crypto_auth_hmacsha512_state *state, - const unsigned char *key, - size_t keylen) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_auth_hmacsha512_update(crypto_auth_hmacsha512_state *state, - const unsigned char *in, - unsigned long long inlen) __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_auth_hmacsha512_final(crypto_auth_hmacsha512_state *state, - unsigned char *out) __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_auth_hmacsha512_keygen(unsigned char k[crypto_auth_hmacsha512_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h deleted file mode 100644 index 3fb5263..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef crypto_auth_hmacsha512256_H -#define crypto_auth_hmacsha512256_H - -#include -#include "crypto_auth_hmacsha512.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_auth_hmacsha512256_BYTES 32U -SODIUM_EXPORT -size_t crypto_auth_hmacsha512256_bytes(void); - -#define crypto_auth_hmacsha512256_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_auth_hmacsha512256_keybytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha512256(unsigned char *out, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_auth_hmacsha512256_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4))); - -/* ------------------------------------------------------------------------- */ - -typedef crypto_auth_hmacsha512_state crypto_auth_hmacsha512256_state; - -SODIUM_EXPORT -size_t crypto_auth_hmacsha512256_statebytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha512256_init(crypto_auth_hmacsha512256_state *state, - const unsigned char *key, - size_t keylen) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_auth_hmacsha512256_update(crypto_auth_hmacsha512256_state *state, - const unsigned char *in, - unsigned long long inlen) __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_auth_hmacsha512256_final(crypto_auth_hmacsha512256_state *state, - unsigned char *out) __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_auth_hmacsha512256_keygen(unsigned char k[crypto_auth_hmacsha512256_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box.h deleted file mode 100644 index e060dd2..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box.h +++ /dev/null @@ -1,177 +0,0 @@ -#ifndef crypto_box_H -#define crypto_box_H - -/* - * THREAD SAFETY: crypto_box_keypair() is thread-safe, - * provided that sodium_init() was called before. - * - * Other functions are always thread-safe. - */ - -#include - -#include "crypto_box_curve25519xsalsa20poly1305.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_box_SEEDBYTES crypto_box_curve25519xsalsa20poly1305_SEEDBYTES -SODIUM_EXPORT -size_t crypto_box_seedbytes(void); - -#define crypto_box_PUBLICKEYBYTES crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES -SODIUM_EXPORT -size_t crypto_box_publickeybytes(void); - -#define crypto_box_SECRETKEYBYTES crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES -SODIUM_EXPORT -size_t crypto_box_secretkeybytes(void); - -#define crypto_box_NONCEBYTES crypto_box_curve25519xsalsa20poly1305_NONCEBYTES -SODIUM_EXPORT -size_t crypto_box_noncebytes(void); - -#define crypto_box_MACBYTES crypto_box_curve25519xsalsa20poly1305_MACBYTES -SODIUM_EXPORT -size_t crypto_box_macbytes(void); - -#define crypto_box_MESSAGEBYTES_MAX crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX -SODIUM_EXPORT -size_t crypto_box_messagebytes_max(void); - -#define crypto_box_PRIMITIVE "curve25519xsalsa20poly1305" -SODIUM_EXPORT -const char *crypto_box_primitive(void); - -SODIUM_EXPORT -int crypto_box_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_box_keypair(unsigned char *pk, unsigned char *sk) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_box_easy(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4, 5, 6))); - -SODIUM_EXPORT -int crypto_box_open_easy(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5, 6))); - -SODIUM_EXPORT -int crypto_box_detached(unsigned char *c, unsigned char *mac, - const unsigned char *m, unsigned long long mlen, - const unsigned char *n, const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 2, 5, 6, 7))); - -SODIUM_EXPORT -int crypto_box_open_detached(unsigned char *m, const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 3, 5, 6, 7))); - -/* -- Precomputation interface -- */ - -#define crypto_box_BEFORENMBYTES crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES -SODIUM_EXPORT -size_t crypto_box_beforenmbytes(void); - -SODIUM_EXPORT -int crypto_box_beforenm(unsigned char *k, const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_box_easy_afternm(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) __attribute__ ((nonnull(1, 4, 5))); - -SODIUM_EXPORT -int crypto_box_open_easy_afternm(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5))); - -SODIUM_EXPORT -int crypto_box_detached_afternm(unsigned char *c, unsigned char *mac, - const unsigned char *m, unsigned long long mlen, - const unsigned char *n, const unsigned char *k) - __attribute__ ((nonnull(1, 2, 5, 6))); - -SODIUM_EXPORT -int crypto_box_open_detached_afternm(unsigned char *m, const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 3, 5, 6))); - -/* -- Ephemeral SK interface -- */ - -#define crypto_box_SEALBYTES (crypto_box_PUBLICKEYBYTES + crypto_box_MACBYTES) -SODIUM_EXPORT -size_t crypto_box_sealbytes(void); - -SODIUM_EXPORT -int crypto_box_seal(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *pk) - __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_box_seal_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, - const unsigned char *pk, const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5))); - -/* -- NaCl compatibility interface ; Requires padding -- */ - -#define crypto_box_ZEROBYTES crypto_box_curve25519xsalsa20poly1305_ZEROBYTES -SODIUM_EXPORT -size_t crypto_box_zerobytes(void); - -#define crypto_box_BOXZEROBYTES crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES -SODIUM_EXPORT -size_t crypto_box_boxzerobytes(void); - -SODIUM_EXPORT -int crypto_box(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4, 5, 6))); - -SODIUM_EXPORT -int crypto_box_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5, 6))); - -SODIUM_EXPORT -int crypto_box_afternm(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) __attribute__ ((nonnull(1, 4, 5))); - -SODIUM_EXPORT -int crypto_box_open_afternm(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h deleted file mode 100644 index 26a3d31..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h +++ /dev/null @@ -1,164 +0,0 @@ - -#ifndef crypto_box_curve25519xchacha20poly1305_H -#define crypto_box_curve25519xchacha20poly1305_H - -#include -#include "crypto_stream_xchacha20.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_box_curve25519xchacha20poly1305_SEEDBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_seedbytes(void); - -#define crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_publickeybytes(void); - -#define crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_secretkeybytes(void); - -#define crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_beforenmbytes(void); - -#define crypto_box_curve25519xchacha20poly1305_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_noncebytes(void); - -#define crypto_box_curve25519xchacha20poly1305_MACBYTES 16U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_macbytes(void); - -#define crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX \ - (crypto_stream_xchacha20_MESSAGEBYTES_MAX - crypto_box_curve25519xchacha20poly1305_MACBYTES) -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_seed_keypair(unsigned char *pk, - unsigned char *sk, - const unsigned char *seed) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_keypair(unsigned char *pk, - unsigned char *sk) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_easy(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4, 5, 6))); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_open_easy(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5, 6))); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_detached(unsigned char *c, - unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 2, 5, 6, 7))); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_open_detached(unsigned char *m, - const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 3, 5, 6, 7))); - -/* -- Precomputation interface -- */ - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_beforenm(unsigned char *k, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_easy_afternm(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull(1, 4, 5))); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_open_easy_afternm(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5))); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_detached_afternm(unsigned char *c, - unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull(1, 2, 5, 6))); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_open_detached_afternm(unsigned char *m, - const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 3, 5, 6))); - -/* -- Ephemeral SK interface -- */ - -#define crypto_box_curve25519xchacha20poly1305_SEALBYTES \ - (crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES + \ - crypto_box_curve25519xchacha20poly1305_MACBYTES) - -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_sealbytes(void); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_seal(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk) - __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_seal_open(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h deleted file mode 100644 index e733f49..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef crypto_box_curve25519xsalsa20poly1305_H -#define crypto_box_curve25519xsalsa20poly1305_H - -#include -#include "crypto_stream_xsalsa20.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_box_curve25519xsalsa20poly1305_SEEDBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_seedbytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_publickeybytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_secretkeybytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_beforenmbytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_noncebytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_MACBYTES 16U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_macbytes(void); - -/* Only for the libsodium API - The NaCl compatibility API would require BOXZEROBYTES extra bytes */ -#define crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX \ - (crypto_stream_xsalsa20_MESSAGEBYTES_MAX - crypto_box_curve25519xsalsa20poly1305_MACBYTES) -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_seed_keypair(unsigned char *pk, - unsigned char *sk, - const unsigned char *seed) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_keypair(unsigned char *pk, - unsigned char *sk) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_beforenm(unsigned char *k, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -/* -- NaCl compatibility interface ; Requires padding -- */ - -#define crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES 16U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_boxzerobytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_ZEROBYTES \ - (crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES + \ - crypto_box_curve25519xsalsa20poly1305_MACBYTES) -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_zerobytes(void); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4, 5, 6))); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_open(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5, 6))); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_afternm(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull(1, 4, 5))); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_open_afternm(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_ed25519.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_ed25519.h deleted file mode 100644 index 3eae00c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_ed25519.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef crypto_core_ed25519_H -#define crypto_core_ed25519_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_ed25519_BYTES 32 -SODIUM_EXPORT -size_t crypto_core_ed25519_bytes(void); - -#define crypto_core_ed25519_UNIFORMBYTES 32 -SODIUM_EXPORT -size_t crypto_core_ed25519_uniformbytes(void); - -#define crypto_core_ed25519_HASHBYTES 64 -SODIUM_EXPORT -size_t crypto_core_ed25519_hashbytes(void); - -#define crypto_core_ed25519_SCALARBYTES 32 -SODIUM_EXPORT -size_t crypto_core_ed25519_scalarbytes(void); - -#define crypto_core_ed25519_NONREDUCEDSCALARBYTES 64 -SODIUM_EXPORT -size_t crypto_core_ed25519_nonreducedscalarbytes(void); - -SODIUM_EXPORT -int crypto_core_ed25519_is_valid_point(const unsigned char *p) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_core_ed25519_add(unsigned char *r, - const unsigned char *p, const unsigned char *q) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_core_ed25519_sub(unsigned char *r, - const unsigned char *p, const unsigned char *q) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_core_ed25519_from_uniform(unsigned char *p, const unsigned char *r) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_core_ed25519_from_hash(unsigned char *p, const unsigned char *h) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ed25519_random(unsigned char *p) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ed25519_scalar_random(unsigned char *r) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_core_ed25519_scalar_invert(unsigned char *recip, const unsigned char *s) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ed25519_scalar_negate(unsigned char *neg, const unsigned char *s) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ed25519_scalar_complement(unsigned char *comp, const unsigned char *s) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ed25519_scalar_add(unsigned char *z, const unsigned char *x, - const unsigned char *y) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ed25519_scalar_sub(unsigned char *z, const unsigned char *x, - const unsigned char *y) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ed25519_scalar_mul(unsigned char *z, const unsigned char *x, - const unsigned char *y) - __attribute__ ((nonnull)); - -/* - * The interval `s` is sampled from should be at least 317 bits to ensure almost - * uniformity of `r` over `L`. - */ -SODIUM_EXPORT -void crypto_core_ed25519_scalar_reduce(unsigned char *r, const unsigned char *s) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_hchacha20.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_hchacha20.h deleted file mode 100644 index ece141b..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_hchacha20.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef crypto_core_hchacha20_H -#define crypto_core_hchacha20_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_hchacha20_OUTPUTBYTES 32U -SODIUM_EXPORT -size_t crypto_core_hchacha20_outputbytes(void); - -#define crypto_core_hchacha20_INPUTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_hchacha20_inputbytes(void); - -#define crypto_core_hchacha20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_core_hchacha20_keybytes(void); - -#define crypto_core_hchacha20_CONSTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_hchacha20_constbytes(void); - -SODIUM_EXPORT -int crypto_core_hchacha20(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) - __attribute__ ((nonnull(1, 2, 3))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_hsalsa20.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_hsalsa20.h deleted file mode 100644 index 4bf7a48..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_hsalsa20.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef crypto_core_hsalsa20_H -#define crypto_core_hsalsa20_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_hsalsa20_OUTPUTBYTES 32U -SODIUM_EXPORT -size_t crypto_core_hsalsa20_outputbytes(void); - -#define crypto_core_hsalsa20_INPUTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_hsalsa20_inputbytes(void); - -#define crypto_core_hsalsa20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_core_hsalsa20_keybytes(void); - -#define crypto_core_hsalsa20_CONSTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_hsalsa20_constbytes(void); - -SODIUM_EXPORT -int crypto_core_hsalsa20(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) - __attribute__ ((nonnull(1, 2, 3))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_ristretto255.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_ristretto255.h deleted file mode 100644 index f2820e5..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_ristretto255.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef crypto_core_ristretto255_H -#define crypto_core_ristretto255_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_ristretto255_BYTES 32 -SODIUM_EXPORT -size_t crypto_core_ristretto255_bytes(void); - -#define crypto_core_ristretto255_HASHBYTES 64 -SODIUM_EXPORT -size_t crypto_core_ristretto255_hashbytes(void); - -#define crypto_core_ristretto255_SCALARBYTES 32 -SODIUM_EXPORT -size_t crypto_core_ristretto255_scalarbytes(void); - -#define crypto_core_ristretto255_NONREDUCEDSCALARBYTES 64 -SODIUM_EXPORT -size_t crypto_core_ristretto255_nonreducedscalarbytes(void); - -SODIUM_EXPORT -int crypto_core_ristretto255_is_valid_point(const unsigned char *p) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_core_ristretto255_add(unsigned char *r, - const unsigned char *p, const unsigned char *q) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_core_ristretto255_sub(unsigned char *r, - const unsigned char *p, const unsigned char *q) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_core_ristretto255_from_hash(unsigned char *p, - const unsigned char *r) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ristretto255_random(unsigned char *p) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ristretto255_scalar_random(unsigned char *r) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_core_ristretto255_scalar_invert(unsigned char *recip, - const unsigned char *s) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ristretto255_scalar_negate(unsigned char *neg, - const unsigned char *s) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ristretto255_scalar_complement(unsigned char *comp, - const unsigned char *s) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ristretto255_scalar_add(unsigned char *z, - const unsigned char *x, - const unsigned char *y) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ristretto255_scalar_sub(unsigned char *z, - const unsigned char *x, - const unsigned char *y) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_core_ristretto255_scalar_mul(unsigned char *z, - const unsigned char *x, - const unsigned char *y) - __attribute__ ((nonnull)); - -/* - * The interval `s` is sampled from should be at least 317 bits to ensure almost - * uniformity of `r` over `L`. - */ -SODIUM_EXPORT -void crypto_core_ristretto255_scalar_reduce(unsigned char *r, - const unsigned char *s) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa20.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa20.h deleted file mode 100644 index bd79fd9..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa20.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef crypto_core_salsa20_H -#define crypto_core_salsa20_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_salsa20_OUTPUTBYTES 64U -SODIUM_EXPORT -size_t crypto_core_salsa20_outputbytes(void); - -#define crypto_core_salsa20_INPUTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa20_inputbytes(void); - -#define crypto_core_salsa20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_core_salsa20_keybytes(void); - -#define crypto_core_salsa20_CONSTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa20_constbytes(void); - -SODIUM_EXPORT -int crypto_core_salsa20(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) - __attribute__ ((nonnull(1, 2, 3))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa2012.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa2012.h deleted file mode 100644 index 0595759..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa2012.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef crypto_core_salsa2012_H -#define crypto_core_salsa2012_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_salsa2012_OUTPUTBYTES 64U -SODIUM_EXPORT -size_t crypto_core_salsa2012_outputbytes(void); - -#define crypto_core_salsa2012_INPUTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa2012_inputbytes(void); - -#define crypto_core_salsa2012_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_core_salsa2012_keybytes(void); - -#define crypto_core_salsa2012_CONSTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa2012_constbytes(void); - -SODIUM_EXPORT -int crypto_core_salsa2012(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) - __attribute__ ((nonnull(1, 2, 3))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa208.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa208.h deleted file mode 100644 index d2f216a..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_core_salsa208.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef crypto_core_salsa208_H -#define crypto_core_salsa208_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_salsa208_OUTPUTBYTES 64U -SODIUM_EXPORT -size_t crypto_core_salsa208_outputbytes(void) - __attribute__ ((deprecated)); - -#define crypto_core_salsa208_INPUTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa208_inputbytes(void) - __attribute__ ((deprecated)); - -#define crypto_core_salsa208_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_core_salsa208_keybytes(void) - __attribute__ ((deprecated)); - -#define crypto_core_salsa208_CONSTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa208_constbytes(void) - __attribute__ ((deprecated)); - -SODIUM_EXPORT -int crypto_core_salsa208(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) - __attribute__ ((nonnull(1, 2, 3))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_generichash.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_generichash.h deleted file mode 100644 index d897e5d..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_generichash.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef crypto_generichash_H -#define crypto_generichash_H - -#include - -#include "crypto_generichash_blake2b.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_generichash_BYTES_MIN crypto_generichash_blake2b_BYTES_MIN -SODIUM_EXPORT -size_t crypto_generichash_bytes_min(void); - -#define crypto_generichash_BYTES_MAX crypto_generichash_blake2b_BYTES_MAX -SODIUM_EXPORT -size_t crypto_generichash_bytes_max(void); - -#define crypto_generichash_BYTES crypto_generichash_blake2b_BYTES -SODIUM_EXPORT -size_t crypto_generichash_bytes(void); - -#define crypto_generichash_KEYBYTES_MIN crypto_generichash_blake2b_KEYBYTES_MIN -SODIUM_EXPORT -size_t crypto_generichash_keybytes_min(void); - -#define crypto_generichash_KEYBYTES_MAX crypto_generichash_blake2b_KEYBYTES_MAX -SODIUM_EXPORT -size_t crypto_generichash_keybytes_max(void); - -#define crypto_generichash_KEYBYTES crypto_generichash_blake2b_KEYBYTES -SODIUM_EXPORT -size_t crypto_generichash_keybytes(void); - -#define crypto_generichash_PRIMITIVE "blake2b" -SODIUM_EXPORT -const char *crypto_generichash_primitive(void); - -/* - * Important when writing bindings for other programming languages: - * the state address should be 64-bytes aligned. - */ -typedef crypto_generichash_blake2b_state crypto_generichash_state; - -SODIUM_EXPORT -size_t crypto_generichash_statebytes(void); - -SODIUM_EXPORT -int crypto_generichash(unsigned char *out, size_t outlen, - const unsigned char *in, unsigned long long inlen, - const unsigned char *key, size_t keylen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_generichash_init(crypto_generichash_state *state, - const unsigned char *key, - const size_t keylen, const size_t outlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_generichash_update(crypto_generichash_state *state, - const unsigned char *in, - unsigned long long inlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_generichash_final(crypto_generichash_state *state, - unsigned char *out, const size_t outlen) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_generichash_keygen(unsigned char k[crypto_generichash_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_generichash_blake2b.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_generichash_blake2b.h deleted file mode 100644 index fee9d8a..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_generichash_blake2b.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef crypto_generichash_blake2b_H -#define crypto_generichash_blake2b_H - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -# pragma pack(1) -#else -# pragma pack(push, 1) -#endif - -typedef struct CRYPTO_ALIGN(64) crypto_generichash_blake2b_state { - unsigned char opaque[384]; -} crypto_generichash_blake2b_state; - -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -# pragma pack() -#else -# pragma pack(pop) -#endif - -#define crypto_generichash_blake2b_BYTES_MIN 16U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_bytes_min(void); - -#define crypto_generichash_blake2b_BYTES_MAX 64U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_bytes_max(void); - -#define crypto_generichash_blake2b_BYTES 32U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_bytes(void); - -#define crypto_generichash_blake2b_KEYBYTES_MIN 16U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_keybytes_min(void); - -#define crypto_generichash_blake2b_KEYBYTES_MAX 64U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_keybytes_max(void); - -#define crypto_generichash_blake2b_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_keybytes(void); - -#define crypto_generichash_blake2b_SALTBYTES 16U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_saltbytes(void); - -#define crypto_generichash_blake2b_PERSONALBYTES 16U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_personalbytes(void); - -SODIUM_EXPORT -size_t crypto_generichash_blake2b_statebytes(void); - -SODIUM_EXPORT -int crypto_generichash_blake2b(unsigned char *out, size_t outlen, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *key, size_t keylen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_generichash_blake2b_salt_personal(unsigned char *out, size_t outlen, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *key, - size_t keylen, - const unsigned char *salt, - const unsigned char *personal) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_generichash_blake2b_init(crypto_generichash_blake2b_state *state, - const unsigned char *key, - const size_t keylen, const size_t outlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_generichash_blake2b_init_salt_personal(crypto_generichash_blake2b_state *state, - const unsigned char *key, - const size_t keylen, const size_t outlen, - const unsigned char *salt, - const unsigned char *personal) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_generichash_blake2b_update(crypto_generichash_blake2b_state *state, - const unsigned char *in, - unsigned long long inlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_generichash_blake2b_final(crypto_generichash_blake2b_state *state, - unsigned char *out, - const size_t outlen) __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_generichash_blake2b_keygen(unsigned char k[crypto_generichash_blake2b_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash.h deleted file mode 100644 index 8752f9c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef crypto_hash_H -#define crypto_hash_H - -/* - * WARNING: Unless you absolutely need to use SHA512 for interoperatibility, - * purposes, you might want to consider crypto_generichash() instead. - * Unlike SHA512, crypto_generichash() is not vulnerable to length - * extension attacks. - */ - -#include - -#include "crypto_hash_sha512.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_hash_BYTES crypto_hash_sha512_BYTES -SODIUM_EXPORT -size_t crypto_hash_bytes(void); - -SODIUM_EXPORT -int crypto_hash(unsigned char *out, const unsigned char *in, - unsigned long long inlen) __attribute__ ((nonnull(1))); - -#define crypto_hash_PRIMITIVE "sha512" -SODIUM_EXPORT -const char *crypto_hash_primitive(void) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash_sha256.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash_sha256.h deleted file mode 100644 index b18217e..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash_sha256.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef crypto_hash_sha256_H -#define crypto_hash_sha256_H - -/* - * WARNING: Unless you absolutely need to use SHA256 for interoperatibility, - * purposes, you might want to consider crypto_generichash() instead. - * Unlike SHA256, crypto_generichash() is not vulnerable to length - * extension attacks. - */ - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef struct crypto_hash_sha256_state { - uint32_t state[8]; - uint64_t count; - uint8_t buf[64]; -} crypto_hash_sha256_state; - -SODIUM_EXPORT -size_t crypto_hash_sha256_statebytes(void); - -#define crypto_hash_sha256_BYTES 32U -SODIUM_EXPORT -size_t crypto_hash_sha256_bytes(void); - -SODIUM_EXPORT -int crypto_hash_sha256(unsigned char *out, const unsigned char *in, - unsigned long long inlen) __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_hash_sha256_init(crypto_hash_sha256_state *state) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_hash_sha256_update(crypto_hash_sha256_state *state, - const unsigned char *in, - unsigned long long inlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_hash_sha256_final(crypto_hash_sha256_state *state, - unsigned char *out) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash_sha512.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash_sha512.h deleted file mode 100644 index 8efa719..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_hash_sha512.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef crypto_hash_sha512_H -#define crypto_hash_sha512_H - -/* - * WARNING: Unless you absolutely need to use SHA512 for interoperatibility, - * purposes, you might want to consider crypto_generichash() instead. - * Unlike SHA512, crypto_generichash() is not vulnerable to length - * extension attacks. - */ - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef struct crypto_hash_sha512_state { - uint64_t state[8]; - uint64_t count[2]; - uint8_t buf[128]; -} crypto_hash_sha512_state; - -SODIUM_EXPORT -size_t crypto_hash_sha512_statebytes(void); - -#define crypto_hash_sha512_BYTES 64U -SODIUM_EXPORT -size_t crypto_hash_sha512_bytes(void); - -SODIUM_EXPORT -int crypto_hash_sha512(unsigned char *out, const unsigned char *in, - unsigned long long inlen) __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_hash_sha512_init(crypto_hash_sha512_state *state) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_hash_sha512_update(crypto_hash_sha512_state *state, - const unsigned char *in, - unsigned long long inlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_hash_sha512_final(crypto_hash_sha512_state *state, - unsigned char *out) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kdf.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kdf.h deleted file mode 100644 index ac2fc61..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kdf.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef crypto_kdf_H -#define crypto_kdf_H - -#include -#include - -#include "crypto_kdf_blake2b.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_kdf_BYTES_MIN crypto_kdf_blake2b_BYTES_MIN -SODIUM_EXPORT -size_t crypto_kdf_bytes_min(void); - -#define crypto_kdf_BYTES_MAX crypto_kdf_blake2b_BYTES_MAX -SODIUM_EXPORT -size_t crypto_kdf_bytes_max(void); - -#define crypto_kdf_CONTEXTBYTES crypto_kdf_blake2b_CONTEXTBYTES -SODIUM_EXPORT -size_t crypto_kdf_contextbytes(void); - -#define crypto_kdf_KEYBYTES crypto_kdf_blake2b_KEYBYTES -SODIUM_EXPORT -size_t crypto_kdf_keybytes(void); - -#define crypto_kdf_PRIMITIVE "blake2b" -SODIUM_EXPORT -const char *crypto_kdf_primitive(void) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_kdf_derive_from_key(unsigned char *subkey, size_t subkey_len, - uint64_t subkey_id, - const char ctx[crypto_kdf_CONTEXTBYTES], - const unsigned char key[crypto_kdf_KEYBYTES]) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_kdf_keygen(unsigned char k[crypto_kdf_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kdf_blake2b.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kdf_blake2b.h deleted file mode 100644 index 3ae47dd..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kdf_blake2b.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef crypto_kdf_blake2b_H -#define crypto_kdf_blake2b_H - -#include -#include - -#include "crypto_kdf_blake2b.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_kdf_blake2b_BYTES_MIN 16 -SODIUM_EXPORT -size_t crypto_kdf_blake2b_bytes_min(void); - -#define crypto_kdf_blake2b_BYTES_MAX 64 -SODIUM_EXPORT -size_t crypto_kdf_blake2b_bytes_max(void); - -#define crypto_kdf_blake2b_CONTEXTBYTES 8 -SODIUM_EXPORT -size_t crypto_kdf_blake2b_contextbytes(void); - -#define crypto_kdf_blake2b_KEYBYTES 32 -SODIUM_EXPORT -size_t crypto_kdf_blake2b_keybytes(void); - -SODIUM_EXPORT -int crypto_kdf_blake2b_derive_from_key(unsigned char *subkey, size_t subkey_len, - uint64_t subkey_id, - const char ctx[crypto_kdf_blake2b_CONTEXTBYTES], - const unsigned char key[crypto_kdf_blake2b_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kx.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kx.h deleted file mode 100644 index 347132c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_kx.h +++ /dev/null @@ -1,66 +0,0 @@ -#ifndef crypto_kx_H -#define crypto_kx_H - -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_kx_PUBLICKEYBYTES 32 -SODIUM_EXPORT -size_t crypto_kx_publickeybytes(void); - -#define crypto_kx_SECRETKEYBYTES 32 -SODIUM_EXPORT -size_t crypto_kx_secretkeybytes(void); - -#define crypto_kx_SEEDBYTES 32 -SODIUM_EXPORT -size_t crypto_kx_seedbytes(void); - -#define crypto_kx_SESSIONKEYBYTES 32 -SODIUM_EXPORT -size_t crypto_kx_sessionkeybytes(void); - -#define crypto_kx_PRIMITIVE "x25519blake2b" -SODIUM_EXPORT -const char *crypto_kx_primitive(void); - -SODIUM_EXPORT -int crypto_kx_seed_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], - unsigned char sk[crypto_kx_SECRETKEYBYTES], - const unsigned char seed[crypto_kx_SEEDBYTES]) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], - unsigned char sk[crypto_kx_SECRETKEYBYTES]) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], - unsigned char tx[crypto_kx_SESSIONKEYBYTES], - const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES], - const unsigned char client_sk[crypto_kx_SECRETKEYBYTES], - const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES]) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 4, 5))); - -SODIUM_EXPORT -int crypto_kx_server_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], - unsigned char tx[crypto_kx_SESSIONKEYBYTES], - const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES], - const unsigned char server_sk[crypto_kx_SECRETKEYBYTES], - const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES]) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 4, 5))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_onetimeauth.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_onetimeauth.h deleted file mode 100644 index 7cd7b07..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_onetimeauth.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef crypto_onetimeauth_H -#define crypto_onetimeauth_H - -#include - -#include "crypto_onetimeauth_poly1305.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef crypto_onetimeauth_poly1305_state crypto_onetimeauth_state; - -SODIUM_EXPORT -size_t crypto_onetimeauth_statebytes(void); - -#define crypto_onetimeauth_BYTES crypto_onetimeauth_poly1305_BYTES -SODIUM_EXPORT -size_t crypto_onetimeauth_bytes(void); - -#define crypto_onetimeauth_KEYBYTES crypto_onetimeauth_poly1305_KEYBYTES -SODIUM_EXPORT -size_t crypto_onetimeauth_keybytes(void); - -#define crypto_onetimeauth_PRIMITIVE "poly1305" -SODIUM_EXPORT -const char *crypto_onetimeauth_primitive(void); - -SODIUM_EXPORT -int crypto_onetimeauth(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) - __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_onetimeauth_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_onetimeauth_init(crypto_onetimeauth_state *state, - const unsigned char *key) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_onetimeauth_update(crypto_onetimeauth_state *state, - const unsigned char *in, - unsigned long long inlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_onetimeauth_final(crypto_onetimeauth_state *state, - unsigned char *out) __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_onetimeauth_keygen(unsigned char k[crypto_onetimeauth_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h deleted file mode 100644 index f3e34d8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef crypto_onetimeauth_poly1305_H -#define crypto_onetimeauth_poly1305_H - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#include -#include -#include - -#include - -#include "export.h" - -typedef struct CRYPTO_ALIGN(16) crypto_onetimeauth_poly1305_state { - unsigned char opaque[256]; -} crypto_onetimeauth_poly1305_state; - -SODIUM_EXPORT -size_t crypto_onetimeauth_poly1305_statebytes(void); - -#define crypto_onetimeauth_poly1305_BYTES 16U -SODIUM_EXPORT -size_t crypto_onetimeauth_poly1305_bytes(void); - -#define crypto_onetimeauth_poly1305_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_onetimeauth_poly1305_keybytes(void); - -SODIUM_EXPORT -int crypto_onetimeauth_poly1305(unsigned char *out, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) - __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_onetimeauth_poly1305_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_onetimeauth_poly1305_init(crypto_onetimeauth_poly1305_state *state, - const unsigned char *key) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_onetimeauth_poly1305_update(crypto_onetimeauth_poly1305_state *state, - const unsigned char *in, - unsigned long long inlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_onetimeauth_poly1305_final(crypto_onetimeauth_poly1305_state *state, - unsigned char *out) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_onetimeauth_poly1305_keygen(unsigned char k[crypto_onetimeauth_poly1305_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash.h deleted file mode 100644 index 585a993..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash.h +++ /dev/null @@ -1,147 +0,0 @@ -#ifndef crypto_pwhash_H -#define crypto_pwhash_H - -#include - -#include "crypto_pwhash_argon2i.h" -#include "crypto_pwhash_argon2id.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_pwhash_ALG_ARGON2I13 crypto_pwhash_argon2i_ALG_ARGON2I13 -SODIUM_EXPORT -int crypto_pwhash_alg_argon2i13(void); - -#define crypto_pwhash_ALG_ARGON2ID13 crypto_pwhash_argon2id_ALG_ARGON2ID13 -SODIUM_EXPORT -int crypto_pwhash_alg_argon2id13(void); - -#define crypto_pwhash_ALG_DEFAULT crypto_pwhash_ALG_ARGON2ID13 -SODIUM_EXPORT -int crypto_pwhash_alg_default(void); - -#define crypto_pwhash_BYTES_MIN crypto_pwhash_argon2id_BYTES_MIN -SODIUM_EXPORT -size_t crypto_pwhash_bytes_min(void); - -#define crypto_pwhash_BYTES_MAX crypto_pwhash_argon2id_BYTES_MAX -SODIUM_EXPORT -size_t crypto_pwhash_bytes_max(void); - -#define crypto_pwhash_PASSWD_MIN crypto_pwhash_argon2id_PASSWD_MIN -SODIUM_EXPORT -size_t crypto_pwhash_passwd_min(void); - -#define crypto_pwhash_PASSWD_MAX crypto_pwhash_argon2id_PASSWD_MAX -SODIUM_EXPORT -size_t crypto_pwhash_passwd_max(void); - -#define crypto_pwhash_SALTBYTES crypto_pwhash_argon2id_SALTBYTES -SODIUM_EXPORT -size_t crypto_pwhash_saltbytes(void); - -#define crypto_pwhash_STRBYTES crypto_pwhash_argon2id_STRBYTES -SODIUM_EXPORT -size_t crypto_pwhash_strbytes(void); - -#define crypto_pwhash_STRPREFIX crypto_pwhash_argon2id_STRPREFIX -SODIUM_EXPORT -const char *crypto_pwhash_strprefix(void); - -#define crypto_pwhash_OPSLIMIT_MIN crypto_pwhash_argon2id_OPSLIMIT_MIN -SODIUM_EXPORT -size_t crypto_pwhash_opslimit_min(void); - -#define crypto_pwhash_OPSLIMIT_MAX crypto_pwhash_argon2id_OPSLIMIT_MAX -SODIUM_EXPORT -size_t crypto_pwhash_opslimit_max(void); - -#define crypto_pwhash_MEMLIMIT_MIN crypto_pwhash_argon2id_MEMLIMIT_MIN -SODIUM_EXPORT -size_t crypto_pwhash_memlimit_min(void); - -#define crypto_pwhash_MEMLIMIT_MAX crypto_pwhash_argon2id_MEMLIMIT_MAX -SODIUM_EXPORT -size_t crypto_pwhash_memlimit_max(void); - -#define crypto_pwhash_OPSLIMIT_INTERACTIVE crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE -SODIUM_EXPORT -size_t crypto_pwhash_opslimit_interactive(void); - -#define crypto_pwhash_MEMLIMIT_INTERACTIVE crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE -SODIUM_EXPORT -size_t crypto_pwhash_memlimit_interactive(void); - -#define crypto_pwhash_OPSLIMIT_MODERATE crypto_pwhash_argon2id_OPSLIMIT_MODERATE -SODIUM_EXPORT -size_t crypto_pwhash_opslimit_moderate(void); - -#define crypto_pwhash_MEMLIMIT_MODERATE crypto_pwhash_argon2id_MEMLIMIT_MODERATE -SODIUM_EXPORT -size_t crypto_pwhash_memlimit_moderate(void); - -#define crypto_pwhash_OPSLIMIT_SENSITIVE crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE -SODIUM_EXPORT -size_t crypto_pwhash_opslimit_sensitive(void); - -#define crypto_pwhash_MEMLIMIT_SENSITIVE crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE -SODIUM_EXPORT -size_t crypto_pwhash_memlimit_sensitive(void); - -/* - * With this function, do not forget to store all parameters, including the - * algorithm identifier in order to produce deterministic output. - * The crypto_pwhash_* definitions, including crypto_pwhash_ALG_DEFAULT, - * may change. - */ -SODIUM_EXPORT -int crypto_pwhash(unsigned char * const out, unsigned long long outlen, - const char * const passwd, unsigned long long passwdlen, - const unsigned char * const salt, - unsigned long long opslimit, size_t memlimit, int alg) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -/* - * The output string already includes all the required parameters, including - * the algorithm identifier. The string is all that has to be stored in - * order to verify a password. - */ -SODIUM_EXPORT -int crypto_pwhash_str(char out[crypto_pwhash_STRBYTES], - const char * const passwd, unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_str_alg(char out[crypto_pwhash_STRBYTES], - const char * const passwd, unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit, int alg) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_str_verify(const char str[crypto_pwhash_STRBYTES], - const char * const passwd, - unsigned long long passwdlen) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_str_needs_rehash(const char str[crypto_pwhash_STRBYTES], - unsigned long long opslimit, size_t memlimit) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -#define crypto_pwhash_PRIMITIVE "argon2i" -SODIUM_EXPORT -const char *crypto_pwhash_primitive(void) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_argon2i.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_argon2i.h deleted file mode 100644 index 88ff622..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_argon2i.h +++ /dev/null @@ -1,122 +0,0 @@ -#ifndef crypto_pwhash_argon2i_H -#define crypto_pwhash_argon2i_H - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_pwhash_argon2i_ALG_ARGON2I13 1 -SODIUM_EXPORT -int crypto_pwhash_argon2i_alg_argon2i13(void); - -#define crypto_pwhash_argon2i_BYTES_MIN 16U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_bytes_min(void); - -#define crypto_pwhash_argon2i_BYTES_MAX SODIUM_MIN(SODIUM_SIZE_MAX, 4294967295U) -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_bytes_max(void); - -#define crypto_pwhash_argon2i_PASSWD_MIN 0U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_passwd_min(void); - -#define crypto_pwhash_argon2i_PASSWD_MAX 4294967295U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_passwd_max(void); - -#define crypto_pwhash_argon2i_SALTBYTES 16U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_saltbytes(void); - -#define crypto_pwhash_argon2i_STRBYTES 128U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_strbytes(void); - -#define crypto_pwhash_argon2i_STRPREFIX "$argon2i$" -SODIUM_EXPORT -const char *crypto_pwhash_argon2i_strprefix(void); - -#define crypto_pwhash_argon2i_OPSLIMIT_MIN 3U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_opslimit_min(void); - -#define crypto_pwhash_argon2i_OPSLIMIT_MAX 4294967295U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_opslimit_max(void); - -#define crypto_pwhash_argon2i_MEMLIMIT_MIN 8192U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_memlimit_min(void); - -#define crypto_pwhash_argon2i_MEMLIMIT_MAX \ - ((SIZE_MAX >= 4398046510080U) ? 4398046510080U : (SIZE_MAX >= 2147483648U) ? 2147483648U : 32768U) -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_memlimit_max(void); - -#define crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE 4U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_opslimit_interactive(void); - -#define crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE 33554432U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_memlimit_interactive(void); - -#define crypto_pwhash_argon2i_OPSLIMIT_MODERATE 6U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_opslimit_moderate(void); - -#define crypto_pwhash_argon2i_MEMLIMIT_MODERATE 134217728U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_memlimit_moderate(void); - -#define crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE 8U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_opslimit_sensitive(void); - -#define crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE 536870912U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_memlimit_sensitive(void); - -SODIUM_EXPORT -int crypto_pwhash_argon2i(unsigned char * const out, - unsigned long long outlen, - const char * const passwd, - unsigned long long passwdlen, - const unsigned char * const salt, - unsigned long long opslimit, size_t memlimit, - int alg) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_argon2i_str(char out[crypto_pwhash_argon2i_STRBYTES], - const char * const passwd, - unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_argon2i_str_verify(const char str[crypto_pwhash_argon2i_STRBYTES], - const char * const passwd, - unsigned long long passwdlen) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_argon2i_str_needs_rehash(const char str[crypto_pwhash_argon2i_STRBYTES], - unsigned long long opslimit, size_t memlimit) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_argon2id.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_argon2id.h deleted file mode 100644 index 7183abd..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_argon2id.h +++ /dev/null @@ -1,122 +0,0 @@ -#ifndef crypto_pwhash_argon2id_H -#define crypto_pwhash_argon2id_H - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_pwhash_argon2id_ALG_ARGON2ID13 2 -SODIUM_EXPORT -int crypto_pwhash_argon2id_alg_argon2id13(void); - -#define crypto_pwhash_argon2id_BYTES_MIN 16U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_bytes_min(void); - -#define crypto_pwhash_argon2id_BYTES_MAX SODIUM_MIN(SODIUM_SIZE_MAX, 4294967295U) -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_bytes_max(void); - -#define crypto_pwhash_argon2id_PASSWD_MIN 0U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_passwd_min(void); - -#define crypto_pwhash_argon2id_PASSWD_MAX 4294967295U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_passwd_max(void); - -#define crypto_pwhash_argon2id_SALTBYTES 16U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_saltbytes(void); - -#define crypto_pwhash_argon2id_STRBYTES 128U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_strbytes(void); - -#define crypto_pwhash_argon2id_STRPREFIX "$argon2id$" -SODIUM_EXPORT -const char *crypto_pwhash_argon2id_strprefix(void); - -#define crypto_pwhash_argon2id_OPSLIMIT_MIN 1U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_opslimit_min(void); - -#define crypto_pwhash_argon2id_OPSLIMIT_MAX 4294967295U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_opslimit_max(void); - -#define crypto_pwhash_argon2id_MEMLIMIT_MIN 8192U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_memlimit_min(void); - -#define crypto_pwhash_argon2id_MEMLIMIT_MAX \ - ((SIZE_MAX >= 4398046510080U) ? 4398046510080U : (SIZE_MAX >= 2147483648U) ? 2147483648U : 32768U) -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_memlimit_max(void); - -#define crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE 2U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_opslimit_interactive(void); - -#define crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE 67108864U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_memlimit_interactive(void); - -#define crypto_pwhash_argon2id_OPSLIMIT_MODERATE 3U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_opslimit_moderate(void); - -#define crypto_pwhash_argon2id_MEMLIMIT_MODERATE 268435456U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_memlimit_moderate(void); - -#define crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE 4U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_opslimit_sensitive(void); - -#define crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE 1073741824U -SODIUM_EXPORT -size_t crypto_pwhash_argon2id_memlimit_sensitive(void); - -SODIUM_EXPORT -int crypto_pwhash_argon2id(unsigned char * const out, - unsigned long long outlen, - const char * const passwd, - unsigned long long passwdlen, - const unsigned char * const salt, - unsigned long long opslimit, size_t memlimit, - int alg) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_argon2id_str(char out[crypto_pwhash_argon2id_STRBYTES], - const char * const passwd, - unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_argon2id_str_verify(const char str[crypto_pwhash_argon2id_STRBYTES], - const char * const passwd, - unsigned long long passwdlen) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_argon2id_str_needs_rehash(const char str[crypto_pwhash_argon2id_STRBYTES], - unsigned long long opslimit, size_t memlimit) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h deleted file mode 100644 index 5c0bf7d..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +++ /dev/null @@ -1,120 +0,0 @@ -#ifndef crypto_pwhash_scryptsalsa208sha256_H -#define crypto_pwhash_scryptsalsa208sha256_H - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_pwhash_scryptsalsa208sha256_BYTES_MIN 16U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_bytes_min(void); - -#define crypto_pwhash_scryptsalsa208sha256_BYTES_MAX \ - SODIUM_MIN(SODIUM_SIZE_MAX, 0x1fffffffe0ULL) -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_bytes_max(void); - -#define crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN 0U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_passwd_min(void); - -#define crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX SODIUM_SIZE_MAX -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_passwd_max(void); - -#define crypto_pwhash_scryptsalsa208sha256_SALTBYTES 32U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_saltbytes(void); - -#define crypto_pwhash_scryptsalsa208sha256_STRBYTES 102U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_strbytes(void); - -#define crypto_pwhash_scryptsalsa208sha256_STRPREFIX "$7$" -SODIUM_EXPORT -const char *crypto_pwhash_scryptsalsa208sha256_strprefix(void); - -#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN 32768U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_opslimit_min(void); - -#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX 4294967295U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_opslimit_max(void); - -#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN 16777216U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_memlimit_min(void); - -#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX \ - SODIUM_MIN(SIZE_MAX, 68719476736ULL) -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_memlimit_max(void); - -#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE 524288U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_opslimit_interactive(void); - -#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE 16777216U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_memlimit_interactive(void); - -#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE 33554432U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive(void); - -#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE 1073741824U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive(void); - -SODIUM_EXPORT -int crypto_pwhash_scryptsalsa208sha256(unsigned char * const out, - unsigned long long outlen, - const char * const passwd, - unsigned long long passwdlen, - const unsigned char * const salt, - unsigned long long opslimit, - size_t memlimit) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_scryptsalsa208sha256_str(char out[crypto_pwhash_scryptsalsa208sha256_STRBYTES], - const char * const passwd, - unsigned long long passwdlen, - unsigned long long opslimit, - size_t memlimit) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_scryptsalsa208sha256_str_verify(const char str[crypto_pwhash_scryptsalsa208sha256_STRBYTES], - const char * const passwd, - unsigned long long passwdlen) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_scryptsalsa208sha256_ll(const uint8_t * passwd, size_t passwdlen, - const uint8_t * salt, size_t saltlen, - uint64_t N, uint32_t r, uint32_t p, - uint8_t * buf, size_t buflen) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_pwhash_scryptsalsa208sha256_str_needs_rehash(const char str[crypto_pwhash_scryptsalsa208sha256_STRBYTES], - unsigned long long opslimit, - size_t memlimit) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult.h deleted file mode 100644 index 1c68585..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef crypto_scalarmult_H -#define crypto_scalarmult_H - -#include - -#include "crypto_scalarmult_curve25519.h" -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_scalarmult_BYTES crypto_scalarmult_curve25519_BYTES -SODIUM_EXPORT -size_t crypto_scalarmult_bytes(void); - -#define crypto_scalarmult_SCALARBYTES crypto_scalarmult_curve25519_SCALARBYTES -SODIUM_EXPORT -size_t crypto_scalarmult_scalarbytes(void); - -#define crypto_scalarmult_PRIMITIVE "curve25519" -SODIUM_EXPORT -const char *crypto_scalarmult_primitive(void); - -SODIUM_EXPORT -int crypto_scalarmult_base(unsigned char *q, const unsigned char *n) - __attribute__ ((nonnull)); - -/* - * NOTE: Do not use the result of this function directly for key exchange. - * - * Hash the result with the public keys in order to compute a shared - * secret key: H(q || client_pk || server_pk) - * - * Or unless this is not an option, use the crypto_kx() API instead. - */ -SODIUM_EXPORT -int crypto_scalarmult(unsigned char *q, const unsigned char *n, - const unsigned char *p) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h deleted file mode 100644 index 60e9d0c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef crypto_scalarmult_curve25519_H -#define crypto_scalarmult_curve25519_H - -#include - -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_scalarmult_curve25519_BYTES 32U -SODIUM_EXPORT -size_t crypto_scalarmult_curve25519_bytes(void); - -#define crypto_scalarmult_curve25519_SCALARBYTES 32U -SODIUM_EXPORT -size_t crypto_scalarmult_curve25519_scalarbytes(void); - -/* - * NOTE: Do not use the result of this function directly for key exchange. - * - * Hash the result with the public keys in order to compute a shared - * secret key: H(q || client_pk || server_pk) - * - * Or unless this is not an option, use the crypto_kx() API instead. - */ -SODIUM_EXPORT -int crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n, - const unsigned char *p) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_scalarmult_curve25519_base(unsigned char *q, - const unsigned char *n) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h deleted file mode 100644 index 2dfa4d7..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h +++ /dev/null @@ -1,51 +0,0 @@ - -#ifndef crypto_scalarmult_ed25519_H -#define crypto_scalarmult_ed25519_H - -#include - -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_scalarmult_ed25519_BYTES 32U -SODIUM_EXPORT -size_t crypto_scalarmult_ed25519_bytes(void); - -#define crypto_scalarmult_ed25519_SCALARBYTES 32U -SODIUM_EXPORT -size_t crypto_scalarmult_ed25519_scalarbytes(void); - -/* - * NOTE: Do not use the result of this function directly for key exchange. - * - * Hash the result with the public keys in order to compute a shared - * secret key: H(q || client_pk || server_pk) - * - * Or unless this is not an option, use the crypto_kx() API instead. - */ -SODIUM_EXPORT -int crypto_scalarmult_ed25519(unsigned char *q, const unsigned char *n, - const unsigned char *p) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_scalarmult_ed25519_noclamp(unsigned char *q, const unsigned char *n, - const unsigned char *p) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_scalarmult_ed25519_base(unsigned char *q, const unsigned char *n) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_scalarmult_ed25519_base_noclamp(unsigned char *q, const unsigned char *n) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_ristretto255.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_ristretto255.h deleted file mode 100644 index 40a45cc..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_scalarmult_ristretto255.h +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef crypto_scalarmult_ristretto255_H -#define crypto_scalarmult_ristretto255_H - -#include - -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_scalarmult_ristretto255_BYTES 32U -SODIUM_EXPORT -size_t crypto_scalarmult_ristretto255_bytes(void); - -#define crypto_scalarmult_ristretto255_SCALARBYTES 32U -SODIUM_EXPORT -size_t crypto_scalarmult_ristretto255_scalarbytes(void); - -/* - * NOTE: Do not use the result of this function directly for key exchange. - * - * Hash the result with the public keys in order to compute a shared - * secret key: H(q || client_pk || server_pk) - * - * Or unless this is not an option, use the crypto_kx() API instead. - */ -SODIUM_EXPORT -int crypto_scalarmult_ristretto255(unsigned char *q, const unsigned char *n, - const unsigned char *p) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_scalarmult_ristretto255_base(unsigned char *q, - const unsigned char *n) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox.h deleted file mode 100644 index 1d3709d..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef crypto_secretbox_H -#define crypto_secretbox_H - -#include - -#include "crypto_secretbox_xsalsa20poly1305.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_secretbox_KEYBYTES crypto_secretbox_xsalsa20poly1305_KEYBYTES -SODIUM_EXPORT -size_t crypto_secretbox_keybytes(void); - -#define crypto_secretbox_NONCEBYTES crypto_secretbox_xsalsa20poly1305_NONCEBYTES -SODIUM_EXPORT -size_t crypto_secretbox_noncebytes(void); - -#define crypto_secretbox_MACBYTES crypto_secretbox_xsalsa20poly1305_MACBYTES -SODIUM_EXPORT -size_t crypto_secretbox_macbytes(void); - -#define crypto_secretbox_PRIMITIVE "xsalsa20poly1305" -SODIUM_EXPORT -const char *crypto_secretbox_primitive(void); - -#define crypto_secretbox_MESSAGEBYTES_MAX crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX -SODIUM_EXPORT -size_t crypto_secretbox_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_secretbox_easy(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) __attribute__ ((nonnull(1, 4, 5))); - -SODIUM_EXPORT -int crypto_secretbox_open_easy(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5))); - -SODIUM_EXPORT -int crypto_secretbox_detached(unsigned char *c, unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull(1, 2, 5, 6))); - -SODIUM_EXPORT -int crypto_secretbox_open_detached(unsigned char *m, - const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 3, 5, 6))); - -SODIUM_EXPORT -void crypto_secretbox_keygen(unsigned char k[crypto_secretbox_KEYBYTES]) - __attribute__ ((nonnull)); - -/* -- NaCl compatibility interface ; Requires padding -- */ - -#define crypto_secretbox_ZEROBYTES crypto_secretbox_xsalsa20poly1305_ZEROBYTES -SODIUM_EXPORT -size_t crypto_secretbox_zerobytes(void); - -#define crypto_secretbox_BOXZEROBYTES crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES -SODIUM_EXPORT -size_t crypto_secretbox_boxzerobytes(void); - -SODIUM_EXPORT -int crypto_secretbox(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) __attribute__ ((nonnull(1, 4, 5))); - -SODIUM_EXPORT -int crypto_secretbox_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h deleted file mode 100644 index 6ec674e..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef crypto_secretbox_xchacha20poly1305_H -#define crypto_secretbox_xchacha20poly1305_H - -#include -#include "crypto_stream_xchacha20.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_secretbox_xchacha20poly1305_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_secretbox_xchacha20poly1305_keybytes(void); - -#define crypto_secretbox_xchacha20poly1305_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_secretbox_xchacha20poly1305_noncebytes(void); - -#define crypto_secretbox_xchacha20poly1305_MACBYTES 16U -SODIUM_EXPORT -size_t crypto_secretbox_xchacha20poly1305_macbytes(void); - -#define crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX \ - (crypto_stream_xchacha20_MESSAGEBYTES_MAX - crypto_secretbox_xchacha20poly1305_MACBYTES) -SODIUM_EXPORT -size_t crypto_secretbox_xchacha20poly1305_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_secretbox_xchacha20poly1305_easy(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull(1, 4, 5))); - -SODIUM_EXPORT -int crypto_secretbox_xchacha20poly1305_open_easy(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5))); - -SODIUM_EXPORT -int crypto_secretbox_xchacha20poly1305_detached(unsigned char *c, - unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull(1, 2, 5, 6))); - -SODIUM_EXPORT -int crypto_secretbox_xchacha20poly1305_open_detached(unsigned char *m, - const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 3, 5, 6))); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h deleted file mode 100644 index be0874c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef crypto_secretbox_xsalsa20poly1305_H -#define crypto_secretbox_xsalsa20poly1305_H - -#include -#include "crypto_stream_xsalsa20.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_secretbox_xsalsa20poly1305_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_keybytes(void); - -#define crypto_secretbox_xsalsa20poly1305_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_noncebytes(void); - -#define crypto_secretbox_xsalsa20poly1305_MACBYTES 16U -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_macbytes(void); - -/* Only for the libsodium API - The NaCl compatibility API would require BOXZEROBYTES extra bytes */ -#define crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX \ - (crypto_stream_xsalsa20_MESSAGEBYTES_MAX - crypto_secretbox_xsalsa20poly1305_MACBYTES) -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_secretbox_xsalsa20poly1305(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull(1, 4, 5))); - -SODIUM_EXPORT -int crypto_secretbox_xsalsa20poly1305_open(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(2, 4, 5))); - -SODIUM_EXPORT -void crypto_secretbox_xsalsa20poly1305_keygen(unsigned char k[crypto_secretbox_xsalsa20poly1305_KEYBYTES]) - __attribute__ ((nonnull)); - -/* -- NaCl compatibility interface ; Requires padding -- */ - -#define crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES 16U -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_boxzerobytes(void); - -#define crypto_secretbox_xsalsa20poly1305_ZEROBYTES \ - (crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES + \ - crypto_secretbox_xsalsa20poly1305_MACBYTES) -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_zerobytes(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h deleted file mode 100644 index b22e4e9..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h +++ /dev/null @@ -1,108 +0,0 @@ -#ifndef crypto_secretstream_xchacha20poly1305_H -#define crypto_secretstream_xchacha20poly1305_H - -#include - -#include "crypto_aead_xchacha20poly1305.h" -#include "crypto_stream_chacha20.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_secretstream_xchacha20poly1305_ABYTES \ - (1U + crypto_aead_xchacha20poly1305_ietf_ABYTES) -SODIUM_EXPORT -size_t crypto_secretstream_xchacha20poly1305_abytes(void); - -#define crypto_secretstream_xchacha20poly1305_HEADERBYTES \ - crypto_aead_xchacha20poly1305_ietf_NPUBBYTES -SODIUM_EXPORT -size_t crypto_secretstream_xchacha20poly1305_headerbytes(void); - -#define crypto_secretstream_xchacha20poly1305_KEYBYTES \ - crypto_aead_xchacha20poly1305_ietf_KEYBYTES -SODIUM_EXPORT -size_t crypto_secretstream_xchacha20poly1305_keybytes(void); - -#define crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX \ - SODIUM_MIN(SODIUM_SIZE_MAX - crypto_secretstream_xchacha20poly1305_ABYTES, \ - (64ULL * ((1ULL << 32) - 2ULL))) -SODIUM_EXPORT -size_t crypto_secretstream_xchacha20poly1305_messagebytes_max(void); - -#define crypto_secretstream_xchacha20poly1305_TAG_MESSAGE 0x00 -SODIUM_EXPORT -unsigned char crypto_secretstream_xchacha20poly1305_tag_message(void); - -#define crypto_secretstream_xchacha20poly1305_TAG_PUSH 0x01 -SODIUM_EXPORT -unsigned char crypto_secretstream_xchacha20poly1305_tag_push(void); - -#define crypto_secretstream_xchacha20poly1305_TAG_REKEY 0x02 -SODIUM_EXPORT -unsigned char crypto_secretstream_xchacha20poly1305_tag_rekey(void); - -#define crypto_secretstream_xchacha20poly1305_TAG_FINAL \ - (crypto_secretstream_xchacha20poly1305_TAG_PUSH | \ - crypto_secretstream_xchacha20poly1305_TAG_REKEY) -SODIUM_EXPORT -unsigned char crypto_secretstream_xchacha20poly1305_tag_final(void); - -typedef struct crypto_secretstream_xchacha20poly1305_state { - unsigned char k[crypto_stream_chacha20_ietf_KEYBYTES]; - unsigned char nonce[crypto_stream_chacha20_ietf_NONCEBYTES]; - unsigned char _pad[8]; -} crypto_secretstream_xchacha20poly1305_state; - -SODIUM_EXPORT -size_t crypto_secretstream_xchacha20poly1305_statebytes(void); - -SODIUM_EXPORT -void crypto_secretstream_xchacha20poly1305_keygen - (unsigned char k[crypto_secretstream_xchacha20poly1305_KEYBYTES]) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_secretstream_xchacha20poly1305_init_push - (crypto_secretstream_xchacha20poly1305_state *state, - unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES], - const unsigned char k[crypto_secretstream_xchacha20poly1305_KEYBYTES]) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_secretstream_xchacha20poly1305_push - (crypto_secretstream_xchacha20poly1305_state *state, - unsigned char *c, unsigned long long *clen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, unsigned char tag) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_secretstream_xchacha20poly1305_init_pull - (crypto_secretstream_xchacha20poly1305_state *state, - const unsigned char header[crypto_secretstream_xchacha20poly1305_HEADERBYTES], - const unsigned char k[crypto_secretstream_xchacha20poly1305_KEYBYTES]) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_secretstream_xchacha20poly1305_pull - (crypto_secretstream_xchacha20poly1305_state *state, - unsigned char *m, unsigned long long *mlen_p, unsigned char *tag_p, - const unsigned char *c, unsigned long long clen, - const unsigned char *ad, unsigned long long adlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -void crypto_secretstream_xchacha20poly1305_rekey - (crypto_secretstream_xchacha20poly1305_state *state); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_shorthash.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_shorthash.h deleted file mode 100644 index fecaa88..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_shorthash.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef crypto_shorthash_H -#define crypto_shorthash_H - -#include - -#include "crypto_shorthash_siphash24.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_shorthash_BYTES crypto_shorthash_siphash24_BYTES -SODIUM_EXPORT -size_t crypto_shorthash_bytes(void); - -#define crypto_shorthash_KEYBYTES crypto_shorthash_siphash24_KEYBYTES -SODIUM_EXPORT -size_t crypto_shorthash_keybytes(void); - -#define crypto_shorthash_PRIMITIVE "siphash24" -SODIUM_EXPORT -const char *crypto_shorthash_primitive(void); - -SODIUM_EXPORT -int crypto_shorthash(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) - __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -void crypto_shorthash_keygen(unsigned char k[crypto_shorthash_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_shorthash_siphash24.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_shorthash_siphash24.h deleted file mode 100644 index 1e6f72a..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef crypto_shorthash_siphash24_H -#define crypto_shorthash_siphash24_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -/* -- 64-bit output -- */ - -#define crypto_shorthash_siphash24_BYTES 8U -SODIUM_EXPORT -size_t crypto_shorthash_siphash24_bytes(void); - -#define crypto_shorthash_siphash24_KEYBYTES 16U -SODIUM_EXPORT -size_t crypto_shorthash_siphash24_keybytes(void); - -SODIUM_EXPORT -int crypto_shorthash_siphash24(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) - __attribute__ ((nonnull(1, 4))); - -#ifndef SODIUM_LIBRARY_MINIMAL -/* -- 128-bit output -- */ - -#define crypto_shorthash_siphashx24_BYTES 16U -SODIUM_EXPORT -size_t crypto_shorthash_siphashx24_bytes(void); - -#define crypto_shorthash_siphashx24_KEYBYTES 16U -SODIUM_EXPORT -size_t crypto_shorthash_siphashx24_keybytes(void); - -SODIUM_EXPORT -int crypto_shorthash_siphashx24(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) - __attribute__ ((nonnull(1, 4))); -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign.h deleted file mode 100644 index f5fafb1..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef crypto_sign_H -#define crypto_sign_H - -/* - * THREAD SAFETY: crypto_sign_keypair() is thread-safe, - * provided that sodium_init() was called before. - * - * Other functions, including crypto_sign_seed_keypair() are always thread-safe. - */ - -#include - -#include "crypto_sign_ed25519.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef crypto_sign_ed25519ph_state crypto_sign_state; - -SODIUM_EXPORT -size_t crypto_sign_statebytes(void); - -#define crypto_sign_BYTES crypto_sign_ed25519_BYTES -SODIUM_EXPORT -size_t crypto_sign_bytes(void); - -#define crypto_sign_SEEDBYTES crypto_sign_ed25519_SEEDBYTES -SODIUM_EXPORT -size_t crypto_sign_seedbytes(void); - -#define crypto_sign_PUBLICKEYBYTES crypto_sign_ed25519_PUBLICKEYBYTES -SODIUM_EXPORT -size_t crypto_sign_publickeybytes(void); - -#define crypto_sign_SECRETKEYBYTES crypto_sign_ed25519_SECRETKEYBYTES -SODIUM_EXPORT -size_t crypto_sign_secretkeybytes(void); - -#define crypto_sign_MESSAGEBYTES_MAX crypto_sign_ed25519_MESSAGEBYTES_MAX -SODIUM_EXPORT -size_t crypto_sign_messagebytes_max(void); - -#define crypto_sign_PRIMITIVE "ed25519" -SODIUM_EXPORT -const char *crypto_sign_primitive(void); - -SODIUM_EXPORT -int crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_sign_keypair(unsigned char *pk, unsigned char *sk) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_sign(unsigned char *sm, unsigned long long *smlen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) __attribute__ ((nonnull(1, 5))); - -SODIUM_EXPORT -int crypto_sign_open(unsigned char *m, unsigned long long *mlen_p, - const unsigned char *sm, unsigned long long smlen, - const unsigned char *pk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 5))); - -SODIUM_EXPORT -int crypto_sign_detached(unsigned char *sig, unsigned long long *siglen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) __attribute__ ((nonnull(1, 5))); - -SODIUM_EXPORT -int crypto_sign_verify_detached(const unsigned char *sig, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_sign_init(crypto_sign_state *state); - -SODIUM_EXPORT -int crypto_sign_update(crypto_sign_state *state, - const unsigned char *m, unsigned long long mlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_sign_final_create(crypto_sign_state *state, unsigned char *sig, - unsigned long long *siglen_p, - const unsigned char *sk) - __attribute__ ((nonnull(1, 2, 4))); - -SODIUM_EXPORT -int crypto_sign_final_verify(crypto_sign_state *state, const unsigned char *sig, - const unsigned char *pk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign_ed25519.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign_ed25519.h deleted file mode 100644 index 0fdac42..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign_ed25519.h +++ /dev/null @@ -1,124 +0,0 @@ -#ifndef crypto_sign_ed25519_H -#define crypto_sign_ed25519_H - -#include -#include "crypto_hash_sha512.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef struct crypto_sign_ed25519ph_state { - crypto_hash_sha512_state hs; -} crypto_sign_ed25519ph_state; - -SODIUM_EXPORT -size_t crypto_sign_ed25519ph_statebytes(void); - -#define crypto_sign_ed25519_BYTES 64U -SODIUM_EXPORT -size_t crypto_sign_ed25519_bytes(void); - -#define crypto_sign_ed25519_SEEDBYTES 32U -SODIUM_EXPORT -size_t crypto_sign_ed25519_seedbytes(void); - -#define crypto_sign_ed25519_PUBLICKEYBYTES 32U -SODIUM_EXPORT -size_t crypto_sign_ed25519_publickeybytes(void); - -#define crypto_sign_ed25519_SECRETKEYBYTES (32U + 32U) -SODIUM_EXPORT -size_t crypto_sign_ed25519_secretkeybytes(void); - -#define crypto_sign_ed25519_MESSAGEBYTES_MAX (SODIUM_SIZE_MAX - crypto_sign_ed25519_BYTES) -SODIUM_EXPORT -size_t crypto_sign_ed25519_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_sign_ed25519(unsigned char *sm, unsigned long long *smlen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) - __attribute__ ((nonnull(1, 5))); - -SODIUM_EXPORT -int crypto_sign_ed25519_open(unsigned char *m, unsigned long long *mlen_p, - const unsigned char *sm, unsigned long long smlen, - const unsigned char *pk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(3, 5))); - -SODIUM_EXPORT -int crypto_sign_ed25519_detached(unsigned char *sig, - unsigned long long *siglen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk) - __attribute__ ((nonnull(1, 5))); - -SODIUM_EXPORT -int crypto_sign_ed25519_verify_detached(const unsigned char *sig, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull(1, 4))); - -SODIUM_EXPORT -int crypto_sign_ed25519_keypair(unsigned char *pk, unsigned char *sk) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_sign_ed25519_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_sign_ed25519_pk_to_curve25519(unsigned char *curve25519_pk, - const unsigned char *ed25519_pk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_sign_ed25519_sk_to_curve25519(unsigned char *curve25519_sk, - const unsigned char *ed25519_sk) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_sign_ed25519_sk_to_seed(unsigned char *seed, - const unsigned char *sk) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_sign_ed25519_sk_to_pk(unsigned char *pk, const unsigned char *sk) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_sign_ed25519ph_init(crypto_sign_ed25519ph_state *state) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_sign_ed25519ph_update(crypto_sign_ed25519ph_state *state, - const unsigned char *m, - unsigned long long mlen) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int crypto_sign_ed25519ph_final_create(crypto_sign_ed25519ph_state *state, - unsigned char *sig, - unsigned long long *siglen_p, - const unsigned char *sk) - __attribute__ ((nonnull(1, 2, 4))); - -SODIUM_EXPORT -int crypto_sign_ed25519ph_final_verify(crypto_sign_ed25519ph_state *state, - const unsigned char *sig, - const unsigned char *pk) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h deleted file mode 100644 index eed158a..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef crypto_sign_edwards25519sha512batch_H -#define crypto_sign_edwards25519sha512batch_H - -/* - * WARNING: This construction was a prototype, which should not be used - * any more in new projects. - * - * crypto_sign_edwards25519sha512batch is provided for applications - * initially built with NaCl, but as recommended by the author of this - * construction, new applications should use ed25519 instead. - * - * In Sodium, you should use the high-level crypto_sign_*() functions instead. - */ - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_sign_edwards25519sha512batch_BYTES 64U -#define crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES 32U -#define crypto_sign_edwards25519sha512batch_SECRETKEYBYTES (32U + 32U) -#define crypto_sign_edwards25519sha512batch_MESSAGEBYTES_MAX (SODIUM_SIZE_MAX - crypto_sign_edwards25519sha512batch_BYTES) - -SODIUM_EXPORT -int crypto_sign_edwards25519sha512batch(unsigned char *sm, - unsigned long long *smlen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk) - __attribute__ ((deprecated)) __attribute__ ((nonnull(1, 5))); - -SODIUM_EXPORT -int crypto_sign_edwards25519sha512batch_open(unsigned char *m, - unsigned long long *mlen_p, - const unsigned char *sm, - unsigned long long smlen, - const unsigned char *pk) - __attribute__ ((deprecated)) __attribute__ ((nonnull(3, 5))); - -SODIUM_EXPORT -int crypto_sign_edwards25519sha512batch_keypair(unsigned char *pk, - unsigned char *sk) - __attribute__ ((deprecated)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream.h deleted file mode 100644 index 88dab5f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream.h +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef crypto_stream_H -#define crypto_stream_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include - -#include "crypto_stream_xsalsa20.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_KEYBYTES crypto_stream_xsalsa20_KEYBYTES -SODIUM_EXPORT -size_t crypto_stream_keybytes(void); - -#define crypto_stream_NONCEBYTES crypto_stream_xsalsa20_NONCEBYTES -SODIUM_EXPORT -size_t crypto_stream_noncebytes(void); - -#define crypto_stream_MESSAGEBYTES_MAX crypto_stream_xsalsa20_MESSAGEBYTES_MAX -SODIUM_EXPORT -size_t crypto_stream_messagebytes_max(void); - -#define crypto_stream_PRIMITIVE "xsalsa20" -SODIUM_EXPORT -const char *crypto_stream_primitive(void); - -SODIUM_EXPORT -int crypto_stream(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_stream_keygen(unsigned char k[crypto_stream_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_chacha20.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_chacha20.h deleted file mode 100644 index 4088975..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_chacha20.h +++ /dev/null @@ -1,106 +0,0 @@ -#ifndef crypto_stream_chacha20_H -#define crypto_stream_chacha20_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_chacha20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_chacha20_keybytes(void); - -#define crypto_stream_chacha20_NONCEBYTES 8U -SODIUM_EXPORT -size_t crypto_stream_chacha20_noncebytes(void); - -#define crypto_stream_chacha20_MESSAGEBYTES_MAX SODIUM_SIZE_MAX -SODIUM_EXPORT -size_t crypto_stream_chacha20_messagebytes_max(void); - -/* ChaCha20 with a 64-bit nonce and a 64-bit counter, as originally designed */ - -SODIUM_EXPORT -int crypto_stream_chacha20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_chacha20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_chacha20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_stream_chacha20_keygen(unsigned char k[crypto_stream_chacha20_KEYBYTES]) - __attribute__ ((nonnull)); - -/* ChaCha20 with a 96-bit nonce and a 32-bit counter (IETF) */ - -#define crypto_stream_chacha20_ietf_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_chacha20_ietf_keybytes(void); - -#define crypto_stream_chacha20_ietf_NONCEBYTES 12U -SODIUM_EXPORT -size_t crypto_stream_chacha20_ietf_noncebytes(void); - -#define crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX \ - SODIUM_MIN(SODIUM_SIZE_MAX, 64ULL * (1ULL << 32)) -SODIUM_EXPORT -size_t crypto_stream_chacha20_ietf_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_stream_chacha20_ietf(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_chacha20_ietf_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_chacha20_ietf_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint32_t ic, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_stream_chacha20_ietf_keygen(unsigned char k[crypto_stream_chacha20_ietf_KEYBYTES]) - __attribute__ ((nonnull)); - -/* Aliases */ - -#define crypto_stream_chacha20_IETF_KEYBYTES crypto_stream_chacha20_ietf_KEYBYTES -#define crypto_stream_chacha20_IETF_NONCEBYTES crypto_stream_chacha20_ietf_NONCEBYTES -#define crypto_stream_chacha20_IETF_MESSAGEBYTES_MAX crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa20.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa20.h deleted file mode 100644 index 45b3b3e..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa20.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef crypto_stream_salsa20_H -#define crypto_stream_salsa20_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_salsa20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_salsa20_keybytes(void); - -#define crypto_stream_salsa20_NONCEBYTES 8U -SODIUM_EXPORT -size_t crypto_stream_salsa20_noncebytes(void); - -#define crypto_stream_salsa20_MESSAGEBYTES_MAX SODIUM_SIZE_MAX -SODIUM_EXPORT -size_t crypto_stream_salsa20_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_stream_salsa20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_salsa20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_salsa20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_stream_salsa20_keygen(unsigned char k[crypto_stream_salsa20_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa2012.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa2012.h deleted file mode 100644 index 6c5d303..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa2012.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef crypto_stream_salsa2012_H -#define crypto_stream_salsa2012_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_salsa2012_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_salsa2012_keybytes(void); - -#define crypto_stream_salsa2012_NONCEBYTES 8U -SODIUM_EXPORT -size_t crypto_stream_salsa2012_noncebytes(void); - -#define crypto_stream_salsa2012_MESSAGEBYTES_MAX SODIUM_SIZE_MAX -SODIUM_EXPORT -size_t crypto_stream_salsa2012_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_stream_salsa2012(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_salsa2012_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_stream_salsa2012_keygen(unsigned char k[crypto_stream_salsa2012_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa208.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa208.h deleted file mode 100644 index d574f30..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_salsa208.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef crypto_stream_salsa208_H -#define crypto_stream_salsa208_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_salsa208_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_salsa208_keybytes(void) - __attribute__ ((deprecated)); - -#define crypto_stream_salsa208_NONCEBYTES 8U -SODIUM_EXPORT -size_t crypto_stream_salsa208_noncebytes(void) - __attribute__ ((deprecated)); - -#define crypto_stream_salsa208_MESSAGEBYTES_MAX SODIUM_SIZE_MAX - SODIUM_EXPORT -size_t crypto_stream_salsa208_messagebytes_max(void) - __attribute__ ((deprecated)); - -SODIUM_EXPORT -int crypto_stream_salsa208(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) - __attribute__ ((deprecated)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_salsa208_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((deprecated)) __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_stream_salsa208_keygen(unsigned char k[crypto_stream_salsa208_KEYBYTES]) - __attribute__ ((deprecated)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_xchacha20.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_xchacha20.h deleted file mode 100644 index c4002db..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_xchacha20.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef crypto_stream_xchacha20_H -#define crypto_stream_xchacha20_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_xchacha20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_xchacha20_keybytes(void); - -#define crypto_stream_xchacha20_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_stream_xchacha20_noncebytes(void); - -#define crypto_stream_xchacha20_MESSAGEBYTES_MAX SODIUM_SIZE_MAX -SODIUM_EXPORT -size_t crypto_stream_xchacha20_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_stream_xchacha20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_xchacha20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_xchacha20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_stream_xchacha20_keygen(unsigned char k[crypto_stream_xchacha20_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_xsalsa20.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_xsalsa20.h deleted file mode 100644 index 20034e3..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef crypto_stream_xsalsa20_H -#define crypto_stream_xsalsa20_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_xsalsa20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_xsalsa20_keybytes(void); - -#define crypto_stream_xsalsa20_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_stream_xsalsa20_noncebytes(void); - -#define crypto_stream_xsalsa20_MESSAGEBYTES_MAX SODIUM_SIZE_MAX -SODIUM_EXPORT -size_t crypto_stream_xsalsa20_messagebytes_max(void); - -SODIUM_EXPORT -int crypto_stream_xsalsa20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_xsalsa20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int crypto_stream_xsalsa20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void crypto_stream_xsalsa20_keygen(unsigned char k[crypto_stream_xsalsa20_KEYBYTES]) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_16.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_16.h deleted file mode 100644 index 7b9c807..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_16.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef crypto_verify_16_H -#define crypto_verify_16_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_verify_16_BYTES 16U -SODIUM_EXPORT -size_t crypto_verify_16_bytes(void); - -SODIUM_EXPORT -int crypto_verify_16(const unsigned char *x, const unsigned char *y) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_32.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_32.h deleted file mode 100644 index 9b0f452..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_32.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef crypto_verify_32_H -#define crypto_verify_32_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_verify_32_BYTES 32U -SODIUM_EXPORT -size_t crypto_verify_32_bytes(void); - -SODIUM_EXPORT -int crypto_verify_32(const unsigned char *x, const unsigned char *y) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_64.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_64.h deleted file mode 100644 index c83b730..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/crypto_verify_64.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef crypto_verify_64_H -#define crypto_verify_64_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_verify_64_BYTES 64U -SODIUM_EXPORT -size_t crypto_verify_64_bytes(void); - -SODIUM_EXPORT -int crypto_verify_64(const unsigned char *x, const unsigned char *y) - __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/export.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/export.h deleted file mode 100644 index a0074fc..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/export.h +++ /dev/null @@ -1,57 +0,0 @@ - -#ifndef sodium_export_H -#define sodium_export_H - -#include -#include -#include - -#if !defined(__clang__) && !defined(__GNUC__) -# ifdef __attribute__ -# undef __attribute__ -# endif -# define __attribute__(a) -#endif - -#ifdef SODIUM_STATIC -# define SODIUM_EXPORT -# define SODIUM_EXPORT_WEAK -#else -# if defined(_MSC_VER) -# ifdef SODIUM_DLL_EXPORT -# define SODIUM_EXPORT __declspec(dllexport) -# else -# define SODIUM_EXPORT __declspec(dllimport) -# endif -# else -# if defined(__SUNPRO_C) -# ifndef __GNU_C__ -# define SODIUM_EXPORT __attribute__ (visibility(__global)) -# else -# define SODIUM_EXPORT __attribute__ __global -# endif -# elif defined(_MSG_VER) -# define SODIUM_EXPORT extern __declspec(dllexport) -# else -# define SODIUM_EXPORT __attribute__ ((visibility ("default"))) -# endif -# endif -# if defined(__ELF__) && !defined(SODIUM_DISABLE_WEAK_FUNCTIONS) -# define SODIUM_EXPORT_WEAK SODIUM_EXPORT __attribute__((weak)) -# else -# define SODIUM_EXPORT_WEAK SODIUM_EXPORT -# endif -#endif - -#ifndef CRYPTO_ALIGN -# if defined(__INTEL_COMPILER) || defined(_MSC_VER) -# define CRYPTO_ALIGN(x) __declspec(align(x)) -# else -# define CRYPTO_ALIGN(x) __attribute__ ((aligned(x))) -# endif -#endif - -#define SODIUM_MIN(A, B) ((A) < (B) ? (A) : (B)) -#define SODIUM_SIZE_MAX SODIUM_MIN(UINT64_MAX, SIZE_MAX) - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/chacha20_ietf_ext.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/chacha20_ietf_ext.h deleted file mode 100644 index 2c80b96..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/chacha20_ietf_ext.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef chacha20_ietf_ext_H -#define chacha20_ietf_ext_H - -#include - -/* The ietf_ext variant allows the internal counter to overflow into the IV */ - -int crypto_stream_chacha20_ietf_ext(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -int crypto_stream_chacha20_ietf_ext_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint32_t ic, - const unsigned char *k); -#endif - diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/common.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/common.h deleted file mode 100644 index 339e725..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/common.h +++ /dev/null @@ -1,261 +0,0 @@ -#ifndef common_H -#define common_H 1 - -#if !defined(_MSC_VER) && !defined(DEV_MODE) && 0 -# warning *** This is unstable, untested, development code. -# warning It might not compile. It might not work as expected. -# warning It might be totally insecure. -# warning Do not use this except if you are planning to contribute code. -# warning Use releases available at https://download.libsodium.org/libsodium/releases/ instead. -# warning Alternatively, use the "stable" branch in the git repository. -#endif - -#if !defined(_MSC_VER) && (!defined(CONFIGURED) || CONFIGURED != 1) -# warning *** The library is being compiled using an undocumented method. -# warning This is not supported. It has not been tested, it might not -# warning work as expected, and performance is likely to be suboptimal. -#endif - -#include -#include -#include - -#define COMPILER_ASSERT(X) (void) sizeof(char[(X) ? 1 : -1]) - -#ifdef HAVE_TI_MODE -# if defined(__SIZEOF_INT128__) -typedef unsigned __int128 uint128_t; -# else -typedef unsigned uint128_t __attribute__((mode(TI))); -# endif -#endif - -#define ROTL32(X, B) rotl32((X), (B)) -static inline uint32_t -rotl32(const uint32_t x, const int b) -{ - return (x << b) | (x >> (32 - b)); -} - -#define ROTL64(X, B) rotl64((X), (B)) -static inline uint64_t -rotl64(const uint64_t x, const int b) -{ - return (x << b) | (x >> (64 - b)); -} - -#define ROTR32(X, B) rotr32((X), (B)) -static inline uint32_t -rotr32(const uint32_t x, const int b) -{ - return (x >> b) | (x << (32 - b)); -} - -#define ROTR64(X, B) rotr64((X), (B)) -static inline uint64_t -rotr64(const uint64_t x, const int b) -{ - return (x >> b) | (x << (64 - b)); -} - -#define LOAD64_LE(SRC) load64_le(SRC) -static inline uint64_t -load64_le(const uint8_t src[8]) -{ -#ifdef NATIVE_LITTLE_ENDIAN - uint64_t w; - memcpy(&w, src, sizeof w); - return w; -#else - uint64_t w = (uint64_t) src[0]; - w |= (uint64_t) src[1] << 8; - w |= (uint64_t) src[2] << 16; - w |= (uint64_t) src[3] << 24; - w |= (uint64_t) src[4] << 32; - w |= (uint64_t) src[5] << 40; - w |= (uint64_t) src[6] << 48; - w |= (uint64_t) src[7] << 56; - return w; -#endif -} - -#define STORE64_LE(DST, W) store64_le((DST), (W)) -static inline void -store64_le(uint8_t dst[8], uint64_t w) -{ -#ifdef NATIVE_LITTLE_ENDIAN - memcpy(dst, &w, sizeof w); -#else - dst[0] = (uint8_t) w; w >>= 8; - dst[1] = (uint8_t) w; w >>= 8; - dst[2] = (uint8_t) w; w >>= 8; - dst[3] = (uint8_t) w; w >>= 8; - dst[4] = (uint8_t) w; w >>= 8; - dst[5] = (uint8_t) w; w >>= 8; - dst[6] = (uint8_t) w; w >>= 8; - dst[7] = (uint8_t) w; -#endif -} - -#define LOAD32_LE(SRC) load32_le(SRC) -static inline uint32_t -load32_le(const uint8_t src[4]) -{ -#ifdef NATIVE_LITTLE_ENDIAN - uint32_t w; - memcpy(&w, src, sizeof w); - return w; -#else - uint32_t w = (uint32_t) src[0]; - w |= (uint32_t) src[1] << 8; - w |= (uint32_t) src[2] << 16; - w |= (uint32_t) src[3] << 24; - return w; -#endif -} - -#define STORE32_LE(DST, W) store32_le((DST), (W)) -static inline void -store32_le(uint8_t dst[4], uint32_t w) -{ -#ifdef NATIVE_LITTLE_ENDIAN - memcpy(dst, &w, sizeof w); -#else - dst[0] = (uint8_t) w; w >>= 8; - dst[1] = (uint8_t) w; w >>= 8; - dst[2] = (uint8_t) w; w >>= 8; - dst[3] = (uint8_t) w; -#endif -} - -/* ----- */ - -#define LOAD64_BE(SRC) load64_be(SRC) -static inline uint64_t -load64_be(const uint8_t src[8]) -{ -#ifdef NATIVE_BIG_ENDIAN - uint64_t w; - memcpy(&w, src, sizeof w); - return w; -#else - uint64_t w = (uint64_t) src[7]; - w |= (uint64_t) src[6] << 8; - w |= (uint64_t) src[5] << 16; - w |= (uint64_t) src[4] << 24; - w |= (uint64_t) src[3] << 32; - w |= (uint64_t) src[2] << 40; - w |= (uint64_t) src[1] << 48; - w |= (uint64_t) src[0] << 56; - return w; -#endif -} - -#define STORE64_BE(DST, W) store64_be((DST), (W)) -static inline void -store64_be(uint8_t dst[8], uint64_t w) -{ -#ifdef NATIVE_BIG_ENDIAN - memcpy(dst, &w, sizeof w); -#else - dst[7] = (uint8_t) w; w >>= 8; - dst[6] = (uint8_t) w; w >>= 8; - dst[5] = (uint8_t) w; w >>= 8; - dst[4] = (uint8_t) w; w >>= 8; - dst[3] = (uint8_t) w; w >>= 8; - dst[2] = (uint8_t) w; w >>= 8; - dst[1] = (uint8_t) w; w >>= 8; - dst[0] = (uint8_t) w; -#endif -} - -#define LOAD32_BE(SRC) load32_be(SRC) -static inline uint32_t -load32_be(const uint8_t src[4]) -{ -#ifdef NATIVE_BIG_ENDIAN - uint32_t w; - memcpy(&w, src, sizeof w); - return w; -#else - uint32_t w = (uint32_t) src[3]; - w |= (uint32_t) src[2] << 8; - w |= (uint32_t) src[1] << 16; - w |= (uint32_t) src[0] << 24; - return w; -#endif -} - -#define STORE32_BE(DST, W) store32_be((DST), (W)) -static inline void -store32_be(uint8_t dst[4], uint32_t w) -{ -#ifdef NATIVE_BIG_ENDIAN - memcpy(dst, &w, sizeof w); -#else - dst[3] = (uint8_t) w; w >>= 8; - dst[2] = (uint8_t) w; w >>= 8; - dst[1] = (uint8_t) w; w >>= 8; - dst[0] = (uint8_t) w; -#endif -} - -#define XOR_BUF(OUT, IN, N) xor_buf((OUT), (IN), (N)) -static inline void -xor_buf(unsigned char *out, const unsigned char *in, size_t n) -{ - size_t i; - - for (i = 0; i < n; i++) { - out[i] ^= in[i]; - } -} - -#if !defined(__clang__) && !defined(__GNUC__) -# ifdef __attribute__ -# undef __attribute__ -# endif -# define __attribute__(a) -#endif - -#ifndef CRYPTO_ALIGN -# if defined(__INTEL_COMPILER) || defined(_MSC_VER) -# define CRYPTO_ALIGN(x) __declspec(align(x)) -# else -# define CRYPTO_ALIGN(x) __attribute__ ((aligned(x))) -# endif -#endif - -#if defined(_MSC_VER) && \ - (defined(_M_X64) || defined(_M_AMD64) || defined(_M_IX86)) - -# include - -# define HAVE_INTRIN_H 1 -# define HAVE_MMINTRIN_H 1 -# define HAVE_EMMINTRIN_H 1 -# define HAVE_PMMINTRIN_H 1 -# define HAVE_TMMINTRIN_H 1 -# define HAVE_SMMINTRIN_H 1 -# define HAVE_AVXINTRIN_H 1 -# if _MSC_VER >= 1600 -# define HAVE_WMMINTRIN_H 1 -# endif -# if _MSC_VER >= 1700 && defined(_M_X64) -# define HAVE_AVX2INTRIN_H 1 -# endif -#elif defined(HAVE_INTRIN_H) -# include -#endif - -#ifdef HAVE_LIBCTGRIND -extern void ct_poison (const void *, size_t); -extern void ct_unpoison(const void *, size_t); -# define POISON(X, L) ct_poison((X), (L)) -# define UNPOISON(X, L) ct_unpoison((X), (L)) -#else -# define POISON(X, L) (void) 0 -# define UNPOISON(X, L) (void) 0 -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10.h deleted file mode 100644 index 3f4c45c..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10.h +++ /dev/null @@ -1,142 +0,0 @@ -#ifndef ed25519_ref10_H -#define ed25519_ref10_H - -#include -#include - -/* - fe means field element. - Here the field is \Z/(2^255-19). - */ - -#ifdef HAVE_TI_MODE -typedef uint64_t fe25519[5]; -#else -typedef int32_t fe25519[10]; -#endif - -void fe25519_invert(fe25519 out, const fe25519 z); -void fe25519_frombytes(fe25519 h, const unsigned char *s); -void fe25519_tobytes(unsigned char *s, const fe25519 h); - -#ifdef HAVE_TI_MODE -# include "ed25519_ref10_fe_51.h" -#else -# include "ed25519_ref10_fe_25_5.h" -#endif - - -/* - ge means group element. - - Here the group is the set of pairs (x,y) of field elements - satisfying -x^2 + y^2 = 1 + d x^2y^2 - where d = -121665/121666. - - Representations: - ge25519_p2 (projective): (X:Y:Z) satisfying x=X/Z, y=Y/Z - ge25519_p3 (extended): (X:Y:Z:T) satisfying x=X/Z, y=Y/Z, XY=ZT - ge25519_p1p1 (completed): ((X:Z),(Y:T)) satisfying x=X/Z, y=Y/T - ge25519_precomp (Duif): (y+x,y-x,2dxy) - */ - -typedef struct { - fe25519 X; - fe25519 Y; - fe25519 Z; -} ge25519_p2; - -typedef struct { - fe25519 X; - fe25519 Y; - fe25519 Z; - fe25519 T; -} ge25519_p3; - -typedef struct { - fe25519 X; - fe25519 Y; - fe25519 Z; - fe25519 T; -} ge25519_p1p1; - -typedef struct { - fe25519 yplusx; - fe25519 yminusx; - fe25519 xy2d; -} ge25519_precomp; - -typedef struct { - fe25519 YplusX; - fe25519 YminusX; - fe25519 Z; - fe25519 T2d; -} ge25519_cached; - -void ge25519_tobytes(unsigned char *s, const ge25519_p2 *h); - -void ge25519_p3_tobytes(unsigned char *s, const ge25519_p3 *h); - -int ge25519_frombytes(ge25519_p3 *h, const unsigned char *s); - -int ge25519_frombytes_negate_vartime(ge25519_p3 *h, const unsigned char *s); - -void ge25519_p3_to_cached(ge25519_cached *r, const ge25519_p3 *p); - -void ge25519_p1p1_to_p2(ge25519_p2 *r, const ge25519_p1p1 *p); - -void ge25519_p1p1_to_p3(ge25519_p3 *r, const ge25519_p1p1 *p); - -void ge25519_add(ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_cached *q); - -void ge25519_sub(ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_cached *q); - -void ge25519_scalarmult_base(ge25519_p3 *h, const unsigned char *a); - -void ge25519_double_scalarmult_vartime(ge25519_p2 *r, const unsigned char *a, - const ge25519_p3 *A, - const unsigned char *b); - -void ge25519_scalarmult(ge25519_p3 *h, const unsigned char *a, - const ge25519_p3 *p); - -int ge25519_is_canonical(const unsigned char *s); - -int ge25519_is_on_curve(const ge25519_p3 *p); - -int ge25519_is_on_main_subgroup(const ge25519_p3 *p); - -int ge25519_has_small_order(const unsigned char s[32]); - -void ge25519_from_uniform(unsigned char s[32], const unsigned char r[32]); - -void ge25519_from_hash(unsigned char s[32], const unsigned char h[64]); - -/* - Ristretto group - */ - -int ristretto255_frombytes(ge25519_p3 *h, const unsigned char *s); - -void ristretto255_p3_tobytes(unsigned char *s, const ge25519_p3 *h); - -void ristretto255_from_hash(unsigned char s[32], const unsigned char h[64]); - -/* - The set of scalars is \Z/l - where l = 2^252 + 27742317777372353535851937790883648493. - */ - -void sc25519_invert(unsigned char recip[32], const unsigned char s[32]); - -void sc25519_reduce(unsigned char s[64]); - -void sc25519_mul(unsigned char s[32], const unsigned char a[32], - const unsigned char b[32]); - -void sc25519_muladd(unsigned char s[32], const unsigned char a[32], - const unsigned char b[32], const unsigned char c[32]); - -int sc25519_is_canonical(const unsigned char s[32]); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h deleted file mode 100644 index 5a0b614..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h +++ /dev/null @@ -1,1050 +0,0 @@ -#include - -#include "private/common.h" -#include "utils.h" - -/* - h = 0 - */ - -static inline void -fe25519_0(fe25519 h) -{ - memset(&h[0], 0, 10 * sizeof h[0]); -} - -/* - h = 1 - */ - -static inline void -fe25519_1(fe25519 h) -{ - h[0] = 1; - h[1] = 0; - memset(&h[2], 0, 8 * sizeof h[0]); -} - -/* - h = f + g - Can overlap h with f or g. - * - Preconditions: - |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - |g| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - * - Postconditions: - |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - */ - -static inline void -fe25519_add(fe25519 h, const fe25519 f, const fe25519 g) -{ - int32_t h0 = f[0] + g[0]; - int32_t h1 = f[1] + g[1]; - int32_t h2 = f[2] + g[2]; - int32_t h3 = f[3] + g[3]; - int32_t h4 = f[4] + g[4]; - int32_t h5 = f[5] + g[5]; - int32_t h6 = f[6] + g[6]; - int32_t h7 = f[7] + g[7]; - int32_t h8 = f[8] + g[8]; - int32_t h9 = f[9] + g[9]; - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; - h[5] = h5; - h[6] = h6; - h[7] = h7; - h[8] = h8; - h[9] = h9; -} - -/* - h = f - g - Can overlap h with f or g. - * - Preconditions: - |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - |g| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - * - Postconditions: - |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - */ - -static void -fe25519_sub(fe25519 h, const fe25519 f, const fe25519 g) -{ - int32_t h0 = f[0] - g[0]; - int32_t h1 = f[1] - g[1]; - int32_t h2 = f[2] - g[2]; - int32_t h3 = f[3] - g[3]; - int32_t h4 = f[4] - g[4]; - int32_t h5 = f[5] - g[5]; - int32_t h6 = f[6] - g[6]; - int32_t h7 = f[7] - g[7]; - int32_t h8 = f[8] - g[8]; - int32_t h9 = f[9] - g[9]; - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; - h[5] = h5; - h[6] = h6; - h[7] = h7; - h[8] = h8; - h[9] = h9; -} - -/* - h = -f - * - Preconditions: - |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - * - Postconditions: - |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - */ - -static inline void -fe25519_neg(fe25519 h, const fe25519 f) -{ - int32_t h0 = -f[0]; - int32_t h1 = -f[1]; - int32_t h2 = -f[2]; - int32_t h3 = -f[3]; - int32_t h4 = -f[4]; - int32_t h5 = -f[5]; - int32_t h6 = -f[6]; - int32_t h7 = -f[7]; - int32_t h8 = -f[8]; - int32_t h9 = -f[9]; - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; - h[5] = h5; - h[6] = h6; - h[7] = h7; - h[8] = h8; - h[9] = h9; -} - -/* - Replace (f,g) with (g,g) if b == 1; - replace (f,g) with (f,g) if b == 0. - * - Preconditions: b in {0,1}. - */ - -static void -fe25519_cmov(fe25519 f, const fe25519 g, unsigned int b) -{ - const uint32_t mask = (uint32_t) (-(int32_t) b); - - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - - int32_t x0 = f0 ^ g[0]; - int32_t x1 = f1 ^ g[1]; - int32_t x2 = f2 ^ g[2]; - int32_t x3 = f3 ^ g[3]; - int32_t x4 = f4 ^ g[4]; - int32_t x5 = f5 ^ g[5]; - int32_t x6 = f6 ^ g[6]; - int32_t x7 = f7 ^ g[7]; - int32_t x8 = f8 ^ g[8]; - int32_t x9 = f9 ^ g[9]; - - x0 &= mask; - x1 &= mask; - x2 &= mask; - x3 &= mask; - x4 &= mask; - x5 &= mask; - x6 &= mask; - x7 &= mask; - x8 &= mask; - x9 &= mask; - - f[0] = f0 ^ x0; - f[1] = f1 ^ x1; - f[2] = f2 ^ x2; - f[3] = f3 ^ x3; - f[4] = f4 ^ x4; - f[5] = f5 ^ x5; - f[6] = f6 ^ x6; - f[7] = f7 ^ x7; - f[8] = f8 ^ x8; - f[9] = f9 ^ x9; -} - -static void -fe25519_cswap(fe25519 f, fe25519 g, unsigned int b) -{ - const uint32_t mask = (uint32_t) (-(int64_t) b); - - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - - int32_t g0 = g[0]; - int32_t g1 = g[1]; - int32_t g2 = g[2]; - int32_t g3 = g[3]; - int32_t g4 = g[4]; - int32_t g5 = g[5]; - int32_t g6 = g[6]; - int32_t g7 = g[7]; - int32_t g8 = g[8]; - int32_t g9 = g[9]; - - int32_t x0 = f0 ^ g0; - int32_t x1 = f1 ^ g1; - int32_t x2 = f2 ^ g2; - int32_t x3 = f3 ^ g3; - int32_t x4 = f4 ^ g4; - int32_t x5 = f5 ^ g5; - int32_t x6 = f6 ^ g6; - int32_t x7 = f7 ^ g7; - int32_t x8 = f8 ^ g8; - int32_t x9 = f9 ^ g9; - - x0 &= mask; - x1 &= mask; - x2 &= mask; - x3 &= mask; - x4 &= mask; - x5 &= mask; - x6 &= mask; - x7 &= mask; - x8 &= mask; - x9 &= mask; - - f[0] = f0 ^ x0; - f[1] = f1 ^ x1; - f[2] = f2 ^ x2; - f[3] = f3 ^ x3; - f[4] = f4 ^ x4; - f[5] = f5 ^ x5; - f[6] = f6 ^ x6; - f[7] = f7 ^ x7; - f[8] = f8 ^ x8; - f[9] = f9 ^ x9; - - g[0] = g0 ^ x0; - g[1] = g1 ^ x1; - g[2] = g2 ^ x2; - g[3] = g3 ^ x3; - g[4] = g4 ^ x4; - g[5] = g5 ^ x5; - g[6] = g6 ^ x6; - g[7] = g7 ^ x7; - g[8] = g8 ^ x8; - g[9] = g9 ^ x9; -} - -/* - h = f - */ - -static inline void -fe25519_copy(fe25519 h, const fe25519 f) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - - h[0] = f0; - h[1] = f1; - h[2] = f2; - h[3] = f3; - h[4] = f4; - h[5] = f5; - h[6] = f6; - h[7] = f7; - h[8] = f8; - h[9] = f9; -} - -/* - return 1 if f is in {1,3,5,...,q-2} - return 0 if f is in {0,2,4,...,q-1} - - Preconditions: - |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - */ - -static inline int -fe25519_isnegative(const fe25519 f) -{ - unsigned char s[32]; - - fe25519_tobytes(s, f); - - return s[0] & 1; -} - -/* - return 1 if f == 0 - return 0 if f != 0 - - Preconditions: - |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - */ - -static inline int -fe25519_iszero(const fe25519 f) -{ - unsigned char s[32]; - - fe25519_tobytes(s, f); - - return sodium_is_zero(s, 32); -} - -/* - h = f * g - Can overlap h with f or g. - * - Preconditions: - |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. - |g| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. - * - Postconditions: - |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc. - */ - -/* - Notes on implementation strategy: - * - Using schoolbook multiplication. - Karatsuba would save a little in some cost models. - * - Most multiplications by 2 and 19 are 32-bit precomputations; - cheaper than 64-bit postcomputations. - * - There is one remaining multiplication by 19 in the carry chain; - one *19 precomputation can be merged into this, - but the resulting data flow is considerably less clean. - * - There are 12 carries below. - 10 of them are 2-way parallelizable and vectorizable. - Can get away with 11 carries, but then data flow is much deeper. - * - With tighter constraints on inputs can squeeze carries into int32. - */ - -static void -fe25519_mul(fe25519 h, const fe25519 f, const fe25519 g) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - - int32_t g0 = g[0]; - int32_t g1 = g[1]; - int32_t g2 = g[2]; - int32_t g3 = g[3]; - int32_t g4 = g[4]; - int32_t g5 = g[5]; - int32_t g6 = g[6]; - int32_t g7 = g[7]; - int32_t g8 = g[8]; - int32_t g9 = g[9]; - - int32_t g1_19 = 19 * g1; /* 1.959375*2^29 */ - int32_t g2_19 = 19 * g2; /* 1.959375*2^30; still ok */ - int32_t g3_19 = 19 * g3; - int32_t g4_19 = 19 * g4; - int32_t g5_19 = 19 * g5; - int32_t g6_19 = 19 * g6; - int32_t g7_19 = 19 * g7; - int32_t g8_19 = 19 * g8; - int32_t g9_19 = 19 * g9; - int32_t f1_2 = 2 * f1; - int32_t f3_2 = 2 * f3; - int32_t f5_2 = 2 * f5; - int32_t f7_2 = 2 * f7; - int32_t f9_2 = 2 * f9; - - int64_t f0g0 = f0 * (int64_t) g0; - int64_t f0g1 = f0 * (int64_t) g1; - int64_t f0g2 = f0 * (int64_t) g2; - int64_t f0g3 = f0 * (int64_t) g3; - int64_t f0g4 = f0 * (int64_t) g4; - int64_t f0g5 = f0 * (int64_t) g5; - int64_t f0g6 = f0 * (int64_t) g6; - int64_t f0g7 = f0 * (int64_t) g7; - int64_t f0g8 = f0 * (int64_t) g8; - int64_t f0g9 = f0 * (int64_t) g9; - int64_t f1g0 = f1 * (int64_t) g0; - int64_t f1g1_2 = f1_2 * (int64_t) g1; - int64_t f1g2 = f1 * (int64_t) g2; - int64_t f1g3_2 = f1_2 * (int64_t) g3; - int64_t f1g4 = f1 * (int64_t) g4; - int64_t f1g5_2 = f1_2 * (int64_t) g5; - int64_t f1g6 = f1 * (int64_t) g6; - int64_t f1g7_2 = f1_2 * (int64_t) g7; - int64_t f1g8 = f1 * (int64_t) g8; - int64_t f1g9_38 = f1_2 * (int64_t) g9_19; - int64_t f2g0 = f2 * (int64_t) g0; - int64_t f2g1 = f2 * (int64_t) g1; - int64_t f2g2 = f2 * (int64_t) g2; - int64_t f2g3 = f2 * (int64_t) g3; - int64_t f2g4 = f2 * (int64_t) g4; - int64_t f2g5 = f2 * (int64_t) g5; - int64_t f2g6 = f2 * (int64_t) g6; - int64_t f2g7 = f2 * (int64_t) g7; - int64_t f2g8_19 = f2 * (int64_t) g8_19; - int64_t f2g9_19 = f2 * (int64_t) g9_19; - int64_t f3g0 = f3 * (int64_t) g0; - int64_t f3g1_2 = f3_2 * (int64_t) g1; - int64_t f3g2 = f3 * (int64_t) g2; - int64_t f3g3_2 = f3_2 * (int64_t) g3; - int64_t f3g4 = f3 * (int64_t) g4; - int64_t f3g5_2 = f3_2 * (int64_t) g5; - int64_t f3g6 = f3 * (int64_t) g6; - int64_t f3g7_38 = f3_2 * (int64_t) g7_19; - int64_t f3g8_19 = f3 * (int64_t) g8_19; - int64_t f3g9_38 = f3_2 * (int64_t) g9_19; - int64_t f4g0 = f4 * (int64_t) g0; - int64_t f4g1 = f4 * (int64_t) g1; - int64_t f4g2 = f4 * (int64_t) g2; - int64_t f4g3 = f4 * (int64_t) g3; - int64_t f4g4 = f4 * (int64_t) g4; - int64_t f4g5 = f4 * (int64_t) g5; - int64_t f4g6_19 = f4 * (int64_t) g6_19; - int64_t f4g7_19 = f4 * (int64_t) g7_19; - int64_t f4g8_19 = f4 * (int64_t) g8_19; - int64_t f4g9_19 = f4 * (int64_t) g9_19; - int64_t f5g0 = f5 * (int64_t) g0; - int64_t f5g1_2 = f5_2 * (int64_t) g1; - int64_t f5g2 = f5 * (int64_t) g2; - int64_t f5g3_2 = f5_2 * (int64_t) g3; - int64_t f5g4 = f5 * (int64_t) g4; - int64_t f5g5_38 = f5_2 * (int64_t) g5_19; - int64_t f5g6_19 = f5 * (int64_t) g6_19; - int64_t f5g7_38 = f5_2 * (int64_t) g7_19; - int64_t f5g8_19 = f5 * (int64_t) g8_19; - int64_t f5g9_38 = f5_2 * (int64_t) g9_19; - int64_t f6g0 = f6 * (int64_t) g0; - int64_t f6g1 = f6 * (int64_t) g1; - int64_t f6g2 = f6 * (int64_t) g2; - int64_t f6g3 = f6 * (int64_t) g3; - int64_t f6g4_19 = f6 * (int64_t) g4_19; - int64_t f6g5_19 = f6 * (int64_t) g5_19; - int64_t f6g6_19 = f6 * (int64_t) g6_19; - int64_t f6g7_19 = f6 * (int64_t) g7_19; - int64_t f6g8_19 = f6 * (int64_t) g8_19; - int64_t f6g9_19 = f6 * (int64_t) g9_19; - int64_t f7g0 = f7 * (int64_t) g0; - int64_t f7g1_2 = f7_2 * (int64_t) g1; - int64_t f7g2 = f7 * (int64_t) g2; - int64_t f7g3_38 = f7_2 * (int64_t) g3_19; - int64_t f7g4_19 = f7 * (int64_t) g4_19; - int64_t f7g5_38 = f7_2 * (int64_t) g5_19; - int64_t f7g6_19 = f7 * (int64_t) g6_19; - int64_t f7g7_38 = f7_2 * (int64_t) g7_19; - int64_t f7g8_19 = f7 * (int64_t) g8_19; - int64_t f7g9_38 = f7_2 * (int64_t) g9_19; - int64_t f8g0 = f8 * (int64_t) g0; - int64_t f8g1 = f8 * (int64_t) g1; - int64_t f8g2_19 = f8 * (int64_t) g2_19; - int64_t f8g3_19 = f8 * (int64_t) g3_19; - int64_t f8g4_19 = f8 * (int64_t) g4_19; - int64_t f8g5_19 = f8 * (int64_t) g5_19; - int64_t f8g6_19 = f8 * (int64_t) g6_19; - int64_t f8g7_19 = f8 * (int64_t) g7_19; - int64_t f8g8_19 = f8 * (int64_t) g8_19; - int64_t f8g9_19 = f8 * (int64_t) g9_19; - int64_t f9g0 = f9 * (int64_t) g0; - int64_t f9g1_38 = f9_2 * (int64_t) g1_19; - int64_t f9g2_19 = f9 * (int64_t) g2_19; - int64_t f9g3_38 = f9_2 * (int64_t) g3_19; - int64_t f9g4_19 = f9 * (int64_t) g4_19; - int64_t f9g5_38 = f9_2 * (int64_t) g5_19; - int64_t f9g6_19 = f9 * (int64_t) g6_19; - int64_t f9g7_38 = f9_2 * (int64_t) g7_19; - int64_t f9g8_19 = f9 * (int64_t) g8_19; - int64_t f9g9_38 = f9_2 * (int64_t) g9_19; - - int64_t h0 = f0g0 + f1g9_38 + f2g8_19 + f3g7_38 + f4g6_19 + f5g5_38 + - f6g4_19 + f7g3_38 + f8g2_19 + f9g1_38; - int64_t h1 = f0g1 + f1g0 + f2g9_19 + f3g8_19 + f4g7_19 + f5g6_19 + f6g5_19 + - f7g4_19 + f8g3_19 + f9g2_19; - int64_t h2 = f0g2 + f1g1_2 + f2g0 + f3g9_38 + f4g8_19 + f5g7_38 + f6g6_19 + - f7g5_38 + f8g4_19 + f9g3_38; - int64_t h3 = f0g3 + f1g2 + f2g1 + f3g0 + f4g9_19 + f5g8_19 + f6g7_19 + - f7g6_19 + f8g5_19 + f9g4_19; - int64_t h4 = f0g4 + f1g3_2 + f2g2 + f3g1_2 + f4g0 + f5g9_38 + f6g8_19 + - f7g7_38 + f8g6_19 + f9g5_38; - int64_t h5 = f0g5 + f1g4 + f2g3 + f3g2 + f4g1 + f5g0 + f6g9_19 + f7g8_19 + - f8g7_19 + f9g6_19; - int64_t h6 = f0g6 + f1g5_2 + f2g4 + f3g3_2 + f4g2 + f5g1_2 + f6g0 + - f7g9_38 + f8g8_19 + f9g7_38; - int64_t h7 = f0g7 + f1g6 + f2g5 + f3g4 + f4g3 + f5g2 + f6g1 + f7g0 + - f8g9_19 + f9g8_19; - int64_t h8 = f0g8 + f1g7_2 + f2g6 + f3g5_2 + f4g4 + f5g3_2 + f6g2 + f7g1_2 + - f8g0 + f9g9_38; - int64_t h9 = - f0g9 + f1g8 + f2g7 + f3g6 + f4g5 + f5g4 + f6g3 + f7g2 + f8g1 + f9g0; - - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - - /* - |h0| <= (1.65*1.65*2^52*(1+19+19+19+19)+1.65*1.65*2^50*(38+38+38+38+38)) - i.e. |h0| <= 1.4*2^60; narrower ranges for h2, h4, h6, h8 - |h1| <= (1.65*1.65*2^51*(1+1+19+19+19+19+19+19+19+19)) - i.e. |h1| <= 1.7*2^59; narrower ranges for h3, h5, h7, h9 - */ - - carry0 = (h0 + (int64_t)(1L << 25)) >> 26; - h1 += carry0; - h0 -= carry0 * ((uint64_t) 1L << 26); - carry4 = (h4 + (int64_t)(1L << 25)) >> 26; - h5 += carry4; - h4 -= carry4 * ((uint64_t) 1L << 26); - /* |h0| <= 2^25 */ - /* |h4| <= 2^25 */ - /* |h1| <= 1.71*2^59 */ - /* |h5| <= 1.71*2^59 */ - - carry1 = (h1 + (int64_t)(1L << 24)) >> 25; - h2 += carry1; - h1 -= carry1 * ((uint64_t) 1L << 25); - carry5 = (h5 + (int64_t)(1L << 24)) >> 25; - h6 += carry5; - h5 -= carry5 * ((uint64_t) 1L << 25); - /* |h1| <= 2^24; from now on fits into int32 */ - /* |h5| <= 2^24; from now on fits into int32 */ - /* |h2| <= 1.41*2^60 */ - /* |h6| <= 1.41*2^60 */ - - carry2 = (h2 + (int64_t)(1L << 25)) >> 26; - h3 += carry2; - h2 -= carry2 * ((uint64_t) 1L << 26); - carry6 = (h6 + (int64_t)(1L << 25)) >> 26; - h7 += carry6; - h6 -= carry6 * ((uint64_t) 1L << 26); - /* |h2| <= 2^25; from now on fits into int32 unchanged */ - /* |h6| <= 2^25; from now on fits into int32 unchanged */ - /* |h3| <= 1.71*2^59 */ - /* |h7| <= 1.71*2^59 */ - - carry3 = (h3 + (int64_t)(1L << 24)) >> 25; - h4 += carry3; - h3 -= carry3 * ((uint64_t) 1L << 25); - carry7 = (h7 + (int64_t)(1L << 24)) >> 25; - h8 += carry7; - h7 -= carry7 * ((uint64_t) 1L << 25); - /* |h3| <= 2^24; from now on fits into int32 unchanged */ - /* |h7| <= 2^24; from now on fits into int32 unchanged */ - /* |h4| <= 1.72*2^34 */ - /* |h8| <= 1.41*2^60 */ - - carry4 = (h4 + (int64_t)(1L << 25)) >> 26; - h5 += carry4; - h4 -= carry4 * ((uint64_t) 1L << 26); - carry8 = (h8 + (int64_t)(1L << 25)) >> 26; - h9 += carry8; - h8 -= carry8 * ((uint64_t) 1L << 26); - /* |h4| <= 2^25; from now on fits into int32 unchanged */ - /* |h8| <= 2^25; from now on fits into int32 unchanged */ - /* |h5| <= 1.01*2^24 */ - /* |h9| <= 1.71*2^59 */ - - carry9 = (h9 + (int64_t)(1L << 24)) >> 25; - h0 += carry9 * 19; - h9 -= carry9 * ((uint64_t) 1L << 25); - /* |h9| <= 2^24; from now on fits into int32 unchanged */ - /* |h0| <= 1.1*2^39 */ - - carry0 = (h0 + (int64_t)(1L << 25)) >> 26; - h1 += carry0; - h0 -= carry0 * ((uint64_t) 1L << 26); - /* |h0| <= 2^25; from now on fits into int32 unchanged */ - /* |h1| <= 1.01*2^24 */ - - h[0] = (int32_t) h0; - h[1] = (int32_t) h1; - h[2] = (int32_t) h2; - h[3] = (int32_t) h3; - h[4] = (int32_t) h4; - h[5] = (int32_t) h5; - h[6] = (int32_t) h6; - h[7] = (int32_t) h7; - h[8] = (int32_t) h8; - h[9] = (int32_t) h9; -} - -/* - h = f * f - Can overlap h with f. - * - Preconditions: - |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. - * - Postconditions: - |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc. - */ - -static void -fe25519_sq(fe25519 h, const fe25519 f) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - - int32_t f0_2 = 2 * f0; - int32_t f1_2 = 2 * f1; - int32_t f2_2 = 2 * f2; - int32_t f3_2 = 2 * f3; - int32_t f4_2 = 2 * f4; - int32_t f5_2 = 2 * f5; - int32_t f6_2 = 2 * f6; - int32_t f7_2 = 2 * f7; - int32_t f5_38 = 38 * f5; /* 1.959375*2^30 */ - int32_t f6_19 = 19 * f6; /* 1.959375*2^30 */ - int32_t f7_38 = 38 * f7; /* 1.959375*2^30 */ - int32_t f8_19 = 19 * f8; /* 1.959375*2^30 */ - int32_t f9_38 = 38 * f9; /* 1.959375*2^30 */ - - int64_t f0f0 = f0 * (int64_t) f0; - int64_t f0f1_2 = f0_2 * (int64_t) f1; - int64_t f0f2_2 = f0_2 * (int64_t) f2; - int64_t f0f3_2 = f0_2 * (int64_t) f3; - int64_t f0f4_2 = f0_2 * (int64_t) f4; - int64_t f0f5_2 = f0_2 * (int64_t) f5; - int64_t f0f6_2 = f0_2 * (int64_t) f6; - int64_t f0f7_2 = f0_2 * (int64_t) f7; - int64_t f0f8_2 = f0_2 * (int64_t) f8; - int64_t f0f9_2 = f0_2 * (int64_t) f9; - int64_t f1f1_2 = f1_2 * (int64_t) f1; - int64_t f1f2_2 = f1_2 * (int64_t) f2; - int64_t f1f3_4 = f1_2 * (int64_t) f3_2; - int64_t f1f4_2 = f1_2 * (int64_t) f4; - int64_t f1f5_4 = f1_2 * (int64_t) f5_2; - int64_t f1f6_2 = f1_2 * (int64_t) f6; - int64_t f1f7_4 = f1_2 * (int64_t) f7_2; - int64_t f1f8_2 = f1_2 * (int64_t) f8; - int64_t f1f9_76 = f1_2 * (int64_t) f9_38; - int64_t f2f2 = f2 * (int64_t) f2; - int64_t f2f3_2 = f2_2 * (int64_t) f3; - int64_t f2f4_2 = f2_2 * (int64_t) f4; - int64_t f2f5_2 = f2_2 * (int64_t) f5; - int64_t f2f6_2 = f2_2 * (int64_t) f6; - int64_t f2f7_2 = f2_2 * (int64_t) f7; - int64_t f2f8_38 = f2_2 * (int64_t) f8_19; - int64_t f2f9_38 = f2 * (int64_t) f9_38; - int64_t f3f3_2 = f3_2 * (int64_t) f3; - int64_t f3f4_2 = f3_2 * (int64_t) f4; - int64_t f3f5_4 = f3_2 * (int64_t) f5_2; - int64_t f3f6_2 = f3_2 * (int64_t) f6; - int64_t f3f7_76 = f3_2 * (int64_t) f7_38; - int64_t f3f8_38 = f3_2 * (int64_t) f8_19; - int64_t f3f9_76 = f3_2 * (int64_t) f9_38; - int64_t f4f4 = f4 * (int64_t) f4; - int64_t f4f5_2 = f4_2 * (int64_t) f5; - int64_t f4f6_38 = f4_2 * (int64_t) f6_19; - int64_t f4f7_38 = f4 * (int64_t) f7_38; - int64_t f4f8_38 = f4_2 * (int64_t) f8_19; - int64_t f4f9_38 = f4 * (int64_t) f9_38; - int64_t f5f5_38 = f5 * (int64_t) f5_38; - int64_t f5f6_38 = f5_2 * (int64_t) f6_19; - int64_t f5f7_76 = f5_2 * (int64_t) f7_38; - int64_t f5f8_38 = f5_2 * (int64_t) f8_19; - int64_t f5f9_76 = f5_2 * (int64_t) f9_38; - int64_t f6f6_19 = f6 * (int64_t) f6_19; - int64_t f6f7_38 = f6 * (int64_t) f7_38; - int64_t f6f8_38 = f6_2 * (int64_t) f8_19; - int64_t f6f9_38 = f6 * (int64_t) f9_38; - int64_t f7f7_38 = f7 * (int64_t) f7_38; - int64_t f7f8_38 = f7_2 * (int64_t) f8_19; - int64_t f7f9_76 = f7_2 * (int64_t) f9_38; - int64_t f8f8_19 = f8 * (int64_t) f8_19; - int64_t f8f9_38 = f8 * (int64_t) f9_38; - int64_t f9f9_38 = f9 * (int64_t) f9_38; - - int64_t h0 = f0f0 + f1f9_76 + f2f8_38 + f3f7_76 + f4f6_38 + f5f5_38; - int64_t h1 = f0f1_2 + f2f9_38 + f3f8_38 + f4f7_38 + f5f6_38; - int64_t h2 = f0f2_2 + f1f1_2 + f3f9_76 + f4f8_38 + f5f7_76 + f6f6_19; - int64_t h3 = f0f3_2 + f1f2_2 + f4f9_38 + f5f8_38 + f6f7_38; - int64_t h4 = f0f4_2 + f1f3_4 + f2f2 + f5f9_76 + f6f8_38 + f7f7_38; - int64_t h5 = f0f5_2 + f1f4_2 + f2f3_2 + f6f9_38 + f7f8_38; - int64_t h6 = f0f6_2 + f1f5_4 + f2f4_2 + f3f3_2 + f7f9_76 + f8f8_19; - int64_t h7 = f0f7_2 + f1f6_2 + f2f5_2 + f3f4_2 + f8f9_38; - int64_t h8 = f0f8_2 + f1f7_4 + f2f6_2 + f3f5_4 + f4f4 + f9f9_38; - int64_t h9 = f0f9_2 + f1f8_2 + f2f7_2 + f3f6_2 + f4f5_2; - - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - - carry0 = (h0 + (int64_t)(1L << 25)) >> 26; - h1 += carry0; - h0 -= carry0 * ((uint64_t) 1L << 26); - carry4 = (h4 + (int64_t)(1L << 25)) >> 26; - h5 += carry4; - h4 -= carry4 * ((uint64_t) 1L << 26); - - carry1 = (h1 + (int64_t)(1L << 24)) >> 25; - h2 += carry1; - h1 -= carry1 * ((uint64_t) 1L << 25); - carry5 = (h5 + (int64_t)(1L << 24)) >> 25; - h6 += carry5; - h5 -= carry5 * ((uint64_t) 1L << 25); - - carry2 = (h2 + (int64_t)(1L << 25)) >> 26; - h3 += carry2; - h2 -= carry2 * ((uint64_t) 1L << 26); - carry6 = (h6 + (int64_t)(1L << 25)) >> 26; - h7 += carry6; - h6 -= carry6 * ((uint64_t) 1L << 26); - - carry3 = (h3 + (int64_t)(1L << 24)) >> 25; - h4 += carry3; - h3 -= carry3 * ((uint64_t) 1L << 25); - carry7 = (h7 + (int64_t)(1L << 24)) >> 25; - h8 += carry7; - h7 -= carry7 * ((uint64_t) 1L << 25); - - carry4 = (h4 + (int64_t)(1L << 25)) >> 26; - h5 += carry4; - h4 -= carry4 * ((uint64_t) 1L << 26); - carry8 = (h8 + (int64_t)(1L << 25)) >> 26; - h9 += carry8; - h8 -= carry8 * ((uint64_t) 1L << 26); - - carry9 = (h9 + (int64_t)(1L << 24)) >> 25; - h0 += carry9 * 19; - h9 -= carry9 * ((uint64_t) 1L << 25); - - carry0 = (h0 + (int64_t)(1L << 25)) >> 26; - h1 += carry0; - h0 -= carry0 * ((uint64_t) 1L << 26); - - h[0] = (int32_t) h0; - h[1] = (int32_t) h1; - h[2] = (int32_t) h2; - h[3] = (int32_t) h3; - h[4] = (int32_t) h4; - h[5] = (int32_t) h5; - h[6] = (int32_t) h6; - h[7] = (int32_t) h7; - h[8] = (int32_t) h8; - h[9] = (int32_t) h9; -} - -/* - h = 2 * f * f - Can overlap h with f. - * - Preconditions: - |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. - * - Postconditions: - |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc. - */ - -static void -fe25519_sq2(fe25519 h, const fe25519 f) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - - int32_t f0_2 = 2 * f0; - int32_t f1_2 = 2 * f1; - int32_t f2_2 = 2 * f2; - int32_t f3_2 = 2 * f3; - int32_t f4_2 = 2 * f4; - int32_t f5_2 = 2 * f5; - int32_t f6_2 = 2 * f6; - int32_t f7_2 = 2 * f7; - int32_t f5_38 = 38 * f5; /* 1.959375*2^30 */ - int32_t f6_19 = 19 * f6; /* 1.959375*2^30 */ - int32_t f7_38 = 38 * f7; /* 1.959375*2^30 */ - int32_t f8_19 = 19 * f8; /* 1.959375*2^30 */ - int32_t f9_38 = 38 * f9; /* 1.959375*2^30 */ - - int64_t f0f0 = f0 * (int64_t) f0; - int64_t f0f1_2 = f0_2 * (int64_t) f1; - int64_t f0f2_2 = f0_2 * (int64_t) f2; - int64_t f0f3_2 = f0_2 * (int64_t) f3; - int64_t f0f4_2 = f0_2 * (int64_t) f4; - int64_t f0f5_2 = f0_2 * (int64_t) f5; - int64_t f0f6_2 = f0_2 * (int64_t) f6; - int64_t f0f7_2 = f0_2 * (int64_t) f7; - int64_t f0f8_2 = f0_2 * (int64_t) f8; - int64_t f0f9_2 = f0_2 * (int64_t) f9; - int64_t f1f1_2 = f1_2 * (int64_t) f1; - int64_t f1f2_2 = f1_2 * (int64_t) f2; - int64_t f1f3_4 = f1_2 * (int64_t) f3_2; - int64_t f1f4_2 = f1_2 * (int64_t) f4; - int64_t f1f5_4 = f1_2 * (int64_t) f5_2; - int64_t f1f6_2 = f1_2 * (int64_t) f6; - int64_t f1f7_4 = f1_2 * (int64_t) f7_2; - int64_t f1f8_2 = f1_2 * (int64_t) f8; - int64_t f1f9_76 = f1_2 * (int64_t) f9_38; - int64_t f2f2 = f2 * (int64_t) f2; - int64_t f2f3_2 = f2_2 * (int64_t) f3; - int64_t f2f4_2 = f2_2 * (int64_t) f4; - int64_t f2f5_2 = f2_2 * (int64_t) f5; - int64_t f2f6_2 = f2_2 * (int64_t) f6; - int64_t f2f7_2 = f2_2 * (int64_t) f7; - int64_t f2f8_38 = f2_2 * (int64_t) f8_19; - int64_t f2f9_38 = f2 * (int64_t) f9_38; - int64_t f3f3_2 = f3_2 * (int64_t) f3; - int64_t f3f4_2 = f3_2 * (int64_t) f4; - int64_t f3f5_4 = f3_2 * (int64_t) f5_2; - int64_t f3f6_2 = f3_2 * (int64_t) f6; - int64_t f3f7_76 = f3_2 * (int64_t) f7_38; - int64_t f3f8_38 = f3_2 * (int64_t) f8_19; - int64_t f3f9_76 = f3_2 * (int64_t) f9_38; - int64_t f4f4 = f4 * (int64_t) f4; - int64_t f4f5_2 = f4_2 * (int64_t) f5; - int64_t f4f6_38 = f4_2 * (int64_t) f6_19; - int64_t f4f7_38 = f4 * (int64_t) f7_38; - int64_t f4f8_38 = f4_2 * (int64_t) f8_19; - int64_t f4f9_38 = f4 * (int64_t) f9_38; - int64_t f5f5_38 = f5 * (int64_t) f5_38; - int64_t f5f6_38 = f5_2 * (int64_t) f6_19; - int64_t f5f7_76 = f5_2 * (int64_t) f7_38; - int64_t f5f8_38 = f5_2 * (int64_t) f8_19; - int64_t f5f9_76 = f5_2 * (int64_t) f9_38; - int64_t f6f6_19 = f6 * (int64_t) f6_19; - int64_t f6f7_38 = f6 * (int64_t) f7_38; - int64_t f6f8_38 = f6_2 * (int64_t) f8_19; - int64_t f6f9_38 = f6 * (int64_t) f9_38; - int64_t f7f7_38 = f7 * (int64_t) f7_38; - int64_t f7f8_38 = f7_2 * (int64_t) f8_19; - int64_t f7f9_76 = f7_2 * (int64_t) f9_38; - int64_t f8f8_19 = f8 * (int64_t) f8_19; - int64_t f8f9_38 = f8 * (int64_t) f9_38; - int64_t f9f9_38 = f9 * (int64_t) f9_38; - - int64_t h0 = f0f0 + f1f9_76 + f2f8_38 + f3f7_76 + f4f6_38 + f5f5_38; - int64_t h1 = f0f1_2 + f2f9_38 + f3f8_38 + f4f7_38 + f5f6_38; - int64_t h2 = f0f2_2 + f1f1_2 + f3f9_76 + f4f8_38 + f5f7_76 + f6f6_19; - int64_t h3 = f0f3_2 + f1f2_2 + f4f9_38 + f5f8_38 + f6f7_38; - int64_t h4 = f0f4_2 + f1f3_4 + f2f2 + f5f9_76 + f6f8_38 + f7f7_38; - int64_t h5 = f0f5_2 + f1f4_2 + f2f3_2 + f6f9_38 + f7f8_38; - int64_t h6 = f0f6_2 + f1f5_4 + f2f4_2 + f3f3_2 + f7f9_76 + f8f8_19; - int64_t h7 = f0f7_2 + f1f6_2 + f2f5_2 + f3f4_2 + f8f9_38; - int64_t h8 = f0f8_2 + f1f7_4 + f2f6_2 + f3f5_4 + f4f4 + f9f9_38; - int64_t h9 = f0f9_2 + f1f8_2 + f2f7_2 + f3f6_2 + f4f5_2; - - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - - h0 += h0; - h1 += h1; - h2 += h2; - h3 += h3; - h4 += h4; - h5 += h5; - h6 += h6; - h7 += h7; - h8 += h8; - h9 += h9; - - carry0 = (h0 + (int64_t)(1L << 25)) >> 26; - h1 += carry0; - h0 -= carry0 * ((uint64_t) 1L << 26); - carry4 = (h4 + (int64_t)(1L << 25)) >> 26; - h5 += carry4; - h4 -= carry4 * ((uint64_t) 1L << 26); - - carry1 = (h1 + (int64_t)(1L << 24)) >> 25; - h2 += carry1; - h1 -= carry1 * ((uint64_t) 1L << 25); - carry5 = (h5 + (int64_t)(1L << 24)) >> 25; - h6 += carry5; - h5 -= carry5 * ((uint64_t) 1L << 25); - - carry2 = (h2 + (int64_t)(1L << 25)) >> 26; - h3 += carry2; - h2 -= carry2 * ((uint64_t) 1L << 26); - carry6 = (h6 + (int64_t)(1L << 25)) >> 26; - h7 += carry6; - h6 -= carry6 * ((uint64_t) 1L << 26); - - carry3 = (h3 + (int64_t)(1L << 24)) >> 25; - h4 += carry3; - h3 -= carry3 * ((uint64_t) 1L << 25); - carry7 = (h7 + (int64_t)(1L << 24)) >> 25; - h8 += carry7; - h7 -= carry7 * ((uint64_t) 1L << 25); - - carry4 = (h4 + (int64_t)(1L << 25)) >> 26; - h5 += carry4; - h4 -= carry4 * ((uint64_t) 1L << 26); - carry8 = (h8 + (int64_t)(1L << 25)) >> 26; - h9 += carry8; - h8 -= carry8 * ((uint64_t) 1L << 26); - - carry9 = (h9 + (int64_t)(1L << 24)) >> 25; - h0 += carry9 * 19; - h9 -= carry9 * ((uint64_t) 1L << 25); - - carry0 = (h0 + (int64_t)(1L << 25)) >> 26; - h1 += carry0; - h0 -= carry0 * ((uint64_t) 1L << 26); - - h[0] = (int32_t) h0; - h[1] = (int32_t) h1; - h[2] = (int32_t) h2; - h[3] = (int32_t) h3; - h[4] = (int32_t) h4; - h[5] = (int32_t) h5; - h[6] = (int32_t) h6; - h[7] = (int32_t) h7; - h[8] = (int32_t) h8; - h[9] = (int32_t) h9; -} - -static void -fe25519_scalar_product(fe25519 h, const fe25519 f, uint32_t n) -{ - int64_t sn = (int64_t) n; - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - int64_t h0 = f0 * sn; - int64_t h1 = f1 * sn; - int64_t h2 = f2 * sn; - int64_t h3 = f3 * sn; - int64_t h4 = f4 * sn; - int64_t h5 = f5 * sn; - int64_t h6 = f6 * sn; - int64_t h7 = f7 * sn; - int64_t h8 = f8 * sn; - int64_t h9 = f9 * sn; - int64_t carry0, carry1, carry2, carry3, carry4, carry5, carry6, carry7, - carry8, carry9; - - carry9 = (h9 + ((int64_t) 1 << 24)) >> 25; - h0 += carry9 * 19; - h9 -= carry9 * ((int64_t) 1 << 25); - carry1 = (h1 + ((int64_t) 1 << 24)) >> 25; - h2 += carry1; - h1 -= carry1 * ((int64_t) 1 << 25); - carry3 = (h3 + ((int64_t) 1 << 24)) >> 25; - h4 += carry3; - h3 -= carry3 * ((int64_t) 1 << 25); - carry5 = (h5 + ((int64_t) 1 << 24)) >> 25; - h6 += carry5; - h5 -= carry5 * ((int64_t) 1 << 25); - carry7 = (h7 + ((int64_t) 1 << 24)) >> 25; - h8 += carry7; - h7 -= carry7 * ((int64_t) 1 << 25); - - carry0 = (h0 + ((int64_t) 1 << 25)) >> 26; - h1 += carry0; - h0 -= carry0 * ((int64_t) 1 << 26); - carry2 = (h2 + ((int64_t) 1 << 25)) >> 26; - h3 += carry2; - h2 -= carry2 * ((int64_t) 1 << 26); - carry4 = (h4 + ((int64_t) 1 << 25)) >> 26; - h5 += carry4; - h4 -= carry4 * ((int64_t) 1 << 26); - carry6 = (h6 + ((int64_t) 1 << 25)) >> 26; - h7 += carry6; - h6 -= carry6 * ((int64_t) 1 << 26); - carry8 = (h8 + ((int64_t) 1 << 25)) >> 26; - h9 += carry8; - h8 -= carry8 * ((int64_t) 1 << 26); - - h[0] = (int32_t) h0; - h[1] = (int32_t) h1; - h[2] = (int32_t) h2; - h[3] = (int32_t) h3; - h[4] = (int32_t) h4; - h[5] = (int32_t) h5; - h[6] = (int32_t) h6; - h[7] = (int32_t) h7; - h[8] = (int32_t) h8; - h[9] = (int32_t) h9; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h deleted file mode 100644 index 3a30f30..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h +++ /dev/null @@ -1,518 +0,0 @@ -#include - -#include "private/common.h" -#include "utils.h" - -/* - h = 0 - */ - -static inline void -fe25519_0(fe25519 h) -{ - memset(&h[0], 0, 5 * sizeof h[0]); -} - -/* - h = 1 - */ - -static inline void -fe25519_1(fe25519 h) -{ - h[0] = 1; - memset(&h[1], 0, 4 * sizeof h[0]); -} - -/* - h = f + g - Can overlap h with f or g. - */ - -static inline void -fe25519_add(fe25519 h, const fe25519 f, const fe25519 g) -{ - uint64_t h0 = f[0] + g[0]; - uint64_t h1 = f[1] + g[1]; - uint64_t h2 = f[2] + g[2]; - uint64_t h3 = f[3] + g[3]; - uint64_t h4 = f[4] + g[4]; - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; -} - -/* - h = f - g - */ - -static void -fe25519_sub(fe25519 h, const fe25519 f, const fe25519 g) -{ - const uint64_t mask = 0x7ffffffffffffULL; - uint64_t h0, h1, h2, h3, h4; - - h0 = g[0]; - h1 = g[1]; - h2 = g[2]; - h3 = g[3]; - h4 = g[4]; - - h1 += h0 >> 51; - h0 &= mask; - h2 += h1 >> 51; - h1 &= mask; - h3 += h2 >> 51; - h2 &= mask; - h4 += h3 >> 51; - h3 &= mask; - h0 += 19ULL * (h4 >> 51); - h4 &= mask; - - h0 = (f[0] + 0xfffffffffffdaULL) - h0; - h1 = (f[1] + 0xffffffffffffeULL) - h1; - h2 = (f[2] + 0xffffffffffffeULL) - h2; - h3 = (f[3] + 0xffffffffffffeULL) - h3; - h4 = (f[4] + 0xffffffffffffeULL) - h4; - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; -} - -/* - h = -f - */ - -static inline void -fe25519_neg(fe25519 h, const fe25519 f) -{ - fe25519 zero; - - fe25519_0(zero); - fe25519_sub(h, zero, f); -} - -/* - Replace (f,g) with (g,g) if b == 1; - replace (f,g) with (f,g) if b == 0. - * - Preconditions: b in {0,1}. - */ - -static void -fe25519_cmov(fe25519 f, const fe25519 g, unsigned int b) -{ - const uint64_t mask = (uint64_t) (-(int64_t) b); - - uint64_t f0 = f[0]; - uint64_t f1 = f[1]; - uint64_t f2 = f[2]; - uint64_t f3 = f[3]; - uint64_t f4 = f[4]; - - uint64_t x0 = f0 ^ g[0]; - uint64_t x1 = f1 ^ g[1]; - uint64_t x2 = f2 ^ g[2]; - uint64_t x3 = f3 ^ g[3]; - uint64_t x4 = f4 ^ g[4]; - - x0 &= mask; - x1 &= mask; - x2 &= mask; - x3 &= mask; - x4 &= mask; - - f[0] = f0 ^ x0; - f[1] = f1 ^ x1; - f[2] = f2 ^ x2; - f[3] = f3 ^ x3; - f[4] = f4 ^ x4; -} - -/* -Replace (f,g) with (g,f) if b == 1; -replace (f,g) with (f,g) if b == 0. - -Preconditions: b in {0,1}. -*/ - -static void -fe25519_cswap(fe25519 f, fe25519 g, unsigned int b) -{ - const uint64_t mask = (uint64_t) (-(int64_t) b); - - uint64_t f0 = f[0]; - uint64_t f1 = f[1]; - uint64_t f2 = f[2]; - uint64_t f3 = f[3]; - uint64_t f4 = f[4]; - - uint64_t g0 = g[0]; - uint64_t g1 = g[1]; - uint64_t g2 = g[2]; - uint64_t g3 = g[3]; - uint64_t g4 = g[4]; - - uint64_t x0 = f0 ^ g0; - uint64_t x1 = f1 ^ g1; - uint64_t x2 = f2 ^ g2; - uint64_t x3 = f3 ^ g3; - uint64_t x4 = f4 ^ g4; - - x0 &= mask; - x1 &= mask; - x2 &= mask; - x3 &= mask; - x4 &= mask; - - f[0] = f0 ^ x0; - f[1] = f1 ^ x1; - f[2] = f2 ^ x2; - f[3] = f3 ^ x3; - f[4] = f4 ^ x4; - - g[0] = g0 ^ x0; - g[1] = g1 ^ x1; - g[2] = g2 ^ x2; - g[3] = g3 ^ x3; - g[4] = g4 ^ x4; -} - -/* - h = f - */ - -static inline void -fe25519_copy(fe25519 h, const fe25519 f) -{ - uint64_t f0 = f[0]; - uint64_t f1 = f[1]; - uint64_t f2 = f[2]; - uint64_t f3 = f[3]; - uint64_t f4 = f[4]; - - h[0] = f0; - h[1] = f1; - h[2] = f2; - h[3] = f3; - h[4] = f4; -} - -/* - return 1 if f is in {1,3,5,...,q-2} - return 0 if f is in {0,2,4,...,q-1} - */ - -static inline int -fe25519_isnegative(const fe25519 f) -{ - unsigned char s[32]; - - fe25519_tobytes(s, f); - - return s[0] & 1; -} - -/* - return 1 if f == 0 - return 0 if f != 0 - */ - -static inline int -fe25519_iszero(const fe25519 f) -{ - unsigned char s[32]; - - fe25519_tobytes(s, f); - - return sodium_is_zero(s, 32); -} - -/* - h = f * g - Can overlap h with f or g. - */ - -static void -fe25519_mul(fe25519 h, const fe25519 f, const fe25519 g) -{ - const uint64_t mask = 0x7ffffffffffffULL; - uint128_t r0, r1, r2, r3, r4, carry; - uint64_t f0, f1, f2, f3, f4; - uint64_t f1_19, f2_19, f3_19, f4_19; - uint64_t g0, g1, g2, g3, g4; - uint64_t r00, r01, r02, r03, r04; - - f0 = f[0]; - f1 = f[1]; - f2 = f[2]; - f3 = f[3]; - f4 = f[4]; - - g0 = g[0]; - g1 = g[1]; - g2 = g[2]; - g3 = g[3]; - g4 = g[4]; - - f1_19 = 19ULL * f1; - f2_19 = 19ULL * f2; - f3_19 = 19ULL * f3; - f4_19 = 19ULL * f4; - - r0 = ((uint128_t) f0 ) * ((uint128_t) g0); - r0 += ((uint128_t) f1_19) * ((uint128_t) g4); - r0 += ((uint128_t) f2_19) * ((uint128_t) g3); - r0 += ((uint128_t) f3_19) * ((uint128_t) g2); - r0 += ((uint128_t) f4_19) * ((uint128_t) g1); - - r1 = ((uint128_t) f0 ) * ((uint128_t) g1); - r1 += ((uint128_t) f1 ) * ((uint128_t) g0); - r1 += ((uint128_t) f2_19) * ((uint128_t) g4); - r1 += ((uint128_t) f3_19) * ((uint128_t) g3); - r1 += ((uint128_t) f4_19) * ((uint128_t) g2); - - r2 = ((uint128_t) f0 ) * ((uint128_t) g2); - r2 += ((uint128_t) f1 ) * ((uint128_t) g1); - r2 += ((uint128_t) f2 ) * ((uint128_t) g0); - r2 += ((uint128_t) f3_19) * ((uint128_t) g4); - r2 += ((uint128_t) f4_19) * ((uint128_t) g3); - - r3 = ((uint128_t) f0 ) * ((uint128_t) g3); - r3 += ((uint128_t) f1 ) * ((uint128_t) g2); - r3 += ((uint128_t) f2 ) * ((uint128_t) g1); - r3 += ((uint128_t) f3 ) * ((uint128_t) g0); - r3 += ((uint128_t) f4_19) * ((uint128_t) g4); - - r4 = ((uint128_t) f0 ) * ((uint128_t) g4); - r4 += ((uint128_t) f1 ) * ((uint128_t) g3); - r4 += ((uint128_t) f2 ) * ((uint128_t) g2); - r4 += ((uint128_t) f3 ) * ((uint128_t) g1); - r4 += ((uint128_t) f4 ) * ((uint128_t) g0); - - r00 = ((uint64_t) r0) & mask; - carry = r0 >> 51; - r1 += carry; - r01 = ((uint64_t) r1) & mask; - carry = r1 >> 51; - r2 += carry; - r02 = ((uint64_t) r2) & mask; - carry = r2 >> 51; - r3 += carry; - r03 = ((uint64_t) r3) & mask; - carry = r3 >> 51; - r4 += carry; - r04 = ((uint64_t) r4) & mask; - carry = r4 >> 51; - r00 += 19ULL * (uint64_t) carry; - carry = r00 >> 51; - r00 &= mask; - r01 += (uint64_t) carry; - carry = r01 >> 51; - r01 &= mask; - r02 += (uint64_t) carry; - - h[0] = r00; - h[1] = r01; - h[2] = r02; - h[3] = r03; - h[4] = r04; -} - -/* - h = f * f - Can overlap h with f. - */ - -static void -fe25519_sq(fe25519 h, const fe25519 f) -{ - const uint64_t mask = 0x7ffffffffffffULL; - uint128_t r0, r1, r2, r3, r4, carry; - uint64_t f0, f1, f2, f3, f4; - uint64_t f0_2, f1_2, f1_38, f2_38, f3_38, f3_19, f4_19; - uint64_t r00, r01, r02, r03, r04; - - f0 = f[0]; - f1 = f[1]; - f2 = f[2]; - f3 = f[3]; - f4 = f[4]; - - f0_2 = f0 << 1; - f1_2 = f1 << 1; - - f1_38 = 38ULL * f1; - f2_38 = 38ULL * f2; - f3_38 = 38ULL * f3; - - f3_19 = 19ULL * f3; - f4_19 = 19ULL * f4; - - r0 = ((uint128_t) f0 ) * ((uint128_t) f0); - r0 += ((uint128_t) f1_38) * ((uint128_t) f4); - r0 += ((uint128_t) f2_38) * ((uint128_t) f3); - - r1 = ((uint128_t) f0_2 ) * ((uint128_t) f1); - r1 += ((uint128_t) f2_38) * ((uint128_t) f4); - r1 += ((uint128_t) f3_19) * ((uint128_t) f3); - - r2 = ((uint128_t) f0_2 ) * ((uint128_t) f2); - r2 += ((uint128_t) f1 ) * ((uint128_t) f1); - r2 += ((uint128_t) f3_38) * ((uint128_t) f4); - - r3 = ((uint128_t) f0_2 ) * ((uint128_t) f3); - r3 += ((uint128_t) f1_2 ) * ((uint128_t) f2); - r3 += ((uint128_t) f4_19) * ((uint128_t) f4); - - r4 = ((uint128_t) f0_2 ) * ((uint128_t) f4); - r4 += ((uint128_t) f1_2 ) * ((uint128_t) f3); - r4 += ((uint128_t) f2 ) * ((uint128_t) f2); - - r00 = ((uint64_t) r0) & mask; - carry = r0 >> 51; - r1 += carry; - r01 = ((uint64_t) r1) & mask; - carry = r1 >> 51; - r2 += carry; - r02 = ((uint64_t) r2) & mask; - carry = r2 >> 51; - r3 += carry; - r03 = ((uint64_t) r3) & mask; - carry = r3 >> 51; - r4 += carry; - r04 = ((uint64_t) r4) & mask; - carry = r4 >> 51; - r00 += 19ULL * (uint64_t) carry; - carry = r00 >> 51; - r00 &= mask; - r01 += (uint64_t) carry; - carry = r01 >> 51; - r01 &= mask; - r02 += (uint64_t) carry; - - h[0] = r00; - h[1] = r01; - h[2] = r02; - h[3] = r03; - h[4] = r04; -} - -/* - h = 2 * f * f - Can overlap h with f. -*/ - -static void -fe25519_sq2(fe25519 h, const fe25519 f) -{ - const uint64_t mask = 0x7ffffffffffffULL; - uint128_t r0, r1, r2, r3, r4, carry; - uint64_t f0, f1, f2, f3, f4; - uint64_t f0_2, f1_2, f1_38, f2_38, f3_38, f3_19, f4_19; - uint64_t r00, r01, r02, r03, r04; - - f0 = f[0]; - f1 = f[1]; - f2 = f[2]; - f3 = f[3]; - f4 = f[4]; - - f0_2 = f0 << 1; - f1_2 = f1 << 1; - - f1_38 = 38ULL * f1; - f2_38 = 38ULL * f2; - f3_38 = 38ULL * f3; - - f3_19 = 19ULL * f3; - f4_19 = 19ULL * f4; - - r0 = ((uint128_t) f0 ) * ((uint128_t) f0); - r0 += ((uint128_t) f1_38) * ((uint128_t) f4); - r0 += ((uint128_t) f2_38) * ((uint128_t) f3); - - r1 = ((uint128_t) f0_2 ) * ((uint128_t) f1); - r1 += ((uint128_t) f2_38) * ((uint128_t) f4); - r1 += ((uint128_t) f3_19) * ((uint128_t) f3); - - r2 = ((uint128_t) f0_2 ) * ((uint128_t) f2); - r2 += ((uint128_t) f1 ) * ((uint128_t) f1); - r2 += ((uint128_t) f3_38) * ((uint128_t) f4); - - r3 = ((uint128_t) f0_2 ) * ((uint128_t) f3); - r3 += ((uint128_t) f1_2 ) * ((uint128_t) f2); - r3 += ((uint128_t) f4_19) * ((uint128_t) f4); - - r4 = ((uint128_t) f0_2 ) * ((uint128_t) f4); - r4 += ((uint128_t) f1_2 ) * ((uint128_t) f3); - r4 += ((uint128_t) f2 ) * ((uint128_t) f2); - - r0 <<= 1; - r1 <<= 1; - r2 <<= 1; - r3 <<= 1; - r4 <<= 1; - - r00 = ((uint64_t) r0) & mask; - carry = r0 >> 51; - r1 += carry; - r01 = ((uint64_t) r1) & mask; - carry = r1 >> 51; - r2 += carry; - r02 = ((uint64_t) r2) & mask; - carry = r2 >> 51; - r3 += carry; - r03 = ((uint64_t) r3) & mask; - carry = r3 >> 51; - r4 += carry; - r04 = ((uint64_t) r4) & mask; - carry = r4 >> 51; - r00 += 19ULL * (uint64_t) carry; - carry = r00 >> 51; - r00 &= mask; - r01 += (uint64_t) carry; - carry = r01 >> 51; - r01 &= mask; - r02 += (uint64_t) carry; - - h[0] = r00; - h[1] = r01; - h[2] = r02; - h[3] = r03; - h[4] = r04; -} - -static void -fe25519_scalar_product(fe25519 h, const fe25519 f, uint32_t n) -{ - const uint64_t mask = 0x7ffffffffffffULL; - uint128_t a; - uint128_t sn = (uint128_t) n; - uint64_t h0, h1, h2, h3, h4; - - a = f[0] * sn; - h0 = ((uint64_t) a) & mask; - a = f[1] * sn + ((uint64_t) (a >> 51)); - h1 = ((uint64_t) a) & mask; - a = f[2] * sn + ((uint64_t) (a >> 51)); - h2 = ((uint64_t) a) & mask; - a = f[3] * sn + ((uint64_t) (a >> 51)); - h3 = ((uint64_t) a) & mask; - a = f[4] * sn + ((uint64_t) (a >> 51)); - h4 = ((uint64_t) a) & mask; - - h0 += (a >> 51) * 19ULL; - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/implementations.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/implementations.h deleted file mode 100644 index c7237f8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/implementations.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef implementations_H -#define implementations_H - -int _crypto_generichash_blake2b_pick_best_implementation(void); -int _crypto_onetimeauth_poly1305_pick_best_implementation(void); -int _crypto_pwhash_argon2_pick_best_implementation(void); -int _crypto_scalarmult_curve25519_pick_best_implementation(void); -int _crypto_stream_chacha20_pick_best_implementation(void); -int _crypto_stream_salsa20_pick_best_implementation(void); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/mutex.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/mutex.h deleted file mode 100644 index 322b674..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/mutex.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef mutex_H -#define mutex_H 1 - -extern int sodium_crit_enter(void); -extern int sodium_crit_leave(void); - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/sse2_64_32.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/sse2_64_32.h deleted file mode 100644 index d0455b4..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/private/sse2_64_32.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef sse2_64_32_H -#define sse2_64_32_H 1 - -#include "common.h" - -#ifdef HAVE_INTRIN_H -# include -#endif - -#if defined(HAVE_EMMINTRIN_H) && \ - !(defined(__amd64) || defined(__amd64__) || defined(__x86_64__) || \ - defined(_M_X64) || defined(_M_AMD64)) - -# include -# include - -# ifndef _mm_set_epi64x -# define _mm_set_epi64x(Q0, Q1) sodium__mm_set_epi64x((Q0), (Q1)) -static inline __m128i -sodium__mm_set_epi64x(int64_t q1, int64_t q0) -{ - union { int64_t as64; int32_t as32[2]; } x0, x1; - x0.as64 = q0; x1.as64 = q1; - return _mm_set_epi32(x1.as32[1], x1.as32[0], x0.as32[1], x0.as32[0]); -} -# endif - -# ifndef _mm_set1_epi64x -# define _mm_set1_epi64x(Q) sodium__mm_set1_epi64x(Q) -static inline __m128i -sodium__mm_set1_epi64x(int64_t q) -{ - return _mm_set_epi64x(q, q); -} -# endif - -# ifndef _mm_cvtsi64_si128 -# define _mm_cvtsi64_si128(Q) sodium__mm_cvtsi64_si128(Q) -static inline __m128i -sodium__mm_cvtsi64_si128(int64_t q) -{ - union { int64_t as64; int32_t as32[2]; } x; - x.as64 = q; - return _mm_setr_epi32(x.as32[0], x.as32[1], 0, 0); -} -# endif - -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes.h deleted file mode 100644 index a03cc65..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes.h +++ /dev/null @@ -1,72 +0,0 @@ - -#ifndef randombytes_H -#define randombytes_H - -#include -#include - -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef struct randombytes_implementation { - const char *(*implementation_name)(void); /* required */ - uint32_t (*random)(void); /* required */ - void (*stir)(void); /* optional */ - uint32_t (*uniform)(const uint32_t upper_bound); /* optional, a default implementation will be used if NULL */ - void (*buf)(void * const buf, const size_t size); /* required */ - int (*close)(void); /* optional */ -} randombytes_implementation; - -#define randombytes_BYTES_MAX SODIUM_MIN(SODIUM_SIZE_MAX, 0xffffffffUL) - -#define randombytes_SEEDBYTES 32U -SODIUM_EXPORT -size_t randombytes_seedbytes(void); - -SODIUM_EXPORT -void randombytes_buf(void * const buf, const size_t size) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -void randombytes_buf_deterministic(void * const buf, const size_t size, - const unsigned char seed[randombytes_SEEDBYTES]) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -uint32_t randombytes_random(void); - -SODIUM_EXPORT -uint32_t randombytes_uniform(const uint32_t upper_bound); - -SODIUM_EXPORT -void randombytes_stir(void); - -SODIUM_EXPORT -int randombytes_close(void); - -SODIUM_EXPORT -int randombytes_set_implementation(randombytes_implementation *impl) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -const char *randombytes_implementation_name(void); - -/* -- NaCl compatibility interface -- */ - -SODIUM_EXPORT -void randombytes(unsigned char * const buf, const unsigned long long buf_len) - __attribute__ ((nonnull)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes_internal_random.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes_internal_random.h deleted file mode 100644 index 2b2b7d6..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes_internal_random.h +++ /dev/null @@ -1,22 +0,0 @@ - -#ifndef randombytes_internal_random_H -#define randombytes_internal_random_H - -#include "export.h" -#include "randombytes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -extern struct randombytes_implementation randombytes_internal_implementation; - -/* Backwards compatibility with libsodium < 1.0.18 */ -#define randombytes_salsa20_implementation randombytes_internal_implementation - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes_sysrandom.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes_sysrandom.h deleted file mode 100644 index 9e27b67..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/randombytes_sysrandom.h +++ /dev/null @@ -1,19 +0,0 @@ - -#ifndef randombytes_sysrandom_H -#define randombytes_sysrandom_H - -#include "export.h" -#include "randombytes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -extern struct randombytes_implementation randombytes_sysrandom_implementation; - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/runtime.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/runtime.h deleted file mode 100644 index 7f15d58..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/runtime.h +++ /dev/null @@ -1,52 +0,0 @@ - -#ifndef sodium_runtime_H -#define sodium_runtime_H - -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_neon(void); - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_sse2(void); - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_sse3(void); - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_ssse3(void); - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_sse41(void); - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_avx(void); - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_avx2(void); - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_avx512f(void); - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_pclmul(void); - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_aesni(void); - -SODIUM_EXPORT_WEAK -int sodium_runtime_has_rdrand(void); - -/* ------------------------------------------------------------------------- */ - -int _sodium_runtime_get_cpu_features(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/utils.h b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/utils.h deleted file mode 100644 index ac80151..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/utils.h +++ /dev/null @@ -1,179 +0,0 @@ - -#ifndef sodium_utils_H -#define sodium_utils_H - -#include - -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef SODIUM_C99 -# if defined(__cplusplus) || !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L -# define SODIUM_C99(X) -# else -# define SODIUM_C99(X) X -# endif -#endif - -SODIUM_EXPORT -void sodium_memzero(void * const pnt, const size_t len); - -SODIUM_EXPORT -void sodium_stackzero(const size_t len); - -/* - * WARNING: sodium_memcmp() must be used to verify if two secret keys - * are equal, in constant time. - * It returns 0 if the keys are equal, and -1 if they differ. - * This function is not designed for lexicographical comparisons. - */ -SODIUM_EXPORT -int sodium_memcmp(const void * const b1_, const void * const b2_, size_t len) - __attribute__ ((warn_unused_result)); - -/* - * sodium_compare() returns -1 if b1_ < b2_, 1 if b1_ > b2_ and 0 if b1_ == b2_ - * It is suitable for lexicographical comparisons, or to compare nonces - * and counters stored in little-endian format. - * However, it is slower than sodium_memcmp(). - */ -SODIUM_EXPORT -int sodium_compare(const unsigned char *b1_, const unsigned char *b2_, - size_t len) __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int sodium_is_zero(const unsigned char *n, const size_t nlen); - -SODIUM_EXPORT -void sodium_increment(unsigned char *n, const size_t nlen); - -SODIUM_EXPORT -void sodium_add(unsigned char *a, const unsigned char *b, const size_t len); - -SODIUM_EXPORT -void sodium_sub(unsigned char *a, const unsigned char *b, const size_t len); - -SODIUM_EXPORT -char *sodium_bin2hex(char * const hex, const size_t hex_maxlen, - const unsigned char * const bin, const size_t bin_len) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int sodium_hex2bin(unsigned char * const bin, const size_t bin_maxlen, - const char * const hex, const size_t hex_len, - const char * const ignore, size_t * const bin_len, - const char ** const hex_end) - __attribute__ ((nonnull(1))); - -#define sodium_base64_VARIANT_ORIGINAL 1 -#define sodium_base64_VARIANT_ORIGINAL_NO_PADDING 3 -#define sodium_base64_VARIANT_URLSAFE 5 -#define sodium_base64_VARIANT_URLSAFE_NO_PADDING 7 - -/* - * Computes the required length to encode BIN_LEN bytes as a base64 string - * using the given variant. The computed length includes a trailing \0. - */ -#define sodium_base64_ENCODED_LEN(BIN_LEN, VARIANT) \ - (((BIN_LEN) / 3U) * 4U + \ - ((((BIN_LEN) - ((BIN_LEN) / 3U) * 3U) | (((BIN_LEN) - ((BIN_LEN) / 3U) * 3U) >> 1)) & 1U) * \ - (4U - (~((((VARIANT) & 2U) >> 1) - 1U) & (3U - ((BIN_LEN) - ((BIN_LEN) / 3U) * 3U)))) + 1U) - -SODIUM_EXPORT -size_t sodium_base64_encoded_len(const size_t bin_len, const int variant); - -SODIUM_EXPORT -char *sodium_bin2base64(char * const b64, const size_t b64_maxlen, - const unsigned char * const bin, const size_t bin_len, - const int variant) __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int sodium_base642bin(unsigned char * const bin, const size_t bin_maxlen, - const char * const b64, const size_t b64_len, - const char * const ignore, size_t * const bin_len, - const char ** const b64_end, const int variant) - __attribute__ ((nonnull(1))); - -SODIUM_EXPORT -int sodium_mlock(void * const addr, const size_t len) - __attribute__ ((nonnull)); - -SODIUM_EXPORT -int sodium_munlock(void * const addr, const size_t len) - __attribute__ ((nonnull)); - -/* WARNING: sodium_malloc() and sodium_allocarray() are not general-purpose - * allocation functions. - * - * They return a pointer to a region filled with 0xd0 bytes, immediately - * followed by a guard page. - * As a result, accessing a single byte after the requested allocation size - * will intentionally trigger a segmentation fault. - * - * A canary and an additional guard page placed before the beginning of the - * region may also kill the process if a buffer underflow is detected. - * - * The memory layout is: - * [unprotected region size (read only)][guard page (no access)][unprotected pages (read/write)][guard page (no access)] - * With the layout of the unprotected pages being: - * [optional padding][16-bytes canary][user region] - * - * However: - * - These functions are significantly slower than standard functions - * - Each allocation requires 3 or 4 additional pages - * - The returned address will not be aligned if the allocation size is not - * a multiple of the required alignment. For this reason, these functions - * are designed to store data, such as secret keys and messages. - * - * sodium_malloc() can be used to allocate any libsodium data structure. - * - * The crypto_generichash_state structure is packed and its length is - * either 357 or 361 bytes. For this reason, when using sodium_malloc() to - * allocate a crypto_generichash_state structure, padding must be added in - * order to ensure proper alignment. crypto_generichash_statebytes() - * returns the rounded up structure size, and should be prefered to sizeof(): - * state = sodium_malloc(crypto_generichash_statebytes()); - */ - -SODIUM_EXPORT -void *sodium_malloc(const size_t size) - __attribute__ ((malloc)); - -SODIUM_EXPORT -void *sodium_allocarray(size_t count, size_t size) - __attribute__ ((malloc)); - -SODIUM_EXPORT -void sodium_free(void *ptr); - -SODIUM_EXPORT -int sodium_mprotect_noaccess(void *ptr) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int sodium_mprotect_readonly(void *ptr) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int sodium_mprotect_readwrite(void *ptr) __attribute__ ((nonnull)); - -SODIUM_EXPORT -int sodium_pad(size_t *padded_buflen_p, unsigned char *buf, - size_t unpadded_buflen, size_t blocksize, size_t max_buflen) - __attribute__ ((nonnull(2))); - -SODIUM_EXPORT -int sodium_unpad(size_t *unpadded_buflen_p, const unsigned char *buf, - size_t padded_buflen, size_t blocksize) - __attribute__ ((nonnull(2))); - -/* -------- */ - -int _sodium_alloc_init(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/version.h.in b/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/version.h.in deleted file mode 100644 index 8a72044..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/include/sodium/version.h.in +++ /dev/null @@ -1,33 +0,0 @@ - -#ifndef sodium_version_H -#define sodium_version_H - -#include "export.h" - -#define SODIUM_VERSION_STRING "@VERSION@" - -#define SODIUM_LIBRARY_VERSION_MAJOR @SODIUM_LIBRARY_VERSION_MAJOR@ -#define SODIUM_LIBRARY_VERSION_MINOR @SODIUM_LIBRARY_VERSION_MINOR@ -@SODIUM_LIBRARY_MINIMAL_DEF@ - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -const char *sodium_version_string(void); - -SODIUM_EXPORT -int sodium_library_version_major(void); - -SODIUM_EXPORT -int sodium_library_version_minor(void); - -SODIUM_EXPORT -int sodium_library_minimal(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/randombytes/internal/randombytes_internal_random.c b/libsodium-1.0.18-RELEASE/src/libsodium/randombytes/internal/randombytes_internal_random.c deleted file mode 100644 index f0794f8..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/randombytes/internal/randombytes_internal_random.c +++ /dev/null @@ -1,631 +0,0 @@ - -#include -#include -#include -#include -#include -#include -#include -#include -#if !defined(_MSC_VER) && !defined(__BORLANDC__) -# include -#endif - -#include -#ifndef _WIN32 -# include -# include -#endif -#ifdef __linux__ -# define _LINUX_SOURCE -#endif -#ifdef HAVE_SYS_RANDOM_H -# include -#endif -#ifdef __linux__ -# ifdef HAVE_GETRANDOM -# define HAVE_LINUX_COMPATIBLE_GETRANDOM -# else -# include -# if defined(SYS_getrandom) && defined(__NR_getrandom) -# define getrandom(B, S, F) syscall(SYS_getrandom, (B), (int) (S), (F)) -# define HAVE_LINUX_COMPATIBLE_GETRANDOM -# endif -# endif -#elif defined(__FreeBSD__) -# include -# if defined(__FreeBSD_version) && __FreeBSD_version >= 1200000 -# define HAVE_LINUX_COMPATIBLE_GETRANDOM -# endif -#endif -#if !defined(NO_BLOCKING_RANDOM_POLL) && defined(__linux__) -# define BLOCK_ON_DEV_RANDOM -#endif -#ifdef BLOCK_ON_DEV_RANDOM -# include -#endif -#ifdef HAVE_RDRAND -# pragma GCC target("rdrnd") -# include -#endif - -#include "core.h" -#include "crypto_core_hchacha20.h" -#include "crypto_stream_chacha20.h" -#include "private/common.h" -#include "randombytes.h" -#include "randombytes_internal_random.h" -#include "runtime.h" -#include "utils.h" - -#ifdef _WIN32 -# include -# include -# define RtlGenRandom SystemFunction036 -# if defined(__cplusplus) -extern "C" -# endif -BOOLEAN NTAPI RtlGenRandom(PVOID RandomBuffer, ULONG RandomBufferLength); -# pragma comment(lib, "advapi32.lib") -# ifdef __BORLANDC__ -# define _ftime ftime -# define _timeb timeb -# endif -#endif - -#define INTERNAL_RANDOM_BLOCK_SIZE crypto_core_hchacha20_OUTPUTBYTES - -#if defined(__OpenBSD__) || defined(__CloudABI__) || defined(__wasi__) -# define HAVE_SAFE_ARC4RANDOM 1 -#endif -#if defined(__CloudABI__) || defined(__wasm__) -# define NONEXISTENT_DEV_RANDOM 1 -#endif - -#ifndef SSIZE_MAX -# define SSIZE_MAX (SIZE_MAX / 2 - 1) -#endif -#ifndef S_ISNAM -# ifdef __COMPCERT__ -# define S_ISNAM(X) 1 -# else -# define S_ISNAM(X) 0 -# endif -#endif - -#ifndef TLS -# ifdef _WIN32 -# define TLS __declspec(thread) -# else -# define TLS -# endif -#endif - -typedef struct InternalRandomGlobal_ { - int initialized; - int random_data_source_fd; - int getentropy_available; - int getrandom_available; - int rdrand_available; -#ifdef HAVE_GETPID - pid_t pid; -#endif -} InternalRandomGlobal; - -typedef struct InternalRandom_ { - int initialized; - size_t rnd32_outleft; - unsigned char key[crypto_stream_chacha20_KEYBYTES]; - unsigned char rnd32[16U * INTERNAL_RANDOM_BLOCK_SIZE]; - uint64_t nonce; -} InternalRandom; - -static InternalRandomGlobal global = { - SODIUM_C99(.initialized =) 0, - SODIUM_C99(.random_data_source_fd =) -1 -}; - -static TLS InternalRandom stream = { - SODIUM_C99(.initialized =) 0, - SODIUM_C99(.rnd32_outleft =) (size_t) 0U -}; - - -/* - * Get a high-resolution timestamp, as a uint64_t value - */ - -#ifdef _WIN32 -static uint64_t -sodium_hrtime(void) -{ - struct _timeb tb; -# pragma warning(push) -# pragma warning(disable: 4996) - _ftime(&tb); -# pragma warning(pop) - return ((uint64_t) tb.time) * 1000000U + ((uint64_t) tb.millitm) * 1000U; -} - -#else /* _WIN32 */ - -static uint64_t -sodium_hrtime(void) -{ - struct timeval tv; - - if (gettimeofday(&tv, NULL) != 0) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - return ((uint64_t) tv.tv_sec) * 1000000U + (uint64_t) tv.tv_usec; -} -#endif /* _WIN32 */ - -/* - * Initialize the entropy source - */ - -#ifdef _WIN32 - -static void -randombytes_internal_random_init(void) -{ - global.rdrand_available = sodium_runtime_has_rdrand(); -} - -#else /* _WIN32 */ - -# ifdef HAVE_GETENTROPY -static int -_randombytes_getentropy(void * const buf, const size_t size) -{ - assert(size <= 256U); - if (getentropy(buf, size) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} - -static int -randombytes_getentropy(void * const buf_, size_t size) -{ - unsigned char *buf = (unsigned char *) buf_; - size_t chunk_size = 256U; - - do { - if (size < chunk_size) { - chunk_size = size; - assert(chunk_size > (size_t) 0U); - } - if (_randombytes_getentropy(buf, chunk_size) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - size -= chunk_size; - buf += chunk_size; - } while (size > (size_t) 0U); - - return 0; -} - -# elif defined(HAVE_LINUX_COMPATIBLE_GETRANDOM) - -static int -_randombytes_linux_getrandom(void * const buf, const size_t size) -{ - int readnb; - - assert(size <= 256U); - do { - readnb = getrandom(buf, size, 0); - } while (readnb < 0 && (errno == EINTR || errno == EAGAIN)); - - return (readnb == (int) size) - 1; -} - -static int -randombytes_linux_getrandom(void * const buf_, size_t size) -{ - unsigned char *buf = (unsigned char *) buf_; - size_t chunk_size = 256U; - - do { - if (size < chunk_size) { - chunk_size = size; - assert(chunk_size > (size_t) 0U); - } - if (_randombytes_linux_getrandom(buf, chunk_size) != 0) { - return -1; - } - size -= chunk_size; - buf += chunk_size; - } while (size > (size_t) 0U); - - return 0; -} -# endif - -# ifndef NONEXISTENT_DEV_RANDOM - -# ifdef BLOCK_ON_DEV_RANDOM -static int -randombytes_block_on_dev_random(void) -{ - struct pollfd pfd; - int fd; - int pret; - - fd = open("/dev/random", O_RDONLY); - if (fd == -1) { - return 0; - } - pfd.fd = fd; - pfd.events = POLLIN; - pfd.revents = 0; - do { - pret = poll(&pfd, 1, -1); - } while (pret < 0 && (errno == EINTR || errno == EAGAIN)); - if (pret != 1) { - (void) close(fd); - errno = EIO; - return -1; - } - return close(fd); -} -# endif - -/* LCOV_EXCL_START */ -static int -randombytes_internal_random_random_dev_open(void) -{ - struct stat st; - static const char *devices[] = { -# ifndef USE_BLOCKING_RANDOM - "/dev/urandom", -# endif - "/dev/random", NULL - }; - const char **device = devices; - int fd; - -# ifdef BLOCK_ON_DEV_RANDOM - if (randombytes_block_on_dev_random() != 0) { - return -1; - } -# endif - do { - fd = open(*device, O_RDONLY); - if (fd != -1) { - if (fstat(fd, &st) == 0 && (S_ISNAM(st.st_mode) || S_ISCHR(st.st_mode))) { -# if defined(F_SETFD) && defined(FD_CLOEXEC) - (void) fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); -# endif - return fd; - } - (void) close(fd); - } else if (errno == EINTR) { - continue; - } - device++; - } while (*device != NULL); - - errno = EIO; - return -1; -} -/* LCOV_EXCL_STOP */ - -static ssize_t -safe_read(const int fd, void * const buf_, size_t size) -{ - unsigned char *buf = (unsigned char *) buf_; - ssize_t readnb; - - assert(size > (size_t) 0U); - assert(size <= SSIZE_MAX); - do { - while ((readnb = read(fd, buf, size)) < (ssize_t) 0 && - (errno == EINTR || errno == EAGAIN)); /* LCOV_EXCL_LINE */ - if (readnb < (ssize_t) 0) { - return readnb; /* LCOV_EXCL_LINE */ - } - if (readnb == (ssize_t) 0) { - break; /* LCOV_EXCL_LINE */ - } - size -= (size_t) readnb; - buf += readnb; - } while (size > (ssize_t) 0); - - return (ssize_t) (buf - (unsigned char *) buf_); -} - -# endif /* !NONEXISTENT_DEV_RANDOM */ - -static void -randombytes_internal_random_init(void) -{ - const int errno_save = errno; - - global.rdrand_available = sodium_runtime_has_rdrand(); - global.getentropy_available = 0; - global.getrandom_available = 0; - -# ifdef HAVE_GETENTROPY - { - unsigned char fodder[16]; - - if (randombytes_getentropy(fodder, sizeof fodder) == 0) { - global.getentropy_available = 1; - errno = errno_save; - return; - } - } -# elif defined(HAVE_LINUX_COMPATIBLE_GETRANDOM) - { - unsigned char fodder[16]; - - if (randombytes_linux_getrandom(fodder, sizeof fodder) == 0) { - global.getrandom_available = 1; - errno = errno_save; - return; - } - } -# endif -/* LCOV_EXCL_START */ -# if !defined(NONEXISTENT_DEV_RANDOM) - assert((global.getentropy_available | global.getrandom_available) == 0); - if ((global.random_data_source_fd = - randombytes_internal_random_random_dev_open()) == -1) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - errno = errno_save; - return; -# endif -/* LCOV_EXCL_STOP */ -# ifndef HAVE_SAFE_ARC4RANDOM - sodium_misuse(); -# endif -} - -#endif /* _WIN32 */ - -/* - * (Re)seed the generator using the entropy source - */ - -static void -randombytes_internal_random_stir(void) -{ - stream.nonce = sodium_hrtime(); - assert(stream.nonce != (uint64_t) 0U); - memset(stream.rnd32, 0, sizeof stream.rnd32); - stream.rnd32_outleft = (size_t) 0U; - if (global.initialized == 0) { - randombytes_internal_random_init(); - global.initialized = 1; - } -#ifdef HAVE_GETPID - global.pid = getpid(); -#endif - -#ifndef _WIN32 - -# ifdef HAVE_GETENTROPY - if (global.getentropy_available != 0) { - if (randombytes_getentropy(stream.key, sizeof stream.key) != 0) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - } -# elif defined(HAVE_LINUX_COMPATIBLE_GETRANDOM) - if (global.getrandom_available != 0) { - if (randombytes_linux_getrandom(stream.key, sizeof stream.key) != 0) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - } -# elif defined(NONEXISTENT_DEV_RANDOM) && defined(HAVE_SAFE_ARC4RANDOM) - arc4random_buf(stream.key, sizeof stream.key); -# elif !defined(NONEXISTENT_DEV_RANDOM) - if (global.random_data_source_fd == -1 || - safe_read(global.random_data_source_fd, stream.key, - sizeof stream.key) != (ssize_t) sizeof stream.key) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } -# else - sodium_misuse(); -# endif - -#else /* _WIN32 */ - if (! RtlGenRandom((PVOID) stream.key, (ULONG) sizeof stream.key)) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } -#endif - - stream.initialized = 1; -} - -/* - * Reseed the generator if it hasn't been initialized yet - */ - -static void -randombytes_internal_random_stir_if_needed(void) -{ -#ifdef HAVE_GETPID - if (stream.initialized == 0) { - randombytes_internal_random_stir(); - } else if (global.pid != getpid()) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } -#else - if (stream.initialized == 0) { - randombytes_internal_random_stir(); - } -#endif -} - -/* - * Close the stream, free global resources - */ - -#ifdef _WIN32 -static int -randombytes_internal_random_close(void) -{ - int ret = -1; - - if (global.initialized != 0) { - global.initialized = 0; - ret = 0; - } - sodium_memzero(&stream, sizeof stream); - - return ret; -} -#else -static int -randombytes_internal_random_close(void) -{ - int ret = -1; - -# ifdef HAVE_GETENTROPY - if (global.getentropy_available != 0) { - ret = 0; - } -# elif defined(HAVE_LINUX_COMPATIBLE_GETRANDOM) - if (global.getrandom_available != 0) { - ret = 0; - } -# elif !defined(NONEXISTENT_DEV_RANDOM) && defined(HAVE_SAFE_ARC4RANDOM) - ret = 0; -# else - if (global.random_data_source_fd != -1 && - close(global.random_data_source_fd) == 0) { - global.random_data_source_fd = -1; - global.initialized = 0; -# ifdef HAVE_GETPID - global.pid = (pid_t) 0; -# endif - ret = 0; - } -# endif - - sodium_memzero(&stream, sizeof stream); - - return ret; -} -#endif - -/* - * RDRAND is only used to mitigate prediction if a key is compromised - */ - -static void -randombytes_internal_random_xorhwrand(void) -{ -/* LCOV_EXCL_START */ -#ifdef HAVE_RDRAND - unsigned int r; - - if (global.rdrand_available == 0) { - return; - } - (void) _rdrand32_step(&r); - * (uint32_t *) (void *) - &stream.key[crypto_stream_chacha20_KEYBYTES - 4] ^= (uint32_t) r; -#endif -/* LCOV_EXCL_STOP */ -} - -/* - * XOR the key with another same-length secret - */ - -static inline void -randombytes_internal_random_xorkey(const unsigned char * const mix) -{ - unsigned char *key = stream.key; - size_t i; - - for (i = (size_t) 0U; i < sizeof stream.key; i++) { - key[i] ^= mix[i]; - } -} - -/* - * Put `size` random bytes into `buf` and overwrite the key - */ - -static void -randombytes_internal_random_buf(void * const buf, const size_t size) -{ - size_t i; - int ret; - - randombytes_internal_random_stir_if_needed(); - COMPILER_ASSERT(sizeof stream.nonce == crypto_stream_chacha20_NONCEBYTES); -#if defined(ULLONG_MAX) && defined(SIZE_MAX) -# if SIZE_MAX > ULLONG_MAX - /* coverity[result_independent_of_operands] */ - assert(size <= ULLONG_MAX); -# endif -#endif - ret = crypto_stream_chacha20((unsigned char *) buf, (unsigned long long) size, - (unsigned char *) &stream.nonce, stream.key); - assert(ret == 0); - for (i = 0U; i < sizeof size; i++) { - stream.key[i] ^= ((const unsigned char *) (const void *) &size)[i]; - } - randombytes_internal_random_xorhwrand(); - stream.nonce++; - crypto_stream_chacha20_xor(stream.key, stream.key, sizeof stream.key, - (unsigned char *) &stream.nonce, stream.key); -} - -/* - * Pop a 32-bit value from the random pool - * - * Overwrite the key after the pool gets refilled. - */ - -static uint32_t -randombytes_internal_random(void) -{ - uint32_t val; - int ret; - - COMPILER_ASSERT(sizeof stream.rnd32 >= (sizeof stream.key) + (sizeof val)); - COMPILER_ASSERT(((sizeof stream.rnd32) - (sizeof stream.key)) - % sizeof val == (size_t) 0U); - if (stream.rnd32_outleft <= (size_t) 0U) { - randombytes_internal_random_stir_if_needed(); - COMPILER_ASSERT(sizeof stream.nonce == crypto_stream_chacha20_NONCEBYTES); - ret = crypto_stream_chacha20((unsigned char *) stream.rnd32, - (unsigned long long) sizeof stream.rnd32, - (unsigned char *) &stream.nonce, - stream.key); - assert(ret == 0); - stream.rnd32_outleft = (sizeof stream.rnd32) - (sizeof stream.key); - randombytes_internal_random_xorhwrand(); - randombytes_internal_random_xorkey(&stream.rnd32[stream.rnd32_outleft]); - memset(&stream.rnd32[stream.rnd32_outleft], 0, sizeof stream.key); - stream.nonce++; - } - stream.rnd32_outleft -= sizeof val; - memcpy(&val, &stream.rnd32[stream.rnd32_outleft], sizeof val); - memset(&stream.rnd32[stream.rnd32_outleft], 0, sizeof val); - - return val; -} - -static const char * -randombytes_internal_implementation_name(void) -{ - return "internal"; -} - -struct randombytes_implementation randombytes_internal_implementation = { - SODIUM_C99(.implementation_name =) randombytes_internal_implementation_name, - SODIUM_C99(.random =) randombytes_internal_random, - SODIUM_C99(.stir =) randombytes_internal_random_stir, - SODIUM_C99(.uniform =) NULL, - SODIUM_C99(.buf =) randombytes_internal_random_buf, - SODIUM_C99(.close =) randombytes_internal_random_close -}; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/randombytes/randombytes.c b/libsodium-1.0.18-RELEASE/src/libsodium/randombytes/randombytes.c deleted file mode 100644 index 8ac085f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/randombytes/randombytes.c +++ /dev/null @@ -1,199 +0,0 @@ - -#include -#include -#include -#include - -#include - -#ifdef __EMSCRIPTEN__ -# include -#endif - -#include "core.h" -#include "crypto_stream_chacha20.h" -#include "randombytes.h" -#ifndef RANDOMBYTES_CUSTOM_IMPLEMENTATION -# ifdef RANDOMBYTES_DEFAULT_IMPLEMENTATION -# include "randombytes_internal.h" -# endif -# include "randombytes_sysrandom.h" -#endif -#include "private/common.h" - -/* C++Builder defines a "random" macro */ -#undef random - -static const randombytes_implementation *implementation; - -#ifndef RANDOMBYTES_DEFAULT_IMPLEMENTATION -# ifdef __EMSCRIPTEN__ -# define RANDOMBYTES_DEFAULT_IMPLEMENTATION NULL -# else -# define RANDOMBYTES_DEFAULT_IMPLEMENTATION &randombytes_sysrandom_implementation; -# endif -#endif - -static void -randombytes_init_if_needed(void) -{ - if (implementation == NULL) { - implementation = RANDOMBYTES_DEFAULT_IMPLEMENTATION; - randombytes_stir(); - } -} - -int -randombytes_set_implementation(randombytes_implementation *impl) -{ - implementation = impl; - - return 0; -} - -const char * -randombytes_implementation_name(void) -{ -#ifndef __EMSCRIPTEN__ - randombytes_init_if_needed(); - return implementation->implementation_name(); -#else - return "js"; -#endif -} - -uint32_t -randombytes_random(void) -{ -#ifndef __EMSCRIPTEN__ - randombytes_init_if_needed(); - return implementation->random(); -#else - return EM_ASM_INT_V({ - return Module.getRandomValue(); - }); -#endif -} - -void -randombytes_stir(void) -{ -#ifndef __EMSCRIPTEN__ - randombytes_init_if_needed(); - if (implementation->stir != NULL) { - implementation->stir(); - } -#else - EM_ASM({ - if (Module.getRandomValue === undefined) { - try { - var window_ = 'object' === typeof window ? window : self; - var crypto_ = typeof window_.crypto !== 'undefined' ? window_.crypto : window_.msCrypto; - var randomValuesStandard = function() { - var buf = new Uint32Array(1); - crypto_.getRandomValues(buf); - return buf[0] >>> 0; - }; - randomValuesStandard(); - Module.getRandomValue = randomValuesStandard; - } catch (e) { - try { - var crypto = require('crypto'); - var randomValueNodeJS = function() { - var buf = crypto['randomBytes'](4); - return (buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]) >>> 0; - }; - randomValueNodeJS(); - Module.getRandomValue = randomValueNodeJS; - } catch (e) { - throw 'No secure random number generator found'; - } - } - } - }); -#endif -} - -uint32_t -randombytes_uniform(const uint32_t upper_bound) -{ - uint32_t min; - uint32_t r; - -#ifndef __EMSCRIPTEN__ - randombytes_init_if_needed(); - if (implementation->uniform != NULL) { - return implementation->uniform(upper_bound); - } -#endif - if (upper_bound < 2) { - return 0; - } - min = (1U + ~upper_bound) % upper_bound; /* = 2**32 mod upper_bound */ - do { - r = randombytes_random(); - } while (r < min); - /* r is now clamped to a set whose size mod upper_bound == 0 - * the worst case (2**31+1) requires ~ 2 attempts */ - - return r % upper_bound; -} - -void -randombytes_buf(void * const buf, const size_t size) -{ -#ifndef __EMSCRIPTEN__ - randombytes_init_if_needed(); - if (size > (size_t) 0U) { - implementation->buf(buf, size); - } -#else - unsigned char *p = (unsigned char *) buf; - size_t i; - - for (i = (size_t) 0U; i < size; i++) { - p[i] = (unsigned char) randombytes_random(); - } -#endif -} - -void -randombytes_buf_deterministic(void * const buf, const size_t size, - const unsigned char seed[randombytes_SEEDBYTES]) -{ - static const unsigned char nonce[crypto_stream_chacha20_ietf_NONCEBYTES] = { - 'L', 'i', 'b', 's', 'o', 'd', 'i', 'u', 'm', 'D', 'R', 'G' - }; - - COMPILER_ASSERT(randombytes_SEEDBYTES == crypto_stream_chacha20_ietf_KEYBYTES); -#if SIZE_MAX > 0x4000000000ULL - COMPILER_ASSERT(randombytes_BYTES_MAX <= 0x4000000000ULL); - if (size > 0x4000000000ULL) { - sodium_misuse(); - } -#endif - crypto_stream_chacha20_ietf((unsigned char *) buf, (unsigned long long) size, - nonce, seed); -} - -size_t -randombytes_seedbytes(void) -{ - return randombytes_SEEDBYTES; -} - -int -randombytes_close(void) -{ - if (implementation != NULL && implementation->close != NULL) { - return implementation->close(); - } - return 0; -} - -void -randombytes(unsigned char * const buf, const unsigned long long buf_len) -{ - assert(buf_len <= SIZE_MAX); - randombytes_buf(buf, (size_t) buf_len); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c b/libsodium-1.0.18-RELEASE/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c deleted file mode 100644 index 6657e8e..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +++ /dev/null @@ -1,396 +0,0 @@ - -#include -#include -#include -#include -#include -#include -#ifndef _WIN32 -# include -#endif -#include - -#include -#ifndef _WIN32 -# include -# include -#endif -#ifdef __linux__ -# define _LINUX_SOURCE -#endif -#ifdef HAVE_SYS_RANDOM_H -# include -#endif -#ifdef __linux__ -# ifdef HAVE_GETRANDOM -# define HAVE_LINUX_COMPATIBLE_GETRANDOM -# else -# include -# if defined(SYS_getrandom) && defined(__NR_getrandom) -# define getrandom(B, S, F) syscall(SYS_getrandom, (B), (int) (S), (F)) -# define HAVE_LINUX_COMPATIBLE_GETRANDOM -# endif -# endif -#elif defined(__FreeBSD__) -# include -# if defined(__FreeBSD_version) && __FreeBSD_version >= 1200000 -# define HAVE_LINUX_COMPATIBLE_GETRANDOM -# endif -#endif -#if !defined(NO_BLOCKING_RANDOM_POLL) && defined(__linux__) -# define BLOCK_ON_DEV_RANDOM -#endif -#ifdef BLOCK_ON_DEV_RANDOM -# include -#endif - -#include "core.h" -#include "private/common.h" -#include "randombytes.h" -#include "randombytes_sysrandom.h" -#include "utils.h" - -#ifdef _WIN32 -/* `RtlGenRandom` is used over `CryptGenRandom` on Microsoft Windows based systems: - * - `CryptGenRandom` requires pulling in `CryptoAPI` which causes unnecessary - * memory overhead if this API is not being used for other purposes - * - `RtlGenRandom` is thus called directly instead. A detailed explanation - * can be found here: https://blogs.msdn.microsoft.com/michael_howard/2005/01/14/cryptographically-secure-random-number-on-windows-without-using-cryptoapi/ - * - * In spite of the disclaimer on the `RtlGenRandom` documentation page that was - * written back in the Windows XP days, this function is here to stay. The CRT - * function `rand_s()` directly depends on it, so touching it would break many - * applications released since Windows XP. - * - * Also note that Rust, Firefox and BoringSSL (thus, Google Chrome and everything - * based on Chromium) also depend on it, and that libsodium allows the RNG to be - * replaced without patching nor recompiling the library. - */ -# include -# define RtlGenRandom SystemFunction036 -# if defined(__cplusplus) -extern "C" -# endif -BOOLEAN NTAPI RtlGenRandom(PVOID RandomBuffer, ULONG RandomBufferLength); -# pragma comment(lib, "advapi32.lib") -#endif - -#if defined(__OpenBSD__) || defined(__CloudABI__) || defined(__wasi__) -# define HAVE_SAFE_ARC4RANDOM 1 -#endif - -#ifndef SSIZE_MAX -# define SSIZE_MAX (SIZE_MAX / 2 - 1) -#endif - -#ifdef HAVE_SAFE_ARC4RANDOM - -static uint32_t -randombytes_sysrandom(void) -{ - return arc4random(); -} - -static void -randombytes_sysrandom_stir(void) -{ -} - -static void -randombytes_sysrandom_buf(void * const buf, const size_t size) -{ - arc4random_buf(buf, size); -} - -static int -randombytes_sysrandom_close(void) -{ - return 0; -} - -#else /* HAVE_SAFE_ARC4RANDOM */ - -typedef struct SysRandom_ { - int random_data_source_fd; - int initialized; - int getrandom_available; -} SysRandom; - -static SysRandom stream = { - SODIUM_C99(.random_data_source_fd =) -1, - SODIUM_C99(.initialized =) 0, - SODIUM_C99(.getrandom_available =) 0 -}; - -# ifndef _WIN32 -static ssize_t -safe_read(const int fd, void * const buf_, size_t size) -{ - unsigned char *buf = (unsigned char *) buf_; - ssize_t readnb; - - assert(size > (size_t) 0U); - assert(size <= SSIZE_MAX); - do { - while ((readnb = read(fd, buf, size)) < (ssize_t) 0 && - (errno == EINTR || errno == EAGAIN)); /* LCOV_EXCL_LINE */ - if (readnb < (ssize_t) 0) { - return readnb; /* LCOV_EXCL_LINE */ - } - if (readnb == (ssize_t) 0) { - break; /* LCOV_EXCL_LINE */ - } - size -= (size_t) readnb; - buf += readnb; - } while (size > (ssize_t) 0); - - return (ssize_t) (buf - (unsigned char *) buf_); -} - -# ifdef BLOCK_ON_DEV_RANDOM -static int -randombytes_block_on_dev_random(void) -{ - struct pollfd pfd; - int fd; - int pret; - - fd = open("/dev/random", O_RDONLY); - if (fd == -1) { - return 0; - } - pfd.fd = fd; - pfd.events = POLLIN; - pfd.revents = 0; - do { - pret = poll(&pfd, 1, -1); - } while (pret < 0 && (errno == EINTR || errno == EAGAIN)); - if (pret != 1) { - (void) close(fd); - errno = EIO; - return -1; - } - return close(fd); -} -# endif /* BLOCK_ON_DEV_RANDOM */ - -static int -randombytes_sysrandom_random_dev_open(void) -{ -/* LCOV_EXCL_START */ - struct stat st; - static const char *devices[] = { -# ifndef USE_BLOCKING_RANDOM - "/dev/urandom", -# endif - "/dev/random", NULL - }; - const char **device = devices; - int fd; - -# ifdef BLOCK_ON_DEV_RANDOM - if (randombytes_block_on_dev_random() != 0) { - return -1; - } -# endif - do { - fd = open(*device, O_RDONLY); - if (fd != -1) { - if (fstat(fd, &st) == 0 && -# ifdef __COMPCERT__ - 1 -# elif defined(S_ISNAM) - (S_ISNAM(st.st_mode) || S_ISCHR(st.st_mode)) -# else - S_ISCHR(st.st_mode) -# endif - ) { -# if defined(F_SETFD) && defined(FD_CLOEXEC) - (void) fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); -# endif - return fd; - } - (void) close(fd); - } else if (errno == EINTR) { - continue; - } - device++; - } while (*device != NULL); - - errno = EIO; - return -1; -/* LCOV_EXCL_STOP */ -} - -# ifdef HAVE_LINUX_COMPATIBLE_GETRANDOM -static int -_randombytes_linux_getrandom(void * const buf, const size_t size) -{ - int readnb; - - assert(size <= 256U); - do { - readnb = getrandom(buf, size, 0); - } while (readnb < 0 && (errno == EINTR || errno == EAGAIN)); - - return (readnb == (int) size) - 1; -} - -static int -randombytes_linux_getrandom(void * const buf_, size_t size) -{ - unsigned char *buf = (unsigned char *) buf_; - size_t chunk_size = 256U; - - do { - if (size < chunk_size) { - chunk_size = size; - assert(chunk_size > (size_t) 0U); - } - if (_randombytes_linux_getrandom(buf, chunk_size) != 0) { - return -1; - } - size -= chunk_size; - buf += chunk_size; - } while (size > (size_t) 0U); - - return 0; -} -# endif /* HAVE_LINUX_COMPATIBLE_GETRANDOM */ - -static void -randombytes_sysrandom_init(void) -{ - const int errno_save = errno; - -# ifdef HAVE_LINUX_COMPATIBLE_GETRANDOM - { - unsigned char fodder[16]; - - if (randombytes_linux_getrandom(fodder, sizeof fodder) == 0) { - stream.getrandom_available = 1; - errno = errno_save; - return; - } - stream.getrandom_available = 0; - } -# endif - - if ((stream.random_data_source_fd = - randombytes_sysrandom_random_dev_open()) == -1) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - errno = errno_save; -} - -# else /* _WIN32 */ - -static void -randombytes_sysrandom_init(void) -{ -} -# endif /* _WIN32 */ - -static void -randombytes_sysrandom_stir(void) -{ - if (stream.initialized == 0) { - randombytes_sysrandom_init(); - stream.initialized = 1; - } -} - -static void -randombytes_sysrandom_stir_if_needed(void) -{ - if (stream.initialized == 0) { - randombytes_sysrandom_stir(); - } -} - -static int -randombytes_sysrandom_close(void) -{ - int ret = -1; - -# ifndef _WIN32 - if (stream.random_data_source_fd != -1 && - close(stream.random_data_source_fd) == 0) { - stream.random_data_source_fd = -1; - stream.initialized = 0; - ret = 0; - } -# ifdef HAVE_LINUX_COMPATIBLE_GETRANDOM - if (stream.getrandom_available != 0) { - ret = 0; - } -# endif -# else /* _WIN32 */ - if (stream.initialized != 0) { - stream.initialized = 0; - ret = 0; - } -# endif /* _WIN32 */ - return ret; -} - -static void -randombytes_sysrandom_buf(void * const buf, const size_t size) -{ - randombytes_sysrandom_stir_if_needed(); -# if defined(ULLONG_MAX) && defined(SIZE_MAX) -# if SIZE_MAX > ULLONG_MAX - /* coverity[result_independent_of_operands] */ - assert(size <= ULLONG_MAX); -# endif -# endif -# ifndef _WIN32 -# ifdef HAVE_LINUX_COMPATIBLE_GETRANDOM - if (stream.getrandom_available != 0) { - if (randombytes_linux_getrandom(buf, size) != 0) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - return; - } -# endif - if (stream.random_data_source_fd == -1 || - safe_read(stream.random_data_source_fd, buf, size) != (ssize_t) size) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } -# else /* _WIN32 */ - COMPILER_ASSERT(randombytes_BYTES_MAX <= 0xffffffffUL); - if (size > (size_t) 0xffffffffUL) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - if (! RtlGenRandom((PVOID) buf, (ULONG) size)) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } -# endif /* _WIN32 */ -} - -static uint32_t -randombytes_sysrandom(void) -{ - uint32_t r; - - randombytes_sysrandom_buf(&r, sizeof r); - - return r; -} - -#endif /* HAVE_SAFE_ARC4RANDOM */ - -static const char * -randombytes_sysrandom_implementation_name(void) -{ - return "sysrandom"; -} - -struct randombytes_implementation randombytes_sysrandom_implementation = { - SODIUM_C99(.implementation_name =) randombytes_sysrandom_implementation_name, - SODIUM_C99(.random =) randombytes_sysrandom, - SODIUM_C99(.stir =) randombytes_sysrandom_stir, - SODIUM_C99(.uniform =) NULL, - SODIUM_C99(.buf =) randombytes_sysrandom_buf, - SODIUM_C99(.close =) randombytes_sysrandom_close -}; diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/sodium/codecs.c b/libsodium-1.0.18-RELEASE/src/libsodium/sodium/codecs.c deleted file mode 100644 index 77fa464..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/sodium/codecs.c +++ /dev/null @@ -1,333 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include "core.h" -#include "utils.h" - -/* Derived from original code by CodesInChaos */ -char * -sodium_bin2hex(char *const hex, const size_t hex_maxlen, - const unsigned char *const bin, const size_t bin_len) -{ - size_t i = (size_t) 0U; - unsigned int x; - int b; - int c; - - if (bin_len >= SIZE_MAX / 2 || hex_maxlen <= bin_len * 2U) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - while (i < bin_len) { - c = bin[i] & 0xf; - b = bin[i] >> 4; - x = (unsigned char) (87U + c + (((c - 10U) >> 8) & ~38U)) << 8 | - (unsigned char) (87U + b + (((b - 10U) >> 8) & ~38U)); - hex[i * 2U] = (char) x; - x >>= 8; - hex[i * 2U + 1U] = (char) x; - i++; - } - hex[i * 2U] = 0U; - - return hex; -} - -int -sodium_hex2bin(unsigned char *const bin, const size_t bin_maxlen, - const char *const hex, const size_t hex_len, - const char *const ignore, size_t *const bin_len, - const char **const hex_end) -{ - size_t bin_pos = (size_t) 0U; - size_t hex_pos = (size_t) 0U; - int ret = 0; - unsigned char c; - unsigned char c_acc = 0U; - unsigned char c_alpha0, c_alpha; - unsigned char c_num0, c_num; - unsigned char c_val; - unsigned char state = 0U; - - while (hex_pos < hex_len) { - c = (unsigned char) hex[hex_pos]; - c_num = c ^ 48U; - c_num0 = (c_num - 10U) >> 8; - c_alpha = (c & ~32U) - 55U; - c_alpha0 = ((c_alpha - 10U) ^ (c_alpha - 16U)) >> 8; - if ((c_num0 | c_alpha0) == 0U) { - if (ignore != NULL && state == 0U && strchr(ignore, c) != NULL) { - hex_pos++; - continue; - } - break; - } - c_val = (c_num0 & c_num) | (c_alpha0 & c_alpha); - if (bin_pos >= bin_maxlen) { - ret = -1; - errno = ERANGE; - break; - } - if (state == 0U) { - c_acc = c_val * 16U; - } else { - bin[bin_pos++] = c_acc | c_val; - } - state = ~state; - hex_pos++; - } - if (state != 0U) { - hex_pos--; - errno = EINVAL; - ret = -1; - } - if (ret != 0) { - bin_pos = (size_t) 0U; - } - if (hex_end != NULL) { - *hex_end = &hex[hex_pos]; - } else if (hex_pos != hex_len) { - errno = EINVAL; - ret = -1; - } - if (bin_len != NULL) { - *bin_len = bin_pos; - } - return ret; -} - -/* - * Some macros for constant-time comparisons. These work over values in - * the 0..255 range. Returned value is 0x00 on "false", 0xFF on "true". - * - * Original code by Thomas Pornin. - */ -#define EQ(x, y) \ - ((((0U - ((unsigned int) (x) ^ (unsigned int) (y))) >> 8) & 0xFF) ^ 0xFF) -#define GT(x, y) ((((unsigned int) (y) - (unsigned int) (x)) >> 8) & 0xFF) -#define GE(x, y) (GT(y, x) ^ 0xFF) -#define LT(x, y) GT(y, x) -#define LE(x, y) GE(y, x) - -static int -b64_byte_to_char(unsigned int x) -{ - return (LT(x, 26) & (x + 'A')) | - (GE(x, 26) & LT(x, 52) & (x + ('a' - 26))) | - (GE(x, 52) & LT(x, 62) & (x + ('0' - 52))) | (EQ(x, 62) & '+') | - (EQ(x, 63) & '/'); -} - -static unsigned int -b64_char_to_byte(int c) -{ - const unsigned int x = - (GE(c, 'A') & LE(c, 'Z') & (c - 'A')) | - (GE(c, 'a') & LE(c, 'z') & (c - ('a' - 26))) | - (GE(c, '0') & LE(c, '9') & (c - ('0' - 52))) | (EQ(c, '+') & 62) | - (EQ(c, '/') & 63); - - return x | (EQ(x, 0) & (EQ(c, 'A') ^ 0xFF)); -} - -static int -b64_byte_to_urlsafe_char(unsigned int x) -{ - return (LT(x, 26) & (x + 'A')) | - (GE(x, 26) & LT(x, 52) & (x + ('a' - 26))) | - (GE(x, 52) & LT(x, 62) & (x + ('0' - 52))) | (EQ(x, 62) & '-') | - (EQ(x, 63) & '_'); -} - -static unsigned int -b64_urlsafe_char_to_byte(int c) -{ - const unsigned x = - (GE(c, 'A') & LE(c, 'Z') & (c - 'A')) | - (GE(c, 'a') & LE(c, 'z') & (c - ('a' - 26))) | - (GE(c, '0') & LE(c, '9') & (c - ('0' - 52))) | (EQ(c, '-') & 62) | - (EQ(c, '_') & 63); - - return x | (EQ(x, 0) & (EQ(c, 'A') ^ 0xFF)); -} - - -#define VARIANT_NO_PADDING_MASK 0x2U -#define VARIANT_URLSAFE_MASK 0x4U - -static void -sodium_base64_check_variant(const int variant) -{ - if ((((unsigned int) variant) & ~ 0x6U) != 0x1U) { - sodium_misuse(); - } -} - -size_t -sodium_base64_encoded_len(const size_t bin_len, const int variant) -{ - sodium_base64_check_variant(variant); - - return sodium_base64_ENCODED_LEN(bin_len, variant); -} - -char * -sodium_bin2base64(char * const b64, const size_t b64_maxlen, - const unsigned char * const bin, const size_t bin_len, - const int variant) -{ - size_t acc_len = (size_t) 0; - size_t b64_len; - size_t b64_pos = (size_t) 0; - size_t bin_pos = (size_t) 0; - size_t nibbles; - size_t remainder; - unsigned int acc = 0U; - - sodium_base64_check_variant(variant); - nibbles = bin_len / 3; - remainder = bin_len - 3 * nibbles; - b64_len = nibbles * 4; - if (remainder != 0) { - if ((((unsigned int) variant) & VARIANT_NO_PADDING_MASK) == 0U) { - b64_len += 4; - } else { - b64_len += 2 + (remainder >> 1); - } - } - if (b64_maxlen <= b64_len) { - sodium_misuse(); - } - if ((((unsigned int) variant) & VARIANT_URLSAFE_MASK) != 0U) { - while (bin_pos < bin_len) { - acc = (acc << 8) + bin[bin_pos++]; - acc_len += 8; - while (acc_len >= 6) { - acc_len -= 6; - b64[b64_pos++] = (char) b64_byte_to_urlsafe_char((acc >> acc_len) & 0x3F); - } - } - if (acc_len > 0) { - b64[b64_pos++] = (char) b64_byte_to_urlsafe_char((acc << (6 - acc_len)) & 0x3F); - } - } else { - while (bin_pos < bin_len) { - acc = (acc << 8) + bin[bin_pos++]; - acc_len += 8; - while (acc_len >= 6) { - acc_len -= 6; - b64[b64_pos++] = (char) b64_byte_to_char((acc >> acc_len) & 0x3F); - } - } - if (acc_len > 0) { - b64[b64_pos++] = (char) b64_byte_to_char((acc << (6 - acc_len)) & 0x3F); - } - } - assert(b64_pos <= b64_len); - while (b64_pos < b64_len) { - b64[b64_pos++] = '='; - } - do { - b64[b64_pos++] = 0U; - } while (b64_pos < b64_maxlen); - - return b64; -} - -static int -_sodium_base642bin_skip_padding(const char * const b64, const size_t b64_len, - size_t * const b64_pos_p, - const char * const ignore, size_t padding_len) -{ - int c; - - while (padding_len > 0) { - if (*b64_pos_p >= b64_len) { - errno = ERANGE; - return -1; - } - c = b64[*b64_pos_p]; - if (c == '=') { - padding_len--; - } else if (ignore == NULL || strchr(ignore, c) == NULL) { - errno = EINVAL; - return -1; - } - (*b64_pos_p)++; - } - return 0; -} - -int -sodium_base642bin(unsigned char * const bin, const size_t bin_maxlen, - const char * const b64, const size_t b64_len, - const char * const ignore, size_t * const bin_len, - const char ** const b64_end, const int variant) -{ - size_t acc_len = (size_t) 0; - size_t b64_pos = (size_t) 0; - size_t bin_pos = (size_t) 0; - int is_urlsafe; - int ret = 0; - unsigned int acc = 0U; - unsigned int d; - char c; - - sodium_base64_check_variant(variant); - is_urlsafe = ((unsigned int) variant) & VARIANT_URLSAFE_MASK; - while (b64_pos < b64_len) { - c = b64[b64_pos]; - if (is_urlsafe) { - d = b64_urlsafe_char_to_byte(c); - } else { - d = b64_char_to_byte(c); - } - if (d == 0xFF) { - if (ignore != NULL && strchr(ignore, c) != NULL) { - b64_pos++; - continue; - } - break; - } - acc = (acc << 6) + d; - acc_len += 6; - if (acc_len >= 8) { - acc_len -= 8; - if (bin_pos >= bin_maxlen) { - errno = ERANGE; - ret = -1; - break; - } - bin[bin_pos++] = (acc >> acc_len) & 0xFF; - } - b64_pos++; - } - if (acc_len > 4U || (acc & ((1U << acc_len) - 1U)) != 0U) { - ret = -1; - } else if (ret == 0 && - (((unsigned int) variant) & VARIANT_NO_PADDING_MASK) == 0U) { - ret = _sodium_base642bin_skip_padding(b64, b64_len, &b64_pos, ignore, - acc_len / 2); - } - if (ret != 0) { - bin_pos = (size_t) 0U; - } else if (ignore != NULL) { - while (b64_pos < b64_len && strchr(ignore, b64[b64_pos]) != NULL) { - b64_pos++; - } - } - if (b64_end != NULL) { - *b64_end = &b64[b64_pos]; - } else if (b64_pos != b64_len) { - errno = EINVAL; - ret = -1; - } - if (bin_len != NULL) { - *bin_len = bin_pos; - } - return ret; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/sodium/core.c b/libsodium-1.0.18-RELEASE/src/libsodium/sodium/core.c deleted file mode 100644 index 7a6943d..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/sodium/core.c +++ /dev/null @@ -1,214 +0,0 @@ - -#include -#include -#include -#include -#ifdef _WIN32 -# include -#elif defined(HAVE_PTHREAD) -# include -#endif - -#include "core.h" -#include "crypto_generichash.h" -#include "crypto_onetimeauth.h" -#include "crypto_scalarmult.h" -#include "crypto_stream_chacha20.h" -#include "crypto_stream_salsa20.h" -#include "randombytes.h" -#include "runtime.h" -#include "utils.h" -#include "private/implementations.h" -#include "private/mutex.h" - -static volatile int initialized; -static volatile int locked; - -int -sodium_init(void) -{ - if (sodium_crit_enter() != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - if (initialized != 0) { - if (sodium_crit_leave() != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - return 1; - } - _sodium_runtime_get_cpu_features(); - randombytes_stir(); - _sodium_alloc_init(); - _crypto_pwhash_argon2_pick_best_implementation(); - _crypto_generichash_blake2b_pick_best_implementation(); - _crypto_onetimeauth_poly1305_pick_best_implementation(); - _crypto_scalarmult_curve25519_pick_best_implementation(); - _crypto_stream_chacha20_pick_best_implementation(); - _crypto_stream_salsa20_pick_best_implementation(); - initialized = 1; - if (sodium_crit_leave() != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} - -#ifdef _WIN32 - -static CRITICAL_SECTION _sodium_lock; -static volatile LONG _sodium_lock_initialized; - -int -_sodium_crit_init(void) -{ - LONG status = 0L; - - while ((status = InterlockedCompareExchange(&_sodium_lock_initialized, - 1L, 0L)) == 1L) { - Sleep(0); - } - - switch (status) { - case 0L: - InitializeCriticalSection(&_sodium_lock); - return InterlockedExchange(&_sodium_lock_initialized, 2L) == 1L ? 0 : -1; - case 2L: - return 0; - default: /* should never be reached */ - return -1; - } -} - -int -sodium_crit_enter(void) -{ - if (_sodium_crit_init() != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - EnterCriticalSection(&_sodium_lock); - assert(locked == 0); - locked = 1; - - return 0; -} - -int -sodium_crit_leave(void) -{ - if (locked == 0) { -# ifdef EPERM - errno = EPERM; -# endif - return -1; - } - locked = 0; - LeaveCriticalSection(&_sodium_lock); - - return 0; -} - -#elif defined(HAVE_PTHREAD) && !defined(__EMSCRIPTEN__) - -static pthread_mutex_t _sodium_lock = PTHREAD_MUTEX_INITIALIZER; - -int -sodium_crit_enter(void) -{ - int ret; - - if ((ret = pthread_mutex_lock(&_sodium_lock)) == 0) { - assert(locked == 0); - locked = 1; - } - return ret; -} - -int -sodium_crit_leave(void) -{ - if (locked == 0) { -# ifdef EPERM - errno = EPERM; -# endif - return -1; - } - locked = 0; - - return pthread_mutex_unlock(&_sodium_lock); -} - -#elif defined(HAVE_ATOMIC_OPS) && !defined(__EMSCRIPTEN__) - -static volatile int _sodium_lock; - -int -sodium_crit_enter(void) -{ -# ifdef HAVE_NANOSLEEP - struct timespec q; - memset(&q, 0, sizeof q); -# endif - while (__sync_lock_test_and_set(&_sodium_lock, 1) != 0) { -# ifdef HAVE_NANOSLEEP - (void) nanosleep(&q, NULL); -# elif defined(__x86_64__) || defined(__i386__) - __asm__ __volatile__ ("pause"); -# endif - } - return 0; -} - -int -sodium_crit_leave(void) -{ - __sync_lock_release(&_sodium_lock); - - return 0; -} - -#else - -int -sodium_crit_enter(void) -{ - return 0; -} - -int -sodium_crit_leave(void) -{ - return 0; -} - -#endif - -static void (*_misuse_handler)(void); - -void -sodium_misuse(void) -{ - void (*handler)(void); - - (void) sodium_crit_leave(); - if (sodium_crit_enter() == 0) { - handler = _misuse_handler; - if (handler != NULL) { - handler(); - } - } -/* LCOV_EXCL_START */ - abort(); -} -/* LCOV_EXCL_STOP */ - -int -sodium_set_misuse_handler(void (*handler)(void)) -{ - if (sodium_crit_enter() != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - _misuse_handler = handler; - if (sodium_crit_leave() != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/sodium/runtime.c b/libsodium-1.0.18-RELEASE/src/libsodium/sodium/runtime.c deleted file mode 100644 index 9dfe54f..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/sodium/runtime.c +++ /dev/null @@ -1,309 +0,0 @@ -#include -#include -#ifdef HAVE_ANDROID_GETCPUFEATURES -# include -#endif - -#include "private/common.h" -#include "runtime.h" - -typedef struct CPUFeatures_ { - int initialized; - int has_neon; - int has_sse2; - int has_sse3; - int has_ssse3; - int has_sse41; - int has_avx; - int has_avx2; - int has_avx512f; - int has_pclmul; - int has_aesni; - int has_rdrand; -} CPUFeatures; - -static CPUFeatures _cpu_features; - -#define CPUID_EBX_AVX2 0x00000020 -#define CPUID_EBX_AVX512F 0x00010000 - -#define CPUID_ECX_SSE3 0x00000001 -#define CPUID_ECX_PCLMUL 0x00000002 -#define CPUID_ECX_SSSE3 0x00000200 -#define CPUID_ECX_SSE41 0x00080000 -#define CPUID_ECX_AESNI 0x02000000 -#define CPUID_ECX_XSAVE 0x04000000 -#define CPUID_ECX_OSXSAVE 0x08000000 -#define CPUID_ECX_AVX 0x10000000 -#define CPUID_ECX_RDRAND 0x40000000 - -#define CPUID_EDX_SSE2 0x04000000 - -#define XCR0_SSE 0x00000002 -#define XCR0_AVX 0x00000004 -#define XCR0_OPMASK 0x00000020 -#define XCR0_ZMM_HI256 0x00000040 -#define XCR0_HI16_ZMM 0x00000080 - -static int -_sodium_runtime_arm_cpu_features(CPUFeatures * const cpu_features) -{ -#ifndef __arm__ - cpu_features->has_neon = 0; - return -1; -#else -# ifdef __APPLE__ -# ifdef __ARM_NEON__ - cpu_features->has_neon = 1; -# else - cpu_features->has_neon = 0; -# endif -# elif defined(HAVE_ANDROID_GETCPUFEATURES) && \ - defined(ANDROID_CPU_ARM_FEATURE_NEON) - cpu_features->has_neon = - (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0x0; -# else - cpu_features->has_neon = 0; -# endif - return 0; -#endif -} - -static void -_cpuid(unsigned int cpu_info[4U], const unsigned int cpu_info_type) -{ -#if defined(_MSC_VER) && \ - (defined(_M_X64) || defined(_M_AMD64) || defined(_M_IX86)) - __cpuid((int *) cpu_info, cpu_info_type); -#elif defined(HAVE_CPUID) - cpu_info[0] = cpu_info[1] = cpu_info[2] = cpu_info[3] = 0; -# ifdef __i386__ - __asm__ __volatile__( - "pushfl; pushfl; " - "popl %0; " - "movl %0, %1; xorl %2, %0; " - "pushl %0; " - "popfl; pushfl; popl %0; popfl" - : "=&r"(cpu_info[0]), "=&r"(cpu_info[1]) - : "i"(0x200000)); - if (((cpu_info[0] ^ cpu_info[1]) & 0x200000) == 0x0) { - return; /* LCOV_EXCL_LINE */ - } -# endif -# ifdef __i386__ - __asm__ __volatile__("xchgl %%ebx, %k1; cpuid; xchgl %%ebx, %k1" - : "=a"(cpu_info[0]), "=&r"(cpu_info[1]), - "=c"(cpu_info[2]), "=d"(cpu_info[3]) - : "0"(cpu_info_type), "2"(0U)); -# elif defined(__x86_64__) - __asm__ __volatile__("xchgq %%rbx, %q1; cpuid; xchgq %%rbx, %q1" - : "=a"(cpu_info[0]), "=&r"(cpu_info[1]), - "=c"(cpu_info[2]), "=d"(cpu_info[3]) - : "0"(cpu_info_type), "2"(0U)); -# else - __asm__ __volatile__("cpuid" - : "=a"(cpu_info[0]), "=b"(cpu_info[1]), - "=c"(cpu_info[2]), "=d"(cpu_info[3]) - : "0"(cpu_info_type), "2"(0U)); -# endif -#else - (void) cpu_info_type; - cpu_info[0] = cpu_info[1] = cpu_info[2] = cpu_info[3] = 0; -#endif -} - -static int -_sodium_runtime_intel_cpu_features(CPUFeatures * const cpu_features) -{ - unsigned int cpu_info[4]; - unsigned int id; - uint32_t xcr0 = 0U; - - _cpuid(cpu_info, 0x0); - if ((id = cpu_info[0]) == 0U) { - return -1; /* LCOV_EXCL_LINE */ - } - _cpuid(cpu_info, 0x00000001); -#ifdef HAVE_EMMINTRIN_H - cpu_features->has_sse2 = ((cpu_info[3] & CPUID_EDX_SSE2) != 0x0); -#else - cpu_features->has_sse2 = 0; -#endif - -#ifdef HAVE_PMMINTRIN_H - cpu_features->has_sse3 = ((cpu_info[2] & CPUID_ECX_SSE3) != 0x0); -#else - cpu_features->has_sse3 = 0; -#endif - -#ifdef HAVE_TMMINTRIN_H - cpu_features->has_ssse3 = ((cpu_info[2] & CPUID_ECX_SSSE3) != 0x0); -#else - cpu_features->has_ssse3 = 0; -#endif - -#ifdef HAVE_SMMINTRIN_H - cpu_features->has_sse41 = ((cpu_info[2] & CPUID_ECX_SSE41) != 0x0); -#else - cpu_features->has_sse41 = 0; -#endif - - cpu_features->has_avx = 0; - - (void) xcr0; -#ifdef HAVE_AVXINTRIN_H - if ((cpu_info[2] & (CPUID_ECX_AVX | CPUID_ECX_XSAVE | CPUID_ECX_OSXSAVE)) == - (CPUID_ECX_AVX | CPUID_ECX_XSAVE | CPUID_ECX_OSXSAVE)) { - xcr0 = 0U; -# if defined(HAVE__XGETBV) || \ - (defined(_MSC_VER) && defined(_XCR_XFEATURE_ENABLED_MASK) && _MSC_FULL_VER >= 160040219) - xcr0 = (uint32_t) _xgetbv(0); -# elif defined(_MSC_VER) && defined(_M_IX86) - /* - * Visual Studio documentation states that eax/ecx/edx don't need to - * be preserved in inline assembly code. But that doesn't seem to - * always hold true on Visual Studio 2010. - */ - __asm { - push eax - push ecx - push edx - xor ecx, ecx - _asm _emit 0x0f _asm _emit 0x01 _asm _emit 0xd0 - mov xcr0, eax - pop edx - pop ecx - pop eax - } -# elif defined(HAVE_AVX_ASM) - __asm__ __volatile__(".byte 0x0f, 0x01, 0xd0" /* XGETBV */ - : "=a"(xcr0) - : "c"((uint32_t) 0U) - : "%edx"); -# endif - if ((xcr0 & (XCR0_SSE | XCR0_AVX)) == (XCR0_SSE | XCR0_AVX)) { - cpu_features->has_avx = 1; - } - } -#endif - - cpu_features->has_avx2 = 0; -#ifdef HAVE_AVX2INTRIN_H - if (cpu_features->has_avx) { - unsigned int cpu_info7[4]; - - _cpuid(cpu_info7, 0x00000007); - cpu_features->has_avx2 = ((cpu_info7[1] & CPUID_EBX_AVX2) != 0x0); - } -#endif - - cpu_features->has_avx512f = 0; -#ifdef HAVE_AVX512FINTRIN_H - if (cpu_features->has_avx2) { - unsigned int cpu_info7[4]; - - _cpuid(cpu_info7, 0x00000007); - /* LCOV_EXCL_START */ - if ((cpu_info7[1] & CPUID_EBX_AVX512F) == CPUID_EBX_AVX512F && - (xcr0 & (XCR0_OPMASK | XCR0_ZMM_HI256 | XCR0_HI16_ZMM)) - == (XCR0_OPMASK | XCR0_ZMM_HI256 | XCR0_HI16_ZMM)) { - cpu_features->has_avx512f = 1; - } - /* LCOV_EXCL_STOP */ - } -#endif - -#ifdef HAVE_WMMINTRIN_H - cpu_features->has_pclmul = ((cpu_info[2] & CPUID_ECX_PCLMUL) != 0x0); - cpu_features->has_aesni = ((cpu_info[2] & CPUID_ECX_AESNI) != 0x0); -#else - cpu_features->has_pclmul = 0; - cpu_features->has_aesni = 0; -#endif - -#ifdef HAVE_RDRAND - cpu_features->has_rdrand = ((cpu_info[2] & CPUID_ECX_RDRAND) != 0x0); -#else - cpu_features->has_rdrand = 0; -#endif - - return 0; -} - -int -_sodium_runtime_get_cpu_features(void) -{ - int ret = -1; - - ret &= _sodium_runtime_arm_cpu_features(&_cpu_features); - ret &= _sodium_runtime_intel_cpu_features(&_cpu_features); - _cpu_features.initialized = 1; - - return ret; -} - -int -sodium_runtime_has_neon(void) -{ - return _cpu_features.has_neon; -} - -int -sodium_runtime_has_sse2(void) -{ - return _cpu_features.has_sse2; -} - -int -sodium_runtime_has_sse3(void) -{ - return _cpu_features.has_sse3; -} - -int -sodium_runtime_has_ssse3(void) -{ - return _cpu_features.has_ssse3; -} - -int -sodium_runtime_has_sse41(void) -{ - return _cpu_features.has_sse41; -} - -int -sodium_runtime_has_avx(void) -{ - return _cpu_features.has_avx; -} - -int -sodium_runtime_has_avx2(void) -{ - return _cpu_features.has_avx2; -} - -int -sodium_runtime_has_avx512f(void) -{ - return _cpu_features.has_avx512f; -} - -int -sodium_runtime_has_pclmul(void) -{ - return _cpu_features.has_pclmul; -} - -int -sodium_runtime_has_aesni(void) -{ - return _cpu_features.has_aesni; -} - -int -sodium_runtime_has_rdrand(void) -{ - return _cpu_features.has_rdrand; -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/sodium/utils.c b/libsodium-1.0.18-RELEASE/src/libsodium/sodium/utils.c deleted file mode 100644 index 1fbd3a3..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/sodium/utils.c +++ /dev/null @@ -1,783 +0,0 @@ -#ifndef __STDC_WANT_LIB_EXT1__ -# define __STDC_WANT_LIB_EXT1__ 1 -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef HAVE_SYS_MMAN_H -# include -#endif - -#ifdef _WIN32 -# include -# include -#else -# include -#endif - -#ifndef HAVE_C_VARARRAYS -# ifdef HAVE_ALLOCA_H -# include -# elif !defined(alloca) -# if defined(__clang__) || defined(__GNUC__) -# define alloca __builtin_alloca -# elif defined _AIX -# define alloca __alloca -# elif defined _MSC_VER -# include -# define alloca _alloca -# else -# include -# ifdef __cplusplus -extern "C" -# endif -void *alloca (size_t); -# endif -# endif -#endif - -#include "core.h" -#include "randombytes.h" -#include "utils.h" - -#ifndef ENOSYS -# define ENOSYS ENXIO -#endif - -#if defined(_WIN32) && \ - (!defined(WINAPI_FAMILY) || WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) -# define WINAPI_DESKTOP -#endif - -#define CANARY_SIZE 16U -#define GARBAGE_VALUE 0xdb - -#ifndef MAP_NOCORE -# define MAP_NOCORE 0 -#endif -#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS) -# define MAP_ANON MAP_ANONYMOUS -#endif -#if defined(WINAPI_DESKTOP) || (defined(MAP_ANON) && defined(HAVE_MMAP)) || \ - defined(HAVE_POSIX_MEMALIGN) -# define HAVE_ALIGNED_MALLOC -#endif -#if defined(HAVE_MPROTECT) && \ - !(defined(PROT_NONE) && defined(PROT_READ) && defined(PROT_WRITE)) -# undef HAVE_MPROTECT -#endif -#if defined(HAVE_ALIGNED_MALLOC) && \ - (defined(WINAPI_DESKTOP) || defined(HAVE_MPROTECT)) -# define HAVE_PAGE_PROTECTION -#endif -#if !defined(MADV_DODUMP) && defined(MADV_CORE) -# define MADV_DODUMP MADV_CORE -# define MADV_DONTDUMP MADV_NOCORE -#endif - -static size_t page_size; -static unsigned char canary[CANARY_SIZE]; - -/* LCOV_EXCL_START */ -#ifdef HAVE_WEAK_SYMBOLS -__attribute__((weak)) void -_sodium_dummy_symbol_to_prevent_memzero_lto(void *const pnt, - const size_t len); -__attribute__((weak)) void -_sodium_dummy_symbol_to_prevent_memzero_lto(void *const pnt, - const size_t len) -{ - (void) pnt; /* LCOV_EXCL_LINE */ - (void) len; /* LCOV_EXCL_LINE */ -} -#endif -/* LCOV_EXCL_STOP */ - -void -sodium_memzero(void * const pnt, const size_t len) -{ -#ifdef _WIN32 - SecureZeroMemory(pnt, len); -#elif defined(HAVE_MEMSET_S) - if (len > 0U && memset_s(pnt, (rsize_t) len, 0, (rsize_t) len) != 0) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } -#elif defined(HAVE_EXPLICIT_BZERO) - explicit_bzero(pnt, len); -#elif defined(HAVE_EXPLICIT_MEMSET) - explicit_memset(pnt, 0, len); -#elif HAVE_WEAK_SYMBOLS - if (len > 0U) { - memset(pnt, 0, len); - _sodium_dummy_symbol_to_prevent_memzero_lto(pnt, len); - } -# ifdef HAVE_INLINE_ASM - __asm__ __volatile__ ("" : : "r"(pnt) : "memory"); -# endif -#else - volatile unsigned char *volatile pnt_ = - (volatile unsigned char *volatile) pnt; - size_t i = (size_t) 0U; - - while (i < len) { - pnt_[i++] = 0U; - } -#endif -} - -void -sodium_stackzero(const size_t len) -{ -#ifdef HAVE_C_VARARRAYS - unsigned char fodder[len]; - sodium_memzero(fodder, len); -#elif HAVE_ALLOCA - sodium_memzero(alloca(len), len); -#endif -} - -#ifdef HAVE_WEAK_SYMBOLS -__attribute__((weak)) void -_sodium_dummy_symbol_to_prevent_memcmp_lto(const unsigned char *b1, - const unsigned char *b2, - const size_t len); -__attribute__((weak)) void -_sodium_dummy_symbol_to_prevent_memcmp_lto(const unsigned char *b1, - const unsigned char *b2, - const size_t len) -{ - (void) b1; - (void) b2; - (void) len; -} -#endif - -int -sodium_memcmp(const void *const b1_, const void *const b2_, size_t len) -{ -#ifdef HAVE_WEAK_SYMBOLS - const unsigned char *b1 = (const unsigned char *) b1_; - const unsigned char *b2 = (const unsigned char *) b2_; -#else - const volatile unsigned char *volatile b1 = - (const volatile unsigned char *volatile) b1_; - const volatile unsigned char *volatile b2 = - (const volatile unsigned char *volatile) b2_; -#endif - size_t i; - volatile unsigned char d = 0U; - -#if HAVE_WEAK_SYMBOLS - _sodium_dummy_symbol_to_prevent_memcmp_lto(b1, b2, len); -#endif - for (i = 0U; i < len; i++) { - d |= b1[i] ^ b2[i]; - } - return (1 & ((d - 1) >> 8)) - 1; -} - -#ifdef HAVE_WEAK_SYMBOLS -__attribute__((weak)) void -_sodium_dummy_symbol_to_prevent_compare_lto(const unsigned char *b1, - const unsigned char *b2, - const size_t len); -__attribute__((weak)) void -_sodium_dummy_symbol_to_prevent_compare_lto(const unsigned char *b1, - const unsigned char *b2, - const size_t len) -{ - (void) b1; - (void) b2; - (void) len; -} -#endif - -int -sodium_compare(const unsigned char *b1_, const unsigned char *b2_, size_t len) -{ -#ifdef HAVE_WEAK_SYMBOLS - const unsigned char *b1 = b1_; - const unsigned char *b2 = b2_; -#else - const volatile unsigned char *volatile b1 = - (const volatile unsigned char *volatile) b1_; - const volatile unsigned char *volatile b2 = - (const volatile unsigned char *volatile) b2_; -#endif - size_t i; - volatile unsigned char gt = 0U; - volatile unsigned char eq = 1U; - uint16_t x1, x2; - -#if HAVE_WEAK_SYMBOLS - _sodium_dummy_symbol_to_prevent_compare_lto(b1, b2, len); -#endif - i = len; - while (i != 0U) { - i--; - x1 = b1[i]; - x2 = b2[i]; - gt |= ((x2 - x1) >> 8) & eq; - eq &= ((x2 ^ x1) - 1) >> 8; - } - return (int) (gt + gt + eq) - 1; -} - -int -sodium_is_zero(const unsigned char *n, const size_t nlen) -{ - size_t i; - volatile unsigned char d = 0U; - - for (i = 0U; i < nlen; i++) { - d |= n[i]; - } - return 1 & ((d - 1) >> 8); -} - -void -sodium_increment(unsigned char *n, const size_t nlen) -{ - size_t i = 0U; - uint_fast16_t c = 1U; - -#ifdef HAVE_AMD64_ASM - uint64_t t64, t64_2; - uint32_t t32; - - if (nlen == 12U) { - __asm__ __volatile__( - "xorq %[t64], %[t64] \n" - "xorl %[t32], %[t32] \n" - "stc \n" - "adcq %[t64], (%[out]) \n" - "adcl %[t32], 8(%[out]) \n" - : [t64] "=&r"(t64), [t32] "=&r"(t32) - : [out] "D"(n) - : "memory", "flags", "cc"); - return; - } else if (nlen == 24U) { - __asm__ __volatile__( - "movq $1, %[t64] \n" - "xorq %[t64_2], %[t64_2] \n" - "addq %[t64], (%[out]) \n" - "adcq %[t64_2], 8(%[out]) \n" - "adcq %[t64_2], 16(%[out]) \n" - : [t64] "=&r"(t64), [t64_2] "=&r"(t64_2) - : [out] "D"(n) - : "memory", "flags", "cc"); - return; - } else if (nlen == 8U) { - __asm__ __volatile__("incq (%[out]) \n" - : - : [out] "D"(n) - : "memory", "flags", "cc"); - return; - } -#endif - for (; i < nlen; i++) { - c += (uint_fast16_t) n[i]; - n[i] = (unsigned char) c; - c >>= 8; - } -} - -void -sodium_add(unsigned char *a, const unsigned char *b, const size_t len) -{ - size_t i; - uint_fast16_t c = 0U; - -#ifdef HAVE_AMD64_ASM - uint64_t t64, t64_2, t64_3; - uint32_t t32; - - if (len == 12U) { - __asm__ __volatile__( - "movq (%[in]), %[t64] \n" - "movl 8(%[in]), %[t32] \n" - "addq %[t64], (%[out]) \n" - "adcl %[t32], 8(%[out]) \n" - : [t64] "=&r"(t64), [t32] "=&r"(t32) - : [in] "S"(b), [out] "D"(a) - : "memory", "flags", "cc"); - return; - } else if (len == 24U) { - __asm__ __volatile__( - "movq (%[in]), %[t64] \n" - "movq 8(%[in]), %[t64_2] \n" - "movq 16(%[in]), %[t64_3] \n" - "addq %[t64], (%[out]) \n" - "adcq %[t64_2], 8(%[out]) \n" - "adcq %[t64_3], 16(%[out]) \n" - : [t64] "=&r"(t64), [t64_2] "=&r"(t64_2), [t64_3] "=&r"(t64_3) - : [in] "S"(b), [out] "D"(a) - : "memory", "flags", "cc"); - return; - } else if (len == 8U) { - __asm__ __volatile__( - "movq (%[in]), %[t64] \n" - "addq %[t64], (%[out]) \n" - : [t64] "=&r"(t64) - : [in] "S"(b), [out] "D"(a) - : "memory", "flags", "cc"); - return; - } -#endif - for (i = 0U; i < len; i++) { - c += (uint_fast16_t) a[i] + (uint_fast16_t) b[i]; - a[i] = (unsigned char) c; - c >>= 8; - } -} - -void -sodium_sub(unsigned char *a, const unsigned char *b, const size_t len) -{ - uint_fast16_t c = 0U; - size_t i; - -#ifdef HAVE_AMD64_ASM - uint64_t t64_1, t64_2, t64_3, t64_4; - uint64_t t64_5, t64_6, t64_7, t64_8; - uint32_t t32; - - if (len == 64U) { - __asm__ __volatile__( - "movq (%[in]), %[t64_1] \n" - "movq 8(%[in]), %[t64_2] \n" - "movq 16(%[in]), %[t64_3] \n" - "movq 24(%[in]), %[t64_4] \n" - "movq 32(%[in]), %[t64_5] \n" - "movq 40(%[in]), %[t64_6] \n" - "movq 48(%[in]), %[t64_7] \n" - "movq 56(%[in]), %[t64_8] \n" - "subq %[t64_1], (%[out]) \n" - "sbbq %[t64_2], 8(%[out]) \n" - "sbbq %[t64_3], 16(%[out]) \n" - "sbbq %[t64_4], 24(%[out]) \n" - "sbbq %[t64_5], 32(%[out]) \n" - "sbbq %[t64_6], 40(%[out]) \n" - "sbbq %[t64_7], 48(%[out]) \n" - "sbbq %[t64_8], 56(%[out]) \n" - : [t64_1] "=&r"(t64_1), [t64_2] "=&r"(t64_2), [t64_3] "=&r"(t64_3), [t64_4] "=&r"(t64_4), - [t64_5] "=&r"(t64_5), [t64_6] "=&r"(t64_6), [t64_7] "=&r"(t64_7), [t64_8] "=&r"(t64_8) - : [in] "S"(b), [out] "D"(a) - : "memory", "flags", "cc"); - return; - } -#endif - for (i = 0U; i < len; i++) { - c = (uint_fast16_t) a[i] - (uint_fast16_t) b[i] - c; - a[i] = (unsigned char) c; - c = (c >> 8) & 1U; - } -} - -int -_sodium_alloc_init(void) -{ -#ifdef HAVE_ALIGNED_MALLOC -# if defined(_SC_PAGESIZE) - long page_size_ = sysconf(_SC_PAGESIZE); - if (page_size_ > 0L) { - page_size = (size_t) page_size_; - } -# elif defined(WINAPI_DESKTOP) - SYSTEM_INFO si; - GetSystemInfo(&si); - page_size = (size_t) si.dwPageSize; -# endif - if (page_size < CANARY_SIZE || page_size < sizeof(size_t)) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } -#endif - randombytes_buf(canary, sizeof canary); - - return 0; -} - -int -sodium_mlock(void *const addr, const size_t len) -{ -#if defined(MADV_DONTDUMP) && defined(HAVE_MADVISE) - (void) madvise(addr, len, MADV_DONTDUMP); -#endif -#ifdef HAVE_MLOCK - return mlock(addr, len); -#elif defined(WINAPI_DESKTOP) - return -(VirtualLock(addr, len) == 0); -#else - errno = ENOSYS; - return -1; -#endif -} - -int -sodium_munlock(void *const addr, const size_t len) -{ - sodium_memzero(addr, len); -#if defined(MADV_DODUMP) && defined(HAVE_MADVISE) - (void) madvise(addr, len, MADV_DODUMP); -#endif -#ifdef HAVE_MLOCK - return munlock(addr, len); -#elif defined(WINAPI_DESKTOP) - return -(VirtualUnlock(addr, len) == 0); -#else - errno = ENOSYS; - return -1; -#endif -} - -static int -_mprotect_noaccess(void *ptr, size_t size) -{ -#ifdef HAVE_MPROTECT - return mprotect(ptr, size, PROT_NONE); -#elif defined(WINAPI_DESKTOP) - DWORD old; - return -(VirtualProtect(ptr, size, PAGE_NOACCESS, &old) == 0); -#else - errno = ENOSYS; - return -1; -#endif -} - -static int -_mprotect_readonly(void *ptr, size_t size) -{ -#ifdef HAVE_MPROTECT - return mprotect(ptr, size, PROT_READ); -#elif defined(WINAPI_DESKTOP) - DWORD old; - return -(VirtualProtect(ptr, size, PAGE_READONLY, &old) == 0); -#else - errno = ENOSYS; - return -1; -#endif -} - -static int -_mprotect_readwrite(void *ptr, size_t size) -{ -#ifdef HAVE_MPROTECT - return mprotect(ptr, size, PROT_READ | PROT_WRITE); -#elif defined(WINAPI_DESKTOP) - DWORD old; - return -(VirtualProtect(ptr, size, PAGE_READWRITE, &old) == 0); -#else - errno = ENOSYS; - return -1; -#endif -} - -#ifdef HAVE_ALIGNED_MALLOC - -__attribute__((noreturn)) static void -_out_of_bounds(void) -{ -# ifndef __wasm__ -# ifdef SIGSEGV - raise(SIGSEGV); -# elif defined(SIGKILL) - raise(SIGKILL); -# endif -# endif - abort(); /* not something we want any higher-level API to catch */ -} /* LCOV_EXCL_LINE */ - -static inline size_t -_page_round(const size_t size) -{ - const size_t page_mask = page_size - 1U; - - return (size + page_mask) & ~page_mask; -} - -static __attribute__((malloc)) unsigned char * -_alloc_aligned(const size_t size) -{ - void *ptr; - -# if defined(MAP_ANON) && defined(HAVE_MMAP) - if ((ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, - MAP_ANON | MAP_PRIVATE | MAP_NOCORE, -1, 0)) == - MAP_FAILED) { - ptr = NULL; /* LCOV_EXCL_LINE */ - } /* LCOV_EXCL_LINE */ -# elif defined(HAVE_POSIX_MEMALIGN) - if (posix_memalign(&ptr, page_size, size) != 0) { - ptr = NULL; /* LCOV_EXCL_LINE */ - } /* LCOV_EXCL_LINE */ -# elif defined(WINAPI_DESKTOP) - ptr = VirtualAlloc(NULL, size, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); -# else -# error Bug -# endif - return (unsigned char *) ptr; -} - -static void -_free_aligned(unsigned char *const ptr, const size_t size) -{ -# if defined(MAP_ANON) && defined(HAVE_MMAP) - (void) munmap(ptr, size); -# elif defined(HAVE_POSIX_MEMALIGN) - free(ptr); -# elif defined(WINAPI_DESKTOP) - VirtualFree(ptr, 0U, MEM_RELEASE); -# else -# error Bug -#endif -} - -static unsigned char * -_unprotected_ptr_from_user_ptr(void *const ptr) -{ - uintptr_t unprotected_ptr_u; - unsigned char *canary_ptr; - size_t page_mask; - - canary_ptr = ((unsigned char *) ptr) - sizeof canary; - page_mask = page_size - 1U; - unprotected_ptr_u = ((uintptr_t) canary_ptr & (uintptr_t) ~page_mask); - if (unprotected_ptr_u <= page_size * 2U) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - return (unsigned char *) unprotected_ptr_u; -} - -#endif /* HAVE_ALIGNED_MALLOC */ - -#ifndef HAVE_ALIGNED_MALLOC -static __attribute__((malloc)) void * -_sodium_malloc(const size_t size) -{ - return malloc(size > (size_t) 0U ? size : (size_t) 1U); -} -#else -static __attribute__((malloc)) void * -_sodium_malloc(const size_t size) -{ - void *user_ptr; - unsigned char *base_ptr; - unsigned char *canary_ptr; - unsigned char *unprotected_ptr; - size_t size_with_canary; - size_t total_size; - size_t unprotected_size; - - if (size >= (size_t) SIZE_MAX - page_size * 4U) { - errno = ENOMEM; - return NULL; - } - if (page_size <= sizeof canary || page_size < sizeof unprotected_size) { - sodium_misuse(); /* LCOV_EXCL_LINE */ - } - size_with_canary = (sizeof canary) + size; - unprotected_size = _page_round(size_with_canary); - total_size = page_size + page_size + unprotected_size + page_size; - if ((base_ptr = _alloc_aligned(total_size)) == NULL) { - return NULL; /* LCOV_EXCL_LINE */ - } - unprotected_ptr = base_ptr + page_size * 2U; - _mprotect_noaccess(base_ptr + page_size, page_size); -# ifndef HAVE_PAGE_PROTECTION - memcpy(unprotected_ptr + unprotected_size, canary, sizeof canary); -# endif - _mprotect_noaccess(unprotected_ptr + unprotected_size, page_size); - sodium_mlock(unprotected_ptr, unprotected_size); - canary_ptr = - unprotected_ptr + _page_round(size_with_canary) - size_with_canary; - user_ptr = canary_ptr + sizeof canary; - memcpy(canary_ptr, canary, sizeof canary); - memcpy(base_ptr, &unprotected_size, sizeof unprotected_size); - _mprotect_readonly(base_ptr, page_size); - assert(_unprotected_ptr_from_user_ptr(user_ptr) == unprotected_ptr); - - return user_ptr; -} -#endif /* !HAVE_ALIGNED_MALLOC */ - -__attribute__((malloc)) void * -sodium_malloc(const size_t size) -{ - void *ptr; - - if ((ptr = _sodium_malloc(size)) == NULL) { - return NULL; - } - memset(ptr, (int) GARBAGE_VALUE, size); - - return ptr; -} - -__attribute__((malloc)) void * -sodium_allocarray(size_t count, size_t size) -{ - if (count > (size_t) 0U && size >= (size_t) SIZE_MAX / count) { - errno = ENOMEM; - return NULL; - } - return sodium_malloc(count * size); -} - -#ifndef HAVE_ALIGNED_MALLOC -void -sodium_free(void *ptr) -{ - free(ptr); -} -#else -void -sodium_free(void *ptr) -{ - unsigned char *base_ptr; - unsigned char *canary_ptr; - unsigned char *unprotected_ptr; - size_t total_size; - size_t unprotected_size; - - if (ptr == NULL) { - return; - } - canary_ptr = ((unsigned char *) ptr) - sizeof canary; - unprotected_ptr = _unprotected_ptr_from_user_ptr(ptr); - base_ptr = unprotected_ptr - page_size * 2U; - memcpy(&unprotected_size, base_ptr, sizeof unprotected_size); - total_size = page_size + page_size + unprotected_size + page_size; - _mprotect_readwrite(base_ptr, total_size); - if (sodium_memcmp(canary_ptr, canary, sizeof canary) != 0) { - _out_of_bounds(); - } -# ifndef HAVE_PAGE_PROTECTION - if (sodium_memcmp(unprotected_ptr + unprotected_size, canary, - sizeof canary) != 0) { - _out_of_bounds(); - } -# endif - sodium_munlock(unprotected_ptr, unprotected_size); - _free_aligned(base_ptr, total_size); -} -#endif /* HAVE_ALIGNED_MALLOC */ - -#ifndef HAVE_PAGE_PROTECTION -static int -_sodium_mprotect(void *ptr, int (*cb)(void *ptr, size_t size)) -{ - (void) ptr; - (void) cb; - errno = ENOSYS; - return -1; -} -#else -static int -_sodium_mprotect(void *ptr, int (*cb)(void *ptr, size_t size)) -{ - unsigned char *base_ptr; - unsigned char *unprotected_ptr; - size_t unprotected_size; - - unprotected_ptr = _unprotected_ptr_from_user_ptr(ptr); - base_ptr = unprotected_ptr - page_size * 2U; - memcpy(&unprotected_size, base_ptr, sizeof unprotected_size); - - return cb(unprotected_ptr, unprotected_size); -} -#endif - -int -sodium_mprotect_noaccess(void *ptr) -{ - return _sodium_mprotect(ptr, _mprotect_noaccess); -} - -int -sodium_mprotect_readonly(void *ptr) -{ - return _sodium_mprotect(ptr, _mprotect_readonly); -} - -int -sodium_mprotect_readwrite(void *ptr) -{ - return _sodium_mprotect(ptr, _mprotect_readwrite); -} - -int -sodium_pad(size_t *padded_buflen_p, unsigned char *buf, - size_t unpadded_buflen, size_t blocksize, size_t max_buflen) -{ - unsigned char *tail; - size_t i; - size_t xpadlen; - size_t xpadded_len; - volatile unsigned char mask; - unsigned char barrier_mask; - - if (blocksize <= 0U) { - return -1; - } - xpadlen = blocksize - 1U; - if ((blocksize & (blocksize - 1U)) == 0U) { - xpadlen -= unpadded_buflen & (blocksize - 1U); - } else { - xpadlen -= unpadded_buflen % blocksize; - } - if ((size_t) SIZE_MAX - unpadded_buflen <= xpadlen) { - sodium_misuse(); - } - xpadded_len = unpadded_buflen + xpadlen; - if (xpadded_len >= max_buflen) { - return -1; - } - tail = &buf[xpadded_len]; - if (padded_buflen_p != NULL) { - *padded_buflen_p = xpadded_len + 1U; - } - mask = 0U; - for (i = 0; i < blocksize; i++) { - barrier_mask = (unsigned char) (((i ^ xpadlen) - 1U) - >> ((sizeof(size_t) - 1) * CHAR_BIT)); - *(tail - i) = ((*(tail - i)) & mask) | (0x80 & barrier_mask); - mask |= barrier_mask; - } - return 0; -} - -int -sodium_unpad(size_t *unpadded_buflen_p, const unsigned char *buf, - size_t padded_buflen, size_t blocksize) -{ - const unsigned char *tail; - unsigned char acc = 0U; - unsigned char c; - unsigned char valid = 0U; - volatile size_t pad_len = 0U; - size_t i; - size_t is_barrier; - - if (padded_buflen < blocksize || blocksize <= 0U) { - return -1; - } - tail = &buf[padded_buflen - 1U]; - - for (i = 0U; i < blocksize; i++) { - c = *(tail - i); - is_barrier = - (( (acc - 1U) & (pad_len - 1U) & ((c ^ 0x80) - 1U) ) >> 8) & 1U; - acc |= c; - pad_len |= i & (1U + ~is_barrier); - valid |= (unsigned char) is_barrier; - } - *unpadded_buflen_p = padded_buflen - 1U - pad_len; - - return (int) (valid - 1U); -} diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/sodium/version.c b/libsodium-1.0.18-RELEASE/src/libsodium/sodium/version.c deleted file mode 100644 index 4e584a6..0000000 --- a/libsodium-1.0.18-RELEASE/src/libsodium/sodium/version.c +++ /dev/null @@ -1,30 +0,0 @@ - -#include "version.h" - -const char * -sodium_version_string(void) -{ - return SODIUM_VERSION_STRING; -} - -int -sodium_library_version_major(void) -{ - return SODIUM_LIBRARY_VERSION_MAJOR; -} - -int -sodium_library_version_minor(void) -{ - return SODIUM_LIBRARY_VERSION_MINOR; -} - -int -sodium_library_minimal(void) -{ -#ifdef SODIUM_LIBRARY_MINIMAL - return 1; -#else - return 0; -#endif -} diff --git a/libsodium-1.0.18-RELEASE/test/Makefile.am b/libsodium-1.0.18-RELEASE/test/Makefile.am deleted file mode 100644 index f9894bb..0000000 --- a/libsodium-1.0.18-RELEASE/test/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -SUBDIRS = \ - default - -EXTRA_DIST = \ - quirks/quirks.h diff --git a/libsodium-1.0.18-RELEASE/test/constcheck.sh b/libsodium-1.0.18-RELEASE/test/constcheck.sh deleted file mode 100644 index 994c164..0000000 --- a/libsodium-1.0.18-RELEASE/test/constcheck.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/sh - -CT='ct.c' - -echo '#include ' > "$CT" -echo '#include ' >> "$CT" -echo 'int main(void) {' >> "$CT" -for macro in $(egrep -r '#define crypto_.*BYTES(_[A-Z]+)? ' src/libsodium/include | \ - cut -d: -f2- | cut -d' ' -f2 | \ - fgrep -v edwards25519sha512batch | sort -u); do - func=$(echo "$macro" | tr A-Z a-z) - echo " assert($func() == $macro);" >> "$CT" -done -echo "return 0; }" >> "$CT" - -CPPFLAGS="${CPPFLAGS} -Wno-deprecated-declarations" -${CC:-cc} "$CT" $CPPFLAGS $CFLAGS $LDFLAGS -lsodium || exit 1 -./a.out || exit 1 -rm -f a.out "$CT" - diff --git a/libsodium-1.0.18-RELEASE/test/default/Makefile.am b/libsodium-1.0.18-RELEASE/test/default/Makefile.am deleted file mode 100644 index 59f8595..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/Makefile.am +++ /dev/null @@ -1,507 +0,0 @@ - -EXTRA_DIST = \ - cmptest.h \ - wasi-test-wrapper.sh \ - wintest.bat \ - pre.js.inc \ - aead_aes256gcm.exp \ - aead_aes256gcm2.exp \ - aead_chacha20poly1305.exp \ - aead_chacha20poly13052.exp \ - aead_xchacha20poly1305.exp \ - auth.exp \ - auth2.exp \ - auth3.exp \ - auth5.exp \ - auth6.exp \ - auth7.exp \ - box.exp \ - box2.exp \ - box7.exp \ - box8.exp \ - box_easy.exp \ - box_easy2.exp \ - box_seal.exp \ - box_seed.exp \ - chacha20.exp \ - codecs.exp \ - core_ed25519.exp \ - core_ristretto255.exp \ - core1.exp \ - core2.exp \ - core3.exp \ - core4.exp \ - core5.exp \ - core6.exp \ - ed25519_convert.exp \ - generichash.exp \ - generichash2.exp \ - generichash3.exp \ - hash.exp \ - hash2.exp \ - hash3.exp \ - kdf.exp \ - keygen.exp \ - kx.exp \ - metamorphic.exp \ - misuse.exp \ - onetimeauth.exp \ - onetimeauth2.exp \ - onetimeauth7.exp \ - pwhash_argon2i.exp \ - pwhash_argon2id.exp \ - pwhash_scrypt.exp \ - pwhash_scrypt_ll.exp \ - randombytes.exp \ - scalarmult.exp \ - scalarmult_ed25519.exp \ - scalarmult_ristretto255.exp \ - scalarmult2.exp \ - scalarmult5.exp \ - scalarmult6.exp \ - scalarmult7.exp \ - scalarmult8.exp \ - secretbox.exp \ - secretbox2.exp \ - secretbox7.exp \ - secretbox8.exp \ - secretbox_easy.exp \ - secretbox_easy2.exp \ - secretstream.exp \ - shorthash.exp \ - sign.exp \ - siphashx24.exp \ - sodium_core.exp \ - sodium_utils.exp \ - sodium_utils2.exp \ - sodium_utils3.exp \ - sodium_version.exp \ - stream.exp \ - stream2.exp \ - stream3.exp \ - stream4.exp \ - verify1.exp \ - xchacha20.exp - -DISTCLEANFILES = \ - aead_aes256gcm.res \ - aead_aes256gcm2.res \ - aead_chacha20poly1305.res \ - aead_chacha20poly13052.res \ - aead_xchacha20poly1305.res \ - auth.res \ - auth2.res \ - auth3.res \ - auth5.res \ - auth6.res \ - auth7.res \ - box.res \ - box2.res \ - box7.res \ - box8.res \ - box_easy.res \ - box_easy2.res \ - box_seal.res \ - box_seed.res \ - chacha20.res \ - codecs.res \ - core_ed25519.res \ - core_ristretto255.res \ - core1.res \ - core2.res \ - core3.res \ - core4.res \ - core5.res \ - core6.res \ - ed25519_convert.res \ - generichash.res \ - generichash2.res \ - generichash3.res \ - hash.res \ - hash2.res \ - hash3.res \ - kdf.res \ - keygen.res \ - kx.res \ - metamorphic.res \ - misuse.res \ - onetimeauth.res \ - onetimeauth2.res \ - onetimeauth7.res \ - pwhash_argon2i.res \ - pwhash_argon2id.res \ - pwhash_scrypt.res \ - pwhash_scrypt_ll.res \ - randombytes.res \ - scalarmult.res \ - scalarmult_ed25519.res \ - scalarmult_ristretto255.res \ - scalarmult2.res \ - scalarmult5.res \ - scalarmult6.res \ - scalarmult7.res \ - scalarmult8.res \ - secretbox.res \ - secretbox2.res \ - secretbox7.res \ - secretbox8.res \ - secretbox_easy.res \ - secretbox_easy2.res \ - secretstream.res \ - shorthash.res \ - sign.res \ - siphashx24.res \ - sodium_core.res \ - sodium_utils.res \ - sodium_utils2.res \ - sodium_utils3.res \ - sodium_version.res \ - stream.res \ - stream2.res \ - stream3.res \ - stream4.res \ - verify1.res \ - xchacha20.res - -AM_CPPFLAGS = \ - -DTEST_SRCDIR=\"@srcdir@\" \ - -I$(top_srcdir)/src/libsodium/include \ - -I$(top_srcdir)/src/libsodium/include/sodium \ - -I$(top_builddir)/src/libsodium/include \ - -I$(top_builddir)/src/libsodium/include/sodium \ - -I$(top_srcdir)/test/quirks - -AM_LDFLAGS = @TEST_LDFLAGS@ - -TESTS_TARGETS = \ - aead_aes256gcm \ - aead_aes256gcm2 \ - aead_chacha20poly1305 \ - aead_chacha20poly13052 \ - aead_xchacha20poly1305 \ - auth \ - auth2 \ - auth3 \ - auth5 \ - auth6 \ - auth7 \ - box \ - box2 \ - box7 \ - box8 \ - box_easy \ - box_easy2 \ - box_seal \ - box_seed \ - chacha20 \ - codecs \ - core1 \ - core2 \ - core3 \ - core4 \ - core5 \ - core6 \ - ed25519_convert \ - generichash \ - generichash2 \ - generichash3 \ - hash \ - hash3 \ - kdf \ - keygen \ - kx \ - metamorphic \ - misuse \ - onetimeauth \ - onetimeauth2 \ - onetimeauth7 \ - pwhash_argon2i \ - pwhash_argon2id \ - randombytes \ - scalarmult \ - scalarmult2 \ - scalarmult5 \ - scalarmult6 \ - scalarmult7 \ - scalarmult8 \ - secretbox \ - secretbox2 \ - secretbox7 \ - secretbox8 \ - secretbox_easy \ - secretbox_easy2 \ - secretstream \ - shorthash \ - sign \ - sodium_core \ - sodium_utils \ - sodium_version \ - stream \ - stream2 \ - stream3 \ - stream4 \ - verify1 - -if !EMSCRIPTEN -TESTS_TARGETS += \ - sodium_utils2 \ - sodium_utils3 -endif - -check_PROGRAMS = $(TESTS_TARGETS) - -TESTS = $(TESTS_TARGETS) - -TESTS_LDADD = \ - ${top_builddir}/src/libsodium/libsodium.la - -aead_aes256gcm_SOURCE = cmptest.h aead_aes256gcm.c -aead_aes256gcm_LDADD = $(TESTS_LDADD) - -aead_aes256gcm2_SOURCE = cmptest.h aead_aes256gcm2.c -aead_aes256gcm2_LDADD = $(TESTS_LDADD) - -aead_chacha20poly1305_SOURCE = cmptest.h aead_chacha20poly1305.c -aead_chacha20poly1305_LDADD = $(TESTS_LDADD) - -aead_chacha20poly13052_SOURCE = cmptest.h aead_chacha20poly13052.c -aead_chacha20poly13052_LDADD = $(TESTS_LDADD) - -aead_xchacha20poly1305_SOURCE = cmptest.h aead_xchacha20poly1305.c -aead_xchacha20poly1305_LDADD = $(TESTS_LDADD) - -auth_SOURCE = cmptest.h auth.c -auth_LDADD = $(TESTS_LDADD) - -auth2_SOURCE = cmptest.h auth2.c -auth2_LDADD = $(TESTS_LDADD) - -auth3_SOURCE = cmptest.h auth3.c -auth3_LDADD = $(TESTS_LDADD) - -auth5_SOURCE = cmptest.h auth5.c quirks.h -auth5_LDADD = $(TESTS_LDADD) - -auth6_SOURCE = cmptest.h auth6.c quirks.h -auth6_LDADD = $(TESTS_LDADD) - -auth7_SOURCE = cmptest.h auth7.c quirks.h -auth7_LDADD = $(TESTS_LDADD) - -box_SOURCE = cmptest.h box.c -box_LDADD = $(TESTS_LDADD) - -box2_SOURCE = cmptest.h box2.c -box2_LDADD = $(TESTS_LDADD) - -box7_SOURCE = cmptest.h box7.c -box7_LDADD = $(TESTS_LDADD) - -box8_SOURCE = cmptest.h box8.c -box8_LDADD = $(TESTS_LDADD) - -box_easy_SOURCE = cmptest.h box_easy.c -box_easy_LDADD = $(TESTS_LDADD) - -box_easy2_SOURCE = cmptest.h box_easy2.c -box_easy2_LDADD = $(TESTS_LDADD) - -box_seal_SOURCE = cmptest.h box_seal.c -box_seal_LDADD = $(TESTS_LDADD) - -box_seed_SOURCE = cmptest.h box_seed.c -box_seed_LDADD = $(TESTS_LDADD) - -chacha20_SOURCE = cmptest.h chacha20.c -chacha20_LDADD = $(TESTS_LDADD) - -codecs_SOURCE = cmptest.h codecs.c -codecs_LDADD = $(TESTS_LDADD) - -core_ed25519_SOURCE = cmptest.h core_ed25519.c -core_ed25519_LDADD = $(TESTS_LDADD) - -core_ristretto255_SOURCE = cmptest.h core_ristretto255.c -core_ristretto255_LDADD = $(TESTS_LDADD) - -core1_SOURCE = cmptest.h core1.c -core1_LDADD = $(TESTS_LDADD) - -core2_SOURCE = cmptest.h core2.c -core2_LDADD = $(TESTS_LDADD) - -core3_SOURCE = cmptest.h core3.c -core3_LDADD = $(TESTS_LDADD) - -core4_SOURCE = cmptest.h core4.c -core4_LDADD = $(TESTS_LDADD) - -core5_SOURCE = cmptest.h core5.c -core5_LDADD = $(TESTS_LDADD) - -core6_SOURCE = cmptest.h core6.c -core6_LDADD = $(TESTS_LDADD) - -ed25519_convert_SOURCE = cmptest.h ed25519_convert.c -ed25519_convert_LDADD = $(TESTS_LDADD) - -generichash_SOURCE = cmptest.h generichash.c -generichash_LDADD = $(TESTS_LDADD) - -generichash2_SOURCE = cmptest.h generichash2.c -generichash2_LDADD = $(TESTS_LDADD) - -generichash3_SOURCE = cmptest.h generichash3.c -generichash3_LDADD = $(TESTS_LDADD) - -hash_SOURCE = cmptest.h hash.c -hash_LDADD = $(TESTS_LDADD) - -hash3_SOURCE = cmptest.h hash3.c -hash3_LDADD = $(TESTS_LDADD) - -kdf_SOURCE = cmptest.h kdf.c -kdf_LDADD = $(TESTS_LDADD) - -keygen_SOURCE = cmptest.h keygen.c -keygen_LDADD = $(TESTS_LDADD) - -kx_SOURCE = cmptest.h kx.c -kx_LDADD = $(TESTS_LDADD) - -metamorphic_SOURCE = cmptest.h metamorphic.c -metamorphic_LDADD = $(TESTS_LDADD) - -misuse_SOURCE = cmptest.h misuse.c -misuse_LDADD = $(TESTS_LDADD) - -onetimeauth_SOURCE = cmptest.h onetimeauth.c -onetimeauth_LDADD = $(TESTS_LDADD) - -onetimeauth2_SOURCE = cmptest.h onetimeauth2.c -onetimeauth2_LDADD = $(TESTS_LDADD) - -onetimeauth7_SOURCE = cmptest.h onetimeauth7.c -onetimeauth7_LDADD = $(TESTS_LDADD) - -pwhash_argon2i_SOURCE = cmptest.h pwhash_argon2i.c -pwhash_argon2i_LDADD = $(TESTS_LDADD) - -pwhash_argon2id_SOURCE = cmptest.h pwhash_argon2id.c -pwhash_argon2id_LDADD = $(TESTS_LDADD) - -pwhash_scrypt_SOURCE = cmptest.h pwhash_scrypt.c -pwhash_scrypt_LDADD = $(TESTS_LDADD) - -pwhash_scrypt_ll_SOURCE = cmptest.h pwhash_scrypt_ll.c -pwhash_scrypt_ll_LDADD = $(TESTS_LDADD) - -randombytes_SOURCE = cmptest.h randombytes.c -randombytes_LDADD = $(TESTS_LDADD) - -scalarmult_SOURCE = cmptest.h scalarmult.c -scalarmult_LDADD = $(TESTS_LDADD) - -scalarmult_ed25519_SOURCE = cmptest.h scalarmult_ed25519.c -scalarmult_ed25519_LDADD = $(TESTS_LDADD) - -scalarmult_ristretto255_SOURCE = cmptest.h scalarmult_ristretto255.c -scalarmult_ristretto255_LDADD = $(TESTS_LDADD) - -scalarmult2_SOURCE = cmptest.h scalarmult2.c -scalarmult2_LDADD = $(TESTS_LDADD) - -scalarmult5_SOURCE = cmptest.h scalarmult5.c -scalarmult5_LDADD = $(TESTS_LDADD) - -scalarmult6_SOURCE = cmptest.h scalarmult6.c -scalarmult6_LDADD = $(TESTS_LDADD) - -scalarmult7_SOURCE = cmptest.h scalarmult7.c -scalarmult7_LDADD = $(TESTS_LDADD) - -scalarmult8_SOURCE = cmptest.h scalarmult8.c -scalarmult8_LDADD = $(TESTS_LDADD) - -secretbox_SOURCE = cmptest.h secretbox.c -secretbox_LDADD = $(TESTS_LDADD) - -secretbox2_SOURCE = cmptest.h secretbox2.c -secretbox2_LDADD = $(TESTS_LDADD) - -secretbox7_SOURCE = cmptest.h secretbox7.c -secretbox7_LDADD = $(TESTS_LDADD) - -secretbox8_SOURCE = cmptest.h secretbox8.c -secretbox8_LDADD = $(TESTS_LDADD) - -secretbox_easy_SOURCE = cmptest.h secretbox_easy.c -secretbox_easy_LDADD = $(TESTS_LDADD) - -secretbox_easy2_SOURCE = cmptest.h secretbox_easy2.c -secretbox_easy2_LDADD = $(TESTS_LDADD) - -secretstream_SOURCE = cmptest.h secretstream.c -secretstream_LDADD = $(TESTS_LDADD) - -shorthash_SOURCE = cmptest.h shorthash.c -shorthash_LDADD = $(TESTS_LDADD) - -sign_SOURCE = cmptest.h sign.c -sign_LDADD = $(TESTS_LDADD) - -siphashx24_SOURCE = cmptest.h siphashx24.c -siphashx24_LDADD = $(TESTS_LDADD) - -sodium_core_SOURCE = cmptest.h sodium_core.c -sodium_core_LDADD = $(TESTS_LDADD) - -sodium_utils_SOURCE = cmptest.h sodium_utils.c -sodium_utils_LDADD = $(TESTS_LDADD) - -sodium_utils2_SOURCE = cmptest.h sodium_utils2.c -sodium_utils2_LDADD = $(TESTS_LDADD) - -sodium_utils3_SOURCE = cmptest.h sodium_utils3.c -sodium_utils3_LDADD = $(TESTS_LDADD) - -sodium_version_SOURCE = cmptest.h sodium_version.c -sodium_version_LDADD = $(TESTS_LDADD) - -stream_SOURCE = cmptest.h stream.c -stream_LDADD = $(TESTS_LDADD) - -stream2_SOURCE = cmptest.h stream2.c -stream2_LDADD = $(TESTS_LDADD) - -stream3_SOURCE = cmptest.h stream3.c -stream3_LDADD = $(TESTS_LDADD) - -stream4_SOURCE = cmptest.h stream4.c -stream4_LDADD = $(TESTS_LDADD) - -verify1_SOURCE = cmptest.h verify1.c -verify1_LDADD = $(TESTS_LDADD) - -xchacha20_SOURCE = cmptest.h xchacha20.c -xchacha20_LDADD = $(TESTS_LDADD) - -if !MINIMAL -TESTS_TARGETS += \ - core_ed25519 \ - core_ristretto255 \ - pwhash_scrypt \ - pwhash_scrypt_ll \ - scalarmult_ed25519 \ - scalarmult_ristretto255 \ - siphashx24 \ - xchacha20 -endif - -if WASI -LOG_COMPILER = ./wasi-test-wrapper.sh -endif - -verify: check - -@VALGRIND_CHECK_RULES@ diff --git a/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm.c b/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm.c deleted file mode 100644 index 1f83fdc..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm.c +++ /dev/null @@ -1,3243 +0,0 @@ - -#define TEST_NAME "aead_aes256gcm" -#include "cmptest.h" - -static struct { - const char *key_hex; - const char *nonce_hex; - const char *message_hex; - const char *ad_hex; - const char *ciphertext_hex; - const char *mac_hex; -} tests[] = { - { - "b52c505a37d78eda5dd34f20c22540ea1b58963cf8e5bf8ffa85f9f2492505b4", - "516c33929df5a3284ff463d7", - "", - "", - "", - "bdc1ac884d332457a1d2664f168c76f0", - }, - { - "5fe0861cdc2690ce69b3658c7f26f8458eec1c9243c5ba0845305d897e96ca0f", - "770ac1a5a3d476d5d96944a1", - "", - "", - "", - "196d691e1047093ca4b3d2ef4baba216", - }, - { - "7620b79b17b21b06d97019aa70e1ca105e1c03d2a0cf8b20b5a0ce5c3903e548", - "60f56eb7a4b38d4f03395511", - "", - "", - "", - "f570c38202d94564bab39f75617bc87a", - }, - { - "7e2db00321189476d144c5f27e787087302a48b5f7786cd91e93641628c2328b", - "ea9d525bf01de7b2234b606a", - "", - "", - "", - "db9df5f14f6c9f2ae81fd421412ddbbb", - }, - { - "a23dfb84b5976b46b1830d93bcf61941cae5e409e4f5551dc684bdcef9876480", - "5aa345908048de10a2bd3d32", - "", - "", - "", - "f28217649230bd7a40a9a4ddabc67c43", - }, - { - "dfe928f86430b78add7bb7696023e6153d76977e56103b180253490affb9431c", - "1dd0785af9f58979a10bd62d", - "", - "", - "", - "a55eb09e9edef58d9f671d72207f8b3c", - }, - { - "34048db81591ee68224956bd6989e1630fcf068d7ff726ae81e5b29f548cfcfb", - "1621d34cff2a5b250c7b76fc", - "", - "", - "", - "4992ec3d57cccfa58fd8916c59b70b11", - }, - { - "a1114f8749c72b8cef62e7503f1ad921d33eeede32b0b5b8e0d6807aa233d0ad", - "a190ed3ff2e238be56f90bd6", - "", - "", - "", - "c8464d95d540fb191156fbbc1608842a", - }, - { - "ddbb99dc3102d31102c0e14b238518605766c5b23d9bea52c7c5a771042c85a0", - "95d15ed75c6a109aac1b1d86", - "", - "", - "", - "813d1da3775cacd78e96d86f036cff96", - }, - { - "1faa506b8f13a2e6660af78d92915adf333658f748f4e48fa20135a29e9abe5f", - "e50f278d3662c99d750f60d3", - "", - "", - "", - "aec7ece66b7344afd6f6cc7419cf6027", - }, - { - "f30b5942faf57d4c13e7a82495aedf1b4e603539b2e1599317cc6e53225a2493", - "336c388e18e6abf92bb739a9", - "", - "", - "", - "ddaf8ef4cb2f8a6d401f3be5ff0baf6a", - }, - { - "daf4d9c12c5d29fc3fa936532c96196e56ae842e47063a4b29bfff2a35ed9280", - "5381f21197e093b96cdac4fa", - "", - "", - "", - "7f1832c7f7cd7812a004b79c3d399473", - }, - { - "6b524754149c81401d29a4b8a6f4a47833372806b2d4083ff17f2db3bfc17bca", - "ac7d3d618ab690555ec24408", - "", - "", - "", - "db07a885e2bd39da74116d06c316a5c9", - }, - { - "cff083303ff40a1f66c4aed1ac7f50628fe7e9311f5d037ebf49f4a4b9f0223f", - "45d46e1baadcfbc8f0e922ff", - "", - "", - "", - "1687c6d459ea481bf88e4b2263227906", - }, - { - "3954f60cddbb39d2d8b058adf545d5b82490c8ae9283afa5278689041d415a3a", - "8fb3d98ef24fba03746ac84f", - "", - "", - "", - "7fb130855dfe7a373313361f33f55237", - }, - { - "78dc4e0aaf52d935c3c01eea57428f00ca1fd475f5da86a49c8dd73d68c8e223", - "d79cf22d504cc793c3fb6c8a", - "", - "b96baa8c1c75a671bfb2d08d06be5f36", - "", - "3e5d486aa2e30b22e040b85723a06e76", - }, - { - "4457ff33683cca6ca493878bdc00373893a9763412eef8cddb54f91318e0da88", - "699d1f29d7b8c55300bb1fd2", - "", - "6749daeea367d0e9809e2dc2f309e6e3", - "", - "d60c74d2517fde4a74e0cd4709ed43a9", - }, - { - "4d01c96ef9d98d4fb4e9b61be5efa772c9788545b3eac39eb1cacb997a5f0792", - "32124a4d9e576aea2589f238", - "", - "d72bad0c38495eda50d55811945ee205", - "", - "6d6397c9e2030f5b8053bfe510f3f2cf", - }, - { - "8378193a4ce64180814bd60591d1054a04dbc4da02afde453799cd6888ee0c6c", - "bd8b4e352c7f69878a475435", - "", - "1c6b343c4d045cbba562bae3e5ff1b18", - "", - "0833967a6a53ba24e75c0372a6a17bda", - }, - { - "22fc82db5b606998ad45099b7978b5b4f9dd4ea6017e57370ac56141caaabd12", - "880d05c5ee599e5f151e302f", - "", - "3e3eb5747e390f7bc80e748233484ffc", - "", - "2e122a478e64463286f8b489dcdd09c8", - }, - { - "fc00960ddd698d35728c5ac607596b51b3f89741d14c25b8badac91976120d99", - "a424a32a237f0df530f05e30", - "", - "cfb7e05e3157f0c90549d5c786506311", - "", - "dcdcb9e4004b852a0da12bdf255b4ddd", - }, - { - "69749943092f5605bf971e185c191c618261b2c7cc1693cda1080ca2fd8d5111", - "bd0d62c02ee682069bd1e128", - "", - "6967dce878f03b643bf5cdba596a7af3", - "", - "378f796ae543e1b29115cc18acd193f4", - }, - { - "fc4875db84819834b1cb43828d2f0ae3473aa380111c2737e82a9ab11fea1f19", - "da6a684d3ff63a2d109decd6", - "", - "91b6fa2ab4de44282ffc86c8cde6e7f5", - "", - "504e81d2e7877e4dad6f31cdeb07bdbd", - }, - { - "9f9fe7d2a26dcf59d684f1c0945b5ffafe0a4746845ed317d35f3ed76c93044d", - "13b59971cd4dd36b19ac7104", - "", - "190a6934f45f89c90067c2f62e04c53b", - "", - "4f636a294bfbf51fc0e131d694d5c222", - }, - { - "ab9155d7d81ba6f33193695cf4566a9b6e97a3e409f57159ae6ca49655cca071", - "26a9f8d665d163ddb92d035d", - "", - "4a203ac26b951a1f673c6605653ec02d", - "", - "437ea77a3879f010691e288d6269a996", - }, - { - "0f1c62dd80b4a6d09ee9d787b1b04327aa361529ffa3407560414ac47b7ef7bc", - "c87613a3b70d2a048f32cb9a", - "", - "8f23d404be2d9e888d219f1b40aa29e8", - "", - "36d8a309acbb8716c9c08c7f5de4911e", - }, - { - "f3e954a38956df890255f01709e457b33f4bfe7ecb36d0ee50f2500471eebcde", - "9799abd3c52110c704b0f36a", - "", - "ddb70173f44157755b6c9b7058f40cb7", - "", - "b323ae3abcb415c7f420876c980f4858", - }, - { - "0625316534fbd82fe8fdea50fa573c462022c42f79e8b21360e5a6dce66dde28", - "da64a674907cd6cf248f5fbb", - "", - "f24d48e04f5a0d987ba7c745b73b0364", - "", - "df360b810f27e794673a8bb2dc0d68b0", - }, - { - "28f045ac7c4fe5d4b01a9dcd5f1ad3efff1c4f170fc8ab8758d97292868d5828", - "5d85de95b0bdc44514143919", - "", - "601d2158f17ab3c7b4dcb6950fbdcdde", - "", - "42c3f527418cf2c3f5d5010ccba8f271", - }, - { - "19310eed5f5f44eb47075c105eb31e36bbfd1310f741b9baa66a81138d357242", - "a1247120138fa4f0e96c992c", - "", - "29d746414333e0f72b4c3f44ec6bfe42", - "", - "d5997e2f956df3fa2c2388e20f30c480", - }, - { - "886cff5f3e6b8d0e1ad0a38fcdb26de97e8acbe79f6bed66959a598fa5047d65", - "3a8efa1cd74bbab5448f9945", - "", - "519fee519d25c7a304d6c6aa1897ee1eb8c59655", - "", - "f6d47505ec96c98a42dc3ae719877b87", - }, - { - "6937a57d35fe6dc3fc420b123bccdce874bd4c18f2e7c01ce2faf33d3944fd9d", - "a87247797b758467b96310f3", - "", - "ead961939a33dd578f8e93db8b28a1c85362905f", - "", - "599de3ecf22cb867f03f7f6d9fd7428a", - }, - { - "e65a331776c9dcdf5eba6c59e05ec079d97473bcdce84daf836be323456263a0", - "ca731f768da01d02eb8e727e", - "", - "d7274586517bf1d8da866f4a47ad0bcf2948a862", - "", - "a8abe7a8085f25130a7206d37a8aaf6d", - }, - { - "77bb1b6ef898683c981b2fc899319ffbb6000edca22566b634db3a3c804059e5", - "354a19283769b3b991b05a4c", - "", - "b5566251a8a8bec212dc08113229ff8590168800", - "", - "e5c2dccf8fc7f296cac95d7071cb8d7d", - }, - { - "2a43308d520a59ed51e47a3a915e1dbf20a91f0886506e481ad3de65d50975b4", - "bcbf99733d8ec90cb23e6ce6", - "", - "eb88288729289d26fe0e757a99ad8eec96106053", - "", - "01b0196933aa49123eab4e1571250383", - }, - { - "2379b35f85102db4e7aecc52b705bc695d4768d412e2d7bebe999236783972ff", - "918998c4801037b1cd102faa", - "", - "b3722309e0f066225e8d1659084ebb07a93b435d", - "", - "dfb18aee99d1f67f5748d4b4843cb649", - }, - { - "98b3cb7537167e6d14a2a8b2310fe94b715c729fdf85216568150b556d0797ba", - "bca5e2e5a6b30f18d263c6b2", - "", - "260d3d72db70d677a4e3e1f3e11431217a2e4713", - "", - "d6b7560f8ac2f0a90bad42a6a07204bc", - }, - { - "30341ae0f199b10a15175d00913d5029526ab7f761c0b936a7dd5f1b1583429d", - "dbe109a8ce5f7b241e99f7af", - "", - "fe4bdee5ca9c4806fa024715fbf66ab845285fa7", - "", - "ae91daed658e26c0d126575147af9899", - }, - { - "8232b6a1d2e367e9ce1ea8d42fcfc83a4bc8bdec465c6ba326e353ad9255f207", - "cd2fb5ff9cf0f39868ad8685", - "", - "02418b3dde54924a9628de06004c0882ae4ec3bb", - "", - "d5308f63708675ced19b2710afd2db49", - }, - { - "f9a132a50a508145ffd8294e68944ea436ce0f9a97e181f5e0d6c5d272311fc1", - "892991b54e94b9d57442ccaf", - "", - "4e0fbd3799da250fa27911b7e68d7623bfe60a53", - "", - "89881d5f786e6d53e0d19c3b4e6887d8", - }, - { - "0e3746e5064633ea9311b2b8427c536af92717de20eeb6260db1333c3d8a8114", - "f84c3a1c94533f7f25cec0ac", - "", - "8c0d41e6135338c8d3e63e2a5fa0a9667ec9a580", - "", - "479ccfe9241de2c474f2edebbb385c09", - }, - { - "b997e9b0746abaaed6e64b63bdf64882526ad92e24a2f5649df055c9ec0f1daa", - "f141d8d71b033755022f0a7d", - "", - "681d6583f527b1a92f66caae9b1d4d028e2e631e", - "", - "b30442a6395ec13246c48b21ffc65509", - }, - { - "87660ec1700d4e9f88a323a49f0b871e6aaf434a2d8448d04d4a22f6561028e0", - "2a07b42593cd24f0a6fe406c", - "", - "1dd239b57185b7e457ced73ebba043057f049edd", - "", - "df7a501049b37a534098cb45cb9c21b7", - }, - { - "ea4792e1f1717b77a00de4d109e627549b165c82af35f33ca7e1a6b8ed62f14f", - "7453cc8b46fe4b93bcc48381", - "", - "46d98970a636e7cd7b76fc362ae88298436f834f", - "", - "518dbacd36be6fba5c12871678a55516", - }, - { - "34892cdd1d48ca166f7ba73182cb97336c2c754ac160a3e37183d6fb5078cec3", - "ed3198c5861b78c71a6a4eec", - "", - "a6fa6d0dd1e0b95b4609951bbbe714de0ae0ccfa", - "", - "c6387795096b348ecf1d1f6caaa3c813", - }, - { - "f4069bb739d07d0cafdcbc609ca01597f985c43db63bbaaa0debbb04d384e49c", - "d25ff30fdc3d464fe173e805", - "", - "3e1449c4837f0892f9d55127c75c4b25d69be334baf5f19394d2d8bb460cbf2120e14736d0f634aa792feca20e455f11", - "", - "805ec2931c2181e5bfb74fa0a975f0cf", - }, - { - "62189dcc4beb97462d6c0927d8a270d39a1b07d72d0ad28840badd4f68cf9c8b", - "859fda5247c888823a4b8032", - "", - "b28d1621ee110f4c9d709fad764bba2dd6d291bc003748faac6d901937120d41c1b7ce67633763e99e05c71363fceca8", - "", - "27330907d0002880bbb4c1a1d23c0be2", - }, - { - "59012d85a1b90aeb0359e6384c9991e7be219319f5b891c92c384ade2f371816", - "3c9cde00c23912cff9689c7c", - "", - "e5daf473a470860b55210a483c0d1a978d8add843c2c097f73a3cda49ac4a614c8e887d94e6692309d2ed97ebe1eaf5d", - "", - "048239e4e5c2c8b33890a7c950cda852", - }, - { - "4be09b408ad68b890f94be5efa7fe9c917362712a3480c57cd3844935f35acb7", - "8f350bd3b8eea173fc7370bc", - "", - "2819d65aec942198ca97d4435efd9dd4d4393b96cf5ba44f09bce4ba135fc8636e8275dcb515414b8befd32f91fc4822", - "", - "a133cb7a7d0471dbac61fb41589a2efe", - }, - { - "13cb965a4d9d1a36efad9f6ca1ba76386a5bb160d80b0917277102357ac7afc8", - "f313adec42a66d13c3958180", - "", - "717b48358898e5ccfea4289049adcc1bb0db3b3ebd1767ac24fb2b7d37dc80ea2316c17f14fb51b5e18cd5bb09afe414", - "", - "81b4ef7a84dc4a0b1fddbefe37f53852", - }, - { - "d27f1bebbbdef0edca393a6261b0338abbc491262eab0737f55246458f6668cc", - "fc062f857886e278f3a567d2", - "", - "2bae92dea64aa99189de8ea4c046745306002e02cfb46a41444ce8bfcc329bd4205963d9ab5357b026a4a34b1a861771", - "", - "5c5a6c4613f1e522596330d45f243fdd", - }, - { - "7b4d19cd3569f74c7b5df61ab78379ee6bfa15105d21b10bf6096699539006d0", - "fbed5695c4a739eded97b1e3", - "", - "c6f2e5d663bfaf668d014550ef2e66bf89978799a785f1f2c79a2cb3eb3f2fd4076207d5f7e1c284b4af5cffc4e46198", - "", - "7101b434fb90c7f95b9b7a0deeeb5c81", - }, - { - "d3431488d8f048590bd76ec66e71421ef09f655d7cf8043bf32f75b4b2e7efcc", - "cc766e98b40a81519fa46392", - "", - "93320179fdb40cbc1ccf00b872a3b4a5f6c70b56e43a84fcac5eb454a0a19a747d452042611bf3bbaafd925e806ffe8e", - "", - "3afcc336ce8b7191eab04ad679163c2a", - }, - { - "a440948c0378561c3956813c031f81573208c7ffa815114ef2eee1eb642e74c6", - "c1f4ffe54b8680832eed8819", - "", - "253438f132b18e8483074561898c5652b43a82cc941e8b4ae37e792a8ed6ec5ce2bcec9f1ffcf4216e46696307bb774a", - "", - "129445f0a3c979a112a3afb10a24e245", - }, - { - "798706b651033d9e9bf2ce064fb12be7df7308cf45df44776588cd391c49ff85", - "5a43368a39e7ffb775edfaf4", - "", - "926b74fe6381ebd35757e42e8e557601f2287bfc133a13fd86d61c01aa84f39713bf99a8dc07b812f0274c9d3280a138", - "", - "89fe481a3d95c03a0a9d4ee3e3f0ed4a", - }, - { - "c3aa2a39a9fef4a466618d1288bb62f8da7b1cb760ccc8f1be3e99e076f08eff", - "9965ba5e23d9453d7267ca5b", - "", - "93efb6a2affc304cb25dfd49aa3e3ccdb25ceac3d3cea90dd99e38976978217ad5f2b990d10b91725c7fd2035ecc6a30", - "", - "00a94c18a4572dcf4f9e2226a03d4c07", - }, - { - "14e06858008f7e77186a2b3a7928a0c7fcee22136bc36f53553f20fa5c37edcd", - "32ebe0dc9ada849b5eda7b48", - "", - "6c0152abfa485b8cd67c154a5f0411f22121379774d745f40ee577b028fd0e188297581561ae972223d75a24b488aed7", - "", - "2625b0ba6ee02b58bc529e43e2eb471b", - }, - { - "fbb56b11c51a093ce169a6990399c4d741f62b3cc61f9e8a609a1b6ae8e7e965", - "9c5a953247e91aceceb9defb", - "", - "46cb5c4f617916a9b1b2e03272cb0590ce716498533047d73c81e4cbe9278a3686116f5632753ea2df52efb3551aea2d", - "", - "4f3b82e6be4f08756071f2c46c31fedf", - }, - { - "b303bf02f6a8dbb5bc4baccab0800db5ee06de648e2fae299b95f135c9b107cc", - "906495b67ef4ce00b44422fa", - "", - "872c6c370926535c3fa1baec031e31e7c6c82808c8a060742dbef114961c314f1986b2131a9d91f30f53067ec012c6b7", - "", - "64dde37169082d181a69107f60c5c6bb", - }, - { - "29f5f8075903063cb6d7050669b1f74e08a3f79ef566292dfdef1c06a408e1ab", - "35f25c48b4b5355e78b9fb3a", - "", - "107e2e23159fc5c0748ca7a077e5cc053fa5c682ff5269d350ee817f8b5de4d3972041d107b1e2f2e54ca93b72cd0408", - "", - "fee5a9baebb5be0165deaa867e967a9e", - }, - { - "03ccb7dbc7b8425465c2c3fc39ed0593929ffd02a45ff583bd89b79c6f646fe9", - "fd119985533bd5520b301d12", - "", - "98e68c10bf4b5ae62d434928fc6405147c6301417303ef3a703dcfd2c0c339a4d0a89bd29fe61fecf1066ab06d7a5c31a48ffbfed22f749b17e9bd0dc1c6f8fbd6fd4587184db964d5456132106d782338c3f117ec05229b0899", - "", - "cf54e7141349b66f248154427810c87a", - }, - { - "57e112cd45f2c57ddb819ea651c206763163ef016ceead5c4eae40f2bbe0e4b4", - "188022c2125d2b1fcf9e4769", - "", - "09c8f445ce5b71465695f838c4bb2b00624a1c9185a3d552546d9d2ee4870007aaf3007008f8ae9affb7588b88d09a90e58b457f88f1e3752e3fb949ce378670b67a95f8cf7f5c7ceb650efd735dbc652cae06e546a5dbd861bd", - "", - "9efcddfa0be21582a05749f4050d29fe", - }, - { - "a4ddf3cab7453aaefad616fd65d63d13005e9459c17d3173cd6ed7f2a86c921f", - "06177b24c58f3be4f3dd4920", - "", - "f95b046d80485e411c56b834209d3abd5a8a9ddf72b1b916679adfdde893044315a5f4967fd0405ec297aa332f676ff0fa5bd795eb609b2e4f088db1cdf37ccff0735a5e53c4c12173a0026aea42388a7d7153a8830b8a901cf9", - "", - "9d1bd8ecb3276906138d0b03fcb8c1bb", - }, - { - "24a92b24e85903cd4aaabfe07c310df5a4f8f459e03a63cbd1b47855b09c0be8", - "22e756dc898d4cf122080612", - "", - "2e01b2536dbe376be144296f5c38fb099e008f962b9f0e896334b6408393bff1020a0e442477abfdb1727213b6ccc577f5e16cb057c8945a07e307264b65979aed96b5995f40250ffbaaa1a1f0eccf394015f6290f5e64dfe5ca", - "", - "0d7f1aed4708a03b0c80b2a18785c96d", - }, - { - "15276fc64438578e0ec53366b90a0e23d93910fec10dc3003d9b3f3fa72db702", - "c5e931946d5caebc227656d2", - "", - "3f967c83ba02e77c14e9d41185eb87f172250e93edb0f82b6742c124298ab69418358eddefa39fedc3cade9d80f036d864a59ead37c87727c56c701a8cd9634469ff31c704f5ee39354157e6558467b92824da36b1c071bedfe9", - "", - "a0ffa19adcf31d061cd0dd46d24015ef", - }, - { - "ec09804a048bb854c71618b5a3a1c590910fc8a68455139b719486d2280ea59a", - "d0b1247e7121a9276ac18ca3", - "", - "66b1d39d414596308e866b04476e053b71acd1cd07ce80939577ebbeace0430f7e4c0c185fe1d97ac7569950c83db40bbed0f1d173e1aa0dc28b4773705032d97551f7fcef7f55e4b69f88df650032dfc5232c156641104b5397", - "", - "8440e6d864ab778f9be478f203162d86", - }, - { - "4adf86bfa547725e4b80365a5a327c107040facfff007dc35102066bd6a995c4", - "b1018cc331911255a55a0795", - "", - "053ca4428c990b4456d3c1895d5d52deff675896de9faa53d8cf241255f4a31dc3399f15d83be380256616e5af043abfb37552655adf4f2e68dda24bc3736951134f359d9c0e288bb798b6c3ea46239231a3cb280066db9862e7", - "", - "c7424f38084930bfc5edc1fcf1e7608d", - }, - { - "3c92e0d1e39a3c766573c4646c768c402ccff48a56682a93433512abf0456e00", - "d57f319e590191841d2b98bd", - "", - "840d9394aa240e52ba152151c12acd1cd44881e8549dc832b71a45da7efcc74fb7e844d9fec25e5d497b8fb8f47f328c8d99045a19e366e6ce5e19dc26f67a81a94fa6c97c314d886e7b56eff144c09f6fa519db6308bc73422e", - "", - "cb4ef72dbda4914d7434f9686f823e2f", - }, - { - "b66ba39733888a9e0a2e30452844161dc33cb383c02ce16c4efad5452509b5b5", - "937cb665e37059b2e40359f2", - "", - "dbcd9694a8834860034e8ede3a5bd419fcf91c005ad99f488aa623f581622093f9d41e6a68e20fd202f302bcfc4417ca89090bfcd4d5224e8ff4eb5bbae4ecb27baa239f59c2f99cd47c0a269c497906b41a8f320a3dd2dc2de2", - "", - "bdc8249302d9d666cf7168317c118743", - }, - { - "2f9fcd1043455695638c991a1b1d35ad57c18ef0727322747b7991abc3d787f3", - "d06cf548f62869f4bed7a318", - "", - "432023c12cf1f614e1005112a17dbe6c5d54022a95cf6335a5bc55004c75f09a5699739ecf928e1c78d03dad5096a17a084afe1cc22041bbdfb5985bd08b0dcc59d2b08cd86b7aad597c4cd7b4ba6d6a7370b83995a6511a1f9e", - "", - "322eb84fb6884f10cfb766c2e3ec779e", - }, - { - "21c5839a63e1230c06b086341c96ab74585e69bced94332caeb1fa77d510c24f", - "5ab6e5ed6ee733be7250858c", - "", - "c92f08e30f67d42516133c48e97b65cc9e124365e110aba5e7b2cbe83debcc99edf4eb0007af052bda22d85900271b1897af4fd9ace6a2d09d984ac3de79d05de0b105a81b12542b2c48e27d409fd6992dd062d6055d6fc66842", - "", - "53b0e450309d146459f2a1e46c9d9e23", - }, - { - "25a144f0fdba184125d81a87e7ed82fad33c701a094a67a81fe4692dc69afa31", - "8bf575c5c2b45b4efc6746e4", - "", - "2a367cb0d3b7c5b8320b3cf95e82b6ba0bba1d09a2055885dedd9ef5641623682212103238b8f775cce42ddfd4f66382f2c3a5e8d6dff9163ced83580a75705574026b55db90f75f8abb3014c9a707021dedc075da38bebbf0a0", - "", - "0e2ce9cac8dfcedb0572ec6cab621efd", - }, - { - "42bc841b3b03a807cd366a35ecec8a6aebef7c4cba0ec8cb8da0da41df8ccef1", - "1bd46f85df5f4b3a126ee315", - "", - "ede3dcddbdc7d8e5d034c01661332ec349cb4e7a9fbaaf7abe2c647587db86cd427ce66908e070bc49ef838747e06b45ac486dfbea6f8698b4625e21e69db8327ec05cfd74accbe67ab644948cdb554af179a1e264e08fe16641", - "", - "633ab6aaf5b32b53a794f6be6262fc5f", - }, - { - "c25b8500be73210596fc4a9fb4d84d1a3379a91e3f0a6cc4177d996046627679", - "b56c48c0c4cd318b20437002", - "", - "bcd14dd043fdc8c327957e1c1428698543ec8602521a7c74788d296d37d4828f10f90656883d2531c702ebda2dc0a68dab00154577454455fad986ff8e0973098dbf370ff703ed98222b945726ed9be7909210ddbc672e99fdd9", - "", - "8171d4ff60fe7ef6de0288326aa73223", - }, - { - "dd95259bc8eefa3e493cb1a6ba1d8ee2b341d5230d50363094a2cc3433b3d9b9", - "a1a6ced084f4f13990750a9e", - "", - "d46db90e13684b26149cb3b7f776e228a0538fa1892c418aaad07aa08d3076f4a52bee8f130ff560db2b8d1009e9260fa6233fc22733e050c9e4f7cc699062765e261dffff1159e9060b26c8065dfab04055b58c82c340d987c9", - "", - "9e120b01899fe2cb3e3a0b0c05045940", - }, - { - "31bdadd96698c204aa9ce1448ea94ae1fb4a9a0b3c9d773b51bb1822666b8f22", - "0d18e06c7c725ac9e362e1ce", - "2db5168e932556f8089a0622981d017d", - "", - "fa4362189661d163fcd6a56d8bf0405a", - "d636ac1bbedd5cc3ee727dc2ab4a9489", - }, - { - "460fc864972261c2560e1eb88761ff1c992b982497bd2ac36c04071cbb8e5d99", - "8a4a16b9e210eb68bcb6f58d", - "99e4e926ffe927f691893fb79a96b067", - "", - "133fc15751621b5f325c7ff71ce08324", - "ec4e87e0cf74a13618d0b68636ba9fa7", - }, - { - "f78a2ba3c5bd164de134a030ca09e99463ea7e967b92c4b0a0870796480297e5", - "2bb92fcb726c278a2fa35a88", - "f562509ed139a6bbe7ab545ac616250c", - "", - "e2f787996e37d3b47294bf7ebba5ee25", - "00f613eee9bdad6c9ee7765db1cb45c0", - }, - { - "48e6af212da1386500454c94a201640c2151b28079240e40d72d2a5fd7d54234", - "ef0ff062220eb817dc2ece94", - "c7afeecec1408ad155b177c2dc7138b0", - "", - "9432a620e6a22307e06a321d66846fd4", - "e3ea499192f2cd8d3ab3edfc55897415", - }, - { - "79cd8d750fc8ea62a2714edcd9b32867c7c4da906c56e23a644552f5b812e75a", - "9bbfdb81015d2b57dead2de5", - "f980ad8c55ebd31ee6f98f44e92bff55", - "", - "41a34d1e759c859e91b8cf5d3ded1970", - "68cd98406d5b322571e750c30aa49834", - }, - { - "130ae450c18efb851057aaa79575a0a090194be8b2c95469a0e8e380a8f48f42", - "b269115396f81b39e0c38f47", - "036cf36280dee8355c82abc4c1fdb778", - "", - "09f7568fd8181652e556f0dda5a49ed5", - "d10b61947cae275b7034f5259ba6fc28", - }, - { - "9c7121289aefc67090cabed53ad11658be72a5372761b9d735e81d2bfc0e3267", - "ade1702d2051b8dd203b5419", - "b95bcaa2b31403d76859a4c301c50b56", - "", - "628285e6489090dde1b9a60674785003", - "9f516af3f3b93d610edbc5ba6e2d115f", - }, - { - "0400b42897011fc20fd2280a52ef905d6ebf1b055b48c97067bd786d678ec4ea", - "0abfb0a41496b453358409d9", - "20c8230191e35f4e9b269d59cf5521f6", - "", - "dd8c38087daffbbb3ebb57ebf5ee5f78", - "bfb07aa5049ee350ec6fb1397f37087b", - }, - { - "56690798978c154ff250ba78e463765f2f0ce69709a4551bd8cb3addeda087b6", - "cf37c286c18ad4ea3d0ba6a0", - "2d328124a8d58d56d0775eed93de1a88", - "", - "3b0a0267f6ecde3a78b30903ebd4ca6e", - "1fd2006409fc636379f3d4067eca0988", - }, - { - "8a02a33bdf87e7845d7a8ae3c8727e704f4fd08c1f2083282d8cb3a5d3cedee9", - "599f5896851c968ed808323b", - "4ade8b32d56723fb8f65ce40825e27c9", - "", - "cb9133796b9075657840421a46022b63", - "a79e453c6fad8a5a4c2a8e87821c7f88", - }, - { - "23aaa78a5915b14f00cf285f38ee275a2db97cb4ab14d1aac8b9a73ff1e66467", - "4a675ec9be1aab9632dd9f59", - "56659c06a00a2e8ed1ac60572eee3ef7", - "", - "e6c01723bfbfa398d9c9aac8c683bb12", - "4a2f78a9975d4a1b5f503a4a2cb71553", - }, - { - "fe647f72e95c469027f4d7778429a2e8e90d090268d4fa7df44f65c0af84190a", - "4f40ae2a83a9b480e4686c90", - "31fd6cce3f0d2b0d18e0af01c4b5609e", - "", - "54c769fd542f0d3022f1335a7c410b61", - "106cb7cbcd967da6cad646039c753474", - }, - { - "fce205515f0551b1797128a2132d8e002ea5ab1beb99c5e7e8329398cf478e10", - "20209a0d4a3b9bfddeef39a0", - "7d663e31a2f6ffef17e536684dae2e87", - "", - "6529712030fb659dc11ab719f6a4c402", - "58699464d062aba505508c576c4e07dd", - }, - { - "cd33003ff18f6f3369dd9a35381261ba660ce0a769864475152e677066540337", - "20bffe9064ce76d275204138", - "acaf53d4dd2fe12cd44450b0d9adcc92", - "", - "a669fda0444b180165f90815dc992b33", - "6e31f5a56c4790cedcc2368c51d0639b", - }, - { - "381873b5f9579d8241f0c61f0d9e327bb9f678691714aaa48ea7d92678d43fe7", - "3fc8bec23603158e012d65e5", - "7b622e9b408fe91f6fa800ecef838d36", - "", - "8ca4de5b4e2ab22431a009f3ddd01bae", - "b3a7f80e3edf322622731550164cd747", - }, - { - "92e11dcdaa866f5ce790fd24501f92509aacf4cb8b1339d50c9c1240935dd08b", - "ac93a1a6145299bde902f21a", - "2d71bcfa914e4ac045b2aa60955fad24", - "1e0889016f67601c8ebea4943bc23ad6", - "8995ae2e6df3dbf96fac7b7137bae67f", - "eca5aa77d51d4a0a14d9c51e1da474ab", - }, - { - "7da3bccaffb3464178ca7c722379836db50ce0bfb47640b9572163865332e486", - "c04fd2e701c3dc62b68738b3", - "fd671cab1ee21f0df6bb610bf94f0e69", - "fec0311013202e4ffdc4204926ae0ddf", - "6be61b17b7f7d494a7cdf270562f37ba", - "5e702a38323fe1160b780d17adad3e96", - }, - { - "a359b9584beec189527f8842dda6b6d4c6a5db2f889635715fa3bcd7967c0a71", - "8616c4cde11b34a944caba32", - "33a46b7539d64c6e1bdb91ba221e3007", - "e1796fca20cb3d3ab0ade69b2a18891e", - "b0d316e95f3f3390ba10d0274965c62b", - "aeaedcf8a012cc32ef25a62790e9334c", - }, - { - "8c83238e7b3b58278200b54940d779d0a0750673aab0bf2f5808dd15dc1a8c49", - "70f8f4ebe408f61a35077956", - "6e57f8572dd5b2247410f0d4c7424186", - "e1cbf83924f1b8d1014b97db56c25a15", - "4a11acb9611251df01f79f16f8201ffb", - "9732be4ad0569586753d90fabb06f62c", - }, - { - "fe21919bb320af8744c9e862b5b7cf8b81ad3ad1fb0e7d7d710a688d3eed154b", - "38bc3917aa1925f40850c082", - "aea53b1ea79a71c3a4b83c92a0c979f1", - "f24102fa7e6b819bb3ff47f90844db9c", - "2fb8b697bf8f7a2eea25fe702a3ae0a9", - "5be77e827737ad7c4f79e0e343fe010d", - }, - { - "499e8a3f39ac4abc62dd4e1a6133042e74785972b6b501bfaffefc8bb29fd312", - "5c728dbbef9dcc0ff483e891", - "b44014c7fc6b3f15d126a881fbe2bd2b", - "82300dab592f840ae991efa3623a6203", - "578fe5e1aef7619f392c027c838a239e", - "49fdc724f05eb56ea9e3fd14b61ad567", - }, - { - "2775d3e7a8fc665bb9a59edc22eb136add194824ed8f2adb449177404c739716", - "73f16c054e166696df679a2e", - "c9f3bce40310b6c0a3fd62742e4f3617", - "23199a1c9b7244913952ca4f7e7444f4", - "72c85c10756266d00a9a4340b2cb3137", - "5881e4565b42394e62d5daf0d1ebc593", - }, - { - "425a341c67e6d873870f54e2cc5a2984c734e81729c0dbaaeee050309f1ce674", - "0c09b7b4e9e097317b791433", - "76dda644b3faca509b37def0319f30cc", - "4300a721547846761e4bf8df2b6ec1d6", - "1dd80daa0fc9e47e43897c64a6663f5e", - "5d69b34d8c3b12f783faaea7e93685db", - }, - { - "dd5c48988a6e9f9f60be801ba5c090f224a1b53d6601ec5858eab7b7784a8d5e", - "43562d48cd4110a66d9ca64e", - "2cda2761fd0be2b03f9714fce8d0e303", - "55e568309fc6cb0fb0e0e7d2511d4116", - "f2cfb6f5446e7aa172adfcd66b92a98d", - "e099c64d2966e780ce7d2eaae97f47d8", - }, - { - "2bdad9c3e5de6e4e101b7f16e727c690db95eacf4b0ccbdec7aab6fb9fc80486", - "a5cf3967d244074d2153c576", - "84c867ec36cc6fe3487f5192fdfd390b", - "6bdae72b5ed0e4d1f10064ebd02cf85c", - "53c8fa437c1b5fa91abbd6508b3878ce", - "7859593d127324be8b9cf1d43ead4d82", - }, - { - "01e92afdb5d956be12d38b09252966c5728d26f3c72e54bb62bbc55ae590e716", - "886e55364eeb90e87ac79bbe", - "6c6570385f3d6d937e54a3a2e95bc9eb", - "c76aabb7f44b942a81feb50249d2131a", - "423b749a507f437b431114962180d352", - "54d859320a49281368297da7d4e37326", - }, - { - "46921319217598cb64256fe49abca1f18a9d1dbca360f8630afb5c6137cb42b5", - "290827cf981415760ec3b37a", - "480d32b191c2e201aed03680f93ea2da", - "535ee80b12f581baaf8027e6e3900e31", - "89ace4f73583fb1ac260dea99b54055e", - "7b8b8358363c175a66e6fb48d1bc2222", - }, - { - "e18cd9b01b59bc0de1502efb74c3642997fe7dfb8d80c8a73caffe7726807d33", - "bd087b384c40841b3839ba02", - "62f7f3a12b8c5f6747fcfe192d850b19", - "fe69f837961b1d83f27fbf68e6791a1c", - "bacfccf6397424e96caf761e71dd3e3a", - "9c9a5b65420f83e766c7c051680e8e58", - }, - { - "68ee463b3153d9a042e5e3685def6f90f7659a203441de337fb94831cbeae9b2", - "9c4a9254c485236cf838de7e", - "73731054514f3fb0102c7a1df809f212", - "d55820e7acbb27d23c7df32938cf7d42", - "13b7823cac37f40eb811e3c966d16a67", - "76288c33a66ff6451e2cec6c4ba4935e", - }, - { - "64bd594daf279e3172f9aa713b35b7fce8f43083792bc7d1f10919131f400a7b", - "339a2c40e9d9507c34228649", - "2b794cb4c98450463a3e225ab33f3f30", - "2b9544807b362ebfd88146e2b02c9270", - "434d703b8d1069ad8036288b7c2d1ae6", - "7d31e397c0c943cbb16cfb9539a6a17d", - }, - { - "83688deb4af8007f9b713b47cfa6c73e35ea7a3aa4ecdb414dded03bf7a0fd3a", - "0b459724904e010a46901cf3", - "33d893a2114ce06fc15d55e454cf90c3", - "794a14ccd178c8ebfd1379dc704c5e208f9d8424", - "cc66bee423e3fcd4c0865715e9586696", - "0fb291bd3dba94a1dfd8b286cfb97ac5", - }, - { - "013f549af9ecc2ee0259d5fc2311059cb6f10f6cd6ced3b543babe7438a88251", - "e45e759a3bfe4b652dc66d5b", - "79490d4d233ba594ece1142e310a9857", - "b5fe530a5bafce7ae79b3c15471fa68334ab378e", - "619443034e4437b893a45a4c89fad851", - "6da8a991b690ff6a442087a356f8e9e3", - }, - { - "4b2815c531d2fceab303ec8bca739a97abca9373b7d415ad9d6c6fa9782518cc", - "47d647a72b3b5fe19f5d80f7", - "d3f6a645779e07517bd0688872e0a49b", - "20fd79bd0ee538f42b7264a5d098af9a30959bf5", - "00be3b295899c455110a0ae833140c4d", - "d054e3997c0085e87055b79829ec3629", - }, - { - "2503b909a569f618f7eb186e4c4b81dbfe974c553e2a16a29aea6846293e1a51", - "e4fa3dc131a910c75f61a38b", - "188d542f8a815695c48c3a882158958c", - "f80edf9b51f8fd66f57ce9af5967ec028245eb6e", - "4d39b5494ca12b770099a8eb0c178aca", - "adda54ad0c7f848c1c72758406b49355", - }, - { - "6c8f34f14569f625aad7b232f59fa8b187ab24fadcdbaf7d8eb45da8f914e673", - "6e2f886dd97be0e4c5bd488b", - "ac8aa71cfbf1e968ef5515531576e314", - "772ec23e49dbe1d923b1018fc2bef4b579e46241", - "cb0ce70345e950b429e710c47d9c8d9b", - "9dceea98c438b1d9c154e5386180966d", - }, - { - "182fe560614e1c6adfd1566ac44856df723dcb7e171a7c5796b6d3f83ef3d233", - "8484abca6877a8622bfd2e3c", - "92ca46b40f2c75755a28943a68a8d81c", - "2618c0f7fe97772a0c97638cca238a967987c5e5", - "ed1941b330f4275d05899f8677d73637", - "3fe93f1f5ffa4844963de1dc964d1996", - }, - { - "65a290b2fabe7cd5fb2f6d627e9f1f79c2c714bffb4fb86e9df3e5eab28320ed", - "5a5ed4d5592a189f0737cf47", - "662dda0f9c8f92bc906e90288100501c", - "ad1c7f7a7fb7f8fef4819c1dd1a67e007c99a87b", - "8eb7cb5f0418da43f7e051c588776186", - "2b15399ee23690bbf5252fb26a01ae34", - }, - { - "7b720d31cd62966dd4d002c9ea41bcfc419e6d285dfab0023ba21b34e754cb2f", - "e1fb1f9229b451b72f89c333", - "1aa2948ed804f24e5d783b1bc959e086", - "7fdae42d0cf6a13873d3092c41dd3a19a9ea90f9", - "8631d3c6b6647866b868421b6a3a548a", - "a31febbe169d8d6f391a5e60ef6243a0", - }, - { - "a2aec8f3438ab4d6d9ae566a2cf9101ad3a3cc20f83674c2e208e8ca5abac2bb", - "815c020686c52ae5ddc81680", - "a5ccf8b4eac22f0e1aac10b8d62cdc69", - "86120ce3aa81445a86d971fdb7b3b33c07b25bd6", - "364c9ade7097e75f99187e5571ec2e52", - "64c322ae7a8dbf3d2407b12601e50942", - }, - { - "e5104cfcbfa30e56915d9cf79efcf064a1d4ce1919b8c20de47eab0c106d67c1", - "d1a5ec793597745c7a31b605", - "7b6b303381441f3fdf9a0cf79ee2e9e0", - "9931678430ff3aa765b871b703dfcc43fb1b8594", - "425d48a76001bed9da270636be1f770b", - "76ff43a157a6748250a3fdee7446ed22", - }, - { - "f461d1b75a72d942aa096384dc20cf8514a9ad9a9720660add3f318284ca3014", - "d0495f25874e5714a1149e94", - "d9e4b967fdca8c8bae838a5da95d7cce", - "1133f372e3db22456e7ea92f29dff7f1d92864d3", - "1df711e6fbcba22b0564c6e36051a3f7", - "f0563b7494d5159289b644afc4e8e397", - }, - { - "a9a98ef5076ceb45c4b60a93aeba102507f977bc9b70ded1ad7d422108cdaa65", - "54a1bc67e3a8a3e44deec232", - "ede93dd1eaa7c9859a0f709f86a48776", - "10cfef05e2cd1edd30db5c028bd936a03df03bdc", - "3d3b61f553ab59a9f093cac45afa5ac0", - "7814cfc873b3398d997d8bb38ead58ef", - }, - { - "d9e17c9882600dd4d2edbeae9a224d8588ff5aa210bd902d1080a6911010c5c5", - "817f3501e977a45a9e110fd4", - "d74d968ea80121aea0d7a2a45cd5388c", - "d216284811321b7591528f0af5a3f2768429e4e8", - "1587c8b00e2c197f32a21019feeee99a", - "63ea43c03d00f8ae5724589cb6f64480", - }, - { - "ec251b45cb70259846db530aff11b63be00a951827020e9d746659bef2b1fd6f", - "e41652e57b624abd84fe173a", - "75023f51ba81b680b44ea352c43f700c", - "92dd2b00b9dc6c613011e5dee477e10a6e52389c", - "29274599a95d63f054ae0c9b9df3e68d", - "eb19983b9f90a0e9f556213d7c4df0f9", - }, - { - "61f71fdbe29f56bb0fdf8a9da80cef695c969a2776a88e62cb3d39fca47b18e3", - "77f1d75ab0e3a0ed9bf2b981", - "110a5c09703482ef1343396d0c3852d3", - "c882691811d3de6c927d1c9f2a0f15f782d55c21", - "7e9daa4983283facd29a93037eb70bb0", - "244930965913ebe0fa7a0eb547b159fb", - }, - { - "e4fed339c7b0cd267305d11ab0d5c3273632e8872d35bdc367a1363438239a35", - "0365882cf75432cfd23cbd42", - "fff39a087de39a03919fbd2f2fa5f513", - "8a97d2af5d41160ac2ff7dd8ba098e7aa4d618f0f455957d6a6d0801796747ba57c32dfbaaaf15176528fe3a0e4550c9", - "8d9e68f03f7e5f4a0ffaa7650d026d08", - "3554542c478c0635285a61d1b51f6afa", - }, - { - "bd93c7bfc850b33c86484e04859ed374beaee9d613bdca6f072d1d182aeebd04", - "6414c7749effb9af7e5c4762", - "b6de1699931f2252efc98d491d22ee12", - "76f43d5664c7ac1b4de43f2e2c4bc71f6918e0762f40e5dd5597ef4ff215855a4fd26d3ea6ccbd4e10789948fa692433", - "a6c7e52f2018b823506e48064ffe6ee4", - "175e653c9036f66835f10cf1c82d1741", - }, - { - "df0125a826c7fe49243d89cbdd7562aafd2103fa2783cf901976b5f5d481cdcb", - "f63c1461b2964929d035d9bf", - "cc27ff68f981e4d6fb1918427c3d6b9e", - "0bf602ec47593e44ac1b88244455fa04359e338057b0a0ba057cb506d546d4d6d8538640fe7dd3d5864bd33b5a33d768", - "b8fa150af93078574ac7c4615f88647d", - "4584553ac3ccdf8b0efae517652d3a18", - }, - { - "d33ea320cec0e43dfc1e3d1d8ccca2dd7e30ad3ea18ad7141cc83645d18771ae", - "540009f321f41d00202e473b", - "e56cdd522d526d8d0cd18131a19ee4fd", - "a41162e1fe875a81fbb5667f73c5d4cbbb9c3956002f7867047edec15bdcac1206e519ee9c238c371a38a485c710da60", - "8b624b6f5483f42f36c85dc7cf3e9609", - "2651e978d9eaa6c5f4db52391ac9bc7c", - }, - { - "7f35f5979b23321e6449f0f5ef99f2e7b796d52d560cc77aabfb621dbf3a6530", - "cf0f6f3eed4cf374da714c77", - "4e9f53affdb5b1e91bf423d29c54401a", - "a676d35d93e12bfe0603f6aef2c3dd892a9b1ad22d476c3509d313256d4e98e4dda4e46e93b54cf59c2b90608a8fb3ad", - "1714d55ef83df2927ee95ff22f1d90e6", - "4962a91d1071dd2c05934968d21eb43c", - }, - { - "06ecc134993506cf539b1e797a519fe1d9f34321fe6a0b05f1936285c35c93a4", - "f2190861d1140bd080d79906", - "519c1fc45a628ec16c515427796711f7", - "a04f2723c2521181437ad63f7910481d5de98f3e2561cec3a177bdbcb5048619738852e0fb212a3caa741a353e4e89a8", - "b36c793224ce3bb1b54144398fbdedb6", - "0030e6e84f6f8eb474ce8e071c2953dd", - }, - { - "734fa8b423b91e0ecccc7f554480eef57a82423a9f92b28d464320fba405a71c", - "a6b5c78bb5791f4d121390ce", - "b496a99b39e0e94bb5829cfc3d7b3856", - "9ce25ff9b55dfa04e4271999a47cba8af8e83a390b090d1c4306b40ce8882624b662ff5867896396789295c19ec80d07", - "904081a40484bb6454fc52cb6674e737", - "6a0787cf3921a71c35b5054954527823", - }, - { - "d106280b84f25b294f71c261f66a65c2efd9680e19f50316d237975052796392", - "cfc6aa2aeba468c66bf4553f", - "57e937f8b9b814e965bb569fcf63aaac", - "012a43f9903a3808bf34fd6f77d831d9154205ded589964cae60d2e49c856b7a4100a55c8cd02f5e476f62e988dcbd2b", - "c835f5d4fd30fe9b2edb4aff24803c60", - "e88426bb4619807f18a9cc9839754777", - }, - { - "81eb63bc47aba313d964a5335cfb039051520b3112fa54cab368e5243947d450", - "18cc5dd875753ff51cc6f441", - "45f51399dff6a0dcd43f35256616d6be", - "24f766c56777312494245a4e6c7dbebbae4026e0907eadbc20a488982678161de7b924473c0a81ee59a0fa6905952b33", - "a2fc7b0784ec4233142f9cde12ab9e98", - "4e60b8561cacfe7133740cd2bddefaa0", - }, - { - "0a997863786a4e97332224ed484ffca508b166f0603687200d99fd6accd45d83", - "7a9acabd4b8d3e1036293a07", - "9d2c9ff39f57c96ecce287c68c5cd6eb", - "525fc5ac7fe93c183a3ef7c75e3fbd52dce956855aff385966f4d79966bdb3ec2019c466584d21bfee74511a77d82adb", - "238441c65b2a1c41b302da0f52d40770", - "c351d93ab9491cdfb7fa15e7a251de22", - }, - { - "acbfeb7c595b704960c1097e93d3906534c23444c8acc1f8e969ce6c3fe8a46b", - "28922ecac3013806c11660e6", - "e0d8c52d60c6ed6980abd4348f3f96f1", - "b1fe886107013ebdeb19315a9d096ed81803951a508f56f68202a7df00bebae0742dd1128c200952a049ef0cd7cfe4e6", - "56fe1cf2c1d193b9b33badbf846f52cc", - "1cb4c14f50a54a64813ffc810f31f9f8", - }, - { - "f6e768475c33269596da1f5a5a38547a885006bebb9134e21274d8456e9f5529", - "3579e5ac51d1f1b82ea352ca", - "0aa481f856f8b96547672e5ae5370f9e", - "6929b6053ba148304366164f79b1b9f592c9cb9bce65094cec5cb8b0fc63e20d86b17c8bf5a7b089a63c5eac1824ee93", - "b2f4edf5f0b0bfc590fead6239b0f2fb", - "2540ceb5ef247c95d63df84c46468533", - }, - { - "2ca76112300bed65b87ba6ec887cd514f4633c1c96565fec8e3e69ae2ba88401", - "964864510a8c957dcfb97d2f", - "0aff24b4c5aa45b81ce08ec2439be446", - "5aebdfd153a18763f36ecc9e8e9a01cb7b3f21e435b35b0da937c67e87c9ec058d08060a95e1eda0a5ab6546cca45094", - "03da1f5a1403dbdd9f75a26113608ec0", - "a1c215d0c552a6061aa2b60afc3667a6", - }, - { - "c0ff018b6c337dde685c8279cf6de59d7ce4b288032b819e074b671e72abbc91", - "f12e6b1e85f87ef4c9ccbb7b", - "f7512bbfa2d40d14be71b70f70701c99", - "0577e8d28c0e9e5cde3c8b2a1a2aa8e2fc3ec8e96768405fcfbd623be7fc4e2e395c59b5b3a8ea117ef211320bc1f857", - "0187b4c2d52486b4417e5a013d553e5e", - "dba451e7339be8ebed3ea9683d1b4552", - }, - { - "d90c6948ac2353867e943069196a2c4d0c4d51e34e2505661b1d76f3e5f17ac5", - "07e5623f474e2f0fe9f4c7d2", - "8a9fb1b384c0d1728099a4f7cb002f07", - "0de97574ae1bc6d3ef06c6ce03513ca47dff4728803e0aacc50564ee32b775fd535f5c8c30186550d99bff6f384af2dd", - "4234a3a9fb199c3b293357983e8ac30b", - "d51e6f071dbab126f5fc9732967108ef", - }, - { - "80d755e24d129e68a5259ec2cf618e39317074a83c8961d3768ceb2ed8d5c3d7", - "7598c07ba7b16cd12cf50813", - "5e7fd1298c4f15aa0f1c1e47217aa7a9", - "0e94f4c48fd0c9690c853ad2a5e197c5de262137b69ed0cdfa28d8d12413e4ffff15374e1cccb0423e8ed829a954a335ed705a272ad7f9abd1057c849bb0d54b768e9d79879ec552461cc04adb6ca0040c5dd5bc733d21a93702", - "5762a38cf3f2fdf3645d2f6696a7eead", - "8a6708e69468915c5367573924fe1ae3", - }, - { - "dda7977efa1be95a0e41ed8bcd2aa648621945c95a9e28b63919e1d92d269fc3", - "053f6e1be42af8894a6e86a0", - "6fa9b08176e9963927afba1e5f969a42", - "cb5114a001989339657427eb88329d6ce9c69694dc91a69b7557d62184e57832ec76d162fc9c47490bb3d78e5899445cecf85d36cb1f07fed5a3d82aaf7e9590f3ed74ad13b13c8adbfc7f29d7b151448d6f29d11d0bd3d03b76", - "d4adbff3ec8edade29b9a1b748c31b54", - "3b331733c753858c22d309ceb0f9488c", - }, - { - "d7da934ad057dc06bd1ec234fcc4efdc5119037a440b5827de25915f22dd47e5", - "1b54c4ea37d2395ef70dcc72", - "86d5567658361198348207ede7a46da6", - "735de4596a80e64e38a12ab24ef73881d6ed3b533cb2c101025c3615acd2114150feeca84ade4e563bc4a300eb4a0cd97a184a293f0ac063e4f3c61e7fcdb331bcc6459fafaf0e2dda881f34eb717f4ee8c4b6890d3ef59721f3", - "70a1c1d7c200ba5ae1b6f29917bb19f2", - "a25d51cccb198bed33de0b98df249c2d", - }, - { - "930ebb4b9b9c35094be374cc0b700c437b3c46b45d489a716c30f93cd5f986c9", - "7a21e5febd82ec9b97bfbe83", - "980086665d08a365f6bbe20ae51116f7", - "9f2ed5f6cf9e2d6505d3c99a8f81a7dfc5658dd085eba966c8b3206230973a086ec36fe948573baee108fca941bce53dad73180877cd497976209c1adf8a9861f0215560df064caf0ef2f99445c11816f5b8deeafedd682b5fb2", - "05baaefdeb0c33674a8064a2e9951aaf", - "2ec7efd2564d4e09a6ab852f3af49939", - }, - { - "70213d8949a65f463d13206071fab1b4c6b614fd3cee0d340d2d806de6714a93", - "f8529d3e4f155cbb1ffb3d0a", - "47d47a5fd32a2a416f921cc7f00c0f81", - "112360db39b867dabaaa1d777bd881df2104b69fba15a4f37a832f5da38ad8a8c7c46db93e5b4eadf8b9a5a75508ad1457994c133c5ac85509eedfb13b90a2cf6c56a3c778582939362008608b08f9c4866a0e38744572114598", - "b220b69bd851a17fbc5b725fb912f11e", - "4c3436943d58501c0826ae5827bc063e", - }, - { - "7a5834230ebbbf616630f2edb3ad4320182433c0546ac1e34bc9fd046e4a0ed9", - "d27dd6212b6defdcbbc701bb", - "b4def1251427ade064a9614e353dda3f", - "3bc12f3bb88ea4f8a2184959bb9cd68911a78458b27e9b528ccecafe7f13f303dc714722875f26b136d18a3acfe82b53ad5e13c71f3f6db4b0fd59fffd9cd4422c73f2c31ac97010e5edf5950dc908e8df3d7e1cbf7c34a8521e", - "88f94965b4350750e11a2dc139ccaef1", - "8a61f0166e70c9bfdd198403e53a68a5", - }, - { - "c3f10586f246aacadcce3701441770c03cfec940afe1908c4c537df4e01c50a0", - "4f52faa1fa67a0e5f4196452", - "79d97ea3a2edd65045821ea745a44742", - "46f9a22b4e52e1526513a952dbee3b91f69595501e0177d50ff364638588c08d92fab8c58a969bdcc84c468d8498c4f06392b99ed5e0c484507fc48dc18d87c40e2ed848b43150be9d36f14cf2cef1310ba4a745adcc7bdc41f6", - "560cf716e56190e9397c2f103629eb1f", - "ff7c9124879644e80555687d273c55d8", - }, - { - "ad70ebcf889e88b867ded0e4838ca66d6991499046a5671d99e91ed463ae78b1", - "561e13b335718fcbee364100", - "82d5568872a4cef12238c0feb14f0fb4", - "e037bd7306eec185b9cb4e3bf295232da19005957086d62e6fb342284f05feaa0e81d6c95071e7e4d7b6aad7b00f7e7863dd0fc16303a8304bb8855305f28067f4be71eed95ff90e046382116229f0fd3d2c3ef2e87e0d0e7950", - "771c6d091f8190ddbdb8886d9ce2ebd5", - "5009abd1ebeb26dab852346ea6d8aee3", - }, - { - "a452fa24b381e7165ee90f3371c2b0db2176f848a0354c78e92f2f1f89bbc511", - "4bd904dfe18241eb5455d912", - "3f43df23ea940f3680a4b679b56db579", - "64f1a9d21deb183cff84f1aef5be83dbfc72e275f229eb5d59ace143605e8901dfa8f4724be24c86b5429bc84b629971fe1f9663b7537427b45dfb67d5f04506df4ee2c33d7f15af9f6e86058b131b7e6042b43a55bf6915f048", - "c054974c4562f8536aef2734f10e09fc", - "2c5cafaf7b1f7581c5ec13080994e33c", - }, - { - "209ea3c4dd0420a4d63dbb72099a0202c9b0709f3b1221565f890511eef8005b", - "43775083e4008816129f5d40", - "b4967f8c4fb1b34b6ff43a22d34fae5c", - "9abc653a2347fc6e5a8cb9bdc251dff7c56109797c387494c0ed55570330961eb5b11087603e08ad293d0dd55571008e62d1163f67cf829e28d27beba65553bd11d8838f8a7a5f1fe05500befbaf97839801e99ecf998882c707", - "a8d22a6e25232938d3f8600a66be80da", - "2ef93cc03c17bbfb6626144697fd2422", - }, - { - "dabd63ac5274b26842c2695c9850d7accc1693ee2aeee1e2e1338bbbc5b80f87", - "fd6790d620f12870b1d99b31", - "4a28048f5683679a557630a661f030e2", - "e4a06b9b205a7faadb21dc7fea8a0de0e013d717b61b24ec42f81afc8cdbc055573e971375da2fa5103a091317eab13b6a110ea211af257feabf52abafec23fd5b114b013d5c052199020573f8b7b7ae6958f733e87efa0426c2", - "196d0345df259b47665bc233b798ebba", - "b0729d8b427ad048a7396cedf2257338", - }, - { - "b238df5e52e649d4b0a05e53020ac59e7d5bf49b8d04f8c30c356ed62dba9ed1", - "f153f093c9a3479f999eda04", - "d48e779766afa73d7e04fc6fc3fa825e", - "45b5df0c15140e5ce7a19f4e02834e6027971e3e0e719626c29081a6301e95c71214345afac1908bb75ff2d3281261e6c5f41dc4e4796f054174a64f8e177f3f33321edfbd263e204135699428a09f34eb344211bfb9fac9afba", - "b1989eb510843d8f35205dc3f949522f", - "616089990729228f673099514824d9b4", - }, - { - "f3dc2456d3b8947591a2d82b7319226b0f346cd4361bcc13b56da43e072a2774", - "7a8acb5a84d7d01e3c00499e", - "ad075da908231ff9aae30daa6b847143", - "5e6be069effee27d34a8087c0d193f9f13e6440dc9fabfe24f6c867f831d06789d0dce92b2e3ff3ab9fe14202a8b42f384c25e3f3753dd503ec907a9b877f1707d64e4ac42909a7dee00c87c4a09d04de331515460ed101f5187", - "9f224f2a1a1fbaade8b87b748971c0ac", - "cb5089d9dfaebf98e4b36ebc5f9a1a50", - }, - { - "f5a56b69a1562c77e8edebc327a20295c2eba7d406d899a622c53539626c9d72", - "a395b8aca4508a6a5f3cb4d8", - "7de4638701bd2b600d7f8d26da7a75bc", - "2e4fca2b163e4403971716015386cd81bdd1e57f00f2936da408098341011f2644a38ddad799f70eaa54f6e430d4853ff2b9c44a35123670879a83120bd555c76b95b70de0c8054f9d08539a5795e70a2446d7b9fab3f7887c6b", - "6508be2698ba9889b4e445b99190a5c5", - "3394106f257c2e15c815430f60bc24ba", - }, - { - "376371a780947256c52f07d80bb25a4d7e919ca8bd693b1a0ccbca748d2ce620", - "27d7170f6f70f2fc40dfca78", - "7a279f9f8568b7c307490549b259226c", - "272c3559398ad774fa4b6895afc92870b2b92d310fa0debf0b7960e1fe38bfda64acd2fef26d6b177d8ab11d8afceee77374c6c18ad405d5ae323ad65fb6b04f0c809319133712f47636c5e042f15ed02f37ee7a10c643d7b178", - "32284379d8c40ec18ee5774085d7d870", - "dcdee1a757f9758c944d296b1dabe7b2", - }, - { - "82c4f12eeec3b2d3d157b0f992d292b237478d2cecc1d5f161389b97f999057a", - "7b40b20f5f397177990ef2d1", - "982a296ee1cd7086afad976945", - "", - "ec8e05a0471d6b43a59ca5335f", - "113ddeafc62373cac2f5951bb9165249", - }, - { - "db4340af2f835a6c6d7ea0ca9d83ca81ba02c29b7410f221cb6071114e393240", - "40e438357dd80a85cac3349e", - "8ddb3397bd42853193cb0f80c9", - "", - "b694118c85c41abf69e229cb0f", - "c07f1b8aafbd152f697eb67f2a85fe45", - }, - { - "acad4a3588a7c5ec67832baee242b007c8f42ed7425d5a7e57b1070b7be2677e", - "b11704ba368abadf8b0c2b98", - "2656b5fbec8a3666cad5f460b7", - "", - "35c7114cabe39203df19413a99", - "16f4c7e5becf00db1223476a14c43ebc", - }, - { - "e5a0eb92cc2b064e1bc80891faf1fab5e9a17a9c3a984e25416720e30e6c2b21", - "4742357c335913153ff0eb0f", - "8499893e16b0ba8b007d54665a", - "", - "eb8e6175f1fe38eb1acf95fd51", - "88a8b74bb74fda553e91020a23deed45", - }, - { - "e78c477053f5dae5c02941061d397bc38dda5de3c9c8660a19de66c56c57fd22", - "4f52c67c2bb748d192a5a4e2", - "91593e21e1f883af5c32d9be07", - "", - "e37fbc56b0af200a7aa1bbe34e", - "29fe54eaaccf5e382601a15603c9f28c", - }, - { - "d0b13482037639aa797471a52b60f353b42e0ed271daa4f38a9293191cb78b72", - "40fb7cae46adf3771bf3756a", - "938f40ac8e0e3b956aac5e9184", - "", - "7dca05a1abe81928ccfb2164dd", - "5ea53ee170d9ab5f6cc047854e47cf60", - }, - { - "46da5ec688feead76a1ddcd60befb45074a2ef2254d7be26abdfd84629dbbc32", - "9fb3b2b03925f476fc9a35f3", - "a41adc9fb4e25a8adef1180ec8", - "", - "f55d4cbe9b14cea051fe7a2477", - "824753da0113d21186699dbb366c0589", - }, - { - "de3adf89f2fe246c07b0ce035f4af73cf2f65e5034dcfecfe9d7690ae1bdbd96", - "a94aa4df0d8451644a5056c0", - "96825f6d6301db14a8d78fc2f4", - "", - "784c6c3c24a022637cbc907c48", - "1eeaeddcdb4c72c4e8966950a319a4ef", - }, - { - "03c362288883327f6289bc1824e1c329ce485e0ce0e8d3405245283cf0f2eae2", - "5de9f882c915c72729b2245c", - "f5c1c8d41de01d9c08d9f47ece", - "", - "61af621953a126a2d1de559e92", - "fbdeb761238f2b70c5fb3dde0a7978f3", - }, - { - "e9ead7c59100b768aa6367d80c04a49bcd19fa8cc2e158dc8edeec3ea39b657d", - "e81854665d2e0a97150fbab3", - "f8ccf69c52a873695367a42940", - "", - "af2a7199602ee9ed2020c7b4cd", - "29715945ab1c034ecfcd91a466fc822e", - }, - { - "bc3e5b0fe423205904c32f870b9adec9d736a1616624043e819533fa97ed9b79", - "335fe5180135673ce1a75144", - "295df9665eef999204f92acf24", - "", - "3ac2a8a1b505a84677adfdb396", - "21f20aa0bb77d46d7290bc9c97a7a7bd", - }, - { - "ce889c73e0d64e272aba4bf9777afc7ee6457ddc9626ad931708ed7530d71b99", - "fe61a6cda62fecd4e3b0c562", - "e2ae40ba5b4103b1a3066c1b57", - "", - "185aa3508a37e6712b28191ec2", - "9ec1d567585aa467730cce92e536728e", - }, - { - "41e0cb1aed2fe53e0b688acb042a0c710a3c3ae3205b07c0af5191073abdfba9", - "2f56e35216d88d34d08f6872", - "6482df0e4150e73dac51dc3220", - "", - "9cb09b9927dfbe0f228e0a4307", - "fe7e87a596d63e2ab2aae46b64d466e8", - }, - { - "52a7662954d525cb00602b1ff5e937d41065ac4b921e284ffac73c04cfd462a0", - "baffe73856ab1a47fb1feebf", - "9d0b5ca712f97caa1875d3ad87", - "", - "fd01165380aedd6be226a66af3", - "35a492e39952c26456850b0172d723d1", - }, - { - "c4badb9766986faeb888b1db33060a9cd1f02e1afe7aaaea072d905750cb7352", - "cc6966e9d81a298a561416d4", - "de68fb51731b45e7c2c5063923", - "", - "f5be41f2c8c32e01098d433057", - "c82b1b012916ab6ed851d59829dad8ab", - }, - { - "dad89d9be9bba138cdcf8752c45b579d7e27c3dbb40f53e771dd8cfd500aa2d5", - "cfb2aec82cfa6c7d89ee72ff", - "b526ba1050177d05b0f72f8d67", - "6e43784a91851a77667a02198e28dc32", - "8b29e66e924ecae84f6d8f7d68", - "1e365805c8f28b2ed8a5cadfd9079158", - }, - { - "0d35d3dbd99cd5e088caf686b1cead9defe0c6001463e92e6d9fcdc2b0dcbaf6", - "f9139eb9368d69ac48479d1f", - "5e2103eb3e739298c9f5c6ba0e", - "825cc713bb41c789c1ace0f2d0dd3377", - "8ff3870eec0176d9f0c6c1b1a2", - "344234475538dc78c01f249f673e0862", - }, - { - "d35d64f1872bdcb422228f0d63f8e48977ed68d143f648ae2cd852f944b0e6dd", - "0b2184aadbe8b515924dda5e", - "c8f999aa1a08871d74db490cf3", - "888f328d9e9eebbb9cb2704b5b880d66", - "ad0d5e7c1065a34b27a256d144", - "8c8e7076950f7f2aeba62e1e761650d5", - }, - { - "9484b7ce3c118a8a2d556c2f7ba41fca34f60c9ea1070171459c9e7487c9537e", - "87bc033522ae84d2abe863c5", - "14d8004793190563825e273dda", - "07ee18737b9bf8223979a01c59a90eb4", - "43034a2c57ccacc367796d766a", - "4c981ca8b6e9e52092f5435e7ef55fbb", - }, - { - "4f4539e4a80ec01a14d6bb1bae0010f8a8b3f2cd0ac01adf239a9b2b755f0614", - "2b6f00ce1570432bf52fdcac", - "820cc9389e7e74ca1cbb5a5fe6", - "0d72a13effe40544c57cc18005b998cb", - "99553fdf3e777e2a4b3b6a5538", - "3cbf51640a3a93c3662c738e98fb36a2", - }, - { - "2f5e93ee24a8cd2fc6d3765f12d2179ddb8397783e136af9e0ac75f16fca451e", - "0dc3c70a191f3722641fd701", - "4e96463793cdeda403668c4aee", - "ebab30cbcc99905354e4ee6f07c7db87", - "ab03f8ca7b1b150bdc26d4e691", - "020546afff4290c4c8ef7fc38035ebfd", - }, - { - "a902e15d06ef5ad334d0ec6502e936ee53ef3f3608f7708848b11cefa92983d1", - "b9f3e966efa43ab4aca1f2d8", - "393ff3dfe51cd43543e4e29fcc", - "2eaa35c00bf1cf8a81919bd04b43fd97", - "7e8928b450c622ac8efe29d5a0", - "5a285de95990aef171629350bbcaf46e", - }, - { - "96657976da7692004e271b594e8304f77db9c9e77859246bb30a16239ba76a53", - "79226100afea30644876e79a", - "2b0833a065c3853ee27c8968d0", - "ede7a9072a0086b9a1e55d900747cf76", - "19373168f1a4052a57c6b8146f", - "debbf044325384b90a0c442d95455fb9", - }, - { - "630ea13eb5f52378b976ba2662f824dc622920759a15d2e341c446b03ea7bd5c", - "0f9ebe47682f93d44c4db314", - "5c734964878a4250a3bf61fdd6", - "5ad8e9cffe622e9f35bdb185473868e5", - "67cb6d943340d002d3323fcc4e", - "f5dc0f88f236560c4e2a6d6c15d3c0de", - }, - { - "c64f8a3ac230dce61b53d7b584f2309384274d4b32d404bc0c491f129781e52d", - "7f4b3bcf763f9e2d08516a6d", - "fe581128ae9832d27ec58bd7ac", - "89ed6945547ee5998de1bb2d2f0bef1e", - "81d7a8fdaf42b5716b892199c9", - "8183aaff4c0973fe56c02c2e0c7e4457", - }, - { - "dd73670fb221f7ee185f5818065e22dda3780fc900fc02ef00232c661d7bffce", - "c33de65344cfbf228e1652bd", - "ada4d98147b30e5a901229952a", - "e1a5e52427f1c5b887575a6f2c445429", - "6ed4e4bd1f953d47c5288c48f4", - "404e3a9b9f5ddab9ee169a7c7c2cf7af", - }, - { - "f6c5d9562b7dbdd0bf628ddc9d660c27841b06a638f56601f408f23aa2f66f4e", - "67280bcb945ba6eda1c6c80a", - "f4caead242d180fbd2e6d32d0c", - "5b33716567b6c67b78ea5cd9349bcaaf", - "fdfa39517d89ea47e6ccb0f831", - "91f9b540ca90e310a1f5c12c03d8c25e", - }, - { - "ce1d242f13de7638b870e0aa85843ea43a9255a4fa4d32057347f38e0267daeb", - "86562be4621b4d5eb1983075", - "d20e59a8ef1a7de9096c3e6746", - "d48a9490a0b7deb023460608b7db79ce", - "35ce69fb15d01159c52266537c", - "dc48f7b8d3feeeb26fcf63c0d2a889ec", - }, - { - "512753cea7c8a6165f2ebbd3768cc7b951029bd527b126233cf0841aff7568c7", - "b79221802d8d97978041fe84", - "c63d6c1006b615275c085730b1", - "22fa0605b955a33468f3e60160b907f2", - "bdb5d7f24732bdba1d2a429108", - "fca923d2941a6fd9d596b86c3afb0ad9", - }, - { - "e7b18429e3edded2d992ca27afab99e438b8aff25fc8460201fabe08e7d48ec2", - "9db9b7320aaac68538e37bf7", - "c4713bc67a59928eee50039901", - "283e12a26e1646087b5b9d8c123dde1f", - "a5932f92bda107d28f2a8aaa74", - "9a1357fd8ed21fe14d1ca2e597c3ef17", - }, - { - "69b458f2644af9020463b40ee503cdf083d693815e2659051ae0d039e606a970", - "8d1da8ab5f91ccd09205944b", - "f3e0e09224256bf21a83a5de8d", - "036ad5e5494ef817a8af2f5828784a4bfedd1653", - "c0a62d77e6031bfdc6b13ae217", - "a794a9aaee48cd92e47761bf1baff0af", - }, - { - "97431e565e8370a4879de962746a2fd67eca868b1c8e51eece2c1f94f74af407", - "17fb63066e2726d282ecc610", - "e21629cc973fbe40176e621d9d", - "78e7374da7c77be5938de8dd76cf0308618306a9", - "80dbd469de480389ba6c2fca52", - "4e284abb8b4f9f13c7497ae56df05fa5", - }, - { - "2b14ad68f442f7f92a72c7ba909bcf995c827b439d39a02f77c9bf8f84ab04dc", - "4c847ea59f83d82b0ac0bc37", - "b3c4b26ebbfc717f51e874587d", - "8eb650f662be23191e88f1cd0422e57453090e21", - "3e288478688e60178920090814", - "a928dc026986823062f37ec825c67b95", - }, - { - "11f41bf7d4b9ac7b0035ce54481ed1502ff05cfae02ffba9e502f61bfe785351", - "06f5cf8c12c236e094c32014", - "bee374a32293cad5e1b28419b3", - "d15cbde6290b7723625c99ffa82a9c4c03ed214d", - "3f8122deb6dbe0ff596441203d", - "60ef7f3723710b9ab744f8eea00267f7", - }, - { - "18ca572da055a2ebb479be6d6d7164e78f592b159cdea76e9fe208062d7b3fa1", - "1b041e534ae20748262f3929", - "cda2fa0015361ecf684c6ba7d1", - "e8a925d7ce18dd456b071cb4c46655940efbe991", - "740d8d578e2e7522c31019f471", - "f2eeb5af1bfedd10570a137fe2566c3f", - }, - { - "0de2ac5bfec9e8a859c3b6b86dde0537029cdca2d0844bf3e1d98f370e199be1", - "1778e308e0221288f1eb4c5a", - "575d93a3416763cbd371b5a671", - "1362264f5655f71986aa788efd48f6fc13bb6ab4", - "8f8df7ca83bf876b63c78e2c9a", - "16c74e315aab97efafbe95c9dcaa2d0c", - }, - { - "b381535a085bc4808fa7a139c7204e8a87c7145dfc8f3900df1fa9a9844fab35", - "21ddc54d3c633f4a344a0e42", - "e4d958cee583010bbfd3a53021", - "7ac3ba600e08363ddb57c45a8670bb4abb869db0", - "c42c81a312759cdb032aafe852", - "0c472591db3df8a7c67164591542dcc9", - }, - { - "29f21e5029ea4964b96dc6f4c34b2df4cce02f2fcf0f168ffd470e7858e0a0ad", - "63a1c1ccc328280a90ff96fe", - "dc12113764c13c21432ca1ba33", - "454f447433f0948581956c4be1b19d932e89b492", - "1cb45aac5def93daef806b781e", - "f4b0723c89607b66c392049ba042db63", - }, - { - "2733d3aa52a9d70a9fbd6ce2364bb5f9004902aa5eeb17446e08f2bdcc41db15", - "196c4addb84a58beb3674a7a", - "cbc50cafda2544bcd291e8a025", - "c9826fe31f29b55b9d0f9da9795869a1a98befe5", - "7a89cc58ccb97ad3e54ca4a9c8", - "3990d9aba210182996fdbd91c2ae4801", - }, - { - "0c4b9005b407415c19672bcd0ebe169f66fe404f22529baf55568e0901e94922", - "e51381e959a1f5688c938576", - "c6179bd3451d9299b727e8bd0a", - "0b512faeb4da740dcc1e30d3c7ea61035e8570b7", - "4d3fe086c990f16020b4c5eed6", - "9ff2297845814719f851ab0943117efb", - }, - { - "fee442ba37c351ec094a48794216a51d208c6a5ba0e5bdb8f3c0f0dfc1e4ed63", - "a666f2f0d42214dbaa6a2658", - "a2cf3ea0e43e435261cb663a3b", - "7198c12810345403862c5374092cc79b669baecc", - "713d4050f8c7fd63c0c1bf2ad9", - "250a35e2b45ba6b0fe24512f8213d8cb", - }, - { - "77f754d0cf7dbdaf75cfe965ab131e8cd39087ee6d986dec4ad2ff08ebd7f14b", - "e28a14f3107ca190d824ed5f", - "54a97a74889e55d8043451c796", - "1decf0cbc50a9da6dad4a785a941e4b95ce5aaa8", - "eedbf8dd81eb19184589dcb157", - "7749edd752fab7e50dbc3b0b47678bf6", - }, - { - "0523f232001e68bd65a79837bbaf70ec2e20851301d8e12fddb5926acb2100cb", - "2bb8d5cb3ceb15107582e1fa", - "6b4cdc9f9c5082d86a1d2e68fe", - "1f55bba71cb63df431ef8832c77499ee3c502067", - "079fe90ef517ed2f614a3cd8ce", - "539c30590a2527f1d52dfae92920794c", - }, - { - "54c56ee869ebb112a408717eb40af6937fe51eb061b42277a10537e7db346b6a", - "5bfb63e2f3e5b2e1b4343480", - "75f9496b8d0ca96ed3af02dcab", - "740ab07b9c5de2afa37f0788ae5230535c18203d", - "827902e58c4c8b7af976f61842", - "036ee6473c2138f2a2c2841438cb0edc", - }, - { - "d968ffdbed6ffc259b4310e2e97e42d877ef5d86d2169928c51031983779a485", - "633d0d8d3613c83b40df99dd", - "08cfc65fea9b07f0c01d29dfdf", - "9aadc8d8975ec0a3f5c960ce72aaec8ef0b42034", - "7b450f162bdedc301b96a3ac36", - "970d97344b1451f3f969aeb972d352e6", - }, - { - "5f671466378f470ba5f5160e2209f3d95a48b7e560625d5a08654414de23aee2", - "6b3c08a663d04132243dd96c", - "c428592d9f8a7f107ec4d0df05", - "12965559c31d538f937bda6eee9c93b0387318dc5d9496fb1c3a0b9b978dbfebff2a5823974ee9d679834dbe59f7ec51", - "1d8d7fe4357080c817303ce19c", - "e88d6b566fdc7b4fd62106bd2eb806ec", - }, - { - "fbcc2e7faa4295080e40b141bef829ba9d34e0691231ad6c62b5109009d74b5e", - "7f35d9ec651c5b0966573e2f", - "cdd251d449551fec080425d565", - "6330d16002a8fd51762043f2df06ecc9c535c96ebe33526d8faf767c2c2af3cd01f4e02fa102f15ce0236d9c9cef26de", - "514c5523024dd4c7d59bd73b15", - "d3a399843e5776aa348e3e5e56482fff", - }, - { - "04ef660ec041f5c0c24209f959ccf1a2a7cdb0dba22b134ea9f75e6f1efdae4a", - "0f5f6fbca29358217c8a6b67", - "0835b312191f30f931e65aa05f", - "505e205d13ec945391c7d6516af86255e82f38433f40404d4f1e42d23b33eb9e6dea5820dad60622d3a825fc8f01a5d2", - "5ddc0f5963f0290c1a0fb65be7", - "106d1f8d26abe4b4b1e590cd5d85e737", - }, - { - "42d3ff74284395fb9db9b8c7a444fa400f7fc6b985a7fec2478667c7f17cf3ba", - "89230fbed59d1226a093ad28", - "d8339e3618ba57a243a27c85d6", - "60342f97310446266b2e47b18e008979d07fc181151ac0939b495e7f31de1d0e74042532840ab91686efd7a402d27a94", - "9bb6fa36fa167016109d521ac0", - "600909ef32ca62951ecbdc811caa7778", - }, - { - "e115c6468606a5f9b8e9a7c220d7d7684d686c9210a669770b6e4bf24447cd17", - "029c7c9ee2d3ab26843e8b41", - "7abf84842f9867cfc5eabc7032", - "1befd9f97f99fc096deafde5e158ac86716c0ba32454988fe48ba4737684361849a221c03fc0948cb25b5f29d6a0cb2a", - "851c7047fb09646fbddb824531", - "d0ac4110c8d768f0a804ecda387cfa30", - }, - { - "56552f0cef34673a4c958ff55ad0b32c6ababa06cb3ae90178ab1c9a1f29c0e5", - "b34d24935407e8592247ffff", - "dbd6cc358b28ab66a69f5238d4", - "b199437da189486a8fd1c2fa1fe3ebbb116f0ef41415bb7c8065272fb0b2fe8edca9cd0d4255d467e77f2834be557474", - "76dc8d035e5ca4001e4e3fcb18", - "49c01f735da1131cd42b01b746fd38de", - }, - { - "d4f405ba556e6fe74b7e6dbdd7a8eae36376d1ca7a98d567d108729aeae5c326", - "df6637c98a6592843e0b81ef", - "abe87641e9a5169f90179d3099", - "a5328cbabdfe6c3c1d4f5152189072dade71e2bacd857d3ce37ee9e3161eb0f20de5a29b7999fd9c7c60cdc03751bd1b", - "06f9cf9677745e78c6c02bf06b", - "5a3a76da0703c24a9588afb2ac1a9e13", - }, - { - "4f667f65ea4569264456e25de498579036d6a604c18baf770bb626d8a1c68e4f", - "43e27d275abefdd45137c8ff", - "eaa2498ce27e5658489381b6ec", - "264b807b4631d7c87ee9f1507082f5af9218f531b4630141f3c94939aa7cf81c71ea540783995560bf7e6e02d196227f", - "bac018bf2e7090e7f217ab3365", - "13e5a16a9ce7a88cda640de2c4fdc07e", - }, - { - "f5624a166759ef0b8168af6565649f7797fa92476e008c407458101e75831312", - "521ca79ffc8930349abfc052", - "1fab3def2ea13e815f8746093b", - "6e2771ecd637361cb6b947148910f7d9206d6af176c510bb5dd5bc9b97ac015fb05537affbc1756625715374172fb456", - "ca72ff15a7eb62a2839bcf0c43", - "475fff6d9e2382583c9614020844b92a", - }, - { - "ac1383a3c783d3d0667e944cbe1a6159647b96afa922557eb1cb6407546b98ca", - "70366112dbe1bd905b900e3a", - "b8dd871f9d866867efbe551c3b", - "b7c1865927737bee802415277cf1a25b7380774a9d27b6a3253f077d36e9c4142df2bbbf3c03414ac09161626ce9367c", - "ba181874380841791f64881534", - "c5641edf42c446873372bbbde1146642", - }, - { - "f37499d9b6ad2e7618e30a23082673008f3ae1938b9397c02a4da2453fb7e403", - "18e112ea6a998d6f9705f7e0", - "31560b2114a248ffe0696fa130", - "736f1a71fb259f46c6519bb87451f238f47d80c74a016604499b02568f1c7bedf70f9597d7b62c1698c4f2631f4e9706", - "0163f558be0142ebabde29a7bc", - "45579ce07ee64cdac3a7a42109ff44e7", - }, - { - "50b7f5118ef7ee22b107d93ceab9881ef9658931e80385d1ae92501b95e47d62", - "d5113665039169978b7dc4db", - "9ba4cd5e600277f4c786ce827e", - "68ff6c63e94cb7dd2b8413662a56c88dc130b79b8b2e2388c1089b61fa51ea37819109b5ef64da1250f5d6b5d74cc392", - "67842199482b28be56f7570d11", - "79e03841843fe32337b7c7409a2153bc", - }, - { - "d396941c9c59e6a7bc7d71bd56daf6eabe4bfb943151cdb9895103384b8f38b4", - "f408f8c21f3825d7a87643ed", - "dc8ad6a50812b25f1b0af70bee", - "947bd9a904e03fdd2c91d038d26d48ac6e32afcad908eacd42a25f6240964656d5a493242d3f8a19119a4cd9957d9c42", - "57e6d821079bb8a79027f30e25", - "de8c26d5a3da6be24b3f6ea1e2a0f0c6", - }, - { - "eca22b3a29761fd40031b5c27d60adbcfac3a8e87feb9380c429cfbcda27bd06", - "4e6fe3d1f989d2efb8293168", - "44d6a6af7d90be17aac02049a4", - "29beb1f0bb6b568268b9c7383991a09fd03da7e1639488169e4f58ec6451cad6d4c62086eee59df64e52a36527733d8c", - "9aaa295bb3db7f6335a4c8cf2f", - "55f7577163a130c0dbcde243ef216885", - }, - { - "fa3ce8b099f3a392624bc433b5265235b65c0952cfc54817be2a8003d057903c", - "3168b4e50efe96b3d3aed600", - "84ed3ccd428d3783ecea180b3b", - "d451fa64d73b7d7eee8f8143c40bab8e3f7a58ee018acda23224974f64ac7e1e389f5058ec08664bf56492b932d15f42", - "ee2bd527568a4e7537c8f939b6", - "f4615f7dfdffec8a2d52c992456210ad", - }, - { - "ff9506b4d46ba54128876fadfcc673a4c927c618ea7d95cfcaa508cbc8f7fc66", - "3742ad2208a0484345eee1be", - "7fd0d6cadc92cad27bb2d7d8c8", - "f1360a27fdc244be8739d85af6491c762a693aafe668c449515fdeeedb6a90aeee3891bbc8b69adc6a6426cb12fcdebc32c9f58c5259d128b91efa28620a3a9a0168b0ff5e76951cb41647ba4aa1f87fac0d97ac580e42cffc7e", - "bdb8346b28eb4d7226493611a6", - "7484d827b767647f44c7f94a39f8175c", - }, - { - "b65b7e27d552395f5f444f031d5118fb4fb226deb0ac4e82784b901accd43c51", - "2493026855dd1c1da3af7b7e", - "8adb36d2c2358e505b5d214ad0", - "b78e31b1793c2b758494e9c8ae7d3cee6e3697d40ffba04d3c6cbe25e12eeea365d5a2e7b46c4245771b7b2eb2062a640e6090d9f81caf63207865bb4f2c4cf6af81898560e3aeaa521dcd2c336e0ec57faffef58683a72710b9", - "e9f19548d66ef3c16b711b89e2", - "e7efc91bbf2026c3519010d65628e85f", - }, - { - "8e4f8859bc838f6a2e7deb1849c27b78878285e00caad67507d5e79105669674", - "e71d0ebb691a4c31fdd9879c", - "bd1713d8d276df4367bf3cbb81", - "47ca6cef3ca77997ef1b04e3721469be440ad6812aa3674ae92ca016b391d202e29932edfa83029eccae90bd8dbe4b434e7304b28fe249b380b2c3c49324fd5b3e469e3e135abc1c9fd77828b409c7482e6a63461c0597b14e5c", - "eecbfb74e314628b0e3f827881", - "c9ea890294d7e10f38b88e7c7493c5f8", - }, - { - "2530cdcb2a789000822588a31bdc87c09234838da2d6ae1259c7049186525f11", - "0c509faa257dbb0e743a53ac", - "a8edc524930ce4c20897c66f75", - "92a92cb8c1984ede806028cc45ac95574167ee83f03a707cc4b0fb8ad70907e0016e38b650f4a75bc83a625e3c670701d43bfb0326d1c4fe7c68410733c0c874c920389d164bf67a9032e2e837f5e9e324b97932d1f917ba7dca", - "1f658c7a1f41152b22999ed1b7", - "cf3e4fef775d9c6ff3695be2602a90d8", - }, - { - "54c31fb2fb4aab6a82ce188e6afa71a3354811099d1203fe1f991746f7342f90", - "f0fe974bdbe1694dc3b06cc6", - "fbb7b3730f0cd7b1052a5298ee", - "2879e05e0f8dd4402425eabb0dc184dcd07d46d54d775d7c2b76b0f76b3eed5f7ca93c6ae71bf509c270490269ea869ed6603fdf7113aa625648ab8ed88210f8b30ec9c94bca5757ca3d77491f64109101165636b068e3095cb4", - "3a5a2a8aa93c462cfb80f1f728", - "59ef9d54ee01fb6cd54bd0e08f74096f", - }, - { - "8084061d0f7858a65c3a3557215ed46f1590278ca97a45dcb095d2a0979f2e3f", - "6973898b1a8f72856415675b", - "200d0445cb09eb52f54d2f74c6", - "8b543e294546848c3308ccea302f0238b7dffc1706d03657c190ea745cc75bcd5a437993e787828ea7fe42fea1d5c6f7229a72ea65f0d0c190989a590ab49c54726633282c689eef8cf852af263b5edf63e449fd5440730003ca", - "ec242c358193ca6187c89aa7a5", - "967428ac6956525ba81d5901ed259407", - }, - { - "2aad7db82df4a0d2ec85218da9d61ade98f65feeb8532d8eb728ef8aac220da6", - "029ac2e9f5dc3d76b0d1f9df", - "ba363912f6207c54aecd26b627", - "d6f4b6232d17b1bc307912a15f39ccd185a465ee860279e98eb9551498d7b078271ebabdda7211e6b4ab187043171bc5e4bf9ffcf89a778430e735df29410a45ca354b0003433c6bc8593ee82e7c096a32eac76d11daa7d64150", - "bfcad32611da275a0f0821517c", - "9ea37bdcaafad69caf06d67fb18dd001", - }, - { - "f70bb950ab56f12f1efc2376d32a59d16ef3ef5969e0106ab40cc314c9b0c7e8", - "3b3b29ba422c2bacafeeb8b3", - "029929277043dc0379f152a484", - "464ac0c84b9ff17a0e7c39a65f89682a89b8787553a6275f0d55effaabef2114072c739f9831a5d5a5133ae4de14eb51346b318b255a1bff57e50c433e1e69a00fe1a8b6f6b621d515d670d89e148f6b65d6eb4c54878cb819ce", - "c0b97d6d1a95d708d6dc7d2b95", - "322eb4395bf4d4dd070b8f9f6195f8ee", - }, - { - "f4950f01cb11fdd9afb297f7aa852facfac354ff96557befa5f657678de6cefb", - "aba7d864f29cbc449cd93e33", - "e6daf59ef54ac7405984fc4c4e", - "852f624cea7a8c20e189e0c79f578c0d770c4bf7c4e691649eba992f6de89d7bf2078aff94803a3dc62628e02a80a01957722e2a931fc56283d84ab68ce11ae867835c2d9700df130048ea8eaaca41f1a9059be2acaea6e0f7f2", - "d01d36ff8009b4082279abb906", - "d9a36c8008493bd95c09049299cbd075", - }, - { - "714261ef4f02fb4efb0e6b5aed96d7b3ceac6551a57cf679da179c01aac5ee0e", - "3b7d15c7fd877461a789255a", - "815de8b0382fe60cb0d3782ee9", - "7621e58152336ee415f037f2e11581fe4da545c18d6e80177d5ab5dda89a25e8057d6fccec3757759a6e86e631080c0b17baa8be0b8fe579d3bfa97937ee242b6faacfc09425853df4dc26bc263ed1083a73ffc978c9265f8069", - "29c566ea47752a31a380fd0e7c", - "b279340a384dbbae721c54e9183b3966", - }, - { - "53459ba5a2e49d1a7c2fb6ad9e6961b4dbe5158cb9266eff425d6dcccaaf8073", - "3c97dc635a75fbe2c33c9a41", - "03fbfe5842ed781990ca8be728", - "7fe308afe58a927680bee3368301f4dc7c47811fc09f1b9922a092a497b9c6b67c857fdcc32da1011acb110b3c1475bef303f1a609479485cc400ee8f38381c45d078708ad49f226f95dd9c81478d1ee2b53c3b906d96f8ddd76", - "5865e5a1ec711732a4ee871bff", - "856a653ec214178096bed423e30a36e9", - }, - { - "f0501583c226d2519ed23fcc6f2cffd2f013eb91aa07b3a5a2073d6e2bd10cef", - "29a922ad9bdeddc2e298b99f", - "035eb6922345c02a81435d9e77", - "d84f54bac09ea92afe0a7335cb0bb5f68425490fd2fb6c3b99218f49856ed427ec902e510b899d54951fe84cdbfd112608d1e999f64ecc9cd4be3a0114c1c34875dbf35a1b0be421659f99d69b32e968cebfca6f95837e3edeb4", - "095971f99af467805a62bfb882", - "d5ff2b7beac260e517ea3eca13ff1e77", - }, - { - "78e6789b596c71cb3becc833cf823d2ebb18ca2e26c27e26a55ef95df7353971", - "65da9c7a9f17b11246bcf8db", - "003e82a147df3c953400f87ab5", - "d49aee7ffd31e7c8d831d97ae894a00473adbc5071f6099d567caaef85c295d5143a1316ff82753cc35d3efc60f7e5101ddd811336b404d598f6c439cce6b47fcbebb15d1c342e4151b355025a03b4397260b4a7e6444fa57b5b", - "abcceced40209fc30a5590fee8", - "0a203973b81375949ebd932597efd495", - }, - { - "816b3e6ca31d59688c20bcd1fa4285197735d8734289ca19a4730e56f1631ccf", - "4c191ac994f86985c180ccd4", - "b2060dd86bc307133b7d365830", - "b3dcd643c68ccce186570c63288c8722b8a13dfaf9e71f44f1eeb454a44dddf5f955540cd46c9f3b6f820588f71936d7a8c54c7b7bc43f58bb48e6416149feae7a3f8d8198a970811627489266a871e8cb87878cdb3a48be65f5", - "53e65880ad0012a75f1188996f", - "9ca8a71a45eb4402a6b03106bae330d1", - }, - { - "a07ba57478061bd7abddd762971cf2e47141891f76c3d1c150b53eee5704557d", - "5adfb85b2d9e239c5146501d", - "67c8824c1837cfdec6edcd719c", - "937b3ed73e67ca0b02f9eb736a668362d4d0447c15f6083099a7f90c7c49318dd72f6baa74da22ff53b56c24fb9a1b1d6c4e29f4ac4d917220ebe3c8d760999da7be9e1e8f6a171133640c9196f9ee3cdb76a5a342a95a05c8c4", - "1eb85c6682850e849eb37927e5", - "8079f705cf551a5484132cd0f0c5297c", - }, - { - "268ed1b5d7c9c7304f9cae5fc437b4cd3aebe2ec65f0d85c3918d3d3b5bba89b", - "9ed9d8180564e0e945f5e5d4", - "fe29a40d8ebf57262bdb87191d01843f4ca4b2de97d88273154a0b7d9e2fdb80", - "", - "791a4a026f16f3a5ea06274bf02baab469860abde5e645f3dd473a5acddeecfc", - "05b2b74db0662550435ef1900e136b15", - }, - { - "c772a8d5e9f3384f16be2c34bf9afd9ebf86b69e6f610cd195a9db169e9be17e", - "9b8e079f9971d7352e6810a3", - "7f13fcaf0db79d792823a9271b1213a98d116eff7e8e3c86ddeb6a0a03f13afa", - "", - "d29e2bf3518668a14f17a3e4e76e1b43685734b801118d33a23238f34d18aa40", - "8e02b0b7d172cf5e2578f5b30fac2e7a", - }, - { - "d5924b31676e2354fe7dafffaf529749598ea1bf5e4c44f5b60240e09d8036aa", - "5d847784f0bcd79cb84fcf1d", - "6fd80c8f0d4de081a93c16b84dec697a1e4f9d80a6af497c561572645eac0d63", - "", - "282cc9d2308a443019cfdc4d79854accc7731ee36902bafe3ffaca6484327b82", - "4dc5e0f2ab91bdfd31f2bdcf06af9667", - }, - { - "b328c6d7946221a08c4f0509b52992a139890cdd8eae1956851f110c49602cb5", - "1a433c33ca12ce26cf3dffff", - "217bdc314a4d335c72b5267b424fc8e31f4bb118e6cfaeacf5548f4ba8f51980", - "", - "a322944e07bf84ab424ffa75fd0309e8691c9036b08f344ba76ce0774f43b351", - "14dd6b1c2b224533ccc9fee8d2881358", - }, - { - "c2080965d21d229c0d0d6c56cbce83880120c21a48172a64560b90dc4ce1ffbe", - "928d6c0195f5f0974f38730b", - "864397271e1b242aa1dff38e78aa89353e1554ba907318a0aaad44f26fcd567d", - "", - "7de4f941f44bd0f268b2a47b9c4927cc10537bbed739d52ab099fde4033041d1", - "b51a59931817257619e7be1091128c49", - }, - { - "dd6b7e2584edf1f1e6c2c0dd1f72161a92d2cba99856554f820de1256d48c099", - "fe9d553c75067e8dbae1ab67", - "f9f86f7762859f11d6e7ef56178657ddcded532843446f86a23eac35aa2dd3c0", - "", - "f7aaa1711c8092783b05b4e5e6c9c6944e991bd59c94b9d0356df00a66e2db5b", - "c61edd176c8322a01d8c5f3df09252e9", - }, - { - "37f39137416bafde6f75022a7a527cc593b6000a83ff51ec04871a0ff5360e4e", - "a291484c3de8bec6b47f525f", - "fafd94cede8b5a0730394bec68a8e77dba288d6ccaa8e1563a81d6e7ccc7fc97", - "", - "44dc868006b21d49284016565ffb3979cc4271d967628bf7cdaf86db888e92e5", - "01a2b578aa2f41ec6379a44a31cc019c", - }, - { - "a2ef619054164073c06a191b6431c4c0bc2690508dcb6e88a8396a1391291483", - "16c6d20224b556a8ad7e6007", - "949a9f85966f4a317cf592e70c5fb59c4cacbd08140c8169ba10b2e8791ae57b", - "", - "b5054a392e5f0672e7922ac243b93b432e8c58274ff4a6d3aa8cb654e494e2f2", - "cf2bbdb740369c140e93e251e6f5c875", - }, - { - "76f386bc8b93831903901b5eda1f7795af8adcecffa8aef004b754a353c62d8e", - "96618b357c41f41a2c48343b", - "36108edad5de3bfb0258df7709fbbb1a157c36321f8de72eb8320e9aa1794933", - "", - "b2093a4fc8ff0daefc1c786b6b04324a80d77941a88e0a7a6ef0a62beb8ed283", - "e55ea0456af9cdff2cad4eebbf00da1b", - }, - { - "6fb2d130bbad1924cab37d071553b12169e978a805bf74cb4c23d5ccd393d7bb", - "76826741225a391fdce4d3b6", - "c49b80080e2efeb5724b9e5b53ba0c302e97bd16f1a6bbec01e1ca6c35a42a3c", - "", - "62fbe5466a7ff83ff719f4927e00e9319e1bb7e835c5d6b4e9d4bc5a8d6e2beb", - "df72da7a66cb5257836f3c19ecadcd55", - }, - { - "402e8113970257d9437807620098370243536a105cca4fbc81a1ff2d48874f48", - "c924c19c4d14905a2bdf63bf", - "917b9585f65e59bf4d242bb0802966045dd29fbc66911277baecdfcc818c3c35", - "", - "5b6594edcddbb338f4e813687f4f23a75a64c21e3cf5d2e7c9af0f7e3ee3e616", - "f1cccd93a4411247c8b6830addd72c6f", - }, - { - "2aac499cb0eb72b4598acff4330df6cd764978997d5ace51da88e0c18671bde9", - "fd16cdc39d7f0b92e1f95c97", - "e7b75bfa35c9a004d0b68265623a9b06b6d4493ea0ad4f6c777ba5add8c7bbbb", - "", - "c3d0a0f7ce9720c95aac86151aad634884ddfa62df58f18394537f6504d9a8aa", - "76749a1ec70236b267fc340d5fbb6da3", - }, - { - "a2a502d6bb19089351e228d5cbff203e54fc31f2772253df08557875d964c231", - "0ebb5af4a462a1e6ded7164a", - "bbecc89450c07b8de631155e5d7cc7a9d26376bb57d7458d49b4c36e140490f3", - "", - "fd09c950890441fcaaa8809a8998079abb88741c6672abae12383ffd724f8299", - "22fac246058bf142c5f26812a635b480", - }, - { - "ce2d289e20c76f75c135c8118d5cbf5f2828026f0b639588a3eb4ad752cea548", - "bb08526dd8bd1c3bb58d0999", - "56f5db1e796a0c4633a8d570182c39e3c8451e7ba485b98d38a2c926a1b92a46", - "", - "a41005df18734d4f3f99f19ef8fc43b16ef431207cb0466341bf164b58e23533", - "a45c2a1ef6aec75cc22d71807dab3c27", - }, - { - "66e418d0ec97b420b1b5365d1b6d5cd7c5ac1a5653739120d4aec3c94c93c287", - "989f94480266e3652488184e", - "e5052b19d7f827fd60f45c8925809fd2217ec4d16aa89bbf95c86a1c1e42bd36", - "", - "f341630574ee92942cf4c5ecd3721ae74b32c557379dfe8351bd1c6661a240da", - "e85fb655ef432e19580e0426dd405a3e", - }, - { - "37ccdba1d929d6436c16bba5b5ff34deec88ed7df3d15d0f4ddf80c0c731ee1f", - "5c1b21c8998ed6299006d3f9", - "ad4260e3cdc76bcc10c7b2c06b80b3be948258e5ef20c508a81f51e96a518388", - "22ed235946235a85a45bc5fad7140bfa", - "3b335f8b08d33ccdcad228a74700f1007542a4d1e7fc1ebe3f447fe71af29816", - "1fbf49cc46f458bf6e88f6370975e6d4", - }, - { - "2c11470e6f136bec73351619288f819fb2bbba451857aadfb78384074612778a", - "4e6cc2bcc15a46d51e88958d", - "3b3186a02475f536d80d8bd326ecc8b33dd04f66f8ba1d20917952410b05c2ed", - "05d29369922fdac1a7b37f07953fe175", - "6380945a08977e87b294b9e412a26aebeeb8960c512439bac36636763cd91c0c", - "1029a3c4be1d90123c1b404513efde53", - }, - { - "df25ea377c784d743846555a10cfaa044936535649e94da21811bad9cea957b5", - "35f5f8e950c1f57ad3dfb1fa", - "98941a807ac8f16eef0b3d3c7bbdfd55d01736c5b3360d92b4358a5a8919380b", - "28eb4677110ccb6edc8d2013dc8f46ec", - "24a07532e981aaf3106eab8dfbb2d2078342e2eaee027e148f06aca68f6a1c50", - "131373ed4a0e3f584ae978d42daa6f3a", - }, - { - "106168ea651f22c54196a06f1a10bcf4e620d93e4dc0824d798f44f9219c6177", - "4064dcbd631cf20b05ae22de", - "b0d3da2b96b8889c92e445abbea4c6d0d5d44d7fbcc7dade4c92f6bcddbf06e1", - "a36e2fb9cd96a8ca9ae2b193aa498efd", - "f55a6d8a6965ea451637bec7548cfb1ffe59fc0ce6ea6a937cb5dd32b3d45d5f", - "8d1bf2715041f817f11631fc9910c629", - }, - { - "272d1649a3dd804de0962d3e07064a7054c00a6234ab1b0cdcf685ab394837e5", - "955b5897f6b9806bbec5c33e", - "36e57c29c08c51ad7fa91c0416f976cfd011780eb44cc5abd34c7b431b093b8d", - "33e618ecbbe5eb0566df21c3c34b7e25", - "cd6aeb345081dc0bb2c8b4d19b280658fb87c0f2bd0f4c9da694dc1feeb32f4e", - "dd37eac6bd6a4d3618241738779735d7", - }, - { - "3dab6a51bb7af334dd4b79a7d139550c88f0778d43c21fc4ad33f983a13515cb", - "362eaa67cab3d1ed48e9f388", - "3eb7f5f0a4ca9aa7000497602c6124433a60a8fcd91b20175b4ee87e6b10a2d7", - "52852150786e6547a2618e15c77110b6", - "cc3316041b88733839249b756ffa00bbec6211942f604f26c4a35ed32e6eeaff", - "5936c5500240d50c0da0fcdc248f176e", - }, - { - "0ea606521b935d5b4b66df89fb372d35c4d6d2c03767367e38de0d4c27761d56", - "0d3168318a4f76392699640b", - "f450b36d6c49411897bce39001d73ff01b5e8566179e36dacac7064cab5c6270", - "3bd8849070cf034c4298f40f33b0b839", - "3b15fad18726c4eaa70502b3f3b32c5092d1d92835e6460665fc50dda953a191", - "11fd3fddf61e010c17fbedd4bd5fb012", - }, - { - "c8c4f9e0bd289ef1bd16104a8074fb073dd9035ab937ab076fb5801e2295aa2f", - "be699d9d98ec1f724da8bd0f", - "49fe9407a719d41e658587809cfed7a5b49941c2d6378f3c0afe612f54f058a1", - "a985c7489732038c3190cb52be23737c", - "17a9aaa6a3c68ba1f6cb26fdd6536c207e3c9ce58f43e4ecfd38d3387a798a0f", - "d832cb4814142562fedfe45b36126cb8", - }, - { - "52d0f20b0ca7a6f9e5c5b8549d5910f1b5b344fc6852392f983558e3c593be24", - "d5c618a940a5a5d9cc813f27", - "a9fed8a29355685321f978e59c40135309306cd41b25349fe671dc7990951c68", - "61823f7e39ed76143ca7249d149bdf57", - "509c540e558d0bf0a3b776cddfbfddc15486748a7f9952b17c1cbd6869c263f4", - "42e35ee3f7119f87fb52b5d75b8ab8ec", - }, - { - "5d291a8f1a6433a41076702d9d8a8c196e464550ed900ce8c2a36f4d10483954", - "c4ba743ee692e5d00b5ae2c6", - "605d519b26182458fea68dddd86033390fc545f843ae817850a2a4574add015d", - "878fa6720ab30e0287f6903acd2dca19", - "1c2f153f2374d3945cca9757dc18d9a15a93276526285a6e316ee32a72092c34", - "e7905e856c88c6ece4bb47781becf923", - }, - { - "09e2724d4017cd57e967000e4da2cd5c5c18ccfb06c33b7ce62a7641e4bb0b73", - "9ea18b420a10177289ab370b", - "6f5dfa86d5df4febd752265c56390049e7cda60c2644c84ab413932faad15b15", - "a8e77939423d5894d307fd60278d162a", - "35e37a9b913eb58b72262e92d7584d44bf9a8442f1b2f3da3a5d05ec6a2a31e2", - "1a95023b1a4a3e885520ec79e1a3aef9", - }, - { - "8544a9f4f6c0efdff3da90cfa3ee53fbe1f8de159d29537c803e1651da153718", - "be406029a1d0c25d09af94cf", - "7e88a65646ed138b7c749366d16e41dbafd9987ad2373bb9d0b6ce0c1a4d6661", - "599dbb73897d045a1bd87385e60323a2", - "38ffbf9ffff8d6a92090584e6dace1c6a47d3d5709a25e470557d5c8f5dd1851", - "d5b2e83c47df404de9a7cd95d3cbe7ab", - }, - { - "35b9d2a5db3b06e7720cec794dae615029a491c417f235498e0496cd8183d1bf", - "b382987916e19752dd9ecc0c", - "76b290496901c5824ad167433dbb6d6b5856d41913ee97ec81e70cf6a170e35c", - "e0aa3a1f1df601366c59a390f4f06c3b", - "78347400d6799e77e11e76c0ecfd311becf31f74f14b3a71e6d526ce57015c8b", - "bf8dec2feac7cfe9f330bdfc92737b33", - }, - { - "d707eab3c167b73efeb08c50e12b1569a275487ea136f52736c0f3ce66b69fa3", - "11116f34182e52428642e747", - "a0c4818362035b16b50de445d558ea5cf8844bf5c84b96232999a2279806cc45", - "ae9f90331800c358716c92667f79f748", - "91c77404b20028ef0fd4dd7f8b65b6594af94a1e7fc79cfbdb108265354fc71b", - "6c3410d4b915dbad745715202c04e9a4", - }, - { - "405d13ee48d3b9fc26bcfca776b2af6c745d8fc34171622f8c6c4be5a54b8b65", - "add1524abb1b846f0f6577da", - "e06475990d6e3990266de1bd025c3b1910c0736c81050885f2bfc13ec78e9d96", - "0b1c4c3ba877bca5846b2c1f2b0e2105", - "6399f7e6d6c680fc41bac8bee3836b9a4241403d5a19e4919f396ce37b238d38", - "e754f400d76c76e03c63ea88cf64ccba", - }, - { - "5853c020946b35f2c58ec427152b840420c40029636adcbb027471378cfdde0f", - "eec313dd07cc1b3e6b068a47", - "ce7458e56aef9061cb0c42ec2315565e6168f5a6249ffd31610b6d17ab64935e", - "1389b522c24a774181700553f0246bbabdd38d6f", - "eadc3b8766a77ded1a58cb727eca2a9790496c298654cda78febf0da16b6903b", - "3d49a5b32fde7eafcce90079217ffb57", - }, - { - "5019ac0617fea10517a2a2714e6cd369c681be340c2a24611306edcd9d5c3928", - "fd1fa6b5cab9aa8d56418abb", - "4349221f6647a906a47e64b5a7a1deb2f7caf5c3fef16f0b968d625bca363dca", - "953bcbd731a139c5de3a2b75e9ffa4f48018266a", - "dbce650508dab5f499767651ee734692f7b157341977692d2ca879799e8f54aa", - "20239e97e2db4985f07e271ba545bbbf", - }, - { - "c8cee90a8b9ad6094d469e5d1edc30d667608e89b26200cac77efd7e52af36fd", - "5a1aa9c8e635281ee1fb9df7", - "728d9221891bd75c8e60b7dd6f53edcfd1ab1cebc63a6ce54be220b5b362233b", - "0538b3b64da72aac591bc59991a140eff206b3f7", - "b753eb6b87f0c8778c3ea3a74fba3b31ced6d2da94d43d482ab0431806a80d75", - "b21d29cf6fd04571ffcaf317d384df11", - }, - { - "b4b77710f86ffd463fc14bb9eaa4424b2b3a581778e5511a094a08fb204cab59", - "3e4b12bf55633bf48d104620", - "6f44a8df11dce27df075ea10ddeb7566ca6c988a334cf56e8540f71166d7c0d1", - "3e3b4c9369266266098326217b5677a40297cb87", - "31f82f5cb1cd5c4b4819b61aa9377abebe8fca76978b1199178462c7c1c4e2b2", - "1b3a535768e8480d75ec91b2e7b55efd", - }, - { - "0a8fb75498a139223c763d52bbe3d42f813de370fa36b81edc4553d4219d2d5d", - "7d6cb675fded3efef908a11a", - "81b69ca354de3b04d76ee62334cb981e55f0210f1174d391655d0f6712921a0e", - "2314ad86b248f1ed2878e7c562b533bf2dda5a29", - "6a23d30737f4a72b1e07ba23d17fde43a4498e2e60d3e1b0c8e6ea26a2bb331a", - "7fcac442fb657910c62a74b1d0638902", - }, - { - "a84315058849690c2b88062aef81134d338526baa7090e865fcaad94bbf51ca5", - "a487cfa701447b495aab41e0", - "18074e14dc0a14d4439f1d710927ed8c200154c8492f77f10f653e0bf6070ca6", - "7c4416b0cf13ac76bec6687a6840dc703e91bb86", - "80f40b7e335d40fc5859e87f385e14798a253818e8ad73b1799c1419638246a4", - "b4c7c76d8863e784eb6029cd160ef6de", - }, - { - "82833bcaaec56f6abbb3378f7d65daf6e6f6f2a0d1e858c7219f53a7840f4e00", - "4bc9b028a00be8feb5232978", - "d9b2383123a27a93bce85add8392b938093b40e82f182e484bf4f84fa3bfb3f0", - "76fc8ed57154cd8a9b3d02c87061edd2a8157811", - "383efe971438cd2b2cbb399d74a3fb3eedd394f1862addc58e9fdd4c421402d2", - "fd803c4fa917f7ff649a6aac013a96b1", - }, - { - "ee4634c49c5672c660968a42862698f6c1b2c7b79efd1605c24af8ff9ff8366c", - "877912b2f35888d2810612cc", - "9512a5268a0cb3fbd916ddb820dce77f1e0dbb52c8ffc7a74be077119e9245e4", - "93bd669db4f1354ef6c8addb0cf729e46d5c3846", - "69af0ac954e0d69043851d89f1538ebcb42769857eba27dbe4ad4fd60fd75537", - "3ee443873e2f7f7ea601fe3d7e5211e2", - }, - { - "442f4bbc468433411e49486a15c5eed577f5007380ff126d9974f3bd3fe4e3c4", - "1e7133aaa8af826dc646ec62", - "7f8069e5c356ece135d98bb563c8b411ea90ea3b673dfd92e1ba9c459efae61f", - "577662f611446b5b31814930029edb949a30dcb9", - "b962952750eb2bce313e1a85a72e3c9cc2ea7e58c353ea37df2c9f0723995ca7", - "e633fe9f10cedf0f0d02aa2ddcf47d86", - }, - { - "3a29aec009f44fdd2b1bc07cb7836f29d8589774bd0d74089a68d9e67827d6d8", - "a42c5fb61573c72688ac31d8", - "d36eb81506c0a0e4ebcac9b4b1acebb38b94b8f2ce3d6f85a8f705fa40cb987a", - "2ee2582d544e1663f1d7a0b5033bcb0fce13b3e5", - "179ef449daaacb961f88c39b4457d6638f304762bd695924ca9ebd01a3e99b9f", - "1fee176c7a5d214748e1d47b77f4bcc8", - }, - { - "ed47660054294f3c913c97b869317cbddc395d757bef7d29b8ccbdd2c54e99d3", - "770a00642c67eff93c9f1f56", - "034193397cbd0eb414459273a88808db2d0711e46f80d7883212c443d9e31b54", - "06210fca2018d2357256c09197730e9777caea96", - "6a250ebd3390229d46b691142743dba1c432c0feaa0f0dd19d0ce4e6a8918d80", - "a5f6e975592b472907c34b93bfc69dde", - }, - { - "9539844493362dc3f913308f7e12a2a0e02afdbd8869877b30ce0397fb0349dc", - "eadda3132079195a54fde2c1", - "62349a0b1e40a9f31eadf27073682da15f0a05cf4566ee718b28325f7d8eaba0", - "0ae4a90cb292c4e519b525755af6c720b3145a1e", - "ad6c9521bf78d1d95673edd150f2b8dd28f10625d67fa25f1fb42d132ba7fcfa", - "916242a9cb80dffcb6d3ae05c278819a", - }, - { - "3b4eb08d27ae0b77605ae628a1b54a5402026550679fab0a20752bee510d3d92", - "28a20c40f49a00493da3488a", - "c8a47edcf84872f53f96ef41ce05ca37cbc3854b556d6e606f0a8a32d0861907", - "0591390e2d14ebe62aeb1741c26448ce55b28cab", - "a3e8cbf84df8529838f79315c7f1a0b7bb3ad4c4d036ec317b1810b274ee3080", - "0a8f66daeb7f0a88756909c4e93fcd36", - }, - { - "0cccea8f1f6ce141690e246cf4cb9f35b66baf6e6986b8e0b4cfdd13fcdbc8c3", - "929f07be5aa7bae7607bae3c", - "9fa5214c599523c695d37937b02f78837f6406960b2a03bf9a6db34bd35e3dc7", - "b851e610be70a994808b34ca73f45f1ea973de65", - "917ecc8b00b53f7fb0732d66848a106e91f60acf2dcf180832a74d5993c658da", - "2959e20746bbb6ab66dfd29b9477799a", - }, - { - "ecbfaef2345b34f31fbf6d68efb385e5833df8b6e6ae621ede02baf9735d2dba", - "50c3527b1a35ccb318b446de", - "634f6dd60783d1f952353fd1d359b9ee4f4afa53cc13e81c5adfe24b46baf08f", - "f8981548bde6ee6c1745f947de191bf29997fadf", - "705e5f67ab889ba238118e3fd9b90b68be801995ae307378d93b50977cf90588", - "12d14468ac18cc9936bd565f8ad42d0d", - }, - { - "dc776f0156c15d032623854b625c61868e5db84b7b6f9fbd3672f12f0025e0f6", - "67130951c4a57f6ae7f13241", - "9378a727a5119595ad631b12a5a6bc8a91756ef09c8d6eaa2b718fe86876da20", - "fd0920faeb7b212932280a009bac969145e5c316cf3922622c3705c3457c4e9f124b2076994323fbcfb523f8ed16d241", - "6d958c20870d401a3c1f7a0ac092c97774d451c09f7aae992a8841ff0ab9d60d", - "b876831b4ecd7242963b040aa45c4114", - }, - { - "07b3b8735d67a05632c557076ac41293f52540bac0521573e8c0414ec36f7220", - "0046420eee8d56de35e2f7d5", - "4835d489828325a0cb38a59fc29cfeedccae25f2e9c399281d9b7641fb609765", - "d51cedf9a30e476de37c90b2f60882193630c7497a921ab01590a26bce8cb247e3b5590e7b07b955956ca89c7a041988", - "46eb31cd98b6cc3ecafe1cd1fc2d45fa693667cbd3a7d2c5f8c10296827ea83c", - "36cd4e76dd0679887477bfb96cf1c5f6", - }, - { - "0219f14b9ca6506c1388177c4ae6ee64ad2ac0256ebbf8c219b40df6e8571d70", - "3420a87c4b9b23ba81eb221e", - "348f7a4ca944f252e4562c66dacf01fb10d70a3c8f5b280a2829567a2a94e47e", - "54dc2277b8d1aae660ffcc326e2c5d9e16b8ca17288601aacd02b3eea8bc5cc60718639aa189506b7b333b87da86e940", - "58c92119bfb6ad53e387cac6728ce73b82e18f6e5bfbfca5f5acc370cd8c76a4", - "e7f9e3e3dae6d0a3470d8f597291180c", - }, - { - "87440ee7f6febf3e14ef0a917a87c5d61260fefc979eeaeac0a64662c98cb4f7", - "7c48bc75e58f21cc9989d691", - "f8e40a6a985f424898a7996307a077c487406c5312eefe055ea5b17a4b22087b", - "e0c66e5db1c7665a015ba7e21e08ff3de5b4a5fcd5d35e41db7e97ccd0c3df657ae803c3529d375420ad75ac9621cea0", - "5a118fc3dbdaf6bc9490d372b7623af76da7841bf9820a9c6624a15eff6a69c2", - "0ddc2ae087d9b8ca2249ea5aa3dbd4c7", - }, - { - "b12425796f63bf5435740f9039fa66367fc7702d675c61b2dec4435feeea07f8", - "f26727053e6d67c2d2bf1e69", - "9df079d98a6e4dbe277a8545f4f6c19fe130f4a84bdd6b760a049fba21d4e99a", - "e50fca2e5a81ae56ca07f34c4b5da140d368cceab08494f5e28f746cbfefdc285b79b33cf4969fe618b77ab7baafe271", - "845f00202e2e894516d8f4a4021430e531967098c9a94024c7113c9a1b91c8cd", - "3566c75967ae00198e39ebe9f0ac697f", - }, - { - "674dfb625b8b0ce1dadbbbcbf7e151c5b2cecf0a1bc4e07f4734f3a6792350cd", - "99e7b76e6686449616ad36c7", - "0a744a72e536a0484db47091609228d803bcfa9a8daf579e3039e3645f7688e2", - "2ab1573e5a94ca2997590840bd9c62e6add55e4d3eac12c895d2ec637791caa41d46ed91e6064db627e1fbef71d31d01", - "e550ee77069709f5199be3c618f2a4178e4d719ab73df41cbfe32c52777138ff", - "134ac3fa8bd4af7ee836f4a3421d9e99", - }, - { - "10c1de5f741560dae5be23e15649f0114db52949560bb6cdf2d4883247392ee1", - "7cf73c1472cd60d8d35fde51", - "05becd366aebaa2e609f507dd2dd4433b2aba0634b0eb9a5bf7ded4cc8fbed72", - "d3fa8b6f607a20a18dd7eac85eabef69d4fb5a074d8e7d1bf15d07732ed80e020163b475f209c4b0cbfa00d65d1e82ef", - "280f0c306e1a3aab8ff9ab3e4a9adc2e9ae4e4e1a06f190d11b3b4dc4280e4f3", - "3bc8be845bf5ff844c07337c2cfd5f80", - }, - { - "e8d6ab5e514645dd7e051b028f5bfe624c72f44f30279577365aea65d4a8a819", - "30b0d654ee5b79c2cfb24100", - "19be7e0feedd402bf4b05995a38e5f423c033de016e3ae83ea8c3c1cba658e1e", - "082e534bf860d0061ec2dad34d6b0db8cba1c651f2c705356ff271e47365b0b18f8ddb3a3c2269b437fb0703c9ad367a", - "8573800c737d2480b2885ce714ac6a15f23287b1d12949a3d76effbe82b593bd", - "50110884292151f51213ccb2fe934d88", - }, - { - "2d1eaf5e62ca80fd1515a811c0e4c045aba8c769df03d57f7493eb623ed8b941", - "abf190b05df2e6556cb34b47", - "9c7cd522ed5c0af3e57da08d2653ef77eb973734f360572bbcb15a2a6cbd60b9", - "75ab9bd39c24e498a54d85a8b76a4126dc1879f2a30270a42609763e045a4021785b6134f283fd81c195c3188e78752d", - "5fdfdaccb105e5408c375af8ca63a67afaba7ccbcd591acca9a86d92f92fd0f7", - "49940b7610618b3a5cb3912339e06b3c", - }, - { - "b6020677e098c59e19eacf26732473d843aafd6bf999c707bb08ab896406918d", - "807167ef2b84b32d1df4a94c", - "3199d6b95d133ba5b7eadc420080a0b249c84f4960bd369d6bf9e313627cf670", - "06225d410ada3e04157da7e5481d7d9f2285845824aac0c0e033244ed4c1b19615354c224ba8b7093c5651d10ef952fe", - "4618adbfa5ea4ee260e310140b385232b7c3ad46887aa2107f7dafffd85cda22", - "2d76307bf55826dfeb58a171b6fa80e4", - }, - { - "f75456c4918d0bea72f546a9a1e2db0b6ab9bcd9782b5eb1c2700e729921d666", - "c75b83134e7b9188e5800ffe", - "f9a23abbd0f2b367ce16c2a0613cd293ac7e66cbe020eaeb5deb09d5031fd992", - "5ef46c9eb5865cab2c8a35f9c4c434614a6c9f1b5c479739f7434d3326cff1e70b0d2877c084a71c7a9d33d258d304bb", - "56e4efe6c0944153b65ed4909845219842b9b88f54d8d8394051132afb95d391", - "255e2c8c43f8979c440c3581bff6cf65", - }, - { - "9831c5c12e53e8a961642e93ddb2e13a38506acd0cf422e6ad9fbaeabce7b3f2", - "bff29de3d6869e5fa75b96f9", - "b1edbed58ed34e99f718db0608e54dd31883baec1c8a0799c4ff8a5dad468de4", - "67ebeecb74cc81fdfee8065f8b1c1f5012bf788953bec9525e896611b827084a8e6baa0ce40ee70bc699b152bc6ed903", - "13845db7e33bab1f5766a7fadfb942748e779753d97f143e645ccfcbd7c23b23", - "10dbe8a3e1901c8b88b0ab1441664d32", - }, - { - "a02c2d4a43f0f7f1db57c07f13f07f588edfe069a9d83c9b76e9511946c4fc48", - "84677438592dcaf683d08a67", - "ad5a884dad20ffa88794c4fca39f2ca01c6f67657ab38e5cf86ac5597318ef07", - "d5dea0cd6080af49a1c6b4d69ace674a622f84f9f190b2db8a22e084a66500b52ff20a8d04f62a7aeaedb67e2258598c", - "83da16ae07ee0e885484c1330a6255a6e7ac22915c63cbefaabc6f9f059dd69d", - "42c4a270705493d85ad7bbcfda86dffb", - }, - { - "feba412b641bc762bfa79ef17c3ea16e5630605470db096e36ffd33813641ace", - "e3633f21e7c63a459d5d1670", - "9326572bd33551322ca42fcfb7cef8be41d78725f392c34907ecd1fe5572bff1", - "b7ee0233863b0e185b2f46181eb5fc0718832e1e76e7d4115a4c1f7e998c41319ccef44f5db89e8c5f077bd553d7bf42", - "5019ea98cc9dc9368432c6d58f9e144f55446e763c0a8b4d8a6ce26f3dd95260", - "1010beb9cd6e9b611280a5395f08bca9", - }, - { - "21bd5691f7af1ce765f099e3c5c09786936982834efd81dd5527c7c322f90e83", - "36a59e523df04bc7feb74944", - "77e539dfdab4cfb9309a75c2ee9f9e9aa1b4651568b05390d73da19f12ccbe78", - "48aef5872f67f524b54598781c3b28f9cbcf353066c3670370fca44e132761203100b5e6c7352a930f7e9cbf28a8e1ce", - "c21483731f7fe1b8a17d6e133eda16db7d73ddd7e34b47eec2f99b3bbc9669aa", - "15f9265bc523298cefb20337f878b283", - }, - { - "26bf255bee60ef0f653769e7034db95b8c791752754e575c761059e9ee8dcf78", - "cecd97ab07ce57c1612744f5", - "96983917a036650763aca2b4e927d95ffc74339519ed40c4336dba91edfbf9ad", - "afebbe9f260f8c118e52b84d8880a34622675faef334cdb41be9385b7d059b79c0f8a432d25f8b71e781b177fce4d4c57ac5734543e85d7513f96382ff4b2d4b95b2f1fdbaf9e78bbd1db13a7dd26e8a4ac83a3e8ab42d1d545f", - "e34b1540a769f7913331d66796e00bdc3ee0f258cf244eb7663375cc5ad6c658", - "3841f02beb7a7fca7e578922d0a2f80c", - }, - { - "74ce3121c18bbff4756ad10d0f293bb1ea3f93490daad0249cd3b05e223c9747", - "81107afb4c264f65ae0002b1", - "7a133385ead593c3907806bec12240943f00a8c3c1b0ac73b8b81af2d3192c6f", - "f00847f848d758494afd90b6c49375e0e76e26dcba284e9a608eae33b87ad2deac28ccf40d2db154bbe10dc0fd69b09c9b8920f0f74ea62dd68df275074e288e76a290336b3bf6b485c0159525c362092408f51167c8e59e218f", - "64bd17f3e8f71a4844b970d4ebc119961812efb9015b818e8d88b906d5efbd76", - "46d0e42aa046237efee17eab6d9cfb75", - }, - { - "4c669a1969c97d56da30a46236c15407e06aada686205eed3bd7796b02c97a4b", - "0a07758d5ad44766e051da6c", - "cd59bb307be76f11304f69ac8b151e1628ac61dec81086e7f24fd5bd83df8856", - "0b8277114cbf7ee16c9bbda1ab40419a02e469ebb295883f0a833c3cb755ded44a3c410034a201f7d91b43519fbabb55b974834be5d5afc7aea7c84b44a14e8e16dd68a3e8cc79ad2bf76d0ceb33d58ddb6378b45681ceaa0f2f", - "bc62ce0b23cf4aa8e16b4450c8ab8c629a53949f01e68b875ecc5c45ff6d3ab0", - "5ffeda728914031006f271c3d9986f2d", - }, - { - "a23296632913051e438114deb782fb955b75acc35e86e7e9fdaf4e9025b87f12", - "ad50db40f80f15214e43ffd7", - "b71116cc27b5a5844d9b51a4a720cb3f06d55d6aaeaeaf921236424db8617204", - "a6f96f5a89bfd8c8f34cd07045270d80e58ea62f1f0b10f2506a954f272af0bc71df96ad3fa8eed52c45e0b868091dc4f75d9e0eaf15a0a858a71bf7036c5607110cbfe47ad9b6d02e942fcfae88d4c792a1f824e60e3cf98a37", - "8e9e4b0ac93ab8e73688d6b4723d8c5ef399ead72246c7aa7a0783a8bfe29936", - "b7dea91e4b357ce805edeea3f91392d2", - }, - { - "4036a07bdd4e10eb545f3d9124c9f766d2d0c8c59fc0d5835ac55dcfaebfc3a1", - "815828fbb964497cdadccaad", - "717f22faff8066182e46d32dbac7831ec24272871c45c7c12ca779f868e7739a", - "0bc0e3931388bcb091463bae2989a93bde103bc14fc5d39f9448ca90367e86336b188f73218b2b0ab72a9a564ad5ff32544c5afeacecadfa55d2fb66925a88299dbf58f425cf49e31f42ac4edace743fdf9680d20ec845afc278", - "e8c3b0342964c7a71f084d44ba2f93742bccd9821b30087d11b53bbe8b085808", - "86ddd9c469849cb6b100c339ca62717d", - }, - { - "714bc3ba3839ac6707863a40aa3db5a2eebcb38dc6ec6d22b083cef244fb09f7", - "2cfe1c51d894e5ef2f5a2c3c", - "0cc4a18bbfea87de0ac3446c777be38ca843d16f93be2c12c790fda4de94c9bf", - "84e3d46af2ecb717a39024d62bbc24d119f5aff57569dfef94e7db71ad5aff864abacdc5f8554e18ed5129cfb3366d349c52b3d1a111b867e8772140749e7f33e2e64259968486e32f047d21120da73c77757c4595ccac1b5713", - "0857c8fb93412fde69bad287b43deea36506d7ee061d6844d00a7e77418f702f", - "24a9e5290957074807d55ad705adaa89", - }, - { - "2f93b5a37be1a43853bf1fd578061d0744e6bd89337cde20177d1e95a2b642c4", - "52b6d91557ae15aa792ce4b7", - "0fcaa316a135d81052509dd85f688aed2e5fd4261e174f435cf1c4115aa6f354", - "992ba9efa287a5c3e5177bd4931af498982a1728b56b3d7c4b28476905e29f83326c4f3223a28844fc9b9d84d4f6cd859074aff647a35dde28e1ee889faab3bb9c09a4c3fbf2a16460d48a40dc53378d4673f4325e6aa3992a71", - "f99774cef3c15af33cda3cb449cd335ffe4f27435edf83aff4a4f4c2d2df6647", - "c5e09b83b1c2cc81e48a1f7c62b7bb35", - }, - { - "531ca845af7bf731c49c3136407322b1c0f6b32b8eaebf03744b2edc1202d096", - "baf13b85202bbfc899fc73f7", - "d4e9783f537c738200e7ba7526605f359a98c9f10cafaa2f433c40f3e5081a36", - "e2ba9cf548b4f6fb206f224250d85af327fde8d08916686ae770203dc29c694f8902b02222fd287f28ce6091006368c3949bea2937ff0bdedb7dbbd013ccf0a15ee0af8c56fe211b7c311e182f27707f59e09492b3604e80c6c5", - "642f544929202128a783b985d36f60964c7d78e1d41f5d1bfe27de3ae0180df3", - "e333528c59ee1909750ed72fd1309ee1", - }, - { - "3add17568daa9d441aa7a89bf88fa4e6998a921d57e494a254080445bc9b6f35", - "b290f4a52496380218c3dcf5", - "2c6908cb34215f89a3f3a3c892e8887f2efa496a15ab913fc7d34cc70c0dff79", - "0bc9cc13eb2890aa60515c2297a99f092f6e516236c0dec9f986ea98b8a180680f2c6c20bd4354c33433a4c6f6a25e632f90ebef3a383c3592268b483eebf5f5db006929e7987edbcac4755d3afd1cdf9b02954ebd4fef53d5f6", - "2cf3beae94fd5e6a4126a8ec8a7166b0aacb8b8bbce45d6106b78d3456d05149", - "ce1509b1bd5c47a593702618b0d79f6c", - }, - { - "1c1dcfd4c4cc4beb71d6e368f739d8e681dfe48fbae39728386c9dfc08825743", - "0deceb69ce0dc776a3a71b4c", - "b12700258ace7b16e40f4e86886892837168b256a170937a3b89063a9a0d68f7", - "a3af2db672292431fa8ee1fa5b197593b13e58a68c4129401d0942474d5f4cbe62093aaa5453f6d355d2f4b6dc8abde58ce863d1be5f9ecf39730a49565b3b6882a0a641c0b5d156a4107309dd150fd1f1634ea4e5100b3d4f88", - "3ea7f1c0d613323e095558ddde53247420fa0eef17997a1e9c5ba93d5f24c46f", - "70534a87c258905d35806f4439f6906e", - }, - { - "f2724153aac9d50f350878d3c498bc3dd782d90cce5cce4ae14126c0e1fbb3cf", - "1c07b61c5316659bad65cca9", - "067ccbd0206f1f05d2872210dc5717a0585e8195d72afd0c77da11b9b3710e44", - "e69db7fcd3b590a6d32052612034036d5c8bffa5e5e9b742ffe75a9fbba89dd576dec08154cf4e6d36f0fdd4419bdf50adc1974a80ea313421c926dffa87565b4bd0c1e84f2ff305af91877f830f145bb13dfa7efa5e3aa682e6", - "9aba433eef383466a1291bd486c3ce5e0ed126010e0a77bf037c5eaed2c72460", - "f30a155e35400bb0540883e8e09b4afd", - }, - { - "a2544eb2047c97cfcaf0ec1427c5df395472285233a93ffccda8fee660aced56", - "a751bea3c769bb5db25ab109", - "b9514cc01a357605918f9cc19123dcc8db328c605ca0eb9d69d871afeea1dcfb", - "eb9e09884de1454d6aeb0d6c82375f2428992031ea6cabf6a29aa6a4de49a353e4ffae043dad18ae651b20b7bca13f5c327ca9f132014bfa86e716d4724e05a1ef675521a6607a536756e6a8c16bb885b64815f1eb5ec282ce8e", - "cb442b17088f6ac5f24c7a04f0050559386f3a57131b92a54142c7a556fdb935", - "5f80c5c0cdf0c7890bfd1fbd58c33081", - }, - { - "ceb057782efb1e85d805448af946a9b4d4128bf09a12473cce1e8ef8bfd2869d", - "406f9730e9b1e421e428439b", - "0815723d5367b1328cac632fa26e23f2b814a1d59a2971d94d02ebd7ecf5c14a", - "0772ae00e1ca05d096cf533fd3de2818ac783edfca0eee7686a6290f3357481e883fb2f895b9a4f4004c56b8a1265242cfdf1fb4af7edc41ed78c5f4ffe9c4080d4a17318f9c56ecdb3a06f3c748535387d56a096943a76d46f6", - "9d82355d8e460896201be15fd95fed48a8524666d987ab078550883034d0253c", - "a0bee8ac0e636d64d3b1eb33fd6f21d4", - }, - { - "7dbdbdfe36d4936940ad6d6f76c67c2851a0477f0aa7d6797bfdf2b7878ef7e0", - "bc672b224b4b6b91fc3fd697", - "dfea463d35f0fa20487b606d6ccfd422a5b707f16527b422bf1d68a77db67e9c", - "faacb84ec7cfadd731de2f7c0892d7e38cbfb782b48412331af0b3eab602a722cad1069dea0052beb5ca70e2ee476c340c6193bcc60f939aabe446bf3ce958fe11a2ffc90241f0a7e4e274f0c1441def795893895bd848bf0f0e", - "0ddc2281b1fcb904864a43657bc72357cf73fc1f16520caad7cddde10f846bd9", - "9d96699450aa9707695e5de56597101b", - }, - { - "187214df6e2d80ee8e9aae1fc569acd41589e952ddcbe8da018550d103767122", - "56db334422b6c5e93460d013", - "53355283186719a9146c7305e3d1959a11ccf197570b855a43cbc7563a053c73", - "cbedb7ccfbf56dfd72e530bfe16b4f5aac48a90204bcb7a8cae1046010882cfc8b526e7562a7880914e61b60cbd605165242737d85eeed583c98cab3443874e5989ec9cde001adf7de9c9967de5178f75b8412b0c4d6fec5af72", - "c2262585966bc9c23dc7cc1059d060211e86f3b3161d38b153635fbea4a28c05", - "a94297c584dfcd10ee5df19a2ee5c3d2", - }, - { - "1fded32d5999de4a76e0f8082108823aef60417e1896cf4218a2fa90f632ec8a", - "1f3afa4711e9474f32e70462", - "06b2c75853df9aeb17befd33cea81c630b0fc53667ff45199c629c8e15dce41e530aa792f796b8138eeab2e86c7b7bee1d40b0", - "", - "91fbd061ddc5a7fcc9513fcdfdc9c3a7c5d4d64cedf6a9c24ab8a77c36eefbf1c5dc00bc50121b96456c8cd8b6ff1f8b3e480f", - "30096d340f3d5c42d82a6f475def23eb", - }, - { - "b405ac89724f8b555bfee1eaa369cd854003e9fae415f28c5a199d4d6efc83d6", - "cec71a13b14c4d9bd024ef29", - "ab4fd35bef66addfd2856b3881ff2c74fdc09c82abe339f49736d69b2bd0a71a6b4fe8fc53f50f8b7d6d6d6138ab442c7f653f", - "", - "69a079bca9a6a26707bbfa7fd83d5d091edc88a7f7ff08bd8656d8f2c92144ff23400fcb5c370b596ad6711f386e18f2629e76", - "6d2b7861a3c59ba5a3e3a11c92bb2b14", - }, - { - "fad40c82264dc9b8d9a42c10a234138344b0133a708d8899da934bfee2bdd6b8", - "0dade2c95a9b85a8d2bc13ef", - "664ea95d511b2cfdb9e5fb87efdd41cbfb88f3ff47a7d2b8830967e39071a89b948754ffb0ed34c357ed6d4b4b2f8a76615c03", - "", - "ea94dcbf52b22226dda91d9bfc96fb382730b213b66e30960b0d20d2417036cbaa9e359984eea947232526e175f49739095e69", - "5ca8905d469fffec6fba7435ebdffdaf", - }, - { - "aa5fca688cc83283ecf39454679948f4d30aa8cb43db7cc4da4eff1669d6c52f", - "4b2d7b699a5259f9b541fa49", - "c691f3b8f3917efb76825108c0e37dc33e7a8342764ce68a62a2dc1a5c940594961fcd5c0df05394a5c0fff66c254c6b26a549", - "", - "2cd380ebd6b2cf1b80831cff3d6dc2b6770778ad0d0a91d03eb8553696800f84311d337302519d1036feaab8c8eb845882c5f0", - "5de4ef67bf8896fbe82c01dca041d590", - }, - { - "1c7690d5d845fceabba227b11ca221f4d6d302233641016d9cd3a158c3e36017", - "93bca8de6b11a4830c5f5f64", - "3c79a39878a605f3ac63a256f68c8a66369cc3cd7af680d19692b485a7ba58ce1d536707c55eda5b256c8b29bbf0b4cbeb4fc4", - "", - "c9e48684df13afccdb1d9ceaa483759022e59c3111188c1eceb02eaf308035b0428db826de862d925a3c55af0b61fd8f09a74d", - "8f577e8730c19858cad8e0124f311dd9", - }, - { - "dbdb5132f126e62ce5b74bf85a2ac33b276588a3fc91d1bb5c7405a1bf68418b", - "64f9e16489995e1a99568118", - "b2740a3d5647aa5aaeb98a2e7bbf31edaea1ebacd63ad96b4e2688f1ff08af8ee4071bf26941c517d74523668ca1f9dfdbcaab", - "", - "e5fec362d26a1286b7fd2ec0fa876017437c7bce242293ff03d72c2f321d9e39316a6aa7404a65ccd84890c2f527c1232b58d5", - "dfa591ee2372699758d2cc43bfcbd2ba", - }, - { - "8433a85f16c7c921476c83d042cb713eb11a83fc0cffe31dde97907f060b4ee9", - "55ffc85ffd1cdea8b8c48382", - "23bc3983ba5b3be91c8a6aa148a99995241ee9e82ce44e1184beb742affbe48f545c9a980480cf1fab758a46e4711ea9267466", - "", - "2f4bdc7b8b8cec1863e3145871554778c43963b527f8413bb9779935c138a34d86d7c76a9e6af689902f316191e12f34126a42", - "7dc63156b12c9868e6b9a5843df2d79e", - }, - { - "5d7bf55457929c65e4f2a97cbdcc9b432405b1352451ccc958bceebce557491d", - "f45ae70c264ed6e1cc132978", - "ba5ac2a16d84b0df5a6e40f097d9d44bf21de1fcec06e4c7857463963e5c65c936d37d78867f253ce25690811bf39463e5702a", - "", - "47c16f87ebf00ba3e50416b44b99976c2db579423c3a3420479c477cd5ef57621c9c0cee7520acb55e739cc5435bc8665a2a0c", - "456054ecb55cf7e75f9543def2c6e98c", - }, - { - "595f259c55abe00ae07535ca5d9b09d6efb9f7e9abb64605c337acbd6b14fc7e", - "92f258071d79af3e63672285", - "a6fee33eb110a2d769bbc52b0f36969c287874f665681477a25fc4c48015c541fbe2394133ba490a34ee2dd67b898177849a91", - "", - "bbca4a9e09ae9690c0f6f8d405e53dccd666aa9c5fa13c8758bc30abe1ddd1bcce0d36a1eaaaaffef20cd3c5970b9673f8a65c", - "26ccecb9976fd6ac9c2c0f372c52c821", - }, - { - "251227f72c481a7e064cbbaa5489bc85d740c1e6edea2282154507877ed56819", - "db7193d9cd7aeced99062a1c", - "cccffd58fded7e589481da18beec51562481f4b28c2944819c37f7125d56dceca0ef0bb6f7d7eeb5b7a2bd6b551254e9edff3a", - "", - "1cc08d75a03d32ee9a7ae88e0071406dbee1c306383cf41731f3c547f3377b92f7cc28b3c1066601f54753fbd689af5dbc5448", - "a0c7b7444229a8cfef24a31ee2de9961", - }, - { - "f256504fc78fff7139c42ed1510edf9ac5de27da706401aa9c67fd982d435911", - "8adcf2d678abcef9dd45e8f9", - "d1b6db2b2c81751170d9e1a39997539e3e926ca4a43298cdd3eb6fe8678b508cdb90a8a94171abe2673894405eda5977694d7a", - "", - "76205d63b9c5144e5daa8ac7e51f19fa96e71a3106ab779b67a8358ab5d60ef77197706266e2c214138334a3ed66ceccb5a6cd", - "c1fe53cf85fbcbff932c6e1d026ea1d5", - }, - { - "21d296335f58515a90537a6ca3a38536eba1f899a2927447a3be3f0add70bea5", - "2be3ad164fcbcf8ee6708535", - "ad278650092883d348be63e991231ef857641e5efc0cab9bb28f360becc3c103d2794785024f187beaf9665b986380c92946a7", - "", - "b852aeba704e9d89448ba180a0bfde9e975a21cc073d0c02701215872ed7469f00fe349294ba2d72bf3c7780b72c76101ba148", - "bdd6d708b45ae54cd8482e4c5480a3c1", - }, - { - "d42380580e3491ddfbc0ec32424e3a281cbe71aa7505ff5ab8d24e64fbe47518", - "fbed88de61d605a7137ffeb2", - "4887a6ef947888bf80e4c40d9769650506eb4f4a5fd241b42c9046e3a2cf119db002f89a9eba1d11b7a378be6b27d6f8fc86c9", - "", - "87aa27f96187ce27e26caf71ba5ba4e37705fd86ca9291ea68d6c6f9030291cdbff58bff1e6741590b268367e1f1b8c4b94cd4", - "d1690a6fe403c4754fd3773d89395ecd", - }, - { - "5511727ecd92acec510d5d8c0c49b3caacd2140431cf51e09437ebd8ca82e2ce", - "ae80d03696e23464c881ccff", - "184b086646ef95111ccb3d319f3124f4d4d241f9d731ce26662ea39e43457e30b0bd739b5d5dbceb353ce0c3647a3a4c87e3b0", - "", - "aa28cb257698963dfc3e3fe86368d881ac066eb8ee215a7c0ed72e4d081db0b940071e2e64ff6204960da8e3464daf4cb7f37b", - "c1578aa6e3325ee4b5e9fb9ee62a7028", - }, - { - "d48f3072bbd535a2df0a2864feb33b488596cd523ad1623b1cefe7b8cbefcf4a", - "bbf2a537d285444d94f5e944", - "060c585bd51539afdd8ff871440db36bfdce33b7f039321b0a63273a318bd25375a2d9615b236cfe63d627c6c561535ddfb6bd", - "", - "993d5d692c218570d294ab90d5f7aa683dc0e470efac279a776040f3b49386813f68b0db6a7aef59025cc38520fb318a1eac55", - "8cd808438a8f5b6a69ff3ae255bf2cb2", - }, - { - "5fe01c4baf01cbe07796d5aaef6ec1f45193a98a223594ae4f0ef4952e82e330", - "bd587321566c7f1a5dd8652d", - "881dc6c7a5d4509f3c4bd2daab08f165ddc204489aa8134562a4eac3d0bcad7965847b102733bb63d1e5c598ece0c3e5dadddd", - "9013617817dda947e135ee6dd3653382", - "16e375b4973b339d3f746c1c5a568bc7526e909ddff1e19c95c94a6ccff210c9a4a40679de5760c396ac0e2ceb1234f9f5fe26", - "abd3d26d65a6275f7a4f56b422acab49", - }, - { - "885a9b124137e40bd0f697771317e401ce36327e61a8f9d0b80f4798f30a731d", - "beebc2f5a26fd2cab1e9c395", - "427ec568ad8367c202f5d9999240f9994cc113500154f7f49e9ca27cc8154143b855238bca5c7bd6d9852b4eebd41e4eb98f16", - "2e8bdde32258a5fcd8cd21037d0545eb", - "a1d83aab6864db463d9d7c22419462bde0740355c1147c62b4c4f23ceeaf65b16b873b1cc7e698dff6e3d19cf9da33e8cbcba7", - "4fdbfd5210afa3556ec0fdc48b98e1eb", - }, - { - "21c190e2b52e27b107f7a24b913a34bd5b7022060c5a4dec9ab289ff8ae67e2d", - "b28a61e6c1dfa7f76d086063", - "4e1b9528cf46b1dd889858d3904d41d3174dcb225923f923d80adbfe6eec144b1d4eb3690d0b8519c99beaee25bb50fd2d148f", - "d80657377ddbbed1f9b8d824b3c4d876", - "7126fa807aa6b61a60958fe4cc8682bb256e5bbdc499d04a6caa81b23f9e67d3da4cf1994b5a8ecc7bce641864d0519a6509cd", - "d3e96568f2cd1a48771ee4f67ad042c1", - }, - { - "11c33ae37680130c51ed11bfaf0fcb6ed4fc7d903ff432b811763d2c7ef83a33", - "0f224d26dbf632cebdce3b8b", - "f8a2affe5a7e67f2c62622e4a56804b48e529d1faf9096f94409224129921ce46aed898dd5391746e8170e05f91e0524166625", - "dee803732ff662cba9f861227f8b67cf", - "3856558375c363b25e8f9e9e2eb63cf0e76a1c6e228893c7b22da4a69b682528b4a4ca2b99e7a537390e2d1e05a68f3e39c4e9", - "9b12691b2002ca9227035c68ea941ef3", - }, - { - "3b291794fbb9152c3e4f4de4608a9137d277bd651f97e738afaa548d97b4ec60", - "4d1c69c6da96c085d31422ba", - "21b3ca1f47a0c7f6ebd097eda69d9e5b5fbf5c24d781658003cfd443ae7096be19e1cd3c14fe9738efb00847697fccb466ae1b", - "f3a5fa61a4e987413a8fab4aa51d895d", - "6c1439cd2cb564e7944fd52f316e84aeffc3fd8024df5a7d95a87c4d31a0f8ea17f21442c709a83b326d067d5f8e3005ebe22a", - "e58048f2c1f806e09552c2e5cdf1b9d9", - }, - { - "8e7a8e7b129326e5410c8ae67fbd318de1909caba1d2b79210793c6b2c6e61c7", - "8e48513fdd971861ef7b5dc3", - "ef6b4145910139293631db87a0d7782a1d95db568e857598128582e8914b4fa7c03c1b83e5624a2eb4c340c8ad7e6736a3e700", - "80bb66a4727095b6c201fb3d82b0fcf5", - "e302687c0548973897a27c31911fc87ee93d8758c4ded68d6bd6415eaaf86bcc45fa6a1ef8a6ae068820549b170405b3fc0925", - "ff5c193952558e5a120e672f566be411", - }, - { - "d687e0262f7af2768570df90b698094e03b668ce6183b6c6b6ca385dcd622729", - "50f6904f2d8466daa33c2461", - "79e3067d94464e019a7c8af10b53adf5b09426d35f2257c3cbaffe1ff720565c07e77aeef06f9d03a2353053992073a4ed1fc8", - "e8fa99432929d66f10205ad3e9592151", - "18f6e6aeecc8dc5a3d0b63a2a8b7bfaf695bd9c49a7392dbfa8ed44771eebe27f94589d8a430da4cf03a8693bc7525e1fcac82", - "3c864eaa1b0ae44a7f0ad9ba287ba800", - }, - { - "26dc5ce74b4d64d1dc2221cdd6a63d7a9226134708299cd719a68f636b6b5ebd", - "0294c54ff4ed30782222c834", - "ae4c7f040d3a5ff108e29381e7a0830221d5378b13b87ef0703c327686d30af004902d4ddb59d5787fecea4731eaa8042443d5", - "2a9fb326f98bbe2d2cf57bae9ecbeff7", - "9601aec6bc6e8a09d054a01e500a4e4cdcc7c2cf83122656be7c26fc7dc1a773a40be7e8a049a6cdf059e93a23ca441ef1ca96", - "b620a8a0c8fe6117f22735c0ca29434c", - }, - { - "7fa0644efc7f2e8df4b311f54ba8b8c975b2c2aa97962f8ca8a322541bedaa9d", - "5e774e45a07eeb9721734412", - "84d1c75455e4c57419a9d78a90efc232c179517fe94aff53a4b8f7575db5af627f3d008006f216ecfc49ab8da8927ff5dc3959", - "6ad673daa8c412bf280ea39ba0d9b6d4", - "e2f00b5a86b3dec2b77e54db328c8d954d4b716f9735e5798b05d65c512674d56e88bda0d486685a45d5c249719884329e3297", - "0ce8eb54d5ad35dd2cb3fa75e7b70e33", - }, - { - "91d0429f2c45cf8ab01d50b9f04daaaccbe0503c9f115f9457c83a043dc83b23", - "34401d8d922eebac1829f22e", - "d600d82a3c20c94792362959de440c93119a718ac749fa88aa606fc99cb02b4ca9ba958d28dc85f0523c99d82f43f58c5f979b", - "1b29de9321aebc3ff9d1c2507aee80e9", - "84cbc9936eb7270080bb7024780113d064eccb63d3da0bd6bce4f8737d28304bfb6102f3ae9c394cc6452633fc551582bbfe1d", - "e132dc8a31d21f24ea0e69dfb6b26557", - }, - { - "44e6411b9fbfcef387d0ca07b719181c7567e27dba59e8e1c3cc1763cfeaca04", - "25a1cfd97bd8e63de5d65974", - "db28a592b1f3603c287991a69cc64eacdd62046445a8ba4067575f12553de155d06a9b40ddf58fec56c8171687b9cb54b1f346", - "4b1751b074ab649d27fd3f2c4d7ee33a", - "36bf6bb761b2248fe71a620e34e9d18e12a74ca42c9a9a21d30345995a83eb44bcae3c67c020730cd8d5e51a741694cc396469", - "e69ebf80a88d6eca41ae87cdcab4e1f2", - }, - { - "a94bfcefae90f9078860db80ccc50819eadf7cce29df3279f94f5eea97009ef2", - "f481bcb7f5da296e9454ff78", - "97d0c7dfcab32a386f51d92e89333ec84eecd552e68d14cf48b75067bf0e1946ad03a5d063b852ca053c929088af45d0884a88", - "9f80d845577818df9ba984ee552ae203", - "18a1c9bfe1b1dfdd06e465df347c1e942b37b3e48cb0c905841a593b5b0d0330feb3b8970dbc9429252a897f0f8e12860ea39a", - "10cf4d335b8d8e7e8bbaf49222a1cd66", - }, - { - "a50a60e568ff35a610ef9479c08bbc7bb64c373fc853f37fa6b350250a26f232", - "5ada1d4aca883d7bd6fa869f", - "9ea44e72a1d21395cd81d20db05816441010efd8f811b75bb143ab47f55eefce4eec5f606fa5d98b260d7e5df4a7474cbd8599", - "cc7a7a541be7a6d1b846354cb6a571e6", - "4165b135187faeb395d4531c062738e0d47df8bed91982eb32e391a6b3711f117b6fae0afde791de3e72fcf96d2b53ff1a621a", - "e2cbfea2100585b2cbe5107da17ff77a", - }, - { - "5ff3311461d247ceb1eaf591292fcba54308dd3484fd1851e09a12b8f6663fc1", - "61af2e6aec183129cf053c2b", - "920df8b2888a74022ede6919ed0bf48ccf51e395fe5bfa69a6209ff9a46674024eaa4f43ae2c933730b9fdc8ad216130447cc8", - "5eafed6674f2ae83397df923e059db49", - "0e35e1208168b639e012df398bc8bf2b19b08d46af0353cd78f6d1b7ae14e6224c1da6fdc9433b171f1cd2b512d5f1acd84f03", - "5bc77eb02e4d51e2019446b468498d0e", - }, - { - "42e93547eee7e18ec9620dd3dc0e2b1cf3e5d448198a902ded3f935da9d35b33", - "e02e12ba92a6046af11adf0e", - "6c3704b32527ace3d5236687c4a98a1ad5a4f83c04af2f62c9e87e7f3d0469327919d810bb6c44fd3c9b146852583a44ed2f3c", - "ac3d536981e3cabc81211646e14f2f92", - "8b6506af703ae3158eb61e2f9c2b63de403b2ebc6b1e6759ceb99c08aa66cb07d1d913ac4acd7af9b9e03b3af602bcaf2bb65e", - "a6ce2ccb236fc99e87b76cc412a79031", - }, - { - "24501ad384e473963d476edcfe08205237acfd49b5b8f33857f8114e863fec7f", - "9ff18563b978ec281b3f2794", - "27f348f9cdc0c5bd5e66b1ccb63ad920ff2219d14e8d631b3872265cf117ee86757accb158bd9abb3868fdc0d0b074b5f01b2c", - "adb5ec720ccf9898500028bf34afccbcaca126ef", - "eb7cb754c824e8d96f7c6d9b76c7d26fb874ffbf1d65c6f64a698d839b0b06145dae82057ad55994cf59ad7f67c0fa5e85fab8", - "bc95c532fecc594c36d1550286a7a3f0", - }, - { - "fb43f5ab4a1738a30c1e053d484a94254125d55dccee1ad67c368bc1a985d235", - "9fbb5f8252db0bca21f1c230", - "34b797bb82250e23c5e796db2c37e488b3b99d1b981cea5e5b0c61a0b39adb6bd6ef1f50722e2e4f81115cfcf53f842e2a6c08", - "98f8ae1735c39f732e2cbee1156dabeb854ec7a2", - "871cd53d95a8b806bd4821e6c4456204d27fd704ba3d07ce25872dc604ea5c5ea13322186b7489db4fa060c1fd4159692612c8", - "07b48e4a32fac47e115d7ac7445d8330", - }, - { - "9f953b9f2f3bb4103a4b34d8ca2ec3720df7fedf8c69cac900bd75338beababe", - "eb731ae04e39f3eb88cc77fa", - "3b80d5ac12ba9dad9d9ff30a73732674e11c9edf9bb057fd1c6adc97cf6c5fa3ee8690ad4c51b10b3bd5da9a28e6275cbe28cb", - "d44a07d869ac0d89b15262a1e8e1aa74f09bcb82", - "1533ce8e2fc6ab485aef6fcfb08ded83ae549a7111fce2a1d8a3f691f35182ce46fce6204d7dafb8d3206c4e4b645bc3f5afd1", - "f09265c21f90ef79b309a93db73d9290", - }, - { - "2426e2d1cd9545ec2fb7ab9137ad852734333925bfc5674763d6ee906e81c091", - "49a094a71d393b36daa4a591", - "7cbe7982d365a55d147c954583f9760a09948ab73ebbe1b2c1d69ed58e092a347392192cfe8bce18ca43ee19af7652331bd92c", - "177309cfc913e3f5c093e8b1319ba81826d43ce5", - "cab992e17cf6ec69fd3c67ea0424bcd67475a7f1f16e6733c4419d1b5a755f78d6eda8e368360d403800a08f0d52b4bc0aa0ab", - "b125f8caee9e54b9f9414b1c09021ed8", - }, - { - "8dc1b24bcbbee3cb8e14b344166d461d00c7490041edc9fa07e19cc82a3ed9c4", - "31768ad18c971b188d947019", - "84e4f79dbb7209cbaf70e4fefe137c494786c899602783e9c034296978d7f0c571f7ea9d80ed0cc4723124872d7326890300c1", - "eb3673b64560cca7bda76a1de7ae1014ee1acaee", - "2402acd865d4b731bc9395eae0e57d38fdf5ce847ac7aef75791a52c7573ea9b3a296e62cb1ed97c4bd34be50ee7f3d75747cf", - "665abb725498ede2b0df655fc1765a2b", - }, - { - "bc898f643a5f2cd864c10b507b4b803b4ff4ace61fadcc7bcd98af394731b791", - "cc447d83c0a6734a79778c64", - "124eb963cdb56fa49c70a9b1aa682445c55065f26859f1d16eef7cfe491587533eedd7e23deabddfc5550c2fa6a08b17822699", - "e932bd2e0e6c550d136f725e14c53d27ffb20f6a", - "45d8908ef9eef369e78b7ea0b7d023a92c63648271927efe9b0220eb09ed96f3b635c6ec8bfc68b4c228b712494bb37f4c7f1a", - "47899857494bac28d2176a9c923026b2", - }, - { - "8e82a85466ee024eb1ae10c4982d6a95e6dbe5582299ab37fe89a9db80ab51a6", - "04cfd489e18eeb7a4a8ab36b", - "3aa2e4eaed18c4602715ae77379e9083708af9f9b49031324d41abca61440319c8c8e6dbcc20006a825b12ced00b2286848a94", - "7bb54b1a6ed0ca387268a146430c0bfa2602a8fd", - "674b1391937074642408eeae9b748ca629da9fd00281824f5a108f6078ee78f98749392bb6e29b53e53e4b11739ac53a8e653b", - "e320a873a9c2e8ef455698c37ea59a6d", - }, - { - "f1f2c5503ebf35ac1373c29e2305e963f89f6ed015a181b70fb549429805d5d9", - "2fb5c6a24f406872755db05c", - "b4a2809198035c277637bb1c2927fb5c60b49ef9087c800012d8663d997983fcb78d51a054114a24e1e1b5214b58e7dee47195", - "92c1f3489aed90aedafb55562a34b3f4be29e101", - "f051a3a968278a46630b2894a0d386c18fa034960d8ddd14e88e1071afbbca5baf02967c2270117b4fb2bd4cfd032174505f99", - "6f1db5293660b6904f7f008e409bdc06", - }, - { - "f0338d26d74bd1768da5bb79c59fab2b4abe1966324048790c44bc98a6b34b6c", - "c8269e4406fa0be1cf057b2f", - "323c373e4d85a1fd21f387fdd8c7e6aeebd5aae893d7af286cb214600cba8b9eb06df085a2dc5aed870259f7f3cc81d3eb53bd", - "13fb0edcba095cef9c4343a0629fd5020f03729d", - "08572b9cf9bcfd21d4403a1218d94476b9ee8c3b94c56625c21ccaf4c0efa34cf22a532389210793699c9de1ab14f8c4c52928", - "29968c9fb610940cee9fd5b2f7c8ba21", - }, - { - "a67648285b65b9196060aaa02af279170164353e38fb77c3968c403cfa9acdc8", - "0822d6b3e91eccb7e14245fd", - "b5d271768c12ccabf89eb2d58cbde840c26d1c9b3692581f90c8b0d7b2cff31ae9192d284f5448de7d924a7b08f115edae75aa", - "0d9a5af7ac27438d92534d97ff4378274790e59f", - "b59041eed7abc2ff507d1932b5c55ac52728e5ac6648dcc74b38870db6181b1989f95a0144f0db368ec50414cfda0b977141e3", - "1d12ce89e1261d73470f3ae36ab87288", - }, - { - "51162b2435f3cf43471f4cc0ffac98b438501ee9b887843a66e9951ca35b8767", - "dcb902eaa837ed22bf5fa636", - "3edf43358f5109a4dfb4a02987170a67cdd170f6028f7708bdd7726f476b882b9640270f2270f7babfa384181c8e58c15d04c4", - "4d459905ff89aed07dcda43a3d191a3da9309faa", - "046a2313d36cbc43b6d0787e5ef37d153090a31d0f6656004034be72b9b07ace3a8abe8614362282d87da40c29c60a1a9f5c40", - "c7410b5cb94d2877c189983791cee82e", - }, - { - "2fa2beb1cde2226f28fb42a5fb0af3fc58fbb76bf14aa436e6535d466456a0f4", - "50190514a3740b3c0b1df576", - "a5e0b4837dfca263ba286abf7940b6e70fabb55d8dee5028617c1190fbd327f79b79d2f34db6076ab07cecff7114b15ca02a33", - "25142928c1ae9c7b850309e07df359389db539fc", - "850fd22bd0897b98ce40bc6c1345a9d59abf796b1b8c34ee8b377e54ee7d59dec05c022ecae96ffdfa1311bdd4e7a9d35aac47", - "4b5ab89b4f627ca32d12a1791c286870", - }, - { - "a92a797ce2b2f382030b77a1abe94c8076eee88de2dc4929350b244dbdaddd30", - "716f577401a7893c42c91710", - "9d26ff79a89720fab6e4cda85887e3c0c3f86a4670d065c8ea68042b6f9f16dd2c5b31acb36331f5b1e50f08c492dc12eebd9e", - "8642681f1839b88990c2a939f00c9b90766dadac", - "3080bcf3604cf81f5f2c6edc80dfe5d877168a9903598a700a0bbae188fadc7a8b76a04b40400f9252d7f9437fa8f024a3bdeb", - "8fc56f6bf48efb00476886b2a03ecb89", - }, - { - "89d0723e5a087456b7b709b8b21be380b463ba3dc9b79170e9947526798fe91c", - "68e2f307b7d49d4d9c041755", - "7fe2afb710e8fd49cca1c2ba8fd0814594fba4d667017630e170a8a379fa5837bf370ca1cd4c98bd8c4f13eb7068ffa71ab07c", - "b34805b30703a62b6d37c93f2443e1a33154b5fb", - "b841012752bbf1dfa7b59366dbf353bf98b61ff2e6e7a13d64d9dcb58b771003c8842ac002aac1fa8ca00a21eaf101ab44f380", - "73a93e2722db63c2bbf470d5193b2230", - }, - { - "329a6e94b1cce693e445694650d62b8c2c9ab03a09e6d4eca05c48291e576b89", - "78f471bc32f8637a213e87ac", - "65264d75e1a176a7e966e59109cd074ac5d54740eb0c58084af023e5599eb611846199579d95ba94b6d25ee4d9074b9714f231", - "c00c465524e2e2f8a55c0793ed9af851be45a70e", - "964d665d1e3c1018dfd883e217cfe4c856cc844f7644b53bb68fbe66f8541fa43ac54e92a2b194d6d8929fe031e94b3e70eca0", - "fd511385711236f2e99e6da5042007b7", - }, - { - "463b412911767d57a0b33969e674ffe7845d313b88c6fe312f3d724be68e1fca", - "611ce6f9a6880750de7da6cb", - "e7d1dcf668e2876861940e012fe52a98dacbd78ab63c08842cc9801ea581682ad54af0c34d0d7f6f59e8ee0bf4900e0fd85042", - "0a682fbc6192e1b47a5e0868787ffdafe5a50cead3575849990cdd2ea9b3597749403efb4a56684f0c6bde352d4aeec5", - "8886e196010cb3849d9c1a182abe1eeab0a5f3ca423c3669a4a8703c0f146e8e956fb122e0d721b869d2b6fcd4216d7d4d3758", - "2469cecd70fd98fec9264f71df1aee9a", - }, - { - "55f9171a03c21e09e3a5fd771e56bffb775ebb190319f3dc214c4b19f72e5482", - "14f3bf95a08e8f52eb46fbf9", - "af6b17fd67bc1173b063fc6f0941483cee9cbbbbed3a4dcff55a74b0c9535b977efa640e5b1a30faa859fd3daa8dd780cc94a0", - "bac1ddefd111d471e75f0efb0f8127b4da923ecc788a5c91e3e2f65e2943e4caf42f54896604af19ed0b4d8697d45ab9", - "3ae8678089522371fe4bd4da99ffd83a32988e0728aa3a4970ded1fe73bc30c2eb1fe24c0ff5ab549ac7e567d7036628fd718d", - "cf59603e05f4ed1d2da04e19399b8512", - }, - { - "54601d1538e5f04dc3fe95e483e40dec0aaa58375dc868da167c9a599ed345d9", - "c5150872e45c341c2b99c69a", - "ae87c08c7610a125e7aa6f93fac0f80472530b2ce4d7194f5f4cb8ac025323c6c43a806788ef50c5028764ec32f2839005c813", - "93cd7ee8648a64c59d54cdac455b05ffdfc2effe8b19b50babd8c1a8c21f5dc8dc6050e2347f4cd28701594b9f8d4de5", - "d5f005dc67bdc9738407ce2401977f59c9c83520e262d0c8db7fe47ae0eada30d674694f008e222f9733a6e63d81499e247567", - "3470155144c74929980134db6995dd88", - }, - { - "e966c470cbecc819260640d5404c84382e6e649da96d29cad2d4412e671ed802", - "b3a92d6f49fe2cb9c144d339", - "7adf6fcb41d59b8d2b663010c3d4cf5f5f0b95cf754f76f8626c4428467e5c6684e77e7857b1cc755762e9ea9117e3bb077040", - "dfa62a3a4b5b3af6770cfd3cef3bbb4cce3f64925782a9a8a6e15fe3744d8f9310400dd04e8d7966c03850539e440aa5", - "5f5b09486e6cd2a854e5622b4988e2408fddaca42c21d946c5cd789fe5a1306ef33c8cd44467ad7aa4c8152bce656a20367284", - "2b388109afdada6473435230d747b4eb", - }, - { - "4a8a12c0575ec65ae1c5784d2829bc7b04818eb00bd4c90a0d032ea281076e27", - "959f113b705397fb738018b0", - "0c5571195586e4fc7096fb86cfcd6684081446f3d7adc33a897f03ac4ff6c3cc2019b67bd3184c86070764f6deaa8a10d0d81f", - "adb8bc96142a1025122dc22f826957197af33dcdcf6b7ab56bc1a5e17e8534e48b8daf685faf9543bb343614bdf6737f", - "84212d5991231d35c4e8621163e5b370a0105a05856866e74df72c0808c062981570d32d274ea732fa4d29f9cfa7839cadbe6a", - "39cee3b8fa0bf92605666ccd9eb19840", - }, - { - "6197a4fa7cfcedeff223f69ea68b4ddf54b683350c20875be353077e9bbce346", - "1a69ecabd42c53c0ec64fcd0", - "40a487b4daf866c20f3c4911a0586709c3344aa988dc9c464bcf36cc4e3d92701e611e60cf69f3edbf76cd27ff6ba935026d7f", - "b20a7ca5b5b603f661587e01f7ef171823ef463c187ded77a3d616400cc1d2b0b688ac9e927498341560cbc8eb9a4198", - "06420fa038ee62db30cc05bfe34c8d2c39a9d439653907c512ed606511921fe76110913a5bfb6b6c7b23d7f8883f5ab65f4b14", - "4d3097c9919002cd1da83f29820312ed", - }, - { - "c9dbe185023ecaa78be9bfac1b91b9da6bd7c11349feb69e6b0be83a838e77b2", - "8940fa7c6afd3f7a09ec93b6", - "075be0d61273e6975978d0b88b3fa38fc398d4d0f22a342a8afa5562af0e7c8fa548f0d8faec898a20c97e851754992c1ed4a3", - "f17bd357608365e66b98e49191cdc2a3813bba5a1b7988aa8aaaaad4b86d0ef4e2698cad799d63fcd2a5e87c0e3e929a", - "615c1097d577363a77bfc7dd57179acb68166e78021b3397d7029ce33cbc848f036b9c07989eeb9f42aeaeebe8542f103b1d32", - "a22ab25fd8a6127469e8ce9ff686d575", - }, - { - "e6cdcf497a6e119009bf43ac183d2dd4d4e967964ef92811f69eb18d92923305", - "3e88459a76e1dcc890788297", - "72a3dfb555ba0029fc3d1c85b836f76135bd1858189efdde2db29045f2c26e6a65627d81a0b85ca42e8269d432a41154e929ac", - "a359f86ec918537d80a84da7b66bca700c1ff9ec7f8695a30808d484da218d15ae89c5f943e71778445130191f779001", - "9ae3f8ccae0bb5789b1105118760c406e41175a76612435cb0c8be225ea6b368c9d08c9d9a24b512d1458e94af79e3060ab69e", - "ac3bbc8fd6a7097df6f298411c23e385", - }, - { - "de5531b50888b61d63af2210ee23f46d91a5e60312bd578584af586bf22ea756", - "0fde8689b0348bbcfaa89fec", - "80621e54eef1c92afb1f64ed860e39311eea7e2cca6f5624008c1d2e581d7112b7ee0b559fc3db575b7b7c42ee4f2a20442dc0", - "22db97cd5f359f12aec66c51c7da79ba629db4c8c7e5501be2ec1e4cc3f3944b6e3057d093bc68b735b5156950f91804", - "933018419a32b7bf65f9777c44889a44b32d61ceddbb46839366ce2ca2ffeb1833f46559e59c93bb07f622d9633f13932cf7f1", - "25023a4ee9bdbf525cfef888e2480f86", - }, - { - "bc0c6368a9bb2622f6d5ba12de581f003336c298adac34499bf26b11e630f891", - "2aa8f30b567cf1edd818e42d", - "1dcc1a3167fba55c00d3383e26d386eaa0449154599992da7f7f6598f41b3eb8e4d0a9143dfcab963f5c390a6ae2010fbcf6ec", - "0e28ebf87eb757e83031fb836f7b049a46bd740b0a39c9b798d2407e1150da86dfe84121c7c98449559453ad7558e779", - "78d00a6e3302369817b9cf1f24ea13c41751382e3fea74403d094737e32fb507184cfebce48d10b4ce8db12ef961e4df2c8e95", - "c0aff3594f86b58e229c7ad05c2b84f0", - }, - { - "5d98a0c7ad6f9c0b116613ca5082250356a6a9bca55fe1a4a2962b733214dac4", - "8b2d8e8d83bdd6a3125dd997", - "4f3685c2cfbc856379d1fd00f9611fe4c0a4b9c4013fe1bee144449709a6a7e31ff6fb0da74ed464b066b03b50f19cd7f5f9bc", - "2f20636d46ce37e9bb0ca0c41d819e3eabcedacbd1ca3ced112d3ad620bbd3b2effe80d3ec8760706e8f14db83139a70", - "8e178c0e3e5d22b3be897e0b8879b0d53fef2efb9946ccff6d717b001e3033f2cc22d01d9551e9c0749de704fbe3189328cbb0", - "541b7db823e37b5ed323626b9c6748f6", - }, - { - "d80a2703e982de1a2fe706ffe6e389f351ab356ccf056df045e2941b42ef21a4", - "1521ab8f7242cba05427f429", - "6f9fde28e85776a49cfbad1459d94611757a3cd996aa6e2d702d0483a4d88d532131ebd405b351226b16d19d30d32807a1d511", - "5395de90d6bec7c159ab9d6cfa663bdc6295d025e1fcc8b760b9ba42d785eda218dabc6fa7c0f733ad77f61682bff2db", - "1e72a8495ceadaf0d31b28ba7cb7c37ccb117761d38fe7dd98eb230ff4ea0b400401e9b5311a7be9b2a533523ad469e2fdb233", - "bb174b7624c935ff75b3b77ff7068a98", - }, - { - "6d5c69d7135c0b5b7fef512c127fa788092f1a908358ab658b8f23e463409aa5", - "b36cccad38cd6148a384a026", - "b4e74f5c56f2ea056d9ff931525944dfad207e063ba226c354e0320a50449967e964580d9b57028c14005aba6865f8bc6a3ef8", - "b19f4616bb1452251a2a7dbf78f920194f139e0424d27683621d1ee1e865737c2466e058439c8e122e582a7b63607ce9", - "1ce12cd5502efa9ea259584ae9b3c7dbd9444380d4b77a2c787f9b2257019b23ee183dffebb3106a26b18d8a23445626a578e2", - "62945e31bae3181855b69c37898ac5bf", - }, - { - "e6afe3c4db2c1d13edb1c5931b2b4b515ec0fd6201139ee1ea55cec92263830e", - "358bd9ea64177d1e23a41726", - "710bb3394b094ee7d053bc6599b26dafd337e8a61c580d0446c3bf195e77ca5132c8ec3a47a61579dce38360bba7c65e4d5634", - "7e0f841cddd7eeebd1ec7b7b8d0e2f71656e5e9ff3cfa739c0b9d0ec4941a0b3f3b396690dbe5f5082d6fb6dd701c68d", - "4574a8db515b41c14c2a962dff34e2161a7195c491b11b79889aff93c5b79a6455df9fe8ef5c5b9edb5da1aa9fe66058b9065f", - "7c928d7f5cbac9bb4b5928fe727899eb", - }, - { - "5cb962278d79417b7795499e8b92befe4228f3ba5f31992201aa356a6d139a67", - "76f7e7608f09a05f336994cf", - "2e12cbd468086aa70e2ecd1ddef561e85c225dd083e5956f5c67503344b0ea982bb5044dafbcc02a5b9be1e9b988902d80172b", - "032de3fdec273fc8446c2bf767e201f2c7c190acf9d6d321a24a0462cbc3356e798fe23d6c1b4fe83be9c95d71c05504", - "c959344a46aa5216d2b37c832436eb72a4a363a6df5642cfbbfd640dea1d64c80bd97eabc1aab192969ee0b799e592a13d2351", - "51b227eaf7228a4419f2f3b79b53463a", - }, - { - "148579a3cbca86d5520d66c0ec71ca5f7e41ba78e56dc6eebd566fed547fe691", - "b08a5ea1927499c6ecbfd4e0", - "9d0b15fdf1bd595f91f8b3abc0f7dec927dfd4799935a1795d9ce00c9b879434420fe42c275a7cd7b39d638fb81ca52b49dc41", - "e4f963f015ffbb99ee3349bbaf7e8e8e6c2a71c230a48f9d59860a29091d2747e01a5ca572347e247d25f56ba7ae8e05cde2be3c97931292c02370208ecd097ef692687fecf2f419d3200162a6480a57dad408a0dfeb492e2c5d", - "2097e372950a5e9383c675e89eea1c314f999159f5611344b298cda45e62843716f215f82ee663919c64002a5c198d7878fd3f", - "adbecdb0d5c2224d804d2886ff9a5760", - }, - { - "e49af19182faef0ebeeba9f2d3be044e77b1212358366e4ef59e008aebcd9788", - "e7f37d79a6a487a5a703edbb", - "461cd0caf7427a3d44408d825ed719237272ecd503b9094d1f62c97d63ed83a0b50bdc804ffdd7991da7a5b6dcf48d4bcd2cbc", - "19a9a1cfc647346781bef51ed9070d05f99a0e0192a223c5cd2522dbdf97d9739dd39fb178ade3339e68774b058aa03e9a20a9a205bc05f32381df4d63396ef691fefd5a71b49a2ad82d5ea428778ca47ee1398792762413cff4", - "32ca3588e3e56eb4c8301b009d8b84b8a900b2b88ca3c21944205e9dd7311757b51394ae90d8bb3807b471677614f4198af909", - "3e403d035c71d88f1be1a256c89ba6ad", - }, - { - "c277df045d0a1a3956958f271055c229d2634427b1d73e99d54920da69f72e01", - "79e24f84bc77a21a6cb14ee2", - "5ca68d858cc30b1cb0514c4e9de98e1a1a835df401f69e9ec6f1bcb1158f09114dff551683b3827457f77e17a7097b1ea69eac", - "ca09282238d492029afbd30ea9b4aa9d448d77b4b41a791c35ebe3f8e5034ac71210117a843fae647cea020712c27e5c8f85acf933d5e28430c7770862d8dbb197cbbcfe49dd63f6aa05fbd13e32c459342698dfee5935c7c321", - "5c5223c8eda59a8dc28b08e6c21482a46e5d84d32c7050bf144fc57f4e8094de133198da7b4b8398b167204aff837da15d9ab2", - "378885950a4491bee3cd681d3c957b9a", - }, - { - "4d07f78d19e6d8bb32bf209f138307890f0f1ae39362779ff2bf1f9b734fe653", - "d983a5d5af78a3b1cd5fbd58", - "94f0bbc4340d97d854e25cc7ce85ea1e781e68bf6f639e0a981bb03e3c209cbf5127171cb0fff65bc3ecac92774d10146d1ac5", - "a3dc9ff9210bc4b3276909883db2c2aa0762cd22b46901a248c0372d073e7778b9c1d8469b26bb42406e484ef7747f71dea785fc0020a2eac17e0ac3fbe0453629efd68d5678fbecc10af8ffbe7828f826defb638763f4ecfe82", - "6543b4d97fccd273b36436fef719ac31bf0e5c4c058ea71aea2a0e5b60e329be6ea81ce386e6e9fe4480e58363c3b2036865ac", - "924cf7c0770f228a4b92e9b2a11fc70b", - }, - { - "9572b9c57abdf1caae3bebc0e4bbf9e556b5cbacca2c4756050fefd10a666155", - "de292a9858caaccdcab6a433", - "6f420a32708ccd4df0d3149e8c1d88dceba66ee4546f38db07046ebf30f47627f7fdda1dd79783adabe5f6b6853857b99b864c", - "a042d97a9b8f6caf51c5f24522d7ed83e2c5d8ec6b37ef2598134a30e57319300c3fdf92fb1d9797f5ef00971f662aae768f69f9ca0455bd6d1059d5f85b8ecb977006b833f90ac2d5bbf4498c83f4d1a42584c0dfc4a2e2453c", - "a9af961d61ab578cc1348eb6f729603f481c5d9bf9bee3a13eda022bd09c03a4f207c21c45c0232a9742ae8f0c54b4278a3a63", - "eff9bb26156ec76f0060cd93a959e055", - }, - { - "3cc8671c4d25c3cbc887f4dcbd64e531e91cf6252f6ee9c29d9988d20ab6747f", - "f960a09c0b5067280926a9c3", - "5b58717b0b32076566b58bf37c6133e61468b2be67715fb0007fe390c4b5578decf55502a4e3c12e7bdf0ba98784d126e4753a", - "79d73a7ff86698e6114a0f465373fbee029e042424c439b22e3ad37b36b9e02bab82e16844114e99e39c169f462fe61b87c4627c394384acc9531680706e4e56491a304c6075cca37c64db24468c1fb9519605c83f0ee3e0316a", - "1d0be097470c1ac30619f63c3961152ab27db88ce694b7bba4db185cb31803cc7bab890e931c90766621bfe5d887eb0cd6995d", - "dbd57ea091ff16fc7dbc5435030cc74e", - }, - { - "882068be4552d7ad224fc8fa2af00d6abf76ccf1a7689d75f6f0e9bd82c1215e", - "890a5315992f12674d1c8018", - "8464c03e0280cb1f63c054a24a050e980f60cc7313f09f2092c45d77bbe9ad2a8c1f6cdca2acd8c57c87e887edadb66bcb66c4", - "916721df816b1cad531dee8e4a8e634d43ed87db99609bcc986d16bfac2cff577d536d749a5c3625de53c5351825c228911f0a64be1fc9738a26394efe5332c0762bf59b65d3f1c5aafa9ca2e63eccd59568e6c0269950911a71", - "020e297d907177dba12dde4bfe1b0ff9b6a9d9db0695193e4181449e157137b59b488616ba151b06d889f8498ce373d2396ab9", - "e48537ecb27460b477a6e7c3463dbcb0", - }, - { - "4deadcf0f7e19231f8afcb6fb902b105bef23f2fa9323a51833ff8368ccb4f91", - "6d4d01abd587ed110e512ed2", - "75686e0fdd3fd96f3e6dfafd7a2a907f9f375d93943cb2229bd72b032bf624af4fc72071289386e3dccc45959e47ab42b261a2", - "31a2797318104b2dc9977e599435b041c56bafe5e7d901a58614c2d3fb9d220e3fd3e2828cef69e0604ed73340cb1e21967294dcd874893942442200b2a5b860ee8cf91e1d8eb3d364d0e43e84f6379f434a1ae17c236b216842", - "8feaf9a089599812117a67aed2f4bf3431ff1f6cfd64ea5ff475287abb4ff1ab6b3e4f8a55d1c6b3f08594f403e771ec7e9956", - "5040407621712e053591179e1689698e", - }, - { - "80f1c515f10d79cdbee275213aa9ac0845e2cf42874f7e695081cb103abf1a27", - "399d5f9b218b62ff60c267bd", - "9e95221873f65282dd1ec75494d2500e62a2b6edda5a6f33b3d4dd7516ef25cf4154472e61c6aed2749c5a7d86637052b00f54", - "d2a8fff8ae24a6a5efc75764549a765222df317e323a798cbb8a23d1af8fdf8a3b767f55703b1c0feba3912d4234441978191262f1999c69caa4e9a3e0454c143af0022cd6e44cec14149f9e9964a1f2c5e5a6e3e768bd870060", - "4f996562e23ebbfd4fe26523aee9525b13d6e134e72d21bdc7f195c6403501fd8300b6e597b668f199f93591ba742a91b54454", - "2da1c7325f58575d275abf96c7fa9e51", - }, - { - "c2c6e9be5a480a4a56bfcd0e268faa2276093bd1f7e8ce61e746d003decc761e", - "c1541eb25721d4856df8f928", - "87d22e0318fbbb420b86b0585bd12c14645ff2c742e5639b3a114cc96c5f738edfbe2055116f259e3d6c14cb6d8fca45708289", - "f34e79e5fe437eda03ccfef2f1d6319df51a71c9891863e4b98a7298bd64490460354db5a28b0fadcb815024ea17f3b84810e27954afb1fdf44f0defb930b1793684a781310b9af95b4bcf0a727a2cb0ac529b805811b3721d98", - "b5d6e57c7aa0240e0b6e332d3b3323b525a3d8a553ad041ba599e909188da537c3293d1687fb967882d16a5615b84e95f9dd77", - "1cce334cec4b51216cac0fc620cdadf9", - }, - { - "ea0d6184a71456e27f9ac82dfc7f6694c898f7c0d19d1cb0db4e575dd0094bb6", - "5018fb816d515511bfb939d5", - "083147d0c80f134f7393855c8a95bf6e6abd6f9a7b1fca584e8bfc6b5dc13a8edbfd473e232c041d9be9ee7709dc86b3aa320a", - "8bc6bd0a263212bd7281fd1a45e512fca104f859358eae9293a297c529a0abaffd8a77507b9069040f2b3141a7620691e110a8b593b956d8e3e71694506b89018a03861c1ba6082687adce15a874c73477430cef075eba077a93", - "f0a5c4941782e2f2941dd05acee29b65341773f2e8d51935a3f4fa6f268ff030c880976cf1ee858f6571abd8411b695a2fadf0", - "067d8cc2d38c30697272daa00c7f70cf", - }, - { - "c624feb6cb0d78d634b627134c692f0bf5debf84d8639e22ff27ce2ace49d438", - "a54f4f1204255f6b312222cd", - "ec34f45c1b70fd56518cc5c404cc13330ab7d51c10f4d2cfeb26b097ae76897191ec1b3953b0086e425c7da221d29f65d5ccf3", - "d9099ba6be50dca77e0b9803766ad993132479fbab43b8f4126a7f9ef673ac0caf2de235e1e84ad9fe505c43d1ac779f5072c025c14ea0d930ce39db8c5930baada23b3e4654470e559fcb6eb1c133a77318b87cc7913e12d404", - "713d28a5123d65e82cca6e7fd919e1e5e3bdaab12ae715cf8b7c974eb5f62be8c3b42637074c6b891f6c6033eb4b7e61db9f0b", - "01ededff6e4d1dce4ac790218e208ebe", - }, - { - "1afc68b32596198ae0f3a8612751c2413322e8054ff2ac6bede3d4a1ee20ee62", - "356860e76e794492de6a68f3", - "293041038f9e8edee23d2f18bce87b522380f1fa18b3021830a54ab891da8548095228ed9860176152e27945d66254f0db8590", - "205e44009e0ef963838aff615b35c9f1271d487cf719677d956718bce8ab676cceb636ad381432c5c790c26b07051b661a2fec4e607f9644f84993c8335db21ae36b6008bab2883ad7541809bf5f49272295c1c1f1cf8c678553", - "e06109680d5fefd345665ec9a5b2e7bf3ece3af1b62841a95c453e7753b5a1d6d8a10b3c6c42df1f23832b74e74871821f1c0b", - "953d8d04f70e2af055ac902a455235b2", - }, - { - "f61b723359e798fefecc26b10b168dc331c639079598f1f651166cc58c671ee1", - "b07e9407b592d4fd95509343", - "2724f1ad6b5b409a59c7f2ff649eb24b4a33a03d7a0426e29a6ea3aa91b4f00699fbed75bb7189964303e2e9fe3a7e5f74b7a1", - "1429c6f27828cb94ad5e62451da10fd574660cec2b8f279a19bbb8a167a630d3ac60db04e8faa02204792e49aed4501844a419d3ecdff0d03799866fee81a91187b08a44d5bb617ff3b2cef79cd48750ea20903e1d3627a17730", - "362bad8de943dce8f53edf682d02e1d893c23c5272b13fd35b492f8477083a8c34027db32b6131931f03555ac5fbc6dbb13801", - "a51775606343755691f125019b44fdfc", - }, - { - "6be7f4d18ff0fbdd9b3b3cacaba4629a0c617387079add62f6ce1584b33faad1", - "fda568c9cb13d9c176bcef03", - "4df668e99d5068604a48bcca5baa8245435928558a83d68d7b0b081861224e9bd39ea8f2d55a635949e66c6f6a7ff5cc34dd94", - "11ebeb97dd4a9925c1fbe2b9af77392058d2d971e42db15da39f090d7bc132573c34bf7d92a2d72dc66ee6840c3ff07985b8976ee8d8f36bf47ae330b899fdc60652dd5a23c45f3680f11951f019e0697c8acfcaa95f01b9c7dd", - "488b40ad594e1845ccdd9e9467fc5e1afbbfde34e57d45bfcd30b61cc326d57fe8e3f31a39cdebf00f60bbd2c3cdf69f756eff", - "3bf3fbab9b48486fd08a5552604df639", - }, - { - "83C093B58DE7FFE1C0DA926AC43FB3609AC1C80FEE1B624497EF942E2F79A823", - "7CFDE9F9E33724C68932D612", - "", - "84C5D513D2AAF6E5BBD2727788E523008932D6127CFDE9F9E33724C608000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F0005", - "", - "6EE160E8FAECA4B36C86B234920CA975" - }, - { - "4C973DBC7364621674F8B5B89E5C15511FCED9216490FB1C1A2CAA0FFE0407E5", - "7AE8E2CA4EC500012E58495C", - "08000F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748490008", - "68F2E77696CE7AE8E2CA4EC588E54D002E58495C", - "BA8AE31BC506486D6873E4FCE460E7DC57591FF00611F31C3834FE1C04AD80B66803AFCF5B27E6333FA67C99DA47C2F0CED68D531BD741A943CFF7A6713BD0", - "2611CD7DAA01D61C5C886DC1A8170107" - }, - { - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000", - "", - "d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad", - "", - "f4c58f80a3a1a9cd52755214bdbb6ad0" - }, - { - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000", - "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "", - "cea7403d4d606b6e074ec5d3baf39d18726003ca37a62a74d1a2f58e7506358edd4ab1284d4ae17b41e85924470c36f7", - "0eb41c52b074ecacb213f6de062f7897" - }, - { - "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "", - "cea7403d4d606b6e074ec5d3baf39d18726003ca37a62a74d1a2f58e7506358edd4ab1284d4ae17b41e85924470c36f74741cbe181bb7f30617c1de3ab0c3a1fd0c48f7321a82d376095ace0419167a0bcaf49b0c0cea62de6bc1c66545e1dadabfa77cd6e85da245fb0bdc5e52cfc29ba0ae1ab2837e0f36387b70e93176012", - "ae1753b346fd6971d20cb69a2d6148bc" - }, - { - "0000000000000000000000000000000000000000000000000000000000000000", - "ffffffff0000000000000000", - "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "", - "ee2491af7588cbd4ccccaea18a6118cdf00222178a0b53be8a7a0ef9806991a81c70151316ef97ffea3d83e8905d933c253b56a63f115a2cd4005281bfbdd9a07a1b19d7e07caf3f90a11228785d7bf749449598214a4222c3c476ea5df9d60250b8d66787b568762a5cb70149e2957c1cc5ef636113b1e1752096ec404fe2b6", - "0c23c9176aedc5bacbca56f777324aa4" - }, - { - "0000000000000000000000000000000000000000000000000000000000000000", - "ffffffffffffffffffffffff", - "010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002", - "0102030405060708090a0b0c0d", - "d3b089dead85b8b6874327390d0fff1575051e2a96243ab8ca0927447f58d7053d99918491eeeee470cd929077ccb404ef140354241e12e2e36e3aea89a06e79c064479d7cdd711220dff6059ab913a1ea3ba7bcdb2d5b8746a990ec54cf2aab55c11c9c849ab552fc03cc4425db4e54b13d334e9ef145805c73680d7899b64bab", - "c9ee768b5473f678ac00203affa6a34e" - }, - { - "843ffcf5d2b72694d19ed01d01249412d5cb4a08f134d246513633e84d006bbb", - "dbcca32ebf9b804617c3aa9e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f", - "00000000000000000000000000000000101112131415161718191a1b1c1d1e1f", - "3847bb9e60181f62ba36beae09cc3cfeb5958a16e37c72e87add8be814ee6dbbb98c0727709c84d26a6adf5e7b4e17cdfd84977b328d3eda489a30ff8d1875b530239d4abaf15a5903f516cac0c91b3a", - "39fa8fc1c78405e86326c97d428cd1c6" - } -}; - -static int -tv(void) -{ - unsigned char *ad; - unsigned char *ciphertext; - unsigned char *decrypted; - unsigned char *detached_ciphertext; - unsigned char *expected_ciphertext; - unsigned char *key; - unsigned char *message; - unsigned char *mac; - unsigned char *nonce; - char *hex; - unsigned long long found_ciphertext_len; - unsigned long long found_mac_len; - unsigned long long found_message_len; - size_t ad_len; - size_t ciphertext_len; - size_t detached_ciphertext_len; - size_t i = 0U; - size_t message_len; - - key = (unsigned char *) sodium_malloc(crypto_aead_aes256gcm_KEYBYTES); - nonce = (unsigned char *) sodium_malloc(crypto_aead_aes256gcm_NPUBBYTES); - mac = (unsigned char *) sodium_malloc(crypto_aead_aes256gcm_ABYTES); - - do { - assert(strlen(tests[i].key_hex) == 2 * crypto_aead_aes256gcm_KEYBYTES); - sodium_hex2bin(key, crypto_aead_aes256gcm_KEYBYTES, - tests[i].key_hex, strlen(tests[i].key_hex), - NULL, NULL, NULL); - assert(strlen(tests[i].nonce_hex) == 2 * crypto_aead_aes256gcm_NPUBBYTES); - sodium_hex2bin(nonce, crypto_aead_aes256gcm_NPUBBYTES, - tests[i].nonce_hex, strlen(tests[i].nonce_hex), - NULL, NULL, NULL); - message_len = strlen(tests[i].message_hex) / 2; - message = (unsigned char *) sodium_malloc(message_len); - sodium_hex2bin(message, message_len, - tests[i].message_hex, strlen(tests[i].message_hex), - NULL, NULL, NULL); - ad_len = strlen(tests[i].ad_hex) / 2; - ad = (unsigned char *) sodium_malloc(ad_len); - sodium_hex2bin(ad, ad_len, - tests[i].ad_hex, strlen(tests[i].ad_hex), - NULL, NULL, NULL); - ciphertext_len = message_len + crypto_aead_aes256gcm_ABYTES; - detached_ciphertext_len = message_len; - expected_ciphertext = (unsigned char *) sodium_malloc(ciphertext_len); - assert(strlen(tests[i].ciphertext_hex) == 2 * message_len); - sodium_hex2bin(expected_ciphertext, message_len, - tests[i].ciphertext_hex, strlen(tests[i].ciphertext_hex), - NULL, NULL, NULL); - assert(strlen(tests[i].mac_hex) == 2 * crypto_aead_aes256gcm_ABYTES); - sodium_hex2bin(expected_ciphertext + message_len, crypto_aead_aes256gcm_ABYTES, - tests[i].mac_hex, strlen(tests[i].mac_hex), - NULL, NULL, NULL); - ciphertext = (unsigned char *) sodium_malloc(ciphertext_len); - detached_ciphertext = (unsigned char *) sodium_malloc(detached_ciphertext_len); - - crypto_aead_aes256gcm_encrypt_detached(detached_ciphertext, mac, - &found_mac_len, - message, message_len, - ad, ad_len, NULL, nonce, key); - assert(found_mac_len == crypto_aead_aes256gcm_ABYTES); - if (memcmp(detached_ciphertext, expected_ciphertext, - detached_ciphertext_len) != 0 || - memcmp(mac, expected_ciphertext + message_len, - crypto_aead_aes256gcm_ABYTES) != 0) { - printf("Detached encryption of test vector #%u failed\n", (unsigned int) i); - hex = (char *) sodium_malloc((size_t) ciphertext_len * 2 + 1); - sodium_bin2hex(hex, (size_t) ciphertext_len * 2 + 1, - ciphertext, ciphertext_len); - printf("Computed: [%s]\n", hex); - sodium_free(hex); - } - - crypto_aead_aes256gcm_encrypt(ciphertext, &found_ciphertext_len, - message, message_len, - ad, ad_len, NULL, nonce, key); - - assert((size_t) found_ciphertext_len == ciphertext_len); - if (memcmp(ciphertext, expected_ciphertext, ciphertext_len) != 0) { - printf("Encryption of test vector #%u failed\n", (unsigned int) i); - hex = (char *) sodium_malloc((size_t) found_ciphertext_len * 2 + 1); - sodium_bin2hex(hex, (size_t) found_ciphertext_len * 2 + 1, - ciphertext, ciphertext_len); - printf("Computed: [%s]\n", hex); - sodium_free(hex); - } - - decrypted = (unsigned char *) sodium_malloc(message_len); - found_message_len = 1; - if (crypto_aead_aes256gcm_decrypt(decrypted, &found_message_len, - NULL, ciphertext, - randombytes_uniform((uint32_t) ciphertext_len), - ad, ad_len, nonce, key) != -1) { - printf("Verification of test vector #%u after truncation succeeded\n", - (unsigned int) i); - } - if (found_message_len != 0) { - printf("Message length should have been set to zero after a failure\n"); - } - if (crypto_aead_aes256gcm_decrypt(decrypted, &found_message_len, - NULL, guard_page, - randombytes_uniform(crypto_aead_aes256gcm_ABYTES), - ad, ad_len, nonce, key) != -1) { - printf("Verification of test vector #%u with a truncated tag failed\n", - (unsigned int) i); - } - if (i == 0 && crypto_aead_aes256gcm_decrypt(NULL, NULL, - NULL, ciphertext, ciphertext_len, - ad, ad_len, nonce, key) != 0) { - printf("Verification of test vector #%u's tag failed\n", (unsigned int) i); - } - if (crypto_aead_aes256gcm_decrypt(decrypted, &found_message_len, - NULL, ciphertext, ciphertext_len, - ad, ad_len, nonce, key) != 0) { - printf("Verification of test vector #%u failed\n", (unsigned int) i); - } - assert((size_t) found_message_len == message_len); - if (memcmp(decrypted, message, message_len) != 0) { - printf("Incorrect decryption of test vector #%u\n", (unsigned int) i); - } - memset(decrypted, 0xd0, message_len); - if (crypto_aead_aes256gcm_decrypt_detached(decrypted, - NULL, detached_ciphertext, - detached_ciphertext_len, - mac, ad, ad_len, nonce, key) != 0) { - printf("Detached verification of test vector #%u failed\n", (unsigned int) i); - } - if (memcmp(decrypted, message, message_len) != 0) { - printf("Incorrect decryption of test vector #%u\n", (unsigned int) i); - } - - sodium_free(message); - sodium_free(ad); - sodium_free(expected_ciphertext); - sodium_free(ciphertext); - sodium_free(decrypted); - sodium_free(detached_ciphertext); - } while (++i < (sizeof tests) / (sizeof tests[0])); - - sodium_free(key); - sodium_free(mac); - sodium_free(nonce); - - return 0; -} - -int -main(void) -{ - if (crypto_aead_aes256gcm_is_available()) { - tv(); - } - assert(crypto_aead_aes256gcm_keybytes() == crypto_aead_aes256gcm_KEYBYTES); - assert(crypto_aead_aes256gcm_nsecbytes() == crypto_aead_aes256gcm_NSECBYTES); - assert(crypto_aead_aes256gcm_npubbytes() == crypto_aead_aes256gcm_NPUBBYTES); - assert(crypto_aead_aes256gcm_abytes() == crypto_aead_aes256gcm_ABYTES); - assert(crypto_aead_aes256gcm_statebytes() >= sizeof(crypto_aead_aes256gcm_state)); - assert(crypto_aead_aes256gcm_messagebytes_max() == crypto_aead_aes256gcm_MESSAGEBYTES_MAX); - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm.exp b/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm.exp deleted file mode 100644 index d86bac9..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm.exp +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm2.c b/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm2.c deleted file mode 100644 index 43170b5..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm2.c +++ /dev/null @@ -1,276 +0,0 @@ - -#define TEST_NAME "aead_aes256gcm2" -#include "cmptest.h" - -static struct { - const char *key_hex; - const char nonce_hex[crypto_aead_aes256gcm_NPUBBYTES * 2 + 1]; - const char *ad_hex; - const char *message_hex; - const char *detached_ciphertext_hex; - const char mac_hex[crypto_aead_aes256gcm_ABYTES * 2 + 1]; - const char *outcome; -} tests[] = { - { "92ace3e348cd821092cd921aa3546374299ab46209691bc28b8752d17f123c20", - "00112233445566778899aabb", "00000000ffffffff", "00010203040506070809", - "e27abdd2d2a53d2f136b", "9a4a2579529301bcfb71c78d4060f52c", "valid" }, - { "29d3a44f8723dc640239100c365423a312934ac80239212ac3df3421a2098123", - "00112233445566778899aabb", "aabbccddeeff", "", "", - "2a7d77fa526b8250cb296078926b5020", "valid" }, - { "cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273", - "99e23ec48985bccdeeab60f1", "", "2a", "06", - "633c1e9703ef744ffffb40edf9d14355", "valid" }, - { "51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152", - "4f07afedfdc3b6c2361823d3", "", "be3308f72a2c6aed", "cf332a12fdee800b", - "602e8d7c4799d62c140c9bb834876b09", "valid" }, - { "67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb", - "68ab7fdbf61901dad461d23c", "", "51f8c1f731ea14acdb210a6d973e07", - "43fc101bff4b32bfadd3daf57a590e", "ec04aacb7148a8b8be44cb7eaf4efa69", - "valid" }, - { "59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a", - "2fcb1b38a99e71b84740ad9b", "", "549b365af913f3b081131ccb6b825588", - "f58c16690122d75356907fd96b570fca", "28752c20153092818faba2a334640d6e", - "valid" }, - { "3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011", - "45aaa3e5d16d2d42dc03445d", "", "3ff1514b1c503915918f0c0c31094a6e1f", - "73a6b6f45f6ccc5131e07f2caa1f2e2f56", "2d7379ec1db5952d4e95d30c340b1b1d", - "valid" }, - { "0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7", - "e6b1adf2fd58a8762c65f31b", "", - "10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111", - "0843fff52d934fc7a071ea62c0bd351ce85678cde3ea2c9e", - "7355fde599006715053813ce696237a8", "valid" }, - { "b279f57e19c8f53f2f963f5f2519fdb7c1779be2ca2b3ae8e1128b7d6c627fc4", - "98bc2c7438d5cd7665d76f6e", "c0", - "fcc515b294408c8645c9183e3f4ecee5127846d1", - "eb5500e3825952866d911253f8de860c00831c81", - "ecb660e1fb0541ec41e8d68a64141b3a", "valid" }, - { "cdccfe3f46d782ef47df4e72f0c02d9c7f774def970d23486f11a57f54247f17", - "376187894605a8d45e30de51", "956846a209e087ed", - "e28e0e9f9d22463ac0e42639b530f42102fded75", - "feca44952447015b5df1f456df8ca4bb4eee2ce2", - "082e91924deeb77880e1b1c84f9b8d30", "valid" }, - { "f32364b1d339d82e4f132d8f4a0ec1ff7e746517fa07ef1a7f422f4e25a48194", - "5a86a50a0e8a179c734b996d", "ab2ac7c44c60bdf8228c7884adb20184", - "43891bccb522b1e72a6b53cf31c074e9d6c2df8e", - "43dda832e942e286da314daa99bef5071d9d2c78", - "c3922583476ced575404ddb85dd8cd44", "valid" }, - { "ff0089ee870a4a39f645b0a5da774f7a5911e9696fc9cad646452c2aa8595a12", - "bc2a7757d0ce2d8b1f14ccd9", - "972ab4e06390caae8f99dd6e2187be6c7ff2c08a24be16ef", - "748b28031621d95ee61812b4b4f47d04c6fc2ff3", - "a929ee7e67c7a2f91bbcec6389a3caf43ab49305", - "ebec6774b955e789591c822dab739e12", "valid" }, - { "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "000000000000000000000000", "", "561008fa07a68f5c61285cd013464eaf", - "23293e9b07ca7d1b0cae7cc489a973b3", "ffffffffffffffffffffffffffffffff", - "valid" }, - { "00112233445566778899aabbccddeeff102132435465768798a9bacbdcedfe0f", - "ffffffffffffffffffffffff", "", "c6152244cea1978d3e0bc274cf8c0b3b", - "7cb6fc7c6abc009efe9551a99f36a421", "00000000000000000000000000000000", - "valid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9de8fef6d8ab1bf1bf887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ee8fef6d8ab1bf1bf887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "1ce8fef6d8ab1bf1bf887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce9fef6d8ab1bf1bf887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fe76d8ab1bf1bf887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d9ab1bf1bf887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6daab1bf1bf887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1b71bf887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf1be887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf13f887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf1bfa87232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf1bf887332eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf1bf887232ebb590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf1bf887232e8b590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf1bf8872326ab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf1bf887232eab590dc", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf1bf887232eab590df", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf1bf887232eab5909d", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1bf1bf887232eab5905d", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9de8fef6d8ab1bf1be887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fe76d8ab1b71bf887232eab590dd", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9ce8fef6d8ab1b71bf887232eab5905d", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "631701092754e40e40778dcd154a6f22", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "00000000000000000000000000000000", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "ffffffffffffffffffffffffffffffff", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "1c687e76582b9b713f08f2b26a35105d", - "invalid" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "505152535455565758595a5b", "", "202122232425262728292a2b2c2d2e2f", - "b2061457c0759fc1749f174ee1ccadfa", "9de9fff7d9aa1af0be897333ebb491dc", - "invalid" } -}; - -static int -tv(void) -{ - unsigned char *ad; - unsigned char *decrypted; - unsigned char *detached_ciphertext; - unsigned char *key; - unsigned char *message; - unsigned char *mac; - unsigned char *nonce; - size_t ad_len; - size_t detached_ciphertext_len; - size_t message_len; - unsigned int i; - - key = (unsigned char *) sodium_malloc(crypto_aead_aes256gcm_KEYBYTES); - nonce = (unsigned char *) sodium_malloc(crypto_aead_aes256gcm_NPUBBYTES); - mac = (unsigned char *) sodium_malloc(crypto_aead_aes256gcm_ABYTES); - - for (i = 0U; i < (sizeof tests) / (sizeof tests[0]); i++) { - assert(strlen(tests[i].key_hex) == 2 * crypto_aead_aes256gcm_KEYBYTES); - sodium_hex2bin(key, crypto_aead_aes256gcm_KEYBYTES, tests[i].key_hex, - strlen(tests[i].key_hex), NULL, NULL, NULL); - - assert(strlen(tests[i].nonce_hex) == - 2 * crypto_aead_aes256gcm_NPUBBYTES); - sodium_hex2bin(nonce, crypto_aead_aes256gcm_NPUBBYTES, - tests[i].nonce_hex, strlen(tests[i].nonce_hex), NULL, - NULL, NULL); - - message_len = strlen(tests[i].message_hex) / 2; - message = (unsigned char *) sodium_malloc(message_len); - sodium_hex2bin(message, message_len, tests[i].message_hex, - strlen(tests[i].message_hex), NULL, NULL, NULL); - - ad_len = strlen(tests[i].ad_hex) / 2; - ad = (unsigned char *) sodium_malloc(ad_len); - sodium_hex2bin(ad, ad_len, tests[i].ad_hex, strlen(tests[i].ad_hex), - NULL, NULL, NULL); - - detached_ciphertext_len = message_len; - assert(strlen(tests[i].detached_ciphertext_hex) == 2 * message_len); - assert(strlen(tests[i].mac_hex) == 2 * crypto_aead_aes256gcm_ABYTES); - sodium_hex2bin(mac, crypto_aead_aes256gcm_ABYTES, tests[i].mac_hex, - strlen(tests[i].mac_hex), NULL, NULL, NULL); - - detached_ciphertext = - (unsigned char *) sodium_malloc(detached_ciphertext_len); - sodium_hex2bin(detached_ciphertext, detached_ciphertext_len, - tests[i].detached_ciphertext_hex, - strlen(tests[i].detached_ciphertext_hex), NULL, NULL, - NULL); - - decrypted = (unsigned char *) sodium_malloc(message_len); - if (crypto_aead_aes256gcm_decrypt_detached( - decrypted, NULL, detached_ciphertext, detached_ciphertext_len, - mac, ad, ad_len, nonce, key) == 0) { - if (strcmp(tests[i].outcome, "valid") != 0) { - printf("*** test case %u succeeded, was supposed to be %s\n", i, - tests[i].outcome); - } - if (memcmp(decrypted, message, message_len) != 0) { - printf("Incorrect decryption of test vector #%u\n", - (unsigned int) i); - } - } else { - if (strcmp(tests[i].outcome, "invalid") != 0) { - printf("*** test case %u failed, was supposed to be %s\n", i, - tests[i].outcome); - } - } - - sodium_free(message); - sodium_free(ad); - sodium_free(decrypted); - sodium_free(detached_ciphertext); - } - - sodium_free(key); - sodium_free(mac); - sodium_free(nonce); - - return 0; -} - -int -main(void) -{ - if (crypto_aead_aes256gcm_is_available()) { - tv(); - } - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm2.exp b/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm2.exp deleted file mode 100644 index d86bac9..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/aead_aes256gcm2.exp +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly1305.c b/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly1305.c deleted file mode 100644 index 0a01afe..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly1305.c +++ /dev/null @@ -1,372 +0,0 @@ - -#define TEST_NAME "aead_chacha20poly1305" -#include "cmptest.h" - -static int -tv(void) -{ -#undef MLEN -#define MLEN 10U -#undef ADLEN -#define ADLEN 10U -#undef CLEN -#define CLEN (MLEN + crypto_aead_chacha20poly1305_ABYTES) - static const unsigned char firstkey[crypto_aead_chacha20poly1305_KEYBYTES] - = { 0x42, 0x90, 0xbc, 0xb1, 0x54, 0x17, 0x35, 0x31, 0xf3, 0x14, 0xaf, - 0x57, 0xf3, 0xbe, 0x3b, 0x50, 0x06, 0xda, 0x37, 0x1e, 0xce, 0x27, - 0x2a, 0xfa, 0x1b, 0x5d, 0xbd, 0xd1, 0x10, 0x0a, 0x10, 0x07 }; - static const unsigned char m[MLEN] - = { 0x86, 0xd0, 0x99, 0x74, 0x84, 0x0b, 0xde, 0xd2, 0xa5, 0xca }; - static const unsigned char nonce[crypto_aead_chacha20poly1305_NPUBBYTES] - = { 0xcd, 0x7c, 0xf6, 0x7b, 0xe3, 0x9c, 0x79, 0x4a }; - static const unsigned char ad[ADLEN] - = { 0x87, 0xe2, 0x29, 0xd4, 0x50, 0x08, 0x45, 0xa0, 0x79, 0xc0 }; - unsigned char *c = (unsigned char *) sodium_malloc(CLEN); - unsigned char *detached_c = (unsigned char *) sodium_malloc(MLEN); - unsigned char *mac = (unsigned char *) sodium_malloc(crypto_aead_chacha20poly1305_ABYTES); - unsigned char *m2 = (unsigned char *) sodium_malloc(MLEN); - unsigned long long found_clen; - unsigned long long found_maclen; - unsigned long long m2len; - size_t i; - - crypto_aead_chacha20poly1305_encrypt(c, &found_clen, m, MLEN, - ad, ADLEN, - NULL, nonce, firstkey); - if (found_clen != CLEN) { - printf("found_clen is not properly set\n"); - } - for (i = 0U; i < CLEN; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - printf("\n"); - crypto_aead_chacha20poly1305_encrypt_detached(detached_c, - mac, &found_maclen, - m, MLEN, ad, ADLEN, - NULL, nonce, firstkey); - if (found_maclen != crypto_aead_chacha20poly1305_abytes()) { - printf("found_maclen is not properly set\n"); - } - if (memcmp(detached_c, c, MLEN) != 0) { - printf("detached ciphertext is bogus\n"); - } - - if (crypto_aead_chacha20poly1305_decrypt(m2, &m2len, NULL, c, CLEN, - ad, ADLEN, - nonce, firstkey) != 0) { - printf("crypto_aead_chacha20poly1305_decrypt() failed\n"); - } - if (m2len != MLEN) { - printf("m2len is not properly set\n"); - } - if (memcmp(m, m2, MLEN) != 0) { - printf("m != m2\n"); - } - memset(m2, 0, m2len); - assert(crypto_aead_chacha20poly1305_decrypt_detached(NULL, NULL, - c, MLEN, mac, - ad, ADLEN, - nonce, firstkey) == 0); - if (crypto_aead_chacha20poly1305_decrypt_detached(m2, NULL, - c, MLEN, mac, - ad, ADLEN, - nonce, firstkey) != 0) { - printf("crypto_aead_chacha20poly1305_decrypt_detached() failed\n"); - } - if (memcmp(m, m2, MLEN) != 0) { - printf("detached m != m2\n"); - } - - for (i = 0U; i < CLEN; i++) { - c[i] ^= (i + 1U); - if (crypto_aead_chacha20poly1305_decrypt(m2, NULL, NULL, c, CLEN, - ad, ADLEN, nonce, firstkey) - == 0 || memcmp(m, m2, MLEN) == 0) { - printf("message can be forged\n"); - } - c[i] ^= (i + 1U); - } - - crypto_aead_chacha20poly1305_encrypt(c, &found_clen, m, MLEN, - NULL, 0U, NULL, nonce, firstkey); - if (found_clen != CLEN) { - printf("found_clen is not properly set (adlen=0)\n"); - } - for (i = 0U; i < CLEN; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - printf("\n"); - - if (crypto_aead_chacha20poly1305_decrypt(m2, &m2len, NULL, c, CLEN, - NULL, 0U, nonce, firstkey) != 0) { - printf("crypto_aead_chacha20poly1305_decrypt() failed (adlen=0)\n"); - } - if (m2len != MLEN) { - printf("m2len is not properly set (adlen=0)\n"); - } - if (memcmp(m, m2, MLEN) != 0) { - printf("m != m2 (adlen=0)\n"); - } - m2len = 1; - if (crypto_aead_chacha20poly1305_decrypt( - m2, &m2len, NULL, guard_page, - randombytes_uniform(crypto_aead_chacha20poly1305_ABYTES), - NULL, 0U, nonce, firstkey) != -1) { - printf("crypto_aead_chacha20poly1305_decrypt() worked with a short " - "ciphertext\n"); - } - if (m2len != 0) { - printf("Message length should have been set to zero after a failure\n"); - } - m2len = 1; - if (crypto_aead_chacha20poly1305_decrypt(m2, &m2len, NULL, c, 0U, NULL, 0U, - nonce, firstkey) != -1) { - printf("crypto_aead_chacha20poly1305_decrypt() worked with an empty " - "ciphertext\n"); - } - if (m2len != 0) { - printf("Message length should have been set to zero after a failure\n"); - } - - memcpy(c, m, MLEN); - crypto_aead_chacha20poly1305_encrypt(c, &found_clen, c, MLEN, - NULL, 0U, NULL, nonce, firstkey); - if (found_clen != CLEN) { - printf("found_clen is not properly set (adlen=0)\n"); - } - for (i = 0U; i < CLEN; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - printf("\n"); - - if (crypto_aead_chacha20poly1305_decrypt(c, &m2len, NULL, c, CLEN, - NULL, 0U, nonce, firstkey) != 0) { - printf("crypto_aead_chacha20poly1305_decrypt() failed (adlen=0)\n"); - } - if (m2len != MLEN) { - printf("m2len is not properly set (adlen=0)\n"); - } - if (memcmp(m, c, MLEN) != 0) { - printf("m != c (adlen=0)\n"); - } - - sodium_free(c); - sodium_free(detached_c); - sodium_free(mac); - sodium_free(m2); - - assert(crypto_aead_chacha20poly1305_keybytes() > 0U); - assert(crypto_aead_chacha20poly1305_npubbytes() > 0U); - assert(crypto_aead_chacha20poly1305_nsecbytes() == 0U); - assert(crypto_aead_chacha20poly1305_messagebytes_max() > 0U); - assert(crypto_aead_chacha20poly1305_messagebytes_max() == crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX); - assert(crypto_aead_chacha20poly1305_keybytes() == crypto_aead_chacha20poly1305_KEYBYTES); - assert(crypto_aead_chacha20poly1305_nsecbytes() == crypto_aead_chacha20poly1305_NSECBYTES); - assert(crypto_aead_chacha20poly1305_npubbytes() == crypto_aead_chacha20poly1305_NPUBBYTES); - assert(crypto_aead_chacha20poly1305_abytes() == crypto_aead_chacha20poly1305_ABYTES); - - return 0; -} - -static int -tv_ietf(void) -{ -#undef MLEN -#define MLEN 114U -#undef ADLEN -#define ADLEN 12U -#undef CLEN -#define CLEN (MLEN + crypto_aead_chacha20poly1305_ietf_ABYTES) - static const unsigned char firstkey[crypto_aead_chacha20poly1305_ietf_KEYBYTES] - = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f - }; -#undef MESSAGE -#define MESSAGE "Ladies and Gentlemen of the class of '99: If I could offer you " \ -"only one tip for the future, sunscreen would be it." - unsigned char *m = (unsigned char *) sodium_malloc(MLEN); - static const unsigned char nonce[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] - = { 0x07, 0x00, 0x00, 0x00, - 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47 }; - static const unsigned char ad[ADLEN] - = { 0x50, 0x51, 0x52, 0x53, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7 }; - unsigned char *c = (unsigned char *) sodium_malloc(CLEN); - unsigned char *detached_c = (unsigned char *) sodium_malloc(MLEN); - unsigned char *mac = (unsigned char *) sodium_malloc(crypto_aead_chacha20poly1305_ietf_ABYTES); - unsigned char *m2 = (unsigned char *) sodium_malloc(MLEN); - unsigned long long found_clen; - unsigned long long found_maclen; - unsigned long long m2len; - size_t i; - - assert(sizeof MESSAGE - 1U == MLEN); - memcpy(m, MESSAGE, MLEN); - crypto_aead_chacha20poly1305_ietf_encrypt(c, &found_clen, m, MLEN, - ad, ADLEN, - NULL, nonce, firstkey); - if (found_clen != MLEN + crypto_aead_chacha20poly1305_ietf_abytes()) { - printf("found_clen is not properly set\n"); - } - for (i = 0U; i < CLEN; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - printf("\n"); - crypto_aead_chacha20poly1305_ietf_encrypt_detached(detached_c, - mac, &found_maclen, - m, MLEN, - ad, ADLEN, - NULL, nonce, firstkey); - if (found_maclen != crypto_aead_chacha20poly1305_ietf_abytes()) { - printf("found_maclen is not properly set\n"); - } - if (memcmp(detached_c, c, MLEN) != 0) { - printf("detached ciphertext is bogus\n"); - } - - if (crypto_aead_chacha20poly1305_ietf_decrypt(m2, &m2len, NULL, c, CLEN, ad, - ADLEN, nonce, firstkey) != 0) { - printf("crypto_aead_chacha20poly1305_ietf_decrypt() failed\n"); - } - if (m2len != MLEN) { - printf("m2len is not properly set\n"); - } - if (memcmp(m, m2, MLEN) != 0) { - printf("m != m2\n"); - } - memset(m2, 0, m2len); - assert(crypto_aead_chacha20poly1305_ietf_decrypt_detached(NULL, NULL, - c, MLEN, mac, - ad, ADLEN, - nonce, firstkey) == 0); - if (crypto_aead_chacha20poly1305_ietf_decrypt_detached(m2, NULL, - c, MLEN, mac, - ad, ADLEN, - nonce, firstkey) != 0) { - printf("crypto_aead_chacha20poly1305_ietf_decrypt_detached() failed\n"); - } - if (memcmp(m, m2, MLEN) != 0) { - printf("detached m != m2\n"); - } - - for (i = 0U; i < CLEN; i++) { - c[i] ^= (i + 1U); - if (crypto_aead_chacha20poly1305_ietf_decrypt(m2, NULL, NULL, c, CLEN, - ad, ADLEN, nonce, firstkey) - == 0 || memcmp(m, m2, MLEN) == 0) { - printf("message can be forged\n"); - } - c[i] ^= (i + 1U); - } - crypto_aead_chacha20poly1305_ietf_encrypt(c, &found_clen, m, MLEN, - NULL, 0U, NULL, nonce, firstkey); - if (found_clen != CLEN) { - printf("clen is not properly set (adlen=0)\n"); - } - for (i = 0U; i < CLEN; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - printf("\n"); - if (crypto_aead_chacha20poly1305_ietf_decrypt(m2, &m2len, NULL, c, CLEN, - NULL, 0U, nonce, firstkey) != 0) { - printf("crypto_aead_chacha20poly1305_ietf_decrypt() failed (adlen=0)\n"); - } - if (m2len != MLEN) { - printf("m2len is not properly set (adlen=0)\n"); - } - if (memcmp(m, m2, MLEN) != 0) { - printf("m != m2 (adlen=0)\n"); - } - m2len = 1; - if (crypto_aead_chacha20poly1305_ietf_decrypt( - m2, &m2len, NULL, guard_page, - randombytes_uniform(crypto_aead_chacha20poly1305_ietf_ABYTES), - NULL, 0U, nonce, firstkey) != -1) { - printf("crypto_aead_chacha20poly1305_ietf_decrypt() worked with a short " - "ciphertext\n"); - } - if (m2len != 0) { - printf("Message length should have been set to zero after a failure\n"); - } - m2len = 1; - if (crypto_aead_chacha20poly1305_ietf_decrypt(m2, &m2len, NULL, c, 0U, NULL, 0U, - nonce, firstkey) != -1) { - printf("crypto_aead_chacha20poly1305_ietf_decrypt() worked with an empty " - "ciphertext\n"); - } - if (m2len != 0) { - printf("Message length should have been set to zero after a failure\n"); - } - - memcpy(c, m, MLEN); - crypto_aead_chacha20poly1305_ietf_encrypt(c, &found_clen, c, MLEN, - NULL, 0U, NULL, nonce, firstkey); - if (found_clen != CLEN) { - printf("clen is not properly set (adlen=0)\n"); - } - for (i = 0U; i < CLEN; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - printf("\n"); - - if (crypto_aead_chacha20poly1305_ietf_decrypt(c, &m2len, NULL, c, CLEN, - NULL, 0U, nonce, firstkey) != 0) { - printf("crypto_aead_chacha20poly1305_ietf_decrypt() failed (adlen=0)\n"); - } - if (m2len != MLEN) { - printf("m2len is not properly set (adlen=0)\n"); - } - if (memcmp(m, c, MLEN) != 0) { - printf("m != c (adlen=0)\n"); - } - - sodium_free(c); - sodium_free(detached_c); - sodium_free(mac); - sodium_free(m2); - sodium_free(m); - - assert(crypto_aead_chacha20poly1305_ietf_keybytes() > 0U); - assert(crypto_aead_chacha20poly1305_ietf_keybytes() == crypto_aead_chacha20poly1305_keybytes()); - assert(crypto_aead_chacha20poly1305_ietf_npubbytes() > 0U); - assert(crypto_aead_chacha20poly1305_ietf_npubbytes() > crypto_aead_chacha20poly1305_npubbytes()); - assert(crypto_aead_chacha20poly1305_ietf_nsecbytes() == 0U); - assert(crypto_aead_chacha20poly1305_ietf_nsecbytes() == crypto_aead_chacha20poly1305_nsecbytes()); - assert(crypto_aead_chacha20poly1305_ietf_messagebytes_max() == crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX); - assert(crypto_aead_chacha20poly1305_IETF_KEYBYTES == crypto_aead_chacha20poly1305_ietf_KEYBYTES); - assert(crypto_aead_chacha20poly1305_IETF_NSECBYTES == crypto_aead_chacha20poly1305_ietf_NSECBYTES); - assert(crypto_aead_chacha20poly1305_IETF_NPUBBYTES == crypto_aead_chacha20poly1305_ietf_NPUBBYTES); - assert(crypto_aead_chacha20poly1305_IETF_ABYTES == crypto_aead_chacha20poly1305_ietf_ABYTES); - assert(crypto_aead_chacha20poly1305_IETF_MESSAGEBYTES_MAX == crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX); - - return 0; -} - -int -main(void) -{ - tv(); - tv_ietf(); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly1305.exp b/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly1305.exp deleted file mode 100644 index 1c6131f..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly1305.exp +++ /dev/null @@ -1,63 +0,0 @@ -,0xe3,0xe4,0x46,0xf7,0xed,0xe9,0xa1,0x9b -,0x62,0xa4,0x67,0x7d,0xab,0xf4,0xe3,0xd2 -,0x4b,0x87,0x6b,0xb2,0x84,0x75,0x38,0x96 -,0xe1,0xd6 -,0xe3,0xe4,0x46,0xf7,0xed,0xe9,0xa1,0x9b -,0x62,0xa4,0x69,0xe7,0x78,0x9b,0xcd,0x95 -,0x4e,0x65,0x8e,0xd3,0x84,0x23,0xe2,0x31 -,0x61,0xdc -,0xe3,0xe4,0x46,0xf7,0xed,0xe9,0xa1,0x9b -,0x62,0xa4,0x69,0xe7,0x78,0x9b,0xcd,0x95 -,0x4e,0x65,0x8e,0xd3,0x84,0x23,0xe2,0x31 -,0x61,0xdc -,0xd3,0x1a,0x8d,0x34,0x64,0x8e,0x60,0xdb -,0x7b,0x86,0xaf,0xbc,0x53,0xef,0x7e,0xc2 -,0xa4,0xad,0xed,0x51,0x29,0x6e,0x08,0xfe -,0xa9,0xe2,0xb5,0xa7,0x36,0xee,0x62,0xd6 -,0x3d,0xbe,0xa4,0x5e,0x8c,0xa9,0x67,0x12 -,0x82,0xfa,0xfb,0x69,0xda,0x92,0x72,0x8b -,0x1a,0x71,0xde,0x0a,0x9e,0x06,0x0b,0x29 -,0x05,0xd6,0xa5,0xb6,0x7e,0xcd,0x3b,0x36 -,0x92,0xdd,0xbd,0x7f,0x2d,0x77,0x8b,0x8c -,0x98,0x03,0xae,0xe3,0x28,0x09,0x1b,0x58 -,0xfa,0xb3,0x24,0xe4,0xfa,0xd6,0x75,0x94 -,0x55,0x85,0x80,0x8b,0x48,0x31,0xd7,0xbc -,0x3f,0xf4,0xde,0xf0,0x8e,0x4b,0x7a,0x9d -,0xe5,0x76,0xd2,0x65,0x86,0xce,0xc6,0x4b -,0x61,0x16,0x1a,0xe1,0x0b,0x59,0x4f,0x09 -,0xe2,0x6a,0x7e,0x90,0x2e,0xcb,0xd0,0x60 -,0x06,0x91 -,0xd3,0x1a,0x8d,0x34,0x64,0x8e,0x60,0xdb -,0x7b,0x86,0xaf,0xbc,0x53,0xef,0x7e,0xc2 -,0xa4,0xad,0xed,0x51,0x29,0x6e,0x08,0xfe -,0xa9,0xe2,0xb5,0xa7,0x36,0xee,0x62,0xd6 -,0x3d,0xbe,0xa4,0x5e,0x8c,0xa9,0x67,0x12 -,0x82,0xfa,0xfb,0x69,0xda,0x92,0x72,0x8b -,0x1a,0x71,0xde,0x0a,0x9e,0x06,0x0b,0x29 -,0x05,0xd6,0xa5,0xb6,0x7e,0xcd,0x3b,0x36 -,0x92,0xdd,0xbd,0x7f,0x2d,0x77,0x8b,0x8c -,0x98,0x03,0xae,0xe3,0x28,0x09,0x1b,0x58 -,0xfa,0xb3,0x24,0xe4,0xfa,0xd6,0x75,0x94 -,0x55,0x85,0x80,0x8b,0x48,0x31,0xd7,0xbc -,0x3f,0xf4,0xde,0xf0,0x8e,0x4b,0x7a,0x9d -,0xe5,0x76,0xd2,0x65,0x86,0xce,0xc6,0x4b -,0x61,0x16,0x6a,0x23,0xa4,0x68,0x1f,0xd5 -,0x94,0x56,0xae,0xa1,0xd2,0x9f,0x82,0x47 -,0x72,0x16 -,0xd3,0x1a,0x8d,0x34,0x64,0x8e,0x60,0xdb -,0x7b,0x86,0xaf,0xbc,0x53,0xef,0x7e,0xc2 -,0xa4,0xad,0xed,0x51,0x29,0x6e,0x08,0xfe -,0xa9,0xe2,0xb5,0xa7,0x36,0xee,0x62,0xd6 -,0x3d,0xbe,0xa4,0x5e,0x8c,0xa9,0x67,0x12 -,0x82,0xfa,0xfb,0x69,0xda,0x92,0x72,0x8b -,0x1a,0x71,0xde,0x0a,0x9e,0x06,0x0b,0x29 -,0x05,0xd6,0xa5,0xb6,0x7e,0xcd,0x3b,0x36 -,0x92,0xdd,0xbd,0x7f,0x2d,0x77,0x8b,0x8c -,0x98,0x03,0xae,0xe3,0x28,0x09,0x1b,0x58 -,0xfa,0xb3,0x24,0xe4,0xfa,0xd6,0x75,0x94 -,0x55,0x85,0x80,0x8b,0x48,0x31,0xd7,0xbc -,0x3f,0xf4,0xde,0xf0,0x8e,0x4b,0x7a,0x9d -,0xe5,0x76,0xd2,0x65,0x86,0xce,0xc6,0x4b -,0x61,0x16,0x6a,0x23,0xa4,0x68,0x1f,0xd5 -,0x94,0x56,0xae,0xa1,0xd2,0x9f,0x82,0x47 -,0x72,0x16 diff --git a/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly13052.c b/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly13052.c deleted file mode 100644 index 8c59eca..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly13052.c +++ /dev/null @@ -1,1046 +0,0 @@ - -#define TEST_NAME "aead_chacha20poly13052" -#include "cmptest.h" - -static struct { - const char *key_hex; - const char nonce_hex[crypto_aead_chacha20poly1305_ietf_NPUBBYTES * 2 + 1]; - const char *ad_hex; - const char *message_hex; - const char *detached_ciphertext_hex; - const char mac_hex[crypto_aead_chacha20poly1305_ietf_ABYTES * 2 + 1]; - const char *outcome; -} tests[] = { - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "070000004041424344454647", "50515253c0c1c2c3c4c5c6c7", - "4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66" - "202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e6520" - "74697020666f7220746865206675747572652c2073756e73637265656e20776f756c6420" - "62652069742e", - "d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e" - "8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c" - "9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d265" - "86cec64b6116", - "1ae10b594f09e26a7e902ecbd0600691", "valid" }, - { "80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0", - "4da5bf8dfd5852c1ea12379d", "", "", "", - "76acb342cf3166a5b63c0c0ea1383c8d", "valid" }, - { "7a4cd759172e02eb204db2c3f5c746227df584fc1345196391dbb9577a250742", - "a92ef0ac991dd516a3c6f689", "bd506764f2d2c410", "", "", - "906fa6284b52f87b7359cbaa7563c709", "valid" }, - { "cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273", - "99e23ec48985bccdeeab60f1", "", "2a", "3a", - "cac27dec0968801e9f6eded69d807522", "valid" }, - { "46f0254965f769d52bdb4a70b443199f8ef207520d1220c55e4b70f0fda620ee", - "ab0dca716ee051d2782f4403", "91ca6c592cbcca53", "51", "c4", - "168310ca45b1f7c66cad4e99e43f72b9", "valid" }, - { "2f7f7e4f592bb389194989743507bf3ee9cbde1786b6695fe6c025fd9ba4c100", - "461af122e9f2e0347e03f2db", "", "5c60", "4d13", - "91e8b61efb39c122195453077b22e5e2", "valid" }, - { "c8833dce5ea9f248aa2030eacfe72bffe69a620caf793344e5718fe0d7ab1a58", - "61546ba5f1720590b6040ac6", "88364fc8060518bf", "ddf2", "b60d", - "ead0fd4697ec2e5558237719d02437a2", "valid" }, - { "55568158d3a6483f1f7021eab69b703f614251cadc1af5d34a374fdbfc5adac7", - "3c4e654d663fa4596dc55bb7", "", "ab85e9c1571731", "5dfe3440dbb3c3", - "ed7a434e2602d394281e0afa9fb7aa42", "valid" }, - { "e3c09e7fab1aefb516da6a33022a1dd4eb272c80d540c5da52a730f34d840d7f", - "58389375c69ee398de948396", "84e46be8c0919053", "4ee5cda20d4290", - "4bd47212941ce3", "185f1408ee7fbf18f5abad6e2253a1ba", "valid" }, - { "51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152", - "4f07afedfdc3b6c2361823d3", "", "be3308f72a2c6aed", "8e9439a56eeec817", - "fbe8a6ed8fabb1937539dd6c00e90021", "valid" }, - { "1131c1418577a054de7a4ac551950f1a053f9ae46e5b75fe4abd5608d7cddadd", - "b4ea666ee119563366484a78", "66c0ae70076cb14d", "a4c9c2801b71f7df", - "b9b910433af052b0", "4530f51aeee024e0a445a6328fa67a18", "valid" }, - { "99b62bd5afbe3fb015bde93f0abf483957a1c3eb3ca59cb50b39f7f8a9cc51be", - "9a59fce26df0005e07538656", "", "42baae5978feaf5c368d14e0", - "ff7dc203b26c467a6b50db33", "578c0f2758c2e14e36d4fc106dcb29b4", "valid" }, - { "85f35b6282cff440bc1020c8136ff27031110fa63ec16f1e825118b006b91257", - "58dbd4ad2c4ad35dd906e9ce", "a506e1a5c69093f9", - "fdc85b94a4b2a6b759b1a0da", "9f8816de0994e938d9e53f95", - "d086fc6c9d8fa915fd8423a7cf05072f", "valid" }, - { "67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb", - "68ab7fdbf61901dad461d23c", "", "51f8c1f731ea14acdb210a6d973e07", - "0b29638e1fbdd6df53970be2210042", "2a9134087d67a46e79178d0a93f5e1d2", - "valid" }, - { "e6f1118d41e4b43fb58221b7ed79673834e0d8ac5c4fa60bbc8bc4893a58894d", - "d95b3243afaef714c5035b6a", "6453a53384632212", - "97469da667d6110f9cbda1d1a20673", "32db66c4a3819d81557455e5980fed", - "feae30dec94e6ad3a9eea06a0d703917", "valid" }, - { "59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a", - "2fcb1b38a99e71b84740ad9b", "", "549b365af913f3b081131ccb6b825588", - "e9110e9f56ab3ca483500ceabab67a13", "836ccabf15a6a22a51c1071cfa68fa0c", - "valid" }, - { "b907a45075513fe8a8019edee3f2591487b2a030b03c6e1d771c862571d2ea1e", - "118a6964c2d3e380071f5266", "034585621af8d7ff", - "55a465644f5b650928cbee7c063214d6", "e4b113cb775945f3d3a8ae9ec141c00c", - "7c43f16ce096d0dc27c95849dc383b7d", "valid" }, - { "3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011", - "45aaa3e5d16d2d42dc03445d", "", "3ff1514b1c503915918f0c0c31094a6e1f", - "02cc3acb5ee1fcdd12a03bb857976474d3", "d83b7463a2c3800fe958c28eaa290813", - "valid" }, - { "f60c6a1b625725f76c7037b48fe3577fa7f7b87b1bd5a982176d182306ffb870", - "f0384fb876121410633d993d", "9aaf299eeea78f79", - "63858ca3e2ce69887b578a3c167b421c9c", - "35766488d2bc7c2b8d17cbbb9abfad9e6d", "1f391e657b2738dda08448cba2811ceb", - "valid" }, - { "0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7", - "e6b1adf2fd58a8762c65f31b", "", - "10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111", - "42f26c56cb4be21d9d8d0c80fc99dde00d75f38074bfe764", - "54aa7e13d48fff7d7557039457040a3a", "valid" }, - { "c5bc09565646e7edda954f1f739223dada20b95c44ab033d0fae4b0283d18be3", - "6b282ebecc541bcd7834ed55", "3e8bc5ade182ff08", - "9222f9018e54fd6de1200806a9ee8e4cc904d29f25cba193", - "123032437b4bfd6920e8f7e7e0087ae4889ebe7a0ad0e900", - "3cf68f179550da63d3b96c2d55411865", "valid" }, - { "2eb51c469aa8eb9e6c54a8349bae50a20f0e382711bba1152c424f03b6671d71", - "04a9be03508a5f31371a6fd2", "", - "b053999286a2824f42cc8c203ab24e2c97a685adcc2ad32662558e55a5c729", - "45c7d6b53acad4abb68876a6e96a48fb59524d2c92c9d8a189c9fd2db91746", - "566d3ca10e311b695f3eae1551652493", "valid" }, - { "7f5b74c07ed1b40fd14358fe2ff2a740c116c7706510e6a437f19ea49911cec4", - "470a339ecb3219b8b81a1f8b", "374618a06ea98a48", - "f45206abc25552b2abc9ab7fa243035fedaaddc3b2293956f1ea6e7156e7eb", - "46a80c4187024720084627580080dde5a3f4a11093a7076ed6f3d326bc7b70", - "534d4aa2835a52e72d14df0e4f47f25f", "valid" }, - { "e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3", - "72cfd90ef3026ca22b7e6e6a", "", - "b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678", - "ea29afa49d36e8760f5fe19723b9811ed5d519934a440f5081ac430b953b0e21", - "222541af46b86533c6b68d2ff108a7ea", "valid" }, - { "27d860631b0485a410702fea61bc873f3442260caded4abde25b786a2d97f145", - "262880d475f3dac5340dd1b8", "2333e5ce0f93b059", - "6b2604996cd30c14a13a5257ed6cffd3bc5e29d6b97eb1799eb335e281ea451e", - "6dad637897544d8bf6be9507ed4d1bb2e954bc427e5de729daf50762846ff2f4", - "7b997d93c982189d7095dc794c746232", "valid" }, - { "cf0d40a4644e5f51815165d5301b22631f4544c49a1878e3a0a5e8e1aae0f264", - "e74a515e7e2102b90bef55d2", "", - "973d0c753826bae466cf9abb3493152e9de7819e2bd0c71171346b4d2cebf8041aa3cedc" - "0dfd7b467e26228bc86c9a", - "fba78ae4f9d808a62e3da40be2cb7700c3613d9eb2c529c652e76a432c658d27095f0eb8" - "f940c324981ea935e507f9", - "8f046956db3a512908bd7afc8f2ab0a9", "valid" }, - { "6cbfd71c645d184cf5d23c402bdb0d25ec54898c8a0273d42eb5be109fdcb2ac", - "d4d807341683825b31cd4d95", "b3e4064683b02d84", - "a98995504df16f748bfb7785ff91eeb3b660ea9ed3450c3d5e7b0e79ef653659a9978d75" - "542ef91c456762215640b9", - "a1ffed80761829ecce242e0e88b138049016bca018da2b6e19986b3e318cae8d806198fb" - "4c527cc39350ebddeac573", - "c4cbf0befda0b70242c640d7cd02d7a3", "valid" }, - { "5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701", - "d61040a313ed492823cc065b", "", - "d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd" - "4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82", - "9a4ef22b181677b5755c08f747c0f8d8e8d4c18a9cc2405c12bb51bb1872c8e8b877678b" - "ec442cfcbb0ff464a64b74332cf072898c7e0eddf6232ea6e27efe50", - "9ff3427a0f32fa566d9ca0a78aefc013", "valid" }, - { "97d635c4f47574d9998a90875da1d3a284b755b2d39297a5725235190e10a97e", - "d31c21aba175b70de4ebb19c", "7193f623663321a2", - "94ee166d6d6ecf8832437136b4ae805d428864359586d9193a25016293edba443c58e07e" - "7b7195ec5bd84582a9d56c8d4a108c7d7ce34e6c6f8ea1bec0567317", - "5fbbdecc34be201614f636031eeb42f1cace3c79a12cffd871ee8e73820c829749f1abb4" - "294367849fb6c2aa56bda8a3078f723d7c1c852024b017b58973fb1e", - "09263da7b4cb921452f97dca40f580ec", "valid" }, - { "fe6e55bdaed1f7284ca5fc0f8c5f2b8df56dc0f49e8ca66a41995e783351f901", - "17c86a8abbb7e003acde2799", "", - "b429eb80fb8fe8baeda0c85b9c333458e7c2992e558475069d12d45c2221756412158803" - "2297eff56783742a5fc22d7410ffb29d66098661d76f126c3c27689e43b37267cac5a3a6" - "d3ab49e391da29cd3054a5692e2807e4c3ea46c8761d50f592", - "d0102f6c258bf49742cec34cf2d0fedf23d105fb4c84cf98515e1bc9a64f8ad5be8f0721" - "bde50645d00083c3a263a31053b760245f52ae2866a5ec83b19f61be1d30d5c5d9fecc4c" - "bbe08fd385813a2aa39a00ff9c10f7f23702add1e4b2ffa31c", - "41865fc71de12b19612127ce49993bb0", "valid" }, - { "aabc063474e65c4c3e9bdc480dea97b45110c8618846ff6b15bdd2a4a5682c4e", - "46362f45d6379e63e5229460", "a11c40b603767330", - "ceb534ce50dc23ff638ace3ef63ab2cc2973eeada80785fc165d06c2f5100ff5e8ab2882" - "c475afcd05ccd49f2e7d8f55ef3a72e3dc51d6852b8e6b9e7aece57be6556b0b6d9413e3" - "3fc5fc24a9a205ad59574bb39d944a92dc47970d84a6ad3176", - "7545391b51de01d5c53dfaca777909063e58edee4bb1227e7110ac4d2620c2aec2f848f5" - "6deeb037a8dced75afa8a6c890e2dee42f950bb33d9e2424d08a505d899563973ed38870" - "f3de6ee2adc7fe072c366c14e2cf7ca62fb3d36bee11685461", - "b70d44ef8c66c5c7bbf10dcadd7facf6", "valid" }, - { "7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c", - "87345f1055fd9e2102d50656", "02", "e5ccaa441bc814688f8f6e8f28b500b2", - "7e72f5a185af16a611921b438f749f0b", "1242c670732334029adfe1c5001651e4", - "valid" }, - { "6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc", - "87a3163ec0598ad95b3aa713", "b648", "02cde168fba3f544bbd0332f7adeada8", - "85f29a719557cdd14d1f8fffab6d9e60", "732ca32becd515a1ed353f542e999858", - "valid" }, - { "8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f", - "6f573aa86baa492ba46596df", "bd4cd02fc7502bbdbdf6c9a3cbe8f0", - "16ddd23ff53f3d23c06334487040eb47", "c1b295936d56fadac03e5f742bff73a1", - "39c457dbab66382babb3b55800cda5b8", "valid" }, - { "cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016", - "1a6518f02ede1da6809266d9", "89cce9fb47441d07e0245a66fe8b778b", - "623b7850c321e2cf0c6fbcc8dfd1aff2", "c84c9bb7c61c1bcb17772a1c500c5095", - "dbadf7a5138ca03459a2cd65831e092f", "valid" }, - { "a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657", - "564dee49ab00d240fc1068c3", "d19f2d989095f7ab03a5fde84416e00c0e", - "87b3a4d7b26d8d3203a0de1d64ef82e3", "94bc80621ed1e71b1fd2b5c3a15e3568", - "333511861796978401598b963722f5b3", "valid" }, - { "56207465b4e48e6d04630f4a42f35cfc163ab289c22a2b4784f6f9290330bee0", - "df8713e87ec3dbcfad14d53e", - "5e6470facd99c1d81e37cd44015fe19480a2a4d3352a4ff560c0640fdbda", - "e601b38557797da2f8a4106a089d1da6", "299b5d3f3d03c087209a16e285143111", - "4b454ed198de117e83ec49fa8d8508d6", "valid" }, - { "3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130", - "8df4b15a888c33286a7b7651", - "ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37", - "dc9e9eaf11e314182df6a4eba17aec9c", "605bbf90aeb974f6602bc778056f0dca", - "38ea23d99054b46b42ffe004129d2204", "valid" }, - { "36372abcdb78e0279646ac3d176b9674e9154eecf0d5469c651ec7e16b4c1199", - "be40e5f1a11817a0a8fa8949", - "d41a828d5e71829247021905402ea257dccbc3b80fcd5675056b68bb59e62e8873", - "81ce84ede9b35859cc8c49a8f6be7dc6", "7b7ce0d824809a70de32562ccf2c2bbd", - "15d44a00ce0d19b4231f921e22bc0a43", "valid" }, - { "9f1479ed097d7fe529c11f2f5add9aaff4a1ca0b68997a2cb7f79749bd90aaf4", - "84c87dae4eee27730ec35d12", - "3f2dd49bbf09d69a78a3d80ea2566614fc379474196c1aae84583da73d7ff85c6f42ca42" - "056a9792cc1b9fb3c7d261", - "a66747c89e857af3a18e2c79500087ed", "ca82bff3e2f310ccc976672c4415e69b", - "57638c62a5d85ded774f913c813ea032", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "00000000000000000000000000000000", - "256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329be", - "0000000000000000000000000000000000000000000000000000000000000000", - "e6d3d7324a1cbba777bbb0ecdda37807", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "00000000000000000000000000000000", - "256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b" - "1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd", - "000000000000000000000000000000000000000000000000000000000000000000000000" - "00000000000000000000000000000000000000000000000000000000", - "062de6795f274fd2a305d76980bc9cce", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "00000000000000000000000000000000", - "256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b" - "1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd7ada44424269bffa" - "5527f270acf68502b74c5ae2e60c0580981a4938459392c49bb2f284b646efc7f3f0b136" - "1dc348ed77d30bc57692ed38fbac0188380488c7", - "000000000000000000000000000000000000000000000000000000000000000000000000" - "000000000000000000000000000000000000000000000000000000000000000000000000" - "000000000000000000000000000000000000000000000000000000000000000000000000" - "0000000000000000000000000000000000000000", - "d8b47902baaeafb34203051529af282e", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "ffffffffffffffffffffffffffffffff", - "da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd641", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "b3891c849cb52c27747edfcf31213bb6", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "ffffffffffffffffffffffffffffffff", - "da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4" - "e121030174325e495ea373d4f796002d13a1d91aac484dd801780242", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "f0c12d26ef03029b62c008da27c5dc68", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "ffffffffffffffffffffffffffffffff", - "da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4" - "e121030174325e495ea373d4f796002d13a1d91aac484dd8017802428525bbbdbd964005" - "aad80d8f53097afd48b3a51d19f3fa7f67e5b6c7ba6c6d3b644d0d7b49b910380c0f4ec9" - "e23cb712882cf43a896d12c70453fe77c7fb7738", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "ee65783001c25691fa28d0f5f1c1d762", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "00000080000000800000008000000080", - "256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293e", - "0000008000000080000000800000008000000080000000800000008000000080", - "79ba7a29f5a7bb75797af87a610129a4", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "00000080000000800000008000000080", - "256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb" - "1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d", - "000000800000008000000080000000800000008000000080000000800000008000000080" - "00000080000000800000008000000080000000800000008000000080", - "36b1743819e1b9ba1551e8ed922a959a", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "00000080000000800000008000000080", - "256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb" - "1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d7ada44c24269bf7a" - "5527f2f0acf68582b74c5a62e60c0500981a49b8459392449bb2f204b646ef47f3f0b1b6" - "1dc3486d77d30b457692edb8fbac010838048847", - "000000800000008000000080000000800000008000000080000000800000008000000080" - "000000800000008000000080000000800000008000000080000000800000008000000080" - "000000800000008000000080000000800000008000000080000000800000008000000080" - "0000008000000080000000800000008000000080", - "feac4955554e806f3a1902e24432c08a", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "ffffff7fffffff7fffffff7fffffff7f", - "da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c1", - "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f", - "20a3798df1292c5972bf9741aec38a19", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "ffffff7fffffff7fffffff7fffffff7f", - "da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424" - "e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c2", - "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f" - "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f", - "c03d9f67354a97b2f074f7551557e49c", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "ffffff7fffffff7fffffff7fffffff7f", - "da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424" - "e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c28525bb3dbd964085" - "aad80d0f53097a7d48b3a59d19f3faff67e5b647ba6c6dbb644d0dfb49b910b80c0f4e49" - "e23cb792882cf4ba896d12470453fef7c7fb77b8", - "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f" - "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f" - "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f" - "ffffff7fffffff7fffffff7fffffff7fffffff7f", - "c86da8dd652286d50213d328d63e4006", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "7fffffff7fffffff7fffffff7fffffff", - "5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd641", - "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff", - "bede9083ceb36ddfe5fa811f95471c67", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "7fffffff7fffffff7fffffff7fffffff", - "5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a4" - "61210301f4325e49dea373d47796002d93a1d91a2c484dd881780242", - "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff" - "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff", - "300874bb0692b689dead9ae15b067390", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "7fffffff7fffffff7fffffff7fffffff", - "5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a4" - "61210301f4325e49dea373d47796002d93a1d91a2c484dd8817802420525bbbd3d964005" - "2ad80d8fd3097afdc8b3a51d99f3fa7fe7e5b6c73a6c6d3be44d0d7bc9b910388c0f4ec9" - "623cb712082cf43a096d12c78453fe7747fb7738", - "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff" - "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff" - "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff" - "7fffffff7fffffff7fffffff7fffffff7fffffff", - "99cad85f45ca40942d0d4d5e950ade22", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "00000000ffffffff00000000ffffffff", - "256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641", - "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff", - "8bbe145272e7c2d9a1891a3ab0983d9d", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "00000000ffffffff00000000ffffffff", - "256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5b" - "e12103018bcda1b65ea373d40869ffd213a1d91a53b7b22701780242", - "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000" - "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff", - "3b41861913a8f6de7f61e225631bc382", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "00000000ffffffff00000000ffffffff", - "256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5b" - "e12103018bcda1b65ea373d40869ffd213a1d91a53b7b227017802427ada4442bd964005" - "5527f27053097afdb74c5ae219f3fa7f981a4938ba6c6d3b9bb2f28449b91038f3f0b136" - "e23cb71277d30bc5896d12c7fbac0188c7fb7738", - "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000" - "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff" - "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000" - "ffffffff00000000ffffffff00000000ffffffff", - "8428bcf023ec6bf31fd9efb203ff0871", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "ffffffff00000000ffffffff00000000", - "da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be", - "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000", - "139fdf6474ea24f549b075825f2c7620", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "ffffffff00000000ffffffff00000000", - "da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a4" - "1edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd", - "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff" - "00000000ffffffff00000000ffffffff00000000ffffffff00000000", - "bbad8d863b835a8e8664fd1d4566b6b4", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000000000000000001ee3200", "ffffffff00000000ffffffff00000000", - "da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a4" - "1edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd8525bbbd4269bffa" - "aad80d8facf6850248b3a51de60c058067e5b6c7459392c4644d0d7bb646efc70c0f4ec9" - "1dc348ed882cf43a7692ed380453fe77380488c7", - "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff" - "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000" - "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff" - "00000000ffffffff00000000ffffffff00000000", - "42f2354297849a511d53e5571772f71f", "valid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a2e3fdf9fba6861b5ad2607f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a1e3fdf9fba6861b5ad2607f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "23e3fdf9fba6861b5ad2607f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e2fdf9fba6861b5ad2607f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fd79fba6861b5ad2607f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9faa6861b5ad2607f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9f9a6861b5ad2607f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6869b5ad2607f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6861b5bd2607f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6861b5af2607f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6861b5ad2617f40b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6861b5ad2607f41b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6861b5ad2607f42b7f447", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6861b5ad2607f40b7f446", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6861b5ad2607f40b7f445", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6861b5ad2607f40b7f407", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6861b5ad2607f40b7f4c7", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "a3e3fdf9fba6869b5ad2607f40b7f4c7", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "00000000000000000000000000000000", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "", "", - "ffffffffffffffffffffffffffffffff", "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "26da374f17b7f1b23844a5490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "25da374f17b7f1b23844a5490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "a7da374f17b7f1b23844a5490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27db374f17b7f1b23844a5490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da37cf17b7f1b23844a5490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f16b7f1b23844a5490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f15b7f1b23844a5490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1323844a5490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23944a5490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23864a5490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a4490bfc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a5490afc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a54909fc4001", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a5490bfc4000", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a5490bfc4003", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a5490bfc4041", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a5490bfc4081", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1323844a5490bfc4081", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "00000000000000000000000000000000", - "invalid" }, - { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff", - "000102030405060708090a0b", "616164", "00000000000000000000000000000000", - "2cf8ae525fc86025268a4e1d88bead19", "ffffffffffffffffffffffffffffffff", - "invalid" }, - { "3030303030303030303030303030303030303030303030303030303030303030", - "30303030303030300002506e", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "d4500bf009493551c380adf52c573a69df7e8b762463330facc16a5726be7190c63c5a1c" - "926584a096756828dcdc64acdf963d931bf1dae238f3f157224ac4b542d785b0dd84db6b" - "e3bc5a3663e84149ffbed09e54f78f16a8223b24cb019f58b21b0e551e7aa07327629551" - "376ccbc3937671a0629bd95c9915c78555771e7a", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "0b300d8da56c2185755279553c4c82ca", "valid" }, - { "3030303030303030303030303030303030303030303030303030303030303030", - "3030303030303030000318a5", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "7de87f6729945275d0655da4c7fde4569e16f111b5eb26c22d859e3ff822eced3a6dd9a6" - "0f22957f7b7c857e8822eb9fe0b8d7022141f2d0b48f4b5612d322a88dd0fe0b4d917932" - "4f7c6c9e990efbd80e5ed6775826498b1efe0f71a0f3ec5b29cb28c2540a7dcd51b7daae" - "e0ff4a7f3ac1ee54c29ee4c170de408f66692194", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "c578e2aa44d309b7b6a5193bdc6118f5", "valid" }, - { "3030303030303030303030303030303030303030303030303030303030303030", - "00000000000000000007b4f0", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "1b996f9a3ccc6785de22ff5b8add9502ce03a0faf5992a09522cdd1206d220b8f8bd07d1" - "f1f5a1bd9a71d11c7f579b855818c08d4de036393183b7f590b335aed8de5b57b13c5fed" - "e2441c3e184aa9d46e61598506b3e11c43c62cbcaceced33190875b012218b1930fb7c38" - "ec45ac11c353d0cf938dccb9efad8fedbe46daa5", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "4b0bda8ad043830d8319ab82c50c7663", "valid" }, - { "3030303030303030303030303030303030303030303030303030303030303030", - "00000000000000000020fb66", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "86cbacae4d3f74ae01213e0551cc15160ea1be8408e3d5d74f01464995a69e6176cb9e02" - "b2247ed299892f9182a45caf4c69405611766edfafdc285519ea30480c44f05e781eacf8" - "fcecc7090abb28fa5fd585ac8cda7e8772e594e4ce6c883281932e0f89f877a1f04d9c32" - "b06cf90b0e762b430c4d517c97107068f498ef7f", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "4bc98f72c494c2a43c2b15a1043f1cfa", "valid" }, - { "3030303030303030303030303030303030303030303030303030303030303030", - "00000000000000000038bb90", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "fab1cddf4fe198ef63add881d6ead6c57637bbe92018ca7c0b96fba0871e932db1fbf907" - "61be25df8dfaf931ce5757e617b3d7a9f0bf0ffe5d591a33c143b8f53fd0b5a19609fd62" - "e5c251a4281a200cfdc34f281710406f4e37625446ff6ef224913deb0d89af337128e3d1" - "55d16d3ec3246041432143e9ab3a6d2ccc2f4d62", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "f7e9e151b02533c74658bfc7737c680d", "valid" }, - { "3030303030303030303030303030303030303030303030303030303030303030", - "00000000000000000070484a", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "227202be7f3515e9d1c02eea2f1950b6481b048a4c91506cb40d504e6c949f82d197c25a" - "d17dc721651125782ac7a71247feaef32f1f250ce4bb8f79acaa179d45a7b0545f092432" - "5efa87d5e441d28478c61f2223ee67c3b41f4394535e2a24369a2e16613c459490c14fb1" - "d755fe53fbe1ee45b1b21f7162e2fcaa742abefd", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "795bcff647c553c2e4eb6e0eafd9e04e", "valid" }, - { "3030303030303030303030303030303030303030303030303030303030303030", - "000000000000000000932f40", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "fae58345c16cb0f5cc537f2b1b3469c969463b3ea71bcf6b98d669a8e60e04fc08d5fd06" - "9c362638e3400ef4cb242e27e2245e68cb9ec583da5340b12edf423b7326ad20feeb57da" - "ca2e0467a32899b42df8e56d84e006bc8a7acc731e7c1f6becb5719f7077f0d4f4c61ab1" - "1ebac1001801ce33c4e4a77d831d3ce34e8410e1", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "1946d653960f947a74d3e8093cf48502", "valid" }, - { "3030303030303030303030303030303030303030303030303030303030303030", - "000000000000000000e29335", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "ebb216ddd7ca709215f503df9ce63c5cd2194e7d9099e8a90b2afaad5eba35069925a603" - "fdbc341aaed41505b10941fa3856a7e247b1040709746cfc2096caa631b2fff41c250506" - "d889c1c90671ade853ee6394c19192a5cf3710d1073099e5bc946582fc0fab9f543c716a" - "e2486a8683fdca39d2e14f23d00a582664f4ecb1", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "36c3002985dd21baf895d633573f12c0", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000000ef7d5", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "408ae6ef1c7ef0fb2c2d610816fc7849efa58f78273f5f166ea65f81b575747d035b3040" - "fede1eb9459788669788408e00413b3e376d152d204aa2b7a83558fcd48a0ef7a26b1cd6" - "d35d23b3f5dfe0ca77a4ce32b94abf83da2aefcaf068380879e89fb0a3829595cf44c385" - "2ae2cc662b689f9355d9c183801f6acc313f8907", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "6514518e0a264142e0b7351f967fc2ae", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000003dfce4", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "0a0a24499bcade58cf1576c312aca984718cb4cc7e0153f5a9015810859644dfc021174e" - "0b060a397448de8b484a8603be680a6934c0906f30dd17eae2d4c5faa777f8ca53370e08" - "331b88c342bac959787bbb33930e3b56be86da7f2a6eb1f94089d1d181074d4302f8e055" - "2d0de1fab306a21b42d4c3ba6e6f0cbcc81e877a", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "4c194da6a99fd65b40e9cad798f44b19", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000018486a8", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "4a0aaff8494729188691701340f3ce2b8a78eed3a0f065994b72484e7991d25c29aa075e" - "b1fc16de93fe069058112ab284a3ed18780326d1258a47222fa633d8b29f3bd9150b239b" - "1546c2bb9b9f410febead396000ee477701532c3d0f5fbf895d280196d2f737c5e9fec50" - "d92bb0df5d7e513be5b8ea971310d5bf16ba7aee", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "c8ae7788cd2874abc138541e11fd0587", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "ff9428d079351f665cd001354319875c783d35f613e6d9093d38e975c38fe3b89f7aed35" - "cb5a2fcaa0346efb936554649cf6378171eae4396ea15dc240d1abf4472d9096524fa1b2" - "b023b8b288222773d4d206616f9293f65b45dbbc74e7c2edfbcbbf1cfb679bb739a5862d" - "e2bcb937f74d5bf8671c5a8a5092f61d54c9aa5b", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffff", - "933a5163c7f62368327b3fbc1036c943", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000102030405060708090a0b", - "85ffffffffffffffffffffffffffffffa6902fcbc883bbc180b256ae34ad7f00", - "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01" - "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "000102030405060708090a0b0c0d0e0f", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000102030405060708090a0b", - "ffffffffffffffffffffffffffffffff247e50642a1c0a2f8f77219609dba958", - "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01" - "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "00000000000000000000000000000000", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000102030405060708090a0b", - "7cffffffffffffffffffffffffffffffd9e72c064ac8961f3fa585e0e2abd600", - "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01" - "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "ffffffffffffffffffffffffffffffff", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000102030405060708090a0b", - "65ffffffffffffffffffffffffffffff95af0f4d0b686eaeccca4307d596f502", - "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01" - "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "00000080000000800000008000000080", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000102030405060708090a0b", - "ffffffffffffffffffffffffffffffff8540b464357707be3a39d55c34f8bcb3", - "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01" - "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "ffffff7fffffff7fffffff7fffffff7f", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000102030405060708090a0b", - "4fffffffffffffffffffffffffffffff6623d990b898d830d212af2383330701", - "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01" - "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "01000000010000000100000001000000", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000102030405060708090a0b", - "83ffffffffffffffffffffffffffffff5f16d09f17787211b7d484e024f89701", - "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01" - "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "ffffffff000000000000000000000000", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "005235d2a919f28d3db7664a34ae6b444d3d35f613e6d9093d38e975c38fe3b85b8b9450" - "9e2b74a36d346e33d572659ba9f6378171eae4396ea15dc240d1abf483dce9f3073efadb" - "7d23b87ace35168c", - "0039e2fd2fd312149e989880884813e7caffffffffffffffffffffffffffffff3b0e869a" - "aa8ea49632ffff37b9e8ce00caffffffffffffffffffffffffffffff3b0e869aaa8ea496" - "32ffff37b9e8ce00", - "a519ac1a35b4a57787510af78d8d200a", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "d39428d079351f665cd001354319875ce5da78766fa19290c031f75208506745ae7aed35" - "cb5a2fcaa0346efb93655464496ddeb05509c6efffab75eb2df4ab09762d9096524fa1b2" - "b023b8b2882227730149ef504b71b120ca4ff39519c2c210", - "d3ffffffffffffffffffffffffffffff6218b27f83b8b46602f6e1d834207b02ceffffff" - "ffffffffffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02ceffffffffffffff" - "ffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02", - "302fe82ab0a09af64400d015ae83d9cc", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "e99428d079351f665cd001354319875c6df1394edc539b5b3a0957be0fb85946807aed35" - "cb5a2fcaa0346efb93655464d1769fe806bbfeb6f590950f2eac9e0a582d9096524fa1b2" - "b023b8b2882227739952ae0818c38979c07413711a9af713", - "e9ffffffffffffffffffffffffffffffea33f347304abdadf8ce413433c84501e0ffffff" - "ffffffffffffffffffffffffb27f579688aee57064ce37329182ca01e0ffffffffffffff" - "ffffffffffffffffb27f579688aee57064ce37329182ca01", - "98a7e836e0ee4d023500d0557ec2cbe0", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "ff9428d079351f665cd001354319875c64f90f5b2692b860d4596ff4b3402c5c00b9bb53" - "707aa667d356fe50c7199694033561e7caca6d941dc3cd6914ad6904", - "ffffffffffffffffffffffffffffffffe33bc552ca8b9e96169e797e8f30301b603ca999" - "44df76528c9d6f54ab833d0f603ca99944df76528c9d6f54ab833d0f", - "6ab8dce2c59da4737130b0252f68a8d8", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "689428d079351f665cd001354319875cb08f25675b9bcbf6e38407de2ec75a479f7aed35" - "cb5a2fcaa0346efb936554642d2af7cd6b080501d31ba54fb2eb7596472d9096524fa1b2" - "b023b8b288222773650ec62d757072cee6ff233186dd1c8f", - "68ffffffffffffffffffffffffffffff374def6eb782ed002143115412b74600ffffffff" - "ffffffffffffffffffffffff4e233fb3e51d1ec7424507720dc5219dffffffffffffffff" - "ffffffffffffffff4e233fb3e51d1ec7424507720dc5219d", - "044dea608880412bfdffcf35579e9b26", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "6d9428d079351f665cd001354319875ca161b5ab040900629efeff78d7d86b459f7aed35" - "cb5a2fcaa0346efb93655464c6f8078cc8ef12a0ff657d6d08db10b8472d9096524fa1b2" - "b023b8b2882227738edc366cd697656fca81fb133ced79a1", - "6dffffffffffffffffffffffffffffff26a37fa2e81026945c39e9f2eba87702ffffffff" - "ffffffffffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3ffffffffffffffff" - "ffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3", - "1e6bea6314542e2ef9ffcf450b2e982b", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "ff9428d079351f665cd001354319875cfc01b891e5f0f9128d7d1c579192b69863414415" - "b69968959a7291b7a5af134860cd9ea10c29a36654e7a28e761becd8", - "ffffffffffffffffffffffffffffffff7bc3729809e9dfe44fba0addade2aadf03c456df" - "823cb8a0c5b900b3c935b8d303c456df823cb8a0c5b900b3c935b8d3", - "ed2017c8dba4775629049d786e3bceb1", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "ff9428d079351f665cd001354319875c6b6dc9d21a819e70b577f44137d3d6bd1335f5eb" - "44494077b26449a54b6c7c7510b92f5ffef98b847cf17a9c98d883e5", - "ffffffffffffffffffffffffffffffffecaf03dbf698b88677b0e2cb0ba3cafa73b0e721" - "70ec9042edafd8a127f6d7ee73b0e72170ec9042edafd8a127f6d7ee", - "073f17cb6778645925049d8822cbcab6", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "ffcb2b1106f8234c5e99d4db4c7048de323d35f613e6d9093d38e975c38fe3b816e9884a" - "114f0e9266cea3885fe36b9fd6f6378171eae4396ea15dc240d1abf4cebef5e9885a80ea" - "76d975c144a41888", - "ffa0fc3e8032c3d5fdb62a11f096307db5ffffffffffffffffffffffffffffff766c9a80" - "25eadea73905328c3379c004b5ffffffffffffffffffffffffffffff766c9a8025eadea7" - "3905328c3379c004", - "8b9bb4b4861289658c696a8340150405", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "6f9e70ed3b8baca026e46a5a0943158d213d35f613e6d9093d38e975c38fe3b80c612c5e" - "8d89a873dbcaad5b7346429bc5f6378171eae4396ea15dc240d1abf4d43651fd149c260b" - "cbdd7b126801318c", - "6ff5a7c2bd414c3985cb9490b5a56d2ea6ffffffffffffffffffffffffffffff6ce43e94" - "b92c784684013c5f1fdce900a6ffffffffffffffffffffffffffffff6ce43e94b92c7846" - "84013c5f1fdce900", - "8b3bbd51644459568d81ca1fa72ce404", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "412b080a3e19c10d44a1af1eabdeb4ce353d35f613e6d9093d38e975c38fe3b86b839433" - "0921486ca11d291c3e97ee9ad1f6378171eae4396ea15dc240d1abf4b3d4e9909034c614" - "b10aff5525d09d8d", - "4140df25b8d32194e78e51d41738cc6db2ffffffffffffffffffffffffffffff0b0686f9" - "3d849859fed6b818520d4501b2ffffffffffffffffffffffffffffff0b0686f93d849859" - "fed6b818520d4501", - "86fbab2b4a94f47aa56f0aea65d11008", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "b247a74723491aacacaad709c91e932b313d35f613e6d9093d38e975c38fe3b89ade04e7" - "5bb701d9660601b34765de98d5f6378171eae4396ea15dc240d1abf442897944c2a28fa1" - "7611d7fa5c22ad8f", - "b22c7068a583fa350f8529c375f8eb88b6fffffffffffffffffffffffffffffffa5b162d" - "6f12d1ec39cd90b72bff7503b6fffffffffffffffffffffffffffffffa5b162d6f12d1ec" - "39cd90b72bff7503", - "a019ac2ed667e17da16f0afa19610d0d", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "740f9e49f610efa585b659ca6ed8b4992d3d35f613e6d9093d38e975c38fe3b8412d96af" - "be80ec3e79d451b00a2db29ac9f6378171eae4396ea15dc240d1abf4997aeb0c27956246" - "69c387f9116ac18d", - "7464496670da0f3c2699a700d23ecc3aaaffffffffffffffffffffffffffffff21a88465" - "8a253c0b261fc0b466b71901aaffffffffffffffffffffffffffffff21a884658a253c0b" - "261fc0b466b71901", - "736e18181696a5889c3159faabab20fd", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "adba5d105bc8aa062c2336cb889ddbd5373d35f613e6d9093d38e975c38fe3b8177c5ffe" - "2875f468f6c2965748f3599ad3f6378171eae4396ea15dc240d1abf4cf2b225db1607a10" - "e6d5401e53b42a8d", - "add18a3fdd024a9f8f0cc801347ba376b0ffffffffffffffffffffffffffffff77f94d34" - "1cd0245da90907532469f201b0ffffffffffffffffffffffffffffff77f94d341cd0245d" - "a90907532469f201", - "bad58f10a91e6a889aba32fd17d8331a", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "fe9428d079351f665cd001354319875cc001edc5da442e719bce9abe273af144b47aed35" - "cb5a2fcaa0346efb9365546448025f41fa4e336c786957a2a7c4930a6c2d9096524fa1b2" - "b023b8b28822277300266ea1e43644a34d8dd1dc93f2fa13", - "feffffffffffffffffffffffffffffff47c327cc365d088759098c341b4aed03d4ffffff" - "ffffffffffffffffffffffff2b0b973f745b28aae937f59f18eac701d4ffffffffffffff" - "ffffffffffffffff2b0b973f745b28aae937f59f18eac701", - "d68ce174079add028dd05cf814630488", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "b513b06ab9ac14435acb8aa3a37afdb6543d35f613e6d9093d38e975c38fe3b861950193" - "b1bf0311ff117989aed9a999b0f6378171eae4396ea15dc240d1abf4b9c27c3028aa8d69" - "ef06afc0b59eda8e", - "b57867453f66f4daf9e474691f9c8515d3ffffffffffffffffffffffffffffff01101359" - "851ad324a0dae88dc2430202d3ffffffffffffffffffffffffffffff01101359851ad324" - "a0dae88dc2430202", - "aa48a3887d4b059699c2fdf9c6787e0a", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "ff9428d079351f665cd001354319875cd4f109e814cea85a08c011d850dd1dcbcf7aed35" - "cb5a2fcaa0346efb936554645340b85a9aa08296b77a5fc3961f660f172d9096524fa1b2" - "b023b8b2882227731b6489ba84d8f559829ed9bda2290f16", - "ffffffffffffffffffffffffffffffff5333c3e1f8d78eacca0707526cad018cafffffff" - "ffffffffffffffffffffffff3049702414b599502624fdfe29313204afffffffffffffff" - "ffffffffffffffff3049702414b599502624fdfe29313204", - "b936a817f2211af129e2cf160fd42bcb", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "ff9428d079351f665cd001354319875cdf4c62032d4119b588477e99925a56d9d67aed35" - "cb5a2fcaa0346efb93655464fa84f0645536421b2bb9246ec219ed0b0e2d9096524fa1b2" - "b023b8b288222773b2a0c1844b4e35d41e5da210f62f8412", - "ffffffffffffffffffffffffffffffff588ea80ac1583f434a806813ae2a4a9eb6ffffff" - "ffffffffffffffffffffffff998d381adb2359ddbae786537d37b900b6ffffffffffffff" - "ffffffffffffffff998d381adb2359ddbae786537d37b900", - "9f7ac4351f6b91e63097a713115d05be", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "ff9428d079351f665cd001354319875c13f80a006dc1bbdad639a92fc7eca655f77aed35" - "cb5a2fcaa0346efb936554646348b8fd29bf96d563a517e27d7bfc0f2f2d9096524fa1b2" - "b023b8b2882227732b6c891d37c7e11a5641919c494d9516", - "ffffffffffffffffffffffffffffffff943ac00981d89d2c14febfa5fb9cba1297ffffff" - "ffffffffffffffffffffffff00417083a7aa8d13f2fbb5dfc255a80497ffffffffffffff" - "ffffffffffffffff00417083a7aa8d13f2fbb5dfc255a804", - "9a18a828070269f44700d009e7171cc9", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "ff9428d079351f665cd001354319875c82e59b4582915038f933811e652dc66afc7aed35" - "cb5a2fcaa0346efb93655464b671c8cac270c265a0ac2f535799880a242d9096524fa1b2" - "b023b8b288222773fe55f92adc08b5aa9548a92d63afe113", - "ffffffffffffffffffffffffffffffff0527514c6e8876ce3bf49794595dda2d9cffffff" - "ffffffffffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc019cffffffffffffff" - "ffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc01", - "b436a82b93d555f74300d0199ba718ce", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "ff9428d079351f665cd001354319875cf1d12887b7216986a12d79098b6de60fc07aed35" - "cb5a2fcaa0346efb93655464a7c75899f3e60af1fcb6c7307d87590f182d9096524fa1b2" - "b023b8b288222773efe36979ed9e7d3ec952414e49b13016", - "ffffffffffffffffffffffffffffffff7613e28e5b384f7063ea6f83b71dfa48a0ffffff" - "ffffffffffffffffffffffffc4ce90e77df311376de8650dc2a90d04a0ffffffffffffff" - "ffffffffffffffffc4ce90e77df311376de8650dc2a90d04", - "ce54a82e1fa942fa3f00d0294f3715d3", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "cbf1da9e0ba9377374e69e1c0e600cfc343d35f613e6d9093d38e975c38fe3b8be3fa66b" - "6ce7808aa3e45949f944649fd0f6378171eae4396ea15dc240d1abf46668dbc8f5f20ef2" - "b3f38f00e2031788", - "cb9a0db18d63d7ead7c960d6b286745fb3ffffffffffffffffffffffffffffffdebab4a1" - "584250bffc2fc84d95decf04b3ffffffffffffffffffffffffffffffdebab4a1584250bf" - "fc2fc84d95decf04", - "2383ab0b799205699b510aa709bf31f1", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "8f278694c4e9daebd58d3e5b966e8b68423d35f613e6d9093d38e975c38fe3b80653e7a3" - "31718833acc3b9adff1c3198a6f6378171eae4396ea15dc240d1abf4de049a00a864064b" - "bcd46fe4e45b428f", - "8f4c51bb42233a7276a2c0912a88f3cbc5ffffffffffffffffffffffffffffff66d6f569" - "05d45806f30828a993869a03c5ffffffffffffffffffffffffffffff66d6f56905d45806" - "f30828a993869a03", - "8bfbab17a9e0b8748b510ae7d9fd2305", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "d59428d079351f665cd001354319875c9a22d70a48e24fddcdd4419de64c8f44fc7aed35" - "cb5a2fcaa0346efb9365546477b5c907d9c9e1ea51851a204aad9f0a242d9096524fa1b2" - "b023b8b2882227733f91f8e7c7b1962564619c5e7e9bf613", - "d5ffffffffffffffffffffffffffffff1de01d03a4fb692b0f135717da3c93039cffffff" - "ffffffffffffffffffffffff14bc017957dcfa2cc0dbb81df583cb019cffffffffffffff" - "ffffffffffffffff14bc017957dcfa2cc0dbb81df583cb01", - "49bc6e9fc51c4d503036644d842773d2", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "db9428d079351f665cd001354319875c75d5643aa5af934d8cce392cc3eedb47c07aed35" - "cb5a2fcaa0346efb93655464601b5ad2067f28066a8f3281715ba808182d9096524fa1b2" - "b023b8b288222773283f6b3218075fc95f6bb4ff456dc111", - "dbfffffffffffffffffffffffffffffff217ae3349b6b5bb4e092fa6ff9ec700a0ffffff" - "ffffffffffffffffffffffff031292ac886a33c0fbd190bcce75fc03a0ffffffffffffff" - "ffffffffffffffff031292ac886a33c0fbd190bcce75fc03", - "63da6ea251f039532c36645d38b76fd7", "valid" }, - { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "0000000000000000064c2d52", "ffffffff", - "939428d079351f665cd001354319875c624839604216e403ebcc6af559ec8b43977aed35" - "cb5a2fcaa0346efb93655464d8c8c3fa1a9e474abe52d02c8187e90f4f2d9096524fa1b2" - "b023b8b28822277390ecf21a04e630858bb65652b5b18016", - "93ffffffffffffffffffffffffffffffe58af369ae0fc2f5290b7c7f659c9704f7ffffff" - "ffffffffffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04f7ffffffffffffff" - "ffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04", - "73eb2724b5c405f04d00d0f15840a1c1", "valid" } -}; - -static int -tv(void) -{ - unsigned char *ad; - unsigned char *decrypted; - unsigned char *detached_ciphertext; - unsigned char *key; - unsigned char *message; - unsigned char *mac; - unsigned char *nonce; - size_t ad_len; - size_t detached_ciphertext_len; - size_t message_len; - unsigned int i; - - key = (unsigned char *) sodium_malloc( - crypto_aead_chacha20poly1305_ietf_KEYBYTES); - nonce = (unsigned char *) sodium_malloc( - crypto_aead_chacha20poly1305_ietf_NPUBBYTES); - mac = (unsigned char *) sodium_malloc( - crypto_aead_chacha20poly1305_ietf_ABYTES); - - for (i = 0U; i < (sizeof tests) / (sizeof tests[0]); i++) { - assert(strlen(tests[i].key_hex) == - 2 * crypto_aead_chacha20poly1305_ietf_KEYBYTES); - sodium_hex2bin(key, crypto_aead_chacha20poly1305_ietf_KEYBYTES, - tests[i].key_hex, strlen(tests[i].key_hex), NULL, NULL, - NULL); - - assert(strlen(tests[i].nonce_hex) == - 2 * crypto_aead_chacha20poly1305_ietf_NPUBBYTES); - sodium_hex2bin(nonce, crypto_aead_chacha20poly1305_ietf_NPUBBYTES, - tests[i].nonce_hex, strlen(tests[i].nonce_hex), NULL, - NULL, NULL); - - message_len = strlen(tests[i].message_hex) / 2; - message = (unsigned char *) sodium_malloc(message_len); - sodium_hex2bin(message, message_len, tests[i].message_hex, - strlen(tests[i].message_hex), NULL, NULL, NULL); - - ad_len = strlen(tests[i].ad_hex) / 2; - ad = (unsigned char *) sodium_malloc(ad_len); - sodium_hex2bin(ad, ad_len, tests[i].ad_hex, strlen(tests[i].ad_hex), - NULL, NULL, NULL); - - detached_ciphertext_len = message_len; - assert(strlen(tests[i].detached_ciphertext_hex) == 2 * message_len); - assert(strlen(tests[i].mac_hex) == - 2 * crypto_aead_chacha20poly1305_ietf_ABYTES); - sodium_hex2bin(mac, crypto_aead_chacha20poly1305_ietf_ABYTES, - tests[i].mac_hex, strlen(tests[i].mac_hex), NULL, NULL, - NULL); - - detached_ciphertext = - (unsigned char *) sodium_malloc(detached_ciphertext_len); - sodium_hex2bin(detached_ciphertext, detached_ciphertext_len, - tests[i].detached_ciphertext_hex, - strlen(tests[i].detached_ciphertext_hex), NULL, NULL, - NULL); - - decrypted = (unsigned char *) sodium_malloc(message_len); - if (crypto_aead_chacha20poly1305_ietf_decrypt_detached( - decrypted, NULL, detached_ciphertext, detached_ciphertext_len, - mac, ad, ad_len, nonce, key) == 0) { - if (strcmp(tests[i].outcome, "valid") != 0) { - printf("*** test case %u succeeded, was supposed to be %s\n", i, - tests[i].outcome); - } - if (memcmp(decrypted, message, message_len) != 0) { - printf("Incorrect decryption of test vector #%u\n", - (unsigned int) i); - } - } else { - if (strcmp(tests[i].outcome, "invalid") != 0) { - printf("*** test case %u failed, was supposed to be %s\n", i, - tests[i].outcome); - } - } - - sodium_free(message); - sodium_free(ad); - sodium_free(decrypted); - sodium_free(detached_ciphertext); - } - - sodium_free(key); - sodium_free(mac); - sodium_free(nonce); - - return 0; -} - -int -main(void) -{ - tv(); - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly13052.exp b/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly13052.exp deleted file mode 100644 index d86bac9..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/aead_chacha20poly13052.exp +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/aead_xchacha20poly1305.c b/libsodium-1.0.18-RELEASE/test/default/aead_xchacha20poly1305.c deleted file mode 100644 index 12059b6..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/aead_xchacha20poly1305.c +++ /dev/null @@ -1,203 +0,0 @@ - -#define TEST_NAME "aead_xchacha20poly1305" -#include "cmptest.h" - -static int -tv(void) -{ -#undef MLEN -#define MLEN 114U -#undef ADLEN -#define ADLEN 12U -#undef CLEN -#define CLEN (MLEN + crypto_aead_xchacha20poly1305_ietf_ABYTES) - static const unsigned char firstkey[crypto_aead_xchacha20poly1305_ietf_KEYBYTES] - = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f - }; -#undef MESSAGE -#define MESSAGE "Ladies and Gentlemen of the class of '99: If I could offer you " \ - "only one tip for the future, sunscreen would be it." - unsigned char *m = (unsigned char *) sodium_malloc(MLEN); - static const unsigned char nonce[crypto_aead_xchacha20poly1305_ietf_NPUBBYTES] - = { 0x07, 0x00, 0x00, 0x00, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, - 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53 }; - static const unsigned char ad[ADLEN] - = { 0x50, 0x51, 0x52, 0x53, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7 }; - unsigned char *c = (unsigned char *) sodium_malloc(CLEN); - unsigned char *detached_c = (unsigned char *) sodium_malloc(MLEN); - unsigned char *key2 = (unsigned char *) sodium_malloc(crypto_aead_xchacha20poly1305_ietf_KEYBYTES); - unsigned char *mac = (unsigned char *) sodium_malloc(crypto_aead_xchacha20poly1305_ietf_ABYTES); - unsigned char *m2 = (unsigned char *) sodium_malloc(MLEN); - unsigned long long found_clen; - unsigned long long found_maclen; - unsigned long long m2len; - size_t i; - - assert(sizeof MESSAGE - 1U == MLEN); - memcpy(m, MESSAGE, MLEN); - crypto_aead_xchacha20poly1305_ietf_encrypt(c, &found_clen, m, MLEN, - ad, ADLEN, - NULL, nonce, firstkey); - if (found_clen != MLEN + crypto_aead_xchacha20poly1305_ietf_abytes()) { - printf("found_clen is not properly set\n"); - } - for (i = 0U; i < CLEN; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - printf("\n"); - crypto_aead_xchacha20poly1305_ietf_encrypt_detached(detached_c, - mac, &found_maclen, - m, MLEN, - ad, ADLEN, - NULL, nonce, firstkey); - if (found_maclen != crypto_aead_xchacha20poly1305_ietf_abytes()) { - printf("found_maclen is not properly set\n"); - } - if (memcmp(detached_c, c, MLEN) != 0) { - printf("detached ciphertext is bogus\n"); - } - - if (crypto_aead_xchacha20poly1305_ietf_decrypt(NULL, 0, NULL, c, CLEN, ad, - ADLEN, nonce, firstkey) != 0) { - printf("crypto_aead_xchacha20poly1305_ietf_decrypt() tag-only verification failed\n"); - } - if (crypto_aead_xchacha20poly1305_ietf_decrypt(m2, &m2len, NULL, c, CLEN, ad, - ADLEN, nonce, firstkey) != 0) { - printf("crypto_aead_xchacha20poly1305_ietf_decrypt() failed\n"); - } - if (m2len != MLEN) { - printf("m2len is not properly set\n"); - } - if (memcmp(m, m2, MLEN) != 0) { - printf("m != m2\n"); - } - memset(m2, 0, m2len); - if (crypto_aead_xchacha20poly1305_ietf_decrypt_detached(m2, NULL, - c, MLEN, mac, - ad, ADLEN, - nonce, firstkey) != 0) { - printf("crypto_aead_xchacha20poly1305_ietf_decrypt_detached() failed\n"); - } - if (memcmp(m, m2, MLEN) != 0) { - printf("detached m != m2\n"); - } - - for (i = 0U; i < CLEN; i++) { - c[i] ^= (i + 1U); - if (crypto_aead_xchacha20poly1305_ietf_decrypt(m2, NULL, NULL, c, CLEN, - ad, ADLEN, nonce, firstkey) - == 0 || memcmp(m, m2, MLEN) == 0) { - printf("message can be forged\n"); - } - c[i] ^= (i + 1U); - } - crypto_aead_xchacha20poly1305_ietf_encrypt(c, &found_clen, m, MLEN, - NULL, 0U, NULL, nonce, firstkey); - if (found_clen != CLEN) { - printf("clen is not properly set (adlen=0)\n"); - } - for (i = 0U; i < CLEN; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - printf("\n"); - if (crypto_aead_xchacha20poly1305_ietf_decrypt(m2, &m2len, NULL, c, CLEN, - NULL, 0U, nonce, firstkey) != 0) { - printf("crypto_aead_xchacha20poly1305_ietf_decrypt() failed (adlen=0)\n"); - } - if (m2len != MLEN) { - printf("m2len is not properly set (adlen=0)\n"); - } - if (memcmp(m, m2, MLEN) != 0) { - printf("m != m2 (adlen=0)\n"); - } - m2len = 1; - if (crypto_aead_xchacha20poly1305_ietf_decrypt( - m2, &m2len, NULL, guard_page, - randombytes_uniform(crypto_aead_xchacha20poly1305_ietf_ABYTES), - NULL, 0U, nonce, firstkey) != -1) { - printf("crypto_aead_xchacha20poly1305_ietf_decrypt() worked with a short " - "ciphertext\n"); - } - if (m2len != 0) { - printf("Message length should have been set to zero after a failure\n"); - } - m2len = 1; - if (crypto_aead_xchacha20poly1305_ietf_decrypt(m2, &m2len, NULL, c, 0U, NULL, 0U, - nonce, firstkey) != -1) { - printf("crypto_aead_xchacha20poly1305_ietf_decrypt() worked with an empty " - "ciphertext\n"); - } - if (m2len != 0) { - printf("Message length should have been set to zero after a failure\n"); - } - - memcpy(c, m, MLEN); - crypto_aead_xchacha20poly1305_ietf_encrypt(c, &found_clen, c, MLEN, - NULL, 0U, NULL, nonce, firstkey); - if (found_clen != CLEN) { - printf("clen is not properly set (adlen=0)\n"); - } - for (i = 0U; i < CLEN; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - printf("\n"); - - if (crypto_aead_xchacha20poly1305_ietf_decrypt(c, &m2len, NULL, c, CLEN, - NULL, 0U, nonce, firstkey) != 0) { - printf("crypto_aead_xchacha20poly1305_ietf_decrypt() failed (adlen=0)\n"); - } - if (m2len != MLEN) { - printf("m2len is not properly set (adlen=0)\n"); - } - if (memcmp(m, c, MLEN) != 0) { - printf("m != c (adlen=0)\n"); - } - - crypto_aead_xchacha20poly1305_ietf_keygen(key2); - if (crypto_aead_xchacha20poly1305_ietf_decrypt(c, &m2len, NULL, c, CLEN, - NULL, 0U, nonce, key2) == 0) { - printf("crypto_aead_xchacha20poly1305_ietf_decrypt() with a wrong key should have failed\n"); - } - - sodium_free(c); - sodium_free(detached_c); - sodium_free(key2); - sodium_free(mac); - sodium_free(m2); - sodium_free(m); - - assert(crypto_aead_xchacha20poly1305_ietf_abytes() == crypto_aead_xchacha20poly1305_ietf_ABYTES); - assert(crypto_aead_xchacha20poly1305_ietf_keybytes() == crypto_aead_xchacha20poly1305_ietf_KEYBYTES); - assert(crypto_aead_xchacha20poly1305_ietf_npubbytes() == crypto_aead_xchacha20poly1305_ietf_NPUBBYTES); - assert(crypto_aead_xchacha20poly1305_ietf_nsecbytes() == 0U); - assert(crypto_aead_xchacha20poly1305_ietf_nsecbytes() == crypto_aead_xchacha20poly1305_ietf_NSECBYTES); - assert(crypto_aead_xchacha20poly1305_ietf_messagebytes_max() == crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX); - assert(crypto_aead_xchacha20poly1305_IETF_KEYBYTES == crypto_aead_xchacha20poly1305_ietf_KEYBYTES); - assert(crypto_aead_xchacha20poly1305_IETF_NSECBYTES == crypto_aead_xchacha20poly1305_ietf_NSECBYTES); - assert(crypto_aead_xchacha20poly1305_IETF_NPUBBYTES == crypto_aead_xchacha20poly1305_ietf_NPUBBYTES); - assert(crypto_aead_xchacha20poly1305_IETF_ABYTES == crypto_aead_xchacha20poly1305_ietf_ABYTES); - assert(crypto_aead_xchacha20poly1305_IETF_MESSAGEBYTES_MAX == crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX); - - return 0; -} - -int -main(void) -{ - tv(); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/aead_xchacha20poly1305.exp b/libsodium-1.0.18-RELEASE/test/default/aead_xchacha20poly1305.exp deleted file mode 100644 index d17ee7a..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/aead_xchacha20poly1305.exp +++ /dev/null @@ -1,51 +0,0 @@ -,0xf8,0xeb,0xea,0x48,0x75,0x04,0x40,0x66 -,0xfc,0x16,0x2a,0x06,0x04,0xe1,0x71,0xfe -,0xec,0xfb,0x3d,0x20,0x42,0x52,0x48,0x56 -,0x3b,0xcf,0xd5,0xa1,0x55,0xdc,0xc4,0x7b -,0xbd,0xa7,0x0b,0x86,0xe5,0xab,0x9b,0x55 -,0x00,0x2b,0xd1,0x27,0x4c,0x02,0xdb,0x35 -,0x32,0x1a,0xcd,0x7a,0xf8,0xb2,0xe2,0xd2 -,0x50,0x15,0xe1,0x36,0xb7,0x67,0x94,0x58 -,0xe9,0xf4,0x32,0x43,0xbf,0x71,0x9d,0x63 -,0x9b,0xad,0xb5,0xfe,0xac,0x03,0xf8,0x0a -,0x19,0xa9,0x6e,0xf1,0x0c,0xb1,0xd1,0x53 -,0x33,0xa8,0x37,0xb9,0x09,0x46,0xba,0x38 -,0x54,0xee,0x74,0xda,0x3f,0x25,0x85,0xef -,0xc7,0xe1,0xe1,0x70,0xe1,0x7e,0x15,0xe5 -,0x63,0xe7,0x76,0x01,0xf4,0xf8,0x5c,0xaf -,0xa8,0xe5,0x87,0x76,0x14,0xe1,0x43,0xe6 -,0x84,0x20 -,0xf8,0xeb,0xea,0x48,0x75,0x04,0x40,0x66 -,0xfc,0x16,0x2a,0x06,0x04,0xe1,0x71,0xfe -,0xec,0xfb,0x3d,0x20,0x42,0x52,0x48,0x56 -,0x3b,0xcf,0xd5,0xa1,0x55,0xdc,0xc4,0x7b -,0xbd,0xa7,0x0b,0x86,0xe5,0xab,0x9b,0x55 -,0x00,0x2b,0xd1,0x27,0x4c,0x02,0xdb,0x35 -,0x32,0x1a,0xcd,0x7a,0xf8,0xb2,0xe2,0xd2 -,0x50,0x15,0xe1,0x36,0xb7,0x67,0x94,0x58 -,0xe9,0xf4,0x32,0x43,0xbf,0x71,0x9d,0x63 -,0x9b,0xad,0xb5,0xfe,0xac,0x03,0xf8,0x0a -,0x19,0xa9,0x6e,0xf1,0x0c,0xb1,0xd1,0x53 -,0x33,0xa8,0x37,0xb9,0x09,0x46,0xba,0x38 -,0x54,0xee,0x74,0xda,0x3f,0x25,0x85,0xef -,0xc7,0xe1,0xe1,0x70,0xe1,0x7e,0x15,0xe5 -,0x63,0xe7,0xe0,0x96,0xe0,0x33,0xd9,0x1b -,0x63,0xf7,0xac,0x92,0xe9,0x97,0x2e,0x0d -,0x43,0xe5 -,0xf8,0xeb,0xea,0x48,0x75,0x04,0x40,0x66 -,0xfc,0x16,0x2a,0x06,0x04,0xe1,0x71,0xfe -,0xec,0xfb,0x3d,0x20,0x42,0x52,0x48,0x56 -,0x3b,0xcf,0xd5,0xa1,0x55,0xdc,0xc4,0x7b -,0xbd,0xa7,0x0b,0x86,0xe5,0xab,0x9b,0x55 -,0x00,0x2b,0xd1,0x27,0x4c,0x02,0xdb,0x35 -,0x32,0x1a,0xcd,0x7a,0xf8,0xb2,0xe2,0xd2 -,0x50,0x15,0xe1,0x36,0xb7,0x67,0x94,0x58 -,0xe9,0xf4,0x32,0x43,0xbf,0x71,0x9d,0x63 -,0x9b,0xad,0xb5,0xfe,0xac,0x03,0xf8,0x0a -,0x19,0xa9,0x6e,0xf1,0x0c,0xb1,0xd1,0x53 -,0x33,0xa8,0x37,0xb9,0x09,0x46,0xba,0x38 -,0x54,0xee,0x74,0xda,0x3f,0x25,0x85,0xef -,0xc7,0xe1,0xe1,0x70,0xe1,0x7e,0x15,0xe5 -,0x63,0xe7,0xe0,0x96,0xe0,0x33,0xd9,0x1b -,0x63,0xf7,0xac,0x92,0xe9,0x97,0x2e,0x0d -,0x43,0xe5 diff --git a/libsodium-1.0.18-RELEASE/test/default/auth.c b/libsodium-1.0.18-RELEASE/test/default/auth.c deleted file mode 100644 index 23ac927..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/auth.c +++ /dev/null @@ -1,141 +0,0 @@ - -#define TEST_NAME "auth" -#include "cmptest.h" - -/* "Test Case 2" from RFC 4231 */ -static unsigned char key[32] = "Jefe"; -static unsigned char c[] = "what do ya want for nothing?"; - -/* Hacker manifesto */ -static unsigned char key2[] = - "Another one got caught today, it's all over the papers. \"Teenager " - "Arrested in Computer Crime Scandal\", \"Hacker Arrested after Bank " - "Tampering\"... Damn kids. They're all alike."; - -static unsigned char a[crypto_auth_BYTES]; -static unsigned char a2[crypto_auth_hmacsha512_BYTES]; -static unsigned char a3[crypto_auth_hmacsha512_BYTES]; - -int -main(void) -{ - crypto_auth_hmacsha512_state st; - crypto_auth_hmacsha256_state st256; - crypto_auth_hmacsha512256_state st512_256; - size_t i; - - assert(crypto_auth_hmacsha512_statebytes() == - sizeof(crypto_auth_hmacsha512_state)); - crypto_auth(a, c, sizeof c - 1U, key); - for (i = 0; i < sizeof a; ++i) { - printf(",0x%02x", (unsigned int) a[i]); - if (i % 8 == 7) - printf("\n"); - } - printf("\n"); - - crypto_auth_hmacsha512_init(&st, key, sizeof key); - crypto_auth_hmacsha512_update(&st, c, 1U); - crypto_auth_hmacsha512_update(&st, c, sizeof c - 2U); - crypto_auth_hmacsha512_final(&st, a2); - for (i = 0; i < sizeof a2; ++i) { - printf(",0x%02x", (unsigned int) a2[i]); - if (i % 8 == 7) - printf("\n"); - } - printf("\n"); - - crypto_auth_hmacsha512_init(&st, key2, sizeof key2); - crypto_auth_hmacsha512_update(&st, c, 1U); - crypto_auth_hmacsha512_update(&st, c, sizeof c - 2U); - crypto_auth_hmacsha512_final(&st, a2); - for (i = 0; i < sizeof a2; ++i) { - printf(",0x%02x", (unsigned int) a2[i]); - if (i % 8 == 7) - printf("\n"); - } - - memset(a2, 0, sizeof a2); - crypto_auth_hmacsha256_init(&st256, key2, sizeof key2); - crypto_auth_hmacsha256_update(&st256, guard_page, 0U); - crypto_auth_hmacsha256_update(&st256, c, 1U); - crypto_auth_hmacsha256_update(&st256, c, sizeof c - 2U); - crypto_auth_hmacsha256_final(&st256, a2); - for (i = 0; i < sizeof a2; ++i) { - printf(",0x%02x", (unsigned int) a2[i]); - if (i % 8 == 7) - printf("\n"); - } - - /* Empty message tests: HMAC-SHA512 */ - memset(a2, 0, sizeof a2); - crypto_auth_hmacsha512_init(&st, key, sizeof key); - crypto_auth_hmacsha512_final(&st, a2); - - memset(a3, 0, sizeof a3); - crypto_auth_hmacsha512_init(&st, key, sizeof key); - crypto_auth_hmacsha512_update(&st, a2, 0U); - crypto_auth_hmacsha512_final(&st, a3); - assert(sodium_memcmp(a2, a3, sizeof a2) == 0); - - memset(a3, 0, sizeof a3); - crypto_auth_hmacsha512_init(&st, key, sizeof key); - crypto_auth_hmacsha512_update(&st, guard_page, 0U); - crypto_auth_hmacsha512_final(&st, a3); - assert(sodium_memcmp(a2, a3, sizeof a2) == 0); - - /* Empty message tests: HMAC-SHA512-256 */ - memset(a2, 0, sizeof a2); - crypto_auth_hmacsha512256_init(&st512_256, key, sizeof key); - crypto_auth_hmacsha512256_final(&st512_256, a2); - - memset(a3, 0, sizeof a3); - crypto_auth_hmacsha512256_init(&st512_256, key, sizeof key); - crypto_auth_hmacsha512256_update(&st512_256, a2, 0U); - crypto_auth_hmacsha512256_final(&st512_256, a3); - assert(sodium_memcmp(a2, a3, sizeof a2) == 0); - - memset(a3, 0, sizeof a3); - crypto_auth_hmacsha512256_init(&st512_256, key, sizeof key); - crypto_auth_hmacsha512256_update(&st512_256, guard_page, 0U); - crypto_auth_hmacsha512256_final(&st512_256, a3); - assert(sodium_memcmp(a2, a3, sizeof a2) == 0); - - /* Empty message tests: HMAC-SHA256 */ - - memset(a2, 0, sizeof a2); - crypto_auth_hmacsha256_init(&st256, key, sizeof key); - crypto_auth_hmacsha256_final(&st256, a2); - - memset(a3, 0, sizeof a3); - crypto_auth_hmacsha256_init(&st256, key, sizeof key); - crypto_auth_hmacsha256_update(&st256, a2, 0U); - crypto_auth_hmacsha256_final(&st256, a3); - assert(sodium_memcmp(a2, a3, sizeof a2) == 0); - - memset(a3, 0, sizeof a3); - crypto_auth_hmacsha256_init(&st256, key, sizeof key); - crypto_auth_hmacsha256_update(&st256, guard_page, 0U); - crypto_auth_hmacsha256_final(&st256, a3); - assert(sodium_memcmp(a2, a3, sizeof a2) == 0); - - /* --- */ - - assert(crypto_auth_bytes() > 0U); - assert(crypto_auth_keybytes() > 0U); - assert(strcmp(crypto_auth_primitive(), "hmacsha512256") == 0); - assert(crypto_auth_hmacsha256_bytes() > 0U); - assert(crypto_auth_hmacsha256_keybytes() > 0U); - assert(crypto_auth_hmacsha512_bytes() > 0U); - assert(crypto_auth_hmacsha512_keybytes() > 0U); - assert(crypto_auth_hmacsha512256_bytes() == crypto_auth_bytes()); - assert(crypto_auth_hmacsha512256_keybytes() == crypto_auth_keybytes()); - assert(crypto_auth_hmacsha512256_statebytes() >= - crypto_auth_hmacsha512256_keybytes()); - assert(crypto_auth_hmacsha256_statebytes() == - sizeof(crypto_auth_hmacsha256_state)); - assert(crypto_auth_hmacsha512_statebytes() == - sizeof(crypto_auth_hmacsha512_state)); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/auth.exp b/libsodium-1.0.18-RELEASE/test/default/auth.exp deleted file mode 100644 index 03b57d6..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/auth.exp +++ /dev/null @@ -1,30 +0,0 @@ -,0x16,0x4b,0x7a,0x7b,0xfc,0xf8,0x19,0xe2 -,0xe3,0x95,0xfb,0xe7,0x3b,0x56,0xe0,0xa3 -,0x87,0xbd,0x64,0x22,0x2e,0x83,0x1f,0xd6 -,0x10,0x27,0x0c,0xd7,0xea,0x25,0x05,0x54 - -,0x7b,0x9d,0x83,0x38,0xeb,0x1e,0x3d,0xdd -,0xba,0x8a,0x9a,0x35,0x08,0xd0,0x34,0xa1 -,0xec,0xbe,0x75,0x11,0x37,0xfa,0x1b,0xcb -,0xa0,0xf9,0x2a,0x3e,0x6d,0xfc,0x79,0x80 -,0xb8,0x81,0xa8,0x64,0x5f,0x92,0x67,0x22 -,0x74,0x37,0x96,0x4b,0xf3,0x07,0x0b,0xe2 -,0xb3,0x36,0xb3,0xa3,0x20,0xf8,0x25,0xce -,0xc9,0x87,0x2d,0xb2,0x50,0x4b,0xf3,0x6d - -,0x73,0xe0,0x0d,0xcb,0xf4,0xf8,0xa3,0x33 -,0x30,0xac,0x52,0xed,0x2c,0xc9,0xd1,0xb2 -,0xef,0xb1,0x77,0x13,0xd3,0xec,0xe3,0x96 -,0x14,0x9f,0x37,0x65,0x3c,0xfe,0x70,0xe7 -,0x1f,0x2c,0x6f,0x9a,0x62,0xc3,0xc5,0x3a -,0x31,0x8a,0x9a,0x0b,0x3b,0x78,0x60,0xa4 -,0x31,0x6f,0x72,0x9b,0x8d,0x30,0x0f,0x15 -,0x9b,0x2f,0x60,0x93,0xa8,0x60,0xc1,0xed -,0x62,0x27,0xe4,0xce,0x7c,0x7f,0xe7,0xa4 -,0xba,0x9e,0x2a,0xc3,0x42,0xc3,0x5d,0x24 -,0x03,0x3e,0x38,0x8c,0x9b,0xdc,0x29,0x9b -,0x4a,0x50,0x50,0xf6,0x71,0x70,0xf4,0x83 -,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 -,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 -,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 -,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 diff --git a/libsodium-1.0.18-RELEASE/test/default/auth2.c b/libsodium-1.0.18-RELEASE/test/default/auth2.c deleted file mode 100644 index 583a2d4..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/auth2.c +++ /dev/null @@ -1,34 +0,0 @@ -/* "Test Case AUTH256-4" from RFC 4868 */ - -#define TEST_NAME "auth2" -#include "cmptest.h" - -static unsigned char key[32] = { - 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, - 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, - 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 -}; - -static unsigned char c[50] = { 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd }; - -static unsigned char a[32]; - -int -main(void) -{ - int i; - - crypto_auth_hmacsha256(a, c, sizeof c, key); - for (i = 0; i < 32; ++i) { - printf(",0x%02x", (unsigned int) a[i]); - if (i % 8 == 7) - printf("\n"); - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/auth2.exp b/libsodium-1.0.18-RELEASE/test/default/auth2.exp deleted file mode 100644 index 955951a..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/auth2.exp +++ /dev/null @@ -1,4 +0,0 @@ -,0x37,0x2e,0xfc,0xf9,0xb4,0x0b,0x35,0xc2 -,0x11,0x5b,0x13,0x46,0x90,0x3d,0x2e,0xf4 -,0x2f,0xce,0xd4,0x6f,0x08,0x46,0xe7,0x25 -,0x7b,0xb1,0x56,0xd3,0xd7,0xb3,0x0d,0x3f diff --git a/libsodium-1.0.18-RELEASE/test/default/auth3.c b/libsodium-1.0.18-RELEASE/test/default/auth3.c deleted file mode 100644 index ca90aa7..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/auth3.c +++ /dev/null @@ -1,36 +0,0 @@ -/* "Test Case AUTH256-4" from RFC 4868 */ - -#define TEST_NAME "auth3" -#include "cmptest.h" - -static unsigned char key[32] = { - 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, - 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, - 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20 -}; - -static unsigned char c[50] = { 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, - 0xcd, 0xcd }; - -static unsigned char a[32] = { 0x37, 0x2e, 0xfc, 0xf9, 0xb4, 0x0b, 0x35, 0xc2, - 0x11, 0x5b, 0x13, 0x46, 0x90, 0x3d, 0x2e, 0xf4, - 0x2f, 0xce, 0xd4, 0x6f, 0x08, 0x46, 0xe7, 0x25, - 0x7b, 0xb1, 0x56, 0xd3, 0xd7, 0xb3, 0x0d, 0x3f }; - -int -main(void) -{ - static unsigned char a2[crypto_auth_hmacsha256_BYTES]; - - printf("%d\n", crypto_auth_hmacsha256_verify(a, c, sizeof c, key)); - - crypto_auth_hmacsha256(a2, guard_page, 0U, key); - assert(crypto_auth_hmacsha256_verify(a2, guard_page, 0U, key) == 0); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/auth3.exp b/libsodium-1.0.18-RELEASE/test/default/auth3.exp deleted file mode 100644 index 573541a..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/auth3.exp +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/libsodium-1.0.18-RELEASE/test/default/auth5.c b/libsodium-1.0.18-RELEASE/test/default/auth5.c deleted file mode 100644 index 955c9cf..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/auth5.c +++ /dev/null @@ -1,41 +0,0 @@ - -#define TEST_NAME "auth5" -#include "cmptest.h" - -static unsigned char key[32]; -static unsigned char c[1000]; -static unsigned char a[32]; - -int -main(void) -{ - size_t clen; - - for (clen = 0; clen < 1000; ++clen) { - crypto_auth_keygen(key); - randombytes_buf(c, clen); - crypto_auth(a, c, clen, key); - if (crypto_auth_verify(a, c, clen, key) != 0) { - printf("fail %u\n", (unsigned int) clen); - return 100; - } - if (clen > 0) { - c[rand() % clen] += 1 + (rand() % 255); - if (crypto_auth_verify(a, c, clen, key) == 0) { - printf("forgery %u\n", (unsigned int) clen); - return 100; - } - a[rand() % sizeof a] += 1 + (rand() % 255); - if (crypto_auth_verify(a, c, clen, key) == 0) { - printf("forgery %u\n", (unsigned int) clen); - return 100; - } - } - } - - crypto_auth_keygen(key); - crypto_auth(a, guard_page, 0U, key); - assert(crypto_auth_verify(a, guard_page, 0U, key) == 0); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/auth5.exp b/libsodium-1.0.18-RELEASE/test/default/auth5.exp deleted file mode 100644 index e69de29..0000000 diff --git a/libsodium-1.0.18-RELEASE/test/default/auth6.c b/libsodium-1.0.18-RELEASE/test/default/auth6.c deleted file mode 100644 index f397a05..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/auth6.c +++ /dev/null @@ -1,23 +0,0 @@ - -#define TEST_NAME "auth6" -#include "cmptest.h" - -/* "Test Case 2" from RFC 4231 */ -static unsigned char key[32] = "Jefe"; -static unsigned char c[] = "what do ya want for nothing?"; - -static unsigned char a[64]; - -int -main(void) -{ - int i; - - crypto_auth_hmacsha512(a, c, sizeof c - 1U, key); - for (i = 0; i < 64; ++i) { - printf(",0x%02x", (unsigned int) a[i]); - if (i % 8 == 7) - printf("\n"); - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/auth6.exp b/libsodium-1.0.18-RELEASE/test/default/auth6.exp deleted file mode 100644 index da0c528..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/auth6.exp +++ /dev/null @@ -1,8 +0,0 @@ -,0x16,0x4b,0x7a,0x7b,0xfc,0xf8,0x19,0xe2 -,0xe3,0x95,0xfb,0xe7,0x3b,0x56,0xe0,0xa3 -,0x87,0xbd,0x64,0x22,0x2e,0x83,0x1f,0xd6 -,0x10,0x27,0x0c,0xd7,0xea,0x25,0x05,0x54 -,0x97,0x58,0xbf,0x75,0xc0,0x5a,0x99,0x4a -,0x6d,0x03,0x4f,0x65,0xf8,0xf0,0xe6,0xfd -,0xca,0xea,0xb1,0xa3,0x4d,0x4a,0x6b,0x4b -,0x63,0x6e,0x07,0x0a,0x38,0xbc,0xe7,0x37 diff --git a/libsodium-1.0.18-RELEASE/test/default/auth7.c b/libsodium-1.0.18-RELEASE/test/default/auth7.c deleted file mode 100644 index 3d087f8..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/auth7.c +++ /dev/null @@ -1,41 +0,0 @@ - -#define TEST_NAME "auth7" -#include "cmptest.h" - -static unsigned char key[32]; -static unsigned char c[600]; -static unsigned char a[64]; - -int -main(void) -{ - size_t clen; - - for (clen = 0; clen < sizeof c; ++clen) { - crypto_auth_keygen(key); - randombytes_buf(c, clen); - crypto_auth_hmacsha512(a, c, clen, key); - if (crypto_auth_hmacsha512_verify(a, c, clen, key) != 0) { - printf("fail %u\n", (unsigned int) clen); - return 100; - } - if (clen > 0) { - c[(size_t) rand() % clen] += 1 + (rand() % 255); - if (crypto_auth_hmacsha512_verify(a, c, clen, key) == 0) { - printf("forgery %u\n", (unsigned int) clen); - return 100; - } - a[rand() % sizeof a] += 1 + (rand() % 255); - if (crypto_auth_hmacsha512_verify(a, c, clen, key) == 0) { - printf("forgery %u\n", (unsigned int) clen); - return 100; - } - } - } - - crypto_auth_keygen(key); - crypto_auth_hmacsha512(a, guard_page, 0U, key); - assert(crypto_auth_hmacsha512_verify(a, guard_page, 0U, key) == 0); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/auth7.exp b/libsodium-1.0.18-RELEASE/test/default/auth7.exp deleted file mode 100644 index e69de29..0000000 diff --git a/libsodium-1.0.18-RELEASE/test/default/box.c b/libsodium-1.0.18-RELEASE/test/default/box.c deleted file mode 100644 index 228aca7..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box.c +++ /dev/null @@ -1,112 +0,0 @@ - -#define TEST_NAME "box" -#include "cmptest.h" - -static const unsigned char alicesk[32] = { - 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, 0x7d, 0x3c, 0x16, 0xc1, - 0x72, 0x51, 0xb2, 0x66, 0x45, 0xdf, 0x4c, 0x2f, 0x87, 0xeb, 0xc0, - 0x99, 0x2a, 0xb1, 0x77, 0xfb, 0xa5, 0x1d, 0xb9, 0x2c, 0x2a -}; - -static const unsigned char bobpk[32] = { - 0xde, 0x9e, 0xdb, 0x7d, 0x7b, 0x7d, 0xc1, 0xb4, 0xd3, 0x5b, 0x61, - 0xc2, 0xec, 0xe4, 0x35, 0x37, 0x3f, 0x83, 0x43, 0xc8, 0x5b, 0x78, - 0x67, 0x4d, 0xad, 0xfc, 0x7e, 0x14, 0x6f, 0x88, 0x2b, 0x4f -}; - -static const unsigned char small_order_p[crypto_box_PUBLICKEYBYTES] = { - 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae, 0x16, 0x56, 0xe3, - 0xfa, 0xf1, 0x9f, 0xc4, 0x6a, 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, - 0xb1, 0xfd, 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00 -}; - -static const unsigned char nonce[24] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, - 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8, - 0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19, - 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 }; - -/* API requires first 32 bytes to be 0 */ -static const unsigned char m[163] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0xbe, 0x07, 0x5f, 0xc5, - 0x3c, 0x81, 0xf2, 0xd5, 0xcf, 0x14, 0x13, 0x16, 0xeb, 0xeb, 0x0c, 0x7b, - 0x52, 0x28, 0xc5, 0x2a, 0x4c, 0x62, 0xcb, 0xd4, 0x4b, 0x66, 0x84, 0x9b, - 0x64, 0x24, 0x4f, 0xfc, 0xe5, 0xec, 0xba, 0xaf, 0x33, 0xbd, 0x75, 0x1a, - 0x1a, 0xc7, 0x28, 0xd4, 0x5e, 0x6c, 0x61, 0x29, 0x6c, 0xdc, 0x3c, 0x01, - 0x23, 0x35, 0x61, 0xf4, 0x1d, 0xb6, 0x6c, 0xce, 0x31, 0x4a, 0xdb, 0x31, - 0x0e, 0x3b, 0xe8, 0x25, 0x0c, 0x46, 0xf0, 0x6d, 0xce, 0xea, 0x3a, 0x7f, - 0xa1, 0x34, 0x80, 0x57, 0xe2, 0xf6, 0x55, 0x6a, 0xd6, 0xb1, 0x31, 0x8a, - 0x02, 0x4a, 0x83, 0x8f, 0x21, 0xaf, 0x1f, 0xde, 0x04, 0x89, 0x77, 0xeb, - 0x48, 0xf5, 0x9f, 0xfd, 0x49, 0x24, 0xca, 0x1c, 0x60, 0x90, 0x2e, 0x52, - 0xf0, 0xa0, 0x89, 0xbc, 0x76, 0x89, 0x70, 0x40, 0xe0, 0x82, 0xf9, 0x37, - 0x76, 0x38, 0x48, 0x64, 0x5e, 0x07, 0x05 -}; - -static unsigned char c[163]; - -int -main(void) -{ - unsigned char k[crypto_box_BEFORENMBYTES]; - int i; - int ret; - - ret = crypto_box(c, m, 163, nonce, bobpk, alicesk); - assert(ret == 0); - for (i = 16; i < 163; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) - printf("\n"); - } - printf("\n"); - - ret = crypto_box(c, m, 163, nonce, small_order_p, alicesk); - assert(ret == -1); - - memset(c, 0, sizeof c); - - ret = crypto_box_beforenm(k, bobpk, alicesk); - assert(ret == 0); - crypto_box_afternm(c, m, 163, nonce, k); - for (i = 16; i < 163; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) - printf("\n"); - } - printf("\n"); - - ret = crypto_box_beforenm(k, small_order_p, alicesk); - assert(ret == -1); - - assert(crypto_box_seedbytes() > 0U); - assert(crypto_box_publickeybytes() > 0U); - assert(crypto_box_secretkeybytes() > 0U); - assert(crypto_box_beforenmbytes() > 0U); - assert(crypto_box_noncebytes() > 0U); - assert(crypto_box_zerobytes() > 0U); - assert(crypto_box_boxzerobytes() > 0U); - assert(crypto_box_macbytes() > 0U); - assert(crypto_box_messagebytes_max() > 0U); - assert(strcmp(crypto_box_primitive(), "curve25519xsalsa20poly1305") == 0); - assert(crypto_box_curve25519xsalsa20poly1305_seedbytes() == - crypto_box_seedbytes()); - assert(crypto_box_curve25519xsalsa20poly1305_publickeybytes() == - crypto_box_publickeybytes()); - assert(crypto_box_curve25519xsalsa20poly1305_secretkeybytes() == - crypto_box_secretkeybytes()); - assert(crypto_box_curve25519xsalsa20poly1305_beforenmbytes() == - crypto_box_beforenmbytes()); - assert(crypto_box_curve25519xsalsa20poly1305_noncebytes() == - crypto_box_noncebytes()); - assert(crypto_box_curve25519xsalsa20poly1305_zerobytes() == - crypto_box_zerobytes()); - assert(crypto_box_curve25519xsalsa20poly1305_boxzerobytes() == - crypto_box_boxzerobytes()); - assert(crypto_box_curve25519xsalsa20poly1305_macbytes() == - crypto_box_macbytes()); - assert(crypto_box_curve25519xsalsa20poly1305_messagebytes_max() == - crypto_box_messagebytes_max()); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/box.exp b/libsodium-1.0.18-RELEASE/test/default/box.exp deleted file mode 100644 index 25db669..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box.exp +++ /dev/null @@ -1,38 +0,0 @@ -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5 -,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9 -,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73 -,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce -,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4 -,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a -,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b -,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72 -,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2 -,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38 -,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a -,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae -,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea -,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda -,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde -,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3 -,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6 -,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74 -,0xe3,0x55,0xa5 -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5 -,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9 -,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73 -,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce -,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4 -,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a -,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b -,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72 -,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2 -,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38 -,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a -,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae -,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea -,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda -,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde -,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3 -,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6 -,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74 -,0xe3,0x55,0xa5 diff --git a/libsodium-1.0.18-RELEASE/test/default/box2.c b/libsodium-1.0.18-RELEASE/test/default/box2.c deleted file mode 100644 index 3e46fda..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box2.c +++ /dev/null @@ -1,80 +0,0 @@ - -#define TEST_NAME "box2" -#include "cmptest.h" - -static unsigned char bobsk[32] = { 0x5d, 0xab, 0x08, 0x7e, 0x62, 0x4a, 0x8a, - 0x4b, 0x79, 0xe1, 0x7f, 0x8b, 0x83, 0x80, - 0x0e, 0xe6, 0x6f, 0x3b, 0xb1, 0x29, 0x26, - 0x18, 0xb6, 0xfd, 0x1c, 0x2f, 0x8b, 0x27, - 0xff, 0x88, 0xe0, 0xeb }; - -static unsigned char alicepk[32] = { 0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, - 0x54, 0x74, 0x8b, 0x7d, 0xdc, 0xb4, 0x3e, - 0xf7, 0x5a, 0x0d, 0xbf, 0x3a, 0x0d, 0x26, - 0x38, 0x1a, 0xf4, 0xeb, 0xa4, 0xa9, 0x8e, - 0xaa, 0x9b, 0x4e, 0x6a }; - -static const unsigned char small_order_p[crypto_box_PUBLICKEYBYTES] = { - 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae, 0x16, 0x56, 0xe3, - 0xfa, 0xf1, 0x9f, 0xc4, 0x6a, 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, - 0xb1, 0xfd, 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00 -}; - -static unsigned char nonce[24] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, - 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8, - 0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19, - 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 }; - -/* API requires first 16 bytes to be 0 */ -static unsigned char c[163] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0xf3, 0xff, 0xc7, 0x70, 0x3f, 0x94, 0x00, 0xe5, - 0x2a, 0x7d, 0xfb, 0x4b, 0x3d, 0x33, 0x05, 0xd9, 0x8e, 0x99, 0x3b, 0x9f, - 0x48, 0x68, 0x12, 0x73, 0xc2, 0x96, 0x50, 0xba, 0x32, 0xfc, 0x76, 0xce, - 0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4, 0x47, 0x6f, 0xb8, 0xc5, - 0x31, 0xa1, 0x18, 0x6a, 0xc0, 0xdf, 0xc1, 0x7c, 0x98, 0xdc, 0xe8, 0x7b, - 0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72, 0x71, 0xd2, 0xc2, 0x0f, - 0x9b, 0x92, 0x8f, 0xe2, 0x27, 0x0d, 0x6f, 0xb8, 0x63, 0xd5, 0x17, 0x38, - 0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a, 0xb9, 0x32, 0x16, 0x45, - 0x48, 0xe5, 0x26, 0xae, 0x90, 0x22, 0x43, 0x68, 0x51, 0x7a, 0xcf, 0xea, - 0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda, 0x99, 0x83, 0x2b, 0x61, - 0xca, 0x01, 0xb6, 0xde, 0x56, 0x24, 0x4a, 0x9e, 0x88, 0xd5, 0xf9, 0xb3, - 0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6, 0x59, 0x9b, 0x1f, 0x65, - 0x4c, 0xb4, 0x5a, 0x74, 0xe3, 0x55, 0xa5 -}; - -static unsigned char m[163]; - -int -main(void) -{ - unsigned char k[crypto_box_BEFORENMBYTES]; - int i; - int ret; - - if (crypto_box_open(m, c, 163, nonce, alicepk, bobsk) == 0) { - for (i = 32; i < 163; ++i) { - printf(",0x%02x", (unsigned int) m[i]); - if (i % 8 == 7) - printf("\n"); - } - printf("\n"); - } - ret = crypto_box_open(m, c, 163, nonce, small_order_p, bobsk); - assert(ret == -1); - - memset(m, 0, sizeof m); - ret = crypto_box_beforenm(k, small_order_p, bobsk); - assert(ret == -1); - ret = crypto_box_beforenm(k, alicepk, bobsk); - assert(ret == 0); - if (crypto_box_open_afternm(m, c, 163, nonce, k) == 0) { - for (i = 32; i < 163; ++i) { - printf(",0x%02x", (unsigned int) m[i]); - if (i % 8 == 7) - printf("\n"); - } - printf("\n"); - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/box2.exp b/libsodium-1.0.18-RELEASE/test/default/box2.exp deleted file mode 100644 index 51deccd..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box2.exp +++ /dev/null @@ -1,34 +0,0 @@ -,0xbe,0x07,0x5f,0xc5,0x3c,0x81,0xf2,0xd5 -,0xcf,0x14,0x13,0x16,0xeb,0xeb,0x0c,0x7b -,0x52,0x28,0xc5,0x2a,0x4c,0x62,0xcb,0xd4 -,0x4b,0x66,0x84,0x9b,0x64,0x24,0x4f,0xfc -,0xe5,0xec,0xba,0xaf,0x33,0xbd,0x75,0x1a -,0x1a,0xc7,0x28,0xd4,0x5e,0x6c,0x61,0x29 -,0x6c,0xdc,0x3c,0x01,0x23,0x35,0x61,0xf4 -,0x1d,0xb6,0x6c,0xce,0x31,0x4a,0xdb,0x31 -,0x0e,0x3b,0xe8,0x25,0x0c,0x46,0xf0,0x6d -,0xce,0xea,0x3a,0x7f,0xa1,0x34,0x80,0x57 -,0xe2,0xf6,0x55,0x6a,0xd6,0xb1,0x31,0x8a -,0x02,0x4a,0x83,0x8f,0x21,0xaf,0x1f,0xde -,0x04,0x89,0x77,0xeb,0x48,0xf5,0x9f,0xfd -,0x49,0x24,0xca,0x1c,0x60,0x90,0x2e,0x52 -,0xf0,0xa0,0x89,0xbc,0x76,0x89,0x70,0x40 -,0xe0,0x82,0xf9,0x37,0x76,0x38,0x48,0x64 -,0x5e,0x07,0x05 -,0xbe,0x07,0x5f,0xc5,0x3c,0x81,0xf2,0xd5 -,0xcf,0x14,0x13,0x16,0xeb,0xeb,0x0c,0x7b -,0x52,0x28,0xc5,0x2a,0x4c,0x62,0xcb,0xd4 -,0x4b,0x66,0x84,0x9b,0x64,0x24,0x4f,0xfc -,0xe5,0xec,0xba,0xaf,0x33,0xbd,0x75,0x1a -,0x1a,0xc7,0x28,0xd4,0x5e,0x6c,0x61,0x29 -,0x6c,0xdc,0x3c,0x01,0x23,0x35,0x61,0xf4 -,0x1d,0xb6,0x6c,0xce,0x31,0x4a,0xdb,0x31 -,0x0e,0x3b,0xe8,0x25,0x0c,0x46,0xf0,0x6d -,0xce,0xea,0x3a,0x7f,0xa1,0x34,0x80,0x57 -,0xe2,0xf6,0x55,0x6a,0xd6,0xb1,0x31,0x8a -,0x02,0x4a,0x83,0x8f,0x21,0xaf,0x1f,0xde -,0x04,0x89,0x77,0xeb,0x48,0xf5,0x9f,0xfd -,0x49,0x24,0xca,0x1c,0x60,0x90,0x2e,0x52 -,0xf0,0xa0,0x89,0xbc,0x76,0x89,0x70,0x40 -,0xe0,0x82,0xf9,0x37,0x76,0x38,0x48,0x64 -,0x5e,0x07,0x05 diff --git a/libsodium-1.0.18-RELEASE/test/default/box7.c b/libsodium-1.0.18-RELEASE/test/default/box7.c deleted file mode 100644 index a58ea30..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box7.c +++ /dev/null @@ -1,50 +0,0 @@ - -#define TEST_NAME "box7" -#include "cmptest.h" - -static unsigned char alicesk[crypto_box_SECRETKEYBYTES]; -static unsigned char alicepk[crypto_box_PUBLICKEYBYTES]; -static unsigned char bobsk[crypto_box_SECRETKEYBYTES]; -static unsigned char bobpk[crypto_box_PUBLICKEYBYTES]; -static unsigned char n[crypto_box_NONCEBYTES]; - -int -main(void) -{ - unsigned char *m; - unsigned char *c; - unsigned char *m2; - size_t mlen; - size_t mlen_max = 1000; - size_t i; - int ret; - - m = (unsigned char *) sodium_malloc(mlen_max); - c = (unsigned char *) sodium_malloc(mlen_max); - m2 = (unsigned char *) sodium_malloc(mlen_max); - memset(m, 0, crypto_box_ZEROBYTES); - crypto_box_keypair(alicepk, alicesk); - crypto_box_keypair(bobpk, bobsk); - for (mlen = 0; mlen + crypto_box_ZEROBYTES <= mlen_max; mlen++) { - randombytes_buf(n, crypto_box_NONCEBYTES); - randombytes_buf(m + crypto_box_ZEROBYTES, mlen); - ret = crypto_box(c, m, mlen + crypto_box_ZEROBYTES, n, bobpk, alicesk); - assert(ret == 0); - if (crypto_box_open(m2, c, mlen + crypto_box_ZEROBYTES, n, alicepk, - bobsk) == 0) { - for (i = 0; i < mlen + crypto_box_ZEROBYTES; ++i) { - if (m2[i] != m[i]) { - printf("bad decryption\n"); - break; - } - } - } else { - printf("ciphertext fails verification\n"); - } - } - sodium_free(m); - sodium_free(c); - sodium_free(m2); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/box7.exp b/libsodium-1.0.18-RELEASE/test/default/box7.exp deleted file mode 100644 index e69de29..0000000 diff --git a/libsodium-1.0.18-RELEASE/test/default/box8.c b/libsodium-1.0.18-RELEASE/test/default/box8.c deleted file mode 100644 index 4d27f33..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box8.c +++ /dev/null @@ -1,58 +0,0 @@ - -#define TEST_NAME "box8" -#include "cmptest.h" - -static unsigned char alicesk[crypto_box_SECRETKEYBYTES]; -static unsigned char alicepk[crypto_box_PUBLICKEYBYTES]; -static unsigned char bobsk[crypto_box_SECRETKEYBYTES]; -static unsigned char bobpk[crypto_box_PUBLICKEYBYTES]; -static unsigned char n[crypto_box_NONCEBYTES]; - -int -main(void) -{ - unsigned char *m; - unsigned char *c; - unsigned char *m2; - size_t mlen; - size_t mlen_max = 1000; - size_t i; - int faults; - int ret; - - m = (unsigned char *) sodium_malloc(mlen_max); - c = (unsigned char *) sodium_malloc(mlen_max); - m2 = (unsigned char *) sodium_malloc(mlen_max); - crypto_box_keypair(alicepk, alicesk); - crypto_box_keypair(bobpk, bobsk); - for (mlen = 0; mlen + crypto_box_ZEROBYTES <= mlen_max; mlen++) { - randombytes_buf(n, crypto_box_NONCEBYTES); - randombytes_buf(m + crypto_box_ZEROBYTES, mlen); - ret = crypto_box(c, m, mlen + crypto_box_ZEROBYTES, n, bobpk, alicesk); - assert(ret == 0); -#ifdef BROWSER_TESTS - faults = 1; -#else - faults = 5; -#endif - while (faults > 0) { - c[rand() % (mlen + crypto_box_ZEROBYTES)] = rand(); - if (crypto_box_open(m2, c, mlen + crypto_box_ZEROBYTES, n, alicepk, - bobsk) == 0) { - for (i = 0; i < mlen + crypto_box_ZEROBYTES; ++i) { - if (m2[i] != m[i]) { - printf("forgery\n"); - return 100; - } - } - } else { - faults--; - } - } - } - sodium_free(m); - sodium_free(c); - sodium_free(m2); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/box8.exp b/libsodium-1.0.18-RELEASE/test/default/box8.exp deleted file mode 100644 index e69de29..0000000 diff --git a/libsodium-1.0.18-RELEASE/test/default/box_easy.c b/libsodium-1.0.18-RELEASE/test/default/box_easy.c deleted file mode 100644 index 2e6a20f..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box_easy.c +++ /dev/null @@ -1,72 +0,0 @@ - -#define TEST_NAME "box_easy" -#include "cmptest.h" - -static unsigned char alicesk[32] = { 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, - 0x7d, 0x3c, 0x16, 0xc1, 0x72, 0x51, 0xb2, - 0x66, 0x45, 0xdf, 0x4c, 0x2f, 0x87, 0xeb, - 0xc0, 0x99, 0x2a, 0xb1, 0x77, 0xfb, 0xa5, - 0x1d, 0xb9, 0x2c, 0x2a }; - -static unsigned char bobpk[32] = { 0xde, 0x9e, 0xdb, 0x7d, 0x7b, 0x7d, 0xc1, - 0xb4, 0xd3, 0x5b, 0x61, 0xc2, 0xec, 0xe4, - 0x35, 0x37, 0x3f, 0x83, 0x43, 0xc8, 0x5b, - 0x78, 0x67, 0x4d, 0xad, 0xfc, 0x7e, 0x14, - 0x6f, 0x88, 0x2b, 0x4f }; - -static unsigned char nonce[24] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, - 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8, - 0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19, - 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 }; - -static unsigned char m[131] = { - 0xbe, 0x07, 0x5f, 0xc5, 0x3c, 0x81, 0xf2, 0xd5, 0xcf, 0x14, 0x13, 0x16, - 0xeb, 0xeb, 0x0c, 0x7b, 0x52, 0x28, 0xc5, 0x2a, 0x4c, 0x62, 0xcb, 0xd4, - 0x4b, 0x66, 0x84, 0x9b, 0x64, 0x24, 0x4f, 0xfc, 0xe5, 0xec, 0xba, 0xaf, - 0x33, 0xbd, 0x75, 0x1a, 0x1a, 0xc7, 0x28, 0xd4, 0x5e, 0x6c, 0x61, 0x29, - 0x6c, 0xdc, 0x3c, 0x01, 0x23, 0x35, 0x61, 0xf4, 0x1d, 0xb6, 0x6c, 0xce, - 0x31, 0x4a, 0xdb, 0x31, 0x0e, 0x3b, 0xe8, 0x25, 0x0c, 0x46, 0xf0, 0x6d, - 0xce, 0xea, 0x3a, 0x7f, 0xa1, 0x34, 0x80, 0x57, 0xe2, 0xf6, 0x55, 0x6a, - 0xd6, 0xb1, 0x31, 0x8a, 0x02, 0x4a, 0x83, 0x8f, 0x21, 0xaf, 0x1f, 0xde, - 0x04, 0x89, 0x77, 0xeb, 0x48, 0xf5, 0x9f, 0xfd, 0x49, 0x24, 0xca, 0x1c, - 0x60, 0x90, 0x2e, 0x52, 0xf0, 0xa0, 0x89, 0xbc, 0x76, 0x89, 0x70, 0x40, - 0xe0, 0x82, 0xf9, 0x37, 0x76, 0x38, 0x48, 0x64, 0x5e, 0x07, 0x05 -}; - -static unsigned char c[147 + crypto_box_MACBYTES]; - -int -main(void) -{ - size_t i; - int ret; - - ret = crypto_box_easy(c, m, 131, nonce, bobpk, alicesk); - assert(ret == 0); - for (i = 0; i < 131 + crypto_box_MACBYTES; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - - /* Null message */ - - ret = crypto_box_easy(c, guard_page, 0, nonce, bobpk, alicesk); - assert(ret == 0); - for (i = 0; i < 1 + crypto_box_MACBYTES; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - - ret = - crypto_box_open_easy(c, c, crypto_box_MACBYTES, nonce, bobpk, alicesk); - assert(ret == 0); - for (i = 0; i < 1 + crypto_box_MACBYTES; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - c[randombytes_uniform(crypto_box_MACBYTES)]++; - ret = crypto_box_open_easy(c, c, crypto_box_MACBYTES, nonce, bobpk, alicesk); - assert(ret == -1); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/box_easy.exp b/libsodium-1.0.18-RELEASE/test/default/box_easy.exp deleted file mode 100644 index f13afd0..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box_easy.exp +++ /dev/null @@ -1,3 +0,0 @@ -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74,0xe3,0x55,0xa5 -,0x25,0x39,0x12,0x1d,0x8e,0x23,0x4e,0x65,0x2d,0x65,0x1f,0xa4,0xc8,0xcf,0xf8,0x80,0x8e -,0x25,0x39,0x12,0x1d,0x8e,0x23,0x4e,0x65,0x2d,0x65,0x1f,0xa4,0xc8,0xcf,0xf8,0x80,0x8e diff --git a/libsodium-1.0.18-RELEASE/test/default/box_easy2.c b/libsodium-1.0.18-RELEASE/test/default/box_easy2.c deleted file mode 100644 index 05cb099..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box_easy2.c +++ /dev/null @@ -1,149 +0,0 @@ - -#define TEST_NAME "box_easy2" -#include "cmptest.h" - -static const unsigned char small_order_p[crypto_box_PUBLICKEYBYTES] = { - 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae, 0x16, 0x56, 0xe3, - 0xfa, 0xf1, 0x9f, 0xc4, 0x6a, 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, - 0xb1, 0xfd, 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00 -}; - -int -main(void) -{ - unsigned char *alicepk; - unsigned char *alicesk; - unsigned char *bobpk; - unsigned char *bobsk; - unsigned char *mac; - unsigned char *nonce; - unsigned char *k1; - unsigned char *k2; - unsigned char *m; - unsigned char *m2; - unsigned char *c; - size_t mlen; - size_t i; - size_t m_size; - size_t m2_size; - size_t c_size; - int ret; - - m2_size = m_size = 7U + randombytes_uniform(1000); - c_size = crypto_box_MACBYTES + m_size; - m = (unsigned char *) sodium_malloc(m_size); - m2 = (unsigned char *) sodium_malloc(m2_size); - c = (unsigned char *) sodium_malloc(c_size); - alicepk = (unsigned char *) sodium_malloc(crypto_box_PUBLICKEYBYTES); - alicesk = (unsigned char *) sodium_malloc(crypto_box_SECRETKEYBYTES); - bobpk = (unsigned char *) sodium_malloc(crypto_box_PUBLICKEYBYTES); - bobsk = (unsigned char *) sodium_malloc(crypto_box_SECRETKEYBYTES); - mac = (unsigned char *) sodium_malloc(crypto_box_MACBYTES); - nonce = (unsigned char *) sodium_malloc(crypto_box_NONCEBYTES); - k1 = (unsigned char *) sodium_malloc(crypto_box_BEFORENMBYTES); - k2 = (unsigned char *) sodium_malloc(crypto_box_BEFORENMBYTES); - crypto_box_keypair(alicepk, alicesk); - crypto_box_keypair(bobpk, bobsk); - mlen = (size_t) randombytes_uniform((uint32_t) m_size) + 1U; - randombytes_buf(m, mlen); - randombytes_buf(nonce, crypto_box_NONCEBYTES); - ret = crypto_box_easy(c, m, mlen, nonce, bobpk, alicesk); - assert(ret == 0); - if (crypto_box_open_easy(m2, c, - (unsigned long long) mlen + crypto_box_MACBYTES, - nonce, alicepk, bobsk) != 0) { - printf("open() failed"); - return 1; - } - printf("%d\n", memcmp(m, m2, mlen)); - - for (i = 0; i < mlen + crypto_box_MACBYTES - 1; i++) { - if (crypto_box_open_easy(m2, c, (unsigned long long) i, nonce, alicepk, - bobsk) == 0) { - printf("short open() should have failed"); - return 1; - } - } - memcpy(c, m, mlen); - ret = - crypto_box_easy(c, c, (unsigned long long) mlen, nonce, bobpk, alicesk); - assert(ret == 0); - printf("%d\n", memcmp(m, c, mlen) == 0); - printf("%d\n", memcmp(m, c + crypto_box_MACBYTES, mlen) == 0); - if (crypto_box_open_easy(c, c, - (unsigned long long) mlen + crypto_box_MACBYTES, - nonce, alicepk, bobsk) != 0) { - printf("crypto_box_open_easy() failed\n"); - } - - ret = crypto_box_beforenm(k1, small_order_p, bobsk); - assert(ret == -1); - ret = crypto_box_beforenm(k2, small_order_p, alicesk); - assert(ret == -1); - - ret = crypto_box_beforenm(k1, alicepk, bobsk); - assert(ret == 0); - ret = crypto_box_beforenm(k2, bobpk, alicesk); - assert(ret == 0); - - memset(m2, 0, m2_size); - - if (crypto_box_easy_afternm(c, m, 0, nonce, k1) != 0) { - printf( - "crypto_box_easy_afternm() with a null ciphertext should have " - "worked\n"); - } - crypto_box_easy_afternm(c, m, (unsigned long long) mlen, nonce, k1); - if (crypto_box_open_easy_afternm( - m2, c, (unsigned long long) mlen + crypto_box_MACBYTES, nonce, - k2) != 0) { - printf("crypto_box_open_easy_afternm() failed\n"); - } - printf("%d\n", memcmp(m, m2, mlen)); - if (crypto_box_open_easy_afternm(m2, c, crypto_box_MACBYTES - 1U, nonce, - k2) == 0) { - printf( - "crypto_box_open_easy_afternm() with a huge ciphertext should have " - "failed\n"); - } - memset(m2, 0, m2_size); - ret = crypto_box_detached(c, mac, m, (unsigned long long) mlen, nonce, - small_order_p, bobsk); - assert(ret == -1); - ret = crypto_box_detached(c, mac, m, (unsigned long long) mlen, nonce, - alicepk, bobsk); - assert(ret == 0); - if (crypto_box_open_detached(m2, c, mac, (unsigned long long) mlen, nonce, - small_order_p, alicesk) != -1) { - printf("crypto_box_open_detached() with a weak key passed\n"); - } - if (crypto_box_open_detached(m2, c, mac, (unsigned long long) mlen, nonce, - bobpk, alicesk) != 0) { - printf("crypto_box_open_detached() failed\n"); - } - printf("%d\n", memcmp(m, m2, mlen)); - - memset(m2, 0, m2_size); - crypto_box_detached_afternm(c, mac, m, (unsigned long long) mlen, nonce, - k1); - if (crypto_box_open_detached_afternm(m2, c, mac, (unsigned long long) mlen, - nonce, k2) != 0) { - printf("crypto_box_open_detached_afternm() failed\n"); - } - printf("%d\n", memcmp(m, m2, mlen)); - - sodium_free(alicepk); - sodium_free(alicesk); - sodium_free(bobpk); - sodium_free(bobsk); - sodium_free(mac); - sodium_free(nonce); - sodium_free(k1); - sodium_free(k2); - sodium_free(m); - sodium_free(m2); - sodium_free(c); - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/box_easy2.exp b/libsodium-1.0.18-RELEASE/test/default/box_easy2.exp deleted file mode 100644 index 9a8dd6c..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box_easy2.exp +++ /dev/null @@ -1,7 +0,0 @@ -0 -0 -0 -0 -0 -0 -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/box_seal.c b/libsodium-1.0.18-RELEASE/test/default/box_seal.c deleted file mode 100644 index 01765ca..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box_seal.c +++ /dev/null @@ -1,101 +0,0 @@ - -#define TEST_NAME "box_seal" -#include "cmptest.h" - -static -void tv1(void) -{ - unsigned char pk[crypto_box_PUBLICKEYBYTES]; - unsigned char sk[crypto_box_SECRETKEYBYTES]; - unsigned char *c; - unsigned char *m; - unsigned char *m2; - size_t m_len; - size_t c_len; - - crypto_box_keypair(pk, sk); - m_len = (size_t) randombytes_uniform(1000); - c_len = crypto_box_SEALBYTES + m_len; - m = (unsigned char *) sodium_malloc(m_len); - m2 = (unsigned char *) sodium_malloc(m_len); - c = (unsigned char *) sodium_malloc(c_len); - randombytes_buf(m, m_len); - if (crypto_box_seal(c, m, m_len, pk) != 0) { - printf("crypto_box_seal() failure\n"); - return; - } - if (crypto_box_seal_open(m2, c, c_len, pk, sk) != 0) { - printf("crypto_box_seal_open() failure\n"); - return; - } - printf("%d\n", memcmp(m, m2, m_len)); - - printf("%d\n", crypto_box_seal_open(m, c, 0U, pk, sk)); - printf("%d\n", crypto_box_seal_open(m, c, c_len - 1U, pk, sk)); - printf("%d\n", crypto_box_seal_open(m, c, c_len, sk, pk)); - - sodium_free(c); - sodium_free(m); - sodium_free(m2); - - assert(crypto_box_sealbytes() == crypto_box_SEALBYTES); -} - -#ifndef SODIUM_LIBRARY_MINIMAL -static -void tv2(void) -{ - unsigned char pk[crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES]; - unsigned char sk[crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES]; - unsigned char *c; - unsigned char *m; - unsigned char *m2; - size_t m_len; - size_t c_len; - - crypto_box_curve25519xchacha20poly1305_keypair(pk, sk); - m_len = (size_t) randombytes_uniform(1000); - c_len = crypto_box_curve25519xchacha20poly1305_SEALBYTES + m_len; - m = (unsigned char *) sodium_malloc(m_len); - m2 = (unsigned char *) sodium_malloc(m_len); - c = (unsigned char *) sodium_malloc(c_len); - randombytes_buf(m, m_len); - if (crypto_box_curve25519xchacha20poly1305_seal(c, m, m_len, pk) != 0) { - printf("crypto_box_curve25519xchacha20poly1305_seal() failure\n"); - return; - } - if (crypto_box_curve25519xchacha20poly1305_seal_open(m2, c, c_len, pk, sk) != 0) { - printf("crypto_box_curve25519xchacha20poly1305_seal_open() failure\n"); - return; - } - printf("%d\n", memcmp(m, m2, m_len)); - - printf("%d\n", crypto_box_curve25519xchacha20poly1305_seal_open(m, c, 0U, pk, sk)); - printf("%d\n", crypto_box_curve25519xchacha20poly1305_seal_open(m, c, c_len - 1U, pk, sk)); - printf("%d\n", crypto_box_curve25519xchacha20poly1305_seal_open(m, c, c_len, sk, pk)); - - sodium_free(c); - sodium_free(m); - sodium_free(m2); - - assert(crypto_box_curve25519xchacha20poly1305_sealbytes() == - crypto_box_curve25519xchacha20poly1305_SEALBYTES); -} - -#else - -static -void tv2(void) -{ - printf("0\n-1\n-1\n-1\n"); -} -#endif - -int -main(void) -{ - tv1(); - tv2(); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/box_seal.exp b/libsodium-1.0.18-RELEASE/test/default/box_seal.exp deleted file mode 100644 index ded7a43..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box_seal.exp +++ /dev/null @@ -1,8 +0,0 @@ -0 --1 --1 --1 -0 --1 --1 --1 diff --git a/libsodium-1.0.18-RELEASE/test/default/box_seed.c b/libsodium-1.0.18-RELEASE/test/default/box_seed.c deleted file mode 100644 index 95930d3..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box_seed.c +++ /dev/null @@ -1,30 +0,0 @@ - -#define TEST_NAME "box_seed" -#include "cmptest.h" - -static unsigned char seed[32] = { 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, - 0x7d, 0x3c, 0x16, 0xc1, 0x72, 0x51, 0xb2, - 0x66, 0x45, 0xdf, 0x4c, 0x2f, 0x87, 0xeb, - 0xc0, 0x99, 0x2a, 0xb1, 0x77, 0xfb, 0xa5, - 0x1d, 0xb9, 0x2c, 0x2a }; - -int -main(void) -{ - int i; - unsigned char sk[32]; - unsigned char pk[32]; - - crypto_box_seed_keypair(pk, sk, seed); - for (i = 0; i < 32; ++i) { - printf(",0x%02x", (unsigned int) pk[i]); - if (i % 8 == 7) - printf("\n"); - } - for (i = 0; i < 32; ++i) { - printf(",0x%02x", (unsigned int) sk[i]); - if (i % 8 == 7) - printf("\n"); - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/box_seed.exp b/libsodium-1.0.18-RELEASE/test/default/box_seed.exp deleted file mode 100644 index 20e6806..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/box_seed.exp +++ /dev/null @@ -1,8 +0,0 @@ -,0xed,0x77,0x49,0xb4,0xd9,0x89,0xf6,0x95 -,0x7f,0x3b,0xfd,0xe6,0xc5,0x67,0x67,0xe9 -,0x88,0xe2,0x1c,0x9f,0x87,0x84,0xd9,0x1d -,0x61,0x00,0x11,0xcd,0x55,0x3f,0x9b,0x06 -,0xac,0xcd,0x44,0xeb,0x8e,0x93,0x31,0x9c -,0x05,0x70,0xbc,0x11,0x00,0x5c,0x0e,0x01 -,0x89,0xd3,0x4f,0xf0,0x2f,0x6c,0x17,0x77 -,0x34,0x11,0xad,0x19,0x12,0x93,0xc9,0x8f diff --git a/libsodium-1.0.18-RELEASE/test/default/chacha20.c b/libsodium-1.0.18-RELEASE/test/default/chacha20.c deleted file mode 100644 index d92b11e..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/chacha20.c +++ /dev/null @@ -1,186 +0,0 @@ - -#define TEST_NAME "chacha20" -#include "cmptest.h" - -static -void tv(void) -{ - static struct { - const char *key_hex; - const char *nonce_hex; - } tests[] - = { { "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000000" }, - { "0000000000000000000000000000000000000000000000000000000000000001", - "0000000000000000" }, - { "0000000000000000000000000000000000000000000000000000000000000000", - "0000000000000001" }, - { "0000000000000000000000000000000000000000000000000000000000000000", - "0100000000000000" }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "0001020304050607" } }; - unsigned char key[crypto_stream_chacha20_KEYBYTES]; - unsigned char nonce[crypto_stream_chacha20_NONCEBYTES]; - unsigned char *part; - unsigned char out[160]; - unsigned char zero[160]; - char out_hex[160 * 2 + 1]; - size_t i = 0U; - size_t plen; - - memset(zero, 0, sizeof zero); - do { - sodium_hex2bin((unsigned char *)key, sizeof key, tests[i].key_hex, - strlen(tests[i].key_hex), NULL, NULL, NULL); - sodium_hex2bin(nonce, sizeof nonce, tests[i].nonce_hex, - strlen(tests[i].nonce_hex), NULL, NULL, NULL); - crypto_stream_chacha20(out, sizeof out, nonce, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); - for (plen = 1U; plen < sizeof out; plen++) { - part = (unsigned char *) sodium_malloc(plen); - crypto_stream_chacha20_xor(part, out, plen, nonce, key); - if (memcmp(part, zero, plen) != 0) { - printf("Failed with length %lu\n", (unsigned long) plen); - } - sodium_free(part); - } - } while (++i < (sizeof tests) / (sizeof tests[0])); - assert(66 <= sizeof out); - for (plen = 1U; plen < 66; plen += 3) { - memset(out, (int) (plen & 0xff), sizeof out); - crypto_stream_chacha20(out, plen, nonce, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); - } - randombytes_buf(out, sizeof out); - crypto_stream_chacha20(out, sizeof out, nonce, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); - - assert(crypto_stream_chacha20(out, 0U, nonce, key) == 0); - assert(crypto_stream_chacha20_xor(out, out, 0U, nonce, key) == 0); - assert(crypto_stream_chacha20_xor(out, out, 0U, nonce, key) == 0); - assert(crypto_stream_chacha20_xor_ic(out, out, 0U, nonce, 1U, key) == 0); - - memset(out, 0x42, sizeof out); - crypto_stream_chacha20_xor(out, out, sizeof out, nonce, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); - - crypto_stream_chacha20_xor_ic(out, out, sizeof out, nonce, 0U, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); - - crypto_stream_chacha20_xor_ic(out, out, sizeof out, nonce, 1U, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); -} - -static -void tv_ietf(void) -{ - static struct { - const char *key_hex; - const char *nonce_hex; - uint32_t ic; - } tests[] - = { { "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000", - 0U }, - { "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000", - 1U }, - { "0000000000000000000000000000000000000000000000000000000000000001", - "000000000000000000000000", - 1U }, - { "00ff000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000000", - 2U }, - { "0000000000000000000000000000000000000000000000000000000000000000", - "000000000000000000000002", - 0U }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "000000090000004a00000000", - 1U }, - { "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "000000090000004a00000000", - 0xfeffffff }}; - unsigned char key[crypto_stream_chacha20_KEYBYTES]; - unsigned char nonce[crypto_stream_chacha20_IETF_NONCEBYTES]; - unsigned char *part; - unsigned char out[160]; - unsigned char zero[160]; - char out_hex[160 * 2 + 1]; - size_t i = 0U; - size_t plen; - - memset(zero, 0, sizeof zero); - do { - sodium_hex2bin((unsigned char *)key, sizeof key, tests[i].key_hex, - strlen(tests[i].key_hex), ": ", NULL, NULL); - sodium_hex2bin(nonce, sizeof nonce, tests[i].nonce_hex, - strlen(tests[i].nonce_hex), ": ", NULL, NULL); - memset(out, 0, sizeof out); - crypto_stream_chacha20_ietf_xor_ic(out, out, sizeof out, nonce, tests[i].ic, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); - for (plen = 1U; plen < sizeof out; plen++) { - part = (unsigned char *) sodium_malloc(plen); - crypto_stream_chacha20_ietf_xor_ic(part, out, plen, nonce, tests[i].ic, key); - if (memcmp(part, zero, plen) != 0) { - printf("Failed with length %lu\n", (unsigned long) plen); - } - sodium_free(part); - } - } while (++i < (sizeof tests) / (sizeof tests[0])); - assert(66 <= sizeof out); - for (plen = 1U; plen < 66; plen += 3) { - memset(out, (int) (plen & 0xff), sizeof out); - crypto_stream_chacha20(out, plen, nonce, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); - } - randombytes_buf(out, sizeof out); - crypto_stream_chacha20_ietf(out, sizeof out, nonce, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); - - assert(crypto_stream_chacha20_ietf(out, 0U, nonce, key) == 0); - assert(crypto_stream_chacha20_ietf_xor(out, out, 0U, nonce, key) == 0); - assert(crypto_stream_chacha20_ietf_xor(out, out, 0U, nonce, key) == 0); - assert(crypto_stream_chacha20_ietf_xor_ic(out, out, 0U, nonce, 1U, key) == 0); - - memset(out, 0x42, sizeof out); - crypto_stream_chacha20_ietf_xor(out, out, sizeof out, nonce, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); - - crypto_stream_chacha20_ietf_xor_ic(out, out, sizeof out, nonce, 0U, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); - - crypto_stream_chacha20_ietf_xor_ic(out, out, sizeof out, nonce, 1U, key); - sodium_bin2hex(out_hex, sizeof out_hex, out, sizeof out); - printf("[%s]\n", out_hex); -} - -int -main(void) -{ - tv(); - tv_ietf(); - - assert(crypto_stream_chacha20_keybytes() > 0U); - assert(crypto_stream_chacha20_keybytes() == crypto_stream_chacha20_KEYBYTES); - assert(crypto_stream_chacha20_noncebytes() > 0U); - assert(crypto_stream_chacha20_noncebytes() == crypto_stream_chacha20_NONCEBYTES); - assert(crypto_stream_chacha20_messagebytes_max() == crypto_stream_chacha20_MESSAGEBYTES_MAX); - assert(crypto_stream_chacha20_ietf_keybytes() > 0U); - assert(crypto_stream_chacha20_ietf_keybytes() == crypto_stream_chacha20_ietf_KEYBYTES); - assert(crypto_stream_chacha20_ietf_noncebytes() > 0U); - assert(crypto_stream_chacha20_ietf_noncebytes() == crypto_stream_chacha20_ietf_NONCEBYTES); - assert(crypto_stream_chacha20_ietf_messagebytes_max() == crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/chacha20.exp b/libsodium-1.0.18-RELEASE/test/default/chacha20.exp deleted file mode 100644 index 1b2017c..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/chacha20.exp +++ /dev/null @@ -1,64 +0,0 @@ -[76b8e0ada0f13d90405d6ae55386bd28bdd219b8a08ded1aa836efcc8b770dc7da41597c5157488d7724e03fb8d84a376a43b8f41518a11cc387b669b2ee65869f07e7be5551387a98ba977c732d080dcb0f29a048e3656912c6533e32ee7aed29b721769ce64e43d57133b074d839d531ed1f28510afb45ace10a1f4b794d6f2d09a0e663266ce1ae7ed1081968a0758e718e997bd362c6b0c34634a9a0b35d] -[4540f05a9f1fb296d7736e7b208e3c96eb4fe1834688d2604f450952ed432d41bbe2a0b6ea7566d2a5d1e7e20d42af2c53d792b1c43fea817e9ad275ae5469633aeb5224ecf849929b9d828db1ced4dd832025e8018b8160b82284f3c949aa5a8eca00bbb4a73bdad192b5c42f73f2fd4e273644c8b36125a64addeb006c13a096d68b9ff7b57e7090f880392effd5b297a83bbaf2fbe8cf5d4618965e3dc776] -[de9cba7bf3d69ef5e786dc63973f653a0b49e015adbff7134fcb7df137821031e85a050278a7084527214f73efc7fa5b5277062eb7a0433e445f41e31afab757283547e3d3d30ee0371c1e6025ff4c91b794a291cf7568d48ff84b37329e2730b12738a072a2b2c7169e326fe4893a7b2421bb910b79599a7ce4fbaee86be427c5ee0e8225eb6f48231fd504939d59eac8bd106cc138779b893c54da8758f62a] -[ef3fdfd6c61578fbf5cf35bd3dd33b8009631634d21e42ac33960bd138e50d32111e4caf237ee53ca8ad6426194a88545ddc497a0b466e7d6bbdb0041b2f586b5305e5e44aff19b235936144675efbe4409eb7e8e5f1430f5f5836aeb49bb5328b017c4b9dc11f8a03863fa803dc71d5726b2b6b31aa32708afe5af1d6b690584d58792b271e5fdb92c486051c48b79a4d48a109bb2d0477956e74c25e93c3c2] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025] -[f7010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101] -[f798a189040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404] -[f798a189f195e6070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707] -[f798a189f195e66982100a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a] -[f798a189f195e66982105ffb640d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d] -[f798a189f195e66982105ffb640bb775101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010] -[f798a189f195e66982105ffb640bb7757f579d131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313] -[f798a189f195e66982105ffb640bb7757f579da31602161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac561c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac31f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b73252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b4641282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c92b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c94400492e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f159163a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040] -[f798a189f195e66982105ffb640bb7757f579da31602fc93ec01ac56f85ac3c134a4547b733b46413042c9440049176905d3be59ea1c53f15916155c2be8241a38008b9a26bc35941e2444177c8ade6689de95264986d95889fb60e84629c9bd9a5acb1cc118be563eb9b3a4a472f82e09a7e778492b562ef7130e88dfe031c79db9d4f7c7a899151b9a475032b63fc385245fe054e3dd5a97a5f576fe064025] -[b5dae3cbb3d7a42bc0521db92649f5373d15dfe15440bed1ae43ee14ba18818376e616393179040372008b06420b552b4791fc1ba85e11b31b54571e69aa66587a42c9d864fe77d65c6606553ec89c24cb9cd7640bc49b1acbb922aa046b8bffd818895e835afc147cfbf1e6e630ba6c4be5a53a0b69146cb5514cca9da27385dffb96b585eadb5759d8051270f47d81c7661da216a19f18d5e7b734bc440267] -[42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242] -[7a42c9d864fe77d65c6606553ec89c24cb9cd7640bc49b1acbb922aa046b8bffd818895e835afc147cfbf1e6e630ba6c4be5a53a0b69146cb5514cca9da27385dffb96b585eadb5759d8051270f47d81c7661da216a19f18d5e7b734bc440267918c466e1428f08745f37a99c77c7f2b1b244bd4162e8b86e4a8bf85358202954ced04b52fef7b3ba787744e715554285ecb0ed6e133c528d69d346abc0ce8b0] -[76b8e0ada0f13d90405d6ae55386bd28bdd219b8a08ded1aa836efcc8b770dc7da41597c5157488d7724e03fb8d84a376a43b8f41518a11cc387b669b2ee65869f07e7be5551387a98ba977c732d080dcb0f29a048e3656912c6533e32ee7aed29b721769ce64e43d57133b074d839d531ed1f28510afb45ace10a1f4b794d6f2d09a0e663266ce1ae7ed1081968a0758e718e997bd362c6b0c34634a9a0b35d] -[9f07e7be5551387a98ba977c732d080dcb0f29a048e3656912c6533e32ee7aed29b721769ce64e43d57133b074d839d531ed1f28510afb45ace10a1f4b794d6f2d09a0e663266ce1ae7ed1081968a0758e718e997bd362c6b0c34634a9a0b35d012737681f7b5d0f281e3afde458bc1e73d2d313c9cf94c05ff3716240a248f21320a058d7b3566bd520daaa3ed2bf0ac5b8b120fb852773c3639734b45c91a4] -[3aeb5224ecf849929b9d828db1ced4dd832025e8018b8160b82284f3c949aa5a8eca00bbb4a73bdad192b5c42f73f2fd4e273644c8b36125a64addeb006c13a096d68b9ff7b57e7090f880392effd5b297a83bbaf2fbe8cf5d4618965e3dc776cd430d9b4e7eda8a767fb0e860319aadb5fd96a855de1fbfc92cb0489190cfdd87da6dbf1f736a2d499941ca097e5170bd685578611323120cebf296181ed4f5] -[72d54dfbf12ec44b362692df94137f328fea8da73990265ec1bbbea1ae9af0ca13b25aa26cb4a648cb9b9d1be65b2c0924a66c54d545ec1b7374f4872e99f096bf74dbd52cc4fc95ceb6097fe5e65358c9dbc0a5ecbf7894a132a9a54ae3e951f2e9f209aa9c3d9a877ac9dab62433d2961a17d103e455dfb7337c90f6857aad233065955a212b5c7a8eab4dc8a629e5b6b8ba914afd06de7177054b33d21c96] -[c2c64d378cd536374ae204b9ef933fcd1a8b2288b3dfa49672ab765b54ee27c78a970e0e955c14f3a88e741b97c286f75f8fc299e8148362fa198a39531bed6d1a91288c874ec254f322c2a197340c55bb3e9b3998f7de2309486a0bb494abd20c9c5ef99c1370d61e77f408ac5514f49202bcc6828d45409d2d1416f8ae106b06ebd2541256264fa415bd54cb12e1d4449ed85299a1b7a249b75ff6c89b2e3f] -[10f1e7e4d13b5915500fdd1fa32071c4c7d1f4c733c068030422aa9ac3d46c4ed2826446079faa0914c2d705d98b02a2b5129cd1de164eb9cbd083e8a2503c4e0a88837739d7bf4ef8ccacb0ea2bb9d69d56c394aa351dfda5bf459f0a2e9fe8e721f89255f9c486bf21679c683d4f9c5cf2fa27865526005b06ca374c86af3bdcbfbdcb83be65862ed5c20eae5a43241d6a92da6dca9a156be25297f51c2718] -[75924bad7831b25662dbac54b46827990b6168ae990e7bd7e1fd2ad282bf23ef052c7d1a0a6c1ef862070943a0d4da24705fbc006dfb85e2af18c0a264d772a44c70fbedac9d6a6867ff6be0a32826507f2c784101583211c9e2453d4cc8b283d5e86682bd4bf511271b91dbd351415f5a009d1f78b64085a9a4341be7d42e2679d57e2747097f0129950e2c9e9ca1356022d45da252af71ac37f351a2e77911] -[61010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101] -[6146f256040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404] -[6146f2564fe1bd070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707] -[6146f2564fe1bdf9bccd0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a] -[6146f2564fe1bdf9bccd0fe1ed0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d] -[6146f2564fe1bdf9bccd0fe1edf0da5d101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb00161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af1021c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7081f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f6222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f67bf6ab252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f67bf6ab410fba282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f67bf6ab410fba060c2c2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f67bf6ab410fba060c2c2973032e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f67bf6ab410fba060c2c297303ace1e2313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f67bf6ab410fba060c2c297303ace1e2e34130343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f67bf6ab410fba060c2c297303ace1e2e3413018ff7e373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f67bf6ab410fba060c2c297303ace1e2e3413018ff7ed87cfa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f67bf6ab410fba060c2c297303ace1e2e3413018ff7ed87cfa95b60f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d] -[6146f2564fe1bdf9bccd0fe1edf0da5d92f1fa76cb002937ba9af10230a7085f55f67bf6ab410fba060c2c297303ace1e2e3413018ff7ed87cfa95b60f094ee5404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040] -[8adc91fd9ff4f0f51b0fad50ff15d637e40efda206cc52c783a74200503c1582cd9833367d0a54d57d3c9e998f490ee69ca34c1ff9e939a75584c52d690a35d410f1e7e4d13b5915500fdd1fa32071c4c7d1f4c733c068030422aa9ac3d46c4ed2826446079faa0914c2d705d98b02a2b5129cd1de164eb9cbd083e8a2503c4e0a88837739d7bf4ef8ccacb0ea2bb9d69d56c394aa351dfda5bf459f0a2e9fe8] -[c89ed3bfddb6b2b7594def12bd579475a64cbfe0448e1085c1e50042127e57c08fda71743f4816973f7edcdbcd0b4ca4dee10e5dbbab7be517c6876f2b48779652b3a5a693791b57124d9f5de16233868593b68571822a414660e8d881962e0c90c0260445dde84b568095479bc940e0f750de939c540cfb8992c1aae0127e0c48cac1357b95fd0cba8eeef2a869fb94df1481d6e8775fbfe7fd07dd486cddaa] -[42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242] -[52b3a5a693791b57124d9f5de16233868593b68571822a414660e8d881962e0c90c0260445dde84b568095479bc940e0f750de939c540cfb8992c1aae0127e0c48cac1357b95fd0cba8eeef2a869fb94df1481d6e8775fbfe7fd07dd486cddaaa563bad017bb86c4fd6325de2a7f0dde1eb0b865c4176442194488750ec4ed799efdff89c1fc27c46c97804cec1801665f28d0982f88d85729a010d5b75e655a] diff --git a/libsodium-1.0.18-RELEASE/test/default/cmptest.h b/libsodium-1.0.18-RELEASE/test/default/cmptest.h deleted file mode 100644 index 1ecc5cd..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/cmptest.h +++ /dev/null @@ -1,230 +0,0 @@ - -#ifndef __CMPTEST_H__ -#define __CMPTEST_H__ - -#ifdef NDEBUG -#/**/undef/**/ NDEBUG -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include "sodium.h" -#include "quirks.h" - -#ifdef __EMSCRIPTEN__ -# undef TEST_SRCDIR -# define TEST_SRCDIR "/test-data" -#endif -#ifndef TEST_SRCDIR -# define TEST_SRCDIR "." -#endif - -#define TEST_NAME_RES TEST_NAME ".res" -#define TEST_NAME_OUT TEST_SRCDIR "/" TEST_NAME ".exp" - -#ifdef HAVE_ARC4RANDOM -# undef rand -# define rand(X) arc4random(X) -#endif - -int xmain(void); - -static unsigned char *guard_page; - -#ifdef BENCHMARKS - -# include - -# ifndef ITERATIONS -# define ITERATIONS 128 -# endif - -struct { - void *pnt; - size_t size; -} mempool[1024]; - -static size_t mempool_idx; - -static __attribute__((malloc)) void *mempool_alloc(size_t size) -{ - size_t i; - if (size >= (size_t) 0x80000000 - (size_t) 0x00000fff) { - return NULL; - } - size = (size + (size_t) 0x00000fff) & ~ (size_t) 0x00000fff; - for (i = 0U; i < mempool_idx; i++) { - if (mempool[i].size >= (size | (size_t) 0x80000000)) { - mempool[i].size &= ~ (size_t) 0x80000000; - return mempool[i].pnt; - } - } - if (mempool_idx >= sizeof mempool / sizeof mempool[0]) { - return NULL; - } - mempool[mempool_idx].size = size; - return (mempool[mempool_idx++].pnt = (void *) malloc(size)); -} - -static void mempool_free(void *pnt) -{ - size_t i; - for (i = 0U; i < mempool_idx; i++) { - if (mempool[i].pnt == pnt) { - if ((mempool[i].size & (size_t) 0x80000000) != (size_t) 0x0) { - break; - } - mempool[i].size |= (size_t) 0x80000000; - return; - } - } - abort(); -} - -static __attribute__((malloc)) void *mempool_allocarray(size_t count, size_t size) -{ - if (count > (size_t) 0U && size >= (size_t) SIZE_MAX / count) { - return NULL; - } - return mempool_alloc(count * size); -} - -static int mempool_free_all(void) -{ - size_t i; - int ret = 0; - - for (i = 0U; i < mempool_idx; i++) { - if ((mempool[i].size & (size_t) 0x80000000) == (size_t) 0x0) { - ret = -1; - } - free(mempool[i].pnt); - mempool[i].pnt = NULL; - } - mempool_idx = (size_t) 0U; - - return ret; -} - -#define sodium_malloc(X) mempool_alloc(X) -#define sodium_free(X) mempool_free(X) -#define sodium_allocarray(X, Y) mempool_allocarray((X), (Y)) - -static unsigned long long now(void) -{ - struct timeval tp; - unsigned long long now; - - if (gettimeofday(&tp, NULL) != 0) { - abort(); - } - now = ((unsigned long long) tp.tv_sec * 1000000ULL) + - (unsigned long long) tp.tv_usec; - - return now; -} - -int main(void) -{ - unsigned long long ts_start; - unsigned long long ts_end; - unsigned int i; - - if (sodium_init() != 0) { - return 99; - } - -#ifndef __EMSCRIPTEN__ - randombytes_set_implementation(&randombytes_salsa20_implementation); -#endif - ts_start = now(); - for (i = 0; i < ITERATIONS; i++) { - if (xmain() != 0) { - abort(); - } - } - ts_end = now(); - printf("%llu\n", 1000000ULL * (ts_end - ts_start) / ITERATIONS); - if (mempool_free_all() != 0) { - fprintf(stderr, "** memory leaks detected **\n"); - return 99; - } - return 0; -} - -#undef printf -#define printf(...) do { } while(0) - -#elif !defined(BROWSER_TESTS) - -static FILE *fp_res; - -int main(void) -{ - FILE *fp_out; - unsigned char *_guard_page; - int c; - - if ((fp_res = fopen(TEST_NAME_RES, "w+")) == NULL) { - perror("fopen(" TEST_NAME_RES ")"); - return 99; - } - if (sodium_init() != 0) { - return 99; - } -# if defined(__EMSCRIPTEN__) || defined(__SANITIZE_ADDRESS__) - guard_page = _guard_page = NULL; -#else - if ((_guard_page = (unsigned char *) sodium_malloc(0)) == NULL) { - perror("sodium_malloc()"); - return 99; - } - guard_page = _guard_page + 1; -#endif - if (xmain() != 0) { - return 99; - } - rewind(fp_res); - if ((fp_out = fopen(TEST_NAME_OUT, "r")) == NULL) { - perror("fopen(" TEST_NAME_OUT ")"); - return 99; - } - do { - if ((c = fgetc(fp_res)) != fgetc(fp_out)) { - return 99; - } - } while (c != EOF); - sodium_free(_guard_page); - - return 0; -} - -#undef printf -#define printf(...) fprintf(fp_res, __VA_ARGS__) - -#else - -int main(void) -{ - if (sodium_init() != 0) { - return 99; - } - if (xmain() != 0) { - return 99; - } - printf("--- SUCCESS ---\n"); - - return 0; -} - -#endif - -#define main xmain - -#endif diff --git a/libsodium-1.0.18-RELEASE/test/default/codecs.c b/libsodium-1.0.18-RELEASE/test/default/codecs.c deleted file mode 100644 index 726c96b..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/codecs.c +++ /dev/null @@ -1,245 +0,0 @@ -#define TEST_NAME "codecs" -#include "cmptest.h" - -int -main(void) -{ - unsigned char buf1[1000]; - char buf3[33]; - unsigned char buf4[4]; - const char *b64; - char *b64_; - const char *b64_end; - unsigned char *bin; - const char *hex; - const char *hex_end; - size_t b64_len; - size_t bin_len; - unsigned int i; - - printf("%s\n", - sodium_bin2hex(buf3, 33U, (const unsigned char *) "0123456789ABCDEF", - 16U)); - printf("bin2hex(..., guard_page, 0):%s\n", - sodium_bin2hex(buf3, sizeof buf3, guard_page, 0U)); - printf("bin2hex(..., \"\", 0):%s\n", - sodium_bin2hex(buf3, sizeof buf3, (const unsigned char *) "", 0U)); - - hex = "Cafe : 6942"; - sodium_hex2bin(buf4, sizeof buf4, hex, strlen(hex), ": ", &bin_len, - &hex_end); - printf("%lu:%02x%02x%02x%02x\n", (unsigned long) bin_len, - buf4[0], buf4[1], buf4[2], buf4[3]); - printf("dt1: %ld\n", (long) (hex_end - hex)); - - hex = "Cafe : 6942"; - sodium_hex2bin(buf4, sizeof buf4, hex, strlen(hex), ": ", &bin_len, NULL); - printf("%lu:%02x%02x%02x%02x\n", (unsigned long) bin_len, - buf4[0], buf4[1], buf4[2], buf4[3]); - - hex = "deadbeef"; - if (sodium_hex2bin(buf1, 1U, hex, 8U, NULL, &bin_len, &hex_end) != -1) { - printf("sodium_hex2bin() overflow not detected\n"); - } - printf("dt2: %ld\n", (long) (hex_end - hex)); - - hex = "de:ad:be:eff"; - if (sodium_hex2bin(buf1, 4U, hex, 12U, ":", &bin_len, &hex_end) != -1) { - printf( - "sodium_hex2bin() with an odd input length and a short output " - "buffer\n"); - } - printf("dt3: %ld\n", (long) (hex_end - hex)); - - hex = "de:ad:be:eff"; - if (sodium_hex2bin(buf1, sizeof buf1, hex, 12U, ":", - &bin_len, &hex_end) != -1) { - printf("sodium_hex2bin() with an odd input length\n"); - } - printf("dt4: %ld\n", (long) (hex_end - hex)); - - hex = "de:ad:be:eff"; - if (sodium_hex2bin(buf1, sizeof buf1, hex, 13U, ":", - &bin_len, &hex_end) != -1) { - printf("sodium_hex2bin() with an odd input length (2)\n"); - } - printf("dt5: %ld\n", (long) (hex_end - hex)); - - hex = "de:ad:be:eff"; - if (sodium_hex2bin(buf1, sizeof buf1, hex, 12U, ":", - &bin_len, NULL) != -1) { - printf("sodium_hex2bin() with an odd input length and no end pointer\n"); - } - - hex = "de:ad:be:ef*"; - if (sodium_hex2bin(buf1, sizeof buf1, hex, 12U, ":", - &bin_len, &hex_end) != 0) { - printf("sodium_hex2bin() with an extra character and an end pointer\n"); - } - printf("dt6: %ld\n", (long) (hex_end - hex)); - - hex = "de:ad:be:ef*"; - if (sodium_hex2bin(buf1, sizeof buf1, hex, 12U, ":", - &bin_len, NULL) != -1) { - printf("sodium_hex2bin() with an extra character and no end pointer\n"); - } - - assert(sodium_hex2bin(buf4, sizeof buf4, (const char *) guard_page, 0U, - NULL, &bin_len, NULL) == 0); - assert(bin_len == 0); - - assert(sodium_hex2bin(buf4, sizeof buf4, "", 0U, NULL, &bin_len, NULL) == 0); - assert(bin_len == 0); - - printf("%s\n", - sodium_bin2base64(buf3, 31U, (const unsigned char *) "\xfb\xf0\xf1" "0123456789ABCDEFab", - 21U, sodium_base64_VARIANT_ORIGINAL)); - printf("%s\n", - sodium_bin2base64(buf3, 33U, (const unsigned char *) "\xfb\xf0\xf1" "0123456789ABCDEFabc", - 22U, sodium_base64_VARIANT_ORIGINAL_NO_PADDING)); - printf("%s\n", - sodium_bin2base64(buf3, 31U, (const unsigned char *) "\xfb\xf0\xf1" "0123456789ABCDEFab", - 21U, sodium_base64_VARIANT_URLSAFE)); - printf("%s\n", - sodium_bin2base64(buf3, 33U, (const unsigned char *) "\xfb\xf0\xf1" "0123456789ABCDEFabc", - 22U, sodium_base64_VARIANT_URLSAFE_NO_PADDING)); - printf("%s\n", - sodium_bin2base64(buf3, 1U, guard_page, - 0U, sodium_base64_VARIANT_ORIGINAL)); - printf("%s\n", - sodium_bin2base64(buf3, 5U, (const unsigned char *) "a", - 1U, sodium_base64_VARIANT_ORIGINAL)); - printf("%s\n", - sodium_bin2base64(buf3, 5U, (const unsigned char *) "ab", - 2U, sodium_base64_VARIANT_ORIGINAL)); - printf("%s\n", - sodium_bin2base64(buf3, 5U, (const unsigned char *) "abc", - 3U, sodium_base64_VARIANT_ORIGINAL)); - printf("%s\n", - sodium_bin2base64(buf3, 1U, guard_page, - 0U, sodium_base64_VARIANT_ORIGINAL_NO_PADDING)); - printf("%s\n", - sodium_bin2base64(buf3, 3U, (const unsigned char *) "a", - 1U, sodium_base64_VARIANT_ORIGINAL_NO_PADDING)); - printf("%s\n", - sodium_bin2base64(buf3, 4U, (const unsigned char *) "ab", - 2U, sodium_base64_VARIANT_ORIGINAL_NO_PADDING)); - printf("%s\n", - sodium_bin2base64(buf3, 5U, (const unsigned char *) "abc", - 3U, sodium_base64_VARIANT_ORIGINAL_NO_PADDING)); - - b64 = "VGhpcyBpcyBhIGpvdXJu" "\n" "ZXkgaW50by" " " "Bzb3VuZA=="; - memset(buf4, '*', sizeof buf4); - assert(sodium_base642bin(buf4, sizeof buf4, b64, strlen(b64), "\n\r ", &bin_len, - &b64_end, sodium_base64_VARIANT_ORIGINAL) == -1); - buf4[bin_len] = 0; - printf("[%s]\n", (const char *) buf4); - printf("[%s]\n", b64_end); - - memset(buf1, '*', sizeof buf1); - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), "\n\r ", &bin_len, - &b64_end, sodium_base64_VARIANT_ORIGINAL) == 0); - buf1[bin_len] = 0; - printf("[%s]\n", (const char *) buf1); - assert(*b64_end == 0); - - memset(buf1, '*', sizeof buf1); - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), NULL, &bin_len, - &b64_end, sodium_base64_VARIANT_ORIGINAL) == 0); - buf1[bin_len] = 0; - printf("[%s]\n", (const char *) buf1); - printf("[%s]\n", b64_end); - - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), NULL, NULL, - &b64_end, sodium_base64_VARIANT_ORIGINAL) == 0); - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), NULL, NULL, - &b64_end, sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == 0); - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), " \r\n", NULL, - &b64_end, sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == 0); - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), NULL, NULL, - &b64_end, sodium_base64_VARIANT_URLSAFE_NO_PADDING) == 0); - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), " \r\n", NULL, - &b64_end, sodium_base64_VARIANT_URLSAFE_NO_PADDING) == 0); - - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), NULL, NULL, - NULL, sodium_base64_VARIANT_ORIGINAL) == -1); - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), NULL, NULL, - NULL, sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == -1); - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), " \r\n", NULL, - NULL, sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == -1); - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), NULL, NULL, - NULL, sodium_base64_VARIANT_URLSAFE_NO_PADDING) == -1); - assert(sodium_base642bin(buf1, sizeof buf1, b64, strlen(b64), " \r\n", NULL, - NULL, sodium_base64_VARIANT_URLSAFE_NO_PADDING) == -1); - - assert(sodium_base642bin(guard_page, (size_t) 10U, "a=", (size_t) 2U, NULL, NULL, NULL, - sodium_base64_VARIANT_URLSAFE) == -1); - assert(sodium_base642bin(guard_page, (size_t) 10U, "a*", (size_t) 2U, NULL, NULL, NULL, - sodium_base64_VARIANT_URLSAFE) == -1); - assert(sodium_base642bin(guard_page, (size_t) 10U, "a*", (size_t) 2U, "~", NULL, NULL, - sodium_base64_VARIANT_URLSAFE) == -1); - assert(sodium_base642bin(guard_page, (size_t) 10U, "a*", (size_t) 2U, "*", NULL, NULL, - sodium_base64_VARIANT_URLSAFE) == -1); - assert(sodium_base642bin(guard_page, (size_t) 10U, "a==", (size_t) 3U, NULL, NULL, NULL, - sodium_base64_VARIANT_URLSAFE) == -1); - assert(sodium_base642bin(guard_page, (size_t) 10U, "a=*", (size_t) 3U, NULL, NULL, NULL, - sodium_base64_VARIANT_URLSAFE) == -1); - assert(sodium_base642bin(guard_page, (size_t) 10U, "a=*", (size_t) 3U, "~", NULL, NULL, - sodium_base64_VARIANT_URLSAFE) == -1); - assert(sodium_base642bin(guard_page, (size_t) 10U, "a=*", (size_t) 3U, "*", NULL, NULL, - sodium_base64_VARIANT_URLSAFE) == -1); - - assert(sodium_base642bin(buf1, sizeof buf1, "O1R", (size_t) 3U, NULL, NULL, NULL, - sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == -1); - assert(sodium_base642bin(buf1, sizeof buf1, "O1Q", (size_t) 3U, NULL, NULL, NULL, - sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == 0); - assert(sodium_base642bin(buf1, sizeof buf1, "O1", (size_t) 2U, NULL, NULL, NULL, - sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == -1); - assert(sodium_base642bin(buf1, sizeof buf1, "Ow", (size_t) 2U, NULL, NULL, NULL, - sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == 0); - assert(sodium_base642bin(buf1, sizeof buf1, "O", (size_t) 1U, NULL, NULL, NULL, - sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == -1); - - assert(sodium_base642bin(buf1, sizeof buf1, "kaw", (size_t) 3U, NULL, NULL, NULL, - sodium_base64_VARIANT_ORIGINAL) == -1); - assert(sodium_base642bin(buf1, sizeof buf1, "kQ*", (size_t) 3U, "@", NULL, NULL, - sodium_base64_VARIANT_ORIGINAL) == -1); - assert(sodium_base642bin(buf1, sizeof buf1, "kQ*", (size_t) 3U, "*", NULL, NULL, - sodium_base64_VARIANT_ORIGINAL) == -1); - assert(sodium_base642bin(buf1, sizeof buf1, "kaw=**", (size_t) 6U, "*", NULL, NULL, - sodium_base64_VARIANT_ORIGINAL) == 0); - assert(sodium_base642bin(buf1, sizeof buf1, "kaw*=*", (size_t) 6U, "~*", NULL, NULL, - sodium_base64_VARIANT_ORIGINAL) == 0); - assert(sodium_base642bin(buf1, sizeof buf1, "ka*w*=*", (size_t) 7U, "*~", NULL, NULL, - sodium_base64_VARIANT_ORIGINAL) == 0); - - assert(sodium_base642bin(buf1, sizeof buf1, (const char *) guard_page, 0U, - NULL, &bin_len, NULL, sodium_base64_VARIANT_ORIGINAL) == 0); - assert(bin_len == 0); - - assert(sodium_base642bin(buf1, sizeof buf1, "", 0U, NULL, &bin_len, NULL, - sodium_base64_VARIANT_ORIGINAL) == 0); - assert(bin_len == 0); - - for (i = 0; i < 1000; i++) { - assert(sizeof buf1 >= 100); - bin_len = (size_t) randombytes_uniform(100); - bin = (unsigned char *) sodium_malloc(bin_len); - b64_len = (bin_len + 2U) / 3U * 4U + 1U; - assert(b64_len == sodium_base64_encoded_len(bin_len, sodium_base64_VARIANT_URLSAFE)); - b64_ = (char *) sodium_malloc(b64_len); - randombytes_buf(bin, bin_len); - memcpy(buf1, bin, bin_len); - b64 = sodium_bin2base64(b64_, b64_len, bin, bin_len, - sodium_base64_VARIANT_URLSAFE); - assert(b64 != NULL); - assert(sodium_base642bin(bin, bin_len + 10, b64, b64_len, - NULL, NULL, &b64_end, - sodium_base64_VARIANT_URLSAFE) == 0); - assert(b64_end == &b64[b64_len - 1]); - assert(memcmp(bin, buf1, bin_len) == 0); - sodium_free(bin); - sodium_free(b64_); - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/codecs.exp b/libsodium-1.0.18-RELEASE/test/default/codecs.exp deleted file mode 100644 index 171834e..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/codecs.exp +++ /dev/null @@ -1,30 +0,0 @@ -30313233343536373839414243444546 -bin2hex(..., guard_page, 0): -bin2hex(..., "", 0): -4:cafe6942 -dt1: 11 -4:cafe6942 -dt2: 2 -dt3: 11 -dt4: 11 -dt5: 11 -dt6: 11 -+/DxMDEyMzQ1Njc4OUFCQ0RFRmFi -+/DxMDEyMzQ1Njc4OUFCQ0RFRmFiYw --_DxMDEyMzQ1Njc4OUFCQ0RFRmFi --_DxMDEyMzQ1Njc4OUFCQ0RFRmFiYw - -YQ== -YWI= -YWJj - -YQ -YWI -YWJj -[] -[BpcyBhIGpvdXJu -ZXkgaW50by Bzb3VuZA==] -[This is a journey into sound] -[This is a journ] -[ -ZXkgaW50by Bzb3VuZA==] diff --git a/libsodium-1.0.18-RELEASE/test/default/core1.c b/libsodium-1.0.18-RELEASE/test/default/core1.c deleted file mode 100644 index f1d7b0b..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core1.c +++ /dev/null @@ -1,41 +0,0 @@ - -#define TEST_NAME "core1" -#include "cmptest.h" - -static unsigned char shared[32] = { 0x4a, 0x5d, 0x9d, 0x5b, 0xa4, 0xce, 0x2d, - 0xe1, 0x72, 0x8e, 0x3b, 0xf4, 0x80, 0x35, - 0x0f, 0x25, 0xe0, 0x7e, 0x21, 0xc9, 0x47, - 0xd1, 0x9e, 0x33, 0x76, 0xf0, 0x9b, 0x3c, - 0x1e, 0x16, 0x17, 0x42 }; - -static unsigned char zero[32]; - -static unsigned char c[16] = { 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x20, 0x33, - 0x32, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x20, 0x6b }; - -static unsigned char firstkey[32]; - -int -main(void) -{ - int i; - - crypto_core_hsalsa20(firstkey, zero, shared, c); - for (i = 0; i < 32; ++i) { - if (i > 0) { - printf(","); - } else { - printf(" "); - } - printf("0x%02x", (unsigned int) firstkey[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - assert(crypto_core_hsalsa20_outputbytes() > 0U); - assert(crypto_core_hsalsa20_inputbytes() > 0U); - assert(crypto_core_hsalsa20_keybytes() > 0U); - assert(crypto_core_hsalsa20_constbytes() > 0U); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/core1.exp b/libsodium-1.0.18-RELEASE/test/default/core1.exp deleted file mode 100644 index 715a489..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core1.exp +++ /dev/null @@ -1,4 +0,0 @@ - 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4 -,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7 -,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2 -,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89 diff --git a/libsodium-1.0.18-RELEASE/test/default/core2.c b/libsodium-1.0.18-RELEASE/test/default/core2.c deleted file mode 100644 index 7e2dd7e..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core2.c +++ /dev/null @@ -1,38 +0,0 @@ - -#define TEST_NAME "core2" -#include "cmptest.h" - -static unsigned char firstkey[32] = { 0x1b, 0x27, 0x55, 0x64, 0x73, 0xe9, 0x85, - 0xd4, 0x62, 0xcd, 0x51, 0x19, 0x7a, 0x9a, - 0x46, 0xc7, 0x60, 0x09, 0x54, 0x9e, 0xac, - 0x64, 0x74, 0xf2, 0x06, 0xc4, 0xee, 0x08, - 0x44, 0xf6, 0x83, 0x89 }; - -static unsigned char nonceprefix[16] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, - 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8, - 0x75, 0xfc, 0x73, 0xd6 }; - -static unsigned char c[16] = { 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x20, 0x33, - 0x32, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x20, 0x6b }; - -static unsigned char secondkey[32]; - -int -main(void) -{ - int i; - - crypto_core_hsalsa20(secondkey, nonceprefix, firstkey, c); - for (i = 0; i < 32; ++i) { - if (i > 0) { - printf(","); - } else { - printf(" "); - } - printf("0x%02x", (unsigned int) secondkey[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/core2.exp b/libsodium-1.0.18-RELEASE/test/default/core2.exp deleted file mode 100644 index f4682af..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core2.exp +++ /dev/null @@ -1,4 +0,0 @@ - 0xdc,0x90,0x8d,0xda,0x0b,0x93,0x44,0xa9 -,0x53,0x62,0x9b,0x73,0x38,0x20,0x77,0x88 -,0x80,0xf3,0xce,0xb4,0x21,0xbb,0x61,0xb9 -,0x1c,0xbd,0x4c,0x3e,0x66,0x25,0x6c,0xe4 diff --git a/libsodium-1.0.18-RELEASE/test/default/core3.c b/libsodium-1.0.18-RELEASE/test/default/core3.c deleted file mode 100644 index 09f2473..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core3.c +++ /dev/null @@ -1,115 +0,0 @@ - -#define TEST_NAME "core3" -#include "cmptest.h" - -static unsigned char SECONDKEY[32] = { 0xdc, 0x90, 0x8d, 0xda, 0x0b, 0x93, 0x44, - 0xa9, 0x53, 0x62, 0x9b, 0x73, 0x38, 0x20, - 0x77, 0x88, 0x80, 0xf3, 0xce, 0xb4, 0x21, - 0xbb, 0x61, 0xb9, 0x1c, 0xbd, 0x4c, 0x3e, - 0x66, 0x25, 0x6c, 0xe4 }; - -static unsigned char NONCESUFFIX[8] = { 0x82, 0x19, 0xe0, 0x03, - 0x6b, 0x7a, 0x0b, 0x37 }; - -static unsigned char C[16] = { 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x20, 0x33, - 0x32, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x20, 0x6b }; - -int -main(void) -{ - unsigned char *secondkey; - unsigned char *c; - unsigned char *noncesuffix; - unsigned char *in; - unsigned char *output; - unsigned char *h; - size_t output_len = 64 * 256 * 256; - size_t pos = 0; - int i; - - pos = 0; - secondkey = (unsigned char *) sodium_malloc(32); - memcpy(secondkey, SECONDKEY, 32); - noncesuffix = (unsigned char *) sodium_malloc(8); - memcpy(noncesuffix, NONCESUFFIX, 8); - c = (unsigned char *) sodium_malloc(16); - memcpy(c, C, 16); - in = (unsigned char *) sodium_malloc(16); - output = (unsigned char *) sodium_malloc(output_len); - h = (unsigned char *) sodium_malloc(32); - - for (i = 0; i < 8; i++) { - in[i] = noncesuffix[i]; - } - for (; i < 16; i++) { - in[i] = 0; - } - do { - do { - crypto_core_salsa20(output + pos, in, secondkey, c); - pos += 64; - in[8]++; - } while (in[8] != 0); - in[9]++; - } while (in[9] != 0); - - crypto_hash_sha256(h, output, output_len); - - for (i = 0; i < 32; ++i) { - printf("%02x", h[i]); - } - printf("\n"); - -#ifndef SODIUM_LIBRARY_MINIMAL - pos = 0; - do { - do { - crypto_core_salsa2012(output + pos, in, secondkey, c); - pos += 64; - in[8]++; - } while (in[8] != 0); - in[9]++; - } while (in[9] != 0); - - crypto_hash_sha256(h, output, output_len); - - for (i = 0; i < 32; ++i) { - printf("%02x", h[i]); - } - printf("\n"); - - pos = 0; - do { - do { - crypto_core_salsa208(output + pos, in, secondkey, c); - pos += 64; - in[8]++; - } while (in[8] != 0); - in[9]++; - } while (in[9] != 0); - - crypto_hash_sha256(h, output, output_len); - - for (i = 0; i < 32; ++i) { - printf("%02x", h[i]); - } - printf("\n"); -#else - printf("a4e3147dddd2ba7775939b50208a22eb3277d4e4bad8a1cfbc999c6bd392b638\n" - "017421baa9959cbe894bd003ec87938254f47c1e757eb66cf89c353d0c2b68de\n"); -#endif - - sodium_free(h); - sodium_free(output); - sodium_free(in); - sodium_free(c); - sodium_free(noncesuffix); - sodium_free(secondkey); - - assert(crypto_core_salsa20_outputbytes() == crypto_core_salsa20_OUTPUTBYTES); - assert(crypto_core_salsa20_inputbytes() == crypto_core_salsa20_INPUTBYTES); - assert(crypto_core_salsa20_keybytes() == crypto_core_salsa20_KEYBYTES); - assert(crypto_core_salsa20_constbytes() == crypto_core_salsa20_CONSTBYTES); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/core3.exp b/libsodium-1.0.18-RELEASE/test/default/core3.exp deleted file mode 100644 index e6bc102..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core3.exp +++ /dev/null @@ -1,3 +0,0 @@ -662b9d0e3463029156069b12f918691a98f7dfb2ca0393c96bbfc6b1fbd630a2 -a4e3147dddd2ba7775939b50208a22eb3277d4e4bad8a1cfbc999c6bd392b638 -017421baa9959cbe894bd003ec87938254f47c1e757eb66cf89c353d0c2b68de diff --git a/libsodium-1.0.18-RELEASE/test/default/core4.c b/libsodium-1.0.18-RELEASE/test/default/core4.c deleted file mode 100644 index cb174ab..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core4.c +++ /dev/null @@ -1,36 +0,0 @@ - -#define TEST_NAME "core4" -#include "cmptest.h" - -static unsigned char k[32] = { 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, - 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216 }; - -static unsigned char in[16] = { 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116 }; - -static unsigned char c[16] = { 101, 120, 112, 97, 110, 100, 32, 51, - 50, 45, 98, 121, 116, 101, 32, 107 }; - -static unsigned char out[64]; - -int -main(void) -{ - int i; - - crypto_core_salsa20(out, in, k, c); - for (i = 0; i < 64; ++i) { - if (i > 0) { - printf(","); - } else { - printf(" "); - } - printf("%3u", (unsigned int) out[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/core4.exp b/libsodium-1.0.18-RELEASE/test/default/core4.exp deleted file mode 100644 index d04e5b5..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core4.exp +++ /dev/null @@ -1,8 +0,0 @@ - 69, 37, 68, 39, 41, 15,107,193 -,255,139,122, 6,170,233,217, 98 -, 89,144,182,106, 21, 51,200, 65 -,239, 49,222, 34,215,114, 40,126 -,104,197, 7,225,197,153, 31, 2 -,102, 78, 76,176, 84,245,246,184 -,177,160,133,130, 6, 72,149,119 -,192,195,132,236,234,103,246, 74 diff --git a/libsodium-1.0.18-RELEASE/test/default/core5.c b/libsodium-1.0.18-RELEASE/test/default/core5.c deleted file mode 100644 index 02b0fd9..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core5.c +++ /dev/null @@ -1,33 +0,0 @@ - -#define TEST_NAME "core5" -#include "cmptest.h" - -static unsigned char k[32] = { 0xee, 0x30, 0x4f, 0xca, 0x27, 0x00, 0x8d, 0x8c, - 0x12, 0x6f, 0x90, 0x02, 0x79, 0x01, 0xd8, 0x0f, - 0x7f, 0x1d, 0x8b, 0x8d, 0xc9, 0x36, 0xcf, 0x3b, - 0x9f, 0x81, 0x96, 0x92, 0x82, 0x7e, 0x57, 0x77 }; - -static unsigned char in[16] = { - 0x81, 0x91, 0x8e, 0xf2, 0xa5, 0xe0, 0xda, 0x9b, - 0x3e, 0x90, 0x60, 0x52, 0x1e, 0x4b, 0xb3, 0x52 -}; - -static unsigned char c[16] = { 101, 120, 112, 97, 110, 100, 32, 51, - 50, 45, 98, 121, 116, 101, 32, 107 }; - -unsigned char out[32]; - -int -main(void) -{ - int i; - - crypto_core_hsalsa20(out, in, k, c); - for (i = 0; i < 32; ++i) { - printf(",0x%02x", (unsigned int) out[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/core5.exp b/libsodium-1.0.18-RELEASE/test/default/core5.exp deleted file mode 100644 index 562cf71..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core5.exp +++ /dev/null @@ -1,4 +0,0 @@ -,0xbc,0x1b,0x30,0xfc,0x07,0x2c,0xc1,0x40 -,0x75,0xe4,0xba,0xa7,0x31,0xb5,0xa8,0x45 -,0xea,0x9b,0x11,0xe9,0xa5,0x19,0x1f,0x94 -,0xe1,0x8c,0xba,0x8f,0xd8,0x21,0xa7,0xcd diff --git a/libsodium-1.0.18-RELEASE/test/default/core6.c b/libsodium-1.0.18-RELEASE/test/default/core6.c deleted file mode 100644 index f10c0d6..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core6.c +++ /dev/null @@ -1,52 +0,0 @@ - -#define TEST_NAME "core6" -#include "cmptest.h" - -static unsigned char k[32] = { 0xee, 0x30, 0x4f, 0xca, 0x27, 0x00, 0x8d, 0x8c, - 0x12, 0x6f, 0x90, 0x02, 0x79, 0x01, 0xd8, 0x0f, - 0x7f, 0x1d, 0x8b, 0x8d, 0xc9, 0x36, 0xcf, 0x3b, - 0x9f, 0x81, 0x96, 0x92, 0x82, 0x7e, 0x57, 0x77 }; - -static unsigned char in[16] = { - 0x81, 0x91, 0x8e, 0xf2, 0xa5, 0xe0, 0xda, 0x9b, - 0x3e, 0x90, 0x60, 0x52, 0x1e, 0x4b, 0xb3, 0x52 -}; - -static unsigned char c[16] = { 101, 120, 112, 97, 110, 100, 32, 51, - 50, 45, 98, 121, 116, 101, 32, 107 }; - -static unsigned char out[64]; - -static void -print(unsigned char *x, unsigned char *y) -{ - int i; - unsigned int borrow = 0; - - for (i = 0; i < 4; ++i) { - unsigned int xi = x[i]; - unsigned int yi = y[i]; - printf(",0x%02x", 255 & (xi - yi - borrow)); - borrow = (xi < yi + borrow); - } -} - -int -main(void) -{ - crypto_core_salsa20(out, in, k, c); - print(out, c); - print(out + 20, c + 4); - printf("\n"); - print(out + 40, c + 8); - print(out + 60, c + 12); - printf("\n"); - print(out + 24, in); - print(out + 28, in + 4); - printf("\n"); - print(out + 32, in + 8); - print(out + 36, in + 12); - printf("\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/core6.exp b/libsodium-1.0.18-RELEASE/test/default/core6.exp deleted file mode 100644 index 562cf71..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core6.exp +++ /dev/null @@ -1,4 +0,0 @@ -,0xbc,0x1b,0x30,0xfc,0x07,0x2c,0xc1,0x40 -,0x75,0xe4,0xba,0xa7,0x31,0xb5,0xa8,0x45 -,0xea,0x9b,0x11,0xe9,0xa5,0x19,0x1f,0x94 -,0xe1,0x8c,0xba,0x8f,0xd8,0x21,0xa7,0xcd diff --git a/libsodium-1.0.18-RELEASE/test/default/core_ed25519.c b/libsodium-1.0.18-RELEASE/test/default/core_ed25519.c deleted file mode 100644 index e3f39c3..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core_ed25519.c +++ /dev/null @@ -1,413 +0,0 @@ -#define TEST_NAME "core_ed25519" -#include "cmptest.h" - -static const unsigned char non_canonical_p[32] = { - 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f -}; -static const unsigned char non_canonical_invalid_p[32] = { - 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f -}; -static const unsigned char max_canonical_p[32] = { - 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f -}; - -static void -add_P(unsigned char * const S) -{ - static const unsigned char P[32] = { - 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f - }; - - sodium_add(S, P, sizeof P); -} - -static void -add_l64(unsigned char * const S) -{ - static const unsigned char l[crypto_core_ed25519_NONREDUCEDSCALARBYTES] = - { 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, - 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - - sodium_add(S, l, sizeof l); -} - -int -main(void) -{ - unsigned char *h, *r; - unsigned char *p, *p2, *p3; - unsigned char *sc, *sc2, *sc3; - unsigned char *sc64; - char *hex; - unsigned int i, j; - - h = (unsigned char *) sodium_malloc(crypto_core_ed25519_HASHBYTES); - r = (unsigned char *) sodium_malloc(crypto_core_ed25519_UNIFORMBYTES); - p = (unsigned char *) sodium_malloc(crypto_core_ed25519_BYTES); - for (i = 0; i < 500; i++) { - randombytes_buf(r, crypto_core_ed25519_UNIFORMBYTES); - if (crypto_core_ed25519_from_uniform(p, r) != 0) { - printf("crypto_core_ed25519_from_uniform() failed\n"); - } - if (crypto_core_ed25519_is_valid_point(p) == 0) { - printf("crypto_core_ed25519_from_uniform() returned an invalid point\n"); - } - - randombytes_buf(h, crypto_core_ed25519_HASHBYTES); - if (crypto_core_ed25519_from_hash(p, h) != 0) { - printf("crypto_core_ed25519_from_hash() failed\n"); - } - if (crypto_core_ed25519_is_valid_point(p) == 0) { - printf("crypto_core_ed25519_from_hash() returned an invalid point\n"); - } - - crypto_core_ed25519_random(p); - if (crypto_core_ed25519_is_valid_point(p) == 0) { - printf("crypto_core_ed25519_random() returned an invalid point\n"); - } - } - - p2 = (unsigned char *) sodium_malloc(crypto_core_ed25519_BYTES); - p3 = (unsigned char *) sodium_malloc(crypto_core_ed25519_BYTES); - - crypto_core_ed25519_random(p2); - - j = 1 + (unsigned int) randombytes_uniform(100); - memcpy(p3, p, crypto_core_ed25519_BYTES); - for (i = 0; i < j; i++) { - crypto_core_ed25519_add(p, p, p2); - if (crypto_core_ed25519_is_valid_point(p) != 1) { - printf("crypto_core_add() returned an invalid point\n"); - } - } - if (memcmp(p, p3, crypto_core_ed25519_BYTES) == 0) { - printf("crypto_core_add() failed\n"); - } - for (i = 0; i < j; i++) { - crypto_core_ed25519_sub(p, p, p2); - } - if (memcmp(p, p3, crypto_core_ed25519_BYTES) != 0) { - printf("crypto_core_add() or crypto_core_sub() failed\n"); - } - sc = (unsigned char *) sodium_malloc(crypto_scalarmult_ed25519_SCALARBYTES); - memset(sc, 0, crypto_scalarmult_ed25519_SCALARBYTES); - sc[0] = 8; - memcpy(p2, p, crypto_core_ed25519_BYTES); - memcpy(p3, p, crypto_core_ed25519_BYTES); - - for (i = 0; i < 254; i++) { - crypto_core_ed25519_add(p2, p2, p2); - } - for (i = 0; i < 8; i++) { - crypto_core_ed25519_add(p2, p2, p); - } - if (crypto_scalarmult_ed25519(p3, sc, p) != 0) { - printf("crypto_scalarmult_ed25519() failed\n"); - } - if (memcmp(p2, p3, crypto_core_ed25519_BYTES) != 0) { - printf("crypto_scalarmult_ed25519() is inconsistent with crypto_core_ed25519_add()\n"); - } - - assert(crypto_core_ed25519_is_valid_point(p) == 1); - - memset(p, 0, crypto_core_ed25519_BYTES); - assert(crypto_core_ed25519_is_valid_point(p) == 0); - - p[0] = 1; - assert(crypto_core_ed25519_is_valid_point(p) == 0); - - p[0] = 2; - assert(crypto_core_ed25519_is_valid_point(p) == 0); - - p[0] = 9; - assert(crypto_core_ed25519_is_valid_point(p) == 1); - - assert(crypto_core_ed25519_is_valid_point(max_canonical_p) == 1); - assert(crypto_core_ed25519_is_valid_point(non_canonical_invalid_p) == 0); - assert(crypto_core_ed25519_is_valid_point(non_canonical_p) == 0); - - memcpy(p2, p, crypto_core_ed25519_BYTES); - add_P(p2); - crypto_core_ed25519_add(p3, p2, p2); - crypto_core_ed25519_sub(p3, p3, p2); - assert(memcmp(p2, p, crypto_core_ed25519_BYTES) != 0); - assert(memcmp(p3, p, crypto_core_ed25519_BYTES) == 0); - - p[0] = 2; - assert(crypto_core_ed25519_add(p3, p2, p) == -1); - assert(crypto_core_ed25519_add(p3, p2, non_canonical_p) == 0); - assert(crypto_core_ed25519_add(p3, p2, non_canonical_invalid_p) == -1); - assert(crypto_core_ed25519_add(p3, p, p3) == -1); - assert(crypto_core_ed25519_add(p3, non_canonical_p, p3) == 0); - assert(crypto_core_ed25519_add(p3, non_canonical_invalid_p, p3) == -1); - - assert(crypto_core_ed25519_sub(p3, p2, p) == -1); - assert(crypto_core_ed25519_sub(p3, p2, non_canonical_p) == 0); - assert(crypto_core_ed25519_sub(p3, p2, non_canonical_invalid_p) == -1); - assert(crypto_core_ed25519_sub(p3, p, p3) == -1); - assert(crypto_core_ed25519_sub(p3, non_canonical_p, p3) == 0); - assert(crypto_core_ed25519_sub(p3, non_canonical_invalid_p, p3) == -1); - - for (i = 0; i < 1000; i++) { - crypto_core_ed25519_random(p); - do { - crypto_core_ed25519_scalar_random(sc); - } while (sodium_is_zero(sc, crypto_core_ed25519_SCALARBYTES)); - if (crypto_scalarmult_ed25519_noclamp(p2, sc, p) != 0) { - printf("crypto_scalarmult_ed25519_noclamp() failed\n"); - } - assert(crypto_core_ed25519_is_valid_point(p2)); - if (crypto_core_ed25519_scalar_invert(sc, sc) != 0) { - printf("crypto_core_ed25519_scalar_invert() failed\n"); - } - if (crypto_scalarmult_ed25519_noclamp(p3, sc, p2) != 0) { - printf("crypto_scalarmult_ed25519_noclamp() failed\n"); - } - assert(memcmp(p3, p, crypto_core_ed25519_BYTES) == 0); - } - - sc64 = (unsigned char *) sodium_malloc(64); - crypto_core_ed25519_scalar_random(sc); - memcpy(sc64, sc, crypto_core_ed25519_BYTES); - memset(sc64 + crypto_core_ed25519_BYTES, 0, - 64 - crypto_core_ed25519_BYTES); - i = (unsigned int) randombytes_uniform(100); - do { - add_l64(sc64); - } while (i-- > 0); - crypto_core_ed25519_scalar_reduce(sc64, sc64); - if (memcmp(sc64, sc, crypto_core_ed25519_BYTES) != 0) { - printf("crypto_core_ed25519_scalar_reduce() failed\n"); - } - - randombytes_buf(r, crypto_core_ed25519_UNIFORMBYTES); - crypto_core_ed25519_from_uniform(p, r); - memcpy(p2, p, crypto_core_ed25519_BYTES); - crypto_core_ed25519_scalar_random(sc); - if (crypto_scalarmult_ed25519_noclamp(p, sc, p) != 0) { - printf("crypto_scalarmult_ed25519_noclamp() failed (1)\n"); - } - crypto_core_ed25519_scalar_complement(sc, sc); - if (crypto_scalarmult_ed25519_noclamp(p2, sc, p2) != 0) { - printf("crypto_scalarmult_ed25519_noclamp() failed (2)\n"); - } - crypto_core_ed25519_add(p3, p, p2); - crypto_core_ed25519_from_uniform(p, r); - crypto_core_ed25519_sub(p, p, p3); - assert(p[0] == 0x01); - for (i = 1; i < crypto_core_ed25519_BYTES; i++) { - assert(p[i] == 0); - } - - crypto_core_ed25519_random(p); - memcpy(p2, p, crypto_core_ed25519_BYTES); - crypto_core_ed25519_scalar_random(sc); - if (crypto_scalarmult_ed25519_noclamp(p, sc, p) != 0) { - printf("crypto_scalarmult_ed25519_noclamp() failed (3)\n"); - } - crypto_core_ed25519_scalar_negate(sc, sc); - if (crypto_scalarmult_ed25519_noclamp(p2, sc, p2) != 0) { - printf("crypto_scalarmult_ed25519_noclamp() failed (4)\n"); - } - crypto_core_ed25519_add(p, p, p2); - assert(p[0] == 0x01); - for (i = 1; i < crypto_core_ed25519_BYTES; i++) { - assert(p[i] == 0); - } - - hex = (char *) sodium_malloc(crypto_core_ed25519_SCALARBYTES * 2 + 1); - - for (i = 0; i < crypto_core_ed25519_SCALARBYTES; i++) { - sc[i] = 255 - i; - } - if (crypto_core_ed25519_scalar_invert(sc, sc) != 0) { - printf("crypto_core_ed25519_scalar_invert() failed\n"); - } - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("inv1: %s\n", hex); - if (crypto_core_ed25519_scalar_invert(sc, sc) != 0) { - printf("crypto_core_ed25519_scalar_invert() failed\n"); - } - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("inv2: %s\n", hex); - for (i = 0; i < crypto_core_ed25519_SCALARBYTES; i++) { - sc[i] = 32 - i; - } - if (crypto_core_ed25519_scalar_invert(sc, sc) != 0) { - printf("crypto_core_ed25519_scalar_invert() failed\n"); - } - - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("inv3: %s\n", hex); - if (crypto_core_ed25519_scalar_invert(sc, sc) != 0) { - printf("crypto_core_ed25519_scalar_invert() failed\n"); - } - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("inv4: %s\n", hex); - - for (i = 0; i < crypto_core_ed25519_SCALARBYTES; i++) { - sc[i] = 255 - i; - } - crypto_core_ed25519_scalar_negate(sc, sc); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("neg1: %s\n", hex); - crypto_core_ed25519_scalar_negate(sc, sc); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("neg2: %s\n", hex); - for (i = 0; i < crypto_core_ed25519_SCALARBYTES; i++) { - sc[i] = 32 - i; - } - crypto_core_ed25519_scalar_negate(sc, sc); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("neg3: %s\n", hex); - crypto_core_ed25519_scalar_negate(sc, sc); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("neg4: %s\n", hex); - - for (i = 0; i < crypto_core_ed25519_SCALARBYTES; i++) { - sc[i] = 255 - i; - } - crypto_core_ed25519_scalar_complement(sc, sc); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("comp1: %s\n", hex); - crypto_core_ed25519_scalar_complement(sc, sc); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("comp2: %s\n", hex); - for (i = 0; i < crypto_core_ed25519_SCALARBYTES; i++) { - sc[i] = 32 - i; - } - crypto_core_ed25519_scalar_complement(sc, sc); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("comp3: %s\n", hex); - crypto_core_ed25519_scalar_complement(sc, sc); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("comp4: %s\n", hex); - - sc2 = (unsigned char *) sodium_malloc(crypto_core_ed25519_SCALARBYTES); - sc3 = (unsigned char *) sodium_malloc(crypto_core_ed25519_SCALARBYTES); - for (i = 0; i < 1000; i++) { - randombytes_buf(sc, crypto_core_ed25519_SCALARBYTES); - randombytes_buf(sc2, crypto_core_ed25519_SCALARBYTES); - sc[crypto_core_ed25519_SCALARBYTES - 1] &= 0x7f; - sc2[crypto_core_ed25519_SCALARBYTES - 1] &= 0x7f; - crypto_core_ed25519_scalar_add(sc3, sc, sc2); - assert(!sodium_is_zero(sc, crypto_core_ed25519_SCALARBYTES)); - crypto_core_ed25519_scalar_sub(sc3, sc3, sc2); - assert(!sodium_is_zero(sc, crypto_core_ed25519_SCALARBYTES)); - crypto_core_ed25519_scalar_sub(sc3, sc3, sc); - assert(sodium_is_zero(sc3, crypto_core_ed25519_SCALARBYTES)); - } - - memset(sc, 0x69, crypto_core_ed25519_SCALARBYTES); - memset(sc2, 0x42, crypto_core_ed25519_SCALARBYTES); - crypto_core_ed25519_scalar_add(sc, sc, sc2); - crypto_core_ed25519_scalar_add(sc, sc2, sc); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("add1: %s\n", hex); - - crypto_core_ed25519_scalar_sub(sc, sc2, sc); - crypto_core_ed25519_scalar_sub(sc, sc, sc2); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("sub1: %s\n", hex); - - memset(sc, 0xcd, crypto_core_ed25519_SCALARBYTES); - memset(sc2, 0x42, crypto_core_ed25519_SCALARBYTES); - crypto_core_ed25519_scalar_add(sc, sc, sc2); - crypto_core_ed25519_scalar_add(sc, sc2, sc); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("add2: %s\n", hex); - - crypto_core_ed25519_scalar_sub(sc, sc2, sc); - crypto_core_ed25519_scalar_sub(sc, sc, sc2); - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc, crypto_core_ed25519_SCALARBYTES); - printf("sub2: %s\n", hex); - - memset(sc, 0x69, crypto_core_ed25519_SCALARBYTES); - memset(sc2, 0x42, crypto_core_ed25519_SCALARBYTES); - for (i = 0; i < 100; i++) { - crypto_core_ed25519_scalar_mul(sc, sc, sc2); - crypto_core_ed25519_scalar_mul(sc2, sc, sc2); - } - sodium_bin2hex(hex, crypto_core_ed25519_SCALARBYTES * 2 + 1, - sc2, crypto_core_ed25519_SCALARBYTES); - printf("mul: %s\n", hex); - for (i = 0; i < 1000; i++) { - crypto_core_ed25519_scalar_random(sc); - memset(sc2, 0, crypto_core_ed25519_SCALARBYTES); - crypto_core_ed25519_scalar_mul(sc3, sc, sc2); - assert(sodium_is_zero(sc3, crypto_core_ed25519_SCALARBYTES)); - - sc2[0]++; - crypto_core_ed25519_scalar_mul(sc3, sc, sc2); - assert(memcmp(sc3, sc, crypto_core_ed25519_SCALARBYTES) == 0); - - sc2[0]++; - crypto_core_ed25519_scalar_mul(sc3, sc, sc2); - crypto_core_ed25519_scalar_sub(sc3, sc3, sc); - crypto_core_ed25519_scalar_sub(sc3, sc3, sc); - assert(sodium_is_zero(sc3, crypto_core_ed25519_SCALARBYTES)); - - do { - crypto_core_ed25519_scalar_random(sc2); - } while (sodium_is_zero(sc2, crypto_core_ed25519_SCALARBYTES)); - crypto_core_ed25519_scalar_mul(sc3, sc, sc2); - crypto_core_ed25519_scalar_invert(sc2, sc2); - crypto_core_ed25519_scalar_mul(sc3, sc3, sc2); - assert(memcmp(sc3, sc, crypto_core_ed25519_SCALARBYTES) == 0); - - sc[31] |= 0x11; - memset(sc2, 0, crypto_core_ed25519_SCALARBYTES); - sc2[0] = 1; - crypto_core_ed25519_scalar_mul(sc3, sc, sc2); - assert(memcmp(sc3, sc, crypto_core_ed25519_SCALARBYTES) != 0); - } - sodium_free(hex); - sodium_free(sc64); - sodium_free(sc3); - sodium_free(sc2); - sodium_free(sc); - sodium_free(p3); - sodium_free(p2); - sodium_free(p); - sodium_free(r); - sodium_free(h); - - assert(crypto_core_ed25519_BYTES == crypto_core_ed25519_bytes()); - assert(crypto_core_ed25519_SCALARBYTES == crypto_core_ed25519_scalarbytes()); - assert(crypto_core_ed25519_NONREDUCEDSCALARBYTES == crypto_core_ed25519_nonreducedscalarbytes()); - assert(crypto_core_ed25519_NONREDUCEDSCALARBYTES >= crypto_core_ed25519_SCALARBYTES); - assert(crypto_core_ed25519_UNIFORMBYTES == crypto_core_ed25519_uniformbytes()); - assert(crypto_core_ed25519_UNIFORMBYTES >= crypto_core_ed25519_BYTES); - assert(crypto_core_ed25519_HASHBYTES == crypto_core_ed25519_hashbytes()); - assert(crypto_core_ed25519_HASHBYTES >= 2 * crypto_core_ed25519_BYTES); - - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/core_ed25519.exp b/libsodium-1.0.18-RELEASE/test/default/core_ed25519.exp deleted file mode 100644 index 65295bf..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core_ed25519.exp +++ /dev/null @@ -1,18 +0,0 @@ -inv1: 5858cdec40a044b1548b3bb08f8ce0d71103d1f887df84ebc502643dac4df40b -inv2: 09688ce78a8ff8273f636b0bc748c0cceeeeedecebeae9e8e7e6e5e4e3e2e100 -inv3: f70b4f272b47bd6a1015a511fb3c9fc1b9c21ca4ca2e17d5a225b4c410b9b60d -inv4: 201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201 -neg1: e46b69758fd3193097398c9717b11e48111112131415161718191a1b1c1d1e0f -neg2: 09688ce78a8ff8273f636b0bc748c0cceeeeedecebeae9e8e7e6e5e4e3e2e100 -neg3: cdb4d73ffe47f83ebe85e18dcae6cc03f0f0f1f2f3f4f5f6f7f8f9fafbfcfd0e -neg4: 201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201 -comp1: e56b69758fd3193097398c9717b11e48111112131415161718191a1b1c1d1e0f -comp2: 09688ce78a8ff8273f636b0bc748c0cceeeeedecebeae9e8e7e6e5e4e3e2e100 -comp3: ceb4d73ffe47f83ebe85e18dcae6cc03f0f0f1f2f3f4f5f6f7f8f9fafbfcfd0e -comp4: 201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201 -add1: f7567cd87c82ec1c355a6304c143bcc9ecedededededededededededededed0d -sub1: f67c79849de0253ba142949e1db6224b13121212121212121212121212121202 -add2: b02e8581ce62f69922427c23f970f7e951525252525252525252525252525202 -sub2: 3da570db4b001cbeb35a7b7fe588e72aaeadadadadadadadadadadadadadad0d -mul: 4453ef38408c06677c1b810e4bf8b1991f01c88716fbfa2f075a518b77da400b -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/core_ristretto255.c b/libsodium-1.0.18-RELEASE/test/default/core_ristretto255.c deleted file mode 100644 index bd67f71..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core_ristretto255.c +++ /dev/null @@ -1,270 +0,0 @@ -#define TEST_NAME "core_ristretto255" -#include "cmptest.h" - -static void -tv1(void) -{ - static const char *bad_encodings_hex[] = { - /* Non-canonical field encodings */ - "00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - - /* Negative field elements */ - "0100000000000000000000000000000000000000000000000000000000000000", - "01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "ed57ffd8c914fb201471d1c3d245ce3c746fcbe63a3679d51b6a516ebebe0e20", - "c34c4e1826e5d403b78e246e88aa051c36ccf0aafebffe137d148a2bf9104562", - "c940e5a4404157cfb1628b108db051a8d439e1a421394ec4ebccb9ec92a8ac78", - "47cfc5497c53dc8e61c91d17fd626ffb1c49e2bca94eed052281b510b1117a24", - "f1c6165d33367351b0da8f6e4511010c68174a03b6581212c71c0e1d026c3c72", - "87260f7a2f12495118360f02c26a470f450dadf34a413d21042b43b9d93e1309", - - /* Non-square x^2 */ - "26948d35ca62e643e26a83177332e6b6afeb9d08e4268b650f1f5bbd8d81d371", - "4eac077a713c57b4f4397629a4145982c661f48044dd3f96427d40b147d9742f", - "de6a7b00deadc788eb6b6c8d20c0ae96c2f2019078fa604fee5b87d6e989ad7b", - "bcab477be20861e01e4a0e295284146a510150d9817763caf1a6f4b422d67042", - "2a292df7e32cababbd9de088d1d1abec9fc0440f637ed2fba145094dc14bea08", - "f4a9e534fc0d216c44b218fa0c42d99635a0127ee2e53c712f70609649fdff22", - "8268436f8c4126196cf64b3c7ddbda90746a378625f9813dd9b8457077256731", - "2810e5cbc2cc4d4eece54f61c6f69758e289aa7ab440b3cbeaa21995c2f4232b", - - /* Negative xy value */ - "3eb858e78f5a7254d8c9731174a94f76755fd3941c0ac93735c07ba14579630e", - "a45fdc55c76448c049a1ab33f17023edfb2be3581e9c7aade8a6125215e04220", - "d483fe813c6ba647ebbfd3ec41adca1c6130c2beeee9d9bf065c8d151c5f396e", - "8a2e1d30050198c65a54483123960ccc38aef6848e1ec8f5f780e8523769ba32", - "32888462f8b486c68ad7dd9610be5192bbeaf3b443951ac1a8118419d9fa097b", - "227142501b9d4355ccba290404bde41575b037693cef1f438c47f8fbf35d1165", - "5c37cc491da847cfeb9281d407efc41e15144c876e0170b499a96a22ed31e01e", - "445425117cb8c90edcbc7c1cc0e74f747f2c1efa5630a967c64f287792a48a4b", - - /* s = -1, which causes y = 0 */ - "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f" - }; - unsigned char *s; - size_t i; - - s = (unsigned char *) sodium_malloc(crypto_core_ristretto255_BYTES); - for (i = 0; i < sizeof bad_encodings_hex / sizeof bad_encodings_hex[0]; i++) { - sodium_hex2bin(s, crypto_core_ristretto255_BYTES, bad_encodings_hex[i], - crypto_core_ristretto255_BYTES * 2 + 1, - NULL, NULL, NULL); - if (crypto_core_ristretto255_is_valid_point(s)) { - printf("[%s] was not rejected\n", bad_encodings_hex[i]); - } - } - sodium_free(s); -}; - -static void -tv2(void) -{ - static const char *hash_hex[] = { - "5d1be09e3d0c82fc538112490e35701979d99e06ca3e2b5b54bffe8b4dc772c1" - "4d98b696a1bbfb5ca32c436cc61c16563790306c79eaca7705668b47dffe5bb6", - - "f116b34b8f17ceb56e8732a60d913dd10cce47a6d53bee9204be8b44f6678b27" - "0102a56902e2488c46120e9276cfe54638286b9e4b3cdb470b542d46c2068d38", - - "8422e1bbdaab52938b81fd602effb6f89110e1e57208ad12d9ad767e2e25510c" - "27140775f9337088b982d83d7fcf0b2fa1edffe51952cbe7365e95c86eaf325c", - - "ac22415129b61427bf464e17baee8db65940c233b98afce8d17c57beeb7876c2" - "150d15af1cb1fb824bbd14955f2b57d08d388aab431a391cfc33d5bafb5dbbaf", - - "165d697a1ef3d5cf3c38565beefcf88c0f282b8e7dbd28544c483432f1cec767" - "5debea8ebb4e5fe7d6f6e5db15f15587ac4d4d4a1de7191e0c1ca6664abcc413", - - "a836e6c9a9ca9f1e8d486273ad56a78c70cf18f0ce10abb1c7172ddd605d7fd2" - "979854f47ae1ccf204a33102095b4200e5befc0465accc263175485f0e17ea5c", - - "2cdc11eaeb95daf01189417cdddbf95952993aa9cb9c640eb5058d09702c7462" - "2c9965a697a3b345ec24ee56335b556e677b30e6f90ac77d781064f866a3c982" - }; - unsigned char *s; - unsigned char *u; - char *hex; - size_t i; - - s = (unsigned char *) sodium_malloc(crypto_core_ristretto255_BYTES); - u = (unsigned char *) sodium_malloc(crypto_core_ristretto255_HASHBYTES); - hex = (char *) sodium_malloc(crypto_core_ristretto255_BYTES * 2 + 1); - for (i = 0; i < sizeof hash_hex / sizeof hash_hex[0]; i++) { - sodium_hex2bin(u, crypto_core_ristretto255_HASHBYTES, hash_hex[i], - crypto_core_ristretto255_HASHBYTES * 2 + 1, - NULL, NULL, NULL); - crypto_core_ristretto255_from_hash(s, u); - sodium_bin2hex(hex, crypto_core_ristretto255_BYTES * 2 + 1, - s, crypto_core_ristretto255_BYTES); - printf("%s\n", hex); - } - sodium_free(hex); - sodium_free(u); - sodium_free(s); -} - -static void -tv3(void) -{ - static const unsigned char l[crypto_core_ed25519_BYTES] = - { 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, - 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10 }; - - unsigned char *r = - (unsigned char *) sodium_malloc(crypto_core_ristretto255_SCALARBYTES); - unsigned char *r_inv = - (unsigned char *) sodium_malloc(crypto_core_ristretto255_SCALARBYTES); - unsigned char *ru = - (unsigned char *) sodium_malloc(crypto_core_ristretto255_HASHBYTES); - unsigned char *s = - (unsigned char *) sodium_malloc(crypto_core_ristretto255_BYTES); - unsigned char *s_ = - (unsigned char *) sodium_malloc(crypto_core_ristretto255_BYTES); - unsigned char *s2 = - (unsigned char *) sodium_malloc(crypto_core_ristretto255_BYTES); - int i; - - for (i = 0; i < 1000; i++) { - crypto_core_ristretto255_scalar_random(r); - if (crypto_scalarmult_ristretto255_base(s, r) != 0 || - crypto_core_ristretto255_is_valid_point(s) != 1) { - printf("crypto_scalarmult_ristretto255_base() failed\n"); - } - crypto_core_ristretto255_random(s); - if (crypto_core_ristretto255_is_valid_point(s) != 1) { - printf("crypto_core_ristretto255_random() failed\n"); - } - if (crypto_scalarmult_ristretto255(s, l, s) == 0) { - printf("s*l != inf (1)\n"); - } - randombytes_buf(ru, crypto_core_ristretto255_HASHBYTES); - if (crypto_core_ristretto255_from_hash(s, ru) != 0 || - crypto_core_ristretto255_is_valid_point(s) != 1) { - printf("crypto_core_ristretto255_from_hash() failed\n"); - } - if (crypto_scalarmult_ristretto255(s2, l, s) == 0) { - printf("s*l != inf (2)\n"); - } - if (crypto_scalarmult_ristretto255(s2, r, s) != 0 || - crypto_core_ristretto255_is_valid_point(s2) != 1) { - printf("crypto_scalarmult_ristretto255() failed\n"); - } - if (crypto_core_ristretto255_scalar_invert(r_inv, r) != 0) { - printf("crypto_core_ristretto255_scalar_invert() failed\n"); - } - if (crypto_scalarmult_ristretto255(s_, r_inv, s2) != 0 || - crypto_core_ristretto255_is_valid_point(s_) != 1) { - printf("crypto_scalarmult_ristretto255() failed\n"); - } - if (memcmp(s, s_, crypto_core_ristretto255_BYTES) != 0) { - printf("inversion failed\n"); - } - if (crypto_scalarmult_ristretto255(s2, l, s2) == 0) { - printf("s*l != inf (3)\n"); - } - if (crypto_core_ristretto255_add(s2, s, s_) != 0) { - printf("addition failed"); - } - if (crypto_core_ristretto255_sub(s2, s2, s_) != 0) { - printf("substraction failed"); - } - if (crypto_core_ristretto255_is_valid_point(s2) == 0) { - printf("invalid point"); - } - if (memcmp(s, s2, crypto_core_ristretto255_BYTES) != 0) { - printf("s2 + s - s_ != s\n"); - } - if (crypto_core_ristretto255_sub(s2, s2, s) != 0) { - printf("substraction failed"); - } - if (crypto_core_ristretto255_is_valid_point(s2) == -1) { - printf("s + s' - s - s' != 0"); - } - } - - crypto_core_ristretto255_random(s); - memset(s_, 0xfe, crypto_core_ristretto255_BYTES); - assert(crypto_core_ristretto255_add(s2, s_, s) == -1); - assert(crypto_core_ristretto255_add(s2, s, s_) == -1); - assert(crypto_core_ristretto255_add(s2, s_, s_) == -1); - assert(crypto_core_ristretto255_add(s2, s, s) == 0); - assert(crypto_core_ristretto255_sub(s2, s_, s) == -1); - assert(crypto_core_ristretto255_sub(s2, s, s_) == -1); - assert(crypto_core_ristretto255_sub(s2, s_, s_) == -1); - assert(crypto_core_ristretto255_sub(s2, s, s) == 0); - - sodium_free(s2); - sodium_free(s_); - sodium_free(s); - sodium_free(ru); - sodium_free(r_inv); - sodium_free(r); -} - -static void -tv4(void) -{ - unsigned char *r; - unsigned char *s1; - unsigned char *s2; - unsigned char *s3; - unsigned char *s4; - - r = (unsigned char *) sodium_malloc(crypto_core_ristretto255_NONREDUCEDSCALARBYTES); - s1 = (unsigned char *) sodium_malloc(crypto_core_ristretto255_SCALARBYTES); - s2 = (unsigned char *) sodium_malloc(crypto_core_ristretto255_SCALARBYTES); - s3 = (unsigned char *) sodium_malloc(crypto_core_ristretto255_SCALARBYTES); - s4 = (unsigned char *) sodium_malloc(crypto_core_ristretto255_SCALARBYTES); - - crypto_core_ristretto255_scalar_random(s1); - randombytes_buf(r, crypto_core_ristretto255_NONREDUCEDSCALARBYTES); - crypto_core_ristretto255_scalar_reduce(s2, r); - memcpy(s4, s1, crypto_core_ristretto255_SCALARBYTES); - crypto_core_ristretto255_scalar_add(s3, s1, s2); - crypto_core_ristretto255_scalar_sub(s4, s1, s2); - crypto_core_ristretto255_scalar_add(s2, s3, s4); - crypto_core_ristretto255_scalar_sub(s2, s2, s1); - crypto_core_ristretto255_scalar_mul(s2, s3, s2); - crypto_core_ristretto255_scalar_invert(s4, s3); - crypto_core_ristretto255_scalar_mul(s2, s2, s4); - crypto_core_ristretto255_scalar_negate(s1, s1); - crypto_core_ristretto255_scalar_add(s2, s2, s1); - crypto_core_ristretto255_scalar_complement(s1, s2); - s1[0]--; - assert(sodium_is_zero(s1, crypto_core_ristretto255_SCALARBYTES)); - - sodium_free(s1); - sodium_free(s2); - sodium_free(s3); - sodium_free(s4); - sodium_free(r); -} - -int -main(void) -{ - tv1(); - tv2(); - tv3(); - tv4(); - - assert(crypto_core_ristretto255_BYTES == crypto_core_ristretto255_bytes()); - assert(crypto_core_ristretto255_SCALARBYTES == crypto_core_ristretto255_scalarbytes()); - assert(crypto_core_ristretto255_NONREDUCEDSCALARBYTES == crypto_core_ristretto255_nonreducedscalarbytes()); - assert(crypto_core_ristretto255_NONREDUCEDSCALARBYTES >= crypto_core_ristretto255_SCALARBYTES); - assert(crypto_core_ristretto255_HASHBYTES == crypto_core_ristretto255_hashbytes()); - assert(crypto_core_ristretto255_HASHBYTES >= crypto_core_ristretto255_BYTES); - assert(crypto_core_ristretto255_BYTES == crypto_core_ed25519_BYTES); - assert(crypto_core_ristretto255_SCALARBYTES == crypto_core_ed25519_SCALARBYTES); - assert(crypto_core_ristretto255_NONREDUCEDSCALARBYTES == crypto_core_ed25519_NONREDUCEDSCALARBYTES); - assert(crypto_core_ristretto255_HASHBYTES >= 2 * crypto_core_ed25519_UNIFORMBYTES); - - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/core_ristretto255.exp b/libsodium-1.0.18-RELEASE/test/default/core_ristretto255.exp deleted file mode 100644 index 8618d89..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/core_ristretto255.exp +++ /dev/null @@ -1,8 +0,0 @@ -3066f82a1a747d45120d1740f14358531a8f04bbffe6a819f86dfe50f44a0a46 -f26e5b6f7d362d2d2a94c5d0e7602cb4773c95a2e5c31a64f133189fa76ed61b -006ccd2a9e6867e6a2c5cea83d3302cc9de128dd2a9a57dd8ee7b9d7ffe02826 -f8f0c87cf237953c5890aec3998169005dae3eca1fbb04548c635953c817f92a -ae81e7dedf20a497e10c304a765c1767a42d6e06029758d2d7e8ef7cc4c41179 -e2705652ff9f5e44d3e841bf1c251cf7dddb77d140870d1ab2ed64f1a9ce8628 -80bd07262511cdde4863f8a7434cef696750681cb9510eea557088f76d9e5065 -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/ed25519_convert.c b/libsodium-1.0.18-RELEASE/test/default/ed25519_convert.c deleted file mode 100644 index d067547..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/ed25519_convert.c +++ /dev/null @@ -1,70 +0,0 @@ - -#define TEST_NAME "ed25519_convert" -#include "cmptest.h" - -static const unsigned char keypair_seed[crypto_sign_ed25519_SEEDBYTES] = { - 0x42, 0x11, 0x51, 0xa4, 0x59, 0xfa, 0xea, 0xde, 0x3d, 0x24, 0x71, - 0x15, 0xf9, 0x4a, 0xed, 0xae, 0x42, 0x31, 0x81, 0x24, 0x09, 0x5a, - 0xfa, 0xbe, 0x4d, 0x14, 0x51, 0xa5, 0x59, 0xfa, 0xed, 0xee -}; - -int -main(void) -{ - unsigned char ed25519_pk[crypto_sign_ed25519_PUBLICKEYBYTES]; - unsigned char ed25519_skpk[crypto_sign_ed25519_SECRETKEYBYTES]; - unsigned char curve25519_pk[crypto_scalarmult_curve25519_BYTES]; - unsigned char curve25519_pk2[crypto_scalarmult_curve25519_BYTES]; - unsigned char curve25519_sk[crypto_scalarmult_curve25519_BYTES]; - char curve25519_pk_hex[crypto_scalarmult_curve25519_BYTES * 2 + 1]; - char curve25519_sk_hex[crypto_scalarmult_curve25519_BYTES * 2 + 1]; - unsigned int i; - - assert(crypto_sign_ed25519_SEEDBYTES <= crypto_hash_sha512_BYTES); - crypto_sign_ed25519_seed_keypair(ed25519_pk, ed25519_skpk, keypair_seed); - - if (crypto_sign_ed25519_pk_to_curve25519(curve25519_pk, ed25519_pk) != 0) { - printf("conversion failed\n"); - } - crypto_sign_ed25519_sk_to_curve25519(curve25519_sk, ed25519_skpk); - sodium_bin2hex(curve25519_pk_hex, sizeof curve25519_pk_hex, curve25519_pk, - sizeof curve25519_pk); - sodium_bin2hex(curve25519_sk_hex, sizeof curve25519_sk_hex, curve25519_sk, - sizeof curve25519_sk); - - printf("curve25519 pk: [%s]\n", curve25519_pk_hex); - printf("curve25519 sk: [%s]\n", curve25519_sk_hex); - - for (i = 0U; i < 500U; i++) { - crypto_sign_ed25519_keypair(ed25519_pk, ed25519_skpk); - if (crypto_sign_ed25519_pk_to_curve25519(curve25519_pk, ed25519_pk) != - 0) { - printf("conversion failed\n"); - } - crypto_sign_ed25519_sk_to_curve25519(curve25519_sk, ed25519_skpk); - crypto_scalarmult_curve25519_base(curve25519_pk2, curve25519_sk); - if (memcmp(curve25519_pk, curve25519_pk2, sizeof curve25519_pk) != 0) { - printf("conversion failed\n"); - } - } - - sodium_hex2bin(ed25519_pk, crypto_sign_ed25519_PUBLICKEYBYTES, - "0000000000000000000000000000000000000000000000000000000000000000" - "0000000000000000000000000000000000000000000000000000000000000000", - 64, NULL, NULL, NULL); - assert(crypto_sign_ed25519_pk_to_curve25519(curve25519_pk, ed25519_pk) == -1); - sodium_hex2bin(ed25519_pk, crypto_sign_ed25519_PUBLICKEYBYTES, - "0200000000000000000000000000000000000000000000000000000000000000" - "0000000000000000000000000000000000000000000000000000000000000000", - 64, NULL, NULL, NULL); - assert(crypto_sign_ed25519_pk_to_curve25519(curve25519_pk, ed25519_pk) == -1); - sodium_hex2bin(ed25519_pk, crypto_sign_ed25519_PUBLICKEYBYTES, - "0500000000000000000000000000000000000000000000000000000000000000" - "0000000000000000000000000000000000000000000000000000000000000000", - 64, NULL, NULL, NULL); - assert(crypto_sign_ed25519_pk_to_curve25519(curve25519_pk, ed25519_pk) == -1); - - printf("ok\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/ed25519_convert.exp b/libsodium-1.0.18-RELEASE/test/default/ed25519_convert.exp deleted file mode 100644 index cba2b7b..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/ed25519_convert.exp +++ /dev/null @@ -1,3 +0,0 @@ -curve25519 pk: [f1814f0e8ff1043d8a44d25babff3cedcae6c22c3edaa48f857ae70de2baae50] -curve25519 sk: [8052030376d47112be7f73ed7a019293dd12ad910b654455798b4667d73de166] -ok diff --git a/libsodium-1.0.18-RELEASE/test/default/generichash.c b/libsodium-1.0.18-RELEASE/test/default/generichash.c deleted file mode 100644 index 2da877d..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/generichash.c +++ /dev/null @@ -1,1406 +0,0 @@ - -#define TEST_NAME "generichash" -#include "cmptest.h" - -#define MAXLEN 64 - -static struct { - const char *in_hex; - const char *key_hex; - const char *out_hex; -} tests[] = { - { - "", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "10ebb67700b1868efb4417987acf4690ae9d972fb7a590c2f02871799aaa4786b5e996e8f0f4eb981fc214b005f42d2ff4233499391653df7aefcbc13fc51568" - }, - { - "00", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "961f6dd1e4dd30f63901690c512e78e4b45e4742ed197c3c5e45c549fd25f2e4187b0bc9fe30492b16b0d0bc4ef9b0f34c7003fac09a5ef1532e69430234cebd" - }, - { - "0001", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "da2cfbe2d8409a0f38026113884f84b50156371ae304c4430173d08a99d9fb1b983164a3770706d537f49e0c916d9f32b95cc37a95b99d857436f0232c88a965" - }, - { - "000102", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "33d0825dddf7ada99b0e7e307104ad07ca9cfd9692214f1561356315e784f3e5a17e364ae9dbb14cb2036df932b77f4b292761365fb328de7afdc6d8998f5fc1" - }, - { - "00010203", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "beaa5a3d08f3807143cf621d95cd690514d0b49efff9c91d24b59241ec0eefa5f60196d407048bba8d2146828ebcb0488d8842fd56bb4f6df8e19c4b4daab8ac" - }, - { - "0001020304", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "098084b51fd13deae5f4320de94a688ee07baea2800486689a8636117b46c1f4c1f6af7f74ae7c857600456a58a3af251dc4723a64cc7c0a5ab6d9cac91c20bb" - }, - { - "000102030405", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "6044540d560853eb1c57df0077dd381094781cdb9073e5b1b3d3f6c7829e12066bbaca96d989a690de72ca3133a83652ba284a6d62942b271ffa2620c9e75b1f" - }, - { - "00010203040506", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "7a8cfe9b90f75f7ecb3acc053aaed6193112b6f6a4aeeb3f65d3de541942deb9e2228152a3c4bbbe72fc3b12629528cfbb09fe630f0474339f54abf453e2ed52" - }, - { - "0001020304050607", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "380beaf6ea7cc9365e270ef0e6f3a64fb902acae51dd5512f84259ad2c91f4bc4108db73192a5bbfb0cbcf71e46c3e21aee1c5e860dc96e8eb0b7b8426e6abe9" - }, - { - "000102030405060708", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "60fe3c4535e1b59d9a61ea8500bfac41a69dffb1ceadd9aca323e9a625b64da5763bad7226da02b9c8c4f1a5de140ac5a6c1124e4f718ce0b28ea47393aa6637" - }, - { - "00010203040506070809", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "4fe181f54ad63a2983feaaf77d1e7235c2beb17fa328b6d9505bda327df19fc37f02c4b6f0368ce23147313a8e5738b5fa2a95b29de1c7f8264eb77b69f585cd" - }, - { - "000102030405060708090a", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f228773ce3f3a42b5f144d63237a72d99693adb8837d0e112a8a0f8ffff2c362857ac49c11ec740d1500749dac9b1f4548108bf3155794dcc9e4082849e2b85b" - }, - { - "000102030405060708090a0b", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "962452a8455cc56c8511317e3b1f3b2c37df75f588e94325fdd77070359cf63a9ae6e930936fdf8e1e08ffca440cfb72c28f06d89a2151d1c46cd5b268ef8563" - }, - { - "000102030405060708090a0b0c", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "43d44bfa18768c59896bf7ed1765cb2d14af8c260266039099b25a603e4ddc5039d6ef3a91847d1088d401c0c7e847781a8a590d33a3c6cb4df0fab1c2f22355" - }, - { - "000102030405060708090a0b0c0d", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "dcffa9d58c2a4ca2cdbb0c7aa4c4c1d45165190089f4e983bb1c2cab4aaeff1fa2b5ee516fecd780540240bf37e56c8bcca7fab980e1e61c9400d8a9a5b14ac6" - }, - { - "000102030405060708090a0b0c0d0e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "6fbf31b45ab0c0b8dad1c0f5f4061379912dde5aa922099a030b725c73346c524291adef89d2f6fd8dfcda6d07dad811a9314536c2915ed45da34947e83de34e" - }, - { - "000102030405060708090a0b0c0d0e0f", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "a0c65bddde8adef57282b04b11e7bc8aab105b99231b750c021f4a735cb1bcfab87553bba3abb0c3e64a0b6955285185a0bd35fb8cfde557329bebb1f629ee93" - }, - { - "000102030405060708090a0b0c0d0e0f10", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f99d815550558e81eca2f96718aed10d86f3f1cfb675cce06b0eff02f617c5a42c5aa760270f2679da2677c5aeb94f1142277f21c7f79f3c4f0cce4ed8ee62b1" - }, - { - "000102030405060708090a0b0c0d0e0f1011", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "95391da8fc7b917a2044b3d6f5374e1ca072b41454d572c7356c05fd4bc1e0f40b8bb8b4a9f6bce9be2c4623c399b0dca0dab05cb7281b71a21b0ebcd9e55670" - }, - { - "000102030405060708090a0b0c0d0e0f101112", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "04b9cd3d20d221c09ac86913d3dc63041989a9a1e694f1e639a3ba7e451840f750c2fc191d56ad61f2e7936bc0ac8e094b60caeed878c18799045402d61ceaf9" - }, - { - "000102030405060708090a0b0c0d0e0f10111213", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ec0e0ef707e4ed6c0c66f9e089e4954b058030d2dd86398fe84059631f9ee591d9d77375355149178c0cf8f8e7c49ed2a5e4f95488a2247067c208510fadc44c" - }, - { - "000102030405060708090a0b0c0d0e0f1011121314", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "9a37cce273b79c09913677510eaf7688e89b3314d3532fd2764c39de022a2945b5710d13517af8ddc0316624e73bec1ce67df15228302036f330ab0cb4d218dd" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "4cf9bb8fb3d4de8b38b2f262d3c40f46dfe747e8fc0a414c193d9fcf753106ce47a18f172f12e8a2f1c26726545358e5ee28c9e2213a8787aafbc516d2343152" - }, - { - "000102030405060708090a0b0c0d0e0f10111213141516", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "64e0c63af9c808fd893137129867fd91939d53f2af04be4fa268006100069b2d69daa5c5d8ed7fddcb2a70eeecdf2b105dd46a1e3b7311728f639ab489326bc9" - }, - { - "000102030405060708090a0b0c0d0e0f1011121314151617", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "5e9c93158d659b2def06b0c3c7565045542662d6eee8a96a89b78ade09fe8b3dcc096d4fe48815d88d8f82620156602af541955e1f6ca30dce14e254c326b88f" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "7775dff889458dd11aef417276853e21335eb88e4dec9cfb4e9edb49820088551a2ca60339f12066101169f0dfe84b098fddb148d9da6b3d613df263889ad64b" - }, - { - "000102030405060708090a0b0c0d0e0f10111213141516171819", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f0d2805afbb91f743951351a6d024f9353a23c7ce1fc2b051b3a8b968c233f46f50f806ecb1568ffaa0b60661e334b21dde04f8fa155ac740eeb42e20b60d764" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "86a2af316e7d7754201b942e275364ac12ea8962ab5bd8d7fb276dc5fbffc8f9a28cae4e4867df6780d9b72524160927c855da5b6078e0b554aa91e31cb9ca1d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "10bdf0caa0802705e706369baf8a3f79d72c0a03a80675a7bbb00be3a45e516424d1ee88efb56f6d5777545ae6e27765c3a8f5e493fc308915638933a1dfee55" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b01781092b1748459e2e4ec178696627bf4ebafebba774ecf018b79a68aeb84917bf0b84bb79d17b743151144cd66b7b33a4b9e52c76c4e112050ff5385b7f0b" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c6dbc61dec6eaeac81e3d5f755203c8e220551534a0b2fd105a91889945a638550204f44093dd998c076205dffad703a0e5cd3c7f438a7e634cd59fededb539e" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "eba51acffb4cea31db4b8d87e9bf7dd48fe97b0253ae67aa580f9ac4a9d941f2bea518ee286818cc9f633f2a3b9fb68e594b48cdd6d515bf1d52ba6c85a203a7" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "86221f3ada52037b72224f105d7999231c5e5534d03da9d9c0a12acb68460cd375daf8e24386286f9668f72326dbf99ba094392437d398e95bb8161d717f8991" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "5595e05c13a7ec4dc8f41fb70cb50a71bce17c024ff6de7af618d0cc4e9c32d9570d6d3ea45b86525491030c0d8f2b1836d5778c1ce735c17707df364d054347" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ce0f4f6aca89590a37fe034dd74dd5fa65eb1cbd0a41508aaddc09351a3cea6d18cb2189c54b700c009f4cbf0521c7ea01be61c5ae09cb54f27bc1b44d658c82" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "7ee80b06a215a3bca970c77cda8761822bc103d44fa4b33f4d07dcb997e36d55298bceae12241b3fa07fa63be5576068da387b8d5859aeab701369848b176d42" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "940a84b6a84d109aab208c024c6ce9647676ba0aaa11f86dbb7018f9fd2220a6d901a9027f9abcf935372727cbf09ebd61a2a2eeb87653e8ecad1bab85dc8327" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "2020b78264a82d9f4151141adba8d44bf20c5ec062eee9b595a11f9e84901bf148f298e0c9f8777dcdbc7cc4670aac356cc2ad8ccb1629f16f6a76bcefbee760" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d1b897b0e075ba68ab572adf9d9c436663e43eb3d8e62d92fc49c9be214e6f27873fe215a65170e6bea902408a25b49506f47babd07cecf7113ec10c5dd31252" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b14d0c62abfa469a357177e594c10c194243ed2025ab8aa5ad2fa41ad318e0ff48cd5e60bec07b13634a711d2326e488a985f31e31153399e73088efc86a5c55" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "4169c5cc808d2697dc2a82430dc23e3cd356dc70a94566810502b8d655b39abf9e7f902fe717e0389219859e1945df1af6ada42e4ccda55a197b7100a30c30a1" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "258a4edb113d66c839c8b1c91f15f35ade609f11cd7f8681a4045b9fef7b0b24c82cda06a5f2067b368825e3914e53d6948ede92efd6e8387fa2e537239b5bee" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "79d2d8696d30f30fb34657761171a11e6c3f1e64cbe7bebee159cb95bfaf812b4f411e2f26d9c421dc2c284a3342d823ec293849e42d1e46b0a4ac1e3c86abaa" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "8b9436010dc5dee992ae38aea97f2cd63b946d94fedd2ec9671dcde3bd4ce9564d555c66c15bb2b900df72edb6b891ebcadfeff63c9ea4036a998be7973981e7" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c8f68e696ed28242bf997f5b3b34959508e42d613810f1e2a435c96ed2ff560c7022f361a9234b9837feee90bf47922ee0fd5f8ddf823718d86d1e16c6090071" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b02d3eee4860d5868b2c39ce39bfe81011290564dd678c85e8783f29302dfc1399ba95b6b53cd9ebbf400cca1db0ab67e19a325f2d115812d25d00978ad1bca4" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "7693ea73af3ac4dad21ca0d8da85b3118a7d1c6024cfaf557699868217bc0c2f44a199bc6c0edd519798ba05bd5b1b4484346a47c2cadf6bf30b785cc88b2baf" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "a0e5c1c0031c02e48b7f09a5e896ee9aef2f17fc9e18e997d7f6cac7ae316422c2b1e77984e5f3a73cb45deed5d3f84600105e6ee38f2d090c7d0442ea34c46d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "41daa6adcfdb69f1440c37b596440165c15ada596813e2e22f060fcd551f24dee8e04ba6890387886ceec4a7a0d7fc6b44506392ec3822c0d8c1acfc7d5aebe8" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "14d4d40d5984d84c5cf7523b7798b254e275a3a8cc0a1bd06ebc0bee726856acc3cbf516ff667cda2058ad5c3412254460a82c92187041363cc77a4dc215e487" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d0e7a1e2b9a447fee83e2277e9ff8010c2f375ae12fa7aaa8ca5a6317868a26a367a0b69fbc1cf32a55d34eb370663016f3d2110230eba754028a56f54acf57c" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "e771aa8db5a3e043e8178f39a0857ba04a3f18e4aa05743cf8d222b0b095825350ba422f63382a23d92e4149074e816a36c1cd28284d146267940b31f8818ea2" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "feb4fd6f9e87a56bef398b3284d2bda5b5b0e166583a66b61e538457ff0584872c21a32962b9928ffab58de4af2edd4e15d8b35570523207ff4e2a5aa7754caa" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "462f17bf005fb1c1b9e671779f665209ec2873e3e411f98dabf240a1d5ec3f95ce6796b6fc23fe171903b502023467dec7273ff74879b92967a2a43a5a183d33" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d3338193b64553dbd38d144bea71c5915bb110e2d88180dbc5db364fd6171df317fc7268831b5aef75e4342b2fad8797ba39eddcef80e6ec08159350b1ad696d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "e1590d585a3d39f7cb599abd479070966409a6846d4377acf4471d065d5db94129cc9be92573b05ed226be1e9b7cb0cabe87918589f80dadd4ef5ef25a93d28e" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f8f3726ac5a26cc80132493a6fedcb0e60760c09cfc84cad178175986819665e76842d7b9fedf76dddebf5d3f56faaad4477587af21606d396ae570d8e719af2" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "30186055c07949948183c850e9a756cc09937e247d9d928e869e20bafc3cd9721719d34e04a0899b92c736084550186886efba2e790d8be6ebf040b209c439a4" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f3c4276cb863637712c241c444c5cc1e3554e0fddb174d035819dd83eb700b4ce88df3ab3841ba02085e1a99b4e17310c5341075c0458ba376c95a6818fbb3e2" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "0aa007c4dd9d5832393040a1583c930bca7dc5e77ea53add7e2b3f7c8e231368043520d4a3ef53c969b6bbfd025946f632bd7f765d53c21003b8f983f75e2a6a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "08e9464720533b23a04ec24f7ae8c103145f765387d738777d3d343477fd1c58db052142cab754ea674378e18766c53542f71970171cc4f81694246b717d7564" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d37ff7ad297993e7ec21e0f1b4b5ae719cdc83c5db687527f27516cbffa822888a6810ee5c1ca7bfe3321119be1ab7bfa0a502671c8329494df7ad6f522d440f" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "dd9042f6e464dcf86b1262f6accfafbd8cfd902ed3ed89abf78ffa482dbdeeb6969842394c9a1168ae3d481a017842f660002d42447c6b22f7b72f21aae021c9" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "bd965bf31e87d70327536f2a341cebc4768eca275fa05ef98f7f1b71a0351298de006fba73fe6733ed01d75801b4a928e54231b38e38c562b2e33ea1284992fa" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "65676d800617972fbd87e4b9514e1c67402b7a331096d3bfac22f1abb95374abc942f16e9ab0ead33b87c91968a6e509e119ff07787b3ef483e1dcdccf6e3022" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "939fa189699c5d2c81ddd1ffc1fa207c970b6a3685bb29ce1d3e99d42f2f7442da53e95a72907314f4588399a3ff5b0a92beb3f6be2694f9f86ecf2952d5b41c" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c516541701863f91005f314108ceece3c643e04fc8c42fd2ff556220e616aaa6a48aeb97a84bad74782e8dff96a1a2fa949339d722edcaa32b57067041df88cc" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "987fd6e0d6857c553eaebb3d34970a2c2f6e89a3548f492521722b80a1c21a153892346d2cba6444212d56da9a26e324dccbc0dcde85d4d2ee4399eec5a64e8f" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ae56deb1c2328d9c4017706bce6e99d41349053ba9d336d677c4c27d9fd50ae6aee17e853154e1f4fe7672346da2eaa31eea53fcf24a22804f11d03da6abfc2b" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "49d6a608c9bde4491870498572ac31aac3fa40938b38a7818f72383eb040ad39532bc06571e13d767e6945ab77c0bdc3b0284253343f9f6c1244ebf2ff0df866" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "da582ad8c5370b4469af862aa6467a2293b2b28bd80ae0e91f425ad3d47249fdf98825cc86f14028c3308c9804c78bfeeeee461444ce243687e1a50522456a1d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243444546", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d5266aa3331194aef852eed86d7b5b2633a0af1c735906f2e13279f14931a9fc3b0eac5ce9245273bd1aa92905abe16278ef7efd47694789a7283b77da3c70f8" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "2962734c28252186a9a1111c732ad4de4506d4b4480916303eb7991d659ccda07a9911914bc75c418ab7a4541757ad054796e26797feaf36e9f6ad43f14b35a4" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "e8b79ec5d06e111bdfafd71e9f5760f00ac8ac5d8bf768f9ff6f08b8f026096b1cc3a4c973333019f1e3553e77da3f98cb9f542e0a90e5f8a940cc58e59844b3" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243444546474849", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "dfb320c44f9d41d1efdcc015f08dd5539e526e39c87d509ae6812a969e5431bf4fa7d91ffd03b981e0d544cf72d7b1c0374f8801482e6dea2ef903877eba675e" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d88675118fdb55a5fb365ac2af1d217bf526ce1ee9c94b2f0090b2c58a06ca58187d7fe57c7bed9d26fca067b4110eefcd9a0a345de872abe20de368001b0745" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b893f2fc41f7b0dd6e2f6aa2e0370c0cff7df09e3acfcc0e920b6e6fad0ef747c40668417d342b80d2351e8c175f20897a062e9765e6c67b539b6ba8b9170545" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "6c67ec5697accd235c59b486d7b70baeedcbd4aa64ebd4eef3c7eac189561a726250aec4d48cadcafbbe2ce3c16ce2d691a8cce06e8879556d4483ed7165c063" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f1aa2b044f8f0c638a3f362e677b5d891d6fd2ab0765f6ee1e4987de057ead357883d9b405b9d609eea1b869d97fb16d9b51017c553f3b93c0a1e0f1296fedcd" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "cbaa259572d4aebfc1917acddc582b9f8dfaa928a198ca7acd0f2aa76a134a90252e6298a65b08186a350d5b7626699f8cb721a3ea5921b753ae3a2dce24ba3a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "fa1549c9796cd4d303dcf452c1fbd5744fd9b9b47003d920b92de34839d07ef2a29ded68f6fc9e6c45e071a2e48bd50c5084e96b657dd0404045a1ddefe282ed" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "5cf2ac897ab444dcb5c8d87c495dbdb34e1838b6b629427caa51702ad0f9688525f13bec503a3c3a2c80a65e0b5715e8afab00ffa56ec455a49a1ad30aa24fcd" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "9aaf80207bace17bb7ab145757d5696bde32406ef22b44292ef65d4519c3bb2ad41a59b62cc3e94b6fa96d32a7faadae28af7d35097219aa3fd8cda31e40c275" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "af88b163402c86745cb650c2988fb95211b94b03ef290eed9662034241fd51cf398f8073e369354c43eae1052f9b63b08191caa138aa54fea889cc7024236897" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "48fa7d64e1ceee27b9864db5ada4b53d00c9bc7626555813d3cd6730ab3cc06ff342d727905e33171bde6e8476e77fb1720861e94b73a2c538d254746285f430" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051525354", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "0e6fd97a85e904f87bfe85bbeb34f69e1f18105cf4ed4f87aec36c6e8b5f68bd2a6f3dc8a9ecb2b61db4eedb6b2ea10bf9cb0251fb0f8b344abf7f366b6de5ab" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "06622da5787176287fdc8fed440bad187d830099c94e6d04c8e9c954cda70c8bb9e1fc4a6d0baa831b9b78ef6648681a4867a11da93ee36e5e6a37d87fc63f6f" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "1da6772b58fabf9c61f68d412c82f182c0236d7d575ef0b58dd22458d643cd1dfc93b03871c316d8430d312995d4197f0874c99172ba004a01ee295abac24e46" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f5051525354555657", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3cd2d9320b7b1d5fb9aab951a76023fa667be14a9124e394513918a3f44096ae4904ba0ffc150b63bc7ab1eeb9a6e257e5c8f000a70394a5afd842715de15f29" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "04cdc14f7434e0b4be70cb41db4c779a88eaef6accebcb41f2d42fffe7f32a8e281b5c103a27021d0d08362250753cdf70292195a53a48728ceb5844c2d98bab" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "9071b7a8a075d0095b8fb3ae5113785735ab98e2b52faf91d5b89e44aac5b5d4ebbf91223b0ff4c71905da55342e64655d6ef8c89a4768c3f93a6dc0366b5bc8" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ebb30240dd96c7bc8d0abe49aa4edcbb4afdc51ff9aaf720d3f9e7fbb0f9c6d6571350501769fc4ebd0b2141247ff400d4fd4be414edf37757bb90a32ac5c65a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "8532c58bf3c8015d9d1cbe00eef1f5082f8f3632fbe9f1ed4f9dfb1fa79e8283066d77c44c4af943d76b300364aecbd0648c8a8939bd204123f4b56260422dec" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "fe9846d64f7c7708696f840e2d76cb4408b6595c2f81ec6a28a7f2f20cb88cfe6ac0b9e9b8244f08bd7095c350c1d0842f64fb01bb7f532dfcd47371b0aeeb79" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "28f17ea6fb6c42092dc264257e29746321fb5bdaea9873c2a7fa9d8f53818e899e161bc77dfe8090afd82bf2266c5c1bc930a8d1547624439e662ef695f26f24" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ec6b7d7f030d4850acae3cb615c21dd25206d63e84d1db8d957370737ba0e98467ea0ce274c66199901eaec18a08525715f53bfdb0aacb613d342ebdceeddc3b" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b403d3691c03b0d3418df327d5860d34bbfcc4519bfbce36bf33b208385fadb9186bc78a76c489d89fd57e7dc75412d23bcd1dae8470ce9274754bb8585b13c5" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "31fc79738b8772b3f55cd8178813b3b52d0db5a419d30ba9495c4b9da0219fac6df8e7c23a811551a62b827f256ecdb8124ac8a6792ccfecc3b3012722e94463" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "bb2039ec287091bcc9642fc90049e73732e02e577e2862b32216ae9bedcd730c4c284ef3968c368b7d37584f97bd4b4dc6ef6127acfe2e6ae2509124e66c8af4" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f53d68d13f45edfcb9bd415e2831e938350d5380d3432278fc1c0c381fcb7c65c82dafe051d8c8b0d44e0974a0e59ec7bf7ed0459f86e96f329fc79752510fd3" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60616263", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "8d568c7984f0ecdf7640fbc483b5d8c9f86634f6f43291841b309a350ab9c1137d24066b09da9944bac54d5bb6580d836047aac74ab724b887ebf93d4b32eca9" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c0b65ce5a96ff774c456cac3b5f2c4cd359b4ff53ef93a3da0778be4900d1e8da1601e769e8f1b02d2a2f8c5b9fa10b44f1c186985468feeb008730283a6657d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "4900bba6f5fb103ece8ec96ada13a5c3c85488e05551da6b6b33d988e611ec0fe2e3c2aa48ea6ae8986a3a231b223c5d27cec2eadde91ce07981ee652862d1e4" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60616263646566", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c7f5c37c7285f927f76443414d4357ff789647d7a005a5a787e03c346b57f49f21b64fa9cf4b7e45573e23049017567121a9c3d4b2b73ec5e9413577525db45a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656667", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ec7096330736fdb2d64b5653e7475da746c23a4613a82687a28062d3236364284ac01720ffb406cfe265c0df626a188c9e5963ace5d3d5bb363e32c38c2190a6" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "82e744c75f4649ec52b80771a77d475a3bc091989556960e276a5f9ead92a03f718742cdcfeaee5cb85c44af198adc43a4a428f5f0c2ddb0be36059f06d7df73" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60616263646566676869", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "2834b7a7170f1f5b68559ab78c1050ec21c919740b784a9072f6e5d69f828d70c919c5039fb148e39e2c8a52118378b064ca8d5001cd10a5478387b966715ed6" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "16b4ada883f72f853bb7ef253efcab0c3e2161687ad61543a0d2824f91c1f81347d86be709b16996e17f2dd486927b0288ad38d13063c4a9672c39397d3789b6" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "78d048f3a69d8b54ae0ed63a573ae350d89f7c6cf1f3688930de899afa037697629b314e5cd303aa62feea72a25bf42b304b6c6bcb27fae21c16d925e1fbdac3" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "0f746a48749287ada77a82961f05a4da4abdb7d77b1220f836d09ec814359c0ec0239b8c7b9ff9e02f569d1b301ef67c4612d1de4f730f81c12c40cc063c5caa" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f0fc859d3bd195fbdc2d591e4cdac15179ec0f1dc821c11df1f0c1d26e6260aaa65b79fafacafd7d3ad61e600f250905f5878c87452897647a35b995bcadc3a3" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "2620f687e8625f6a412460b42e2cef67634208ce10a0cbd4dff7044a41b7880077e9f8dc3b8d1216d3376a21e015b58fb279b521d83f9388c7382c8505590b9b" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "227e3aed8d2cb10b918fcb04f9de3e6d0a57e08476d93759cd7b2ed54a1cbf0239c528fb04bbf288253e601d3bc38b21794afef90b17094a182cac557745e75f" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "1a929901b09c25f27d6b35be7b2f1c4745131fdebca7f3e2451926720434e0db6e74fd693ad29b777dc3355c592a361c4873b01133a57c2e3b7075cbdb86f4fc" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "5fd7968bc2fe34f220b5e3dc5af9571742d73b7d60819f2888b629072b96a9d8ab2d91b82d0a9aaba61bbd39958132fcc4257023d1eca591b3054e2dc81c8200" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "dfcce8cf32870cc6a503eadafc87fd6f78918b9b4d0737db6810be996b5497e7e5cc80e312f61e71ff3e9624436073156403f735f56b0b01845c18f6caf772e6" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717273", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "02f7ef3a9ce0fff960f67032b296efca3061f4934d690749f2d01c35c81c14f39a67fa350bc8a0359bf1724bffc3bca6d7c7bba4791fd522a3ad353c02ec5aa8" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727374", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "64be5c6aba65d594844ae78bb022e5bebe127fd6b6ffa5a13703855ab63b624dcd1a363f99203f632ec386f3ea767fc992e8ed9686586aa27555a8599d5b808f" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f78585505c4eaa54a8b5be70a61e735e0ff97af944ddb3001e35d86c4e2199d976104b6ae31750a36a726ed285064f5981b503889fef822fcdc2898dddb7889a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717273747576", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "e4b5566033869572edfd87479a5bb73c80e8759b91232879d96b1dda36c012076ee5a2ed7ae2de63ef8406a06aea82c188031b560beafb583fb3de9e57952a7e" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727374757677", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "e1b3e7ed867f6c9484a2a97f7715f25e25294e992e41f6a7c161ffc2adc6daaeb7113102d5e6090287fe6ad94ce5d6b739c6ca240b05c76fb73f25dd024bf935" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "85fd085fdc12a080983df07bd7012b0d402a0f4043fcb2775adf0bad174f9b08d1676e476985785c0a5dcc41dbff6d95ef4d66a3fbdc4a74b82ba52da0512b74" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717273747576777879", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "aed8fa764b0fbff821e05233d2f7b0900ec44d826f95e93c343c1bc3ba5a24374b1d616e7e7aba453a0ada5e4fab5382409e0d42ce9c2bc7fb39a99c340c20f0" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "7ba3b2e297233522eeb343bd3ebcfd835a04007735e87f0ca300cbee6d416565162171581e4020ff4cf176450f1291ea2285cb9ebffe4c56660627685145051c" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "de748bcf89ec88084721e16b85f30adb1a6134d664b5843569babc5bbd1a15ca9b61803c901a4fef32965a1749c9f3a4e243e173939dc5a8dc495c671ab52145" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "aaf4d2bdf200a919706d9842dce16c98140d34bc433df320aba9bd429e549aa7a3397652a4d768277786cf993cde2338673ed2e6b66c961fefb82cd20c93338f" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c408218968b788bf864f0997e6bc4c3dba68b276e2125a4843296052ff93bf5767b8cdce7131f0876430c1165fec6c4f47adaa4fd8bcfacef463b5d3d0fa61a0" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "76d2d819c92bce55fa8e092ab1bf9b9eab237a25267986cacf2b8ee14d214d730dc9a5aa2d7b596e86a1fd8fa0804c77402d2fcd45083688b218b1cdfa0dcbcb" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "72065ee4dd91c2d8509fa1fc28a37c7fc9fa7d5b3f8ad3d0d7a25626b57b1b44788d4caf806290425f9890a3a2a35a905ab4b37acfd0da6e4517b2525c9651e4" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "64475dfe7600d7171bea0b394e27c9b00d8e74dd1e416a79473682ad3dfdbb706631558055cfc8a40e07bd015a4540dcdea15883cbbf31412df1de1cd4152b91" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "12cd1674a4488a5d7c2b3160d2e2c4b58371bedad793418d6f19c6ee385d70b3e06739369d4df910edb0b0a54cbff43d54544cd37ab3a06cfa0a3ddac8b66c89" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "60756966479dedc6dd4bcff8ea7d1d4ce4d4af2e7b097e32e3763518441147cc12b3c0ee6d2ecabf1198cec92e86a3616fba4f4e872f5825330adbb4c1dee444" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "a7803bcb71bc1d0f4383dde1e0612e04f872b715ad30815c2249cf34abb8b024915cb2fc9f4e7cc4c8cfd45be2d5a91eab0941c7d270e2da4ca4a9f7ac68663a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b84ef6a7229a34a750d9a98ee2529871816b87fbe3bc45b45fa5ae82d5141540211165c3c5d7a7476ba5a4aa06d66476f0d9dc49a3f1ee72c3acabd498967414" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "fae4b6d8efc3f8c8e64d001dabec3a21f544e82714745251b2b4b393f2f43e0da3d403c64db95a2cb6e23ebb7b9e94cdd5ddac54f07c4a61bd3cb10aa6f93b49" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283848586", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "34f7286605a122369540141ded79b8957255da2d4155abbf5a8dbb89c8eb7ede8eeef1daa46dc29d751d045dc3b1d658bb64b80ff8589eddb3824b13da235a6b" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384858687", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3b3b48434be27b9eababba43bf6b35f14b30f6a88dc2e750c358470d6b3aa3c18e47db4017fa55106d8252f016371a00f5f8b070b74ba5f23cffc5511c9f09f0" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ba289ebd6562c48c3e10a8ad6ce02e73433d1e93d7c9279d4d60a7e879ee11f441a000f48ed9f7c4ed87a45136d7dccdca482109c78a51062b3ba4044ada2469" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f80818283848586878889", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "022939e2386c5a37049856c850a2bb10a13dfea4212b4c732a8840a9ffa5faf54875c5448816b2785a007da8a8d2bc7d71a54e4e6571f10b600cbdb25d13ede3" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "e6fec19d89ce8717b1a087024670fe026f6c7cbda11caef959bb2d351bf856f8055d1c0ebdaaa9d1b17886fc2c562b5e99642fc064710c0d3488a02b5ed7f6fd" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "94c96f02a8f576aca32ba61c2b206f907285d9299b83ac175c209a8d43d53bfe683dd1d83e7549cb906c28f59ab7c46f8751366a28c39dd5fe2693c9019666c8" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "31a0cd215ebd2cb61de5b9edc91e6195e31c59a5648d5c9f737e125b2605708f2e325ab3381c8dce1a3e958886f1ecdc60318f882cfe20a24191352e617b0f21" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "91ab504a522dce78779f4c6c6ba2e6b6db5565c76d3e7e7c920caf7f757ef9db7c8fcf10e57f03379ea9bf75eb59895d96e149800b6aae01db778bb90afbc989" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d85cabc6bd5b1a01a5afd8c6734740da9fd1c1acc6db29bfc8a2e5b668b028b6b3154bfb8703fa3180251d589ad38040ceb707c4bad1b5343cb426b61eaa49c1" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d62efbec2ca9c1f8bd66ce8b3f6a898cb3f7566ba6568c618ad1feb2b65b76c3ce1dd20f7395372faf28427f61c9278049cf0140df434f5633048c86b81e0399" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "7c8fdc6175439e2c3db15bafa7fb06143a6a23bc90f449e79deef73c3d492a671715c193b6fea9f036050b946069856b897e08c00768f5ee5ddcf70b7cd6d0e0" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "58602ee7468e6bc9df21bd51b23c005f72d6cb013f0a1b48cbec5eca299299f97f09f54a9a01483eaeb315a6478bad37ba47ca1347c7c8fc9e6695592c91d723" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "27f5b79ed256b050993d793496edf4807c1d85a7b0a67c9c4fa99860750b0ae66989670a8ffd7856d7ce411599e58c4d77b232a62bef64d15275be46a68235ff" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3957a976b9f1887bf004a8dca942c92d2b37ea52600f25e0c9bc5707d0279c00c6e85a839b0d2d8eb59c51d94788ebe62474a791cadf52cccf20f5070b6573fc" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091929394", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "eaa2376d55380bf772ecca9cb0aa4668c95c707162fa86d518c8ce0ca9bf7362b9f2a0adc3ff59922df921b94567e81e452f6c1a07fc817cebe99604b3505d38" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c1e2c78b6b2734e2480ec550434cb5d613111adcc21d475545c3b1b7e6ff12444476e5c055132e2229dc0f807044bb919b1a5662dd38a9ee65e243a3911aed1a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293949596", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "8ab48713389dd0fcf9f965d3ce66b1e559a1f8c58741d67683cd971354f452e62d0207a65e436c5d5d8f8ee71c6abfe50e669004c302b31a7ea8311d4a916051" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091929394959697", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "24ce0addaa4c65038bd1b1c0f1452a0b128777aabc94a29df2fd6c7e2f85f8ab9ac7eff516b0e0a825c84a24cfe492eaad0a6308e46dd42fe8333ab971bb30ca" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "5154f929ee03045b6b0c0004fa778edee1d139893267cc84825ad7b36c63de32798e4a166d24686561354f63b00709a1364b3c241de3febf0754045897467cd4" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293949596979899", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "e74e907920fd87bd5ad636dd11085e50ee70459c443e1ce5809af2bc2eba39f9e6d7128e0e3712c316da06f4705d78a4838e28121d4344a2c79c5e0db307a677" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "bf91a22334bac20f3fd80663b3cd06c4e8802f30e6b59f90d3035cc9798a217ed5a31abbda7fa6842827bdf2a7a1c21f6fcfccbb54c6c52926f32da816269be1" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d9d5c74be5121b0bd742f26bffb8c89f89171f3f934913492b0903c271bbe2b3395ef259669bef43b57f7fcc3027db01823f6baee66e4f9fead4d6726c741fce" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "50c8b8cf34cd879f80e2faab3230b0c0e1cc3e9dcadeb1b9d97ab923415dd9a1fe38addd5c11756c67990b256e95ad6d8f9fedce10bf1c90679cde0ecf1be347" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "0a386e7cd5dd9b77a035e09fe6fee2c8ce61b5383c87ea43205059c5e4cd4f4408319bb0a82360f6a58e6c9ce3f487c446063bf813bc6ba535e17fc1826cfc91" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "1f1459cb6b61cbac5f0efe8fc487538f42548987fcd56221cfa7beb22504769e792c45adfb1d6b3d60d7b749c8a75b0bdf14e8ea721b95dca538ca6e25711209" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "e58b3836b7d8fedbb50ca5725c6571e74c0785e97821dab8b6298c10e4c079d4a6cdf22f0fedb55032925c16748115f01a105e77e00cee3d07924dc0d8f90659" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b929cc6505f020158672deda56d0db081a2ee34c00c1100029bdf8ea98034fa4bf3e8655ec697fe36f40553c5bb46801644a627d3342f4fc92b61f03290fb381" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "72d353994b49d3e03153929a1e4d4f188ee58ab9e72ee8e512f29bc773913819ce057ddd7002c0433ee0a16114e3d156dd2c4a7e80ee53378b8670f23e33ef56" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c70ef9bfd775d408176737a0736d68517ce1aaad7e81a93c8c1ed967ea214f56c8a377b1763e676615b60f3988241eae6eab9685a5124929d28188f29eab06f7" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c230f0802679cb33822ef8b3b21bf7a9a28942092901d7dac3760300831026cf354c9232df3e084d9903130c601f63c1f4a4a4b8106e468cd443bbe5a734f45f" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "6f43094cafb5ebf1f7a4937ec50f56a4c9da303cbb55ac1f27f1f1976cd96beda9464f0e7b9c54620b8a9fba983164b8be3578425a024f5fe199c36356b88972" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3745273f4c38225db2337381871a0c6aafd3af9b018c88aa02025850a5dc3a42a1a3e03e56cbf1b0876d63a441f1d2856a39b8801eb5af325201c415d65e97fe" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c50c44cca3ec3edaae779a7e179450ebdda2f97067c690aa6c5a4ac7c30139bb27c0df4db3220e63cb110d64f37ffe078db72653e2daacf93ae3f0a2d1a7eb2e" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "8aef263e385cbc61e19b28914243262af5afe8726af3ce39a79c27028cf3ecd3f8d2dfd9cfc9ad91b58f6f20778fd5f02894a3d91c7d57d1e4b866a7f364b6be" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "28696141de6e2d9bcb3235578a66166c1448d3e905a1b482d423be4bc5369bc8c74dae0acc9cc123e1d8ddce9f97917e8c019c552da32d39d2219b9abf0fa8c8" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "2fb9eb2085830181903a9dafe3db428ee15be7662224efd643371fb25646aee716e531eca69b2bdc8233f1a8081fa43da1500302975a77f42fa592136710e9dc" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "66f9a7143f7a3314a669bf2e24bbb35014261d639f495b6c9c1f104fe8e320aca60d4550d69d52edbd5a3cdeb4014ae65b1d87aa770b69ae5c15f4330b0b0ad8" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f4c4dd1d594c3565e3e25ca43dad82f62abea4835ed4cd811bcd975e46279828d44d4c62c3679f1b7f7b9dd4571d7b49557347b8c5460cbdc1bef690fb2a08c0" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabac", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "8f1dc9649c3a84551f8f6e91cac68242a43b1f8f328ee92280257387fa7559aa6db12e4aeadc2d26099178749c6864b357f3f83b2fb3efa8d2a8db056bed6bcc" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3139c1a7f97afd1675d460ebbc07f2728aa150df849624511ee04b743ba0a833092f18c12dc91b4dd243f333402f59fe28abdbbbae301e7b659c7a26d5c0f979" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadae", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "06f94a2996158a819fe34c40de3cf0379fd9fb85b3e363ba3926a0e7d960e3f4c2e0c70c7ce0ccb2a64fc29869f6e7ab12bd4d3f14fce943279027e785fb5c29" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c29c399ef3eee8961e87565c1ce263925fc3d0ce267d13e48dd9e732ee67b0f69fad56401b0f10fcaac119201046cca28c5b14abdea3212ae65562f7f138db3d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "4cec4c9df52eef05c3f6faaa9791bc7445937183224ecc37a1e58d0132d35617531d7e795f52af7b1eb9d147de1292d345fe341823f8e6bc1e5badca5c656108" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "898bfbae93b3e18d00697eab7d9704fa36ec339d076131cefdf30edbe8d9cc81c3a80b129659b163a323bab9793d4feed92d54dae966c77529764a09be88db45" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ee9bd0469d3aaf4f14035be48a2c3b84d9b4b1fff1d945e1f1c1d38980a951be197b25fe22c731f20aeacc930ba9c4a1f4762227617ad350fdabb4e80273a0f4" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3d4d3113300581cd96acbf091c3d0f3c310138cd6979e6026cde623e2dd1b24d4a8638bed1073344783ad0649cc6305ccec04beb49f31c633088a99b65130267" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "95c0591ad91f921ac7be6d9ce37e0663ed8011c1cfd6d0162a5572e94368bac02024485e6a39854aa46fe38e97d6c6b1947cd272d86b06bb5b2f78b9b68d559d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "227b79ded368153bf46c0a3ca978bfdbef31f3024a5665842468490b0ff748ae04e7832ed4c9f49de9b1706709d623e5c8c15e3caecae8d5e433430ff72f20eb" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "5d34f3952f0105eef88ae8b64c6ce95ebfade0e02c69b08762a8712d2e4911ad3f941fc4034dc9b2e479fdbcd279b902faf5d838bb2e0c6495d372b5b7029813" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "7f939bf8353abce49e77f14f3750af20b7b03902e1a1e7fb6aaf76d0259cd401a83190f15640e74f3e6c5a90e839c7821f6474757f75c7bf9002084ddc7a62dc" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "062b61a2f9a33a71d7d0a06119644c70b0716a504de7e5e1be49bd7b86e7ed6817714f9f0fc313d06129597e9a2235ec8521de36f7290a90ccfc1ffa6d0aee29" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f29e01eeae64311eb7f1c6422f946bf7bea36379523e7b2bbaba7d1d34a22d5ea5f1c5a09d5ce1fe682cced9a4798d1a05b46cd72dff5c1b355440b2a2d476bc" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ec38cd3bbab3ef35d7cb6d5c914298351d8a9dc97fcee051a8a02f58e3ed6184d0b7810a5615411ab1b95209c3c810114fdeb22452084e77f3f847c6dbaafe16" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babb", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c2aef5e0ca43e82641565b8cb943aa8ba53550caef793b6532fafad94b816082f0113a3ea2f63608ab40437ecc0f0229cb8fa224dcf1c478a67d9b64162b92d1" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbc", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "15f534efff7105cd1c254d074e27d5898b89313b7d366dc2d7d87113fa7d53aae13f6dba487ad8103d5e854c91fdb6e1e74b2ef6d1431769c30767dde067a35c" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbd", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "89acbca0b169897a0a2714c2df8c95b5b79cb69390142b7d6018bb3e3076b099b79a964152a9d912b1b86412b7e372e9cecad7f25d4cbab8a317be36492a67d7" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbe", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "e3c0739190ed849c9c962fd9dbb55e207e624fcac1eb417691515499eea8d8267b7e8f1287a63633af5011fde8c4ddf55bfdf722edf88831414f2cfaed59cb9a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "8d6cf87c08380d2d1506eee46fd4222d21d8c04e585fbfd08269c98f702833a156326a0724656400ee09351d57b440175e2a5de93cc5f80db6daf83576cf75fa" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "da24bede383666d563eeed37f6319baf20d5c75d1635a6ba5ef4cfa1ac95487e96f8c08af600aab87c986ebad49fc70a58b4890b9c876e091016daf49e1d322e" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f9d1d1b1e87ea7ae753a029750cc1cf3d0157d41805e245c5617bb934e732f0ae3180b78e05bfe76c7c3051e3e3ac78b9b50c05142657e1e03215d6ec7bfd0fc" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "11b7bc1668032048aa43343de476395e814bbbc223678db951a1b03a021efac948cfbe215f97fe9a72a2f6bc039e3956bfa417c1a9f10d6d7ba5d3d32ff323e5" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b8d9000e4fc2b066edb91afee8e7eb0f24e3a201db8b6793c0608581e628ed0bcc4e5aa6787992a4bcc44e288093e63ee83abd0bc3ec6d0934a674a4da13838a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ce325e294f9b6719d6b61278276ae06a2564c03bb0b783fafe785bdf89c7d5acd83e78756d301b445699024eaeb77b54d477336ec2a4f332f2b3f88765ddb0c3" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "29acc30e9603ae2fccf90bf97e6cc463ebe28c1b2f9b4b765e70537c25c702a29dcbfbf14c99c54345ba2b51f17b77b5f15db92bbad8fa95c471f5d070a137cc" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3379cbaae562a87b4c0425550ffdd6bfe1203f0d666cc7ea095be407a5dfe61ee91441cd5154b3e53b4f5fb31ad4c7a9ad5c7af4ae679aa51a54003a54ca6b2d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3095a349d245708c7cf550118703d7302c27b60af5d4e67fc978f8a4e60953c7a04f92fcf41aee64321ccb707a895851552b1e37b00bc5e6b72fa5bcef9e3fff" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "07262d738b09321f4dbccec4bb26f48cb0f0ed246ce0b31b9a6e7bc683049f1f3e5545f28ce932dd985c5ab0f43bd6de0770560af329065ed2e49d34624c2cbb" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b6405eca8ee3316c87061cc6ec18dba53e6c250c63ba1f3bae9e55dd3498036af08cd272aa24d713c6020d77ab2f3919af1a32f307420618ab97e73953994fb4" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9ca", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "7ee682f63148ee45f6e5315da81e5c6e557c2c34641fc509c7a5701088c38a74756168e2cd8d351e88fd1a451f360a01f5b2580f9b5a2e8cfc138f3dd59a3ffc" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "1d263c179d6b268f6fa016f3a4f29e943891125ed8593c81256059f5a7b44af2dcb2030d175c00e62ecaf7ee96682aa07ab20a611024a28532b1c25b86657902" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcc", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "106d132cbdb4cd2597812846e2bc1bf732fec5f0a5f65dbb39ec4e6dc64ab2ce6d24630d0f15a805c3540025d84afa98e36703c3dbee713e72dde8465bc1be7e" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccd", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "0e79968226650667a8d862ea8da4891af56a4e3a8b6d1750e394f0dea76d640d85077bcec2cc86886e506751b4f6a5838f7f0b5fef765d9dc90dcdcbaf079f08" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdce", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "521156a82ab0c4e566e5844d5e31ad9aaf144bbd5a464fdca34dbd5717e8ff711d3ffebbfa085d67fe996a34f6d3e4e60b1396bf4b1610c263bdbb834d560816" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecf", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "1aba88befc55bc25efbce02db8b9933e46f57661baeabeb21cc2574d2a518a3cba5dc5a38e49713440b25f9c744e75f6b85c9d8f4681f676160f6105357b8406" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "5a9949fcb2c473cda968ac1b5d08566dc2d816d960f57e63b898fa701cf8ebd3f59b124d95bfbbedc5f1cf0e17d5eaed0c02c50b69d8a402cabcca4433b51fd4" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b0cead09807c672af2eb2b0f06dde46cf5370e15a4096b1a7d7cbb36ec31c205fbefca00b7a4162fa89fb4fb3eb78d79770c23f44e7206664ce3cd931c291e5d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "bb6664931ec97044e45b2ae420ae1c551a8874bc937d08e969399c3964ebdba8346cdd5d09caafe4c28ba7ec788191ceca65ddd6f95f18583e040d0f30d0364d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "65bc770a5faa3792369803683e844b0be7ee96f29f6d6a35568006bd5590f9a4ef639b7a8061c7b0424b66b60ac34af3119905f33a9d8c3ae18382ca9b689900" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "ea9b4dca333336aaf839a45c6eaa48b8cb4c7ddabffea4f643d6357ea6628a480a5b45f2b052c1b07d1fedca918b6f1139d80f74c24510dcbaa4be70eacc1b06" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "e6342fb4a780ad975d0e24bce149989b91d360557e87994f6b457b895575cc02d0c15bad3ce7577f4c63927ff13f3e381ff7e72bdbe745324844a9d27e3f1c01" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3e209c9b33e8e461178ab46b1c64b49a07fb745f1c8bc95fbfb94c6b87c69516651b264ef980937fad41238b91ddc011a5dd777c7efd4494b4b6ecd3a9c22ac0" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "fd6a3d5b1875d80486d6e69694a56dbb04a99a4d051f15db2689776ba1c4882e6d462a603b7015dc9f4b7450f05394303b8652cfb404a266962c41bae6e18a94" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "951e27517e6bad9e4195fc8671dee3e7e9be69cee1422cb9fecfce0dba875f7b310b93ee3a3d558f941f635f668ff832d2c1d033c5e2f0997e4c66f147344e02" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "8eba2f874f1ae84041903c7c4253c82292530fc8509550bfdc34c95c7e2889d5650b0ad8cb988e5c4894cb87fbfbb19612ea93ccc4c5cad17158b9763464b492" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9da", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "16f712eaa1b7c6354719a8e7dbdfaf55e4063a4d277d947550019b38dfb564830911057d50506136e2394c3b28945cc964967d54e3000c2181626cfb9b73efd2" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c39639e7d5c7fb8cdd0fd3e6a52096039437122f21c78f1679cea9d78a734c56ecbeb28654b4f18e342c331f6f7229ec4b4bc281b2d80a6eb50043f31796c88c" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdc", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "72d081af99f8a173dcc9a0ac4eb3557405639a29084b54a40172912a2f8a395129d5536f0918e902f9e8fa6000995f4168ddc5f893011be6a0dbc9b8a1a3f5bb" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdd", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c11aa81e5efd24d5fc27ee586cfd8847fbb0e27601ccece5ecca0198e3c7765393bb74457c7e7a27eb9170350e1fb53857177506be3e762cc0f14d8c3afe9077" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcddde", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c28f2150b452e6c0c424bcde6f8d72007f9310fed7f2f87de0dbb64f4479d6c1441ba66f44b2accee61609177ed340128b407ecec7c64bbe50d63d22d8627727" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f63d88122877ec30b8c8b00d22e89000a966426112bd44166e2f525b769ccbe9b286d437a0129130dde1a86c43e04bedb594e671d98283afe64ce331de9828fd" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "348b0532880b88a6614a8d7408c3f913357fbb60e995c60205be9139e74998aede7f4581e42f6b52698f7fa1219708c14498067fd1e09502de83a77dd281150c" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "5133dc8bef725359dff59792d85eaf75b7e1dcd1978b01c35b1b85fcebc63388ad99a17b6346a217dc1a9622ebd122ecf6913c4d31a6b52a695b86af00d741a0" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "2753c4c0e98ecad806e88780ec27fccd0f5c1ab547f9e4bf1659d192c23aa2cc971b58b6802580baef8adc3b776ef7086b2545c2987f348ee3719cdef258c403" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b1663573ce4b9d8caefc865012f3e39714b9898a5da6ce17c25a6a47931a9ddb9bbe98adaa553beed436e89578455416c2a52a525cf2862b8d1d49a2531b7391" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "64f58bd6bfc856f5e873b2a2956ea0eda0d6db0da39c8c7fc67c9f9feefcff3072cdf9e6ea37f69a44f0c61aa0da3693c2db5b54960c0281a088151db42b11e8" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "0764c7be28125d9065c4b98a69d60aede703547c66a12e17e1c618994132f5ef82482c1e3fe3146cc65376cc109f0138ed9a80e49f1f3c7d610d2f2432f20605" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "f748784398a2ff03ebeb07e155e66116a839741a336e32da71ec696001f0ad1b25cd48c69cfca7265eca1dd71904a0ce748ac4124f3571076dfa7116a9cf00e9" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3f0dbc0186bceb6b785ba78d2a2a013c910be157bdaffae81bb6663b1a73722f7f1228795f3ecada87cf6ef0078474af73f31eca0cc200ed975b6893f761cb6d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d4762cd4599876ca75b2b8fe249944dbd27ace741fdab93616cbc6e425460feb51d4e7adcc38180e7fc47c89024a7f56191adb878dfde4ead62223f5a2610efe" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "cd36b3d5b4c91b90fcbba79513cfee1907d8645a162afd0cd4cf4192d4a5f4c892183a8eacdb2b6b6a9d9aa8c11ac1b261b380dbee24ca468f1bfd043c58eefe" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9ea", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "98593452281661a53c48a9d8cd790826c1a1ce567738053d0bee4a91a3d5bd92eefdbabebe3204f2031ca5f781bda99ef5d8ae56e5b04a9e1ecd21b0eb05d3e1" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaeb", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "771f57dd2775ccdab55921d3e8e30ccf484d61fe1c1b9c2ae819d0fb2a12fab9be70c4a7a138da84e8280435daade5bbe66af0836a154f817fb17f3397e725a3" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "c60897c6f828e21f16fbb5f15b323f87b6c8955eabf1d38061f707f608abdd993fac3070633e286cf8339ce295dd352df4b4b40b2f29da1dd50b3a05d079e6bb" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebeced", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "8210cd2c2d3b135c2cf07fa0d1433cd771f325d075c6469d9c7f1ba0943cd4ab09808cabf4acb9ce5bb88b498929b4b847f681ad2c490d042db2aec94214b06b" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedee", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "1d4edfffd8fd80f7e4107840fa3aa31e32598491e4af7013c197a65b7f36dd3ac4b478456111cd4309d9243510782fa31b7c4c95fa951520d020eb7e5c36e4ef" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeef", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "af8e6e91fab46ce4873e1a50a8ef448cc29121f7f74deef34a71ef89cc00d9274bc6c2454bbb3230d8b2ec94c62b1dec85f3593bfa30ea6f7a44d7c09465a253" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "29fd384ed4906f2d13aa9fe7af905990938bed807f1832454a372ab412eea1f5625a1fcc9ac8343b7c67c5aba6e0b1cc4644654913692c6b39eb9187ceacd3ec" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "a268c7885d9874a51c44dffed8ea53e94f78456e0b2ed99ff5a3924760813826d960a15edbedbb5de5226ba4b074e71b05c55b9756bb79e55c02754c2c7b6c8a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "0cf8545488d56a86817cd7ecb10f7116b7ea530a45b6ea497b6c72c997e09e3d0da8698f46bb006fc977c2cd3d1177463ac9057fdd1662c85d0c126443c10473" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b39614268fdd8781515e2cfebf89b4d5402bab10c226e6344e6b9ae000fb0d6c79cb2f3ec80e80eaeb1980d2f8698916bd2e9f747236655116649cd3ca23a837" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "74bef092fc6f1e5dba3663a3fb003b2a5ba257496536d99f62b9d73f8f9eb3ce9ff3eec709eb883655ec9eb896b9128f2afc89cf7d1ab58a72f4a3bf034d2b4a" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "3a988d38d75611f3ef38b8774980b33e573b6c57bee0469ba5eed9b44f29945e7347967fba2c162e1c3be7f310f2f75ee2381e7bfd6b3f0baea8d95dfb1dafb1" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "58aedfce6f67ddc85a28c992f1c0bd0969f041e66f1ee88020a125cbfcfebcd61709c9c4eba192c15e69f020d462486019fa8dea0cd7a42921a19d2fe546d43d" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "9347bd291473e6b4e368437b8e561e065f649a6d8ada479ad09b1999a8f26b91cf6120fd3bfe014e83f23acfa4c0ad7b3712b2c3c0733270663112ccd9285cd9" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "b32163e7c5dbb5f51fdc11d2eac875efbbcb7e7699090a7e7ff8a8d50795af5d74d9ff98543ef8cdf89ac13d0485278756e0ef00c817745661e1d59fe38e7537" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "1085d78307b1c4b008c57a2e7e5b234658a0a82e4ff1e4aaac72b312fda0fe27d233bc5b10e9cc17fdc7697b540c7d95eb215a19a1a0e20e1abfa126efd568c7" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "4e5c734c7dde011d83eac2b7347b373594f92d7091b9ca34cb9c6f39bdf5a8d2f134379e16d822f6522170ccf2ddd55c84b9e6c64fc927ac4cf8dfb2a17701f2" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafb", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "695d83bd990a1117b3d0ce06cc888027d12a054c2677fd82f0d4fbfc93575523e7991a5e35a3752e9b70ce62992e268a877744cdd435f5f130869c9a2074b338" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfc", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "a6213743568e3b3158b9184301f3690847554c68457cb40fc9a4b8cfd8d4a118c301a07737aeda0f929c68913c5f51c80394f53bff1c3e83b2e40ca97eba9e15" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfd", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "d444bfa2362a96df213d070e33fa841f51334e4e76866b8139e8af3bb3398be2dfaddcbc56b9146de9f68118dc5829e74b0c28d7711907b121f9161cb92b69a9" - }, - { - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe", - "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", - "142709d62e28fcccd0af97fad0f8465b971e82201dc51070faa0372aa43e92484be1c1e73ba10906d5d1853db6a4106e0a7bf9800d373d6dee2d46d62ef2a461" - } -}; - -static int -tv(void) -{ - unsigned char *expected_out; - unsigned char *in; - unsigned char *key; - unsigned char *out; - size_t i = 0U; - size_t in_len; - - key = (unsigned char *) sodium_malloc(crypto_generichash_KEYBYTES_MAX); - out = (unsigned char *) sodium_malloc(crypto_generichash_BYTES_MAX); - expected_out = (unsigned char *) sodium_malloc(crypto_generichash_BYTES_MAX); - do { - assert(strlen(tests[i].key_hex) == 2 * crypto_generichash_KEYBYTES_MAX); - sodium_hex2bin(key, crypto_generichash_KEYBYTES_MAX, - tests[i].key_hex, strlen(tests[i].key_hex), - NULL, NULL, NULL); - assert(strlen(tests[i].out_hex) == 2 * crypto_generichash_BYTES_MAX); - sodium_hex2bin(expected_out, crypto_generichash_BYTES_MAX, - tests[i].out_hex, strlen(tests[i].out_hex), - NULL, NULL, NULL); - in_len = strlen(tests[i].in_hex) / 2; - in = (unsigned char *) sodium_malloc(in_len); - sodium_hex2bin(in, in_len, tests[i].in_hex, strlen(tests[i].in_hex), - NULL, NULL, NULL); - crypto_generichash(out, crypto_generichash_BYTES_MAX, - in, (unsigned long long) in_len, - key, crypto_generichash_KEYBYTES_MAX); - if (memcmp(out, expected_out, crypto_generichash_BYTES_MAX) != 0) { - printf("Test vector #%u failed\n", (unsigned int) i); - } - sodium_free(in); - } while (++i < (sizeof tests) / (sizeof tests[0])); - sodium_free(key); - sodium_free(out); - sodium_free(expected_out); - - return 0; -} - -int -main(void) -{ - unsigned char in[MAXLEN]; - unsigned char out[crypto_generichash_BYTES_MAX]; - unsigned char k[crypto_generichash_KEYBYTES_MAX]; - size_t h; - size_t i; - size_t j; - - tv(); - - for (h = 0; h < crypto_generichash_KEYBYTES_MAX; ++h) { - k[h] = (unsigned char) h; - } - - for (i = 0; i < MAXLEN; ++i) { - in[i] = (unsigned char) i; - crypto_generichash(out, 1 + i % crypto_generichash_BYTES_MAX, in, - (unsigned long long) i, k, - 1 + i % crypto_generichash_KEYBYTES_MAX); - for (j = 0; j < 1 + i % crypto_generichash_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - } - - memset(out, 0, sizeof out); - crypto_generichash(out, crypto_generichash_BYTES_MAX, in, - (unsigned long long) i, k, 0U); - for (j = 0; j < crypto_generichash_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - assert(crypto_generichash(guard_page, 0, - in, (unsigned long long) sizeof in, - k, sizeof k) == -1); - assert(crypto_generichash(guard_page, crypto_generichash_BYTES_MAX + 1, - in, (unsigned long long) sizeof in, - k, sizeof k) == -1); - assert(crypto_generichash(guard_page, (unsigned long long) sizeof in, - in, (unsigned long long) sizeof in, - k, crypto_generichash_KEYBYTES_MAX + 1) == -1); - - assert(crypto_generichash_bytes_min() > 0U); - assert(crypto_generichash_bytes_max() > 0U); - assert(crypto_generichash_bytes() > 0U); - assert(crypto_generichash_bytes() >= crypto_generichash_bytes_min()); - assert(crypto_generichash_bytes() <= crypto_generichash_bytes_max()); - assert(crypto_generichash_keybytes_min() > 0U); - assert(crypto_generichash_keybytes_max() > 0U); - assert(crypto_generichash_keybytes() > 0U); - assert(crypto_generichash_keybytes() >= crypto_generichash_keybytes_min()); - assert(crypto_generichash_keybytes() <= crypto_generichash_keybytes_max()); - assert(strcmp(crypto_generichash_primitive(), "blake2b") == 0); - assert(crypto_generichash_bytes_min() - == crypto_generichash_blake2b_bytes_min()); - assert(crypto_generichash_bytes_max() - == crypto_generichash_blake2b_bytes_max()); - assert(crypto_generichash_bytes() == crypto_generichash_blake2b_bytes()); - assert(crypto_generichash_keybytes_min() - == crypto_generichash_blake2b_keybytes_min()); - assert(crypto_generichash_keybytes_max() - == crypto_generichash_blake2b_keybytes_max()); - assert(crypto_generichash_keybytes() - == crypto_generichash_blake2b_keybytes()); - assert(crypto_generichash_blake2b_saltbytes() > 0U); - assert(crypto_generichash_blake2b_personalbytes() > 0U); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/generichash.exp b/libsodium-1.0.18-RELEASE/test/default/generichash.exp deleted file mode 100644 index ac46f32..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/generichash.exp +++ /dev/null @@ -1,65 +0,0 @@ -05 -5d8c -22221b -d4974470 -be8492fb36 -edc178279907 -26848f2ae0c2e6 -045cf1235112b9f6 -5110bad569356dfa6c -1339d95145bc8a33d3aa -3dbb39b4d57c5566808a88 -22378260939cee01022686a2 -e18b37abcead6cc520e6504dac -3cbb356604cf862e62ad2f534323 -44c41ba227b191961b475ec5875057 -0c7c9c3922d41a7b2b3b20f92685d560 -8508c01d19709bdd881866aa1f8c63ca06 -f6b2dddfbece6d7d52e114c7e5a97772e18d -d36b5af9591d0cd3747254e26bc6e1de5b6081 -f7f7ce69149418d7ec33327bd86e14bcca4b8ed7 -2c9aba9a56de21165753c4f3cee9310a9c8fe546b9 -ee5e08cee5fbbcb51900341bb30db6695920faecda6a -fe9ffb56dc5716b91bc7d77ce7b05e7cc39c31683bec91 -c500ae0f5bff0f1106ce104ae9c291add7207e0d8ebcb1ed -68e23d12000b387158afd6458d3bcef9c26936ca68b5c0f3d6 -220efa2c09f67dbb02aa623bbc0cb92107a30f53b633e78d4b44 -54df984b47e4bcd489d9c045c488743fac91c9b3e0cbcc37495fac -b4852cf66c6ce164c002bbb62ded0faeb4a39c39fdffb372ff14dd31 -d79cafb5565e7775616e1c9b09100d61fb71efaf25affcf2d480d2c980 -ae557883145e374adef583ba0550429d5cdd86b254c33bf52d02e070efda -9f53d28c0df7b327c2eb4c8a12c742829225b7f30fda7baf64135098fdb01b -a9f51bb7f6a3e9cdb96ce652c07d177962a348a9cced1b92f948187e59b44463 -f2960cf5fd57fc92f549cd5a2803147964f60e7703e1b8897c088cded74c7bd39f -89981acbb690eb03ed2a67510d1d85a1b4f9d496fdfe134550ae14146bb05fd5fedd -6d8245383fd7c418b46511339e711b9d4a0d1f5fdf6de45fdd3d0664164b7bf878a124 -1f0b6b083d524e0741710ddef499ce88f51083bb3ad80a1815cc57acf006436e9b6ad72b -fc35bfe34c915020bb8b44fa0a19933774eaaf61919780fd55564e085bc31646dfc1d426e9 -117d58f1f8cb2c036102686035975be90550795e5a0e3469a8f7a2cba9bc88961852b18c8ae3 -c679c950818729c799bb7f39cef2d89fa80a147817f379a073ef1ccafea5d369815c70373bf5be -d487ad2143024ee8c645a066c035b74abe3a11f1c9fcd738b154b8ca37134d74fb78c40d1a2274cf -2d3ee00828b0ccea6812b40f214fab6d4f23f7e74ae228115bcb208ced2d5e1cb9cdff41de912af7a8 -a697b26d4c4475e312288b98ae2ec4954d3c74c8e144c0ab518616ff9f52918a946fd765af75e761178c -f647bcba2a711f431d6d453aa7d75dcf5bb9ab6f8b83f89117230f633e7580f27c71c4f4c211cadd04f587 -1fc1d6a4db753e2f4fd1456b2b709dd70ad58547eeda9d5a55762b5cd4097a7a1bd73cc633ec27168ee65631 -1cfe0f63ab155379b4a1b5bf694a33635097b8e4b6dbd3b983d62454d36d7bf4550bece301abdd27b2dd76ca9f -73dee8a0a558e7b6f6eefe411280e253b05ef006d499849fea5d6a95f9141ee160322fff3a3f70e10c84025e02ce -edf9e706f4acae4f4bed72404f14458ba075d2b9d9a4a1ed46d1f1c5e23113a74cce9f7735432a922a3d8097f22c7a -95d5cd54c6722ac4335fa0ab38d388c9fd0baea48a9078605e400534ef38f13abb1d770da84b90b0256e1c1b64f54ba9 -fe6b85ee8b5eb7da035264ed46e6dcd948571018d1f6976de4102fcb4bb5f1422e7df1b5aaa5b6b56c5961966db29ead6e -499ab83c01e4bf74ea5036392f9f810eae8a066fff49e316e4288baccb2001efa24f64cef7bfae70c90f139b198e53ad87f1 -eac6c9d97264241a8adba22ee925438ed9787a547018608a10676a7594bc51c60294bd9159fbcada9022b44880a37c5b07c1b4 -0771e3ae24bbfe424800d4bae776fef3da1607990019e7c4b30bc8140061ebf0b64aad7b018a878d579caa67154b98a04402735e -d569e5f5fe197387451441911a2be2effa606dad39820af44cea056bd9d1499dde41fa1c6c3a0459d5866c944bec2ac83328953726 -68e523ded865c4d8318d61c312189a59597bbc3995e312e85137611af761a5f73508ac79e359edf729d4508830fc642b432f09185914 -601af664ae596166707244adbb4f704593b355c6a659c844d853c6647fb265cdbcea26ed43657251dec37f2d6453fa0ace55f22d303cb0 -703d8e552236b2090143444545f0a61a809d8ef9843bcf6883f61671fb31c8d6ac9fd373e7f9f79a0c72fa6a37dc655ba1fb01a5f41e36d1 -03896f594afd1bf97acb862106eb05a1d8b54ec08d184812a79f4dc7b287a7486e60927b6c23e5f51fcbc94798648b28fd13438300567bec95 -cc66a891768e95a2717b040c111996f14942f10f2475c33aa5f1c97476e6f8386733d6b21c16102d01ff1f715475f01099e1f19aa763238a38a9 -007aac8eae29e5bf2be1b54857f5fe80c324424a3273b46e55482fbc4ae1033df4a97016b60c81a5344abd6366f56d8cee2c2e94619418293990de -50c81e92605a6111ea4c7c602acfb3945d4c2631c8c08fa4b594134577f5c2ffcca90d48604162cfdb2a0bb40416ff9134a275461b829ff1b875f995 -661b7a1c70170aa7559aa82639fa65c1bdcfb5e336cb23b40a9edf5b4f6eeca1a176a9844da705cafb990dd94b9dc6194eb6b2de3eca9dbd255bb267a1 -9ff11c233aaf5e0242b0dbe6e110a42e58b86141ad0ef130fd2bb895700019782de66d435bf0a8d6f5eda5d7d1105e7a6f3ef17a9da8f9c16fc21075431a -bdd3d0fafe8ba2b29d1ac0b79aa46e249cc9d3a82d0f772d690637bbdd353722356658d00436ff5dd5239ab747979329345eb8c7ed11b7331456ae87350fcf -bd965bf31e87d70327536f2a341cebc4768eca275fa05ef98f7f1b71a0351298de006fba73fe6733ed01d75801b4a928e54231b38e38c562b2e33ea1284992fa -2fc6e69fa26a89a5ed269092cb9b2a449a4409a7a44011eecad13d7c4b0456602d402fa5844f1a7a758136ce3d5d8d0e8b86921ffff4f692dd95bdc8e5ff0052 diff --git a/libsodium-1.0.18-RELEASE/test/default/generichash2.c b/libsodium-1.0.18-RELEASE/test/default/generichash2.c deleted file mode 100644 index b7e33e6..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/generichash2.c +++ /dev/null @@ -1,62 +0,0 @@ - -#define TEST_NAME "generichash2" -#include "cmptest.h" - -int -main(void) -{ -#define MAXLEN 64 - crypto_generichash_state *st; - unsigned char in[MAXLEN]; - unsigned char out[crypto_generichash_BYTES_MAX]; - unsigned char k[crypto_generichash_KEYBYTES_MAX]; - size_t h, i, j; - - assert(crypto_generichash_statebytes() >= sizeof *st); - st = (crypto_generichash_state *) - sodium_malloc(crypto_generichash_statebytes()); - for (h = 0; h < crypto_generichash_KEYBYTES_MAX; ++h) { - k[h] = (unsigned char) h; - } - for (i = 0; i < MAXLEN; ++i) { - in[i] = (unsigned char) i; - if (crypto_generichash_init(st, k, - 1 + i % crypto_generichash_KEYBYTES_MAX, - 1 + i % crypto_generichash_BYTES_MAX) != 0) { - printf("crypto_generichash_init()\n"); - return 1; - } - crypto_generichash_update(st, in, i); - crypto_generichash_update(st, in, i); - crypto_generichash_update(st, in, i); - if (crypto_generichash_final(st, out, - 1 + i % crypto_generichash_BYTES_MAX) != 0) { - printf("crypto_generichash_final() should have returned 0\n"); - } - for (j = 0; j < 1 + i % crypto_generichash_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - if (crypto_generichash_final(st, out, - 1 + i % crypto_generichash_BYTES_MAX) != -1) { - printf("crypto_generichash_final() should have returned -1\n"); - } - } - - assert(crypto_generichash_init(st, k, sizeof k, 0U) == -1); - assert(crypto_generichash_init(st, k, sizeof k, - crypto_generichash_BYTES_MAX + 1U) == -1); - assert(crypto_generichash_init(st, k, crypto_generichash_KEYBYTES_MAX + 1U, - sizeof out) == -1); - assert(crypto_generichash_init(st, k, 0U, sizeof out) == 0); - assert(crypto_generichash_init(st, k, 1U, sizeof out) == 0); - assert(crypto_generichash_init(st, NULL, 1U, 0U) == -1); - assert(crypto_generichash_init(st, NULL, crypto_generichash_KEYBYTES, - 1U) == 0); - assert(crypto_generichash_init(st, NULL, crypto_generichash_KEYBYTES, - 0U) == -1); - - sodium_free(st); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/generichash2.exp b/libsodium-1.0.18-RELEASE/test/default/generichash2.exp deleted file mode 100644 index 5ee6f60..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/generichash2.exp +++ /dev/null @@ -1,64 +0,0 @@ -05 -22a8 -287a9d -d8eeab1c -d4ce34973f -584f7ac46f0c -32c848bb67545b -8438e21361bca125 -27a6faae998b4fabb4 -508c05a4f2daee150bad -68c886c97dce370e8c72fa -d41e90824ace31ba7bf512ac -6e0d7a1e2b92a68e45ea867895 -1fc5ee8715312db38da9066152a5 -3138504ba58fcd56c62752bc98a6d2 -b689ecd5357cb5276007627fbdf4082e -afe251881beb8b9dfa3d4f76aafc7b2995 -980eaa215cb0911027c5564db809bb8ac0a1 -56048436883efdfc8feaa239d960fa5ce24d42 -fce905b6d57fd841f58899a77887a4988e6aa2d1 -6f7afd81d24ccf4d98188b71bdbb7e6c637620879b -50406b4c37b48621505942b35dff30a75f7d2868146b -32c21792e18e7a79a4a20ef291721d7eab4e4cf99fbe79 -4b9d9ac5dbfb825acd87588667e6683e0fde4cdcd0a532f9 -2b55a3ebb461623e5de4fbacfb8b26819cfa8adeb094c8c13b -4c7d261780b25a864a008352ad64d1ae7fc21d608317813cf63f -f0ca06b8e12c48f1511d0991ba562f06dbe6ba6d5e18280224cc6a -838a5f7056bfbca65a245796dd3510cb07ff1614b44989d91ac650b2 -a58a8da276577160441f8b9e9c52a041b7caf7cd316acc506f620ab0e1 -e03940a7231049ff2b86c47a28e4951f105d2a3aa3421190fe0ed6aa4ad6 -a7af977c0b34294b1a03d0cc2dcf6eb72f9a32721c3f70128384aeb1f56047 -0e5625d74ada70b8a3b23ca76894e9a0f9dee88f5e3e370e27ad25061ea9dd6f -775fd9257b265997a16557a445985091798af60e68d06e3ae8e2e886d23ed12f6e -852e8d4208166a990e215ed06b86c708f491e014584ac9b08f97f24d9f08a84c8e83 -fbdca0db9a933fcffcce2ae694d7e16e7571b100564fcb3d69cec82ea42f254a493a32 -50530ae5eb9780f3fafc5d179f7b363a0d69314a8545d68588b5fec28c8e8d1a011857f6 -5eb71553ff1ac4aba3f84faeb70281c738e3428aae68edc9842ebf55ffd7184a015e323445 -39b279c6d9cca89f8052f953abf71041faf3491b2b965cef503d715e8bf339e02a58fd0e0fba -e315bef5f4918e881dc8d39d3c6b3948c2ea8e21ac00ee7c7ab875a53e194add0c3d9b8bcba5b2 -4e950f0e1da3111d054136fbdf10b4b88b20de6ad0c6bd5024a5e0a8b4cd7059685c0b663a00cbfa -b1ed8d99fd62a4f504ecdd58a01759a85932a7783f88f314cdca5019e05063dcc1fcb3c39b8c07758e -e4d78e734b0cb5bbd83e22bc67f97bbc8a3644f789f6c26a3ec2fe72c75b4d48a3bc000e6f2f2f0726fe -162e01beb796433a2771eab54611fc93677ed12c73a93ea4d75e148bec7ab14b3e31ab7f395456fb2b47ab -759c30631fd52e80a22f0614125dcd136287db65079908b75fb5b03be1cdf6dd0a1c9de0cc759cdd82c33758 -af2992acdaf0908f03a2025854de6446123c919b1e24db711df6cb070091343b4e6f5b2716c20c2547f50f1fde -b833064955778a611fe41a9f1a2de730a16fb4e61a7e2fb67425ce199101d4e71dd7b0c731ea4188e9cc30e9bc52 -e546ee327168d9b4e0d73d9a043f9ef03f880bc8aee91b0923704eb7361ac916b00f5c71c872e2f911a77ef76704b5 -83d86f056729fa1a6e1d3fe8c3d2ebe42b327025747f2e6ba923d2b7b893e31571839937222852033844e585b17d462f -5d70402524fbef569552a3ff6854087e090ff9ac9ea03aba92cf9f33a28845fa6a1631090dca10e05cdd3341b391a15fcf -64f4d3ebf0717900f7c04512d1e18f9985975991d4254d76c4e2ee02c0edd6f912f715991984731b808b8370be1f201e53bf -7d45eae6626dfc9ec3591764b8c39c72ca67e6c1893ab590963a75922719937d1d0ff188a510ffbdf9c777a4d565b3683cbf38 -68e007db5067874548c0d12a9ca709221f9bd352e3eb9847fde6c5de4a8550f4b85b67fe4e5aad70626ebb27d71e5b528effb2e6 -b0dc4dc0bd0d41a8ccfa45a127542079bc4e6f63a63863a9ce21f44481d23eff1060ea03851759b9317209405d5b7cc4387cc2759b -adf6a9df484e93eb3a6113c3fd68a49b2166878fc652833c9cbef3fd8dd281d385ad0374bc25bc865b216ca395e21c30b9eda1d58a8d -f1df9bc169323da338daa8a94867db96a1a2a6feb26569198fb4591ae602ba6f766a879e745d71e93b6cb8886b914f2bf4aa55d4c48045 -0c7446078a5077f33bba1ebfad60bbf1b1df47aab2eb3f3f3274ce56ead7800cf095af8208b6d570c4c832fe33227bbbc0842a13e1e82ad9 -accd0b4682e56698ecc55a60a8db8b3f950b6bffc5a1d160daf6ca25e13e3b4983ced5903df0bdc21f70c2ec5adb1a2ec9617df645cdd17ac9 -b787bae190ff2608eb383e0299cc10d6b7232de67ab74285e7bfa933d79f91226066537d74a9d40140d7b1683c2d42cd1935f6430cc554db2b69 -d09b717a0c80f581c07b8813e0ae79cec2188f77122f7477954610655a20420f13eb1b68cacde8c1fdf7a9a398efa72f40c85f0122812eaa33aba0 -87fff156d9895917468e92848fdcfacc134ca3bfc7fce484bd6db41c682ee2ee47151df0fa863d5641633d908c0328e6cbe080e80d8293530ffd2c4f -1b17b2c0e7afcd224ec9bbe9ce9a13a00bd0a336b863f1b4d5304043778244323bd23fb6154a2e1e94aa48f6ff0e12787a50ca09e9e72ece9e038f6218 -23ac1ccd5e7df51b65b284650158d662e7ef51ebae01b879f39cec484b688c792f8e854bd8ca31ffe8796d28f10e49ab402dab47878a21cb95556dc32b0a -f8f5323ebcc28bf927e72d342b5b70d80ba67794afb4c28debad21b0dae24c7a9252e862eb4b83bea6d9c0bb7c108983c987f13d73f250c7f14483f0454a24 -55b97ca594d68ccf69a0a93fe7fa4004c7e2947a8cac4ca4a44e17ac6876f472e3f221b341a28004cd35a79cfad7fabb9378ce5af03e4c0445ebbe9540943bbd diff --git a/libsodium-1.0.18-RELEASE/test/default/generichash3.c b/libsodium-1.0.18-RELEASE/test/default/generichash3.c deleted file mode 100644 index ec86b35..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/generichash3.c +++ /dev/null @@ -1,176 +0,0 @@ - -#define TEST_NAME "generichash3" -#include "cmptest.h" - -int -main(void) -{ -#define MAXLEN 64 - crypto_generichash_blake2b_state st; - unsigned char salt[crypto_generichash_blake2b_SALTBYTES] - = { '5', 'b', '6', 'b', '4', '1', 'e', 'd', - '9', 'b', '3', '4', '3', 'f', 'e', '0' }; - unsigned char personal[crypto_generichash_blake2b_PERSONALBYTES] - = { '5', '1', '2', '6', 'f', 'b', '2', 'a', - '3', '7', '4', '0', '0', 'd', '2', 'a' }; - unsigned char in[MAXLEN]; - unsigned char out[crypto_generichash_blake2b_BYTES_MAX]; - unsigned char k[crypto_generichash_blake2b_KEYBYTES_MAX]; - size_t h; - size_t i; - size_t j; - - assert(crypto_generichash_blake2b_statebytes() >= sizeof st); - for (h = 0; h < crypto_generichash_blake2b_KEYBYTES_MAX; ++h) { - k[h] = (unsigned char) h; - } - - for (i = 0; i < MAXLEN; ++i) { - in[i] = (unsigned char) i; - crypto_generichash_blake2b_init_salt_personal( - &st, k, 1 + i % crypto_generichash_blake2b_KEYBYTES_MAX, - 1 + i % crypto_generichash_blake2b_BYTES_MAX, salt, personal); - crypto_generichash_blake2b_update(&st, in, (unsigned long long) i); - crypto_generichash_blake2b_final( - &st, out, 1 + i % crypto_generichash_blake2b_BYTES_MAX); - for (j = 0; j < 1 + i % crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - } - - memset(out, 0, sizeof out); - crypto_generichash_blake2b_init_salt_personal( - &st, k, 0U, crypto_generichash_blake2b_BYTES_MAX, salt, personal); - crypto_generichash_blake2b_update(&st, in, MAXLEN); - crypto_generichash_blake2b_final(&st, out, - crypto_generichash_blake2b_BYTES_MAX); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - memset(out, 0, sizeof out); - crypto_generichash_blake2b_init_salt_personal( - &st, NULL, 1U, crypto_generichash_blake2b_BYTES_MAX, salt, personal); - crypto_generichash_blake2b_update(&st, in, MAXLEN); - crypto_generichash_blake2b_final(&st, out, - crypto_generichash_blake2b_BYTES_MAX); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - memset(out, 0, sizeof out); - crypto_generichash_blake2b_init_salt_personal( - &st, k, crypto_generichash_blake2b_KEYBYTES_MAX, - crypto_generichash_blake2b_BYTES_MAX, NULL, personal); - crypto_generichash_blake2b_update(&st, in, MAXLEN); - crypto_generichash_blake2b_final(&st, out, - crypto_generichash_blake2b_BYTES_MAX); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - memset(out, 0, sizeof out); - crypto_generichash_blake2b_init_salt_personal( - &st, k, crypto_generichash_blake2b_KEYBYTES_MAX, - crypto_generichash_blake2b_BYTES_MAX, salt, NULL); - crypto_generichash_blake2b_update(&st, in, MAXLEN); - crypto_generichash_blake2b_final( - &st, out, crypto_generichash_blake2b_BYTES_MAX); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - memset(out, 0, sizeof out); - crypto_generichash_blake2b_salt_personal( - out, crypto_generichash_blake2b_BYTES_MAX, in, MAXLEN, - k, 0U, salt, personal); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - memset(out, 0, sizeof out); - crypto_generichash_blake2b_salt_personal( - out, crypto_generichash_blake2b_BYTES_MAX, in, MAXLEN, - NULL, 0U, salt, personal); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - memset(out, 0, sizeof out); - crypto_generichash_blake2b_salt_personal( - out, crypto_generichash_blake2b_BYTES_MAX, in, MAXLEN, - k, crypto_generichash_blake2b_KEYBYTES_MAX, salt, personal); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - memset(out, 0, sizeof out); - crypto_generichash_blake2b_salt_personal( - out, crypto_generichash_blake2b_BYTES_MAX, in, MAXLEN, - k, crypto_generichash_blake2b_KEYBYTES_MAX, NULL, personal); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - memset(out, 0, sizeof out); - crypto_generichash_blake2b_salt_personal( - out, crypto_generichash_blake2b_BYTES_MAX, in, MAXLEN, - k, crypto_generichash_blake2b_KEYBYTES_MAX, salt, NULL); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - assert(crypto_generichash_blake2b_salt_personal - (guard_page, 0, - in, (unsigned long long) sizeof in, - k, sizeof k, NULL, NULL) == -1); - assert(crypto_generichash_blake2b_salt_personal - (guard_page, crypto_generichash_BYTES_MAX + 1, - in, (unsigned long long) sizeof in, - k, sizeof k, NULL, NULL) == -1); - assert(crypto_generichash_blake2b_salt_personal - (guard_page, (unsigned long long) sizeof in, - in, (unsigned long long) sizeof in, - k, crypto_generichash_KEYBYTES_MAX + 1, NULL, NULL) == -1); - - crypto_generichash_blake2b_init_salt_personal(&st, NULL, 0U, crypto_generichash_BYTES, - NULL, personal); - crypto_generichash_blake2b_update(&st, in, MAXLEN); - crypto_generichash_blake2b_final(&st, out, crypto_generichash_blake2b_BYTES_MAX); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - crypto_generichash_blake2b_init_salt_personal(&st, NULL, 0U, crypto_generichash_BYTES, - salt, NULL); - crypto_generichash_blake2b_update(&st, in, MAXLEN); - crypto_generichash_blake2b_final(&st, out, crypto_generichash_blake2b_BYTES_MAX); - for (j = 0; j < crypto_generichash_blake2b_BYTES_MAX; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - - assert(crypto_generichash_blake2b_init_salt_personal - (&st, k, sizeof k, 0, NULL, NULL) == -1); - assert(crypto_generichash_blake2b_init_salt_personal - (&st, k, sizeof k, crypto_generichash_blake2b_BYTES_MAX + 1, NULL, NULL) == -1); - assert(crypto_generichash_blake2b_init_salt_personal - (&st, k, crypto_generichash_blake2b_KEYBYTES_MAX + 1, sizeof out, NULL, NULL) == -1); - - assert(crypto_generichash_blake2b_init_salt_personal(&st, k, sizeof k, crypto_generichash_BYTES, - NULL, personal) == 0); - assert(crypto_generichash_blake2b_init_salt_personal(&st, k, sizeof k, crypto_generichash_BYTES, - salt, NULL) == 0); - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/generichash3.exp b/libsodium-1.0.18-RELEASE/test/default/generichash3.exp deleted file mode 100644 index 75a62d4..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/generichash3.exp +++ /dev/null @@ -1,75 +0,0 @@ -ba -6139 -3a1666 -5797e9d0 -834a26efe6 -d7e9e862bbce -40d8b84c374750 -276789189244cf04 -16f73ffe0673cc9992 -b3835bfaf6eb71d94078 -8c624e844d34f4a59f34cc -e0a394962413ad09975df3cf -47f043c3aacb501f97e0458ae3 -b4a11f2fb72a7e6f96fdacf98d49 -f434079e9adeb244047cb6855f9854 -5fbe885c4b2d4e0d78dc5905622a277a -e262ba3e2ab76efdf83513108e3b987d1b -add93dde78d32e77bc039c34a49043f19d26 -093842ac10e2eb1237ddc9ca9e7990cf397772 -09e7f6a0e2ea4888f1dbf6562effd1561c65029c -bd33a9ec914f5b81864a49184338e4062d6c6b2b2e -8dc46295235d94f5881d429a5ad47f9db9e35cf8c6b3 -ba5df554dca7ac1cba4889fa88adf3070fbf4ab5d187b5 -1ff84715e71c66214d271d421395fb6166db97b1d47ed697 -75a0d227c70549f5b0c933b7b21f151355bd47e04b6085c91f -a32a5c9439a0fa771dcbe7f338b5dcef62a754edc4952614d6f0 -53a87de519cdcc7f64730d58bce6baaf7b44c5c428a4611a208ad4 -5e5ad8f0c4f083f9b7a5154d9c0dfd0f3d2fce94cf54fc215450314a -9c76b9e63c77e6564b1e5111c2fb140046e1e5a4f900a7cfc2bac3fcfa -bb919251ca310eb9b994e5d7883bc9fa2144b59b8d5d940677b7130ac777 -faa492a66f08ef0c7adb868fcb7b523aedd35b8ff1414bd1d554794f144474 -9b273ebe335540b87be899abe169389ed61ed262c3a0a16e4998bbf752f0bee3 -1e0070b92429c151b33bdd1bb4430a0e650a3dfc94d404054e93c8568330ecc505 -e3b64149f1b76231686d592d1d4af984ce2826ba03c2224a92f95f9526130ce4eb40 -5f8e378120b73db9eefa65ddcdcdcb4acd8046c31a5e47f298caa400937d5623f1394b -74c757a4165a1782c933e587353a9fd8f6d7bf26b7f51b52c542747030bfb3d560c2e5c2 -2d5ee85cc238b923806dd98db18919d1924f2340ec88917d4ce1799cbfd5f2cb9df99db2e1 -c93ff727e6f9822efec0a77eed0025c0eff19127bf8746b7c71c2a098f57cef02febb86a1e6c -adfb6d7ba13779a5dd1bbf268e400f4156f0f5c9d5b670ff539e1d9c1a63373416f3001f338407 -3a6900e58a448887d77c5911e4bdde620e64f25b2d71723fa60f7cb3efa7c320b6153bdbc3287949 -413eb0fd379b32dd88e82242a87cc58ce3e64c72352387a4c70f92ee5c8d23fa7ecd86f6df170a32d2 -92d0d3cacc3e25628caf6f2c4cd50d25d154ac45098f531d690230b859f37cfe089eb169f76bba72a3ff -92f6ccc11a9a3bee520b17e0cddc4550c0e9cf47ddd9a6161284259ffb161c1d0675b505cb1066872768e8 -a3cd675804e6be7f120138a9eaadcd56bb7763d1c046e87fe0d358c8276b0d24621f46c60b46e397933b75b4 -304a1af53cbdd6486b8419d1ebd5e9528c540d8dc46a10be49067f46a0617229577015d776783f702b2954df43 -d8a6358970446453ac0c82c758644ab68989b5b4f06f9768807ce0c5f2a0dbac1e8450f4e3a02deecf7b54b6a45d -1264b8dee9ac4aa8de69a43ada95cc95f20230f33836d4a1db8c2466ab38361686e5ac282025ccc2e0f6a1cd98a4dd -7eed787abaa7f4e8b8aa3090f0676201cfbaaf350899661cdd5216ac0b5cd874443f5c0688ffd7ca1ccbfe1ca7e1a3f5 -8907f0218585167962a8e8213559a643dd03c2bf1a7a5ad3e3bc5f88c0ff1532ee8cd29880e7e0e68da22a5798aef27cc5 -12dea17b0733e5060751b1115e10c3d4b2f4583bcd009d9f1f42ec23d4a6a0df1185d3abbdbe86de08569e70583d6de1c1fe -8ff75e91f1de547dc3a25472db2f51f5910a290c449603da54207b5e39bd735d240ec913b52df90709b5d29357971d6c341452 -4a3b16b12400f38e74778efc3a4caa52ec6fdf6b0180a5bfac9189e52e162c10e8911a54ab33e2b389ee1949e58edaa119e2b2b9 -c9943e7186fdc9bbfa1d7087fa7086babe6fcf95a6196d1772187854071304e2f1fff39e6e6f48f76addb16d5c00249e0523aac91f -0297f16fdd34add9cc87b4adf816525b590ba08ac733c43f8d225d194df4f9c83b4dce617be51e25b5f6c80dff249f27c707de20e422 -576bb891eab9930998e2e73b5d0498e3c5f040f8dec9397a8c7a622c17de01fee7cc936e3bd4de1f7fd8b31dea9e70c65462bbb5dc7b50 -9416a57ae7c8c51c6e008f940fe06d8ebc02c350c19a2f71583a6d260b085670d73a95248fef0f4cae5292ba7db1189a7cd9c51122ba7913 -ea644b9051cca5eee8868a553e3f0f4e14739e1555474151156e10578256b288a233870dd43a380765400ea446df7f452c1e03a9e5b6731256 -f99cc1603de221abc1ecb1a7eb4bbf06e99561d1cc5541d8d601bae2b1dd3cbe448ac276667f26de5e269183a09f7deaf35d33174b3cc8ad4aa2 -ee2be1ec57fdac23f89402a534177eca0f4b982a4ed2c2e900b6a79e1f47a2d023eff2e647baf4f4c0da3a28d08a44bc780516974074e2523e6651 -9cda001868949a2bad96c5b3950a8315e6e5214d0b54dcd596280565d351806ef22cf3053f63623da72fcad9afa3896641658632334c9ec4f644c984 -c6d6722a916651a8671383d8260873347d9c248696b4cb3dac4dea9ba57ed971127cb18e44211d7e14177ace248b3c6e0785356ee261ebdc6ef0faf143 -5dd258a3e7505bc6b9776b0df25676a1c19e2c8258c7b5f2e361423523d96299eb6827bc7c27e7bca2d2b59d717c2ebcb05e6dcaa32289d96fae9a4077ef -19c14de35fe19c92cc0e624280e4136355d4cfa9a0a98b090c4b06f5665021920725852ff1f566b0c8c37157b25fb9f947a2e70b40577a17860a0732c170ac -5fcdcc02be7714a0dbc77df498bf999ea9225d564adca1c121c9af03af92cac8177b9b4a86bcc47c79aa32aac58a3fef967b2132e9352d4613fe890beed2571b -1afc8ec818bef0a479d2b4cac81d40a52cafa27f6d80c42fc23cbaf4141882ab59ab1101922fcb6e707ef2f61efd07cce5d09094e6bee420b1b96998c7cee96d -1afc8ec818bef0a479d2b4cac81d40a52cafa27f6d80c42fc23cbaf4141882ab59ab1101922fcb6e707ef2f61efd07cce5d09094e6bee420b1b96998c7cee96d -5789f474edd5206ededaccfc35e7dd3ed730748125b5395abf802b2601126b19b109a1db67556945bc79bb25e1ab59610599d155070e0e04354f11a6a5d6f3ac -e78efc663a5547c089f2b3b08973c974c4bfd365eac18b80c68bdb3b1ba4554b54d6b8465a68a3b9aa0bc020621f16efd5b8dd8c7c01ed9ee3ec5544aae465ff -1afc8ec818bef0a479d2b4cac81d40a52cafa27f6d80c42fc23cbaf4141882ab59ab1101922fcb6e707ef2f61efd07cce5d09094e6bee420b1b96998c7cee96d -1afc8ec818bef0a479d2b4cac81d40a52cafa27f6d80c42fc23cbaf4141882ab59ab1101922fcb6e707ef2f61efd07cce5d09094e6bee420b1b96998c7cee96d -fb4e2ad6b7fe6afd2ba06d5c1d79379c5bf10e336a35c89a1aaf408a805171716e0635a5b1d18190131e15b6888510bcb3e3752b050f892a09dbbde60b051495 -5789f474edd5206ededaccfc35e7dd3ed730748125b5395abf802b2601126b19b109a1db67556945bc79bb25e1ab59610599d155070e0e04354f11a6a5d6f3ac -e78efc663a5547c089f2b3b08973c974c4bfd365eac18b80c68bdb3b1ba4554b54d6b8465a68a3b9aa0bc020621f16efd5b8dd8c7c01ed9ee3ec5544aae465ff -4f9875a42ba0da8ae3448d2d62b1ff51be672eb1b8a1b0fa5bcd5334c861eff06b5903d672d318fd04e0ef94ddd37eca6d4ad2051a36a0236dc4cc09a5a44358 -ec9f272db92d1fa99324115f34cda8b4690ad029c1df36986cf9e1f844d8fdeca8e8e8311620ad24cbbfa12eccb676b979565405c8e2e20a2e4f18fb27c93d76 diff --git a/libsodium-1.0.18-RELEASE/test/default/hash.c b/libsodium-1.0.18-RELEASE/test/default/hash.c deleted file mode 100644 index 60d3527..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/hash.c +++ /dev/null @@ -1,47 +0,0 @@ - -#define TEST_NAME "hash" -#include "cmptest.h" - -static unsigned char x[] = "testing\n"; -static unsigned char x2[] = - "The Conscience of a Hacker is a small essay written January 8, 1986 by a " - "computer security hacker who went by the handle of The Mentor, who " - "belonged to the 2nd generation of Legion of Doom."; -static unsigned char h[crypto_hash_BYTES]; - -int -main(void) -{ - size_t i; - - crypto_hash(h, x, sizeof x - 1U); - for (i = 0; i < crypto_hash_BYTES; ++i) { - printf("%02x", (unsigned int) h[i]); - } - printf("\n"); - crypto_hash(h, x2, sizeof x2 - 1U); - for (i = 0; i < crypto_hash_BYTES; ++i) { - printf("%02x", (unsigned int) h[i]); - } - printf("\n"); - crypto_hash_sha256(h, x, sizeof x - 1U); - for (i = 0; i < crypto_hash_sha256_BYTES; ++i) { - printf("%02x", (unsigned int) h[i]); - } - printf("\n"); - crypto_hash_sha256(h, x2, sizeof x2 - 1U); - for (i = 0; i < crypto_hash_sha256_BYTES; ++i) { - printf("%02x", (unsigned int) h[i]); - } - printf("\n"); - - assert(crypto_hash_bytes() > 0U); - assert(strcmp(crypto_hash_primitive(), "sha512") == 0); - assert(crypto_hash_sha256_bytes() > 0U); - assert(crypto_hash_sha512_bytes() >= crypto_hash_sha256_bytes()); - assert(crypto_hash_sha512_bytes() == crypto_hash_bytes()); - assert(crypto_hash_sha256_statebytes() == sizeof(crypto_hash_sha256_state)); - assert(crypto_hash_sha512_statebytes() == sizeof(crypto_hash_sha512_state)); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/hash.exp b/libsodium-1.0.18-RELEASE/test/default/hash.exp deleted file mode 100644 index f26c0b0..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/hash.exp +++ /dev/null @@ -1,4 +0,0 @@ -24f950aac7b9ea9b3cb728228a0c82b67c39e96b4b344798870d5daee93e3ae5931baae8c7cacfea4b629452c38026a81d138bc7aad1af3ef7bfd5ec646d6c28 -a77abe1ccf8f5497e228fbc0acd73a521ededb21b89726684a6ebbc3baa32361aca5a244daa84f24bf19c68baf78e6907625a659b15479eb7bd426fc62aafa73 -12a61f4e173fb3a11c05d6471f74728f76231b4a5fcd9667cef3af87a3ae4dc2 -71cc8123fef8c236e451d3c3ddf1adae9aa6cd9521e7041769d737024900a03a diff --git a/libsodium-1.0.18-RELEASE/test/default/hash2.exp b/libsodium-1.0.18-RELEASE/test/default/hash2.exp deleted file mode 100644 index df58217..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/hash2.exp +++ /dev/null @@ -1 +0,0 @@ -24f950aac7b9ea9b3cb728228a0c82b67c39e96b4b344798870d5daee93e3ae5931baae8c7cacfea4b629452c38026a81d138bc7aad1af3ef7bfd5ec646d6c28 diff --git a/libsodium-1.0.18-RELEASE/test/default/hash3.c b/libsodium-1.0.18-RELEASE/test/default/hash3.c deleted file mode 100644 index cfcb989..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/hash3.c +++ /dev/null @@ -1,20 +0,0 @@ - -#define TEST_NAME "hash3" -#include "cmptest.h" - -static unsigned char x[] = "testing\n"; -static unsigned char h[crypto_hash_BYTES]; - -int -main(void) -{ - size_t i; - - crypto_hash(h, x, sizeof x - 1U); - for (i = 0; i < crypto_hash_BYTES; ++i) { - printf("%02x", (unsigned int) h[i]); - } - printf("\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/hash3.exp b/libsodium-1.0.18-RELEASE/test/default/hash3.exp deleted file mode 100644 index df58217..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/hash3.exp +++ /dev/null @@ -1 +0,0 @@ -24f950aac7b9ea9b3cb728228a0c82b67c39e96b4b344798870d5daee93e3ae5931baae8c7cacfea4b629452c38026a81d138bc7aad1af3ef7bfd5ec646d6c28 diff --git a/libsodium-1.0.18-RELEASE/test/default/index.html.tpl b/libsodium-1.0.18-RELEASE/test/default/index.html.tpl deleted file mode 100644 index 4a4e288..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/index.html.tpl +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - -

-
- - - diff --git a/libsodium-1.0.18-RELEASE/test/default/kdf.c b/libsodium-1.0.18-RELEASE/test/default/kdf.c deleted file mode 100644 index f10f034..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/kdf.c +++ /dev/null @@ -1,71 +0,0 @@ - -#define TEST_NAME "kdf" -#include "cmptest.h" - -static void -tv_kdf(void) -{ - unsigned char *master_key; - unsigned char *subkey; - char *context; - char hex[crypto_kdf_BYTES_MAX * 2 + 1]; - uint64_t i; - int ret; - - context = (char *) sodium_malloc(crypto_kdf_CONTEXTBYTES); - master_key = (unsigned char *) sodium_malloc(crypto_kdf_KEYBYTES); - - memcpy(context, "KDF test", sizeof "KDF test" -1U); - for (i = 0; i < crypto_kdf_KEYBYTES; i++) { - master_key[i] = i; - } - subkey = (unsigned char *) sodium_malloc(crypto_kdf_BYTES_MAX); - for (i = 0; i < 10; i++) { - ret = crypto_kdf_derive_from_key(subkey, crypto_kdf_BYTES_MAX, - i, context, master_key); - assert(ret == 0); - sodium_bin2hex(hex, sizeof hex, subkey, crypto_kdf_BYTES_MAX); - printf("%s\n", hex); - } - sodium_free(subkey); - - for (i = 0; i < crypto_kdf_BYTES_MAX + 2; i++) { - subkey = (unsigned char *) sodium_malloc(crypto_kdf_BYTES_MAX); - if (crypto_kdf_derive_from_key(subkey, (size_t) i, - i, context, master_key) == 0) { - sodium_bin2hex(hex, sizeof hex, subkey, (size_t) i); - printf("%s\n", hex); - } else { - printf("Failure -- probably expected for output length=%u\n", - (unsigned int) i); - } - sodium_free(subkey); - } - - sodium_free(master_key); - sodium_free(context); - - assert(strcmp(crypto_kdf_primitive(), crypto_kdf_PRIMITIVE) == 0); - assert(crypto_kdf_BYTES_MAX > 0); - assert(crypto_kdf_BYTES_MIN <= crypto_kdf_BYTES_MAX); - assert(crypto_kdf_bytes_min() == crypto_kdf_BYTES_MIN); - assert(crypto_kdf_bytes_max() == crypto_kdf_BYTES_MAX); - assert(crypto_kdf_CONTEXTBYTES > 0); - assert(crypto_kdf_contextbytes() == crypto_kdf_CONTEXTBYTES); - assert(crypto_kdf_KEYBYTES >= 16); - assert(crypto_kdf_keybytes() == crypto_kdf_KEYBYTES); - assert(crypto_kdf_bytes_min() == crypto_kdf_blake2b_bytes_min()); - assert(crypto_kdf_bytes_max() == crypto_kdf_blake2b_bytes_max()); - assert(crypto_kdf_contextbytes() == crypto_kdf_blake2b_contextbytes()); - assert(crypto_kdf_keybytes() == crypto_kdf_blake2b_keybytes()); - - printf("tv_kdf: ok\n"); -} - -int -main(void) -{ - tv_kdf(); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/kdf.exp b/libsodium-1.0.18-RELEASE/test/default/kdf.exp deleted file mode 100644 index 4aa7694..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/kdf.exp +++ /dev/null @@ -1,77 +0,0 @@ -a0c724404728c8bb95e5433eb6a9716171144d61efb23e74b873fcbeda51d8071b5d70aae12066dfc94ce943f145aa176c055040c3dd73b0a15e36254d450614 -02507f144fa9bf19010bf7c70b235b4c2663cc00e074f929602a5e2c10a780757d2a3993d06debc378a90efdac196dd841817b977d67b786804f6d3cd585bab5 -1944da61ff18dc2028c3578ac85be904931b83860896598f62468f1cb5471c6a344c945dbc62c9aaf70feb62472d17775ea5db6ed5494c68b7a9a59761f39614 -131c0ca1633ed074986215b264f6e0474f362c52b029effc7b0f75977ee89cc95d85c3db87f7e399197a25411592beeeb7e5128a74646a460ecd6deb4994b71e -a7023a0bf9be245d078aed26bcde0465ff0cc0961196a5482a0ff4ff8b4015971e13611f50529cb408f5776b14a90e7c3dd9160a22211db64ff4b5c0b9953680 -50f49313f3a05b2e565c13feedb44daa675cafd42c2b2cf9edbce9c949fbfc3f175dcb738671509ae2ea66fb85e552394d479afa7fa3affe8791744796b94176 -13b58d6d69780089293862cd59a1a8a4ef79bb850e3f3ba41fb22446a7dd1dc4da4667d37b33bf1225dcf8173c4c349a5d911c5bd2db9c5905ed70c11e809e3b -15d44b4b44ffa006eeceeb508c98a970aaa573d65905687b9e15854dec6d49c612757e149f78268f727660dedf9abce22a9691feb20a01b0525f4b47a3cf19db -9aebba11c5428ae8225716369e30a48943be39159a899f804e9963ef78822e186c21fe95bb0b85e60ef03a6f58d0b9d06e91f79d0ab998450b8810c73ca935b4 -70f9b83e463fb441e7a4c43275125cd5b19d8e2e4a5d179a39f5db10bbce745a199104563d308cf8d4c6b27bbb759ded232f5bdb7c367dd632a9677320dfe416 -Failure -- probably expected for output length=0 -Failure -- probably expected for output length=1 -Failure -- probably expected for output length=2 -Failure -- probably expected for output length=3 -Failure -- probably expected for output length=4 -Failure -- probably expected for output length=5 -Failure -- probably expected for output length=6 -Failure -- probably expected for output length=7 -Failure -- probably expected for output length=8 -Failure -- probably expected for output length=9 -Failure -- probably expected for output length=10 -Failure -- probably expected for output length=11 -Failure -- probably expected for output length=12 -Failure -- probably expected for output length=13 -Failure -- probably expected for output length=14 -Failure -- probably expected for output length=15 -a529216624ef9161e4cf117272aafff2 -068bd6940b80c6cc2530a68c31d9f4e323 -0acf4f6c74a590c8a1c0997ec9a1a3f48b2a -ac17a37ce74c0efece75f9337de20795dbadcc -268214dc9477a2e3c1022829f934ab992a5a3d84 -33b76197b4531665e494760909eda1cc570e7da9bb -3d4efbc569ca7f858ad4f49c56b820986a406e6eebbc -983fea27520f507c40231f9557908f07c095bdf4a4ce5d -94d678717625e011995c7355f2092267dee47bf0722dd380 -198901896c4f51e74ffa8b2805415c6eaba5accfc85a6e6b34 -4ffabb81d49021f85ef5d2a713ab02ae86bc2e7d1522f5e077fe -eebc3d55b3f4fc8b64d2474063254da7db98e7398dfdd510e28075 -22c134b9d664e1bdb14dc309a936bf1512b19e4f5175642efb1a0df7 -4b179762bfc8e27a9e575113faa76247b9c046d6f22d5a02e2910a299b -abc45eb2b031307b8822c7e59a43f4108850c34a7445936bc848422251c4 -d6565bd3265b6373f4f6a6b6458e981006da5e9d532ce94ca4737e188995e9 -154b291f11196737f8b7f491e4ca11764e0227d34f94295408a869f007aa8618 -e9dd395570e09ebb523ffc6ba098a38b17bc4944f14bd3725bdd7edbd8bcff54fb -7248294d37159e85bacde68c7762a673794c91b811e05f4e3b9e3ecc82bfcf63a2cd -d060ee4d93f8de6d9ae60fca9596413455183a1f83c7a2381227cec8f7a217e4072f85 -20790290347b9b0f413a954f40e52e270b3b45417e96c8733161672188701c08dd76cc3d -7674188112a1ab8d3926d468be8e51d788ce4144bb20ff842034e4d1ddab3929a4f1a13a74 -a2ab1f980a47472d8a539f20410cc9bf143d941331ab2259ea73684c0608939c5b23e9cbcb3d -f4cfbe3050f15ebbaf8d2f3bf3a678c01fc21ee1f4be07d0744c7fbf4835ea9d9472a3d785c24c -66efa5dfe3efd4cc8ca25f2d622c97a20a192d7add965f26b002b7eb81aae4203c0e5f07fd945845 -ad5d8031055c96dc9db10285206d7edc38d3af85736df8a3b5fdd30a318e80c28d9b26c95a60fa3e68 -9107c8a57a2c9ca40158f33ca0bfb64c095d2f21ca98bb7138477599330a36cdfc2ae5751e370d0e024e -b0c190177358b955ebebc5e0b86ec91dde3b6f1982ea4d68ec5ec3bdd6527c362e5275600b263601c98452 -31bfaaad4adde0f87d87372e398c42cb7befe065ab2957ebb91ef9dc534b410783899b2e1e84221286f3bab4 -2258dd1f3e516cb8e3d1f6c45808573c365192f073698939721af8961a02a8bdd002a31fd239b9498663a01f27 -7c7a88016610493bb44a9432a88b50f97e2e94383972ff95da826692d96c52d82f86899b3561ec9c95a8b1bf3213 -3929dc7473be4c633be9e08801a8abd284dc0c6154c5c81a4c18259699dd86753c5e14fbd723be46ebb04f4ab3058c -30b720220015fa60daa69c83f9754d772b1b2dd12ab6baaa2f4edab458d4d251c1cddb8c4a554f3eb13969316b890fbd -33fa2412a5c3294d49e964419e96d043a2099a72b3351e3bed0f07e12255c95b509ea9bf2963a4c0fe9cc2314dbc44f673 -ca891d2c82a6a8f833dc1a05f190bab6de221307eab1dd2c88341d4d2537a2fc0056b0d04d8104fd3fe89e1ea20877893e81 -fd78ac89a64d03672ad99d663f2613d15277cda1636e334a1706b7211ff1f3a3b3d2e671e391c75e3d242c482ce7e1b8b427ed -36a6072743d3aafd3ee89344b9ef92cb58a2853ae92b20283520439fcb55afffd3d4b5e4e8c92a85d3cf74497bdcf68bbf1fcf93 -a90afcfaffec1105ad05fdaa9473fb5daf1bf8fb376b7326db46ef4c120c553188c69131933371d409eb56d66d5adca618e1dac65b -9b990d1fcddbdb5e5c7a48a6a2a666e02e7d4d4a814ece40660d99e1c02d5f023c56ae82526fc6dc8c933d0add92fc376efcddd55a42 -ec545dcf456d1b0907c07418a42bf2b3d668b4797ba6874bf0d563f5f429a820f02177dd4d05e639a06807c9619fee54ffe07712493543 -b0106957626894586682a275f69ed4533e2f94334cc0430394b68d82679aca00dd579e712bdd2d7f5bbce9a050269739bd8427b75b06027f -05751bfeebb480c9bca0d25d8197e2673845f405d7fb9793e29169ac19956c525f6e637f3d5ea50597b04342afed4ca16f988b4f21a34f1902 -7b4e4294d3f64085b5c09be73548f1f5cb5c6f04e57ce6cdd3077e2fb37640bf1ca0c6393b87d48a6b7e3e42628bd30fca132ded03ce51f71d9d -082d248862cbfd71a634769a4b1cf52a4af47ace5b9ea4d583ca52207efc7234a6d321788130cbdec122579ad03afe00bc68c9fb3f68dd0532a96f -a2b39b4428d981013e8a9c0e41b3eed504983fc18dc4b60332b1ab28b9705228147bdb95cc17889d5f0f9cfb7fd16f9d414b1a829346a8922e945b40 -efbf0f8bda1b9ef24fe389f1cf0c0c8a08bca03fc95badabb79a487d8ce1351683f59183aa6229f880d69ad60114ac128f69b2be250109972ab1f3fc3b -dfe0ba2a6de25fa06b47375e9d9cf6c6fa1493a8a2a81c28d6e09bc161057b445659db76e92e349ff44f34a2a9e3bcaa6b84b21bae56f1499c170ab81af0 -02f9cbdb10759314515b01379c474ad74a1b575137bd3949776dbcfc3e18060cb13ee1f6dcf86035768fc7be63e01de321cacbfade209900dd94273fd8e176 -06ae14308eeeda62a00cb6d5edf18d1707029515db98f472bbf0617419301b1d4f4f2ab65849446be46f87e1d31c6c74283897b9976f70d8a16253ac927e0d9f -Failure -- probably expected for output length=65 -tv_kdf: ok diff --git a/libsodium-1.0.18-RELEASE/test/default/keygen.c b/libsodium-1.0.18-RELEASE/test/default/keygen.c deleted file mode 100644 index a53d818..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/keygen.c +++ /dev/null @@ -1,67 +0,0 @@ - -#define TEST_NAME "keygen" -#include "cmptest.h" - -typedef struct KeygenTV_ { - void (*fn)(unsigned char *k); - size_t key_len; -} KeygenTV; - -static void -tv_keygen(void) -{ - static const KeygenTV tvs[] = { - { crypto_auth_keygen, crypto_auth_KEYBYTES }, - { crypto_auth_hmacsha256_keygen, crypto_auth_hmacsha256_KEYBYTES }, - { crypto_aead_aes256gcm_keygen, crypto_aead_aes256gcm_KEYBYTES }, - { crypto_auth_hmacsha512_keygen, crypto_auth_hmacsha512_KEYBYTES }, - { crypto_auth_hmacsha512256_keygen, crypto_auth_hmacsha512256_KEYBYTES }, - { crypto_generichash_keygen, crypto_generichash_KEYBYTES }, - { crypto_generichash_blake2b_keygen, crypto_generichash_blake2b_KEYBYTES }, - { crypto_kdf_keygen, crypto_kdf_KEYBYTES }, - { crypto_onetimeauth_keygen, crypto_onetimeauth_KEYBYTES }, - { crypto_onetimeauth_poly1305_keygen, crypto_onetimeauth_poly1305_KEYBYTES }, - { crypto_aead_chacha20poly1305_ietf_keygen, crypto_aead_chacha20poly1305_ietf_KEYBYTES }, - { crypto_aead_chacha20poly1305_keygen, crypto_aead_chacha20poly1305_KEYBYTES }, - { crypto_aead_chacha20poly1305_ietf_keygen, crypto_aead_chacha20poly1305_ietf_KEYBYTES }, - { crypto_aead_xchacha20poly1305_ietf_keygen, crypto_aead_xchacha20poly1305_ietf_KEYBYTES }, - { crypto_secretbox_xsalsa20poly1305_keygen, crypto_secretbox_xsalsa20poly1305_KEYBYTES }, - { crypto_secretbox_keygen, crypto_secretbox_KEYBYTES }, - { crypto_secretstream_xchacha20poly1305_keygen, crypto_secretstream_xchacha20poly1305_KEYBYTES }, - { crypto_shorthash_keygen, crypto_shorthash_KEYBYTES }, - { crypto_stream_keygen, crypto_stream_KEYBYTES }, - { crypto_stream_chacha20_keygen, crypto_stream_chacha20_KEYBYTES }, - { crypto_stream_chacha20_ietf_keygen, crypto_stream_chacha20_ietf_KEYBYTES }, - { crypto_stream_salsa20_keygen, crypto_stream_salsa20_KEYBYTES }, - { crypto_stream_xsalsa20_keygen, crypto_stream_xsalsa20_KEYBYTES } - }; - const KeygenTV *tv; - unsigned char *key; - size_t i; - int j; - - for (i = 0; i < (sizeof tvs) / (sizeof tvs[0]); i++) { - tv = &tvs[i]; - key = (unsigned char *) sodium_malloc(tv->key_len); - key[tv->key_len - 1U] = 0; - for (j = 0; j < 10000; j++) { - tv->fn(key); - if (key[tv->key_len - 1U] != 0) { - break; - } - } - sodium_free(key); - if (j >= 10000) { - printf("Buffer underflow with test vector %u\n", (unsigned int) i); - } - } - printf("tv_keygen: ok\n"); -} - -int -main(void) -{ - tv_keygen(); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/keygen.exp b/libsodium-1.0.18-RELEASE/test/default/keygen.exp deleted file mode 100644 index 4d10017..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/keygen.exp +++ /dev/null @@ -1 +0,0 @@ -tv_keygen: ok diff --git a/libsodium-1.0.18-RELEASE/test/default/kx.c b/libsodium-1.0.18-RELEASE/test/default/kx.c deleted file mode 100644 index e03f2d0..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/kx.c +++ /dev/null @@ -1,149 +0,0 @@ - -#define TEST_NAME "kx" -#include "cmptest.h" - -static const unsigned char small_order_p[crypto_scalarmult_BYTES] = { - 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae, 0x16, 0x56, 0xe3, - 0xfa, 0xf1, 0x9f, 0xc4, 0x6a, 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, - 0xb1, 0xfd, 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00 -}; - -static void -tv_kx(void) -{ - unsigned char *seed; - unsigned char *client_pk, *client_sk; - unsigned char *client_rx, *client_tx; - unsigned char *server_pk, *server_sk; - unsigned char *server_rx, *server_tx; - char hex[65]; - int i; - - seed = (unsigned char *) sodium_malloc(crypto_kx_SEEDBYTES); - for (i = 0; i < crypto_kx_SEEDBYTES; i++) { - seed[i] = (unsigned char) i; - } - client_pk = (unsigned char *) sodium_malloc(crypto_kx_PUBLICKEYBYTES); - client_sk = (unsigned char *) sodium_malloc(crypto_kx_SECRETKEYBYTES); - crypto_kx_seed_keypair(client_pk, client_sk, seed); - - sodium_bin2hex(hex, sizeof hex, client_pk, crypto_kx_PUBLICKEYBYTES); - printf("client_pk: [%s]\n", hex); - sodium_bin2hex(hex, sizeof hex, client_sk, crypto_kx_SECRETKEYBYTES); - printf("client_sk: [%s]\n", hex); - - server_pk = (unsigned char *) sodium_malloc(crypto_kx_PUBLICKEYBYTES); - server_sk = (unsigned char *) sodium_malloc(crypto_kx_SECRETKEYBYTES); - crypto_kx_keypair(server_pk, server_sk); - - client_rx = (unsigned char *) sodium_malloc(crypto_kx_SESSIONKEYBYTES); - client_tx = (unsigned char *) sodium_malloc(crypto_kx_SESSIONKEYBYTES); - - assert(crypto_kx_client_session_keys(client_rx, client_tx, - client_pk, client_sk, - small_order_p) == -1); - if (crypto_kx_client_session_keys(client_rx, client_tx, - client_pk, client_sk, server_pk) != 0) { - printf("crypto_kx_client_session_keys() failed\n"); - } - - server_rx = (unsigned char *) sodium_malloc(crypto_kx_SESSIONKEYBYTES); - server_tx = (unsigned char *) sodium_malloc(crypto_kx_SESSIONKEYBYTES); - - assert(crypto_kx_server_session_keys(server_rx, server_tx, - server_pk, server_sk, - small_order_p) == -1); - if (crypto_kx_server_session_keys(server_rx, server_tx, - server_pk, server_sk, client_pk) != 0) { - printf("crypto_kx_server_session_keys() failed\n"); - } - if (memcmp(server_rx, client_tx, crypto_kx_SESSIONKEYBYTES) != 0 || - memcmp(server_tx, client_rx, crypto_kx_SESSIONKEYBYTES) != 0) { - printf("client session keys != server session keys\n"); - } - - sodium_increment(client_pk, crypto_kx_PUBLICKEYBYTES); - if (crypto_kx_server_session_keys(server_rx, server_tx, - server_pk, server_sk, client_pk) != 0) { - printf("crypto_kx_server_session_keys() failed\n"); - } - if (memcmp(server_rx, client_tx, crypto_kx_SESSIONKEYBYTES) == 0 && - memcmp(server_tx, client_rx, crypto_kx_SESSIONKEYBYTES) == 0) { - printf("peer's public key is ignored\n"); - } - - crypto_kx_keypair(client_pk, client_sk); - if (crypto_kx_server_session_keys(server_rx, server_tx, - server_pk, server_sk, client_pk) != 0) { - printf("crypto_kx_server_session_keys() failed\n"); - } - if (memcmp(server_rx, client_tx, crypto_kx_SESSIONKEYBYTES) == 0 || - memcmp(server_tx, client_rx, crypto_kx_SESSIONKEYBYTES) == 0) { - printf("session keys are constant\n"); - } - - crypto_kx_seed_keypair(client_pk, client_sk, seed); - sodium_increment(seed, crypto_kx_SEEDBYTES); - crypto_kx_seed_keypair(server_pk, server_sk, seed); - if (crypto_kx_server_session_keys(server_rx, server_tx, - server_pk, server_sk, client_pk) != 0) { - printf("crypto_kx_server_session_keys() failed\n"); - } - sodium_bin2hex(hex, sizeof hex, server_rx, crypto_kx_SESSIONKEYBYTES); - printf("server_rx: [%s]\n", hex); - sodium_bin2hex(hex, sizeof hex, server_tx, crypto_kx_SESSIONKEYBYTES); - printf("server_tx: [%s]\n", hex); - - if (crypto_kx_client_session_keys(client_rx, client_tx, - client_pk, client_sk, server_pk) != 0) { - printf("crypto_kx_client_session_keys() failed\n"); - } - sodium_bin2hex(hex, sizeof hex, client_rx, crypto_kx_SESSIONKEYBYTES); - printf("client_rx: [%s]\n", hex); - sodium_bin2hex(hex, sizeof hex, client_tx, crypto_kx_SESSIONKEYBYTES); - printf("client_tx: [%s]\n", hex); - - randombytes_buf(client_rx, crypto_kx_SESSIONKEYBYTES); - randombytes_buf(client_tx, crypto_kx_SESSIONKEYBYTES); - randombytes_buf(server_rx, crypto_kx_SESSIONKEYBYTES); - randombytes_buf(server_tx, crypto_kx_SESSIONKEYBYTES); - if (crypto_kx_client_session_keys(client_rx, NULL, - client_pk, client_sk, server_pk) != 0 || - crypto_kx_client_session_keys(NULL, client_tx, - client_pk, client_sk, server_pk) != 0 || - crypto_kx_server_session_keys(server_rx, NULL, - server_pk, server_sk, client_pk) != 0 || - crypto_kx_server_session_keys(NULL, server_tx, - server_pk, server_sk, client_pk) != 0) { - printf("failure when one of the pointers happens to be NULL"); - } - assert(memcmp(client_rx, client_tx, crypto_kx_SESSIONKEYBYTES) == 0); - assert(memcmp(client_tx, server_rx, crypto_kx_SESSIONKEYBYTES) == 0); - assert(memcmp(server_rx, server_tx, crypto_kx_SESSIONKEYBYTES) == 0); - - sodium_free(client_rx); - sodium_free(client_tx); - sodium_free(server_rx); - sodium_free(server_tx); - sodium_free(server_sk); - sodium_free(server_pk); - sodium_free(client_sk); - sodium_free(client_pk); - sodium_free(seed); - - assert(strcmp(crypto_kx_primitive(), crypto_kx_PRIMITIVE) == 0); - assert(crypto_kx_publickeybytes() == crypto_kx_PUBLICKEYBYTES); - assert(crypto_kx_secretkeybytes() == crypto_kx_SECRETKEYBYTES); - assert(crypto_kx_seedbytes() == crypto_kx_SEEDBYTES); - assert(crypto_kx_sessionkeybytes() == crypto_kx_SESSIONKEYBYTES); - - printf("tv_kx: ok\n"); -} - -int -main(void) -{ - tv_kx(); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/kx.exp b/libsodium-1.0.18-RELEASE/test/default/kx.exp deleted file mode 100644 index b9db6d5..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/kx.exp +++ /dev/null @@ -1,7 +0,0 @@ -client_pk: [0e0216223f147143d32615a91189c288c1728cba3cc5f9f621b1026e03d83129] -client_sk: [cb2f5160fc1f7e05a55ef49d340b48da2e5a78099d53393351cd579dd42503d6] -server_rx: [62c8f4fa81800abd0577d99918d129b65deb789af8c8351f391feb0cbf238604] -server_tx: [749519c68059bce69f7cfcc7b387a3de1a1e8237d110991323bf62870115731a] -client_rx: [749519c68059bce69f7cfcc7b387a3de1a1e8237d110991323bf62870115731a] -client_tx: [62c8f4fa81800abd0577d99918d129b65deb789af8c8351f391feb0cbf238604] -tv_kx: ok diff --git a/libsodium-1.0.18-RELEASE/test/default/metamorphic.c b/libsodium-1.0.18-RELEASE/test/default/metamorphic.c deleted file mode 100644 index fc883c7..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/metamorphic.c +++ /dev/null @@ -1,187 +0,0 @@ - -#define TEST_NAME "metamorphic" -#include "cmptest.h" - -#define MAXLEN 512 -#define MAX_ITER 1000 - -static void -mm_generichash(void) -{ - crypto_generichash_state st; - unsigned char *h, *h2; - unsigned char *k; - unsigned char *m; - size_t hlen; - size_t klen; - size_t mlen; - size_t l1, l2; - int i; - - for (i = 0; i < MAX_ITER; i++) { - mlen = randombytes_uniform(MAXLEN); - m = (unsigned char *) sodium_malloc(mlen); - klen = randombytes_uniform(crypto_generichash_KEYBYTES_MAX - - crypto_generichash_KEYBYTES_MIN + 1U) - + crypto_generichash_KEYBYTES_MIN; - k = (unsigned char *) sodium_malloc(klen); - hlen = randombytes_uniform(crypto_generichash_BYTES_MAX - - crypto_generichash_BYTES_MIN + 1U) - + crypto_generichash_BYTES_MIN; - h = (unsigned char *) sodium_malloc(hlen); - h2 = (unsigned char *) sodium_malloc(hlen); - - randombytes_buf(k, klen); - randombytes_buf(m, mlen); - - crypto_generichash_init(&st, k, klen, hlen); - l1 = randombytes_uniform((uint32_t) mlen); - l2 = randombytes_uniform((uint32_t) (mlen - l1)); - crypto_generichash_update(&st, m, l1); - crypto_generichash_update(&st, m + l1, l2); - crypto_generichash_update(&st, m + l1 + l2, mlen - l1 - l2); - crypto_generichash_final(&st, h, hlen); - - crypto_generichash(h2, hlen, m, mlen, k, klen); - - assert(memcmp(h, h2, hlen) == 0); - - sodium_free(h2); - sodium_free(h); - sodium_free(k); - sodium_free(m); - } -} - -static void -mm_onetimeauth(void) -{ - crypto_onetimeauth_state st; - unsigned char *h, *h2; - unsigned char *k; - unsigned char *m; - size_t mlen; - size_t l1, l2; - int i; - - for (i = 0; i < MAX_ITER; i++) { - mlen = randombytes_uniform(MAXLEN); - m = (unsigned char *) sodium_malloc(mlen); - k = (unsigned char *) sodium_malloc(crypto_onetimeauth_KEYBYTES); - h = (unsigned char *) sodium_malloc(crypto_onetimeauth_BYTES); - h2 = (unsigned char *) sodium_malloc(crypto_onetimeauth_BYTES); - - crypto_onetimeauth_keygen(k); - randombytes_buf(m, mlen); - - crypto_onetimeauth_init(&st, k); - l1 = randombytes_uniform((uint32_t) mlen); - l2 = randombytes_uniform((uint32_t) (mlen - l1)); - crypto_onetimeauth_update(&st, m, l1); - crypto_onetimeauth_update(&st, m + l1, l2); - crypto_onetimeauth_update(&st, m + l1 + l2, mlen - l1 - l2); - crypto_onetimeauth_final(&st, h); - - crypto_onetimeauth(h2, m, mlen, k); - - assert(memcmp(h, h2, crypto_onetimeauth_BYTES) == 0); - - sodium_free(h2); - sodium_free(h); - sodium_free(k); - sodium_free(m); - } -} - -static void -mm_hmacsha256(void) -{ - crypto_auth_hmacsha256_state st; - unsigned char *h, *h2; - unsigned char *k; - unsigned char *m; - size_t mlen; - size_t l1, l2; - int i; - - for (i = 0; i < MAX_ITER; i++) { - mlen = randombytes_uniform(MAXLEN); - m = (unsigned char *) sodium_malloc(mlen); - k = (unsigned char *) sodium_malloc(crypto_auth_hmacsha256_KEYBYTES); - h = (unsigned char *) sodium_malloc(crypto_auth_hmacsha256_BYTES); - h2 = (unsigned char *) sodium_malloc(crypto_auth_hmacsha256_BYTES); - - crypto_auth_hmacsha256_keygen(k); - randombytes_buf(m, mlen); - - crypto_auth_hmacsha256_init(&st, k, crypto_auth_hmacsha256_KEYBYTES); - l1 = randombytes_uniform((uint32_t) mlen); - l2 = randombytes_uniform((uint32_t) (mlen - l1)); - crypto_auth_hmacsha256_update(&st, m, l1); - crypto_auth_hmacsha256_update(&st, m + l1, l2); - crypto_auth_hmacsha256_update(&st, m + l1 + l2, mlen - l1 - l2); - crypto_auth_hmacsha256_final(&st, h); - - crypto_auth_hmacsha256(h2, m, mlen, k); - - assert(memcmp(h, h2, crypto_auth_hmacsha256_BYTES) == 0); - - sodium_free(h2); - sodium_free(h); - sodium_free(k); - sodium_free(m); - } -} - -static void -mm_hmacsha512(void) -{ - crypto_auth_hmacsha512_state st; - unsigned char *h, *h2; - unsigned char *k; - unsigned char *m; - size_t mlen; - size_t l1, l2; - int i; - - for (i = 0; i < MAX_ITER; i++) { - mlen = randombytes_uniform(MAXLEN); - m = (unsigned char *) sodium_malloc(mlen); - k = (unsigned char *) sodium_malloc(crypto_auth_hmacsha512_KEYBYTES); - h = (unsigned char *) sodium_malloc(crypto_auth_hmacsha512_BYTES); - h2 = (unsigned char *) sodium_malloc(crypto_auth_hmacsha512_BYTES); - - crypto_auth_hmacsha512_keygen(k); - randombytes_buf(m, mlen); - - crypto_auth_hmacsha512_init(&st, k, crypto_auth_hmacsha512_KEYBYTES); - l1 = randombytes_uniform((uint32_t) mlen); - l2 = randombytes_uniform((uint32_t) (mlen - l1)); - crypto_auth_hmacsha512_update(&st, m, l1); - crypto_auth_hmacsha512_update(&st, m + l1, l2); - crypto_auth_hmacsha512_update(&st, m + l1 + l2, mlen - l1 - l2); - crypto_auth_hmacsha512_final(&st, h); - - crypto_auth_hmacsha512(h2, m, mlen, k); - - assert(memcmp(h, h2, crypto_auth_hmacsha512_BYTES) == 0); - - sodium_free(h2); - sodium_free(h); - sodium_free(k); - sodium_free(m); - } -} - -int -main(void) -{ - mm_generichash(); - mm_onetimeauth(); - mm_hmacsha256(); - mm_hmacsha512(); - - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/metamorphic.exp b/libsodium-1.0.18-RELEASE/test/default/metamorphic.exp deleted file mode 100644 index d86bac9..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/metamorphic.exp +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/misuse.c b/libsodium-1.0.18-RELEASE/test/default/misuse.c deleted file mode 100644 index 407d526..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/misuse.c +++ /dev/null @@ -1,184 +0,0 @@ - -#define TEST_NAME "misuse" -#include "cmptest.h" - -#ifdef HAVE_CATCHABLE_ABRT -# include - -static void -sigabrt_handler_15(int sig) -{ - (void) sig; - exit(0); -} - -# ifndef SODIUM_LIBRARY_MINIMAL -static void -sigabrt_handler_14(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_15); - assert(crypto_box_curve25519xchacha20poly1305_easy - (guard_page, guard_page, crypto_stream_xchacha20_MESSAGEBYTES_MAX - 1, - guard_page, guard_page, guard_page) == -1); - exit(1); -} - -static void -sigabrt_handler_13(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_14); - assert(crypto_box_curve25519xchacha20poly1305_easy_afternm - (guard_page, guard_page, crypto_stream_xchacha20_MESSAGEBYTES_MAX - 1, - guard_page, guard_page) == -1); - exit(1); -} -# endif - -static void -sigabrt_handler_12(int sig) -{ - (void) sig; -# ifdef SODIUM_LIBRARY_MINIMAL - signal(SIGABRT, sigabrt_handler_15); -# else - signal(SIGABRT, sigabrt_handler_13); -# endif - assert(crypto_pwhash_str_alg((char *) guard_page, - "", 0U, 1U, 1U, -1) == -1); - exit(1); -} - -static void -sigabrt_handler_11(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_12); - assert(crypto_box_easy(guard_page, guard_page, - crypto_stream_xsalsa20_MESSAGEBYTES_MAX, - guard_page, guard_page, guard_page) == -1); - exit(1); -} - -static void -sigabrt_handler_10(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_11); - assert(crypto_box_easy_afternm(guard_page, guard_page, - crypto_stream_xsalsa20_MESSAGEBYTES_MAX, - guard_page, guard_page) == -1); - exit(1); -} - -static void -sigabrt_handler_9(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_10); - assert(sodium_base642bin(guard_page, 1, (const char *) guard_page, 1, - NULL, NULL, NULL, -1) == -1); - exit(1); -} - -static void -sigabrt_handler_8(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_9); - assert(sodium_bin2base64((char *) guard_page, 1, guard_page, 1, - sodium_base64_VARIANT_ORIGINAL) == NULL); - exit(1); -} - -static void -sigabrt_handler_7(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_8); - assert(sodium_bin2base64((char *) guard_page, 1, - guard_page, 1, -1) == NULL); - exit(1); -} - -static void -sigabrt_handler_6(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_7); - assert(sodium_pad(NULL, guard_page, SIZE_MAX, 16, 1) == -1); - exit(1); -} - -static void -sigabrt_handler_5(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_6); - assert(crypto_aead_xchacha20poly1305_ietf_encrypt(guard_page, NULL, NULL, UINT64_MAX, - NULL, 0, NULL, - guard_page, guard_page) == -1); - exit(1); -} - -static void -sigabrt_handler_4(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_5); - assert(crypto_aead_chacha20poly1305_ietf_encrypt(guard_page, NULL, NULL, UINT64_MAX, - NULL, 0, NULL, - guard_page, guard_page) == -1); - exit(1); -} - -static void -sigabrt_handler_3(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_4); - assert(crypto_aead_chacha20poly1305_encrypt(guard_page, NULL, NULL, UINT64_MAX, - NULL, 0, NULL, - guard_page, guard_page) == -1); - exit(1); -} - -static void -sigabrt_handler_2(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_3); -#if SIZE_MAX > 0x4000000000ULL - randombytes_buf_deterministic(guard_page, 0x4000000001ULL, guard_page); -#else - abort(); -#endif - exit(1); -} - -static void -sigabrt_handler_1(int sig) -{ - (void) sig; - signal(SIGABRT, sigabrt_handler_2); - assert(crypto_kx_server_session_keys(NULL, NULL, guard_page, guard_page, - guard_page) == -1); - exit(1); -} - -int -main(void) -{ - signal(SIGABRT, sigabrt_handler_1); - assert(crypto_kx_client_session_keys(NULL, NULL, guard_page, guard_page, - guard_page) == -1); - return 1; -} -#else -int -main(void) -{ - return 0; -} -#endif diff --git a/libsodium-1.0.18-RELEASE/test/default/misuse.exp b/libsodium-1.0.18-RELEASE/test/default/misuse.exp deleted file mode 100644 index e69de29..0000000 diff --git a/libsodium-1.0.18-RELEASE/test/default/onetimeauth.c b/libsodium-1.0.18-RELEASE/test/default/onetimeauth.c deleted file mode 100644 index 7a4931b..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/onetimeauth.c +++ /dev/null @@ -1,63 +0,0 @@ - -#define TEST_NAME "onetimeauth" -#include "cmptest.h" - -static unsigned char rs[32] = { - 0xee, 0xa6, 0xa7, 0x25, 0x1c, 0x1e, 0x72, 0x91, 0x6d, 0x11, 0xc2, - 0xcb, 0x21, 0x4d, 0x3c, 0x25, 0x25, 0x39, 0x12, 0x1d, 0x8e, 0x23, - 0x4e, 0x65, 0x2d, 0x65, 0x1f, 0xa4, 0xc8, 0xcf, 0xf8, 0x80 -}; - -static unsigned char c[131] = { - 0x8e, 0x99, 0x3b, 0x9f, 0x48, 0x68, 0x12, 0x73, 0xc2, 0x96, 0x50, 0xba, - 0x32, 0xfc, 0x76, 0xce, 0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4, - 0x47, 0x6f, 0xb8, 0xc5, 0x31, 0xa1, 0x18, 0x6a, 0xc0, 0xdf, 0xc1, 0x7c, - 0x98, 0xdc, 0xe8, 0x7b, 0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72, - 0x71, 0xd2, 0xc2, 0x0f, 0x9b, 0x92, 0x8f, 0xe2, 0x27, 0x0d, 0x6f, 0xb8, - 0x63, 0xd5, 0x17, 0x38, 0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a, - 0xb9, 0x32, 0x16, 0x45, 0x48, 0xe5, 0x26, 0xae, 0x90, 0x22, 0x43, 0x68, - 0x51, 0x7a, 0xcf, 0xea, 0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda, - 0x99, 0x83, 0x2b, 0x61, 0xca, 0x01, 0xb6, 0xde, 0x56, 0x24, 0x4a, 0x9e, - 0x88, 0xd5, 0xf9, 0xb3, 0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6, - 0x59, 0x9b, 0x1f, 0x65, 0x4c, 0xb4, 0x5a, 0x74, 0xe3, 0x55, 0xa5 -}; - -static unsigned char a[16]; - -int -main(void) -{ - crypto_onetimeauth_state st; - int i; - - assert(crypto_onetimeauth_statebytes() == sizeof st); - crypto_onetimeauth(a, c, 131, rs); - for (i = 0; i < 16; ++i) { - printf(",0x%02x", (unsigned int) a[i]); - if (i % 8 == 7) - printf("\n"); - } - - memset(a, 0, sizeof a); - crypto_onetimeauth_init(&st, rs); - crypto_onetimeauth_update(&st, c, 100); - crypto_onetimeauth_update(&st, c, 0); - crypto_onetimeauth_update(&st, c + 100, 31); - crypto_onetimeauth_final(&st, a); - for (i = 0; i < 16; ++i) { - printf(",0x%02x", (unsigned int) a[i]); - if (i % 8 == 7) - printf("\n"); - } - - assert(crypto_onetimeauth_bytes() > 0U); - assert(crypto_onetimeauth_keybytes() > 0U); - assert(strcmp(crypto_onetimeauth_primitive(), "poly1305") == 0); - assert(crypto_onetimeauth_poly1305_bytes() == crypto_onetimeauth_bytes()); - assert(crypto_onetimeauth_poly1305_keybytes() == - crypto_onetimeauth_keybytes()); - assert(crypto_onetimeauth_statebytes() > 0); - assert(crypto_onetimeauth_statebytes() == crypto_onetimeauth_poly1305_statebytes()); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/onetimeauth.exp b/libsodium-1.0.18-RELEASE/test/default/onetimeauth.exp deleted file mode 100644 index 33973bd..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/onetimeauth.exp +++ /dev/null @@ -1,4 +0,0 @@ -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5 -,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9 -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5 -,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9 diff --git a/libsodium-1.0.18-RELEASE/test/default/onetimeauth2.c b/libsodium-1.0.18-RELEASE/test/default/onetimeauth2.c deleted file mode 100644 index e429ce0..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/onetimeauth2.c +++ /dev/null @@ -1,33 +0,0 @@ - -#define TEST_NAME "onetimeauth2" -#include "cmptest.h" - -static unsigned char rs[32] = { - 0xee, 0xa6, 0xa7, 0x25, 0x1c, 0x1e, 0x72, 0x91, 0x6d, 0x11, 0xc2, - 0xcb, 0x21, 0x4d, 0x3c, 0x25, 0x25, 0x39, 0x12, 0x1d, 0x8e, 0x23, - 0x4e, 0x65, 0x2d, 0x65, 0x1f, 0xa4, 0xc8, 0xcf, 0xf8, 0x80 -}; - -static unsigned char c[131] = { - 0x8e, 0x99, 0x3b, 0x9f, 0x48, 0x68, 0x12, 0x73, 0xc2, 0x96, 0x50, 0xba, - 0x32, 0xfc, 0x76, 0xce, 0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4, - 0x47, 0x6f, 0xb8, 0xc5, 0x31, 0xa1, 0x18, 0x6a, 0xc0, 0xdf, 0xc1, 0x7c, - 0x98, 0xdc, 0xe8, 0x7b, 0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72, - 0x71, 0xd2, 0xc2, 0x0f, 0x9b, 0x92, 0x8f, 0xe2, 0x27, 0x0d, 0x6f, 0xb8, - 0x63, 0xd5, 0x17, 0x38, 0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a, - 0xb9, 0x32, 0x16, 0x45, 0x48, 0xe5, 0x26, 0xae, 0x90, 0x22, 0x43, 0x68, - 0x51, 0x7a, 0xcf, 0xea, 0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda, - 0x99, 0x83, 0x2b, 0x61, 0xca, 0x01, 0xb6, 0xde, 0x56, 0x24, 0x4a, 0x9e, - 0x88, 0xd5, 0xf9, 0xb3, 0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6, - 0x59, 0x9b, 0x1f, 0x65, 0x4c, 0xb4, 0x5a, 0x74, 0xe3, 0x55, 0xa5 -}; - -static unsigned char a[16] = { 0xf3, 0xff, 0xc7, 0x70, 0x3f, 0x94, 0x00, 0xe5, - 0x2a, 0x7d, 0xfb, 0x4b, 0x3d, 0x33, 0x05, 0xd9 }; - -int -main(void) -{ - printf("%d\n", crypto_onetimeauth_verify(a, c, 131, rs)); - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/onetimeauth2.exp b/libsodium-1.0.18-RELEASE/test/default/onetimeauth2.exp deleted file mode 100644 index 573541a..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/onetimeauth2.exp +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/libsodium-1.0.18-RELEASE/test/default/onetimeauth7.c b/libsodium-1.0.18-RELEASE/test/default/onetimeauth7.c deleted file mode 100644 index 7a77339..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/onetimeauth7.c +++ /dev/null @@ -1,36 +0,0 @@ - -#define TEST_NAME "onetimeauth7" -#include "cmptest.h" - -static unsigned char key[32]; -static unsigned char c[1000]; -static unsigned char a[16]; - -int -main(void) -{ - int clen; - - for (clen = 0; clen < 1000; ++clen) { - crypto_onetimeauth_keygen(key); - randombytes_buf(c, clen); - crypto_onetimeauth(a, c, clen, key); - if (crypto_onetimeauth_verify(a, c, clen, key) != 0) { - printf("fail %d\n", clen); - return 100; - } - if (clen > 0) { - c[rand() % clen] += 1 + (rand() % 255); - if (crypto_onetimeauth_verify(a, c, clen, key) == 0) { - printf("forgery %d\n", clen); - return 100; - } - a[rand() % sizeof a] += 1 + (rand() % 255); - if (crypto_onetimeauth_verify(a, c, clen, key) == 0) { - printf("forgery %d\n", clen); - return 100; - } - } - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/onetimeauth7.exp b/libsodium-1.0.18-RELEASE/test/default/onetimeauth7.exp deleted file mode 100644 index e69de29..0000000 diff --git a/libsodium-1.0.18-RELEASE/test/default/pre.js.inc b/libsodium-1.0.18-RELEASE/test/default/pre.js.inc deleted file mode 100644 index 8b8d589..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/pre.js.inc +++ /dev/null @@ -1,22 +0,0 @@ -try { - this['Module'] = Module; - Module.test; -} catch(e) { - this['Module'] = Module = {}; -} -if (typeof process === 'object') { - if (typeof(FS) === 'object') { - Module['preRun'] = Module['preRun'] || []; - Module['preRun'].push(function() { - FS.init(); - FS.mkdir('/test-data'); - FS.mount(NODEFS, { root: '.' }, '/test-data'); - }); - } -} else { - Module['print'] = function(x) { - var event = new Event('test-output'); - event.data = x; - window.dispatchEvent(event); - }; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2i.c b/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2i.c deleted file mode 100644 index 3e1195e..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2i.c +++ /dev/null @@ -1,453 +0,0 @@ - -#define TEST_NAME "pwhash_argon2i" -#include "cmptest.h" - -#define OUT_LEN 128 -#define OPSLIMIT 3 -#define MEMLIMIT 5000000 - -static void -tv(void) -{ - static struct { - const char * passwd_hex; - size_t passwd_len; - const char * salt_hex; - size_t outlen; - unsigned long long opslimit; - size_t memlimit; - unsigned int lanes; - } tests[] = { - { "a347ae92bce9f80f6f595a4480fc9c2fe7e7d7148d371e9487d75f5c23008ffae0" - "65577a928febd9b1973a5a95073acdbeb6a030cfc0d79caa2dc5cd011cef02c08d" - "a232d76d52dfbca38ca8dcbd665b17d1665f7cf5fe59772ec909733b24de97d6f5" - "8d220b20c60d7c07ec1fd93c52c31020300c6c1facd77937a597c7a6", - 127, - "5541fbc995d5c197ba290346d2c559dedf405cf97e5f95482143202f9e74f5c2", - 155, 5, 7256678, 1 }, - { "e125cee61c8cb7778d9e5ad0a6f5d978ce9f84de213a8556d9ffe202020ab4a6ed" - "9074a4eb3416f9b168f137510f3a30b70b96cbfa219ff99f6c6eaffb15c06b60e0" - "0cc2890277f0fd3c622115772f7048adaebed86e", - 86, - "f1192dd5dc2368b9cd421338b22433455ee0a3699f9379a08b9650ea2c126f0d", - 250, 4, 7849083, 1 }, - { "92263cbf6ac376499f68a4289d3bb59e5a22335eba63a32e6410249155b956b6a3" - "b48d4a44906b18b897127300b375b8f834f1ceffc70880a885f47c33876717e392" - "be57f7da3ae58da4fd1f43daa7e44bb82d3717af4319349c24cd31e46d295856b0" - "441b6b289992a11ced1cc3bf3011604590244a3eb737ff221129215e4e4347f491" - "5d41292b5173d196eb9add693be5319fdadc242906178bb6c0286c9b6ca6012746" - "711f58c8c392016b2fdfc09c64f0f6b6ab7b", - 183, - "3b840e20e9555e9fb031c4ba1f1747ce25cc1d0ff664be676b9b4a90641ff194", - 249, 3, 7994791, 1 }, - { "027b6d8e8c8c474e9b69c7d9ed4f9971e8e1ce2f6ba95048414c3970f0f09b70e3" - "b6c5ae05872b3d8678705b7d381829c351a5a9c88c233569b35d6b0b809df44b64" - "51a9c273f1150e2ef8a0b5437eb701e373474cd44b97ef0248ebce2ca0400e1b53" - "f3d86221eca3f18eb45b702b9172440f774a82cbf1f6f525df30a6e293c873cce6" - "9bb078ed1f0d31e7f9b8062409f37f19f8550aae", - 152, - "eb2a3056a09ad2d7d7f975bcd707598f24cd32518cde3069f2e403b34bfee8a5", 5, - 4, 1397645, 1 }, - { "4a857e2ee8aa9b6056f2424e84d24a72473378906ee04a46cb05311502d5250b82" - "ad86b83c8f20a23dbb74f6da60b0b6ecffd67134d45946ac8ebfb3064294bc097d" - "43ced68642bfb8bbbdd0f50b30118f5e", - 82, - "39d82eef32010b8b79cc5ba88ed539fbaba741100f2edbeca7cc171ffeabf258", - 190, 3, 1432947, 1 }, - { "c7b09aec680e7b42fedd7fc792e78b2f6c1bea8f4a884320b648f81e8cf515e8ba" - "9dcfb11d43c4aae114c1734aa69ca82d44998365db9c93744fa28b63fd16000e82" - "61cbbe083e7e2da1e5f696bde0834fe53146d7e0e35e7de9920d041f5a5621aabe" - "02da3e2b09b405b77937efef3197bd5772e41fdb73fb5294478e45208063b5f58e" - "089dbeb6d6342a909c1307b3fff5fe2cf4da56bdae50848f", - 156, - "039c056d933b475032777edbaffac50f143f64c123329ed9cf59e3b65d3f43b6", - 178, 3, 4886999, 1 }, - { "b540beb016a5366524d4605156493f9874514a5aa58818cd0c6dfffaa9e90205f1" - "7b", - 34, - "44071f6d181561670bda728d43fb79b443bb805afdebaf98622b5165e01b15fb", - 231, 1, 1631659, 1 }, - { "a14975c26c088755a8b715ff2528d647cd343987fcf4aa25e7194a8417fb2b4b3f" - "7268da9f3182b4cfb22d138b2749d673a47ecc7525dd15a0a3c66046971784bb63" - "d7eae24cc84f2631712075a10e10a96b0e0ee67c43e01c423cb9c44e5371017e9c" - "496956b632158da3fe12addecb88912e6759bc37f9af2f45af72c5cae3b179ffb6" - "76a697de6ebe45cd4c16d4a9d642d29ddc0186a0a48cb6cd62bfc3dd229d313b30" - "1560971e740e2cf1f99a9a090a5b283f35475057e96d7064e2e0fc81984591068d" - "55a3b4169f22cccb0745a2689407ea1901a0a766eb99", - 220, - "3d968b2752b8838431165059319f3ff8910b7b8ecb54ea01d3f54769e9d98daf", - 167, 3, 1784128, 1 }, - }; - char passwd[256]; - unsigned char salt[crypto_pwhash_SALTBYTES]; - unsigned char out[256]; - char out_hex[256 * 2 + 1]; - size_t i = 0U; - - do { - sodium_hex2bin((unsigned char *) passwd, sizeof passwd, - tests[i].passwd_hex, strlen(tests[i].passwd_hex), NULL, - NULL, NULL); - sodium_hex2bin(salt, sizeof salt, tests[i].salt_hex, - strlen(tests[i].salt_hex), NULL, NULL, NULL); - if (crypto_pwhash(out, (unsigned long long) tests[i].outlen, passwd, - tests[i].passwd_len, (const unsigned char *) salt, - tests[i].opslimit, tests[i].memlimit, - crypto_pwhash_alg_argon2i13()) != 0) { - printf("[tv] pwhash failure (maybe intentional): [%u]\n", - (unsigned int) i); - continue; - } - sodium_bin2hex(out_hex, sizeof out_hex, out, tests[i].outlen); - printf("%s\n", out_hex); - } while (++i < (sizeof tests) / (sizeof tests[0])); -} - -static void -tv2(void) -{ - static struct { - const char * passwd_hex; - size_t passwd_len; - const char * salt_hex; - size_t outlen; - unsigned long long opslimit; - size_t memlimit; - unsigned int lanes; - } tests[] = { - { "a347ae92bce9f80f6f595a4480fc9c2fe7e7d7148d371e9487d75f5c23008ffae0" - "65577a928febd9b1973a5a95073acdbeb6a030cfc0d79caa2dc5cd011cef02c08d" - "a232d76d52dfbca38ca8dcbd665b17d1665f7cf5fe59772ec909733b24de97d6f5" - "8d220b20c60d7c07ec1fd93c52c31020300c6c1facd77937a597c7a6", - 127, - "5541fbc995d5c197ba290346d2c559dedf405cf97e5f95482143202f9e74f5c2", - 155, 4, 397645, 1 }, - { "a347ae92bce9f80f6f595a4480fc9c2fe7e7d7148d371e9487d75f5c23008ffae0" - "65577a928febd9b1973a5a95073acdbeb6a030cfc0d79caa2dc5cd011cef02c08d" - "a232d76d52dfbca38ca8dcbd665b17d1665f7cf5fe59772ec909733b24de97d6f5" - "8d220b20c60d7c07ec1fd93c52c31020300c6c1facd77937a597c7a6", - 127, - "5541fbc995d5c197ba290346d2c559dedf405cf97e5f95482143202f9e74f5c2", - 155, 3, 397645, 1 }, - }; - char passwd[256]; - unsigned char salt[crypto_pwhash_SALTBYTES]; - unsigned char out[256]; - char out_hex[256 * 2 + 1]; - size_t i = 0U; - - do { - sodium_hex2bin((unsigned char *) passwd, sizeof passwd, - tests[i].passwd_hex, strlen(tests[i].passwd_hex), NULL, - NULL, NULL); - sodium_hex2bin(salt, sizeof salt, tests[i].salt_hex, - strlen(tests[i].salt_hex), NULL, NULL, NULL); - if (crypto_pwhash(out, (unsigned long long) tests[i].outlen, passwd, - tests[i].passwd_len, (const unsigned char *) salt, - tests[i].opslimit, tests[i].memlimit, - crypto_pwhash_alg_argon2i13()) != 0) { - printf("[tv2] pwhash failure: [%u]\n", (unsigned int) i); - continue; - } - sodium_bin2hex(out_hex, sizeof out_hex, out, tests[i].outlen); - printf("%s\n", out_hex); - } while (++i < (sizeof tests) / (sizeof tests[0])); - - if (crypto_pwhash(out, sizeof out, "password", strlen("password"), salt, 3, - 1ULL << 12, 0) != -1) { - printf("[tv2] pwhash should have failed (0)\n"); - } - if (crypto_pwhash_argon2i(out, sizeof out, "password", strlen("password"), salt, 3, - 1ULL << 12, 0) != -1) { - printf("[tv2] pwhash should have failed (0')\n"); - } - if (crypto_pwhash(out, sizeof out, "password", strlen("password"), salt, 3, - 1, crypto_pwhash_alg_argon2i13()) != -1) { - printf("[tv2] pwhash should have failed (1)\n"); - } - if (crypto_pwhash(out, sizeof out, "password", strlen("password"), salt, 3, - 1ULL << 12, crypto_pwhash_alg_argon2i13()) != -1) { - printf("[tv2] pwhash should have failed (2)\n"); - } - if (crypto_pwhash(out, sizeof out, "password", strlen("password"), salt, 2, - 1ULL << 12, crypto_pwhash_alg_argon2i13()) != -1) { - printf("[tv2] pwhash should have failed (3)\n"); - } - if (crypto_pwhash(out, 15, "password", strlen("password"), salt, 3, - 1ULL << 12, crypto_pwhash_alg_argon2i13()) != -1) { - printf("[tv2] pwhash with a short output length should have failed\n"); - } - if (crypto_pwhash(out, sizeof out, "password", 0x100000000ULL, salt, 3, - 1ULL << 12, crypto_pwhash_alg_argon2i13()) != -1) { - printf("[tv2] pwhash with a long password length should have failed\n"); - } - assert(crypto_pwhash_argon2i(out, sizeof out, "password", strlen("password"), salt, - OPSLIMIT, MEMLIMIT, crypto_pwhash_alg_argon2id13()) == -1); -} - -static void -tv3(void) -{ - static struct { - const char *passwd; - const char *out; - } tests[] = { - { "", - "$argon2i$v=19$m=4096,t=1,p=1$X1NhbHQAAAAAAAAAAAAAAA$bWh++" - "MKN1OiFHKgIWTLvIi1iHicmHH7+Fv3K88ifFfI" }, - { "", - "$argon2i$v=19$m=2048,t=4,p=1$SWkxaUhpY21ISDcrRnYzSw$Mbg/" - "Eck1kpZir5T9io7C64cpffdTBaORgyriLQFgQj8" }, - { "^T5H$JYt39n%K*j:W]!1s?vg!:jGi]Ax?..l7[p0v:1jHTpla9;]bUN;?bWyCbtqg ", - "$argon2i$v=19$m=4096,t=3,p=2$X1NhbHQAAAAAAAAAAAAAAA$z/QMiU4lQxGsYNc/" - "+K/bizwsA1P11UG2dj/7+aILJ4I" }, - { "K3S=KyH#)36_?]LxeR8QNKw6X=gFbxai$C%29V*", - "$argon2i$v=19$m=4096,t=3,p=1$X1NhbHQAAAAAAAAAAAAAAA$fu2Wsecyt+" - "yPnBvSvYN16oP5ozRmkp0ixJ1YL19V3Uo" } - }; - char *out; - char *passwd; - size_t i = 0U; - int ret; - - do { - out = (char *) sodium_malloc(strlen(tests[i].out) + 1U); - assert(out != NULL); - memcpy(out, tests[i].out, strlen(tests[i].out) + 1U); - passwd = (char *) sodium_malloc(strlen(tests[i].passwd) + 1U); - assert(passwd != NULL); - memcpy(passwd, tests[i].passwd, strlen(tests[i].passwd) + 1U); - ret = crypto_pwhash_str_verify(out, passwd, strlen(passwd)); - sodium_free(out); - sodium_free(passwd); - if (ret != 0) { - printf("[tv3] pwhash_str failure (maybe intentional): [%u]\n", - (unsigned int) i); - } - } while (++i < (sizeof tests) / (sizeof tests[0])); -} - -static void -str_tests(void) -{ - char *str_out; - char *str_out2; - char *salt; - const char *passwd = "Correct Horse Battery Staple"; - - salt = (char *) sodium_malloc(crypto_pwhash_SALTBYTES); - str_out = (char *) sodium_malloc(crypto_pwhash_STRBYTES); - str_out2 = (char *) sodium_malloc(crypto_pwhash_STRBYTES); - memcpy(salt, ">A 16-bytes salt", crypto_pwhash_SALTBYTES); - if (crypto_pwhash_argon2i_str(str_out, passwd, strlen(passwd), OPSLIMIT, - MEMLIMIT) != 0) { - printf("pwhash_argon2i_str failure\n"); - } - if (crypto_pwhash_argon2i_str(str_out2, passwd, strlen(passwd), OPSLIMIT, - MEMLIMIT) != 0) { - printf("pwhash_argon2i_str(2) failure\n"); - } - if (strcmp(str_out, str_out2) == 0) { - printf("pwhash_argon2i_str() doesn't generate different salts\n"); - } - if (crypto_pwhash_argon2i_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT) != 0) { - printf("needs_rehash() false positive\n"); - } - if (crypto_pwhash_argon2i_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT / 2) != 1 || - crypto_pwhash_argon2i_str_needs_rehash(str_out, OPSLIMIT / 2, MEMLIMIT) != 1 || - crypto_pwhash_argon2i_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT * 2) != 1 || - crypto_pwhash_argon2i_str_needs_rehash(str_out, OPSLIMIT * 2, MEMLIMIT) != 1) { - printf("needs_rehash() false negative\n"); - } - if (crypto_pwhash_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT / 2) != 1) { - printf("pwhash_str_needs_rehash() didn't handle argon2i\n"); - } - if (crypto_pwhash_str_needs_rehash(str_out + 1, OPSLIMIT, MEMLIMIT) != -1 || - crypto_pwhash_argon2i_str_needs_rehash(str_out + 1, OPSLIMIT, MEMLIMIT) != -1) { - printf("needs_rehash() didn't fail with an invalid hash string\n"); - } - if (sodium_is_zero((const unsigned char *) str_out + strlen(str_out), - crypto_pwhash_STRBYTES - strlen(str_out)) != 1 || - sodium_is_zero((const unsigned char *) str_out2 + strlen(str_out2), - crypto_pwhash_STRBYTES - strlen(str_out2)) != 1) { - printf("pwhash_str() doesn't properly pad with zeros\n"); - } - if (crypto_pwhash_argon2i_str_verify(str_out, passwd, strlen(passwd)) != 0) { - printf("pwhash_str_verify(1) failure\n"); - } - str_out[14]++; - if (crypto_pwhash_argon2i_str_verify(str_out, passwd, strlen(passwd)) != -1) { - printf("pwhash_str_verify(2) failure\n"); - } - str_out[14]--; - assert(str_out[crypto_pwhash_STRBYTES - 1U] == 0); - - if (crypto_pwhash_argon2i_str(str_out2, passwd, 0x100000000ULL, OPSLIMIT, - MEMLIMIT) != -1) { - printf("pwhash_str() with a large password should have failed\n"); - } - if (crypto_pwhash_argon2i_str(str_out2, passwd, strlen(passwd), 1, MEMLIMIT) != - -1) { - printf("pwhash_str() with a small opslimit should have failed\n"); - } - if (crypto_pwhash_argon2i_str_verify("$argon2i$m=65536,t=2,p=1c29tZXNhbHQ" - "$9sTbSlTio3Biev89thdrlKKiCaYsjjYVJxGAL3swxpQ", - "password", 0x100000000ULL) != -1) { - printf("pwhash_str_verify(invalid(0)) failure\n"); - } - if (crypto_pwhash_argon2i_str_verify("$argon2i$m=65536,t=2,p=1c29tZXNhbHQ" - "$9sTbSlTio3Biev89thdrlKKiCaYsjjYVJxGAL3swxpQ", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(1)) failure %d\n", errno); - } - if (crypto_pwhash_argon2i_str_verify("$argon2i$m=65536,t=2,p=1$c29tZXNhbHQ" - "9sTbSlTio3Biev89thdrlKKiCaYsjjYVJxGAL3swxpQ", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(2)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2i$m=65536,t=2,p=1$c29tZXNhbHQ" - "$b2G3seW+uPzerwQQC+/E1K50CLLO7YXy0JRcaTuswRo", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(3)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2i$v=19$m=65536,t=2,p=1c29tZXNhbHQ" - "$wWKIMhR9lyDFvRz9YTZweHKfbftvj+qf+YFY4NeBbtA", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(4)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2i$v=19$m=65536,t=2,p=1$c29tZXNhbHQ" - "wWKIMhR9lyDFvRz9YTZweHKfbftvj+qf+YFY4NeBbtA", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(5)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2i$v=19$m=65536,t=2,p=1$c29tZXNhbHQ" - "$8iIuixkI73Js3G1uMbezQXD0b8LG4SXGsOwoQkdAQIM", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(6)) failure\n"); - } - if (crypto_pwhash_str_verify( - "$argon2i$v=19$m=4096,t=3,p=2$b2RpZHVlamRpc29kaXNrdw" - "$TNnWIwlu1061JHrnCqIAmjs3huSxYIU+0jWipu7Kc9M", - "password", strlen("password")) != 0) { - printf("pwhash_str_verify(valid(7)) failure\n"); - } - if (crypto_pwhash_str_verify( - "$argon2i$v=19$m=4096,t=3,p=2$b2RpZHVlamRpc29kaXNrdw" - "$TNnWIwlu1061JHrnCqIAmjs3huSxYIU+0jWipu7Kc9M", - "passwore", strlen("passwore")) != -1 || errno != EINVAL) { - printf("pwhash_str_verify(invalid(7)) failure\n"); - } - if (crypto_pwhash_str_verify( - "$Argon2i$v=19$m=4096,t=3,p=2$b2RpZHVlamRpc29kaXNrdw" - "$TNnWIwlu1061JHrnCqIAmjs3huSxYIU+0jWipu7Kc9M", - "password", strlen("password")) != -1 || errno != EINVAL) { - printf("pwhash_str_verify(invalid(8)) failure\n"); - } - if (crypto_pwhash_str_verify( - "$argon2i$v=1$m=4096,t=3,p=2$b2RpZHVlamRpc29kaXNrdw" - "$TNnWIwlu1061JHrnCqIAmjs3huSxYIU+0jWipu7Kc9M", - "password", strlen("password")) != -1 || errno != EINVAL) { - printf("pwhash_str_verify(invalid(9)) failure\n"); - } - if (crypto_pwhash_str_verify( - "$argon2i$v=1$m=4096,t=3,p=2$b2RpZHVla~=mRpc29kaXNrdw" - "$TNnWIwlu1061JHrnCqIAmjs3huSxYIU+0jWipu7Kc9M", - "password", strlen("password")) != -1 || errno != EINVAL) { - printf("pwhash_str_verify(invalid(10)) failure\n"); - } - if (crypto_pwhash_str_verify( - "$argon2i$v=1$m=4096,t=3,p=2$b2RpZHVlamRpc29kaXNrdw" - "$TNnWIwlu1061JHrnCqIAmjs3huSxYI~=U+0jWipu7Kc9M", - "password", strlen("password")) != -1 || errno != EINVAL) { - printf("pwhash_str_verify(invalid(11)) failure\n"); - } - assert(crypto_pwhash_str_alg(str_out, "test", 4, OPSLIMIT, MEMLIMIT, - crypto_pwhash_ALG_ARGON2I13) == 0); - assert(crypto_pwhash_argon2i_str_verify(str_out, "test", 4) == 0); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, - OPSLIMIT, MEMLIMIT) == 0); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, - OPSLIMIT / 2, MEMLIMIT) == 1); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, - OPSLIMIT, MEMLIMIT / 2) == 1); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, 0, 0) == 1); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, 0, 0) == -1); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out + 1, - OPSLIMIT, MEMLIMIT) == -1); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, 0, 0) == -1); - assert(crypto_pwhash_argon2id_str_needs_rehash("", OPSLIMIT, MEMLIMIT) == -1); - assert(crypto_pwhash_str_alg(str_out, "test", 4, OPSLIMIT, MEMLIMIT, - crypto_pwhash_ALG_ARGON2ID13) == 0); - assert(crypto_pwhash_argon2id_str_verify(str_out, "test", 4) == 0); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, - OPSLIMIT, MEMLIMIT) == 0); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, - OPSLIMIT / 2, MEMLIMIT) == 1); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, - OPSLIMIT, MEMLIMIT / 2) == 1); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, 0, 0) == 1); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, 0, 0) == -1); - assert(crypto_pwhash_argon2id_str_needs_rehash("", OPSLIMIT, MEMLIMIT) == -1); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out + 1, - OPSLIMIT, MEMLIMIT) == -1); - sodium_free(salt); - sodium_free(str_out); - sodium_free(str_out2); -} - -int -main(void) -{ - tv(); - tv2(); - tv3(); - str_tests(); - - assert(crypto_pwhash_argon2i_bytes_min() > 0U); - assert(crypto_pwhash_argon2i_bytes_max() > crypto_pwhash_argon2i_bytes_min()); - assert(crypto_pwhash_argon2i_passwd_max() > crypto_pwhash_argon2i_passwd_min()); - assert(crypto_pwhash_argon2i_saltbytes() > 0U); - assert(crypto_pwhash_argon2i_strbytes() > 1U); - assert(crypto_pwhash_argon2i_strbytes() > strlen(crypto_pwhash_argon2i_strprefix())); - - assert(crypto_pwhash_argon2i_opslimit_min() > 0U); - assert(crypto_pwhash_argon2i_opslimit_max() > 0U); - assert(crypto_pwhash_argon2i_memlimit_min() > 0U); - assert(crypto_pwhash_argon2i_memlimit_max() > 0U); - assert(crypto_pwhash_argon2i_opslimit_interactive() > 0U); - assert(crypto_pwhash_argon2i_memlimit_interactive() > 0U); - assert(crypto_pwhash_argon2i_opslimit_moderate() > 0U); - assert(crypto_pwhash_argon2i_memlimit_moderate() > 0U); - assert(crypto_pwhash_argon2i_opslimit_sensitive() > 0U); - assert(crypto_pwhash_argon2i_memlimit_sensitive() > 0U); - - assert(crypto_pwhash_argon2i_bytes_min() == crypto_pwhash_argon2i_BYTES_MIN); - assert(crypto_pwhash_argon2i_bytes_max() == crypto_pwhash_argon2i_BYTES_MAX); - assert(crypto_pwhash_argon2i_passwd_min() == crypto_pwhash_argon2i_PASSWD_MIN); - assert(crypto_pwhash_argon2i_passwd_max() == crypto_pwhash_argon2i_PASSWD_MAX); - assert(crypto_pwhash_argon2i_saltbytes() == crypto_pwhash_argon2i_SALTBYTES); - assert(crypto_pwhash_argon2i_strbytes() == crypto_pwhash_argon2i_STRBYTES); - - assert(crypto_pwhash_argon2i_opslimit_min() == crypto_pwhash_argon2i_OPSLIMIT_MIN); - assert(crypto_pwhash_argon2i_opslimit_max() == crypto_pwhash_argon2i_OPSLIMIT_MAX); - assert(crypto_pwhash_argon2i_memlimit_min() == crypto_pwhash_argon2i_MEMLIMIT_MIN); - assert(crypto_pwhash_argon2i_memlimit_max() == crypto_pwhash_argon2i_MEMLIMIT_MAX); - assert(crypto_pwhash_argon2i_opslimit_interactive() == - crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE); - assert(crypto_pwhash_argon2i_memlimit_interactive() == - crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE); - assert(crypto_pwhash_argon2i_opslimit_moderate() == - crypto_pwhash_argon2i_OPSLIMIT_MODERATE); - assert(crypto_pwhash_argon2i_memlimit_moderate() == - crypto_pwhash_argon2i_MEMLIMIT_MODERATE); - assert(crypto_pwhash_argon2i_opslimit_sensitive() == - crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE); - assert(crypto_pwhash_argon2i_memlimit_sensitive() == - crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE); - - assert(crypto_pwhash_argon2i_alg_argon2i13() == crypto_pwhash_argon2i_ALG_ARGON2I13); - - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2i.exp b/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2i.exp deleted file mode 100644 index 0140ba8..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2i.exp +++ /dev/null @@ -1,11 +0,0 @@ -23b803c84eaa25f4b44634cc1e5e37792c53fcd9b1eb20f865329c68e09cbfa9f1968757901b383fce221afe27713f97914a041395bbe1fb70e079e5bed2c7145b1f6154046f5958e9b1b29055454e264d1f2231c316f26be2e3738e83a80315e9a0951ce4b137b52e7d5ee7b37f7d936dcee51362bcf792595e3c896ad5042734fc90c92cae572ce63ff659a2f7974a3bd730d04d525d253ccc38 -0bb3769b064b9c43a9460476ab38c4a9a2470d55d4c992c6e723af895e4c07c09af41f22f90eab583a0c362d177f4677f212482fd145bfb9ac6211635e48461122bb49097b5fb0739d2cd22a39bf03d268e7495d4fd8d710aa156202f0a06e932ff513e6e7c76a4e98b6df5cf922f124791b1076ad904e6897271f5d7d24c5929e2a3b836d0f2f2697c2d758ee79bf1264f3fae65f3744e0f6d7d07ef6e8b35b70c0f88e9036325bfb24ac7f550351486da87aef10d6b0cb77d1cf6e31cf98399c6f241c605c6530dffb4764784f6c0b0bf601d4e4431e8b18dabdc3079c6e264302ade79f61cbd5497c95486340bb891a737223100be0429650 -e9aa073b0b872f15c083d1d7ce52c09f493b827ca78f13a06c1721b45b1e17b24c04e19fe869333135360197a7eb55994fee3e8d9680aedfdf7674f3ad7b84d59d7eab03579ffc10c7093093bc48ec84252aa1b30f40f5e838f1443e15e2772a39f4e774eb052097e8881e94f15457b779fa2af2bbc9a993687657c7704ac8a37c25c1df4289eb4c70da45f2fd46bc0f78259767d3dd478a7c369cf866758bc36d9bd8e2e3c9fb0cf7fd6073ebf630c1f67fa7d303c07da40b36749d157ea37965fef810f2ea05ae6fc7d96a8f3470d73e15b22b42e8d6986dbfe5303256b2b3560372c4452ffb2a04fb7c6691489f70cb46831be0679117f7 -[tv] pwhash failure (maybe intentional): [3] -c121209f0ba70aed93d49200e5dc82cce013cef25ea31e160bf8db3cf448a59d1a56f6c19259e18ea020553cb75781761d112b2d949a297584c65e60df95ad89c4109825a3171dc6f20b1fd6b0cdfd194861bc2b414295bee5c6c52619e544abce7d520659c3d51de2c60e89948d830695ab38dcb75dd7ab06a4770dd4bc7c8f335519e04b038416b1a7dbd25c026786a8105c5ffe7a0931364f0376ae5772be39b51d91d3281464e0f3a128e7155a68e87cf79626ffca0b2a3022fc8420 -91c337ce8918a5805a59b00bd1819d3eb4356807cbd2a80b271c4b482dce03f5b02ae4eb831ff668cbb327b93c300b41da4852e5547bea8342d518dd9311aaeb5f90eccf66d548f9275631f0b1fd4b299cec5d2e86a59e55dc7b3afab6204447b21d1ef1da824abaf31a25a0d6135c4fe81d34a06816c8a6eab19141f5687108500f3719a862af8c5fee36e130c69921e11ce83dfc72c5ec3b862c1bccc5fd63ad57f432fbcca6f9e18d5a59015950cdf053 -[tv] pwhash failure (maybe intentional): [6] -e942951dfbc2d508294b10f9e97b47d0cd04e668a043cb95679cc1139df7c27cd54367688725be9d069f5704c12223e7e4ca181fbd0bed18bb4634795e545a6c04a7306933a41a794baedbb628d41bc285e0b9084055ae136f6b63624c874f5a1e1d8be7b0b7227a171d2d7ed578d88bfdcf18323198962d0dcad4126fd3f21adeb1e11d66252ea0c58c91696e91031bfdcc2a9dc0e028d17b9705ba2d7bcdcd1e3ba75b4b1fea -fd329873387429cb79faaec4f65c35649f65de0aabc1f092ca9dee20029d8ae6c3a97e9940763e1703a7fef5a20eb7f210123fc8c6d3f1745d19d5e3c1eb392ab4a6070c8a6b9ecbeabae0711326e81530099541a882d4bd7733c4a7477ae72b6928c46cd07264172a9d2cfb7d649594f877f8b447d9c01b17996b85db5a71f733f8cc5fd0436540a5b7a1d79de09e20c3abe6515501b3156cd51e -bbbc4c7963593601d4d685ed9d89682374f8e6b3ce92ce8ccc702728ec8bf839fd7cb8e37ddb09be8c18c7e0ed099949665227a00fb33e1f63ca830dbeb13b29d987b445b3e081cd8428bdb2f9e003e12bea98230fd30842fa193af9169171b550322072c88330ea464cbe02b6ee044374d3f3d174c23617b707159a11926c56601123dcc30508ec84fdb0797b7ab23a77eeefb2a0be2ef45e903c -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2id.c b/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2id.c deleted file mode 100644 index 9546349..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2id.c +++ /dev/null @@ -1,503 +0,0 @@ - -#define TEST_NAME "pwhash_argon2id" -#include "cmptest.h" - -#define OUT_LEN 128 -#define OPSLIMIT 3 -#define MEMLIMIT 5000000 - -static void -tv(void) -{ - static struct { - const char * passwd_hex; - size_t passwd_len; - const char * salt_hex; - size_t outlen; - unsigned long long opslimit; - size_t memlimit; - unsigned int lanes; - } tests[] = { - { "a347ae92bce9f80f6f595a4480fc9c2fe7e7d7148d371e9487d75f5c23008ffae0" - "65577a928febd9b1973a5a95073acdbeb6a030cfc0d79caa2dc5cd011cef02c08d" - "a232d76d52dfbca38ca8dcbd665b17d1665f7cf5fe59772ec909733b24de97d6f5" - "8d220b20c60d7c07ec1fd93c52c31020300c6c1facd77937a597c7a6", - 127, - "5541fbc995d5c197ba290346d2c559dedf405cf97e5f95482143202f9e74f5c2", - 155, 5, 7256678, 1 }, - { "e125cee61c8cb7778d9e5ad0a6f5d978ce9f84de213a8556d9ffe202020ab4a6ed" - "9074a4eb3416f9b168f137510f3a30b70b96cbfa219ff99f6c6eaffb15c06b60e0" - "0cc2890277f0fd3c622115772f7048adaebed86e", - 86, - "f1192dd5dc2368b9cd421338b22433455ee0a3699f9379a08b9650ea2c126f0d", - 250, 4, 7849083, 1 }, - { "92263cbf6ac376499f68a4289d3bb59e5a22335eba63a32e6410249155b956b6a3" - "b48d4a44906b18b897127300b375b8f834f1ceffc70880a885f47c33876717e392" - "be57f7da3ae58da4fd1f43daa7e44bb82d3717af4319349c24cd31e46d295856b0" - "441b6b289992a11ced1cc3bf3011604590244a3eb737ff221129215e4e4347f491" - "5d41292b5173d196eb9add693be5319fdadc242906178bb6c0286c9b6ca6012746" - "711f58c8c392016b2fdfc09c64f0f6b6ab7b", - 183, - "3b840e20e9555e9fb031c4ba1f1747ce25cc1d0ff664be676b9b4a90641ff194", - 249, 3, 7994791, 1 }, - { "027b6d8e8c8c474e9b69c7d9ed4f9971e8e1ce2f6ba95048414c3970f0f09b70e3" - "b6c5ae05872b3d8678705b7d381829c351a5a9c88c233569b35d6b0b809df44b64" - "51a9c273f1150e2ef8a0b5437eb701e373474cd44b97ef0248ebce2ca0400e1b53" - "f3d86221eca3f18eb45b702b9172440f774a82cbf1f6f525df30a6e293c873cce6" - "9bb078ed1f0d31e7f9b8062409f37f19f8550aae", - 152, - "eb2a3056a09ad2d7d7f975bcd707598f24cd32518cde3069f2e403b34bfee8a5", 5, - 4, 1397645, 1 }, - { "4a857e2ee8aa9b6056f2424e84d24a72473378906ee04a46cb05311502d5250b82" - "ad86b83c8f20a23dbb74f6da60b0b6ecffd67134d45946ac8ebfb3064294bc097d" - "43ced68642bfb8bbbdd0f50b30118f5e", - 82, - "39d82eef32010b8b79cc5ba88ed539fbaba741100f2edbeca7cc171ffeabf258", - 190, 3, 1432947, 1 }, - { "c7b09aec680e7b42fedd7fc792e78b2f6c1bea8f4a884320b648f81e8cf515e8ba" - "9dcfb11d43c4aae114c1734aa69ca82d44998365db9c93744fa28b63fd16000e82" - "61cbbe083e7e2da1e5f696bde0834fe53146d7e0e35e7de9920d041f5a5621aabe" - "02da3e2b09b405b77937efef3197bd5772e41fdb73fb5294478e45208063b5f58e" - "089dbeb6d6342a909c1307b3fff5fe2cf4da56bdae50848f", - 156, - "039c056d933b475032777edbaffac50f143f64c123329ed9cf59e3b65d3f43b6", - 178, 3, 4886999, 1 }, - { "b540beb016a5366524d4605156493f9874514a5aa58818cd0c6dfffaa9e90205f1" - "7b", - 34, - "44071f6d181561670bda728d43fb79b443bb805afdebaf98622b5165e01b15fb", - 231, 1, 1631659, 1 }, - { "a14975c26c088755a8b715ff2528d647cd343987fcf4aa25e7194a8417fb2b4b3f" - "7268da9f3182b4cfb22d138b2749d673a47ecc7525dd15a0a3c66046971784bb63" - "d7eae24cc84f2631712075a10e10a96b0e0ee67c43e01c423cb9c44e5371017e9c" - "496956b632158da3fe12addecb88912e6759bc37f9af2f45af72c5cae3b179ffb6" - "76a697de6ebe45cd4c16d4a9d642d29ddc0186a0a48cb6cd62bfc3dd229d313b30" - "1560971e740e2cf1f99a9a090a5b283f35475057e96d7064e2e0fc81984591068d" - "55a3b4169f22cccb0745a2689407ea1901a0a766eb99", - 220, - "3d968b2752b8838431165059319f3ff8910b7b8ecb54ea01d3f54769e9d98daf", - 167, 3, 1784128, 1 }, - }; - char passwd[256]; - unsigned char salt[crypto_pwhash_SALTBYTES]; - unsigned char out[256]; - char out_hex[256 * 2 + 1]; - size_t i = 0U; - - do { - sodium_hex2bin((unsigned char *) passwd, sizeof passwd, - tests[i].passwd_hex, strlen(tests[i].passwd_hex), NULL, - NULL, NULL); - sodium_hex2bin(salt, sizeof salt, tests[i].salt_hex, - strlen(tests[i].salt_hex), NULL, NULL, NULL); - if (crypto_pwhash(out, (unsigned long long) tests[i].outlen, passwd, - tests[i].passwd_len, (const unsigned char *) salt, - tests[i].opslimit, tests[i].memlimit, - crypto_pwhash_alg_default()) != 0) { - printf("[tv] pwhash failure (maybe intentional): [%u]\n", - (unsigned int) i); - continue; - } - sodium_bin2hex(out_hex, sizeof out_hex, out, tests[i].outlen); - printf("%s\n", out_hex); - } while (++i < (sizeof tests) / (sizeof tests[0])); -} - -static void -tv2(void) -{ - static struct { - const char * passwd_hex; - size_t passwd_len; - const char * salt_hex; - size_t outlen; - unsigned long long opslimit; - size_t memlimit; - unsigned int lanes; - } tests[] = { - { "a347ae92bce9f80f6f595a4480fc9c2fe7e7d7148d371e9487d75f5c23008ffae0" - "65577a928febd9b1973a5a95073acdbeb6a030cfc0d79caa2dc5cd011cef02c08d" - "a232d76d52dfbca38ca8dcbd665b17d1665f7cf5fe59772ec909733b24de97d6f5" - "8d220b20c60d7c07ec1fd93c52c31020300c6c1facd77937a597c7a6", - 127, - "5541fbc995d5c197ba290346d2c559dedf405cf97e5f95482143202f9e74f5c2", - 155, 4, 397645, 1 }, - { "a347ae92bce9f80f6f595a4480fc9c2fe7e7d7148d371e9487d75f5c23008ffae0" - "65577a928febd9b1973a5a95073acdbeb6a030cfc0d79caa2dc5cd011cef02c08d" - "a232d76d52dfbca38ca8dcbd665b17d1665f7cf5fe59772ec909733b24de97d6f5" - "8d220b20c60d7c07ec1fd93c52c31020300c6c1facd77937a597c7a6", - 127, - "5541fbc995d5c197ba290346d2c559dedf405cf97e5f95482143202f9e74f5c2", - 155, 3, 397645, 1 }, - }; - char passwd[256]; - unsigned char salt[crypto_pwhash_SALTBYTES]; - unsigned char out[256]; - char out_hex[256 * 2 + 1]; - size_t i = 0U; - - do { - sodium_hex2bin((unsigned char *) passwd, sizeof passwd, - tests[i].passwd_hex, strlen(tests[i].passwd_hex), NULL, - NULL, NULL); - sodium_hex2bin(salt, sizeof salt, tests[i].salt_hex, - strlen(tests[i].salt_hex), NULL, NULL, NULL); - if (crypto_pwhash(out, (unsigned long long) tests[i].outlen, passwd, - tests[i].passwd_len, (const unsigned char *) salt, - tests[i].opslimit, tests[i].memlimit, - crypto_pwhash_alg_default()) != 0) { - printf("[tv2] pwhash failure: [%u]\n", (unsigned int) i); - continue; - } - sodium_bin2hex(out_hex, sizeof out_hex, out, tests[i].outlen); - printf("%s\n", out_hex); - } while (++i < (sizeof tests) / (sizeof tests[0])); - - if (crypto_pwhash_argon2id(out, sizeof out, "password", strlen("password"), salt, 3, - 1ULL << 12, 0) != -1) { - printf("[tv2] pwhash should have failed (0)\n"); - } - if (crypto_pwhash_argon2id(out, sizeof out, "password", strlen("password"), salt, 3, - 1, crypto_pwhash_argon2id_alg_argon2id13()) != -1) { - printf("[tv2] pwhash should have failed (1)\n"); - } - if (crypto_pwhash_argon2id(out, sizeof out, "password", strlen("password"), salt, 3, - 1ULL << 12, crypto_pwhash_argon2id_alg_argon2id13()) != -1) { - printf("[tv2] pwhash should have failed (2)\n"); - } - if (crypto_pwhash_argon2id(out, sizeof out, "password", strlen("password"), salt, 2, - 1ULL << 12, crypto_pwhash_argon2id_alg_argon2id13()) != -1) { - printf("[tv2] pwhash should have failed (3)\n"); - } - if (crypto_pwhash_argon2id(out, 15, "password", strlen("password"), salt, 3, - 1ULL << 12, crypto_pwhash_argon2id_alg_argon2id13()) != -1) { - printf("[tv2] pwhash with a short output length should have failed\n"); - } - if (crypto_pwhash_argon2id(out, sizeof out, "password", 0x100000000ULL, salt, 3, - 1ULL << 12, crypto_pwhash_argon2id_alg_argon2id13()) != -1) { - printf("[tv2] pwhash with a long password length should have failed\n"); - } - assert(crypto_pwhash_argon2id(out, sizeof out, "password", strlen("password"), salt, - OPSLIMIT, MEMLIMIT, crypto_pwhash_alg_argon2i13()) == -1); -} - -static void -tv3(void) -{ - static struct { - const char *passwd; - const char *out; - } tests[] = { - { "", - "$argon2id$v=19$m=4096,t=0,p=1$X1NhbHQAAAAAAAAAAAAAAA$bWh++MKN1OiFHKgIWTLvIi1iHicmHH7+Fv3K88ifFfI" }, - { "", - "$argon2id$v=19$m=2048,t=4,p=1$SWkxaUhpY21ISDcrRnYzSw$Mbg/Eck1kpZir5T9io7C64cpffdTBaORgyriLQFgQj8" }, - { "", - "$argon2id$v=19$m=4882,t=2,p=1$bA81arsiXysd3WbTRzmEOw$Nm8QBM+7RH1DXo9rvp5cwKEOOOfD2g6JuxlXihoNcpE" }, - { "^T5H$JYt39n%K*j:W]!1s?vg!:jGi]Ax?..l7[p0v:1jHTpla9;]bUN;?bWyCbtqg ", - "$argon2id$v=19$m=4096,t=0,p=1$PkEgMTYtYnl0ZXMgc2FsdA$ltB/ue1kPtBMBGfsysMpPigE6hiNEKZ9vs8vLNVDQGA" }, - { "^T5H$JYt39n%K*j:W]!1s?vg!:jGi]Ax?..l7[p0v:1jHTpla9;]bUN;?bWyCbtqg ", - "$argon2id$v=19$m=4096,t=19,p=1$PkEgMTYtYnl0ZXMgc2FsdA$ltB/ue1kPtBMBGfsysMpPigE6hiNEKZ9vs8vLNVDQGA" }, - { "K3S=KyH#)36_?]LxeR8QNKw6X=gFbxai$C%29V*", - "$argon2id$v=19$m=4096,t=1,p=3$PkEgcHJldHR5IGxvbmcgc2FsdA$HUqx5Z1b/ZypnUrvvJ5UC2Q+T6Q1WwASK/Kr9dRbGA0" } - }; - char *out; - char *passwd; - size_t i = 0U; - int ret; - - do { - out = (char *) sodium_malloc(strlen(tests[i].out) + 1U); - assert(out != NULL); - memcpy(out, tests[i].out, strlen(tests[i].out) + 1U); - passwd = (char *) sodium_malloc(strlen(tests[i].passwd) + 1U); - assert(passwd != NULL); - memcpy(passwd, tests[i].passwd, strlen(tests[i].passwd) + 1U); - ret = crypto_pwhash_str_verify(out, passwd, strlen(passwd)); - sodium_free(out); - sodium_free(passwd); - if (ret != 0) { - printf("[tv3] pwhash_argon2id_str failure (maybe intentional): [%u]\n", - (unsigned int) i); - } - } while (++i < (sizeof tests) / (sizeof tests[0])); -} - -static void -str_tests(void) -{ - char *str_out; - char *str_out2; - char *salt; - const char *passwd = "Correct Horse Battery Staple"; - - salt = (char *) sodium_malloc(crypto_pwhash_argon2id_SALTBYTES); - str_out = (char *) sodium_malloc(crypto_pwhash_argon2id_STRBYTES); - str_out2 = (char *) sodium_malloc(crypto_pwhash_argon2id_STRBYTES); - memcpy(salt, ">A 16-bytes salt", crypto_pwhash_argon2id_SALTBYTES); - if (crypto_pwhash_str(str_out, passwd, strlen(passwd), OPSLIMIT, - MEMLIMIT) != 0) { - printf("pwhash_str failure\n"); - } - if (crypto_pwhash_str(str_out2, passwd, strlen(passwd), OPSLIMIT, - MEMLIMIT) != 0) { - printf("pwhash_str(2) failure\n"); - } - if (strcmp(str_out, str_out2) == 0) { - printf("pwhash_str() doesn't generate different salts\n"); - } - if (crypto_pwhash_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT) != 0 || - crypto_pwhash_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT) != 0) { - printf("needs_rehash() false positive\n"); - } - if (crypto_pwhash_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT / 2) != 1 || - crypto_pwhash_str_needs_rehash(str_out, OPSLIMIT - 1, MEMLIMIT) != 1 || - crypto_pwhash_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT * 2) != 1 || - crypto_pwhash_str_needs_rehash(str_out, OPSLIMIT + 1, MEMLIMIT) != 1) { - printf("needs_rehash() false negative (0)\n"); - } - if (crypto_pwhash_argon2id_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT / 2) != 1 || - crypto_pwhash_argon2id_str_needs_rehash(str_out, OPSLIMIT - 1, MEMLIMIT) != 1 || - crypto_pwhash_argon2id_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT * 2) != 1 || - crypto_pwhash_argon2id_str_needs_rehash(str_out, OPSLIMIT + 1, MEMLIMIT) != 1) { - printf("needs_rehash() false negative (1)\n"); - } - if (crypto_pwhash_argon2i_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT / 2) != -1 || - crypto_pwhash_argon2i_str_needs_rehash(str_out, OPSLIMIT - 1, MEMLIMIT) != -1 || - crypto_pwhash_argon2i_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT * 2) != -1 || - crypto_pwhash_argon2i_str_needs_rehash(str_out, OPSLIMIT + 1, MEMLIMIT) != -1) { - printf("needs_rehash() false negative (2)\n"); - } - if (crypto_pwhash_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT / 2) != 1) { - printf("pwhash_str_needs_rehash() didn't handle argon2id\n"); - } - if (crypto_pwhash_str_needs_rehash(str_out + 1, OPSLIMIT, MEMLIMIT) != -1 || - crypto_pwhash_argon2id_str_needs_rehash(str_out + 1, OPSLIMIT, MEMLIMIT) != -1) { - printf("needs_rehash() didn't fail with an invalid hash string\n"); - } - if (sodium_is_zero((const unsigned char *) str_out + strlen(str_out), - crypto_pwhash_STRBYTES - strlen(str_out)) != 1 || - sodium_is_zero((const unsigned char *) str_out2 + strlen(str_out2), - crypto_pwhash_STRBYTES - strlen(str_out2)) != 1) { - printf("pwhash_argon2id_str() doesn't properly pad with zeros\n"); - } - if (crypto_pwhash_argon2id_str_verify(str_out, passwd, strlen(passwd)) != 0) { - printf("pwhash_argon2id_str_verify(1) failure\n"); - } - if (crypto_pwhash_str_verify(str_out, passwd, strlen(passwd)) != 0) { - printf("pwhash_str_verify(1') failure\n"); - } - str_out[14]++; - if (crypto_pwhash_str_verify(str_out, passwd, strlen(passwd)) != -1) { - printf("pwhash_argon2id_str_verify(2) failure\n"); - } - str_out[14]--; - assert(str_out[crypto_pwhash_argon2id_STRBYTES - 1U] == 0); - - if (crypto_pwhash_str(str_out2, passwd, 0x100000000ULL, OPSLIMIT, - MEMLIMIT) != -1) { - printf("pwhash_str() with a large password should have failed\n"); - } - if (crypto_pwhash_str(str_out2, passwd, strlen(passwd), 1, MEMLIMIT) != 0) { - printf("pwhash_str() with a small opslimit should not have failed\n"); - } - if (crypto_pwhash_str(str_out2, passwd, strlen(passwd), 0, MEMLIMIT) != -1) { - printf("pwhash_argon2id_str() with a null opslimit should have failed\n"); - } - if (crypto_pwhash_str_verify("$argon2id$m=65536,t=2,p=1c29tZXNhbHQ" - "$9sTbSlTio3Biev89thdrlKKiCaYsjjYVJxGAL3swxpQ", - "password", 0x100000000ULL) != -1) { - printf("pwhash_str_verify(invalid(0)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2id$m=65536,t=2,p=1c29tZXNhbHQ" - "$9sTbSlTio3Biev89thdrlKKiCaYsjjYVJxGAL3swxpQ", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(1)) failure %d\n", errno); - } - if (crypto_pwhash_str_verify("$argon2id$m=65536,t=2,p=1$c29tZXNhbHQ" - "9sTbSlTio3Biev89thdrlKKiCaYsjjYVJxGAL3swxpQ", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(2)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2id$m=65536,t=2,p=1$c29tZXNhbHQ" - "$b2G3seW+uPzerwQQC+/E1K50CLLO7YXy0JRcaTuswRo", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(3)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2id$v=19$m=65536,t=2,p=1c29tZXNhbHQ" - "$wWKIMhR9lyDFvRz9YTZweHKfbftvj+qf+YFY4NeBbtA", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(4)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2id$v=19$m=65536,t=2,p=1$c29tZXNhbHQ" - "wWKIMhR9lyDFvRz9YTZweHKfbftvj+qf+YFY4NeBbtA", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(5)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2id$v=19$m=65536,t=2,p=1$c29tZXNhbHQ" - "$8iIuixkI73Js3G1uMbezQXD0b8LG4SXGsOwoQkdAQIM", - "password", strlen("password")) != -1) { - printf("pwhash_str_verify(invalid(6)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2id$v=19$m=256,t=3,p=1$MDEyMzQ1Njc" - "$G5ajKFCoUzaXRLdz7UJb5wGkb2Xt+X5/GQjUYtS2+TE", - "password", strlen("password")) != 0) { - printf("pwhash_str_verify(valid(7)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2id$v=19$m=256,t=3,p=1$MDEyMzQ1Njc" - "$G5ajKFCoUzaXRLdz7UJb5wGkb2Xt+X5/GQjUYtS2+TE", - "passwore", strlen("passwore")) != -1 || errno != EINVAL) { - printf("pwhash_str_verify(invalid(7)) failure\n"); - } - if (crypto_pwhash_str_verify("$Argon2id$v=19$m=256,t=3,p=1$MDEyMzQ1Njc" - "$G5ajKFCoUzaXRLdz7UJb5wGkb2Xt+X5/GQjUYtS2+TE", - "password", strlen("password")) != -1 || errno != EINVAL) { - printf("pwhash_str_verify(invalid(8)) failure\n"); - } - if (crypto_pwhash_str_verify("$argon2id$v=19$m=256,t=3,p=2$MDEyMzQ1Njc" - "$G5ajKFCoUzaXRLdz7UJb5wGkb2Xt+X5/GQjUYtS2+TE", - "password", strlen("password")) != -1 || errno != EINVAL) { - printf("pwhash_str_verify(invalid(9)) failure\n"); - } - assert(crypto_pwhash_str_alg(str_out, "test", 4, OPSLIMIT, MEMLIMIT, - crypto_pwhash_ALG_ARGON2ID13) == 0); - assert(crypto_pwhash_argon2id_str_verify(str_out, "test", 4) == 0); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, - OPSLIMIT, MEMLIMIT) == 0); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, - OPSLIMIT / 2, MEMLIMIT) == 1); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, - OPSLIMIT, MEMLIMIT / 2) == 1); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, 0, 0) == 1); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, 0, 0) == -1); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out + 1, - OPSLIMIT, MEMLIMIT) == -1); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, 0, 0) == -1); - assert(crypto_pwhash_argon2i_str_needs_rehash("", OPSLIMIT, MEMLIMIT) == -1); - assert(crypto_pwhash_str_alg(str_out, "test", 4, OPSLIMIT, MEMLIMIT, - crypto_pwhash_ALG_ARGON2I13) == 0); - assert(crypto_pwhash_argon2i_str_verify(str_out, "test", 4) == 0); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, - OPSLIMIT, MEMLIMIT) == 0); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, - OPSLIMIT / 2, MEMLIMIT) == 1); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, - OPSLIMIT, MEMLIMIT / 2) == 1); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out, 0, 0) == 1); - assert(crypto_pwhash_argon2id_str_needs_rehash(str_out, 0, 0) == -1); - assert(crypto_pwhash_argon2i_str_needs_rehash("", OPSLIMIT, MEMLIMIT) == -1); - assert(crypto_pwhash_argon2i_str_needs_rehash(str_out + 1, - OPSLIMIT, MEMLIMIT) == -1); - sodium_free(salt); - sodium_free(str_out); - sodium_free(str_out2); -} - -int -main(void) -{ - tv(); - tv2(); - tv3(); - str_tests(); - - assert(crypto_pwhash_bytes_min() > 0U); - assert(crypto_pwhash_bytes_max() > crypto_pwhash_bytes_min()); - assert(crypto_pwhash_passwd_max() > crypto_pwhash_passwd_min()); - assert(crypto_pwhash_saltbytes() > 0U); - assert(crypto_pwhash_strbytes() > 1U); - assert(crypto_pwhash_strbytes() > strlen(crypto_pwhash_strprefix())); - - assert(crypto_pwhash_opslimit_min() > 0U); - assert(crypto_pwhash_opslimit_max() > 0U); - assert(crypto_pwhash_memlimit_min() > 0U); - assert(crypto_pwhash_memlimit_max() > 0U); - assert(crypto_pwhash_opslimit_interactive() > 0U); - assert(crypto_pwhash_memlimit_interactive() > 0U); - assert(crypto_pwhash_opslimit_moderate() > 0U); - assert(crypto_pwhash_memlimit_moderate() > 0U); - assert(crypto_pwhash_opslimit_sensitive() > 0U); - assert(crypto_pwhash_memlimit_sensitive() > 0U); - assert(strcmp(crypto_pwhash_primitive(), "argon2i") == 0); - - assert(crypto_pwhash_bytes_min() == crypto_pwhash_BYTES_MIN); - assert(crypto_pwhash_bytes_max() == crypto_pwhash_BYTES_MAX); - assert(crypto_pwhash_passwd_min() == crypto_pwhash_PASSWD_MIN); - assert(crypto_pwhash_passwd_max() == crypto_pwhash_PASSWD_MAX); - assert(crypto_pwhash_saltbytes() == crypto_pwhash_SALTBYTES); - assert(crypto_pwhash_strbytes() == crypto_pwhash_STRBYTES); - - assert(crypto_pwhash_opslimit_min() == crypto_pwhash_OPSLIMIT_MIN); - assert(crypto_pwhash_opslimit_max() == crypto_pwhash_OPSLIMIT_MAX); - assert(crypto_pwhash_memlimit_min() == crypto_pwhash_MEMLIMIT_MIN); - assert(crypto_pwhash_memlimit_max() == crypto_pwhash_MEMLIMIT_MAX); - assert(crypto_pwhash_opslimit_interactive() == - crypto_pwhash_OPSLIMIT_INTERACTIVE); - assert(crypto_pwhash_memlimit_interactive() == - crypto_pwhash_MEMLIMIT_INTERACTIVE); - assert(crypto_pwhash_opslimit_moderate() == - crypto_pwhash_OPSLIMIT_MODERATE); - assert(crypto_pwhash_memlimit_moderate() == - crypto_pwhash_MEMLIMIT_MODERATE); - assert(crypto_pwhash_opslimit_sensitive() == - crypto_pwhash_OPSLIMIT_SENSITIVE); - assert(crypto_pwhash_memlimit_sensitive() == - crypto_pwhash_MEMLIMIT_SENSITIVE); - - assert(crypto_pwhash_argon2id_bytes_min() == crypto_pwhash_bytes_min()); - assert(crypto_pwhash_argon2id_bytes_max() == crypto_pwhash_bytes_max()); - assert(crypto_pwhash_argon2id_passwd_min() == crypto_pwhash_passwd_min()); - assert(crypto_pwhash_argon2id_passwd_max() == crypto_pwhash_passwd_max()); - assert(crypto_pwhash_argon2id_saltbytes() == crypto_pwhash_saltbytes()); - assert(crypto_pwhash_argon2id_strbytes() == crypto_pwhash_strbytes()); - assert(strcmp(crypto_pwhash_argon2id_strprefix(), - crypto_pwhash_strprefix()) == 0); - assert(crypto_pwhash_argon2id_opslimit_min() == - crypto_pwhash_opslimit_min()); - assert(crypto_pwhash_argon2id_opslimit_max() == - crypto_pwhash_opslimit_max()); - assert(crypto_pwhash_argon2id_memlimit_min() == - crypto_pwhash_memlimit_min()); - assert(crypto_pwhash_argon2id_memlimit_max() == - crypto_pwhash_memlimit_max()); - assert(crypto_pwhash_argon2id_opslimit_interactive() == - crypto_pwhash_opslimit_interactive()); - assert(crypto_pwhash_argon2id_opslimit_moderate() == - crypto_pwhash_opslimit_moderate()); - assert(crypto_pwhash_argon2id_opslimit_sensitive() == - crypto_pwhash_opslimit_sensitive()); - assert(crypto_pwhash_argon2id_memlimit_interactive() == - crypto_pwhash_memlimit_interactive()); - assert(crypto_pwhash_argon2id_memlimit_moderate() == - crypto_pwhash_memlimit_moderate()); - assert(crypto_pwhash_argon2id_memlimit_sensitive() == - crypto_pwhash_memlimit_sensitive()); - assert(crypto_pwhash_alg_argon2id13() == - crypto_pwhash_argon2id_alg_argon2id13()); - assert(crypto_pwhash_alg_argon2i13() == crypto_pwhash_ALG_ARGON2I13); - assert(crypto_pwhash_alg_argon2i13() != crypto_pwhash_alg_default()); - assert(crypto_pwhash_alg_argon2id13() == crypto_pwhash_ALG_ARGON2ID13); - assert(crypto_pwhash_alg_argon2id13() != crypto_pwhash_alg_argon2i13()); - assert(crypto_pwhash_alg_argon2id13() == crypto_pwhash_alg_default()); - - assert(crypto_pwhash_argon2id(guard_page, 0, (const char *) guard_page, 0, guard_page, - crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE, - crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE, - 0) == -1); - assert(crypto_pwhash_argon2id(guard_page, 0, (const char *) guard_page, 0, guard_page, - crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE, - crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE, - crypto_pwhash_ALG_ARGON2I13) == -1); - assert(crypto_pwhash_argon2i(guard_page, 0, (const char *) guard_page, 0, guard_page, - crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE, - crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE, - 0) == -1); - assert(crypto_pwhash_argon2i(guard_page, 0, (const char *) guard_page, 0, guard_page, - crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE, - crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE, - crypto_pwhash_ALG_ARGON2ID13) == -1); - - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2id.exp b/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2id.exp deleted file mode 100644 index a259827..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/pwhash_argon2id.exp +++ /dev/null @@ -1,14 +0,0 @@ -18acec5d6507739f203d1f5d9f1d862f7c2cdac4f19d2bdff64487e60d969e3ced615337b9eec6ac4461c6ca07f0939741e57c24d0005c7ea171a0ee1e7348249d135b38f222e4dad7b9a033ed83f5ca27277393e316582033c74affe2566a2bea47f91f0fd9fe49ece7e1f79f3ad6e9b23e0277c8ecc4b313225748dd2a80f5679534a0700e246a79a49b3f74eb89ec6205fe1eeb941c73b1fcf1 -26bab5f101560e48c711da4f05e81f5a3802b7a93d5155b9cab153069cc42b8e9f910bfead747652a0708d70e4de0bada37218bd203a1201c36b42f9a269b675b1f30cfc36f35a3030e9c7f57dfba0d341a974c1886f708c3e8297efbfe411bb9d51375264bd7c70d57a8a56fc9de2c1c97c08776803ec2cd0140bba8e61dc0f4ad3d3d1a89b4b710af81bfe35a0eea193e18a6da0f5ec05542c9eefc4584458e1da715611ba09617384748bd43b9bf1f3a6df4ecd091d0875e08d6e2fd8a5c7ce08904b5160cd38167b76ec76ef2d310049055a564da23d4ebd2b87e421cc33c401e12d5cd8d936c9baf75ebdfb557d342d2858fc781da31860 -6eb45e668582d63788ca8f6e930ca60b045a795fca987344f9a7a135aa3b5132b50a34a3864c26581f1f56dd0bcbfafbfa92cd9bff6b24a734cfe88f854aef4bda0a7983120f44936e8ff31d29728ac08ccce6f3f916b3c63962755c23a1fa9bb4e8823fc867bfd18f28980d94bc5874423ab7f96cc0ab78d8fa21fbd00cd3a1d96a73fa439ccc3fc4eab1590677b06cc78b0f674dfb680f23022fb902022dd8620803229c6ddf79a8156ccfce48bbd76c05ab670634f206e5b2e896230baa74a856964dbd8511acb71d75a1506766a125d8ce037f1db72086ebc3bccaefbd8cd9380167c2530386544ebfbeadbe237784d102bb92a10fd242 -[tv] pwhash failure (maybe intentional): [3] -08d8cd330c57e1b4643241d05bb468ba4ee4e932cd0858816be9ef15360b27bbd06a87130ee92222be267a29b81f5ae8fe8613324cfc4832dc49387fd0602f1c57b4d0f3855db94fb7e12eb05f9a484aed4a4307abf586cd3d55c809bc081541e00b682772fb2066504ff935b8ebc551a2083882f874bc0fae68e56848ae34c91097c3bf0cca8e75c0797eef3efde3f75e005815018db3cf7c109a812264c4de69dcb22322dbbcfa447f5b00ecd1b04a7be1569c8e556adb7bba48adf81d -d6e9d6cabd42fb9ba7162fe9b8e41d59d3c7034756cb460c9affe393308bd0225ce0371f2e6c3ca32aca2002bf2d3909c6b6e7dfc4a00e850ff4f570f8f749d4bb6f0091e554be67a9095ae1eefaa1a933316cbec3c2fd4a14a5b6941bda9b7eabd821d79abde2475a53af1a8571c7ee46460be415882e0b393f48c12f740a6a72cba9773000602e13b40d3dfa6ac1d4ec43a838b7e3e165fecad4b2498389e60a3ff9f0f8f4b9fca1126e64f49501e38690 -7fb72409b0987f8190c3729710e98c3f80c5a8727d425fdcde7f3644d467fe973f5b5fee683bd3fce812cb9ae5e9921a2d06c2f1905e4e839692f2b934b682f11a2fe2b90482ea5dd234863516dba6f52dc0702d324ec77d860c2e181f84472bd7104fedce071ffa93c5309494ad51623d214447a7b2b1462dc7d5d55a1f6fd5b54ce024118d86f0c6489d16545aaa87b6689dad9f2fb47fda9894f8e12b87d978b483ccd4cc5fd9595cdc7a818452f915ce2f7df95ec12b1c72e3788d473441d884f9748eb14703c21b45d82fd667b85f5b2d98c13303b3fe76285531a826b6fc0fe8e3dddecf -4e702bc5f891df884c6ddaa243aa846ce3c087fe930fef0f36b3c2be34164ccc295db509254743f18f947159c813bcd5dd8d94a3aec93bbe57605d1fad1aef1112687c3d4ef1cb329d21f1632f626818d766915d886e8d819e4b0b9c9307f4b6afc081e13b0cf31db382ff1bf05a16aac7af696336d75e99f82163e0f371e1d25c4add808e215697ad3f779a51a462f8bf52610af21fc69dba6b072606f2dabca7d4ae1d91d919 -20e7ba6faa2c0a4b07f3ff38e15e252a069c2c62bac3f2785d311764d73e67fd713be342ee938e6df4de6af1a89a44b8589838864457bcfe3cf0f2d329b800ab9f5810b6325588eb4e0c56f99192b2cc76dc8194dc1097fe5ed12ac4214481c03c3597131ba164a56e7187e2da565a8cd529668e9a37faa58a1701c49a14edf7a50dec4143b456cba6d14c957bb655e99ce96bc506961216ef887a -8fb6ed1862cdd2a399e10956c60dc9b2670338ea59c3414d0443216925ba24c6e89a17f3e56c12893dcbc9bc498e8308aea9627d9c9e47912d6342b631008719edfa2db364b97e60cf47a97ad9aa3b7f139d80ddda44f1ef2af881ce027a15644218cac6cc74751469ae56be0469fbc760825882b3e8abca55daaae5753575106cf867cd69932602c63ec880ad8811d9aa4870a9e0b39fef47c92e -[tv3] pwhash_argon2id_str failure (maybe intentional): [0] -[tv3] pwhash_argon2id_str failure (maybe intentional): [1] -[tv3] pwhash_argon2id_str failure (maybe intentional): [3] -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt.c b/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt.c deleted file mode 100644 index a0efcd7..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt.c +++ /dev/null @@ -1,398 +0,0 @@ - -#define TEST_NAME "pwhash_scrypt" -#include "cmptest.h" - -#define OUT_LEN 128 -#define OPSLIMIT 1000000 -#define MEMLIMIT 10000000 - -static void -tv(void) -{ - static struct { - const char *passwd_hex; - size_t passwdlen; - const char *salt_hex; - size_t outlen; - unsigned long long opslimit; - size_t memlimit; - } tests[] = { - { "a347ae92bce9f80f6f595a4480fc9c2fe7e7d7148d371e9487d75f5c23008ffae0" - "65577a928febd9b1973a5a95073acdbeb6a030cfc0d79caa2dc5cd011cef02c08d" - "a232d76d52dfbca38ca8dcbd665b17d1665f7cf5fe59772ec909733b24de97d6f5" - "8d220b20c60d7c07ec1fd93c52c31020300c6c1facd77937a597c7a6", - 127, - "5541fbc995d5c197ba290346d2c559dedf405cf97e5f95482143202f9e74f5c2", - 155, 481326, 7256678 }, - { "e125cee61c8cb7778d9e5ad0a6f5d978ce9f84de213a8556d9ffe202020ab4a6ed" - "9074a4eb3416f9b168f137510f3a30b70b96cbfa219ff99f6c6eaffb15c06b60e0" - "0cc2890277f0fd3c622115772f7048adaebed86e", - 86, - "f1192dd5dc2368b9cd421338b22433455ee0a3699f9379a08b9650ea2c126f0d", - 250, 535778, 7849083 }, - { "92263cbf6ac376499f68a4289d3bb59e5a22335eba63a32e6410249155b956b6a3" - "b48d4a44906b18b897127300b375b8f834f1ceffc70880a885f47c33876717e392" - "be57f7da3ae58da4fd1f43daa7e44bb82d3717af4319349c24cd31e46d295856b0" - "441b6b289992a11ced1cc3bf3011604590244a3eb737ff221129215e4e4347f491" - "5d41292b5173d196eb9add693be5319fdadc242906178bb6c0286c9b6ca6012746" - "711f58c8c392016b2fdfc09c64f0f6b6ab7b", - 183, - "3b840e20e9555e9fb031c4ba1f1747ce25cc1d0ff664be676b9b4a90641ff194", - 249, 311757, 7994791 }, - { "027b6d8e8c8c474e9b69c7d9ed4f9971e8e1ce2f6ba95048414c3970f0f09b70e3" - "b6c5ae05872b3d8678705b7d381829c351a5a9c88c233569b35d6b0b809df44b64" - "51a9c273f1150e2ef8a0b5437eb701e373474cd44b97ef0248ebce2ca0400e1b53" - "f3d86221eca3f18eb45b702b9172440f774a82cbf1f6f525df30a6e293c873cce6" - "9bb078ed1f0d31e7f9b8062409f37f19f8550aae", - 152, - "eb2a3056a09ad2d7d7f975bcd707598f24cd32518cde3069f2e403b34bfee8a5", 5, - 643464, 1397645 }, - { "4a857e2ee8aa9b6056f2424e84d24a72473378906ee04a46cb05311502d5250b82" - "ad86b83c8f20a23dbb74f6da60b0b6ecffd67134d45946ac8ebfb3064294bc097d" - "43ced68642bfb8bbbdd0f50b30118f5e", - 82, - "39d82eef32010b8b79cc5ba88ed539fbaba741100f2edbeca7cc171ffeabf258", - 190, 758010, 5432947 }, - { "1845e375479537e9dd4f4486d5c91ac72775d66605eeb11a787b78a7745f1fd005" - "2d526c67235dbae1b2a4d575a74cb551c8e9096c593a497aee74ba3047d911358e" - "de57bc27c9ea1829824348daaab606217cc931dcb6627787bd6e4e5854f0e8", - 97, - "3ee91a805aa62cfbe8dce29a2d9a44373a5006f4a4ce24022aca9cecb29d1473", - 212, 233177, 13101817 }, - { "c7b09aec680e7b42fedd7fc792e78b2f6c1bea8f4a884320b648f81e8cf515e8ba" - "9dcfb11d43c4aae114c1734aa69ca82d44998365db9c93744fa28b63fd16000e82" - "61cbbe083e7e2da1e5f696bde0834fe53146d7e0e35e7de9920d041f5a5621aabe" - "02da3e2b09b405b77937efef3197bd5772e41fdb73fb5294478e45208063b5f58e" - "089dbeb6d6342a909c1307b3fff5fe2cf4da56bdae50848f", - 156, - "039c056d933b475032777edbaffac50f143f64c123329ed9cf59e3b65d3f43b6", - 178, 234753, 4886999 }, - { "8f3a06e2fd8711350a517bb12e31f3d3423e8dc0bb14aac8240fca0995938d59bb" - "37bd0a7dfc9c9cc0705684b46612e8c8b1d6655fb0f9887562bb9899791a0250d1" - "320f945eda48cdc20c233f40a5bb0a7e3ac5ad7250ce684f68fc0b8c9633bfd75a" - "ad116525af7bdcdbbdb4e00ab163fd4df08f243f12557e", - 122, - "90631f686a8c3dbc0703ffa353bc1fdf35774568ac62406f98a13ed8f47595fd", - 55, 695191, 15738350 }, - { "b540beb016a5366524d4605156493f9874514a5aa58818cd0c6dfffaa9e90205f1" - "7b", - 34, - "44071f6d181561670bda728d43fb79b443bb805afdebaf98622b5165e01b15fb", - 231, 78652, 6631659 }, - { "a14975c26c088755a8b715ff2528d647cd343987fcf4aa25e7194a8417fb2b4b3f" - "7268da9f3182b4cfb22d138b2749d673a47ecc7525dd15a0a3c66046971784bb63" - "d7eae24cc84f2631712075a10e10a96b0e0ee67c43e01c423cb9c44e5371017e9c" - "496956b632158da3fe12addecb88912e6759bc37f9af2f45af72c5cae3b179ffb6" - "76a697de6ebe45cd4c16d4a9d642d29ddc0186a0a48cb6cd62bfc3dd229d313b30" - "1560971e740e2cf1f99a9a090a5b283f35475057e96d7064e2e0fc81984591068d" - "55a3b4169f22cccb0745a2689407ea1901a0a766eb99", - 220, - "3d968b2752b8838431165059319f3ff8910b7b8ecb54ea01d3f54769e9d98daf", - 167, 717248, 10784179 }, - }; - char passwd[256]; - unsigned char salt[crypto_pwhash_scryptsalsa208sha256_SALTBYTES]; - unsigned char out[256]; - char out_hex[256 * 2 + 1]; - size_t i = 0U; - - do { - sodium_hex2bin((unsigned char *) passwd, sizeof passwd, - tests[i].passwd_hex, strlen(tests[i].passwd_hex), NULL, - NULL, NULL); - sodium_hex2bin(salt, sizeof salt, tests[i].salt_hex, - strlen(tests[i].salt_hex), NULL, NULL, NULL); - if (crypto_pwhash_scryptsalsa208sha256( - out, (unsigned long long) tests[i].outlen, passwd, - tests[i].passwdlen, (const unsigned char *) salt, - tests[i].opslimit, tests[i].memlimit) != 0) { - printf("pwhash failure\n"); - } - sodium_bin2hex(out_hex, sizeof out_hex, out, tests[i].outlen); - printf("%s\n", out_hex); - } while (++i < (sizeof tests) / (sizeof tests[0])); -} - -static void -tv2(void) -{ - static struct { - const char *passwd_hex; - size_t passwdlen; - const char *salt_hex; - size_t outlen; - unsigned long long opslimit; - size_t memlimit; - } tests[] = { - { "a347ae92bce9f80f6f595a4480fc9c2fe7e7d7148d371e9487d75f5c23008ffae0" - "65577a928febd9b1973a5a95073acdbeb6a030cfc0d79caa2dc5cd011cef02c08d" - "a232d76d52dfbca38ca8dcbd665b17d1665f7cf5fe59772ec909733b24de97d6f5" - "8d220b20c60d7c07ec1fd93c52c31020300c6c1facd77937a597c7a6", - 127, - "5541fbc995d5c197ba290346d2c559dedf405cf97e5f95482143202f9e74f5c2", - 155, 64, 1397645 }, - { "a347ae92bce9f80f6f595a4480fc9c2fe7e7d7148d371e9487d75f5c23008ffae0" - "65577a928febd9b1973a5a95073acdbeb6a030cfc0d79caa2dc5cd011cef02c08d" - "a232d76d52dfbca38ca8dcbd665b17d1665f7cf5fe59772ec909733b24de97d6f5" - "8d220b20c60d7c07ec1fd93c52c31020300c6c1facd77937a597c7a6", - 127, - "5541fbc995d5c197ba290346d2c559dedf405cf97e5f95482143202f9e74f5c2", - 155, 32768, 1397645 }, - }; - char passwd[256]; - unsigned char salt[crypto_pwhash_scryptsalsa208sha256_SALTBYTES]; - unsigned char out[256]; - char out_hex[256 * 2 + 1]; - size_t i = 0U; - - do { - sodium_hex2bin((unsigned char *) passwd, sizeof passwd, - tests[i].passwd_hex, strlen(tests[i].passwd_hex), NULL, - NULL, NULL); - sodium_hex2bin(salt, sizeof salt, tests[i].salt_hex, - strlen(tests[i].salt_hex), NULL, NULL, NULL); - if (crypto_pwhash_scryptsalsa208sha256( - out, (unsigned long long) tests[i].outlen, passwd, - tests[i].passwdlen, (const unsigned char *) salt, - tests[i].opslimit, tests[i].memlimit) != 0) { - printf("pwhash failure\n"); - } - sodium_bin2hex(out_hex, sizeof out_hex, out, tests[i].outlen); - printf("%s\n", out_hex); - } while (++i < (sizeof tests) / (sizeof tests[0])); -} - -static void -tv3(void) -{ - static struct { - const char *passwd; - const char *out; - } tests[] = { - { "^T5H$JYt39n%K*j:W]!1s?vg!:jGi]Ax?..l7[p0v:1jHTpla9;]bUN;?bWyCbtqg " - "nrDFal+Jxl3,2`#^tFSu%v_+7iYse8-cCkNf!tD=KrW)", - "$7$B6....1....75gBMAGwfFWZqBdyF3WdTQnWdUsuTiWjG1fF9c1jiSD$tc8RoB3." - "Em3/zNgMLWo2u00oGIoTyJv4fl3Fl8Tix72" }, - { "bl72h6#y<':MFRZ>B IA1=NRkCKS%W8`1I.2uQxJN0g)N N aTt^4K!Iw5r " - "H6;crDsv^a55j9tsk'/GqweZn;cdk6+F_St6:#*=?ZCD_lw>.", - "$7$A6....3....Iahc6qM0.UQJHVgE4h9oa1/" - "4OWlWLm9CCtfguvz6bQD$QnXCo3M7nIqtry2WKsUZ5gQ.mY0wAlJu." - "WUhtE8vF66" }, - { "Py " - ">e.5b+tLo@rL`dC2k@eJ&4eVl!W=JJ4+k&mAt@gt',FS1JjqKW3aq21:]^kna`" - "mde7kVkN5NrpKUptu)@4*b&?BE_sJMG1=&@`3GBCV]Wg7xwgo7x3El", - "$7$96..../....f6bEusKt79kK4wdYN0ki2nw4bJQ7P3rN6k3BSigsK/" - "D$Dsvuw7vXj5xijmrb/NOhdgoyK/OiSIYv88cEtl9Cik7" }, - { "2vj;Um]FKOL27oam(:Uo8+UmSTvb1FD*h?jk_,S=;RDgF-$Fjk?]9yvfxe@fN^!NN(" - "Cuml?+2Raa", - "$7$86....I....7XwIxLtCx4VphmFeUa6OGuGJrFaIaYzDiLNu/" - "tyUPhD$U3q5GCEqCWxMwh.YQHDJrlg7FIZgViv9pcXE3h1vg61" }, - { "CT=[9uUoGav,J`kU+348tA50ue#sL:ABZ3QgF+r[#vh:tTOiL>s8tv%,Jeo]jH/" - "_4^i(*jD-_ku[9Ko[=86 06V", - "$7$A6....2....R3.bjH6YS9wz9z8Jsj.3weGQ3J80ZZElGw2oVux1TP6$" - "i5u6lFzXDHaIgYEICinLD6WNaovbiXP8SnLrDRdKgA9" }, - { "J#wNn`hDgOpTHNI.w^1a70%f,.9V_m038H_JIJQln`vdWnn/" - "rmILR?9H5g(+`;@H(2VosN9Fgk[WEjaBr'yB9Q19-imNa04[Mk5kvGcSn-TV", - "$7$B6....1....Dj1y.4mF1J9XmT/6IDskYdCLaPFJTq9xcCwXQ1DpT92$92/" - "hYfZLRq1nTLyIz.uc/dC6wLqwnsoqpkadrCXusm6" }, - { "j4BS38Asa;p)[K+9TY!3YDjQw+!qJb]>pP :_.9`dxM9k [eR7Y!yL-3)sNs[R,j_/^ " - "TH=5ny'15>6UXWcQW^6D%XCsO[vN[%ReA-`tV1vW(Nt*0KVK#]45P_A", - "$7$B6....1....D/" - "eyk8N5y6Z8YVQEsw521cTx.9zzLuK7YDs1KMMh.o4$alfW8ZbsUWnXc." - "vqon2zoljVk24Tt1.IsCuo2KurvS2" }, - { "K3S=KyH#)36_?]LxeR8QNKw6X=gFb'ai$C%29V* " - "tyh^Wo$TN-#Q4qkmtTCf0LLb.^E$0uykkP", - "$7$B6....1....CuBuU97xgAage8whp/" - "JNKobo0TFbsORGVbfcQIefyP8$aqalP." - "XofGViB8EPLONqHma8vs1xc9uTIMYh9CgE.S8" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$A6....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - - /* Invalid pwhash strings */ - - { "Y0!?iQa9M%5ekffW(`", - "$7$A6....1....$TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$.6....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$A.....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$A6.........TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$A6....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i44269$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AH" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$A6....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx54269" }, - { "Y0!?iQa9M%5ekffW(`", - "$7^A6....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$!6....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$A!....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$A6....!....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "", - "$7$A6....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", - "$7fA6....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4#" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$AX....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$A6....1!...TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" - "a4ik5hGDN7foMuHOW.cp.CtX01UyCeO0.JAG.AHPpx5" }, - { "Y0!?iQa9M%5ekffW(`", "$7$A6....1" }, - { "Y0!?iQa9M%5ekffW(`", "$7$" }, - { "Y0!?iQa9M%5ekffW(`", "" }, - { "Y0!?iQa9M%5ekffW(`", - "$7$A6....1....TrXs5Zk6s8sWHpQgWDIXTR8kUU3s6Jc3s.DtdS8M2i4$" }, - { "test", - "$7$.6..../.....lgPchkGHqbeONR/xtuXyjCrt9kUSg6NlKFQO0OSxo/$.DbajbPYH9T7sg3fOtcgxvJzzfIgJBIxMkeQ8b24YQ." }, - { "test", - "$7$z6..../.....lgPchkGHqbeONR/xtuXyjCrt9kUSg6NlKFQO0OSxo/$.DbajbPYH9T7sg3fOtcgxvJzzfIgJBIxMkeQ8b24YQ." }, - { "test", - "$7$8zzzzzzzzzz.lgPchkGHqbeONR/xtuXyjCrt9kUSg6NlKFQO0OSxo/$.DbajbPYH9T7sg3fOtcgxvJzzfIgJBIxMkeQ8b24YQ." }, - { "test", - "$7$8.....zzzzz.lgPchkGHqbeONR/xtuXyjCrt9kUSg6NlKFQO0OSxo/$.DbajbPYH9T7sg3fOtcgxvJzzfIgJBIxMkeQ8b24YQ." }, - { "test", - "$7$86..../..../lgPchkGHqbeONR/xtuXyjCrt9kUSg6NlKFQO0OSxo/$.DbajbPYH9T7sg3fOtcgxvJzzfIgJBIxMkeQ8b24YQ." } - }; - char * out; - char * passwd; - size_t i = 0U; - - do { - out = (char *) sodium_malloc(strlen(tests[i].out) + 1U); - assert(out != NULL); - memcpy(out, tests[i].out, strlen(tests[i].out) + 1U); - passwd = (char *) sodium_malloc(strlen(tests[i].passwd) + 1U); - assert(passwd != NULL); - memcpy(passwd, tests[i].passwd, strlen(tests[i].passwd) + 1U); - if (crypto_pwhash_scryptsalsa208sha256_str_verify( - out, passwd, strlen(passwd)) != 0) { - printf("pwhash_str failure: [%u]\n", (unsigned int) i); - } - sodium_free(out); - sodium_free(passwd); - } while (++i < (sizeof tests) / (sizeof tests[0])); -} - -static void -str_tests(void) -{ - char *str_out; - char *str_out2; - char *salt; - const char *passwd = "Correct Horse Battery Staple"; - - salt = (char *) sodium_malloc(crypto_pwhash_scryptsalsa208sha256_SALTBYTES); - str_out = - (char *) sodium_malloc(crypto_pwhash_scryptsalsa208sha256_STRBYTES); - str_out2 = - (char *) sodium_malloc(crypto_pwhash_scryptsalsa208sha256_STRBYTES); - memcpy(salt, "[<~A 32-bytes salt for scrypt~>]", - crypto_pwhash_scryptsalsa208sha256_SALTBYTES); - if (crypto_pwhash_scryptsalsa208sha256_str(str_out, passwd, strlen(passwd), - OPSLIMIT, MEMLIMIT) != 0) { - printf("pwhash_str failure\n"); - } - if (crypto_pwhash_scryptsalsa208sha256_str(str_out2, passwd, strlen(passwd), - OPSLIMIT, MEMLIMIT) != 0) { - printf("pwhash_str(2) failure\n"); - } - if (strcmp(str_out, str_out2) == 0) { - printf("pwhash_str doesn't generate different salts\n"); - } - if (crypto_pwhash_scryptsalsa208sha256_str_needs_rehash - (str_out, OPSLIMIT, MEMLIMIT) != 0) { - printf("needs_rehash() false positive\n"); - } - if (crypto_pwhash_scryptsalsa208sha256_str_needs_rehash - (str_out, OPSLIMIT, MEMLIMIT / 2) != 1 || - crypto_pwhash_scryptsalsa208sha256_str_needs_rehash - (str_out, OPSLIMIT / 2, MEMLIMIT) != 1 || - crypto_pwhash_scryptsalsa208sha256_str_needs_rehash - (str_out, OPSLIMIT, MEMLIMIT * 2) != 1 || - crypto_pwhash_scryptsalsa208sha256_str_needs_rehash - (str_out, OPSLIMIT * 2, MEMLIMIT) != 1) { - printf("needs_rehash() false negative\n"); - } - if (crypto_pwhash_scryptsalsa208sha256_str_needs_rehash - (str_out + 1, OPSLIMIT, MEMLIMIT) != -1) { - printf("needs_rehash() didn't fail with an invalid hash string\n"); - } - if (crypto_pwhash_scryptsalsa208sha256_str_verify(str_out, passwd, - strlen(passwd)) != 0) { - printf("pwhash_str_verify failure\n"); - } - if (crypto_pwhash_scryptsalsa208sha256_str_verify(str_out, passwd, - strlen(passwd)) != 0) { - printf("pwhash_str_verify failure\n"); - } - str_out[14]++; - if (crypto_pwhash_scryptsalsa208sha256_str_verify(str_out, passwd, - strlen(passwd)) == 0) { - printf("pwhash_str_verify(2) failure\n"); - } - str_out[14]--; - - assert(str_out[crypto_pwhash_scryptsalsa208sha256_STRBYTES - 1U] == 0); - - assert(crypto_pwhash_scryptsalsa208sha256_str_needs_rehash - (str_out, 0, 0) == 1); - assert(crypto_pwhash_str_needs_rehash(str_out, 0, 0) == -1); - assert(crypto_pwhash_str_needs_rehash(str_out, OPSLIMIT, MEMLIMIT) == -1); - assert(crypto_pwhash_scryptsalsa208sha256_str_needs_rehash - ("", OPSLIMIT, MEMLIMIT) == -1); - - sodium_free(salt); - sodium_free(str_out); - sodium_free(str_out2); -} - -int -main(void) -{ - tv(); - tv2(); - tv3(); - str_tests(); - - assert(crypto_pwhash_scryptsalsa208sha256_bytes_min() > 0U); - assert(crypto_pwhash_scryptsalsa208sha256_bytes_max() > - crypto_pwhash_scryptsalsa208sha256_bytes_min()); - assert(crypto_pwhash_scryptsalsa208sha256_passwd_max() > - crypto_pwhash_scryptsalsa208sha256_passwd_min()); - assert(crypto_pwhash_scryptsalsa208sha256_saltbytes() > 0U); - assert(crypto_pwhash_scryptsalsa208sha256_strbytes() > 1U); - assert(crypto_pwhash_scryptsalsa208sha256_strbytes() > - strlen(crypto_pwhash_scryptsalsa208sha256_strprefix())); - - assert(crypto_pwhash_scryptsalsa208sha256_opslimit_min() > 0U); - assert(crypto_pwhash_scryptsalsa208sha256_opslimit_max() > 0U); - assert(crypto_pwhash_scryptsalsa208sha256_memlimit_min() > 0U); - assert(crypto_pwhash_scryptsalsa208sha256_memlimit_max() > 0U); - assert(crypto_pwhash_scryptsalsa208sha256_opslimit_interactive() > 0U); - assert(crypto_pwhash_scryptsalsa208sha256_memlimit_interactive() > 0U); - assert(crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive() > 0U); - assert(crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive() > 0U); - - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt.exp b/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt.exp deleted file mode 100644 index 2f98d0e..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt.exp +++ /dev/null @@ -1,37 +0,0 @@ -8d40f5f8c6a1791204f03e19a98cd74f918b6e331b39cfc2415e5014d7738b7bb0a83551fb14a035e07fdd4dc0c60c1a6822ac253918979f6324ff0c87cba75d3b91f88f41ca5414a0f152bdc4d636f42ab2250afd058c19ec31a3374d1bd7133289bf21513ff67cbf8482e626aee9864c58fd05f9ea02e508a10182b7d838157119866f072004987ef6c56683ed207705923921af9d76444a331a -d985d4c278343a46d82af0c4268b7ae6b6d1d2dd289675ef45bfb6d0648bffe5bab8c91228f3a31b091154a9c1142670a07b92e70a298333066de07db9300e046fd7cacc99780804683df7babdfc9d019047178400b2875bde0a1ad824dda7a422d9ed48475af9a3876378dd3a2f206e34984e223afb82c0c1e4644c9a458f4666379fdd3e2d9206d87e3c32c3977f35826a27590baaa1ec1a3bd7d15a92bc84c95dcfc56c14fca7c4c9810162dfdf9dc08a191e79fe40250b7e07d3a9317d9a5cb56e1062c419a6cd6a9b73128e8ad79ab7efffbb3cc52c1f49f86d2ebb46e6e4846aecdb14c2d046f5380517ff8cc794e4a772a58b93083dad -ee7e9e1369267ec555981f0ea088ff6f93953abfcb767d88ec3c46393d24cfbaba5e4e26e0f35b5d5259647748476d65cd8881c96f8cda049d9c877b2d33d932e67f4c0df2cb434b4b4900e0c49c3f8ba9663795420577e65d0b456201ad9162fbc485c7b44f2b34e6673aa3692c123021ee3b624c3bb22b808b89613d8ecc7b87da47f57152eb3f7b10ad206f6b09cb6935b347b5e42bc3b8c9c9bcd8d7b7c44929b367fc279dec48ea78e6ee3e2620d7459700bd0aedb1c9aa5a323ca94403927f5e5c2b73bda7c5c3287b62fe51874cfeb1dc3151cd886b26d83ece68833229d2d432798c602d85b0505947207d8430febbe901164b12ce -pwhash failure -0000000000 -bcc5c2fd785e4781d1201ed43d84925537e2a540d3de55f5812f29e9dd0a4a00451a5c8ddbb4862c03d45c75bf91b7fb49265feb667ad5c899fdbf2ca19eac67aa5e48595d5b02f8183ab07f71b1ce0d76e5df54919f63810ad0893ded7d1ca18fc956ec06ffd4c3d1f77a00ed53608947b25eea5df6bea02272be15815f974c321a2a9208674fdf59d1d798c2a12f1889df68b0c222b37ee9ef0d6391fc160b0281ec53073cb3a3706ce1d71c3af2f5237a1b3d8545d99012eecc0b4abb -82765c040c58c1810f8c053ef5c248556299385476bde44bdd91a0d9a239f24e9b1717fd8b23209ffa45b7aa7937296c601b79e77da99e8d2fda0ea4459be2d0900f5bc5a269b5488d873d4632d1baf75965e509ee24b12501a9ce3bbbd8b7d759987d545a1c221a363195e5802d768b3b9e00ebe5ac0ed8ad2362c1c4157b910a40f94adf2561a2b0d3e65dbb06f244e5ac44d362103df54c9b9175777b3db1cdadb03e977ab8a79baf1e1e18ec9f5d0f25c487ddc53d7e81910f83576b44e9caeece26e2eb376569ad3a8cdccbde8bc355210e -ca9216d4127e2e4a6ee3584b49be106217bb61cc807016d46d0cfbb1fd722e2bbac33541386bdfeac41a299ead22790993fcaa8e1d23bd1c8426afa5ff4c08e731dc476ef834f142c32dfb2c1be12b9978802e63b2cd6f226b1a8df59f0c79154d7ef4296a68ec654538d987104f9a11aca1b7c83ab2ed8fd69da6b88f0bcbd27d3fea01329cecf10c57ec3ba163d57b38801bd6c3b31ce527b33717bb56a46f78fb96be9f2424a21b3284232388cbba6a74 -2732a7566023c8db90a5fdd08dbe6c1b5e70c046d50c5735c8d86a589ba177f69db12d6cc3596319fa27c9e063ed05b8a31970a07dc905 -d7b1ef464be03ce9050b5108e25f0b8e821299986fe0ff89e17fbae65ba9fad167fbd265866ac03efc86ab0b50d46d6740a59adf5949b44f7f9f3ac3f3d4cc9f128966db9099deb1b6b78505242b2401a193820408eb0780b27162ebafb7c505b0e7c32ce66c6efc0be487008c1201454680498a2fc06e00b454e0b20933906bbb0e43b399b9ee46d882f107df1ebdd1e7cd867c9cdba6015b7e80064ae8b3417d969524bec046e782a13b125f058cd36b5d1ae65886ae7caab45a6d98651ada435b8ee11d5c1224232f5f515df974138dd6cf347b730481d4b073af8ff0394fe9f0b8cdfd99f5 -1839be14287053bfcd4ea60db82777fad1a6e9535c388b770743e61235449e668717199defd516c438b3ebd79b3529eb32482ef414525292ea1bbec09da10790a2330a4399f2fe6dd63d80954e3c547a5f1c619db5a30bde495b23f2214b4fa7572851d75246f2817775f0b521acc6efbc7832c9a76de7465e3c65cade88e86c973f85a882bb54f92b983977c6e937c88f083ba68c70fb49497065b158e2e789809b1d4cc9ec2d -d54916748076b9d9f72198c8fbef563462dc8c706e1ad38abd1fac570016721acd0a7659ab49a47299a996b43597690c0c947143069f35d83e606273dbf2d622321393949b8ed5a68315362c4f84804384d05e0e0e86bc00e3641233f9f975ab46b60ba185c5e5fe47f78efd207e69fd8f6390730828b93b9b3763ea1283caa03bc36726763715de811915681dd214524f5ad4dd386608cac6c7f2 -d54916748076b9d9f72198c8fbef563462dc8c706e1ad38abd1fac570016721acd0a7659ab49a47299a996b43597690c0c947143069f35d83e606273dbf2d622321393949b8ed5a68315362c4f84804384d05e0e0e86bc00e3641233f9f975ab46b60ba185c5e5fe47f78efd207e69fd8f6390730828b93b9b3763ea1283caa03bc36726763715de811915681dd214524f5ad4dd386608cac6c7f2 -pwhash_str failure: [10] -pwhash_str failure: [11] -pwhash_str failure: [12] -pwhash_str failure: [13] -pwhash_str failure: [14] -pwhash_str failure: [15] -pwhash_str failure: [16] -pwhash_str failure: [17] -pwhash_str failure: [18] -pwhash_str failure: [19] -pwhash_str failure: [20] -pwhash_str failure: [21] -pwhash_str failure: [22] -pwhash_str failure: [23] -pwhash_str failure: [24] -pwhash_str failure: [25] -pwhash_str failure: [26] -pwhash_str failure: [27] -pwhash_str failure: [28] -pwhash_str failure: [29] -pwhash_str failure: [30] -pwhash_str failure: [31] -pwhash_str failure: [32] -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt_ll.c b/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt_ll.c deleted file mode 100644 index c2b3f3c..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt_ll.c +++ /dev/null @@ -1,59 +0,0 @@ - -#define TEST_NAME "pwhash_scrypt_ll" -#include "cmptest.h" - -static const char * passwd1 = ""; -static const char * salt1 = ""; -static const uint64_t N1 = 16U; -static const uint32_t r1 = 1U; -static const uint32_t p1 = 1U; - -static const char * passwd2 = "password"; -static const char * salt2 = "NaCl"; -static const uint64_t N2 = 1024U; -static const uint32_t r2 = 8U; -static const uint32_t p2 = 16U; - -static const char * passwd3 = "pleaseletmein"; -static const char * salt3 = "SodiumChloride"; -static const uint64_t N3 = 16384U; -static const uint32_t r3 = 8U; -static const uint32_t p3 = 1U; - -static void -tv(const char *passwd, const char *salt, uint64_t N, uint32_t r, uint32_t p) -{ - uint8_t data[64]; - size_t i; - size_t olen = (sizeof data / sizeof data[0]); - size_t passwd_len = strlen(passwd); - size_t salt_len = strlen(salt); - int line_items = 0; - - if (crypto_pwhash_scryptsalsa208sha256_ll( - (const uint8_t *) passwd, passwd_len, (const uint8_t *) salt, - salt_len, N, r, p, data, olen) != 0) { - printf("pwhash_scryptsalsa208sha256_ll([%s],[%s]) failure\n", passwd, - salt); - return; - } - - printf("scrypt('%s', '%s', %lu, %lu, %lu, %lu) =\n", passwd, salt, - (unsigned long) N, (unsigned long) r, (unsigned long) p, - (unsigned long) olen); - - for (i = 0; i < olen; i++) { - printf("%02x%c", data[i], line_items < 15 ? ' ' : '\n'); - line_items = line_items < 15 ? line_items + 1 : 0; - } -} - -int -main(void) -{ - tv(passwd1, salt1, N1, r1, p1); - tv(passwd2, salt2, N2, r2, p2); - tv(passwd3, salt3, N3, r3, p3); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt_ll.exp b/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt_ll.exp deleted file mode 100644 index 9b7f6a7..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/pwhash_scrypt_ll.exp +++ /dev/null @@ -1,15 +0,0 @@ -scrypt('', '', 16, 1, 1, 64) = -77 d6 57 62 38 65 7b 20 3b 19 ca 42 c1 8a 04 97 -f1 6b 48 44 e3 07 4a e8 df df fa 3f ed e2 14 42 -fc d0 06 9d ed 09 48 f8 32 6a 75 3a 0f c8 1f 17 -e8 d3 e0 fb 2e 0d 36 28 cf 35 e2 0c 38 d1 89 06 -scrypt('password', 'NaCl', 1024, 8, 16, 64) = -fd ba be 1c 9d 34 72 00 78 56 e7 19 0d 01 e9 fe -7c 6a d7 cb c8 23 78 30 e7 73 76 63 4b 37 31 62 -2e af 30 d9 2e 22 a3 88 6f f1 09 27 9d 98 30 da -c7 27 af b9 4a 83 ee 6d 83 60 cb df a2 cc 06 40 -scrypt('pleaseletmein', 'SodiumChloride', 16384, 8, 1, 64) = -70 23 bd cb 3a fd 73 48 46 1c 06 cd 81 fd 38 eb -fd a8 fb ba 90 4f 8e 3e a9 b5 43 f6 54 5d a1 f2 -d5 43 29 55 61 3f 0f cf 62 d4 97 05 24 2a 9a f9 -e6 1e 85 dc 0d 65 1e 40 df cf 01 7b 45 57 58 87 diff --git a/libsodium-1.0.18-RELEASE/test/default/randombytes.c b/libsodium-1.0.18-RELEASE/test/default/randombytes.c deleted file mode 100644 index d08066e..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/randombytes.c +++ /dev/null @@ -1,164 +0,0 @@ - -#define TEST_NAME "randombytes" -#include "cmptest.h" - -static unsigned char x[65536]; -static unsigned long long freq[256]; - -static int -compat_tests(void) -{ - size_t i; - - memset(x, 0, sizeof x); - randombytes(x, sizeof x); - for (i = 0; i < 256; ++i) { - freq[i] = 0; - } - for (i = 0; i < sizeof x; ++i) { - ++freq[255 & (int) x[i]]; - } - for (i = 0; i < 256; ++i) { - if (!freq[i]) { - printf("nacl_tests failed\n"); - } - } - return 0; -} - -static int -randombytes_tests(void) -{ - static const unsigned char seed[randombytes_SEEDBYTES] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, - 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, - 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f - }; - unsigned char out[100]; - unsigned int f = 0U; - unsigned int i; - uint32_t n; - -#ifndef BENCHMARKS -# ifdef __EMSCRIPTEN__ - assert(strcmp(randombytes_implementation_name(), "js") == 0); -# else - assert(strcmp(randombytes_implementation_name(), "sysrandom") == 0); -# endif -#endif - randombytes(x, 1U); - do { - n = randombytes_random(); - f |= ((n >> 24) > 1); - f |= ((n >> 16) > 1) << 1; - f |= ((n >> 8) > 1) << 2; - f |= ((n) > 1) << 3; - f |= (n > 0x7fffffff) << 4; - } while (f != 0x1f); - randombytes_close(); - - for (i = 0; i < 256; ++i) { - freq[i] = 0; - } - for (i = 0; i < 65536; ++i) { - ++freq[randombytes_uniform(256)]; - } - for (i = 0; i < 256; ++i) { - if (!freq[i]) { - printf("randombytes_uniform() test failed\n"); - } - } - assert(randombytes_uniform(1U) == 0U); - randombytes_close(); -#ifndef __EMSCRIPTEN__ - assert(&randombytes_internal_implementation == &randombytes_salsa20_implementation); - randombytes_set_implementation(&randombytes_internal_implementation); - assert(strcmp(randombytes_implementation_name(), "internal") == 0); -#endif - randombytes_stir(); - for (i = 0; i < 256; ++i) { - freq[i] = 0; - } - for (i = 0; i < 65536; ++i) { - ++freq[randombytes_uniform(256)]; - } - for (i = 0; i < 256; ++i) { - if (!freq[i]) { - printf("randombytes_uniform() test failed\n"); - } - } - memset(x, 0, sizeof x); - randombytes_buf(x, sizeof x); - for (i = 0; i < 256; ++i) { - freq[i] = 0; - } - for (i = 0; i < sizeof x; ++i) { - ++freq[255 & (int) x[i]]; - } - for (i = 0; i < 256; ++i) { - if (!freq[i]) { - printf("randombytes_buf() test failed\n"); - } - } - assert(randombytes_uniform(1U) == 0U); - - randombytes_buf_deterministic(out, sizeof out, seed); - for (i = 0; i < sizeof out; ++i) { - printf("%02x", out[i]); - } - printf(" (deterministic)\n"); - - randombytes_close(); - - randombytes(x, 1U); - randombytes_close(); - - assert(randombytes_SEEDBYTES > 0); - assert(randombytes_seedbytes() == randombytes_SEEDBYTES); - - return 0; -} - -static uint32_t -randombytes_uniform_impl(const uint32_t upper_bound) -{ - return upper_bound; -} - -static int -impl_tests(void) -{ - randombytes_implementation impl = randombytes_sysrandom_implementation; - uint32_t v = randombytes_random(); - - impl.uniform = randombytes_uniform_impl; - randombytes_close(); - randombytes_set_implementation(&impl); - assert(randombytes_uniform(1) == 1); - assert(randombytes_uniform(v) == v); - assert(randombytes_uniform(v) == v); - assert(randombytes_uniform(v) == v); - assert(randombytes_uniform(v) == v); - randombytes_close(); - impl.close = NULL; - randombytes_close(); - - return 0; -} - -int -main(void) -{ - compat_tests(); - randombytes_tests(); -#ifndef __EMSCRIPTEN__ - impl_tests(); -#endif - printf("OK\n"); - -#ifndef __EMSCRIPTEN__ - randombytes_set_implementation(&randombytes_salsa20_implementation); -#endif - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/randombytes.exp b/libsodium-1.0.18-RELEASE/test/default/randombytes.exp deleted file mode 100644 index cf955ee..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/randombytes.exp +++ /dev/null @@ -1,2 +0,0 @@ -0d8e6cc68715648926732e7ea73250cfaf2d58422083904c841a8ba33b986111f346ba50723a68ae283524a6bded09f83be6b80595856f72e25b86918e8b114bafb94bc8abedd73daab454576b7c5833eb0bf982a1bb4587a5c970ff0810ca3b791d7e12 (deterministic) -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult.c b/libsodium-1.0.18-RELEASE/test/default/scalarmult.c deleted file mode 100644 index 0e05538..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult.c +++ /dev/null @@ -1,71 +0,0 @@ - -#define TEST_NAME "scalarmult" -#include "cmptest.h" - -static const unsigned char alicesk[crypto_scalarmult_BYTES] = { - 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, 0x7d, 0x3c, 0x16, 0xc1, - 0x72, 0x51, 0xb2, 0x66, 0x45, 0xdf, 0x4c, 0x2f, 0x87, 0xeb, 0xc0, - 0x99, 0x2a, 0xb1, 0x77, 0xfb, 0xa5, 0x1d, 0xb9, 0x2c, 0x2a -}; - -static const unsigned char bobsk[crypto_scalarmult_BYTES] = { - 0x5d, 0xab, 0x08, 0x7e, 0x62, 0x4a, 0x8a, 0x4b, 0x79, 0xe1, 0x7f, - 0x8b, 0x83, 0x80, 0x0e, 0xe6, 0x6f, 0x3b, 0xb1, 0x29, 0x26, 0x18, - 0xb6, 0xfd, 0x1c, 0x2f, 0x8b, 0x27, 0xff, 0x88, 0xe0, 0xeb -}; - -static const unsigned char small_order_p[crypto_scalarmult_BYTES] = { - 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae, 0x16, 0x56, 0xe3, - 0xfa, 0xf1, 0x9f, 0xc4, 0x6a, 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, - 0xb1, 0xfd, 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00 -}; - -static char hex[crypto_scalarmult_BYTES * 2 + 1]; - -int -main(void) -{ - unsigned char *alicepk = - (unsigned char *) sodium_malloc(crypto_scalarmult_BYTES); - unsigned char *bobpk = - (unsigned char *) sodium_malloc(crypto_scalarmult_BYTES); - unsigned char *k = (unsigned char *) sodium_malloc(crypto_scalarmult_BYTES); - int ret; - - assert(alicepk != NULL && bobpk != NULL && k != NULL); - - crypto_scalarmult_base(alicepk, alicesk); - sodium_bin2hex(hex, sizeof hex, alicepk, crypto_scalarmult_BYTES); - printf("%s\n", hex); - - crypto_scalarmult_base(bobpk, bobsk); - sodium_bin2hex(hex, sizeof hex, bobpk, crypto_scalarmult_BYTES); - printf("%s\n", hex); - - ret = crypto_scalarmult(k, alicesk, bobpk); - assert(ret == 0); - sodium_bin2hex(hex, sizeof hex, k, crypto_scalarmult_BYTES); - printf("%s\n", hex); - - ret = crypto_scalarmult(k, bobsk, alicepk); - assert(ret == 0); - sodium_bin2hex(hex, sizeof hex, k, crypto_scalarmult_BYTES); - printf("%s\n", hex); - - ret = crypto_scalarmult(k, bobsk, small_order_p); - assert(ret == -1); - - sodium_free(bobpk); - sodium_free(alicepk); - sodium_free(k); - - assert(crypto_scalarmult_bytes() > 0U); - assert(crypto_scalarmult_scalarbytes() > 0U); - assert(strcmp(crypto_scalarmult_primitive(), "curve25519") == 0); - assert(crypto_scalarmult_bytes() == crypto_scalarmult_curve25519_bytes()); - assert(crypto_scalarmult_scalarbytes() == - crypto_scalarmult_curve25519_scalarbytes()); - assert(crypto_scalarmult_bytes() == crypto_scalarmult_scalarbytes()); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult.exp b/libsodium-1.0.18-RELEASE/test/default/scalarmult.exp deleted file mode 100644 index 1a38d89..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult.exp +++ /dev/null @@ -1,4 +0,0 @@ -8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a -de9edb7d7b7dc1b4d35b61c2ece435373f8343c85b78674dadfc7e146f882b4f -4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742 -4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742 diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult2.c b/libsodium-1.0.18-RELEASE/test/default/scalarmult2.c deleted file mode 100644 index 58776cf..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult2.c +++ /dev/null @@ -1,32 +0,0 @@ - -#define TEST_NAME "scalarmult2" -#include "cmptest.h" - -static unsigned char bobsk[32] = { 0x5d, 0xab, 0x08, 0x7e, 0x62, 0x4a, 0x8a, - 0x4b, 0x79, 0xe1, 0x7f, 0x8b, 0x83, 0x80, - 0x0e, 0xe6, 0x6f, 0x3b, 0xb1, 0x29, 0x26, - 0x18, 0xb6, 0xfd, 0x1c, 0x2f, 0x8b, 0x27, - 0xff, 0x88, 0xe0, 0xeb }; - -static unsigned char bobpk[32]; - -int -main(void) -{ - int i; - - crypto_scalarmult_base(bobpk, bobsk); - - for (i = 0; i < 32; ++i) { - if (i > 0) { - printf(","); - } else { - printf(" "); - } - printf("0x%02x", (unsigned int) bobpk[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult2.exp b/libsodium-1.0.18-RELEASE/test/default/scalarmult2.exp deleted file mode 100644 index b539186..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult2.exp +++ /dev/null @@ -1,4 +0,0 @@ - 0xde,0x9e,0xdb,0x7d,0x7b,0x7d,0xc1,0xb4 -,0xd3,0x5b,0x61,0xc2,0xec,0xe4,0x35,0x37 -,0x3f,0x83,0x43,0xc8,0x5b,0x78,0x67,0x4d -,0xad,0xfc,0x7e,0x14,0x6f,0x88,0x2b,0x4f diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult5.c b/libsodium-1.0.18-RELEASE/test/default/scalarmult5.c deleted file mode 100644 index f92aa40..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult5.c +++ /dev/null @@ -1,40 +0,0 @@ - -#define TEST_NAME "scalarmult5" -#include "cmptest.h" - -static unsigned char alicesk[32] = { 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, - 0x7d, 0x3c, 0x16, 0xc1, 0x72, 0x51, 0xb2, - 0x66, 0x45, 0xdf, 0x4c, 0x2f, 0x87, 0xeb, - 0xc0, 0x99, 0x2a, 0xb1, 0x77, 0xfb, 0xa5, - 0x1d, 0xb9, 0x2c, 0x2a }; - -static unsigned char bobpk[32] = { 0xde, 0x9e, 0xdb, 0x7d, 0x7b, 0x7d, 0xc1, - 0xb4, 0xd3, 0x5b, 0x61, 0xc2, 0xec, 0xe4, - 0x35, 0x37, 0x3f, 0x83, 0x43, 0xc8, 0x5b, - 0x78, 0x67, 0x4d, 0xad, 0xfc, 0x7e, 0x14, - 0x6f, 0x88, 0x2b, 0x4f }; - -static unsigned char k[32]; - -int -main(void) -{ - int i; - int ret; - - ret = crypto_scalarmult(k, alicesk, bobpk); - assert(ret == 0); - - for (i = 0; i < 32; ++i) { - if (i > 0) { - printf(","); - } else { - printf(" "); - } - printf("0x%02x", (unsigned int) k[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult5.exp b/libsodium-1.0.18-RELEASE/test/default/scalarmult5.exp deleted file mode 100644 index bec2113..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult5.exp +++ /dev/null @@ -1,4 +0,0 @@ - 0x4a,0x5d,0x9d,0x5b,0xa4,0xce,0x2d,0xe1 -,0x72,0x8e,0x3b,0xf4,0x80,0x35,0x0f,0x25 -,0xe0,0x7e,0x21,0xc9,0x47,0xd1,0x9e,0x33 -,0x76,0xf0,0x9b,0x3c,0x1e,0x16,0x17,0x42 diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult6.c b/libsodium-1.0.18-RELEASE/test/default/scalarmult6.c deleted file mode 100644 index f8f0784..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult6.c +++ /dev/null @@ -1,54 +0,0 @@ - -#define TEST_NAME "scalarmult6" -#include "cmptest.h" - -static unsigned char bobsk_[crypto_scalarmult_SCALARBYTES] = { - 0x5d, 0xab, 0x08, 0x7e, 0x62, 0x4a, 0x8a, 0x4b, 0x79, 0xe1, 0x7f, - 0x8b, 0x83, 0x80, 0x0e, 0xe6, 0x6f, 0x3b, 0xb1, 0x29, 0x26, 0x18, - 0xb6, 0xfd, 0x1c, 0x2f, 0x8b, 0x27, 0xff, 0x88, 0xe0, 0xeb -}; - -static unsigned char alicepk_[crypto_scalarmult_SCALARBYTES] = { - 0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54, 0x74, 0x8b, 0x7d, - 0xdc, 0xb4, 0x3e, 0xf7, 0x5a, 0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, - 0x1a, 0xf4, 0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0x6a -}; - -int -main(void) -{ - unsigned char *k; - unsigned char *bobsk; - unsigned char *alicepk; - int i; - int ret; - - k = (unsigned char *) sodium_malloc(crypto_scalarmult_BYTES); - bobsk = (unsigned char *) sodium_malloc(crypto_scalarmult_SCALARBYTES); - alicepk = (unsigned char *) sodium_malloc(crypto_scalarmult_SCALARBYTES); - assert(k != NULL && bobsk != NULL && alicepk != NULL); - - memcpy(bobsk, bobsk_, crypto_scalarmult_SCALARBYTES); - memcpy(alicepk, alicepk_, crypto_scalarmult_SCALARBYTES); - - ret = crypto_scalarmult(k, bobsk, alicepk); - assert(ret == 0); - - sodium_free(alicepk); - sodium_free(bobsk); - - for (i = 0; i < 32; ++i) { - if (i > 0) { - printf(","); - } else { - printf(" "); - } - printf("0x%02x", (unsigned int) k[i]); - if (i % 8 == 7) { - printf("\n"); - } - } - sodium_free(k); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult6.exp b/libsodium-1.0.18-RELEASE/test/default/scalarmult6.exp deleted file mode 100644 index bec2113..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult6.exp +++ /dev/null @@ -1,4 +0,0 @@ - 0x4a,0x5d,0x9d,0x5b,0xa4,0xce,0x2d,0xe1 -,0x72,0x8e,0x3b,0xf4,0x80,0x35,0x0f,0x25 -,0xe0,0x7e,0x21,0xc9,0x47,0xd1,0x9e,0x33 -,0x76,0xf0,0x9b,0x3c,0x1e,0x16,0x17,0x42 diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult7.c b/libsodium-1.0.18-RELEASE/test/default/scalarmult7.c deleted file mode 100644 index 54f64c2..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult7.c +++ /dev/null @@ -1,34 +0,0 @@ - -#define TEST_NAME "scalarmult7" -#include "cmptest.h" - -static unsigned char p1[32] = { - 0x72, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54, 0x74, 0x8b, 0x7d, - 0xdc, 0xb4, 0x3e, 0xf7, 0x5a, 0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, - 0x1a, 0xf4, 0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0xea -}; - -static unsigned char p2[32] = { - 0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54, 0x74, 0x8b, 0x7d, - 0xdc, 0xb4, 0x3e, 0xf7, 0x5a, 0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, - 0x1a, 0xf4, 0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0x6a -}; - -static unsigned char scalar[32]; -static unsigned char out1[32]; -static unsigned char out2[32]; - -int -main(void) -{ - int ret; - - scalar[0] = 1U; - ret = crypto_scalarmult_curve25519(out1, scalar, p1); - assert(ret == 0); - ret = crypto_scalarmult_curve25519(out2, scalar, p2); - assert(ret == 0); - printf("%d\n", !!memcmp(out1, out2, 32)); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult7.exp b/libsodium-1.0.18-RELEASE/test/default/scalarmult7.exp deleted file mode 100644 index d00491f..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult7.exp +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult8.c b/libsodium-1.0.18-RELEASE/test/default/scalarmult8.c deleted file mode 100644 index 25a541d..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult8.c +++ /dev/null @@ -1,580 +0,0 @@ - -#define TEST_NAME "scalarmult8" -#include "cmptest.h" - -typedef struct TestData_ { - const char pk_hex[crypto_scalarmult_BYTES * 2 + 1]; - const char sk_hex[crypto_scalarmult_SCALARBYTES * 2 + 1]; - const char shared_hex[crypto_scalarmult_BYTES * 2 + 1]; - const char *outcome; -} TestData; - -static TestData test_data[] = { - { - "9c647d9ae589b9f58fdc3ca4947efbc915c4b2e08e744a0edf469dac59c8f85a", - "4852834d9d6b77dadeabaaf2e11dca66d19fe74993a7bec36c6e16a0983feaba", - "87b7f212b627f7a54ca5e0bcdaddd5389d9de6156cdbcf8ebe14ffbcfb436551", - "valid" - }, - { - "9c647d9ae589b9f58fdc3ca4947efbc915c4b2e08e744a0edf469dac59c8f85a", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "4b82bd8650ea9b81a42181840926a4ffa16434d1bf298de1db87efb5b0a9e34e", - "valid" - }, - { - "63aa40c6e38346c5caf23a6df0a5e6c80889a08647e551b3563449befcfc9733", - "588c061a50804ac488ad774ac716c3f5ba714b2712e048491379a500211998a8", - "b1a707519495ffffb298ff941716b06dfab87cf8d91123fe2be9a233dda22212", - "acceptable" - }, - { - "0f83c36fded9d32fadf4efa3ae93a90bb5cfa66893bc412c43fa7287dbb99779", - "b05bfd32e55325d9fd648cb302848039000b390e44d521e58aab3b29a6960ba8", - "67dd4a6e165533534c0e3f172e4ab8576bca923a5f07b2c069b4c310ff2e935b", - "acceptable" - }, - { - "0b8211a2b6049097f6871c6c052d3c5fc1ba17da9e32ae458403b05bb283092a", - "70e34bcbe1f47fbc0fddfd7c1e1aa53d57bfe0f66d243067b424bb6210bed19c", - "4a0638cfaa9ef1933b47f8939296a6b25be541ef7f70e844c0bcc00b134de64a", - "acceptable" - }, - { - "343ac20a3b9c6a27b1008176509ad30735856ec1c8d8fcae13912d08d152f46c", - "68c1f3a653a4cdb1d37bba94738f8b957a57beb24d646e994dc29a276aad458d", - "399491fce8dfab73b4f9f611de8ea0b27b28f85994250b0f475d585d042ac207", - "acceptable" - }, - { - "fa695fc7be8d1be5bf704898f388c452bafdd3b8eae805f8681a8d15c2d4e142", - "d877b26d06dff9d9f7fd4c5b3769f8cdd5b30516a5ab806be324ff3eb69ea0b2", - "2c4fe11d490a53861776b13b4354abd4cf5a97699db6e6c68c1626d07662f758", - "acceptable" - }, - { - "0000000000000000000000000000000000000000000000000000000000000000", - "207494038f2bb811d47805bcdf04a2ac585ada7f2f23389bfd4658f9ddd4debc", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "0100000000000000000000000000000000000000000000000000000000000000", - "202e8972b61c7e61930eb9450b5070eae1c670475685541f0476217e4818cfab", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "0200000000000000000000000000000000000000000000000000000000000000", - "38dde9f3e7b799045f9ac3793d4a9277dadeadc41bec0290f81f744f73775f84", - "9a2cfe84ff9c4a9739625cae4a3b82a906877a441946f8d7b3d795fe8f5d1639", - "acceptable" - }, - { - "0300000000000000000000000000000000000000000000000000000000000000", - "9857a914e3c29036fd9a442ba526b5cdcdf28216153e636c10677acab6bd6aa5", - "4da4e0aa072c232ee2f0fa4e519ae50b52c1edd08a534d4ef346c2e106d21d60", - "acceptable" - }, - { - "ffffff030000f8ffff1f0000c0ffffff000000feffff070000f0ffff3f000000", - "48e2130d723305ed05e6e5894d398a5e33367a8c6aac8fcdf0a88e4b42820db7", - "9ed10c53747f647f82f45125d3de15a1e6b824496ab40410ffcc3cfe95760f3b", - "acceptable" - }, - { - "000000fcffff070000e0ffff3f000000ffffff010000f8ffff0f0000c0ffff7f", - "28f41011691851b3a62b641553b30d0dfddcb8fffcf53700a7be2f6a872e9fb0", - "cf72b4aa6aa1c9f894f4165b86109aa468517648e1f0cc70e1ab08460176506b", - "acceptable" - }, - { - "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffff7f", - "18a93b6499b9f6b3225ca02fef410e0adec23532321d2d8ef1a6d602a8c65b83", - "5d50b62836bb69579410386cf7bb811c14bf85b1c7b17e5924c7ffea91ef9e12", - "acceptable" - }, - { - "eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "c01d1305a1338a1fcac2ba7e2e032b427e0b04903165aca957d8d0553d8717b0", - "19230eb148d5d67c3c22ab1daeff80a57eae4265ce2872657b2c8099fc698e50", - "acceptable" - }, - { - "0400000000000000000000000000000000000000000000000000000000000000", - "386f7f16c50731d64f82e6a170b142a4e34f31fd7768fcb8902925e7d1e21abe", - "0fcab5d842a078d7a71fc59b57bfb4ca0be6873b49dcdb9f44e14ae8fbdfa542", - "valid" - }, - { - "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000", - "e023a289bd5e90fa2804ddc019a05ef3e79d434bb6ea2f522ecb643a75296e95", - "54ce8f2275c077e3b1306a3939c5e03eef6bbb88060544758d9fef59b0bc3e4f", - "valid" - }, - { - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03", - "68f010d62ee8d926053a361c3a75c6ea4ebdc8606ab285003a6f8f4076b01e83", - "f136775c5beb0af8110af10b20372332043cab752419678775a223df57c9d30d", - "valid" - }, - { - "fffffffbfffffbffffdfffffdffffffffefffffefffff7fffff7ffffbfffff3f", - "58ebcb35b0f8845caf1ec630f96576b62c4b7b6c36b29deb2cb0084651755c96", - "bf9affd06b844085586460962ef2146ff3d4533d9444aab006eb88cc3054407d", - "valid" - }, - { - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f", - "188c4bc5b9c44b38bb658b9b2ae82d5b01015e093184b17cb7863503a783e1bb", - "d480de04f699cb3be0684a9cc2e31281ea0bc5a9dcc157d3d20158d46ca5246d", - "valid" - }, - { - "fffffffffeffff7ffffffffffeffff7ffffffffffeffff7ffffffffffeffff7f", - "e06c11bb2e13ce3dc7673f67f5482242909423a9ae95ee986a988d98faee23a2", - "4c4401cce6b51e4cb18f2790246c9bf914db667750a1cb89069092af07292276", - "valid" - }, - { - "ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "c0658c46dde18129293877535b1162b6f9f5414a23cf4d2cbc140a4d99da2b8f", - "578ba8cc2dbdc575afcf9df2b3ee6189f5337d6854c79b4ce165ea12293b3a0f", - "valid" - }, - { - "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800", - "10255c9230a97a30a458ca284a629669293a31890cda9d147febc7d1e22d6bb1", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157", - "78f1e8edf14481b389448dac8f59c70b038e7cf92ef2c7eff57a72466e115296", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "a0a05a3e8f9f44204d5f8059a94ac7dfc39a49ac016dd743dbfa43c5d671fd88", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "d0dbb3ed1906663f15420af31f4eaf6509d9a9949723500605ad7c1c6e7450a9", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "c0b1d0eb22b244fe3291140072cdd9d989b5f0ecd96c100feb5bca241c1d9f8f", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "0000000000000000000000000000000000000000000000000000000000000080", - "480bf45f594942a8bc0f3353c6e8b8853d77f351f1c2ca6c2d1abf8a00b4229c", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "0100000000000000000000000000000000000000000000000000000000000080", - "30f993fcf8514fc89bd8db14cd43ba0d4b2530e73c4276a05e1b145d420cedb4", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880", - "c04974b758380e2a5b5df6eb09bb2f6b3434f982722a8e676d3da251d1b3de83", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7", - "502a31373db32446842fe5add3e024022ea54f274182afc3d9f1bb3d39534eb5", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "90fa6417b0e37030fd6e43eff2abaef14c6793117a039cf621318ba90f4e98be", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "78ad3f26027f1c9fdd975a1613b947779bad2cf2b741ade01840885a30bb979c", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "98e23de7b1e0926ed9c87e7b14baf55f497a1d7096f93977680e44dc1c7b7b8b", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "0000000000000000000000000000000000000000000000000000000000000000", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "0100000000000000000000000000000000000000000000000000000000000000", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "0000000000000000000000000000000000000000000000000000000000000080", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "0100000000000000000000000000000000000000000000000000000000000080", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae", - "0000000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "f01e48dafac9d7bcf589cbc382c878d18bda3550589ffb5d50b523bebe329dae", - "bd36a0790eb883098c988b21786773de0b3a4df162282cf110de18dd484ce74b", - "acceptable" - }, - { - "f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "288796bc5aff4b81a37501757bc0753a3c21964790d38699308debc17a6eaf8d", - "b4e0dd76da7b071728b61f856771aa356e57eda78a5b1655cc3820fb5f854c5c", - "acceptable" - }, - { - "f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "98df845f6651bf1138221f119041f72b6dbc3c4ace7143d99fd55ad867480da8", - "6fdf6c37611dbd5304dc0f2eb7c9517eb3c50e12fd050ac6dec27071d4bfc034", - "acceptable" - }, - { - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "f09498e46f02f878829e78b803d316a2ed695d0498a08abdf8276930e24edcb0", - "4c8fc4b1c6ab88fb21f18f6d4c810240d4e94651ba44f7a2c863cec7dc56602d", - "acceptable" - }, - { - "0200000000000000000000000000000000000000000000000000000000000080", - "1813c10a5c7f21f96e17f288c0cc37607c04c5f5aea2db134f9e2ffc66bd9db8", - "1cd0b28267dc541c642d6d7dca44a8b38a63736eef5c4e6501ffbbb1780c033c", - "acceptable" - }, - { - "0300000000000000000000000000000000000000000000000000000000000080", - "7857fb808653645a0beb138a64f5f4d733a45ea84c3cda11a9c06f7e7139149e", - "8755be01c60a7e825cff3e0e78cb3aa4333861516aa59b1c51a8b2a543dfa822", - "acceptable" - }, - { - "0400000000000000000000000000000000000000000000000000000000000080", - "e03aa842e2abc56e81e87b8b9f417b2a1e5913c723eed28d752f8d47a59f498f", - "54c9a1ed95e546d27822a360931dda60a1df049da6f904253c0612bbdc087476", - "acceptable" - }, - { - "daffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "f8f707b7999b18cb0d6b96124f2045972ca274bfc154ad0c87038c24c6d0d4b2", - "cc1f40d743cdc2230e1043daba8b75e810f1fbab7f255269bd9ebb29e6bf494f", - "acceptable" - }, - { - "dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "a034f684fa631e1a348118c1ce4c98231f2d9eec9ba5365b4a05d69a785b0796", - "54998ee43a5b007bf499f078e736524400a8b5c7e9b9b43771748c7cdf880412", - "acceptable" - }, - { - "dcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "30b6c6a0f2ffa680768f992ba89e152d5bc9893d38c9119be4f767bfab6e0ca5", - "ead9b38efdd723637934e55ab717a7ae09eb86a21dc36a3feeb88b759e391e09", - "acceptable" - }, - { - "eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "901b9dcf881e01e027575035d40b43bdc1c5242e030847495b0c7286469b6591", - "602ff40789b54b41805915fe2a6221f07a50ffc2c3fc94cf61f13d7904e88e0e", - "acceptable" - }, - { - "ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "8046677c28fd82c9a1bdb71a1a1a34faba1225e2507fe3f54d10bd5b0d865f8e", - "e00ae8b143471247ba24f12c885536c3cb981b58e1e56b2baf35c12ae1f79c26", - "acceptable" - }, - { - "efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "602f7e2f68a846b82cc269b1d48e939886ae54fd636c1fe074d710127d472491", - "98cb9b50dd3fc2b0d4f2d2bf7c5cfdd10c8fcd31fc40af1ad44f47c131376362", - "acceptable" - }, - { - "f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "60887b3dc72443026ebedbbbb70665f42b87add1440e7768fbd7e8e2ce5f639d", - "38d6304c4a7e6d9f7959334fb5245bd2c754525d4c91db950206926234c1f633", - "acceptable" - }, - { - "f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "78d31dfa854497d72d8def8a1b7fb006cec2d8c4924647c93814ae56faeda495", - "786cd54996f014a5a031ec14db812ed08355061fdb5de680a800ac521f318e23", - "acceptable" - }, - { - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "c04c5baefa8302ddded6a4bb957761b4eb97aefa4fc3b8043085f96a5659b3a5", - "29ae8bc73e9b10a08b4f681c43c3e0ac1a171d31b38f1a48efba29ae639ea134", - "acceptable" - }, - { - "e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c", - "a046e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449a44", - "c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552", - "valid" - }, - { - "e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a413", - "4866e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba4d", - "95cbde9476e8907d7aade45cb4b873f88b595a68799fa152e6f8f7647aac7957", - "valid" - }, - { - "0ab4e76380d84dde4f6833c58f2a9fb8f83bb0169b172be4b6e0592887741a36", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "0200000000000000000000000000000000000000000000000000000000000000", - "acceptable" - }, - { - "89e10d5701b4337d2d032181538b1064bd4084401ceca1fd12663a1959388000", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "0900000000000000000000000000000000000000000000000000000000000000", - "valid" - }, - { - "2b55d3aa4a8f80c8c0b2ae5f933e85af49beac36c2fa7394bab76c8933f8f81d", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "1000000000000000000000000000000000000000000000000000000000000000", - "valid" - }, - { - "63e5b1fe9601fe84385d8866b0421262f78fbfa5aff9585e626679b18547d959", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f", - "acceptable" - }, - { - "e428f3dac17809f827a522ce32355058d07369364aa78902ee10139b9f9dd653", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "fcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f", - "valid" - }, - { - "b3b50e3ed3a407b95de942ef74575b5ab8a10c09ee103544d60bdfed8138ab2b", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "f9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f", - "acceptable" - }, - { - "213fffe93d5ea8cd242e462844029922c43c77c9e3e42f562f485d24c501a20b", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f", - "valid" - }, - { - "91b232a178b3cd530932441e6139418f72172292f1da4c1834fc5ebfefb51e3f", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03", - "valid" - }, - { - "045c6e11c5d332556c7822fe94ebf89b56a3878dc27ca079103058849fabcb4f", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "e5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "acceptable" - }, - { - "1ca2190b71163539063c35773bda0c9c928e9136f0620aeb093f099197b7f74e", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "e3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "acceptable" - }, - { - "f76e9010ac33c5043b2d3b76a842171000c4916222e9e85897a0aec7f6350b3c", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "ddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "valid" - }, - { - "bb72688d8f8aa7a39cd6060cd5c8093cdec6fe341937c3886a99346cd07faa55", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f", - "acceptable" - }, - { - "88fddea193391c6a5933ef9b71901549447205aae9da928a6b91a352ba10f41f", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "0000000000000000000000000000000000000000000000000000000000000002", - "acceptable" - }, - { - "303b392f153116cad9cc682a00ccc44c95ff0d3bbe568beb6c4e739bafdc2c68", - "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63", - "0000000000000000000000000000000000000000000000000000000000008000", - "acceptable" - }, - { - "fd300aeb40e1fa582518412b49b208a7842b1e1f056a040178ea4141534f652d", - "c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2", - "b734105dc257585d73b566ccb76f062795ccbec89128e52b02f3e59639f13c46", - "valid" - }, - { - "c8ef79b514d7682677bc7931e06ee5c27c9b392b4ae9484473f554e6678ecc2e", - "c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2", - "647a46b6fc3f40d62141ee3cee706b4d7a9271593a7b143e8e2e2279883e4550", - "valid" - }, - { - "64aeac2504144861532b7bbcb6c87d67dd4c1f07ebc2e06effb95aecc6170b2c", - "c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2", - "4ff03d5fb43cd8657a3cf37c138cadcecce509e4eba089d0ef40b4e4fb946155", - "valid" - }, - { - "bf68e35e9bdb7eee1b50570221860f5dcdad8acbab031b14974cc49013c49831", - "c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2", - "21cee52efdbc812e1d021a4af1e1d8bc4db3c400e4d2a2c56a3926db4d99c65b", - "valid" - }, - { - "5347c491331a64b43ddc683034e677f53dc32b52a52a577c15a83bf298e99f19", - "c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2", - "18cb89e4e20c0c2bd324305245266c9327690bbe79acb88f5b8fb3f74eca3e52", - "valid" - }, - { - "258e04523b8d253ee65719fc6906c657192d80717edc828fa0af21686e2faa75", - "a023cdd083ef5bb82f10d62e59e15a6800000000000000000000000000000050", - "258e04523b8d253ee65719fc6906c657192d80717edc828fa0af21686e2faa75", - "valid" - }, - { - "2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035", - "58083dd261ad91eff952322ec824c682ffffffffffffffffffffffffffffff5f", - "2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035", - "acceptable" - } -}; - -int -main(void) -{ - unsigned char sk[crypto_scalarmult_SCALARBYTES]; - unsigned char pk[crypto_scalarmult_BYTES]; - unsigned char shared[crypto_scalarmult_BYTES]; - unsigned char shared2[crypto_scalarmult_BYTES]; - unsigned int i; - int res; - - for (i = 0U; i < (sizeof test_data) / (sizeof test_data[0]); i++) { - sodium_hex2bin(sk, crypto_scalarmult_SCALARBYTES, test_data[i].sk_hex, - crypto_scalarmult_SCALARBYTES * 2, NULL, NULL, NULL); - sodium_hex2bin(pk, crypto_scalarmult_BYTES, test_data[i].pk_hex, - crypto_scalarmult_BYTES * 2, NULL, NULL, NULL); - sodium_hex2bin(shared, crypto_scalarmult_BYTES, test_data[i].shared_hex, - crypto_scalarmult_BYTES * 2, NULL, NULL, NULL); - randombytes_buf(shared2, crypto_scalarmult_BYTES); - res = crypto_scalarmult(shared2, sk, pk); - if (res == 0) { - if (strcmp(test_data[i].outcome, "acceptable") == 0) { - printf("test case %u succeeded (%s)\n", i, - test_data[i].outcome); - } else if (strcmp(test_data[i].outcome, "valid") != 0) { - printf("*** test case %u succeeded, was supposed to be %s\n", i, - test_data[i].outcome); - } - if (memcmp(shared, shared2, crypto_scalarmult_BYTES) != 0) { - printf("*** test case %u succeeded, but shared key is not %s\n", - i, test_data[i].outcome); - } - } else { - if (strcmp(test_data[i].outcome, "acceptable") == 0) { - printf("test case %u failed (%s)\n", i, test_data[i].outcome); - } else if (strcmp(test_data[i].outcome, "valid") == 0) { - printf("*** test case %u failed, was supposed to be %s\n", i, - test_data[i].outcome); - } - } - } - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult8.exp b/libsodium-1.0.18-RELEASE/test/default/scalarmult8.exp deleted file mode 100644 index 320ff64..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult8.exp +++ /dev/null @@ -1,65 +0,0 @@ -test case 2 succeeded (acceptable) -test case 3 succeeded (acceptable) -test case 4 succeeded (acceptable) -test case 5 succeeded (acceptable) -test case 6 succeeded (acceptable) -test case 7 failed (acceptable) -test case 8 failed (acceptable) -test case 9 succeeded (acceptable) -test case 10 succeeded (acceptable) -test case 11 succeeded (acceptable) -test case 12 succeeded (acceptable) -test case 13 succeeded (acceptable) -test case 14 succeeded (acceptable) -test case 22 failed (acceptable) -test case 23 failed (acceptable) -test case 24 failed (acceptable) -test case 25 failed (acceptable) -test case 26 failed (acceptable) -test case 27 failed (acceptable) -test case 28 failed (acceptable) -test case 29 failed (acceptable) -test case 30 failed (acceptable) -test case 31 failed (acceptable) -test case 32 failed (acceptable) -test case 33 failed (acceptable) -test case 34 failed (acceptable) -test case 35 failed (acceptable) -test case 36 failed (acceptable) -test case 37 failed (acceptable) -test case 38 failed (acceptable) -test case 39 failed (acceptable) -test case 40 failed (acceptable) -test case 41 failed (acceptable) -test case 42 failed (acceptable) -test case 43 failed (acceptable) -test case 44 failed (acceptable) -test case 45 failed (acceptable) -test case 46 failed (acceptable) -test case 47 failed (acceptable) -test case 48 succeeded (acceptable) -test case 49 succeeded (acceptable) -test case 50 succeeded (acceptable) -test case 51 succeeded (acceptable) -test case 52 succeeded (acceptable) -test case 53 succeeded (acceptable) -test case 54 succeeded (acceptable) -test case 55 succeeded (acceptable) -test case 56 succeeded (acceptable) -test case 57 succeeded (acceptable) -test case 58 succeeded (acceptable) -test case 59 succeeded (acceptable) -test case 60 succeeded (acceptable) -test case 61 succeeded (acceptable) -test case 62 succeeded (acceptable) -test case 63 succeeded (acceptable) -test case 66 succeeded (acceptable) -test case 69 succeeded (acceptable) -test case 71 succeeded (acceptable) -test case 74 succeeded (acceptable) -test case 75 succeeded (acceptable) -test case 77 succeeded (acceptable) -test case 78 succeeded (acceptable) -test case 79 succeeded (acceptable) -test case 86 succeeded (acceptable) -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult_ed25519.c b/libsodium-1.0.18-RELEASE/test/default/scalarmult_ed25519.c deleted file mode 100644 index 795647b..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult_ed25519.c +++ /dev/null @@ -1,134 +0,0 @@ -#define TEST_NAME "scalarmult_ed25519" -#include "cmptest.h" - -static const unsigned char non_canonical_p[32] = { - 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f -}; -static const unsigned char non_canonical_invalid_p[32] = { - 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f -}; -static const unsigned char max_canonical_p[32] = { - 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f -}; - -static const unsigned char B[32] = { - 0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, - 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66 -}; - -int -main(void) -{ - unsigned char *n, *p, *q, *q2; - - n = (unsigned char *) sodium_malloc(crypto_scalarmult_ed25519_SCALARBYTES); - p = (unsigned char *) sodium_malloc(crypto_scalarmult_ed25519_BYTES); - q = (unsigned char *) sodium_malloc(crypto_scalarmult_ed25519_BYTES); - q2 = (unsigned char *) sodium_malloc(crypto_scalarmult_ed25519_BYTES); - - randombytes_buf(n, crypto_scalarmult_ed25519_SCALARBYTES); - if (crypto_scalarmult_ed25519_base(q, n) != 0) { - printf("crypto_scalarmult_ed25519_base() failed\n"); - } - memcpy(p, B, crypto_scalarmult_ed25519_BYTES); - if (crypto_scalarmult_ed25519(q2, n, p) != 0) { - printf("crypto_scalarmult_ed25519() failed\n"); - } - if (memcmp(q, q2, crypto_scalarmult_ed25519_BYTES) != 0) { - printf("crypto_scalarmult_ed25519_base(n) != crypto_scalarmult_ed25519(n, 9)\n"); - } - - memset(n, 0, crypto_scalarmult_ed25519_SCALARBYTES); - if (crypto_scalarmult_ed25519_base(q, n) != -1) { - printf("crypto_scalarmult_ed25519_base(0) passed\n"); - } - if (crypto_scalarmult_ed25519(q2, n, p) != -1) { - printf("crypto_scalarmult_ed25519(0) passed\n"); - } - if (crypto_scalarmult_ed25519_noclamp(q2, n, p) != -1) { - printf("crypto_scalarmult_ed25519_noclamp(0) passed\n"); - } - - n[0] = 1; - if (crypto_scalarmult_ed25519_base(q, n) != 0) { - printf("crypto_scalarmult_ed25519_base() failed\n"); - } - if (crypto_scalarmult_ed25519(q2, n, p) != 0) { - printf("crypto_scalarmult_ed25519() failed\n"); - } - if (crypto_scalarmult_ed25519_noclamp(q2, n, p) != 0) { - printf("crypto_scalarmult_ed25519_noclamp() failed\n"); - } - - if (crypto_scalarmult_ed25519(q, n, non_canonical_p) != -1) { - printf("crypto_scalarmult_ed25519() didn't fail\n"); - } - if (crypto_scalarmult_ed25519(q, n, non_canonical_invalid_p) != -1) { - printf("crypto_scalarmult_ed25519() didn't fail\n"); - } - if (crypto_scalarmult_ed25519(q, n, max_canonical_p) != 0) { - printf("crypto_scalarmult_ed25519() failed\n"); - } - - n[0] = 9; - if (crypto_scalarmult_ed25519(q, n, p) != 0) { - printf("crypto_scalarmult_ed25519() failed\n"); - } - if (crypto_scalarmult_ed25519_noclamp(q2, n, p) != 0) { - printf("crypto_scalarmult_ed25519_noclamp() failed\n"); - } - if (memcmp(q, q2, crypto_scalarmult_ed25519_BYTES) == 0) { - printf("clamping not applied\n"); - } - - n[0] = 9; - if (crypto_scalarmult_ed25519_base(q, n) != 0) { - printf("crypto_scalarmult_ed25519_base() failed\n"); - } - if (crypto_scalarmult_ed25519_base_noclamp(q2, n) != 0) { - printf("crypto_scalarmult_ed25519_base_noclamp() failed\n"); - } - if (memcmp(q, q2, crypto_scalarmult_ed25519_BYTES) == 0) { - printf("clamping not applied\n"); - } - - n[0] = 8; - n[31] = 64; - if (crypto_scalarmult_ed25519_noclamp(q2, n, p) != 0) { - printf("crypto_scalarmult_ed25519_noclamp() failed\n"); - } - if (memcmp(q, q2, crypto_scalarmult_ed25519_BYTES) != 0) { - printf("inconsistent clamping\n"); - } - - memset(p, 0, crypto_scalarmult_ed25519_BYTES); - if (crypto_scalarmult_ed25519(q, n, p) != -1) { - printf("crypto_scalarmult_ed25519() didn't fail\n"); - } - if (crypto_scalarmult_ed25519_noclamp(q, n, p) != -1) { - printf("crypto_scalarmult_ed25519_noclamp() didn't fail\n"); - } - - n[0] = 8; - if (crypto_scalarmult_ed25519(q, n, p) != -1) { - printf("crypto_scalarmult_ed25519() didn't fail\n"); - } - if (crypto_scalarmult_ed25519_noclamp(q, n, p) != -1) { - printf("crypto_scalarmult_ed25519_noclamp() didn't fail\n"); - } - - sodium_free(q2); - sodium_free(q); - sodium_free(p); - sodium_free(n); - - assert(crypto_scalarmult_ed25519_BYTES == crypto_scalarmult_ed25519_bytes()); - assert(crypto_scalarmult_ed25519_SCALARBYTES == crypto_scalarmult_ed25519_scalarbytes()); - - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult_ed25519.exp b/libsodium-1.0.18-RELEASE/test/default/scalarmult_ed25519.exp deleted file mode 100644 index d86bac9..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult_ed25519.exp +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult_ristretto255.c b/libsodium-1.0.18-RELEASE/test/default/scalarmult_ristretto255.c deleted file mode 100644 index 1acd121..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult_ristretto255.c +++ /dev/null @@ -1,51 +0,0 @@ -#define TEST_NAME "scalarmult_ristretto255" -#include "cmptest.h" - -#define B_HEX "e2f2ae0a6abc4e71a884a961c500515f58e30b6aa582dd8db6a65945e08d2d76" - -int -main(void) -{ - unsigned char *b = - (unsigned char *) sodium_malloc(crypto_scalarmult_ristretto255_BYTES); - unsigned char *n = - (unsigned char *) sodium_malloc(crypto_scalarmult_ristretto255_SCALARBYTES); - unsigned char *p = - (unsigned char *) sodium_malloc(crypto_scalarmult_ristretto255_BYTES); - unsigned char *p2 = - (unsigned char *) sodium_malloc(crypto_scalarmult_ristretto255_BYTES); - char *hex = - (char *) sodium_malloc(2 * crypto_scalarmult_ristretto255_BYTES + 1); - int i; - - sodium_hex2bin(b, crypto_scalarmult_ristretto255_BYTES, - B_HEX, sizeof B_HEX - (size_t) 1U, NULL, NULL, NULL); - memset(n, 0, crypto_scalarmult_ristretto255_SCALARBYTES); - for (i = 0; i < 16; i++) { - crypto_scalarmult_ristretto255_base(p, n); - if (crypto_scalarmult_ristretto255(p2, n, b) != 0) { - printf("crypto_scalarmult_ristretto255(%d) != 0\n", i); - } - sodium_bin2hex(hex, 2 * crypto_scalarmult_ristretto255_BYTES + 1, - p, crypto_scalarmult_ristretto255_BYTES); - printf("%s\n", hex); - assert(memcmp(p, p2, crypto_scalarmult_ristretto255_BYTES) == 0); - sodium_increment(n, crypto_scalarmult_ristretto255_SCALARBYTES); - } - - memset(p, 0xfe, crypto_scalarmult_ristretto255_BYTES); - assert(crypto_scalarmult_ristretto255(guard_page, n, p) == -1); - - sodium_free(hex); - sodium_free(p2); - sodium_free(p); - sodium_free(n); - sodium_free(b); - - assert(crypto_scalarmult_ristretto255_BYTES == crypto_scalarmult_ristretto255_bytes()); - assert(crypto_scalarmult_ristretto255_SCALARBYTES == crypto_scalarmult_ristretto255_scalarbytes()); - - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/scalarmult_ristretto255.exp b/libsodium-1.0.18-RELEASE/test/default/scalarmult_ristretto255.exp deleted file mode 100644 index 919a762..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/scalarmult_ristretto255.exp +++ /dev/null @@ -1,18 +0,0 @@ -crypto_scalarmult_ristretto255(0) != 0 -0000000000000000000000000000000000000000000000000000000000000000 -e2f2ae0a6abc4e71a884a961c500515f58e30b6aa582dd8db6a65945e08d2d76 -6a493210f7499cd17fecb510ae0cea23a110e8d5b901f8acadd3095c73a3b919 -94741f5d5d52755ece4f23f044ee27d5d1ea1e2bd196b462166b16152a9d0259 -da80862773358b466ffadfe0b3293ab3d9fd53c5ea6c955358f568322daf6a57 -e882b131016b52c1d3337080187cf768423efccbb517bb495ab812c4160ff44e -f64746d3c92b13050ed8d80236a7f0007c3b3f962f5ba793d19a601ebb1df403 -44f53520926ec81fbd5a387845beb7df85a96a24ece18738bdcfa6a7822a176d -903293d8f2287ebe10e2374dc1a53e0bc887e592699f02d077d5263cdd55601c -02622ace8f7303a31cafc63f8fc48fdc16e1c8c8d234b2f0d6685282a9076031 -20706fd788b2720a1ed2a5dad4952b01f413bcf0e7564de8cdc816689e2db95f -bce83f8ba5dd2fa572864c24ba1810f9522bc6004afe95877ac73241cafdab42 -e4549ee16b9aa03099ca208c67adafcafa4c3f3e4e5303de6026e3ca8ff84460 -aa52e000df2e16f55fb1032fc33bc42742dad6bd5a8fc0be0167436c5948501f -46376b80f409b29dc2b5f6f0c52591990896e5716f41477cd30085ab7f10301e -e0c418f7c8d9c4cdd7395b93ea124f3ad99021bb681dfc3302a9d99a2e53e64e -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox.c b/libsodium-1.0.18-RELEASE/test/default/secretbox.c deleted file mode 100644 index df1d62f..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretbox.c +++ /dev/null @@ -1,84 +0,0 @@ - -#define TEST_NAME "secretbox" -#include "cmptest.h" - -static unsigned char firstkey[32] = { 0x1b, 0x27, 0x55, 0x64, 0x73, 0xe9, 0x85, - 0xd4, 0x62, 0xcd, 0x51, 0x19, 0x7a, 0x9a, - 0x46, 0xc7, 0x60, 0x09, 0x54, 0x9e, 0xac, - 0x64, 0x74, 0xf2, 0x06, 0xc4, 0xee, 0x08, - 0x44, 0xf6, 0x83, 0x89 }; - -static unsigned char nonce[24] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, - 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8, - 0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19, - 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 }; - -/* API requires first 32 bytes to be 0 */ -static unsigned char m[163] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0xbe, 0x07, 0x5f, 0xc5, - 0x3c, 0x81, 0xf2, 0xd5, 0xcf, 0x14, 0x13, 0x16, 0xeb, 0xeb, 0x0c, 0x7b, - 0x52, 0x28, 0xc5, 0x2a, 0x4c, 0x62, 0xcb, 0xd4, 0x4b, 0x66, 0x84, 0x9b, - 0x64, 0x24, 0x4f, 0xfc, 0xe5, 0xec, 0xba, 0xaf, 0x33, 0xbd, 0x75, 0x1a, - 0x1a, 0xc7, 0x28, 0xd4, 0x5e, 0x6c, 0x61, 0x29, 0x6c, 0xdc, 0x3c, 0x01, - 0x23, 0x35, 0x61, 0xf4, 0x1d, 0xb6, 0x6c, 0xce, 0x31, 0x4a, 0xdb, 0x31, - 0x0e, 0x3b, 0xe8, 0x25, 0x0c, 0x46, 0xf0, 0x6d, 0xce, 0xea, 0x3a, 0x7f, - 0xa1, 0x34, 0x80, 0x57, 0xe2, 0xf6, 0x55, 0x6a, 0xd6, 0xb1, 0x31, 0x8a, - 0x02, 0x4a, 0x83, 0x8f, 0x21, 0xaf, 0x1f, 0xde, 0x04, 0x89, 0x77, 0xeb, - 0x48, 0xf5, 0x9f, 0xfd, 0x49, 0x24, 0xca, 0x1c, 0x60, 0x90, 0x2e, 0x52, - 0xf0, 0xa0, 0x89, 0xbc, 0x76, 0x89, 0x70, 0x40, 0xe0, 0x82, 0xf9, 0x37, - 0x76, 0x38, 0x48, 0x64, 0x5e, 0x07, 0x05 -}; - -static unsigned char c[163]; - -int -main(void) -{ - int i; - - crypto_secretbox(c, m, 163, nonce, firstkey); - for (i = 16; i < 163; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) - printf("\n"); - } - printf("\n"); - - memcpy(c, m, 163); - crypto_secretbox(c, c, 163, nonce, firstkey); - for (i = 16; i < 163; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) - printf("\n"); - } - printf("\n"); - - assert(crypto_secretbox(c, c, 31, nonce, firstkey) == -1); - assert(crypto_secretbox(c, c, 12, nonce, firstkey) == -1); - assert(crypto_secretbox(c, c, 1, nonce, firstkey) == -1); - assert(crypto_secretbox(c, c, 0, nonce, firstkey) == -1); - - assert(crypto_secretbox_keybytes() > 0U); - assert(crypto_secretbox_noncebytes() > 0U); - assert(crypto_secretbox_zerobytes() > 0U); - assert(crypto_secretbox_boxzerobytes() > 0U); - assert(crypto_secretbox_macbytes() > 0U); - assert(crypto_secretbox_messagebytes_max() > 0U); - assert(strcmp(crypto_secretbox_primitive(), "xsalsa20poly1305") == 0); - assert(crypto_secretbox_keybytes() == - crypto_secretbox_xsalsa20poly1305_keybytes()); - assert(crypto_secretbox_noncebytes() == - crypto_secretbox_xsalsa20poly1305_noncebytes()); - assert(crypto_secretbox_zerobytes() == - crypto_secretbox_xsalsa20poly1305_zerobytes()); - assert(crypto_secretbox_boxzerobytes() == - crypto_secretbox_xsalsa20poly1305_boxzerobytes()); - assert(crypto_secretbox_macbytes() == - crypto_secretbox_xsalsa20poly1305_macbytes()); - assert(crypto_secretbox_messagebytes_max() == - crypto_secretbox_xsalsa20poly1305_messagebytes_max()); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox.exp b/libsodium-1.0.18-RELEASE/test/default/secretbox.exp deleted file mode 100644 index 25db669..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretbox.exp +++ /dev/null @@ -1,38 +0,0 @@ -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5 -,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9 -,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73 -,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce -,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4 -,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a -,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b -,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72 -,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2 -,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38 -,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a -,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae -,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea -,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda -,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde -,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3 -,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6 -,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74 -,0xe3,0x55,0xa5 -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5 -,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9 -,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73 -,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce -,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4 -,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a -,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b -,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72 -,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2 -,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38 -,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a -,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae -,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea -,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda -,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde -,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3 -,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6 -,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74 -,0xe3,0x55,0xa5 diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox2.c b/libsodium-1.0.18-RELEASE/test/default/secretbox2.c deleted file mode 100644 index e6320b7..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretbox2.c +++ /dev/null @@ -1,55 +0,0 @@ - -#define TEST_NAME "secretbox2" -#include "cmptest.h" - -static unsigned char firstkey[32] = { 0x1b, 0x27, 0x55, 0x64, 0x73, 0xe9, 0x85, - 0xd4, 0x62, 0xcd, 0x51, 0x19, 0x7a, 0x9a, - 0x46, 0xc7, 0x60, 0x09, 0x54, 0x9e, 0xac, - 0x64, 0x74, 0xf2, 0x06, 0xc4, 0xee, 0x08, - 0x44, 0xf6, 0x83, 0x89 }; - -static unsigned char nonce[24] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, - 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8, - 0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19, - 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 }; - -/* API requires first 16 bytes to be 0 */ -static unsigned char c[163] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0xf3, 0xff, 0xc7, 0x70, 0x3f, 0x94, 0x00, 0xe5, - 0x2a, 0x7d, 0xfb, 0x4b, 0x3d, 0x33, 0x05, 0xd9, 0x8e, 0x99, 0x3b, 0x9f, - 0x48, 0x68, 0x12, 0x73, 0xc2, 0x96, 0x50, 0xba, 0x32, 0xfc, 0x76, 0xce, - 0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4, 0x47, 0x6f, 0xb8, 0xc5, - 0x31, 0xa1, 0x18, 0x6a, 0xc0, 0xdf, 0xc1, 0x7c, 0x98, 0xdc, 0xe8, 0x7b, - 0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72, 0x71, 0xd2, 0xc2, 0x0f, - 0x9b, 0x92, 0x8f, 0xe2, 0x27, 0x0d, 0x6f, 0xb8, 0x63, 0xd5, 0x17, 0x38, - 0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a, 0xb9, 0x32, 0x16, 0x45, - 0x48, 0xe5, 0x26, 0xae, 0x90, 0x22, 0x43, 0x68, 0x51, 0x7a, 0xcf, 0xea, - 0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda, 0x99, 0x83, 0x2b, 0x61, - 0xca, 0x01, 0xb6, 0xde, 0x56, 0x24, 0x4a, 0x9e, 0x88, 0xd5, 0xf9, 0xb3, - 0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6, 0x59, 0x9b, 0x1f, 0x65, - 0x4c, 0xb4, 0x5a, 0x74, 0xe3, 0x55, 0xa5 -}; - -static unsigned char m[163]; - -int -main(void) -{ - int i; - - if (crypto_secretbox_open(m, c, 163, nonce, firstkey) == 0) { - for (i = 32; i < 163; ++i) { - printf(",0x%02x", (unsigned int) m[i]); - if (i % 8 == 7) - printf("\n"); - } - printf("\n"); - } - assert(crypto_secretbox_open(m, c, 31, nonce, firstkey) == -1); - assert(crypto_secretbox_open(m, c, 16, nonce, firstkey) == -1); - assert(crypto_secretbox_open(m, c, 1, nonce, firstkey) == -1); - assert(crypto_secretbox_open(m, c, 0, nonce, firstkey) == -1); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox2.exp b/libsodium-1.0.18-RELEASE/test/default/secretbox2.exp deleted file mode 100644 index c61d455..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretbox2.exp +++ /dev/null @@ -1,17 +0,0 @@ -,0xbe,0x07,0x5f,0xc5,0x3c,0x81,0xf2,0xd5 -,0xcf,0x14,0x13,0x16,0xeb,0xeb,0x0c,0x7b -,0x52,0x28,0xc5,0x2a,0x4c,0x62,0xcb,0xd4 -,0x4b,0x66,0x84,0x9b,0x64,0x24,0x4f,0xfc -,0xe5,0xec,0xba,0xaf,0x33,0xbd,0x75,0x1a -,0x1a,0xc7,0x28,0xd4,0x5e,0x6c,0x61,0x29 -,0x6c,0xdc,0x3c,0x01,0x23,0x35,0x61,0xf4 -,0x1d,0xb6,0x6c,0xce,0x31,0x4a,0xdb,0x31 -,0x0e,0x3b,0xe8,0x25,0x0c,0x46,0xf0,0x6d -,0xce,0xea,0x3a,0x7f,0xa1,0x34,0x80,0x57 -,0xe2,0xf6,0x55,0x6a,0xd6,0xb1,0x31,0x8a -,0x02,0x4a,0x83,0x8f,0x21,0xaf,0x1f,0xde -,0x04,0x89,0x77,0xeb,0x48,0xf5,0x9f,0xfd -,0x49,0x24,0xca,0x1c,0x60,0x90,0x2e,0x52 -,0xf0,0xa0,0x89,0xbc,0x76,0x89,0x70,0x40 -,0xe0,0x82,0xf9,0x37,0x76,0x38,0x48,0x64 -,0x5e,0x07,0x05 diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox7.c b/libsodium-1.0.18-RELEASE/test/default/secretbox7.c deleted file mode 100644 index 389943d..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretbox7.c +++ /dev/null @@ -1,36 +0,0 @@ - -#define TEST_NAME "secretbox7" -#include "cmptest.h" - -static unsigned char k[crypto_secretbox_KEYBYTES]; -static unsigned char n[crypto_secretbox_NONCEBYTES]; -static unsigned char m[10000]; -static unsigned char c[10000]; -static unsigned char m2[10000]; - -int -main(void) -{ - size_t mlen; - size_t i; - - for (mlen = 0; mlen < 1000 && mlen + crypto_secretbox_ZEROBYTES < sizeof m; - ++mlen) { - crypto_secretbox_keygen(k); - randombytes_buf(n, crypto_secretbox_NONCEBYTES); - randombytes_buf(m + crypto_secretbox_ZEROBYTES, mlen); - crypto_secretbox(c, m, mlen + crypto_secretbox_ZEROBYTES, n, k); - if (crypto_secretbox_open(m2, c, mlen + crypto_secretbox_ZEROBYTES, n, - k) == 0) { - for (i = 0; i < mlen + crypto_secretbox_ZEROBYTES; ++i) { - if (m2[i] != m[i]) { - printf("bad decryption\n"); - break; - } - } - } else { - printf("ciphertext fails verification\n"); - } - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox7.exp b/libsodium-1.0.18-RELEASE/test/default/secretbox7.exp deleted file mode 100644 index e69de29..0000000 diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox8.c b/libsodium-1.0.18-RELEASE/test/default/secretbox8.c deleted file mode 100644 index acba5f0..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretbox8.c +++ /dev/null @@ -1,41 +0,0 @@ - -#define TEST_NAME "secretbox8" -#include "cmptest.h" - -static unsigned char k[crypto_secretbox_KEYBYTES]; -static unsigned char n[crypto_secretbox_NONCEBYTES]; -static unsigned char m[10000]; -static unsigned char c[10000]; -static unsigned char m2[10000]; - -int -main(void) -{ - size_t mlen; - size_t i; - int caught; - - for (mlen = 0; mlen < 1000 && mlen + crypto_secretbox_ZEROBYTES < sizeof m; - ++mlen) { - crypto_secretbox_keygen(k); - randombytes_buf(n, crypto_secretbox_NONCEBYTES); - randombytes_buf(m + crypto_secretbox_ZEROBYTES, mlen); - crypto_secretbox(c, m, mlen + crypto_secretbox_ZEROBYTES, n, k); - caught = 0; - while (caught < 10) { - c[rand() % (mlen + crypto_secretbox_ZEROBYTES)] = rand(); - if (crypto_secretbox_open(m2, c, mlen + crypto_secretbox_ZEROBYTES, - n, k) == 0) { - for (i = 0; i < mlen + crypto_secretbox_ZEROBYTES; ++i) { - if (m2[i] != m[i]) { - printf("forgery\n"); - return 100; - } - } - } else { - ++caught; - } - } - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox8.exp b/libsodium-1.0.18-RELEASE/test/default/secretbox8.exp deleted file mode 100644 index e69de29..0000000 diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox_easy.c b/libsodium-1.0.18-RELEASE/test/default/secretbox_easy.c deleted file mode 100644 index 4542bbd..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretbox_easy.c +++ /dev/null @@ -1,124 +0,0 @@ - -#define TEST_NAME "secretbox_easy" -#include "cmptest.h" - -static unsigned char firstkey[32] = { 0x1b, 0x27, 0x55, 0x64, 0x73, 0xe9, 0x85, - 0xd4, 0x62, 0xcd, 0x51, 0x19, 0x7a, 0x9a, - 0x46, 0xc7, 0x60, 0x09, 0x54, 0x9e, 0xac, - 0x64, 0x74, 0xf2, 0x06, 0xc4, 0xee, 0x08, - 0x44, 0xf6, 0x83, 0x89 }; - -static unsigned char nonce[24] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, - 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8, - 0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19, - 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 }; - -static unsigned char m[131] = { - 0xbe, 0x07, 0x5f, 0xc5, 0x3c, 0x81, 0xf2, 0xd5, 0xcf, 0x14, 0x13, 0x16, - 0xeb, 0xeb, 0x0c, 0x7b, 0x52, 0x28, 0xc5, 0x2a, 0x4c, 0x62, 0xcb, 0xd4, - 0x4b, 0x66, 0x84, 0x9b, 0x64, 0x24, 0x4f, 0xfc, 0xe5, 0xec, 0xba, 0xaf, - 0x33, 0xbd, 0x75, 0x1a, 0x1a, 0xc7, 0x28, 0xd4, 0x5e, 0x6c, 0x61, 0x29, - 0x6c, 0xdc, 0x3c, 0x01, 0x23, 0x35, 0x61, 0xf4, 0x1d, 0xb6, 0x6c, 0xce, - 0x31, 0x4a, 0xdb, 0x31, 0x0e, 0x3b, 0xe8, 0x25, 0x0c, 0x46, 0xf0, 0x6d, - 0xce, 0xea, 0x3a, 0x7f, 0xa1, 0x34, 0x80, 0x57, 0xe2, 0xf6, 0x55, 0x6a, - 0xd6, 0xb1, 0x31, 0x8a, 0x02, 0x4a, 0x83, 0x8f, 0x21, 0xaf, 0x1f, 0xde, - 0x04, 0x89, 0x77, 0xeb, 0x48, 0xf5, 0x9f, 0xfd, 0x49, 0x24, 0xca, 0x1c, - 0x60, 0x90, 0x2e, 0x52, 0xf0, 0xa0, 0x89, 0xbc, 0x76, 0x89, 0x70, 0x40, - 0xe0, 0x82, 0xf9, 0x37, 0x76, 0x38, 0x48, 0x64, 0x5e, 0x07, 0x05 -}; - -int -main(void) -{ - unsigned char *c; - unsigned char *mac; - size_t i; - - c = (unsigned char *) sodium_malloc(131 + crypto_secretbox_MACBYTES + 1); - mac = (unsigned char *) sodium_malloc(crypto_secretbox_MACBYTES); - assert(c != NULL && mac != NULL); - - crypto_secretbox_easy(c, m, 131, nonce, firstkey); - for (i = 0; i < 131 + crypto_secretbox_MACBYTES; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - - crypto_secretbox_detached(c, mac, m, 131, nonce, firstkey); - for (i = 0; i < crypto_secretbox_MACBYTES; ++i) { - printf(",0x%02x", (unsigned int) mac[i]); - } - for (i = 0; i < 131; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - - /* Same test, with c and m overlapping */ - - memcpy(c + 1, m, 131); - crypto_secretbox_easy(c, c + 1, 131, nonce, firstkey); - for (i = 0; i < 131 + crypto_secretbox_MACBYTES; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - - memcpy(c, m, 131); - crypto_secretbox_easy(c + 1, c, 131, nonce, firstkey); - for (i = 0; i < 131 + crypto_secretbox_MACBYTES; ++i) { - printf(",0x%02x", (unsigned int) c[i + 1]); - } - printf("\n"); - - memcpy(c, m, 131); - crypto_secretbox_easy(c, c, 131, nonce, firstkey); - for (i = 0; i < 131 + crypto_secretbox_MACBYTES; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - - assert(crypto_secretbox_easy(c, m, 0, nonce, firstkey) == 0); - - /* Null message */ - - crypto_secretbox_easy(c, c, 0, nonce, firstkey); - for (i = 0; i < crypto_secretbox_MACBYTES + 1; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - if (crypto_secretbox_open_easy(c, c, crypto_secretbox_MACBYTES, nonce, - firstkey) != 0) { - printf("Null crypto_secretbox_open_easy() failed\n"); - } - for (i = 0; i < crypto_secretbox_MACBYTES + 1; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - c[randombytes_uniform(crypto_secretbox_MACBYTES)]++; - if (crypto_secretbox_open_easy(c, c, crypto_secretbox_MACBYTES, nonce, - firstkey) != -1) { - printf("Null tampered crypto_secretbox_open_easy() failed\n"); - } - - /* No overlap, but buffers are next to each other */ - - memset(c, 0, 131 + crypto_secretbox_MACBYTES + 1); - memcpy(c, m, 20); - crypto_secretbox_easy(c, c + 10, 10, nonce, firstkey); - for (i = 0; i < 10 + crypto_secretbox_MACBYTES; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - - memset(c, 0, 131 + crypto_secretbox_MACBYTES + 1); - memcpy(c, m, 20); - crypto_secretbox_easy(c + 10, c, 10, nonce, firstkey); - for (i = 0; i < 10 + crypto_secretbox_MACBYTES; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - } - printf("\n"); - - sodium_free(mac); - sodium_free(c); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox_easy.exp b/libsodium-1.0.18-RELEASE/test/default/secretbox_easy.exp deleted file mode 100644 index 3cffae8..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretbox_easy.exp +++ /dev/null @@ -1,9 +0,0 @@ -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74,0xe3,0x55,0xa5 -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74,0xe3,0x55,0xa5 -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74,0xe3,0x55,0xa5 -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74,0xe3,0x55,0xa5 -,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74,0xe3,0x55,0xa5 -,0x25,0x39,0x12,0x1d,0x8e,0x23,0x4e,0x65,0x2d,0x65,0x1f,0xa4,0xc8,0xcf,0xf8,0x80,0x8e -,0x25,0x39,0x12,0x1d,0x8e,0x23,0x4e,0x65,0x2d,0x65,0x1f,0xa4,0xc8,0xcf,0xf8,0x80,0x8e -,0x8c,0xf3,0x90,0x57,0xc9,0xbc,0xf2,0xba,0x98,0x87,0xfb,0x15,0x9f,0x21,0x0c,0xd8,0x23,0x88,0x8f,0xb1,0x78,0x92,0xb2,0x8e,0xc8,0xa8 -,0xbe,0x07,0x5f,0xc5,0x3c,0x81,0xf2,0xd5,0xcf,0x14,0xd2,0xe8,0xe8,0x1a,0xac,0xd2,0xba,0x1b,0xaa,0x60,0x99,0xe3,0xd9,0x63,0x56,0x18 diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox_easy2.c b/libsodium-1.0.18-RELEASE/test/default/secretbox_easy2.c deleted file mode 100644 index 7cacbd7..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretbox_easy2.c +++ /dev/null @@ -1,72 +0,0 @@ - -#define TEST_NAME "secretbox_easy2" -#include "cmptest.h" - -int -main(void) -{ - unsigned char *m; - unsigned char *m2; - unsigned char *c; - unsigned char *nonce; - unsigned char *k; - unsigned char *mac; - size_t mlen; - size_t i; - - mlen = (size_t) randombytes_uniform((uint32_t) 10000) + 1U; - m = (unsigned char *) sodium_malloc(mlen); - m2 = (unsigned char *) sodium_malloc(mlen); - c = (unsigned char *) sodium_malloc(crypto_secretbox_MACBYTES + mlen); - nonce = (unsigned char *) sodium_malloc(crypto_secretbox_NONCEBYTES); - k = (unsigned char *) sodium_malloc(crypto_secretbox_KEYBYTES); - mac = (unsigned char *) sodium_malloc(crypto_secretbox_MACBYTES); - crypto_secretbox_keygen(k); - randombytes_buf(m, mlen); - randombytes_buf(nonce, crypto_secretbox_NONCEBYTES); - crypto_secretbox_easy(c, m, (unsigned long long) mlen, nonce, k); - if (crypto_secretbox_open_easy( - m2, c, (unsigned long long) mlen + crypto_secretbox_MACBYTES, nonce, - k) != 0) { - printf("crypto_secretbox_open_easy() failed\n"); - } - printf("%d\n", memcmp(m, m2, mlen)); - - for (i = 0; i < mlen + crypto_secretbox_MACBYTES - 1; i++) { - if (crypto_secretbox_open_easy(m2, c, (unsigned long long) i, nonce, - k) == 0) { - printf("short open() should have failed\n"); - return 1; - } - } - crypto_secretbox_detached(c, mac, m, (unsigned long long) mlen, nonce, k); - if (crypto_secretbox_open_detached(NULL, c, mac, (unsigned long long) mlen, - nonce, k) != 0) { - printf("crypto_secretbox_open_detached() with a NULL message pointer failed\n"); - } - if (crypto_secretbox_open_detached(m2, c, mac, (unsigned long long) mlen, - nonce, k) != 0) { - printf("crypto_secretbox_open_detached() failed\n"); - } - printf("%d\n", memcmp(m, m2, mlen)); - - memcpy(c, m, mlen); - crypto_secretbox_easy(c, c, (unsigned long long) mlen, nonce, k); - printf("%d\n", memcmp(m, c, mlen) == 0); - printf("%d\n", memcmp(m, c + crypto_secretbox_MACBYTES, mlen) == 0); - if (crypto_secretbox_open_easy( - c, c, (unsigned long long) mlen + crypto_secretbox_MACBYTES, nonce, - k) != 0) { - printf("crypto_secretbox_open_easy() failed\n"); - } - printf("%d\n", memcmp(m, c, mlen)); - - sodium_free(m); - sodium_free(m2); - sodium_free(c); - sodium_free(nonce); - sodium_free(k); - sodium_free(mac); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/secretbox_easy2.exp b/libsodium-1.0.18-RELEASE/test/default/secretbox_easy2.exp deleted file mode 100644 index 229972f..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretbox_easy2.exp +++ /dev/null @@ -1,5 +0,0 @@ -0 -0 -0 -0 -0 diff --git a/libsodium-1.0.18-RELEASE/test/default/secretstream.c b/libsodium-1.0.18-RELEASE/test/default/secretstream.c deleted file mode 100644 index 63c6443..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretstream.c +++ /dev/null @@ -1,329 +0,0 @@ - -#define TEST_NAME "secretstream" -#include "cmptest.h" - -int -main(void) -{ - crypto_secretstream_xchacha20poly1305_state *state, *statesave; - crypto_secretstream_xchacha20poly1305_state state_copy; - unsigned char *ad; - unsigned char *header; - unsigned char *k; - unsigned char *c1, *c2, *c3, *csave; - unsigned char *m1, *m2, *m3; - unsigned char *m1_, *m2_, *m3_; - unsigned long long res_len; - size_t ad_len; - size_t m1_len, m2_len, m3_len; - int ret; - unsigned char tag; - - state = (crypto_secretstream_xchacha20poly1305_state *) - sodium_malloc(crypto_secretstream_xchacha20poly1305_statebytes()); - statesave = (crypto_secretstream_xchacha20poly1305_state *) - sodium_malloc(crypto_secretstream_xchacha20poly1305_statebytes()); - header = (unsigned char *) - sodium_malloc(crypto_secretstream_xchacha20poly1305_HEADERBYTES); - - ad_len = randombytes_uniform(100); - m1_len = randombytes_uniform(1000); - m2_len = randombytes_uniform(1000); - m3_len = randombytes_uniform(1000); - - c1 = (unsigned char *) - sodium_malloc(m1_len + crypto_secretstream_xchacha20poly1305_ABYTES); - c2 = (unsigned char *) - sodium_malloc(m2_len + crypto_secretstream_xchacha20poly1305_ABYTES); - c3 = (unsigned char *) - sodium_malloc(m3_len + crypto_secretstream_xchacha20poly1305_ABYTES); - csave = (unsigned char *) - sodium_malloc((m1_len | m2_len | m3_len) + crypto_secretstream_xchacha20poly1305_ABYTES); - - ad = (unsigned char *) sodium_malloc(ad_len); - m1 = (unsigned char *) sodium_malloc(m1_len); - m2 = (unsigned char *) sodium_malloc(m2_len); - m3 = (unsigned char *) sodium_malloc(m3_len); - m1_ = (unsigned char *) sodium_malloc(m1_len); - m2_ = (unsigned char *) sodium_malloc(m2_len); - m3_ = (unsigned char *) sodium_malloc(m3_len); - - randombytes_buf(ad, ad_len); - - randombytes_buf(m1, m1_len); - memcpy(m1_, m1, m1_len); - randombytes_buf(m2, m2_len); - memcpy(m2_, m2, m2_len); - randombytes_buf(m3, m3_len); - memcpy(m3_, m3, m3_len); - - k = (unsigned char *) - sodium_malloc(crypto_secretstream_xchacha20poly1305_KEYBYTES); - crypto_secretstream_xchacha20poly1305_keygen(k); - - /* push */ - - ret = crypto_secretstream_xchacha20poly1305_init_push(state, header, k); - assert(ret == 0); - - ret = crypto_secretstream_xchacha20poly1305_push - (state, c1, &res_len, m1, m1_len, NULL, 0, 0); - assert(ret == 0); - assert(res_len == m1_len + crypto_secretstream_xchacha20poly1305_ABYTES); - - ret = crypto_secretstream_xchacha20poly1305_push - (state, c2, NULL, m2, m2_len, ad, 0, 0); - assert(ret == 0); - - ret = crypto_secretstream_xchacha20poly1305_push - (state, c3, NULL, m3, m3_len, ad, ad_len, - crypto_secretstream_xchacha20poly1305_TAG_FINAL); - assert(ret == 0); - - /* pull */ - - ret = crypto_secretstream_xchacha20poly1305_init_pull(state, header, k); - assert(ret == 0); - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m1, &res_len, &tag, - c1, m1_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == 0); - assert(tag == 0); - assert(memcmp(m1, m1_, m1_len) == 0); - assert(res_len == m1_len); - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m2, NULL, &tag, - c2, m2_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == 0); - assert(tag == 0); - assert(memcmp(m2, m2_, m2_len) == 0); - - if (ad_len > 0) { - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m3, NULL, &tag, - c3, m3_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == -1); - } - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m3, NULL, &tag, - c3, m3_len + crypto_secretstream_xchacha20poly1305_ABYTES, ad, ad_len); - assert(ret == 0); - assert(tag == crypto_secretstream_xchacha20poly1305_TAG_FINAL); - assert(memcmp(m3, m3_, m3_len) == 0); - - /* previous with FINAL tag */ - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m3, NULL, &tag, - c3, m3_len + crypto_secretstream_xchacha20poly1305_ABYTES, ad, ad_len); - assert(ret == -1); - - /* previous without a tag */ - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m2, NULL, &tag, - c2, m2_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == -1); - - /* short ciphertext */ - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m2, NULL, &tag, c2, - randombytes_uniform(crypto_secretstream_xchacha20poly1305_ABYTES), - NULL, 0); - assert(ret == -1); - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m2, NULL, &tag, c2, 0, NULL, 0); - assert(ret == -1); - - /* empty ciphertext */ - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m2, NULL, &tag, c2, - crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == -1); - - /* without explicit rekeying */ - - ret = crypto_secretstream_xchacha20poly1305_init_push(state, header, k); - assert(ret == 0); - ret = crypto_secretstream_xchacha20poly1305_push - (state, c1, NULL, m1, m1_len, NULL, 0, 0); - assert(ret == 0); - ret = crypto_secretstream_xchacha20poly1305_push - (state, c2, NULL, m2, m2_len, NULL, 0, 0); - assert(ret == 0); - - ret = crypto_secretstream_xchacha20poly1305_init_pull(state, header, k); - assert(ret == 0); - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m1, NULL, &tag, - c1, m1_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == 0); - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m2, NULL, &tag, - c2, m2_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == 0); - - /* with explicit rekeying */ - - ret = crypto_secretstream_xchacha20poly1305_init_push(state, header, k); - assert(ret == 0); - ret = crypto_secretstream_xchacha20poly1305_push - (state, c1, NULL, m1, m1_len, NULL, 0, 0); - assert(ret == 0); - - crypto_secretstream_xchacha20poly1305_rekey(state); - - ret = crypto_secretstream_xchacha20poly1305_push - (state, c2, NULL, m2, m2_len, NULL, 0, 0); - assert(ret == 0); - - ret = crypto_secretstream_xchacha20poly1305_init_pull(state, header, k); - assert(ret == 0); - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m1, NULL, &tag, - c1, m1_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == 0); - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m2, NULL, &tag, - c2, m2_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == -1); - - crypto_secretstream_xchacha20poly1305_rekey(state); - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m2, NULL, &tag, - c2, m2_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == 0); - - /* with explicit rekeying using TAG_REKEY */ - - ret = crypto_secretstream_xchacha20poly1305_init_push(state, header, k); - assert(ret == 0); - - memcpy(statesave, state, sizeof *state); - - ret = crypto_secretstream_xchacha20poly1305_push - (state, c1, NULL, m1, m1_len, NULL, 0, crypto_secretstream_xchacha20poly1305_TAG_REKEY); - assert(ret == 0); - - ret = crypto_secretstream_xchacha20poly1305_push - (state, c2, NULL, m2, m2_len, NULL, 0, 0); - assert(ret == 0); - - memcpy(csave, c2, m2_len + crypto_secretstream_xchacha20poly1305_ABYTES); - - ret = crypto_secretstream_xchacha20poly1305_init_pull(state, header, k); - assert(ret == 0); - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m1, NULL, &tag, - c1, m1_len + crypto_secretstream_xchacha20poly1305_ABYTES, &tag, 0); - assert(ret == 0); - assert(tag == crypto_secretstream_xchacha20poly1305_TAG_REKEY); - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m2, NULL, &tag, - c2, m2_len + crypto_secretstream_xchacha20poly1305_ABYTES, &tag, 0); - assert(ret == 0); - assert(tag == 0); - - memcpy(state, statesave, sizeof *state); - - ret = crypto_secretstream_xchacha20poly1305_push - (state, c1, NULL, m1, m1_len, NULL, 0, 0); - assert(ret == 0); - - ret = crypto_secretstream_xchacha20poly1305_push - (state, c2, NULL, m2, m2_len, NULL, 0, 0); - assert(ret == 0); - - assert(memcmp(csave, c2, m2_len + crypto_secretstream_xchacha20poly1305_ABYTES) != 0); - - /* New stream */ - - ret = crypto_secretstream_xchacha20poly1305_init_push(state, header, k); - assert(ret == 0); - - ret = crypto_secretstream_xchacha20poly1305_push - (state, c1, &res_len, m1, m1_len, NULL, 0, - crypto_secretstream_xchacha20poly1305_TAG_PUSH); - assert(ret == 0); - assert(res_len == m1_len + crypto_secretstream_xchacha20poly1305_ABYTES); - - /* Force a counter overflow, check that the key has been updated - * even though the tag was not changed to REKEY */ - - memset(state->nonce, 0xff, 4U); - state_copy = *state; - - ret = crypto_secretstream_xchacha20poly1305_push - (state, c2, NULL, m2, m2_len, ad, 0, 0); - assert(ret == 0); - - assert(memcmp(state_copy.k, state->k, sizeof state->k) != 0); - assert(memcmp(state_copy.nonce, state->nonce, sizeof state->nonce) != 0); - assert(state->nonce[0] == 1U); - assert(sodium_is_zero(state->nonce + 1, 3U)); - - ret = crypto_secretstream_xchacha20poly1305_init_pull(state, header, k); - assert(ret == 0); - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m1, &res_len, &tag, - c1, m1_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == 0); - assert(tag == crypto_secretstream_xchacha20poly1305_TAG_PUSH); - assert(memcmp(m1, m1_, m1_len) == 0); - assert(res_len == m1_len); - - memset(state->nonce, 0xff, 4U); - - ret = crypto_secretstream_xchacha20poly1305_pull - (state, m2, NULL, &tag, - c2, m2_len + crypto_secretstream_xchacha20poly1305_ABYTES, NULL, 0); - assert(ret == 0); - assert(tag == 0); - assert(memcmp(m2, m2_, m2_len) == 0); - - sodium_free(m3_); - sodium_free(m2_); - sodium_free(m1_); - sodium_free(m3); - sodium_free(m2); - sodium_free(m1); - sodium_free(ad); - sodium_free(csave); - sodium_free(c3); - sodium_free(c2); - sodium_free(c1); - sodium_free(k); - sodium_free(header); - sodium_free(statesave); - sodium_free(state); - - assert(crypto_secretstream_xchacha20poly1305_abytes() == - crypto_secretstream_xchacha20poly1305_ABYTES); - assert(crypto_secretstream_xchacha20poly1305_headerbytes() == - crypto_secretstream_xchacha20poly1305_HEADERBYTES); - assert(crypto_secretstream_xchacha20poly1305_keybytes() == - crypto_secretstream_xchacha20poly1305_KEYBYTES); - assert(crypto_secretstream_xchacha20poly1305_messagebytes_max() == - crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX); - - assert(crypto_secretstream_xchacha20poly1305_tag_message() == - crypto_secretstream_xchacha20poly1305_TAG_MESSAGE); - assert(crypto_secretstream_xchacha20poly1305_tag_push() == - crypto_secretstream_xchacha20poly1305_TAG_PUSH); - assert(crypto_secretstream_xchacha20poly1305_tag_rekey() == - crypto_secretstream_xchacha20poly1305_TAG_REKEY); - assert(crypto_secretstream_xchacha20poly1305_tag_final() == - crypto_secretstream_xchacha20poly1305_TAG_FINAL); - - printf("OK\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/secretstream.exp b/libsodium-1.0.18-RELEASE/test/default/secretstream.exp deleted file mode 100644 index d86bac9..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/secretstream.exp +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/shorthash.c b/libsodium-1.0.18-RELEASE/test/default/shorthash.c deleted file mode 100644 index e8fadec..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/shorthash.c +++ /dev/null @@ -1,35 +0,0 @@ - -#define TEST_NAME "shorthash" -#include "cmptest.h" - -#define MAXLEN 64 - -int -main(void) -{ - unsigned char in[MAXLEN]; - unsigned char out[crypto_shorthash_BYTES]; - unsigned char k[crypto_shorthash_KEYBYTES]; - size_t i; - size_t j; - - for (i = 0; i < crypto_shorthash_KEYBYTES; ++i) { - k[i] = (unsigned char) i; - } - for (i = 0; i < MAXLEN; ++i) { - in[i] = (unsigned char) i; - crypto_shorthash(out, in, (unsigned long long) i, k); - for (j = 0; j < crypto_shorthash_BYTES; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - } - assert(crypto_shorthash_bytes() > 0); - assert(crypto_shorthash_keybytes() > 0); - assert(strcmp(crypto_shorthash_primitive(), "siphash24") == 0); - assert(crypto_shorthash_bytes() == crypto_shorthash_siphash24_bytes()); - assert(crypto_shorthash_keybytes() == - crypto_shorthash_siphash24_keybytes()); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/shorthash.exp b/libsodium-1.0.18-RELEASE/test/default/shorthash.exp deleted file mode 100644 index 6ec8684..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/shorthash.exp +++ /dev/null @@ -1,64 +0,0 @@ -310e0edd47db6f72 -fd67dc93c539f874 -5a4fa9d909806c0d -2d7efbd796666785 -b7877127e09427cf -8da699cd64557618 -cee3fe586e46c9cb -37d1018bf50002ab -6224939a79f5f593 -b0e4a90bdf82009e -f3b9dd94c5bb5d7a -a7ad6b22462fb3f4 -fbe50e86bc8f1e75 -903d84c02756ea14 -eef27a8e90ca23f7 -e545be4961ca29a1 -db9bc2577fcc2a3f -9447be2cf5e99a69 -9cd38d96f0b3c14b -bd6179a71dc96dbb -98eea21af25cd6be -c7673b2eb0cbf2d0 -883ea3e395675393 -c8ce5ccd8c030ca8 -94af49f6c650adb8 -eab8858ade92e1bc -f315bb5bb835d817 -adcf6b0763612e2f -a5c91da7acaa4dde -716595876650a2a6 -28ef495c53a387ad -42c341d8fa92d832 -ce7cf2722f512771 -e37859f94623f3a7 -381205bb1ab0e012 -ae97a10fd434e015 -b4a31508beff4d31 -81396229f0907902 -4d0cf49ee5d4dcca -5c73336a76d8bf9a -d0a704536ba93e0e -925958fcd6420cad -a915c29bc8067318 -952b79f3bc0aa6d4 -f21df2e41d4535f9 -87577519048f53a9 -10a56cf5dfcd9adb -eb75095ccd986cd0 -51a9cb9ecba312e6 -96afadfc2ce666c7 -72fe52975a4364ee -5a1645b276d592a1 -b274cb8ebf87870a -6f9bb4203de7b381 -eaecb2a30b22a87f -9924a43cc1315724 -bd838d3aafbf8db7 -0b1a2a3265d51aea -135079a3231ce660 -932b2846e4d70666 -e1915f5cb1eca46c -f325965ca16d629f -575ff28e60381be5 -724506eb4c328a95 diff --git a/libsodium-1.0.18-RELEASE/test/default/sign.c b/libsodium-1.0.18-RELEASE/test/default/sign.c deleted file mode 100644 index 30a2882..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sign.c +++ /dev/null @@ -1,1324 +0,0 @@ - -#define TEST_NAME "sign" -#include "cmptest.h" - -static const unsigned char keypair_seed[] - = { 0x42, 0x11, 0x51, 0xa4, 0x59, 0xfa, 0xea, 0xde, 0x3d, 0x24, 0x71, - 0x15, 0xf9, 0x4a, 0xed, 0xae, 0x42, 0x31, 0x81, 0x24, 0x09, 0x5a, - 0xfa, 0xbe, 0x4d, 0x14, 0x51, 0xa5, 0x59, 0xfa, 0xed, 0xee }; - -typedef struct TestData_ { - const unsigned char sk[crypto_sign_SEEDBYTES]; - const unsigned char pk[crypto_sign_PUBLICKEYBYTES]; - const unsigned char sig[crypto_sign_BYTES]; - const char *m; -} TestData; - -static TestData test_data[] = { -{{0x9d,0x61,0xb1,0x9d,0xef,0xfd,0x5a,0x60,0xba,0x84,0x4a,0xf4,0x92,0xec,0x2c,0xc4,0x44,0x49,0xc5,0x69,0x7b,0x32,0x69,0x19,0x70,0x3b,0xac,0x03,0x1c,0xae,0x7f,0x60,},{0xd7,0x5a,0x98,0x01,0x82,0xb1,0x0a,0xb7,0xd5,0x4b,0xfe,0xd3,0xc9,0x64,0x07,0x3a,0x0e,0xe1,0x72,0xf3,0xda,0xa6,0x23,0x25,0xaf,0x02,0x1a,0x68,0xf7,0x07,0x51,0x1a,},{0xe5,0x56,0x43,0x00,0xc3,0x60,0xac,0x72,0x90,0x86,0xe2,0xcc,0x80,0x6e,0x82,0x8a,0x84,0x87,0x7f,0x1e,0xb8,0xe5,0xd9,0x74,0xd8,0x73,0xe0,0x65,0x22,0x49,0x01,0x55,0x5f,0xb8,0x82,0x15,0x90,0xa3,0x3b,0xac,0xc6,0x1e,0x39,0x70,0x1c,0xf9,0xb4,0x6b,0xd2,0x5b,0xf5,0xf0,0x59,0x5b,0xbe,0x24,0x65,0x51,0x41,0x43,0x8e,0x7a,0x10,0x0b,},""}, -{{0x4c,0xcd,0x08,0x9b,0x28,0xff,0x96,0xda,0x9d,0xb6,0xc3,0x46,0xec,0x11,0x4e,0x0f,0x5b,0x8a,0x31,0x9f,0x35,0xab,0xa6,0x24,0xda,0x8c,0xf6,0xed,0x4f,0xb8,0xa6,0xfb,},{0x3d,0x40,0x17,0xc3,0xe8,0x43,0x89,0x5a,0x92,0xb7,0x0a,0xa7,0x4d,0x1b,0x7e,0xbc,0x9c,0x98,0x2c,0xcf,0x2e,0xc4,0x96,0x8c,0xc0,0xcd,0x55,0xf1,0x2a,0xf4,0x66,0x0c,},{0x92,0xa0,0x09,0xa9,0xf0,0xd4,0xca,0xb8,0x72,0x0e,0x82,0x0b,0x5f,0x64,0x25,0x40,0xa2,0xb2,0x7b,0x54,0x16,0x50,0x3f,0x8f,0xb3,0x76,0x22,0x23,0xeb,0xdb,0x69,0xda,0x08,0x5a,0xc1,0xe4,0x3e,0x15,0x99,0x6e,0x45,0x8f,0x36,0x13,0xd0,0xf1,0x1d,0x8c,0x38,0x7b,0x2e,0xae,0xb4,0x30,0x2a,0xee,0xb0,0x0d,0x29,0x16,0x12,0xbb,0x0c,0x00,},"\x72"}, -{{0xc5,0xaa,0x8d,0xf4,0x3f,0x9f,0x83,0x7b,0xed,0xb7,0x44,0x2f,0x31,0xdc,0xb7,0xb1,0x66,0xd3,0x85,0x35,0x07,0x6f,0x09,0x4b,0x85,0xce,0x3a,0x2e,0x0b,0x44,0x58,0xf7,},{0xfc,0x51,0xcd,0x8e,0x62,0x18,0xa1,0xa3,0x8d,0xa4,0x7e,0xd0,0x02,0x30,0xf0,0x58,0x08,0x16,0xed,0x13,0xba,0x33,0x03,0xac,0x5d,0xeb,0x91,0x15,0x48,0x90,0x80,0x25,},{0x62,0x91,0xd6,0x57,0xde,0xec,0x24,0x02,0x48,0x27,0xe6,0x9c,0x3a,0xbe,0x01,0xa3,0x0c,0xe5,0x48,0xa2,0x84,0x74,0x3a,0x44,0x5e,0x36,0x80,0xd7,0xdb,0x5a,0xc3,0xac,0x18,0xff,0x9b,0x53,0x8d,0x16,0xf2,0x90,0xae,0x67,0xf7,0x60,0x98,0x4d,0xc6,0x59,0x4a,0x7c,0x15,0xe9,0x71,0x6e,0xd2,0x8d,0xc0,0x27,0xbe,0xce,0xea,0x1e,0xc4,0x0a,},"\xaf\x82"}, -{{0x0d,0x4a,0x05,0xb0,0x73,0x52,0xa5,0x43,0x6e,0x18,0x03,0x56,0xda,0x0a,0xe6,0xef,0xa0,0x34,0x5f,0xf7,0xfb,0x15,0x72,0x57,0x57,0x72,0xe8,0x00,0x5e,0xd9,0x78,0xe9,},{0xe6,0x1a,0x18,0x5b,0xce,0xf2,0x61,0x3a,0x6c,0x7c,0xb7,0x97,0x63,0xce,0x94,0x5d,0x3b,0x24,0x5d,0x76,0x11,0x4d,0xd4,0x40,0xbc,0xf5,0xf2,0xdc,0x1a,0xa5,0x70,0x57,},{0xd9,0x86,0x8d,0x52,0xc2,0xbe,0xbc,0xe5,0xf3,0xfa,0x5a,0x79,0x89,0x19,0x70,0xf3,0x09,0xcb,0x65,0x91,0xe3,0xe1,0x70,0x2a,0x70,0x27,0x6f,0xa9,0x7c,0x24,0xb3,0xa8,0xe5,0x86,0x06,0xc3,0x8c,0x97,0x58,0x52,0x9d,0xa5,0x0e,0xe3,0x1b,0x82,0x19,0xcb,0xa4,0x52,0x71,0xc6,0x89,0xaf,0xa6,0x0b,0x0e,0xa2,0x6c,0x99,0xdb,0x19,0xb0,0x0c,},"\xcb\xc7\x7b"}, -{{0x6d,0xf9,0x34,0x0c,0x13,0x8c,0xc1,0x88,0xb5,0xfe,0x44,0x64,0xeb,0xaa,0x3f,0x7f,0xc2,0x06,0xa2,0xd5,0x5c,0x34,0x34,0x70,0x7e,0x74,0xc9,0xfc,0x04,0xe2,0x0e,0xbb,},{0xc0,0xda,0xc1,0x02,0xc4,0x53,0x31,0x86,0xe2,0x5d,0xc4,0x31,0x28,0x47,0x23,0x53,0xea,0xab,0xdb,0x87,0x8b,0x15,0x2a,0xeb,0x8e,0x00,0x1f,0x92,0xd9,0x02,0x33,0xa7,},{0x12,0x4f,0x6f,0xc6,0xb0,0xd1,0x00,0x84,0x27,0x69,0xe7,0x1b,0xd5,0x30,0x66,0x4d,0x88,0x8d,0xf8,0x50,0x7d,0xf6,0xc5,0x6d,0xed,0xfd,0xb5,0x09,0xae,0xb9,0x34,0x16,0xe2,0x6b,0x91,0x8d,0x38,0xaa,0x06,0x30,0x5d,0xf3,0x09,0x56,0x97,0xc1,0x8b,0x2a,0xa8,0x32,0xea,0xa5,0x2e,0xdc,0x0a,0xe4,0x9f,0xba,0xe5,0xa8,0x5e,0x15,0x0c,0x07,},"\x5f\x4c\x89\x89"}, -{{0xb7,0x80,0x38,0x1a,0x65,0xed,0xf8,0xb7,0x8f,0x69,0x45,0xe8,0xdb,0xec,0x79,0x41,0xac,0x04,0x9f,0xd4,0xc6,0x10,0x40,0xcf,0x0c,0x32,0x43,0x57,0x97,0x5a,0x29,0x3c,},{0xe2,0x53,0xaf,0x07,0x66,0x80,0x4b,0x86,0x9b,0xb1,0x59,0x5b,0xe9,0x76,0x5b,0x53,0x48,0x86,0xbb,0xaa,0xb8,0x30,0x5b,0xf5,0x0d,0xbc,0x7f,0x89,0x9b,0xfb,0x5f,0x01,},{0xb2,0xfc,0x46,0xad,0x47,0xaf,0x46,0x44,0x78,0xc1,0x99,0xe1,0xf8,0xbe,0x16,0x9f,0x1b,0xe6,0x32,0x7c,0x7f,0x9a,0x0a,0x66,0x89,0x37,0x1c,0xa9,0x4c,0xaf,0x04,0x06,0x4a,0x01,0xb2,0x2a,0xff,0x15,0x20,0xab,0xd5,0x89,0x51,0x34,0x16,0x03,0xfa,0xed,0x76,0x8c,0xf7,0x8c,0xe9,0x7a,0xe7,0xb0,0x38,0xab,0xfe,0x45,0x6a,0xa1,0x7c,0x09,},"\x18\xb6\xbe\xc0\x97"}, -{{0x78,0xae,0x9e,0xff,0xe6,0xf2,0x45,0xe9,0x24,0xa7,0xbe,0x63,0x04,0x11,0x46,0xeb,0xc6,0x70,0xdb,0xd3,0x06,0x0c,0xba,0x67,0xfb,0xc6,0x21,0x6f,0xeb,0xc4,0x45,0x46,},{0xfb,0xcf,0xbf,0xa4,0x05,0x05,0xd7,0xf2,0xbe,0x44,0x4a,0x33,0xd1,0x85,0xcc,0x54,0xe1,0x6d,0x61,0x52,0x60,0xe1,0x64,0x0b,0x2b,0x50,0x87,0xb8,0x3e,0xe3,0x64,0x3d,},{0x6e,0xd6,0x29,0xfc,0x1d,0x9c,0xe9,0xe1,0x46,0x87,0x55,0xff,0x63,0x6d,0x5a,0x3f,0x40,0xa5,0xd9,0xc9,0x1a,0xfd,0x93,0xb7,0x9d,0x24,0x18,0x30,0xf7,0xe5,0xfa,0x29,0x85,0x4b,0x8f,0x20,0xcc,0x6e,0xec,0xbb,0x24,0x8d,0xbd,0x8d,0x16,0xd1,0x4e,0x99,0x75,0x21,0x94,0xe4,0x90,0x4d,0x09,0xc7,0x4d,0x63,0x95,0x18,0x83,0x9d,0x23,0x00,},"\x89\x01\x0d\x85\x59\x72"}, -{{0x69,0x18,0x65,0xbf,0xc8,0x2a,0x1e,0x4b,0x57,0x4e,0xec,0xde,0x4c,0x75,0x19,0x09,0x3f,0xaf,0x0c,0xf8,0x67,0x38,0x02,0x34,0xe3,0x66,0x46,0x45,0xc6,0x1c,0x5f,0x79,},{0x98,0xa5,0xe3,0xa3,0x6e,0x67,0xaa,0xba,0x89,0x88,0x8b,0xf0,0x93,0xde,0x1a,0xd9,0x63,0xe7,0x74,0x01,0x3b,0x39,0x02,0xbf,0xab,0x35,0x6d,0x8b,0x90,0x17,0x8a,0x63,},{0x6e,0x0a,0xf2,0xfe,0x55,0xae,0x37,0x7a,0x6b,0x7a,0x72,0x78,0xed,0xfb,0x41,0x9b,0xd3,0x21,0xe0,0x6d,0x0d,0xf5,0xe2,0x70,0x37,0xdb,0x88,0x12,0xe7,0xe3,0x52,0x98,0x10,0xfa,0x55,0x52,0xf6,0xc0,0x02,0x09,0x85,0xca,0x17,0xa0,0xe0,0x2e,0x03,0x6d,0x7b,0x22,0x2a,0x24,0xf9,0x9b,0x77,0xb7,0x5f,0xdd,0x16,0xcb,0x05,0x56,0x81,0x07,},"\xb4\xa8\xf3\x81\xe7\x0e\x7a"}, -{{0x3b,0x26,0x51,0x6f,0xb3,0xdc,0x88,0xeb,0x18,0x1b,0x9e,0xd7,0x3f,0x0b,0xcd,0x52,0xbc,0xd6,0xb4,0xc7,0x88,0xe4,0xbc,0xaf,0x46,0x05,0x7f,0xd0,0x78,0xbe,0xe0,0x73,},{0xf8,0x1f,0xb5,0x4a,0x82,0x5f,0xce,0xd9,0x5e,0xb0,0x33,0xaf,0xcd,0x64,0x31,0x40,0x75,0xab,0xfb,0x0a,0xbd,0x20,0xa9,0x70,0x89,0x25,0x03,0x43,0x6f,0x34,0xb8,0x63,},{0xd6,0xad,0xde,0xc5,0xaf,0xb0,0x52,0x8a,0xc1,0x7b,0xb1,0x78,0xd3,0xe7,0xf2,0x88,0x7f,0x9a,0xdb,0xb1,0xad,0x16,0xe1,0x10,0x54,0x5e,0xf3,0xbc,0x57,0xf9,0xde,0x23,0x14,0xa5,0xc8,0x38,0x8f,0x72,0x3b,0x89,0x07,0xbe,0x0f,0x3a,0xc9,0x0c,0x62,0x59,0xbb,0xe8,0x85,0xec,0xc1,0x76,0x45,0xdf,0x3d,0xb7,0xd4,0x88,0xf8,0x05,0xfa,0x08,},"\x42\x84\xab\xc5\x1b\xb6\x72\x35"}, -{{0xed,0xc6,0xf5,0xfb,0xdd,0x1c,0xee,0x4d,0x10,0x1c,0x06,0x35,0x30,0xa3,0x04,0x90,0xb2,0x21,0xbe,0x68,0xc0,0x36,0xf5,0xb0,0x7d,0x0f,0x95,0x3b,0x74,0x5d,0xf1,0x92,},{0xc1,0xa4,0x9c,0x66,0xe6,0x17,0xf9,0xef,0x5e,0xc6,0x6b,0xc4,0xc6,0x56,0x4c,0xa3,0x3d,0xe2,0xa5,0xfb,0x5e,0x14,0x64,0x06,0x2e,0x6d,0x6c,0x62,0x19,0x15,0x5e,0xfd,},{0x2c,0x76,0xa0,0x4a,0xf2,0x39,0x1c,0x14,0x70,0x82,0xe3,0x3f,0xaa,0xcd,0xbe,0x56,0x64,0x2a,0x1e,0x13,0x4b,0xd3,0x88,0x62,0x0b,0x85,0x2b,0x90,0x1a,0x6b,0xc1,0x6f,0xf6,0xc9,0xcc,0x94,0x04,0xc4,0x1d,0xea,0x12,0xed,0x28,0x1d,0xa0,0x67,0xa1,0x51,0x38,0x66,0xf9,0xd9,0x64,0xf8,0xbd,0xd2,0x49,0x53,0x85,0x6c,0x50,0x04,0x29,0x01,},"\x67\x2b\xf8\x96\x5d\x04\xbc\x51\x46"}, -{{0x4e,0x7d,0x21,0xfb,0x3b,0x18,0x97,0x57,0x1a,0x44,0x58,0x33,0xbe,0x0f,0x9f,0xd4,0x1c,0xd6,0x2b,0xe3,0xaa,0x04,0x04,0x0f,0x89,0x34,0xe1,0xfc,0xbd,0xca,0xcd,0x45,},{0x31,0xb2,0x52,0x4b,0x83,0x48,0xf7,0xab,0x1d,0xfa,0xfa,0x67,0x5c,0xc5,0x38,0xe9,0xa8,0x4e,0x3f,0xe5,0x81,0x9e,0x27,0xc1,0x2a,0xd8,0xbb,0xc1,0xa3,0x6e,0x4d,0xff,},{0x28,0xe4,0x59,0x8c,0x41,0x5a,0xe9,0xde,0x01,0xf0,0x3f,0x9f,0x3f,0xab,0x4e,0x91,0x9e,0x8b,0xf5,0x37,0xdd,0x2b,0x0c,0xdf,0x6e,0x79,0xb9,0xe6,0x55,0x9c,0x94,0x09,0xd9,0x15,0x1a,0x4c,0x40,0xf0,0x83,0x19,0x39,0x37,0x62,0x7c,0x36,0x94,0x88,0x25,0x9e,0x99,0xda,0x5a,0x9f,0x0a,0x87,0x49,0x7f,0xa6,0x69,0x6a,0x5d,0xd6,0xce,0x08,},"\x33\xd7\xa7\x86\xad\xed\x8c\x1b\xf6\x91"}, -{{0xa9,0x80,0xf8,0x92,0xdb,0x13,0xc9,0x9a,0x3e,0x89,0x71,0xe9,0x65,0xb2,0xff,0x3d,0x41,0xea,0xfd,0x54,0x09,0x3b,0xc9,0xf3,0x4d,0x1f,0xd2,0x2d,0x84,0x11,0x5b,0xb6,},{0x44,0xb5,0x7e,0xe3,0x0c,0xdb,0x55,0x82,0x9d,0x0a,0x5d,0x4f,0x04,0x6b,0xae,0xf0,0x78,0xf1,0xe9,0x7a,0x7f,0x21,0xb6,0x2d,0x75,0xf8,0xe9,0x6e,0xa1,0x39,0xc3,0x5f,},{0x77,0xd3,0x89,0xe5,0x99,0x63,0x0d,0x93,0x40,0x76,0x32,0x95,0x83,0xcd,0x41,0x05,0xa6,0x49,0xa9,0x29,0x2a,0xbc,0x44,0xcd,0x28,0xc4,0x00,0x00,0xc8,0xe2,0xf5,0xac,0x76,0x60,0xa8,0x1c,0x85,0xb7,0x2a,0xf8,0x45,0x2d,0x7d,0x25,0xc0,0x70,0x86,0x1d,0xae,0x91,0x60,0x1c,0x78,0x03,0xd6,0x56,0x53,0x16,0x50,0xdd,0x4e,0x5c,0x41,0x00,},"\x34\x86\xf6\x88\x48\xa6\x5a\x0e\xb5\x50\x7d"}, -{{0x5b,0x5a,0x61,0x9f,0x8c,0xe1,0xc6,0x6d,0x7c,0xe2,0x6e,0x5a,0x2a,0xe7,0xb0,0xc0,0x4f,0xeb,0xcd,0x34,0x6d,0x28,0x6c,0x92,0x9e,0x19,0xd0,0xd5,0x97,0x3b,0xfe,0xf9,},{0x6f,0xe8,0x36,0x93,0xd0,0x11,0xd1,0x11,0x13,0x1c,0x4f,0x3f,0xba,0xaa,0x40,0xa9,0xd3,0xd7,0x6b,0x30,0x01,0x2f,0xf7,0x3b,0xb0,0xe3,0x9e,0xc2,0x7a,0xb1,0x82,0x57,},{0x0f,0x9a,0xd9,0x79,0x30,0x33,0xa2,0xfa,0x06,0x61,0x4b,0x27,0x7d,0x37,0x38,0x1e,0x6d,0x94,0xf6,0x5a,0xc2,0xa5,0xa9,0x45,0x58,0xd0,0x9e,0xd6,0xce,0x92,0x22,0x58,0xc1,0xa5,0x67,0x95,0x2e,0x86,0x3a,0xc9,0x42,0x97,0xae,0xc3,0xc0,0xd0,0xc8,0xdd,0xf7,0x10,0x84,0xe5,0x04,0x86,0x0b,0xb6,0xba,0x27,0x44,0x9b,0x55,0xad,0xc4,0x0e,},"\x5a\x8d\x9d\x0a\x22\x35\x7e\x66\x55\xf9\xc7\x85"}, -{{0x94,0x0c,0x89,0xfe,0x40,0xa8,0x1d,0xaf,0xbd,0xb2,0x41,0x6d,0x14,0xae,0x46,0x91,0x19,0x86,0x97,0x44,0x41,0x0c,0x33,0x03,0xbf,0xaa,0x02,0x41,0xda,0xc5,0x78,0x00,},{0xa2,0xeb,0x8c,0x05,0x01,0xe3,0x0b,0xae,0x0c,0xf8,0x42,0xd2,0xbd,0xe8,0xde,0xc7,0x38,0x6f,0x6b,0x7f,0xc3,0x98,0x1b,0x8c,0x57,0xc9,0x79,0x2b,0xb9,0x4c,0xf2,0xdd,},{0xd8,0xbb,0x64,0xaa,0xd8,0xc9,0x95,0x5a,0x11,0x5a,0x79,0x3a,0xdd,0xd2,0x4f,0x7f,0x2b,0x07,0x76,0x48,0x71,0x4f,0x49,0xc4,0x69,0x4e,0xc9,0x95,0xb3,0x30,0xd0,0x9d,0x64,0x0d,0xf3,0x10,0xf4,0x47,0xfd,0x7b,0x6c,0xb5,0xc1,0x4f,0x9f,0xe9,0xf4,0x90,0xbc,0xf8,0xcf,0xad,0xbf,0xd2,0x16,0x9c,0x8a,0xc2,0x0d,0x3b,0x8a,0xf4,0x9a,0x0c,},"\xb8\x7d\x38\x13\xe0\x3f\x58\xcf\x19\xfd\x0b\x63\x95"}, -{{0x9a,0xca,0xd9,0x59,0xd2,0x16,0x21,0x2d,0x78,0x9a,0x11,0x92,0x52,0xeb,0xfe,0x0c,0x96,0x51,0x2a,0x23,0xc7,0x3b,0xd9,0xf3,0xb2,0x02,0x29,0x2d,0x69,0x16,0xa7,0x38,},{0xcf,0x3a,0xf8,0x98,0x46,0x7a,0x5b,0x7a,0x52,0xd3,0x3d,0x53,0xbc,0x03,0x7e,0x26,0x42,0xa8,0xda,0x99,0x69,0x03,0xfc,0x25,0x22,0x17,0xe9,0xc0,0x33,0xe2,0xf2,0x91,},{0x6e,0xe3,0xfe,0x81,0xe2,0x3c,0x60,0xeb,0x23,0x12,0xb2,0x00,0x6b,0x3b,0x25,0xe6,0x83,0x8e,0x02,0x10,0x66,0x23,0xf8,0x44,0xc4,0x4e,0xdb,0x8d,0xaf,0xd6,0x6a,0xb0,0x67,0x10,0x87,0xfd,0x19,0x5d,0xf5,0xb8,0xf5,0x8a,0x1d,0x6e,0x52,0xaf,0x42,0x90,0x80,0x53,0xd5,0x5c,0x73,0x21,0x01,0x00,0x92,0x74,0x87,0x95,0xef,0x94,0xcf,0x06,},"\x55\xc7\xfa\x43\x4f\x5e\xd8\xcd\xec\x2b\x7a\xea\xc1\x73"}, -{{0xd5,0xae,0xee,0x41,0xee,0xb0,0xe9,0xd1,0xbf,0x83,0x37,0xf9,0x39,0x58,0x7e,0xbe,0x29,0x61,0x61,0xe6,0xbf,0x52,0x09,0xf5,0x91,0xec,0x93,0x9e,0x14,0x40,0xc3,0x00,},{0xfd,0x2a,0x56,0x57,0x23,0x16,0x3e,0x29,0xf5,0x3c,0x9d,0xe3,0xd5,0xe8,0xfb,0xe3,0x6a,0x7a,0xb6,0x6e,0x14,0x39,0xec,0x4e,0xae,0x9c,0x0a,0x60,0x4a,0xf2,0x91,0xa5,},{0xf6,0x8d,0x04,0x84,0x7e,0x5b,0x24,0x97,0x37,0x89,0x9c,0x01,0x4d,0x31,0xc8,0x05,0xc5,0x00,0x7a,0x62,0xc0,0xa1,0x0d,0x50,0xbb,0x15,0x38,0xc5,0xf3,0x55,0x03,0x95,0x1f,0xbc,0x1e,0x08,0x68,0x2f,0x2c,0xc0,0xc9,0x2e,0xfe,0x8f,0x49,0x85,0xde,0xc6,0x1d,0xcb,0xd5,0x4d,0x4b,0x94,0xa2,0x25,0x47,0xd2,0x44,0x51,0x27,0x1c,0x8b,0x00,},"\x0a\x68\x8e\x79\xbe\x24\xf8\x66\x28\x6d\x46\x46\xb5\xd8\x1c"}, -{{0x0a,0x47,0xd1,0x04,0x52,0xae,0x2f,0xeb,0xec,0x51,0x8a,0x1c,0x7c,0x36,0x28,0x90,0xc3,0xfc,0x1a,0x49,0xd3,0x4b,0x03,0xb6,0x46,0x7d,0x35,0xc9,0x04,0xa8,0x36,0x2d,},{0x34,0xe5,0xa8,0x50,0x8c,0x47,0x43,0x74,0x69,0x62,0xc0,0x66,0xe4,0xba,0xde,0xa2,0x20,0x1b,0x8a,0xb4,0x84,0xde,0x5c,0x4f,0x94,0x47,0x6c,0xcd,0x21,0x43,0x95,0x5b,},{0x2a,0x3d,0x27,0xdc,0x40,0xd0,0xa8,0x12,0x79,0x49,0xa3,0xb7,0xf9,0x08,0xb3,0x68,0x8f,0x63,0xb7,0xf1,0x4f,0x65,0x1a,0xac,0xd7,0x15,0x94,0x0b,0xdb,0xe2,0x7a,0x08,0x09,0xaa,0xc1,0x42,0xf4,0x7a,0xb0,0xe1,0xe4,0x4f,0xa4,0x90,0xba,0x87,0xce,0x53,0x92,0xf3,0x3a,0x89,0x15,0x39,0xca,0xf1,0xef,0x4c,0x36,0x7c,0xae,0x54,0x50,0x0c,},"\xc9\x42\xfa\x7a\xc6\xb2\x3a\xb7\xff\x61\x2f\xdc\x8e\x68\xef\x39"}, -{{0xf8,0x14,0x8f,0x75,0x06,0xb7,0x75,0xef,0x46,0xfd,0xc8,0xe8,0xc7,0x56,0x51,0x68,0x12,0xd4,0x7d,0x6c,0xfb,0xfa,0x31,0x8c,0x27,0xc9,0xa2,0x26,0x41,0xe5,0x6f,0x17,},{0x04,0x45,0xe4,0x56,0xda,0xcc,0x7d,0x5b,0x0b,0xbe,0xd2,0x3c,0x82,0x00,0xcd,0xb7,0x4b,0xdc,0xb0,0x3e,0x4c,0x7b,0x73,0xf0,0xa2,0xb9,0xb4,0x6e,0xac,0x5d,0x43,0x72,},{0x36,0x53,0xcc,0xb2,0x12,0x19,0x20,0x2b,0x84,0x36,0xfb,0x41,0xa3,0x2b,0xa2,0x61,0x8c,0x4a,0x13,0x34,0x31,0xe6,0xe6,0x34,0x63,0xce,0xb3,0xb6,0x10,0x6c,0x4d,0x56,0xe1,0xd2,0xba,0x16,0x5b,0xa7,0x6e,0xaa,0xd3,0xdc,0x39,0xbf,0xfb,0x13,0x0f,0x1d,0xe3,0xd8,0xe6,0x42,0x7d,0xb5,0xb7,0x19,0x38,0xdb,0x4e,0x27,0x2b,0xc3,0xe2,0x0b,},"\x73\x68\x72\x4a\x5b\x0e\xfb\x57\xd2\x8d\x97\x62\x2d\xbd\xe7\x25\xaf"}, -{{0x77,0xf8,0x86,0x91,0xc4,0xef,0xf2,0x3e,0xbb,0x73,0x64,0x94,0x70,0x92,0x95,0x1a,0x5f,0xf3,0xf1,0x07,0x85,0xb4,0x17,0xe9,0x18,0x82,0x3a,0x55,0x2d,0xab,0x7c,0x75,},{0x74,0xd2,0x91,0x27,0xf1,0x99,0xd8,0x6a,0x86,0x76,0xae,0xc3,0x3b,0x4c,0xe3,0xf2,0x25,0xcc,0xb1,0x91,0xf5,0x2c,0x19,0x1c,0xcd,0x1e,0x8c,0xca,0x65,0x21,0x3a,0x6b,},{0xfb,0xe9,0x29,0xd7,0x43,0xa0,0x3c,0x17,0x91,0x05,0x75,0x49,0x2f,0x30,0x92,0xee,0x2a,0x2b,0xf1,0x4a,0x60,0xa3,0xfc,0xac,0xec,0x74,0xa5,0x8c,0x73,0x34,0x51,0x0f,0xc2,0x62,0xdb,0x58,0x27,0x91,0x32,0x2d,0x6c,0x8c,0x41,0xf1,0x70,0x0a,0xdb,0x80,0x02,0x7e,0xca,0xbc,0x14,0x27,0x0b,0x70,0x34,0x44,0xae,0x3e,0xe7,0x62,0x3e,0x0a,},"\xbd\x8e\x05\x03\x3f\x3a\x8b\xcd\xcb\xf4\xbe\xce\xb7\x09\x01\xc8\x2e\x31"}, -{{0xab,0x6f,0x7a,0xee,0x6a,0x08,0x37,0xb3,0x34,0xba,0x5e,0xb1,0xb2,0xad,0x7f,0xce,0xcf,0xab,0x7e,0x32,0x3c,0xab,0x18,0x7f,0xe2,0xe0,0xa9,0x5d,0x80,0xef,0xf1,0x32,},{0x5b,0x96,0xdc,0xa4,0x97,0x87,0x5b,0xf9,0x66,0x4c,0x5e,0x75,0xfa,0xcf,0x3f,0x9b,0xc5,0x4b,0xae,0x91,0x3d,0x66,0xca,0x15,0xee,0x85,0xf1,0x49,0x1c,0xa2,0x4d,0x2c,},{0x73,0xbc,0xa6,0x4e,0x9d,0xd0,0xdb,0x88,0x13,0x8e,0xed,0xfa,0xfc,0xea,0x8f,0x54,0x36,0xcf,0xb7,0x4b,0xfb,0x0e,0x77,0x33,0xcf,0x34,0x9b,0xaa,0x0c,0x49,0x77,0x5c,0x56,0xd5,0x93,0x4e,0x1d,0x38,0xe3,0x6f,0x39,0xb7,0xc5,0xbe,0xb0,0xa8,0x36,0x51,0x0c,0x45,0x12,0x6f,0x8e,0xc4,0xb6,0x81,0x05,0x19,0x90,0x5b,0x0c,0xa0,0x7c,0x09,},"\x81\x71\x45\x6f\x8b\x90\x71\x89\xb1\xd7\x79\xe2\x6b\xc5\xaf\xbb\x08\xc6\x7a"}, -{{0x8d,0x13,0x5d,0xe7,0xc8,0x41,0x1b,0xbd,0xbd,0x1b,0x31,0xe5,0xdc,0x67,0x8f,0x2a,0xc7,0x10,0x9e,0x79,0x2b,0x60,0xf3,0x8c,0xd2,0x49,0x36,0xe8,0xa8,0x98,0xc3,0x2d,},{0x1c,0xa2,0x81,0x93,0x85,0x29,0x89,0x65,0x35,0xa7,0x71,0x4e,0x35,0x84,0x08,0x5b,0x86,0xef,0x9f,0xec,0x72,0x3f,0x42,0x81,0x9f,0xc8,0xdd,0x5d,0x8c,0x00,0x81,0x7f,},{0xa1,0xad,0xc2,0xbc,0x6a,0x2d,0x98,0x06,0x62,0x67,0x7e,0x7f,0xdf,0xf6,0x42,0x4d,0xe7,0xdb,0xa5,0x0f,0x57,0x95,0xca,0x90,0xfd,0xf3,0xe9,0x6e,0x25,0x6f,0x32,0x85,0xca,0xc7,0x1d,0x33,0x60,0x48,0x2e,0x99,0x3d,0x02,0x94,0xba,0x4e,0xc7,0x44,0x0c,0x61,0xaf,0xfd,0xf3,0x5f,0xe8,0x3e,0x6e,0x04,0x26,0x39,0x37,0xdb,0x93,0xf1,0x05,},"\x8b\xa6\xa4\xc9\xa1\x5a\x24\x4a\x9c\x26\xbb\x2a\x59\xb1\x02\x6f\x21\x34\x8b\x49"}, -{{0x0e,0x76,0x5d,0x72,0x0e,0x70,0x5f,0x93,0x66,0xc1,0xab,0x8c,0x3f,0xa8,0x4c,0x9a,0x44,0x37,0x0c,0x06,0x96,0x9f,0x80,0x32,0x96,0x88,0x4b,0x28,0x46,0xa6,0x52,0xa4,},{0x7f,0xae,0x45,0xdd,0x0a,0x05,0x97,0x10,0x26,0xd4,0x10,0xbc,0x49,0x7a,0xf5,0xbe,0x7d,0x08,0x27,0xa8,0x2a,0x14,0x5c,0x20,0x3f,0x62,0x5d,0xfc,0xb8,0xb0,0x3b,0xa8,},{0xbb,0x61,0xcf,0x84,0xde,0x61,0x86,0x22,0x07,0xc6,0xa4,0x55,0x25,0x8b,0xc4,0xdb,0x4e,0x15,0xee,0xa0,0x31,0x7f,0xf8,0x87,0x18,0xb8,0x82,0xa0,0x6b,0x5c,0xf6,0xec,0x6f,0xd2,0x0c,0x5a,0x26,0x9e,0x5d,0x5c,0x80,0x5b,0xaf,0xbc,0xc5,0x79,0xe2,0x59,0x0a,0xf4,0x14,0xc7,0xc2,0x27,0x27,0x3c,0x10,0x2a,0x10,0x07,0x0c,0xdf,0xe8,0x0f,},"\x1d\x56\x6a\x62\x32\xbb\xaa\xb3\xe6\xd8\x80\x4b\xb5\x18\xa4\x98\xed\x0f\x90\x49\x86"}, -{{0xdb,0x36,0xe3,0x26,0xd6,0x76,0xc2,0xd1,0x9c,0xc8,0xfe,0x0c,0x14,0xb7,0x09,0x20,0x2e,0xcf,0xc7,0x61,0xd2,0x70,0x89,0xeb,0x6e,0xa4,0xb1,0xbb,0x02,0x1e,0xcf,0xa7,},{0x48,0x35,0x9b,0x85,0x0d,0x23,0xf0,0x71,0x5d,0x94,0xbb,0x8b,0xb7,0x5e,0x7e,0x14,0x32,0x2e,0xaf,0x14,0xf0,0x6f,0x28,0xa8,0x05,0x40,0x3f,0xbd,0xa0,0x02,0xfc,0x85,},{0xb6,0xdc,0xd0,0x99,0x89,0xdf,0xba,0xc5,0x43,0x22,0xa3,0xce,0x87,0x87,0x6e,0x1d,0x62,0x13,0x4d,0xa9,0x98,0xc7,0x9d,0x24,0xb5,0x0b,0xd7,0xa6,0xa7,0x97,0xd8,0x6a,0x0e,0x14,0xdc,0x9d,0x74,0x91,0xd6,0xc1,0x4a,0x67,0x3c,0x65,0x2c,0xfb,0xec,0x9f,0x96,0x2a,0x38,0xc9,0x45,0xda,0x3b,0x2f,0x08,0x79,0xd0,0xb6,0x8a,0x92,0x13,0x00,},"\x1b\x0a\xfb\x0a\xc4\xba\x9a\xb7\xb7\x17\x2c\xdd\xc9\xeb\x42\xbb\xa1\xa6\x4b\xce\x47\xd4"}, -{{0xc8,0x99,0x55,0xe0,0xf7,0x74,0x1d,0x90,0x5d,0xf0,0x73,0x0b,0x3d,0xc2,0xb0,0xce,0x1a,0x13,0x13,0x4e,0x44,0xfe,0xf3,0xd4,0x0d,0x60,0xc0,0x20,0xef,0x19,0xdf,0x77,},{0xfd,0xb3,0x06,0x73,0x40,0x2f,0xaf,0x1c,0x80,0x33,0x71,0x4f,0x35,0x17,0xe4,0x7c,0xc0,0xf9,0x1f,0xe7,0x0c,0xf3,0x83,0x6d,0x6c,0x23,0x63,0x6e,0x3f,0xd2,0x28,0x7c,},{0x7e,0xf6,0x6e,0x5e,0x86,0xf2,0x36,0x08,0x48,0xe0,0x01,0x4e,0x94,0x88,0x0a,0xe2,0x92,0x0a,0xd8,0xa3,0x18,0x5a,0x46,0xb3,0x5d,0x1e,0x07,0xde,0xa8,0xfa,0x8a,0xe4,0xf6,0xb8,0x43,0xba,0x17,0x4d,0x99,0xfa,0x79,0x86,0x65,0x4a,0x08,0x91,0xc1,0x2a,0x79,0x44,0x55,0x66,0x93,0x75,0xbf,0x92,0xaf,0x4c,0xc2,0x77,0x0b,0x57,0x9e,0x0c,},"\x50\x7c\x94\xc8\x82\x0d\x2a\x57\x93\xcb\xf3\x44\x2b\x3d\x71\x93\x6f\x35\xfe\x3a\xfe\xf3\x16"}, -{{0x4e,0x62,0x62,0x7f,0xc2,0x21,0x14,0x24,0x78,0xae,0xe7,0xf0,0x07,0x81,0xf8,0x17,0xf6,0x62,0xe3,0xb7,0x5d,0xb2,0x9b,0xb1,0x4a,0xb4,0x7c,0xf8,0xe8,0x41,0x04,0xd6,},{0xb1,0xd3,0x98,0x01,0x89,0x20,0x27,0xd5,0x8a,0x8c,0x64,0x33,0x51,0x63,0x19,0x58,0x93,0xbf,0xc1,0xb6,0x1d,0xbe,0xca,0x32,0x60,0x49,0x7e,0x1f,0x30,0x37,0x11,0x07,},{0x83,0x6a,0xfa,0x76,0x4d,0x9c,0x48,0xaa,0x47,0x70,0xa4,0x38,0x8b,0x65,0x4e,0x97,0xb3,0xc1,0x6f,0x08,0x29,0x67,0xfe,0xbc,0xa2,0x7f,0x2f,0xc4,0x7d,0xdf,0xd9,0x24,0x4b,0x03,0xcf,0xc7,0x29,0x69,0x8a,0xcf,0x51,0x09,0x70,0x43,0x46,0xb6,0x0b,0x23,0x0f,0x25,0x54,0x30,0x08,0x9d,0xdc,0x56,0x91,0x23,0x99,0xd1,0x12,0x2d,0xe7,0x0a,},"\xd3\xd6\x15\xa8\x47\x2d\x99\x62\xbb\x70\xc5\xb5\x46\x6a\x3d\x98\x3a\x48\x11\x04\x6e\x2a\x0e\xf5"}, -{{0x6b,0x83,0xd7,0xda,0x89,0x08,0xc3,0xe7,0x20,0x5b,0x39,0x86,0x4b,0x56,0xe5,0xf3,0xe1,0x71,0x96,0xa3,0xfc,0x9c,0x2f,0x58,0x05,0xaa,0xd0,0xf5,0x55,0x4c,0x14,0x2d,},{0xd0,0xc8,0x46,0xf9,0x7f,0xe2,0x85,0x85,0xc0,0xee,0x15,0x90,0x15,0xd6,0x4c,0x56,0x31,0x1c,0x88,0x6e,0xdd,0xcc,0x18,0x5d,0x29,0x6d,0xbb,0x16,0x5d,0x26,0x25,0xd6,},{0x16,0xe4,0x62,0xa2,0x9a,0x6d,0xd4,0x98,0x68,0x5a,0x37,0x18,0xb3,0xee,0xd0,0x0c,0xc1,0x59,0x86,0x01,0xee,0x47,0x82,0x04,0x86,0x03,0x2d,0x6b,0x9a,0xcc,0x9b,0xf8,0x9f,0x57,0x68,0x4e,0x08,0xd8,0xc0,0xf0,0x55,0x89,0xcd,0xa2,0x88,0x2a,0x05,0xdc,0x4c,0x63,0xf9,0xd0,0x43,0x1d,0x65,0x52,0x71,0x08,0x12,0x43,0x30,0x03,0xbc,0x08,},"\x6a\xda\x80\xb6\xfa\x84\xf7\x03\x49\x20\x78\x9e\x85\x36\xb8\x2d\x5e\x46\x78\x05\x9a\xed\x27\xf7\x1c"}, -{{0x19,0xa9,0x1f,0xe2,0x3a,0x4e,0x9e,0x33,0xec,0xc4,0x74,0x87,0x8f,0x57,0xc6,0x4c,0xf1,0x54,0xb3,0x94,0x20,0x34,0x87,0xa7,0x03,0x5e,0x1a,0xd9,0xcd,0x69,0x7b,0x0d,},{0x2b,0xf3,0x2b,0xa1,0x42,0xba,0x46,0x22,0xd8,0xf3,0xe2,0x9e,0xcd,0x85,0xee,0xa0,0x7b,0x9c,0x47,0xbe,0x9d,0x64,0x41,0x2c,0x9b,0x51,0x0b,0x27,0xdd,0x21,0x8b,0x23,},{0x88,0x1f,0x5b,0x8c,0x5a,0x03,0x0d,0xf0,0xf7,0x5b,0x66,0x34,0xb0,0x70,0xdd,0x27,0xbd,0x1e,0xe3,0xc0,0x87,0x38,0xae,0x34,0x93,0x38,0xb3,0xee,0x64,0x69,0xbb,0xf9,0x76,0x0b,0x13,0x57,0x8a,0x23,0x7d,0x51,0x82,0x53,0x5e,0xde,0x12,0x12,0x83,0x02,0x7a,0x90,0xb5,0xf8,0x65,0xd6,0x3a,0x65,0x37,0xdc,0xa0,0x7b,0x44,0x04,0x9a,0x0f,},"\x82\xcb\x53\xc4\xd5\xa0\x13\xba\xe5\x07\x07\x59\xec\x06\xc3\xc6\x95\x5a\xb7\xa4\x05\x09\x58\xec\x32\x8c"}, -{{0x1d,0x5b,0x8c,0xb6,0x21,0x5c,0x18,0x14,0x16,0x66,0xba,0xee,0xfc,0xf5,0xd6,0x9d,0xad,0x5b,0xea,0x9a,0x34,0x93,0xdd,0xda,0xa3,0x57,0xa4,0x39,0x7a,0x13,0xd4,0xde,},{0x94,0xd2,0x3d,0x97,0x7c,0x33,0xe4,0x9e,0x5e,0x49,0x92,0xc6,0x8f,0x25,0xec,0x99,0xa2,0x7c,0x41,0xce,0x6b,0x91,0xf2,0xbf,0xa0,0xcd,0x82,0x92,0xfe,0x96,0x28,0x35,},{0x3a,0xcd,0x39,0xbe,0xc8,0xc3,0xcd,0x2b,0x44,0x29,0x97,0x22,0xb5,0x85,0x0a,0x04,0x00,0xc1,0x44,0x35,0x90,0xfd,0x48,0x61,0xd5,0x9a,0xae,0x74,0x96,0xac,0xb3,0xdf,0x73,0xfc,0x3f,0xdf,0x79,0x69,0xae,0x5f,0x50,0xba,0x47,0xdd,0xdc,0x43,0x52,0x46,0xe5,0xfd,0x37,0x6f,0x6b,0x89,0x1c,0xd4,0xc2,0xca,0xf5,0xd6,0x14,0xb6,0x17,0x0c,},"\xa9\xa8\xcb\xb0\xad\x58\x51\x24\xe5\x22\xab\xbf\xb4\x05\x33\xbd\xd6\xf4\x93\x47\xb5\x5b\x18\xe8\x55\x8c\xb0"}, -{{0x6a,0x91,0xb3,0x22,0x7c,0x47,0x22,0x99,0x08,0x9b,0xdc,0xe9,0x35,0x6e,0x72,0x6a,0x40,0xef,0xd8,0x40,0xf1,0x10,0x02,0x70,0x8b,0x7e,0xe5,0x5b,0x64,0x10,0x5a,0xc2,},{0x9d,0x08,0x4a,0xa8,0xb9,0x7a,0x6b,0x9b,0xaf,0xa4,0x96,0xdb,0xc6,0xf7,0x6f,0x33,0x06,0xa1,0x16,0xc9,0xd9,0x17,0xe6,0x81,0x52,0x0a,0x0f,0x91,0x43,0x69,0x42,0x7e,},{0xf5,0x87,0x54,0x23,0x78,0x1b,0x66,0x21,0x6c,0xb5,0xe8,0x99,0x8d,0xe5,0xd9,0xff,0xc2,0x9d,0x1d,0x67,0x10,0x70,0x54,0xac,0xe3,0x37,0x45,0x03,0xa9,0xc3,0xef,0x81,0x15,0x77,0xf2,0x69,0xde,0x81,0x29,0x67,0x44,0xbd,0x70,0x6f,0x1a,0xc4,0x78,0xca,0xf0,0x9b,0x54,0xcd,0xf8,0x71,0xb3,0xf8,0x02,0xbd,0x57,0xf9,0xa6,0xcb,0x91,0x01,},"\x5c\xb6\xf9\xaa\x59\xb8\x0e\xca\x14\xf6\xa6\x8f\xb4\x0c\xf0\x7b\x79\x4e\x75\x17\x1f\xba\x96\x26\x2c\x1c\x6a\xdc"}, -{{0x93,0xea,0xa8,0x54,0xd7,0x91,0xf0,0x53,0x72,0xce,0x72,0xb9,0x4f,0xc6,0x50,0x3b,0x2f,0xf8,0xae,0x68,0x19,0xe6,0xa2,0x1a,0xfe,0x82,0x5e,0x27,0xad,0xa9,0xe4,0xfb,},{0x16,0xce,0xe8,0xa3,0xf2,0x63,0x18,0x34,0xc8,0x8b,0x67,0x08,0x97,0xff,0x0b,0x08,0xce,0x90,0xcc,0x14,0x7b,0x45,0x93,0xb3,0xf1,0xf4,0x03,0x72,0x7f,0x7e,0x7a,0xd5,},{0xd8,0x34,0x19,0x7c,0x1a,0x30,0x80,0x61,0x4e,0x0a,0x5f,0xa0,0xaa,0xaa,0x80,0x88,0x24,0xf2,0x1c,0x38,0xd6,0x92,0xe6,0xff,0xbd,0x20,0x0f,0x7d,0xfb,0x3c,0x8f,0x44,0x40,0x2a,0x73,0x82,0x18,0x0b,0x98,0xad,0x0a,0xfc,0x8e,0xec,0x1a,0x02,0xac,0xec,0xf3,0xcb,0x7f,0xde,0x62,0x7b,0x9f,0x18,0x11,0x1f,0x26,0x0a,0xb1,0xdb,0x9a,0x07,},"\x32\xfe\x27\x99\x41\x24\x20\x21\x53\xb5\xc7\x0d\x38\x13\xfd\xee\x9c\x2a\xa6\xe7\xdc\x74\x3d\x4d\x53\x5f\x18\x40\xa5"}, -{{0x94,0x1c,0xac,0x69,0xfb,0x7b,0x18,0x15,0xc5,0x7b,0xb9,0x87,0xc4,0xd6,0xc2,0xad,0x2c,0x35,0xd5,0xf9,0xa3,0x18,0x2a,0x79,0xd4,0xba,0x13,0xea,0xb2,0x53,0xa8,0xad,},{0x23,0xbe,0x32,0x3c,0x56,0x2d,0xfd,0x71,0xce,0x65,0xf5,0xbb,0xa5,0x6a,0x74,0xa3,0xa6,0xdf,0xc3,0x6b,0x57,0x3d,0x2f,0x94,0xf6,0x35,0xc7,0xf9,0xb4,0xfd,0x5a,0x5b,},{0x0f,0x8f,0xad,0x1e,0x6b,0xde,0x77,0x1b,0x4f,0x54,0x20,0xea,0xc7,0x5c,0x37,0x8b,0xae,0x6d,0xb5,0xac,0x66,0x50,0xcd,0x2b,0xc2,0x10,0xc1,0x82,0x3b,0x43,0x2b,0x48,0xe0,0x16,0xb1,0x05,0x95,0x45,0x8f,0xfa,0xb9,0x2f,0x7a,0x89,0x89,0xb2,0x93,0xce,0xb8,0xdf,0xed,0x6c,0x24,0x3a,0x20,0x38,0xfc,0x06,0x65,0x2a,0xaa,0xf1,0x6f,0x02,},"\xbb\x31\x72\x79\x57\x10\xfe\x00\x05\x4d\x3b\x5d\xfe\xf8\xa1\x16\x23\x58\x2d\xa6\x8b\xf8\xe4\x6d\x72\xd2\x7c\xec\xe2\xaa"}, -{{0x1a,0xcd,0xbb,0x79,0x3b,0x03,0x84,0x93,0x46,0x27,0x47,0x0d,0x79,0x5c,0x3d,0x1d,0xd4,0xd7,0x9c,0xea,0x59,0xef,0x98,0x3f,0x29,0x5b,0x9b,0x59,0x17,0x9c,0xbb,0x28,},{0x3f,0x60,0xc7,0x54,0x1a,0xfa,0x76,0xc0,0x19,0xcf,0x5a,0xa8,0x2d,0xcd,0xb0,0x88,0xed,0x9e,0x4e,0xd9,0x78,0x05,0x14,0xae,0xfb,0x37,0x9d,0xab,0xc8,0x44,0xf3,0x1a,},{0xbe,0x71,0xef,0x48,0x06,0xcb,0x04,0x1d,0x88,0x5e,0xff,0xd9,0xe6,0xb0,0xfb,0xb7,0x3d,0x65,0xd7,0xcd,0xec,0x47,0xa8,0x9c,0x8a,0x99,0x48,0x92,0xf4,0xe5,0x5a,0x56,0x8c,0x4c,0xc7,0x8d,0x61,0xf9,0x01,0xe8,0x0d,0xbb,0x62,0x8b,0x86,0xa2,0x3c,0xcd,0x59,0x4e,0x71,0x2b,0x57,0xfa,0x94,0xc2,0xd6,0x7e,0xc2,0x66,0x34,0x87,0x85,0x07,},"\x7c\xf3\x4f\x75\xc3\xda\xc9\xa8\x04\xd0\xfc\xd0\x9e\xba\x9b\x29\xc9\x48\x4e\x8a\x01\x8f\xa9\xe0\x73\x04\x2d\xf8\x8e\x3c\x56"}, -{{0x8e,0xd7,0xa7,0x97,0xb9,0xce,0xa8,0xa8,0x37,0x0d,0x41,0x91,0x36,0xbc,0xdf,0x68,0x3b,0x75,0x9d,0x2e,0x3c,0x69,0x47,0xf1,0x7e,0x13,0xe2,0x48,0x5a,0xa9,0xd4,0x20,},{0xb4,0x9f,0x3a,0x78,0xb1,0xc6,0xa7,0xfc,0xa8,0xf3,0x46,0x6f,0x33,0xbc,0x0e,0x92,0x9f,0x01,0xfb,0xa0,0x43,0x06,0xc2,0xa7,0x46,0x5f,0x46,0xc3,0x75,0x93,0x16,0xd9,},{0x04,0x26,0x6c,0x03,0x3b,0x91,0xc1,0x32,0x2c,0xeb,0x34,0x46,0xc9,0x01,0xff,0xcf,0x3c,0xc4,0x0c,0x40,0x34,0xe8,0x87,0xc9,0x59,0x7c,0xa1,0x89,0x3b,0xa7,0x33,0x0b,0xec,0xbb,0xd8,0xb4,0x81,0x42,0xef,0x35,0xc0,0x12,0xc6,0xba,0x51,0xa6,0x6d,0xf9,0x30,0x8c,0xb6,0x26,0x8a,0xd6,0xb1,0xe4,0xb0,0x3e,0x70,0x10,0x24,0x95,0x79,0x0b,},"\xa7\x50\xc2\x32\x93\x3d\xc1\x4b\x11\x84\xd8\x6d\x8b\x4c\xe7\x2e\x16\xd6\x97\x44\xba\x69\x81\x8b\x6a\xc3\x3b\x1d\x82\x3b\xb2\xc3"}, -{{0xf2,0xab,0x39,0x6f,0xe8,0x90,0x6e,0x3e,0x56,0x33,0xe9,0x9c,0xab,0xcd,0x5b,0x09,0xdf,0x08,0x59,0xb5,0x16,0x23,0x0b,0x1e,0x04,0x50,0xb5,0x80,0xb6,0x5f,0x61,0x6c,},{0x8e,0xa0,0x74,0x24,0x51,0x59,0xa1,0x16,0xaa,0x71,0x22,0xa2,0x5e,0xc1,0x6b,0x89,0x1d,0x62,0x5a,0x68,0xf3,0x36,0x60,0x42,0x39,0x08,0xf6,0xbd,0xc4,0x4f,0x8c,0x1b,},{0xa0,0x6a,0x23,0xd9,0x82,0xd8,0x1a,0xb8,0x83,0xaa,0xe2,0x30,0xad,0xbc,0x36,0x8a,0x6a,0x99,0x77,0xf0,0x03,0xce,0xbb,0x00,0xd4,0xc2,0xe4,0x01,0x84,0x90,0x19,0x1a,0x84,0xd3,0xa2,0x82,0xfd,0xbf,0xb2,0xfc,0x88,0x04,0x6e,0x62,0xde,0x43,0xe1,0x5f,0xb5,0x75,0x33,0x6b,0x3c,0x8b,0x77,0xd1,0x9c,0xe6,0xa0,0x09,0xce,0x51,0xf5,0x0c,},"\x5a\x44\xe3\x4b\x74\x6c\x5f\xd1\x89\x8d\x55\x2a\xb3\x54\xd2\x8f\xb4\x71\x38\x56\xd7\x69\x7d\xd6\x3e\xb9\xbd\x6b\x99\xc2\x80\xe1\x87"}, -{{0x55,0x0a,0x41,0xc0,0x13,0xf7,0x9b,0xab,0x8f,0x06,0xe4,0x3a,0xd1,0x83,0x6d,0x51,0x31,0x27,0x36,0xa9,0x71,0x38,0x06,0xfa,0xfe,0x66,0x45,0x21,0x9e,0xaa,0x1f,0x9d,},{0xaf,0x6b,0x71,0x45,0x47,0x4d,0xc9,0x95,0x4b,0x9a,0xf9,0x3a,0x9c,0xdb,0x34,0x44,0x9d,0x5b,0x7c,0x65,0x1c,0x82,0x4d,0x24,0xe2,0x30,0xb9,0x00,0x33,0xce,0x59,0xc0,},{0x16,0xdc,0x1e,0x2b,0x9f,0xa9,0x09,0xee,0xfd,0xc2,0x77,0xba,0x16,0xeb,0xe2,0x07,0xb8,0xda,0x5e,0x91,0x14,0x3c,0xde,0x78,0xc5,0x04,0x7a,0x89,0xf6,0x81,0xc3,0x3c,0x4e,0x4e,0x34,0x28,0xd5,0xc9,0x28,0x09,0x59,0x03,0xa8,0x11,0xec,0x00,0x2d,0x52,0xa3,0x9e,0xd7,0xf8,0xb3,0xfe,0x19,0x27,0x20,0x0c,0x6d,0xd0,0xb9,0xab,0x3e,0x04,},"\x8b\xc4\x18\x5e\x50\xe5\x7d\x5f\x87\xf4\x75\x15\xfe\x2b\x18\x37\xd5\x85\xf0\xaa\xe9\xe1\xca\x38\x3b\x3e\xc9\x08\x88\x4b\xb9\x00\xff\x27"}, -{{0x19,0xac,0x3e,0x27,0x24,0x38,0xc7,0x2d,0xdf,0x7b,0x88,0x19,0x64,0x86,0x7c,0xb3,0xb3,0x1f,0xf4,0xc7,0x93,0xbb,0x7e,0xa1,0x54,0x61,0x3c,0x1d,0xb0,0x68,0xcb,0x7e,},{0xf8,0x5b,0x80,0xe0,0x50,0xa1,0xb9,0x62,0x0d,0xb1,0x38,0xbf,0xc9,0xe1,0x00,0x32,0x7e,0x25,0xc2,0x57,0xc5,0x92,0x17,0xb6,0x01,0xf1,0xf6,0xac,0x9a,0x41,0x3d,0x3f,},{0xea,0x85,0x5d,0x78,0x1c,0xbe,0xa4,0x68,0x2e,0x35,0x01,0x73,0xcb,0x89,0xe8,0x61,0x9c,0xcf,0xdd,0xb9,0x7c,0xdc,0xe1,0x6f,0x9a,0x2f,0x6f,0x68,0x92,0xf4,0x6d,0xbe,0x68,0xe0,0x4b,0x12,0xb8,0xd8,0x86,0x89,0xa7,0xa3,0x16,0x70,0xcd,0xff,0x40,0x9a,0xf9,0x8a,0x93,0xb4,0x9a,0x34,0x53,0x7b,0x6a,0xa0,0x09,0xd2,0xeb,0x8b,0x47,0x01,},"\x95\x87\x2d\x5f\x78\x9f\x95\x48\x4e\x30\xcb\xb0\xe1\x14\x02\x89\x53\xb1\x6f\x5c\x6a\x8d\x9f\x65\xc0\x03\xa8\x35\x43\xbe\xaa\x46\xb3\x86\x45"}, -{{0xca,0x26,0x7d,0xe9,0x6c,0x93,0xc2,0x38,0xfa,0xfb,0x12,0x79,0x81,0x20,0x59,0xab,0x93,0xac,0x03,0x05,0x96,0x57,0xfd,0x99,0x4f,0x8f,0xa5,0xa0,0x92,0x39,0xc8,0x21,},{0x01,0x73,0x70,0xc8,0x79,0x09,0x0a,0x81,0xc7,0xf2,0x72,0xc2,0xfc,0x80,0xe3,0xaa,0xc2,0xbc,0x60,0x3f,0xcb,0x37,0x9a,0xfc,0x98,0x69,0x11,0x60,0xab,0x74,0x5b,0x26,},{0xac,0x95,0x7f,0x82,0x33,0x5a,0xa7,0x14,0x1e,0x96,0xb5,0x9d,0x63,0xe3,0xcc,0xee,0x95,0xc3,0xa2,0xc4,0x7d,0x02,0x65,0x40,0xc2,0xaf,0x42,0xdc,0x95,0x33,0xd5,0xfd,0x81,0x82,0x7d,0x16,0x79,0xad,0x18,0x7a,0xea,0xf3,0x78,0x34,0x91,0x5e,0x75,0xb1,0x47,0xa9,0x28,0x68,0x06,0xc8,0x01,0x75,0x16,0xba,0x43,0xdd,0x05,0x1a,0x5e,0x0c,},"\xe0\x5f\x71\xe4\xe4\x9a\x72\xec\x55\x0c\x44\xa3\xb8\x5a\xca\x8f\x20\xff\x26\xc3\xee\x94\xa8\x0f\x1b\x43\x1c\x7d\x15\x4e\xc9\x60\x3e\xe0\x25\x31"}, -{{0x3d,0xff,0x5e,0x89,0x94,0x75,0xe7,0xe9,0x1d,0xd2,0x61,0x32,0x2f,0xab,0x09,0x98,0x0c,0x52,0x97,0x0d,0xe1,0xda,0x6e,0x2e,0x20,0x16,0x60,0xcc,0x4f,0xce,0x70,0x32,},{0xf3,0x01,0x62,0xba,0xc9,0x84,0x47,0xc4,0x04,0x2f,0xac,0x05,0xda,0x44,0x80,0x34,0x62,0x9b,0xe2,0xc6,0xa5,0x8d,0x30,0xdf,0xd5,0x78,0xba,0x9f,0xb5,0xe3,0x93,0x0b,},{0x5e,0xfe,0x7a,0x92,0xff,0x96,0x23,0x08,0x9b,0x3e,0x3b,0x78,0xf3,0x52,0x11,0x53,0x66,0xe2,0x6b,0xa3,0xfb,0x1a,0x41,0x62,0x09,0xbc,0x02,0x9e,0x9c,0xad,0xcc,0xd9,0xf4,0xaf,0xfa,0x33,0x35,0x55,0xa8,0xf3,0xa3,0x5a,0x9d,0x0f,0x7c,0x34,0xb2,0x92,0xca,0xe7,0x7e,0xc9,0x6f,0xa3,0xad,0xfc,0xaa,0xde,0xe2,0xd9,0xce,0xd8,0xf8,0x05,},"\x93\x8f\x0e\x77\x62\x1b\xf3\xea\x52\xc7\xc4\x91\x1c\x51\x57\xc2\xd8\xa2\xa8\x58\x09\x3e\xf1\x6a\xa9\xb1\x07\xe6\x9d\x98\x03\x7b\xa1\x39\xa3\xc3\x82"}, -{{0x9a,0x6b,0x84,0x78,0x64,0xe7,0x0c,0xfe,0x8b,0xa6,0xab,0x22,0xfa,0x0c,0xa3,0x08,0xc0,0xcc,0x8b,0xec,0x71,0x41,0xfb,0xca,0xa3,0xb8,0x1f,0x5d,0x1e,0x1c,0xfc,0xfc,},{0x34,0xad,0x0f,0xbd,0xb2,0x56,0x65,0x07,0xa8,0x1c,0x2b,0x1f,0x8a,0xa8,0xf5,0x3d,0xcc,0xaa,0x64,0xcc,0x87,0xad,0xa9,0x1b,0x90,0x3e,0x90,0x0d,0x07,0xee,0xe9,0x30,},{0x2a,0xb2,0x55,0x16,0x9c,0x48,0x9c,0x54,0xc7,0x32,0x23,0x2e,0x37,0xc8,0x73,0x49,0xd4,0x86,0xb1,0xeb,0xa2,0x05,0x09,0xdb,0xab,0xe7,0xfe,0xd3,0x29,0xef,0x08,0xfd,0x75,0xba,0x1c,0xd1,0x45,0xe6,0x7b,0x2e,0xa2,0x6c,0xb5,0xcc,0x51,0xca,0xb3,0x43,0xee,0xb0,0x85,0xfe,0x1f,0xd7,0xb0,0xec,0x4c,0x6a,0xfc,0xd9,0xb9,0x79,0xf9,0x05,},"\x83\x83\x67\x47\x11\x83\xc7\x1f\x7e\x71\x77\x24\xf8\x9d\x40\x1c\x3a\xd9\x86\x3f\xd9\xcc\x7a\xa3\xcf\x33\xd3\xc5\x29\x86\x0c\xb5\x81\xf3\x09\x3d\x87\xda"}, -{{0x57,0x5b,0xe0,0x7a,0xfc,0xa5,0xd0,0x63,0xc2,0x38,0xcd,0x9b,0x80,0x28,0x77,0x2c,0xc4,0x9c,0xda,0x34,0x47,0x14,0x32,0xa2,0xe1,0x66,0xe0,0x96,0xe2,0x21,0x9e,0xfc,},{0x94,0xe5,0xeb,0x4d,0x50,0x24,0xf4,0x9d,0x7e,0xbf,0x79,0x81,0x7c,0x8d,0xe1,0x14,0x97,0xdc,0x2b,0x55,0x62,0x2a,0x51,0xae,0x12,0x3f,0xfc,0x74,0x9d,0xbb,0x16,0xe0,},{0x58,0x27,0x1d,0x44,0x23,0x6f,0x3b,0x98,0xc5,0x8f,0xd7,0xae,0x0d,0x2f,0x49,0xef,0x2b,0x6e,0x3a,0xff,0xdb,0x22,0x5a,0xa3,0xba,0x55,0x5f,0x0e,0x11,0xcc,0x53,0xc2,0x3a,0xd1,0x9b,0xaf,0x24,0x34,0x65,0x90,0xd0,0x5d,0x7d,0x53,0x90,0x58,0x20,0x82,0xcf,0x94,0xd3,0x9c,0xad,0x65,0x30,0xab,0x93,0xd1,0x3e,0xfb,0x39,0x27,0x95,0x06,},"\x33\xe5\x91\x8b\x66\xd3\x3d\x55\xfe\x71\x7c\xa3\x43\x83\xea\xe7\x8f\x0a\xf8\x28\x89\xca\xf6\x69\x6e\x1a\xc9\xd9\x5d\x1f\xfb\x32\xcb\xa7\x55\xf9\xe3\x50\x3e"}, -{{0x15,0xff,0xb4,0x55,0x14,0xd4,0x34,0x44,0xd6,0x1f,0xcb,0x10,0x5e,0x30,0xe1,0x35,0xfd,0x26,0x85,0x23,0xdd,0xa2,0x0b,0x82,0x75,0x8b,0x17,0x94,0x23,0x11,0x04,0x41,},{0x17,0x72,0xc5,0xab,0xc2,0xd2,0x3f,0xd2,0xf9,0xd1,0xc3,0x25,0x7b,0xe7,0xbc,0x3c,0x1c,0xd7,0x9c,0xee,0x40,0x84,0x4b,0x74,0x9b,0x3a,0x77,0x43,0xd2,0xf9,0x64,0xb8,},{0x68,0x28,0xcd,0x76,0x24,0xe7,0x93,0xb8,0xa4,0xce,0xb9,0x6d,0x3c,0x2a,0x97,0x5b,0xf7,0x73,0xe5,0xff,0x66,0x45,0xf3,0x53,0x61,0x40,0x58,0x62,0x1e,0x58,0x83,0x52,0x89,0xe7,0xf3,0x1f,0x42,0xdf,0xe6,0xaf,0x6d,0x73,0x6f,0x26,0x44,0x51,0x1e,0x32,0x0c,0x0f,0xa6,0x98,0x58,0x2a,0x79,0x77,0x8d,0x18,0x73,0x0e,0xd3,0xe8,0xcb,0x08,},"\xda\x9c\x55\x59\xd0\xea\x51\xd2\x55\xb6\xbd\x9d\x76\x38\xb8\x76\x47\x2f\x94\x2b\x33\x0f\xc0\xe2\xb3\x0a\xea\x68\xd7\x73\x68\xfc\xe4\x94\x82\x72\x99\x1d\x25\x7e"}, -{{0xfe,0x05,0x68,0x64,0x29,0x43,0xb2,0xe1,0xaf,0xbf,0xd1,0xf1,0x0f,0xe8,0xdf,0x87,0xa4,0x23,0x6b,0xea,0x40,0xdc,0xe7,0x42,0x07,0x2c,0xb2,0x18,0x86,0xee,0xc1,0xfa,},{0x29,0x9e,0xbd,0x1f,0x13,0x17,0x7d,0xbd,0xb6,0x6a,0x91,0x2b,0xbf,0x71,0x20,0x38,0xfd,0xf7,0x3b,0x06,0xc3,0xac,0x02,0x0c,0x7b,0x19,0x12,0x67,0x55,0xd4,0x7f,0x61,},{0xd5,0x9e,0x6d,0xfc,0xc6,0xd7,0xe3,0xe2,0xc5,0x8d,0xec,0x81,0xe9,0x85,0xd2,0x45,0xe6,0x81,0xac,0xf6,0x59,0x4a,0x23,0xc5,0x92,0x14,0xf7,0xbe,0xd8,0x01,0x5d,0x81,0x3c,0x76,0x82,0xb6,0x0b,0x35,0x83,0x44,0x03,0x11,0xe7,0x2a,0x86,0x65,0xba,0x2c,0x96,0xde,0xc2,0x3c,0xe8,0x26,0xe1,0x60,0x12,0x7e,0x18,0x13,0x2b,0x03,0x04,0x04,},"\xc5\x9d\x08\x62\xec\x1c\x97\x46\xab\xcc\x3c\xf8\x3c\x9e\xeb\xa2\xc7\x08\x2a\x03\x6a\x8c\xb5\x7c\xe4\x87\xe7\x63\x49\x27\x96\xd4\x7e\x6e\x06\x3a\x0c\x1f\xec\xcc\x2d"}, -{{0x5e,0xcb,0x16,0xc2,0xdf,0x27,0xc8,0xcf,0x58,0xe4,0x36,0xa9,0xd3,0xaf,0xfb,0xd5,0x8e,0x95,0x38,0xa9,0x26,0x59,0xa0,0xf9,0x7c,0x4c,0x4f,0x99,0x46,0x35,0xa8,0xca,},{0xda,0x76,0x8b,0x20,0xc4,0x37,0xdd,0x3a,0xa5,0xf8,0x4b,0xb6,0xa0,0x77,0xff,0xa3,0x4a,0xb6,0x85,0x01,0xc5,0x35,0x2b,0x5c,0xc3,0xfd,0xce,0x7f,0xe6,0xc2,0x39,0x8d,},{0x1c,0x72,0x3a,0x20,0xc6,0x77,0x24,0x26,0xa6,0x70,0xe4,0xd5,0xc4,0xa9,0x7c,0x6e,0xbe,0x91,0x47,0xf7,0x1b,0xb0,0xa4,0x15,0x63,0x1e,0x44,0x40,0x6e,0x29,0x03,0x22,0xe4,0xca,0x97,0x7d,0x34,0x8f,0xe7,0x85,0x6a,0x8e,0xdc,0x23,0x5d,0x0f,0xe9,0x5f,0x7e,0xd9,0x1a,0xef,0xdd,0xf2,0x8a,0x77,0xe2,0xc7,0xdb,0xfd,0x8f,0x55,0x2f,0x0a,},"\x56\xf1\x32\x9d\x9a\x6b\xe2\x5a\x61\x59\xc7\x2f\x12\x68\x8d\xc8\x31\x4e\x85\xdd\x9e\x7e\x4d\xc0\x5b\xbe\xcb\x77\x29\xe0\x23\xc8\x6f\x8e\x09\x37\x35\x3f\x27\xc7\xed\xe9"}, -{{0xd5,0x99,0xd6,0x37,0xb3,0xc3,0x0a,0x82,0xa9,0x98,0x4e,0x2f,0x75,0x84,0x97,0xd1,0x44,0xde,0x6f,0x06,0xb9,0xfb,0xa0,0x4d,0xd4,0x0f,0xd9,0x49,0x03,0x9d,0x7c,0x84,},{0x67,0x91,0xd8,0xce,0x50,0xa4,0x46,0x89,0xfc,0x17,0x87,0x27,0xc5,0xc3,0xa1,0xc9,0x59,0xfb,0xee,0xd7,0x4e,0xf7,0xd8,0xe7,0xbd,0x3c,0x1a,0xb4,0xda,0x31,0xc5,0x1f,},{0xeb,0xf1,0x0d,0x9a,0xc7,0xc9,0x61,0x08,0x14,0x0e,0x7d,0xef,0x6f,0xe9,0x53,0x3d,0x72,0x76,0x46,0xff,0x5b,0x3a,0xf2,0x73,0xc1,0xdf,0x95,0x76,0x2a,0x66,0xf3,0x2b,0x65,0xa0,0x96,0x34,0xd0,0x13,0xf5,0x4b,0x5d,0xd6,0x01,0x1f,0x91,0xbc,0x33,0x6c,0xa8,0xb3,0x55,0xce,0x33,0xf8,0xcf,0xbe,0xc2,0x53,0x5a,0x4c,0x42,0x7f,0x82,0x05,},"\xa7\xc0\x4e\x8b\xa7\x5d\x0a\x03\xd8\xb1\x66\xad\x7a\x1d\x77\xe1\xb9\x1c\x7a\xaf\x7b\xef\xdd\x99\x31\x1f\xc3\xc5\x4a\x68\x4d\xdd\x97\x1d\x5b\x32\x11\xc3\xee\xaf\xf1\xe5\x4e"}, -{{0x30,0xab,0x82,0x32,0xfa,0x70,0x18,0xf0,0xce,0x6c,0x39,0xbd,0x8f,0x78,0x2f,0xe2,0xe1,0x59,0x75,0x8b,0xb0,0xf2,0xf4,0x38,0x6c,0x7f,0x28,0xcf,0xd2,0xc8,0x58,0x98,},{0xec,0xfb,0x6a,0x2b,0xd4,0x2f,0x31,0xb6,0x12,0x50,0xba,0x5d,0xe7,0xe4,0x6b,0x47,0x19,0xaf,0xdf,0xbc,0x66,0x0d,0xb7,0x1a,0x7b,0xd1,0xdf,0x7b,0x0a,0x3a,0xbe,0x37,},{0x9a,0xf8,0x85,0x34,0x4c,0xc7,0x23,0x94,0x98,0xf7,0x12,0xdf,0x80,0xbc,0x01,0xb8,0x06,0x38,0x29,0x1e,0xd4,0xa1,0xd2,0x8b,0xaa,0x55,0x45,0x01,0x7a,0x72,0xe2,0xf6,0x56,0x49,0xcc,0xf9,0x60,0x3d,0xa6,0xeb,0x5b,0xfa,0xb9,0xf5,0x54,0x3a,0x6c,0xa4,0xa7,0xaf,0x38,0x66,0x15,0x3c,0x76,0xbf,0x66,0xbf,0x95,0xde,0xf6,0x15,0xb0,0x0c,},"\x63\xb8\x0b\x79\x56\xac\xbe\xcf\x0c\x35\xe9\xab\x06\xb9\x14\xb0\xc7\x01\x4f\xe1\xa4\xbb\xc0\x21\x72\x40\xc1\xa3\x30\x95\xd7\x07\x95\x3e\xd7\x7b\x15\xd2\x11\xad\xaf\x9b\x97\xdc"}, -{{0x0d,0xdc,0xdc,0x87,0x2c,0x7b,0x74,0x8d,0x40,0xef,0xe9,0x6c,0x28,0x81,0xae,0x18,0x9d,0x87,0xf5,0x61,0x48,0xed,0x8a,0xf3,0xeb,0xbb,0xc8,0x03,0x24,0xe3,0x8b,0xdd,},{0x58,0x8d,0xda,0xdc,0xbc,0xed,0xf4,0x0d,0xf0,0xe9,0x69,0x7d,0x8b,0xb2,0x77,0xc7,0xbb,0x14,0x98,0xfa,0x1d,0x26,0xce,0x0a,0x83,0x5a,0x76,0x0b,0x92,0xca,0x7c,0x85,},{0xc1,0x79,0xc0,0x94,0x56,0xe2,0x35,0xfe,0x24,0x10,0x5a,0xfa,0x6e,0x8e,0xc0,0x46,0x37,0xf8,0xf9,0x43,0x81,0x7c,0xd0,0x98,0xba,0x95,0x38,0x7f,0x96,0x53,0xb2,0xad,0xd1,0x81,0xa3,0x14,0x47,0xd9,0x2d,0x1a,0x1d,0xdf,0x1c,0xeb,0x0d,0xb6,0x21,0x18,0xde,0x9d,0xff,0xb7,0xdc,0xd2,0x42,0x40,0x57,0xcb,0xdf,0xf5,0xd4,0x1d,0x04,0x03,},"\x65\x64\x1c\xd4\x02\xad\xd8\xbf\x3d\x1d\x67\xdb\xeb\x6d\x41\xde\xbf\xbe\xf6\x7e\x43\x17\xc3\x5b\x0a\x6d\x5b\xbb\xae\x0e\x03\x4d\xe7\xd6\x70\xba\x14\x13\xd0\x56\xf2\xd6\xf1\xde\x12"}, -{{0x89,0xf0,0xd6,0x82,0x99,0xba,0x0a,0x5a,0x83,0xf2,0x48,0xae,0x0c,0x16,0x9f,0x8e,0x38,0x49,0xa9,0xb4,0x7b,0xd4,0x54,0x98,0x84,0x30,0x5c,0x99,0x12,0xb4,0x66,0x03,},{0xab,0xa3,0xe7,0x95,0xaa,0xb2,0x01,0x2a,0xcc,0xea,0xdd,0x7b,0x3b,0xd9,0xda,0xee,0xed,0x6f,0xf5,0x25,0x8b,0xdc,0xd7,0xc9,0x36,0x99,0xc2,0xa3,0x83,0x6e,0x38,0x32,},{0x2c,0x69,0x1f,0xa8,0xd4,0x87,0xce,0x20,0xd5,0xd2,0xfa,0x41,0x55,0x91,0x16,0xe0,0xbb,0xf4,0x39,0x7c,0xf5,0x24,0x0e,0x15,0x25,0x56,0x18,0x35,0x41,0xd6,0x6c,0xf7,0x53,0x58,0x24,0x01,0xa4,0x38,0x8d,0x39,0x03,0x39,0xdb,0xef,0x4d,0x38,0x47,0x43,0xca,0xa3,0x46,0xf5,0x5f,0x8d,0xab,0xa6,0x8b,0xa7,0xb9,0x13,0x1a,0x8a,0x6e,0x0b,},"\x4f\x18\x46\xdd\x7a\xd5\x0e\x54\x5d\x4c\xfb\xff\xbb\x1d\xc2\xff\x14\x5d\xc1\x23\x75\x4d\x08\xaf\x4e\x44\xec\xc0\xbc\x8c\x91\x41\x13\x88\xbc\x76\x53\xe2\xd8\x93\xd1\xea\xc2\x10\x7d\x05"}, -{{0x0a,0x3c,0x18,0x44,0xe2,0xdb,0x07,0x0f,0xb2,0x4e,0x3c,0x95,0xcb,0x1c,0xc6,0x71,0x4e,0xf8,0x4e,0x2c,0xcd,0x2b,0x9d,0xd2,0xf1,0x46,0x0e,0xbf,0x7e,0xcf,0x13,0xb1,},{0x72,0xe4,0x09,0x93,0x7e,0x06,0x10,0xeb,0x5c,0x20,0xb3,0x26,0xdc,0x6e,0xa1,0xbb,0xbc,0x04,0x06,0x70,0x1c,0x5c,0xd6,0x7d,0x1f,0xbd,0xe0,0x91,0x92,0xb0,0x7c,0x01,},{0x87,0xf7,0xfd,0xf4,0x60,0x95,0x20,0x1e,0x87,0x7a,0x58,0x8f,0xe3,0xe5,0xaa,0xf4,0x76,0xbd,0x63,0x13,0x8d,0x8a,0x87,0x8b,0x89,0xd6,0xac,0x60,0x63,0x1b,0x34,0x58,0xb9,0xd4,0x1a,0x3c,0x61,0xa5,0x88,0xe1,0xdb,0x8d,0x29,0xa5,0x96,0x89,0x81,0xb0,0x18,0x77,0x6c,0x58,0x87,0x80,0x92,0x2f,0x5a,0xa7,0x32,0xba,0x63,0x79,0xdd,0x05,},"\x4c\x82\x74\xd0\xed\x1f\x74\xe2\xc8\x6c\x08\xd9\x55\xbd\xe5\x5b\x2d\x54\x32\x7e\x82\x06\x2a\x1f\x71\xf7\x0d\x53\x6f\xdc\x87\x22\xcd\xea\xd7\xd2\x2a\xae\xad\x2b\xfa\xa1\xad\x00\xb8\x29\x57"}, -{{0xc8,0xd7,0xa8,0x81,0x8b,0x98,0xdf,0xdb,0x20,0x83,0x9c,0x87,0x1c,0xb5,0xc4,0x8e,0x9e,0x94,0x70,0xca,0x3a,0xd3,0x5b,0xa2,0x61,0x3a,0x5d,0x31,0x99,0xc8,0xab,0x23,},{0x90,0xd2,0xef,0xbb,0xa4,0xd4,0x3e,0x6b,0x2b,0x99,0x2c,0xa1,0x60,0x83,0xdb,0xcf,0xa2,0xb3,0x22,0x38,0x39,0x07,0xb0,0xee,0x75,0xf3,0xe9,0x58,0x45,0xd3,0xc4,0x7f,},{0xfa,0x2e,0x99,0x44,0x21,0xae,0xf1,0xd5,0x85,0x66,0x74,0x81,0x3d,0x05,0xcb,0xd2,0xcf,0x84,0xef,0x5e,0xb4,0x24,0xaf,0x6e,0xcd,0x0d,0xc6,0xfd,0xbd,0xc2,0xfe,0x60,0x5f,0xe9,0x85,0x88,0x33,0x12,0xec,0xf3,0x4f,0x59,0xbf,0xb2,0xf1,0xc9,0x14,0x9e,0x5b,0x9c,0xc9,0xec,0xda,0x05,0xb2,0x73,0x11,0x30,0xf3,0xed,0x28,0xdd,0xae,0x0b,},"\x78\x3e\x33\xc3\xac\xbd\xbb\x36\xe8\x19\xf5\x44\xa7\x78\x1d\x83\xfc\x28\x3d\x33\x09\xf5\xd3\xd1\x2c\x8d\xcd\x6b\x0b\x3d\x0e\x89\xe3\x8c\xfd\x3b\x4d\x08\x85\x66\x1c\xa5\x47\xfb\x97\x64\xab\xff"}, -{{0xb4,0x82,0x70,0x36,0x12,0xd0,0xc5,0x86,0xf7,0x6c,0xfc,0xb2,0x1c,0xfd,0x21,0x03,0xc9,0x57,0x25,0x15,0x04,0xa8,0xc0,0xac,0x4c,0x86,0xc9,0xc6,0xf3,0xe4,0x29,0xff,},{0xfd,0x71,0x1d,0xc7,0xdd,0x3b,0x1d,0xfb,0x9d,0xf9,0x70,0x4b,0xe3,0xe6,0xb2,0x6f,0x58,0x7f,0xe7,0xdd,0x7b,0xa4,0x56,0xa9,0x1b,0xa4,0x3f,0xe5,0x1a,0xec,0x09,0xad,},{0x58,0x83,0x2b,0xde,0xb2,0x6f,0xea,0xfc,0x31,0xb4,0x62,0x77,0xcf,0x3f,0xb5,0xd7,0xa1,0x7d,0xfb,0x7c,0xcd,0x9b,0x1f,0x58,0xec,0xbe,0x6f,0xeb,0x97,0x96,0x66,0x82,0x8f,0x23,0x9b,0xa4,0xd7,0x52,0x19,0x26,0x0e,0xca,0xc0,0xac,0xf4,0x0f,0x0e,0x5e,0x25,0x90,0xf4,0xca,0xa1,0x6b,0xbb,0xcd,0x8a,0x15,0x5d,0x34,0x79,0x67,0xa6,0x07,},"\x29\xd7\x7a\xcf\xd9\x9c\x7a\x00\x70\xa8\x8f\xeb\x62\x47\xa2\xbc\xe9\x98\x4f\xe3\xe6\xfb\xf1\x9d\x40\x45\x04\x2a\x21\xab\x26\xcb\xd7\x71\xe1\x84\xa9\xa7\x5f\x31\x6b\x64\x8c\x69\x20\xdb\x92\xb8\x7b"}, -{{0x84,0xe5,0x0d,0xd9,0xa0,0xf1,0x97,0xe3,0x89,0x3c,0x38,0xdb,0xd9,0x1f,0xaf,0xc3,0x44,0xc1,0x77,0x6d,0x3a,0x40,0x0e,0x2f,0x0f,0x0e,0xe7,0xaa,0x82,0x9e,0xb8,0xa2,},{0x2c,0x50,0xf8,0x70,0xee,0x48,0xb3,0x6b,0x0a,0xc2,0xf8,0xa5,0xf3,0x36,0xfb,0x09,0x0b,0x11,0x30,0x50,0xdb,0xcc,0x25,0xe0,0x78,0x20,0x0a,0x6e,0x16,0x15,0x3e,0xea,},{0x69,0xe6,0xa4,0x49,0x1a,0x63,0x83,0x73,0x16,0xe8,0x6a,0x5f,0x4b,0xa7,0xcd,0x0d,0x73,0x1e,0xcc,0x58,0xf1,0xd0,0xa2,0x64,0xc6,0x7c,0x89,0xbe,0xfd,0xd8,0xd3,0x82,0x9d,0x8d,0xe1,0x3b,0x33,0xcc,0x0b,0xf5,0x13,0x93,0x17,0x15,0xc7,0x80,0x96,0x57,0xe2,0xbf,0xb9,0x60,0xe5,0xc7,0x64,0xc9,0x71,0xd7,0x33,0x74,0x60,0x93,0xe5,0x00,},"\xf3\x99\x2c\xde\x64\x93\xe6\x71\xf1\xe1\x29\xdd\xca\x80\x38\xb0\xab\xdb\x77\xbb\x90\x35\xf9\xf8\xbe\x54\xbd\x5d\x68\xc1\xae\xff\x72\x4f\xf4\x7d\x29\x34\x43\x91\xdc\x53\x61\x66\xb8\x67\x1c\xbb\xf1\x23"}, -{{0xb3,0x22,0xd4,0x65,0x77,0xa2,0xa9,0x91,0xa4,0xd1,0x69,0x82,0x87,0x83,0x2a,0x39,0xc4,0x87,0xef,0x77,0x6b,0x4b,0xff,0x03,0x7a,0x05,0xc7,0xf1,0x81,0x2b,0xde,0xec,},{0xeb,0x2b,0xca,0xdf,0xd3,0xee,0xc2,0x98,0x6b,0xaf,0xf3,0x2b,0x98,0xe7,0xc4,0xdb,0xf0,0x3f,0xf9,0x5d,0x8a,0xd5,0xff,0x9a,0xa9,0x50,0x6e,0x54,0x72,0xff,0x84,0x5f,},{0xc7,0xb5,0x51,0x37,0x31,0x7c,0xa2,0x1e,0x33,0x48,0x9f,0xf6,0xa9,0xbf,0xab,0x97,0xc8,0x55,0xdc,0x6f,0x85,0x68,0x4a,0x70,0xa9,0x12,0x5a,0x26,0x1b,0x56,0xd5,0xe6,0xf1,0x49,0xc5,0x77,0x4d,0x73,0x4f,0x2d,0x8d,0xeb,0xfc,0x77,0xb7,0x21,0x89,0x6a,0x82,0x67,0xc2,0x37,0x68,0xe9,0xba,0xdb,0x91,0x0e,0xef,0x83,0xec,0x25,0x88,0x02,},"\x19\xf1\xbf\x5d\xcf\x17\x50\xc6\x11\xf1\xc4\xa2\x86\x52\x00\x50\x4d\x82\x29\x8e\xdd\x72\x67\x1f\x62\xa7\xb1\x47\x1a\xc3\xd4\xa3\x0f\x7d\xe9\xe5\xda\x41\x08\xc5\x2a\x4c\xe7\x0a\x3e\x11\x4a\x52\xa3\xb3\xc5"}, -{{0x96,0x0c,0xab,0x50,0x34,0xb9,0x83,0x8d,0x09,0x8d,0x2d,0xcb,0xf4,0x36,0x4b,0xec,0x16,0xd3,0x88,0xf6,0x37,0x6d,0x73,0xa6,0x27,0x3b,0x70,0xf8,0x2b,0xbc,0x98,0xc0,},{0x5e,0x3c,0x19,0xf2,0x41,0x5a,0xcf,0x72,0x9f,0x82,0x9a,0x4e,0xbd,0x5c,0x40,0xe1,0xa6,0xbc,0x9f,0xbc,0xa9,0x57,0x03,0xa9,0x37,0x60,0x87,0xed,0x09,0x37,0xe5,0x1a,},{0x27,0xd4,0xc3,0xa1,0x81,0x1e,0xf9,0xd4,0x36,0x0b,0x3b,0xdd,0x13,0x3c,0x2c,0xcc,0x30,0xd0,0x2c,0x2f,0x24,0x82,0x15,0x77,0x6c,0xb0,0x7e,0xe4,0x17,0x7f,0x9b,0x13,0xfc,0x42,0xdd,0x70,0xa6,0xc2,0xfe,0xd8,0xf2,0x25,0xc7,0x66,0x3c,0x7f,0x18,0x2e,0x7e,0xe8,0xec,0xcf,0xf2,0x0d,0xc7,0xb0,0xe1,0xd5,0x83,0x4e,0xc5,0xb1,0xea,0x01,},"\xf8\xb2\x19\x62\x44\x7b\x0a\x8f\x2e\x42\x79\xde\x41\x1b\xea\x12\x8e\x0b\xe4\x4b\x69\x15\xe6\xcd\xa8\x83\x41\xa6\x8a\x0d\x81\x83\x57\xdb\x93\x8e\xac\x73\xe0\xaf\x6d\x31\x20\x6b\x39\x48\xf8\xc4\x8a\x44\x73\x08"}, -{{0xeb,0x77,0xb2,0x63,0x8f,0x23,0xee,0xbc,0x82,0xef,0xe4,0x5e,0xe9,0xe5,0xa0,0x32,0x66,0x37,0x40,0x1e,0x66,0x3e,0xd0,0x29,0x69,0x9b,0x21,0xe6,0x44,0x3f,0xb4,0x8e,},{0x9e,0xf2,0x76,0x08,0x96,0x1a,0xc7,0x11,0xde,0x71,0xa6,0xe2,0xd4,0xd4,0x66,0x3e,0xa3,0xec,0xd4,0x2f,0xb7,0xe4,0xe8,0x62,0x7c,0x39,0x62,0x2d,0xf4,0xaf,0x0b,0xbc,},{0x18,0xdc,0x56,0xd7,0xbd,0x9a,0xcd,0x4f,0x4d,0xaa,0x78,0x54,0x0b,0x4a,0xc8,0xff,0x7a,0xa9,0x81,0x5f,0x45,0xa0,0xbb,0xa3,0x70,0x73,0x1a,0x14,0xea,0xab,0xe9,0x6d,0xf8,0xb5,0xf3,0x7d,0xbf,0x8e,0xae,0x4c,0xb1,0x5a,0x64,0xb2,0x44,0x65,0x1e,0x59,0xd6,0xa3,0xd6,0x76,0x1d,0x9e,0x3c,0x50,0xf2,0xd0,0xcb,0xb0,0x9c,0x05,0xec,0x06,},"\x99\xe3\xd0\x09\x34\x00\x3e\xba\xfc\x3e\x9f\xdb\x68\x7b\x0f\x5f\xf9\xd5\x78\x2a\x4b\x1f\x56\xb9\x70\x00\x46\xc0\x77\x91\x56\x02\xc3\x13\x4e\x22\xfc\x90\xed\x7e\x69\x0f\xdd\xd4\x43\x3e\x20\x34\xdc\xb2\xdc\x99\xab"}, -{{0xb6,0x25,0xaa,0x89,0xd3,0xf7,0x30,0x87,0x15,0x42,0x7b,0x6c,0x39,0xbb,0xac,0x58,0xef,0xfd,0x3a,0x0f,0xb7,0x31,0x6f,0x7a,0x22,0xb9,0x9e,0xe5,0x92,0x2f,0x2d,0xc9,},{0x65,0xa9,0x9c,0x3e,0x16,0xfe,0xa8,0x94,0xec,0x33,0xc6,0xb2,0x0d,0x91,0x05,0xe2,0xa0,0x4e,0x27,0x64,0xa4,0x76,0x9d,0x9b,0xbd,0x4d,0x8b,0xac,0xfe,0xab,0x4a,0x2e,},{0x01,0xbb,0x90,0x1d,0x83,0xb8,0xb6,0x82,0xd3,0x61,0x4a,0xf4,0x6a,0x80,0x7b,0xa2,0x69,0x13,0x58,0xfe,0xb7,0x75,0x32,0x5d,0x34,0x23,0xf5,0x49,0xff,0x0a,0xa5,0x75,0x7e,0x4e,0x1a,0x74,0xe9,0xc7,0x0f,0x97,0x21,0xd8,0xf3,0x54,0xb3,0x19,0xd4,0xf4,0xa1,0xd9,0x14,0x45,0xc8,0x70,0xfd,0x0f,0xfb,0x94,0xfe,0xd6,0x46,0x64,0x73,0x0d,},"\xe0\x72\x41\xdb\xd3\xad\xbe\x61\x0b\xbe\x4d\x00\x5d\xd4\x67\x32\xa4\xc2\x50\x86\xec\xb8\xec\x29\xcd\x7b\xca\x11\x6e\x1b\xf9\xf5\x3b\xfb\xf3\xe1\x1f\xa4\x90\x18\xd3\x9f\xf1\x15\x4a\x06\x66\x8e\xf7\xdf\x5c\x67\x8e\x6a"}, -{{0xb1,0xc9,0xf8,0xbd,0x03,0xfe,0x82,0xe7,0x8f,0x5c,0x0f,0xb0,0x64,0x50,0xf2,0x7d,0xac,0xdf,0x71,0x64,0x34,0xdb,0x26,0x82,0x75,0xdf,0x3e,0x1d,0xc1,0x77,0xaf,0x42,},{0x7f,0xc8,0x8b,0x1f,0x7b,0x3f,0x11,0xc6,0x29,0xbe,0x67,0x1c,0x21,0x62,0x1f,0x5c,0x10,0x67,0x2f,0xaf,0xc8,0x49,0x2d,0xa8,0x85,0x74,0x20,0x59,0xee,0x67,0x74,0xcf,},{0x4b,0x22,0x99,0x51,0xef,0x26,0x2f,0x16,0x97,0x8f,0x79,0x14,0xbc,0x67,0x2e,0x72,0x26,0xc5,0xf8,0x37,0x9d,0x27,0x78,0xc5,0xa2,0xdc,0x0a,0x26,0x50,0x86,0x9f,0x7a,0xcf,0xbd,0x0b,0xcd,0x30,0xfd,0xb0,0x61,0x9b,0xb4,0x4f,0xc1,0xae,0x59,0x39,0xb8,0x7c,0xc3,0x18,0x13,0x30,0x09,0xc2,0x03,0x95,0xb6,0xc7,0xeb,0x98,0x10,0x77,0x01,},"\x33\x1d\xa7\xa9\xc1\xf8\x7b\x2a\xc9\x1e\xe3\xb8\x6d\x06\xc2\x91\x63\xc0\x5e\xd6\xf8\xd8\xa9\x72\x5b\x47\x1b\x7d\xb0\xd6\xac\xec\x7f\x0f\x70\x24\x87\x16\x3f\x5e\xda\x02\x0c\xa5\xb4\x93\xf3\x99\xe1\xc8\xd3\x08\xc3\xc0\xc2"}, -{{0x6d,0x8c,0xdb,0x2e,0x07,0x5f,0x3a,0x2f,0x86,0x13,0x72,0x14,0xcb,0x23,0x6c,0xeb,0x89,0xa6,0x72,0x8b,0xb4,0xa2,0x00,0x80,0x6b,0xf3,0x55,0x7f,0xb7,0x8f,0xac,0x69,},{0x57,0xa0,0x4c,0x7a,0x51,0x13,0xcd,0xdf,0xe4,0x9a,0x4c,0x12,0x46,0x91,0xd4,0x6c,0x1f,0x9c,0xdc,0x8f,0x34,0x3f,0x9d,0xcb,0x72,0xa1,0x33,0x0a,0xec,0xa7,0x1f,0xda,},{0xa6,0xcb,0xc9,0x47,0xf9,0xc8,0x7d,0x14,0x55,0xcf,0x1a,0x70,0x85,0x28,0xc0,0x90,0xf1,0x1e,0xce,0xe4,0x85,0x5d,0x1d,0xba,0xad,0xf4,0x74,0x54,0xa4,0xde,0x55,0xfa,0x4c,0xe8,0x4b,0x36,0xd7,0x3a,0x5b,0x5f,0x8f,0x59,0x29,0x8c,0xcf,0x21,0x99,0x2d,0xf4,0x92,0xef,0x34,0x16,0x3d,0x87,0x75,0x3b,0x7e,0x9d,0x32,0xf2,0xc3,0x66,0x0b,},"\x7f\x31\x8d\xbd\x12\x1c\x08\xbf\xdd\xfe\xff\x4f\x6a\xff\x4e\x45\x79\x32\x51\xf8\xab\xf6\x58\x40\x33\x58\x23\x89\x84\x36\x00\x54\xf2\xa8\x62\xc5\xbb\x83\xed\x89\x02\x5d\x20\x14\xa7\xa0\xce\xe5\x0d\xa3\xcb\x0e\x76\xbb\xb6\xbf"}, -{{0x47,0xad,0xc6,0xd6,0xbf,0x57,0x1e,0xe9,0x57,0x0c,0xa0,0xf7,0x5b,0x60,0x4a,0xc4,0x3e,0x30,0x3e,0x4a,0xb3,0x39,0xca,0x9b,0x53,0xca,0xcc,0x5b,0xe4,0x5b,0x2c,0xcb,},{0xa3,0xf5,0x27,0xa1,0xc1,0xf1,0x7d,0xfe,0xed,0x92,0x27,0x73,0x47,0xc9,0xf9,0x8a,0xb4,0x75,0xde,0x17,0x55,0xb0,0xab,0x54,0x6b,0x8a,0x15,0xd0,0x1b,0x9b,0xd0,0xbe,},{0x4e,0x8c,0x31,0x83,0x43,0xc3,0x06,0xad,0xbb,0xa6,0x0c,0x92,0xb7,0x5c,0xb0,0x56,0x9b,0x92,0x19,0xd8,0xa8,0x6e,0x5d,0x57,0x75,0x2e,0xd2,0x35,0xfc,0x10,0x9a,0x43,0xc2,0xcf,0x4e,0x94,0x2c,0xac,0xf2,0x97,0x27,0x9f,0xbb,0x28,0x67,0x53,0x47,0xe0,0x80,0x27,0x72,0x2a,0x4e,0xb7,0x39,0x5e,0x00,0xa1,0x74,0x95,0xd3,0x2e,0xdf,0x0b,},"\xce\x49\x7c\x5f\xf5\xa7\x79\x90\xb7\xd8\xf8\x69\x9e\xb1\xf5\xd8\xc0\x58\x2f\x70\xcb\x7a\xc5\xc5\x4d\x9d\x92\x49\x13\x27\x8b\xc6\x54\xd3\x7e\xa2\x27\x59\x0e\x15\x20\x22\x17\xfc\x98\xda\xc4\xc0\xf3\xbe\x21\x83\xd1\x33\x31\x57\x39"}, -{{0x3c,0x19,0xb5,0x0b,0x0f,0xe4,0x79,0x61,0x71,0x9c,0x38,0x1d,0x0d,0x8d,0xa9,0xb9,0x86,0x9d,0x31,0x2f,0x13,0xe3,0x29,0x8b,0x97,0xfb,0x22,0xf0,0xaf,0x29,0xcb,0xbe,},{0x0f,0x7e,0xda,0x09,0x14,0x99,0x62,0x5e,0x2b,0xae,0x85,0x36,0xea,0x35,0xcd,0xa5,0x48,0x3b,0xd1,0x6a,0x9c,0x7e,0x41,0x6b,0x34,0x1d,0x6f,0x2c,0x83,0x34,0x36,0x12,},{0xef,0xbd,0x41,0xf2,0x6a,0x5d,0x62,0x68,0x55,0x16,0xf8,0x82,0xb6,0xec,0x74,0xe0,0xd5,0xa7,0x18,0x30,0xd2,0x03,0xc2,0x31,0x24,0x8f,0x26,0xe9,0x9a,0x9c,0x65,0x78,0xec,0x90,0x0d,0x68,0xcd,0xb8,0xfa,0x72,0x16,0xad,0x0d,0x24,0xf9,0xec,0xbc,0x9f,0xfa,0x65,0x53,0x51,0x66,0x65,0x82,0xf6,0x26,0x64,0x53,0x95,0xa3,0x1f,0xa7,0x04,},"\x8d\xdc\xd6\x30\x43\xf5\x5e\xc3\xbf\xc8\x3d\xce\xae\x69\xd8\xf8\xb3\x2f\x4c\xdb\x6e\x2a\xeb\xd9\x4b\x43\x14\xf8\xfe\x72\x87\xdc\xb6\x27\x32\xc9\x05\x2e\x75\x57\xfe\x63\x53\x43\x38\xef\xb5\xb6\x25\x4c\x5d\x41\xd2\x69\x0c\xf5\x14\x4f"}, -{{0x34,0xe1,0xe9,0xd5,0x39,0x10,0x7e,0xb8,0x6b,0x39,0x3a,0x5c,0xce,0xa1,0x49,0x6d,0x35,0xbc,0x7d,0x5e,0x9a,0x8c,0x51,0x59,0xd9,0x57,0xe4,0xe5,0x85,0x2b,0x3e,0xb0,},{0x0e,0xcb,0x26,0x01,0xd5,0xf7,0x04,0x74,0x28,0xe9,0xf9,0x09,0x88,0x3a,0x12,0x42,0x00,0x85,0xf0,0x4e,0xe2,0xa8,0x8b,0x6d,0x95,0xd3,0xd7,0xf2,0xc9,0x32,0xbd,0x76,},{0x32,0xd2,0x29,0x04,0xd3,0xe7,0x01,0x2d,0x6f,0x5a,0x44,0x1b,0x0b,0x42,0x28,0x06,0x4a,0x5c,0xf9,0x5b,0x72,0x3a,0x66,0xb0,0x48,0xa0,0x87,0xec,0xd5,0x59,0x20,0xc3,0x1c,0x20,0x4c,0x3f,0x20,0x06,0x89,0x1a,0x85,0xdd,0x19,0x32,0xe3,0xf1,0xd6,0x14,0xcf,0xd6,0x33,0xb5,0xe6,0x32,0x91,0xc6,0xd8,0x16,0x6f,0x30,0x11,0x43,0x1e,0x09,},"\xa6\xd4\xd0\x54\x2c\xfe\x0d\x24\x0a\x90\x50\x7d\xeb\xac\xab\xce\x7c\xbb\xd4\x87\x32\x35\x3f\x4f\xad\x82\xc7\xbb\x7d\xbd\x9d\xf8\xe7\xd9\xa1\x69\x80\xa4\x51\x86\xd8\x78\x6c\x5e\xf6\x54\x45\xbc\xc5\xb2\xad\x5f\x66\x0f\xfc\x7c\x8e\xaa\xc0"}, -{{0x49,0xdd,0x47,0x3e,0xde,0x6a,0xa3,0xc8,0x66,0x82,0x4a,0x40,0xad,0xa4,0x99,0x6c,0x23,0x9a,0x20,0xd8,0x4c,0x93,0x65,0xe4,0xf0,0xa4,0x55,0x4f,0x80,0x31,0xb9,0xcf,},{0x78,0x8d,0xe5,0x40,0x54,0x4d,0x3f,0xeb,0x0c,0x91,0x92,0x40,0xb3,0x90,0x72,0x9b,0xe4,0x87,0xe9,0x4b,0x64,0xad,0x97,0x3e,0xb6,0x5b,0x46,0x69,0xec,0xf2,0x35,0x01,},{0xd2,0xfd,0xe0,0x27,0x91,0xe7,0x20,0x85,0x25,0x07,0xfa,0xa7,0xc3,0x78,0x90,0x40,0xd9,0xef,0x86,0x64,0x63,0x21,0xf3,0x13,0xac,0x55,0x7f,0x40,0x02,0x49,0x15,0x42,0xdd,0x67,0xd0,0x5c,0x69,0x90,0xcd,0xb0,0xd4,0x95,0x50,0x1f,0xbc,0x5d,0x51,0x88,0xbf,0xbb,0x84,0xdc,0x1b,0xf6,0x09,0x8b,0xee,0x06,0x03,0xa4,0x7f,0xc2,0x69,0x0f,},"\x3a\x53\x59\x4f\x3f\xba\x03\x02\x93\x18\xf5\x12\xb0\x84\xa0\x71\xeb\xd6\x0b\xae\xc7\xf5\x5b\x02\x8d\xc7\x3b\xfc\x9c\x74\xe0\xca\x49\x6b\xf8\x19\xdd\x92\xab\x61\xcd\x8b\x74\xbe\x3c\x0d\x6d\xcd\x12\x8e\xfc\x5e\xd3\x34\x2c\xba\x12\x4f\x72\x6c"}, -{{0x33,0x1c,0x64,0xda,0x48,0x2b,0x6b,0x55,0x13,0x73,0xc3,0x64,0x81,0xa0,0x2d,0x81,0x36,0xec,0xad,0xbb,0x01,0xab,0x11,0x4b,0x44,0x70,0xbf,0x41,0x60,0x7a,0xc5,0x71,},{0x52,0xa0,0x0d,0x96,0xa3,0x14,0x8b,0x47,0x26,0x69,0x2d,0x9e,0xff,0x89,0x16,0x0e,0xa9,0xf9,0x9a,0x5c,0xc4,0x38,0x9f,0x36,0x1f,0xed,0x0b,0xb1,0x6a,0x42,0xd5,0x21,},{0x22,0xc9,0x9a,0xa9,0x46,0xea,0xd3,0x9a,0xc7,0x99,0x75,0x62,0x81,0x0c,0x01,0xc2,0x0b,0x46,0xbd,0x61,0x06,0x45,0xbd,0x2d,0x56,0xdc,0xdc,0xba,0xac,0xc5,0x45,0x2c,0x74,0xfb,0xf4,0xb8,0xb1,0x81,0x3b,0x0e,0x94,0xc3,0x0d,0x80,0x8c,0xe5,0x49,0x8e,0x61,0xd4,0xf7,0xcc,0xbb,0x4c,0xc5,0xf0,0x4d,0xfc,0x61,0x40,0x82,0x5a,0x96,0x00,},"\x20\xe1\xd0\x5a\x0d\x5b\x32\xcc\x81\x50\xb8\x11\x6c\xef\x39\x65\x9d\xd5\xfb\x44\x3a\xb1\x56\x00\xf7\x8e\x5b\x49\xc4\x53\x26\xd9\x32\x3f\x28\x50\xa6\x3c\x38\x08\x85\x94\x95\xae\x27\x3f\x58\xa5\x1e\x9d\xe9\xa1\x45\xd7\x74\xb4\x0b\xa9\xd7\x53\xd3"}, -{{0x5c,0x0b,0x96,0xf2,0xaf,0x87,0x12,0x12,0x2c,0xf7,0x43,0xc8,0xf8,0xdc,0x77,0xb6,0xcd,0x55,0x70,0xa7,0xde,0x13,0x29,0x7b,0xb3,0xdd,0xe1,0x88,0x62,0x13,0xcc,0xe2,},{0x05,0x10,0xea,0xf5,0x7d,0x73,0x01,0xb0,0xe1,0xd5,0x27,0x03,0x9b,0xf4,0xc6,0xe2,0x92,0x30,0x0a,0x3a,0x61,0xb4,0x76,0x54,0x34,0xf3,0x20,0x3c,0x10,0x03,0x51,0xb1,},{0x06,0xe5,0xd8,0x43,0x6a,0xc7,0x70,0x5b,0x3a,0x90,0xf1,0x63,0x1c,0xdd,0x38,0xec,0x1a,0x3f,0xa4,0x97,0x78,0xa9,0xb9,0xf2,0xfa,0x5e,0xbe,0xa4,0xe7,0xd5,0x60,0xad,0xa7,0xdd,0x26,0xff,0x42,0xfa,0xfa,0x8b,0xa4,0x20,0x32,0x37,0x42,0x76,0x1a,0xca,0x69,0x04,0x94,0x0d,0xc2,0x1b,0xbe,0xf6,0x3f,0xf7,0x2d,0xaa,0xb4,0x5d,0x43,0x0b,},"\x54\xe0\xca\xa8\xe6\x39\x19\xca\x61\x4b\x2b\xfd\x30\x8c\xcf\xe5\x0c\x9e\xa8\x88\xe1\xee\x44\x46\xd6\x82\xcb\x50\x34\x62\x7f\x97\xb0\x53\x92\xc0\x4e\x83\x55\x56\xc3\x1c\x52\x81\x6a\x48\xe4\xfb\x19\x66\x93\x20\x6b\x8a\xfb\x44\x08\x66\x2b\x3c\xb5\x75"}, -{{0xde,0x84,0xf2,0x43,0x5f,0x78,0xde,0xdb,0x87,0xda,0x18,0x19,0x4f,0xf6,0xa3,0x36,0xf0,0x81,0x11,0x15,0x0d,0xef,0x90,0x1c,0x1a,0xc4,0x18,0x14,0x6e,0xb7,0xb5,0x4a,},{0xd3,0xa9,0x2b,0xba,0xa4,0xd6,0x3a,0xf7,0x9c,0x22,0x26,0xa7,0x23,0x6e,0x64,0x27,0x42,0x8d,0xf8,0xb3,0x62,0x42,0x7f,0x87,0x30,0x23,0xb2,0x2d,0x2f,0x5e,0x03,0xf2,},{0x47,0x1e,0xbc,0x97,0x3c,0xfd,0xac,0xee,0xc0,0x72,0x79,0x30,0x73,0x68,0xb7,0x3b,0xe3,0x5b,0xc6,0xf8,0xd8,0x31,0x2b,0x70,0x15,0x05,0x67,0x36,0x90,0x96,0x70,0x6d,0xc4,0x71,0x12,0x6c,0x35,0x76,0xf9,0xf0,0xeb,0x55,0x0d,0xf5,0xac,0x6a,0x52,0x51,0x81,0x11,0x00,0x29,0xdd,0x1f,0xc1,0x11,0x74,0xd1,0xaa,0xce,0xd4,0x8d,0x63,0x0f,},"\x20\x51\x35\xec\x7f\x41\x7c\x85\x80\x72\xd5\x23\x3f\xb3\x64\x82\xd4\x90\x6a\xbd\x60\xa7\x4a\x49\x8c\x34\x7f\xf2\x48\xdf\xa2\x72\x2c\xa7\x4e\x87\x9d\xe3\x31\x69\xfa\xdc\x7c\xd4\x4d\x6c\x94\xa1\x7d\x16\xe1\xe6\x30\x82\x4b\xa3\xe0\xdf\x22\xed\x68\xea\xab"}, -{{0xba,0x4d,0x6e,0x67,0xb2,0xce,0x67,0xa1,0xe4,0x43,0x26,0x49,0x40,0x44,0xf3,0x7a,0x44,0x2f,0x3b,0x81,0x72,0x5b,0xc1,0xf9,0x34,0x14,0x62,0x71,0x8b,0x55,0xee,0x20,},{0xf7,0x3f,0xa0,0x76,0xf8,0x4b,0x6d,0xb6,0x75,0xa5,0xfd,0xa5,0xad,0x67,0xe3,0x51,0xa4,0x1e,0x8e,0x7f,0x29,0xad,0xd1,0x68,0x09,0xca,0x01,0x03,0x87,0xe9,0xc6,0xcc,},{0x57,0xb9,0xd2,0xa7,0x11,0x20,0x7f,0x83,0x74,0x21,0xba,0xe7,0xdd,0x48,0xea,0xa1,0x8e,0xab,0x1a,0x9a,0x70,0xa0,0xf1,0x30,0x58,0x06,0xfe,0xe1,0x7b,0x45,0x8f,0x3a,0x09,0x64,0xb3,0x02,0xd1,0x83,0x4d,0x3e,0x0a,0xc9,0xe8,0x49,0x6f,0x00,0x0b,0x77,0xf0,0x08,0x3b,0x41,0xf8,0xa9,0x57,0xe6,0x32,0xfb,0xc7,0x84,0x0e,0xee,0x6a,0x06,},"\x4b\xaf\xda\xc9\x09\x9d\x40\x57\xed\x6d\xd0\x8b\xca\xee\x87\x56\xe9\xa4\x0f\x2c\xb9\x59\x80\x20\xeb\x95\x01\x95\x28\x40\x9b\xbe\xa3\x8b\x38\x4a\x59\xf1\x19\xf5\x72\x97\xbf\xb2\xfa\x14\x2f\xc7\xbb\x1d\x90\xdb\xdd\xde\x77\x2b\xcd\xe4\x8c\x56\x70\xd5\xfa\x13"}, -{{0x0d,0x13,0x1c,0x45,0xae,0xa6,0xf3,0xa4,0xe1,0xb9,0xa2,0xcf,0x60,0xc5,0x51,0x04,0x58,0x7e,0xfa,0xa8,0x46,0xb2,0x22,0xbf,0x0a,0x7b,0x74,0xce,0x7a,0x3f,0x63,0xb6,},{0x3c,0x67,0x29,0xdb,0xe9,0x3b,0x49,0x9c,0x4e,0x61,0x4a,0x2f,0x21,0xbe,0xb7,0x29,0x43,0x8d,0x49,0x8e,0x1a,0xc8,0xd1,0x4c,0xba,0xd9,0x71,0x7a,0x5d,0xbd,0x97,0xcd,},{0xa9,0xc5,0xee,0x86,0xfb,0x06,0xd9,0xe4,0x6b,0x37,0x9c,0x32,0xdd,0xa7,0xc9,0x2c,0x9c,0x13,0xdb,0x27,0x4d,0xc2,0x41,0x16,0xfb,0xdd,0x87,0x86,0x96,0x04,0x54,0x88,0xcc,0x75,0xa5,0x2f,0xff,0x67,0xd1,0xa5,0x11,0x3d,0x06,0xe3,0x33,0xac,0x67,0xff,0x66,0x4b,0x3f,0x2a,0x40,0x5f,0xa1,0xd1,0x4d,0xd5,0xbb,0xb9,0x74,0x09,0xb6,0x06,},"\xb4\x29\x1d\x08\xb8\x8f\xb2\xf7\xb8\xf9\x9d\x0d\xce\x40\x07\x9f\xcb\xab\x71\x8b\xbd\x8f\x4e\x8e\xab\xc3\xc1\x42\x8b\x6a\x07\x1f\xb2\xa3\xc8\xeb\xa1\xca\xcc\xcf\xa8\x71\xb3\x65\xc7\x08\xbe\xf2\x68\x5b\xc1\x3e\x6b\x80\xbc\x14\xa5\xf2\x49\x17\x0f\xfc\x56\xd0\x14"}, -{{0xa7,0x5e,0x3b,0x6b,0x41,0x70,0xe4,0x44,0x78,0x1b,0xe4,0xee,0xac,0x3e,0x0f,0xda,0xa4,0xb4,0x35,0x6f,0x70,0x54,0x86,0xbc,0xb0,0x71,0xa3,0x25,0xae,0x07,0x1f,0xba,},{0x99,0x3d,0x38,0xa7,0xd7,0x2f,0x0a,0xee,0x15,0xff,0x6f,0x4f,0xdc,0x37,0xca,0x77,0x24,0xfd,0x13,0x73,0xa3,0x76,0x6b,0x27,0x5d,0xbc,0x77,0xe6,0x47,0x98,0x0e,0x0a,},{0xa5,0xdb,0x4d,0x3d,0x33,0x29,0xab,0xe3,0x69,0x79,0x59,0xe6,0xb5,0x94,0x7e,0xa8,0x60,0x1b,0x03,0xef,0x8e,0x1d,0x6f,0xe2,0x02,0x14,0x49,0x31,0x27,0x2c,0xa0,0xa0,0x9b,0x5e,0xb0,0xf3,0x90,0x57,0x2e,0xa7,0xef,0x03,0xc6,0x13,0x1e,0x9d,0xe5,0xf1,0x6b,0xf0,0xb0,0x34,0x24,0x4f,0x7e,0x10,0x4f,0xf5,0x31,0x1b,0xbf,0x66,0x3a,0x0d,},"\x40\x37\x86\x6f\x65\x48\xb0\x1c\xc6\xbc\xf3\xa9\x40\xe3\x94\x5a\xa2\xd1\x88\xb4\xb7\xf1\x82\xaa\x77\xec\x4d\x6b\x04\x28\xab\x5b\x84\xd8\x5d\xf1\x92\xa5\xa3\x8a\xda\x08\x9d\x76\xfa\x26\xbf\x67\x73\x6a\x70\x41\xa5\xeb\x8f\x0c\x57\x19\xeb\x39\x66\x93\xc4\x51\x60\xf8"}, -{{0xbc,0xbc,0xf5,0x61,0xec,0xc0,0x5a,0x41,0xc7,0xd7,0xe5,0x5e,0x69,0x6d,0x32,0xce,0x39,0xb4,0xd0,0x3c,0x1f,0x5f,0x3f,0x3a,0x89,0x27,0xfe,0x5e,0x62,0xe8,0x44,0xb2,},{0x4d,0xdf,0x53,0xfa,0xd6,0xa7,0xa9,0xed,0x30,0xf3,0xaf,0xec,0xca,0x13,0x6f,0xd7,0x84,0x3b,0x72,0xc2,0x43,0x09,0x08,0x91,0xae,0x40,0x21,0xa3,0x2c,0xad,0xff,0x1a,},{0x9f,0xf1,0x51,0x15,0xf6,0x66,0x1f,0x32,0x11,0xd7,0xa4,0x07,0x64,0x96,0x76,0x29,0xba,0x6a,0x52,0x63,0x95,0x1b,0xdc,0x3c,0x6a,0x4c,0x90,0xd0,0x70,0xf7,0xbe,0x00,0x02,0x4b,0x80,0xd8,0x3b,0x6b,0xc2,0x75,0x87,0xfc,0xff,0x5f,0x5c,0xcc,0x0e,0xb3,0xcd,0xe1,0x49,0x7c,0xf5,0x68,0x95,0x14,0x7a,0x06,0x3f,0x61,0xf0,0x8a,0xdf,0x0b,},"\x6f\x67\x16\xb6\x78\x47\x40\x98\x0a\xeb\xc3\x24\x88\x07\xe3\x1c\x12\x86\xac\x7b\x68\x1c\x00\xb6\x6c\x88\xff\x7a\x33\x6d\x44\x1f\xa5\xc3\xeb\x25\x6d\x20\xcf\x6d\x1a\xc9\x2c\xcf\xe4\xbe\x6d\xcc\x41\xb1\xaf\xf8\x46\xd3\x60\xc2\x43\x00\x1c\xab\xdf\xbf\x1a\x9b\x24\x04\x55"}, -{{0x21,0x05,0x32,0x80,0x5f,0xa9,0xcc,0x9b,0xe9,0x16,0xd2,0x13,0xca,0xc3,0x74,0xe3,0xcd,0x6f,0xc2,0x60,0x2a,0x54,0x4d,0x0c,0x1c,0xe2,0x9d,0x30,0x10,0x5d,0x69,0xab,},{0x10,0x69,0x9e,0x49,0x9b,0xe9,0x9e,0x2b,0x11,0xb9,0x8f,0x6f,0x86,0xb6,0x7c,0xdc,0x4c,0xcf,0x69,0xf3,0xc5,0x3c,0xe0,0x94,0x87,0x56,0x47,0xd2,0xd0,0xd0,0xec,0xc5,},{0x4c,0x2d,0x31,0xd5,0xbb,0xc4,0x2e,0x02,0x6d,0xc1,0xe0,0x79,0xec,0xc4,0xdd,0x07,0x2c,0x5d,0x2c,0xce,0x65,0xe3,0xdb,0x8d,0x8a,0x1d,0xd9,0x05,0x7f,0xaa,0x03,0x71,0x72,0x7f,0x72,0x72,0x31,0xa0,0xf0,0x60,0xfa,0x27,0x09,0x75,0x33,0xb6,0xdb,0x3b,0x8f,0x62,0x52,0xf2,0x79,0x3d,0x75,0x66,0x2c,0xaa,0xdf,0x5f,0x0f,0xcc,0x71,0x0e,},"\x9f\xc4\xd2\x8c\xfd\x25\xe6\xc0\xc5\xe7\x24\xe1\x9c\xa3\x9d\x71\xe5\x3b\xf4\xaa\x27\x96\xc5\x4c\x33\x51\xf1\x08\xfc\x70\xf2\x61\x1a\x62\xe0\xab\x90\xaf\x6a\xde\x52\x16\x78\x8e\x9e\xb2\xa8\x73\x05\x9b\x1e\x79\xd7\xd5\x9d\xeb\xd6\x8f\x2d\x4d\x80\xff\xe3\x1b\xf7\x4b\x92\x8c"}, -{{0x18,0x5d,0x64,0xb6,0x94,0x79,0xe0,0xba,0x0a,0x58,0x44,0xa1,0x0a,0xd8,0x41,0x25,0xba,0x11,0xc4,0xb4,0x0d,0x63,0xed,0xa2,0xc5,0x7a,0xfc,0x7e,0x01,0x9c,0x8e,0x0c,},{0xa5,0x76,0x4f,0x63,0x98,0xa5,0xae,0x22,0x66,0xa3,0x8f,0x97,0x14,0x53,0x3c,0x4b,0xbd,0x8d,0x07,0x82,0x6f,0x63,0xe2,0x04,0xcb,0xac,0x37,0x4b,0x0a,0xce,0xf1,0xbd,},{0x43,0xe0,0x38,0x7d,0xa5,0xba,0x09,0xa1,0x90,0xf6,0xe7,0xb2,0x68,0x05,0x78,0xd8,0x89,0x76,0x9b,0xcc,0x44,0x5e,0x5e,0xf5,0x71,0xb4,0x92,0x87,0x1c,0x15,0x5c,0x5b,0x9f,0x62,0x0b,0xfa,0xcf,0xbf,0x2d,0xf1,0xfd,0x87,0x44,0x46,0x04,0xb7,0x1b,0x2e,0x23,0x7b,0xaa,0xa7,0xee,0x20,0x93,0xed,0xe4,0xa6,0x01,0xed,0xf8,0x83,0xe3,0x07,},"\x4a\x08\x24\xfe\x70\xd4\x31\x54\x13\xd0\xa0\xca\xfb\xf4\xf5\xfe\x11\x7d\x5e\x07\xe1\xc3\xa4\xef\xfb\x9d\x0a\xe9\x14\x90\x23\x48\x78\xcc\xf6\x79\x2a\x91\xf6\x8c\x6a\x52\x0d\xe1\x60\x71\xf0\x8a\xbe\x35\xdc\x5e\xa4\x28\xf1\x95\x7b\x66\x33\x71\xce\x24\xc6\x09\xdd\x55\xb8\xf4\x93"}, -{{0xcf,0xa9,0xd9,0x16,0x4b,0x3c,0x4f,0x6f,0x72,0x26,0x35,0xd2,0x06,0x6c,0xd7,0xea,0x5e,0x55,0x33,0xd2,0xc7,0x4f,0x8a,0xdd,0x66,0x9c,0x37,0x1f,0xaa,0x47,0x64,0x26,},{0x41,0x16,0x9a,0x66,0xf9,0xa6,0x3f,0x28,0x57,0x82,0xa6,0xc2,0xdb,0x81,0xcc,0x3f,0x70,0xb3,0xad,0xa2,0x1a,0x68,0xc8,0x47,0x45,0xc8,0x8a,0x74,0xc3,0xb0,0xa2,0xde,},{0x01,0xd7,0xc9,0xb5,0x70,0x1a,0xf7,0x1e,0x2f,0x48,0x77,0xff,0xc9,0xb7,0xb5,0x30,0x5f,0x52,0x81,0x6d,0x44,0x58,0xe3,0x7e,0x41,0xc7,0x71,0x9f,0xac,0x1d,0x76,0xa0,0x1f,0xff,0x3f,0x50,0xfe,0x1a,0x58,0x75,0xcc,0xc3,0xfb,0x70,0x00,0x1c,0x94,0x7a,0x33,0xfc,0x8b,0x20,0x7d,0xe1,0x35,0x72,0xcc,0xdb,0x8b,0xa9,0x89,0x33,0xab,0x01,},"\x75\x76\x21\xb1\x67\x5d\xb7\xca\xce\xf7\xf2\x78\x25\x87\xff\x3a\xf5\x1a\x3e\xf2\xf4\xbc\xf9\x27\x9c\x4c\xe9\x40\x02\xe1\xf0\x04\x24\xbf\x0e\xb6\x21\x98\x2c\xc8\x5c\xb4\xd1\x71\xe5\x64\xa0\xc2\xf6\xe3\x56\x7a\x1a\xae\x2c\xdd\xb7\xe9\xb2\x5f\x47\xdc\x20\xa5\x10\x50\x54\x29\x69\xca"}, -{{0x1a,0xcb,0x4a,0x25,0x6c,0x2f,0x89,0x93,0xca,0x24,0xde,0x1e,0x00,0x14,0x60,0x6d,0x66,0x8b,0x5e,0x75,0x60,0x32,0xd2,0x69,0xf1,0xd2,0x4d,0x35,0x1c,0x8e,0xea,0x4a,},{0xcb,0xbd,0xcd,0x8c,0xbc,0x88,0x5a,0xb4,0x3a,0x05,0x7e,0x5f,0x95,0x79,0xf1,0x16,0x19,0x54,0x15,0x9e,0x7b,0x56,0x2e,0xa2,0x6c,0xd9,0xa4,0x3c,0x88,0xd3,0xf9,0x6d,},{0x05,0xaa,0x76,0xf7,0xfe,0x51,0x89,0x23,0x03,0xd7,0x89,0x14,0x71,0x59,0x95,0xe7,0xd7,0x68,0xff,0x77,0x14,0xce,0x27,0x0f,0x17,0x5e,0x56,0xaf,0x17,0xae,0x01,0x8d,0x3f,0xa9,0x39,0xf5,0xf6,0x20,0xde,0x82,0xbc,0xd1,0x54,0x96,0x87,0xb2,0x05,0xc7,0x87,0x12,0x03,0xe6,0x24,0x23,0x8c,0x4e,0x30,0x9f,0xab,0x7f,0x92,0xfb,0xaa,0x05,},"\xc4\x6a\x6d\x61\xaa\x0a\xed\x1c\x1d\x85\x47\xa7\x0b\x89\xb7\x19\x64\x75\xd5\xa4\x87\x08\x81\xb1\xec\xd0\xf0\xcb\x9c\x74\x5f\x8a\x2a\xdc\x80\x24\xe2\xdc\x55\xb5\x3a\xa5\xd3\x83\xa8\x1a\xab\xc1\xa4\x7e\x8d\x07\xd0\x0b\x7f\x0b\x56\xce\xdd\xbf\xb1\xf4\x24\xbb\x5c\x02\x18\x46\x78\xa6\x66"}, -{{0xac,0xe3,0xc4,0x64,0x24,0x82,0x36,0x22,0x97,0x9f,0xc3,0xa8,0x4a,0x7d,0xa6,0x9c,0x1d,0x52,0x7d,0x83,0x12,0xe8,0xfb,0x01,0x83,0x75,0xbd,0x3a,0x96,0xc2,0x9c,0x18,},{0x93,0x7c,0xf3,0x41,0x36,0xd9,0xe1,0xcc,0xe0,0xde,0x11,0xb1,0x2c,0x70,0xcb,0xfb,0x74,0x55,0x44,0x84,0x21,0xe9,0x2c,0x82,0xe7,0xc4,0x09,0x34,0xbf,0xf8,0xc6,0x76,},{0xfe,0xb8,0x89,0x6d,0xd3,0xfe,0x60,0x01,0xff,0xea,0x17,0x1b,0x37,0xb7,0x88,0xa6,0x9f,0x7f,0x85,0x01,0x93,0xa6,0x34,0x06,0xf5,0x63,0x76,0xdd,0x26,0x3d,0x09,0x9a,0xef,0x80,0xec,0xe6,0x7e,0x2c,0x43,0xf4,0x0e,0xca,0x46,0x2c,0x6b,0x71,0xe7,0x94,0x06,0xb1,0x8d,0xb7,0x4a,0xe5,0xd4,0x98,0x44,0xe3,0xb1,0x32,0xbc,0x2a,0x13,0x07,},"\xa9\xf1\x37\xbc\x90\x21\xbf\x10\x5a\xee\x25\xbe\x21\xcd\x9e\xe5\xb3\x54\x7c\xf1\x0c\xc5\xf9\x84\x76\xfb\x58\x8b\xd7\x0e\x2d\x6d\x6b\x08\x34\xe8\x42\xe4\xee\x94\x30\x3c\xf9\x6b\x09\xc1\x71\x53\x81\xb3\x6e\x14\xa4\x91\xb8\x0f\x89\x5e\xa4\x21\xb8\xec\x2b\x1d\x3c\x18\x7e\x02\x93\x5c\x55\x26"}, -{{0x88,0xf6,0x81,0x93,0x4e,0x33,0xc3,0x5c,0x07,0xdc,0x6e,0x5a,0x83,0x29,0x42,0xae,0x3d,0x59,0x90,0x3c,0xcd,0xe2,0xf7,0x6c,0xcb,0x75,0x87,0xce,0xa7,0xec,0x41,0xb6,},{0x6a,0x4e,0x8a,0xa5,0xad,0xb6,0x3d,0x22,0xfd,0x7b,0x14,0xa2,0x6f,0xdb,0x03,0xb7,0xc8,0xaa,0x6c,0xcd,0x5a,0x19,0x6f,0x2c,0x54,0xb0,0x46,0x5a,0xdb,0x50,0x92,0xe1,},{0x45,0xb2,0x7b,0xf1,0xb9,0xea,0xc0,0x6b,0x62,0xb6,0x86,0xf6,0xd5,0x46,0x56,0x3b,0x2d,0xfe,0x5b,0x17,0x5d,0xbe,0xf3,0x2b,0xf7,0x8c,0x35,0xa1,0x6c,0x95,0x8a,0x9d,0x4f,0x26,0xd2,0x91,0xde,0x9b,0xb2,0x06,0x6c,0x0a,0x28,0x61,0x13,0xcc,0x09,0x17,0x2d,0x40,0xa3,0x6d,0x4c,0xbd,0x95,0x17,0x08,0x86,0x02,0x26,0xeb,0x30,0xcd,0x05,},"\x6e\x8b\xac\x1f\x85\x3b\x81\xfe\xf9\x47\x07\xe1\x8c\xc6\x1c\x6f\x0a\x9c\xbc\x2a\x41\xd0\x78\xdc\xc8\x3f\xc0\x22\x9c\x7f\x8d\xbe\x6d\xbd\xd9\x08\x54\xb1\xf1\xae\x2b\x9f\x2b\x12\x0b\x86\xa8\x78\x6b\x4e\x78\xce\x23\xab\x86\xba\xaf\x88\x75\x4a\xf0\xf3\xd8\x88\x81\xda\xe0\xbc\x52\x61\xbf\xd0\x38"}, -{{0x48,0x05,0x0a,0x6e,0x01,0x58,0xf6,0xad,0x25,0x34,0x12,0xe4,0x49,0x7c,0xff,0x62,0xd5,0xee,0x55,0x5e,0xdf,0xfe,0x59,0xe4,0xdc,0x40,0x15,0x22,0x81,0x32,0x95,0xce,},{0x97,0x5e,0x01,0x0a,0xbb,0x9a,0x3e,0x56,0x65,0x91,0x37,0xb0,0x50,0x60,0x57,0xf2,0x83,0x98,0x2f,0x88,0x6c,0xa1,0x72,0xc7,0xbc,0x2c,0x50,0x0e,0xd9,0xbd,0x26,0xc1,},{0x72,0x16,0xab,0x60,0xc3,0x51,0x68,0x18,0x7d,0x0f,0xce,0x47,0x53,0xc8,0x6e,0x80,0x05,0x8d,0x54,0x0b,0x76,0xbf,0x95,0x84,0x3a,0x58,0x98,0x84,0x10,0x60,0xa9,0x9a,0x44,0xde,0x6f,0x43,0x96,0x25,0xa3,0xf6,0x36,0x5f,0x59,0xc3,0x77,0xbf,0x45,0x90,0x9b,0xbf,0xef,0x5c,0x50,0xb2,0x5f,0x31,0x94,0xe5,0xfb,0xd3,0x4e,0xa5,0xe7,0x06,},"\xed\x6e\xec\x29\xfb\x70\x49\xdf\xf7\x07\xf0\xa4\x42\x6e\xbc\x8f\x5b\x35\x0e\x95\x87\x0b\x9d\x61\x98\xc8\x13\x9e\x9c\x3e\x1e\x40\x99\x37\xd1\xa8\x58\xa0\xde\xa4\x82\xa5\xcb\x1a\x85\x4e\xd3\xb5\xa9\x39\x7a\xcb\x63\xbf\xf6\xb6\x40\x39\xef\x2e\xb1\x15\x9e\x99\x85\x83\x10\xbb\xbd\x86\x12\x5c\x3e\x0e"}, -{{0x18,0xd1,0x3d,0x0c,0x00,0xe8,0xe3,0x38,0x6a,0x5c,0xfb,0x30,0xa9,0xe7,0x9f,0xe8,0x8b,0x18,0x61,0xed,0x2d,0x12,0x01,0xeb,0x17,0x00,0x38,0xe1,0x94,0x77,0x04,0x03,},{0xa4,0xaf,0xc8,0x33,0x40,0x18,0x76,0x09,0x0d,0x9b,0x88,0x0c,0x41,0x26,0x7d,0x68,0xcb,0xbe,0xea,0xa3,0x8a,0xfb,0x20,0x88,0x4e,0x27,0x32,0x8f,0x3b,0x7f,0x53,0x5e,},{0x03,0x39,0x88,0x15,0x4c,0x5d,0x79,0xd2,0x51,0x0b,0xe8,0x3e,0x77,0x80,0x15,0xdf,0xe2,0xfb,0x85,0xb8,0x11,0x1f,0x7e,0xc1,0x39,0x91,0x8b,0x54,0x00,0xe3,0xd6,0x56,0xee,0x80,0xa9,0xf5,0xc9,0x07,0x2b,0x5b,0x46,0x7a,0x5c,0xc5,0xa5,0x7c,0xc8,0xad,0x10,0x62,0xb5,0xbf,0xf1,0x08,0x62,0xd9,0xd3,0x69,0xdd,0xe2,0xcc,0x96,0x67,0x01,},"\x91\x0f\x6c\x27\x2d\xd9\x79\x31\xac\x47\x31\x0d\x24\x4c\xad\xb4\x32\x51\x36\x5e\x02\xba\x9f\x6a\x5b\x3c\x32\x26\xbe\x9d\x7d\x3a\x74\xa2\xba\x49\x06\xe8\xe7\x1a\x4b\xf3\xd3\x55\x6e\xbd\xfc\x66\x6c\xd6\xb1\x2f\x20\xc4\xa0\x08\x34\xb8\x8f\xbb\x24\x45\x75\x19\x92\x86\xb0\xb9\x34\x4c\xf3\x34\xaf\xf0\x07"}, -{{0x4a,0xdc,0x8c,0x28,0x64,0x6a,0x93,0xa8,0x17,0x29,0x3a,0x14,0xd2,0x9b,0x48,0xe2,0xc6,0xd7,0x12,0xa6,0x89,0x93,0x54,0x7a,0x5c,0x5e,0x4d,0x14,0x52,0xac,0xbc,0x3a,},{0x7f,0x40,0x47,0x36,0x28,0xf2,0x3f,0xc0,0xdf,0xf0,0x02,0x1a,0xfd,0x48,0x77,0x40,0xd4,0x91,0x6a,0x91,0x22,0xe6,0xc9,0x7d,0x36,0x43,0x3e,0x5e,0xbf,0x04,0xf8,0x8c,},{0x6d,0x3b,0x4e,0x90,0xec,0x40,0x83,0x11,0xf9,0xb1,0x5b,0x92,0x53,0xd3,0xd9,0x5c,0x5d,0x15,0x26,0x20,0xc2,0x60,0xd5,0x63,0x02,0x55,0x5a,0x88,0x04,0xa5,0x10,0x4b,0xa5,0xe8,0xd2,0x9e,0xe1,0x08,0xe7,0x64,0xa6,0x42,0x19,0x29,0x72,0x98,0xab,0x76,0x74,0xbb,0xca,0x78,0x4d,0xee,0x28,0x77,0x3b,0x34,0xe1,0x85,0xa3,0x86,0xc2,0x08,},"\x09\xfb\x55\x01\xf1\x68\x8f\x80\xa0\xab\x9e\x22\xd7\x78\xae\x13\x0a\xca\xf7\x4d\x7f\x51\x85\xb4\xda\x19\x8c\x6b\x9e\xda\xc4\x30\x2e\x2b\x75\x3e\x57\x87\x66\xe1\x7d\x40\x56\xdc\x40\xd9\x5c\xf4\xca\x8b\xcc\x65\x65\x79\x5e\x97\xd6\x8b\xcd\xa7\x9f\xa7\x7c\x49\x33\x97\x71\x63\x56\x16\x4c\xaa\xb5\xd1\x9c\xfd"}, -{{0xf2,0x6e,0x1c,0x84,0x69,0x7a,0x49,0x08,0x15,0x1b,0x44,0x7d,0xcf,0x6c,0x7c,0x7a,0x38,0xb0,0x40,0x81,0xdb,0x9e,0x7c,0x77,0x38,0xe6,0xfe,0xc9,0x00,0xbe,0xd0,0xc1,},{0xa8,0x6e,0x14,0x22,0xc1,0x23,0x5f,0xf8,0xe1,0xaa,0x08,0x34,0x70,0xd5,0xe4,0x22,0x88,0xcb,0x00,0x7a,0xb5,0x0e,0x79,0x5d,0xd0,0xb4,0xff,0x87,0x39,0x49,0x66,0xc4,},{0x44,0xf3,0x34,0x4b,0x95,0x66,0xc9,0xdf,0xd2,0x2d,0x61,0x98,0xe1,0xcb,0xf9,0x5d,0x9e,0x28,0xf2,0x98,0x2f,0xc7,0xf1,0x66,0xab,0x25,0xdd,0xa3,0x0c,0x46,0xf7,0x68,0xc5,0x58,0xe0,0x39,0x4f,0xb9,0xab,0x3e,0x1d,0x4d,0xb4,0xcf,0x48,0x7c,0x17,0x64,0x1a,0x13,0xf3,0xf4,0x89,0x39,0xe0,0xc6,0x48,0x27,0xa7,0x51,0x03,0xc5,0x74,0x06,},"\x54\xed\x47\x60\x6a\x14\x87\xc2\xf9\x00\xce\xfb\x6e\x89\x9d\xba\xf6\xc3\x1c\xc8\x8e\xbe\x35\x58\xb8\x3b\x93\xf6\xd4\x22\xc3\x1e\x88\x8e\x48\xe5\x20\xee\xae\xdd\x7e\x55\x4a\x9c\xd4\x0c\x2c\x51\x9d\x53\x3b\x61\x44\xce\xe4\x84\xc3\x89\xe9\x76\xb1\xe4\x02\x2b\x50\xe7\xdb\xb8\x7e\xad\x7e\x54\x1a\x20\x04\xda\xf7"}, -{{0xcc,0x0c,0x33,0xf3,0xa8,0x6f,0x5a,0x17,0xd3,0x0c,0x18,0x6c,0xe0,0xf3,0xb7,0x40,0xba,0xfa,0x5f,0xe3,0xc7,0x09,0x0f,0x14,0x35,0x41,0xe2,0xb2,0xc1,0xe5,0x34,0xbc,},{0x96,0x7a,0x71,0xc7,0xcf,0x9b,0x82,0xcc,0x78,0xcb,0xe1,0x09,0x10,0x4d,0x8b,0x43,0x8a,0x8d,0x1f,0xd7,0x1d,0x26,0x0d,0x02,0x90,0x46,0xa9,0xa4,0x52,0x68,0x66,0xff,},{0xe2,0x77,0xb3,0xdd,0x65,0x5c,0x33,0xff,0x75,0xfa,0x92,0x0a,0xf1,0xfc,0xc8,0x59,0x40,0x1e,0x6c,0x7a,0x6e,0xf4,0xc6,0xbf,0xbf,0xac,0x50,0x69,0x63,0x8f,0x19,0xca,0x11,0x5b,0xaf,0x13,0xc0,0x9c,0x82,0xaf,0x79,0x3f,0xac,0xb6,0xab,0xd0,0xcd,0x58,0xe8,0x48,0x1b,0x08,0xc1,0xb6,0x8a,0xd7,0xa2,0x66,0x5c,0x4a,0x61,0x4a,0x28,0x06,},"\x19\x44\xe5\xe1\x55\xd7\x5e\x0d\x0b\xe9\x2e\x1b\xe1\x4c\xec\x37\x0a\xd1\x37\x91\xf2\xbf\xd4\x0f\x27\x12\x14\xe9\x4f\xcf\x21\x3c\x71\xbc\x20\xd7\xce\x0c\x75\x84\x42\x1a\xc4\xef\xc4\x51\x88\x3c\xc3\xf4\x95\x6f\x21\xf7\x3a\x42\x16\x72\x04\x38\xbc\x38\xff\x2c\xfd\xf3\x70\x99\x05\xa5\x0a\x9d\x94\xb1\xd9\xe7\x93\x2b"}, -{{0xf0,0xbc,0x97,0x93,0x75,0xa7,0x07,0x30,0x68,0xdb,0xa7,0xf6,0xc0,0x94,0xdb,0x65,0x98,0xb4,0xe4,0x5d,0xf7,0xd5,0x49,0x58,0x3c,0x22,0xfd,0xed,0x80,0x48,0xfa,0x2e,},{0xb4,0x2b,0x6c,0x57,0xa7,0x8f,0x1d,0x90,0x09,0x0a,0x71,0x81,0xab,0x2a,0xe0,0x9f,0x42,0x6c,0xbc,0x2b,0xe9,0x6e,0xb2,0xcf,0x27,0xab,0xc7,0x0d,0x7d,0x32,0xa4,0xb3,},{0x19,0xdb,0xc3,0x02,0x7f,0x9f,0xae,0x70,0x7d,0xeb,0x76,0xf5,0x88,0xf9,0xfd,0x07,0xaa,0x8e,0xae,0x29,0xbd,0x4e,0x1d,0x04,0xc2,0xc9,0x84,0x38,0x82,0x86,0xb3,0xb1,0x22,0x24,0x8a,0x6c,0x03,0xed,0x67,0xec,0xa3,0x5d,0xf4,0xdb,0x3d,0xc1,0xe4,0x23,0x7f,0x26,0x78,0x92,0x51,0x84,0x97,0xd9,0x55,0x2a,0x21,0xde,0x19,0xb5,0x14,0x0f,},"\x27\xab\x30\x49\xb5\xc6\x35\x1f\x6c\xfe\x38\xb1\x3a\x05\x9f\x50\x37\x25\x7e\xe3\xd6\x5d\x60\x79\x65\x68\x56\xed\xc8\x76\xea\x08\x1f\xd8\xa9\x48\x04\x66\xf8\x83\x94\x78\x08\x84\x66\xf5\x1e\xcb\xfa\xf2\xd6\x5d\xef\x25\xf0\xc4\xdd\x8d\x08\x58\x82\x02\x81\x22\x32\xf5\x79\x45\xdf\x8a\x6f\xa1\x61\xed\x8c\x03\x43\xb5\x83"}, -{{0x30,0x22,0x97,0x5f,0x29,0x8c,0x0a,0xd5,0xdd,0xbe,0x90,0x95,0x4f,0x20,0xe6,0x3a,0xe0,0xc0,0xd2,0x70,0x4c,0xf1,0x3c,0x22,0x1f,0x5b,0x37,0x20,0xaf,0x4d,0xba,0x32,},{0xb8,0x45,0xbc,0xe3,0x8e,0x26,0xab,0x02,0x7b,0x82,0x47,0x46,0x3d,0x43,0x7a,0x71,0xbb,0xdd,0xca,0x2a,0x23,0x81,0xd8,0x1f,0xad,0x4c,0x29,0x7d,0xf9,0x14,0x0b,0xd5,},{0xae,0x14,0xa8,0x60,0xfa,0xd0,0x05,0x1b,0x3e,0xb7,0x2b,0x37,0x21,0xa8,0x2f,0x7b,0x95,0x46,0xb2,0x86,0x72,0x61,0xe2,0xb7,0xb6,0x38,0x97,0x9e,0x25,0x61,0xbd,0xeb,0x89,0xb6,0x00,0x76,0x8f,0x82,0x45,0x0a,0x66,0xc8,0xb0,0x48,0x12,0x83,0xfa,0x21,0xcb,0x6c,0x53,0xbd,0xe3,0x50,0xef,0xfb,0x68,0xa7,0xd1,0x11,0x4b,0xfd,0xb2,0x03,},"\x9a\xa1\x9a\x59\x5d\x98\x93\x78\xcd\xc0\x68\x91\x88\x7e\xf5\xf9\xc2\x46\xe5\xf8\x3c\x0b\x65\x87\x10\x67\x3e\x4e\x7d\xb7\x60\xc7\x63\x54\xc4\xf5\xd1\xe9\x0d\xb0\x4a\x23\xb4\xfb\x43\x4c\x69\x38\x45\x93\xd0\x10\xe3\x12\xb1\x1d\x29\x9c\x9f\x97\x48\x2d\xe8\x87\xce\xcf\xe8\x2e\xa7\x23\xbc\xa7\x9a\x1b\xd6\x4d\x03\xef\x19\xee"}, -{{0x0f,0x71,0x0b,0x6c,0x48,0x1f,0x71,0x44,0x95,0x89,0x75,0x33,0x12,0xef,0x64,0x93,0x2b,0x46,0x52,0xeb,0xe0,0xe0,0x75,0x97,0xf7,0xda,0x1c,0x4f,0x3d,0xcf,0xfb,0x80,},{0x69,0x73,0xff,0x29,0x32,0xcc,0xdd,0xfc,0x1d,0x16,0xc4,0xc0,0xda,0x50,0xc8,0xb2,0x9f,0xe6,0x45,0x2d,0x1e,0xe8,0x4d,0x52,0x06,0x4e,0xbf,0x3d,0x62,0x8d,0x40,0x3e,},{0x02,0xa8,0xd2,0x6a,0xee,0x11,0x42,0x0f,0xb4,0xf0,0x9d,0x11,0x63,0xe1,0x4b,0x86,0x7d,0xf7,0xc6,0xf6,0xc8,0xf8,0xdc,0x7a,0x78,0x03,0x46,0x59,0xf0,0x40,0x1c,0xad,0x0a,0xa9,0x03,0x97,0xef,0xdd,0x07,0x04,0xb7,0x98,0xdb,0x19,0x36,0x50,0x30,0x26,0xe2,0xa1,0xad,0xc2,0x97,0xe2,0x79,0x74,0xd4,0xbe,0x31,0x2a,0x37,0x53,0xf8,0x04,},"\x85\xd8\x57\x44\xad\x55\xe9\xef\x9a\x65\xca\x91\xe8\x5c\x8a\x4f\x80\xe4\xc5\x8f\x8e\x4e\x93\x54\xe8\x33\x98\x60\x98\xb7\xd9\xfe\x9f\xdc\x0d\xed\xb0\xd7\x5d\x25\x39\xfb\xa0\x00\x34\xfc\x0c\x2e\x84\x34\x4d\x1e\xda\xa0\x9d\x4f\x63\xd5\x54\x6d\x67\x80\x3d\xd6\xb5\x4d\xdc\xc0\xb1\xd3\xf2\x58\x2d\xd7\x52\x89\xe3\x1d\xe4\x2e\x69"}, -{{0x7a,0x05,0xf1,0x21,0xf6,0x01,0x12,0xdd,0x16,0xfe,0xe8,0xc9,0x1b,0xc2,0xa1,0x14,0x79,0xf4,0xb6,0x7e,0xe3,0x34,0x56,0x04,0x2c,0x8d,0xe1,0x67,0xfc,0x58,0x80,0x17,},{0xb3,0xb0,0x5b,0xe9,0x89,0xce,0xa7,0x19,0x75,0x05,0xd4,0xb5,0x43,0x35,0xe5,0xe1,0xd7,0x7a,0x4b,0x52,0xba,0x72,0x82,0x60,0x4b,0xbc,0x1c,0xf6,0xc4,0xe8,0x7a,0x6c,},{0xd3,0x0c,0xe8,0xa3,0x22,0xb4,0x50,0xa2,0xfb,0x1a,0xfd,0x32,0x9c,0xec,0x85,0x59,0xcc,0xf1,0x12,0xbd,0x83,0x96,0x5f,0x9e,0xc4,0x73,0x62,0x70,0xa0,0x91,0x4e,0x06,0x11,0x96,0xbf,0x52,0x09,0x77,0x8c,0x9f,0x8c,0xcf,0x39,0xc4,0x66,0x8b,0xbf,0x0e,0x13,0x63,0xf8,0x1a,0xfe,0x45,0xdd,0x74,0xe8,0x0d,0x58,0x75,0xdd,0xbf,0x6f,0x01,},"\xd9\xc5\x9e\x8c\xc4\xed\xe5\x37\xbe\x21\x22\xab\x49\x2a\x5b\x91\x5a\x9b\x0a\x11\x4b\x2a\xde\x35\x6f\xc0\x45\x7e\xf9\x87\x22\xd5\xf5\x67\xb8\x62\x11\xe2\x83\x69\xd1\x41\x68\xec\x4a\x3c\x80\x40\x76\xe1\x54\xad\xc7\x0a\x66\x8c\xf6\x4a\x20\xd1\x3c\xf1\x90\xd1\x15\xcd\x68\x8d\x03\x6e\x46\x93\x82\x51\xdf\x49\x64\xdc\x35\x17\xb1\x0c"}, -{{0xbf,0x38,0x1f,0x8d,0xfb,0x5d,0x0c,0x6d,0x64,0xe4,0x16,0xac,0x23,0xe0,0xd0,0xfc,0xb8,0x6e,0xbb,0x89,0x9b,0x1d,0x14,0x6a,0xbd,0x91,0x1b,0x92,0xa7,0x80,0x8e,0xb6,},{0x86,0x3f,0xad,0x8d,0x1f,0x1b,0xc6,0x30,0xa1,0x5f,0x6f,0xe8,0xec,0xef,0xe6,0xb4,0x49,0x7b,0x60,0xb2,0x1a,0xe8,0x83,0x0d,0xa4,0x67,0x42,0x04,0x5f,0xef,0x15,0x6f,},{0x99,0xb7,0x53,0x78,0x73,0x8f,0xca,0xc8,0x06,0x76,0x69,0xe8,0x50,0x9b,0x5d,0x26,0x07,0xe1,0xef,0x76,0xaf,0x90,0x04,0xe1,0x3f,0xe5,0xd3,0x93,0x2d,0xf6,0x0b,0x16,0x82,0x16,0xf5,0x85,0x65,0x34,0x0f,0xa4,0xd6,0x38,0x05,0x5a,0x89,0x04,0x4e,0xe7,0xd4,0x5e,0x2b,0xd0,0x82,0xa5,0x33,0x82,0x28,0x9a,0x34,0x70,0x06,0x48,0x98,0x0e,},"\x86\x54\xf2\xf5\xc6\xdc\xd2\xcf\xcb\xb6\xed\x8d\x2b\xc5\xfb\x5f\xec\x53\xe3\xef\xfb\x0d\xe6\x5a\xac\x50\x7f\xa5\x6c\x89\x77\x32\x39\x5a\xa0\x99\x46\xd3\xb6\x58\x6a\x92\xed\xd6\xdc\x99\x31\x5e\x1b\xa7\x4c\x6a\x02\x47\xc4\xba\x77\x60\xb9\x48\xeb\x3c\x09\x32\xd9\xfe\x1f\x0e\x9f\xea\x6e\xb6\x1a\x54\x8a\x9a\xb4\x8f\xfd\xf1\x54\x73\x29"}, -{{0x36,0x98,0x32,0x41,0xa0,0xa8,0xe6,0x0c,0xe0,0x2a,0x61,0xb3,0xfa,0xfa,0xb1,0x5a,0x73,0x13,0xa5,0xa2,0x70,0xd0,0x15,0xb9,0xc9,0xec,0x07,0x0d,0xc4,0x2d,0xee,0xda,},{0x66,0x47,0x98,0x4d,0x42,0xb9,0xa5,0xb3,0xb1,0xaf,0xa3,0xb7,0xf8,0xf4,0x9d,0x4c,0x2b,0x05,0xe3,0x89,0x84,0xe9,0x9c,0xea,0x8f,0xd6,0x82,0x35,0xd2,0xae,0x46,0x27,},{0xee,0x37,0xdf,0x8a,0xf4,0x22,0xf9,0x1f,0x85,0xdf,0xe4,0x3e,0xfe,0x79,0xf6,0x23,0x78,0x06,0x8c,0xcd,0xba,0xf3,0x91,0x6e,0xec,0xbc,0x3a,0xdf,0xed,0x05,0x08,0xbd,0xeb,0xaf,0x5c,0xe0,0x6b,0x3b,0xc2,0x79,0xf7,0x80,0x87,0xf0,0xdb,0x8d,0xb3,0xc6,0x82,0x3e,0xdf,0xb3,0x2c,0x12,0x21,0x78,0x30,0xbe,0x72,0x3d,0x88,0x72,0xb3,0x0c,},"\xce\xbb\x9e\x40\x44\x51\x81\x82\x53\xc0\x39\x2a\x45\x54\xee\x73\x23\xc5\xd5\xb8\xb2\x26\x77\x57\x00\xb8\x06\xed\x5b\x91\x33\x79\x16\xea\x7e\xcb\xc3\xd4\x10\x3f\xc6\x5e\x53\x72\xae\x7e\x5f\x9b\xa2\xd8\xf5\xae\xe2\x4c\xcf\x6e\x63\x1a\xe2\x0c\x4a\xf9\xb5\xf7\x28\xcd\xf8\x9e\x81\x89\xde\xf1\xa5\xb3\xd3\x53\x47\xaa\x20\x35\x25\xea\x1d\x2e"}, -{{0xd0,0x68,0x99,0xf9,0x3a,0x40,0x8d,0xac,0xb4,0x1c,0x96,0x97,0x18,0x34,0x6f,0x1e,0x28,0x9b,0xb5,0xea,0x65,0xe2,0x83,0xff,0x79,0xc7,0x05,0xa0,0x74,0x51,0x7c,0x35,},{0x46,0xbf,0x2a,0x08,0xa0,0x76,0xc4,0x7d,0x7f,0x11,0xb7,0x33,0xf8,0x14,0x1c,0x35,0x53,0x63,0xed,0x85,0xd7,0xde,0xf2,0x6b,0xa6,0xa0,0xce,0x15,0xac,0x5f,0x2b,0xe8,},{0x6f,0x89,0xde,0x92,0xa6,0x6b,0xc5,0xf4,0x14,0x43,0x39,0x12,0x49,0x50,0xbd,0xf5,0x88,0x14,0x4c,0xb3,0x72,0xf6,0x73,0x62,0x45,0x35,0x1c,0x94,0x76,0xbe,0xcc,0x59,0xa2,0x58,0xf9,0xa9,0x33,0xff,0xff,0x2b,0xef,0x4b,0x46,0xcd,0x10,0x57,0x39,0x52,0x25,0x79,0x9f,0xd0,0x9d,0xed,0xe6,0x82,0x3d,0xb0,0xe3,0x25,0xdb,0xc8,0x14,0x0d,},"\x08\x64\xc3\x9a\xc4\xfd\xa8\xeb\x90\x48\x59\x7b\xd4\x0b\xe0\x40\x10\x21\xfd\x2d\xd3\xa3\x39\x0a\x8f\xac\xce\x98\x4b\x26\x0a\x13\xfa\x2c\x7c\xfc\x00\xd1\x92\xfa\xdf\x13\x4a\x0a\xd5\xa1\x81\xee\x89\xef\xf0\xc7\x95\xea\xa0\xfb\xfe\x2f\x3b\x26\x11\x5d\x07\x16\x8d\xb4\x2e\xd2\x1a\x51\x30\x3b\x19\x58\xe4\xa4\x2d\xc0\x65\xb2\x2c\xe4\x8f\x17\xa6"}, -{{0xee,0xbc,0xa7,0x96,0x69,0x70,0xee,0x9f,0x2c,0xc4,0xd7,0x4c,0x6f,0x1d,0x8e,0x0e,0xbf,0xf7,0xc4,0x5a,0xeb,0xad,0x34,0x9f,0xb9,0xf8,0x6d,0xf6,0x28,0xdf,0xff,0x0e,},{0x89,0x10,0x1e,0x03,0x09,0xf7,0x67,0xe6,0x4a,0xe9,0xc9,0x8c,0x4a,0x5d,0x8d,0x23,0x28,0xfb,0x3e,0xf2,0x62,0xd0,0x82,0xf4,0x9b,0x64,0xca,0x20,0x9e,0x19,0x90,0xf6,},{0x7d,0x44,0x7e,0xe5,0x32,0x8c,0x9f,0xe7,0xf1,0x19,0x36,0xcc,0x42,0x99,0x87,0x54,0xa5,0x6c,0xd1,0xd2,0xa6,0x95,0x1a,0xf4,0xfe,0xe7,0xc4,0xa8,0xeb,0x31,0x9d,0x49,0x23,0x70,0x7c,0x79,0x3c,0x55,0xd7,0x90,0x67,0xf8,0x22,0xd5,0xb1,0x6b,0xb5,0x77,0x6e,0x38,0xdf,0xfa,0xbc,0x67,0x23,0x7a,0x91,0x6a,0x81,0xa6,0x33,0x39,0xb0,0x03,},"\x0f\xac\x79\x0a\xdb\x9f\x59\xe5\xcb\x0d\xdc\xb2\xb6\x67\x17\x2f\x2a\x21\x03\x4d\x93\xbc\xad\xdf\x18\x86\x06\xfa\x9e\x77\x6d\xb3\x3a\x8f\xcc\x6b\xd7\xf5\x56\x78\x83\xfc\x0d\xe3\x51\xaa\x9a\xfa\xa3\x6d\x20\x75\xb1\xba\x85\x3b\xad\xa8\x49\xb8\x66\x1d\x5c\x81\x54\xe7\xb0\xaf\xea\x65\x6d\xd1\x5e\x01\xa9\xc5\xba\x21\x58\x9b\x02\xf8\xfc\x54\x81\xc2"}, -{{0x38,0x20,0xb6,0xb1,0x59,0x39,0xd0,0xaf,0xe1,0x8c,0x9c,0xb3,0xd9,0xa2,0xa0,0x8f,0x16,0x7d,0xd4,0x58,0xeb,0x6c,0x7e,0x3f,0x15,0x58,0xb0,0xc6,0xdb,0x4c,0x68,0x90,},{0x80,0xb8,0x5c,0x65,0x59,0xfe,0xa8,0xb4,0x00,0xe1,0x99,0x9c,0xc5,0xbf,0xed,0x50,0x7a,0xd7,0xfc,0x29,0x4c,0xd9,0xba,0x0c,0xe2,0xdd,0x25,0x84,0xa9,0x10,0x89,0xb0,},{0x82,0x3e,0xe2,0xc0,0xc8,0xd8,0x7f,0xaa,0x0e,0xc0,0x14,0x1e,0x9c,0xe0,0x8b,0x51,0xe5,0x7c,0x83,0x97,0x92,0xd1,0xfb,0xd9,0x7a,0x96,0x72,0x07,0xfd,0x41,0x58,0x49,0xeb,0xfb,0x5d,0xad,0xb5,0xa1,0xdc,0x2c,0x0a,0x8b,0x7f,0xc6,0x3f,0xc3,0x54,0x85,0x7b,0x8c,0x90,0xc4,0x47,0x20,0xe1,0x3f,0x45,0xcd,0x01,0xe7,0xaa,0x23,0x14,0x0c,},"\x3e\x5a\xd9\x2d\x44\xb4\x0e\x86\x14\xd8\x08\x7c\x9c\x74\x3d\xe0\xc0\x86\x1a\x07\xf1\xf5\x14\x6d\x71\xca\xc2\xf3\x74\x00\x24\xe8\x41\xcc\x2d\x46\x02\x7c\xf5\xd2\x61\xd3\xee\x7c\x18\x75\xb3\x95\x51\x01\x7b\x5f\xb1\x46\x81\x14\xfc\x3e\x09\x8a\x89\x9c\xdb\xd5\x58\xb3\x9f\x09\x8e\x15\x6b\x6e\x98\x01\xeb\xcd\xd6\x5f\xed\x56\xdb\xfc\xaf\x2c\x8c\x78\x7b"}, -{{0x0d,0x20,0xfa,0x4a,0x37,0xff,0x30,0xc4,0xdc,0xc3,0xe4,0x4e,0xa7,0xac,0x50,0x11,0x37,0xe5,0x80,0x7e,0x97,0x81,0x33,0x0a,0xc3,0x10,0x98,0x2c,0xc3,0xd3,0x9d,0xbd,},{0x67,0xbb,0x0a,0x01,0xbc,0x86,0x17,0xb4,0x91,0xef,0xf1,0xa3,0x26,0xc1,0xc7,0x0f,0x7d,0x0c,0x5b,0x95,0xa5,0xad,0x48,0x24,0x1a,0xed,0xce,0x1c,0x6f,0x08,0x83,0xcf,},{0xde,0xab,0x12,0xed,0x82,0xba,0x94,0xb4,0x69,0xca,0x98,0xb6,0x6f,0xa2,0x04,0x44,0xb4,0xb7,0x88,0x1c,0x4f,0x0f,0x85,0x34,0x09,0xc9,0xa1,0x50,0x4a,0x5b,0x2b,0x6d,0x78,0x60,0xf2,0x6a,0xda,0x6b,0xf7,0x34,0x59,0xb9,0xcd,0xb5,0x73,0xc8,0x01,0x71,0x21,0x33,0x8e,0xfa,0x60,0xf4,0x14,0x80,0x86,0xd7,0xa3,0xa8,0xed,0x59,0xbb,0x07,},"\x35\xe0\xf4\xb4\xa5\x17\xf9\xc7\xaa\x45\x14\xf0\x3e\x6d\x65\xf1\x9b\x27\xc6\x2c\xc0\x69\xf6\xbf\x07\xdd\x63\x78\xbd\x6a\xfe\x2b\x76\x65\x60\x00\x6c\xbd\x57\x30\xa0\x09\x19\xed\x11\x19\x1f\xb0\xc8\xda\xc5\x6e\x15\x3f\xc1\xce\xa4\xbd\xce\x50\x46\xcc\xcb\x71\x77\x59\xa4\x08\x3e\x1c\x16\xf7\x40\x76\x32\x64\xcc\x80\x4d\xe0\xd0\xe1\xa4\xb5\xa2\x30\x67\xaf"}, -{{0xbe,0xe1,0x61,0x88,0x1d,0x81,0x9b,0x37,0x0d,0x24,0x0d,0x50,0x9b,0xa4,0x6b,0x06,0xfb,0x82,0x8e,0x20,0x31,0x0d,0x9f,0x6b,0x30,0x97,0x80,0x70,0x3e,0x98,0x92,0x7b,},{0x10,0x85,0x43,0x80,0xde,0x89,0x16,0x2b,0xfb,0x9f,0x78,0x35,0xa2,0x71,0x6a,0x3a,0x6e,0x02,0x65,0x67,0x1b,0x25,0x0b,0x38,0x9d,0x01,0xc3,0xbc,0xc0,0x37,0x36,0xb8,},{0xb0,0x7d,0x07,0x2e,0xb3,0x83,0x1f,0xae,0x8a,0x06,0xef,0xfa,0x92,0x01,0x79,0x74,0x96,0xdc,0xe1,0x26,0xb8,0xe1,0x1f,0xef,0x2f,0xa0,0x7f,0x66,0x4d,0xc5,0xcf,0x3d,0x4b,0xf9,0xc3,0x8a,0x8b,0x3c,0x09,0xfb,0x5f,0x14,0xfa,0x2d,0xeb,0x21,0x9e,0x7d,0x85,0x2f,0xdd,0x27,0xc7,0xba,0x32,0xd3,0x09,0x94,0x2f,0x27,0x46,0xdf,0xe4,0x04,},"\x5a\x6f\xe5\x99\xb6\xb0\x9b\x05\xc0\xba\x6a\x62\x2d\xf3\xa9\x2b\x3d\x37\x6d\x24\xd0\x4e\xa8\x5e\xbe\x76\x7b\xc2\xec\x4d\x14\xe8\x3e\x69\x37\xdc\x0b\x91\x4b\x48\x09\xfd\xb6\x07\x90\x68\x41\xa6\xfd\x1d\xcd\xf6\x1a\xae\xa8\xf9\xbb\x81\xb2\xcc\xaa\x32\xdf\x41\x29\x89\xae\x53\x64\x66\x80\xa7\x1a\x21\x1c\x84\x40\xea\xb0\xf1\xae\xc5\xe4\xfc\x00\xe6\xa2\xc9\x6d"}, -{{0x70,0x15,0x0e,0x95,0x16,0x16,0x4a,0x3d,0x7b,0x7e,0x8b,0x6f,0x25,0x5b,0x65,0xca,0xc9,0xf0,0x74,0x59,0xb3,0x2d,0x11,0xbb,0x94,0xb3,0xd2,0x77,0x20,0x8a,0xbc,0x99,},{0x23,0x28,0xbe,0xc8,0xe4,0x03,0x51,0x04,0x78,0x82,0xe8,0xb4,0x3b,0xc1,0xab,0x08,0x53,0x86,0xfa,0x47,0x98,0x7e,0x46,0xea,0x87,0x60,0x88,0x14,0xc5,0xda,0x71,0x3c,},{0xed,0xa3,0xf5,0x03,0x3e,0xa7,0x95,0x3a,0x0d,0x58,0x3c,0x64,0x57,0x52,0x2e,0x84,0xad,0x78,0x44,0x53,0x04,0xd4,0x8e,0x57,0x7d,0x4d,0x69,0xe8,0x64,0x1f,0xeb,0xe1,0x52,0x48,0xd8,0xd9,0x0c,0xe0,0x94,0x4a,0x8f,0x80,0x1d,0x39,0x09,0x9b,0xc7,0x74,0x94,0xba,0xc4,0xce,0x2a,0x20,0xb3,0x83,0x69,0xc6,0xad,0xfb,0x71,0xe0,0x3d,0x0f,},"\x77\xbe\x8e\xce\xaa\xb4\x31\xa1\x3c\x2a\x28\xd0\xd1\x55\x64\x89\xd8\xc3\x92\xfd\x7a\xe4\x11\x57\xf7\xca\xf0\x82\xcb\x54\xe4\x5f\x08\x62\x6b\xe0\x07\x6b\xe8\x44\xd3\x8f\xde\x90\x1a\x5e\xab\x0e\x88\x32\xd6\x9d\xac\x22\xfb\x85\x07\xfb\x8e\xc4\xfa\xf7\xc8\x8f\xd2\x6d\xa3\x08\x46\x1a\xfe\x38\x59\x87\x97\x2b\x5e\x76\x0a\x34\xa5\xe1\x8b\x9a\x82\xb4\xaa\xa5\x29\xb7"}, -{{0x3f,0x87,0xfc,0xfd,0xb4,0x21,0x42,0x2a,0x9c,0x5f,0xb9,0x82,0x68,0x31,0x3c,0x15,0x12,0x8c,0x78,0x84,0x4e,0xf9,0xeb,0x3b,0x37,0x13,0xfa,0x77,0xb6,0x71,0x89,0x03,},{0x53,0x3e,0xc5,0x92,0x28,0x37,0x4b,0xd0,0x3a,0x46,0x99,0xe3,0xa8,0x89,0x6b,0x86,0x18,0x2f,0xcf,0x8f,0xc3,0x08,0x5f,0xdb,0x8f,0x5c,0x46,0x71,0x52,0x4d,0x6f,0xe0,},{0xf6,0x51,0x9d,0x7e,0xdb,0x61,0x34,0x11,0x19,0x74,0x03,0x3f,0x03,0xb8,0xd8,0x9e,0x9c,0x76,0xca,0xec,0x89,0x65,0xa8,0xe1,0x7c,0xd4,0x5f,0xff,0x19,0xde,0x26,0x15,0xd7,0x3e,0xcc,0xdb,0x4a,0x66,0x64,0xa8,0xf0,0xe2,0x3a,0xdf,0x98,0x98,0x8e,0x96,0x25,0x1b,0xf2,0x6e,0xb7,0xa4,0xcc,0xaa,0xc1,0x07,0x9f,0x0a,0x77,0x2f,0x9b,0x05,},"\xc0\x0f\xed\x2d\x68\x94\x68\xbc\xba\xcc\xcd\x44\x6e\x8d\x8f\x29\x9e\x2a\x86\x92\x5e\x62\xe5\x97\x09\xaf\xaf\x48\x57\x46\x9f\xf1\xe0\x06\xd0\x0f\xa3\xe1\x8a\x36\x15\xf8\xf0\x6b\x6e\xbd\xff\x78\x5d\xde\x58\x85\x1d\x2c\x23\x90\x38\xa0\xc3\x44\xdc\xe9\x85\xbd\x1f\xc8\xde\xb4\x77\x9a\xe5\xf8\x93\x2e\x2f\x9e\xd5\x99\x0b\x64\x72\xdb\xe4\xe6\xfe\xf6\x91\x76\x57\xe0\xb5"}, -{{0x44,0xce,0xef,0x04,0x4f,0xf9,0x98,0xd4,0xab,0xea,0xaf,0x37,0x4e,0xb4,0x1d,0x08,0x67,0x18,0xb6,0x30,0x97,0xb1,0xe3,0x5f,0x89,0x63,0x4c,0x14,0x89,0x71,0x32,0xea,},{0xe8,0x3c,0x86,0x67,0x7d,0x03,0xed,0x3a,0x5e,0x8c,0x95,0xf4,0x1f,0x0b,0x32,0x5f,0xf4,0x33,0x37,0x02,0xf2,0xff,0x69,0x36,0xf5,0x7f,0xf3,0x0a,0xa3,0x14,0x85,0xc7,},{0x55,0x45,0x52,0xd6,0xb7,0x90,0xd4,0x21,0xd0,0x6b,0x0a,0x67,0xf8,0xe0,0x02,0xad,0x7a,0x1e,0xd0,0x1c,0x06,0xcf,0x00,0xcb,0xea,0xec,0x2a,0x26,0x8b,0xda,0x29,0xf1,0x18,0x3f,0x0c,0xea,0xfc,0x62,0x5f,0xa5,0xfd,0xb8,0x47,0xdc,0x86,0xfa,0xe1,0xa2,0x04,0x06,0xe4,0x59,0xd4,0xa0,0x17,0x7c,0xb5,0x15,0x22,0x0a,0x56,0x8e,0x08,0x00,},"\x8d\x3e\x2d\xec\x46\x44\xc7\xb5\x16\x33\xb1\x3e\x63\x75\xca\x42\xff\x91\x38\x46\x5f\x43\xd7\x80\x0c\x73\x13\x19\x9f\x67\xc9\xcf\x1b\x52\x0b\x18\x20\xbd\x63\x0e\xcf\x1c\x99\x2e\x27\x67\xb3\x8e\xb5\xbb\xc4\x41\xa4\xab\x8d\x31\x7d\xb4\x41\xdb\x35\xa0\xfe\x3a\xbe\x7a\x9e\x45\x41\x88\x1c\x2d\x7b\x1a\x26\x12\x30\x69\x59\x81\x5d\x1d\xa4\x12\x67\xd9\x64\x9d\xd4\x49\x4a\xce"}, -{{0x98,0xef,0x2a,0x44,0xd4,0xc8,0x47,0x6d,0xff,0x05,0xaa,0x78,0xdc,0xf9,0xc6,0xdc,0x08,0x6c,0xb2,0xf6,0x22,0xa0,0x67,0x45,0xd6,0x0c,0xbf,0x22,0x3f,0xaa,0xba,0x66,},{0x42,0xfd,0xb1,0xda,0xa3,0x9f,0x01,0x59,0x11,0x9b,0xee,0xc1,0xbe,0xdf,0x6f,0x03,0x94,0xb2,0x6a,0x2a,0x29,0xbd,0x1f,0xde,0x08,0x1e,0xcc,0xda,0xde,0xcc,0x22,0x6a,},{0xab,0x5e,0x87,0x24,0xa3,0xe6,0xff,0x76,0x05,0x8c,0xfb,0x21,0x4d,0x57,0x4e,0x04,0xd0,0x55,0x74,0xec,0xdd,0x4f,0xfe,0x8c,0x07,0xc7,0xaf,0x39,0x6e,0x88,0x26,0x87,0xc5,0xd7,0x9e,0xf1,0xe6,0x2f,0xbb,0x4c,0x5f,0x1b,0xd0,0x6b,0x9b,0xd8,0x97,0x82,0x6e,0xdd,0xe0,0xd1,0x11,0xd9,0x18,0xe8,0xef,0x96,0x1f,0xf2,0xa0,0x0d,0x77,0x00,},"\xc8\xb5\xfc\xfc\x3c\x18\xc7\xd9\x59\x57\xb6\x68\xe9\x1c\x73\x1d\x50\xc7\xfc\xea\x4f\x95\x75\xbb\xf7\x84\x62\x58\x70\xe2\x38\xdf\x54\x6e\x2c\xb1\xa1\x9d\x28\x08\xdd\x5b\x23\x0d\x38\x71\xfd\xec\x16\x10\x0e\xe1\xfb\xf9\xb7\x22\xfa\x37\x44\xa7\x50\xa3\xb3\x96\xb0\x5f\x9c\x21\xb8\xc0\xf6\x1e\xad\x57\xa7\x8c\x5e\xcf\x72\xb5\x79\xcf\xe8\x8a\x3f\x40\x4c\x8a\xcf\x52\x4f\x9a\xb9"}, -{{0x93,0xa8,0xc7,0x92,0xa2,0x39,0xc9,0x31,0x91,0x7c,0x11,0x48,0x24,0xa0,0x17,0x4f,0x8b,0xc4,0xeb,0xbf,0x98,0xaf,0x8c,0x7e,0x32,0x1e,0x0f,0x5b,0xea,0x40,0x15,0xec,},{0x9b,0x2e,0xaa,0x8a,0x9c,0x2c,0x25,0xff,0x4f,0x6e,0x13,0xbb,0x12,0xba,0xe5,0xd0,0x6f,0xda,0x0e,0xb1,0x10,0x5f,0xaf,0xae,0x58,0x80,0xff,0x16,0x87,0x40,0xbb,0x74,},{0xcf,0xe3,0x2c,0x44,0x35,0xd9,0x11,0xd7,0x72,0xdc,0x07,0x27,0xe7,0x8d,0x68,0x9d,0x01,0x64,0xc5,0x06,0x95,0x97,0xcb,0x44,0x1b,0x22,0xc1,0xd2,0x62,0x36,0x47,0x9f,0x1a,0xfd,0x70,0x89,0x12,0x1b,0x9a,0xb4,0xf6,0x1b,0xbb,0x1f,0xae,0x1a,0xb4,0x2f,0x76,0x35,0xa9,0x2a,0x53,0x78,0x4d,0x71,0x70,0x91,0x6b,0x70,0x3a,0xa5,0xcc,0x09,},"\x90\x1b\xf4\xe0\x41\xca\xf1\x6e\x04\xf2\xff\xde\x8d\x6f\xe9\x7e\x93\xd0\x90\x0f\x6b\xc0\xfc\x09\xa9\xa0\x17\x9d\x13\x7b\x4b\x77\x88\xe5\x7e\xb9\x27\x66\xa9\xc6\x34\xf3\x5a\xdb\x5c\x29\x88\xaf\x1e\x86\x20\x8f\x46\x19\x98\xf5\x9c\xfe\xc9\x92\x04\xb4\x84\xfb\xca\xd3\x95\x1e\x7e\xe4\x40\x55\x23\x70\x5d\x97\x39\xb4\x43\x07\xdb\x03\xf7\x13\xfd\xa7\x8d\xb4\x21\xef\x31\x21\xb3\xba"}, -{{0x70,0x01,0xfa,0x0c,0x44,0x04,0xc2,0x8a,0xa5,0xb5,0xfc,0xff,0x30,0xa9,0x61,0xf2,0x1a,0x22,0xf5,0xb8,0x5a,0x9e,0x38,0x2e,0x07,0xae,0xa8,0xa8,0x92,0x4d,0x0e,0xc1,},{0xda,0xeb,0xb6,0x3c,0x4d,0x8f,0x40,0xce,0xba,0x8e,0xc3,0x5e,0x3d,0xd9,0x46,0xa6,0xb7,0x5b,0xc7,0x4f,0xcb,0x29,0xad,0xe7,0xb5,0x5e,0xee,0x3c,0xc3,0xae,0xa5,0xca,},{0x64,0xea,0xc9,0xce,0x87,0x46,0x06,0x18,0x63,0x6b,0x41,0xfd,0x2d,0xec,0xc1,0x67,0x3b,0xfc,0x48,0xc5,0xf4,0x79,0xdf,0xac,0xb5,0x1e,0x86,0x68,0x64,0x07,0x37,0x4b,0x1d,0x10,0xbf,0x65,0xd6,0xd7,0x47,0x42,0x14,0xd7,0x77,0x0c,0x9e,0x5c,0x7f,0x80,0x6c,0x80,0xd5,0x3d,0x48,0xb7,0x20,0x87,0x0e,0x5e,0x78,0xf3,0x2e,0x3a,0x7e,0x05,},"\x44\xf4\x8c\xfb\x02\xf0\x87\x77\xa5\x78\x73\x85\x5f\x96\xbe\x4c\x02\x91\x32\x3f\x27\x39\xb2\x75\xd9\x07\x57\xa1\x54\x72\xe5\x75\x04\x36\xe0\x10\x74\x08\xfe\x30\x26\xc0\x06\x25\x68\x99\x83\xf9\x90\xeb\xa9\xbe\xcb\xfc\xe4\x03\xcc\xd5\x63\x56\xad\x27\x41\xfd\x21\x44\x5d\xfb\x23\xd7\x61\x12\xe5\x78\xb3\x39\x5c\xf9\xd9\x60\x95\x5f\x1d\xa8\xf3\x99\xca\x28\x6f\x21\x39\x0e\x25\xa5\x9a"}, -{{0x3a,0xdc,0xe3,0xa3,0xd3,0xfb,0xc9,0x77,0xdd,0x4b,0x30,0x0a,0x74,0x74,0x9f,0x13,0xa3,0xb0,0x4a,0x5d,0x73,0xa2,0xcd,0x75,0xa9,0x94,0xe3,0x19,0x5e,0xfe,0xbd,0xac,},{0x6f,0xf1,0x9b,0x1f,0x18,0xd6,0x48,0x51,0xd5,0xc7,0x48,0x45,0xc6,0x40,0x7f,0x0b,0xf5,0x96,0xa5,0x2e,0x38,0x5e,0x02,0x01,0x27,0xe8,0x3e,0x54,0xcf,0xf5,0xac,0x19,},{0x7d,0xda,0x89,0xf8,0x5b,0x40,0x53,0x9f,0x5a,0xd8,0xc6,0xde,0x49,0x53,0xf7,0x09,0x4a,0x71,0x5b,0x63,0xdd,0xa3,0x0e,0xc7,0xcf,0x65,0xa7,0x85,0xce,0xae,0x5f,0xc6,0x88,0x70,0x7e,0xe0,0x0b,0xe6,0x82,0xce,0xcb,0xe7,0xee,0x37,0xd8,0xfc,0x39,0xee,0x6d,0x83,0xc6,0x44,0x09,0x68,0x17,0x08,0xa0,0x89,0x8a,0x18,0x3b,0x28,0x8a,0x06,},"\xfe\x6c\x1a\x31\x06\x8e\x33\x2d\x12\xaa\xb3\x7d\x99\x40\x65\x68\xde\xaa\x36\xbd\xb2\x77\xce\xe5\x53\x04\x63\x3b\xd0\xa2\x67\xa8\x50\xe2\x03\xbb\x3f\xab\xe5\x11\x0b\xcc\x1c\xa4\x31\x66\x98\xab\x1c\xf0\x0f\x0b\x0f\x1d\x97\xef\x21\x80\x88\x7f\x0e\xc0\x99\x1e\x8c\x11\x11\xf0\xc0\xe1\xd2\xb7\x12\x43\x3a\xd2\xb3\x07\x1b\xd6\x6e\x1d\x81\xf7\xfa\x47\xbb\x4b\xb3\x1a\xc0\xf0\x59\xbb\x3c\xb8"}, -{{0x14,0x80,0x3c,0x1f,0x23,0xa4,0x7f,0xcd,0xd3,0x5e,0x5d,0x14,0x6e,0x20,0xca,0x63,0x0c,0xd7,0x12,0xc0,0x47,0xd5,0x33,0x0b,0x65,0x2e,0x31,0x85,0x7a,0xcb,0xc9,0xe8,},{0x36,0xf2,0xd5,0xbd,0x6d,0x83,0x24,0xfa,0x6e,0x9d,0xb7,0xf7,0xd8,0x54,0xeb,0xe4,0x8c,0x0e,0x62,0x99,0x99,0x81,0x22,0xe9,0xd4,0x4b,0x8a,0xdb,0xef,0x54,0xf0,0x93,},{0x07,0xa7,0xde,0x6c,0xe9,0x76,0x64,0xb3,0xea,0x09,0x28,0xe1,0x38,0x5c,0x33,0x09,0xbe,0x08,0xa4,0x7c,0xbf,0x4d,0xaa,0x91,0x86,0xa1,0xb9,0x48,0xc8,0x6f,0xbb,0xa3,0x9c,0x4e,0xfc,0xfc,0xb7,0xa0,0xa3,0x86,0x6b,0xc9,0x4c,0x67,0x88,0xff,0xe6,0xbe,0x0d,0x49,0x72,0xe5,0x6d,0x0c,0x32,0x92,0xd1,0xcc,0x6e,0x25,0x44,0x7b,0x99,0x04,},"\x55\x59\x83\x67\x9d\x02\x6e\x53\x54\xb4\xcc\x05\x5a\xe1\xbc\x14\x65\x3c\x72\x81\xec\x72\x23\x72\xf3\xfe\xb7\x78\xe8\x41\xda\x82\x1b\x3d\x0b\x8e\xe7\xa9\xa9\x12\x9e\xa0\x68\x24\xbe\x83\x79\xfb\xbd\xcb\x07\x48\xf4\x23\x72\x1c\xcb\x17\x2a\x1b\xaf\xa1\xd5\xae\x9f\xc1\xc5\x1e\x93\xd4\x1d\xd5\x51\xc3\x08\x60\x79\xb6\x20\x28\x6c\x1c\x40\xc1\x22\x3b\xbc\xbb\x76\x72\x2e\x92\xca\x21\xd8\x41\x0a"}, -{{0x1a,0x61,0x15,0x4d,0x34,0x72,0xcd,0x96,0xb3,0x28,0xee,0x67,0x4b,0xeb,0x4f,0xc8,0x67,0x63,0xa9,0x69,0xfb,0x41,0x04,0x94,0xe0,0x67,0x84,0x14,0xe3,0x1a,0x46,0xa6,},{0x75,0x76,0xd9,0x3a,0xc8,0x5d,0x0f,0xc6,0x1f,0x25,0x8c,0x55,0xcf,0x90,0xbd,0x87,0xa6,0x35,0x09,0x9c,0x0e,0x81,0x0e,0xd0,0xb9,0x37,0x25,0x8d,0x13,0xb4,0x25,0x59,},{0xad,0xa1,0x66,0x6c,0x9c,0x3b,0x82,0x84,0xb8,0xa2,0x1c,0x4f,0x26,0x18,0xef,0x08,0x08,0xa6,0x46,0xf3,0xf1,0x09,0x41,0xe4,0x70,0xf7,0x38,0xe1,0x78,0x5e,0x2d,0xe9,0xfd,0xd9,0xc8,0xcb,0x52,0x6f,0x94,0x5c,0x7a,0x8c,0x69,0x94,0xf1,0x51,0xb7,0xd0,0x66,0x58,0x1b,0x1d,0x75,0x53,0x07,0x94,0x7c,0x62,0xbe,0xfc,0x8a,0xb7,0x07,0x0f,},"\x64\xc5\x65\xef\xbc\xb8\xb9\x52\x8e\xd4\x72\x53\xf3\xc6\xa4\x03\x5d\xb7\x81\xd6\xf0\x97\x6b\x5e\x5b\xa8\x44\x7d\x4e\xd5\x4b\x04\x10\x52\x93\xef\x4c\x00\x0d\x8b\x2e\x1b\x5b\x75\xe7\x27\xe5\xd2\xa0\x77\x74\x3b\x50\xd1\x83\xb4\x91\x76\x48\x01\xa2\x50\x4d\x16\xee\x6d\x7d\x8a\xc4\xfe\x40\xe6\xbf\xc2\xa8\x12\x9c\x72\x85\xa5\xac\x69\x1c\x35\xe6\x42\xed\x16\x2c\xf7\xfb\xc6\x45\x16\x73\x3a\x23\xb3"}, -{{0xf2,0x15,0xd3,0x4f,0xe2,0xd7,0x57,0xcf,0xf9,0xcf,0x5c,0x05,0x43,0x09,0x94,0xde,0x58,0x79,0x87,0xce,0x45,0xcb,0x04,0x59,0xf6,0x1e,0xc6,0xc8,0x25,0xc6,0x22,0x59,},{0x1e,0xd5,0x06,0x48,0x5b,0x09,0xa6,0x45,0x0b,0xe7,0xc9,0x33,0x7d,0x9f,0xe8,0x7e,0xf9,0x9c,0x96,0xf8,0xbd,0x11,0xcd,0x63,0x1c,0xa1,0x60,0xd0,0xfd,0x73,0x06,0x7e,},{0xcb,0xef,0x65,0xb6,0xf3,0xfd,0x58,0x09,0x69,0xfc,0x33,0x40,0xcf,0xae,0x4f,0x7c,0x99,0xdf,0x13,0x40,0xcc,0xe5,0x46,0x26,0x18,0x31,0x44,0xef,0x46,0x88,0x71,0x63,0x4b,0x0a,0x5c,0x00,0x33,0x53,0x41,0x08,0xe1,0xc6,0x7c,0x0d,0xc9,0x9d,0x30,0x14,0xf0,0x10,0x84,0xe9,0x8c,0x95,0xe1,0x01,0x4b,0x30,0x9b,0x1d,0xbb,0x2e,0x67,0x04,},"\xfb\xed\x2a\x7d\xf4\x18\xec\x0e\x80\x36\x31\x2e\xc2\x39\xfc\xee\x6e\xf9\x7d\xc8\xc2\xdf\x1f\x2e\x14\xad\xee\x28\x78\x08\xb7\x88\xa6\x07\x21\x43\xb8\x51\xd9\x75\xc8\xe8\xa0\x29\x9d\xf8\x46\xb1\x91\x13\xe3\x8c\xee\x83\xda\x71\xea\x8e\x9b\xd6\xf5\x7b\xdc\xd3\x55\x75\x23\xf4\xfe\xb6\x16\xca\xa5\x95\xae\xa0\x1e\xb0\xb3\xd4\x90\xb9\x9b\x52\x5e\xa4\xfb\xb9\x25\x8b\xc7\xfb\xb0\xde\xea\x8f\x56\x8c\xb2"}, -{{0x8c,0x9f,0x95,0x08,0x30,0x75,0xa4,0x3f,0xe4,0x26,0xd1,0x9f,0x1e,0x87,0x71,0x9b,0x40,0x04,0x3d,0xe8,0x8e,0xb0,0xee,0x97,0x1f,0x70,0xe1,0x0c,0x76,0x94,0xce,0x4e,},{0xe9,0x1d,0x16,0x7a,0xa3,0xeb,0xc2,0x3e,0x70,0xaa,0xb4,0x5d,0xab,0xe9,0x05,0xe4,0x16,0x26,0x2f,0x91,0x0e,0x2a,0x95,0x5d,0xd8,0x61,0x9e,0xfc,0x74,0xc2,0x4e,0x85,},{0xca,0xc5,0x55,0x22,0x2d,0xaf,0xec,0x76,0xa0,0xb4,0x7b,0x9d,0x2c,0x58,0x6b,0x3b,0x3b,0x9b,0x3b,0x9c,0x83,0x64,0xbe,0xb3,0xca,0xe1,0xe8,0xdd,0x7f,0x1a,0xe9,0xdd,0x74,0xf2,0x2b,0x8d,0xd4,0xad,0x2b,0x29,0x0f,0x81,0x35,0x1a,0x41,0x5a,0x99,0xf0,0x30,0xf1,0x07,0x78,0xbe,0x4c,0xda,0x85,0xd1,0xd3,0x53,0x33,0x1e,0x70,0xf1,0x09,},"\xb6\x9d\x70\xe8\x60\xf5\x5c\x42\x7e\xf2\xa7\x1d\xf3\x6e\x05\xbb\xc4\x3b\xb2\xe0\x64\x63\xaa\x5d\xe3\x44\x19\xc6\xa6\x14\xee\xa6\x69\x53\x35\xa8\x75\x26\xc1\x22\x64\x88\xd8\x42\x89\x1d\x05\x74\xdf\x34\x3c\x9c\x1e\x17\xae\xd6\x95\x8e\xce\xe8\x74\x74\x22\x1e\xb7\x7a\x59\x9e\xcb\x05\x93\x44\xc0\xd0\x52\xc0\x00\x2a\x66\xe5\xa6\x01\x31\x85\xaf\x69\xa0\x1b\xa5\xdb\xc6\x60\xd3\x6c\xae\x23\x5f\x67\xfe\x0e"}, -{{0xd7,0xeb,0x1f,0xba,0x42,0x4f,0xee,0xd1,0x00,0x77,0x7e,0xed,0xb4,0x87,0x4b,0xf2,0x08,0x10,0xad,0x68,0x6b,0x67,0xe3,0x1d,0x27,0xec,0xf6,0x10,0x60,0x9a,0x33,0xf5,},{0xa2,0x5a,0xcb,0x11,0xa6,0xc8,0x25,0x71,0x3a,0x08,0x5f,0xa7,0x54,0x69,0x28,0x86,0xa8,0x7d,0x07,0xfb,0x9b,0xe1,0xa5,0x3e,0xb9,0x61,0x72,0x8b,0xb6,0x6c,0x90,0x60,},{0x2b,0xf7,0x19,0x68,0x2b,0x07,0xcc,0x5e,0xcc,0x04,0x80,0xf3,0x7e,0x9d,0x12,0x3f,0xf6,0xf4,0x4c,0x26,0xe6,0x95,0x8e,0x59,0xf0,0x80,0x46,0x6f,0x9c,0xd3,0x73,0xa1,0x65,0x00,0xda,0xf1,0x23,0xdc,0x3f,0x13,0x34,0x77,0x4b,0xfc,0x9f,0xa8,0x45,0x03,0xb1,0x6d,0xbf,0x21,0xa8,0x15,0xc1,0xad,0xa6,0xeb,0xef,0x49,0x20,0x46,0x17,0x02,},"\xa1\xd0\xf8\x1e\x3d\x59\x08\x9c\xc2\xb1\x9e\x07\xd2\xfc\xe4\x3d\xb4\xcf\x17\x1f\xaa\x64\x2f\x3b\x0b\xbd\xe7\x7a\xe3\xd5\x3a\xf5\xc0\x2b\xf8\xfc\x12\xff\xb4\xe5\x7f\x7c\x8a\x01\x5d\x6c\x2d\x17\x89\x44\xfa\xe9\xf7\xc8\xfc\x96\x9d\x4b\x77\xbe\xa5\x18\x76\xae\x99\xd5\x9e\x94\xad\x24\x56\xe0\xed\x72\xc5\x2c\xf4\xe5\x34\x0d\xa1\x7c\x44\xdb\xff\x86\x45\x7a\x51\x9b\x6f\xff\xe2\x69\x06\x62\x90\xd6\x29\xfe\x69"}, -{{0x4f,0x6a,0xeb,0x35,0xfc,0xe1,0x4f,0xbc,0xbb,0x9a,0xa8,0xa4,0xf6,0x45,0x1b,0xf9,0x5b,0x98,0xdf,0x04,0x7f,0xa8,0xc4,0x3f,0x1e,0xad,0x3b,0x40,0x4d,0x3f,0x92,0x8f,},{0xbf,0x66,0xa9,0xed,0xd0,0x94,0x81,0xdb,0x84,0x44,0xa1,0x76,0xc8,0xce,0x05,0x78,0xd2,0x93,0x4f,0x0c,0xdc,0x97,0x34,0xe8,0x6f,0xca,0xac,0x05,0xbf,0x33,0x30,0xf1,},{0x6a,0xdb,0x07,0xe3,0x64,0xf2,0xa4,0x55,0xcb,0x05,0x86,0x7a,0xbc,0x51,0x1a,0xcd,0x9d,0x65,0x89,0x77,0xf0,0xca,0xca,0xfc,0x92,0x82,0x8e,0x7b,0x72,0x4f,0x6b,0xbf,0x98,0xbf,0x0b,0xfb,0x29,0xf4,0xe5,0xe6,0xc7,0x47,0x38,0xd4,0xfd,0xd8,0x16,0xd9,0x25,0x24,0x07,0xae,0x4f,0x3a,0xfc,0x57,0x4c,0x4f,0x00,0x61,0x48,0x24,0xe2,0x03,},"\x2d\xfb\xb3\xf5\x9e\x19\xea\x17\xd4\x4a\x5b\xde\x4a\xd2\x27\xa1\xa3\x51\xdd\xa1\x7a\xf8\x40\xee\x0a\x75\xda\x21\xa5\xcc\xa8\x9b\x6d\x1c\x56\x7c\x33\x3e\x9c\xc9\x10\xe2\x15\x7e\x05\xe8\x6a\xd5\xd9\x31\x14\x50\x64\x59\x4c\x47\xba\xee\xa8\x66\x3a\x34\x64\x9c\x43\xe9\x0e\xb9\x5c\xa1\x0f\x7d\x51\x59\x7b\x37\x8a\x72\x2f\x1f\x70\x4a\xdf\x9f\x22\xe9\xf8\x85\xb8\x9d\x1f\x93\x80\x06\xa2\xef\xcd\xb4\x2a\xaf\xf5\xe3"}, -{{0xef,0x4a,0x67,0x62,0xb4,0x00,0x97,0x52,0x04,0xcc,0xc1,0x3a,0xbb,0x47,0x34,0x40,0x15,0x45,0x49,0x06,0x85,0x0f,0xf1,0x49,0x40,0xcb,0xb8,0x3a,0xa2,0x24,0x14,0xae,},{0xea,0xca,0x45,0x09,0x96,0xf5,0x0c,0xfa,0xf2,0xbd,0x7f,0x9d,0x7f,0xa7,0x08,0x7f,0x09,0xad,0x49,0x66,0x42,0x06,0xa8,0x0b,0xc2,0xe5,0xbb,0xbb,0x85,0xbb,0x66,0x8e,},{0x02,0x69,0x7d,0x44,0xca,0xd8,0x62,0xf1,0xda,0xf5,0x70,0x82,0x05,0xf4,0x50,0xd4,0x08,0x52,0x5b,0x10,0xc0,0x1f,0xfd,0x06,0xcf,0xee,0x80,0x37,0x4f,0x3d,0xb1,0x6f,0xa9,0xa4,0x9c,0x19,0xa9,0x84,0x4b,0x34,0x5f,0x2f,0x95,0x59,0xea,0x74,0xaa,0xb1,0x73,0xba,0xa0,0x78,0xc5,0x43,0x70,0xa5,0x16,0x67,0x00,0xc6,0xda,0xfb,0x78,0x0a,},"\xa4\xb6\x3e\xae\xd5\xa6\x4a\x94\xf2\xca\xd2\x12\xce\x2a\xe7\x10\x92\xfd\x3e\xa7\x44\xf5\xbd\x89\x56\x2b\x2f\xc2\xa6\xc9\xe4\xd7\xaa\x27\xad\xd5\x62\x64\xa5\xa5\x50\x16\x61\x0b\xe6\xc1\x9f\xf7\xd4\x98\x9e\x95\x04\x74\x08\x53\x01\x27\x15\xa7\x9e\xce\x9e\x12\xc3\x01\xb3\x31\x7c\x7d\x9b\x67\x30\xdb\x86\x2a\x4a\x1d\x28\x05\x8e\x0f\x8b\x5d\xdd\x97\x38\xc7\xc6\x2e\xa5\x72\xcf\xe5\x9e\xae\x08\xe2\xb8\xb6\x59\x3b\x58"}, -{{0x55,0x01,0x7e,0x5f,0x61,0xf0,0xc5,0xba,0xfb,0xcd,0xe6,0xf8,0x49,0xf4,0x2a,0x31,0xe5,0xe7,0xa8,0x78,0xc1,0xd3,0xf9,0x12,0x6f,0xc5,0x69,0xfd,0x41,0x7e,0xa9,0xf2,},{0x66,0x91,0x4f,0x74,0xed,0x93,0x2f,0xc8,0x81,0xff,0x01,0x66,0x68,0x3f,0x67,0x5a,0x7c,0x28,0xa9,0x26,0xfd,0xdd,0x64,0x69,0xcd,0xb3,0xf2,0x8e,0x6d,0xec,0x42,0xcc,},{0xb1,0xa5,0xe7,0xc4,0x9b,0x8f,0xc6,0xb4,0x33,0x1e,0x04,0x16,0xce,0x7e,0x4e,0xd5,0x9e,0xdd,0x56,0x30,0x0b,0x80,0x2e,0x0d,0x72,0xab,0xca,0x4a,0x6f,0xcb,0x87,0x6c,0x03,0xbf,0x33,0x15,0x79,0x12,0x4a,0xe0,0xd3,0xfe,0x43,0xf7,0x89,0x8b,0xc8,0x7e,0x93,0xfc,0x2d,0xa3,0x97,0x0f,0xc8,0x63,0x89,0x57,0xd1,0x8c,0x66,0x13,0xc8,0x08,},"\x2f\xc8\x4a\x09\x98\xfa\x6e\x16\x8a\x86\x64\x10\xbb\x68\x10\x5d\xf2\x49\xa2\x8c\xfc\x76\x60\x4b\xe9\x4f\xd7\xdf\xff\xf2\xfc\x1d\xed\xd2\x20\x19\x94\x65\x57\x5e\x8d\xf8\x60\x19\x0f\x16\xac\xa4\x08\x41\x69\xbe\x16\xc6\xba\x32\xeb\x67\x04\x2f\xfd\x4f\x23\x03\x16\xa2\x6b\x26\x24\xa4\x2f\x8f\x90\xad\x57\xf6\x91\x64\x86\xfa\x91\xfd\x94\xed\x68\xad\xed\x4e\x63\x24\x30\xef\x71\x94\x46\x97\x9b\xfa\xf3\x45\x40\x9c\x38\x7f"}, -{{0x05,0x53,0xfb,0xa8,0x66,0x94,0x23,0x41,0x21,0x7c,0xf2,0x78,0xac,0x57,0xcb,0x21,0xac,0xd0,0x9d,0x99,0x16,0xcc,0x6a,0xf0,0xac,0x46,0x94,0x1e,0xa1,0x39,0xd5,0x45,},{0x84,0x0c,0x66,0xe5,0x7c,0x2d,0x4f,0x52,0xa4,0xa2,0x79,0x6d,0x2a,0x53,0xc5,0x70,0x9b,0x96,0xa6,0x28,0xc2,0xe0,0x63,0xfe,0x6e,0xfd,0x47,0xf2,0x83,0xef,0x5e,0x82,},{0xbc,0x33,0x64,0xc1,0x52,0xee,0x5c,0x80,0x8a,0xc3,0x40,0xf4,0x9e,0xa2,0xcc,0x40,0x4e,0x93,0x51,0x71,0x21,0x22,0x0c,0xce,0x6f,0x7c,0x30,0xa2,0x25,0x00,0xe4,0x1b,0xcd,0xb6,0xe8,0x20,0x48,0x0f,0x8f,0xcc,0xdd,0x22,0xff,0x9a,0xd9,0x6d,0xa5,0x32,0x80,0x2f,0x43,0x1e,0x94,0x24,0x0f,0xb8,0x3d,0x4b,0xce,0xaa,0x09,0xb9,0x2b,0x0d,},"\xc1\xfa\xe6\x26\x2a\x0e\x98\xa6\xb1\x23\x5f\xcb\x62\x28\x3b\x7f\x0a\x09\x7f\x9d\x00\x24\x16\xd3\x18\xfe\xfc\x60\xc5\xa1\x58\x4f\x90\x0a\xd0\xab\x26\xcc\xfa\xe0\xd6\xd8\x4a\xa9\xaa\x2d\xf1\x6d\x4c\x11\x7e\xa2\x72\x46\x76\xcb\x86\x6d\x48\x70\xa8\x72\xfc\x82\x9a\x7c\x2a\x5d\x21\xba\x83\x34\x0a\xdb\x33\x9a\x34\xc5\x18\x4c\x7f\x5e\xad\x0f\x07\x72\x89\xb3\x36\x77\xed\x6a\x1b\xa3\x4b\xe1\x99\x4e\x25\x76\x3b\xd1\xd9\xfa\xec"}, -{{0x7a,0x5a,0xc6,0x02,0xde,0x19,0xf3,0xc2,0x10,0x40,0xbc,0xdd,0xbf,0xf4,0x2f,0x6a,0xee,0x6f,0x95,0xc1,0xb0,0x93,0x86,0x8f,0x48,0xe5,0x04,0x82,0xdb,0xf4,0xf9,0xc7,},{0xfb,0xb6,0xc7,0x53,0x1c,0xda,0x21,0xe7,0xd1,0x7e,0xa9,0x03,0xc4,0xd1,0x4b,0xe6,0xc6,0x8b,0x4c,0xa8,0x03,0xa1,0x6b,0xd8,0x71,0x20,0xf5,0xaa,0xf7,0xdc,0xe1,0xd4,},{0x84,0x10,0x1d,0xd4,0xb5,0xe8,0xca,0x3e,0xd9,0x8c,0x1e,0x8a,0x06,0xe1,0x1d,0x7e,0x42,0x4b,0x0d,0x12,0xca,0x71,0x4e,0xe7,0x37,0x4b,0x64,0xc2,0x9d,0x51,0xa2,0x02,0x1c,0xc7,0x7a,0xc7,0x53,0x89,0xd9,0xb0,0xa6,0x46,0xa4,0x47,0x62,0x3d,0x7d,0x04,0xd1,0x24,0x18,0x66,0xb0,0xca,0x6e,0xdd,0x1b,0x7a,0xc0,0x15,0x66,0x6b,0x70,0x0d,},"\xbd\x16\x85\x41\x92\x79\xeb\x81\xe4\xcf\x3c\x90\x90\x31\xf0\xf0\x9c\x5f\xfa\xe7\xe2\xce\x6b\xa9\xd9\x6c\x2b\xce\x87\xb8\xba\x0d\xd7\x63\x23\x10\x01\xe5\x32\xc7\xdd\xd6\x21\x03\xab\xf7\x01\x28\x8e\x19\xdd\x8f\x53\x02\xe8\xf5\xd3\x1b\x64\xcc\x33\x9b\xd8\xb7\xa9\x55\x50\xc8\xa1\x16\xfd\x48\x69\x48\x77\x2b\xd5\xaf\x8d\xfd\x46\x00\x1c\x59\x76\x7b\x0d\x6b\xdc\xe3\x83\xa7\x07\x89\x92\xd1\x02\x2f\xbc\xaf\x90\x71\x06\x87\xb9\xaa"}, -{{0x50,0x41,0x4c,0xf5,0x49,0xbc,0xc5,0x5b,0x5b,0x6b,0x75,0xea,0x37,0x82,0xb2,0xea,0x7c,0x08,0x7b,0x6a,0x01,0x06,0x17,0x5e,0x46,0x9c,0xa2,0xcc,0x76,0x4a,0xeb,0x01,},{0xd0,0xf3,0x0c,0x12,0xe9,0x97,0xf9,0x6e,0x7a,0xee,0xcd,0x1b,0xff,0x6a,0x01,0x2e,0xc3,0x88,0xeb,0xf8,0xf3,0xf4,0xaf,0x66,0x48,0x04,0xd1,0x63,0x8e,0x4c,0x34,0x6a,},{0xb3,0x09,0x80,0x01,0x60,0xde,0x43,0xa6,0x3a,0x89,0xa0,0xac,0xb8,0xa6,0x05,0x00,0x59,0x58,0x9b,0x3e,0xae,0xca,0xc2,0x0b,0x25,0x6f,0xec,0xe4,0x38,0x04,0x2f,0x69,0x41,0x5d,0x8a,0x56,0x88,0x3e,0xe3,0x83,0x6d,0x31,0x34,0xa7,0xfc,0x1d,0xe6,0x4f,0xa8,0xc8,0xce,0xcc,0x3c,0xe2,0x75,0x89,0xf6,0x06,0x05,0x88,0x20,0x85,0x7a,0x0c,},"\x75\xad\x77\xe8\xc5\x4b\x0b\x05\xfb\x2d\x16\x2e\x7c\xad\xb8\xa7\x52\x80\x81\xb8\x63\xf7\x6a\x44\x1b\x37\x44\x69\x41\x3e\x57\x14\xed\xf5\x4f\x80\x04\x96\xaf\x01\x57\xc1\x7e\x42\x55\x83\x41\x4d\x43\x61\xf2\x13\x41\x71\xc0\xb8\x7c\x22\xce\x68\x20\xa4\x85\x0a\xb4\x9d\x99\xa9\xba\xdc\xe9\xe3\x61\x10\xe7\xf3\x06\x01\x18\xb3\x59\x0f\x82\xb4\x37\x71\xe9\xfb\xb0\x81\xaf\xe6\x22\x27\xe0\x24\xd9\x8d\xe6\xcd\xec\x02\x8d\x7c\x49\x49\x0d"}, -{{0x93,0xcb,0x00,0xd8,0xfe,0x9c,0x97,0x77,0xa6,0x83,0x63,0x1f,0x39,0xba,0x0f,0x48,0x76,0x14,0x82,0xcf,0x1c,0x36,0x6b,0xd8,0x63,0xcf,0x71,0x51,0x01,0x53,0x25,0x55,},{0x87,0xe9,0x4a,0x1e,0xa5,0x25,0x8d,0x61,0x18,0x0c,0xb8,0x28,0x59,0x0f,0xf1,0x41,0x8a,0x87,0xd0,0x1e,0x70,0x26,0x86,0xba,0x8a,0xbc,0x26,0x92,0xc8,0xdc,0x3c,0x91,},{0x09,0x82,0x4f,0xa2,0xdf,0xbc,0x4d,0x6e,0xf7,0x6a,0x9e,0x41,0x45,0x96,0x11,0x16,0x76,0x91,0x30,0x55,0x3b,0x3e,0xdf,0xfa,0x50,0xd0,0x4f,0x39,0xb8,0xb7,0x9f,0xac,0xbd,0x23,0x7a,0xcf,0x71,0x35,0x4a,0x53,0xa6,0xe5,0xfe,0xe7,0x54,0xe8,0x23,0xb0,0xb2,0x90,0xf9,0x61,0x93,0x20,0xa1,0x3d,0x56,0x12,0x69,0xa2,0x21,0x63,0x9f,0x03,},"\x88\xd8\x53\x8d\x31\x86\x78\x13\xd8\x8f\xef\x72\x28\xd4\x9a\x7e\x95\x0d\x73\x83\x96\xf1\x16\xdd\xa1\x02\x5f\x79\x13\x54\x7c\x5d\x1d\xc5\x67\x7a\x6d\xe4\xb4\xa5\x88\x05\x07\xb3\x61\x78\x0b\x61\xb4\x3f\x77\x95\x26\x3d\xb2\x2f\xf3\x41\x64\x5f\x2f\x59\x14\xfd\x60\x88\xc2\x81\x12\x11\xed\x47\x56\xac\x01\x9a\x60\x35\xd6\x6e\x31\x70\xc1\xd8\x2b\xfa\xa3\x05\x96\xb3\x96\xb3\x26\x0c\xc1\xd1\x0d\x41\x3d\xd4\x7e\xbe\x6d\xaa\x0c\x30\xdc\x42"}, -{{0x2b,0x4c,0xae,0x38,0x0e,0x95,0xce,0x69,0x4c,0x26,0xac,0x79,0x57,0x44,0x73,0x47,0xf9,0x8e,0x31,0xb4,0xbf,0x02,0xd7,0x44,0xe1,0x31,0x52,0x90,0x71,0xe2,0x30,0x1d,},{0xe6,0xfc,0x70,0x5a,0x79,0xc9,0x8e,0x11,0x5b,0x4e,0x28,0xd3,0xaa,0x15,0x06,0xb7,0x4e,0xe7,0x42,0x76,0xc5,0xfc,0x11,0x09,0xa7,0xf4,0xd8,0x9c,0x6f,0xaf,0xb8,0x89,},{0x55,0x5e,0x45,0x65,0x6b,0xa9,0xcf,0xbf,0x51,0x55,0xd0,0xe5,0x25,0x76,0xe5,0x19,0x7a,0xbb,0xbc,0x9d,0xd2,0x33,0x99,0x3e,0xec,0x2a,0x1e,0xe7,0xf6,0xa8,0x64,0x09,0xc0,0xb7,0x1b,0x0a,0x66,0x19,0x78,0xff,0x5e,0x0a,0xcd,0xc9,0x46,0x3d,0xc4,0x49,0x90,0x6f,0x47,0x4f,0x8e,0x79,0xbb,0x86,0x16,0x8b,0xf7,0x07,0x41,0xe3,0x4b,0x02,},"\xe0\xb8\x25\x0e\x27\xb7\xc0\x29\x1d\xbc\x47\xa6\xda\x6f\x12\x68\x98\x7a\xfd\xf0\xa1\xe9\x0b\xe6\x9b\xcb\xc4\x37\x08\x65\x21\x78\x30\xd5\x20\x86\x93\xbe\x7b\x70\x45\x09\x9a\x22\xea\x27\xf9\x52\xeb\x3f\x79\xa9\xa0\xf1\xb5\xa8\x7b\x19\x36\x77\x90\x78\x8d\x34\xc2\x19\xc2\xe2\xa6\xb8\x34\x02\x0f\xb4\xfd\x14\x9d\xc5\x6b\x54\x4f\xdd\xbb\x42\x07\x1a\x16\x2f\xc7\xcb\x33\xc1\x46\xca\xc0\x5a\x31\xb1\x83\xe9\xda\xad\xc6\x16\xf3\xaf\x44\x9b\x17"}, -{{0xb5,0x64,0x91,0xe5,0x49,0x99,0xbb,0x5a,0x17,0x15,0xeb,0xfa,0x2f,0xeb,0x14,0xa5,0x45,0xa3,0xa4,0x3c,0x2f,0xdf,0xd4,0xbe,0x0c,0x95,0xfc,0x11,0x81,0x9a,0xd6,0x95,},{0xcd,0x42,0xbf,0x41,0x4f,0x9b,0xfc,0x72,0xec,0x06,0x98,0x82,0xa8,0x00,0x55,0x7c,0xdf,0x31,0xbc,0x34,0x64,0xfb,0x10,0x2c,0x31,0x0e,0x6d,0xbd,0x3a,0xe2,0x08,0x63,},{0xe3,0xbe,0x3e,0x71,0xa8,0x98,0x52,0xdf,0x3c,0xff,0xd7,0x2d,0x68,0x20,0x78,0x69,0xdd,0x3e,0xce,0xb4,0x9b,0x1f,0x02,0x94,0x93,0xec,0xcb,0xb9,0x32,0x44,0x4e,0xbe,0x8c,0x8c,0x6d,0xb5,0xf0,0xa5,0xa6,0x7e,0x21,0x94,0x40,0x8d,0xf9,0x84,0x19,0x13,0xa5,0xac,0x1a,0x60,0x68,0x96,0x41,0x9a,0x66,0x8f,0x4f,0x47,0xc5,0x6c,0x2b,0x08,},"\xeb\x44\x18\xba\x30\x68\x3e\xc7\x95\x9b\xdb\x1e\xc7\xb2\x63\xf8\x3e\x81\xf0\x54\xdd\xcd\xbe\x0a\x67\x38\xca\x77\x63\xe2\x46\x93\x5b\xac\x41\x90\x26\xc2\x2b\xfb\xdd\x12\x36\x33\x6c\xc1\x61\x07\xc5\x35\x13\xe3\xdd\xf3\x4e\x12\x08\x46\x96\x2c\x3b\xdd\x54\xf5\xad\x57\x49\x59\x72\x08\xf1\x5a\x8b\xb5\x66\x67\xba\xa8\x95\xf0\x83\x40\xdb\x89\xb8\x5c\x43\x5e\x77\x09\x31\x92\x8d\x8a\xbc\x99\x26\x2f\x83\x9a\xed\xd9\xbe\x2a\xa1\x38\xc9\x25\x9a\xdf"}, -{{0x65,0x79,0xc2,0x47,0xdd,0x2c,0xd0,0x2b,0xa2,0xf7,0xd7,0xa9,0x50,0xa3,0x30,0x75,0x26,0x81,0xe9,0x2c,0x0d,0xc6,0x29,0x84,0xbb,0xea,0x27,0x9e,0xa5,0x21,0xc3,0x81,},{0x0b,0x08,0x7b,0xea,0x1a,0x1b,0x3d,0x15,0x80,0x5c,0xb6,0x04,0xf4,0xbb,0x8d,0x68,0xed,0xde,0x27,0x4f,0xaf,0x52,0x1f,0xe6,0xdf,0x50,0xc5,0x5f,0x8a,0xd4,0xa7,0x0d,},{0xec,0xca,0xf8,0x01,0xae,0x0a,0x91,0x2e,0x21,0xc6,0xb8,0x3a,0x5f,0x0e,0x4e,0x88,0xd4,0xb2,0x71,0x34,0x59,0xff,0x93,0x44,0x9f,0xc0,0xb2,0x1a,0x9f,0x41,0x60,0x50,0x11,0x3c,0xba,0xe4,0xe8,0x14,0xd2,0x0c,0x0a,0x79,0x8f,0x76,0xd2,0xf9,0xd3,0x26,0xed,0x83,0x95,0x9e,0xa0,0x2a,0xbd,0xc1,0xab,0x35,0x0a,0x46,0x71,0x23,0xf7,0x09,},"\xdf\x7c\x55\x2f\xfc\x89\x37\x4b\x95\x71\xa6\x02\x4a\x8d\x04\x71\xd7\xeb\x6b\xe8\xdf\xca\x6f\x41\x66\xb5\x81\xb6\x54\x79\x01\x5a\x05\x68\x12\x90\x74\xcc\x04\xd6\x34\x2c\x75\x8c\xa1\x8f\x79\x87\xde\xc5\x36\xb7\x03\x3d\x5f\x96\x81\x50\x43\x40\xe2\x09\x86\xf0\x27\xb8\xcf\x1f\x26\x3b\xe7\x6d\xb3\x52\x5d\x17\x34\x22\x95\x0e\xa8\xdc\xed\xdc\x58\x56\x40\x91\x8a\xa9\xd2\x5c\xa8\x9c\xba\x70\x1c\x20\x20\x15\x38\x73\xf4\x61\x08\xc7\x72\xcb\x38\x8d\x55"}, -{{0x18,0xfb,0xa6,0x0c,0x50,0x26,0xf3,0xc9,0xdd,0x7a,0xed,0xc0,0x42,0x09,0xd5,0x26,0x03,0x61,0xde,0x40,0x0e,0x19,0x0a,0xeb,0x60,0x16,0x9e,0x05,0xa3,0x36,0x7c,0x9f,},{0xdf,0xff,0x34,0x7f,0x3d,0xd2,0x55,0x53,0x0b,0xf7,0xfb,0x34,0xd0,0x2b,0xa4,0x86,0xd1,0x12,0xbb,0x46,0xe9,0x50,0xe2,0xef,0x80,0xe5,0x17,0x01,0x4c,0xc9,0x57,0x34,},{0x4b,0xc0,0x11,0xe4,0x0f,0x0f,0x59,0xc6,0x18,0xf6,0xbb,0xe2,0x30,0xb6,0xf7,0xbc,0x2f,0x50,0xe3,0x61,0x7c,0x7f,0xaa,0xb7,0xf4,0xc2,0x1c,0xb8,0x4f,0x77,0xeb,0xa9,0x94,0xcb,0x7c,0x2a,0x1b,0xf1,0x0b,0x01,0xbb,0x20,0x08,0x44,0x97,0xfd,0xf0,0xa6,0xab,0x5d,0x9b,0xcd,0x22,0xc4,0xa2,0xc5,0xa7,0x8f,0x79,0x92,0x68,0x25,0x94,0x0f,},"\x34\xf0\x8a\x80\x4d\x78\x29\xcc\x39\x14\xf0\x00\xce\x1a\x32\x88\xac\xce\x21\x49\xc8\xa0\x20\x86\xb9\xf6\x7a\xfc\xcd\x83\xa1\x78\xb0\xbc\xfd\x49\x70\xc0\x56\x99\x7d\xa7\xdc\x3d\x47\x56\x2f\x16\x66\x3c\xed\xc5\x2f\x82\xd7\x10\x85\x0c\xf4\x05\x03\x79\xef\xda\xc2\x3b\xee\x17\xc3\x30\xa3\x83\xad\x13\x7f\x78\x84\x73\xb2\xb0\x72\x36\x03\xb6\xde\xb1\xfd\xbf\x6c\x52\x3f\xc9\x48\xa0\xcc\xc4\xff\x10\x0f\xb9\x46\xd8\x74\xc1\xf9\x90\x43\x6a\xe8\xc4\xf3\xb2"}, -{{0x07,0x3c,0xc1,0x5b,0x05,0x36,0x28,0x59,0x33,0xb2,0xbe,0x39,0x25,0x3c,0xf4,0xfd,0x69,0x6b,0x81,0x61,0x0f,0x5d,0xd3,0xad,0xac,0x2e,0x9c,0xbf,0x33,0x8e,0xf2,0xf6,},{0x00,0xb5,0x51,0xd3,0x71,0x54,0x43,0x75,0xda,0xc5,0xc4,0xe9,0x6c,0xd1,0xf0,0x21,0x52,0x07,0xe8,0xe1,0x66,0xa1,0xfe,0x49,0xd5,0xb0,0xa5,0x1a,0xc1,0x84,0x43,0xec,},{0x3a,0xa5,0x2a,0x83,0x06,0x2a,0x8f,0x28,0xa5,0xd6,0xb7,0x60,0x7f,0x48,0x4b,0x66,0xcc,0x37,0x48,0x96,0xb7,0x66,0x12,0x31,0x26,0x33,0x3c,0x57,0x95,0x81,0x31,0x6c,0x74,0x28,0x06,0xf6,0x27,0xb5,0xbc,0x55,0xca,0xd7,0x05,0xcc,0x1d,0x47,0x82,0xb0,0x44,0x08,0x0c,0x8a,0xc8,0x40,0xf3,0x8c,0x0c,0x50,0xd3,0x5e,0x34,0x5c,0x78,0x03,},"\xc2\x85\x36\x2b\xc8\xef\x62\x8f\x7a\xed\xf6\x54\x23\x1e\xe5\x1a\xcd\xf2\xcf\x69\xa8\x86\xb9\x42\xbb\x9b\xfe\xd8\x15\x51\x05\xd9\x20\x9d\xed\x2a\xf2\x4f\x16\x9a\xd5\xfc\xd4\x51\x37\x0f\x58\x27\xa8\x51\x11\xc7\xa5\x2e\x03\x2c\x50\x38\x61\x7c\x0c\x01\x70\xe2\xa6\xc2\x31\xdc\x40\x1d\x12\x06\x2e\xdb\x18\x60\x36\x11\x4e\x38\x79\x3b\x79\x08\x90\x77\x58\x1b\x97\x83\xf4\x00\x07\x10\x3e\xf1\x74\x72\x49\x1c\x00\xe7\x13\x8a\xec\xc5\x08\x4d\x3c\x85\x01\x04\x70"}, -{{0xfd,0x89,0x4a,0x1e,0x82,0x32,0x20,0x3b,0x28,0x95,0x05,0xd5,0xc6,0x8c,0x68,0x79,0x1f,0xfc,0x0e,0x54,0xf2,0xa8,0x75,0x30,0xfb,0xba,0x5b,0x3a,0x3f,0x2c,0xaf,0x00,},{0xe9,0x5a,0xb5,0x65,0x94,0x5c,0x7a,0xe5,0xd5,0x33,0xdf,0x5d,0x0c,0xcc,0xc7,0xe9,0xab,0xbc,0x83,0x8e,0x20,0xa0,0xb6,0x1c,0x93,0x0f,0x5d,0x41,0xd8,0x1a,0x6f,0xe7,},{0xf5,0x11,0x02,0x21,0x9e,0x88,0x04,0xbe,0x71,0x3e,0x55,0x6d,0xf4,0xe4,0xaf,0xa2,0xf8,0x86,0x6f,0xe8,0x65,0x41,0xa1,0xc2,0xa0,0x93,0x4d,0x24,0xc3,0xc9,0xbe,0xb2,0x80,0xa7,0x0d,0xd8,0xd5,0x27,0xfe,0x8b,0x7e,0x0b,0x94,0x82,0x14,0xd5,0xf2,0xf9,0x63,0x86,0x19,0x91,0x4b,0x72,0xd5,0x5d,0xc1,0x98,0xb0,0x22,0x9a,0x84,0x87,0x08,},"\x26\x69\x62\x4a\x94\xf2\xc4\x4a\x05\xb7\xdc\x3e\xbf\x93\xe5\x8a\x4b\xf3\xa0\x1c\x27\x36\x57\xe7\xe7\x87\x89\x76\xf6\xb6\xea\x73\x7f\xa3\xf2\x2c\xc8\x36\x5b\x8b\x22\x0c\x00\x7d\x5b\x64\x27\x26\xa4\x08\xfe\x2f\xab\x69\xeb\xb3\xbd\x07\x2b\x34\x9f\x4d\xc3\x37\x7e\xe7\xcc\x75\x29\x34\x25\x42\x15\xd2\x39\x89\xbd\x3c\xd0\x2c\xe9\x99\xad\xec\x97\x84\x99\x3f\x4c\x19\x94\x08\x15\xf3\x9c\x9e\x22\x92\x47\xf5\x20\x5c\x36\xcb\xa4\x4e\x71\x42\x66\x36\x92\x89\xb4\xa7"}, -{{0x18,0xef,0x46,0x4e,0x28,0xf8,0x7f,0xfc,0xfa,0x4d,0x3a,0x9c,0x09,0xa2,0x29,0x10,0x95,0x1b,0x8c,0x71,0x9f,0xda,0xcd,0xb5,0x6d,0xe6,0x2c,0x4b,0x40,0x6d,0xf0,0x0c,},{0xc5,0x06,0x4c,0x9d,0x43,0xee,0x2d,0xa7,0x5b,0x06,0xbb,0x09,0xc7,0x72,0x67,0xdb,0xd0,0xd3,0x91,0x28,0xf1,0xcd,0xc6,0xbf,0xa4,0x51,0xa0,0x3e,0x93,0xaf,0x4a,0x70,},{0xd1,0xe7,0xf1,0x6e,0x8e,0x59,0x7d,0x42,0x8a,0xde,0xa6,0x55,0x91,0xd5,0x51,0xb5,0x4b,0x66,0x7a,0xff,0x20,0x20,0xc4,0x64,0xf7,0xf4,0xe5,0x3c,0x47,0x73,0xf7,0x04,0x33,0x24,0x9a,0x3c,0x71,0xb4,0xd1,0x1c,0x89,0xc3,0xfa,0xa8,0x92,0x80,0x92,0x27,0xb9,0xf2,0x9e,0xf4,0xf7,0xf5,0xd0,0x20,0xd4,0x67,0x4d,0x40,0x21,0x35,0x94,0x05,},"\x9c\x82\x57\x07\xd9\x35\x83\x65\xab\x9d\x38\xf7\xe7\x28\xd6\x28\xaa\x72\x2a\x4f\x1a\x20\xa3\x8e\x47\xc9\x99\xff\xf8\xfc\x32\x41\x7f\xbe\x07\x2f\x96\xeb\x6a\x0e\x11\xe4\xda\x9b\x6d\xe9\x61\x54\x45\x28\x0e\x93\xc7\x7a\x36\x34\xd3\xd2\xc6\x87\x98\x56\xc2\x48\xf9\x80\x0f\x60\xa0\xd3\x8d\xc1\xce\xa8\xb7\xf3\x1f\x28\x6c\xb0\x37\x48\x27\xb4\xc6\xba\x14\x4a\x66\x94\xf2\xb9\x08\xea\xd6\x8d\x18\x34\x01\x24\xcb\x59\xcf\x17\x01\x86\x3b\xd4\xf3\xef\xc7\x09\xf3\x62\x7a"}, -{{0xc9,0x11,0xbd,0xf2,0xf9,0xe7,0xcc,0x5f,0xff,0x35,0xc9,0x6e,0x15,0xcc,0x12,0xea,0xfd,0x05,0xab,0x0d,0xb3,0x1f,0x64,0x9f,0x74,0x08,0xac,0xd0,0xca,0xda,0x76,0xe0,},{0xde,0x44,0x69,0x6c,0xd6,0xbd,0x2c,0xbe,0x9b,0x11,0xa0,0xef,0x18,0xb8,0x81,0x64,0x80,0x1a,0x96,0x9d,0x5e,0x06,0xed,0x45,0x3e,0xb4,0x00,0x8c,0xce,0x9a,0x57,0x25,},{0xd5,0x84,0xb5,0xda,0x37,0x1a,0xe4,0xf5,0xc9,0x85,0x9b,0x25,0xf7,0x0d,0xc5,0x6c,0x1b,0x7b,0x4e,0x02,0xd1,0xae,0x66,0x36,0x28,0x3b,0x1b,0x7b,0x11,0x21,0x7a,0xfd,0xcd,0xf6,0x5d,0x1b,0x49,0xca,0x2c,0x8e,0xf1,0x79,0x66,0xe9,0xbc,0x65,0xf1,0x0c,0x31,0x0b,0x77,0xbb,0x5d,0xf7,0xaf,0xf5,0xec,0x1b,0x37,0x9a,0x2c,0xe5,0x5d,0x0d,},"\x76\xc4\x71\x24\x1d\x17\x19\x29\x84\xb0\x03\x62\x69\x6e\x4d\x9d\x4d\x2b\x7f\x83\x9c\x20\x64\x11\x7e\x50\xa1\x59\x8f\x3a\x11\x72\xb1\x6c\x55\xe5\x39\x68\x66\x08\x47\x52\x02\x4f\x3a\x7e\xb6\x8b\xb3\xff\xdb\x80\x97\x9a\x0a\xf6\xd0\xf6\xaf\x26\xb6\xf0\xbc\x0c\x03\x84\x43\x3b\xcf\xd4\x4c\x75\xeb\x65\x4a\x8a\x82\x25\xcb\x9c\x4a\x7f\xb3\xc8\x24\xc3\xaf\x61\x25\xfd\x46\xdb\x28\x7e\x70\x49\x2d\x15\x46\x32\xcb\x8f\x62\x43\x26\x59\xd9\x58\xd6\x28\x1d\x04\xa5\x4f\x5f\x5f"}, -{{0xd3,0x70,0x32,0x99,0xc4,0x1d,0xb3,0x6d,0x77,0xdd,0x3a,0x49,0x54,0x1f,0x3f,0xb2,0x1d,0x0b,0x2b,0xad,0x1f,0x6e,0x07,0x4a,0xff,0xd9,0x6f,0x1c,0x40,0xd0,0xf9,0x27,},{0x86,0x2c,0x5e,0xf6,0x16,0xa5,0xf0,0x66,0xfd,0x87,0x75,0x8a,0x56,0xab,0x45,0x05,0x6f,0xea,0x4b,0xd3,0x3f,0x00,0x8b,0xe2,0x4f,0x7b,0x54,0x0e,0x09,0x5e,0x14,0x8e,},{0xdf,0x28,0x27,0x71,0x21,0xea,0xc4,0x46,0x30,0x08,0x4c,0xce,0x75,0x91,0x7a,0xe9,0xf6,0xbe,0xc6,0x5a,0xf5,0x57,0x2d,0xc3,0x07,0x19,0xbd,0xe6,0x61,0xcf,0x69,0x6b,0x85,0xb8,0x67,0x2d,0xd4,0x98,0x3c,0xab,0x30,0xbd,0x05,0xcc,0x3a,0x11,0x9d,0x7d,0xb9,0xba,0xbd,0x52,0x2d,0x7b,0x3a,0x6b,0xcf,0x38,0x86,0xec,0xd2,0x5e,0x08,0x0f,},"\xac\x92\xed\xbe\x22\x25\x7b\xb0\x6d\x94\xaa\x95\x0e\x62\xd1\x8c\xa2\xac\x0a\x8f\xc1\x06\x00\x0d\x22\x31\xf8\xa1\x3b\x8d\x7a\x20\x9c\xcd\x8c\xc4\x9a\x6c\xd6\x8a\x7f\x36\xc0\x2f\xb8\xf7\x28\xd1\x55\x95\x16\x7f\x0b\xa8\xcf\xe9\x5c\x8a\x1e\x43\x5f\x32\x75\x13\x01\x4a\xc4\x28\xb7\x5d\x4f\x72\xe7\xc8\x34\xdd\x70\xe1\xa4\x48\xf1\x84\x7d\x34\x98\x47\x5f\x74\xe3\xd9\x33\x4d\xc7\xdc\xc4\xfe\xd7\x2b\xf6\xc7\xfe\x3b\x1d\x4f\x53\xd4\x29\x61\x6f\x1d\xf4\x4f\x19\x73\x31\x58\xb6"}, -{{0xd4,0x11,0xcd,0x33,0x57,0x6d,0x0e,0xfe,0x9e,0xc4,0x13,0xcc,0xda,0xab,0xd4,0xfc,0xba,0xfe,0xc0,0x1a,0x3a,0xf4,0xb3,0xcb,0xe3,0x4f,0x8b,0x05,0xef,0x8b,0x59,0xba,},{0xe8,0x70,0x34,0x4d,0xf9,0x8d,0xd3,0xa8,0x70,0x2c,0x45,0x19,0xbf,0x9e,0x8b,0x35,0xa9,0xd1,0x89,0xe7,0x46,0xf7,0x20,0x3d,0xbb,0xf9,0xbb,0xfa,0xb2,0x2d,0x6f,0x63,},{0x83,0x46,0x0d,0x15,0x46,0x1d,0x67,0x17,0x71,0x0b,0xaf,0xd6,0xa4,0x7a,0x1e,0xaa,0x90,0x0a,0x80,0xf2,0xbf,0x8b,0x8a,0xae,0x24,0x68,0x77,0x36,0x14,0xee,0x84,0xbd,0x62,0x8c,0x97,0x17,0x47,0x63,0x68,0xef,0x36,0x40,0xcf,0x76,0x0a,0xca,0xc8,0x3a,0xd6,0x02,0x32,0xa7,0x69,0x63,0xb7,0xd5,0x25,0x88,0xb1,0x1d,0xc0,0x04,0xd7,0x0d,},"\x11\xd2\xc2\xa7\xf0\x19\x09\x88\x12\x66\x96\x43\x1b\x4b\xbc\xd9\x0a\xb7\xb5\x6a\x32\xda\x64\x04\xae\x44\x6a\xa7\x62\xa4\xdd\xc6\x60\x94\x97\x15\x38\xee\xb8\x5b\xde\x04\x70\xa5\x10\xbe\x0d\x6d\x85\x78\x0e\xe7\x30\xa9\x85\x41\x38\x72\x8a\xe6\x81\x61\x62\x26\x8d\xa8\x52\x85\x8e\xae\xd4\xec\x74\xc7\xac\x62\xe6\xe7\x09\x6d\xc0\x02\xdf\x0b\xdf\x5f\xa4\x0d\xa5\x65\xb4\x1d\x18\x1a\x3f\x0a\xd0\xc5\xe0\xb9\x76\x74\x3e\x31\x5d\x9d\xb8\xed\x41\x60\xab\xe6\x9c\x13\xa2\xb3\xf0\x9a"}, -{{0xe1,0x0a,0x2f,0x13,0x80,0xc3,0xe4,0x72,0x0e,0x8a,0x87,0x07,0xa9,0xbc,0xb2,0x5a,0x0f,0x58,0x27,0x0d,0x70,0x59,0xcd,0x76,0x26,0xc7,0x15,0x34,0x47,0xed,0xfb,0x87,},{0xa3,0xc7,0x17,0xac,0xab,0x36,0x6a,0x40,0xb5,0x11,0x87,0xbb,0xf3,0x5b,0x2d,0x15,0xe9,0x7c,0xfe,0xac,0xd7,0x34,0x9c,0x06,0xef,0x1c,0x91,0xac,0x93,0xe9,0x06,0x56,},{0x09,0x4b,0xf6,0xf9,0x53,0xca,0x0e,0xb7,0x7d,0xf4,0x51,0x29,0xb7,0xbf,0x10,0xd1,0x92,0xcf,0x6d,0xde,0xae,0x94,0xad,0x62,0x02,0xb8,0xea,0xcf,0xbe,0xc1,0x19,0xe5,0x29,0x15,0x78,0xfe,0x64,0xa0,0x84,0xae,0x60,0x0f,0xe0,0x7e,0xfd,0xb8,0xa7,0x82,0x61,0x0d,0xbd,0xb0,0xb4,0x9e,0xb5,0xf2,0xa4,0x6c,0x43,0x23,0x55,0x55,0x2f,0x01,},"\x13\x52\x12\xa9\xcf\x00\xd0\xa0\x52\x20\xbe\x73\x23\xbf\xa4\xa5\xba\x7f\xc5\x46\x55\x14\x00\x77\x02\x12\x1a\x9c\x92\xe4\x6b\xd4\x73\x06\x2f\x00\x84\x1a\xf8\x3c\xb7\xbc\x4b\x2c\xd5\x8d\xc4\xd5\xb1\x51\x24\x4c\xc8\x29\x3e\x79\x57\x96\x83\x5e\xd3\x68\x22\xc6\xe0\x98\x93\xec\x99\x1b\x38\xad\xa4\xb2\x1a\x06\xe6\x91\xaf\xa8\x87\xdb\x4e\x9d\x7b\x1d\x2a\xfc\x65\xba\x8d\x2f\x5e\x69\x26\xff\x53\xd2\xd4\x4d\x55\xfa\x09\x5f\x3f\xad\x62\x54\x5c\x71\x4f\x0f\x3f\x59\xe4\xbf\xe9\x1a\xf8"}, -{{0xb2,0xe6,0x97,0xb3,0xd3,0xef,0xec,0x97,0x6e,0xf3,0x36,0x95,0x30,0xc7,0x92,0x71,0x7b,0xdb,0xb4,0x28,0xd9,0xed,0x0c,0x11,0xec,0x0e,0xa9,0xb2,0xe5,0xf3,0x9f,0x82,},{0xc4,0xd2,0xe4,0xb3,0xc2,0x36,0xd6,0xc9,0xb8,0xc7,0x4f,0xa3,0x84,0x61,0x2c,0x47,0x10,0xd8,0x3a,0xa1,0x6a,0xd7,0xef,0x01,0xfb,0xb7,0x42,0x1d,0x4f,0xb3,0xf0,0xf6,},{0x50,0x47,0xfa,0x38,0x19,0x7b,0x83,0x28,0xe7,0x8d,0xd8,0xa1,0x0e,0x96,0x6a,0xfb,0x7b,0xd3,0xd4,0x36,0x08,0x28,0x0f,0x1c,0x25,0x7d,0x25,0xca,0x43,0xbc,0x1c,0x06,0xe9,0x4a,0x57,0x47,0xab,0x62,0x15,0xec,0xe5,0x4c,0xde,0xff,0x8c,0x56,0x56,0x7d,0x70,0xd2,0xf9,0x1f,0x9e,0xc8,0xc2,0x60,0xaa,0x10,0x80,0xa6,0xab,0x5a,0x7a,0x02,},"\x7b\x43\x62\x32\xac\x21\x11\xa8\x40\x59\x51\x0c\x48\x36\x25\x88\xfc\xb7\x38\x34\x26\xbe\x5e\x6f\x62\xf3\x72\xe4\xf7\xcc\xa8\x3c\x81\xc2\x35\x7f\x9b\x54\xf4\xa1\x52\x91\x06\x5b\x6d\x41\xaa\xd1\xea\x93\xcf\xfa\x77\x6b\x9a\xca\xa5\x8a\xfe\x2b\x51\x64\x4b\x97\xaf\x9a\x3e\x53\xf8\x4e\x40\xaa\x6d\x86\x05\x1e\x69\x14\xcd\x03\x9d\x41\x70\xa9\xa5\x26\xdd\x69\x95\x5f\xf5\x07\xc3\x3f\x74\xe2\x17\x65\x91\xfb\x0b\x3c\xd7\xf0\x0e\xe4\x18\xf2\xc2\x58\xa9\x98\x1c\xcc\xee\x72\xf0\x1c\x84\x30"}, -{{0x19,0xa6,0x79,0xa7,0xa9,0x05,0xa1,0xe2,0xb3,0x03,0x8e,0x6e,0x41,0x8b,0x3d,0xa9,0x7c,0x30,0x89,0xc7,0xcd,0x35,0x1e,0xa0,0x7b,0xc8,0xd1,0xaf,0x64,0xea,0xcc,0x46,},{0x19,0xf0,0x83,0x61,0xf4,0x69,0xb4,0xae,0x1e,0x0c,0xeb,0x94,0xf4,0x7a,0x7d,0xe7,0x31,0x74,0x10,0xa9,0x2d,0xd0,0x13,0xb1,0x6a,0xe0,0xd0,0x53,0x2f,0xa4,0xb3,0xef,},{0x43,0x47,0xb7,0xb4,0xf7,0xc3,0xc4,0xdd,0x31,0x5b,0x83,0x84,0xa0,0xb0,0xca,0xee,0xd8,0x4b,0xda,0xbe,0x24,0xb2,0x91,0x5f,0x12,0x51,0x2d,0xfd,0x04,0x77,0x0f,0xc9,0x96,0xa1,0xbf,0xb7,0x29,0xaf,0xef,0x9e,0xdd,0x61,0x14,0x47,0x08,0x1a,0x53,0x30,0x61,0x7e,0xae,0xa1,0xc1,0xda,0xb1,0xbf,0x13,0xce,0xa8,0x99,0x72,0x04,0x91,0x0c,},"\x98\x0c\x7b\x4d\x29\x39\x06\x1a\xc7\xb9\xba\x44\x11\x17\xa1\x94\x85\x66\x17\x81\xa4\x08\x30\x67\xc5\x5a\xcf\x93\x02\x6c\x08\x2a\x93\xcc\x12\x4f\x09\x5e\x1b\x4f\x2c\x3f\x6c\x13\x54\x12\xa5\x09\x62\x28\xe8\xa0\x71\xe8\xb4\xb6\x68\xba\x9d\x96\x44\xea\x9f\x4d\xab\xfc\x54\xa9\x85\x6c\x3e\x96\x5e\x63\x63\x39\x5a\xb7\x09\x03\x7d\xda\x22\x9b\xaf\x92\x7c\xd0\x1f\x9a\xf5\xe0\x39\xaf\xc4\x2f\x3c\xec\x63\x4f\x5d\x83\x2d\x2a\xb7\xc7\xca\xd3\xad\x7b\x8c\xf2\x7e\xbd\xac\x69\x84\x31\xad\x82\x36"}, -{{0xf0,0x3b,0x83,0x63,0xee,0x5b,0x0e,0xef,0x70,0x18,0xa4,0x9b,0xc0,0x2a,0xdf,0x73,0x1d,0xa5,0x4e,0xe5,0x0a,0x7f,0x03,0xb8,0x8a,0x29,0xa2,0x08,0x2b,0x18,0x9c,0x43,},{0x31,0x28,0x7e,0xf5,0xa2,0xe6,0x41,0x04,0xab,0x77,0x90,0xb3,0x12,0xf3,0x5c,0x7a,0xd4,0xaf,0x6b,0xeb,0x0d,0x7c,0xeb,0x8a,0x58,0xf3,0x6a,0x54,0xce,0x27,0x2c,0x3e,},{0xe8,0xfa,0x96,0x7e,0x6a,0xfa,0xdf,0x6a,0x87,0x7d,0x87,0xe5,0xf5,0xc5,0x2b,0xb6,0x34,0xb7,0x5a,0x78,0x04,0x19,0x9a,0x2b,0xc9,0xd0,0x27,0xb6,0x3a,0x35,0x65,0x4d,0x9d,0xdd,0x06,0x83,0x04,0x55,0x64,0x1d,0xbf,0xb4,0x9e,0xdc,0xe4,0x2e,0x20,0xe7,0xd4,0x10,0x4a,0x07,0x1c,0x2c,0xbb,0xec,0x23,0x01,0x8c,0x29,0x7c,0xed,0x99,0x08,},"\x24\x19\x1b\x54\x64\xb3\x5a\xc7\xbc\xf4\xa3\x75\xf0\x33\xef\xba\x89\x43\xb0\x9b\x9f\xf0\xfc\x40\x3c\xa7\xaa\xe7\x02\xa3\xcb\xf3\x96\xc5\x13\x1b\xc0\x08\x13\x2c\xf5\xf1\x29\x10\xd5\x86\xdc\x1d\xb9\xc0\x84\x57\x4a\x96\xba\xbe\xe9\x56\x42\xf9\x22\x37\x1c\x03\x82\xec\x04\x02\xa2\x6f\xeb\x14\x2e\x41\x46\xbb\xd3\x36\x0c\x2b\x36\x83\x4f\xe4\x5a\xf5\xe2\x86\x8d\x4d\x56\xfd\xd5\x04\xce\xbf\x0c\x2d\x7f\x57\x91\xb4\x42\x94\x17\xc8\xb6\x5a\x98\xe0\xb1\x5c\x46\x6c\x13\x7f\x41\x05\x24\xfc\xe7\x37"}, -{{0x11,0x08,0x6b,0x0d,0x11,0xe4,0x15,0xab,0x1c,0xe0,0x2a,0xaf,0x8f,0x06,0x21,0xb5,0x44,0x30,0xf6,0xfb,0x13,0x5c,0x74,0xf4,0x0d,0x38,0xe8,0xc6,0x47,0x37,0x06,0x4b,},{0x71,0x66,0xdf,0xbc,0x69,0x1e,0xb8,0xc2,0x01,0x11,0x4b,0xa0,0xd1,0xa2,0xc7,0xb8,0x7f,0x7a,0x1f,0xd8,0xd0,0xb3,0x60,0x58,0xb0,0xd7,0xdc,0xab,0xe1,0xae,0x30,0xda,},{0xe9,0x07,0x45,0x9d,0x5a,0xdc,0xd0,0xd0,0xc3,0x64,0x18,0x58,0x1f,0x19,0xd0,0xee,0xbd,0xa7,0x13,0x8e,0xbd,0x9f,0xaa,0x0b,0x26,0x22,0x01,0xf4,0x58,0xc8,0x56,0x31,0x0b,0xb7,0x7f,0x4c,0x7d,0xe9,0x22,0x49,0x5d,0xcf,0xe8,0xb2,0x48,0xed,0xa2,0xad,0x0d,0xf6,0xa7,0x3f,0x47,0xbb,0xfb,0x89,0x4b,0xaa,0x7d,0x88,0x69,0x87,0x58,0x02,},"\x4b\x5b\x29\x36\xc5\xe3\x60\xa3\x84\x55\x50\x37\x21\x07\x8f\x8a\xdb\x40\x4a\x7e\xe7\xec\xc1\x48\x01\xdc\x87\xa6\x7a\x15\x2b\x76\x95\x69\xfb\xea\xc0\xaf\xa2\x5a\x20\x70\xa1\x68\x6b\x90\x0a\xc1\x63\x3d\x49\x98\x08\xcd\xb2\xe8\x1c\xe3\x91\x6d\x5a\x3c\x04\xd1\x9c\x5b\xb2\x69\x9a\x66\x2b\x8a\xba\x4a\xf9\x4d\x39\x0b\xac\x7c\xcc\x8e\xc9\x10\xed\x2a\xcd\xf8\x6e\xbb\x71\xad\xb6\x01\x87\x78\x85\xee\xf3\xc9\x16\x62\xfc\x30\x73\x8e\x35\x2c\xc7\x43\x53\xcc\xf8\xd8\xed\xee\xfa\xcc\x04\x2c\x10\xa0\xe5"}, -{{0xef,0xce,0x76,0x67,0xa8,0xef,0x91,0x22,0x8c,0xae,0xd1,0x4e,0xb4,0x77,0xa3,0x45,0xe5,0xe8,0x23,0x92,0x34,0x08,0x08,0x48,0x76,0x0e,0xd0,0x97,0x07,0x13,0xfa,0x86,},{0x91,0x93,0x05,0x5a,0x84,0xdf,0x1e,0xac,0xca,0x28,0xce,0x2a,0x08,0xc2,0xa0,0x7a,0x50,0xf0,0x4c,0x02,0x4e,0xcf,0x1f,0xe4,0xa4,0x7d,0x2e,0xfb,0xaf,0x63,0xed,0x58,},{0xe5,0xa6,0x31,0x24,0xdb,0x16,0x96,0xb6,0x41,0x40,0xb6,0xe9,0x61,0x2f,0xa9,0x58,0x7b,0x3e,0xef,0x71,0x01,0x09,0x39,0x8d,0x44,0xba,0x0c,0xa6,0x3c,0x0e,0xba,0xd0,0x6f,0x0a,0x6c,0x89,0x94,0xea,0x34,0xb3,0xa2,0xaf,0x91,0xa8,0x9b,0xf4,0x1a,0xe6,0x14,0xd7,0x72,0x7d,0x71,0x6f,0xd4,0x2f,0x8b,0x92,0xe1,0xac,0x64,0xfd,0xbf,0x03,},"\xaa\x1b\xc8\x0d\x7b\xcc\x1d\x94\xa2\x3a\x57\xce\xdf\x50\x27\x48\x24\x77\xdc\x46\xb8\x68\x90\xbc\x0e\x5a\xc2\x9a\xe6\xc9\x1b\xbc\x43\x13\x03\x48\x79\x73\x05\xf7\x55\x43\x58\x0a\x8a\x06\x9b\x34\x8a\x7b\xd8\xfc\x3e\x01\x52\x30\xb7\xc1\x94\x0c\x7f\x80\xa8\x2b\x12\x90\x09\x10\xdb\xcf\x06\x30\xda\x03\xf0\x81\xd4\x4c\x7f\x95\x5d\x4a\x11\x72\xf5\x6e\xcc\x7c\x5a\xc6\x46\x69\x6b\xff\xdf\x4e\xb6\xd8\x8b\xdd\x9c\xc3\x84\x35\x28\xb7\x25\x83\xab\xb3\xba\xd0\x2e\x56\xef\x76\x46\xee\xd5\x13\x95\x51\xcd\xeb"}, -{{0x88,0xfc,0xca,0xa9,0x6a,0xd8,0x84,0xd1,0x16,0x5b,0xe7,0x1d,0xd0,0xc4,0xf5,0xf8,0xf4,0x42,0x1c,0x60,0xfb,0xfa,0x49,0x8b,0xfe,0xe9,0xb9,0x67,0x46,0x24,0x43,0xbd,},{0xc7,0x5c,0xb0,0xe0,0x23,0x7b,0x45,0xb8,0x65,0x6e,0xea,0x9f,0x3d,0x1a,0x9d,0x4a,0xcd,0x01,0xa1,0x03,0xaa,0x26,0x9b,0xb2,0x4f,0xd5,0x41,0x22,0xfd,0x81,0xf2,0xac,},{0x27,0xd3,0xa1,0x97,0xcc,0x99,0x94,0x21,0x20,0x63,0xbc,0xe8,0xd7,0x99,0xe7,0x7b,0x68,0x53,0xb7,0x35,0x5e,0xbe,0x36,0x9b,0xcf,0x18,0x89,0xa4,0x18,0xa8,0x2c,0xaa,0x3a,0x79,0x87,0xa6,0x63,0xf6,0x21,0xde,0xfe,0x86,0xb3,0xac,0x4a,0xd4,0x4f,0xae,0xed,0x16,0xc9,0x11,0x6a,0xce,0x28,0xfc,0xcf,0x91,0x55,0x57,0xfa,0x77,0x99,0x03,},"\x9d\x0e\xac\x98\x55\x6b\xfa\x86\x72\xc3\x57\x05\xd1\xd6\x1a\xc4\xd0\xfc\xa1\x9d\xc0\xd9\x93\x01\x58\x77\x85\x7d\x27\xfd\x80\xf7\x4a\xca\xce\x66\x6c\x56\x34\x85\xd8\x1e\x53\x60\x3a\x6a\xef\x40\x87\x5f\xa5\x51\xcc\x10\x5f\x2c\xc1\x0b\x39\x69\x46\x79\xcd\xf4\xa6\xb0\x73\xbc\x88\x64\x5f\xc5\x1a\x36\xda\x17\x9d\x3d\x1e\x3c\x77\x22\x45\x4c\x5e\x73\x57\x7c\x61\xaa\x7d\x14\x8c\x4b\xa5\x0e\xa4\x6c\x56\xa1\xc3\xb3\xb3\xc4\x70\xf9\x31\x00\x49\x4e\x08\xbc\x55\x14\xac\x76\x3a\x85\x48\x3c\x42\xc7\xcd\xc2\x7c"}, -{{0x67,0x0b,0x30,0x62,0x6f,0xe3,0x67,0xd8,0xb4,0x5f,0x43,0x73,0x3d,0x6f,0x25,0xb3,0x7e,0xcc,0xbc,0xb5,0x51,0x96,0x3f,0x0a,0xc8,0xb6,0x66,0xb4,0x80,0x41,0xc7,0x2d,},{0x65,0xaa,0x4c,0x6d,0x4b,0xa0,0xab,0x34,0xbc,0x75,0xb3,0x9f,0x09,0x52,0x7c,0xa6,0xf2,0x42,0x5f,0x52,0x41,0x5c,0xdf,0xfd,0xf2,0xdf,0xf2,0x73,0xf8,0xea,0x61,0x2c,},{0x1b,0x6b,0x43,0x77,0xd2,0xb9,0x8e,0x0f,0x9d,0x24,0xae,0x8d,0xfe,0x30,0xe2,0x39,0x6e,0x20,0x04,0x38,0x0d,0x34,0x31,0x48,0x8e,0x58,0x43,0xcf,0x8d,0x2d,0x7a,0x00,0x70,0xab,0x21,0xf8,0xa3,0xb5,0x1c,0xe8,0x4d,0x2f,0x4b,0xa2,0x09,0xf7,0x39,0xf9,0x22,0xbe,0xbf,0x79,0x80,0x96,0x69,0x3f,0x56,0x22,0x87,0x3d,0x79,0xae,0x6f,0x04,},"\xd0\x0b\xcc\xa7\xe1\x84\xd1\x0e\x1f\x1f\xe4\x20\xb5\x06\x39\xe1\xd5\xde\xba\x52\xa7\x51\x23\x6e\x68\xc5\x9b\xb4\xbf\xf9\x80\x2f\x5f\xc1\x65\xed\x42\xfd\x6d\x53\x46\x70\xa7\xc6\xfb\x60\xe4\x30\x7d\x94\x79\x15\xa2\x48\xbf\x2f\x93\x46\x5c\x2c\xb4\x4d\x8f\x45\x3d\x2c\x01\x5a\xfb\xc8\xed\x58\x81\x8e\xa5\x17\x26\xa2\x51\x77\x93\x0e\x9e\xa1\x92\xef\x45\x14\xf4\xbb\x0e\xb4\xe0\xf5\xd4\xae\x3c\x46\xe3\x57\xc8\x11\x87\xf7\xed\x17\x47\x33\xff\xf9\x59\xc3\xf9\xfa\xe6\x48\x6c\xfa\x13\x56\xa9\x56\x99\x21\x1d\xe5"}, -{{0x81,0x3c,0x4d,0xae,0xd6,0x7a,0x19,0x0d,0x68,0xbb,0x63,0x5d,0x73,0xaf,0x6d,0xa7,0x4f,0x32,0xfd,0xf7,0xc4,0x8c,0xca,0x6e,0x59,0x26,0x29,0x46,0xb8,0xe8,0xc7,0x1f,},{0xa2,0x09,0x54,0x57,0xd7,0x69,0x70,0x20,0xe2,0xb8,0x84,0xd9,0x5a,0x96,0x57,0x8c,0x2a,0x90,0x0a,0x76,0x66,0xac,0x0d,0xc7,0xbd,0x38,0xf1,0x93,0x1d,0x79,0x45,0xd8,},{0xb4,0x46,0x57,0x4f,0xf6,0xa4,0xbd,0x2b,0x57,0x2e,0x48,0x7c,0x4a,0xb4,0x43,0xca,0x64,0x10,0x75,0x16,0x8a,0xa4,0xe1,0x09,0x2f,0x71,0xf3,0x0b,0xdb,0x06,0x8c,0xe4,0x6a,0x39,0x5e,0xfe,0xe1,0xee,0x66,0x0b,0x9f,0xac,0x26,0xd5,0x41,0x09,0x72,0x2c,0x15,0xcd,0xb7,0x91,0xbf,0xb8,0x7f,0xff,0x63,0xc6,0x59,0x6a,0xd4,0xf2,0x27,0x0c,},"\xce\x54\xcb\x04\x50\xe6\x89\xa0\xdb\xef\x78\x53\x08\xb3\x17\x74\x72\xfc\xd6\xd3\x82\x03\xe5\x8a\x05\x90\xb3\x1f\xa2\x53\xf9\xea\x59\x0b\xe5\x36\x8a\x92\x2d\xe8\x8b\x63\x45\x01\x02\x68\x44\x43\xfb\x81\x89\xe6\x01\x28\x20\x03\x32\x3b\x89\xc8\x1e\x92\xea\xef\x2b\x5d\xdc\x4a\x55\xc5\x3f\xa3\xcf\xad\x41\x60\x24\x8b\x3c\x28\x6f\xf8\x0d\x31\xd1\x61\xb7\xb8\xde\xe7\x13\x55\x2b\x56\xf1\x50\x7f\xb7\x2e\xad\xfa\x89\x05\x4e\x9d\x16\x00\xac\x87\x4c\x4b\x0a\x96\x10\x04\xeb\x6d\x0d\x4b\xfd\x2e\xcb\x9c\x73\x4f\x00\xba"}, -{{0x84,0x00,0x96,0x2b,0xb7,0x69,0xf6,0x38,0x68,0xca,0xe5,0xa3,0xfe,0xc8,0xdb,0x6a,0x9c,0x8d,0x3f,0x1c,0x84,0x6c,0x8d,0xce,0xeb,0x64,0x2b,0x69,0x46,0xef,0xa8,0xe3,},{0x98,0xbe,0x21,0x00,0x19,0x93,0xa7,0xeb,0x1a,0x12,0x77,0xff,0x74,0xc1,0x55,0x04,0x18,0x3d,0x25,0xfd,0xfc,0xc0,0x5f,0x0d,0x4d,0xea,0x89,0x2f,0x6e,0x30,0x18,0x90,},{0x0a,0xd7,0x1b,0x00,0x25,0xf3,0xd9,0xa5,0x0d,0xb3,0x38,0x41,0x4d,0x6d,0x67,0x0e,0x77,0x99,0xb7,0x27,0x0a,0x84,0x44,0xf6,0xae,0x7f,0x12,0xae,0x7e,0xb7,0x1b,0xd0,0x3f,0xfd,0x3c,0x4f,0x36,0x63,0x1f,0x69,0xfd,0xcc,0x40,0x61,0x46,0x8f,0xf5,0x82,0xed,0xe4,0x95,0x24,0x3e,0xf1,0x36,0x1a,0x3b,0x32,0x95,0xfa,0x81,0x3b,0xa2,0x05,},"\xf7\xe6\x7d\x98\x2a\x2f\xf9\x3e\xcd\xa4\x08\x71\x52\xb4\x86\x4c\x94\x3b\x1b\xa7\x02\x1f\x54\x07\x04\x3c\xcb\x42\x53\xd3\x48\xc2\x7b\x92\x83\xac\xb2\x6c\x19\x4f\xd1\xcb\xb7\x9e\x6a\xfc\x32\xff\x68\x6b\x55\xb0\xb3\x61\x72\x18\xdc\xf3\x93\x16\xb4\xb6\x6b\x3c\x8c\x0d\x67\x26\x7a\x86\xdb\x8a\xdf\x37\x50\x80\x1b\xcf\x93\x27\xd4\xc2\x54\x41\xb9\x61\x97\x83\x2b\x4c\xde\x0e\xac\x3f\xf2\x28\x92\xa2\xf0\xbc\x17\xc2\xc2\x13\xc0\x23\x77\xa3\x33\xe3\x08\xed\x27\x16\x58\x04\x93\x83\xb7\xe2\xe5\x7b\x6b\x8b\x12\x55\x12\xe0"}, -{{0x62,0x88,0x72,0x20,0x35,0xd1,0xea,0x69,0x9b,0xc7,0xcf,0xdf,0x18,0xd8,0x96,0x25,0x42,0x31,0x80,0xb6,0x83,0xfa,0x74,0x63,0x9f,0x4f,0x30,0xf1,0x53,0x59,0xcc,0x85,},{0xe1,0x7f,0xaa,0x01,0x95,0x72,0x86,0x1a,0x06,0x4e,0x1b,0xc5,0x71,0x25,0x6d,0xea,0x14,0x68,0xf3,0xa4,0x85,0x90,0xa8,0x91,0x38,0xaa,0xa8,0x59,0x25,0x08,0x0c,0xd7,},{0x9d,0xec,0x92,0xb6,0xe8,0x9a,0xdb,0xe8,0xf4,0xe1,0xb5,0xe9,0x3a,0xc4,0xfc,0xf9,0x57,0xde,0x7d,0x19,0x70,0xa2,0x26,0x77,0x0e,0xc4,0xed,0xa6,0x47,0xc8,0xe3,0xb3,0xdf,0xfb,0x27,0x31,0xa3,0x9e,0x16,0xe4,0xa0,0x11,0x9d,0x36,0x62,0xa9,0x37,0xe5,0x60,0x52,0x24,0x91,0xec,0x7a,0x16,0x96,0xbe,0x04,0xc0,0x76,0xb1,0x2e,0x35,0x01,},"\x8b\x6c\xaa\xca\xc5\x1d\x89\x49\xfb\x86\xac\xbc\xb1\xb9\x9d\x85\x9f\xf6\x7c\x64\x14\x7b\xc1\x21\x69\x09\xdc\xab\x07\xee\x6e\xf0\x9f\x40\x38\x63\x32\x73\x94\x68\x9d\xc3\x4a\xbc\x77\x8f\xcb\x5c\x1f\x50\x91\xac\xf5\xa0\x8f\x9d\x84\x22\x11\xd1\xae\x2e\xb4\x0b\xe9\xbb\x8d\x66\x79\x07\x74\x71\x54\x7a\x6c\x71\xff\x77\xb5\x19\xd4\xb7\x10\x8e\x32\xbc\x46\x25\x1c\x60\xde\xe8\xe3\x32\xb6\x22\x93\x16\xe6\xd5\x7c\x22\xab\x82\x6f\xf1\xbc\x33\xf2\xb0\x21\x38\x07\xc1\x92\x80\xaf\x11\x0f\xd2\x6e\xe2\x74\x68\x20\x1c\xff\x49\xcb"}, -{{0x13,0x03,0x8a,0x3a,0x65,0xef,0x32,0x75,0x9a,0x9c,0xd9,0x03,0xac,0xb5,0x54,0xb2,0x52,0xde,0x00,0xe7,0xcd,0xb7,0x7b,0xbe,0xd1,0x97,0x0b,0x20,0x68,0x0e,0xe1,0x7b,},{0xb6,0xa3,0x08,0xe6,0x7f,0x9b,0x46,0xc6,0x64,0x99,0x45,0x6a,0xb5,0xcd,0x13,0x5c,0xb2,0xfe,0x84,0xa3,0x2e,0xb0,0x45,0x35,0x86,0x26,0x60,0x4d,0xa4,0x12,0x2c,0x8f,},{0x52,0x61,0x55,0x8e,0xcc,0x3c,0x98,0xff,0x36,0x35,0x1f,0x42,0xf5,0x04,0xca,0xd4,0xa3,0x2f,0xfd,0xa5,0xa7,0x44,0x56,0x09,0x60,0xb4,0xc1,0x06,0xe4,0x49,0x2f,0x02,0xe2,0x04,0x78,0x88,0x7a,0xfe,0xe4,0xf7,0x70,0xf0,0x55,0x97,0xa7,0xe3,0x88,0xca,0xce,0xae,0x80,0x5a,0xe3,0x51,0xe0,0xe4,0x5e,0x8e,0x57,0x8e,0x6a,0x6f,0xf2,0x0c,},"\xdd\xf0\x0b\x40\x33\xa2\xa0\x88\x02\x2d\xab\xe9\x33\x56\x43\x2f\x50\xdd\xc6\xc6\xe1\xa6\x59\xdc\x1a\x93\x12\x4a\x4c\x2f\xff\xfd\x18\x27\x65\xa2\xf5\x6c\x43\xea\x0b\xfd\x8d\xe8\x01\x50\x60\x88\x9a\xe6\x94\x1c\x3f\x3e\x25\x5d\x44\x21\xa1\xc3\x62\x01\xbe\x84\x6a\x27\x38\xa7\x1f\x12\x0c\xad\x59\x8c\xa8\x52\x7d\x70\xff\x8d\x5a\x09\x93\xb5\x5c\xb5\x15\x35\x17\x11\x0a\x41\x96\x2d\xaf\xf4\x22\x50\x15\x8f\x20\x96\xd1\xdd\xaf\x71\x86\xe5\x02\x98\xcb\xe5\x1f\xcb\x42\x9c\xbe\xa4\x11\x29\x3f\x8a\x7b\xd9\xcf\x06\x9f\xa2\x37\xe4"}, -{{0xb9,0xde,0x5b,0x06,0x3d,0x3c,0xa3,0xa7,0x73,0xf1,0x14,0x94,0x1b,0x2e,0x42,0x27,0xc0,0x75,0x11,0xc0,0xf5,0xc0,0x60,0x17,0xb9,0xc8,0x84,0x50,0x18,0xf2,0x34,0x32,},{0x52,0x95,0x24,0x3c,0x86,0x46,0xe0,0x96,0x67,0x4d,0xda,0x15,0x97,0x9b,0x32,0x2b,0x9d,0xd0,0xfa,0xf2,0x7d,0x02,0x4a,0x0e,0xd5,0x77,0x13,0x34,0xe1,0x17,0x9e,0xd2,},{0x92,0xba,0x76,0x0d,0x14,0xd1,0x41,0x5c,0xfa,0xf2,0x18,0xca,0x84,0x70,0x14,0x08,0x8a,0xe5,0x1a,0xd8,0x21,0x11,0x3a,0x6f,0x86,0x30,0x35,0x6f,0x7b,0xa8,0x5c,0x00,0x5e,0x23,0x30,0xf1,0x06,0x6d,0x0d,0xf4,0x64,0x80,0x60,0x52,0xa4,0x17,0x46,0x10,0x05,0x04,0x62,0xf3,0xe0,0x13,0xd7,0x02,0xe7,0xc7,0x71,0x85,0xa0,0x32,0x58,0x0b,},"\x94\x93\xcc\x23\x89\x6b\x84\x09\x60\x46\xae\x10\x53\xaf\xe3\x94\x99\xe9\x42\x42\x54\xb3\x66\xfe\x14\x3f\x4d\xa3\x21\xe2\xdc\x9e\x47\x84\x20\x8e\x12\xa5\x42\xd8\x99\x82\x8d\xde\x7e\xff\x62\x5a\x7f\x12\x41\x69\x90\xc2\x84\x1f\xfb\x09\x5b\xf9\x4c\x0c\x61\x0e\x5a\x66\x39\x18\xb6\x89\x03\x1c\xcd\x6b\x51\x93\x49\xd0\x4d\xe1\xc2\x12\xca\x2a\x9d\x7a\xbf\x52\xe1\xb4\xfd\x46\x7b\xb6\x65\xb6\x91\x9e\xf8\xf9\x16\x17\xe2\x05\x56\x5b\xf5\x66\x47\xe5\xf8\xd5\x08\xea\x20\x0a\x84\x46\x7f\x8f\xa1\x22\xe7\x4b\xc3\xb9\x97\x9f\x11\x74\xe5"}, -{{0x8f,0xf0,0x29,0x7c,0xc0,0x88,0x42,0xb5,0xe6,0x75,0x52,0xec,0x28,0x43,0xe0,0x43,0x53,0xa3,0x4d,0x74,0xef,0x89,0xb8,0x56,0x5d,0x97,0x20,0x5b,0x74,0xca,0x13,0x3a,},{0x0f,0x7e,0xf9,0x8c,0x5b,0xa4,0xaf,0x98,0x4d,0xfb,0x77,0xbc,0x4e,0x53,0x7b,0x2b,0x39,0xe6,0x27,0x3b,0xb3,0xe7,0xb9,0x5f,0xe1,0xb7,0xe6,0x78,0x19,0x52,0xbd,0x4a,},{0x07,0x83,0x73,0x7f,0x70,0x6e,0x6f,0xf3,0x66,0x14,0xf8,0x50,0x07,0x4f,0xca,0x1f,0x48,0x5f,0x24,0xfc,0xde,0x2a,0x28,0xaf,0x54,0x4f,0x37,0xab,0xd6,0x9b,0x7a,0x58,0x1d,0xef,0xd8,0xc7,0x71,0xb0,0x31,0xe1,0x08,0xd1,0x9d,0x78,0x8c,0x74,0xc5,0xf2,0x0b,0xb3,0xf1,0xc2,0x1c,0xd9,0x2b,0xe3,0x17,0xba,0xcd,0x8f,0x65,0x0b,0x49,0x05,},"\x2b\xdc\x3a\x48\x6c\x5e\x4e\xa6\x2d\xcf\xec\x8a\x9d\x4f\xcf\x9e\xa9\x49\x0d\xbc\xc7\x15\x61\x5d\x58\x49\x0a\x72\xce\x83\x3f\xa2\x23\x87\xca\x50\xa0\x05\x25\x08\xcf\x0a\xff\x1c\xa7\x27\xf0\xfe\xd4\x6f\xfa\x7d\x3c\x8e\x23\xc5\xbb\x01\xd4\x7e\x90\xff\x06\xd3\x85\x8a\x55\x7d\x99\x26\x48\x15\x79\xda\xf4\x38\x4a\xea\x50\xe9\x6e\xc6\x15\xd2\xa3\xbf\x3c\x11\x22\xf1\xf2\x4d\xd6\xed\x98\xa5\xde\x42\x18\x83\x58\x9c\x21\x39\x98\xca\x54\x32\x37\x3e\x68\xbb\xbe\x89\x42\x8c\xa9\x88\x5d\x05\x93\xd5\xe6\x21\x51\x16\xb8\x26\x63\x86\x45\x2b"}, -{{0x05,0x0d,0x55,0x3d,0x28,0x2d,0xca,0x32,0x69,0xc8,0x3c,0x18,0x17,0x68,0xec,0x06,0x7b,0x81,0xc9,0xfe,0x0c,0x94,0xf2,0xa0,0xeb,0xbb,0x0c,0x94,0x2d,0x0f,0xcd,0x7c,},{0x63,0xe2,0x30,0xb0,0x03,0xc5,0x3a,0x56,0x72,0xe8,0x32,0xff,0x7f,0x24,0x43,0x0b,0xe2,0x23,0xe4,0x97,0xde,0x84,0x02,0x33,0xf5,0x95,0xa3,0xe2,0x00,0xc7,0x12,0x7e,},{0x3f,0x0e,0x83,0x76,0x5b,0x31,0xbb,0xe8,0xe1,0xfb,0x92,0xe9,0x67,0x8d,0x6c,0xde,0x57,0x1a,0x03,0xba,0x7f,0x1d,0xcc,0x11,0x28,0x46,0x1f,0x70,0x85,0x25,0x45,0x7f,0x4e,0x0e,0x23,0x53,0xaa,0x2b,0x59,0x8c,0x06,0x3f,0xf1,0xbf,0xfd,0xac,0x91,0x6b,0x5a,0x22,0x00,0x65,0x51,0x56,0x90,0x4b,0x05,0x85,0x57,0x7a,0x16,0x28,0x56,0x0d,},"\x15\xe1\x3b\x8c\x01\x00\x4f\x6a\xa5\xb2\x36\xdb\xb2\x81\x67\x7f\x74\x6d\x81\xe5\x48\xe0\xaa\x80\xf0\xe4\x14\x52\x15\x21\xd8\x56\xcd\x69\x4e\x7c\x91\x52\xbb\x5e\x43\x77\x6b\x60\xf6\xb5\x60\xed\x1a\xd3\xe4\xb3\x90\xdb\xf3\xe4\x6e\xf9\x25\x74\x43\xf3\x9c\x14\x9e\x02\x40\xa0\x2d\x02\x1e\x1e\x3d\x7d\x04\x6b\x26\xfd\x00\x4e\xee\x7c\xa1\x6a\x80\x59\xe1\x26\xc7\x4c\xb3\xf2\x19\x4d\xb4\x7b\xf6\x04\x65\xec\xef\x5c\x70\x4d\x2e\x2c\x75\xe2\xe5\x00\x60\xea\x2a\x31\xcb\x72\xb7\xb3\xc6\xb1\xb5\xec\x72\xab\x38\x00\x40\x85\x28\x1a\x22\xfe\x86"}, -{{0x69,0x49,0x7c,0xd7,0xb4,0xe8,0x68,0xcf,0xa0,0x32,0x8d,0x92,0xbd,0x60,0x52,0xd7,0x72,0xb2,0x76,0x73,0x95,0xc1,0x45,0x95,0xb2,0x79,0x85,0x1a,0x9c,0xdd,0x31,0xaa,},{0x5d,0x27,0x6d,0x62,0x6e,0x23,0x0d,0x18,0xe7,0xbc,0xd6,0x11,0x41,0xcb,0x93,0xc9,0x0e,0xf0,0xf7,0x9e,0x01,0x32,0x12,0x12,0xd8,0x38,0xec,0x71,0x45,0x7b,0x1a,0xac,},{0xbe,0xaf,0xa5,0x83,0x40,0x96,0x09,0x08,0xe8,0xd8,0x6e,0x40,0x32,0x9e,0x3a,0x45,0x23,0xfc,0x7b,0xe7,0x70,0xad,0xdb,0x86,0xe3,0x4c,0x37,0x72,0xf8,0x4c,0xd9,0xfb,0x33,0x8d,0x1f,0x3b,0x65,0xbf,0xcd,0xb0,0x9f,0x35,0xc6,0xda,0x36,0xd1,0xa3,0xad,0xf8,0xf9,0x1f,0x1f,0xfd,0x57,0x82,0xcc,0x83,0x02,0x06,0x43,0x3a,0x08,0x41,0x0d,},"\x53\xcd\x08\x0a\x0c\x61\xf1\xa0\x93\xd3\xb3\xa7\x45\x71\xc2\x96\x30\x3f\x36\x3b\x41\x07\xed\xbe\x88\x0b\x7a\xa9\xdf\xe4\x4a\xb5\xd5\xdc\x5f\x74\xbe\x9c\x8d\x87\x6f\x04\xd7\x54\x65\x34\x91\xab\x51\xb1\x35\xfc\x95\x3f\x71\x28\x7b\x62\xff\x41\xb6\x7c\x74\x2b\xd3\x44\x56\x71\xa9\xd4\xf2\xdc\x17\x4c\xa1\xb0\x33\x5f\x78\x62\x7a\x0d\xd4\xb3\x06\x50\x50\x41\x78\x03\x9e\x73\x93\x63\x85\x10\xff\xe8\x40\x91\xb5\x72\x98\xd3\xac\x90\x01\xc3\x67\xc1\x45\x2f\xbc\xb3\x3d\xc5\x4a\x5d\xc3\x16\xfb\x2a\x52\x70\x76\x4a\x2a\xc8\x20\xa0\xb6\x3f\xbd\xc6"}, -{{0x21,0x65,0xa4,0x86,0xb6,0x12,0xbb,0xff,0x52,0x9c,0xd0,0x03,0x46,0x96,0x4a,0x3c,0xb8,0xcd,0xcf,0xfa,0x51,0xdc,0x3d,0x52,0x4d,0xd5,0xad,0xc5,0xac,0x93,0x6d,0x68,},{0x7e,0xbc,0x83,0x9a,0x46,0x5e,0x14,0xf5,0x89,0x24,0x76,0xe4,0xa1,0x3b,0x39,0x88,0xf8,0x3b,0x3c,0xd2,0x7e,0xf7,0x9e,0x19,0x3f,0x86,0xfa,0x16,0xf3,0x4a,0x1c,0xe1,},{0x7e,0xc6,0xfb,0xa5,0x6b,0xa5,0x24,0x60,0xa1,0xb4,0xf2,0x73,0x86,0x89,0xc1,0x88,0x3d,0xda,0x9a,0xaf,0xfc,0x8b,0xde,0x17,0xcb,0x60,0x29,0xbd,0xce,0x3a,0x0e,0xbe,0x2f,0xff,0xda,0x55,0x93,0x9b,0x70,0xbb,0xd0,0x7f,0xdb,0xf6,0xfc,0x5c,0xda,0x87,0xfe,0xd8,0xba,0x58,0x57,0x5f,0x89,0x4a,0x36,0x6e,0x45,0xe5,0x70,0x5e,0xea,0x09,},"\xb7\x28\xda\x7a\x36\x16\x7c\x60\x85\xbd\x2d\x96\x2c\xf6\x39\x59\xfa\xcd\x95\xc9\xad\x45\x42\x02\x8a\xfb\xa9\x0e\xc9\xc6\xc0\x76\x0b\xda\xe9\x35\x42\x9c\x3f\xeb\x39\x33\xe2\xf0\x00\x42\xc6\x72\xad\x2c\xd7\x34\x8d\x92\xbc\x33\xf8\x17\x51\xe2\x94\xae\x91\x71\xb9\x45\xb1\x93\x14\x4e\xf8\xac\xb9\xa1\xbd\x9a\xbf\x04\x75\xce\x0d\x0a\xc7\x89\xb2\x00\xc3\x2e\x9c\x9a\x27\x36\xb1\x68\x36\x9c\xe5\xf9\x7b\x1e\x8d\x2e\x79\x00\xe1\xa7\x59\x17\x84\x41\xf1\xfc\x43\x05\x64\xae\x12\x9b\xae\x78\x57\x74\x05\x11\xa6\x68\xf3\x2c\x0a\x3b\x07\x7a\x9d\x8b\x19"}, -{{0x1c,0x64,0xad,0x63,0xdd,0x14,0x70,0x34,0x59,0x8e,0x12,0x8f,0x74,0x06,0xec,0x05,0x30,0x74,0x6e,0xa1,0xc5,0xb7,0x2e,0xcf,0x79,0xe8,0x88,0x06,0x54,0x86,0xfa,0x1b,},{0xba,0xa6,0xbc,0xc1,0xc3,0xd8,0xd3,0xb1,0x1f,0xfc,0x15,0x87,0xad,0xdd,0xc5,0x8b,0xfd,0x96,0xc2,0xb9,0x92,0xb6,0xc6,0xf5,0x9f,0xcc,0x50,0xcc,0xbc,0xdd,0x0e,0xb9,},{0x74,0x77,0xe5,0x41,0x58,0xf1,0x3b,0x71,0x28,0xc0,0xa1,0x10,0xca,0x6b,0x65,0xf4,0x25,0x14,0xfb,0x70,0xcd,0x5c,0xf2,0x8a,0x8b,0x1c,0xc6,0x11,0x0e,0xa0,0x6f,0xcf,0x94,0x29,0x0d,0xa1,0x3f,0x85,0xa1,0x1c,0x23,0x51,0xd3,0xbb,0xcc,0xbb,0x4c,0x64,0xe0,0x21,0x5d,0x6d,0x0f,0x00,0x99,0xe7,0xf2,0x7b,0xc9,0x4e,0x94,0x9b,0x15,0x0b,},"\x9e\xbd\x8e\x33\x78\x93\xbb\x05\x3e\xf2\xb9\xe3\x26\x9d\xf5\x48\x48\x49\x4f\x03\xcd\x63\x57\x6b\x33\xe6\x4b\x10\x80\xbe\x4b\xe0\x15\x26\x4a\x40\x3f\xb9\x60\x2b\xbf\x90\xca\x19\xb2\x41\xa9\xb6\x68\x63\x90\x9b\x90\x08\xce\x1b\x2f\xfc\xf2\x36\xef\xa4\xc2\x66\x8f\x0f\x47\xdb\x9f\xf5\xfa\x15\x7d\x9c\xb6\x05\x41\x2b\xe7\xdd\x8b\x07\xea\x87\x8c\xcc\xae\x6b\xf5\x0f\x93\x5b\x86\xd1\x9e\x1b\x64\x8b\x69\xe5\x28\x55\x3a\x56\xd8\xaf\xb7\x82\x21\xad\x53\x30\x7b\x7a\x4e\xc8\xd2\xfd\x48\x61\xb5\x5d\xc5\xda\xe8\xe9\x3e\xf3\x87\xfb\xbe\x0b\x4c\xe7\xf7\x88"}, -{{0x55,0xab,0xbc,0x5d,0xac,0x41,0x28,0x13,0x4d,0xc8,0xc6,0x01,0x8a,0x21,0x3e,0xd4,0xb6,0x0f,0xcc,0x8e,0x90,0xcb,0xd4,0x1d,0xb2,0xd2,0x1e,0xda,0x53,0x73,0xe9,0x36,},{0x25,0x1a,0xfa,0xa2,0x64,0x69,0x26,0xb2,0xa3,0x71,0xf2,0xa0,0x9d,0x58,0x65,0xb9,0x8c,0x9a,0x5e,0xb6,0xca,0x04,0x7c,0xd0,0xd8,0xee,0x36,0xe5,0xe0,0x41,0x69,0x74,},{0xf6,0xa6,0x1c,0x2e,0x66,0x1a,0x9e,0xb7,0xbd,0xe1,0x82,0xe3,0x8e,0xc9,0x9a,0xf9,0x85,0xf6,0x16,0x98,0xa5,0xd7,0xfa,0x43,0x0d,0x16,0xe3,0xf1,0xa9,0x37,0x09,0xb7,0x55,0x22,0x32,0x0d,0xe4,0x8a,0xfc,0xc5,0x95,0xab,0x20,0x91,0x22,0xae,0x0c,0xe1,0x32,0xcd,0xf4,0xb0,0x39,0x17,0x46,0xe7,0xff,0x34,0x11,0x77,0x57,0x0c,0x81,0x08,},"\x47\x01\x0e\x13\x98\xad\x55\xfa\xbe\x37\x1d\xd8\x64\x8f\x76\x8d\x90\xdf\x4b\x96\x5a\x3b\x39\x61\x00\xb3\x03\xb4\x0a\x17\x51\x8b\xed\x6d\x86\xb0\x9f\x73\x4a\xb7\xc1\x0b\x5f\x3a\x01\xb5\x3d\xee\xc5\xf8\x53\x4b\x70\xc7\x9f\x3f\x29\xb2\x84\xfd\xec\x48\x6f\x22\xf4\x4c\x22\xcc\xd5\xc6\x46\x35\x94\x41\x52\x67\xba\xa6\x11\xf7\x0b\x1b\x31\x6c\xaa\x1b\x68\xb5\xe0\xe9\x9b\x31\xc5\xbb\x0c\xe1\x36\x79\xa2\x3c\x31\xa6\x39\x99\x69\x81\x64\xcb\xf3\x7d\x10\x3b\xa9\x24\x90\x18\x8b\xe5\x99\x37\xf1\x23\x04\x3e\xc7\x86\xef\xe3\xd4\x11\xf9\xb0\x62\x3a\x6a\xd9\x72"}, -{{0xf2,0xdc,0xf4,0xa1,0xa0,0xd4,0x6d,0xdb,0x2d,0x72,0xf8,0xfd,0xd8,0x0b,0xbe,0xc5,0xb7,0xde,0xa5,0x91,0x3d,0xa4,0x96,0x6c,0x2f,0x4d,0x12,0xc2,0x61,0xf0,0xbf,0x98,},{0xd3,0x95,0x70,0xa2,0x5c,0xa5,0x9f,0x22,0x57,0xf9,0x3f,0x96,0x60,0x0d,0xf4,0xf6,0x3e,0x68,0x4b,0xf6,0x3a,0xe8,0xdf,0xfd,0x91,0x4e,0x46,0x29,0xc3,0xd5,0x09,0x5f,},{0x42,0x88,0x2a,0x81,0x1d,0xad,0x2d,0x85,0x18,0x85,0xe4,0xcb,0xe9,0x04,0x47,0x08,0xd9,0x1a,0x86,0xf1,0x5d,0xfa,0x1d,0x66,0xc3,0xeb,0x30,0x43,0x14,0x53,0x1f,0x30,0x15,0x20,0x8c,0x71,0x1b,0x9b,0xdb,0xc5,0xfb,0x23,0x39,0x51,0xe5,0x69,0xb5,0x9d,0x34,0xe4,0x15,0xee,0xc4,0xb3,0x7f,0xfd,0x37,0x4d,0x41,0x2c,0x9a,0x36,0x0d,0x0c,},"\x3b\x00\xe8\x08\xfc\xa4\xc1\x16\x51\xd8\x53\xd6\xb9\x0f\x95\x2c\xcf\x56\x47\xe1\x02\xd4\xee\x0a\xd7\xa5\xd1\x81\xd5\xb4\x25\x8c\x52\x3c\xd3\x9e\x3d\x98\x25\x29\x8d\x84\xc8\xcb\xa0\x9f\x43\xdb\xba\x11\x99\x88\x22\x2c\x76\x05\x9c\xaf\x17\xb4\xbf\x99\x31\xc4\x5e\x61\x74\x48\xae\xad\xe1\x51\x18\x14\x97\xb2\x45\x52\x36\x7e\x52\xbc\x45\xac\x79\x08\x88\x06\xd3\x36\x82\x07\xaa\xfe\xfd\x30\x57\x84\x5d\xce\x81\x9d\x5a\xaa\xa7\x7b\x21\x8e\x2a\xed\x3d\xa7\x6d\x40\xc1\xf0\x76\x99\xf8\x17\x2e\x4a\x5c\x80\x3f\x7a\x2a\xce\xb9\xa4\x7a\x89\x52\xe1\xb2\xf0\x53\xf2"}, -{{0x22,0x46,0xbf,0xb0,0x61,0x55,0x85,0x9e,0x10,0xa7,0x48,0xff,0x8f,0x59,0x19,0xad,0x5d,0x1d,0xaa,0xb7,0x56,0xf0,0x10,0x57,0xb7,0x90,0xd0,0x74,0x74,0x77,0x5f,0x4f,},{0xfa,0x63,0x49,0xb6,0x2d,0xc8,0xc6,0xa2,0xfe,0xee,0xf6,0xff,0xc3,0x3a,0xe0,0x85,0xc6,0x49,0x79,0x5c,0x1c,0x9d,0x98,0x98,0xe7,0x5c,0x13,0xae,0x16,0x25,0xdb,0x34,},{0x2b,0xe4,0x91,0x5a,0x35,0x2f,0x77,0x85,0x48,0x30,0x46,0xd8,0xae,0x96,0x25,0xb8,0xb6,0x32,0x57,0xaf,0x57,0xc0,0x73,0x69,0x12,0x56,0xee,0x07,0x6d,0x6e,0x1b,0x97,0x2a,0x10,0x1f,0x55,0x1c,0x70,0x5d,0x3f,0x96,0x15,0x7c,0x33,0xb5,0x6e,0xa0,0x49,0xbe,0x4a,0xf4,0xdc,0x56,0x1c,0xbe,0x3c,0x1e,0xc5,0x07,0x2d,0x7f,0x13,0x4e,0x07,},"\x63\xee\x1c\x7b\xbb\x15\xce\xbe\x1c\x22\x53\x2d\x48\x16\x82\x75\x4b\xda\xf5\x8b\x8b\xc9\x97\xae\x30\xa3\x4c\x9d\x23\xc3\x3f\x16\x90\xc3\x46\xab\x0a\x73\x65\xff\x62\x45\x74\x24\xb6\x10\x5f\x84\x21\xec\xa0\xce\x3c\x63\x0a\xcf\xeb\x9a\x1c\xc4\x16\x39\x0e\xdf\x49\x20\xe2\x2b\x23\x67\xe9\xfb\x5d\x2a\xb2\x5b\xee\x56\xda\x03\xea\x55\xe3\xf5\x78\x82\xd4\x8b\x89\x22\x93\x14\xd7\x34\xcb\x83\xc7\x9f\x4e\x17\xee\x64\xba\xe6\xf7\xad\xdb\xe9\xb5\x25\xfc\xd0\x3a\x91\x40\x9a\x2d\xde\x90\x77\x51\xdb\x8c\xc9\x7e\x08\xd0\xea\x89\xc4\xd1\x87\x18\xd2\x6d\x0b\x89\x7b\x64"}, -{{0xc0,0x88,0xa3,0xdd,0x2c,0xb8,0xbd,0x5d,0x68,0x4d,0xb8,0x53,0x8d,0xc2,0x24,0x73,0xb6,0xf0,0x14,0xf6,0x4f,0xe8,0x6a,0xf1,0x68,0xb4,0xbb,0x01,0xb9,0x0a,0x1d,0xd0,},{0xaa,0xd6,0x15,0xa9,0xc2,0x87,0x59,0xf0,0x3d,0x37,0x3a,0xbe,0x66,0x66,0x91,0xde,0xad,0x8b,0x84,0xf9,0xb8,0xb5,0x0a,0x67,0xf8,0xf0,0xaa,0x4a,0x70,0x15,0x80,0xd1,},{0x3b,0xb4,0x59,0xd1,0xac,0x57,0x5a,0x18,0x0c,0x17,0x28,0xd8,0xb8,0x92,0x49,0x70,0x49,0x2a,0x0c,0x8d,0x2a,0x37,0x8c,0x29,0xd1,0xd4,0x17,0x85,0xc8,0x37,0x9a,0x58,0xe2,0xba,0x36,0x06,0x78,0x5e,0x1c,0x5d,0xa2,0x9e,0x55,0x27,0x55,0x2b,0xc6,0xdc,0x89,0xa2,0xb6,0x9c,0x27,0xfe,0x51,0xed,0x25,0x3a,0x9f,0x3b,0x56,0x5b,0x27,0x00,},"\x74\x90\x6a\xe0\x5a\x5a\xf8\xe9\x96\x8b\x6f\xeb\x49\x85\x69\xd6\x34\x5a\x24\xf9\x71\x1b\xef\xb1\x36\xe6\xc3\xb5\xed\x49\x33\x9e\x59\xa7\x93\x8b\x4b\xa1\xa1\x18\xf1\x69\xb9\xac\xe0\xf7\x84\x2a\x26\xa6\x45\xf1\x4c\x0a\xd2\x2e\xbb\xcd\xa9\x3e\x67\xe4\xc3\x48\xef\xc3\xd9\xec\xbb\x14\x19\xe6\x26\x2d\x04\x36\xa5\x8e\xa8\x2c\x22\x02\x38\x90\x65\xcc\xf6\x7c\x4f\x55\x0e\x45\xb5\xf6\xa1\x2a\x6c\x01\x1b\x2e\x0a\x30\x10\x1d\x5c\x62\x32\x8b\xbf\x99\xc8\xc9\x55\x63\xa6\xe3\x3b\xdd\x9c\xce\x72\xb1\xf7\x20\x13\x9c\x2f\xd3\xe0\x49\x13\x14\x6a\xe5\xba\xc5\x28\x8e\x0e\x3e"}, -{{0x45,0x66,0x7d,0x1e,0x7b,0x59,0x10,0x97,0x9c,0x4a,0x32,0x83,0x17,0x96,0x83,0x71,0xc8,0x64,0xd5,0x64,0xa6,0x61,0xc5,0xcc,0xe5,0x57,0xc9,0xec,0xc6,0x1b,0xab,0x9e,},{0xed,0xcd,0xf5,0xe1,0xa1,0x70,0xe0,0x0c,0x8c,0x68,0x7e,0x7e,0x9c,0x18,0xf9,0x89,0x3b,0x5f,0xe4,0x95,0xcd,0x29,0x77,0xce,0xb7,0xf4,0x46,0xc0,0x14,0x9a,0xa9,0xd3,},{0x6d,0xe6,0x68,0xf1,0xca,0x6f,0x29,0x28,0x14,0x62,0x52,0x89,0xa0,0x80,0x80,0x20,0xc8,0x7c,0x89,0xac,0x94,0xf5,0xb0,0x50,0x8e,0x55,0x7b,0xdf,0x80,0x00,0xa5,0xca,0x80,0x8f,0x02,0x1c,0x96,0x79,0xb5,0x0e,0xe2,0xf3,0x20,0x06,0x4c,0x95,0xa4,0x64,0xa8,0x43,0x93,0x79,0x82,0x8c,0x3b,0x76,0xcf,0xa7,0x66,0x45,0x5e,0x12,0x8c,0x0b,},"\xcd\x66\xce\xc4\x76\xc8\x7c\x8d\xbf\x47\xec\x91\xda\xc4\x8f\xb5\xb4\x2d\xb1\x28\x2a\x57\x3e\x0a\x5c\xf0\xb9\x17\x68\x98\x66\x08\xe1\xd7\xeb\xd0\x5f\x52\x51\xbc\xf8\xb4\x7a\x17\x09\x32\x29\xac\xef\xbd\x44\xbe\xb2\x1c\x0c\x0c\x92\x8d\xd3\xcd\x3f\x89\x66\xec\xce\x69\x10\x33\x1c\x50\x8e\xa7\x6b\xaf\x90\x4d\x8c\x21\xf6\xc1\x7c\x2c\x58\xd0\x0a\xfd\x32\x59\xb8\xbf\x79\x4c\x14\x6b\x12\xb9\x95\xcd\xdd\x1c\x42\x89\xc5\xbe\x31\x68\xeb\xd6\x16\xb3\x84\xc2\x81\xce\x1b\x38\xa1\x0e\x18\x07\x80\x88\x53\xc6\x81\xa6\x40\xa0\x09\xb4\xd2\xac\xd7\x93\x4f\x8c\x6d\x07\x57\x81\x61"}, -{{0x24,0x89,0x74,0x28,0xae,0x65,0x46,0xd8,0x5b,0x31,0x90,0xeb,0xe3,0xf1,0xf7,0xbf,0x7c,0x71,0x25,0x28,0xac,0x85,0x1a,0x58,0x8b,0x07,0xd5,0xc8,0xf9,0x4e,0xec,0xd1,},{0x5f,0x34,0x8f,0xe3,0xea,0x5b,0x2c,0x02,0x3d,0x0a,0xf7,0xed,0xe6,0x0e,0x55,0xf9,0x1a,0xa5,0x51,0x99,0x69,0x9d,0xa1,0x5a,0x11,0xc3,0x79,0x1d,0x68,0xd7,0x10,0xbd,},{0x1b,0x5e,0x75,0xde,0xf4,0x9f,0x51,0xd6,0xb2,0xde,0x00,0x8c,0x71,0xfc,0x1a,0x90,0x9b,0xd4,0x2c,0xa8,0x13,0x29,0x8d,0xce,0x4e,0xee,0xf7,0x17,0x81,0x5d,0x7a,0x6c,0x07,0x8c,0x2f,0x3d,0x9a,0x3f,0xce,0x1a,0xb5,0xb3,0xad,0x8e,0xf8,0xd4,0x5c,0xdf,0x2e,0xb4,0x90,0x1c,0x32,0xee,0xa2,0xd5,0xe0,0x18,0xdc,0xf2,0x83,0x3c,0xad,0x0c,},"\x52\x01\xd9\x72\x5f\x1d\xff\xa1\x86\x3f\xa4\xd8\x4c\x30\x18\x61\x14\x1a\xcd\xfb\x64\xbe\x1f\xbf\xdd\x5b\x93\x86\xdb\x20\xef\x39\x40\x99\xee\xbc\xfd\xfe\xcc\x62\xc6\x26\x86\x07\xa8\x4d\x55\xc5\x5c\xd0\xef\xdc\x37\x2e\xcf\x30\x67\x34\x3e\x7b\x07\x31\xc2\x68\x54\x61\xe2\x4b\x95\x3f\x99\x94\x9e\x59\xba\x3e\x67\xed\x0f\x08\x48\x31\x37\x93\x96\x2a\x29\x2c\x45\x98\x14\xc5\xe2\x86\x90\xec\x1f\x45\x17\x1f\x1a\xba\xb8\x6f\xdd\x14\x56\x8b\x00\xca\xf4\x85\x81\x11\x5e\xe5\xea\x83\xb0\x00\x28\x2f\xbb\xf0\xc0\xb2\xa1\x11\x60\x39\xa3\x5c\xfa\x3f\x20\x14\x22\x20\x7a\x3d\x49\x48"}, -{{0x7b,0x04,0xac,0xa7,0xcf,0x92,0x62,0x16,0xcb,0x96,0x0a,0x38,0x90,0x78,0x63,0x39,0xd0,0xa6,0x15,0x96,0x76,0x80,0x19,0x01,0x23,0xfd,0xa3,0xb6,0x0c,0x6a,0xeb,0x11,},{0xcd,0xbc,0x3e,0x70,0xe4,0xe8,0xfd,0x13,0xd0,0xcc,0xe2,0x85,0x2a,0x3b,0x93,0x72,0xc3,0xa6,0x16,0x0c,0xd6,0xde,0xab,0xa9,0x0f,0x9b,0x30,0x22,0xf7,0x0c,0x91,0xf9,},{0x25,0xd2,0xd3,0x61,0x75,0x1d,0x52,0xb4,0xfe,0x66,0xea,0x18,0xe4,0xb9,0x86,0x6b,0xde,0x3d,0x12,0x1a,0x73,0x12,0xfd,0x9e,0x28,0xa1,0xe2,0x95,0xe0,0x87,0xe3,0x17,0x6c,0x94,0xc8,0x74,0xa2,0xe8,0x16,0x00,0xf2,0x4c,0x46,0x54,0xf4,0x3d,0x1b,0x67,0xd4,0x7b,0x64,0x82,0x26,0x48,0x59,0x0c,0xe5,0xce,0x44,0xf3,0xb5,0xdd,0xc5,0x02,},"\x1c\xb0\x96\x24\xb1\xf1\x4a\x02\x60\xc7\xf5\x6d\x8c\x60\xb5\xfe\x45\x83\x71\x14\x23\x25\x51\xef\x59\x66\x38\x6e\x0c\x2b\x44\x1b\x75\xcf\xdb\x8d\xf2\x18\x57\x85\xd2\x2c\xf5\x26\xfa\x9d\xf7\xfd\x45\xd9\xd8\x38\x81\xb6\x6c\x1f\xee\xe0\x91\x3e\x23\x81\x21\xee\xdb\xb7\xab\x50\x4d\xa0\xbe\xe8\x99\x80\x16\x68\x45\x35\x03\x19\x91\xf1\x1b\xfc\xd9\xb9\x56\x90\xaa\xd2\xd1\x9b\xd6\xa9\xde\x18\x44\xed\x13\x62\x30\x2d\xf4\x21\x72\x30\xb2\x5c\x05\x52\xce\x27\x75\x34\xc6\x50\xca\xe5\x26\x57\x7f\x25\xd8\xb1\xfe\x9f\x9f\xeb\xca\x2c\x81\x46\x70\xd4\x80\x5b\x21\xad\xef\x85\x2d\xaf\x94"}, -{{0xea,0x73,0xbf,0x64,0xa1,0xa9,0x78,0x77,0xc3,0xc3,0xe7,0xca,0x46,0x44,0xb7,0x1a,0xaa,0x66,0x31,0x4c,0x8f,0x1b,0x66,0xba,0xfa,0xeb,0xd5,0xed,0xfb,0x88,0x8b,0xcd,},{0xca,0xac,0x93,0x90,0x2e,0x57,0x64,0xad,0xe4,0x72,0x94,0xed,0xd5,0x1f,0xaa,0x14,0x62,0x09,0x40,0xc6,0x68,0xb5,0xc1,0xc3,0x92,0xa6,0x92,0x83,0x25,0xd4,0xc3,0xfd,},{0xbd,0x86,0xcb,0x9c,0x70,0xa0,0x55,0x27,0x9a,0x86,0xa9,0xe6,0x48,0x70,0x98,0x8b,0x8a,0x73,0x45,0xc3,0xcd,0x29,0x48,0xa0,0xfa,0xbc,0xfb,0x38,0xab,0xce,0x3c,0x42,0x0b,0x4d,0x55,0x21,0x61,0x8e,0x11,0xd2,0xde,0x82,0x7d,0x9d,0xe5,0x69,0xf6,0xbc,0x3b,0xe6,0x6a,0xad,0x40,0x63,0x6c,0xda,0xa6,0x47,0x60,0xde,0xd3,0xb7,0xc2,0x09,},"\x36\x2e\xec\x68\xb9\x12\x85\x27\x86\xbb\x4f\x9a\xff\xf9\xec\xf7\xcb\x28\xc9\xde\x6b\x18\x42\x2a\x8c\xa9\x40\xb0\xd7\xe6\xdc\xb8\x3a\xa4\x4b\xe0\xaf\xb5\xf1\x80\x6d\x43\xf0\xe3\x1d\x71\xf9\x22\xf8\x53\x61\x5a\x26\xe2\x87\xa2\x7f\x08\xa0\x4f\xbc\xe3\xd4\x5a\x0c\x6c\x31\x1d\x4b\x7c\xb1\x7e\x42\x5b\xbe\xb0\xa6\xb4\x10\xb5\xd6\xdb\xb7\xac\x11\xdf\x98\x50\xa1\x31\xa6\x91\xe3\xb6\x0b\x0b\x21\x4e\xbe\x04\x41\x06\xe9\x82\x43\x32\x87\x59\x52\x67\xb0\x31\xb5\xd4\xa0\x92\x62\xde\xd8\x93\x4f\xdf\xdf\x96\x4d\x86\x8e\xf9\xa2\xc8\x42\xf8\x04\xea\xfd\xde\xfc\xb7\x1d\x9f\x16\xa5\x9b\xf8"}, -{{0xb8,0x12,0x3c,0x11,0x6b,0x33,0xba,0xd0,0xdc,0xbc,0x2c,0x4d,0xc0,0x6a,0x3d,0x66,0x85,0x0d,0xab,0x36,0x0c,0xdb,0x5a,0x03,0x3c,0x14,0x89,0x5c,0x4e,0xe3,0x1b,0xfb,},{0xbd,0xca,0x15,0x1b,0xa3,0x2c,0x6b,0xb3,0x15,0x31,0xb0,0x5f,0xdf,0x86,0xc6,0xd7,0x8c,0x8c,0xd1,0x93,0x56,0x11,0xd5,0xff,0x11,0x1a,0x0f,0x00,0x63,0x5b,0x18,0x85,},{0x9c,0xf1,0x3e,0xba,0x3d,0xcc,0x37,0xb8,0xfc,0x70,0xcc,0xb2,0x32,0x74,0x36,0xb9,0xf0,0x88,0x55,0xe7,0x26,0xaa,0x7e,0xd8,0x2b,0xd5,0xcb,0x7d,0xf4,0x5f,0xdf,0x9e,0xc1,0xf9,0x6a,0xfa,0xd1,0x93,0xf4,0x75,0x72,0xd7,0x70,0x44,0x4b,0x65,0xb7,0x4a,0x37,0xcc,0x03,0x4f,0xc5,0x14,0xcb,0x3f,0x91,0xb2,0xd8,0xad,0xa5,0xb0,0x20,0x06,},"\x79\x70\xf6\x66\x66\x34\x54\x8c\x84\x8b\xb5\x23\x38\x81\x7b\x26\xa4\xd0\xca\x68\xdf\x3d\x28\xaf\xff\x20\x7c\x2d\x02\x80\x67\xa1\x8e\x4c\x95\x43\x02\x5f\x5b\x02\x28\xaa\x69\x1e\x50\x88\x51\x31\x51\xa9\x44\x94\xe1\x5d\x1f\x54\x21\x03\x28\xe0\xdf\x15\x9b\x35\x2c\x30\xaa\xa7\xa8\x44\xf1\x8a\x9f\x4c\x39\x5d\xcb\xb3\xfb\x9f\xcf\xbe\xd1\x10\x3e\x07\x06\xfb\xf9\xc3\x5f\xe2\x66\x68\x48\xfa\x35\xdc\x2c\xf5\x22\x7e\xbe\xe8\x9e\x7d\x3b\xcf\xae\x27\x21\xb2\x5f\xde\xc3\xd3\x17\x4e\xa7\xce\x26\x7a\x55\xdd\x61\xd5\x82\x01\xe9\x6b\xda\x30\x3c\xf4\x18\xed\xf6\xe3\x2f\xb9\x2f\x5d\xc1\xa0\xb1"}, -{{0xb1,0x8e,0x1d,0x00,0x45,0x99,0x5e,0xc3,0xd0,0x10,0xc3,0x87,0xcc,0xfe,0xb9,0x84,0xd7,0x83,0xaf,0x8f,0xbb,0x0f,0x40,0xfa,0x7d,0xb1,0x26,0xd8,0x89,0xf6,0xda,0xdd,},{0x77,0xf4,0x8b,0x59,0xca,0xed,0xa7,0x77,0x51,0xed,0x13,0x8b,0x0e,0xc6,0x67,0xff,0x50,0xf8,0x76,0x8c,0x25,0xd4,0x83,0x09,0xa8,0xf3,0x86,0xa2,0xba,0xd1,0x87,0xfb,},{0x6b,0xd7,0x10,0xa3,0x68,0xc1,0x24,0x99,0x23,0xfc,0x7a,0x16,0x10,0x74,0x74,0x03,0x04,0x0f,0x0c,0xc3,0x08,0x15,0xa0,0x0f,0x9f,0xf5,0x48,0xa8,0x96,0xbb,0xda,0x0b,0x4e,0xb2,0xca,0x19,0xeb,0xcf,0x91,0x7f,0x0f,0x34,0x20,0x0a,0x9e,0xdb,0xad,0x39,0x01,0xb6,0x4a,0xb0,0x9c,0xc5,0xef,0x7b,0x9b,0xcc,0x3c,0x40,0xc0,0xff,0x75,0x09,},"\x91\x6c\x7d\x1d\x26\x8f\xc0\xe7\x7c\x1b\xef\x23\x84\x32\x57\x3c\x39\xbe\x57\x7b\xbe\xa0\x99\x89\x36\xad\xd2\xb5\x0a\x65\x31\x71\xce\x18\xa5\x42\xb0\xb7\xf9\x6c\x16\x91\xa3\xbe\x60\x31\x52\x28\x94\xa8\x63\x41\x83\xed\xa3\x87\x98\xa0\xc5\xd5\xd7\x9f\xbd\x01\xdd\x04\xa8\x64\x6d\x71\x87\x3b\x77\xb2\x21\x99\x8a\x81\x92\x2d\x81\x05\xf8\x92\x31\x63\x69\xd5\x22\x4c\x99\x83\x37\x2d\x23\x13\xc6\xb1\xf4\x55\x6e\xa2\x6b\xa4\x9d\x46\xe8\xb5\x61\xe0\xfc\x76\x63\x3a\xc9\x76\x6e\x68\xe2\x1f\xba\x7e\xdc\xa9\x3c\x4c\x74\x60\x37\x6d\x7f\x3a\xc2\x2f\xf3\x72\xc1\x8f\x61\x3f\x2a\xe2\xe8\x56\xaf\x40"}, -{{0x93,0x64,0x9c,0x63,0x91,0x0b,0x35,0x71,0x8e,0x48,0xc5,0x90,0xd2,0x61,0xc4,0x8e,0x4e,0xf8,0x33,0x66,0x13,0xf6,0xaa,0x07,0x7b,0x46,0x26,0x76,0xb3,0xba,0x88,0x29,},{0x06,0xa6,0x85,0x89,0x8b,0x85,0x52,0x12,0xeb,0xc2,0x89,0x91,0x5d,0x10,0x5a,0x43,0x20,0xd6,0x20,0xd8,0x57,0x71,0xb8,0xc6,0xb1,0x5b,0xf1,0x0a,0x1b,0xe6,0xe9,0xb8,},{0x62,0x74,0xf2,0xd4,0xf4,0x31,0xd5,0xaf,0xfe,0xfa,0x35,0xe7,0xcf,0x58,0x4a,0x59,0x90,0x17,0x19,0x3d,0xa9,0x90,0x94,0xca,0x90,0x8b,0x75,0xac,0xb6,0x08,0xd1,0xbf,0x98,0x18,0x57,0xbe,0x93,0xa7,0xda,0xfb,0x0f,0xad,0xb3,0xff,0x09,0x06,0xf4,0x8a,0x5e,0xe9,0x50,0x45,0x6f,0x78,0x2c,0x2d,0x60,0x5b,0x14,0x09,0x5b,0xa0,0xff,0x0f,},"\x2c\xd1\xa9\x51\x05\x6c\x9e\xba\xe1\x39\x9b\x6b\xd2\xd8\x2c\x0a\xe2\x77\x85\x62\x90\xd0\x69\x20\xac\x56\xca\xc8\xfb\x42\x43\x51\x01\xc7\x2a\xa9\xc0\x8d\xd2\xd1\x24\x26\x32\x55\x62\xc2\xf0\xa4\x9c\xd8\x21\xb1\x1b\x93\x9a\xaf\xa5\x93\xb4\x09\x5c\x02\x1b\xcb\x48\x27\xb1\x07\xb9\x66\x4d\x68\x28\x28\x88\xbc\x4a\x44\xaf\x3e\x3b\xdc\x86\x1b\xe6\xaf\x30\x90\x44\xc3\xda\xab\x57\xb7\x70\x23\xdc\x90\x2d\x47\xeb\xc3\x26\xf9\xbd\xd0\x2d\xbc\x02\xcd\x54\x0f\xf8\x1b\x2d\xdf\x7c\xf6\x79\xa4\x11\x93\xdf\xe5\xf8\xc8\xca\x1a\xae\xfc\x41\xef\x74\x02\x80\xd9\x82\x3e\x30\xa3\x54\x71\x7c\x84\x31\xf5\xd8"}, -{{0x1c,0x15,0xcb,0xeb,0x89,0x36,0x2d,0x69,0x47,0x6a,0x2a,0xa4,0xa5,0xf3,0xef,0x20,0x89,0xcf,0x87,0x28,0x63,0x49,0xe0,0xdf,0xe0,0xe7,0x2d,0x9e,0x3e,0x5a,0x66,0xc7,},{0x13,0xa8,0x82,0xa1,0x06,0x41,0x82,0x58,0x2c,0x21,0x18,0x47,0xe1,0x9b,0x4d,0xac,0x59,0x72,0x2c,0x9f,0xfd,0x34,0x82,0x6d,0x96,0xf3,0x31,0x13,0x40,0x0f,0xac,0x7a,},{0x59,0x98,0xb2,0x80,0x8a,0xdf,0xde,0xea,0xeb,0xe2,0xc3,0xea,0xc0,0x26,0xd3,0xf8,0x25,0xf9,0xc7,0xf2,0xaf,0x97,0xca,0x32,0x4f,0xbd,0x57,0xaa,0xc1,0xbe,0xdf,0xf7,0x8a,0x8e,0xe6,0x21,0xd0,0x37,0xee,0x3a,0xd2,0xa7,0x12,0xe9,0xa0,0x09,0xc5,0x8e,0xa3,0xe6,0xf2,0xa8,0x28,0xf7,0x4b,0x86,0xda,0x27,0x5a,0x44,0xa4,0xb1,0xe5,0x0b,},"\x09\x1c\x9b\x9b\x11\x6a\xe8\x3d\x23\xd0\x1a\x62\x95\x21\x17\x85\xd4\x46\xb6\x22\x8d\xd6\x87\xdd\xf7\x9b\xd0\xd5\xa4\xda\xa8\xc7\x9d\x2c\xbf\xc3\x73\x65\xf1\xf2\x85\xe3\x61\x73\x81\x23\xe3\x4e\x2b\xcb\xfc\x66\x4c\xe1\x25\x3a\x11\xd9\xe4\xa7\x98\x2e\x58\xcf\x94\x68\xe1\x01\x7e\xa1\x4d\x2c\xc6\xd0\x86\x5d\x40\xfd\xe8\xcb\x56\x02\x41\xe9\x6a\xc1\x61\x7c\x79\x1f\x0c\xa7\xc6\x41\x0c\xad\xf3\x28\x61\x1b\x18\xae\xf3\x33\xd8\x35\x0a\xc4\x97\xf0\xa4\xae\x2d\x03\xfd\xf0\xe2\x3e\x42\x6d\x34\xf4\x51\x47\x80\xd1\x47\x4e\x11\x35\x83\x54\x1f\x3c\x04\x36\x72\x05\x71\x72\x61\x8c\xb2\x05\x9e\xaa\xed\x56"}, -{{0x11,0x24,0x1f,0xfd,0xf3,0x4a,0xe8,0xab,0x87,0x54,0x75,0xe9,0x4c,0x6c,0xc3,0x29,0x1f,0x0b,0x88,0x20,0xdc,0x85,0xe2,0x0f,0x32,0xfc,0x53,0xb2,0x4a,0xe6,0x89,0x78,},{0x09,0xc0,0x45,0xe4,0xbd,0x51,0x37,0x31,0x4c,0x0e,0xc1,0xd0,0x31,0xfa,0xf9,0x14,0x91,0x0c,0x45,0xa4,0x67,0x6f,0x5a,0x3c,0xd8,0xf5,0x81,0xbc,0xcc,0xb0,0x3c,0x97,},{0x72,0xce,0x9f,0x91,0xbe,0x2e,0x66,0xcf,0xc9,0x0f,0x95,0x25,0x95,0x94,0x6f,0xfc,0x90,0xbf,0xce,0x53,0x08,0x7d,0x49,0xe5,0xdd,0x7c,0x08,0x7f,0x3f,0xaa,0x8f,0x18,0xf2,0x35,0x6d,0xe9,0x71,0xe4,0x42,0x9d,0x98,0x5a,0x99,0x19,0x4b,0x4f,0x92,0xce,0xd3,0xef,0x47,0xcd,0x71,0x14,0x37,0x9e,0x0b,0x32,0x67,0xa9,0xf8,0xb1,0xe7,0x06,},"\x3b\x89\xde\xcc\xb7\x02\x3e\x4b\x2b\x7a\xff\x2c\x39\x51\x87\x0a\xf4\x13\xa9\xb0\x4d\xd8\x6a\xc7\x8b\x7c\x8f\xd8\x87\x49\x2d\x8d\xde\x49\xd8\xfd\xa1\x49\xed\xd5\x47\x81\xae\x2b\x50\x80\x30\xd1\x44\x16\xa9\xa3\x8b\xed\x2b\x9a\xeb\xbb\xb2\x02\x50\xb3\xc9\x31\xac\xd4\xe3\x2f\xbe\xee\xc5\xa2\x65\x01\xbe\xab\x72\x68\xd1\x44\xfc\xe8\x95\x1a\x10\x1c\x4b\x51\x78\x16\x6f\xbb\x59\x27\xb1\xdf\xb1\xe1\xce\x90\xd1\xd1\x23\x06\x8e\x3f\x47\x2c\x88\x8f\xdb\x01\xfd\xf7\x0e\x7f\x8d\xe9\xb0\xad\xb2\x84\xb7\x11\x9f\x55\x35\x43\x16\xf8\x4e\xd0\x90\x03\x0f\x9c\x26\x62\x06\x1c\xa4\x84\x47\xcc\x0a\xef\x96\x41\x26"}, -{{0x3b,0xdb,0x16,0x24,0x65,0xea,0xce,0xff,0x98,0xd6,0x9c,0x86,0xf7,0x00,0x39,0xc5,0x17,0xd1,0x68,0xae,0xfe,0x6b,0xb1,0x01,0xb4,0xf7,0x69,0xa8,0x6b,0x17,0xc9,0x72,},{0xd7,0x6c,0xb7,0xbe,0x74,0x32,0x82,0x89,0xfd,0x1c,0x64,0xbe,0x74,0x7c,0xca,0x5b,0xb3,0x02,0x95,0xdf,0xac,0xcd,0x0f,0x2e,0x43,0xf5,0x17,0x03,0xfd,0x5d,0x36,0x83,},{0x6f,0x13,0x62,0xa4,0x02,0x06,0x37,0x91,0xf9,0x50,0x98,0x4f,0x54,0x49,0x28,0xe6,0x16,0xa4,0xef,0x79,0xbb,0xeb,0x68,0x54,0xe9,0x61,0x5a,0xab,0x9c,0xdb,0xae,0xc4,0x83,0xfb,0x9a,0x04,0xbf,0x22,0xde,0x5d,0x97,0xa1,0x5b,0xda,0x2d,0x39,0x04,0x83,0xc7,0xf6,0x1d,0xbe,0xe0,0x7b,0xb5,0x14,0x1f,0xc1,0x73,0xb1,0xaa,0x47,0x65,0x0d,},"\xfb\xf3\x68\xfe\xae\xba\x87\x91\x8b\x1b\x8c\x7b\x8a\x26\x83\x2b\xe6\xe7\xfc\x1c\xbd\xb8\x90\x25\x19\x28\x1a\x06\x54\xec\x73\xde\x0b\xb0\x71\x01\xa9\xd6\x03\xf7\x45\xd4\xec\x23\x57\xae\xe9\x87\x0c\xb1\x9a\x56\xcb\x44\xfb\xd9\xc9\x1f\xc3\x47\x52\x61\x2f\xbd\x83\xd6\xfc\x1a\x16\xbf\x8a\x85\xa2\x15\xd0\x14\x8e\x4a\xf3\x7d\x29\x84\x67\xe5\xcc\x48\x6b\x13\x13\x52\xce\x09\x21\x82\xce\x82\x84\x15\x9a\x38\x12\xb3\x0b\xac\xbf\xf5\x95\x86\x38\x11\xbf\x9a\x30\xa9\xda\x49\x45\x65\xc3\xac\x18\x14\x43\x00\x18\xea\x0e\xee\xd3\x9c\xdb\xca\x27\xf9\x31\x40\xe4\x69\x49\xdb\x57\x0b\xfa\x2e\xd4\xf4\x07\x3f\x88\x33"}, -{{0xd5,0xef,0xe5,0x1d,0x5c,0xd8,0xe1,0x08,0xbd,0x92,0x2f,0xc0,0xea,0x12,0x61,0x90,0xa9,0x46,0x28,0xff,0xa5,0x3c,0x43,0x3a,0x51,0x80,0x22,0x79,0x2d,0xdc,0x78,0xef,},{0x42,0x6b,0x01,0xcc,0x61,0xff,0x5e,0x0e,0x72,0x4d,0xa1,0xd3,0xb2,0x97,0xf5,0x32,0x5c,0x18,0xc6,0x2f,0x64,0xd5,0xeb,0x48,0xd4,0xa5,0x21,0x6a,0x8e,0x9a,0x40,0x73,},{0x23,0x06,0xf5,0x8f,0xcd,0x4c,0xff,0x22,0x22,0xd8,0x1b,0x05,0xa4,0x75,0x53,0x2b,0x8b,0x19,0xdc,0x67,0xe6,0xd7,0x8d,0xdb,0x42,0x05,0xa3,0xb7,0x62,0x1c,0xc5,0xae,0xf0,0xb3,0x93,0xd5,0xd2,0x4d,0xd9,0x6c,0x88,0xcc,0xbc,0x53,0xa3,0x20,0x8d,0xa3,0x23,0xbe,0x45,0x87,0xd5,0xec,0x06,0x7c,0x82,0x0f,0x07,0x23,0xaa,0x44,0xe9,0x0e,},"\x9d\x17\xbc\xfe\x2d\xfc\x74\x2f\x41\x1c\xb5\x3a\x94\xf3\x59\xc0\x01\xab\xf0\x96\xc7\x41\xf3\x4a\xf4\x86\x79\xf2\x81\xe7\xce\x6b\xbd\x9e\x87\x70\x9f\xc0\x72\x8a\x56\x3d\xb2\xb9\xcf\x8e\xa4\xfb\xdc\xc3\x44\xc1\x84\x8e\x65\x3c\xe9\x70\xc6\xce\x29\xde\x2c\xcd\x52\x03\x00\x64\x9a\xdc\xdd\xfc\x75\x39\x71\xf8\x46\xaa\xc1\xba\x42\xae\x45\x28\x95\x2d\x94\x98\x0a\xa7\xc6\xcf\xa2\x14\x29\x07\x64\x7f\x89\x4a\xe9\x74\xa7\x4d\x59\x03\x5a\x73\xef\x56\xa1\x0b\x66\x12\x62\x48\x09\x52\x01\x90\xac\xe6\x61\xc3\xa4\x70\x95\xe0\x32\x2e\xfd\x78\x1d\x50\xd1\x16\x35\x98\xf2\xda\x32\xf3\x1b\xc9\xc4\xf9\x13\xd1\xb1\x48\x61"}, -{{0x18,0xaf,0x89,0x02,0x5e,0xbf,0xa7,0x6b,0xd5,0x57,0xcf,0xb2,0xdf,0xf1,0x48,0x24,0x52,0x14,0x64,0x1f,0xd5,0xbd,0xa1,0x59,0xf7,0x3d,0xa0,0x4b,0x08,0xe8,0x7c,0x88,},{0x0c,0x58,0x44,0x59,0xb9,0xeb,0xcc,0xca,0xd5,0x87,0xb2,0x72,0x16,0x0b,0xc6,0x0b,0x27,0xf4,0xf7,0x72,0xb4,0x32,0x1d,0xe7,0x72,0x3a,0xfe,0xf5,0x77,0xed,0xc7,0xb4,},{0x26,0xbb,0x08,0x82,0x29,0x7c,0x2c,0x08,0xa7,0x52,0xd3,0x98,0x11,0x45,0xdc,0xde,0x55,0x89,0x3a,0x11,0xdf,0x77,0xf8,0xaa,0x4c,0x19,0xd0,0xb9,0xed,0x6e,0x52,0x20,0xed,0x12,0xe9,0xfa,0xc3,0xaf,0x13,0xd0,0xf0,0xc7,0x15,0x68,0xf4,0xa5,0x47,0xd3,0x01,0x14,0xa6,0x59,0x9a,0x23,0x68,0x06,0xc4,0xbe,0xee,0x67,0x65,0x28,0x44,0x08,},"\xe8\x2f\x46\x65\x2a\xb9\x14\xaf\x53\x5d\x8f\xb7\x20\xb5\x57\xac\x95\x01\x8d\x9f\x2a\x3f\xcc\xe8\x57\x71\xbb\x40\xab\x14\xcb\x9a\x98\x6e\x09\x6f\x3a\xfe\x5b\xee\x82\x9d\xfd\x8b\x97\x33\x5c\x53\x6a\xc9\x71\xa2\x16\x55\xaf\x16\xa2\xf8\xfd\xba\x18\x3a\x4e\x18\x56\x4c\x21\x49\x29\x56\x53\x7a\x41\x9a\xbb\xbb\xb0\x2a\x4b\xbd\xc0\x14\x81\xf5\xc6\xe6\x58\xec\xf3\xc3\x4f\x01\x1a\xd8\x46\xf5\xed\xcd\x49\x39\x19\x5d\xf8\x5e\x41\x30\x3f\xb9\xa8\x8f\xdf\xbd\x70\x43\x96\xf7\x55\x9a\x32\x73\x18\xb9\x52\xb3\xe6\x0c\xe8\xdd\xde\x56\x37\x85\x79\x23\x2f\xaf\x95\x0c\x78\xe7\xf0\xb1\x7c\x3b\x8d\xec\xe3\x6b\x78\x8a\x84\x73"}, -{{0x0c,0x93,0xd9,0x98,0x15,0xff,0xf8,0xfe,0x22,0xb9,0xe4,0x5a,0xa0,0x2b,0x3e,0x64,0x45,0xce,0x1d,0x6b,0xf5,0xa6,0x5d,0xce,0x3d,0xa1,0x07,0xaa,0x10,0x55,0x94,0x0e,},{0x4d,0x27,0xa4,0x7b,0x0f,0xc8,0x08,0x00,0xd8,0x4d,0x24,0x4e,0xeb,0xb1,0xde,0xb4,0x43,0x6d,0x97,0x63,0x3a,0x83,0xe6,0x71,0x25,0xad,0x52,0xea,0x01,0x68,0x50,0x57,},{0x7d,0xc4,0x46,0x7a,0xbc,0xf6,0x43,0x1a,0xdb,0x7c,0xcf,0xe8,0x68,0xea,0xc8,0xcd,0x8a,0x61,0x5a,0x0f,0xf6,0x5f,0x6a,0x9e,0x33,0x83,0x75,0xb1,0xaa,0xe3,0xc4,0x9a,0x12,0x6c,0x9e,0xba,0x79,0x42,0x6d,0x16,0x41,0xc6,0xb9,0x7c,0x3e,0x92,0xc1,0x94,0xe5,0xee,0x44,0x31,0xef,0xa2,0x43,0x9f,0xd4,0x50,0xf2,0xcd,0x01,0x8c,0x87,0x00,},"\x11\xe8\x77\xde\x58\xc1\x34\xea\xf4\xc9\xf1\xb5\x3c\x3d\xc4\x51\xd3\xc0\x55\xf1\x6b\x09\x62\x27\x25\xb2\x79\x76\x85\x12\xfe\x10\xa7\xad\xb0\x76\x5b\x68\x9e\xc2\x1d\x5b\x6e\xfa\xa1\x9f\x1b\x9d\x36\x25\x4d\xf0\xa9\x36\x7f\x44\x1b\x26\xbd\xb9\x0b\x28\xcb\xc4\x03\xe5\x07\x40\x82\xfa\x1f\xed\x58\xe1\x40\xda\xc9\x7a\xea\xf4\x83\xe2\xc1\x3f\x3c\xc5\x60\xab\xff\xab\xa0\x5b\x76\x3f\xee\xdb\x51\xe6\x06\x98\x15\x1c\xf5\x6e\xfd\xf1\xd3\x7d\x6c\xe0\x56\x44\x86\x21\x0f\x05\x2e\x93\x7f\x2e\xa2\x6f\x63\xef\xa5\xd2\x47\xff\x18\x83\x29\xbb\x1a\xa8\x3c\xe3\xf4\xf3\x5a\x3d\x7d\xec\x14\x59\x9e\x5f\xeb\x7b\x6d\x5f\xe4\x29\x6a"}, -{{0x98,0x9e,0x99,0x94,0x56,0x35,0x19,0x2c,0x02,0x3c,0xc5,0x18,0x6f,0xc2,0x5b,0xba,0xef,0x47,0x24,0x07,0x75,0xd1,0x5a,0x56,0x19,0x5d,0x88,0xcd,0x07,0xc3,0x74,0x8e,},{0xca,0x0b,0xea,0xfd,0xf7,0x31,0xd8,0x93,0x01,0xf7,0x72,0x3c,0x5b,0xb7,0xe5,0xa1,0xc3,0xff,0x3e,0xab,0x27,0xc9,0x7d,0x71,0x1b,0xcd,0x76,0xe4,0x20,0x54,0xbe,0xe4,},{0xae,0xf7,0x56,0xbf,0xb8,0xa7,0x26,0x6e,0x17,0xd1,0x5f,0x3f,0x11,0xee,0x50,0xed,0x25,0xbe,0x42,0x0e,0x95,0xa0,0x74,0x22,0x71,0xeb,0xd1,0x22,0x94,0xe2,0xcb,0x96,0xea,0xd0,0x83,0xb8,0xff,0x0b,0x82,0x9d,0x2e,0xde,0xb1,0x4d,0xa8,0x6e,0x40,0x2e,0xf2,0x5e,0x6d,0x4a,0x5a,0x79,0x58,0xc1,0x84,0xed,0x10,0xc1,0x76,0xcb,0x57,0x0b,},"\xc4\x84\x14\xf5\xc7\x57\xd0\x3c\x52\x3e\xf3\xf3\xb8\x51\x07\x71\xb0\xff\x3b\x4b\x97\xde\x27\x96\x25\xd3\x49\xec\x18\x5a\x29\x92\x7a\x66\xb9\x59\x3b\xa1\x93\x38\xc2\xf5\xe4\x13\x1f\x1a\xc0\x7e\xa4\x6d\x2c\x1b\x6e\x4a\xb5\x22\x92\x80\xb2\xe2\xbb\x9d\x14\x0d\x1e\xf7\xaf\x7b\x16\x92\xbf\x2d\x09\x7b\x80\xf8\x11\xad\xcf\xa9\x5d\x5c\xbf\x9e\xee\x92\xa1\x64\x1c\x55\x2b\x4b\xe4\xa0\xd7\x34\xf0\xaf\xd4\x70\xb9\xd7\xf4\xe4\x57\x78\x95\x1e\x21\xfc\x53\x4f\x20\x0a\x12\x8b\x96\xad\xb8\x37\x3f\x10\xce\xce\xc2\xda\xc2\x99\x6a\x06\x2f\xb3\xc2\x94\x31\x59\x65\xa9\xd5\xd7\xb0\x77\xc4\xb0\x13\xc6\x4a\x38\x42\x97\x69\xd2\x3e\xab"}, -{{0x6b,0xdb,0xbe,0x06,0xd9,0xf4,0x21,0x9e,0xea,0x64,0x03,0xa3,0x57,0xb2,0x5e,0x56,0x19,0x92,0xfa,0xe0,0xf0,0xf6,0x14,0x56,0x1d,0xd8,0x6d,0x23,0xde,0x41,0x5a,0x43,},{0xed,0x52,0xdd,0x1c,0xce,0x32,0xd9,0xb4,0x85,0xe0,0x94,0x07,0x46,0x42,0x1d,0x36,0xb9,0xfd,0xe6,0xcd,0xf0,0x21,0x15,0x45,0xb6,0x34,0x04,0x4d,0x4b,0x3c,0xb8,0xf1,},{0x95,0x02,0x06,0x60,0x5b,0x0f,0x41,0x7c,0x90,0x84,0x3e,0x2c,0x8d,0x8e,0x66,0xc8,0x28,0xbb,0x10,0xb9,0x9b,0x36,0xee,0xee,0xe8,0xca,0xf2,0xe0,0xe5,0x48,0x4d,0x93,0xfe,0x02,0xbf,0x53,0x34,0x05,0xf4,0xbb,0x74,0xa5,0x0e,0x55,0x85,0xfa,0x0d,0xae,0xf4,0x82,0x1f,0x03,0x01,0xd0,0x1b,0x46,0x32,0x1b,0xaa,0x31,0xe1,0xf0,0x8d,0x03,},"\x58\x2a\xda\x13\xd6\x92\x93\xe4\x9b\xbd\x46\x10\x32\xdf\xea\x1c\xa2\x02\x5b\x52\xe0\x13\xa3\x3a\x03\x87\xfc\xfc\x5f\x7c\x0b\x8e\xc9\x55\x98\x26\x07\xfc\x90\x1e\x1b\x7f\x63\x6a\x9d\x37\x1e\x1f\x91\xfe\x47\x6b\xdd\x44\x85\x6e\x27\x5d\x67\xef\xa1\x42\x38\x16\x43\x54\xc2\x31\x12\x4c\x84\xde\x8f\x5b\x89\xd5\xa5\x8e\xa6\x74\x4b\x4d\x3b\x3d\x79\x06\x90\x52\x33\xcc\xe6\x94\xa6\x4d\x69\x6f\x5a\x70\x24\xfc\x90\x33\xb1\xce\x39\x08\x99\xa3\xb4\x41\xa4\x8e\x53\xc7\xc9\xb3\x0b\xa1\x2e\x7d\x61\xf3\x5f\x15\xe6\x58\xc7\xcc\x44\x07\xe2\xf6\x89\xea\x8a\x55\xd0\x1b\xf5\xdb\xac\xb1\x19\x54\x75\x4f\x92\x0f\x09\xdb\xd4\x84\x09\xbb\xb5"}, -{{0xd7,0x61,0xc8,0xc5,0xa9,0x60,0x1b,0x91,0x45,0xb7,0xd0,0x51,0x24,0x9b,0x00,0x41,0x07,0xe4,0x52,0xe5,0x63,0x10,0x0c,0x6c,0x78,0x80,0x38,0xc9,0xee,0x8a,0xda,0xd7,},{0xe6,0x48,0x87,0x75,0xd6,0x40,0x7e,0xfc,0x7b,0x2b,0xca,0x89,0x0a,0x7f,0xc6,0x22,0x66,0xfc,0x54,0xcd,0xac,0x89,0x33,0x43,0xb4,0xf5,0x9a,0x19,0x6d,0x94,0x88,0x98,},{0x7a,0xb7,0x8b,0x64,0xe6,0xdb,0x35,0x9a,0x2d,0xc8,0x30,0x2e,0x10,0x92,0xed,0x66,0xfa,0x73,0x6b,0x53,0x62,0x53,0xa1,0xcd,0x90,0xfd,0xb8,0xc1,0x0e,0xfd,0x78,0x30,0x02,0x25,0xe1,0x91,0x96,0x35,0x99,0xba,0x54,0x9c,0xc8,0x59,0x20,0x9d,0xf0,0xff,0x61,0xcd,0x06,0x9b,0x03,0xd2,0x54,0xe6,0xe7,0xd7,0x6c,0x79,0x84,0x40,0xf9,0x07,},"\x84\xea\xd5\xea\xbd\x2f\xd4\xb7\xc7\x9a\x9a\x92\x8a\xb8\xee\x0a\x16\xa5\xfd\x66\x7a\x05\x7f\x8a\x25\x46\x63\xd5\x6d\xaa\xe1\x56\xd1\xa4\x9a\xff\xb2\x99\x61\x37\xb9\xd8\xb3\x40\xe6\x35\x73\x2f\x9d\x2b\x4c\x60\x21\x84\x42\x54\x1e\x72\xd2\xb0\x0e\x1e\xe7\xa7\x3c\x3f\x67\xca\xa4\x99\xfa\x9d\x07\x0b\x57\xd0\x76\xdc\xde\x96\xb0\x76\x47\x23\xc3\xc6\x59\xc7\xa0\x0c\x1b\x78\xb1\x5c\xcc\x22\x23\x89\x0b\x51\x06\x7f\xc8\x1e\x23\xe9\x45\x8a\xb0\x68\x3b\xa6\x26\xa5\x3d\x0c\x37\x93\xa5\x8a\x98\x57\xbb\x44\xb3\xbd\x85\xbb\x6c\xe5\x3a\x85\x69\x4e\x7f\x53\xcc\x1b\xd4\x6d\x50\xed\xa3\x7d\x81\xf5\x38\x1b\x51\x3d\x1f\x38\x33\x9d\x29\x1b"}, -{{0xc5,0xe0,0xc7,0xa7,0xbb,0x8b,0x7c,0xa0,0x7b,0xf0,0xa0,0x5e,0xa6,0x7e,0xff,0x6d,0xee,0xbf,0xe3,0x71,0x4e,0xe3,0xe1,0xa2,0x27,0xf4,0xdc,0x8e,0x24,0x2a,0x2f,0xa0,},{0x51,0x35,0xef,0xcd,0x90,0x52,0xbe,0xc5,0x7a,0x44,0x31,0xca,0xab,0xe8,0x26,0x80,0xee,0xc0,0xa3,0x3a,0xfd,0x59,0xb3,0x02,0x03,0xb2,0x80,0xba,0x12,0xbe,0x48,0x5c,},{0x2e,0x7f,0xde,0xb3,0x48,0x4d,0x0a,0x5e,0x8d,0xce,0x94,0x44,0x89,0x79,0x49,0x6b,0x06,0x42,0xca,0xbc,0x37,0x33,0xa5,0x1f,0x8c,0x3c,0x5c,0x51,0xc1,0x9a,0xe3,0x19,0x01,0x8d,0xa9,0x10,0x91,0xc2,0x38,0x5f,0x2f,0x4e,0x9a,0x59,0xed,0xbc,0xa2,0xab,0xd0,0xd0,0x85,0xee,0x40,0xd3,0xf0,0xd4,0x20,0x61,0xa5,0xa9,0x83,0x2a,0x37,0x0c,},"\x37\x70\xa6\x78\x66\x52\xc4\xb7\x8a\x04\x3e\xdc\xe0\x7f\x3e\x20\x4d\x81\x99\x7c\x42\xaf\xc2\x23\x31\xf7\x5a\x54\x94\xa8\x26\xd7\xcb\x69\xab\x43\x14\xa4\x73\x72\x10\x58\xa1\x83\x99\x81\xd5\xb7\x02\x2d\x0c\xd8\x67\x03\x77\xda\xf3\x32\x04\x76\xd2\x5b\x9f\x55\x95\x61\xd6\x6e\xe0\xa7\x09\xfe\x17\x36\x1e\x2a\x52\x89\x8f\x57\x53\xc4\xfb\x43\xbd\x0c\x98\xb3\x68\xf5\x12\xad\xc0\x9c\xd9\x27\xc6\x62\x26\x76\x92\x6d\x8c\x2d\x91\xa1\x4a\xca\x32\xf2\x26\xf7\x00\x36\xc1\xc8\x58\xbc\xff\xc2\xb5\x9f\x54\xc1\xc3\x7b\xf8\x1e\xb5\x2e\xcb\x3f\x00\xda\x60\x2c\x94\x36\x1b\x52\xa5\xaf\xdd\xbf\xd7\xe0\x50\x36\xe3\x77\x50\x30\x50\x33\x3b\xe5\x12"}, -{{0x11,0xbb,0x47,0x48,0xd2,0x54,0x7e,0x61,0x96,0xbe,0x82,0x3c,0x9b,0xe7,0xaa,0x18,0x15,0x0c,0x20,0x4b,0x12,0xca,0x8d,0x73,0xc1,0xbd,0x46,0xb1,0x1a,0x54,0xb4,0x75,},{0xef,0xeb,0x42,0xda,0x28,0xd7,0x64,0x96,0x64,0x03,0xdd,0x30,0x0d,0x9f,0x94,0x51,0xb2,0x58,0xab,0x1c,0x80,0xdf,0x06,0xfe,0x59,0x43,0x15,0x3f,0x53,0x01,0xcc,0xcb,},{0x44,0xc5,0x8d,0xa4,0x9d,0x23,0x65,0xd2,0x70,0x29,0xd1,0xee,0xbb,0x3b,0xeb,0xf7,0xc0,0x32,0xd8,0x58,0xaa,0x07,0xe0,0x75,0x6b,0x1c,0x26,0xa5,0x41,0x2d,0x22,0x69,0x11,0x76,0x03,0x13,0x41,0xad,0x37,0xd7,0xbb,0x78,0x43,0x28,0x9e,0xb3,0x9d,0xb4,0x91,0x58,0x4c,0x1b,0x2a,0x1d,0xa2,0xe4,0xa2,0x64,0x9c,0x22,0x93,0x82,0x66,0x06,},"\xf4\xb7\x65\xb2\x58\xba\x35\xb4\x27\x52\x5c\x7f\x10\xa4\x6f\x0b\xcc\xd3\x57\xec\x1a\xd5\x2a\x5b\x13\x94\x17\xa9\xd3\x89\x4c\x51\x2d\x89\xeb\x88\xe6\x81\xb1\xf3\x0a\xac\x4c\x11\x5c\xcf\x36\x54\x5e\x83\xf3\x78\x34\xc8\x2e\x83\x00\xcc\x1e\xb2\x89\xaf\x43\x75\x96\x8c\x29\xc0\xff\xef\xb4\x0e\x15\x6c\x20\xc0\x43\x26\x69\xac\x8d\xc0\xa8\x3c\x13\xb1\xe8\x55\xa8\x4a\xd0\x13\x3c\x40\xc8\x2c\x87\xee\x1e\x7d\xd4\x08\x4d\x74\x1c\x80\xde\x8a\x7a\x9f\x77\x59\xe8\x43\xa5\x62\x09\x9c\x4d\x7d\xf8\x75\x35\x20\x39\xff\x4d\x38\x24\x65\x13\x86\xc9\x77\x59\xff\x7d\xba\x52\x06\x4e\x6d\x31\x12\xe0\x80\x81\x9a\xee\x8c\xe7\x23\xa1\xa2\xaa\x46\x4d\x8a"}, -{{0x74,0x52,0xa0,0x01,0x56,0xd7,0x94,0xed,0xeb,0xff,0x4a,0xdb,0x1f,0x7a,0x7e,0xec,0x26,0x21,0x7f,0xef,0x67,0xc3,0xd2,0x68,0x35,0x2b,0x2b,0x54,0x60,0xa7,0xdc,0x25,},{0x5f,0x4d,0xc3,0x38,0xcf,0xbd,0x38,0x4b,0x5f,0x1c,0x14,0xc2,0x26,0x70,0x14,0x46,0xb5,0x2b,0x1e,0x3e,0x2a,0x3c,0xba,0x1a,0x40,0xee,0x28,0x25,0x08,0x0d,0x1d,0xe6,},{0xa8,0xf9,0xfa,0x24,0xa3,0xde,0xa1,0x02,0x2e,0x73,0xf0,0xd8,0x8b,0x1c,0x37,0xd0,0x6d,0x0f,0x0b,0x20,0xbb,0xff,0x0e,0xcd,0xb4,0xa4,0x0c,0x86,0xd7,0xe4,0x75,0x61,0x7c,0x03,0x57,0x0a,0x74,0x19,0xd7,0x4b,0xa0,0xf1,0x32,0x70,0x96,0xbf,0x19,0xf0,0xd0,0xcf,0x9f,0x51,0xd4,0x83,0x11,0x2f,0x26,0x92,0x23,0x78,0x68,0x2f,0x48,0x07,},"\x8c\x4e\xe2\x86\x76\x56\xe3\x3f\x52\x69\x41\x4d\x77\xb4\x2d\x8e\x47\x50\xdb\xa9\x3c\x41\x8b\xac\xca\x10\x93\x8c\xc3\xb5\x70\xc6\x60\x3d\x52\xc2\x34\x44\x88\x60\x7b\x2f\x93\x4f\x6d\x26\x9f\xcb\x2a\xd9\x66\x21\x9b\x1a\xb1\x14\x72\xf4\x2c\x67\x2c\xe2\x05\x92\x49\x0e\xc5\xba\xf6\xa2\xd2\xfc\x8a\x3e\xe3\x53\x74\xb1\x90\x2f\xde\xfc\x78\x70\xb1\xb6\x26\xfa\x46\xb1\x2b\x6c\xee\x24\x1f\x60\x1a\x9b\x3f\xe4\xc5\x08\x12\xe5\x73\xe6\x75\x2c\xe2\xc7\x64\x4e\x33\x67\xa6\xa6\xb7\x77\x58\xd8\xe4\x93\x4b\x58\xaf\x23\xab\xae\x8f\xec\xac\x25\xed\xd7\x34\x03\x0e\xe7\xcf\x39\x90\x7e\x3e\xed\x81\x86\xa1\x9a\x80\x71\x03\xa9\xfc\x49\xd3\x8f\x4c\x84\x60"}, -{{0x88,0x0e,0xf1,0x06,0x73,0x3f,0x04,0xe7,0x61,0x95,0xeb,0xa2,0x80,0xb3,0xfa,0xdd,0xa0,0xf2,0x5d,0xcf,0x96,0xa6,0xa9,0x9c,0x8c,0xcf,0x84,0x2c,0x68,0xaf,0xda,0xe5,},{0x70,0xce,0xe3,0x3d,0x41,0xc7,0x28,0xce,0x7b,0x14,0x19,0x31,0xe6,0xe8,0x52,0x45,0x67,0xd7,0x60,0x1e,0xb7,0x9f,0x67,0xfd,0xcd,0x07,0xb9,0xd6,0x82,0xc6,0x50,0xf0,},{0xff,0x6c,0xae,0xdd,0x8a,0x46,0x8a,0xa0,0x7d,0x4c,0x6e,0x71,0x31,0xbb,0xda,0x76,0x18,0x2b,0xa9,0x58,0x64,0x93,0x76,0xe7,0x11,0xf4,0x4c,0x7b,0xba,0xcb,0xa6,0x07,0x7b,0xea,0x87,0x8b,0xa5,0x94,0x9c,0xde,0xee,0xf0,0x5c,0xfd,0x49,0x83,0xb0,0x05,0x7d,0x27,0x5e,0xa3,0xe1,0x8c,0x32,0x65,0x94,0x68,0xc3,0x0c,0x47,0xac,0x8f,0x0b,},"\xf4\xf3\x8d\x07\x7f\x2b\x03\xda\x82\x1b\xd3\x6f\xde\x67\x3d\x66\x6e\x52\xf4\x83\x2e\x1c\x0d\xcf\xee\xf0\x49\x32\x8a\xcb\x7b\xd7\x1a\xd2\xbf\xc4\x9c\x12\x35\x16\xe1\x96\xc4\x70\xdf\x08\x47\xb3\x84\x8a\x45\xa2\xc6\x9b\xea\x03\xe2\xaf\xa7\xe5\x82\x05\xb6\x3b\x52\x38\x14\xfc\x8e\x24\x2f\x05\x9c\x69\xff\x7e\x40\xf9\x7b\xe8\x12\x5b\x70\xa5\x4f\xda\xf3\x5a\xea\xfa\xc7\x91\x14\xa7\xb4\x19\xe6\xbb\x9e\x70\xbf\x07\xad\xb5\x59\x81\x96\x00\xdc\x25\xe5\x1b\x4b\x70\x0d\x27\xca\x54\x72\xa0\xe7\xcb\xbf\xd1\x4e\x09\x9f\xaa\x3a\x72\x00\x2d\xa5\x38\xcb\xe4\x5d\x62\x1e\xf0\xd5\x25\x2b\xa2\x9d\x83\xf8\xb3\xec\x83\x89\xc9\xce\xb6\xc6\xb2\xe8\xd8\xa2\x0f"}, -{{0xa2,0xd8,0x8f,0x37,0xec,0xc2,0xb2,0xc0,0x5d,0xd6,0xcb,0x31,0x59,0x96,0x2c,0x5f,0x64,0x6a,0x98,0x15,0xb2,0xfb,0x37,0x79,0x1f,0xc7,0xb6,0x06,0xe2,0x91,0x3e,0xd5,},{0x58,0xdd,0x67,0xd7,0xa1,0x5d,0x4c,0xa0,0x34,0x1a,0x4c,0x86,0x95,0x66,0xca,0xd8,0xc4,0xee,0x16,0xe5,0x83,0xa1,0x0b,0x48,0x24,0x17,0x3b,0x08,0x29,0x0d,0x92,0xd1,},{0xcc,0xf2,0x40,0x0c,0xd6,0x73,0xe1,0xef,0xfd,0x20,0x16,0x1d,0x7b,0x68,0xa5,0xfb,0x87,0xc1,0xe9,0x9d,0x36,0x35,0xd7,0x8c,0x2d,0xa1,0xb5,0x09,0xfa,0xc3,0x33,0x46,0xc0,0x69,0x16,0x3a,0x6c,0x46,0xc7,0x82,0x6a,0x48,0xbb,0xbd,0x03,0xb0,0x5e,0x6e,0x23,0x51,0xfa,0x62,0xbf,0x89,0xbf,0x7c,0xcf,0x9a,0x90,0x24,0xbd,0x15,0x7d,0x07,},"\xd1\xb8\x7e\x9e\x88\x6d\xfb\xbd\xc8\xca\x8a\xb9\x01\x0e\xcf\x9b\xba\xf2\x3f\x72\xab\x3c\xbe\x76\x9d\xb1\xd4\x3c\x2a\x47\x4a\x81\x65\x1c\x46\x4e\x9f\xb9\x27\x34\x63\x46\x41\xc9\x48\x5a\x02\x39\xb3\x11\x07\x71\xe7\xf7\x5e\x05\x25\x2e\x4d\x8f\x4c\x0a\xa1\xba\x08\x62\x6d\x7e\x96\x31\x7c\x20\xac\xde\x2a\xd9\x9b\x23\xbd\xad\xfd\x6f\x17\x46\x8e\xb4\x02\xec\x5e\xef\xa5\x7b\x47\xca\xf9\x72\xb3\xdd\x21\xd8\x9f\x0e\x29\x89\xff\x87\xd5\x1e\xd2\xe2\xd6\x39\xc1\x64\x4e\x69\x8c\xbe\x02\x21\xb8\xe1\x79\xf3\xcf\xb0\x4a\x20\xcb\x24\x70\x21\x6a\x68\x82\xfb\x4f\xf7\x99\xe1\x15\x36\xcf\x64\x21\x9f\x0c\x07\x51\x76\xbc\x7c\xf0\xf6\xc5\xb7\x92\x5f\xcd\x61\x55"}, -{{0x42,0xaa,0xfd,0x0a,0xe2,0x6d,0xf1,0xe7,0xaa,0x02,0x76,0x86,0x0d,0x75,0x27,0x83,0xaf,0x97,0x28,0x04,0x39,0xbb,0x23,0xea,0xe4,0x6e,0x3f,0x84,0xca,0xac,0x78,0xde,},{0xda,0xa2,0x35,0x0a,0xdb,0x55,0xdb,0xa9,0xdf,0x7d,0x7a,0xf5,0x10,0x19,0x98,0xfe,0x51,0x5d,0x31,0x1c,0x3c,0xba,0x3e,0xea,0xb9,0x13,0x82,0x33,0x19,0x0c,0x3b,0x4e,},{0x11,0x61,0x43,0x65,0x0b,0x6c,0x13,0x3d,0x61,0x78,0x59,0xdb,0x24,0x29,0xc2,0x91,0x35,0x79,0x79,0x0b,0x21,0x97,0xd7,0xb7,0xb1,0xb4,0x96,0x2b,0x32,0x87,0x21,0x03,0x2c,0xee,0xca,0x58,0xb2,0xd5,0x64,0x39,0xe2,0x33,0xbb,0x84,0xdc,0x52,0x5e,0x28,0x4f,0xf8,0xdf,0x2b,0xde,0x1d,0xb4,0x98,0x6f,0xaf,0xd2,0x1b,0x3d,0x7d,0x6a,0x0a,},"\x72\x13\x1b\x80\xad\x59\x9b\x6f\x5f\xf6\x98\x54\x7d\x16\xe7\x49\x9d\x71\x27\x5e\x4e\x9b\x30\x52\x6a\x5a\xac\x0b\x0c\x8b\x14\xfa\x4a\x54\x0c\xfb\x11\x45\xfc\x00\x44\x18\xbc\xd3\x18\xc1\xa7\x0e\x62\x69\xa3\xfb\x69\xba\xed\x86\xf3\x63\xf5\xb8\xf9\x7f\x56\x9c\x20\xd4\xf4\x99\x0e\x7b\xb4\xd0\xc3\x99\x21\x26\x8d\x63\x6e\xd0\x55\x4b\xd6\x2a\xcf\xca\xcd\x3b\x8e\x03\x02\x17\xaa\xfa\xc3\x04\x4c\x03\x7e\x0f\x94\xda\x18\xc6\xb9\xa0\x93\x2c\x3c\x58\x75\xd3\xa9\x3f\xbd\xad\xcf\x67\x96\x4e\xec\x9e\xc2\xbe\x69\xb4\x8f\x02\x0f\x6c\x98\x74\xde\x5f\x8a\x51\x67\xb5\xee\x02\x4a\x2c\x2e\xfd\x0c\xdc\xd2\xac\xd8\xc1\xf7\x87\x81\x41\x41\xe3\x0b\x38\xb1\x63\x17\x5b"}, -{{0xb6,0x9c,0x33,0xb1,0x1b,0xa6,0x78,0x41,0xc3,0xd4,0xe6,0xf9,0x23,0x4e,0x35,0x37,0x0a,0x28,0xb4,0x76,0x62,0xac,0x56,0x0b,0x27,0xc0,0x78,0xb6,0x6a,0xb1,0xb0,0x21,},{0x9d,0xf6,0x8e,0x9a,0xcf,0x67,0x37,0x92,0x61,0x74,0x4d,0xb5,0xd1,0xe3,0x77,0x89,0x2f,0x2b,0x69,0x2e,0xd5,0xa3,0x8b,0x37,0x07,0x3c,0x04,0xde,0x5d,0x22,0x67,0x37,},{0x24,0x36,0x8f,0xee,0x5b,0xd8,0x48,0xb4,0xc6,0x61,0xa3,0xbe,0x4f,0x31,0x0c,0xfc,0x43,0x6e,0x79,0xec,0x4a,0x78,0x50,0x1b,0x81,0x09,0x5f,0xe5,0x16,0x14,0x23,0x1b,0x6c,0xa1,0xab,0x12,0x69,0x99,0x6a,0xd2,0xe9,0x8e,0x29,0x97,0x81,0xaf,0x8e,0x29,0x80,0x4b,0x24,0xfe,0x56,0x79,0xca,0x3b,0xa6,0x50,0xc5,0xc4,0xcc,0x58,0xce,0x01,},"\xf9\xea\x12\x6d\x3a\xb2\x19\x61\xaa\x24\x33\x90\x0a\x39\x82\xb8\x3e\x0e\xf8\x6d\x52\xd1\x34\x40\xaf\xa4\x81\x7f\x9b\x82\x2f\xb5\x82\xcc\x39\x32\xbf\x45\x0d\x46\x77\xc9\x18\x81\x81\xfe\x75\x26\xad\x6f\xe5\xab\xc6\x1d\x0a\xe7\x59\xf2\x15\x01\x3c\x0b\x2b\x41\x06\x4c\xb6\x27\x8b\xa7\xe3\x9e\x2f\x4c\x10\xd6\xcc\x96\x05\xb3\x86\x9e\x16\x9d\x7d\xa4\x2e\x88\xeb\x85\x78\x70\xfe\x61\x18\xbb\x02\xbc\x08\xc8\x05\x5f\x0c\x18\x9b\x62\xf7\x9f\xb1\x46\xb4\xc5\x43\xaa\x30\xcc\x0c\xd5\x7f\x03\x7e\x9e\xf7\xa6\x37\x11\xf6\x6e\x6f\x28\x78\x93\x17\x02\x20\x27\x02\x61\x42\x77\xd5\x13\xf0\x85\x0b\x75\x85\x49\x33\x6b\x30\xcf\x40\xab\x8b\xd4\x60\xe6\x0e\x12\xde\xed\x04"}, -{{0x7b,0x63,0x61,0x3f,0x6d,0xae,0x01,0xcd,0xcd,0x5e,0x6b,0x37,0x68,0x69,0x71,0xcd,0x8d,0x8a,0x99,0x54,0x2f,0x63,0x29,0xa1,0x28,0x54,0xa9,0xd8,0xff,0x81,0x05,0xac,},{0x72,0xec,0x43,0xfa,0xf3,0x4d,0x87,0x30,0x17,0x7d,0x1f,0x07,0x43,0xc7,0x4c,0x20,0xbf,0x72,0xc2,0x39,0x4b,0x8a,0x7d,0x47,0x1f,0xfe,0x2a,0x04,0xab,0x00,0x81,0x1c,},{0x76,0xf5,0x0b,0x2b,0x9c,0x2a,0xd9,0x7b,0xfb,0x94,0x99,0xee,0x41,0x92,0x8a,0xc0,0x72,0xda,0x5e,0x8b,0xc7,0x1d,0x02,0x12,0x55,0x09,0x42,0x33,0x2b,0x62,0xe7,0x0c,0x8b,0xfe,0x1c,0x72,0x25,0x42,0x39,0x46,0x88,0xde,0xcd,0x91,0x7a,0xec,0x8f,0x95,0x35,0x3e,0x1d,0x72,0x62,0x4b,0x70,0xeb,0xed,0x5d,0x17,0xf6,0xc5,0x49,0x77,0x02,},"\x18\x16\x48\x8f\x1f\xc8\x3e\x1e\xd5\x91\x16\x37\xdd\x42\xba\x20\x77\x65\x7d\xfe\x1a\xe4\x22\xad\x0a\xee\x59\xdf\x9d\xd5\x6a\x27\x63\xc2\xdd\x0e\xf6\x1a\x12\xbb\x82\x5b\x0d\xac\x1e\xda\x5f\xbb\x69\x1c\x5e\xd5\x8f\x3f\xb3\x25\x05\x0b\x45\x63\xa4\x04\x20\x99\x98\x2f\xff\xa5\xd6\xed\x74\x2d\x95\x82\x3d\xa8\xe1\x78\x7c\xf7\x46\xef\x63\xb3\xfb\xb0\xe8\x8a\x6c\x0b\xea\xe4\xf7\x31\x83\x66\x93\x6b\x49\x17\xf5\x07\x33\x60\x68\xb1\x94\x68\x09\x00\xa7\xbf\x4a\x6f\xb6\x9a\x5c\x38\x7b\x97\xe3\x1b\xc7\xf9\xbe\x53\xc2\xa8\x9e\x36\x51\xce\x1d\xe4\x1b\x10\xe9\x21\xb2\x06\xeb\xf3\x2e\x56\x21\xef\x80\x81\x61\x6d\xcd\x7a\x20\x59\x43\x7e\xfa\xd0\x14\xbb\x8e\x2c\x82\x21"}, -{{0x35,0x58,0xd3,0xa7,0x43,0x95,0xbd,0xcb,0xa5,0x60,0xe2,0xc4,0x5a,0x91,0x96,0x0c,0xec,0x6c,0xb3,0xed,0xbc,0xd3,0x0e,0x72,0x2f,0x7f,0x05,0x52,0x10,0xf3,0x7b,0x51,},{0x53,0x4f,0x43,0xeb,0xa4,0x03,0xa8,0x4f,0x25,0x96,0x7c,0x15,0x2d,0x93,0xa0,0x17,0x5e,0xc8,0x29,0x3e,0x6f,0x43,0x75,0x31,0x9e,0xad,0xf9,0x57,0x40,0x1f,0xbb,0xd2,},{0xb3,0x65,0xb5,0x56,0x1a,0x13,0xa5,0x45,0x17,0xcf,0x90,0xd8,0x8b,0x35,0xeb,0x09,0x67,0xd6,0xd5,0x84,0x14,0xb8,0xc1,0x54,0x7e,0x69,0x31,0x59,0xe0,0x13,0x78,0x56,0x36,0x54,0xc5,0x0f,0xb4,0x23,0x23,0xf0,0x9d,0xd7,0x8f,0xfe,0x28,0x05,0x6d,0xdf,0xa5,0x4f,0xeb,0xf4,0x48,0x91,0xe8,0xa7,0x41,0xb6,0xa1,0x68,0x7d,0x72,0x86,0x05,},"\xbe\x75\x44\x4f\x9c\xe6\xbe\x1d\x83\xaf\x62\x2a\x8c\x47\x8d\x51\x01\x27\xdb\x56\xf1\xde\x6e\xb8\xa5\x12\x65\x22\xb0\x9f\xdc\x6c\xa0\x86\x2c\xec\x0b\x8b\x2a\xaf\xa3\x1c\x17\xa2\xcc\x47\x7d\xa5\x33\xd2\x76\xa1\xae\x4f\x8e\x07\x59\xd6\xaf\xa0\xb1\x74\x11\xb5\x17\x0b\x52\xf2\x05\x47\xc7\x2f\x3e\x88\xd4\x8c\xb4\x56\xfe\x62\x5b\x62\xfe\xb0\xf8\x13\x17\xed\xf1\xec\x09\xec\xe5\x34\xb9\xf5\x00\xd4\xe1\xb1\xbd\xa2\xdb\x21\x98\x2a\xa9\x50\x94\x22\x6e\xe9\xf5\xb0\xa6\x5d\xa8\x3f\x91\x12\x1c\x96\xb3\xb4\x01\x0a\xe7\x82\x6c\x9e\x80\x63\x6c\xba\x00\xf7\x0c\x3c\x8a\x27\x9b\x01\xb9\x52\x94\xcb\x85\x0f\x91\x70\x9f\x43\x76\x66\x2a\x58\x0b\x15\xac\x29\x81\xaf\xe9\xf8\x54"}, -{{0xa3,0x5b,0x92,0xf2,0x44,0x06,0x3a,0x19,0xbb,0x5e,0x3e,0xd4,0xd6,0x99,0xed,0x20,0x69,0x60,0x71,0x16,0xd2,0xbd,0x08,0x11,0x3f,0x0d,0x83,0x73,0x61,0x3f,0x35,0xb7,},{0x7e,0xc9,0x36,0x01,0x86,0x4e,0xe4,0x99,0x5a,0x4f,0x7a,0xbc,0xd3,0xdf,0xc1,0x01,0xe9,0xe7,0xf3,0x69,0xe6,0x3d,0xe1,0xae,0x68,0xa0,0x7a,0xa7,0xf0,0x75,0xb3,0x29,},{0xa2,0x3d,0xbe,0x37,0x57,0xe4,0x78,0xdb,0xc8,0x4d,0x3d,0xb3,0xa9,0x33,0xb0,0x42,0x8c,0xed,0xb6,0xb0,0x1b,0x86,0xd8,0xd7,0x3f,0x39,0x59,0x87,0x8d,0xae,0x6f,0x05,0x88,0xf5,0x05,0xcd,0x4d,0x39,0xf2,0xab,0x46,0x77,0xb6,0x48,0x05,0xd6,0x29,0x65,0x2a,0x22,0x52,0x98,0x25,0xc3,0xa9,0x1d,0x04,0x37,0x49,0xfc,0x71,0xf0,0x37,0x06,},"\x65\xcd\x36\xda\xe0\x16\x8d\x69\x97\x4f\x95\xf0\x9d\xd9\xa5\x9d\xb7\x99\xf9\x11\xe1\xa1\x5b\x85\xa0\x08\x93\xb8\xc9\xa3\xd4\x8a\x2f\x58\xac\x12\x6b\xfa\xa0\xa6\x06\xc0\x5d\x94\x70\x1d\x27\x3a\xbf\x7d\x68\x81\x7f\x2c\x71\xb1\xc5\x41\x79\x5c\x4f\x60\x95\xe2\x6c\x9d\xff\x80\x3f\x03\x2f\x75\x66\x3f\xd1\x69\x8e\xdd\x97\xff\x3a\x0e\x72\xe1\xb7\xc9\x94\x8b\x08\xba\xcb\x5f\x7d\xe5\x02\xb2\xfe\xa6\x7c\xa2\xfe\xf1\x90\xd6\x0e\xae\x92\xd1\x51\x58\xda\x44\x4a\x49\xd2\xe9\xd5\xa5\x73\xe8\xe1\x77\xe8\xbb\xf7\xe6\xc4\x9f\x90\x71\x36\xe7\x1d\x2a\x66\xcb\x07\x63\x6d\x48\x76\x8f\xf4\x17\xc8\xbe\xcc\xf4\x32\x31\x81\xfe\xfb\x31\x24\xe4\x34\x04\x9e\xa4\x5d\xd5\x01\x9e\x40\xb4"}, -{{0x72,0xd4,0xa5,0x64,0xca,0x15,0x49,0x9b,0x5e,0x4e,0x75,0xd8,0xac,0x0f,0x28,0x21,0x7d,0x32,0x11,0x4a,0x0c,0x64,0x9a,0x7c,0x8e,0xaa,0xdd,0x0c,0xc7,0x8c,0x52,0x0b,},{0xc7,0x66,0xbd,0x73,0x83,0x7c,0x4f,0xaa,0x52,0x15,0x50,0x2f,0x1e,0xfc,0x90,0xc0,0x03,0xf7,0x11,0xbb,0xef,0x55,0x17,0x00,0x91,0x02,0x8a,0x34,0x49,0x34,0x08,0xa9,},{0x8f,0xc4,0xf1,0x79,0x33,0x0b,0x64,0x2d,0xd8,0x6c,0xa9,0x36,0x26,0x51,0xb8,0x3b,0x00,0x6d,0x83,0x75,0xcc,0xef,0x81,0x1d,0x3c,0x67,0x06,0xf9,0x15,0x94,0x65,0x1d,0xf2,0x76,0x99,0x53,0x72,0x30,0x46,0xcc,0xb9,0xbf,0xe6,0x6a,0x66,0x7e,0x0d,0x11,0xfc,0x3e,0xa2,0xd8,0x22,0x62,0x34,0xfd,0xd5,0x16,0x47,0x65,0x26,0x0f,0x7b,0x05,},"\x6c\x7e\x7b\x62\xeb\x24\x4a\x45\xd7\x84\x36\xe2\x97\x0d\xcd\x6c\x0f\x7d\xb8\x22\x97\xa8\x61\x40\xea\x58\xdd\x22\xc2\x19\x5a\xdb\xc9\x56\xd4\xc4\xec\x05\x35\x4b\x21\xef\xe2\x4c\xfc\xfe\x10\xe1\x76\x22\x36\x88\x48\x18\x0d\x2c\x46\x80\xcc\x21\x5e\x8c\xee\xa6\xcc\xe2\x22\x16\x1f\x1e\x09\x22\x39\x25\x3b\x97\x46\xf7\x88\x7d\xf2\x42\x5a\xb5\xa8\x80\xbd\xba\x98\x15\x3b\xe7\x86\xdc\x83\x8c\xbe\xca\x01\x6b\x1d\x06\x52\x4b\xd6\xbf\xba\x80\x9a\x8b\xb3\x7a\xda\xb1\x5d\x42\x41\x5f\x86\xec\x03\x58\x36\x5e\xa8\x7b\x81\x50\xb0\x54\x41\xd9\xd4\x98\x46\x87\x14\x85\xca\xae\x6d\xe3\x59\x73\x6c\x27\x18\x97\x36\xd8\xf1\x76\x5f\x3e\x5c\x5f\x6b\x92\x16\x83\x96\x39\x0b\xee\x94\xcf\xbd"}, -{{0x2e,0x5a,0xaa,0xb2,0x98,0xe6,0x6c,0x2d,0xc1,0xd7,0x7e,0xa7,0x42,0x1f,0xf8,0x95,0x25,0x5f,0x9d,0x90,0x0d,0xb0,0x45,0x0d,0x63,0xf9,0xf7,0x9c,0x1a,0x70,0x13,0xcf,},{0x03,0x81,0xf3,0xf1,0x90,0x45,0x71,0x9b,0x9e,0x8c,0xeb,0x56,0x2f,0x0e,0x96,0x5d,0xc0,0x7b,0x09,0xf3,0x71,0xa9,0x63,0xa2,0x81,0xc7,0x49,0xc2,0x53,0x2f,0x65,0x4a,},{0x7c,0x74,0x30,0x30,0x5b,0x36,0x1a,0x9e,0x35,0xb2,0x78,0x0c,0x4d,0x44,0x08,0x07,0x1b,0x21,0x30,0x93,0x1d,0x39,0x83,0x0e,0xc8,0xd3,0x13,0xaa,0xfb,0xc8,0x3a,0x65,0xda,0xe1,0x9c,0xb7,0x47,0xd9,0xd1,0xc4,0xce,0x3f,0x35,0x9c,0xc8,0x24,0xea,0x8c,0x92,0xf6,0x6a,0x42,0xb8,0x61,0x4e,0x78,0x48,0xb8,0x84,0xac,0x8a,0xa4,0xae,0x02,},"\x3d\xf0\xe5\x4c\x71\x1e\x31\x32\xd7\xae\x95\x3d\xeb\x7b\x66\x86\x9e\xe5\x31\xee\x40\xb6\x3c\xe6\x93\x20\x6c\xdb\x2f\x4b\xda\x0a\x25\x69\xe9\x13\xac\x3e\x65\x32\xc5\xd9\x64\x8e\xfd\x46\x27\x78\x0f\xb8\xa3\x1d\x10\x7e\x03\x3f\x05\x4d\x19\xed\x8b\x7c\x49\xdc\x40\x7d\x2e\x94\x9d\xe2\x5f\x99\x30\x72\x21\xd3\x58\x43\xf6\xd5\xeb\x7d\xe5\xcd\xf4\x1b\x91\xdb\xbf\x34\xcb\x6c\x9c\x53\x00\x21\x01\x4b\x56\xab\xc4\x4a\xc2\x30\x03\x13\x61\x56\x08\xa7\xb4\xa2\x35\xe9\x9c\x14\xce\xf8\x05\x08\x87\x03\x22\x09\x48\x8b\x9e\xae\xaa\x82\xc0\x94\x05\xfc\x75\xbe\xc9\x4d\xd4\x2d\x6f\xf1\xb5\x99\xa6\x3e\xe5\x74\x2f\x33\x64\x09\x3a\xc9\x2c\xab\xab\x30\x35\x82\x2a\xa8\x67\xae\x56\xdc\xc9\x9d"}, -{{0xb6,0x36,0xa0,0x24,0x48,0x00,0x35,0x43,0xdb,0x86,0x4b,0x40,0xb5,0xd8,0xd6,0xdd,0x9a,0xd6,0x11,0x62,0x4c,0x9b,0x0f,0xc6,0x89,0x0c,0x51,0xea,0x55,0x92,0xc7,0x90,},{0x1e,0xf3,0x60,0x49,0x59,0x68,0xe5,0x6e,0x6d,0x3f,0xe7,0x40,0xb1,0xc8,0x4c,0x4e,0x44,0x90,0xed,0x68,0x2d,0xeb,0x43,0x05,0xaf,0xd5,0x96,0xef,0xb2,0x80,0x22,0x3b,},{0xd4,0xba,0x80,0x30,0x0d,0x5c,0xb5,0x13,0x53,0xc0,0x3f,0x28,0xc4,0x4f,0xd0,0xa4,0x24,0xff,0xe1,0xe4,0x0d,0x78,0xed,0x7b,0xb1,0x13,0x3e,0x8f,0xe4,0xe1,0x87,0x50,0x52,0x93,0xb2,0x0a,0x39,0x1d,0xa9,0x62,0xc6,0xa8,0xac,0x0a,0xce,0xc9,0xc6,0x72,0x26,0xaf,0x3b,0x61,0x95,0xda,0xbe,0x39,0xb3,0x66,0x22,0x94,0xda,0x3e,0x0e,0x09,},"\x4a\xa8\x5a\xac\x25\x03\x4f\x61\x4e\xd4\x4f\x7a\xdc\xdb\xee\xec\x25\xfc\xc2\xa9\xee\xa3\x2a\xb6\xa8\x69\x95\x06\xf7\xa1\xca\xd3\xbc\x89\x2e\x9d\xce\x93\x4e\x75\xb0\xa8\xcd\x14\x64\x2b\x77\x85\x99\x28\x6c\xfd\x8f\x50\xa9\xe4\xf2\xed\xf9\xf9\xd6\x29\x1a\x2e\x29\x79\xcf\x18\x06\xb9\x3e\xd8\xc9\xa7\x8f\xae\x19\x9b\x28\x54\xa0\x3e\xc4\x06\xab\x3f\x72\x08\x35\xee\x26\x3f\xbb\xc9\x1c\xb4\xef\x07\x58\xd7\x75\xfc\x78\x4c\x7d\x5b\x25\x1a\xc8\x93\x79\x19\xa9\xe6\x7b\xe8\x8c\x9e\x44\xcf\x2e\xc7\xf5\x60\x26\x9a\xa0\xf1\x11\x3d\x91\xb8\x44\x01\xdb\x15\xa3\xc4\x8c\x7d\xac\xff\x49\x39\xee\x01\xba\xbb\x98\x2f\xb9\x56\x25\xc6\xc3\xad\x78\x74\x90\x60\x55\x1b\xfd\xe8\xcc\xe4\xfb\x8a\x29"}, -{{0x5c,0xa0,0x54,0x3c,0x71,0xf5,0x68,0xa0,0x0e,0xed,0xf5,0x0a,0x95,0x20,0xf4,0xc1,0x5b,0x52,0x6e,0x3f,0xb0,0xda,0x81,0x6c,0x29,0xea,0x3d,0x50,0xb2,0xf6,0x2a,0x12,},{0xd4,0xa2,0x93,0x3c,0xe1,0x94,0x54,0xe3,0x31,0xb5,0x28,0x01,0x00,0x20,0x9a,0x6c,0xe8,0xe5,0x69,0xf9,0x93,0xc2,0xac,0xab,0x51,0xdb,0xe8,0x64,0xc5,0xcb,0x25,0x63,},{0x43,0x68,0x23,0xee,0xff,0x3e,0xdc,0xe5,0xd8,0x58,0x7d,0x68,0xe5,0x47,0x3e,0xf3,0xd8,0xdc,0x94,0x65,0xb5,0x58,0xb6,0xe8,0xe7,0xcd,0x31,0x37,0xec,0xcc,0x80,0xb4,0xc4,0xe8,0x06,0xed,0xf1,0x36,0x19,0xd8,0xe7,0x17,0xe6,0x9f,0x48,0xd7,0x06,0x1b,0x68,0xde,0x02,0xc8,0x20,0x9b,0xe1,0xf7,0xac,0x26,0xba,0x8e,0xdf,0x60,0x6d,0x02,},"\x4e\xf8\x49\x69\x78\xd2\x8c\x10\xab\xd5\x4a\x26\x35\x6e\xe5\x59\x21\xce\xb3\x50\xdd\x4b\x74\x2c\x41\x61\xfb\xeb\xa8\xa1\x60\x1f\x8a\xd0\x48\x4b\x21\xa8\xcf\x5a\x29\x4f\xac\x00\xec\x8a\x6f\x59\xe3\x36\x2e\x47\xbf\xae\x1e\x28\xa2\xe6\xd0\x17\xc5\xca\xa7\x5f\xb0\xf4\x84\x82\x80\x80\x37\xca\x21\x47\x69\x54\xd7\x78\xff\x1a\x05\x86\xda\x3e\xf6\x9d\x6c\xef\x6d\x2d\x8d\xf4\xae\x7a\x85\x44\x2a\x1e\x46\xc9\x98\xcf\x40\x7a\x6a\xd4\xc5\x46\x3a\x43\xc2\x48\xf3\xb6\x93\x7f\xdb\xc8\x45\xb6\x0c\x6d\x85\xe0\x56\x3c\xc1\x6b\xa9\x67\x5d\x36\x4f\x52\x5f\x66\x9a\xaa\xc9\x5f\x42\x8b\xb5\x82\x05\x09\x9f\x9e\x4a\x6d\xbb\xd0\x15\x1f\xb6\x5b\xab\xe1\x23\xe5\x39\x3a\xd6\x40\x26\x93\x5c\xb4\x88\xaa"}, -{{0x5f,0x87,0x11,0x7d,0xa9,0xbb,0xb6,0x09,0x1c,0x94,0xda,0x6b,0x23,0x0b,0x7d,0x8f,0x6d,0xe0,0xed,0x2a,0x07,0x64,0x13,0xb9,0x2e,0xac,0xdc,0x43,0xab,0xbc,0x68,0x97,},{0xaa,0x78,0x6a,0x14,0x62,0x26,0x83,0x2a,0xa7,0x3c,0x43,0x4b,0x0e,0xdc,0x2d,0x41,0xd2,0x55,0x8f,0x82,0x0a,0xb8,0xf8,0x7e,0x09,0xe6,0xcd,0xa9,0x10,0x72,0xb9,0xb6,},{0x0f,0x19,0xe6,0xea,0x0c,0x05,0xf3,0x81,0x85,0xc0,0x1c,0x2d,0x64,0x77,0x99,0x5d,0xaf,0x50,0x65,0xba,0x9d,0x80,0x17,0x3f,0xa6,0xbb,0x23,0xa7,0x74,0xdc,0x88,0xb3,0xaa,0xe8,0x79,0xd8,0xa6,0x24,0x71,0xd2,0xd3,0x04,0xcc,0x3d,0xc6,0x62,0x78,0xa7,0xab,0xcb,0x0b,0xb0,0x77,0x1c,0xd2,0x78,0xe1,0x1e,0x7b,0x93,0x2e,0x9f,0x9b,0x0f,},"\x22\x97\xc4\x0a\x2e\x83\x65\xba\xe4\xc5\xf0\x63\x0c\x50\xb1\x3b\xdd\x9a\xd9\x77\x0a\x5d\x9a\x94\x51\xd0\x08\x74\xb0\x23\xd2\x5e\xcd\x46\x8b\x96\x57\x1b\x2f\x16\xdc\xb1\xb0\xd3\xd7\x56\xc1\xf0\x44\xfc\xdd\xd1\xc5\x1f\x27\x72\x7a\x03\x69\xc9\xcf\x25\xbd\x6a\xa5\x95\x51\xb5\xb0\x7c\xf8\xf8\x07\xd9\x2b\x15\x91\x98\x63\x97\x04\x74\x0f\xe6\xed\xa0\xf2\x6d\xba\x7e\x75\xd4\x53\x0b\x28\x00\xf0\x3f\xb6\xaa\x67\x7d\x84\xdf\x75\xd6\x8d\x4f\xbb\x64\xad\x21\x00\x1e\x3f\xc8\x7b\x60\x9b\x9c\x25\x1e\x8c\xcb\x12\xbb\xca\x92\x74\x47\xe2\x05\x4e\x07\x68\x8e\xb8\xa2\x05\x21\xa5\x22\x49\xe7\xb9\x43\xbe\xd6\x0e\x6a\x93\xc0\x1e\x3e\xb6\x21\xf0\x46\x0c\x18\xa6\x90\xb6\xf6\xb6\x6e\xdc\x6e\x87\x43\xa6"}, -{{0xb5,0x3a,0x64,0x4c,0x92,0xba,0x2d,0xc7,0x10,0x8b,0x16,0x83,0x3f,0x09,0xad,0x59,0x17,0x84,0x64,0x37,0x22,0x5a,0x77,0x3d,0x32,0xd7,0x9c,0x97,0x73,0x3c,0x0a,0x58,},{0x51,0x58,0x18,0xc6,0x9c,0x0e,0x0a,0x17,0x06,0xb0,0x41,0x43,0x84,0x2f,0x3e,0x9e,0x27,0x14,0x48,0xfb,0xaf,0x3a,0x89,0x91,0x19,0xc3,0x2f,0x42,0x56,0x6f,0xfd,0x33,},{0x13,0xd2,0xcb,0xac,0x79,0x76,0xad,0x27,0xf0,0xbf,0x66,0x9a,0xd5,0x88,0xef,0xb2,0xc9,0x1b,0xab,0x85,0x07,0xd5,0x7f,0xb1,0x6b,0xfe,0xa9,0xca,0xff,0x2b,0x09,0x64,0xe7,0x56,0x25,0xc4,0xd8,0x08,0xd7,0xbb,0xb7,0x8c,0x5b,0x46,0x4e,0xdf,0xfe,0x49,0x49,0xec,0xfb,0xc8,0xb9,0x5f,0xf6,0xfd,0xb1,0xbd,0xca,0x27,0x42,0x06,0x81,0x00,},"\x13\x03\x6d\xaa\xee\x45\xfc\xfd\xe0\xc5\x3e\x06\xd0\x5a\xa9\xc0\x1e\xa9\x4a\x67\xe8\x6c\x6c\x53\x8c\xcb\x28\x3b\x36\x8d\xaf\x70\x78\xd3\xfb\xab\x58\x0c\x76\xec\xf8\x2b\x4e\x96\x60\xf0\x68\xdc\xbb\x50\x0b\x80\x59\x50\x17\xc5\xbe\x3c\x44\x8f\xbd\x8a\x17\xd9\x7c\x56\x43\x19\x78\x90\xe1\x67\xb3\x53\x45\xbf\x65\xe7\x5b\x82\xc8\xd6\x52\x29\xf2\xf6\x0a\xae\x27\x72\x58\x1b\xc9\x9c\x49\xd4\x16\xbc\x3d\x78\x74\x6e\xf8\x30\xf1\xaf\x94\x4f\x4a\x67\x15\xab\x4f\xfb\x01\x59\x1b\xac\x28\x57\xf1\xa9\xc9\xd1\x70\x08\x88\x78\x00\x06\xa3\x16\x07\x33\x8f\x7a\xf7\xbe\xdf\x6e\xfe\x0b\x57\x29\x9a\xc9\x15\x52\x6f\xe5\xe1\xe1\x01\x29\x87\x08\xc6\xe6\x1b\x84\x22\x0a\xfe\x95\xb5\x3f\x89\x59\x87\x45\x61\x52"}, -{{0xd2,0x7c,0x9e,0xaf,0xcf,0x88,0x15,0x19,0x90,0xbb,0x5b,0x2f,0xa8,0x44,0x3e,0x70,0x9b,0x5f,0xd8,0xd7,0x8d,0x23,0x38,0x03,0x32,0x2d,0xc8,0x6d,0x93,0xd9,0x32,0x95,},{0x08,0xe0,0xef,0xf5,0x29,0x77,0x67,0x14,0x68,0x61,0x96,0xd8,0x17,0xfd,0xf7,0x1e,0xb5,0xb6,0xe8,0x32,0x65,0x16,0xef,0x48,0x9b,0xfe,0x18,0x6a,0xc5,0xc5,0xbf,0x6d,},{0xc2,0x54,0xe3,0x71,0x44,0x56,0x33,0x13,0x74,0x42,0xee,0xfe,0x40,0xad,0x4a,0x82,0xe6,0x9b,0x1e,0xbf,0x48,0xa6,0x85,0xa2,0xbc,0x6f,0xfb,0xac,0x12,0x6d,0x22,0x84,0x87,0xb2,0xe3,0x53,0x7c,0x97,0xef,0x74,0x10,0x34,0x20,0x91,0x96,0x2e,0x50,0xc0,0xcb,0x85,0xde,0x7b,0x39,0xce,0xb4,0x1a,0xc4,0x07,0x8d,0x40,0xf3,0x40,0x71,0x06,},"\x77\xc3\x5b\xda\x32\xa5\x96\x7d\x8b\x30\x2f\xa7\xa4\x75\x83\xce\xab\x89\xc9\xa6\x09\xa6\x67\xb7\x53\x15\x5f\xa6\x99\x6f\x86\x31\xd0\xeb\xed\xfe\x0a\xc3\x64\xc7\x7e\x85\xba\x37\x31\x1f\x0d\xe5\x7a\x0d\xc2\xc1\xe9\xe4\x00\xd5\x8b\x42\x4a\x32\x2e\x1d\x57\x71\xe0\xa9\xfd\x95\x02\xad\x02\x32\xce\x54\x4f\x07\xd8\xc6\x6e\x7c\x31\x47\xf8\x60\x7a\xc6\x18\x9b\xb6\x90\x66\xf2\xfa\xd6\x31\x18\x5f\x45\x7f\x46\x7e\xba\x33\x22\x8e\xcc\x40\xe8\x94\xa7\x7b\x57\x16\x98\xa9\xbf\xac\x84\x1a\x54\xea\xc5\x21\x9d\xa9\x9c\x6a\x91\x25\xc4\x69\xa2\x2f\xe8\x1f\x3b\x95\x14\x33\x89\x6f\x19\xce\x39\xb3\x73\xfd\x7e\x5c\x7b\x65\x0a\x5e\xf2\x36\x5a\xe7\x51\x0b\x0d\xa5\xe4\x9d\x7c\x07\x07\x3c\xf1\x66\xa9\x83\x87\xe8"}, -{{0x70,0x21,0x3d,0x3a,0x79,0xc6,0x5d,0x6d,0xbb,0xa5,0x42,0xa3,0x67,0x96,0x35,0x00,0x3a,0x68,0x2a,0xf5,0xfa,0x58,0xde,0x6b,0x0d,0x65,0xbf,0xa2,0x41,0x84,0x90,0x1c,},{0x44,0x02,0xfb,0x92,0xcc,0x12,0x49,0xdd,0x1a,0xe1,0x69,0x0f,0x03,0xb3,0xec,0x4f,0x1e,0x9b,0xda,0xb0,0xde,0x5b,0xfd,0x28,0x9f,0x10,0x29,0x68,0x30,0xfd,0x40,0x3e,},{0x5b,0x6c,0xe2,0x77,0x4d,0x40,0x0e,0xce,0xa8,0xa8,0x08,0xf5,0xfd,0x0a,0x79,0x7f,0xfc,0x61,0x16,0x75,0x23,0x76,0xcd,0x7b,0xfa,0x3b,0x2c,0xca,0x3a,0x84,0xd5,0x59,0x3f,0x5c,0x03,0xad,0x3e,0xec,0x1d,0x89,0x53,0x22,0x75,0xc4,0x7b,0x7c,0xe2,0xa0,0xe9,0xc5,0x9c,0xc4,0x02,0x8a,0x8a,0x65,0xe5,0xbb,0x90,0x97,0xea,0x71,0xc2,0x08,},"\xcd\x6e\x1c\xd9\xc9\x0f\x56\x6d\xe0\x43\xd7\x5d\x72\x44\xec\xfd\xb3\x8e\x8b\xde\x2f\x9a\x6c\xd5\xa4\xfd\xac\x72\xb5\xed\xe6\xaf\x62\xd9\x81\x91\x8c\x5e\x61\x0a\x38\x78\x92\x74\xfa\x10\xe5\x27\xf8\x5f\xad\x20\x9b\x76\xca\x1c\x28\x1a\xd5\x89\x0f\x9c\x96\xd3\x5d\xe5\x22\xf1\xdd\xcc\xb5\x39\xb8\x79\x8a\x00\x67\xac\xdd\x45\xb6\xe3\x44\xa5\xd9\xa9\x77\x31\xf5\x45\xff\xa4\xb1\x7b\x87\x5c\x67\xb4\x8e\x9d\x4c\x4b\xa7\x2c\x98\xa4\x50\x55\x83\xfd\xbf\x1e\x12\xf2\x2b\x5a\x7a\x49\x47\x46\xcc\x9b\x6c\x1b\x57\x19\x06\xc6\x7f\xcc\x88\x3a\x9c\x15\xa3\x80\x68\x75\xb6\x59\xe5\x81\x6b\x42\x76\xc3\x19\x0e\x25\xcc\x1a\xc3\xde\x47\xbf\x99\xc4\x99\x65\x38\x8f\x54\xf3\xef\x8e\xb5\x69\x90\x6c\x60\x08\xe5\xfb\xbd"}, -{{0x5d,0x54,0x0b,0x3b,0x14,0xf0,0xc0,0x17,0x5c,0x04,0x7e,0xaf,0x02,0x6c,0x90,0x70,0x65,0x9e,0xf1,0x3e,0x9d,0x28,0xe0,0xc5,0xc5,0x16,0xa4,0x28,0x26,0x9b,0x14,0xeb,},{0x1d,0x2d,0x4d,0x55,0x1a,0x57,0xc6,0xfb,0x2b,0x04,0x18,0x10,0x49,0xd4,0x03,0x9d,0x57,0x5c,0xf8,0x0c,0x0b,0xc6,0xec,0x70,0x33,0x06,0x7f,0x27,0x30,0x93,0x44,0xde,},{0x32,0x52,0x7d,0xa7,0x55,0x31,0x28,0x89,0x93,0x5d,0xd5,0xee,0x91,0xb1,0xbb,0x11,0x7a,0x5d,0x37,0x7d,0xd2,0x3e,0xf5,0xb7,0xe1,0x5b,0xaf,0xfa,0xe9,0xa5,0x43,0x91,0xa3,0xfd,0x23,0x4b,0xdc,0xe0,0x73,0xe0,0x98,0xc5,0x8d,0x05,0xbf,0x19,0x5b,0x4c,0x3c,0xc6,0x39,0x72,0x38,0x3b,0xa4,0xb5,0x10,0x72,0x97,0x1a,0xeb,0xcb,0x62,0x0d,},"\xe4\xc9\xe8\x70\x68\x98\xca\xd4\xac\x68\xd7\x3c\x13\x0e\xfa\x04\xa5\x4f\x8c\xa2\x59\x19\xea\x6b\xfa\xa5\x4c\x8c\x72\x0c\xed\x85\x4c\x5e\x95\x09\x10\x2c\x7b\x88\x5a\xed\xdf\xfb\xd1\xb7\xf2\xc5\x92\x25\x83\x67\x7a\xc9\xee\xa9\xa1\x08\xc7\xe8\x3e\x88\x71\xae\xd5\xa0\x84\xf5\x44\x0b\x0f\x39\x1a\xd7\xff\xc6\xba\xb4\x57\x4a\xf1\xb9\x67\x70\xf4\x37\x0e\x8e\x98\x8e\x85\xec\xb1\xa8\xd6\x03\x4f\xc3\xd7\xf4\x9f\x74\x22\x02\x3b\x9d\xab\x5d\x0c\x16\xbe\xab\x5f\x5d\x37\xb0\xa4\xd7\xde\x19\x7a\xd8\x7c\xd4\xff\x8c\xe7\x8e\xb1\x2e\x1d\xaf\x73\x9d\x8b\x47\xab\x38\x0a\xbe\x90\x93\x35\x6d\xb5\xb5\x97\x17\x75\x1a\x49\xe1\x94\x84\x72\xfd\xac\xc2\x59\xff\xff\xc8\xc1\xdb\xae\x59\x26\x07\xd4\xec\x71\xcc\x6a\x8f\x6b"}, -{{0xca,0x41,0x76,0x9c,0xaf,0x17,0x17,0xb4,0xe4,0x5c,0x93,0xc1,0x21,0xdc,0x82,0xa5,0x34,0xfb,0xc6,0xec,0x09,0x86,0x66,0x2c,0x32,0x22,0xd7,0x14,0x92,0xbd,0x11,0x76,},{0xaf,0x3f,0x89,0xf6,0x18,0x7d,0xbc,0xf9,0x21,0x77,0x50,0xc6,0x7e,0xf8,0x9e,0xd4,0x7b,0x03,0x9f,0x9e,0xb0,0x62,0xff,0xec,0x9d,0xf6,0x4a,0xb5,0x2b,0x0b,0x45,0xcb,},{0x5c,0xda,0x87,0x2f,0x7e,0xd6,0xd7,0xc9,0x02,0x18,0xac,0x10,0xbe,0xe8,0xe2,0x14,0xf3,0xb3,0x4d,0x15,0xd2,0x5c,0x39,0x25,0x5e,0xc9,0xe6,0xb0,0x17,0x7a,0xa3,0xcb,0x73,0x68,0xd1,0x1c,0xb8,0xed,0x6f,0xf5,0xcf,0x0c,0x04,0x28,0x1d,0x06,0xbc,0x42,0x72,0xb8,0xbc,0x09,0xc2,0x3f,0x6f,0x4c,0xd5,0xa8,0x10,0xdd,0xc7,0xb9,0xc1,0x03,},"\x9d\xe8\x47\x6c\x58\x13\x84\x8a\xb1\x45\x15\x37\x84\x1c\xc1\x78\x00\x21\x81\xa2\x18\x2a\xf3\x05\xb1\x2e\x5f\x7c\x3b\x1d\x56\xb2\x2c\xf4\x6a\xe6\x27\x6d\x18\x26\xec\x0a\x8c\x9a\x7d\x9f\x68\x08\x3b\x72\x25\xbb\xfa\xef\xce\x82\xb3\xb6\x45\x94\x05\x2a\x77\x00\xf3\x09\x23\x3a\x79\xff\xfd\xfc\xcc\x5c\x21\x40\x0c\x91\xcc\x0e\x41\x8d\x51\x41\xd4\x86\xb5\x21\x99\x01\xd6\xdd\x24\x47\xc1\xf7\xb7\xcf\x5a\x08\x79\xe7\x0e\x1d\xd6\x58\xd0\xf2\xec\xf3\x1e\xbe\xee\x11\xa5\xc7\x44\x40\xc6\x3b\x9d\x8b\x45\x31\x8c\x34\x65\xd7\xff\x03\x36\x5e\xdd\x03\x85\xed\xf8\x0d\x4f\xde\xd5\x1f\x0f\x75\x33\xee\x40\x99\xf1\x9e\x93\xbc\x9d\x08\xda\xdc\xd1\x34\x85\xdb\x23\x95\x22\xff\xc8\x1e\x2c\x05\x1f\x87\x96\xd6\x2e\x97\x9f\xcf"}, -{{0xfe,0xdd,0x63,0xff,0xd4,0xcf,0xbf,0x61,0x88,0x94,0x96,0x2e,0x12,0x1a,0x90,0x25,0xee,0xa3,0x18,0xa8,0x0a,0x1a,0xdf,0x16,0x9d,0x64,0x90,0x44,0x5d,0x2e,0x02,0xa0,},{0x54,0x2f,0x22,0x44,0xbd,0xb7,0xd8,0x4b,0x87,0xe6,0x28,0xa8,0xe6,0xa1,0x2f,0x17,0xbf,0x74,0xa9,0xa6,0xd0,0xea,0x46,0xc5,0x95,0xdb,0xfd,0xc6,0x80,0xc0,0x4b,0x26,},{0xed,0x59,0xd9,0xe2,0x3d,0xec,0x34,0x94,0xb0,0xfb,0xc5,0xd1,0x0c,0xd0,0x2b,0xab,0x86,0xb3,0xeb,0x35,0xab,0xbf,0x9e,0x4d,0x4a,0x92,0x64,0x79,0xf1,0x34,0x58,0x3a,0x44,0xce,0x72,0xdc,0x41,0x22,0xac,0xa3,0x77,0xa4,0x07,0x2b,0x71,0x56,0x46,0x2b,0x74,0xe8,0xdf,0x46,0xb6,0x86,0x69,0x86,0x36,0x83,0x6e,0xf2,0x03,0x17,0x9c,0x07,},"\x2e\x2a\xe5\x84\x64\x1b\xe0\x3d\xd4\x8f\x9c\x61\x80\x77\xae\xaa\x18\x21\x2a\x42\x41\xf0\xc0\x19\x4e\xd2\x3e\x37\x0d\x74\x1a\x3a\xe1\x1a\x5f\xec\x3b\x04\x0c\x16\xea\xfa\x4a\xc8\xd1\x8a\xba\xa7\xce\x8f\x28\x69\x67\x33\x71\x89\xf0\x49\x5f\xfd\xd6\x19\x95\xcd\xe3\x1d\xd8\xdf\xc3\xdf\x57\x00\xb5\x7a\x7a\x29\x98\x0e\x9c\x82\x3f\xee\x85\xd6\x14\x51\x17\x67\x29\xe7\x27\x87\xc6\x10\x9b\x47\x35\x9b\x93\xdf\xd6\x2e\x1e\x5a\x2d\x64\x2c\x05\x72\x42\xda\xe5\x00\xa9\x4c\xa1\xa9\x3b\xc5\x7b\xe1\xad\xe7\x6f\xe4\x50\x1c\x0f\x63\x77\xed\x0e\x92\x46\x17\x9a\xec\xdd\x99\x46\xb6\x71\xe8\x19\x0e\x1e\xd2\x3f\x96\x6e\x96\x40\x9b\x94\x82\x22\xd8\xea\x58\x39\xde\x90\x4f\xc5\x13\x48\x07\x3b\x8f\x40\xed\xbd\x9b\x4a\x4b\x22\x75"}, -{{0x38,0xf2,0x18,0x4e,0xaa,0x55,0x36,0x56,0xee,0x29,0x02,0x70,0x6b,0xce,0xc4,0xac,0xb5,0xaf,0x25,0x15,0x7c,0xa0,0xf6,0xa2,0xd4,0x8d,0xe8,0x52,0x85,0xfa,0x3b,0xc0,},{0x7f,0xf0,0x3f,0xb4,0xc8,0x2e,0x9c,0x15,0xd6,0x59,0xdf,0x42,0x4b,0x3e,0x73,0xed,0x1d,0x78,0x00,0x6f,0x3e,0x0b,0x79,0xeb,0x64,0xd9,0x8c,0x13,0xae,0xc6,0xba,0x37,},{0x4a,0x64,0x13,0xc2,0xc8,0x7f,0x2b,0x38,0x56,0xa8,0xde,0xcb,0xce,0x49,0x3a,0xde,0xae,0x0c,0x69,0xc9,0x41,0x34,0x70,0x7f,0xb0,0xf1,0x8f,0x30,0x49,0xfd,0x3e,0x3d,0x05,0x1a,0xbd,0xb9,0xd4,0xbe,0xe2,0x53,0xc6,0x10,0x7c,0x02,0xd5,0x7a,0xd7,0xcc,0x9f,0x31,0x01,0xdb,0x66,0x0a,0xfa,0xc2,0xb7,0x98,0x19,0x38,0xe9,0x56,0x4f,0x01,},"\xc2\xdf\x77\xc9\xe4\x79\xf6\x19\x83\xb6\xc7\x48\x3e\xf9\x3f\xb8\x5a\x10\x3b\x21\x39\x23\x92\x65\x23\x06\x5e\xbf\xf2\x25\x7e\x85\x42\x7e\x05\xcd\xc2\x75\x82\xef\x6c\x16\xbe\x35\x3a\x3b\x25\x03\x72\xd6\x37\x0e\xec\xb6\xc8\x96\x29\x17\xeb\x65\x6f\x26\x41\x69\x01\x89\xd1\x72\xa1\x11\x05\x15\x57\xab\xc2\x49\x4e\x32\xca\xb6\x5e\xd0\x63\x3a\xff\xe9\x24\x08\xb5\x5c\x4e\xd8\xaf\x65\xe2\xc5\xe7\xaa\xb8\x87\xa3\xcc\x8d\x28\xc5\x2e\x9e\x13\x36\xd0\xb7\xbb\x3f\xe2\xcd\x84\x3e\x7f\xa1\x68\x03\x42\xf8\xa4\xaa\xfa\x02\xc4\xab\x25\x2f\x08\xc3\xd4\x6d\x5f\x00\xfd\x01\x48\x42\x63\xee\x63\x52\x84\xf6\xdb\x26\xd6\x29\x8d\xe5\xb0\xdd\x23\x8d\xa4\x0a\x8d\x2a\x93\x37\x6d\xa0\x30\x27\x83\xa0\xe3\xbe\x23\xd9\xe7\xf9\x90\xd2\x5b"}, -{{0x8b,0xfc,0xa4,0x84,0x62,0xd2,0x53,0x6f,0x74,0xb8,0x4f,0x6a,0xf5,0x9f,0x5d,0x85,0x82,0xff,0x8f,0x7e,0xc2,0x87,0x45,0xd6,0x72,0xe7,0x2e,0xb7,0x2e,0x79,0xd3,0xe9,},{0x9d,0x10,0xd2,0x75,0xc3,0xd3,0xfe,0x45,0x9f,0x7f,0xe2,0x90,0x1b,0xce,0x38,0x91,0x91,0xcc,0x84,0x83,0xc0,0xf5,0x11,0x40,0xd9,0xc6,0x2b,0x08,0xfa,0xde,0x81,0xbb,},{0x44,0xd7,0x7e,0x43,0x9e,0xf6,0xca,0x5e,0xb9,0x40,0xc6,0x0f,0xf8,0x73,0x2d,0xdc,0x16,0x26,0x9e,0xa0,0x23,0xbb,0x26,0x13,0xbd,0x44,0x7e,0xba,0x7f,0xd6,0x98,0x51,0x22,0x6c,0x48,0x19,0xce,0x8d,0x44,0x98,0x5a,0x49,0xf3,0xf4,0x1a,0xc7,0xaf,0x33,0xc4,0x7f,0xfe,0x5f,0x89,0x30,0x4a,0x32,0x56,0xe4,0x45,0xf8,0xd6,0x86,0xe3,0x07,},"\x81\xee\x4c\xb9\xc4\x5d\xa6\x91\xda\xcd\x7d\xd0\x9a\xff\x59\x73\x72\x67\xbb\x55\xc3\xad\xe1\xba\x32\xc1\x7b\x7d\x0d\x2d\x0c\x60\x79\xc3\x9d\x5f\xd5\xb2\x9b\xa5\xf9\xc1\x76\x20\x97\x70\x98\x43\xee\xe5\x61\x2b\xd2\x0b\xc8\x18\x5b\xf6\x4d\x5c\x93\x41\x84\xe1\x36\x24\xe6\xf8\x77\xa2\xa5\xdd\xa1\x5c\x0d\xf6\x2a\xfb\xb9\x70\x57\xcc\x91\xca\xc9\xa1\x84\x06\xa0\xe0\x10\x9c\xc3\x9b\x2e\x3f\x81\x2e\x22\x7a\x40\x62\xd5\xef\x81\xc9\x2c\x22\xa7\xdc\x79\x7c\x84\x5d\x71\xeb\x6e\xa9\xe4\x2e\xc8\x41\x7f\xba\x90\xa9\x6d\x2b\xb1\x43\x94\x18\x33\x0b\x4b\xb2\xf9\x9c\x6d\x63\xd3\x04\xa0\xe5\x06\xdc\xa9\x65\x3e\x5d\xe0\xdd\x56\xe3\x09\xdb\x1a\x76\xa0\xfa\xab\xab\x16\x37\x74\xf0\x00\x08\x8c\xef\x3d\x1b\x7a\x6c\xf6\x61\xd2\xe1\xd9"}, -{{0xd7,0x48,0x0d,0x42,0x72,0xbc,0xb1,0x55,0x7b,0x1b,0xbe,0xe0,0x49,0x15,0xc1,0x26,0xa5,0x2c,0xa6,0xd6,0xa8,0xbb,0x53,0x14,0xa0,0xe1,0xa5,0x2b,0x59,0xbf,0xc9,0x9c,},{0x99,0xc8,0x39,0xd3,0x6d,0x8f,0x5b,0x86,0x52,0x61,0x8e,0xd7,0xb0,0xfe,0x9e,0xc3,0xd9,0x4e,0xff,0xf4,0xc4,0x53,0xc5,0x40,0x63,0x14,0x76,0xa5,0x97,0x9b,0xbb,0xe0,},{0xe0,0x4d,0xc8,0x44,0x2d,0x35,0x21,0x73,0xe9,0x31,0x81,0x8e,0x29,0x08,0x58,0xde,0x85,0x68,0x8a,0x46,0x49,0xea,0x3e,0x3c,0x3a,0xe7,0x4e,0xda,0xa5,0x4a,0xd0,0x1b,0x64,0x62,0x2a,0xd8,0xa0,0x90,0xb6,0xad,0x60,0xad,0xfd,0x01,0x88,0x18,0x82,0x82,0x8d,0x39,0x07,0x8b,0xb5,0xb2,0x71,0x4f,0xd3,0xea,0x83,0x97,0xa3,0x42,0xfd,0x04,},"\x61\x5c\xc1\x9f\x94\x20\x17\x36\x5b\xa8\xbf\xa2\x56\xce\xcc\xc8\x5e\xe2\x89\xa1\xc3\x4b\xb1\x44\x2a\xcc\x07\x16\xc7\xfc\x2c\xae\xb7\x6a\x9d\xe1\x9a\xde\xc1\x06\x37\x1e\x47\xa3\x0d\x2e\x12\x39\xce\x1f\x7d\xca\x25\x52\x6d\x60\x4b\xdd\x64\x76\x59\xd9\x42\xbc\xba\xc3\x68\x91\x13\x49\xc3\xb9\x46\xa9\x7d\xa1\x0a\x42\xdb\xcf\x3c\x73\x41\x6d\x2e\x6b\xa2\x2b\xd2\x9d\x9f\x70\x56\x72\xe9\xe3\x38\x94\x4c\xef\x01\xad\x21\xf0\x09\x74\x2e\x07\xbc\xd8\x88\xca\x31\xe1\xee\x95\x3e\x8c\x1b\x1f\xd9\x54\xb7\xdc\xf1\xa0\xb1\xd5\xa0\x69\x06\x5a\x66\xcb\x72\x1a\xdc\x02\x0f\x4e\xfe\x1a\xbd\xd1\x67\x42\x74\x69\x39\x28\x57\x80\xd7\x53\x13\x7a\xe0\x14\x0b\xb4\x10\xfb\x6c\xe3\x36\x76\xc2\x7a\xee\xc5\x93\xa8\x8c\xbc\x73\xaf\xd9\xf4\x05\x11"}, -{{0x3c,0x2d,0x36,0x50,0x73,0x5b,0x41,0xef,0x90,0x06,0xbb,0x45,0xe4,0xbe,0x2e,0x0a,0xa5,0xcd,0xe8,0x51,0xae,0xac,0x42,0x1e,0xe9,0xc1,0xb4,0x92,0xd8,0x7a,0xa1,0x8a,},{0x3e,0x46,0xdd,0xce,0x29,0x88,0x44,0xfc,0xaf,0xa0,0x0a,0x1b,0x47,0xea,0xf3,0xde,0x70,0x59,0x6d,0xf1,0xbb,0xee,0x3c,0x80,0x9d,0x1b,0xe7,0xdd,0x94,0x08,0x0e,0x34,},{0x3f,0x2a,0xf0,0x1a,0xd5,0x37,0x7a,0xc3,0x90,0x40,0xd4,0x1a,0x41,0xe3,0x6e,0x7b,0x93,0xfa,0x72,0x35,0xb8,0x41,0x79,0x1f,0x43,0x2e,0xcd,0x7f,0x91,0xa3,0xb2,0x1a,0xb7,0x19,0x6c,0x88,0x3a,0xd5,0xa7,0xdb,0x44,0x6f,0x6c,0x06,0x67,0x24,0x60,0xf3,0xf6,0x3e,0xf8,0x63,0xd9,0x43,0x2b,0xe9,0xca,0xea,0xbb,0x79,0xe8,0x7e,0x22,0x08,},"\x14\x25\xd8\xd2\x18\xda\x1a\x10\xa8\x0b\x6a\x9c\x3c\x27\x50\xef\xe4\x16\x57\x98\x4a\xbd\x51\x00\xf4\x51\xba\x94\x9d\xb0\x10\x46\xb7\x12\x6b\xe8\x40\x23\x34\xed\x57\x52\x8b\xac\x05\x62\x25\x53\xa8\x6b\x72\x67\x22\x69\x5a\x8f\xb3\x31\xd8\x56\x54\x17\xc4\xff\x0f\x25\x1a\x32\x0a\xd0\x6d\xed\xbb\x75\x0d\xef\x35\xd5\x21\xc3\xc4\xcd\x57\x1a\x45\xad\xa8\x45\x06\x53\xd5\xe8\x1f\xe0\xbe\xb5\x3a\xaa\xe7\x87\xb3\xeb\x65\x3c\x23\x81\xed\x55\xaa\xf2\x59\x0e\xe5\xed\x8b\x66\x26\xf1\xc4\xb0\x43\x0a\x54\xf3\x96\x58\x62\x4e\x66\x35\xfe\xfc\x98\xfe\xe8\xfc\x3e\x1c\xc7\xff\x3d\xd4\x20\xde\x9d\xa1\x1a\x62\xfc\xae\x0e\x0c\xb4\x54\xfc\x6f\x7d\xf0\x39\x54\x29\x1d\x26\x20\x2f\x1b\x18\x8b\x65\x7b\x3b\xae\x07\x38\x94\x49\xb7\x5e\x67\x42\x2f"}, -{{0x74,0x96,0x59,0x96,0x26,0x8c,0xdc,0x4c,0x09,0x22,0x0b,0xd3,0x1c,0xe0,0x7b,0x21,0x7a,0x03,0x82,0x6e,0xe9,0x81,0xfa,0x89,0xf3,0xa2,0x35,0x9c,0xed,0x09,0x5e,0xf1,},{0x40,0x96,0xd0,0x27,0xc1,0xc5,0xee,0x4c,0xbf,0xc0,0x4b,0x9d,0x53,0x41,0x74,0x02,0x9f,0xdb,0x50,0xcf,0x56,0x10,0xd3,0x02,0x1e,0xf9,0x33,0xb4,0xca,0xf3,0x39,0x85,},{0x8c,0x66,0x28,0x34,0x43,0x17,0xa6,0x3a,0xca,0x6f,0x78,0xcf,0xae,0xa9,0x65,0xb3,0xaa,0x55,0x22,0xce,0x91,0x41,0x95,0x14,0x1c,0x08,0x87,0x0a,0x1b,0x8d,0xac,0xf3,0x4b,0x79,0xc7,0xab,0xc6,0x93,0xcd,0x9e,0x5e,0xbe,0x1a,0x2e,0x86,0xf0,0x33,0x2d,0x20,0x48,0xdb,0x3c,0xbd,0xef,0x01,0x68,0x79,0x62,0xd6,0xdf,0x24,0x9e,0x38,0x00,},"\x45\xb2\xf0\x64\x61\x5b\xf7\x74\xfc\xe9\x7f\x51\xc4\x64\x68\x5d\x7b\x3e\x4f\xef\xff\x92\x31\x24\x0a\x71\x9b\x3b\x06\x21\xcd\x4a\xd8\x33\x05\x67\x5c\xd6\xea\xae\xbf\xf7\x91\x00\x0b\x0b\x1f\xa3\x1d\x82\xd8\x18\x1b\x7f\xe5\x7c\x5e\x00\xce\xc5\x6f\xf9\x02\x2e\x9c\xe8\xdb\x66\x35\x6e\x40\x8e\x3e\xe2\x62\xfe\x62\x77\x89\xe6\x55\x35\xef\x1a\x63\xe8\xfe\xc9\x33\xbe\x3d\xee\x34\xd2\xfa\xcd\xb8\x92\x8c\xc4\x56\xab\xf2\xf3\xe8\xca\xb4\x7e\xff\x1c\xa4\x2e\x8b\x0e\x48\xd2\xc7\x3e\x7b\xcc\x5d\xe3\xf1\x05\x6f\xc5\x23\xdf\xef\x6b\x00\x23\xf3\x28\x89\xed\x39\x4e\xed\xa0\x32\xab\xf6\xbc\xaa\xda\xa7\xf3\xee\x74\x11\x87\x60\xab\x6d\x91\xdf\x52\x8b\xdc\x58\x07\x97\x2c\x85\xfa\x7c\xb5\x6e\x38\x7d\x73\x32\xe7\x79\xe5\x2d\x0d\xd7\xdb\x0c\xfb"}, -{{0x0a,0xbf,0x06,0x9c,0x08,0xb2,0x69,0x1c,0x3a,0x26,0xf7,0x9d,0xc8,0xed,0x05,0xcb,0x71,0xd2,0x20,0xff,0x78,0xf3,0xa5,0xc5,0x78,0x0a,0xe9,0xda,0x18,0xe4,0x56,0x43,},{0x9e,0xf3,0xb5,0xcc,0x01,0x6c,0xc8,0x2d,0xbd,0xda,0x70,0x57,0x66,0xaa,0x44,0x8b,0xd6,0x1f,0xa1,0xaa,0xf1,0x17,0x0e,0xfe,0x91,0x49,0xda,0xa9,0xfe,0x64,0xa1,0xae,},{0xc7,0x56,0x6f,0xb3,0xb4,0xd8,0xde,0xf6,0x67,0xe0,0x40,0xf2,0x76,0xd3,0xed,0x98,0xd3,0x6d,0xff,0x46,0x01,0x26,0xa7,0x5b,0x4c,0xc2,0x10,0x03,0x86,0xbb,0x01,0xc6,0x42,0xf6,0xd8,0xde,0x7e,0x64,0x9b,0xe6,0xe0,0x81,0x8b,0x08,0xd7,0x7c,0xe6,0x0f,0x4e,0xe5,0xe7,0x71,0x7a,0x50,0x88,0x4b,0xde,0xe0,0x20,0x34,0xec,0xf1,0xcd,0x0c,},"\x0d\x05\x52\x91\xb2\xe8\x61\xea\xe1\x9e\xa0\xfb\x20\x69\xd8\xc9\xee\xf4\xf1\x34\x7f\x35\x76\xd7\x84\x11\xae\x7c\x0b\x1c\x1c\xaf\x31\xfd\xe7\x36\xdc\x8a\xcc\xac\xb6\x62\xdf\x76\xb6\x20\xb6\x2c\xe9\x0b\x9f\x92\xc8\x33\x09\x12\x86\x21\xd0\x57\xcf\x84\x58\x05\x94\x90\x88\xe9\x38\xdd\xbc\x3d\x41\xc5\xe5\x54\x1f\xec\x82\x98\x68\x7a\xd2\xf7\x9a\xcd\xa0\x1a\xa2\x15\xd2\x58\x21\x43\x6e\xac\x9d\x26\x87\x16\xd4\xcd\x60\x50\x26\x0c\xb4\xef\x6a\xad\xa4\x83\x5e\x07\x3a\x84\x58\x21\xff\x21\x1a\xe2\xba\xad\xce\xb6\xe5\x7f\x06\xf8\x83\x45\xed\xbf\x93\xbf\xdf\x54\xfb\x74\x12\x3b\x57\xc0\xfb\x4a\x79\x60\x8d\x8d\xb6\x74\x08\x89\xe1\x57\x33\x50\x77\x99\xf7\xa1\xfd\x30\x17\xbc\xd7\x7b\x28\xa2\xbb\x6c\x91\xec\xd1\x54\xe9\xc5\xa5\xff\xa0\xeb\x62"}, -{{0xf3,0xfd,0x5e,0xc5,0xe2,0x30,0xb6,0xda,0xd1,0xac,0x3d,0x3a,0xeb,0xad,0xc7,0x86,0x3f,0xf8,0x9d,0xe2,0xa1,0x31,0x7f,0x42,0x4d,0x15,0x98,0x9a,0x3e,0xfb,0x0a,0xfd,},{0xf9,0x9e,0x5d,0x5e,0xee,0xae,0xd1,0x20,0x5c,0xfb,0x5c,0x2c,0xc4,0xe5,0xe9,0xf6,0xb4,0xe7,0xf6,0x41,0x29,0xf8,0x60,0x10,0x4c,0xa6,0x24,0x4e,0xb9,0xfe,0xb5,0x64,},{0x44,0xb0,0x12,0x46,0x63,0xad,0xb0,0xc7,0x3a,0xed,0x49,0xf7,0x34,0x03,0x46,0x1f,0xcb,0x19,0x11,0x1b,0x0b,0xa1,0x7a,0xa9,0x96,0x56,0x6f,0x47,0x7e,0x37,0xd5,0x24,0xb0,0xe1,0xf1,0x07,0x61,0x2f,0xc5,0x2a,0x7c,0x76,0x7b,0x18,0x1f,0xbf,0x4d,0x62,0x9b,0xdd,0xc0,0x8f,0x30,0x58,0x4d,0xec,0x61,0x24,0xc5,0xd3,0x9d,0x42,0x31,0x02,},"\x71\xf2\x89\x73\xed\x3d\xf0\x59\x45\xfa\x0b\xdb\x23\xe9\xbe\xca\x65\x1d\x3e\xe6\xbf\x9f\xa4\x5f\xfd\xc6\x06\x1e\x42\xfa\x2e\x8d\x76\x23\x5f\x0e\x9e\x2d\xaa\x65\xe5\x26\x31\xfc\x3b\xea\xd3\x3d\xa0\x55\xbb\x49\x2e\x47\x58\xe5\x98\xa0\x30\xa3\x3b\x3c\x40\xb3\x43\x71\x45\x9b\x23\x3c\xcc\x04\x3c\xcc\xc3\xa3\xcb\xce\x54\x9e\x20\xe0\xb2\xb4\x33\x05\xb6\x4a\xec\x66\x1a\xad\xba\x65\x56\xb1\x7d\x76\xe3\xbb\xed\x62\xc4\xa4\xea\xc4\xf8\x86\x03\x99\x67\x52\xd2\x36\x3c\x8d\x4a\x27\x89\xd1\x28\xf6\xe9\x59\x94\x5c\x68\xc3\x01\x46\xd1\x94\xcc\xb6\x83\x9e\xc6\x53\x44\x60\x16\x52\xc1\x8b\x00\x74\xe2\xbc\x76\x68\x31\x16\x97\xd9\x60\xc7\x06\x65\x97\x92\x4d\x70\x4d\x02\xa0\x19\x3f\xaf\xbf\xdf\x57\x1e\xe0\xdf\xe4\x14\xdc\x2f\x52\x89\x69\x12\xbc\x32"}, -{{0x73,0x8f,0x13,0x10,0xa4,0xe0,0x8f,0x91,0x7a,0x0a,0x5c,0x1f,0xba,0xf4,0xef,0x72,0xf9,0x5e,0xe6,0x2f,0xcd,0xed,0x50,0x86,0x8a,0x3d,0xaf,0x98,0x85,0x6a,0x44,0x8d,},{0x42,0x27,0x2c,0x2c,0x8b,0x08,0x47,0x0e,0xe5,0xdd,0x8a,0xf8,0x84,0x9c,0x01,0xb7,0x50,0x8d,0x3a,0x3c,0x65,0xb0,0x33,0x0e,0x69,0x5c,0x84,0x1d,0x5d,0xcc,0xb2,0xf5,},{0xce,0x1e,0x35,0x77,0xb6,0xa2,0x10,0x16,0xb9,0xdd,0x0b,0x51,0x7b,0xaa,0x0c,0xcb,0x10,0x7b,0xc1,0x99,0xb8,0xbb,0xae,0xf6,0x8f,0x95,0x0c,0x8e,0xd5,0x80,0x13,0xc8,0x53,0xb4,0xd3,0x38,0xee,0xdc,0x67,0x50,0x79,0xab,0x13,0x90,0x46,0x2f,0xfe,0xfa,0x6a,0x95,0x9b,0x04,0x3f,0x8b,0x56,0x51,0xc6,0xca,0x37,0x5c,0xe0,0xb4,0xa4,0x03,},"\xf0\xe7\xef\x67\x82\xd0\x4c\x69\x43\xb1\x9e\xb6\x6f\xf6\x22\x6b\x73\x6e\x3b\x09\x40\xc0\x9b\xb1\x26\xbf\xc4\xc4\xca\x7a\x5e\x70\x16\xc2\x86\xb7\xbf\xd7\x3a\xa6\xa7\x9a\x96\x03\x1b\xc8\x1c\xb5\xda\x68\xce\xc7\x1a\x6a\x0d\x39\x78\x0c\xbe\x6a\x0c\xd4\x77\x4d\x3a\xa0\x6a\x88\x16\x10\x44\x4a\x8c\x9d\x19\x10\x22\x94\xe5\xf6\x35\x18\x7a\xa6\xf4\x8d\x11\x91\x2c\x70\x94\xb3\x88\x33\x02\x8d\x57\x0c\xb1\x10\xdb\x60\x62\x5b\xb1\xbd\xc3\x7a\xff\xa2\x5e\xa3\xc8\xf8\xdb\xfc\x25\x14\xf4\x36\x5c\x62\xb2\x98\x9a\x66\xd2\x7c\x80\x38\x4e\x74\xae\x5f\xba\x8c\x1c\x2a\xf9\xc7\x2c\x49\x71\xe6\x4f\xa6\xa1\xdc\x25\x17\xb3\x1e\xa5\x7c\xcb\x08\x15\xa7\xfe\x2d\xa0\xf1\x46\xca\xa0\x84\x31\xd2\x5d\x15\x16\x62\xd9\xd2\x6e\x95\x22\x9d\x0c\x62\x82\x36\x64\x12\x3c"}, -{{0x88,0x41,0xd2,0x2a,0xde,0xd6,0x9c,0x13,0x1e,0xf5,0xee,0x0a,0x10,0xab,0x0a,0x9b,0x77,0xcb,0x75,0x4e,0xde,0x8d,0x25,0x7a,0x53,0x72,0x72,0x6e,0x2b,0x49,0x9c,0x6e,},{0x71,0x5e,0xcc,0xa6,0x36,0x81,0xbc,0x6e,0x9e,0x31,0xd1,0x88,0x48,0x90,0x2f,0x4d,0x96,0xfe,0xaf,0x43,0xb9,0x5d,0x00,0x86,0x42,0x90,0x3b,0x17,0x63,0xbc,0x9f,0xb8,},{0xbb,0x2b,0xab,0x70,0x03,0xf1,0x31,0x1b,0xe9,0xb8,0xc8,0x83,0xfc,0x4f,0xd5,0x28,0xad,0xfd,0x51,0xa9,0xc9,0x9d,0xb3,0xdc,0xa8,0xda,0x0f,0xca,0x95,0x8d,0xa1,0x9a,0x10,0xeb,0x22,0x33,0x26,0x67,0xb1,0xa0,0x06,0x5d,0x3d,0xbc,0x0d,0x06,0x26,0x9a,0x12,0x59,0xb6,0xa8,0x90,0x48,0x4a,0xa2,0x14,0x3a,0x52,0x69,0x5f,0x14,0x5b,0x0a,},"\x08\x7c\xa6\xbe\x2a\x95\x0c\x02\x4b\x3e\x74\x67\xfe\x00\xa7\xd3\x64\x55\x5d\x5d\xc6\x77\x0f\x5e\xbd\x26\x06\x42\x52\x5b\xd3\xc0\xf9\x65\xdb\x36\xd7\xb2\x29\xa5\x74\x21\xee\xc6\x4e\x4d\x99\x1c\xdd\xe5\x91\x23\x03\x44\x70\x55\x3f\x4e\xb0\xbe\x81\xad\x29\x36\xc8\xca\x26\xbc\xab\x4e\x5d\x79\x04\x0e\x29\x79\x87\x28\x60\x16\x84\xa4\x68\x32\x3c\xf3\xba\xae\x4d\x94\x8d\x0a\x1f\xd9\x05\xef\xfe\x16\xdc\x44\x64\x20\x88\xdf\x53\xf6\x38\x8b\xc4\x80\xed\xf4\xaa\x20\x7d\x0e\xd1\x61\xed\xa3\x45\x71\x2b\x4c\x00\xcb\x05\xfc\xf6\x35\xec\x25\x88\x78\x5b\xfb\x8a\x27\xcd\xc2\x89\x96\xa1\xdb\x3e\x67\x87\x02\x33\x93\xc0\x75\xd8\x3c\x90\x38\xfe\xd7\x89\x9c\x55\xfe\xc3\x07\xde\x32\x49\xc1\x4b\xda\x49\xe8\xb8\x95\x86\x09\x42\xc3\x6d\x64\x0b\xb8\x93\x77\x91\x42"}, -{{0xc0,0x21,0x35,0xe7,0xb6,0x5a,0xac,0x72,0xf6,0x3c,0x32,0xbf,0x5b,0xef,0x5b,0x68,0xc7,0xf3,0xb8,0xed,0x56,0x20,0x8e,0x59,0xe4,0x75,0x20,0x70,0xe9,0xd0,0x70,0x95,},{0xdc,0xf6,0x00,0xf2,0x44,0x03,0x7a,0x75,0x20,0x3a,0xe1,0x1a,0xc3,0x16,0xe8,0xdb,0xe9,0x98,0x6f,0x0d,0xce,0x23,0x47,0x39,0x39,0x33,0x4b,0xf5,0xce,0xa4,0x8b,0x0d,},{0xdd,0x5c,0xba,0xe4,0x79,0xeb,0x5e,0x22,0x95,0x74,0xc2,0x1e,0xc3,0xbe,0xd9,0x11,0x11,0x3a,0x57,0xa1,0x91,0x6d,0x33,0x13,0x45,0x75,0x15,0xd5,0x5c,0xc5,0xb6,0xe6,0xeb,0xc5,0x2c,0x93,0xf8,0x21,0xd1,0x39,0x88,0xdb,0xba,0x8d,0xf5,0x09,0x6d,0x55,0xff,0x9c,0x39,0xe7,0xf9,0xd5,0x61,0xcb,0x58,0x93,0x0c,0x96,0xa7,0xa5,0xd6,0x0b,},"\x86\xd9\x49\x13\x50\xd2\x56\x6e\x70\x8e\xd3\x56\x18\x5d\x61\x0c\x73\x46\x5b\x2a\x5c\x70\x12\x91\x99\x58\xaf\x2c\xf7\x6a\xf9\x95\x23\x0d\x36\x0d\xe4\x00\xb7\x13\x71\x70\xdd\x08\x35\xf1\x0f\xcb\xec\x22\x4e\xe4\xe4\x2c\x7d\x1c\xeb\xb7\xf5\x80\xfe\xa8\xed\x62\x23\x16\x3b\xac\xdd\x19\x23\xa5\x72\xcb\xb6\xdc\x26\xca\x8b\x17\xad\xe6\x8c\x6d\x28\x08\xc4\xca\x1e\xca\x28\xea\xe9\xa1\x45\xf6\x8d\x40\x79\xd8\xd5\x9d\x14\x0e\x95\x82\x28\xe7\xe9\x95\x20\xe3\x42\xdb\xd7\x45\x7a\x91\x59\x74\x0f\x48\xbd\xc2\x7b\x93\xbd\xab\xeb\xa4\x65\xcb\xf0\xc8\xdf\x5e\xf2\xc0\xf9\x38\x6e\xeb\xe6\x56\xf5\xd7\x49\xd5\xf9\x14\x7f\x52\x52\x66\x91\x0d\x7b\x80\x39\x6a\x90\xbe\x5c\xc1\x88\xa9\xa9\x45\xf9\x3e\x75\x3f\xc9\x9b\xaf\xa1\x8e\xe0\xa6\xdf\xf7\x9b\xf8\x48\x48\x98\xef"}, -{{0x15,0x4a,0x47,0xeb,0xa1,0xb8,0xc3,0x83,0x62,0xea,0x61,0xfa,0xeb,0x0c,0x0a,0xd7,0xe6,0x1e,0x41,0x2a,0x3c,0xba,0x46,0x88,0xaf,0x0d,0xb2,0xa4,0x87,0x20,0x8b,0x1c,},{0x16,0xde,0x2c,0x89,0x4a,0x50,0xcb,0xd4,0xca,0x90,0x41,0x9a,0x4c,0xa6,0x49,0x42,0xcb,0x14,0xbd,0x33,0x5c,0x5d,0x3f,0x4a,0x53,0xe2,0x39,0xc2,0x80,0xbd,0xa7,0x25,},{0xf4,0xb6,0xeb,0x1a,0x8d,0x95,0x0e,0x88,0x7f,0xd2,0xf3,0x0f,0x70,0xa2,0x3b,0x41,0x87,0x14,0x95,0xbf,0xa5,0xb8,0xa4,0xad,0x39,0x96,0xcd,0x9b,0xf5,0x1e,0xb7,0x42,0xe0,0x7f,0x4c,0x4d,0x2d,0xa4,0xb0,0x1a,0xb0,0x87,0x36,0x7a,0x50,0xe2,0xb6,0x5b,0x3c,0xef,0x51,0x4e,0x40,0xd8,0x37,0x54,0x0b,0x8c,0x89,0x96,0x64,0x85,0x91,0x0f,},"\xbf\x60\x7e\x8b\x6e\x14\xd9\xc8\xac\xd9\x68\x15\xaf\x0c\x03\x5a\xc7\x3c\x41\x04\xc9\x37\x86\xcc\xc1\xc9\xf8\x59\x39\x5d\xd7\x81\x90\x03\x20\xeb\xf3\x56\xaa\x99\x1c\xdc\x9f\x50\x3f\xce\xe9\xf8\x36\x75\x88\x8a\x7d\x59\x20\x02\xd2\xa5\x4a\x57\x3a\x96\x99\x4b\x3f\xa8\x65\x53\x8c\x61\x7e\xd8\xad\x1f\xf6\x20\x18\x28\x8a\x67\x4f\x44\x9b\xe0\xaa\xb5\x22\x2f\x74\xc4\xfd\x47\x5e\xd6\xa8\xdf\xb2\x7f\x45\x28\x7b\x22\xb2\xb6\xc3\xbd\x15\x17\x9f\x26\x7d\x15\x7d\x7d\x8a\x41\x59\x67\x9b\xe8\x5b\x25\xc2\xbb\x2b\xa8\x50\xaa\xed\x9a\xe3\xae\x57\x1b\xe4\xf7\x58\x36\x32\x9c\xf3\x6f\x41\x2c\x1c\x80\xf1\x41\x3b\x76\x61\xea\xb4\xa8\xe1\x1b\x60\x24\x24\x4f\xc6\x23\x23\xff\x02\xe3\x8a\xce\xb1\x73\x7b\xd4\x74\xbf\x1e\x98\x01\x5d\xbc\x78\x8b\x02\x7b\xbe\x21\x7c\xf4\xe7"}, -{{0xd3,0x02,0x84,0x31,0xce,0x2e,0xef,0x73,0xbd,0x94,0x0a,0xb8,0x4c,0xa2,0x9f,0x13,0xfb,0x26,0x43,0x6a,0xa2,0x5e,0x1b,0x7b,0xf2,0x6c,0xb3,0x3f,0x17,0xfd,0xf8,0x17,},{0x63,0xdf,0x20,0x3e,0x28,0x60,0xba,0xc4,0xd3,0x52,0xe7,0x22,0xc1,0xc9,0x1f,0xe3,0x77,0x6e,0x1c,0xbc,0xae,0x85,0x53,0xa4,0xf1,0x98,0x90,0x26,0x0b,0xf0,0xe4,0x57,},{0xce,0x97,0x29,0xa9,0x6c,0x3e,0xd2,0x89,0x43,0xb2,0x78,0x39,0xc7,0x33,0x82,0xec,0xd5,0x72,0x96,0x0c,0x1f,0x9e,0x90,0xc5,0xef,0xf9,0xdd,0x49,0x9f,0xf4,0x8f,0x17,0xd2,0x5e,0xdd,0x12,0x68,0xef,0xfe,0x41,0xee,0x6a,0x81,0xce,0x48,0xd8,0x4d,0xe5,0x13,0xdf,0x9c,0x41,0x44,0x26,0x21,0xb2,0xf5,0x49,0x1e,0x34,0x6b,0xe1,0x8c,0x04,},"\x08\x63\x35\xd6\x12\x75\xd1\x68\xea\xac\x05\x40\x47\x7f\x50\xd4\xb1\x5f\x9e\x50\xb9\xbe\x69\x39\x21\xed\x54\xa9\x94\x1b\xc4\x06\x43\xcd\xa6\x2e\x1d\x80\x5d\x02\x50\xa8\x11\x46\xbd\x5f\xe2\xd3\x9e\x81\x44\x4d\x21\xe2\xb2\x1b\x03\x1c\x11\x13\x06\xca\xcb\xf5\x27\x17\xf6\xfb\x4c\xd3\x41\x6f\x12\x15\xf8\xdd\xdc\xed\xd2\xf0\x09\x6b\x0f\xcf\xa0\xa6\xcc\x2c\xde\x7a\x2b\xab\x7f\x1e\x32\x79\x0b\x53\x61\xdf\x36\x71\x42\x4c\xc7\x22\xf2\x31\xbf\x71\x89\x5b\xcd\xcb\x7b\x22\xee\x07\x4e\x8f\xb4\xa9\x67\x85\x04\xe7\x35\x36\x6c\x17\x2f\x07\x63\x7b\x7a\x93\x14\x9b\xb2\x1f\x38\x88\x33\x78\xa1\xdb\x27\x3f\xc2\x32\x39\xe3\x53\x37\xf9\xce\x56\x6d\x8d\xdf\x3b\x31\x33\xca\xd7\xf2\xce\x81\xed\xb5\x03\xce\x1d\x27\xc5\xa6\x57\x16\x0b\x78\xdc\xa9\xae\xae\xa3\x79\xbe\x9c\x85"}, -{{0xee,0x89,0x85,0xdc,0x27,0x50,0x44,0x40,0xa8,0x75,0x8d,0x4c,0x53,0xe4,0x22,0x52,0x15,0x79,0x7a,0x00,0xcd,0x86,0x31,0xd5,0x9b,0xd9,0x3b,0xc6,0x6f,0x37,0x3d,0x5e,},{0xcd,0x64,0x7b,0xb0,0x65,0x69,0x3d,0x48,0x65,0x89,0x15,0x6a,0x9f,0xa2,0x61,0x43,0x75,0x34,0xdc,0x86,0xf4,0x6f,0x72,0xd0,0xa8,0x00,0x39,0x9a,0x7a,0xf0,0x10,0xf7,},{0x5b,0xd6,0x0a,0xd5,0xe9,0xba,0xd9,0x93,0x2c,0xa9,0xc7,0x5f,0x23,0x1a,0x76,0x88,0x9a,0xe7,0xa8,0xb8,0x64,0xb9,0x1d,0x1f,0xcb,0xa5,0xc5,0xd4,0xbf,0xa1,0xd9,0x28,0x38,0xad,0xb9,0x74,0x84,0x2a,0x07,0x10,0x77,0x9b,0x3e,0x30,0x94,0x04,0x49,0x09,0xe9,0x2c,0x7c,0xf0,0x46,0xce,0x51,0x9f,0x4c,0x68,0xe8,0xf1,0x9e,0xc0,0x3c,0x02,},"\xf2\x22\x04\x85\xad\xdf\xeb\xce\x02\xa8\x33\xac\xa3\x33\x81\xd1\xdf\x91\x7e\xd6\x09\x95\x0e\xd2\x4f\x85\xe3\xb0\x2b\x2b\x99\x4b\x4d\x93\x97\x84\xe3\x32\xf4\x10\x64\xc8\xb4\xa2\x63\x0a\xb3\x69\x61\x74\x2a\xa1\xcf\xfd\xcb\x08\xc1\x44\xee\xae\xde\xaf\xd4\x8b\x5d\xbe\x96\xbf\x24\x35\x0e\x14\xfd\x68\x28\x6b\xc0\x8e\xea\xef\x8b\xc6\xad\x9e\x19\x5d\x14\x84\xaf\xcd\x30\xaf\xa8\xce\xd4\x84\x81\x26\xd5\x6c\x81\xb4\x3c\x27\xa5\xdb\xbd\xec\x1a\x50\xc1\x10\x62\xce\x21\xc6\x1d\x86\x0c\x25\xa8\x62\xfb\xb7\x5c\x3b\xd5\x1c\x8d\xc0\x76\x36\x66\x86\x69\xbb\xf7\x51\xea\xca\xcc\xb3\xb5\x1d\x2c\x0d\x41\x40\x31\x6c\xfc\xe2\xeb\x18\xd2\x90\x8c\xec\xd5\xa1\x88\x67\x9b\xc5\xf5\xde\x29\x0f\x54\x8e\x7e\xbc\x57\xd4\x1b\x58\x9a\x24\xce\x88\xee\x48\xd9\x7e\x8d\x0c\x7c\x76\x99\x60"}, -{{0x80,0xdf,0xe2,0xbf,0x73,0x87,0xba,0xd4,0x65,0x4e,0xb0,0x76,0xf8,0xda,0xe9,0x59,0x51,0x63,0xe4,0x01,0x27,0xf5,0xdf,0x49,0x2d,0xad,0x7d,0xf0,0x4c,0x72,0x21,0xc4,},{0xd1,0x78,0x3c,0xee,0xb9,0xcf,0x8e,0x4d,0x07,0x76,0x4c,0x47,0x3f,0xa4,0x06,0x1b,0x82,0x74,0x39,0x71,0x03,0xf2,0x07,0x6d,0x70,0x32,0x49,0xd7,0x58,0xb8,0xfb,0xd5,},{0x27,0x27,0x9e,0x3c,0xdc,0xb0,0x3e,0xf5,0x57,0xa5,0xde,0xfc,0x2f,0x6c,0x58,0x12,0x8a,0x6d,0xc3,0xf8,0xb0,0x38,0x59,0x58,0x01,0x4e,0x70,0x9c,0x1f,0x61,0xb0,0xae,0x6b,0x40,0x35,0x76,0xf0,0xe4,0x54,0xd5,0xe4,0xc6,0x4c,0x17,0x31,0x38,0xee,0x4b,0xbd,0x5f,0xe7,0xb6,0x0d,0x06,0xc5,0xab,0xe2,0x3f,0xe9,0x9e,0xe3,0xb4,0x6a,0x00,},"\xaa\x09\xd7\x84\xbb\x09\xdc\x99\x99\x31\xeb\xb4\xc0\x0e\x42\x4c\xef\xec\xa1\x04\x81\x8d\x8e\xaf\x06\x61\xf0\x97\x28\xad\x02\x5e\xf4\x73\x93\x21\x05\x71\xf1\x74\x04\xe9\xaa\x6d\x8c\xbd\x5f\xd8\x8c\xd7\xdf\xb8\xe2\xe8\xa1\x08\xc0\x5d\xe2\x06\xf3\x40\x82\x34\xa3\xb4\x63\xdb\xe7\x1a\x07\xd0\x55\x87\x32\x45\x24\xb7\x32\x6e\xe7\x9d\x33\x48\xdd\xbe\xd7\x87\x1b\x86\xfc\xb4\x88\x03\x1d\xc9\xea\x93\xf6\xb8\xd7\xfd\xa6\x23\x93\x48\xa5\x62\x44\x4f\xaf\x1e\x72\xd3\x1a\xf3\x54\x43\xe9\xdf\x53\xe7\x62\xf3\xe5\x6b\x48\x66\x8f\x97\x84\xb3\x36\x8a\xb2\x78\xa4\x8e\xf4\x54\x6a\x26\xcf\xad\x0d\x0a\x51\x61\x69\x8f\x26\xee\x8d\x34\xfc\x2b\x3d\x6d\xfb\x93\xb0\x09\xac\x29\x6f\x6a\xfe\x48\x7e\xe3\x35\xea\xc9\xf0\x2c\xfc\xae\x5f\xcb\xd1\xa1\x6b\xa4\xe7\x1b\xe1\xb1\x12\x56\x2f\xc2"}, -{{0xda,0x1f,0x86,0x85,0x42,0xcd,0x7c,0xce,0x7a,0x5c,0xa3,0xfa,0x3c,0x24,0x08,0x1b,0x4d,0x23,0x44,0xb2,0x1a,0x15,0x7f,0x02,0x64,0xa3,0x47,0x13,0x2d,0x19,0x65,0x9d,},{0xcb,0x3a,0x25,0xa5,0x3f,0x27,0x2e,0xa8,0x13,0x80,0x44,0x68,0xd6,0x50,0x0e,0x96,0xa1,0xea,0xf8,0x22,0x70,0x5b,0x77,0x90,0xa8,0xac,0x3e,0x98,0xcc,0x4e,0x52,0x4b,},{0x75,0xc5,0x17,0xad,0xe4,0xf0,0x8d,0x77,0x46,0x30,0x57,0x43,0xd1,0xa7,0x76,0xc3,0xc5,0x5e,0xb5,0xee,0xdf,0xdf,0xcb,0x5e,0xb1,0xd5,0x63,0x4a,0x1b,0xda,0xf7,0xa4,0xb8,0xd2,0x41,0x87,0xd6,0xc8,0x85,0x0e,0x3c,0xed,0x65,0x67,0xa0,0x3c,0x4c,0x59,0x38,0x9a,0x4c,0xf4,0x71,0x14,0xce,0x54,0x73,0x16,0x0f,0x23,0x05,0x46,0xe6,0x0d,},"\xc6\x98\x7e\xf3\x80\xd5\xd0\xe7\x41\x96\x44\x3a\xaa\x3a\x32\x35\x6c\xbc\x02\x63\x6c\x5a\x4b\x6d\x62\xa8\x11\x4b\x21\x11\xbc\x1a\xbd\xdd\x9e\x44\xb3\x67\x2c\x18\xb5\x8d\x4e\xf5\x91\xaf\x45\x62\xe0\x20\x04\x9f\x8e\x12\x74\x68\x8e\x1f\x8e\x52\x96\xd2\xf9\x25\x2e\x7f\xc8\x4c\xd1\xd0\xc5\x8e\x98\xf0\xf1\x60\x53\x0a\xa2\x2c\x87\x1e\xef\x65\x2e\x71\x97\x4c\xe9\x1b\x4a\x65\xfc\x25\xfd\x09\xfa\x1b\x6c\x32\x08\x6e\x98\xec\x70\x8d\x9a\xbc\xb1\xd9\xcc\x8e\x1a\x08\x9e\xd8\xdb\x22\x06\xee\x95\x70\x23\x6a\xd6\x9b\x3d\xe6\x82\x18\x62\xfd\x2c\x70\xcd\x83\xa3\x2a\x68\xb0\x48\x62\x29\x55\x3d\x92\x8d\xe4\x8d\x03\xa1\x04\xe8\x73\x81\x96\x4a\xbe\xa7\x66\x83\x97\x6d\x52\x7c\x84\x16\x3a\x12\xee\xe0\xa5\x59\x86\xcf\x14\x31\xe9\xc8\x6c\xba\x81\x82\xca\x94\x68\x9b\xac\xd1\x65\xfb\xce"}, -{{0xf1,0x3d,0xae,0xc0,0xef,0x33,0xdd,0xd1,0x33,0xc7,0xd2,0x44,0xd1,0x0f,0xd2,0x7d,0xdb,0x23,0x70,0x52,0x80,0xff,0x5f,0x18,0x15,0xf0,0xf6,0x56,0xd8,0x36,0xfe,0x84,},{0x2d,0xc7,0xf1,0x36,0x7d,0xe6,0x72,0xc5,0x1e,0x00,0x5c,0x74,0xf8,0x76,0xf9,0x82,0x59,0x39,0x96,0x87,0x3a,0xcb,0xa0,0x79,0x29,0x27,0x34,0xc2,0x09,0xc2,0xb1,0x11,},{0xdb,0x77,0x18,0x33,0xf7,0xfd,0xba,0xcd,0xab,0x2b,0x5c,0xc8,0x0e,0xed,0x50,0xaf,0xdf,0x13,0x78,0x3b,0x7f,0xe5,0xe9,0x03,0xd5,0xdb,0xb4,0xc2,0xe5,0x35,0x31,0x6a,0x6e,0xef,0x4c,0x34,0xf0,0x04,0xd2,0xb9,0xa4,0xe2,0x70,0x0b,0xd6,0xe2,0xac,0xdd,0x56,0x4c,0x3c,0x80,0xcc,0x68,0xa3,0x03,0xf5,0xfb,0x09,0x1c,0xb4,0x34,0x0f,0x0a,},"\xec\x02\xff\x18\x04\xb2\xb3\x09\xaf\x31\x58\xb6\x62\x72\xa1\x4a\x3a\xad\x83\xc4\x1a\x71\x98\x46\xf7\x08\x8c\xa9\x79\x2a\xf5\x75\xc7\x89\x13\xc4\x32\x75\x9f\x0b\x9a\x74\x8b\xdc\x55\x68\x49\x6e\x41\x65\x8c\xc1\xcd\xb8\xda\x6c\x91\xd0\x7c\x3e\xc2\xf4\xaf\x50\x42\x49\xb9\x96\xaa\x00\xc0\x07\x1c\xdf\xa7\x93\xf8\x2d\x0e\xc5\xd2\x67\x26\x2f\x51\x8f\xc0\x29\xb8\x8e\x20\xb6\x20\x1f\xb9\xe0\x5a\xbd\x3f\x95\x24\xc5\xda\x2f\xa8\x97\x8f\xf2\xef\xd4\x81\x20\xcf\x00\x82\x2d\x1b\xee\x90\xdf\x81\x61\x25\xd8\xed\xc0\xcf\xb5\xde\x66\xd1\x6b\xe6\x38\x96\xa4\x12\xa6\x2b\x03\x1b\x71\x18\xac\x13\xfe\x2c\x9f\xaa\x6b\x1a\x33\x42\xf9\xcc\xf7\x88\x41\x66\xcf\x48\x9a\x84\xde\x26\xb5\xce\x5b\x21\x85\x6a\x3a\xf2\x89\xbc\x66\x22\xc0\xaa\xb9\xf2\x14\x2d\x39\x3f\x5d\x4b\x23\x67\x79\xdb\xb0\x66"}, -{{0x42,0xdc,0x16,0xc5,0x7f,0xb6,0xf1,0x28,0x94,0x5f,0xa1,0x01,0xe0,0x5b,0xbf,0x54,0x8e,0xf7,0xd9,0x77,0x26,0xb6,0x92,0xfe,0x40,0x40,0x69,0xcc,0x57,0xcc,0xef,0xa0,},{0x0a,0x1b,0xa5,0xdf,0x52,0x39,0x96,0xf9,0x54,0xb3,0x4d,0xdc,0xfa,0xba,0xd3,0xf3,0xde,0xe2,0x1a,0x5f,0xa7,0xa4,0xce,0x32,0x2d,0x21,0x6b,0xd8,0xcc,0xaf,0x43,0x8c,},{0xc7,0x59,0x77,0xe8,0x3b,0xcf,0xe9,0xdf,0x72,0x92,0xa8,0x60,0xed,0x97,0x25,0x55,0xb5,0xc2,0x44,0x16,0xfd,0x4b,0x7e,0xe3,0x28,0x53,0x88,0xfa,0x5b,0x14,0x47,0x60,0x8e,0x4a,0x34,0x78,0x13,0xcf,0xe0,0x93,0x51,0x2a,0x76,0x51,0xe4,0x22,0xe9,0x86,0x7d,0xb7,0xb9,0x7c,0x0b,0x08,0x67,0xf0,0xb8,0xc7,0xb7,0xf4,0xf0,0x2c,0x31,0x0d,},"\xf2\x71\x4c\x23\xa3\xa6\xfc\x11\xad\x15\xc9\x80\xb7\x35\x0f\xc8\x42\x17\x87\x76\x61\x18\x80\x55\xff\x75\x0d\x82\xc4\x9c\x5f\xef\x7b\xc8\xe6\xaa\xc5\x74\xa1\xb7\x9a\x3f\x26\xd1\x69\x69\xc0\xf4\x06\xee\xab\x3e\x9e\x12\x85\x0a\x55\x70\x97\x45\xe3\x0d\xff\xa6\x2a\x69\xdf\xb2\xb6\x4b\x3c\x1b\xd2\xbc\x35\x86\xe2\x6d\x4e\xea\x71\x4d\x2a\x7b\x71\xcf\x79\xfb\x8f\xfb\xf2\xaa\xad\x00\xca\x3e\x4f\x2b\x6f\x50\x3c\xc1\xfe\xf2\xea\xb3\x65\x6f\xb4\x4f\x8d\x62\xa8\xdb\x8a\xb5\x8f\x39\x46\x93\x94\x9e\xea\x57\xfa\xfe\xcf\x00\x5f\x6e\xbf\x12\x87\xdb\xa4\xd2\xd6\x23\xc0\x2e\xa1\x71\xf5\x67\xe5\x26\xad\xd2\x07\x09\xeb\xca\xb9\x62\xf8\x3d\x98\xef\x66\x8e\xbd\x01\xef\x20\x48\x8b\x36\x65\xe3\xa4\x46\xfb\xfb\x13\xd3\x40\x50\x94\x2c\x74\x9b\xb2\xdf\xfc\x76\x63\x67\xfd\x45\x2e\x68\xe5\xb0\xc6"}, -{{0x90,0xb4,0x55,0xc6,0xbb,0x9c,0xec,0x83,0xe1,0x37,0x35,0x70,0x65,0x33,0x9d,0x03,0x05,0x25,0xd0,0xea,0x7f,0x5b,0x92,0x3a,0x2d,0x59,0x72,0xc3,0xc1,0x2a,0xa3,0x7b,},{0x5c,0xef,0x03,0x8c,0x16,0xbf,0xa4,0xb4,0xc9,0x23,0xa0,0xfe,0x70,0xcd,0x7f,0x25,0xc8,0xbc,0x83,0x7f,0xdf,0x5a,0x7e,0xfb,0x9d,0x95,0xf2,0x1b,0x96,0xbe,0x92,0x5a,},{0xc9,0x34,0x5e,0xec,0x2c,0x4a,0x0a,0xec,0x73,0x23,0x86,0x49,0x4a,0x69,0xa3,0xfc,0xe8,0xb8,0xa1,0xbe,0x36,0x6b,0xbe,0xd1,0x65,0x9f,0x13,0x1f,0xe9,0x7c,0xc0,0x37,0xfb,0x1b,0x7c,0x1b,0x68,0xb0,0xf3,0x02,0x39,0x45,0xd2,0x00,0x90,0xa0,0xcd,0x2c,0x15,0x53,0xa4,0x7f,0xae,0xc4,0xd6,0x6f,0xd8,0x16,0xce,0x12,0x11,0x68,0xf3,0x09,},"\xc6\x2c\xfd\xb9\xd2\x1e\xee\x6b\xe4\x7f\x30\x72\x7a\xae\xe5\x1f\x07\x03\x78\x9a\x43\x1d\x32\x22\x85\x33\x35\x02\x17\xa9\x3a\x18\x90\x06\x69\xc9\x59\x56\xf3\xf2\xae\x90\xdc\x74\x5a\x71\xe1\x83\x40\xd0\x58\xd1\x6b\x4c\x6f\xe3\x3b\x64\xaf\x8d\xad\x97\x3f\xe5\xdc\x02\xe8\x52\x07\x05\xc7\xa8\xbb\x3c\xcb\xe1\x83\x8c\x6c\x24\x93\x37\xf9\xb6\xa4\xc0\xe1\xf8\xa4\xe5\xd1\x03\x19\x6f\xa7\x99\x98\x92\x3d\x04\x22\xe9\xd0\x79\xa7\x2c\xc2\xa8\xf8\x6d\x65\x90\x31\xa6\x07\xd4\xcc\xa0\xb9\x47\xb3\xab\xee\xee\xf6\x4c\x28\xda\x42\x0d\x05\xde\x66\x5a\x55\x10\xfe\x55\xf7\x75\x98\xec\xad\x7f\xaa\x0a\xc2\x84\x80\x0b\x53\x82\x93\x94\xc4\xae\x90\xbe\x66\x67\x8f\xf0\x4a\xb4\x6d\xa2\x65\xae\x06\x40\x2d\x8c\x83\xca\xd8\x4d\x61\xa0\x51\xde\x02\x60\x55\x98\x88\xe7\x79\xf7\x4b\x72\xa5\xd7\x1c\x13\x2f"}, -{{0xdc,0x18,0x5c,0x2b,0xa0,0xb3,0x78,0xdf,0xe5,0xdd,0xa5,0x10,0xc3,0x2f,0xef,0xf5,0x35,0xca,0x2e,0x8a,0x02,0x43,0x4b,0x32,0x6e,0x01,0x58,0xbc,0x87,0x8e,0x88,0x48,},{0x33,0xd6,0xcc,0x05,0xa4,0x34,0xe4,0x19,0x28,0x0d,0x58,0x64,0xa1,0xaf,0x20,0x9a,0x2c,0x67,0x68,0x14,0xb7,0x0f,0x72,0xf8,0x14,0x1a,0xc7,0xe0,0x57,0x3e,0xe6,0x3e,},{0xf1,0xe4,0x45,0x14,0xd2,0xec,0xbc,0xc8,0xd1,0xa7,0xe8,0x4b,0xf5,0x84,0xce,0x73,0x18,0x35,0xe9,0x89,0x4f,0x88,0x97,0x4f,0x09,0x8d,0x45,0x6b,0x60,0x71,0x8f,0x57,0x5e,0xf4,0xd8,0x06,0x2f,0x21,0x82,0x50,0x42,0x50,0xcf,0x83,0xbb,0x2a,0xf2,0xa7,0x9b,0x1f,0x58,0xa6,0xa9,0x7b,0xd9,0x8d,0xa4,0x67,0x13,0x2d,0x7b,0xec,0x2f,0x05,},"\xe2\x76\xb1\x19\x12\xcc\xa5\xa8\x4b\xba\x65\x0c\x17\x2a\xef\x3a\x4d\x5f\x91\xac\x72\x29\x13\xbb\x89\x1a\x3a\xb0\x42\x4a\xb0\x7e\xa7\x09\xcb\x8b\xba\x3a\x3d\x11\xf8\x2f\x51\xc2\xaf\x01\x62\xa8\x2f\x72\x19\xce\x27\xb3\x5a\x30\x50\x7d\x53\x6a\x93\x08\x17\xe4\x0f\x85\xa2\x2a\x5a\x43\x2b\x94\xd1\x92\xc3\xc8\x91\x17\x77\xcf\xdb\x7f\xe9\x37\xa6\x75\x02\x77\x0d\x6d\x75\x75\x3d\x3a\xe8\x82\x29\xe0\x8f\x1e\xd2\x3b\x43\x28\xd8\x62\xac\x61\x86\x3c\x06\x3e\xa9\x84\x8f\x8a\xb9\x6a\x02\x13\xd7\xb9\x36\xc4\x8f\xe7\x54\x83\x6c\x98\x48\x78\x59\xd1\x99\xb3\xd9\x40\x39\x27\x16\xa1\xd5\x69\xe6\xc0\xcb\x1b\xa9\x18\x93\x2c\xf8\x85\x25\xe2\x56\xc8\xab\xb1\x1a\xaf\x0b\x45\x46\x55\xd5\xdb\x55\x71\x3c\xeb\xba\x28\x7a\xe2\x02\x65\x1a\xc8\x72\xbf\xc8\x0f\xea\xa7\xe0\x0d\x47\xc0\xbe\x38\xe6\x58\xf7\xc5"}, -{{0x90,0x72,0x1c,0x43,0xbc,0x36,0x6f,0x24,0xbf,0x4e,0x8c,0x99,0x3e,0x13,0x80,0x24,0x68,0x2f,0x10,0x29,0xdb,0xa3,0x5a,0xbe,0xb0,0xd6,0x0c,0x7f,0xa7,0x10,0x02,0x1c,},{0x7c,0x63,0xa2,0xf1,0x3b,0x7b,0x22,0x0a,0x0b,0xb7,0x52,0xe3,0x80,0x07,0x53,0xb8,0xb6,0xb3,0x26,0x69,0x37,0x8c,0xe1,0x31,0xbb,0x77,0xa9,0xa8,0xd2,0x30,0xe9,0xae,},{0xd2,0x06,0x4a,0x6d,0x6c,0x99,0xc6,0xc3,0xf1,0x52,0xd2,0xd4,0x35,0xf2,0x4e,0x34,0xb5,0x45,0x9b,0x08,0x2e,0xf1,0x1e,0x94,0x4a,0x77,0xff,0x54,0xdd,0xf9,0x86,0x27,0x37,0xec,0xb2,0xac,0x8d,0x54,0x20,0x7d,0x36,0xc5,0x1a,0xd4,0x1f,0x36,0x49,0x0a,0x11,0x1b,0xa8,0x0e,0x12,0x6b,0xfe,0xcb,0x09,0xde,0xf6,0xac,0xcb,0xdf,0x88,0x0e,},"\x65\x1c\x96\x17\xca\xc9\x58\xc7\xed\xd4\xa5\xf3\xfe\xdf\xb8\x3d\xc9\x71\xab\xfb\xb6\x9a\x31\xe8\x98\xcc\xa8\x47\x2e\xf0\x68\x03\x4a\x6d\x23\x76\xee\x0e\x72\xd0\xa9\xbf\xee\x27\x57\x96\xc3\x79\x5a\xda\xc8\xeb\xe1\xd1\x2b\x66\xec\x26\x8f\x6b\x75\xfa\x39\x41\x15\x4f\x99\xe2\x23\xfa\xf2\xcb\xab\x5b\x92\xe2\xb3\xba\x7b\x79\xbe\x77\x00\xef\x9d\xba\x69\x25\x3c\xce\x53\x56\xb0\xc4\xe7\x47\x03\xcf\xca\xfd\xb5\x54\x68\x50\xb4\x62\x32\x67\x5c\x90\xc0\x2d\x5e\x42\x6d\x33\xd6\x0c\xeb\xf0\xc7\x93\x01\x82\x37\x9d\xbb\x00\x7f\x53\x61\x63\xc8\xdd\xbb\xd3\x15\x7b\xb2\xda\x62\x34\x01\x33\xf0\x0a\xe2\x68\x2e\xc6\xba\xa6\x41\x6b\x5a\x01\x52\x1c\xc1\x0e\x04\x69\x52\x95\xf2\xe5\xb9\x4c\x05\xf0\x03\x83\xff\xe9\x54\x83\x07\x97\xf6\xdf\x82\x31\x72\x53\x2f\x98\x16\x5f\xe3\x14\xab\x32\x59\x29\xaf\x83\x85"}, -{{0x9c,0xec,0x24,0x67,0x58,0xe4,0x12,0xe7,0x37,0x8b,0x45,0x79,0xea,0xfe,0x9f,0xac,0x5a,0x25,0xd5,0x40,0x5f,0x92,0x70,0xb5,0xd7,0xe5,0x43,0x41,0x4e,0xc3,0xd5,0xda,},{0x97,0x5a,0x9e,0x6a,0x15,0x2c,0xae,0xbb,0x2f,0x9d,0xd0,0xde,0xb7,0x6d,0xd9,0x22,0xb6,0xdc,0x77,0x05,0x5d,0xda,0x03,0xfb,0xae,0x9e,0x7c,0x68,0x5d,0x07,0x3a,0xa1,},{0x9b,0xad,0x1e,0x3b,0x12,0x79,0xef,0x65,0x8f,0x4d,0x07,0x16,0x44,0xc6,0x3a,0xe2,0xb7,0xa7,0x80,0x35,0x7e,0x9d,0xc4,0x26,0xf1,0x65,0x0e,0xc0,0x63,0x4d,0xfc,0x52,0x0f,0x8e,0xda,0x9d,0xc8,0xf1,0x0a,0xa7,0x32,0x4c,0x59,0x42,0xd2,0x34,0x7f,0xf8,0x80,0x2b,0xd9,0x0e,0x95,0xfc,0xec,0x31,0x33,0x52,0xcd,0xae,0x64,0xf3,0x2a,0x04,},"\x17\xec\x9b\xd4\x7a\xdd\x6c\xcf\xbd\x78\x7a\xf0\xd9\x01\x3e\x9c\xc9\x79\xaa\xf8\x50\xe0\x94\x26\xd3\xb2\x8e\xdf\xd7\x12\x96\xeb\x31\xff\x8b\x21\xc5\xfe\x7b\xe0\x50\xf5\x36\x32\x4c\x3e\xc4\x88\x50\xe0\xb5\x08\xa3\x6b\xb4\xcb\x7e\x75\x4b\x32\x71\x83\xa1\xb3\x94\xd8\x8a\x79\x41\xd1\xce\x8d\xac\x62\xa5\xd8\x29\x18\x74\xd7\x84\x85\xe5\x1f\x29\xed\x05\x86\x5a\x20\x6e\x52\xec\xb1\x2c\x5d\x10\x7d\x4f\xf9\x6f\x25\xd3\xc5\xd1\x81\xd2\xc4\xba\x64\x63\x60\x0d\xb1\xcc\xa3\x28\x57\xfc\xf5\x97\xcb\xdf\xb2\xfd\xa2\x70\x8a\x8a\xba\x28\x1b\x43\xc3\xd2\x8c\x4a\x4e\x79\x83\x36\x15\x09\xf6\x1a\x10\x74\xe6\xf0\xad\x61\x01\xc7\xb5\x67\xee\x40\x78\xe9\x83\x9c\x47\xf4\x65\x31\xb7\x29\xff\x0e\xfe\xef\x7c\x9d\x1a\x8d\x83\x3d\x9c\x0f\x42\x81\x2a\x34\x18\x7c\x3a\x77\x8c\x16\x5c\x09\xd6\x45\x9c\x9c\x7c\xea\xa2"}, -{{0xd1,0x40,0x3f,0x63,0x20,0x2e,0x08,0x05,0x25,0x84,0x3b,0xde,0x25,0x5e,0xeb,0x6b,0x67,0x83,0xc1,0xca,0xae,0x9d,0x6e,0xd0,0x0b,0xa6,0x08,0x05,0xbe,0xd1,0x94,0x1f,},{0x23,0x8a,0xea,0x3a,0xd6,0xd6,0xf2,0x77,0x83,0xe7,0x05,0x16,0xbb,0xfc,0xca,0x47,0x70,0x36,0x6b,0x50,0xed,0x0f,0xe6,0xa4,0xe9,0x66,0xb5,0x3a,0xf1,0x21,0xa7,0x21,},{0x8e,0x60,0xe7,0x3c,0x06,0x38,0x16,0x79,0x5e,0x29,0xf5,0xd6,0x4e,0xce,0x11,0x59,0xf1,0xb5,0xd5,0x02,0x1a,0x6f,0x8f,0x65,0x5e,0x26,0x1a,0x4d,0x00,0x26,0xf5,0xb9,0x4f,0xf2,0x92,0x32,0x50,0x49,0x9d,0x99,0x52,0x98,0x48,0x05,0x12,0xe4,0x12,0x62,0x76,0xaa,0x4a,0x22,0x6d,0x01,0x5a,0x95,0x82,0x7b,0x3c,0xe6,0x92,0xe2,0x33,0x02,},"\xc4\xf1\x7d\x44\x2f\xba\x4c\xa0\xdf\x8d\xc1\xd0\x62\x8d\x7d\x7f\x36\xb6\x0b\x57\x58\xd7\xc1\x3b\x80\xb8\xf9\x7a\x62\x12\x4d\x96\xa2\x3b\x27\x95\x65\x49\x5a\x8a\xcc\xab\x59\x97\x11\x5b\x13\xa4\xba\x22\x0a\x73\x95\x7e\xb7\x93\x05\x20\xac\xbb\xfb\x6f\x54\xcf\x68\x72\x6b\x64\x50\xc6\xff\xa9\x47\x0b\x05\x5e\xa2\x62\x91\x4e\x2b\xc6\x12\x63\x3f\x1a\xc3\xd0\x61\x8a\x23\xdf\xf1\x88\xa7\x33\xd7\x6b\xcb\xcc\x46\x0f\x52\xab\x61\xe1\x99\x38\xf9\xc8\xca\xaa\x79\x2c\x20\x8d\x1f\x6c\x75\x47\x28\x90\x5f\xda\x51\xd8\x81\xa3\x47\xa5\x3d\xa7\x44\xd3\xba\xad\xc0\xa7\x6c\x47\x4c\x55\x86\x80\x26\x90\x95\xf9\x08\x4a\x74\x47\x1d\x5c\x09\xff\xc2\x91\x41\xb5\xbf\xaf\x49\x54\xdf\xac\xbc\xa6\x63\xd0\x37\xb1\x7e\xbf\x95\x59\x88\x22\x33\xe5\xca\x5a\x8b\xf7\x5c\xca\x4f\xc9\xc5\xa4\x10\x9f\x32\xe1\x45\xf3\x85\x3b\x17"}, -{{0xbd,0xf6,0xbd,0xc3,0x1a,0xb0,0xb5,0x31,0x37,0x84,0x48,0x3a,0xbe,0xca,0x6e,0xa5,0xe9,0xcd,0xc6,0x8f,0x81,0xb2,0x1f,0x35,0x0d,0x09,0xc3,0x90,0x7b,0xb9,0xb6,0xa1,},{0x03,0x62,0x77,0x12,0xb7,0x55,0xe5,0x06,0x9f,0xb9,0xab,0x8f,0x9e,0x89,0x97,0x24,0x02,0x9a,0x7f,0x26,0x8a,0xf9,0x39,0x88,0x21,0xee,0xec,0x93,0x60,0xc9,0x28,0x5b,},{0x38,0xfa,0xc6,0x03,0xed,0x24,0x6f,0x83,0x3f,0x1c,0x0f,0xd4,0x58,0x56,0x98,0xb0,0xa7,0x13,0x05,0xef,0xf0,0xd1,0x4a,0x00,0x49,0xb3,0xce,0xf0,0x73,0xbd,0x03,0x6d,0xd4,0x51,0xb3,0xda,0xba,0xda,0xae,0xae,0xa2,0xae,0xaf,0x83,0xd3,0x95,0x74,0x6f,0x4e,0x86,0x86,0x6a,0xda,0x97,0x1c,0xbe,0x48,0x2e,0xdb,0x04,0x19,0x33,0x2f,0x0e,},"\x90\xa6\x6a\xaf\xa5\x64\x2a\x98\xe7\x9f\x0d\x88\x14\x70\x80\x16\x7b\x11\xe4\x46\x65\x18\xf1\x95\xcd\xdd\x89\x40\xd1\x2e\xe4\x91\x8d\x31\xa6\xd4\xcb\x77\xd0\xbf\x5a\xf2\x99\x83\xbb\xe5\x08\x56\x10\xa7\x9d\xaf\x0c\x75\xa7\x8c\xcb\xcf\xfb\xbd\xab\x21\x89\xc3\x94\xae\x24\xe2\x65\xbd\x8c\x55\xfd\x3f\x40\x98\xe1\xb1\x75\x57\x75\x49\x51\x8e\x7a\x4d\xcf\x74\x52\x08\x6d\xd1\x27\x8d\xd5\x8e\xa4\xc0\xaa\x69\x0e\x91\x79\x51\xef\x39\xfc\xff\x60\xcb\xfa\x1e\x90\x91\x0b\xab\x53\x74\x92\x8d\x47\x22\xf7\x02\xbf\x5a\xd6\x02\x8f\xfd\xa6\x54\x1f\xa5\xba\x1a\x37\x79\xec\x78\xb0\xa9\x5f\xe3\x85\x0c\x74\x8b\x6c\x8f\x42\xf3\x30\xec\x79\x54\x1a\x52\xa1\xcf\x57\xdb\x72\xdf\x4f\x92\xce\x7f\x74\x8a\xee\xf1\xaf\x33\xbc\x5a\xe0\xa8\x2c\x89\xdf\xf2\x16\xf2\x3a\xec\x16\x8a\x7d\xbb\x51\x0a\xa6\x32\xda\xab\xcc\x97\x1b\x3f"}, -{{0x57,0xb3,0xb1,0x4a,0xce,0x1c,0xd0,0xcd,0x60,0x3e,0x63,0x28,0xbd,0x21,0x9e,0xe7,0xd9,0xd0,0x94,0x48,0x7f,0xa6,0x68,0xf2,0x8a,0xee,0xc0,0x2b,0x43,0xc9,0x09,0xa7,},{0x24,0xe6,0xb6,0x39,0x5f,0x97,0xea,0x0e,0x23,0x71,0x86,0xd4,0x69,0xb7,0x19,0x23,0xd2,0x11,0x3a,0xdf,0x40,0x3b,0xee,0xeb,0x4a,0x2d,0x27,0x90,0x9a,0xaf,0x3e,0xda,},{0xfc,0x79,0xfd,0xc6,0xd0,0x90,0x88,0x7a,0x61,0xe4,0x3c,0x6b,0x91,0x87,0xb6,0x57,0xd2,0xe4,0xd9,0xcb,0xaf,0xd6,0xe7,0xca,0xeb,0x7e,0xbd,0xea,0x84,0x28,0x25,0xb7,0x8f,0xb9,0x49,0xd2,0xc4,0x9a,0x0c,0xf3,0x8b,0x6c,0x73,0x29,0x6d,0x82,0xc8,0xdd,0xeb,0x1f,0xe2,0xd4,0x0a,0xad,0xdd,0x79,0x64,0xda,0x68,0xac,0xf8,0xc6,0x6f,0x0e,},"\xb2\xe0\xde\xdd\x80\x2e\xed\x99\x6d\xbd\x58\x36\xbf\x86\x88\xb0\xd1\x20\x1b\xf5\x44\x2f\xf9\xbb\xd3\x51\xae\xef\xe1\xa0\xc2\x1f\xea\x2b\x5c\x9f\xe5\xed\xee\x47\xe9\x21\x09\x9b\x05\xae\xda\xa8\x03\x67\xc1\xce\x08\x82\x1d\x78\x3a\x5b\x64\xcf\x05\x9c\x0f\x43\x35\x08\x39\x86\xa5\xa6\xec\xff\x8c\x84\xfd\x40\xe0\xba\x5d\xd5\xe5\xd2\xf0\x11\x12\xa8\x4c\xe5\xcf\x8e\x0d\xb7\x8b\xeb\x18\x2d\x91\x39\xc0\xb0\xf3\xe0\x06\x0a\x3f\xa7\x38\x69\xe9\x64\x23\xf1\x70\xdf\x9a\xf1\xcb\x9c\x35\x56\x6d\x87\xdf\xf5\x42\x22\x3f\x6d\x43\x9b\xdb\x54\x72\x9d\x36\x6a\xff\x63\x7b\x0f\x36\xa5\xd1\x4b\x15\xd6\x12\xbd\x03\x07\x6c\xc4\xd0\x4c\x1f\x25\xb3\xba\x84\xe0\xd1\xfe\x47\x4e\x57\x18\xd1\xa1\x7d\x5a\x48\x84\x65\x66\x2e\xe4\xc3\xf6\x64\xb4\xc9\x27\x4b\x64\x9d\x78\xce\xa4\xe8\x52\x43\xf3\x71\x32\x39\x04\x8a\x90\x8c\xe3\xe1"}, -{{0x01,0x8a,0x2c,0x3d,0xee,0xa5,0x0a,0xb5,0x06,0x75,0x1f,0x9c,0x2a,0xda,0xad,0xfd,0x9e,0x21,0x92,0x12,0x16,0x09,0x93,0x16,0x84,0xeb,0x26,0x5e,0x19,0x3e,0x7f,0x89,},{0xaf,0x41,0x0b,0xdd,0xde,0xfc,0x64,0x4e,0xf1,0x2c,0x98,0x99,0xff,0x71,0xb9,0xe1,0xd0,0xdf,0xa3,0xd6,0x9d,0x8c,0x2c,0xd6,0x76,0xc1,0x91,0x6b,0x34,0x59,0x1c,0xfd,},{0x7a,0x44,0xe6,0xa3,0x19,0x32,0xde,0xe6,0xdc,0x2d,0x83,0x94,0xe2,0x9a,0x65,0x51,0xd1,0x3e,0x6c,0x6f,0xfd,0xfa,0x21,0x8f,0xa5,0xb9,0x98,0x66,0x8d,0x84,0x39,0xdb,0x5e,0x05,0x37,0x9f,0xbf,0xa0,0xda,0x5b,0x56,0x3e,0xd9,0x66,0x43,0x5a,0xe2,0xc5,0x4e,0x3a,0xd1,0x6e,0x1a,0x9f,0xca,0x1f,0x5a,0x15,0x7a,0x08,0x07,0x04,0xab,0x03,},"\xcf\x78\x13\xef\xac\x12\xad\x1c\x7c\x73\x22\xcc\xbe\x54\xaa\x0e\x9a\x8b\xa4\xfd\x43\x45\xb0\x6e\x4c\xe7\xa3\x5c\x8b\x1c\xd5\xe3\xf7\xf0\x68\x85\x33\x84\x9b\xa2\xcf\x4c\x75\xb6\xf2\x09\x26\xa1\x19\x4a\x72\xdf\x0e\x1b\x1b\x34\x45\x6a\x21\x33\x11\x2d\x00\x67\x22\xfe\x81\x1d\x5e\x40\xc4\x12\x11\x59\xde\xd8\x89\x90\xc0\xac\x2b\xfd\x34\xf3\x5a\xf4\xf0\x7c\xc4\x02\xe9\xa3\x81\xa6\x75\xd0\x3f\xec\x7e\xc4\x38\xc4\xad\x9d\x92\x9a\xec\x8f\x24\x2d\xef\x02\x3c\x99\x3c\x9e\x8b\xa1\x8c\x74\x28\xe8\x8f\xde\x68\xa4\x71\x1e\x50\x6d\x79\x69\xf6\x3c\x8e\x0b\xc8\x3f\xf0\xde\x4e\x13\x36\x10\x6c\x05\xe0\x9d\x59\x22\x40\x0e\x8a\x81\xbf\x54\x88\x56\x67\x89\x97\x85\x88\x2b\x70\xf2\x0d\xd8\xfb\x1e\x75\xf5\x85\x5b\x76\x5a\x25\x6d\xa4\x34\x1b\xf2\x3e\xa0\xff\xa1\x8a\xad\xda\x38\x18\x16\x94\x60\x01\x04\x56\x69\xc8\xd0\x4d\xf0"}, -{{0xbe,0xa4,0x45,0xe9,0xb6,0xd3,0xf2,0x12,0x35,0x91,0x2c,0xd6,0xc4,0x2e,0xc0,0x57,0x72,0x97,0xca,0x20,0xa1,0x03,0x57,0x88,0x0c,0x2b,0x84,0x6d,0xd8,0xe2,0xcc,0x77,},{0x02,0x41,0x74,0x96,0x62,0x21,0x69,0x9e,0xa4,0xb0,0xa3,0x7e,0x51,0x7f,0xf9,0xb1,0x65,0x98,0xae,0x4d,0x4e,0x83,0xbf,0xa3,0xca,0x50,0xbc,0x61,0x68,0x41,0xf5,0x95,},{0x69,0x64,0xb9,0xc5,0x90,0x3e,0x74,0xe9,0x93,0x28,0xac,0xef,0x03,0x65,0x58,0xee,0xcd,0x33,0x69,0x15,0x0a,0x52,0xe2,0xcb,0xad,0x4b,0xbb,0x97,0xd4,0x61,0xb3,0xdf,0xc6,0xb3,0xe8,0x45,0x58,0x13,0xa4,0xf4,0xbd,0xca,0x46,0x30,0x2e,0x02,0xe6,0x83,0xec,0xea,0x18,0x20,0x17,0x1c,0x53,0x8e,0x54,0xc3,0xde,0x6c,0x95,0x4a,0xa4,0x07,},"\x47\x43\xc7\xc0\x99\xab\x81\x59\x27\xb3\x67\x4d\x00\x54\xb6\xde\x59\xaf\x28\x11\xab\xc2\xcf\x7f\xde\x08\xf6\x29\x29\x18\x5a\xdc\x23\x8f\xad\xd5\xe7\x5a\xe3\xba\x00\x36\xff\x56\x5a\x79\x40\x5b\x42\x4f\x65\x52\x33\x1e\x27\x89\xd9\x70\x9a\xc1\xec\xbd\x83\x9a\xa1\xe9\x1c\x85\x48\x17\x59\x79\x58\xcc\x4b\xd9\x1d\x07\x37\x75\x07\xc2\xc8\xd3\xc0\x06\xcf\xeb\x6c\x0a\x6c\x5a\x50\xee\xe1\x15\xe2\x11\x53\xdd\x19\x8e\xa0\xa3\xaf\xf6\x2b\x70\x75\xd5\xa4\x61\x78\x87\x83\xf0\x50\xe6\x59\xc5\x72\x96\x3d\x7a\x59\xe5\xaf\xaa\x2b\x9c\x50\x1f\x43\xc6\xac\x08\xab\x47\x97\xc4\x56\x6d\x22\xb9\x3c\xdf\x65\xa9\x9a\x2a\x1d\x63\x8e\x79\xf7\x2b\x5f\x46\x31\xfe\x5e\x9e\x5f\x96\x8f\x6d\xb7\xa1\x88\x0d\xf5\x1d\x8f\xeb\xc1\x49\x42\x67\x2f\x8e\xa6\xfc\x3a\x72\x81\x4a\x44\xd6\x6d\x14\x84\x20\xa6\x90\x00\xf6\x8c\x33\x0d\xe5\xb8\x0f\xc6"}, -{{0x64,0x47,0x54,0x0e,0xd7,0xbe,0x0a,0x11,0xc2,0xa8,0xde,0x79,0x3d,0x83,0xc6,0xe2,0x44,0x98,0x3d,0xb1,0x8d,0x78,0xec,0x9d,0x75,0xf1,0x72,0x9c,0x92,0xe0,0xfd,0xf1,},{0x39,0x12,0x12,0xc8,0xed,0xc4,0xd3,0x34,0xa5,0xbe,0xc8,0x60,0xef,0x0f,0x5e,0xbb,0x5e,0xc4,0x4e,0x8b,0xb5,0x1c,0x0f,0x67,0x41,0x99,0x89,0x59,0xb2,0xb3,0x79,0xfc,},{0x3a,0xb5,0xf8,0x8e,0x2f,0x72,0x76,0xb5,0xb6,0x58,0x3d,0xff,0xba,0x56,0x39,0x99,0x3a,0x90,0x5d,0xbf,0x9b,0x88,0xce,0xea,0xaa,0xae,0x33,0x35,0x80,0x0e,0x4a,0x5f,0x10,0xf8,0x3d,0xa6,0xd6,0x22,0x5a,0x8d,0xbe,0x99,0xae,0x80,0x07,0x50,0x09,0xdd,0x50,0x87,0x86,0xb3,0x97,0x51,0x13,0xdb,0x47,0x8e,0x14,0xba,0x10,0x1b,0xee,0x0f,},"\xa4\x38\x1c\x76\x38\xc4\x87\x99\xe9\xb5\xc4\x3f\x67\xfc\x3a\xa3\xcb\xb5\xec\x42\x34\xf3\x7e\x70\xcc\xcc\xce\xd1\x62\x7a\x57\x68\x3d\x1e\x53\xf4\xe0\x88\x3d\x8b\x46\x2b\xf8\x3f\x13\x08\x63\x03\x68\xc8\x9b\x49\x15\x33\xdd\xb8\xc9\xa5\xb9\xe8\x15\x50\x02\xfd\xd5\x81\xa9\xa5\xbe\x0e\x43\x0b\x90\x86\xa6\xbe\xac\x47\x20\x21\x0f\x87\xb1\x4e\x86\x2d\x97\xe5\xcc\x69\x28\x67\x86\xa7\x58\x67\x23\xf2\x31\xef\x0e\x3e\x1b\x93\x2d\xbb\xa3\xa1\x8a\x0c\xb2\x21\xcb\x07\xf8\x0e\x6a\x8e\x13\x00\x05\x6c\x13\xe7\x02\xb2\x3b\xfb\x32\x50\xec\x7c\xc8\x64\xd5\xc7\xec\x57\x86\x24\x07\x09\xc5\x60\x24\xea\x6b\xe5\xf7\xb1\x5a\x4f\xa5\x55\x5e\x39\xa7\x44\xa1\xdc\x55\x7d\xf5\xb9\x48\xdb\x22\x0b\x3d\x57\x45\x74\x66\x91\xda\xcb\x44\x21\x64\x1c\xdc\xc1\x2e\x7e\xc0\x45\x02\x93\xf1\x9e\xc5\x7b\x09\xcf\xf1\x35\x84\x7a\xab\xe4\x46\xa6\x13\x32"}, -{{0x0c,0x58,0x7a,0x81,0x1a,0xdd,0x88,0xb9,0x94,0x45,0x8c,0x3c,0x80,0x8a,0xc4,0xe3,0xa8,0x3a,0xfa,0xb2,0x6d,0x4c,0xff,0x5c,0x96,0x1b,0x9d,0xf0,0xb5,0xc8,0x33,0x44,},{0x06,0x78,0x3b,0x0c,0xdc,0xc5,0x02,0x8c,0x56,0x38,0xbd,0x74,0x8f,0x0b,0xc7,0x6f,0x7e,0x94,0xd1,0xaa,0x20,0x15,0xca,0x94,0x87,0x38,0xa3,0x50,0x04,0x60,0xac,0xa0,},{0x33,0xb4,0xf4,0x27,0x4f,0x20,0x00,0x8a,0x72,0x1d,0x1e,0x8d,0x05,0x4a,0x2b,0x4e,0x95,0x32,0x7e,0x38,0xbb,0x07,0xb3,0x3c,0x4b,0xee,0x7e,0x1c,0xe0,0x20,0xa4,0x42,0xfb,0x26,0x27,0xed,0xa3,0xb7,0xac,0x93,0xcd,0x3a,0xb0,0xb1,0x2b,0x99,0x93,0x5a,0x1a,0x92,0x33,0x11,0x16,0x04,0xda,0x4a,0xcf,0xfb,0x53,0x15,0xb9,0x07,0x12,0x0b,},"\xf5\x6d\xc6\xb7\x60\x76\x32\x5b\x21\x26\xed\x11\xd1\xf0\x9d\xec\xef\x9d\x15\xc3\x1d\x0e\x90\xcd\xb1\xa2\x7e\x08\x9c\xc5\x63\x29\xf6\xec\x3f\x66\x5e\xb6\x73\x9e\xc5\x67\x8b\x3f\x37\xee\x1f\xb3\x7d\xeb\x9e\x24\x00\x92\xb7\xa8\x8f\xd2\x55\x25\xac\xd5\x5e\x29\x4e\xb1\x04\x6f\x9b\x1b\x69\xa8\x47\xeb\x9c\xeb\x7b\x15\x93\xb9\xf6\x97\x8e\xf6\x18\xc1\x5d\xe4\xe0\x59\xec\xc3\xbf\xda\x32\x97\xa1\x9c\x2d\xf2\x02\xad\xf7\x21\x55\xcf\x21\xea\xbd\x03\x94\x8d\xf1\x51\x98\xe8\xa6\x8b\x08\x84\xf9\x3a\xd5\xe3\x6e\xb0\x98\x3c\xca\x30\xe4\x5a\x8b\x4b\x5f\xb8\x13\x6f\xde\xa8\xa3\x34\x1d\xd7\x87\x75\x40\xa5\x57\xde\xbf\x75\x30\xcc\x33\xae\xee\xf6\x27\x1c\x3f\x0a\xf6\xd0\x97\x87\xe8\x15\xf2\xf1\xdd\x25\xce\x4d\x2f\xd0\x9f\xfa\x9f\x53\x08\x1b\x46\x9c\x50\x0d\xa4\xd4\x41\x80\xc0\x4e\xb1\x86\x93\x29\xcb\xf2\xd8\x23\x18\x7e\x83\x1c\x24"}, -{{0x66,0xcf,0x40,0x1a,0x21,0x42,0xfc,0xf4,0xa8,0x01,0x80,0x46,0xcf,0x41,0x40,0xbc,0xa1,0x8d,0x76,0xef,0x62,0x66,0xe7,0xa0,0x24,0x75,0x7d,0xf1,0x72,0xa5,0xd6,0x53,},{0x67,0xd4,0x8d,0xfd,0x23,0x74,0x3c,0xc2,0xca,0x40,0xe4,0xdf,0xd6,0xb8,0xcc,0x5d,0x84,0xbe,0x82,0xdd,0x2b,0x11,0x20,0xcc,0x47,0x6e,0x6a,0xf6,0xf2,0x5e,0xcc,0x98,},{0xd6,0xb0,0xe8,0x0e,0x60,0xbc,0x1b,0x29,0xab,0x8f,0x74,0x80,0x8f,0xc4,0x60,0x84,0x77,0x95,0xcc,0xb8,0x87,0xba,0xc0,0xec,0xaa,0x8e,0x13,0x52,0x97,0xa8,0x50,0x97,0x71,0x2b,0x24,0xb0,0xa1,0xfb,0xaf,0x7a,0x67,0xc5,0xd5,0x30,0xa4,0x7d,0x06,0x43,0xfc,0x87,0x02,0xc0,0x59,0xd2,0x15,0xfb,0x11,0x2d,0xbe,0x47,0x5e,0x5b,0xca,0x0d,},"\xda\xa8\xef\xb3\xfd\x41\xf1\x2f\xbc\x55\xbd\x60\x46\x41\x57\xa2\x6d\x71\x86\x32\xd8\x82\xae\xdb\x6b\xf9\x8e\x47\xdd\x23\x37\x87\x9e\x0b\x46\x45\x2e\x06\x2e\x6d\xfb\xff\x3e\x7b\xca\x72\x89\xe4\xef\x6b\x3f\x41\xd4\xb0\x3b\xdc\x2c\x84\x2a\xfe\x97\xf3\x02\x98\x83\xed\x45\xf6\x05\x4d\xde\x96\x90\x64\x9a\xbb\x2b\x8d\xc2\x8f\x5f\xe8\xce\xcf\x80\xfc\x1e\xa4\x11\xbf\xc4\x0b\xbf\x4f\xd2\x0b\x21\x8c\xf4\x7e\xa8\xee\x11\x8d\x4d\x5a\xef\xa5\xc1\xbf\xa0\x8a\x8f\xb1\xb3\x0d\x6d\xe0\x97\x7c\xd1\x5e\x50\x29\x2c\x50\x1f\x2e\x71\xce\x27\x40\xff\x82\x8b\x84\x32\xda\x5a\x59\x4b\xab\x52\x23\x76\x0b\x64\x79\x2e\xd3\xa6\x9d\xd7\x5e\x28\x29\x23\x49\x43\x65\x65\x13\xdf\x1a\x17\xa2\xa0\x67\xa9\xa8\xea\xa6\x4e\x19\x56\x9f\x46\x93\x9d\x34\xb9\x92\x71\xae\x50\xa4\x7d\x7d\xbc\xa3\x62\x0c\x81\x25\x5b\x0e\x1f\xd1\xf3\xce\xc8\x51\xf1\xb1\x1b\x35"}, -{{0x5d,0xbf,0x88,0x5a,0xa5,0x98,0xe8,0x95,0x57,0x1f,0x5f,0x65,0x09,0x0b,0x72,0x32,0x3e,0x9d,0x70,0xb0,0xf5,0x81,0x10,0x68,0x7a,0xfb,0xbc,0x38,0x3a,0xfe,0xdc,0xac,},{0xfa,0x17,0xeb,0xa7,0x6e,0x3b,0xc3,0xea,0x6d,0xab,0x3a,0x5b,0x12,0x0d,0xc5,0xec,0xb9,0xae,0x6f,0x00,0x13,0x8f,0x7d,0x36,0xdd,0xa9,0x26,0x8b,0xc4,0x72,0x21,0x74,},{0xe1,0x42,0x9d,0xab,0x2e,0x42,0xcd,0x03,0x5b,0x7f,0xc6,0x02,0xef,0xd6,0xba,0xf9,0x47,0x06,0xf1,0x6e,0xaf,0x2f,0x8b,0x5f,0xed,0x32,0x92,0x39,0xe8,0x75,0x60,0x5f,0xb1,0x72,0xf5,0xdd,0x9a,0xe2,0xbc,0x2e,0xb4,0x2e,0xb4,0x74,0x56,0x7e,0x29,0x2f,0x52,0x06,0xe8,0x2e,0x69,0x4b,0xca,0x0d,0x6d,0x43,0x3b,0x86,0x76,0x34,0xcb,0x0d,},"\x1e\x0b\x6c\xf1\x5c\xe0\x33\x37\x17\x9c\x02\xd6\x54\x08\xdf\x5b\xe9\x20\x0c\x37\x82\xb6\x00\x4a\xf9\x4e\xa4\xde\xcb\x25\x79\x99\xd6\xfd\xff\x30\x1d\x11\xd0\x0c\x98\xc3\x72\xfa\xc0\xd0\x26\xcb\x56\xdf\xef\xe3\xde\xf7\xeb\x99\xac\x68\xd6\x96\x8e\x17\x12\x4d\x84\x46\xf5\x3e\x8d\x2d\x3d\xd8\x90\xd3\x7a\x23\xc7\xe0\xb8\x3a\x48\x4b\x3c\x93\xbd\xdf\x6c\x11\x8e\x02\x81\x95\x9d\x27\xbd\x87\xd3\x7e\x84\x3d\x57\x85\xf4\xa4\x07\x71\x39\x84\x94\xe6\xc4\x32\x2f\xbb\x67\x5c\x1d\x47\x93\x21\x03\x21\x48\xf7\xfe\x52\x56\x4d\xdf\x7a\xe7\xac\x26\x9d\x0c\xd2\xe5\x52\xfe\xc5\x89\xae\xae\x0f\xb9\x3f\xe3\xee\xae\xf0\x85\x60\x96\xcf\x4f\x6b\x34\x97\xe7\x23\x5c\xc8\x49\x4d\x81\x0a\x0b\x46\xc5\xea\xc8\x7f\x18\x7e\x50\x5b\xb7\x76\x4f\x80\x45\xc9\x54\x19\x83\xf7\xb0\x25\x69\x80\x09\xa2\x3d\x9d\xf0\xbd\x1a\x47\x3c\xbe\xe4\xcf\x5e\x94\x88\xec\xbc"}, -{{0x84,0xb3,0xae,0xdd,0x47,0x97,0xa5,0x65,0xc3,0x51,0xde,0x7d,0xfa,0x07,0x00,0xb9,0xff,0x7c,0x4d,0x72,0x91,0xc8,0x80,0x8d,0x8a,0x8a,0xe5,0x05,0xcd,0xd2,0x25,0x90,},{0xd7,0xad,0x72,0xca,0xa7,0xc2,0x22,0x09,0xec,0x46,0x78,0xd1,0x1d,0x55,0x90,0xa6,0xcb,0x28,0xa0,0x71,0x17,0xfe,0x5a,0xef,0x57,0xb5,0x07,0x51,0x58,0x32,0x01,0xa5,},{0x92,0x20,0xf0,0xed,0xaa,0xae,0xe1,0xb8,0x76,0x35,0x0d,0xbe,0x92,0x66,0x06,0x17,0x67,0xb8,0x62,0x96,0xc3,0x51,0xd4,0xca,0xc9,0x9d,0x07,0xcd,0x61,0x2c,0x6e,0xfb,0x24,0xf8,0xf9,0xb0,0xb9,0x75,0xf9,0x5c,0x42,0xc5,0xb6,0xaf,0xed,0xc8,0x92,0xf8,0x7e,0xfe,0xdd,0x39,0xd5,0x16,0x02,0x94,0xc2,0x76,0x58,0xbd,0xcf,0x42,0x85,0x0b,},"\x53\x25\x67\xff\xa5\x3b\x5c\x0f\xcd\x29\xc3\x94\x99\xd2\xe7\x8e\xcd\x20\xe6\x31\x23\x49\x92\x40\xe7\x75\x08\x8b\x39\x4d\xc6\x5c\x8b\xaa\xa0\xfe\x8f\x6a\xa7\xe7\x01\x81\xf9\xe1\x0a\xdd\x8b\x4a\x8b\xeb\x0b\x2e\xc3\x8a\x43\x30\x9f\x10\x0c\xd4\xbe\x91\xc6\xf4\x8e\x79\xdc\x0a\xee\x93\xa1\x5c\x94\x03\x77\x3b\x35\x4a\x8d\x42\xed\x48\xd8\xf2\x76\x23\x0f\xa6\xde\x5a\xda\x50\x1e\xe0\xa6\x53\xb4\x45\x8f\x0e\xcf\x6d\x5b\x3c\x33\xe2\x14\x1c\x66\x2f\x6e\xa0\x55\xf7\x41\xe5\x45\x86\x91\x7d\x2e\x0c\x4e\xb2\xb5\x66\x21\xf9\x66\x5f\xef\x32\x46\xf0\xbd\x80\x0b\x53\x3e\x3b\xc6\x15\xc4\x02\x1f\x8d\x0e\x2a\xd2\x33\xa1\x1e\x77\x36\xc4\x93\xac\xc3\x1f\xae\xe7\x6a\x09\x7d\xc4\x0d\xb9\xef\xc2\x24\x46\xea\xcf\x1c\xc1\x8f\x51\xfd\x10\x23\x6a\x2f\x94\x2d\x0a\x53\xc3\xce\x20\x91\x08\xb5\x93\x8c\x0a\x9e\x53\x6b\x89\xef\x0a\xd6\xb4\x05\xa1\x0f\x22\xc3"}, -{{0x69,0x50,0xbf,0xcf,0x48,0x0b,0x98,0xea,0x18,0xa2,0xd5,0xae,0x5b,0xa6,0xe7,0x66,0x8f,0x4c,0x28,0x3f,0xf2,0x71,0x13,0x57,0x74,0x0f,0xfe,0x32,0xcf,0x25,0x81,0x9a,},{0x8e,0x4c,0x6f,0x23,0x3f,0x7b,0x86,0x32,0x1c,0x9d,0x67,0x99,0xba,0xc2,0x8a,0xaf,0xcd,0x25,0x03,0xd7,0xaa,0x0a,0x7b,0xde,0xd8,0x72,0x27,0x27,0xfb,0xbc,0xae,0xb8,},{0x94,0xde,0x5d,0xf7,0xa2,0x5e,0xcd,0x70,0x20,0x5d,0x40,0xbc,0x94,0x99,0xfc,0x7c,0xd7,0x13,0x65,0x68,0x06,0x0a,0x41,0x9a,0x93,0xbe,0x6e,0x31,0x86,0x64,0xbb,0x6d,0xfc,0xe6,0x0e,0x2d,0x4e,0x63,0x3f,0x7e,0xc1,0x48,0xfe,0x4f,0x83,0x4e,0xd2,0x77,0xc1,0xfe,0xc4,0xc4,0xe2,0xa8,0x6f,0x44,0xc4,0x58,0x9c,0x81,0x78,0x88,0xdb,0x00,},"\xa4\x01\xb9\x22\xab\xa5\x7e\xe0\xc6\xac\x1c\x8f\x1b\x48\x29\x6a\x85\x62\xee\xf1\x37\x52\x68\x93\x88\x6a\x08\x30\x6e\x22\x03\x66\x77\x88\x61\x8b\x93\x98\x64\x46\x7a\x31\xf1\x6e\xdc\xe1\x52\xa4\x2c\x25\x54\x6b\x64\x0e\xa8\xbe\xd1\x89\xa4\xf8\x98\x86\xa3\x7f\x10\x69\x11\xea\xe1\xf5\x00\x81\xbf\x79\x5e\x70\xc6\x50\x44\x37\xd2\xa8\x0c\xb8\x39\x47\x9e\xcb\xb8\x7c\x12\x9b\xcc\x5f\xe3\x1d\x71\x6e\xf9\x78\xc2\x06\xd7\xf0\x8a\x79\x34\x66\x59\x4f\x4d\x75\xe2\x15\xbb\x63\x74\x59\x6f\x8e\x7d\x00\xee\xa7\x24\x78\x09\x43\xe8\x9b\xd3\x86\x3c\x95\x1b\xbd\x24\xef\xee\x23\xc9\x7c\x2c\x79\x7c\x7f\xaf\xbf\x8f\x2c\x8b\x43\xf3\x7a\x5f\x88\x11\x29\xa0\x95\x73\xfa\x7a\x03\x4a\x28\x5e\x80\xdc\x4b\xa4\xbc\x95\x64\xa4\xdc\xed\xeb\x33\x16\x7e\x0b\x30\xc5\xa0\x0b\x9a\x10\x9a\x22\x31\xcf\xa0\x01\x2b\x29\xb2\xb3\x45\x0b\x89\x2e\xcc\xef\x08\x08\xe5\x03\xf8"}, -{{0x61,0xb2,0x60,0xf5,0xb8,0x48,0xb2,0x71,0xef,0x48,0xe5,0xa5,0x6d,0x29,0x74,0x32,0xd8,0x9f,0x2a,0xb8,0x5b,0xd5,0x38,0xfa,0x66,0x88,0x70,0xd0,0x56,0x02,0x20,0xe5,},{0x60,0x86,0xfe,0x87,0x35,0xf3,0x99,0xf1,0xaf,0x2e,0x39,0x5e,0x0f,0xdf,0xb5,0x62,0x9e,0xbc,0xb0,0x4b,0x6e,0xd4,0xa5,0x4a,0x9e,0x47,0x05,0x2c,0x6e,0x81,0x91,0xd4,},{0x98,0x28,0xfe,0xc8,0xff,0x5c,0xf8,0x5a,0x98,0xf4,0x50,0x77,0x0b,0x5b,0xdb,0x4b,0x80,0xda,0xca,0x44,0x37,0x9d,0x8f,0x53,0xc9,0x1c,0x34,0x8e,0x22,0xdf,0x64,0xac,0x48,0xf2,0xb6,0xe2,0xa7,0xb3,0xb6,0x42,0xbc,0x81,0x93,0xa1,0x94,0x31,0x62,0x29,0xe6,0x94,0x47,0xed,0x24,0x1c,0xd4,0x23,0xd8,0x3b,0x6f,0xe7,0xb2,0xd4,0x4b,0x00,},"\x28\x26\x29\x5d\x79\x94\x5f\x67\x54\x76\xbc\x4d\x45\xef\x80\x0d\x80\xb1\xf0\x39\x8e\x4b\xe6\x0e\x3d\xe4\x57\x1e\xd1\x08\xdf\x98\x9f\x03\x2d\xe6\xc2\x34\x5d\x99\x48\xd6\x77\x92\x7e\xa0\xb8\xcf\x1a\x5c\xa3\x6f\xd5\xf2\x3c\x25\xdc\x0d\x2a\xb5\xbd\x56\x5a\x54\xaf\x46\xfd\x97\xd3\x38\xd7\x70\xe3\xa7\xb4\x7e\xfb\x54\xc0\x7a\x16\x64\x70\x77\x71\xeb\x4e\x37\xd9\xd7\x0b\xa7\x79\x25\x1d\xcd\xcd\x3b\xf6\xd1\x24\x8a\xde\xc5\x3f\x78\x72\x59\xc4\xd5\x94\xd5\xfd\x4c\xed\x8e\x3d\xb7\x62\x1d\x49\x65\xd4\x82\x98\x17\x81\x24\x93\x1a\x3d\x0c\xd2\x69\xb2\xd5\x3b\x7c\xd2\x61\xb9\x6d\x37\x0c\x5d\x96\x93\xc8\xad\x13\x3e\xd5\x89\x45\xee\x35\x40\xe1\x06\x25\xd9\x24\xae\xba\x9b\xda\xfc\x65\x61\x00\xaa\xb2\x76\xfa\x99\x6b\x1d\xb4\x77\xbf\x85\xea\x55\x90\x81\xd5\xb4\xc7\x30\x7d\xc1\x59\x56\x54\xac\xa8\x2f\x7b\x6d\x2d\xda\xf7\x35\x7c\x15\xa4\xd7\xd8\xb9\x08"}, -{{0x93,0x6d,0xc1,0xce,0xf6,0xa3,0x10,0x74,0x7f,0x35,0x00,0x88,0x05,0x5a,0x39,0xaa,0x76,0x2d,0x9a,0x4b,0x52,0xc8,0xc8,0xe4,0xc6,0x82,0x79,0x43,0x80,0xc2,0x72,0x5c,},{0x03,0xb3,0x18,0x00,0x41,0x2d,0xf4,0xd5,0x6f,0x15,0x32,0xc0,0x58,0x28,0xc0,0xb7,0x25,0x28,0xa6,0x7a,0x78,0x1b,0xef,0x4c,0x06,0xc1,0xfb,0x6f,0xf2,0xce,0x32,0x4b,},{0x3f,0x99,0x4b,0x8e,0xf5,0x28,0xf6,0x42,0x1c,0x6a,0x6a,0x22,0xe9,0x77,0xad,0xe5,0xce,0xe8,0x87,0x26,0x3d,0xe3,0x8b,0x71,0x9a,0xcd,0x12,0xd4,0x69,0xbf,0xd8,0xc3,0xf6,0x8e,0x7a,0xc0,0x7d,0x2f,0xae,0x80,0xa2,0x09,0x27,0x78,0xdf,0x0b,0x46,0x35,0x37,0xad,0x3a,0x05,0x51,0x99,0x7a,0x3d,0x5b,0x51,0xf8,0x32,0xd9,0xc8,0x23,0x0b,},"\xeb\x58\xfe\x86\xc4\xef\x34\x9c\x29\xae\x6f\xb0\x4f\x10\x85\x0e\x38\xc6\x82\x3d\xbe\x64\xa0\x9a\x5b\xf1\xe0\xce\x60\x0d\x39\x4e\xfa\x6f\xb9\x6e\xd6\xa8\xf2\xc9\xd4\xbe\xc0\x5e\x6a\x5e\xbd\x5a\x1b\xf4\xd0\xc5\x1d\xb9\x34\xe5\x7b\x79\xe5\xc6\xa8\x79\xd9\x75\x19\x7d\xbb\x10\x47\x5f\x65\xc7\xf8\xa8\xc6\xa7\x7a\x42\x03\x84\xb5\x06\x2a\x27\x40\xf1\x40\x17\x40\xee\x0f\x5e\x04\x3a\xad\x7a\x2a\x2b\x42\x60\xc5\xd9\x07\xf7\x05\xed\xaf\x65\xb0\xe3\x75\xdf\xc7\xb0\x0b\xd6\x60\xdb\x61\x47\xf2\xeb\xe8\x70\xa0\xee\x18\xdc\x2b\xa3\xc9\x2b\x0b\x76\xfa\xe2\xb9\x09\x32\xcd\xb6\xc1\x49\xe4\x6f\x3f\xee\xcf\x4c\x26\xf0\x44\x1f\x3a\x9e\x00\x66\x78\xae\xcf\xf8\xcc\xae\xca\xed\xa7\x3a\x18\xa6\x8a\xc9\x88\xb6\x2e\x83\xa9\xbb\x51\x88\xae\xde\x38\xdf\x77\xa9\xa1\x64\xab\xbd\xd9\xd5\x8e\x52\xa6\xca\xf7\x22\x23\x89\xf1\x98\xe8\x5f\xbf\x96\x62\x36\xdc\xdb\xd4\xc1"}, -{{0xf8,0x9e,0xed,0x09,0xde,0xc5,0x51,0x36,0x1f,0xa4,0x6f,0x37,0x59,0x73,0xd4,0xfb,0xfa,0x5c,0x5c,0x12,0xf1,0xb5,0xe5,0xab,0xf4,0x5c,0xfa,0x05,0xff,0x31,0xa3,0x40,},{0x3e,0x0e,0xfd,0xca,0x39,0x19,0xfa,0x10,0xd4,0xa8,0x49,0xce,0xf1,0xde,0x42,0x88,0x51,0xbd,0x08,0xef,0xd2,0x48,0x59,0x4f,0xd8,0x9c,0xde,0xb9,0xde,0xee,0x43,0xb0,},{0x89,0x7e,0x6f,0x27,0x97,0xc3,0xf3,0x26,0xd2,0xcd,0xb1,0xd2,0x67,0x3d,0x36,0x06,0x31,0xf0,0x63,0x30,0x45,0x80,0xff,0x5b,0x4e,0xb4,0x3d,0x39,0xad,0x68,0x51,0x83,0x4c,0x9c,0xf8,0x91,0xd9,0xf0,0x90,0x5b,0xf8,0xde,0x07,0x5f,0x76,0x35,0xdf,0xca,0x60,0x1a,0xdc,0x0f,0x14,0xe7,0xb2,0xc7,0x6f,0x75,0x71,0xbf,0xa4,0x68,0xed,0x0c,},"\x4c\xf9\x77\x3d\xa0\x5f\xd3\x22\xfc\x14\x7b\xe9\x00\xef\x5c\xf2\x56\xc8\x8a\xfd\xad\x4b\x08\xc2\x30\xdf\xc8\x98\x1f\xb6\x9f\x47\x6f\x7d\x45\xef\x7c\x90\x06\xbc\x10\x03\x2b\xa5\x34\x36\xac\x22\x84\x3e\x0d\x76\x28\x9c\xf6\x8f\x98\x18\xfa\x64\x03\x1d\x4b\x40\x95\x50\x59\xaa\x69\x11\x09\x15\x88\x9f\x5e\x22\x73\x2a\x13\x43\x91\x25\x81\xab\x3b\x11\xa3\xba\xe7\xa4\x71\x35\x95\x08\x59\x65\x75\xf8\x88\x16\x0b\xee\xf9\x66\xe5\x70\x8f\x0e\x31\x47\xea\xcf\xce\xc1\xca\xa3\xef\x24\x0c\x5e\x0a\x14\xc1\x86\x54\x6c\x8e\xeb\x64\x65\x83\x50\xb1\xaf\xfc\x0c\xfd\x2a\xc2\x13\xaf\x67\x0a\xfc\xa7\xbb\xc9\xdd\xdd\x28\xa4\x65\xb5\x86\xe6\x9c\x38\x8c\xd7\x34\x78\xd6\x8e\xfb\x32\x2b\xdf\x86\xd9\x21\x30\x11\xe7\x11\xb2\xb9\x5f\xef\xa7\xbb\x9b\x59\x39\x76\x17\x06\xaa\x71\x21\x02\x49\x06\x42\x0b\xdd\xf1\xd8\x80\x0a\x43\x38\xd9\x38\xfa\x13\x7c\xf2\x7e\x9f\xfc\x51\xc6"}, -{{0x40,0x07,0x96,0xef,0x60,0xc5,0xcf,0x40,0x84,0xde,0xe1,0x80,0x1c,0x4a,0x19,0x75,0xe4,0x82,0xe7,0x0a,0xef,0x96,0x1c,0xd4,0x2e,0x2f,0xd5,0xa3,0xfa,0x1a,0x0f,0xbe,},{0xf4,0x7d,0xa3,0x81,0x28,0xf2,0xd0,0x12,0xcc,0x57,0x97,0x57,0x1d,0x47,0x9c,0x83,0xe7,0xd8,0xa3,0x40,0x98,0x02,0xf9,0xa7,0xd9,0x76,0xc2,0x70,0x67,0xcb,0xbe,0x43,},{0x84,0xd3,0xaa,0x3f,0x36,0x18,0x44,0x39,0x67,0x54,0xd8,0x0d,0x9f,0xa0,0x5b,0x8b,0x2f,0xa4,0xab,0xf3,0xa0,0xf3,0x6b,0x63,0x9b,0xee,0x9c,0xfb,0x5c,0x85,0x30,0xa3,0xa9,0xcc,0x34,0x67,0x7f,0x92,0xa9,0x13,0xc4,0x1e,0x80,0x0f,0x2e,0x80,0x41,0xf7,0x66,0x6d,0x07,0xed,0x85,0xf1,0x6a,0x57,0xd8,0x17,0xb1,0x24,0x1f,0xc5,0xee,0x04,},"\xc4\x73\x32\x5e\x78\x5b\x27\xdf\x44\x71\xee\xfb\x9e\xbe\xbd\x64\x61\xd5\x70\x80\x01\x81\x10\x0f\xf3\x6c\xaf\x3c\x38\xf6\x7c\x19\x21\xb1\x57\xec\x8e\x61\x26\xf9\x55\xae\xbd\x90\xea\x3f\xe5\x38\x5f\x80\x42\xcd\x70\x4b\x27\xcc\x1d\x69\x78\xc0\xe2\xa2\x96\x69\x5f\x5e\xf9\x7b\x7c\x2e\x16\xae\x4f\xf4\xd0\x63\xc6\x88\xd7\xf4\x6e\x96\x4e\x1f\x0a\x00\x50\x3f\x35\x73\x45\x97\x76\x83\xd6\xe4\xc3\x42\x3d\x56\xbd\xb6\xce\x86\x4b\x69\x87\xe0\x85\xe8\x3e\x70\xc7\xc1\xa1\x4e\x0e\x41\x3f\x59\x2a\x72\xa7\x1e\x01\x7d\x50\x5b\x64\xc2\x4f\x1a\x1a\x6b\x81\x3e\x06\x4e\x6e\x0c\xf8\xbd\x45\x71\xd0\xff\x2f\x26\x7a\x6a\x13\xe0\xcd\x43\x04\x63\xb6\xca\x3b\x88\xf0\xcd\x40\xb0\xfb\x83\xd5\xbe\xdf\x6f\x7d\x47\xe1\x70\xe8\x7d\x0a\x75\x00\x93\x69\x3e\xda\x23\x2a\x6d\xaf\x98\x12\x57\x27\xb9\x58\x8e\xcb\x89\x4a\xe3\x73\xba\xe3\xa4\x45\xa1\x06\x30\x64\x69\xa4\xc2\xcd\x77\xff"}, -{{0x67,0x03,0xa6,0x23,0x2c,0x5e,0x2e,0x65,0xe0,0xab,0x3b,0x92,0xe2,0xaa,0xf9,0xf5,0xfb,0xd3,0x3f,0xb4,0x69,0x88,0x04,0x7d,0x6f,0x4d,0x0f,0xf5,0x38,0x7f,0xa0,0x29,},{0x04,0x7c,0xff,0xca,0x8b,0x7b,0x11,0xac,0x6e,0xac,0xc0,0xea,0xa0,0xc5,0xb7,0x3c,0x75,0xb9,0xc6,0x37,0x95,0x69,0x73,0xaf,0x9d,0x97,0xb2,0xdd,0x5b,0x60,0x5d,0x6f,},{0xca,0xe9,0x68,0x79,0xe5,0xb6,0x03,0xbe,0x86,0x66,0x09,0xd4,0xa0,0x53,0xbf,0xa1,0x2a,0x51,0x37,0x8e,0x99,0xb2,0xa2,0x81,0x2e,0x47,0x89,0x26,0x7d,0x8f,0x32,0xf4,0x73,0x24,0x3f,0x8a,0xf7,0x4b,0x9b,0xe7,0x3f,0x47,0xde,0xa5,0x0f,0x0d,0x16,0x5e,0xbf,0x49,0x45,0x8b,0x73,0xe5,0x3d,0x88,0x58,0x0c,0x19,0x1a,0x18,0x2d,0x19,0x04,},"\xa2\x6b\x30\xa7\x69\x19\x79\x32\xa3\xa6\x28\x54\x96\x8d\x76\x01\x51\x61\x23\x66\x77\x8d\xc9\x94\x57\x6a\x2e\x0e\x03\x55\x49\x6b\x46\x20\x0e\x50\x69\x48\xa0\xd1\x02\xb6\x65\x1b\x2e\x73\x34\xca\x6c\x6e\xae\xf8\xbc\xa4\x4b\x42\x59\x70\xa0\xb3\x7d\x6b\xde\x0d\xa9\xd3\xc1\xb9\xf5\x1c\xbb\x25\xbc\x33\x5c\xd6\xfa\x92\x8a\x74\xf2\xc0\xdc\x2c\x6e\x99\xd3\x7a\x12\x86\x3a\x47\x4d\x4d\xf4\x3a\xad\x35\x41\x5f\xfc\xaa\x24\xd8\xc2\x9f\x91\x45\x72\xab\x2a\xbe\xc3\x89\x2d\xb4\x9e\x67\x9c\x5e\xa2\x20\xc2\xf5\x19\xa7\xd0\x33\xac\x1a\x2c\x5a\x46\x78\x69\xe3\x0e\xda\x3d\x26\x35\xca\x86\x34\x31\x47\x3f\x95\x8d\x55\x2b\xdc\x55\x82\x35\x2c\x29\x0d\x0c\xe4\xfa\x9c\xfd\x0a\xd4\x27\x99\xc2\x27\xec\x90\xb7\xc9\xe5\xdb\x9f\x5a\x7b\x6d\x56\x92\x12\xee\xd9\x4d\x32\x33\x26\x80\x5f\x2b\x3a\x00\x10\xd6\xc1\x1e\xb4\x10\x7c\x82\x83\x03\x76\x52\xf5\x0d\xc0\x67\xb6\xdc\x81\xf4\xdb"}, -{{0xe0,0xe7,0x2f,0x8f,0x17,0x86,0x33,0x62,0x67,0x33,0xbc,0xbd,0xa2,0xad,0x2a,0x50,0xe6,0x53,0x89,0x0f,0x15,0x35,0x9b,0x6c,0x22,0xfc,0x73,0x45,0xad,0x33,0x31,0x09,},{0xd1,0x3c,0xee,0x54,0x0d,0x84,0xb5,0x66,0x7d,0x51,0x6f,0xe7,0xec,0x72,0x39,0xbf,0x8d,0xa9,0x15,0x46,0xee,0x79,0x1f,0x84,0xed,0xd8,0xff,0xcf,0x3a,0x08,0x3e,0x76,},{0x14,0x55,0x21,0x71,0xb9,0x52,0x45,0xac,0x0f,0x0e,0x5a,0x6e,0x7a,0x2f,0x54,0x17,0x21,0x06,0x8d,0xb6,0x50,0xc6,0xda,0xda,0x04,0xc2,0x8c,0xab,0x7c,0x49,0x19,0x5f,0x64,0x36,0x71,0x21,0x44,0xcb,0x31,0x91,0x3c,0x56,0x2e,0x30,0xc3,0x9d,0x8a,0x85,0x49,0xfb,0x64,0xff,0xea,0x81,0xc7,0x44,0x51,0x43,0xb5,0xf2,0x32,0x86,0xda,0x05,},"\x79\x1f\xd6\x13\xc1\x09\x52\x92\xc8\xa4\xa2\xc8\x6b\x47\xae\x02\x61\x55\xb8\x46\x5b\x60\x7d\xbb\x41\x64\x77\xef\x79\xa2\x97\xc9\xd7\x75\x8c\xe3\x4a\xf9\xdc\xbf\x1c\x68\x47\x4f\x30\x90\x9f\xbe\x74\xb7\xba\x42\x96\x32\xf2\x40\x3a\xad\x83\x2b\x48\x6b\x72\xc2\x30\x54\xad\x42\xf7\x65\x3a\x9d\xdb\x45\x6c\xc7\x91\xf3\x48\x88\x6a\x7a\xe5\xdc\xec\x7c\x0b\xa8\x15\xf7\xa9\x3a\x10\xfe\x33\x1e\x90\x3b\x97\x0f\x7b\x50\x28\xbe\x49\xd1\x4b\xc5\x62\x0d\x63\x79\x26\x72\xb9\x8b\x94\x88\xc6\x7a\xe1\x66\x46\x69\x3e\x11\x20\x47\xf0\xac\x89\x21\xff\x56\x1c\x92\xdd\x05\x96\xd3\x2d\xf0\xa6\xe5\x07\xac\x1b\x07\xde\x51\x6c\x98\x42\x8d\x57\x0a\x37\xdb\x9b\xcd\x7c\x7e\x61\xc6\x94\x8a\xb3\xfe\x91\x25\x0d\xd1\xd5\xbd\x67\x12\x75\xdf\x9a\x97\x2f\x22\xc2\xba\x36\x80\x47\x47\xae\xc1\xea\x24\x16\xc1\xf4\x1a\xb8\x7b\xef\xde\x31\x62\x9b\x2d\x43\x31\x7c\xe4\x1c\xda\x03\x62\x62\x86\xc0"}, -{{0x54,0x4d,0xaf,0xd9,0x96,0x0d,0x82,0x97,0x56,0xc6,0xd4,0xb3,0xea,0xdd,0x44,0x37,0x5f,0xe7,0x80,0x51,0x87,0x6b,0xf9,0x78,0xa3,0x81,0xb0,0xde,0xca,0xaa,0x80,0x96,},{0xae,0x4f,0x64,0x25,0xc1,0xb6,0x7c,0xcb,0x77,0xf9,0xaa,0xcf,0xea,0x28,0xea,0xef,0x76,0x9c,0x8c,0xac,0xee,0x03,0x52,0x05,0xcd,0xcd,0x78,0x7e,0x8d,0x07,0x62,0x9d,},{0xa2,0xae,0x11,0x7c,0x8d,0xe4,0xca,0x6d,0x6f,0xe7,0x5e,0x46,0x60,0x23,0xbd,0x55,0x0c,0x26,0xfe,0xdd,0x3e,0x74,0xca,0x13,0xad,0xb6,0x25,0xf2,0x72,0xe1,0x75,0xf1,0x4d,0x5d,0xf5,0x50,0xac,0xe7,0xd8,0x22,0x88,0xef,0xef,0xab,0xf9,0x63,0x11,0xa1,0x23,0xbe,0xe2,0x38,0x89,0xad,0x37,0x11,0xbf,0xf2,0xb8,0x08,0x79,0x46,0xbf,0x0e,},"\x44\x7f\xe7\x34\x4c\xad\x1f\xae\x09\xd6\xa7\xd0\x5f\x09\xd5\x03\xc1\xb3\xd3\xd5\xdf\xa5\x84\x81\x0c\x35\xbc\x41\xe4\x95\x56\x93\x70\x61\x54\xe2\xd7\x51\xb2\xf1\xb5\x25\xe1\xa1\x45\x47\xba\x7f\x8b\x23\x20\x88\xa6\xfc\x92\x27\x02\xd9\x3a\x11\xcd\x82\x94\x9c\x27\xbe\xd6\x45\xdc\x35\x1f\xb4\xc1\x24\x2c\xf4\x1d\x01\x57\x54\x12\xe7\x92\xae\xd2\x14\x53\x1d\x94\xfd\x66\xe0\x3d\xd3\x2e\x97\x2f\xd7\x7f\x69\x47\xa3\x53\xe1\xae\x5e\x00\xf5\xa6\xca\x77\x99\x24\x72\xf0\x96\xb6\xe7\x47\x5f\xe5\x34\xe9\x13\xa7\x7b\xcb\x0d\x68\x1f\xdf\xb3\xa7\xa0\xdc\xb5\x6d\x27\x4d\xf4\xaa\x10\x9d\x4a\x8a\x37\x79\x4a\x92\x76\xf5\x00\x06\x69\x6f\xf1\x2c\xa4\xd0\x25\x40\x39\xdf\x0f\xb3\xf7\x2a\x96\x0d\xa0\x5c\x98\x72\xf2\xe3\x3e\xe8\x1d\x1c\xf7\xa6\xf4\x8b\xbc\xe0\xaa\x18\xc7\xc0\xf0\x6b\xa5\x5e\x67\x68\x9e\x0a\xf5\x87\xb5\x00\xea\xb7\x9c\xc7\xf9\x64\x0b\xca\x10\x4b\x7f\xbf\x31\xf0\x8e"}, -{{0xbf,0xbc,0xd8,0x67,0x02,0x7a,0x19,0x99,0x78,0xd5,0x3e,0x35,0x9d,0x70,0x31,0x8f,0xc7,0x8c,0x7c,0xc7,0xbb,0x5c,0x79,0x96,0xba,0x79,0x7c,0x85,0x54,0xf3,0xf0,0xf0,},{0x7c,0x5a,0xe3,0xba,0xb9,0x20,0x11,0x99,0xdf,0xbe,0x74,0xb7,0xd1,0xec,0x15,0x71,0x25,0xbd,0xba,0xa4,0x52,0x0f,0x50,0x1d,0xa3,0xf2,0x48,0x57,0x9d,0xc6,0xc2,0x2d,},{0xe4,0x86,0x15,0xb6,0x56,0x33,0xe6,0x19,0x93,0xb0,0xaa,0xa1,0xfa,0xfb,0x74,0xb9,0x62,0x9c,0x38,0x4f,0xd5,0x92,0xbd,0x73,0x5f,0xa1,0xf6,0x2c,0x5c,0xad,0x11,0x29,0x1f,0xcd,0x8c,0x2e,0x91,0xa5,0x0b,0xfe,0x0b,0x03,0xb4,0x35,0x02,0xff,0xf3,0xa5,0xc3,0x82,0xb9,0xc2,0x82,0x19,0x07,0xef,0xc3,0x4d,0xa5,0xba,0x05,0x4a,0xf0,0x0e,},"\x11\x7f\xae\x13\xe7\x87\x77\xb6\x21\x9f\x02\x02\x14\xc1\xb8\x7c\x57\x04\x6d\x1c\x09\xce\x82\xee\x2b\x56\x29\x89\x8d\x9b\x0d\xe7\x4a\x15\xcf\xe9\x9f\x80\x54\x8b\xa9\x13\xd7\x03\x6c\x56\x28\x5a\x4c\xba\x49\x3b\x52\xd2\xcb\x70\xd6\x36\x5a\xce\x3d\xa1\x2b\x1f\x34\xa2\x77\x8a\xf3\x6e\xf5\x2a\xb8\x2e\xde\x04\xca\xca\xf2\x79\x3f\x5f\x89\x83\x1e\x3b\x20\x5a\x9e\xe4\xc1\xd6\xfb\xda\xb4\xba\x4d\x9f\xae\x65\xdd\x79\xa5\xfe\x76\xb4\xb3\x9a\x30\x92\xcc\x71\x48\xd2\x11\xe8\x5e\xe8\x2a\xb4\x63\xd3\x4d\xce\xe9\x06\x1d\x9c\x21\xde\xd2\x05\x1b\xbd\x50\xb4\x13\xf0\xe2\x1a\x0e\x48\xd1\xff\xa8\xdc\xae\x24\x0b\x34\x95\xbe\x25\xd9\x31\x51\xb5\x7a\xa2\x71\xab\x99\xaa\x70\x8c\xa2\x80\x80\xca\xb4\x80\x4f\xce\xfa\x92\x9f\x5f\x1e\xf3\xf4\xc6\xc0\xfb\xfb\x40\xbe\xf7\xea\x1b\x50\x9b\x36\xba\x12\x60\x32\x35\x12\x37\x9d\x7b\xc3\xfd\xbb\x5d\x3f\xaa\xc9\xb0\x0e\x21\xf1\x2e\xa1\xca\x2e\x29"}, -{{0xdf,0x2d,0xf8,0xa9,0xd6,0x6d,0x56,0x38,0xcd,0xee,0x09,0x32,0x4e,0x7b,0x10,0xf8,0xed,0x29,0xab,0x91,0x38,0x7e,0x31,0x47,0xb7,0xdc,0x03,0xf7,0xcd,0x80,0x05,0x08,},{0x5c,0x04,0x2e,0x15,0x7f,0xb7,0xfb,0x12,0xd4,0xd4,0xfe,0xf2,0x84,0x71,0x41,0xec,0xfb,0x57,0xc1,0x25,0x3e,0x14,0xea,0xf3,0x00,0x4d,0x65,0x13,0xf5,0x2f,0xe6,0x25,},{0x9a,0x10,0x74,0x53,0x1e,0xd4,0x3d,0x07,0xbf,0xfc,0x7f,0x2b,0x6c,0x13,0xb8,0x83,0x8f,0xc7,0x5c,0xba,0x02,0xc7,0xd1,0xec,0x7b,0xa3,0x8b,0xca,0x3c,0xef,0x20,0xdc,0x9b,0xad,0xf3,0xa3,0x06,0x4a,0x2c,0x93,0xb1,0x84,0x24,0x41,0x42,0x0b,0x6a,0x8d,0x42,0x1a,0x96,0x0d,0x70,0xdf,0xb7,0xc7,0x0e,0xec,0x29,0x5f,0x21,0xf8,0x3f,0x0a,},"\x21\x57\x66\x15\xc9\x34\x6a\x63\xdc\xcf\x0c\x50\xec\xbd\x7c\x6d\x72\xad\x45\x2c\xfe\xd4\x3e\xa7\x32\x02\xcc\x7a\x98\x57\x60\x56\xb9\x66\x4b\x54\x62\x29\x05\xa1\xe7\x22\x17\x20\x73\x0a\xc6\x85\xd3\xbd\x39\x77\xec\x39\x59\xd4\x46\xbf\xa9\x41\xe7\x25\xb6\xfe\x16\xaf\xe5\x43\x2c\x4b\x4b\xde\xe7\xaa\x0f\xd8\x03\x09\x48\xed\x6f\xcb\xa7\xc0\xbd\xb4\x0c\x2e\x51\x7d\xa9\x74\x56\xe7\x4e\x1f\x93\xd5\xed\x67\x6d\xe0\xf4\xa8\xb0\xae\xa4\x49\x40\x4b\xd1\x5b\x6d\xa7\x9d\xc1\xb8\x13\x96\x5f\xe5\x57\x24\x10\xd7\x6f\x5b\x5e\xac\x66\x30\x50\x57\x03\x11\xdc\x98\x42\xb6\xfb\xf8\x80\x6a\xec\x03\x15\x17\x15\xca\xcf\x7f\x21\x80\x2e\x8b\xf5\xe9\x8a\x89\xc0\xd7\xd0\xd0\x98\xb7\x3c\x6e\xfc\x09\x96\x2e\x36\xb4\xe0\x30\xc1\xa6\x4b\x5d\x34\x9f\x5f\x20\x42\xc7\x44\x28\x67\x1e\x4a\x2c\x7f\xea\x0c\xae\xe2\x42\x2d\x85\xc4\xfc\xdd\xfe\xd3\x22\x13\x85\x9a\x69\x95\x5d\x4e\x3e\xbb\x7e\x1b\x20\x22"}, -{{0xe8,0xee,0x06,0x5f,0x99,0x07,0xf1,0xef,0xa2,0xda,0xec,0xb2,0x3a,0x04,0x25,0xf3,0x53,0x09,0x4d,0xa0,0x2b,0xc2,0xc9,0x31,0xf0,0xa5,0x87,0xef,0xc0,0xd1,0x3d,0xe1,},{0xc7,0x26,0x51,0xb7,0xfb,0x7a,0xc0,0x33,0x7a,0x17,0x29,0x77,0x49,0x6f,0xd7,0xf2,0xa7,0x2a,0xea,0x88,0x93,0x85,0x83,0x5e,0x56,0x3c,0x6b,0x60,0x53,0xa3,0x2d,0xc1,},{0xa5,0x10,0xdf,0xf4,0x2d,0x45,0x59,0xa1,0x9a,0x7b,0xf0,0xfe,0x0b,0xea,0x53,0xd3,0xe1,0xf2,0x2d,0xfa,0x6b,0xe5,0x50,0x39,0x89,0x5e,0x12,0xa5,0xd0,0x7d,0xa5,0xf2,0xe3,0x77,0x13,0xcc,0xb2,0xeb,0x21,0x60,0x11,0x62,0x8f,0x69,0x83,0xf8,0x71,0xfe,0xe2,0x86,0xe6,0x6f,0xff,0x4b,0xe7,0x58,0x2c,0x96,0x1a,0x1e,0xd7,0x56,0x84,0x04,},"\xa2\xf0\xc1\x37\x34\x73\xa3\x05\xd8\xf1\xd9\x91\x38\xb0\x6b\x9a\x96\x94\xff\xaa\x8a\x88\x22\x2d\xe9\xf7\x29\xbe\xe1\x30\x51\x75\xdf\xb1\x70\x01\xcc\x77\xf6\x7b\x6d\x40\xc9\x0c\x1a\x28\xfb\x22\x6c\x11\x28\x6d\xb4\xa1\x3e\x45\xe6\x92\x11\x24\x2b\xcd\xd0\x1c\xb6\xe2\xc4\x54\xe7\x6c\x0c\xab\x88\x1b\x4d\x2d\x9d\x3a\xb1\x00\xa5\xd6\x1d\x17\x25\xd8\x66\xe4\xfd\xb6\x6d\x93\xd7\x7f\x5b\x30\x86\x93\xb9\xb5\xa3\x33\xe5\x7f\xa2\x5d\x1e\x5d\x2e\x38\xdf\x6e\x4e\x9e\xc8\x41\x59\xbb\xee\x1f\xfe\xa9\x26\x83\x6a\x01\x01\xc9\x14\x83\xbd\x5b\xc8\x8a\x6f\x1c\xc4\xd4\xe7\xf0\x08\xad\x08\x45\x3a\x01\x23\x42\x9d\xd3\x35\x78\x1c\x7c\xbf\x8d\x68\x5a\x89\x99\xed\x11\x77\x60\x70\x04\xa1\x3c\x4c\xb5\xea\x49\x08\xc5\x42\x60\x7d\x3f\x2c\xd6\x69\x0c\xf1\xf2\xa7\x45\x5b\xbd\x38\xf5\x38\xf0\x7a\x10\x39\x64\x31\x7e\xfb\xce\xe3\x7e\xb4\x69\x31\xc0\x27\xcf\x15\x3e\xf8\x6e\x43\xd7\x82\x81\xeb\xd7\x10"}, -{{0xc7,0x2e,0x67,0xd8,0xc3,0xfe,0xc0,0x04,0xff,0x61,0x87,0x18,0xa9,0x09,0x9e,0xb8,0xad,0x7b,0x06,0xff,0x3b,0x8c,0x54,0x2a,0x7e,0x8b,0x98,0x47,0x31,0x34,0x75,0xe1,},{0x4e,0xb0,0x02,0xd3,0xcc,0xeb,0x18,0x8c,0x66,0x58,0xfe,0xc5,0x1c,0xb4,0x79,0xa6,0x52,0x64,0xac,0x55,0x5c,0x75,0xcd,0xc2,0x24,0x9c,0xf1,0xce,0x3d,0xef,0xc1,0x6d,},{0x2d,0x7b,0xab,0x8e,0xbd,0xa7,0xfc,0xa5,0xbb,0x3c,0x25,0xf5,0x1d,0xc5,0x1b,0x73,0xe6,0xff,0x6a,0x3b,0xb1,0xb5,0x2a,0xcc,0x78,0x11,0xa7,0xd2,0x59,0x5c,0xd6,0xfd,0xaf,0x73,0x04,0x94,0x41,0x8e,0x2f,0x57,0xef,0xdc,0x56,0x17,0xb0,0x66,0xfd,0x7b,0x62,0x07,0x68,0x0d,0x94,0xfb,0x8c,0x43,0xd3,0xd4,0x74,0x0b,0x41,0xcb,0x69,0x01,},"\xa8\xf3\x41\x35\xc0\x13\x2e\xc9\x5b\x64\xb0\xcb\xf5\x1d\x66\x90\x01\x43\x37\x04\x06\x79\x1f\xbb\x55\xf2\xb8\xca\x95\x3c\xc7\x4a\x46\xe0\x8b\x00\x2f\xa2\xda\x21\xb9\x51\xb8\x87\x1f\x7a\x29\xbc\x6d\x38\x79\x0a\xfc\x66\xa3\x29\xc3\x97\xd9\xf9\x25\x0b\xae\x0e\x30\xae\x34\x26\xe0\x8d\x8e\xad\x01\x79\xa3\xb3\x13\xc9\x08\x83\x91\x92\xf2\x89\xa3\xf3\xb6\xe9\x60\xb4\xc5\xce\xbe\xf0\xa0\x9d\xaa\x9c\x7a\x15\xc1\x9d\x4e\xbc\x6f\xc2\xac\x3c\xd0\x22\x32\xe8\x32\xb2\x34\xed\xd7\x96\x5d\x68\x7b\xfe\xb7\x58\xf7\x0f\xa7\x96\x38\x41\xb7\x85\x9b\xb9\x7c\x97\x1b\xd5\x57\xbc\x87\x69\x52\x4a\xc4\xc6\xee\xb3\x57\x97\x93\x33\x4b\x52\x2d\x17\x6b\xc6\x2f\x86\xb4\xd5\xc0\xd4\x01\x70\x36\xd2\xb6\xbd\x4e\x43\x84\x41\x6e\xf8\x26\x31\x39\x69\x1a\x86\x06\x17\x0d\x73\xc9\x3d\x64\x17\xdc\xc1\xa0\x8a\x53\x7c\x9e\xd4\x40\x04\x71\xa4\x6f\x52\x90\x7b\x46\xb1\x0a\x8b\x68\x89\xdb\xb4\x64\x7a\x8b\xbc\x71\x49"}, -{{0x69,0x64,0x50,0xb5,0x57,0xec,0x3c,0x94,0xcf,0x1a,0xf1,0x32,0x64,0x75,0x63,0x4a,0xa8,0x1d,0xef,0x38,0x14,0xff,0x30,0xa0,0x2b,0xa7,0xf2,0x04,0x4b,0x59,0xc0,0xfe,},{0x85,0x84,0x77,0x3c,0x56,0x6b,0x0e,0xed,0x3f,0x43,0x28,0x17,0x05,0xb5,0x75,0xa4,0x34,0xe4,0x7d,0x6c,0xf6,0xb2,0x51,0xb8,0x98,0x03,0xfe,0xf5,0x35,0x34,0xcb,0x29,},{0xce,0x8b,0x0a,0x57,0x79,0xf4,0xf5,0xf4,0x01,0xe8,0x4d,0x65,0x92,0x7a,0x0c,0x28,0xdf,0x82,0x9e,0x95,0xd0,0x9b,0xfa,0x97,0x11,0x1b,0x87,0x00,0x07,0x8f,0xf8,0x94,0xcf,0x72,0x77,0xe3,0x4a,0x71,0x61,0x44,0xd5,0x53,0x06,0xfc,0x9e,0x2f,0x64,0xcd,0x28,0x75,0x83,0xcc,0x80,0x03,0xbe,0x0e,0x8f,0xaf,0x26,0xaf,0x76,0x40,0x14,0x0e,},"\xcc\x25\x78\x29\xf3\x0a\x5f\x90\xdf\xdb\xc2\x47\xd4\x2e\x38\x87\x38\xb7\x6c\x41\xef\x8a\x82\xa5\xe0\x22\x5d\xdf\x1e\x38\x6d\x77\x08\x0b\x3b\x9d\xf8\x6c\x54\xb8\x5c\xdf\x2c\x32\xf3\x67\xab\xa0\xc3\xb6\xbf\x88\x8a\x5a\x69\x03\x52\x9b\x6a\xeb\x4d\x54\x07\xa1\x01\x80\x14\x91\x14\x13\x02\x28\xfc\x43\x56\xcc\xf3\x66\xb7\x7b\xe8\x97\x96\xa9\xe7\x1a\x0c\x69\x3f\x31\xe5\x84\xa4\xf1\x43\x09\x7b\xa3\x70\x36\x3b\x67\xb2\xf2\xe2\xfd\x8d\x6f\xe8\xb4\xe8\xdb\xf0\xd7\xdc\xc1\xa8\x36\x00\x41\x15\x8a\xa2\xaf\xf7\xe2\xa3\x25\xb8\xe5\x18\xf1\x93\xa2\x8b\xae\x05\xe3\xd5\x2b\x26\x62\x1a\xf4\x02\x02\x6d\x7f\x25\x0e\x86\xdc\xee\x30\x1a\x58\xb6\x31\xea\xdf\x45\x27\xe9\x58\xf0\x2a\x61\x58\x7f\x0b\xb5\x16\xce\xfa\xc0\x09\xfe\x51\x05\x2f\xff\x53\x33\x6d\xbd\x94\xe7\x26\x6d\x3b\x43\xca\xba\x8a\x1b\x38\xe5\xd8\x71\xc2\xa2\x4a\x4c\x41\x2f\xff\x3f\x7a\x9a\x52\xa8\xab\x23\xba\xc9\x79\x1b\x2b\x5a\x66\x9a"}, -{{0xa8,0xdd,0x35,0xf0,0x54,0xfb,0x6f,0xf6,0xf0,0xab,0x09,0x4a,0x0d,0x3d,0x1c,0x26,0x28,0x32,0x18,0x1d,0xf3,0x5c,0xcd,0x51,0x92,0x54,0x5e,0xbd,0x6a,0x9c,0xf5,0x29,},{0xca,0x41,0x23,0x38,0xd3,0x81,0x4b,0x88,0x6d,0x96,0x4b,0x71,0x92,0x5e,0x1a,0xab,0xb3,0xff,0xd0,0x78,0x34,0xdb,0xe7,0xdc,0x51,0x25,0x68,0x88,0x2b,0x53,0xe4,0xa3,},{0xfa,0x70,0x9f,0xbc,0x83,0x82,0xaf,0x83,0xd1,0x18,0x12,0x61,0x8d,0xfa,0xca,0x45,0x2e,0xab,0x83,0xe4,0xc5,0x3f,0xe9,0xe5,0x85,0x84,0x67,0xd0,0x7b,0x67,0x67,0xe1,0x79,0x75,0xc1,0xe0,0x63,0x93,0xd6,0xdd,0xe1,0x5a,0x34,0xd9,0x47,0x3d,0x1c,0xf4,0xd6,0xd8,0xc2,0xd5,0x73,0x94,0x52,0x00,0x80,0xfa,0xc4,0xe4,0x34,0x48,0xbe,0x07,},"\x55\xa7\xad\x91\x32\xd6\x3a\xc1\x61\xe7\xad\xb1\x32\xb9\x18\x9f\xdd\x84\xc3\x61\xc1\xe4\xf5\x41\x9a\x6d\xf7\x3d\xf4\xd7\xae\xb2\x9a\x8d\xc4\xbf\x01\x49\x0d\x4f\x48\x4e\x2d\x12\x07\x75\x17\xf5\xfc\x7a\xd0\xbd\xed\xa2\x0a\x6c\xb0\x22\x79\x42\x29\x0b\x08\xc3\xfe\x33\xab\x9b\x21\x35\xbc\x38\xa6\x57\x9a\x54\xbd\x98\x2f\x7d\x14\x17\xce\x86\x71\x17\xae\xa9\x18\xdb\xd3\xdd\x47\x6e\x7e\xb5\xb5\xd3\xc3\xe4\x8a\x86\x4a\x2f\x94\x2a\x31\x50\x1a\xa2\xb2\x9b\x53\xb8\x05\x13\xc9\x5d\x6a\x41\x18\x44\xf0\xde\xdf\x16\xa2\x9a\xc2\x67\xd3\x31\xe5\x3b\xdc\x25\x39\xbf\xcf\x32\xdc\x9b\x5d\x64\x0f\x12\x31\xe2\xca\xfb\x0a\xe9\x4b\xb5\x18\x94\x26\x86\x33\x64\x26\x2e\xfb\x47\xb5\xb5\xcc\xdb\xbc\x93\x32\x42\x16\xa7\x99\xb6\xf5\x0d\x37\x04\xf1\x5e\xd5\x9a\xf6\xcc\x7d\x91\x0c\xf0\x62\xd1\xbe\x63\x2d\xca\x5d\xf2\x13\xd4\x87\xd8\x56\x4f\x2b\x2b\xd7\xd8\x18\xbb\xa2\x7c\x36\x40\x13\xd9\x2d\x7f\x72\x62\x54\x62"}, -{{0xae,0x1d,0x2c,0x6b,0x17,0x1b,0xe2,0x4c,0x2e,0x41,0x3d,0x36,0x4d,0xcd,0xa9,0x7f,0xa4,0x76,0xaa,0xf9,0x12,0x3d,0x33,0x66,0xb0,0xbe,0x03,0xa1,0x42,0xfe,0x6e,0x7d,},{0xd4,0x37,0xf5,0x75,0x42,0xc6,0x81,0xdd,0x54,0x34,0x87,0x40,0x8e,0xc7,0xa4,0x4b,0xd4,0x2a,0x5f,0xd5,0x45,0xce,0x2f,0x4c,0x82,0x97,0xd6,0x7b,0xb0,0xb3,0xaa,0x7b,},{0x90,0x90,0x08,0xf3,0xfc,0xff,0xf4,0x39,0x88,0xae,0xe1,0x31,0x4b,0x15,0xb1,0x82,0x2c,0xaa,0xa8,0xda,0xb1,0x20,0xbd,0x45,0x2a,0xf4,0x94,0xe0,0x83,0x35,0xb4,0x4a,0x94,0xc3,0x13,0xc4,0xb1,0x45,0xea,0xdd,0x51,0x66,0xea,0xac,0x03,0x4e,0x29,0xb7,0xe6,0xac,0x79,0x41,0xd5,0x96,0x1f,0xc4,0x9d,0x26,0x0e,0x1c,0x48,0x20,0xb0,0x0e,},"\x9e\x6c\x2f\xc7\x6e\x30\xf1\x7c\xd8\xb4\x98\x84\x5d\xa4\x4f\x22\xd5\x5b\xec\x15\x0c\x61\x30\xb4\x11\xc6\x33\x9d\x14\xb3\x99\x69\xab\x10\x33\xbe\x68\x75\x69\xa9\x91\xa0\x6f\x70\xb2\xa8\xa6\x93\x1a\x77\x7b\x0e\x4b\xe6\x72\x3c\xd7\x5e\x5a\xa7\x53\x28\x13\xef\x50\xb3\xd3\x72\x71\x64\x0f\xa2\xfb\x28\x7c\x03\x55\x25\x76\x41\xea\x93\x5c\x85\x1c\x0b\x6a\xc6\x8b\xe7\x2c\x88\xdf\xc5\x85\x6f\xb5\x35\x43\xfb\x37\x7b\x0d\xbf\x64\x80\x8a\xfc\xc4\x27\x4a\xa4\x56\x85\x5a\xd2\x8f\x61\x26\x7a\x41\x9b\xc7\x21\x66\xb9\xca\x73\xcd\x3b\xb7\x9b\xf7\xdd\x25\x9b\xaa\x75\x91\x14\x40\x97\x4b\x68\xe8\xba\x95\xa7\x8c\xbb\xe1\xcb\x6a\xd8\x07\xa3\x3a\x1c\xce\x2f\x40\x6f\xf7\xbc\xbd\x05\x8b\x44\xa3\x11\xb3\x8a\xb4\xd4\xe6\x14\x16\xc4\xa7\x4d\x88\x3d\x6a\x6a\x79\x4a\xbd\x9c\xf1\xc0\x39\x02\x8b\xf1\xb2\x0e\x3d\x49\x90\xaa\xe8\x6f\x32\xbf\x06\xcd\x83\x49\xa7\xa8\x84\xcc\xe0\x16\x5e\x36\xa0\x64\x0e\x98\x7b\x9d\x51"}, -{{0x02,0x65,0xa7,0x94,0x4b,0xac,0xcf,0xeb,0xf4,0x17,0xb8,0x7a,0xe1,0xe6,0xdf,0x2f,0xf2,0xa5,0x44,0xff,0xb5,0x82,0x25,0xa0,0x8e,0x09,0x2b,0xe0,0x3f,0x02,0x60,0x97,},{0x63,0xd3,0x27,0x61,0x5e,0xa0,0x13,0x9b,0xe0,0x74,0x0b,0x61,0x8a,0xff,0x1a,0xcf,0xa8,0x18,0xd4,0xb0,0xc2,0xcf,0xea,0xf0,0xda,0x93,0xcd,0xd5,0x24,0x5f,0xb5,0xa9,},{0xb6,0xc4,0x45,0xb7,0xed,0xdc,0xa5,0x93,0x5c,0x61,0x70,0x8d,0x44,0xea,0x59,0x06,0xbd,0x19,0xcc,0x54,0x22,0x4e,0xae,0x3c,0x8e,0x46,0xce,0x99,0xf5,0xcb,0xbd,0x34,0x1f,0x26,0x62,0x39,0x38,0xf5,0xfe,0x04,0x07,0x0b,0x1b,0x02,0xe7,0x1f,0xbb,0x7c,0x78,0xa9,0x0c,0x0d,0xda,0x66,0xcb,0x14,0x3f,0xab,0x02,0xe6,0xa0,0xba,0xe3,0x06,},"\x87\x4e\xd7\x12\xa2\xc4\x1c\x26\xa2\xd9\x52\x7c\x55\x23\x3f\xde\x0a\x4f\xfb\x86\xaf\x8e\x8a\x1d\xd0\xa8\x20\x50\x2c\x5a\x26\x93\x2b\xf8\x7e\xe0\xde\x72\xa8\x87\x4e\xf2\xee\xbf\x83\x38\x4d\x44\x3f\x7a\x5f\x46\xa1\x23\x3b\x4f\xb5\x14\xa2\x46\x99\x81\x82\x48\x94\xf3\x25\xbf\x86\xaa\x0f\xe1\x21\x71\x53\xd4\x0f\x35\x56\xc4\x3a\x8e\xa9\x26\x94\x44\xe1\x49\xfb\x70\xe9\x41\x5a\xe0\x76\x6c\x56\x5d\x93\xd1\xd6\x36\x8f\x9a\x23\xa0\xad\x76\xf9\xa0\x9d\xbf\x79\x63\x4a\xa9\x71\x78\x67\x77\x34\xd0\x4e\xf1\xa5\xb3\xf8\x7c\xe1\xee\x9f\xc5\xa9\xac\x4e\x7a\x72\xc9\xd7\xd3\x1e\xc8\x9e\x28\xa8\x45\xd2\xe1\x10\x3c\x15\xd6\x41\x0c\xe3\xc7\x23\xb0\xcc\x22\x09\xf6\x98\xaa\x9f\xa2\x88\xbb\xbe\xcf\xd9\xe5\xf8\x9c\xdc\xb0\x9d\x3c\x21\x5f\xeb\x47\xa5\x8b\x71\xea\x70\xe2\xab\xea\xd6\x7f\x1b\x08\xea\x6f\x56\x1f\xb9\x3e\xf0\x52\x32\xee\xda\xbf\xc1\xc7\x70\x2a\xb0\x39\xbc\x46\x5c\xf5\x7e\x20\x7f\x10\x93\xfc\x82\x08"}, -{{0x6b,0xce,0x4d,0xfd,0x53,0xbf,0xa5,0x50,0x6f,0x2f,0x55,0x4d,0x2d,0x99,0x4a,0x0d,0xc4,0x0c,0xaf,0xcd,0xec,0x7e,0x1b,0xe0,0x50,0x00,0x6e,0x5c,0x5a,0x4b,0x38,0xa1,},{0xc8,0x90,0x02,0x37,0x28,0xd8,0x39,0x70,0x70,0x29,0x17,0x71,0xe6,0x5e,0x03,0x4d,0x34,0xd4,0xaa,0xe5,0xe2,0x47,0x65,0x3e,0x4f,0xf4,0xc0,0x74,0x59,0x1d,0xa7,0x02,},{0x99,0xae,0x67,0x82,0xff,0x27,0x64,0x6c,0x27,0xf6,0x1e,0x23,0x63,0x6a,0xe1,0x88,0x15,0x21,0xcf,0xa5,0xed,0x25,0x6f,0x70,0xbc,0xe7,0xce,0x00,0xb6,0x82,0x80,0xce,0x8e,0x0c,0x82,0xaa,0x76,0x5a,0xfb,0x8b,0x5a,0x1f,0xf2,0xfe,0x42,0xc5,0x74,0x41,0xe4,0x58,0xe4,0x43,0xdc,0x8b,0x12,0x34,0x77,0xae,0x33,0xd8,0x84,0x88,0x8c,0x0b,},"\x32\x39\x19\x07\x47\xee\x33\xd4\x0b\xf8\x70\xac\x9a\xd4\x9d\x88\xee\x32\x0f\x63\xc0\x52\x57\xe8\xab\x2c\x60\x30\x65\x97\xce\x76\xd1\xf1\xe7\x92\xab\x6a\x65\xca\xa5\x44\xfb\xec\x20\x89\x2f\xd4\x96\x05\x94\xf3\x1b\x37\x63\xef\x07\xd4\x98\x2e\xae\x4a\x2d\xbf\x33\x77\xdc\xc1\xe3\xf9\x5e\x46\xed\x39\xb7\xf0\x22\x2f\x04\xbb\x5c\x3b\x43\x4c\x8f\x9f\x31\x0d\xe9\xf1\x22\xa2\x9f\x82\x41\xe8\x1e\x20\x65\x49\xae\x62\x8d\x2b\x8a\xd7\x68\x97\x2c\x98\x84\x7c\x11\x88\xad\x04\xc8\x35\x35\x63\x78\xbe\xf7\x9c\xd1\x26\x86\x94\x05\xb1\x29\xfd\xbd\xc3\xbc\x48\x9c\xbd\x13\x99\x50\x5d\xad\xef\x76\x17\xb5\xbe\x5d\xa1\x73\xd3\xe8\x0e\x58\x38\xc9\x9e\x34\x92\x76\x24\x27\x29\xe0\x21\x9b\xd7\x47\x6a\xe5\xc4\xf8\x1a\x12\x87\x8f\xb4\x83\xa6\xc0\xe9\xb0\xdf\x29\x62\xeb\x0b\xf0\x01\x57\x78\x2c\xf7\x68\xa1\xb7\x1c\x01\x01\x69\xee\x85\x22\xde\xf0\x02\x4a\xd7\xe4\x57\x75\xa2\x90\x63\x9c\x53\xaa\xf4\x81\x98\xc4\x2d\xe7\x5c"}, -{{0x17,0x86,0x1a,0x8d,0x41,0x54,0xac,0xd4,0xfa,0x9c,0x8f,0xc9,0x47,0xc1,0x88,0x6c,0x11,0x29,0x0b,0xe2,0x22,0x87,0x2f,0xf4,0xf8,0xcd,0x25,0x93,0x9e,0x4d,0x13,0x61,},{0x43,0x77,0x3f,0x44,0x49,0x06,0x5e,0xae,0xba,0xf8,0x93,0x7b,0xaf,0x75,0x85,0x60,0xb0,0xc4,0xd2,0xde,0x46,0x97,0x78,0x39,0xb3,0xb8,0x73,0xd5,0xd7,0xd5,0xfd,0x8f,},{0xa5,0xee,0x02,0x4c,0xcd,0xbd,0xd4,0xc2,0x1a,0x24,0x70,0x9e,0xc5,0x3d,0xcc,0xb7,0xee,0x17,0x62,0x6d,0xd0,0x0a,0x09,0x3d,0x08,0x84,0xf5,0xb4,0x5c,0x4c,0x9d,0x16,0x91,0x84,0x01,0x51,0xc3,0x3c,0x8a,0xa0,0x7b,0x69,0xb3,0x4e,0x16,0xf6,0x16,0x47,0xeb,0xe7,0x93,0xae,0x4d,0xaa,0x70,0xcf,0xf4,0x8e,0x6a,0xb4,0x2f,0xfd,0xbc,0x00,},"\x18\x4d\xf5\xea\x32\x15\xeb\xe1\x80\x39\x0b\x0f\xf0\x42\xba\x23\x81\x15\x5a\x03\x8d\xc7\x32\xf7\x6a\x01\xc7\xe7\x0f\x82\xd1\xcc\xc9\xde\x9a\x05\x96\xb3\xfe\xe4\x47\x20\x9c\x99\x26\x84\xf6\x43\xdf\x21\xf4\xcf\x9d\x17\x92\x62\x79\x0e\x86\x23\xe4\x24\x72\xdc\x35\x19\x97\xe6\xda\x18\x9c\x07\xe1\xe8\x88\x2c\x07\xf8\x6c\x63\x37\xec\x01\x13\x91\x2c\xf9\x22\x15\xc8\xde\x19\x82\xb8\xfc\x57\xbf\xab\xc5\x5a\x3e\x87\x36\xf7\x36\x10\x42\x9d\x97\xfe\xb5\x1d\x79\x4f\x50\x5d\x0c\x5a\x0b\x3a\xbd\x48\xef\x7f\x55\xa6\x28\xf9\x0b\x85\x67\xa1\xc1\x5e\xa9\xd1\x90\xd7\xbf\x4e\xc2\xbc\x93\x34\xad\xa6\xcb\x92\x80\x8d\xfc\x20\x64\x83\x6f\xcf\xa4\x6b\x96\xfd\x7a\x5d\x6f\x4b\x05\x4d\xab\x09\xb7\x35\x95\xfe\xb8\x9e\xd0\x05\xb9\xec\x9d\x31\x88\x12\x1d\xe6\x96\x96\xd6\x4e\x7c\x7b\xbd\xfc\x1c\x46\x9f\xaf\x14\x8c\x38\xa7\x78\x59\x70\xaf\xe1\xac\xd0\x6a\x92\xc9\x94\x78\xfe\x44\x97\x4e\x3b\xb2\x09\x5e\x44\x67\xe9\xb2\xe9\x96"}, -{{0x0a,0x84,0xba,0xa5,0x4f,0x11,0xcf,0x17,0x09,0x0f,0xec,0x61,0xf3,0xf9,0x40,0x15,0x08,0xa3,0xa0,0x38,0x87,0xac,0xa1,0xa7,0x93,0x93,0x94,0xb1,0xee,0x40,0xa9,0x25,},{0x30,0x9a,0x73,0xc6,0x2d,0x23,0xd7,0x40,0xf2,0xe9,0x3c,0x18,0x58,0x7a,0xc1,0x5e,0x7e,0xc4,0x80,0xd2,0x5a,0xc0,0x79,0x4e,0x10,0xf8,0xcd,0x46,0x1c,0xc2,0xb1,0x30,},{0x4d,0x87,0x0b,0xd5,0x3a,0xf8,0xf1,0x3f,0x21,0x4d,0x99,0x34,0xec,0x90,0x3a,0xc4,0x82,0x84,0x09,0x2c,0xd9,0xb1,0x62,0xa4,0x4c,0xce,0xc8,0x51,0xfa,0x94,0x2d,0xe7,0x15,0xcc,0xda,0x07,0xb7,0x99,0x1d,0x71,0x27,0x23,0xe7,0xa4,0xd5,0xb4,0xf0,0x37,0x4a,0xb8,0x5a,0xc3,0x86,0x7e,0x0b,0x53,0xeb,0xc4,0x6b,0x53,0x0f,0x9f,0xed,0x05,},"\xfe\x70\x01\x7b\x14\x67\x8b\x0d\x3a\xd0\x3e\x18\x3d\x6f\x53\x31\x43\x78\x37\x9a\xb3\xda\x65\xb3\x51\x12\x57\xb3\xd5\x40\x86\xe8\x6f\x20\x31\x13\x90\x21\x39\x1a\xf9\xd7\x20\x85\xff\x7c\x3d\xc8\xc1\xe2\xd9\x1e\x53\x33\x38\x55\x42\x3d\x0f\x78\x5e\x2c\xc5\xf8\xb7\x79\x9f\xcf\x1b\x70\xe6\xbe\xcb\x78\x8e\x53\xe9\x02\x0f\x29\x95\xdd\xb0\xc3\x83\xa1\xf8\x10\x38\xfc\x3d\x54\x3c\xe0\xa3\x8c\x9c\x28\x8a\x9b\xc4\x07\x7f\x42\x77\xdc\xc6\xc5\x64\x22\x63\xfc\xfe\x19\x68\x80\x05\xa6\x03\xf5\x76\x75\xd2\x43\x4f\x3e\xd1\xf4\x6d\x32\xf1\x4e\xae\xb0\x73\xe8\x3e\xe7\x08\x6d\xa2\xfb\x67\x65\x9d\x3f\xb6\x8c\x62\x32\x0b\x77\x27\xb3\xb8\xea\x00\x65\x76\xbc\x2c\x7e\x6b\x5f\x1e\xce\xfa\x8b\x92\xe7\x0c\x92\xc8\x89\x51\xd0\xc1\x2d\x91\xde\x80\x1c\x38\xb7\xca\x5a\x0a\x04\xb4\xc3\x42\x9a\xba\x86\x38\x6e\x96\xe0\x6a\xfd\x20\xd4\xc5\xc2\xfe\x2b\x9b\x42\x73\xeb\x05\x20\x1a\x79\x27\x3a\xbd\xbe\xb3\x7e\xd1\x83\x0d\x22\x6b\x6b\xdb"}, -{{0x38,0x37,0x94,0x23,0xda,0xfd,0xbf,0x25,0xe1,0x9d,0x72,0x31,0xbd,0xdd,0x80,0xb4,0xce,0xfc,0xfe,0x2a,0xed,0x93,0x25,0x84,0xdf,0xa0,0xcc,0x3c,0x9f,0x92,0x32,0xde,},{0x59,0x7e,0x81,0xdc,0xee,0x94,0x48,0xb7,0x7d,0xe6,0x82,0x9e,0x79,0x21,0xc8,0xa3,0x90,0x53,0x5d,0x89,0xa0,0x84,0x94,0x30,0xae,0xd6,0x63,0x64,0xee,0x14,0x0d,0x8b,},{0xd8,0xb5,0x0a,0x88,0xae,0xd6,0xf2,0xa9,0x6d,0x08,0x22,0x13,0xad,0xf8,0xb2,0x51,0x9f,0x6a,0x0b,0xbd,0x30,0xdd,0x3c,0xb0,0xf3,0xfd,0x3c,0xe1,0xc6,0x43,0xfc,0x02,0x99,0x46,0xcd,0x43,0x46,0x2e,0xd2,0x25,0x13,0xf1,0xd6,0x5f,0xca,0x24,0xbd,0xe3,0x81,0x81,0x66,0xba,0xa8,0x6d,0xaa,0x79,0x87,0x92,0xaf,0xaf,0xe0,0xc1,0xa1,0x0a,},"\x36\x12\x5c\xa6\x66\x68\x80\x29\x06\x23\x7e\x63\xa2\xfe\x5a\xe6\x10\xf1\x1a\x7c\xf9\x25\x20\xd1\x9e\x66\x90\xa3\xad\xfa\xfd\x5d\x07\xa7\x84\xbc\x1a\x0e\x18\x52\x73\xd1\x1d\x34\x0d\x5e\xff\x90\x15\x97\xde\xdf\x45\x0c\x46\x99\xd4\x3f\x3f\xb1\x68\xd5\x57\xf6\xc9\xc0\x30\x77\xc3\xcd\xc3\x70\xd3\x48\x32\xcc\xdf\x2a\x8e\x3d\x75\x79\x64\x90\xed\x02\x42\x89\x9d\x25\xdd\xf4\x4b\xfc\x66\xf3\x29\xcf\x4c\x45\x16\x87\x03\xc3\x1b\xc9\x20\x2d\x89\x0f\x39\x69\xff\xd3\xac\x35\xa1\x28\x18\xdc\xa7\x51\xce\xb8\x80\x8f\xe8\x1e\xfa\x26\xa5\xe0\xd2\x00\xc5\xec\x1d\x94\xa5\x09\x7e\xa7\x4b\x64\x98\xfe\x28\x8f\x30\xc4\x8d\x72\x7e\x9d\x3d\x35\xc8\xe1\x2d\x85\x42\x07\x02\x55\x6f\x28\x61\x48\x4f\xfd\x09\xb4\xf1\x22\x65\xcc\x9a\xba\xfe\xb8\x2c\xf5\x90\x02\x88\x95\xa7\xd0\x50\xff\x57\xcc\xf5\xf2\x80\x22\xd0\x16\xab\x40\x94\xb0\x62\xe4\x8b\x66\xfd\x36\xd1\xe1\x96\x26\xe5\x21\x5e\xfa\x40\xfb\x7e\x3b\x70\x62\xf8\x1e\x95\x48\x30\xc9"}, -{{0xf9,0x25,0xd2,0x74,0xaa,0xf1,0xfe,0x1a,0x21,0x65,0x62,0x37,0x38,0x5e,0x97,0xf7,0x78,0x3e,0x78,0x09,0x0c,0x5d,0x42,0x17,0xfe,0xce,0x70,0x57,0xc8,0x0f,0x42,0x6d,},{0x3b,0x0f,0xc3,0x70,0xbe,0x3a,0x4b,0x19,0xa8,0x8a,0xb9,0x98,0xc5,0x95,0x04,0xff,0xb5,0x9a,0x87,0x60,0x63,0x38,0xe6,0x73,0xdf,0x5b,0x3f,0xab,0x4d,0x9b,0xfb,0x8d,},{0x79,0x54,0x9a,0x31,0x7d,0x10,0xa0,0xbe,0x32,0x2a,0x94,0xa1,0x51,0xad,0x11,0xe7,0x7e,0xfc,0x48,0x36,0xcc,0x80,0x06,0xa8,0x50,0x81,0x27,0x3d,0x76,0x02,0xa6,0x38,0x96,0x3a,0x9c,0xaf,0x19,0xc3,0xed,0xf1,0xe2,0x5f,0xad,0x1e,0x9d,0x68,0x70,0x1a,0x71,0xde,0xa7,0x27,0xda,0x6a,0x5c,0x5b,0xca,0xc9,0x33,0x95,0x89,0x22,0x4b,0x05,},"\x14\x3c\xaa\xfa\x5f\x62\xb1\x3e\x43\xdf\xfa\x49\xd4\x20\xfa\x99\xf7\x71\xb1\x92\x6d\x40\xd6\xcb\x2b\xbb\x42\x7f\x27\xb6\xc2\x66\xeb\x3d\xeb\x2d\x8b\xbb\xd4\x7b\x82\x14\xad\x40\x25\x1c\xb1\x90\x7a\xd6\x5e\xb9\x41\x93\xe5\x4a\xd8\x5c\x67\x00\xb4\x18\x9e\x80\xf1\xcc\x01\x54\xc6\x3e\xd1\x51\xa8\xbb\xbd\x30\xe0\x16\x37\xca\x58\xe7\x0a\xa3\xee\x52\xef\x75\xd0\x87\x30\x78\xa4\x05\x01\x4f\x78\x6e\xb2\xd7\x7b\x7f\x44\x22\xf9\x27\x82\x3e\x47\x5e\x05\xb2\x42\x45\xf9\x06\x8a\x67\xf1\x4f\x4f\x3c\xfb\x1e\xb3\x0b\xfe\xde\x7b\x32\x62\x23\x0c\xed\x9e\x31\x36\x1d\xb1\x96\x36\xb2\xc1\x2f\xdf\x1b\x9c\x14\x51\x0a\xcd\x5b\xc1\x8c\x0d\xdf\x76\x35\xe0\x03\x50\x3e\x6f\x71\xe1\xc3\x65\xcd\xfb\x4c\x65\xee\x75\xb4\xde\x06\x94\xaf\x87\x07\x63\x74\xd6\x31\xe6\xc4\xb8\xe2\x40\xfa\x51\xda\xb5\xe1\xf8\x0c\xa2\xa0\x6c\x49\xf4\x2e\xa0\x9e\x04\x75\xde\xfb\x18\x4d\x9c\xde\x9f\x58\xf9\x59\xe6\x40\x92\xaa\xc8\xf2\x02\x7e\x46\x81\x26\xf2\xfb"}, -{{0x97,0x1f,0x80,0x6b,0xe6,0xf0,0x7d,0x41,0xbe,0x88,0x30,0xff,0x8d,0xae,0x70,0x4b,0x08,0x63,0x8a,0xd6,0xcf,0xf7,0x22,0xd8,0x43,0x25,0x38,0x12,0x7b,0x76,0x96,0x25,},{0xaf,0x6a,0xc9,0x8d,0xce,0x20,0x78,0xa6,0xc7,0x3f,0x60,0x97,0xba,0xb6,0x3f,0x20,0x5c,0xaf,0x69,0x53,0xaf,0xa2,0x84,0xd0,0x42,0xbd,0x50,0xa4,0xfc,0xe9,0x6c,0xb4,},{0x20,0x37,0xa0,0xa7,0x67,0x4b,0x84,0xff,0x27,0xd0,0xb2,0x2f,0x62,0xb4,0xba,0xc6,0x5e,0x2d,0xc0,0xf5,0xfd,0xc8,0x99,0xfe,0xb7,0x80,0x0f,0x25,0xc2,0x99,0x81,0xde,0xe6,0x41,0xc5,0xa5,0x0f,0x8b,0x94,0x10,0x97,0x0b,0x49,0xd2,0xd5,0x36,0x58,0xc8,0x9e,0xe1,0x69,0x61,0xdc,0xcf,0x53,0x91,0xa6,0x91,0x8f,0x2a,0x84,0xea,0xda,0x0b,},"\x01\x34\x55\xd0\x49\xaa\x54\xed\x99\x5f\xbd\x94\xe6\x36\x99\x55\x49\x53\x95\xe4\x43\x88\x22\x25\x9b\x10\x60\xe9\xa3\x47\x79\x04\x2a\x1a\x69\x21\x1f\x6e\xa2\x07\x73\x99\xdd\x23\x48\x06\xba\x0b\x35\x3c\xd7\x9a\x57\xe1\xc4\x9b\x25\x0a\xb2\x71\x06\xdc\xde\x57\x6e\xcf\xa1\x15\xea\xe4\x61\xfe\xbb\x12\xd2\xda\x25\xff\xcf\x17\xb7\x15\xf8\xd9\x5c\x2f\x0c\x42\x5d\x5a\x81\xf7\x00\x11\x5b\x70\xd4\x9e\x1c\xfe\x49\xfc\xaa\x14\xfa\x20\x5e\x28\xec\x85\x24\x7f\x1a\x6e\x71\x28\xbf\x3b\xb3\x06\x0d\xc0\x84\x64\xbd\xa6\x53\x85\x40\xd0\xac\x47\x20\x93\xe5\xa0\x72\x0f\xde\x2f\x3d\xc4\x78\x8e\x0e\x9b\x0d\xbf\xe2\xa2\xb5\xf1\xa0\xf3\xf8\x0d\xe9\x84\x02\x5b\x15\xc6\x5a\xf7\x7f\x67\x1e\x1c\x5e\x28\x40\x44\x4d\xe5\xc7\xed\xa0\x25\xe6\xdc\x1a\x3f\xf1\x6e\x26\xcc\x54\xcd\xee\xd5\x6b\xe7\x3f\x9b\x01\xab\x2b\x1b\xc1\x6c\x8e\xf5\x8a\x5b\x76\xdd\x47\x28\x78\x07\xe5\xc5\x0f\x0d\x7c\x0a\x5b\x81\x20\xdf\xde\x64\x5a\x01\x2c\x5c\xf1\x14\x91\xbc"}, -{{0x2b,0xb0,0x65,0x2f,0x8f,0xff,0x69,0x01,0x99,0x11,0x48,0xc6,0x8a,0x32,0x67,0x87,0x72,0x71,0x00,0x6a,0xe9,0x58,0x91,0x49,0xbb,0x20,0x68,0x50,0xcd,0xf5,0x2f,0xb0,},{0xc0,0x3b,0x77,0xbe,0x98,0x3e,0x74,0xa2,0x34,0xc1,0x98,0x64,0x96,0xb2,0x92,0xe1,0x39,0x99,0x2e,0xb7,0x52,0x9e,0x70,0xb3,0xaf,0xad,0x7a,0xe4,0xfd,0xcf,0x8a,0x66,},{0x4e,0x15,0x8d,0xea,0xae,0xc3,0xd8,0x89,0x41,0x29,0x6a,0xf2,0xd2,0x73,0x41,0x01,0x2b,0x02,0x41,0xd4,0xe0,0xf4,0x6e,0x43,0x5e,0x37,0x5c,0x98,0x75,0xe8,0x9f,0x5e,0x32,0xc0,0x57,0xb5,0x27,0xbc,0x34,0x11,0xaf,0x09,0x6a,0x77,0xbf,0xce,0xb4,0x5b,0x98,0x3e,0xfe,0x45,0x5e,0x3f,0x03,0x15,0x5d,0x6b,0xc7,0xb0,0xac,0xc8,0xe6,0x0c,},"\xb9\x23\xca\x67\xe3\x96\xd8\x65\x6f\xa3\xdb\xce\x82\x89\xa3\x8b\xd3\xc1\x28\xce\xfb\x30\xef\xc1\x86\x2b\xb9\x44\xb4\x50\x78\x05\x41\x98\x24\xce\x2b\x83\xd6\x90\xef\x4c\xf1\x07\x49\x28\x17\x14\x3b\xf6\x4c\x02\x49\x89\xaf\x1a\x7d\x2e\x1f\x5a\xc9\x78\x74\xf8\x6b\xb0\xd3\x77\x3f\xf8\x40\xf5\x14\xd9\xa1\x39\x4a\x39\x59\xb0\x11\xd3\xa6\xb8\x16\xa3\xfa\xe5\xde\x17\xb2\xa9\xff\x34\x98\x63\xd2\x7f\xbb\xb5\x0c\xca\x73\x41\x08\x75\x10\x00\xd6\x35\x8c\xa0\x64\x7a\x93\xeb\x49\xe2\xe7\xaf\x06\x28\x7d\x48\xf2\xc0\x9d\x5c\x1c\x73\xe4\xd8\xf7\x7e\xa2\xbc\xaa\x73\x56\x79\x5b\x26\x72\x87\x19\xbe\xd5\xff\xdb\x82\x15\x78\xbd\x5d\x66\xbf\x92\xed\xaf\x8b\x23\x8b\x2b\xbd\x7d\x1e\x2c\x30\xa7\x87\xf9\x01\xa3\x3d\x0a\x76\x66\x9a\x9c\x3c\x7f\x2b\x55\x2c\xcb\x83\x49\xc7\xde\xd5\xe1\xa4\x61\x70\xcf\x28\xe3\x59\xe2\xfd\xd5\x4b\x05\xa5\x62\xf5\x28\xc6\x8a\x56\x97\x4d\xf8\x2d\x46\x66\x37\xc8\xe5\x32\x46\xa7\x21\x7e\x43\x86\x80\x1e\x0e\x32\x66"}, -{{0xdb,0x9b,0x81,0x2c,0xb3,0xc7,0xc0,0x3b,0x97,0x7f,0x48,0x7d,0x3d,0x65,0xcc,0xd9,0xcd,0x2f,0x3d,0xee,0x11,0x60,0x20,0x67,0xdb,0xfb,0x72,0xb5,0x89,0xff,0x3f,0x79,},{0xff,0xa0,0x38,0xad,0x8c,0x3b,0x37,0x8c,0xe7,0x5d,0x65,0x84,0x4d,0x08,0xe3,0xd6,0xa9,0x2d,0x19,0x4a,0x1b,0x78,0x62,0xe9,0xd9,0x72,0x0d,0x20,0x67,0x9b,0x29,0x44,},{0xa6,0x28,0xa7,0x74,0x21,0xb2,0xab,0xab,0x57,0x6e,0xed,0x35,0xd2,0xee,0x3d,0x14,0x56,0x1b,0x21,0xfa,0x14,0xa6,0xe2,0xfa,0xc2,0x63,0xc3,0xea,0xdd,0x79,0xf2,0xfc,0x06,0x69,0xf9,0x42,0x9b,0x91,0x0b,0x84,0x22,0xb4,0xb2,0x9a,0xc0,0x26,0xa4,0x2e,0x98,0xd1,0x81,0xbe,0x35,0x07,0xc5,0xed,0x7c,0x74,0x8a,0x1f,0xdc,0xf1,0xd8,0x07,},"\xa7\x00\x92\xc7\x69\x7c\xd4\xa2\x09\x56\x7c\x38\xba\x7f\xb7\x1a\xa8\xf1\x5e\x58\x27\xa2\x08\x76\x92\x39\x43\xfd\x6a\xdc\x65\x9c\x98\x67\xac\x6f\x58\xa6\x1d\xc7\xce\xc3\xd3\x62\x41\x16\x82\x00\x0c\x1a\x9a\xd1\x29\x5e\xb8\xb7\x0f\x24\x2d\x86\xb5\x86\x5e\xb7\x6b\x87\xe3\xf2\xc6\x94\x1d\x26\x12\xee\x3b\xcd\xe8\xf1\x97\x65\x56\x67\x33\x15\x2e\xf5\x4e\x95\x69\x09\x43\x28\x5f\x78\xb3\x75\xf4\x03\x65\x85\xd4\x73\x9d\xee\xde\xef\x6d\x94\x6d\xb6\x1c\xa4\x58\xef\x4f\x65\x0d\xa9\x63\xc3\x85\xe2\x9d\xfd\xee\x41\x5f\xe4\x95\x84\x5f\x55\x19\x7a\x87\x0f\x8c\xde\xb5\xa0\x10\xba\x6b\xbb\x32\xbf\x1a\x58\x8c\xc7\x74\xd4\x89\x01\x84\xc4\xb2\x92\x4a\x5b\x80\x73\x31\x3b\xce\x22\x65\x85\xf1\xad\xfc\x22\x9c\x90\xbc\x6c\xc9\xd2\x12\xe6\x2f\x05\xd3\x3b\xed\xac\x96\x1d\x77\xcf\x8c\x26\x20\xe4\x51\xde\x81\x7f\x8c\x1b\xb1\x6a\x2c\x59\xff\x80\x4b\x63\x5a\x73\xa8\xcf\x8c\x18\x1b\x3f\x94\x01\xc3\xb6\x43\xd1\x8a\x2f\x70\x6e\xa9\xca\xe4\x70\x71\xa6"}, -{{0xce,0x37,0x9b,0xbe,0x2f,0xa8,0xab,0xcb,0xa5,0x1c,0x7a,0x75,0x43,0xde,0x5b,0x71,0x80,0x77,0x1b,0x3c,0x44,0xbc,0x6b,0x41,0x89,0x2e,0x7b,0x88,0x97,0x9b,0xab,0x90,},{0x7f,0x3c,0xff,0x89,0xf4,0x1b,0xab,0xf4,0xfa,0x64,0xcb,0xa3,0x3a,0x5b,0xb1,0x7f,0x41,0x3b,0xbf,0x2a,0x1e,0x11,0x2b,0x50,0xa8,0xe9,0xb1,0xf8,0x21,0xd8,0x49,0xbf,},{0xda,0x98,0xdf,0xb1,0x89,0x38,0x5b,0x2c,0x85,0x3b,0x6c,0xf3,0x75,0x73,0x80,0x46,0xa8,0xf2,0x7e,0xf2,0x79,0x74,0xab,0xce,0xce,0xa1,0xdb,0x02,0x98,0x9b,0x95,0x1f,0xe4,0x33,0xa6,0xce,0x1e,0x22,0x5b,0x3f,0xa8,0x20,0x32,0xfe,0x06,0x0a,0x7d,0x3f,0x6c,0x18,0x3f,0xd1,0x15,0x7f,0x79,0x1a,0x06,0x4b,0x40,0x76,0x50,0x57,0x16,0x00,},"\x00\x1a\x74\xf0\x95\xc8\x14\xd3\xbe\xed\x67\xa8\xd1\x5f\xc1\x8e\xfe\x23\x5d\xc3\xf6\x45\x78\x12\xa4\x03\x9b\x7a\x46\xfe\x9a\x0e\x9d\xe8\x1a\x7a\x4e\x5f\xba\xb5\xeb\xe9\xe1\xe4\x80\x1b\xd1\x1b\x45\xc9\xf7\xad\x06\x36\xa0\x9b\xff\x42\x16\x4b\xe5\x74\x9a\x04\xc0\x2f\x0a\xb6\x1f\x0e\xcf\xdf\xef\x79\x9b\x82\x7d\xa6\xa2\x74\xc8\xd3\xb3\x9f\x2e\x38\x05\xa6\x79\x12\x87\xee\xdb\x23\x14\xd3\xf8\x42\xb5\x58\xb9\xb4\x89\xaf\xe1\xed\x37\xbb\xbc\xfc\x5e\x60\xa4\x31\xd5\xac\x60\xb3\x9e\x94\x6d\x90\x3d\x6b\xf6\xb1\x40\xe1\x2c\x7e\x07\xf9\xed\x7a\xc4\x6a\x39\x99\xc6\x24\x5c\x8a\xb1\xbd\xb2\x18\x79\xa3\x17\xa3\xdc\xd2\x57\xa5\xc4\xf3\x49\xb7\xf5\x9e\x4e\x43\xd6\x2d\x9f\x1c\xd1\x6f\x51\x8f\x1c\xa6\xca\xd3\x7e\x2c\xb2\x0f\x25\x98\xc4\x13\x42\x91\xc6\xb8\xa9\x8a\xae\x52\x47\xe2\x6e\xef\xb7\x6a\xa3\x8c\x9c\x82\x31\xc1\x7e\x9d\xbf\x27\x1c\xec\x80\xfb\xa5\xb4\xa8\x34\xbd\x9b\xe8\x1e\xa8\x41\x63\x7a\xa9\xcd\xd4\xc4\xbf\x26\xd7\xad\x24\xca\x3c"}, -{{0x2b,0x2e,0xe8,0x09,0xd6,0x47,0x02,0x3e,0x7b,0x77,0xfc,0x54,0x1f,0x44,0x87,0x5a,0x35,0xfa,0x94,0x1d,0x37,0xf7,0xc5,0xb2,0x1f,0xd3,0x49,0x34,0xd2,0x39,0x19,0x35,},{0x2c,0x29,0xd5,0x3e,0x1b,0xf2,0xc7,0x87,0x9d,0x73,0xd2,0x0b,0xa8,0x8c,0xa0,0x7a,0x0b,0x21,0x6d,0x7f,0x6d,0x05,0xd9,0x36,0x63,0xa6,0x5c,0x3d,0x9e,0x10,0x63,0x3a,},{0x12,0xd9,0x06,0x85,0x77,0x55,0x72,0xc9,0xea,0xbc,0x9b,0xe2,0x57,0x4c,0xa9,0xae,0x66,0xf0,0xe6,0x52,0xe5,0x78,0xb2,0x17,0x36,0xcd,0x6e,0x65,0x4f,0x7c,0x6b,0x15,0x45,0x88,0x3d,0x56,0xbf,0x76,0x0c,0xcf,0xc3,0xcf,0x87,0x54,0x4e,0x00,0x04,0xc7,0x98,0x06,0x12,0x57,0xe1,0x30,0x03,0x0c,0xb9,0x97,0xa7,0x88,0x36,0x9a,0x9a,0x05,},"\xc4\x14\x7d\x64\xeb\xfd\xa4\x1a\x1b\xe5\x97\x72\x62\x95\x81\x04\xe9\x40\xc3\x87\x6b\xcd\x5b\x69\x56\xac\xfd\xec\x32\xc6\x60\x91\x4d\x62\x62\x3c\x21\x06\x63\xcb\x2c\xbe\x62\x49\xd7\xf5\x27\x49\x91\xc6\x0e\x95\x0e\x8e\x28\x09\x04\x99\x53\xc6\x95\x81\xd2\x46\x9f\x4f\xe9\x82\xc7\x43\x4f\xed\xd9\xd4\xe0\x0a\xe0\x88\x96\xd6\x2c\xc1\xfb\x98\x4d\xd2\x33\x15\x0c\xc2\x48\x3e\x15\x9c\xff\x40\x97\xdf\x8c\x03\x6b\xb6\x33\x00\x3a\xbb\xfb\xe1\x8c\x8f\xa7\x9b\x5a\x22\x27\x08\x38\x12\x3f\xc9\xbe\x39\xb8\x89\x2c\x80\x38\x4a\x38\x50\x28\xc1\xa8\x1e\xc5\x8c\x8f\x21\x06\x0e\x78\xaf\xd2\xc0\x4b\xfd\x2d\x30\xca\x39\x77\xc6\xed\xad\x51\x8c\xc1\xe2\x00\x4c\xdc\x14\xbf\x3d\x15\xf5\xf5\x28\xe5\xaf\x27\x7f\xa1\x82\x27\x58\x70\xe5\xc0\x12\xf5\xf8\x2f\xb1\xaf\xd0\x4e\xdd\xe4\x57\x8d\xdd\x21\x60\xa1\xa3\xdb\xc0\x50\xe8\x0b\xdd\x81\x1b\xc8\x8e\xad\x79\xbf\x93\xf0\x10\xcd\x0f\xd4\x43\x3d\x0b\xc3\x48\xda\xcf\xd0\x94\x7c\xce\xda\x62\xbf\xa4\x97\x11\xd0\x13"}, -{{0x4e,0xa1,0x8d,0x6b,0x4a,0xf8,0x05,0x3b,0x88,0x5e,0xc1,0x88,0xbe,0x48,0xde,0xb8,0x6f,0xfb,0x2a,0x69,0xa4,0xce,0xc8,0x66,0x37,0xbb,0xd7,0xb4,0x1b,0x80,0x7c,0x46,},{0xe5,0x98,0x60,0x59,0x97,0x62,0x33,0xed,0x77,0x38,0x2c,0x3d,0x99,0x59,0xf3,0x4e,0x31,0x79,0x62,0x69,0x65,0x53,0xe8,0x6e,0xd1,0xe5,0x90,0x2c,0x4b,0xed,0xd1,0x67,},{0x27,0x57,0x0c,0x00,0x2a,0x48,0x7d,0x00,0x0c,0xa3,0x92,0x8b,0x83,0xcb,0x43,0x19,0x72,0x2c,0x46,0xdf,0xb4,0xcc,0xa2,0x60,0xde,0x79,0x0e,0xc0,0xe3,0xc1,0x93,0x26,0x88,0xf8,0x73,0x62,0x95,0x28,0x18,0xb5,0x4f,0x51,0xbc,0x7a,0xee,0xb2,0x63,0xf9,0x60,0xbc,0x0d,0xa8,0x96,0x4b,0xf3,0x12,0xef,0x93,0xe8,0x1f,0x06,0xc8,0x0b,0x04,},"\xe9\xc8\x9a\x1a\x11\x19\x37\x32\x06\xce\x40\xed\xe3\xb8\x9a\x82\xf8\x94\x62\xa1\xde\xe9\xe7\x89\xe9\x84\x5e\xec\x21\xf5\x71\xc0\xfa\xef\xd4\x30\xad\x33\x8e\x4a\x72\xc0\x47\xa3\x9a\x42\x59\x58\x03\x87\xfb\x9a\xac\xad\xdc\x36\xa2\xb5\x1e\x7b\x60\xa8\x7c\xa1\x32\x1f\xf8\x06\x79\x4c\xd6\xdd\x45\x49\xa4\xdf\x45\xc2\xda\xe3\xe5\x39\xc4\xd7\xd0\x6b\x6e\x6e\x9f\x46\x6f\xfc\xa2\xfa\x49\x78\xce\x3d\xc7\x92\xe4\x4a\x62\x83\x88\x0c\xd1\x38\xa7\x5a\x22\x6f\x98\x5d\xa4\x1f\xfd\xc0\xe3\x2a\x5a\x85\xc8\x5f\xe9\xa4\x3a\xe7\x8f\xcf\xe5\x7f\x4d\xd7\x54\x0a\x6d\xd3\x92\x4a\x49\xab\x39\xeb\x69\x95\x0d\x42\x11\x51\xd9\x6b\x1e\x4f\xd3\x93\x58\x90\xf6\x34\xcd\x52\xa7\x3a\x75\x5f\x5c\x2f\xb7\x2f\x9c\xd5\xa2\xe6\x7e\xa9\x30\x91\x5e\x13\x3b\x47\xcf\x6b\x7c\x10\xa9\xd8\x89\xc6\xaf\x6b\x5f\x1f\x4f\x51\x09\x4d\x27\xfb\xba\x22\x8a\xc2\x26\x8b\x34\x40\x27\xfd\x49\xe4\x26\x34\x3c\xc0\x13\x43\x99\xb4\xb5\x10\xaa\xea\x50\x23\x4d\xf4\x2c\x37\xfa\x1c\x4f\x4d\x0e"}, -{{0xfc,0x1b,0x75,0xd1,0x7d,0x38,0x07,0x21,0x73,0x51,0xd2,0xaa,0x40,0xd9,0xb0,0x4f,0x52,0x5b,0x89,0xed,0x3f,0x5f,0xcd,0xb3,0x11,0xbe,0xc2,0xae,0xc5,0xcb,0x7e,0xce,},{0x55,0xe4,0x84,0xe7,0x74,0xa4,0x39,0x2a,0x9d,0x6e,0xef,0xf8,0x35,0xa8,0xfb,0xb2,0x32,0xcf,0x62,0x76,0xa8,0x9c,0x74,0xfc,0x0d,0x1b,0xb2,0x04,0x5a,0x8b,0x21,0xbe,},{0x9a,0x68,0xd1,0x51,0xfe,0xa3,0x90,0x98,0x93,0x35,0x9e,0x60,0xb9,0x6b,0x68,0xb2,0xa3,0xe2,0x94,0x6f,0x2b,0x47,0xb8,0x75,0x39,0x8a,0x1e,0x39,0xeb,0x01,0x46,0x3d,0x35,0xea,0xe7,0xd9,0x76,0xf8,0x33,0xa7,0x62,0xb5,0x1f,0x27,0x26,0xee,0x0d,0xcc,0xad,0x5c,0xe3,0x60,0x05,0x64,0xfd,0x9d,0xd5,0x8c,0x23,0x80,0x7f,0xdf,0xfd,0x05,},"\xd0\x31\xbd\x11\xda\x30\x80\x97\xe3\xbe\xb6\xff\xdb\x26\x00\xee\x6a\x19\x3c\xa6\xd8\x32\x45\x01\xc9\x72\xb1\xa2\x51\x66\xfa\x7a\x36\x9f\x5b\xc8\x82\xea\x45\x61\x2c\xf0\x25\x80\x25\x4d\x21\xb4\x0b\x03\x63\x23\x7e\x83\x5d\xae\x26\x56\xc1\xb7\xf4\x73\x6e\x88\xbe\x53\xd6\xb1\x19\xc0\x7f\x57\x29\xbb\xd8\x2f\x67\xde\x03\x58\x83\x22\x87\x92\x43\xc5\x99\x0a\x7e\x61\xf5\x69\x07\xb2\x41\x71\xa5\x7c\xbb\x0b\xbe\xfb\xa2\x31\x62\x77\xaf\x93\x26\xf9\xcb\xf3\x53\x8b\xcb\xf6\x78\x0b\xe4\x18\x25\xa2\xca\x77\x4b\x41\xbd\xb1\xcd\x5c\x60\x88\x51\xec\x23\x39\xeb\x2f\x4f\xee\xdd\xaa\x89\x1a\x63\x26\xb2\x9d\x97\xd7\xfb\xf3\x11\xe3\xbb\x74\x9c\x5d\x4c\x05\x8d\xcc\x14\xf4\x52\xf9\x33\x49\x91\xe2\x71\xc1\x6d\x65\x08\xc8\x18\x63\x39\x27\xf4\x29\x80\x4c\xa7\xa3\x81\x70\xf1\xb9\xf6\xbd\x73\xed\x67\x5e\x11\xe8\xc0\xd3\x21\xfa\xc9\x12\x73\x0b\x4b\xa2\xf7\xc4\x28\x53\x4a\xdc\xaa\x4d\xad\x31\x4c\x55\x80\x7e\x6c\x64\x2d\x49\x4c\x6b\x2f\x0e\x8c\xd1\x29\x77\x5c\xc0"}, -{{0x0d,0x0b,0xf4,0xd4,0x2e,0xf8,0x10,0xb1,0x79,0xeb,0x84,0x17,0x71,0xde,0x6d,0xbd,0xe7,0x63,0x61,0xca,0xf8,0x94,0xe4,0x2a,0x14,0xb1,0xe0,0x97,0x87,0xea,0x3e,0x06,},{0x71,0x71,0x51,0x0b,0x43,0xfc,0x17,0xef,0xa8,0x0b,0x15,0xe3,0x20,0xb1,0xb0,0xa4,0x08,0x33,0x25,0x42,0xe0,0xd3,0x6e,0x4a,0xb9,0xa6,0x49,0xcd,0x94,0x1b,0x5a,0xed,},{0x24,0x44,0x6b,0xdf,0x03,0x41,0x6a,0x4d,0x08,0x61,0x44,0x66,0xfb,0x85,0x1d,0xb5,0x0e,0x91,0xa6,0x23,0xca,0xcd,0x1b,0x0b,0x35,0x66,0x0f,0x3c,0xf9,0x33,0x20,0x0e,0x15,0x30,0x87,0x08,0xda,0x34,0x99,0xa5,0xad,0x25,0xf0,0xf0,0x30,0x6b,0x79,0x42,0x76,0x2e,0x20,0xa7,0x65,0xb7,0xca,0x9b,0x90,0x1c,0x75,0x0b,0x3a,0x95,0x32,0x0a,},"\x8e\x21\x79\x97\x5d\x0a\x8e\x5a\x69\xfe\x87\x5a\x3c\xb1\xe7\x9a\xec\x49\xc3\x85\x3e\x30\xdd\x03\x20\xfe\x3e\xbf\xb6\x38\xb8\x2f\x89\xad\x16\x43\x03\x6b\x37\xe5\x6e\x0b\x55\xe0\xa9\xe2\x2a\x4e\x28\x3d\x7a\x27\x48\x5c\xe9\x10\x2d\xb6\x78\x7d\x66\x28\xb7\x79\x13\xe1\x08\x96\x77\x4e\x49\x5c\x26\xe8\xba\xb2\x6e\x7f\x9a\x94\xd2\x9a\xaa\x36\xae\xc9\xc2\x6a\xd3\xf5\x0e\x5d\x8c\x0b\x76\x98\xbb\x5f\x01\xb8\x76\xd0\xd6\x5f\xcf\x5e\x9e\x32\xcd\x7b\x89\x82\x9e\xd0\x5b\x0b\x8f\x63\xa9\x38\x58\x98\x5b\xc9\x56\x9f\xce\x42\x9f\xd3\x7a\x21\x1a\xbe\xd6\x50\xf5\x85\xc3\xb5\x59\x00\x44\x3b\x6c\x5d\x6e\x8a\x48\xba\x67\xde\xee\xd0\x7b\x76\xe9\x69\xfc\x88\x43\x0f\xce\x27\x09\xc0\xbb\x5c\xe9\x26\xab\x7f\x44\xe0\xcd\x79\xf4\xec\x35\x9e\xf7\x67\x48\x88\x3f\xcc\x3d\x02\x6e\xdd\x06\xc8\xb9\xcb\xa5\x4b\x99\x0d\x30\xaa\x41\xf1\x44\x8a\x10\x89\x3f\xb0\x53\x92\x80\xc5\x99\xd4\x23\x61\x43\x3a\x34\xcd\xaf\xd8\xeb\xdd\x92\xef\xb9\xc3\x8a\x36\xda\xf4\xc7\x40\x60\xc6\x96"}, -{{0x57,0xb5,0x19,0x4d,0x26,0xab,0xe4,0xab,0x21,0x16,0xc0,0xf0,0x3d,0x23,0xdb,0xe1,0x16,0xd4,0x88,0x25,0xa2,0x5e,0x77,0xd6,0x46,0x48,0xb4,0x36,0x92,0xae,0x25,0xbf,},{0x49,0x9c,0x02,0xdb,0xad,0x2a,0x4e,0xab,0x3b,0x6f,0xf1,0xab,0xa3,0x94,0x4b,0x91,0xc3,0xf2,0x73,0xa3,0x82,0xc5,0x48,0xa6,0xf3,0xa1,0x9c,0x83,0xf0,0xa8,0x67,0x24,},{0x4c,0x73,0x45,0x96,0x0c,0x8f,0xd4,0x8a,0x7d,0xea,0xd7,0x1d,0xbd,0x61,0x90,0x84,0x68,0xef,0xa8,0x65,0xa1,0x35,0x56,0x8c,0x8f,0x9c,0xa0,0x05,0x54,0x83,0x46,0x86,0x17,0xa7,0xe3,0x35,0x84,0x0f,0x57,0xc6,0xcd,0x8f,0x2c,0x98,0x05,0xcd,0x47,0xa9,0xd7,0xcd,0xfd,0xe5,0x3d,0xa8,0xef,0x4f,0x1a,0xdb,0xb6,0xf6,0x98,0xaa,0xf1,0x00,},"\xb4\x81\x3c\x9d\x13\x21\x5f\xe9\xf6\x3a\x78\xff\x7a\xc9\x51\x73\xeb\x81\x0b\x46\x13\xf0\xf4\x8d\x68\x76\xb2\xbd\x3b\x2c\x72\xbc\x7d\x98\xcb\x1a\xc3\x2b\xc4\x1c\xa4\x7f\x09\x89\x6f\x79\x20\x4e\xcf\xb8\x26\x4c\xe8\xf3\xc3\xe7\x6d\xc1\x24\xda\x8d\xdc\x6e\x0d\xfc\x1e\x13\xb5\xa5\x29\xf2\x0c\x82\x61\x3f\xb9\xa8\x2e\x5f\x5d\x77\x32\x6a\x86\x1f\xae\xda\xbc\x73\x25\xc5\x9a\xf3\x3d\xae\x67\x44\x02\x5e\x64\x97\x74\xfc\x4f\x79\x13\x4b\xf9\xf6\xe3\xd5\x87\x5d\xd9\x1b\xc8\xa1\x4c\xc3\x6a\x66\x28\x3d\x01\xd8\xd1\x08\xc1\x33\x27\xec\xa5\x30\x57\xba\x50\xbf\x21\x0c\x19\xf1\x39\xde\x64\x94\x98\x26\x46\x19\x8a\x12\x46\xc2\x71\xb0\xa3\x68\xc1\x0a\xab\x95\xcd\x89\x61\x23\x5d\x74\x2d\xf4\x54\x5b\xe6\x8b\xd0\x10\xdc\x0d\xb2\x3b\x67\x3e\x62\x36\x09\xe4\x20\xee\x76\xb1\x05\x6c\x52\x0f\x9c\xe8\xfb\xe8\xee\x18\x63\xdf\x97\xd1\x7b\x71\x74\x63\x6c\x3a\x2b\x61\x22\x95\x09\x19\x48\x81\x0d\x1d\x4b\x8a\x58\x43\x76\x0a\x28\x87\xdc\x55\xef\x51\x2a\xf0\x41\xec\x54\xfa\xd3"}, -{{0x06,0x8d,0x27,0xb2,0x1e,0x2a,0xcf,0xcc,0x19,0xc3,0xe9,0x67,0x3d,0xd4,0x41,0x42,0xd9,0x8a,0xac,0xae,0x89,0x49,0x30,0xe2,0x0c,0xa0,0x67,0x43,0x9e,0x74,0x9a,0x79,},{0xe2,0x2d,0xdd,0x39,0x6f,0x95,0x5b,0xb9,0x0e,0x28,0x47,0x76,0xaa,0x76,0xe9,0x21,0xe5,0x06,0x99,0xd0,0xca,0x89,0x14,0xa9,0xb7,0xb8,0x41,0xeb,0x5f,0xf4,0x7d,0x6d,},{0x0c,0x17,0x3c,0x48,0x8a,0xd0,0x01,0xcb,0xb9,0xc4,0x3d,0x7b,0x30,0xa7,0xc0,0x71,0xa2,0xfd,0xb0,0x8c,0xf7,0xf3,0x7d,0xaf,0x71,0xd7,0xae,0x71,0x28,0xdc,0x0d,0x43,0xf0,0xf0,0x95,0xb2,0x92,0x9c,0x54,0xb7,0x73,0xed,0x4a,0x1f,0x0b,0xf0,0xdc,0x4f,0x36,0x4f,0x06,0x01,0xe8,0xd5,0xae,0x06,0x2f,0x5b,0x78,0xc0,0x5b,0xfb,0xc7,0x02,},"\x1c\x68\x15\x42\x3d\x1a\x2c\x5e\xbe\x88\x28\xd1\x64\x65\x27\xc1\x7b\x20\x06\xe5\x47\xf0\x16\xb5\x35\x0f\x01\x0d\x79\xb1\x3d\xf4\xfb\x8c\x6e\xd5\x7b\xa9\xc2\x6c\x3c\xb0\xe0\xa6\x41\x78\xb6\x50\xa3\xea\x54\x44\xa4\xfa\xd5\xb2\x0a\x3e\xb8\xca\xa7\x02\x63\x40\x11\xcf\x78\x92\xa0\x72\x7b\x6e\x81\x50\xb0\x77\x04\x29\xa3\x7a\x8a\x0b\xb3\xa7\xed\xb8\x91\xa7\xc9\x02\x40\xbc\x03\x60\xb1\x4e\x6d\xd7\x70\xa9\x90\xb3\x1b\x31\xf3\x3d\xdb\xf6\x53\x98\x8f\x82\x74\x2e\x5e\xec\x31\xb2\x73\x68\xeb\x0e\x4f\x1e\xcf\x4d\x67\x6f\x49\x21\x4a\x52\x0d\x1e\x5b\x2b\xbb\x59\xac\x2e\x13\x26\x7e\x07\xa0\xcb\xac\xbe\xd9\xf9\x4d\x74\x73\xed\x69\x78\x28\xb0\x92\x8f\xcc\x61\x6e\xe0\x2e\x51\xfc\xd8\xdb\x4d\x8f\x75\x33\xb7\xb1\x39\xa0\x5e\x06\xf9\xe0\xea\xe3\x29\x93\xe3\x02\x5a\xef\x05\x90\xb3\xfb\xb4\x29\x2a\x3a\xc4\x07\x65\xe8\x58\x4e\xad\x00\x26\x6a\xcd\xcb\xdd\xe1\x45\x7a\x03\xb7\xd5\x7b\xd5\xc9\xe6\x4f\xb0\x6b\x64\xa5\x0f\x35\xf0\xa1\xec\x34\xb6\xdd\xbd\xe7\x67\xb9\x6f\xfd"}, -{{0xa3,0x4d,0x52,0x56,0x31,0x59,0xe0,0x72,0x3e,0x9f,0x3f,0xd1,0x33,0xbd,0x96,0xe2,0x0a,0xda,0xe6,0x23,0xf8,0xc7,0x98,0x01,0x3b,0xc3,0x6b,0x44,0x14,0x89,0xbd,0xc2,},{0x1f,0xb6,0x58,0xe6,0x45,0xde,0x6d,0x3e,0xfd,0xb0,0x83,0xa7,0x3f,0xbd,0x59,0x2f,0xcd,0x4b,0x80,0x0e,0x03,0xc7,0xbd,0x68,0x1a,0xea,0xe6,0x57,0x6b,0xfb,0xbe,0x2f,},{0x5f,0xab,0x5a,0x71,0x40,0xd4,0x78,0x73,0x68,0x43,0x05,0xaa,0x63,0x53,0xd3,0x86,0x2f,0x5f,0xc1,0x3e,0x54,0xa4,0x0c,0x95,0x63,0xcc,0xea,0xc8,0xf7,0x40,0x08,0xc6,0xc4,0x45,0x63,0x1f,0xa8,0x64,0xe0,0xf1,0xc3,0x45,0xb5,0x95,0x4f,0x80,0x05,0x6a,0xeb,0xa2,0x56,0x62,0xb7,0x88,0x27,0xb5,0xe8,0xe3,0xa9,0x43,0x78,0x13,0x72,0x0f,},"\x1d\x21\x5f\x85\xc0\x89\xf3\x5f\x30\x7a\x74\x6c\x66\xc7\xc1\xe4\x1d\x6b\xa3\x77\x30\xd7\x59\xe6\xe5\x62\x2d\x6c\x6a\x19\x8e\x40\xf6\x3d\x37\x87\x3b\x71\x5d\xf7\x51\x8b\x3c\x6b\xb5\xe9\x5a\x46\x77\x26\xb9\x7c\x9a\x0f\x8f\x5d\xfc\xdb\xfd\x1e\x0d\xe3\x57\x66\x1d\xde\xab\x55\x50\x42\xb9\x45\xfd\x89\x9f\xad\x6d\x38\x2d\x79\x17\xda\x9e\x12\xdf\xbd\xa0\xd6\x99\x00\xb3\x97\x51\x65\xa7\x3d\x0a\xc9\xde\x01\xfd\x30\x48\xb8\xfe\x5f\x0b\x90\xbe\x67\xe0\x3d\xc2\x2f\x65\x3a\x0a\x13\xeb\x4b\x0b\x75\x3f\x3f\x3b\xbf\x78\x73\x69\xeb\xd8\xbf\x5e\x00\xeb\x78\xbf\x0b\x35\x15\xa9\x1e\x68\xb1\xd5\xfc\x69\x20\xbf\x4f\x42\x59\xf8\xa7\x30\xef\xc7\xf1\x01\x6d\x50\x1e\xf6\xfb\x7c\xb8\x36\x6f\xc8\xe7\x16\xcf\xa5\x0e\xa8\xb2\x03\xcc\xa1\xa3\x16\x70\x7e\x0b\x0f\xc5\x7e\xaf\xce\x82\xd6\x2f\x7f\xf3\xae\x04\xac\x8f\xd0\x41\xb5\x5b\x19\xa3\x52\xa6\x9e\x6d\x4b\x79\xd0\xe6\x50\x17\x51\x68\xe3\x4f\xa3\x35\x8e\xac\x81\x6c\xec\xf2\xc8\xdd\x1b\xf2\xa5\x89\x11\x3e\x91\xbb\x81\x8f\x91\xf8"}, -{{0x58,0xdf,0xe7,0x68,0xbf,0x52,0x11,0x84,0x94,0xb2,0x99,0x75,0x15,0x4c,0xf4,0x52,0xbd,0x97,0x46,0xdc,0x7d,0xe1,0xd6,0xbc,0xd1,0x8e,0xe6,0xa0,0x5a,0xcf,0xd8,0x58,},{0x0f,0x14,0x76,0xc6,0xcc,0x2a,0x1b,0x47,0x64,0xaf,0x75,0x80,0x5e,0x77,0x34,0x1f,0x14,0xa0,0xd8,0xb0,0x9c,0x6a,0x5b,0x2e,0xa2,0x87,0xfd,0x51,0x7c,0x3f,0xa6,0xb9,},{0x97,0x71,0x37,0xa3,0x8a,0xf4,0x4f,0x4b,0x26,0x2a,0xbf,0xf7,0xe0,0x72,0x82,0x43,0x3c,0x58,0x92,0x6d,0x56,0x2f,0xbc,0x61,0x80,0xbd,0xe6,0xcd,0x94,0x97,0x86,0x1f,0xb6,0xd9,0x55,0xcf,0x38,0x3d,0x99,0x9f,0xa1,0x03,0x7b,0x8b,0x17,0x54,0xce,0x88,0x8c,0x9f,0xfc,0x15,0x60,0xa4,0x51,0xd0,0xe9,0xdb,0x8d,0x74,0xd2,0x94,0x06,0x04,},"\x60\x97\x94\x20\x1c\x4f\x6f\xaf\x48\x87\x90\xd6\x1d\xbf\xf3\xf4\x1b\x32\x8c\x5b\x06\x95\xcb\xe9\xaa\x8a\x13\x6d\x72\xb4\x97\x7b\x21\xb5\x00\xf2\x16\xe9\xf3\x21\x68\xad\xa8\xc1\x3b\xff\x25\x32\x76\x47\xe3\x0d\x8a\x24\x4d\x74\xd8\x83\x03\xab\xc9\x0b\x7f\x71\xaa\x07\xca\x04\xd1\x7b\xc8\xa0\x16\x7d\x6e\x63\xfb\x88\xba\xa1\xda\xb8\x1d\x50\xf1\xe9\x1f\x46\xf5\xaf\x77\xf2\xe8\x40\x8b\x82\x63\x36\xa3\x50\x52\xef\xff\xdf\x4a\xf7\x95\x96\xaf\x1b\xb2\x25\x9f\x83\xc1\xbc\x10\x9c\xfd\xc3\xdd\x50\xfd\x96\xd3\x10\xf2\x7e\xa4\xc6\xc7\x69\x0f\x21\x81\x5e\xa9\x2b\xd7\x93\x89\x68\x0c\xfe\x3e\xd4\x0c\x80\x18\x11\x90\x68\x8d\x24\x22\x2d\x9a\x1e\xd5\x2c\xe6\xa1\x6b\x41\xdb\xd9\x10\x7e\xb6\xd2\xe3\x59\x4e\x44\x94\xd7\x5d\xd7\xc0\x89\xe3\xb2\x6f\xfd\x00\xd1\x00\x3c\x92\xc4\xc3\x9a\xe5\x38\x2e\xf9\x29\x14\x91\xa8\x80\xca\x4e\xc3\xac\x2b\x86\xe6\x67\x19\xb9\x2b\x6f\x7c\xea\x2c\xb0\xbb\xb1\xcf\x62\x4d\x0d\x1a\xbe\xae\x55\x6e\x5f\x73\x90\x9d\xd5\x46\x27\x70\x37\xec\x97\x2f\xd4"}, -{{0x5a,0x63,0xef,0x9b,0xd7,0xdb,0xf0,0xe8,0x9f,0xef,0x15,0x59,0x83,0x65,0x9e,0x8a,0x0a,0x6c,0xa0,0x02,0xbc,0x42,0xfa,0xd5,0xa4,0x5a,0xf8,0xe0,0x28,0x19,0x23,0xf4,},{0xe6,0x32,0xf4,0xdc,0x99,0x42,0x31,0xcc,0x17,0x90,0xc2,0x1a,0xfa,0xda,0xa9,0x77,0xa5,0x89,0xb0,0xeb,0x0d,0xa1,0x9f,0xcb,0x27,0x92,0x91,0x1b,0x15,0xec,0xf8,0xaf,},{0x75,0x46,0x1f,0x99,0x65,0x0c,0x03,0x68,0x05,0x81,0x13,0xa1,0x5b,0xa1,0x6b,0xd2,0x33,0x7b,0x2e,0x63,0x3d,0xa3,0x81,0x12,0x87,0x8c,0x48,0x34,0xfa,0xc9,0xba,0x2e,0x30,0x7c,0x86,0x6c,0x02,0xaf,0x79,0xbe,0xa3,0x36,0x59,0x61,0x4c,0xbb,0x44,0x65,0xc5,0x7e,0xc3,0xef,0xfd,0x4c,0x47,0x8a,0xe3,0x8a,0x34,0xa0,0x5c,0xf1,0xed,0x07,},"\x79\x6b\xc8\x36\x1c\x6e\x8e\xec\x39\x83\x8b\x24\xf5\x39\x71\xe8\x20\xf8\x23\x61\xe0\x51\x0e\xb4\xde\xf1\xdb\x25\x12\x38\x7d\x6b\xf3\x5b\xbd\xfa\x31\x88\x79\x20\x94\x35\xd6\x88\x7b\x14\x10\xb3\xeb\xc1\x45\x5f\x91\xf9\x85\xe0\xfa\xb1\xce\x1c\x50\x5c\x45\x55\x76\xbc\xa0\x35\x39\xd0\x48\xad\x3a\x0e\xd1\xf1\x1c\x73\xba\xc6\x80\x9e\x2e\xa1\x47\x97\x5b\xee\x27\xc6\x52\x61\xac\xa1\x17\xdf\x0f\xae\x70\x08\xe2\xc3\xc1\x30\xbe\xc5\x53\x3a\xb8\x93\x51\xc2\x14\x0c\x9d\x1a\x62\xbd\xf6\x88\x62\x97\x87\xf9\x54\xe1\xc6\x10\xcb\xb7\x5e\xdb\x86\x20\x9d\x7c\x35\x7c\xd0\x6e\xf4\x19\x31\xdd\x5d\xfd\x1c\x7d\x40\x7f\xa4\xee\x1e\xf2\x93\x93\xbe\xab\x57\x13\x17\x38\x02\xcc\xe2\xd5\x62\x29\xcf\xa7\x6b\x60\x16\x62\xc4\xd9\xa8\x4a\x49\x36\xc5\x2a\xbb\x19\x81\x37\x8b\x71\x7e\xb5\x5c\xb6\x04\xa6\x8d\x34\xf0\x3b\x21\x9f\x32\x22\x6c\xa0\xe6\x69\x34\x8a\x2d\x8d\x24\x53\x93\x0e\xb6\xe9\xc2\xbf\x66\xfa\x4e\x92\xc7\x51\x36\xe1\x48\xcd\xb0\x34\x13\x0d\x3f\x64\x63\x82\xe1\xc7\x15\x79\xac\x70"}, -{{0x8b,0x2f,0x06,0x14,0x1e,0x40,0x11,0x63,0xf9,0x0f,0x67,0x4b,0x04,0xdc,0x90,0xdc,0xb6,0xdd,0x33,0x86,0x41,0x93,0x39,0x66,0x2e,0xcb,0x0d,0xff,0xad,0xf2,0x50,0x0b,},{0x54,0xda,0x93,0x4a,0x65,0x91,0x19,0x19,0x85,0x53,0xfd,0x45,0x66,0xb6,0x60,0xd8,0xd6,0x10,0xad,0xc3,0x29,0x0c,0xb8,0x48,0x29,0xc8,0x94,0x14,0x8c,0xf3,0xf6,0x7e,},{0xd6,0x8e,0x37,0x50,0xdc,0x56,0x43,0x23,0x97,0x40,0x1c,0x98,0xff,0x15,0x29,0xdb,0x9e,0xd4,0x8f,0xea,0x24,0x6d,0xd4,0xed,0x38,0x3e,0xc7,0x4c,0x1a,0x46,0x3a,0xeb,0x78,0x4c,0x87,0xb1,0xfd,0xa8,0xbb,0xce,0x97,0x0f,0xc9,0x7a,0xa9,0x80,0x7d,0xdb,0xe9,0x5d,0x41,0xfb,0x02,0x2e,0xa6,0x8c,0x1e,0x31,0x16,0x54,0xfa,0x1d,0xa2,0x07,},"\x1d\xeb\x25\xd4\x34\x58\x69\x03\x23\xa7\xd2\x6a\x26\x69\x50\x90\x99\x34\x74\xf4\x67\xc6\xfd\xe5\xdd\xb3\x4d\xa9\x45\xbe\x3c\xea\x2f\x6b\x75\x65\x2a\xe2\x1c\xbc\x4f\xd2\x27\x63\xa1\xb4\x55\x83\xe1\xc3\xe8\x8b\xbb\x5f\xea\x20\x49\xb7\x33\x6c\x91\x15\x99\x88\xc0\x15\x26\x82\x4c\xa3\xbe\xf1\x6b\x36\x2b\x92\x02\xb8\xb9\x75\x41\x85\xbd\x61\xbe\xa8\xf5\x39\xaa\xdf\x4a\x1a\xb1\x35\xfb\xc3\x1d\x2a\x8e\x33\x17\x80\x73\x10\x6c\xbb\xc0\x2d\x4c\xd0\xd3\xc8\xfe\xaa\x8e\xb7\x33\x08\x43\x56\x25\x17\x95\xaf\xbd\x78\xac\x3c\x4f\x8a\x3b\xa1\x9a\xed\x75\x5c\x64\x6f\x35\x56\x9c\x7a\x6c\x67\x5b\x6d\x69\x18\xe8\x34\x96\x9a\xca\x03\xf7\x1a\x2e\x72\xcc\xb1\x70\x03\xbb\x75\xb6\x2e\x85\x2a\xaf\x58\xb3\xba\xea\x89\xbc\xd6\x4a\x32\xeb\x14\xa6\xb9\xe1\x0d\xe4\x89\x71\xe5\x3d\x0e\x9a\xc9\x9a\x78\xf4\x2d\xe0\x38\x2e\xf0\xe8\x0e\xd3\xcf\xa3\x43\xf3\x5e\x4a\x99\x83\xb9\xae\xed\x98\x6d\x3a\x57\xf4\x7e\x5e\x46\xd4\x0e\x9d\x67\x73\x02\x80\x9a\x2d\x37\xe4\xec\x01\x1f\x05\x1b\x4d\x03\x1e\xd6\x00"}, -{{0xdc,0x64,0x9f,0xbb,0x1b,0xee,0x0a,0x44,0x81,0x4d,0x6d,0x9e,0x90,0x80,0xd5,0xd9,0x0c,0x1f,0xc1,0x73,0xab,0x5f,0xef,0xed,0x82,0x6a,0x74,0x72,0x3a,0x77,0x4e,0x0a,},{0x02,0x14,0xc8,0x9f,0x38,0x67,0xad,0x2e,0x88,0x70,0xe5,0x0f,0x8c,0x2a,0x62,0x54,0x98,0x6d,0x9c,0x22,0x0e,0x33,0x38,0x41,0x13,0x00,0xcd,0x9c,0x64,0x04,0xd4,0xb1,},{0x0e,0x0c,0x5e,0x4e,0x18,0x43,0x75,0xda,0x4e,0xf7,0xe2,0xa2,0xe4,0x88,0x80,0x50,0xcd,0x84,0xe2,0xfe,0x21,0xd0,0x8e,0x84,0xa8,0x52,0xdb,0x2b,0xe3,0xfb,0xc3,0x72,0xc4,0x72,0xde,0x09,0x54,0xdc,0xd1,0xdc,0x11,0xae,0xc4,0x93,0xc5,0x69,0xf4,0x0f,0xc6,0xf7,0x7f,0x03,0xee,0x52,0x4f,0xb0,0x6e,0xc4,0x0f,0xaa,0x1d,0x6c,0xc1,0x0f,},"\x32\x87\x00\xa8\xae\x58\x1c\x1e\xdc\x4e\x2c\x00\xc7\x8b\xf4\x60\x60\x97\xf9\xbd\x75\xaa\xde\x20\x5a\x24\x3c\x5f\xd7\x43\x4d\x62\x22\xda\x93\x7e\x28\x81\xa2\xe3\xc5\x74\x35\x6d\x4d\x56\x79\x30\x1d\xa9\x9e\x11\xcf\x74\x9c\x27\x92\x1c\x8c\xaa\x2a\xb2\xa5\x64\xd8\x7c\x5d\xf8\xec\xf1\xa7\x2b\x68\x01\x84\x82\x4f\x69\x86\x02\x2e\x3f\xc9\x8b\xd2\xa2\x1c\x34\x55\xab\xf1\x15\x49\x54\xfb\x30\xc8\x98\x82\x94\x7b\x02\xf3\x5a\xf7\xb1\xbf\xad\x05\x23\x7d\x24\x2e\x2b\x74\x83\x2f\xc5\x36\x19\x6f\x2e\x59\xd1\xac\xd0\xc1\xdb\x6f\x19\x43\xd0\xf6\x04\x3b\xbd\x6a\x76\x90\x83\xed\x66\xba\x0e\x05\xa5\x0f\xeb\x0a\xcf\x72\xb6\xc1\x6b\xa9\xaf\x03\x9a\xfb\x7f\xe2\xa4\xaa\xeb\x4d\x06\x18\x1c\x5a\x18\x78\x68\x9e\x67\xa3\xf5\xd0\xad\x39\xe7\x94\xd6\x23\x9a\x7e\x0a\x12\xce\x82\x0c\x5b\xe6\x0f\xd5\xf1\xdd\x79\x70\x2f\x49\xd0\x2b\x79\x75\x5f\xe8\x73\xf5\x78\x5c\x72\xf7\x46\x25\xcd\x7e\x24\x28\x26\x25\x97\xd3\x14\x82\xc2\xc0\x50\x88\x01\xfd\x96\x31\x9d\x61\xb9\x1b\xa2\x53\xa5\xe7\x22\xf4\x14\xcf"}, -{{0x39,0xb8,0x06,0x2d,0xa4,0x3e,0x64,0xe1,0x67,0x67,0x65,0xd6,0x2c,0x7f,0xb8,0xe0,0xa9,0x9c,0x4f,0xd4,0x17,0xd6,0xf7,0xe3,0x31,0x9b,0xb1,0x30,0x44,0x20,0x5f,0x3b,},{0x62,0x27,0xce,0xfe,0x88,0xea,0x4f,0xb2,0x7b,0x37,0xb5,0xf7,0x97,0x77,0x8b,0xd7,0x2f,0xda,0xfe,0xad,0xcc,0xd9,0xae,0xb6,0x7a,0xd4,0x37,0xce,0x08,0xfb,0xa6,0xa8,},{0xc5,0xf6,0x26,0x49,0x0c,0x0e,0xf4,0xe1,0xef,0xc3,0xed,0xeb,0x0c,0xbc,0x3f,0x7d,0xe2,0x67,0x05,0x7f,0xb7,0xb6,0xeb,0x8f,0x0c,0x81,0x35,0x84,0x96,0x5b,0xc5,0xc4,0x21,0xfe,0xed,0xf5,0x42,0x41,0xca,0xe0,0x01,0xec,0x6d,0x5e,0x25,0xc9,0xb1,0xfb,0xa0,0x38,0x5e,0x5d,0xbd,0x95,0xa0,0x6e,0xc1,0xd8,0xae,0x51,0x91,0x44,0x96,0x0d,},"\x74\x0a\xf6\x79\xe3\x06\x9f\xad\x05\x9f\xa4\x82\x5f\xa4\x1c\x59\xfb\xd4\x84\xaa\x64\x93\x03\xc2\x7c\x4f\x7a\x94\x71\x1c\x5b\x71\x3b\x2a\x6b\x89\x87\x85\x9e\x22\x71\xa6\xa7\x1e\xb0\xb4\xa1\x5a\xbd\xe4\xf5\x16\x8f\x6c\xb9\xdb\xdc\x6a\x27\xa2\xa1\x3d\x52\xc9\x72\x08\x96\xa1\xf4\xce\x3a\x53\x45\xee\x79\x3b\x6c\xc3\xad\x80\xd7\xd5\x81\x63\xd5\x45\x5b\x9c\xbd\x07\x3e\x2b\x7a\xdb\xff\x95\x59\x0c\x71\x72\x27\x1b\xd9\x1f\xef\xdb\xd0\x16\x57\xee\x17\x50\x65\x10\x36\xcd\xc3\x56\x0b\x44\x4c\xa2\x18\x4b\xf4\xf3\xea\x89\xfc\x97\x3a\xab\x6f\xb4\xa8\xee\x57\x04\xbb\xe5\xa7\x1c\x99\xfa\x3b\x5e\xf0\xd0\x39\x62\x49\x75\x82\x97\x69\x9a\xe2\x02\xb8\x19\x69\x0d\xc7\xac\x46\x92\x77\x03\x46\x90\x78\x45\xe2\x21\x0d\x53\x63\xad\xee\xc0\x3f\x0f\xc7\x76\x1b\x7e\x0e\xc0\xfe\xa1\xbc\xf6\xb0\x4f\xc5\x4b\x3e\x4c\x40\xd1\x9b\x8f\xa6\x49\xac\x84\x79\xe8\xf8\x07\x30\xc0\xc9\x4e\x9f\x4a\x1a\xd5\x06\xf2\xbc\xab\x0c\x49\x54\x0f\x6d\xec\xaa\x77\xb3\xd6\x57\xdc\x38\xa0\x2b\x28\xa9\x77\xec\xe4\x82\x54\x5a"}, -{{0x52,0xf4,0x67,0x5d,0x8c,0xcd,0x0e,0xb9,0x09,0xdf,0x0a,0x51,0x66,0x48,0xdb,0x26,0xfa,0x03,0x3b,0xa4,0x1d,0x43,0xfc,0x38,0x45,0x89,0x6d,0x45,0x6e,0x14,0x26,0x5f,},{0xf3,0x9e,0x7d,0xaf,0xc9,0x7b,0x0a,0x84,0xdc,0xbf,0x7f,0xa1,0x4a,0x94,0x03,0xee,0x1f,0xa9,0x2b,0x85,0xe5,0xa7,0xe5,0xd0,0x5f,0x03,0x1b,0x44,0xdd,0xf1,0xf7,0x94,},{0x4b,0xf6,0x68,0x82,0x7a,0x72,0x0a,0xf6,0x88,0x98,0xa0,0x6e,0xa7,0xb4,0x45,0x45,0xa3,0x4c,0xa8,0x96,0xec,0xf3,0x11,0xfe,0xea,0x47,0xe0,0x68,0x6d,0x91,0x1f,0xad,0xaa,0x03,0x11,0x89,0x97,0x15,0x3c,0x65,0x36,0x1f,0xea,0x15,0xde,0x9b,0xb8,0x91,0xb8,0x90,0x98,0x72,0x04,0x55,0x08,0xff,0xad,0x0c,0xd9,0xea,0xb2,0x1a,0x97,0x02,},"\x74\x42\x71\x10\x85\x7c\xb4\xaf\x0a\x33\x42\xc2\xb5\x29\x97\xbc\xe1\xa0\xdb\x64\x05\xc7\x4e\x96\x51\xc5\xb8\x59\x79\xac\xb0\x71\xe5\x67\xfe\x70\x41\x2c\x4e\x0d\x8c\x9f\xa4\x21\x91\x4f\x6a\x62\xf2\xae\x42\x0b\x7b\x2f\x4c\xf8\x0c\x90\x57\x42\x21\x22\x22\x88\xb6\x58\x67\xea\xa6\x6e\x7e\x0a\x05\x57\xa2\x6c\x54\x9f\x9a\x7a\x4e\x70\x83\x8b\xa4\x07\x4b\x4c\xd7\xa9\xd7\x58\xb3\x78\xb8\x8d\xd4\x94\x41\xdf\x80\x2a\x44\x4d\xcb\xc3\x06\x24\x93\x3b\x59\x92\x2f\x33\xc2\x0f\x01\x9f\xe7\x8e\xe2\x4b\x8f\xba\x79\xa6\x82\xf3\x88\x50\x5a\xc9\xc9\x7f\x4e\xb8\x7c\x61\x18\x80\x02\x6b\x4c\x23\x30\x6b\x86\x51\x73\xf5\xd7\x16\xab\xc6\xcd\x9a\x99\x06\xdb\x34\x30\x13\x6f\x75\x41\x29\xc4\x43\xb2\x0c\x42\xbe\x2f\xbc\xbc\xd4\x40\x34\xd7\x14\xf5\x8a\x4b\xa8\xe7\x56\x60\x7a\x02\xb6\x08\xef\x49\x64\x8f\x2a\xd0\xce\xa9\x9e\x7a\xb3\x0a\x8d\xd7\x81\x40\x04\xf7\x25\xf4\x93\x01\xd7\xb3\x04\xdc\xda\x62\x5c\x29\x6d\x92\x8c\xb5\x81\x73\x6a\xb7\x39\xc8\x6b\x46\x92\x41\xa8\x25\x93\x51\xfd\x37\xb4\x78\x0a\x99\x93"}, -{{0xba,0xd7,0x3c,0x9f,0xda,0x4c,0xeb,0x9d,0xa6,0xc7,0x01,0xc2,0xa6,0xe2,0xef,0xc0,0x46,0x7a,0xfa,0x0a,0x74,0xf8,0x75,0x0c,0x52,0xcf,0x1f,0xd4,0xc8,0xe7,0x48,0x9a,},{0xbb,0x0f,0x02,0x7a,0x90,0x35,0x37,0x6e,0x1a,0xa3,0x20,0x6c,0x3d,0x77,0x44,0x75,0xe3,0x51,0xf5,0x76,0x7e,0xf8,0x6e,0xf4,0x8a,0x72,0xc0,0x37,0xc2,0x4c,0xce,0x62,},{0x19,0x7d,0x6b,0x6c,0xc8,0x8a,0x98,0xc0,0x6d,0xfc,0xa0,0xc0,0x12,0x25,0xed,0xfe,0x38,0xa0,0xb2,0x28,0x9f,0x29,0xf8,0xa4,0x4e,0xc0,0x81,0x6a,0x95,0x2d,0x58,0x5e,0x2d,0x59,0xb5,0xb0,0x8d,0xe1,0x00,0xc0,0x60,0x62,0x96,0xcc,0xf5,0xe9,0x2a,0x99,0xe0,0x93,0x62,0x31,0x44,0xb8,0xb2,0x2d,0xb8,0x7d,0x92,0x92,0x25,0x54,0x60,0x05,},"\x74\xb9\x66\xcb\x78\x07\x71\xae\xe6\x3d\x73\x4d\xf3\x75\x67\x02\xd1\xd5\xfd\xed\xdf\x32\x13\x6c\x63\x58\xb8\x36\x31\x8a\x4f\x98\x4f\xe7\x1e\x77\x16\xad\xdd\xbd\x64\x9e\xba\x44\xcd\x42\x82\xe0\x05\x5d\x8c\x1e\xd2\xd3\x51\x23\xd6\x6e\x5a\x98\xf1\xc0\x83\x8d\xed\x56\x3b\x9a\x20\xeb\x80\x07\x53\x8f\xc7\xb0\x71\x3e\x7e\x48\x5e\x3c\x28\xf6\xeb\xc4\x21\xa2\x9d\xce\x25\x24\xdb\x7f\x29\x20\x57\x61\x03\x6a\xda\x62\xe5\xb0\xb7\xd5\xb7\xf2\x94\xff\x17\xf3\x38\x23\x2f\xa5\xfd\x42\xb6\xf7\x25\x33\x04\x09\x2d\x84\x8f\x50\x73\x52\x48\x59\x5d\xa0\xf7\xef\x28\xe5\x68\xe9\x91\x6b\xfc\x56\xd7\xed\x0d\x81\x1b\x59\xd5\xd8\x91\xae\x43\xe1\xb1\x98\x07\x13\x06\xbf\x52\x5c\x67\x8c\x63\x43\x99\x80\x05\xfb\xb7\x86\x9d\x1c\x40\xf8\xca\xc8\x07\xfe\x2e\xf0\x3f\x3d\x5b\x93\x3f\x58\x97\x8e\xf2\x90\x6f\xcc\xf7\x44\x4a\x29\x36\xe6\x3d\x92\x8c\x69\x09\x26\xc9\xc9\x94\xed\x3d\x66\x62\x63\xe9\x56\xfd\xfe\xa2\x77\x64\xbc\x5f\x74\x12\x5b\xc4\x6b\xc1\x02\xdd\x3e\x5f\xf9\x3b\x5e\x12\x3e\x4b\x38\xbd\xef\x69\x7e\x15"}, -{{0x70,0x73,0x27,0xa4,0x31,0xdb,0xa7,0x76,0x39,0xb3,0x96,0x6b,0x2b,0xc0,0x95,0xf8,0xee,0xdf,0x57,0xf7,0xa2,0x00,0xe3,0xb0,0x07,0x7c,0xe4,0x20,0x38,0x9c,0x92,0xfe,},{0xee,0x24,0x96,0x91,0x08,0x64,0x18,0x9f,0xda,0xa3,0xc7,0x75,0x7e,0xb3,0xcd,0xa9,0xab,0x1e,0x70,0xfc,0x9e,0x7f,0x71,0xa3,0x8a,0x0b,0xfc,0x84,0x59,0x31,0xc9,0x5a,},{0xfb,0x99,0x02,0x9f,0xec,0xa3,0x87,0xa5,0xd7,0x65,0x96,0x1e,0x36,0x1d,0x71,0x72,0xb9,0x8b,0x7e,0x0f,0x11,0x29,0x0b,0xb1,0xe5,0xb5,0x7b,0x51,0xbc,0x21,0x23,0xd0,0xbc,0xe2,0x90,0x20,0x39,0x2a,0x4f,0xec,0x9a,0xe6,0xa7,0x2c,0x4c,0x38,0x6c,0xea,0x18,0x57,0xcb,0x8f,0x9c,0x50,0xaa,0x9a,0x76,0xd7,0xf1,0x68,0x7f,0xcf,0x29,0x00,},"\x32\xef\x31\xb6\x4e\xee\x70\x0f\xca\x2a\xb2\x1a\x26\x7f\x8d\x9d\x3b\xdc\x68\x9c\x75\x38\xfe\x95\x9b\xf7\x13\xfa\x99\x5d\xb2\xc0\xad\x36\xdd\xe4\x30\xa8\x41\x7d\x43\x7b\x72\xc7\x4e\x26\xdb\xe3\x1d\x93\x70\x1d\x46\x17\xfe\x51\x82\x5c\xff\x7a\x54\x4f\xc9\xf4\x4e\x43\x45\xe1\x4b\x4b\x11\xe1\x5f\x26\xff\xc2\xaf\x80\x35\xf3\xf9\x70\xe4\xdd\xa4\x4c\x0e\xbc\x03\x63\xc2\xb5\x6f\xde\x21\x86\x63\xbf\x78\x83\x90\x92\x53\x8f\xc2\xf3\x91\x53\xd4\xeb\x29\xda\x0c\x1a\x08\xaa\x96\x66\x01\xcc\x68\xca\x96\xe9\x93\xb0\x1b\x17\x3a\x26\x1b\x2e\xf3\x27\x65\x03\x82\xf5\x68\xfe\x94\x48\x55\xb0\xf4\xfd\x9d\x15\xe7\x52\xac\x74\xdc\xfd\x37\xb3\x78\x6f\xff\xce\xf2\x33\x39\xc2\x1e\x92\x70\xdc\xe8\x89\x1d\xd5\xee\xeb\xa9\x60\x8f\xdc\x7b\x6f\xbc\xc9\x9f\xa1\xb5\x90\x3d\xaa\x09\x68\xe1\xb6\x91\xd1\x9d\x06\xf2\x15\xde\xd0\x47\xef\x9d\x76\x61\x0f\x5d\xe2\x20\xf5\x04\x1b\x31\x3f\xaf\x9e\x96\xc9\xfd\x7d\xb5\x4b\x52\x25\x72\x6a\xf4\x35\xf9\xcb\xd9\xfd\x87\xab\x40\xce\x8f\x2c\x69\x40\xb5\x5f\x0f\xaa\xe8\x78\x50\xca"}, -{{0x6a,0xa5,0xc9,0xf0,0x08,0xf9,0x90,0x47,0x3b,0xa4,0xa6,0x28,0x6a,0x41,0x66,0x14,0x02,0x66,0x61,0xf1,0x1e,0x1a,0x24,0xef,0xa8,0x1a,0xc3,0x58,0x52,0xd1,0xd0,0x70,},{0x60,0x5a,0xc9,0xb4,0xdb,0xdd,0x50,0x33,0xd6,0xc8,0x28,0xbf,0xaf,0xa9,0x3c,0x00,0x39,0x44,0x0a,0xa1,0x1c,0xa7,0x24,0xae,0x83,0x40,0x43,0xe0,0x7b,0xd0,0x32,0xd5,},{0x97,0x56,0x30,0x3b,0x90,0x65,0x5e,0x93,0x52,0x51,0x03,0x2a,0xb1,0x9c,0xfc,0x95,0xca,0x1c,0x2a,0x2c,0x3e,0xa2,0x8b,0x03,0x3b,0xd4,0x70,0x66,0xcb,0xd4,0xc7,0xd8,0x98,0x2a,0x8b,0x98,0x86,0xf1,0xb9,0xcd,0x02,0xe8,0x8a,0x65,0x56,0x4d,0xa8,0xdc,0xc3,0x4f,0x30,0x8b,0xa9,0xf1,0x01,0x44,0xba,0x46,0x9c,0x2e,0xfa,0x49,0xe0,0x04,},"\xb5\x16\x5d\x39\x63\xf6\xe6\xf9\xea\x56\x57\xe9\xf0\x7f\xf3\xa3\x21\xeb\x33\x8f\x9a\x8c\x3d\x3c\x42\x30\x6b\x2b\x27\x89\x78\xb3\x1c\x62\x3a\x63\x1b\xe3\xb0\x4c\x41\xed\xfd\xed\xdf\x53\x8e\x1b\x76\x5b\xc8\x78\x54\x01\xc1\xaf\x29\xd0\x46\x7a\x64\x41\x1c\x49\x73\x95\xd7\x55\xdc\xa0\x3a\xe3\x27\x2f\x4b\xc1\xfb\x19\x18\xdc\xc1\xed\x6f\x04\xd6\x49\x84\x04\xa8\xce\x14\x09\xd4\x47\xf5\x70\xa4\x35\x95\x22\xcc\x54\x62\x92\x02\xeb\xe5\x07\xab\x69\x38\x43\x14\x1b\xd5\xea\x05\x73\xb2\x0f\x32\x1a\x48\x3f\xf3\x83\xa4\x68\x97\xf5\x92\x6f\xe0\xb8\xaf\xc2\x55\x72\x70\x7b\x63\xee\xed\x28\x35\x32\x92\x8a\x41\x44\x19\x64\x97\x94\x2c\x57\x2a\xc5\x47\x60\x51\x39\x25\x6b\x0a\xa0\xea\xf0\x4d\xb1\xa2\x56\x01\x2e\xd4\x53\xb1\x73\xee\x19\xad\x6e\x9b\x1a\xf3\xf4\x5f\xf3\x04\x4a\x64\x1f\x8c\x8e\xb0\xac\x7b\xb4\x5a\xbb\xde\xd4\x72\x86\xb2\xa0\x69\xd3\x90\x86\x94\xee\x06\xf2\xfb\xd0\xef\x60\x5a\x79\x11\x02\x6e\xa9\xea\x3c\x49\x13\xf3\x8c\x04\xd8\xb6\x95\x65\xa7\x02\x78\x67\xab\x30\x92\xd0\x5f\x4c\xfb\x18\xfc\x7c"}, -{{0x8e,0xfb,0x8b,0x79,0x74,0x2b,0xe2,0x1e,0x6d,0x31,0xde,0x67,0x8b,0xc8,0x14,0x50,0xba,0x86,0x21,0x08,0x2c,0xd6,0xf0,0x00,0x3e,0x22,0x86,0x1e,0x22,0x91,0xc4,0x81,},{0x33,0x38,0x1e,0x35,0x6c,0x4f,0xd3,0x86,0xa3,0xf7,0xb9,0x69,0xaf,0xd9,0xf5,0xc0,0x0d,0x20,0x67,0xb6,0x98,0xb3,0xf1,0xf0,0x0f,0x37,0x84,0x20,0x2d,0x30,0x84,0xcf,},{0x92,0x30,0x05,0xcb,0x48,0x48,0x40,0x2a,0xa8,0xf9,0xd5,0xda,0x74,0x03,0x0b,0x00,0x94,0x44,0x92,0x4c,0x21,0x4a,0xd6,0x00,0xdd,0xba,0xb4,0xc1,0x53,0xa6,0xff,0x02,0x2b,0x53,0xcf,0x63,0x64,0xcd,0x7e,0xe9,0x9b,0xef,0x34,0xfe,0x14,0x4d,0xa9,0x64,0xed,0xfc,0x38,0xa0,0xba,0x63,0x33,0x12,0x65,0x0e,0xbf,0x0e,0x55,0xa0,0x60,0x09,},"\x6b\x75\x03\x25\xd3\xa0\xf0\x8a\x14\x77\x00\xb5\x1a\x9b\x37\x25\x57\x10\x94\x81\x8e\xd6\x9d\x1f\x76\x10\x13\xeb\x86\xf3\x23\xf7\x3c\x49\xf5\xe4\x39\x87\x7c\x27\x83\xb3\x36\xd1\xf1\xa6\x74\xef\x3e\x43\x1f\xc1\xae\x01\x80\x08\x2d\xf5\xfc\xa6\x9f\x84\x81\x39\xfe\x6a\xb6\x73\x9a\x05\x92\xeb\xd6\xd4\x70\x5c\x7f\x01\x36\xb2\x21\x89\xa1\x1d\x60\xd4\xd3\xc9\xbc\x80\xfe\x7d\x7c\x00\x95\x2d\x57\x42\xf9\xc0\xc2\x12\x1f\xe7\x92\xdf\x13\x3f\x22\x1d\xb9\x91\xfc\x96\x0e\xe6\x4b\x9d\x32\xe0\x17\x8e\x54\x2b\xce\x8e\xfa\x8d\x03\xac\x80\x26\xcd\x77\xba\x8b\xf0\xb2\x42\x15\xb9\xfa\xed\x2e\xae\xc9\x20\xe9\x25\xd5\xec\x46\xff\xf6\xbd\xe7\x25\xe9\x1c\x82\x80\xe4\xad\xa2\x32\xa5\x43\x3a\xe9\x68\x0e\xbb\x53\xeb\x55\x55\x31\x47\xc9\x33\x70\x57\x48\x54\x89\x61\x54\x51\x42\x99\xc0\x93\x21\x9a\x11\x1d\xca\x4e\x63\x7a\xd5\x00\x13\x38\xc6\xd4\xd5\xee\x90\x98\xc6\x58\x32\xf7\xaf\x83\x5b\xcb\x62\x21\x28\x42\x30\x36\xc7\x9a\x57\x37\x73\x8a\x75\x39\xf8\xd4\xa6\xb8\xb2\x21\xb5\x6d\x14\x01\xae\xb7\x4d\x45\x71\xbc\x00\x9d"}, -{{0xed,0x04,0x6d,0x68,0x8b,0x2b,0x0a,0x1b,0xc3,0xda,0xf2,0x11,0x9d,0xd3,0x21,0xa6,0x07,0xb1,0x6d,0x2a,0x2d,0x1d,0x96,0x3a,0xdd,0x12,0x09,0xc6,0x65,0xb5,0xcc,0xba,},{0x87,0x34,0xf1,0xff,0xcb,0xd7,0x1c,0xfd,0xe2,0x90,0x01,0x7e,0xa6,0x25,0x3e,0x58,0x0d,0x59,0xe6,0x5b,0x54,0x1b,0x46,0x52,0x1f,0x5e,0x5e,0xc1,0x45,0x1e,0xae,0xc6,},{0x72,0x1b,0xfd,0x47,0x76,0xcf,0xba,0x13,0x33,0x0f,0xd3,0x72,0x69,0xe9,0x79,0xc1,0xd7,0xb6,0xce,0x54,0xa5,0x1b,0x82,0xf4,0x56,0xe1,0x37,0x37,0x8e,0x58,0x2f,0x19,0x2a,0x12,0x08,0x9d,0xa5,0xab,0xa7,0x6a,0x7b,0x16,0x18,0x13,0xdc,0xe5,0x6b,0x72,0x89,0x2a,0x35,0x33,0x0c,0x94,0xf7,0xff,0x21,0xd0,0x9c,0xf0,0x9e,0x55,0x35,0x04,},"\xb9\xcc\x90\xfd\x8d\xe2\xa1\x41\xf9\x51\x16\xdb\x3b\x04\xbe\x83\xe9\x85\x22\x59\x7e\xc2\x17\x49\x64\x24\x51\x80\xb9\xa4\x73\x76\x7d\x6d\x47\x0a\x21\x7d\xb5\xff\x5a\x1a\xb7\x77\xe1\xe2\x8a\x0b\x16\x97\x5e\x2b\xac\xb8\x73\x02\x04\x44\xb4\x7e\xd8\x32\x64\x21\xb9\x0e\xbb\x50\x36\x88\xf0\x90\xc1\x1b\x3b\x13\x61\x7c\x5c\x50\x52\xc2\x97\xa4\x1e\x28\x93\x77\x5e\x34\xd5\x9a\xda\x49\xd9\x94\xc0\xe4\xa9\xf5\x22\x0e\x9f\x03\x15\xa6\x77\x05\xa3\xec\x08\xaf\x0d\xc7\x24\xb5\xcf\x67\xff\x34\xfa\xda\x8b\xa7\x10\x9e\xd2\xb5\xa8\x90\x7b\xb4\x03\xfb\x1a\x83\x8b\x4b\x05\x9f\x18\xc7\x92\xd7\xbf\xec\x05\xde\xe0\xc9\xcb\xbf\x17\x53\x40\x9d\x7d\xb3\xac\xea\xf4\x7b\x4c\x61\x39\x84\x97\xb0\xec\xa6\xc1\xf8\xac\x08\xa7\xea\x1e\xb9\xc4\x0b\xc4\xe9\x2e\x88\x82\x12\xf7\xd9\xee\x14\xfd\xb7\x31\x58\x16\x09\x44\xff\x9b\xcd\xfe\xf1\xa7\x46\x9c\xc7\x0f\x94\x74\xe5\xf2\x4d\xff\xfe\xa5\x85\xf0\x9e\xaa\xab\x4b\xe2\xaf\xeb\xbe\x8e\x6c\xf8\x6d\x35\x68\x0d\xc5\xd1\xb9\x29\x13\xe8\x48\x25\x6e\xc7\x36\x31\x6f\xd0\xa2\x14\x20\x63\xb0"}, -{{0x76,0xac,0x8e,0x57,0x0a,0x39,0xb3,0xa0,0x23,0x2c,0x45,0x49,0x75,0x37,0xfb,0x21,0x55,0xac,0xec,0x36,0x17,0x86,0x5e,0xd1,0xdf,0x21,0x0f,0x00,0xb4,0x9d,0x1b,0x8d,},{0x31,0x2a,0x3a,0xd8,0x99,0xae,0x6a,0x25,0x50,0x7a,0xe6,0xe4,0x52,0x4e,0x10,0xb6,0x3a,0x6e,0x7a,0xe5,0x3d,0x9c,0xff,0xd3,0x9c,0xf2,0x85,0x21,0xd9,0x35,0x33,0xd6,},{0xcf,0x03,0xf5,0x25,0x91,0x3c,0x44,0x30,0x3b,0x2f,0x80,0x07,0x93,0x93,0xc2,0x1c,0x11,0x58,0x14,0x6e,0xcf,0x99,0x63,0x6f,0x5d,0x97,0xad,0xfd,0xd9,0xf3,0x58,0x39,0x80,0x4c,0x23,0x80,0x4c,0xbf,0x1e,0x55,0x3c,0xfd,0x4b,0x73,0xf6,0x89,0xa9,0x14,0x3a,0xec,0x29,0x8f,0x82,0x76,0xe1,0xe4,0xee,0x08,0x91,0xf1,0xba,0x75,0xde,0x04,},"\x53\xce\xd9\xdb\x2b\x47\x9e\x59\xd3\xed\x64\x3f\x7c\xc3\x78\x4c\x24\xb8\xbd\x4c\x63\x20\x6c\x72\xe2\x3f\xa8\x50\x02\x88\x99\xa4\x1c\xe1\xa8\xbd\xc0\x03\xf1\x2b\x7c\x29\x97\x2c\x9a\x08\xbc\xd2\x31\xfe\x0e\x1a\x0f\xef\x0b\xaf\xbf\xa4\xe0\xe0\x27\xd7\x20\x04\x07\x5b\xa3\x7d\x49\x0e\xb9\x96\x4e\x78\x3b\xb9\x8f\x9e\x50\x3e\x9c\x1f\xd3\xd2\x3f\xb0\x01\x7c\xc7\xc7\xa9\xf8\x6d\x17\x1f\x04\x1e\x23\x55\xd8\xc5\xe6\x22\x9d\x34\xc7\xee\xac\xb6\x35\x8c\xf3\x06\x0d\x5d\x26\x5b\xae\x20\x04\xa5\x58\x87\x86\x59\xa3\x0d\xfe\xd5\xf2\xec\x78\x8b\x4e\x14\x39\x7b\x5d\x00\xc2\x9d\xb5\xd4\xeb\xf1\x66\x39\xa8\xdf\x29\x2a\x3d\x24\xf6\x98\x3c\xbc\xa7\x60\xd9\x03\xe9\x76\xf5\xb6\x98\x64\x2b\xa1\xfe\xd4\x9e\x79\xc3\x8f\x4b\xb3\x94\x6e\xfc\xcc\x9d\x6a\xef\xad\x33\x6d\x55\x8f\x78\xe4\xf2\x05\x42\x2e\x10\x38\x4a\x4e\x53\x1e\x75\x80\x7e\xfb\x38\x9d\x2a\xf4\xca\xb4\x38\x25\xfb\x87\xf1\x96\xa9\x08\x07\x69\xfe\x75\x85\x78\x29\x70\xa6\x91\x8a\xff\xe1\x0d\x20\xd6\x29\xb7\x05\x84\x55\x97\x41\x8d\x69\x9d\xe3\xf1\xde\x85\x4f\x94\xbd"}, -{{0xf6,0x4a,0x66,0xba,0x0f,0x08,0x19,0xf3,0x00,0x14,0x16,0xc2,0x20,0xbf,0x52,0xd8,0x60,0x13,0x0a,0x19,0x76,0x4a,0xa8,0xab,0x38,0xd1,0x5b,0x2a,0xa7,0x5a,0xc0,0x22,},{0x81,0x25,0x25,0x3c,0xd3,0x37,0xe0,0x0d,0x45,0xb4,0x50,0x79,0xb5,0x85,0x34,0x95,0x61,0xe5,0xf5,0x42,0xa8,0x1f,0x6d,0x2f,0xcf,0xd9,0x85,0xc1,0x0f,0xea,0xb2,0xaf,},{0x4d,0xe6,0xf5,0x25,0x08,0x22,0xd7,0xc9,0xd5,0xbb,0x98,0x58,0x25,0x00,0xb5,0xc0,0x85,0xf5,0x41,0xeb,0xdc,0x45,0x0e,0xd1,0xac,0xaf,0x83,0x68,0x48,0x27,0xed,0x1d,0xc7,0x71,0x47,0xaa,0xe4,0xb1,0x9e,0x14,0xa7,0xdc,0x5b,0xbe,0x1f,0x1e,0x4f,0x57,0x71,0xd8,0xa6,0xe4,0xf2,0x35,0x17,0x39,0xaf,0xb0,0x8c,0x80,0x6d,0x55,0x87,0x01,},"\x80\x72\x86\x2e\xd0\xab\x35\x92\x1d\xb5\xec\x2c\xba\x8e\x6a\xed\xb0\x44\x1f\xdf\x47\x49\x10\x06\xc0\x1e\x64\x56\xad\x70\xfa\xe3\xc4\x15\x2d\xcf\xbf\xdb\xb8\xf0\xfd\xde\xc5\xe9\x6b\x12\xbf\x67\x98\x9b\xa9\x67\x93\xf4\x86\x1a\x11\xb6\x39\x09\xce\x8d\x19\xb8\xca\x64\xa5\x44\xb3\x1c\xe0\x51\xfb\xc8\x8e\x06\x28\x06\xd9\x96\x5c\xbd\x29\x67\xb0\x16\x14\xe8\x6b\x53\x2f\xbf\x59\x84\x32\x18\xdc\x9c\x19\xc8\x03\x15\xf0\x44\x73\x17\x19\x37\x10\x92\xa3\xda\x38\x87\x8b\xc4\xcf\x77\xde\x97\x2e\x86\x04\x66\xb8\xfc\x45\xe4\x65\xdc\x3d\x0e\xbf\x94\xbd\xea\x60\xef\x0b\x98\x91\xce\xd4\x1b\x99\x7b\x11\xb3\x1e\xe4\x16\x7d\xb6\x0c\x9c\xfc\x8b\x85\xbe\xac\xfe\x22\x3c\xc1\x82\x92\x13\x77\x40\x85\xd7\xc0\x6d\x2b\x2e\x63\x2c\xc2\x1c\xd9\x66\x0d\xf4\x7c\x4f\xa9\x18\xbd\xd5\x96\xdd\xf6\x22\xdc\xb6\x52\x64\x2b\x67\x52\x7b\xa8\xed\x15\xa8\x19\xa8\xe2\x1f\x48\xd7\xee\x70\x24\x7f\x52\x00\xe3\x7c\x25\x9d\xff\xd1\x7e\xec\x8c\x23\x2f\x97\x0c\xb0\x31\x82\xfe\x39\x64\x13\x29\x93\xf6\xec\xb7\xc4\xdb\x18\xcc\xef\x39\x0c\x9e\xb3\x63\x9e"}, -{{0x84,0x39,0xb1,0xd6,0x0a,0xa4,0x84,0x60,0x13,0x5e,0xb1,0x00,0x2c,0xc1,0x12,0x79,0x29,0x95,0x07,0x9a,0x77,0xe6,0xe8,0xab,0x02,0x0b,0x9a,0xba,0xca,0x89,0x20,0xb4,},{0xea,0xdc,0x3e,0x0c,0x5b,0xdd,0xbc,0x30,0x52,0xc3,0xb2,0xf8,0xb0,0xa9,0x45,0x66,0xc2,0xb2,0xc8,0x79,0xed,0x17,0x03,0x4a,0xc0,0xe6,0xa4,0x5f,0x2b,0x3e,0x32,0xd2,},{0x62,0xda,0x81,0xe1,0x64,0x40,0x82,0x1b,0x59,0x3b,0x6e,0xe6,0x54,0x0e,0x15,0xd1,0xae,0xa7,0x5d,0x23,0xe0,0xa1,0xbb,0xfe,0xdc,0x80,0x8c,0x95,0x48,0xf8,0x7e,0x8b,0xbf,0x36,0x91,0x5a,0x39,0xa7,0x47,0x16,0xf6,0x45,0xcc,0xa5,0x71,0x4d,0x17,0x0a,0xf9,0x07,0x57,0x6d,0x4f,0x37,0x05,0xe5,0x43,0xd2,0xad,0xdd,0xc5,0xff,0x23,0x03,},"\x54\x19\xf6\xd2\x4e\xb4\x66\x35\xd4\xa7\xf8\xea\xb8\x03\xcf\xd0\xd0\x4d\xe0\x92\xaf\xbd\x86\xf2\xa6\x96\x1a\x8d\x1e\xb8\xc0\xd1\x97\xba\x55\xee\x08\xc9\x91\x82\x2a\x5a\xa7\x02\xba\xe0\x33\x7a\xbd\x5c\xa7\xfa\xa1\x5e\x1f\x1a\xe3\x69\x94\x6e\x9b\x81\x21\x6c\x0f\x5f\xc2\x2b\xbd\x44\x33\xc3\xde\x93\xc5\xca\xa2\x74\x16\x83\xbb\xd0\xe1\xa7\x8d\xf2\x8d\xda\x19\x17\x41\x01\x87\x63\x34\xd4\x03\x39\x65\x9f\x02\x1a\xe7\x66\x16\x2c\x6c\xc5\x42\x1b\x79\xcf\x9d\x5c\x09\x0e\xd4\xaf\x07\xec\x84\x49\x30\x35\xbd\x0b\x24\x21\xb5\x33\x68\x42\x95\xbb\xe7\x6a\x70\xfe\xc5\x96\xef\x8c\x89\xc5\xc9\xdd\xa3\xc3\x3b\x77\x35\xd2\xd2\xf2\x0b\x28\xf1\xa5\x40\x2e\x72\xd0\x4b\xa2\x91\xdd\x59\xf1\x4a\xf0\x8a\xdf\x56\xee\xb0\x86\xd7\x69\xc6\xbe\xc3\x45\x18\x91\x37\x23\x45\xfd\x6b\xd0\x2d\xcf\x95\xe8\x03\xaf\x03\x53\x15\x0e\x18\x2e\x32\x3a\xaf\x68\x3e\x03\x6d\x9a\x13\x5d\x2e\x6f\x98\xcb\x4d\x32\x7e\x2c\xe7\xd5\x42\x47\xf3\x59\x2e\xd0\x67\xb4\xce\x76\x27\x17\x4f\x99\x6f\x28\x16\x5c\x9c\x11\xf0\x7e\x5e\xe9\xce\xe6\x38\x51\xc6\xb6\x8e\xa2"}, -{{0x3a,0x04,0x63,0x97,0xf0,0xaf,0xc0,0x72,0xbc,0x7f,0x90,0x7c,0x74,0xd3,0x8f,0xd1,0xb9,0xaf,0xdf,0x27,0xe1,0x4a,0x35,0x34,0x76,0x8b,0x0d,0xd2,0xdf,0x3a,0x1c,0x22,},{0x99,0xcd,0x70,0xef,0x3b,0xe3,0x42,0x49,0x33,0x93,0x87,0x2f,0x54,0xc4,0x7d,0xea,0xa0,0x81,0x02,0x18,0x92,0xd1,0x1a,0x32,0x68,0xf3,0x14,0x5e,0xd4,0xf3,0xab,0xe5,},{0x50,0x24,0xce,0x60,0x25,0x79,0x65,0x68,0x70,0x80,0xc5,0xb1,0xfc,0x7d,0x13,0x01,0xc3,0x2a,0xa6,0xfc,0xc8,0x35,0x49,0x7d,0x9c,0xb2,0x3a,0x74,0xa6,0xca,0x27,0x24,0xf5,0x53,0x53,0xc1,0xb7,0x57,0x82,0x7c,0xa5,0x44,0x0c,0x9e,0xf8,0xf8,0xc1,0x05,0x09,0x13,0xe2,0x0a,0xab,0xec,0x35,0xc4,0x97,0xb5,0x60,0x41,0xb5,0xde,0xb2,0x09,},"\xf0\x8d\xde\xf4\x6c\xc6\xc3\x41\x79\x82\x0c\x98\x61\x37\x51\x72\xfd\xdf\x77\x4f\x8d\xc3\xf7\xd6\x4a\xa4\x32\xda\x8e\x5f\xae\x64\x4c\x0a\x8a\x9e\x69\x08\x51\x7d\x50\x5d\xeb\xd6\x12\x86\x8a\xc6\xda\xf9\x5c\xd7\xe1\x69\x97\x50\x02\x2c\xcd\x4b\x88\xdb\xae\x2b\xbf\x73\x54\x6e\xe4\xb8\x35\xd3\x19\xa8\x42\xda\xe8\xb9\xed\x68\x33\x23\xf3\x1e\x5c\xc5\x79\x19\xbc\x9d\xbe\x3b\xcf\xff\xb2\xad\xa4\x80\x72\x69\x7f\xf4\xa7\xd3\x10\xc9\x1a\xdb\xca\x81\xfa\xf2\x6a\x0e\xb7\xbb\x0c\x40\x4a\xc9\xd8\xdf\xec\x63\xe9\xc6\x4e\x2f\x42\x0c\x07\xd3\x23\xb7\xc0\xdc\x3b\x73\x50\x72\x83\xae\xb1\xce\xe5\x1d\xb4\xe1\xa8\x3a\x69\x2c\x7c\x1e\xa3\x98\xf6\xf3\x09\x40\xfa\xb8\x5e\x21\x38\xd4\xb8\x5a\xa4\xe2\x31\xe5\x42\x4f\x5b\x06\x4e\xd0\x26\xf0\xcc\xb9\x9d\x1c\x85\xa9\xeb\x15\xf5\x93\x4a\x11\x35\x9d\x41\x1c\xf9\x4a\xe8\xff\xa3\x36\x1a\x22\x4f\x46\xba\xb8\x52\xd1\x84\xa2\x48\xb4\xc3\x1f\xe3\xa7\xe7\xf5\x13\x4c\x05\x10\x31\xa9\xf3\x28\xa7\xbe\x4a\x7c\xbb\xb1\xd8\xd8\x63\xa4\x00\xfd\x2d\x58\xda\xa4\x4f\x1b\x9d\x8e\x9d\xdf\x96\x1c\xe6\x32\x2f"}, -{{0x12,0x4f,0x74,0x16,0xa8,0x04,0x53,0xe4,0xcf,0x1c,0xd7,0xb5,0xe0,0x50,0xa9,0x76,0x14,0x18,0x25,0x8b,0xf7,0xd2,0x7b,0xeb,0x7f,0x23,0x23,0x8c,0x45,0x40,0xbe,0x2d,},{0x0d,0xa3,0x4a,0xb1,0x73,0x99,0x01,0x50,0xdf,0x73,0x99,0xb6,0xbc,0xdd,0xba,0x93,0xc6,0xdb,0xcb,0xf4,0xd1,0x76,0x94,0x1c,0xb5,0x07,0x1e,0x87,0x34,0xc5,0xdc,0x92,},{0xb0,0x57,0x21,0x04,0xaa,0x69,0xe5,0x29,0xe3,0x46,0x5a,0x6f,0xd2,0x8f,0x40,0x4a,0x4e,0xc2,0x02,0x76,0xa9,0x93,0xb1,0x72,0x5e,0xb8,0xc5,0xf6,0x50,0xb4,0xa2,0x16,0xf1,0x87,0x1b,0x24,0xe3,0x68,0xcc,0x46,0xcd,0x1e,0xe0,0x17,0x4c,0xda,0x1b,0x5e,0x4a,0xe2,0x20,0x0a,0xa9,0xfc,0x44,0x52,0x2d,0x97,0x5a,0x9c,0x51,0x81,0x49,0x08,},"\x9d\xcb\x98\x73\xff\x05\x4d\xb1\x1d\x0a\x9b\x19\xde\x68\x85\xff\xba\x7f\x0e\x68\x1c\xf7\xfb\x8f\x6c\xd9\x50\xc4\x83\x28\xd1\xf9\x19\xca\x46\x05\x4e\xee\xe6\xc9\xe5\x78\x43\xeb\xdd\xa7\xb2\x4b\xc3\x50\x3c\x4d\x61\x2a\xbb\x1a\x31\x4f\x39\xf5\x82\x21\xd2\xb5\x4d\xc7\x55\xac\xca\x79\x69\x74\x0e\x7f\xa8\xb1\xa9\x52\x3b\x8c\x73\x79\xfd\x39\x52\x53\xf4\xe6\xcd\x05\x4e\xe2\x4b\x75\x61\x3c\x35\x81\xd4\x9e\x19\x24\x6a\x7b\x3b\xe1\xce\xcb\x33\x4b\xe4\x4f\x3d\x62\x6f\xe3\xb7\xb2\x69\xe6\x28\xd4\x45\x80\xc2\x06\x36\xeb\xa2\x64\x2f\x27\x44\xb9\x59\xe6\x57\x57\xd0\xee\x60\x18\x43\xf1\x88\xe9\x5d\x17\x25\x3f\xef\x56\x70\x68\xa5\x40\x5a\x3a\x9e\x67\x7f\xea\x3d\x7d\x55\xf7\xea\xd1\x9a\x3f\x30\xc5\xf9\x85\x67\x1b\x55\xfa\x12\x0c\xb9\xd0\x5f\x47\x1b\x6e\x1e\x8d\x77\x9a\x2c\x80\x3a\x19\xe6\xd0\xd7\xcd\x50\x78\x87\xed\x64\x7c\x2a\x95\x48\x3f\x93\x39\x91\xed\x45\xae\x30\x1a\x2b\x0e\x95\x4a\x57\x03\xd2\x48\xc7\x88\x10\xaa\x0b\x19\x9c\xc2\xbe\xbb\x2f\x1d\x71\xcc\x40\x48\x7d\xbd\x42\xee\xe0\xf7\x45\xf7\xd2\x85\x68\x5b\x1f\xb3\x1b\x15"}, -{{0x25,0xd1,0x3b,0x38,0x37,0x60,0x1b,0x07,0xa9,0x75,0x69,0x3e,0x5a,0x33,0xd5,0x33,0x7c,0x34,0xc1,0x12,0x7f,0xe4,0xc2,0x74,0x90,0x61,0x2a,0xaf,0x7f,0x64,0x2e,0x9a,},{0x3a,0x07,0xcd,0x68,0xee,0x26,0x92,0xd5,0x1c,0xfa,0xd1,0xa8,0x0e,0x77,0x63,0xb1,0x8a,0x04,0x3c,0x74,0xf4,0xe1,0xb0,0x1e,0xdc,0x55,0xba,0x9a,0x9e,0x07,0x79,0x5a,},{0x20,0xcb,0xf0,0x83,0x92,0xfe,0xa6,0xa9,0x9c,0xf4,0x46,0xa9,0x5c,0x19,0x9c,0xaa,0x0c,0x0f,0x98,0x13,0xcc,0x21,0x7b,0x8d,0x22,0x8e,0x2e,0xd9,0x0b,0xab,0x95,0xea,0x92,0xcd,0x73,0xac,0x95,0x83,0x47,0x64,0xd3,0x3e,0x42,0x24,0x3c,0x80,0xa7,0x60,0x34,0x91,0xc8,0xd3,0xe4,0x9a,0xc7,0x15,0xfd,0x8a,0x5b,0x9e,0x47,0x89,0xbb,0x03,},"\x11\x5b\x32\x20\xb4\x5c\xa8\xf3\x6c\x7f\xf5\xb5\x38\x87\xd4\x7e\x66\x9b\x78\xda\xc1\x3b\x98\xcc\x7a\xac\xa5\xc2\xe1\x9f\xce\x81\xec\x86\x17\xca\x41\x0e\x11\xc9\xa9\x11\x8a\x66\x84\x53\xb3\x29\xff\xb7\x18\xea\xec\x73\x91\x72\xf0\xa8\x49\xa0\x84\x81\x92\xa5\xbd\xea\x18\xab\x4f\x60\xd8\xd1\xa0\xd3\x38\x95\x2d\x77\xb2\xcc\x13\xef\xe8\x3c\x76\xe8\xdd\x58\x80\x3b\x1d\x8b\x3c\x97\x29\xef\x10\x2b\x20\x83\x5b\x7d\xe8\x72\xbe\xf3\x01\x0f\x15\xa4\xca\xdd\xf0\x7c\xf7\xbd\xd2\x22\xd8\x4b\x17\x4b\xc2\x15\x27\xcf\xfb\x1b\x7f\xfd\xe8\x1e\x28\x1d\x30\xcb\x7b\xce\x25\xea\x3d\xff\xb6\xea\x1f\xbb\x06\xcb\x70\x56\x9a\x95\xed\x1a\x07\xe9\x7c\xa4\x2d\xe7\x0a\xa2\x18\x15\x9e\xfd\x60\x8f\xa9\xb0\x89\x6e\x0b\x58\x51\x8a\x32\x2f\x25\x1d\x13\x3e\x58\xc8\xfc\x14\x28\xab\x0a\x17\x0e\xd8\x45\xc7\x5f\xb4\x03\xf1\xff\xb9\x7d\x2d\x2a\x6d\x4f\x27\x79\x11\xd3\x26\xc1\xca\xbb\xb8\x51\x6c\xbc\x17\x90\x8a\xb8\x1f\xf8\xd7\x9a\xf4\x46\x11\xea\x1d\x05\x87\x9c\x1e\xc8\x1d\x06\x93\x6e\x0f\x4a\x0a\xef\x6d\x57\x48\xe1\x81\xd3\x0e\xc2\x52\x36\x59\x7a\x97\x3d"}, -{{0x7b,0x3a,0x76,0xde,0xca,0xea,0x60,0xc4,0x1e,0x95,0xb0,0x58,0x77,0xa7,0xda,0x82,0x06,0x4c,0x27,0x27,0x8c,0x8d,0x7d,0xf5,0xf0,0xbb,0x95,0xf0,0xad,0x2d,0x04,0x35,},{0xf8,0x0d,0xb5,0xc2,0x87,0x21,0xb1,0xc6,0x11,0xbd,0x87,0xeb,0x14,0x5a,0x98,0xbb,0xf3,0x83,0xb0,0x68,0x04,0x5d,0xf2,0x45,0x8d,0x1a,0x6f,0xda,0x09,0x9f,0x7f,0xc2,},{0x2c,0xd2,0x6f,0xb3,0xc4,0xf7,0x44,0x0a,0x72,0xaf,0xfe,0x93,0x56,0x4f,0x6f,0x65,0x59,0xad,0xb1,0x5c,0xc7,0xa2,0xba,0x10,0x87,0x9f,0xb7,0xd6,0x7e,0x47,0xd4,0xeb,0xd0,0x2f,0xe4,0x82,0x36,0x98,0xa5,0xfb,0xd4,0xa9,0x07,0xfd,0x69,0x18,0x4c,0x25,0x5a,0x17,0x0e,0x5f,0x17,0x47,0xfc,0xe9,0x68,0x10,0x2d,0xc2,0x19,0xb5,0x0d,0x02,},"\x37\x5f\xad\xae\xdd\x9c\xac\x49\xb6\x4e\x15\x74\x02\x80\x46\x06\x9f\x4c\x83\x65\x4c\x8a\x70\x11\xab\xdb\x64\xdb\x16\xb4\x7f\xa3\x11\x79\x81\x72\xf9\x07\x22\x17\xb0\xa6\xa4\x3e\x5d\xf6\xff\xcc\x11\x54\xbc\xec\x1c\x68\xe1\xd3\x5e\xc0\x58\x80\xd0\x12\xce\x76\xe4\xce\xbf\x30\x1b\xb2\xec\x98\x3d\x00\xb4\xa0\x54\x0c\x93\x7f\xf1\xc6\xdf\x94\x41\xc6\x1b\xdb\x3b\xe8\xe0\xc7\xc1\x1a\x35\xd4\x9b\x6f\x55\xc3\x81\x26\x9a\x0e\x76\x8e\xfb\xd4\x53\x44\x7f\xe4\x8b\x75\xac\x39\x64\x6c\xa8\x2e\xca\x7d\x14\x93\x04\x42\x34\x91\x87\x1c\x10\xdb\xcf\xc5\x97\x3a\x57\xfa\xb8\x37\x1c\x30\xcb\xc4\xe9\x0b\xec\xc0\xb6\x71\x52\x22\x6e\xe1\x77\xb4\xff\x36\x8e\xc8\x79\xb3\x91\xeb\x95\xe3\x6d\xcb\xb0\x7b\x2c\x16\xba\x39\x55\x45\xd4\x52\x9f\x72\x7b\x1a\x11\xef\x65\xd1\x20\x97\x6b\x7c\xcc\x86\xaf\x4b\xd2\x04\xcb\x94\x89\xc9\x21\xe4\x3b\xa5\xe8\x50\xcf\xe5\x98\x99\xf1\xc1\xec\x4a\xa5\xc9\x2b\x6d\xac\x69\x14\xb1\x95\x2b\x53\xdc\xb5\x40\xb4\x09\x23\x13\x81\x56\x89\x87\xbb\x22\x36\xbc\x40\x89\x5d\xf3\xf1\x7e\xab\x7c\x02\x74\xf2\x24\x4f\x95\x86\x12\xe8\x8e"}, -{{0x5f,0xf8,0xd4,0x05,0x26,0x08,0xeb,0x03,0x3a,0x5e,0x94,0xb6,0x03,0xce,0x38,0x4d,0x84,0x52,0xf6,0x0a,0x26,0x49,0x8b,0x91,0x12,0x56,0x7f,0x34,0x10,0xc1,0x86,0x66,},{0xc4,0x90,0x0d,0xe2,0x4d,0x9a,0xf2,0x48,0x27,0x63,0x10,0x99,0x26,0xaf,0x7c,0x48,0x13,0x80,0xfa,0xbc,0xda,0x94,0x40,0xc1,0xa5,0x3e,0xa1,0xcd,0xc2,0x7e,0x65,0x68,},{0xb7,0x37,0xd4,0xe5,0xbe,0x27,0xde,0xb6,0xd8,0x77,0x29,0xc6,0x36,0xdf,0xf7,0xa4,0x06,0xc0,0x13,0xf3,0x13,0xc3,0x8c,0xf6,0x83,0xfe,0x14,0xf7,0x5a,0x3b,0x30,0x05,0xd9,0x53,0x5d,0x7e,0x58,0x15,0xc8,0xf8,0xb3,0x7c,0x51,0xd6,0x92,0x71,0x11,0xc9,0x79,0xf7,0xd9,0xd8,0x1a,0x34,0x7a,0xa9,0xcc,0x09,0xed,0x4e,0x6c,0x18,0xe9,0x0f,},"\x13\x8c\x60\x55\x7c\x2e\x90\x08\xaf\xc0\x3d\x45\xbe\xc7\x1f\x96\x11\x49\xa0\x83\x59\x26\x75\x1c\x8f\xf3\x93\x5c\x7d\x65\x2d\x83\xe1\xb0\xb1\xda\x7d\x5b\xbe\x0b\x8e\x17\x1a\x4e\x49\xaa\xe0\x6f\xd8\xa9\xde\xff\x78\xdc\xde\x4d\x25\xb1\xaa\x89\x99\x98\xa0\xf9\x9e\x1d\xf6\xf9\x33\x7a\x3e\xa2\xf2\x4b\x76\xc3\x17\xa7\x01\x4d\xb4\xe5\x28\x31\x91\x79\x5a\x70\xd8\x82\x1d\x21\x78\x46\x49\x0f\x95\x87\x01\xd3\x9d\xc2\xc8\xce\x47\xd9\x28\x93\x88\x74\xd8\x7b\x35\x58\x98\x9b\xc7\x7a\xf8\x20\x97\x9a\x35\x1e\xef\x95\x94\xaa\x5b\x94\xf3\x34\x1e\xde\xd4\xea\x20\xb0\x8c\x3e\x7c\x56\x10\xd4\x32\x67\x81\x8d\xfa\xc0\xa8\x7d\xdf\x52\x7f\xbc\xe8\x51\x2b\xbf\x85\xb6\x6c\x9b\xb5\xd6\x2f\x0f\xe8\x40\x48\xf2\x3b\x19\x60\x4a\x5c\x8d\x82\xb1\xf2\x5a\x8d\xa0\x27\x31\xfe\xb2\xec\xae\x48\x9b\x84\x75\xf7\xbd\x32\x6d\xdf\x1a\x08\x18\x9e\x46\xc0\x8c\xf5\x05\x38\xc2\xa3\x63\xe2\xf4\xeb\x2c\x01\xa2\x04\xc7\xff\xbc\x0b\x98\x1a\xdc\x0f\xd9\x97\xaa\xfd\xf2\xa2\x22\xee\x84\xc3\x09\xf6\xe9\x5e\xc7\xde\x4f\xa8\x5d\x47\x68\xd5\xc0\x03\x16\x50\x28\x22\x5e\x22\xe0\x9e"}, -{{0xee,0xde,0xfc,0x17,0x57,0xe3,0xa7,0xe5,0xed,0x39,0x46,0xdb,0xed,0xc3,0x96,0xa3,0x62,0xf6,0x83,0xd2,0xc5,0x1b,0x0b,0x9f,0x60,0x76,0x5d,0x4b,0xfc,0x51,0x34,0xde,},{0xa9,0x87,0x2b,0xc2,0x19,0x2f,0xc0,0x2b,0x18,0x9c,0xee,0xd4,0x03,0xab,0x9f,0x27,0x0a,0x03,0x2a,0x83,0x5f,0xde,0xbf,0xaf,0x1c,0x9d,0x69,0x34,0xed,0x83,0x04,0xbc,},{0xd5,0xbe,0xa8,0xea,0x9a,0x5f,0xe9,0xed,0x6d,0x2b,0xf8,0x39,0x93,0x0c,0x0c,0x6c,0xd5,0x03,0x9e,0x98,0x8f,0x55,0x1f,0xde,0xdb,0x54,0x37,0xe1,0xc1,0xaf,0x0e,0xd7,0xb3,0x89,0x7c,0x03,0x57,0x11,0xc3,0xc5,0x19,0x26,0xbe,0x8d,0x1b,0x32,0x02,0x4d,0x5c,0xd5,0x82,0xf5,0xf8,0x36,0x9a,0xd8,0x4d,0x18,0xb1,0x25,0x02,0x65,0x2f,0x07,},"\xb1\x94\xdb\x73\xf9\x94\xcb\xdc\x3c\xbe\x63\x0b\xa7\x2c\x47\xc2\x24\x9b\xc0\x59\x2a\xb5\x47\x94\x2b\x1d\x1b\x88\x2b\x44\xf5\xb3\x85\x5e\x56\x8b\xdd\xdf\x92\xef\x05\x02\x2d\x88\xfc\xfc\x29\x4e\x76\xb6\x4a\x00\xe9\xc7\x43\x55\x37\x37\x63\xe4\x9a\x4e\xbc\x47\x24\x3d\x48\xa9\xad\x58\x89\x94\xa5\x18\xf8\x0f\x86\x15\xc2\xb3\x1d\xa5\x87\xa5\x3e\x52\x9d\x43\x5a\x86\x97\x35\x0d\xfc\xde\x02\xd2\x0c\xce\x7d\x5e\xee\xfe\x3f\x5a\xb2\xaa\xc6\x01\x25\x9c\xda\x38\x53\x8a\x1b\x83\x01\xf9\x83\x2e\x75\xab\x90\xf8\xa9\x32\xf2\x67\xea\xc1\x81\x00\x39\x65\xd5\x26\x6f\x20\x61\x80\xc6\xc3\x80\xec\xe8\x03\x57\x7c\xcb\x46\x17\x6b\xf6\x07\x15\x94\x86\xf2\x42\x59\x74\x7e\x2c\xa6\xfb\x19\x12\xdb\x7b\x78\xa9\x73\xb2\x84\x63\x87\xc1\x20\x80\x30\xee\x1f\x40\x0d\x0c\x5b\x5e\x8b\xde\x96\x35\xae\x55\x63\x8b\xa1\x7c\x73\x4d\xe8\x63\x8b\xb8\x5d\xfc\xd7\x66\x29\xa7\xf9\xf4\x0d\x6a\xb9\x54\xd5\x5b\xf8\x57\x5f\xc9\xc9\xa5\x95\x09\x7e\x08\x93\xdb\x5a\x7b\x8a\x6c\x45\x5e\xcb\xd3\xd2\x2d\x72\x5e\x19\xde\x29\x41\xf4\x67\xf9\xeb\x93\xd6\x6a\x0e\x2b\xbd\xbf\x92\xed\x1c"}, -{{0x09,0xd2,0x2b,0xba,0xa5,0x95,0x6c,0xfa,0xcb,0xbf,0x9f,0xd5,0x51,0x09,0x75,0x12,0x86,0x86,0xc4,0x0c,0x6e,0xa9,0x6b,0x89,0xef,0x4c,0x0f,0x0c,0x64,0x9b,0xcd,0x7f,},{0xe5,0x59,0xea,0x8a,0xcb,0xdc,0x61,0xb6,0x70,0x9a,0x7d,0x83,0xae,0x15,0x84,0x9a,0x6c,0x78,0xb2,0x03,0x92,0x3d,0xd0,0xa2,0x99,0x23,0x9e,0xe4,0x88,0x69,0x30,0xba,},{0xe6,0x52,0x75,0xc4,0x32,0x8a,0x70,0xad,0x62,0x40,0x8e,0xd7,0xfb,0x17,0x28,0xbe,0x87,0xa7,0x3a,0x81,0x4f,0xee,0x8e,0xbd,0x94,0xf2,0x66,0x5c,0x71,0xbc,0x66,0xab,0x0c,0x1b,0x07,0xa6,0x00,0xb3,0x0b,0xc0,0x81,0xa7,0x4c,0x53,0x68,0x57,0xc2,0x06,0x10,0x38,0x4b,0xe2,0x68,0xd9,0xaf,0x3e,0x3e,0xcd,0xdd,0x3e,0xb0,0xc1,0x4c,0x0c,},"\x1c\x26\xa0\xf3\xa1\xa5\xb2\xd7\xd5\xb2\x97\xaf\x8a\x6a\x68\x9d\x7c\x62\xa2\x52\x67\xe1\x97\xd2\x3b\xec\xd2\xf2\xb8\x16\xc4\xde\x92\xfb\xda\xff\xb9\x41\xc3\xfc\x8d\xb7\xa8\x43\x35\xa8\x4c\xfb\xc9\x2c\xb3\xac\x80\x6e\xd5\x8d\xf1\x6b\x6b\x8e\x11\x9a\x48\xdf\x4f\x27\xc7\x1e\x93\x1a\x59\x38\xe7\xd0\x02\x73\x48\x85\xe1\x3a\x25\x8a\x15\xb6\xe1\x13\x6e\xfb\xa7\x2f\x1d\x09\x6b\x68\x9f\x76\x18\xf4\x9c\x96\x80\x63\xe8\xf9\x91\xfa\x0b\x55\x60\x1e\x43\x0e\xee\x13\x49\x2a\x1b\x09\x41\x3e\xb2\x38\x13\x59\x1a\x7a\x9f\x07\x0c\xc3\x96\xca\x9d\x1f\xac\xdd\x4f\x4c\xe3\x7c\x40\xf7\x24\x5f\x55\x03\x5e\x10\xfa\xd6\xb8\x5b\x5f\x01\xa1\xda\xac\xc0\xdf\x94\x06\x9f\x7d\xe8\xf6\x46\x7f\x96\xd1\xfb\x98\x64\x8e\x8a\x05\x20\xa8\xcd\x72\x3c\x98\xe9\xdc\x2d\xd4\xb2\x93\x4d\x82\x28\xf0\xae\x1a\x41\x5b\xd3\xa7\xcd\xa3\x8d\x7a\x99\x83\xce\x1a\xf6\xf8\xc9\x70\xa2\xa5\x91\x63\x5f\xe1\x2b\x91\x75\x36\xef\x81\x5e\xaf\x1a\x31\x38\xd7\x0c\xe7\x0a\x79\x42\x64\xd7\xc9\x86\xd9\xee\x32\x90\x44\x5f\x15\xa9\x24\x8f\x27\x65\x27\x1e\x5a\x99\x21\x96\xae\x33\x1a\xbd\x41\x64\xbf"}, -{{0x77,0x82,0x6e,0xd3,0x51,0xa3,0xf0,0x92,0x54,0xae,0x56,0x92,0x88,0x5d,0x77,0x4c,0xb3,0xf2,0x44,0x10,0xa4,0x80,0x9f,0xd9,0x0f,0x8a,0x00,0xda,0x9a,0xee,0x99,0x03,},{0x3e,0xac,0x8f,0x41,0xee,0x73,0xe6,0xef,0x13,0x68,0x21,0xf7,0x95,0x7a,0x1c,0x27,0xe1,0x56,0x38,0xd0,0xe3,0x91,0x6e,0x6c,0xaa,0xc6,0xfb,0x7b,0xeb,0x7b,0xcf,0xb0,},{0x97,0x7a,0xdc,0xcd,0xb8,0x29,0xb4,0x0b,0xbd,0x8e,0x53,0x85,0x6a,0x78,0x3d,0xb3,0x46,0xa3,0x9d,0xff,0x62,0x04,0x1a,0x29,0x72,0xd2,0x90,0x09,0xf1,0xc9,0xff,0x81,0xb8,0xad,0x54,0xcb,0x90,0x1e,0x49,0x7c,0x1d,0x30,0x21,0xb5,0x0b,0x6c,0x69,0xee,0x73,0x55,0x8f,0xd7,0xbe,0x05,0xd6,0x25,0xf5,0x72,0x7f,0x9a,0xf2,0xce,0x87,0x02,},"\x1f\xf0\x6c\x0b\x39\x99\xce\xcb\x19\x00\xa4\x7d\x26\x7b\xea\xfb\xb3\x5d\x93\xd1\x4c\xb2\xc8\x92\x5e\x3e\x3f\xe5\xd9\x67\x58\x69\x25\xee\x4b\xaa\x41\x99\x8e\xdd\x01\x03\x20\x58\x10\xaa\xd5\xc0\xbb\xdc\x77\x87\x44\x76\x81\x02\x46\xd1\x30\x89\xa6\x4d\xb5\x76\x42\x4f\xae\x0b\xed\x96\x64\xa4\x2a\x49\x11\x47\xd1\xee\x3b\x9c\x3b\x1b\xa4\x87\x5b\xe1\x54\x62\x39\x25\x40\xf9\x97\x8d\x9a\x46\x30\xba\x4c\x52\x54\x99\x75\x1a\x45\xef\xc2\x99\xec\x7d\x73\xb1\x7f\x9a\xd2\x75\xee\x71\xa6\x87\xe7\x26\x90\xd7\x32\x02\x42\xd2\xdc\x2b\xd4\xd5\xc5\xcf\x0f\x17\xa4\x65\x18\x5d\xcf\x60\xf8\xef\xff\x53\x90\x3f\x20\xb0\xc2\xab\x21\x92\xd4\x43\x68\xf2\xf2\xfb\x36\x04\x8a\xf0\x71\xf7\xaa\x85\x7b\x14\xad\x1d\x11\x46\x12\x05\xbe\xbe\x17\xe0\x2b\xe2\xe3\xcc\xb6\x09\x28\x21\x88\x5c\x4e\x0d\x48\x11\xbe\x3f\x45\xb1\xfe\xa0\x88\x45\x3e\x02\x24\x32\xf5\x62\x56\x2b\x43\xa3\x55\xcb\x56\x27\x0c\xed\xb6\xc2\xc4\x2d\xbf\x9b\xe8\x50\xe7\x71\x92\xfd\xc6\x5c\xfd\x36\x83\x4b\xe9\x88\xdb\xe9\xa9\x3e\x25\x18\xc1\x38\xb0\x90\xfb\x9d\xa8\x27\xcb\x1c\x91\xc8\xfe\x52\xfe\x7c\x57\xf7"}, -{{0x99,0xa9,0x95,0x31,0xc3,0xcd,0x6e,0x3e,0x9c,0x90,0x0a,0x9e,0xeb,0x26,0x26,0x7e,0x72,0xf0,0x9d,0x11,0xb6,0x51,0xa8,0x97,0xeb,0xb7,0x9b,0xe0,0x16,0xf6,0x4c,0x6e,},{0x9b,0xf9,0xf8,0xb4,0x8a,0x27,0x28,0xe0,0x26,0x08,0xfc,0x19,0x89,0x9d,0x21,0x96,0x56,0x83,0x9d,0x1c,0xc1,0xe9,0xa8,0x98,0x4d,0xf6,0x74,0xec,0x26,0x66,0x2f,0x41,},{0x0e,0x89,0xda,0x5d,0x94,0x9c,0xf2,0xbf,0x40,0xc7,0xe1,0x7c,0x2d,0x0f,0x9c,0xea,0xbc,0x88,0xa0,0x92,0xeb,0x4d,0x49,0xcf,0xbf,0xea,0xb7,0xc8,0xbf,0xf4,0x32,0x45,0xc6,0x7b,0x9e,0x2e,0x92,0xf9,0xbc,0xb9,0xb3,0x4b,0x3f,0xcf,0x8b,0x01,0xfa,0x2e,0xa7,0xa9,0x64,0x9f,0x81,0x4c,0x3a,0xa9,0x8b,0x3d,0xd0,0x45,0x40,0xc3,0x1d,0x09,},"\x7a\x89\xc0\xc1\x95\x2f\xdc\x42\x98\xdc\xae\xa8\x54\xef\xc1\x34\x65\x6b\xe1\x47\xe9\xe8\xe8\x2f\xc9\xa4\x49\x05\x9d\x80\x57\x0f\x75\x67\x6b\x81\xc4\xa9\x4f\x76\xa9\x68\x20\x0c\xde\xb0\x98\x8c\x73\xf5\x9a\xfc\x72\xad\x4c\x31\x03\xe1\x9f\xe6\x3b\x7e\x95\xe1\x40\xb5\xcb\x2e\xfc\x7b\x97\xa6\xff\xbb\x6c\x29\x8d\xda\xce\x3b\xe6\xd2\xed\x3d\x59\x8b\x8b\xdf\x0c\x2f\xe6\xc9\x76\x02\x14\x2a\x76\xe9\x78\x51\x4c\x19\x6c\x1b\x9a\x88\xef\xdc\x19\x25\xfc\x50\x61\x55\xcf\xf9\xa2\xf2\x1a\xb6\x34\xe2\xb9\x3e\x96\x92\x8a\x5d\x8f\x7c\xe4\xcb\x73\x26\xd9\x68\x94\x69\x24\x2b\xa9\xc6\xa0\x1b\x77\x49\x6b\xad\xef\x87\x57\x8f\x5a\x17\x28\x4e\x90\x0a\x72\xdf\x14\x1c\x61\x99\xb0\xe7\x1a\xb5\xda\x43\x75\x03\x76\x17\xec\x61\x96\xd4\xf4\xe2\x3a\xe2\x91\x6a\x72\xd0\xfc\xe7\x96\x02\x23\x05\xac\x9f\xbb\xbb\xe4\x70\x5b\x34\x0e\x42\xb7\x8e\x1c\x02\xbb\x10\x01\x86\x0c\xdc\xaf\x71\xed\x89\x25\x5d\xd5\x6c\xc0\xb3\x1c\x59\xd4\x59\x6d\xce\xf8\x4e\x22\x23\x4b\xe5\x62\xbd\x80\x1e\x94\x11\x1d\x83\xa7\x80\x64\xc9\x0f\x9d\x82\xfc\xe9\x1f\x68\xab\xb0\x3c\x73\xb6\xbd\x8d\x7e\x02\xd4"}, -{{0xaa,0x58,0x40,0x3e,0x76,0x3b,0xac,0x40,0x5d,0xb0,0x65,0xeb,0x11,0xeb,0x6b,0xe3,0xe3,0xb6,0xcf,0x00,0xec,0x4a,0x22,0x2b,0x52,0xbf,0xf4,0xb6,0xe3,0xd1,0x56,0xac,},{0x16,0x7f,0x9b,0x9a,0x46,0x65,0xf9,0x3f,0x5d,0x7d,0x30,0x16,0xac,0xe6,0xfb,0xd1,0x34,0x20,0xb2,0xe5,0x1e,0x72,0xbd,0xe5,0x9e,0xed,0xf2,0x69,0x93,0xb6,0x6c,0xae,},{0x64,0xb5,0x98,0xca,0x5b,0x8f,0x9a,0xe7,0x42,0xe4,0x6e,0xe0,0xd8,0xc1,0xaa,0xf3,0x14,0x58,0xb5,0x0c,0x25,0xd2,0x67,0xa6,0x77,0xe4,0x4b,0xe5,0xb7,0x55,0xf1,0x4d,0x51,0x80,0x1a,0x30,0x39,0x9b,0xfc,0xc3,0x8d,0x14,0x07,0x1a,0xa0,0xae,0x93,0xda,0x82,0x5a,0x58,0x1a,0xb6,0xc2,0x07,0x25,0xa0,0xa9,0x10,0xb4,0x73,0x5d,0xfa,0x0b,},"\x3b\xaa\x09\x98\xff\x02\xb3\x2b\x90\xb5\x1f\x9a\x84\x0c\x7b\x5c\x58\x70\xcf\xb1\x81\x0a\x9b\x0f\x77\xb5\x59\x09\xd4\x7a\xd3\x35\x14\x7a\x99\x1c\x29\xfb\xeb\xfc\x59\x2e\x93\x07\x17\x5c\x19\x64\x12\x9a\x2d\x5e\xfc\x62\x15\x80\x74\x53\xbc\xd7\x26\x96\x97\x81\x22\x2b\xca\xd1\xc9\x9a\x49\x74\x8b\x9e\xe6\x67\xc4\xd0\xc8\x28\x89\xe2\xf5\x00\x64\xc1\x15\xdb\xd8\xfb\x48\x3d\x72\xab\x0c\xca\xdf\x76\xbd\xdb\x2d\xc7\x27\xdb\xc3\xfa\x5c\x46\x24\xc2\x83\xd8\x92\x1c\x8a\xa4\x42\x51\x10\xdc\xdd\x69\xc0\x5e\x5e\xd5\x9b\x35\x96\x25\xee\xaa\xec\x1e\x27\xea\xfe\x9d\x9a\x5c\xe7\x36\xc3\xf9\xc5\x27\xea\x54\x78\x18\xb9\xbc\xa6\x81\x1b\xe4\xcc\x15\x05\x8a\x6f\x5b\x68\x33\x03\xb8\x0c\x90\xc9\x4a\x83\xb8\xb1\x58\x69\x71\x3a\x66\xb1\xe0\xf6\x56\x33\x1b\x28\x6d\x1e\xf7\x69\x88\x34\xab\x3e\x13\x84\x17\xaa\xd6\xbb\x3a\xb3\xbd\x9f\xc7\x87\x61\xa4\x82\xdf\xc6\x54\xf3\xf8\x62\x8c\x8d\x9f\xc1\x60\x18\x89\x8f\x16\x41\xe8\x62\x2b\xd2\x72\xe3\x8d\x41\x70\x6c\xb9\xce\xbe\x6e\xe5\xe1\x73\x57\x6b\xf6\x1b\xb1\x18\x8c\xf2\xf3\x9c\x62\x22\x0b\xba\x88\xfc\xb4\xde\x48\x98\xb2\x5b\x04"}, -{{0x10,0x44,0xee,0x37,0x08,0xc0,0xb0,0xe9,0x09,0xa8,0xcb,0x2b,0xa2,0xcd,0x0a,0xf8,0xd2,0x8a,0x5d,0xe0,0x1d,0x96,0x2e,0x82,0x60,0x87,0xfb,0x23,0x2d,0xf7,0xb2,0xd2,},{0x46,0xd2,0x41,0xea,0x0c,0x70,0x2c,0x18,0x89,0xd4,0x46,0x55,0x82,0x46,0x29,0xb6,0x72,0x84,0xd4,0xe6,0x44,0xa4,0x8f,0xa4,0x54,0x55,0xd2,0x7a,0xc5,0xf6,0x25,0x29,},{0x7d,0x6b,0xed,0x7f,0x87,0xd0,0x90,0xab,0xe0,0x13,0xc3,0x1e,0x12,0x03,0x90,0x3b,0xac,0x9c,0x93,0x44,0x5d,0x06,0xc7,0xb5,0x3d,0x31,0xd1,0x5f,0x97,0x0d,0x88,0x64,0x7a,0x7e,0xd2,0xc3,0xa6,0x30,0x50,0xba,0x19,0xd6,0x80,0x43,0xaa,0xdd,0x18,0xbd,0x86,0x1d,0xe1,0xac,0x47,0x15,0xb8,0xe8,0x28,0xb2,0xb1,0x6f,0x8a,0x92,0xb0,0x01,},"\xb8\xa4\x45\x45\x5f\xb6\x6e\x17\xe3\x14\x3d\x35\x20\x4c\x9e\xa9\x34\x74\xee\xbe\xef\x93\x96\x3e\xe5\xc1\xd3\x77\xca\x21\x7a\xcd\x4c\xa6\x3e\x57\x55\xda\x08\xfb\xff\xdb\xd4\x35\x2b\xf1\x65\x19\x38\x96\xc8\xd6\xf7\x6b\xb4\xcd\x3b\xc2\xd3\xa4\x76\xa4\xe3\x20\x82\x4a\x12\x10\xce\x74\xd0\x01\x4d\x74\x7f\x11\x1e\xec\x31\x0c\x5c\x89\xed\x4d\x08\x50\xe8\x11\xf8\x0a\x8b\xb2\x8d\xca\xf6\xf4\x11\xdf\x83\xe2\xc1\xdf\xd9\x0c\x4a\xd2\x35\x61\x45\x4e\xb5\xd7\x56\xb6\x3b\x4e\xa7\xf3\x7d\xc5\xd4\x66\xc1\x6e\xf7\x0d\x11\x19\x0c\x4f\x53\x16\xfe\x2a\xa8\x59\x74\x40\xe8\x8b\xbe\xba\xeb\x35\xea\x5f\x04\xf0\x7b\x03\x39\x26\x41\x58\xef\x90\x9a\xd5\x16\x3b\xfc\x24\x8c\xd7\x24\x13\x3e\x27\x4f\x81\x26\x95\xf2\x90\xe5\x71\x76\xa9\x6b\x93\x93\xd0\x7b\xb3\x10\x29\x9f\x5d\x2a\x6b\x6d\xd1\xda\xbc\xb5\x1b\xf2\x9c\x5a\xfa\x7e\xbb\x07\x01\xc6\xc8\x47\x67\xac\x13\x77\x93\x09\x1f\xe0\xed\x6e\x47\xd7\x80\x62\x8a\x32\xc8\x4f\x83\xe0\x0e\x9c\x16\x74\x2a\x52\x3e\xcb\x63\xc2\x4f\x4a\x33\x8e\xd2\x99\xa0\x61\x94\x92\x4f\x44\xc5\xa5\xd3\xc9\x37\xff\x9b\x09\x45\x98\x2a\xd2\x4a\x2d\x1c\x79"}, -{{0x95,0xdd,0x1a,0x5e,0x65,0x8f,0xa6,0xc8,0xd4,0x25,0x07,0xb3,0xe5,0xb8,0xed,0xb5,0xba,0xec,0xa6,0x2d,0xeb,0x00,0xfc,0x5d,0x4d,0xca,0x8e,0x1a,0xb5,0x83,0x5e,0x59,},{0x3a,0x53,0x23,0xdd,0x1e,0x07,0xf3,0x23,0xbb,0x6d,0x83,0xe9,0xc2,0xdb,0x92,0xa2,0x9f,0x62,0xe2,0xe0,0x03,0xee,0x0d,0xea,0xcd,0x7e,0x2e,0x4e,0x03,0x0d,0x8d,0x27,},{0xd0,0x2a,0x75,0x23,0xdc,0xbd,0x29,0x57,0x6b,0xa8,0x09,0xb5,0x31,0x03,0x77,0x74,0xdf,0x41,0x73,0x4a,0x41,0x17,0x58,0x13,0x11,0x9c,0x6a,0x6a,0x78,0x8c,0xd9,0xb8,0xad,0x78,0x08,0x65,0x67,0x86,0x67,0x69,0x9a,0xe6,0x6d,0x01,0x09,0x19,0xa9,0x66,0xa0,0x51,0xc0,0x81,0x63,0xdf,0x67,0xa9,0x77,0xee,0x6e,0x22,0x0d,0x0d,0xc3,0x0f,},"\x9b\x7a\xfd\x48\xc4\x74\x60\x4c\x26\x36\x75\x31\x55\x68\x40\xc3\x88\x66\x8b\x0f\x38\x40\x06\x3d\xfc\x98\x69\xad\x5b\x90\x12\x74\xb9\x31\x29\x3d\x04\xf3\xc8\xe8\xf7\xf8\xea\xb8\x15\xa6\x41\xd7\xc3\x51\x28\x4e\x8b\xb0\x43\x7a\xc5\x51\xbb\x29\x43\x89\x64\xe6\xa7\xc7\xba\x77\x23\x44\xb3\x33\xf9\xed\xa5\xa7\x75\x68\xc8\x93\x1d\xdc\xaf\x21\xe3\x2e\x07\xb1\x0b\xf4\x82\x0f\xb8\x59\xbc\xf8\x7b\x81\xc4\xbf\xf4\x26\xf2\x4a\x4d\x46\x8f\x2e\x9a\xed\xa8\xf1\x7d\x93\x97\x09\x97\x0d\xb1\x1d\xf7\x62\x47\xe9\x8a\x39\xeb\x8b\x38\xf5\x94\x9f\x34\x9f\x2a\xe0\x5a\xb4\x8c\x01\x85\x17\xc4\x8f\xa0\x20\x5d\xc7\xf1\x56\x64\x53\xe1\x05\xe4\x8c\x52\xeb\x45\x5c\x0c\x40\x80\x2f\x79\x7b\x3e\xef\xb1\xe2\xf3\xb1\xf8\x43\x15\xae\xd5\xb0\x71\x1c\x64\x99\xa6\x91\xb7\x4b\x91\xf1\x2e\xf7\x0f\x76\xc4\xc0\x5c\x1a\xa1\xa9\x93\xe2\xf3\xe5\x28\xab\x34\x3d\xd2\x36\x81\x62\xf4\x03\x6a\x61\xa1\x3a\x88\x04\x5d\xcd\xef\xa8\x5d\x68\x53\x22\x75\xbc\xf5\xb8\xf5\xf0\x0e\xfd\xea\x99\x9a\x95\x78\x31\x75\xd9\xee\x95\xa9\x25\xd4\x8a\x54\x49\x34\xd8\xc6\xb2\x62\x22\x5b\x6e\xbe\xa3\x54\x15\xdd\x44\xdf\x1f"}, -{{0x1a,0xbc,0x0b,0x9a,0xa0,0x1d,0xc5,0x7c,0xa5,0x3e,0xfe,0x73,0x80,0x96,0x2b,0x1a,0x88,0xd5,0x0a,0x96,0x4f,0x5c,0xd9,0x86,0x40,0x98,0x2c,0x74,0x39,0x3f,0x29,0x26,},{0x8d,0x4f,0xd1,0x43,0x94,0xd7,0xc1,0x40,0x57,0x00,0x30,0x69,0x83,0xfb,0xf7,0x6e,0xa9,0xf1,0x71,0xb1,0x5a,0x6b,0x56,0x61,0x2a,0x1f,0xeb,0x1c,0xbd,0xae,0x5d,0xd5,},{0xf7,0x38,0xaf,0x2d,0x3e,0x29,0x0b,0x3d,0x23,0xd9,0xaf,0xf7,0x41,0x4b,0xfc,0x5f,0xfa,0x47,0x23,0x5d,0xc0,0x53,0x68,0x7a,0x8b,0xa5,0xc8,0x54,0x1b,0x85,0x11,0xf7,0x81,0x56,0x6c,0xda,0xa1,0x30,0xe0,0x67,0x7d,0xb5,0x5f,0xa8,0xbe,0x9d,0x81,0xa0,0x92,0xcb,0x58,0x92,0x3a,0x86,0x28,0x49,0x4d,0x2f,0x62,0xd9,0x5c,0x16,0x71,0x00,},"\xda\x2d\xd9\x40\xd5\xe1\xdb\x6e\x80\xbf\x7e\x2b\x78\x2e\x7e\x74\x5c\xd4\xfd\x25\x2e\x98\x15\x17\x97\x58\x87\xdd\x05\xac\x77\xed\x83\x7d\x08\x29\x61\x57\x5e\xfe\xdf\x30\x1f\xdf\x24\xb7\x07\x18\xb9\x91\xb8\xd9\x2b\xdd\x2e\x6b\xee\x17\xc8\xaa\x4b\xc6\x94\xa7\x27\xbc\xfc\x78\xfd\x85\x19\x5c\x42\xca\xf8\x83\xa2\xc3\x8d\x16\x1c\xad\xd7\x9c\xfd\xa9\xa3\x91\x10\xe1\x26\x4d\x30\xbd\x4c\x5c\x4a\x58\x76\x77\x7f\x23\x3b\x07\x1b\x1b\x0b\x40\x89\x35\xf0\x46\x89\x54\xcc\x74\x4a\xf8\x06\x3b\x00\x4e\xde\x56\xcd\x98\x1c\x4d\xd5\x60\x8a\xbf\xfe\xae\xc9\xe5\x8f\x3f\xaf\xaa\x67\x14\x67\x80\x4b\x7f\xa2\x55\x8f\x4f\x95\x17\x42\x01\xf1\x83\xd8\x0a\x59\x14\x06\x5f\xed\x53\x11\x5b\x41\xeb\xc3\x38\xf7\x8d\xf0\x50\x05\x3b\x8a\x4e\x75\xea\x7c\x6f\xdc\x35\x4d\xad\x27\xbf\xd8\xa2\xe6\x6f\xcd\x7a\xe2\xf5\x87\xd2\x4b\xe0\xd4\xa3\x3d\xa3\x0a\x22\x0e\x51\xbc\x05\xfa\x4e\x41\x2b\x95\x9f\xd9\x5d\x89\xea\x6e\xc0\x16\x25\x16\xc0\x96\xa9\x43\x3a\x9e\x7c\xf5\x99\xc9\x28\xbd\x53\x05\xc2\x17\x3b\xf7\x49\x3e\xd0\xc1\xc6\x03\xcd\x03\xf0\x82\xcc\xe4\x42\x37\xa7\x9f\xfd\x8b\xe9\xa6\x72\xc2\xeb\xaa"}, -{{0xcb,0xff,0xce,0x2c,0x9b,0xd3,0xe2,0x3e,0x40,0x6e,0x5f,0x66,0xe6,0x32,0xdc,0xfa,0x72,0x66,0x54,0xd2,0x9a,0x95,0x5c,0xec,0x98,0x31,0x73,0x23,0x5f,0xa3,0x59,0xd0,},{0x49,0x65,0x3e,0xdd,0x64,0xa5,0x5f,0x7c,0xd4,0x0e,0xaf,0x3f,0x8e,0x72,0xeb,0x96,0xdb,0xcd,0xee,0x39,0x8f,0x34,0x81,0x7f,0x2c,0x95,0x86,0x79,0x49,0x71,0x0b,0x14,},{0xe7,0xce,0xd4,0xfa,0x2a,0x7d,0xff,0x73,0xf1,0x06,0x8b,0xba,0xd0,0xec,0x9a,0x11,0x09,0x04,0x3c,0x97,0xa6,0x2e,0xff,0xa1,0x48,0x87,0x6f,0x09,0x69,0xed,0x4d,0xc6,0x08,0xe2,0x8b,0xce,0x79,0x7a,0xf3,0xb8,0x25,0x32,0xc9,0x4d,0xec,0x4d,0x68,0x11,0xb7,0xf5,0x63,0x67,0x91,0x29,0xfa,0xcf,0x17,0xbb,0x73,0xd6,0x93,0x75,0xeb,0x05,},"\x1f\xfd\xe6\x82\x6e\x4f\x0c\x24\xa7\x96\x1f\x19\x1e\x74\xcc\x0b\xbc\x92\x8e\x3f\x1a\xec\x3e\xfa\xb3\x27\x65\xc2\x50\x1c\xbc\x16\x20\xe7\xee\x6f\x61\xfc\xcf\xb0\x0c\xfc\xa9\xfb\x98\x14\x3b\x52\x9b\xcc\x8c\x3d\x0f\xdf\x89\xee\x7c\x34\x2f\x10\x18\x15\xfa\xbf\x7d\xea\xf9\xf3\x02\xa2\x88\xfe\x17\x58\x26\xd5\x90\xd9\x9e\xe6\xfd\x92\xda\x74\xf9\x59\x6b\x78\x3c\x0e\x7d\x47\xd7\x11\xa3\x2f\x39\xea\x41\x65\xe5\x21\x24\x31\x44\x1b\x49\x8c\x6b\x70\xdb\x3b\x09\xd1\xf4\xe4\xa1\x4a\x6b\xae\x39\xda\x50\x88\xbb\x85\xb3\x28\x5c\xe9\xdf\x2f\x90\x68\x1a\xf2\xc7\x4d\xec\xe4\x39\xae\xb9\x1e\x1c\x1b\x07\x12\xed\xdb\xee\x8d\x72\x56\x98\x28\xf3\x7c\xb7\x20\xc5\x09\xd0\x2a\xec\x47\x60\x70\x48\x4e\x9b\x16\xec\x71\x79\x94\x7a\xc9\x6c\xaf\x0e\x1b\xe8\xb6\xb7\x4f\x37\x2d\x72\x35\xfe\x6e\x39\x99\xdf\x73\x3b\xcc\xd4\x82\xdf\xe2\xe6\x31\xf5\x6b\x58\x26\x67\xdc\xe5\xe3\x12\x17\x63\xad\xfa\xcf\x3b\x18\xcf\x20\x95\xf7\x39\x4d\xee\x49\x27\xfc\x2b\xea\x6b\x58\x24\xd9\x0c\xd5\x9e\x85\x4e\xc5\x87\x2b\x45\x51\xb0\x2e\xfa\xba\x5a\xd5\x4a\x9b\x7a\x8f\x6d\xe5\xd7\xcd\xa5\x82\x5b\x32\x5b\x07\x6d\xed"}, -{{0x9f,0x91,0x23,0x14,0x97,0x48,0x4c,0xab,0x39,0xb9,0xe2,0x0f,0x86,0x11,0x81,0xd3,0x97,0x90,0x85,0x77,0xbb,0xb2,0x96,0x82,0x42,0xd0,0x71,0xbc,0xa4,0x81,0x3f,0xfb,},{0x88,0x24,0xbc,0x6c,0xd6,0xa6,0xf1,0x5a,0x5f,0x41,0x66,0x8f,0x2b,0x3b,0xae,0x8f,0xc4,0x96,0x73,0x83,0x07,0x8d,0x08,0xb5,0x1d,0x6d,0x1b,0x2b,0x93,0xa1,0x07,0x1f,},{0x0a,0x1c,0x70,0x6d,0xd8,0xa1,0x30,0x77,0xab,0x18,0x38,0x6c,0x65,0xfa,0x97,0xcf,0x9d,0xfc,0x43,0x54,0x2d,0x18,0x46,0xec,0xbd,0xde,0xb7,0xb3,0xc9,0x3f,0x3c,0x66,0xf3,0xcc,0xd0,0x44,0x7a,0xac,0xdd,0x4d,0xad,0x8f,0xbf,0x73,0x6c,0x4f,0xf9,0xdb,0xdb,0x62,0xbf,0xc1,0x4d,0x88,0x83,0xe3,0x85,0xbc,0xe9,0xba,0xc5,0x6a,0x35,0x0c,},"\x21\xd4\xfb\xc9\x81\x63\xc3\xfb\x6e\x09\xf7\x75\xc2\xab\x7b\x18\xb1\x87\x92\x34\x0b\xaf\xed\xac\xb4\x96\x05\x62\x2e\x3c\x08\xaa\x3b\x2b\x8d\x0e\x09\x02\xf3\x61\xaa\x1c\x0f\x65\x2e\x27\x32\xb1\x0a\x0c\x5c\x6a\x05\x09\x89\x96\xb5\x88\x26\x7c\xc8\x95\x1a\x78\xb5\xd4\x31\xe7\x22\x2b\xbb\x50\x8e\xee\xf1\xb5\xe8\xb8\xd0\x1d\x39\x91\xe1\x8d\xdd\xc6\xca\x8d\x22\x2e\xf1\x77\xce\x62\x93\x8d\x18\x10\xee\xcf\x06\xf4\x73\x8b\x28\xf4\x40\x94\x6c\xca\xd2\xa1\x2e\x39\xd3\x86\x11\xbe\xd3\xa3\x9f\x93\x41\x9a\x17\x9e\xc2\xb1\xb5\x2d\x5f\xe5\xc8\x0c\x23\xb8\x4d\x88\x03\x75\x5f\x51\x46\x09\x2c\xc1\x99\xb4\xbd\xce\xa5\xbc\xf2\x03\x7b\xd5\x3f\xf6\x34\x66\x94\x15\x5f\x02\x7d\x8c\xe2\xba\xff\xe3\x0a\x56\x66\x59\x6c\x00\x78\x3a\xae\xad\xe9\xc7\x7f\xc8\x63\x79\x42\xec\xe0\x17\xd6\x48\x4c\x28\x99\xb1\x91\x8d\x3a\x48\x0b\xd5\x15\x76\x78\xd4\x77\x2d\x27\x1f\x9b\x99\x76\x8e\xe1\xbc\xc4\x6b\x24\x89\xae\x87\xcd\x03\x0f\x47\xd1\x33\x3c\x76\x72\xcb\x90\x2c\xb4\xf5\xfe\x74\x6e\x85\x3d\xe5\x79\x40\xba\x22\x64\xd3\xe6\x29\x64\x4d\x65\x3a\x5b\x7a\xf7\x8c\xe6\x4a\x99\x3f\x36\x25\x0f\x8c\xb7\xcb\x45"}, -{{0x1e,0x2b,0xd5,0x48,0x7c,0x5f,0x5c,0xed,0x46,0x1f,0x60,0x4d,0xcc,0xb4,0xe7,0x8e,0xb9,0x16,0x08,0xf0,0xb8,0x21,0xf5,0xaf,0xc4,0xe3,0xe5,0x34,0xf7,0x96,0x03,0x92,},{0xef,0x82,0x54,0x75,0xcf,0x20,0x51,0xa2,0x01,0x7a,0xe5,0x32,0xf0,0x77,0xd9,0x67,0x74,0x34,0x7d,0x27,0x67,0xea,0x7b,0x45,0xf9,0xc1,0xb8,0x60,0xab,0x99,0x35,0x06,},{0x4d,0x33,0xc9,0x6a,0x2e,0x3a,0x5d,0xb7,0x39,0x1a,0xdf,0x65,0xc1,0xcc,0x35,0x65,0xfe,0x76,0xee,0xaf,0xd0,0xb5,0xc7,0xab,0xb0,0xb4,0x92,0xa0,0xb5,0x1e,0x1f,0xa3,0x36,0x39,0x94,0x6a,0x24,0x3b,0x2d,0xde,0xf3,0x57,0x55,0x22,0x98,0xce,0x0a,0xa9,0x5e,0xac,0x6f,0xbf,0xe6,0x60,0x98,0x82,0x71,0x87,0x7e,0xb2,0xa7,0xda,0x18,0x06,},"\x1d\xbb\xbb\x13\xcd\xad\x88\x85\x4b\x80\x9c\xed\xed\x27\x33\x43\xd3\x06\xa8\xde\xab\xf3\xff\x02\xc9\xce\xc6\xf0\x02\xb8\xe9\xe1\x0e\xf5\xd1\xb0\xf5\x71\x1f\x33\x26\x7a\xa9\x1c\x17\x1b\x61\xe9\x60\xf7\x40\x45\x7b\x81\xd7\x51\xa4\x73\xf4\x4f\x75\x0a\x08\x0c\xab\x80\xaf\x7c\xcc\xa7\xdf\xfc\xfa\xc9\xee\x4c\x39\xdc\x85\xcb\xdf\x51\x25\x9c\xcd\x34\x70\xd9\xba\xd3\xad\x30\xf4\xee\x5d\xbd\x4f\xac\x6b\xd5\xc6\xc4\xdf\x73\x11\xa4\x70\x04\x46\x95\xa7\xe1\xa7\xe1\x85\x72\x20\x75\x88\xaf\xa5\x7e\xeb\xcd\x4d\x57\x5b\x6d\x42\x44\x57\xee\x92\x46\x5c\xe1\x86\x3e\x3c\x67\x7c\xf8\x75\xfd\xb9\x8d\x40\x78\xeb\xe7\x14\x42\x60\x80\x70\x52\x57\x71\x44\xcb\x8e\x03\x59\xaa\x42\xad\x15\x5d\x79\xda\xe3\xde\xb9\x9c\x46\x32\xc1\x91\xc7\x99\xcb\xfe\x58\x7d\x95\x47\x87\x06\x8d\x66\x3b\xdf\xc0\xfa\xb1\x33\x4f\x18\x76\xbf\x49\x8c\x4d\xb5\xc5\x3d\xb7\xb0\x20\x4e\xd5\xa5\x21\xc6\x2f\x09\xea\xca\x8d\x01\x89\xf3\xb3\x94\x14\x3f\x29\xc4\x21\xcb\x5c\x8d\x07\xbd\x75\x1b\xaf\x4c\xbe\x3b\xf4\xbe\x17\x01\xdf\x4b\x22\x07\xdf\xb2\x90\x4d\x84\xf4\xdb\xda\x51\xcb\xa5\x76\xd5\xa5\xbb\x16\xef\xe6\x98\xed\xd6\x08"}, -{{0xf7,0x8d,0xb1,0x4d,0x6d,0x1a,0x64,0x3d,0xd7,0x73,0x5b,0xaf,0x26,0x35,0x32,0x12,0x44,0xe7,0xec,0x8c,0xa7,0x2c,0x5c,0x38,0xc9,0x8c,0x80,0x9d,0xb9,0xcb,0x5a,0x55,},{0x54,0x14,0xf7,0x5f,0x52,0xf3,0x86,0x4a,0xfb,0x0c,0x79,0xc2,0xc5,0xc1,0xd0,0x6b,0x4b,0xce,0x40,0x0f,0xbd,0xdf,0x17,0xfe,0x9c,0xfb,0x2a,0x8b,0xac,0x47,0xa0,0xdd,},{0xd7,0xcb,0xd4,0x18,0x1f,0x67,0x71,0x20,0x07,0xb7,0xf0,0xe1,0x84,0x52,0xe0,0xa0,0x24,0x46,0x4d,0x9d,0xc9,0xb5,0xff,0x9c,0xf6,0x69,0xd1,0xb9,0x11,0x69,0xd7,0x57,0x32,0x62,0xf8,0x33,0x36,0xb9,0x7c,0x86,0x1b,0xfa,0xb3,0xfc,0xf6,0x69,0x22,0x3c,0xe8,0xca,0xf3,0x19,0xf2,0x1d,0x23,0xf1,0xfa,0x33,0x1a,0x2d,0x89,0xb6,0xca,0x0b,},"\x05\xca\xf1\xb8\xed\xc3\xb1\x73\xfb\xc1\xed\x29\xb9\x5e\x2b\xf0\x6d\x81\x4b\xa2\x40\x7d\x4b\x31\xc7\x28\xd0\x4e\xc2\x73\xd2\x53\x94\x42\x3a\xc7\xd4\xff\xf2\xca\x36\xee\x90\x27\x30\x93\xc7\x56\xe2\xbd\x13\xc9\x6d\x4a\x3d\xc7\xf5\xbe\x17\x59\xfc\xd3\x28\xeb\x66\xc5\x88\x2b\x58\xfa\x45\x88\xe5\xb2\xa3\x71\x3a\x41\x54\xa2\x34\x0d\x0b\x06\xad\x01\x96\x01\xb0\xe0\x28\xe4\x97\xf8\x98\x25\x6b\x02\x8a\xf9\x5c\xd8\x16\x8d\xf5\xe5\x8a\x57\xcd\x1e\xbf\xc0\xa0\xc9\x1c\xed\x61\xdb\xb4\x80\xac\xa7\xdf\x8d\xca\x91\xeb\x16\xe9\x80\x07\xcd\x2c\xd1\xa2\x04\x5b\x0e\x44\x77\xd1\x2d\x5a\x40\x72\xf3\x65\x42\x65\x67\xc9\xd6\x15\x77\xf3\x48\x5c\x8f\x46\x60\x5e\x7f\x47\x5e\xf0\x4a\x39\x48\xf6\x0d\xba\x8c\x55\x08\xd1\x4b\xfd\xdb\x9b\x11\xdd\x04\x4e\xf2\xd8\x4c\x16\xb9\xa9\x03\x8d\x8e\x78\xed\xa4\x3b\x91\x29\x7d\xf3\x5f\x43\x61\xa3\x83\xb4\x1d\x49\x67\x7a\x68\x7d\x5b\x34\x4a\xd1\xab\x0f\xc7\x30\x17\xb3\xbe\xbf\x32\x30\x6f\xb3\xfd\x7b\x3d\x50\x71\xf3\xab\x5f\x6e\x49\xaa\x15\x54\x0c\xad\x65\x03\xbe\xa7\x78\x4c\xf9\x42\x18\x01\xce\x13\x85\x83\x98\x93\x36\x2a\x97\xfa\xe1\x21\x30\x0d\x67\x83\xaf\x0f"}, -{{0x7d,0xfa,0x32,0x8e,0x90,0xa1,0xb8,0x49,0xc2,0x19,0xe3,0xda,0x83,0x2d,0xf9,0xed,0x77,0x44,0x82,0x34,0xf0,0xd8,0x9e,0xa5,0xd1,0x7a,0x3d,0x64,0xe7,0x88,0x3d,0xaf,},{0xe3,0x0c,0xe6,0xfd,0x5f,0x58,0x00,0x38,0x9a,0x70,0xcd,0x11,0x73,0x64,0xf5,0x99,0x45,0xaf,0xb1,0x80,0xf2,0x29,0x92,0x73,0x60,0xb0,0x6b,0x48,0x35,0xf8,0xdc,0x91,},{0x1c,0x61,0xd5,0x3b,0x87,0x2f,0x8c,0xde,0x59,0x86,0x09,0x68,0x2c,0x79,0xf6,0xc5,0xdf,0x00,0x7c,0x51,0x3a,0x71,0xcf,0xb3,0xa0,0x6d,0xcb,0x82,0xd8,0x5c,0x4b,0x00,0xcc,0xc4,0x0b,0x00,0xe5,0x9f,0x59,0x53,0x93,0x08,0x8b,0x4c,0xd0,0x43,0x28,0x55,0xc6,0x7a,0x20,0x7d,0xa7,0x1f,0x87,0xe7,0x2c,0x40,0x9b,0x3e,0x50,0x27,0x95,0x07,},"\xe5\xe4\x95\xd6\x63\xf4\x72\x36\x71\x45\x32\x68\x7a\x24\x30\x8f\x94\x2c\xa9\xc3\x3e\x08\x8f\x7f\x10\x6a\x5a\x72\x35\x18\xca\xcb\xbe\xf4\xa6\x8c\x93\x9a\x69\x50\xb2\xdc\x25\x89\xf8\x2d\x35\x4e\x57\x52\x72\xd4\x2b\x13\x83\xd3\x15\xab\x8a\x20\xaa\x0c\xdc\x9d\x4d\xf6\x78\xab\x3b\x26\x61\x2b\x5d\xca\x66\xe7\x1f\x9f\x3f\xa7\xd9\xe7\x31\xdc\x48\x1e\x2b\xc7\x12\x7c\xea\x3b\x62\x03\xca\x6c\xd8\x16\x2e\x90\x88\x6a\x73\xdc\x46\xc8\x3d\xde\xfc\x4b\x9e\x2d\x53\xd2\x9d\xd3\x87\xc6\x24\xe0\x8b\xd8\xd5\x3b\xe9\x28\xa4\x0a\x9a\xa8\xae\x8b\x1c\x8d\x0f\xb6\xa7\xbd\x6d\xce\x5f\x62\x31\x5b\x7a\x21\x81\xf6\x27\xf2\x56\xbb\xe7\xe2\xa9\x5b\xf4\x64\xe6\x13\x22\x04\xc1\x74\x20\x96\x29\x84\x02\x35\xb2\xc3\x99\x13\x30\x1a\x4b\x40\x32\x5d\x11\x8d\x38\x4b\xc7\xac\x02\x8c\xd4\xf1\x27\x02\xe1\x61\x19\x1b\x14\x9e\x42\x09\x05\x8a\x55\x12\x2b\xbb\x8b\x22\xb2\x46\x83\xba\x4f\x8e\x2e\x6c\xcf\xc0\x8d\xc8\xc8\xb1\xbc\xfb\x6d\x60\xbd\x8f\x06\x21\x96\x93\x3d\xf3\x19\xab\x16\x90\x6d\x08\x57\x30\xeb\xa1\x72\x0d\x4b\x02\xc6\x7d\xaf\x38\xcc\xe6\xab\xa3\x8e\x25\xd6\x8e\xf9\x5b\x2f\x52\x19\x13\xa1\xd7\x7d\x5e\xb6\x50"}, -{{0x6c,0xe1,0x3d,0x3c,0x2e,0xc7,0x1f,0xed,0x83,0x13,0x1a,0x69,0xd5,0xd0,0x30,0x31,0x4a,0xb4,0x9e,0x65,0x65,0xef,0x68,0x16,0x3f,0xff,0x09,0xac,0x5d,0x9b,0x47,0xe7,},{0x9c,0x7b,0x11,0x18,0xfa,0xb9,0x1e,0x0e,0x7b,0x19,0x2a,0x23,0xd9,0x5f,0xb8,0x77,0xcb,0x79,0x36,0xcc,0x6c,0x8a,0x33,0x05,0x92,0xf4,0x8e,0x67,0x84,0xed,0xc2,0x92,},{0x60,0x8b,0x2b,0xf6,0xf6,0xda,0x05,0xc2,0xac,0x5b,0xbf,0xd7,0x95,0xa2,0xac,0x32,0xc7,0x9c,0x74,0x15,0x3f,0x94,0x31,0xde,0xa5,0x97,0x68,0xff,0x4c,0x22,0x5e,0x3b,0x69,0x3b,0x64,0x5a,0x50,0x67,0x66,0xb8,0x60,0x85,0x0e,0xe9,0x7e,0xa4,0x30,0x32,0xb0,0x5b,0x69,0xe5,0x67,0x67,0xe8,0xeb,0x9d,0x19,0x18,0xdf,0x9a,0xfb,0xa8,0x05,},"\x10\xbb\xc3\x11\xeb\x2a\x76\x5e\x01\x67\xff\x37\x61\x8f\xf7\x0e\x13\xf0\x2d\x7b\x06\x17\xae\x4a\xc0\x6b\xef\xbb\xe1\x49\xc9\x72\xa9\x94\xf6\x80\xca\x4d\xc9\xa9\x2e\xc7\xef\xa5\x39\x97\xfa\xd3\x56\xb9\xff\x4e\xbd\xee\x62\x95\x41\xd1\xf4\xde\xa6\x2e\xd0\xd2\x49\x4f\x9c\xcf\xdf\x07\xa9\x31\x04\x91\xf6\x1c\x4b\x3e\x27\x00\xb4\xa3\xc6\x68\xd6\x78\x32\x9a\x38\xc2\xef\xf9\xd8\xcb\xa4\x31\xfb\x95\x9e\x7f\x76\x55\xbd\x0f\xbd\x77\xd5\x3b\xbb\xc2\xeb\x8d\xc5\x1d\xd7\x18\xed\x98\x72\x8a\x18\x16\x86\xbe\x12\x2b\x84\x4d\x3d\xa3\x31\xe3\x29\xd3\x95\x9b\x59\x23\xf7\x73\x43\x25\xa0\x21\x02\x6e\x27\x54\xe1\x7a\x15\x10\x8b\xe8\x01\x46\x5a\xd9\x58\xdb\xcf\x21\xdf\x89\x0c\xfe\x5d\x5b\x88\x3c\xa4\x3c\x61\xce\xdc\xcb\xdb\x58\xb8\x49\xea\x75\x37\x4f\x1e\x91\x8e\x80\x3e\x57\x7a\x5d\xc7\xa1\xc1\x79\x36\xec\xcf\xcd\x34\x81\xbd\x2b\x1e\xb0\x75\xb8\x32\x37\xca\x6f\x3c\x07\xc1\x9e\x9a\xf9\x73\x12\x67\xbe\x82\xd4\x89\x8e\xee\x96\xeb\xc9\x00\xd4\x8b\x05\x9d\x51\xb0\xdd\x41\x5b\x1c\x89\x06\x60\xa8\x8d\x25\xf5\xc5\xf3\x5d\x8e\x45\xe5\x23\xe0\xce\x33\x36\x92\x3a\xb4\x36\x70\xe3\x5c\x50\x57\xd5\x6c\x75\x88\x76"}, -{{0xd4,0x5e,0xe6,0x9a,0x5f,0x1a,0x7c,0xfd,0xd0,0x34,0x3f,0x87,0x70,0xd1,0xc6,0xbc,0x02,0x6f,0x06,0x7a,0x70,0xdb,0xe8,0x39,0xa8,0x6f,0x2a,0xa0,0x68,0xc3,0x3f,0x81,},{0xfc,0x8d,0x9f,0xb0,0xe4,0xf3,0x47,0x93,0x09,0x07,0x55,0xe0,0x32,0x80,0x96,0xe0,0x1e,0x28,0x1e,0xa3,0x51,0xb8,0xd9,0x5c,0xd9,0x11,0x6e,0x13,0x1a,0x5c,0xa5,0x4e,},{0x15,0x6c,0x51,0xc5,0xf9,0x15,0xd8,0x9b,0x8d,0x14,0x00,0x35,0x0f,0x8f,0x21,0x7a,0x5c,0x02,0xe2,0x62,0x9e,0xde,0x9f,0x4a,0x30,0xb6,0xe7,0x1d,0x1e,0xa7,0xa9,0x53,0xcc,0x6d,0xb3,0x1b,0xa5,0xc7,0x78,0xc2,0x69,0x92,0x0b,0x64,0x9f,0xb4,0x22,0x1c,0x6d,0x38,0xcf,0x2c,0xea,0x2a,0x7d,0xe3,0xad,0x42,0x3e,0x04,0xfa,0xaa,0x06,0x07,},"\xeb\x5e\xd8\xab\x79\xcb\xfe\x61\xc2\x59\x81\xb9\xd1\xd6\xb7\x0f\x10\xb6\x01\x94\xb4\x16\x1f\xe1\x7d\x11\xaf\xf1\x76\x79\x94\xaa\x08\x13\xe9\xec\xe2\xf4\xc5\xd5\x31\xb9\x9e\x8a\xdf\x18\x88\xc3\x0a\x63\x89\x3e\xb4\x51\xaa\xf5\x5a\xcd\x5a\x52\xad\x8c\x40\x1f\xaa\x88\xd6\xea\xcf\x3e\x49\x47\x05\x66\x11\x4f\xd0\xc6\xa2\x74\xe9\x54\x48\x46\xb0\xae\x9b\xfa\x12\x4d\x79\x51\xeb\x26\x71\x5e\x19\x25\x3f\xf7\xed\xc8\xa7\x09\x65\x77\x6f\x23\xce\x46\x03\x1e\x03\x4a\x20\x07\x23\xba\x3d\x11\xe1\x1d\x35\x3d\x7e\x7c\xd8\x4a\xed\xe2\x67\xff\x64\xbe\xd4\x18\xcb\x9f\x28\xc6\x1c\xd0\xf6\x3b\x6c\xe2\xec\xae\x14\xb2\x0b\xc6\xbd\xae\xd8\xc4\x28\xba\xd1\x8b\xe4\xb7\xd6\x63\x38\x36\x4a\xcd\x80\x42\xa8\x25\x6f\x25\x8a\x69\x96\x9b\x8d\x3c\xa2\xea\xb3\xae\xa3\x70\x6e\x5f\x21\xc3\xb1\xef\xcc\x25\x4a\x82\x4b\xb4\xe7\xea\x7a\xba\x88\x27\xc8\xeb\x82\x78\x6c\x66\x5a\xa9\x73\x82\x19\x31\xff\x99\x0a\x63\xfd\x34\xa7\x4a\x6d\x8c\x22\xa8\x82\xb0\xb9\x35\x15\x2c\xcb\x36\xfc\xc7\x6f\x4e\xca\x65\xd6\x7c\x86\x80\x94\x2f\x75\xdf\xad\x07\x34\x39\xc0\x91\x60\x65\xe8\x38\x77\xf7\xba\x20\x93\x03\xf3\x35\x48\xd9\xe4\x0d\x4a\x6b"}, -{{0x8a,0x76,0xea,0xab,0x3a,0x21,0xec,0x5a,0x97,0x5c,0x8b,0x9e,0x19,0x7a,0x98,0x9e,0x8e,0x03,0x08,0x99,0xeb,0x45,0xd7,0x89,0x68,0xd0,0xfb,0x69,0x7b,0x92,0xe4,0x6d,},{0x2d,0x9c,0x81,0x3d,0x2d,0x81,0xe2,0x73,0x0b,0x0d,0x17,0xd8,0x51,0x2b,0xb8,0xb5,0xd3,0x3f,0x43,0x6c,0xab,0xaa,0x13,0xe1,0x41,0xca,0x1c,0xb7,0x85,0x01,0x43,0x44,},{0xfc,0xee,0xcc,0xa4,0xb0,0x14,0xfe,0xcd,0x90,0xb9,0x21,0xb0,0xfa,0x3b,0x15,0xae,0xaa,0x4e,0x62,0xca,0xa1,0xfb,0x22,0x72,0x9c,0x70,0x26,0x92,0x32,0xc3,0x3c,0xef,0x0d,0x0a,0xee,0xa6,0x64,0x32,0xc1,0x28,0xaf,0xb9,0xa3,0x64,0x6b,0xc7,0xf0,0x3a,0x12,0x77,0x4d,0xa8,0x75,0x83,0x98,0xc2,0xa0,0xdc,0xce,0x0b,0xbb,0xf6,0x74,0x0a,},"\xc6\xc7\x8f\x2e\x20\x80\x46\x1a\xed\x9f\x12\xb4\xf7\x7c\x98\x9b\x19\x71\x67\x80\xfa\xb6\x0e\x6e\xcb\x97\x93\xb4\xbc\x7e\xd6\x9e\x5f\x70\xfa\x6b\xdb\xa1\x6e\x9b\xd3\x19\x49\x69\xee\xa6\x66\x5a\xbf\xd6\x30\xde\xee\xfa\x3d\x71\x7b\x6d\x25\x4d\xd2\x4b\xc9\x7d\xde\x21\xf0\xf2\x9f\x9e\xd3\x4b\x8b\xd7\xa0\x13\x38\x0f\x4f\x82\xc9\x84\xfd\xbd\x95\xaf\x98\x05\xb7\x44\xbc\xd9\x52\xc5\xa7\x1f\xbb\x57\xd1\x1f\x41\x1c\x18\xcc\x30\xbc\x35\x94\xf7\xad\x82\x28\xcb\x60\x99\x39\x4a\x1b\x6b\x0a\x81\x85\x81\xbd\xf9\x3c\xce\x58\xf3\xa4\xa2\x3e\x55\xdb\x3e\x69\xca\x9d\x60\xcf\xb3\xa9\x07\xfb\x68\x32\x9e\x2f\xfb\x6c\x65\xf1\xe8\x28\xd2\x81\x27\x10\x9c\x9e\x9f\xb7\x01\x60\xf2\xef\x82\xa2\xee\x9f\x9b\xd1\x70\xc5\x1e\x13\xfd\x3f\xc1\x86\x6b\x22\xc7\x9f\xe6\xd5\x10\x12\x17\x97\x9d\xbe\x27\x24\xdc\xad\x8a\x9b\xc6\x9a\xcc\x42\xc1\x12\xdc\x69\x7b\xd2\x71\xee\xa5\x50\xe9\xe5\x04\x06\xbf\xd2\x82\x45\xb8\x3b\x8f\x01\x2d\x34\xdb\x6d\xbd\xd5\x5a\xe6\xe5\x75\x74\x5c\x15\x3d\x6e\x75\x34\x90\x10\x27\xea\xdc\x2f\xcc\x33\xa5\x28\x7d\xdb\xca\x6d\x3a\xea\xb8\x97\x22\x94\xdc\x6c\x71\x2b\x99\x42\x54\x72\x77\x34\x0e\x7a\xd1\x9e"}, -{{0x18,0xa8,0xf9,0x36,0x48,0xcd,0xcf,0x47,0x13,0x36,0x30,0xaf,0x1e,0x11,0xc0,0xce,0xea,0x3d,0xe0,0x73,0x27,0x31,0x4c,0x96,0x58,0x0d,0xf7,0x75,0x59,0x7d,0x7a,0x9c,},{0x29,0x12,0xf4,0x1a,0xb4,0xc8,0x7e,0x39,0x37,0xa0,0x33,0x31,0x80,0x2c,0xba,0x87,0x71,0x6b,0x4e,0xea,0x14,0xb9,0xfb,0xa6,0xf5,0x46,0xd0,0xac,0x2c,0x09,0x73,0xdf,},{0x3b,0x77,0x39,0x4c,0xd6,0x9f,0x8b,0x45,0xd0,0x0c,0xfe,0x3a,0x79,0xa7,0x90,0x06,0x28,0xa5,0x65,0x18,0xb3,0x79,0xed,0x8a,0x11,0x58,0x1f,0xc3,0xa3,0x76,0xe5,0xd6,0x68,0x07,0xdf,0x11,0xe7,0x09,0x04,0xf6,0x96,0xc7,0x41,0xd2,0x1d,0x13,0x93,0x10,0xfa,0x1b,0x89,0xa9,0x3b,0xdc,0x4d,0x2c,0x39,0x97,0x99,0x1f,0x52,0x20,0xee,0x00,},"\x59\x20\x93\xac\x7c\xd6\x71\xd6\x07\x0b\x00\x27\xed\xac\x1f\xb0\x15\xcc\x20\x5d\x78\xbb\x60\x3f\x37\x8e\xb9\xf8\xaa\x38\x8c\xa8\x30\xdb\x3c\xb2\x34\x20\xc7\xe8\x52\xdb\x0b\x55\x24\x1e\xb8\x8a\x02\xcc\x62\x7a\xa9\x41\x43\xbe\x43\x9a\xab\x4b\xf2\x63\x47\x57\x47\x04\x06\xe8\x42\xf2\x0e\xb1\x0f\x07\x00\xe3\xc2\xda\x36\x4f\x58\x8a\x80\x00\xf2\x38\x50\xc1\x2c\xe9\x76\xf3\x26\xd2\xdf\x1b\xac\x13\xe9\x50\x20\xb4\x12\xb1\x75\xbf\x74\xbd\x7e\xbb\xac\xf3\xae\x55\xc0\xda\xeb\xb5\xc0\x10\xbf\x80\x4f\xee\xe1\xd7\xd4\x9f\xae\x05\x0b\xea\x55\x99\x6f\x53\xcf\xe1\xf1\x5a\x0c\xf2\x07\x27\xdb\x4e\xe3\x11\xc2\x60\xba\xd9\x68\x2d\x7b\x96\x5e\x27\xa9\x49\x1f\x47\x1d\x4a\x47\x3a\xff\x64\x6c\x7d\x42\x4d\x5a\x0b\xdc\xbb\x8a\x02\x33\xf4\xb3\x06\x0d\xd0\x4c\x98\xec\x98\xdf\xd0\x5e\xc7\x24\x78\x84\xe2\xd8\xe1\x52\xd4\xae\x52\xb3\xd5\x86\x5d\x9e\xfd\x67\x06\xa6\x0e\x08\x8e\x1e\x7c\x9f\x62\x45\x10\xab\xc7\xa2\x04\x5a\x2c\x7a\x75\x88\xe2\x53\x5e\x73\x19\x1d\xd5\xcf\x05\x42\x15\x63\xf5\x56\xa1\x3e\x82\x36\x67\x03\x43\xcd\x5b\xa4\xd4\x66\xe2\x45\xc4\xee\x3b\x5a\x41\xe7\x0c\x9a\x0f\x5e\x6e\xa2\xc5\x59\xeb\xe6\x1b\xa8\x1e"}, -{{0x20,0x6c,0xd2,0xb8,0x11,0x4a,0xae,0x18,0x8d,0x81,0x86,0x2c,0xce,0xc4,0xcb,0x92,0xc4,0xef,0x5f,0xc7,0x8c,0x24,0x43,0x5a,0x19,0xf9,0xed,0x9b,0x8a,0x22,0xf4,0x7e,},{0x97,0xa6,0x7a,0xc2,0x81,0x1f,0x52,0x94,0x56,0xdf,0x53,0x27,0x37,0xd7,0x6b,0xed,0x7e,0x38,0x7d,0xa8,0x3b,0xd5,0x54,0x59,0x37,0x2f,0xdf,0xb2,0x7f,0xfa,0xcf,0xf3,},{0x73,0xa4,0x0d,0x9d,0xa0,0x8f,0xb9,0x8e,0xa2,0x5b,0x67,0xe7,0x21,0x55,0x7a,0x1a,0x51,0x22,0x52,0x94,0xd3,0x16,0xb5,0x31,0x49,0xaf,0x89,0x5f,0xa4,0xd6,0x3c,0xb4,0xa3,0xf5,0x6f,0x68,0x85,0x66,0xef,0x6d,0xa4,0x2f,0xd2,0x94,0x1d,0xff,0xa0,0x6d,0x49,0x7a,0xa9,0x02,0x16,0x5d,0x50,0x21,0x3a,0x62,0x14,0x11,0x62,0x99,0xa9,0x0c,},"\x48\x0c\x48\x00\xf6\x8c\x79\xf5\xdf\xc0\xc3\x66\x6c\x0a\xc4\x29\xb3\x0f\xe0\xc5\xfe\x84\x87\x50\xdb\x21\x71\x38\x0b\x80\xc8\xe9\xfe\xc0\xa0\x54\xb1\x6d\x08\x67\x4c\xef\xe2\xf6\x4e\xc2\x8b\xb6\xb0\x59\x6b\x35\x23\x55\x75\xf1\x89\xbe\xe2\x59\xac\xa7\x66\xc2\x22\xac\x0a\x46\xcf\x2a\xf7\x57\x74\xda\x4e\x34\xa0\xb5\x4f\xc2\xac\x49\xec\x8b\xed\xf4\x88\x7c\xd9\xb7\xbe\x4f\xdb\x7f\x68\x69\x02\xdd\xfa\xb0\x46\x27\xe2\x6e\xa2\xdc\x3d\x97\xd6\x2a\x4b\x15\x46\x18\x02\x18\xed\x8f\xa1\x13\x33\x48\x19\xb5\x27\x5c\xc5\x4a\xfd\xee\x44\x30\x90\x08\x59\x65\x07\x97\x16\x75\xe6\xd8\xb8\xa8\xed\xec\x47\x18\xf2\xd4\xbd\x73\x52\x13\xcb\xbd\x18\x79\x1f\xaa\x80\x54\x17\x49\x07\xa7\xac\x17\xd7\x14\x3a\x47\x57\xe4\x93\xbe\xee\xc4\x84\x9d\x0b\x83\x6f\x18\xbb\x2b\x3c\x90\x16\xf2\x5a\xf4\x7f\xb9\x61\x99\x25\x17\x20\x54\x9f\x15\xd1\x49\x50\x3d\x41\x09\x5e\x25\xf2\x62\x09\xda\xac\x39\x15\x44\x85\xc3\xde\xd7\xcb\x1a\x8c\x3e\x83\xa5\x2f\x5a\x06\xec\x09\xcf\x83\xdf\x00\x72\x6b\x79\x68\xf6\x4c\x0c\xba\xe2\x99\x51\x2f\xb4\x38\x56\x0f\x04\xb3\xb6\x44\x34\x6f\x93\x8a\xc8\xe9\x04\x86\x61\x4c\xd8\x44\xb5\x4e\xae\x07\x8b\xf6\x78\xb3"}, -{{0x59,0xb1,0x44,0xa7,0x08,0xab,0xec,0x97,0x27,0x29,0xa0,0x4a,0x6c,0x13,0xf0,0xea,0x02,0x0b,0x4e,0xd4,0xa4,0x82,0x98,0x02,0x3a,0x56,0x89,0x58,0xc2,0x12,0x15,0xec,},{0xc4,0xf4,0x72,0x00,0x92,0xed,0x61,0x79,0xa0,0x82,0xae,0x4d,0x61,0x45,0xdf,0x37,0x71,0x78,0x6e,0xfc,0xa9,0xbd,0x9b,0xb7,0x9c,0x9f,0x66,0x67,0xd2,0xcb,0x56,0xb3,},{0x1a,0x80,0x85,0x0f,0xcb,0xd6,0xe6,0x43,0xc6,0xba,0x8e,0xb6,0x84,0xdb,0xef,0x7d,0xf0,0x15,0x15,0x92,0x28,0xda,0xed,0xcf,0x06,0x04,0x70,0x91,0x86,0x05,0x4d,0xb1,0x85,0xaa,0x7b,0xaa,0xcb,0x09,0xd6,0xca,0xad,0x01,0x63,0x8e,0xff,0x8e,0x46,0x87,0x35,0xa6,0x01,0x24,0xde,0x0c,0x53,0x76,0xe9,0x43,0x40,0xe5,0x41,0xa9,0x80,0x07,},"\x38\x57\xbd\x26\x0b\x8a\xad\x9d\x07\x3f\x06\x76\x5d\x37\xfe\x89\x3a\x3f\x53\xe2\x3d\xe8\x66\xdd\xac\x33\x49\x5a\x39\xad\x33\xee\x9e\x9d\x5c\x22\x50\x2b\xc1\xc4\xb5\x47\x0d\x0e\x3f\x3a\x58\x52\x23\xfe\x4c\xb9\x3c\xc4\xad\x2b\x5b\xa6\xd7\x88\x26\xa5\x3f\xc0\x25\x3d\xc5\x80\xa2\x01\x8c\xc9\xff\x1c\xfe\xdb\xd3\xac\x0b\x53\x29\x2d\xee\xfb\xc1\x4e\x58\x9a\xcf\x49\x6c\xb5\xf7\x67\x01\x30\xfd\xbb\x6c\xf3\x8d\x20\x89\x53\xc0\x15\xa0\x47\x46\x75\xb7\x24\xbd\x10\x9f\x7c\xb8\x9c\x33\x01\x67\x51\xfe\x7a\xa7\x85\xd0\x99\xd0\x9a\xb2\x0d\xd5\x25\x8c\xd7\x64\xac\x8d\xaf\x34\x3c\xe4\x79\x0e\xad\x08\x63\xaf\x43\x12\x1a\xa5\x27\xa3\x7a\x11\x62\x8f\x47\x86\x96\x68\xf8\xea\xc0\x0d\x80\xb6\xbf\x99\x06\x66\x3d\x7a\x28\x99\xc1\xcb\x67\x8c\xd7\xb3\xeb\x3b\xc8\x02\x26\xb8\xb1\x3b\x6e\x46\x87\x7f\x38\xf0\x7c\x3d\x9c\x86\xd3\x36\x8b\xaa\xc4\xa6\xf6\xb9\x3c\xce\xbc\xec\x98\x11\x47\x4b\x6a\x6a\x4d\xa5\xc3\xa5\x96\x65\x71\xee\xd0\x5e\xdc\xc0\xe3\xfe\x7c\xd1\x59\x15\xc9\x1f\x44\xee\xe8\xc1\x49\xae\x45\x1f\x37\x55\x18\xa7\x9f\xb6\x00\xa9\x71\xa3\x9b\x94\x33\xdf\xa1\x9f\x91\x93\x1b\x19\x32\x27\x57\x47\xc2\x62\xee\xdc\xbd\x27\xf1"}, -{{0x8d,0x16,0x21,0xee,0xab,0x83,0x27,0x0d,0xe8,0x57,0x33,0x5c,0x66,0x5b,0xbf,0x57,0x26,0xe3,0x72,0x22,0x25,0xfd,0x01,0x6e,0x23,0xbf,0x90,0xab,0x47,0xae,0xec,0x3d,},{0xbe,0xcd,0xbc,0x02,0x4d,0xae,0x6a,0x94,0xed,0x4e,0x29,0xc8,0x0f,0x2a,0xff,0x79,0x6a,0xed,0x8f,0xeb,0x2c,0x1b,0x37,0x90,0xa8,0xc7,0x2d,0x7b,0x04,0x8a,0x2c,0x61,},{0xe0,0x8d,0x6c,0xaa,0x5f,0x39,0x32,0x7d,0x6e,0x66,0x52,0xed,0x74,0xdd,0x1a,0x37,0x84,0x4b,0x97,0x9f,0x5c,0xce,0x74,0x7a,0x60,0x6f,0x56,0x79,0xf4,0x89,0x8b,0xbb,0x76,0x43,0xdf,0x7e,0x93,0x1b,0x54,0xa2,0xb4,0x0e,0xbd,0xef,0xe8,0x30,0x03,0xf6,0x1c,0xa0,0xf1,0x11,0x12,0xf0,0x23,0xc6,0xa3,0xe8,0xcc,0x18,0xca,0xfe,0x5f,0x0d,},"\x97\xfa\xcd\xdc\x82\xcc\xcc\xcf\x78\x8c\x31\xb3\x30\x5e\x93\xeb\xa9\x56\xf8\x96\x13\xe6\xe5\x35\x42\xb0\x43\x26\x7f\xee\x54\x4c\x2b\x0a\x8a\xe8\x88\x6a\x31\xb9\xd3\x21\xa6\x3c\x27\x62\x3b\xae\xfe\xa8\x40\xb2\xa8\xaf\x5b\x23\x30\x19\x3f\xfb\x5b\xaf\x87\x3c\x33\x55\x28\xaf\xea\xe2\x16\x01\x63\xc8\x51\xc5\xa2\xe5\x81\x54\xa1\xb0\x56\x9c\x2d\x13\x66\xc0\x71\x04\x37\x62\x3b\x0e\x08\xc6\x86\xe5\x4f\xc2\x79\xed\x4c\x45\xf3\xe8\x56\x86\x83\x75\xf7\x82\x24\xc7\x77\xb1\x3d\x75\xde\x10\xd7\x91\x73\x55\x24\x25\xd1\x5a\x56\x19\x04\x15\x5f\x21\x17\xb2\xf1\x47\x13\xeb\x0b\x04\x64\x8a\x3b\xde\xb3\x30\x21\x67\xd1\x97\x3e\x78\x8a\x06\xcb\x00\xd4\x8c\xcb\x26\x9f\xa7\x1a\xf8\xba\x68\xea\xe5\x5d\xbb\xfd\x95\x94\xd5\xc2\xb4\xdc\x13\xae\x03\x21\x71\x85\x61\xac\xdf\x67\xdc\x8c\xfc\xc2\x5b\xc4\x6b\xb6\x6e\x09\x6a\x19\x41\xd9\x33\x52\x07\xd3\xf7\xd1\x1e\x89\x04\x90\x4f\xab\xe3\xa5\x0a\x38\x83\xe7\x07\x80\x47\xdf\x25\x2f\x38\xb6\x7c\xd2\x8a\x6a\xc4\x5c\x7d\x7a\x1d\x2a\x1d\xe8\xd4\x57\x47\xcf\x09\x30\x1e\x01\xcd\xaf\xd0\xcd\x99\xa6\xe9\x1b\x70\x4d\x50\x9f\xce\x69\x2f\xbd\xef\x2f\x71\xa5\xce\x0b\x35\xbc\x15\xc6\x5f\x87\x68\x24"}, -{{0xf2,0x73,0x5d,0x50,0xee,0x3a,0x9a,0x65,0xb5,0x8c,0x8a,0xcf,0x55,0x16,0x63,0xe9,0x88,0x09,0xec,0x40,0x6f,0x73,0xe3,0xe7,0xf4,0xe7,0x3b,0xc4,0xea,0x92,0x38,0x74,},{0xdf,0x48,0xa5,0xb9,0x4a,0x07,0xaf,0x3c,0x2c,0x99,0xb8,0x38,0x87,0x62,0x24,0x32,0x33,0xc8,0x50,0xdc,0x17,0x53,0x17,0xd6,0x02,0x63,0x8e,0x5b,0x86,0xab,0x49,0xed,},{0x69,0x42,0xa7,0x69,0x64,0x17,0xef,0xaa,0x59,0x1b,0x95,0xe1,0x1f,0x02,0xd7,0x63,0xbe,0xf5,0x27,0x9b,0x93,0x2a,0x8e,0x2a,0x7c,0xbb,0x9f,0x58,0x36,0x95,0xc1,0x4c,0xe5,0xcc,0x55,0x6b,0xec,0x66,0x79,0x9b,0x33,0xcb,0x59,0x2d,0xa4,0xdf,0x27,0x35,0xf9,0xee,0xf2,0xc3,0xce,0xca,0x43,0x62,0x16,0x4b,0x6c,0xc9,0x3d,0xa4,0xe1,0x05,},"\xae\x31\xe9\x4e\x71\x97\xe4\xe4\xd0\x23\x93\x48\x02\x5e\xd6\x68\x1e\x51\x3c\xe1\xa6\xe0\xaa\x0e\x5b\x97\x93\x73\x91\x21\x50\xef\x11\x3e\x50\xef\x05\x69\xc4\x83\xf7\x56\x8c\x4b\xbc\x47\x03\xc5\xda\xca\xa8\x0a\x0d\xe4\xe7\x38\x38\x3f\xa1\xf1\x0d\x6d\x40\x71\xa3\x1b\x99\xe6\x48\x51\x43\x97\x23\x16\xc8\x65\x22\xe3\x7c\x68\x87\xa1\xc3\x07\xb2\x9b\x0d\xd6\xf9\xf1\xb4\x38\x31\x0a\xf9\xd8\xd7\x34\x6f\xb4\x1f\x9b\x2d\xd2\xe8\x0b\x14\xc4\x5e\xb8\x7d\x4e\xd4\x8e\x37\xa5\x26\x0b\x52\x25\x7b\x3e\x99\x78\x7a\x13\xc5\x53\x92\xba\x93\x0c\x08\xe0\x24\x0e\x96\x0d\xef\x0c\x29\xb8\x55\x07\x45\xcf\x14\x9d\xee\x53\xa5\xd1\x74\xec\x06\x5d\x2d\x66\x77\xde\xe1\xfc\x42\x05\x70\x62\xc3\x4e\x27\xea\x5d\xbc\xdb\x86\x1b\x9f\x67\x0c\x60\x32\xc7\x84\x6c\xec\x8e\x87\xa7\xc9\x52\x0e\x27\x96\x7b\x01\x86\xee\x71\xb7\x7e\xd6\xd0\x29\xbb\xdd\x70\x94\x9c\xec\x4a\x70\x93\x29\xfa\x37\xfe\xe0\x02\x49\x0c\xc1\xbc\x4c\x2d\xf6\xf7\x63\xf9\x85\x8f\x33\xd7\x50\xc5\xb5\x05\xa6\x7e\x23\x70\x63\xc0\x48\x6f\x94\x56\xd3\xc6\x20\xd9\xac\x7c\x98\xf1\x38\x1d\xe0\xef\xfe\x41\xc1\x82\x59\x50\x4a\x15\x0d\x68\xa6\xa2\x8b\x0a\x3e\xea\x80\x3b\x85\x53\x15\xc9\xe0"}, -{{0xca,0xd9,0xd2,0x1a,0x01,0xc7,0xe1,0xd1,0x5d,0xf2,0xfb,0xd7,0x9c,0x51,0x6e,0xb8,0xc3,0x40,0x1e,0x9f,0xe2,0x84,0x67,0xcc,0x7b,0x21,0x67,0x9d,0x4e,0x33,0x1a,0x3d,},{0xa7,0xb5,0x5c,0x15,0xd6,0x79,0x0b,0x40,0x53,0x6f,0xca,0xe5,0xad,0x28,0x92,0xcd,0x66,0xb1,0x86,0x89,0xf4,0x99,0xc1,0xfd,0xee,0xa6,0x6d,0x4a,0x7d,0xf3,0x94,0x24,},{0x31,0x92,0x7d,0x01,0xdb,0x9f,0x24,0x72,0xf4,0xdf,0x6f,0x63,0xc1,0x8e,0xbd,0x83,0xc2,0xb1,0xaa,0xf8,0x8d,0x58,0x0e,0x84,0x88,0x54,0xdf,0x8c,0xba,0x63,0x95,0xd3,0xda,0x7b,0xd6,0xbb,0x9e,0xdc,0x1f,0xce,0x1c,0x7d,0x7e,0x13,0x60,0x55,0x8f,0xcd,0xdf,0xa9,0x39,0x15,0xbe,0x07,0x6e,0xfb,0x8e,0xa2,0xdc,0x5e,0xa7,0xb2,0x0d,0x0a,},"\x70\x70\x2b\xf1\x9c\x91\x9f\x98\x36\xde\xfd\x7b\x84\x6f\xd9\x99\x2d\x8b\x7e\xb2\xe1\x06\xae\xb7\x1e\x60\xa3\x1b\x4e\xa2\x5a\x41\xb2\x12\xdc\x7d\xe7\xc9\x1c\xbd\x61\x3d\x58\xd0\x59\x5d\xb8\x33\xcf\xe7\xe5\x05\x84\xf2\x55\x69\x60\x2c\x77\x44\xfa\x67\x5d\x15\x6d\x0f\x63\xcd\x2b\x7c\x08\x9c\x8a\x00\x68\x6a\x43\x71\x69\x82\x6a\x12\xdc\x48\x5b\x38\xc0\x68\xa8\x00\x71\x42\xe5\x16\x37\x47\x01\x1a\x07\xa4\x15\x68\x36\x22\xab\x1e\x23\xce\x57\x7c\x73\x2b\xa1\x4f\x40\x1f\xbc\x30\x43\xe0\x69\x3a\x92\x05\xc1\x9a\x92\x29\x8a\x3d\x9b\x08\xfb\x7a\xfa\xfa\xe0\xa9\xf0\x16\xbc\x75\x0e\xe6\x31\xa5\xf5\xda\x5d\xb6\xf9\xba\x26\x92\xc7\x4c\xaa\xae\xb4\xd0\x97\xe9\x0e\x3c\x02\xd2\xe3\xa7\xfb\x3a\xa0\x00\x04\x0b\x7c\x17\xb7\x45\x64\xe6\x46\xbe\xa1\x6b\xad\x61\x1e\xbc\x08\x59\xa3\x82\x88\x04\xab\x4f\x5c\xfb\xa4\x17\xd2\x54\x51\x5c\xa3\x62\x0a\x3a\xd6\x83\xc4\x6c\xa6\x26\x7b\xb4\x95\x39\xbb\x30\xe3\x69\x08\x7e\x67\x43\x8e\x94\x89\x56\x27\x50\xdc\xcb\xa3\xaa\x0b\x1b\x0a\x6c\x26\x70\x32\xd2\x0c\x2a\xdb\x75\xe6\x8d\xf1\x12\x3b\x52\x59\xbf\xe4\xea\xc6\xca\xdc\xa6\x77\x81\x38\xa3\x73\x18\xad\xb3\x0e\x8d\x66\x9f\x3b\xc9\x69\x2c\xc7\x4b\x68"}, -{{0xd9,0xbe,0x84,0x22,0x55,0xe9,0xa1,0x6b,0x0a,0x51,0xa8,0x67,0x42,0x18,0xce,0xe7,0xcd,0x9a,0x8b,0xdf,0x34,0x35,0x08,0x39,0x7f,0x4d,0xdb,0x05,0xf3,0xfa,0x00,0x82,},{0x79,0x31,0xbc,0x6d,0xfa,0x33,0x24,0x94,0x3a,0xab,0x18,0x3d,0x12,0x85,0x51,0x59,0x19,0x39,0x9f,0xfe,0x0b,0x71,0x06,0x77,0xf0,0x91,0x5d,0x3a,0x5b,0xe5,0x1e,0x92,},{0xc9,0x38,0x45,0x65,0x8c,0x95,0x60,0xd2,0xc0,0xe2,0x8f,0x28,0x2a,0xdb,0xd4,0x65,0x2b,0xaf,0xd3,0xbb,0x2e,0xde,0xc1,0x7c,0x94,0x87,0x8f,0x7b,0x94,0xd3,0xc7,0x7a,0xfe,0xc9,0x06,0xed,0x29,0x2a,0x8d,0xfb,0xf5,0xf8,0xe7,0xc1,0x18,0xe8,0xf2,0xca,0x33,0xdd,0xa7,0x90,0x9d,0x9b,0x69,0x5b,0x8f,0xf5,0xa1,0xc0,0xe9,0x7a,0xc8,0x07,},"\xac\x6c\x55\xb1\x34\x66\x3e\x41\xf0\x2a\x6d\xcb\x85\x49\xea\xa1\xc0\x13\xf5\x96\x58\xd8\x1d\x81\x2f\x95\xb7\x40\x09\x51\x37\x23\x67\x19\x45\xe1\x32\x4f\x90\xf8\xa3\xf9\x71\x36\x91\x81\xb5\x87\xba\xb4\x56\x65\xf7\x88\xd6\x63\xab\x78\x14\x0c\x5a\x22\xc1\xc1\x8d\x4a\xfe\xdc\x74\x48\xa7\x48\xaf\xe5\xbf\x23\x87\x00\x3c\x1d\x65\xab\x18\x48\x2e\xf9\x89\x22\xb4\x70\xda\x80\xad\x14\xc9\x44\x95\x1c\xe4\xae\xd3\x73\x90\xcc\xe7\x9a\x8e\x01\xb2\x4c\x7d\xfc\x11\x41\xc0\xec\xa2\xc7\xf7\x73\xed\x4b\x11\x80\x6a\x34\x61\x55\x13\x48\x6e\x4e\xe1\x1a\xf0\x80\x78\xa1\xb4\x05\x4c\xf9\x88\x02\x98\x60\x8d\xd9\xb3\xfa\xa1\xa2\x42\xa4\x52\xfe\x51\x16\x04\xb3\x10\x2c\x31\x3d\x14\xcc\x27\xc6\xf0\xf8\x47\x1d\x94\x55\x53\x17\xea\xa2\x64\xcd\xf5\x2c\x69\xe1\x8f\x46\x1e\x47\x90\x3d\x21\x29\x87\x16\xb1\x72\xee\x9c\xb1\x78\xf0\x8f\xf2\xd3\xc9\xc1\x62\x12\x1c\x2e\xd2\x1d\x87\x34\xb2\xf0\x63\x0d\x39\x91\x46\xcb\xf7\x6e\x02\x8a\x14\x3f\x2b\xf7\xbb\x50\xaf\x0f\x57\xb9\xba\x80\x21\xd2\x64\xb0\x0c\x66\x62\xf8\x4c\x86\xcb\x6d\x59\x52\xb3\xd2\x41\xf7\xdc\x3e\x70\x0c\x96\x61\x6c\xbc\xfb\x0d\x0e\x75\x3f\xfd\x5d\x21\xee\x32\x0e\x65\xe9\x7e\x25\xcb\x86\x09"}, -{{0xcf,0xc4,0x8c,0xc6,0xf6,0x58,0x11,0xfe,0x7d,0x7b,0xba,0x85,0xd1,0xcd,0x84,0x85,0x8f,0xd6,0xf7,0xed,0xd6,0x38,0xf4,0xf5,0x52,0x36,0x3e,0xe7,0x68,0x5f,0x69,0xca,},{0xd2,0x9c,0x10,0x69,0x4c,0x5e,0x8e,0x3f,0x34,0x47,0xed,0x78,0xd3,0x4d,0xbd,0x74,0xa2,0xb3,0x01,0x37,0x3b,0xa8,0x71,0xb5,0x85,0x0c,0x33,0x3d,0xff,0x7b,0xf8,0xd0,},{0x80,0xc5,0xd5,0x1e,0x96,0xd1,0xca,0xc8,0xef,0xd3,0x45,0x98,0x25,0xe7,0x9c,0x1e,0x9f,0x65,0xaf,0x70,0x1d,0x1d,0x29,0xe1,0xf9,0x5b,0x03,0x67,0x07,0x11,0x3b,0x77,0x98,0x4b,0x7b,0x33,0x50,0xf0,0x40,0x77,0x33,0x3c,0x95,0x7f,0x8f,0xbc,0x7d,0x9b,0x04,0x0c,0x36,0x26,0x51,0x41,0x7b,0x98,0x99,0x02,0x7c,0xd3,0x3e,0xdb,0x11,0x03,},"\x8e\x7d\xef\xb9\xd1\x6d\x03\x6b\xd6\x42\xcf\x22\x6e\x32\x77\x3e\x60\x53\x61\xc5\xec\x4b\x95\x12\x55\x78\x8d\xb0\xa0\x42\xc6\x3e\x5a\x43\x67\xd6\x15\x24\xf1\x0e\x62\x58\x99\x13\x25\xa3\x9a\xb6\xb0\x36\x12\x26\x0c\x3f\xe3\xdf\x20\xb3\x42\x02\xd3\x43\x95\xbd\x4e\xd4\x0b\xd6\x13\x73\xdf\x78\x1a\x4c\x8b\xcf\xbd\x15\x30\x10\x60\xf0\x74\x37\x73\x23\x33\xd8\xe4\x97\x36\x32\x2d\xee\x6b\x22\x43\x8e\x78\x7d\x88\x56\xb7\x0c\x26\xec\x57\xd6\xda\xde\x9c\x3c\x28\xe2\x72\x20\xc5\x67\x0e\x39\x35\x44\xed\x09\x59\x37\x29\x8d\xc3\xad\xc7\x38\x65\xf7\x77\xe9\x00\x37\xbd\xef\x83\x47\x16\x47\x6d\x78\xf4\xe6\xcb\x49\x61\xa4\xc6\x8a\x8a\x83\x63\x38\xa9\xf5\xda\x17\x9c\x4d\x5e\x93\xc3\xf7\x0d\xd3\x5e\xec\x70\x96\x53\xdd\x8d\xe3\x79\x96\xb1\x20\x56\xd4\xee\xfc\xb4\xb6\xb3\xc1\x3b\xa9\x84\xd8\x32\x27\x5c\x43\x86\xeb\xf4\xa8\xff\x7f\x07\x8b\xe3\xd4\x28\xc1\xe0\xd9\xb1\x62\x38\x1f\x06\xa5\xb7\xbb\x12\x70\x40\x03\xd9\x1f\x25\xd1\xd8\xfd\x43\x62\x6c\xe7\x0f\xff\x59\xd2\x92\x77\x68\xa7\x6b\xf7\xf9\xef\x76\xff\x95\x48\x9f\x38\xed\xcd\x1c\x9e\x9b\x8a\x8b\x0e\xf6\x6c\x32\x80\x57\x76\xd5\xae\x9f\xbd\x84\xa7\xaf\x4f\xa6\x56\x3e\xc7\x0a\xc5\x73\x3a\x44"}, -{{0x15,0xc9,0xf7,0xc4,0xd8,0x4a,0x5a,0x47,0x90,0x41,0x95,0x2e,0x6a,0x8c,0xac,0x24,0xe7,0x6f,0xd2,0xd2,0x75,0xc1,0x97,0xe6,0xb5,0x21,0x92,0x9b,0x43,0xba,0x6c,0x5d,},{0x86,0x33,0xc1,0x82,0x9d,0x29,0x09,0x1d,0xf7,0x1f,0xd5,0xc0,0xef,0x64,0x05,0x72,0xe4,0xb6,0x49,0x74,0xcd,0x09,0x7d,0xbe,0xbb,0xcd,0xde,0xba,0x04,0x16,0x47,0xc0,},{0x1e,0x36,0xbe,0xa5,0xa5,0x83,0x76,0x7e,0xbd,0x80,0x30,0x6c,0xab,0x23,0x31,0x55,0xb7,0xb4,0x28,0x14,0xb4,0x34,0x73,0xcf,0x45,0xcd,0xc5,0x03,0x9c,0x93,0x97,0x44,0xa9,0x69,0x4b,0x87,0x22,0x0d,0xaf,0x4c,0xcd,0x29,0xf2,0x5c,0xea,0x40,0x5e,0x7c,0x08,0xdb,0x2e,0xf1,0x7f,0x3f,0x03,0x4d,0xbb,0x49,0xcf,0xf6,0x02,0x83,0xe3,0x06,},"\x11\x73\x0d\xd4\x5d\xda\x80\xd8\x4d\x08\x0d\x92\xe9\xbd\xda\xee\xa6\x87\x8e\x4a\x0b\x3b\x51\x2d\x9e\xa7\x33\x80\x8e\x1c\xef\x51\xd4\x90\x48\xd6\xc7\x81\x16\xa4\xbd\xe3\xc6\x4a\xce\xaa\x52\xbe\xca\x86\xb3\x31\xab\x59\xe9\x18\x5c\x70\x28\x6a\x02\xbb\x5d\xd0\x4f\x5c\x7f\x4e\x9c\x7e\x44\x5e\x77\x45\x85\x65\xf1\x59\xc7\x83\xdf\xd4\xd9\x76\xa9\x10\xe9\x37\x78\x9d\x21\x41\xd4\x16\xed\x3a\x7f\x60\x8d\x26\x73\x7a\x86\xb2\x0b\x62\x4e\x3c\x36\xaf\x18\xd2\x5c\x7d\x59\xb8\xd7\x42\x7e\xc6\xc4\xd3\xd4\x38\xd7\xae\x09\x49\xdd\x7d\x74\x8c\x1f\xfd\x6f\x28\xe8\x28\x5d\x44\x04\x22\xd2\x2a\x37\x61\x20\x2e\x95\x84\xf5\xcd\xb3\x50\x45\x47\xaa\x4b\x68\x57\x30\xc9\x82\xcb\xa2\x13\xde\x08\x02\x0a\x5e\x4e\x46\xa9\x5f\xac\x4b\x48\x1b\xea\x0b\x63\x0a\xbd\x03\x0d\xdd\x33\x5a\x20\xfe\x2c\xf7\x09\x4a\xef\x48\x13\x95\x69\x91\x91\x3c\x68\x21\xf4\xb5\x41\x0d\xf4\xf1\x33\xfe\x63\xe2\x2c\x08\x09\x2a\x0a\x65\x97\x27\x22\xa2\x7a\xe4\x20\x11\xa8\x07\xc3\x27\xb4\x17\x23\x7c\x54\x01\x14\xee\xcb\x9f\x0e\x96\xcd\xa5\xdc\xf0\x24\x6f\x1d\x27\x17\xf4\x9b\x9c\xea\x9d\xc6\xa3\xda\x9b\x39\x6f\x02\x70\x52\x92\x26\xf5\xdc\xba\x64\x99\x91\x8a\x6c\x28\x9f\xe0\x55\xfe\xc8"}, -{{0x6d,0x2d,0x0d,0x82,0x3f,0x29,0x47,0x46,0xb9,0xa5,0x51,0x2e,0x14,0xe7,0x3c,0x1d,0x85,0x5b,0x5e,0x4b,0xca,0x65,0xfe,0x81,0x77,0x29,0x81,0x0c,0xc5,0xef,0x84,0x0d,},{0x1b,0x64,0x80,0xa6,0xa9,0x0d,0xfb,0x47,0x29,0x84,0x85,0x5c,0xef,0x6f,0x1a,0xb3,0x1e,0xb7,0xb3,0xf1,0x3c,0x8a,0xc0,0x0f,0xa5,0x56,0xd2,0x0b,0x53,0xe5,0xae,0x17,},{0xb5,0x15,0xf4,0x9e,0xb3,0x2a,0xd4,0x78,0x69,0x2d,0xf8,0x8f,0x07,0xb7,0x80,0x2c,0x6e,0x0e,0x53,0x27,0xaa,0x08,0xa6,0x36,0x6e,0x4c,0xb1,0xd1,0xe2,0x6f,0x9e,0x65,0xfc,0x81,0xab,0xeb,0xe2,0x21,0x5d,0x64,0x91,0x00,0xf2,0x75,0x98,0x27,0x3a,0x41,0x2b,0x62,0x4e,0x84,0x2d,0x81,0x30,0x40,0x37,0x97,0xe5,0x7d,0xec,0x97,0x5a,0x0a,},"\x87\x72\x72\x1f\x72\xea\xf7\xf7\x30\x40\xc0\x68\xa7\xc3\x75\x3b\xff\xca\x7d\xc2\xd0\x93\x0c\x65\x25\xf4\x25\xe6\x00\x5c\x25\xcd\x4c\x0f\xf5\x09\x5c\x9c\x61\xa5\xd8\xa1\x96\x7b\x8c\x86\x01\x0c\x88\x4e\x50\x9e\x6b\x16\x70\xf7\x90\x46\xe2\x29\x79\xeb\xd3\x54\x73\x40\x90\xd3\xad\xa2\x14\x35\xc1\xf8\x25\x4f\x7b\x52\x22\xcd\x55\x64\xf0\x64\xe9\x77\x64\x03\x66\x44\x9f\x4e\x50\x08\xf8\x70\xf9\xc4\x84\x05\x65\xbf\x4f\xb5\xf5\x74\xc9\x77\x4b\xa2\x56\x8e\x71\xa9\xcc\xd8\x2f\xfc\x59\xb6\x94\xf2\x6e\x7d\xe4\xce\x2e\x3f\xd8\x80\xa0\xee\xf3\x87\x93\x13\x33\xed\xe0\x0d\xcb\x06\x5e\x6d\x0f\x79\x59\x1a\x2a\xa9\x56\xdf\x19\x48\xa2\x65\xcb\x95\x75\x0d\x8a\x23\x3b\x15\xc2\x88\xa0\x54\x87\xc5\x15\x66\x3f\x93\xe7\x40\xfb\x15\x70\xfb\xe4\xbd\x80\xc6\x8e\x8d\x92\x97\x34\x5a\x8a\x01\xcd\xbd\x88\xf4\xa3\x9b\xed\x9c\x5e\xf0\x9f\x14\x4b\xce\x5d\xe5\x68\xbf\x37\x33\xbc\x53\xb2\x03\x9a\x29\xcb\x3e\x19\x45\x01\xad\xc1\xc1\x0e\x86\x38\x3a\xac\x8b\x0f\x85\xc6\x7a\x66\x89\xbb\xe1\x47\x0a\x39\x24\x76\x31\x34\x39\xca\x88\xd9\x8c\x02\x1c\x0e\xae\xc2\x5f\xb2\xf9\xa1\x60\xce\x5c\x78\x61\x70\xbe\x02\x38\xfb\x87\x85\xdd\x33\xbf\xa9\x05\x9a\x6c\x37\x02\xd0\xde\x05"}, -{{0xc0,0xcf,0x79,0x9a,0xf7,0x39,0x5b,0xf2,0x7b,0xaf,0xa3,0x6c,0xab,0x43,0x70,0x45,0xe3,0x9c,0x90,0x3b,0xf8,0x07,0x54,0x83,0x19,0xce,0x44,0xf2,0x87,0x49,0x4f,0xbb,},{0xaf,0xbf,0x55,0x0c,0xa2,0x90,0xc9,0x05,0xbd,0xd9,0x2f,0xc8,0x83,0x1e,0xbe,0x3d,0xfe,0xb6,0xda,0xae,0x4f,0x56,0x00,0x52,0x53,0xcc,0x50,0x95,0x1e,0x50,0xed,0xc2,},{0x5b,0xba,0x01,0xa4,0xc7,0xb2,0x55,0x42,0xd0,0x69,0x12,0xde,0x70,0xaa,0x1e,0x22,0x04,0x23,0xfd,0xf8,0x33,0x8a,0x9e,0x69,0x33,0x95,0xcb,0x6f,0x0d,0xc1,0xfb,0xfd,0x01,0x8e,0x3c,0x77,0xe5,0x0a,0xef,0x90,0xa9,0x08,0x0f,0x30,0xf1,0xf5,0x79,0x2b,0x24,0x31,0x07,0x8f,0xe6,0xe3,0xe0,0x04,0x64,0x24,0x5e,0x17,0xcd,0x8d,0xc1,0x07,},"\xdb\xe6\x57\x80\xe9\x68\xde\x9e\x40\xff\xb5\x7c\xf5\x9a\x60\xfd\x93\xb3\xf9\xa5\xe7\xd8\xed\x51\x80\xad\xbc\x57\x8c\xa1\xbc\x48\xbd\x9f\xb6\x0a\x13\x24\xc9\xc2\xc1\x14\x14\x79\xa0\xdc\xf0\xf1\xd0\x7e\x84\x93\x65\x26\xdf\x42\x33\x3c\x0d\x77\x3e\x3f\xed\x9e\x40\x38\xde\x5b\x95\xad\x90\x5c\x92\xcb\xe0\x40\x48\x7b\xf5\x5e\x10\xe1\xed\xb4\x29\xa0\xec\xc4\xe0\xe8\xd0\x0a\x98\x8a\x9c\xd5\x3e\x2e\xb3\x72\xf4\xfc\x4c\xd9\x53\x7b\x26\x9b\xa3\xa2\x3c\xef\xbc\x8d\xf6\x47\x6e\x75\x43\x4b\x81\xd9\x3e\x88\x91\xbf\x41\x7c\x82\xe3\x63\xf3\xe4\xab\xf8\x0a\x4f\x73\xac\xa8\x4a\xc7\xdf\x63\x37\xf5\x36\xd6\x3d\x93\x9d\x92\xcb\xa6\x4b\xe7\x42\x22\x11\x16\x06\x9e\xf2\x51\xab\xba\x0b\x00\xaf\x01\x71\x8b\xb5\x80\xdd\xbe\xb7\x99\x73\xef\x10\xa6\x8b\x4d\x0f\xa0\x23\xd6\xeb\xd3\x07\x9d\x6b\x32\xa1\xaa\x20\xa2\x1e\x92\x02\xf2\x75\x90\xc3\xf0\xc0\xcc\x25\x30\x73\xc3\xf8\x22\xaa\xc4\x59\xd3\x9f\x50\x75\x8b\x70\xc0\x07\x10\xa3\xc9\x84\x38\x41\x65\x08\x52\x2e\x51\x2a\xda\xa0\xaf\xd5\x03\xa7\xce\xb0\x4f\xb9\x4a\x4a\x93\x2c\xe8\x0c\xd5\xa7\xf1\x1b\xb8\x61\x26\x3f\x58\xe5\x74\x9d\x54\x2a\x11\x0d\xe7\xc7\x68\x9d\xfc\xb0\xc5\x1a\xfa\x9d\x54\xa5\x8f\xf8\x9f\x3f\x67"}, -{{0xcd,0xaa,0x50,0xe8,0x52,0x7d,0xc7,0xa5,0x0f,0xb3,0x7e,0x28,0xfa,0x8b,0x95,0x68,0xc3,0x7e,0x85,0x67,0xe0,0xb4,0x99,0x99,0x7b,0x9a,0xed,0x67,0x61,0x80,0xc3,0xb0,},{0x7c,0x56,0xe1,0x64,0x51,0x02,0x68,0xc1,0x82,0xb4,0x23,0x74,0x79,0x04,0xf1,0xd3,0xa5,0x80,0x93,0x30,0xf6,0xe1,0xb2,0x92,0x66,0xec,0x46,0xe7,0x3b,0xe1,0x55,0x0f,},{0x13,0x7b,0xd1,0x0a,0x50,0xef,0x60,0x93,0x84,0xfe,0x66,0x87,0x68,0xfb,0x87,0x1d,0xe7,0x41,0xca,0x0f,0x53,0xff,0x84,0x77,0xd7,0xeb,0xfa,0x90,0xaa,0xfd,0x5e,0x26,0x81,0xfd,0xf1,0xb8,0x92,0x50,0x46,0x3c,0x15,0xdb,0x8e,0x17,0xa5,0x88,0x25,0xfe,0x94,0x27,0xde,0x08,0x9c,0x34,0xde,0x13,0xcd,0x07,0xbb,0xa1,0x8d,0x4a,0xa4,0x0d,},"\x94\xfc\xfb\xaa\xa3\x03\xde\xce\x7b\x90\x8f\x87\x4c\xc5\xf0\x95\x06\x1f\x17\x54\xbb\x35\x78\x0d\xb6\x66\xb6\x3a\xb8\x29\x08\x11\xbf\x1c\x52\x1a\x7f\x8f\x78\x5e\xa2\x70\xdf\xb3\x9d\x0d\x6e\xd9\x5a\xb7\x19\x55\xa1\x1f\xfa\xea\xa2\x68\xe0\x81\xff\x3e\x4f\x24\x25\xb4\x18\x80\xa9\x87\x15\x1e\x67\x8e\x89\x11\x13\x50\x94\x2d\x82\x0c\x3e\xec\x36\x21\x24\x26\x66\x3b\xe1\x75\xe5\x28\x6b\x4a\xd1\xcc\x80\x4e\x3e\x3a\x03\xb9\xfa\x3e\x82\x83\x8e\xbb\xc2\x61\x5a\x64\x5f\x2c\xa1\x46\x8a\xc4\xa1\xcd\xbe\x52\x37\x61\xe8\x3f\x43\x81\xb0\xc8\x55\x0a\xe5\xe8\xc8\xcd\x1f\xda\x57\x19\x14\x36\xe2\x7c\xb8\x83\xbc\x64\xbe\x86\xa9\xdc\x61\x10\xef\x34\x01\xd8\x8a\x7d\xeb\xd1\xb7\x01\xd9\xc2\x57\xa6\x82\x6c\xf0\x1e\x9e\x29\x22\xe3\xae\x57\x7f\x28\x34\x27\x5f\xb0\xec\xda\x80\xed\x8c\xf1\x80\x1e\x0b\xc5\xe0\x1e\x26\xa7\x7c\x48\xbd\xf4\x6a\x5c\x48\x94\xd2\x2a\xb5\x3e\x74\x18\x27\xe2\x4b\xed\x5f\x07\x50\xff\xad\x05\xe5\x3f\x1d\x5e\x61\xdf\xd3\x16\xb1\x91\xd9\x79\x7e\xf7\x13\x13\x1a\x8b\x43\x0a\xbe\x3f\xac\x5f\x3c\x4a\x2c\xa0\x21\x87\x8b\x15\xad\xc8\xc5\xf5\x42\x11\x42\x60\xe6\x87\xa9\xd1\x99\xd2\x30\xc4\xe0\xd3\xfc\x69\x69\x93\xb5\x9c\xcf\xa3\xff\xa9\xd8\xd2\xfb"}, -{{0x0f,0xde,0xa9,0xbe,0xe6,0x28,0x8f,0x94,0x7e,0x0a,0xdb,0xdd,0xa4,0xdf,0xb2,0xba,0xa0,0x38,0x91,0xaf,0x25,0x02,0x4a,0x5e,0x13,0x8a,0xc7,0x79,0x84,0xd0,0x05,0x07,},{0x70,0xab,0xd8,0x64,0x30,0xd7,0xe8,0xd6,0x32,0x09,0xc8,0xb3,0x73,0xec,0x4e,0x4b,0x79,0xe9,0x89,0xe6,0x72,0x5f,0xac,0xef,0xba,0xde,0x3c,0x75,0x74,0xd2,0x3c,0xd0,},{0x80,0xc4,0x2d,0xd5,0xdf,0x03,0xb2,0x85,0xa8,0x6a,0xc9,0x5c,0xe6,0x66,0x9f,0x78,0x6a,0x97,0x8a,0x81,0x3a,0x9d,0x7b,0x8c,0x6a,0x23,0xde,0x76,0xfb,0xd0,0x9b,0xdb,0x66,0xc5,0xdd,0x1c,0xc9,0xf1,0xa1,0x76,0xcb,0xa3,0x88,0xd5,0x05,0x17,0x64,0xa3,0x2f,0xa2,0x7f,0x00,0x28,0xba,0x48,0x98,0x06,0x8b,0xd0,0x1a,0x3e,0xe1,0x72,0x08,},"\xcf\x72\xc1\xa1\x80\xa2\xbc\x37\xd8\x47\x8d\x9a\x7a\x39\xac\xf0\x3b\xf2\xa5\x07\x90\xf7\x90\x2f\x81\x12\x12\x22\xd3\x1d\x3e\xc9\x16\xf4\xf2\x4c\xef\x9d\x7c\x41\xdc\x02\x1b\x0e\x84\x87\xbb\x89\x2e\x47\x30\x5e\x54\x52\x03\x03\xe8\x9b\x30\xb2\x63\xda\xc4\xa9\xba\x37\x5d\x46\xc4\x0f\xcf\x40\x05\x35\xc9\x59\xd2\xb7\x46\xa7\xfc\x97\x0c\xf6\x5b\x47\x2e\x84\xb5\xf1\xd0\xeb\xad\xcf\xa1\xae\xd6\xfc\x47\xfa\xcc\xe1\x6a\x36\x6a\x3b\x1d\x6e\x51\x68\x13\xc1\x96\x09\x75\xf8\xf2\xb4\x30\x42\xfb\x4e\xea\xab\xe6\x3c\x6f\x65\xdb\x45\xdd\xb7\xdb\x88\x8a\x19\xa9\xd7\xba\x6c\xa4\x79\xfc\xd7\x0c\x5d\x1e\x97\x0f\x12\xc1\x4f\x4d\x24\xfb\x7e\x2f\x35\x7b\xd3\xa9\x4a\xa1\xb8\x68\xcc\xc0\x84\x7f\x2e\xef\x21\x85\x3e\x25\x3b\xaf\xbf\x07\xc4\xe6\x17\x6a\x1e\xf0\x77\x16\x78\x41\xeb\xbe\x56\x29\x33\x71\x57\xf3\x9f\x75\xc7\x1d\x21\xe7\xe9\x6c\x51\xa1\xb1\x6f\xa8\xdc\x60\xf0\xb1\x27\x9f\xcd\xa2\x64\x1f\xc8\x59\x1e\x3c\x49\x2f\x15\xbf\x83\xca\xf1\xd9\x5b\x2c\xd9\x13\x32\xf1\xb4\x20\x2f\xe7\x28\x62\xca\x2e\xa2\xef\x92\xc1\x1d\xb8\x31\xd8\x2f\x8f\xc3\xd4\x1f\xe2\x9a\x76\xc2\x11\xa7\x58\xe2\xf7\x1b\xd8\x9d\x2c\x66\x10\xf2\x01\x42\x9f\x34\x8d\x56\xe1\x0e\x3b\x7a\xf5\x3e\x27"}, -{{0x03,0xd5,0xe4,0x66,0xf8,0x29,0x8a,0xb5,0x43,0x8a,0x30,0x97,0x6d,0x13,0x22,0xa7,0x21,0x5a,0x64,0x2d,0xd5,0xfb,0x4c,0x3f,0x85,0x19,0x40,0x9a,0x75,0x22,0xf0,0x92,},{0x4b,0x3e,0xd4,0xdb,0x08,0x0e,0x2a,0x45,0x2e,0x16,0x91,0x2c,0x14,0x50,0x44,0x24,0x92,0x0a,0x60,0x97,0x56,0x04,0xe4,0xf3,0x79,0x25,0x8d,0x1c,0x8b,0x19,0x3d,0x6f,},{0x6d,0x7e,0x46,0x58,0xf2,0x6f,0x33,0x7c,0x98,0xe0,0x3f,0x13,0x54,0x2e,0x2f,0x39,0x44,0x0f,0xf7,0xbf,0x8d,0x88,0xf3,0xf6,0xdf,0xa4,0xd6,0x49,0x48,0xcd,0x96,0xb7,0x90,0x51,0x49,0x2f,0xc2,0x8f,0x65,0xf2,0xcc,0x0d,0x23,0xa0,0xc4,0xd5,0xe2,0x30,0x7b,0xb1,0xc4,0x7e,0x11,0xe5,0x3b,0x37,0x1f,0x09,0x1b,0x69,0xf8,0x0d,0xbd,0x05,},"\x1b\x47\xb7\x00\x13\xcb\x53\xe1\xf8\xf4\x97\x1e\x0f\x39\x56\x3c\xe8\x7e\xdb\xc2\xce\xdd\x99\xe5\xa3\x55\x85\xdf\x8b\x00\xa8\x52\xf7\xb9\xc9\x7c\x7e\x4a\x54\x65\xfc\x56\x05\xae\x8c\x5c\x36\x57\x0a\x99\x20\x1a\x7a\xd6\x03\x12\x87\xef\x0c\x7b\x2b\xa6\xe5\x7b\x05\x6d\x0f\xc8\xd6\xca\x43\xbf\x6c\xbd\xab\x09\x89\x34\xb4\x03\x19\x7b\x52\x5d\x22\xd4\x5e\x6b\x29\xc7\x8f\x8d\x61\x83\xe4\x1f\xfe\x19\x7d\xae\x25\xba\x22\xb0\x66\x69\xae\x05\xba\xdd\x7e\x1d\xa6\x93\x2a\x7d\x05\x4c\xba\xb3\xf5\x4e\x51\x46\x22\x3a\xd8\x67\x12\x31\xbc\x16\xfe\x62\x67\x9b\xd2\x81\x7a\x6b\x80\xe6\x53\x99\x8c\x49\x49\xf8\x1f\xf5\x3b\x61\x73\x16\x3e\x11\xda\x3e\x6d\x3c\x76\xd8\x4c\x71\x32\x25\xb4\x17\x3d\x6b\xf0\x6a\x85\xb6\x98\x8a\x48\xbe\x43\x59\xcb\x51\x55\x03\xca\x56\x3f\x43\x53\xf8\xe7\xd4\x5e\x4d\x94\x46\x2c\x89\xa0\x4a\x00\xf1\xb3\xb0\xca\x64\x22\xd5\xdb\x02\x9c\x50\x7d\x46\x48\x34\xa2\x0c\x78\xa7\x13\x66\x1d\x84\xed\xff\xc4\x96\xd6\x92\x82\x61\x98\x94\x43\x7b\x44\x87\x95\x4c\xbe\xa2\xaa\x72\x61\xe6\xa6\x2b\x68\x51\x15\x4a\x5d\x25\xfb\x6b\x4f\x09\xc5\x94\x73\xd3\x85\xce\x03\xe9\x1b\xa8\x65\xea\xb6\x6c\x58\xc0\xab\xb0\xb7\xa7\x8e\x4b\xe9\x27\xe5\x54\x60\xcc\xd7\x0d\x82"}, -{{0x76,0xcc,0x18,0xa1,0xda,0xff,0xfa,0x10,0x05,0x86,0xc0,0x6a,0x7b,0x40,0xf7,0x9c,0x35,0xfe,0x55,0x8c,0x33,0x9c,0x29,0x99,0xa5,0xf4,0x38,0x75,0xcf,0xad,0xe0,0x3e,},{0x4b,0x9d,0xa8,0xd2,0xf1,0x37,0xdc,0x6c,0x85,0x7a,0x99,0xa5,0x99,0x8d,0xd8,0x9d,0xd5,0xf0,0x59,0x71,0xa2,0x1e,0x8c,0x77,0x66,0x70,0xeb,0x47,0xbc,0x12,0x70,0xa5,},{0xdb,0x74,0x75,0x1c,0x66,0xe6,0xb1,0x86,0x60,0x44,0xdd,0x9a,0xe9,0x9f,0x19,0xe6,0x33,0x4f,0x17,0x9e,0x79,0xd8,0xb8,0xe0,0xc8,0xcd,0x71,0xd2,0x2c,0xef,0xb9,0xea,0xb7,0xe3,0xe7,0xa9,0xc2,0xda,0x22,0x5f,0x2a,0x9d,0x93,0xa3,0x13,0xd1,0xcb,0xf1,0xb7,0xfe,0x25,0x97,0xb8,0xd7,0x02,0xbf,0x30,0x17,0xa6,0xa6,0xbc,0x7b,0x7b,0x06,},"\x45\x22\xb1\xd8\x23\x73\xf7\xa3\x18\x22\x1e\x7e\x57\x61\x75\x03\xdd\xf4\x4f\xd5\x39\x97\x52\x2a\x1d\x96\x3c\x85\xb7\x08\xd0\xb2\x45\xde\x37\x2a\xd5\x2e\xc7\xf5\x4f\x62\x13\xd2\x71\xf7\xc9\x1d\x5a\x1d\x36\xd1\x34\xdb\x38\x9d\xf0\xb0\x81\xa0\x6b\xc0\xc7\xa4\x87\x5f\x72\x40\x92\x79\x31\x72\xc9\x11\x56\x41\xc6\xd0\x54\xf1\xd9\x92\xe0\xfa\xe4\xdf\x58\x69\x5f\x0e\xa3\x44\x9d\x7a\x4b\x3a\x88\x57\xe1\x98\x03\xfe\x49\xb6\xd5\x2c\x9f\xf3\x74\x6a\x57\x4a\x27\x56\x95\x65\x79\xf9\xfb\x80\x9a\x0e\xde\xc9\x2c\x55\xe9\x5f\xfe\xfa\x3d\x05\xf1\x65\x82\x2f\x46\x4a\x21\x99\x9f\x29\x69\x1f\x67\x44\xac\x5a\x3e\xe4\x90\x17\x88\x06\x45\xe8\x37\xed\xeb\xfd\x2e\x0f\x24\x99\x7f\x04\x11\x45\xa7\x2e\x23\x76\xad\xa2\x83\x18\x6c\xa2\xb8\x36\x36\x29\x77\x19\x5b\xae\xe3\x0a\x3a\xcc\x81\xb2\x43\xf3\xee\x37\x6a\x2c\x47\x64\xc7\x83\x66\x7a\x4b\x11\x77\xe7\x95\x1d\x3e\x3c\x7b\xe4\xf1\xbd\x7a\xe8\xc6\x0f\xd5\xfb\x0f\xd9\x1f\x0c\x1c\x14\xd0\xd2\x32\x7e\x8f\x20\xd9\x2c\x0d\xfc\xc5\x38\x70\xe9\xd9\x9f\xdb\xf9\xdd\x9a\x17\xe8\x82\x50\x9a\xe7\xba\xa8\x65\x3e\x39\xed\xc8\xee\x56\x90\x00\xd6\x24\xcb\x93\xa0\x75\x4a\x79\x8d\x1f\x81\x1f\x6a\x0e\xf5\x50\x1a\x17\xbc\xf2\x5f\xd0\xf9\x16\x26"}, -{{0x71,0xad,0x98,0x0d,0x58,0xad,0x8e,0x7d,0x33,0x30,0x66,0x89,0x35,0x89,0x36,0xa3,0x72,0xd5,0x19,0x0b,0x24,0xec,0x7f,0x9b,0xde,0x74,0x9c,0xb8,0x11,0x50,0xef,0xda,},{0xfd,0x35,0xa7,0x5f,0xe5,0xab,0xc2,0x01,0x04,0x69,0x1a,0x24,0xa4,0x65,0x94,0x40,0xb5,0x5a,0xea,0xea,0x90,0x2a,0xc3,0xbe,0x27,0x4a,0xf2,0x7a,0xa8,0x31,0x28,0x69,},{0x81,0x67,0x0b,0x10,0x29,0xe4,0x81,0xe9,0xff,0x3c,0x17,0x1f,0x05,0xc1,0x68,0x61,0xc8,0x46,0xee,0x79,0xcd,0xf2,0xe2,0x1e,0x3b,0xf9,0x52,0xbc,0xfa,0xc9,0x75,0x65,0xf2,0xb1,0xdc,0xed,0xf6,0x9d,0x2e,0x7e,0xb3,0x5c,0xaf,0x56,0x62,0xe8,0xbc,0x67,0x1f,0xbb,0x96,0x75,0x6a,0x63,0xa5,0x96,0x26,0x4d,0x1b,0x7f,0x4a,0xf9,0x7e,0x06,},"\xe8\x7a\xe0\x73\xff\x5d\xcc\x54\x85\xa1\x99\x40\xe4\xe3\xff\x26\x3a\x06\x18\xa9\x02\x5a\xd4\x03\x2d\xfb\x36\xd1\x71\xce\x88\x1f\x71\xc1\x8a\x49\x21\x0e\xb4\x58\x19\x80\x61\x42\xe2\xf0\x0d\xb3\x04\x18\x35\xbf\x2c\x3b\xcc\xf1\xdb\xa0\x2b\x8b\x5a\x5b\xda\xf8\xfe\xa3\x16\xc0\x62\x3d\xd4\x8a\x56\x4e\xc1\x66\xf0\x37\xd5\x87\xc8\xc0\x16\x84\xe5\xe5\xc0\xba\x9d\xba\x4d\x23\xb4\x9a\x03\x09\x24\x4e\x28\x2a\x51\x40\x86\x22\xed\xb0\x57\x04\x74\x7e\x0c\xde\xec\x97\x68\x93\x77\x70\x71\x09\x89\x72\xc1\x13\xa8\xab\x63\x9c\x31\xf1\x61\x32\x33\xee\x46\x0e\xea\x8a\x8c\x10\xe1\xe6\xe1\x52\x21\x45\x29\x87\x8c\xf1\xad\xae\xaf\x78\xcf\x19\xba\xc7\x13\x61\x81\x5b\xf5\x79\x55\x49\x8f\xab\x4f\x0f\x2b\x75\x86\xc8\x6f\x9f\x4c\x2d\xdf\x89\x72\xf9\xb9\xe0\xeb\x63\x6d\x84\xbc\xc1\x43\x85\xb2\xd0\x38\xbe\x55\xa9\x63\x70\x2e\xfe\x22\x5a\x50\xbd\xd0\xc4\xda\x92\xa2\xa6\xa0\x91\x00\xea\x04\xa2\x11\xd3\x96\x45\x8d\xce\xb4\x48\x71\x16\x83\x7d\x13\x9e\xb0\xf1\x22\x53\x8e\xd3\x98\x6a\xd0\xaf\x4d\xa2\xdf\xfc\x89\xf3\x26\x9c\xa8\x85\x38\x08\x6e\x69\x1e\x5b\xea\xe9\x58\x1e\x7c\x63\xd8\xe6\x12\xda\x2c\x47\xf7\x4d\xde\x1d\x94\x95\x1e\xad\xb0\xdf\x60\xc3\x89\x7d\x2a\x30\x95\xc5\x06\x09\x3b"}, -{{0x61,0x59,0x4e,0x24,0xe7,0x5f,0x99,0x6b,0x4f,0xb6,0xb3,0xe5,0x63,0xf6,0xa4,0xf9,0x91,0x5c,0xfa,0x65,0xdd,0xb1,0x99,0xb0,0x1f,0xed,0x7f,0x8e,0xd7,0x82,0x4e,0xcb,},{0x86,0x27,0xd2,0x14,0x15,0x79,0xcd,0x25,0x21,0xaa,0x07,0x68,0x00,0xac,0x35,0x4b,0x9e,0x3a,0x47,0xd7,0x1c,0xed,0xc8,0x54,0x74,0x34,0x26,0x82,0x25,0xe3,0x30,0x05,},{0x63,0x02,0xb3,0xff,0x27,0x10,0xbe,0x30,0x6c,0x92,0xb9,0xaa,0xe3,0x0d,0x23,0xc3,0xd4,0xbe,0xff,0x39,0x4e,0x63,0x20,0x1e,0x6a,0xd1,0x17,0x13,0x34,0x5c,0x4f,0xcb,0x5c,0xc8,0xd3,0xdd,0x10,0xad,0xfb,0x82,0xbb,0x11,0xa1,0x89,0xce,0x7e,0xc3,0xe4,0x22,0x27,0x27,0x62,0x4f,0xc1,0x78,0x81,0xc1,0x47,0x88,0xd2,0x71,0x0e,0x16,0x08,},"\xbc\x01\xb0\x8c\x7c\xaa\x23\x61\x00\xa0\x12\xa7\x26\x47\x7d\x0e\xc3\x89\xdb\xfa\xda\xc7\x3d\x51\x06\x42\x4c\x5d\x1f\x3d\x1c\xef\x16\x95\xcf\xd9\x3a\x70\x62\xec\x8b\xf1\x06\x70\x47\x85\x49\x20\x16\x2f\x65\x13\x57\xbe\xdf\x1c\xd5\xa9\x2e\xc2\x9b\xdb\x5d\xff\x71\x6e\x8f\x60\x25\x51\x5a\x95\x49\xba\x36\xcd\xc3\x5c\xed\x7c\x5c\x0c\x36\x8e\x6c\xd9\x2f\x2f\x10\xae\x14\x6a\x20\x72\x8c\x37\x4b\xba\x50\x96\x41\xce\x88\xcb\x42\xff\xf0\xce\xdf\xd9\xfd\x67\xf3\x10\xf9\xd0\x1a\x3f\x36\x90\xeb\x21\xdb\x17\xbc\xe6\x7a\xe3\x5c\x4c\xd2\x4c\x20\x9f\x09\xf0\x44\x75\x9d\x8d\x5a\x7d\x24\x8e\x2b\xd9\x66\x52\x4b\xa8\xc0\xc2\x89\x74\x72\x6b\x43\xbd\x05\xde\x84\x34\x33\xcc\x40\x05\x98\x92\x29\x74\x62\x3d\x9a\xcb\xfd\xc7\x61\xc4\xc0\x43\x75\xa9\x52\xce\x54\xca\xff\xaa\x96\xac\xff\x6d\x9d\xc2\x78\x74\x2a\xf4\x76\xe1\x86\x5c\xb8\xc2\x0d\x13\xd1\xc1\x90\x08\x63\xbc\xa2\x31\xe4\x4c\x6b\x0d\x47\xcb\x41\xd5\x10\xf7\x95\x8f\x48\xf3\x04\xd0\x3d\xa0\x33\x48\x4a\x3e\x1f\x27\x3f\xaf\x69\x83\x37\x5b\x7d\x3b\xe0\x3d\x8a\x0a\x00\x2d\xef\x63\x65\xbe\xb2\xfa\x8c\xcf\x1a\x94\x98\x7a\xdc\xd3\x3d\x0d\xa1\x17\x7f\xc5\x15\x9b\x6e\x56\xd0\x04\x30\x1e\x92\x1d\xbc\x12\xec\x0a\x73\xf4\x13\xcf\x2c\x48"}, -{{0x54,0xe6,0xbb,0xfb,0xf8,0xc0,0x6f,0xf2,0xc0,0x66,0x31,0x8c,0x2e,0xbf,0x03,0xd5,0x06,0x54,0x7b,0xf4,0x3c,0x2d,0x7a,0x5d,0x4d,0xf3,0x05,0xa3,0x03,0x2b,0x71,0x38,},{0x3b,0x71,0xaa,0x1d,0xef,0x66,0x6d,0x91,0x88,0xf4,0x03,0xf8,0x2e,0xd3,0x04,0x54,0xab,0xa5,0xbc,0x9f,0x47,0x0f,0x6e,0xb9,0x88,0xda,0x18,0x7c,0x92,0x52,0x32,0x84,},{0x3d,0xf4,0xd0,0x90,0x79,0xf8,0x30,0xe3,0xf9,0x82,0x28,0x36,0x81,0xba,0x37,0xb5,0x0f,0x3c,0x73,0xde,0x2c,0x5d,0x22,0xa2,0x91,0x35,0x8e,0xbb,0x1f,0xb8,0x54,0xe5,0x10,0xf6,0x3f,0x9a,0x48,0xe9,0xff,0xf7,0xfd,0x83,0x11,0x30,0x2e,0xa3,0xe9,0x69,0x39,0x4e,0x6d,0x49,0xc9,0xe3,0x18,0x20,0x54,0x94,0x2f,0x6a,0x74,0x4c,0xee,0x03,},"\x03\x18\xd7\xcb\x48\x05\xaf\x98\x21\xdd\x3f\x91\x4b\x0e\x07\x6f\xea\x04\xa7\xd2\xdb\x3a\x59\xa0\x0a\xff\xea\xd3\x32\x5a\x2b\xe4\x0c\x1f\x87\xf5\x32\x76\xa8\x55\x26\x04\xf2\x28\xb9\x76\xe2\x88\xb9\xbe\x90\x6a\x7b\xd2\x5b\x2f\xfa\xb8\xa8\xaf\x5d\x0f\x6e\x08\x78\x6f\xd0\x34\xe2\xfe\x1e\xb7\xee\x03\x39\x79\x86\x0d\xd1\xe5\x32\x72\x87\xe9\xe6\x15\xf5\xdc\x5a\x96\x0f\x17\x02\x6b\x56\x84\x2f\xc8\xd4\x4c\xad\x00\x2e\xdc\x85\x01\xcf\xb9\x56\x00\x15\x02\xe4\xdd\xc8\x1a\x77\x00\xd9\xc0\xbe\x88\xeb\x4a\xaa\x64\xa6\xcb\xc3\x9d\xe8\x2f\x13\xc1\x10\x86\xde\x1a\x42\x70\xd3\xaf\x97\x28\x4b\xac\x1c\xae\xf1\xd3\xed\xaa\x10\x71\x66\x6b\xd8\x3b\x2e\xde\x39\x62\xd9\x8b\x9d\x93\x49\x7d\xdf\xd8\xe9\x7d\xab\x30\x89\x95\x0c\xf3\x0e\xd1\x1d\xb7\x7a\xd1\x43\x7a\x0a\xf5\x88\x9d\x8e\xfc\x44\xe6\x12\x42\x0e\x39\x07\x26\x7d\xf3\xac\xff\x4b\xd3\xfb\x6e\x8c\xa5\xba\xdf\x8e\x72\xf9\xde\x39\x52\x86\x53\x05\x85\x24\x45\x6a\x81\xda\x5f\x84\x98\x2a\xfa\xc3\x4b\xef\x5f\x71\xe9\x1f\x8f\x90\x93\x8a\x6f\x5f\x1f\x28\x77\x16\xde\x56\xa0\x94\x6d\x26\x1e\x87\xbc\x77\x5c\xe1\x89\xe4\x1a\x77\xba\xed\xe7\x32\x0a\x3c\x60\x8f\xc9\x71\xe5\x5d\x0a\x77\x3c\x4d\x84\x8d\x42\x86\x37\xf1\x1b\x4e\x44\x60\x39\x0c"}, -{{0x68,0x62,0x06,0x1b,0xe0,0xde,0x9d,0xfd,0x99,0x81,0x18,0x20,0x4b,0x2b,0x98,0xdb,0x3c,0xe7,0xd7,0xe8,0x19,0xdb,0xc1,0x07,0x94,0xaf,0x0a,0xb2,0xb0,0x6e,0x84,0x34,},{0x9c,0x5f,0x7c,0x22,0x65,0xdd,0xe1,0xb2,0x5e,0x4f,0x27,0xec,0x71,0x58,0x0d,0x52,0xdc,0x89,0xf2,0xc3,0xa7,0x12,0xbc,0x1a,0xd5,0xd6,0xd6,0x9e,0x71,0x1e,0x08,0xd4,},{0x96,0x5e,0xdb,0x34,0xe8,0xab,0x8b,0xc3,0x20,0x4a,0x32,0x01,0xd2,0x21,0x86,0x37,0x2d,0xe4,0x24,0x26,0x00,0x29,0x7c,0xfd,0xb5,0x7a,0xa1,0xdf,0x07,0x4e,0xc5,0x0d,0xdf,0x10,0x10,0x5e,0x9d,0x4c,0x89,0xa2,0x66,0xc3,0x4d,0xb7,0x77,0x2a,0xa9,0x4c,0xba,0x94,0x64,0x29,0xe6,0x8b,0xa6,0x2b,0xf9,0xa0,0xac,0x90,0xf5,0xf0,0x5b,0x02,},"\x17\x40\xdd\xe8\x43\x4a\x0d\x68\x99\x25\x67\x9b\x0c\x18\x03\x00\xcd\xbd\x0c\xf6\xa8\x9a\xd8\xfd\xe3\x46\x53\x31\x6c\xee\x4c\x57\x1a\x41\x05\xc9\xe9\xe0\x28\x42\x38\xfe\xf2\xc3\x8a\x09\x15\x7c\x5d\xb9\x43\x40\x57\x1b\x39\x0a\xdf\xb6\x9f\xf4\xc0\xdc\x50\x53\x25\x3a\x67\x9d\x42\xcc\x1f\x1b\xf1\xff\x42\x92\x29\xea\x0a\x50\x44\xc6\xf7\x95\x64\xe0\xdd\x28\x7f\x53\xf0\x15\xb8\x31\x87\xd9\xad\x27\xd9\x10\x39\xaf\x06\x2c\x43\x7b\x15\x75\xa0\xea\xb6\xae\xb8\xaa\x0d\x27\xb2\x76\x65\xd6\xde\xa9\x04\x1f\xf9\x96\x3a\x31\x18\xb3\x29\x8a\x85\x44\xe3\xfd\x69\xac\x68\x77\xe3\xe4\x05\x2f\xe4\x42\x2b\xf0\x35\x60\xb2\xc5\x7e\xc5\x31\xee\x8b\x5f\xf5\x3c\x28\xdb\xde\x35\xbb\x45\xc3\x50\x77\x63\x6e\x6f\x84\x1b\x59\xd7\xeb\x77\xbc\x77\x91\xb6\x09\x38\x58\xa3\xa8\x0a\x3a\xa6\xd7\x78\xdb\xf5\x3d\xb9\xd0\x61\x19\xc5\x0b\x71\xc7\x91\xc0\x49\x5c\x57\x6d\x1b\x59\xd3\x96\x87\x3e\xd8\x71\x48\x53\x52\xc8\x29\x9a\x35\x9d\xa5\xee\x9d\x7f\x36\xed\x14\x55\xf8\x98\x51\xa3\x08\x51\xbe\xa7\x19\x68\x5a\xec\xd0\x8f\x25\x56\x26\x09\xdd\x10\x66\x30\x73\x52\x77\xe1\xd6\x51\x9b\xb1\x68\x7d\xe8\xb8\xc6\x8b\x96\x71\x45\x2e\xdb\xb3\x49\x1d\xa2\x64\xcd\xfa\x00\x17\xc5\x12\xd2\x76\x97\x59\xcb\x92\x5f\xb6\x64"}, -{{0xb2,0x25,0x0b,0xbc,0xb2,0x68,0xd2,0x47,0x7c,0x83,0x12,0xb1,0x90,0x0f,0xd9,0x99,0x82,0xba,0xa2,0x9a,0x68,0x97,0x4f,0xbf,0x87,0x78,0xa1,0x22,0x8d,0xc9,0x75,0x50,},{0x44,0xaa,0x8d,0xf1,0x18,0x16,0x74,0xb0,0x5a,0xde,0x98,0x0f,0x7e,0xdd,0xba,0xf3,0xbd,0x74,0x22,0xa9,0x20,0x28,0x7c,0xb2,0xd2,0xdb,0x59,0xa0,0x63,0xee,0xbf,0x74,},{0xf2,0xb8,0xd9,0x2e,0xd5,0x1e,0xbd,0x10,0x00,0xbf,0x9d,0xd3,0x41,0x1a,0x9f,0xa9,0xe7,0xae,0xe5,0x4c,0x4c,0x86,0xe2,0x4a,0xd0,0xf9,0xad,0x5c,0x55,0x64,0x3a,0x12,0xd6,0x80,0x01,0x9c,0xa0,0x3f,0x21,0x6b,0xd4,0xbd,0x32,0xc9,0xce,0x1c,0xd8,0xa5,0x28,0xc3,0xff,0xaa,0x5d,0x5b,0x1d,0xc9,0x1a,0x4b,0xe5,0x6f,0x0e,0x2c,0x5e,0x06,},"\x7e\xf0\xae\x13\x36\xa6\xfa\xb3\x7f\x99\xda\x5f\xa7\xd0\xde\xc7\x40\x9c\x07\x26\x23\xea\xd8\x4f\x24\x1d\x53\xd0\x59\x6b\x46\x17\x05\xfb\x1b\x3c\x53\x7d\x36\xb8\x9e\x89\x60\xfe\xbb\x4c\xdc\x0d\x42\x7c\xe2\xfc\x1b\xe5\x8d\xbb\xce\x15\x1e\x35\xac\xd8\xb6\xac\xe4\x0a\x19\x82\x29\x14\xa4\xbd\x8c\x4a\xf6\x32\xf1\x36\x41\x8a\xc4\x9b\x18\x4d\x55\x19\x3e\xbc\xc3\x2d\x0d\x79\x87\x09\xb1\xa8\xfe\x29\x4f\xba\x8a\x1f\xe7\x2d\x97\x6b\x44\x00\xd4\xa3\x93\x24\x23\x11\xb0\xf8\xcc\x99\x4e\x89\x47\x5b\x00\x38\xae\x5d\x89\x14\x93\x8e\x8f\x6e\x87\xc6\xf5\x0b\x9d\x65\x6c\x45\xd7\xb1\x42\x31\xef\xed\x97\xf3\xc9\x06\x68\x91\x36\x70\xbf\x5b\xe2\xef\xd5\xc2\x70\xc7\xcb\xaf\x01\xe8\x57\x2e\x98\x00\x97\x8d\xfe\x2e\x10\xa2\xfc\x04\x40\xb8\x55\x62\x9b\xf9\xcd\x40\x9e\xa9\x41\xcb\x69\x22\x6c\xac\x77\x1b\x15\xea\x77\xc0\x32\x68\x48\x80\x6f\xf8\xd2\xe2\x01\xe6\xe2\x6c\xd5\xf4\x54\x30\xda\xdc\xff\x8f\x59\xc3\x21\xc1\xc9\xc6\xa2\x9b\x94\x88\x29\x35\x44\x7d\x3e\x6c\x2e\x88\x04\xb1\x16\x15\x76\xbd\xf0\x32\x0f\xe5\x3c\x30\x7d\x9c\xde\x42\x60\x77\xa7\x67\x7c\xde\x3c\x1b\xc8\x3e\x18\xe6\x0a\x0c\x4e\xe6\xdc\xcd\x87\x7c\x21\x3a\x8e\x4c\xca\x64\x0e\xe0\x49\x29\x80\x45\x70\xae\x1f\x96\x15\x7c\x04\x35\x7a"}, -{{0xb8,0x09,0x36,0x1f,0x55,0xcf,0xe8,0x13,0x7f,0xbd,0xa8,0x80,0xfc,0x62,0xcb,0xe4,0x4c,0x21,0x6e,0x14,0x18,0x93,0x34,0x63,0x02,0xb3,0x36,0x04,0x5d,0xe2,0x18,0x78,},{0xfd,0x23,0xe4,0x2f,0xf0,0x66,0x44,0xea,0xd3,0x47,0xab,0xcc,0x1b,0x3e,0x03,0xb0,0xe8,0x85,0x93,0xb6,0x12,0x54,0x98,0x1d,0xd8,0xae,0x59,0x45,0x4e,0x61,0xb3,0xe0,},{0xb5,0xb5,0x95,0x0d,0x37,0x72,0xd2,0xee,0xf8,0x8e,0x1b,0x0f,0x5d,0xf5,0xff,0xae,0x2f,0x21,0x03,0x88,0x5e,0x71,0x44,0x6d,0x34,0x6f,0xbb,0x5d,0xae,0xf9,0x49,0x67,0xa6,0xb7,0xb6,0xe4,0xbe,0x88,0x51,0x10,0x06,0x58,0x76,0xc6,0x65,0xb7,0x81,0x2d,0xe4,0x6a,0xd3,0x1e,0xc3,0xbf,0xcb,0xea,0xee,0x13,0xed,0x0c,0x1e,0x0b,0x30,0x0e,},"\x17\xac\xe1\x97\xd0\x83\xaa\xf1\x72\x6f\x53\xe5\xef\x81\xb5\xa8\xc0\x92\x22\xf2\x60\xee\x5f\x1f\x54\x04\xab\x78\xd9\x00\xd4\x89\x68\x84\x49\xb8\x43\xba\xd3\xc4\x98\xaa\xc6\xd8\x0b\x46\x39\xb7\x6e\x6e\x81\xc5\x52\x76\xa6\xf9\xc7\xce\xcd\x70\xb7\x1a\xaa\xf2\x01\x8e\xf7\x6c\x0e\x30\x15\x4a\xae\x86\xa5\xc8\x6d\x4e\x8d\x0e\x4e\xc6\x8c\xc4\x27\x06\x0b\xd5\x65\x14\xf7\x23\x80\x86\xbb\xef\x5b\xfc\xa1\xf5\x67\x1b\x18\x04\x18\x38\xfd\x01\x35\x72\x44\x3d\xba\x48\xfb\xdd\x95\xca\x74\x0b\x0d\xaa\x43\x27\x16\x4a\x1e\x34\x67\x72\x49\x70\x8f\x77\xbd\x79\x3e\x7c\xaa\x66\x38\xb5\xdc\x9f\xbe\x6f\x0d\xfd\x41\x20\x20\x90\x97\x20\x9c\x93\xce\xdf\xaf\x21\xb6\xbf\x59\xca\x6e\x99\xe6\x20\x96\x39\x44\x4f\x0e\x82\x7b\xbc\xc0\xa6\x1c\x3a\x23\x7c\xa2\x2a\x28\x32\x13\x22\x3a\xb6\x58\xe7\x12\xc7\x55\x62\x38\xd3\xa5\xfe\x31\x72\x2d\x65\xf5\x70\x6e\xf6\xd6\x4d\x73\x23\x2d\x30\x43\x22\x0f\x14\xe5\xcf\xd3\xc2\xc8\x3a\x83\xd6\x8e\x20\x27\x4b\x6f\x96\xb2\x9d\xe0\x40\xce\xc8\x47\x50\x30\xb6\xa8\xa8\x7d\x29\x80\x8d\xd3\x81\x79\x5c\x3d\x22\xac\xf5\xdc\x19\x3b\x72\x0d\x95\xa7\x52\xd9\xf1\x23\xc2\x09\xff\xba\x00\x4e\x48\xdd\x06\xdd\x8c\x9e\x17\x2b\xc9\xe0\x87\xd8\x0b\xc5\x21\x6c\x0b\x0b\x6e\x77\x03\x12\x41"}, -{{0xee,0xef,0x80,0x74,0xc2,0xeb,0x9a,0x1c,0xee,0x2f,0x2d,0x3b,0xb0,0x53,0x25,0x54,0x6a,0x9f,0xb7,0xcb,0xe4,0x4b,0x59,0x94,0x61,0xfc,0x58,0x85,0xf5,0xfd,0x9c,0xac,},{0x9b,0x89,0x29,0x41,0xa0,0x57,0x3b,0x7a,0x16,0x73,0xef,0x48,0x0f,0x08,0x11,0x68,0xd9,0xb7,0x49,0x6a,0x81,0xf9,0x17,0x7d,0xc4,0x27,0xca,0x1f,0x84,0xcb,0xbf,0x7d,},{0x6f,0x71,0x01,0x98,0x4f,0xd6,0x89,0x2e,0x21,0x44,0xb7,0xd4,0x56,0x19,0x83,0x0c,0xae,0xb6,0x71,0x3b,0xfa,0xb4,0xee,0xbb,0xe2,0x17,0xc5,0xbe,0xcd,0x24,0x9b,0xd9,0xd7,0x52,0xeb,0x76,0xe9,0xfa,0x99,0x5e,0x7c,0x71,0xff,0x7d,0xf8,0x6b,0xb2,0x60,0xcd,0xda,0x17,0x3f,0xf5,0xde,0xec,0x6a,0xf2,0x04,0xb7,0xdd,0xe0,0x11,0xde,0x09,},"\x9a\xe3\x9f\xea\xde\x90\x5a\xff\xcb\xed\xd2\xe7\x2a\x6f\x24\x29\xb3\xd1\x10\x8e\x5b\xc1\xa9\xdb\xaf\x49\x0a\x62\x99\xbc\xcd\x94\xac\xc4\x13\xad\xac\xc9\x18\xb1\x4a\xfa\x85\xc7\x8b\xc1\x68\xcc\x00\x74\x0c\x3d\xa0\xe0\x81\x83\x91\x5f\x79\xb7\xfe\x38\x68\xce\x2a\x7e\x88\x6b\x32\xad\x45\x00\x98\x05\xbf\xb8\x1b\x8c\x07\xb3\xb1\x02\x24\x20\xc0\xf0\x09\xb8\x89\xd7\xfc\x22\xfd\x19\x97\xae\x34\x19\x84\x38\xca\x94\x77\x85\x75\x12\x2f\xca\xaf\x96\xe6\x50\x2c\x33\xa7\x5a\x12\x9a\x2d\x0d\xbb\x07\x3d\x93\x82\x0d\x9c\x96\x68\x3d\xb3\x18\x99\x0b\xe3\xfe\xf4\xca\xfc\x89\x0a\xfb\xd9\xb1\x50\x4c\x74\x39\xa0\x8a\x06\x5e\x78\x14\xee\x4f\x9b\x6f\x57\xee\x16\xba\xed\x3f\x0e\x3a\xa3\x5d\xd2\x3d\x35\x28\xa4\x58\x91\x9a\xd7\x70\x48\xb4\xe2\xe6\x17\x23\x46\xbe\x24\x9a\x50\xaf\x02\xbc\x6c\x85\x33\x04\xc2\x08\xae\x0b\xa0\x27\x71\x26\x2a\x0d\x8a\x46\x5f\x71\xfa\x06\x35\xe5\x3e\xb2\xef\x0a\x84\x7d\x56\xa0\xbc\xd7\xdd\x3f\xe0\x77\xc9\x2b\xcd\xca\x30\x69\xa4\xa6\x82\xa2\x85\x99\x28\x31\x5c\xe3\xeb\x44\x5c\x60\x72\xa7\x14\x92\xee\x82\xe1\x72\xa2\x0b\xe0\xb6\x48\xb7\x56\xe6\xc7\x75\x37\x6f\x0c\x7c\x3d\xf8\xe6\x42\x88\x08\x9c\x2f\x81\xce\x95\x93\xc6\xe0\x8b\xb1\xcc\x1b\x27\xfc\xbd\x39\x2f\xc7\x95\x2c\x55"}, -{{0x61,0xfa,0xeb,0x15,0xf8,0x57,0xf6,0x55,0x78,0x62,0xc8,0xb8,0xc7,0xef,0x41,0xf8,0x05,0x45,0x52,0x09,0x96,0xfc,0xc1,0x12,0x7b,0x8c,0x24,0x91,0x82,0x22,0x01,0xae,},{0x60,0xa2,0x90,0xc0,0xfc,0x42,0x5a,0x08,0x74,0x67,0x3d,0x94,0xf9,0xbb,0x14,0x00,0xf9,0xda,0xcd,0xe9,0x95,0x4f,0x9f,0x5b,0x05,0xdd,0x48,0xab,0x74,0x7a,0x39,0x50,},{0x31,0xf9,0x0f,0x50,0xb2,0xdc,0x70,0x5f,0x1d,0x92,0xf1,0x2c,0xa9,0x97,0x5d,0x76,0xf1,0xb2,0x82,0x6a,0xda,0x3c,0xc1,0x85,0xb0,0xed,0x6c,0x83,0x86,0x07,0x77,0xbd,0x8c,0x48,0x9b,0x59,0x85,0x5a,0x91,0xf6,0x48,0x39,0xd4,0x9b,0xa4,0x67,0x98,0x5a,0xbb,0x37,0x6c,0x47,0xa4,0x90,0x8b,0x27,0x1b,0x8f,0x77,0xc5,0x8d,0x01,0xfd,0x04,},"\x25\x3b\x56\x6e\xcc\xb5\x63\xbd\x6e\x48\x0c\x69\x73\x9b\x8e\x37\x25\x19\xa3\x43\x72\x54\xe0\xe5\x02\x9c\xac\x86\xc7\x16\x38\xf2\xdf\x2a\x6c\xf9\xe5\x6d\xb2\x56\x99\x34\xde\xba\x90\xdb\x75\x54\x7e\x36\x71\x74\x7d\xf6\x4d\x6f\x2a\xaf\x3c\x11\x0f\xa6\x7a\x70\x94\xcc\xbe\x4c\xc5\x35\x5f\x0d\x43\x23\x51\x36\xee\x26\xdb\xe3\x7f\x42\x25\xd3\xbb\xfe\x24\x55\x95\x28\x05\x85\xfb\x54\x8f\x89\x4e\x86\xc5\x16\x10\x25\x80\x29\x1f\xa7\xa0\x28\x59\x55\x7f\xb9\x8e\xb5\x88\x87\x08\x28\xb0\x99\x0a\xe9\xd7\x4f\x38\x31\xda\x58\x94\x6b\xc7\xa5\xce\x1b\xa4\x98\xb4\xe8\xbe\x89\x89\xa3\xb5\x0d\x7e\x87\x89\xf5\x6b\x8b\x4f\xec\xbc\x2a\x33\xbf\xa3\xef\x59\x1a\x0f\xbc\xd9\x32\xfa\x93\xe1\x9f\x3a\x81\x2a\xe5\xe4\xe3\xb4\xb2\x42\xbe\x77\x05\xa5\x87\x4a\xf7\x3b\xe3\x10\xb0\x05\x82\x66\xa3\x78\xf2\x3c\x13\x48\x52\x47\x15\xb0\xcc\xc1\x8d\x66\x34\xb2\x36\x36\xc3\x16\xba\x6a\x1d\xd2\xfd\x50\x92\xc0\x67\x16\xa7\x17\xb5\x4d\x0e\xb9\xfc\x7f\x63\x6f\x85\xbb\xf2\x25\xa2\xcf\x03\x5b\x4b\x7c\xfd\xdd\x75\x35\x16\x82\xc0\x57\x6c\x6b\x3b\xa5\xa1\xc0\xb2\x5e\xc5\x94\xe7\x70\x9d\xd0\x9a\x00\x79\x77\x2f\xf3\xac\xc6\x7f\xb6\xc1\xb3\x7b\xb3\x74\x2b\x72\x6e\x77\xe8\x05\x61\xd9\xab\x73\x16\x0b\x73\x36\x25\x81\xda\x5b\x9c\x7f"}, -{{0xe6,0xb9,0xcd,0x4d,0xa0,0x7c,0xb3,0x4f,0x30,0x39,0x1c,0xf6,0x8f,0x0d,0x87,0xc7,0xcf,0xcf,0x68,0xf8,0x10,0xff,0xa4,0x0f,0x97,0x39,0xc9,0x5d,0xeb,0x03,0x7f,0x71,},{0x56,0x9e,0xde,0x0f,0x04,0x63,0x0b,0x43,0xa0,0x4c,0x5a,0x66,0xb6,0xa5,0x63,0x6b,0x76,0x6c,0x75,0x96,0x59,0x84,0xa7,0x47,0x7e,0x15,0x49,0x19,0x60,0xfd,0xd8,0x64,},{0x1e,0x37,0x5c,0x94,0xbd,0x80,0x9c,0xa0,0xcd,0xd0,0x2f,0x89,0xec,0xec,0x4e,0x43,0x77,0x32,0xdd,0x20,0xa0,0xa8,0x4b,0x25,0x4e,0xae,0x88,0x9d,0x80,0x70,0xe6,0x82,0xd1,0x13,0xb0,0xbe,0x22,0xe4,0x1e,0x6c,0xdc,0x3b,0xe8,0x77,0x68,0x0e,0x7e,0xeb,0x7f,0x09,0x95,0xe6,0x62,0x2d,0xc0,0xb4,0x34,0xfb,0x09,0x49,0xdd,0x99,0x4b,0x0c,},"\x69\xde\xf0\x52\x3a\xfd\xa6\x96\xf8\x44\x8f\x9c\x11\x43\xab\xc2\x65\x33\xe6\x86\x95\xa0\x90\xdf\x0d\x9e\x43\xd0\xc0\xef\xf4\x35\x83\xe6\xf7\x09\xd2\x04\x3c\x81\x5f\xbb\x3f\x96\xba\x2b\x0d\xc3\xbe\x6f\xec\xad\x5d\xd3\x81\x48\x78\x8e\x4a\x03\x85\xa9\xfe\x7a\x92\x1f\xcb\x8c\xce\xe0\xe4\xd3\xae\xd4\xbc\x3d\x21\x6d\x84\xb4\x14\xf9\x58\x0b\x02\x82\x0c\x03\xd9\x2e\x67\x5e\x68\x5c\x4b\x58\x51\xf3\x63\xbb\x4d\xf9\x7b\x41\x7c\x3f\xd9\x00\x22\xee\xaf\xa2\x0d\xfb\xe8\x29\x64\xf2\xff\x07\x3d\x25\x57\x58\xfb\xe5\x67\xc7\x6b\x2c\x35\xe2\xb0\x9f\x8a\x8d\x7a\xfa\x32\xc6\xf5\xad\x01\xbc\x3e\xbf\x6e\x21\x06\x06\xdb\x03\x8e\xcb\x68\x20\xce\x1e\xa4\xdd\x52\x9f\xc1\xad\xfb\xc2\xa1\x38\x56\x5a\xc6\xd0\xf4\xa4\x10\x9b\xdd\x47\xb8\xaa\x6e\xf4\xb8\xbe\xde\x45\x46\x80\xd1\xdb\xdb\x75\xfe\x1e\xb2\xe5\x48\xd5\xde\x7c\xb6\xd7\x92\xfe\xf3\xaa\x0d\x84\x80\xa6\x03\x0b\x30\xf1\x04\xd7\xe7\x6b\x58\xe9\xf4\x76\xeb\xf2\xcc\x83\x29\x23\xb5\x0c\x50\xc1\x11\xc3\x51\x5f\xc5\x18\x85\x23\x23\x42\x6c\xa7\x78\xa5\x96\xd3\x19\x5d\xa8\x58\x5d\x8c\x3a\xa9\x20\x83\x31\x3a\x6e\x65\x85\xb7\x0c\x98\xb1\x85\xb4\x72\x79\x8a\x61\xcd\xe7\x7e\x62\xec\x27\x2f\x14\xb0\xd9\xeb\x4f\x22\xf9\xc7\xc0\x58\x17\xda\x6f\xde\xfe\x78\x79\xa5\x84"}, -{{0x4d,0x90,0x44,0xf1,0x7b,0x5a,0x09,0x77,0xdc,0x5a,0xa9,0x91,0x6a,0x92,0x43,0x00,0xa2,0x44,0xa1,0xef,0x7f,0x06,0x02,0x77,0xad,0x49,0x78,0x35,0x1e,0xa6,0x42,0x91,},{0xab,0x9c,0x06,0x92,0xa6,0x06,0xb2,0x56,0x7c,0x19,0xc3,0x0f,0x9f,0xaa,0x3b,0x4c,0xfe,0x72,0xfb,0x23,0x70,0x77,0x76,0x7b,0x76,0xd3,0xb2,0xae,0x14,0x90,0xa6,0xd4,},{0x6f,0xa4,0x8a,0xea,0x4d,0x5b,0x9a,0xf6,0x5a,0xf9,0x64,0xcd,0xb7,0x09,0x44,0x3a,0x11,0xfa,0x84,0xf7,0xd4,0x4a,0xcd,0xda,0xb1,0x6e,0x04,0xa6,0xfc,0xef,0xb2,0x7a,0xe3,0x3c,0x05,0xb3,0x6d,0xa1,0x3c,0x23,0xde,0x51,0x7d,0x6e,0x6a,0xc5,0x74,0xa0,0x3e,0xa6,0x30,0xba,0x4f,0xbb,0x95,0x81,0x31,0x12,0x9a,0xa7,0xf1,0x35,0x4c,0x01,},"\x7c\x8c\x71\x89\xaf\x67\x32\x7a\xf1\xc6\xdd\x2c\x30\xe9\x75\xf1\x90\xe3\xb3\x8d\x00\x8b\x45\x85\x16\x7e\x0d\x45\x07\x40\xd4\x67\x34\x58\x7f\x6d\x20\x87\x84\x24\x5c\xc5\xcb\x06\x2a\x2a\x27\x7f\x17\xeb\xb2\x74\x6f\x9b\xdf\x4a\x82\x37\xca\x47\x9a\xb0\xa4\x30\x17\x7e\x19\xed\x7d\xd3\x62\x25\x76\xb1\x4c\xdc\x08\x28\x22\x14\xfe\x5e\xe4\xd7\x6b\x43\xc1\x6a\xc9\x08\x64\xc5\x1b\xe8\xae\xd4\x5d\x7b\x98\x0d\xf7\x91\x7f\x29\x0f\xdf\x79\x58\x46\x46\x5f\x27\xfc\xb7\xe5\x73\x06\x37\x94\x4f\x05\x77\xc9\x2f\x32\x37\x5e\x99\x5b\xc0\xcd\xa9\xd7\x19\x6f\x2c\x0c\x1a\xc8\xb8\x0d\x12\xa0\x43\x99\x63\xeb\xd2\x25\x4c\x34\x77\x03\x57\x58\x16\xe7\x96\x4c\x13\xd4\x4d\x62\x92\x80\xc3\x12\xea\x26\x53\x44\xde\x38\xf3\xb1\x8d\x91\x50\xf8\xf9\x24\xaf\xb4\x4b\x6b\xfb\x9e\xda\x51\x3d\x59\xe6\x5e\x2e\xf1\x86\x66\xe6\xc2\xa2\x1c\x40\x18\x66\x5b\xef\xe9\x2c\xae\x58\x1d\x3c\xb1\x4e\x23\xe9\x7d\x83\x00\x02\xcb\x90\x93\x1a\xe0\x21\x00\x68\xaf\x39\x4e\xbe\x35\x1b\xe5\xb8\x17\xf3\x67\x4b\xfb\xf4\x00\x49\x03\x0e\x4f\xe5\x05\xd3\x4a\x1d\x50\x2a\x2c\x50\xd8\xe6\x38\xe9\x26\xc2\x30\x67\x6b\x7e\xde\xfb\x6b\xec\x77\xb1\xc0\xce\x60\x93\x25\x28\x7b\xa5\xfd\xd7\xa9\x97\x69\x87\xbd\x07\xfc\x6a\x43\x44\x95\x6e\xbf\x81\x8f\x08\x58\x6c"}, -{{0x75,0xad,0x76,0xbb,0x4c,0x0c,0x22,0x9a,0x5a,0xdc,0x79,0xe4,0x44,0xb1,0x3f,0x88,0xa9,0x64,0x59,0x86,0x2c,0x8c,0xf0,0xba,0x49,0x8d,0x0c,0x99,0x6a,0xf9,0x4a,0x7a,},{0xf0,0x74,0xdd,0x2b,0x9c,0x1c,0x30,0x91,0x05,0xec,0x95,0x1b,0xb5,0x81,0x2a,0x91,0xdd,0xb5,0x40,0x23,0xb3,0x80,0x9a,0xb3,0x79,0xc5,0x6a,0xf0,0x46,0x1a,0xf6,0x17,},{0x0c,0x46,0x43,0xa8,0xbe,0x6d,0xc2,0x2f,0x4b,0xeb,0x6b,0xcc,0x70,0xc6,0x17,0x2e,0xc7,0x60,0x83,0x78,0x65,0x3c,0xb4,0xe9,0x9f,0x3a,0xe7,0x95,0xea,0xdf,0x4e,0x98,0x2a,0x29,0x76,0x09,0xca,0x79,0x38,0xf5,0xdf,0x63,0x2b,0x09,0x56,0x28,0xcb,0x75,0x06,0x2d,0x3d,0x51,0xfc,0x0f,0x33,0x23,0xbf,0xa7,0xb2,0x2e,0xc4,0xd4,0x72,0x05,},"\x0c\xa8\xc1\xc7\x41\x28\xd7\x4e\x9d\x0a\x7b\xf8\x96\x42\x91\xd0\x74\x91\x7f\x2f\x99\x20\xef\xb9\x11\x52\x05\x67\x64\x2a\x50\xa6\x15\xab\xcb\xd0\x0a\xed\x4a\xbb\xfe\xf1\xa9\x83\xcc\xe3\x33\xe1\xd0\xdf\x3e\x64\x04\xfb\x90\x43\xc6\x80\x39\x14\xcd\x5f\xff\xbc\x66\xa0\x79\x0c\x78\x78\xa2\x40\x89\xa5\x71\xf8\x95\x66\x2a\x1d\x18\xbe\x3f\x01\xff\x97\xfb\x33\x23\x33\x4b\x6f\x5b\xaf\x96\x55\x14\x48\xe4\x09\x0d\x03\x3c\x46\x42\x94\xd0\x91\x33\xb1\x51\xd5\xb5\xc6\x32\x1b\x50\xe2\x24\x1d\xe0\xef\x6f\x88\x28\x89\xcc\xf4\xad\x35\x40\xd5\xa1\xe3\xf7\x54\x8f\xb1\x3b\xe7\x1c\x16\x51\x66\x06\xe7\x9d\x04\x49\xc2\xa0\x8e\x5d\xc2\x31\x48\x84\x3c\x84\xe9\x7e\xd2\x40\x69\x16\x1c\x8e\x75\x20\x8f\x33\xe9\x5b\x3e\x10\xd1\xd4\x9a\x2f\xae\xf9\xd9\x86\xab\x62\x80\x9f\x62\xad\x39\xc7\xcc\x87\x1f\x37\x5a\x4f\x5a\x6f\xaf\x10\x4d\x7e\x11\xb8\x90\xcf\xb0\x58\x99\x02\x68\x52\x16\xec\x07\xcb\x8e\x8e\x9e\x7a\x7c\x43\x63\x5e\x23\x21\x2b\x69\xca\x3b\x7e\xd5\x4f\x0b\x97\x94\x9e\x3d\x9a\x66\x62\xf8\xe4\xb3\xab\x09\xcd\x49\x52\x94\xc3\x31\xc0\x47\xd8\x6e\xe7\x85\xff\x65\x8b\xcd\x7f\xcf\x9c\x48\x06\x05\xce\x05\xe8\x10\x06\x8d\x60\xfc\x9b\x26\xb5\xf0\x63\xeb\x90\x00\xd2\x65\x7a\x50\x94\x28\x4a\xc8\x0f\x13\x75\xd0\xb6\x6d\x6f\x5f"}, -{{0xad,0xc6,0xe9,0xb2,0xe1,0x03,0xb6,0x2c,0x24,0xad,0x43,0x46,0x41,0x0e,0x83,0xa1,0xa0,0xbd,0x25,0x3e,0x4a,0xbf,0x77,0x91,0x18,0x50,0xc6,0xd9,0x66,0x6e,0x09,0xf9,},{0xfc,0xe3,0x16,0xe3,0x3c,0x91,0x08,0x21,0xbe,0xed,0xdd,0x63,0x4b,0xed,0xc5,0x8e,0xe5,0x79,0x99,0xa7,0x6e,0xce,0x38,0x46,0x05,0x28,0x3b,0x99,0xb5,0x43,0xb7,0x8b,},{0xcb,0x01,0x7d,0x6d,0x26,0x82,0xc9,0x85,0x43,0x66,0x25,0x9a,0xa3,0x5f,0x30,0xd4,0x91,0xcf,0xaa,0x93,0x09,0x98,0xc2,0x97,0xdb,0xdd,0xc6,0xad,0xed,0x5b,0x3d,0x40,0x1c,0xf7,0x6d,0x80,0xd8,0xa2,0x76,0x4d,0xe1,0x31,0x71,0x8b,0x6e,0x0c,0x48,0x1d,0x71,0x96,0xbc,0x72,0x57,0x97,0x16,0xb0,0xc0,0xf6,0xff,0x05,0x3e,0x68,0xc5,0x0c,},"\x8c\xcc\xd9\x8e\xbb\xf2\x43\x9f\xfd\xfa\xc4\x16\x87\x63\x8f\xaa\x44\x4e\x1c\xa4\xb6\x3d\x13\xe8\x98\xea\xa8\x35\x54\x92\xf2\x88\x13\xab\x81\x3f\xd0\x15\x10\xe1\x12\xbe\x10\x6b\x20\x45\xd3\x0f\x63\x33\x5d\x24\x89\x04\xd5\x21\xde\x18\x1a\xba\xc0\x3e\x3d\x2c\xb2\xd1\x6c\x44\xb3\xb0\x12\xa0\xc5\x1f\x99\x01\xae\xf9\x05\x6c\x72\x4d\x7a\x2c\x6b\x2a\xcb\x0a\x07\x55\x59\x40\xe4\xc6\xe2\x11\x54\x89\x06\x11\xad\xeb\x64\x89\xf4\x61\xd3\xe5\xec\xd1\xaf\x5a\x4d\x2b\x0a\xda\xf4\x17\x47\x43\x6e\xb4\x14\x75\x7a\x8f\xe4\x77\x56\x74\xe3\xc6\xe5\xde\x45\x69\xd6\xfc\x6c\x78\x8e\x10\x90\x5e\xba\x32\xc2\x70\xa3\x93\xe6\xf7\x21\xa7\x65\x29\x4e\x2a\xc9\x9a\x9b\x6e\x53\x4d\x3d\xf0\x8d\x1d\xb9\x7d\x60\x2a\xc3\x19\x5c\xb0\xb7\x7f\x5b\xd4\xac\xaf\x73\x7f\xad\xd6\x99\x1f\x06\x88\xab\xc7\x49\x18\x04\x75\x74\xea\xc2\x82\x89\x73\x9a\x66\x4e\x0e\x0e\x20\x57\x4a\x2c\x25\xfd\xe4\x9d\x14\x53\x9d\xb1\xce\xdd\x4a\x92\x04\xa7\x0a\xcf\xf0\xa6\x2c\x8f\x25\xcd\x76\x8f\xfa\xb1\x5c\x4d\xb3\x16\x84\x0a\x4d\x1b\xc9\x2e\x21\x26\x70\xbe\x07\xc5\xbd\xcf\x53\x75\x90\x60\x7d\xfb\xbb\xb4\xd9\xf9\x8b\x89\xda\x0b\x4d\xf7\xd8\x8f\x3e\xca\x48\x14\xd1\x6b\xfa\x20\xc8\xd2\xfa\x94\xf9\xf2\x59\xf2\xee\x2d\x3a\x83\xc9\xe4\x17\x1b\x1a\x26\x2c\x4b\x99"}, -{{0x37,0xfc,0x1b,0xed,0xa4,0x06,0x0b,0x6c,0x57,0x88,0x3d,0xdb,0xa0,0x77,0x6c,0x2b,0xcf,0x5a,0xc2,0x8a,0x65,0x13,0x26,0x02,0x1c,0xca,0x97,0x72,0x37,0x30,0xfb,0xb0,},{0x7b,0xd7,0xbf,0x1c,0x99,0xdc,0x82,0xe0,0x6f,0x08,0xbb,0x45,0x4d,0x8f,0xb2,0x88,0xa5,0x79,0x27,0xe0,0x7f,0xf1,0xb1,0x2a,0xf1,0x5e,0xe2,0xc1,0x2f,0xbb,0x6b,0x3d,},{0xa0,0x1d,0xd6,0x5f,0xad,0xa2,0x70,0x39,0xf1,0x68,0xb1,0x23,0x41,0x9d,0x8a,0xbf,0xbd,0xa4,0x8c,0x57,0x2e,0xce,0x24,0xfd,0xa0,0x6e,0x1a,0x5e,0xc3,0x1e,0x08,0x4f,0x4e,0xe1,0xcb,0xf9,0x96,0x1e,0x88,0xed,0x51,0xe1,0x89,0xfc,0xb7,0xf5,0xf2,0x35,0xde,0x1e,0x5b,0x28,0xd0,0x8f,0x2b,0xfc,0xa1,0x90,0xb0,0xf0,0x19,0xec,0xc2,0x07,},"\x3d\xfc\xac\x02\x65\xa0\x24\xa8\x3c\xb9\x32\x67\x44\x89\xa1\x63\xaa\xc3\x14\xbf\x3d\x96\x9f\x27\x59\x6e\x45\x17\x33\xb9\x9d\xeb\xa5\xee\xb7\x79\x21\x0b\xaf\x95\xbf\x54\x5a\x1a\xe6\xb8\xa9\x15\x86\x06\x93\xee\x89\x0f\x93\x93\x20\xe0\x6a\x84\x44\x83\xd1\x8c\x6a\x1b\xcd\x03\xc6\x38\xbb\x7d\x1f\xe2\xa8\x2e\xb4\x48\xa3\x11\xb1\x30\x2e\xa6\x42\x8f\x54\xa3\x9f\x45\xa4\xd5\x60\xbe\x15\x57\xa2\xb2\x54\xc4\x5c\x13\x7f\x45\xcc\x68\x35\x68\x36\xe2\x1b\xed\x0b\x7f\x73\xa5\x18\xce\x09\xdb\x0b\xe3\x93\x92\x7c\x33\x9b\xf2\xa4\xb5\x98\x75\x39\x40\x4c\xe6\x50\x28\x4d\xe1\x2e\x3b\x55\x3b\x26\x2e\xfe\x23\x84\x83\x32\xcc\xfd\xc3\x5e\x79\x1a\x0a\xb4\x3f\x13\x9c\x71\xed\x0f\xcb\x2d\x17\x3b\xb3\x77\xee\x46\xb1\xa9\xdc\xa9\x27\x7e\x77\xdf\x85\x5f\x28\x30\x25\x1e\x31\xe2\x6a\xcd\x86\x76\x3c\x8d\x7e\xac\x22\xc8\x82\xfc\x17\x4f\x2b\x5e\x75\xca\x6a\xd1\xad\xe0\x3f\x94\x2b\xb2\xa1\x3b\xf5\x41\x90\x61\x59\x15\x8c\x68\x36\x3c\x74\x80\xc5\xb2\x7a\x99\x32\x0f\x82\x83\xa2\x69\x9d\x43\x69\xc0\x71\xc5\x0d\xbd\x90\xb7\x79\x2e\x47\x72\xef\xbc\x0b\x19\x5b\xce\x84\xcc\x4d\xcf\xff\x70\x72\xa4\x89\x68\xdb\x69\xf9\xfe\xdd\xd0\xf9\xce\xd6\x59\xeb\x5d\xb7\x16\x7f\x35\xf9\x88\xce\xc1\x14\x88\x7d\xcb\xfd\xf2\x7d\x02\xd3\x00\xb3\xe1\xab\xec"}, -{{0x8d,0x42,0xf4,0xdd,0xd2,0xbb,0xd2,0xb8,0x27,0xb0,0xa0,0xd3,0x1d,0x8f,0x75,0x8e,0xbd,0x13,0xa1,0xb9,0xb3,0x71,0x22,0x28,0x94,0x8c,0xa6,0x10,0xbb,0x88,0x58,0xe5,},{0xb7,0x35,0x48,0x98,0x79,0x4f,0x9d,0xb0,0xa8,0xaf,0x6e,0xea,0xfc,0xdb,0xdf,0x01,0x1d,0x3f,0xbe,0xf0,0x21,0x2a,0xd9,0x38,0xa4,0xa4,0xad,0x27,0xab,0x16,0xeb,0xbf,},{0x70,0x76,0x4b,0xe3,0x9c,0x6d,0xca,0x0f,0x06,0x7a,0xbe,0x1e,0xca,0x49,0x0f,0xda,0x95,0x1f,0xd4,0xe9,0x49,0x96,0x95,0x26,0x6e,0x27,0x0b,0x9b,0x05,0xea,0xe7,0x06,0xca,0x8d,0x1c,0xa6,0xa9,0x2d,0x7c,0x48,0x8e,0xc6,0xad,0x8b,0xa1,0x14,0x57,0xa4,0x2a,0x5e,0x31,0x70,0x2a,0x9c,0x2b,0xce,0x89,0x2d,0xc4,0x05,0x35,0xc0,0x9f,0x01,},"\xe3\xa2\xbe\xbc\x04\x96\xd8\x97\x4a\x8f\x40\x61\x88\x03\x69\x31\x4e\xd9\xe4\x40\xc1\xb7\x7e\x26\xfe\x50\x71\xce\x69\x4f\xfd\x21\x36\xdb\x0c\x4d\x5e\x88\x0e\x60\x00\x08\x3a\x75\xc9\x0d\x3c\xf7\x2b\x9c\xf5\xa2\xb1\xa9\x00\x2c\x27\x01\xa2\xff\x59\xb0\x69\x9a\x8f\x42\xd7\x9d\xd8\xa5\xfb\x71\xa8\x12\x54\x53\xd9\x1f\xb8\x00\x80\xa3\xf0\xa1\x65\x84\x28\x2f\x17\xec\x7d\xfd\xc2\xe5\xc6\x9c\x4d\x9b\xdf\x48\x4d\x55\x94\x4d\xae\x27\x3f\x21\x1c\xfb\x76\xad\x37\xda\x45\x87\x13\x65\x43\x9a\xf3\x5e\xea\x1f\xbe\xcd\x4c\xa6\x79\xb5\x9b\x5e\x01\xba\xcf\x49\xc7\xf4\xe5\xef\xaa\x40\x6b\xa1\xda\xeb\x08\x54\x82\xaf\x5d\xed\x89\xdc\x68\x85\xff\xbe\x3d\x14\xd2\x93\x1b\x83\x89\x7e\x28\xad\x06\xe5\x56\x4e\x27\x89\xba\xea\x81\xbd\x93\x2a\xa2\x79\xfe\x8e\x32\x4b\x9a\x8e\xf1\x11\xc2\xab\xe2\xf1\x37\xd4\xbb\x50\xd8\xab\x76\xce\xbc\x0b\xd9\x82\xa2\x39\x19\x75\x1a\xd4\xd4\x9e\x88\xeb\x14\x17\x3d\x33\x10\x28\x9a\x87\x23\x17\xe4\xa4\x51\xe8\x8d\x54\x32\x08\x91\x87\x0f\x15\xb2\xd5\x33\x24\x43\x08\x77\xa9\xfb\x5b\x49\xbb\x92\x9f\x21\x1c\x5b\x89\x76\x4d\xd9\xc3\xa5\x95\xa1\x45\x1e\x9f\x85\xa2\x38\x54\x00\x02\x56\x6e\x53\xa9\x9e\xd1\xe6\xdd\xc9\xb4\x85\x3f\x45\x5e\xdb\x4c\xf1\x98\x0d\x56\xbb\xdc\x13\x13\xa3\x6e\x76\xea\x9c\xbb\x04\x8a"}, -{{0xb6,0x2d,0xe5,0xa1,0xac,0xfe,0x4c,0xa2,0xd1,0xf0,0xc1,0x32,0xaf,0xcb,0xda,0xe6,0x6f,0xb2,0x9a,0x02,0xf2,0x97,0xfb,0xc2,0x40,0x7f,0xad,0xbb,0xf2,0x45,0x42,0x00,},{0xb6,0x3b,0x2d,0x0b,0xf3,0x55,0xf7,0xb6,0xd0,0xba,0xc0,0x74,0x03,0x41,0x1c,0x40,0xaf,0xbb,0xb2,0xf7,0x07,0x50,0x3b,0x3f,0xc2,0xce,0xe8,0xa1,0xc7,0xd0,0xa8,0x38,},{0x5c,0xdb,0x00,0xe9,0x8d,0xe7,0x3e,0xab,0x48,0x0b,0xe4,0x2f,0x8a,0x8a,0x61,0x63,0x80,0x9a,0x0d,0x37,0x10,0x1b,0x6a,0x5a,0x4e,0xed,0x6a,0x0c,0x92,0x03,0x0d,0x09,0xa5,0x56,0x2c,0x72,0x90,0x80,0xce,0x6f,0x65,0x94,0xc8,0xfa,0xfb,0x1f,0x59,0x47,0x72,0xdb,0x7a,0x90,0xa9,0xe7,0xda,0x15,0x89,0x6e,0x82,0xf7,0x05,0x69,0x39,0x0d,},"\xe6\x59\xe5\x1d\x7b\x19\x3c\x4b\x8e\x2b\x3e\xd7\x3a\x9d\x75\x57\xed\x2b\xab\x61\x53\x88\x3a\xb7\x23\x59\x2f\x73\x0a\x91\x45\x67\x14\x2b\x3f\xa4\x35\xdb\x32\x19\xf8\x3a\x54\x2d\xc7\xa4\xbd\x80\x5a\xf6\x66\xea\x86\x5b\x85\x31\x46\xf8\xe3\xa9\xfe\x87\x07\x11\xf9\x0d\x12\xb0\x69\x34\x92\xaf\x2a\x1e\xdf\x99\xa1\x64\x58\xf7\x81\xf1\x26\x6e\xc4\x37\xa5\x29\x6a\x82\x2c\xa9\xd6\x9c\xe8\x44\xb5\xc5\x90\x97\xa2\xa5\x6f\x3e\xb8\xfd\x27\x3a\x63\x61\x16\xdb\x77\x43\x00\x92\x2d\x45\xb7\x44\x65\x7a\x69\x2f\x5e\x8b\xfb\xcb\x06\xd2\x42\x28\x18\xae\xb5\x1e\x7c\xda\x68\xac\xfb\xed\xa1\x6e\x7c\x79\x58\x0d\xcc\xcd\xe2\x4e\x8e\x3d\x60\x1b\x16\xe0\x63\xb4\x3a\x6d\x0d\x14\x07\x55\x2f\x75\x04\xf5\xbe\x19\x88\x2e\x4f\xfe\x32\x34\x4f\x5f\x47\x3e\x73\xa8\xf6\xed\x37\xb0\xd8\xd9\xe5\xe0\xa0\xdc\x98\x28\x39\x5b\xcb\xd8\xf3\xa4\xe3\x12\x48\x69\x24\x9d\x05\x8b\xe0\xe0\x45\xde\x0b\x1e\x12\xb1\xc8\x3b\xa0\xaa\x22\x7c\x95\xb8\x2b\xf7\x42\xc3\xea\xc0\x15\x2b\x33\xe6\xd1\x9b\xe8\xb3\x3a\x35\xbf\x70\x5d\xaa\xb1\x06\x22\xa9\x0a\xed\x02\x2e\xa6\xe4\x39\xed\x50\xa9\x30\x84\x37\x92\x99\x24\xba\x3a\xb1\x11\xad\x0c\xaa\x6f\xeb\x0a\x6e\xb1\x65\x82\x4e\xbd\xb0\x86\x65\x71\xef\xc0\x7e\x52\x22\xed\x86\x86\xb1\x4d\x92\x70\xbf\x76\xb9\x45\xd5\x20\x14"}, -{{0x97,0x32,0x05,0x9d,0x7b,0xf0,0x20,0x0f,0x5f,0x30,0x41,0x24,0x30,0x33,0x6b,0xe4,0xef,0x1e,0x3c,0xae,0x62,0x93,0x8a,0xd0,0x87,0x29,0xce,0x3b,0xa7,0x14,0xcf,0xd4,},{0x0d,0xe8,0x42,0x5f,0x5e,0x30,0xb2,0xb8,0xae,0xbb,0x80,0x72,0x00,0x9a,0x30,0xcf,0x04,0x11,0xc3,0xc8,0x23,0x8f,0x4e,0x42,0x08,0x76,0x0c,0x56,0xc3,0x3e,0x43,0x4f,},{0xfb,0xa1,0x74,0x9b,0x64,0x1d,0xd4,0xdf,0x34,0x66,0x4b,0xc4,0x3c,0x00,0x46,0x8c,0x7d,0x75,0xe8,0x4a,0xfa,0xd7,0x2d,0xe4,0x73,0xfd,0x1e,0x9c,0x87,0xda,0x15,0xea,0x60,0x4f,0xc2,0x54,0x9a,0x1a,0x86,0x7f,0xa8,0x08,0x50,0xe9,0xc2,0xa5,0x9c,0xd9,0x90,0x53,0x88,0x67,0x60,0xa8,0xd9,0x76,0x4b,0x84,0xdd,0x67,0x26,0x76,0x72,0x0d,},"\x1a\x13\xe7\xab\x60\x3b\x48\xeb\x89\x6f\xe1\x71\x73\xfb\x31\x95\x0b\x0d\xcd\x5a\x35\xff\xdb\xe1\x37\x1c\x7a\x5b\xfb\xa5\x93\x31\x75\x89\xd9\x65\x2d\x88\x79\x77\x29\x18\x0b\x8d\x0e\x51\x5a\xbf\xe6\x54\x8f\x16\x04\x21\xe5\x37\xd5\xc9\x4a\xef\x2b\x34\xc7\xeb\xb0\x97\x42\x00\x03\xbc\x0f\x36\x1b\x42\x3e\x7e\x14\x63\x0a\x80\x3c\x11\x82\x02\x54\x00\x49\xf6\x8c\x9c\xf4\x6f\xae\x03\x68\xd1\x62\xe4\x00\xd7\x7b\xb4\x52\x3c\xf6\xc7\x53\xb9\x75\xc2\x45\xbc\x99\xed\x2f\x41\x3a\x9d\x06\xc2\xda\x6c\xe0\xcc\x09\x87\xb6\x40\x6b\x80\x9e\x8e\xb3\x19\x03\x3d\x2d\xe9\x13\x1d\xee\x3b\x1b\x7b\x5c\x95\xd6\x53\xce\xd8\xfc\xcf\x99\x8d\xa1\x76\x85\x11\xec\xa4\xd3\xc5\xf7\x35\xad\xab\x96\x50\x3b\x35\x51\x80\x3e\x49\x22\x63\x50\x95\xef\x81\x1b\xe4\xc0\x8a\x6c\xba\xc9\x17\xcb\xe6\xcd\x91\xa4\xae\x5a\x33\x0c\xce\xc0\xe8\xe8\x15\x37\x12\x17\xa3\xde\x62\xf2\xd2\xd6\x14\x66\x21\x98\x33\xf3\x34\x47\x13\x2f\x4d\x43\x35\x0c\x58\xcb\xaf\x42\x24\x75\xed\xb1\x28\xc5\x6d\x80\xa4\x95\x72\x6b\x1f\xdb\xc5\x65\x51\xeb\x72\xd0\xf4\xfe\xc2\x6b\xa8\xbf\xf5\xee\xd6\x77\x4b\x85\x03\x9a\x52\x92\x83\x4b\x5d\x1c\xc1\xb0\x9b\xa0\xa3\x95\x4d\x29\x32\x36\x73\xf5\xe7\x12\x76\xa1\x2a\xc4\xc5\x79\x35\x5b\xf1\xec\xca\x48\xe6\xa7\x16\xb9\xfc\xec\xdc\x56\x5c\x51\xb9"}, -{{0x9c,0x7f,0x6f,0x37,0x9e,0x38,0x57,0x00,0x7e,0x2a,0xc6,0x32,0x4c,0xbb,0xce,0xd5,0x7a,0xc9,0xee,0xe4,0x47,0x78,0x13,0xf8,0x3a,0x81,0xfc,0x8c,0xef,0xa9,0x64,0xd5,},{0xa5,0x4b,0xa3,0x96,0xd6,0x87,0x63,0x4d,0x3e,0xcc,0xf4,0x1c,0x57,0x82,0x49,0x4f,0x5f,0x10,0xa5,0x21,0xa1,0xe5,0xd3,0x88,0x52,0x3d,0x80,0xee,0xba,0x5b,0x0b,0x2b,},{0x65,0x68,0x5f,0x9c,0xa5,0x98,0x2e,0x15,0xa2,0x2b,0xa3,0xc8,0x3a,0x03,0x48,0x34,0x84,0x82,0xdf,0xae,0x57,0xce,0xa1,0x78,0xf0,0x78,0x0c,0x05,0x7b,0xae,0xbe,0x4a,0xf6,0x32,0xf9,0x84,0x54,0x0a,0x26,0x01,0x9a,0x7f,0xb3,0x42,0x53,0xc9,0xec,0xe7,0xff,0x30,0x8a,0xda,0x23,0x3c,0xe0,0x68,0x63,0x47,0xab,0x5b,0x21,0xce,0x57,0x0b,},"\x3f\x2d\x30\x72\xfe\x73\x83\xe5\x41\x55\x1e\xa9\xab\xdb\xae\xae\x6a\x46\x4a\xe6\xb9\xf0\xba\x78\x6a\x44\x1b\x2d\x08\xda\x5b\xca\xda\x3c\x54\x24\xdc\x69\x31\xd6\xb3\x95\x23\xe2\xde\x0a\x0c\x2e\x4e\x6b\x5b\x8c\xda\x92\x5e\x5e\xac\x93\x84\x16\xa2\xc5\x1b\xf1\x3d\x49\x53\x1d\x7e\xc7\x11\x4b\x1c\x82\xfe\xaf\x90\xf3\xf8\x75\x91\xe3\x97\xd0\x27\x02\xf8\xec\x1b\x30\xd9\x9f\x5b\xe7\xd2\x20\x3e\x4f\xe4\xdb\x2e\xa4\x7e\x7b\x45\x89\xd8\xac\x50\x62\x48\xd7\x34\x74\x66\xed\xbc\x96\xea\x32\xbf\x3a\x6e\xa7\x50\x2d\xd6\x0c\x9e\x84\x90\x27\x15\xab\x2c\x6c\xa6\x8f\x5b\x00\xe1\xd9\x09\xd8\x3a\xa6\xab\x66\x2d\x8a\xea\x87\x0e\xcd\x86\x1f\xec\x69\xf2\xee\xc0\xae\x67\x7d\x29\x95\xb0\xed\x68\x8f\xaa\x8e\xf7\x82\x44\xe0\xd1\x19\x56\x97\xb0\x71\x22\xce\xaa\x11\xf5\xa6\xea\x58\xfb\xdf\xa2\xe2\xec\x2d\xf9\xd1\x86\x93\xae\x96\xd4\x71\x27\x55\x6e\x91\xf0\x86\x49\x82\xc1\x34\x19\xb0\x4a\x63\xf2\x08\xe7\x30\xd2\x69\x51\x88\x2a\xef\xe0\x01\xbc\xa3\x40\x8b\xd9\x86\x27\x48\xc6\xcc\x87\x6c\x28\xca\xc3\xbb\x2e\xb3\x39\x58\x18\xc2\x09\x1e\x0f\xbd\x7a\x0b\x44\x68\xc6\xb0\xd0\x0c\xd0\x08\xc1\x1c\x3c\x3a\xd0\x10\x80\xa1\xf5\xa4\x0a\xe2\xe4\xb0\xc3\xa0\x71\xef\xc8\xe1\xd1\xba\x6a\xce\x6d\x4d\xf0\xff\x19\x82\x9b\x0c\x68\x0b\x3a\xeb\x75\x91\x77\xed\x34"}, -{{0xa4,0x78,0xf3,0x5a,0xbb,0x73,0x72,0x7b,0x6b,0xe6,0xee,0x5e,0x56,0xee,0xc3,0x23,0xc9,0x51,0x78,0x82,0xfd,0x69,0x19,0x36,0x0e,0xbb,0xbf,0x5d,0x5c,0xb8,0xb8,0x3a,},{0x7a,0x6e,0x26,0x6a,0x54,0xd1,0x35,0xdd,0xa0,0x00,0x9c,0xcd,0xa8,0xa9,0x4a,0x47,0x12,0xae,0x5c,0xb1,0x47,0x61,0xe8,0x43,0x6e,0x97,0xc4,0xb7,0x81,0x4d,0x8e,0x8c,},{0x9d,0x16,0xfd,0x40,0xb9,0xf8,0xdd,0x9b,0x4a,0x1a,0x8c,0x6d,0x70,0x3b,0x9f,0xcc,0xbb,0x94,0x0b,0x1e,0x0a,0xe7,0x7a,0x59,0x70,0x37,0x4a,0xf0,0xcf,0x72,0x6f,0x44,0x79,0xfd,0x30,0xd7,0xdf,0xf5,0xcf,0x53,0x49,0x4d,0x9a,0x29,0x6a,0xb6,0xb9,0xe4,0x6e,0xa6,0xc1,0x36,0xb4,0xdb,0x2c,0x71,0xc2,0x1b,0x97,0xc1,0xc8,0x25,0x4d,0x0a,},"\x01\x73\xa3\x40\x50\xb4\x37\x48\x06\x1f\xf8\xf5\xa3\xd7\xc4\x3b\x63\x60\x84\x77\x86\xe8\xbb\x75\xe5\x36\xfb\x47\xb6\x45\xb2\x14\xf2\x21\xba\x24\xd8\x3d\x28\xbc\x02\x50\x24\x66\x3e\x53\x4f\x90\xf6\xe8\x3a\x93\xd8\xbd\xde\xda\x2c\xd8\x80\x81\x55\x65\x2a\x90\x8c\x43\x7c\x2d\xb6\xf3\xed\x49\x12\xf5\x7c\xa5\xb9\x79\x28\xa7\x3b\xe9\x64\xaf\x59\xdf\x44\x39\x85\x4b\xb0\x06\xfc\x29\x5a\x87\xb7\xb7\x22\x39\xc7\xfa\xdf\xec\x40\x71\x55\x09\xd9\x85\x79\xda\xad\xfb\x8d\x52\x4b\x4c\xec\x66\x20\x70\x5e\xfd\x41\x04\xc2\x97\x14\x4a\xea\x72\x29\x74\xe1\x2c\x5e\xce\xe5\x39\x1e\xf2\xd9\x3a\xc2\xb1\x24\xe4\xac\x49\x61\x47\xc8\xb7\x03\x63\x58\x5d\x70\x78\xcc\xc5\x3e\x2a\xe5\x93\x35\x0b\xc2\x55\x48\xa0\x54\x25\x26\xab\x00\xaf\xe4\x77\xa0\xf4\xb2\x73\x97\xc7\x2b\xc7\x4a\x8a\x8a\xb1\x56\xe6\x2b\x8b\xb4\x7c\x3f\xbb\x4b\x34\x91\x3e\x45\x96\x87\x47\x6b\xf3\x31\x42\xc6\x14\x70\x21\x07\xff\xe2\xcc\x01\xe2\x5f\xa3\x02\x75\xe1\xe2\xe6\x3c\xea\x91\x68\xe4\xa4\x7c\x02\xde\x09\x7d\x4d\x85\x3b\x27\x67\x5c\x5b\xb3\x30\xb9\x4a\x97\x4e\xad\x85\xe2\xbd\xee\x8e\xe1\x7c\xbb\x56\x53\x34\x66\x58\xdf\x2f\x91\xf6\xbd\x73\x94\x91\xdd\x71\x98\x8b\x3a\x97\x6a\x3e\x2e\x7a\x9d\x13\x74\x10\xf4\xac\xba\x9f\xeb\x5f\x11\x79\x8c\x9a\x43\xb6\xad\xce\x14\x36\x5a\x7c\x6d"}, -{{0xff,0xe8,0x25,0x14,0x8c,0x09,0x59,0xb3,0xa6,0x8d,0xe8,0x6a,0xd8,0xe8,0xaf,0x7f,0xa5,0xe0,0x78,0xf3,0x63,0xdc,0x12,0x42,0x13,0xc9,0x00,0x20,0xda,0x0c,0x90,0x89,},{0x13,0x91,0x52,0xa0,0xbd,0x22,0x96,0x2d,0xd9,0x19,0xae,0x3e,0x0b,0x16,0x20,0xe0,0x3c,0x03,0x3c,0x2a,0xd0,0xa3,0x97,0x9e,0xc6,0xbc,0xd1,0x70,0x5e,0x23,0xd5,0x98,},{0xfe,0x4e,0x89,0xee,0x31,0x78,0x6c,0x0a,0x3d,0x3d,0xe3,0x64,0x9b,0xb9,0x3f,0x0b,0x8a,0xef,0x1c,0xaf,0x5a,0x83,0x2e,0xc5,0xe4,0x06,0x78,0x10,0x70,0x5a,0xdd,0xdf,0x53,0x9b,0x8f,0x4e,0x05,0xad,0x08,0xcf,0x34,0x79,0xe4,0x5b,0x42,0xc9,0x65,0x28,0xf6,0xd5,0x9a,0x46,0x25,0x70,0x3d,0xdb,0xf1,0x5b,0x63,0x09,0x39,0x65,0xd8,0x0d,},"\xf1\x25\x78\x0d\x0c\xd0\x88\x53\x0f\x0c\x87\xb7\x0b\xd4\x2e\xba\xb5\x6a\xdb\x5a\xd4\x34\x5f\x92\x9a\xe5\xde\xae\x07\xfb\x55\x32\x21\x53\xa8\xf0\x23\xd3\x88\x43\xbf\x5d\x6a\x93\xfe\x99\x3e\xee\x71\xbc\x2e\xe5\x63\xb2\x5a\x50\x91\x8f\x03\xef\xdb\x5d\xbf\x72\x69\xad\xd6\x9d\xed\x3e\x66\x95\x38\x95\x62\x0d\x9b\x6c\xf4\x6b\xa2\x34\x8f\x8d\x66\xd7\xf0\x92\x23\x5e\x37\x8c\x1e\x3e\xdf\xeb\xeb\x78\x08\x4b\xc8\xde\xa0\x13\xf9\x93\x3a\xae\x14\xa0\x41\x94\x82\x76\xd0\x1f\x1c\xb5\x83\x4b\x0e\x59\x0e\x13\xd9\x31\xd1\x92\x92\xbb\x1d\x80\x41\xff\x2f\xe2\xe1\x17\x1a\x2e\x0b\x9a\x05\x98\x21\xd0\x92\x4d\xde\x7f\x3b\x1b\xb5\x98\x13\xf5\xe3\xc6\x35\x20\xaa\xfb\x88\x01\xba\x62\xc7\x09\x7d\x4d\x8c\xf4\x37\xa5\x68\xa7\xf0\x08\x7c\x6e\xa0\xfc\xe6\xe5\x68\xc4\x88\x3f\x1c\xd1\x2c\x74\x9d\x06\xa6\xfe\xb2\x78\xf1\x08\x6a\x8b\x04\x76\x99\x21\xf7\x8a\x99\x59\x06\x2a\xb0\x6f\x98\xee\x80\xc2\xc7\x85\x4f\xfa\x76\x0f\x86\xa8\x9e\xe1\xa5\x12\x66\x05\x3d\x19\x5e\x61\xbb\x1d\xbd\x18\xdd\x89\xff\x39\x4e\x40\x8a\xce\x0f\x64\x1a\x39\x5d\x56\x11\x8e\xa7\x2b\x7d\x8a\xdf\x78\xb1\x65\x5e\xce\xce\x7e\x82\x50\xe8\xa3\xa9\x1c\xb8\xfc\xa0\xd9\xce\x0b\xaf\x89\x80\xa3\x87\xc5\xed\x43\x18\x66\x32\x80\xe5\xb4\x53\x1f\x31\x87\xc4\x7e\xae\xa7\xc3\x29\x72\x8d\xdd\x0e\x40"}, -{{0x49,0xaf,0xf4,0x21,0xa7,0xcd,0x12,0x72,0x2a,0xa8,0x4c,0x48,0xc1,0xfb,0x1c,0x5f,0x8d,0x9e,0x27,0x7d,0x0a,0x99,0xec,0xbc,0x93,0x48,0xc3,0xaa,0xa7,0x4b,0xe4,0x22,},{0x88,0xd2,0xc2,0x62,0x66,0xf4,0x93,0xbc,0x67,0x57,0x8c,0xa0,0xb1,0xf5,0x11,0x60,0xcf,0x0f,0xdb,0x6a,0x09,0xa9,0x06,0xdb,0x9f,0xaa,0x68,0x6f,0x11,0xf8,0x20,0x8d,},{0x74,0x91,0x81,0x28,0x4d,0xf0,0x5d,0xbe,0x59,0x74,0xb9,0x17,0x82,0xa1,0xa7,0x6e,0xa0,0x86,0x42,0xcb,0x0f,0x0c,0x98,0xdb,0x58,0x6c,0x57,0x5c,0x21,0x0c,0xdc,0x8b,0x65,0x1b,0xd3,0x4b,0x75,0x7a,0xe3,0x8e,0x4b,0x6b,0xe9,0x46,0x52,0x35,0xbd,0x0e,0xca,0x43,0x0e,0x26,0xc3,0xee,0xde,0x56,0x1c,0x6e,0x82,0x4d,0xfa,0x20,0x0e,0x0a,},"\x70\xa1\xac\x14\x4b\x75\xfd\xa7\x55\x86\xa7\x9c\x36\xfd\x39\xcc\xe5\xf5\xca\xe2\xe6\x37\x58\x52\xd3\xb6\x2a\x96\x30\x33\x6a\x29\x3e\xa6\xd2\xac\x6e\x5b\x57\xda\x21\xef\x36\x4a\x59\x5b\xb0\x75\x0f\x5b\xf4\xd2\xb3\x20\x67\x64\x23\x87\x0e\x4b\x8e\x08\x69\x60\x1f\x16\x68\x06\x19\x04\x8c\x4e\xde\x27\x6d\xa6\x9f\x20\x5a\x70\x17\x6e\x25\xea\x04\xbd\x08\x97\x63\xe7\x09\xba\x34\x3f\xc8\x83\x1e\x52\x04\x4e\xab\xf9\x44\x1e\x69\x97\xf8\xba\x1a\xeb\x9e\xf0\xf4\x91\x17\x06\x67\xa7\xf5\xfc\x96\x27\xcb\xd0\x55\x1b\x76\xbe\x27\x28\x3a\x4b\x0c\x5f\x66\x78\x46\x68\x82\x26\xa1\x15\xee\x80\x20\xdf\x08\x04\x2b\x19\xb5\x9f\xe5\x51\x31\x6a\x6c\xb6\x91\x68\x60\xb9\xec\xd7\x41\x54\xb4\x05\x10\x38\xa1\x73\x52\x37\x2e\xc1\x4d\x3c\x95\x7d\x2e\xf5\x0f\xf7\x86\x18\x9a\x8a\xeb\x9c\x08\xf4\x5e\xeb\x5e\xb8\xb0\x40\x33\x99\x74\xaa\x97\x98\xc4\x25\xd7\xbe\xcb\x22\x8c\x44\x7a\x6d\x0b\x3c\xef\x27\x18\x93\xe0\xf7\x07\x6e\x22\x3a\x7e\x87\xc6\xa3\xd2\x70\xa0\x33\xbc\x97\xa4\x56\x5e\xdc\xe0\xaa\x91\xff\xc3\xf7\x80\x17\x75\xa6\xf2\x9b\x23\x02\x45\xbd\x71\xfa\x03\x43\x53\xde\x37\x23\x95\xd1\xbf\xcb\xde\xbb\xa0\x81\x33\x0f\x7c\x07\x6b\xe9\x9c\x2c\xf4\x86\x7f\x15\xb7\x8d\x52\xf4\x6f\xc7\x39\x1c\x9c\xb9\x5e\x5d\x64\x64\x3b\xaf\xfe\x72\xa8\xe3\xa6\x50\x66\x7f\xbb\x3e"}, -{{0x70,0x3a,0x6e,0x2b,0x62,0xd0,0x09,0x0c,0x61,0xd8,0x65,0x9b,0x6a,0x96,0x3e,0x03,0xc9,0xd6,0x2c,0x1b,0x38,0xf7,0xd7,0x0e,0x5f,0x9f,0xf0,0x55,0x90,0xcd,0x03,0x60,},{0x37,0x0c,0x21,0xde,0x6e,0xf2,0xfa,0xb5,0x34,0xad,0xa9,0x99,0x86,0x9c,0x90,0xbc,0x9b,0x92,0xcc,0xbf,0x24,0x9b,0x79,0xd3,0x9d,0x95,0x44,0x1d,0x1e,0xde,0x21,0x0a,},{0xe5,0xfd,0x64,0xda,0x02,0x88,0x00,0xc6,0xce,0xed,0x06,0x8a,0x5e,0x59,0x6f,0x16,0x21,0xc7,0x0a,0x8c,0xb1,0x38,0xb3,0x1b,0x32,0x64,0x7e,0xb4,0xb0,0x7b,0xd2,0xec,0xc5,0x94,0x2c,0x18,0x84,0x4f,0x36,0x70,0x33,0xf6,0x73,0x98,0xe3,0x14,0xba,0x2c,0x7c,0xcf,0x29,0x9c,0x06,0x97,0x87,0x77,0x70,0x25,0xd8,0x45,0xf2,0xaa,0xd6,0x0e,},"\xd4\x2a\x17\x56\xe8\x4d\xf4\xb4\xe9\x77\x3f\x86\xf7\x67\x4a\x2c\xd7\x8e\x71\xe4\x0a\xa8\xf6\x44\xe6\x70\x2d\xfb\xc2\xc2\xc5\xca\x90\xfc\x24\x2e\x9c\xb0\x09\x9c\xc8\xf2\xc2\xd3\x13\x6b\xaa\xfc\x0f\xf6\x95\x48\x2f\xda\xcd\xef\x9f\x56\x56\x10\xb6\xe1\x90\x07\x22\xf4\x35\xc6\x38\x5b\x35\xe9\xf6\xc4\x36\xca\x03\x7e\x03\xf6\x4e\x22\x33\xdf\xfa\x58\xdb\x3b\x91\xcc\x1d\xaa\x0b\xb0\xc5\x4c\x8a\x43\xe4\x69\xd2\xcf\xf7\xfa\x2b\xf8\xf5\xd1\xd8\x77\x93\x10\x89\xc8\x2e\xd8\x9a\xba\x42\xf2\xee\x2b\x86\xe4\x45\xcf\xd0\x9f\x4c\xd7\x8b\x35\x19\x1b\xf4\x67\xe7\x84\xee\xf7\x5d\xc9\x87\xe0\x46\xd3\x7d\x4d\x4e\x8e\x9b\xbe\x14\xaf\x80\xd0\x3a\x1f\x40\x89\x83\x84\xb9\xd3\x27\x9f\xac\x9c\x57\xfd\x9c\x7e\xec\xbe\x19\xa5\xac\xc1\x50\x33\xb8\x4e\x07\xfd\x0e\x40\x9b\xdb\xd5\xa5\x7f\x65\x64\x11\x83\xa6\xc0\xa8\xec\x42\x6d\x1f\x1d\x22\x31\x66\xff\x0a\x19\x00\xb2\xe9\x2b\x7d\x85\x83\x5d\x01\x9d\x17\x77\x5e\x50\x93\xcc\xd1\x26\xf9\x0f\x63\xcb\x7d\x15\xcb\xeb\x53\x13\x24\x21\x9c\xd6\x4d\xed\x67\x14\xb2\x1a\x65\x37\x1a\xf0\x72\x10\xdf\xdf\x0e\x4e\x58\xdd\xc7\xd5\x9f\x4c\xfa\x65\xc4\x21\xd8\x14\xee\x2c\x9b\xf6\xdb\xf6\x48\x73\xd5\x79\xb0\x9e\xe5\xdc\xed\xd7\x33\x06\x3e\x03\x9a\xc9\xa5\xf9\xca\x4c\x25\x25\xa4\xcc\x8e\x98\x4d\xa7\x18\x5e\x2d\x64\xfa\xd8\x1c\x8a"}, -{{0x76,0x84,0x9c,0x18,0x8e,0x3e,0xdd,0x0f,0xf5,0xf8,0xfb,0x87,0x4d,0xc0,0x45,0x66,0x45,0x51,0x84,0x45,0xe4,0x1a,0x7d,0x68,0x33,0xe6,0x16,0xc3,0xc4,0x8c,0x98,0x68,},{0xd6,0x70,0xe2,0xea,0x07,0xdb,0x60,0xc2,0x2a,0xb7,0x9a,0x93,0xeb,0xf4,0x9d,0x22,0xa6,0x24,0x5e,0xe3,0xaf,0x07,0xb3,0xbe,0x58,0x4e,0xda,0x69,0x4c,0x37,0x72,0x9e,},{0x71,0x41,0x39,0x9d,0x51,0xda,0xa6,0xeb,0x45,0x19,0xbf,0x3f,0x01,0xb2,0x33,0x92,0x0f,0xa9,0x08,0xfe,0xfa,0x61,0x2f,0x0c,0xd7,0xd5,0xaf,0x8a,0x9a,0x3c,0x44,0x19,0x0e,0x3f,0x63,0x84,0xa8,0xd1,0x4d,0x37,0xc9,0x70,0x30,0xef,0x50,0x18,0xcf,0x8a,0xee,0x8a,0xeb,0x15,0x69,0xa7,0x3d,0x84,0x86,0x2a,0x59,0xb7,0xdf,0x72,0xfe,0x09,},"\x1e\xcc\xb0\xbc\x8e\xca\x3a\xb5\xbe\xe6\x8c\x5f\x8c\xaa\x34\x53\x67\x66\xc7\x05\xf5\x08\x27\xdb\x7a\xc3\x75\xd4\xfe\x30\xb5\x8f\xfb\x7e\x2f\xe4\x90\xcc\x71\xa8\xff\x86\xc0\x06\xd6\x17\x4d\x05\x79\x3a\xb8\xa5\x5d\xd5\x1b\x06\xde\x41\x7b\xc0\xac\x45\x2c\xdc\x7c\xfb\x0b\xb0\x03\x62\xb6\x76\x5d\x20\xdb\x23\xeb\x18\x48\x02\x70\x64\xa1\xd9\x09\x1d\x3b\x10\xed\x77\x6f\x28\xb7\x67\x68\xbd\xfc\x08\xf0\xbc\x51\x1f\x76\xfa\xeb\xa7\x6c\xfc\x4c\xb5\xc8\x3d\xc9\xeb\xe8\xa8\xd7\x9e\xdc\xa9\x23\xec\xcd\x52\x40\x09\xca\xfe\xdc\x90\xe3\xad\x87\xd1\x39\x2e\x1f\xcc\xf4\xe6\x0c\xca\xb9\x5d\xc0\xab\x54\xbf\x44\x24\x5a\x00\x7a\x96\xd4\x66\x34\xb1\xb2\x96\x5b\x82\x9c\x3d\x7d\xaa\x76\x59\x72\xb5\x4a\x7b\x36\x5b\x6f\x34\xd7\x7d\x71\x76\xac\xd8\xd8\x94\xf6\xb4\x17\x09\x1b\x6c\x00\xed\xb7\xa4\xe8\x13\x79\x98\x8b\xfc\xec\xb6\x92\xe9\xc3\xc4\x31\x0a\x7e\x24\x0e\x5c\x10\x63\xcd\xe1\x13\xf2\x2a\x68\x4a\x50\xa1\x12\xff\x47\xd3\x89\x88\x12\xef\xb9\x26\x37\x07\x2b\x86\x16\x3a\xd8\x93\x16\xd2\x21\x19\x5a\xcb\xfa\xd0\xa0\x3a\x1f\xbc\x2d\x96\x7f\xe8\x3f\x84\xc8\x45\x9f\xcc\xd4\x90\xb9\xc5\xb3\xe5\x5d\x27\xe9\x48\x4e\x94\x3c\x41\x7f\x21\x28\xd7\x37\x01\xda\x28\xf4\x9f\xd3\x68\x3f\x33\xa3\x9c\xde\xe2\x34\xbd\x30\x5b\x94\x91\xe2\xf3\xeb\x62\x1b\xe3\xdd\x1d\xbb\xb3\x1b"}, -{{0x83,0xae,0x48,0xad,0x70,0xda,0x0b,0xb3,0xcd,0xf8,0x74,0x81,0xee,0x2c,0x0c,0x85,0x71,0xc2,0xca,0x98,0x67,0x12,0xf8,0xbc,0x23,0x29,0xe9,0xa3,0xe3,0x33,0x83,0xc5,},{0xb7,0x85,0x30,0x90,0x00,0xdf,0x95,0xf5,0xa0,0x4f,0x7d,0x89,0xc4,0x11,0x33,0x01,0x05,0x7a,0xda,0xee,0xb2,0x9b,0xcd,0x28,0xd9,0x93,0x71,0xb5,0x37,0xbb,0xa2,0xf6,},{0x43,0x33,0x23,0x51,0xd3,0xfb,0x7b,0x45,0xfc,0xf3,0x7c,0x60,0x7d,0x44,0x2e,0xa8,0x0d,0xbd,0xa2,0xcb,0x69,0xc2,0x88,0x4f,0x42,0x4e,0x65,0xea,0x3a,0x33,0x1e,0xd8,0x47,0x2d,0x43,0x68,0x40,0x5c,0xb7,0x36,0xb2,0xd6,0x68,0x5a,0xd7,0x82,0xe2,0x39,0xfe,0x83,0x3e,0xd7,0x89,0xa2,0x92,0x31,0x85,0x16,0x6f,0x60,0x83,0x42,0xee,0x05,},"\xb7\x52\x1d\x3f\x71\xc6\x79\xfa\x70\x37\xfe\x74\x88\xa6\x41\xf6\xb9\x7c\x49\x45\x4a\xcc\x8e\x36\xb9\x03\xd8\xf9\xeb\xb5\x4d\x89\xcb\x56\xef\xd1\x9e\x04\xba\x6a\x7c\x8f\x48\xa7\xd3\xec\x9d\xec\xd3\xf1\xcd\x0f\xaf\x6e\x97\x81\x18\xe6\xad\xce\x9c\x6c\x6b\xe6\x3c\x6a\x6a\x1a\xe2\x16\x51\x82\x84\x79\xa4\x6b\xc9\xa0\xf7\x94\x30\x40\xf9\x40\xa0\xd4\x70\xc8\xe5\x77\xc5\xd5\x75\xcb\x53\xc1\xbf\x3a\xb1\xfe\xb0\x50\xdc\xb6\xfe\xf0\xba\x44\x47\xf2\x99\xfd\xb9\xf2\x7e\xcb\x07\x14\xec\xfe\xfd\x74\xba\xd7\xb1\x22\xa4\x62\xc2\x4a\x20\x98\x48\xa0\x33\x89\x07\x45\x78\xc5\xbd\xc3\x63\x96\xd8\x09\xb0\xf1\x40\x18\xda\x64\x91\x7e\x6b\xf8\x7e\xf4\x05\xc8\xf3\xe3\x33\xff\x9c\x3b\xaf\x63\x39\x66\x76\x20\x79\x4b\xb4\x74\x3f\x05\x14\xb5\xde\x7d\x7f\xdd\x94\x7a\x7e\x35\x01\xee\x88\xef\xad\x15\x9e\x33\xa1\x07\x2f\xbb\x99\xc7\xc7\x1e\x9d\x13\xa5\x02\xd5\xa0\x7c\x4f\x81\x7e\xeb\x7f\x0c\x53\x19\xaa\x41\xa9\x6d\x5f\xf4\xf1\x5a\x73\xc2\x9b\x57\x1f\xe2\x11\x09\x0e\x17\x2c\x8d\xb5\x18\x62\x46\x12\xa5\xc3\x71\xa9\xd7\xce\xf6\xde\x35\xeb\xef\x96\xe8\x8e\x1a\x78\xaf\x3b\xd5\xdd\x35\x25\x1a\xb5\x4d\x73\x71\x8f\x3e\x70\xd2\xd5\x90\x21\x53\x1d\xc7\x31\x84\xf0\xfc\x69\xc2\xe9\x29\x65\x84\x4e\xc2\x7c\x1c\x02\xaf\x5e\x9a\x34\x69\xde\x35\x5d\xb2\x25\x6e\x0e\xc2\xa4\xeb\xa3\x0a"}, -{{0x39,0xe5,0x6a,0x65,0x62,0x3a,0x0a,0xeb,0xad,0xe0,0xda,0x12,0xce,0x1d,0xf3,0x78,0xbc,0x92,0x40,0x73,0xf7,0x3a,0x54,0x9e,0xff,0xae,0xbc,0x46,0x5d,0x1a,0x78,0xe2,},{0x83,0xda,0x8a,0xd5,0x0b,0xad,0x09,0xeb,0x3e,0x94,0xc7,0x25,0xdf,0x3c,0xc3,0xa1,0x19,0x73,0x6a,0xdc,0x85,0x9c,0xa1,0xa1,0x05,0x03,0xf4,0x8f,0xf2,0xfe,0xc5,0x96,},{0x39,0x8e,0x82,0x60,0x01,0x1f,0x57,0xd8,0xac,0x8c,0x58,0xd5,0x45,0x7b,0xc6,0x52,0xc7,0x41,0x4a,0xaf,0x6f,0xb2,0xf4,0x26,0xb7,0x89,0x90,0x56,0x60,0x5c,0x0a,0xfc,0x28,0x39,0x24,0x23,0xb2,0xb5,0x71,0xf5,0xe6,0xc3,0xc7,0xf6,0xd6,0x02,0x45,0xe5,0x3e,0xbd,0x03,0xbd,0xc5,0xad,0x3c,0x1a,0xd8,0x73,0x8c,0xb3,0x22,0x14,0xd0,0x0f,},"\xa9\x6d\xc2\xea\x3f\xa1\x35\x14\x92\xa4\x61\x9d\x91\x94\x68\x1f\x8e\xc4\x00\xa9\x71\x58\x24\x44\x82\x65\x38\x38\xcc\xb7\xe1\x56\xa8\x2d\x56\x43\x68\xf8\x3a\x6e\xe1\xbe\x46\xbc\x34\xb8\x17\x20\x0e\x84\x64\xc3\xd1\x2b\x5e\xf2\xc5\x0b\x19\x56\x5b\x88\x1c\x4c\x3d\x45\x63\xfb\x94\x7e\xb4\x7c\x3e\xe9\xc1\xee\x78\x53\x26\x98\x74\x45\x5b\xfa\xcb\xa3\x05\xf3\x07\xd1\xac\x53\x09\xee\xae\x5c\x07\xfa\x5c\x4d\x42\x8e\xdb\xc8\xb9\x52\x8c\x44\x15\x24\x3a\x9e\xf5\x80\xaf\xf8\xfc\xfb\x12\x00\x0a\x71\xfc\xee\xe8\x9d\xe9\x7f\x90\x27\x95\x29\xbc\xc8\x22\xed\x3c\xb3\x4c\x82\xba\x5f\xec\x15\xf4\x94\x56\x63\x63\x6d\x67\xb5\xfe\xce\xac\xc3\x1d\x25\xf9\x8a\xea\x07\xf7\x80\x0d\x5a\x10\x34\x25\x1c\xb9\x1d\xd0\x96\x3e\xc2\xc1\xa5\x47\x73\xa4\xd9\x6c\x18\x35\x7f\x8d\x10\x1d\xe5\x8e\x93\x2f\x8c\x6c\xdd\xe8\xe3\xcf\xce\xf5\xa7\x44\x3f\xdb\xa7\xb7\x83\x20\x40\x3c\x01\x96\x84\x47\x24\xa6\x12\x18\x3e\x34\xbd\xd8\x08\xce\x7b\x95\x88\x61\xca\x37\x11\x57\x30\xea\xed\xe1\xfd\x0b\xaa\xbe\x97\x6e\xfe\xfd\x03\x65\xfd\xf9\x26\x77\x6c\x53\x6f\x47\xff\x80\xde\x5c\x18\x29\x1b\xb7\xe9\xf1\xb9\x13\xff\xd1\xd9\x44\x68\xb7\x89\x75\x2f\xae\x6c\xa8\x97\xc0\xcc\xa5\x3e\xf1\xe7\x31\xd0\x0c\x8b\xdb\xe8\x92\x9e\xa6\xb1\xdc\xe1\xf3\x1a\x20\x68\x8d\x37\xb0\xf3\xa2\xb4\x15\x3b\x30\x6b\xdb\xa1"}, -{{0x4b,0x99,0x21,0x85,0x2f,0x40,0x9a,0x32,0x3a,0xe3,0x81,0x75,0xe8,0xd7,0x6a,0x21,0x1f,0xc4,0xd9,0xc6,0x54,0x17,0x8e,0xea,0x3b,0xaa,0x7a,0x76,0x7a,0x6f,0xda,0x06,},{0x4c,0x72,0x3e,0x43,0x6b,0x6b,0xd9,0x7f,0x44,0xaf,0x52,0x50,0x3b,0x21,0xcc,0x50,0xd5,0xf6,0xad,0x6c,0xfc,0x82,0x88,0x34,0x5d,0xde,0x80,0x54,0xe9,0x95,0x58,0x2e,},{0xcb,0xf1,0xf1,0x64,0x2d,0xf9,0x50,0xeb,0x71,0xfd,0x09,0x59,0x0d,0x34,0xc2,0x65,0x92,0x2c,0x58,0xbd,0x80,0x26,0xbb,0xa3,0xfc,0x0e,0x59,0x4a,0x6b,0xb1,0xf2,0xb9,0x0d,0xa3,0xdc,0x1d,0x5f,0x6b,0x6d,0x5b,0x40,0x5a,0x89,0x6d,0x1d,0xbb,0x71,0xb8,0x68,0x5c,0x4d,0xfc,0x44,0x4a,0xca,0xff,0xe6,0x5a,0xb8,0x33,0x17,0x89,0xf5,0x07,},"\x3f\x33\xd8\xfb\x83\xe6\x87\x41\x09\x0a\x37\xbe\xdd\x74\x5c\xf1\x41\xaa\xae\xd8\xc9\x2f\xfa\x74\x2a\x52\x56\x17\x77\x88\x58\x05\xac\xe1\x42\x46\xab\x98\xa8\xcb\x59\x8c\x9c\xe3\xde\x9b\x29\xba\xe5\xfa\x04\xb1\xcf\x82\x8d\xe1\x1a\xff\x80\xa7\xef\x8a\x3a\x38\xae\xde\x4f\x3c\x35\x63\xa2\x5d\x04\x9b\xad\xca\xd5\xed\x7e\x47\xfd\xbb\xa6\xe1\x11\x30\x7e\xeb\xe9\xef\x49\x06\xbc\x98\x97\x28\xb7\x6e\x84\xaf\xe8\x08\xe6\x65\x3b\x27\x1e\x21\x10\x4a\xa6\x65\xf1\x89\x8d\xd2\xaa\xb2\x30\x90\xe2\x2b\x4e\x34\x4a\x26\x16\xfb\xd8\xee\x4a\xd8\xed\x81\x08\x39\x5e\xba\x81\x7f\xbd\x14\xfe\xc5\xc1\x7d\xcf\x56\xb8\x22\x08\x56\xb2\xb8\x33\xe0\x91\x40\x7d\x50\x89\xb3\x5d\xdf\x34\xb8\x6f\xf7\xdc\x9f\xde\x52\xb2\x1e\xf1\x21\x76\xef\x33\x70\xb7\xf3\xa0\xa8\xcb\x1b\x05\x8a\x51\xae\xff\xf3\xd2\x79\xd8\x0f\x51\xa6\x8b\xfb\x59\x25\x87\xb4\x5c\x5c\x63\xa7\xe4\xd6\x25\xb8\x87\xde\x48\x6a\x11\x83\x16\xc3\xb6\xa2\x38\x57\x5f\x92\xac\x5b\x1c\x94\xc3\xf5\xdb\xbd\x96\x68\x60\x00\xd6\xd3\x9c\xcc\xd5\x58\xd4\x20\xe4\xd4\x47\xa8\xcb\xc4\xbc\x7b\x8c\x6a\x03\xaf\x0f\x00\x34\xfb\x35\x18\xd9\x38\x00\xf0\xf7\x13\xe4\xb1\x37\x32\xe1\x6a\xda\x51\x80\x1d\x7e\x55\x9c\xf8\x39\xd1\x05\x8f\x64\x95\x56\x98\x31\x13\x99\x34\x54\x16\x85\x0d\xdd\xcc\x56\x01\xa6\x84\xfd\x09\xe6\xaf\xd3\x94\x4f\x5e\x19"}, -{{0x1b,0xff,0x65,0x2a,0x2c,0x83,0x09,0xa3,0x93,0xac,0x11,0xda,0x3a,0xa9,0x7f,0xb0,0x78,0xbb,0x28,0x4e,0xd5,0xe1,0xb8,0xcc,0xc9,0x83,0x65,0x2e,0xf8,0x55,0x6c,0xd0,},{0xaa,0xab,0xdc,0x09,0x1f,0xc3,0x68,0x23,0x54,0x20,0x17,0x44,0xe9,0xb7,0x3f,0xd2,0xa6,0xcf,0xb2,0x81,0x91,0x4b,0xf2,0xc7,0x0e,0xc3,0xdc,0x1d,0xec,0x72,0x16,0xb0,},{0x93,0xc9,0xc3,0x34,0x93,0xfc,0x64,0x17,0x2d,0x51,0xe1,0x6a,0x0a,0x1c,0xd7,0x29,0xa0,0xd9,0x9e,0x3c,0xb8,0x64,0xe8,0x9a,0x42,0x98,0x7f,0x39,0xdd,0x8c,0xd2,0x65,0x45,0xfd,0xfe,0x37,0x58,0x19,0x11,0xe8,0x03,0x67,0x7d,0xa4,0xc5,0x5b,0x0a,0x68,0x3d,0xdf,0x62,0xb7,0x28,0xf8,0xf3,0x06,0x85,0xae,0x58,0xf6,0x28,0xeb,0xe6,0x09,},"\x48\xd0\x26\x98\xa9\x7b\xdc\xb3\xef\x07\x8d\xcf\xcf\x57\x50\x00\x5f\x17\x02\xd3\x00\xe7\xe8\x9b\xc4\x36\xe3\x81\x11\x34\x01\xf8\x52\xb8\xb4\xac\xff\x60\xff\xbd\x4a\xb4\x6d\x20\x21\x68\xd9\x8b\x87\x35\xe7\x9c\xb3\x50\xe3\x5b\x07\x0f\xf6\xbd\xca\xfd\x95\x4b\x55\x19\x69\xb6\xb1\xa7\x0c\x91\x31\xeb\xd4\x0d\x96\x14\x02\x91\xd8\xd2\xb0\x91\x54\x0a\x8b\x18\xd8\xe5\x46\x59\x15\xc2\x5d\xbc\x6b\x5c\x9a\x68\x79\x42\x53\x3c\x37\x2c\x8b\x4e\x95\xa9\x53\x67\x71\x69\xb9\x50\xed\xd3\x46\x43\x75\xcd\x43\x13\x2f\xf9\xbd\x54\x1e\xe2\x2b\xd4\x18\xce\x23\x19\x5f\x65\xd8\xb2\x89\xf6\x33\xec\x8d\x71\xe1\xa8\x01\xb0\x6c\x3c\x82\x7f\x62\x7e\x72\x3d\x21\x99\x10\x0c\xe7\x3e\x8e\x4a\x44\x40\xe7\x78\x31\x7a\x47\x49\x10\x79\x3b\x47\xb1\x0f\xfb\x55\xdb\x7f\x28\x1c\x7d\x7a\x03\x3b\xd8\x00\x48\xb8\x26\x73\xb8\x7c\xf9\x5e\x99\x42\x2b\xa6\x28\x68\x8f\x3c\x97\x18\x90\xca\x15\xd1\x2f\x57\x2f\xa1\x97\x7a\x17\x30\x70\x69\xda\x30\x4e\xad\x30\x26\xeb\x01\x04\x26\x68\x89\x0d\x17\x00\x8c\xd1\xe9\x2c\x46\xcb\xe9\xc8\x57\xe7\x19\x3d\xe3\xab\xa3\x91\x1e\x4f\x86\xfe\x0a\x16\x98\xab\x7c\xdb\x92\x51\xa8\x42\x4b\x28\x48\xb9\x6a\xd8\x1e\xa2\x39\xd3\x65\xfd\xea\x92\xea\x5c\x04\x73\xd0\xa6\xbb\x1e\x37\x13\x56\xbd\xfa\xd2\xd0\x35\x03\x36\xd3\xe1\x94\x7c\x93\x6f\xd0\xc2\x51\x95\x44\x50\x11\x73\x1b"}, -{{0x00,0x2f,0xdd,0x1f,0x76,0x41,0x79,0x3a,0xb0,0x64,0xbb,0x7a,0xa8,0x48,0xf7,0x62,0xe7,0xec,0x6e,0x33,0x2f,0xfc,0x26,0xee,0xac,0xda,0x14,0x1a,0xe3,0x3b,0x17,0x83,},{0x77,0xd1,0xd8,0xeb,0xac,0xd1,0x3f,0x4e,0x2f,0x8a,0x40,0xe2,0x8c,0x4a,0x63,0xbc,0x9c,0xe3,0xbf,0xb6,0x97,0x16,0x33,0x4b,0xcb,0x28,0xa3,0x3e,0xb1,0x34,0x08,0x6c,},{0x0d,0xf3,0xaa,0x0d,0x09,0x99,0xad,0x3d,0xc5,0x80,0x37,0x8f,0x52,0xd1,0x52,0x70,0x0d,0x5b,0x3b,0x05,0x7f,0x56,0xa6,0x6f,0x92,0x11,0x2e,0x44,0x1e,0x1c,0xb9,0x12,0x3c,0x66,0xf1,0x87,0x12,0xc8,0x7e,0xfe,0x22,0xd2,0x57,0x37,0x77,0x29,0x62,0x41,0x21,0x69,0x04,0xd7,0xcd,0xd7,0xd5,0xea,0x43,0x39,0x28,0xbd,0x28,0x72,0xfa,0x0c,},"\x5a\xc1\xdf\xc3\x24\xf4\x3e\x6c\xb7\x9a\x87\xab\x04\x70\xfa\x85\x7b\x51\xfb\x94\x49\x82\xe1\x90\x74\xca\x44\xb1\xe4\x00\x82\xc1\xd0\x7b\x92\xef\xa7\xea\x55\xad\x42\xb7\xc0\x27\xe0\xb9\xe3\x37\x56\xd9\x5a\x2c\x17\x96\xa7\xc2\x06\x68\x11\xdc\x41\x85\x83\x77\xd4\xb8\x35\xc1\x68\x8d\x63\x88\x84\xcd\x2a\xd8\x97\x0b\x74\xc1\xa5\x4a\xad\xd2\x70\x64\x16\x39\x28\xa7\x79\x88\xb2\x44\x03\xaa\x85\xaf\x82\xce\xab\x6b\x72\x8e\x55\x47\x61\xaf\x71\x75\xae\xb9\x92\x15\xb7\x42\x1e\x44\x74\xc0\x4d\x21\x3e\x01\xff\x03\xe3\x52\x9b\x11\x07\x7c\xdf\x28\x96\x4b\x8c\x49\xc5\x64\x9e\x3a\x46\xfa\x0a\x09\xdc\xd5\x9d\xca\xd5\x8b\x9b\x92\x2a\x83\x21\x0a\xcd\x5e\x65\x06\x55\x31\x40\x02\x34\xf5\xe4\x0c\xdd\xcf\x98\x04\x96\x8e\x3e\x9a\xc6\xf5\xc4\x4a\xf6\x50\x01\xe1\x58\x06\x7f\xc3\xa6\x60\x50\x2d\x13\xfa\x88\x74\xfa\x93\x33\x21\x38\xd9\x60\x6b\xc4\x1b\x4c\xee\x7e\xdc\x39\xd7\x53\xda\xe1\x2a\x87\x39\x41\xbb\x35\x7f\x7e\x92\xa4\x49\x88\x47\xd6\x60\x54\x56\xcb\x8c\x0b\x42\x5a\x47\xd7\xd3\xca\x37\xe5\x4e\x90\x3a\x41\xe6\x45\x0a\x35\xeb\xe5\x23\x7c\x6f\x0c\x1b\xbb\xc1\xfd\x71\xfb\x7c\xd8\x93\xd1\x89\x85\x02\x95\xc1\x99\xb7\xd8\x8a\xf2\x6b\xc8\x54\x89\x75\xfd\xa1\x09\x9f\xfe\xfe\xe4\x2a\x52\xf3\x42\x8d\xdf\xf3\x5e\x01\x73\xd3\x33\x95\x62\x50\x7a\xc5\xd2\xc4\x5b\xbd\x2c\x19\xcf\xe8\x9b"}, -{{0x25,0xb0,0xf0,0xbb,0x3d,0xcb,0x42,0x2a,0x6f,0x3c,0x6c,0x22,0x0e,0xaa,0xdb,0x11,0xdb,0xfe,0x48,0x9c,0x2d,0x45,0x5b,0x27,0x6c,0xef,0xe8,0xcb,0xa0,0x57,0xf9,0xf3,},{0xfe,0x03,0xc9,0xc4,0x39,0x4a,0xdc,0x74,0xb1,0x3f,0x47,0x65,0x4b,0xea,0xd8,0xbc,0x85,0x59,0x58,0xb4,0x19,0x4f,0xda,0xb2,0x09,0x7a,0xc1,0xb1,0x57,0x93,0x3c,0x05,},{0xda,0x50,0xd5,0x24,0x2b,0xf5,0x1c,0x39,0x51,0x78,0x0c,0xaf,0xd9,0x26,0xd6,0x7b,0xdf,0x56,0x40,0xd5,0xd3,0xbb,0x08,0x43,0x38,0x31,0xd5,0x6e,0x48,0xe2,0x59,0x2a,0x1c,0x37,0x59,0x68,0xbb,0x4d,0x2f,0xbe,0xa5,0x61,0x45,0xab,0xf2,0xd8,0x29,0x91,0x36,0x3b,0x15,0x65,0xfa,0x1e,0xff,0xe2,0x14,0x01,0x1a,0x68,0x6e,0x39,0x95,0x0e,},"\x54\xd9\x9f\x96\x9e\xfa\x88\x70\xfc\x20\xfa\x9a\x96\x2b\xb3\x72\x61\x9c\x32\x44\x39\x72\x8a\xf3\x13\x9c\x2a\x07\xe8\xc1\xb2\x9c\x1e\x4e\xed\xc2\xd4\x0b\xa7\x22\xf6\x3c\xe3\x76\x70\x36\x2a\xf6\xf5\x20\x2a\xdd\x66\x8c\x4f\xb4\xd6\x2f\xa8\xba\xcb\xc7\xd0\x7f\xf3\xbd\x38\xc1\x5a\x01\x06\x42\x59\xcc\x34\x13\x48\x61\x63\x29\x67\x46\x05\x41\xa9\x9b\x8d\x51\x82\xbf\x59\x34\x7b\x5a\x59\x87\x9a\xa3\xb0\x91\xa1\xf3\xe0\x41\x35\xbd\x63\x01\xbe\x52\x26\xd4\x89\x5e\x5e\x9c\x2b\x15\xe4\x8e\x5e\xcd\xf4\x41\x29\xe6\x12\x28\x53\xa6\x06\xfc\x11\x84\x66\xfa\x72\x0b\x5a\xb1\x65\x63\x5c\x3b\xde\x04\xd7\x42\x89\x27\x4f\xa0\x35\x47\xac\xcb\xde\x78\x0e\x1f\xa0\xbf\x2c\x56\xf8\x43\x6a\x53\xe7\x38\x78\xa4\x24\xa2\x9a\xa9\xde\x38\x5d\xba\x41\x9a\xe6\xa5\xd1\x2e\x00\x42\x76\x15\x2b\x58\xd3\x25\xb3\x02\x40\x0a\x55\x33\x3c\x38\xcd\xe4\x90\x8a\xe1\xd0\x12\x1c\xbe\xca\x95\x08\x09\xc5\x43\x31\x42\x77\xc1\x48\x5e\x68\xd9\xf9\xc0\xa9\x62\xd1\xb1\xe0\xdd\xa1\xd4\xa5\x2b\x56\xf8\x30\x8a\x80\xb9\x2a\xcc\x9f\x4e\xbc\x3e\xd4\x5d\x91\xa1\x29\xda\x86\x75\x62\x1a\xf6\x76\x70\x3d\xef\x3b\x84\x11\x31\x83\xb2\xe3\xa8\xc5\x61\x57\xf2\x43\xf1\x39\x80\xf3\xd1\x75\x6f\xea\x76\x68\xc9\x15\x03\xd3\x5c\x83\x9a\x21\x20\xc7\x9e\xc9\x54\xfb\x54\x6d\x7b\x54\x2f\x98\x72\x89\x53\x4f\xfd\xef\x62\xd4\x7f\xd5\xec"}, -{{0xbf,0x5b,0xa5,0xd6,0xa4,0x9d,0xd5,0xef,0x7b,0x4d,0x5d,0x7d,0x3e,0x4e,0xcc,0x50,0x5c,0x01,0xf6,0xcc,0xee,0x4c,0x54,0xb5,0xef,0x7b,0x40,0xaf,0x6a,0x45,0x41,0x40,},{0x1b,0xe0,0x34,0xf8,0x13,0x01,0x7b,0x90,0x0d,0x89,0x90,0xaf,0x45,0xfa,0xd5,0xb5,0x21,0x4b,0x57,0x3b,0xd3,0x03,0xef,0x7a,0x75,0xef,0x4b,0x8c,0x5c,0x5b,0x98,0x42,},{0x27,0x9c,0xac,0xe6,0xfd,0xaf,0x39,0x45,0xe3,0x83,0x7d,0xf4,0x74,0xb2,0x86,0x46,0x14,0x37,0x47,0x63,0x2b,0xed,0xe9,0x3e,0x7a,0x66,0xf5,0xca,0x29,0x1d,0x2c,0x24,0x97,0x85,0x12,0xca,0x0c,0xb8,0x82,0x7c,0x8c,0x32,0x26,0x85,0xbd,0x60,0x55,0x03,0xa5,0xec,0x94,0xdb,0xae,0x61,0xbb,0xdc,0xae,0x1e,0x49,0x65,0x06,0x02,0xbc,0x07,},"\x16\x15\x2c\x2e\x03\x7b\x1c\x0d\x32\x19\xce\xd8\xe0\x67\x4a\xee\x6b\x57\x83\x4b\x55\x10\x6c\x53\x44\x62\x53\x22\xda\x63\x8e\xce\xa2\xfc\x9a\x42\x4a\x05\xee\x95\x12\xd4\x8f\xcf\x75\xdd\x8b\xd4\x69\x1b\x3c\x10\xc2\x8e\xc9\x8e\xe1\xaf\xa5\xb8\x63\xd1\xc3\x67\x95\xed\x18\x10\x5d\xb3\xa9\xaa\xbd\x9d\x2b\x4c\x17\x47\xad\xba\xf1\xa5\x6f\xfc\xc0\xc5\x33\xc1\xc0\xfa\xef\x33\x1c\xdb\x79\xd9\x61\xfa\x39\xf8\x80\xa1\xb8\xb1\x16\x47\x41\x82\x2e\xfb\x15\xa7\x25\x9a\x46\x5b\xef\x21\x28\x55\x75\x1f\xab\x66\xa8\x97\xbf\xa2\x11\xab\xe0\xea\x2f\x2e\x1c\xd8\xa1\x1d\x80\xe1\x42\xcd\xe1\x26\x3e\xec\x26\x7a\x31\x38\xae\x1f\xcf\x40\x99\xdb\x0a\xb5\x3d\x64\xf3\x36\xf4\xbc\xd7\xa3\x63\xf6\xdb\x11\x2c\x0a\x24\x53\x05\x1a\x00\x06\xf8\x13\xaa\xf4\xae\x94\x8a\x20\x90\x61\x93\x74\xfa\x58\x05\x24\x09\xc2\x8e\xf7\x62\x25\x68\x7d\xf3\xcb\x2d\x1b\x0b\xfb\x43\xb0\x9f\x47\xf1\x23\x2f\x79\x0e\x6d\x8d\xea\x75\x9e\x57\x94\x20\x99\xf4\xc4\xbd\x33\x90\xf2\x8a\xfc\x20\x98\x24\x49\x61\x46\x5c\x64\x3f\xc8\xb2\x97\x66\xaf\x2b\xcb\xc5\x44\x0b\x86\xe8\x36\x08\xcf\xc9\x37\xbe\x98\xbb\x48\x27\xfd\x5e\x6b\x68\x9a\xdc\x2e\x26\x51\x3d\xb5\x31\x07\x6a\x65\x64\x39\x62\x55\xa0\x99\x75\xb7\x03\x4d\xac\x06\x46\x1b\x25\x56\x42\xe3\xa7\xed\x75\xfa\x9f\xc2\x65\x01\x1f\x5f\x62\x50\x38\x2a\x84\xac\x26\x8d\x63\xba\x64"}, -{{0x65,0xde,0x29,0x7b,0x70,0xcb,0xe8,0x09,0x80,0x50,0x0a,0xf0,0x56,0x1a,0x24,0xdb,0x50,0x00,0x10,0x00,0x12,0x5f,0x44,0x90,0x36,0x6d,0x83,0x00,0xd3,0x12,0x85,0x92,},{0xba,0x8e,0x2a,0xd9,0x29,0xbd,0xce,0xa5,0x38,0x74,0x10,0x42,0xb5,0x7f,0x20,0x67,0xd3,0x15,0x37,0x07,0xa4,0x53,0x77,0x0d,0xb9,0xf3,0xc4,0xca,0x75,0x50,0x4d,0x24,},{0x7a,0x9b,0x73,0x6b,0x01,0xcc,0x92,0xa3,0x34,0x9f,0x1a,0x3c,0x32,0xdb,0xd9,0x19,0x59,0x82,0x53,0x94,0xff,0x44,0x3c,0x56,0x74,0x05,0xe8,0x99,0xc8,0x18,0x5c,0xe8,0xfa,0xd9,0x50,0x0e,0x1f,0xce,0x89,0xd9,0x5a,0x62,0x53,0xc0,0x04,0x77,0x43,0x5a,0xcf,0x04,0xbf,0xf9,0x93,0xde,0x1b,0x00,0x49,0x5d,0xef,0x08,0x34,0xee,0x1f,0x07,},"\x13\x1d\x8f\x4c\x2c\x94\xb1\x53\x56\x5b\x86\x59\x2e\x77\x0c\x98\x7a\x44\x34\x61\xb3\x9a\xa2\x40\x8b\x29\xe2\x13\xab\x05\x7a\xff\xc5\x98\xb5\x83\x73\x9d\x66\x03\xa8\x3f\xef\x0a\xfc\x51\x47\x21\xdb\x0e\x76\xf9\xbd\x1b\x72\xb9\x8c\x56\x5c\xc8\x88\x1a\xf5\x74\x7c\x0b\xa6\xf5\x8c\x53\xdd\x23\x77\xda\x6c\x0d\x3a\xa8\x05\x62\x0c\xc4\xe7\x5d\x52\xaa\xbc\xba\x1f\x9b\x28\x49\xe0\x8b\xd1\xb6\xb9\x2e\x6f\x06\x61\x5b\x81\x45\x19\x60\x6a\x02\xdc\x65\xa8\x60\x9f\x5b\x29\xe9\xc2\xaf\x5a\x89\x4f\x71\x16\xef\x28\xcf\xd1\xe7\xb7\x6b\x64\x06\x17\x32\xf7\xa5\xa3\xf8\xaa\x4c\x2e\x56\x9e\x62\x7a\x3f\x97\x49\xaa\x59\x7b\xe4\x9d\x6b\x94\x43\x6c\x35\x2d\xd5\xfa\x7b\x83\xc9\x2d\x26\x10\xfa\xa3\x20\x95\xca\x30\x21\x52\xd9\x1a\x3c\x97\x76\x75\x0e\x75\x8e\xe8\xe9\xe4\x02\xc6\xf5\x38\x5e\xaa\x5d\xf2\x38\x50\xe5\x4b\xeb\x1b\xe4\x37\xa4\x16\xc7\x11\x5e\xd6\xaa\x6d\xe1\x3b\x55\x48\x25\x32\x78\x7e\x0b\xee\x34\xb8\x3f\x30\x84\x40\x67\x65\x63\x54\x97\xc9\x31\xb6\x2a\x05\x18\xf1\xfb\xc2\xb8\x91\xdc\x72\x62\xc7\xc6\xb6\x7e\xda\x59\x4f\xa5\x30\xd7\x4c\x93\x29\xba\xd5\xbe\x94\xc2\x87\xfb\xcd\xe5\x3a\xa8\x02\x72\xb8\x33\x22\x61\x3d\x93\x68\xe5\x90\x40\x76\xfd\xbc\xc8\x8b\x2c\x0e\x59\xc1\x0b\x02\xc4\x48\xe0\x0d\x1b\x3e\x7a\x9c\x96\x40\xfe\xff\xb9\x52\x3a\x8a\x60\xe1\xd8\x3f\x04\xa4\xb8\xdf\x69\x15\x3b"}, -{{0x08,0x26,0xe7,0x33,0x33,0x24,0xe7,0xec,0x8c,0x76,0x42,0x92,0xf6,0x01,0x5d,0x46,0x70,0xe9,0xb8,0xd7,0xc4,0xa8,0x9e,0x8d,0x90,0x9e,0x8e,0xf4,0x35,0xd1,0x8d,0x15,},{0xff,0xb2,0x34,0x8c,0xa8,0xa0,0x18,0x05,0x8b,0xe7,0x1d,0x15,0x12,0xf3,0x76,0xf9,0x1e,0x8b,0x0d,0x55,0x25,0x81,0x25,0x4e,0x10,0x76,0x02,0x21,0x73,0x95,0xe6,0x62,},{0x4b,0xac,0x7f,0xab,0xec,0x87,0x24,0xd8,0x1a,0xb0,0x9a,0xe1,0x30,0x87,0x4d,0x70,0xb5,0x21,0x34,0x92,0x10,0x43,0x72,0xf6,0x01,0xae,0x5a,0xbb,0x10,0x53,0x27,0x99,0x37,0x3c,0x4d,0xad,0x21,0x58,0x76,0x44,0x1f,0x47,0x4e,0x2c,0x00,0x6b,0xe3,0x7c,0x3c,0x8f,0x5f,0x6f,0x01,0x7d,0x08,0x70,0x41,0x4f,0xd2,0x76,0xa8,0xf4,0x28,0x08,},"\x7f\x9e\x3e\x2f\x03\xc9\xdf\x3d\x21\xb9\x90\xf5\xa4\xaf\x82\x95\x73\x4a\xfe\x78\x3a\xcc\xc3\x4f\xb1\xe9\xb8\xe9\x5a\x0f\xd8\x37\xaf\x7e\x05\xc1\x3c\xda\x0d\xe8\xfa\xda\xc9\x20\x52\x65\xa0\x79\x2b\x52\x56\x3b\xdc\x2f\xee\x76\x63\x48\xbe\xfc\xc5\x6b\x88\xbb\xb9\x5f\x15\x44\x14\xfb\x18\x6e\xc4\x36\xaa\x62\xea\x6f\xca\xbb\x11\xc0\x17\xa9\xd2\xd1\x5f\x67\xe5\x95\x98\x0e\x04\xc9\x31\x3b\xc9\x4f\xbc\x8c\x11\x34\xc2\xf4\x03\x32\xbc\x7e\x31\x1a\xc1\xce\x11\xb5\x05\xf8\x57\x2a\xda\x7f\xbe\x19\x6f\xba\x82\x2d\x9a\x91\x44\x92\xfa\x71\x85\xe9\xf3\xbe\xa4\x68\x72\x00\xa5\x24\xc6\x73\xa1\xcd\xf8\x7e\xb3\xa1\x40\xdc\xdb\x6a\x88\x75\x61\x34\x88\xa2\xb0\x0a\xdf\x71\x75\x34\x1c\x1c\x25\x76\x35\xfa\x1a\x53\xa3\xe2\x1d\x60\xc2\x28\x39\x9e\xea\x09\x91\xf1\x12\xc6\x0f\x65\x3d\x71\x48\xe2\xc5\xce\xb9\x8f\x94\x08\x31\xf0\x70\xdb\x10\x84\xd7\x91\x56\xcc\x82\xc4\x6b\xc9\xb8\xe8\x84\xf3\xfa\x81\xbe\x2d\xa4\xcd\xda\x46\xbc\xaa\x24\xcc\x46\x1f\x76\xee\x64\x7b\xb0\xf0\xf8\xc1\x5a\xc5\xda\xa7\x95\xb9\x45\xe6\xf8\x5b\xb3\x10\x36\x2e\x48\xd8\x09\x5c\x78\x2c\x61\xc5\x2b\x48\x1b\x4b\x00\x2a\xd0\x6e\xa7\x4b\x8d\x30\x6e\xff\x71\xab\xf2\x1d\xb7\x10\xa8\x91\x3c\xbe\x48\x33\x2b\xe0\xa0\xb3\xf3\x1e\x0c\x7a\x6e\xba\x85\xce\x33\xf3\x57\xc7\xae\xcc\xd3\x0b\xfb\x1a\x65\x74\x40\x8b\x66\xfe\x40\x4d\x31\xc3\xc5"}, -{{0x00,0xad,0x62,0x27,0x97,0x7b,0x5f,0x38,0xcc,0xda,0x99,0x4d,0x92,0x8b,0xba,0x90,0x86,0xd2,0xda,0xeb,0x01,0x3f,0x86,0x90,0xdb,0x98,0x66,0x48,0xb9,0x0c,0x1d,0x45,},{0x91,0xa4,0xea,0x00,0x57,0x52,0xb9,0x2c,0xbe,0xbf,0x99,0xa8,0xa5,0xcb,0xec,0xd2,0x40,0xae,0x3f,0x01,0x6c,0x44,0xad,0x14,0x1b,0x2e,0x57,0xdd,0xc7,0x73,0xdc,0x8e,},{0xdc,0x50,0x1d,0xb7,0x9f,0xd7,0x82,0xbc,0x88,0xca,0xe7,0x92,0x55,0x7d,0x5d,0x27,0x3f,0x9b,0xa5,0x60,0xc7,0xd9,0x00,0x37,0xfe,0x84,0xac,0x87,0x9d,0x68,0x4f,0x61,0x2a,0x77,0x45,0x2c,0x44,0x43,0xe9,0x5c,0x07,0xb8,0xbe,0x19,0x2c,0x35,0x76,0x9b,0x17,0xbb,0xdf,0xca,0x42,0x28,0x0d,0xe7,0x96,0xd9,0x21,0x19,0xd8,0x33,0x67,0x0d,},"\xcb\x5b\xc5\xb9\x8b\x2e\xfc\xe4\x35\x43\xe9\x1d\xf0\x41\xe0\xdb\xb5\x3e\xd8\xf6\x7b\xf0\xf1\x97\xc5\x2b\x22\x11\xe7\xa4\x5e\x2e\x1e\xc8\x18\xc1\xa8\x0e\x10\xab\xf6\xa4\x35\x35\xf5\xb7\x9d\x97\x4d\x8a\xe2\x8a\x22\x95\xc0\xa6\x52\x17\x63\xb6\x07\xd5\x10\x3c\x6a\xef\x3b\x27\x86\xbd\x5a\xfd\x75\x63\x69\x56\x60\x68\x43\x37\xbc\x30\x90\x73\x9f\xb1\xcd\x53\xa9\xd6\x44\x13\x9b\x6d\x4c\xae\xc7\x5b\xda\x7f\x25\x21\xfb\xfe\x67\x6a\xb4\x5b\x98\xcb\x31\x7a\xa7\xca\x79\xfc\x54\xa3\xd7\xc5\x78\x46\x6a\x6a\xa6\x4e\x43\x4e\x92\x34\x65\xa7\xf2\x11\xaa\x0c\x61\x68\x1b\xb8\x48\x6e\x90\x20\x6a\x25\x25\x0d\x3f\xda\xe6\xfb\x03\x29\x97\x21\xe9\x9e\x2a\x91\x49\x10\xd9\x17\x60\x08\x9b\x5d\x28\x1e\x13\x1e\x6c\x83\x6b\xc2\xde\x08\xf7\xe0\x2c\x48\xd3\x23\xc6\x47\xe9\x53\x6c\x00\xec\x10\x39\x20\x1c\x03\x62\x61\x8c\x7d\x47\xaa\x8e\x7b\x97\x15\xff\xc4\x39\x98\x7a\xe1\xd3\x11\x54\xa6\x19\x8c\x5a\xa1\x1c\x12\x8f\x40\x82\xf5\x56\xc9\x9b\xaf\x10\x3e\xca\xdc\x3b\x2f\x3b\x2e\xc5\xb4\x69\x62\x3b\xc0\x3a\x53\xca\xf3\x81\x4b\x16\x30\x0a\xed\xbd\xa5\x38\xd6\x76\xd1\xf6\x07\x10\x26\x39\xdb\x2a\x62\xc4\x46\x70\x7c\xe6\x46\x9b\xd8\x73\xa0\x46\x82\x25\xbe\x88\xb0\xae\xf5\xd4\x02\x04\x59\xb9\x4b\x32\xfe\x2b\x01\x33\xe9\x2e\x7b\xa5\x4d\xd2\xa5\x39\x7e\xd8\x5f\x96\x6a\xb3\x9e\xd0\x73\x0c\xca\x8e\x7d\xac\xb8\xa3\x36"}, -{{0x15,0x21,0xc6,0xdb,0xd6,0xf7,0x24,0xde,0x73,0xea,0xf7,0xb5,0x62,0x64,0xf0,0x10,0x35,0xc0,0x4e,0x01,0xc1,0xf3,0xeb,0x3c,0xbe,0x83,0xef,0xd2,0x6c,0x43,0x9a,0xda,},{0x2f,0x61,0xa2,0x6f,0xfb,0x68,0xba,0x4f,0x6e,0x14,0x15,0x29,0xdc,0x26,0x17,0xe8,0x53,0x1c,0x71,0x51,0x40,0x48,0x08,0x09,0x3b,0x4f,0xa7,0xfe,0xda,0xea,0x25,0x5d,},{0xa8,0x17,0xed,0x23,0xec,0x39,0x8a,0x12,0x86,0x01,0xc1,0x83,0x2d,0xc6,0xaf,0x76,0x43,0xbf,0x3a,0x5f,0x51,0x7b,0xcc,0x57,0x94,0x50,0xfd,0xb4,0x75,0x90,0x28,0xf4,0x96,0x61,0x64,0x12,0x5f,0x6e,0xbd,0x0d,0x6b,0xf8,0x6f,0xf2,0x98,0xa3,0x9c,0x76,0x6d,0x0c,0x21,0xfd,0xb0,0xcb,0xfd,0xf8,0x1c,0xd0,0xeb,0x1f,0x03,0xcd,0x8a,0x08,},"\x3e\x3c\x7c\x49\x07\x88\xe4\xb1\xd4\x2f\x5c\xbc\xae\x3a\x99\x30\xbf\x61\x7e\xbd\xff\x44\x7f\x7b\xe2\xac\x2b\xa7\xcd\x5b\xcf\xc0\x15\x76\x09\x63\xe6\xfe\x5b\x95\x6f\xb7\xcd\xb3\x5b\xd5\xa1\x7f\x54\x29\xca\x66\x4f\x43\x7f\x08\x75\x3a\x74\x1c\x2b\xc8\x69\x2b\x71\xa9\x11\x5c\x58\x2a\x25\xb2\xf7\x4d\x32\x98\x54\xd6\x0b\x78\x17\xc0\x79\xb3\x52\x3a\xaf\xf8\x79\x3c\x2f\x72\xff\xf8\xcd\x10\x59\x2c\x54\xe7\x38\xdf\x1d\x64\x52\xfb\x72\xda\x13\x1c\x67\x31\xea\x5c\x95\x3c\x62\xea\x17\x7a\xc1\xf4\x73\x5e\x51\x54\x47\x73\x87\x10\x9a\xfa\xe1\x5f\x3e\xd6\xee\xb0\x86\x06\xe2\x8c\x81\xd4\x38\x6f\x03\xb9\x37\x69\x24\xb6\xef\x8d\x22\x1e\xe2\x95\x47\xf8\x2a\x7e\xde\x48\xe1\xdc\x17\x72\x3e\x3d\x42\x17\x1e\xea\xf9\x6a\xc8\x4b\xed\xc2\xa0\x1d\xd8\x6f\x4d\x08\x57\x34\xfd\x69\xf9\x1b\x52\x63\xe4\x39\x08\x3f\xf0\x31\x85\x36\xad\xff\x41\x47\x30\x8e\x3a\xaf\xd1\xb5\x8b\xb7\x4f\x6f\xb0\x21\x4a\x46\xfd\xcd\x35\x24\xf1\x8d\xf5\xa7\x19\xce\x57\x31\x9e\x79\x1b\x4e\xa6\x06\xb4\x99\xbf\xa5\x7a\x60\xe7\x07\xf9\x4e\x18\xf1\xfe\xd2\x2f\x91\xbc\x79\xe6\x36\x4a\x84\x3f\x9c\xbf\x93\x82\x5c\x46\x5e\x9c\xae\x90\x72\xbc\x9d\x3e\xc4\x47\x1f\x21\xab\x2f\x7e\x99\xa6\x33\xf5\x87\xaa\xc3\xdb\x78\xae\x96\x66\xa8\x9a\x18\x00\x8d\xd6\x1d\x60\x21\x85\x54\x41\x1a\x65\x74\x0f\xfd\x1a\xe3\xad\xc0\x65\x95\xe3\xb7\x87\x64\x07\xb6"}, -{{0x17,0xe5,0xf0,0xa8,0xf3,0x47,0x51,0xba,0xbc,0x5c,0x72,0x3e,0xcf,0x33,0x93,0x06,0x99,0x2f,0x39,0xea,0x06,0x5a,0xc1,0x40,0xfc,0xbc,0x39,0x7d,0x2d,0xd3,0x2c,0x4b,},{0x4f,0x1e,0x23,0xcc,0x0f,0x2f,0x69,0xc8,0x8e,0xf9,0x16,0x2a,0xb5,0xf8,0xc5,0x9f,0xb3,0xb8,0xab,0x20,0x96,0xb7,0x7e,0x78,0x2c,0x63,0xc0,0x7c,0x8c,0x4f,0x2b,0x60,},{0xef,0xe2,0xcb,0x63,0xfe,0x7b,0x4f,0xc9,0x89,0x46,0xdc,0x82,0xfb,0x69,0x98,0xe7,0x41,0xed,0x9c,0xe6,0xb9,0xc1,0xa9,0x3b,0xb4,0x5b,0xc0,0xa7,0xd8,0x39,0x6d,0x74,0x05,0x28,0x2b,0x43,0xfe,0x36,0x3b,0xa5,0xb2,0x35,0x89,0xf8,0xe1,0xfa,0xe1,0x30,0xe1,0x57,0xce,0x88,0x8c,0xd7,0x2d,0x05,0x3d,0x0c,0xc1,0x9d,0x25,0x7a,0x43,0x00,},"\xc0\xfa\xd7\x90\x02\x40\x19\xbd\x6f\xc0\x8a\x7a\x92\xf5\xf2\xac\x35\xcf\x64\x32\xe2\xea\xa5\x3d\x48\x2f\x6e\x12\x04\x93\x53\x36\xcb\x3a\xe6\x5a\x63\xc2\x4d\x0e\xc6\x53\x9a\x10\xee\x18\x76\x0f\x2f\x52\x05\x37\x77\x4c\xde\xc6\xe9\x6b\x55\x53\x60\x11\xda\xa8\xf8\xbc\xb9\xcd\xaf\x6d\xf5\xb3\x46\x48\x44\x8a\xc7\xd7\xcb\x7c\x6b\xd8\x0d\x67\xfb\xf3\x30\xf8\x76\x52\x97\x76\x60\x46\xa9\x25\xab\x52\x41\x1d\x16\x04\xc3\xed\x6a\x85\x17\x30\x40\x12\x56\x58\xa3\x2c\xf4\xc8\x54\xef\x28\x13\xdf\x2b\xe6\xf3\x83\x0e\x5e\xee\x5a\x61\x63\xa8\x3c\xa8\x84\x9f\x61\x29\x91\xa3\x1e\x9f\x88\x02\x8e\x50\xbf\x85\x35\xe1\x17\x55\xfa\xd0\x29\xd9\x4c\xf2\x59\x59\xf6\x69\x5d\x09\xc1\xba\x43\x15\xd4\x0f\x7c\xf5\x1b\x3f\x81\x66\xd0\x2f\xab\xa7\x51\x1e\xcd\x8b\x1d\xde\xd5\xf1\x0c\xd6\x84\x34\x55\xcf\xf7\x07\xed\x22\x53\x96\xc6\x1d\x08\x20\xd2\x0a\xda\x70\xd0\xc3\x61\x9f\xf6\x79\x42\x20\x61\xc9\xf7\xc7\x6e\x97\xd5\xa3\x7a\xf6\x1f\xd6\x22\x12\xd2\xda\xfc\x64\x7e\xbb\xb9\x79\xe6\x1d\x90\x70\xec\x03\x60\x9a\x07\xf5\xfc\x57\xd1\x19\xae\x64\xb7\xa6\xef\x92\xa5\xaf\xae\x66\x0a\x30\xed\x48\xd7\x02\xcc\x31\x28\xc6\x33\xb4\xf1\x90\x60\xa0\x57\x81\x01\x72\x9e\xe9\x79\xf7\x90\xf4\x5b\xdb\xb5\xfe\x1a\x8a\x62\xf0\x1a\x61\xa3\x1d\x61\xaf\x07\x03\x04\x50\xfa\x04\x17\x32\x3e\x94\x07\xbc\x76\xe7\x31\x30\xe7\xc6\x9d\x62\xe6\xa7"}, -{{0x0c,0xd7,0xaa,0x7d,0x60,0x5e,0x44,0xd5,0xff,0xb9,0x79,0x66,0xb2,0xcb,0x93,0xc1,0x89,0xe4,0xc5,0xa8,0x5d,0xb8,0x7f,0xad,0x7a,0xb8,0xd6,0x24,0x63,0xc5,0x9b,0x59,},{0x48,0x89,0x85,0x5f,0xe4,0x11,0x6b,0x49,0x13,0x92,0x7f,0x47,0xf2,0x27,0x3b,0xf5,0x59,0xc3,0xb3,0x94,0xa9,0x83,0x63,0x1a,0x25,0xae,0x59,0x70,0x33,0x18,0x5e,0x46,},{0xbf,0x91,0x15,0xfd,0x3d,0x02,0x70,0x6e,0x39,0x8d,0x4b,0xf3,0xb0,0x2a,0x82,0x67,0x4f,0xf3,0x04,0x15,0x08,0xfd,0x39,0xd2,0x9f,0x86,0x7e,0x50,0x16,0x34,0xb9,0x26,0x1f,0x51,0x6a,0x79,0x4f,0x98,0x73,0x8d,0x7c,0x70,0x13,0xa3,0xf2,0xf8,0x58,0xff,0xdd,0x08,0x04,0x7f,0xb6,0xbf,0x3d,0xdd,0xfb,0x4b,0x4f,0x4c,0xbe,0xef,0x30,0x03,},"\x28\xa5\x5d\xda\x6c\xd0\x84\x4b\x65\x77\xc9\xd6\xda\x07\x3a\x4d\xc3\x5c\xbc\x98\xac\x15\x8a\xb5\x4c\xf8\x8f\xd2\x0c\xc8\x7e\x83\xc4\xbb\xa2\xd7\x4d\x82\xce\x0f\x48\x54\xec\x4d\xb5\x13\xde\x40\x04\x65\xaa\xa5\xee\xe7\x90\xbc\x84\xf1\x63\x37\x07\x2d\x3a\x91\xcd\xe4\x0d\x6e\x0d\xf1\xba\x0c\xc0\x64\x5f\x5d\x5c\xbb\xb6\x42\x38\x1d\x7b\x9e\x21\x1d\x25\x26\x7a\x8a\xcf\x77\xd1\xed\xb6\x9c\x3a\x63\x0f\x5b\x13\x3d\x24\xf0\x46\xa8\x1b\xf2\x2f\xf0\x3b\x31\xd8\x44\x7e\x12\xc3\xf7\xb7\x71\x14\xa7\x0c\xbd\x20\xbb\xd0\x8b\x0b\x38\x27\xa6\xbb\xcf\x90\x40\x9e\x34\x44\x47\xa7\xfb\xc5\x9b\xdd\x97\xd7\x29\x07\x1f\x8d\x71\xdc\xc3\x3e\x6e\xf2\xcb\xab\x1d\x41\x1e\xdf\x13\x73\x4d\xb1\xdd\x97\x03\x27\x6f\x5e\xb2\xd6\xaa\x2c\xb8\x95\x2d\xd6\x71\x2b\xfa\xe8\x09\xce\x08\xc3\xaa\x50\x2b\x81\x35\x71\x3f\xac\x0a\x9c\x25\xb1\xd4\x5b\x6a\x58\x31\xe0\x24\x21\xbb\xa6\x5b\x81\xa5\x96\xef\xa2\x4b\x05\x76\xbd\x1d\xc7\xfd\xfb\x49\xbe\x76\x28\x75\xe8\x1b\xd5\x40\x72\x2b\xc0\x61\x40\xb9\xaa\x2e\xf7\xb8\x4a\x80\x1e\x41\xde\xd6\x8d\x45\x46\xac\x48\x73\xd9\xe7\xce\xd6\x49\xb6\x4f\xad\xaf\x0b\x5c\x4b\x6e\xb8\xd0\x36\x31\x52\x33\xf4\x32\x6c\xa0\x1e\x03\x39\x30\x50\xcd\x02\x7c\x24\xf6\x73\x03\xfb\x84\x6b\xd2\xc6\xb3\xdb\xa0\x6b\xed\x0d\x59\xa3\x62\x89\xd2\x4b\xd6\x48\xf7\xdb\x0b\x3a\x81\x34\x66\x12\x59\x3e\x3d\xdd\x18\xc5\x57"}, -{{0x33,0x37,0x1d,0x9e,0x89,0x2f,0x98,0x75,0x05,0x2a,0xc8,0xe3,0x25,0xba,0x50,0x5e,0x74,0x77,0xc1,0xac,0xe2,0x4b,0xa7,0x82,0x26,0x43,0xd4,0x3d,0x0a,0xce,0xf3,0xde,},{0x35,0x92,0x9b,0xde,0xd2,0x7c,0x24,0x9c,0x87,0xd8,0xb8,0xd8,0x2f,0x59,0x26,0x0a,0x57,0x53,0x27,0xb5,0x46,0xc3,0xa1,0x67,0xc6,0x9f,0x59,0x92,0xd5,0xb8,0xe0,0x06,},{0x98,0x5c,0xa4,0x46,0xdd,0xc0,0x07,0x82,0x7c,0xc8,0xf2,0x85,0x2c,0xbd,0x81,0x15,0xef,0x8c,0x59,0x75,0xe9,0xd7,0xce,0x96,0xd7,0x4d,0xfe,0xd8,0x59,0xaa,0x14,0xa4,0xc1,0x52,0x54,0x00,0x6b,0xea,0x5e,0x08,0x35,0x9e,0xfe,0x26,0x25,0xd7,0x15,0xe0,0x89,0x7e,0xe5,0xa1,0x6f,0x15,0x12,0x03,0xbe,0x50,0x10,0x41,0x86,0x37,0xde,0x05,},"\x27\xa3\x2e\xfb\xa2\x82\x04\xbe\x59\xb7\xff\x5f\xe4\x88\xca\x15\x8a\x91\xd5\x98\x60\x91\xec\xc4\x45\x8b\x49\xe0\x90\xdd\x37\xcb\xfe\xde\x7c\x0f\x46\x18\x6f\xab\xcb\xdf\xf7\x8d\x28\x44\x15\x58\x08\xef\xff\xd8\x73\xed\x9c\x92\x61\x52\x6e\x04\xe4\xf7\x05\x0b\x8d\x7b\xd2\x67\xa0\xfe\x3d\x5a\x44\x93\x78\xd5\x4a\x4f\xeb\xbd\x2f\x26\x82\x43\x38\xe2\xaa\xaf\x35\xa3\x2f\xf0\xf6\x25\x04\xbd\xa5\xc2\xe4\x4a\xbc\x63\x15\x9f\x33\x6c\xf2\x5e\x6b\xb4\x0d\xdb\x7d\x88\x25\xdf\xf1\x8f\xd5\x1f\xc0\x19\x51\xea\xed\xcd\x33\x70\x70\x07\xe1\x20\x3c\xa5\x8b\x4f\x7d\x24\x2f\x81\x66\xa9\x07\xe0\x99\x93\x2c\x00\x1b\xfb\x1e\xc9\xa6\x1e\x0e\xf2\xda\x4e\x84\x46\xaf\x20\x82\x01\x31\x5d\x69\x68\x17\x10\xd4\x25\xd2\x40\x0c\x38\x7d\x7b\x9d\xf3\x21\xa4\xae\xc6\x02\xb9\xc6\x56\xc3\xe2\x31\x0b\xff\x87\x56\xd1\x8b\x80\x21\x34\xb1\x56\x04\xf4\xed\xc1\x11\x14\x9a\x98\x79\xe3\x12\x41\xdd\x34\xf7\x02\xf4\xc3\x49\x61\x7b\x13\x52\x97\x69\xa7\x72\xf5\xe5\x2a\x89\xc0\x98\xe0\xdc\xa5\x92\x06\x67\x89\x3a\x25\x00\x61\xb1\x79\x91\x62\x6e\xb9\x31\x92\x98\x68\x5b\xe4\x6b\x6a\x8b\x68\x42\x24\x44\xfa\x5a\x36\xbc\xf3\xa6\x87\xe2\xec\xcb\x93\x22\xc8\x7d\xc8\x01\x65\xda\x89\x89\x30\x85\x0b\x98\xfc\x86\x3c\xad\xa1\xaa\x99\xc6\xd6\x1c\x45\x1b\x9c\xcf\x48\x74\xc7\xf0\xe7\x5b\x0a\x0c\x60\x2f\x04\x48\x12\xc7\x17\x65\xad\xaf\x02\x02\x53\x95\xb0"}, -{{0xbe,0xed,0xb8,0x07,0x3d,0xf5,0x8f,0x8c,0x1b,0xff,0xbd,0xbd,0x77,0xec,0x7d,0xec,0xb2,0xc8,0x2a,0x9b,0xab,0xec,0xef,0xc0,0x33,0x15,0x07,0xbd,0xc2,0xc2,0xa7,0xe7,},{0xb2,0x7e,0x90,0x8b,0x80,0x5e,0x29,0x6f,0xc3,0x0d,0x2e,0x47,0x4b,0x06,0x0c,0xd5,0x0c,0x0f,0x6f,0x52,0x0b,0x36,0x71,0x71,0x21,0x83,0xbd,0x89,0xd4,0xe7,0x33,0xe9,},{0x8c,0x89,0x0c,0xcc,0xad,0xc7,0x76,0x0e,0x1e,0x82,0xe4,0x3c,0x44,0xb3,0xdc,0x0b,0x68,0x5a,0x48,0xb4,0x79,0xae,0x13,0xcc,0x0a,0x6b,0x05,0x57,0xd0,0xfb,0x1c,0xba,0xbb,0xa6,0x3d,0x2a,0x96,0x84,0x34,0x12,0xea,0x8d,0x36,0xc5,0x0a,0xcb,0xf5,0x2b,0x92,0xcf,0xb2,0xdc,0xe4,0x9d,0xc4,0x8a,0xf6,0xdd,0xcf,0x8e,0xe4,0x7a,0x86,0x08,},"\x35\xca\x57\xf0\xf9\x15\xe5\x20\x9d\x54\xea\x4b\x87\x1f\xfb\x58\x53\x54\xdf\x1b\x4a\x4a\x17\x96\xfb\xe4\xd6\x22\x7d\x3e\x1a\xba\x51\x71\xed\x03\x91\xa7\x9e\x83\xe2\x4d\x82\xfd\xaf\xd1\x5c\x17\xb2\x8b\xf6\xc9\x4d\x61\x8c\x74\xd6\x52\x64\xe5\x8f\xaa\xac\xd2\x90\x28\x72\xfd\xd0\xef\xa2\x2e\x8d\x2d\x7c\xe8\xe3\xb8\x19\x7f\x0c\x36\x15\xb0\xa3\x85\x23\x5f\xa9\xfd\x8e\x45\x64\xee\x6e\x6b\x16\x50\xb4\xcf\xb9\x4d\x87\x2c\x80\x5c\x32\xd4\xf3\xa1\x8f\x96\x64\x61\xd3\xad\xbb\x60\x5f\xa5\x25\x88\x4f\x8e\xb1\x97\x62\x73\x96\xba\x4d\x99\x5d\x78\xac\x02\x94\x8a\x0e\xaa\xbb\x58\x51\x9b\x9a\x8e\x2e\x79\x85\xcd\x1d\xe2\xc7\x1d\x89\x18\xd9\x6a\x01\x68\x66\x0c\xe1\x7c\xdd\xf3\x64\xe3\xec\x0d\x4b\xd9\x0f\x21\x04\x75\x1a\x19\x27\xee\x1d\x23\xf3\xe7\xa6\x98\x40\xed\x04\x0b\x00\xe5\xf6\xe4\x86\x6e\xc5\x88\x13\x14\x9c\xc3\x82\xae\xbf\x61\x62\x60\x8c\x79\x57\x4d\x55\x3f\x47\x23\x0e\x92\x4a\x0e\xf1\xeb\xf5\x5d\x8e\x1a\x52\xab\xb6\x2a\x2d\x7a\xc8\x60\x27\xc7\xc0\x3c\xc8\x3f\xa1\x94\x9d\xa2\x9e\x2f\x30\x37\xab\x98\x6f\xd2\xff\xfe\x65\x0e\x31\x49\xba\xba\xe5\xa5\x0b\x1e\xe9\x69\x6f\x3b\xab\xec\x72\xe2\x96\x97\xc8\x24\x22\x81\x4d\x27\x20\x85\x50\x0f\xd8\x37\xfe\x3c\x7a\x97\x3e\xf4\xc1\x69\xaf\x12\xdd\x7f\x02\x70\x06\x20\xbb\x04\x5b\xdb\xf8\x46\x23\xf3\x26\x35\x05\x70\xb3\xca\xdb\xc9\xae\xa4\x20\x0b\x28\x28\x7e\x17\xab"}, -{{0x91,0x84,0xef,0x61,0x88,0x16,0x83,0x25,0x92,0xbc,0x8e,0xb3,0x5f,0x4f,0xfd,0x4f,0xf9,0x8d,0xfb,0xf7,0x77,0x6c,0x90,0xf2,0xaa,0xd2,0x12,0xce,0x7e,0x03,0x35,0x1e,},{0x68,0x7b,0x77,0x26,0x01,0x0d,0x9b,0xde,0x2c,0x90,0xe5,0x73,0xcd,0x2a,0x2a,0x70,0x2f,0xf2,0x8c,0x4a,0x2a,0xf7,0x0a,0xfc,0x73,0x15,0xc9,0x4d,0x57,0x56,0x01,0xe5,},{0xb3,0xc2,0x4e,0x75,0x13,0x2c,0x56,0x34,0x75,0x42,0x2d,0x5e,0xa4,0x12,0xb5,0xc1,0xe8,0xe6,0xe5,0xea,0x1c,0x08,0xea,0xd1,0x39,0x3c,0x41,0x2d,0xa1,0x34,0xc9,0xa1,0x63,0x82,0x84,0xea,0x7e,0x2c,0xa0,0x32,0xfe,0x3d,0x3e,0x32,0xa9,0x06,0x6a,0x8c,0x88,0x39,0x90,0x3f,0x6e,0xf4,0x6e,0x96,0x6b,0xb5,0xe4,0x92,0xd8,0xc2,0xaa,0x00,},"\x72\x9e\xb7\xe5\x4a\x9d\x00\xc5\x86\x17\xaf\x18\xc3\x45\xb8\xdc\x6e\x5b\x4e\x0f\x57\xde\x2f\x3c\x02\xe5\x4a\x2e\xc8\xf1\x42\x5e\xc2\xe2\x40\x77\x5b\x5a\xb0\xc1\x0f\x84\xac\x8b\xaf\xda\x45\x84\xf7\xe2\x1c\x65\x5f\xae\xcd\x80\x30\xa9\x89\x06\xbd\x68\x39\x8f\x26\xb5\xd5\x8d\x92\xb6\xcf\x04\x5e\x9b\xd9\x74\x3c\x74\xc9\xa3\x42\xec\x61\xce\x57\xf3\x7b\x98\x1e\xac\x4d\x8b\xf0\x34\x60\x88\x66\xe9\x85\xbb\x68\x68\x6a\x68\xb4\xa2\xaf\x88\xb9\x92\xa2\xa6\xd2\xdc\x8c\xe8\x8b\xfb\x0a\x36\xcf\x28\xbb\xab\x70\x24\xab\xfa\x2b\xea\x53\x31\x3b\x66\xc9\x06\xf4\xf7\xcf\x66\x97\x0f\x54\x00\x95\xbd\x01\x04\xaa\x49\x24\xdd\x82\xe1\x54\x13\xc2\x26\x79\xf8\x47\xe4\x8c\xd0\xc7\xec\x1f\x67\x7e\x00\x5f\xec\x01\x77\xfb\xd5\xc5\x59\xfc\x39\xad\xd6\x13\x99\x1f\xba\xea\xe4\xd2\x4d\x39\xd3\x09\xef\x74\x64\x7f\x81\x92\xcc\x4c\x62\xd0\x64\x20\x28\xc7\x6a\x1b\x95\x1f\x6b\xc9\x63\x9d\xeb\x91\xec\xc0\x8b\xe6\x04\x3f\x21\x09\x70\x5a\x42\xc7\xea\xe7\x12\x64\x9d\x91\xd9\x6c\xcb\xbf\xb6\x3d\x8d\x0d\xd6\xdd\x11\x21\x60\xf6\x13\x61\xec\xdc\x67\x93\x92\x9c\xa9\xae\xf9\xab\x56\x94\x4a\x6f\xa4\xa7\xdf\x1e\x27\x9e\xaf\x58\xce\x83\x23\xa9\xcf\x62\xc9\x42\x79\xff\xf7\x44\x0f\xbc\x93\x6b\xaa\x61\x48\x9c\x99\x93\x30\xba\xdc\xb9\xfc\x0e\x18\x4b\xc5\x09\x3f\x33\x0c\xbb\x24\x2f\x71\xfb\x37\x87\x38\xfe\xa1\x05\x11\xdd\x43\x83\x64\xd7\xf7\x6b\xcc"}, -{{0x35,0x4e,0x13,0x15,0x2e,0xe1,0xfe,0x74,0x8a,0x12,0x52,0x20,0x4c,0x65,0x27,0xbd,0xc1,0xb1,0xeb,0x2e,0xb5,0x36,0x78,0x15,0x0e,0x63,0x59,0x92,0x47,0x08,0xd8,0x12,},{0xd4,0x5f,0xf6,0xc5,0xfb,0x83,0xe7,0xbb,0x96,0x69,0xaa,0x89,0x60,0xde,0xb7,0xdb,0xc6,0x65,0xc9,0x88,0x43,0x9b,0x6c,0x9e,0xf6,0x72,0xc6,0x81,0x1d,0xc8,0xbc,0xf6,},{0xde,0x2b,0x46,0xe6,0x5f,0x3d,0xec,0xef,0x34,0x33,0x2e,0x50,0x0f,0x2e,0x11,0x30,0x6f,0xbd,0xcf,0x1b,0xe8,0x5a,0x1c,0x1e,0xe6,0x8b,0xa3,0x04,0x5d,0xce,0xc2,0xc7,0xbe,0x60,0x8d,0x22,0x92,0x7d,0xa1,0xf4,0x4c,0x0e,0x20,0x83,0xae,0x62,0x2c,0xf3,0xc2,0x9d,0x89,0x38,0x87,0x99,0x4e,0xfc,0xfa,0x2c,0xa5,0x94,0xf5,0x05,0x1f,0x03,},"\x8e\x5f\xcc\xf6\x6b\x1b\xa6\x16\x9c\xb6\x85\x73\x3d\x9d\x0e\x01\x90\x36\x1c\x90\xbc\xab\x95\xc1\x63\x28\x5a\x97\xfe\x35\x6d\x2b\xdc\xde\x3c\x93\x80\x26\x88\x05\xa3\x84\xd0\x63\xda\x09\xcc\xd9\x96\x9c\xc3\xff\x74\x31\xe6\x0a\x8e\x9f\x86\x9c\xd6\x2f\xaa\x0e\x35\x61\x51\xb2\x80\xbc\x52\x6e\x57\x7c\x2c\x53\x8c\x9a\x72\x4d\xc4\x8b\xf8\x8b\x70\x32\x1d\x7e\x1e\xee\xdb\x3c\x4a\xf7\x06\x74\x8c\x94\x2e\x67\xbd\xab\xdb\x41\xbe\xc2\x97\x7b\x15\x23\x06\x9e\x31\xe2\x9b\x76\x30\x02\x88\xf8\x8a\x51\xb3\x84\xb8\x0c\xc2\x52\x6f\x16\x79\x34\x0d\xde\xc3\x88\x1f\x5c\xd2\x8b\x03\x78\xd9\xcd\x0a\x81\x2b\x68\xdd\x3f\x68\xf7\xa2\x3e\x1b\x54\xbe\xe7\x46\x6a\xc7\x65\xcf\x38\xdf\x04\xd6\x74\x41\xdf\xa4\x98\xc4\xbf\xfc\x52\x04\x5f\xa6\xd2\xdb\xcd\xbf\xa3\x3d\xfa\xa7\x76\x44\xff\xcc\xef\x0d\xec\xdb\x67\x90\xc7\x0a\x0d\x73\x4e\xc2\x87\xcc\x33\x8c\xb5\xa9\x09\xc0\x05\x51\x89\x30\x11\x69\xc4\xf7\x70\x2c\x05\xc0\x91\x1a\x27\xb1\x6e\xf9\xed\x93\x4f\xa6\xa0\xca\x7b\x13\xe4\x13\x52\x34\x22\x53\x56\x47\x96\x80\x30\xed\xc4\x0c\xd7\x3e\x7d\x6b\x34\x5b\x75\x81\xf4\x38\x31\x6d\x68\xe3\xcd\x29\x2b\x84\x6d\x3f\x4f\x7c\x48\x62\xbc\x7e\x6b\x3f\xb8\x9a\x27\xf6\xf6\x0c\xd7\xdb\x2e\x34\xec\x9a\xae\x10\x13\xfe\x37\xac\xff\x8a\xd8\x88\xcb\x9a\x59\x3e\xf5\xe6\x21\xea\xe5\x18\x6c\x58\xb3\x1d\xcf\xde\x22\x87\x0e\x33\x6d\x33\xf4\x40\xf6\xb8\xd4\x9a"}, -{{0x7f,0xf6,0x2d,0x4b,0x3c,0x4d,0x99,0xd3,0x42,0xd4,0xbb,0x40,0x1d,0x72,0x6b,0x21,0xe9,0x9f,0x4e,0xf5,0x92,0x14,0x9f,0xc3,0x11,0xb6,0x87,0x61,0xf5,0x56,0x7f,0xf6,},{0x7f,0xdf,0xdb,0x9e,0xca,0x29,0xd3,0xf0,0x1d,0x94,0x86,0xd7,0xe1,0x12,0xce,0x03,0xaa,0x37,0xb9,0x13,0x26,0xa4,0x28,0x3b,0x9c,0x03,0x99,0x9c,0x5e,0xda,0x09,0x9a,},{0x05,0x8f,0x79,0x92,0x7f,0xbf,0x61,0x78,0x72,0x48,0x15,0xc7,0xb1,0x1c,0x63,0xba,0xaa,0x90,0xbc,0xc1,0x5d,0x72,0x72,0xbe,0x08,0x2f,0x8a,0x91,0x41,0x86,0x1c,0x81,0x64,0x33,0x05,0x5f,0x6c,0xf6,0x49,0x14,0x24,0x85,0x3f,0x9e,0xc7,0x8b,0xb9,0x1a,0xce,0x91,0x3a,0x93,0x41,0x1b,0x4e,0x5e,0xd5,0x8b,0xc4,0xba,0x57,0x15,0xc6,0x0a,},"\x99\xc4\x4c\x79\x65\x72\xa4\x82\x3f\xc6\xc3\x80\x77\x30\x83\x91\x73\x77\x4c\x05\xdb\xfc\x14\x92\xed\x0d\x00\x50\x9a\x95\xa1\xde\x37\x27\x4b\x31\x35\xed\x04\x56\xa1\x71\x8e\x57\x65\x97\xdc\x13\xf2\xa2\xab\x37\xa4\x5c\x06\xcb\xb4\xa2\xd2\x2a\xfa\xd4\xd5\xf3\xd9\x0a\xb3\xd8\xda\x4d\xcd\xaa\x06\xd4\x4f\x22\x19\x08\x84\x01\xc5\xdc\xee\xe2\x60\x55\xc4\x78\x2f\x78\xd7\xd6\x3a\x38\x06\x08\xe1\xbe\xf8\x9e\xee\xf3\x38\xc2\xf0\x89\x7d\xa1\x06\xfa\xfc\xe2\xfb\x2e\xbc\x5d\xb6\x69\xc7\xc1\x72\xc9\xcf\xe7\x7d\x31\x09\xd2\x39\xfe\x5d\x00\x5c\x8e\xe7\x51\x51\x1b\x5a\x88\x31\x7c\x72\x9b\x0d\x8b\x70\xb5\x2f\x6b\xd3\xcd\xa2\xfe\x86\x5c\x77\xf3\x6e\x4f\x1b\x63\x5f\x33\x6e\x03\x6b\xd7\x18\xbe\xc9\x0e\xe7\x8a\x80\x28\x11\x51\x0c\x40\x58\xc1\xba\x36\x40\x17\x25\x3a\xa8\x42\x92\x2e\x1d\xd7\xd7\xa0\xf0\xfc\x9c\x69\xe4\x3f\xc4\xea\xef\xfa\xaf\x1a\xe5\xfa\x5d\x2d\x73\xb4\x30\x79\x61\x7b\xab\xa0\x30\x92\x3f\xe5\xb1\x3d\x2c\x1c\x4f\xe6\xfa\xc3\xf2\xdb\x74\xe2\x02\x0a\x73\x4b\x61\x21\xa0\x30\x2f\xce\x82\x0b\xa0\x58\x0c\xe6\x13\x53\x48\xfd\xf0\x63\x2e\x00\x08\xdf\x03\xee\x11\x21\x68\xf5\xcf\xa0\x03\x7a\x26\xa1\xf6\x9b\x1f\x13\x17\xed\xf2\xa3\xab\x36\x74\x55\xa7\x7e\x00\x69\x12\x15\xd7\xaa\x31\x33\xc2\x15\x9d\x3d\xa2\xb1\x34\xcf\x04\xf0\xde\xfb\xf0\x7a\x60\x64\x01\x1e\x64\xdd\x14\xd4\xf8\xf0\x64\x35\x66\x55\x42\x88\x04\xc2\x77\x1a"}, -{{0x6c,0xab,0xad,0xd0,0x3f,0x8a,0x2e,0x6e,0xba,0xb9,0x6a,0x74,0xf8,0x0e,0x18,0x16,0x4e,0x4d,0x1b,0x6b,0xaa,0x67,0x8f,0x5a,0x82,0xe2,0x56,0x04,0xaf,0x98,0x9a,0xaf,},{0x2a,0x4a,0x31,0x79,0x56,0x41,0x94,0xe0,0x01,0x00,0xc1,0x8b,0xc3,0x53,0x51,0xd8,0xb1,0x35,0xbb,0xae,0x5b,0x32,0xb2,0x8f,0xce,0x1d,0x7b,0x67,0x66,0xca,0x4b,0x32,},{0x4e,0x65,0xc6,0xc1,0xd4,0x93,0x04,0x5e,0x8a,0x92,0x50,0xe3,0x97,0xc1,0xd1,0xd3,0x0f,0xfe,0xd2,0x4d,0xb6,0x6a,0x89,0x61,0xaa,0x45,0x8f,0x8f,0x0f,0xcb,0x76,0x0c,0x39,0xfe,0x86,0x57,0xd7,0xab,0x8f,0x84,0x00,0x0b,0x96,0xd5,0x19,0x71,0x7c,0xff,0x71,0xf9,0x26,0x52,0x2c,0x1e,0xfe,0xc7,0xf8,0xb2,0x62,0x4e,0xae,0x55,0xf6,0x0c,},"\x27\x9f\x78\xcf\x3b\x9c\xcf\xc6\xe1\xb0\x1e\x1a\x82\xf5\x0e\xd1\x72\xe9\xa8\xe1\xe7\x02\xbb\x15\x66\x1d\xd7\xdc\x3a\x45\x6f\xf7\xa7\xa7\xfd\xfb\x08\x1d\xb3\x86\x70\x79\x63\x0c\x7f\x70\xfd\x75\x32\x92\xec\x60\xec\xbf\x50\x63\x2e\x9a\xa4\x5b\x99\x65\x05\xc6\x6e\x6d\xc3\xc6\xae\x89\x2e\x21\xb6\xa8\x70\x5e\x4b\xba\xe8\xf1\x6a\x33\x78\x55\x4b\x31\xfd\xb0\x13\x9d\xcd\x15\xc9\x6a\x8a\x7e\x4b\x88\x75\x6a\x86\xd1\x8d\xb5\xdc\x74\xfd\x76\x91\x19\x7d\xd8\x8e\x2c\x7d\x5d\xf5\x2b\x04\x93\x44\xcd\xc4\x77\xc9\xcd\x7e\x89\xed\xa9\x9c\xcf\xb1\xd0\x08\x14\xd0\x15\x2b\x96\x54\xdf\x32\x79\x37\x2c\xa5\xf1\x8b\x1c\x94\x6f\x28\x94\xa7\x6b\x07\x9d\xdb\x1c\x3c\xd6\x1f\xbb\x96\x9a\xee\xc9\x19\x3a\x6b\x88\xfb\x7d\x13\x6c\x07\xf9\x82\x1e\x5c\x10\x74\xb4\xe9\x3b\xca\xf6\xfa\x14\xd0\xd1\xd7\xe1\x70\x75\x89\xd7\x7e\xc1\x33\x72\x06\xe5\x3a\x1f\x06\xcc\x26\x67\x2f\xf9\x5c\x13\xd5\xff\x44\x47\x66\x93\x1b\xa3\x0a\x0a\xfd\xcd\xad\xd2\x09\x8e\x9c\x41\xfd\x87\xa3\xf2\x3c\xd1\x6d\xbb\x0e\xfb\xf8\x09\x2c\xe3\x3e\x32\x7f\x42\x61\x09\x90\xe1\xce\xe6\xcb\x8e\x54\x95\x1a\xa0\x81\xe6\x97\x65\xae\x40\x09\xae\xed\x75\x8e\x76\x8d\xe5\x0c\x23\xd9\xa2\x2b\x4a\x06\xdc\x4d\x19\xfc\x8c\xbd\x0c\xde\xf4\xc9\x83\x46\x17\x55\xd0\xa3\xb5\xd6\xa9\xc1\x22\x53\xe0\x95\x68\x33\x9f\xf7\xe5\xf7\x8c\x5f\xdf\x7e\xc8\x9f\x91\x86\xa6\x21\xa8\xc0\xee\xd1\x1b\x67\x02\x2e"}, -{{0x0f,0xa0,0xc3,0x2c,0x3a,0xe3,0x4b,0xe5,0x1b,0x92,0xf9,0x19,0x45,0x40,0x59,0x81,0xa8,0xe2,0x02,0x48,0x85,0x58,0xa8,0xe2,0x20,0xc2,0x88,0xc7,0xd6,0xa5,0x53,0x2d,},{0xd6,0xae,0xe6,0x2b,0xd9,0x1f,0xc9,0x45,0x36,0x35,0xff,0xcc,0x02,0xb2,0xf3,0x8d,0xca,0xb1,0x32,0x85,0x14,0x03,0x80,0x58,0x0c,0xcd,0xff,0x08,0x65,0xdf,0x04,0x92,},{0x7e,0x9a,0xb8,0x5e,0xe9,0x4f,0xe4,0xb3,0x5d,0xcb,0x54,0x53,0x29,0xa0,0xef,0x25,0x92,0x3d,0xe5,0xc9,0xdc,0x23,0xe7,0xdf,0x1a,0x7e,0x77,0xab,0x0d,0xcf,0xb8,0x9e,0x03,0xf4,0xe7,0x85,0xca,0x64,0x29,0xcb,0x2b,0x0d,0xf5,0x0d,0xa6,0x23,0x0f,0x73,0x3f,0x00,0xf3,0x3a,0x45,0xc4,0xe5,0x76,0xcd,0x40,0xbd,0xb8,0x4f,0x1a,0xe0,0x01,},"\x53\xf4\x4b\xe0\xe5\x99\x7f\xf0\x72\x64\xcb\x64\xba\x13\x59\xe2\x80\x1d\xef\x87\x55\xe6\x4a\x23\x62\xbd\xda\xf5\x97\xe6\x72\xd0\x21\xd3\x4f\xfa\xce\x6d\x97\xe0\xf2\xb1\xf6\xae\x62\x5f\xd3\x3d\x3c\x4f\x6e\x9f\xf7\xd0\xc7\x3f\x1d\xa8\xde\xfb\x23\xf3\x24\x97\x5e\x92\x1b\xb2\x47\x32\x58\x17\x7a\x16\x61\x25\x67\xed\xf7\xd5\x76\x0f\x3f\x3e\x3a\x6d\x26\xaa\xab\xc5\xfd\xe4\xe2\x04\x3f\x73\xfa\x70\xf1\x28\x02\x09\x33\xb1\xba\x3b\x6b\xd6\x94\x98\xe9\x50\x3e\xa6\x70\xf1\xed\x88\x0d\x36\x51\xf2\xe4\xc5\x9e\x79\xca\xbc\x86\xe9\xb7\x03\x39\x42\x94\x11\x2d\x5d\x8e\x21\x3c\x31\x74\x23\xb5\x25\xa6\xdf\x70\x10\x6a\x9d\x65\x8a\x26\x20\x28\xb5\xf4\x51\x00\xcb\x77\xd1\x15\x0d\x8f\xe4\x61\xee\xd4\x34\xf2\x41\x01\x5f\x32\x76\xad\x7b\x09\xa2\x91\xb4\xa7\xf3\x5e\x3c\x30\x05\x1c\xbf\x13\xb1\xd4\xa7\xfa\x0c\x81\xa5\x0f\x93\x9e\x7c\x49\x67\x3a\xfd\xc8\x78\x83\xc9\xe3\xe6\x1f\x5a\x1d\xf0\x37\x55\x47\x0f\xda\x74\xbf\x23\xea\x88\x67\x6b\x25\x8a\x97\xa2\x80\xd5\xf9\x0b\x52\xb7\x14\xb5\x96\x03\x5b\xae\x08\xc8\xd0\xfe\x6d\x94\xf8\x94\x95\x59\xb1\xf2\x7d\x71\x16\xcf\x59\xdd\x3c\xfb\xf1\x82\x02\xa0\x9c\x13\xf5\xc4\xfb\xc8\xd9\x72\x25\x49\x28\x87\xd3\x28\x70\xc2\x29\x7e\x34\xde\xbd\x98\x76\xd6\xd0\x1a\xc2\x7a\x16\xb0\x88\xb0\x79\x07\x9f\x2b\x20\xfe\xb0\x25\x37\xcd\xa3\x14\xc4\x3c\xb2\xdc\xa3\x71\xb9\xdf\x37\xed\x11\xec\x97\xe1\xa7\xa6\x99\x3a"}, -{{0x7b,0x06,0xf8,0x80,0x26,0xfa,0x86,0xf3,0x9f,0xce,0x24,0x26,0xf6,0x7c,0xc5,0x99,0x6b,0xed,0xd0,0xcf,0xc4,0xb5,0xeb,0xb1,0xb5,0xe3,0xed,0xbb,0x47,0xe0,0x80,0xaa,},{0x3f,0x14,0x69,0xee,0x6a,0x2e,0x78,0x67,0xe2,0xe9,0x01,0x2d,0x40,0x2c,0xf5,0xa4,0x86,0x14,0x97,0xc0,0x1d,0xf8,0x79,0xa1,0xde,0xb1,0xc5,0x39,0x83,0x0b,0x58,0xde,},{0x42,0xf1,0x33,0xe3,0x4e,0x3e,0xb7,0x03,0x2a,0x13,0x3e,0xd7,0x81,0x53,0x7e,0xc6,0x2e,0x44,0xa5,0xce,0x83,0x81,0xe5,0xe0,0xbf,0x9e,0x13,0xa9,0x14,0xa4,0xb2,0xc7,0x57,0x81,0x1d,0x6d,0x3b,0x1e,0x86,0x67,0x24,0x24,0xea,0x42,0x30,0xd1,0x0f,0x7c,0x61,0x0a,0xbb,0x70,0x69,0xe6,0x1e,0x31,0x9b,0x40,0x66,0xa2,0xbd,0x7b,0xc9,0x00,},"\x71\x17\x5d\x4e\x21\x72\x12\x97\xd9\x17\x6d\x81\x7f\x4e\x78\x5d\x96\x00\xd9\x23\xf9\x87\xfe\x0b\x26\xfd\x79\xd3\x3a\x5e\xa5\xd1\xe8\x18\xb7\x1f\x0f\x92\xb8\xc7\x3a\xfd\xda\xbd\xcc\x27\xf6\xd1\x6e\x26\xaa\xfa\x87\x4c\xfd\x77\xa0\x0e\x06\xc3\x6b\x04\x14\x87\x58\x2b\xb9\x33\x76\x0f\x88\xb4\x19\x12\x73\x45\x77\x6e\xa4\x18\xf8\x35\x22\x25\x4f\xed\x33\x81\x9b\xc5\xc9\x5f\x8f\x84\x04\xcc\x14\x4e\xbf\x14\x86\xc8\x85\x15\x40\x9d\x34\x33\xaa\xf5\x19\xd9\x92\x0f\x52\x56\xe6\x29\x41\x9e\x9a\x95\x58\x0a\x35\xb0\x69\xb8\xd2\x55\x33\xdf\xcb\xc9\x8a\xd3\x64\x04\xa9\x51\x80\x8e\x01\x37\x8c\x03\x26\x63\x26\xd1\x20\x04\x69\x75\xfd\xe0\x7d\xae\xf3\x26\x6c\xaa\xcd\x82\x1c\x14\x03\x49\x9d\x7f\xdf\x17\xc0\x33\xc8\xd8\xc3\xf2\x8f\x16\x2b\x5f\x09\xdf\xda\xca\x06\x28\x5f\x00\xc6\xcb\x98\x6d\xfd\xf5\x15\x1a\xa6\x63\x96\x08\xb5\xb1\x3e\x78\xd6\x5a\x43\x68\x58\x5b\x16\x13\x87\x54\xfb\xd1\x13\x83\x5a\x68\x6c\xd0\x66\xc2\xb8\x9b\xb0\x95\x3c\x24\xd5\x0e\x77\xbf\x0f\xc4\x57\xc1\xe0\xfc\xf5\xd4\x4d\xa8\xdb\x9a\x88\xf0\x62\xbe\x3b\x68\x8d\x5c\xdc\xff\x1d\x1c\x00\xe8\x1e\xc9\xd4\x13\x88\x22\x95\xb3\x41\xfe\xe8\xfa\x42\x7d\xc1\x09\xad\xeb\x5f\x28\x4e\xec\x20\x2f\x1b\xef\x11\x5b\xf9\x6b\x17\x82\xd3\xcc\xde\xb6\x82\xb6\x9b\xf9\x2d\x17\x0c\x00\x7d\x5d\xf8\x0e\x1e\xd9\x62\xf6\x77\xdc\x24\xa1\x45\xa1\xe4\xe8\x29\xe8\xde\xc0\x10\x4e\x5f\x78\x36\x59\x44"}, -{{0xc3,0xf5,0xe1,0x49,0x96,0x8a,0x24,0xf4,0xde,0x91,0x19,0x53,0x19,0x75,0xf4,0x43,0x01,0x5c,0xcc,0xa3,0x05,0xd7,0x11,0x9e,0xd4,0x74,0x9e,0x8b,0xf6,0xd9,0x4f,0xc7,},{0x39,0xaa,0xcc,0xdb,0x94,0x8a,0x40,0x38,0x53,0x8a,0x45,0x88,0x32,0x2f,0x80,0x6b,0xb1,0x29,0xb5,0x87,0x6c,0x4b,0xec,0x51,0x27,0x1a,0xfe,0x4f,0x49,0x69,0x00,0x45,},{0x5f,0xa2,0xb5,0x31,0x67,0x7b,0x00,0xb8,0x5b,0x0a,0x31,0x3c,0xbd,0x47,0x9f,0x55,0xf4,0xab,0x3e,0xc5,0xcf,0xce,0x5e,0x45,0x4d,0x2b,0x74,0x17,0x6c,0xcc,0x33,0x99,0xc8,0x99,0xf9,0xd6,0xb5,0x1e,0xd4,0xc1,0xe7,0x61,0x85,0xac,0x9f,0xe7,0x30,0xc4,0xb4,0x01,0x40,0x44,0xf7,0x04,0x11,0x85,0xbc,0x3c,0x85,0x72,0x2e,0xb2,0xea,0x02,},"\xc4\x63\x70\xe3\x7f\x2e\x0c\xad\xcf\x93\x40\x2f\x1f\x0c\xb0\x48\xf5\x28\x81\xba\x75\x0b\x7a\x43\xf5\x6a\xb1\x1c\xe3\x48\x73\x2f\xb5\x7e\x7f\x9a\xaf\x8d\xfc\xbe\x45\x5e\x14\xe9\x83\xc2\x48\xd0\x26\xa2\x7e\x7f\x14\x8d\x5d\xb5\xa5\x3f\x94\x63\x57\x02\xb8\x95\x12\x77\x71\x04\x7a\x87\x6d\x14\x10\x73\x86\xc5\xe0\xff\x89\x33\x34\x5b\xbd\x7a\x93\x6d\x99\x0d\x33\xef\xa2\x8c\x2e\xc4\xe4\x86\x4f\xfd\x2f\xf5\x76\xf7\xc8\x8f\x95\x4c\xfc\x1c\x45\x9e\x88\x3b\xb7\x12\xda\xe3\xcd\xf6\x63\x20\x66\xf1\xf4\xd1\x3a\x50\x96\x15\xb3\x36\x0c\xad\xc5\xa3\x07\xf2\x3e\x52\xa5\x1b\x40\xa6\xfe\xeb\xe0\xb1\x8d\x0e\x9e\xe4\xe3\x48\xf3\x3c\xd8\x1a\x8d\xef\x22\x2f\x6a\x59\xb1\x28\x61\xd3\x35\xbd\x9a\xf8\x5c\xc0\x04\xbe\x46\xf1\xd3\xa4\x24\xf4\x87\x0a\xe9\xdc\x58\x7e\x5a\x4a\xde\x13\x6b\x93\x70\x64\x93\x48\xc3\x3a\xc3\xbf\x1f\xeb\xee\xbf\xfe\xa3\x70\x85\xed\x59\xca\xc9\xd9\xe6\x96\x47\x0b\x23\x46\x09\xe9\xa1\x0a\x9d\x43\x1f\xf9\x1e\x69\xcb\x51\x35\xfd\x11\x7f\xf5\x8a\x36\x53\x97\x44\xeb\xe7\x0c\xea\x69\x73\xc0\x0c\x7a\x4d\x57\xb6\x2f\x4a\x71\x36\xd7\x31\xb8\xe4\x6f\xf1\x8e\xc0\xed\x69\x07\x00\x31\x90\x50\x75\xd8\x54\x1d\x56\x8c\xfc\xe6\xee\xb7\x62\x42\xb7\x81\x9a\x7b\x6a\x93\x55\x21\x11\xbb\x88\xf1\x65\x52\x7c\xfa\x69\x66\xd3\x9f\xcb\xe0\xa7\xde\xa0\x08\xe3\x9c\x7a\x3e\x57\x7a\xb3\x07\xcd\x1d\x0e\xa3\x26\x83\x3d\x52\x65\x4e\x17\x29\x55\xf3\xfc\xd4"}, -{{0x42,0x30,0x5c,0x93,0x02,0xf4,0x5e,0xa6,0xf8,0x7e,0x26,0xe2,0x20,0x8f,0xd9,0x4b,0x3c,0x4a,0xd0,0x37,0xb1,0xb6,0xc8,0x3c,0xf6,0x67,0x7a,0xa1,0x09,0x6a,0x01,0x3c,},{0x3b,0x97,0xb1,0xf1,0x1c,0xe4,0x5b,0xa4,0x6f,0xfb,0xb2,0x5b,0x76,0xbf,0xc5,0xad,0x7b,0x77,0xf9,0x0c,0xc6,0x9e,0xd7,0x61,0x15,0xde,0xa4,0x02,0x94,0x69,0xd5,0x87,},{0x18,0xd0,0x5e,0x5d,0x01,0x66,0x8e,0x83,0xf4,0x0f,0xa3,0xbb,0xee,0x28,0xb3,0x88,0xac,0xf3,0x18,0xd1,0xb0,0xb5,0xad,0x66,0x8c,0x67,0x2f,0x34,0x5c,0x8e,0xda,0x14,0xc2,0xf8,0x84,0xcd,0x2a,0x90,0x39,0x45,0x9c,0xe0,0x81,0x0b,0xc5,0xb5,0x80,0xfe,0x70,0xd3,0x96,0x4a,0x43,0xed,0xb4,0x9e,0x73,0xa6,0xff,0x91,0x4b,0xbf,0x04,0x0c,},"\xd1\x10\x82\x8d\x44\x91\x98\xd6\x75\xe7\x4e\x8e\x39\x43\x9f\xd1\x5e\x75\xbf\x2c\xc1\xf4\x30\xab\xfb\x24\x58\x36\x88\x5b\xaf\xc4\x20\xf7\x54\xb8\x9d\x2f\xbb\xf6\xdd\x34\x90\x79\x2e\x7a\x4f\x76\x60\x73\xcf\xe3\xb3\x02\xd0\x89\x83\x1a\xce\x86\x9e\x27\x30\xfd\xe4\x5c\x21\x21\xec\x3e\xf2\x17\xaa\x9c\x43\xfa\x7c\xc7\xe9\xed\x0a\x01\xad\x9f\x1d\x2f\xc3\x61\x36\x38\xca\x9f\xc1\x93\xc9\x8b\x37\x45\x5b\xf5\xdb\xf8\xf3\x8b\x64\x70\x8d\xfd\xca\x6c\x21\xf0\x97\x5f\x10\x17\xc5\xda\x5f\x64\x34\xbd\xa9\xf0\x33\xce\xc2\xa6\x31\xab\x50\x31\x8e\x01\x7b\x17\x0b\x24\x0b\xf0\x1e\xb8\xb3\x6c\x7e\x1c\xb5\x9e\x77\x36\xac\x34\x44\x42\x08\x13\x2a\x8f\x59\xe4\xf3\x13\xd6\x5d\x84\x9c\x6a\x4f\xdf\x13\xe2\x0e\xca\xee\x38\x23\xe5\x89\xa1\x71\xb3\x9b\x24\x89\x49\x7b\x06\xe6\xff\x58\xc2\xc9\xf1\xdc\x5d\x3a\xa3\xbd\x10\xe6\x44\x3e\x22\xd4\x2d\x07\xb7\x83\xf7\x9f\xd4\x3a\x46\xe1\xcd\xe3\x14\xb6\x63\xa9\x5f\x72\x46\xde\xa1\x31\xfc\xd4\x6d\x1d\xc3\x33\xc5\x45\x4f\x86\xb2\xc4\xe2\xe4\x24\xde\xa4\x05\xcc\x22\x30\xd4\xdc\xd3\x9a\x2e\xab\x2f\x92\x84\x5c\xf6\xa7\x99\x41\x92\x06\x3f\x12\x02\x74\x9e\xf5\x2d\xcb\x96\xf2\xb7\x9e\xd6\xa9\x81\x18\xca\x0b\x99\xba\x22\x85\x49\x08\x60\xeb\x4c\x61\xab\x78\xb9\xdd\xc6\xac\xc7\xad\x88\x3f\xa5\xe9\x6f\x9d\x02\x91\x71\x22\x3a\xbf\x75\x73\xe3\x62\x30\xe0\xa8\x1f\x6c\x13\x11\x15\x14\x73\xee\x26\x4f\x4b\x84\x2e\x92\x3d\xcb\x3b"}, -{{0xc5,0x7a,0x43,0xdc,0xd7,0xba,0xb8,0x51,0x60,0x09,0x54,0x69,0x18,0xd7,0x1a,0xd4,0x59,0xb7,0x34,0x5e,0xfd,0xca,0x8d,0x4f,0x19,0x92,0x98,0x75,0xc8,0x39,0xd7,0x22,},{0x20,0x83,0xb4,0x44,0x23,0x6b,0x9a,0xb3,0x1d,0x4e,0x00,0xc8,0x9d,0x55,0xc6,0x26,0x0f,0xee,0x71,0xac,0x1a,0x47,0xc4,0xb5,0xba,0x22,0x74,0x04,0xd3,0x82,0xb8,0x2d,},{0x1e,0xde,0xf9,0xbc,0x03,0x69,0x71,0xf1,0xfa,0x88,0xed,0xf4,0x53,0x93,0xc8,0x02,0xe6,0xc1,0xa1,0x63,0x1c,0x8a,0x06,0x87,0x1a,0x09,0xa3,0x20,0x82,0x1d,0xce,0x40,0xbe,0xca,0x97,0xe5,0x3a,0x03,0x61,0xa9,0x55,0xa4,0xc6,0xd6,0x0b,0x8c,0xa8,0xe4,0x00,0xc8,0x13,0x40,0x91,0x1c,0xcb,0x4f,0x56,0x28,0x40,0x41,0xcd,0xbb,0x18,0x04,},"\xa4\xf6\xd9\xc2\x81\xcf\x81\xa2\x8a\x0b\x9e\x77\x49\x9a\xa2\x4b\xde\x96\xcc\x12\x64\x37\x44\x91\xc0\x08\x29\x4e\xe0\xaf\x6f\x6e\x4b\xbb\x68\x63\x96\xf5\x90\x68\xd3\x58\xe3\x0f\xe9\x99\x2d\xb0\xc6\xf1\x66\x80\xa1\xc7\x1e\x27\xa4\xa9\x07\xac\x60\x7d\x39\xbd\xc3\x25\x8c\x79\x56\x48\x2f\xb3\x79\x96\xf4\xbe\xb3\xe5\x05\x1b\x81\x48\x01\x9a\x1c\x25\x6e\x2e\xe9\x99\xeb\xc8\xce\x64\xc5\x4e\x07\xfe\xdb\x4f\xbd\x89\x53\xeb\xd9\x3b\x7d\x69\xce\x5a\x00\x82\xed\xd6\x20\x9d\x12\xd3\x61\x9b\x4f\xd2\xea\xe9\x16\x46\x1f\x72\xa4\xce\x72\x71\x57\x25\x1a\x19\x20\x9b\xbf\xf9\xfb\xdb\xd2\x89\x43\x6f\x3f\xca\xcc\x6b\x4e\x13\x18\x52\x1a\x47\x83\x9c\xba\x4b\x14\xf7\xd7\xa2\x1e\x7b\x5d\x6b\x6a\x75\x3d\x58\x04\xaf\xcd\x2b\x1e\xb7\x77\x9b\x92\xab\xab\x8a\xfa\x8a\xa4\xfa\x51\xca\xec\x0b\x85\xdc\xd0\xfc\x2a\x06\x76\x03\x6d\x3f\x56\x63\x0a\x83\x1f\xfe\xb5\x02\x86\x1d\xd8\x91\x61\xc7\x08\xa9\xc0\x06\xc7\x3c\x93\x0c\xe5\xb9\x47\x56\x42\x6f\xf1\x8a\xa1\x12\xfb\x4e\xb9\xa6\x85\x00\xb4\x8d\x4e\xed\xbd\x41\x67\xb6\xff\xd0\xa1\x1d\x49\x44\x3a\x17\x3c\xe9\xd9\x49\x43\x67\x48\xfc\x06\x34\xf0\x6b\xb0\x8b\x8f\x34\x23\xf4\x46\x3d\xba\x7b\x4d\x19\x9b\x64\xdf\x57\x81\x17\xf0\xa2\x64\x5f\x0b\x2a\x1e\x2a\xda\x27\xd2\x86\xf7\x67\x33\xf2\x5b\x82\xed\x1d\x48\xa5\xc3\x89\x8d\x4a\xd6\x21\xe5\x0e\xd9\x06\x0d\xaa\xd4\x0a\x39\x53\x2e\x4d\x1b\xf1\x62\xce\x36\x80\x4d\x5d\x4e\x2d"}, -{{0x2d,0xdd,0xb6,0xb8,0xfd,0x04,0xfa,0x90,0xec,0xe1,0xa7,0x09,0xf8,0x41,0x8f,0x2e,0x5d,0x0c,0x9c,0x43,0xaf,0xe7,0xcf,0xce,0x19,0xe6,0xad,0x15,0xa7,0x34,0x76,0xf7,},{0x80,0x59,0xde,0x6a,0x7c,0x47,0x76,0x48,0x9e,0xcc,0x2e,0x7d,0x70,0x7f,0xfc,0xe3,0x02,0x85,0xbf,0x30,0xa2,0x3f,0x78,0xd7,0x2d,0xb4,0x9c,0xfd,0x6e,0xd0,0xd4,0x92,},{0xc6,0x34,0xea,0x7b,0xf7,0x2e,0x89,0x5a,0x2e,0x79,0x6e,0x28,0x34,0x20,0x14,0x15,0xb8,0xb4,0x5e,0x05,0xe0,0x45,0x55,0x92,0x84,0xeb,0x90,0x52,0xc0,0xe8,0x4f,0x62,0xa5,0xa9,0xf0,0xc9,0x76,0x4f,0x75,0x76,0x78,0x8c,0x72,0x28,0xb1,0x9e,0xf5,0x17,0xc1,0x95,0x49,0x73,0x25,0xa4,0x8a,0x93,0x44,0xb1,0x47,0xc1,0x2f,0xd7,0x55,0x09,},"\x47\x4b\xaa\x59\x0a\x4c\xd7\x2d\x54\x24\xe5\x1d\x82\x57\xb3\xd4\x43\x25\xbc\x4c\x50\x63\xa0\x03\x3c\x86\xeb\xbe\x99\xed\x72\x12\x18\x4c\x19\x94\x4d\x08\x2a\x11\x53\x79\xdd\x4c\xec\xe9\x73\xfa\xa0\xbc\xa6\x48\x5b\xd2\x5f\x37\x44\xa7\x19\xe7\x0a\xa0\x29\x1e\x1b\x5a\x96\xe6\x37\xc1\x40\x61\x6a\x98\x26\x33\x57\xc7\x6b\x6e\xb0\x08\x3f\xe5\x14\x14\xe3\x86\x87\x0d\x0f\xdc\x7d\xd9\xab\xe4\xff\x6f\xb5\xbb\xf1\xe7\xb1\x5d\xac\x3e\x08\xe2\x61\x5f\x65\x5c\x31\x04\xce\xb3\x2a\x4c\xc2\xc9\xe9\xc4\x3c\xf2\x82\xd3\x46\xac\x25\x3c\xcc\x46\xb6\x35\xae\x04\x09\x73\xb4\x97\x35\x72\x0f\xfb\x89\x04\x69\xa5\x67\xc5\x82\x4e\x0c\x00\xd7\xcc\xd5\x50\x9a\x71\x80\x92\xa9\x06\x46\x1c\x4d\x61\x63\xea\xf4\x22\x41\x8f\x5f\xc6\xe0\x09\xfc\x3f\x52\x9a\xc6\x1a\x2f\x89\xbb\x8e\x0e\xd4\x5d\x94\x0c\x4c\x23\x31\xff\x8d\x8e\x1d\x6d\x58\xd4\x17\xd8\xfc\x26\x56\xa0\x2e\x87\x01\xae\xe7\x5a\xed\x91\x87\x24\xee\xbe\x4a\x2c\xf4\x74\x4c\x5c\x40\x1e\x21\x70\x23\xdf\x68\xa6\xf6\xa0\x22\x8b\xd0\x5a\x67\x9a\x69\x7d\x8d\xe7\x03\x6b\x9e\xd2\x69\x09\x0d\x3c\x65\x48\x6a\xfb\x91\xe2\x79\x54\xeb\x15\xb9\x64\x66\x5e\xde\x7a\xd0\x08\xf1\x2f\xb3\xa9\xd0\xe6\x9c\x13\xb4\x25\x4f\x43\x81\x9e\x08\x18\xa4\x19\x5f\x68\xb8\xa3\x8a\xe8\x1f\x3f\xcb\x18\x79\xc9\x5a\xb4\xcd\x0f\xfc\x38\xe3\x81\x08\x92\x60\xcc\xa9\x67\xac\xe5\xa0\x85\xb4\x57\xab\x5e\xb3\x63\x85\x21\x01\x37\x75\x70\xf9\xac\x9e\x38"}, -{{0x55,0x47,0xf1,0x00,0x4b,0xae,0xdf,0xce,0x5c,0xfc,0x08,0x50,0xb0,0x53,0x02,0x37,0x4a,0xad,0x24,0xf6,0x16,0x39,0x94,0xec,0xd7,0x51,0xdf,0x3a,0xf3,0xc1,0x06,0x20,},{0x7c,0xe6,0x20,0x78,0x73,0x85,0xee,0x19,0x51,0xac,0x49,0xa7,0x73,0x52,0xee,0x0d,0x6f,0x8c,0x5c,0xd4,0x7d,0xf7,0x4e,0x9e,0x32,0x16,0xa6,0x32,0x4f,0xc7,0xcf,0x7f,},{0x29,0xdf,0x3a,0xd5,0x89,0x00,0x9c,0x66,0x7b,0xaa,0x5e,0x72,0xda,0xbb,0x4e,0x53,0xcb,0x78,0x76,0xde,0x4e,0x7e,0xfe,0x5c,0xc2,0x1e,0xad,0x7f,0xa8,0x78,0xdb,0x57,0xf9,0x7c,0x11,0x03,0xdd,0xb3,0x9a,0x86,0x1e,0xb8,0x86,0x53,0xc1,0xd4,0xec,0x3b,0x43,0x06,0xe4,0x58,0x4b,0x47,0xb8,0xbc,0x90,0x42,0x31,0x19,0xe7,0xe4,0xaf,0x00,},"\xa6\xc1\x7e\xeb\x5b\x80\x66\xc2\xcd\x9a\x89\x66\x73\x17\xa9\x45\xa0\xc7\xc9\x69\x96\xe7\x7a\xe8\x54\xc5\x09\xc6\xcd\x06\x31\xe9\x22\xad\x04\x50\x3a\xf8\x7a\x3c\x46\x28\xad\xaf\xed\x76\x00\xd0\x71\xc0\x78\xa2\x2e\x7f\x64\xbd\xa0\x8a\x36\x2b\x38\xb2\x6c\xa1\x50\x06\xd3\x8a\xcf\x53\x2d\x0d\xed\xea\x41\x77\xa2\xd3\x3f\x06\x95\x6d\x80\xe9\x63\x84\x8e\xc7\x91\xb2\x76\x2f\xa9\x94\x49\xb4\xf1\xa1\xed\x9b\x3f\x25\x80\xbe\x3a\xc7\xd7\xf5\x2f\xb1\x44\x21\xd6\x22\x2b\xa7\x6f\x80\x77\x50\xc6\xcb\xb0\xb1\x6f\x08\x95\xfc\x73\xd9\xdf\xc5\x87\xe1\xa9\xe5\xd1\xe5\x83\x75\xfb\xab\x70\x5b\x8f\x0c\x1f\xd7\xdf\x8b\x3a\xd4\x46\xf2\xf0\x84\x59\xe7\xed\x1a\xf5\x95\x56\xfb\xc9\x66\xdc\x24\x9c\x1c\xf6\x04\xf3\xe6\x77\xc8\xa0\x9d\x43\x63\x60\x87\x74\xbf\x38\x11\xbe\xf0\x64\x27\x48\xc5\x5c\x51\x6c\x7a\x58\x0f\xa3\x49\x90\x50\xac\xb3\x0e\xed\x87\x0d\x0d\x91\x17\x4c\xb6\x23\xe9\x8c\x3a\xd1\x21\xcf\x81\xf0\x4e\x57\xd4\x9b\x00\x84\x24\xa9\x8a\x31\xee\xaa\xf5\xf3\x8e\x00\x0f\x90\x3d\x48\xd2\x15\xed\x52\xf8\x62\xd6\x36\xa5\xa7\x36\x07\xde\x85\x76\x01\x67\x26\x7e\xfe\x30\xf8\xa2\x6e\xbc\x5a\xa0\xc0\x9f\x5b\x25\x8d\x33\x61\xca\x69\xd1\xd7\xee\x07\xb5\x96\x48\x17\x9a\xb2\x17\x0e\xc5\x0c\x07\xf6\x61\x6f\x21\x68\x72\x52\x94\x21\xa6\x33\x4a\x4a\x1e\xd3\xd2\x67\x1e\xf4\x7b\xc9\xa9\x2a\xfb\x58\x31\x4e\x83\x2d\xb8\xa9\x00\x34\x08\xa0\x48\x75\x03\xfe\x4f\x67\x77\x0d\xd4\xb6"}, -{{0x3d,0xd7,0x20,0x3c,0x23,0x7a,0xef,0xe9,0xe3,0x8a,0x20,0x1f,0xf3,0x41,0x49,0x01,0x79,0x90,0x5f,0x9f,0x10,0x08,0x28,0xda,0x18,0xfc,0xbe,0x58,0x76,0x8b,0x57,0x60,},{0xf0,0x67,0xd7,0xb2,0xff,0x3a,0x95,0x7e,0x83,0x73,0xa7,0xd4,0x2e,0xf0,0x83,0x2b,0xcd,0xa8,0x4e,0xbf,0x28,0x72,0x49,0xa1,0x84,0xa2,0x12,0xa9,0x4c,0x99,0xea,0x5b,},{0x4c,0x03,0x69,0x35,0xa9,0x6a,0xbc,0x0d,0x05,0x0d,0x90,0x7b,0xed,0xbe,0x99,0x46,0xfb,0x97,0x43,0x9f,0x03,0x9c,0x74,0x2e,0x05,0x1c,0xcf,0x09,0xad,0xd7,0xdf,0x44,0xd1,0x7d,0xa9,0x8c,0x2c,0xa0,0x1b,0xdc,0x24,0x24,0xda,0x1e,0x4d,0xeb,0xf3,0x47,0xf8,0xff,0xf4,0x8a,0xc8,0x03,0x0d,0x2c,0xc0,0x7f,0x95,0x75,0xc0,0x44,0xbe,0x04,},"\xdb\x28\xed\x31\xac\x04\xb0\xc2\xde\xce\xe7\xa6\xb2\x4f\xc9\xa0\x82\xcc\x26\x2c\xa7\xcc\xf2\xa2\x47\xd6\x37\x2e\xc3\xe9\x12\x0e\xce\xdb\x45\x42\xea\x59\x3f\xea\x30\x33\x5c\x5a\xb9\xdd\x31\x8a\x3b\x4f\xd5\x83\x42\x99\xcf\x3f\x53\xd9\xef\x46\x13\x7b\x27\x3c\x39\x0e\xc3\xc2\x6a\x0b\x44\x70\xd0\xd9\x4b\x77\xd8\x2c\xae\x4b\x24\x58\x78\x37\xb1\x67\xbb\x7f\x81\x66\x71\x0b\xae\xb3\xee\x70\xaf\x79\x73\x16\xcb\x7d\x05\xfa\x57\xe4\x68\xae\x3f\x0b\xd4\x49\x40\x4d\x85\x28\x80\x8b\x41\xfc\xca\x62\xf5\xe0\xa2\xaa\x5d\x8f\x3a\xca\xb0\x08\xcc\x5f\x6e\x5a\xb0\x27\x77\xbd\xcd\xe8\x7f\x0a\x10\xef\x06\xa4\xbb\x37\xfe\x02\xc9\x48\x15\xcf\x76\xbf\xb8\xf5\xcd\xd8\x65\xcc\x26\xdc\xb5\xcf\x49\x2e\xdf\xd5\x47\xb5\x35\xe2\xe6\xa6\xd8\x54\x09\x56\xdc\xba\x62\xcf\xea\x19\xa9\x47\x44\x06\xe9\x34\x33\x7e\x45\x42\x70\xe0\x10\x36\xac\x45\x79\x3b\x6b\x8a\xce\xda\x18\x7a\x08\xd5\x6a\x2c\xe4\xe9\x8f\x42\xea\x37\x5b\x10\x1a\x6b\x9f\xcb\x42\x31\xd1\x71\xaa\x46\x3e\xeb\x43\x58\x6a\x4b\x82\xa3\x87\xbc\xdd\xaf\x71\xa8\x0f\xd5\xc1\xf7\x29\x2e\xfc\x2b\xd8\xe7\x0c\x11\xea\xa8\x17\x10\x60\x61\xb6\xc4\x61\xc4\x88\x3d\x61\x3c\xc0\x6c\x7e\x2a\x03\xf7\x3d\x90\xfc\x55\xcd\xc0\x72\x65\xee\xfd\x36\xbe\x72\x27\x03\x83\xd6\xc6\x76\xca\xe3\x7c\x93\x69\x1f\x1a\xe3\xd9\x27\xb3\xa1\xcd\x96\x3e\x42\x29\x75\x7a\xe5\x23\x1e\xea\x73\xa9\xf7\x15\x15\x62\x83\x05\x41\x0a\xc2\x59\x3b\x32\x5c\xc6\x31"}, -{{0x28,0x27,0x75,0xdf,0x9e,0xbb,0xd7,0xc5,0xa6,0x5f,0x3a,0x2b,0x09,0x6e,0x36,0xee,0x64,0xa8,0xf8,0xea,0x71,0x9d,0xa7,0x77,0x58,0x73,0x9e,0x4e,0x74,0x76,0x11,0x1d,},{0xa2,0xb4,0x96,0x46,0x03,0x3a,0x13,0x93,0x7c,0xad,0x6b,0x0e,0x91,0x4e,0x3c,0xec,0x54,0x98,0x9c,0x25,0x2c,0xa5,0x64,0x3d,0x07,0x65,0x55,0xd8,0xc5,0x5e,0x56,0xe0,},{0x15,0x76,0x39,0x73,0x85,0x94,0x02,0x90,0x7d,0x8d,0xcb,0x86,0xad,0xc2,0x4a,0x2a,0x16,0x8b,0xa3,0xab,0xf2,0x24,0x61,0x73,0xd6,0x34,0x8a,0xfe,0xd5,0x1e,0xf6,0x0b,0x0c,0x0e,0xde,0xff,0x4e,0x10,0xbc,0xef,0x4c,0x6e,0x57,0x78,0xc8,0xbc,0x1f,0x5e,0x9e,0xe0,0x23,0x73,0x73,0x44,0x5b,0x45,0x51,0x55,0xd2,0x3d,0xe1,0x27,0xa2,0x02,},"\x14\xcc\x50\xc2\x97\x3e\xa9\xd0\x18\x7a\x73\xf7\x1c\xb9\xf1\xce\x07\xe7\x39\xe0\x49\xec\x2b\x27\xe6\x61\x3c\x10\xc2\x6b\x73\xa2\xa9\x66\xe0\x1a\xc3\xbe\x8b\x50\x5a\xea\xad\x14\x85\xc1\xc2\xa3\xc6\xc2\xb0\x0f\x81\xb9\xe5\xf9\x27\xb7\x3b\xfd\x49\x86\x01\xa7\x62\x2e\x85\x44\x83\x7a\xad\x02\xe7\x2b\xf7\x21\x96\xdc\x24\x69\x02\xe5\x8a\xf2\x53\xad\x7e\x02\x5e\x36\x66\xd3\xbf\xc4\x6b\x5b\x02\xf0\xeb\x4a\x37\xc9\x55\x49\x92\xab\xc8\x65\x1d\xe1\x2f\xd8\x13\x17\x73\x79\xbb\x0c\xe1\x72\xcd\x8a\xaf\x93\x7f\x97\x96\x42\xbc\x2e\xd7\xc7\xa4\x30\xcb\x14\xc3\xcd\x31\x01\xb9\xf6\xb9\x1e\xe3\xf5\x42\xac\xdf\x01\x7f\x8c\x21\x16\x29\x7f\x45\x64\x76\x8f\x4d\xb9\x5d\xad\x8a\x9b\xcd\xc8\xda\x4d\x8f\xb1\x3e\xf6\xe2\xda\x0b\x13\x16\xd3\xc8\xc2\xf3\xed\x83\x6b\x35\xfe\x2f\xd3\x3e\xff\xb4\x09\xe3\xbc\x1b\x0f\x85\x22\x5d\x2a\x1d\xe3\xbf\xc2\xd2\x05\x63\x94\x64\x75\xc4\xd7\xca\x9f\xdd\xba\xf5\x9a\xd8\xf8\x96\x1d\x28\x7a\xe7\xdd\x80\x3e\x7a\xf1\xfa\x61\x23\x29\xb1\xbd\xc0\x4e\x22\x56\x00\xae\x73\x1b\xc0\x1a\xe0\x92\x5a\xed\x62\xac\x50\xd4\x60\x86\xf3\x64\x6c\xf4\x7b\x07\x2f\x0d\x3b\x04\x4b\x36\xf8\x5c\xec\x72\x9a\x8b\xb2\xb9\x28\x83\xca\x4d\xfb\x34\xa8\xee\x8a\x02\x73\xb3\x1a\xf5\x09\x82\xbb\x61\x31\xbf\xa1\x1d\x55\x50\x4b\x1f\x6f\x1a\x0a\x00\x43\x8c\xa2\x6d\x8a\xb4\xf4\x8b\xcd\xdc\x9d\x5a\x38\x85\x1a\xbe\xde\x41\x51\xd5\xb7\x0d\x72\x07\x32\xa0\x0a\xbe\xa2\xc8\xb9\x79"}, -{{0x47,0x30,0xa5,0xcf,0x97,0x72,0xd7,0xd6,0x66,0x5b,0xa7,0x87,0xbe,0xa4,0xc9,0x52,0x52,0xe6,0xec,0xd6,0x3e,0xc6,0x23,0x90,0x54,0x7b,0xf1,0x00,0xc0,0xa4,0x63,0x75,},{0xf9,0xf0,0x94,0xf7,0xcc,0x1d,0x40,0xf1,0x92,0x6b,0x5b,0x22,0xdc,0xe4,0x65,0x78,0x44,0x68,0xb2,0x0a,0xb3,0x49,0xbc,0x6d,0x4f,0xdf,0x78,0xd0,0x04,0x2b,0xbc,0x5b,},{0x55,0x2c,0x73,0x47,0xbd,0xfe,0x13,0x16,0x46,0xce,0x09,0x32,0xd8,0x2a,0x36,0xd2,0xc1,0xb7,0x6d,0x7c,0x30,0xee,0x89,0x0e,0x05,0x92,0xe1,0x9f,0x9d,0x18,0xb9,0xa5,0x6f,0x48,0xd7,0xa9,0xb6,0x8c,0x01,0x7d,0xa6,0xb5,0x50,0xc9,0x43,0xaf,0x4a,0x90,0x7b,0xaf,0x31,0x7e,0x41,0x9f,0xbb,0xc9,0x6f,0x6c,0xf4,0xbf,0xad,0x42,0xde,0x00,},"\xe7\x47\x6d\x2e\x66\x84\x20\xe1\xb0\xfa\xdf\xba\xa5\x42\x86\xfa\x7f\xa8\x90\xa8\x7b\x82\x80\xe2\x60\x78\x15\x22\x95\xe1\xe6\xe5\x5d\x12\x41\x43\x5c\xc4\x30\xa8\x69\x3b\xb1\x0c\xde\x46\x43\xf5\x9c\xbf\xcc\x25\x6f\x45\xf5\x09\x0c\x90\x9a\x14\xc7\xfc\x49\xd3\x7b\xfc\x25\xaf\x11\xe8\xf4\xc8\x3f\x4c\x32\xd4\xaa\xbf\x43\xb2\x0f\xa3\x82\xbb\x66\x22\xa1\x84\x8f\x8f\xfc\x4d\xff\x34\x08\xbb\x4e\xc7\xc6\x7a\x35\xb4\xcd\xae\xe5\xe2\x79\xc0\xfc\x0a\x66\x09\x3a\x9f\x36\xa6\x0f\xdd\x65\xe6\x33\x4a\x80\x4e\x84\x5c\x85\x30\xb6\xfd\xa3\x63\xb5\x64\x03\x37\xd0\x27\x24\x3c\xcf\xb3\xc1\x77\xf4\x3e\x71\x78\x96\xe4\x6e\xad\x7f\x72\xca\x06\xaa\x0f\xf1\xe7\x72\x47\x12\x1b\xaf\x48\xbe\x9a\x44\x5f\x72\x9c\xa1\x39\x0f\xc4\x61\x51\xcb\xd3\x3f\xcb\xd7\x37\x3f\x27\xa6\xba\x55\xc9\x2c\xbf\x69\x45\xb0\x9b\x44\xb9\xa4\xe5\x80\x0d\x40\x30\x70\xae\x66\x04\x89\x97\xb2\x19\x7f\x02\x18\x1a\x09\x7e\x56\x3f\x9b\x9a\xcc\x84\x11\x39\x25\x8a\x25\x8b\xc6\x10\xd3\xbd\x89\x16\x37\x35\x6b\x2e\xdc\x8c\x18\x4c\x35\xc6\x5a\xf9\x1a\xaf\x7b\x1c\x16\xd7\x4a\x5f\x5f\x86\x25\x48\x13\x92\x54\xec\xf5\x50\x63\x1d\x5f\x88\x49\xaf\xdb\x5b\x64\xcf\x36\x6f\xf2\x63\x3a\x93\xf3\xa1\x8c\x39\xb5\x15\x02\x45\xfb\x5f\x33\xc9\xe4\xe2\xd9\x4a\xf6\x96\x3a\x70\xb8\x8f\x9e\x7e\x51\x9f\x8f\xa2\xa0\xf2\xe3\x74\x9d\xe8\x83\xd0\xe6\xf0\x52\xa9\x49\xd0\xfc\x71\x53\xa8\x69\x3f\x6d\x80\x1d\x73\x52\xeb\x2f\x7a\x46\x5c\x0e"}, -{{0x27,0x70,0xaa,0xdd,0x1d,0x12,0x3e,0x95,0x47,0x83,0x2d,0xfb,0x2a,0x83,0x7e,0xba,0x08,0x91,0x79,0xef,0x4f,0x23,0xab,0xc4,0xa5,0x3f,0x2a,0x71,0x4e,0x42,0x3e,0xe2,},{0x3c,0x5f,0xbb,0x07,0x53,0x0d,0xd3,0xa2,0x0f,0xf3,0x5a,0x50,0x0e,0x37,0x08,0x92,0x63,0x10,0xfe,0xd8,0xa8,0x99,0x69,0x02,0x32,0xb4,0x2c,0x15,0xbd,0x86,0xe5,0xdc,},{0xf2,0x67,0x71,0x5e,0x9a,0x84,0xc7,0x31,0x4f,0x2d,0x58,0x69,0xef,0x4a,0xb8,0xd2,0x14,0x9a,0x13,0xf7,0xe8,0xe1,0xc7,0x28,0xc4,0x23,0x90,0x62,0x93,0xb4,0x9c,0xe6,0x28,0x34,0x54,0xdd,0x1c,0x7b,0x04,0x74,0x1d,0xf2,0xea,0xbe,0xdc,0x4d,0x6a,0xb1,0x39,0x7d,0xc9,0x5a,0x67,0x9d,0xf0,0x4d,0x2c,0x17,0xd6,0x6c,0x79,0xbb,0x76,0x01,},"\xa5\xcc\x20\x55\xeb\xa3\xcf\x6f\x0c\x63\x32\xc1\xf2\xab\x58\x54\x87\x09\x13\xb0\x3f\xf7\x09\x3b\xc9\x4f\x33\x5a\xdd\x44\x33\x22\x31\xd9\x86\x9f\x02\x7d\x82\xef\xd5\xf1\x22\x71\x44\xab\x56\xe3\x22\x2d\xc3\xdd\xcc\xf0\x62\xd9\xc1\xb0\xc1\x02\x4d\x9b\x41\x6d\xfa\x3e\xe8\xa7\x02\x79\x23\x00\x34\x65\xe0\xff\xae\xfb\x75\xb9\xf2\x9d\xc6\xbc\xf2\x13\xad\xc5\xe3\x18\xfd\x8b\xa9\x3a\x7a\xa5\xbf\xb4\x95\xde\x9d\x7c\x5e\x1a\x19\x6c\xd3\xa2\xd7\x72\x1f\x8b\xa7\x85\xaa\x90\x52\xa1\x81\x1c\x7f\xcc\x8f\x93\x93\x27\x65\x05\x9c\xab\x9c\x9b\x71\x89\x45\x89\x5e\xf2\x6f\x3a\xc0\x48\xd4\xca\xbf\x91\xa9\xe6\xaa\x83\xac\x14\xd4\x31\x56\x82\x78\x37\x91\x4e\xb7\x63\xa2\x3c\xba\x53\xf6\x0f\x15\x0f\x4b\x70\x20\x3e\xc1\x83\x3f\xf1\x05\x84\x94\x57\xa8\xda\x73\x27\x66\x1f\xb2\x3a\x55\x41\x64\xe0\x5f\xcf\x01\x46\xb1\x06\x74\x96\x4b\xe6\xf6\xaa\x0a\xcc\x94\xc4\x1a\xd5\x71\x80\xe5\x18\x0d\x19\x9b\xd9\x10\x2f\x55\xd7\x40\xe8\x17\x89\xb1\x56\x71\xbb\xd0\x67\x0e\x6d\xe5\xd9\x7e\x1a\xe6\x26\xd8\xa0\xeb\xc3\x2c\x8f\xd9\xd2\x47\x37\x27\x4e\x47\xd2\xdd\x59\x41\xa2\x72\xe7\x2a\x59\x89\x28\xad\x10\x9c\xde\x93\x7b\xf2\x48\xd5\x7f\x5d\x29\x42\x98\x3c\x51\xe2\xa8\x9f\x8f\x05\x4d\x5c\x48\xdf\xad\x8f\xcf\x1f\xfa\x97\xf7\xde\x6a\x3a\x43\xca\x15\xfc\x67\x20\xef\xae\xc6\x9f\x08\x36\xd8\x42\x23\xf9\x77\x6d\x11\x1e\xc2\xbb\xc6\x9b\x2d\xfd\x58\xbe\x8c\xa1\x2c\x07\x21\x64\xb7\x18\xcd\x7c\x24\x6d\x64"}, -{{0x4f,0xda,0xb7,0xc1,0x60,0x0e,0x70,0x11,0x4b,0x11,0xf5,0x33,0x24,0x23,0x76,0xaf,0x76,0x14,0xb4,0xd5,0xda,0x04,0x6a,0xc4,0xbe,0xde,0xa2,0x1d,0x8a,0x36,0x15,0x98,},{0xa2,0x5c,0x9a,0x94,0xd6,0xe4,0xec,0xd9,0x5a,0x4b,0xd6,0x80,0x5f,0x76,0x2e,0xb1,0xc4,0x57,0xa8,0xd4,0x5d,0x24,0x32,0x38,0xb1,0x83,0x9c,0xbb,0xa8,0xf4,0x41,0xcc,},{0x50,0x75,0xc0,0x90,0xcf,0xbe,0xb6,0xb0,0x18,0x02,0xaf,0x7f,0x4d,0xa5,0xaa,0x4f,0x43,0x4d,0x5e,0xe2,0xf3,0x53,0x0e,0xeb,0xb7,0x5c,0x85,0xe0,0x86,0x21,0xf8,0x3e,0xdc,0x08,0xaa,0x96,0x69,0x38,0x94,0xa4,0x27,0x76,0x33,0xba,0x81,0xe1,0x9e,0x9e,0x55,0xaf,0x5c,0x49,0x5d,0xaa,0x5e,0x1a,0x6f,0x8c,0xbb,0x79,0xc0,0x1c,0x72,0x07,},"\xda\x40\x58\x90\xd1\x1a\x87\x2c\x11\x9d\xab\x5e\xfc\xbf\xf6\x1e\x93\x1f\x38\xec\xcc\xa4\x57\xed\xc6\x26\xd3\xea\x29\xed\x4f\xe3\x15\x4f\xaf\xec\x14\x44\xda\x74\x34\x3c\x06\xad\x90\xac\x9d\x17\xb5\x11\xbc\xb7\x3b\xb4\x9d\x90\xba\xfb\x7c\x7e\xa8\x00\xbd\x58\x41\x1d\xf1\x27\x5c\x3c\xae\x71\xb7\x00\xa5\xda\xb4\x91\xa4\x26\x16\x78\x58\x79\x56\xaa\x4a\x21\x9e\x1a\xc6\xdd\x3f\xb2\xcb\x8c\x46\x19\x72\x18\xe7\x26\xdc\x7e\xd2\x34\x52\x6a\x6b\x01\xc0\xd7\x2c\xb9\x3a\xb3\xf4\xf3\x8a\x08\xe5\x94\x0b\x3f\x61\xa7\x2a\xd2\x78\x9a\x05\x32\x00\x0f\xac\x1d\x2d\x2e\x3a\xd6\x32\xac\x8b\x62\xbb\x3f\xf5\xb9\x9d\x53\x59\x7b\xf4\xd4\x4b\x19\x67\x49\x24\xdf\x9b\x3d\xb3\xd0\x25\x3f\x74\x62\x7c\xca\xb3\x00\x31\xc8\x5e\x29\x1c\x58\xb5\xfa\x91\x67\x52\x2a\x46\x74\x6f\xc3\x07\x03\x67\x45\xd4\xf9\x81\x77\x86\xe5\xd3\x00\xe6\xc5\xd5\x03\x12\x5f\xea\x01\xde\xc3\xe3\xfe\xdb\xf3\x86\x1c\xa2\x62\x7a\x05\x18\xfb\x2b\x24\xe5\xa7\xa0\x14\x17\x87\x19\xe9\xb3\x45\xf7\xb2\x49\xce\x3a\x41\x32\x80\xc8\xde\xb6\x74\xf5\x9a\x25\xbe\x92\xa8\xab\x64\x00\xc7\xc5\x2b\x07\x28\xae\x34\xe2\x2b\x2e\xc2\x00\xc1\xcb\xab\xa2\xcc\xd8\xaf\x29\x24\x9d\x17\xaf\x60\xc3\x60\x07\xa7\x22\xfc\x80\x25\x8a\x7b\xeb\xab\x1c\xda\xad\x74\x62\xa8\xb7\x58\x8c\x2f\x7e\x27\xc6\xd0\x7a\xfc\xf6\x01\x17\xfe\xd1\x1b\xd6\x85\x9e\x75\xe3\xb4\xfc\xee\x39\x81\x88\x1e\x95\xdd\x11\x68\x27\xdd\x4b\x36\x9a\xf0\x69\xd3\xc8\xf2\x67\x6f\x8a"}, -{{0x26,0x45,0x04,0x60,0x4e,0x70,0xd7,0x2d,0xc4,0x47,0x4d,0xbb,0x34,0x91,0x3e,0x9c,0x0f,0x80,0x6d,0xfe,0x18,0xc7,0x87,0x9a,0x41,0x76,0x2a,0x9e,0x43,0x90,0xec,0x61,},{0xeb,0x2b,0x51,0x8c,0xe7,0xdc,0x71,0xc9,0x1f,0x36,0x65,0x58,0x16,0x51,0xfd,0x03,0xaf,0x84,0xc4,0x6b,0xf1,0xfe,0xd2,0x43,0x32,0x22,0x35,0x3b,0xc7,0xec,0x51,0x1d,},{0xee,0xa4,0x39,0xa0,0x0f,0x7e,0x45,0x9b,0x40,0x2b,0x83,0x51,0x50,0xa7,0x79,0xee,0xd1,0x71,0xab,0x97,0x1b,0xd1,0xb5,0x8d,0xcc,0x7f,0x93,0x86,0xda,0xdd,0x58,0x3d,0xe8,0xdc,0x69,0xe2,0x67,0x12,0x1d,0xde,0x41,0xf0,0xf9,0x49,0x3d,0x45,0x0b,0x16,0x21,0x9c,0xdf,0x3c,0x22,0xf0,0x94,0x82,0xce,0x40,0x2f,0xe1,0x7c,0xa4,0x9e,0x08,},"\x90\x1d\x70\xe6\x7e\xd2\x42\xf2\xec\x1d\xda\x81\x3d\x4c\x05\x2c\xfb\x31\xfd\x00\xcf\xe5\x44\x6b\xf3\xb9\x3f\xdb\x95\x0f\x95\x2d\x94\xef\x9c\x99\xd1\xc2\x64\xa6\xb1\x3c\x35\x54\xa2\x64\xbe\xb9\x7e\xd2\x0e\x6b\x5d\x66\xad\x84\xdb\x5d\x8f\x1d\xe3\x5c\x49\x6f\x94\x7a\x23\x27\x09\x54\x05\x1f\x8e\x4d\xbe\x0d\x3e\xf9\xab\x30\x03\xdd\x47\xb8\x59\x35\x6c\xec\xb8\x1c\x50\xaf\xfa\x68\xc1\x5d\xad\xb5\xf8\x64\xd5\xe1\xbb\x4d\x3b\xad\xa6\xf3\xab\xa1\xc8\x3c\x43\x8d\x79\xa9\x4b\xfb\x50\xb4\x38\x79\xe9\xce\xf0\x8a\x2b\xfb\x22\xfa\xd9\x43\xdb\xf7\x68\x37\x79\x74\x6e\x31\xc4\x86\xf0\x1f\xd6\x44\x90\x50\x48\xb1\x12\xee\x25\x80\x42\x15\x3f\x46\xd1\xc7\x77\x2a\x06\x24\xbc\xd6\x94\x1e\x90\x62\xcf\xda\x75\xdc\x87\x12\x53\x3f\x40\x57\x33\x5c\x29\x80\x38\xcb\xca\x29\xeb\xdb\x56\x0a\x29\x5a\x88\x33\x96\x92\x80\x8e\xb3\x48\x1f\xd9\x73\x5e\xa4\x14\xf6\x20\xc1\x43\xb2\x13\x3f\x57\xbb\x64\xe4\x47\x78\xa8\xca\x70\x91\x82\x02\xd1\x57\x42\x61\x02\xe1\xdf\xc0\xa8\xf7\xb1\xae\x48\x7b\x74\xf0\x27\x92\x63\x31\x54\xdf\xe7\x4c\xaa\x1b\x70\x88\xfd\xa2\x2f\xa8\xb9\xbc\x35\x4c\x58\x5f\x15\x67\x70\x6e\x29\x55\x49\x38\x70\xf5\x41\x69\xe0\xd7\x69\x11\x59\xdf\x43\x89\x79\x61\xd2\x4a\x85\x2e\xa9\x70\xc5\x14\x94\x8f\x3b\x48\xf7\x1e\xe5\x86\xe7\x2e\xc7\x8d\xb8\x20\xf2\x53\xe0\x8d\xb8\x4f\x6f\x31\x2c\x43\x33\xbd\x0b\x73\x2f\xe7\x58\x83\x50\x77\x83\xe9\xa1\xfd\x4f\xba\xb8\xe5\x87\x0f\x9b\xf7\xad\x58\xaa"}, -{{0x2c,0xa7,0x44,0x7a,0x36,0x68,0xb7,0x48,0xb1,0xfd,0x3d,0x52,0xd2,0x08,0x0d,0x30,0xe3,0x4d,0x39,0x7b,0xb2,0x84,0x6c,0xaf,0x8f,0x65,0x9a,0xc1,0x68,0x78,0x8c,0xa5,},{0xab,0x33,0x1c,0xd4,0x0a,0x31,0xd0,0x17,0x3c,0x0c,0x8c,0x1c,0x17,0x00,0x25,0x32,0x80,0x7b,0xf8,0x9e,0x3e,0xdb,0x6d,0x34,0xc2,0xdd,0x82,0x94,0x63,0x2b,0x9f,0xbc,},{0xf9,0x3a,0xda,0x15,0xae,0x9c,0xd2,0xb5,0x4f,0x26,0xf8,0x6f,0x0c,0x28,0x39,0x2a,0xed,0x5e,0xb6,0xb6,0xb4,0x4d,0x01,0xa4,0xe3,0x3a,0x54,0xe7,0xda,0x37,0xc3,0x8e,0x8d,0x53,0x36,0x6f,0x73,0xfd,0x85,0xbe,0x64,0x2e,0x4e,0xc8,0x12,0x36,0xd1,0x63,0xf0,0xd0,0x25,0xe7,0x6c,0x8b,0xbd,0xd6,0x5d,0x43,0xdf,0x49,0xf0,0x9c,0x1f,0x01,},"\xa8\x2b\xcd\x94\x24\xbf\xfd\xa0\xf2\xf5\xe9\xea\xe1\x78\x35\xdb\xe4\x68\xf6\x1b\x78\x5a\xab\x82\x93\x47\x37\xa9\x1c\x5f\x60\x2c\xb7\xc6\x17\xcd\xff\xe8\x7c\xad\x72\x6a\x49\x72\xe1\x5a\x7b\x8e\xe1\x47\xf0\x62\xd2\xa5\xa4\xd8\x97\x06\xb5\x71\xfa\x8a\xa2\xb9\x59\x81\xc7\x8a\xbe\xaa\xae\x86\x20\x3f\xa2\xc0\xe0\x72\x97\x40\x6e\xa8\xc2\x71\x11\xa8\x6d\xbe\x1d\x5a\x7c\x3b\x7a\xe9\x30\x90\x4d\x98\x90\xf6\xd4\xab\xeb\xd1\x41\x2a\x73\xad\x5f\xee\xa6\x4a\xcf\x06\x5d\x3e\x63\xb5\xcb\xe2\x0c\xf2\x0b\xbd\x2d\x8b\x94\xf9\x05\x3e\xd5\xf6\x66\x33\x48\x25\x30\x12\x44\x46\x60\x59\x18\xde\x66\x45\x5e\x8c\xf4\xb1\x01\xa1\x27\x23\x3c\x4e\x27\xd5\xd5\x5b\xf9\x5b\xd3\x19\x5d\x03\x40\xd4\x35\x31\xfc\x75\xfa\xf8\xdd\xed\x52\x75\xbf\x89\x75\x0d\xe8\x38\xfd\x10\xc3\x17\x45\xbe\x4c\xa4\x1f\xa8\x71\xcb\x0f\x9b\x01\x67\x06\xa1\xa7\xe3\xc4\x4b\xb9\x0a\xc7\xa8\xad\x51\xe2\x72\x38\x92\x92\xfd\x6c\x98\xad\x7a\x06\x9e\x76\xe3\xf5\xf3\xe0\xcc\x77\x0b\x9e\x9b\x35\xa7\x65\xd0\xd9\x37\x12\xd7\xcd\xab\xd1\x7e\x5d\x01\xdd\x81\x83\xaf\x4a\xd9\x36\x5d\xb0\xa0\xfa\x41\x38\x1f\xce\x60\xa0\x81\xdf\x1c\x5a\xb0\xf8\xc1\x8f\x95\xa7\xa8\xb5\x82\xdf\xff\x7f\x14\x9e\xa5\x79\xdf\x06\x23\xb3\x3b\x75\x08\xf0\xc6\x63\xf0\x1e\x3a\x2d\xcd\x9d\xfb\xee\x51\xcc\x61\x52\x20\xfd\xaf\xfd\xab\x51\xbd\xae\x42\xcb\x9f\x7f\xa9\xe3\xb7\xc6\x9c\xc8\xad\xa5\xcc\xd6\x42\x52\x9b\xa5\x14\xfd\xc5\x4f\xcf\x27\x20\xb8\xf5\xd0\x8b\x95"}, -{{0x49,0x4e,0xa9,0xbc,0xce,0x26,0x88,0x5b,0x7d,0x17,0xd1,0xfc,0x11,0x44,0x48,0xf2,0x39,0xf0,0xce,0x46,0xe5,0xf2,0x47,0xb4,0xc9,0x99,0xfa,0x86,0x29,0x69,0x24,0x72,},{0x69,0x01,0xe5,0xef,0xae,0x57,0x53,0x6b,0xa5,0xfd,0xd9,0x6b,0x59,0x65,0x73,0x59,0x06,0x5f,0x25,0xd3,0x91,0xa1,0xaa,0x8c,0xdc,0x0d,0x38,0xbb,0x5d,0x53,0xc1,0x39,},{0x54,0x8a,0x09,0x3a,0x68,0x03,0x61,0xb7,0xdc,0x56,0xf1,0x45,0x03,0xb5,0x5e,0xee,0xc3,0xb3,0xf4,0xfd,0x4c,0xa9,0x9d,0x6a,0xed,0xce,0x08,0x30,0xf7,0xf4,0xae,0x2f,0x73,0x28,0x53,0x9b,0x34,0xc4,0x8f,0xc9,0x76,0x09,0x22,0x33,0x3d,0xae,0x9c,0x7c,0x01,0x7e,0x7d,0xb7,0x3b,0x8f,0xaa,0x6c,0x06,0xbe,0x05,0xe3,0x47,0x99,0x2b,0x06,},"\x3b\xad\xbf\xa5\xf5\xa8\xaa\x2c\xce\x0a\x60\xe6\x86\xcd\xce\x65\x4d\x24\x45\x2f\x98\xfd\x54\x87\x2e\x73\x95\xb3\x94\x64\x38\x0a\x0e\x18\x55\x57\xea\x13\x4d\x09\x57\x30\x86\x4f\x42\x54\xd3\xdd\x94\x69\x70\xc1\x0c\x80\x4f\xcc\x08\x99\xdf\xa0\x24\x20\x5b\xe0\xf8\x0b\x1c\x75\x44\x95\x23\x32\x4f\xe6\xa0\x75\x1e\x47\xb4\xff\x48\x22\xb8\xc3\x3e\x9e\xaf\x1d\x1d\x96\xe0\xde\x3d\x4a\xcd\x89\x69\x6b\x7f\xcc\x03\xd4\x9f\x92\xf8\x2b\x97\x25\x70\x0b\x35\x0d\xb1\xa8\x76\x15\x36\x95\x45\x56\x1b\x85\x99\xf5\xea\x92\x0a\x31\x0a\x8b\xaf\xc0\xe8\xd7\x46\x8c\xbf\x6f\x38\x20\xe9\x43\x59\x4a\xfd\xd5\x16\x6e\x4e\x33\x09\xdd\xdd\x76\x94\xef\x67\xe6\x94\xf3\x4f\xc6\x27\x24\xff\x96\xac\x33\x64\x17\x6f\x34\xe8\xa0\x2b\x4c\xf5\x69\xdb\x5b\x8f\x77\xd5\x85\x12\xae\xda\xbf\x0b\xcd\x1c\x2d\xf1\x2d\xb3\xa9\x47\x3f\x94\x8c\x5c\x32\x43\x30\x9a\xae\x46\xc4\x9e\xfd\x08\x8b\x60\xf3\x1a\x8a\x72\xad\x7e\x5a\x35\xac\xc5\xd8\x9f\xa6\x68\x07\xeb\x5d\x3b\xa9\xcd\xf0\x8d\x47\x53\xcb\x85\x08\x9e\xe3\x6f\x5c\x96\xb4\x32\xb6\x92\x83\x52\xaf\xad\x58\x01\x22\x25\xd6\x15\x7f\x9e\x36\x11\x42\x6d\xf9\x21\xb6\xd1\xd8\x37\x46\x28\xa6\x30\x31\xe9\xff\xb9\x0e\x42\xff\xbb\xa0\x21\xf1\x74\xf6\x85\x03\x15\x54\x30\x15\x2c\x91\x55\xdc\x98\xff\xa2\x6c\x4f\xab\x06\x5e\x1f\x8e\x46\x22\xc2\xf2\x8a\x8c\xb0\x43\x11\x0b\x61\x74\x41\x14\x0f\x8e\x20\xad\xc1\x6f\x79\x9d\x1d\x50\x96\xb1\xf5\x05\x32\xbe\x50\x42\xd2\x1b\x81\xea\x46\xc7"}, -{{0x00,0xd7,0x35,0xeb,0xae,0xe7,0x5d,0xd5,0x79,0xa4,0x0d,0xfd,0x82,0x50,0x82,0x74,0xd0,0x1a,0x15,0x72,0xdf,0x99,0xb8,0x11,0xd5,0xb0,0x11,0x90,0xd8,0x21,0x92,0xe4,},{0xba,0x02,0x51,0x7c,0x0f,0xdd,0x3e,0x26,0x14,0xb3,0xf7,0xbf,0x99,0xed,0x9b,0x49,0x2b,0x80,0xed,0xf0,0x49,0x5d,0x23,0x0f,0x88,0x17,0x30,0xea,0x45,0xbc,0x17,0xc4,},{0xdc,0xdc,0x54,0x61,0x19,0x37,0xd2,0xbd,0x06,0xca,0xcd,0x98,0x18,0xb3,0xbe,0x15,0xce,0x74,0x25,0x42,0x7a,0x75,0xf5,0x0d,0x19,0x7a,0x33,0x7a,0x3b,0x8b,0xa6,0x71,0x4e,0xf4,0x88,0x66,0xf2,0x43,0xbd,0x5a,0xc7,0x41,0x5e,0x91,0x45,0x17,0xa2,0xc1,0xc5,0xa9,0x53,0xf4,0x32,0xb9,0x9d,0xb0,0xe6,0x20,0xd6,0x4f,0x74,0xeb,0x85,0x05,},"\x59\xc0\xb6\x9a\xf9\x5d\x07\x4c\x88\xfd\xc8\xf0\x63\xbf\xdc\x31\xb5\xf4\xa9\xbc\x9c\xec\xdf\xfa\x81\x28\xe0\x1e\x7c\x19\x37\xdd\xe5\xeb\x05\x70\xb5\x1b\x7b\x5d\x0a\x67\xa3\x55\x5b\x4c\xdc\xe2\xbc\xa7\xa3\x1a\x4f\xe8\xe1\xd0\x3a\xb3\x2b\x40\x35\xe6\xda\xdb\xf1\x53\x20\x59\xee\x01\xd3\xd9\xa7\x63\x3a\x0e\x70\x6a\x11\x54\xca\xb2\x2a\x07\xcd\x74\xc0\x6a\x3c\xb6\x01\x24\x4c\xf3\xcf\x35\xa3\x5c\x31\x00\xba\x47\xf3\x13\x72\xa2\xda\x65\xdc\xff\x0d\x7a\x80\xa1\x05\x5d\x8a\xa9\x92\x12\xe8\x99\xaa\xd7\xf0\x2e\x94\x9e\x6f\xee\x4d\x3c\x9c\xef\xa8\x50\x69\xea\xff\x1f\x6a\xd0\x6f\xc3\x00\xc8\x71\xab\x82\xb2\xbe\xdb\x93\x4d\x20\x87\x5c\x2a\x26\x32\x42\xcd\xb7\xf9\xbe\x19\x2a\x87\x10\xb2\x4c\x7e\xa9\x8d\x43\xda\xec\x8b\xaa\x55\x53\xc6\x78\xa3\x8f\x0e\x0a\xdf\x7d\x3f\xf2\xdc\xc7\x99\xa1\xdb\xad\x6e\xab\x1c\x3d\x94\x58\xa9\xdb\x92\x2f\x02\xe7\x5c\xfa\xb9\xd6\x5c\x73\x36\xda\xe7\x18\x95\xd5\xbb\x15\xca\xc2\x03\xf2\xb3\x8b\x99\x96\xc4\x10\xf8\x65\x5a\xd2\x2d\x3c\x09\x1c\x20\xb7\xf9\x26\xd4\x5e\x78\x01\x28\xf1\x97\x47\x46\x2a\xbc\x5c\x58\x93\x2f\xbb\x9e\x0b\xc6\x2d\x53\x86\x88\x02\xf1\xb0\x83\xf1\x83\xb8\xa1\xf9\x43\x49\x86\xd5\xcf\x97\xc0\x4e\x2f\x3e\x14\x57\x30\xcb\xa9\x87\x79\xc7\xfe\xd0\xca\xb1\xc0\x5d\x5e\x46\x53\xc6\xc3\xf6\x73\x62\x60\xbc\x78\xee\x43\x72\x86\x2f\xfe\x9e\x90\x37\x1d\x76\x2c\x74\x32\x78\x1f\x35\xce\xd8\x84\xa4\xba\xca\x05\x65\x3e\xf2\x5f\x25\xa6\xf3\xd5\x62\x83\x08"}, -{{0x8c,0x34,0xb9,0x05,0x44,0x0b,0x61,0x91,0x1d,0x1d,0x81,0x37,0xc5,0x3d,0x46,0xa1,0xa7,0x6d,0x46,0x09,0xaf,0x97,0x3e,0x18,0xeb,0x4c,0x57,0x09,0x29,0x56,0x27,0xbb,},{0xb6,0x9a,0x8b,0x2f,0xdf,0x5c,0x20,0xe7,0x34,0xc2,0xff,0xb2,0x94,0xbc,0x8a,0xe1,0x01,0x1d,0x66,0x4f,0x11,0xaf,0xe7,0xfb,0xc4,0x71,0x92,0x5c,0xf7,0x2f,0xa9,0x9d,},{0x3e,0x0b,0x72,0x07,0x3d,0xc9,0x37,0x5e,0xed,0xcc,0xa6,0xc4,0xfc,0x1c,0xd3,0x15,0x93,0x8a,0x05,0x0c,0x92,0x71,0x6b,0xd2,0x28,0x4f,0x46,0x29,0xa9,0x62,0xbe,0xec,0x0b,0x7d,0x7c,0xf1,0x6a,0xb9,0x23,0xd5,0x8f,0x5b,0x90,0xd3,0x90,0x1a,0x8e,0x5c,0x75,0xc8,0xf1,0x7d,0xab,0x99,0x98,0xe0,0x07,0xd8,0xc4,0x95,0x11,0x97,0x3d,0x0e,},"\x30\xb5\x7a\x38\x9b\x48\xa0\xbe\xb1\xa4\x84\x32\xbf\xf6\xb3\x14\xbd\xed\x79\xc4\xa1\x76\x3a\x5a\xcb\x57\xce\xa1\xbf\xb4\xc6\xd0\x16\xcf\x09\x0f\x5b\xd0\x5b\xbd\x11\x4e\x33\xae\x7c\x17\x78\x2d\xfa\x26\x4f\x46\xc4\x5f\x8c\x59\x9c\x60\x30\x16\xfe\x9f\xf0\x5b\x6b\x5a\x99\xe9\x2f\xe7\x13\xa4\xcd\x5c\x41\xb2\x92\xed\x2b\xb2\xe9\xcf\x33\xa4\x40\x54\x2e\x82\x1e\xc8\x2c\xbf\x66\x5c\x3f\x02\xe3\xdc\x33\x7d\x7f\xdb\x58\xe3\x1b\x27\xcb\x29\x54\x54\x14\x68\x81\x46\x98\x51\x0d\xf1\x8c\x85\xc8\x1f\xad\x12\xdb\x11\xec\x6b\x96\x6f\x49\x30\xda\x56\x46\xb9\x91\xdb\x97\x44\x50\x97\xda\x30\xda\xb6\x1c\xda\x53\xa4\x10\x83\xcb\x96\xad\xd1\x9d\xe6\xc5\xee\xc3\x23\xbc\xa9\xd3\x53\x0e\x38\xc0\x0b\x35\xaf\x73\x60\x07\x76\x01\xbe\x6a\xc9\x7f\x30\x30\xf9\x30\xa2\x7b\x90\xfe\x8b\x69\x11\xba\xe3\x89\x06\x5a\xdc\x15\xe1\x88\x23\x00\xe2\xa0\x03\x27\x4d\x23\x18\x2d\x5e\xfd\x5b\xa4\xb9\x13\x0c\x07\xbd\x5c\x65\xfe\xcb\x8b\x5c\xb7\xeb\x38\x83\x6b\x31\x8b\xef\xdf\xd7\x7d\xe4\xd6\xca\x01\x81\xf7\x7a\xe5\x74\x08\x91\x68\x32\x25\xf5\x49\xdd\x84\x26\x14\x5c\x97\xc5\x81\x8c\x31\x9f\x7a\xb2\xd8\x68\xe1\xa4\x1c\xea\xb6\x4c\x08\x51\x16\x06\x98\x97\xbf\x2c\xa3\x66\x76\x52\x40\x61\x55\xed\x06\x46\x43\x1b\x6d\xe1\xcc\xc0\x3b\x42\x79\xae\x4d\x32\x66\x79\x26\x5d\xce\x82\x04\x8e\x72\x98\xe1\xf8\x7f\xce\xc0\x76\x8a\xc0\xf5\xd8\xff\x84\xf7\x21\x0b\xe5\x4d\x41\x1a\xf8\xed\xea\x72\x17\xf4\xe5\x94\x13\x12\x1e\x14\x8c\x60\xda"}, -{{0x77,0xa8,0x3e,0x18,0xc9,0xf0,0x00,0xee,0xff,0x7d,0xee,0xac,0x95,0x9e,0xcb,0xa2,0x20,0x6c,0x0a,0xa3,0x9d,0x2f,0x0e,0x2a,0xed,0x57,0x29,0x48,0x2a,0x7a,0x02,0x29,},{0x62,0xb1,0xb3,0x16,0x13,0x55,0x96,0xbf,0xbc,0xa6,0x03,0x7e,0xd8,0x47,0xc6,0x1f,0xb7,0xf0,0x9f,0xa3,0x6c,0xe9,0x0a,0xbb,0x77,0x89,0xb8,0x6f,0x76,0x8b,0x59,0xdd,},{0x1e,0xaa,0xd8,0x42,0x0a,0xc1,0x2c,0x99,0xac,0x1f,0xf4,0x47,0x66,0x78,0xe3,0xcb,0xbe,0x94,0xda,0x6a,0x79,0x7f,0x17,0x46,0x64,0xd5,0xee,0x0f,0x64,0x14,0x33,0xfb,0x1e,0x7c,0xb2,0xf5,0x61,0x3e,0x10,0x80,0x5d,0xf8,0x65,0x4c,0xd8,0xe0,0xd4,0x5d,0x96,0x23,0x09,0x32,0xbc,0x7f,0x20,0xb0,0x4e,0xae,0x83,0x64,0x35,0x13,0x43,0x09,},"\xf3\xd5\xfa\x2a\xca\xef\xd8\x58\xf1\xdf\x26\xe0\x30\x59\xcd\xcb\xc2\x46\x8a\xd7\x4a\xfc\x99\x3d\x0d\xb9\xc4\xcd\xe4\x11\x3f\x8d\x55\xc7\xda\x71\xd3\x8b\xa0\x65\x20\x53\x1c\x61\xfd\xdb\x5f\x33\xd5\xf0\x35\x3b\xe2\x37\x6e\x58\x07\x11\xbe\x45\xc0\xa3\x0b\x1f\xa0\x1b\x55\xe2\x28\xc6\xfa\x35\xe3\xf9\x5b\x67\x90\x9f\xc7\xdf\x3f\xd4\x64\xd9\x3d\x66\x1a\x92\x6f\x9d\x11\xf7\x55\x0c\x17\xfb\xcc\x34\x96\x52\x6e\x8f\x10\xe0\xc8\x91\x66\x77\xb2\xbe\x5b\x31\x9b\x68\x8f\x21\xe8\x1a\xaa\x94\x82\xe5\xc9\x3e\x64\xce\x8c\x43\x7b\x9c\x1e\x14\xfe\xfe\xd7\x0a\x3f\xee\x56\x88\x11\xdc\x31\xca\xda\xb3\xd5\xb2\x20\x25\x44\x65\x33\x6d\xc4\xd9\x7a\x3b\xd0\x96\xb5\xe0\x65\xe0\xcf\xbe\x82\x84\x9e\x2c\x19\x05\xac\xa4\x86\x53\x3f\x0d\xa7\xa6\x1f\x1e\x9a\x55\xb8\xe2\xa8\x32\x62\xde\xeb\x59\xf2\xb1\x3d\x3a\x8a\xef\x57\x00\x84\x5b\x83\xb2\x5a\xe2\x18\x3c\x0d\xda\xc0\xce\x42\xf8\xd2\x56\x74\xcb\x0d\x0d\x22\x0a\x6d\xe7\xc1\x85\x8b\xb0\x7d\x59\xa3\x37\x23\x44\xd9\x44\x60\x2a\xa4\x51\xd2\xb9\x37\xdb\x0f\xe6\xfe\xca\x0b\xeb\xa8\x17\x21\xfc\x36\x1e\xa7\x50\x9e\x2b\x6d\x39\x7e\x1c\x19\x1b\x56\xf5\x4a\xb4\x36\xd0\xd2\x7a\xb4\xc0\x61\xbd\x66\x1a\xd1\xa4\x45\x23\x87\xe8\x73\x57\x54\xd0\x7f\xa7\xef\x4d\x45\x48\xb1\x72\x58\x24\x25\xb2\x99\x04\x6e\x63\x01\xb5\xba\x6b\x91\x44\x18\xf1\x49\xcf\x72\x2e\x10\xbd\xe2\xe0\xd4\x17\x00\xf1\x2c\x84\x29\xfc\x89\x7b\x78\x19\xda\x92\x29\x22\x40\xcd\x45\x56\x54\x58\xc9\xa7\xb2\x9c\x12"}, -{{0x73,0xb0,0x33,0x73,0xef,0x1f,0xd8,0x49,0x00,0x5e,0xcd,0x62,0x70,0xdd,0x99,0x06,0xf1,0x9f,0x44,0x39,0xe4,0x03,0x76,0xcd,0xbc,0x52,0x09,0x02,0xbc,0x97,0x68,0x12,},{0x66,0x37,0x19,0xe0,0x8b,0xa3,0xba,0x16,0x66,0xf6,0x06,0x9a,0x3f,0x54,0x99,0x18,0x66,0xb1,0x8c,0xc6,0xbe,0x41,0x99,0x1b,0x02,0xeb,0x30,0x26,0xff,0x9e,0x15,0x5f,},{0xa4,0x0a,0xbe,0x98,0xfc,0x69,0xda,0x8a,0x1f,0xf9,0xff,0x5c,0x2c,0xca,0x93,0x63,0x2e,0x97,0x59,0x80,0xee,0x8b,0x82,0xc3,0xc3,0x76,0x02,0x2d,0x65,0x24,0xab,0x73,0x6d,0x01,0xb0,0x72,0xf2,0xb6,0x81,0xb5,0xf1,0xcd,0x3e,0xa0,0x67,0x01,0x2e,0xd6,0xd0,0x74,0xe9,0x49,0xc4,0x23,0x27,0xa3,0x66,0xca,0xa9,0xe4,0x75,0x0a,0x3c,0x08,},"\xd5\xc2\xde\xab\xa7\x95\xc3\x0a\xba\x32\x1b\xc7\xde\x69\x96\xf0\xd9\x0e\x4d\x05\xc7\x47\xfb\x4d\xae\x8f\x34\x51\x89\x5d\xef\x6e\x16\xe7\x2f\x38\xea\xce\x75\x6f\x36\x63\x5f\x8f\xb0\xb7\x2a\x3a\x0c\x1f\x54\x66\x38\x17\xa9\x4d\x4f\xd3\x46\xf8\x35\xab\x0e\x65\x7f\x00\x1a\x6f\x2c\xec\xb8\x6d\x08\x25\xbd\x02\x63\x92\x54\xf7\xf7\xf3\x8c\xa9\x9d\xbb\x86\xc6\x4a\x63\x3f\x73\xba\xf9\x33\xaa\xe3\x56\x32\x81\xf4\x00\x5e\x2d\x0e\x7c\xec\x9f\xbd\xe8\xe5\x88\xa9\x57\xe2\x11\x06\x8b\xe6\x5b\x3d\x3d\x35\xbf\x4e\x8d\x5b\xb3\x47\x83\x33\xdf\x9c\xed\x9b\x2a\xba\xf4\x86\x97\x99\x4a\x14\x5e\x93\x21\x49\x9f\xc5\xee\x56\x0f\x4f\xbb\x68\x49\xe1\xae\x8e\xb3\xd1\xde\x00\x83\xa2\x1a\x03\xf6\xa6\xb2\x81\x76\xf0\x13\x0d\x38\x95\xe5\x0e\x75\xe3\xd7\xd0\x94\x7a\x7b\xc2\xc5\xb9\xff\x69\x89\x5d\x27\x79\x14\x42\xba\x8d\x0f\x21\x80\x71\x2b\x56\x7f\x71\x2e\xa9\x12\xf3\xb0\xd9\x2c\x19\x34\x2e\x01\x06\xff\x1d\x87\xb4\x6a\xd3\x3a\xf3\x00\xb9\x08\x55\xba\x97\x69\xd3\x66\xe7\x94\x25\xd9\x8e\x4d\xe1\x99\x05\xa0\x45\x77\x70\x7c\xbe\x62\x5b\x84\x69\x17\x81\xcd\x26\xbf\x62\x26\x0b\x4a\x8b\xd6\x05\xf7\x7a\xf6\xf9\x70\xe1\xb3\xa1\x12\xe8\x91\x83\x44\xbd\x0d\x8d\x2e\x41\xdf\xd2\xce\x98\x95\xb0\x24\x6e\x50\x88\x7a\xa3\xa5\x77\xff\x73\xbe\x4b\x6a\xe6\x0f\xeb\x0c\xa3\x6f\x6a\x5f\x81\x71\xed\x20\x9e\x5c\x56\x65\x29\xc0\x94\x0d\x9b\x4b\xd7\x44\xcc\xee\x56\xe5\x4a\x9a\x0c\x6e\x4d\xa5\x20\xdd\x31\x5c\x28\x72\xb0\x2d\xb5\x63\x70\x3e"}, -{{0xea,0xb1,0x79,0xe4,0x1e,0xd5,0xc8,0x89,0xff,0xe6,0xaa,0xbd,0xc0,0x54,0xfa,0xf1,0x30,0x7c,0x39,0x5e,0x46,0xe3,0x13,0xe1,0x7a,0x14,0xfe,0x01,0x02,0x3f,0xfa,0x30,},{0x86,0xf3,0x47,0x46,0xd3,0xf7,0xa0,0x1d,0xdb,0xe3,0x22,0xf1,0xac,0xa5,0x6d,0x22,0x85,0x6d,0x38,0x73,0x3a,0x3a,0x69,0x00,0xbb,0x08,0xe7,0x76,0x45,0x0e,0xc8,0x03,},{0x14,0x3c,0xb2,0x80,0x27,0xc2,0xf8,0x2e,0x37,0x5e,0x5f,0x34,0x0e,0x7f,0xe6,0xe6,0x0c,0xe7,0xbd,0x51,0x00,0x0b,0x49,0xc7,0x41,0x68,0xaf,0x85,0xe2,0x6e,0xd2,0xed,0x63,0x0e,0xd2,0x67,0x20,0x90,0x16,0x4c,0xc5,0x4b,0x05,0x2d,0xa6,0x94,0xeb,0xdd,0x21,0xa2,0x1b,0x30,0x53,0xf4,0xdc,0xfd,0x78,0x95,0xea,0x5f,0x6c,0x8a,0xa8,0x0d,},"\x97\x10\x95\xce\xbe\x50\x31\x53\x02\x24\x38\x7c\x5c\x31\x96\x6e\x38\x9b\x85\x66\x39\x00\x54\xcf\x45\x26\x4b\x44\xe1\x89\x64\xb7\xbe\x52\xc3\x3c\x4f\xfb\x25\x9a\xf1\x62\x83\x43\x8f\xa1\x5d\xd6\x6b\xc7\x79\x1b\x75\x33\xef\x10\xcb\x0b\xea\xb5\x24\xa6\x43\x76\x26\xf4\xcc\x74\x51\x28\x51\xad\xcc\x2f\xb1\x29\x05\x5a\x48\x2c\x61\x10\x73\x83\xfb\x7c\x52\x41\x83\x1d\x55\x51\x63\x4e\xef\x0d\xc0\xb8\xf9\x05\x3a\x00\x97\x1a\xa8\xfa\x1a\xe0\x89\x8e\x4b\x48\x1b\x67\x07\xe9\x7c\x0f\x94\x20\x40\xb3\x39\xd9\x2f\xc1\x7b\xba\xde\x74\x67\x5a\xf2\x43\xd8\xb2\xda\xfb\x15\xb1\xdb\x55\xd1\x24\x15\xb8\x5f\x30\x37\x29\x19\x30\xab\x61\x60\x0b\xa3\x43\x1f\x8e\xb4\x25\xbe\x44\x91\x61\x47\x28\xaf\x10\x1e\x81\xc0\x91\xf3\x48\xbc\x5f\xfd\x1b\xde\x6a\xe6\xca\xd5\xc1\x5b\x3a\xa7\x35\x80\x78\xcc\x4e\xff\xb5\x4a\x86\xe7\xf0\xe0\xc5\x5e\x4c\xfe\x0a\x54\x60\x5e\xd4\x43\xfd\xf2\xaa\xba\x01\x65\x85\xda\x61\x7e\x77\x34\x1d\x52\x88\x9d\x75\xdd\x54\x0d\x39\xfe\x8b\x79\x93\xed\x70\x5c\xfd\xde\xa0\xcb\x0d\x5a\x73\x1d\x6b\xfc\xdb\x81\x6a\xfa\xff\x47\xe9\x63\xee\xde\xbd\xf2\x41\xaf\x55\x93\x35\x3d\x6d\x40\x1a\x34\xf0\x29\xa8\xcd\xeb\x19\x04\xcc\x2c\xaa\x4f\x96\x35\xcc\x2b\xa6\xb7\xb1\xa2\x9d\xa6\x25\xff\xc3\x83\xbe\x2f\x5a\x8f\x1f\xa4\xf3\x9b\x2d\x4b\x4f\x4c\x2d\x88\x38\xce\x25\x8a\x04\xd4\xa1\x20\x49\x3f\xdf\x07\xf6\x8c\x0f\xfd\x1c\x16\xb7\x68\xa3\x5c\x55\xfe\xa2\xca\xc6\x96\xb5\xc2\x0e\xfc\x10\x86\x5c\xde\x8a\x64\x62\x7d\xcd"}, -{{0xfb,0xf1,0x46,0xeb,0xd5,0x10,0x75,0x57,0x0e,0xc5,0x1a,0xc4,0x10,0xae,0x9f,0x39,0x1d,0xb7,0x5b,0x61,0x0a,0xda,0x63,0x62,0xb4,0xdb,0xd9,0x49,0x65,0x6c,0xfb,0x66,},{0xbe,0x7c,0x2f,0x5b,0x21,0xd7,0x46,0xc8,0xea,0x32,0x45,0xce,0x6f,0x26,0x8e,0x9d,0xa7,0x4e,0x00,0xfa,0x85,0xc9,0xc4,0x75,0x26,0x0c,0x68,0xfa,0x1a,0xf6,0x36,0x1f,},{0x67,0x68,0x00,0x6f,0xe0,0xf2,0x01,0xb2,0x17,0xdd,0x10,0xeb,0x05,0xd4,0xb8,0x2a,0xdc,0xfe,0xb2,0xec,0xfc,0x83,0x73,0xc3,0x30,0x8f,0x41,0x50,0x39,0x48,0x11,0xeb,0x60,0x49,0x18,0x81,0xa2,0xe5,0x3d,0x12,0x89,0xd9,0x64,0x78,0xe1,0x8a,0x64,0xc3,0x4b,0x2a,0x19,0x83,0x2c,0xdc,0xcf,0xd9,0x6a,0x2e,0x4a,0x0c,0x46,0x9f,0xdc,0x0b,},"\xcd\x7a\xd4\xf1\x7f\xcf\xf7\x3a\xcc\x40\x2d\xc1\x02\xd0\x90\x79\xb2\x9a\xaf\x2a\x0f\x4b\x27\xcf\x6b\xee\xb1\xe2\xb2\x3d\x19\xab\x47\xde\xb3\xae\x1b\xec\xd6\x88\x61\xea\x27\x9c\x46\x69\x17\x38\xf4\xff\xf4\x7c\x43\x04\x7c\x4f\x8b\x56\xb6\xbb\xcc\x3f\xde\x07\x23\xd4\x41\x20\xdc\xd3\x07\xa6\x31\x0d\xc4\xf3\x66\xb8\xf3\xcd\x52\xdb\x19\xb8\x26\x6a\x48\x7f\x78\x72\x39\x1c\x45\xfe\x0d\x32\x48\xa7\xab\xf2\xc2\x00\x22\xd3\x76\x95\x47\xf6\x83\x06\x7d\xcc\x36\x3c\xd2\x2f\xd7\xcd\xa3\xca\xdc\x15\x80\x40\x56\xf0\xe2\xaa\x2b\x79\x50\x08\xc5\x98\xbe\x7a\x96\x18\x05\xe6\xdf\x29\x1b\xa3\x04\x1c\x47\xff\x56\x40\x27\x5f\x46\xe6\xae\x82\x09\x2d\x21\xab\xcb\xcf\xba\x11\xe7\x30\x21\x60\x08\x82\x2d\xe3\xce\x46\x24\x00\x59\x6d\xa7\x9f\x7a\xe5\xd1\xdf\x83\x89\x11\x2a\xd9\x88\x68\xfa\x94\xfb\x05\x46\xbf\xe6\xa6\x7a\xa8\xd2\x8c\x4d\x32\x07\x2d\x2e\xad\xd6\x25\x62\x55\xf1\x8c\x23\x82\xe6\x62\xdf\xa9\x22\xa6\x80\xe0\x6a\x43\x62\x2c\x48\x71\xd2\x7d\x18\x07\xf7\xb2\x70\x30\x70\xc8\x3d\xb8\xdd\x92\x9c\x06\x03\x8b\x21\x83\xcb\x8e\x2b\x9e\xc4\xc7\x78\xd7\xec\xf9\xe9\xff\xac\x77\xfa\x77\x37\xb0\x55\xfe\xac\x2e\x79\x82\xae\xee\xc0\xb7\x2f\x1b\xbc\xa2\x42\x4e\x1a\x84\x4b\xba\xc7\x9c\xb2\xe7\x40\x0f\x81\xdc\x44\x9d\x05\x60\xb5\x21\xa7\xc1\x6b\xb4\x16\x7e\x66\x96\x58\x60\x58\xa9\xb8\xed\x2e\x51\x16\x69\x0b\x77\xf2\xa1\x7e\x5c\x0b\x16\xa8\x3d\xcb\xd2\xe2\x45\x52\x29\x3e\x25\x8b\x32\xba\x7f\x84\x49\x44\x37\x93\x42\x69\x86\x27"}, -{{0xdf,0xf0,0xeb,0x6b,0x42,0x6d,0xea,0x2f,0xd3,0x3c,0x1d,0x3f,0xc2,0x4d,0xf9,0xb3,0x1b,0x48,0x6f,0xac,0xb7,0xed,0xb8,0x50,0x29,0x54,0xa3,0xe8,0xda,0x99,0xd9,0xfd,},{0xc2,0x45,0x08,0x5e,0xce,0x69,0xfb,0x9a,0xa5,0x60,0xd0,0xc2,0x7f,0xdb,0x63,0x4f,0x7a,0x84,0x0d,0x41,0xd8,0x46,0x36,0x60,0xfb,0xe8,0x24,0x83,0xb0,0xf3,0xcc,0x3a,},{0x6b,0x48,0xb1,0x0f,0x54,0x5d,0xdb,0x7a,0x89,0xcd,0x58,0x29,0xf4,0xe5,0xb2,0x01,0x46,0xcf,0x6b,0xc9,0x6e,0x55,0x0d,0x06,0xf6,0x5d,0xe8,0xbd,0xae,0x7c,0xcd,0xde,0xd2,0x6c,0xd6,0x30,0xf8,0x6c,0x92,0x66,0xbc,0xcf,0x88,0xe9,0x24,0x03,0x3e,0x04,0xf8,0x3a,0x54,0xf8,0x29,0x0d,0x7f,0x73,0x4c,0xf8,0x67,0x3c,0xca,0x8f,0x97,0x03,},"\xe7\xc9\xe3\x13\xd8\x61\x60\xf4\xc7\x4a\xa0\xae\x07\x36\x9e\xe2\x2b\x27\xf8\x1b\x3f\x69\x09\x7a\xff\xae\x28\xda\xe4\x84\x83\xfb\x52\xa5\xc0\x62\x30\x6b\x59\x61\x0f\x5c\xdb\xff\x63\x32\xb1\x96\x0c\xd6\xf2\xb8\xf7\xb4\x15\x78\xc2\x0f\x0b\xc9\x63\x7a\x0f\xdf\xc7\x39\xd6\x1f\x69\x9a\x57\x3f\x1c\x1a\x0b\x49\x29\x45\x06\xcf\x44\x87\x96\x5e\x5b\xb0\x7b\xbf\x81\x80\x3c\xb3\xd5\xcb\x38\x29\xc6\x6c\x4b\xee\x7f\xc8\x00\xed\xe2\x16\x15\x09\x34\xd2\x77\xde\xa5\x0e\xdb\x09\x7b\x99\x2f\x11\xbb\x66\x9f\xdf\x14\x0b\xf6\xae\x9f\xec\x46\xc3\xea\x32\xf8\x88\xfd\xe9\xd1\x54\xea\x84\xf0\x1c\x51\x26\x5a\x7d\x3f\xef\x6e\xef\xc1\xcc\xdb\xff\xd1\xe2\xc8\x97\xf0\x55\x46\xa3\xb1\xca\x11\xd9\x51\x7c\xd6\x67\xc6\x60\xec\x39\x60\xf7\xa8\xe5\xe8\x02\x02\xa7\x8d\x3a\x38\x8b\x92\xf5\xc1\xde\xe1\x4a\xe6\xac\xf8\xe1\x7c\x84\x1c\x95\x57\xc3\x5a\x2e\xec\xed\x6e\x6a\xf6\x37\x21\x48\xe4\x83\xcc\xd0\x6c\x8f\xe3\x44\x92\x4e\x10\x19\xfb\x91\xcb\xf7\x94\x1b\x9a\x17\x6a\x07\x34\x15\x86\x72\x10\x67\x04\x10\xc5\xdb\xd0\xac\x4a\x50\xe6\xc0\xa5\x09\xdd\xfd\xc5\x55\xf6\x0d\x69\x6d\x41\xc7\x7d\xb8\xe6\xc8\x4d\x51\x81\xf8\x72\x75\x5e\x64\xa7\x21\xb0\x61\xfc\xd6\x8c\x46\x3d\xb4\xd3\x2c\x9e\x01\xea\x50\x12\x67\xde\x22\x87\x9d\x7f\xc1\x2c\x8c\xa0\x37\x9e\xdb\x45\xab\xaa\x6e\x64\xdd\xa2\xaf\x6d\x40\xcc\xf2\x4f\xbe\xba\xd7\xb5\xa8\xd3\xe5\x20\x07\x94\x5e\xcd\x3d\xdc\x1e\x3e\xfe\xb5\x22\x58\x1a\xc8\x0e\x98\xc8\x63\xba\x0c\x59\x0a\x3e\xd9\x5c\xd1"}, -{{0x9f,0x32,0x95,0x8c,0x76,0x79,0xb9,0x0f,0xd5,0x03,0x60,0x56,0xa7,0x5e,0xc2,0xeb,0x2f,0x56,0xec,0x1e,0xff,0xc7,0xc0,0x12,0x46,0x1d,0xc8,0x9a,0x3a,0x16,0x74,0x20,},{0x1d,0x72,0x69,0xdc,0xb6,0xd1,0xf5,0x84,0xe6,0x62,0xd4,0xce,0x25,0x1d,0xe0,0xab,0xa2,0x90,0xef,0x78,0xb9,0x7d,0x44,0x8a,0xfb,0x1e,0x53,0x33,0xf1,0x97,0x6d,0x26,},{0x98,0x81,0xa5,0x76,0x3b,0xdb,0x25,0x9a,0x3f,0xef,0xbb,0xa3,0xd9,0x57,0x16,0x2d,0x6c,0x70,0xb8,0x04,0xfa,0x94,0xab,0x61,0x34,0x06,0xa6,0xec,0x42,0x50,0x5b,0x87,0x89,0x46,0x5c,0xa1,0xa9,0xa3,0x3e,0x18,0x95,0x98,0x88,0x42,0x27,0x0c,0x55,0xe5,0xbd,0xd5,0x48,0x3f,0x6b,0x17,0xb3,0x17,0x81,0xb5,0x93,0x50,0x7a,0x6c,0x18,0x08,},"\xa5\x6b\xa8\x6c\x71\x36\x05\x04\x08\x7e\x74\x5c\x41\x62\x70\x92\xad\x6b\x49\xa7\x1e\x9d\xaa\x56\x40\xe1\x04\x4b\xf0\x4d\x4f\x07\x1a\xd7\x28\x77\x9e\x95\xd1\xe2\x46\x05\x84\xe6\xf0\x77\x35\x45\xda\x82\xd4\x81\x4c\x91\x89\xa1\x20\xf1\x2f\x3e\x38\x19\x81\x3e\x5b\x24\x0d\x0f\x26\x43\x6f\x70\xee\x35\x3b\x4d\x20\xce\xa5\x4a\x14\x60\xb5\xb8\xf1\x00\x8d\x6f\x95\xf3\xaa\x2d\x8f\x1e\x90\x8f\xce\xd5\x0d\x62\x4e\x3a\x09\x69\x38\xb9\x35\x38\x54\xb9\x6d\xa4\x63\xa2\x79\x8a\x5a\x31\x2e\xc7\x90\x84\x2c\x10\xc4\x46\xe3\x35\x0c\x76\x4b\xf5\xc9\x72\x59\x3b\x99\x87\xbf\x23\x25\x6d\xaa\x88\x94\xd4\x7f\x22\xe8\x5b\x97\x60\x7e\x66\xfc\x08\xa1\x2c\x78\x9c\x47\x46\x08\x03\x68\xd3\x21\xbb\x90\x15\xa1\x15\x5b\x65\x52\x3a\xd8\xe9\x9b\xb9\x89\xb4\x4e\xac\x75\x6b\x07\x34\xac\xd7\xc6\x35\x7c\x70\xb5\x97\x43\x24\x6d\x16\x52\xd9\x1b\x0f\x98\x96\x96\x51\x41\x34\x5b\x99\x45\xcf\x34\x98\x04\x52\xf3\x50\x29\x74\xed\xb7\x6b\x9c\x78\x5f\xb0\xf4\x39\x52\x66\xb0\x55\xf3\xb5\xdb\x8a\xab\x68\xe9\xd7\x10\x2a\x1c\xd9\xee\x3d\x14\x25\x04\xf0\xe8\x8b\x28\x2e\x60\x3a\x73\x8e\x05\x1d\x98\xde\x05\xd1\xfc\xc6\x5b\x5f\x7e\x99\xc4\x11\x1c\xc0\xae\xc4\x89\xab\xd0\xec\xad\x31\x1b\xfc\x13\xe7\xd1\x65\x3b\x9c\x31\xe8\x1c\x99\x80\x37\xf9\x59\xd5\xcd\x98\x08\x35\xaa\x0e\x0b\x09\xbc\xbe\xd6\x34\x39\x11\x51\xda\x02\xbc\x01\xa3\x6c\x9a\x58\x00\xaf\xb9\x84\x16\x3a\x7b\xb8\x15\xed\xbc\x02\x26\xed\xa0\x59\x5c\x72\x4c\xa9\xb3\xf8\xa7\x11\x78\xf0\xd2\x0a\x5a"}, -{{0xf8,0x6d,0x6f,0x76,0x6f,0x88,0xb0,0x07,0x17,0xb7,0xd6,0x32,0x7e,0xb2,0x6c,0xf3,0xce,0xeb,0xa5,0x38,0x51,0x84,0x42,0x6f,0x9c,0xfd,0x82,0x95,0xe2,0x42,0x1f,0xf2,},{0xcb,0x1d,0x25,0x05,0x04,0x75,0x41,0x83,0x70,0x4d,0xbe,0x21,0xc3,0x23,0xd6,0x6f,0x9f,0x90,0x11,0x75,0x8f,0x6d,0x8d,0xab,0x6f,0x59,0x7b,0x19,0x96,0x62,0x14,0x5b,},{0xec,0x61,0xc0,0xb2,0x92,0x20,0x3a,0x8f,0x1d,0x87,0x23,0x5e,0xde,0x92,0xb7,0x47,0x23,0xc8,0xd2,0x34,0x08,0x42,0x37,0x73,0xae,0x50,0xb1,0xe9,0xbc,0x44,0x64,0xe0,0x3e,0x44,0x6d,0xa9,0xdc,0xe4,0xc3,0x9f,0x6d,0xd1,0x59,0xbe,0xa2,0x6c,0x00,0x9e,0xd0,0x01,0x20,0xbc,0x36,0xd4,0xa2,0x47,0xdc,0x0d,0x24,0xbc,0xef,0xcc,0x11,0x0c,},"\xda\x84\x23\xa6\xb7\xa1\x8f\x20\xaa\x1f\x90\xed\x23\x31\xb1\x7b\x24\x06\x7c\x40\x17\x5b\xc2\x5d\x81\x09\xe2\x1d\x87\xac\x00\x52\x8e\xb3\xb2\xf6\x6a\x2b\x52\xdc\x7e\xf2\xf8\xce\xcb\x75\xc7\x60\x99\xcf\xa2\x3d\xb8\xda\x89\x70\x43\xba\x1c\xce\x31\xe2\xdf\xea\x46\x07\x5f\x5e\x07\x32\x03\xea\xeb\x3d\x62\xc8\x4c\x10\x7b\x6d\xab\x33\xa1\x4e\xaf\x14\x9a\xa6\x18\x50\xc1\x5f\x5a\x58\xd8\x8a\x15\xab\xa9\x19\x6f\x9e\x49\x5e\x8d\xbe\xcb\xcf\x7e\x84\x44\xf5\xdd\x72\xa0\x8a\x09\x9d\x7f\x62\x09\x99\x0b\x56\x29\x74\xea\x82\x9e\xf1\x1d\x29\xa9\x20\xe3\xa7\x99\xd0\xd9\x2c\xb5\x0d\x50\xf8\x17\x63\x1a\xb0\x9d\xe9\x7c\x31\xe9\xa0\x5f\x4d\x78\xd6\x49\xfc\xd9\x3a\x83\x75\x20\x78\xab\x3b\xb0\xe1\x6c\x56\x4d\x4f\xb0\x7c\xa9\x23\xc0\x37\x4b\xa5\xbf\x1e\xea\x7e\x73\x66\x8e\x13\x50\x31\xfe\xaf\xcb\xb4\x7c\xbc\x2a\xe3\x0e\xc1\x6a\x39\xb9\xc3\x37\xe0\xa6\x2e\xec\xdd\x80\xc0\xb7\xa0\x49\x24\xac\x39\x72\xda\x4f\xa9\x29\x9c\x14\xb5\xa5\x3d\x37\xb0\x8b\xf0\x22\x68\xb3\xba\xc9\xea\x93\x55\x09\x0e\xeb\x04\xad\x87\xbe\xe0\x59\x3b\xa4\xe4\x44\x3d\xda\x38\xa9\x7a\xfb\xf2\xdb\x99\x52\xdf\x63\xf1\x78\xf3\xb4\xc5\x2b\xcc\x13\x2b\xe8\xd9\xe2\x68\x81\x21\x3a\xbd\xeb\x7e\x1c\x44\xc4\x06\x15\x48\x90\x9f\x05\x20\xf0\xdd\x75\x20\xfc\x40\x8e\xa2\x8c\x2c\xeb\xc0\xf5\x30\x63\xa2\xd3\x05\x70\xe0\x53\x50\xe5\x2b\x39\x0d\xd9\xb6\x76\x62\x98\x48\x47\xbe\x9a\xd9\xb4\xcd\x50\xb0\x69\xff\xd2\x9d\xd9\xc6\x2e\xf1\x47\x01\xf8\xd0\x12\xa4\xa7\x0c\x84\x31\xcc"}, -{{0xa5,0xb3,0x4c,0xef,0xab,0x94,0x79,0xdf,0x83,0x89,0xd7,0xe6,0xf6,0xc1,0x46,0xaa,0x8a,0xff,0xb0,0xbe,0xc8,0x37,0xf7,0x8a,0xf6,0x46,0x24,0xa1,0x45,0xcc,0x34,0x4e,},{0x7b,0x0f,0x4f,0x24,0xd9,0x97,0x2b,0xc6,0xfe,0x83,0x82,0x6c,0x52,0x71,0x6a,0xd1,0xe0,0xd7,0xd1,0x9f,0x12,0x38,0x58,0xcb,0x3e,0x99,0xfa,0x63,0x6a,0xc9,0x63,0x1a,},{0x2f,0xbd,0x89,0x9d,0x72,0xb6,0xd3,0x9e,0x4f,0x45,0xb8,0xb6,0x2c,0xbb,0xd5,0xf3,0xc0,0xac,0xb1,0xad,0x85,0x40,0x91,0x3f,0xa5,0x85,0x87,0x7e,0x91,0xcc,0xfe,0xf7,0xbe,0xe5,0x0a,0x4b,0x0f,0x9f,0xed,0xf5,0xcc,0x1e,0x0d,0x19,0x53,0xad,0x39,0x9c,0x83,0x89,0xa9,0x33,0x91,0xe1,0xb7,0xc9,0x29,0xaf,0x6d,0x6f,0x3b,0x79,0x6c,0x08,},"\xe2\x1e\x98\xaf\x6c\x2b\xac\x70\x55\x7e\xb0\xe8\x64\xda\x2c\x2b\x4d\x6c\x0a\x39\xa0\x59\xd3\x47\x72\x51\xf6\x17\x8a\x39\x67\x6f\x47\x49\xe7\xfb\xea\x62\x3f\x14\x8a\x43\xa8\xb0\xfe\x06\x10\x50\x6f\xa6\x58\xab\xd2\xf5\xfa\x39\x19\x8f\x26\x36\xb7\x24\xdb\x22\xd1\xae\xbc\x2a\xb0\x7b\x2b\x6d\xbf\xfd\xee\x8c\xec\xe8\x1e\x1a\xf1\x49\x3e\xc1\x96\x4e\x16\xbf\x86\xab\x25\x8c\xa0\xfe\xb7\x7e\x3c\x87\x17\xe4\x40\x38\xab\xe1\x52\xc1\x4b\xe1\x56\x60\xbf\x93\xb2\xd4\x8d\x92\xc4\xed\x70\x74\xd2\x49\x42\x10\x62\x1b\xcf\x20\x4f\xba\x88\xc6\x54\xd5\xff\xe0\x1e\x1a\x53\xd0\x8f\x70\xbb\x23\x70\x89\xdc\x80\x72\x16\xff\x6a\x85\xdb\xec\x31\x02\x23\x7d\x42\x59\x07\x78\xac\xf6\xc1\xdc\x56\x6d\x5a\x2b\xb9\xa6\x3b\xc2\x1c\x32\x9c\x27\x2e\x59\x65\xba\xee\xb0\xfe\x89\x1d\xe3\xcc\x8c\xbf\xa8\xe5\x41\xa8\x88\x1d\xf6\x89\x42\xe7\xff\x8d\xc6\x56\xbd\x08\x57\x5f\x6a\xaf\x92\x4a\x17\x6d\x66\x3b\x1a\x1f\x43\x57\x4d\x11\x76\x8c\x70\x1b\x26\x95\x61\xe5\x54\x38\xdb\xeb\xfd\x44\x3d\x21\x15\xcb\x93\x3d\x1c\xde\x4a\x91\x5b\x54\xc3\x25\xc2\x7f\x49\x9e\xf0\x2b\xd0\x12\xff\x1f\x9a\x36\x39\x09\x22\x88\x76\x00\xfe\x71\x2b\xcd\xc2\x3e\xb5\x97\x4a\x30\x53\x72\xad\x52\x95\x1f\x83\xf0\xe5\x8c\xc4\x9e\x28\x98\x41\x62\x19\x17\xf1\xfc\xb0\x23\x51\x47\x24\x0d\xae\x4c\xf3\xb9\x9b\x6a\xc6\xd8\xde\x94\xef\xe7\xc4\x43\x67\x14\x50\x8b\xcd\x01\x14\xc5\x60\x68\xff\x1b\x7c\x16\xd5\x1b\xd9\x06\x43\x78\x74\xd6\x54\x9a\xb5\xd8\x08\x78\x96\x87\x2e\xc8\xa0\x9d\x74\x12"}, -{{0xad,0x75,0xc9,0xce,0x29,0x9c,0x4d,0x59,0x39,0x33,0x67,0xd7,0x7a,0x4c,0x9f,0x8d,0xf8,0xdc,0xec,0x76,0x5c,0x6d,0xbd,0x25,0xb5,0x27,0xfb,0x76,0x69,0x91,0x36,0x04,},{0xb9,0x91,0x05,0x48,0xfe,0x63,0x12,0xa1,0x19,0xc9,0x99,0x3e,0xeb,0xcf,0xb9,0xdc,0x90,0x03,0x0f,0xfb,0x0e,0x4d,0xe2,0xb7,0xcc,0xd2,0x3c,0xbe,0xb4,0xfe,0xf7,0x1b,},{0x6b,0x7e,0xf2,0x7b,0xcf,0xbf,0x2b,0x71,0x49,0x85,0x03,0x37,0x64,0xfc,0xcf,0xf5,0x55,0xe3,0xf5,0xbc,0x44,0x61,0x0d,0x6c,0x8c,0x62,0x11,0x7c,0xb3,0x83,0x1a,0x07,0xf4,0xa8,0xbd,0xdb,0x0e,0xae,0xd1,0xd4,0x6b,0x02,0x89,0xb1,0x5d,0xe1,0xaa,0x4d,0xcc,0x17,0xd7,0x1b,0xe9,0x6a,0x09,0xe6,0x6b,0xa4,0xdc,0x46,0x27,0xc7,0x87,0x05,},"\x62\xfc\x5a\xb6\x7d\xeb\x1f\xee\x9a\xb6\xcc\xa3\xb8\x8a\x1d\xf1\xe5\x89\xf0\xfd\x4a\x88\xf4\xaa\x77\x38\x94\x87\x61\xfe\x84\x37\x2c\x5b\x18\xe4\x65\x52\x20\xc1\xd8\x4d\x52\xac\xad\x32\xe2\x29\xa5\xc7\x56\xc2\x0f\xc6\x2f\xe4\xb4\xb4\xe5\xfd\x70\x77\xae\x4e\xd5\x39\x7a\xa7\x96\xf2\x30\x7c\xee\xdb\x65\x05\xb3\x92\x97\x85\x6f\x4a\xeb\x5e\x70\x93\x8e\x36\xee\x24\xa0\xac\x7d\x98\x68\x30\x6f\x6b\x53\x91\x06\x23\xb7\xdc\x89\xa6\x67\x2a\xd7\x38\x57\x6e\xd5\xd8\x88\x31\xdd\x33\x83\x21\xc8\x90\x2b\xc2\x06\x1f\x65\xe9\x4d\x45\x2f\xdf\xa0\xdc\x66\x5c\xef\xb9\x23\x08\xe5\x23\x01\xbd\x46\x27\x00\x6b\x36\x3d\x06\xb7\x75\xa3\x95\x91\x4d\x8c\x86\x3e\x95\xa0\x0d\x68\x93\xf3\x37\x61\x34\xc4\x29\xf5\x64\x78\x14\x5e\x44\x56\xf7\xa1\x2d\x65\xbb\x2b\x89\x65\xd7\x28\xcb\x2d\xdb\xb7\x08\xf7\x12\x5c\x23\x70\x95\xa9\x21\x95\xd9\x2f\xa7\x27\xa3\x72\xf3\x54\x5a\xe7\x01\xf3\x80\x8f\xee\x80\x2c\x89\x67\xa7\x6e\x8a\x94\x0e\x55\xfb\x2d\x81\x0b\xfb\x47\xad\xa1\x56\xf0\xed\xa1\x82\x9b\x15\x9c\xf0\x5c\x7f\x36\xcf\x38\x47\xd7\xb2\x1d\xe8\x4c\x3d\xc0\xfe\x65\x83\x47\xf7\x93\x96\xa0\x11\x39\xa5\x08\xb6\x00\x22\xdb\x1c\x0e\x5a\xee\xf4\x7e\x44\x5e\x66\xf7\x83\xe6\x2c\x96\x59\x7b\xdb\x16\xf2\x09\xc0\x8a\x91\x32\xc7\x57\x31\x36\x17\x0e\xe3\xeb\xf2\x42\x61\x26\x5a\x89\xfb\x4f\x10\x33\x33\x75\xe2\x0b\x33\xab\x74\x03\x46\x4f\x52\x49\x46\x1c\x68\x53\xc5\xfd\xdb\x9f\x58\xaf\x81\x68\x92\x91\x03\x93\xa7\x07\x7b\x79\x9f\xdc\x34\x89\x72\x09\x98\xfe\xea\x86"}, -{{0x1c,0xed,0x57,0x45,0x29,0xb9,0xb4,0x16,0x97,0x7e,0x92,0xeb,0x39,0x44,0x8a,0x87,0x17,0xca,0xc2,0x93,0x4a,0x24,0x3a,0x5c,0x44,0xfb,0x44,0xb7,0x3c,0xcc,0x16,0xda,},{0x85,0xe1,0x67,0xd5,0xf0,0x62,0xfe,0xe8,0x20,0x14,0xf3,0xc8,0xb1,0xbe,0xae,0xd8,0xee,0xfb,0x2c,0x22,0xd8,0x64,0x9c,0x42,0x4b,0x86,0xb2,0x1b,0x11,0xeb,0x8b,0xda,},{0xe0,0x30,0x3a,0xef,0xe0,0x8a,0x77,0x73,0x8d,0xcc,0x65,0x7a,0xfb,0xb9,0xb8,0x35,0xed,0x27,0x96,0x13,0xa5,0x3c,0x73,0xfd,0xc5,0xdd,0xbf,0xb3,0x50,0xe5,0xcf,0xf4,0xd6,0xc9,0xbb,0x43,0xdc,0x07,0xc9,0x5b,0xf4,0xe2,0x3b,0x64,0xc4,0x0f,0x88,0x04,0xc7,0x16,0x99,0x52,0xe3,0xc8,0xd5,0x9a,0x71,0x97,0x24,0x1b,0xfe,0xd0,0x74,0x0f,},"\x1b\x3b\x95\x3c\xce\x6d\x15\x30\x3c\x61\xca\x70\x76\x09\xf7\x0e\x72\x50\xf6\xc0\xde\xba\x56\xa8\xce\x52\x2b\x59\x86\x68\x96\x51\xcd\xb8\x48\xb8\x42\xb2\x22\x96\x61\xb8\xee\xab\xfb\x85\x70\x74\x9e\xd6\xc2\xb1\x0a\x8f\xbf\x51\x50\x53\xb5\xea\x7d\x7a\x92\x28\x34\x9e\x46\x46\xf9\x50\x5e\x19\x80\x29\xfe\xc9\xce\x0f\x38\xe4\xe0\xca\x73\x62\x58\x42\xd6\x4c\xaf\x8c\xed\x07\x0a\x6e\x29\xc7\x43\x58\x6a\xa3\xdb\x6d\x82\x99\x3a\xc7\x1f\xd3\x8b\x78\x31\x62\xd8\xfe\x04\xff\xd0\xfa\x5c\xbc\x38\x1d\x0e\x21\x9c\x91\x93\x7d\xf6\xc9\x73\x91\x2f\xc0\x2f\xda\x53\x77\x31\x24\x68\x27\x4c\x4b\xee\x6d\xca\x7f\x79\xc8\xb5\x44\x86\x1e\xd5\xba\xbc\xf5\xc5\x0e\x14\x73\x49\x1b\xe0\x17\x08\xac\x7c\x9f\xf5\x8f\x1e\x40\xf8\x55\x49\x7c\xe9\xd7\xcc\x47\xb9\x41\x0f\x2e\xdd\x00\xf6\x49\x67\x40\x24\x3b\x8d\x03\xb2\xf5\xfa\x74\x2b\x9c\x63\x08\x67\xf7\x7a\xc4\x2f\x2b\x62\xc1\x4e\x5e\xbd\xdc\x7b\x64\x7a\x05\xff\xf4\x36\x70\x74\x5f\x28\x51\xef\xf4\x90\x9f\x5d\x27\xd5\x7a\xe8\x7f\x61\xe9\x65\xee\x60\xfd\xf9\x77\x24\xc5\x92\x67\xf2\x61\x0b\x7a\xd5\xde\x91\x98\x56\xd6\x4d\x7c\x21\x26\x59\xce\x86\x56\x14\x9b\x6a\x6d\x29\xd8\xf9\x2b\x31\x2b\xe5\x0b\x6e\x2a\x43\x1d\x36\xae\x02\x2b\x00\xa6\xfe\x36\x0e\x3a\xf6\x54\x32\x89\x9c\x43\xbe\x04\x27\xe3\x6d\x21\xcf\xec\x81\xf2\x1a\xa5\x3b\x33\xdb\x5e\xd2\xc3\x7d\xa8\xf9\x6a\xc3\xe7\xdc\x67\xa1\xde\x37\x54\x6c\xf7\xde\x10\x08\xc7\xe1\xad\xbe\x0f\x34\xfa\x7e\xb2\x43\x4d\x94\xe6\xa1\x3f\x4c\xf8\x6a\x98\xd4\x97\x62\x2f"}, -{{0xf0,0x79,0x0d,0x93,0xe2,0xd3,0xb8,0x4f,0x61,0xef,0x4c,0x80,0x71,0x47,0xab,0xa4,0x10,0xe4,0x15,0xe7,0x2b,0x71,0xb0,0xd6,0x1d,0x01,0x02,0x6f,0xed,0x99,0xda,0x3d,},{0xef,0xdf,0x64,0x9f,0xb0,0x33,0xcf,0x32,0x8e,0x0b,0x28,0x77,0x96,0xf8,0xa2,0x5e,0x9c,0x6e,0x2e,0x87,0x1b,0x33,0xc2,0xc2,0x1a,0x40,0x28,0xa8,0xa2,0x5a,0x4b,0x28,},{0x08,0x77,0x3a,0x6a,0x78,0x76,0x2c,0xbb,0x1e,0x25,0xfc,0xbb,0x29,0x13,0x99,0x41,0xbd,0xf1,0x6f,0x4e,0x09,0xa1,0xfa,0x08,0xfc,0x70,0x1f,0x32,0xf9,0x33,0xed,0xd7,0x4c,0x0a,0xe9,0x83,0xc1,0x2a,0x0a,0x5b,0x02,0x0b,0x6b,0xcf,0x44,0xbb,0x71,0x9d,0xde,0x8e,0xd0,0x78,0x1a,0x82,0x98,0x26,0x56,0x40,0xe1,0x60,0x8c,0x98,0xb3,0x01,},"\x79\x73\xe9\xf3\x2d\x74\x80\x59\x92\xeb\x65\xda\x0d\x63\x73\x35\xe5\x0e\xff\x0c\xe6\x8e\xa2\xd1\xf3\xa0\x2d\xe7\x04\x49\x2b\x9c\xfb\xe7\xe7\xba\x96\xfd\xb4\x2b\xb8\x21\xa5\x13\xd7\x3f\xc6\x04\x02\xe9\x2c\x85\x5d\xea\xed\x73\xff\xea\xf7\x09\x52\x02\x90\x62\xc8\x33\xe1\x4e\xc1\xb1\x4f\x14\x4e\x22\x07\xf6\xa0\xe7\x27\xe5\xa7\xe3\xcb\xab\x27\xd5\x97\x29\x70\xf6\x95\x18\xa1\x5b\x09\x3e\x74\x0c\xc0\xce\x11\xbf\x52\x48\xf0\x82\x6b\x8a\x98\xbd\xe8\xbf\x2c\x70\x82\xc9\x7a\xff\x15\x8d\x08\x37\x11\x18\xc8\x90\x21\xcc\x39\x74\xae\x8f\x76\xd8\x66\x73\xc3\xf8\x24\xb6\x2c\x79\xc4\xb4\x1f\x40\xea\xa8\x94\x37\x38\xf0\x33\x00\xf6\x8c\xbe\x17\x54\x68\xeb\x23\x5a\x9f\xf0\xe6\x53\x7f\x87\x14\xe9\x7e\x8f\x08\xca\x44\x4e\x41\x19\x10\x63\xb5\xfa\xbd\x15\x6e\x85\xdc\xf6\x66\x06\xb8\x1d\xad\x4a\x95\x06\x55\x84\xb3\xe0\x65\x8c\x20\xa7\x06\xea\xf4\xa0\x77\x7d\xa4\xd2\xe0\xcd\x2a\x0f\xca\x60\x10\x9c\x2b\x44\x03\xdb\x3f\x03\xcd\x47\x81\xc1\xfb\xb0\x27\x22\x02\xbc\xb1\x16\x87\x80\x8c\x50\xcb\x98\xf6\x4b\x7f\x3f\xd3\xd4\x33\x33\xbb\x5a\x06\x1b\x9e\x37\x70\x90\xab\xb1\xe0\xa8\x85\xcb\x26\xb7\x3c\x16\x3e\x63\xff\x64\x51\xff\x2f\x4e\xc8\x24\x9c\x7e\x15\x2b\xd0\x39\x73\xa1\xe9\x64\xe2\xb5\xb2\x35\x28\x1a\x93\x83\x99\xa1\x12\xa2\x45\x29\xe3\x83\xa5\x60\xdc\x50\xbb\x1b\x62\x2a\xd7\x4e\xf3\x56\x58\xdc\xb1\x0f\xfe\x02\x25\x68\xac\x3f\xfa\xe5\xb4\x65\xa8\xed\x76\x43\xe8\x56\x1b\x35\x2e\xe9\x94\x4a\x35\xd8\x82\xc7\x12\xb1\x87\x78\x8a\x0a\xba\xe5\xa2\x2f"}, -{{0x4c,0xb9,0xdf,0x7c,0xe6,0xfa,0xe9,0xd6,0x2b,0xa0,0x9e,0x8e,0xb7,0x0e,0x4c,0x96,0x9b,0xde,0xaf,0xcb,0x5e,0xc7,0xd7,0x02,0x43,0x26,0xe6,0x60,0x3b,0x06,0x21,0xbf,},{0x01,0x80,0x69,0xdd,0x0e,0xb4,0x40,0x55,0xa3,0x5c,0xd8,0xc7,0x7c,0x37,0xca,0x9f,0xb1,0xad,0x24,0x17,0x27,0x13,0x85,0xe1,0x34,0xb2,0xf4,0xe8,0x1f,0x52,0x03,0x3c,},{0xe3,0x3c,0x07,0x83,0x6c,0x53,0x7d,0x6b,0xfb,0xd0,0xf4,0x59,0x2d,0x6e,0x35,0xb1,0x63,0x49,0x9b,0xa7,0x8d,0xc7,0xff,0xce,0xc5,0x65,0xd0,0x4f,0x9a,0x7d,0xb7,0x81,0x94,0x3e,0x29,0xe6,0xce,0x76,0x76,0x3e,0x9b,0xad,0xdf,0x57,0x43,0x7f,0xd9,0xc6,0xb0,0x32,0x39,0xa6,0xe6,0x85,0x0e,0x45,0x02,0xa3,0x56,0xc2,0xe1,0x2c,0x37,0x05,},"\x14\x62\x7d\x6e\xa0\xe7\x89\x54\x60\x75\x94\x76\xdc\x74\xc4\x28\x00\xce\xef\x99\x43\x27\x51\x81\x51\x49\x0d\x9d\xf2\x30\x67\x91\x4e\x44\x78\x8a\x12\x76\x8c\xcb\x25\x47\x1b\x9c\x3b\xa9\xd1\x4f\xb4\x36\xdc\xba\x38\x42\x9b\x3a\x04\x56\x87\x77\x63\xc4\x91\x75\xd0\xe0\x82\x68\x3e\x07\xa9\x05\x8f\x36\x85\xc6\x27\x93\x07\xb2\x30\x3d\x12\x21\xb9\xc2\x97\x93\xd8\xa4\x87\x7f\x6d\xf5\x15\x87\x38\x4d\xad\xf7\x51\xc5\xf7\xbf\xbd\x20\x7d\x51\x96\x22\xc3\x7b\x51\xce\xee\xe2\xc2\x0d\x82\x69\xf8\xcb\x88\xd3\xfe\x43\xd6\xd4\x34\xd5\xbb\xd0\xe2\x03\xc1\x53\x2d\x97\xba\x55\x21\x47\x22\x74\x96\xc8\x7f\x67\xb5\x0b\xb7\x61\x93\xad\xd0\x14\x4d\xf1\xc1\x76\x65\x75\x85\x40\x83\x62\xca\x2e\xd0\x4a\xd6\x2a\xcf\x1c\x25\xe3\x41\xdf\xd1\x49\x8d\x85\xb4\xb1\x34\x9a\x8b\x0b\x9b\x02\xc4\x35\x23\xc5\x58\x53\x41\x9b\xfe\xd3\x7d\x5a\x2c\xdf\x17\xdf\xbf\x1a\x3b\xd7\x75\x9d\x6a\xe1\x80\xf9\xd2\x7d\xcd\x9a\x89\x33\xe2\x9a\x7c\x0a\x30\x77\x1e\xea\x7c\x2e\x0f\xa2\x42\x92\x5d\x23\x36\xdc\xe5\x85\x62\x90\x57\xd8\x44\x32\x39\x64\xf6\xd3\xd1\x1f\xf0\xb3\xf8\x29\xa3\xbe\x8c\x9f\x04\x68\xa6\x82\x3d\x8e\x70\xab\x5a\x2d\xa2\x1e\x15\xfa\x8b\x04\x1a\x29\x81\x22\x22\xe9\xc3\x0b\x2b\xd9\xa1\x2d\x1f\xde\xe6\xf8\x78\x76\xe8\xce\x81\x00\x96\x37\xa8\xbb\x22\x36\x12\x9a\x47\xca\x74\x28\x9e\xe4\xaa\xd4\x29\xff\xe2\x9f\x47\x43\x02\x41\xca\x8c\xc3\x84\x8b\x72\x00\xfd\x6e\x14\x70\x65\x1a\x9a\x0a\x6f\x72\xc9\x03\x3e\x83\x1d\xf0\x51\x40\x8a\x62\x60\xf6\x5c\xba\xf6\xe0\x12\xb1\x8e"}, -{{0xa1,0x36,0xe0,0x09,0xd5,0x3e,0x5e,0xf5,0x9d,0x09,0x46,0xbc,0x17,0x56,0x63,0xa8,0x6b,0xc0,0xfc,0xd2,0x9e,0xad,0xd9,0x5c,0xfc,0x9d,0x26,0x60,0x37,0xb1,0xe4,0xfb,},{0x9c,0x18,0x06,0xec,0x04,0x54,0xf5,0x83,0x14,0xeb,0x83,0x97,0xd6,0x42,0x87,0xde,0xe3,0x86,0x64,0x0d,0x84,0x91,0xab,0xa3,0x64,0x60,0x76,0x88,0x84,0x17,0x15,0xa0,},{0xbc,0x09,0x4b,0xa9,0x1c,0x11,0x5d,0xee,0x15,0xd7,0x53,0x36,0x1a,0x75,0xf3,0xf0,0x3d,0x6a,0xf4,0x5c,0x92,0x15,0x7e,0x95,0xdb,0xe8,0xd3,0x21,0x94,0xb6,0xc5,0xce,0x72,0xb9,0xdc,0x66,0xf7,0x3d,0xf1,0x2d,0xca,0x0b,0x63,0x9f,0x3e,0x79,0x1d,0x47,0x86,0x16,0xa1,0xf8,0xd7,0x35,0x9a,0x42,0xc8,0xea,0xe0,0xdd,0xa1,0x6b,0x16,0x06,},"\xa4\x9d\x1c\x3d\x49\xe1\x3c\x2e\xda\x56\x86\x8a\x88\x24\xaa\x9f\x8d\x2b\xf7\x2f\x21\x95\x5e\xba\xfd\x07\xb3\xbd\xc8\xe9\x24\xde\x20\x93\x6c\xee\x51\x3d\x8a\x64\xa4\x71\x73\xa3\xbd\x65\x9e\xff\x1a\xcc\xff\x82\x44\xb2\x6a\xae\x1a\x0c\x27\xfa\x89\x1b\xf4\xd8\x5e\x8f\xb1\xb7\x6a\x6c\xab\x1e\x7f\x74\xc8\x9e\xe0\x7b\xb4\x0d\x71\x43\x26\xf0\x9b\x3f\xd4\x06\x32\xfa\xd2\x08\xea\x81\x6f\x90\x72\x02\x8c\x14\xb5\xb5\x4e\xcc\x1c\x5b\x7f\xc8\x09\xe7\xe0\x78\x6e\x2f\x11\x49\x5e\x76\x01\x7e\xb6\x2a\xa4\x56\x3f\x3d\x00\xee\x84\x34\x8d\x98\x38\xcd\x17\x64\x9f\x69\x29\xa6\xd2\x06\xf6\x0e\x6f\xc8\x2e\x0c\x34\x64\xb2\x7e\x0e\x6a\xbd\x22\xf4\x46\x9b\xdf\xd4\xcb\x54\xf7\x7e\x32\x9b\x80\xf7\x1b\xf4\x21\x29\xec\x13\xc9\xdf\xe1\x92\xad\xfa\xa4\x2e\xe3\xdd\xee\xda\x38\x58\x16\xfb\xad\x5f\x41\x19\x38\xc6\x3b\x56\x0f\x4e\xcd\x94\x53\x4b\xe7\xd9\x87\x25\xcd\x94\xc9\x9c\xe4\x92\xf0\xf0\x69\xba\x0e\xc0\x8f\x87\x7a\x78\x12\xef\x27\xae\x19\xd7\xa7\x7b\xe6\x3f\x66\xbc\xf8\xd6\xcf\x3a\x1a\x61\xfc\x9c\xfe\xf1\x04\xc7\x46\x2a\x21\xca\x7f\x03\xaf\xb5\xbb\x1a\xc8\xc7\x51\x24\xb5\x54\xe8\xd0\x44\xb8\x10\xd9\x5f\xf8\xc9\xdd\x09\xa3\x44\x84\xd8\xc4\xb6\xc9\x5f\x95\xc3\xc2\x28\x23\xf5\x2c\xe8\x44\x29\x37\x24\xd5\x25\x91\x91\xf1\xba\x09\x29\xe2\xac\xdb\xb8\xb9\xa7\xa8\xad\xf0\xc5\x2e\x78\xac\xdf\xdf\x05\x7b\x09\x85\x88\x1a\xfb\xed\x4d\xbe\xbd\xeb\xbd\xae\x0a\x2b\x63\xbd\x4e\x90\xf9\x6a\xfd\xcb\xbd\x78\xf5\x06\x30\x9f\x9b\xdb\x65\x00\x13\xcb\x73\xfa\xed\x73\x90\x4e"}, -{{0xff,0x0f,0x1c,0x57,0xdd,0x88,0x4f,0xbe,0xea,0x6e,0x29,0x17,0x28,0x2b,0x79,0xba,0x67,0xf8,0xa6,0x85,0x12,0x67,0xb9,0xf4,0x63,0x6d,0xaf,0xda,0x33,0xbd,0x2b,0x5b,},{0xfe,0xf6,0x37,0x8a,0xd1,0x2a,0x7c,0x25,0x2f,0xa6,0xeb,0x74,0x2b,0x05,0x06,0x4b,0x41,0x53,0x0f,0xf0,0x19,0xdc,0x68,0x0a,0xb5,0x44,0xc0,0x27,0xea,0x28,0x36,0xe7,},{0xd5,0x00,0x84,0x86,0x72,0x6c,0xce,0x33,0x0a,0x29,0xdd,0x7e,0x4d,0x74,0x74,0xd7,0x35,0x79,0x82,0x01,0xaf,0xd1,0x20,0x6f,0xeb,0x86,0x9a,0x11,0x2e,0x5b,0x43,0x52,0x3c,0x06,0x97,0x67,0x61,0xbe,0x3c,0xf9,0xb2,0x71,0x63,0x78,0x27,0x3c,0x94,0xf9,0x35,0x72,0xa7,0xd2,0xb8,0x98,0x26,0x34,0xe0,0x75,0x5c,0x63,0x2b,0x44,0x90,0x08,},"\x52\x2a\x5e\x5e\xff\x5b\x5e\x98\xfa\xd6\x87\x8a\x9d\x72\xdf\x6e\xb3\x18\x62\x26\x10\xa1\xe1\xa4\x81\x83\xf5\x59\x0e\xce\xf5\xa6\xdf\x67\x1b\x28\xbe\x91\xc8\x8c\xdf\x7a\xe2\x88\x11\x47\xfe\x6c\x37\xc2\x8b\x43\xf6\x4c\xf9\x81\xc4\x55\xc5\x9e\x76\x5c\xe9\x4e\x1b\x64\x91\x63\x1d\xea\xee\xf6\xd1\xda\x9e\xbc\xa8\x86\x43\xc7\x7f\x83\xea\xe2\xcf\xdd\x2d\x97\xf6\x04\xfe\x45\x08\x1d\x1b\xe5\xc4\xae\x2d\x87\x59\x96\xb8\xb6\xfe\xcd\x70\x7d\x3f\xa2\x19\xa9\x3b\xa0\x48\x8e\x55\x24\x7b\x40\x5e\x33\x0c\xfb\x97\xd3\x1a\x13\x61\xc9\xb2\x08\x4b\xdb\x13\xfb\x0c\x05\x89\x25\xdb\x8c\x3c\x64\x9c\x9a\x3e\x93\x7b\x53\x3c\xc6\x31\x0f\xa3\xb1\x61\x26\xfb\x3c\xc9\xbb\x2b\x35\xc5\xc8\x30\x00\x15\x48\x8a\x30\xfa\xdc\xa3\xc8\x87\x1f\xa7\x0d\xfd\xc7\x05\x5b\xf8\xe6\x31\xf2\x0c\x9b\x25\x28\x31\x1e\x32\x4a\x7c\x4e\xdd\x54\x62\x07\x9f\x34\x41\xc9\xec\xf5\x5f\xa9\x99\xe7\x31\x37\x23\x44\xfd\xc0\xd4\x13\xe4\x17\xaa\xa0\x01\xa1\xb2\xd3\xd9\xbc\x00\x0f\xec\x1b\x02\xbd\x7a\x88\xa8\x12\xd9\xd8\xa6\x6f\x94\x64\x76\x4c\x07\x0c\x93\x04\x1e\xef\xb1\x7c\xe7\x4e\xff\x6d\x4a\xff\x75\xf0\xcb\xf6\xa7\x89\xa9\xec\xde\x74\xab\xe3\x31\x30\xfc\xa0\xda\x85\x3a\xa7\xc3\x31\x3a\xda\x3f\x0a\xe2\xf5\x95\xc6\x79\x6a\x93\x68\x5e\x72\x9d\xd1\x8a\x66\x9d\x63\x81\x82\x5a\xb3\xf3\x6a\x39\x1e\x75\x25\xb2\xa8\x07\xa5\x2f\xa5\xec\x2a\x03\x0a\x8c\xf3\xb7\x73\x37\xac\x41\xfc\xeb\x58\x0e\x84\x5e\xed\x65\x5a\x48\xb5\x47\x23\x8c\x2e\x81\x37\xc9\x2f\x8c\x27\xe5\x85\xca\xad\x31\x06\xee\xe3\x81\x4a"}, -{{0x0b,0xc6,0xaf,0x64,0xde,0x57,0x09,0xd3,0xdb,0xc2,0x8f,0x7e,0xf6,0xd3,0xfe,0x28,0xb6,0xde,0x52,0x9f,0x08,0xf5,0x85,0x7c,0xcb,0x91,0x06,0x95,0xde,0x45,0x4f,0x56,},{0xfb,0x49,0x1f,0xc9,0x00,0x23,0x7b,0xdc,0x7e,0x9a,0x11,0x9f,0x27,0x15,0x0c,0xd9,0x11,0x93,0x5c,0xd3,0x62,0x87,0x49,0xff,0x40,0xef,0x41,0xf3,0x95,0x5b,0xc8,0xac,},{0xdb,0xc7,0x13,0x4d,0x1c,0xd6,0xb0,0x81,0x3b,0x53,0x35,0x27,0x14,0xb6,0xdf,0x93,0x94,0x98,0xe9,0x1c,0xf3,0x7c,0x32,0x43,0x37,0xd9,0xc0,0x88,0xa1,0xb9,0x98,0x34,0x7d,0x26,0x18,0x5b,0x43,0x09,0x00,0x41,0x29,0x29,0xe4,0xf6,0x3e,0x91,0x03,0x79,0xfc,0x42,0xe3,0x55,0xa4,0xe9,0x8f,0x6f,0xee,0x27,0xda,0xfa,0xd1,0x95,0x72,0x06,},"\xac\x78\x86\xe4\xf4\x17\x2a\x22\xc9\x5e\x8e\xea\x37\x43\x7b\x37\x5d\x72\xac\xce\xdc\xee\x6c\xc6\xe8\x16\x76\x33\x01\xa2\xd8\xef\x4d\x6f\x31\xa2\xc1\xd6\x35\x81\x8b\x70\x26\xa3\x95\xce\x0d\xaf\xd7\x1c\x51\x80\x89\x3a\xf7\x6b\x7e\xa0\x56\xc9\x72\xd6\x80\xec\xa0\x1d\xcb\xdb\xae\x6b\x26\xf1\xc5\xf3\x3f\xc9\x88\xb8\x24\xfb\xbe\x00\xca\xcc\x31\x64\x69\xa3\xba\xe0\x7a\xa7\xc8\x88\x5a\xf7\xf6\x5f\x42\xe7\x5c\xef\x94\xdb\xb9\xaa\xb4\x82\x51\x43\xc8\x50\x70\xe7\x71\x6b\x76\x12\xf6\x4e\xf0\xb0\x16\x60\x11\xd2\x3e\xb5\x65\x4a\xa0\x98\xb0\x2d\x8d\x71\xe5\x7c\x8f\xa1\x7b\xff\x2f\xe9\x7d\xc8\x19\x31\x77\xea\xdc\x09\xfb\x19\x2d\x80\xaa\x92\xaf\xa9\x87\x20\xd4\x61\x48\x17\xff\x3c\x39\xd3\xac\xce\x18\x90\x6f\xa3\xde\x09\x61\x89\x31\xd0\xd7\xa6\x0c\x44\x29\xcb\xfa\x20\xcf\x16\x5c\x94\x79\x29\xac\x29\x3a\xe6\xc0\x6e\x7e\x8f\x25\xf1\x26\x42\x91\xe3\xe1\xc9\x8f\x5d\x93\xe6\xec\xc2\x38\x9b\xc6\x0d\xbb\xf4\xa6\x21\xb1\x32\xc5\x52\xa9\x9c\x95\xd2\x6d\x8d\x1a\xf6\x11\x38\xb5\x70\xa0\xde\x4b\x49\x7e\xbe\x80\x51\xc7\x27\x3a\x98\xe6\xe7\x87\x6d\x0b\x32\x75\x03\xaf\x3c\xb2\xcc\x40\x91\xce\x19\x25\xcb\x2f\x29\x57\xf4\xec\x56\xee\x90\xf8\xa0\x9d\xd5\x7d\x6e\x83\x06\x7a\x35\x6a\x4c\xfe\x65\xb1\xb7\xa4\x46\x5d\xa2\xab\x13\x3b\x0e\xfb\x5e\x7d\x4d\xbb\x81\x1b\xcb\xbd\xe7\x12\xaf\xbf\x0f\x7d\xd3\xf3\x26\x22\x22\x84\xb8\xc7\x4e\xac\x7a\xd6\x25\x7f\xa8\xc6\x32\xb7\xda\x25\x59\xa6\x26\x6e\x91\xe0\xef\x90\xdb\xb0\xaa\x96\x8f\x75\x37\x6b\x69\x3f\xca\xa5\xda\x34\x22\x21"}, -{{0x2f,0x5e,0x83,0xbd,0x5b,0x41,0x2e,0x71,0xae,0x3e,0x90,0x84,0xcd,0x36,0x9e,0xfc,0xc7,0x9b,0xf6,0x03,0x7c,0x4b,0x17,0x4d,0xfd,0x6a,0x11,0xfb,0x0f,0x5d,0xa2,0x18,},{0xa2,0x2a,0x6d,0xa2,0x9a,0x5e,0xf6,0x24,0x0c,0x49,0xd8,0x89,0x6e,0x3a,0x0f,0x1a,0x42,0x81,0xa2,0x66,0xc7,0x7d,0x38,0x3e,0xe6,0xf9,0xd2,0x5f,0xfa,0xcb,0xb8,0x72,},{0x9f,0x80,0x92,0x2b,0xc8,0xdb,0x32,0xd0,0xcc,0x43,0xf9,0x93,0x6a,0xff,0xeb,0xe7,0xb2,0xbc,0x35,0xa5,0xd8,0x22,0x77,0xcd,0x18,0x7b,0x5d,0x50,0xdc,0x7f,0xc4,0xc4,0x83,0x2f,0xff,0xa3,0x4e,0x95,0x43,0x80,0x6b,0x48,0x5c,0x04,0x54,0x8e,0x7c,0x75,0x42,0x94,0x25,0xe1,0x4d,0x55,0xd9,0x1f,0xc1,0x05,0x2e,0xfd,0x86,0x67,0x43,0x0b,},"\xb7\x66\x27\x3f\x06\x0e\xf3\xb2\xae\x33\x40\x45\x4a\x39\x1b\x42\x6b\xc2\xe9\x72\x64\xf8\x67\x45\x53\xeb\x00\xdd\x6e\xcf\xdd\x59\xb6\x11\xd8\xd6\x62\x92\x9f\xec\x71\x0d\x0e\x46\x20\x20\xe1\x2c\xdb\xf9\xc1\xec\x88\x58\xe8\x56\x71\xac\xf8\xb7\xb1\x44\x24\xce\x92\x07\x9d\x7d\x80\x1e\x2a\xd9\xac\xac\x03\x6b\xc8\xd2\xdf\xaa\x72\xaa\x83\x9b\xff\x30\xc0\xaa\x7e\x41\x4a\x88\x2c\x00\xb6\x45\xff\x9d\x31\xbc\xf5\xa5\x43\x82\xde\xf4\xd0\x14\x2e\xfa\x4f\x06\xe8\x23\x25\x7f\xf1\x32\xee\x96\x8c\xdc\x67\x38\xc5\x3f\x53\xb8\x4c\x8d\xf7\x6e\x9f\x78\xdd\x50\x56\xcf\x3d\x4d\x5a\x80\xa8\xf8\x4e\x3e\xde\xc4\x85\x20\xf2\xcb\x45\x83\xe7\x08\x53\x93\x55\xef\x7a\xa8\x6f\xb5\xa0\xe8\x7a\x94\xdc\xf1\x4f\x30\xa2\xcc\xa5\x68\xf1\x39\xd9\xce\x59\xea\xf4\x59\xa5\xc5\x91\x6c\xc8\xf2\x0b\x26\xaa\xf6\xc7\xc0\x29\x37\x9a\xed\xb0\x5a\x07\xfe\x58\x5c\xca\xc6\x03\x07\xc1\xf5\x8c\xa9\xf8\x59\x15\x7d\x06\xd0\x6b\xaa\x39\x4a\xac\xe7\x9d\x51\xb8\xcb\x38\xcf\xa2\x59\x81\x41\xe2\x45\x62\x4e\x5a\xb9\xb9\xd6\x87\x31\x17\x33\x48\x90\x53\x15\xbf\x1a\x5a\xd6\x1d\x1e\x8a\xda\xeb\x81\x0e\x4e\x8a\x86\xd7\xc1\x35\x37\xb0\xbe\x86\x0a\xb2\xed\x35\xb7\x33\x99\xb8\x80\x8a\xa9\x1d\x75\x0f\x77\x94\x3f\x8a\x8b\x7e\x89\xfd\xb5\x07\x28\xaa\x3d\xbb\xd8\xa4\x1a\x6e\x00\x75\x6f\x43\x8c\x9b\x9e\x9d\x55\x87\x2d\xf5\xa9\x06\x8a\xdd\x8a\x97\x2b\x7e\x43\xed\xad\x9c\xed\x22\x37\xca\x13\x67\xbe\x4b\x7c\xdb\x66\xa5\x4e\xa1\x2e\xef\x12\x94\x71\x15\x86\x10\xea\xf2\x8f\x99\xf7\xf6\x86\x55\x7d\xcd\xf6\x44\xea"}, -{{0x72,0x2a,0x2d,0xa5,0x0e,0x42,0xc1,0x1a,0x61,0xc9,0xaf,0xac,0x7b,0xe1,0xa2,0xfe,0xd2,0x26,0x7d,0x65,0x0f,0x8f,0x7d,0x8e,0x5b,0xc7,0x06,0xb8,0x07,0xc1,0xb9,0x1d,},{0xfd,0x0b,0x96,0x45,0x62,0xf8,0x23,0x72,0x1e,0x64,0x9c,0x3f,0xed,0xb4,0x32,0xa7,0x6f,0x91,0xe0,0xae,0xad,0x7c,0x61,0xd3,0x5f,0x95,0xed,0x77,0x26,0xd7,0x85,0x89,},{0xc2,0x69,0x5a,0x57,0x17,0x2a,0xaa,0x31,0xbd,0x08,0x90,0xf2,0x31,0xca,0x8e,0xee,0xc0,0x28,0x7a,0x87,0x17,0x26,0x69,0xa8,0x99,0xad,0x08,0x91,0xce,0xa4,0xc4,0x75,0x79,0xb5,0x04,0x20,0xe7,0x91,0xcd,0xec,0x8c,0x18,0x2c,0x8a,0x0e,0x8d,0xde,0x21,0xb2,0x48,0x0b,0x0c,0xfd,0x81,0x11,0xe2,0x8e,0x56,0x03,0x34,0x7a,0x35,0x2d,0x04,},"\x17\x3e\x8b\xb8\x85\xe1\xf9\x08\x14\x04\xac\xac\x99\x90\x41\xd2\xec\xfc\xb7\x3f\x94\x5e\x0d\xb3\x6e\x63\x1d\x7c\xd1\xab\x99\x9e\xb7\x17\xf3\x4b\xf0\x78\x74\xbf\x3d\x34\xe2\x53\x0e\xb6\x08\x5f\x4a\x9f\x88\xae\x1b\x0f\x7d\x80\xf2\x21\x45\x6a\x8e\x9a\x88\x90\xb9\x1a\x50\x19\x2d\xea\xaa\xcc\x0a\x1a\x61\x5a\x87\x84\x1e\x2c\x5a\x9e\x05\x79\x57\xaf\x6e\x48\xe7\x8c\xc8\x61\x98\xe3\x2e\x7a\xa2\x4d\xcf\x6c\xff\xa3\x29\xbc\x72\x60\x6d\x65\xb1\x16\x82\xc8\xba\x73\x6c\xce\x22\xa0\x57\x85\xdf\x11\x46\x33\x1e\x41\x60\x9c\xf9\xca\x71\x1c\xf4\x64\x95\x82\x97\x13\x8b\x58\xa9\x07\x3f\x3b\xbf\x06\xad\x8a\x85\xd1\x35\xde\x66\x65\x21\x04\xd8\x8b\x49\xd2\x7a\xd4\x1e\x59\xbc\xc4\x4c\x7f\xab\x68\xf5\x3f\x05\x02\xe2\x93\xff\xca\xba\xaf\x75\x59\x27\xdf\xdf\xfb\xfd\xe3\xb3\x5c\x08\x0b\x5d\xe4\xc8\xb7\x85\xf4\xda\x64\xef\x35\x7b\xc0\xd1\x46\x6a\x6a\x96\x56\x0c\x3c\x4f\x3e\x3c\x0b\x56\x3a\x00\x3f\x5f\x95\xf2\x37\x17\x1b\xce\x1a\x00\x17\x71\xa0\x4e\xde\x7c\xdd\x9b\x8c\xa7\x70\xfd\x36\xef\x90\xe9\xfe\x00\x00\xa8\xd7\x68\x5f\xd1\x53\xcc\x72\x82\xde\x95\x92\x0a\x8f\x8f\x08\x98\xd0\x0b\xf0\xc6\xc9\x33\xfe\x5b\xb9\x65\x3f\xf1\x46\xc4\xe2\xac\xd1\xa2\xe0\xc2\x3c\x12\x44\x84\x4d\xac\xf8\x65\x27\x16\x30\x2c\x20\x32\xf9\xc1\x14\x67\x9e\xd2\x6b\x3e\xe3\xab\x4a\x7b\x18\xbc\x4e\x30\x71\xf0\x97\x7d\xb5\x7c\xd0\xac\x68\xc0\x72\x7a\x09\xb4\xf1\x25\xfb\x64\xaf\x28\x50\xb2\x6c\x8a\x48\x42\x63\x33\x4e\x2d\xa9\x02\xd7\x44\x73\x70\x44\xe7\x9a\xb1\xcf\x5b\x2f\x93\xa0\x22\xb6\x3d\x40\xcd"}, -{{0x5f,0xe9,0xc3,0x96,0x0e,0xd5,0xbd,0x37,0x4c,0xc9,0x4d,0x42,0x35,0x7e,0x6a,0x24,0xdc,0x7e,0x30,0x60,0x78,0x8f,0x72,0x63,0x65,0xde,0xfa,0xcf,0x13,0xcd,0x12,0xda,},{0x0c,0xe7,0xb1,0x55,0xc8,0xb2,0x0e,0xbd,0xaa,0xcd,0xc2,0xaa,0x23,0x62,0x7e,0x34,0xb1,0xf9,0xac,0xe9,0x80,0x65,0x0a,0x25,0x30,0xc7,0x60,0x7d,0x04,0x81,0x4e,0xb4,},{0x37,0x9f,0x9c,0x54,0xc4,0x13,0xaf,0x0d,0x19,0x2e,0x9b,0xc7,0x36,0xb2,0x9d,0xa9,0xd5,0x21,0xe7,0xba,0x78,0x41,0xd3,0x09,0xf9,0xbc,0xc1,0xe7,0x42,0xec,0x43,0x08,0xfe,0x9f,0x7b,0xa5,0x1e,0x0b,0x22,0xae,0xd4,0x87,0xcb,0x4a,0xa3,0x91,0x3b,0x9b,0xeb,0xfb,0x3a,0xac,0xd3,0x8f,0x40,0x39,0xf9,0xbb,0xbe,0xbe,0x1a,0xd8,0x00,0x02,},"\xc9\x49\x0d\x83\xd9\xc3\xa9\x37\x0f\x06\xc9\x1a\xf0\x01\x68\x5a\x02\xfe\x49\xb5\xca\x66\x77\x33\xff\xf1\x89\xee\xe8\x53\xec\x16\x67\xa6\xc1\xb6\xc7\x87\xe9\x24\x48\x12\xd2\xd5\x32\x86\x6a\xb7\x4d\xfc\x87\x0d\x6f\x14\x03\x3b\x6b\xcd\x39\x85\x2a\x39\x00\xf8\xf0\x8c\xd9\x5a\x74\xcb\x8c\xbe\x02\xb8\xb8\xb5\x1e\x99\x3a\x06\xad\xfe\xbd\x7f\xc9\x85\x4a\xe5\xd2\x9f\x4d\xf9\x64\x28\x71\xd0\xc5\xe4\x70\xd9\x03\xcf\xbc\xbd\x5a\xdb\x32\x75\x62\x8f\x28\xa8\x0b\xf8\xc0\xf0\x37\x66\x87\xda\xe6\x73\xbf\x7a\x85\x47\xe8\x0d\x4a\x98\x55\xae\x25\x72\xfc\x2b\x20\x5d\xc8\xa1\x98\x01\x6d\xdc\x9b\x50\x99\x5f\x5b\x39\xf3\x68\xf5\x40\x50\x4a\x55\x18\x03\xd6\xdd\x5f\x87\x48\x28\xe5\x54\x1d\xed\x05\x28\x94\xd9\xe2\xdc\x5e\x6a\xa3\x51\x08\x7e\x79\x0c\x0d\xd5\xd9\xc4\xde\xcb\x21\x7e\x4d\xb8\x1c\x98\xa1\x84\xb2\x64\xe6\xda\xea\xc0\xf1\x1e\x07\x4c\xae\x2b\xfc\x89\x9f\x54\xb4\x19\xc6\x5d\xcc\x22\x66\x4a\x91\x5f\xbf\xff\xac\x35\xce\xe0\xf2\x86\xeb\x7b\x14\x49\x33\xdb\x93\x3e\x16\xc4\xbc\xb6\x50\xd5\x37\x72\x24\x89\xde\x23\x63\x73\xfd\x8d\x65\xfc\x86\x11\x8b\x6d\xef\x37\xca\x46\x08\xbc\x6c\xe9\x27\xb6\x54\x36\xff\xda\x7f\x02\xbf\xbf\x88\xb0\x45\xae\x7d\x2c\x2b\x45\xa0\xb3\x0c\x8f\x2a\x04\xdf\x95\x32\x21\x08\x8c\x55\x5f\xe9\xa5\xdf\x26\x09\x82\xa3\xd6\x4d\xf1\x94\xee\x95\x2f\xa9\xa9\x8c\x31\xb9\x64\x93\xdb\x61\x80\xd1\x3d\x67\xc3\x67\x16\xf9\x5f\x8c\x0b\xd7\xa0\x39\xad\x99\x06\x67\xca\x34\xa8\x3a\xc1\xa1\x8c\x37\xdd\x7c\x77\x36\xaa\x6b\x9b\x6f\xc2\xb1\xac\x0c\xe1\x19\xef\x77"}, -{{0xec,0x2f,0xa5,0x41,0xac,0x14,0xb4,0x14,0x14,0x9c,0x38,0x25,0xea,0xa7,0x00,0x1b,0x79,0x5a,0xa1,0x95,0x7d,0x40,0x40,0xdd,0xa9,0x25,0x73,0x90,0x4a,0xfa,0x7e,0xe4,},{0x71,0xb3,0x63,0xb2,0x40,0x84,0x04,0xd7,0xbe,0xec,0xde,0xf1,0xe1,0xf5,0x11,0xbb,0x60,0x84,0x65,0x8b,0x53,0x2f,0x7e,0xa6,0x3d,0x4e,0x3f,0x5f,0x01,0xc6,0x1d,0x31,},{0x84,0xd1,0x8d,0x56,0xf9,0x64,0xe3,0x77,0x67,0x59,0xbb,0xa9,0x2c,0x51,0x0c,0x2b,0x6d,0x57,0x45,0x55,0xc3,0xcd,0xda,0xde,0x21,0x2d,0xa9,0x03,0x74,0x55,0x49,0x91,0xe7,0xd7,0x7e,0x27,0x8d,0x63,0xe3,0x46,0x93,0xe1,0x95,0x80,0x78,0xcc,0x36,0x85,0xf8,0xc4,0x1c,0x1f,0x53,0x42,0xe3,0x51,0x89,0x96,0x38,0xef,0x61,0x21,0x14,0x01,},"\x27\x49\xfc\x7c\x4a\x72\x9e\x0e\x0a\xd7\x1b\x5b\x74\xeb\x9f\x9c\x53\x4e\xbd\x02\xff\xc9\xdf\x43\x74\xd8\x13\xbd\xd1\xae\x4e\xb8\x7f\x13\x50\xd5\xfd\xc5\x63\x93\x45\x15\x77\x17\x63\xe6\xc3\x3b\x50\xe6\x4e\x0c\xd1\x14\x57\x30\x31\xd2\x18\x6b\x6e\xca\x4f\xc8\x02\xcd\xdc\x7c\xc5\x1d\x92\xa6\x13\x45\xa1\x7f\x6a\xc3\x8c\xc7\x4d\x84\x70\x7a\x51\x56\xbe\x92\x02\xde\xe3\x44\x46\x52\xe7\x9b\xae\x7f\x0d\x31\xbd\x17\x56\x79\x61\xf6\x5d\xd0\x1a\x8e\x4b\xee\x38\x33\x19\x38\xce\x4b\x2b\x55\x06\x91\xb9\x9a\x4b\xc3\xc0\x72\xd1\x86\xdf\x4b\x33\x44\xa5\xc8\xfb\xfb\xb9\xfd\x2f\x35\x5f\x61\x07\xe4\x10\xc3\xd0\xc7\x98\xb6\x8d\x3f\xb9\xc6\xf7\xab\x5f\xe2\x7e\x70\x87\x1e\x86\x76\x76\x98\xfe\x35\xb7\x7e\xad\x4e\x43\x5a\x94\x02\xcc\x9e\xd6\xa2\x65\x7b\x05\x9b\xe0\xa2\x10\x03\xc0\x48\xbb\xf5\xe0\xeb\xd9\x3c\xbb\x2e\x71\xe9\x23\xcf\x5c\x72\x8d\x17\x58\xcd\x81\x7a\xd7\x4b\x45\x4a\x88\x71\x26\xd6\x53\xb9\x5a\x7f\x25\xe5\x29\x3b\x76\x8c\x9f\xc5\xa9\xc3\x5a\x23\x72\xe3\x74\x1b\xc9\x0f\xd6\x63\x01\x42\x7b\x10\x82\x4b\xb4\xb1\xe9\x11\x0b\xfb\xa8\x4c\x21\xa4\x0e\xb8\xfe\xd4\x49\x7e\x91\xdc\x3f\xfd\x04\x38\xc5\x14\xc0\xa8\xcb\x4c\xac\x6a\xd0\x25\x6b\xf1\x1d\x5a\xa7\xa9\xc7\xc0\x0b\x66\x9b\x01\x5b\x0b\xf8\x14\x25\xa2\x14\x13\xe2\xff\xb6\xed\xc0\xbd\x78\xe3\x85\xc4\x4f\xd7\x45\x58\xe5\x11\xc2\xc2\x5f\xee\x1f\xec\x18\xd3\x99\x0b\x86\x90\x30\x0f\xa7\x11\xe9\x3d\x98\x54\x66\x8f\x01\x87\x06\x5e\x76\xe7\x11\x3a\xe7\x63\xc3\x0d\xdd\x86\x72\x0b\x55\x46\xa6\xc3\xc6\xf1\xc4\x3b\xc6\x7b\x14"}, -{{0x61,0x32,0x69,0x2a,0x5e,0xf2,0x7b,0xf4,0x76,0xb1,0xe9,0x91,0xe6,0xc4,0x31,0xa8,0xc7,0x64,0xf1,0xae,0xbd,0x47,0x02,0x82,0xdb,0x33,0x21,0xbb,0x7c,0xb0,0x9c,0x20,},{0x7a,0x2d,0x16,0x61,0x84,0xf9,0xe5,0xf7,0x3b,0xea,0x45,0x44,0x86,0xb0,0x41,0xce,0xb5,0xfc,0x23,0x14,0xa7,0xbd,0x59,0xcb,0x71,0x8e,0x79,0xf0,0xec,0x98,0x9d,0x84,},{0xeb,0x67,0x7f,0x33,0x47,0xe1,0xa1,0xea,0x92,0x9e,0xfd,0xf6,0x2b,0xf9,0x10,0x5a,0x6c,0x8f,0x49,0x93,0x03,0x3b,0x4f,0x6d,0x03,0xcb,0x0d,0xbf,0x9c,0x74,0x2b,0x27,0x07,0x04,0xe3,0x83,0xab,0x7c,0x06,0x76,0xbd,0xb1,0xad,0x0c,0xe9,0xb1,0x66,0x73,0x08,0x3c,0x96,0x02,0xec,0x10,0xae,0x1d,0xd9,0x8e,0x87,0x48,0xb3,0x36,0x44,0x0b,},"\xa9\xc0\x86\x16\x65\xd8\xc2\xde\x06\xf9\x30\x1d\xa7\x0a\xfb\x27\xb3\x02\x4b\x74\x4c\x6b\x38\xb2\x42\x59\x29\x4c\x97\xb1\xd1\xcb\x4f\x0d\xcf\x75\x75\xa8\xed\x45\x4e\x2f\x09\x80\xf5\x03\x13\xa7\x73\x63\x41\x51\x83\xfe\x96\x77\xa9\xeb\x1e\x06\xcb\x6d\x34\xa4\x67\xcb\x7b\x07\x58\xd6\xf5\x5c\x56\x4b\x5b\xa1\x56\x03\xe2\x02\xb1\x88\x56\xd8\x9e\x72\xa2\x3a\xb0\x7d\x88\x53\xff\x77\xda\x7a\xff\x1c\xae\xbd\x79\x59\xf2\xc7\x10\xef\x31\xf5\x07\x8a\x9f\x2c\xda\xe9\x26\x41\xa1\xcc\x5f\x74\xd0\xc1\x43\xec\x42\xaf\xba\xa5\xf3\x78\xa9\xe1\x0d\x5b\xf7\x45\x87\xfa\x5f\x49\xc1\x56\x23\x32\x47\xda\xfd\x39\x29\xac\xde\x88\x8d\xc6\x84\x33\x7e\x40\xcd\xc5\x93\x2e\x7e\xb7\x3f\xfc\xc9\x0b\x85\xc0\xad\x46\x04\x16\x69\x1a\xef\xbd\x7e\xfd\x07\xb6\x57\xc3\x50\x94\x6a\x0e\x36\x6b\x37\xa6\xc8\x08\x9a\xba\x5c\x5f\xe3\xbb\xca\x06\x4a\xfb\xe9\xd4\x7f\xbc\x83\x91\x4a\xf1\xcb\x43\xc2\xb2\xef\xa9\x8e\x0a\x43\xbe\x32\xba\x82\x32\x02\x00\x1d\xef\x36\x81\x72\x51\xb6\x5f\x9b\x05\x06\xce\xf6\x68\x36\x42\xa4\x6e\xd6\x12\xf8\xca\x81\xee\x97\xbb\x04\xd3\x17\xb5\x17\x34\x3a\xde\x2b\x77\x12\x6d\x1f\x02\xa8\x7b\x76\x04\xc8\x65\x3b\x67\x48\xcf\x54\x88\xfa\x6d\x43\xdf\x80\x9f\xaa\x19\xe6\x92\x92\xd3\x8c\x5d\x39\x7d\xd8\xe2\x0c\x7a\xf7\xc5\x33\x4e\xc9\x77\xf5\x01\x0a\x0f\x7c\xb5\xb8\x94\x79\xca\x06\xdb\x4d\x12\x62\x7f\x06\x7d\x6c\x42\x18\x6a\x6b\x1f\x87\x42\xf3\x6a\xe7\x09\xba\x72\x0e\x3c\xd8\x98\x11\x66\x66\xd8\x1b\x19\x0b\x9b\x9d\x2a\x72\x20\x2c\xb6\x90\xa0\x3f\x33\x10\x42\x9a\x71\xdc\x04\x8c\xde"}, -{{0xf2,0x19,0xb2,0x10,0x11,0x64,0xaa,0x97,0x23,0xbd,0xe3,0xa7,0x34,0x6f,0x68,0xa3,0x50,0x61,0xc0,0x1f,0x97,0x82,0x07,0x25,0x80,0xba,0x32,0xdf,0x90,0x3b,0xa8,0x91,},{0xf6,0x6b,0x92,0x0d,0x5a,0xa1,0xa6,0x08,0x54,0x95,0xa1,0x48,0x05,0x39,0xbe,0xba,0x01,0xff,0xe6,0x0e,0x6a,0x63,0x88,0xd1,0xb2,0xe8,0xed,0xa2,0x33,0x55,0x81,0x0e,},{0x17,0xf0,0x12,0x7c,0xa3,0xba,0xfa,0x5f,0x4e,0xe9,0x59,0xcd,0x60,0xf7,0x72,0xbe,0x87,0xa0,0x03,0x49,0x61,0x51,0x7e,0x39,0xa0,0xa1,0xd0,0xf4,0xb9,0xe2,0x6d,0xb1,0x33,0x6e,0x60,0xc8,0x2b,0x35,0x2c,0x4c,0xba,0xcd,0xbb,0xd1,0x17,0x71,0xc3,0x77,0x4f,0x8c,0xc5,0xa1,0xa7,0x95,0xd6,0xe4,0xf4,0xeb,0xd5,0x1d,0xef,0x36,0x77,0x0b,},"\x01\x55\x77\xd3\xe4\xa0\xec\x1a\xb2\x59\x30\x10\x63\x43\xff\x35\xab\x4f\x1e\x0a\x8a\x2d\x84\x4a\xad\xbb\x70\xe5\xfc\x53\x48\xcc\xb6\x79\xc2\x29\x5c\x51\xd7\x02\xaa\xae\x7f\x62\x73\xce\x70\x29\x7b\x26\xcb\x7a\x25\x3a\x3d\xb9\x43\x32\xe8\x6a\x15\xb4\xa6\x44\x91\x23\x27\x91\xf7\xa8\xb0\x82\xee\x28\x34\xaf\x30\x40\x0e\x80\x46\x47\xa5\x32\xe9\xc4\x54\xd2\xa0\xa7\x32\x01\x30\xab\x6d\x4d\x86\x00\x73\xa3\x46\x67\xac\x25\xb7\xe5\xe2\x74\x7b\xa9\xf5\xc9\x45\x94\xfb\x68\x37\x7a\xe2\x60\x36\x9c\x40\x71\x3b\x4e\x32\xf2\x31\x95\xbf\x91\xd3\xd7\xf1\xa2\x71\x9b\xf4\x08\xaa\xd8\xd8\xa3\x47\xb1\x12\xe8\x4b\x11\x88\x17\xcb\x06\x51\x33\x44\x02\x17\x63\x03\x52\x72\xa7\xdb\x72\x8a\x0c\xcd\xaa\x94\x9c\x61\x71\x5d\x07\x64\x14\x0b\x3e\x8c\x01\xd2\x0f\xf1\x59\x3c\x7f\x2d\x55\xc4\xe8\x2a\x1c\x0c\xb1\xea\x58\x44\x2b\xf8\x0a\x74\x1b\xca\x91\xf5\x8a\xb0\x58\x1b\x49\x8e\xe9\xfe\x3c\x92\xca\x65\x41\x48\xef\x75\x31\x35\x43\xd1\xaf\xf3\x82\xbe\xfe\x1a\x93\xb0\x21\x90\xce\x01\x02\x17\x51\x58\xe2\x07\x1d\x02\xba\xca\xd8\xdb\xe9\xfb\x94\x0f\xcb\x61\x0c\x10\x5a\xd5\x2c\x80\xfe\xb1\xec\x4e\x52\x4f\x4c\x0e\xc7\x98\x3e\x9c\xe6\x96\xfa\x4f\xcf\x4b\xf0\x51\x4b\x8f\x04\x32\xb1\x7d\x54\x48\xfc\x42\x6f\xea\x2b\x01\xac\x7b\x26\xc2\xae\xd7\x69\x92\x75\x34\xda\x22\x57\x6f\xc1\xbb\xa7\x26\xe9\xd6\x5b\xe0\x1b\x59\xf6\x0a\x64\x8a\xce\x2f\xc3\xe5\xe2\x75\x78\x9f\xa6\x37\xcb\xbd\x84\xbe\x3d\x6a\xc2\x44\x57\xa6\x29\x2c\xd6\x56\xc7\xb5\x69\xa5\x2f\xfe\xa7\x91\x6b\x8d\x04\xb4\xf4\xa7\x5b\xe7\xac\x95\x14\x2f"}, -{{0xfc,0x18,0x00,0x35,0xae,0xc0,0xf5,0xed,0xe7,0xbd,0xa9,0x3b,0xf7,0x7a,0xde,0x7a,0x81,0xed,0x06,0xde,0x07,0xee,0x2e,0x3a,0xa8,0x57,0x6b,0xe8,0x16,0x08,0x61,0x0a,},{0x4f,0x21,0x5e,0x94,0x8c,0xae,0x24,0x3e,0xe3,0x14,0x3b,0x80,0x28,0x2a,0xd7,0x92,0xc7,0x80,0xd2,0xa6,0xb7,0x50,0x60,0xca,0x1d,0x29,0x0c,0xa1,0xa8,0xe3,0x15,0x1f,},{0xa4,0x3a,0x71,0xc3,0xa1,0x9c,0x35,0x66,0x0d,0xae,0x6f,0x31,0xa2,0x54,0xb8,0xc0,0xea,0x35,0x93,0xfc,0x8f,0xca,0x74,0xd1,0x36,0x40,0x01,0x2b,0x9e,0x94,0x73,0xd4,0xaf,0xe0,0x70,0xdb,0x01,0xe7,0xfb,0x39,0x9b,0xf4,0xca,0x60,0x70,0xe0,0x62,0x18,0x00,0x11,0x28,0x5a,0x67,0xdd,0x68,0x58,0xb7,0x61,0xe4,0x6c,0x6b,0xd3,0x20,0x04,},"\xb5\xe8\xb0\x16\x25\x66\x4b\x22\x23\x39\xe0\xf0\x5f\x93\xa9\x90\xba\x48\xb5\x6a\xe6\x54\x39\xa1\x75\x20\x93\x2d\xf0\x11\x72\x1e\x28\x4d\xbe\x36\xf9\x86\x31\xc0\x66\x51\x00\x98\xa6\x8d\x7b\x69\x2a\x38\x63\xe9\x9d\x58\xdb\x76\xca\x56\x67\xc8\x04\x3c\xb1\x0b\xd7\xab\xba\xf5\x06\x52\x9f\xbb\x23\xa5\x16\x6b\xe0\x38\xaf\xfd\xb9\xa2\x34\xc4\xf4\xfc\xf4\x3b\xdd\xd6\xb8\xd2\xce\x77\x2d\xd6\x53\xed\x11\x5c\x09\x5e\x23\x2b\x26\x9d\xd4\x88\x8d\x23\x68\xcb\x1c\x66\xbe\x29\xdd\x38\x3f\xca\x67\xf6\x67\x65\xb2\x96\x56\x4e\x37\x55\x5f\x0c\x0e\x48\x45\x04\xc5\x91\xf0\x06\xea\x85\x33\xa1\x25\x83\xad\x2e\x48\x31\x8f\xf6\xf3\x24\xec\xaf\x80\x4b\x1b\xae\x04\xaa\x89\x67\x43\xe6\x7e\xf6\x1c\xa3\x83\xd5\x8e\x42\xac\xfc\x64\x10\xde\x30\x77\x6e\x3b\xa2\x62\x37\x3b\x9e\x14\x41\x94\x39\x55\x10\x1a\x4e\x76\x82\x31\xad\x9c\x65\x29\xef\xf6\x11\x8d\xde\x5d\xf0\x2f\x94\xb8\xd6\xdf\x2d\x99\xf2\x78\x63\xb5\x17\x24\x3a\x57\x9e\x7a\xaf\xf3\x11\xea\x3a\x02\x82\xe4\x7c\xa8\x76\xfa\xbc\x22\x80\xfc\xe7\xad\xc9\x84\xdd\x0b\x30\x88\x5b\x16\x50\xf1\x47\x1d\xfc\xb0\x52\x2d\x49\xfe\xc7\xd0\x42\xf3\x2a\x93\xbc\x36\x8f\x07\x60\x06\xea\x01\xec\x1c\x74\x12\xbf\x66\xf6\x2d\xc8\x8d\xe2\xc0\xb7\x47\x01\xa5\x61\x4e\x85\x5e\x9f\xa7\x28\xfb\x1f\x11\x71\x38\x5f\x96\xaf\xbd\xe7\x0d\xea\x02\xe9\xaa\x94\xdc\x21\x84\x8c\x26\x30\x2b\x50\xae\x91\xf9\x69\x3a\x18\x64\xe4\xe0\x95\xae\x03\xcd\xc2\x2a\xd2\x8a\x0e\xb7\xdb\x59\x67\x79\x24\x67\x12\xfa\xb5\xf5\xda\x32\x7e\xfe\xc3\xe7\x96\x12\xde\x0a\x6c\xca\xa5\x36\x75\x9b\x8e"}, -{{0xa2,0x83,0x6a,0x65,0x42,0x79,0x12,0x12,0x2d,0x25,0xdc,0xdf,0xc9,0x9d,0x70,0x46,0xfe,0x9b,0x53,0xd5,0xc1,0xbb,0x23,0x61,0x7f,0x11,0x89,0x0e,0x94,0xca,0x93,0xed,},{0x8c,0x12,0xbd,0xa2,0x14,0xc8,0xab,0xb2,0x28,0x6a,0xcf,0xfb,0xf8,0x11,0x24,0x25,0x04,0x0a,0xab,0x9f,0x4d,0x8b,0xb7,0x87,0x0b,0x98,0xda,0x01,0x59,0xe8,0x82,0xf1,},{0xe6,0xa9,0xa6,0xb4,0x36,0x55,0x9a,0x43,0x20,0xc4,0x5c,0x0c,0x2c,0x4a,0x2a,0xed,0xec,0xb9,0x0d,0x41,0x6d,0x52,0xc8,0x26,0x80,0xac,0x73,0x30,0xd0,0x62,0xae,0xbe,0xf3,0xe9,0xac,0x9f,0x2c,0x5f,0xfa,0x45,0x5c,0x9b,0xe1,0x13,0x01,0x3a,0x2b,0x28,0x2e,0x56,0x00,0xfd,0x30,0x64,0x35,0xad,0xa8,0x3b,0x1e,0x48,0xba,0x2a,0x36,0x05,},"\x81\x3d\x60\x61\xc5\x6e\xae\x0f\xf5\x30\x41\xc0\x24\x4a\xa5\xe2\x9e\x13\xec\x0f\x3f\xb4\x28\xd4\xbe\xb8\xa9\x9e\x04\xbc\xa8\xc4\x1b\xdd\xb0\xdb\x94\x5f\x48\x7e\xfe\x38\xf2\xfc\x14\xa6\x28\xfa\xfa\x24\x62\xf8\x60\xe4\xe3\x42\x50\xeb\x4e\x93\xf1\x39\xab\x1b\x74\xa2\x61\x45\x19\xe4\x1e\xe2\x40\x3b\xe4\x27\x93\x0a\xb8\xbc\x82\xec\x89\xce\xaf\xb6\x09\x05\xbd\x4d\xdb\xbd\x13\xbd\xb1\x96\x54\x31\x4f\xc9\x23\x73\x14\x0b\x96\x2e\x22\x58\xe0\x38\xd7\x1b\x9e\xc6\x6b\x84\xef\x83\x19\xe0\x35\x51\xcb\x70\x7e\x74\x7f\x6c\x40\xad\x47\x6f\xbe\xfd\xce\x71\xf3\xa7\xb6\x7a\x1a\xf1\x86\x9b\xc6\x44\x06\x86\xe7\xe0\x85\x5e\x4f\x36\x9d\x1d\x88\xb8\x09\x9f\xba\x54\x71\x46\x78\x62\x7b\xba\x1a\xff\x41\xe7\x70\x7b\xc9\x7e\xdd\xf8\x90\xb0\xc0\x8d\xce\x3e\x98\x00\xd2\x4c\x6f\x61\x09\x2c\xe2\x8d\x48\x1b\x5d\xea\x5c\x09\x6c\x55\xd7\x2f\x89\x46\x00\x91\x31\xfb\x96\x8e\x2b\xc8\xa0\x54\xd8\x25\xad\xab\x76\x74\x0d\xcf\x0d\x75\x8c\x8b\xf5\x4f\xf3\x86\x59\xe7\x1b\x32\xbf\xe2\xe6\x15\xaa\xab\xb0\xf5\x29\x30\x85\x64\x9c\xf6\x0b\x98\x47\xbc\x62\x01\x1c\xe3\x87\x8a\xf6\x28\x98\x4a\x58\x40\xa4\xad\x5d\xae\x37\x02\xdb\x36\x7d\xa0\xf8\xa1\x65\xfe\xd0\x51\x7e\xb5\xc4\x42\xb0\x14\x53\x30\x24\x1b\x97\xee\xca\x73\x3b\xa6\x68\x8b\x9c\x12\x9a\x61\xcd\x12\x36\xaf\xf0\xe2\x7b\xcf\x98\xc2\x8b\x0f\xbe\xea\x55\xa3\xd7\xc7\x19\x3d\x64\x4b\x27\x49\xf9\x86\xbd\x46\xaf\x89\x38\xe8\xfa\xae\xaf\xbd\x9c\xec\x36\x12\xab\x00\x5b\xd7\xc3\xee\xaf\xe9\xa3\x12\x79\xca\x61\x02\x56\x06\x66\xba\x16\x13\x6f\xf1\x45\x2f\x85\x0a\xdb"}, -{{0xf0,0x51,0xaf,0x42,0x6d,0x0c,0x32,0x82,0xfa,0xfc,0x8b,0xf9,0x12,0xad,0xe1,0xc2,0x42,0x11,0xa9,0x5a,0xd2,0x00,0xe1,0xee,0xf5,0x49,0x32,0x0e,0x1c,0xb1,0xa2,0x52,},{0xfa,0x87,0x95,0x5e,0x0e,0xa1,0x3d,0xde,0x49,0xd8,0x3d,0xc2,0x2e,0x63,0xa2,0xbd,0xf1,0x07,0x67,0x25,0xc2,0xcc,0x7f,0x93,0xc7,0x65,0x11,0xf2,0x8e,0x79,0x44,0xf2,},{0xb8,0xf7,0x13,0x57,0x8a,0x64,0x46,0x67,0x19,0xac,0xeb,0x43,0x2f,0xce,0x30,0x2a,0x87,0xcf,0x06,0x6b,0xf3,0xe1,0x02,0xa3,0x50,0x61,0x69,0x21,0xa8,0x40,0x96,0x4b,0xfc,0x7e,0x68,0x5d,0x8f,0xd1,0x74,0x55,0xac,0x3e,0xb4,0x86,0x1e,0xdc,0xb8,0x97,0x9d,0x35,0xe3,0xa4,0xbd,0x82,0xa0,0x78,0xcd,0x70,0x77,0x21,0xd7,0x33,0x40,0x0e,},"\xb4\x8d\x9f\x84\x76\x2b\x3b\xcc\x66\xe9\x6d\x76\xa6\x16\xfa\x8f\xe8\xe0\x16\x95\x25\x1f\x47\xcf\xc1\xb7\xb1\x7d\x60\xdc\x9f\x90\xd5\x76\xef\x64\xee\x7d\x38\x85\x04\xe2\xc9\x07\x96\x38\x16\x5a\x88\x96\x96\x47\x1c\x98\x9a\x87\x6f\x8f\x13\xb6\x3b\x58\xd5\x31\xfe\xa4\xdd\x12\x29\xfc\x63\x16\x68\xa0\x47\xbf\xae\x2d\xa2\x81\xfe\xae\x1b\x6d\xe3\xeb\xe2\x80\xab\xe0\xa8\x2e\xe0\x0f\xbf\xdc\x22\xce\x2d\x10\xe0\x6a\x04\x92\xff\x14\x04\xdf\xc0\x94\xc4\x0b\x20\x3b\xf5\x57\x21\xdd\x78\x7e\xd4\xe9\x1d\x55\x17\xaa\xf5\x8d\x3b\xdd\x35\xd4\x4a\x65\xae\x6b\xa7\x56\x19\xb3\x39\xb6\x50\x51\x8c\xef\xcc\x17\x49\x3d\xe2\x7a\x3b\x5d\x41\x78\x8f\x87\xed\xbd\xe7\x26\x10\xf1\x81\xbf\x06\xe2\x08\xe0\xeb\x7c\xdf\xe8\x81\xd9\x1a\x2d\x6c\xc7\x7a\xa1\x9c\x0f\xcf\x33\x0f\xed\xb4\x46\x75\xd8\x00\xeb\x8c\xff\x95\x05\xd8\x88\x75\x44\xa5\x03\xcb\xe3\x73\xc4\x84\x7b\x19\xe8\xf3\x99\x57\x26\xef\xd6\x64\x98\x58\x59\x5c\x57\xcc\xaf\x0c\xbc\x9e\xb2\x5d\xe8\x3b\xa0\x46\xbc\x9f\x18\x38\xac\x7b\x89\x53\xdd\x81\xb8\x1a\xc0\xf6\x8d\x0e\x93\x38\xcb\x55\x40\x25\x52\xaf\xb6\xbc\x16\x94\x93\x51\xb9\x26\xd1\x51\xa8\x2e\xfc\x69\x5e\x8d\x7d\xa0\xdd\x55\x09\x93\x66\x78\x97\x18\xcc\xbf\x36\x03\x0b\xd2\xc3\xc1\x09\x39\x9b\xe2\x6c\xdb\x8b\x9e\x2a\x15\x5f\x3b\x2c\xb1\xbf\xa7\x1a\xb6\x9a\x23\x62\x5a\x4a\xc1\x18\xfe\x91\xcb\x2c\x19\x78\x8c\xf5\x2a\x71\xd7\x30\xd5\x76\xb4\x21\xd9\x69\x82\xa5\x1a\x29\x91\xda\xec\x44\x0c\xda\x7e\x6c\xc3\x28\x2b\x83\x12\x71\x42\x78\xb8\x19\xbf\xe2\x38\x7e\xb9\x6a\xa9\x1d\x40\x17\x30\x34\xf4\x28"}, -{{0xa1,0x03,0xe9,0x26,0x72,0xc6,0x5f,0x81,0xea,0x5d,0xa1,0xff,0xf1,0xa4,0x03,0x87,0x88,0x47,0x9e,0x94,0x1d,0x50,0x3a,0x75,0x6f,0x4a,0x75,0x52,0x01,0xa5,0x7c,0x1d,},{0xee,0x63,0xa5,0xb6,0x96,0x41,0x21,0x7a,0xcb,0xaf,0x33,0x39,0xda,0x82,0x9e,0xc0,0x71,0xb9,0x93,0x1e,0x59,0x87,0x15,0x35,0x14,0xd3,0x01,0x40,0x83,0x7a,0x7a,0xf4,},{0x2a,0xa2,0x03,0x5c,0x2c,0xe5,0xb5,0xe6,0xae,0x16,0x1e,0x16,0x8f,0x3a,0xd0,0xd6,0x59,0x2b,0xcf,0x2c,0x4a,0x04,0x9d,0x3e,0xd3,0x42,0xfc,0xeb,0x56,0xbe,0x9c,0x7c,0xb3,0x72,0x02,0x75,0x73,0xae,0x01,0x78,0xe8,0x87,0x8e,0xbe,0xfc,0xa7,0xb0,0x30,0x32,0x7b,0x8a,0xad,0x41,0x85,0x7d,0xe5,0x8c,0xb7,0x8e,0x1a,0x00,0xcb,0xac,0x05,},"\xb1\x98\x4e\x9e\xec\x08\x5d\x52\x4c\x1e\xb3\xb9\x5c\x89\xc8\x4a\xe0\x85\xbe\x5d\xc6\x5c\x32\x6e\x19\x02\x5e\x12\x10\xa1\xd5\x0e\xdb\xbb\xa5\xd1\x37\x0c\xf1\x5d\x68\xd6\x87\xeb\x11\x32\x33\xe0\xfb\xa5\x0f\x94\x33\xc7\xd3\x58\x77\x39\x50\xc6\x79\x31\xdb\x82\x96\xbb\xcb\xec\xec\x88\x8e\x87\xe7\x1a\x2f\x75\x79\xfa\xd2\xfa\x16\x2b\x85\xfb\x97\x47\x3c\x45\x6b\x9a\x5c\xe2\x95\x66\x76\x96\x9c\x7b\xf4\xc4\x56\x79\x08\x5b\x62\xf2\xc2\x24\xfc\x7f\x45\x87\x94\x27\x3f\x6d\x12\xc5\xf3\xe0\xd0\x69\x51\x82\x4d\x1c\xca\x3e\x2f\x90\x45\x59\xed\x28\xe2\x86\x8b\x36\x6d\x79\xd9\x4d\xc9\x86\x67\xb9\xb5\x92\x42\x68\xf3\xe3\x9b\x12\x91\xe5\xab\xe4\xa7\x58\xf7\x70\x19\xda\xcb\xb2\x2b\xd8\x19\x6e\x0a\x83\xa5\x67\x76\x58\x83\x6e\x96\xca\x56\x35\x05\x5a\x1e\x63\xd6\x5d\x03\x6a\x68\xd8\x7a\xc2\xfd\x28\x3f\xdd\xa3\x90\x31\x99\x09\xc5\xcc\x76\x80\x36\x88\x48\x87\x3d\x59\x7f\x29\x8e\x0c\x61\x72\x30\x80\x30\xff\xd4\x52\xbb\x13\x63\x61\x7b\x31\x6e\xd7\xcd\x94\x9a\x16\x5d\xc8\xab\xb5\x3f\x99\x1a\xef\x3f\x3e\x95\x02\xc5\xdf\xe4\x75\x6b\x7c\x6b\xfd\xfe\x89\xf5\xe0\x0f\xeb\xdd\x6a\xfb\x04\x02\x81\x8f\x11\xcf\x8d\x1d\x58\x64\xfe\x9d\xa1\xb8\x6e\x39\xaa\x93\x58\x31\x50\x6c\xf2\x40\x0e\xa7\xed\x75\xbd\x95\x33\xb2\x3e\x20\x2f\xe8\x75\xd7\xd9\x63\x8c\x89\xd1\x1c\xb2\xd6\xe6\x02\x1a\xe6\xbd\x27\xc7\x75\x48\x10\xd3\x5c\xd3\xa6\x14\x94\xf2\x7b\x16\xfc\x79\x4e\x2c\xd2\xf0\xd3\x45\x3a\xda\x93\x38\x65\xdb\x78\xc5\x79\x57\x1f\x8f\xc5\xc5\xc6\xbe\x8e\xaf\xfc\xe6\xa8\x52\xe5\xb3\xb1\xc5\x24\xc4\x93\x13\xd4\x27\xab\xcb"}, -{{0xd4,0x7c,0x1b,0x4b,0x9e,0x50,0xcb,0xb7,0x1f,0xd0,0x7d,0x09,0x6d,0x91,0xd8,0x72,0x13,0xd4,0x4b,0x02,0x43,0x73,0x04,0x47,0x61,0xc4,0x82,0x2f,0x9d,0x9d,0xf8,0x80,},{0xf4,0xe1,0xcb,0x86,0xc8,0xca,0x2c,0xfe,0xe4,0x3e,0x58,0x59,0x4a,0x87,0x78,0x43,0x6d,0x3e,0xa5,0x19,0x70,0x4e,0x00,0xc1,0xbb,0xe4,0x8b,0xbb,0x1c,0x94,0x54,0xf8,},{0x62,0x7e,0x7c,0xa7,0xe3,0x4e,0xd6,0x33,0x1d,0x62,0xb9,0x54,0x1c,0x1e,0xa9,0xa9,0x29,0x2b,0xe7,0xb0,0xa6,0x5d,0x80,0x5e,0x26,0x6b,0x51,0x22,0x27,0x2a,0x82,0xdb,0x7d,0x76,0x5a,0xcc,0x7e,0x2a,0x29,0x0d,0x68,0x58,0x04,0x92,0x2f,0x91,0xed,0x04,0xa3,0xc3,0x82,0xc0,0x3f,0xf2,0x1a,0x17,0x68,0xf5,0x84,0x41,0x3c,0x4e,0x5f,0x00,},"\x88\xd7\x00\x9d\x51\xde\x3d\x33\x7e\xef\x0f\x21\x5e\xa6\x6a\xb8\x30\xec\x5a\x9e\x68\x23\x76\x1c\x3b\x92\xad\x93\xea\x34\x1d\xb9\x2e\xce\x67\xf4\xef\x4c\xeb\x84\x19\x4a\xe6\x92\x6c\x3d\x01\x4b\x2d\x59\x78\x1f\x02\xe0\xb3\x2f\x9a\x61\x12\x22\xcb\x9a\x58\x50\xc6\x95\x7c\xb8\x07\x9a\xe6\x4e\x08\x32\xa1\xf0\x5e\x5d\x1a\x3c\x57\x2f\x9d\x08\xf1\x43\x7f\x76\xbb\x3b\x83\xb5\x29\x67\xc3\xd4\x8c\x35\x76\x84\x88\x91\xc9\x65\x8d\x49\x59\xeb\x80\x65\x6d\x26\xcd\xba\x08\x10\x03\x7c\x8a\x18\x31\x8f\xf1\x22\xf8\xaa\x89\x85\xc7\x73\xcb\x31\x7e\xfa\x2f\x55\x7f\x1c\x38\x96\xbc\xb1\x62\xdf\x5d\x87\x68\x1b\xb7\x87\xe7\x81\x3a\xa2\xde\xa3\xb0\xc5\x64\xd6\x46\xa9\x28\x61\xf4\x44\xca\x14\x07\xef\xba\xc3\xd1\x24\x32\xcb\xb7\x0a\x1d\x0e\xaf\xfb\x11\x74\x1d\x37\x18\xfe\xde\xe2\xb8\x30\x36\x18\x9a\x6f\xc4\x5a\x52\xf7\x4f\xa4\x87\xc1\x8f\xd2\x64\xa7\x94\x5f\x6c\x9e\x44\xb0\x11\xf5\xd8\x66\x13\xf1\x93\x9b\x19\xf4\xf4\xfd\xf5\x32\x34\x05\x7b\xe3\xf0\x05\xad\x64\xee\xbf\x3c\x8f\xfb\x58\xcb\x40\x95\x6c\x43\x36\xdf\x01\xd4\x42\x4b\x70\x6a\x0e\x56\x1d\x60\x17\x08\xd1\x24\x85\xe2\x1b\xcb\x6d\x79\x9d\x8d\x1d\x04\x4b\x40\x00\x64\xec\x09\x44\x50\x14\x06\xe7\x02\x53\x94\x70\x06\xca\xbb\xdb\x2d\xd6\xbd\x8c\xee\x44\x97\x65\x3d\x91\x13\xa4\x4d\x4d\xe9\xb6\x8d\x4c\x52\x6f\xca\x0b\x9b\x0c\x18\xfe\x50\xfb\x91\x7f\xdd\x9a\x91\x4f\xb8\x16\x10\x8a\x73\xa6\xb3\xff\xf9\xe6\x54\xe6\x9c\x9c\xfe\x02\xb0\x5c\x6c\x1b\x9d\x15\xc4\xe6\x5c\xf3\x10\x18\xb8\x10\x0d\x78\x46\x33\xee\x18\x88\xee\xe3\x57\x2a\xaf\xa6\xf1\x89\xea\x22\xd0"}, -{{0xfc,0x0c,0x32,0xc5,0xeb,0x6c,0x71,0xea,0x08,0xdc,0x2b,0x30,0x0c,0xbc,0xef,0x18,0xfd,0xde,0x3e,0xa2,0x0f,0x68,0xf2,0x17,0x33,0x23,0x7b,0x4d,0xda,0xab,0x90,0x0e,},{0x47,0xc3,0x7d,0x8a,0x08,0x08,0x57,0xeb,0x87,0x77,0xa6,0xc0,0xa9,0xa5,0xc9,0x27,0x30,0x3f,0xaf,0x5c,0x32,0x09,0x53,0xb5,0xde,0x48,0xe4,0x62,0xe1,0x2d,0x00,0x62,},{0x68,0x87,0xc6,0xe2,0xb9,0x8a,0x82,0xaf,0x5e,0xe3,0xdf,0xa7,0xca,0x2c,0xb2,0x5d,0x9c,0x10,0x74,0x56,0x20,0xa8,0x29,0x56,0xac,0xba,0x85,0xcb,0x57,0xc8,0xec,0x24,0x27,0x9f,0xa4,0x2f,0x09,0x23,0x59,0xa1,0xb6,0xbb,0xea,0xfb,0xa0,0x50,0xf1,0x4b,0x62,0x88,0x20,0x9e,0x6e,0xf7,0xbc,0x1e,0x0a,0x2b,0x87,0x2c,0x11,0x38,0xf3,0x05,},"\xa7\xb1\xe2\xdb\x6b\xdd\x96\xb3\xd5\x14\x75\x60\x35\x37\xa7\x6b\x42\xb0\x4d\x7e\xbd\x24\xfe\x51\x5a\x88\x76\x58\xe4\xa3\x52\xe2\x21\x09\x33\x56\x39\xa5\x9e\x25\x34\x81\x1f\x47\x53\xb7\x02\x09\xd0\xe4\x69\x8e\x9d\x92\x60\x88\x82\x6c\x14\x68\x96\x81\xea\x00\xfa\x3a\x2f\xca\xa0\x04\x7c\xed\x3e\xf2\x87\xe6\x17\x25\x02\xb2\x15\xe5\x64\x97\x61\x4d\x86\xb4\xcb\x26\xbc\xd7\x7a\x2e\x17\x25\x09\x36\x0e\xe5\x88\x93\xd0\x1c\x0d\x0f\xb4\xd4\xab\xfe\x4d\xbd\x8d\x2a\x2f\x54\x19\x0f\xa2\xf7\x31\xc1\xce\xac\x68\x29\xc3\xdd\xc9\xbf\xb2\xff\xd7\x0c\x57\xba\x0c\x2b\x22\xd2\x32\x6f\xbf\xe7\x39\x0d\xb8\x80\x9f\x73\x54\x7f\xf4\x7b\x86\xc3\x6f\x2b\xf7\x45\x4e\x67\x8c\x4f\x1c\x0f\xa8\x70\xbd\x0e\x30\xbb\xf3\x27\x8e\xc8\xd0\xc5\xe9\xb6\x4a\xff\x0a\xf6\x4b\xab\xc1\x9b\x70\xf4\xcf\x9a\x41\xcb\x8f\x95\xd3\xcd\xe2\x4f\x45\x6b\xa3\x57\x1c\x8f\x02\x1d\x38\xe5\x91\xde\xc0\x5c\xb5\xd1\xca\x7b\x48\xf9\xda\x4b\xd7\x34\xb0\x69\xa9\xfd\x10\x65\x00\xc1\xf4\x08\xab\x7f\xe8\xe4\xa6\xe6\xf3\xed\x64\xda\x0e\xd2\x4b\x01\xe3\x3d\xf8\x47\x5f\x95\xfa\x9e\xd7\x1d\x04\xdd\x30\xb3\xcd\x82\x37\x55\xa3\x40\x1b\xf5\xaf\xae\x10\xee\x7e\x18\xec\x6f\xe6\x37\xc3\x79\x3f\xd4\x34\xb4\x8d\x71\x45\x13\x04\x47\xe0\x02\x99\x10\x10\x52\x55\x8b\x50\x65\x54\xec\x9c\x39\x9f\x62\x94\x1c\x3f\x41\x4c\xbc\x35\x2c\xaa\x34\x5b\x93\x0a\xde\xcf\xad\xda\xc9\x1e\xe5\x3d\x14\x51\xa6\x5e\x06\x20\x10\x26\x32\x5d\xe0\x7c\x93\x1f\x69\xbb\xa8\x68\xa7\xc8\x7e\xe2\x3c\x60\x4e\xc6\x79\x43\x32\x91\x7d\xfe\x2c\x5b\x69\x66\x9b\x65\x97\x06\x91\x7f\x71\xed\xdf\x96"}, -{{0xa8,0xd7,0x3d,0x63,0x9a,0x23,0xcc,0x6a,0x96,0x7e,0xf3,0x1b,0xca,0xbb,0x5d,0x06,0x3e,0x53,0xe1,0xea,0xb8,0xfc,0xc7,0xca,0xb9,0xbc,0x3a,0x17,0xfd,0xe9,0xc2,0xf8,},{0x8d,0xaa,0x9f,0x4c,0x8b,0x1a,0x44,0x69,0x1b,0xf4,0x45,0x21,0xf2,0xf7,0xca,0x45,0xdc,0x7f,0xc6,0x1f,0x6a,0x4c,0xe6,0xf9,0x8f,0xaa,0x41,0xc2,0xa7,0x49,0x77,0xd1,},{0xc4,0xdc,0xef,0x1a,0x24,0x53,0x93,0x9b,0x36,0x4b,0x34,0x02,0x50,0xc3,0x12,0x94,0x31,0x43,0x1d,0x5b,0xa3,0xf4,0x76,0x70,0xab,0x07,0xce,0x68,0x0c,0x69,0xbf,0x28,0xb6,0x78,0x62,0x7c,0x76,0xa6,0x36,0x0f,0xc4,0x0d,0xc1,0x09,0xaa,0x7d,0xea,0x37,0x1b,0x82,0x5e,0x46,0x13,0x4f,0x62,0x45,0x72,0x18,0x2a,0xcf,0x39,0x57,0xe7,0x0f,},"\xfd\x1f\xac\x3d\x53\x31\x3b\x11\xac\xd2\x9f\x5a\x83\xac\x11\x89\x6d\xab\x25\x30\xfa\x47\x86\x5b\x22\x95\xc0\xd9\x9d\xd6\x7c\x36\xed\x8e\x5f\xa5\x49\x15\x0c\x79\x4c\x55\x49\xef\xb5\xc1\xd6\x91\x14\xd5\xd6\x07\xb2\x32\x85\xb7\x21\x2a\xfa\xab\x57\x84\x6a\x54\xae\x67\xb9\xe8\x80\xe0\x7b\x65\x86\x60\x7c\xec\xf6\xd4\xee\xd5\x16\xa3\xa7\x55\x11\xfe\x36\x7d\x88\xeb\x87\x1e\x6d\x71\xb7\xd6\xaa\x13\x67\xa0\x14\x21\xb1\x08\x8f\xc2\xd7\x5e\x44\x95\x4b\x73\x62\x5c\x52\xda\x8a\x3a\x18\x3c\x60\xbe\x9d\xa6\x05\x0f\x59\xa4\x53\xca\xa5\x35\x20\x59\x36\x71\x72\x8d\x43\x18\x77\xbf\xaa\xc9\x13\xa7\x65\xfb\x6a\x56\xb7\x52\x90\xb2\xa8\xaa\xac\x34\xaf\xb9\x21\x7b\xa1\xb0\xd5\x85\x0b\xa0\xfd\xab\xf8\x09\x69\xde\xf0\xfe\xee\x79\x4c\xeb\x60\x61\x4e\x33\x68\xe6\x3e\xf2\x0e\x4c\x32\xd3\x41\xec\x9b\x03\x28\xea\x9f\xe1\x39\x20\x7e\xd7\xa6\x26\xff\x08\x94\x3b\x41\x52\x33\xdb\x7c\xfc\xc8\x45\xc9\xb6\x31\x21\xd4\xed\x52\xec\x37\x48\xab\x6a\x1f\x36\xb2\x10\x3c\x7d\xc7\xe9\x30\x3a\xce\xa4\xba\x8a\xf7\xa3\xe0\x71\x84\xfb\x49\x1e\x89\x1e\xde\x84\xf0\xdc\x41\xca\xdc\x39\x73\x02\x8e\x87\x9a\xcd\x20\x31\xaf\xc2\x9a\x16\x09\x28\x68\xe2\xc7\xf5\x39\xfc\x1b\x79\x2e\xda\xb1\x95\xa2\x5a\xb9\x83\x06\x61\x34\x6b\x39\xef\x53\x91\x5d\xe4\xaf\x52\xc4\x21\xea\xf1\x72\xe9\xda\x76\xa0\x8c\x28\x3a\x52\xdf\x90\x7f\x70\x5d\x7e\x85\x99\xc5\xba\xae\x0c\x2a\xf3\x80\xc1\xbb\x46\xf9\x34\x84\xa0\x3f\x28\x37\x43\x24\xb2\x78\x99\x2b\x50\xb7\xaf\xa0\x25\x52\xca\xfa\x50\x3f\x03\x4f\x8d\x86\x6e\x9b\x72\x02\x71\xdd\x68\xcc\xb6\x85\xa8\x5f\xff\xd1"}, -{{0x79,0xc7,0xdc,0xb7,0xd5,0x9a,0x8d,0xf6,0xb2,0xb2,0xba,0x04,0x13,0x05,0x9d,0x89,0x68,0x09,0x95,0xc2,0x0e,0x91,0x6d,0xa0,0x1b,0x8f,0x06,0x7d,0xc6,0x0c,0xde,0xb4,},{0x29,0x87,0x43,0xc7,0x39,0x18,0xbd,0x55,0x6b,0x28,0xf8,0xd4,0x82,0x4a,0x09,0xb8,0x14,0x75,0x2a,0x7a,0xea,0xe7,0xee,0x04,0x87,0x5c,0x53,0xf4,0xd6,0xb1,0x08,0xd9,},{0x7b,0x7c,0xbe,0x44,0xc7,0x71,0xe4,0x37,0x1b,0xae,0x13,0xb0,0x72,0x2b,0xab,0xcc,0x10,0x64,0x15,0x57,0x32,0x96,0x2f,0x40,0x7c,0xba,0x2a,0xcd,0x35,0x38,0x1d,0x42,0x21,0x0b,0xec,0xe8,0x22,0xf4,0x68,0x11,0x21,0xfd,0x4d,0xab,0x74,0x5a,0x1f,0x30,0x77,0x92,0x2f,0xba,0x1a,0x78,0x04,0x5b,0x71,0x29,0x02,0xba,0xcc,0xac,0x66,0x0e,},"\x5f\xe2\x02\xf5\xb3\x3b\x77\x88\x81\x0d\x25\x08\xa1\x3b\x31\x14\xd6\x9b\x85\x96\xe6\xea\xcd\xa0\x5a\x04\xa2\xeb\x59\x7f\xa3\x27\x9c\x20\x8b\x5a\x5b\x65\xda\xac\xb6\x99\xf1\x44\xe1\xd6\x60\xe7\x8e\x13\x9b\x57\x83\x31\xab\xec\x5c\x3c\x35\x33\x44\x54\xf0\x3e\x83\x2c\x8d\x6e\x29\x84\xdf\x5d\x45\x0e\xcb\x5d\x33\x58\x2a\x78\x80\x8a\x9c\x78\xf2\x6e\xbc\xd1\x24\x4e\xf5\x2e\x3f\xa6\xdc\xa1\x15\xc1\xf0\xcb\x56\xe3\x8e\xae\x0e\x5b\x39\xf5\xfd\x86\x3d\xff\xd0\xb2\xfb\x5b\x95\x8f\x2d\x73\x9d\xb3\x12\xfc\x66\x7a\x17\xb0\x31\xc4\xc9\xf8\xc5\xa2\xad\x57\x79\x84\xcc\x41\x46\xc4\x37\x58\x0e\xfd\x21\x52\x17\x3f\xe0\xd5\x78\x2c\xc2\xae\x98\x31\xa8\xd9\xa0\x41\x77\x25\x60\x18\xff\x76\x31\xe0\xb0\xd8\xa9\x9c\xb2\x8f\x00\x8b\x32\x04\x21\xe2\x7a\x74\xc3\x13\x59\x18\x86\x63\x45\x6d\x85\xe0\x98\xc1\xeb\xd2\x81\x70\x10\x97\xb6\xae\x5a\x87\x1e\x5c\xcc\x02\x05\x8a\x50\x14\x16\xcb\x91\xc1\x2c\xef\x5b\xe6\xf1\x91\x43\x70\xe5\x63\xf1\xa1\xb2\xaa\x41\xf4\xb8\xee\x84\xcd\x32\xa1\xd5\x09\xe5\x29\x78\x7d\x14\xa4\x45\x43\x8d\x80\x7e\xcd\x62\x0e\x2f\xa2\x6d\xe0\xda\x64\x26\x86\x47\x84\xd4\xa2\x8f\x54\x10\x3e\x60\x92\x83\xb9\x9e\xe9\xb2\xb6\x99\xc9\x80\xbb\xb7\x88\x2c\x3e\xa6\x8d\xdc\x90\x80\x2a\xc2\x32\xf2\xc8\xe8\x42\x91\x98\x7b\xf3\xc5\x24\x09\x21\xb5\x9c\xfa\x21\x49\x69\x31\x76\x73\xd0\xbe\x7f\x34\xb1\xca\x0e\x15\xea\x73\xc7\x17\x54\x01\xce\x55\x0b\xe1\x06\xb4\x9e\x62\xf8\xdb\x68\x69\x5e\x74\x0e\x0f\x3a\x35\x56\xa1\x9f\x3c\x8e\x6b\x91\xac\x1c\xc2\x3e\x86\x3f\xcd\x0f\x0d\x9e\xb7\x04\x7a\xa6\x31\xe0\xd2\xeb\x9b\xcc\x6b"}, -{{0xb9,0xce,0xd0,0x41,0x25,0x93,0xfe,0xfe,0xd9,0x5e,0x94,0xac,0x96,0x5e,0x5b,0x23,0xff,0x9d,0x4b,0x0e,0x79,0x7d,0xb0,0x2b,0xf4,0x97,0x99,0x4d,0x3b,0x79,0x3e,0x60,},{0xc1,0x62,0x9a,0x72,0x31,0x89,0x95,0x93,0x37,0xf5,0x53,0x52,0x01,0xe5,0xd3,0x95,0xba,0x0a,0x03,0xea,0x8c,0x17,0x66,0x0d,0x0f,0x8b,0x6f,0x6e,0x64,0x04,0xbb,0x12,},{0xf1,0xb7,0x97,0xde,0xd8,0xa6,0x94,0x2b,0x12,0x62,0x68,0x48,0x34,0x0f,0xb7,0x19,0xfc,0xdd,0xaf,0xd9,0x8f,0x33,0xe2,0x99,0x2d,0x35,0x7b,0xfd,0xd3,0x59,0x33,0xc7,0xac,0x56,0x1e,0x5b,0x2f,0x93,0x94,0x64,0x33,0x8c,0x56,0x66,0x85,0x4c,0xa8,0x85,0xc4,0xd0,0x46,0xeb,0x2c,0x54,0xe4,0x8a,0x1b,0x5e,0xd2,0x66,0xad,0x34,0xde,0x05,},"\x55\x5b\xb3\x9c\x18\x99\xd5\x7c\xab\xe4\x28\x06\x4c\x2d\x92\x5f\x5f\xc4\xcf\x70\x59\xb9\x5f\xb8\x9a\x8e\x9e\x3a\x7e\x42\x6c\x6c\x92\x2d\x9e\x4d\x76\x98\x4e\xa2\x38\x3c\xab\xb4\xf2\xbe\xfd\x89\xc1\xf2\x0e\xaa\x8a\x00\xdb\xe7\x87\xcf\xa7\x0a\xe2\xae\x6a\xa9\x03\x31\xcb\xbe\x58\x0f\xa5\xa0\x21\x84\xed\x05\xe6\xc8\xe8\x9d\x57\x6a\xf2\x8a\xee\xaf\x7c\x4e\x25\x00\xf3\x58\xa0\x09\x71\xa0\xa7\x59\x20\xe8\x54\x84\x9b\xf3\x32\x14\x29\x75\x40\x4f\x59\x8c\x32\xe9\x69\x82\x04\x3d\x99\x2b\xcd\x1a\x4f\xe8\x19\xbb\x56\x34\xad\x03\x46\x7a\xfc\x4c\xe0\x50\x73\xf8\x8b\xa1\xba\x4a\xe8\x65\x3a\x04\x66\x5c\xf3\xf7\x16\x90\xfe\x13\x34\x38\x85\xbc\x5e\xbc\x0e\x5e\x62\xd8\x82\xf4\x3b\x7c\x68\x90\x0a\xc9\x43\x8b\xf4\xa8\x1c\xe9\x01\x69\xec\x12\x9e\xe6\x3e\x2c\x67\x5a\x1a\x5a\x67\xe2\x7c\xc7\x98\xc4\x8c\xc2\x3f\x51\x07\x8f\x46\x3b\x3b\x7c\xc1\x4e\x3b\xcf\xd2\xe9\xb8\x2c\x75\x24\x09\x34\xcb\xdc\x50\xc4\x30\x8f\x28\x2f\x19\x31\x22\x99\x56\x06\xf4\x01\x35\x10\x0a\x29\x1c\x55\xaf\xdf\x89\x34\xeb\x8b\x61\xd8\x14\x21\x67\x41\x24\xde\xc3\xb8\x8f\x9a\x73\x11\x0a\x9e\x61\x6f\x5b\x82\x6b\x9d\x34\x3f\x3a\xc0\xe9\xd7\xbd\xf4\xfd\x8b\x64\x8b\x40\xf0\x09\x8b\x38\x97\xa3\xa1\xcd\x65\xa6\x45\x70\x05\x9b\x8b\xc5\xc6\x74\x38\x83\x07\x4c\x88\x62\x3c\x1f\x5a\x88\xc5\x89\x69\xe2\x1c\x69\x2a\xca\x23\x68\x33\xd3\x47\x0b\x3e\xb0\x98\x15\xe1\x13\x8e\x9d\x06\x50\xc3\x90\xee\xe9\x77\x42\x21\x93\xb0\x09\x18\xbe\x8a\x97\xcc\x61\x99\xb4\x51\xb0\x5b\x57\x30\xd1\xd1\x33\x58\xcf\x74\x61\x06\x78\xf7\xac\x7f\x78\x95\xcc\x2e\xfc\x45\x6e\x03\x87\x3b"}, -{{0x81,0xda,0x16,0x8f,0x02,0xd4,0x6b,0xb8,0x7c,0xda,0x84,0x5d,0xa4,0x3f,0x8a,0x6c,0xba,0x2c,0x01,0x68,0x78,0xd6,0xf4,0x9c,0x6f,0x06,0x1a,0x60,0xf1,0x55,0xa0,0x4a,},{0xaf,0xf8,0x6e,0x98,0x09,0x3c,0xa4,0xc7,0x1b,0x1b,0x80,0x4c,0x5f,0xe4,0x51,0xcf,0xdf,0x86,0x82,0x50,0xde,0xa3,0x03,0x45,0xfa,0x4b,0x89,0xbb,0x09,0xb6,0xa5,0x3b,},{0x4a,0xac,0xa9,0x47,0xe3,0xf2,0x2c,0xc8,0xb8,0x58,0x8e,0xe0,0x30,0xac,0xe8,0xf6,0xb5,0xf5,0x71,0x1c,0x29,0x74,0xf2,0x0c,0xc1,0x8c,0x3b,0x65,0x5b,0x07,0xa5,0xbc,0x13,0x66,0xb5,0x9a,0x17,0x08,0x03,0x2d,0x12,0xca,0xe0,0x1a,0xb7,0x94,0xf8,0xcb,0xcc,0x1a,0x33,0x08,0x74,0xa7,0x50,0x35,0xdb,0x1d,0x69,0x42,0x2d,0x2f,0xc0,0x0c,},"\x6b\xc6\x72\x6a\x34\xa6\x4a\xae\x76\xab\x08\xc9\x2b\x17\x9e\x54\xff\x5d\x2e\x65\xeb\x2c\x6c\x65\x9a\xe8\x70\x3c\xc2\x45\xcb\xc2\xcf\x45\xa1\x2b\x22\xc4\x68\xae\x61\xfd\x9a\x66\x27\xad\x06\x26\xc9\xb1\xe5\xaf\x41\x2c\xb4\x83\xea\xee\x1d\xb1\x1b\x29\xf0\xa5\x10\xc1\x3e\x38\x02\x0e\x09\xae\x0e\xee\x76\x25\x37\xa3\xe9\xd1\xa0\xc7\xb0\x33\xd0\x97\xfd\xc1\xf4\xf8\x26\x29\xa9\xde\x9e\xf3\x8d\xa1\xcf\x96\xa9\x40\x35\x7d\x5f\x2e\x0e\x7e\x8d\xbc\x29\xdb\x72\x8a\x1e\x6a\xad\x87\x6e\x5e\x05\x31\x13\xd0\x64\x20\x27\x2b\x87\xcf\x0c\x40\xdf\xe0\x3a\x54\x4d\xe9\x6c\x7a\xea\x13\xba\x00\x29\xb5\x7b\x48\xd9\x9d\xcc\x6a\x65\x04\x92\xd7\x8c\x4c\xdd\x1b\x28\xe1\xa1\x15\xa7\xe3\xe7\xa7\xcb\x21\x33\x3d\x4f\xf8\x08\x58\xdf\xb6\x77\x82\xc1\x63\x54\xb8\x71\x65\x96\x56\x0d\x7d\x8e\x38\x9e\xb1\x5a\x05\x2a\x0b\xf5\xd1\x6e\xb5\x4f\xb3\xe4\x97\x3a\xd4\x98\x4e\x72\xa1\x87\xf5\x34\x7d\x5b\x26\x2c\x32\xb1\x64\x7e\x42\xb6\xa5\x38\x37\x09\x6c\xc7\x8c\x2a\x05\xce\x1c\x6e\x12\x49\x3a\x03\xf1\xa6\x67\x58\x4c\xb9\x7f\x4f\xcd\x57\xee\x94\x4c\x65\xb7\xee\xd2\x5f\x7a\xe0\xf3\xf6\xce\xde\x17\x3f\xdf\xac\xf5\xaf\x1d\xb1\x43\x73\x0d\x18\x09\x66\x64\x91\x4b\xa4\xcf\xc6\x96\x6f\x39\x20\x22\x78\x1c\x66\xa9\x41\x7c\xa2\x68\x0b\x51\xf6\x3e\x4f\xba\x42\x4e\xcf\xdb\xc6\xa2\xf0\x17\x87\xd0\xe7\x48\x4f\x8a\x8a\xb3\x90\xae\xaa\x6d\x1f\x7e\xd3\x25\xd8\x2f\xea\xa1\x69\x2a\x49\x84\xfa\xe4\x3d\xa8\x73\x29\xb0\x45\xda\x8f\x0a\x4f\x56\xb6\x95\xaa\x93\x5d\xe1\x52\xce\x03\x85\x15\x37\x20\x97\x9a\x2b\x70\x06\xd4\x05\xfc\xb0\xfb\xa0\x9e\x23\xb8\x5f\xd1\x9b"}, -{{0xaf,0x2e,0x60,0xda,0x0f,0x29,0xbb,0x16,0x14,0xfc,0x3f,0x19,0x3c,0xc3,0x53,0x33,0x19,0x86,0xb7,0x3f,0x3f,0x9a,0x0a,0xec,0x94,0x21,0xb9,0x47,0x3d,0x6a,0x4b,0x6a,},{0xc8,0xbf,0xe2,0x83,0x58,0x22,0x19,0x9c,0x61,0x27,0xb8,0x06,0xfa,0xbe,0xef,0x0c,0xb9,0xff,0x59,0xf3,0xc8,0x1f,0xf0,0xcb,0x89,0xc5,0x56,0xf5,0x51,0x06,0xaf,0x6a,},{0x50,0xf9,0xf9,0x41,0xa8,0xda,0x9f,0x62,0x40,0xf7,0x6d,0x2f,0xa3,0xb0,0x6d,0xd6,0xb2,0x29,0x2e,0xd3,0x2d,0x1c,0x05,0x21,0x80,0x97,0xd3,0x4d,0x8a,0x19,0xdf,0xe5,0x53,0xf7,0x6a,0xe3,0xc6,0xb4,0xa2,0xed,0x20,0x85,0x21,0x28,0x46,0x15,0x40,0xde,0xcf,0x41,0x8f,0x52,0xd3,0x8e,0x64,0x03,0x7e,0xec,0x77,0x71,0xbd,0x1a,0xfe,0x00,},"\x7d\xbb\x77\xb8\x8b\xda\x94\xf3\x44\x41\x6a\x06\xb0\x96\x56\x6c\x6e\x8b\x39\x39\x31\xa8\x24\x3a\x6c\xab\x75\xc3\x61\xfd\xe7\xdc\x53\x6a\xec\x40\xcd\xed\x83\x29\x6a\x89\xe8\xc3\xbe\xf7\xd7\x87\xcf\xc4\x94\x01\xa7\xb9\x18\x3f\x13\x8d\x50\x00\x61\x9f\xf0\x73\xc0\x5e\x2f\x84\x1d\x60\x08\x35\x8f\x10\xa2\xda\x7d\xcf\xac\x3d\x4d\x70\xc2\x0d\x2e\xc3\x4c\x7b\x6d\x5c\xd1\xa7\x34\xd6\xbb\xb1\x1c\x5f\xd8\xd2\xbc\xe3\x2a\xc8\x10\xef\x82\xb4\x18\x8a\xa8\xea\x3c\xfc\x30\x32\x23\x3d\xc0\xe2\x60\x0e\x9d\xb6\xe1\x8b\xc2\x2b\x10\x04\x4a\x31\xc1\x5b\xac\xea\xf5\x55\x4d\xe8\x9d\x2a\x34\x66\x80\x7f\x24\x44\x14\xd0\x80\xff\x29\x63\x95\x6c\x6e\x83\xc8\xe1\x44\xed\x00\x66\x08\x8b\x47\x6d\xdc\xb5\x64\x40\x34\x47\xd9\x15\x9f\x90\x89\xab\xa2\xb4\xd5\x57\x5c\x4d\x8a\xe6\x6f\xc8\x69\x0e\x73\x49\xed\x40\x83\x2e\x63\x69\xc0\x24\x56\x3e\xc4\x93\xbf\xcc\x0f\xc9\xac\x78\x7a\xc8\x41\x39\x7f\xe1\x33\x16\x72\x83\xd8\x0c\x42\xf0\x06\xa9\x9d\x39\xe8\x29\x79\xda\x3f\xa9\x33\x4b\xd9\xed\xe0\xd1\x4b\x41\xb7\x46\x6b\xce\xbb\xe8\x17\x1b\xc8\x04\xa6\x45\xd3\x72\x32\x74\xa1\xb9\x2b\xf8\x2f\xd9\x93\x35\x87\x44\xde\x92\x44\x19\x03\xd4\x36\xfd\x47\xf2\x3d\x40\x05\x2a\x38\x29\x36\x7f\x20\x2f\x05\x53\xb5\xe4\x9b\x76\xc5\xe0\x3f\xa6\xce\x7c\x3c\xf5\xee\xb2\x1d\xe9\x67\xbe\xc4\xdd\x35\x59\x25\x38\x4e\xbf\x96\x69\x7e\x82\x37\x62\xba\xc4\xd4\x3a\x76\x7c\x24\x1a\x4c\xef\x72\x4a\x97\x0d\x00\xff\x3a\x8a\xb3\xb8\x3e\xed\x84\x00\x75\xc7\x4e\x90\xf3\x06\xe3\x30\x01\x32\x60\x96\x21\x61\xe9\xd0\x91\x0d\xe1\x83\x62\x2c\xe9\xa6\xb8\xd5\x14\x42\x80\x55\x0f\xc7"}, -{{0x60,0x5f,0x90,0xb5,0x3d,0x8e,0x4a,0x3b,0x48,0xb9,0x7d,0x74,0x54,0x39,0xf2,0xa0,0x80,0x7d,0x83,0xb8,0x50,0x2e,0x8e,0x29,0x79,0xf0,0x3e,0x8d,0x37,0x6a,0xc9,0xfe,},{0xaa,0x3f,0xae,0x4c,0xfa,0x6f,0x6b,0xfd,0x14,0xba,0x0a,0xfa,0x36,0xdc,0xb1,0xa2,0x65,0x6f,0x36,0x54,0x1a,0xd6,0xb3,0xe6,0x7f,0x17,0x94,0xb0,0x63,0x60,0xa6,0x2f,},{0xdd,0x02,0x12,0xe6,0x32,0x88,0xcb,0xe1,0x4a,0x45,0x69,0xb4,0xd8,0x91,0xda,0x3c,0x7f,0x92,0x72,0x7c,0x5e,0x7f,0x9a,0x80,0x1c,0xf9,0xd6,0x82,0x70,0x85,0xe7,0x09,0x5b,0x66,0x9d,0x7d,0x45,0xf8,0x82,0xca,0x5f,0x07,0x45,0xdc,0xcd,0x24,0xd8,0x7a,0x57,0x18,0x13,0x20,0x19,0x1e,0x5b,0x7a,0x47,0xc3,0xf7,0xf2,0xdc,0xcb,0xd7,0x07,},"\x3b\xcd\xca\xc2\x92\xac\x95\x19\x02\x4a\xae\xce\xe2\xb3\xe9\x99\xff\x5d\x34\x45\xe9\xf1\xeb\x60\x94\x0f\x06\xb9\x12\x75\xb6\xc5\xdb\x27\x22\xed\x4d\x82\xfe\x89\x60\x52\x26\x53\x0f\x3e\x6b\x07\x37\xb3\x08\xcd\xe8\x95\x61\x84\x94\x4f\x38\x8a\x80\x04\x2f\x6c\xba\x27\x4c\x0f\x7d\x11\x92\xa0\xa9\x6b\x0d\xa6\xe2\xd6\xa6\x1b\x76\x51\x8f\xbe\xe5\x55\x77\x3a\x41\x45\x90\xa9\x28\xb4\xcd\x54\x5f\xcc\xf5\x81\x72\xf3\x58\x57\x12\x0e\xb9\x6e\x75\xc5\xc8\xac\x9a\xe3\xad\xd3\x67\xd5\x1d\x34\xac\x40\x34\x46\x36\x0e\xc1\x0f\x55\x3e\xa9\xf1\x4f\xb2\xb8\xb7\x8c\xba\x18\xc3\xe5\x06\xb2\xf0\x40\x97\x06\x3a\x43\xb2\xd3\x64\x31\xcc\xe0\x2c\xaf\x11\xc5\xa4\xdb\x8c\x82\x17\x52\xe5\x29\x85\xd5\xaf\x1b\xfb\xf4\xc6\x15\x72\xe3\xfa\xda\xe3\xad\x42\x4a\xcd\x81\x66\x2e\xa5\x83\x7a\x11\x43\xb9\x66\x93\x91\xd7\xb9\xcf\xe2\x30\xcf\xfb\x3a\x7b\xb0\x3f\x65\x91\xc2\x5a\x4f\x01\xc0\xd2\xd4\xac\xa3\xe7\x4d\xb1\x99\x7d\x37\x39\xc8\x51\xf0\x32\x7d\xb9\x19\xff\x6e\x77\xf6\xc8\xa2\x0f\xdd\x3e\x15\x94\xe9\x2d\x01\x90\x1a\xb9\xae\xf1\x94\xfc\x89\x3e\x70\xd7\x8c\x8a\xe0\xf4\x80\x00\x1a\x51\x5d\x4f\x99\x23\xae\x62\x78\xe8\x92\x72\x37\xd0\x5d\xb2\x3e\x98\x4c\x92\xa6\x83\x88\x2f\x57\xb1\xf1\x88\x2a\x74\xa1\x93\xab\x69\x12\xff\x24\x1b\x9f\xfa\x66\x2a\x0d\x47\xf2\x92\x05\xf0\x84\xdb\xde\x84\x5b\xaa\xeb\x5d\xd3\x6a\xe6\x43\x9a\x43\x76\x42\xfa\x76\x3b\x57\xe8\xdb\xe8\x4e\x55\x81\x3f\x01\x51\xe9\x7e\x5b\x9d\xe7\x68\xb2\x34\xb8\xdb\x15\xc4\x96\xd4\xbf\xcf\xa1\x38\x87\x88\x97\x2b\xb5\x0c\xe0\x30\xbc\x6e\x0c\xcf\x4f\xa7\xd0\x0d\x34\x37\x82\xf6\xba\x8d\xe0"}, -{{0x9e,0x2c,0x3d,0x18,0x98,0x38,0xf4,0xdd,0x52,0xef,0x08,0x32,0x88,0x68,0x74,0xc5,0xca,0x49,0x39,0x83,0xdd,0xad,0xc0,0x7c,0xbc,0x57,0x0a,0xf2,0xee,0x9d,0x62,0x09,},{0xf6,0x8d,0x3b,0x81,0xe7,0x35,0x57,0xee,0x1f,0x08,0xbd,0x2d,0x3f,0x46,0xa4,0x71,0x82,0x56,0xa0,0xf3,0xcd,0x8d,0x2e,0x03,0xeb,0x8f,0xe8,0x82,0xaa,0xb6,0x5c,0x69,},{0x38,0xa3,0x1b,0x6b,0x46,0x50,0x84,0x73,0x82,0x62,0xa2,0x6c,0x06,0x5f,0xe5,0xd9,0xe2,0x88,0x6b,0xf9,0xdd,0x35,0xcd,0xe0,0x5d,0xf9,0xba,0xd0,0xcc,0x7d,0xb4,0x01,0xc7,0x50,0xaa,0x19,0xe6,0x60,0x90,0xbc,0xe2,0x5a,0x3c,0x72,0x12,0x01,0xe6,0x05,0x02,0xc8,0xc1,0x04,0x54,0x34,0x66,0x48,0xaf,0x06,0x5e,0xab,0x0e,0xe7,0xd8,0x0f,},"\x19\x48\x5f\x52\x38\xba\x82\xea\xdf\x5e\xff\x14\xca\x75\xcd\x42\xe5\xd5\x6f\xea\x69\xd5\x71\x8c\xfb\x5b\x1d\x40\xd7\x60\x89\x9b\x45\x0e\x66\x88\x45\x58\xf3\xf2\x5b\x7c\x3d\xe9\xaf\xc4\x73\x8d\x7a\xc0\x9d\xa5\xdd\x46\x89\xbb\xfa\xc0\x78\x36\xf5\xe0\xbe\x43\x2b\x1d\xdc\xf1\xb1\xa0\x75\xbc\x98\x15\xd0\xde\xbc\x86\x5d\x90\xbd\x5a\x0c\x5f\x56\x04\xd9\xb4\x6a\xce\x81\x6c\x57\x69\x4e\xcc\x3d\x40\xd8\xf8\x4d\xf0\xed\xe2\xbc\x4d\x57\x77\x75\xa0\x27\xf7\x25\xde\x08\x16\xf5\x63\xfa\x88\xf8\x8e\x07\x77\x20\xeb\xb6\xac\x02\x57\x46\x04\x81\x98\x24\xdb\x74\x74\xd4\xd0\xb2\x2c\xd1\xbc\x05\x76\x8e\x0f\xb8\x67\xca\x1c\x1a\x7b\x90\xb3\x4a\xb7\xa4\x1a\xfc\x66\x95\x72\x66\xac\x0c\x91\x59\x34\xaa\xf3\x1c\x0c\xf6\x92\x7a\x4f\x03\xf2\x32\x85\xe6\xf2\x4a\xfd\x58\x13\x84\x9b\xb0\x8c\x20\x3a\xc2\xd0\x33\x6d\xcb\xf8\x0d\x77\xf6\xcf\x71\x20\xed\xfb\xcd\xf1\x81\xdb\x10\x7e\xc8\xe0\x0f\x32\x44\x9c\x1d\x3f\x5c\x04\x9a\x92\x69\x4b\x4e\xa2\xc6\xeb\xe5\xe2\xb0\xf6\x4b\x5a\xe5\x0a\xd3\x37\x4d\x24\x6b\x32\x70\x05\x7e\x72\x4a\x27\xcf\x26\x3b\x63\x3a\xb6\x5e\xcb\x7f\x5c\x26\x6b\x80\x07\x61\x8b\x10\xac\x9a\xc8\x3d\xb0\xfe\xbc\x04\xfd\x86\x3d\x96\x61\xab\x6e\x58\x49\x47\x66\xf7\x1b\x9a\x86\x7c\x5a\x7a\x45\x55\xf6\x67\xc1\xaf\x2e\x54\x58\x8f\x16\x2a\x41\xce\x75\x64\x07\xcc\x41\x61\xd6\x07\xb6\xe0\x68\x29\x80\x93\x4c\xaa\x1b\xef\x03\x6f\x73\x30\xd9\xee\xf0\x1e\xcc\x55\x35\x83\xfe\xe5\x99\x4e\x53\x3a\x46\xca\x91\x6f\x60\xf8\xb9\x61\xae\x01\xd2\x0f\x7a\xbf\x0d\xf6\x14\x1b\x60\x4d\xe7\x33\xc6\x36\xb4\x20\x18\xcd\x5f\x1d\x1e\xf4\xf8\x4c\xee\x40\xfc"}, -{{0x31,0x01,0x0d,0x1d,0x67,0xeb,0x61,0x63,0x48,0xe8,0x47,0x92,0xb9,0x2d,0x5d,0xc1,0x28,0x55,0x3c,0xb5,0x2f,0x63,0x68,0x15,0x9f,0xe7,0xb8,0x16,0xcd,0x0e,0x7c,0x37,},{0x26,0x65,0x43,0xd9,0x67,0x87,0xca,0x90,0x1f,0xcf,0xf0,0x6e,0x6e,0x43,0x44,0x91,0xae,0x09,0x70,0x88,0x0a,0x5a,0x18,0x7d,0x53,0x5e,0xdb,0x19,0xdb,0x5c,0xab,0xeb,},{0x7b,0x1e,0xb6,0x77,0xc3,0xe5,0xe6,0xa8,0xb4,0xba,0x69,0xfc,0xb7,0xf6,0xb1,0x87,0x0e,0x42,0xa8,0xd5,0x89,0x58,0xa3,0x5c,0x67,0x4e,0x2d,0xb8,0x21,0x07,0x48,0x1c,0x4c,0x7b,0x37,0xf0,0xf6,0x89,0xd3,0x9d,0x9f,0x51,0xe1,0x81,0xb1,0x7b,0x11,0x08,0xc1,0x5a,0x3e,0x27,0xb2,0x9d,0xf3,0xa4,0x31,0x5d,0xcc,0x4f,0xaf,0x12,0x22,0x05,},"\x39\xf8\x9a\x5e\x7a\xa5\x30\xb5\x46\x3d\x49\x8f\x80\x35\xb9\x90\x9d\x55\xda\x52\x7c\xdb\xd4\xde\x6d\x22\x83\x79\xf0\x89\xe6\x08\xa9\x20\x7a\x2c\x5b\x9c\x42\x05\x1a\x60\xc8\xca\x3f\xb9\x7a\x1c\x06\xcd\x74\x7d\x9d\x07\x39\x97\x0c\xeb\x88\xce\x52\x6f\x97\x11\x40\xea\x2e\xc2\x1f\x09\x0b\xa0\x75\xbf\x89\x75\xfa\xa5\x08\xb1\xcc\x10\xef\xa4\x94\xdc\x17\x2e\x6d\x3d\x3f\x3f\x75\xdc\x8e\x0e\x96\xf0\x5c\x0c\xcc\xb2\xf9\x6e\x91\x1c\xfa\x7a\x2c\x82\xc9\x84\x50\x18\xbb\x1f\x9d\x75\xf8\x2e\x3d\xfe\x11\x39\x34\x7b\x2a\xc0\x58\xb0\x14\xac\x93\x76\x0c\x90\xf5\x56\x7a\xb5\xc4\xeb\xa0\x4b\x49\xfb\x09\xdd\xad\xd3\x05\xbe\x51\x1d\xfe\x05\xc9\x6e\xbc\x86\xfd\x67\xb5\xd0\xab\x57\xd8\x5f\x4f\xe5\xe2\xf0\xfa\x9d\x88\xa6\x8f\x0f\x6b\x6b\xc8\xbb\x94\x4e\xb3\xc0\xb1\x75\x57\xe5\x5d\x5e\xa1\x87\xd9\x22\xa4\x28\x13\xe6\x90\x57\xc9\xb6\xa7\xf7\x5e\x49\x92\x1b\x70\x79\xe5\x8f\x8a\x63\x71\x9e\xe3\xe1\xad\x10\xcf\x0e\x8a\x70\xc4\xf1\x54\x02\x18\xb7\x04\x94\xbd\x02\x9e\xe0\x2f\xf9\x72\x7a\x7d\x85\xd3\x77\x91\x9e\xc4\x05\x14\x79\xb7\x0f\x7c\xd6\x76\x77\x23\xfe\x42\xc1\xc7\x89\x9c\x2b\x7c\x1f\x70\x2d\xd6\xb4\xd1\x3b\x67\x2d\x48\x8f\x34\xa0\xe9\x69\xdb\x79\xcc\x2c\xb2\x52\x4a\x94\x8a\x8d\xe4\xc5\xb6\x23\xec\xd9\x0d\x6e\x82\xd9\x70\x33\xc1\x25\x63\x7d\x1c\xd8\xc8\x48\x03\xd8\xfb\xc0\x12\x84\x6f\xfe\x48\x4f\x6c\x02\x14\x92\x58\xf9\x46\x2f\xa1\xe9\x9c\x30\x7d\xd0\x06\x2f\xe0\xb6\xf1\x1e\xee\x40\xc2\x62\x9e\xf7\xc0\xf6\xa5\x10\x72\x59\xea\x5b\x9f\xfb\x6f\x29\xf1\x2c\x32\xf7\xb5\x22\x8c\xab\xc9\x86\xab\x66\x45\x0a\xf9\xdc\xc3\xda\x09\xd0\xe0\xb9\xa4"}, -{{0x8f,0xf2,0x39,0x8c,0xd5,0x1f,0x51,0xd4,0xc2,0xc5,0x78,0x69,0xa2,0x21,0x8b,0x84,0x86,0x82,0x20,0x31,0xf4,0x00,0x72,0x9f,0x4a,0xc4,0xd5,0x90,0x9c,0x48,0xba,0xfe,},{0xa5,0xa8,0x87,0x04,0xb6,0x86,0x77,0xbe,0x3d,0x16,0xc3,0xdc,0x00,0x52,0xcf,0xee,0x6e,0x2b,0x30,0xe0,0x86,0x09,0x05,0x9d,0x4c,0xba,0x52,0xc6,0xd9,0x60,0x61,0xfb,},{0x41,0x7a,0x64,0x78,0x29,0xc9,0x28,0x98,0xe5,0x20,0xff,0x53,0x11,0xda,0xa0,0xa1,0x39,0xcd,0x8f,0xff,0xcb,0x25,0xa1,0x8e,0x6d,0x9b,0x50,0xcb,0x52,0xcb,0xc3,0x54,0x24,0xc3,0x9e,0xbb,0xb5,0xd5,0xac,0x6a,0x6d,0x63,0xf1,0xf5,0x3c,0x4d,0xf2,0x12,0xf7,0x02,0x5a,0x8a,0xae,0xf8,0xe3,0x64,0x93,0xc8,0x74,0xc3,0xce,0x34,0x1a,0x0e,},"\x99\x39\x53\xe4\x7a\x34\x11\x88\xbc\x59\x29\x42\xe1\x55\x7a\xf2\x95\x46\xe4\xe9\x36\x8e\x2f\x1a\x5e\xe9\x80\x6e\x2b\xaf\x66\xb6\x19\x01\x91\xfc\x5d\x2b\x7e\x47\xde\x37\xff\x05\x4f\xb2\xbb\xb1\xf0\x31\x68\x4a\xda\x5d\x60\x7a\xdd\xa3\xd6\x54\x33\x12\x2f\xa9\x04\xe0\x45\x6f\xaa\x84\x10\x9b\xbc\x51\x7f\x8a\xd3\x96\x60\x87\x63\x82\xad\xcf\xed\x0f\x76\x20\xcf\x11\x64\x62\x2e\xac\xd9\x1e\xb3\x7a\x85\x96\x46\x2e\xbe\x9e\xbe\x26\xbd\xc1\xe3\x2c\xc3\x4a\xd4\x6f\xb1\xce\xa4\x20\xe7\x3c\x31\x21\x54\x08\xe6\xd3\x54\x25\xf4\x4a\x82\x9b\x13\x2f\x63\x1a\x3f\x6d\xd4\xb8\x73\xa0\x00\x66\x7e\x19\xeb\x22\xff\xfd\x59\x03\xaa\xa7\xd4\xc8\xfd\xf2\x19\x53\xc3\xc6\x17\x8f\x5f\x8c\xb2\xaa\x6b\xff\x92\x89\x4e\xad\x83\x58\x88\xdf\x06\x0a\x3c\x90\x43\x02\x6e\x0e\x2c\xef\x27\x54\x97\xe7\xd1\x05\xdf\x3b\x64\x4a\x98\xf2\x6b\xf0\x01\x05\xc9\x94\x13\xee\x0a\xf8\x85\x19\x54\xd6\x5c\xeb\x8d\x79\xad\x30\x71\xb8\xbb\x87\xf0\xb1\x97\x43\xd2\x55\x6f\xfd\x98\x19\x83\x0b\x6e\xeb\xf7\xec\xc7\xe0\x45\x66\x1f\x43\x57\x0c\xe9\xfd\xbb\xe2\xd2\x52\x40\x6f\xa9\x0d\x04\x23\x6f\x22\x2c\x42\x9e\xc1\x6b\x12\x87\x22\x4a\xda\x1a\x53\x21\x61\xae\x8b\x48\x1b\xca\xb8\xd4\x7a\xfb\x3e\xd0\x44\x5b\x30\x60\xfd\x67\x59\x17\x98\x56\xf4\x08\x5c\x1e\x58\x5f\xd7\xc1\x40\x97\x99\xaf\x69\x3c\xf4\x27\xbd\x1d\x3d\xc1\x0b\x5a\xe3\x44\x7a\x8d\x2a\x18\xdc\x3a\x12\xa6\x86\x0b\x22\x17\x5d\xd5\xeb\x53\xa0\x95\x04\x32\xe2\xd7\xae\xfe\xce\x8a\xf0\xad\xe3\xd8\x56\x77\x43\xde\x43\x69\x0f\x2d\x25\x37\x23\xc5\xd7\xe4\x8b\xd3\x0d\x29\x37\x59\x37\x01\xce\xcd\xe9\x15\x4b\x76\x65\xcb\x61\x1d\x7d"}, -{{0xef,0x81,0x6c,0x8f,0x5e,0xc3,0x4e,0xf4,0x1f,0x68,0x83,0x1d,0x90,0xcd,0x29,0xe5,0x2d,0xe8,0x97,0x37,0x82,0xd0,0x03,0xee,0x4e,0xda,0xda,0x2a,0xda,0x26,0x91,0xd6,},{0x47,0xf9,0xb3,0x63,0xa8,0x8a,0x45,0x05,0x3a,0x05,0xbb,0x72,0x16,0x08,0x52,0xbf,0xe8,0xf7,0xdf,0xef,0xc2,0xf3,0x72,0x83,0xde,0x34,0x67,0x52,0xca,0xf0,0x92,0xcc,},{0x65,0xc5,0xd1,0x0e,0xa7,0xbf,0xdb,0xb3,0x8d,0x55,0x36,0x4a,0x99,0x68,0xf8,0x2b,0x54,0x82,0x24,0xdf,0xf3,0x36,0x3b,0x2d,0xdc,0xf5,0x85,0x16,0x3d,0xea,0x27,0xdc,0x63,0xb0,0x56,0x3e,0xb1,0xa8,0xdf,0xbe,0xe9,0x51,0xd3,0xc9,0xb3,0x3f,0xcd,0x6b,0xbf,0x09,0x21,0xc3,0xab,0xb2,0x17,0x86,0xb2,0x29,0x06,0x9b,0xd9,0xca,0x00,0x0a,},"\x95\x93\xc3\x5c\xde\xc5\x35\xbe\xbb\x69\x65\xda\x68\xea\xb0\xb6\x46\xbf\xfc\xfb\xd0\x48\x83\xbc\x4c\xef\x90\xd5\xd0\x1f\x01\x8c\x63\xc9\xb0\xdd\xfb\x3c\xef\x5e\x78\x62\x84\xd5\x21\x8c\xaa\xaf\x06\x0e\x92\x88\x95\x2f\x16\x30\x1e\xd8\xa4\xc1\xbc\xee\x25\x63\x56\xa0\xc8\xbd\xa3\x59\xfb\xaa\x27\x82\xb1\x0c\x86\xd1\x8e\x20\xf7\xa0\xec\x99\xb2\x7a\x0b\x4d\xbe\xfc\x0a\x26\x2a\x3b\xf6\x8f\xe8\x14\x44\xdc\xae\x5f\x69\x3e\xb0\xf1\x6e\x6e\xe0\x3f\x8f\xcb\xf3\xa3\x39\x81\x46\xd2\x0e\xc4\xd2\x65\x77\x61\xfd\x03\x20\xfe\xe7\xea\x70\x3c\x49\xa6\xa5\x43\xbc\x9b\xba\x91\x1e\x79\x25\x03\x87\x10\xe8\xc3\x65\x52\xd4\x76\xd6\x02\x7f\x58\xb2\xc5\x2b\xa5\x1a\xd6\x5e\xa4\xf0\x39\xc7\x8f\x96\xb8\x89\x10\x2b\xb4\xbd\xd6\x9b\x68\xe9\xc3\xd4\x5b\x51\x76\xa2\xd8\x2b\x0b\x95\xdc\x32\x10\x16\x37\x0d\xae\x30\xc3\x93\x65\x15\xdb\x04\x64\xc4\x17\x74\x30\x1c\x74\xe4\x2d\x89\xb8\xbf\x4b\x9c\x19\xed\x55\x4b\x12\xfe\xba\xc0\xf6\x0d\xdb\x32\x19\xcc\xc5\x60\x35\x31\xdb\xf2\xeb\x5f\x29\x34\x25\xd7\x2c\xce\xfa\x0c\x7f\x14\x4a\xba\x89\x34\x7b\x29\x6b\xe8\x7f\xf1\x89\x94\xb4\xa0\xc7\x0c\x93\x0f\x05\x93\x03\xb5\xdd\x4c\x8f\xe1\xe6\xbb\xc3\xcd\x68\xc6\xc0\xd8\x42\x46\xdc\x6e\x61\x40\xa2\xab\xd1\x78\x0b\x13\xf1\x59\x4a\x60\x19\xd1\x77\x8b\x7c\xbb\x3a\x3e\x3a\x34\xbf\xae\x72\x97\xf0\xb3\xed\xc3\x76\x94\x1c\x32\x35\x2a\x4b\xe3\x14\xb8\x4a\x9d\x8d\x6d\x7f\x1f\x38\xa0\xad\x37\x98\x02\x0a\xa2\xa3\x31\xa4\x02\xbe\x9c\x70\x44\x84\x74\x4a\x73\x0c\xbd\xed\xcb\x90\x4b\x6f\xde\x70\x8f\xbd\x14\xbf\xdc\x29\xef\xd4\x61\xd1\xd0\xb5\x82\x5d\xe0\xbc\x79\x42\x2b\x69\xa2\x72\x2f"}, -{{0x45,0xeb,0x0c,0x4d,0xfa,0xfa,0x2a,0x76,0x90,0xef,0x57,0x9c,0x09,0x54,0x56,0xce,0xed,0xcd,0x32,0xf0,0xb6,0x14,0x4d,0x0c,0x38,0x0f,0x87,0xfb,0x74,0x4a,0x0b,0x1f,},{0xfc,0x85,0x63,0x2c,0x98,0x38,0x4b,0x5f,0x96,0x82,0xae,0xd9,0xcd,0x66,0x4c,0xf1,0xf4,0x8e,0x58,0x8b,0xe2,0xd5,0x68,0xe5,0xc7,0x34,0x49,0x4d,0xf4,0xc7,0x12,0xb8,},{0x55,0x85,0x1d,0xe8,0xe1,0x09,0x2f,0x78,0x94,0x4f,0x6c,0x6d,0xd9,0x5b,0xf0,0x7e,0x2d,0xbc,0x8d,0xf7,0xf5,0x7a,0xd5,0x76,0x82,0x9b,0x97,0x8e,0x3a,0xf5,0x8a,0x7a,0x8e,0x94,0xed,0x4d,0xcc,0xbc,0x01,0x82,0x46,0x7e,0xdf,0x0b,0xad,0x4b,0xae,0x7c,0xa8,0x4a,0xa9,0xa0,0xc1,0x7c,0x61,0xa9,0xe0,0xdd,0xff,0x1d,0x75,0x25,0xd7,0x04,},"\x6f\x66\xd8\x47\x40\x5a\x03\xd7\xbd\x6f\x8d\x28\x97\xdb\xdf\x04\xe7\x6d\x7d\xf2\xd9\x47\x0a\x49\x96\xb7\xdd\x6d\xb8\x85\x00\xf8\xf4\xf8\x3e\x96\x0e\x21\x9a\x24\x86\xe2\x45\x45\xad\xd1\x36\x14\x55\x04\x14\xd8\x27\xc4\x1a\x9b\x08\x31\x8d\xaf\x01\xb1\x52\x14\xc6\x4a\x42\x66\xcb\xf8\xa5\x71\x7a\xda\x3e\x62\xc2\x67\x29\x07\x3e\x16\xdd\xbd\x66\xf2\xd5\x20\xe1\xe0\x99\x35\xde\x05\xe4\xdb\x11\xc3\x96\xd4\x77\x01\x0a\xec\x66\xaa\xfb\x76\x2e\x69\x23\x8d\x0b\x9e\x76\xb4\x52\x45\x4b\xf9\xe4\x51\xe7\x6a\xc7\x9e\x69\x90\xd4\x1b\x93\x2b\xc3\x29\x17\x09\x37\x83\xc9\x1b\xc9\xcf\x0b\xbe\x3b\x51\x40\x70\xa1\xe6\x92\xff\x34\xfd\x06\xb6\x6e\xa1\x1f\x39\xe1\x0a\xf9\x33\xee\x96\xd8\xe9\xb6\x77\xcb\x03\x73\x7e\x79\x64\xee\xaa\x72\x5f\x12\x12\x07\xf9\xc1\xb2\x6a\x96\xc6\x16\xdf\x7c\xb7\xca\xef\x47\xbd\xa9\x01\x36\x8f\xf2\xea\x58\x6e\x42\x2e\x65\xbf\x21\xa6\x91\xbd\xd2\xc1\x3e\x67\xff\xf5\x8c\xfb\xfe\xd8\x17\x82\x04\x9d\xaf\xa0\xf7\x27\xdf\x88\x62\x3f\x2f\x7e\x8f\x26\x2d\xaf\x93\x95\x42\xa1\x87\xb8\x72\x0a\x9b\x6b\x2b\x09\x89\x0e\x54\x87\x6b\x28\xa4\x38\x74\xab\xbe\x3b\xfa\x98\x1f\x81\x38\xb7\x72\xc5\xd5\x17\x36\x88\x5f\x86\xac\xac\x22\x15\xa0\xb0\x10\xdf\xc2\xc6\xb1\x50\x84\x5d\x4f\x82\x96\x25\x25\x86\xa3\xe1\x15\xf3\x03\xc3\xd8\xa5\x82\xe2\x0f\xd2\xd4\x3f\x6c\x44\x6e\x5d\x00\x28\x0e\xc1\x79\x82\x3b\x7f\xb4\xc1\xb0\xfe\xb9\x4e\xb4\xef\x17\x07\xf5\x18\x4e\x3b\x52\x46\x1a\x75\x62\xd1\xf3\x07\xcb\x75\x1c\xdb\xbf\x6e\xae\x49\xff\xae\x91\x86\x23\x58\xe7\x4e\x95\x48\x82\x2b\x8a\x04\x9f\xec\x6b\xf4\xc7\xa9\x9c\xab\xbe\x09\x20\x65\x77\xb6\x57\xe3\x1f"}, -{{0x70,0x9d,0x2e,0x19,0x90,0x06,0xf5,0x36,0x9a,0x7a,0x0b,0xdd,0x34,0xe7,0x4d,0xc7,0x84,0xbe,0x33,0x88,0x0e,0xa3,0xc5,0xdd,0x10,0xed,0x5c,0x94,0x45,0x1e,0x79,0x72,},{0x06,0xf9,0x89,0x20,0x2b,0xa2,0xcb,0xc9,0xc1,0x50,0xbe,0x61,0x12,0x62,0xac,0xa0,0x0c,0x45,0xf0,0x12,0xf8,0x9f,0xba,0xf8,0x9f,0x8c,0xec,0xcb,0xa0,0xb1,0x93,0x4a,},{0x62,0x9b,0xf9,0x7b,0x0c,0x78,0xee,0x6a,0x9c,0x87,0x59,0xfb,0xea,0x28,0x22,0x4e,0x27,0xab,0xbb,0x6c,0xbe,0x4d,0xea,0x5b,0xb7,0x97,0xe6,0xe0,0xfe,0x80,0xc9,0x13,0xf9,0x53,0xe3,0xa9,0xb6,0x23,0x35,0x2d,0x13,0xac,0xf4,0xce,0x62,0x50,0xfb,0x02,0x9a,0x1e,0x19,0x8d,0x72,0xbd,0x5e,0x74,0x02,0xe6,0x0e,0x9e,0x48,0xca,0x35,0x01,},"\x62\xf0\x03\x14\x0f\xa0\x9e\x03\x87\xd1\x87\xa0\xff\x96\xc4\x56\x3d\xf9\xf4\xe2\x8c\x22\x82\xc0\x18\x3a\xc3\xee\xde\x13\x12\x35\x49\x21\xf7\x80\xfc\xa5\x36\x1d\x30\x68\xd2\x99\x49\x63\x0b\x75\x30\xcd\x59\x14\xac\xe0\x46\x8d\x01\x4b\x6f\x53\xd8\x39\xb8\x2e\x38\x81\x7d\xbf\x2d\x83\x92\xc3\xce\x34\x24\xea\xb8\x6a\x24\xd8\x04\xc7\xac\xb1\xce\x7a\xcf\xe0\xa1\xcd\xa4\x39\x39\x24\x28\x31\x05\xda\x4a\x77\x41\x19\x6e\x02\x75\x50\x04\x7f\x85\xb7\xa0\xa0\x1d\x45\x41\x24\xef\xc0\xe2\x99\xf0\xef\x9a\xd1\x43\x50\x54\x30\x53\x48\x22\x61\x52\x8b\xaa\x56\xe6\x59\x99\xac\x80\x2c\x00\xa3\x36\x26\x7c\x63\x51\x06\xb2\x64\x03\xc1\x9f\x39\x1d\x53\xbd\x82\x86\x1d\x6d\x48\xa4\x38\x0b\x30\x43\xaa\x91\xd6\x49\x53\x68\x81\x20\x4e\xcc\xb0\xde\x20\xd4\x3e\x5a\x37\x55\xb7\xf6\x00\x91\x6e\xcc\xae\x42\xa0\xc9\x05\x3b\x46\x2d\x94\x17\xa1\x3d\x67\xd7\x78\x26\x4a\x89\x6e\x8e\xaf\x90\xba\xf6\x6d\x29\xe5\x43\x8a\x71\x67\x81\x12\x3a\x89\xfa\x9b\x8b\xee\xf9\x1d\x96\x5a\xf2\xf4\xa1\xa5\xbd\x5d\x2e\x2a\xaf\x46\xd5\xc9\x4b\x77\x09\xcd\xd3\x8d\x05\xfe\xee\x4b\xfb\x76\xa3\x59\x07\x7c\x16\xbc\x4b\xe9\x11\x6e\x69\x00\x12\x71\xcd\xa5\x65\xbc\x19\xbf\x47\xd4\xf9\x86\xbd\x9c\x0d\x18\x4c\xd8\xa3\x52\x0c\xa1\xbd\xb4\xb5\x05\xaa\xf7\xcb\x4e\xc9\xf9\x47\x89\x77\x9d\x30\x71\x4e\x79\x11\x6d\xd5\x01\x9d\x59\xb2\x8b\x17\xda\xd9\x6f\x4e\x21\x55\xad\x9c\x61\x27\x4a\xdd\xc6\xb6\x38\x10\x95\x04\xe9\xed\x19\xf4\xed\xa5\x37\x77\x62\x64\x8c\x40\x98\x22\x4e\x33\x91\x04\x3e\x4c\x2a\xd5\x91\x65\x4c\x9e\x7f\x97\x4e\xfd\xf0\xb0\x50\x4b\x6f\xa5\xf6\x46\xce\xcf\x44\xcd\x37\x24\x12\x37\x25\x05"}, -{{0x51,0x51,0x61,0x74,0x21,0xaa,0xdc,0x9c,0x95,0xa4,0x42,0xb4,0x5e,0x7f,0xf6,0xde,0x06,0xa2,0xc7,0x33,0xb8,0x5b,0xd7,0x89,0xfb,0xad,0x41,0x4e,0xe3,0xc9,0x1a,0xdd,},{0x14,0x94,0x1d,0x55,0x97,0x61,0xb3,0x0a,0xb0,0xa8,0x6d,0x47,0xe0,0xf7,0xd1,0x89,0x6b,0x33,0x78,0x45,0x27,0xc8,0x0a,0xf4,0x1c,0xb8,0x48,0x10,0xcb,0xff,0x9d,0xbf,},{0xfa,0xe4,0x77,0x3b,0x33,0x44,0x60,0xc7,0x7b,0xf0,0x1e,0xc6,0x36,0x6c,0x4f,0xe6,0x1c,0x0c,0xab,0x57,0xd8,0xa4,0xb0,0x39,0x09,0xc6,0x19,0xe1,0x1e,0xe3,0x46,0x1c,0x13,0xfa,0x21,0x57,0x6f,0x63,0x87,0x0e,0x42,0x3d,0xd0,0x41,0x81,0xe4,0xa7,0x01,0x3a,0x75,0x24,0xf2,0x46,0xfe,0x33,0x85,0x3c,0x67,0x41,0x62,0xa7,0x81,0x51,0x04,},"\x21\x6e\x9d\x40\xbc\xdc\x3b\x26\x50\x18\x8d\x12\x1c\x9f\x8e\xf2\x9e\x91\x4f\xac\xd0\x22\xfe\x01\xb9\x0e\xd1\x12\x25\xf2\xeb\x93\x53\x8e\x5f\xce\xe5\xab\x80\x45\xe9\x19\x9a\xa7\x6a\x16\xbd\xd0\x61\x68\x05\x66\x0e\x24\x7f\xec\xd7\xe2\x28\x21\xb6\x9b\x1f\x8e\x8a\x58\xac\x3f\xb8\x56\x91\xd7\x5d\x59\x57\xa1\xda\xf5\x3f\xf9\xee\x64\x76\xd7\xc4\xbc\x54\x1e\x6a\xd3\x8e\x3a\x34\xea\x90\xfc\x52\xa4\x8b\x93\x99\xf9\x2d\x17\xc9\xbb\x0d\x7f\xc3\x10\x4c\x55\xd0\xef\xb4\xea\x5b\x83\x1f\xf9\x49\x0b\x3f\x79\xf4\xd9\xd6\x99\x59\x4b\x74\x15\x66\xf2\xb5\x0a\x8f\xc7\x8c\xc4\x03\xfa\x40\xf5\xab\xb6\x63\x8a\x32\xf4\x49\xa8\xb3\xef\x02\x9c\x40\x2f\x46\x93\x1a\xd2\xbd\x3e\x8e\x68\x31\x08\x71\x4c\x98\x9a\xe2\x16\x89\xe9\xc4\x44\xb9\xf5\x5b\x81\x11\x9b\xb5\x03\x5b\xcf\x73\xe9\x7c\xe4\x3a\x22\x18\xc7\xbc\x3e\x43\x0d\x1e\x81\x4f\x34\xde\xe0\x57\x26\x5d\x31\x94\xb9\xf4\x38\x75\xd8\x38\x1f\x52\x5f\x78\x57\x6e\x64\xce\x69\x25\x84\xfa\xa3\x0f\xb7\x43\xa1\x2d\x1b\x77\x61\x4d\x2e\x10\xa6\xb8\x56\xb5\x2b\xe2\x7c\xdb\x63\x0b\xa1\xf0\xd3\xa6\xf8\xea\x98\x44\x54\x2e\x58\x4e\xa0\xa2\x77\x75\x27\xd0\xc5\x2a\xca\x94\x9a\xac\xda\x45\xad\x83\xd1\x6d\x5c\x83\xd6\x63\xad\xb7\x9c\xad\x6f\x3e\x39\xe9\x90\xfe\x28\x2a\x14\xc3\x53\xaa\x23\x79\xd7\xf0\x6a\xda\xb7\x4c\xea\x02\x1b\x89\x83\xa5\x7f\x1d\x0c\xf7\x03\x29\x2e\xb0\x5e\xce\x89\xc5\x3f\x3a\x12\x65\x61\x0e\x0c\x1e\xa8\xdd\xd4\x44\xd1\xff\xd6\xbc\x3d\x03\xf0\xa6\xe4\xd0\xdf\x5c\x5b\x8d\xc1\xf9\x5d\x9f\x55\x58\xb1\x18\xaf\xe6\xbe\xa0\xf6\xc2\x93\x13\x63\xf0\x3a\xb3\x4e\x75\x7d\x49\x36\x41\x74\xf6\x58\xef\xbb\xf3\x8d\xc1\x77"}, -{{0x38,0xbe,0xd4,0x45,0x55,0x6d,0xe7,0x44,0x82,0xbf,0x5f,0xec,0x05,0x06,0xf9,0xaf,0x33,0x0b,0x15,0x1e,0x50,0xd4,0x77,0x4d,0xfe,0x85,0x91,0xd7,0xb7,0xe0,0x27,0x6b,},{0x4c,0x0f,0x9c,0x49,0xa4,0x2f,0x40,0x47,0xbf,0xe6,0x88,0x55,0x51,0xc5,0xe4,0xb8,0x56,0xcf,0x77,0x1a,0x67,0xaf,0x3f,0x89,0xdb,0xf6,0x02,0xf9,0xdb,0x92,0x20,0xf3,},{0xf7,0x02,0xd0,0xd4,0x63,0x28,0x2f,0xc7,0xfd,0x5f,0x8f,0x90,0x29,0xb8,0x9c,0x62,0x6c,0xaf,0xd8,0x34,0x50,0xc3,0xbb,0x9d,0xd8,0xf6,0x58,0x9f,0x0c,0x4b,0x4b,0x71,0xf6,0x49,0xea,0x21,0x2e,0x5e,0x33,0x48,0x7c,0x59,0xc1,0x68,0xea,0x3a,0xd8,0x31,0x50,0xf1,0xfc,0xdf,0xe8,0xc5,0x3e,0xba,0x65,0xad,0xc2,0x02,0x3c,0x25,0x83,0x0f,},"\x0f\xf0\x03\x1d\xf0\xbe\xef\xf3\x71\x0c\x6b\x76\x3f\x9b\x8e\xc8\x17\x19\xbf\xa1\x52\x8c\xe4\x65\x19\xad\xf3\xd3\x41\x2d\x93\xfb\x18\x8f\xd4\x97\xd5\xd1\x70\x91\xc0\xf0\x34\x59\x60\xdd\x0e\xb0\xc0\x9f\xc4\x00\x51\x73\x66\x5d\x4d\x97\xf9\x5c\x13\x82\x8b\xc7\x6b\x34\x92\xb8\x7a\x4b\x64\x25\x3c\x8b\x5f\xa4\x7a\xa7\x5f\xa3\xb8\x6d\x5a\xbe\xea\x8d\xe5\x95\x9a\x60\x22\x89\x13\x6f\x60\xa6\x9b\x30\x9e\x77\x3b\x22\x55\xcd\xe1\x9e\xd2\xa2\xe1\x99\xc3\x3d\xb1\x1c\x16\xad\xe0\x8a\x31\x97\x50\xb8\x51\xd9\x2c\x69\x29\x24\xfc\x98\x59\xbe\x52\x34\x31\xcb\xe7\x8e\xc0\x92\xdb\x11\x29\x21\x0e\xbb\xea\xa7\xc2\xa2\xc0\x00\xee\xb1\x05\xca\x03\x01\xa4\x8f\x3e\x45\xfd\xfb\x15\xb2\x75\xcb\xab\x83\xca\x5c\x99\xd7\x37\xa5\x85\x32\x0e\x9e\x3b\x31\x71\x79\xbd\x86\x46\x7f\xa9\x69\x4f\xcd\xb2\xac\x6a\xd3\x6e\xd7\x14\x48\x43\xdb\xc3\x4e\x42\x3d\x35\xaf\xd7\xd8\x97\x2a\x1c\x43\xc1\x99\xa1\x91\xab\xd6\xce\xba\x49\x36\xd3\x95\xc9\x95\xa3\xeb\x13\xcb\x05\x7f\x88\xa9\xdc\x94\x90\xfe\x98\x84\x5e\xe5\xd2\x6a\x89\xfb\x64\x2a\x2a\x51\x6d\xc3\x05\x6c\x54\xd3\x63\x72\x13\x36\x3a\x86\x28\xa4\x2a\x39\x5d\x94\x2b\x95\x4a\x89\xe8\xef\x7a\x74\x4d\x8a\xe5\xad\xac\x88\xc6\x16\xef\xaa\x90\xe2\x07\x72\x05\xa6\x0b\xaf\xfe\xde\x5c\x87\xbb\x14\xde\xad\x30\x62\x29\x49\x5f\x69\x8f\x3e\x49\x06\x16\x96\x6b\x16\x36\x38\x7d\x0d\x86\x18\x3f\x94\x5b\x24\xa9\xdc\xfc\xcf\x4d\x36\x72\x2c\xd1\x2e\xbb\x6b\xd8\xe7\x83\x25\x75\x2a\xfa\x2b\x1a\xbd\x13\xc4\xbd\xbc\xad\xd1\x70\x86\x91\x36\x82\x62\x42\xac\xfb\x72\x1d\xe5\xff\x27\xba\x8a\xa0\xc0\x18\xb2\x25\xed\x34\x04\x80\x3c\xe9\xfa\x2d\x50\x8d\x89\x44"}, -{{0x05,0x54,0x60,0xb3,0x2d,0xd0,0x4d,0x7f,0x4b,0x23,0x11,0xa8,0x98,0x07,0xe0,0x73,0xfd,0x55,0x65,0x65,0xa4,0x77,0x18,0x57,0xd8,0x82,0x79,0x41,0x30,0xa2,0xfe,0x5d,},{0x26,0x0f,0x8f,0xed,0x4b,0xba,0x30,0xb9,0xe1,0x2a,0xd8,0x52,0x3f,0xbb,0x6f,0x57,0xf0,0xa7,0xa8,0x82,0x55,0x00,0x61,0xf1,0xda,0x46,0xfb,0xd8,0xea,0x44,0x22,0x21,},{0x23,0xf4,0xf1,0x62,0x7f,0xba,0xbd,0x78,0x91,0xd7,0xd8,0x48,0x96,0x31,0xc7,0x23,0x1d,0x22,0xde,0x71,0x86,0x4e,0x26,0x2a,0xb4,0xda,0x84,0xea,0x8a,0x13,0xa6,0x0f,0xea,0xc4,0xdc,0xfb,0x18,0x12,0xf1,0x20,0x04,0x44,0xb7,0x75,0xf1,0x21,0xd7,0x26,0x6d,0x75,0x5c,0xe9,0xb6,0xa9,0xad,0x79,0x65,0x59,0xc0,0xa2,0x6b,0x51,0x6d,0x02,},"\x74\x07\xf9\x6e\xe3\xe7\x9c\x69\xd3\x6c\xe1\xf6\x4e\x4f\x18\x86\x55\xea\x68\xb9\x47\xe7\xe2\xbe\x97\xb0\x5e\xbc\x6d\x44\x39\xe9\x50\x27\x6e\xf3\xf0\xe6\xa0\x3d\xd4\x8b\x24\xf6\x69\x29\xb4\x9c\x15\x80\xeb\x46\x88\x07\xe1\xe7\xa2\x5e\xb9\xb9\x4d\xa3\x40\xc5\x3f\x98\x4f\x8b\x81\x60\x3e\xfb\x61\x04\x7b\xf3\xf1\x4b\x68\x6d\x97\x98\x00\x3d\x2f\x68\x58\x9a\x79\xeb\xfa\xd5\x44\x09\xc7\x1c\x90\xff\x67\xc1\x1f\xbd\x76\xcc\x72\xc2\xd1\x45\xf4\x58\xe4\x2f\x88\xb7\x5d\x25\x0e\xad\xca\xfe\x66\xbf\x37\xff\xc8\x37\xb6\x2f\xf0\x06\x68\x5b\x7f\x85\xa9\xd8\x75\xfc\x07\x8c\x82\xe6\x1f\xe3\x5d\x19\x22\x52\x7a\x55\x1d\xab\x62\xf9\xe4\x77\x49\x91\x46\xba\xd9\x12\x20\x3e\x66\x4c\x41\x7c\x36\x79\xc0\x2d\x87\x2a\xba\xc0\x03\x2f\x8c\xc7\x7f\x77\xbf\xe5\x4d\x33\x26\xfd\xee\x92\x76\xa4\x8e\xa4\xeb\x25\x13\x50\x40\x68\x82\xd0\x8c\x83\x0e\x76\x49\xfe\x68\x54\x55\x8a\x75\x13\xab\x2d\x8d\x2a\xc3\xe5\xce\xd8\xa8\x08\xd2\xae\xe4\x54\x77\x9e\xda\xbd\x1a\xa6\x3b\xb1\x9f\x71\x8f\x47\x0b\xdc\x84\x51\xcd\x9b\x29\x49\x41\xe3\x49\x70\x63\xb1\xe3\x9b\x6c\xa1\x84\x56\x2f\xe8\x38\xcb\xfe\xee\x92\x2d\xe2\x4d\xdf\xcf\x98\x82\xc5\xe6\x15\xb1\x1b\xf9\x04\x81\x7f\xbd\x64\x71\x39\xdb\x80\xb4\xe8\xfe\xb3\x7f\x11\xe1\x85\x2d\x7e\x87\x6d\xb9\xcb\x63\xc9\x4d\x7e\xe3\x41\x92\xf7\x20\x0b\x5b\xc7\x7a\x03\x11\xae\x43\xb8\x06\xeb\xd4\xc2\x89\x6c\x53\xf5\x8f\x7e\xbc\x16\x25\xcb\x20\xd7\x10\x7e\xf9\xdb\x0d\xa2\x87\x88\x52\x3d\xe9\x91\xef\x6c\x58\x66\xb1\x8d\x8d\xe8\x3a\x95\x4d\x32\x81\xe0\x6d\xbf\x27\xc4\xf2\x38\x2e\x08\xcd\x0e\x0f\x6e\xba\xe3\xf9\x61\xb7\x7f\xce\x5a\x95\xa9\xb0\x62\x1b\x75\x6f"}, -{{0xe9,0xf6,0xd3,0x1b,0x93,0x69,0x42,0xc5,0x26,0xe0,0xf9,0xec,0x4f,0x5a,0x7a,0xc2,0x5f,0xa7,0x89,0xe0,0xc4,0x34,0xbc,0xd9,0x19,0x9d,0x72,0x0c,0x74,0x3c,0x84,0xc4,},{0x32,0x12,0x6d,0x26,0xe2,0x82,0x31,0xc5,0xb5,0x85,0xb1,0x3f,0x43,0xa0,0x1c,0x6f,0xe5,0x42,0x94,0x6b,0x07,0xd3,0xa9,0x1e,0x57,0xd2,0x81,0x52,0x3f,0x5c,0xb4,0x5c,},{0x7e,0x3b,0x1c,0x4c,0x71,0x6c,0x80,0x8e,0x90,0xb9,0x74,0x45,0x89,0x15,0xf3,0xb2,0x23,0x9c,0x42,0x07,0x71,0x19,0xfe,0x27,0x07,0x88,0xfa,0xe5,0x20,0x57,0x8b,0xd7,0xda,0x64,0x88,0x04,0x41,0x32,0xe1,0xbe,0xf2,0x3e,0x3b,0x23,0xc3,0x4d,0x9c,0x18,0x62,0x74,0x4f,0x28,0xfc,0xae,0xcd,0xa6,0xca,0xc0,0xfd,0x72,0xb9,0x3b,0x6a,0x0f,},"\xe8\x81\x33\xf3\xd1\x76\x42\xd5\xc2\x27\x79\xa8\x53\x16\xba\x0d\xf3\x4c\x79\x2b\x4e\xfe\xe4\x9e\xd7\xdd\x93\xca\x33\x22\xef\x47\xc7\x2e\x5b\x2e\x45\x95\xc7\x78\x00\x43\x4b\x60\x71\x9a\xdf\x54\xe4\xc1\xa3\x4c\x89\xfa\x1e\x27\xee\x8d\x35\xa0\x92\x1f\x97\x55\xac\x4a\x77\xa6\xc1\x68\x4e\xa0\xf5\xc8\xee\x5f\x75\x9c\xe5\x9b\xfe\x83\x15\x80\x0a\x67\xaa\x6c\x64\xdd\xfa\xac\x92\xea\xbe\x6c\x2c\x61\x37\x79\x78\x4b\x3a\xff\xaf\xcc\x62\x0f\x2a\x6d\xc5\xcb\x8d\x8d\xc7\xd7\x4a\xa4\xd7\x94\x94\x67\x84\x94\xe5\xe6\x39\x4c\x43\x3c\x14\x80\x9f\xf4\x0c\x9a\x59\x2d\x0d\x69\x4a\x81\x10\x3b\x44\x53\x1e\x1f\x48\xbc\x13\x96\x5d\x15\xaf\x8b\xf3\x34\x04\x88\xf8\xcd\x58\xf0\x9a\xe1\xa6\x61\x6b\xf8\x5a\xc9\xde\x7e\x0c\x66\x96\xaa\x2f\x1b\xec\x15\xe1\x7a\x44\xda\x4a\x84\xed\xb4\xec\x6d\x77\x24\x77\x88\xba\x0d\xe3\xae\x12\xa1\x55\xcb\xed\xc0\xda\x2f\x56\x8e\xef\x0b\x75\xa8\x77\xea\x5b\x0c\x2c\x0d\x4b\xf2\xc6\x1d\x46\x8a\x46\xfa\xad\xfa\xec\xe3\x5f\xc2\x63\xa9\xbe\x99\x87\xf4\xf7\xf7\x8f\x05\xc7\x07\x78\x43\x78\xc7\xb8\xf7\xda\xf9\xac\x3a\x12\x2a\xad\x39\xa1\x67\x79\x66\xda\x9e\xf2\x86\xc9\xe0\x62\xc4\xf4\x39\xad\x0b\xdd\xea\x26\xe5\x4b\x2f\x73\x88\xe2\x38\xb2\xa6\x49\x28\x45\x0d\x34\x56\x4c\x5a\x44\x7e\x7a\xfb\xbe\xdd\x10\x85\xf1\xf2\x4c\x11\xae\x08\x43\x22\xd1\xa3\x2c\xf8\xaa\x47\x39\x41\xf0\x0d\x56\xb1\x61\x82\x13\xca\xb3\x90\x0a\xa6\x06\x46\x3d\x9f\x80\x0e\x92\x6f\x9f\x42\xd4\xb0\x82\xd8\xc5\xec\x3a\x4a\x02\x5b\x45\xf9\xaa\xdc\x8b\xcb\xd1\x70\x91\xb3\xda\x49\xe9\x45\x3d\xc5\x5e\x89\xb5\xb5\xfe\x6b\x31\xf5\xed\xda\xd1\x0b\x66\x01\x57\x25\x68\xd8\xe2\x05\xd3\x25\x1a"}, -{{0x6b,0xf4,0xca,0xaa,0xbb,0x96,0x85,0x4a,0x38,0xa5,0x72,0xf4,0xce,0x6c,0x78,0x38,0xf7,0xe7,0x50,0x11,0x8c,0x73,0xf2,0x72,0x35,0x82,0x61,0x8e,0x23,0x07,0xf8,0x38,},{0x08,0x12,0x63,0x73,0xd0,0x56,0xf0,0x0e,0x54,0xb8,0xd4,0x3d,0x77,0xc3,0x5f,0x5f,0x91,0x98,0x33,0xe9,0x0d,0x8a,0xaf,0xd6,0xc8,0x24,0x6d,0x27,0x91,0x7a,0xd0,0x91,},{0xd2,0x11,0x3f,0x80,0xd6,0xcf,0x92,0x84,0x86,0xa2,0x50,0xa6,0x79,0xd6,0xe7,0x4b,0x35,0xea,0x9d,0x26,0x06,0x1f,0xa9,0x4d,0x76,0x9e,0x1a,0x8f,0xbf,0xa0,0xa7,0x34,0x22,0x7f,0x55,0x53,0x7e,0x4e,0xbf,0xf5,0x93,0x36,0xdb,0x14,0x1c,0xf5,0xd6,0xd4,0x82,0xa0,0x71,0x1f,0x1e,0x9f,0xc7,0x2f,0xf7,0x09,0x56,0xa1,0x1b,0x4f,0xb9,0x09,},"\x47\x76\xe9\xd6\x00\x85\x48\x1f\xa5\x37\xbf\x29\x5b\xda\xbd\x8b\x1c\xf6\x32\xa8\xcd\x40\xbc\xe6\xbd\x32\x5c\x12\x9f\x97\x70\x00\xe8\x84\x68\xeb\xf2\xdc\x15\x8a\xc0\xf2\x07\x21\x2d\xb0\x0f\xb6\x0b\x8e\xc8\xba\xe2\x29\x37\x2e\x9a\x6b\x01\x53\x0a\x7e\xd1\xbc\x9d\x38\x9e\xc8\x91\x3f\x59\x03\x0d\x5b\x54\xaf\x56\xae\x1c\xcc\x28\xf3\x7c\xc9\x6a\x8e\x53\x20\x4e\x92\xa6\x77\x76\x6a\xdf\xaa\xda\x99\xb0\x28\x1f\x86\x7f\x61\xac\x9f\xf7\xd9\x72\xee\x3e\xd4\x27\xd7\x2f\xaa\xe7\x5d\x4a\xec\x01\xb5\xff\xc3\x70\x61\xb6\xf0\xf7\xe5\x71\x4c\x4c\xf3\x0d\x5b\x73\x1b\x07\x46\x06\x5f\x19\xe4\xc8\x92\x2d\xde\x64\x2f\x80\xfe\x24\xa3\xc8\xdc\xb2\xe5\xf1\xc2\x66\xe2\xaf\x6c\x37\xde\xcf\x55\xa2\xba\xa5\x4f\x0d\x5c\xf0\x83\x93\x70\xc3\xe0\xb4\xe7\x7a\x4f\x36\xbb\xb3\x16\x20\x14\x93\x3a\x4a\x4e\xbc\xae\x8c\x60\x96\x1a\xc6\xdc\xf1\x34\xf3\x08\x28\xd3\x14\x02\xae\x74\xe7\xe8\x51\x3c\x9d\x2a\xd8\xee\x46\xb7\xa9\xd5\x3a\x1f\x87\xeb\xfc\xe0\x4f\x46\x1b\xde\xd1\x74\x9b\x6f\xc4\xc4\xf2\x57\x93\x52\x56\x92\xd7\xa0\xe4\x26\xc8\x4e\x06\x08\x2c\xc3\xe6\xab\xb5\x13\x68\x37\x0c\xbb\x10\x6c\x7a\x08\x97\xf6\x6d\x92\xc9\x73\x9c\xff\x9f\x27\x06\xd6\xa2\x98\x0e\xce\xa3\xac\x49\x45\xf0\xf4\x7e\x65\x6b\xd9\x63\x77\x77\xe8\x53\xd2\xa8\x39\x10\x43\x27\xdc\x04\x9e\xbc\x34\xf0\x49\xd6\xc2\xf8\x0e\xca\x99\xdb\x7b\x41\x84\x24\xac\xef\x75\x22\x60\xd2\xd4\x27\x94\x93\x23\x99\x7c\xd9\x61\x7e\xdf\x50\xd4\x41\xd0\x08\x8b\x1d\x47\x91\x2e\x35\xcf\x54\x23\x15\x26\x58\x29\xf3\x83\xf4\x58\x60\xd3\xb4\x5e\x73\x5b\xb2\xf8\x58\x6d\xcf\x58\xdb\x4f\x2a\xcf\xb4\xa6\x88\x53\xa9\x6e\xed\x7b\x89\x76\x9d\x36\x56\x13"}, -{{0x5d,0x95,0x85,0x73,0x6a,0xb2,0x09,0xb0,0xab,0xe8,0xbf,0x74,0xac,0xa4,0xee,0xa4,0xf6,0xd1,0x65,0x0b,0x53,0x25,0x50,0xa2,0x23,0xe0,0x44,0x58,0x0f,0x8e,0x20,0xde,},{0xe7,0x77,0x29,0xed,0xfd,0x21,0x44,0xb2,0xb1,0x20,0x78,0x76,0x54,0x17,0xfa,0x21,0xf1,0x59,0x4f,0x09,0xb2,0x69,0xe9,0xb6,0x70,0x68,0x02,0xb4,0xf3,0xbd,0xfe,0x85,},{0xe7,0xb0,0x8e,0x1d,0x58,0x09,0xfd,0xd8,0x52,0x94,0x43,0xd6,0x5a,0xda,0x5d,0xd6,0x55,0xea,0x55,0xb5,0x41,0x5a,0x01,0x13,0x93,0xbe,0x70,0x71,0x67,0x64,0x86,0xd3,0x58,0xe8,0xd2,0xa4,0x60,0xeb,0xe0,0x75,0xb0,0xe7,0x01,0xb2,0x4c,0x9e,0x3a,0xb5,0xf2,0xb0,0x33,0x59,0x2d,0x4d,0xe3,0xb7,0xf3,0x7f,0xd5,0x41,0xf6,0x92,0x09,0x09,},"\x08\x69\x35\x91\xe6\xc5\x8a\x5e\xad\x9c\x85\xfe\x8e\xc5\x85\x08\xf8\x1a\x34\x67\x63\x6c\x2d\x34\xfc\xc1\xf4\x66\xe5\xc6\xda\xfd\xc3\x7c\x35\xcb\xee\x35\x58\x9c\x69\x97\xe2\xb1\x54\x48\x13\x27\x44\xe5\xa1\xe1\x31\xbb\x49\xbf\x5c\x25\x63\xf8\x7e\xad\x3e\xfe\x01\xe8\x8c\xbf\x24\xcc\x17\x69\xc7\x8c\xdf\xc1\x67\xe3\x78\x21\x5b\x15\x85\x9c\x7a\x28\xec\xe7\x0e\x18\x8f\xa3\x30\x26\x7d\x3f\xc5\x7b\x4a\xce\x6c\x15\x20\xec\x67\x87\x50\x67\xfd\x33\xbe\x86\xf4\xa1\x96\x7a\xfb\x3e\xb1\x64\xc7\x97\xcf\x28\xd8\x07\x2a\xa6\x9d\x82\xaf\xa3\x83\x74\xf8\xe5\x79\x7c\x4c\x28\x47\x1b\x7d\x69\xf5\xb9\xc7\xb4\xac\xdb\xc1\x9f\x3c\x5c\x5d\x40\x08\x08\xa9\x82\xa4\x78\x37\xae\xd1\xb3\x84\x1d\x69\x89\x0e\xeb\x31\x49\x4e\x10\xe3\xe5\x13\xd1\x2d\x0c\xa6\x86\xc7\xce\x65\x17\x78\x09\x27\x03\xfe\xf0\xdc\xc0\x21\x40\x77\xdf\xb3\x61\x25\x1b\xde\xa4\x36\x4d\xd4\x1b\x97\xbc\xeb\x0f\xb1\x47\x5a\x50\xe4\x70\x8f\x47\xf7\x87\x8c\x74\x40\x1e\x97\x71\xcc\x3f\xce\xac\xe8\x91\x69\x98\x1a\xa7\x72\x50\x85\x00\x90\xd1\x81\xd8\x35\x8e\xbb\xa6\x5e\x29\x0a\xcb\x03\x52\xbe\xce\x8c\x57\x98\x32\xa6\x01\x55\x18\x16\xd1\xc0\x56\x21\xcc\xbb\xee\x0f\xbe\x39\xea\x2f\x19\x53\x93\x19\x9e\x69\xc2\x34\xc2\xfb\x1c\x37\xe4\x74\x84\x08\x60\xce\x60\x91\x61\xfc\xfc\xe2\x86\x95\x74\xbe\x0d\x38\xf9\x5e\x20\xf4\xf8\x72\x52\x47\xb9\x62\x7b\x46\xe8\x34\x90\x51\x01\xac\x12\xb9\x34\xcb\xf8\x7c\xb2\xd1\x90\xd2\xf5\x14\x90\xa8\x2c\x4e\x81\x0e\xdd\xb8\x1f\x95\x6a\x9f\x36\xbd\xa4\x97\xbc\xa5\x06\xa4\x9e\xe9\xcd\x47\xfd\xa5\xb7\xf2\xb8\x84\xa3\x64\x8c\xad\xd1\x2a\xb6\x18\x98\xad\xa4\x6e\xcc\x97\x0f\x81\xdc\x9f\x87\x68\x45\xdb"}, -{{0x60,0xb1,0x42,0xf1,0x65,0x11,0x41,0x43,0xca,0x30,0xa6,0x04,0xfe,0xf5,0x1c,0x68,0x64,0x36,0xaa,0x1b,0x9a,0xfd,0xb2,0x66,0xb3,0xe3,0x98,0xcc,0xb3,0xc4,0xd8,0x55,},{0xea,0xf6,0xc5,0xa7,0x6c,0xa9,0x9b,0xf7,0x30,0x64,0x98,0x88,0x8c,0x3b,0x7a,0x1f,0xea,0xe9,0x8b,0xf8,0x98,0x8d,0x7f,0x2e,0x15,0x47,0xf8,0xf5,0x3a,0x45,0x28,0xaa,},{0xa6,0x21,0xf0,0x84,0xea,0x1a,0x36,0xef,0x81,0x2a,0x97,0x55,0xc9,0xaf,0xbb,0x53,0xda,0xda,0xae,0x6b,0x3a,0x53,0xfa,0x83,0x44,0xca,0x40,0xd3,0x61,0x2a,0x26,0x8a,0x35,0xfe,0xd0,0xfd,0x39,0x8a,0xb7,0x5b,0xcd,0x63,0x9c,0x54,0x79,0x37,0xc9,0x41,0x55,0xab,0x1a,0x7a,0x34,0x67,0xdd,0x4b,0xfd,0xdf,0xac,0xab,0x16,0x55,0xe9,0x08,},"\x18\x15\xde\xe1\x17\x3b\x78\x26\x47\x20\xd3\x5b\x7c\xc2\x45\x4a\x00\x0a\x65\xff\xf2\x14\xe2\x47\x3e\x20\xbc\x83\xf3\xec\xde\x9c\x04\xc1\xe0\x69\x6c\xe6\xe5\x55\x19\xdd\x2a\x75\xce\x04\x64\xbf\x60\x1a\xdc\x38\x1e\x79\x3e\xcb\x9f\x8c\xe7\xab\x87\xb6\xca\x2a\x3e\x41\x0f\x63\x90\x69\x45\x19\x78\xd1\x48\x73\xd3\x39\x0f\xab\x86\x23\x96\x97\x13\xc3\xdf\xcd\x58\xd8\x6d\x12\x40\x73\x76\x1e\xe0\x9a\x65\x2a\x48\x76\x7f\x96\x46\xcb\x72\x6a\xc4\x54\xac\x9a\x1b\xc5\xfa\xed\x30\x26\xb7\x03\x98\x2b\xc2\xb1\xe0\x75\x82\x10\xe1\xd6\x25\x19\x23\x0e\xb2\xb2\xf4\xa4\x86\xbc\x55\x16\x85\x60\xc4\x36\x3d\xf5\xff\x5a\xdf\xda\x11\xac\x7e\xf5\x1b\x18\x19\x6c\x94\x33\x7c\x07\xae\xf1\x17\x99\x0f\x77\x0c\x0f\x1e\x8c\x0f\x88\xeb\x6f\xfc\x40\xe8\xed\x7c\x3a\x80\xa6\x32\xdb\x1e\x7f\x63\xb6\x30\x96\xe2\xac\x49\xe5\x77\x92\xb3\x11\x43\xe2\xf4\xfa\xab\xce\xae\x66\xb2\x74\x71\x68\x1c\x36\xfc\x11\x39\x00\x7f\x9b\x54\x8c\xdc\x6e\x3b\x8f\xbb\xda\xba\x7a\x8a\xdb\x84\x34\x31\x23\x8b\xb4\x61\xba\x24\xf6\xe0\x9f\x62\xc7\x2d\x63\x77\xb4\x04\x8c\xb0\x13\x4c\x25\xa5\x41\x1a\x20\xbf\xcf\xc1\x3e\x48\xd8\x0e\x36\xbf\xb0\xda\x7e\x01\x85\xd3\x3f\x19\x28\x63\x6e\x15\xde\xe0\xe5\xdf\x89\x92\xa1\x65\x72\xb1\x3e\xa8\xf7\xcf\x85\xca\xe3\x2d\x52\x9f\x66\xe8\xf6\xd2\xfb\x2a\xd0\xbb\xfe\x71\x99\x16\x9b\x25\x67\xba\x00\xc7\x81\xb2\x0a\x48\xe1\xd7\x0d\xf9\xfa\x31\x19\xcd\x7e\x5b\xbe\x58\x88\x4b\x0b\x51\x21\x89\x40\xfa\x81\x5f\x85\x62\x5f\xa2\x03\x47\x1c\xee\x80\x84\x78\x0e\xb0\xb9\x35\x6f\x9f\x3d\x4f\x6d\xf7\x40\x30\x1d\x70\x7e\xf1\xff\xb3\x51\x9e\x3f\x90\xb8\x06\x4b\x98\xe7\x0f\x37\x5d\x07\x14\x26\x88\x17\x18"}, -{{0x73,0x4b,0xa4,0x70,0x33,0xc6,0x14,0x02,0x32,0xdd,0x4a,0x7a,0x14,0xf1,0xa7,0x74,0x3e,0xef,0xe9,0x07,0x0b,0xad,0x96,0x62,0x49,0x16,0x30,0xcc,0x9d,0x28,0xc1,0xf3,},{0x2f,0xa5,0xdf,0x30,0x26,0xd6,0x07,0x42,0xe2,0xaf,0xf6,0xb5,0x78,0x42,0xc7,0x12,0x68,0x46,0xc8,0xa7,0xbb,0xe9,0x26,0x6e,0xfa,0x7b,0x3f,0x23,0x98,0xc3,0x57,0xea,},{0x9b,0xd0,0x74,0xd1,0xd0,0xbd,0x28,0x00,0x1b,0xaf,0x7d,0x2d,0x4e,0x82,0x43,0x5d,0xf0,0x8c,0x42,0x64,0xd8,0xcb,0xb1,0xc3,0x81,0x18,0x3c,0x2f,0x01,0x22,0x3f,0x79,0xf9,0x49,0x23,0xca,0x17,0x8c,0xac,0x75,0x56,0x4e,0x16,0xc7,0xf5,0x60,0x79,0x08,0x8f,0x7e,0xd8,0x85,0xde,0x4d,0x50,0x9f,0xbc,0x78,0xf4,0x38,0xfb,0xa3,0xf6,0x07,},"\x5d\x3c\x65\x98\x10\xc3\xfe\xa5\x2a\x6d\xf3\x86\x1e\x5c\xdc\x5b\x70\x3c\xc1\xce\xf4\x85\x58\xc6\x1d\x8c\x51\xd0\xed\xea\x5a\x14\x79\xcf\xe5\x06\x3d\x82\xde\xd9\xca\x68\x1e\x57\x48\x88\x7c\x40\xec\xfb\x9e\x1a\x9a\x8b\x7f\x85\x09\xd1\x07\x76\x46\x1c\x39\x23\x39\x96\x93\xa7\x81\x89\x08\x91\x78\xd5\xaa\xbd\x15\xf8\xc8\x46\x64\x2b\xe4\x7d\x6d\x4c\xaf\x13\x82\x4e\xdc\xef\xb8\x09\x86\x8f\xa7\x2d\xdf\x03\x5c\x4d\xe8\xef\x0a\x9c\x83\x22\x64\xf6\x6f\x01\x27\x61\xce\x69\x55\xbc\x3c\x41\x6e\x93\xe2\x91\x88\x02\x5e\xbb\xb1\x3a\x55\x32\x58\xc1\xd7\xc4\x99\xc9\xa4\xae\xb1\x0b\xb3\x6f\x61\xd1\xbb\x4c\xec\x5a\xe5\x5d\x17\x57\x22\xb9\xa9\x69\x6d\xf8\x81\x95\x1e\x35\x20\x0b\x96\x53\xcf\x6e\xd4\xb3\xd1\x5d\xe0\x87\xa9\xd1\xc3\x19\xfc\xe8\x58\x21\x56\xbe\xbf\x3f\xc9\x1e\x0e\x61\x0f\xf7\xa1\x53\x08\xfd\x1d\x2c\x60\x69\xfb\xbb\x29\x47\xd3\x11\x07\x31\xd2\x45\xae\x29\x63\x01\x4b\xd7\x6d\xea\x42\xdb\x12\x5c\xec\xc4\x93\xc8\xe9\x09\x1a\x76\x64\x65\x77\x72\x9a\xed\x49\x66\xfc\xe9\x69\x9f\xe1\x2e\x36\x7d\x66\x5d\xf9\xe9\x5a\x91\x93\xe1\x13\x3e\x14\x3a\xf9\x2f\x82\xb6\x6a\xc7\x76\x4e\x50\x33\x17\x86\x90\x52\x18\x09\xa7\x10\x7d\x8a\xe9\xb8\x8e\x0e\xd1\xf3\x5b\x17\x19\x90\x1b\x93\x0a\xd0\xe1\xcb\xce\x7f\xb3\x02\x67\xb1\x15\x52\x04\xf6\x05\xf5\x25\xe4\x9d\xe2\x98\x8e\xa7\xf7\x4b\xe8\x81\x51\x77\xfd\x97\x6a\x1b\xcc\x12\x6d\x9c\x9c\x13\x5c\x5b\x42\x76\xd3\x80\x19\xc3\x4a\xef\xb7\xa0\x22\x0f\x7f\x5a\xef\xf3\x80\xae\xd6\x27\xb0\x70\xc2\xc9\xe2\x15\x33\xbb\x35\xc0\x8e\x39\x4c\x85\xae\x25\xe6\x86\x29\x42\x59\x9c\x65\xdb\xae\x59\x77\xa5\x84\xa8\x81\x80\xe0\xc8\xc7\x1e\x5a\x84\x09\xe0\x4e\xf7"}, -{{0x45,0xe3,0x4d,0x0e,0xf4,0xc1,0x96,0xfa,0x6d,0x57,0x2b,0x6b,0x17,0x74,0xb5,0x21,0x8f,0x7c,0x32,0x91,0x30,0x4c,0x13,0x50,0x0d,0xf7,0x07,0x0d,0x90,0xe8,0x03,0x9e,},{0x13,0xa7,0x30,0x4d,0xff,0x42,0x33,0x59,0x17,0x7a,0xba,0xfa,0x5e,0x65,0x08,0xd2,0x67,0x69,0xca,0x99,0xcf,0x8a,0xf4,0x5c,0x38,0x3f,0x3f,0xf6,0x34,0x40,0x60,0x03,},{0xb4,0x2c,0x1f,0x92,0x5f,0x4b,0xac,0xcd,0x12,0x9e,0xfb,0x10,0x9d,0xb3,0x54,0xac,0xa3,0x1c,0x68,0x98,0xf4,0xf4,0x51,0x29,0x47,0x49,0xa2,0x6a,0x6d,0xa1,0x67,0x7b,0xd3,0xa5,0xc0,0x41,0x19,0xe3,0x5f,0x47,0x31,0x9f,0x20,0xcf,0xdf,0xc0,0x8b,0xb4,0x52,0x8b,0x21,0x00,0x9e,0x00,0xbd,0x41,0xeb,0xc0,0xf4,0x68,0x63,0xbe,0xd1,0x0b,},"\x3d\x9e\xd5\xc6\x4b\x75\xe1\x35\xdf\x2f\x5e\x85\x30\x0d\x90\xf2\x1b\x36\x39\x35\xe2\x81\x75\x56\xfc\x93\x11\x75\x1b\xa7\x53\x54\x77\xde\xc8\x35\x6e\xc3\x85\xef\xb8\x2b\x41\x40\x62\xf3\x5b\xb6\xd3\xed\xea\xfd\xe3\x05\xf9\x90\x0a\x25\xe9\x81\x3c\x9e\xe0\x23\x7d\x46\x40\x96\x50\xcd\xcd\xb5\xdf\xa2\x30\x1a\x8e\x26\x47\xf8\xd3\x81\x9d\x86\xf7\xb7\xe3\x07\x0d\x33\x44\x0f\x82\xc4\x05\x4b\x1a\xb5\xed\xeb\xeb\x27\xf9\x5b\x3c\x4c\x6f\xdd\x46\x8f\x21\x60\x0f\x03\xb3\x49\x4d\xa2\x00\xba\xb9\x29\x3c\x38\xd0\x2f\xc4\x40\x48\xe5\x2f\xf5\xfd\x0f\x72\x17\xa0\x4d\x4c\xe9\x12\xa1\x80\xd1\x62\x8f\x36\x82\x80\xb6\x89\x26\x72\xe8\xff\x98\xd4\x62\x9a\xc2\x8b\x60\xc0\x2a\x30\x1e\x6c\x60\x26\xc1\xb9\xe9\xef\x21\xcf\x03\x92\xdf\x22\x50\x08\xd5\xa0\xe0\x28\x4b\x28\x26\x31\xad\x17\x10\xf8\x11\x61\x56\x97\x06\x6c\x98\x29\x65\x19\x94\x8a\x7c\xfe\xd5\xae\xeb\x45\x4e\xe7\xa6\x1c\xc2\x71\xbd\x3d\x49\x9b\xe1\x7d\xf0\x9d\x3a\x0e\x79\x0e\xe6\xb9\xbd\x99\xe1\xb9\x19\xbe\xd4\xa0\x63\xb8\xd1\xa3\x4f\x1a\xfd\x2e\x95\x2b\x9d\xfe\xfd\x77\x09\x69\xc8\xb2\xfc\x37\x97\x7a\xbb\x0f\xee\x63\x17\x25\x3a\x23\xec\xc9\x75\x78\x16\x89\x73\x33\x4c\x8f\x91\x76\x3a\xb9\x7f\x29\xc4\x9b\xae\xee\x7b\x35\xf3\xae\x7f\x5c\xd3\xa4\xa6\xe6\x97\xef\x25\x5a\x3c\x2e\xc0\xc7\x52\xa3\x39\x6f\x69\xf6\x63\xca\x1f\xc2\xb3\x32\xdf\xe6\xc0\xfa\xf7\x8a\xfe\x9c\x68\xd9\x95\x71\xe8\xe8\x96\xc5\x09\x30\x85\xe9\x86\x3a\x27\x64\x8a\x9e\x58\xf3\xa9\xa8\x4c\xbb\xfe\x2b\x41\xca\x36\x33\xdd\x5c\xf6\xe8\x2c\xb7\x7c\xec\xac\xad\x8d\x78\xb3\x53\xf4\x8d\xb4\x2d\x99\xc3\x6b\xca\xd1\x70\xea\x9e\x98\xab\xb2\x78\x8c\x33\xa3\xc7\x06\x26\x8f\x36\x31"}, -{{0x88,0x8c,0xe2,0xec,0xce,0xda,0x9c,0xa2,0xb9,0x48,0xac,0x14,0x43,0xc2,0xae,0xdd,0x75,0x95,0xaa,0xcf,0x36,0xed,0xaf,0x27,0x25,0x5b,0xde,0x7a,0x69,0x91,0xdc,0xc0,},{0x01,0x6e,0x57,0x2b,0x4f,0x98,0x41,0x7c,0x6e,0xe2,0x97,0xab,0xd7,0x84,0xea,0x48,0x22,0x6f,0xf4,0xfb,0xf0,0x05,0x0a,0x5a,0xde,0x88,0x06,0xe7,0x04,0x6d,0x3b,0xa3,},{0x99,0xd8,0x3f,0x14,0x8a,0x23,0x6e,0xbb,0xef,0x1c,0xad,0x88,0xcb,0x3c,0x76,0x94,0xf4,0x98,0x6c,0x92,0x50,0xe2,0x1c,0x36,0x03,0xa0,0xd9,0x41,0xbf,0xf1,0x99,0xcf,0x77,0xd6,0xce,0x99,0xef,0xdb,0x20,0x53,0x31,0x88,0xd6,0x8a,0xd1,0x33,0xde,0x03,0x3a,0x1f,0xb3,0x46,0x8a,0xbb,0x70,0x6d,0x2b,0x8b,0x4f,0xba,0xc0,0x8d,0xfe,0x03,},"\x5c\x80\x1a\x8e\x66\x4e\x76\x60\x76\x0a\x25\xa5\xe1\x43\x1a\x62\x15\x9f\xc3\xf3\xaa\x71\x37\x80\xae\x7c\xbc\xe2\x3b\x85\x64\x78\x27\x99\xbf\x2b\xe4\x81\x7e\xe2\x92\x19\x65\xba\xb7\xe1\xd4\x48\x33\x82\x4c\x16\x28\xd4\x2d\xce\xe3\xe4\x6a\xe4\x2b\x28\x16\xd0\xa4\x32\xa1\xab\x0b\xd2\x1f\xcf\x30\xad\xb6\x3d\x8d\xd7\x65\x69\x54\x43\x43\xd0\x03\x5c\x76\x05\x22\xca\x68\xbe\xa7\x2c\x40\x4e\xdd\xa1\xe9\x09\x5e\xc9\x0f\x33\x25\x68\x1c\x6d\xe0\xf4\xc1\x2d\x1a\xfb\xcb\xa2\xc7\x87\x1a\x1b\x1e\x1f\x19\xc3\x5b\x0b\xed\x9e\xc2\xa8\x7c\x04\x3d\x36\xd8\x19\x39\x6b\xd5\xd0\x99\xe1\xaa\x09\x03\x91\x29\x7c\x73\x3f\x65\xa8\xc5\xd2\x12\x0c\x67\x63\x53\x16\xfa\xb2\x5b\x4d\x48\x47\xa4\x5f\xc3\xf7\x6f\x2e\x24\x26\xdb\xee\x46\x29\x97\x50\x62\xfc\xe1\x4e\x21\x89\xdb\xa2\x7f\xb1\xde\xd2\x45\x3f\x00\x1d\xeb\xfa\xa8\x99\xc1\x16\x60\x61\x2d\x2c\xe2\xad\x2f\x76\x2e\xa5\xde\xe7\xe7\x1e\x58\xad\xcd\xce\xfa\x79\xe8\xe8\xb2\x7f\xc4\xcc\xf8\x9a\xab\xf1\x76\xb5\xd3\x4f\x82\xdd\x15\xd8\x89\xf9\xf0\x87\xdc\x9a\xe8\xa4\x2a\x72\xf3\xb8\x35\x83\x61\x6e\x17\x06\x37\xcd\x1a\xdf\x38\xaa\x65\x51\xcb\xac\xca\x36\x02\xbd\xc7\xae\x21\x0c\x4a\x44\x6b\x3a\xf8\xdb\x27\x20\xe5\x49\xbb\xed\xb8\xbe\xd2\x15\xae\x00\xf1\x9d\xa2\x9d\x8f\xb0\xb6\x42\xd2\x7b\x2d\x88\x57\x5f\x0e\xe8\x4f\x3d\x12\x9e\xb7\x74\xd2\x0f\x53\x7a\x1c\x0f\xdc\xf7\x17\xbd\xeb\xcf\xe4\x7f\x83\x31\xa3\x41\x86\x43\x46\xfa\x6a\x1c\x6b\xbf\xd1\x78\x81\x9e\x38\x7a\x0d\x54\x99\xa6\x8e\x81\xcc\x9f\x82\xad\x39\xe3\x1e\x4d\xfe\x71\x95\x2d\x5e\xa5\xcc\x80\x52\xa3\xce\xed\x17\x51\xf5\x9d\xc7\xec\xc9\x74\x2f\xad\x14\x4e\x18\xdd\xa8\xd0\x58\x2e\x74\xe3\x9c\xa8\xc4"}, -{{0x61,0x73,0x90,0x85,0x7d,0xc1,0x0c,0xdf,0x82,0xb5,0xc9,0x42,0x61,0xf5,0x8c,0xe2,0xd4,0x4a,0xa2,0xf5,0x7d,0x29,0x8f,0x08,0xa2,0xd6,0xc7,0x4d,0x28,0x14,0x7d,0xaf,},{0x89,0xe0,0xc3,0xe0,0xa0,0xf1,0x30,0xd1,0x91,0x6e,0x0e,0x38,0x49,0xb7,0x28,0x6f,0xa2,0xe3,0xac,0x4c,0x17,0xbd,0x1f,0x71,0x6e,0xe5,0xa7,0x2f,0x02,0x57,0xfb,0x8d,},{0x63,0xe9,0x0a,0x6a,0xfb,0xbb,0xb0,0xee,0x69,0x6b,0xfb,0x56,0xef,0xd6,0x79,0xd6,0x8a,0x98,0x51,0xa8,0x94,0x76,0x40,0xa9,0x7f,0x41,0xf6,0x8e,0xdf,0xea,0xdd,0x21,0x6e,0xd8,0x69,0x8e,0x2e,0x43,0xc8,0x20,0xc9,0x04,0x4c,0xaa,0x7a,0xda,0xab,0x5b,0x76,0x76,0x2b,0x68,0x18,0x31,0xa9,0xf7,0x60,0x47,0x6a,0x84,0x43,0xc4,0x3c,0x06,},"\x1f\xd9\xe7\x45\x3e\xaf\xfd\x7c\x9b\x54\x05\x56\x22\xdd\xe1\x70\xdd\x58\xb7\x1c\xb9\x45\xde\x75\x35\x1d\x5f\xce\xb1\xf5\x36\xbd\xe2\x51\x58\xf0\x37\x86\x15\x5f\x95\x3d\xc2\x07\xa1\x70\x8f\x90\xd9\x5b\x15\xac\xa0\xae\xe3\x09\x7f\xdc\xaa\xe8\x5e\x4a\xb1\xc2\xcd\xb7\x05\xc5\x3e\x6c\x2e\xd2\x1a\x99\x4b\x30\x4a\x75\xca\xf2\xce\x4f\xc7\xd6\x1f\x56\x1e\x74\xe2\x97\x39\x7e\x2c\xde\x5c\xc6\x90\x56\x94\x03\x43\xaa\x81\x37\x5d\x0a\xf1\x8d\x17\xd2\xf3\x4c\x0a\x71\xdc\xf1\xde\x3c\x4f\xc4\x88\xa1\x4c\x5f\xa6\xb3\x33\x7a\x31\x74\xb1\xda\x79\x58\xfb\x00\xbd\x59\x55\x14\x82\x21\x42\x7c\x60\xdb\xa0\x41\x17\xc8\x0d\x24\x88\x65\x6d\xbd\x53\x43\xde\x89\x12\x87\xb5\x0e\xf4\xdf\x98\x25\xed\xa7\x6b\x49\x77\xf3\xac\xd4\xab\x6d\x31\x02\xfa\x56\x87\x83\x06\xcd\x76\x56\x14\x91\xbc\xfd\xaa\x1d\xa5\x67\xe6\x77\xf7\xf0\x3b\xae\x5d\xbf\x44\x26\xc3\xc4\xa6\xc3\xd0\x82\xf9\x17\x8b\x2e\xfd\xd2\xbd\x49\xee\xe9\x7e\xf4\xdc\xf3\xf0\xf5\x1b\xbd\xef\xfe\x5a\xe6\x60\x1e\x28\x01\x95\x18\xf8\x27\xf0\x2e\x51\xf6\x67\x9b\x87\x15\x97\x8b\xec\x3e\x69\xd5\x77\x15\x6d\xd7\x19\x95\x93\x71\xba\xf0\x34\x21\x9f\xbb\xd1\x7a\x23\x69\xa8\x54\x14\x90\xf6\xa0\x20\x13\xe3\x3e\x74\xf4\x76\x9b\xe3\x7a\xef\xa4\xde\xfb\x6b\xfb\x3f\x35\x1c\x2a\x26\x14\x82\xc2\xfb\xec\x49\xf8\x5f\x84\x45\x45\x6e\x8f\x5a\x47\x40\x30\xcd\x72\xd0\x95\xef\x6a\x62\x20\x30\xe1\xe4\x3a\x0c\x5d\xeb\xb0\x34\x73\x1d\x2f\x5e\x8e\x4b\xa3\x99\x0f\x07\x7d\x0c\x16\x26\x49\xd1\xfa\x3e\xa4\xfe\x1e\x81\xd7\x4a\xa8\x49\xe2\x1b\x05\x9d\x96\x6c\xba\xd4\xc4\x93\xca\x10\xba\xfe\x7a\x69\x24\x3e\x3c\x0a\x6e\xbf\xd1\x3d\x69\x79\x06\x30\x33\x92\xba\x65\xd4\xfe\x06\xb6\xa5"}, -{{0x87,0x7d,0x01,0x74,0x36,0x36,0x9e,0xc2,0x45,0x3f,0xed,0x46,0xe9,0x77,0xd6,0xac,0xc3,0xa7,0xbe,0x60,0xd3,0x13,0x95,0xad,0x6e,0x7e,0xa9,0xe0,0x74,0x80,0xe4,0xc9,},{0x4e,0x65,0x42,0x2f,0xed,0x33,0x4a,0x55,0xe8,0xb6,0x73,0x89,0x3e,0xba,0x7c,0x18,0x1d,0xd7,0x24,0xdd,0xa0,0x02,0x81,0x7b,0x0b,0xae,0x28,0xac,0xdc,0x3f,0x7f,0xc0,},{0x76,0x88,0xf3,0xf2,0x40,0x1e,0xac,0xaf,0x2d,0xd8,0x8e,0x17,0x0f,0xf1,0xc4,0xd7,0xe9,0x48,0x22,0xa7,0x7f,0x6b,0x55,0x0b,0x56,0x9e,0x82,0x15,0x2b,0xbb,0xb4,0x34,0x05,0x7e,0x01,0x23,0x0b,0x05,0xce,0x58,0xee,0x1d,0xee,0x52,0x26,0xb5,0xc7,0xcd,0xbe,0x5a,0x8a,0xde,0x3b,0x94,0x65,0xf5,0x9a,0xed,0x74,0x14,0x5d,0x14,0x33,0x0c,},"\x4e\xd3\xf5\xbd\xbd\x41\xd0\xe3\xb0\xa8\xa7\xfc\x37\x52\xee\xa4\x96\xd6\x14\x16\x78\xcb\xfe\x06\x75\x7f\x61\xe1\xa1\x68\xd7\x61\xb6\xda\x83\x05\x2f\x79\x94\x95\x0d\x24\x62\x6f\x00\x4f\xbe\x9b\x8c\x95\x62\xe0\xc9\x55\xfb\x3b\x5c\x08\xfd\x2d\x3d\x25\x83\x93\xa3\x49\x03\x0c\x8e\x15\x62\x05\xb4\x04\x83\x03\x8b\xe1\x95\x9f\x1c\xba\x49\x0a\x87\xfe\x13\x89\x9e\x4f\x37\x52\x06\x3b\x68\xfe\x3e\x1c\x50\x71\xf7\xdb\x00\x02\xf0\x14\x94\xb4\xa3\xee\x2e\x07\x99\x2b\xdd\x20\x0d\xb4\x31\x66\x29\xee\x8a\x95\xca\x34\x7f\x0b\x28\xd6\x40\x2a\x6d\xa8\xb5\x3e\x6b\x32\x58\x1c\x36\x91\xe1\x1a\xe9\xb6\xe0\xf0\x49\x48\x94\xe6\x49\xa9\x2d\x03\xeb\x49\xc4\xd6\x83\x3f\xa1\xf5\x4f\x8d\xcd\x91\xd0\x69\x36\xa6\xe6\x2d\x49\x1e\x2c\xea\x46\xdd\x07\xd9\xf0\x2d\x32\x54\xb8\x50\xbc\x97\x49\xf2\x58\xa6\x1a\xd3\xb9\xcc\x24\xb0\x32\x87\x33\x1b\x85\xa2\x41\x43\xaa\xf8\xfc\xcc\xac\x5f\x18\xbf\xc7\x2d\xec\x75\xc0\x23\x35\x16\xaa\x6e\x45\x89\xc7\x8c\x66\x5a\x18\x6e\xd9\x02\x09\x1d\xf9\x7b\x0d\x04\xe8\x3a\x2d\x74\xd7\x89\x89\x1a\xea\x2c\xac\xf8\x13\xff\xfb\x5e\xfa\xf7\x8d\xbc\xd7\xaf\x54\xef\x55\xc7\x7b\x1c\x4c\x8a\xce\x9e\x92\x78\xad\xc2\x3d\x76\xc7\x79\xd6\x4b\x3b\xbb\xd1\xfb\x33\xb0\x98\x36\xea\x64\xa7\x1e\x47\x11\xe8\x9e\x8d\xa0\xf7\x09\x21\x33\x42\x17\x6a\xe2\x2c\x6e\x78\x52\xc3\x97\x3b\x60\xd9\xf9\x88\x89\xb4\x42\xaa\x48\xd7\xbf\xdf\xde\xf6\x4c\x36\xc5\x86\xc4\xfb\x2a\xd2\xe2\x7e\xbe\x47\x9f\x6d\x72\x2f\x06\x9f\xd6\x10\x6b\x0d\x08\x97\x5d\x5f\x72\x15\x47\xc3\xb9\xc5\x2f\x9f\xc5\xf4\x5b\xb4\x5b\x5b\x63\x21\x88\xe8\x06\x26\x51\x8a\x79\x05\x6b\xdc\x4e\xe1\xd2\xbe\x6c\x65\x42\xa2\x1f\xad\xea\x92\xc6\xdf\xb7\x76"}, -{{0x4f,0x0b,0x36,0x07,0xd7,0x0b,0x0f,0x26,0x98,0x32,0x7e,0xf4,0xf1,0x98,0x2c,0x5b,0x4b,0x94,0xbe,0x78,0xf5,0x0c,0x76,0xf4,0x3b,0xd6,0x42,0xf1,0xf0,0xed,0xe3,0x9b,},{0x94,0x2b,0x43,0x08,0x9f,0xd0,0x31,0xce,0xc0,0xf9,0x9e,0x5e,0x55,0x0d,0x65,0x30,0x7f,0xb6,0xc3,0xe7,0x93,0x44,0x9f,0xb3,0x90,0xff,0x73,0x0f,0xff,0xd7,0xc7,0x4b,},{0xf3,0x96,0xa1,0x1f,0x2f,0x03,0xc6,0x14,0x39,0x68,0x4f,0x79,0x00,0x1b,0xd4,0xf3,0x46,0xa3,0x48,0xdc,0xf1,0xd3,0xbe,0xb2,0xd3,0xbf,0xe3,0x3e,0xa7,0x3a,0x5a,0xd4,0xeb,0x97,0x50,0x6a,0xcf,0xbf,0xfb,0x78,0x4e,0x77,0x54,0x81,0x89,0xcd,0x59,0x9f,0x8c,0xcf,0x17,0x35,0x5d,0xde,0x80,0xe7,0x50,0x24,0xef,0x2a,0x78,0xd5,0xfa,0x03,},"\x9f\x70\x0a\x1d\x25\x60\xf6\x9d\x9b\xc1\x05\xbc\x83\xbf\xf5\x39\xe4\x25\x8c\x02\x48\x60\x20\x13\xa9\x59\xb9\x78\xa1\x9c\xc2\x73\x28\x0d\x90\xc0\x17\x80\x89\x57\x8b\x50\x51\x8e\x06\xad\x1e\xab\x79\x0f\xfe\x71\x0c\x63\xd7\x88\x87\xa9\x55\x69\x14\x4f\x3e\x58\xa8\x83\x7f\x93\xdd\x51\x6f\xcd\xdd\x22\xbc\x97\xa7\xf1\x44\x11\xd4\x24\xb2\xe8\xe9\xaa\x7c\x28\x01\x19\xad\x94\xce\x92\x53\x3f\xc7\xfe\xa6\xc6\x62\x48\x64\x4a\xc3\xe1\xbe\xef\x25\x53\xa6\xf6\x1e\x91\xb9\x37\x9b\x0f\xe0\xc6\x8b\x40\x68\x14\x55\xb3\x11\xf4\x0d\xf0\xc9\x7f\x53\xfc\x95\x42\x42\xc3\x75\xe7\x70\x8d\x61\xba\xd9\xf5\x12\x96\x24\x72\x74\xfa\x01\xa7\x32\x8f\xa5\x00\x9d\x99\x95\xf5\x01\xae\x86\x83\x55\x2b\x11\xa4\x9d\x26\x38\x11\x67\x23\xb1\x31\x94\x50\xa9\x01\x38\xd2\x78\xcd\x95\x12\xb8\x0c\xa5\x79\x2e\xd1\x6c\x68\x3b\xef\x92\xec\x87\x88\x4c\x9f\x07\xf1\x37\xdc\x47\xa1\x31\x46\xe5\x11\x06\x5c\x2e\x1b\x4b\x80\xef\xde\x88\xae\x12\xe2\x94\x31\xbe\xb7\xae\xe3\x65\xc1\x6d\x80\x50\x6b\x99\xaf\xa6\xa1\x40\x6e\xdb\x06\x17\x66\x87\x58\x32\xdb\xa4\x73\xe5\x19\xdd\x70\x18\xf4\x02\xeb\x1b\xb3\x01\x4b\x7c\xee\x4f\x02\xe9\x80\xb1\xb1\x71\x27\xe7\xd2\x5d\xfe\x0c\x16\x8c\x53\x44\xf1\xc9\x00\x44\xf8\x27\x70\x7d\xca\x03\x07\x0e\x4c\x43\xcc\x46\x00\x47\xff\x62\x87\x0f\x07\x5f\x34\x59\x18\x16\xe4\xd0\x7e\xe3\x02\xe7\xb2\xc2\xca\x92\x55\xa3\x5e\x8a\xde\xc0\x35\x30\xe8\x6a\x13\xb1\xbd\xfa\x14\x98\x81\x30\x98\xf9\xba\x59\xf8\x18\x7a\xbc\xaf\xe2\x1b\xa0\x9d\x7c\x4a\xaa\x1a\xd1\x0a\x2f\x28\x33\x4a\xb5\x39\x96\x14\x7c\x24\x59\xc0\x1b\x6a\x10\x83\x9e\x03\x01\x12\x3d\x91\xa3\x5c\xed\x7a\xf8\x9a\xfb\xac\x7d\x9c\xf8\xac\x9a\x38\xce\xeb\xef\x83"}, -{{0xb8,0xa0,0x01,0x0c,0x78,0x4d,0x8d,0x00,0x2a,0x31,0xda,0x11,0xd0,0x22,0xd3,0x01,0x88,0xa4,0x19,0x7a,0x1d,0x5f,0x14,0xea,0x4c,0x0d,0xab,0x29,0xa2,0xe4,0x06,0x68,},{0x8b,0xdc,0x63,0xe5,0x0b,0xed,0xe1,0x3c,0x91,0xa4,0x1e,0x4b,0x4b,0x78,0x57,0xb9,0xe5,0x53,0xf4,0x84,0xe3,0xc1,0xec,0x16,0x7d,0xc0,0x4c,0x28,0x1e,0xa8,0x66,0x22,},{0xb3,0xf6,0xcf,0x4c,0x0e,0x0f,0x90,0x74,0xff,0x2c,0x2c,0x47,0xe1,0x63,0x20,0x2f,0x1e,0x9d,0x6e,0xe1,0x17,0xcf,0x75,0x76,0x33,0xe4,0xab,0xe7,0x44,0x23,0xaa,0x70,0x00,0x8a,0xda,0x15,0x09,0xec,0x1d,0xc1,0x17,0xc1,0xc2,0x30,0xe9,0xb2,0x37,0x86,0xf3,0xd0,0xf2,0x9b,0x73,0xaa,0x28,0x45,0x36,0xe9,0x58,0x01,0x06,0xa8,0xa7,0x0c,},"\x5c\x6c\xcb\x29\x8b\xe2\x16\x80\x8b\x81\x1e\x56\xd9\x72\xf4\x56\xb6\x9a\xd3\x95\x94\xee\xe3\x54\x70\x1c\xa6\xb3\xe3\x8d\x1f\x41\xa3\x59\xe5\x51\x2a\xf9\x8a\x3a\x08\x73\x26\x5f\xe5\x19\x1f\x4f\x2e\xca\xf6\x6b\xee\x75\xa3\xac\x0b\x71\xa4\xdd\xf2\xa7\x59\xeb\xdd\xdb\xd8\x8a\x6a\x1c\x6f\xd0\xfc\xf7\xd7\xcb\x92\xa8\x4e\x33\x07\xb4\xa4\xf9\x8c\x71\x0a\xbf\x4f\x55\x3d\xee\x74\xf6\x52\xd2\xac\x64\xbc\x30\xf7\x2b\xf4\x35\x4e\xf7\xe8\x06\xa1\x90\x71\xa0\x51\xbc\xfc\xfb\x27\xe3\x7f\xdd\xd4\x1e\xce\xae\xc1\x75\x8e\x94\x69\x5c\x67\x0e\xf4\xc5\xa5\x90\x21\x78\x32\x9d\xb9\x58\x5c\x65\xef\x0f\xa3\xcd\x62\x44\x9b\xb2\x0b\x1f\x13\xae\xcf\xdd\x1c\x6c\xf7\x8c\x51\xf5\x68\xce\x9f\xb8\x52\x59\xaa\xd0\x5b\x38\xc6\xb4\x85\xf6\xb8\x60\x76\x92\x8d\xdb\x4e\x20\x36\xf4\x5e\x7b\x9c\x6a\x7f\xf2\x4a\xe1\x77\x60\x30\xe2\x57\x68\x25\x01\x9a\xb4\x63\xeb\xf7\x10\x3a\x33\x07\x20\x33\xea\xcb\xb5\xb5\x03\xf5\x32\x66\xaf\xb8\x2f\x9b\x24\x54\xb8\xdc\x05\x7d\x84\xf3\x0d\x9d\x2c\xb7\xc3\xa3\x1a\x7d\xbd\xfb\xa5\xb8\xe4\x92\x31\xc2\x31\x39\x6c\x47\xca\x04\x2c\x8e\x48\xa1\xa5\xe3\xec\x9a\xfe\x40\x20\x59\x53\x90\xf9\x99\x0d\xfb\x87\x4e\x08\x25\xae\x9a\xe5\xe7\x52\xaf\x63\xaf\x6f\xd3\xe7\x87\xe7\x5e\x8d\x8d\xc4\xc6\x63\x02\x27\x7a\xc0\x1b\x30\xa1\x8a\x56\xcb\x82\xc8\xa7\xeb\xdc\x91\x5b\x71\x53\x25\x5a\x1f\xed\xc4\x92\xe4\x96\x60\x26\x2b\xb2\x49\x78\x0d\x17\x3e\x1f\xd2\x0d\x18\xc4\xf6\xb0\xb6\x9a\xa2\xec\xa0\x24\xbf\x3c\x80\xd7\xd5\x96\x2c\xc4\xa1\x29\xa7\x94\x3b\x27\xf3\x3c\xc7\x99\xa3\x60\x45\x54\x12\x75\xa2\xcd\xb9\x2a\x40\xe4\x85\xba\x8b\x73\x7a\x04\xb4\x3d\x29\xc3\xe2\x5f\x76\xcb\x3d\x93\xa6\xb9\x44\x61\xf8\x8f\x56\x96"}, -{{0xef,0xc8,0x6c,0xbe,0x40,0x36,0x3a,0xbf,0xbb,0x2a,0x4b,0x1f,0xcc,0xe5,0xfd,0x60,0x84,0xda,0x96,0xe7,0xe8,0x14,0xde,0x71,0xaa,0xdf,0x9a,0x61,0x8f,0x30,0x36,0x25,},{0x22,0xf2,0x95,0xce,0xe7,0x27,0xd2,0x8d,0x2b,0x93,0x17,0x15,0x3e,0x7d,0x94,0x12,0xda,0x10,0x65,0xc1,0xb1,0x6a,0xe2,0xa2,0x51,0xdd,0x1f,0xb4,0x31,0xc6,0x2b,0x01,},{0xf8,0x81,0x83,0x10,0x22,0x8c,0xa7,0x61,0x11,0x52,0x4c,0xe9,0x4b,0xfc,0xb0,0x24,0x6e,0xa6,0x35,0x08,0xce,0xe9,0x30,0x65,0x92,0xb2,0xf7,0x75,0x48,0xed,0xef,0xcf,0x76,0xbd,0x14,0x54,0x50,0x8e,0xa7,0x15,0x04,0x2c,0xec,0x16,0x9c,0xea,0x51,0x15,0xab,0x54,0x23,0x5c,0xb1,0x09,0x7b,0x10,0x70,0x2a,0xa3,0x83,0x78,0x02,0x8e,0x0c,},"\x9e\x4f\xa4\x5d\xc0\x26\x71\x0f\x6b\xef\x4e\xd0\xf0\x7c\x54\x4b\x0b\xb0\xd8\x8f\xa7\x9e\x71\x77\xd8\x44\x8b\xc2\x09\xd7\x1c\xfe\x97\x43\xc1\x0a\xf0\xc9\x93\x7d\x72\xe1\x81\x9e\x5b\x53\x1d\x66\x1c\x58\xc6\x31\x41\xce\x86\x62\xc8\x83\x9e\x66\x4d\xb7\x9e\x16\xc5\x4d\x11\x3a\xbb\x02\xa7\x5b\xdf\x11\xb3\x45\x3d\x07\x18\x25\xbc\x41\x57\x41\xe9\x94\x83\x54\x6b\x8e\x1e\x68\x19\xde\x53\x01\x70\x92\xe4\xef\x87\x1f\x1c\xa0\xd3\x50\x8f\x93\x78\x28\xa4\x66\x7d\xb1\x1f\xff\xf9\x41\x6e\xeb\xb9\x4b\xf9\xb8\x4d\x65\x46\x03\x09\x48\x34\xa9\x9c\xa7\x0b\x90\xf5\x62\xa8\x68\x23\x62\x4d\xfe\x9c\xb2\xf9\xe8\x8c\x17\x3f\x13\x46\x4d\x4c\xe2\x55\xf2\x22\xdb\x50\xdd\x63\xab\x42\x46\x57\x34\xe7\x52\x95\xc0\x64\xb6\x4c\xc3\xf1\x5e\x62\x37\xe3\x7f\x33\xd6\x15\xf7\xc2\x43\xe4\xba\x30\x89\x60\xcf\xd4\x39\x34\x02\x52\x55\x00\xbb\x79\x02\x97\x0b\x39\x31\xd4\x8b\x35\x66\x6a\x2d\x4d\x2a\xb0\x8f\xa1\x2a\xf3\x66\xa0\x04\x34\x6c\x9d\xd9\x3d\x39\xfb\x1b\x73\x40\xf1\x04\xe5\x1f\xed\xbb\x53\x36\x05\xb5\xff\x39\xcf\x6d\x59\x51\x3f\x12\x85\x6d\xcf\xa1\x98\xd7\x93\xb0\xfc\x87\x5c\xde\xa0\x74\x1f\x14\x55\x74\x6d\x8a\x19\xc3\xe9\xd9\x28\xf0\x02\x1b\x01\xc2\x51\x31\x81\x1e\x48\xc3\xc7\x5c\x6f\x41\x42\x2a\x88\x10\xc6\xc8\x1f\x35\xb4\x54\xee\xae\x8c\xd1\x7c\xf3\xf2\xe6\xf0\xbc\xd9\xf2\x90\x98\x4f\x49\x65\x78\x62\x3a\xb8\xe2\x73\x8d\x2d\x10\x84\x0e\xb9\x1d\x10\x1c\xb4\xa2\x37\x22\xb7\x2e\x3d\xd1\x85\x44\x0c\x3b\x9f\x44\xd4\x6a\x39\x3a\x34\xc1\x87\xa2\x0d\x61\x0b\xb6\x98\xc5\x05\x31\x74\x1e\xfe\x96\x32\x35\x12\x32\x98\x00\x77\x2a\x40\x80\x65\xa7\xef\x8e\x4e\x41\x05\xeb\x1f\x5b\xf6\xd3\xfd\x6b\x21\x7f\xd8\x36\xd8\x9f\x53\xb9\x6f\x45"}, -{{0x33,0x55,0x6c,0x60,0xde,0x2f,0x2c,0x9a,0x93,0x03,0xb9,0x9a,0xdd,0x37,0x85,0x92,0x06,0x05,0x05,0xf8,0xe4,0x98,0x61,0x08,0x5a,0x4b,0x15,0xf0,0x72,0xa7,0xef,0x28,},{0x23,0x1e,0xc8,0xcd,0x84,0x58,0x59,0xf6,0x99,0x61,0x27,0x51,0x19,0xdb,0xe4,0xf7,0x15,0xe5,0xec,0x5a,0xa9,0x8b,0xb8,0x74,0x16,0x75,0xb3,0xc2,0xd0,0xc8,0x9f,0xee,},{0xe0,0x6a,0x7a,0x41,0x44,0x57,0xbb,0xbe,0xf2,0xba,0xc3,0x77,0x5c,0xca,0xd0,0x87,0xda,0xcb,0x1f,0xa4,0xbf,0x93,0x88,0x94,0xe8,0xc9,0x29,0x11,0x8e,0x09,0xe6,0x78,0xdd,0x19,0x93,0x8b,0xc8,0x8f,0x43,0xed,0x0f,0x7d,0x31,0xcc,0x6a,0x0e,0x60,0x2c,0x4e,0x4d,0x1f,0xee,0x33,0xd4,0x1e,0x74,0xa1,0x19,0xfa,0x2d,0x1e,0x4e,0x34,0x0f,},"\x96\xaf\x54\x0e\xa2\xb1\x92\x3f\x5f\xd0\xaa\xd3\x21\xac\x03\x20\x70\xc2\xd6\x5b\xa1\x3d\x16\x4e\x75\xc3\x46\x97\x58\xfc\xf3\x1b\xb3\x16\x55\xcb\x3a\x72\x1f\x9c\xb3\x4b\xe2\xc9\x0c\x77\xeb\x65\xbe\x37\xf6\x06\xd3\x2a\x91\x7a\x4c\xb9\xa7\x09\xac\x07\x05\x22\x99\x30\xef\x6e\xb6\xfd\xb0\xfa\x3c\x0f\xd3\xa9\x0c\xe1\x71\x67\x4e\xe3\xed\x06\x35\x4b\xaf\xc3\xc7\x07\x54\x67\xa5\x74\x45\xb8\x03\x85\x64\x04\x47\x90\x2b\xe3\x92\x62\x89\x4b\x1f\x64\xfe\xa5\x82\x87\xdc\x32\x2d\x19\x87\x59\x72\xa7\xc8\xbe\x91\xd3\x1f\x02\x1c\x70\xeb\x68\x2f\xdf\x11\xa1\x0f\x8f\x58\x2a\x12\x6e\x06\x47\x94\x83\x8c\x69\xfd\xf6\x4f\x5b\x6e\x8b\xa5\x9d\x48\xb4\x38\x4f\x8e\x9f\xb5\xc0\x87\xcc\x77\x38\x29\x5c\xd3\x23\x44\xba\x3b\x69\x7e\xe6\xb6\xa8\xb7\x8e\xe7\xa9\x57\x5c\x97\x97\x2a\x4d\x1b\xb1\x84\x86\xf9\x03\x7a\x0f\x3c\x6f\x47\x1a\x90\xf8\x64\x98\xdb\xc0\xdf\x52\x32\xc0\x7e\x8c\x01\xb6\x90\xbe\xe7\x53\x02\x99\x2a\x7a\x36\xfb\x44\x37\xc2\x5a\x8b\xf5\xe3\x4c\xf7\xd5\xb5\x55\x72\xc7\x00\xa0\x79\x84\x8d\x38\x13\x64\xf9\x94\x6a\x91\xeb\x16\x03\xff\x3d\xe5\xeb\xdd\x52\x3b\xd9\x25\x64\x81\x8e\x23\x7a\x53\xe8\xf5\x22\xde\xaa\x2c\x29\xb8\x97\xe9\x61\x58\x6e\x10\x0e\xd0\xfc\x0a\xd7\x0d\x16\x09\x34\xe6\x94\x02\x7e\x5c\x95\x79\x20\xbc\x05\x46\xe9\x01\xbe\x39\xa8\x45\x35\x59\x7e\x1f\x28\x0c\x22\x22\x67\xab\xe9\x7f\x41\x20\x5d\x81\x71\x82\x0d\xd2\xfa\xaf\xc0\x69\x94\x19\x32\x1a\x91\x60\xf6\x9b\x99\xfd\x41\x18\x09\x45\xb6\x2d\x2d\xd1\x05\xcc\x7b\xbe\x82\x1d\x28\x60\x5e\x09\x8e\xdf\xa8\xb2\x30\x9a\xeb\x05\x34\xe7\x56\x37\x7f\x59\x93\x7c\x67\x46\x3f\xd8\x7c\x8b\x92\xab\x58\x11\x9c\xf4\xce\x6c\x66\x5a\xf5\x72\xfb\xae\x1d\xe4\xa2\xcc\x71"}, -{{0x7a,0x5c,0x74,0x31,0x4e,0x11,0x83,0x33,0x4a,0x4b,0x62,0x26,0xb9,0xa8,0x2d,0x70,0xfc,0x2a,0x12,0x4e,0x3f,0x87,0xdb,0x6a,0x22,0x83,0xee,0x05,0xb6,0x8e,0x34,0xe0,},{0xbe,0xae,0x7d,0x3d,0xd9,0x7c,0x67,0xf6,0x27,0x3b,0xfa,0xa0,0x66,0x13,0x1f,0xed,0x8a,0xce,0x7f,0x53,0x5f,0xe6,0x46,0x4e,0x65,0x79,0x1c,0x7e,0x53,0x98,0x57,0x6c,},{0xc2,0xab,0x1f,0x6f,0x51,0x14,0xa8,0x4f,0x21,0x85,0x02,0x58,0x2c,0x56,0x7b,0x37,0xa8,0xbd,0xbc,0xdf,0x63,0x40,0xfa,0x46,0x22,0x87,0x3b,0xe8,0x91,0x06,0xf0,0xa9,0x0b,0x48,0x29,0x50,0x5f,0x72,0x12,0x9d,0xf0,0xab,0x3d,0x85,0x13,0x26,0x87,0x74,0xa3,0x4d,0xf3,0xad,0x21,0xce,0x25,0x4b,0x46,0x44,0x88,0xad,0xdd,0x6c,0x9b,0x04,},"\x98\xba\xc6\x72\x47\x55\x91\x29\x92\xad\xc2\xa4\x8b\x54\x42\x37\x6f\x2d\x92\x79\x97\xa0\x40\xfb\x98\xef\xe5\x44\xeb\x0c\x8e\x18\x66\xb9\x61\x6e\x29\x8d\x33\x60\x31\x6e\xd9\x76\xbd\x94\x6a\x41\x1f\xdd\x3a\x6b\x62\x5c\x0c\x1a\x37\xaf\x0f\x41\xcf\x65\x69\xa7\x88\x4a\xb8\x46\x74\x91\xa9\x87\xdf\x3e\xa7\xa0\xb7\xeb\xc4\x69\x25\x69\xa3\x4c\xe3\xa2\xea\x35\x03\x49\x5b\x2c\x02\xd4\x9d\x7d\x7d\xb5\x79\xd1\x3a\x82\xcf\x0c\xf7\xa9\x54\x7a\x6e\xae\xbe\x68\xe7\x26\x7d\x45\xa6\x0b\x8d\x47\x72\x45\x52\x28\xcc\xa4\x03\x6e\x28\x2e\x1a\x12\x16\xf3\x4c\xef\x7e\xa6\x8f\x93\x82\x70\xbd\xb0\x42\x93\xc8\x85\xd0\x05\xf9\xf7\xe6\x38\xa8\xb4\xea\xd2\x62\x6c\x09\x45\x17\x4f\xf2\xa3\xe2\xd6\xe1\x5a\x4c\x03\x38\xc0\x9e\x12\x60\xf0\x92\x8c\xa9\xd3\x49\x98\x24\xf3\xfe\xdc\x47\x85\xda\x49\xc5\xc3\x4a\x56\x85\x5e\x24\x1f\xac\xc6\x34\x7a\x39\x9d\xdc\xac\x43\x99\xa8\xb1\x58\x19\x8c\x15\x14\x61\xa3\xb1\x89\xe5\x8e\xc1\xf7\xef\xcf\x2a\xb2\x03\x1f\xb1\x7b\x6f\x03\x5b\xa1\xf0\x92\xe9\xee\xe2\xe9\x2c\x2d\x6c\xc2\x03\x22\x87\xf8\x54\xb4\x1e\x70\xfc\x61\xc8\xd1\x1a\x2e\x4f\x07\x08\xf0\x2e\xeb\xd0\x2e\x8c\x7e\x8c\x7b\x38\xa5\x7b\xfa\x1a\x74\x5f\x3a\x86\xc2\x39\x09\xf6\xf8\x9a\xb1\x6c\xe7\xe1\x81\x3c\x1d\x20\x14\x7f\x31\xb4\xcf\x2a\xd0\xb6\x06\xfb\x17\xe5\xac\x1a\xb5\x1e\xf4\xa7\xd8\x09\x3c\xee\x9a\x65\x5f\x47\x1d\xc5\xb1\x46\xbd\x1b\x93\xe5\x40\xa3\xd3\xd3\xe2\xde\x81\x05\x91\x1c\x10\xd6\xab\x5f\xf7\x9c\x2d\x06\x02\x7f\x7a\x54\x56\x1f\x20\x71\x41\x4b\xd3\x30\xa8\x78\x54\x42\x25\x1c\x81\x0e\x23\x2f\x83\xc3\x67\xf0\xbe\x77\x99\xa9\x3f\x52\x38\xf7\xf1\x7b\x5b\xe8\x29\xfd\x89\x12\x3c\x04\x83\x3a\xf8\xb7\x7e\x5a\x43\x63\x04\x7c\xec\xa7"}, -{{0xda,0x80,0x06,0xad,0xc4,0x92,0xca,0x5d,0xc8,0x6c,0x29,0x59,0x43,0x7a,0x75,0xde,0xb6,0x12,0x0f,0xf7,0x87,0xd2,0xec,0xb9,0xc2,0x0c,0x30,0xb5,0x2c,0x26,0xbc,0x41,},{0xff,0x11,0x3b,0xf0,0xaa,0x58,0xd5,0x46,0xf2,0x38,0x5d,0x44,0x4e,0xcb,0x78,0x88,0xf8,0xca,0xba,0x43,0xa1,0x74,0xa8,0x9f,0xd6,0x06,0x5f,0x2b,0x7d,0xc1,0x7b,0xf0,},{0x1f,0x53,0x75,0xdc,0xb3,0xad,0x2b,0xaa,0xff,0x95,0x6d,0x85,0x54,0xec,0xb4,0x24,0x17,0x6b,0xe9,0xa6,0xeb,0x9e,0xa5,0x4e,0x81,0x4e,0x0a,0x73,0xdf,0x2a,0x5d,0x84,0x8a,0xda,0x26,0xba,0x8e,0x18,0x05,0xcd,0x51,0xc5,0xe1,0x69,0x50,0xc1,0xff,0x7d,0x4d,0x27,0x64,0xda,0xa6,0xf4,0xc7,0x50,0x2f,0xb8,0x65,0xcb,0xe5,0x5a,0xaf,0x0b,},"\x3e\xb4\x32\x4d\xbc\x01\x49\xd2\xe7\xd6\xdf\x63\x2b\xb0\xcb\xe9\xa9\xf6\xdf\xa8\x3e\x22\x7f\xc0\x7b\xde\x1b\x57\x7b\x36\x11\xfb\x92\x1c\x9f\x83\x13\xf0\x68\xe6\x29\x5d\x49\x13\xa8\x19\x6b\xe5\x30\xf6\xa0\x1f\x57\xc0\x9c\x02\x84\x91\x44\x4b\x78\x47\x20\xe9\x09\xea\x1f\xb6\x9c\x1c\x1d\xd6\x30\x44\x00\x32\x7b\x77\x31\xb3\x3c\xc4\x6d\xeb\x04\x6c\xda\xb6\xad\x1b\x53\xf1\x74\x9a\x0c\x65\xcb\x9a\x7e\x37\x6f\xfa\x02\x23\x0f\x53\x65\x84\xae\xa2\x43\xc6\x39\x10\x3a\xdb\xba\x76\x43\x21\x64\x9d\x7e\x01\x26\xf8\x2e\x0b\x4f\xd9\xdc\xb8\x6c\x73\x1c\xbc\xc5\x17\xf2\x01\x68\x41\xe9\x16\xbc\xd5\xfd\xe8\x71\xdc\x09\x8c\xd9\x13\xdc\x54\x62\x84\xd1\xb2\x16\x5c\x63\xe8\x8f\x32\xa2\x78\x9a\x50\x08\x56\x37\x1b\x50\xd2\x2f\xb8\xc8\x7d\x1a\x3c\xae\xdc\xdf\xd0\x1e\xe5\xf8\x70\xa5\x3c\x28\x41\x81\xd6\x32\xec\x66\xd4\x8b\x6b\xdd\x56\x46\xac\x39\xc9\xe7\x53\x38\xa5\x20\x21\x20\x62\xbc\x34\x66\xef\x5c\x58\x76\x55\x70\xb9\x05\xf6\x3a\x93\xd0\x7f\x8f\x1b\xaa\xc3\x52\x6b\x01\x6d\xa7\x99\xf3\xe9\xe0\x3a\x4f\x7f\x81\x35\x5e\x0f\x7a\x76\xf3\x0a\x42\xb8\x07\x32\x20\x51\xb7\x1c\x62\x6a\x7a\x29\x6d\x75\xb9\xd9\xd1\xa2\x3b\xcb\x13\xc9\xef\x48\xa9\x12\xdc\x05\x73\x25\xd3\xbc\xfb\x3f\x9f\xad\xaf\x0c\x24\x9b\x10\x2a\xeb\x85\x4a\xa3\x63\x1e\x34\xf6\x9a\xd9\x0c\x2a\xb2\xed\x33\xba\xcc\x40\xb9\xed\x10\x37\xfa\xe6\x7c\xdf\x79\x9d\x5a\x9b\x43\x78\x59\x61\x12\x7d\x62\xf8\xe0\xbc\x15\x89\xfd\x1a\x06\xfc\xa2\xae\xa7\xcf\xc0\x12\xcb\xf7\xb5\xb2\x07\xdd\xc4\xe6\x77\xd8\xae\x4a\xec\x10\x00\x45\xce\x36\xc0\x0b\x74\xd1\xd2\x82\x50\x79\x12\x36\xdc\x5d\xcc\x1e\xd3\x13\xc8\xc2\x46\x17\x26\x66\xf7\x52\x17\x43\x7c\x60\x34\xac\xd6\x41\x98\xcd\x96\xdf\x2a"}, -{{0xa2,0x84,0xe2,0x6b,0x97,0xe5,0x38,0x83,0x9c,0x80,0x8d,0x45,0xbd,0xe6,0xf0,0x12,0xa3,0x54,0x45,0x4a,0xef,0x81,0xca,0xa8,0xc5,0x59,0x14,0x62,0x4f,0x2b,0x7d,0x66,},{0x5a,0xe4,0x6e,0x34,0x69,0x5e,0xfa,0xf4,0x63,0xa4,0x20,0x8f,0xc4,0xe3,0x5b,0x81,0xf2,0xc6,0x35,0x93,0x23,0x8a,0x56,0xf2,0x44,0x4b,0x85,0x0f,0x05,0x8c,0x3c,0x5c,},{0xbf,0x11,0x0e,0x2e,0x9c,0xec,0xbc,0x31,0xfa,0x3e,0x0c,0x24,0x38,0xcd,0x1f,0x43,0x21,0xf9,0x2c,0xd2,0x87,0x00,0x5a,0x48,0x52,0x8a,0xdd,0xf7,0x6c,0xad,0x8d,0x88,0xbb,0x22,0x71,0x9e,0xf9,0x1b,0x13,0x95,0x62,0xa1,0x51,0x18,0x38,0x68,0x26,0x74,0xfa,0xa9,0xff,0x7e,0x7a,0xde,0x6c,0x9d,0x57,0x3f,0x84,0x50,0x36,0xd1,0x89,0x05,},"\x9e\xbf\xe9\x10\xb5\x0a\x5c\xb7\x19\xd9\x5b\x96\x1e\x59\x05\xf0\x0e\xc7\x94\x3b\x55\x46\x8a\xb5\x95\x66\x92\x01\x76\x45\xb3\x66\x07\x1f\x8f\xbb\x77\xeb\x49\xec\x73\xea\x7d\x64\x51\x14\x05\xb9\x0d\xe2\x2d\xb9\x8c\x3e\xae\x39\xc4\x03\x9c\x7a\x13\x34\x30\xe8\x01\x0b\xdd\x39\xa0\x0f\xd1\xa5\x28\xb1\x13\xda\xe1\x49\xcf\xad\x3a\xe3\x40\xda\x27\xdc\xc5\x07\x78\x2e\xcd\x89\x29\x23\x75\x17\xaf\xe7\x46\x3e\xca\x24\x73\xc7\xac\xf6\xf7\xaa\x04\xef\xc9\xf2\x66\xae\x7b\x6d\x63\xbb\x8c\xc2\xa4\x38\xb3\x44\x82\x7f\x07\x13\xd1\xf1\x73\x6f\x0c\xbb\x65\xb9\x93\x53\xf2\x03\x55\xfa\x02\x30\xd4\xfa\x70\x73\x28\xa8\x66\x26\x54\xe8\x3a\xd0\x53\x0a\x10\xf9\xa6\x9e\x17\xc0\x99\xe1\xe2\xb5\xdb\x18\xe5\xf6\xf1\xdc\xed\xa5\x88\x3e\x8c\xab\x79\x70\x1a\x5e\x90\x89\x56\x2e\xd1\x53\xad\x08\xc6\x74\xf0\x97\xc2\x8e\x4d\x16\x63\x3e\x09\x29\x69\xa8\xf0\xbd\xac\x54\x52\x7c\x0e\xe0\x3b\xc2\x00\xe5\xbe\x61\x2e\x3d\x1e\xab\xd8\x70\x91\x10\x1b\x49\x62\xaf\xa0\x7b\x31\x08\x06\x99\x2f\x37\x30\x76\xd7\x6a\x58\x18\x51\x18\x13\x7c\x9d\x26\xee\x2c\xd4\xc6\x18\xc1\x82\x83\xdd\x19\xf0\xe7\xa0\x89\xee\x37\x30\x5b\x6b\x95\x18\xa7\x8d\x80\x98\x43\x6e\xf6\x2b\xe7\xd6\x99\x80\x8a\xce\xcf\x67\x93\x9d\x61\xb3\xe0\x29\x37\xcd\x8c\x5f\x1e\x74\x6d\x42\x74\x33\x4b\xc9\xc3\x7f\xdc\xba\x23\x4c\x16\x6f\xd7\x12\x89\x3f\x3a\x04\x08\x32\xec\x54\x25\xe5\x7d\x80\xf1\x1e\xf9\xca\x5f\xbc\xd6\xc1\x47\xfb\xbf\x5e\x2f\xae\x74\x6e\x0d\xdb\x60\x58\x67\xe3\xbd\x05\x04\x83\xc3\xcd\x13\x29\xab\xe5\x7a\x60\xbf\x88\x89\x8d\xc7\xe8\x0e\xde\x0f\x45\x17\xde\x8f\xc8\x07\xe8\x88\xb6\x21\xa0\x0f\x66\x30\x84\xff\x94\xb9\x99\x96\x62\x8f\x3b\x11\x69\x0a\x60\xf0\x91\x8c\xb5\xc9\xa7\xef"}, -{{0xcc,0x97,0xa9,0x63,0x01,0xce,0xed,0x0f,0x92,0x27,0x31,0xb6,0x85,0xba,0xd8,0xad,0x4f,0x06,0x20,0x7b,0xe3,0x40,0xf5,0xa4,0x4f,0xd1,0x87,0xf2,0x99,0x03,0xec,0x20,},{0xeb,0x56,0x3a,0x7b,0xce,0x12,0xdb,0x97,0xf1,0x89,0x1d,0x0f,0x61,0x0b,0xeb,0xd5,0x51,0x01,0xa3,0x12,0x5c,0xa8,0xdb,0xb5,0x0b,0x25,0xa6,0xb5,0x05,0x0d,0x37,0x84,},{0xff,0xbd,0xd3,0x24,0x41,0x81,0xcd,0xf6,0x03,0x4f,0x4a,0x45,0x0f,0xdd,0x95,0xde,0xe4,0x97,0x1a,0x93,0x3f,0x8b,0xe0,0x22,0xbb,0x0a,0x41,0x06,0xae,0xf3,0x9a,0xf3,0x05,0x5b,0x72,0x18,0x81,0xc9,0xb5,0x4d,0x1e,0x99,0xb9,0x40,0x90,0x96,0xfb,0xe6,0xdc,0x2c,0x99,0x66,0xe3,0x67,0x99,0x64,0xbd,0x7e,0xf4,0xc8,0x08,0xca,0xbf,0x01,},"\xb9\xea\x3b\x3d\xf7\x18\x7e\xa4\x15\xa3\xc3\x35\xe0\x83\x4e\x10\xf4\x40\x91\x5b\x2a\xd4\x1c\x71\xf2\x55\xd6\x95\x0a\x4e\x91\x20\xe4\xd4\x94\xfd\x9e\x67\x2c\xe5\x32\x06\xfd\xc4\x17\xd8\x65\x89\x7b\x47\xac\x10\x54\xe1\xca\x10\x68\x19\x52\x32\xd4\x29\x74\x35\xe4\x4e\x12\x24\xe6\x6a\x91\x2d\x9d\x7d\x18\x29\x46\xff\x5a\x9f\x08\x5b\xb8\xba\x19\xc5\x4d\x16\xb5\x86\xa9\xb3\x04\x61\xb6\x77\x3b\x93\x95\x03\x11\xe1\x61\x98\x86\xf5\xa5\xb3\xf1\x11\xaa\xad\x09\x4b\xae\x31\xc4\x8f\x19\x41\x08\x09\x68\xbd\x02\x77\xbb\x6f\xa9\x2e\xeb\xf3\x24\xb1\x92\xdf\x5c\xc9\x69\x51\x6c\x78\xc7\xb2\xd1\x21\x59\xb4\xd1\xc8\xeb\x03\x16\x0c\x4c\xd1\x90\x7f\x62\xed\x4b\x85\x4c\x56\x9e\xcc\x48\x1c\x08\xe6\x36\xf4\x4e\xd7\xc3\x90\xe5\x8b\x59\x37\xd2\x90\x6b\x28\x17\xbc\x37\x69\xda\xd9\xda\x1b\x0f\x79\x39\x1b\x55\x94\x20\x63\x05\x5d\xa0\xd6\xf2\x49\xa3\xe4\x52\xba\xdd\xaa\x03\x29\x98\xd7\xf7\x33\x98\xcc\xd0\x15\x1b\xfc\x92\xc5\xe2\xfd\xfa\x9b\x14\x85\x5e\x6b\x0d\x37\x46\xdc\xe2\x48\xe2\x19\x67\x29\x87\x25\x2e\xc7\x47\xdf\x27\x47\xfd\x3f\xbd\x8b\x71\x4c\x88\x2d\x70\x7e\xe3\x02\xa9\x04\x95\x0c\x34\x75\x4f\x85\x35\x0e\x1a\xa3\xf8\xea\x62\x93\xcf\x01\xf7\x17\xce\xfb\x6b\x83\xa2\x21\x26\xdf\x5c\x4f\x56\x98\xaa\xfd\x06\xa2\x24\x4a\xd7\xd0\x1f\x34\x01\x7c\xa0\xec\xe6\xf2\x10\x40\x04\x8a\xba\x6c\xa4\xae\xb0\x43\x25\xb9\x40\x2b\xcd\x43\xab\x13\x0a\x10\x57\x88\xac\x3d\x7b\x7d\xa0\x1e\xa9\x42\x6d\xd0\xea\x19\x33\xa8\x18\x99\x33\xa6\xc0\xc6\xcd\x64\x8e\xa3\x16\xa7\x46\x9a\x5f\xdc\x6e\x7c\x93\x4d\x91\x86\x58\x60\x97\xb5\x5d\xd5\x1a\xc4\x87\xbb\x80\xed\x11\xd4\xdf\x8d\x33\x62\x6b\xbc\xe9\x5e\x4f\x13\xbd\x49\x92\x2f\x00\xc9\x20\x22\x3f\x4c\xbf\x93\xcb"}, -{{0x67,0x9e,0x3e,0x34,0x77,0x3a,0xbe,0x4a,0xe2,0x5c,0xae,0x7d,0x07,0xcc,0xd0,0xeb,0x3b,0x0e,0xc0,0xa3,0x5d,0x57,0x02,0x57,0xd6,0x25,0x70,0xde,0x58,0xea,0x25,0x16,},{0x18,0xac,0xff,0xce,0x25,0x3b,0x27,0x25,0x95,0x79,0xed,0x99,0x24,0xf4,0x79,0xca,0xe3,0x12,0x16,0x7b,0xcd,0x87,0x6e,0xdb,0xa8,0x8b,0x5d,0x1d,0x73,0xc4,0x3d,0xbe,},{0x1a,0x51,0x02,0x26,0x28,0xcc,0xbb,0x88,0xea,0xe9,0xb2,0x17,0x73,0xc3,0xf8,0x30,0xb7,0xb6,0xe5,0xbc,0x36,0xc9,0x90,0x3c,0xe7,0x0f,0xbc,0xf4,0x59,0xd6,0xa1,0xed,0x8a,0x1d,0xce,0xff,0x5b,0x19,0x26,0x9e,0xbf,0x5a,0x6f,0xd3,0xd8,0x95,0x88,0x60,0xf5,0x54,0x46,0x1f,0x0e,0x9f,0xc0,0xe2,0x9a,0xf9,0xb1,0xfb,0x17,0x44,0xa8,0x0b,},"\xfb\x2b\x64\x8e\xbb\x16\x68\x82\x44\xf7\x8b\x2e\xe9\xa2\x73\x59\x9d\x56\xb6\x19\x89\x00\xd4\x38\xa9\xe9\x9c\x19\x14\x25\xc7\x2b\xec\x4f\x23\x58\x47\xe1\x8e\x47\xf5\x7c\x3c\xb3\x96\x65\x5f\x77\x89\x21\xf9\x08\x58\x0e\x8e\x83\xc9\x6c\x10\x8b\x20\xdd\x41\x66\x78\x02\x1b\xca\x25\x9b\x98\x51\x8f\xab\xb2\xd3\x53\x2e\x48\x51\xd9\xd5\x2a\xdd\x25\x42\xc0\xcb\x3e\xfa\x38\x57\xa1\x7e\x51\x24\x38\xbc\x0e\xc4\x76\x2e\x2f\x9b\xab\xa4\x29\xc0\x3e\x99\xbe\xc4\x03\x8e\x6b\x0c\xa4\x2b\xff\x5b\x23\x3b\x24\xc3\x33\xb4\xca\xea\xd2\xde\x37\x4a\x87\xb2\xab\x5d\x80\xd6\xe4\x9e\x44\x56\x32\x9d\x51\xae\x97\x3b\xc8\x3d\x78\x62\xf3\xd3\x15\xe5\x14\x48\x1b\x12\x85\x4a\x9d\xfc\x09\xe7\xd1\x4f\x0d\x02\x2c\x0b\xa3\x02\x25\x78\xeb\xa8\xf8\x74\xde\xba\x4a\xa8\xc8\x33\xf2\xb1\x32\x86\x1d\x4d\x51\xe5\x0f\xe9\xaa\x4b\x78\x7b\xd2\xf0\x51\xaa\xc5\x0c\x37\x53\x90\xcb\xbc\xfb\xa2\x00\x2b\x80\xad\x00\xcd\xc1\x29\x80\xf8\xba\x8b\xcb\x70\x64\xaf\xc0\x4d\x5c\x46\x82\xc1\x02\x9b\x10\xa6\xd4\x5f\xe6\xec\xd7\x04\x24\x5f\xaf\x59\x8c\x46\x59\x59\x7c\x5d\x68\xa1\x92\xcc\x1c\xd4\xfa\x45\xe8\x4b\x54\x9e\x8e\x5e\x67\xda\xa8\x79\xae\x5a\x52\x0a\x6b\x55\x50\x51\x98\x76\xa5\x62\xac\x49\xc6\xdb\x0a\xa7\x6e\xc6\x9b\xb6\x4d\xd6\xb5\xe1\xa3\xaf\x2e\x13\x1e\x72\x2e\x7c\xdd\x05\xbe\x34\xb5\xfc\xc6\x25\x9a\xa1\x24\xcc\xf8\x14\xcf\x5b\x50\x0d\x17\x6b\xe2\x8e\xbc\x40\xbb\x21\xf0\x3e\x24\xcc\xc1\x31\xe0\xf4\x1d\xaa\x1c\xa0\x2e\x6b\x00\xc9\xc5\x3f\xad\x12\x48\x61\x4e\x94\x0d\x4b\x23\x77\x60\xab\x75\x69\xa7\x67\xb7\x51\x5d\xd2\xd6\x23\xe5\x7a\x28\x41\xb7\xd2\x44\x1c\xf4\x30\x49\xe4\x69\x8d\x2f\x9c\x9e\xae\x7b\x29\x10\xf6\xad\x65\xed\xf9\xcb\x2b\xdb\xd9\xb2\x9f\x60\x6e\x0d"}, -{{0x9b,0xfa,0x60,0x92,0x3a,0x43,0xed,0x0c,0x24,0xe2,0xf1,0x2f,0x5b,0x86,0xa0,0x71,0x63,0x29,0xf9,0x3d,0x4d,0x8d,0x3e,0x06,0x23,0x80,0x02,0x89,0x32,0x78,0xc1,0x9a,},{0xfb,0x1c,0x00,0x68,0x77,0x81,0xb5,0x5b,0x89,0x3d,0x6b,0x2f,0x4f,0x49,0xcf,0x5f,0x73,0xd2,0x90,0x3c,0x31,0x6d,0x1e,0xee,0x75,0x99,0x1d,0x98,0x3a,0x18,0x68,0xc0,},{0x55,0xf2,0x02,0xef,0xb2,0xa5,0x7b,0xe8,0xb4,0xe4,0xfd,0x89,0x4d,0xcc,0x11,0xa4,0xfc,0x5f,0x82,0x76,0x61,0x8e,0xf5,0xcd,0x34,0xa4,0x49,0x5a,0xdb,0x01,0x6a,0x29,0x8e,0x64,0x80,0xa3,0x5c,0xfc,0x53,0xed,0xb2,0x5f,0xf1,0x49,0x9f,0xc5,0x32,0xa3,0x30,0x61,0xcc,0x01,0xa2,0x50,0x45,0x8a,0xa5,0xe4,0xf7,0xf1,0x6f,0x51,0x44,0x0d,},"\xa9\x90\x28\xb0\xf4\xa3\xaa\x5e\x79\xab\xef\x6c\x0d\xf4\xa7\x83\xef\x47\x0f\x1a\x29\xba\x51\xeb\xa0\x0f\x62\x14\xe8\x40\xfe\x19\xe5\xb6\xdc\x60\x21\xab\x59\x9b\xb2\xee\x36\x99\x57\x60\x15\xd7\x9a\x79\x39\xaf\x82\x35\x35\xb6\x30\xe3\x93\x8c\x72\x3f\x6e\x0b\x92\x29\xd4\x6b\xb3\x37\x9a\xcd\xba\x58\x7c\x23\x85\x67\xe3\xd8\x9b\xc3\xbd\x35\x19\xb7\x27\xfc\x69\x4f\xff\x11\x18\xbf\x22\xc8\xbc\x8b\xc8\x2c\x4d\xf7\xf5\xad\x38\xde\x05\xfe\x9f\x76\x29\x99\xec\xaa\x79\x5f\x3a\xe6\x30\xa9\xa3\x16\xd2\x6d\xce\x9f\x15\x68\xff\xa3\xf2\x2b\x02\x95\x21\x40\x20\xb3\xd3\xf5\x33\x7c\x14\x95\x68\x19\x22\x18\x13\x2a\x90\x70\x92\x79\xc0\x1d\x23\xba\xef\xa6\x69\xe1\xc4\xe4\x20\x38\x17\x3f\x13\x19\xc2\x12\xda\x14\x4f\x1c\x4e\xa4\xc5\x2c\x00\x5c\xbc\x0b\x5b\xc2\x83\xe7\x44\x83\xa0\xdc\xa6\x92\x79\xde\xb1\x7a\xe5\xb2\x9c\xfa\xfa\x7d\x00\x63\xf4\xe1\xbc\x93\x53\x7e\xfd\x93\x7e\x58\xa8\xac\xa7\x37\x22\x8f\x93\x7f\xf2\xa7\x41\x89\x0e\x96\xc5\x72\x5d\xa1\x1b\x45\xc4\x13\xa9\xbb\xb4\x18\x0a\x41\x99\x87\xbb\xf0\x46\xbf\xd3\x46\x29\x5d\x62\xf0\x81\xc7\x6d\xaf\x2b\x0e\x1e\xb4\xf6\x71\x2f\xee\xbe\x6f\x0a\x92\xe3\x58\xe7\xdd\xb8\x58\x96\x50\x7c\x34\x0a\x01\xf6\x8d\x1b\x0f\x08\x57\x78\xb7\xc4\x4b\x01\x4a\xa6\x67\x3e\x50\x17\x96\x95\x9a\x17\xa6\x88\xdb\x09\x59\x05\x84\x88\xa7\x11\x25\x72\xf2\x3c\xf9\xcd\xb5\x3b\x5e\xb4\xb4\x5f\x59\x53\xba\x0c\x0c\x69\x0f\x86\xbd\x75\xe8\x9a\x04\x7b\xeb\xaf\x84\x7c\x1d\xfc\x34\x5a\x4f\x3c\x7d\x3b\xee\xc9\x8b\x84\xb0\x21\x90\x03\xe8\x19\xf5\xc2\xad\xb4\x5f\x87\x17\x90\x3d\x1f\x5b\xd5\xd7\x19\x14\xc5\x6f\xca\xbc\x7a\x29\x0f\x9c\x41\x69\x9c\x95\x58\x4d\x6a\x3a\x16\x34\x0c\xb1\x7b\xaa\x1f\xc5\xe5\x46\x7a\xf7\xac\x32\x21"}, -{{0x6e,0x3a,0xf4,0x5e,0x66,0xe2,0x28,0x90,0xc3,0xf3,0xc9,0x34,0xf5,0x23,0xa4,0xd6,0x94,0x27,0x97,0x6e,0x6e,0x52,0x62,0x5f,0x8b,0xad,0x55,0x89,0x93,0x96,0x32,0x19,},{0xe0,0x97,0x36,0x4e,0x76,0xff,0x9f,0x2e,0x1d,0x16,0x7f,0x6b,0x20,0xc1,0xbc,0x58,0x30,0x08,0x5e,0x7e,0xc9,0x93,0xc1,0x38,0xf8,0xb1,0xb2,0x17,0x56,0x37,0xe7,0x41,},{0x26,0xba,0x56,0x2e,0x8a,0x40,0x65,0x70,0x82,0x07,0xc2,0x5e,0x23,0x9b,0x78,0x0a,0xee,0x38,0x79,0x4c,0xf9,0x83,0xa3,0x7a,0xcb,0xb9,0xd5,0x57,0xa6,0x5c,0xee,0xd3,0xc0,0xda,0x47,0xd1,0x7f,0x3e,0x8b,0x8f,0x4e,0xeb,0x1b,0x65,0xa2,0xc1,0x82,0xea,0x6f,0x29,0x62,0x3b,0x63,0xbb,0x0f,0x1c,0x72,0x59,0x26,0x83,0xb1,0x26,0xb9,0x01,},"\x5c\xfc\x2f\x4b\x55\x9f\x82\x05\xb3\x91\x02\x08\x76\x17\xf4\xd8\x6c\x7c\xe6\xcb\x25\x1e\x5f\x89\x60\x1d\xfc\x88\xed\x28\xe8\xd7\xa6\x70\xec\x00\x87\xd2\xea\x5d\x89\x30\x21\xc7\x04\x4d\xa2\x89\x9a\x22\xd7\x76\xfe\x90\x17\x0e\x51\xc2\x03\x25\x06\x90\xd3\x7a\x29\x45\x55\xe7\x4a\xf9\x23\x4c\xbf\x1a\xd8\xf2\x2c\xee\x89\x74\x82\x8a\x0d\x09\xe9\x55\x4b\x71\xee\x3b\xcf\x88\x0a\xb9\x83\x25\xf7\x06\x27\x21\x94\xeb\x2e\x80\xc7\x01\xd4\x41\xb5\xf8\x66\x85\x61\xb8\x88\x49\xf8\x27\xaf\x70\x3a\xb0\x95\x41\x05\xfd\x3c\x54\xb3\xf6\xec\x54\x93\x59\x6d\x0e\x3b\xc6\x78\x18\x04\x83\x10\xc4\xa3\xe0\xc5\x56\xbc\x80\x67\x5f\x20\x1f\x9b\xb9\xc6\x53\x8a\x41\xd9\x9a\xa4\x0c\x88\x6f\xc4\x31\x46\x72\x18\xd8\x19\xc2\x3e\x78\x49\x8a\xed\x06\x13\xfa\x6f\x97\x3e\x22\x11\xdf\x9f\xb8\x7f\x44\x11\x6f\x3f\xe4\xc2\x6d\x6c\xb2\xfa\x33\x4c\x87\xf7\x8c\x08\xca\x8c\x9b\x90\x41\xd8\x3a\x12\x30\x67\x7e\x0a\xf7\x88\x59\x8a\x42\xe4\x4c\xfd\xf6\x96\x4a\x4e\xe8\x0e\x38\x40\x2b\xa6\x7c\x73\xa5\x81\xe5\x52\xba\xa2\x28\x24\x25\xcb\x2c\xa1\x7c\xa9\x2e\xdf\xbf\x98\x29\x91\x02\xfb\xa7\x61\xb9\xb7\x1a\x54\x52\x14\x1b\xb9\xc1\x8d\xd9\x5f\xeb\xc2\xa7\x82\xde\x9c\xee\xc0\x8b\xd2\xee\x3f\x7f\x0c\x1b\xd8\x94\x6d\xba\x99\xcf\x9e\xa0\x86\xab\xaf\xd3\x7c\x9c\xa6\x02\x13\xf0\xde\x17\xc6\x1f\xf9\xc3\x91\xc9\x81\x8e\xd5\xcd\x85\x71\x77\x8b\x7d\xcc\x13\x22\x49\x62\x38\x6f\xb8\xca\x14\xf8\x61\xe9\x9f\x3b\x18\xed\xac\x8a\x5f\x13\x0f\x7b\xfc\xd4\x5d\x04\x5d\x0f\xf3\x4c\x81\x57\x2a\x51\x23\x63\xd6\x53\x0f\x93\x81\x3e\x5f\xb1\x0e\x9c\xb8\x33\x8a\x7f\x93\x80\x04\x91\x00\x6f\x44\x63\xe8\x9f\x0e\xd4\x53\x0e\x5f\x12\xdf\x67\x4f\x59\x89\x04\x78\x0a\xd0\x81\x2b\x1e\x35\x21\xfc\xd0\xf8\x3e"}, -{{0x5f,0x1f,0x27,0x18,0x44,0xd9,0xed,0x5a,0x6a,0x6f,0x20,0x9a,0x21,0x40,0x8d,0xae,0xa4,0x70,0xf6,0xfd,0x53,0xba,0x64,0x79,0xd7,0x40,0x71,0x05,0xb7,0xde,0x4d,0x65,},{0x60,0x85,0xd7,0xfb,0x5a,0x9b,0x2e,0xd8,0x06,0xc1,0xfd,0x30,0xa2,0xaf,0xde,0x76,0x09,0x61,0xf7,0xa3,0x6b,0x48,0xf4,0x87,0x52,0x46,0xe6,0x15,0xa2,0xbd,0x99,0x28,},{0x31,0x9b,0xb4,0xde,0xb2,0x17,0x81,0x12,0x24,0x1b,0x3f,0xb8,0xf4,0x6e,0x10,0x5c,0x3b,0x8e,0x4e,0xf7,0x21,0xeb,0x20,0x0d,0x76,0x2e,0xf3,0x63,0xe2,0x71,0x6f,0x2a,0x89,0xf8,0x0b,0x5b,0x9e,0x89,0x97,0x08,0x90,0xa0,0x98,0x92,0xad,0x6a,0x58,0x80,0x8b,0x47,0x7e,0x94,0x3b,0x3c,0xfa,0x77,0x77,0x4a,0x36,0x45,0xbc,0x74,0x5f,0x03,},"\xee\xd6\xb4\x47\x5d\xc2\x63\xbd\x22\x07\xfe\x9d\x41\xd4\x82\x82\xb7\x13\xf6\x80\xf2\xe0\x37\x38\x4f\x18\xb4\xbf\x22\x43\x47\xf5\xe4\xc4\xb0\x60\xb8\x08\xd4\x12\xea\xab\xcf\x73\x3d\xc3\x9a\x40\xc6\xbd\xa0\x50\x5c\xe7\x1f\xa8\x23\xbd\x1b\x17\x94\x84\x76\x78\xdc\x03\x4e\x79\x99\xc1\x63\x69\x34\x0b\xc6\x0c\x64\xd0\x9b\xb9\x18\x7b\x2e\x32\x60\x55\xa0\x53\xf8\xe5\x05\xea\x41\x96\x86\x14\x71\x62\x2d\xb0\xe4\x6f\x0f\x89\x54\xd8\xa1\xf0\x73\x32\xda\x4d\x8a\xc5\x57\x12\x62\x60\x09\x91\x2f\x8a\x15\xa9\xcd\x63\xa7\x4a\x03\xc9\x2f\x24\x6c\xb6\x3c\xc7\x3f\x92\xe5\x1d\xad\x1b\xc9\x71\x5b\x1e\xd3\xfe\x5f\x2e\x1b\x29\x59\xb9\xb7\x1e\x0e\x37\x36\x0e\xb2\x95\x36\xcf\x79\x71\x47\xfa\xb1\x08\x64\xd6\x14\x6c\x36\xb8\x23\x35\xa0\xce\x93\x14\x08\x47\x9c\x7e\xde\x48\x4f\xf7\x3e\x2d\xbf\xff\xc6\xc9\x22\x7e\x16\xd7\xa2\x3f\x4d\x90\xf1\x55\x84\x51\x4c\x39\x59\x4e\x17\xbf\xbb\x29\x5d\xe9\xd6\x2a\xda\xdb\x58\x9d\xbb\xe0\xb0\x6d\xc8\xda\xc5\xb3\xbf\x51\x7b\x24\xc1\x83\x7b\x39\x47\x2a\x6d\xd3\x89\x31\xff\xbb\xff\x5b\x76\x36\x38\x80\x5b\x4e\x22\x32\x1f\x7a\xfe\x92\xcd\xf5\x02\xfb\x63\xd1\x09\xdd\xcd\x9e\x40\x51\xad\x6f\x45\x59\x85\x32\xbe\x17\x95\x23\x71\x08\x51\xd3\x93\x1e\x88\x7d\x02\xc3\x45\xc7\x9c\x48\x9f\xc1\x06\xa4\xae\x16\x2f\x7d\xf7\x1a\xb9\x0b\x75\x1d\xa7\x03\x8a\x6d\xf7\x61\x6c\xfc\x11\x88\x7e\x21\x06\x8f\xb9\xe3\x3b\xe5\x66\x40\x2b\xe5\x04\xf3\xfc\x27\x42\xb8\x81\x50\x9b\xd4\xfe\x6a\x0f\xc7\x22\x64\x98\x83\xf8\xcb\x65\x55\x98\xa1\x5a\x1d\x4c\x22\x9d\xd8\x6b\x5c\xae\xb7\x11\xa0\x28\xde\xfd\x43\x11\x54\xbb\xa4\x6b\x48\x17\x2a\x4d\x8c\xbd\x45\xbc\x90\xaa\xf8\x74\xb6\x08\x5f\xa2\x84\xf5\xfe\xd6\x55\xad\x6f\xa1\x7d\x67\xb3\xb9\xa7\x96\xfa\x3e"}, -{{0x04,0x8a,0xc9,0xec,0x3e,0xcb,0x30,0xa3,0xb1,0xbf,0xda,0x9b,0x3b,0x79,0xa4,0x8c,0x07,0x93,0xb4,0x90,0x87,0x9e,0x3c,0x8a,0x5e,0x23,0xee,0x2b,0xab,0xcd,0x9b,0x7c,},{0x94,0x6c,0x18,0x6f,0xea,0xfc,0x35,0x80,0xa5,0x8d,0xdd,0x52,0x6f,0xf2,0x29,0xc0,0x47,0x20,0x25,0x0f,0x4c,0xf6,0xbd,0xe0,0x27,0x1e,0xef,0x9b,0x12,0xb1,0xc3,0xf3,},{0x2e,0xcf,0x5b,0x8a,0x59,0xa8,0xe2,0x7d,0x25,0x89,0x0a,0x2a,0xa3,0x2f,0x4a,0x06,0x73,0x27,0x5d,0x53,0x9b,0x17,0x4a,0xfa,0x7b,0x2c,0xeb,0xf2,0xe7,0x62,0x80,0xdf,0xfc,0x33,0x8e,0xde,0x85,0xac,0x8f,0x61,0x40,0x39,0x56,0x0e,0x28,0x06,0xd9,0xe1,0xe3,0xcf,0x9c,0xce,0x2c,0xeb,0x78,0x74,0xff,0xe1,0xa7,0xe8,0x0c,0xde,0xf4,0x0b,},"\xd6\x8b\xe8\xef\x7b\x4c\x7a\x42\x89\xf2\xb1\x8b\x16\xad\xe9\x7f\x4e\x4f\xa1\x64\x52\x97\x6a\xfb\x58\x16\x93\x38\x0c\xc5\x4d\xe3\x8a\x07\x58\x7f\x32\xe2\xd4\x54\x9f\x26\x59\x5f\xee\x23\x93\xbd\x06\x2e\x9b\x00\xba\xe7\x24\x98\xe4\x14\x8c\x8b\x88\x2a\x88\x40\xe1\x5b\x58\x5c\x82\xb5\xc0\xde\xfb\x23\x35\x18\x40\x99\x16\x61\x5d\xeb\x3a\x55\xa5\xf8\x4e\x6b\x3a\xab\x93\x84\x4d\xe3\xb1\xe4\xd8\x6e\x09\xf8\x89\xac\x71\xc3\x24\xeb\x12\xd0\xfb\xd8\x61\xcc\x31\x22\x95\x40\xe8\x43\xa3\x4f\x8d\x5b\xe4\x7c\x0e\xc0\xd2\x3d\xf4\x3e\x06\x81\x3f\xca\x30\x94\x39\x90\x4c\x16\x7d\x10\x43\xc0\xdc\xd4\x44\xb0\x04\xbe\x1f\xf2\x7b\x78\x62\xb0\x0e\xba\x94\x33\xb9\x4b\x0f\xcd\xc6\x75\x21\xda\x0c\x1d\x53\x58\x63\x6c\x78\xf5\x30\x43\x11\x64\xdd\xe2\x0a\x1c\xf1\x64\xf5\x1e\x29\xb8\xe6\x3e\xac\xde\xcc\x86\x9b\x41\x39\x2c\x66\x76\x64\xd9\x16\x80\xd9\xac\x51\x6a\xf5\x48\xf0\x9e\x60\x56\x4e\x81\x4e\x36\xe0\xb5\x63\xdb\xae\x55\xc6\x27\xff\xc1\x41\x58\xa5\x6d\x8e\xb3\x60\x9e\x17\x43\x81\xb2\x1d\xe4\xba\x82\x34\x44\x66\xdd\x57\x7f\x4d\x11\x03\xc4\x3c\x27\xfb\x83\xcb\x83\x3d\x87\xaf\xdf\x74\x12\xb4\x09\x09\x09\xb1\xdd\xe2\x64\xda\xdd\xce\x96\x7f\x49\x6b\xf6\xf1\x71\x12\xbf\x35\x1e\x41\x7d\xb5\x95\x3b\x13\xb8\xf0\xfc\xcc\xbf\x30\xf5\xbc\xf3\x76\x86\x1c\x12\xef\x20\xee\xc8\x9e\xd2\x3c\xf3\x84\xee\x78\xdc\x6e\xb4\x0f\xd5\x81\x1a\x7b\x23\x92\x7c\x13\xe7\xdc\x5d\xa3\xa9\x21\xb8\x83\xa9\xb2\xb1\x15\x59\x70\xfb\x0d\xa7\xd2\x99\x3d\xcd\xfd\x43\x43\x64\x2a\x9d\x5a\x63\x47\xe4\x3c\x19\x3b\x57\x93\xe4\x45\x3a\xc1\x53\x7a\xa3\xd0\x4d\xc9\xf7\x74\xe8\x40\x93\x48\x81\xd7\x8a\x39\xba\x25\x04\x38\xc5\x07\x25\x0e\xed\x2f\x6e\x07\xcc\x95\x3f\x78\x3d\x6b\x72\xb1\xcc\x61\x99\x81"}, -{{0x2f,0x05,0x7d,0x20,0xb1,0x67,0x85,0x31,0x61,0x1f,0x48,0xf0,0x03,0xb7,0xd2,0x2e,0xba,0x5d,0xbb,0xd7,0xe2,0xdd,0x41,0xb7,0xc7,0x9d,0x09,0x07,0x1f,0x85,0xe9,0x93,},{0x62,0x0f,0xc4,0xea,0xa3,0x4d,0x78,0x7d,0xf6,0x75,0xcc,0xbf,0x7e,0x89,0x32,0x04,0x82,0x8d,0xb9,0x2e,0xad,0x17,0xa1,0x16,0x5a,0xc7,0xfa,0x1a,0xb4,0x27,0x19,0xd8,},{0x30,0xdf,0x7b,0x0b,0x1c,0x04,0xfb,0x1e,0xfa,0x35,0x17,0xe9,0x28,0xd6,0xd5,0x7c,0x2c,0xa0,0xd0,0x7f,0x4e,0x04,0xff,0xb1,0xf0,0x8b,0x47,0x92,0xc5,0x93,0x7d,0xd2,0x71,0xcc,0xab,0xdc,0x00,0xdc,0xe8,0x50,0xaf,0xe5,0x0a,0xf5,0x99,0x0f,0x22,0x4e,0x84,0x20,0xa6,0x81,0xd9,0x5f,0x9f,0x7f,0x51,0x5a,0xfe,0xc1,0x02,0xef,0xd1,0x0e,},"\x6e\x35\xf6\xea\xa2\xbf\xee\x06\xea\x6f\x2b\x2f\x7a\xb1\x5f\xa9\x7c\x51\x80\x95\x8a\xf2\xe9\x0a\xf9\x18\xad\xfb\x3d\xb8\x32\x3f\x44\x7c\x7b\xf2\x6d\xc5\x34\x99\x7c\x38\xb7\xfc\x97\x7f\x64\x2d\xe2\x88\xcd\xf2\x53\x07\x1c\xac\xf3\x56\x4e\x3b\x8e\xd6\xdc\xe5\x7d\xdf\xba\x9f\xf7\x83\xba\xd2\xe7\x6d\xf1\x24\x82\x8f\xc1\x03\x1a\xcf\xad\xf0\x1a\x44\xd4\x1b\x42\x16\x1a\xd9\x06\x03\x01\xc1\xaf\x19\x28\xb9\xe5\xb7\x3b\x9b\xd2\x1c\xac\x60\xa8\x42\xb5\x04\xdc\x3c\xc3\x11\xc5\x22\xe3\xbb\x04\x8b\xf2\x21\x44\x4f\x53\xce\xb0\x8e\x77\xe9\x48\x59\x0e\x94\xed\x98\xf1\xb6\x04\xcb\x9e\xad\xc9\x3b\xbe\x74\x31\xc1\x14\x9b\x23\x19\x3f\xf9\x3e\x85\x69\xf1\x13\xe1\x68\x4d\x89\x76\xec\xae\x6f\x09\xe0\x10\x36\x14\xbe\x41\x8a\x47\x2e\xf5\x5b\xb8\x89\x0d\x72\xb3\x41\xcd\xd7\x50\x5b\x50\xa4\x55\x22\xab\x63\xed\x79\x1c\xe8\xf8\x2f\xed\xdd\x7a\x62\x0a\x4f\x6f\xb1\xd2\xfb\x0e\xd0\xc4\x56\x0d\x78\x44\x6d\x83\xb3\xd1\xb1\xbb\x56\xb3\x66\xd1\x96\x02\x0d\x06\x24\xb1\xfb\xdb\x75\xce\x73\x5d\xd4\x3e\x8e\x8d\xf1\x63\xc4\x4e\x23\x69\x93\xdc\xa3\x41\xf5\x13\x2d\x82\x5d\x0a\x4e\x39\x3a\x19\xd3\x8f\x61\xe1\x1e\x0c\xf3\x92\xcb\x9b\x64\x6e\xa2\x3c\x58\x09\x98\x24\xdd\x8d\x9f\xbe\x26\xa4\x9e\x33\xb2\x3d\xf8\x06\x07\xab\xf1\x97\x15\x79\x9c\x19\xac\xc7\x22\xed\x9b\xcf\x94\xa0\xc2\x9a\xd2\x4b\x78\xb0\xb0\x35\xb3\x24\x1c\x64\xcd\x86\xed\xea\xc8\x10\xe6\x67\x45\x69\x4b\x5e\xb1\x62\x50\x60\xed\xf2\xd9\x49\xde\x0d\x34\xf5\x22\xdf\x2d\xc6\x0a\xe6\x94\xa1\x93\xf3\xb8\x2c\x1d\x6f\x83\xa0\xcb\xb8\x40\xf4\x6c\x49\xa3\xd7\xd1\xcf\x06\xde\xaf\x96\xc6\x4f\x8f\x9e\x17\xbd\x9a\xd5\x12\xae\x63\x09\xc4\x86\xd9\xe2\xa7\x8d\xce\xec\xa4\x73\xa0\x42\x1d\xd1\xb6\x43\xc7\x87\x54\x27\x1b\x53\xce"}, -{{0x3a,0x3d,0x27,0x97,0x0f,0xe2,0xac,0xb6,0x95,0x1e,0xdd,0x5c,0xa9,0x0d,0xda,0x0f,0xc6,0xdd,0x22,0x9c,0x0a,0x56,0xdf,0x6e,0xb1,0x1a,0x9c,0x54,0xd2,0x42,0xdb,0xbf,},{0x56,0x4f,0x0d,0xc3,0xdc,0x47,0x20,0xe6,0x8e,0x44,0xdd,0x16,0x71,0x1e,0x04,0x9e,0x61,0x12,0x00,0x00,0x98,0xfa,0x62,0xa1,0xb9,0x8c,0x28,0x80,0x42,0xf7,0xc3,0xbd,},{0x22,0xeb,0x8e,0xa0,0x50,0x73,0x49,0xb6,0xa0,0xac,0xe2,0x5c,0xf9,0x18,0x0c,0xb0,0x8e,0x03,0x57,0xb0,0x45,0x02,0x90,0x5f,0xbe,0x69,0xb4,0xe2,0x1b,0x2b,0xd9,0x4e,0x22,0xcf,0xbd,0xb8,0x51,0xae,0x71,0x6a,0x5c,0x25,0x3c,0x70,0xd5,0xe2,0xb2,0x4e,0xa7,0x8f,0x35,0xbc,0x21,0x32,0x92,0x54,0x3d,0x94,0xe1,0x41,0x10,0xb2,0x41,0x06,},"\x43\x74\xf6\x1c\x2c\xd8\x8a\x3b\x89\x72\x24\x9b\xfa\x79\xb3\x6a\xb6\x9e\x3e\xd4\x84\xcc\x60\xe5\xd9\x54\x1f\xa7\x68\x6c\xf4\xee\xd1\x21\x0c\x5d\x0d\xcf\x42\xdd\x25\x97\x25\x01\x90\x91\x93\xca\x76\xae\x6e\xb7\xf4\x71\xd8\xbd\x0d\x5f\xb5\xa6\xb4\x31\xbc\x3d\xe0\xe0\x31\x8d\x50\x51\x45\x24\xde\x87\xc4\xb8\x30\x05\xdf\xb4\x12\x45\xfb\x1a\xf7\x9b\x84\xa9\x7b\x83\xd3\xca\xc7\xad\x7a\x53\x36\x4e\x2e\x9b\x21\xc9\x7b\x76\x9b\xdc\x57\xf0\x70\x31\x16\x16\x83\x80\xf3\xcc\x88\x36\x89\xeb\x4a\x7f\xa3\xb2\x6d\xbe\x12\xbc\x28\xf8\xc4\x03\x81\xaf\x64\xdf\x4b\x53\x61\xd1\x74\xcf\x75\xac\xbd\x46\x42\x87\x40\xb0\xd1\x32\x2d\x32\xbb\xe9\x48\x45\x21\x59\x66\xae\x58\x87\x77\xa8\xc0\x53\x36\xe3\x52\x30\x6d\x49\x27\x8d\x32\x8e\x49\x6d\xb6\x5e\x9e\xcf\x6c\xe6\x40\x5e\xd1\xc8\x93\x49\x0b\xc4\x8c\x13\xa1\x34\xe1\xfb\x6e\x80\xde\xbe\x6d\x32\xfc\xe6\xef\x74\x78\x3c\x8d\x77\x98\x0a\x44\x1a\x26\xae\xb4\xfd\x83\xcc\x85\x53\x52\xce\xdc\x18\x8f\x52\x79\xce\x21\x1f\x74\x4a\x40\xb2\x3c\xe7\xff\x24\x43\x7a\x1d\xd3\x37\x3e\xc5\xb2\x90\xda\x1f\x94\xf4\x3a\x07\xa3\xff\xea\x5b\x5f\x67\xb5\x2c\x19\x61\x85\xbc\xe9\xe9\xa8\x58\x25\x7f\xcd\x7a\x8e\xba\xf9\x04\x0e\xd0\x91\xfa\xce\x5a\x15\x5a\xa4\x47\xfa\x15\xe1\x21\x22\xd2\x5e\x8f\xc3\x6e\xae\xe2\x13\x7c\x7b\x3a\xa3\x0b\x7e\x3f\xf6\xcc\x86\xb6\xdc\xb9\xea\xf4\x9c\x95\x76\xf0\xf4\x62\x00\x84\x39\xcb\x1a\x3a\xba\x01\x3e\x89\x7a\x0f\xaf\x99\x4c\xb7\xd5\x9e\xde\x57\x74\xbb\x14\x47\x74\xf7\x3c\xa3\x0e\x64\x14\xa7\xcc\x7c\x74\xb2\x0c\x51\xa1\x40\x4d\xdc\x41\x9e\xf7\x62\x45\x93\xe9\xbc\xfb\x37\xc0\xa7\x62\xea\xb6\x8f\xac\xa5\x86\x34\x43\xe1\x6e\xdb\x75\x9d\xbc\x87\x88\x73\x2b\x9e\x4f\x59\xc1\x11\x92\xc3\xfc\xc8\x72\xaf\x55\xf3\x2d"}, -{{0x06,0xd4,0x98,0x31,0x8d,0xa4,0x56,0x24,0x2b,0x9c,0x3b,0x9a,0xb6,0xd5,0x32,0xa1,0x28,0xfc,0xe0,0x44,0xf5,0x38,0x82,0x68,0x2e,0x92,0x62,0x14,0x9c,0x16,0x52,0x88,},{0x41,0x35,0x17,0xaa,0x63,0x20,0x0a,0x17,0x17,0x32,0x09,0xa4,0xb3,0xe7,0x8a,0xb9,0x38,0x3c,0xb4,0xe3,0x9e,0xfd,0x67,0x94,0xc4,0x6a,0x2d,0x13,0xfa,0xfa,0x99,0xc0,},{0x82,0x50,0xf7,0x6d,0xc5,0x99,0xc5,0x12,0x87,0x87,0xe4,0xf6,0xd3,0xda,0x23,0x17,0x33,0x30,0xce,0x33,0x20,0xdb,0xa9,0x59,0xbd,0x71,0x4c,0xc8,0xcc,0x07,0xc6,0x79,0x45,0xd6,0x3e,0x75,0x66,0x2c,0x07,0x5e,0x26,0x74,0x60,0xab,0x7b,0xf5,0x61,0xf2,0x4f,0xaa,0xe3,0xb4,0x1d,0xbf,0x67,0x68,0x99,0x19,0x1e,0x3b,0x02,0xb5,0xaf,0x0a,},"\x3f\xe3\x0e\xcd\x55\x07\x7a\x6e\x50\xdf\x54\xbb\x1b\xf1\x24\x8b\xea\x40\x63\xe3\xfa\x75\x5f\x65\xfc\xd1\x15\x9e\xe0\x46\xef\xd0\xeb\x5f\x2f\xbb\x38\xb5\xc0\x09\x47\xc9\x7d\xc8\x79\xb3\x6b\x9e\x53\x61\x92\x28\x60\x86\xd0\xdc\x12\x05\x36\x10\x38\x61\x74\xa7\xc5\x6f\x22\xa8\x5b\x73\xff\x20\x8c\x59\x44\xf3\x93\x23\x6c\x32\x41\x58\x09\xda\x03\x6e\x73\xca\xd8\xfc\x3c\x30\x37\x80\x64\xa7\x6a\xfa\x93\x0a\x3b\xaa\xe9\xaa\x35\x70\x61\xa8\xc5\xe8\xe7\x56\xa9\xce\xcf\x94\xb7\x2d\xf4\x3f\xac\xd8\x8f\xa4\x9c\xb4\x94\x8c\x63\x68\x31\x8a\x6b\x1e\x5c\xff\x52\xe5\x87\xec\xdf\xae\xfd\xb6\x90\x81\xf2\x8c\x2d\x13\xbf\x8e\xab\x81\xdb\xaa\x5e\x37\x28\xc4\x31\x7f\xb7\x93\xdd\x19\x6b\xca\x0f\xe5\x4a\x6c\x24\x2c\xf2\x6e\x2d\x12\x9b\xa0\xd8\x2a\x2c\x3a\x45\xbc\x8d\x1d\xfd\x6f\x54\xf8\xda\x4f\x51\x89\xc9\x1a\xc2\x14\xfd\xab\xf4\xc5\x97\x38\x1b\x2e\x5c\x40\xcc\x71\xfa\x70\x51\xcf\x2e\xa9\x39\x06\xa3\x7d\x57\xdf\x12\xd5\xc7\xe5\xcd\x77\xc9\x07\xe4\x42\x56\x63\x15\xba\xe5\x1a\x22\x22\xd6\x2e\x3f\x42\xd1\x76\x78\x82\x63\x7d\x66\xa1\xd5\x30\x5a\xb4\x01\x0a\x0e\x49\xc5\x7d\xef\x69\xdc\xea\x83\x9e\x1b\x76\xa4\x11\x35\xba\x95\x2c\xc4\x24\x95\x0e\x8d\x3a\xac\x19\xe1\xd9\x3d\xe7\x75\x7c\x15\xff\x99\x97\xb3\xd2\xa8\x61\x3c\xd9\xa1\x64\x78\x1d\x1b\xe3\x31\x79\x9f\xa6\x10\x9c\xef\x61\x43\x05\xa1\x95\x8f\x62\x90\x3c\x8c\x9e\xa0\xb2\x3b\xa7\x06\xd4\x9c\x54\xba\xcc\xc1\xe6\x3c\xb4\xbf\x14\x78\x5f\xc7\xb0\x62\xa9\x80\x03\x49\xbd\xb0\xbb\x92\x72\x60\xb6\x77\xb6\x0f\x10\xe6\x2c\x87\x80\xf3\xeb\xb5\xeb\x6f\xf0\x36\x02\x63\xd4\x57\xab\x52\xfd\x11\x25\xc9\xce\x04\x6a\x95\xd8\x9d\x28\x73\x50\xc8\x04\xcf\xd4\xff\x2b\x2d\xdd\x18\xa9\xe1\x35\x19\xf2\x0b\x4d\x1e\x05\x1a\xf6\x24\x64\x0f"}, -{{0x8e,0x8e,0x1d,0xb5,0xb1,0x10,0x2e,0x22,0xa9,0x5c,0x47,0xaf,0x36,0x61,0x46,0x9f,0x00,0x0a,0x33,0xf1,0x3b,0x8b,0x87,0xb1,0x15,0xd2,0x45,0x2a,0x41,0x1f,0x6f,0x39,},{0x56,0xd7,0xb3,0x16,0x9a,0x95,0xc2,0x29,0x98,0xec,0x93,0x79,0x25,0xbd,0x7c,0xad,0x13,0xcc,0x65,0x80,0x8c,0xd5,0xd3,0x4a,0x6c,0x4d,0xa8,0x70,0xea,0xf3,0x23,0x64,},{0xf6,0xee,0x5e,0x13,0xcf,0xaa,0x36,0x2c,0x89,0x71,0xd5,0xa4,0xa8,0x79,0xa7,0xe3,0x69,0x66,0x52,0x5c,0xcd,0x86,0xc5,0xa4,0x8c,0xba,0x08,0xd9,0x13,0xec,0xe1,0xa7,0x9c,0x4c,0xd1,0x46,0xb8,0xe9,0xc6,0x51,0x25,0xfb,0xad,0xf1,0x7b,0xac,0x1c,0xab,0xcd,0xe8,0xfd,0x17,0xcf,0xd6,0x8f,0xa1,0xf9,0xc4,0x4e,0xa6,0x1c,0x08,0xa4,0x05,},"\xb2\x46\x34\xfb\xdd\x1b\x76\x61\x31\x5d\x9d\xc1\x53\xba\x90\xd6\x6a\x88\x62\x2a\x41\x58\xf8\xbc\xff\x25\xba\x9c\x29\xe6\x5f\x29\x7f\x8e\x60\x31\x18\x00\xb7\x33\x1b\x69\xfc\x20\xc9\xf8\x5b\xb7\xc1\x84\xbd\x40\x86\xb3\xa9\xf9\xa2\x71\x02\xb6\x23\x62\xbd\xb4\xfa\x5b\x20\x15\x94\x25\x0f\xc6\x28\xfd\x2e\x0e\x0d\x1b\xe0\x3d\xcf\x81\x8c\x60\x94\xc4\xc2\x91\x21\xcb\x2b\xf6\xd9\x08\xed\x8a\xab\x42\x7c\x37\x71\xc0\xc9\x5f\x0a\xc1\x46\x9a\x08\x10\xb6\x03\xa4\x70\x28\x2e\x59\x80\xa6\x07\x29\x19\x7f\xe6\xc2\x0e\xf6\x81\xcd\x1b\x96\x93\x2d\x20\x58\xf8\x96\xea\x74\x16\x42\x2a\x7e\x54\x1f\x22\x4a\x5f\x04\x25\x30\x80\x74\x1c\x5d\x4e\x3e\xb0\x39\xdb\x6b\xa0\x51\xb4\xca\x54\x17\xce\x8a\xfd\xc7\x02\x14\xba\x4d\xcc\x85\xb6\x23\xd1\x1e\x68\x1c\x60\x09\xae\xe4\xe6\x13\x0a\x83\xed\xd0\xd2\xc9\x9f\xb0\x64\x7e\x11\xed\xe7\x30\x1a\xe5\x6b\x59\x90\x4e\xf7\x02\x57\x32\xcd\xe0\x38\x80\x1e\xc7\xe8\xd9\x0a\x9a\x1b\xba\x04\x7f\xe6\x28\x35\x1b\x3b\x89\xd0\xbc\x5a\xe6\x65\xa7\x00\x89\x1f\x09\xeb\xee\xc0\x55\x91\x84\x2a\xdf\xcc\x25\xad\xc3\xc7\x1c\x1e\xbc\x4a\x31\x2e\x54\x71\xbe\x67\x25\x3b\x0e\x94\x28\xb0\xca\xe3\x76\x45\xa0\xf7\xec\xb8\x9d\xd7\x9f\xbd\x9b\xe2\x87\x54\x33\x66\x7a\xe0\x7d\x74\xa7\x98\x3c\x4c\xea\x60\x1e\x72\xe9\x75\xc2\x1d\xf9\x93\xe7\xfa\x22\xa9\xfa\xbd\x45\x45\x5d\x45\xe3\x70\x31\x55\x8e\x13\xa7\xa4\xf5\xf4\x97\xea\x78\xfb\x73\x99\xf8\x83\x8c\x0f\xd5\xde\x4e\xbb\x66\xdb\x29\x0f\x43\xa4\x86\x7d\x50\x53\x09\xf1\xc1\xbc\x27\xe9\xfa\xbc\xbb\xa7\x13\x02\xfc\x12\x04\x71\x5c\xe3\xfc\xb0\x90\x5b\xfa\x41\x1c\x9d\x1c\x9a\xb4\xa3\x99\x54\xe5\x0b\x8e\x0c\xf7\x36\xc1\x02\x89\x56\x3b\xdf\xa9\x67\x55\x3c\x36\xcd\x9e\x55\x5b\xc8\xcc\x56\xbe\x59\x48\x47\xde\x9f\x26\xf9"}, -{{0x38,0x84,0xb8,0xb7,0x9a,0xbf,0xd3,0xbe,0x6c,0x13,0x98,0x5e,0xb8,0x59,0xab,0x74,0x3f,0x15,0x7c,0xd9,0xde,0xb8,0x1b,0x2f,0xe9,0x7e,0xa4,0xd6,0x17,0x3e,0x46,0xf5,},{0xbd,0x7f,0xd9,0xa8,0xde,0xf1,0x3a,0x54,0x2e,0xd2,0xf2,0xfb,0x04,0x88,0x86,0x88,0x5b,0xa9,0xb5,0xce,0x59,0xcb,0x70,0x19,0xfb,0x54,0x66,0x79,0x86,0xee,0xbc,0x26,},{0xf4,0x20,0x6f,0xcd,0x34,0x50,0x24,0x41,0xd5,0x4a,0x73,0x32,0x3f,0x33,0xa5,0xdb,0xb4,0xc9,0x85,0x57,0x31,0x9f,0x21,0x24,0x6f,0x26,0x0f,0xfb,0xbe,0x58,0x44,0x88,0x6d,0xb5,0x67,0xf4,0xb6,0x3c,0x47,0x94,0x3d,0xbb,0x78,0xfc,0x35,0x65,0x7d,0x7c,0x04,0xd4,0xfe,0xb0,0x42,0xff,0x85,0x36,0xf6,0x72,0x92,0x5c,0x31,0x9e,0xfb,0x09,},"\x12\xad\xaf\xe3\x0e\xaf\x2b\x9c\x72\x03\xca\x5d\x44\xb9\x7f\xfe\xd4\xbf\x65\x17\xa4\x99\x88\xe4\xe6\x76\xc8\xe3\x14\xad\xbd\xbe\x23\xd8\xf2\xd3\xe2\xb0\x81\xa7\x02\x4f\xa5\x25\xab\x5a\xae\x26\xe6\x00\x57\xc1\x01\xe8\xf3\x68\xd3\xad\xdb\x93\x76\xc4\x68\x2c\x1f\x42\x24\xd7\xf1\x49\xa8\x47\x4b\xb9\xa8\xf6\x63\xef\x21\x0e\x95\x72\xce\x82\x9d\xa3\x88\xd8\xaa\xe7\x2a\x46\x71\x41\xad\xc1\x53\x47\x3b\xe3\x65\x3b\xaa\xa6\x4b\x5b\x1e\x2e\x30\x68\x3f\x6f\x06\xda\xc2\x78\x4d\x5b\xbf\x0d\x08\x2a\xab\x47\x30\x5e\xd8\xa8\xef\xd0\x88\x6c\xe6\x3a\x17\x93\x15\x22\x5d\x1e\x4d\x4f\xfc\xf1\xf2\x4a\xc2\xf4\x64\xcf\x5e\xd3\xa8\xb6\xd3\x99\x84\x54\xf1\xc0\x2c\xdb\xf0\xa4\x44\xee\x2b\x59\xdd\xbe\x0a\x17\x4a\x0d\x93\x7f\xa6\x28\x65\x08\x8a\xc6\x47\x49\x99\x57\xd2\x81\xc6\x94\x98\x03\xa5\xfb\xdf\xdd\x0d\xd9\xe9\x1b\x69\x76\x86\x1f\x3c\x5f\x21\x26\xf3\x9a\xac\x93\x5b\xe0\x9f\x4b\x97\x15\xbd\x4f\x0d\x5c\x55\xdf\x73\xa6\xb9\xf2\xc0\xad\x26\xce\x49\xd8\x22\xbf\x85\xbf\xa2\x34\x6f\x31\x65\xb0\x38\x59\xa7\x1c\x3d\x2a\x7b\x86\xdb\x6e\x9f\x2e\x5d\x7b\x16\x9a\x91\x0e\xeb\x7e\xf3\x8f\xbd\xfb\xbe\xc4\x3a\x9a\x25\xf0\x4b\xc3\xac\xfd\x3b\x06\x91\x54\x2a\xb6\xde\x9d\xb6\xf0\x30\x58\xf9\x58\x40\x24\xf9\x91\x8e\xde\xcd\x90\xfb\xb8\x57\x35\xd6\xdc\xec\x5b\xd5\x93\xae\x63\xe2\xcc\x96\x55\x35\x99\xa3\x10\xf8\xf2\x00\x9b\xa9\x53\x71\x19\x6b\x4d\x5b\x80\xe7\x55\x96\x37\xf2\x29\x26\x77\x8b\xe5\xe1\xcc\xef\x51\x26\xe2\x44\x3f\xa9\x39\xc2\xa5\x3d\xdd\xb0\x49\x61\xee\xfd\x34\xe5\x38\xcd\x8d\x7f\x0b\xec\x2b\xff\x1e\xf0\xd3\xa4\xbd\xd3\x58\x31\x76\x37\xf4\x2d\x59\x55\x38\xc1\x12\x22\x51\xa9\x4e\x96\x3d\x1f\x81\xe7\xb9\xae\xb1\x64\xf9\x5d\xa9\xa4\xed\x75\x29\xb8\x45\xeb\xc9\x61\xb2\x7b\x5c\x19"}, -{{0xec,0xd5,0x19,0xf2,0x87,0xad,0x39,0x50,0x52,0xb0,0xb3,0x0d,0xea,0xc3,0x41,0xd2,0xa9,0xdf,0x13,0xd6,0x56,0x7c,0x89,0x1c,0x81,0x3a,0x0c,0x9c,0xa5,0x2e,0x87,0x1e,},{0x8e,0xe9,0x4c,0x58,0x8e,0x0b,0x34,0x35,0x85,0xfc,0x67,0x48,0xfd,0x1b,0x54,0xb5,0x77,0x0c,0x64,0xe9,0x93,0x7a,0x56,0x35,0x7a,0x48,0xd4,0x4a,0xe2,0xf5,0x18,0x24,},{0xe8,0xf5,0x1b,0xe7,0x3f,0xc4,0xe0,0x23,0x5a,0xa1,0x53,0xa2,0xe1,0xb3,0x54,0xe9,0xc5,0xd2,0xd3,0x3a,0x11,0xae,0x0e,0x33,0x34,0x78,0xde,0x1d,0x8e,0x6c,0x44,0x56,0xd2,0xe2,0x50,0x82,0x4c,0x32,0x46,0xca,0x0e,0x8d,0x6a,0xe3,0xe1,0x66,0x77,0xa9,0x73,0x44,0x14,0x41,0x08,0xc1,0x3b,0x95,0x9e,0x1d,0xaf,0x51,0xcf,0x0f,0xe5,0x01,},"\xaa\x71\xbe\x5f\x55\x7e\x10\xc9\xfb\x5f\x09\x1a\x3a\x27\x44\x53\x94\x7c\x07\xa0\xe2\x5b\x26\xf9\x50\x92\x24\x54\x1d\xff\x76\xf4\xd9\x6e\xff\xd0\xd5\xa4\x1d\x31\x9b\xc9\x32\x1a\x86\x66\x7d\x55\xcf\x49\x43\x2f\xb5\xc3\xe7\x15\x38\x8f\x3f\x10\x6c\x91\x74\xb1\x61\x0c\x8f\x30\x75\xd5\x93\x1c\x29\x00\x99\x38\x5c\xe9\x24\x9e\x23\x51\x28\xe9\x07\xc5\x33\x90\x03\x6f\xbf\x5d\xa9\x68\xf8\xd0\x12\x33\x69\x58\xde\x90\xc5\xe8\xe6\xb1\x01\x6a\xd4\x3f\xb5\x7c\x8e\x28\x8d\xaf\xe1\x4e\x90\xe6\x4b\x63\x79\x1e\x5c\xbe\x55\x7e\x02\xdf\x8a\xc9\x37\x06\x42\xa7\x1f\xaf\x85\x10\x75\xe5\x56\x5f\x6f\x9a\x26\x7f\x4f\x6b\x45\x4c\xe4\xc5\x47\x48\x10\xb8\x04\x84\x4d\xda\x38\x39\x29\x39\x71\x97\x93\x24\x6a\xa4\x74\x54\xb9\xb0\xe8\x2e\x98\x03\xc0\x99\x35\xd0\x02\x7f\x39\x95\xcc\xa9\x71\x30\x69\xbb\x31\x02\x7f\x7b\x2a\xf1\x2f\xe5\xfe\xec\x7e\xeb\x06\x84\x3d\x82\x96\xec\x56\x82\x26\x2a\x07\xda\xe7\x47\xed\x7b\xc8\x21\xec\x17\x01\x8d\x89\x9f\xd1\x67\xb3\x6a\x7e\x37\x73\xb4\x27\x49\x9d\x99\xdc\x58\x3b\xbe\x4b\x42\x9a\xfa\x6a\x26\x59\x39\x53\xf9\x43\xe4\x67\x3b\xdd\x0d\x2a\x84\x42\x56\x13\x16\x03\xcd\x09\x03\x25\x6f\x33\x4d\x4f\x8e\xc8\x2d\xe1\x15\xb6\xca\x53\x38\xc7\x5c\x8b\xaa\x44\xb4\xba\x96\x3c\x7c\x78\x51\x0d\x8d\xe9\xb2\xa5\x85\x2f\x42\xf3\x46\x3c\x68\x5f\xb3\xa6\xda\x61\xa8\xe0\x89\x26\x62\xd6\xa2\x50\xfc\xaa\x6f\xef\x74\xd4\x50\xfc\x45\x7b\x98\x71\xd0\x8b\xb5\xbe\x30\x11\x29\x4a\xc8\x88\xfc\xe2\x15\xd5\x35\xc3\xb1\xa4\x3b\xb4\x7e\xfe\x3a\xd2\x5d\xa1\x59\x19\x1a\xed\x55\x19\x54\x69\xc5\x90\x93\xff\xb2\x4f\x65\xd6\x0c\x40\x20\xbf\xbe\x64\x7f\xf5\xdb\x7a\xb8\xa0\x1d\x5e\x48\x7b\x0b\x1b\x64\xef\x25\xda\x15\x6d\xb1\x42\xe6\xad\x87\x2a\x4d\xc1\xee\x9b\xa6\x68\x46\x52\x65\x37\x9e"}, -{{0x19,0x3f,0x3c,0x63,0x0f,0x0c,0x85,0x5b,0x52,0x9f,0x34,0xa4,0x4e,0x94,0x49,0x70,0xf4,0xa6,0x97,0x2e,0x6c,0x38,0x59,0x35,0x9c,0x2e,0x0c,0x87,0x62,0xba,0x9e,0xaf,},{0x32,0x56,0xf2,0xc8,0x2e,0x7c,0x80,0x12,0x01,0x21,0x01,0x40,0x56,0x9f,0xaf,0x18,0x50,0x7e,0x60,0x33,0x8c,0x2c,0xc4,0x11,0x8b,0xb1,0xce,0x60,0x5b,0x0e,0xbe,0x61,},{0xb1,0x25,0x10,0xac,0x5f,0x2f,0x6d,0x33,0x36,0x0c,0xdd,0xc6,0x72,0x91,0xd6,0xc2,0x70,0xfd,0x9e,0xe6,0x2d,0xc0,0x86,0xb3,0x8d,0x93,0x2d,0x26,0x47,0x3f,0xe9,0xa2,0x4e,0xfb,0xd4,0x24,0x88,0x67,0xea,0x7e,0x91,0x5a,0x30,0xc5,0xbf,0xb3,0xb8,0xb1,0x9a,0xa0,0x1a,0xa2,0xfe,0xbf,0x0d,0xac,0x6c,0xfd,0x66,0x38,0xa2,0xba,0x7e,0x0c,},"\x98\x62\x3f\x65\x16\x98\x08\x5b\xde\x02\x76\x2e\x8c\x33\x21\xf1\x4d\xa1\x61\x9b\x5c\x3f\x7c\x1a\x56\x8e\x8c\x26\xff\x0c\x62\xfd\xcc\x41\x24\x75\x91\x2e\xb8\xe8\xc4\xb0\xd3\x09\x18\xb8\xff\xee\xf3\x50\x93\x15\xe5\x8d\xa3\x59\xcd\xc2\xf2\x6b\xeb\xfb\x57\x03\x95\x3b\xe1\x6b\x8f\x3b\xeb\x1e\x54\xa1\xab\xee\x0a\xeb\xe2\x4e\x64\xdb\xe8\x73\x40\x2e\x15\x6f\x37\xdf\xc1\x68\xea\xf8\xa1\x14\xce\x08\xa6\x79\x5d\x3f\x64\xf5\x15\x1e\x9a\x8b\x82\x75\xcc\x7b\x49\xa6\xb8\xd8\xa6\x6b\x6d\x4b\x76\x32\xef\x80\x74\x0d\xc1\xc1\xb0\xa3\x8d\x1a\x28\xf7\xc1\xb2\x9f\xa4\x45\x41\xc1\xaa\xd3\x54\xd4\x59\x0c\x23\x1d\xae\x68\x7a\x2a\x8f\xed\x09\xe8\xc1\xeb\xbf\xcc\x38\xf3\x47\xbf\x06\xd9\x45\x77\xe4\x9a\xd1\x39\xf7\x10\xed\x8b\xb1\xfd\x07\x66\x3c\x03\x20\x84\x6f\xbb\x45\x5a\xb8\x37\xef\x96\x4a\xe7\xd4\xec\xee\xa4\x5f\xd7\xbd\x8d\x50\x9f\x82\x1e\x6e\xb0\x27\x49\x4e\xfd\x8d\xd8\xe9\x92\xb8\x86\x98\xee\xc2\xeb\xc5\xe0\x30\x25\xbe\x78\x9c\x18\x01\x3f\x20\x1f\x77\xaa\x2d\x34\xf5\x68\x64\x60\xe4\x3f\xb4\x89\xe0\x87\x76\xf9\x8b\xcd\xe2\xce\xeb\x9d\x4f\xaf\xdf\xfe\x03\x75\x60\x43\x71\xec\x32\xf4\x6b\x81\xfe\xc4\x74\x38\x29\x08\xe9\xd2\x50\xa0\xba\x27\x80\xa7\xd6\xdf\x40\x7b\xd2\xb1\xeb\x12\x67\x48\xd7\x25\x11\xb9\xb0\x69\xeb\x1c\xd4\x42\x70\xf2\x9f\xe8\x4b\x9a\x71\x77\x51\x83\x1d\x04\xc2\x81\x8e\x40\x8f\x22\x78\x93\x76\xc6\x1c\x2c\xa4\x5e\x32\xe7\x88\xea\xd3\xa7\x53\x6b\xf0\x9d\xa8\xaf\x47\x03\x90\x2f\x55\x16\xa0\x20\xd8\x92\x63\xe9\x37\x01\xa2\x56\x5e\xef\x12\x70\x41\x89\x25\xf3\x5a\x28\x8e\x32\x7b\xab\x62\x8a\xc2\xf0\x24\x8c\xfb\xca\x34\x82\xe2\x65\xd1\x62\x1c\xc3\x43\xc3\x1f\x65\x49\x3f\x06\x4b\xad\x0d\x76\x02\x46\x07\x15\xfa\x48\x6f\x29\x42\x63\x46\xaf\x53\xe3\x33\xb7\x5f\x59\x05"}, -{{0xa8,0x8a,0xd0,0x04,0x8d,0x38,0xc4,0x4c,0xeb,0xe7,0x35,0xea,0x38,0x02,0xca,0x57,0x6e,0x37,0x12,0x1c,0x7d,0x4d,0x76,0x0d,0xfd,0x88,0xde,0x16,0x63,0x06,0x4a,0xbb,},{0x14,0xdd,0x8b,0xb3,0x06,0x80,0x3e,0x5a,0x75,0x8e,0xd6,0x8a,0xd2,0x1d,0x07,0xd8,0x81,0x61,0xd5,0x0f,0x1c,0x74,0x71,0x37,0x77,0xda,0x12,0x09,0xaf,0xba,0xea,0x0b,},{0x13,0x41,0xa1,0x48,0xda,0x45,0x93,0xc8,0x8e,0xbc,0x5a,0x58,0x82,0x1e,0xef,0x77,0xf9,0x21,0x86,0x39,0x0f,0xf6,0x33,0xe7,0x62,0x07,0x08,0x4e,0x78,0x74,0xcc,0xf0,0xeb,0x1f,0x9e,0xc7,0x0a,0x3a,0x3f,0x96,0xb5,0x89,0x34,0xbc,0xb0,0x61,0xff,0x92,0x01,0x24,0xf7,0xe5,0x80,0xfa,0x2b,0x0b,0x27,0x95,0x83,0xad,0xf9,0x23,0x2d,0x0c,},"\x2c\xe8\xbc\xa2\x61\x78\x91\x3b\x16\x76\xe9\x0f\xfe\xfd\x94\x5b\xc5\x61\x98\x26\x60\xe2\xa7\x5d\x48\x2f\xf3\x0a\xab\xa1\xba\x43\xf8\x2d\x2e\x6b\x90\x9e\xc1\x0f\xc0\x97\x89\xff\x5c\xf3\x2a\x51\x80\xb6\x01\xea\x80\xfa\xde\xce\x6d\x7e\x7b\xae\xef\x48\x1d\xc6\x97\x9e\x2f\x65\x8a\xe0\xf6\xd8\xe4\x16\xb9\x32\x98\xf7\xd3\x40\x31\xbb\x76\xf7\x16\xed\x99\x1a\x16\xd0\x9a\x58\x2e\x58\xba\x40\x03\xac\x17\xbe\x8b\x44\x69\xe1\xa8\x89\xb2\xfb\xb2\x28\x9e\x98\xaf\x1c\x6d\x5b\xbe\xe7\x77\x56\x71\x3c\x07\x78\xb0\xdc\x44\x6a\x1f\x6c\x48\xc4\xd4\x08\x18\xec\x79\x99\x05\xf0\x69\xbc\x95\x34\x16\x57\xca\x5d\x02\xb7\xa5\x39\xa1\x3a\x02\xcd\x03\x76\xa5\x0e\x83\x43\xc0\xdc\x20\x34\x6d\xe5\x27\x5b\x1d\xcd\x4a\xd7\xaf\x72\x51\x31\xac\x75\xe9\x54\x82\x5d\x30\xea\xa5\x7a\x68\xbb\x98\xdf\xc4\x1c\xaf\xe5\x71\x05\x56\x64\x7b\x38\x7d\x9b\x7f\xd4\xe4\x76\x51\xe5\x13\x80\x50\x79\x8f\x6d\x40\xf4\xee\x71\x20\xb5\x8f\x74\xda\x94\xd7\x3c\xac\xbf\xd3\x93\xd1\x34\x73\x88\xee\x00\xb7\x9b\x8d\xbf\xeb\x57\x81\x41\x21\xbd\xda\x60\xc6\x27\xdc\xe1\x47\xd4\xd5\x68\xd7\x90\x52\xe9\x7b\x9a\x5f\x3e\xb5\x40\x7c\xc4\x64\x61\xa5\x5e\x18\xa9\x60\xd8\x09\x4a\x5f\xea\x48\xb6\x93\x75\x29\xcc\x4e\xc9\x19\xcd\xbe\xdf\x91\x85\x45\x6d\xc0\x0e\x8d\x98\xad\x15\x37\xee\x10\xa0\x57\xf4\xee\xc4\xb8\x1d\xc6\x03\x92\xfc\x91\x88\xd3\xe5\x61\x78\x59\x65\x09\x2e\x44\x31\x7f\x2a\x48\xe3\x66\x05\xfc\x58\x3f\xc1\x73\xb0\x5d\xb9\xdc\xbc\x75\x57\xd0\x64\x87\x39\x0f\xbb\xba\x77\xaf\x3a\x01\x4e\x1a\xc3\x51\x39\xca\xa1\xc5\x3a\x8d\x17\x34\x7f\x17\x8e\x1c\x54\xd0\xf5\x2b\x40\xe9\x10\x42\xc9\x3e\x7e\x48\x1d\x79\x2e\x28\x8f\xc2\x7e\x4c\x2f\xcf\x11\x1f\xe9\x7d\x9e\x23\x37\xd2\xfc\x1c\x30\x98\xf0\x66\x84\xa3\x1d\x55\xeb\xf3\x62\xc0\x27"}, -{{0x3f,0x59,0xd6,0xa0,0x18,0xf5,0x0a,0x82,0x21,0x17,0xe5,0xb4,0x73,0x60,0x9e,0x30,0xcd,0x64,0x92,0x0c,0xa1,0xc2,0x75,0x0d,0xcb,0x09,0xea,0xab,0x80,0x7a,0x3e,0xac,},{0x45,0x7d,0x0e,0x59,0xc1,0x1f,0x34,0x8f,0x3b,0xfb,0xdd,0x3f,0x32,0x7d,0xe7,0x8c,0x0a,0x75,0x77,0xc0,0xae,0xef,0x42,0xd4,0xc1,0xe5,0x67,0x00,0xd1,0x08,0x80,0x8b,},{0xd7,0x42,0x5e,0xa1,0x94,0xa6,0x71,0x5c,0x45,0x2e,0xc4,0xf6,0xd6,0xc7,0x6e,0x6d,0xd3,0x74,0xd3,0xca,0x7a,0xe7,0xa1,0x19,0x95,0xd0,0x2b,0x94,0x2d,0x4a,0x31,0x87,0x0d,0xd7,0x34,0xc1,0x2f,0xca,0x89,0xa8,0xeb,0x02,0x13,0xeb,0x13,0x9c,0x14,0xa8,0x7a,0x6a,0x33,0xe8,0x18,0x60,0x3b,0x2e,0x31,0x30,0x23,0xfa,0x58,0x73,0x7d,0x0e,},"\x7d\x10\x3a\x6c\x6b\xa2\xd0\x90\x87\xee\xf2\x25\x4c\x1c\x90\x3f\x06\x76\x95\xa5\x4c\x45\x15\xe4\xd1\x3b\xc1\xfb\xfb\x54\xd6\xe7\xa1\x67\x34\x9c\x14\x80\x99\x76\xda\x04\xa7\xe5\x8d\x96\xb4\x0a\xac\x3b\x2b\xdd\x14\xb9\xb5\x03\x22\xbb\x11\x64\x5f\x05\xe5\xe9\x78\xbc\x7f\xbd\x02\x49\x2e\xf8\x8f\x87\xd6\x68\x28\x0f\xd7\x08\x37\x32\x07\xff\x67\x0f\xcd\xa9\x7d\xf8\x48\x5d\x5e\x46\xdc\x3b\xd0\x43\x47\xf4\xd7\x52\x7e\xab\x27\x18\xf7\xd9\x3d\x13\x2b\xa7\x75\x82\x18\x89\x4e\x75\xa7\xde\xab\xe6\x93\x33\x5b\xa0\xdc\x73\xbf\x26\xc2\x88\xbf\xe9\xbe\x8a\x73\x6d\x75\xe5\xe0\xea\xa7\xbb\xe8\xd0\xb7\x7a\xbd\xd5\x14\x6e\x0f\xc9\xb3\x0d\xb9\xf0\x7c\xf4\xbf\x36\x26\x0a\x1f\x41\x41\x03\x31\xf8\xb4\x7c\x6b\x38\x33\x8c\x6d\xc9\xe8\x01\xff\xe1\xd5\x85\xf9\xb7\xfc\x31\xe9\x77\x8b\xca\x30\x27\xc2\x32\xc0\x74\xcb\x18\xe5\xb7\x29\x97\x00\x5f\xfe\xee\x4b\xf3\x7c\x8f\x87\x4b\x1b\x24\x6a\x63\x45\x41\x5d\xac\xac\xa7\x07\x5a\x60\x44\x3a\xc3\x31\x92\x36\xe2\x3c\xf6\xb7\x54\x47\x40\x80\x70\x52\x11\x49\x84\xb8\xd8\xf7\xe8\x57\xdc\xc6\xfa\xec\x88\x69\xcf\x96\xb9\x97\xdf\xa9\xaf\x91\x84\xad\x62\x3f\x1d\x90\xb8\xca\x75\x9b\x44\x8e\xab\xfc\xe1\x8c\x17\xcf\xdf\x9a\x3e\x33\x12\xe6\x3e\x5f\x08\x4c\xea\x90\x4c\x1c\x90\x99\x13\xcc\x4b\x19\xd0\x44\xa3\x72\x00\x34\x97\x3c\x73\x84\x94\x9b\xd6\xf9\xba\x92\x56\xf9\x8c\xd3\x94\xc5\x66\xda\x83\xc3\x11\x80\x10\x9f\x16\xd1\x03\x47\xb7\xe3\xe9\xdd\x6b\xe3\xbd\x3c\x77\xff\x1a\x79\x96\xa0\x78\xdc\xf8\x9d\xcd\xce\x2d\x1b\x61\x56\x95\xf4\xcc\x9f\x8f\x4f\x2a\x08\x80\x46\x41\xbc\xa8\x26\x62\xce\x88\xfa\xa5\x31\x45\xb6\xa4\x59\x55\xae\xc8\xcc\x2a\xf8\x1c\xcc\xb5\xd7\xc6\x4f\x9e\xce\x1c\x99\x83\x32\x64\x84\xa1\xe5\xec\xe4\xce\x36\x54\x4d\x63\x73\x5f\x77\x76\xf2\x1a\x20"}, -{{0xa1,0x21,0x2b,0x34,0xdb,0xca,0x63,0xb7,0x09,0x36,0x12,0xd0,0x5d,0xab,0x7b,0x4c,0xc8,0xf7,0xb6,0x76,0xa9,0x34,0xad,0x01,0xf6,0x59,0x85,0x1b,0x3b,0xb4,0x4e,0x4e,},{0xba,0x2f,0xcc,0xea,0x9a,0x08,0x05,0x91,0xbe,0x71,0x26,0x8d,0x7e,0x95,0x1f,0x25,0x0d,0xed,0xc0,0x04,0x16,0xe5,0xf3,0xf9,0x08,0xdb,0x6c,0xc5,0x71,0x25,0x49,0x25,},{0xfa,0x93,0xed,0x65,0x95,0xbc,0x95,0x8d,0xc0,0x42,0xce,0x16,0x45,0x16,0x7b,0x79,0xe8,0xf6,0x73,0x4c,0x46,0xf8,0x0f,0x63,0x1f,0xd5,0x48,0x49,0x08,0xf5,0xe5,0x1a,0x22,0x42,0x7e,0xe6,0x86,0xf5,0x64,0xff,0x98,0x2f,0x6e,0xf4,0xd2,0xca,0x1f,0x0c,0xa5,0x62,0x49,0x10,0xcd,0xd6,0x3c,0x11,0xa3,0xc2,0xb1,0x6d,0x40,0x97,0x3c,0x07,},"\x07\xc3\x7c\x46\xbe\x3c\x68\xd0\x56\x89\x57\x7a\xa6\x4a\x93\x2b\x90\x64\x46\xb2\x9b\xaf\x12\xf6\x17\x4a\x6b\x42\xbb\xae\xfd\x1f\x1f\x37\x3e\x0b\xcc\xc4\x73\xdd\xfc\xee\x1a\x7f\x21\xb9\x6a\x62\x60\xef\x0a\xa1\xf2\xd8\xb2\x95\x9e\x71\xd1\x2c\x95\x33\x58\xa2\x77\x4c\xc5\xe6\xf3\x79\xa3\x13\xe4\x35\xed\x69\xdf\xd6\xd4\xa5\x9a\xde\xe3\xcc\x7e\xc4\xba\xcb\xdb\xb3\xfe\xe5\x43\x0b\x73\xf6\x05\x1a\x60\x96\xc6\x0e\x9b\xc9\x2c\xc8\xfa\x05\x9f\xac\x2a\x93\xef\x70\x07\xd6\x4f\xbe\x50\x06\x49\x64\xd5\xa0\xad\x60\x11\x75\xcd\x9c\xab\xa4\x53\xf9\x10\x3b\x25\x48\x55\x45\xd3\x01\xf0\x3c\x5f\x9f\x94\x78\xbd\xf9\xd4\x14\xbf\x1d\xca\x3b\x1c\x1d\x9d\xaa\x99\x71\xf9\xe6\x17\xfb\xfa\xf5\xb0\x2a\x7f\xbd\x5d\x4f\xb8\x94\xc0\x97\x5c\x54\x59\x2b\x49\xa0\xfc\x85\xdd\x08\x53\xf3\x0c\x51\x50\x2d\x98\xfc\x1a\xb8\x5a\x17\xcc\x58\x96\x1a\xae\x97\x64\x57\x0b\xa5\xcb\xdb\xc9\x6d\xfc\xeb\x8d\x11\xda\x53\x36\x4b\x40\x25\xfe\x0b\x8b\xa8\xa3\x53\xad\x23\x68\x67\x20\x16\x9f\xe9\x73\x43\x2f\xfe\x29\x1a\x4b\x11\xde\xdd\xa0\xaa\xc7\x9a\x5e\x42\x62\x0a\x64\x58\x7d\x20\x59\xe7\x87\x01\x3b\x40\xce\xec\x59\x92\x08\xf6\x6e\xd0\xca\x6e\x1b\xe9\x09\x2e\xc2\x7d\xb2\x16\xee\x6d\xad\xfe\xbc\x21\x70\x5b\xc4\xa8\x5a\xee\x57\x7e\x57\xd2\x39\xaf\x58\x6e\xfe\xec\x22\xcf\x38\xd1\xcf\xb3\xcd\x74\xdd\x0d\x9a\x33\x81\xaa\x81\xe6\xa2\x97\xe3\x9b\x81\x91\x37\xad\x27\xd4\x75\xe2\xbf\x54\xaa\x42\x6d\xc2\x9c\x4c\xa8\x17\x6d\xf3\x43\x13\x7a\x2d\x79\xd1\x2e\xf9\xaa\x7b\xe1\xcf\x67\x75\xe5\xd8\xa4\x43\x0a\x85\xc3\x3d\xb6\x1c\xd2\xf3\x51\x87\xb4\xf6\xea\x9e\xbd\xd7\x53\xd1\xc4\xef\x72\x47\x11\x59\xff\x07\xb7\x78\x70\x90\x64\x96\x24\x9d\x42\x78\xe3\xf3\xca\x6b\xcb\xf3\x7a\x26\x5b\x89\x65\x39\x19\x0f\x9a\x31\xf1\xe7\xb4\xb6\x5c\xd1"}, -{{0xd9,0x68,0x20,0x86,0xfe,0x7d,0xda,0x30,0xb8,0x71,0x11,0x06,0x01,0x93,0xd8,0x47,0x56,0x6a,0xb9,0x4c,0xfd,0x9c,0x97,0xab,0x6b,0x43,0xe7,0xa8,0xd3,0xf7,0x93,0x82,},{0x8b,0x0b,0x13,0x72,0xd8,0x87,0x33,0xef,0x72,0x33,0xf6,0x37,0x97,0x90,0xd1,0xe4,0x6e,0x1e,0x07,0xe9,0xd3,0xfb,0x8b,0x0b,0xe2,0x52,0xed,0x04,0xc5,0xfa,0x16,0x3d,},{0x17,0x93,0xe4,0x97,0xeb,0x52,0x1c,0xa7,0x4e,0x35,0xd1,0x4a,0x63,0x86,0x8c,0xbe,0x94,0x99,0xda,0x2f,0x21,0xb4,0xeb,0x52,0x60,0x34,0x0f,0xca,0x3c,0x1f,0xec,0xa7,0x8d,0xbe,0x5b,0x14,0xac,0x10,0xf3,0xfa,0x76,0xfa,0x2e,0x71,0xe4,0xc9,0x14,0x61,0xaa,0x75,0x97,0x7e,0x5e,0x70,0x79,0x26,0x70,0xef,0x7f,0xf0,0xe6,0xa2,0x87,0x08,},"\xe8\x81\x4b\xe1\x24\xbe\x3c\x63\xcc\x9a\xdb\x03\xaf\x49\x3d\x44\x2f\xf2\x0d\x8b\x20\x0b\x20\xcd\x24\x93\x67\xf4\x17\xf9\xa9\xd8\x93\xfb\xbb\xe8\x5a\x64\x2b\xe2\x70\x1d\x1d\x1b\x3c\xd4\x8a\x85\xcf\x58\xf1\x59\xa1\x97\x27\x31\x43\xa5\x78\xf4\x2e\x8b\xcc\x8b\x62\x40\xf9\x32\x71\x90\x05\x38\xff\xc1\x87\xc0\xaf\xc8\xdb\xcc\x49\x2b\xcd\x67\x9b\xaa\xef\x3a\xf5\x08\x84\x34\xa9\x45\x86\xf9\x4b\x49\x97\x0b\xba\x18\xf5\xea\x0e\xbf\x0d\x27\xee\x48\x2a\xa8\x3a\xd0\xdd\x0e\xe6\x09\xdf\x59\xd3\x7f\x81\x8b\x2c\x8d\x7c\x15\xf0\xf6\xf5\x44\xdd\x4c\x7e\x7c\xb3\xa1\x67\x24\x32\x4f\x77\xd5\x89\x48\xf8\x47\x5a\x60\xd5\x3e\x5b\xd5\x10\xc1\x71\x37\xc9\x9e\x1c\xfa\x51\x5a\xf9\xbc\x85\x56\x9d\x21\x2a\x21\x19\x07\x29\xf2\x81\x7d\xe8\xc4\x69\x15\xe0\x21\xdf\x70\xff\x6d\x60\x21\x5f\x61\x4f\xc2\x11\x39\x90\x4d\xf3\xb2\x92\xb7\x49\xdc\x4d\xea\x02\x51\x8b\x62\xd1\x58\x62\xc9\x2d\x2a\x4c\x99\x67\x01\xcd\xec\xae\xd8\x4a\xb6\x28\xee\x98\x4f\xc1\x11\xee\xcb\x59\xe4\x84\x44\xef\xc0\xd4\x56\xe2\xc8\x52\x51\x84\x41\xc3\xdb\x76\x30\xdd\xd5\x15\x62\x49\xa2\x87\x30\x98\x38\x38\xae\x59\xac\x4c\xc7\x11\x0f\xd6\xde\x68\x10\x1e\xa5\xb2\xff\x69\xfd\x36\x4e\x3c\x94\x48\xde\xfe\xfe\x17\x5b\xcb\xe1\x17\xcc\x11\xb4\xff\x75\x49\xc3\x3e\x10\x25\xb6\xb5\x92\x04\x8a\x8e\x31\x96\x9e\x81\x8d\xcc\x18\x8b\xb1\x9d\x7a\x24\x40\xa3\xba\xba\x4e\xb1\xb8\x1c\x45\x67\x9d\xb4\x6b\x31\xbc\xde\x77\x76\x75\x7d\x99\x31\xec\x20\x63\xfc\x6f\x1f\xcd\x76\x1e\xcc\x57\xa7\xd0\x30\xa8\x5e\xa2\x73\xef\x18\x25\xb0\x50\x92\xab\x96\x45\x35\x9a\x44\x4f\xf7\xd1\x66\xb5\x75\xfa\xc2\x98\x30\x8d\x9f\xaa\x68\x46\x3d\x1d\x0f\x7b\x7d\xf8\xa5\x1c\x68\x15\xd3\x71\x59\xad\xc0\xb5\x93\x22\x4a\x81\x83\x21\xd7\x21\x9f\x09\x68\x6c\xfc\x95\x22\x59\x71\x8d\xfc"}, -{{0xb5,0x2b,0x24,0x9a,0x7a,0xea,0xe0,0xfb,0xd9,0x4f,0xfc,0xf9,0xa9,0xfd,0xe1,0x0d,0xe6,0x1c,0x3f,0x4c,0xbd,0xa1,0x4b,0x28,0x9f,0xe0,0x1f,0x82,0x70,0x73,0x34,0xca,},{0x73,0x51,0x63,0xbf,0xcf,0xd5,0x4f,0x9d,0x35,0x2e,0x1c,0x2f,0x3c,0x01,0x70,0xc9,0x5c,0x18,0x42,0xcc,0xc7,0x42,0x16,0x23,0xae,0x04,0x96,0x98,0x0c,0xee,0x79,0x1c,},{0x6f,0x48,0xa9,0xf7,0xf0,0xfa,0x19,0x2b,0x66,0xd1,0x21,0x75,0xa3,0x33,0x61,0x23,0x03,0xe1,0x80,0xb9,0xfa,0xb1,0x8e,0xda,0xbe,0xbc,0xdf,0x66,0x74,0xfd,0xfc,0xc5,0x36,0x07,0x08,0x9b,0xf9,0x80,0xce,0x35,0x89,0x4c,0x2f,0x9b,0xab,0xdc,0x44,0x38,0x66,0x7a,0xb3,0x29,0x7a,0x62,0x48,0xec,0x02,0x69,0xfa,0xa9,0x9c,0x72,0x48,0x07,},"\x1d\x44\x5e\x8e\xe3\x6f\x6e\x10\x64\xee\x12\x81\xe6\xb4\xa4\xce\xc5\x0a\x91\xc2\xb6\x67\xc8\x30\x5d\x1e\x9a\x5f\x7b\x73\xa3\x44\x58\x82\x58\x1f\xb0\xc1\x1e\x64\xf6\xee\x92\xe8\x11\xf9\xf2\xd6\xc5\x9c\x63\x44\xbe\x76\x91\xd1\x16\xdd\xa4\x93\xca\xde\x51\xc0\xce\x77\x37\x2b\x61\xa7\xc4\xfb\xb6\x33\x40\x13\x33\xcb\xf7\x13\x72\xad\x2f\x04\x4e\x99\x2a\xc0\x35\xf5\x87\x9c\x05\x30\x04\xf8\x22\x3f\x23\x7a\x24\xa4\x09\xb7\x89\x4f\x6a\xd5\x18\xe0\x46\xb8\xa8\x4c\x3f\x4c\x62\x60\xe6\x16\x9f\xd9\x44\xd5\x7f\xbc\xf9\xba\x27\x75\xf2\xd6\x0e\xd7\x72\xc4\x6c\xcd\x63\xc8\x50\xb8\x0d\x58\x7c\x52\x08\xdf\xb1\xa2\x58\x78\xc0\x2d\xec\xe3\xe6\x02\xe9\x63\x2f\xc3\xc2\xc7\x9b\x25\xab\x41\x03\x4c\x6e\x26\xb8\x69\x25\x53\x57\xa6\x86\x78\x1d\xfe\x6e\x64\x4b\xeb\xa9\xb6\x27\xda\x1f\xcb\x5e\xc0\xbe\x49\x7c\xf1\x88\xe1\xef\x1a\xf0\x60\x1b\xf1\x6b\x29\x11\xfd\x9f\xf3\x4f\x0e\x97\xac\x95\xa7\xfe\x2c\xf9\x0e\xa6\xce\xd3\x3c\xcb\x0e\xd1\xef\x2d\x41\x60\xef\xb0\x7c\x59\x1a\x5c\xb1\x6c\x70\xca\x16\x94\xfb\x36\xf2\xca\x19\xeb\xa5\x2b\xe3\xd4\xad\x89\x5a\xbc\xad\xa4\xb3\x6f\x02\x61\xd6\x5f\x59\xe0\xcf\xd2\xa6\x14\x8a\x88\x92\xdd\xbb\x45\x81\x0d\xb3\xbf\x4a\x9e\x26\xe9\x2c\x15\xea\x26\x18\xcf\xee\xb4\x62\xd8\x62\x8f\x25\x4f\x54\xd2\xaf\x27\x11\x3b\xab\x4f\x9a\x7d\x06\x79\x18\x11\x94\x2b\xdc\x32\xf8\x45\x92\x2d\x7b\x2d\xdb\xa9\x59\x14\x09\x28\xf8\xc2\x8d\x98\xb4\x4e\x1d\x19\xb9\x7f\xd3\x9c\xc0\xf9\xa5\x23\x6d\x34\x9f\xc8\x35\xac\x49\x21\x92\x46\x2e\x40\xac\x62\x9b\xeb\xff\xd2\xeb\xa7\x2d\x27\x88\xb2\x44\xbb\x77\x7a\xd0\xf7\xb7\xf9\x6f\x23\x41\x23\x99\xfc\x1d\x87\xa1\xd0\x87\xba\x08\x90\x27\xea\xbb\xc0\x5e\xda\xfe\xe4\x33\x79\xe8\x93\x29\x13\x31\xb4\x60\xbf\xa7\x33\x2e\x08\x42\xec\x25\x73\x39\x3d\xe9\x53\x06"}, -{{0x78,0x2a,0x93,0xef,0xe0,0xef,0x06,0xcb,0x25,0x34,0x33,0x0e,0xfd,0x0e,0x96,0x84,0xe9,0x96,0x9b,0x52,0x58,0x12,0x3e,0x49,0x02,0x39,0xbf,0x24,0xbf,0x9f,0x65,0x23,},{0x94,0x2f,0xa1,0x40,0x6e,0xe2,0x68,0x3e,0x29,0x37,0x7e,0x49,0xf7,0xba,0x75,0x7c,0xf5,0x0e,0xf0,0x72,0x37,0x07,0xd4,0x40,0x3d,0x28,0x62,0x25,0x70,0x45,0xde,0x87,},{0x93,0xe7,0x40,0x5a,0x40,0x44,0x51,0x01,0x66,0xc8,0xac,0x26,0x4c,0xe3,0xb5,0xba,0x66,0x65,0xd6,0x8b,0xad,0x45,0x87,0x12,0xdc,0x93,0xc2,0xc3,0x90,0x56,0x8d,0x74,0x02,0xef,0x7d,0x57,0xf5,0x49,0xb8,0xa1,0x04,0x2f,0x7f,0x69,0xa6,0x79,0xaa,0x85,0x5f,0x34,0xf8,0x01,0xd5,0x7d,0x79,0x89,0x5d,0xeb,0x8d,0xea,0xdb,0x35,0x23,0x08,},"\x46\xa4\xe3\x19\xa6\x70\xac\x99\x39\x94\xa5\x33\x00\xc3\xf7\x91\x44\xc2\xf7\xfe\xc1\x11\x6e\xee\xb3\x62\x1c\x76\xac\x35\xda\x79\xdb\xff\x6e\x18\x9c\xa9\xdb\xfc\x9a\xbb\xda\x05\x48\x47\xb2\x97\x1b\x02\xfa\xce\xbb\xe9\x26\xd4\x69\xeb\x0a\x86\x03\x89\xac\x74\x41\x62\xbf\x6f\xb1\x3b\x42\xcb\x9b\xb8\xc9\xd7\x26\x07\x13\x8e\x78\x00\x12\x1e\xe0\xcd\x63\x3e\xd5\x35\xc7\xae\x5f\x40\x60\xbb\xdd\x27\x1c\x9d\x11\x0a\xbf\xf5\xe0\x60\xea\x6e\xe8\x38\x90\xb1\xe9\x2a\x92\x56\xd7\xb2\xba\x98\x2a\x31\x14\xbb\x6d\xef\xfe\xe2\x69\x6f\x0a\x2f\x9c\x21\xaa\xa5\xb2\xde\xfa\x11\xaa\xb7\x07\x6d\xe6\xe5\x7e\x86\xf2\x84\xbb\x67\xf5\xa4\x9e\xe6\x85\x92\x10\x32\xc9\x5b\x74\xe7\xe3\xea\xc7\x23\xf1\x75\xaf\x08\x2c\x85\x8e\x0d\xfa\x01\x72\x8c\x38\xfb\xbb\x4c\x83\x58\x1f\x81\xac\xe6\xc6\x3c\x6b\xda\xac\x56\x20\xeb\x9a\x56\x8e\x7e\xbb\x7b\x72\xb3\xd1\xa1\x64\xef\x52\x4e\x7b\x9f\x00\x79\x9a\xb0\x86\x71\x59\x76\xc1\x4d\x0d\xf6\x5f\x7b\x96\xbf\x9e\xbc\xda\x7f\xee\xef\x11\x34\x22\x00\x1a\x03\xa7\x63\x3d\xf5\xe4\x99\x39\xa1\x21\xdb\x89\x9d\x9b\x8a\xc2\xdb\x4f\xad\x0c\x30\xcf\x0b\x8b\xdb\xc9\xe9\x80\x2a\x79\x7c\x82\x38\xe4\x65\x11\xff\x24\x06\x8c\xad\xcf\xf2\x44\x8c\xc0\xbf\xf9\x27\x69\x22\x33\x48\xd4\x5d\x6b\x6f\x2c\x8f\x15\x93\x38\x8c\x0b\xbb\xf4\x4b\x6d\xdb\x50\xb9\x8c\xd7\xf0\x9c\x73\x0f\x7d\xe4\xd0\x08\x15\x6c\xb3\xcd\xe0\xca\xb3\xad\x0a\x58\xa8\x39\x54\xe2\x34\xa0\xa8\xa0\x4b\x57\x3c\x9a\x8e\x9b\x92\x9e\xd3\x8b\x8b\x22\x8b\xf5\x5a\x3c\x6e\x2c\x6b\x51\xf6\x82\x65\x2f\xbb\x70\x8e\x74\x64\x0e\x33\x13\xe1\x7b\x46\x94\xd7\xfd\xf0\x11\x1f\x90\x60\x8c\x1b\x5a\xf4\x22\xdc\xde\xca\xd9\xdd\xb7\xf5\x0d\x1b\xf5\xbc\x63\x78\xcc\xaf\xfc\x32\x01\xe6\xc7\x87\xb4\x8c\x44\x3b\xa2\x40\xd9\xd5\x0f\xf6\xc0\xe9\xdf\x7f\x1a\x5b"}, -{{0x6f,0xe7,0xbc,0xf7,0xa6,0x84,0x42,0x3d,0xe1,0x07,0x6f,0xd7,0x6d,0xa7,0x83,0x42,0x33,0x73,0xb3,0x81,0x32,0x9e,0xfd,0x61,0x57,0x42,0x4e,0xc4,0xb2,0x65,0x5a,0x94,},{0x77,0x40,0xe9,0x1a,0xfe,0x45,0x32,0x4f,0x8b,0xb9,0x90,0xca,0x2a,0x34,0x12,0x79,0xdd,0xaf,0x23,0x2c,0x3b,0xb4,0x15,0xf1,0x78,0xb6,0x09,0x2f,0xba,0x19,0x5f,0xec,},{0x99,0x14,0xcc,0x50,0xfe,0xf0,0x93,0x5e,0xfb,0x89,0xb3,0xd6,0x4e,0x3c,0x1c,0x34,0x12,0xae,0xd6,0x59,0xb9,0x01,0x66,0x22,0x2c,0x0d,0x13,0xec,0x1c,0xe3,0xa6,0x8a,0xe6,0x28,0x1b,0x7e,0xfd,0x9d,0x4e,0xc6,0x4b,0x82,0xe7,0x3e,0x14,0x47,0x9f,0x03,0xfb,0xac,0x8f,0xa3,0xab,0xdb,0x41,0xea,0x42,0x15,0xc4,0xa4,0xd4,0x94,0x9d,0x09,},"\x0b\xaf\x0a\xd4\x40\x61\x2b\x4c\x5a\x13\x6c\x3a\x42\xbe\x1c\xa2\xb7\xc3\x19\x86\x2a\x44\xa9\xfd\x50\xc4\xee\x73\x54\x1c\x5e\x64\x57\xef\xa8\x18\x25\xb6\xdd\x4a\x72\x19\x4a\x29\x68\x68\x8b\xd4\x9e\x5a\x8f\x4c\x04\xdb\xaf\xc2\xe7\x88\x4c\x0c\x70\xc2\x08\xd4\xe9\x54\xcd\x16\x75\xda\x8e\x74\xc6\x5c\x49\x7c\xf9\xdc\x69\x42\x49\x65\xbd\xcb\xa5\xde\x52\x93\x6f\x92\x5f\x62\xe2\x01\xf9\x95\x05\xd3\x77\x7b\xeb\x3c\x2e\x08\xb2\xec\x9a\x87\x3e\x5a\x9c\x21\xfb\x4a\x2f\x3e\x86\x1f\x3c\xf4\xd6\xb5\xdc\xd1\xc8\x8b\xcd\x91\x63\x53\x9a\xc6\x2c\xd0\x65\x9f\x4e\xf2\x32\xc2\xce\x57\xfc\x77\xf9\x02\x85\xeb\x35\x01\x69\xed\xc6\xa8\x06\xff\x50\xf6\x1c\x7e\x0b\xee\xeb\xec\xec\x63\xbf\xc9\xd3\x98\x3f\x5b\xb4\xb2\x61\xc7\x46\x47\x1f\xcb\xf2\x89\x2c\x61\x08\x97\x0b\x68\xdb\x5e\x43\xc4\x50\x4d\xda\xe2\xd0\xff\xff\xa2\x8b\x67\x59\xae\x11\x28\xe1\x6f\x66\xd4\x92\xad\x61\xe3\x72\x2c\x96\x0f\x88\x69\x2b\xe8\x1a\x9f\x41\x28\x90\xff\xa3\x46\xe7\x02\xc8\x67\xdf\xa2\x59\x70\x3b\x73\xf5\x25\x07\x4f\x32\x27\xc4\x9c\xec\x1b\x64\x5a\x10\x3b\xd4\x47\x1f\x33\xf9\xf1\xba\xc3\x27\xd7\x91\x78\x61\xd0\xad\x91\xab\xee\x60\x22\x2e\xa2\xa3\xc8\xca\xc0\x52\xae\x9a\x2c\xbd\x90\x85\x5d\x73\x3d\x53\x19\x13\x3f\x95\x41\xbd\x0b\x61\xf0\x99\x52\x68\x35\x1e\x28\x63\xc1\xca\x2c\xa5\x1e\x3c\x97\x63\x83\xf5\xc4\xc1\x1f\xf4\x10\x03\x6f\xd5\x1d\x5a\xc5\x6b\x02\x3c\xe9\x02\x9c\x62\x0f\x22\x55\x70\x19\xad\x9b\x42\x64\xed\x4d\x71\xb4\x34\xf4\xa4\xd1\x7a\x7d\x57\x69\xfa\x1e\x14\xa6\x9f\x7a\xe4\x19\xcc\xf5\x94\x7f\x8c\x76\x82\x69\x71\x16\xc2\x40\x5f\x5a\x19\x59\xc5\x4b\x48\xf0\x87\x2f\x59\x6e\xd4\x59\x64\x48\x8d\xde\xc1\x2b\xdb\x63\x6d\x0b\x34\x9e\x74\x9e\xb6\x60\x92\xff\x45\x11\xfb\xa5\x9b\x59\x62\xcb\x93\xcc\x85\x51\x5c\xc8\x6a\xb0\xc6\xb2"}, -{{0xdd,0xa4,0x8a,0x0d,0x15,0xa2,0x9e,0xba,0x9a,0x76,0x30,0x5d,0x36,0x0e,0x46,0x6e,0x72,0xd8,0x04,0x0e,0xfe,0x2e,0x89,0xc0,0x4b,0x64,0x61,0x31,0x5a,0x9b,0x8b,0xf4,},{0x4f,0x5c,0xc3,0x6a,0x80,0x94,0x16,0xb5,0x8e,0x15,0xd2,0x4c,0xc5,0x79,0x68,0xcb,0x57,0x3b,0x76,0xad,0x90,0x88,0x7a,0x8e,0xf3,0x6c,0xde,0x7e,0xca,0x40,0x0f,0xcc,},{0xce,0x71,0xbc,0x82,0xd5,0x31,0xd0,0xf9,0x3b,0x57,0xbf,0xdc,0x2f,0x73,0x16,0xcf,0x40,0x4e,0xe0,0x9a,0xf8,0x8f,0x33,0xbf,0x80,0x6c,0x7c,0xad,0x6b,0x8f,0xfa,0x36,0x62,0x36,0xba,0x74,0xe7,0x5c,0x15,0x09,0x6d,0xda,0xa6,0xe3,0xa6,0x2a,0x8f,0x5e,0xb1,0xc8,0xc3,0xf6,0xb6,0xc9,0x4a,0x6a,0x34,0x9f,0xc7,0xc0,0xcb,0xfb,0x19,0x0d,},"\xf5\xac\x19\xb8\x1f\x21\x11\xa0\xdb\x0a\xe3\x0d\x15\x13\xed\x34\x3e\x7f\x57\xf7\xf7\x7d\x65\xb8\xac\x7c\xe3\xa6\x01\x17\x4b\xae\xd9\xbf\xa1\x36\x03\x59\x76\xf5\x16\xd5\xa8\x70\xf4\x5d\xb1\x91\x9f\x1e\xb1\xcb\xec\xbe\x88\xec\x32\xd1\x91\xe9\x24\x88\x21\xa7\xe7\x68\x1f\xe3\xab\xec\x11\x58\x4b\xdb\x33\xde\x1b\x4c\xa9\x48\x91\xeb\x66\xdc\xb8\x53\x9a\xc4\x11\x63\x73\x6c\xcf\xd6\x9a\xbb\x83\x81\x4d\xd3\x8c\xd6\x03\x81\x31\x87\x28\x05\x2a\x25\xcb\x66\x54\x71\x05\x86\x50\xcc\xc7\x57\x56\xdb\xee\x68\x8a\xb8\x26\xec\xad\x4a\xd5\xa7\xdb\x57\xe8\xf6\x5f\x1b\x64\xab\xff\x82\xdd\x53\x33\x4b\x79\x7a\xc4\x02\x28\xdd\x81\x7f\x23\x9d\x3e\xe8\x04\xa1\x9a\xea\xc8\xcf\xe3\x3e\xb6\x57\xec\x9c\xe9\x23\xd6\xb3\x88\x91\x4c\xfb\xa2\xe7\x2b\xfc\x2b\xc3\xd6\xf9\x85\xc0\xd9\x75\x34\xdb\x95\x8e\xed\xe5\x7b\x16\x49\x1f\xfb\x75\x5c\x1a\x58\xd7\x8a\xb3\x77\xfa\xec\x0d\x31\x18\x18\xe8\x99\x26\x0e\x3e\xbd\x1c\xcd\x29\x24\x6f\xa8\x2d\x0b\x76\x62\x2b\x2c\x4b\xc5\x2f\x54\x9f\xee\x72\xa3\x0f\x55\x4f\x33\x1f\x36\xd2\xa7\x4d\x99\x9e\xc1\x0a\x08\x29\x4f\x00\x2b\x43\x61\xe5\x90\x27\x9c\x2f\xb1\xbd\xa4\x31\x2c\xcb\x24\xd7\x52\x82\xce\x7c\x06\x1a\x0c\xa5\x52\x0c\x74\xf6\xf6\x33\x3b\x18\xc4\xb5\x41\xcb\x6c\x51\xe0\x15\x75\xba\x80\x51\x2f\xfa\x7c\xe0\xac\xcd\x22\xd1\x40\x27\xc5\x3a\xba\x1f\x74\x37\x83\x5f\x11\x14\xd6\x8e\x3a\xcf\x3f\xf8\xde\x94\xc8\xe4\xef\x6d\x3a\xb3\x12\xc9\x1d\x02\x97\x01\x57\x50\x8f\x54\xa5\x81\x6f\x46\x7a\x21\x4e\x9b\x12\x84\x30\x02\x89\xe6\x5f\x36\x5a\x61\x0a\x8e\xa2\x84\x66\x6c\xfe\x55\x18\xe4\x35\xbc\xcd\x21\x62\x75\x01\xc7\x25\xf0\xb8\xeb\x57\x25\xe0\xe0\x6e\x0c\xef\x5d\xb2\x01\xb4\x8e\xc9\x1e\xbf\x87\x8d\xd5\x7c\xe8\xda\xc7\x33\x48\x48\xa1\xbc\x82\xc1\x8b\x06\x59\x55\xe4\xf5\x9b\xe3\x39\x85\x94\xdc"}, -{{0xec,0x57,0xb9,0x41,0xad,0xf3,0xca,0x13,0xe7,0x7a,0x78,0x05,0x77,0xcf,0xd0,0xdf,0x5b,0x49,0xed,0xc8,0x53,0x51,0x05,0x2d,0xa3,0x4e,0x99,0xf8,0xa9,0xbf,0x32,0x08,},{0x28,0x59,0xc0,0x71,0x97,0x8a,0x04,0xb7,0xf5,0x40,0x7b,0x6d,0x22,0x40,0x1a,0x78,0xef,0xd0,0x39,0x4b,0xb9,0x66,0xb9,0xa0,0x4d,0xa6,0xb5,0xef,0x81,0x9d,0xe3,0xfa,},{0x11,0x8e,0x14,0x62,0x12,0x6b,0x45,0xb8,0xc6,0x80,0x35,0x23,0x75,0x5c,0x56,0xdf,0xc4,0xe1,0x23,0xe4,0xac,0xbb,0x66,0xba,0x0b,0xa6,0xfe,0x3e,0x05,0x3d,0xa4,0x11,0x9f,0x57,0x19,0x29,0x5e,0x0c,0x82,0xac,0x64,0xd7,0xc5,0xcb,0x1a,0xc8,0x98,0xdf,0x26,0x3d,0xdf,0xd3,0x60,0xf3,0x00,0x8d,0x91,0x01,0x8b,0x26,0xf6,0xa1,0x73,0x0a,},"\xd2\xbc\xbd\x1b\xc3\x61\xab\x32\xc6\x6d\x72\xfd\x48\xa8\xe2\x27\xdc\x6b\x8d\x6b\x15\x08\x48\xba\x71\x5f\xf4\x7d\xd3\x5c\x8e\x49\x38\x1b\xb4\xe2\x93\x3f\x42\xcd\x26\xb7\x5b\x14\xd9\xc0\x03\x92\x82\xb6\x2b\x85\x56\xaa\xa1\x1c\xd6\x91\xe8\x28\x38\x2b\xe3\x06\x88\x9f\xc9\x20\x51\x37\xb1\x69\xd3\xbf\x17\xb7\xf3\x76\x93\xfc\xe2\x86\x03\x9f\x03\x80\x9d\x7d\x9d\x98\xc8\xfd\xe4\x6f\x11\x01\x94\x2a\x27\x9c\x51\x67\x06\xf5\x01\x91\xa9\x11\x2f\x6a\x24\x63\x0e\x1a\x26\xc3\x21\xe4\x6c\x9c\xcc\x85\xb6\xef\x94\x2f\x35\x3a\x64\x2b\x9e\x7e\xf9\x98\xc0\xfc\xe2\xd3\xa7\x5b\x99\x9e\xeb\x77\xf3\x1f\x9b\x08\x13\xa9\x7e\x30\x14\xc3\xa8\x6e\x25\x58\x73\x46\x21\xa3\x06\x6d\xae\x35\x84\x50\x31\xe3\x56\x65\xf1\x92\x29\x07\xdb\xb7\x39\x78\x6a\x8b\x76\x58\xab\x60\x27\x6f\x2d\x92\x1d\x1a\x51\x23\x0f\xc7\x4d\x19\xe8\x01\x84\xa4\xf1\x0e\x9e\x83\x4a\xbc\x9a\x36\xc4\x29\x72\x6b\xc0\x55\xdc\x8c\x06\x3f\x0e\xca\x9c\x61\xa8\xa9\x70\xbd\x4b\xb5\xf4\x24\xee\x4d\x04\xbf\xc2\x95\xe3\xbb\x1f\x34\xbe\xcb\xd9\x92\x0f\xe2\xe7\x7f\xcf\x36\x76\x3f\x32\xfc\x9c\xfd\x5e\x46\x59\x79\xc1\x67\xca\xbf\x5a\x12\x44\xb4\x91\xfc\x06\xb8\x94\x64\x19\x04\x6b\xa5\x16\xc5\xb2\x33\xc4\x14\xdd\xef\xb6\xda\x04\xf2\xe1\x3d\xaf\xf7\xa9\xa0\xc0\x2a\x51\x8e\xde\x57\xad\x95\x21\xde\x64\xed\xdf\x6f\x49\xa9\x67\x0f\x63\x2d\x3f\x7d\x42\x42\x52\x07\xd0\x53\x60\x4f\xe3\x9d\x13\xb9\xf5\x2c\x8b\xc2\x92\xb0\x07\x6e\xa4\x2a\x56\x00\x56\xdf\x25\xde\x51\xad\x35\x88\x1d\x08\x54\x32\x24\xd7\xfa\x5d\x70\xb8\x60\x3e\xf2\x3c\xe0\x63\x39\xd6\xcd\x09\xe2\x2a\x95\x74\x9e\x50\xdf\xbd\x3b\x8a\xd6\x9f\xd3\x04\x96\xb9\x84\xd1\xc0\xa1\x99\xc8\x59\x48\x05\xf3\x8b\xa4\x46\x31\xa2\xc5\x9e\xad\xc6\x55\x4d\x19\xf9\xbc\x98\x36\x6d\xfd\xec\x2a\x12\x1d\x0e\x48\x14\xd2\xcd\x3f\x58\x71"}, -{{0xcb,0xfd,0x91,0xd7,0x69,0x5c,0x1f,0x27,0x0f,0x69,0x24,0x6a,0xb3,0xdf,0x90,0xed,0xb2,0x14,0x01,0x10,0x1c,0xa7,0xf8,0xf2,0x6c,0x6d,0x00,0xf4,0xdc,0xb7,0x23,0x3e,},{0x51,0x38,0x79,0xcf,0x79,0xd2,0xf4,0x6d,0xf4,0xb8,0x5a,0x5c,0x09,0x49,0xeb,0x21,0x16,0xab,0xf9,0x81,0x73,0x5a,0x30,0x31,0x64,0xcb,0xd8,0x5a,0xdf,0x20,0xb7,0x52,},{0xf3,0x36,0x13,0x7d,0xfe,0x6f,0x42,0xa6,0x66,0x9b,0x55,0xf7,0x4b,0x80,0xb3,0x03,0x5a,0x04,0x03,0x67,0xf9,0x06,0x56,0xfc,0xef,0x0a,0x64,0x4c,0x52,0x27,0x2d,0xdc,0x39,0x27,0x3c,0xd7,0x72,0x60,0x10,0xeb,0xcd,0x8a,0x30,0xa0,0x52,0x01,0xab,0x70,0xb8,0xff,0x97,0xd0,0x28,0x8a,0x2c,0xb9,0x4c,0xbc,0x49,0x02,0x06,0x47,0x39,0x0b,},"\x26\x4a\x93\x3f\x7d\x0a\xec\xba\xc1\x3e\xef\x64\x4b\x0b\x53\xdd\x53\xa1\x28\x09\x04\x10\x0d\xbc\x1a\xb8\x7b\x51\x14\x89\x98\xf9\xda\x0b\x3a\x0a\x63\x37\xf5\xe3\x48\x6c\x2b\x7e\x54\x8d\x21\x12\x59\x39\x7a\xaa\x19\x4e\xe4\x69\x5b\xf9\x8c\x2d\x5f\x44\x87\x69\x9f\x73\x97\xe5\xd3\xa7\xe6\xd5\xf6\x28\xfb\xd0\x54\x97\xc5\x56\xa5\x0a\x4d\x05\xe2\xb7\x12\xcd\xbc\x35\x10\x68\xe4\x2a\xf1\x95\x38\x90\x1b\x88\x25\x31\x0e\x34\x3e\x1a\x17\xa1\x86\x7d\xde\x0e\xb4\x7d\xda\xb4\x56\xd3\x16\xf3\x52\x15\x54\x93\x7b\xf8\x08\xae\x4e\x4b\xc1\xc3\xc5\xb4\x75\x6e\x4a\x16\x5a\xd9\xe8\x82\x7f\x53\x16\xf7\x48\xca\xc6\x99\x8e\xd2\xd2\x10\x4f\x26\x84\x07\xc1\x35\xe6\x2f\x26\xa9\x22\x46\x0e\xab\x6d\x85\x16\x39\xa0\x0e\x5f\x08\xb3\x47\x65\xea\x02\x44\xf4\x75\xbb\xfe\xac\x18\x3e\x3b\x5b\xd1\xaa\xb7\x98\x52\x27\x98\xa0\x8e\xc6\xbf\x22\x57\xd4\x69\x2f\x5b\x03\xcd\xd0\xa2\x13\x3d\xe9\x70\x60\x3e\x32\x51\x47\x5a\xad\x8d\x93\x4a\xf6\xb2\xbf\xc7\xa6\x50\xb9\x1b\xde\xc1\x43\xf8\xad\x25\x4c\xfa\x50\x6b\xbf\xf2\x8a\x03\xbe\xb6\x59\xef\x5e\x5d\xdf\xfe\x76\xe2\x32\x30\xc4\xcc\xd4\x63\x10\xb3\x7d\xd9\x1f\xa6\xaa\x68\x16\x7f\x62\xa5\x5c\x8a\x69\xf9\xed\x1e\xc6\xcd\xb1\x44\xdd\x81\xab\x0b\xcb\xd6\x26\x43\x42\x0b\xca\xe6\x78\x69\xf6\x4c\x0b\x16\x9f\x3c\xdf\x3c\x90\x58\x95\xb7\xd3\x5b\x6f\xaf\xda\x25\xcc\xf2\x3c\x3d\x10\xde\x32\xe7\xf2\x71\xe3\x00\xd3\x95\x97\xda\x8f\x84\x37\x22\xef\x08\x36\x4a\x5f\x7a\x10\x5b\x96\x55\x17\x2d\xf7\xc8\x2d\x73\x74\xf9\x82\x64\xc9\xcd\xcc\xb4\x96\xf2\xe1\x0f\xd8\x26\x2f\xb1\xa9\xa9\x96\x5b\x0b\x84\x1a\xc0\xd0\xe9\xc1\xa3\xd9\x49\x3e\xa7\xaa\x60\x02\x05\xb8\xf9\x00\xbe\x0d\x7a\xbb\x4d\x98\xa0\x65\x83\xd2\x29\x5c\x27\x63\x18\xbe\x28\xd4\x21\x98\x2d\xed\xd5\xbf\xc3\x3b\x88\x65\xd9\x4e\xf7\x47\xd6\x26\xaf\x99"}, -{{0x51,0xa4,0x19,0x7a,0xb7,0x68,0x6f,0x82,0xf6,0x00,0x3a,0x0c,0x32,0xf3,0x9d,0x0f,0x2e,0x47,0x55,0x5f,0x4e,0x9f,0x8d,0xee,0xe7,0x5b,0xcb,0x1b,0xd1,0xef,0x69,0xe5,},{0x06,0x38,0x6d,0xf8,0x6b,0x61,0xf1,0xf8,0xf4,0xdc,0x45,0xb7,0x3e,0xda,0xa8,0x41,0x92,0x09,0x68,0xbb,0xd1,0x31,0xcc,0x5c,0xa1,0xc5,0x29,0x4e,0xee,0xd5,0xc8,0xba,},{0x2c,0x07,0x29,0x69,0xff,0x47,0x19,0x21,0x2a,0x12,0x19,0x38,0xb5,0x06,0xc6,0x02,0x99,0x5b,0x4d,0x02,0xa2,0x2e,0x61,0x98,0xd6,0xe8,0x7d,0xd6,0xae,0x07,0x62,0x25,0xac,0x70,0xbb,0x25,0xef,0x8c,0x0e,0xe8,0x1e,0xb6,0xfe,0x95,0x3d,0xf6,0xb1,0x81,0x59,0x49,0xe8,0xed,0x05,0x06,0xcb,0x01,0x2e,0x87,0x3c,0xd3,0x6c,0xd0,0x9b,0x0a,},"\x2a\xed\xb7\xe8\x2f\x1f\xe4\xce\x46\x9a\xda\x48\x34\x5d\x00\x6d\x1b\x3b\xff\x40\xeb\x21\x86\x7f\x51\xfc\xe9\x65\x64\x0c\x40\x9e\xc1\x3a\xd4\xd5\x2f\x89\x1b\xd7\x90\x66\xd6\xb4\xd9\x44\xca\x86\x8d\x89\x86\xd2\x42\xb5\x7e\xcc\xc4\xc4\xa4\x88\x29\x1b\x15\x9c\x8d\xe4\x39\x2b\xe4\xb8\x6f\xeb\xaa\x75\xea\xc5\xd2\x2d\x3c\x4f\x8d\x6b\xef\x79\xad\xb9\xb9\x2b\x49\x14\xd5\xea\x07\xc7\xf0\x21\xe2\xc2\x9f\x58\xd0\x7b\xe8\xa0\x84\x10\x0b\xc1\x52\xd5\x1c\xa8\x97\xd7\xc1\x31\x64\x4d\x08\x95\x32\x2e\x94\x40\xa8\x33\x9e\x1a\xa3\x90\xa7\xf4\xfc\xb5\x1d\xdf\xb6\xdf\x48\xaa\xf5\x67\x63\x37\xd8\x7d\xdd\x85\xb1\xd9\x25\xe1\xa9\xc2\x9f\xe0\x81\x8f\x51\x4e\xf7\x2f\x74\x7a\x67\x49\x46\x47\x69\x07\xa7\xca\x99\xe9\xdb\x8d\x20\x96\x41\x05\x7a\x7f\x44\xa3\x17\xb9\x09\x74\xbc\x86\xf9\x61\x7a\x96\x8a\x76\xa6\xb8\x38\x7c\xf5\x85\x3e\x60\x81\x90\xc1\xa7\x9f\x1e\x1d\x68\x6e\x0d\xe2\x2d\xb6\xcd\x9a\xeb\x85\x32\xc5\xc8\x5c\xc9\x0b\x5a\x01\x85\x79\xf2\x8e\x50\x2a\x77\x0a\x4e\xc6\x75\x26\x3d\x0d\xd7\x81\xb4\xfa\x53\xc9\xdb\xf8\x09\x8d\x57\xb3\x3a\xe2\xaf\xba\xeb\x3e\x68\x26\x6a\xd9\xaa\xb7\x17\x4b\xa6\x8c\x64\x79\x88\x39\x92\x67\x0c\xcf\x3e\x5a\xc6\xa1\x7e\x65\xe3\x1e\x1f\xdc\x85\xe2\x69\xc8\x09\x35\xef\x57\x4f\x20\xd2\x39\x56\x84\x86\xe7\xd9\x4a\x4f\x72\x4a\xb7\x00\x60\x98\xb2\x4f\x3f\x61\x58\x76\x91\x43\x5c\x7f\x29\xce\x4e\x5c\xa7\x1b\x2b\x18\x74\x55\x64\x33\xa3\x58\xc8\xc5\xef\x3c\x88\x08\x43\x03\x0c\x2d\x13\xd5\x1b\x78\xc9\xbf\x1a\x88\x24\xe6\x2e\x11\x18\x44\x39\x6f\x5a\xf2\xe2\x5c\x31\x26\xef\x36\x26\xe2\x6e\xfa\xfa\xcf\x99\x83\x0a\xa4\x12\x12\x33\x2f\x37\x8a\x16\x72\x33\xa0\xb4\x22\x13\xaf\xe3\x6d\x83\xdc\x45\x82\xa7\x96\x93\xb9\xd5\x71\xa5\x77\x12\xa0\x8b\x85\x66\xd3\x61\xac\x90\x26\x47\xaf\xc8\x86\x60\x3e\x24\x28\x3e\xfb"}, -{{0xb1,0x11,0x9c,0x36,0x11,0x8b,0x7a,0x06,0x5a,0x19,0x5b,0xfb,0x8b,0x79,0xa5,0xc2,0x87,0xe0,0x9b,0xd2,0x87,0xc2,0xda,0xac,0x5e,0x6b,0x01,0x16,0x4c,0x5d,0x73,0x7f,},{0x88,0xf2,0x18,0xec,0xba,0x99,0xe7,0x70,0xed,0x21,0x4a,0x8d,0x01,0xa9,0x2a,0x10,0x40,0x0a,0xca,0xf1,0xf6,0xee,0xd4,0x20,0x06,0x7e,0x13,0x6e,0xe2,0xc0,0xc6,0x70,},{0x24,0xec,0x1e,0x54,0xfc,0x7e,0x72,0x2d,0x37,0x55,0x1d,0x02,0xcf,0x13,0x5d,0x33,0xf5,0xd3,0xff,0x53,0x57,0x73,0xe0,0x29,0x91,0xee,0x85,0xff,0xd3,0xaa,0x29,0x99,0x7f,0x9c,0x46,0x44,0x70,0x19,0x7f,0xee,0x81,0xdc,0xe1,0x10,0x60,0x9f,0x87,0x0b,0x27,0xc1,0x8d,0xfb,0xcf,0xd9,0x32,0x05,0x48,0x52,0x5e,0x93,0x14,0x8e,0x22,0x05,},"\x88\x16\xb1\xeb\x20\x6d\x5f\x6d\xcc\x2e\x4c\xc3\x91\xd2\x32\x09\x00\x6d\xe9\x35\xe3\x18\x15\x2e\x93\xfc\x8c\x2c\xf0\x8e\x26\x43\x2b\xad\x9a\xdb\x32\x03\xd8\x98\xdf\x0a\x2e\x7f\x1f\x83\xdc\x2f\x3e\xd3\x20\x5b\xec\x8e\xfc\xfd\x31\xad\xc1\xac\xa5\x75\x5d\xb9\xbd\x4e\xfe\x54\xcc\x17\x07\x30\x77\xde\x4a\x3f\xdd\x11\x99\x6e\x84\xb6\xa0\x52\xf0\x34\xb4\x10\x99\x22\x6c\x9c\x27\x2e\xae\x12\x52\x8f\x16\x58\x1b\x91\xb8\x12\x85\x0c\x20\x71\x44\xdb\xff\x3e\x85\x0c\xca\x84\x8e\xc2\xb1\xdd\x16\x47\x44\xd7\xb5\x93\x37\xd7\xe3\xef\xef\x00\x81\x62\xe6\x80\xbd\x4a\x08\x99\xce\xd6\x0b\x17\x1f\x8c\xbe\xb4\x8c\x51\x58\xdf\x6c\xbf\xdb\x26\x24\x08\x81\xbd\x58\xeb\xb8\xb6\xa0\x79\x58\x72\x79\x67\x9c\xb5\xad\x82\xf3\x71\xb5\x3c\x80\x13\x80\x4c\x35\x59\x6c\x88\x7e\x43\x6d\x23\x92\x6f\x99\x4e\x09\xd9\x8f\xbb\x8c\xe2\x70\x41\x74\xef\x38\xb6\x82\x62\xa7\xf1\xa7\x12\xda\x0e\xf0\xde\xc6\x39\x60\x68\x14\xb3\xbd\xca\xf2\x53\xff\x31\xc4\x8e\x8a\x75\x2c\x11\x1b\xd7\x10\x10\x31\xcc\x3d\x38\xef\xb0\xc9\xc7\xf1\x9c\x59\x08\x15\x84\xa0\xe0\x15\xee\x7c\x75\xb1\x0a\x4c\x51\xff\x54\x3a\x30\xe5\x2d\x5f\x94\xd8\x18\x8c\x6b\x08\xe9\xdf\x1e\x84\xa4\xe2\xc8\x07\x17\x0a\xc1\x24\xa7\x71\xb9\x94\x65\xa0\xd3\x8b\x1f\x1c\x63\x30\x40\x3c\x82\x54\x35\x82\xc5\xbb\x61\xb2\x20\xde\x1b\x9e\x0e\xf6\x9b\xda\xe2\x60\x23\x18\x1b\xa4\xcc\x07\x7a\x5f\x0d\x42\x57\x32\xac\xe1\x32\xae\x0c\x6f\xf0\xbb\x18\xba\xea\x83\xe8\x87\x7a\xfb\xe6\x50\xfe\x0b\xd0\x20\x93\xf0\x0a\x7b\x53\x65\x72\x8d\xcb\x66\xfb\xb8\x81\xf5\x92\x94\x50\x58\xa5\xb3\x50\x66\x5a\xf9\x1c\x55\x7a\x54\x72\x50\xad\x29\x5e\x68\xb4\xfb\x72\x45\x7c\xfb\x9d\x5e\xa1\xa7\xb2\xa3\x9c\x9a\xb7\xd7\xac\xe0\xaf\x5d\x51\x66\x9c\xb6\xc2\xc4\xc0\x7b\x22\x56\xd1\x0e\x5f\xfc\x6b\x97\xc6\x60\x00\x63\x13\xc4\xeb\x8d"}, -{{0xcb,0xb5,0x87,0x51,0x4e,0x0a,0x34,0xff,0xc3,0x4c,0xbc,0x04,0xf2,0x8c,0x9b,0x4f,0x64,0x65,0xf1,0xeb,0x22,0x5c,0xca,0x19,0xb8,0x64,0x87,0x6d,0xae,0xf3,0x7d,0x7f,},{0x6b,0x70,0x5d,0x46,0x77,0xd2,0xd8,0x49,0xb6,0x74,0x4b,0x1e,0xbe,0xd1,0x67,0xdb,0xcb,0xf6,0x45,0x92,0x4b,0x1f,0xf2,0xe6,0x36,0x07,0x94,0xbd,0xd0,0xe0,0x97,0x88,},{0x12,0x74,0xd6,0xf3,0x56,0xeb,0x64,0x14,0x72,0xb6,0xb9,0xe5,0xb3,0xce,0x65,0xd2,0x65,0x4e,0x6c,0xb8,0x7d,0x3a,0x83,0xfb,0x49,0xd0,0xf7,0xda,0x9c,0x44,0xbe,0x2b,0x53,0x26,0x04,0x46,0x5f,0x60,0x89,0xd6,0x80,0xd2,0xd9,0x4b,0x0e,0xdd,0x2b,0x6b,0x2b,0x80,0x5c,0x5e,0x84,0xc3,0x79,0xef,0xc0,0x59,0x67,0x3d,0x31,0x00,0x7a,0x09,},"\xbd\xf7\xd1\x7c\x70\x67\x96\xef\xd3\x48\x95\x59\xb5\x27\xb1\xc0\x58\x4b\x90\x22\xc9\xcb\xda\x3a\xac\x51\x46\xda\x34\x0d\x9c\xea\x69\xf9\x16\x03\x7c\xd2\x1b\x3e\xb1\x10\x43\x48\x88\x0f\xd5\xc5\xb7\xc6\x5f\xf8\x20\xf7\x49\x93\x46\x01\x69\x51\xcb\x71\x5d\x8d\xf2\xb4\x1c\x88\xcd\x3c\x66\x10\x54\x58\xb7\xb5\x90\xc2\x1c\x1a\xe2\xf6\xea\x9d\xde\xa7\x47\x0f\x25\xe0\x20\x27\xd1\x71\xe0\xe5\x74\xa2\xbb\x21\x64\x2f\x8f\x9d\xa5\x08\xe2\x1d\x8e\x73\x35\xb5\xac\xe5\x93\x52\x99\x40\x7b\xd1\xb0\x1b\xdd\x14\x23\x13\x3e\xf0\x45\x23\x4e\x70\x1f\x55\x54\x94\x34\xad\xe9\x4a\x60\xbe\x1e\x14\x06\xca\x5c\x75\x8c\x36\x79\x9c\xe1\x70\x30\x84\x47\x6e\x48\x4f\xb1\x74\x05\x30\xae\xe8\x42\x66\xd0\x7a\xdf\xb4\xcc\x68\x9f\x32\x65\x13\x3a\x59\xcd\xf9\x92\xfb\xb9\xa4\xb1\x2d\xef\xbe\x24\x1d\xdb\xf6\x5d\x12\xb2\xfb\xdd\xfc\x05\xaf\x0f\xb8\xde\x42\x08\x07\x75\xba\xd2\x9c\x6b\x04\x59\x84\x1c\xbb\x64\x8a\x9a\x95\xe4\x8d\x6e\x36\xac\x51\x44\x80\xa3\xde\xb4\xb3\x65\x54\xd8\xda\x62\x08\x08\xae\x9d\x47\x32\x97\x10\xd2\x0a\xaa\x6e\x5d\x7f\x54\x7d\x81\xad\x30\xf8\x4c\x0e\x3d\x23\x9c\xde\x5b\x16\x9d\x9d\xdf\x29\x48\x32\xd6\x7a\x80\x60\xba\x32\x9c\x4e\xf3\x9b\xe9\x4a\xc4\x64\x34\xdd\x21\x85\x93\x1d\x12\x31\xf9\xb6\xdf\x87\x8a\x5a\xf0\x83\x1e\x0e\x9d\x8a\x08\xd0\x80\x69\xde\xd6\xa9\x61\xef\x7f\x39\xfa\xd5\x01\xff\xd1\x7d\x6d\x9b\x7c\x65\x46\x53\xc1\xf5\x8f\xce\xe1\xa6\xcd\x80\x3d\x2a\xef\x16\x6c\x78\xef\x55\x14\xa3\x27\x6d\x69\x98\xdc\x7c\x09\xa3\xfa\x98\x2e\x42\x7c\x78\x5a\xa6\xa9\xe2\x56\xf7\xba\x72\xd5\xa6\xba\x33\xeb\x46\xf1\xf9\xfe\x9b\xe2\xbf\xc1\x41\x09\xf6\x47\x73\xc0\x0c\x06\x3b\x4d\x5c\xb4\xf4\xf8\xa0\xbe\xca\x92\xa9\xa0\x16\xc4\xf5\x40\xfe\xea\x9c\x3a\x31\xe3\x13\xbb\xcb\xc2\xff\x5e\xca\x99\x67\x85\x7f\x5f\x8a\x90\x9a\x29\xd7\xf2\x0d"}, -{{0x8b,0xde,0x3f,0xf6,0x1a,0x16,0x99,0x5a,0xb9,0xd5,0x39,0xf6,0x05,0x32,0x19,0x08,0x1b,0xca,0xea,0x1d,0x45,0x8e,0xc3,0x36,0x84,0xfc,0x1c,0x01,0xfb,0x56,0x5b,0xfa,},{0xcd,0x9d,0x78,0x2a,0x35,0x6e,0x84,0x7b,0x7a,0x04,0xc8,0x85,0xa9,0xb0,0x90,0x7c,0xc3,0x3b,0xa9,0x7a,0xd5,0x39,0x0d,0x4e,0xa5,0xfe,0xe5,0xeb,0x19,0x8d,0x08,0xb3,},{0x74,0x64,0xdf,0x0b,0x67,0xeb,0x90,0xb4,0xb7,0x3f,0xf0,0x82,0xad,0x0d,0x60,0xeb,0xfe,0x06,0x60,0xda,0xe9,0x70,0x69,0xb5,0x2c,0x37,0x27,0x22,0x3b,0xf7,0x0e,0x29,0xe4,0x87,0x11,0xa2,0xbb,0xb4,0x38,0xf5,0xf8,0xd8,0xa3,0x3b,0xb9,0xc4,0x8f,0xe7,0xb6,0x28,0xfa,0x8a,0x54,0x2f,0xf0,0xb5,0xae,0x36,0x26,0x9d,0x40,0x07,0xa5,0x05,},"\xa1\xf4\x0e\xc5\x80\x7e\x7a\x27\x06\x9a\x43\xb1\xae\xbf\xf5\x83\xef\x03\x70\x28\xc0\x2c\x85\x95\x25\xeb\x8f\xa4\xc3\xba\x95\xa9\x01\xff\x3a\xed\x78\xc4\xf8\x77\x52\xfb\x79\x55\x22\xf5\xbf\x71\x5b\xe7\xe3\xde\xfa\xc1\x0f\xcf\x17\xe3\xfa\x5c\x54\xb2\x00\x89\xa4\x72\x33\x33\x27\x25\x2e\xc9\x45\x71\x8f\xb4\x55\xe3\xf2\x7c\xcf\xde\xf8\x23\xd1\x2d\x40\x6e\x62\xa4\xae\xba\x3c\xb9\xd1\xc6\x1b\x2b\x17\xe4\x9e\x20\x0a\x84\x18\xf9\x35\xf2\x6e\xeb\x57\x60\x2c\x7a\xa3\xb3\xa2\x4f\x7e\x62\x38\xd3\xe0\x8d\x2d\x60\x9f\x2e\xad\xa0\x33\x2b\xc8\xcb\x12\x91\x6c\xb0\x3b\x0d\x4f\x9c\xd6\x02\x00\x25\x86\xd3\xe4\xcc\x7e\x0e\x03\x81\xc0\x45\xad\x2e\x1e\xe2\x82\x98\xae\x7f\xcf\x0c\x10\xf2\x12\x80\x85\x65\x29\x6f\x15\x8d\x2c\x32\xe8\xcb\x28\x15\x65\x81\xaf\x52\xbf\xc3\x47\x0c\x3c\x95\x82\x13\x8d\x22\x55\xe8\x42\x6d\x64\x8c\xa2\x37\xd7\xaa\xd2\x85\x6f\x17\x16\x38\x55\x82\x41\xd8\xae\x3f\x62\xba\x92\xdb\x59\x65\x68\xed\xee\x3e\xc0\xef\x37\x0f\x83\x62\x6a\xa0\x44\x5a\xf0\x8f\x96\x78\x63\x66\x0e\x8f\xba\x5a\x41\xc8\xe8\xed\xe1\xc9\x60\x51\x4a\x14\x68\x7a\x4a\x81\xe7\x76\xae\x0e\x8e\x77\x7f\xb0\xf2\x50\xd5\x1a\x83\xb5\x5f\x8c\x1f\xfd\xd7\x8d\xf3\xbd\xc9\x7f\xf1\x77\xaf\xec\xa0\x46\xc7\x2d\x72\xaf\x92\x4a\xd0\xd0\xab\x2b\xfc\x11\xb7\xf4\xab\xde\xd5\x1c\x39\x87\xa8\xbb\x94\xd6\x40\xc8\x71\x0e\x5f\xc9\xa4\x19\x0e\x8a\x00\x83\x63\xd7\x41\x9c\xea\x17\xc4\x0d\xea\x20\xea\x51\x56\x02\x9f\x3d\xeb\xf0\x52\x41\x91\x8f\x54\xaf\x50\x39\xe2\xc4\xcf\x2c\xa2\xe1\x39\xf6\x0e\x45\xcc\x65\x59\x5c\xdf\x54\xa6\x7d\x92\xb6\xac\x66\xfc\x0c\x5a\x29\x04\x95\xca\x57\xb0\x7e\xf5\x75\x0d\x05\xf5\x7d\x87\xd0\xc2\x28\xf7\xe4\xe1\x5a\xd0\xba\x01\x78\x73\x0f\x95\x1c\x69\x75\x83\x48\x1c\x66\xcb\xfc\xd4\x80\x32\x54\x4a\xa8\xd5\x09\x08\x30\x4b\xd8\x19\x40\x30\x87\x06"}, -{{0xda,0x59,0xbb,0xc5,0x23,0x40,0x4f,0x07,0x64,0x6a,0xdd,0x79,0x08,0x29,0x49,0x77,0xe4,0x66,0x45,0xbc,0x8a,0x38,0xba,0xd2,0x80,0x96,0x41,0xa2,0x3d,0xe3,0xb1,0x5a,},{0xb2,0x2c,0x0f,0x21,0xaa,0x1c,0x2d,0x45,0xf4,0xb2,0xe5,0x6c,0xc9,0xb5,0xe0,0x2f,0x9e,0x31,0xa2,0xea,0xa3,0x67,0xec,0xb4,0x82,0xf8,0x74,0xcb,0xd8,0xe9,0xfe,0x34,},{0x14,0x72,0x45,0x9c,0xbb,0xae,0x2c,0xf2,0x1c,0xe4,0x4a,0x15,0xba,0xe9,0xfc,0x85,0xdc,0xa4,0x0b,0x81,0x82,0xda,0x7d,0x52,0xcb,0xf5,0x6e,0xd5,0x38,0xd1,0x8e,0x03,0x47,0x7c,0x14,0x0a,0x3d,0xdd,0x0e,0xfb,0xa4,0x3c,0x96,0xaa,0x92,0xf5,0xf9,0xbc,0xdf,0x34,0x81,0x28,0x6c,0xe7,0x62,0xa7,0xe2,0xbd,0x1e,0x77,0x9b,0xa9,0x9b,0x0d,},"\x09\x71\x06\xc3\x62\x4d\x77\x4d\xde\x25\x51\xe0\xc2\x7e\x19\x50\x4e\x65\x18\xcc\x86\x36\x9a\xb2\x6f\xf8\x10\x96\x9e\x7d\xe2\x4a\xbc\x68\xb4\xb5\x3f\x11\xd9\x45\xd4\x9e\xf0\x78\xeb\x4f\x6b\xa6\xbf\x25\x7f\xf7\xb6\x08\xaf\xdc\xb3\x0a\x5c\x59\xa7\x56\xfd\x77\xa6\xc1\x24\x7f\x6f\x2a\x41\x10\x0d\x99\xfc\x52\x06\xaf\x3b\xcc\x6d\xe1\xd3\xe4\x96\x8e\x28\xfb\xa0\x12\x3f\x60\x45\xa1\xb5\x4d\x69\x3a\x42\xbd\xfa\x07\x1b\x2b\x91\x4b\x3c\x3c\x0c\x29\xb2\x59\x3d\x07\xe8\xbd\xc8\x6c\xa4\x2a\xc5\x55\xb7\xdc\xd9\x43\x9d\xf9\xfb\xd4\xbb\xec\x73\x0d\x63\x27\xbf\xae\x4f\xc4\x1e\xd4\x98\xb4\xf0\x4a\x0e\xb1\x4c\xee\x60\x82\x83\xaa\xa6\xe6\xaa\x46\x67\x6b\xc8\x8a\xed\x5d\x99\x39\x03\x7a\xad\x49\x15\x66\x1a\xf9\x4b\xb5\xf6\xe6\x53\xa2\xca\xc1\x23\x28\x70\x73\x27\x0e\x0b\x13\xfd\xa1\xdd\x48\x71\xaf\x6a\x92\xf9\x92\xf5\x39\xdf\x88\x17\x12\xfe\xfb\x03\x85\x40\xd4\x11\x91\x12\x3b\x6b\x3b\x4b\x6f\xf8\x7f\xfc\x92\x9a\x6b\xe5\x3c\x6c\xef\x02\xf4\x8f\x2f\x0c\xf2\xfe\x64\xa4\x5f\xd6\x60\x25\xcc\x2d\x7e\xe5\x5e\xbe\x23\x16\xc0\x00\x85\x56\x61\x16\x5e\x2a\x5b\xa4\x1a\xfc\x20\x97\x95\x7b\x6f\xe4\xc5\x52\x21\x20\x4b\x6f\xc1\xf3\x17\xdd\x3b\xa1\x3c\xac\x39\x92\x40\x26\xbd\xb6\x6b\xe4\x54\x22\x68\x87\x56\x31\xd2\x77\xf2\x10\x10\x7a\x33\x76\x7f\x6d\x95\x96\xe2\x57\x42\xd7\xa9\x0e\xa7\x91\xea\x4b\xc9\xee\x84\xa6\x7f\xd3\x28\xb8\x0f\x79\x1e\xde\x96\xd8\x96\x63\xe9\x37\xf0\xb7\x55\xba\xa9\xd5\x2b\xda\x21\x0c\xee\x1d\xb3\x39\xff\x1d\x3c\x4b\x00\x0b\x65\x3b\x9b\xde\x33\x80\x49\xaf\x84\x36\x4e\x21\x77\xf8\x0d\xd5\x1e\x2a\x16\x72\xee\x55\x5d\x63\x17\x58\x9f\x6f\x1d\x5a\xbe\x6c\x28\x77\x35\x8b\xf9\x4b\x0b\x80\x8f\xf8\x57\x36\x3f\xbf\xbe\x32\xe9\x73\x37\xe4\xb8\xa8\xc2\x21\xa9\xe7\x59\x62\xa8\xdc\x9b\x5a\x3d\x7c\xa5\xf9\xc9\xb6\x1c\x73\xc1\x46\x9a\x72\xbd"}, -{{0x40,0xea,0x82,0xda,0x41,0xfd,0x15,0xb0,0x6f,0xfe,0xb9,0x9c,0xd6,0x16,0xdc,0x6b,0xc8,0xc1,0xb2,0x14,0x77,0xea,0x23,0x94,0x66,0x08,0x8e,0x28,0x49,0xbf,0x10,0x16,},{0x59,0x10,0xe5,0x80,0xbf,0x41,0x2c,0x31,0xa8,0x74,0x51,0xd9,0xdd,0xf3,0x2b,0x3a,0xb7,0x13,0xf9,0xe4,0xa2,0x2c,0x59,0x0c,0x64,0x1c,0x14,0xa5,0xdf,0xbb,0xe0,0xd7,},{0xd2,0x98,0xfc,0xc9,0xa8,0xec,0xb7,0x6a,0x98,0xd4,0xa7,0x1d,0xfb,0x01,0xd2,0x76,0xab,0x2d,0x96,0x70,0xa9,0x5b,0xab,0x34,0xcf,0x1d,0x83,0x64,0x51,0x6d,0x1e,0xbd,0xb2,0x39,0x03,0x46,0x02,0x15,0x30,0x71,0x25,0xaf,0xd0,0x9c,0x75,0x8e,0x98,0x1a,0x45,0x2d,0xa9,0x5c,0x0a,0xc2,0xc0,0xb9,0x58,0xc6,0x91,0x7e,0x68,0x74,0x19,0x0d,},"\xa0\x6c\x4e\x02\xb8\x3a\xb7\xe1\x91\xad\x81\x8c\xb8\x18\x7b\x52\xa8\xda\x00\x4f\xe8\x38\xdb\x33\x3c\x4e\x02\x54\x8d\xb6\xbd\xf7\x91\x44\x46\x42\xe5\x7f\xdb\xc8\x59\x4e\x59\xd7\x02\x32\x80\xbb\xae\x82\x98\x6f\x39\x98\x05\x43\x4b\xb0\x72\xc8\xa2\x7a\x2d\xcd\x5a\xa6\x2f\x06\x5b\xc5\x8b\x06\x21\xfc\xd3\x65\xf6\xcd\xbf\x4d\x57\xd5\x77\xd9\x11\x50\x30\x1f\xa4\x8f\x18\x2f\x87\xe8\xdc\xa7\xce\x45\xa7\xd6\x48\x45\xff\x43\x4d\x1b\xab\x05\x34\xcc\xc8\x3a\xa0\x97\x4e\x88\xb3\x8f\xc2\x50\x8c\xef\xcb\xbc\x82\x13\x5b\x73\xb3\x84\xc8\x0e\xcc\xb8\xa0\x9e\x28\x73\xcc\x07\x12\x90\x21\xd8\x1c\xe1\x29\xa9\xdf\x65\xe6\x13\x41\x0a\xf9\x50\x19\x7d\xbf\x9a\xfc\x28\xed\xc4\xe6\x5c\x3e\x84\xda\x40\xd2\xef\x84\x1b\x88\x6b\xc4\x47\x19\xa5\xd5\x9d\xb2\xc6\xdc\x77\x64\x01\xc8\x95\xe2\xb3\xc8\x37\x83\xd7\x81\x7b\xba\x68\xba\xff\x59\x47\x0d\x60\x15\xbb\xa8\xd9\x75\xf0\xeb\x71\x2f\x3b\x89\x02\x91\x28\x05\x52\x3a\xa7\x1c\x90\x49\x9d\xe6\x89\xd3\x1a\xe4\x4e\x21\x0b\x84\x46\xf2\x48\x47\x27\xcc\x49\x1b\x92\xa8\xe8\xb1\x99\xd6\x28\xe1\xdf\x79\xa2\x8c\x56\x1e\x5a\x7d\x88\x2e\x30\x78\x7d\x08\xfb\x2d\x51\x96\xba\x61\x19\x63\x09\xb3\xbf\x0c\x58\x24\xa3\x54\x8c\x70\x00\x03\xfe\x99\x13\xbe\xfe\x12\x22\x31\x50\x01\x26\x85\xe9\x07\x20\xe9\xec\x6b\xc4\xdb\x60\x74\x25\xae\xc5\x31\xc4\xfa\x36\x08\x6d\x3b\x9b\xe3\x91\xa3\xf0\x46\x35\xa8\x07\x7a\x44\x7a\x16\xa6\xfd\x89\xaf\xbb\x9a\x72\xd0\xd3\x55\xcb\x0b\x22\xd5\x62\xf4\x3f\x59\xd4\xe3\x71\x28\xb3\xe2\xd9\x06\xc8\xae\x23\xd0\xaa\x59\x9c\x70\xd3\x77\x8a\x07\x6c\x1a\x39\x72\x8f\x1d\x69\x37\xbd\x48\xb9\x78\x74\x08\x50\x56\x61\x38\xd3\x48\x52\xb6\x30\x75\xe8\x9a\x8e\x22\x80\xed\xba\x6f\x4e\xe8\xf6\x15\x11\xe9\xb7\x68\xe9\x5c\x78\xd1\x97\xb6\x93\xb1\x09\xe8\x88\x18\xb4\x86\xa9\xdf\xdb\x74\xb4\xc5\x55\x0a\xcd\xfb\xd5"}, -{{0x28,0xbb,0x81,0xa1,0x7d,0x45,0x84,0x75,0x4d,0x52,0x81,0x8c,0xd0,0xf1,0xf2,0x1b,0xaa,0x77,0x7e,0x69,0x58,0x44,0xa1,0x51,0x22,0xac,0x05,0x34,0x4d,0xdd,0xc0,0x27,},{0xd5,0xf6,0x1d,0x51,0x99,0x44,0xd1,0x3b,0x84,0xbf,0xa7,0xcd,0x67,0xcb,0x0b,0xea,0x4e,0xf2,0x28,0x1e,0xfa,0x46,0x1f,0x22,0xad,0xe4,0xba,0x88,0x2d,0x11,0xb2,0x52,},{0x9c,0xe4,0x5a,0x07,0xdb,0xd2,0x8d,0x3f,0x6f,0x1b,0x35,0x63,0x0a,0x3f,0xd5,0x6f,0x1d,0x54,0x8f,0x84,0xff,0xb1,0xc6,0xae,0x64,0xb2,0x14,0x98,0xae,0x38,0xe5,0x96,0x91,0x6e,0x77,0xf7,0x99,0x05,0xe6,0x09,0xfb,0x1a,0xe0,0xda,0x36,0x13,0x8a,0x80,0xf2,0x42,0x12,0x21,0x67,0x06,0x80,0x92,0xcc,0x60,0x57,0x96,0xc5,0x66,0x9e,0x06,},"\x92\xe8\x4c\x7a\x55\xb0\xbe\xa0\x3e\x17\xcf\xb6\x5f\x70\x85\xce\x3f\x44\x5b\x15\x42\xba\xe9\x97\xde\x5f\x09\x2a\x24\xff\x24\x33\x80\x28\x6d\x13\x70\x91\xa5\x98\xf3\x5e\x6d\xae\x1a\x1c\x64\x8f\x5a\x49\x4c\x81\x9d\xfb\x24\x06\x52\xff\x90\x83\x81\xf3\x2d\x70\xbc\x51\x31\x00\xac\xa1\x6f\xe7\x22\x02\x95\xb1\xc7\x18\x35\xf1\x6d\x93\x10\xa9\xd2\x7a\x04\xa9\x80\xac\xe2\x97\xd5\xaf\x3f\x7c\xb7\xc7\x8b\x24\x99\x7c\xcb\x41\xf5\x4e\xcb\xab\x50\x7e\xb7\x3e\xa6\xa3\xed\x47\x0e\x49\x59\x05\x09\xf5\xd1\xe6\x03\x2a\x26\x05\xdb\x87\xf4\xa9\xb9\xec\x91\x60\x25\x83\xf1\x4e\x2f\xe1\xbd\xb9\x00\xec\xb8\x97\x11\x96\xb5\x5c\x0d\x43\x34\x89\xf2\x6b\xe9\xca\x15\x7c\xbd\x56\x57\x28\x87\xba\x85\x9f\x39\x67\x4a\x8e\x0c\xa0\x8f\x2d\xbb\x0f\x27\x07\x35\x51\xd0\xb1\x99\x06\x85\x17\x8b\x1a\xe9\xe7\x88\x54\x99\x14\x3d\x9d\x72\xc8\x57\x1d\x11\xe0\xd8\x5b\xf5\x8d\xf9\x4e\x2a\x74\xd9\xb6\x84\x65\x57\xf9\x12\x5c\xa0\x94\x4c\xe5\x71\x8d\x2c\xba\xe1\x67\x2b\xa0\x2b\x84\x7c\x17\xa6\xf6\xb4\x45\x63\x4d\x2f\x01\x75\xa7\x5c\xf6\x88\x3c\x62\xe5\xb5\x21\xc5\x71\x41\xf2\x18\xb2\xfb\x09\x94\xb3\x72\xa7\x16\xc4\xa2\x17\x43\x4b\xea\xb7\x57\x40\xb8\xe9\x1c\x62\x21\x87\xd0\x3c\x85\xda\x00\x1e\x00\x24\x73\x12\xa4\x65\x22\x5f\x5d\x6a\xf2\x32\x06\x4a\x42\x7d\x30\x18\x70\x0d\xed\x77\x4b\x90\x26\x77\x7a\x52\x75\xfc\x04\x75\x46\x06\xc8\x66\x00\x29\x7b\xf7\xb7\x1a\xaf\xf8\xb9\xa7\x46\x67\x7a\x36\x62\xf3\x75\x0e\x81\xb5\x01\x66\xf6\x23\x70\x00\x05\x1f\xfa\x15\x86\x8d\xef\xdf\x09\x00\x57\x72\x2a\xe2\x29\x96\x4a\x4e\xa0\x85\xe0\xdb\xc0\x4c\xe1\x99\x77\x22\xc5\xbb\x65\xd2\xb4\x7e\xcb\x74\x6f\xd8\x3a\x9f\x6a\x69\xc8\x15\x45\xa9\xb5\x02\xf5\xe7\x6d\x31\x30\xc5\xaf\xcb\x1c\x9a\xf9\x9d\x91\x87\x40\x83\x7c\xe8\x9d\x7c\xd2\x13\xfe\xf2\xfd\x06\x2c\xe8\x85\x0f\x69\x65\x9e\x4a\xd3\x27"}, -{{0x24,0xbf,0xd4,0xfc,0x45,0xd5,0x09,0x35,0x85,0x67,0x81,0x01,0xcf,0x56,0x3a,0xb8,0x01,0x1f,0xd6,0x43,0x0d,0xe1,0x55,0xf2,0xa4,0x25,0xf0,0x63,0x3e,0xe3,0xb7,0xcd,},{0x9c,0xf5,0xc5,0xfc,0x0c,0xcf,0xae,0xb2,0x8a,0x08,0xba,0x67,0x70,0x7b,0x18,0xdc,0x84,0xea,0x06,0x98,0xff,0xbd,0xbc,0x16,0x9a,0x09,0xc2,0x81,0x23,0xe6,0xc2,0xac,},{0xdc,0x93,0x5b,0x60,0xfd,0xe4,0x43,0x59,0xaf,0x8f,0x50,0xed,0x7f,0x91,0x9f,0x48,0x3c,0xe3,0xf2,0x4e,0x23,0x20,0xc5,0x5b,0xa9,0x2f,0x3e,0x76,0x17,0xc1,0x9b,0xfb,0x54,0x70,0x19,0x03,0xff,0x18,0x3b,0x42,0xcb,0xed,0xfe,0xf0,0x87,0x5f,0x42,0xb1,0x28,0x75,0xd3,0x6a,0x0a,0xee,0xc7,0x3f,0xfd,0x09,0x50,0x9d,0x92,0xb2,0x8b,0x0d,},"\xba\x54\x12\x8f\x45\xbe\x20\x01\xdb\xb0\x60\xd5\xdc\xc4\x71\x44\x99\x74\x15\xd4\x29\x4f\x6e\xba\x8d\xce\xba\x4f\x6c\xf2\x23\x46\x83\xc4\x26\x5f\x88\x03\x22\x05\x29\x6e\x9b\x27\xd6\x85\x06\x23\x2d\x57\xb6\x88\x40\x76\x48\xf8\x7c\xeb\x34\x20\x52\xbd\xe9\xd0\x06\x55\x42\xff\x17\x15\xc9\x42\x02\x7e\x67\x48\x2a\xf4\xbc\x27\x8f\xf7\x19\x66\xfb\x3f\x62\xa2\xa5\x32\x3c\xb1\xb4\xba\xe1\xe7\xb8\xfe\xdc\xbc\x73\xea\x05\xb4\x07\x64\x21\xb0\xb4\xfa\xe8\xbc\x33\x37\x41\x6a\x17\xfe\x12\x4e\x7e\xe4\x65\xeb\xb3\x8d\x87\x92\x30\x64\x29\xd8\x27\x9a\x1b\xd5\x4c\x37\xbe\xe8\xf9\xc8\x5e\xeb\xe3\xaf\xd1\xf6\x44\x89\xd4\xe5\x3a\xc5\xf5\x06\x57\xbb\x6f\xfb\x97\x12\x07\x44\xb7\x5d\x47\xc6\x22\x6d\x5a\x9c\x9c\x26\x4e\xe3\xe6\xa6\xde\xd0\x50\x62\xca\x10\x06\x66\x91\x18\x45\x45\x50\x01\x09\x19\xc2\x63\x3c\xf0\x86\x95\x03\x45\xe5\x14\xaf\x38\x43\x14\x8e\x5c\x64\x35\x2e\x69\x03\x7d\xfe\x60\xd4\xa8\xea\xb3\xeb\x8c\xb5\x4b\xd3\x9a\xf2\xf3\x53\xd5\xde\xd2\xe2\xbc\x8b\x11\xc0\x9f\x61\x2e\x12\x8c\x6e\xfa\x41\xf6\xeb\x2c\x95\x80\x87\xbe\x34\xc6\x33\x5a\x43\x00\x5d\x11\xa9\xd3\xb5\xa5\x29\xc2\xd1\xb0\x64\x2f\x77\xaf\xdd\x8c\x6b\x1d\x6f\xb2\xa9\xdc\xb6\x5f\x42\xf4\xec\xa8\xea\x9a\x05\x40\x58\xbe\x86\x13\x66\x76\x10\xe3\xee\xd8\xd1\xdf\x07\x39\xec\xa1\x71\x95\x41\x17\x98\x9d\x1b\x12\x18\x9a\xb5\x79\x04\xaa\x96\x0b\x0c\xa8\x55\x41\x74\x63\x85\xef\xa9\x85\xbe\x9d\x97\xb5\xa9\x02\x99\x89\xa9\xc7\x14\x98\xdf\xab\xdb\x81\x36\x81\xf5\x7e\x27\x6b\x64\xdb\x49\x1b\x8f\x08\x2a\x88\x51\x45\x46\x9a\x53\x1b\x7f\x9f\x04\xca\x0a\x2c\x2f\x8d\xff\x20\xcc\xb9\x9c\x28\x61\xf5\x4e\x5e\xaf\xa9\x62\xcc\x53\xea\xf1\x8d\x3d\x5e\x50\xd3\x37\xaf\x48\x5f\x19\x97\x5f\x05\x93\x07\x00\xa8\xa7\x25\x3f\x11\xf1\x84\x13\x0d\x0a\xee\x70\x96\x9d\x96\xfe\x08\xf2\x16\x95\x1d\x9d\xce\xd5\x23\x88"}, -{{0x2f,0xc2,0xf9,0xb2,0x05,0x0a,0xd7,0xd1,0x39,0x27,0x3e,0x93,0xe2,0xa0,0x45,0x1c,0x7b,0x5c,0xce,0x57,0x59,0x9a,0xa6,0xb0,0x8d,0x3e,0xdc,0x5b,0xb0,0x75,0x90,0xc8,},{0xff,0xe5,0xa1,0x78,0x80,0xd7,0x18,0xcc,0x79,0x88,0xc2,0xfd,0x98,0x25,0xb0,0x3b,0x93,0x45,0x0a,0xc1,0xde,0xb8,0xfb,0xd1,0xf1,0xbf,0x3b,0x8f,0x87,0x80,0x59,0x54,},{0x7a,0xff,0x16,0x2a,0x3c,0x0d,0x28,0xdf,0xf4,0x17,0x15,0xa9,0x74,0xaf,0x07,0xec,0xac,0x21,0x32,0xfc,0x18,0xbc,0x43,0xa1,0x98,0xfe,0x66,0x46,0x59,0x05,0x0d,0xa1,0x9a,0xe2,0x27,0x58,0xd5,0x2c,0x9c,0xbb,0x94,0xf1,0x35,0x8b,0xb0,0x26,0x10,0xa8,0xa3,0x51,0xc2,0x11,0x62,0x79,0xe7,0x24,0x5a,0xdf,0x69,0x67,0x5d,0xfd,0x36,0x0a,},"\xdc\x12\x97\x99\x0c\xc0\x27\xd5\x6d\x1f\xee\x26\x5c\x09\xbc\xf2\x07\xa9\x58\x3e\x6b\xab\x8d\x32\x47\x82\x28\xe0\xbc\x30\x5b\x98\x18\x15\x4c\x33\x8c\xee\xc3\x4b\x04\xc4\xad\xe7\xac\x61\xdc\xb0\x9b\xfa\xc8\xad\xe0\x0d\x1f\x29\xde\x31\x70\x60\xb8\xa4\xda\xf1\x98\x7d\xe4\x09\xca\x2c\x3f\xe4\x38\x00\x88\x07\x3c\xcf\x48\x5e\x9a\x69\x51\x6b\x5b\xbb\x41\x30\xf2\x0b\xe6\x9b\x2d\xd6\xa9\xb4\x65\x15\x9c\xca\x1a\xc8\x8b\x32\x8b\x80\xc5\x1b\x66\xaf\x7f\x4c\x50\xf6\x22\x87\x72\xf2\x87\x34\x69\x3c\xe4\x80\x5a\x41\x63\xdf\xf1\x4b\x4d\x03\x98\x11\xee\x3f\xce\x65\x93\x54\x44\xa6\xea\x9a\x72\xd7\x8b\x91\x5c\x9c\x3b\x76\x6c\x60\xb7\xe0\x32\x9e\x43\xc9\xc5\x7e\xde\x94\xb9\x15\x25\xce\x5a\x07\x5a\x72\x97\x21\x97\x72\xef\x3c\x02\x96\x49\xb5\x86\xa9\x5a\x73\xbb\xdf\x16\xd8\xfc\x20\x36\x8d\xe4\xba\x44\xde\x10\x64\xbe\x58\x26\xb3\x76\xbe\x31\xa8\x6c\xa4\x78\xa5\x2e\xfb\x98\xf1\xfa\x33\x31\x57\x71\x9b\xd6\xe0\xda\x80\xed\x68\xd0\xef\xea\xfe\xe5\xa1\x3b\xcc\x3b\x45\x75\x25\x25\x8f\x1f\x7e\x03\x1f\x7b\x40\x3a\x46\x15\x06\x92\x7b\x1e\x6c\x7d\x4a\x0c\x8d\x84\xb5\xf3\xdd\x0e\xb8\xbd\xb1\x3e\xdc\x2b\x51\x4a\x81\xd0\x88\xeb\x07\x7a\x52\xc8\xa8\x31\x86\x1f\xee\xe8\x11\x0e\x41\xa3\x25\xdc\xe2\x06\xb2\xd6\x7d\x25\xf9\x0e\xf5\x7e\x0f\xde\x70\x9f\x3e\x5a\x39\xc0\x4e\xed\x31\xe5\x7c\x19\x3b\x28\x3e\x2d\xa7\x27\x9e\xe3\xf1\xee\xd4\x82\xb3\xbb\xcd\x37\x39\x02\xc1\xdf\x81\x1a\xc3\x3e\x1d\xe0\x64\x29\xe8\xf8\x44\x3f\x60\x20\x19\x65\x0b\xdc\x2e\xe8\xd7\xf6\x50\x03\x6a\x7a\x22\xb8\xfd\x88\x51\x75\x11\x22\x9c\x72\x9a\x32\x69\xb3\xa3\xe8\xfc\x72\xb0\x1b\x5a\x4b\x3e\x33\xf5\x27\x2f\x3a\xd2\x16\x29\xd0\x8b\x1f\x71\x79\x35\xe9\xe1\x04\xad\xd2\xf0\xf2\x03\x34\x32\xbe\xc8\x2e\x21\x21\xd9\x8c\x9c\x1a\x58\xe0\xda\xba\x25\x53\x6a\x1b\xe8\xe5\x08\x83\x47\xf4\xa1\x4e\x48\xd8\xe3"}, -{{0x8a,0xfe,0x33,0xa0,0xc0,0x8a,0xa3,0x48,0x7a,0x97,0xdf,0x9f,0x01,0xf0,0x5b,0x23,0x27,0x7d,0xf0,0xbb,0x7e,0x4c,0xe3,0x95,0x22,0xae,0xc3,0xd1,0x78,0x16,0xe4,0x67,},{0xd0,0x04,0x37,0x0e,0x6e,0xdc,0x34,0xb3,0xe8,0x81,0x86,0x67,0x21,0x6f,0x5b,0x22,0x6b,0x0f,0xf7,0x5a,0x58,0x48,0x4c,0x86,0x16,0xe1,0xa8,0x66,0x44,0x4c,0xab,0x57,},{0x63,0xa8,0xae,0xac,0x02,0x5f,0x2d,0xde,0x9a,0x73,0x28,0x6e,0x56,0xc2,0xd6,0x2d,0xcb,0x79,0xa2,0x41,0xba,0x0b,0x2e,0x2d,0xba,0xca,0x87,0x52,0xed,0x2f,0xc8,0xcc,0x7a,0xb8,0xe6,0x60,0x0b,0x67,0x64,0x5f,0xb5,0xe8,0x18,0xa4,0xe8,0x2c,0x29,0x18,0x0a,0x6b,0x2c,0x3f,0x58,0xd0,0x99,0xcb,0x63,0x5c,0xe5,0x2b,0xdc,0x15,0x70,0x04,},"\x86\xfb\x74\x1f\x1b\x97\x08\x92\x91\x95\x03\x1a\xa1\x64\x5f\xb7\x09\xa8\xae\x32\x3f\xff\x85\xe5\x47\x01\x94\x45\x2e\x11\xb7\xb1\x27\x91\x94\xb5\xe2\x42\x7c\xe2\x3e\x1d\x74\x9c\x3d\xdf\x91\x0b\x01\x7e\x4f\x2d\xff\x86\xdb\xe4\x82\xc9\x1b\xd9\x94\xe8\x49\x3f\x2e\x68\x24\xbb\xa3\xbc\x7d\x7a\x84\x5f\x21\x7a\xe9\x76\x0b\x3c\xd0\x02\x26\xd9\xff\x26\x16\xd4\x52\x75\x1a\x90\xc3\xd0\xd3\xc3\x6d\x4a\xb4\xb2\x52\x0f\x67\x28\x81\x71\xbd\x3a\x34\xb2\xea\xca\xe8\xd4\x4c\x1e\x15\x3d\xda\x1f\x90\xbc\xd3\x59\x5d\xad\x37\x71\x3b\x8d\x34\x01\x56\xea\x90\xa4\xe1\x35\x95\x1b\xa7\x16\x9a\xc1\x75\x57\x8b\x81\xe9\x7a\x54\x1a\xb9\xbf\xb7\x63\x28\x79\x8d\x7d\x63\x1c\x14\xdf\x2a\xd6\x13\xe9\xc6\xe1\x14\x7a\x0e\x84\x06\x2d\xdb\xa0\x35\x85\x9d\x46\xba\xde\x5f\xad\xd9\xb3\x2b\x43\xda\xd4\x83\xc6\xb8\x02\x3b\x32\x39\x1e\x51\xef\x15\x20\xc6\x8c\x61\x91\x32\x6c\x49\x44\x23\x08\x0c\x62\x3d\xc4\xad\x0a\xa0\x74\x74\x8d\x82\x6c\x29\x64\x4c\x38\x98\x6a\x77\x00\x2f\x0c\xab\x90\x68\xe6\xc9\xec\x73\xcc\x2e\x0c\x58\x4b\x80\xe0\xbc\x37\x57\x21\xf7\xa8\xfc\x35\x31\x7a\x5e\x24\x0e\x8c\x66\x09\x2f\xb6\x30\x5b\x01\x2c\x70\xe1\x7a\xea\xff\x13\x38\x6d\x5e\x28\xd0\x64\x30\xca\x58\x5b\x0c\x85\xb2\x74\xe7\xfc\xbb\x63\xe3\x42\x3a\x98\x25\x79\xe5\xa6\x4a\x02\x62\xc4\x19\x08\xe5\x5d\xbe\x43\xda\xc1\xe5\xcc\x1b\xb7\x29\x8b\xe4\x28\x72\x0a\x12\xe3\xb0\x72\x55\x9e\xc2\x67\x5d\x45\x7a\xaf\x8f\x13\x25\x2e\x28\xaa\xd6\x3c\x15\x13\xf5\xf2\x39\x56\x4d\x36\x3c\x85\x05\xff\xa4\xe5\x0f\x66\x48\xc1\xcb\x82\xbb\xa8\x52\xbf\xf0\xac\xb0\x30\xcb\xe7\x3f\x05\x9d\xd8\x7b\xbd\x73\x18\xc5\x58\x6e\x70\x86\x18\xa4\xf4\xc9\xf3\xbe\xc3\xf4\xf0\x7c\x60\x9e\xeb\xb2\x4b\xa8\x78\xc6\xbf\x1e\x4f\x2d\x0f\xd1\x45\x0a\xb9\x4e\x31\x75\x52\x17\x78\x6f\xb1\x51\x82\x76\x0f\xfb\xe5\xa2\x67\xcb\xe9\x98\xa4\xff\x90\xa2"}, -{{0x6d,0xc7,0xcc,0xf3,0x29,0x37,0x8e,0x81,0x31,0xb6,0xde,0xfc,0xd8,0x93,0x70,0x30,0x10,0x68,0x94,0x63,0x36,0xb0,0xb7,0x62,0xac,0x5e,0xa5,0x14,0x87,0xdb,0xd3,0x9e,},{0x04,0xe9,0x0d,0x27,0x5e,0x79,0xdf,0x5f,0x2b,0x6e,0xf4,0xa3,0x15,0x05,0xaa,0xc0,0x5a,0x69,0x45,0x9b,0xaf,0x2c,0x58,0x1b,0x3c,0xe3,0xdb,0x29,0xf0,0xf1,0xfc,0x14,},{0x04,0x50,0x9d,0xb0,0x03,0xa1,0xa6,0xed,0x3f,0xbc,0xec,0x21,0xac,0x44,0xec,0x10,0xcc,0x06,0xd7,0x9f,0x27,0x14,0x96,0x08,0x82,0x17,0x03,0x16,0x27,0x5d,0xf8,0x04,0x23,0xa1,0xc1,0xa1,0x12,0xd8,0x81,0xfc,0x24,0xd2,0x81,0x25,0x26,0x07,0x90,0x58,0xaa,0x8b,0x60,0x8b,0xfc,0x6b,0x5e,0x57,0x63,0x22,0x40,0xc6,0x36,0xd6,0xeb,0x00,},"\x20\xce\xbb\xe9\x84\x01\xac\x89\x34\xc3\xe6\x5a\x57\x38\xcb\x0e\xc0\xcd\xc7\x5f\xdb\x09\xdc\x96\x31\x28\x94\xb1\x87\xc0\xa4\x6d\x2c\x38\xf4\x85\x5b\xe3\xee\xcc\xdc\xdc\xc5\x6d\x92\x6a\x8c\x08\xce\x6e\x74\x8e\x2a\x85\x8f\x53\x53\x2e\x7e\x5f\xc5\xf7\x01\x4c\x8c\x6f\x86\x31\x0c\xc2\x6e\xfe\xf3\x0a\xe5\x25\xa5\x15\x79\x40\xab\x53\x5e\xd8\xe4\x03\x11\x2b\x08\xe3\x5e\x2b\xb3\xdd\x91\xa9\xae\x8f\x77\x2d\x2a\xff\x37\xd8\xc4\x0d\x2b\x5c\xc8\x87\xa6\xf1\x50\x50\xa0\xf5\xbc\xf0\x36\x0c\x3a\x9d\x12\xd5\x91\x86\x55\xed\xc3\xc1\x3c\x86\xba\x6f\x4a\x2f\xa3\xbf\xcd\x40\x5e\xd3\x8f\x87\x1c\xf7\xdf\xf0\xf7\x5d\xaf\x2c\x32\x10\x84\xee\x9f\xa8\x12\x11\xad\xb1\x05\xb2\x5c\x22\x88\xf0\xf2\xf7\xf9\x3e\xf6\x56\xb2\xde\x19\x01\x22\xe7\xa4\xbf\xd4\xa1\xbd\x98\x93\xa8\x48\x5b\x50\x9f\xf0\xbc\x46\xcc\x96\x10\x51\xc1\xdb\x5a\x12\x49\x0c\x7e\x74\x19\x22\xcc\xc0\xa6\x65\x49\x64\x70\x27\x6f\x69\xc7\xb7\x70\x98\xc1\xe6\x70\xaf\x6b\x9f\x85\x12\x52\x99\x68\x75\xeb\x80\x35\xa8\x17\xfa\x9b\xe0\x7f\x2b\xe0\xbb\xb1\x20\x25\xe0\x56\x54\x14\xc8\x17\xe9\x42\x1a\xc7\x00\x37\x38\x93\x86\x2f\x24\xcb\x16\x5f\x9a\x27\x1a\x64\xfd\x23\x05\xc6\x67\x2c\x46\x76\x7f\x8f\x07\x5b\xe5\xd2\xd4\x07\x9b\xfa\xdc\x39\x56\x28\x8b\x02\x15\x60\x53\x11\xb5\xbf\x32\xf0\x03\x7b\x7c\x5a\xd5\x02\x01\x3e\x82\xae\x34\x19\xd9\xd8\xf3\x9c\x54\x5b\x58\x88\xf4\x71\x06\xc9\x4d\x5f\xd6\x08\x4d\x26\x03\x4a\x99\xf5\xdc\xbf\x26\xa8\x4e\xb4\xee\x14\x9c\x62\xa0\x41\x0d\x8c\x70\x7b\x1a\x9b\x07\x1f\x74\xed\x23\x93\x25\x85\x07\x2c\xe6\xcb\xd3\x3d\x4d\x54\xee\x91\x79\x16\xf5\xdf\xc6\x4d\x26\xa4\x98\x01\x84\x38\xb4\x55\x73\x93\x45\xdd\x60\xae\x0f\x47\x50\x62\x59\x15\xcc\x82\x9a\xb6\x82\x2d\x6f\x05\xf6\xd2\xbd\xa0\xa7\xbf\x56\x01\xe9\xa2\xed\x6d\xe9\x60\x37\x1d\x17\xe6\xf4\x37\x09\xc9\x67\x8c\xa7\x43\xad\xfb\xdb\x45"}, -{{0xcc,0xae,0x07,0xd2,0xa0,0x21,0xfe,0x3e,0x6e,0xe2,0x38,0x36,0xa7,0x11,0xb9,0x7b,0x04,0xe0,0xa4,0x41,0xf1,0x69,0x60,0x75,0x72,0x73,0x1c,0xb0,0x8c,0x26,0x94,0x88,},{0xa3,0x22,0x65,0xe5,0x32,0x8a,0x4f,0x49,0xcf,0x06,0xb4,0x67,0xa9,0x8b,0x9f,0x9d,0x5b,0x99,0x7b,0x85,0xdf,0xb7,0x52,0x3c,0xa6,0xa0,0xa1,0xd6,0x27,0xd3,0x28,0x91,},{0x0e,0xec,0x75,0x41,0x05,0x44,0x7f,0x97,0xd4,0xa9,0xcd,0x24,0x6c,0x7e,0xed,0xe3,0xfd,0x06,0x90,0x18,0xf0,0xd0,0x1a,0x41,0xdf,0xab,0xca,0x3e,0x90,0xa7,0x41,0x83,0x5e,0xa4,0xa9,0xd6,0x82,0x34,0x22,0x67,0xb2,0x50,0xfc,0x1c,0x8c,0x54,0x7c,0x89,0x63,0x2d,0x9f,0x68,0x9a,0xf5,0x36,0xc7,0x92,0x90,0x04,0xde,0xd0,0xd9,0x6f,0x09,},"\xa4\xbf\x82\x97\xd0\xdc\x5e\x4c\x92\xbd\x00\xad\x5b\x9c\x09\xb1\x23\x8b\x50\x3d\x61\x91\x16\xef\x74\x26\x03\x78\x34\x9a\x92\x82\xb4\x1f\x3f\x46\x76\xa6\x21\x5e\x3c\xe6\xd0\x22\x38\x48\x0a\x96\x04\x3b\x29\x42\xb3\xfe\xed\x12\x62\x0b\x1f\xa9\x7f\x77\x03\xb3\xeb\x68\x3c\x16\x01\xbd\x2f\x51\x82\x5c\x45\x0d\xf4\xfd\x1f\x33\xb0\xbf\x9c\x23\xc0\x32\x23\x78\x9e\x06\xe2\x4c\xf1\x36\xd3\xb5\x57\x40\x3a\x66\x98\x1f\x4b\x77\x7d\xcf\xe8\x90\xd2\xba\x96\xda\x4a\x47\x42\xae\xed\xdd\x6a\x61\x1d\x05\xfc\x21\x56\x94\xa5\xd8\x9a\x5d\xe6\x76\x0b\x1d\x94\x15\x15\x50\x44\xc0\x49\xcb\x02\x29\x1a\x15\x14\xfa\xa2\xe7\x7d\x2a\xe3\x3d\x44\x58\x5b\xda\xc6\x36\x5b\xf4\x81\xd9\xc9\x78\x33\x93\x7e\xab\x63\x6e\xd6\x57\x42\xa0\xd5\x97\x3b\x24\xd5\x40\x89\xb2\xda\xf0\x84\xd5\x41\x47\x65\x10\x5e\x4e\xca\x14\xaa\xad\xd1\x05\x33\x38\xa8\x47\x05\x05\x23\x2e\x4a\xc6\x33\x34\x5c\x5c\xde\xe1\xe4\x65\x3d\x1d\x93\x58\x3a\xf1\x18\x54\xb1\xd9\xb6\x5f\xc2\x02\x81\x83\x8c\x56\xdf\x11\x48\xf3\x5c\xcf\x9b\xfe\x2f\x3f\x80\xab\x73\xf5\xb7\x91\xcb\xed\x2d\x92\x06\x44\xcf\x03\x16\xf0\xcb\x5d\x36\x62\xb9\x12\x06\x47\xda\x56\xaf\xbe\xb4\x7a\x95\x29\x53\xbc\x1a\x37\xde\x85\x7e\x4b\x39\xfd\x92\xb6\x32\xb8\x51\x59\xf4\x6c\xd0\x5b\x6a\xbc\x23\x38\xd4\x63\x2d\x48\xe9\xa1\x78\x86\x0d\xe8\xf6\x5d\x9b\xc2\x3f\x24\x50\x7b\x7c\x56\x29\xe0\xbd\xaa\xc0\x67\xc4\x76\xc9\xc3\x94\x1d\x86\xf7\x88\x94\x4d\x74\x48\x52\xa6\x1d\xa7\x16\xf9\x5f\x3b\x04\xf0\x78\x3a\x56\x29\x41\xbc\xdd\xa4\x39\x59\x0f\xd1\x86\xb2\xa8\xeb\xf1\x9a\x5a\x7e\x4f\x4a\x3a\xaa\xb7\xa8\x7a\x43\x45\x24\xfb\xc9\x79\x9c\x99\x31\xeb\x8c\xe4\xe3\x4e\x99\xb6\x08\xca\xc9\x4a\xb7\xe7\x44\x95\x66\x8d\xf1\x36\x18\x5f\x48\x7d\x9f\xbc\xb6\x60\x5a\xd7\x25\x34\x54\x03\xec\x57\xf3\xf6\xdb\x36\x4a\x87\xf3\x8f\xea\x4b\x4c\x27\x15\x52\xe9\xf2\xe4\xa1\xbe"}, -{{0xdb,0x5d,0x5f,0x41,0xfd,0xdd,0x67,0x68,0x70,0x97,0x47,0xab,0x82,0x39,0xbb,0x4f,0x42,0xa3,0x1d,0x34,0xb4,0xfa,0x88,0x82,0x4d,0x94,0xbf,0x78,0xd3,0x14,0x92,0x64,},{0x03,0x85,0x8c,0xe6,0xb2,0xd2,0x40,0x79,0xee,0xad,0x66,0xca,0x0d,0xfe,0x77,0x2e,0xcd,0xa9,0xaf,0x4d,0x46,0xbc,0x9b,0x5e,0xdf,0xdc,0x28,0x6b,0x95,0xfe,0x97,0x16,},{0x5b,0x3d,0x0d,0xa7,0x10,0x23,0x55,0x48,0x6b,0xe4,0xd6,0x9c,0xfd,0x65,0x88,0x6c,0x9d,0x9c,0x87,0x38,0xb2,0x93,0xca,0xfb,0x23,0xb2,0x10,0x4b,0xfd,0xac,0x8d,0x7d,0x01,0x29,0x8e,0xeb,0x18,0xfd,0xe3,0xde,0xd6,0x49,0x1d,0x41,0xb4,0x19,0xcc,0x66,0x37,0x52,0xc4,0xe6,0x7d,0xbe,0x89,0x86,0x83,0x3d,0x20,0xe4,0xef,0x34,0x18,0x0b,},"\x67\xee\x03\xde\x45\xc3\xe7\x03\x0d\xb5\x24\x6e\xe5\xb5\x1b\xf2\x98\xbb\xa3\xe4\xd0\x93\x49\x37\xfc\x12\xd9\xa6\x29\x60\x4c\x53\xc0\x70\xe3\x0d\x61\x19\x99\xa9\xcd\xda\xf2\xd9\xac\xda\x6a\x9f\x67\x20\x2b\x35\x23\x69\xd4\x82\x60\xee\xbc\xe0\xe7\x8e\x4d\x5a\xe5\x4f\x67\x75\x21\xf8\x4a\x7b\xe0\x01\x7f\xab\x27\x8b\x2b\x57\x27\x5e\xfc\x5f\xa5\x7c\x61\x71\x86\xfc\x1b\xa4\x9e\xdf\xbd\x33\x08\x63\x48\x78\xd8\x64\xf2\xda\x15\x83\xca\x8d\x56\xce\x9f\xae\x77\xc4\x62\x03\x9a\xbc\x32\xd0\x53\x9c\x0a\x60\xb7\xbb\xba\x50\x29\xe9\x32\x9d\x27\x56\x83\xd9\xc4\xce\x77\xd0\xb9\x08\xad\xe9\x8b\x0e\x32\xb4\x42\x0d\x9a\xee\x2c\xc1\x0e\x4b\xe9\x22\xf9\x57\x25\x82\xdd\x89\x67\x14\x1c\x1d\x40\x2e\x21\x5f\x20\xae\xe0\xa8\x90\xe2\x36\x8e\x40\x6d\xea\x11\xbd\x11\x17\x7f\x2e\x03\x8a\xa2\xf1\xa0\xdf\xf5\x1a\x12\x8d\x95\x5d\x5e\x5f\x8d\x5d\x00\x09\xaa\xa8\x24\x40\xa9\x68\x64\xd6\xc6\x97\xf9\x10\xd1\xdf\x23\x0f\x46\x7f\x0e\x02\xa2\xe0\x2b\xf9\xe4\x5d\xa9\x5f\x25\x54\x10\xcc\x5a\xab\x8d\x85\xf4\x49\xa5\xde\x99\xaa\xbd\x44\xfd\x76\x3e\xc1\x46\x29\xf3\xdb\xab\x1a\x24\x7b\xff\xb7\x17\x46\x48\xe4\x3b\x9f\xb1\xeb\x0d\xf5\xe4\x10\x9b\x7a\x88\xe0\x55\x12\xb2\x08\x65\xba\xd3\x9f\x9e\xa7\x9d\x52\xf5\x18\x8e\x7c\xa5\x19\x44\x05\xbf\xb1\xa0\x97\x27\x61\x7f\x3f\x6c\x88\x19\x20\x08\xed\xbc\x0c\x65\x85\xdb\xf2\x61\xf1\x49\xdf\xfb\x59\x3d\x42\x71\x6e\x5a\x57\x77\xf5\x46\x2b\xee\xb1\xe9\xa5\x6a\x2c\x76\xe6\xcb\x73\x51\x17\xcc\x11\x83\xa3\x8d\x1e\x00\xb3\x03\xd1\x74\xaa\x9c\xf5\xc7\x31\xb2\xc7\x0e\xdd\x79\xcc\x5d\xc9\x6f\x40\x18\xf1\xd7\x1d\x71\x98\xbb\xb7\xd1\x34\xcd\x2f\xf8\xc1\x5f\x9a\x04\x28\x0d\xb2\x6a\x8f\xa9\x99\x7e\xb8\x6b\x13\x3c\x02\x2e\xda\x15\xd8\xad\x5e\x77\xcc\x9f\x62\x61\x59\x60\xba\xc2\xf9\xbb\xc3\xeb\xbd\x19\x8f\x72\xc5\x72\xb9\x71\x56\xfa\x7f\xa2\x29\xa9\x80\x14\xe1\x70"}, -{{0x7f,0x04,0x8d,0xfc,0xc2,0x65,0x0c,0xda,0x59,0x49,0x1d,0x4c,0xe2,0xb2,0x53,0x3a,0xec,0xc8,0x9c,0xc4,0xb3,0x36,0x88,0x51,0x94,0xb7,0xad,0x91,0x7d,0xb5,0xcd,0x14,},{0x08,0x00,0x1b,0x5d,0x40,0x95,0x8b,0xcb,0x27,0x0b,0xee,0xa9,0xba,0xba,0x33,0x87,0xe3,0xa4,0xb9,0x00,0xfc,0x42,0x27,0x56,0x57,0xc6,0xc6,0x91,0xa2,0xe2,0x64,0xf2,},{0x58,0x33,0x70,0x97,0x1d,0x24,0x65,0x2a,0xd2,0x13,0xc4,0x26,0x15,0x91,0x19,0x38,0xfa,0x9a,0xa3,0xd9,0xb7,0x19,0x69,0x40,0xe6,0xeb,0x08,0x15,0x12,0x00,0xc7,0xb6,0x72,0x9d,0x1e,0xff,0x8f,0x4f,0x09,0x04,0x07,0x4d,0xab,0x3d,0xdd,0xa6,0xaf,0x1e,0x4e,0x56,0x2b,0x7d,0x62,0x20,0xc1,0xa5,0x62,0x68,0x3b,0xea,0xb2,0x68,0xf8,0x0e,},"\x91\x75\x19\xcd\xb3\x35\x19\x68\x0b\xca\xe0\x4f\xaa\x79\x07\x71\xce\x7d\x13\x97\xc3\x45\xf1\xb0\x3d\xd7\x62\x57\x76\xf3\xf1\x95\x80\x99\x32\x61\x8b\x1c\x64\xac\xd9\x3a\xd0\x00\xea\xd0\x96\x54\xa3\x3d\x14\xf7\x48\xb4\x6b\x67\xaa\xe0\xff\x12\xdf\x3c\xc1\x63\x28\x0f\x47\xce\xdc\x16\xa8\x57\x90\x34\xe4\x98\x84\x29\x67\x72\xec\xbd\xbb\x71\xca\x29\xc1\x66\x23\x35\x33\xc8\xde\x54\x01\x2b\x41\x2c\xa1\x3c\xc2\x58\xf7\xc5\x46\x5d\x83\x42\x2f\x52\x4e\x4c\x05\xf8\x06\x31\x34\x78\x31\x9f\xd1\x43\xcf\x50\x88\xe6\x98\x37\x69\x7d\x36\x15\xd8\x0a\x7f\xa7\xe7\x44\x3f\xca\x65\xe7\x53\xac\x1b\x11\xd8\xef\xf3\x47\x66\x36\xae\x02\xd7\xa2\x0f\x4b\x23\x88\xda\xd6\x84\x00\x2f\x5c\xe9\x57\xca\xdd\xd2\x05\x3d\x0e\xd5\x33\x13\x2a\x81\xca\x19\xbb\x08\x0b\xd4\x3b\xe9\x32\x02\x8c\xb5\xf6\xb9\x64\xf0\x08\xb5\xb1\xc1\xc5\x99\x3b\xc9\xb5\x48\x5b\x22\xbb\xef\x70\x1f\x0a\x26\xa3\xe6\x75\xea\x31\x12\x2b\xba\xe9\x1d\x86\x4b\x54\xd8\x95\xaf\xdc\x79\xca\x58\xd4\xfe\x44\x92\x13\x35\x3b\x14\x9f\x31\x43\xb5\x14\x4d\x74\x7c\x5b\x46\x97\x47\x9a\xe6\x85\x28\x48\x53\x84\x04\x4a\xa2\xc9\x9b\xa4\xb1\x7b\x18\x4e\x94\x98\x22\x69\xbd\xe2\xde\x0b\x17\x70\x5d\x0b\xfc\x46\xd6\x90\x6a\x90\xed\xef\xe8\x91\x95\xde\x6b\xb8\xf3\xfb\x6a\x37\x41\x86\xc7\xcd\x08\x6d\x13\xd1\xb3\x52\x5a\x39\x94\xdc\x80\x20\xe1\xa0\x05\x54\xac\x8a\x82\xd6\x04\x7c\x5b\xff\x5e\x7f\x12\x45\x0f\x48\x65\xda\x16\x1e\x1a\x02\x1f\xd9\xbe\x8b\xd3\x3a\x32\xbb\x54\xa4\xdd\xf8\x74\x51\x2e\x74\xb5\xcf\xd3\xfc\x3c\xd9\xac\x11\xed\xd8\x78\x43\x36\x68\xe3\xfc\xc7\x82\xb9\x7b\x6d\x90\x5a\xdb\x0e\xbe\xc4\x2c\x92\x54\xac\x90\xf3\x58\x22\xc0\x0f\x97\xff\x3f\x0c\x7c\x39\xed\x3c\x7c\xb3\x92\x0f\x56\x08\xbb\x45\x83\x8b\xb2\x42\xa5\x2a\x86\x37\xd7\xce\xcd\xcf\x48\x9f\xa1\x83\xb4\x54\x51\xc6\xc9\xfc\xbb\xbf\x91\x4f\x5f\x7e\x6b\x22\x3b\xcb\x46\x75"}, -{{0x9f,0xeb,0x3d,0xf8,0x8c,0x49,0x4a,0x99,0x84,0x9c,0x6f,0xca,0x19,0x42,0x01,0x47,0x7a,0x2f,0xa7,0x56,0x4e,0x29,0xfb,0x06,0xcb,0x44,0xc1,0x15,0x4e,0x8c,0xea,0x3a,},{0xc3,0x56,0x28,0xca,0x6e,0xe2,0x8e,0xc1,0xc2,0x39,0xdd,0xc5,0xbb,0xa2,0xa9,0xe0,0x9e,0x48,0x46,0x81,0x6b,0x14,0x3c,0x74,0xdf,0xa2,0xae,0xc1,0xf6,0x25,0x51,0xb6,},{0xa1,0xc2,0x60,0x78,0x35,0xbe,0xc1,0xa1,0xd8,0x78,0x72,0xfd,0x8e,0xe4,0x88,0xd0,0xae,0x9e,0xd2,0x3d,0x49,0xfd,0x67,0x86,0xfc,0x49,0x96,0x72,0x5e,0x49,0xb3,0x26,0x21,0x18,0xba,0xbb,0x48,0x34,0x87,0x7c,0x7f,0x78,0xfb,0xea,0xc0,0x2d,0xf4,0x0a,0xb0,0x91,0xb8,0xb4,0x20,0xdc,0x99,0x51,0x38,0x1e,0x3b,0xcd,0xa0,0x67,0x05,0x02,},"\x95\xfb\x75\x81\xbd\x25\xff\xd4\x42\xc3\xae\x38\xa1\x9b\xea\x73\x49\xc7\xb7\x68\x3b\xa6\x76\x7e\x14\x8f\x0a\xfc\x15\x37\x3f\x67\xc1\x6d\x47\x17\x81\x20\x2e\x6d\xa8\x05\x4e\xd7\xfb\x9e\xe2\x04\xcc\x0f\x63\xc2\x10\xa6\x70\xa5\xf9\xce\xd4\x29\x45\x88\x19\x63\x30\xd3\x1b\x8e\x83\x92\xbe\xf6\xb4\x8f\xe3\xc9\x20\x78\xfa\xe1\x12\x84\xb4\xc3\xba\x20\xd9\x37\xe2\x71\x9d\xe7\xbf\x67\xc0\x06\x69\xad\x23\xe6\x13\x84\xeb\xdf\x8c\x6e\x60\x73\x54\x28\xc0\x84\xfe\x21\x7f\xdb\x47\x09\xcc\xb6\x08\x3f\xc0\xae\x4a\x05\x27\x3e\xef\x73\x90\x23\xd3\x4b\xb7\x3f\x66\x2d\xac\xdf\x11\x0b\x6d\xbd\x3e\x74\xfc\x14\x91\xe8\xc9\x65\x96\x07\x5f\xae\x5c\x36\xaa\xbe\x2a\x0a\x53\x05\x2b\xf7\x7c\x44\x62\x43\x80\x63\xaa\x7b\xc0\xc5\x0a\xb9\x20\xc9\xeb\x28\x86\x71\x56\x0c\xa5\xba\x7a\xf4\x4a\x53\xdb\x2e\x2f\xf4\x3c\xa5\x60\x69\xea\x55\x17\xcb\x21\x4e\x76\xfa\xa5\x3d\xbd\xa1\x00\x00\x3c\x4f\x61\x75\x41\x40\x41\xbe\x74\xde\x22\xce\x15\x5d\x22\x81\xb6\xf4\x03\x5b\xe3\x98\x41\xaf\xdb\x96\xdd\x89\xaa\x80\x8e\x68\x65\xba\xe6\x2d\x6b\xed\xd9\x19\xd3\xe8\x65\x10\xb9\xfa\x5f\xed\xd1\x97\x7c\x41\x31\xb2\xb8\x6e\x0f\x48\xd7\x21\x5e\xb1\x3d\x54\x98\xca\x5d\x23\x68\xf8\x18\x95\xed\x85\x5a\x52\x71\x24\x65\x7e\xc9\x53\x9e\xfe\x3b\x24\x99\xa3\xb0\xb3\x38\x26\x2f\x26\x34\x0e\x22\x55\x4c\x79\xf4\xfa\xd2\xb4\xe4\x19\xc7\x0b\xc1\xa2\x10\x7d\x20\x64\x56\xb6\x36\x87\x81\xbe\x4b\x5e\x2c\x54\xda\x42\xd3\x36\x04\x0f\xb7\xba\x49\xc3\x2d\x75\x23\x21\xad\xcd\x92\x98\x6e\x78\xbe\xdb\x22\x6c\xea\xc5\x02\x92\x08\x9b\xb5\x79\x02\x7f\x70\x22\x17\x74\x5a\xfe\x06\xa5\xbe\x13\x6b\x39\x98\xa3\x60\x4c\x9f\xf2\xac\xd6\xfa\x3f\x3f\x71\x63\x3d\x31\x02\xfb\xf0\x30\x47\xc5\x48\x6f\x84\xc4\xdc\x24\x47\xd8\x63\x79\x63\x83\xd5\x5f\x08\xc9\x81\xfd\x4d\xd7\xdc\x1c\xb7\x2b\x8b\xa4\x43\x5a\xf6\xab\xdd\x74\xe6\xf6\xe6\x79\x8f\x1a\xe2"}, -{{0xbf,0xf6,0x89,0x55,0xdd,0x6a,0xe0,0xe8,0xba,0x85,0xab,0x0d,0x0c,0xda,0xf0,0x4a,0x9f,0x5b,0xef,0xd5,0xef,0x60,0x14,0xf4,0x99,0x94,0xa7,0x83,0x63,0xdc,0x17,0xf7,},{0x0a,0xd9,0x49,0x3a,0xf8,0x0b,0x15,0xf0,0x7a,0x52,0x1c,0xcd,0x67,0x4f,0xe9,0xe5,0x21,0x2a,0x4a,0x28,0xc1,0x7c,0x74,0xf6,0x60,0x5f,0xfe,0xf7,0x8a,0x4a,0xed,0x72,},{0x93,0x19,0xee,0xf7,0x40,0x63,0x3a,0xda,0x1a,0xf0,0xe1,0x37,0x64,0x4c,0x61,0xfb,0x3e,0x11,0xba,0x4b,0x01,0xd3,0xc6,0xf2,0x53,0x92,0xdc,0x93,0x67,0x87,0x2a,0x23,0xbe,0x56,0x31,0x0d,0x31,0x2e,0xfc,0xb9,0x1b,0xdb,0xab,0x78,0xa7,0x5e,0x57,0x6e,0xbe,0x90,0x81,0x97,0x24,0x15,0xf5,0x62,0xdb,0x41,0xba,0xf5,0xe2,0x33,0x8b,0x07,},"\xd8\xf5\x65\x0a\xa3\x58\x1c\x4d\x39\xbd\x1b\x8a\xfc\x96\xc1\xad\x7c\x4b\xf7\x23\x42\x6f\x9d\x7f\xab\xd1\xa5\xc8\xac\x1d\x2f\xe5\x4a\x97\x1f\xac\x76\x5e\x05\xaf\x6e\x40\x7d\x72\x69\xba\xb6\x61\xb3\x43\x22\x92\xa4\x84\xf9\x52\xc1\x10\x95\xbb\xd2\x0a\x15\xd7\x7c\x41\xf8\xf3\x73\x1a\x50\x4d\x51\x8e\xe1\x0c\xd0\x06\xc9\x6e\xe5\x73\x72\xde\x5b\xea\x34\x8e\xc8\xba\x15\x91\x62\x17\x0c\x63\xe9\x70\xf1\xc7\xa3\x46\x5a\x3d\x59\x2e\x1d\x56\xc6\x54\x0f\xbd\xb6\x02\x28\xe3\x40\x90\x96\x46\x32\x0c\x95\xf2\x56\x98\xcd\x48\x96\xbd\xff\x58\xe2\x56\x1e\x3b\x3d\x9a\x73\xb8\x97\x47\x91\x2a\x1c\xf4\x67\xd6\x3e\x41\x45\x5f\xda\x77\x47\x7f\x46\xfe\x69\x37\xbb\x0e\x79\xd9\x2c\xcd\x52\xe8\x2d\xba\x90\x8a\x05\xa5\x7c\x7e\xcf\x49\x55\x4a\xb4\x4c\x0b\x71\x8e\x3b\xdd\x5f\xc0\xbf\x70\x70\xd9\xc5\x8f\x86\x05\x91\xc1\x8b\xca\x8b\x3a\x9a\x14\x8a\x06\x54\x8e\x0f\x01\x60\x2b\x1e\x6f\x68\x60\x37\xc9\x4f\xf7\x32\xe1\x55\xd5\x2d\x5b\x0b\x44\x70\x3b\x3d\x11\x16\x3e\x3f\x56\xe3\xb9\xc1\xb8\x64\x76\xe4\xdc\xbf\xc5\x3f\xa0\x59\x84\xe8\xc7\x5d\xd2\x18\x43\xcf\x96\xf9\xe4\x94\xab\xba\xe7\x18\x4a\xa4\x27\x36\x63\x3e\x38\x11\xae\xff\x40\x2b\x2f\xcb\x7d\x7f\x70\x2e\x44\x72\x41\xe2\x2a\x58\x84\x2f\xd6\xd0\xc0\x3d\x33\xff\x5b\x8c\x79\x22\x00\xe1\x73\xda\xa7\xb2\x17\xe4\xb2\xf4\x43\x3e\x6c\x02\x0a\xcc\xe5\x01\xb9\x32\x3a\xa0\x24\x11\x44\x43\x4b\x08\xe9\xd2\x46\x91\x39\xff\x67\x34\x22\x08\x90\x05\x46\x20\x0f\xd9\x71\xa6\x5d\xbd\x6d\xb6\xc2\x1e\x3e\xf9\x17\x2a\xbb\xa1\xea\x9e\xa2\xa2\x49\xad\xdf\x1a\x1e\xaa\x3c\xe1\x19\x38\xb1\x3e\x30\x91\x3c\xd0\xda\xd4\x91\xfc\xbb\x32\x85\xea\x37\x8b\x8e\xf9\x22\x7f\x3f\xa8\x0b\x58\x6e\xcf\xea\xe1\x37\x06\x6f\x84\x48\xac\xdf\xb7\x8d\x6d\x3e\x9e\xf4\xa6\xb3\x62\xdf\x42\x41\xad\x9a\xe2\x53\xb8\xe1\x59\x7d\x65\x6e\x00\x0c\xea\x44\x7a\x02\xfa\x49\x33\x32\x86\x09\xbb\xa0"}, -{{0x1b,0xa9,0x19,0xc0,0x66,0xbb,0x56,0xe6,0x40,0xc3,0x33,0x59,0x68,0xe1,0xd1,0xb5,0xbc,0xc0,0x93,0x38,0x3e,0x2d,0x7c,0xf8,0xb5,0xff,0xf5,0xc6,0x1e,0xc4,0x7a,0x77,},{0x80,0x4c,0x90,0xbd,0xc2,0xb3,0x61,0x8b,0x01,0xf0,0x75,0xe0,0x41,0xfa,0x97,0x1b,0x83,0xc5,0xb6,0xcf,0xa3,0xb6,0xb3,0x97,0x4f,0x3f,0xa4,0x35,0x99,0xbe,0xac,0xab,},{0x50,0x3e,0xb7,0xed,0x6d,0xe1,0xb7,0x76,0xc9,0x52,0xf2,0x55,0xbb,0xd4,0xbc,0xfb,0x0e,0x48,0xbc,0x70,0xc2,0xcc,0x2f,0x1f,0x72,0xbf,0x68,0x81,0x47,0x90,0x40,0xc4,0x75,0x24,0xec,0x54,0x2a,0xe1,0x3f,0x60,0x05,0xca,0x50,0x16,0xb5,0x8b,0x73,0x6a,0x50,0x89,0x8d,0xd0,0x56,0x9d,0x4d,0x38,0xad,0x29,0x86,0x30,0xd6,0x8a,0xdb,0x0b,},"\x87\xc5\xc7\x5d\x8a\xd0\x7d\x52\xac\xd7\x81\xd1\xbb\x95\xf7\x8c\x70\xe2\x1c\x2d\xd6\x6f\x7a\xa4\x42\x34\x15\x2f\x98\x23\x4d\x12\x83\x58\xa8\xae\xe9\x8e\xa9\x03\xa7\x7b\x44\x1d\xb1\x44\x7a\xe6\xff\x34\x32\xdd\xd4\x57\x0f\x7f\x58\x03\x61\x22\xc1\xfd\xcc\x93\xcb\x21\x57\x37\x39\xc1\x9c\xca\xa4\x11\x50\x8e\x08\xde\x26\x06\xf3\xd8\xf2\xdb\x89\xdf\x6a\x44\xa4\x61\x33\xd5\x70\x18\x46\x26\x27\xe2\x2f\x57\xef\x36\xd1\xde\x02\x4d\xe3\xd4\xae\x41\xb7\x52\xdf\x48\x21\x15\x59\x34\xb4\x47\xb2\xef\xfe\x51\x24\x87\x52\x1b\xe0\x35\x68\x32\xa7\x4c\xe0\xe2\xd8\x30\x1b\x79\xf9\x31\x75\xe8\xb6\xb9\x61\xb1\xdf\x63\x7d\x8a\xca\xdc\x88\x45\x43\xc6\x86\x4f\x80\x25\xec\xec\xec\x7c\x6e\x4f\xe0\xfe\xcf\xc4\x0d\xcd\x95\xe8\xd6\xab\x93\xce\x25\x59\x53\x84\x43\x6b\x59\x8b\x73\xc7\x4b\x03\xd4\x9e\xd5\x00\x2c\x0f\x85\x8c\xfd\x9d\x0d\xf6\x1e\xde\x93\x7c\xc4\x16\x59\xd6\x70\x8b\x96\xfc\x5a\xaa\xde\xe1\x09\xe2\xa6\x88\x46\xba\xf2\xc2\x46\xdf\xcf\x3d\x27\xc2\x8b\xd1\x37\x1e\x35\xfc\x94\x12\x63\x14\x42\xee\x75\xf3\x8c\x6e\x49\x58\x07\x0a\x74\xf6\xe6\xa2\x20\xf7\x5c\x72\x80\xea\xb4\x73\x7d\x97\xe3\x78\x82\xf3\x62\x48\x11\x67\x5f\x16\xca\xf6\x0c\xb9\x44\xbc\xe9\x2e\x75\x88\x4c\x56\x48\x3c\x61\xf2\x6b\x63\x71\xb1\xb5\x12\x37\x62\x1a\x06\x54\x3e\xb4\xab\xea\x7b\xec\xc4\xfc\x31\xdb\xb5\x47\x5b\x3d\xeb\x9b\xb3\xc8\x99\x23\x87\x10\x48\x30\xc6\x07\x2a\xfe\x1a\xf2\x44\xbf\x68\x1a\x40\x32\x9c\x9b\x37\x77\x2b\x09\xc5\xe8\x8e\x78\xf7\xdf\xfb\xc0\x45\x49\xff\xa1\x3b\x41\x44\xdd\xfa\x53\x8f\xc4\xb3\x30\x05\x40\xad\x83\x02\x15\xe2\x5f\x11\x44\x6d\x28\x9f\x33\x12\x2c\x2c\x88\x0d\xe3\xda\x71\xc4\x53\xd7\xe8\x8f\x7c\xa4\xea\x3d\x12\x55\xe8\x2f\x4b\xc9\xe5\x53\x3d\xc4\x01\xc3\x30\x40\xe1\x69\x40\xb2\xcf\x9c\xf2\x1f\xea\xca\x1c\x2c\x6c\x33\x33\x7c\xf7\x5e\x18\x84\xb4\x83\xbf\x80\x15\x36\xd3\x04\x08\x91\x15\xa0"}, -{{0x9b,0x36,0x24,0x7c,0x17,0x71,0x0e,0x95,0x26,0x1a,0x7d,0x70,0x2f,0x57,0xfe,0x81,0xf2,0x97,0x11,0x17,0xa5,0x0c,0x87,0x92,0x01,0x93,0xb3,0x86,0xd4,0x94,0xca,0x97,},{0x29,0xae,0x39,0xf2,0x73,0xe3,0x5f,0xb3,0xf6,0x11,0xda,0x09,0x16,0x00,0x65,0x0e,0xfb,0xc4,0xfc,0x4d,0x1e,0x7b,0x4c,0x76,0xac,0xed,0x5a,0x83,0xf8,0x26,0x34,0xf3,},{0x03,0x59,0x70,0xa6,0x72,0xe9,0x3f,0x87,0xeb,0x42,0xcc,0x39,0x6f,0x6e,0xa7,0xe1,0xb3,0xdd,0x5c,0x59,0x51,0x57,0x28,0x26,0xd1,0x07,0x5a,0x15,0xc2,0xd7,0xe4,0x54,0xdf,0x19,0x5b,0x51,0xaa,0xe8,0xdc,0x61,0xef,0x7a,0xb8,0x95,0x48,0x5f,0x64,0xe5,0x98,0x95,0x73,0xd9,0x8a,0x06,0x2e,0x67,0xae,0x73,0x56,0xfe,0x5c,0x9e,0x3b,0x0f,},"\xe8\xd9\xd5\x3b\xa2\x7e\x98\xed\xd5\x5d\xf3\xc6\xb2\x45\xea\xcd\xdc\x8a\x40\xe3\xef\xb0\x07\xbc\x91\x8e\xc5\xa8\x69\x17\x8a\x17\x0b\xb4\xa6\x35\xb7\xf8\xf7\x42\xe3\x7a\xd4\x5d\x14\xa7\x43\x44\xa6\xb5\x22\x83\x0a\x52\x21\x06\xeb\x96\x0d\xaf\x19\x2d\xc1\xe0\xfd\x70\xf1\x61\x60\xe1\x22\x51\x68\x92\xd0\xe2\xab\xd0\xd4\xae\x0f\x0d\x2e\x5a\xdc\xc9\x9a\xd5\x53\x02\xe2\x51\xb3\xe7\xa4\xd0\xcb\x33\x77\x4a\x49\x70\x49\x90\x5c\x33\xde\x1f\xbb\xc1\xad\x2b\x6c\x64\x52\x95\xfe\x41\x6b\x4d\x12\xb2\x32\xef\xe0\xa3\x3c\xd2\xad\x87\x32\xeb\xa1\xc3\xcb\x0e\xae\xb0\xb2\xa5\x7f\xa0\x3e\xc5\x67\xca\x29\x21\x0b\xf6\xff\x95\x42\xa7\x66\xf4\x96\xfe\x68\x05\x8a\xa9\x83\x80\x6c\xbe\x7a\xb1\x0a\x47\x92\x0b\xac\x82\x48\x81\x8e\x54\xa4\x15\x51\xc9\xa0\x95\x9e\x89\x94\xca\xc6\x0f\xc8\x68\xad\x48\xb5\xa2\x4d\x5f\x24\xa7\xa5\xa3\xfd\x90\xb8\x47\xe8\x17\xad\x3d\xd5\xd0\xd6\xf8\xde\x2d\x20\x4f\x64\x24\x83\xbd\x53\x58\x5a\x92\xef\x92\x54\x15\xa9\xb3\x8f\xbb\xf0\x7f\xc0\xf3\x5e\x70\x75\x69\xcf\x48\x8b\x20\x54\x53\xce\x54\x33\xeb\xa6\xfd\xe8\x78\x1a\xf7\x2b\x52\xbf\xbc\xab\x85\xea\xd3\x85\xd9\xd3\x17\x5e\x21\xad\x33\x73\xad\x53\x5c\xf0\xe3\x57\xed\x6b\x53\x83\xef\x38\x29\xa9\xd5\x09\x5b\x87\xdc\x9a\xad\xbe\x0c\xa7\xab\xad\xf3\x3e\xc3\xb6\xff\xd6\xeb\x94\xaf\xdc\xc1\x2e\x8d\x66\xa6\xfc\x05\xac\xf9\x73\x68\xdb\x0f\x69\x56\x5d\xcd\x8f\xef\x4d\x1e\x49\xd7\xdd\x4a\xc0\x53\xc2\x18\xf5\x24\x0c\x81\x2d\x4e\xbb\xa4\x40\xdc\x54\xca\xcd\xdb\x1c\x39\x32\x9e\x5b\xd0\xc3\xc8\x0d\xc3\x25\x9a\x80\xf0\x59\xf9\x46\x79\xaa\x07\x94\xca\x01\x15\xcc\x62\xaf\x25\xe1\x24\xcb\x8a\x9d\x41\x60\xea\xce\x6d\x22\xc7\xb1\xc4\x45\x44\xf8\x11\x42\xa1\x9e\xbb\x02\xa9\xbd\xa6\x42\x9c\x50\xe7\x83\xdb\x4a\x07\xf0\x21\x9e\x85\x7c\x8d\x3c\x56\x55\xa5\x82\x83\x1c\x8e\xab\xc3\xf1\x9b\x59\xad\x8d\x2c\x71\x4a\xde\xaf\x40\x39\xd5\xcf\x70"}, -{{0x6f,0xed,0xe7,0x39,0x6c,0x46,0x20,0x33,0x18,0x9a,0xcd,0x23,0xd2,0xf9,0xd0,0x2b,0x68,0x89,0x8d,0x35,0xf3,0xa0,0x1a,0x79,0x8f,0xc2,0x4d,0x48,0x8d,0xe9,0x3a,0x78,},{0xb3,0x40,0x62,0x06,0x0b,0x2c,0x20,0x07,0x6a,0x98,0xfe,0xa9,0x39,0xb3,0xb3,0xa5,0x04,0x51,0xa5,0xf4,0x9f,0x83,0x51,0xc0,0xad,0x75,0x91,0xdb,0xbe,0xbb,0x13,0x0f,},{0x88,0xa8,0x3e,0x20,0x12,0xd2,0x09,0xca,0x03,0xb8,0xeb,0xf6,0xde,0x5b,0xb7,0xef,0x4c,0xcb,0x5e,0x3d,0xf5,0xca,0xc7,0x89,0x54,0xaa,0x69,0x49,0x30,0xe4,0xde,0x82,0x54,0x4e,0xf5,0x08,0x3c,0x48,0x92,0xdb,0x9f,0x05,0xd7,0x7b,0xf6,0x3f,0x4f,0xdf,0xce,0x15,0xa4,0xd1,0xc3,0xf8,0x5b,0xae,0x80,0x77,0x06,0x2b,0xec,0x0e,0x7b,0x07,},"\x5a\xbc\xc1\x4b\x9d\x85\x78\xde\x08\x32\x1d\xe0\xd4\x15\xe3\xd4\x0e\x9d\xe3\x1e\x18\x88\x13\x74\x75\xce\x62\xbc\x6f\xbe\xe8\xfd\xd0\x3b\x9d\x47\xc7\xb8\x8b\xbc\xeb\x80\x44\x44\x49\x0b\xf6\xa3\xcc\xb7\xa2\x73\x26\x1e\x24\x00\x4e\xa6\x7c\xef\xa3\xd5\xd1\x73\x57\x6d\x01\xe3\x8f\x76\xc1\xe0\xe5\x15\x08\x3c\x97\xe7\x99\x14\xac\xf2\xbe\x41\x60\xef\x93\x60\xbb\xe9\x86\xb3\x6e\x9f\xf9\x33\x46\xb0\xe7\x06\x91\xd9\x34\xe4\x7f\x8a\x50\x3f\xa9\x33\xab\x2a\x50\x42\x69\x47\xcd\xa8\xe8\x10\xc9\xeb\xe3\xb3\x69\x82\xf0\x9a\xee\x60\x92\x73\x9f\xa2\x35\x8b\x61\x3c\x7f\x12\x9d\xb0\xdc\xbe\x36\x8b\xee\x52\xf2\xf7\xf1\xdf\xe3\xd2\x43\x46\x05\xb5\xaf\xcf\x25\x60\x71\x71\x7d\x92\x4f\xd0\x80\x3b\xbd\x0d\xd1\xf9\x55\x5c\xe8\x34\xda\xc7\x81\xdf\x4c\xc7\xaa\x19\xe7\xf1\x1d\xa9\xfb\x99\xcb\x9e\x6b\x9e\x1e\x6f\xb4\xf7\xe8\xdc\xb2\x23\x6c\x28\xae\xb6\xcb\xc5\x5a\x13\x0e\x03\xc1\xb1\x7a\x99\x1c\xca\x1b\x79\x4e\x6c\x13\x73\x2d\x5b\x0a\x66\xf6\xeb\xa8\x60\xec\xb9\x85\x55\xaa\x4c\x21\x8d\x11\x2b\x11\x6b\xce\x23\x82\x95\xde\x14\x27\x41\xf6\x87\xbe\x0b\x24\x87\xf5\x8f\xfc\x5c\x12\xa0\xa5\x19\xf1\xe2\x37\x93\x24\x2e\xf8\x57\xed\x39\x8a\x20\x69\x9d\x43\x51\x45\x3f\xc2\xf0\x92\x76\x2a\xbd\xe3\x4f\x4d\xa2\xdb\xe0\xce\x2a\xab\xaf\x6b\xc4\xc0\x15\x9f\x3f\xe1\xae\xa1\x6a\x03\x6f\x7e\xae\xcd\x62\x95\x38\xf3\xe0\xee\xd8\x3c\x9a\x4d\xc1\xab\xc2\x38\xf9\x0d\xaa\xf4\x89\xfd\x61\xb3\x4d\x93\x7b\x6f\x46\x07\xa7\x88\xba\xa8\x20\x61\x94\x3d\xba\xb2\x6c\x1d\x38\x4d\x8d\x49\xf9\x93\x48\x80\x0b\xf3\x61\xf8\x71\xf5\xd6\xcd\xa1\x8f\x68\x99\x18\xce\xc3\x1a\xd1\x58\xf1\x86\x3d\x13\xff\xac\x54\x05\xc1\x62\xc3\x2d\xe0\x6e\x32\x99\x4c\xc4\x10\x6f\x95\xbb\x4f\xff\xdb\xef\xe7\xd6\x29\xec\x77\x97\x39\x46\x09\xfd\xbf\xea\xdb\x46\x92\x73\x70\xa1\x1f\xb3\x84\x71\x54\x0f\x95\x1b\x93\xc6\xeb\x23\x86\x68\xdc\x00\x6c\x21\x66\x0b\xa2"}, -{{0xd5,0x59,0x58,0x01,0x34,0xab,0x05,0x0a,0xca,0x44,0x6e,0xa7,0x75,0x0e,0xf6,0xb3,0x71,0xd9,0x2d,0x76,0x45,0xec,0x76,0x35,0xfe,0x78,0x51,0x10,0x0b,0xc4,0xe5,0x1e,},{0xde,0x50,0x20,0xcd,0x21,0xa8,0xb3,0x23,0x39,0xde,0xcb,0xed,0xff,0x24,0x66,0x4d,0x95,0x80,0x32,0x63,0x27,0xae,0xdf,0x09,0xc5,0xec,0x6b,0x3f,0xe5,0x40,0x52,0x26,},{0x6f,0xcb,0x1a,0xc9,0x29,0x0a,0xb7,0x67,0xd5,0x9b,0x59,0x8c,0x9a,0x24,0xec,0xdb,0x6c,0x05,0xbb,0x02,0x3e,0xc3,0x60,0x14,0xa4,0x0d,0x90,0x8e,0xf0,0xdc,0x37,0x8a,0x45,0x28,0xb3,0x76,0x0d,0x88,0x9a,0x79,0x17,0x4e,0x21,0xca,0xe3,0x5d,0xf4,0x5d,0x42,0x7b,0xa6,0xea,0x81,0x2b,0xdd,0xca,0x16,0xe3,0x5a,0x69,0xb5,0xe7,0x9f,0x0a,},"\x68\x42\xe3\x19\x0a\x11\x0e\xee\x96\xc5\x07\xd4\xbc\xb4\xc5\x48\xc3\xa0\xed\x7b\x1a\x8e\xd7\x7d\xd9\x3b\x38\x61\x3b\x23\xc7\x3e\x83\x0b\x20\x5e\x62\x65\x19\x21\xad\x82\x96\xb0\x8d\x1e\x10\x08\xad\x78\xf2\x99\x6e\x3c\x7f\x38\x03\x2e\x46\x7c\xff\xec\xd7\x7b\x85\x25\xe2\x43\xce\xc0\x21\xf8\x52\x96\xaf\xd5\x45\xd7\xbe\x1a\x62\x56\x8b\xb0\xcf\xcd\xb9\x0d\x61\x4e\xd7\x98\xbf\xb7\xef\xc6\x55\x32\x68\x16\xa6\x10\x82\x25\x1d\xf0\x16\x13\xaa\xc8\x8e\xfc\xea\x1e\x0e\xa2\x96\x1b\x8f\x92\x1e\xbe\x15\x58\xde\xe8\x33\x74\xa0\x11\x3a\x78\xc5\x58\x57\xce\x20\x55\xbb\x2c\x48\xba\xdb\xd3\xd8\xf4\xcb\x19\x73\x4d\x00\xd0\x60\x4b\x61\x90\x73\x02\x0d\x72\xa9\x9a\x19\x23\xe6\x16\x0a\x09\x94\x65\x67\xfd\x4b\xda\x66\x44\x2e\xf5\xa7\x36\x07\x86\xd1\x78\xda\xe4\x49\x22\xf3\x50\xce\x2e\xdc\x6a\xf7\x3d\x1b\xd8\x0d\xc0\x3e\xc3\xca\x70\x05\xf4\x10\x9d\x10\xc6\xd4\xf7\xd8\xfa\x61\x73\x51\x10\xf8\xdb\xae\xdf\x91\xa0\xba\xd7\xd7\xfb\x5c\x04\xd7\x06\x37\x3c\x15\xc6\x45\x06\x3f\xf4\xb4\xfb\xd2\xd5\x59\xb0\xaf\xad\x43\x2d\x4c\x49\x6c\xd8\xab\xfe\xa2\x86\xfa\x67\x5d\xc0\x76\x72\x6e\xc5\x22\xb3\xa3\xc2\xf4\x7a\xec\xc5\x39\xf4\x8a\x79\x21\x69\xc4\xcc\x8c\xd4\x1c\xd2\xcb\x6b\x63\xdd\xbc\x19\x37\x3a\xc9\x69\x1c\x2b\xc2\xf7\x8f\x22\x60\x3d\x55\x13\x71\x5a\x16\xd4\x57\x4e\x7a\xcc\x4b\xea\x6d\xcd\x8c\xa7\xf1\x98\x65\xa4\x9d\x36\x64\xa2\x10\xdf\xad\x29\x07\x74\xb1\x0b\x71\x88\xf2\x55\xb3\xbe\x4d\xc8\xfa\x86\xf8\xda\x3f\x73\xa4\xe7\xc9\x29\x95\x1d\xf3\x0f\xe6\x6a\x17\xc8\xce\xe2\x3e\x4f\x2e\xd2\x06\x3f\x0b\x02\xab\x40\x37\x2c\xbe\x54\xb9\xa7\x08\xdf\x7c\x48\xa0\x65\x66\xd3\x9b\x19\x43\x4c\x6c\x76\x69\x87\xb3\xeb\xb0\x06\x75\xf4\x4c\x4b\x3c\x1e\x9f\x45\x04\xe7\xa9\x27\x05\x89\xc0\xd0\xf4\xcb\x73\x42\x35\xa5\x8e\xf0\x74\xcf\x9d\xec\xf3\x60\x1a\xee\xca\x9f\x1d\x8e\x35\x6c\xb2\xdb\x5f\xce\x79\xcb\xc3\x61\x43\xf3\x4b"}, -{{0x9d,0x4c,0xe9,0x75,0x54,0x78,0x76,0x63,0x6f,0xea,0x25,0x43,0x7c,0x28,0x80,0xc9,0xaa,0x8e,0xe6,0xb2,0x70,0xd1,0xb2,0xda,0x19,0x7c,0x8d,0x7f,0x95,0xe7,0xdc,0xcc,},{0xbd,0xe4,0x99,0x3c,0x03,0x04,0x77,0xc3,0x58,0x90,0xaa,0xe8,0x2b,0xb5,0x08,0x7e,0x91,0x4e,0x64,0xb9,0x4f,0xfc,0x64,0xe2,0xd7,0xa5,0xa7,0xc9,0x19,0xe2,0xd9,0x02,},{0xbe,0x17,0x44,0x4c,0xd4,0x65,0xa8,0x7a,0x97,0x1d,0xf8,0x4e,0xb1,0x02,0xf9,0xc7,0xa6,0x26,0xa7,0xc4,0xff,0x7a,0xea,0x51,0xd3,0x2c,0x81,0x35,0x3d,0x5d,0xbc,0x07,0x39,0x3c,0xa0,0x3d,0xb8,0x97,0xd1,0xff,0x09,0x94,0x5c,0x4d,0x91,0xd9,0x8c,0x9d,0x91,0xac,0xbd,0xc7,0xcc,0x7f,0x34,0x14,0x4d,0x4d,0x69,0xeb,0x04,0xd8,0x1f,0x0c,},"\xea\x0f\xa3\x2a\x4a\x28\x88\x11\x30\x1b\x9e\xe5\x33\xfa\x35\x1f\xdf\xbf\x6b\xc1\xd0\x55\x5a\x74\x02\x76\x7a\x3a\x91\x98\x55\x8f\x74\xbb\xa7\x03\x18\x57\x99\x5b\x9f\x32\x62\x26\xf1\xdd\x5d\xf1\x07\xb0\x63\x42\x20\x3e\xb8\xd4\x0c\x5f\x1d\xc9\x5b\x4f\x3f\x88\x97\x5a\xa2\x4a\xf8\x76\x9e\x26\x70\xc4\x66\x71\xbe\xbb\x7a\x0f\x1b\x75\x68\x72\x9a\xee\x47\x7e\x89\x88\xaf\x9c\x74\x9f\x32\x02\x70\x81\x71\xfd\x94\xb3\x37\xae\x67\xed\x21\xa6\xc4\x41\x74\x01\x4b\x0b\x0e\xb5\xba\x71\xc2\x77\x97\x8d\x48\x8c\x24\xc4\xa7\x84\x13\x09\x84\x6b\x4e\x30\xa4\xfb\xbc\xfc\x45\x07\x8d\x7e\x14\x01\x41\x14\xb1\xac\x64\xf7\xc3\x3c\x9a\xc2\x5e\xa5\x62\x6c\x2c\x81\x9f\xba\xa2\xa4\xde\x8a\x2b\xf5\xf1\x36\x5d\x6b\x70\x40\x7e\x80\x94\xf9\x91\x97\xce\x1f\x0c\x35\xe1\x1a\x98\xfb\xe3\x72\x41\x4e\xa2\x06\x4a\x3a\x12\xd1\xcd\x5c\x8d\xf8\xfc\x0e\x79\xf5\xb7\x70\xb5\x8f\x47\x7f\x91\x97\x6c\xa0\x13\x98\x95\x12\x0e\x24\x6b\xaa\xb5\xa0\x26\xf2\xd3\x9c\x68\x7d\xc0\x78\x83\x34\xb5\xc6\x26\xd5\x2c\xde\xbe\x05\xea\xf3\x08\x64\xb4\x13\xee\xbd\xc5\x58\x1e\xf0\x0d\x43\x92\x76\xe5\x2f\x47\x9c\x9c\x05\xb1\x16\x39\x58\x26\xb6\x04\x90\xb3\xce\x70\x0c\xc0\x02\x7f\x61\xe4\x6c\xa2\xf6\xfb\xc2\xc9\xde\x2e\x80\x08\x06\x55\x0a\xfb\x06\xd4\xa0\x8e\xac\x7a\x75\x8e\x24\x58\x2a\x4d\x6d\x42\x8b\x43\x3d\x36\x5f\xc3\x1d\x44\x44\x60\x7a\xfb\x64\xf1\x5e\x37\x07\x94\x00\x5a\x3a\x22\x44\xe6\x66\xd5\xd4\xc3\x8a\xd2\x00\x9c\x76\x9a\x51\xcd\xbf\x73\x8d\x23\x59\x42\xf4\x12\xd0\x7f\xee\xb7\x3b\x36\x57\xd0\xb0\xc9\x1c\xb5\x94\x0b\xad\x6a\x70\x6e\x14\xed\xcd\xc3\x42\x25\xb1\xc1\xf3\x8b\x1a\xbe\xcb\x2a\xdc\xaf\x81\x91\x55\xa9\x4f\xe1\x90\xfd\x55\x68\x22\xd5\x59\xd9\xc4\x70\x85\x4d\x3a\x43\xbf\xb8\x68\xda\xdd\x6e\x44\x3d\x98\xee\x87\xe4\xd8\x28\x4f\x5c\xf3\xa6\xda\xfa\xf2\x95\xb9\x02\x83\x6c\x64\x05\x11\xe6\x10\xae\x7d\x0c\xb1\xb1\xd3\xd6\x07\x9f\xe6"}, -{{0x02,0x73,0x86,0x82,0x32,0xf5,0xbe,0x48,0x59,0x2c,0xfa,0x05,0x13,0x4e,0x8d,0x55,0x54,0xed,0x1f,0x9a,0x57,0xbc,0x7e,0x39,0x82,0xa3,0x30,0xc5,0x7e,0x5a,0x7f,0x3a,},{0xf1,0x72,0x20,0x87,0x82,0xdb,0x66,0xd4,0x66,0xcb,0xe4,0xf4,0x41,0x7f,0x6f,0xc4,0x77,0xb7,0x34,0x9f,0x2a,0x98,0xdb,0x56,0xc0,0x3a,0x47,0x22,0x75,0x46,0xbc,0x5a,},{0x15,0xe8,0xd8,0xdc,0x7d,0x5d,0x25,0x35,0x9d,0x6a,0x10,0xd0,0x4e,0xe4,0x19,0x18,0xa9,0xc9,0xdf,0x4c,0x87,0xbe,0x26,0x9f,0xa8,0x32,0x43,0x4d,0x53,0x01,0xdb,0x02,0x24,0x81,0xbf,0xa3,0x95,0xa3,0xe3,0x46,0x6f,0x95,0x54,0xce,0xee,0x05,0x32,0xa8,0x18,0x3a,0x0d,0x05,0x50,0xe7,0xd1,0xab,0xe9,0x9f,0xc6,0x94,0xc6,0xff,0x93,0x01,},"\xf7\xa1\xd4\x61\x4c\xc6\x4a\x3b\xc4\x8f\x00\xc6\x27\x63\x04\xf3\x4d\x4d\xfd\x15\xe0\x61\x7b\x93\xcc\xef\x12\x6c\x5c\x63\x8c\x9d\x99\x53\xaa\xbb\x7d\xf4\x2d\xf4\xe0\xaa\xa7\xea\xc9\x6a\x4b\x38\xc7\xba\x75\x8d\x86\x0c\x90\xd0\x5e\x3d\x14\xe4\x79\xe5\x45\xf3\x19\xb0\xe5\xa8\x5a\xd8\xf0\x99\x1b\x43\xd6\xe4\x9c\x24\xfa\x06\x0e\x3e\x5d\xf9\x5c\x98\xd9\x45\x1a\xb8\x33\xe1\x2a\xa9\x7f\x40\x46\x11\xbb\xa3\x59\x49\x62\x65\xa6\xdb\x11\x91\x7d\x0d\xa5\xc6\xa7\x02\xd0\xb1\x02\xde\x36\xdd\x0c\x98\xdf\x5b\x54\x80\x6c\xe6\x26\xbb\x96\x37\x44\x75\xf6\x8a\x60\x60\xeb\x35\x0a\x7d\x2a\xae\x32\x04\xb3\xdf\xdf\x9f\x1e\x31\xbe\x81\xf7\x17\x0f\x8a\x1b\x93\x85\x41\x3f\xf8\xf6\x88\x1e\x10\xc1\xe8\xda\x4c\x88\xaf\xb5\x06\x39\xab\x44\x88\x7a\xca\x2a\xbe\xec\xed\xf1\x10\xd2\x95\x8c\x13\xfd\x33\x90\xd1\xb9\x6a\x76\x2d\x16\xce\x19\x69\x20\xce\x85\xf6\xc4\x15\xbe\xd5\x45\xb1\x44\x53\x02\xa6\xf0\x01\xeb\x8d\x00\xe9\x7c\x75\x18\x87\x86\x8d\x48\x1a\x0b\x1e\x4d\xfa\x04\xb6\xf7\x61\x08\x6e\xe8\xe6\x97\xb0\x19\xe0\x17\x10\x4b\xaf\xb9\x8f\xca\x24\x2e\x33\x4c\x6f\x18\xf1\xdb\x5b\x6f\x29\x5f\x05\xc5\x59\x36\x1c\x68\x31\xda\xbc\x42\xc2\x11\x07\x03\xf9\xd1\xf6\x4e\x12\xdd\xf2\x6a\x86\x79\x85\x4e\x9f\x8e\xf8\x47\x9e\x1f\x12\xc3\x54\x47\xaa\xc0\x2e\xa7\xf2\x42\xe5\x86\x32\xcf\x2f\xd0\x63\xfe\x66\x50\x70\x44\x5b\x80\xf3\xdc\x6a\x33\x03\xbb\xa9\x6e\x05\xfa\x88\xee\xc2\x01\xc5\xc2\xd0\x0c\xa8\x1b\x8d\xa6\x96\x9d\x0a\x4d\xd0\x48\x3b\x34\x77\xd3\x25\xa7\x1f\xac\xd6\xfa\x22\x09\xb4\x8c\xb4\xf6\x52\x5d\xa7\x3c\x9c\x05\xb2\xd9\x78\x9b\x01\x44\x8e\x15\x27\xe5\x6a\x09\xa9\xbc\x61\x36\xd9\x83\x72\x43\xc2\x07\x7b\x92\x5b\xbb\x93\x3f\x8f\xb1\xda\xac\x96\x33\x98\xc5\x80\x2a\xed\xa3\xbb\xca\x8a\xe3\xb8\xf4\xa9\xa8\x71\xf7\xea\x8e\x2c\x0c\xe8\x98\xc5\x66\x21\x7b\x5c\x06\xff\x55\xff\x9f\x4f\xe7\x83\x98\xae\x79\x73\x64\x1e\xaf\xb5\x21"}, -{{0x33,0x6a,0x83,0xb5,0x5a,0xbf,0x4c,0x02,0xe2,0x5e,0x54,0x03,0x29,0xb5,0x27,0x58,0x43,0xc2,0xec,0xb8,0xdf,0x69,0x39,0x5b,0x5a,0x5e,0x24,0x1b,0xd0,0xd8,0xc1,0x0d,},{0xdd,0x60,0x56,0x98,0x44,0x57,0x0c,0x9f,0x0a,0x82,0x64,0x3f,0x44,0x64,0x78,0xb5,0xac,0x6f,0xc5,0x42,0x21,0x42,0x31,0xa7,0xca,0x65,0x6a,0x92,0xb5,0xfd,0xaa,0x54,},{0xd2,0x63,0xf5,0x6d,0x59,0xcb,0x9b,0x28,0x96,0xa9,0x47,0x26,0x7c,0x2e,0xd7,0x8a,0x94,0x5b,0xac,0x5a,0xbd,0xbf,0x3c,0x14,0xdc,0x3a,0xd0,0x92,0xb2,0x30,0x8c,0xb9,0x31,0x5c,0x46,0x49,0x42,0xa0,0xa2,0x0b,0x20,0x24,0x51,0x1d,0x76,0x6e,0x85,0xc9,0x36,0x49,0x9a,0x14,0x9c,0xd0,0xbb,0xb2,0x09,0x15,0x0a,0x16,0x43,0x26,0x52,0x00,},"\x9a\xfe\xe8\xab\x48\x20\x10\xe2\x92\x64\xb4\x06\xd9\xb4\x94\x53\xd1\xce\x6d\x55\x09\x39\x07\x21\x82\x86\x3e\x46\x65\x28\x4a\xb0\x5d\x86\x25\x8e\x06\x23\xb1\x87\x54\xc4\x78\x52\x38\xf6\x97\xf0\x75\xad\xfb\x9e\x1d\x31\xa4\x2e\x85\x93\x4e\xc0\x71\xdd\xdd\xec\xc2\xe6\xc2\xf6\x13\x34\xa7\x95\x26\x78\x8b\x49\x52\x19\x07\x16\x90\x6d\xde\x17\xfb\xa5\x56\xee\xa4\xc8\xb5\x97\x27\x51\x4f\x6f\x56\x15\xa1\x9c\xa3\x6d\xa3\x58\xfa\xe6\xa6\xc5\x4f\x7f\x4b\x7a\x92\x9e\x31\xba\x7c\xc7\x1b\xde\x78\x82\xfa\x9f\xfd\x87\x30\x01\x36\x40\x9c\xaf\x3c\xa6\x4e\xef\xea\x61\x6a\xed\x58\xda\x5d\xfb\xf2\x8b\x66\x8e\xc1\xcc\xcf\xfc\xef\x6e\x2e\x14\xf8\x10\x9e\x9c\xbf\x76\xcf\xa4\x14\xf9\x1a\xc0\x0f\x48\xe9\x3e\xad\xa3\x85\xdd\x3d\x5c\x16\xe1\xa3\x9e\xa3\xdd\x55\xc7\x61\xfc\xa3\x61\xb4\x28\xf5\x16\xc0\x5e\x69\x4f\xe5\xc3\xc3\x45\xcd\x94\x45\x71\x87\xa8\xe6\x04\xb2\x00\xa1\xa0\xf9\x37\xae\x89\xf4\xd6\xb5\x42\x1d\xff\xcf\x7c\xa1\x5f\x2e\x2c\x25\x37\x8a\x41\x13\x23\x3f\x76\x13\xf4\x57\x0a\xa4\xb9\x09\xa9\x13\x5e\xae\x4c\x7b\x9e\xad\x45\x80\x07\xae\x17\x12\x6a\x11\xd1\x45\x25\x8a\xf9\x56\x3d\xb2\xf7\xe8\x92\x54\x31\x87\x8b\x0e\xec\xa8\xaf\xfc\x01\xac\x59\x13\xbf\x5b\xac\x4f\xa3\xa8\x57\xc5\x4c\xc8\x90\x6d\x6a\xf7\x7d\xe6\xb9\x32\x6b\x65\x06\x15\x10\x99\xe8\x7e\x99\xb1\xe8\x19\xc6\xfb\xe0\x82\x68\x8f\x34\xb8\x03\xd5\x88\xe4\x16\xd8\x53\x16\x97\x65\xd6\x2f\x7e\x0b\xdf\x72\xc5\xcd\x66\x66\x9a\x03\x35\x56\x23\x36\x73\x5e\x7e\xfb\x73\x4a\x2f\xad\xa3\x27\xf8\x58\xbe\xc6\x02\xd0\xda\x08\xeb\xa4\x47\x9e\x7f\x6d\xc4\xde\xf6\xe4\xeb\xdb\xb7\x30\xee\x91\xa3\x34\x45\xca\xdc\x9d\xf5\x2c\x82\x5a\xd3\x61\x49\xce\xfb\xc5\x1a\xb1\x02\x03\x35\x30\x81\x4b\xaf\xa7\xe8\x79\x61\xb0\x63\x67\xff\x89\x6f\x08\xae\x33\x4a\x9b\x1a\xad\x70\x3d\xa6\x86\x70\x6c\x11\xa0\x49\x43\xea\x75\xe1\x29\x92\xdc\xf6\x10\x6e\x37\x20\x77\xcd\x03\x11\x02\x9f"}, -{{0x88,0x40,0x91,0x72,0x61,0x8b,0x49,0x03,0x93,0xdb,0x27,0xd9,0x60,0x17,0x1c,0xbc,0x18,0x7e,0xaf,0x4d,0xd8,0xb3,0x20,0xb3,0xd2,0xf8,0x24,0x98,0x00,0x43,0x71,0x8f,},{0xce,0x2e,0x7c,0x58,0x39,0xef,0x56,0x32,0xa1,0x23,0xdc,0x37,0x3d,0xc1,0x4b,0x1f,0x05,0x05,0x76,0x6e,0x96,0x75,0x40,0x76,0x04,0xca,0x7c,0xf5,0x4e,0x8d,0x44,0xb2,},{0x93,0xb6,0xe2,0x9d,0x63,0x94,0x5d,0x5c,0x42,0x73,0x87,0xd0,0x06,0xc7,0xf0,0xb0,0x19,0x56,0xa9,0x5f,0xc0,0x43,0x6e,0xd4,0x2b,0x46,0xd0,0xf1,0x7b,0x5b,0xb1,0x93,0xea,0x8c,0x0e,0xbb,0xf3,0xd6,0xd1,0x3b,0xb5,0x39,0xe3,0x5c,0x91,0xf3,0xf0,0xf9,0xfa,0x34,0x14,0xa0,0x22,0x3c,0x90,0x60,0xba,0xc8,0x36,0x53,0xc6,0xfc,0xd9,0x06,},"\xfb\x3e\x82\xf1\x1b\xc2\x86\x26\x7e\x12\x38\x17\xad\x88\x64\xe0\x77\xd9\xf7\xa8\xe7\xa1\x63\xac\x7e\xea\xf9\x3d\x55\xdd\x11\x1d\xe8\x08\x3b\x66\xb5\x3c\xe7\xbc\x77\x1f\xc5\x07\x1a\x2d\x7a\xc2\xf8\x5d\x6f\xc6\xad\xcf\xce\xc4\x46\xe1\x6a\xa1\x04\x6d\xf3\x72\x09\xad\x7a\x29\xcf\x96\x65\xb4\x39\xa5\x4d\x6f\x8d\x94\x2f\x89\xbd\xaa\x56\xf2\xf1\x12\x60\xcc\x95\x99\x30\x38\xb0\xe8\xfb\xdb\x32\x14\xf1\x42\xe6\xc9\x0b\x61\xa1\xd2\xb1\x42\x07\x62\x06\xaf\x30\xac\x35\x78\x4a\x6d\xc1\x5a\x1e\x79\x25\x1a\x8c\x77\x31\xa1\xc5\x39\x78\x03\x8f\x8d\x76\xd7\x0c\x6c\x1c\xdf\x52\x9f\xbd\xb8\x4d\x15\x07\xdc\xff\xdd\x42\x87\x3d\xfa\x6a\x8f\xe6\xbd\x6f\x7f\xd2\x9c\x80\xe4\xb2\xf9\x33\xd2\xb6\xc9\xe6\x2c\x94\x57\xe6\x65\x47\x26\x55\x05\x9b\x63\xb6\x18\xe2\xa9\xa8\xe5\xb9\xe4\x1c\x36\x46\x17\x3a\x89\x2b\x8e\x6d\x4b\xca\xd6\xa6\x2a\x6f\xcc\xd3\x45\x58\x90\xb5\x8e\xc2\x68\x1a\x95\xcc\x97\x76\xa9\xfc\xe8\x3c\x54\xa9\xef\x31\x2a\x33\x19\x59\xc7\xef\x3f\x79\xee\x57\x6e\xb7\xb7\x94\x69\xc9\x23\x4b\x1e\xae\xf6\x09\x88\x47\x08\xfe\x4b\xb0\xef\xac\x66\x2d\xa8\x71\xba\x61\xdd\xab\xb3\xfc\xbd\xeb\x8f\x63\x56\x57\xdd\x9a\x5d\x73\x11\xe6\x39\xa8\x24\x85\x8b\x9a\x98\x68\xd3\xf9\x38\x4d\xa6\x12\xc7\xf2\xe7\x71\xa4\x6b\xd2\x62\x4c\x99\xea\x2b\x6c\xcb\xca\x99\x6c\x1d\x9c\x37\x55\x54\xf2\xa5\x51\x61\x9c\xe6\xd5\xe6\xe4\xd6\xb8\x44\xa4\xdb\xea\x83\xba\x73\x23\x31\xfc\xf4\x65\x72\xc1\xfb\x0e\x25\x7c\xe1\x04\x1b\x26\x5d\xf0\x2e\x69\x0a\x92\x81\x4b\xbf\x3b\x5e\xca\xc6\x9e\xe9\x98\x76\x6a\x02\xb0\xd2\xf9\x08\xb3\xc1\x5f\x95\x26\x99\x61\x6f\x2c\x07\xd5\x89\x19\x89\x89\xe6\x05\x6c\x16\x31\x9a\xab\x6c\xf8\x77\x19\x02\xc0\x78\x04\x6a\x88\xb2\x57\x0c\x13\xbc\x5e\xde\xba\x2e\xd1\xe3\xba\x13\x1d\xaf\x94\xe6\x89\x18\x62\xbb\x3d\xe7\xd1\x06\x3f\xe4\x05\x30\x7a\x5c\xd9\x75\x69\x3e\x9d\x58\xe1\x7c\x69\x0e\xee\xf4\xa2\x60\x3c\xaf\xc6\x8c\x2b"}, -{{0xe5,0x71,0x18,0x9b,0x5c,0xd9,0xe7,0x88,0x30,0x2d,0xe3,0x91,0x9d,0x85,0x0c,0x22,0x7d,0xcb,0xb6,0x15,0x02,0x2e,0x56,0x8b,0xda,0xeb,0x37,0xac,0x5b,0x29,0x39,0xc5,},{0xed,0xda,0x89,0x0f,0x42,0xdd,0x5f,0xbc,0x73,0x16,0xa5,0xfa,0xdf,0xbe,0xc3,0x85,0x56,0xf2,0x3f,0x51,0xb8,0xef,0xd2,0x62,0x54,0x37,0xf6,0xb5,0x06,0x9f,0x1e,0xe5,},{0x7f,0x79,0x7a,0x31,0x71,0x5d,0x7c,0x35,0x6f,0x8f,0x1f,0x78,0x37,0x00,0xaa,0x99,0x74,0xbb,0x93,0x6d,0x66,0x16,0x61,0xad,0x96,0x8c,0x7c,0xde,0x1a,0xc9,0xe7,0x67,0xbe,0x56,0xa2,0xdd,0x49,0xb9,0x23,0x0e,0x90,0x11,0x0c,0x67,0xc0,0xed,0x18,0x7c,0xb7,0xe7,0x5c,0x30,0x53,0xec,0xe8,0x44,0x98,0x4d,0x29,0x6f,0x0d,0x85,0xcb,0x07,},"\xb6\x2c\x86\x7a\xd6\x22\x74\x35\xbf\xa6\xda\xb8\x30\x68\x4e\x38\xd1\x96\xe1\xf8\x61\xaa\xde\x0f\xd6\xa7\x69\x9b\x6d\x60\x90\x1f\xef\xb2\xd7\x99\xc3\x5c\x6f\x3d\x8b\xb9\x4d\xee\xe8\x34\x40\x39\x81\x86\x6b\xab\x84\x94\x6a\xe9\x47\x6c\x75\xe9\xf1\xd3\x60\x2b\x42\xcb\x2d\xb4\x37\xbf\xf3\x3a\x77\x58\x22\xf0\xd6\xa2\x57\xd4\xb7\x54\x00\xeb\xa5\xb8\xab\xb3\x14\xb7\x1f\xc6\xb4\x6f\x8a\x34\xe8\x61\xa9\xa6\x2a\xbf\x33\xde\x84\x82\xf6\x3f\x9d\x71\x69\xe7\x73\xa2\xdc\xeb\xee\x03\x70\x5d\xac\x11\x7f\xd1\x49\x9b\x68\xe7\x41\x4f\x51\xff\x94\x37\xf2\x53\xa1\xd9\x90\x1e\xc3\xb0\xbb\xa8\x69\x65\xa1\x93\x83\x65\x54\x87\xb5\x80\x10\xf8\x04\x90\x9d\xe1\xff\xb2\x21\x2c\x02\x52\xdd\xd9\xbf\x2a\x56\xac\x46\xbd\x59\xc0\xc3\x4d\xd5\x9e\x46\x59\x8b\x6b\xab\xd4\xe5\xf3\xff\xfd\xe5\x5e\x48\xda\xb0\x39\x8c\x22\xaf\x9e\x26\xba\xdd\xf7\x72\x75\xe5\xf0\x17\xb3\x5a\x9b\x8f\x84\x35\xf9\x63\x19\x36\xb3\x91\xcb\x95\xd7\xad\xf3\x5d\x1d\x85\x45\xa0\xfd\x06\x64\x12\xd5\x08\x96\x7b\xbe\x9a\x20\x24\x5a\x26\x9e\x3b\xe2\x77\x71\x17\xe7\x5f\xba\xc1\x70\xdb\xa3\x52\xbe\x69\xb2\x54\xd3\x53\xb3\xb2\xcb\x3b\x7e\x21\xb7\x21\xaa\x9f\xe0\x44\xf8\x91\x6b\x4b\x2a\x6f\x8c\x28\xf8\xab\xe6\x6a\xc9\x2b\x91\x32\x3a\xc7\x3a\xfd\x93\xdf\xbe\xea\xee\xf2\x6d\x19\xbd\x9f\x67\xe9\x9d\x48\xcd\x2a\xd2\xd3\xe5\x5e\x45\xd2\x4d\x54\xb5\x0f\x44\xa3\x9b\x90\xe2\x42\xeb\xe9\xb4\x2b\xeb\xdb\x23\x0c\x47\x0b\xdf\xde\x1b\xc7\x72\x1c\x31\x20\x00\x84\x77\x39\x3d\xcc\x2e\x15\xfd\x22\xb2\x51\xfe\xb0\xe1\x8b\x02\x88\x3c\x07\x8a\xee\x4f\xb7\x60\x65\x5a\x67\x1d\xc7\xb8\xaa\xdb\x9a\x56\x24\x20\xa3\xc2\xef\xa2\xd3\x42\xe1\xe0\x09\x9d\x95\x1b\x42\x24\x29\x84\xf5\x94\xe6\x91\x4f\xe2\x82\xb1\xee\x12\x87\x35\x98\x4e\xf9\x3a\x66\x9e\x6e\xcb\xa2\x6c\x9f\xcb\x9f\x09\xf0\x92\x56\x64\x56\x17\xf1\x39\x2d\x35\x90\x89\x17\xcb\x8d\x29\xe0\x89\x7c\x75\x03\xcd\xdd\x5d\xe1\x95\x96\x86"}, -{{0x37,0x17,0x44,0xab,0x63,0xc1,0x15,0x61,0x39,0x29,0xa3,0x43,0x70,0x9b,0xb0,0x19,0xb7,0x35,0x7d,0xff,0x72,0xd2,0xa1,0x49,0xf1,0xd0,0xf7,0x1d,0x3a,0x20,0x1e,0xfe,},{0xe5,0x8a,0xbf,0xad,0x4a,0x13,0x85,0x9f,0x0a,0xcb,0x05,0xd0,0xe4,0x7d,0x59,0x63,0x8f,0x7b,0x1b,0x49,0x36,0x10,0x0b,0x98,0x8d,0x61,0xe6,0xe7,0x0e,0x22,0x66,0x7d,},{0x5e,0xae,0x4a,0xc7,0x2a,0xf0,0x17,0x4a,0xb2,0x56,0x52,0x7b,0x7c,0xd3,0x37,0xa0,0xe5,0x48,0x2e,0x61,0x5a,0xf0,0x68,0xdb,0x21,0xda,0xe3,0x5a,0x64,0x64,0x07,0x42,0x60,0x4d,0xf7,0x3f,0xd4,0xca,0x02,0xed,0x95,0x15,0xa5,0x60,0x8d,0x73,0x19,0x52,0x30,0xfa,0xdc,0xa7,0xb4,0x26,0xf0,0x2a,0x2f,0xbf,0xd0,0x20,0x61,0xaf,0x36,0x00,},"\xc2\x19\xde\x1e\x8d\x7a\xd8\xdf\x08\xc4\x93\x77\x39\x6f\xe7\xc1\xf2\xd5\x7b\xd2\x17\x06\x33\xa0\x0d\x70\x8f\xaa\xde\xe1\x80\xce\xba\x92\x84\x9a\x77\x78\x50\x6c\xbb\x36\x68\x75\xbf\x91\x24\x70\x18\x94\xce\xcd\xb3\x38\x51\x47\xd0\x67\x18\x43\x92\x2a\x64\x9a\xff\x7c\x43\x5e\xb5\xa9\xc7\x49\x27\x50\x30\x72\xd0\x06\x79\x78\x71\x6d\xc8\x0b\xe1\x54\x5a\x2d\xbf\x5a\x1c\x38\x53\x6e\x12\xbd\x77\x20\xc1\x96\x5d\x38\x03\xa4\xe8\xaa\x55\x76\x51\x92\xa1\x3b\x70\x5c\xa1\x05\x9d\xed\x0e\x80\x63\x62\xfc\x5b\xbe\x6c\x76\xa1\xc9\x67\x4b\xb8\x53\x79\x0f\x7e\x90\xaf\x00\x75\x3e\x00\x43\x6d\xa4\x8c\xd0\x82\xea\xd6\x4f\xdd\xb6\x89\x89\x01\x62\x08\x2f\x84\x82\x92\x4f\x33\xac\xd6\x04\x64\x0f\x69\x92\x73\x52\xb4\x3f\x64\x40\x2d\x27\xa8\x83\xfa\x6b\x72\xaa\x70\xd2\x41\xdf\xfa\xa1\x70\x1a\x25\xcf\x10\x79\x35\x82\x60\x79\x38\x75\xf7\x6a\x29\x78\xe9\xf9\xf9\xd6\x86\x34\xeb\x3f\x5f\x01\xbd\xe1\xce\x49\xe5\x92\x12\x52\xf9\x49\xf0\x82\x79\x5e\x4e\xaf\xed\x7b\xe5\xb4\x9a\x9f\x95\xed\xbb\x4a\x13\x53\x2e\x3f\x3b\x3b\xe6\x2e\x26\x52\x23\x12\x53\xa2\x0c\x1d\x54\x77\xe8\xf4\xbc\x57\xed\x76\xfa\x19\xea\xf0\x3a\x11\xbb\xa4\x29\xb6\x49\x6c\xe7\x62\x46\x17\x0e\x04\x3b\xc1\x4f\x2d\x2f\x70\x3d\x96\x8f\x1d\xeb\x09\x38\x87\x15\xc3\x7c\xb4\x75\x2d\xa8\xd4\x64\xe3\x48\xe0\x31\x3c\x89\x93\xe2\x41\x33\xa7\xc5\x45\x28\x4e\x3c\x9c\x90\x7d\x01\xb2\x60\xc4\x88\x3f\x9c\xb3\xe3\xdc\x5b\x6f\x7f\xb6\xd7\x55\x36\x36\x5f\x21\x32\xea\xed\xda\xb5\x70\xe7\x27\x3a\xfa\xc0\xbf\xf5\xc9\xfc\x0b\x82\x0f\x20\x78\xe0\x33\x60\x52\xe1\xfe\x7b\xde\xc8\x66\x74\xd0\x99\x8e\xc7\x8d\xa1\xc3\xf3\x47\x51\xf8\x86\x72\x76\x95\xf3\x5e\xca\x13\x04\xb1\x47\x34\x76\x6a\xb0\x5c\x11\x86\x30\x6d\xed\x9d\xb3\xee\xf6\x5d\x3c\x04\x56\xcd\xae\x81\x81\xaf\xee\x04\xb2\x96\xc6\x72\x2a\x88\xc7\xef\x30\x88\xd2\x6f\x7f\xe7\x4b\xc8\x9c\xf5\x28\x5c\x68\x8f\x02\x7b\x7e\x68\x60\x04\x86\xaf"}, -{{0x49,0x8b,0x6e,0xe6,0x49,0x2d,0x53,0x23,0x1b,0x35,0x32,0xd1,0x93,0x57,0x8b,0xa7,0x5d,0x6a,0x89,0x4e,0x2e,0x53,0x00,0x34,0xe2,0x1a,0xb8,0xad,0x8d,0x2c,0x0d,0x1f,},{0xd1,0x24,0x66,0x5b,0x28,0xfa,0xcd,0x2d,0x17,0x94,0x6a,0x04,0xdf,0xe3,0xd1,0x29,0xa4,0x56,0x1a,0x2b,0x24,0xeb,0x32,0x6d,0x84,0xb6,0x2b,0x42,0x2e,0x44,0xdb,0xcf,},{0x11,0x2f,0x5c,0x6d,0x3b,0xcb,0x3d,0xd9,0x93,0x46,0xd3,0x2a,0xd6,0x9c,0xbf,0xac,0x3e,0x65,0x3b,0xef,0x29,0xc6,0x8a,0x33,0xf4,0x32,0x31,0xf6,0x6c,0xea,0x1d,0x0a,0x19,0x54,0x27,0xd6,0xe1,0x0c,0x0e,0x77,0xc5,0xd5,0x5f,0xe2,0x79,0x42,0x87,0xee,0x32,0xe5,0xe2,0x2b,0xaf,0xbb,0xd8,0x05,0x2a,0xd3,0x60,0x6b,0x90,0xf9,0x45,0x05,},"\x04\x98\xa5\x9b\x87\xcd\xae\x28\x69\x55\x47\xe1\x08\x63\xbc\xe8\x04\xd9\x7d\xe0\xac\x80\x08\xf3\xd5\xfb\x65\x2c\x17\x57\x41\x9f\xdc\x9e\x0f\x97\x36\xf4\xc5\x9a\x34\xf2\x1c\xfc\x74\x59\x9f\xa7\x88\xfc\xc1\x0c\x67\x30\xc7\xdf\x8c\x3d\x2c\x1b\x6a\x78\x6d\x12\x30\xb6\x55\x85\x71\x9d\x1c\xb5\xc4\x90\x35\x9b\x94\x43\x5d\x6d\xd6\x71\xf5\x4d\x6e\x9a\x19\xb9\xb5\xaa\xad\x7e\x0f\x23\x3f\x87\x97\xdf\x99\x78\x28\xd8\x8c\xd9\x2e\xf0\x89\xef\x7d\xbf\x1e\x95\x27\x78\x94\xa2\xf7\xc2\xfd\x0c\x8e\x4d\xfd\xfa\x6d\x3d\x14\x58\x9f\xf0\x19\x16\xdb\xf9\xdd\xd8\x11\xc2\xf5\xe0\x1e\x94\x29\x89\x90\xa1\x45\xa6\xcf\xc2\x68\x95\x61\x4c\x7c\x96\x3f\xef\x30\x8a\x4e\x38\x56\xc3\x2d\xd3\xe3\x59\xbc\x56\xd2\xcc\xa4\x96\xad\x19\x9f\xf1\xa5\x68\xd6\x43\x0a\xc5\xcd\x20\x8e\x0e\x2d\x07\x80\x3c\xa5\x23\xe0\xd8\x13\xad\x37\x33\xab\x50\xbd\xca\xdc\xb9\x88\xae\xe7\x58\xea\x50\x43\x9b\xf3\x8e\xe6\x49\x99\x76\x04\xf1\x51\xc6\x02\xc8\x29\x00\xa8\x20\x5d\x8f\x6f\x67\x0c\x86\x84\xbf\x5a\xbb\x5f\x75\xff\x29\xa3\x7e\xb9\xbf\x81\x05\x19\x9f\xbb\xfb\x47\x07\xe1\x62\xe6\x4c\x71\x52\x70\xf8\x53\xe6\x48\xb0\xaa\x26\xfe\xa0\xf6\xdb\x56\x28\x96\xbf\x42\x4a\x9f\xfc\xb2\x92\xfa\xe8\x5b\x76\xce\xfb\x8b\xd5\xa4\xb3\xce\x1f\xb3\x9b\xd2\xa5\x0d\x0c\x9e\x6d\x93\x3e\x16\x7f\xf6\x29\xb8\xa4\x94\xf2\xa9\xb7\x74\xeb\x30\x3c\x78\x1e\xa0\x2a\xff\x1a\x8a\xfa\xdc\x24\x65\xcc\x61\x69\x68\x01\x5e\xd6\xa5\xa3\x3c\x31\x20\xb9\x45\xed\x53\x51\x98\x1e\x32\xfb\x9f\xb9\x6b\x22\x12\xdc\xf8\xfe\x9a\xc5\x6e\x3c\xf4\x1d\xc5\x24\xf8\x00\x63\x10\x20\xb0\x25\x91\x91\x78\xce\x07\x4e\xef\x07\x8d\x68\x42\x01\x2a\x27\x6e\xfa\x62\x8d\xb5\x40\x58\xd1\xeb\x5b\x5b\x70\x5f\x1e\x18\x18\xd2\xdf\x51\x64\xba\xab\xb0\xc6\x19\x56\xec\xdb\x8c\x70\x6e\x56\x2f\xc4\xfd\x64\x05\x28\x70\x53\x0a\xe4\x25\xb2\x21\xf8\x9d\xd6\xf9\x0d\xab\x88\x2e\x76\x3e\x7a\x7f\xfa\x14\x1b\xba\xa8\xbf\x7a\x3f\x21\xb0"}, -{{0xce,0xfc,0xfc,0xd1,0xcf,0xf4,0xd8,0x91,0x07,0x49,0x27,0x91,0x31,0x83,0x0b,0x1d,0xa1,0x9d,0xfc,0x52,0x45,0xf7,0x8c,0xa6,0x8b,0x8c,0x3c,0x1b,0x62,0x2b,0x45,0x51,},{0x1d,0x39,0x4a,0xbd,0x1b,0x4e,0xd1,0xae,0xdf,0x96,0x6a,0x60,0xef,0xd3,0xff,0x88,0x21,0x40,0xa7,0xe5,0x6b,0x42,0x83,0x74,0xec,0xb4,0x43,0x28,0x9a,0x9c,0x7f,0x00,},{0x7d,0x83,0xff,0x66,0xec,0x79,0x30,0x7b,0x1c,0x0c,0x09,0x3f,0xda,0x39,0x68,0xa9,0x6c,0xf6,0x04,0x4f,0x5c,0x80,0x28,0x88,0x58,0x40,0x18,0x84,0x5e,0x7c,0xaf,0x2a,0x13,0x5a,0xc6,0xf1,0x67,0x7e,0x84,0xd2,0x2e,0x45,0x8e,0x22,0x7e,0x4f,0x93,0x02,0x09,0x91,0x9b,0xc1,0x1b,0x12,0xf7,0xaa,0xf2,0xb8,0xc9,0x43,0x02,0xd6,0x42,0x00,},"\x5e\xc9\x4e\xd0\x6f\xc1\x25\x7a\xe9\xc1\x83\xce\x56\x27\x12\x07\xac\xa3\x7a\x23\xfd\xb4\xb0\xe7\x4a\xc9\x30\x7a\x1b\xb1\x12\xe0\x5e\xd5\xa5\xd0\x47\xc9\x31\x09\xe2\xe5\x94\x77\xb0\x33\x78\x34\x64\x22\xde\x36\x71\x4c\x29\x61\xbb\x97\x36\xa5\x13\xca\x36\x71\xc6\x03\xa6\x8c\x2b\xe7\x31\x7b\x1b\x52\xa0\x76\xda\xe2\xaf\xf7\xbc\x88\xcd\x5e\xea\x0a\xa2\x68\xfa\xaa\xda\xe5\x39\xc9\x38\xbb\x4f\xd4\xb6\x06\x9b\x19\x45\xeb\x6a\xf0\xc9\xe6\xc8\xaa\x5e\xe4\xa4\xaf\x37\xe9\x0c\x67\xe2\x48\xe8\xd2\x7b\xd7\xf9\x58\x9c\x4d\x30\xe9\x05\x65\x1b\xaf\x45\x36\x4f\xa0\x49\x95\x7e\xa5\xd9\xb7\x14\x6c\xa6\x82\x04\xe5\xe9\x73\xd0\xf1\xc9\x1a\x1c\x4b\xde\xd6\x61\x15\x02\x8a\x71\x11\x4f\x0f\x4f\x85\x1b\xd1\x15\xfa\xeb\x95\x4e\x3f\x71\xa0\x14\x70\xb2\x48\x1a\x00\x98\xd9\x9f\x9d\x74\x89\x8c\x8b\xa0\x28\x7c\xc7\x83\x41\x55\x21\x41\x73\xd1\xfc\xba\xfc\xfe\x9b\x08\x25\x03\x84\x43\x94\x76\x05\x58\x83\x83\x38\x16\xc9\x52\x4c\xfd\x57\x44\xaa\xa2\x59\xdb\x7e\xbd\x3a\x6a\xa2\x0b\x5a\x65\x46\xda\xde\xfd\x14\x06\x68\xeb\x0e\xcc\xb5\xf6\x68\xdb\x9f\xc6\x29\x83\xdf\x98\x08\x50\xc9\xd1\x98\x82\xa1\x75\x50\xd5\xdc\xa3\x54\x2c\xd3\x60\x03\xa0\xd0\x3c\xff\xb0\x45\x75\xa3\xe8\xe1\xd0\x70\x15\xc7\xb3\x0e\xca\x91\x15\xcd\x2b\x72\xe4\x6d\xfd\xdf\x6a\x4d\xda\x1f\xaa\x2d\xbd\xc8\x90\x00\xd4\x33\xf6\xec\x9a\xdc\x46\x14\x6d\x93\x9f\x32\x12\x1b\x99\xb2\x89\x83\xd9\x8b\x9d\xde\x8c\x3f\x6e\x57\x79\xf2\xb0\x70\x0c\xb0\x23\xdb\x13\xde\x65\x6e\x0a\xed\x1d\xa2\xd5\xc6\xba\x26\x52\x34\x36\x48\xad\x42\x0f\x6a\xb9\xe5\x5a\x97\x48\x2a\x1a\x22\xb3\xbc\x2e\xe5\x98\x62\x9a\xba\xd9\x54\x7e\xdb\x5f\xf7\x90\x99\x05\x64\xbd\x87\x1f\x81\xb2\x4b\x12\xf2\xbf\x8d\xbd\xfe\x7a\x88\x37\x5f\xad\x9c\xcb\xd9\xfc\x0b\xa1\xd3\xbb\xa5\xe3\xc4\x81\x3c\x18\xa0\x34\x8a\xad\x83\xfb\x1b\x82\x68\x90\x54\xd9\x9b\x46\x00\xdd\x17\x60\xd0\xdc\xce\x44\x75\x74\x67\xbe\xc1\x94\x64\x06\xd5\x30"}, -{{0xd1,0x07,0xcf,0x26,0xf5,0x27,0xdb,0x71,0xa2,0x06,0xe4,0x1d,0x17,0x95,0x53,0x21,0x01,0x32,0x25,0xbb,0x20,0xf9,0x3e,0x12,0xdf,0x3d,0xc7,0x39,0x9e,0x72,0x0c,0xa3,},{0x18,0x6b,0xf4,0x53,0xc9,0x5d,0xc0,0xa2,0xfd,0x58,0x9a,0x78,0xe2,0xc8,0x00,0x40,0xb3,0xf6,0xdd,0xf9,0xa6,0xf8,0x68,0x1d,0x14,0x60,0x36,0xcf,0x21,0x46,0xe8,0xfc,},{0x80,0x71,0xd9,0x7f,0x32,0x4f,0x10,0x35,0x8f,0x13,0xac,0x8c,0x61,0xd4,0x24,0xb4,0xf3,0x00,0xdd,0x04,0x19,0x57,0x1c,0x39,0xe4,0x0d,0x99,0xae,0xa5,0xf0,0x31,0x40,0xe6,0x2a,0xb4,0xc9,0x71,0x27,0xab,0x33,0xe9,0x82,0x69,0x96,0x6a,0xe1,0xd4,0x55,0x7e,0x45,0x9b,0xf7,0xf5,0x97,0xb3,0x13,0xf3,0x51,0xa2,0x01,0x22,0xf0,0x66,0x0e,},"\x78\xeb\x9e\x13\x78\x99\x28\xa7\x4f\x36\x01\x41\x72\x8e\xde\x98\x38\x96\x85\xc8\x36\xb9\x1f\xaf\xbf\x1a\x7e\x8c\x19\xcf\xbe\x21\xbd\x3c\x3d\x6c\x6e\xd8\x3c\x40\x9e\xf6\x93\xf1\xd7\x35\xda\x3f\xa4\x66\x49\x7e\x19\xf3\x8e\x30\xfb\xa2\xa1\x02\x37\x85\x45\x90\x70\xe6\xe9\x2c\x1c\xb7\xc9\xbd\x0c\x9b\xa6\x12\x20\x15\x78\x66\xc3\xbe\xd2\xb0\x1e\x6e\x6b\x9b\x8d\xd3\xf0\xc4\x7c\x02\xf1\x81\x34\x6a\x0a\x9b\x9b\x5d\x3d\x7e\x18\xa9\x4d\x69\x56\x85\x5e\x16\xe8\xea\xaa\xab\x71\xb1\x03\x02\xf3\x5b\xd8\xfb\x1f\x9b\x58\x47\x30\x41\x60\x32\x49\x26\x64\x5b\x05\x82\xc2\xf2\xf1\x53\x3a\x24\x28\x14\x61\x51\x42\x41\xdb\x28\x50\xef\x31\xc5\x76\x3b\x2e\x3d\x4f\xb1\x8f\xc6\xd8\xc1\xd7\xe5\x2f\x7c\x13\x39\x2c\x17\xe2\x70\x19\xff\x60\x00\x8e\x43\x1f\x17\x14\x37\x0b\xc0\xef\xd9\x45\x2a\x61\xf5\xc5\x64\x88\xd9\x1a\x18\x50\x37\xf1\xf6\x47\xf7\x2f\xa7\x85\x01\x0d\x5d\x78\xf0\xa1\x15\x87\xcc\xf6\x6b\x80\x88\xe0\xe6\x35\xff\xf3\x77\x41\x93\xb2\xed\xef\xfd\x92\xd6\xe8\xa0\x32\x11\x28\xae\x64\xcd\xb8\x62\xe6\x31\xe2\xee\x5b\xa0\xda\x44\xbb\xd5\x89\xdc\x39\x2b\x5a\x11\x3b\x86\xa7\x27\xa8\xdd\xb6\x98\xa3\x34\xcc\x66\x8b\x39\xb1\xcd\xe1\x99\xb8\x88\x37\xca\x5f\x00\xf5\x53\xf8\x9c\x62\x28\x34\x27\x36\x41\xd3\x9b\xc1\x0c\x6a\x24\xe1\xeb\x42\x58\x75\x42\xf0\x3f\xc1\x62\x75\x24\xed\x6b\x74\x93\x91\xf1\x10\x28\x70\x6c\x42\x36\x44\x25\xb2\xca\xf2\x01\x80\xe1\xb8\x02\xc7\x44\xb4\x9b\x7b\xcd\x9b\xf7\xb1\x5c\x23\xa0\xbf\x1c\x69\x65\x96\x0d\x34\x15\x54\xe1\x96\x6b\x6e\xf8\x2f\xcf\xbb\xe4\x1d\x1e\x09\xd7\x41\xe3\x09\x25\x44\x46\x77\x7f\x13\xc2\x9a\x67\xb8\xbd\xeb\xc5\xf7\xf0\x4d\x16\x0d\x60\xe3\x32\xe3\xd0\x44\x1a\x0f\x2f\x7b\x19\x2c\x3e\x2b\xdf\x6d\xad\xec\x2a\x42\x4f\x88\x66\x98\x06\x23\x6e\xe0\x4d\xea\x69\x2b\xd8\xbb\x6f\x91\xca\x06\x82\xec\xe3\x49\x14\x25\x75\x35\x8b\x9b\x7b\xe7\x06\x00\xb3\xcb\x81\xe1\x45\x6b\xa0\x79\x9f\xdc\x01\xff\xd6\x86\x23"}, -{{0xaf,0x7e,0xa8,0xe4,0x1c,0x89,0x37,0xa4,0xec,0x47,0x5a,0xd8,0x13,0x71,0xa1,0x71,0xd3,0xd0,0xf9,0xfd,0x75,0x19,0xa0,0x4c,0x75,0x1e,0xd4,0xad,0x8f,0xf8,0xfe,0xf9,},{0x15,0xdf,0xc7,0x15,0x85,0xba,0xc7,0x1e,0xf2,0x0f,0x37,0x49,0x87,0xc5,0x55,0xa3,0xf2,0xf0,0x7d,0x6b,0x9c,0x78,0x70,0x66,0xc1,0x0d,0x63,0xcf,0x06,0xe0,0x2a,0xb0,},{0xc0,0xf1,0x73,0x91,0x67,0x27,0x4b,0xf9,0x18,0x31,0xc7,0x4b,0xeb,0x64,0x5a,0xf7,0x90,0x45,0x9b,0x28,0xbb,0x3f,0x21,0x32,0x53,0x65,0x13,0x0f,0x40,0x9a,0xcb,0x66,0xdf,0x1d,0x22,0x37,0x59,0xa9,0x75,0x8e,0x08,0xfd,0x72,0x53,0x73,0x74,0x84,0xe2,0x85,0xa6,0xfb,0x47,0x40,0x4a,0xbe,0x2e,0xba,0x5e,0xf2,0x49,0xfd,0x02,0x5c,0x0a,},"\x05\xf2\x26\x3f\x02\x45\xec\xb9\xfa\xeb\x14\xe5\x7a\xca\x43\x66\x68\x30\x8c\x81\x25\xdf\x31\x16\xc4\xee\x20\x50\x1d\x0c\xde\x70\x1b\x36\x6e\x2b\x50\xa1\xc5\xed\xf4\x84\x14\x4c\xe1\x6b\xfb\x1f\x7d\x26\xdc\x42\x75\xea\x97\x32\xe2\x64\xba\x4d\x4a\x36\x2b\x40\x27\x5b\xa4\x73\x77\xdb\xc3\x32\xcb\x65\xe2\xf4\xc8\x85\x38\x94\xaa\x87\x8a\x4c\x17\x5d\xc5\xb3\xb2\xa7\x57\xff\x3c\x8d\x7d\xe6\x60\x97\x3b\x89\xda\xdf\x07\x6e\x2e\x4f\xc7\x62\x39\xb7\xbc\x75\x2a\x22\x9d\x44\xe0\x00\xce\xb6\x67\x10\x4c\xb0\x74\x6b\xfc\xf5\x9d\x69\x60\x3a\xe7\xfc\x1b\xcf\x11\xd2\xe3\x3f\x61\xdc\x49\x7e\xc1\xb0\xbd\x5e\x4f\x1d\xbe\xf4\x35\xf2\xf2\x91\xf3\x0b\x00\xa8\x5e\x83\x39\x46\xc8\xb1\x04\x84\xe4\xab\xd7\xd6\x0b\xdb\xb1\xfe\x6d\xff\x58\x07\xa5\x3b\xb8\x93\x82\x15\x30\x13\xb7\x0c\xa0\x8e\xfc\x91\xb7\xe9\xfc\x5b\x5d\xbb\xb6\xaf\x12\x3b\x57\xbe\x2e\x14\x0f\xc4\x71\xa4\x5d\x89\xfa\x82\x84\xcc\x27\xe0\xa1\xfe\x77\x1f\x55\x59\x8b\xbd\xcf\x06\x8d\x50\x6d\xad\x0a\x59\x21\x79\xce\xca\x39\xee\x95\x26\xf9\xe4\xfe\x47\xbf\x2b\xb1\x4f\xb1\x48\x6a\x67\x7d\x4d\x7b\x99\xa5\x20\x54\x56\x76\xa0\xf1\xfa\x80\x90\x49\xaa\x24\x14\xae\x7b\x81\x7d\x9a\x03\x6e\x5c\x15\x78\x86\xe8\x34\x1d\x4e\x81\x9c\x09\x2a\x3b\x48\xb3\x60\x6b\x03\xac\xb7\x27\xc6\xc2\x21\x7d\x0a\xf3\x01\x21\x54\x6a\x94\xaf\x6b\x49\xca\xa2\xa8\xc9\xb1\x78\x6f\xa0\xc2\xa5\x24\xec\x7a\x02\x3e\x92\x4b\x5f\x8a\x89\xa5\x37\x80\xc7\xf8\x78\x1c\x5b\x8e\x86\x94\x30\xca\xa0\xe6\xd0\x43\x79\x67\xe3\xae\xd4\x4f\x45\xc9\x01\xcb\xcf\x10\x26\xfb\xbd\x4e\x3d\xd9\xa0\x91\xec\xf8\xb3\x4f\x7d\xd5\x03\x8e\x54\x3d\xc7\xeb\x6a\xd5\x49\x4e\xfb\x14\x5c\xf6\x3e\xc0\xd3\x55\xbb\x8e\x17\x2f\x45\x5d\x8a\x6b\x13\xda\xca\xad\xdb\xc5\x6e\x47\xde\x3c\xf7\x62\xa1\xa7\x38\xef\x09\x2f\x14\x36\x68\x04\x67\xb5\xcd\x82\xe9\xe3\x6e\x2d\x2b\x68\x42\xb3\xbd\x5d\xce\x77\x18\x0d\xda\xf0\xb6\x43\x37\x8e\x69\x85\x99\xdd\x47\xf5\xcd\xbb"}, -{{0x0c,0x57,0xcb,0xfc,0xeb,0xde,0x10,0xed,0xe0,0x2d,0x1c,0xb0,0x1d,0xf3,0x60,0xd4,0x1f,0x2e,0x66,0xa5,0x04,0x43,0xd5,0x8b,0x5d,0x4f,0x08,0x28,0xc9,0xa1,0x8b,0xb7,},{0xc4,0xd7,0x61,0xba,0x18,0x99,0x71,0xb9,0x46,0x2c,0x61,0xbf,0x46,0xa7,0x65,0xf8,0x8e,0x2e,0xca,0xa5,0xbf,0x22,0x11,0x22,0x0a,0xfb,0x00,0xac,0x65,0x7f,0x7c,0xe5,},{0x8a,0xf7,0xbb,0xe0,0x1b,0x8a,0xb9,0x39,0x51,0xd1,0x6f,0xca,0x05,0xa9,0xc9,0x67,0xd1,0xc5,0x2c,0x97,0x4b,0xea,0x15,0x1e,0xa7,0x2e,0x4c,0xeb,0xaa,0x20,0xcc,0x78,0x3b,0xb6,0x1d,0x8d,0x69,0x38,0x5c,0xac,0x5b,0xc6,0xd7,0x2d,0xbd,0x16,0x2b,0xee,0xf1,0xfc,0xb5,0xdd,0x0e,0x0a,0x08,0xb4,0x8c,0xa0,0xb9,0xf6,0xd9,0xa9,0x88,0x0c,},"\x33\x77\x03\x24\x3a\xb5\xb4\xe4\xd3\x48\x1e\xe8\xdd\x1f\x44\x94\x50\x71\x74\x41\x26\x58\xa9\x39\x88\xb5\xc3\x04\x03\xa7\xb7\xed\x85\x22\xce\xb4\x6f\xa1\xee\x02\x75\x3a\x87\x4e\xf0\x67\x5d\x39\x7c\x57\x5d\xa0\xb0\x8c\xaa\x8c\xee\x33\x93\x78\x4d\x0f\x0d\xb8\x45\x98\x37\xaf\x90\xb9\x05\x6d\xf4\xe3\x8e\x41\x7f\x3a\xd2\xeb\x1a\x10\x0e\xf2\x07\xce\x2c\xa6\xc6\x10\x01\x80\x21\x66\x1e\x30\x70\x99\xf2\xb7\xc4\xae\x87\x59\x91\x14\x0b\xdd\x3f\x0f\x99\xad\x2c\x5d\x55\xaa\xcb\x84\xcc\x1c\xdc\xd5\x79\xe0\x80\x72\xb6\x95\x1f\xd4\x5e\xd2\x89\xac\x9f\xf7\xf0\x98\x6a\xc8\x8a\x4f\xbb\x9d\xc9\x20\x3d\x9b\xaf\x18\x0c\x90\xed\xf9\x37\x25\x8c\x9d\x0a\x6d\x48\xe2\x20\xf7\x2d\x25\x0c\x7f\x2c\x77\x7e\xaa\x7f\xb9\xfa\x11\xd5\x0a\x57\x98\x77\x2f\x9f\xd9\x76\xb0\x05\x99\xf1\xf0\x27\x6f\x3a\x2e\x4d\x98\x8a\xe9\x21\x25\x46\x7a\x8d\xed\xb7\xa1\x6f\x9e\x3a\x56\xe8\xd0\x06\x62\xb3\xeb\x67\xa3\x5b\x9b\x60\xe7\x3b\xd9\x35\x07\x7e\xe2\x38\xdf\x8f\x6e\x83\x3b\x9a\x55\x23\x38\x68\x26\xc1\xf2\x91\x7b\x1c\x3e\xc9\x8e\x0a\x5f\xde\x89\xc4\x8b\x1d\x44\x6d\xa5\xd0\xc8\x85\xfe\xf0\xe3\x74\xbf\xf3\x0a\x99\x7c\x7b\xaf\xd5\xe7\x43\xc8\x5d\x0c\x6a\xaa\x6e\xf1\x0a\x06\x12\x11\xa2\x32\x7c\x6d\x84\xeb\x74\x7a\x56\xe9\xbf\x60\xfc\xd5\xb5\x53\xb7\x98\x83\x4d\x0c\x5c\xca\xdb\x9d\x4b\x54\xe7\x23\x7d\x12\xc6\x79\xc1\x93\xa2\x87\xbb\x2f\x51\x1c\xd4\xee\x2a\x2d\x85\x49\xb4\x4b\x21\xc1\x1f\xbe\x57\x23\x38\x1c\x6c\x5f\x78\x46\x87\xfd\x90\xce\xbc\x5b\x49\x5a\xf9\xe4\x14\xf2\x96\x1b\x06\xa1\xc8\x43\x3b\x9a\xa3\x29\x2b\xcf\xf4\x24\x1c\x22\x71\x67\xf8\xd1\xde\x05\x4b\xa3\x3a\xd8\x1d\xa3\xeb\x3e\xc6\xe4\x0a\x6e\x26\x85\x4a\xf3\x49\x54\x01\x71\xb7\x5d\x75\xfb\x9a\x8d\x12\x93\x78\x27\xfd\x59\x4d\x31\x7b\x7a\x8d\x9f\x1c\x2f\xca\xbd\xa5\x63\x75\x56\x8c\x3e\x9e\x51\x4c\x2e\xff\xfc\x38\x78\x36\x3d\xcf\xad\x9f\xd9\x54\x36\xb0\x22\xe8\x77\x2a\x88\xcb\x71\xe8\x03\xbf\x90\x38\x19\x62"}, -{{0xfe,0x71,0x72,0x27,0x83,0x64,0x19,0x4b,0xcf,0xef,0xb4,0x78,0x31,0x42,0xb7,0x9f,0x59,0xd5,0xfd,0x97,0x8b,0x1e,0x47,0xc3,0x14,0xd7,0x8d,0x4c,0xb3,0xf6,0x1c,0x8a,},{0x2e,0x82,0xcc,0xe4,0x79,0x10,0xc7,0xe2,0xa7,0x9b,0xc1,0xf4,0x19,0xdc,0x3c,0x3d,0xf5,0x4f,0x23,0x29,0x1f,0xc8,0x19,0x3e,0x82,0x58,0xcc,0xd2,0xfd,0x38,0xd5,0x48,},{0xf6,0xc2,0xa4,0x29,0x6b,0x9a,0x34,0x07,0xc6,0xd7,0xa5,0x67,0x9d,0xae,0x86,0x66,0xb5,0x03,0xd1,0xa1,0x7e,0xac,0xf7,0x1d,0xf4,0x93,0x79,0x1b,0x8f,0xf0,0xc0,0xaa,0x8e,0xed,0x36,0xb3,0x27,0xa2,0x9a,0xb7,0x82,0x8f,0x46,0xf2,0x2d,0xe8,0x68,0xb6,0x28,0xb1,0xcf,0xd5,0x01,0xe8,0x59,0x9f,0xa3,0x16,0x93,0xb1,0x5f,0x61,0x08,0x0f,},"\x23\x50\x94\x51\xa0\x59\x96\x9f\x2b\x4b\xdf\xce\xe5\x38\x89\x57\xe9\x45\x6d\x1f\xc0\xcd\x85\x7e\x4f\x4d\x3c\x25\xa4\x15\x5d\x5e\xe9\x1c\x20\x53\xd5\x58\x06\x2e\xea\x68\x27\x95\x0d\xe8\x63\xbc\x9c\x3d\xf9\x67\x2c\xde\x8b\xa7\x41\x74\x4e\xbb\xdd\xb4\x5e\xc1\xf4\x28\x45\x70\xfd\x0a\xac\xd0\x7e\xa5\x8c\x58\x1b\xe2\xaf\xc9\x5a\xe4\x44\xe6\x78\xed\xc2\xa0\x24\x39\xf3\x87\xce\xc9\x82\xea\x3a\x44\x81\x4a\x8a\x30\x2b\xb3\xbf\xe8\x22\x8d\x58\xde\x03\x9d\xeb\xdf\x7c\x2a\x7e\xdd\xb4\xe7\x1c\xa4\x74\xf9\x4f\x7e\x2b\xd8\x9d\xc6\x5b\x16\x10\x73\x3c\x91\xff\xf8\x9b\xd4\x99\xf4\x01\x54\xa6\x19\x8f\xdf\x5e\xc7\xad\x37\x22\xd9\x25\xb2\x92\x19\x6c\x42\x94\x99\x07\x5b\xe0\xc5\xb6\xda\x9c\x09\x0c\x07\x91\xa7\x01\x9e\xb5\xe7\x36\x6b\xe6\xce\x58\xab\x2f\x04\xfe\xcd\x91\x27\xc4\x27\x18\x04\x7b\xf4\x70\x30\x69\x15\x21\x31\x2c\x08\x77\xaa\x3f\x36\xcc\x5f\xbc\x9c\xaa\xe0\xfd\xe3\x94\x5d\x2a\x86\x8e\xe2\x50\x2a\x38\x33\x20\x8e\xb8\x50\xa1\x63\xcf\xcb\xf6\xda\x9e\xe6\xad\x9f\xe0\x67\xfe\x24\x19\x86\xfe\x44\x36\xd6\xae\x4e\xdc\x61\x56\x19\x38\xe2\xa3\x3f\x4a\x33\xdb\x63\xf6\x9d\x3f\x1a\x88\x50\xed\x40\x02\x88\x69\x16\x41\x03\x48\x8f\xb7\x95\xcd\x82\xca\x06\x7f\xe1\xb4\x89\x7c\xaa\x49\xa7\xca\x9a\x80\xf3\xa8\x15\x1f\xd1\x3b\xbb\x7f\xf3\x50\xe8\x57\x9f\x56\x5d\xc1\xc4\xa9\xca\x93\x8d\x27\xb1\x5b\x3f\x85\x8e\xf4\x5d\x3d\xd7\x8b\x2c\x35\x86\x35\x35\x63\x15\xf5\x5a\x97\x52\x8e\xcf\xec\x5d\x11\xa5\xb7\x21\x50\x31\x07\xfa\xa4\x06\xc1\x70\x34\xe6\x01\x47\x4b\x3b\x60\xcf\x48\x69\x2e\x26\x92\x61\x15\x8f\xc3\x53\xd4\xdf\x42\x74\x38\x13\x57\x79\x0b\x77\x56\x08\x7b\x00\xcc\x79\xe3\xb9\xd2\x8a\x3f\x24\x39\xfe\xbf\x19\x9e\x64\xa8\xb3\x7c\x91\xb5\xa4\x33\x4e\x33\x54\xe8\xfa\xf3\xa3\x61\xe8\x56\xc5\x4b\xda\xa4\x3b\xfd\xcd\x6e\xe6\xc9\xf9\x67\x95\x88\xf6\x06\x99\x50\x83\x23\x48\xaa\xcb\xa2\xbf\xee\xba\xca\xa2\x07\x1d\xdc\x7d\x77\x89\x8e\xf0\xf6\x87\x93\xcd\x25"}, -{{0xa9,0x51,0xe4,0xe6,0xba,0x9f,0x1f,0x0b,0x35,0x48,0x31,0xc9,0x86,0x94,0x24,0x48,0xfa,0xed,0xe3,0x7e,0x11,0xb0,0xf2,0x47,0xda,0x27,0x06,0xdc,0xee,0xf7,0x3a,0xc7,},{0x30,0x36,0x20,0x14,0x97,0x4b,0xf7,0x5c,0x84,0x95,0xc2,0xe2,0x71,0xe7,0x13,0xd5,0x73,0x84,0x38,0x4d,0x0a,0x5d,0xa8,0x8e,0xde,0xea,0x79,0x27,0x9c,0x0c,0x58,0xec,},{0x02,0x78,0xc8,0x6a,0x15,0x20,0x8d,0x9b,0xe5,0xb1,0xe1,0x57,0x47,0x61,0x86,0x1b,0x8a,0xf7,0x2a,0xe0,0x8d,0x40,0xcd,0xcb,0xec,0x35,0x4e,0x65,0xa9,0xc3,0xd0,0xa0,0x6b,0x5f,0xcb,0xb2,0x97,0xd0,0x9b,0xef,0x39,0x74,0x62,0x39,0x59,0x86,0xc3,0x09,0x3e,0xeb,0x22,0x64,0x4c,0x00,0x3c,0x30,0x78,0x17,0x8c,0xdf,0x67,0x4e,0x99,0x0a,},"\x20\x57\x7d\xca\xc8\x91\x74\x88\x5e\xed\xb0\x62\x48\x9c\xd5\x12\xfa\x72\x86\x3e\xc5\x43\x8e\x31\xe9\x58\x78\xb7\x5c\xe2\x77\x2a\xee\x62\x90\xa0\xba\x3c\x8f\x64\x2c\x1d\x0e\xf5\x5d\xa8\xd5\xbc\x14\x84\xf8\x3b\xb9\x87\x6c\x7a\x8c\x0b\x6b\x60\x9b\x94\xd1\x12\xa0\x6f\xc8\x3c\xe8\xd2\xc1\xe0\x8e\xd6\xc7\x35\xe5\x7b\x24\x4a\xad\x6e\xcf\x70\x75\x36\x3d\x56\x5b\xa4\x78\x65\x69\x5c\x84\x23\x51\x09\x09\xe0\xa3\xdb\x4b\x61\xed\x7a\xa6\x7a\x74\x71\x33\x1e\x83\xa0\xc5\x8b\x82\x20\xa6\x24\x5f\x65\x66\x15\x49\xc1\xa1\x2d\x4c\x0d\x50\xc3\x26\xfb\x94\x91\x7c\xbd\x07\xbe\x51\xe8\x3f\xe8\xbb\x3e\x46\xca\x01\xb0\xa2\x60\xda\xaf\x1d\x6a\xbe\x37\x03\xd6\xa9\x25\x11\x3b\xb4\xd5\x7e\xa1\xa4\x8b\x4c\x7d\xbd\xaa\x03\xee\xa8\x14\xa4\xb5\xf0\x2e\x1d\xfb\x54\x5c\xc6\x23\xfe\x17\xa3\xbb\x18\xe4\x37\x3f\x5f\x7e\xc2\xfb\x52\x17\xd2\x3e\x4f\xed\x54\xa7\x72\xe1\x13\x23\xe7\x30\xaa\xd7\xef\xca\x8c\x46\x44\x00\xe7\x67\x90\x55\xfc\xc1\x25\xa8\x76\xef\x7b\x8b\x9d\xe1\x86\xe2\x29\xa7\xab\xf1\x91\xd0\xc5\x6d\x91\x81\x5f\x67\x87\x2e\x95\x7b\xfb\xc7\x63\x4a\xac\x40\x35\x76\xa5\x8f\x42\x7b\xdb\xb3\x0e\x8c\x4b\x6f\xc6\xc4\x47\x74\x10\x24\xeb\xb5\x03\xa5\xa9\x02\x51\x24\xa4\x88\x7f\x82\x5a\x43\xee\x94\x0f\x21\x0a\x1b\xd5\xae\x4f\x67\x32\xd6\x0f\x95\xf2\xb8\x32\x01\xc4\xc6\xdf\xe2\x79\x41\x2d\x75\x02\xa5\x21\x1f\x8f\x48\xf8\x00\xdb\x30\xfc\x37\x76\xc4\xed\x3a\x38\xbb\x46\x34\x82\x2c\x98\xa6\xd6\xdd\x32\x33\xbe\x60\xe4\x2c\xca\x45\xa3\x16\x3c\xc8\x4e\x9e\x8d\xa6\x47\xc0\x71\x1b\xc4\xc6\xcc\xd6\x5a\xa1\xe9\x72\xc0\x74\x04\xd1\x03\xe7\x4b\xcc\x31\xa7\xe2\xc3\xee\xa5\xac\x92\x57\xab\x42\x89\x47\xab\x3d\xd3\xfb\x15\x3d\x90\x69\x4a\x40\x73\x37\x3c\x4d\xd9\xce\xb1\x31\x15\x4f\xe8\x77\x47\x3f\xd9\x96\xf4\x24\xf3\x3e\x31\x6e\x4e\xb0\x2b\x8c\x75\x13\xbe\x69\x98\xe5\x16\xcb\xba\x54\xd9\x4c\xd0\xa4\x35\xe0\xff\xcc\x2c\x0a\x8e\xf7\x2b\x63\x0e\xc2\x47\x81\x06\x6a\xa5\xef\xb9"}, -{{0x38,0xa9,0xb2,0xd4,0x9b,0xa8,0xb8,0x2f,0x30,0x1a,0x57,0x72,0xce,0xa0,0xef,0xc2,0x21,0x84,0x55,0xc8,0xb2,0x18,0xb2,0x2c,0xba,0xa2,0xaa,0xd2,0xd7,0xad,0x3b,0x35,},{0x9d,0xf5,0xea,0x1f,0x78,0xf8,0x10,0xa5,0x21,0x77,0x46,0x02,0xbb,0xba,0x49,0x42,0xf0,0x45,0x92,0x38,0x96,0x6c,0x8b,0xcd,0x21,0x90,0x0a,0xfb,0xf3,0xd8,0x42,0x93,},{0xe1,0x9e,0x62,0xac,0x53,0x9a,0x9c,0xa2,0x51,0xd1,0x2d,0x4c,0x71,0x05,0x5b,0x0a,0x3f,0x58,0x1d,0x19,0xf2,0x68,0x2e,0x67,0x24,0x04,0xc7,0x8a,0xc1,0xf1,0x2b,0xbe,0xfc,0x91,0x51,0x92,0x76,0xa5,0xcb,0xe1,0x6f,0x52,0x0c,0xf7,0xa7,0xf6,0x87,0xa2,0x40,0xf0,0x32,0x91,0x57,0xc5,0x9f,0x50,0x02,0x6a,0x58,0xdc,0xdc,0x50,0xfc,0x08,},"\x17\x78\x16\x7c\x49\xb3\xa4\x4d\x4a\x5b\xa8\x38\xb7\x38\x85\x53\xb1\xe1\x3d\x36\xea\x4f\x86\xd3\x02\x42\xe1\xa8\x22\xa3\xbb\xaf\xf5\xce\xa6\x3e\x2a\xe2\xa4\x63\x5b\xe2\x36\xfe\xf2\xb8\x13\x5d\x14\xfb\x62\x1c\x0b\xb7\x73\xc9\xc1\x77\x53\xf8\x09\x26\xeb\x55\xd0\xf1\x15\xbd\x09\xa8\x85\xd8\x44\xb8\x18\xc9\xf0\x44\x89\xa3\x31\xbb\x5e\x03\x2b\x8e\x58\xcd\xa3\x69\x49\xc5\xa8\xd0\x8b\x55\xbb\x8d\xe9\x65\xe1\xf9\x0d\x3b\x9c\xfe\xec\xfc\x6a\xd9\xa4\xee\x5c\xb4\x04\x7e\x94\x50\xac\xdc\x64\x64\x01\x66\xa8\xc0\x69\xea\x84\x9a\xeb\xdd\xac\x1a\xe4\xaf\xec\x91\xdd\xd1\x7f\xa5\x55\x3f\xa8\x7c\x56\xf7\xe5\x1e\xc1\xcd\x6b\x5c\xc2\x33\x51\xd0\x57\xa4\xce\x4a\x89\x23\xc8\xae\x6a\xc7\xa8\xaf\xdc\xc0\x88\x1c\x0e\x74\xeb\xb0\x24\xef\x72\x96\x16\x2c\xb9\x3c\x68\xe5\x0b\xbb\x07\x4e\x65\x1a\xc8\x7d\xac\x9e\xa5\x9d\x4c\x3f\xbf\x0f\xe3\x79\xf3\xe9\x7a\x24\x56\x6e\xca\xe5\x43\x03\xbc\xfb\x6f\x0c\xc9\xf1\x5f\x66\x39\x43\x0e\x66\xb1\x9a\x42\x78\x49\xfd\xff\xf8\x33\xdf\x02\x68\x9e\x9d\xe4\x40\x06\xc9\x03\xc5\x59\x18\x34\x59\xb9\xf4\xa9\x7f\x54\xa0\xf2\xa2\x8d\xf7\xb0\xe9\xde\xed\xa8\x23\x9d\x7b\x51\x69\x77\xf5\xe7\xd6\x97\x1b\x45\x02\xe9\x88\x5f\x75\x0a\xf8\xd1\xa6\x66\x9e\x25\xe7\x7d\x5f\x32\x7c\x77\xc8\x7a\x86\xe0\xa1\x87\x2b\xc9\x6a\x76\x06\x0f\x5f\x8a\x0c\x40\xcc\x97\x3b\xfc\x7f\xe6\xed\x9b\xca\x78\xf8\x84\xe6\xa2\x82\x8b\x94\xd4\x89\xd3\x2a\x0f\xd3\x37\xe6\x9d\xb8\x3f\xb8\x78\x9a\xfd\x4e\x8e\xf5\x4c\x22\xa7\x8c\x25\x87\x46\x8b\x9a\xe0\x71\xba\xe3\xb2\x02\xd3\x18\x3a\xd5\xf0\xf8\xe8\x42\xe5\xa8\xde\x85\xbf\xff\x49\xe0\x3c\x83\x81\xbc\xa7\xfd\x42\x78\xdd\xcc\xaf\x01\x34\xfb\x55\x93\xa3\x95\xa7\x7a\x5c\xbd\x43\x45\x93\xbc\x4a\xd0\xff\x4b\x84\x00\xec\x67\x4c\x4e\xca\xf1\xd5\x77\x54\xbe\x0c\xb2\xfa\x9a\x64\x41\xa9\xab\xad\x7b\x42\x19\x7a\xd8\x2e\x50\x82\x7e\x4a\x42\x45\x57\x3a\x8f\x0e\xf8\x7f\x58\x22\x8a\x28\x67\xf4\xb3\xb8\x34\xb6\x63\x50\x37\x94\x0a"}, -{{0x9a,0x17,0x17,0x87,0x36,0x89,0xa0,0x3c,0x11,0x2d,0xd6,0xb4,0xd7,0x6a,0xe7,0x3b,0x89,0xb4,0x16,0xa5,0x98,0xce,0xec,0x20,0x9e,0x27,0x96,0x1e,0x7b,0xb1,0xee,0x8a,},{0xee,0xca,0xd1,0xe0,0xe4,0xb8,0x63,0x29,0x18,0x81,0xa8,0xc2,0x41,0xdb,0x9c,0xcf,0xff,0xe4,0xe5,0x5d,0x8b,0x5a,0x42,0xf3,0x07,0xb4,0x43,0x6a,0xcd,0x06,0x49,0xa6,},{0x1a,0xf8,0xbe,0x09,0x55,0x38,0x96,0x58,0x00,0xd8,0xef,0xf6,0xd7,0x23,0xd0,0x28,0xd6,0x5d,0x0e,0x9c,0x6e,0xb5,0xe9,0xd1,0x25,0xbb,0x3b,0x17,0x83,0xf1,0x1e,0xf7,0x07,0x9a,0x49,0xa8,0x07,0xe2,0x7e,0xf1,0x26,0x0b,0xe2,0x6a,0x3b,0x23,0x1d,0x03,0xb2,0xae,0x15,0x1e,0x49,0xf6,0xf1,0x89,0xf1,0x5b,0x1c,0x83,0xea,0xb0,0x1c,0x02,},"\xe2\x65\x80\x47\x09\x01\xa0\x7a\xb0\x93\x1a\xa2\x38\x29\x80\x2c\xe0\x4d\xa5\x9f\xdc\x2f\x77\x3b\xc5\x67\xf1\xe6\x5b\x4f\x2e\x2d\x4a\x1a\x6a\xec\x1f\x54\x15\x8a\xdf\xce\x9b\x09\x97\x90\xb5\x03\xa1\x3d\x22\x09\x7a\xe2\x3e\xbc\xcf\x92\x3f\x3b\xb1\x98\x6d\x6e\x49\x11\x1a\x8c\xf0\xd4\xeb\x82\x36\xbf\xe0\xd7\xc9\xe9\x3a\x5e\xfc\x7f\xeb\x8e\x6a\x9c\xd1\xb8\xd9\x21\xef\xa2\x1e\x44\x9f\xf4\x9e\x06\xc1\xcc\xfe\xa3\x1f\x93\xe0\x33\xc3\xc2\xa5\x4d\xdb\x0f\x65\x3a\x09\xfb\xd1\x8a\x70\xb5\x63\x15\xf1\x93\xe7\xbe\x56\xe5\x16\x8f\x59\x56\x38\x21\xd4\xbc\x3b\xbb\x0e\xaa\x20\x48\x28\x6b\xbe\xee\x5a\xa3\xf3\xe7\x53\x6c\xf2\xb7\x50\xfd\x32\x26\x02\xbb\x38\x47\xce\xca\x39\xb7\x54\x74\x32\x2d\x76\xb1\xde\x80\xfa\x2e\xad\xba\x15\x2d\x6f\x8f\x02\x0d\x4d\x93\x1c\x53\xf0\xa2\x80\x12\x24\xd3\x5d\xeb\x6e\xc1\x3b\x01\x48\x73\xe6\x89\x90\x36\x07\xde\x96\xd9\xb7\xa7\x43\xa8\x87\xd2\xf4\x8d\xaf\x2e\xd2\xee\xfb\x20\x2a\xbf\x60\x82\x79\x69\x81\x12\x3b\x96\x6e\x93\x6d\xcf\x34\x83\xe2\xd2\x4d\x69\x4e\xcb\x86\x5f\xbe\xb6\x96\x9f\x34\x70\x27\xfb\x8b\x17\x5d\x24\xa4\xc0\x45\xc0\xbb\x4a\xb5\xe0\x2d\xdc\xbe\x77\xd4\x75\x6c\x46\xd1\x37\xb0\x94\x47\x3a\x02\x30\x7a\x10\x83\x40\xac\xad\x9d\x03\xba\xe8\x40\x3a\xf1\x99\xcb\x75\xca\xe3\x16\x2f\x38\x15\x81\x3c\xc6\x8b\xf2\xa5\xe4\x99\xe5\x94\x92\x11\x49\xf3\xbb\xd2\x14\xda\x51\x37\xe7\x56\x52\x15\x59\xdc\x80\xd9\xa4\xb7\x4a\x0f\x49\x43\x02\x2c\x7c\xd5\xfc\xa4\x23\x15\xe0\xbc\xee\xae\x90\x69\x61\x5c\xe6\x7a\x04\x38\x24\x12\x31\x3a\x31\xd6\x7b\x34\x6c\x32\x9a\xd8\x2e\x74\x2c\x0a\x6c\xe0\xa6\xa0\x24\x54\xc1\x13\xe5\x20\x22\xf3\xcc\x03\xfd\xa6\x91\xeb\xdf\xe1\x4c\x53\xc8\xce\x5c\xa9\xb9\x32\xca\x1a\x38\x6e\x3e\xb4\xe9\x0a\x4d\xc6\xe8\xad\x85\x33\xb5\xaf\x1a\xae\xf5\x00\x31\x28\x65\x5c\xa6\x4f\x67\xfc\xd9\x7c\x6a\xc8\x03\x00\x24\x04\x90\x0b\xc0\xfa\xe9\x84\x63\xbc\xc3\x14\x09\xf9\x98\x17\x48\x78\x9a\xde\x2d\x07\x78\x3b\xc3\x2b"}, -{{0x43,0xbd,0x92,0x4d,0xb8,0x15,0x60,0x08,0xc6,0xb3,0x99,0x4a,0x81,0x30,0xd4,0x27,0xd5,0x14,0xdb,0x8a,0x61,0x3b,0x84,0xdf,0xb0,0xb8,0xe0,0xde,0x6a,0xc3,0x06,0x76,},{0x1b,0x34,0x61,0xc2,0x69,0xd5,0xb0,0x06,0x2d,0x5d,0xf6,0xfa,0x65,0x4a,0x25,0x86,0xf6,0x47,0xa0,0x68,0x42,0x18,0xa0,0x6e,0x5e,0x2f,0x7b,0xad,0xfb,0x39,0x41,0x31,},{0xd2,0xa0,0x5d,0x88,0xd9,0xd5,0x43,0xd9,0x4d,0x57,0xec,0x88,0xae,0x55,0x68,0x17,0x50,0xf2,0x0b,0x9b,0xe9,0xc1,0xe9,0x18,0xcd,0xaf,0x45,0x77,0x67,0xf2,0x94,0x8d,0xd6,0x29,0xe9,0x4f,0x06,0x8e,0xdc,0xf3,0xd9,0x92,0x7e,0x33,0x02,0x34,0xba,0xdc,0x3a,0x02,0xfa,0x5a,0xd3,0xd9,0xd8,0x5e,0x94,0x8c,0xb0,0xb0,0xcb,0x3c,0xd7,0x0a,},"\x61\x84\xe6\x48\x0c\x42\xe9\x6c\xc8\x77\x26\x9b\x16\x37\x15\x45\xff\x95\x23\xc4\x5e\xa8\x8e\x76\xa1\x34\x8c\x68\xae\x7f\x31\x8b\x08\x8f\xe4\x61\x09\x28\x23\x91\x85\xb6\xb5\x5b\xfa\x0f\x43\x64\x4c\x4a\x4c\x97\xc5\x6e\xd7\x7d\x08\xb1\xf4\xaa\xd2\xf4\xaa\x06\x99\x94\xab\xec\xa9\x6b\x7b\xf8\x1b\x80\x64\xea\x43\x50\xd8\xa8\xb0\x22\x97\xa5\x13\x08\xb6\x1c\x57\xc8\xf1\x87\x3c\x6f\x97\x00\x7a\xca\x31\x80\x42\x9e\x73\x0a\x66\x43\xf2\x87\x33\x54\x7b\xcf\x7b\x9a\xdf\xe3\x27\xe8\x57\x36\xbd\x04\xaf\x7f\x1d\x9f\x4f\xb8\x4a\x7f\x3a\xff\xdf\x4e\x22\xb5\x74\xec\xb4\xbc\x88\x36\xb1\x0b\x84\x53\xae\xaa\x5c\x1b\xf1\x32\x24\x8b\x82\x6c\xc5\x23\x0f\x75\xe0\x75\xfa\xc9\xf0\x37\x56\x11\x36\xe0\x06\x43\xd0\x82\x53\xe7\xad\x65\x2f\x70\x2c\x0d\x15\xb6\xd7\xd4\x8a\xa6\xf8\xe9\xb5\xf5\xcc\x14\x6e\x3f\x15\x6f\xb2\x52\x27\x51\xc3\x71\x00\x41\xbd\x92\x2f\x37\xa5\x03\x77\xe0\x28\xb0\xc4\xe4\xbc\x34\x65\xd7\xc8\x4a\xf6\xa5\xfb\x42\x7a\xcb\x3b\x41\x37\x8b\x10\x2b\xda\x46\xd8\xf6\xf2\x03\xa5\xff\xcf\x39\x5d\x43\x5e\x93\x45\x8a\x0b\x0a\x4c\x2e\x77\x82\xfa\xfe\x11\x9f\x76\x9f\x67\x05\x8c\x66\x77\xf6\xd1\x0d\x9c\xf5\xcb\x87\x48\xe1\x80\x57\x98\xed\x23\x3f\x6f\x93\x0e\xee\x0e\x50\x75\xbc\x58\xb9\x7a\xf9\x17\x7f\xda\x75\xd5\x37\x08\xbe\xb0\x4d\xc4\xf1\x9a\x43\xe7\x68\x07\x46\x09\xf1\x40\x65\xf4\x8f\xda\xd5\x07\x7c\xe1\x09\xba\xcc\x35\x71\x74\xa6\xb7\x95\x6f\x6e\x7f\x32\xe3\x84\x15\xbe\x52\x63\x70\xfa\x58\xc3\xc0\xb3\x1f\x51\xe6\xcd\x4b\x2c\xf2\x7f\x8b\xcb\xc2\x12\x59\xd9\xe5\xc3\xb5\xc2\x94\x6a\x9f\xc1\xb0\x0d\x9d\x15\xc3\xb7\xd8\x0b\xfd\x9d\x05\xdb\x91\xd2\x49\xd3\xe4\x2d\x89\x56\x68\x20\x44\x54\x8d\x83\xbd\xa8\xd5\xcc\x92\x12\x44\x2f\x30\xb4\x5c\xf4\xae\xad\x80\xcc\xe9\xb3\x51\x2c\x39\xc5\xc7\x37\xd3\xf8\xd7\x47\xaf\xba\xb2\x65\xaf\x5e\xee\xf8\xca\x93\x62\xec\x76\xe9\x43\xb0\xa0\xd7\xa3\x9f\x3d\xb1\x1e\xca\x14\x45\x8a\x7b\x59\x2e\x5e\x4f\xf2\x27\x5d\xd4\x8b\x28\x53"}, -{{0x8f,0xb0,0x86,0x20,0x6d,0xd9,0x5a,0x26,0x21,0xf5,0x98,0x56,0x0c,0xcb,0x28,0x1f,0x82,0x73,0xc8,0xfc,0x72,0xe2,0x36,0x11,0x08,0x9b,0xaa,0xc8,0x9d,0x3c,0x3c,0x78,},{0x20,0x27,0x6e,0xf4,0x79,0xf4,0xd4,0x52,0x3a,0xb7,0x74,0x20,0xd4,0x24,0xe8,0x81,0x9c,0x33,0xc8,0x37,0x79,0xed,0x80,0xc7,0xf6,0x66,0xe8,0xf4,0x40,0x3f,0x94,0xd7,},{0xa9,0x30,0x5e,0x00,0x16,0x00,0xd5,0x97,0xd0,0x5e,0xf6,0x71,0x69,0x9b,0xf0,0x9f,0x0d,0xcc,0x0c,0x44,0x47,0x5d,0x3c,0xa3,0x1e,0x7f,0xf1,0xbf,0xfe,0xdc,0x0c,0x67,0xda,0xa1,0xf3,0xb7,0x6a,0x03,0x59,0x48,0xc5,0x9c,0xd8,0x7f,0x82,0x45,0x3a,0x40,0x95,0x0a,0x1c,0x97,0x03,0xc2,0xe7,0xd9,0x28,0x0e,0x73,0x03,0x96,0x6d,0xa3,0x01,},"\xf0\x29\x03\xed\x42\x66\xe8\x49\xa4\x48\x52\x05\x95\x4f\xff\xa8\xa1\x08\xc3\x23\xb7\xe3\xf8\x43\x31\x04\x35\x14\xe4\x85\x56\xab\x01\x94\x97\x23\x3a\x5a\x12\x7b\xff\x3c\xd7\xc9\x70\x86\xbe\xce\xf5\x38\xb3\xf3\x39\xd7\xd0\x6e\x53\x2d\xc7\x32\x5e\x59\x7a\xe3\x57\xf8\x16\xde\xa4\x2a\x6a\x22\xc7\x9d\x22\x07\x4a\x2e\x1a\xd8\x02\x3c\x42\x4b\x7e\x09\x6e\x5a\xd8\x89\x7b\x05\xef\x7d\x00\xd3\x0a\x04\xaa\xf2\x98\x1e\xdd\xff\x2b\x34\x7f\x1e\x27\xe2\x0a\xab\xbe\x7e\x7a\x95\x44\x97\x8e\x09\x2b\x00\xcc\xe4\x20\xab\xa0\x61\x87\x37\x4f\xfb\xb3\x7b\x4c\x22\xd7\x5f\x04\xe5\x75\x90\xf6\x10\xa2\x73\x47\x28\x6c\x29\x83\x12\xa6\xc9\xb1\xbd\xf2\x4f\xbd\xa8\x51\x3c\x4f\x83\x56\xcc\xf7\x57\x06\x8f\xfc\x11\xbc\x65\x11\x37\x83\xa5\xdd\xe7\x72\x2f\xaf\x4c\xeb\x19\xfb\xb6\x2f\x40\x70\x2e\x2c\x6e\x6a\x8b\xb4\x9e\xf4\x04\x46\x45\x0c\x4c\x59\xa2\x99\x09\x44\xda\x47\x44\xf6\xee\x77\x0b\x93\x0c\x24\x66\x69\x81\x3c\xe5\xa9\xf5\xa4\x7d\xd8\x03\x88\x98\x1b\xfc\xc3\xa5\x6b\x5b\xe2\xc4\xc7\xe6\x59\xa2\xe9\x18\x2d\xec\x0a\xaa\xfe\x90\x31\xaa\x39\x54\xd4\xfe\x7c\x43\x11\x96\xa5\x61\xa5\xb7\x8e\xab\xa6\x4f\x3d\xb1\xb5\x86\xc5\x3b\x16\xf6\x79\xa8\x49\x21\xa6\x42\xc2\x60\xe4\x65\x3a\x61\xde\x10\x8e\xbd\xe6\xf7\x05\x3a\xfa\x2c\xb3\xf3\x66\x8e\xde\x12\x10\x20\xdd\x1b\xac\xe8\x41\x8a\xeb\xac\x3a\x5b\xd5\x14\x2f\x10\x5a\xc2\x6f\xe4\x9e\x5f\xb1\x40\xc1\x9b\x22\xd5\x4a\x62\x91\xdf\xc9\x54\x67\x02\x47\x88\x16\x46\x87\x4d\xef\xad\x81\x49\x95\x51\x9f\x62\x60\xe9\x77\x4a\x8d\x18\x5c\x37\x88\x1b\x4f\x25\x43\xc4\xb6\x3f\xbf\x19\x85\x01\x6a\xb4\x1c\x4d\x72\x8c\xbc\x90\xb3\xab\x87\x62\x67\xbe\xd4\x1d\x0c\x09\x02\xf6\xb5\x0e\x8f\xa9\x06\xfc\x47\x88\xf7\xb8\x20\x46\x73\x06\xe0\xfe\x9e\x03\x6a\x0a\x00\xf8\x04\xf9\x1c\x3c\xa7\x18\xb9\x5f\xf6\xd9\xe2\x20\x4b\xc3\x16\x1b\xf7\x0f\xcc\x17\xb2\x96\x4b\x56\xbc\x61\x2e\x29\x40\x2d\x96\xf5\x09\x86\x51\x4b\xc7\xd8\x31\xd5\x8e\x42\x79\x37\x86\xd5\x80\x6f"}, -{{0xaf,0xa1,0xb8,0x46,0xc2,0x10,0xb5,0x23,0x00,0xe9,0x76,0x96,0xf8,0x1b,0x8e,0xa7,0x74,0xd1,0xdf,0x12,0xe6,0x12,0x52,0x7c,0x55,0x74,0x7f,0x29,0xc1,0x93,0x73,0x96,},{0xb6,0x09,0x56,0x6b,0xbd,0x19,0x47,0xbd,0x7a,0xfa,0xce,0xb1,0x43,0x89,0xe8,0x36,0x22,0x71,0x69,0x21,0x5f,0xab,0x66,0x85,0x1a,0xa5,0xd7,0x0d,0x6e,0x2e,0x3b,0x89,},{0x98,0xb0,0xc6,0x31,0x3c,0xec,0xaf,0x7c,0x82,0xcb,0xde,0xb3,0xd0,0x28,0x06,0x41,0xc6,0x1a,0x06,0x0f,0x65,0xe5,0x63,0xaa,0x93,0xce,0x18,0x30,0x0a,0x9b,0x58,0x27,0x2d,0xc8,0x68,0x0b,0x48,0x5e,0x8c,0xd1,0x1c,0xf8,0x0f,0xdc,0xa8,0x68,0xfa,0xb3,0x65,0x37,0x83,0x84,0xa1,0x42,0x72,0x7f,0x2f,0x84,0x4f,0x87,0xcf,0xdf,0x19,0x05,},"\x4c\xac\x1b\x1f\x4b\xd4\x82\x84\xdc\xc9\xaf\xc8\xb5\x95\x5b\x64\xb4\x36\xdb\x70\x4b\x03\x35\xd9\x75\x5c\xc1\xf9\x74\x77\xf8\xd3\x23\xcb\x64\x10\xef\x14\x6a\xb8\xa9\xef\xb9\x52\x6d\x8b\x62\xe3\xbb\xad\x1f\x72\x95\xf4\x7b\xa9\xf0\xde\x95\x8f\x8e\xc9\xb7\x7a\xb4\x22\x32\x43\x7e\xd9\x74\x85\x64\x44\xcd\x22\xe2\x0b\xe3\x5e\x91\x81\x3b\xff\x4b\x01\x6f\x81\x0d\x0f\x61\xd8\x9f\x6b\x61\x4d\xb3\x3f\x34\xbd\x09\x98\x5b\x59\x3f\xe3\xe0\x6e\x06\x5b\x7b\xc6\xcd\x39\xd5\x5c\x2c\xfb\xec\x7b\x6d\x59\xc0\xb3\x7d\xd1\xd0\xd3\x51\x35\xab\x1d\x1b\x04\xf2\xf3\x0c\x2f\x04\xf4\xba\x2b\x36\x58\x27\x38\x08\x1c\xf5\x91\x90\xf5\x28\x36\x3d\xb9\x44\xed\x61\x29\x31\xd1\xd5\x14\xc6\x21\x4f\x9a\xb9\x2a\xbb\x18\x33\x92\x61\x83\xac\x52\xfb\xa2\xa4\x55\x1e\x20\xe4\xc0\xac\x95\x9a\x49\xdd\xb1\x67\xa3\x81\xe0\x24\x1d\x40\xc0\x86\xe9\x0e\x52\xac\xa0\x17\x25\x89\x75\xdb\xab\x2b\xa4\x51\xee\x53\x9a\x71\x8f\x07\x6a\x58\x70\x9c\x66\x97\x41\x8d\x9c\x6f\x13\xe4\xd3\x91\x36\x8b\xf0\xe8\xbd\x8f\x29\x32\xdd\x95\xce\xaf\x7a\xac\xa1\x24\x11\x47\xd3\x41\xa3\xac\xd0\x8d\xc3\x29\x05\x48\x35\x72\xb8\x9a\x80\xcc\x47\x23\x14\x68\xab\x8d\xe3\x59\xdd\x52\x5a\x62\x57\xcf\x19\x6c\x2e\xcb\x82\xfa\x8a\x78\xaa\x3a\x85\x1c\x7c\x96\xca\x25\xbf\x7c\xa3\xdc\xf3\xca\x21\x45\x3d\x0d\xfd\x33\x23\xd5\xa4\x22\xde\xc8\x43\x16\x10\x2f\x68\x4c\x35\x9f\x22\x6b\xb5\x37\x79\xc0\xb9\x95\x09\x39\x28\x1e\xf7\x9a\x58\xc0\x11\x99\x3e\xac\xe0\x85\x49\x7a\xfa\x4d\xaf\x64\xc9\x68\x7b\x0a\x11\xaa\x11\x6c\xfa\x7b\x03\x93\x62\x41\xa5\x56\x7b\x64\x6e\x7e\x42\xe9\xfb\x59\x24\x05\xb8\xfa\x3c\x0a\x82\x1f\xc3\x12\x1b\x45\xb1\x75\x3c\xec\x9a\x83\x94\x7d\x21\x1a\x45\x49\x9b\xd6\x37\x90\xb8\x7f\x01\x47\x2f\xe5\x66\xd8\x76\x96\xef\xed\xbb\x74\xed\x00\x04\x8c\x38\x4b\xa7\xf0\x27\xb3\xaa\x42\x98\xdc\x41\x10\x34\x9f\xed\xf5\x2a\x96\xcd\x05\xd0\x8b\xd6\x35\x77\x1e\xd4\x51\x07\x38\xd8\xf0\x7a\x60\x21\x24\x4d\x19\x03\x57\x9a\x3e\xa7\x39"}, -{{0xc8,0x59,0x13,0xa6,0x87,0x78,0x77,0x13,0x10,0x01,0x62,0x3c,0xcd,0xa9,0xcd,0xc1,0x2b,0x9d,0x40,0x43,0xb8,0xa8,0x37,0x93,0xc4,0x46,0x96,0x63,0x2c,0xd6,0x42,0x1c,},{0x9c,0xc6,0x7c,0x69,0x48,0xf7,0xbf,0x6e,0x55,0x6d,0x08,0x49,0xd3,0xb8,0xd2,0x03,0x45,0x7a,0x7b,0x61,0x54,0x9b,0x36,0x68,0x1d,0x75,0x4f,0x1d,0xc0,0x84,0x1e,0x96,},{0x01,0xfc,0xcf,0xdb,0x1f,0xb6,0x88,0x8b,0x03,0x10,0xa9,0x13,0x17,0x0f,0x7e,0x36,0x68,0x16,0xda,0xeb,0xe7,0x65,0x0d,0x72,0x51,0x3d,0x95,0x06,0xe6,0x6f,0x7d,0x62,0x20,0x8a,0x49,0xec,0xe0,0xaf,0x18,0x71,0x49,0x7f,0x45,0x41,0xef,0x60,0x5b,0xde,0x71,0x1c,0x9e,0x0a,0x12,0x05,0xef,0x48,0xf2,0x6c,0x03,0xdc,0x1a,0xd4,0xaf,0x03,},"\x91\xb5\x00\x9e\x83\xd0\xf6\x10\x33\x99\xc2\xd3\xfe\xec\x00\x84\x97\x3a\x30\x5b\xf4\x17\x6e\xc7\x82\x53\x75\x60\x47\x2d\xb1\x87\xa1\x1b\x4d\xcb\x4b\x2f\xfb\x7f\x06\x44\xfe\xb3\x94\xb2\x8e\x5b\xfe\x97\x24\x7c\x4a\x4a\x23\x1c\xf6\xe9\x16\xbf\x99\x34\x4c\xcd\xa8\x8a\x7f\x5d\x83\x1d\x6d\xe3\xd5\x63\xdd\x10\x2e\xae\xb1\x08\xc5\xbd\xce\x44\xe0\x63\x2d\x17\xe6\xfa\x55\xb1\x80\x67\xdf\x2f\xa8\xd2\x00\xa9\x86\x9f\x6a\xff\x92\x0c\x51\xd4\x6a\x1c\xed\x2d\x90\x3b\x1d\x9b\x6b\x07\x5f\xac\xbf\x91\xcd\x05\xeb\x41\xad\x81\x1a\x8e\xf4\x0d\x91\x18\x26\x10\x12\xc7\x2b\x89\x79\xf1\x51\x53\xdb\xb8\x56\x12\x93\xda\x9f\x8b\x77\xc8\xff\x14\xf7\x53\x87\x53\x6f\x00\x36\xd1\x71\x3a\x72\xce\x8c\x35\xb1\x06\x2f\x2c\x67\x32\xae\xbf\x32\x93\x67\x99\xb5\x1c\x2c\xbc\xd6\x57\x24\x13\xe7\xdf\xaa\xb8\x64\x1a\x02\xc1\x50\x23\x73\x81\xcf\x7a\x14\xe2\x2c\x74\xc6\xc2\x00\x09\xde\x7d\x3b\x7e\x69\xcd\x1b\x45\x84\xac\x2c\x01\xba\xba\xf9\x73\xc5\x6b\x38\x14\xbb\x00\x89\x72\x0e\x41\x96\x81\x06\xcf\x26\x50\x9d\x4a\xa5\x46\xfc\xad\x55\x34\xaf\x30\x3f\xfc\xa4\x2b\x16\xae\x6c\x93\xee\x06\xbc\x3c\xac\xe1\x2e\x4e\xc7\x18\x84\x4b\xd3\x0d\x22\x24\xcc\x48\x6d\x10\x6d\x1c\x45\x6b\xfa\x16\x5e\xa0\x12\x0f\xab\x3d\xf2\xc5\xab\x3a\x52\x3b\xbf\xa7\x89\xde\xed\x44\x03\x2a\xb0\xbe\x86\xeb\x7c\xc0\x9c\xdb\x7c\x07\xaa\x94\x8d\xd5\x27\x7c\x3d\xf1\xd9\xd1\x84\x35\x67\xde\xc8\x4f\x92\x88\xe0\x85\xb0\x5a\xe4\xb8\xaf\x2c\xea\x5d\x9a\x18\x4d\x50\xbe\xf8\x55\x50\xc8\x36\x61\x3d\x5d\x3a\xf5\xf9\xc2\x92\x8e\x6a\x89\x66\x0f\xa6\x27\x19\xeb\xff\x77\x3e\x46\xb7\x7e\x34\xbc\x04\x70\xda\x4d\x2c\xdb\xc7\x07\x1d\xa7\x58\xc4\xd3\x9f\xe6\x52\x01\xc8\x8a\xaa\x8e\x66\x03\xd0\xbb\xe7\xc3\xe9\xb2\xd9\xe4\x1b\x63\x46\x82\x09\x2f\x14\x73\x41\xad\x6d\x66\x7f\x20\xc6\x4e\x81\xa6\x8d\x62\x94\x67\xa5\x4d\xd8\x6e\x1c\xe1\x2c\x56\x0a\x6f\x9b\x64\x51\x2d\x6f\x38\x86\xcb\xb9\xf3\x7c\x37\xeb\x39\x85\xc8\xac\x38\xdd\x66\x82\xf4\x8f\xe1"}, -{{0xfa,0x1e,0x11,0xdc,0x83,0x64,0x20,0x8d,0x8e,0x1c,0xb6,0x6a,0x36,0x1b,0xe7,0xe8,0x4c,0x5e,0x36,0x81,0x66,0x58,0x7d,0x4f,0xdb,0x06,0xac,0xed,0x7f,0x62,0xe1,0x7c,},{0x4d,0x8e,0x6f,0x4b,0x34,0x15,0xdf,0x6c,0xed,0xab,0xfb,0x29,0x5c,0x19,0x84,0xfd,0x41,0x99,0x23,0xc6,0xac,0x41,0x76,0x4e,0x32,0xd2,0x2d,0xaf,0x37,0x2c,0x50,0xfc,},{0xe8,0x57,0xdb,0x08,0x7e,0x28,0xd6,0x75,0x0b,0xf5,0x4e,0x53,0x79,0x72,0x51,0xd8,0x43,0x99,0x89,0x57,0x6c,0x12,0xda,0x2d,0x9c,0x81,0x1a,0x14,0x87,0x7c,0x3b,0xd4,0x6c,0x4e,0xfa,0xb8,0x61,0xa1,0x0e,0xeb,0xe7,0xda,0x04,0xc0,0xb0,0xb4,0x45,0xc7,0xa3,0x90,0xa5,0x0c,0x13,0xde,0x36,0xf3,0xa3,0xc7,0xae,0x01,0x57,0x02,0x2c,0x0e,},"\x29\x4e\x63\xba\xcc\xcb\x80\x1b\xbf\x04\xc1\xf1\x9d\x0a\xee\x16\xf5\x65\x0a\x6e\x8e\xea\x6f\xe4\x11\x10\x66\x3e\xc0\x15\x32\xbd\x49\x60\xa5\x27\xf1\x5e\xca\x4a\xf2\xf4\xe6\xb7\xb0\xfc\x34\x0c\xf9\x7a\xa2\x34\xe9\x2c\xf7\xd6\x9d\x50\xe4\x00\x9c\x24\x96\xe3\xed\x4d\x9a\xff\x00\x0f\x9e\x18\x52\x75\xb8\x17\xd2\x6a\x0b\xab\x69\xb7\xf7\xee\x1e\xa3\x0d\xae\xc8\xbc\xee\x38\x7a\xe4\x6b\x4b\x29\x9c\x27\xbd\xc0\x6e\xea\x63\xf2\x4d\xbe\xe9\x55\xa6\xc0\x96\x90\x37\xee\xf9\x1c\x34\x32\x1e\x3c\x5c\x97\x2f\xde\x99\x31\x83\xb7\xd2\x3f\x6e\x01\x9c\x3e\x0c\xac\x75\x89\xae\x4a\x15\x21\xaf\x87\xea\x42\xdf\x8c\x22\xc2\x27\x0e\xc2\x3d\x6d\x14\x0f\x9c\xf6\xd4\xd5\x2f\xac\x1b\x9d\x6c\x89\x39\xef\x81\x31\xcb\x62\xa0\x35\xc5\x26\x15\x38\xbc\xdf\xd6\xdb\x41\x9a\x55\xef\x9f\xe5\xd7\xa5\xac\x44\x57\x9d\xe7\x00\x85\x8d\x74\xa3\x43\x48\x44\xf2\x83\x42\xc5\x65\x89\x27\x22\xe2\x7f\x40\x7d\x7f\x17\xb7\x4a\x59\x34\xbe\x91\x5b\x20\xc2\x40\x06\x43\x23\x5f\x8a\xb5\x79\x5f\x32\x4e\x33\xc5\x06\x44\xa0\x40\x33\x54\x2c\xb3\x81\x6d\x77\x0f\xa8\x99\xe7\x31\x1c\x14\x30\x1c\x1b\xd0\xf5\xaa\x60\xa2\xeb\x31\x65\x68\x0c\x72\x0e\x1e\xfa\x80\x96\xfc\x25\xd2\x77\x92\x75\xf1\x84\x2b\x2d\xb5\x3b\x4d\xa0\xad\x3e\x59\xc0\x75\x40\xc2\x84\x60\xce\xc1\xfd\xd3\xcd\xb7\xa3\x47\x8b\x91\xa9\xca\xf9\xac\x89\x1c\xdf\x3a\xea\xee\xca\x9a\x96\x56\xac\x13\x07\x25\x99\x22\xfc\xa7\x4c\x5c\xc6\x9f\x7e\x25\xc6\xbf\x58\x79\x73\xa4\xb7\xd3\xe3\xac\x06\x35\xb0\xdb\x22\xa0\x09\x3a\x79\x07\x68\x81\xc7\x17\x36\xee\x1d\x4d\x45\xf8\xed\x2d\x29\xa0\x67\x1a\x64\xe6\xca\x2f\x7a\x5e\xf4\x04\xb1\xed\xeb\x84\x20\x34\xf5\x71\xb6\x99\xbc\x59\xe5\xa3\x7d\xf0\x20\x54\xe8\x48\x2b\xf1\xe7\xb7\x7d\x8e\x83\x97\xda\x15\xd8\x9d\x73\x55\xa5\xdc\xe8\x6b\x16\x83\xa9\xac\x4e\x40\x6c\x08\xa9\x4a\x6e\xb0\x0e\x5a\xe1\x6d\x96\x72\x29\x72\xe5\xc5\x0c\x7b\xee\x4a\x84\xd0\x69\x7b\xbe\x67\xce\xb7\xef\x29\x5f\x06\xaa\xea\x5a\xbb\xa4\x44\x66\xbe\x0f\x67"}, -{{0x24,0xa9,0x14,0xce,0xb4,0x99,0xe3,0x75,0xe5,0xc6,0x67,0x77,0xc1,0xed,0x20,0x43,0xbe,0x56,0x54,0x9d,0x5e,0x50,0x2a,0x84,0x47,0x10,0x36,0x40,0x42,0xba,0x9a,0xcb,},{0x20,0xd2,0x1e,0xe7,0x64,0xb1,0xf3,0x5f,0x94,0x56,0x82,0x00,0xd6,0x3b,0xd5,0x82,0x8a,0xca,0x8c,0x5d,0x3e,0x90,0x47,0xd2,0x3f,0x47,0x8b,0x92,0x52,0x95,0xfa,0x2e,},{0x3a,0xe0,0xcc,0x7b,0xca,0x8d,0x73,0xbe,0x83,0xa9,0xb8,0x09,0xb1,0x33,0x38,0xc1,0x27,0x06,0xaa,0xef,0x75,0xc4,0xd1,0xa4,0x78,0x17,0x8f,0x9d,0xc5,0x65,0x51,0x4c,0x75,0x29,0xe2,0x98,0x04,0x3e,0xa7,0x8d,0x21,0xa5,0xa0,0x9d,0xd0,0x4f,0x10,0xae,0x87,0x44,0x1e,0x56,0x86,0xa9,0x33,0xc9,0x2c,0x75,0x54,0x84,0x27,0xad,0x3a,0x03,},"\x3f\xf9\xf6\x6f\xa2\x64\x6e\xc6\x6a\x1b\xf9\x33\xc2\xb4\xcc\x0f\xbf\x91\x2b\x4d\x6d\xb5\x05\x34\x25\x7f\x97\xd0\x1e\x69\x8d\x05\x48\x57\x47\xde\x25\x44\xe9\xf5\xa4\xa4\xa0\x75\x38\x8c\xf4\x40\x0a\xb8\x9b\x03\x53\xce\x86\x19\x82\x02\xdb\x3a\x90\x37\x67\xb8\x79\xa2\xaf\x9d\xaa\x15\x58\x43\x11\x1a\xf1\x5a\x2b\xc3\x5e\xfe\x41\xbc\xc9\x2c\x82\x07\xe0\x01\x13\xb0\x4f\x13\x03\x00\x79\x49\xff\xb6\xce\x8d\xf4\xb0\xb3\x42\x48\xfe\xdf\x5d\x9c\xb2\xce\xe9\x4b\x81\x2e\xd5\x8e\xce\x2a\x0c\xe0\x45\x4c\xf1\x4c\x20\xe4\x9e\x09\xfe\x66\x4d\x6e\x25\x76\x2e\x87\x89\x59\x32\xcd\x5c\xd3\x2e\xb6\xa3\xab\xb3\x8e\xe1\x63\x07\x8c\x13\x3e\x93\x58\x87\x91\xdb\xf6\xaf\x49\x9a\x31\xea\x44\x53\xbb\xcc\x7a\x85\xe4\x06\xc9\x84\x8a\x66\x40\x52\xf1\x11\x13\xfb\xb4\xff\xa7\x60\xde\xe4\xc2\x61\xe3\x96\x94\x24\x91\x11\x9d\xa2\x9a\x33\x58\x2f\x82\x1d\x41\x25\xe0\xb4\x16\x2f\x28\xbe\xb0\x66\x03\x1a\x65\x2d\x05\x74\x9a\xa7\x24\x4d\xd4\xf3\xd3\xbb\x15\xd2\x68\x32\x8d\x6a\x02\xfc\xe2\x50\x18\x15\x25\x7f\x8a\xd5\xaf\x4e\xcb\xe7\xcb\x8a\xe9\x66\x1e\x34\x4f\x90\x72\x31\x87\x91\xf3\xe8\x59\x09\x11\x21\xe0\x8a\xef\xca\x89\x82\xea\xaf\x66\x25\x9d\x9d\xe4\xf4\x6a\x31\xe7\x16\xdc\x03\x3d\x0f\x95\xd1\xfa\x93\x6b\x6c\x60\x79\xb1\x37\xdd\x11\x58\xd1\xde\xf1\x13\x01\x8c\x73\xf8\xeb\xb9\x80\x7e\x0f\x74\x15\x40\x4e\xa9\xc7\x85\x44\xac\xe7\xce\x46\x3c\xd1\xd1\xc5\x7e\x31\xf4\x09\x1b\xc0\x91\x80\x4c\xbc\xdd\xad\x0e\x15\xa4\x0c\xa9\x1a\xcb\xe1\xc6\x22\x4e\xd1\x3c\xaf\xb4\xdf\x2c\x84\xac\x9f\x0c\x3c\x9b\x54\x60\x07\xd9\xdd\x6e\x52\x4c\x46\x70\x72\x56\x3d\x4a\xc0\xd7\x00\xcc\x1b\xf3\x0f\xeb\xb3\x34\x31\x3d\xae\x57\x61\x74\x5e\xc0\xa5\xe9\xe8\x81\x50\x25\x95\x8f\x00\xfa\x2e\x58\x06\x0d\x7e\x9a\x5f\x2b\x72\x7f\x48\x69\x9f\x92\x9c\x84\x59\x93\x08\x92\x57\x3f\x78\x4f\xef\x56\x92\x51\x8b\x5c\xa2\x68\xe2\xa7\x3e\xbe\xad\x6e\xbd\xeb\x7e\xc2\x4e\xac\x92\xaa\x7d\xcb\x41\xb5\x98\xbd\x6e\xff\x36\x32\xd0\x69\x72\x62\x91"}, -{{0x55,0x32,0xe0,0x9b,0x93,0x7f,0xfd,0x3d,0x5f,0x4c,0x1d,0x9f,0x1f,0xfc,0xde,0xd2,0x6e,0xe7,0x4d,0x4d,0xa0,0x75,0x26,0x48,0x44,0x69,0x0b,0xd9,0xc8,0x61,0x39,0x94,},{0x50,0x93,0x96,0x9f,0x37,0x7b,0xec,0x3e,0x35,0xf5,0x9e,0xfd,0xa0,0x1a,0xb4,0x18,0x6c,0x5d,0x2a,0x36,0x74,0x0c,0xf0,0x22,0x67,0x5e,0x01,0x09,0x6b,0x1a,0x3f,0x0a,},{0xd5,0x27,0xff,0x0d,0x4a,0x21,0x9d,0x61,0xf4,0x18,0x12,0x12,0x06,0xa5,0x4a,0xe4,0x98,0x58,0x54,0xa3,0x10,0x48,0x27,0x44,0x48,0x6e,0x4d,0x13,0x0a,0x7d,0xe9,0x7c,0x31,0x9d,0xf8,0x37,0x2c,0x82,0x82,0x8c,0x93,0x6e,0x6a,0x8a,0xfd,0x9c,0x5d,0xe1,0x82,0x85,0x73,0xd8,0x26,0x1a,0xe9,0x36,0x5b,0x8f,0x23,0x76,0x76,0x18,0x24,0x02,},"\xad\xd4\xd7\xa9\xce\x3f\x63\xd1\xf9\x46\xe8\x67\x90\x65\x54\x5d\x8c\x7b\xf0\xa2\xcc\x3a\x4c\x00\xb8\xf1\x42\xf0\x94\x5a\xe3\x62\xc4\xc9\x46\x2a\x75\x76\xa4\x05\x9d\x57\x86\x16\x62\x88\x4b\xd8\x0b\x96\xd9\x0d\x27\x9a\x95\x2e\xda\x95\x2d\x37\xd4\xf9\x5c\xf0\xd7\x0d\xa9\x8f\x4f\xba\xca\x39\xe1\x69\xf9\xd9\x45\xd4\x1f\x87\x23\x97\xbb\xdd\x57\x01\x45\x43\x03\xd7\x7d\x31\xe8\x63\x48\x27\x1d\xa4\x0a\x1b\x8f\x1e\x57\xc3\x6f\xcd\x80\x3e\x14\xfa\x17\x71\x6c\x56\x31\xef\xa0\x1d\x3a\x79\x5d\xc2\x0b\x2b\xde\x36\xab\x73\xff\x6a\x2d\x53\x3b\xc1\x5c\xce\x22\x32\x87\x13\xc3\xc9\xcc\xd0\x72\xc3\xe4\x50\xd7\xf2\x2c\x0c\x9f\x94\x91\x97\x52\xcb\xfe\x45\xee\x65\x5d\x1b\x53\x67\x65\x93\xcd\xb4\x48\x70\x41\x02\x63\x1c\xaa\xa9\x76\x95\x2e\xaa\x1f\x6c\x2e\x87\x65\x64\xe4\x20\xf0\xc6\x46\xa0\xf8\x83\x65\xf7\x64\x15\xb4\x08\x5f\x60\xa3\x38\xb2\x9c\x51\x63\x3e\x54\x0f\x0b\xf3\x2d\x40\x87\xe7\xd0\xfb\x68\x5b\xe8\x8c\x75\x95\xdc\x53\x1c\x99\xb4\x89\x58\x45\x60\xad\x82\x34\xb1\x8e\x39\xa1\x07\xcf\x5d\x84\x2d\xab\xd4\x21\xe7\x7d\x26\xea\x5e\x0f\x14\x05\xce\x35\xfe\x79\x27\x14\xeb\x4e\xe1\xa8\x01\x76\x48\xac\x1a\xe7\x39\xa3\x3d\x7b\x1e\x08\x91\x05\xd1\xe5\xad\xd2\x7a\x62\xce\x64\x15\x45\x70\x34\x0a\xf9\xeb\x14\xe7\xfd\xfc\x2f\x9a\x2c\x2f\xcf\xcd\xac\x3c\xc4\x22\x77\x63\xf4\xd6\x29\x49\x74\x79\xf8\x49\x21\x6e\x5d\x90\xec\x16\xdf\xa3\x6b\x72\x51\x7f\x7b\x54\x86\xba\xee\x7f\xda\x44\x50\xc3\x52\xcf\xfb\xba\xe7\x39\x26\xc8\x43\x22\x4f\x8c\xe4\x4b\x38\xda\xe5\x3f\x3e\xad\x21\x89\x0b\x52\xa7\x80\x10\x75\x29\x16\x84\xfd\x59\x10\xed\x86\xad\x33\xe8\xa0\x07\xf6\xc3\xf8\x5c\x16\xb2\x09\x29\x37\x40\x18\x4f\x58\x90\x87\x4d\x43\x1c\xd4\xe0\xea\x40\x87\xc4\x9c\x34\x71\xd7\x89\xc8\x13\xc6\xdc\x9a\x78\x69\x93\x63\xa1\xd8\x71\x97\xd3\xb9\x2c\x02\x86\x68\x93\x11\x82\x3f\x4d\xf2\x2c\xe8\x03\x5e\x75\x73\x2c\xde\xa7\xf5\x62\x1f\x67\xdb\x0e\x2a\x4c\xa6\x61\x61\x93\x22\x1c\x0a\xa3\xd6\xde\x50\xd8\x52\x82\xee"}, -{{0xeb,0x36,0x51,0x10,0x09,0xd3,0x7a,0x9c,0x46,0xc4,0xd1,0x37,0x4d,0x0b,0xbd,0x0d,0x99,0x81,0xe7,0x8c,0xee,0x7d,0x18,0x8c,0x5a,0xab,0x98,0x3e,0xc2,0x39,0xe1,0x0c,},{0xb1,0xcc,0x21,0x2b,0x45,0x21,0xbb,0xe7,0xb1,0x9a,0x76,0x93,0x87,0x8a,0x55,0x84,0x40,0xee,0xc3,0x62,0x05,0xd8,0x43,0x9d,0x04,0x0a,0x46,0xa9,0x90,0x2f,0xbf,0x55,},{0x9f,0x58,0x37,0x24,0xde,0x55,0x2e,0xae,0x82,0xf2,0x54,0xac,0x6e,0x2e,0xd4,0x83,0xec,0x1a,0x07,0x34,0x62,0x66,0x73,0x5c,0x49,0x09,0x20,0x69,0x0c,0x1e,0x3f,0xb2,0xa9,0xe9,0xa3,0x41,0x94,0xed,0x64,0x73,0x73,0x3b,0x30,0x0d,0x4f,0x23,0xc9,0xae,0xc0,0xda,0x5a,0x20,0x22,0x05,0x4c,0xa4,0x38,0x85,0xa1,0x5a,0x29,0x84,0x32,0x0e,},"\xba\x24\x66\xe5\x6c\x1d\xf7\x7f\x22\xb6\xf0\x24\x1f\xc7\x95\x2a\xe9\xbc\x24\x75\x64\x19\xa9\x44\x6d\xd2\xb4\x9e\x2c\xb9\xdf\x59\x4e\x5b\x6c\x77\xa9\x5a\xa5\xfb\xd9\xdc\x57\xfe\xc8\x39\x62\xc7\x75\x1e\xeb\xb4\xba\x21\x82\x53\xf9\x16\xa9\x22\xa5\x13\x96\x63\xe3\x20\x3e\x3b\xe4\x82\xbe\x37\x9c\xa1\x51\xc4\x63\xd9\xad\xa2\x14\x46\x13\x5f\x35\x69\x94\xfa\x54\x49\xf0\x84\x47\x8f\x5b\xb4\xf5\xba\x61\x45\xc5\x15\x8e\xb7\xb1\xc4\x3c\x32\xeb\xea\x25\xe0\x9c\x90\x0f\x01\xef\x91\xe9\x2f\x88\xc0\x3c\x76\x50\x4a\xce\x96\x46\x01\x6f\xfc\x27\x89\x55\x9d\x0f\x3c\xc9\xd0\x0f\xb6\x1b\xdc\x6a\xf7\xd3\x94\x0f\x30\x2e\x58\x8e\x04\xf7\x9f\x7b\x3d\x4b\x91\xa5\xd1\x93\xa4\xf8\x22\x2b\xfe\xb6\x9b\xf0\x34\x7d\x98\xad\x81\xef\x99\xd1\x30\xeb\xc7\xb3\x6b\x07\x83\x39\x4e\xea\x92\xa3\x8d\xdd\x5e\x74\x80\xd2\xad\xd4\xe4\xde\xf5\x3e\xb9\x9c\x44\x9b\xff\x94\xe4\x71\x8b\x09\xf2\xea\x9b\x1f\x2b\x88\x65\x94\xa9\x5c\x33\xa6\x9e\x03\x33\x15\x4e\x44\x0a\xb3\x4b\x7b\x6c\x11\x34\xd8\x17\x9b\x6f\x0c\x56\x25\x1a\x9a\xd8\xe1\xb6\xb0\xf9\xb8\xa5\xc9\x70\x81\xa7\xf8\xfd\x05\xd0\xb0\xaf\xfc\x82\xdb\xdd\xc8\xb0\xc0\xab\x7e\x83\x3f\x30\x06\x26\xd4\xb9\x73\xb3\xf6\x0f\xea\xc5\x55\x71\xe8\x9c\xda\x0f\x2b\x44\x1e\xd2\xfa\xa6\x69\xa7\x0d\x55\x6c\xb4\x8f\x9b\x1d\x1c\xbc\xe3\x2e\xde\x5d\x16\x6b\x11\x43\xe2\x64\xb1\x1e\xa3\x27\x68\x1c\xb5\x59\xed\xd1\x3c\x36\x4b\xd2\xba\xf1\xfd\x54\xbb\x78\x18\x07\xbd\x59\xc8\x68\xb0\xe4\x79\x5a\x77\x9e\x67\xf0\xbd\x0d\x14\xb5\xa6\xb9\xe4\x40\xb5\x7a\x58\x23\x32\x8b\x59\xaf\xfb\xd0\x27\xed\xa7\xdd\x78\x50\x79\xc5\xf0\x2b\x5e\x32\x89\x0b\x03\x87\x30\x98\x6a\x39\xa5\xa9\x83\x4a\x3f\xed\x86\x8b\x6f\x45\xcb\xdd\x28\xac\xb2\x70\x9a\xff\x55\x62\x63\x86\x4f\x9a\xe1\xe7\x57\xb3\x27\x8c\x28\x8d\xbe\x29\x32\x82\x57\x12\x77\x3e\x43\x1f\x7c\x29\x32\x98\x57\xfd\xae\xa7\x98\xed\x93\x92\x08\x93\x63\x14\x02\xe6\xb1\x3b\xab\x62\xb4\x85\x54\x61\xed\xb9\x46\x20\xf2\xd1\x75\x18\x65\xf4\x45\xc4\x66"}, -{{0x7d,0xbc,0x81,0x90,0x2e,0x4e,0xaa,0xb3,0x07,0x75,0x40,0xf5,0x59,0x99,0x5c,0x38,0x74,0x03,0xca,0xc3,0x06,0xd4,0x86,0xe9,0x59,0xc5,0xeb,0x59,0xe4,0x31,0xc0,0xa8,},{0xe0,0x30,0x66,0x13,0x90,0x82,0xf6,0x13,0x44,0x8b,0xdb,0xc2,0x7f,0xe5,0x3a,0xa3,0xf8,0x89,0x94,0xc3,0x1d,0xdc,0xe0,0x02,0xe3,0x6b,0xbb,0x29,0x63,0xdf,0x3e,0xc8,},{0x5b,0x7f,0x65,0x2f,0x08,0xf2,0x29,0xfd,0xa1,0xb0,0xbd,0x75,0x93,0x77,0xb3,0xfb,0x72,0x6c,0x1b,0x9c,0x9a,0x10,0xef,0x63,0x42,0x6d,0x35,0x2d,0xd0,0x86,0x9b,0xd5,0x4d,0x87,0x6c,0x30,0x92,0xf1,0xcd,0x41,0x1c,0x37,0x57,0xd3,0xc6,0xb6,0xea,0x94,0x2a,0xa7,0x0c,0x3a,0xae,0xb4,0x21,0x7a,0x4c,0x73,0x64,0xd1,0x8e,0x76,0xe5,0x0f,},"\xdf\xf7\x98\xb1\x55\x7b\x17\x08\x5a\x06\x34\x37\x1d\xed\x5d\xdf\x7a\x5a\xcb\x99\x6e\xf9\x03\x54\x75\xe6\x82\x63\x36\xf6\x4a\xd8\xb8\x4b\x88\x2e\x30\xba\xde\xc2\xb4\xa7\x11\x99\x87\x52\xf4\xa1\x57\x4b\xc1\xf8\x9d\x43\x25\xcf\x2b\x39\x86\x10\x44\xdd\x03\x69\x1e\x71\xd0\x77\x68\xb5\x93\x3a\x30\x52\xcc\x7c\x81\xd5\x71\xa9\xde\x06\x1d\xc1\x90\x26\xc2\xf1\xe7\x01\xf2\xdc\xf2\x6a\x88\xd3\x40\x1b\xc9\x9f\xb8\x15\x59\xdc\xa7\x6d\x8a\x31\xa9\x20\x44\xa2\x73\x58\x7d\x62\x2a\x08\xd1\xcc\xe6\x1c\x8f\x94\x8a\x34\xde\xd1\xac\xb3\x18\x88\x1c\x9b\x49\xf6\xf3\x7c\x30\xa6\x5d\x49\x5b\x02\xd5\x42\x9e\x7a\xb4\x04\x0d\x8b\xeb\xeb\x78\x79\x4f\xf7\x36\xd1\x51\x10\x31\xa6\xd6\x7a\x22\xcd\xf3\x41\xb9\x80\x81\x1c\x9d\x77\x5f\xb1\x9c\x64\x78\xf0\x5e\xd9\x84\x30\x10\x3e\xa2\x4c\x0f\x41\x4d\x4c\xc0\x7d\x86\x0b\x72\xdc\x54\x2f\xf2\x2d\x83\x84\x5a\x42\xf8\xba\x45\xca\x7f\xf3\xaa\xb0\xb1\xe7\xde\x2b\x10\x94\xde\xac\x08\xd1\x6e\xee\x01\x96\x9f\x91\xbc\x16\xfe\xc2\x9c\xcc\x06\x1c\x54\xdb\x53\x45\xba\x64\x84\x2d\xac\xc9\x9e\xe7\x72\x94\x68\xd8\x0a\x3f\x09\x55\x83\xd8\xe8\x01\x24\x08\x51\x9d\x58\x2c\xc3\xff\x9a\x2e\xb7\xae\xba\xa2\x2d\xb8\x1f\xfc\x78\xee\x90\xef\x4e\xc5\x89\xdc\xce\x87\x11\x8d\xab\x31\xa6\x32\x8e\x40\x9a\xd5\x05\x9a\x51\x32\xc8\x2d\xf3\xce\xfe\x2e\x40\x14\xe4\x76\xf0\x4c\x3a\x70\x18\xe4\x52\x67\xec\x50\x18\xec\xd7\xbf\xf1\xdd\xa9\x26\x7e\x90\x66\x6b\x6b\x14\x17\xe8\x9d\xda\xcb\x50\x85\x94\x3b\xef\xc7\xad\x2f\x4d\xf5\xf1\xee\x0a\xf9\x43\x1a\xee\xb6\xb2\x4a\x55\x15\xb9\x3d\xbc\xf6\x86\x40\xf7\xda\xf8\xc9\x61\xe5\x67\xd7\x53\x49\x00\x20\x5c\x3d\xf2\x18\x4b\x6a\xc2\xda\x96\x1c\x4c\x1d\x2b\xc4\x9b\x4e\xa9\x6b\x81\x54\xff\xd4\xef\xff\xdc\x5e\x55\xa7\x11\x9c\xb8\xaf\x42\x9e\x85\x10\x5d\xff\xd4\x1f\xe4\xa2\xeb\xba\x48\x16\x8a\xa0\x5f\xa7\xdf\x27\xc4\x29\x87\x35\xff\x86\x8f\x14\x96\xbe\xb4\xb2\xed\x0b\x89\x80\xc7\x5f\xfd\x93\x9d\xdd\x1a\x17\xe4\x4a\x44\xfe\x3b\x02\x79\x53\x39\xb0\x8c\x8d"}, -{{0x91,0xb0,0x95,0xc8,0xa9,0x99,0xe0,0x3f,0x3e,0xd7,0x49,0xcd,0x9f,0x2f,0xaa,0xcc,0x00,0x76,0xc3,0xb4,0x77,0xa8,0x7a,0xb5,0xcc,0xd6,0x63,0x17,0x38,0x76,0x74,0x46,},{0xda,0xd1,0x74,0xd3,0x59,0xda,0xec,0xca,0x9c,0x6b,0x38,0x9b,0xa0,0x96,0x45,0x2a,0xb5,0xca,0x91,0xe6,0x38,0x3c,0x6d,0x04,0x2a,0x28,0x4e,0xce,0x16,0xba,0x97,0xb6,},{0x64,0xee,0x9e,0xfd,0xb0,0xc2,0x60,0x1a,0x83,0x5f,0x41,0x85,0x20,0x64,0x1e,0x43,0x6c,0x7d,0xd4,0x7c,0x33,0x3d,0x9f,0xc3,0x0c,0xfb,0xb9,0xe3,0x90,0xfe,0x76,0x45,0x30,0x65,0x47,0x08,0xb4,0x0b,0x03,0x58,0x18,0x99,0xa9,0xac,0x87,0x0e,0xfd,0x76,0x6f,0xfb,0xb4,0x63,0x71,0x52,0xf8,0xff,0x27,0x79,0x64,0xfe,0x35,0x42,0x52,0x09,},"\x9b\x0d\x8b\x00\x29\x98\x52\xd6\x8b\xbf\x49\x7f\xe6\x03\x96\x1a\x48\x54\x66\xa9\x9a\x54\x84\x00\x5d\xb7\x3d\x4e\x4b\xad\x81\x4e\x85\x74\xef\xd5\x4d\x64\x8b\xd5\xc9\x1a\xe8\x48\x3c\x54\xb2\xf9\x98\xb0\x2e\x1a\xbd\x6f\x40\x1a\x25\x52\x68\x43\xa5\xf2\xa2\x3a\x97\xbd\x58\x9d\x1f\x7e\x1a\xb1\x49\x15\xb1\xe3\x59\xa3\x96\xd3\x52\xc3\x60\xae\x65\x84\x32\x5a\xe4\xbb\x7d\x62\x4f\x61\x25\x5c\x5c\x7b\xf0\xa6\x7a\xca\xb4\x6c\x3b\x57\xb3\x45\x34\xc0\xee\x84\x31\xd2\x60\x57\x66\x06\xcb\xd8\x4d\x8d\x18\x39\xe7\x3d\xa6\xfe\x4b\x0b\x8b\x78\xf0\xf9\x58\x82\x7c\x2f\x1d\x93\xba\x7a\x34\x6d\xcc\x75\xcb\x56\x3d\xff\xde\x26\xf9\x97\x59\x8e\x8b\x5c\x2f\x16\x17\xc6\xfe\xfc\x9b\xe4\xb2\x8b\x54\x01\xb0\x00\x64\x13\xa2\x51\x69\x0d\x12\x03\xaa\xae\x4f\x6d\x8a\x3f\xb2\x1f\x24\x00\x9a\xb3\xbf\xf1\x37\x37\xa8\xa7\xe6\x64\x6c\x02\x73\x2d\x9e\xc5\xa4\xa5\x10\x46\x9e\x2d\x29\x9e\x4c\xc1\xad\x64\x80\xa4\x82\xaa\x95\x6f\x89\xdd\xcc\xcc\x64\xa1\x36\xfb\x15\xb8\x76\xb6\xec\xd8\x8c\x7c\x86\xa4\xdf\xc6\x0e\x66\x62\x07\xc6\x04\x16\x7d\x16\x34\x40\xca\x9a\xb9\xcf\x87\xa5\xe0\xf7\xbb\xc5\x51\x7d\xe4\xde\xe8\x76\xc0\x37\xf8\xcc\x9d\x95\x9c\x8f\xf5\xdb\xe9\x44\xff\x54\xcd\x91\xa7\x71\xe2\x92\x31\xf8\xb5\xf1\x7d\x61\xde\x90\x4c\x95\x5f\xe2\x02\x5d\xc5\x2e\xd4\x80\xfb\x3c\xc9\x0f\x23\x24\x59\xc6\x07\xef\x7e\x2a\xdb\x52\xc7\x48\x2b\xec\xd6\x7a\xd2\x14\x9a\x41\x28\xf9\x84\x03\x8b\x58\xaa\x90\x17\x67\x82\x39\x36\x04\xaa\xc7\x4c\x18\x20\x9a\x3d\x6a\x78\x63\x0c\x01\x95\x5a\x7c\xec\xe5\xda\x83\x84\xda\x3b\xaf\x63\xaa\x2d\xdf\x59\x63\xfa\xe0\x5b\xa3\xb8\x1c\x6a\x03\xd8\x6a\x00\xef\x78\xed\xb4\x18\x4f\xdc\x89\xb1\xd6\xbf\xeb\x31\x0f\xd1\xb5\xfc\xce\x1e\x21\x95\x24\xa3\xcf\xb2\xe9\x72\x57\x7f\x06\xb1\xdd\xde\xba\x00\x86\x5d\xae\x49\x79\x00\x0c\x00\x8a\xd9\x9f\x3b\x63\x8c\xce\xb8\xe8\xc7\xa0\xf9\x98\xd3\x4d\x92\x14\x3d\x81\xc0\xe1\xc0\x96\xa9\x25\xce\xba\x65\xc4\x30\x03\xee\x18\xd4\x94\xd0\x03\xe9\xc6\x1f\x77\xd6\x57\x59"}, -{{0x8c,0x56,0x8b,0x31,0x0a,0xce,0x7d,0x1f,0x0e,0xde,0xce,0xfd,0x60,0x3a,0x88,0x40,0x00,0x54,0x4c,0x79,0x25,0x65,0xd4,0x81,0xc3,0xd3,0xe0,0x6e,0x2d,0x82,0xca,0x96,},{0x5f,0xa6,0xe2,0x67,0xc7,0x66,0x73,0x68,0x41,0x41,0x10,0x72,0xd1,0x98,0x3d,0x19,0x00,0xac,0xf0,0x1d,0x48,0xc3,0xce,0x11,0x77,0x0b,0x26,0xf7,0x8d,0xa9,0x79,0xf7,},{0xde,0xbd,0xd8,0xe5,0xd3,0x11,0x2f,0xd7,0x7b,0x39,0x4a,0xa0,0xe3,0x6e,0x94,0x26,0xba,0xc9,0x1d,0xf1,0x26,0xfa,0x9c,0x31,0x7c,0xea,0x7c,0x9d,0x45,0x95,0x7c,0xdd,0x96,0xa4,0x5a,0xe3,0xad,0x76,0x04,0x13,0xee,0x12,0x05,0xaf,0xd7,0x1a,0x29,0xf9,0xc3,0xcb,0x58,0x6c,0xd2,0xd7,0xcd,0x1e,0x93,0xbc,0x16,0x52,0xfc,0x34,0xdc,0x04,},"\xb5\x9f\x5f\xe9\xbb\x4e\xcf\xf9\x28\x95\x94\x72\x1f\x26\x47\x04\x7b\x0d\xa5\xe0\xe4\x94\x1b\xbe\x57\xc5\xb7\x22\xb4\x76\x72\x3f\x0a\xc5\x97\x0b\x41\x11\xf8\x93\xbc\xaa\x41\x1f\x28\xfc\xeb\x4f\x58\x5a\x2a\x71\x87\x01\x8a\x90\x4b\x70\xef\x8f\xe1\xf6\x56\x9a\x54\xd0\x0a\xda\x37\xb6\x9c\xb5\xe9\xc9\xd2\x6c\x16\xa9\x03\x51\x81\x48\xe0\x4a\x1b\x93\x6a\x32\x32\x9c\x94\xee\x1a\x8f\xb6\xb5\x91\x89\x2c\x3a\xff\x00\xbf\x6e\x44\xdd\x0a\x76\x2b\xab\xe8\x9d\x70\x60\xc1\x7b\x90\x39\x0d\x23\xbf\x9d\x36\x0a\x29\x3b\x83\x08\x38\x30\x86\x91\x6e\x11\x82\xb1\xba\x43\x36\xf0\x01\xb8\xd2\x0d\xea\xe9\xa0\x29\xf7\xe8\x53\x97\xa9\xae\x5c\xf3\xca\x10\xc7\xf3\x87\x55\x88\xb8\xff\xab\xb0\x63\xc0\x0c\xa2\x6f\x58\x0f\x69\xed\xc5\x27\xa1\xac\xcf\x4f\x41\x39\x7b\x33\x76\x6b\xcf\x6d\x55\xeb\x8d\xe0\x81\xa4\x8c\x98\x1d\x05\xc0\x66\x61\x7b\x80\xd8\xf6\xf5\xe6\x0e\x59\xdd\x9b\x93\x0b\xc4\xd0\x45\x86\x40\x3b\xb8\x68\xdf\x75\x93\x3b\xdd\x86\x23\x0e\x44\x70\x36\xc1\x75\xa1\x0d\xe9\xbb\x39\x95\x3d\xcb\x19\x66\xa1\xf1\x19\x12\x07\x8e\x35\x8f\x48\xc5\xb2\x09\xa6\x36\xc7\xf7\x83\xf4\xd3\x6a\x93\xad\x2c\xc2\xe3\x24\x45\x19\x07\x8e\x99\xde\x1d\x51\x58\xb3\x96\x1e\x0f\xc5\xa4\xf2\x60\xc2\x5f\x45\xf5\xe8\x58\x5e\x60\x1d\xb0\x8b\xa0\x58\xd2\x90\x9a\x1b\xf4\x99\x5f\x48\x13\x46\x0d\x36\x95\x03\xc6\x87\x36\x85\xeb\xcd\x33\x30\xa1\x30\xb7\x5f\x23\x65\xfb\x2a\x5a\x34\xea\x63\xd9\x58\xa2\xa8\x67\xe9\x05\x52\xd2\xce\xc8\xc3\x90\x08\x4b\xe0\xc1\x08\xb0\xfd\x2d\x83\xcb\x92\x84\xdb\x5b\x84\x2c\xbb\x5d\x0c\x3f\x6f\x1e\x26\x03\xc9\xc3\x0c\x0f\x6a\x9b\x11\x8e\x1a\x14\x3a\x15\xe3\x19\xfd\x1b\x60\x71\x52\xb7\xcc\x05\x47\x49\x79\x54\xc1\xf7\x29\x19\x9d\x0b\x23\xe5\x38\x65\x40\x3b\x0a\xd6\x80\xe9\xb4\x53\x69\xa6\xaa\x38\xd6\x68\x5a\xbd\x39\x7f\x07\xfb\xca\x40\x62\x7e\xca\xf8\xd8\xd3\x01\x33\xa6\xd9\xd5\xaf\x00\x91\x92\x75\x1c\x9c\x45\xf7\x7c\x0b\xc0\x11\x26\x88\x00\xbf\x55\x25\x12\x73\x0e\x69\x97\x3c\x5b\xf3\x62\xab\x16\x48\x94\xbf"}, -{{0x3d,0x09,0xaf,0xce,0xe3,0xc4,0x32,0xfd,0xfb,0x6b,0xdc,0xea,0xd5,0x4e,0x3d,0xa5,0xb1,0xb4,0x16,0x5c,0x50,0xd6,0xd3,0x10,0xb7,0xfa,0xd7,0x87,0xb4,0x44,0xd6,0x80,},{0xb0,0xd9,0x02,0x8c,0x4d,0x14,0x87,0xd2,0x93,0xed,0x58,0x5a,0x76,0xbc,0x94,0xff,0xfb,0xaf,0xe2,0xc6,0x5d,0x98,0x0c,0x49,0x4e,0x14,0x1e,0x48,0x10,0xa3,0x5c,0xb9,},{0x89,0x73,0x9f,0xe4,0x41,0xca,0x0c,0xed,0x08,0xa6,0xeb,0x57,0x96,0xe9,0xbd,0xda,0x0e,0x74,0xfb,0x47,0x35,0x28,0xfd,0x49,0x07,0xed,0xb6,0x59,0xaa,0xb4,0x4d,0x33,0x43,0x22,0x90,0x46,0x71,0x63,0x68,0xfa,0xf8,0x8e,0x85,0xc1,0x64,0x4a,0xf6,0x6f,0xf2,0xdc,0xaf,0x0b,0x17,0xac,0x93,0xca,0x13,0x81,0x9f,0x3f,0x24,0x1d,0xd3,0x00,},"\x76\x71\x65\xca\xae\x0e\x57\x8f\x16\x53\x7e\x17\x50\xbe\x7d\xe8\x7a\x78\x9a\x51\xff\x2d\xe1\x18\x38\xf5\x64\xe2\x58\x0b\x23\x91\x36\x2d\x28\x68\xa5\xa4\x70\x8a\xf1\x5d\x2e\x2d\xb7\xb9\xbe\x39\xc1\x6a\xdc\xc1\x20\x0b\x34\xe6\xb4\xd4\x02\x7d\xdf\xfc\x1a\x2a\x35\x95\xe2\x9e\x85\x5e\xc5\x26\x1b\x20\xbd\x55\xc4\x28\xb0\x13\x09\xba\xdb\x59\xe2\xca\x3e\xdb\x96\x7f\xc2\xf4\xba\xc0\x72\x9d\xdf\x54\xfb\x6c\x20\x05\x7b\xdd\xa9\xe7\xaf\x7c\xbf\xc0\x92\xfb\xa8\x65\xfd\x32\x75\xb9\xd3\xbc\xb0\xc3\x46\xb9\x51\xd1\x70\xac\x9a\xa6\x50\xa8\x6d\xf4\x98\x55\xd4\x8a\x1b\x37\xce\x56\xc9\xf2\x73\x89\xf5\xc8\xb1\x5f\x5c\x2c\x90\x0c\x4f\x10\x7c\x06\x4f\x60\x3e\x4f\x86\x7e\xf2\xe9\xc1\x0a\x1b\x74\x21\x0e\x6b\x89\xbb\x01\x17\x93\xaa\x85\xde\xd4\x3b\x51\xb7\x49\xba\x7f\x70\x28\x7b\x6b\xc1\xb8\x94\x34\xdb\x8b\x8c\x8b\x5d\x73\xb2\x14\xb4\x1e\x36\xb5\x28\x00\x5b\xfb\xfe\x00\x2e\x21\xb1\x00\x6f\xb9\xd2\x4b\xab\xd7\x21\x06\xd0\x93\xe3\xc7\x09\x3b\x31\x38\xae\xa7\x19\xd6\x94\x79\x08\x46\x47\x49\x8c\xd6\xc9\xbb\xb7\x44\x50\x9c\xd7\xda\x8d\xd6\x1a\x62\x71\x00\xf0\x3c\x21\xe7\x50\xac\xb3\xfc\xf4\x63\x1d\x7c\x0f\x61\x81\x54\xd2\xe5\xfa\x66\x56\xfb\x76\xf7\x4c\x24\x79\x50\x47\xbb\xce\x45\x79\xeb\x11\x06\x43\xfa\x98\xe1\xf7\x76\xca\x76\xd7\xa2\xb7\xb7\xb8\x67\x81\x73\xc7\x73\xf4\xbe\x7e\x18\x2f\xd2\x4d\xd7\x62\x91\xac\x67\xd9\xf2\x6a\x28\xc5\xe3\xcb\x02\x5c\x68\x13\xa3\x78\xb3\x83\x22\x46\x42\xb4\xae\xfa\xd0\xc7\x6a\x65\x79\x51\x7b\x8f\x36\x07\x97\xdd\x22\x61\x3e\xe6\x82\xb1\x79\x38\x19\x50\xfb\x71\x60\x9a\x5f\xb5\x49\x4d\x2d\x57\xdc\xb0\x0f\x26\xd1\xe7\x29\x56\xf4\xd6\x67\x28\x30\xe0\x5c\x01\xb3\x77\x96\x77\xc0\x7e\xa0\x09\x53\xc6\xb8\xf0\xdc\x20\x4c\x8d\xbd\xcc\xb3\x81\xbc\x01\xb8\x9c\x5c\x26\x1d\xb1\x89\xab\x1f\x54\xe4\x6b\xc3\xed\xc4\xde\x5a\xd4\xf0\xeb\x29\xc0\xa1\x20\xe4\x37\xcd\x8f\x37\xac\x67\xd4\x8c\x7f\x0e\x73\x02\x78\x70\x8f\x02\xb5\x4a\xee\x62\xb7\x29\x52\xbc\x1c\x0e\xb4\x37\xca\x8b\xd5\x65\x54\x37"}, -{{0x41,0xc1,0xa2,0xdf,0x93,0x69,0xcd,0xc9,0x27,0x16,0x4a,0xa5,0xad,0xf7,0x75,0x71,0x36,0xab,0xe5,0x13,0x95,0x60,0x42,0x66,0x33,0x4c,0xc5,0x46,0x0a,0xd5,0x68,0x3e,},{0x40,0x55,0x78,0x34,0xcc,0xe8,0xe0,0x43,0x58,0x0a,0x42,0x72,0xa8,0x80,0x4d,0x4f,0x92,0x6e,0x88,0xcb,0x10,0xd1,0xdf,0x0c,0x5e,0x28,0xb9,0xb6,0x7e,0x1b,0x63,0xda,},{0xb8,0xb2,0x75,0x2a,0x09,0x71,0x96,0xc2,0x89,0x84,0x9d,0x78,0xf8,0x11,0xd9,0xa6,0x2f,0xc7,0x67,0x27,0x8f,0x0c,0x46,0x62,0x8b,0x52,0x1f,0x62,0xed,0x27,0x59,0xd7,0x44,0x62,0xa1,0x75,0xda,0x22,0x40,0x3f,0x15,0x02,0x04,0x45,0xca,0xe0,0x6d,0xa3,0xed,0x61,0xcc,0xa6,0x20,0x3b,0x70,0x06,0x36,0x2a,0x0e,0x19,0x89,0x63,0xd2,0x0e,},"\xb6\x4b\x14\xba\x77\xd2\x39\xe6\xf8\x1a\xbe\x06\x0a\xcc\xef\x85\xf0\x44\x2b\x65\x0c\x44\x01\x5e\xfc\x43\xa0\xaa\x2b\xa1\x0b\xf4\x8d\x30\x18\xb1\x95\x3d\xdf\xff\xbc\xda\x5b\xf3\xbb\xe0\xb6\xb3\xe4\xb0\xd9\xa3\x2c\x6b\x72\x5b\xbb\x23\x1e\x0a\x27\x04\x47\x1e\xe8\xbc\x1d\x59\x4f\x5c\x54\x22\x6f\x5d\xd9\xdf\xa1\x63\xcf\xc1\x45\x2c\x61\xf9\x3e\x4f\x81\x39\xab\x4c\xe4\x47\x6f\x07\xec\x93\x36\x61\xea\xe9\x1b\x6d\x50\x0b\xf5\x08\xac\x63\xe4\xba\xaf\x1f\xfc\x8f\x00\x07\xd8\x02\xe0\x05\xf1\xb4\xfc\x1c\x88\xbe\xe4\xd5\xe9\xe7\x63\x84\xf5\xa7\x04\x3b\xd6\x60\xcc\xe7\x1f\x3b\x67\xf0\x1f\x6a\xb8\x44\x29\x85\x31\xaa\xc7\x3a\x39\xd0\x45\x37\x00\x88\x85\x50\x05\xa0\x9c\x6d\x04\x23\x8e\xa4\x78\xdf\xac\xad\x1e\x6b\x22\xb2\xbe\x4c\x46\xb0\xd5\x9b\x1e\xba\x1f\x06\x0b\xf7\xda\x5d\x15\x66\xcf\x1f\xdb\x5c\x54\x3a\x33\x92\x6a\xf6\x3f\x01\xa0\xdb\x86\xe1\xa6\x71\x1c\x47\x3d\xc7\x95\xab\x28\x3c\x8d\x93\xfa\xcf\xb5\x70\x1f\xa2\xf2\xf6\xbb\x99\xf9\xb7\xe3\x74\x9b\x07\x1d\x58\x60\x7b\xe4\x4a\x70\x89\xbc\xb5\x03\xec\x14\x95\xb5\xfe\xed\xb3\x99\x96\x1f\xd3\x67\x7d\x74\x93\xea\xa3\xb3\xe9\xcc\x5e\x36\x42\xf4\x0d\x47\xde\x9b\xfe\xe7\xc2\x0b\x0e\x51\x9c\x4e\xb4\xa4\x0f\x4d\xa4\x46\xed\x6a\xc7\xaa\xca\x05\x3e\x75\x9c\x97\xda\xbe\x0a\x8e\xc2\xf5\x8e\x7f\x2f\x9b\x20\x72\x76\x2f\x9f\x79\x4a\x6a\x4e\x36\x06\x0b\x88\x72\xbd\x2c\x18\xd0\x6a\x85\xc2\xc1\x41\xa7\x82\x93\x77\x3e\xe8\xcf\xbf\x15\x4b\x99\x30\xcd\x39\xda\x31\xb4\x97\xe7\x37\xa7\x75\x0c\x90\xa1\x3f\x5a\xaa\x14\x7c\xd0\xdc\x43\x11\xf2\xe3\x49\x41\x25\x2e\xf1\x98\xb0\xc1\xf5\x08\x27\xe5\x6c\x9f\x16\xf5\x95\xac\xed\x6d\x2a\x69\x34\x65\x31\x49\x5a\x64\x99\x77\x4d\x36\x07\x66\xca\x9b\xe5\xed\x88\x81\xc0\xdb\x26\xed\x7c\x5e\x6f\xf3\xa4\xf9\xb7\x3c\xd8\xb6\x54\x64\x0d\xc9\x6b\xf4\x3b\xd4\x26\xa0\xf2\x8c\x9b\x25\xfa\x70\x4d\x62\xff\x02\x88\xfc\xce\xff\xaa\xeb\xd3\xea\x30\x97\xbc\xbb\xd7\x78\x42\x0e\xbc\x52\x0a\x41\x77\x30\xa1\xb5\xb3\xb8\xc9\x6c\xda\x9f\x4e\x17\x7d"}, -{{0xa0,0x06,0x11,0x48,0x94,0x67,0x12,0x2c,0x4c,0x16,0x4b,0xfb,0x6a,0x61,0x6e,0x6a,0x61,0x9b,0x9f,0x83,0xc4,0x36,0x72,0x06,0xb8,0x5d,0x3f,0xbe,0xc3,0x8c,0xd6,0x2c,},{0x57,0xab,0x58,0xba,0xbb,0x41,0xdc,0x0d,0xa0,0xbc,0xd5,0x06,0x05,0x9a,0xac,0x9f,0x46,0xec,0xa9,0x1c,0xd3,0x5a,0x61,0xf1,0xba,0x04,0x9a,0x9a,0xc2,0x27,0xf3,0xd9,},{0xc7,0x71,0xba,0x0a,0x3d,0x3c,0x4a,0x7b,0x06,0x4b,0xd5,0x1a,0xd0,0x5c,0x9f,0xf2,0x7f,0xd3,0x26,0x61,0x0f,0xbf,0xa0,0x91,0x83,0x03,0x9e,0x5e,0xdf,0x35,0x47,0x2d,0xde,0xd8,0xfc,0x22,0x75,0xbb,0xcc,0x5d,0xf1,0xbf,0x12,0x98,0x60,0xc0,0x1a,0x2c,0x13,0x11,0xda,0x60,0x2f,0xba,0xff,0xc8,0xb7,0x9c,0x24,0x9c,0x9c,0xc9,0x55,0x02,},"\x34\xdb\x02\xed\x75\x12\xbf\x8c\x67\xd3\x59\xe7\x20\x3a\x2e\xa4\x41\xe2\x0e\x72\x97\x66\xc1\x5a\xa0\x0f\xa2\x49\xa3\x51\x8f\xc2\x9e\xf8\x90\x5a\xa5\xb4\x67\x09\x58\xc6\xa4\x60\xd7\x7b\x3a\x80\xef\xcb\x47\x38\x59\xbb\xaf\xf8\x62\x22\x3e\xee\x52\xfe\x58\xac\xfd\x33\x15\xf1\x50\xf3\xc6\xc2\x7f\xf4\x8f\xca\x76\x55\x2f\x98\xf6\x58\x5b\x5e\x79\x33\x08\xbf\x59\x76\xba\xd6\xee\x32\x7b\x4a\x7a\x31\x32\x14\xb9\xae\x04\xb9\x65\x1b\x63\xcd\x8d\x9f\x5b\x3b\xec\x68\x9e\x0f\xd0\x00\xdd\x50\x17\x70\xdd\x0e\x99\xb8\xf9\x9e\xaf\xa0\x9c\x39\x6a\x24\x5a\x4a\x96\xe5\x68\x96\xa2\x9b\x24\x19\x0b\x1e\xf1\x10\x63\xf3\x9b\x63\xee\x3a\x58\x6b\x07\x62\x7d\xd3\x50\x0c\x4e\x17\x0b\x83\x5d\xc0\xec\x23\x6f\xa5\xa3\x5c\x44\x18\x47\x07\x56\x5c\x4a\x50\x66\x2d\x8d\xbc\xcf\xff\x7f\x9a\x7a\x68\xd0\x21\xb4\xaf\x64\xd5\x32\xb7\xc3\xd2\x74\x74\x18\xc2\xd7\x17\xbb\x6a\xca\x6b\x58\x74\x7a\xe4\xdd\x56\x41\xd8\x26\xf7\x9a\x8a\x31\x5c\x38\x21\x1a\x53\x8a\x92\x9e\x5b\x45\x1f\x62\x3f\x4f\xcb\xbc\xac\xdb\x86\xc8\x75\x2e\xa1\x3a\x61\x7a\xb4\x14\xab\x65\x3e\xb2\xe6\x8d\x54\x20\xdf\x7c\x6d\xf9\x24\x38\x16\x8d\xcf\x9c\x06\x65\x81\xdf\xe7\xb2\xc4\x68\x19\x4a\x23\x70\x7d\xe4\x65\x9b\xd6\x7e\xb6\x34\xff\x02\x47\x41\xc5\xfc\x86\x98\xfd\x4d\xc4\x1f\xe5\xdf\xc6\x29\x9b\x7a\x08\xe6\xff\xca\x37\x10\x9c\x02\x10\xc8\xf9\x4e\xa2\xd3\xdd\xc9\x77\xff\xc0\xb3\x79\x4f\xe6\xba\x43\x37\xc7\xaa\xb4\x34\xa6\x8a\xc6\x65\x48\x4e\xa8\x24\x3a\x84\xb7\x9a\xa1\x81\xee\x6a\xb5\xaa\x37\xa3\x2d\x87\x97\x25\xed\xc0\x18\xf8\x55\x21\x81\x81\x6d\x7d\x27\x2c\xa8\x81\x8a\x7b\x92\xe6\xee\x44\x54\xd1\xf7\x82\x8d\xd8\xaf\xba\x1a\x79\x03\x64\xb4\xff\x28\xd8\x4e\x02\x85\x97\x35\x3e\xbb\xef\x24\x83\x7b\xc3\x19\xe1\xae\x8f\x2b\x0b\x6a\x85\x1b\x48\x9c\x3e\x17\x0e\xef\x53\xe0\x65\xf7\x03\x26\x53\xcd\x6b\x46\xd8\xe5\x7e\x4e\x11\x1b\x78\x9b\xa9\x50\xc4\x23\x0a\xba\x35\xe5\x69\xe0\x66\x15\x40\x34\x07\xbc\xe0\x36\x9a\xaa\xb4\xea\xfa\xef\x0c\xae\x10\x9a\xc4\xcb\x83\x8f\xb6\xc1"}, -{{0xde,0x16,0x34,0xf3,0x46,0x0e,0x02,0x89,0x8d,0xb5,0x32,0x98,0xd6,0xd3,0x82,0x1c,0x60,0x85,0x3a,0xde,0xe2,0xd7,0xf3,0xe8,0xed,0xd8,0xb0,0x23,0x9a,0x48,0xcf,0xaf,},{0x9d,0xc1,0x46,0x5b,0x33,0x83,0xf3,0x7d,0xe0,0x0e,0xa2,0xd3,0xc7,0x0f,0x2c,0x8f,0xac,0x81,0x5f,0x01,0x72,0x02,0x9c,0x3f,0x57,0x95,0x79,0xc9,0x84,0xa5,0x89,0x5e,},{0xd2,0x05,0x06,0xeb,0x84,0x69,0x23,0xa0,0xb1,0x6f,0xf8,0x2f,0xb2,0xc3,0x92,0x3b,0x00,0xc1,0xb3,0xbc,0xc6,0xe2,0xf6,0x48,0x2f,0xba,0x24,0x80,0x75,0x21,0xe8,0xe0,0x22,0x3f,0x69,0x2e,0x62,0xea,0xc9,0x93,0xf4,0x98,0xf6,0x71,0x02,0xa0,0x4f,0xd1,0xac,0xf9,0xc7,0xe3,0x88,0x8d,0x85,0x7c,0x9a,0x08,0x0b,0x8a,0xf6,0x36,0x10,0x06,},"\xd1\x0c\x3e\x4d\xe7\xfa\x29\x89\xdb\xa8\x75\x37\xe0\x05\x93\xd0\xee\xd4\xd7\x5e\xe6\x58\x46\xda\xb1\x49\x8b\x47\x49\xd6\x4f\x40\xe3\x4b\x59\x11\xc5\xce\x3b\x53\xa7\xe3\x7d\x2d\x02\xbb\x0d\xae\x38\xed\x96\x2a\x4e\xdc\x86\xc0\x02\x07\xbe\xe9\xa8\xe4\x56\xec\xca\xe8\xbd\xf4\xd8\x7a\x76\x74\x60\x14\x20\x1a\xf6\xca\xff\xe1\x05\x66\xf0\x8d\x10\xda\xaf\x07\x71\x60\xf0\x11\xfe\xac\xa2\x5b\x9c\x1f\x6e\xca\x9f\xc5\x33\x14\xa8\x05\x47\x95\x17\x54\x35\x55\x25\x25\x7d\x09\xa7\xfd\xad\x5b\xc3\x21\xb7\x2a\xa2\x8d\x1e\x02\xd8\x69\x6d\x4f\x9e\xb0\xad\x3b\x21\x96\xf8\xbc\xfa\xeb\x1d\x61\x48\x28\x7a\x3f\xae\xfe\xf9\x1a\x7a\x3e\x06\x09\xc2\x8c\xe5\x9d\x0c\xa1\x4d\x0b\x30\x50\xdd\x4f\x09\x6b\x7b\xc2\x51\x39\x88\xba\x21\x21\x28\xd5\x02\x6d\xaa\xa7\x18\x88\x46\xdb\x21\xc5\xc1\xd1\x79\xab\x94\x87\xc1\xa5\xbd\x34\x65\x88\x12\x7c\x20\x39\x8d\x36\x2d\x4c\x75\x9c\xfa\xb2\xa6\x77\x75\x0b\x9e\x45\x67\x6a\x1e\x7e\x09\x2e\xf0\x2e\xdb\xf2\x78\xfb\x19\xa5\x8e\x9b\xf6\xc9\xe9\x96\xe2\x4e\xda\xd7\x3f\x3c\xe3\x1f\xa0\x4b\x6d\x85\x33\x43\x6b\xf8\x0b\x4b\x2f\x80\x5e\xd9\x1e\x7f\xcd\xa3\xbc\x2b\xab\x3b\x2b\xb1\x57\x15\x8a\xf0\xea\x8e\x3f\x07\x31\xdf\xad\x45\x9d\x2e\x79\xb6\xd3\x71\x5f\xe7\xbf\x1e\xaf\xc5\x39\x75\x93\x20\x88\x57\xe5\x7b\x7f\xeb\x2f\x73\x87\x94\x3a\x8e\x09\x13\x47\x0c\x16\x1a\xef\x4f\xe2\x05\xd3\x63\x7f\x23\x17\x7f\xf2\x63\x04\xa4\xf6\x4e\xba\x3f\xe6\xf7\xf2\x72\xd2\x34\xa6\x72\x06\xa3\x88\xdd\xd0\x36\x6e\x89\x4e\xaa\x4b\xb0\x5d\x73\xa4\x75\xf1\xb3\x4c\xa2\x22\xbb\xce\x16\x85\xb1\xb5\x6e\x03\x4e\x43\xb3\xc4\x0e\x81\xff\xf7\x96\x82\xc1\x9f\x32\xaa\x3f\x2a\x89\x5c\x07\x09\xf9\xf7\x4a\x4d\x59\xd3\xa4\x90\x29\xec\xfc\xb2\x83\x08\x2b\x06\x7f\x1a\x0d\x95\x05\x75\x0f\xd8\x67\x32\x19\x99\x48\x42\x49\xef\xa7\x25\xf5\x2c\x94\xc7\x59\x62\x06\xa9\x11\xf3\xf5\x05\xd6\x3f\x03\x13\x25\x4b\xd4\x45\xf0\x5b\xe3\x99\x6b\x58\xfe\x18\x19\xaf\x87\x35\x2e\x7f\x0a\x2c\xa3\x20\xd9\xcc\x00\xa5\xfe\x77\xad\x41\x64\x0d\x50\xbe\x84\x36"}, -{{0xc7,0x38,0xef,0x5f,0x09,0x35,0x28,0x1b,0xa6,0x25,0xfa,0x40,0x14,0xd4,0xa4,0xd0,0xbe,0x7e,0x28,0xfe,0xd7,0x79,0xa9,0xcf,0x65,0x8e,0x21,0xdb,0xa4,0x3c,0xeb,0xc1,},{0x95,0x79,0x9f,0xaf,0x70,0x6d,0x19,0x5e,0x54,0x4c,0x76,0xca,0xfd,0xdf,0x09,0xd0,0x2d,0x1b,0xea,0xfc,0x42,0xc9,0xd6,0xc9,0xea,0xd4,0xc1,0x84,0x55,0x87,0xd3,0x9e,},{0xf4,0x43,0x71,0xe6,0xc3,0x39,0x16,0x39,0xd4,0x57,0xed,0x14,0x64,0x81,0x84,0x80,0x94,0x11,0xe8,0x0a,0x32,0x01,0xf8,0x81,0x16,0x70,0xe5,0x00,0xfc,0xad,0x92,0xf3,0x00,0xaa,0xbf,0x7f,0xc6,0x8e,0x44,0x01,0x91,0xe8,0x81,0xd6,0xc3,0x47,0x4e,0xfd,0x6d,0x28,0xf0,0x9d,0xc4,0x43,0x12,0xfc,0xfc,0xb8,0x27,0x01,0xba,0x3c,0x29,0x0a,},"\x16\x8d\x0b\xc5\x59\x8b\xe0\x2f\x54\x43\xbf\xe7\xdf\xb8\x82\x99\x85\xca\x5d\x28\x2a\xf9\xcf\x1b\x14\x82\x60\x2f\x24\x3d\x48\x6b\xd8\x2b\xa0\x39\xa0\x75\x09\x09\xe9\xb3\xc7\xd4\xd5\xf8\xb8\xba\xf4\x57\x18\xaf\x03\x11\x85\x4f\x4d\x1c\x78\x37\xf3\x1d\x8e\xe6\x8d\x35\x58\xe7\xe5\x1e\x0c\x64\x6a\x4a\x63\x75\x96\xee\x90\x05\x7b\x01\xed\x0a\x17\xda\xa3\x95\x0b\x81\xab\x47\xae\x8b\x94\xc1\x7d\x40\x74\x69\x13\xc4\x6b\xa1\x47\x8b\xfc\xa5\x1b\x16\x76\x28\xfc\x3e\xe1\xe2\x2f\x2f\x19\xd6\xd8\xda\xf9\x3d\xf6\x54\x0c\xed\xb7\xa8\x59\xd1\xa2\xba\x59\x11\xba\x71\x76\x6e\x8b\x7f\xce\x0c\x0e\x86\x63\x61\x6d\x01\x80\x69\x7d\x78\xce\x30\x40\xd4\x38\x13\x19\x82\xf3\xf8\x11\x2a\xcc\xa2\x9a\xe5\x3e\x53\x9f\xf8\xc9\xec\x41\x06\xd1\x32\xf4\x02\x01\x85\x18\x30\x84\x85\xf2\xaa\x6c\x9e\x8d\x1e\x62\xfe\xd6\x0c\xb2\x49\x45\x7d\xb3\x3c\x6f\xd1\xfe\x07\x44\x53\x61\xf0\x81\x94\xa2\xb5\xa0\x57\xcb\x03\xcc\x75\x4e\x5c\x7d\x4a\x7e\xea\x53\xa7\xf7\xd2\x07\xca\xcc\xa5\xe6\x8c\xaf\xa9\x69\xa3\x52\x1d\xbb\x81\x03\x99\xa1\x7f\x32\x8e\xe7\x67\xcf\x55\x92\x6b\x2b\xd5\xf0\x29\x54\x9d\x3b\x46\x45\x79\xc4\x26\x55\x26\x53\x98\x47\x2e\x1c\x77\xcc\x8d\xd9\xaf\xf1\x87\xf7\xac\x34\xdd\x45\x6a\xce\x99\x9a\x73\x6e\xcc\xa6\xd4\x05\xd4\x92\x2c\x77\x9c\x60\x0c\x47\xb8\x4c\x9c\x1d\xf5\xe5\xf8\xed\x3b\x28\x11\xd3\x51\x33\x91\x13\xf8\x45\x3c\xca\x4c\x44\x11\x68\x8c\xb0\x38\x82\x58\xeb\xbd\x18\x72\xb8\x36\x10\x04\x22\x49\x49\x4e\xd5\x60\xd4\xcd\xa6\xa6\x84\x55\xd9\x57\xe8\x06\xdd\x0b\xdd\x83\x00\x4c\x4c\xa8\x07\x74\xb8\xa0\xa1\x66\x58\x66\xf1\x70\x85\x01\x4e\xad\xb3\xea\xe7\x38\x2f\xa8\x70\xde\xb2\x9d\xd8\xc9\x31\xb5\x30\x19\x62\x57\x40\xe2\x83\x92\xf3\x85\x75\xc0\xe2\xa9\xe5\x04\xfc\x35\xbd\x95\xdf\x56\x43\x9a\x89\x82\x30\xa2\x39\x8c\xd2\x22\x5c\x76\x6e\xf3\x6f\x12\xae\x7e\x49\xb3\x0a\x9c\x0a\xad\x46\x9d\x58\x95\xbb\xf7\x21\xcc\x0f\xf5\x1d\x84\x0c\x80\x2d\x4a\x7e\xef\xba\x84\xfe\x52\x05\xa2\xc2\xf1\x40\x11\x92\x2d\xde\x56\x14\x56\xf7\x9e\x61\x61"}, -{{0x5f,0xea,0x38,0x73,0x9c,0x61,0xca,0x83,0xbf,0x7b,0x4a,0xd1,0x75,0xa2,0x11,0x76,0x27,0xb9,0x71,0xa6,0x34,0xa3,0x05,0xa8,0x4f,0xa5,0x7f,0xec,0xb8,0x03,0x56,0x24,},{0xdd,0xd1,0x4b,0x0f,0xc0,0x67,0x68,0xd5,0x10,0x4c,0x50,0x76,0x4b,0xfd,0x3b,0x95,0x23,0x52,0xa3,0x40,0x07,0xc5,0x0d,0x5d,0xdd,0x22,0x4f,0xf5,0x1a,0xfc,0xdf,0x9c,},{0xf4,0xe2,0x74,0x82,0x3f,0x2c,0x39,0x6f,0x3a,0x32,0x94,0x86,0xaa,0x64,0x10,0xc5,0xff,0x19,0x26,0x6f,0x07,0x70,0xfd,0x04,0xfb,0x14,0xa7,0x60,0x2d,0x2b,0x69,0xa4,0xa2,0xb0,0x09,0x28,0xe9,0xe1,0xd9,0x23,0x89,0xf8,0x03,0x33,0x59,0xed,0x6f,0xb2,0x14,0x64,0x67,0xaa,0x15,0x4c,0xba,0x59,0x7d,0xec,0x6a,0x84,0x17,0x3f,0x8d,0x07,},"\x10\x13\xc6\x0a\x73\x95\x35\x49\xe5\xed\x10\x5b\xde\xa1\x50\xb9\x1e\x60\xec\x39\x20\x0d\x43\x72\x13\x04\xbf\xc8\xec\x43\x9d\x39\x60\x96\x13\xc2\xd8\x78\x04\x4a\x9d\xa0\x1b\x26\xd8\x6d\x6d\x65\xdb\x93\xd9\x1a\x13\x7e\x9c\x48\x08\xa9\x7d\x4e\xf2\x86\xa9\x03\xf3\xf1\x38\x2c\xc6\xd1\x29\x42\x16\xb9\xfa\xfc\x01\x3c\x86\xb9\xff\x68\xb5\x5a\x50\xea\x37\x66\xe6\x1d\xc1\xce\x38\x34\x8e\x91\xd6\x2c\xe7\x32\xc1\x52\xd7\x66\xb9\x33\x5c\x68\xd6\xca\xd7\x7b\xe2\xb4\xa0\xcd\x50\xb9\xa1\xec\x63\x2b\xa5\x56\x48\xa6\xe7\xe1\x1a\x14\xc0\x68\x53\xc0\x2a\xec\x48\x09\xbd\x14\x7a\x5d\xdd\x9f\xbc\x3b\xe9\xf0\xc8\x15\x8d\x84\xab\x67\x95\xd7\x71\xb4\x2b\x18\x14\xa1\x7a\x3c\x7a\x6c\xa0\xf4\xa8\xf7\xb3\xa0\xdb\x1c\x73\xba\x13\xb1\x64\x00\xdf\xec\xbd\x03\xd2\x16\x65\x0e\x4d\x69\x70\x4a\x70\x72\x46\x44\x4d\x57\x91\xfa\x27\x37\x52\xf5\x9c\xb5\xae\x9f\xd4\x16\xa5\x18\x66\x13\xd6\x6a\xfd\xbd\x1c\xe6\x91\xa8\x7b\xd7\xd8\xb6\x71\x90\xe9\xac\x68\x70\x62\xa0\x80\xd2\xec\x39\xfe\x76\xed\x83\x35\x05\x82\x51\x87\x28\x39\xe8\x5e\xb6\x2f\x18\xec\xe1\x87\xca\xba\x55\xb5\xf7\xd5\xed\xca\xde\x01\xcd\xc5\x43\xcc\x67\x7e\x50\x23\x8b\x89\xc5\x63\x5a\xd5\xc8\xfc\x22\x0f\x5e\x0b\xe1\xbc\x66\x7d\x20\x98\x97\x53\xa6\xd6\x16\xfa\x69\xf8\xb1\x29\x40\xb8\xca\x9e\x2c\x48\x57\x71\x32\xd8\x69\x1b\x05\x37\x79\xa1\x52\xcb\xac\xff\x3b\x8b\x1b\xd7\xaf\x69\x2e\x56\xc7\x3b\xba\xe4\x63\x47\x76\xcf\xc2\x13\xc9\x9b\x9a\xe4\x58\xdf\x1b\xef\xc8\xc8\x77\x74\x26\x64\xb0\xa0\xbb\x1f\x69\x15\xc8\xda\xe3\xb3\xf5\x5d\xd7\x5a\xba\x6a\x3b\xcc\x41\x76\xb4\xe3\xba\x03\xd0\xc1\xc0\x4c\x3c\x64\x08\x77\x8b\x2b\x8e\x5a\x8a\x3e\xb5\x2e\xd3\x2a\x74\x28\xc0\x0a\x98\xa5\x89\xd8\xca\x93\x90\xa2\x10\xf4\xa7\xac\x00\x4f\xa1\xfe\x4c\x6d\xa6\x94\xf1\x22\x76\xe3\x20\xb4\x1b\x0b\x59\xf7\x5d\x26\x4a\x39\x6d\x45\x0b\x63\x1a\xb3\x53\xf1\x61\x27\x09\xe7\xa2\xe6\xa5\x0d\x01\xcb\x11\x0e\x53\x04\x05\x46\xdd\x3b\x1e\x11\xd2\x57\x32\x81\x3a\xa7\x6b\xe5\xe8\x1f\xcf\x7a\x57\x73\xf6\x81\x5b\xbd"}, -{{0x60,0xf9,0xa1,0x4c,0xce,0x5d,0x43,0xfd,0x9a,0xab,0x4e,0xe8,0xcc,0x83,0x79,0xd5,0x75,0x94,0x91,0x52,0x69,0x3b,0xf2,0x9a,0x67,0x90,0xb0,0x35,0xe4,0x2a,0x44,0xde,},{0xbd,0x4a,0x70,0x74,0x0d,0x5a,0xca,0xbe,0x49,0xf9,0xa2,0x15,0x20,0x82,0xfa,0x20,0x25,0x33,0x0e,0x64,0x40,0x43,0x7f,0x1d,0x04,0x7f,0x31,0x3d,0xe4,0x90,0xdc,0xa5,},{0x72,0xf5,0x4b,0xb8,0xbd,0xd1,0x7e,0x9e,0x42,0x2c,0xd3,0x39,0x63,0x1d,0xd3,0x9f,0x57,0x35,0x50,0x15,0xd4,0xcb,0xd1,0x5a,0xca,0xb7,0x54,0x2e,0xfd,0x78,0x4a,0x32,0x1c,0x1f,0x61,0x25,0x76,0x4c,0x0d,0x15,0x40,0x45,0xb3,0x2e,0x70,0xdc,0x2e,0x03,0xfb,0xfe,0x11,0x17,0x46,0x8a,0xc3,0xe7,0x31,0x27,0xb5,0xfa,0xc8,0xd4,0x21,0x02,},"\xdd\x7f\x44\xf9\xeb\x72\x8a\xb4\x8d\xe5\x4e\xcd\xe6\xb6\x18\x4b\xd5\xdd\xd8\x70\x75\x45\xa0\x12\x9f\x2e\x90\x59\x05\xb5\x5d\x3e\x7f\xd5\x7e\x28\x48\x5d\x25\x81\x48\xf6\x60\x5e\x23\x77\xd5\xb2\x67\xd2\xea\xf4\xcd\x4b\x46\xe4\x54\x96\x22\x19\x86\x82\x32\xb6\xf4\x1f\x88\xa7\x97\xf9\xcd\xd5\xc3\x9a\xda\x51\xa6\x41\x21\x4f\xb9\xdb\x2c\x2a\x9b\x5a\x5b\x16\xe3\x03\x57\x53\x18\xb6\x25\xcc\xa9\x70\xb7\x43\x48\x72\x79\x02\xa1\xcf\x26\x8b\xd1\x6e\x10\x71\x13\x16\x1c\x8c\xbc\x99\x30\x3c\x2b\x9f\x23\x55\x41\xa7\xb3\x1e\x43\x31\x20\xfe\xba\x14\xfe\xbe\x4b\xcb\x0f\x5b\x93\x6c\x7e\xdd\xdd\x0e\xcf\xc7\x2c\x8d\x38\xf6\x4c\xdb\x6c\xfc\x29\x10\xbc\x29\xa5\x21\xc5\x0a\x51\xab\xcb\xc2\xaa\xbf\x78\x9d\xe8\x22\xcb\x04\xf5\x72\x8f\xee\x15\x3d\xd5\x50\x1b\x2d\xb5\x9c\x59\xf5\x0c\xab\x17\xc2\x92\x16\xd6\x69\x51\x01\x9e\x14\x5b\x36\xfd\x7e\x84\x1b\xfb\xb0\xa3\x28\x55\x4b\x44\xdd\x7e\xf5\x14\x68\xc3\xd5\xb7\xd3\xa1\xf7\xb9\xde\xf5\x8d\x8c\xf9\xd9\xbc\xaf\xe9\x2c\x86\xcf\x6d\x61\x19\xe9\x8d\xba\x6f\x38\xea\x57\xe3\x22\xdd\xc9\xc2\x19\x8d\x4b\xbc\x3b\x94\xea\x13\x29\xdb\x0d\x45\x8e\x01\xc7\x08\x1b\x33\x92\x5a\x3e\x28\x7f\x59\x9a\x85\x8c\x50\xc3\xa8\xf1\x8c\xc2\xaa\x63\x4d\xf6\x3e\x7f\x10\xe4\x03\xad\xea\xb2\xf4\x1d\xb5\x57\x87\x90\xc3\xb4\xf0\x41\xa8\xb7\xa4\xf6\x9c\xd6\xe0\x62\x15\xdf\x82\x01\xae\x5b\x3e\x1d\x1d\x25\xa0\xa3\x9b\xfc\x3d\x04\x1a\x2f\x98\x21\x3e\xf4\x14\x12\x45\x79\x2a\x76\xf0\x6d\x4d\xe2\x5f\x64\x67\xa0\xe5\x6f\x2f\x5c\xf6\x94\x00\xd2\x21\x17\xde\x7b\x46\x14\x95\x54\xb7\x0c\x75\xb9\xf9\x94\x84\xa4\xf6\xf0\x35\xad\x3f\x10\xe3\x75\x3c\xb1\x4f\x4f\x39\x8d\xcf\x6a\x64\xd1\x0c\xf6\xc4\xfa\xc0\x7c\x91\x19\x3c\xc0\xf5\x4f\x0d\xe5\x8c\x63\x43\xe9\xca\xaa\x6b\x4f\x47\x5e\xf9\x1a\x59\xe0\x83\xf9\xf2\x11\xf5\xbc\x8e\x7e\x45\x16\xb4\x5c\xf0\x6b\xf5\x0b\xeb\x8f\xc4\xab\x57\x9d\x86\xd4\xa4\x19\x0e\xea\xc7\x48\xd0\x6e\x08\x52\xc4\xb9\xba\x8c\xfc\x50\xdd\x0a\x03\x7a\x7b\xad\x7f\xad\x55\xaf\x30\x9a\x5f\x13\xd4\xc9\x1e\xd3\xe0"}, -{{0xa3,0x90,0x53,0xc5,0xc5,0x8b,0xf3,0x1d,0x46,0x2b,0x27,0xa6,0x20,0xb0,0xb3,0x7b,0x80,0x52,0xc6,0xb1,0xc4,0x10,0x2b,0x61,0x45,0x66,0x3a,0xa1,0x5e,0x97,0x87,0x18,},{0x36,0x42,0xac,0x2a,0x32,0x80,0xdc,0xe5,0x2a,0xd8,0xdf,0xcf,0xd3,0x70,0x94,0x36,0xed,0xc4,0xe7,0xe4,0xae,0x1b,0x45,0x2d,0x9b,0x22,0x07,0x80,0xb0,0x86,0x79,0xfa,},{0xf7,0x38,0x3e,0x96,0x6c,0xb2,0x30,0x9d,0xee,0xdf,0x86,0x01,0x00,0x18,0x3a,0xae,0xfa,0xc6,0x72,0xca,0x16,0xd5,0x41,0x9c,0xd6,0x42,0x2c,0xa7,0x0e,0x16,0xb3,0x97,0x6f,0x5f,0x16,0x5a,0xfc,0x27,0x86,0x11,0x7c,0x86,0x82,0x34,0xba,0x11,0x09,0xed,0xe0,0x31,0xf8,0x97,0x9b,0x50,0xe5,0x67,0x35,0x8b,0xd4,0xf8,0xbd,0x95,0x82,0x02,},"\xf6\x55\x40\xd3\xab\xeb\x1e\xe5\xea\x98\x70\x62\xc1\xb5\x79\x51\x6d\x3c\x29\xc3\x9c\xbc\x6b\x09\xd6\x0e\x18\xfe\x27\x4c\x2b\xef\xe0\xf5\xfe\x7d\xbd\x57\xc2\xd5\x83\x52\x29\xbb\x75\x4e\xc4\x34\x13\x94\x76\x57\x76\xd6\xa9\x17\x8c\x4e\x6a\x31\x2c\xd7\x4b\xdb\xac\xa0\xe8\x82\x70\x62\x8c\xd8\x41\x00\xf4\x72\xb0\x75\xf9\x36\x92\x83\x01\x22\xf0\x0f\x9b\xd9\x1a\xc5\x82\x83\x6c\x8b\xfa\x71\x4a\xa4\x8e\x97\x70\x03\x55\x6e\x1b\x69\x6d\xf3\x28\xef\x58\x4f\x41\x3f\x8a\xb6\x14\x76\x06\x99\xc4\xd1\x47\xc3\xee\xa1\xda\x04\x35\x83\x5c\x9b\xf7\xad\x54\x60\x6f\x02\x13\xeb\x74\xa1\xb4\x76\x14\x15\x06\xae\x2c\xd1\x24\xcd\x51\xd6\x6e\x7e\x7e\x57\x95\x60\x57\x63\x05\xc5\xfb\xe8\x43\x0b\xe3\xeb\xeb\xaa\xcb\xa3\xf9\x98\x9d\xd7\xd1\x99\xf5\xa4\x55\xa5\x0c\xdb\x37\x55\x03\x7e\x1a\x70\x67\x4a\x4f\xef\x40\xb4\xa3\xaa\xf7\xbd\x3c\x95\xb1\xab\x41\xbb\x20\x62\x11\xc3\xa1\x27\x6d\x3e\x37\xd8\xa3\xa5\xc3\xd5\xd0\xf3\x6e\xf5\xb4\xf3\xde\x26\xb7\xf2\x0f\x6b\x29\x00\x71\x6d\xcc\x22\xab\x73\x4e\xba\xf1\xe8\xd0\x00\x20\xe5\xf0\x19\x55\x16\x53\xb9\xc2\xf7\x0a\x40\x38\xdf\xb2\xf1\x2d\x25\xd6\xd8\x4e\x79\x07\x3a\x65\x48\xfe\x15\xe4\x82\x8f\xe5\xde\x83\xac\x3d\x8d\x98\xb7\xda\xf9\x27\x10\x48\x2c\x37\xf7\xbd\x24\x31\xa8\x11\x4c\x61\x37\x65\x7b\xb1\x77\x88\x2d\x8a\x3c\x76\xba\xbf\x1c\x67\x1a\x70\x55\x36\x5f\xe9\x08\x66\x16\x7a\x2d\x1d\xbc\x87\x0b\xe8\x3b\x36\x01\xf0\x9d\x4a\x31\x7a\xe2\x54\xca\xc9\xf9\x8d\xcc\x7a\xea\xd9\x22\x4c\xd9\xc9\xd8\xa2\x00\xab\xc8\x0a\x2d\xd1\x08\xaf\x28\xfd\x46\xad\x70\x80\xae\x74\x1b\x50\x05\x4b\x9b\x9a\x92\x01\xef\xb7\x83\x8b\xc4\xc5\xc2\xcc\x3d\x76\xba\x0f\xcc\x49\xc4\x6e\x79\x2c\x26\x29\x2b\x7d\x03\x12\xaf\xf9\x55\xa9\xf8\xed\xf0\xc6\x96\xa7\x0a\x61\x4f\x35\x53\xad\x38\x69\xbf\xde\x48\xd2\x6a\x4d\x36\x7b\x6c\xec\x05\x7e\x62\xa4\xe5\x48\x55\x4b\x48\xb5\x3e\xcd\xa7\x90\xba\x7a\x0a\xb2\xe3\xde\x58\x7b\xdc\x22\xb0\x2f\x59\x47\x63\x4d\x73\x09\x9f\x54\x7d\xb2\x2e\xc1\xbb\xf8\x23\x43\xf9\xa2\xca\x38\xbc\xe4\xeb\x59\xbe"}, -{{0xe0,0xc2,0x9d,0xf4,0xde,0x45,0xc4,0x75,0x39,0xe0,0x89,0x6b,0x3a,0x59,0xbc,0x3d,0xe6,0xb8,0x02,0xfd,0x14,0xdb,0xdc,0x9f,0x25,0xe7,0x17,0xac,0x82,0xc3,0x28,0xf3,},{0xa6,0x90,0x02,0xb0,0xf5,0xef,0x35,0x4c,0xe3,0xb2,0xd6,0xb8,0xd8,0xba,0x70,0xab,0x77,0x84,0x32,0xb2,0x2f,0x14,0x4d,0xc9,0xc2,0xeb,0x92,0xd9,0x9d,0x99,0xdd,0x2a,},{0xbb,0x3b,0x8c,0x5c,0x27,0x59,0x1f,0xd8,0xb9,0xc5,0xba,0x48,0x9d,0x6b,0x6e,0xe5,0xb0,0xfb,0x4a,0x7b,0x0d,0xe5,0x1f,0x16,0x39,0xaf,0xc6,0x73,0xd0,0xe5,0xf7,0x5e,0x31,0x3a,0xa7,0xe1,0xd0,0x00,0x90,0x81,0xdb,0xca,0x74,0x35,0xb6,0x87,0xcc,0xd1,0x2f,0x64,0xf7,0x4a,0x38,0x6e,0x77,0x2b,0x9e,0x24,0x78,0x1b,0x92,0x5c,0x8c,0x0c,},"\x6a\x37\xcb\x4c\x74\x9c\x58\x35\x90\xc8\xd8\x49\xbc\xe3\xfa\x65\x7f\x10\x00\x91\x90\xca\xd9\xbe\x41\xed\xe1\x9b\xf2\xfd\xb3\xc5\x62\xa6\x10\x1f\x27\xbd\x37\xf2\x23\xca\xb1\x3c\xed\x24\x5a\x1c\xed\xf8\x52\xf5\x51\xf8\x57\xaa\xd9\x72\x7f\x62\xc9\x67\xc0\xa9\x21\xdf\x11\x6f\x48\xa8\x0a\x60\x40\xb3\xc7\x23\xab\x5c\xb5\x94\xc4\x50\x7a\x3d\x20\xcd\x60\x51\x4e\x22\x16\x4a\x82\xb7\x4f\x19\xdc\xfd\xd8\x3c\x57\xbc\x36\x52\x37\x55\x17\x41\x4a\xf5\xd1\x8e\x0a\x64\xcc\xab\x36\x69\x97\x68\xd0\x7c\xf4\x0b\x70\x63\xa8\x3e\x43\xd5\xf6\x07\x96\x4b\x1b\xf0\x84\x0a\x45\xad\x50\xab\xf8\x3d\xbc\x84\x9f\x40\xe5\xb4\xcf\xb6\xa3\x34\x7b\x29\xfe\xc5\x07\x74\x04\x6a\x4b\x50\x04\x10\x32\xaa\x4d\x56\x7e\x85\x64\xb3\xee\xd1\x64\x20\x40\x68\x2d\xd8\xae\x7d\x71\x79\x28\x6c\xf6\xe1\x85\x3d\xc8\x7d\x27\xc3\xe9\xe6\x0f\xa4\x7c\xf8\xcb\x2d\xa0\x18\x1d\x53\xee\xc4\x06\x14\xb0\x73\x31\xa4\xfb\x70\x28\x08\x6d\x0b\x1c\xe2\xe1\x11\x5b\x73\xa1\x62\xc5\x27\xbd\xd7\xca\xb5\x33\x5b\x86\x3d\x10\x8b\xe0\x47\xbd\xbc\xa1\x12\xcc\x6e\x77\x6b\xb4\x53\xc3\x17\x31\x43\x88\xbb\x96\x53\xef\xb4\x44\x4b\xf5\xcf\x1e\xc8\xda\x23\xb7\x11\xba\x71\x79\x6c\x0a\xe0\x2b\xa1\xdc\xc8\x38\x45\x50\x78\xc3\x89\x7f\x07\xe9\xe1\x3b\x76\xe4\x92\x74\xc2\xe2\x07\x50\x6b\x00\xa0\xb5\x58\x88\x3a\xa1\x22\xb6\x67\xdb\x9d\x67\x05\x08\x60\x6a\x3f\x54\x32\x06\x36\xcd\x19\xf9\x73\x91\x7f\xb1\x87\x5f\x43\x63\xe2\x20\xf1\xe1\x23\x98\xcc\x6a\xfd\x79\x09\x47\x43\x33\x84\x56\x81\x3a\x58\x26\xad\x3f\x1a\xba\x7c\xd7\xbe\xab\x1f\xe1\x83\x85\x9c\x0c\xc9\xef\x40\xa5\xea\xb9\x12\xca\xf5\x15\xa8\xd4\xc3\xb9\x3d\x64\x1b\x7a\xb3\xe7\x6b\x16\xc1\x29\x71\xac\xe8\x8f\xf3\x3e\x5a\x1e\xd9\xb4\x4e\x45\xdb\x8f\x30\x85\xdb\xf0\x70\xb2\x56\xb0\xd7\x51\x2e\xe1\x06\x94\x32\x60\x3d\x73\x09\x5d\xb8\x74\x9c\xa5\x47\x96\x3b\xd7\x1a\x8a\x68\x4a\xb8\x51\x6b\x14\x6c\x41\x87\x17\x63\x86\xaf\xdf\x6c\xb1\x36\x8a\x3d\xd8\xfc\xb2\xcf\xff\x77\x05\x6a\xaf\x78\x23\xf8\x00\xb2\x66\xac\xce\x72\xbf\x64\x3c\x6d\x0c\x28\xf0\xab"}, -{{0x19,0x8b,0x5f,0xd1,0xc0,0x38,0x27,0xe0,0x99,0x4a,0xd5,0xbf,0xee,0x9b,0x5b,0x7b,0xe9,0x96,0x6c,0x9c,0x3a,0x26,0x7e,0x4d,0x74,0x30,0x34,0x37,0x67,0x40,0x3c,0x67,},{0x66,0x82,0xc6,0xf1,0xa8,0x66,0xb4,0x9b,0x2f,0x8e,0xe9,0x7f,0x2e,0x53,0x2f,0xa9,0x16,0x66,0xbf,0x38,0xda,0x1b,0x4d,0xd6,0x55,0x43,0xa1,0x77,0x77,0x94,0xcb,0xee,},{0xf4,0x54,0xf3,0x5b,0x18,0x53,0x8f,0x87,0x7e,0x5d,0x61,0x4a,0x76,0xb5,0x27,0x6a,0x27,0xfc,0x0b,0x43,0x3f,0x21,0x5d,0xc4,0xe9,0x63,0xb3,0xf0,0x47,0x69,0x4c,0x78,0x0c,0x51,0x5c,0x6e,0xf6,0xfe,0x2d,0xb4,0xb0,0x09,0x00,0x9b,0xc2,0x73,0x3a,0xec,0x4f,0xd4,0x6e,0x61,0x53,0x57,0xcc,0x0b,0xcc,0x9f,0x1f,0x7f,0xc2,0x1e,0x3c,0x02,},"\x3f\xda\xa1\x5c\x46\xf2\x51\x43\xdb\x97\x20\x79\xd7\x01\x3c\x7f\x69\xa1\x36\xf4\x5f\x3f\x6b\xa2\xce\xd8\xb8\x28\x46\x8e\xb3\xda\xa6\xb5\x0b\x4f\x8d\x33\x80\xfe\xc6\x4a\x03\x43\xbe\x11\x6f\x6f\x83\xb6\xee\x64\xcc\x4c\x1b\x1d\x08\xd5\x4f\xd4\x20\x29\xe4\x28\x5c\xfc\x6c\x6d\xd5\xcd\x18\x1a\xb5\x33\xff\xcd\x41\x1f\x23\xa1\x00\x3d\xa9\x4e\xc9\x34\x0e\x2e\xc7\x11\x99\xd6\x78\x54\x0d\x51\x82\xe1\x39\xff\xcb\xc5\x05\xa1\x70\xb8\xf0\x7f\x4a\x7e\x69\x4c\xa9\x2f\x58\x32\x0c\x0a\x07\x85\x64\xce\x9d\xe9\x9b\x0f\xa8\xe6\x6b\x0d\x82\x2e\x46\x7a\x5a\xeb\x83\x56\x79\x96\xa4\x8b\x89\xdb\x25\xca\xde\x64\x57\x79\x4e\x54\x14\xd6\x7e\x9d\x4a\xb7\xcd\x6c\xc2\x05\x8b\xb7\xa5\x13\xab\xd7\x09\xf4\xca\xf2\x4b\xb6\x7c\xe1\xc0\x3a\xb6\x2d\xbd\xfe\x30\x9e\xc7\xdb\x0f\xa3\xea\x7a\xae\x82\x36\xf2\x59\xb9\x22\xd4\x53\x61\x15\xa6\x3b\xc8\x9a\xcb\x20\x51\xd0\x9e\x73\x1c\xbb\x0d\xf1\x57\xd9\xd3\x45\xbd\x91\x09\x97\x3c\x2b\x59\x4f\x14\x8e\xfc\x6f\x33\x77\xde\x51\x63\xb7\xf6\x98\x69\xff\xef\x85\x3e\xae\xfe\xb4\x02\xe2\x35\x29\x59\x4f\xbd\x65\xca\x05\xfe\x40\x62\xc5\x29\xd8\xe3\x21\xab\xc0\x52\x00\xca\xc1\xe8\x39\xe8\x7b\x1f\xd3\xfd\xf0\x21\xd6\x8c\xbb\x3a\x41\x42\xb6\x9c\xc3\xaf\x6f\x63\x2e\xdd\x65\xb8\x3f\x5a\xa4\xcb\x17\xda\x5b\x6b\xa3\xfc\x03\xed\xb1\x7c\x2a\x3c\xb5\xb0\x48\x36\xe7\x66\x0e\x63\xc8\xa0\x48\x3e\x24\x39\x83\x37\x1d\xfa\x98\x39\xf9\x16\x4a\xd4\xda\x0d\x59\x53\x65\x5e\x3a\x95\x18\xe1\x36\xda\x74\x57\x37\xc7\x92\x43\xc3\x55\xfc\x12\x5c\xbd\xcc\x76\xae\xc9\x22\x16\x84\x6c\x45\x74\xf4\xf7\xf2\x98\xbc\xde\x54\xfd\x24\x44\xad\x30\x25\x95\x5c\x10\x03\x15\xde\x5a\x4e\x27\xc3\x33\xa0\x02\x84\xb2\xf7\x02\xfd\xd3\xde\x22\xac\x6c\x24\x0d\xbc\x14\xbf\x71\xe6\x2d\x13\x1b\x62\xf2\xdb\x99\x24\x73\xf2\xf9\x13\xf6\x0c\x91\x6e\xcf\x57\xdf\x5f\x3f\x02\x1f\xb3\x30\x83\x43\x95\xb7\x94\x72\xca\xff\x19\xfc\xfa\x0a\x27\x17\x95\xc7\x6d\x69\xb4\xdb\x3f\x85\xb8\xd2\xe5\xc3\x44\x19\x65\x48\x4d\xcc\x39\xab\xa5\x9b\x70\x12\x74\xf7\xfc\x42\x52\x46\x85\x60\x69"}, -{{0x43,0x92,0xf7,0xd4,0xfb,0xd6,0x8f,0xe1,0x54,0xe4,0xba,0x38,0xad,0x52,0x07,0x61,0x2a,0x06,0x48,0x55,0x60,0x56,0xc3,0x9a,0xc1,0x16,0xad,0x46,0x8f,0x89,0xbd,0x2d,},{0xcb,0xea,0xef,0x41,0xac,0xac,0x02,0xbf,0x1f,0x78,0x0c,0xe9,0x34,0xaa,0xbd,0x63,0x13,0x64,0xb3,0x69,0x56,0x7b,0xe1,0xbe,0x28,0xe3,0x90,0x6f,0x9d,0xb1,0x20,0xfa,},{0x86,0xe7,0xcc,0xf0,0x6e,0x79,0x36,0x2d,0x40,0xcd,0xb7,0xfb,0x75,0xa9,0x89,0x78,0xbb,0xd3,0x34,0xa1,0xdb,0x75,0x90,0x36,0x7d,0x60,0x84,0x9b,0xd5,0x3e,0x2f,0xb1,0xa4,0xbd,0xae,0x59,0x0d,0x1f,0x47,0xb5,0x49,0x0d,0x87,0x02,0xe7,0xc1,0xa8,0x72,0x68,0xb8,0xee,0x9d,0xb6,0x12,0xde,0x7b,0xdc,0x2e,0x38,0xfa,0x6d,0xeb,0x7e,0x05,},"\xcf\x17\x09\xdc\x9a\x08\x67\xee\x90\x87\x21\xb1\x36\xcb\x93\xa8\x42\x29\xe8\x3b\x46\x20\x47\x77\xca\x81\x94\xd0\x8b\x7a\x3c\xa9\xc9\x12\xeb\x24\x3e\x5b\xda\xbf\xee\xd3\x52\x34\x9d\x20\xbe\x80\x1b\x72\x2a\xf0\x89\x22\x38\xe7\x2e\xdf\x19\x0e\x63\x61\xf5\x75\x72\x78\x1a\xd3\xc2\x59\x0b\x19\x73\x57\x64\x1c\x80\x53\x83\xba\xa1\xd4\x97\x2f\x76\xc6\x54\x48\x53\x2c\x11\x08\x34\xa0\xba\xa8\xf4\x88\x63\xe1\x66\xb7\x06\x65\x37\x08\xcd\x40\x57\xd3\xa4\xf9\xfc\xb2\xce\xb4\x12\x00\x01\x27\x7d\x38\xc4\x38\x47\xd8\x22\x82\x2b\x77\x7c\x2b\xb4\xda\x40\x15\xa1\xc2\x4d\x41\x6d\x50\x62\xa8\x71\x84\x91\xd8\x55\xaa\xa5\xdb\xf5\x57\x9c\x16\x4d\x8e\x52\x4a\x9f\x2f\xa3\xf2\x2e\xb0\x98\x61\xff\xe6\xad\x65\x9f\xe3\x6e\xb4\x04\x31\x22\x2c\x22\xd7\x13\x7a\x6c\xab\xca\x8d\xb7\x86\xe3\x9d\x81\xf6\x61\xaf\xde\x4e\x39\x58\x9b\x4d\xb4\xd3\xc5\x1c\xa5\x35\x90\xa1\x4e\x11\x5d\x0a\xfc\x3a\x87\x7b\x83\x9a\x96\x38\xbe\xce\x80\xc3\x2c\x19\xe5\x1b\x75\x32\x02\x48\x45\xf7\x6c\xfe\x9b\xfb\x2a\xc0\x51\x30\xf6\x75\x8b\xf7\xfe\x99\x3a\xa9\x3a\xa2\x72\xe4\xe6\xbd\x0c\x75\xc1\x40\x99\xd4\x3e\x65\x2a\x22\x3e\x5b\xcd\x64\xc3\x62\xd4\xb8\xf4\xb9\x5e\x01\x6f\x93\x50\xc7\xfa\x74\xe6\x53\x52\x5d\x08\x01\x15\x58\xb2\xc6\xe9\xbf\x4f\xdf\x9d\xbd\x5e\xf9\xb0\x9b\xbc\x84\x6a\xfc\x2b\xcb\xc8\x6c\x4c\xcc\x31\x5f\x6d\x1c\xcd\x48\x9b\x0c\xf8\xed\x0d\x93\xf2\xf5\x32\xa4\x26\x26\x5c\x59\x0b\xa3\xa5\x90\x23\x34\x7d\x81\x9d\x9b\x28\x1e\xf8\x53\x10\xb0\x53\x16\xd4\x6c\x8a\x8c\x03\x65\xd0\x68\xa8\x70\x86\x64\xea\x4d\x77\xac\x0c\xd1\x50\xa6\x5a\x56\x58\x6b\xab\xd3\x4b\x74\x36\x5b\xb8\xfe\x3e\x61\x87\x26\x22\x84\xd6\x44\x32\xe4\xc8\x1e\xa4\xc0\xe5\x7c\x1d\x71\xae\x98\x0c\x7f\x4d\x1d\x87\x10\x32\xe1\x88\xbb\xf9\xd1\x75\x8c\xdc\x1d\xff\x98\x9f\x2d\x12\x88\xfe\xf4\xe2\x05\xe9\x9e\x7c\xbf\x2c\xc3\x24\xb8\xc9\x30\x46\xf4\x76\xc5\x9d\x3d\x0a\x59\xdb\x6f\xe3\x73\x82\xdc\x79\xc5\xec\x16\x05\x6a\xb3\x93\x4a\x52\xf7\xd2\x88\x0d\x04\x71\xa3\x77\xb6\xa8\xae\x84\xd5\x6a\xc2\x2d\x1d\x54\x55\x1c"}, -{{0x0b,0xea,0x98,0xab,0xe7,0xd6,0x3f,0x15,0x83,0x90,0xee,0x66,0x8a,0xa0,0x50,0xe8,0x4a,0x25,0xd2,0x89,0x3e,0x49,0xfc,0x83,0xf0,0x79,0xf9,0xbb,0xa6,0xa5,0x5a,0x75,},{0x22,0x19,0x2e,0xc0,0xd3,0x2e,0xf9,0x83,0x56,0x65,0xa6,0x1b,0xc8,0x8b,0xcf,0x4e,0x16,0x04,0x63,0x79,0x21,0x15,0x2c,0x11,0x6a,0xf5,0x03,0x36,0x5b,0xf6,0xbe,0x42,},{0x7e,0xb3,0x13,0x9b,0x88,0x0f,0xdf,0x66,0x37,0x6a,0x20,0x90,0x81,0x88,0x40,0x04,0x97,0x67,0xc8,0x37,0xf3,0xad,0x00,0x36,0xb1,0x41,0x66,0x70,0x52,0xb3,0x36,0x09,0x81,0x7c,0xa5,0xe2,0x40,0xed,0x8c,0xdf,0x3c,0xcf,0x3a,0xee,0x29,0x27,0x45,0x34,0x59,0x4d,0xb0,0xb4,0xcc,0xc5,0xc6,0xe5,0xbb,0xa3,0x28,0x0b,0x87,0x3f,0x29,0x01,},"\xc1\x78\xe3\x8d\x4e\x83\xed\x2b\xe5\x7c\xe1\xc3\xab\x64\x25\x3a\x81\x71\xe6\x10\x00\x81\x81\xfb\xfc\x6d\x75\x22\x69\xf7\xf1\xc5\xa9\xec\x62\xcb\x27\xf1\x9a\xd9\x9c\xe1\xf5\x11\x6a\x36\x3d\x96\xfd\xc5\xa4\x2f\x35\x8b\x6d\xbe\x7c\xab\xdf\xc9\xf6\x07\x18\xe4\x01\x2c\x1b\xb1\xf8\x42\xc5\x56\x08\x11\xba\x83\x74\xa0\x63\x77\x47\xff\x92\xea\xc2\x1c\xa6\x5d\xde\xaf\x43\xe9\x98\x9b\x7d\xe2\xd4\x32\x52\x0a\xfe\xe3\x64\xec\xfb\xa4\xda\x66\x9a\xd4\x89\x3d\x0b\xf6\x9f\x9f\x81\xe7\xdf\x69\x65\x7b\xe2\x2b\x92\x06\x97\x45\xf2\x16\xc2\x42\xcc\xd4\x6d\x02\xd3\x56\x16\xe1\x6c\x75\x5e\x0e\x37\xf9\x61\xa6\xf3\x63\x77\x52\x53\x4f\x6d\xfa\xb8\x80\x5a\xb7\x59\xa0\x32\xa4\xe7\xe4\xc8\x19\x53\x32\x5a\x2f\x68\x6b\xb6\x9a\x02\x9c\xe4\xe0\x3b\xec\xb3\x60\x56\x37\xc5\xa6\x5b\x52\xe3\x31\xc2\x6c\x92\x6e\xd4\x71\x1a\x50\x4d\x37\x33\xbb\x53\xc9\x7b\x80\xea\xfe\x4e\x75\xdd\xd9\xf4\x15\x36\x28\x88\xc3\xd4\xd3\x7b\xae\x0e\x63\xfa\x11\xbf\x75\x56\x66\x43\x7d\x72\xf5\x8c\x91\xd7\xa2\xf8\xcb\x61\x9b\x76\x20\xa0\x70\xb2\x6b\x18\xb4\xd5\x01\x84\xc5\x81\x87\x12\x11\x0e\x36\xd3\xe2\x83\x0f\x6a\x85\x76\xba\x57\xf9\xcc\xcb\x8f\xff\x40\x28\xbf\x8e\xf9\xcb\x81\x48\x25\xbb\xca\x82\x7d\x64\x95\x47\xbf\x6f\x2b\xef\x93\x17\x04\xca\x7f\x6d\xf1\x5f\x78\x01\x55\xed\x46\xea\xa7\xca\x7d\x72\xe2\x24\x34\xca\x04\x83\xbf\xb2\xf7\x90\x2d\xc7\x87\xf6\x17\xeb\x9b\xd4\x1e\xd4\x52\x0a\xdf\xd4\x30\x94\x8c\x71\x08\x05\xa7\x3c\x1b\xa5\x49\x2e\x96\x48\x4c\x4b\xaa\x7d\xa2\x4c\x74\x35\xc4\x6a\x05\x2b\xf3\x51\x5d\x33\xe4\x2d\xce\xf5\x17\xca\xa4\x5f\x36\xc8\x79\x12\x10\x78\xc6\x88\xdd\x10\xd7\x66\x56\xa1\x19\x76\x2b\x6a\x83\x41\x36\xfa\x1f\x8a\x64\x32\x24\xb9\x22\x4c\x54\x3c\xf0\x47\x0b\x3f\x8e\xe0\x17\xd6\x20\xdb\xdc\xc8\x4d\x98\x51\x54\xe9\xd1\xae\x80\xe5\xf1\x43\x87\xb8\x8a\x0f\x6a\x5c\x35\x90\x5a\xa5\x7f\xb3\xab\xeb\x0e\xa6\xec\xcd\xdb\x00\x44\x74\x63\x3c\xc4\x83\xb5\x6b\x8a\x8e\x20\xe8\xf2\xe0\x9e\x97\x9a\xa0\x98\x93\x08\x78\x75\xc6\xb1\x17\xb5\xf1\x38\x47\xad\x8f\xc0\x56\x04\xc4"}, -{{0xc2,0x58,0x78,0xb0,0xd1,0xe0,0x92,0x5c,0x8f,0x5f,0x04,0xa1,0xe5,0x79,0x90,0x80,0x96,0x3c,0x41,0x3a,0x13,0x99,0xc1,0x18,0xaf,0xb1,0x68,0x7c,0x79,0x7f,0x48,0x39,},{0x13,0xac,0x2c,0xad,0x41,0x90,0x8c,0x25,0x5f,0x67,0x1f,0x93,0x93,0x4a,0xe5,0xd7,0xbe,0x32,0x53,0x46,0x72,0x5c,0x8b,0x40,0xdc,0x39,0xea,0x80,0xd7,0x0d,0xdf,0x34,},{0x06,0xf5,0x51,0x98,0xb4,0x19,0x19,0x14,0xb7,0x43,0x06,0xf3,0x8e,0x38,0x13,0x16,0xea,0xc4,0x0b,0x5b,0x5a,0xdb,0x8a,0x31,0x24,0x64,0xf6,0x71,0x75,0xec,0xf6,0x12,0xe0,0x14,0x7b,0x1c,0xef,0x46,0xc2,0x51,0x87,0x50,0xa5,0x60,0x6b,0xb0,0x3b,0xc6,0x46,0x7b,0xb9,0x32,0x15,0x14,0xf6,0x9d,0xcb,0xeb,0xce,0x8f,0x69,0x05,0x80,0x02,},"\x68\x56\xcc\x71\x44\xb6\xbd\xdc\xc4\xb5\x89\x54\xd1\xa2\xe7\x10\x1d\x65\x84\xb5\xd5\xe7\x19\xa0\xae\xa0\xfb\xbd\xf2\x21\xc2\xa2\xaa\xcb\xac\xdc\x40\x20\xc5\xc8\xce\x68\x1f\xf7\x38\x1a\xcd\x60\x7b\x0f\x52\x39\x69\x23\x35\x70\x06\x55\xbe\x2d\x94\xc5\x3d\x7b\x51\x48\xe9\x2a\x2b\xc1\x63\x38\xc2\xf4\xc1\xa7\xd1\xc5\x95\xaf\x62\x2c\x24\x0c\xe5\x79\xa5\xe0\xf5\xb6\x51\xbf\x56\x25\x18\xce\xc8\xaa\x2c\xe4\xb4\xaa\xdb\x1f\x2f\xda\x6c\xf6\x29\x5b\xc3\x78\x03\xb5\x37\x7d\xab\x65\xc9\xb9\xa2\x94\x9f\xdd\x49\xbf\x9d\xdc\x8f\x96\xd2\x60\xff\x95\x1b\xf8\xe8\xcc\xf9\x82\x7e\x68\x69\xc4\x4b\xfd\x97\x33\x58\xce\xfd\xb0\x10\xdb\x5e\x1f\xe5\xdb\xd9\xf5\xd2\xb2\xca\x39\x3c\x17\xd4\x46\xf6\x37\x05\x9e\x69\x2d\x7a\x91\xaa\xdc\xc7\x68\x9f\x5f\x9e\x1b\x30\x52\x17\x5d\x9b\x6b\x20\x8f\x90\x26\x78\x7f\xdb\x66\x78\x3f\x45\x37\x2a\x24\x94\x6b\x1b\xd1\x68\x7b\xf0\xcf\xcc\x81\x74\xeb\xe4\xd3\x2e\x43\x28\x4f\xc7\x8d\x78\x44\xde\x0f\xa2\x2e\x20\x65\xe0\x75\x28\xba\xab\xaf\x01\x5c\xb3\x4d\x62\x9c\x35\x96\xad\x04\x0d\xe3\x1c\x56\x20\xeb\x26\x6d\xef\xa7\x53\x3a\xc0\x40\x19\x98\xe5\x67\x3a\x75\x43\x65\x04\x7d\xeb\xfc\xf7\xe1\x37\xa2\x0d\x16\xcd\xd6\xa5\x52\x19\x82\xf4\x44\xcf\xc3\x42\x93\x97\xc6\x41\xbd\x7e\x74\xa7\x70\xbb\x11\xfc\xb2\x94\x83\xe3\x37\xba\xe5\x16\x9e\xe8\x2d\xa9\xa9\x1a\xdf\x3a\xf6\x7c\xd8\x14\xc2\x82\x5d\x29\x01\x8e\xf0\x35\xea\x86\xf8\xde\x4c\x75\x63\xaa\xf6\x6e\x0c\x75\xd1\x7c\xa6\x8f\x49\xf0\x75\x8e\xc2\xd9\xc5\x17\x9d\x01\xaa\xed\x7d\x45\x15\xe9\x1a\x22\x2b\x0b\x06\xfb\xde\x4f\x07\xa7\xd9\xdf\x2d\xe3\xbc\xae\x37\xca\x2c\x84\x60\xc2\xa6\xb3\x74\x9e\x9b\xda\x36\xd0\x8e\x66\xbc\xc3\x56\xb3\x90\x43\x4b\x4a\x18\xcf\xa4\x5a\xf5\x57\xdc\xa3\xd8\x57\xff\x3a\xd3\x47\xcf\xb0\x7e\x23\x58\xc2\xac\xfd\x5c\xd5\x3b\x3b\x0e\xa2\xa4\x1e\xe5\xc0\x80\x2f\xd4\x73\xdb\x5f\x30\x52\x63\x34\xda\x41\xeb\x4b\xc7\x51\x83\x83\x89\x8a\x0b\x75\x07\xad\x4c\xa2\x89\xd6\x6c\x5e\x2e\xb7\x5c\xf2\x55\xdf\xf3\x12\xcb\x1e\x04\xee\xbe\xb4\x7f\x29\x30\xb9\x0d\x5e\x00\x2e\xb0"}, -{{0x0b,0x2e,0xc6,0x27,0x63,0xf6,0x87,0x59,0x31,0x35,0xda,0x19,0x61,0xef,0x29,0xa2,0x88,0x08,0x96,0x96,0xd9,0x44,0xb2,0x65,0xa5,0xf9,0x68,0x93,0xcd,0x2d,0x82,0x25,},{0xc1,0xe2,0x34,0xfa,0x8b,0xc9,0x6d,0x26,0x8e,0x7a,0xad,0x02,0x8b,0x03,0xf0,0xa9,0x11,0xb6,0x97,0x71,0x5d,0xb3,0xa2,0x1c,0x2f,0xc7,0xdf,0x48,0xec,0xda,0x88,0x75,},{0xff,0x70,0x1f,0x34,0xb3,0x59,0x4d,0xe3,0xb8,0x00,0x45,0xf4,0x29,0xe5,0xe3,0x2d,0xd8,0x8d,0x60,0x51,0xd4,0x19,0x5f,0x16,0x85,0xbe,0x78,0x37,0x66,0xe8,0x01,0x19,0x36,0x8f,0x56,0xb3,0x74,0x97,0x25,0xb9,0x13,0xf1,0x22,0x3f,0x87,0xfb,0x0f,0xb2,0x4d,0x9d,0xfa,0x08,0x41,0xd6,0xa0,0xe2,0xeb,0x1f,0xdd,0xf7,0x75,0xc2,0xd2,0x05,},"\xa8\x34\x34\xc6\x86\x93\xd5\xfc\xed\x91\xbd\xa1\x02\x13\xfc\xd5\x0c\x48\x92\x0b\x90\xce\xe9\xb7\x3a\x9c\x61\x08\x1a\x09\x74\x93\x3f\x4f\xdb\x0a\x67\xe6\x71\xf8\x35\x1b\x0e\xd5\xec\x0f\xe7\xb5\xfb\x0c\x87\x58\x6f\xe5\x82\xff\xb1\xbf\xa2\xdb\x5f\xce\xdd\x33\x02\x42\x82\x34\xb2\xbb\x0e\x72\x6d\xed\xf4\x5b\x13\xa7\x0c\xd3\x5a\xb3\xe2\x99\xd1\x3f\x34\x50\x35\x08\x27\x8c\x44\x58\xee\xa5\xb7\x35\x1b\x05\x83\x6b\xda\xd5\xb0\x5f\x60\xe4\x45\xfc\x65\x73\x7a\xe2\x7d\x2e\x52\xdf\x9c\x39\xe5\xda\x02\x86\x39\x2d\x08\xff\xf7\xec\xb7\x06\x68\x20\xfc\x90\xfc\x8a\x44\xd5\x61\x65\x61\xc5\x0b\x52\x71\x47\x02\x30\x2b\xca\x58\x74\xde\x85\xdb\xa0\x45\x04\x5f\x9f\x0e\x60\x4e\xb8\x6d\x6d\x7f\xbd\x77\x5f\x72\xea\x49\x3b\x2c\x4e\xf7\xc3\xbe\x16\xdb\x2c\xa7\xe4\xd8\xbd\x79\xeb\x20\xcf\xb5\xf0\xf6\xf0\x53\x36\xb7\x5c\xc8\x6d\x21\x9f\x3b\x8f\x2e\x91\xba\x7d\x52\xb6\x4f\xdd\x6a\x66\x64\xf0\x4f\x2f\xba\xb7\x58\xcd\xf9\x84\x16\x86\x91\xc3\x2f\x53\xe8\x61\x6b\x49\xf7\x6a\xb7\xb1\x92\xb9\x00\x90\x30\x82\xcc\x89\x65\x6a\x97\x05\x80\x4c\xc9\xb9\x28\x8a\x3e\x42\x17\x09\x84\xf8\xdc\x45\x4e\x08\x64\xb9\x34\x16\x72\x68\x6a\x17\x8c\x06\x00\x50\x17\x8a\x36\xc6\xd9\x06\xb2\xce\x07\x0d\x8f\xaa\xac\xd9\xa5\x8c\x79\x4a\x5e\xa4\x10\x8b\x4a\x48\x5c\x65\x81\x1c\x2d\xca\x2e\xe7\xbb\x10\xbf\xff\xf7\x5d\x45\x86\xb9\x90\xf4\x37\x63\xa1\x6f\xbc\x0b\x48\xae\x1f\xaf\xb0\x8a\x9a\x36\xfa\x43\x26\x84\x5d\xba\x5b\xa2\xfb\xd3\x2b\xbf\x66\x50\x5c\x5e\x86\x57\xed\x01\x07\xe3\xe1\x61\x44\xef\x31\xfa\x6a\xae\x72\xe7\x74\x09\x74\x83\xf5\x48\x0a\xa4\x55\x40\x56\x8f\xd0\x8c\xba\x0d\x57\x77\x68\x00\x4f\x58\xae\x9b\x95\xbe\x37\x4e\xd7\xf0\x29\x9f\xe7\x21\x27\x5e\x47\x6e\x0b\x9a\xb7\x2d\xc0\x6e\xa3\x28\x38\x4e\x39\xbf\x3a\xc3\x31\xc6\x25\x48\x43\x12\xcd\x9b\x06\xb1\x5a\x29\x54\xd3\x3e\x7a\xab\xa6\xbe\x22\x61\x88\x6c\xa8\x11\xdb\x96\xb1\x14\x3d\x06\xdd\x6e\x0f\x3c\xba\x7a\x1a\xe9\xb9\x4e\xaf\x67\x77\x1b\xb2\xd2\x4e\x2f\x94\xde\x9c\x47\x0f\xcd\xe7\xbf\xdb\x32\xf4\x10\x19\x8b\x5a\xa9\x69\x8e\x32"}, -{{0x89,0x60,0xd7,0xbe,0xe8,0xc6,0xb3,0x9c,0xa5,0x93,0x4d,0x7c,0xdd,0xd1,0x6f,0x16,0xb3,0x66,0x3e,0x6e,0x03,0xe8,0x33,0xc0,0x57,0xe2,0x18,0x1e,0x45,0x97,0xcb,0x68,},{0x43,0x40,0x90,0x95,0xd4,0xf5,0x0f,0x5e,0xdd,0xbd,0x5c,0xd4,0xd2,0x01,0x22,0x98,0xcb,0x41,0xa4,0x0e,0x99,0x49,0x2d,0x5a,0x2d,0xb0,0x8b,0xe5,0x37,0x7e,0xa1,0x83,},{0x72,0x13,0xdd,0x4a,0x79,0xfd,0x54,0xde,0xc0,0xc5,0x48,0xef,0x42,0xe6,0xca,0xe0,0x15,0xbe,0x77,0x80,0x2b,0xf5,0x15,0xcd,0x25,0x82,0x76,0x8f,0x72,0xf5,0x63,0xeb,0xb2,0xda,0x36,0xaf,0x4a,0xae,0xac,0x56,0xbb,0xff,0xc9,0x93,0x2c,0x2e,0x24,0xec,0x95,0xda,0xff,0x00,0xa5,0xf7,0xa0,0xac,0xab,0x9c,0x8b,0xd3,0xc2,0x3b,0xb4,0x0c,},"\x30\x8d\x84\xc7\xa5\xf7\x86\xe5\x63\xe5\xc1\xea\x57\xaa\xb5\xe5\x55\xc0\x09\x97\x74\x9d\x15\xae\xe3\x54\x39\xef\xa6\x45\xda\x2c\x39\x67\x70\x31\x15\xc6\xc6\x3e\xd7\xf9\x47\x85\xc5\x47\x8f\x38\x46\x7b\x86\xe7\x62\x6e\x8f\xff\xa4\xd5\x1a\x2d\xc4\x5e\x6d\xf2\xa3\x5c\xec\x99\x55\x5e\xab\xc9\xf7\xa9\x3e\x2e\x2b\x68\x94\x59\xb4\xe0\xc9\x2b\x35\x15\x62\xc4\x17\xb1\x99\x71\x13\x75\x4e\xa5\x9e\x4a\x91\x51\x07\x28\xff\x30\x71\xa2\xbb\xd1\xf4\x65\xa6\x87\xf6\x7d\xae\x95\x56\x15\x03\x1a\x8a\xd5\x51\xfe\x73\x8a\x26\x0b\xbc\x44\x6b\x48\xdc\xa1\xd9\x79\x05\x1a\xb5\x84\x08\x32\xe1\x9d\x47\x3b\x66\x62\x17\xa9\x18\x39\x80\xd6\xb2\x7e\x3d\x3c\x76\xd9\x36\x65\xba\x23\x93\xe6\xab\x1a\x42\xc3\x90\x4d\x40\x25\x93\x2d\x60\x1a\x20\x2a\x59\xa4\xc4\x9f\xdb\x77\xf0\xe0\x28\x68\x24\x7d\xe5\xaf\xdf\xaa\x1b\x89\x42\x08\xac\x00\xd7\x7c\x6b\xb5\x4c\x6b\x2a\x73\xa4\x76\x57\xe4\x4c\x85\x13\x79\x63\xb5\x75\x21\xaf\x20\x97\x62\x48\xeb\x26\x14\x82\x14\x7c\xdf\x7a\x14\x5c\x36\x43\xe2\x9e\x05\x88\xbf\xda\xe6\xa0\x82\x90\x48\x53\xce\x5a\x10\xd2\x49\x70\xeb\xdf\xb7\xf5\x9d\x5e\xfd\xd6\xa5\xe7\xe0\xd2\x87\x97\x1c\x84\x6a\xcd\x54\xd8\x4d\xd4\x54\x68\xa4\x11\x0b\xab\x6e\xf8\xd9\xa5\xb4\xb2\x42\x67\x88\x90\x0b\x7e\x1a\xdf\xe0\x62\x43\x44\xf9\x8f\xe5\x9e\xf8\xa1\xe6\xc4\x05\xb3\x44\xeb\x97\xbb\x20\x47\x73\x74\x4b\x6a\x2d\x8c\x6e\x65\xd1\x7c\xea\x07\xde\x03\xb7\xf0\xfe\x49\xf1\xa5\x5c\x33\xd5\xf1\x5c\xe5\x5d\xf7\xc9\x56\x1b\x25\x1c\x6a\xc8\x07\xa9\x25\x53\xe1\xce\x91\x70\x12\xdc\xcf\xd6\x9e\x7d\xbd\x03\x8c\x7e\xee\xca\xe9\x86\x23\xf1\x8f\xbb\x65\x0e\x22\x18\xa0\xbc\x0f\xff\x43\xa7\x5a\x11\x64\x48\xbb\x73\x62\xf5\x27\xee\x6b\xc8\xe1\x07\x61\xcc\xcf\x9b\xcf\xc0\xd0\x00\xf2\x12\x7b\x4c\xc1\x92\x11\xd0\x95\xa0\xbd\xaa\x4e\x4b\xe4\x51\x9e\x6c\x84\x45\xea\xb9\xb3\x14\x4a\x45\xca\xb9\x99\x61\x35\xbf\x7f\x75\xa7\x8d\x22\x27\x59\x00\xf4\xce\x1f\x0a\x9e\xac\x13\x63\x64\x10\x30\x62\x89\x3d\xad\x43\x90\x42\x2b\x77\xe5\xf5\xd1\xd9\x4d\x70\x29\xc6\x09\x7b\x35\xca\x64\xa7\xa4\x76\xfc\xc7"}, -{{0xef,0x6b,0x9b,0x51,0xfd,0x4f,0x85,0x86,0xca,0x62,0x65,0x8e,0x04,0x2f,0xc0,0x9a,0x83,0xb9,0x43,0x03,0x35,0x26,0xff,0xc3,0x26,0xc6,0x5e,0xb3,0xa5,0xfb,0x59,0x4b,},{0x1d,0x6e,0xec,0xe8,0x05,0xe0,0x88,0x78,0x21,0x87,0x6b,0x7e,0xd6,0xed,0x5b,0x07,0x14,0xd6,0x46,0xfb,0xec,0xda,0x38,0x76,0x4f,0x94,0xc8,0x15,0x5e,0x61,0xd0,0x04,},{0x71,0xd1,0x71,0x07,0x1c,0xd0,0xfe,0xa1,0xc6,0xa9,0xcf,0xad,0x1f,0x7f,0xd8,0x35,0xe8,0x5f,0xf9,0x06,0x77,0x8b,0xc6,0x34,0x5a,0x4d,0xec,0x43,0x13,0xec,0xc2,0xbf,0xf7,0x55,0xa7,0x17,0xeb,0xd9,0x12,0xa5,0xe0,0x28,0x40,0xac,0x07,0x38,0x42,0xf9,0xbf,0xca,0xa5,0x89,0x13,0xe2,0x60,0xe3,0xc7,0x33,0x93,0xd3,0x66,0x85,0xc7,0x0e,},"\xa8\xf3\xf1\x96\x65\xde\x23\x90\xd5\xcc\x52\xb0\x64\xb4\x85\x12\x73\x67\x74\x86\xd8\xf5\x56\x3b\xb7\xc9\x5f\xa9\x4d\xb3\x35\x61\x61\xee\x62\x22\x21\xf1\x0c\xbb\x1f\xa1\x95\xaa\xc7\x23\x1e\xa7\x16\xd7\x4b\x46\xb3\x7b\xc8\x5a\x70\xdb\xa3\xdf\xaa\x16\x75\x21\x7b\x35\x11\x99\xe7\x4a\x97\x10\x28\xf7\x29\xb7\xae\x2b\x74\xae\x8c\x6b\x3a\x06\x79\xc3\xe3\x29\x68\x02\x84\x4a\xd5\xbb\xa3\x43\xf6\xf9\xf7\xc4\x66\x1b\x4a\x29\xb4\x4f\x17\xe8\x9e\x11\x4f\xb2\x20\xe9\x84\xcd\x98\x0e\x94\xc3\xd2\xbf\x98\x73\xe0\x60\x5c\x92\x30\x17\x44\xa3\x03\x5e\xf0\x46\xba\xd2\x66\x6b\x5c\x63\xeb\xec\xf9\x3c\xc1\x40\x29\x19\x46\xc0\xfa\x17\x03\x40\xce\x39\x50\x92\xde\xed\x79\x84\x13\x52\xfb\xfe\xe0\x3a\x92\x7e\xb4\x58\xf2\xa6\x33\xed\x32\x71\x65\x2f\x5b\x0f\x99\x60\xcd\xf9\x01\x5d\x56\xfd\xab\xd8\x9e\xe7\x1e\x25\x9a\xf6\xeb\x51\x4b\x4c\x1b\xd4\xa6\x66\xf5\xb5\xa3\x5c\x90\xf3\x5b\x14\x94\x57\xaf\x29\x44\xdd\x0a\xa8\xd9\xb5\x42\x28\x3a\x7e\x54\x12\xb7\x75\xe4\x21\xd2\x12\x6f\x89\xbe\xbc\x3c\xa3\x7f\x73\x07\x16\x21\xf1\x32\x1e\xee\x52\xe9\x69\x04\x86\xa3\x3c\xd7\xff\x9c\x99\x67\xfb\x65\xee\x4e\x90\x7b\x6b\x85\x22\x11\x47\x3d\x21\xe9\xd9\x1a\x93\x36\x2a\xc7\x61\x76\x0e\x8c\x7b\xbe\xa4\x86\xc3\xd6\x05\xf9\xe1\x1b\x86\x13\x68\x19\xa7\xab\x3f\x32\xf1\x3f\xfc\xa1\x68\x17\xfe\xd1\x97\xff\x88\x0b\x4d\x6d\x9a\x80\x8f\x7f\x87\x87\x63\xa0\x45\x72\x8d\xf7\x2f\xaa\xa9\x63\xe4\xcb\x1c\x09\xcc\x2b\x2d\xa9\x20\x28\x0c\x83\x66\xb7\xd1\x8b\xf8\x97\x2d\xf1\x6c\xc2\x34\x48\xfb\xe6\xb2\xe6\xe1\x6c\xbb\xf0\x74\x51\x29\x85\x40\x53\x18\x96\x37\xce\x11\x5d\x23\x98\x43\x3c\x15\xd6\xf1\x16\xa2\x05\x33\x48\x24\xaf\x28\x2f\xa7\x58\x49\x4c\x47\x86\x8e\xa8\xf4\xdf\xad\xc7\x05\xe8\x61\xaa\xd2\xeb\x8e\xf3\xdb\xbe\xd2\xa4\x56\x9e\x15\x83\x4a\x76\x0c\xce\x0c\xbb\xc8\x4b\x28\x9e\x77\x9b\x98\x83\x46\xb9\x06\x9c\x74\x4c\x97\xab\x2b\xf4\x2b\x08\x6d\x2f\xb0\xa4\x11\xf5\xce\x99\xf0\x81\x9a\x30\x86\xb4\xfe\x9d\x96\xc7\xc9\x90\x8d\xce\x28\xdf\x1d\xdd\x30\xf3\x50\x1d\xda\xf7\x81\x10\x73\x4f\x9d\xcd\xfe\xc3"}, -{{0xba,0xd4,0x7c,0xd4,0xbd,0x89,0x84,0x90,0x67,0xcc,0xe1,0xe6,0x3c,0x3d,0x91,0xe9,0xb7,0x87,0xae,0xa8,0x58,0x4e,0xdb,0x07,0xf3,0x45,0x1e,0xf6,0x7e,0x7b,0xd7,0x9b,},{0xab,0x0c,0xe9,0xba,0x1d,0x29,0xbd,0xfb,0x85,0xa0,0xe6,0x6b,0x76,0xb5,0xe2,0xe0,0x5f,0xf7,0x32,0x56,0x9e,0x43,0x75,0xcc,0xd7,0x50,0x98,0xe9,0xe7,0x1d,0x17,0xbf,},{0xe5,0x72,0x4a,0x1d,0xd4,0x63,0xa9,0x7d,0x12,0x22,0xc5,0x18,0xc4,0x92,0x5d,0x32,0x22,0x02,0xd1,0x0f,0x04,0xcd,0x07,0x8e,0x77,0x1e,0x0f,0xb3,0x95,0x1d,0xbc,0x14,0x93,0xa2,0x34,0x46,0x07,0x54,0xc3,0xaa,0xe3,0xdf,0x93,0x00,0x8d,0xbb,0xfb,0x31,0x0c,0x99,0x59,0x2b,0xed,0xe7,0x35,0xa4,0xae,0xab,0x03,0x23,0xa1,0x21,0x0d,0x0e,},"\xb5\xa6\x1e\x19\xe4\x86\x3e\x0b\xb5\xf3\xfa\xb6\xc4\x97\x0d\x87\x85\x96\x89\x55\x21\xfa\x1e\x7f\x67\x8c\xaf\xa2\xde\x53\x32\x2f\xd4\x58\xa9\x8a\xa6\xe3\x58\x05\x42\x9f\x65\x12\x91\xb9\x5b\xd9\x95\x0e\x15\x5f\x3a\xda\x0b\x60\x91\x59\xa4\xab\xda\x59\x90\xc0\x4b\xc2\xe7\x64\x42\x2f\xb4\x9e\xf4\x2f\x12\x52\x9f\xf6\xf6\xa8\x20\x29\xff\x01\x85\x66\x2e\x65\x8f\x83\xc5\x46\xee\xd0\x9f\x06\xb5\xa6\x8e\x85\x7c\xda\xd0\xeb\x9e\xc4\xee\xcb\xfd\x88\xf3\x4b\xc8\x09\x90\xf8\x64\x4a\x9b\xfd\xde\x1d\x9f\x3a\x90\xd5\x57\xa8\xb8\x28\xd5\xce\x06\xa6\x4e\x3b\x23\x85\x82\xbb\x4c\xbe\xba\x30\xed\xc4\x9e\x81\x22\xc5\x5e\x95\xba\xdc\xf5\x02\xcc\x56\x78\x69\xc0\x9e\x9f\x46\xc6\xff\x3f\x68\x78\x98\x6b\x1d\xe0\x0b\x72\xa1\x85\x80\x46\xfc\xd3\xa6\xe9\xcd\xaf\x5b\x07\x3c\x56\xf2\x02\x50\x63\xa2\xd1\x78\xbd\x4c\x1e\x8c\xbc\x1e\x6e\x67\x1a\xa9\x7f\xb2\xcb\x4c\xc8\xa6\x2c\x20\xbe\x41\xc7\x76\x37\x2c\x8e\x7b\xe6\x3b\x48\x2e\x6c\x63\xfa\x85\xd7\xcf\xfb\xc1\xb2\x82\x0b\xae\x1f\xc1\x28\x34\x3a\x1e\x20\xfc\xf1\xbc\x35\x02\xee\xe8\x13\x58\xcc\x9a\x74\xc7\x2a\xf6\x35\x30\xf9\x6a\x25\xa6\x04\x64\x8f\xf5\x70\xdf\x1e\xb8\x9d\x1f\xdd\xba\xb2\x86\x79\xba\x2e\x9b\x41\x97\x7e\x9a\x9c\x1c\xae\xcd\xbf\xc3\x61\xa1\xdd\x05\x5e\xc5\x16\x20\xa9\xbb\xdb\xba\xf7\x18\xc9\xcc\x13\x6d\x20\x07\x71\x03\x99\x53\x6d\x13\x33\x24\x85\xec\x38\x87\x97\x85\xe0\xc9\xce\x99\x15\xa8\x02\x51\x37\x39\x90\xa5\x9b\xce\x44\x03\x26\x03\x1a\xb1\xb4\x58\xbf\xa5\xb8\xa4\x79\x3d\xa4\xee\x11\xab\x7a\xf2\x0d\xe2\xa1\x18\xc9\xae\x52\x1a\x41\x7b\x68\x20\x7f\xc8\x85\xe1\x09\xd8\x46\x3e\x9f\x02\x27\x87\xcc\x73\x0d\xb0\xb1\xfa\xae\xd2\x57\xbe\xd9\x01\x71\x08\x85\xb7\x4e\x99\x4f\x54\xf6\xf2\xae\xb6\x4f\x0f\x60\xb5\x9e\xfb\xf2\xe3\xbb\x65\x15\x42\x46\x03\xa1\x13\xc0\xb8\xa3\x1b\xa3\xc1\xe9\xa9\xb8\x11\x8c\x87\xec\x69\x49\xb7\x5f\x49\x62\x7e\xa7\xb1\x32\x88\x89\x39\x11\x04\xd4\xf4\xa3\x89\x2c\xf0\x0f\x26\xa7\x3c\xda\x2a\x40\xf9\xb7\x15\x7a\xfc\x40\x66\x7f\x4a\x04\xf6\x47\xdb\xf9\x39\x06\xb8\x4c\x9a\x35\x16\x4e\x1b\xc9\x02"}, -{{0xca,0xba,0x8e,0x05,0x33,0x11,0x3a,0x4b,0xe1,0x73,0x40,0x8b,0xa8,0x3c,0x0d,0xb7,0x42,0x60,0x80,0x2f,0x91,0x86,0xc3,0x91,0x40,0x26,0x55,0xac,0xde,0x60,0x15,0xcb,},{0x2d,0x7b,0xef,0x61,0x64,0xc2,0x79,0xfa,0x10,0x28,0xa9,0x78,0x8e,0x3e,0x8e,0xe8,0xac,0x15,0xed,0xcf,0x92,0xa5,0x85,0x50,0x62,0x95,0x23,0x10,0xb4,0x68,0x45,0x47,},{0xec,0x35,0xec,0x32,0xc8,0xa4,0x00,0x88,0x27,0xe1,0x78,0x49,0x2b,0x3b,0x8b,0xee,0x22,0xa4,0x95,0x4f,0xc6,0xb2,0x5f,0x4f,0x22,0x5d,0xd7,0xed,0x23,0x69,0x89,0x00,0xde,0x81,0x56,0x75,0x6a,0x8e,0xdc,0x35,0xc5,0x1d,0x10,0xf8,0x2b,0x83,0x0a,0x2a,0x65,0x96,0x76,0xea,0xc9,0x11,0xf9,0x60,0x24,0x47,0x66,0xe0,0xc3,0xc6,0x07,0x05,},"\x24\x13\xa3\x2b\xca\x5c\xe6\xe2\x30\xe5\x65\xeb\x85\x84\x93\xd5\xd0\x4e\x6d\x2e\x2a\x7a\xb1\xf8\x9a\x3b\x42\x33\x11\x67\x6b\xfa\x93\xc6\x7d\xaa\xfd\x1c\xfc\x71\x09\xe0\x40\xba\xc5\x2c\xbf\xe0\x7c\x28\x28\x0b\xb6\xac\xf6\xe3\xa3\x10\x73\xda\xb2\x96\x53\x78\xdd\x77\xf6\x1f\xe9\x24\x71\x35\xc1\xa6\x31\xb7\x9a\xd6\x68\xc9\xea\x1c\xd4\x11\x2d\x8d\x3a\x06\x4c\xc2\x1d\xf3\x2a\xea\xc7\xdd\x71\x8b\x09\x1f\xb6\x91\x5b\x8b\xc0\x63\xbb\x58\x15\xc3\x76\xe0\x14\x76\x31\x2a\x2e\x54\x33\x41\x7a\x7a\x93\x15\xd6\x59\x99\xb0\x2f\xf4\x64\xa4\x74\xa5\x97\xe5\x39\x88\x77\x36\x70\xec\xa4\x6a\x6e\x26\xcf\x96\xe9\x48\x8e\x9e\x63\x44\xbc\x78\x3d\xdf\xb5\x35\xe7\x6b\xb3\xb9\xa6\x03\xff\x4c\x59\xc7\xdb\xe2\xd8\xb6\x19\x8d\x5b\x24\x49\x0b\x4e\xa9\x6c\x95\x95\x9f\xfb\xf3\xd8\x21\x8e\x76\x0d\xaf\x20\xe0\x1e\x2f\x36\xc8\x4b\xb0\x97\x11\x5a\xbd\xde\xe9\x2b\xed\x82\xd1\x6b\x15\xa9\xe1\x92\xe9\x89\x3a\xc6\x38\x46\x1d\xf5\x07\x20\x7b\x0c\xf5\x95\x88\x4d\x8a\x99\xfb\x9c\x70\x45\xf9\xbf\xf7\xb7\x3f\x00\xca\x3f\xd5\x95\xa5\xce\xc2\x92\xad\xb4\x58\xbd\x94\x63\xbe\x12\x04\xd0\x16\x78\xd2\xf4\x38\x9b\x87\x20\x11\x5f\xa5\x97\xc4\x02\xb4\xff\x69\x4b\x71\xce\x4f\x3d\x33\x0d\x5e\x2f\x3c\x3a\xd6\xd9\x6a\x9b\x34\x39\x23\x0f\xc5\x3a\x44\x79\x4c\xda\x59\x55\x57\xc4\x06\xca\x15\x89\xbc\x7b\xe8\x1e\x2d\x79\x63\x60\x33\x25\x3f\xa7\xbd\xd6\x00\xc6\x7f\xc5\x59\x36\xbd\x96\xce\x04\x28\xc3\xeb\x97\xba\xd1\xde\x0a\x5f\xbb\x9b\x67\x51\x57\xde\x5f\x18\xbc\x62\xa7\xc2\x2c\x94\x83\xe2\x80\x2e\x67\x9b\x5b\x8f\x89\xdb\x0f\xc3\x7f\x7c\x71\x50\xad\x5a\xc8\x72\x2c\xeb\x99\x9b\x24\x35\xe6\x99\x72\x17\x09\x23\x36\xef\x1c\x8a\x22\x92\xda\xb9\xa4\x6f\xf8\xa9\xe1\x0d\x33\x55\x76\x5c\xac\x9d\x65\x98\x77\x0f\x4f\x01\xea\x63\x91\x25\xfd\x03\x16\x09\xdd\x1a\x50\x7d\x96\x28\x0c\x7d\x01\xa3\xee\x98\x7e\x9b\x21\x0e\xc8\x74\x4c\xd4\x8c\x74\xf8\xaf\xee\x96\x1e\x8e\xf2\x21\xf8\x26\xa1\xfe\x6e\x7d\xf0\xcb\x15\xad\x7c\x7e\xf4\xa9\x1f\x9d\x0f\x4c\x2e\x1b\xde\xa6\x35\xd2\x75\xfa\xc8\xc4\xbc\x06\x01\xf4\x90\xdb\xdb\xc7\x34"}, -{{0x9b,0xf3,0xfb,0xc7,0x30,0x8b,0x46,0xf6,0x03,0x6b,0xad,0xe0,0xc3,0xca,0x19,0x9f,0xac,0x66,0x2b,0x07,0xf1,0x03,0xbf,0x75,0x18,0x1d,0x52,0xba,0x6a,0x58,0xbe,0x05,},{0x2f,0x6a,0xc6,0xfc,0x33,0xbc,0x06,0x0c,0x1d,0xc3,0xcb,0x9d,0x1a,0x2b,0x91,0x15,0x84,0x5a,0xdd,0xb1,0x6c,0x4b,0x84,0xbe,0x37,0xed,0x33,0xad,0xb3,0xb3,0xd3,0xa8,},{0x0c,0x31,0x36,0xe0,0x1f,0x9b,0xcd,0x99,0xe1,0x0d,0x3d,0x12,0x4b,0x0c,0xdb,0x07,0x72,0xbe,0xc1,0x8a,0x86,0x4b,0xe8,0x1b,0xd1,0xda,0xa4,0x4d,0x81,0x8c,0x3d,0x47,0x0d,0xfa,0xa8,0xab,0x6e,0x9a,0x76,0x1c,0xf0,0x3f,0x93,0xef,0x9c,0xc7,0x82,0x91,0x09,0x6e,0xd6,0xd1,0x0c,0x08,0xfa,0x2f,0xba,0x3b,0xac,0x04,0xdd,0xe2,0x0f,0x0c,},"\xd6\x5e\x36\xa6\xa3\x81\x95\xec\xb9\x1d\xe3\xc8\x48\xb5\x1f\x63\x92\x45\xfa\x2b\xab\xa8\xa6\xf8\x59\x47\x15\x9d\xec\x0e\xd3\xfa\xe8\x0c\x5a\x0f\x8c\x66\xff\x24\x79\x3c\x89\xc0\xc6\x87\x54\x3b\xc6\x33\x54\x7a\x1f\x37\xf7\x30\xd9\x70\x12\xeb\xbd\xc7\xac\x33\x9c\x48\x90\xc0\x85\x6b\xbf\xe2\xba\x29\xb2\x5a\x7a\xa6\xb0\x89\xc0\x33\xfe\xcb\x76\xdb\x62\xdd\x3c\x00\xf6\x42\x1b\x9e\x76\xdd\x0e\xa3\x66\xeb\x2d\x4a\x05\x2e\xe6\xcc\x73\x6e\x38\x19\x19\x1d\x5a\xd7\xa6\x6d\x2b\xe0\x42\xcc\x65\x39\xe5\xf3\x56\x52\xb1\x55\xa7\x27\xf3\x88\x8d\x93\xf9\x3a\x91\x02\x59\x8f\x75\x38\xa9\xab\x7c\x77\x7e\xec\x79\x42\x6a\x60\x75\xd6\xf3\x8d\x64\xc4\x85\x52\x0f\x64\x13\xff\x4d\x35\x8a\x8a\x9c\xbd\xab\x01\xad\xf4\xdb\x02\xad\xae\xa2\x64\x94\xd1\xf5\xd6\x17\x63\x7f\x27\x7f\x8b\x0e\x6e\x7e\x61\xe2\xee\xcc\xdd\x33\x7d\xe2\xba\xf0\xca\x26\x4c\x14\xc8\xcb\x83\x68\x00\x0b\x9c\x71\x43\x85\xf4\x13\x73\x7d\x68\x16\xe2\x12\xca\xe2\xae\xcf\xff\xc3\x2f\xd1\x6d\x46\xc3\xec\xee\x6a\xb0\x74\xc0\xd7\x68\xbd\xfe\x99\xb8\x6c\xbb\xc8\xdf\x9c\x47\xcd\x58\x6d\x46\x58\x71\x26\x8d\x4a\x9d\x1c\x87\x72\x36\xab\x78\xf8\x85\x9c\x11\x4e\x25\x1c\xab\xc4\xbe\x0f\x8b\xc2\x5d\x14\x8c\x5f\x54\x3e\x29\x07\x45\xd1\x18\x03\xe4\x9f\x5b\x53\x19\x3f\xe3\x99\x69\xc0\x39\xb3\xf2\x49\xb3\x2f\x2b\x85\x98\xb6\xac\xf4\xed\x64\xd5\x75\x2b\xb7\x72\xff\x4e\xe0\x0c\xe0\xf8\x5e\xcb\xb4\xcf\xc4\xce\x07\xda\xf2\x80\x98\x68\xc2\x90\x3b\x78\x1e\x12\xa2\x74\x10\x5f\x06\x18\x10\x29\xe4\x7f\x2b\xfb\x21\xf4\x94\x80\xaa\x1e\x44\x47\x15\xc0\xb9\xff\x07\xea\xd8\x89\x75\xd9\x35\x85\xd2\xff\x42\x48\x32\xa9\x78\x3d\x94\x90\x6a\x60\xf8\x77\xae\x1c\x85\xff\x15\x31\x7b\xad\xca\x1e\x61\x31\x74\x33\xc7\xce\x96\x27\x9b\x67\x8e\xc9\xd1\x74\xdd\x08\x70\x08\x0b\x23\x41\x54\xf6\x26\xa5\x34\x62\xcf\xd5\x47\x84\x2e\xab\x87\x05\x60\x5b\x8e\xe8\x85\x72\x9e\xe7\x8d\x18\x33\xaa\x43\xf5\x5a\xc2\x27\x31\x98\x9f\xde\xda\x7d\xc5\xfa\x9c\x01\x98\x5f\x26\x61\xe6\xc7\x32\x6d\x34\x6e\x6d\xb2\x7e\x6f\x92\x1f\xae\x7c\x93\xa2\x17\x0e\x10\xdd\x0c\x46\x0b\xdc"}, -{{0x64,0xe8,0x93,0x04,0xa3,0x35,0xe9,0x03,0xcb,0x36,0xc0,0xbd,0xf1,0xa6,0x41,0x2e,0xf3,0x68,0x46,0x80,0x06,0xb7,0x3d,0x3d,0x2d,0x61,0xcb,0x03,0x0c,0xc5,0xf8,0xd1,},{0xa1,0x80,0xef,0x3a,0x66,0x1c,0x3c,0x47,0x9d,0x5f,0x69,0x80,0x7c,0x90,0x27,0x48,0xe3,0x5e,0x7f,0x72,0x51,0x21,0xe3,0x7a,0x5d,0x91,0xb8,0xbe,0xc8,0x8d,0x83,0xa6,},{0x92,0xeb,0x44,0x54,0x81,0x40,0x01,0xec,0xfc,0x18,0x02,0x5d,0x64,0x21,0xf6,0x46,0x45,0xa5,0xbc,0xbb,0x5c,0xb8,0xfd,0x85,0xc1,0x4d,0x77,0x26,0x17,0xc5,0x03,0xe8,0xbe,0x7d,0x3b,0xcf,0x11,0x7f,0x5e,0x68,0x01,0xd1,0xc3,0xb9,0x6f,0x90,0x90,0xa6,0x6d,0xdc,0x67,0xf8,0xcf,0x8f,0xf0,0xf1,0xc1,0x25,0xb1,0x6b,0x15,0xe2,0xce,0x07,},"\x2f\x51\x07\x4d\x98\x1b\xda\xfa\xfb\x02\xa4\x0f\xe8\x26\xc4\x5f\x31\x71\xc1\xb3\x18\x4d\x8c\x26\x0b\x82\xb8\x41\x1f\xc6\x25\xcb\x02\xcc\xfe\x75\x5d\xc2\x9d\xc7\x89\x5b\xf7\x59\xe6\x1b\x24\x50\xda\x1a\x65\x6a\x38\xd4\xf7\x0d\x2e\xe7\x48\xc5\x18\xc6\x42\x03\x06\xe5\xf0\x1e\xc7\xa0\xff\xe0\xe9\xdc\xeb\x93\xf6\xc0\x77\xb1\x26\x62\x88\x15\x84\xf9\x8c\xe6\xab\x94\x5f\x87\xfc\x6d\x12\x3c\x45\xd6\xcd\xfd\x82\x37\xa1\xce\x36\x35\xb6\x23\xa7\x9d\x02\x0d\xf4\x4c\x74\xb8\x9a\xc1\x4a\x32\x1f\xbf\x33\xa8\xc0\xa2\x55\x9f\xea\x1c\x2b\x15\x60\x76\xb8\x13\x90\x8f\x84\x2e\xbe\x4c\x2b\x94\x90\x89\xe5\x2b\x1a\xe4\x0d\xc6\xe4\xb2\xab\xbc\x43\x9a\x0b\xf7\x23\x69\x67\x9a\xab\x6f\x4c\x00\x01\x8b\xe1\x47\xf7\xc0\xa6\x7b\x96\x79\xee\x88\xa5\x38\x19\xc4\x9f\x7b\x67\x5e\x30\xa8\xb5\xaf\x39\x66\x1e\xe8\xdb\x21\x01\x04\x11\x29\x49\x68\xf8\x8e\x5d\x60\x4d\x0d\x88\xd7\x6a\x7e\x48\x64\xfa\xd3\xa5\x6f\x5f\x62\x4b\xa1\xb3\x4e\xa9\xcb\x72\x08\x50\xaa\xd3\xbd\x4f\x0a\x88\x2a\x7d\x25\xfb\xec\x2b\xb7\xca\x86\xda\x61\x6d\xa9\x6c\x15\x62\xc6\xd6\xa1\xab\xcc\x64\x1e\x1b\x58\xb2\xc1\x78\xe1\xc3\xbc\x8a\x3b\x36\xec\x9e\x14\x4d\xd2\xe7\x5b\x0b\xc8\xc0\x8c\xcb\x0d\x6e\x34\x27\xb0\x32\x2b\x3d\x6a\xb9\x3f\x3f\x60\xb9\xcc\x5b\x61\xda\xd0\x23\x85\xa1\x49\x49\xf9\xb8\x7a\x8e\x3a\xf1\xe0\xe0\xfa\xb7\xa9\xa9\x28\xc7\x53\xfc\x61\x10\x44\x4a\xf7\xcc\xaf\x80\x27\xed\x64\x1b\x9e\xd8\x7f\xa5\xd8\xe1\xf7\x6c\xae\x46\x5d\x57\xa7\x0d\xad\x9e\xbf\xdd\x3c\xe7\x57\x6a\xc4\xde\x89\xd9\x8f\x42\xe2\x82\xad\x87\xad\x6a\x50\x42\x57\x7c\xbb\xbc\x4d\x95\x1e\x2a\x86\x76\xfe\xdc\x8c\xb1\xb1\xbd\xf7\x6c\x3a\x38\x84\x63\x85\xa8\x5a\xa2\x47\x06\xc2\x0a\x8b\x38\x46\x5f\xe2\xae\x0e\x41\xf7\x8e\x61\x4b\x8e\x96\x42\xfe\x24\x71\xa9\x01\x57\x47\xdb\x97\x6e\x0c\x78\x48\xc2\x3f\xf3\xf4\x17\xcb\x05\xa8\xd5\xef\x40\x13\x0a\xdf\x85\x5c\x99\x8a\x62\x10\x4d\x7e\x2f\xb7\xc0\xf9\xaa\x2a\x49\x60\x75\x62\x3c\xed\x2c\x0f\x7e\xec\x10\x14\x7f\xf9\x60\x8a\x8a\x04\x2e\xf9\x81\x17\x45\x9b\x93\x83\x7f\xd1\xb8\xd5\xef\x03\x97\x8e\xad\xa7\x4c\xac"}, -{{0x6f,0x63,0x43,0x87,0xca,0x2c,0x0c,0xb1,0x67,0xa7,0x40,0xd6,0xaf,0xd8,0x9e,0x2a,0x28,0xf5,0x30,0x71,0x84,0xe8,0x1c,0xba,0x3c,0x03,0x70,0x46,0xa5,0xed,0xe2,0x3c,},{0x01,0x1f,0x2a,0x9a,0x11,0x1c,0x38,0xf3,0x49,0x0c,0xad,0x16,0x85,0xbe,0x78,0xec,0xee,0xdc,0x6f,0xac,0x4a,0x32,0x21,0x30,0x1c,0x69,0xc8,0x4b,0x1e,0xc7,0xb3,0xa7,},{0xfd,0x17,0xc6,0x18,0xcd,0xbb,0x5d,0x45,0x9e,0xa2,0xac,0xa8,0x86,0xf0,0x51,0x2c,0x62,0x32,0x51,0x28,0x4a,0xae,0x3a,0x83,0xeb,0x5d,0x7f,0x60,0xda,0x1d,0x9b,0x2b,0xa0,0x83,0xc4,0x55,0xa5,0xe2,0x58,0x3a,0x3c,0xba,0x73,0x6e,0x7b,0x96,0x1b,0xa1,0x9c,0x1c,0xc8,0xdd,0x90,0x74,0x5d,0xa8,0x2a,0x15,0xdf,0xc6,0x62,0xe8,0xe1,0x0d,},"\x86\x5c\x20\xa9\x4a\xc3\xf2\xe3\xbd\x5c\xb8\x5b\xec\x9d\x33\x72\x66\x71\xfe\x01\xf9\xc5\x37\x01\x7d\x59\xc8\xd5\x10\x6e\x43\x36\x0b\xf7\x6f\xc0\x61\x86\x70\x59\x80\xc8\xa8\x7b\xa3\x63\x3a\x4a\x17\x04\x26\xec\xc0\xde\xfb\x6d\xb2\x67\x0f\x5f\x59\x25\x33\x77\x4c\xda\x50\x05\x2a\xe5\x97\xd4\x8d\xea\xcc\x26\x37\x06\x3b\xfd\x51\x9f\x2e\x79\xba\xc8\x17\x75\xbe\xcc\xb1\xab\x2f\x5b\x39\x71\x2e\x2e\x82\x94\x69\xb7\x5a\x2d\x2d\xbd\x08\xaa\x6d\x24\x72\x34\x04\xb2\x5e\xb9\x48\xa4\x83\x4c\x55\x24\x6c\x80\x79\xa8\x2e\xc6\x43\x54\xe8\xc2\x38\x8f\x8c\x5a\x61\x6b\x3c\xdc\x37\x1e\x62\x63\xfa\xbc\x9f\x60\x99\x21\x9e\x86\x15\x85\xfe\x82\xa6\x7d\x61\x0d\xd1\xeb\x5c\x81\xc9\x6b\x5c\xb3\x54\xa6\x89\xfd\x8a\xac\x8d\xb7\x6c\x43\x3f\x0c\xb0\xb3\x1c\xf1\xd8\x55\xb6\xa3\x0a\x3d\x2a\x21\x2e\x9b\x4f\x7d\x7a\xfe\x61\x99\x51\xf9\x8d\x2f\x1b\xa2\xc1\x01\x08\x5b\xa8\x1f\x49\xb3\x60\x37\xcd\x64\x57\xa7\xea\xa8\xf4\xf3\xbe\xdf\x68\xd0\x9f\xc9\xfa\x25\xa9\xd7\x54\xdb\x65\x36\x02\x85\x41\x2d\x1a\x6d\xa5\x37\x88\x90\x5f\xcf\x4e\xfa\x8a\x80\xcd\x86\xca\x48\xb8\x45\x63\x3d\x8c\x31\xc2\xae\x06\xf1\x6c\x4c\x6b\xbb\xe9\xcd\x1a\xfb\x59\xe1\x01\xbe\x50\xe0\x35\x35\xdd\x8a\x65\xe4\x5b\xba\x46\xd4\x5c\xb1\x4b\xad\xfc\x8e\x93\xab\x52\x67\xf4\xe4\x92\xab\x1f\x9a\x95\xe6\x1f\xca\xb8\x1c\xbf\x2b\xd8\x67\xa3\xec\x7b\x4b\xaa\x18\x9a\x0f\x08\x56\x70\x75\x59\x61\x29\xdc\xf9\xff\x1c\x50\x2d\x32\x79\xe8\xaa\x6c\xe5\x6e\xaf\x13\x45\x82\xa9\xe4\x30\xa5\xaa\x8c\xa1\x0c\x3d\xa8\xbc\x79\x3d\x02\x56\xad\x19\xae\xa7\x14\x9f\x0e\xa7\xea\x95\xfa\xcf\xac\x1c\x5c\xfd\x29\xd7\xa3\xfe\x1a\x41\x79\x75\x73\x9e\x14\xda\x8e\xdc\x81\x99\x00\x47\x2c\xa8\xc6\x97\x16\x32\x8e\x8a\x29\x9f\x97\x4e\xdf\xf7\x41\xaa\xbc\x1c\x07\x4a\x76\x1b\x3e\xc8\x76\x1d\xda\x2e\x7e\xed\x7a\xf3\x3e\xf0\x04\x09\x84\x9d\x41\x54\x97\xc5\xed\x5d\xfa\xa2\x25\x9a\x31\xd0\x76\x39\x81\x70\xb2\xd9\xd2\x10\x20\x8b\x4a\x4c\x7d\xb8\xc6\x26\xd1\xc5\x33\x56\x2a\x1f\x95\x48\x9f\x98\x19\xe4\x98\x5f\xc4\xe1\xd1\xa7\x07\xbe\x5e\x82\xb0\x05\x48\x1d\x86\x37\x7f\x42\x4e"}, -{{0x4b,0x2e,0x1a,0xe6,0x0f,0xa5,0xd3,0x83,0xba,0xba,0x54,0xed,0xc1,0x68,0xb9,0xb0,0x5e,0x0d,0x05,0xee,0x9c,0x18,0x13,0x21,0xdb,0xfd,0xdd,0x19,0x83,0x95,0x91,0x54,},{0x36,0xc0,0x20,0xb1,0x85,0x52,0x34,0x56,0x19,0xef,0x88,0x37,0xeb,0x8d,0x54,0x94,0x84,0x0e,0x85,0xf4,0x68,0x09,0x34,0x3b,0x4d,0x6f,0x40,0x61,0x25,0xda,0x55,0x7d,},{0x22,0x20,0x11,0x9e,0x83,0xd6,0x9a,0x6a,0x3e,0xed,0x95,0xfa,0x16,0x6d,0x1d,0x11,0x28,0xa3,0xf2,0x32,0xca,0x1b,0x78,0xbc,0x94,0xb4,0xd4,0x76,0xc4,0x77,0x94,0x43,0x61,0x4b,0x87,0x72,0xaa,0x22,0x32,0xcb,0x07,0x20,0xa0,0x55,0xeb,0x71,0xd8,0x40,0x7f,0x3a,0xb1,0x9b,0xaa,0x1d,0x96,0x2c,0x05,0x2c,0x84,0xc0,0xbd,0x58,0x96,0x08,},"\xfa\xb9\x8b\x2b\xbf\x86\xae\xb0\x50\x86\x81\x2a\x4b\x00\x49\xa1\x04\x2a\xbb\x76\xdf\x9c\xd2\x90\x87\x55\x70\x63\x03\xef\xed\xb1\xad\x21\xe8\xbc\x8d\x75\x62\x34\x9e\x1e\x98\xce\x0d\x75\x2f\x4b\x3d\x99\xe6\x77\x36\x8b\xd0\x8c\x78\xfe\x74\x25\xec\x3b\x56\x0e\x38\x3b\xd4\x2a\xf6\x49\x98\x86\xc3\x5a\xdd\x80\xa5\x82\x8b\x61\xd6\x64\x4d\x7d\xc4\x43\xba\x2c\x06\xf9\xba\xd2\xec\xcb\x98\x3d\x24\x45\x8f\x6a\xda\x1b\x10\xbb\x5b\x77\x17\x2c\x5c\xdd\x56\xd2\x73\xd1\xe4\x10\x10\xb2\x5c\xf4\x8a\x7d\x58\xd7\x25\x57\x02\xac\x12\xf2\xa6\xfe\x29\x18\x46\x63\x95\xf4\x60\xd1\x52\x36\xd0\x35\xae\x94\x10\xca\x86\xc4\x60\x51\x28\x29\x9f\xaa\xf0\x90\x15\xf1\xad\xee\x77\x68\xee\x1a\x8f\x8c\xa0\x6d\x10\xdd\x7f\x95\xc4\x6f\xa1\x02\x53\x06\x5f\x9d\x6f\x90\x29\x59\x08\x80\x9f\xd7\x79\x57\x1b\xe2\x9e\x0a\xe6\x6e\x0b\xcb\xde\xb7\x91\x3d\x2b\xbb\x76\xac\x30\x2f\x34\x52\xc5\x5e\xf1\x99\xa4\x8e\xce\xb0\xe3\x59\x6c\x7b\x4c\x03\x86\xda\xe7\x10\x1e\xa2\x44\xa3\x3c\x4c\xdc\x83\x06\x72\xdf\x83\x65\x5b\x35\x33\x80\x52\x30\x7b\x94\xd2\x23\xca\xb1\xaf\x69\xe0\x7f\x78\xe5\x8c\xbb\x0c\xb3\xc5\x35\x1e\x3a\x6b\x0c\x4a\x92\x7f\x75\x62\xc5\x98\xd2\xd3\xdf\x90\x56\x9f\x61\xdb\x1a\x3c\xb0\x14\x0b\x56\xea\x02\xcf\x77\x45\xfb\xee\xc2\x02\x86\x73\xd6\x7f\x1e\xc5\xf7\xda\xf9\x71\x5f\x75\x4a\x9d\x8e\xd4\x6a\x7a\x63\xef\x72\x2e\xe0\xd5\x89\x93\x31\xb6\x3c\x97\x4f\xa8\x80\x42\x94\x35\x76\x7f\x96\x25\x4e\xf4\x6c\x99\x68\xf3\xfe\xda\xaf\xea\xf3\xe8\xf4\x56\x34\xb5\x4f\x5e\x0a\x5f\xc2\xd2\x37\x3a\xb9\xe9\x8d\x9a\xcf\xe3\x69\x7e\x64\x2a\x18\xe0\xdf\xd9\xfb\xc2\xf0\x94\x86\x6d\x40\x1f\x0a\x4c\xa2\xa4\x56\xed\xf6\xa1\xa7\x7b\x9c\x29\x6c\x39\x22\x06\x7e\xb3\xd5\xa5\xca\x0a\x77\xf4\x30\xe4\xc8\x61\x1d\x8f\x05\xa1\xba\xac\x16\x35\xef\x7b\xa8\x3d\xfc\x69\xd3\x01\x94\x98\x56\xbe\x4d\x2c\x8a\xb6\x1d\xe2\x9c\xf3\x92\x50\xc5\x79\x4c\xbf\x57\x50\xcd\xa9\x5d\x04\x68\xaf\xa2\xb7\xf2\x3d\xba\x4e\xf5\xf5\x29\x5a\x3b\xf4\x14\x00\x18\xb7\xed\x06\x18\x84\x44\x4f\x5b\xb1\xb7\xd2\x39\x31\x2d\xd7\x39\x99\x95\x36\xc6\x84\x45\x6e\xa0\x6b"}, -{{0xb2,0x16,0xce,0xbf,0x87,0x80,0x24,0xc2,0x0d,0xfc,0x86,0xce,0x4b,0x37,0xbd,0xc4,0x7a,0xa2,0x8f,0x29,0x20,0x3b,0x5b,0x44,0x92,0x50,0x65,0xd9,0x93,0xa2,0x59,0xfe,},{0xc3,0x6e,0xdb,0xb6,0x25,0x4a,0x91,0x3f,0x08,0xfe,0x25,0x9e,0x23,0x87,0x80,0x63,0x8f,0x72,0xec,0x0b,0x30,0x07,0x26,0x4b,0xcc,0x60,0xa9,0xe8,0x1e,0xe9,0x29,0x8f,},{0xb7,0x38,0x9e,0xe7,0x8d,0xd9,0x76,0x3f,0x9d,0x28,0x92,0x91,0x2e,0xdc,0xbe,0x3e,0x8a,0x23,0x6b,0x8b,0xdc,0x25,0xf4,0x4b,0x9c,0xfd,0xc8,0xc4,0x7c,0xd5,0x81,0x68,0xab,0x56,0xeb,0x04,0x02,0xa5,0xbd,0x75,0x2a,0xc8,0xf4,0x97,0x8d,0x2e,0xa2,0xb6,0x5d,0x2f,0xa8,0x52,0x65,0x96,0x6b,0x9f,0x57,0x22,0x7e,0xf4,0xa5,0x9a,0xe0,0x09,},"\x9c\x87\x17\xcc\x86\xfe\x02\x48\x0b\xfd\x9e\x92\x2b\xd7\x6b\xff\xee\x21\x70\xc4\xcb\x1b\x13\xdf\x83\x4a\xc0\x1d\x45\x00\x60\x86\x29\x7f\x1b\x8a\x26\xf2\xba\x67\x4d\x33\xe1\xd1\x62\xf1\x93\x67\xfe\xba\x97\x35\x2b\x7d\xf2\xe7\x5b\x30\x9d\x4b\x6f\x8b\x07\xcc\x0e\xb6\x77\x7e\x81\xe2\x68\xe0\x2d\x07\xf2\xa0\x8f\x8f\x39\xd5\xa8\x32\x0b\xfc\x01\xfc\x8c\x92\x27\xd2\xcf\x05\xe1\x28\x91\xff\x4d\xe8\x85\xa1\xc9\x33\x71\xa0\x91\x0b\xa5\x33\x92\xaf\xf9\xba\x2e\xed\x9a\x20\x55\x97\x7e\xc4\x15\x7b\xd6\x5b\x34\xdf\x79\x37\x2f\x4d\x50\xed\xbc\x48\x92\x43\x53\xcf\xa1\x69\x23\x19\xd8\x8a\x7a\x5b\xb7\x26\x25\x4c\x20\x92\x91\xe9\xb1\xd2\xc1\xa6\xc8\x23\x63\x98\x10\x9c\x59\xed\x42\xa0\xac\x9e\x76\x33\xc5\x20\x73\x4e\xcc\xfe\xa4\xfe\xa9\x5a\x47\xa8\xf0\xa0\x68\xb4\x27\x50\x00\x43\x9c\xc9\x7c\x57\x87\x1e\x10\x5c\xc0\x79\x0e\x9d\xcc\x9c\x25\xd5\xaf\x70\x63\xff\xd0\x5c\x4f\x37\x80\xe7\xbc\xa4\xc4\x56\xd0\x17\x0d\xa7\x09\xfc\x6c\xb3\xfa\xa7\x2b\xdc\xf5\x62\x90\x8a\xe9\x34\x0a\xef\x4d\x0c\x8b\x91\xf0\xfb\xcc\xbc\xf1\xcd\x89\x8b\x1c\x71\x6f\x4f\x14\x74\xc3\xaa\x31\x62\x42\xab\xdf\x63\x68\xe5\x7a\x24\x7f\xf2\xfd\x5c\xe2\x3d\x18\x7f\x69\x4f\x11\xe3\x8d\xfb\xfb\xc3\xd9\xdb\x20\x90\x3b\x4e\xbb\x44\x9b\x90\x49\xee\x02\x0f\x6e\x2f\x50\x8e\x8b\x2b\x16\x5b\xad\x74\x64\xdb\xdd\x17\x8c\xbd\x42\x32\x33\x76\x5d\x37\x1e\x7a\xe1\xc3\xe8\x78\xcd\xb5\xb8\x24\xb2\x0c\xb3\x09\x86\x7c\x0e\x47\x3c\x06\x7e\x67\x44\x00\x85\x27\xb6\xbc\x07\x6d\x07\x7f\x48\x67\x62\x2a\xee\xd1\xc2\x53\xdb\xde\x7c\x6a\x76\xc7\x01\x59\x62\xfb\x73\x39\x16\x98\x60\x0b\xb3\x18\xff\xa7\xb0\x13\x6e\xe4\xcc\xb0\x7d\xaa\xf0\x1f\x40\xff\x9c\x19\x4f\x98\x68\x1f\x9f\xae\xf8\xb6\xf9\xe9\x9f\x95\xdf\x00\x80\xda\x89\x66\xa8\xba\x7a\x94\x74\xc5\x37\xb9\x2d\xf9\x79\x9e\x2f\xd1\x6f\x78\x8d\xad\x7a\x7b\xcc\x74\x52\x26\xe1\xe6\x37\x1f\x52\xeb\xcd\xbd\x14\x40\x44\xdd\xfe\x63\x2d\xfc\x0a\x43\xd3\xa4\x50\x92\x31\x70\xeb\xc7\xae\x21\x9e\x50\xe0\x78\xa5\x11\xbc\x12\xef\x14\xcd\x14\xb5\x30\x9f\x38\xab\xd6\x5d\xb2\xb2\xa7\xaf\x22\x43\xb2\x29\xc9\xfd\x2e"}, -{{0xaf,0xce,0xce,0xa9,0x24,0x39,0xe4,0x4a,0x43,0xed,0x61,0xb6,0x73,0x04,0x3d,0xcb,0xc4,0xe3,0x60,0xf2,0xf3,0x0c,0xd0,0x78,0x96,0xcd,0xa2,0x0c,0xb9,0x88,0xd4,0xe3,},{0xd2,0x31,0xf6,0x92,0x35,0xa2,0xe3,0xa1,0xdd,0x5f,0x6c,0x2a,0x9a,0xaf,0x20,0xc0,0x34,0x54,0xb9,0xa2,0x9f,0x4e,0x3a,0x29,0xab,0x94,0x68,0x9d,0x0d,0x72,0x3e,0x50,},{0xa6,0x55,0x45,0xcf,0x3d,0xf4,0x56,0xb2,0x8d,0x83,0xa6,0xd9,0x4c,0x03,0x6a,0x19,0xd0,0xd2,0x9f,0xb0,0x65,0xed,0xc2,0x7e,0x5e,0x93,0xa1,0xf4,0x02,0x79,0x89,0x7e,0x1c,0x6f,0x25,0x95,0x9a,0x72,0x5a,0xba,0xbc,0x87,0xcf,0x2a,0xe7,0x27,0xf3,0x46,0x7b,0x79,0x57,0x0e,0x90,0x27,0x11,0x91,0x71,0x91,0xd9,0xcb,0x0d,0x2d,0x66,0x0c,},"\x0b\x05\xf8\x9e\xbb\x33\x97\x94\x76\x87\xaf\xbe\xf0\xed\xe8\x7c\xf3\x81\x06\x76\x27\x70\x37\x52\x1d\x95\x2a\x3b\xbb\xbd\xc8\x56\x59\x88\xa0\x95\xd8\xd4\xf6\xf5\x9b\xe5\x72\xd3\xd8\x21\xdd\x78\x99\x77\xef\x77\xa2\xfd\x71\x10\xce\xee\xd9\xf3\x75\x6e\xd8\xe1\x88\x26\x7b\x97\xa3\x0e\xf8\x95\x7c\x78\xae\xa3\xa2\x96\x3d\xec\xa6\x18\x60\x54\x5e\x0c\x40\x82\x48\x81\xeb\xb1\xdb\x10\xf6\x07\xe1\x0d\xdb\xdd\xce\x40\x0e\xa2\x36\xba\x47\x45\xaa\x99\xa0\x56\x41\x97\x67\x66\x78\x9e\xd0\xda\x7d\xb5\x5f\xda\xb4\x59\xeb\xd4\xb4\x41\xa6\x28\x2f\x7c\xfd\x5a\x20\xea\x06\xef\xfa\x33\x59\x55\xe5\xfd\x29\x18\x16\x71\xbc\x92\xc0\x00\x52\xf7\xf7\x5c\x39\x27\x7c\x9a\x43\xb7\x87\xac\x9f\xb1\x51\x6e\x99\x62\x32\xa5\x09\x77\x4d\x1d\xc2\x1d\x8c\x05\x13\xf7\x84\x4b\x0a\x5b\x5f\x18\x95\x75\x81\xf9\x90\x44\xa1\x42\x23\xcc\xda\x8a\x28\x4d\xe1\x2f\xd4\x24\x26\x5f\xe5\x7b\x27\x02\x15\xf8\xfa\x9f\xf2\xbe\xa5\x17\x93\x4e\x48\x00\xa4\x7d\x34\x6f\xb6\xc3\x61\xcf\xba\xbe\xff\xab\xd9\xc4\x16\x4f\x45\x15\x6e\x24\x5c\x97\x7e\xdb\x47\x36\x42\xc3\x94\x0b\xe5\xad\x6f\xd1\xa7\x11\x9a\x7b\x18\xe9\x8d\x6d\xc8\x43\xe0\xd2\x54\xc9\x3d\x01\x46\xd1\x8e\x5c\x62\xed\xe1\x49\x0f\x89\xa6\x05\xeb\x45\x4f\x97\x47\x78\xcf\xae\x20\x93\x2e\x95\x47\x7b\xd0\x3b\xcd\xb9\x7d\x5b\xcb\x76\x33\x59\x42\xe9\x2e\xe6\x68\xf2\x31\xe6\x9c\x57\x0a\xc5\x44\x6d\x0f\x77\x40\x66\x73\x7f\xdf\x49\xf1\x0c\xeb\x1b\x52\xd6\xd8\xa4\x63\x98\x46\xa3\x37\x3a\x7c\x6f\x3b\x4b\x31\x59\xfe\x2e\x7a\xf7\xee\xe2\xf0\xdf\x17\x2d\x94\xd2\x55\xd0\x17\x65\x1d\xa3\x00\x90\x05\xe5\xea\xc3\x17\x6c\x09\x38\x9e\xe4\x0d\x70\x38\x3b\xd3\x71\x17\xec\xa0\x83\x59\x8a\x18\x01\xf5\x92\xd0\x57\x18\x6e\x56\x8e\x24\x7c\x25\x2b\xe4\xb1\x4f\x72\x3a\xb7\xdd\xb9\x7a\xe9\x76\x8c\x26\x82\xfd\x63\xac\xc3\x00\x77\x9f\xe0\x4e\x2b\x88\x87\x47\x51\x34\x6c\x9e\x0f\x97\xa2\xa2\x16\x77\x2f\xf9\x62\x5c\x33\xbd\x7e\x29\xfe\xd8\x00\x3a\x08\xdb\xd3\x3b\x5d\x17\x89\x9c\x94\x3c\x25\xe9\x5a\xd7\x54\xfb\x63\x2e\x04\x7c\x11\x2a\xf7\xf7\xce\xba\x72\x36\x2e\x1a\x3d\xdd\x29\x35\xaa\xf7\xf8\x18\xa2\x7c"}, -{{0xb8,0x34,0xc6,0xe0,0xfa,0xcb,0xff,0x58,0x0d,0xd3,0xb2,0x37,0x53,0x95,0x9a,0x4c,0x21,0x54,0xc2,0x19,0x52,0x1b,0x3d,0x27,0x03,0x5d,0x07,0x1f,0x65,0x99,0xbd,0x02,},{0xd1,0xc3,0x84,0x71,0x5e,0x3b,0x3d,0x02,0xc1,0x3e,0x09,0x06,0x05,0x53,0x4c,0x7d,0xb7,0x40,0xda,0x2a,0xa5,0x60,0xf5,0x32,0x00,0xa3,0xce,0xd8,0xbe,0xae,0x8c,0xf8,},{0x0f,0x19,0xb7,0x06,0x6d,0x57,0x92,0x32,0x8a,0x98,0x00,0xd9,0xd4,0xf8,0xf6,0x7d,0x5b,0x08,0x9b,0x54,0x12,0x26,0xa1,0x67,0xda,0xcd,0x43,0x9f,0xa4,0x85,0xb0,0x02,0x5a,0x5d,0xc7,0xf2,0xc7,0xe2,0x3f,0xc4,0xa5,0xc6,0x86,0x9e,0x76,0x19,0xd3,0x56,0x39,0x97,0x00,0xc9,0x36,0x50,0xe8,0x9c,0xd2,0x5b,0x90,0xfb,0x99,0x25,0xe3,0x04,},"\x6c\xf1\x47\xb1\x60\x55\x28\xa3\x6b\xe7\x57\x16\xa1\x4b\x42\x0b\xcf\x06\x7c\x03\xf1\xcf\xe9\xc4\x40\x2f\x14\x98\x7f\xbf\xc9\xd3\xec\xc3\xcc\xf4\xf8\xd2\xd0\x3a\x55\x90\x0b\x8d\xc7\x9a\xf3\xb6\xe7\x74\x36\xf6\x9b\x14\x17\xad\x4b\x68\xfd\x44\xe5\xe3\x33\xed\x90\xea\x79\x43\xfb\xd1\x12\x26\x09\xec\x8f\xf6\xbb\x25\xe4\x2e\x99\x14\xf5\x92\x0f\xc7\x2c\x4d\x01\x3b\x6a\x96\x85\xc9\x96\xfb\xd8\x35\x2a\xaf\xb1\x84\xc2\x2d\x9e\x47\x87\x1a\x52\x80\xe4\xab\x7d\xd6\xa5\xcf\xd1\x0a\x59\x94\xa2\x00\xf6\x70\xe0\xb6\x22\xa9\x39\x4d\x47\x93\xd0\xa4\x20\xe7\xd8\x80\x6c\xb1\x27\xc7\xac\x69\x0d\x45\xa2\xe9\x41\x66\xce\xa6\x72\xbc\xd9\x82\xb0\xe9\xba\xad\x56\x31\x2d\x25\x70\xdd\xde\x7e\x0b\x9e\x7f\x47\x13\x6f\x04\x81\xd0\x0f\x66\xa2\xaa\xca\x4d\x1b\x09\xd7\xce\x6c\x5a\x98\xa7\x6b\x68\xcd\x97\xd5\x79\x39\x68\xd6\x67\x07\x3f\x82\x17\xf9\x05\x47\x35\x34\x0f\x9b\x14\x9c\x0d\xce\x84\x5b\x09\x9e\x88\xd0\x70\x96\x80\xf0\xf7\x76\x03\xff\x0a\x23\x31\xc5\x58\xfc\x36\xd5\xf2\x4d\xa9\xa6\x2d\x69\xaf\x51\x90\xd2\x1b\x5c\x85\x7a\x1e\x08\xf0\x14\xc6\xd4\x56\x46\x86\x65\xa7\xf8\x45\xc6\x6f\x91\x11\xf9\xc0\x98\xc6\x89\x40\xef\xcd\x87\xb6\x57\x07\x0c\xb9\x16\x4b\xc9\x74\x3a\xce\xb7\x43\x9a\x0d\x01\xc0\x06\x2a\x11\xaf\x2e\x11\x34\x93\x97\xf5\xd1\x52\x87\x2b\x13\xc5\xab\x32\xf5\x1c\xc5\x8f\x14\x75\xec\x82\xac\x67\x15\x61\xdc\xbd\x34\x3c\xfb\x3c\x5f\x78\xd0\xfc\x73\x05\x3c\x60\x04\xb0\xa4\xca\x3f\x20\x43\xff\x4b\x0c\x54\x27\x5c\x4f\xcb\x9c\xad\xc6\xba\xab\xe5\x7b\x1d\x5a\xcd\x53\x1e\x97\x2e\xf9\x33\x51\x36\xcd\x1d\x65\x51\x2b\xa1\xf5\xb6\xcc\xc4\xb6\x6b\x42\x50\xaa\xfa\x29\x67\xdd\x42\x11\xa2\x74\x2e\x0f\x17\x7d\x8f\x40\x63\x89\x9f\x61\x81\x5c\xbe\x6d\x8f\xbf\xcd\xf7\x48\x12\xbd\x40\xcc\x10\x08\x4e\x46\xa9\x9a\xc1\x28\x05\x8e\xaf\x16\xa4\x9a\x24\xb6\xae\x22\x8e\xcf\x01\x09\xc5\x2d\xfc\x06\xe3\x7d\x6a\x33\x3b\xcb\x24\xab\xa3\x12\x16\x4c\x6c\x02\x90\x48\x5d\x25\x12\x80\x53\x8c\xe9\x54\x1c\x09\x16\x64\x0e\x36\xd6\x92\x9d\xcd\x95\x88\xeb\x99\x57\x7f\x5f\x6d\x82\xbc\xbb\x19\x88\x26\x26\x7e\x49\xf5\xda\xff\x2c\x0d"}, -{{0x22,0x69,0xa5,0xd8,0xf7,0xac,0x2c,0xd9,0x04,0x8f,0x5f,0x49,0xe3,0x49,0xe5,0xc4,0x35,0xa1,0x59,0xb3,0x19,0xfe,0x3b,0x30,0xbf,0xac,0x8d,0x0d,0x50,0x59,0x43,0xf4,},{0x1c,0x81,0x79,0x43,0xdc,0x39,0xc2,0x4b,0x01,0xda,0x38,0xa4,0x87,0xb1,0x75,0x48,0x24,0x60,0xc6,0x09,0xe4,0x72,0x63,0x49,0xa9,0xaa,0x7a,0xea,0x9b,0xc0,0xfb,0x34,},{0xbe,0x0f,0xb3,0x30,0x8a,0x07,0x6a,0x61,0xa4,0xa9,0x2a,0x97,0xf6,0xac,0x55,0x32,0x71,0x90,0xe1,0x34,0x1d,0x6d,0xd4,0x10,0xd8,0x6b,0x41,0xbd,0xaf,0x2d,0x33,0x74,0x09,0x3e,0xf7,0x20,0xbd,0xb7,0x7f,0xeb,0x70,0x14,0xe0,0xf7,0x7d,0x3b,0x80,0x96,0x23,0xc7,0xca,0x53,0xe2,0xae,0x4b,0x09,0x71,0x13,0xe9,0x6d,0xb7,0x7a,0x2d,0x08,},"\x71\x53\xd4\xd9\xe6\x41\xaa\x61\x92\x0d\xb0\xff\x4b\xd5\x37\xa6\xd6\x13\x0a\x39\x65\x54\xcc\x94\x53\x76\x98\xf9\xca\xd1\x6b\x99\xee\xbe\xfa\x5f\x27\x76\xf2\xfe\xaf\xf6\xbd\x9a\x69\x04\x12\x0c\x67\xe0\x88\x3f\x6b\x96\xbb\xbb\x19\x5e\x95\xae\xc7\x53\xb6\x99\xba\xb3\xd0\x39\x44\xc1\x3c\x72\xfc\x84\xe3\xf2\xcb\xf6\x29\x6f\x64\x55\x49\x11\x1c\x93\xfa\xe1\xa7\x59\xbf\xcd\x16\xfc\x09\xe6\x0b\xb9\x78\x55\x35\xad\x27\xda\x24\x4e\xf2\xf8\x57\xf2\xde\x99\xa6\xe9\x21\x88\x89\x0e\x45\x2c\x7f\x5b\x9e\x3a\x4b\x96\x8e\x11\x74\x3b\x6f\xc7\xfa\xf1\x27\x5e\x53\x60\xa5\x46\x89\x41\x79\x78\x94\xd7\x70\xfa\x7d\xa3\x64\xa3\x37\x30\x22\x39\xfe\x83\xae\x0b\x0d\x08\x4a\xa1\x2a\xcd\xc6\x34\x62\x52\x4e\x0e\xb1\x0f\xef\xe8\x1b\xa9\x6f\x71\xf2\x75\xf3\x44\x9a\x3f\x8d\xb2\x1d\x58\x74\x9a\x38\x85\x3d\x39\xb0\xad\x8e\x69\x89\x1b\xd2\x04\xdf\xca\x8f\x6c\x23\x9d\xc9\xa0\xac\x27\xf5\x4d\xb4\x23\x8d\x47\x06\xdf\x11\xd6\x07\x36\x9d\xc7\xf7\x04\xda\x1d\x39\xf2\xe8\x2a\xf8\xc2\x83\xd2\x20\xc1\x24\x31\xf5\x6d\x80\x30\x69\xb4\xac\xb7\x70\x81\xc0\x31\xae\x33\x19\xfc\x77\xfc\xa7\x84\x50\x97\xfd\x72\x7a\xd0\xd0\x80\x89\x5b\xba\x23\xe8\x73\xd2\xde\xf8\xcd\xc2\x16\xc3\xee\xd6\x1b\x08\x76\x1b\xb9\xeb\xce\x02\x82\xcf\x50\x2a\xaf\x6c\xe7\xe8\xc0\x58\x63\x79\x58\xc3\xea\x1b\x72\xfe\x6e\x8d\xf8\xd3\x7a\xc0\x55\xdb\x69\x92\x58\x7f\xab\xbd\xc4\x67\xf5\x24\x75\x64\x4f\x91\x88\x63\xaf\x62\x04\x92\xf3\x46\x80\xf2\x05\x6c\xbc\xab\x75\xe2\x32\x36\x26\xc0\x94\x75\x9c\x0e\x0e\x99\xef\x19\x75\x95\x27\x25\x06\x46\xad\x76\x01\x20\xba\x38\x66\x99\xd5\x39\x34\xf9\x56\xb8\xbb\xc7\x39\x5b\xb4\x96\xce\xb2\xdd\x22\x3c\x7b\x50\x1b\x92\xd3\x6a\x95\xf8\xf0\xa0\x2e\xb5\xba\x4d\xdd\xf1\x66\xb9\xb9\x5b\x4a\x59\xe7\x2a\x30\xc6\x3c\xf2\x1e\x60\x85\x75\x19\x23\xd5\x4b\x30\x28\x1e\x52\xa0\x96\x18\xe6\xf0\x23\xba\x0a\x21\x67\x5e\x7f\x98\x9b\x89\x91\x58\x8c\x96\xc2\xb5\x6a\x78\xf5\xd2\x94\x5a\x7b\xae\xb6\xa0\xc1\xbb\xd5\xd9\x5a\xf3\xee\x83\x0f\x58\x09\xc7\x94\xa1\x5a\xb4\xb5\xf8\x9d\xd2\xbe\x2d\xfd\xcd\x8f\xe0\x52\x0f\xda\x2b\x3f\x02\xa1\xac\x01\x55"}, -{{0xe9,0x65,0xb3,0xf2,0x57,0x35,0x66,0x85,0xc9,0x8b,0x42,0xb9,0x64,0xa2,0x53,0xfc,0x49,0x53,0x99,0xcc,0x94,0xb0,0x99,0xc2,0x44,0x5f,0xc8,0x1c,0x75,0x9c,0x68,0xe5,},{0x68,0x9f,0x54,0x10,0xc8,0xe0,0xf4,0xd3,0x7b,0xc0,0x7c,0x85,0xd7,0xcc,0xe6,0xc9,0xb6,0x36,0x01,0xf9,0xbd,0xaf,0xec,0xaa,0x44,0x8a,0x5e,0xed,0x64,0xaf,0xc8,0xc6,},{0x8d,0x2b,0xc4,0xe1,0xcd,0x25,0x6a,0xad,0x8a,0x15,0x1d,0xec,0x01,0x0d,0xc9,0x3a,0x5e,0x5c,0xca,0x58,0x29,0x8d,0xec,0x49,0xcb,0xc9,0xc4,0x71,0x7b,0x5c,0xfb,0x54,0x60,0xd4,0x30,0xbe,0x72,0x6b,0x0f,0x30,0x2c,0xbd,0x92,0x6b,0xee,0xa1,0x9a,0xa3,0xc9,0x3a,0xeb,0x45,0x2a,0x44,0xf6,0x00,0x7a,0xf4,0x9a,0xdf,0x2f,0x05,0xbb,0x04,},"\x6f\x20\xa9\xad\x27\xe3\x0d\xac\x76\xb3\x0d\x4c\x19\xa5\xbd\x6d\xfd\x6d\x04\x92\x13\xf4\xbe\xcd\xd9\x63\xd7\x2b\x8b\x2d\xad\x68\x7b\x00\x38\x08\x20\x1d\x50\xf7\xdd\x6e\x59\x9e\xf5\x8c\xeb\x60\x68\xc5\x45\xed\x99\xb9\xe7\x63\xf9\xb0\xec\x1d\xb5\xfc\xbd\x7d\x49\x0a\x12\x1e\xce\xc6\xbb\xa1\xeb\x5e\xdb\xd6\xde\x85\x36\x47\x07\xc5\x5e\x30\x0c\x8b\x16\xbb\x25\x30\xf7\x08\x98\x13\x66\x89\xc9\x88\x59\x1d\x53\x91\xd9\xcc\x34\x7d\x79\x31\x06\x1a\x9b\x76\x96\xe2\xc9\xf3\x5b\xc0\xd3\x04\xa8\x1c\x2c\xf9\x54\xd9\xc3\xa8\x8a\x22\xe1\xd6\x7b\xbe\x0a\x85\x30\x84\x77\xf6\x29\x18\xc2\x5d\xb5\x04\xe4\x76\x2f\x0e\x3b\x42\x46\x00\x79\x08\xac\x70\x17\x79\x00\x6b\x77\xd7\x25\x10\xed\xc6\x9e\x17\xd0\xf6\x39\x4c\x77\xe5\x55\x18\x75\xa4\x46\xf8\x12\x33\x41\x5d\x0a\x91\xa0\x46\x0b\x51\xc4\x13\xd6\x44\xe8\x50\xf8\x55\x72\x81\xc4\x66\x99\xe5\x3b\x22\xa7\xc7\x3b\x06\x8e\xa3\x86\x52\xcf\xf3\xb0\xa7\xb8\xba\x30\x97\x1e\xab\x18\xfd\xbb\xd8\x73\x9e\xe1\xee\x0c\xd5\xcb\xfb\x7d\x5d\x41\x75\x7b\x63\x31\x27\x1f\xb7\x80\x97\x51\xe2\x03\x51\x3c\x99\x70\xf6\x6d\x91\xbc\x0c\xe0\x62\xf4\xfc\xb2\x8b\xe0\xa6\x99\x86\x7b\x79\x59\x4c\x64\x58\xa0\xd3\x07\xac\xac\x91\xf4\x13\xc4\x61\x58\x77\xdc\x53\xe1\xb0\x18\xda\x5c\xfc\xe1\xb6\x3f\x40\xbe\x1e\x55\x27\x4c\x43\x74\xcd\xfc\x21\x52\x44\x99\xa6\x83\xa2\x31\xad\xef\x77\x9d\x19\x21\x44\x0e\x5d\x3f\xdb\xd5\x03\x3d\xc9\x83\xcf\xc9\x31\xab\xe6\x38\xc3\x5d\x5a\x95\x86\x9e\x9f\xe3\xd9\x3e\xb9\x0b\xd1\x86\x1f\x85\x5c\xe1\xf6\x08\xb7\xbc\xad\x6b\x5e\x1b\xd9\x7e\xdc\x95\xed\x5d\xdc\xbc\xb7\x15\xd9\x19\xf5\xff\x77\xdf\x2d\xa4\x38\xf7\xa3\xa9\x82\x86\xdb\xd5\xb6\xe0\x43\xfc\x73\x72\xf6\x97\x04\xf0\x9d\x86\x55\x30\xf4\xf0\xed\xd3\x30\x0f\x18\x5b\x6d\x73\xd8\x71\x6d\x32\xd3\x2b\x1c\x9a\xc2\xdd\xf4\xf9\x02\xd3\xf2\x16\xd3\x5a\x33\xf3\x68\x09\x5d\xed\x10\xbe\x94\xbb\x53\xd6\xf2\x56\x56\x0f\xac\x2f\x4a\xf0\xed\xf5\xc5\xc7\x02\x14\x37\x77\x12\x6e\x7d\xe3\x2d\x07\x49\x39\x32\x66\x21\x29\xba\x0e\x7f\xc7\xcf\xb3\x6f\xd2\xca\x53\x16\x46\xe8\xcd\x22\x11\x85\x4f\xc5\x10\xaf\x3b\x1e\x8c\xaf\xde\x7a"}, -{{0xbc,0x3b,0x1e,0x0b,0xf8,0xd6,0x9e,0xa5,0xb4,0xcb,0xbf,0x10,0xbb,0x33,0xfc,0x95,0x5a,0xdc,0xbe,0x13,0xfc,0x20,0xaf,0x8a,0x10,0x87,0x2c,0xe9,0xdf,0x39,0xd6,0xbd,},{0xac,0xcd,0x26,0x28,0x15,0x59,0x19,0xbb,0xc7,0xf9,0xd8,0x6f,0x91,0xda,0xfe,0xc3,0x5c,0x71,0x1a,0x78,0xc7,0x9a,0xd3,0x60,0xed,0xdb,0x88,0xfa,0x8a,0x18,0x0b,0x2d,},{0x6e,0xf7,0xf0,0xe9,0x1f,0x2c,0xc6,0x71,0x5f,0x8e,0x5a,0x98,0x57,0x4b,0x44,0x00,0xc2,0x61,0xa6,0x43,0xe0,0x54,0x5f,0xf2,0x67,0x47,0xf8,0xe1,0x73,0x98,0x99,0xd7,0x66,0x40,0xb6,0x45,0x1c,0x43,0xc1,0xd0,0x3a,0x47,0x75,0xb5,0x4f,0xcf,0x9b,0xce,0x18,0xed,0x3f,0xcc,0xad,0x33,0x8b,0x77,0x64,0x02,0x4f,0xdf,0xa2,0xde,0x82,0x01,},"\x4c\x73\xe0\x4a\xbe\x08\x19\xde\x1f\x84\xd7\x05\x41\xeb\x1b\xb6\x1c\x4f\x42\x92\x0e\x1f\x2d\x1d\x9e\x62\x81\xa8\xa2\xe8\xb3\xeb\x45\x53\x7d\x83\x96\x90\x27\xf9\x9e\xf0\xea\x27\xca\x08\x5b\x13\xf9\xdb\x48\x0f\x00\xc0\x2f\x3f\xd7\x42\x9d\xd5\x67\x70\x89\x53\xbb\xf3\xb9\xe8\xe2\xc6\xac\x4d\x32\x1f\xf8\xf9\xe4\xa3\x15\x47\x23\x08\x5a\x54\xe9\xc9\x57\x3c\xc7\x35\x0c\x09\xf8\x97\x3f\x94\x8b\x08\x73\x03\x73\x59\x7a\x5f\xd0\x34\x98\x21\xae\x0a\x3c\xd6\xc8\x49\x92\xb1\x89\x12\x8f\x34\x90\x98\x7e\x1e\x9a\xd4\xf6\x57\x4c\xa5\x38\xfd\xfd\x83\x28\x4c\x1e\xb0\x95\x3f\x24\xc0\x8f\x74\x93\x2d\x43\x64\xdb\xbe\xf9\x22\x54\x24\x40\xda\xe8\x04\x24\xa9\x2e\xae\xf2\x7c\x18\x89\xbd\x08\xc4\x4f\x9d\xf0\x3a\x3a\xf3\x0d\xff\xb4\x8f\xae\x44\x5e\x62\x5f\x4d\x92\x65\xcf\x38\x7a\x1d\xa3\x5f\xe4\xc2\x31\x50\x45\x35\xdb\x72\xea\x81\xa1\x86\x80\x5f\x85\x6e\xbe\x6a\x6a\x65\x24\x14\x32\x53\x0f\xe6\xc9\x60\xc5\xf9\xbe\x6c\x22\x95\x70\x60\x30\x4e\x9d\xd8\xef\xbc\x1e\x48\x2e\x7d\xdb\xd8\xaf\x03\xbf\x23\x82\x89\x9c\x98\x6d\x91\x66\x11\xe4\xf2\x7a\xe5\x2f\x81\x7e\xf0\x1b\x6a\x14\x1f\xe4\xf6\x85\xd9\x4d\xc8\xcd\x52\x83\x00\x43\x93\x45\x87\x70\x4c\x1e\x64\x2e\x8f\xe5\x6b\xe6\xd6\xb8\x5b\xf4\xa6\xfe\xb2\xb6\x85\x8f\x1f\x00\x7f\x99\xd3\x9e\xa0\x4c\x9f\xe5\xfa\x7e\xf1\xb9\x1f\x49\x5e\xd0\xe7\xfa\x42\x13\xdd\x68\xce\xa4\x2b\x67\x29\xf9\x50\x31\x90\x7e\x27\xc4\x40\x98\x09\x43\x86\xfa\xbf\xb0\x4a\xb9\xb4\xde\x3d\x68\x61\xde\x46\x23\x12\xc5\x9b\x27\xc7\x6f\x7b\x6a\x4f\xc7\x1e\xa0\xd5\xda\xf6\xb7\x32\x05\x21\xa6\x7e\x5c\xb3\x75\x04\x97\x6a\xd7\x3d\xae\x2d\x64\x9f\xeb\x75\xe2\xea\xdd\x34\x01\xa7\xf2\xf3\x6e\x16\xdf\xbf\xbd\xb2\xaf\x57\x16\xcb\xa1\xbc\xe2\x0c\xd4\x7c\xe1\xc1\xd7\xbe\x00\x69\x70\x01\xfb\xbe\xb4\x91\x5a\xa6\xe5\x39\x3b\x5a\xb2\x0e\x0f\x31\xf5\x11\x91\x49\xa2\xcb\x4c\x4d\x45\x2c\x81\x56\x11\x3a\xc7\x82\x4f\x84\xf0\x9a\xeb\x81\x20\x2e\x8d\xd3\xda\xc0\xaa\x89\x39\x9b\x5a\x38\xb1\xe2\x18\x30\x19\x60\xa3\x7d\x52\x63\x2e\xea\xef\xe3\x68\x74\x55\x46\x42\x88\xeb\x17\xd9\xe1\x9a\x3a\x72\xed\x9d\xe3\x2c\x17\xbe\x79\xa3\xb9"}, -{{0x10,0x71,0x8f,0xa6,0xe2,0xd7,0xf6,0xed,0x38,0xfd,0x66,0xcb,0x6d,0xbf,0xa0,0x87,0xe8,0xf1,0xe8,0xa8,0xa2,0x4f,0xab,0x58,0xd7,0x9d,0x79,0x54,0xb8,0x72,0x0c,0x3e,},{0x87,0x0d,0x4f,0x66,0x6d,0x06,0xfd,0xa9,0xf9,0x51,0x1b,0x58,0x60,0x2e,0xec,0x05,0x0d,0x75,0x4e,0xa6,0xd8,0xe7,0x9c,0xdd,0x19,0xf6,0x01,0xc4,0x77,0xdf,0x1a,0xa0,},{0xe1,0x65,0x91,0x86,0xf1,0xf7,0x6f,0xe4,0x3a,0xc8,0xa1,0x17,0x03,0x36,0x0f,0xbe,0xff,0x53,0xb5,0xe5,0x7b,0x59,0x74,0xaa,0xa0,0x8e,0x25,0x75,0x57,0x9c,0x27,0x08,0x4c,0xf6,0x80,0x2e,0x7c,0x20,0x63,0x47,0x31,0x44,0x75,0xb6,0x03,0x19,0x74,0x94,0xe7,0xd6,0x1f,0xe4,0xb1,0xee,0x7b,0x78,0xe1,0x8d,0x94,0x46,0x93,0x52,0xdf,0x0c,},"\x41\x25\x9b\x6e\xef\x13\xd6\xff\xe3\x3c\xdd\xe7\x99\xb9\x95\xc4\x0b\xe7\x82\xcf\x97\x84\x40\xb6\x6b\xe5\x1c\x44\x05\x82\xab\xd4\x2f\x52\x66\x96\xbb\x3c\xb9\x22\x65\xb1\xed\x0e\x4b\xba\x76\x4c\xae\x28\x39\x83\x0a\x25\x26\x35\xdc\x80\xce\x5f\x73\xd5\x21\xb3\xd6\xff\x03\xac\x30\xe1\x98\xad\x20\x56\x7e\x75\xa3\x4f\xa8\x25\xeb\xf9\x84\x15\x08\xda\x84\xcd\x67\x42\x36\xca\x7b\x43\xde\x35\x64\xc9\x4a\xb0\x79\x40\x8f\xd9\x41\x37\xce\x3f\x90\xa5\xdd\x5d\x3a\xc3\x9a\x05\xec\x86\x71\x5a\x8f\x02\x5e\x45\x39\xa7\x64\x0a\xb8\x88\x36\xf4\xef\xba\xbd\x5e\x16\x52\xc4\x9e\xa2\x16\x13\xac\xfe\x34\x3a\x88\x0e\xe5\xa4\x2f\x2f\x91\x34\xef\x4e\x37\x16\xb1\x6d\x13\x4a\x9c\x4c\x71\xc3\x9b\x3c\x1a\x85\x7d\x3c\x89\x43\x97\x83\xee\xf1\xed\xd7\x1b\xf4\x49\x2d\x05\xfd\x18\x67\x3a\x52\x42\xff\x41\x87\xb9\xde\x47\xad\x49\x68\xda\x49\xdb\xa5\xa6\x09\x2e\x95\xea\x27\xdd\xfc\x74\x48\xdc\xf5\x97\x2d\x9d\x22\x8d\x63\xe5\x29\x1b\xa6\xe6\xfb\xd0\x7e\x32\x41\xf9\x36\x6c\xa4\x97\x6b\xb0\x4b\x22\xd0\x1f\x0d\xba\xe7\x94\xfa\x9c\x1d\x90\x29\xf8\x8a\x83\x60\x2b\x0e\x0e\xc5\x5e\x22\xc3\x7b\x20\x11\x25\xca\xdb\x53\x41\xef\x73\xf6\xda\x1a\xbb\xe2\xb1\xc4\x75\xf0\x75\x03\x45\xb1\xbe\x42\x59\xd8\xc2\x85\x31\xff\xe7\x78\x86\x67\xc4\x10\xda\xc3\x39\x91\x8c\x86\x9b\x00\xab\x80\xf2\x0b\xf7\x99\x0d\x36\x6f\x9b\x3d\x5e\x8e\xb2\xf4\x8d\x7e\xd0\xe6\x4b\x85\xdc\x9f\xe3\xbb\x99\x8b\x1e\xec\xd1\x23\x1e\x90\x2d\x2d\x15\x2e\x09\xda\x2d\x25\x92\xbd\xb3\x2c\x8c\xd2\xe2\xc4\x89\x49\x6b\x29\x80\xc0\x3d\xbb\x09\xec\x7f\x8a\x4e\xa2\xc7\x02\x0f\x2a\x0f\xaa\x65\x7c\xd6\xce\xd4\x8d\x6d\xa2\x78\x64\xcf\x5e\x97\xee\xa9\xb3\xc2\xf0\xf3\x4a\xbf\x8d\x87\xbd\x2a\xde\xb6\x0c\x72\x72\xfc\x43\x06\xd9\x55\xbd\xc8\x02\x3d\x7d\x3d\xc2\xf3\xda\xfe\x9e\xbe\x8a\x8d\x13\x89\x65\xa7\xf6\xce\x93\x51\x7c\xd2\x09\x96\x63\xf6\x7c\x34\x55\x21\x76\xdd\xb5\x95\xac\x6e\xa5\x60\x9f\xeb\xcf\x24\xc7\xd6\x9d\x41\x27\x09\xe5\x78\x67\x0a\x21\xac\x8a\xfc\xcb\x8b\xf2\xb1\x8f\xf3\xaf\x7d\xe2\x1d\xc7\x1d\x50\xd6\x0d\x37\xb6\xed\x72\x9d\xb0\x4b\xef\xf7\xd3\x4b\x29\x20\xd8\x75\x51\xce\x15"}, -{{0xc1,0xd4,0x72,0x4c,0x6c,0xb1,0xbc,0x67,0x23,0xb2,0xb4,0x30,0x34,0x27,0x8b,0x3c,0x5b,0x48,0xfe,0xd7,0xf8,0xa3,0xcc,0x23,0x18,0x03,0x3e,0x75,0x52,0x04,0x73,0x51,},{0xc2,0x7e,0x39,0x2e,0x7c,0x36,0x64,0xb9,0x06,0x1e,0xa7,0x6d,0x25,0x75,0xdd,0x7c,0x41,0xea,0xf1,0xda,0x3a,0x65,0xf3,0xa9,0x86,0xe0,0xa5,0x7f,0x6c,0x40,0xc1,0x7e,},{0xd3,0x7a,0x6e,0xc8,0x2e,0xd4,0x5c,0xa9,0xb4,0x85,0x5d,0xe9,0xcb,0x94,0x25,0x64,0xe8,0x83,0xff,0x70,0xa7,0x9b,0x8e,0x71,0x2d,0x5f,0x60,0x4e,0xc8,0x97,0x4d,0xe5,0x36,0x3a,0xc8,0x49,0xcb,0xab,0x28,0xe7,0xae,0xef,0xf2,0x8e,0xd3,0xf2,0xd1,0x4b,0x60,0x8b,0x31,0x46,0xc2,0xef,0xe0,0x73,0x5a,0xd8,0x15,0xc7,0xd7,0x5a,0x1a,0x01,},"\xde\xee\x99\xd7\xa7\x7d\x43\x00\xc1\x7a\xec\x1a\xb3\x23\xc5\x71\xc6\xe9\xe7\x3a\x43\x49\x1a\x3c\x78\x88\xb7\x6f\xc0\x3e\xc4\x3d\x07\xaf\x42\xa0\x5a\x2a\xa3\x22\xd0\x0c\x85\x60\xac\xef\x31\x41\x06\xb1\x0b\x9b\xd1\x26\x54\x35\x7f\xfa\x26\xf2\x39\x00\x50\xda\x63\xd6\x68\xc9\xe2\xdf\x54\x8f\x87\x63\x9e\x09\x6a\x35\x85\x3f\x82\xe7\x61\xfd\x71\x1d\x2a\x26\x54\x38\xf5\xd4\xdb\x5e\x32\x77\x57\x08\x15\x0d\xa6\xcb\x68\x6a\x2b\x4c\xa2\x11\xd7\xf0\x0d\xc0\xab\xcb\x2c\xa1\x50\xe7\x91\x11\x6a\x10\xa5\xef\xcf\xf3\x51\x4d\xab\x8e\xd8\x0a\x70\x92\xc3\xa0\x15\x15\x2c\xb2\x5d\x9f\x86\xec\x0d\x1c\xa6\x7d\xda\xb4\x4d\x64\xee\xb1\xf9\x31\xbf\xab\x2a\xb1\x88\x95\x6c\x74\x3d\xb4\x81\x48\x08\xc5\xcd\xe1\xb0\x74\x5b\x3e\xdd\x34\x0e\xb0\x3f\xfc\xc8\x0a\x78\xf3\xdb\x31\x0f\x4f\x5c\x20\x00\x9f\xc0\x27\x9c\x2c\x1b\xcb\x3c\xed\xf9\x90\xbd\x0e\x20\xc6\xf9\xfb\x75\x15\xad\x6e\x93\x3b\x07\xe9\x9d\xa6\xac\x32\xb9\x71\x41\x18\x7e\xf6\x3b\xdb\x10\x62\xe3\x72\x20\xa4\xdc\xd4\x19\xd6\x24\x4c\xdc\xc3\x4e\xa4\x1d\x0b\xcb\xc3\x13\x8b\x1d\x54\xae\xfc\x01\x90\xe3\x0b\x18\x7d\xb0\x73\xaa\x7d\x6c\xfe\x04\xbd\x3f\xd2\xac\x00\x31\x3e\x3d\xdd\x64\xa1\x81\x93\x5c\xa4\xb8\xb2\xa8\x5d\x36\xbc\x27\xd9\x7b\x76\x26\x76\x7b\x93\xee\x38\xde\xf8\xb6\xb2\xc8\xda\x9b\x00\x26\x36\x14\x34\x2f\xaa\x9d\x3e\x73\x8d\x27\x13\xc4\x5f\xfb\xee\xf8\xc8\x4b\xcd\xbc\x8d\xa4\x30\x9c\x84\x45\x53\x0f\x5c\x61\x7d\xc8\x66\x25\x1f\x54\x89\x50\xa1\x4f\x07\x5a\xa3\x11\x7f\x96\xe4\x1f\x89\x9d\xbe\x73\x40\xb1\xd9\x0a\x13\x52\xd3\xb8\xfb\x41\xb7\x9f\x16\xa8\x2b\xc2\xe4\xa1\x93\xb8\xa7\x23\x24\x00\x99\x6b\x73\xb1\xfc\x00\xb2\xec\x1c\x66\x75\x77\xf8\x28\x24\xd3\x9f\xb7\xf6\xe7\x69\x2d\xcd\x97\xb1\xd8\xce\x94\x08\x3c\xa1\x97\xe9\xa5\xd4\x0f\xad\xff\x0b\x9a\xc5\x7e\x9d\xe7\x61\xc1\x56\xe6\xd3\x1d\x52\xc3\x32\xd5\x13\xe9\xf5\x86\x97\xdc\xbd\xd8\x0a\x5e\x42\xc5\x51\x70\x2c\x3d\xe7\xbe\xcc\xc3\xdb\x84\x5b\x1a\x04\xc8\xcb\xd4\x16\x95\xea\x74\x28\xab\xba\x89\xe0\xdc\xe3\xe3\xd9\xe7\x02\x30\xae\x91\x47\xc2\xb8\x85\x59\xdc\x69\x5d\x68\x09\xa5\x1c\xcb\xc1\xdd\x9e\x08\x9c\x58\x5f"}, -{{0x37,0xc0,0x70,0xd4,0xa5,0x3b,0x13,0xbe,0x76,0x06,0x35,0x11,0x0d,0x1b,0xd4,0xf0,0x19,0x20,0x22,0x5a,0xfa,0xbe,0xc5,0x76,0xfa,0xae,0xc9,0x10,0xf2,0x92,0x6d,0x1a,},{0x0a,0xa8,0x5f,0x2a,0xb1,0xdf,0xf8,0x95,0xd1,0xfa,0xd0,0xc1,0x19,0xf2,0xbf,0x57,0x12,0x6a,0xab,0x60,0x1c,0x52,0x8d,0x37,0x69,0x8e,0x97,0x70,0x2d,0x35,0xf5,0x25,},{0x9d,0xa6,0x0c,0xc4,0xa6,0x4d,0x07,0xde,0xe1,0x34,0x6b,0xd3,0xd3,0x01,0x09,0x95,0xce,0x27,0x38,0x20,0x8a,0xb3,0x5b,0x34,0xc2,0xa8,0xfd,0x17,0x87,0xae,0x3a,0x1e,0x20,0x7f,0xe7,0x84,0x52,0x51,0x54,0xfa,0xe4,0xf5,0x79,0x4c,0xd8,0x50,0x30,0x45,0xfe,0xa8,0x5c,0xf7,0x7f,0xd9,0x2f,0x6a,0x70,0xcd,0x0c,0x5a,0x52,0xc0,0x81,0x0e,},"\x10\xc6\x46\x44\x7f\x81\xad\x94\xd0\x15\xd8\x6d\x0d\x98\xb2\x45\x2d\xca\x60\xa4\x7a\xb3\x52\x64\x03\x5e\x33\xa0\x94\x2b\x95\x4e\x3e\x23\xb9\x1d\x81\x23\xb8\x59\x3c\x6a\xf7\xc8\xd3\xec\xd2\x90\xe0\xe5\xee\x36\xfd\x4e\x53\xb7\xbe\x63\x3a\x6c\xf0\x27\xa5\xac\x3f\x0f\x67\x9e\xb1\xbd\xd2\x10\xa3\x8e\xa6\xe4\x8b\x05\x58\xe3\x03\x01\x0a\xf4\x74\xe7\xf6\xdf\x2a\x4e\x45\x76\x99\xfc\x38\xe3\x69\x38\xb0\x5f\xfc\xaa\x1b\x69\x4e\x32\xf3\xd1\xb2\xcc\x5d\x00\xcf\x25\x6f\x12\x18\x4c\x87\x3e\x51\x90\x89\xec\x1d\xf1\x5b\x0d\xc7\x6e\x7b\xfe\x90\x78\x0d\xf5\x81\x36\xfe\x59\x7f\xce\x89\x4c\xa5\x63\xe0\x8e\xfa\x0f\x2d\x4d\x20\x8b\xed\xe9\xa8\x74\x88\x28\x73\xd2\x51\xba\xf0\x19\xfe\x46\xd1\xd6\x50\x4b\x3b\xcd\x24\x3b\x79\x53\x51\xf3\x4d\x2e\x76\x06\xaa\x97\x55\x28\xee\x50\xd5\x9e\xfb\x6e\xe6\x99\x2a\x89\xb2\x42\x69\x56\xc2\xca\x42\x47\xe0\xdf\x01\x29\x85\x29\x83\xe9\x76\x7a\x8e\xed\x1b\xc7\x33\x5f\xfc\xa8\xd0\x28\x9f\x04\x80\x7f\x67\xca\x7d\xa9\x71\xf5\x8d\xb8\xb9\xbc\x9f\xdb\xe4\xf8\x3c\xfe\x9a\x00\xf1\xca\x58\x47\x98\xbc\x71\xd8\x51\xff\x7c\xd6\xc5\x1b\x89\x90\xaa\xba\x4d\x38\xb4\x16\xb9\x22\x40\xdf\xb7\x0e\xe3\xc1\x2b\x5e\x73\x10\x57\x76\x2e\xf9\x08\x23\xfb\xf6\x83\xca\x06\xd0\x5c\x20\xd3\xae\x2b\x97\xa8\x3e\xbe\x70\xae\x17\xaf\xff\x9d\x16\x60\x9d\x54\x6d\x8d\x3c\x74\xbc\x28\x18\x84\x89\x4f\x3d\x49\xe0\x83\xf1\x0a\xe7\xc1\x1c\x1d\xca\x0e\xff\xef\xcf\xa6\xe0\xf1\x53\x50\x81\xfa\xc3\xa2\x81\x9f\xd2\xe3\x26\x55\x27\x18\x2a\xe9\xd3\x91\xb2\x32\xbb\x75\x42\xe6\x84\x55\xcd\x26\x77\x60\xdb\x65\x2d\x19\xe2\x2f\xb2\xed\x11\xcd\x13\x05\xba\x8d\x98\xc1\xeb\xf2\xd1\x96\x9b\x24\xd6\x4f\x3e\x31\x9a\xf7\x4e\x09\x20\x06\xd2\xa3\xff\x74\x48\x72\xa2\x0e\xbf\x18\xd1\x77\x48\xab\x71\x10\x80\x50\x96\xea\x13\x6b\xce\x2f\x96\x8b\x20\x5e\x65\x0b\x80\x3c\x53\x1d\x06\x77\x5a\xe5\xce\xea\x28\xbb\x92\xe9\xa0\xed\xec\x89\x51\xce\x20\x09\xa8\x8e\xe1\xb6\x4d\x9b\x9e\x89\xf6\x90\x51\x20\x33\x84\x21\x0a\x10\x2a\x44\xd2\xd6\x70\x31\x73\xb6\x85\x07\xdc\xea\xdd\x3b\xf6\x51\x0d\xf2\xa5\xce\xfd\x9c\x80\xe4\xf3\x85\xb2\xf9\xe6\x21\x58\x13\xed\x32"}, -{{0x11,0x26,0x49,0x6a,0x58,0x2c,0xe5,0x8d,0x3d,0x61,0x8d,0xd8,0xa3,0x93,0x35,0x47,0xaa,0x7a,0x8a,0x30,0xfb,0x54,0x06,0x3b,0x8d,0xfd,0xd3,0x16,0x71,0xc6,0xc7,0x3d,},{0xe1,0x02,0x29,0xc6,0x23,0xfa,0x8a,0xd8,0x98,0x2c,0x3e,0x4c,0x36,0xff,0x52,0xdf,0x0f,0x21,0x9b,0x57,0x91,0x5b,0x6e,0x98,0x0e,0x5f,0xe7,0x2e,0xa0,0x96,0x2e,0x22,},{0xb3,0x0e,0xb5,0x6c,0xa9,0xb1,0x20,0xbf,0x84,0x9a,0x3a,0x9d,0x56,0xaf,0x03,0x3d,0xe8,0xa5,0x90,0xc9,0xe1,0x24,0x0c,0x1e,0x36,0xdb,0xc6,0xcf,0x0a,0x71,0xb7,0x8a,0x11,0xec,0x14,0x3f,0xb9,0x95,0x9a,0x8f,0x25,0xb5,0x77,0x11,0xd6,0xa9,0x0a,0x67,0xe0,0x1b,0xe3,0xa4,0xda,0x2b,0x69,0x39,0x48,0x69,0xbb,0x8d,0x64,0xb8,0x7e,0x0f,},"\x6a\x4b\x52\xd7\x30\xdd\xab\x82\x9b\x2a\x17\x95\x90\xcb\xd4\xc3\x72\x49\x8e\x9f\x43\x99\x77\xc0\xa1\x0d\xc1\x3c\x0a\xe1\x73\x6e\xaa\xff\x06\x33\x71\x43\x4f\xd0\xda\x80\x36\x0e\xc5\x89\x06\x07\xd2\xfa\xe1\xc9\xa2\xe1\xab\x0b\x7f\x3d\x66\x7f\x5b\x1b\x9c\x41\x8f\x18\xb1\x0c\x9e\x6f\xd6\x69\xd3\xeb\xec\x16\x8e\xfe\xf4\x41\x63\xe5\x77\xa2\xeb\xd0\xf2\xcb\x76\x8f\x80\xc2\x31\x88\xe8\x60\x69\xe4\xd1\x0f\x41\x03\x06\xce\xdd\x7a\x34\x1a\x61\xe0\xf4\xf3\xbc\x25\x04\x1b\xc2\xf9\x22\xed\x07\x3e\x1e\x2f\x1b\x70\x9c\x57\x9d\x10\x63\x0f\x33\x07\x17\x54\xd7\x07\x89\x4a\x1c\x62\x19\x0d\xe1\x88\x82\xc5\x64\xdc\x4c\x01\xdc\x54\x5d\xd8\x96\x64\x04\xed\x78\xfa\x32\x67\xa9\x46\x9f\x63\xb6\x12\x0a\xbb\x65\xf9\xb3\xba\x3e\xee\x28\xd7\x9c\x2e\xb4\xe7\x02\x0c\xc6\x98\x7d\xfc\x5c\x29\x67\x2f\x8c\x0f\xa3\xe6\x90\xd5\x84\xfe\x00\x0c\x64\xf3\x52\x61\x01\x79\x62\x1b\xfd\x5f\xf3\xeb\x30\xd1\x8f\x1a\x02\x50\x41\x6d\xb9\x3b\x1c\x1e\x93\xcf\x8a\x36\x46\x51\x75\x60\xd1\xcc\x8f\xff\x82\x2b\x51\xef\x27\xb2\x00\xe9\x87\xb5\x92\x39\x07\x53\x45\x3e\xf1\x38\xbd\x3d\x29\xdb\x7c\xb1\xb5\xf4\x5e\x47\x95\xb8\x9c\x53\xf4\x97\x04\x19\x27\x52\x23\x7c\x6a\xb2\x74\x84\x9f\x95\x94\xee\x97\x77\xf6\xef\xe7\x04\x83\x12\x9d\x06\x7f\x97\x19\x9d\x9a\xe3\x60\x90\x70\x38\x64\xf7\xca\x47\x50\xa6\xf3\xb6\xff\x83\x82\x4c\x91\x04\x84\x39\x4d\x1e\x2e\xce\xba\x18\x44\x6f\xe4\xe9\x94\xce\x07\x43\x3a\x74\x0d\xdd\x05\xf0\xe3\x96\xd4\x82\x89\x4e\x6f\x14\xac\xf7\xb9\x7b\xae\x6c\x7e\xb8\x87\x03\x03\x9f\xa7\x85\xd6\x0a\x3a\xf7\x8b\x13\x24\x3a\x4f\x88\xdd\xe1\xd9\x98\x61\x7f\x2e\x3f\xa7\xea\xfc\x2f\x43\x5d\xd4\xac\x1e\xa9\xc2\x38\x40\x7a\xa0\x9b\x4e\xea\x8e\xd4\x34\x92\x7b\x40\x66\x74\xac\x27\x04\x58\xcf\xb3\xbf\x29\xc3\x47\xf9\x45\x59\x61\x31\x79\xb9\x50\x21\x92\x32\x1b\x88\xe9\xaf\x0a\x90\xe9\xa4\xab\x9e\xdd\xaa\xe3\x82\xe3\x73\x4d\x14\x15\xeb\xe3\x24\x99\xc3\x4e\x6f\xde\xaf\x15\xb0\xd9\x78\x79\x85\xe0\x8d\xfe\x49\x54\x60\xc5\x4f\x67\x43\xd8\x1f\xf1\x68\x81\xe5\xe3\x0c\x51\xf4\xb0\x92\x37\x37\x83\xf1\x24\x23\xc3\xe1\xae\x85\x91\x13\x0a\x26\x99\x80\xca\xa1\xcb\x5c"}, -{{0x9c,0x16,0x7a,0xff,0x3b,0x1b,0x78,0x8f,0x13,0x3d,0x42,0x2d,0xe8,0xca,0x9a,0x64,0x31,0x64,0x09,0xf9,0xe3,0x5b,0xfe,0x22,0x03,0x2e,0xc4,0x17,0xae,0x9a,0xbc,0x6d,},{0xef,0xb5,0x34,0xf0,0xd4,0x7c,0x06,0x8e,0x77,0xb2,0x8a,0x90,0x6d,0x95,0xad,0x8d,0x21,0x3a,0x4d,0x4f,0xc1,0xc7,0x05,0x42,0xf0,0x1e,0x59,0x6d,0x57,0xb5,0xf0,0x19,},{0xc9,0xae,0x67,0xfd,0x64,0x15,0xdc,0xba,0xb2,0x92,0xfa,0xb3,0x94,0xca,0x6c,0x3b,0x7d,0x90,0xca,0x24,0x4d,0xc6,0xa7,0x76,0x4e,0x74,0xfd,0x20,0x2b,0xf4,0xb2,0x90,0x5b,0xd2,0x03,0x0e,0x6b,0xeb,0x91,0x4c,0x3c,0x23,0x8d,0xb3,0x71,0xb1,0xcb,0xa6,0xd9,0x26,0x1a,0xa3,0x92,0xec,0x87,0x1a,0x4b,0x8b,0x12,0xfe,0x9c,0x1c,0x97,0x0e,},"\x68\xac\x0f\xc2\xb6\x07\xba\x38\xe3\x77\xfa\xe8\x45\xc8\x08\xc8\xf9\xfa\x61\x4e\xb1\xf3\x11\x58\xa9\x62\x0a\x93\x7d\x3e\x30\x1e\x85\xac\xaa\x69\x14\x4b\xc3\x49\xa3\x9d\xfb\x58\x20\x41\xc4\xa1\x97\xae\x99\xb4\xd4\xd5\x9b\x7a\x2c\xa3\xd1\x62\x28\xb5\x59\x1c\xbf\x57\xc1\x8a\x78\x1e\xfd\x19\x19\x3c\x47\xb1\x6c\x60\x23\xa3\xa8\xba\x3d\x66\x8f\x05\xa3\x7f\x1e\x83\xb0\xd7\xfe\xbd\xd1\x0f\x63\xe4\x8e\xf7\xa2\x0e\x01\x5b\x1c\x67\x25\xd4\xc3\x00\xa9\x86\xc6\x0e\x3a\x11\x54\x69\xc8\xe5\x2b\xa0\x5b\x51\xc0\x5d\x0a\xf4\x0d\x89\xfd\x9e\xd7\x6f\x36\x95\x0a\xee\x3c\x78\x19\x89\x8a\x90\x3c\xfe\x03\x61\xa9\x1c\x69\x10\x0b\x49\x51\x41\xe8\x6e\xe7\x9d\x63\xd1\x74\x03\xfb\x1a\x16\x29\xef\x63\xcb\x7e\x9d\x27\x20\xcb\xff\xf0\x00\x2b\x19\x0b\xcd\xc2\x67\x94\x12\x4d\xd3\x8d\x42\xbc\xaa\x71\x75\x40\x5e\xb0\xbb\xcf\x8e\x37\xd6\x5d\x05\xa3\x71\x95\xb4\x79\x37\x1f\xa2\xbb\xbb\x16\x7d\x91\xce\xe8\x82\x35\xdd\x72\xea\x88\xfc\x73\xce\x3c\xe4\x3d\x33\xb7\x15\xf2\x5f\x19\x2e\xc2\x15\xda\xc1\x24\x89\x9c\x5e\x75\x86\xe8\x63\x40\xd8\xcb\xe5\x37\x35\xde\xfb\xe0\x2e\x4c\xc9\xfd\xe6\x9f\xb9\x79\x4d\x1d\xb7\x2b\x98\xc0\xf1\x97\x66\xee\x51\x38\xbb\xfa\x78\x90\x9a\xa2\x99\xb4\x91\x3c\x49\x9d\xea\xf5\x4b\x48\x41\xd5\x04\x48\x29\x98\x49\x36\x70\x0d\xcf\x92\xf3\x65\x42\xb2\xfc\x7e\x86\x44\x1b\x99\x25\xf5\xd0\xb7\x8c\x17\xa8\x5c\xfc\xfc\xb2\x0b\x0f\xd7\x51\x34\x9c\x27\x46\x3a\xbd\xe4\xd2\x7d\xf7\x42\x65\x28\x87\x13\xf9\x6d\xea\x01\x3b\x94\x55\x21\x80\x8b\x49\x96\xb1\xb2\xdc\x03\x38\xb6\xd2\x36\xef\xd6\xd2\xb2\x7d\xaf\xda\x46\xec\x5f\xa3\x2b\x96\x5e\x8b\xb5\xe8\xbb\x61\xbd\x96\x6e\xde\xb7\x74\x68\x1e\x0e\xa8\xc1\x7b\x8c\x99\xfa\x7d\x66\x0f\x0f\x66\xc9\xbc\x6d\x95\xcb\xd7\xdc\x09\x47\x24\x09\x8e\xb0\x51\x91\xb5\x3a\x3d\xf6\x56\x6b\x9c\x90\xe0\xd7\xdf\xf2\x94\x38\x48\xb6\x1a\x20\xd4\x8c\x22\xb6\xd3\xc9\x58\xe2\x93\xd7\x09\xc8\xf4\x81\x10\x23\x0f\xf5\x19\x18\x56\x28\x77\xda\xf6\xd9\x20\xc8\x5a\x82\xe0\x7c\x45\x1f\xe7\xae\x97\x59\xc0\xa7\x7e\x97\xbb\x29\x8b\x5d\x05\x92\xa4\x1d\x08\xf6\x7a\x4e\xd5\xa1\xbb\x41\xe9\x37\xb6\xa6\x8a\xeb\x38\xfd\x5b\xe9"}, -{{0xe9,0x94,0x88,0x05,0xeb,0x34,0x1b,0x28,0x67,0x47,0x9c,0x66,0x8f,0xd3,0x53,0x2c,0x30,0x99,0x41,0xc0,0xad,0x4c,0xb2,0xe5,0x42,0x31,0x75,0x6e,0x6a,0x1b,0xde,0xcb,},{0x54,0x47,0xa8,0xe3,0x4d,0x6a,0x64,0x00,0x02,0xd8,0xd6,0x0b,0xcf,0x1d,0xdc,0x71,0x1e,0x4c,0x46,0x5c,0x94,0xc3,0x4b,0x50,0xbd,0xef,0x35,0x89,0x60,0xff,0x81,0xf1,},{0xd3,0xdc,0x62,0xd6,0xce,0x9c,0x76,0x6f,0x2a,0xba,0xf9,0xa7,0xfb,0xe0,0x9d,0x6b,0xdb,0x07,0xa4,0x74,0x7b,0x56,0x08,0x0d,0xb0,0x9b,0xeb,0x4a,0x4e,0x80,0x4a,0x70,0xd7,0xdd,0xf4,0x11,0x94,0x75,0xc7,0xbe,0x83,0x4f,0x31,0x95,0x6f,0x4a,0x71,0xda,0xd0,0x29,0xcd,0xf2,0x36,0x3d,0xd0,0x36,0x5c,0xe2,0x2d,0xc2,0x7f,0x07,0x80,0x03,},"\x91\xcf\xfd\x7e\xb1\xcf\x6b\xd4\x75\x6b\xce\x6a\x30\xaf\x9d\xfb\xa2\x6d\xdd\x1c\xce\x03\x94\xc1\x94\xa3\xe3\x9c\xc3\xd1\xcb\xc2\x21\xb7\xeb\x70\xbe\xa1\x8d\x29\xc2\x67\x45\x71\x76\xa3\xc9\xe5\x3c\x18\xe4\x7d\x10\xa6\x7c\x46\x45\x05\x19\x77\x02\xe6\xb2\x47\x0d\x38\x86\x9d\xb5\x17\x4b\x15\x8f\x99\x92\xe4\x43\x5d\x02\x24\x6f\x54\x02\x58\xde\xdd\x3c\xe3\x3d\xf5\x82\x55\x5a\x68\x1f\xb7\x6e\xca\xcc\xb1\xc2\x98\x9b\x17\x7e\x3b\x7e\x45\x4a\xaa\x52\x9d\xe5\x9b\xf5\xa0\x31\x23\xd5\x71\xdf\x2e\x7f\x7c\xb8\x30\x80\x5c\x58\xb7\x4a\x65\x3b\xac\x0e\x5a\x88\x8e\x08\xdc\x22\x36\xd6\xcd\x49\x6a\xa0\x6d\x0d\x67\xcf\x3b\x33\x5e\x21\x8c\x49\xde\xda\xd8\x2f\xc1\xbe\x9e\xf2\x0c\xac\x61\x90\x5c\x30\xeb\x13\x2d\x73\x9b\x16\xca\x8a\x8c\x90\x66\x19\xc0\xe0\xd8\xb3\x39\x85\x32\x7e\x36\xf3\xd4\xb8\xfd\xa3\x87\xc1\x86\xcc\x50\x44\x31\x04\xdb\x76\x1f\x7f\xf9\x30\x12\x70\x20\x4a\x71\x3e\x58\x90\x21\x01\xfa\xd0\x00\xce\x93\x16\x47\xc5\x77\xfd\xec\x14\x8d\xca\x95\xcd\xc0\x89\x18\xeb\xed\x03\x7c\x60\x33\x2f\xad\xf0\x88\xf0\x36\x08\x3e\xbc\x92\xe1\x73\xb7\xdd\xcc\x30\xc4\x93\xf2\x7e\x69\xcd\x17\xa2\x0d\x30\xb7\x8f\x83\xa7\x2e\x4f\x5a\x74\x7d\x86\xd9\x6c\x5e\x1b\xb7\xa4\x38\x16\x62\x04\x01\x3e\x21\x64\xd6\xaa\xbc\x0d\x56\x2f\x54\x01\x5c\x36\x5c\x80\x44\x56\x07\x14\x5e\x56\x92\xee\x34\xf6\x35\x30\x77\xfa\xb7\x45\x2d\x88\xce\x3e\xb0\x1d\x2b\x37\x97\xdc\x91\xb3\x41\xa3\xa7\x26\x30\x15\x16\xba\xae\x18\xe8\x51\xf7\x4d\xfb\xdf\x08\x66\xbb\x23\x76\x86\x7d\xe5\x52\x31\xe3\x62\xc4\x72\xc5\x21\x16\x54\x4c\xd4\xf8\x1e\x93\x57\x1c\x4e\xc8\x20\xe7\xe6\x53\xf4\xe2\x1b\xe0\xa9\x42\x57\x6c\x9d\xe9\x1e\x7d\x12\x51\x68\x3d\x85\x9d\xe4\x48\xf8\x22\xdc\xf3\xd2\xcf\x55\xed\xe2\xf9\xc7\x1b\x60\x63\xd1\x37\x30\x61\xf8\xf5\x93\x6b\x69\x8d\x13\x84\xe6\x54\x59\xea\x2b\xc2\x6e\xc9\x67\x75\xef\x42\x52\x07\x43\x2d\xda\x0a\xc1\xfe\x28\x52\x6c\x5e\x45\x59\x34\x9c\x3d\x8d\xf9\x91\x82\x30\xf4\x04\x46\x83\xcc\x2c\x1b\x85\x8d\x14\x1a\xb8\xd0\x80\x5b\xb9\x33\x60\x67\x52\x2a\xa8\x9c\x81\x0f\x3e\xaa\x7a\xc2\xd8\xdd\x28\xc3\x75\x12\x25\xa1\x9e\xce\xc8\xbc\xca\x52\x43\x99\x46"}, -{{0xb0,0x17,0x53,0xef,0xa7,0x3b,0xb3,0xde,0x7a,0xa7,0x78,0xbe,0x7a,0xfc,0xbf,0xf6,0x6a,0x5d,0x3e,0x2c,0x2f,0x8b,0x5a,0xa2,0xb0,0x48,0x84,0x40,0x50,0x99,0x69,0x65,},{0xd0,0xcc,0x6c,0xf1,0x09,0xc9,0x99,0xfb,0xf6,0xd1,0x6f,0x47,0x1f,0xaf,0xd0,0x23,0x2b,0x0a,0x68,0xd4,0xc4,0x64,0x06,0xec,0x75,0x45,0xdb,0xab,0xa8,0x19,0x41,0x58,},{0x16,0xb7,0x42,0x12,0x27,0xae,0x09,0x13,0x06,0x85,0xcb,0xb1,0xa0,0xc6,0x0a,0xa5,0x7a,0x5e,0x1a,0xfe,0x1b,0xbe,0x6b,0xac,0xea,0x0c,0x28,0x1b,0xcc,0x89,0x98,0xe6,0x82,0x4a,0x77,0x2c,0x32,0x08,0xa6,0xb6,0xb4,0xd2,0x36,0x69,0x55,0x05,0xc9,0xbe,0x82,0x70,0x0c,0xf9,0x3a,0x78,0x39,0x85,0xa3,0x9e,0x16,0xe3,0x77,0xa7,0x41,0x0e,},"\x68\x4e\x61\x2f\x27\xee\xad\x0d\x34\x84\x4c\xc8\x1b\xa9\x11\xc2\x8a\xaf\x6d\x66\xe7\x12\x29\xe8\xcc\x34\x62\xf7\xc7\xa0\x50\xda\xa3\x0c\xb7\x44\x71\x15\x0f\x07\xda\xd4\x59\xb5\xa9\x13\x58\x47\x6c\x05\x98\x25\x5d\x8a\x64\x2d\xd7\xc0\x80\x28\x11\xbd\x88\xe4\xca\xc5\x97\xef\xe4\x1e\xbd\x96\xcd\x0f\x3b\x5c\xe7\x2d\xb4\xbe\x1a\x3d\xbd\x6b\x84\xf5\x44\x6e\x3d\xa6\x00\xd3\xb1\xd2\xb4\x60\xa0\x09\xbd\x31\xca\xcd\x98\xa9\x15\x18\xce\x33\xe9\xa7\x03\xd4\x04\x28\x87\x36\xcc\xc4\x31\x03\xfc\x69\xe6\x79\x74\xf3\x16\x52\xfa\x3d\xad\xef\x33\x37\xf6\xc8\x97\xa3\xd2\x01\x30\x3c\x8f\x03\x59\x7b\x4a\x87\xc9\x8f\x29\x1c\xcd\x58\xa3\xf1\xe8\x98\x33\x2a\xa5\x99\x3b\x47\xfc\xb5\xdd\xaa\x1c\x08\x68\xb6\x43\x74\x2d\x0e\x4a\x4b\x9c\xd4\x27\x03\x8b\x3b\x74\x99\x9b\xc8\x9a\xc3\x48\x4c\x0c\xa1\x3f\x25\xaa\xe8\xe7\x8a\xe1\xcc\xee\x62\x18\xac\xca\xb8\x1a\x4f\x69\x4f\x53\x24\xa3\x47\x62\x9d\x49\xb5\x5e\x40\x37\x50\x4a\x9a\xcc\x8d\xf5\x8c\x68\x41\xdd\xdc\xd4\xfc\x43\x47\xf7\xb6\xf1\xfd\x9d\xe0\x56\x45\x77\xe6\xf3\x29\xed\x95\x1a\x0a\x6b\x91\x24\xff\x63\xe2\x2e\xb3\x6d\x3a\x88\x63\xbc\x1b\xf6\x9c\xea\x24\xc6\x05\x96\x7e\x7d\x89\x48\x95\x3f\x27\xd5\xc4\xc7\x5f\x08\x49\xf8\x72\xa3\xe3\xd1\x6d\x42\x2f\xa5\xa1\x1e\x1b\x9a\x74\xdf\x6f\x38\xb9\x0f\x27\x7d\x81\xfc\xe8\x43\x7a\x14\xd9\x9d\x2b\xef\x18\x9d\x7c\xac\x83\xdd\xc6\x13\x77\xed\x34\x8b\x3c\x4f\xc0\x9e\xc2\xb9\x00\x59\x25\xd0\x4a\x71\xe2\x6d\x64\x16\x67\xbd\xf5\x49\x29\x43\x31\xc6\xea\x01\xcd\x5c\x0b\xd1\xb6\xa7\xec\xfd\xa2\x0b\x0f\x19\x29\x58\x2b\x74\x69\x7c\xb2\x62\xc3\x92\x7d\x6b\x22\x3f\x4b\x5f\x30\x43\xaa\x6e\xb4\x57\x1a\x78\xe9\xda\x11\xc2\xb3\x6f\x64\x55\x25\x80\xca\xa7\xb5\xfa\x6b\x90\xf9\x29\xe0\x16\x2e\x60\x8d\x12\x40\xd7\x24\x2c\xd2\xf4\x70\x25\xc0\x3d\xeb\xe0\x59\xb1\xdc\x94\x77\x02\x32\xbc\x67\x65\x14\x84\x80\xbb\x1d\x9f\x50\xda\x1e\xe6\x44\x8c\xf9\xc8\x8b\x19\xdd\x45\x99\x32\xc0\x6e\xd8\x11\xc4\xa6\x4a\x12\xd5\x93\x8b\xd1\xc7\x57\xbc\xfa\xea\xee\x89\x33\xfe\x5f\xff\x21\x76\x3d\xe7\x40\x48\x2b\xcf\x1b\xa5\x9a\xfd\xc8\xfc\xf8\x73\xc3\xd5\x07\xbb\x39\x4e\x32\xe4\x5f\x73\x65\x19"}, -{{0x4f,0x4b,0x20,0xd8,0x99,0x36,0x6f,0x2f,0x23,0xee,0x62,0x8f,0x22,0x9b,0x23,0x6c,0xf8,0x0f,0x43,0xba,0x18,0x31,0x77,0xc9,0x7e,0xe3,0x48,0x29,0x54,0x6f,0x17,0x42,},{0xc9,0x45,0x76,0x64,0x1f,0x4a,0x89,0x3c,0xdf,0xce,0xe7,0xb3,0x9f,0xc2,0x19,0x29,0xb8,0x6b,0x34,0x99,0x76,0xd7,0xb0,0xa4,0x6d,0x39,0xa5,0x88,0xbc,0xfe,0x43,0x57,},{0x0f,0x80,0xff,0x5d,0x17,0x48,0x8f,0xe2,0x6f,0x93,0xc5,0x43,0xb0,0x4e,0xd9,0x59,0xb5,0xf0,0x64,0x3f,0xc6,0x1c,0x7f,0x2c,0x3b,0xc6,0x01,0x32,0xba,0x9c,0x62,0x10,0xc8,0xb2,0x50,0xea,0x5e,0x84,0xd0,0x7b,0x01,0xde,0x68,0xbc,0x17,0x44,0x14,0xee,0xeb,0x31,0xfd,0xc2,0xba,0x68,0x23,0xe2,0x31,0xe3,0x12,0xa9,0x1e,0xde,0xdd,0x02,},"\xdb\x8e\xf0\x2e\x30\x33\xe6\xb9\x6a\x56\xca\xb0\x50\x82\xfb\x46\x95\xf4\xa1\xc9\x16\x25\x0d\xd7\x51\x73\xf4\x30\xa1\x0c\x94\x68\x81\x77\x09\xd3\x76\x23\x34\x6a\xe8\x24\x5b\x42\xbd\xa0\xda\x6b\x60\x46\x2c\xcf\xdf\xc7\x5a\x9a\xb9\x94\xe6\x6c\x9a\xb9\xfe\xcd\xd8\x59\x96\x10\x91\x0a\xff\xe4\xf1\x02\x15\xcb\x28\x0b\xf8\xf9\xf2\x70\x0a\x44\x47\x96\xda\xe9\x3e\x06\xc6\xbe\xa7\xd8\xb4\xfe\x13\x01\xba\xa7\x9c\xce\xc7\x69\x36\x8f\xeb\x24\x42\xc7\xde\x84\xf0\x95\xe6\xb3\xbf\xf6\x3d\x38\x8c\xba\xfb\x2b\x98\x09\xdc\x38\xe9\xb1\x2e\xbd\x03\x9c\x0a\x57\xf4\xd5\x22\xe9\x1e\xc8\xd1\xf2\xb8\xd2\x3a\x4a\x0a\xe0\x59\xaf\x85\x39\x3b\xb0\xa1\x5f\x74\x91\x10\xf6\x77\x4a\x1f\xd7\x31\xa6\xec\x21\x3e\x4f\xf4\x35\xda\xab\x54\x6d\x31\xed\x9e\xc3\xb6\xd8\xcc\x2e\xda\xce\xbf\x4f\xac\xc5\x56\x65\x56\xee\xa9\x2e\x5b\x3f\x25\x42\x23\x9b\x25\xe2\x80\x12\xdd\x4e\xf4\x00\x72\xee\xbf\x83\xed\x2a\x25\x51\x81\xf3\xa4\x42\x18\x9d\x68\xc6\xc6\x09\xf4\xdf\xdf\x3d\xb7\xd6\x7d\x08\x7a\x2f\xcd\x6d\x2d\xc5\x0b\xbf\xed\x8b\xfb\xbf\xcb\x74\xd3\xc4\x1f\x02\xa8\x78\x65\xb1\x3b\x8e\xfc\xf5\xc3\x58\x12\x57\xbe\x0a\xa9\x13\xf6\x0c\x37\x05\x27\xbd\xe1\x1a\x47\x5c\x13\x6a\x17\xc5\xee\xfe\xb0\x3f\x5b\xff\x28\x69\x3e\xd8\x41\xe8\xed\x1f\x7c\x29\x10\x2f\x55\x99\xdd\x44\x40\x09\xbc\xea\x6a\x92\xd5\x57\x41\x52\x45\x8e\x0c\xaf\x8a\x36\xaa\x72\xb5\xdc\x49\x08\xa6\x46\x1c\x9b\x74\x14\x53\x00\x5c\x8f\xbc\xc6\x81\x13\xae\x18\x42\x08\xee\x14\xb8\x35\x48\x0c\x6e\xfa\xfe\xd1\x8a\x76\x00\x0b\x38\xe5\x85\x82\x90\xf4\xd5\x1f\x52\xf0\x96\xcb\xe4\x90\xe1\xeb\x5c\xac\xb2\x26\xec\x49\x5a\x55\xa7\xfa\x45\x78\x43\xd5\x7f\xab\x67\xf8\xbe\x7e\x20\x93\x34\x78\x5b\xdd\x66\x5d\x7b\x63\xe4\xda\xf5\x7b\x6e\x78\x92\x8b\x60\x3c\x8c\x0f\x9b\xc8\x54\x64\x73\x3b\x61\x27\x3e\xf9\xe2\xb8\xa0\xcd\x7c\x3b\xf8\xee\x0a\x68\x72\xe3\x4d\x5a\x27\xa6\x25\xe3\x5e\xaf\x7f\xf5\x44\x0b\x8b\x14\x1a\xf7\x04\xdf\x70\xc9\xc1\x86\x23\xbd\x11\x20\x95\x13\x19\x25\x05\x10\x5c\xd7\xbc\xfa\x5f\x0d\x91\x9d\xa7\x06\x94\x8f\xbe\x1f\x76\x1f\x31\x58\x46\xaa\x3b\x48\x13\xdd\x9b\xa3\xd8\x1b\x92\x04\xe5\x40\x9c\x03\x82\xb6\xeb"}, -{{0xd2,0xe0,0x1d,0x25,0x78,0xb6,0x25,0xa7,0x06,0x0a,0xab,0xc2,0x57,0x65,0xf1,0x68,0xc6,0x80,0xce,0xf7,0x67,0xaa,0x97,0xca,0x0e,0x5e,0xb3,0xd6,0x67,0x47,0x4b,0x2a,},{0x19,0x1a,0xc2,0x23,0x57,0x54,0x24,0xaa,0x35,0x4b,0x25,0x5b,0x81,0x2d,0xd3,0x02,0x5d,0x70,0xed,0x82,0x9e,0x08,0x26,0xc0,0x16,0x29,0xf9,0xdf,0x35,0x45,0x08,0x2b,},{0x87,0xa0,0x10,0x39,0x4a,0x9f,0x2c,0x90,0x4e,0xff,0xef,0xca,0x9f,0xb4,0xd5,0xce,0x13,0x79,0x33,0x01,0xa4,0x92,0x5b,0xa5,0x1d,0xb1,0x19,0x12,0x3a,0x4d,0x73,0x0a,0xbf,0x76,0x4c,0xe0,0x65,0xe4,0x8d,0x90,0xa7,0x9d,0x90,0x7d,0x72,0x54,0xc4,0x0c,0xc3,0x58,0x98,0x7a,0x46,0x94,0x9e,0x92,0x8b,0xbb,0x3c,0xd0,0x85,0xdf,0xab,0x06,},"\x20\xd5\xdd\x69\x9b\x28\x53\x30\x2a\x68\x17\x09\x4d\x5e\xa5\x12\xbd\xf8\x53\x45\x04\xcb\x28\x9c\x60\x24\x67\x41\x07\x40\xec\x7e\xb8\xea\x64\x42\xc8\x0f\x14\x59\x35\x06\x8f\x91\x22\xfd\xf4\xa3\x9f\x20\x10\xf3\x3d\xb5\x5b\x81\x4d\x97\xbf\x2e\x58\x72\x32\x9f\x11\x26\xd4\xeb\x95\xb8\x06\xca\x19\x73\x11\x31\x65\xb1\x16\xbe\x87\x16\x37\x1f\x81\x33\x17\x79\xdc\x79\xa5\xcb\x39\x42\x08\x1a\xb5\xf2\x07\xf6\xb5\x3d\xb0\xe0\x03\x81\x07\xd6\x3c\xa9\x77\x08\x18\x19\x82\xdc\xb5\xf3\xb9\x30\x10\xec\x6e\xdf\xb2\xcf\xd3\x1c\xab\x00\x09\x0b\x3c\x38\x51\x5f\x97\x81\x76\x96\x86\xcb\x17\xab\x81\xd5\x4a\x8b\x77\x57\x54\xd4\x2f\xba\xd0\x86\xb8\x0b\x28\xd6\x36\xf7\x8b\x7e\xb7\x7e\xd9\xca\x35\xb6\x84\x3a\x51\x0f\x0a\xd0\xac\x1b\x20\x26\x7a\x00\x03\x01\xb3\xc7\x07\xa2\x0f\x02\x14\xd5\x9b\x5b\x81\x99\xc2\xf9\xee\x25\xd3\x20\x60\xac\xe3\xe0\xf2\x59\x46\x50\x41\x6a\x00\x71\x6c\xd3\xf9\x86\x04\xa5\xe1\x04\xb3\x33\x10\xfd\xae\x94\xc3\x14\x01\x3c\xdc\xa5\xba\x24\x14\x40\x9e\xb7\xf1\x90\x13\x94\xf0\x07\xd6\xfa\x0a\x29\xdb\xe8\xec\x3d\xf9\x8c\x39\x3c\x8d\x72\x69\x58\x77\xcc\x9b\xaf\x49\x1e\xf3\x0e\xf7\xdb\x33\x71\x60\x8c\xa9\x7c\xc6\x21\x56\x25\x20\xee\x58\x1d\x5d\x1c\xdb\xc7\x82\x32\xd6\xc7\xe4\x39\x37\xb2\xcc\x85\x49\xe6\xf1\xe0\x8d\xf5\xf2\xea\xc8\x44\xfe\x0f\x82\x2b\x24\x83\xad\x0a\x5d\xe3\x3b\xe6\x40\x89\x49\x0e\x77\xd6\x98\x00\xfa\xe2\x58\x9e\xe5\x87\x12\xac\x15\xa3\xf1\x9e\x6f\xfd\xbc\xa4\x2f\xe1\x89\x4e\x88\x9b\x94\xc0\x4b\x04\x24\x0d\xaf\xb0\xb2\x73\x0c\x23\x6b\x8c\xce\xb2\xcb\x97\xaf\xd1\xd5\x15\xdc\x19\xd1\x06\x7f\xd4\xab\xa8\xce\x29\x7f\xd6\xd1\x10\xb3\x5a\x21\xbd\x3c\x07\x5c\x57\x7d\x93\xfe\x1d\xf7\x7d\x64\x8f\x71\x19\x49\x20\x99\xb0\x17\xaf\x44\xeb\xa0\x9c\x80\x7f\x11\xa4\xc3\xf4\xa1\x1a\x2f\xff\x30\x6a\x72\x8b\xa7\x89\x83\x32\x3c\x92\xa2\xfd\x5f\xcc\x80\xc1\x8d\x42\x34\x26\xf8\x23\xa7\x3f\xe0\x40\x94\x95\x52\x84\x29\x3f\x5f\x6b\x3c\xa4\xff\x10\x80\xdb\xb1\xe4\xc6\xf7\x4c\x1d\x93\x5e\xd2\x1e\x30\x09\x4c\x7d\xe3\x36\xb8\x2d\xd8\x20\x0b\x0d\x65\x95\x83\xc5\xbf\xd5\x47\x0f\x9d\xb3\x42\xe7\x0e\xc4\x00\x07\x42\xc5\x64\x0a\x21\x4e\x3c\x2e"}, -{{0x7c,0xd7,0xec,0x99,0xdd,0x03,0xae,0xde,0x1f,0xf1,0x07,0x3e,0xc2,0xca,0x70,0x10,0x27,0x6e,0x94,0x7e,0x2a,0xa9,0xb0,0xe6,0x5f,0x87,0x7e,0x4c,0xcf,0x1b,0x3a,0x14,},{0xe4,0xc3,0x9d,0xbe,0x94,0x93,0x17,0x6b,0x82,0x13,0xf1,0x42,0x2a,0x9d,0xe7,0xc7,0x4f,0xb6,0xa5,0x91,0x90,0xfc,0xdb,0xf6,0x37,0xc7,0xad,0x5e,0xe1,0x65,0xc0,0x4f,},{0x6f,0x99,0x20,0x27,0x70,0x96,0x45,0x35,0xe4,0x83,0xa0,0xee,0x01,0xa5,0x29,0x44,0x2e,0xb3,0x21,0x30,0x3f,0xa8,0x05,0xd4,0x75,0x60,0x4d,0x7f,0xc7,0x28,0xa9,0x10,0x3f,0xb7,0xb5,0x58,0xb9,0x55,0xf4,0xd0,0x37,0x19,0xee,0xfa,0xa3,0xb7,0xed,0x5b,0x0d,0xa7,0x57,0x10,0xbb,0x98,0x78,0x7f,0x5c,0x22,0x82,0xed,0x66,0xe9,0xf6,0x0c,},"\xa6\x03\x4a\xa3\xc2\x48\x49\x23\xe8\x0e\x90\xe5\xa8\xe1\x74\x83\x50\xb4\xf2\xc3\xc8\x31\x9f\xaf\x1a\x2e\x32\x95\x15\x0a\x68\xe1\xee\xca\x1b\xc8\x49\x54\xcc\x89\xd4\x73\x1a\x7f\x65\x12\xaf\x01\x46\x4f\xdb\xce\x5d\xf6\x8e\xe8\x06\x6a\xd9\xa2\xfd\x21\xc0\x83\x5a\x76\x55\x9c\xa1\xc7\x44\x9a\x93\x3b\xcb\x15\xaf\x90\x22\x3d\x92\x5f\xf6\x1c\xd8\x3e\xb9\x35\x69\x83\x47\xa5\x70\x72\x70\x9a\x86\xb4\xe5\xa7\xa6\x26\xe0\x7a\x3f\x2e\x7e\x34\x1c\x77\x83\xa5\x40\xf8\x4a\xa7\x3e\x91\x7e\x86\x7b\xb8\x0b\xac\xe6\x25\x47\x05\xa9\xd1\xa1\x18\x5d\xe5\x6e\x1a\x4e\x78\xaa\xf5\x39\xe7\x49\xb8\xf7\x65\xbd\x05\x2c\x4c\xd1\x5b\x63\x8b\xf8\xec\xf8\x7d\x98\x14\x60\x6f\xed\x5a\x69\xf4\xda\xe9\xda\x47\xf3\x80\x6d\xd9\x0b\xe6\x4f\xcc\xd3\x36\x5c\xbe\x9e\x01\xc5\x88\xfe\x65\xd6\xb6\x03\x28\x07\x40\x96\x2a\xa8\xdd\xb9\x5a\x3f\x4f\x67\x4c\x03\xbc\x40\x43\x09\x2c\x54\x45\x95\x56\x82\x70\xa2\xc2\xa8\xaa\x06\xe3\xf6\x7c\x31\x99\x8c\x50\xb9\xa5\x8a\xca\xd0\x06\x90\xd3\x84\x81\x14\xcb\x19\x32\x93\xc8\xac\x21\x01\x6f\xd9\x96\xf5\xc6\x42\x14\x06\x4f\x82\x16\x7b\x2c\x92\x0c\xd8\xa8\x39\x75\x58\x52\xac\x77\xc3\xd9\x05\x26\xdd\x3a\xdb\x96\x83\x7c\xf4\xe7\x26\xf3\x4b\xd0\x29\x55\xcb\xac\x5b\x82\xc9\x2c\xf4\xaa\x8b\x54\xbb\x6e\x43\x6d\xae\x9b\xf8\x93\xef\x05\x0c\x6f\x13\x5a\x7e\x62\xfc\xd8\x34\xda\xc1\xd2\xbe\x8b\x8e\x59\xd6\x96\x13\x18\x11\x70\x1c\x43\x18\xbb\x6e\x9b\x5a\x20\xbe\xc6\x56\xfd\x2b\xa1\x92\xe2\x73\x2f\x42\x29\x63\xbe\xd4\xa4\xfd\x1e\xc9\x32\x63\x98\xdc\xe2\x90\xe0\x84\x8c\x70\xea\x23\x6c\x04\xc7\xdb\xb3\xb6\x79\x21\x44\x0c\x98\xd7\x27\x53\xf6\xa3\x32\xea\xad\x59\xfd\x0f\x57\x74\x29\x23\xfb\x62\x5f\xef\x07\x0f\x34\x22\x5e\xa0\x6c\x23\x63\xd1\x23\x66\x6b\x99\xac\x7d\x5e\x55\x0d\xa1\xe4\x04\xe5\x26\xb5\xb2\x29\xcb\x13\x0b\x84\xb1\x90\x3e\x43\x1c\xdb\x15\xb3\x37\x70\xf5\x81\x1d\x49\xfb\xd5\x0d\x60\xa3\x47\x4c\x0c\x35\xfc\x02\x1d\x86\x81\x81\x9e\xc7\x94\xcc\x32\xa6\x34\xbc\x46\xa9\x55\xaa\x02\x46\xb4\xff\x11\x24\x62\x3c\xba\xfb\x3c\xb9\xd3\xb9\x2a\x90\xfd\xe6\x48\xe4\x14\x63\x61\x92\x95\x2a\x92\x29\x1e\x5f\x86\xef\xdd\xb8\x9c\xa0\x78\xae\xa7\x71\x7f\xc7"}, -{{0xe3,0xca,0x37,0x13,0xa2,0xfd,0x41,0x2a,0xd5,0x33,0x6b,0xc3,0x56,0xb7,0x7b,0xe0,0x27,0xd5,0xb7,0x08,0x15,0xb3,0xac,0x2a,0xec,0xd8,0x34,0x0e,0xf5,0xf8,0x89,0xb1,},{0x1d,0x51,0x6c,0xb8,0xbe,0xf1,0x16,0xa0,0xc1,0xb6,0x92,0x90,0x09,0x93,0x3f,0x6e,0xb6,0x2c,0x23,0x05,0x07,0x45,0xfe,0x7e,0x8d,0x3c,0x63,0x16,0x23,0x77,0x81,0x11,},{0xb3,0x85,0x7e,0xa6,0x1b,0xaa,0x9e,0x62,0x83,0x8c,0x4e,0x3a,0x99,0x65,0x02,0xd3,0x36,0x4f,0xe1,0xec,0x59,0x42,0x58,0x35,0x50,0x73,0xdd,0x10,0xe4,0x97,0xc6,0x00,0xbe,0xfb,0x1f,0x8f,0x23,0x3f,0xd6,0xe3,0xb2,0xc8,0x7f,0x10,0xdc,0xb7,0x26,0x1a,0xaf,0x34,0x81,0xbf,0xd0,0x90,0x26,0x05,0xac,0xcc,0x90,0x0f,0xef,0x84,0xd4,0x07,},"\xdd\x99\xba\xf2\x95\xe0\x13\xee\xd1\x07\xba\x8a\xf8\x11\x21\xaa\xf1\x83\x5a\x3c\xca\x24\xf8\xe4\x64\xb4\xcf\xca\xa3\xc7\xbf\xfe\x6f\x95\x36\x01\x6d\x1c\x8c\xf3\x75\x03\x8c\x93\x27\xe8\xe2\x1b\x00\x40\x66\xf5\xea\xc0\xf7\x6a\x3e\x8e\xdf\xb0\x7b\xe8\xbd\x2f\x6b\xc7\x9c\x3b\x45\x6d\xe8\x25\x95\xe2\xc2\x10\x5b\xb1\xb0\xaa\xba\x5e\xee\xe1\xad\xef\x75\x21\x67\xd6\x33\xb3\x22\xeb\xf8\xf7\xcd\x5f\xbf\x59\x50\x8f\xdb\xdb\xec\xf2\x5e\x65\x7a\x9c\x70\x50\xaf\x26\xa8\x0a\x08\x5b\x08\x17\xc6\x21\x7e\x39\xac\xd5\x4c\xb9\xfa\x09\x54\x0f\xc7\xbd\xc5\x22\x6d\x6a\x27\x6d\x49\x2c\xc8\xa3\xdf\xfc\x2a\xbc\x6d\x0b\x9f\xb0\x8c\xbc\xcd\xd9\x43\x2e\x44\x98\x21\xa5\xdc\x98\xcf\xb3\xa4\x18\xe5\x39\xc8\x90\xfe\x5a\x04\x46\xb9\xf8\x1d\x30\x67\x00\x92\x7a\xde\x61\xcf\xdc\xc0\x62\x4f\x13\xb5\x84\x07\x48\x77\x46\x04\x80\x57\x31\xd9\x2e\x77\xd5\xde\xf6\x6b\xe4\x4c\xc8\x17\x94\x6f\x1c\xd7\x58\x19\x6c\xf4\x80\xf9\x9e\x71\x17\x83\x5c\x4c\x87\xcb\xd6\x40\x77\xa5\x62\xa8\x0c\xf1\x1d\x8c\xa6\x5b\xe7\xa9\x4d\x92\xb9\xdd\xae\xa9\x97\xe9\x3f\x14\x48\x57\x7e\xd6\xd8\x43\x6b\x2f\x31\x44\x69\x2c\x1f\xd7\xd2\x8a\x03\xe9\x27\x4b\xc9\xe8\x66\x9d\x85\x75\xf5\xde\x20\xcf\xbd\xbc\xb0\x4e\x9f\x39\xf3\x45\x1d\x70\x48\x37\x5e\x26\x98\xe7\x22\x84\x6c\xb4\xf2\xd1\x9a\x81\x0c\x53\xd4\xc1\xa6\xc3\xb7\x70\xfb\x40\x2d\xf0\x53\x0e\x7b\x29\x07\x22\x3f\xd0\x89\x9e\x00\xcb\x18\x8c\xa8\x0c\x15\x31\xb4\xe3\x7f\xba\x17\x6c\x17\xa2\xb8\xf5\xa3\xdd\xc7\xa9\x18\x8d\x48\xff\xc2\xb2\x72\xc3\xda\x9c\x9b\x89\xdf\xe5\x3f\x2f\xe7\xe3\x67\x2f\x91\xd1\x18\x18\x49\x1a\xce\x14\x0a\xdc\xae\x98\x50\x2e\x11\x4f\x4b\x35\x2b\x90\xe2\xe7\xfb\xd3\x33\xb2\x45\x9e\x7f\x15\xdd\x07\x64\xc9\xc3\x4e\x4c\xb7\xcc\x09\x55\x00\xcd\xa0\x35\xe8\xe2\xe4\xe3\xc8\xfd\x5d\xf5\xf3\xaa\x57\x9a\x73\x5d\xd8\xa9\xf1\x9e\xf3\x36\xfa\x97\x11\x14\xe4\x66\x18\x73\x4a\x4c\x13\xd3\x0c\x81\x12\x8c\xa2\x1d\xef\x47\x33\x01\x03\xd2\x3d\x80\xff\xe6\x74\x21\xa6\xcc\xf9\xf3\x6a\x93\xf0\x56\x03\xc5\x99\xee\x10\xb0\x34\x51\xf3\x6b\x21\x33\xc1\x87\xa7\x9a\xd9\xe6\xfd\xfb\xb1\x25\x95\xab\x73\xbb\x3e\x2e\x2e\x43\x03\x0f\xd3\x7e\x59\x1c\xf5\x5d"}, -{{0x29,0xa6,0x3d,0xcd,0x48,0xa3,0x51,0x77,0x14,0x11,0xfd,0xdc,0xab,0x46,0xbb,0x07,0x1e,0x91,0x49,0x85,0x76,0xe8,0xd0,0x2f,0x8b,0x60,0x44,0xf5,0xbd,0xd3,0xed,0x90,},{0x39,0x23,0xfd,0xcc,0x2a,0x9f,0xe5,0xca,0xbf,0x6e,0x99,0x32,0xe4,0x6d,0xbd,0x2b,0x7f,0x36,0x32,0x50,0x0f,0x9d,0x95,0x55,0x2d,0xb2,0xb0,0x45,0xbc,0x41,0x16,0x6f,},{0x12,0xbf,0x62,0x95,0x93,0xe2,0xca,0xad,0xc9,0x10,0xec,0x40,0xbf,0xe2,0xb7,0xa6,0x25,0x14,0x12,0x6b,0x16,0xba,0x3a,0x43,0x8d,0x88,0xe2,0xd2,0x1f,0x59,0x5a,0xae,0xe8,0xab,0xfa,0x4a,0xf2,0xec,0x87,0x03,0x61,0xd0,0xea,0x04,0xdf,0xc8,0xc6,0xa3,0x30,0xfb,0x28,0x41,0xc2,0xd8,0x21,0x1a,0x64,0xfa,0x1e,0x7e,0x7d,0x27,0x38,0x00,},"\xff\x18\xca\x0c\x20\x4c\x83\x86\xa4\xaa\x74\xec\x45\x73\xc7\xb6\x92\x16\xb3\x14\x70\xda\xed\xd9\x6a\x4f\x23\x02\x11\x6c\x79\x55\xd7\x2d\xac\xc8\x8e\x37\x14\x55\x0c\x09\xe6\xf7\xb9\xa8\x58\x62\x60\xdc\x7e\x63\xda\x4c\x63\x3b\xae\x01\x62\xe1\x16\xe5\xc1\x79\x7b\x78\xd8\x7d\x47\xff\xee\xa3\xd7\x81\x9d\xf9\xc8\x52\xf0\xff\x30\x93\x6a\x10\x5d\x3a\xf5\x53\x1a\x8f\x89\x54\x97\x11\xc1\x4c\x2d\x3e\xe1\x15\x64\xe7\xc8\x52\x5b\xd5\x88\x64\x00\x97\x62\xa0\x55\x41\xd8\xe0\x7a\xd8\x41\xa5\x5a\x6a\x9a\x00\x7e\xf2\x09\xcc\xec\x4b\x56\x40\xba\xbe\x35\x65\x1b\x61\xdf\x42\xde\x4d\x91\x0e\xe7\x3a\x93\x3c\x0b\x74\xe9\x95\x75\x7e\x84\xa9\x9e\xb0\x34\xf4\x18\x07\x18\x3c\x90\xca\x4e\xa8\xd8\x4c\xdb\xa4\x78\x61\x3c\x8e\x58\x7c\xb5\xf8\xfb\x6a\x05\x50\x81\xda\x6e\x90\x22\x0d\x5d\x86\xe3\x4e\x5f\x91\xe4\x88\xbd\x12\xc7\xa1\xa6\xb3\xc9\xfc\xe5\x30\x5e\x85\x34\x66\x58\xef\xfa\x81\x0d\x0e\x8a\x2a\x03\x9d\xb4\xa4\xc9\x49\x65\xbe\x40\x11\xf9\xd5\xe5\xda\x26\x62\x33\xe6\xc4\xe1\x8e\xd4\xf8\xa2\x5a\x57\xe4\x0a\x59\x1c\x7e\xd5\x90\xc0\xf8\xb1\xa1\x19\xc7\xc9\x74\x7f\x69\x1b\x02\x19\x6c\xd1\x8e\x69\x45\x21\x3f\x1d\x4c\x8c\x95\x79\xc6\xe0\xa2\xac\x45\x92\x41\x28\xd6\xd9\x2c\x8e\x4c\x66\x06\x53\x20\x35\x3d\x48\xd1\xd5\xe1\x31\x94\xd9\x05\xf8\x37\x07\x8f\x8d\xac\x0b\x68\xcf\x96\xae\x9e\x70\x55\x4c\x14\xb2\xfa\x29\xb1\x96\x30\xe4\xb0\xf5\xd2\xa7\x67\xe1\x90\xef\xbc\x59\x92\xc7\x09\xdc\xc9\x9a\xa0\xb5\xaa\xf4\xc4\x9d\x55\x13\xe1\x74\xfd\x60\x42\x36\xb0\x5b\x48\xfc\xfb\x55\xc9\xaf\x10\x59\x69\x27\xbc\xfa\xd3\x0b\xac\xc9\x9b\x2e\x02\x61\xf9\x7c\xf2\x97\xc1\x77\xf1\x92\x9d\xa1\xf6\x8d\xb9\xf9\x9a\xc6\x2f\xf2\xde\x3b\xb4\x0b\x18\x6a\xa7\xe8\xc5\xd6\x12\x39\x80\xd7\x59\x92\x7a\x3a\x07\xaa\x20\x8b\xee\xb7\x36\x79\x5a\xe5\xb8\x49\xd5\xda\xe5\xe3\x57\x37\x10\xaa\xa2\x4e\x96\xd5\x79\x1e\x27\x30\xd0\x27\x0f\x5b\x0a\x27\x05\xba\x51\x5d\x14\xaa\x7e\x6f\xa6\x62\x23\x75\x37\x7f\x9a\xba\x64\xd0\x25\x69\xa2\x09\xd3\x3d\xe6\x86\xe0\x89\xec\x60\x11\x8e\x48\x14\xff\xc6\xc0\x77\x8c\x64\x27\xbc\xe2\xb6\xb8\x44\xcf\xcd\x5a\x7c\xed\x0e\x35\x30\x3f\x50\xa0\xdf\xe5\xdf\x5d\xde\x1a\x2f\x23"}, -{{0xc7,0x18,0x8f,0xdd,0x80,0xf4,0xcd,0x31,0x83,0x9e,0xc9,0x58,0x67,0x1e,0x6d,0xd0,0x8b,0x21,0xf9,0xd7,0x52,0x8c,0x91,0x59,0x14,0x37,0x34,0xf9,0x4b,0x16,0x98,0x83,},{0x01,0x97,0x52,0xff,0x82,0x9b,0x68,0x59,0xb9,0x05,0x8d,0x00,0xc2,0x79,0x5e,0x83,0x56,0x55,0x44,0x06,0x75,0x75,0x3f,0x37,0xe8,0x5e,0xb7,0xbc,0x58,0x39,0xc4,0xca,},{0x35,0xc1,0x70,0xdd,0x0c,0x6d,0xc2,0x92,0x0a,0x59,0x57,0x75,0xd8,0xe2,0xdd,0x65,0x24,0x3e,0x9c,0x1b,0xf9,0x6e,0xf4,0x27,0x79,0x00,0x1e,0xd4,0x5f,0x01,0xb7,0xdf,0xeb,0xd6,0xf6,0xa7,0xdc,0x2d,0x38,0x6e,0xf4,0xd2,0xa5,0x67,0x79,0xeb,0xe7,0x7f,0x54,0xe5,0xae,0xcf,0xda,0x2d,0x54,0xa0,0x68,0x47,0x6b,0x24,0xdb,0xd7,0x8b,0x0c,},"\x4a\xf5\xdf\xe3\xfe\xaa\xbe\x7f\x8f\xcd\x38\x30\x8e\x0b\xd3\x85\xca\xd3\x81\x1c\xbd\xc7\x9c\x94\x4e\xbf\xe3\xcd\x67\x5c\xf3\xaf\xbe\xf4\x54\x2f\x54\x29\x75\xc2\xe2\xa6\xe6\x6e\x26\xb3\x2a\xc3\xd7\xe1\x9e\xf7\x4c\x39\xfa\x2a\x61\xc5\x68\x41\xc2\xd8\x21\x2e\x2b\xd7\xfb\x49\xcf\xb2\x5c\xc3\x60\x9a\x69\x3a\x6f\x2b\x9d\x4e\x22\xe2\x09\x9f\x80\xb7\x77\xd3\xd0\x5f\x33\xba\x7d\xb3\xc5\xab\x55\x76\x6c\xeb\x1a\x13\x22\xaf\x72\x6c\x56\x55\x16\xce\x56\x63\x29\xb9\x8f\xc5\xdc\x4c\xbd\x93\xce\xfb\x62\x76\x88\xc9\x77\xaf\x93\x67\xb5\xc6\x96\x59\xe4\x3c\xb7\xee\x75\x47\x11\xd6\x65\xc0\x03\x2a\xe2\x29\x34\xf4\x4c\x71\xd3\x11\x78\xef\x3d\x98\x10\x91\x28\x74\xb6\x2f\xa5\xe4\x02\x0e\x6d\x5d\x64\x58\x18\x37\x32\xc1\x9e\x2e\x89\x68\x5e\x04\x64\xe9\x1a\x9b\x1c\x8d\x52\x51\xe2\x4e\x5f\x91\x81\x3f\x50\x19\xa7\x40\xa0\x4b\x5d\x91\xcb\xb8\x30\x9e\x51\x61\xbb\xa7\x9d\xca\xb3\x82\x39\xa0\x91\xf5\x0e\x09\x9f\xf8\x19\xe3\xa7\xb5\x20\x5f\xe9\x07\xcd\xfe\x9c\x0d\xc3\xee\x85\xe3\x2d\x7b\xcd\x3c\xe0\x26\x35\xe2\x05\x83\x88\x03\x1e\x31\x7f\xbf\x22\xab\x9f\x39\xf7\xf7\xe3\xcd\x1a\x11\xa9\xc1\xf4\x5f\x4e\x1e\x42\xd2\x53\x6c\x12\x2c\x59\x18\x37\x91\x18\x47\x10\x8c\xea\xfd\x99\x08\x13\xc2\xb6\x34\x4c\xff\xc3\x4b\xe3\x71\x61\xdd\x81\x56\x26\x90\x0e\x8f\xcb\x85\xc2\x1a\xfb\x4f\x6b\xe8\xad\x01\x51\x6a\x31\xc2\xa6\x58\x03\x15\x85\x7c\x6a\x21\x67\x35\xca\x99\x10\x09\xdb\xc2\xea\x50\x34\x16\x07\x47\xa8\x69\xd5\xca\xdb\x0b\x47\xff\xbd\x5d\x3a\xc9\x7f\xdd\x05\x26\xca\xe6\xea\xa3\x5c\xff\x7a\x16\xea\xf4\xfb\x95\x0c\xa3\x15\x11\x34\x6f\xea\x61\x41\x99\x9a\x3f\x75\x4e\x62\x81\xcf\xba\x15\xe8\xa8\x26\x93\x2c\x58\x9c\x5d\x24\x7c\x90\x9d\x94\xb4\xea\xb7\xeb\xcb\x09\x07\x76\x48\xaf\x06\x5c\x2d\x86\x61\x1e\xb5\x88\x45\x3e\xd7\xc2\x47\x80\xd7\x3c\x68\x9c\x87\x44\xaf\xd5\x33\xa8\x6d\x9e\xe9\xe3\x36\x57\x32\xcb\xd0\xc3\x51\xe4\x36\xf8\x98\xb7\x04\x32\x92\x09\x7e\x03\xe6\x08\x1a\x23\xac\x86\x5e\x19\xdc\x88\x58\x96\x9b\x99\x9d\x01\xfa\x65\xef\x20\x0c\x3f\x26\x9c\x81\x8e\x30\xb9\x36\x5e\xcc\x68\x3b\xcf\xe6\x9c\x20\x3b\x4e\x0a\xb6\xfe\x0b\xb8\x71\xe8\xec\xaa\xae\x82\xd3\xac\xd3\x5d\x5b\x50"}, -{{0x38,0xba,0x06,0x21,0x70,0x4d,0x21,0x55,0xfc,0x2f,0x78,0x55,0x51,0x96,0x57,0x5d,0xe0,0x6d,0x80,0x25,0x5c,0x35,0xe9,0xdc,0x96,0x5b,0x6f,0xe9,0x6a,0x4d,0x53,0x89,},{0x43,0x88,0xf7,0xf6,0x8a,0x9e,0xff,0xbc,0x36,0x6e,0x42,0xd9,0x07,0x01,0x56,0x04,0xda,0xce,0xd1,0x72,0x7c,0xd1,0xd8,0x9d,0x74,0xad,0xcc,0x78,0x9f,0xd7,0xe6,0xe1,},{0x42,0xbe,0xd6,0xa9,0x87,0x86,0xf6,0x64,0x71,0x5f,0x39,0xbb,0x64,0x3c,0x40,0x5a,0xe1,0x75,0x00,0x56,0x46,0x0e,0x70,0x04,0x69,0xc8,0x10,0x38,0x95,0x04,0xc5,0x1c,0xff,0xd9,0xe1,0xa9,0x4c,0x38,0xf6,0x92,0xfb,0x31,0x62,0x65,0x31,0x6d,0x8f,0x4d,0xc3,0xad,0x1c,0xdd,0x8a,0x6d,0x59,0x91,0xef,0x01,0x0c,0xd1,0x48,0x9d,0x7c,0x09,},"\xed\x4c\x26\x83\xd6\x44\xb0\x5b\x39\xb0\x48\xef\x1f\x8b\x70\x25\xf2\x80\xca\x7e\x8f\xf7\x2c\xb7\xed\xa9\x93\x29\xfb\x79\x54\xb7\x00\x40\x07\x05\x27\x5f\x20\xb8\x58\xcf\x7e\x34\x9a\x35\x10\x66\x5b\x63\x06\x09\xc5\xe2\xe6\x20\x69\x26\x3a\xb9\xc5\x5e\x41\x23\xa5\x64\xdc\xa6\x34\x8c\x8a\x01\x33\x20\x75\xe7\xa5\xbe\xc9\xc2\x0a\x03\x80\x79\x57\xfe\xfa\x91\x0e\x60\xc3\x5a\xe5\x79\x77\x8c\xe2\xce\x42\xe6\xa6\x9a\x1b\x64\x76\x81\xe4\x3e\xc4\xb6\x3b\xd5\xfb\xef\xab\xb3\x17\x12\xcb\x3d\x64\x19\xea\xd7\x8d\xd4\x1c\x8a\x92\xaa\xce\xb6\x3c\xbf\xa8\x9d\x2a\xf3\x96\x06\xde\x01\x0a\x39\x7e\x30\x20\x53\xa6\x15\xc1\x6e\x5e\x95\xad\x99\x35\xc0\x79\xa0\xb8\x10\x31\x25\x78\x94\x71\xa1\xe3\x57\x4f\x42\x9b\x29\xe4\xd2\x25\xc7\x72\x3f\xbb\x3c\xf8\x8c\xbd\x73\x82\x3d\x9f\x0b\x6c\x7d\x05\xd0\x0b\xde\xb0\xfb\x0a\xd3\xd7\x13\x20\x33\x18\x3e\x21\xf6\xc1\xe8\xd8\xe4\xc0\xa3\xe4\xf5\x2f\x50\x01\xda\x68\x71\x71\x34\x5c\x6d\xc8\xb4\x2c\x42\xa6\x0d\x1f\x1f\xfa\x8f\xe3\xe7\xbc\xec\xe5\x9a\x03\x58\x78\xf9\xd4\xd8\x11\x27\xe2\x24\x96\xa4\x9b\xfc\xf6\xbf\x8b\x46\xa8\x0b\xd5\x62\xe6\x52\x55\x07\x1f\x9d\x11\xa9\xeb\x04\x81\xf4\x62\x6d\x4d\x71\xff\xc3\x8a\xfe\x6e\x35\x8a\x4b\x28\x91\x79\xcb\xce\x97\x64\xd8\x6b\x57\xac\x0a\x0c\x82\x7e\x8f\xf0\x78\x81\x33\x06\xa1\xd5\xfa\xdd\x32\xb4\x6a\x1f\xbc\xd7\x89\xff\x87\x54\x06\x3e\xec\xfe\x45\x31\x3b\xeb\x66\x01\xc3\xa3\x01\x0e\x8e\xb9\x7c\x8e\xff\xbd\x14\x0f\x1e\x68\x83\x11\x09\x2d\x27\x3c\x4d\xef\xca\x47\xda\x6f\x1f\x08\x25\x74\x46\x76\xf9\xa2\x80\xb6\xc2\xa8\x14\xfa\x47\xfa\xbc\x19\x80\xd0\xb3\x7f\x08\x7a\x53\xca\x87\x78\xf3\x9f\xfb\x47\x4f\xf5\xf1\x17\x1b\x44\x2c\x76\xdd\x00\x8d\x92\x18\x2f\x64\x4a\x71\x4a\x0f\x01\x1e\x21\x5a\x78\xb9\x7a\xf3\x7b\x33\x52\x0e\xbf\x43\x37\x2a\x5a\xb0\xcf\x70\xdc\xc1\xdc\x2f\x99\xd9\xe4\x43\x66\x58\xf8\xe0\x7c\xdf\x0b\x9e\xa4\xdd\x62\x24\xc2\x09\xe7\x52\x1b\x98\x1e\xe3\x51\xc3\xc2\xdf\x3a\x50\x04\x05\x27\xfc\xd7\x28\x04\x17\x60\x46\x40\x5d\xb7\xf6\x73\x4e\x85\xc5\xd3\x90\xf5\x20\xb0\xc0\x8d\xcb\xfa\x98\xb8\x74\x24\x80\xd5\xe4\x6f\x9b\xe8\x93\xf6\xd6\x61\x43\x40\xf8\x16\x16\x11\xd5\x05\x3d\xf4\x1c\xe4"}, -{{0xae,0x33,0x1f,0xc2,0xa1,0x47,0x59,0xb7,0x3f,0x1c,0xd9,0x65,0xe4,0x85,0x14,0xe1,0x2b,0x29,0xf6,0x3b,0x06,0xcc,0xfc,0x0a,0xd4,0x9f,0x36,0x82,0x0e,0x57,0xec,0x72,},{0x08,0x80,0x3d,0x48,0x23,0x8e,0xda,0x3f,0x9c,0xeb,0xb6,0x28,0x53,0x01,0x21,0xde,0x00,0xf0,0xf0,0x46,0x8c,0x20,0x2d,0x88,0x52,0x8b,0x8b,0xce,0xc6,0x87,0xa9,0x03,},{0x75,0xf7,0x39,0x08,0x88,0x77,0xe0,0x6d,0xc5,0x6d,0xae,0xc8,0xf1,0xe4,0xd2,0x11,0xb7,0x54,0xe3,0xc3,0xed,0xbf,0xa7,0xed,0xa4,0x44,0xf1,0x8c,0x49,0xb6,0x9c,0x5a,0x14,0x2d,0xb4,0x5a,0x0a,0x76,0x50,0xe4,0x7d,0x10,0x55,0x0b,0xa6,0x81,0xff,0x45,0xdd,0x44,0x63,0xc4,0xac,0x48,0xbf,0x44,0xb7,0x30,0x34,0xbd,0x56,0x59,0x22,0x0e,},"\x57\x16\x00\x33\x90\xe4\xf5\x21\x65\x98\xa0\x3d\x7c\x43\x0d\xbf\x49\x5e\xe3\xa7\x55\x7b\x58\x06\x32\xba\x59\xf1\x51\x98\xb6\x18\x0a\x42\x46\x9c\x23\x7d\xb5\xbc\x81\xf2\x9c\xfa\xab\x0a\xff\x3c\x99\x66\x30\x9a\xb0\x69\x58\xc9\xd7\x12\x6a\xdd\x78\xe3\xb3\x24\x59\xff\x8a\x0e\x0b\xde\xf8\x74\xb5\x8e\x60\x83\x66\x8f\x38\xad\x7d\x63\xaa\xe1\xf1\x2e\x26\xa6\x13\x34\x8f\x9f\x03\xea\x5d\x20\x5f\x04\x5d\x78\xcc\x89\x02\xd4\x7f\x81\xe8\xb5\x22\x93\xe7\x0e\x86\xc9\x80\x3d\x4d\xac\xea\x86\xc3\xb6\x74\x58\xae\x35\x79\xbc\x11\x11\x3b\x54\x90\xbc\xf3\xe1\xcd\x4e\x79\x79\xc2\x64\xd8\x35\x16\x1f\xd5\x5e\xfe\x95\x3b\x4c\x26\x39\x5d\xd9\x2c\xa4\x93\x09\x20\xe9\x04\xfa\xdc\x08\x89\xbb\x78\x22\xb1\xdf\xc4\x45\x26\x04\x84\x0d\xf0\x24\xdb\x08\x21\xd2\xd5\xe9\x67\x85\xa5\xc3\x7d\xbf\xd2\xc3\x75\x98\x32\x83\xe9\xb5\xb4\x3a\x32\x07\xa6\xa9\xb8\x33\x94\x83\x29\xd5\xde\x41\xe4\x50\x08\xbc\xba\xd4\x93\xde\x57\x54\xdd\x83\xde\xcc\x44\x0e\x51\x66\xed\xaa\xe0\x20\x8f\x00\x0c\x5f\x6d\x9c\x37\x21\x53\x20\x9e\x5b\x75\x78\x11\x6f\x89\xcf\x2f\x8b\x10\x04\xd1\x30\x7e\xa7\x9e\xd3\x74\x80\xf3\x19\x4a\x7e\x17\x98\x3a\x23\x04\x65\xcc\xc3\x0f\xcc\x1a\x62\xd2\x80\xfb\xba\xcc\xf0\x06\xdc\x4d\xee\x0e\xa7\x96\xb8\x1a\xcc\xc6\x1a\x06\x3e\x2c\x08\x3d\xae\xc0\x39\xbd\x9a\x64\xa7\x70\x24\xaf\x82\xec\x1b\x08\x98\xa3\x15\x43\x29\xfd\xf6\x16\x73\xc3\x6e\x4c\xc8\x1f\x7a\x41\x26\xe5\x62\x90\xe4\xb4\x56\x81\x9b\xde\xbf\x48\xcb\x5a\x40\x95\x5b\xab\x29\x7c\x2b\xbc\xb0\x18\xad\xbf\x24\x82\x86\x60\xa5\xd1\x2a\x06\x13\xbf\x3c\xcb\x5e\xeb\x9a\x17\xfb\x0a\x05\x47\xdb\x8d\xa2\x4d\x2e\xfb\x87\xba\x1b\x84\x31\x42\xa7\x5e\x4c\xa0\xb0\xa3\x33\xe4\xa1\x4f\xab\x35\xa6\x26\x69\x32\x9c\xa8\x75\x3f\x01\x6a\xc7\x0c\xd9\x97\xe8\xbc\x19\xee\x44\x8a\xea\xf0\xf4\xbf\x3c\xe5\x23\x05\x50\x57\x8a\xb6\x4c\x19\x01\x94\x46\xce\x2d\x9c\x01\xa0\x3d\x88\x9a\x99\x09\x86\x0a\xef\x76\xf0\x67\xc5\x0b\x61\xc3\xd0\xf1\x2c\xc8\x68\x6f\x5c\x31\xbf\x03\x2a\x84\x10\x15\xcf\xef\xf1\xcf\xda\xe9\x4f\x6b\x21\xda\xe9\x41\xb3\x35\xdc\x82\x1f\x32\x84\xce\x31\x50\x8f\x5d\xb5\xc4\x48\xff\xaa\x37\x73\xe9\xbe\x1a\x4c\x85\xa1\xc5\x8b\x00\x9f\xa3"}, -{{0x82,0x43,0x5f,0x39,0x79,0x01,0x06,0xb3,0xaf,0x72,0xf9,0x1f,0x14,0xc9,0x28,0xd2,0x46,0x5f,0x98,0xcd,0xd1,0x00,0x84,0xc4,0xa4,0x4d,0x19,0xaf,0x71,0xa1,0x92,0x7c,},{0xc5,0x2a,0x92,0x64,0x6f,0x5a,0xdb,0x21,0xc6,0xdd,0xe0,0xde,0x58,0x78,0x68,0x37,0xf8,0xa3,0x41,0x4c,0x09,0xae,0xdf,0xc2,0x7c,0x81,0x22,0x18,0xa7,0xe7,0x23,0x9e,},{0x1d,0xaa,0x44,0xef,0x06,0xd4,0xc1,0x0d,0xdb,0x48,0x67,0x84,0x23,0xc5,0xf1,0x03,0xa1,0xb5,0x68,0xd4,0x2b,0x20,0xcc,0x64,0xaf,0x11,0x0f,0xce,0x9d,0x76,0x79,0xa2,0xde,0xe4,0x12,0xb4,0x98,0x05,0x85,0xc2,0x6c,0x32,0x0d,0xba,0xa6,0x01,0xc4,0x72,0xde,0xfc,0x3c,0x85,0x41,0x5d,0xae,0xcd,0xd6,0xd2,0xd9,0xea,0xca,0xc8,0x5e,0x07,},"\xf3\xd6\xc4\x6a\xc5\x24\x8d\x53\x86\xb6\xb6\x84\x62\x59\x7d\x64\x70\x39\xf5\x44\xbb\x01\xac\x2d\x10\x67\xda\xaa\xa3\x97\xd2\xdb\xaf\x12\x5a\x1c\xf8\xfd\xf2\x80\xa6\xaf\xec\x32\x4d\x53\x11\xf5\x43\x68\x8a\x15\x6c\x84\x98\x19\xbb\x04\x6b\x91\x1c\x42\xea\x3c\xa0\x1b\x99\x80\x8c\x4d\x1f\x3b\x8b\x15\xda\x3e\xfe\x2f\x32\x52\x3e\xc3\xb0\x9c\x84\xb4\x8c\xff\xd1\x3c\x17\xc9\xe2\x6c\x91\x2d\x9c\x3e\x93\x46\xdf\xae\x3f\xd0\xc5\x6c\x88\x58\x78\x07\x82\xf6\x1a\x4c\x4d\xbf\xff\x1e\x9c\xb4\xb3\x62\xcd\x80\x01\xf9\xcd\xfe\xb1\xa7\x20\x82\xdc\xe9\xc9\xad\xe5\x2e\xff\xc9\x74\x46\x88\xac\x0b\x86\xc8\x82\x66\xb5\x3d\x89\x5c\x17\xea\xd9\xe8\x9e\xd8\xd2\x4d\x40\x64\x2f\x3a\xd3\xb9\xbf\x9b\xbc\x4d\xda\x79\x66\xef\x83\x28\x28\x9f\xb3\x1e\x17\xc8\x1f\xd0\x28\xef\x1b\xd9\xa1\xd4\xc7\x92\xe8\x6e\xc2\xdb\xdc\xe3\xf9\x37\xee\xcc\x3e\xeb\x51\x88\xd3\x25\x94\x19\x19\xbb\xf7\x5b\x43\x88\xe2\x39\x95\x07\xa3\xd7\xfb\x38\x75\x02\xa9\x5f\x42\x1c\x85\x82\x6c\x1c\x91\x76\xc9\x23\xe3\x16\x31\x0a\x4b\xa4\x5c\x8a\x5e\xf7\x55\x7c\xf8\x7b\x77\x02\x0b\x24\xf5\xba\x2b\xfd\x12\x28\x10\x95\x66\x30\x7f\xea\x65\xec\x01\x50\x19\x69\x12\x17\xbc\xe6\x9a\xee\x16\xf7\x62\x49\xc5\x8b\xb3\xe5\x21\x71\xcf\xef\xd5\x25\x4e\x5e\x0f\x39\x71\x69\x18\x6d\xc7\xcd\x9c\x1a\x85\xc8\x10\x34\xe0\x37\x18\x3d\x6e\xa2\x2a\xee\x8b\xb7\x47\x20\xd3\x4a\xc7\xa5\xaf\x1e\x92\xfb\x81\x85\xac\xe0\x1d\x9b\xf0\xf0\xf9\x00\x61\x01\xfc\xfa\xc8\xbb\xad\x17\x1b\x43\x70\x36\xef\x16\xcd\xae\x18\x81\xfc\x32\x55\xca\x35\x9b\xba\x1e\x94\xf7\x9f\x64\x55\x55\x95\x0c\x47\x83\xba\xb0\xa9\x44\xf7\xde\x8d\xf6\x92\x58\xb6\xaf\xe2\xb5\x93\x22\x17\x19\x5d\xa2\x45\xfe\xe1\x2a\xc3\x43\x82\x4a\x0b\x64\x03\xdf\xe4\x62\xd4\x3d\x28\x8d\xb3\x1f\x99\x09\x7e\xc3\xed\xc6\xe7\x65\x47\xa3\x74\x2f\x03\xc7\x77\xef\xb1\x58\xf5\x8d\x40\x53\xfa\x6c\xc8\xd6\x8b\x19\x6a\xf4\xf9\xde\x51\x6f\xd9\xfb\x7a\x6d\x5d\x9e\xe4\xa8\x9f\x9b\x9b\xce\x1e\x4d\xee\x35\x7a\x1e\x52\xc0\x54\x4c\xfb\x35\xb7\x09\x2d\x1a\xa5\xa6\xf7\xf4\xc7\x60\x26\x10\xe9\xc0\x0e\xf5\xb8\x76\x1b\xc7\x22\x79\xba\x22\x8a\x18\xb8\x40\x0b\xd7\x6d\x5b\x2b\xfd\x7c\x3c\x04\xaa\xc4\x43\x6d\xae\x2e\x98"}, -{{0x1b,0xea,0x77,0x26,0xd9,0x12,0xc5,0x5e,0xc7,0x8b,0x0c,0x16,0x1a,0x1a,0xd3,0xc9,0xdd,0x7b,0xc3,0x29,0xf8,0x5d,0x26,0xf6,0x2b,0x92,0xe3,0x1d,0x16,0xd8,0x3b,0x48,},{0xc9,0xdd,0xb4,0x21,0x06,0xcc,0xef,0x4e,0x0e,0xf4,0x79,0x45,0x51,0xd2,0x1d,0xf9,0x4a,0x63,0x06,0x87,0x2f,0x23,0x16,0x63,0xe4,0x7e,0x24,0x1f,0x77,0xcc,0x3e,0x82,},{0xf9,0xb0,0x45,0x17,0xbd,0x4f,0xd8,0xef,0x90,0xf2,0x14,0x0f,0xc9,0x5d,0xc1,0x66,0x20,0xd1,0x60,0x2a,0xb3,0x6c,0x9b,0x16,0x5f,0xff,0x3a,0xba,0x97,0x8d,0x59,0x76,0x71,0x10,0xbb,0x4e,0x07,0xa4,0x8f,0x45,0x12,0x14,0x47,0xac,0x0c,0x1a,0xba,0xc5,0x85,0xd3,0x91,0xd4,0x04,0x20,0x41,0x89,0x86,0x28,0xa2,0xd2,0xdc,0xc2,0x51,0x0d,},"\xb1\x12\x83\xb1\xf0\xce\x54\x9e\x58\x04\x73\x0a\xc3\x20\x7a\xc0\x03\x32\xd2\xaa\xcf\x9c\x31\x0d\x38\x32\xd8\x79\xf9\x63\x4b\xd8\xa5\x8a\xdf\x19\x9e\x4b\x86\x3b\xb1\x74\x81\xd2\x8a\xcb\x2d\xa0\xe1\x55\x7b\x83\x36\xa4\x00\xf6\x29\x56\x25\x03\x1d\x09\xe4\xdf\x4d\x31\x9b\xbc\x1e\x8f\x6e\x92\x32\xd2\x30\x53\xbb\x3f\xfa\xc4\xfe\x2c\x70\xce\x30\x77\xfc\x00\x60\xa5\xcb\x46\x92\xa1\xcf\x0b\x3e\x62\xfe\x45\x48\x02\xae\x10\xb8\x3d\xed\x61\xb6\xbf\x45\x4c\xa7\x5e\x4c\xda\xd5\x53\x2f\x20\xb7\x06\x54\xf1\x2b\xa9\x06\xf0\x03\xa8\xb9\xe9\x86\xf1\x5a\x39\x41\x9d\xeb\x2e\xa1\xea\xd7\x59\x82\x90\xee\xeb\xf9\x25\x2b\x0c\x27\x60\x5a\x7a\x73\xa6\xab\xeb\xb4\x22\x71\xd7\x1a\x3c\x19\x7a\x46\xbc\xc8\xdb\x11\xd9\x24\x28\x42\xf3\x78\x36\x4a\x37\xee\xca\xa3\x4e\x98\x21\x35\xbe\x34\x18\x2c\x69\xca\x8e\x6e\x3c\x8c\x90\xe1\xb4\xb2\xb4\x75\x81\x5a\x17\x83\x77\xae\x01\x65\xa7\x64\xc8\xba\x28\x89\xb5\xab\x29\x09\x49\xd8\x48\x7a\x88\xe0\xd3\xd2\xbc\x7e\x25\x20\x17\x6a\xa6\xff\x9f\xf0\xc4\x09\xff\x80\x51\x5f\x4f\x0b\x83\xc5\xe8\x2c\x23\xfd\x33\x26\xcd\xd6\xb7\x62\x52\xe7\xfd\xdc\xd6\xe4\x77\x09\x78\xcd\x50\x3e\xd2\xd6\xb4\x80\x10\x11\x67\xd3\xf1\x91\xfe\xd8\xd6\xd7\x4d\x74\xa2\x00\x7d\xb1\x09\x2e\x46\xa2\x3d\xde\xcd\xdc\xdb\x98\x46\x64\x04\x7b\x8d\xd7\xcc\x8a\x57\x6e\x1a\x80\x6f\x52\xcb\x02\x7a\x94\x80\xa9\x5c\xc4\x4b\x1e\x6f\x2e\x28\x6e\x9b\x7a\x6b\xf7\xb3\x96\xfa\x54\x96\xb7\xa5\xb1\xc0\x3d\x9c\x5c\x27\xda\x1a\x42\x99\x0d\x10\xb1\x2f\xb8\x64\x0e\x15\x96\xf2\x6b\x36\x6d\x27\x0b\xa6\x4f\x99\xaf\xff\xe3\xfe\xce\x05\xa9\xb0\x25\x4b\x20\x8c\x79\x97\xcd\xb5\x12\xfc\x77\x52\x79\x54\xa1\xcb\x50\xfd\xab\x1c\xc9\xa4\x51\x62\x74\x1f\xd6\xf9\xd3\xfd\x5f\x2e\x38\x28\x53\xd7\x33\x5d\xba\x1e\x6b\x29\x59\xdd\x86\xe1\x25\xe6\x7b\x53\xdc\x8e\x45\x3c\x81\x0b\xc0\x1b\xf2\x0b\xce\x7b\x61\x8d\xd5\xd1\xed\x78\x41\x06\xee\x06\xa3\xec\xaf\x6b\x3b\xee\x0b\x56\x83\x3b\x0b\x81\x31\x39\xc5\xa6\x96\x00\x0a\x44\x9c\x97\x90\x6a\x2f\xbd\xdc\x2d\x9d\xe9\x40\x6e\xa2\x82\xac\x4e\xe5\xef\x8b\xf3\x85\x4c\x74\xa6\xb7\x17\x3d\xd2\xf7\x9c\x7a\x12\x6f\x3c\x7b\x04\x33\xfd\x4e\xa2\x6e\x87\x7a\x14\x83\x1d\xd4\x15\xa1\x9d"}, -{{0xd0,0x1a,0x0e,0xad,0x9d,0x69,0x48,0x33,0x28,0x3b,0x9c,0xd7,0x29,0x9a,0x7b,0xd7,0x5f,0xa9,0x0b,0x1d,0x2d,0x78,0x84,0xe4,0x55,0x7b,0x33,0xc9,0x98,0x77,0x2a,0x68,},{0xa0,0xf7,0x57,0x47,0x9b,0xa6,0x27,0xef,0xef,0x95,0xd6,0xec,0x7a,0x93,0x1d,0xfa,0xc4,0x37,0x3d,0xf3,0x3d,0xaa,0xf4,0xdd,0xc4,0xec,0x68,0x94,0xc8,0x26,0x1e,0xd7,},{0x9a,0x0f,0xf7,0xf3,0x51,0x74,0xec,0x3f,0x66,0xd2,0x2a,0x6f,0x06,0xdf,0x60,0xe0,0x9c,0x8f,0x62,0x3a,0x5a,0xca,0x81,0x0e,0x23,0xa8,0x8d,0x0e,0x6a,0x31,0xcb,0x6f,0x1c,0xe1,0xc1,0xf9,0xdc,0xcc,0x9e,0x14,0x84,0xb6,0x8d,0xd0,0x04,0xac,0x53,0x59,0x7e,0x29,0xad,0x6a,0xb7,0x2e,0x8c,0xe2,0xb7,0x5a,0xd5,0xb8,0x0e,0xb8,0x48,0x03,},"\x76\x27\x53\x4e\x9a\x83\xd1\xe4\x06\xab\x94\x8d\x30\xd1\xda\x9c\x6a\x5d\xb0\x8e\x0f\xeb\x7f\xc5\xba\x5c\xbf\x76\x84\x9e\xe8\xad\xd4\x84\x7e\xf5\xca\x5a\x0d\xae\x41\x1a\xca\x09\x74\x51\xcb\x4c\x2b\x49\x8c\x94\x70\x97\x40\x70\x07\x64\x0d\xc1\x9e\xd9\x38\xe3\xb9\x1b\xf5\x1c\x95\x81\x16\x8d\xf8\x60\xbd\x94\x75\x16\x68\xda\xbd\x72\x1d\xc7\x39\x98\x40\x0b\xe2\x0c\x9a\x56\x3d\x50\x51\xef\x70\xe3\x54\x6f\xee\x67\x33\x12\xb5\x2a\x27\x40\x41\x05\x7e\x70\x84\x8e\xb7\xc5\xa2\x16\x44\xc9\x7e\x44\x8a\xbd\x76\x40\x20\x7d\x7c\xda\xfc\xf4\x5d\xa6\xdf\x34\x94\xd3\x58\x5b\x0e\x18\xac\x5a\xc9\x08\x1c\xb7\xa4\x07\xa3\x9a\x87\x77\x05\xcb\xaf\x79\xa0\x1b\x91\x5f\x73\x6e\xb0\x25\xc5\x8b\x4b\x5d\x80\x7f\xb7\xb7\x56\x6c\x59\x69\x78\x7c\x1d\x6c\xa4\xeb\xa9\x7d\x50\x9e\xf7\xfb\x35\x50\xd2\x1d\x37\x7e\xce\xff\xcf\x0e\xb6\x68\x18\x95\xad\xbd\x24\x6e\xe7\xbf\x3c\x93\x5a\x00\x64\x78\xb8\x32\xec\xe4\x6d\xe6\x11\x8b\x17\xe4\x66\xa2\x7f\xc2\xa4\x4a\x89\x6b\xaa\xe2\x72\xf9\xec\xf0\x18\xc6\x5c\xb5\x0c\xfb\xfc\x8d\x26\x09\x94\xa1\x8a\x83\x2d\x97\x19\x28\xc4\x49\x67\x57\x24\x58\x51\x31\xc8\x71\x53\x3c\x98\x97\xd8\xf8\x0f\x9c\x04\x16\xb7\x18\x78\x6b\x10\xfe\xa8\xeb\x5b\xd8\x13\xa2\x69\xa1\xb6\x77\xb7\xa2\x50\x7a\x44\xb7\x13\xd7\x05\x08\x65\x30\x99\x5e\x59\x33\x5d\xdc\x28\x55\xe8\x47\xe4\xf4\xdb\x06\xc9\x1f\x1d\x54\x02\x3d\x8a\x10\xf6\x9f\x9e\x61\xbd\xce\x4b\x68\x6f\xb6\x17\xbd\x50\x30\xe7\x55\xca\xdb\x1f\x64\x4e\x1d\xdd\x91\x61\x9b\x96\xec\xd6\x05\xb0\x01\x98\xb9\xa6\xed\xdb\x5a\x84\xeb\xd3\x69\x2b\x66\x59\x79\x76\x66\x37\xc6\x77\x37\x8c\x1c\x77\x04\x1f\xd4\xa6\xb3\x55\x5c\x1d\xc8\xa8\x3f\xe9\x01\x3b\xb6\x10\x6c\xc1\x8a\x2b\x03\x7c\x93\x77\xb7\xa1\xa5\xa5\xd0\xdc\xc5\x49\x18\xea\xad\x7e\x32\xc8\x80\x76\x7b\x26\xfd\x2e\xa2\xd6\x8b\x04\x05\xf5\xe0\x74\xf5\x5a\x19\xd8\xa3\x9f\xfb\xb7\xdc\x32\xfa\xee\x6a\x7f\x95\x32\xae\xc8\xa0\x77\x6c\x3f\xf8\x3a\xe3\xa4\x62\x77\x38\x49\x6a\x37\x1e\xb9\xe0\x90\xb7\x4e\x0e\xdd\xec\xfc\xd4\x1b\xed\x0c\x0c\xe5\x81\x27\x52\x43\x47\x2d\x26\xda\x8c\x99\x8e\x4b\x6d\x6b\x44\xfc\x88\xba\x2a\xb5\x46\x42\x22\x54\x17\x12\x02\x94\x41\x78\x05\x74\x2b\xdb\x33\xb7\xb1\x22"}, -{{0xdf,0x64,0x89,0x40,0xb5,0x78,0xbc,0x31,0xd2,0xa6,0x52,0x96,0x5f,0x30,0x39,0x1c,0xaf,0x06,0xd5,0xf2,0x51,0x59,0x9a,0x73,0x7c,0xe1,0x0b,0xe5,0x5f,0x4a,0x9d,0x0d,},{0x27,0xde,0x92,0x04,0x19,0xc1,0x86,0xb0,0x1b,0xe5,0x42,0x79,0xfb,0x8f,0x9b,0xe4,0xbb,0x4b,0x2c,0xad,0x75,0xca,0x7e,0x8f,0x79,0x2b,0xfa,0x7b,0xb9,0x7c,0x7f,0x41,},{0x62,0xbc,0x99,0x1c,0x45,0xba,0x9b,0x26,0xbf,0x44,0x01,0x16,0x26,0x41,0x62,0xc3,0x4c,0x88,0x59,0x78,0x85,0xe9,0x60,0x50,0x83,0xc6,0x04,0xb5,0xf5,0xd8,0xfa,0x6f,0x66,0x2b,0xa2,0x14,0xf7,0x6e,0x6c,0xf8,0x4e,0x5e,0xc0,0x4d,0xf1,0xbe,0xef,0xc5,0xf2,0x5d,0x3a,0x3b,0x72,0xf9,0x8b,0x50,0x69,0x83,0x19,0x16,0xa6,0x32,0x96,0x01,},"\x1a\xe5\x20\xbe\xeb\x4a\xd0\x72\x2b\x43\x06\x7f\xa7\xcd\x28\x74\xab\xcf\x34\xdd\x92\x37\xb4\x47\x8e\xae\x97\x72\xae\xa2\x97\xa6\x7f\xb7\x9b\x33\x07\x02\x04\xba\xee\x44\x0b\x9c\x87\xe2\xfb\xcb\xeb\x76\x80\x1d\xdd\xea\x5e\x45\x30\xd8\x9e\x11\x58\x31\x79\x93\x9a\x00\xa3\x2f\x81\x13\x32\xc5\x22\x91\xcc\x7a\xc9\x1e\x5a\x97\x0c\xd5\xaa\x70\x8b\x1d\xa2\x6b\xe9\xfe\x43\x2a\x9b\xbd\xa1\x31\x9e\x31\xe4\xbc\xc9\xf1\x66\x6a\x05\xb5\xc0\x5b\x87\x6b\xfd\x1f\x76\x66\x87\xcc\xea\x4e\x44\x82\xe9\x24\x32\x9a\xfa\xce\x5e\xe5\x2e\x98\x79\xfd\x69\xb7\x6e\x0f\x7e\x45\x2e\xc4\x71\x3b\xff\x21\x6d\x00\xc8\x25\x99\xd2\x7c\xa4\x81\xf7\x3a\xae\x13\x6f\x08\x75\xc8\x8a\x66\xb1\xb6\xf3\x4c\x50\x52\x3a\xb6\x02\xe9\xd4\xeb\xb7\xee\xb9\xe0\x43\xa6\x5e\x41\x89\x9d\x79\x75\x2a\x27\x9d\x2e\xd4\x69\x93\x92\x6f\x36\x21\xe7\xc3\x2c\x9a\x9b\x3b\x59\xd8\xdd\x57\xbe\xca\x39\x28\x54\x34\xde\x99\x1c\xbd\x2d\xfc\xbc\x5c\xa6\x2a\x77\x79\xf4\x75\xd0\xce\xf2\xf3\xe5\x62\xf2\x9a\xcd\x47\x4f\x3c\x99\xec\x5b\xd8\xde\x01\x10\x1b\xed\x2e\x0c\x9b\x60\xe2\xd7\x0f\xd4\x32\xc8\x92\xfc\x66\xf8\xd4\x61\x9a\x91\x1b\x56\x25\x16\x3e\x9a\x42\xbf\x9e\xa3\x85\x86\xd8\xe7\x64\x00\x15\x64\xd3\x35\x41\x12\x25\xfc\xb0\xa0\x6d\xc2\xa8\x2d\xa0\x77\x9a\x3c\x44\x4e\xb7\x86\x42\x01\xb4\x3e\xbb\x72\xb9\x21\xf3\x4d\x3c\x13\x08\x9d\xf2\xf4\xfa\xc3\x66\xff\x1e\x3c\x0b\x96\xf9\x3d\x2b\x4d\x72\x6a\x5c\xe4\xd6\x91\x6d\x82\xc7\x8b\xe3\x54\xa1\x23\x0c\x2c\xf0\x41\x8c\x78\xa1\x91\x3e\x45\x4f\x64\x8c\xc9\x2c\x8d\xd0\xe1\x84\x64\x5f\xe3\x78\x1d\x26\x3c\xff\x69\xf5\xc6\x0b\x1e\xbb\x52\x00\x5a\x8b\x78\xa5\x15\xc7\xe8\x88\x6f\xfe\x05\x4d\xab\x42\x8e\x2e\x22\x1d\x9d\x76\xaf\xf4\x26\x54\x16\x8d\x83\x3b\x88\x17\x82\x93\xe1\xfe\xdd\x15\xd4\x6c\xd6\x09\x48\x31\x29\xc4\xd2\xd8\x44\x32\xa9\x9d\x31\xff\xe9\xbd\xb5\x66\xf8\xc7\x5c\xe6\x5e\x18\x28\x8e\x4d\xf8\xc1\x67\x31\xa0\xf3\xfd\xde\x1c\xca\x6d\x8e\xde\x04\x35\xff\x74\x36\xca\x17\xd0\xae\xb8\x8e\x98\xe8\x06\x5c\xbc\xbf\xd0\xff\x83\x04\x3a\x35\x7c\xd1\xb0\x82\xd1\x70\x3d\x46\x18\x81\x87\x2c\xdf\x74\x1e\x4f\x99\xbd\x14\x67\x45\xba\x70\x39\x74\xbe\x40\xf5\x79\xbf\x5c\x4d\xba\x5b\xdb\x8c\x94\x1b\xce"}, -{{0xc8,0xac,0x23,0x45,0x58,0xaa,0x69,0x81,0x6b,0x36,0x8b,0x77,0xb7,0xcc,0xcb,0x5c,0x8d,0x2a,0x33,0xec,0x53,0xae,0xef,0x2c,0xe2,0x28,0x71,0x43,0xbd,0x98,0xc1,0x75,},{0x53,0x64,0xba,0xf1,0xfd,0xb2,0xc6,0x38,0x40,0xb3,0x0d,0x40,0x31,0xcf,0x83,0xa2,0xe1,0x8e,0x62,0x07,0x93,0xba,0xe5,0x9d,0x10,0x35,0xc0,0xed,0xe5,0x5e,0x52,0x8b,},{0x32,0x25,0x03,0x61,0xdf,0x6e,0xd2,0x83,0x48,0x5f,0x95,0xf3,0xd3,0x57,0xa4,0xf1,0xc3,0x3a,0x8c,0xf9,0x16,0x58,0x32,0x7c,0xd4,0x53,0xd4,0x9c,0x95,0x36,0x65,0x51,0x08,0x70,0xaa,0x45,0x4c,0xfa,0x3b,0x83,0x24,0x52,0x20,0xa8,0x27,0xd0,0xec,0x74,0x77,0xf9,0xec,0xeb,0x79,0xc4,0xa2,0x9f,0x30,0x1f,0x95,0x3c,0xc8,0xca,0xac,0x07,},"\xce\x48\x8d\x26\x97\x5c\x1c\x93\x28\xb4\x7f\xa9\x2e\x19\x56\x13\x30\x04\x1b\x23\xa0\xe5\x7a\x4b\x8b\xca\x89\xeb\x5f\x61\x5e\x73\xdd\x7f\xae\x69\xc2\x38\x0e\x32\x12\xf9\xb7\x33\x41\xc3\x56\xdb\x75\xa6\x25\x6d\x7a\x20\xa9\x7f\x75\x9d\x4c\xba\x71\x97\x17\x8e\xa7\x24\xdd\x93\x29\x49\x36\x0e\x96\xc5\x0a\x4b\x3b\xa5\x5a\x95\x33\x72\xc3\x97\xb0\x96\x9c\x2b\x14\xd3\x60\x9e\x0a\x85\x2d\x48\x4d\xf7\x0e\xaa\xb1\x12\x49\xeb\xeb\x32\x37\x92\x1f\x0a\x39\xa5\x5d\x7d\xcc\xfe\xf2\x05\xd9\x4e\xc8\x0d\x9e\x1f\xd6\xa2\xc1\xef\xd2\x98\x44\x10\x1d\xfe\x2c\x5f\x66\x8a\xdb\x79\x75\x91\x5d\xed\xd0\x86\x50\x0c\xee\x2c\x1e\x23\x3e\x8e\x48\x85\x5c\xc1\xa6\xf2\x87\xd6\x3d\xce\x10\xad\xdd\x13\xca\xc7\xb7\xa1\x87\xef\xe4\x7e\x12\xd1\xc3\x5b\xb3\x97\x40\x52\xb2\x3a\x73\x66\x8d\x3e\x4c\x87\xdb\x48\x41\xaf\x84\x6e\x80\x86\x72\xc4\x3d\x0a\x15\x22\xe2\x96\x5f\x08\x39\x51\xb2\xb2\xb0\xc4\x09\x54\x8e\xe6\x18\x2f\x0c\x98\x50\x51\x4c\x9e\x6c\x10\x2f\x54\xba\x41\x24\xc9\x2a\x90\x27\x4f\x40\x58\x91\xe6\x62\xf5\xeb\xb3\x77\x1b\x85\x78\x31\x56\xe9\xe5\x83\x67\x34\xd0\x9d\x1b\xaf\x5b\x21\x34\xc9\x31\x62\xee\xc4\xbe\x03\xbd\x12\xf6\x03\xcd\x27\xbe\x8b\x76\xac\xcc\x6e\x8b\x8b\xac\x02\x0c\xba\x34\x79\x65\x1c\x9f\xfa\x53\xce\x4e\xb7\x7a\x77\x31\x3b\xc1\x26\x5d\xda\xb8\x03\xef\x7a\x65\x63\xba\x6f\x79\x9d\x1e\xf3\x0e\xf5\xa0\xb4\x12\x96\x5f\xda\xc0\xb9\xda\xb8\x42\xc7\x8e\xe2\xcc\x62\x8e\x3d\x7d\x40\x61\xe3\x4e\xde\x37\x97\xe1\x54\xb0\x6e\x8c\x66\xce\xbd\xf2\xde\xd0\xf8\x1b\x60\xf9\xf5\xcd\xda\x67\x5a\x43\x52\x77\xba\x15\x24\x55\x7e\x67\xf5\xce\xfa\xfc\xe9\x29\x29\x1d\xce\x89\xec\xb0\x8a\x17\xb6\x7a\x60\xc5\x82\xb4\x87\xbf\x2f\x61\x69\x62\x66\x15\xf3\xc2\xfe\x3b\x67\x38\x8b\x71\x3d\x35\xb9\x06\x66\x69\x96\x0d\xe4\xdb\x41\x3c\xd8\x52\x8e\xe5\x6e\xd1\x73\xe9\x76\xa3\xc9\x74\xac\x63\x3a\x71\x34\xcc\xe3\x83\x19\x73\x5f\x85\x7b\x7d\x71\xba\x07\xf4\x77\xef\x85\x84\x8a\xa8\xf3\x9e\x11\x81\x18\x77\x9e\xd8\x7b\x4f\x42\xaa\x35\x8a\x89\xf7\xec\x84\x4a\x45\x1e\x7e\x8f\xc0\xaf\x41\x8b\x85\xbc\x9b\xf2\xf2\x6d\x1e\xa1\x37\xd3\x35\xec\x7e\xe7\x57\xb7\x0a\xe2\xfd\xd9\xcc\x13\x49\x32\xf0\xe5\x42\x5b\xf3\x7f\xb9\x15\xe7\x9e"}, -{{0x2c,0x47,0xf2,0xb8,0xb9,0xd2,0xce,0xe9,0xe6,0xf6,0x54,0xbc,0x24,0x65,0x8f,0x9e,0xaf,0x43,0x9c,0x23,0xbe,0xaa,0x0a,0x79,0xbf,0x35,0xcc,0x8c,0xd2,0xde,0xba,0xf4,},{0x44,0x4a,0xf2,0xf3,0x4f,0xd3,0x2e,0x5a,0x19,0xf6,0x1f,0x87,0xd0,0x3e,0x10,0x76,0x27,0xa3,0xee,0xb8,0xbd,0x94,0xd2,0xfa,0xea,0xa3,0x48,0xb0,0x5d,0xea,0x19,0x80,},{0x85,0x54,0xb0,0x1d,0x09,0xed,0x86,0xe6,0x13,0x95,0xb9,0x1a,0x2b,0x1e,0xe1,0x87,0x15,0xc4,0x2f,0x9c,0x7e,0x7f,0x07,0x00,0xd7,0x9f,0xf9,0xfb,0x57,0x81,0x29,0x3d,0x61,0xc5,0x58,0xdd,0x5b,0x43,0x1c,0x93,0x71,0x8d,0xcc,0x0f,0x98,0xfb,0x65,0x2b,0x59,0x6f,0x18,0xc3,0x0f,0x82,0x21,0x5e,0x8e,0x63,0xe4,0xf6,0x56,0x8c,0x88,0x00,},"\x04\x4c\x8f\xaa\x8c\x8a\xaf\x9f\x2b\x81\x86\xa6\xb9\xb3\x38\x47\xec\x7b\x45\x24\x23\xb2\x2a\x91\x74\x3d\x2e\x59\x7e\xcc\x1e\x1e\x22\xae\x60\x05\x3e\x9e\xe6\x23\x3b\x04\x4e\x77\x59\x20\xe4\xe3\xd6\x67\x19\x90\x13\x25\xcf\xdd\x39\xbb\x53\x2f\x8a\xa4\x69\xaa\xb4\x2e\x96\x08\xc2\x12\x60\xc0\x4c\x27\x41\x3a\x7a\x94\xe4\x66\xf6\x3c\x49\x52\xe9\x0e\xf9\x0c\x12\x81\x4b\x34\x51\xb1\xca\xd7\xda\x91\x47\xf8\x40\x92\x20\xf6\x49\x8c\xc0\xa6\x7f\xef\x4b\xc0\x4f\xc0\x6e\x1d\x89\x8a\x55\x15\x59\x1e\x8b\xe0\xc4\x3d\x75\xa6\xfe\x42\x5b\x7c\xbe\xfb\x1b\x91\xb1\xbd\x78\xb5\xbe\xc7\x82\x90\x56\x98\x2e\xfd\xc5\xbe\x24\xaf\x66\x78\x00\x6a\xdc\x6f\x04\x46\x20\x2e\x7e\xc3\xa2\xd6\x97\x9c\xb0\xdf\x7e\x25\xd7\x42\x33\x91\x4d\x9c\x58\xb8\x1c\xf5\x5b\xe0\x69\x67\xd3\xa5\x95\xc1\xb9\x67\x28\x69\x99\x4c\xfb\xa6\x71\x62\x83\x3a\x21\x43\xaa\x91\xcc\x93\xac\xda\xfa\x5b\x45\x20\x8d\xf3\xe8\x8c\xcc\x01\xa2\xa4\xd2\x20\xe3\x60\x09\x8d\x91\x54\xd2\x25\xa7\xca\x5f\x2f\x1e\x52\xb1\x00\x3d\x10\x66\x50\xa7\x7b\x28\x3b\x95\xe4\xba\xf1\xe7\x33\x6f\xa9\xa7\x47\xa2\xb3\x82\x3d\x36\x09\x10\x41\x2e\x76\xdb\x72\x5c\xe1\xab\x1e\x1d\x18\x9d\x0d\x3a\xbe\xf8\x2d\x76\x66\xbc\xf1\xb7\x66\x69\xe0\x64\x3b\x44\xf7\x4e\x90\xce\xaf\xa0\xc8\x37\x1b\x57\xc5\x8f\x3b\x37\x0a\x54\x7c\x60\x95\x8f\x0f\xcf\x46\x1b\x31\x50\xf8\x48\xc4\x70\xfa\x07\xe2\x9b\xf5\xf0\xd4\xb5\x9e\xfa\x5a\xb0\xd0\x34\x1e\x04\x51\xd0\xab\xb2\x9d\x74\x14\xcd\xdc\x46\xcc\x6d\x74\xcf\x3d\xc2\x33\xd0\xd1\x70\x73\x87\xbd\x8c\x77\x80\xff\x78\xe5\x46\xfb\x77\x29\x4d\x58\xa5\xdd\xa5\xf0\x5c\x12\x97\xe3\xd1\x77\x11\x56\xd2\x85\x63\x5b\xf7\xec\xed\xb3\x8a\x9e\x5e\x77\x44\x98\x04\xf3\x89\x9e\xa4\x6a\x50\x26\x6b\x25\x5a\xeb\x52\xd1\x8e\x0f\xa1\x36\xe5\x35\xcc\x90\x26\xf6\x78\x55\x2f\xa3\xee\x21\x46\x08\x1d\x99\x96\x85\xe2\x4b\xf7\x80\x7c\xc4\x7c\x13\x04\x36\xc5\x44\xd3\x5b\x4b\x87\x5b\xd8\xaf\xa3\x12\xce\x3a\xe1\x7c\xf1\xc7\xf5\xea\x1e\xce\xcb\x50\xf9\x53\x44\x72\x0c\xec\xf0\x88\x43\x4f\xf8\xe0\xba\x04\x4e\xc1\x9c\x98\xad\xa7\x78\x21\x16\x30\x4c\xbe\xac\x1c\x3e\x35\xf5\xa4\xf4\x43\x13\x35\x4d\xc9\xa4\x0e\xce\x5a\x0f\x9a\xd3\xa2\x02\x5a\xce\xf2\x62\xc5\x67\x9d\x64"}, -{{0x88,0x7f,0xdb,0x48,0x70,0x68,0x1d,0x4f,0xb0,0x6a,0x93,0x62,0x59,0xf7,0x5c,0xae,0x05,0x17,0xf5,0x01,0xaf,0x64,0x6b,0xc0,0x7a,0x4d,0x72,0xbe,0xe7,0xfb,0x1c,0x73,},{0xc7,0x62,0xeb,0xd4,0x8b,0x2c,0xe0,0x2d,0x06,0x38,0x4e,0x38,0x55,0x4b,0x82,0x5a,0xd3,0x22,0xeb,0xea,0x74,0xd2,0x59,0xdf,0x15,0x47,0xa4,0xd5,0x47,0xce,0x00,0x24,},{0x41,0x0a,0x5a,0xf3,0xc5,0x9b,0x7c,0x6b,0xdb,0x21,0x4b,0x16,0x6c,0xb7,0x9d,0x96,0xf8,0x30,0xcf,0x98,0xbf,0x52,0xda,0xd7,0xb6,0xff,0x29,0x79,0xc9,0x7f,0xea,0x4f,0xed,0x5e,0xf7,0xd3,0xd4,0x9f,0x03,0x09,0x72,0x79,0xb9,0xa0,0x99,0x22,0x6e,0x2a,0x08,0xdd,0x30,0xc6,0x07,0x86,0x25,0x4e,0x2d,0xa8,0xde,0xe2,0x40,0xbf,0xc3,0x08,},"\xc5\xdc\x77\x9f\x3f\x3f\xac\x06\xdd\x28\xe5\xa6\x7e\x0e\x52\x4a\xf5\xb5\xdc\x3b\x34\x40\x96\x57\xb6\x3d\xfa\xce\x94\x71\xe9\xa4\x1e\x11\x32\x17\x5a\x0b\x56\x9c\x8f\xea\x9d\x2e\xef\x2c\xf5\xd5\x96\x2c\x7e\x0b\x61\x45\xa9\xe7\xa0\xc1\xaa\x33\x77\x20\x44\xf9\xc3\x99\x8c\x5a\x8c\x48\x86\x45\x8b\x4e\x58\x6f\x93\x07\x60\x83\x61\xf5\x11\xe7\xab\x50\x92\xac\x41\xec\x76\xe0\x58\x6e\xf5\xb9\xc2\x36\xfc\xf5\xca\x2f\xc8\xdd\x6a\xae\xb7\x89\x36\x7f\x2e\x7c\x99\x09\x32\x55\x5d\xc5\x22\x61\xe4\x4e\x49\x42\x34\x98\xb5\x24\x41\x91\x83\xb6\xc1\xf1\xd4\x2c\x45\x46\x4e\xcc\xb0\xc2\xf7\xe2\x51\x77\xfe\x5c\xd4\x63\x50\x2b\x40\x3e\x06\xd5\x11\xfc\xf9\xdc\xb6\x40\x12\xe0\xf2\x0b\x34\xc2\xea\x7c\x00\x4d\x9e\x48\x4a\x7e\xd8\x1f\x32\x60\xc4\x1c\x8b\x19\x53\x52\x9f\x47\xf7\x1e\x86\x78\x43\xcc\x3c\x33\x2a\xd0\x36\x6a\x63\x81\x7e\xd1\x2d\xd4\x73\x0d\x3d\xfd\xbd\x75\x72\xb9\xff\x79\x80\x45\x94\x0d\xd1\x9f\xad\x0c\x8a\xea\x0b\x4a\xb6\x1c\x40\x16\xde\x32\x79\x9c\x73\xaa\x2b\x92\xd2\xc2\x5e\xe9\xb7\x2d\x46\xfe\x8f\x06\x93\xc5\x87\x75\xef\xb0\x5e\x9e\x17\xa5\xc3\x46\xa8\x12\x65\xd3\x5b\xe6\x9a\x22\xd0\x95\xde\x18\x60\x66\xa5\xc6\xd8\xc0\x7a\x3d\x38\xd0\x02\xa1\x0e\x5e\xfd\xb8\x66\xda\x4a\x9b\xdd\x54\xf5\x09\x26\x61\xb6\xc2\xd7\x43\xf5\xae\xaa\x4c\x6c\x31\x8f\xb5\x93\x23\x90\x30\x57\xe4\x9c\x23\x7b\x45\xf6\x75\x42\xa4\xf2\x7c\xaf\x65\xb5\x7c\xfc\xf8\x8b\x71\x20\x3d\x43\xd7\xf9\x53\x22\x16\x0f\x95\xc2\x32\xdd\x10\xab\xb1\x13\xb7\x21\xdd\xba\x22\x26\xb0\x63\x22\x9b\xb4\x41\x02\x33\x6b\x10\xbf\x16\x56\x55\x11\x61\x24\x97\x86\xd4\x54\xf4\xe0\x90\x9d\x50\x00\x17\xf6\xc7\x56\x4f\x73\x3c\x83\x1a\xf4\xe5\xec\x94\xdf\xd3\xbf\x8f\xf5\xf3\x02\x1b\x70\xa5\xca\x5d\x28\xc6\xdf\xb8\xa2\xc1\x8a\x1a\x66\x2a\x33\x35\x9f\x26\x4d\x16\x96\x98\xc1\xab\x55\x78\x3f\xac\xa7\x3b\xd6\x8c\x0f\x79\xd1\xd0\x4a\xe0\xec\xdb\x52\xae\x76\x18\x92\xc0\x24\x93\xff\x35\xf3\xd8\x4f\x66\xe2\x36\xfc\x58\x13\x4a\xd6\xa7\x7d\x92\x25\x49\x05\xd7\x73\x90\x0d\x9d\xdf\x26\x54\xc7\x0b\x46\xf3\x41\xda\xcb\x47\x93\xca\x51\xee\xde\x45\x53\x3e\xae\xeb\x6e\x33\x23\xbc\x3e\x6c\x85\xa7\x94\x06\x51\xc4\xf6\xf9\x81\x91\xc6\x18\xc8\x91\xea\x4e\x22\x0e\xa4"}, -{{0x88,0xb3,0xb4,0x63,0xdf,0xc3,0x0d,0x01,0x5e,0xef,0xbb,0xbd,0xd5,0x0e,0x24,0xa1,0xf7,0x27,0x77,0x75,0xbc,0xef,0x14,0xa6,0xbe,0x6b,0x73,0xc8,0xc5,0xc7,0x30,0x3e,},{0xf2,0xb6,0x28,0x4c,0x93,0x0d,0x4a,0xd3,0x2d,0x0a,0xc7,0x19,0x04,0x0e,0xe7,0x88,0x6b,0x34,0x72,0x2e,0xdf,0x53,0xda,0x80,0x1a,0xcb,0x5f,0x93,0x19,0x69,0xe1,0x19,},{0x82,0x5a,0xff,0x71,0xf7,0x93,0x03,0xbf,0x45,0x92,0xbd,0x8d,0xa4,0xd7,0xd9,0x43,0x7f,0xf2,0x67,0x97,0x6f,0x74,0x64,0x37,0x65,0x59,0x88,0xdd,0xcf,0x29,0x37,0x94,0x65,0xa3,0xb4,0x8c,0x9f,0xb0,0xf3,0x1c,0xef,0x03,0xe6,0x36,0x88,0x61,0xc3,0x69,0xb4,0x36,0x4f,0xb8,0xe4,0xb0,0xc7,0x2e,0x26,0xa9,0xa9,0xdd,0xed,0x1c,0x25,0x04,},"\x17\xc3\x17\xfa\x6b\xc9\x0c\x55\x32\x32\x8f\x02\xcc\xfb\x6c\x09\x9e\x6f\xe1\x00\x01\x74\xf2\xaf\x3a\x3a\x93\x09\x42\x85\x06\x71\x7c\x5c\x43\x35\xbd\xd7\xc3\x67\xff\x4e\x44\x8a\x9c\x04\x75\x03\xaf\xba\x68\xfd\x8f\x79\x87\x23\x7b\xe7\xf7\xfb\xdc\x6d\x73\xf2\x4c\x64\x21\xca\xb4\x22\xb3\xfb\x25\xf6\x7b\x2d\x71\x04\x2e\x71\x57\x0d\xf2\xaf\x37\xbf\xe5\xc1\x14\x21\x1f\xd5\x52\x4b\x6c\x1c\x6c\xc5\x2f\xab\xc3\xcd\x7f\xb4\x64\xcd\x58\x0b\xb7\x40\x71\xcb\x30\x0f\x8c\x9f\x8a\x46\x20\x8e\x5a\xa5\xdd\xfe\xa5\xfe\x90\x69\x7a\xa2\xf1\x4c\x60\x79\x50\xc9\x8f\x23\x12\xa9\xe1\x6e\xf6\x34\x6a\x8f\xd1\x29\x23\x27\x33\x82\x7e\x15\x01\xa6\x60\xc7\x7c\x29\xc5\x6d\x2f\xdd\x1c\x55\x97\xf8\xbc\x89\xaa\xef\xe3\x71\x37\x34\xfe\x82\x85\x82\x01\x89\x1a\x11\x47\xef\xaf\x1d\x78\xa4\x71\xf9\x20\xde\xfc\x88\x03\x44\x55\x3e\xb7\x16\xcc\xe3\x26\x0e\x86\xa1\xbc\x0b\xe2\x83\x73\xa6\xa0\x66\x11\x6e\x8e\xcb\x10\xa0\xc4\xa7\x0c\xa2\xb5\x36\x4e\x11\x9f\x84\xae\xc6\x0d\xec\xed\x3a\x4e\xff\x1f\xe6\x88\xc5\xe3\xe2\x51\x47\x0a\xb5\x16\xfa\x96\x4a\x4b\x6f\x28\x36\x8d\xd1\xe2\x83\x59\x79\x34\x06\x4d\xc0\xc5\xb5\x69\x10\x62\xcb\x2e\x26\x7b\xd1\x5f\xd4\x22\xbc\xfe\xfb\x83\xcc\xef\x7a\xa9\xa2\x27\x5e\xf5\x7e\x47\x31\x49\x98\x8c\x15\x78\xfd\x18\x70\x8d\x2f\xf6\x9f\x8e\x59\x80\xaa\x82\x6a\x82\xca\xb7\xd8\xb9\x2b\xb5\x3b\xdd\x46\xdb\x04\x6e\xcd\xfc\x8c\xd7\xae\x5c\xe4\x4f\x3c\x5b\x8c\x05\x65\xb5\xd3\xc0\x72\xc7\x6b\x95\xce\x90\x0a\xc3\xee\x55\x10\xdb\x0e\x75\xd3\xa4\x15\x0a\x98\xf3\xcc\xcc\xc6\x9e\x93\x0c\x6b\xa7\x41\xdb\xb0\xeb\x9f\xb3\x19\x68\x71\xba\x20\x6a\x58\xe0\xda\xe3\x9c\x8d\x6b\xb7\x2a\x82\x39\x9c\x4b\x7b\x9d\xa3\x85\x77\xac\x17\xff\x15\x24\xd6\x53\xc0\xbf\x33\x67\x93\x23\xca\x7e\xef\x4e\x92\x28\x72\x90\x31\x56\x0e\xd8\xf2\xe5\x19\x3c\x64\x0b\x2f\x5e\x60\x80\x75\xa2\xed\x61\x42\x8d\xfc\xcd\xc0\x00\x50\xba\x4b\x99\xed\x6d\x15\x36\xd5\xac\x1e\x93\x96\x74\xb4\x1d\x16\x31\x2a\xe5\xb0\x7d\xef\x1b\xf5\x35\x89\xbe\xd4\x40\x06\x02\xee\x11\xb8\x50\x33\x0f\x38\xaa\xd3\x3e\xf0\x41\x70\xa3\x90\x5c\x28\xb5\x0e\xcc\x57\xdc\xcf\x4f\x29\xd0\xc0\x0f\x71\x3d\x32\xff\xc8\x57\x95\x65\x88\xa6\x32\x6b\x95\x49\xed\xb0\xe4\xfe\x61\x85"}, -{{0x42,0x7d,0x6e,0x42,0x39,0x17,0x89,0x68,0x31,0x60,0x1b,0x8f,0x4e,0x21,0x56,0x1d,0xb6,0x10,0x85,0x71,0xbe,0x00,0x9e,0x29,0xdc,0xa4,0x9a,0x59,0x60,0xff,0x31,0x4b,},{0x8d,0x9e,0x63,0x60,0xfd,0xef,0x24,0x99,0x75,0xdf,0x27,0xb3,0x10,0x6a,0x71,0x12,0x05,0x87,0x72,0x2d,0xf3,0x27,0x0a,0x85,0xa1,0x3a,0x8c,0x3b,0xb8,0xc9,0x80,0x9e,},{0xd1,0xc9,0xa0,0x1c,0x56,0xe3,0x39,0x60,0xf4,0x9d,0xf3,0x7e,0xab,0x96,0x3b,0xc5,0xa9,0x9f,0x25,0xc6,0x00,0x44,0x6c,0xe2,0xca,0x48,0xd9,0x13,0x9d,0xa5,0x73,0x3b,0x71,0x8f,0xbf,0x1a,0x98,0x73,0x93,0xf6,0xe5,0x82,0x3c,0x2d,0x13,0x0c,0x7c,0xe6,0x0e,0xa3,0xdb,0x35,0x43,0xc8,0x85,0x4e,0xf1,0x2b,0x98,0xd3,0x3a,0xdd,0xe7,0x05,},"\x9c\x2c\xc7\xf2\x46\x2e\x09\xc4\xc5\x8c\x27\x09\xab\x42\x59\x88\x5a\x4e\x88\x7d\x9f\xa5\x31\x88\x15\x05\xaa\xf2\x03\xc1\x63\xfb\x3a\x0d\xc0\x28\xf4\xad\xa6\x06\x70\x63\x8d\x4a\x97\x27\xa3\x90\x83\xbe\xdb\xac\xed\x58\xed\xb7\x79\xe1\xce\x6c\xcd\xfb\x42\x8c\x36\x2b\xb1\xdb\x0c\x10\x53\x00\x6b\xd8\xf4\xbe\xf8\x9a\x1a\x9d\xe0\x1c\x77\x4e\x35\x7f\x91\x0e\x5c\x39\xb2\x24\x77\x55\x5e\x5f\x7c\x04\x98\xb5\xb2\x8f\x36\x9e\x5d\x3f\xa4\x2a\xb3\x60\xe4\xf4\x51\xc6\x9f\x81\xba\x0f\x3c\xce\xd4\x3a\x55\x9d\xb6\x00\x10\x42\x78\xf8\x68\x79\x6b\x2c\x91\x1b\x3b\x03\x2b\x72\x9f\x4b\x22\xac\x14\x9d\xc4\x67\xa0\xca\xe4\x8d\x19\xe9\xd9\x85\xb4\x2b\x62\x54\x9d\xe1\x71\xff\x56\x6e\x1d\x1e\x9b\xb8\xe5\x6c\xfd\x1a\xe8\xf7\xbd\xdc\xfd\x8a\x23\x41\x82\x7d\xbe\x89\xc8\x82\xab\x3e\x49\x83\x39\xff\x68\x1c\x7d\xc1\x10\x4d\xe7\x38\xb4\x80\x31\x69\x43\x10\x9f\x70\x3d\x47\x1a\xb8\x6e\x4c\xa4\x28\x7e\x4c\xd7\x4c\x31\x2f\xf7\xd0\x37\x39\x56\x06\xfb\x25\xf8\x71\xe7\x27\x70\x78\xa7\x87\xd0\x2f\x31\xcc\x9e\x81\x5b\xe8\x60\x0a\x7c\x47\xc6\xfd\xd8\x23\x31\xae\x9c\x49\x6a\x54\x7b\xdb\x23\x5b\x8a\x56\xd5\x32\x59\xe6\x29\x61\x24\xa3\x2c\x3b\x62\x5d\x20\x24\x19\xd0\x64\xb9\xa4\xe8\x3e\xfa\x87\xf1\x35\x37\xb4\xf5\x13\xb9\x16\xa8\x4f\xc8\x66\xd8\xa8\x99\x80\x4c\x78\x33\xea\xa0\x19\xe0\xd7\xe0\xe8\x07\x5b\xd6\xb5\xcb\x6f\xfc\x76\x64\x79\xf3\xf6\xe2\x0e\x48\x1e\x6a\xb2\x7b\xd8\x08\xad\x90\x6c\xdc\xc7\x82\x74\x30\xe3\x12\xf7\x40\xf2\x75\xdd\xf5\x1d\xd8\x32\x48\xfa\x05\x7c\x43\xc9\xcb\x77\x55\x7b\x2f\xd9\xc2\xd5\x28\x24\xff\x9e\x14\x6d\xea\xc1\xe6\x69\x1d\x45\x02\x13\xbc\x59\x0a\x49\xbe\xc7\x2d\x52\xe3\x8f\x6b\x4d\xc6\xcc\xa9\x51\xee\xf2\x18\x4d\x24\x25\x03\x1a\xd5\x9b\x24\x2e\xff\xa6\x8b\x6c\x72\xc5\x4c\x9d\xfd\xb4\x19\xc0\x2e\xb4\x3e\xf3\xf3\x4d\x33\x8d\x2a\x9d\xd0\x3a\x78\xcf\xdd\x01\x40\x98\xe2\x49\x25\x9e\x77\x28\x2e\x0c\x3f\xc1\x01\x0b\x02\xa6\x7f\xf8\x51\xe9\xcf\xd9\x74\x9c\x1c\xd8\xf0\x6c\xf4\x62\xe6\xad\xe9\x95\xac\x46\x6f\xab\x5c\x79\x5e\x9e\xff\x13\xe5\x5b\x43\x50\xb9\x4c\x73\x16\xaa\x49\x8d\xf9\xfd\xee\x99\x58\x04\x77\x93\xe3\xbb\xb8\x9f\xb8\x1d\xa8\x5f\x4b\x9d\x43\xe4\xb0\xd4\x3b\x38\x1b\x94\xcd\xc9\xa9\x9d\x06"}, -{{0xbe,0x93,0x52,0x09,0xf6,0x2d,0xea,0x60,0x12,0xec,0xda,0x6a,0x61,0x56,0xcd,0x16,0x6a,0x4d,0x76,0x11,0x50,0xde,0xed,0x45,0x68,0x16,0xea,0xf0,0xce,0x78,0xa7,0xf6,},{0xd3,0x9a,0x89,0xaf,0x72,0x29,0x39,0x48,0xb1,0x34,0x21,0xfb,0x88,0x3b,0xbe,0x37,0x2a,0xf9,0x08,0x9c,0x22,0x4d,0x42,0xb9,0x01,0x97,0x9f,0x7e,0x28,0x04,0xe1,0xc0,},{0x08,0xe0,0x98,0xa7,0x49,0xfc,0xe6,0xd1,0x23,0x54,0x39,0x58,0x78,0xa8,0xbe,0x35,0xfe,0x9e,0xdf,0x72,0x68,0x4d,0xd8,0x28,0x12,0x24,0x89,0x9b,0x1c,0xae,0xa4,0xed,0x68,0x77,0x85,0xdf,0xf5,0x5a,0x19,0x98,0x9e,0x03,0x63,0x6e,0x16,0x66,0x38,0x6f,0x22,0xc3,0xf4,0x43,0xec,0xf6,0xfd,0x34,0xd5,0x99,0xff,0x3e,0xc2,0xfa,0xf1,0x01,},"\x11\x7f\x42\x7c\xb6\x81\x50\xca\xfc\xfa\x46\x2c\x42\x20\x61\x41\x42\x7c\x4d\xce\xa1\xc8\xea\xcc\x2d\x30\xbe\xd1\xe9\x02\x07\xd5\xae\x30\x5e\x1f\xc1\x6c\x54\xe4\xc5\x4c\xc6\x87\x8c\xdb\xed\xc9\xf5\x1f\xe1\x84\x61\xec\x37\xc5\x57\xb1\x15\xd1\x3c\x86\x82\xc4\xe1\x5f\x50\x52\x96\xa1\x76\x0e\x1e\x75\xf5\xab\x27\xa5\xc1\x5a\x13\x57\xd2\xc8\xc4\x0d\xd5\x35\x5f\x7c\x82\xfe\xa5\xd2\x7e\x28\x87\x63\x58\xc1\x2e\x91\x13\xee\x29\x83\xea\x6f\x09\xc6\x4e\x06\xe2\x97\xdd\x96\xb3\x4d\x9b\x5e\xd4\x9f\xc4\x7a\x88\x39\x54\x9c\x66\xb0\x02\xfe\x94\x5e\x8f\x94\xe7\xd2\x31\x5c\x50\xca\x4d\xc0\x98\xbe\x4b\x32\x89\x81\x2f\xbe\xa9\x6b\x47\xce\x60\x45\x40\xbd\xe0\xe5\xab\x0b\x1b\xc0\x36\xbe\x9b\x6a\x95\xe0\x9c\x81\xe8\x98\x64\x0c\x8f\x05\xd6\x0a\xd9\x42\x18\xd0\xe6\x6c\xeb\x85\xa2\x6b\x78\x29\x22\x20\xbf\xd0\x61\xdd\x07\x35\x12\x92\x3b\x90\xc7\x9d\xcf\x5a\x19\x35\xfa\xfe\x8e\x01\xef\x8b\xf8\x1b\x4d\x37\xc5\xa5\x71\xb5\x0c\x42\x1f\x9b\xd2\x19\x4b\xef\x35\x86\xfc\xb8\x58\x48\x77\xbb\x7e\x04\x81\x65\x5b\x05\xc7\xb6\x43\xb1\xe4\x5b\x04\x03\x62\x72\x84\x18\x52\xe3\x19\x40\xef\x8f\x3b\x6d\x4f\xeb\x5d\xf0\x79\xd1\x76\xf9\x79\xc1\x8a\x11\xa6\x6d\x12\x14\xe5\x2f\x68\x7e\x90\x63\xc1\xc2\xb7\x27\x7b\x68\x5d\x5c\x72\xad\x56\x9f\x78\x73\x83\x8f\x91\x02\x57\xa0\x53\x13\x1c\x83\xeb\xce\x86\xe6\x9d\x73\x63\x62\xbe\xbc\x96\xbb\xfa\x35\xfc\xba\x1c\xb5\x27\xe7\x48\xe5\xf5\x79\x92\x9f\xd4\x0c\x56\xb1\xa5\x1a\x22\x2e\x86\x33\x02\x70\x5c\x86\xf7\xb5\x4e\xbf\xbb\x94\x82\xf7\xe2\x80\xf7\xbe\xc8\xca\xf3\xa6\xb5\x67\x1a\xc3\x0c\xd1\xbe\x52\x92\x88\x79\x7c\x01\x3c\xe5\x6b\xd1\x86\xde\x7d\xfc\x18\x28\x69\x14\x25\xc1\x47\xc5\x17\x4a\x29\x0d\x80\xcb\xd5\x9c\x19\xda\x7a\xdf\x77\x91\x88\x82\xa7\xb2\xa9\xa6\x4e\x6d\x76\xb4\x8b\x92\xf2\xa2\x66\xee\xe6\xe2\x51\xd2\xe8\x17\x65\x2b\x88\xb5\x02\xde\x73\x99\x78\x2d\x75\x29\xa8\x1d\x0a\x36\x39\x96\xb9\xdf\x68\xb1\x5a\x76\x30\x90\x4c\x8c\x24\x60\x81\xfa\x4f\x09\x29\x9f\x15\x75\x79\x58\xe0\x89\xa9\x01\xc3\x56\x46\x15\xc0\xf7\xcf\x27\x52\xb8\xb9\xe5\x21\x33\x8d\x83\x6e\x3d\xae\x4c\xe2\x37\x46\x42\x25\x3c\x4c\x98\x31\x97\x4e\x5d\x8c\x28\x42\xf4\x90\x07\xb7\x17\x75\x09\x3d\xfe\x57\xf4\x44\x92\xf0"}, -{{0x68,0x18,0xc6,0x0b,0xb6,0x43,0x9a,0xc2,0xee,0xe2,0xd4,0xe1,0x28,0xe9,0xd8,0x69,0x1d,0x4a,0xd5,0xd3,0x63,0xfe,0xd7,0xd6,0x57,0x7a,0x62,0xb6,0x56,0x99,0x94,0xa4,},{0x73,0x45,0xec,0x11,0xbc,0xcc,0x05,0x6f,0xc4,0xef,0xfa,0x3e,0x4e,0xf6,0x70,0x99,0x6a,0xa2,0x6a,0x1b,0xb1,0xb8,0x33,0x91,0xba,0xbc,0x39,0xa1,0xa5,0x96,0x01,0xf9,},{0x15,0x05,0x96,0x7a,0x27,0xb9,0xf8,0x6e,0x92,0x42,0x44,0x40,0x02,0xa1,0xe3,0x19,0x7d,0x74,0xdd,0xcd,0x89,0x65,0x9e,0xc5,0x14,0x02,0x02,0xaa,0xc7,0x94,0xb8,0xad,0xc1,0x93,0xe7,0xd3,0x0f,0x33,0x82,0x64,0x29,0x90,0xf6,0xfe,0xd7,0xa9,0x99,0xca,0xc8,0xc6,0x1e,0xaa,0x39,0xb7,0xd9,0x08,0x16,0xf1,0xd7,0x38,0x74,0x4b,0xe1,0x01,},"\xb2\xae\x65\x8b\x3c\x13\xc3\xcd\xeb\x1d\xc9\x93\xb0\xf4\x5d\x63\xa2\xea\x9a\xbd\x0b\x7a\x04\xf1\xf5\xce\x59\x32\x80\x6c\x2c\xa9\xb7\xa2\x04\xfb\xf8\xd0\x66\xb7\xf0\xfe\x6a\xe0\xd1\xda\x68\xc8\x85\xee\x11\xf6\xf6\xdb\x7e\x83\x20\xa2\xea\x65\x0b\x53\x38\x51\xcd\xd9\x9d\x90\x3a\xa0\xb3\xfa\xa3\xc9\x50\xf7\x02\xf0\x4e\x86\xb4\xee\xb3\xa1\xc7\xbc\x85\x4b\x25\x14\xfa\x5b\x47\x66\xd3\x75\xb4\xf1\xad\x61\x07\x53\x78\xdd\x92\xfd\x62\x6c\x2b\x47\xe0\x13\x83\xea\x72\x98\x79\x59\x26\x2c\x56\x28\x62\xb4\x5b\x75\x57\x67\x14\x13\xb6\x66\x14\xbc\xc9\xf7\xbd\xb9\xee\x46\xcb\xed\x89\x65\xbf\xa5\x05\x31\x50\x90\xc7\x20\x4b\xea\x89\x17\x5b\xe5\xf2\x08\x02\xe3\xde\xdd\xcb\xd8\xdd\x64\xcf\xef\x7e\xe6\xa6\xe3\x86\x0c\xe1\xe5\x79\x9d\xf5\xd8\x10\xd5\xec\xf3\x2e\x61\x5d\x16\xdf\xf8\x7a\xbd\x4a\x63\x6e\xa1\x7a\xa4\xec\xe5\xb6\xb2\xc0\x46\xb6\x5b\x5a\xf7\x49\x86\x2b\x45\x79\x0c\x39\x17\x68\x20\xb3\x69\x01\xbe\x64\x9c\xf4\x16\x9d\xf7\xe9\x23\x95\x6d\x96\x06\x49\x50\xc5\x55\xf4\x5a\xcb\x94\x50\x7c\xfd\x0c\x3b\x33\xb0\x80\x78\x5e\x35\xc0\xd2\xb0\xad\xdc\x4c\x0a\xd3\xfb\x21\x6a\xc2\xe6\x01\xc9\xc7\xe6\x17\xda\xbd\xa3\x33\xda\xe6\x03\xcc\x9d\xb1\xfc\x62\xae\x4e\x0e\x45\xe3\xcc\xdd\x16\x6a\x67\x81\xe2\x43\xb7\xda\xa1\x38\x80\x66\x32\xf5\x38\x84\x4e\xe3\xd1\x40\xb7\xa8\xbb\x2b\x54\x01\x00\x77\x8c\x45\x8e\x06\x61\x70\x70\x5e\x5f\xb2\xc8\x80\x29\x09\x8b\x99\x2c\x39\xbc\x9f\xf6\x33\x0b\xfc\xfe\x77\x52\x32\x0e\x6e\xa0\x94\x9d\x2c\x87\x1a\xed\xc1\x87\xbe\x27\xfe\xf7\xdb\x5f\x72\xa6\xa7\x73\xed\xde\x0d\xc5\x2a\xe2\xed\x93\x1c\xb2\x68\x17\xb8\x5b\x15\x45\x89\x4d\x92\x29\x8a\xaf\x87\xcc\xbc\x78\x3e\x8d\xd6\xd1\x64\x93\xf5\x6e\xad\x2b\xa8\x52\xee\x9c\x7d\x10\x07\x44\x06\x44\x0d\x2a\x27\x9a\xbc\x87\x4f\x15\x46\x8d\xd6\x6a\x71\x7b\xac\xe3\x7b\xe7\xb7\x05\x5d\xd9\x68\x1f\x8b\xe8\x13\x29\xee\x7a\xf9\x7e\x3a\xbc\x43\x4a\xc1\xc9\x3a\xec\x58\x2f\x23\xfd\x1e\xc0\xfa\x5a\xaf\xcf\x7b\xfb\xda\x00\xff\xa9\x7a\xe3\x17\xae\x91\x8d\x34\x9d\x21\xa7\xf4\x61\x91\x42\xba\x23\xda\xce\xf7\xb3\x90\xae\x26\xa1\x7e\x2e\x29\x62\xae\x27\x00\x53\x76\xb7\x2d\x4d\xa9\xe2\x97\x96\x53\xa6\x63\x25\xa1\x46\x17\x63\x8d\xbe\x1a\x55\x40\xb6\x83\xac\x00\x17"}, -{{0x6d,0x1d,0xa5,0xb4,0x83,0xe6,0x4b,0x03,0x65,0x99,0x0f,0xf0,0x93,0x81,0xfb,0x17,0x02,0xfd,0x8e,0xc3,0xa1,0xa3,0x69,0xcd,0x52,0xe4,0xc5,0x67,0x13,0xa3,0x14,0xa5,},{0x08,0x05,0x5c,0x26,0x1f,0x26,0xe0,0x2a,0x65,0x8f,0x66,0xd9,0xba,0x01,0xfc,0xde,0x53,0xe9,0xad,0xe3,0xed,0xc6,0xbf,0x81,0x5e,0x4a,0x68,0x02,0xe1,0x67,0x7a,0xb3,},{0xa5,0xb8,0xb4,0x4a,0x91,0x44,0x4c,0x64,0x37,0x4b,0x52,0x3c,0xb4,0xdc,0xb0,0xce,0xf4,0xce,0x52,0x40,0x8b,0x98,0x12,0x6d,0x7e,0x1a,0xe8,0xbd,0xc2,0x8c,0xf5,0x14,0x70,0xce,0x4e,0x25,0x3e,0x0b,0xe6,0x2b,0xd6,0x8e,0xbf,0x5f,0xa6,0xbc,0xe1,0x58,0x5e,0xcc,0xfa,0x92,0x56,0xc0,0x73,0xee,0x03,0xe5,0x4c,0x52,0x5b,0xbe,0x2d,0x0a,},"\x79\xa2\xc3\x70\x55\xf1\x89\xf3\x24\x7f\x1f\x8c\xea\x19\xb2\xea\x40\xd8\x58\xdb\x1f\x5d\x13\x92\xee\x6d\x41\x1c\x78\x02\xee\x23\xde\x52\xad\x02\x81\x17\x25\xa9\x4d\x76\x67\x5d\xa8\x9a\x96\xb5\xd0\x7a\xbc\xee\x23\x3a\x1a\x2e\x1f\xa3\x24\xff\xf9\xe7\x8a\x4c\x19\x61\x47\xf8\x57\x0b\x0b\x13\x71\x3d\x96\xaa\x5d\x75\x0a\x15\xd7\xcd\x16\x2e\x7b\xa2\xe7\x53\x33\x60\x7d\xd6\x98\xeb\x47\x73\xc7\xe9\x1f\x76\x68\xff\x8b\x62\xf0\x46\x40\xeb\x12\xec\xf1\x22\xfc\xe6\xb8\x32\xe0\xd0\xdf\x92\x8e\xef\xd2\xc2\x00\x23\x64\xaf\x6b\xb5\x52\x91\xd3\xf5\x49\x29\x08\x5b\xe3\x38\x34\x2f\x09\xda\x73\xe2\x79\xc8\x7c\x83\x24\x55\x58\x19\xed\x57\xe7\x8d\x7a\xc4\x09\x51\xd3\x3f\x65\xb9\x4a\xa1\xe5\x55\xe9\x2a\x06\x3d\x11\xf1\xff\x7b\x12\x69\x43\x41\xe3\xfe\x44\x49\x33\xd0\x1a\xa3\x67\x53\xed\x3c\xdd\xa8\x90\xbd\xf9\x5a\x82\x05\xb5\xd8\x93\x22\x19\x91\xc7\x95\xad\x0a\x4a\x94\x6f\x58\xd4\x0a\x45\x34\x51\xaf\x21\x4f\xd4\x65\xe2\x8d\x3e\x2f\x0a\x56\xaa\x56\xde\xf8\xdc\x04\xaa\xd3\x57\x13\xab\xfc\x8b\xd7\x85\x6d\x5a\x9d\xc3\xf6\x0a\x3f\x2b\xd3\xe6\x36\x6f\x1f\x24\x4e\x94\x1d\x6a\xea\x89\x2f\x6a\x88\x93\x1f\xe1\xc3\x13\xe0\x90\x78\xe9\x0b\xc6\x39\x2d\x49\x05\x33\xc9\xea\x3f\xf6\xde\xaf\x3a\xad\xfa\x8d\xfd\xc4\xe9\x0f\x64\xaf\x47\x58\x9e\xa6\x5a\x87\xac\xd2\x19\x96\x02\x35\x1d\x3a\xfc\x21\x03\x19\x6e\x03\x94\xed\x52\x3a\xa7\x99\xd3\x1e\x11\xd3\x4f\xff\x54\x6d\x44\xf4\x36\xb3\x48\x59\xf9\xcf\xbc\x9c\xe4\x03\xde\x5a\x98\x30\xec\x3d\x45\x3f\x0d\x45\x97\x0f\x57\x2c\x14\x4f\x19\x1b\x2f\xbb\x2d\x0e\xa6\xcc\x9c\x8e\x24\xd9\xc0\xb2\x18\x3b\x27\x80\x72\xeb\xb0\xbe\x2d\x70\xd0\x37\xfd\x2e\x8e\xc1\x8d\xc4\xc9\xb2\x1a\xbd\xc6\xa4\xce\x8d\x46\x68\xa2\x20\xee\xbd\x69\x34\xf0\x4b\xaf\x0e\x88\xa4\x88\xd2\xdf\xc7\x35\xa7\xc5\xa7\x0d\xbb\x01\x66\xa2\x1a\xe0\x11\xfc\x6e\x7d\xa1\x0f\xc3\x20\x33\x62\x71\xd9\xee\xad\x51\x0a\x6f\x70\x32\xf2\x29\x66\x92\xbe\x50\x80\x21\xbc\x98\xc1\x70\xbe\x42\x35\xf7\xce\x31\xf2\xbc\xd6\x34\x11\x63\x68\x33\x76\xae\x2c\x56\x62\xcb\x47\x70\xc9\x6e\x01\x8e\xf1\xbf\x47\x91\x33\x19\xc9\xa0\x9b\x9e\x96\x5a\xb5\xc3\xe9\x7b\xbc\x75\x6a\x56\x66\xb4\x56\x7f\x2c\xff\x2d\x0c\x3a\x6a\x40\x26\x15\x8c\xb9\xf9\x0f\x95\x00\x56"}, -{{0x51,0x46,0xf5,0xb7,0xf1,0xba,0xa1,0x9f,0xc8,0xcd,0x78,0x5c,0x89,0x6e,0x0f,0x90,0xf9,0xf6,0x59,0xb7,0x7b,0x1b,0x9b,0xb4,0xad,0xca,0xb5,0xa6,0x26,0x72,0x05,0xe4,},{0x68,0x8a,0x8d,0xe6,0x4e,0xff,0x33,0xba,0x6b,0xbe,0x36,0xcd,0xd6,0xa3,0x84,0xbb,0x67,0xb3,0xf4,0x26,0x36,0xdb,0x23,0x4f,0xf5,0xef,0xe0,0xb3,0x17,0x43,0xc7,0xe6,},{0x4b,0xdb,0xd7,0xc6,0x4f,0x13,0xe2,0x78,0xc2,0x39,0x69,0xe7,0xeb,0x38,0x6b,0xbe,0x49,0x9d,0xbd,0xef,0xc3,0xff,0x4e,0x30,0xcf,0xac,0x5c,0xf8,0x6f,0x21,0x6c,0x24,0xc9,0xe6,0xcd,0xe2,0x0e,0x52,0x9d,0x14,0x7f,0xb7,0xea,0x08,0xf2,0x59,0x3a,0xd5,0x09,0x03,0xb5,0xed,0xbf,0x86,0xb4,0xd2,0x8f,0x2e,0xb3,0x2e,0xf1,0x37,0xf0,0x0c,},"\x97\xbd\x99\xf5\x18\xee\x07\x88\xd5\x76\xd9\x9c\x04\x3b\x44\x9d\xfc\x24\x2a\xc5\xee\xae\xc3\x44\xa1\x94\x32\xb3\x45\x96\x2e\xc4\x12\xce\x55\x36\x2b\x3b\x85\x1d\x98\x11\x9f\xce\xb9\x32\x83\x47\xf6\xfc\xc6\x8d\xbf\x56\xa2\x81\x4d\xb0\x9e\x93\x85\x84\x3a\x93\x11\x89\xea\x3e\x72\xda\x9d\x79\xa4\x56\x93\x05\x3c\x03\x57\x01\xdc\x55\x51\x24\x0f\x95\xb3\x03\xfb\xa1\x6f\x89\xaa\x53\xa4\x38\x82\xb0\xf1\x38\x12\x02\xc7\x8f\x9c\x74\x19\x89\x9f\x23\x51\xec\xa9\x5e\x20\xbf\xee\x76\x35\x1c\x48\xd0\x04\x99\xf5\x91\xda\x56\xa9\x95\x24\xbb\x74\xfe\x1c\x83\x4e\xe9\x10\x77\x13\x9f\x1e\xdf\x67\x31\x5c\x07\xa3\xfd\x97\xf8\x0b\x7c\x27\x6b\x6c\xf6\xb5\xcc\x36\xbe\x36\x3b\x73\x12\x17\xf6\x31\x9f\x51\x29\xba\x7b\x14\xd0\x54\xc8\xd8\x1d\x8e\x3a\x3f\x3b\xe6\x2a\xc3\x1f\xf6\x2d\xf6\xa3\xb2\xee\x25\x96\x96\x9b\x99\x17\x04\xb3\x1c\x68\x99\x97\xab\x46\x28\xbc\x26\x60\xc6\x78\x72\x13\x2e\x85\xda\x0c\x4f\xcf\x56\x79\x65\xf1\x25\x4a\x8f\x43\x26\x92\xa1\x7b\xb8\x6c\xb3\xc1\xdc\xba\xac\x93\x95\x52\xf0\x9e\x50\xec\x5b\x0d\xe2\xef\x85\xe0\xac\x25\x3a\x41\x65\x65\x5d\xb5\xb5\xc4\x98\x03\x82\x1d\x85\x9c\x60\x96\x1e\x06\x1d\x58\x27\x8b\x82\x7d\xd4\xd3\xbc\x47\xf1\xc2\x2d\xe0\x94\x90\x6b\xdb\xbf\x3b\xad\xbd\xde\x22\xba\x24\x25\x58\x55\xeb\x86\xd1\xd7\xf3\x70\x82\x05\x93\x11\xdc\x07\x28\xeb\xea\xf2\x6c\x44\x73\xba\xd1\xfa\x9e\x61\x4b\x53\x3b\x81\x1b\x6b\xcb\x06\x50\xc0\x6d\x87\x9a\x52\x45\x78\x8f\x34\x01\xb4\x61\x97\x30\x07\x74\xa9\xaa\x73\xcd\x97\x8c\x05\x30\xc8\x1a\x53\xbd\xb3\xfc\x93\x24\x14\xb3\xe3\x04\x40\xdc\x12\x74\x41\xef\xf1\x60\x5e\x7f\xd9\xac\x8c\x63\x2e\x82\xbf\x1b\x45\x3d\x4f\x33\xa5\x7e\x4b\x67\xb0\xb6\xfc\xf6\xed\x55\x55\xb5\xf5\xa3\x00\xa1\x4a\x00\xd0\x38\x5a\x33\x75\x05\x25\xb0\x0e\xdb\x31\x2c\x6b\xfd\xd6\x4e\xdd\x3b\x53\x16\xd1\x9f\x95\x8c\x51\x76\x34\xf0\x13\xb0\x08\x93\x6d\x34\xe9\xb5\xe1\xe9\x28\x3a\x5f\x0f\xd7\x78\x33\x77\xc0\xe5\x09\x06\x41\xbb\x9d\x33\x8c\xf3\x13\x3a\xcd\x0b\x97\x1e\x53\x79\x04\xf1\x7a\xf9\x29\x11\xaf\xad\x72\xee\x97\xf9\xa8\x28\x3a\x16\xa7\xe2\x6a\xb4\x28\x41\x6c\x10\x17\xda\xe9\xb1\xa9\x9c\x4c\x33\x20\xad\x16\x3b\xdc\xfc\x32\x8b\xfa\xf9\xb8\xd5\xd7\xd2\x6d\x41\xd1\xef\x21\xa5\x20\x8f\x01"}, -{{0x5e,0x6f,0xda,0xc9,0x35,0x1a,0x63,0x7b,0x99,0xf3,0x3a,0x26,0x4e,0x12,0x87,0x69,0x7e,0x2a,0xba,0xb0,0xcc,0xa1,0x66,0x21,0x79,0x24,0x84,0xf5,0x60,0x6f,0x44,0xc1,},{0x57,0xe5,0xf8,0x8a,0xcd,0xdc,0x8c,0xde,0x7d,0xd0,0x7a,0x31,0x46,0xfb,0x1d,0x4f,0x7a,0x9b,0x63,0x83,0xa8,0xf6,0xb2,0xb8,0xd9,0xb0,0x7e,0xbc,0x3f,0xc4,0xdd,0x20,},{0x98,0x7e,0x32,0xe0,0x0a,0x8a,0x16,0x32,0xf4,0x7b,0x50,0x31,0x94,0x35,0x5c,0x98,0x0c,0xb2,0x2a,0xde,0xb3,0x26,0xb4,0xe3,0x11,0x5e,0xca,0xb0,0x4b,0x70,0x4d,0x18,0x6c,0xd9,0x2e,0x3c,0x3a,0xc7,0xb4,0xe2,0x93,0x6c,0xbd,0x07,0xcb,0x79,0x4e,0xc0,0xcf,0xe9,0x1a,0x97,0x87,0x2f,0xf2,0xb4,0x13,0x76,0xf5,0xf1,0x8f,0x55,0xb8,0x05,},"\x4d\x6c\xd3\xbc\x2f\x86\x26\x6b\x8b\xb1\xb6\x1d\x0e\x1c\xaa\x9b\xd2\xd4\xa1\x80\x36\x1a\xef\x3a\x18\xd3\x90\xb1\x0f\x7e\x86\x0f\x69\x7e\x24\x7e\xb6\xc3\xe5\x1d\x3b\x97\x6b\xf0\xca\x18\x3d\x01\xa6\x98\x80\xf1\x5c\x94\xb8\x75\x66\x8c\xa3\x0d\xad\xa0\x89\x5b\xed\xd4\xd7\x05\xa0\xe0\x33\x04\xd0\x63\xde\xa8\x7c\x7f\xde\xc9\x8b\x89\xc0\x6f\x13\x0d\xd5\xbd\x58\x6b\x54\xd9\xba\x73\x78\x26\xbb\x40\x5c\xd8\xac\x8b\xbc\x95\x00\xac\xda\x3c\x07\x46\x1d\x00\x94\x40\xaf\x0b\x25\x31\xe7\x2f\x3f\xf5\x01\x6a\xe2\xd8\x6d\x69\xb8\x7f\xb2\x73\xd1\xe8\xdd\x5f\x6a\x26\x4b\xee\xbb\x2f\x88\x59\x96\x74\x1f\xfd\xa2\x77\xa0\xfb\xf8\xef\x08\xf8\x1f\x22\xee\x59\x61\xd9\xd3\xfc\x93\x83\x62\xe1\xca\x12\x00\x4a\x91\xd9\xb5\xf7\xa6\x83\x3a\x6c\x22\x95\x5a\xc0\xcd\xa3\x39\x06\x71\x91\x0c\xbd\x51\xe6\x85\xfe\x09\x59\x73\xe4\x15\xfc\x2d\xb8\xad\xf1\x0b\x14\x7e\xc7\x08\x0c\x3b\x8e\xbd\x07\xd2\x1b\xb9\x55\x6d\xa8\x54\x30\xa2\x68\xee\xd8\x48\x6b\x1e\x31\xc9\x43\x13\xb0\x16\x49\xfe\x91\xb2\x22\xf8\x5a\xde\xe1\x5e\xb7\x77\x07\xd7\x8f\xfc\xb6\x60\x92\x65\x44\xd3\x3b\xe9\x99\x4a\x29\x76\x20\xdc\x7a\xed\x97\xf3\x92\x63\x90\x53\xf3\x88\xb0\xb3\xaa\x3b\xd0\xac\x5b\x03\x3c\xb4\x14\xbe\x52\x0b\x43\xdf\x68\x26\xb9\x76\x89\x0d\x0c\x53\xb9\x7b\x6c\x92\xe7\xd1\xa1\x57\x3d\x0c\x74\x94\xd7\x47\xe0\xca\xd9\xbd\x8e\xa5\x38\xd6\x2a\xd5\x98\x01\xad\x07\x16\xf1\x70\x19\x3e\x30\x09\xd9\x95\x9c\x55\xd2\xff\x64\x79\x9b\xd9\x59\x35\x9a\xbb\x94\xca\x97\x23\xb5\xff\xc2\x4c\x95\x07\xf8\xc5\xfd\x6e\x88\xea\xae\x7a\x70\xad\xd8\x4d\x74\x4c\xcf\x8b\x98\x36\x37\x88\xf0\xbf\xb1\xa0\x25\x22\x02\x57\x51\xe5\x34\x71\x0d\x40\xa2\xd3\x8a\x79\x11\x94\xeb\xa2\x93\xfd\x20\x46\xcc\x14\xdd\x38\x76\xd1\x68\xfc\x6e\x23\x6c\xbe\x14\x6d\x63\x69\xd2\x25\xbf\xa6\x7e\x53\x97\x98\x65\xf7\x88\x73\xa9\xfc\xf0\x3c\x18\x6f\xa8\x52\x1f\x0a\x55\x45\xac\xce\xe8\x0d\x1e\x55\x10\x72\x21\xe2\x1f\x0f\x22\x91\xc1\x43\xde\x02\x3e\x88\xd7\x33\x0c\xc8\x7d\x4c\x51\xff\x29\xa3\x09\x06\x05\xe9\x73\x94\x90\xc1\xdc\xee\x71\x34\x95\xf2\x31\xc2\xa3\x6b\x11\xab\x23\x55\x47\xfb\x63\x28\xf7\x47\x33\x6d\x9b\x1e\xf2\x5a\x8a\xb9\x9c\xed\xa9\x57\xb2\xdc\xce\xe4\x07\x5b\x0d\x03\x38\x1b\x94\xae\x18\xd0\x41\xea"}, -{{0xfc,0xff,0xf0,0x93,0x2d,0xc8,0x6e,0xa5,0x90,0x2a,0x8d,0x33,0x07,0x33,0x29,0x96,0x0c,0xd8,0x18,0x8a,0x07,0x5d,0xd0,0xbc,0xdf,0xa8,0x38,0x2c,0x20,0xb0,0xe7,0x8f,},{0x0c,0x92,0x05,0xa9,0x0b,0xbe,0x7f,0x2d,0x50,0x5e,0x17,0xfa,0x3d,0x08,0x0b,0x52,0x2a,0x1d,0x7a,0x15,0x2c,0xad,0x2d,0x85,0xd3,0x1b,0x34,0xa0,0x47,0x1c,0x0d,0x4c,},{0x37,0xdd,0xd8,0x3f,0x98,0xb0,0x57,0xb7,0xcb,0x32,0x08,0xa8,0x32,0xc5,0x8a,0xa9,0x06,0x94,0x56,0x3c,0x23,0x54,0x8d,0x43,0x22,0x91,0x38,0x0b,0x73,0x59,0x13,0x01,0xf2,0x74,0xb0,0x4c,0xee,0x2e,0xf7,0x8c,0x06,0xd9,0x6c,0x3d,0x9b,0x7c,0x17,0x52,0x1a,0xae,0x1a,0x8c,0xa5,0x0d,0x34,0x7c,0x09,0xc3,0xcf,0x70,0x3b,0xc8,0x83,0x0b,},"\x3d\x4b\x76\x12\x23\x73\xe2\x12\xa3\x46\xd1\x9a\x66\xbb\xfc\x4b\x62\x32\x92\x64\x9b\xd0\xce\x5c\xf6\xbb\x13\x56\x48\xbd\x01\xdb\x74\x03\xb3\xd0\xbd\xd1\x69\x7f\xf4\xe6\xe9\x08\x90\x41\x16\x75\x4d\x37\x0c\x40\xd7\x00\xcd\xb6\x64\xc4\x6a\x91\xdd\x84\xa3\x58\xb9\xd2\x38\x14\x43\xe6\x0f\x2c\x3f\x56\x40\x26\x1b\x6b\x85\x8b\xa8\xf8\x28\xb0\x97\x1f\x41\x22\xb2\x02\x88\xa2\x6b\xa2\x09\x0b\xa1\x4f\xd2\x76\x36\x0c\xc6\x86\x79\xcd\x84\x19\xae\x19\xc6\xd4\xdc\x7b\x66\x14\xc0\x6d\xf5\xe5\xc0\x51\x0e\x2c\xb6\x86\xde\x0e\xbd\x75\xe5\x21\x0a\x21\x55\x62\x58\x9b\x28\xc9\xcc\xc7\xd2\x72\xb9\x8b\xd4\xbf\x93\x49\x5e\xfe\x4f\xc5\xb7\x8d\xef\xec\xfb\xca\xa9\xfe\x12\x6b\xad\x30\xe8\x9b\x3a\x38\x9b\x42\x56\xf6\xa4\x8a\x76\xc3\x45\xde\x5a\x36\xa1\x44\x9f\x08\x34\x5b\x9a\x5e\x6a\x00\x1d\xa1\xff\x9c\xd4\x33\x70\x93\x48\xe9\xae\xfb\xc7\x8b\xa5\x2d\x3a\xb3\xb4\x69\x86\x93\x5e\xba\x8e\xcf\x81\xed\xc4\x3c\x5b\x2e\x3b\x5e\xb3\x8d\x9a\x16\x5e\x9e\x7f\x72\xf6\x17\x60\x54\x63\xbe\xdb\xa9\x73\xeb\xfd\xcd\xf2\xb0\x88\x9c\x71\x41\x2f\x8f\x85\x0c\x7a\x3b\x55\x18\xec\xd8\x9d\x2e\x25\xc0\xc1\xc3\x0f\x08\x5a\x0f\xfe\x54\x0e\xf9\xc0\xe8\x8f\xc7\xec\x4a\xf1\x94\x8a\x4e\x6f\x7a\x6e\x25\x6b\x30\x7a\x11\x27\xb7\x1b\xa6\x86\xef\xea\xdc\xa0\xe4\x86\x09\x47\xcf\x67\x4f\xce\xd6\xca\xf7\x31\x0c\xcb\xaa\x8d\x90\x47\xda\xed\x30\xfd\x55\x85\xd4\x1d\xde\xae\x4d\xf2\xfe\xd4\xb6\x22\x80\x32\xc3\xe4\xae\x23\x80\xe8\x7e\xc6\xcd\x72\xe4\xd7\x4b\x8b\x4c\x38\x13\xfb\x04\x33\x89\x39\x1e\x9c\x13\xf7\xd3\x3c\x3a\xab\x5a\x78\xfc\x4c\x6a\x63\x4c\x61\xa7\x0f\x02\xa9\x40\x54\x8d\xa1\x77\xc6\x5d\xf6\xab\x17\xcd\x96\x83\xf3\x7e\xa8\x21\xc7\x40\x88\x9d\x82\xe8\x8c\x83\x4e\x7d\x5d\xc1\x16\x62\xea\x78\xb1\x3c\x6a\x4b\x62\x18\xd3\x17\x84\x21\x9a\x47\x67\x59\x5b\x1a\x56\x21\x65\x25\xcd\x68\x93\x8b\x22\xbd\xb1\xf8\xc5\xa7\xf1\x70\x1a\xfe\xb9\x61\x88\x8e\x2e\x0e\xc0\xc8\x38\xcd\x62\x0c\xb7\xdd\x8a\x14\x93\xa0\x2c\xd5\x6b\x54\x51\x25\xe4\x70\x0c\x08\x89\xfa\x26\x44\xe6\x44\xa3\xaf\x53\x1d\x1c\xd6\xbc\x95\xe5\xdf\x91\x75\xf1\x37\xf2\x84\x08\xcb\x69\x9c\x7a\xe6\x6f\x65\xd1\xd2\x93\x0f\xac\x57\xca\x8a\x60\xe6\x31\x1a\x40\x78\x48\x8c\x9e\xa4\x04\x94\x8a\x9d\xeb\xeb\x9d\x5e\x10"}, -{{0xa1,0xe4,0xfc,0xfd,0xe0,0x44,0xf1,0xbb,0x0e,0x7b,0xbc,0x63,0x1a,0x83,0x1a,0x8d,0x07,0xe9,0x0a,0xe0,0x8a,0x96,0x6a,0xd6,0x27,0xb6,0x20,0xb1,0xe2,0x8c,0x42,0xcf,},{0x25,0x56,0x0f,0x31,0x16,0x8b,0xd4,0xb7,0x25,0x52,0xed,0xed,0xd0,0x8b,0xb6,0xbf,0x79,0xa9,0x40,0x63,0xc1,0xf1,0xe1,0xd3,0x04,0x86,0x9d,0xd1,0xce,0x04,0x9b,0x95,},{0xc8,0x00,0x15,0x27,0xbd,0x90,0x2c,0x15,0xc3,0xdd,0x5a,0xe1,0x81,0x80,0x52,0x5b,0x5e,0x82,0x02,0xbe,0x66,0x71,0x1f,0x82,0x88,0x5c,0x82,0x22,0xa1,0x5f,0x06,0x00,0x92,0xa2,0xa6,0xe2,0xf7,0xd7,0xe9,0x80,0x31,0x12,0x09,0x19,0x1b,0x32,0xb8,0xad,0xe4,0x8d,0x3e,0xa9,0x8c,0xf2,0x45,0xf0,0xfa,0xd6,0x2c,0x00,0x9c,0x5a,0x71,0x08,},"\x8c\x14\x54\xd4\xe0\x8a\x14\x01\x64\x6b\xf7\xa8\x85\x9e\x8a\x14\x5e\x85\xee\xeb\x40\xdb\x38\xff\x01\x69\x70\x96\x41\x21\x2c\x81\xb6\x73\x90\x74\x9c\x01\xa7\x98\x07\xf3\xcc\xad\xbb\xd2\x25\x6f\x36\xff\xc1\x80\xcf\x9b\xa4\x4b\xf4\xa7\x61\x2d\x44\x1c\x23\xb2\xe2\x5d\x33\xc4\x8a\x73\xe1\x6c\xe3\x57\x56\x27\x58\xad\xb0\x05\x53\xc3\x14\x2f\xb8\x17\x6b\x6a\xe8\xfb\x61\x0a\x60\xf9\x23\xb0\x91\x18\x14\xb1\x0f\x56\x79\x93\x6c\x36\x77\xb7\x0e\x84\x6e\x21\x8f\x58\x75\x67\xf2\x01\x9c\x7d\x28\x2a\x10\x7f\x3c\xc8\x47\x63\xad\xae\xc8\x89\x93\xc0\xcc\x50\x03\xe7\x7a\xf6\x0d\x67\xdb\x53\xf8\xcb\x72\x7a\xa6\x67\x2d\xe0\x04\x49\x8c\x3b\x3e\x22\x2a\xa7\x08\x2d\x91\xf9\x8a\x1a\x06\x83\x74\xc5\x10\xff\x53\xa5\xe5\x59\xcb\xe2\xd6\xc7\xc3\x44\x2d\x72\x38\x90\x7c\x81\x1d\x58\xaa\x7f\x5a\x46\xb8\x31\x12\x44\xf0\xdb\xe1\xb9\xc0\xe9\x44\xdd\xa1\xd8\x01\x08\x64\x94\x9c\x59\x39\x6c\x6b\x34\x6a\x11\xf3\xaa\x86\x6d\x6b\xce\xad\xfc\x90\x90\x38\xd2\x2e\xfb\xc8\xf1\xda\xc8\x10\xa9\xf2\xfa\xfc\xce\x7c\x03\x89\xeb\x0a\x56\xc0\xf6\x8c\xae\x24\xae\x3d\xdb\xdf\xf7\x11\x6d\x2f\xad\xeb\x9b\x0e\x75\x09\x53\x6f\xdc\x3b\x83\xe7\x13\x54\xda\x6a\x1a\xed\x16\x88\x74\x90\xdc\x2f\x4d\xf5\x7b\xba\xa7\x24\x45\x28\xfa\x30\x94\xb9\x9e\x86\x75\x81\xac\xef\x90\x62\x70\xb2\xcf\x4d\xed\xa6\xb8\xfd\x9d\xbb\x79\xad\xd7\xbe\xa8\xf8\x6f\xcb\x1f\x64\xdf\xd5\x0e\x38\x5b\x42\x09\xec\x0b\x1a\x9f\x6d\x2e\x51\x90\x68\x29\x7a\x2b\x5c\x40\x5c\x21\x6b\x4a\x2e\xd9\x83\xff\x69\xc5\x9b\x53\x0e\xff\xa6\x0c\x03\x67\x05\x12\x67\xdd\x2b\xbd\x1e\x86\xa9\xab\x5a\x11\x4d\xd4\xf6\x9b\x54\x0b\xfa\xbf\xe9\x7c\x04\x03\xb8\xfc\xbb\x27\x62\x57\x61\xed\xa3\xe2\xad\x8e\x62\x5c\xfe\x4b\x61\x5b\x70\x25\x53\x1a\x49\x89\x18\xc2\x4e\x02\xa0\x0e\x79\x7b\xba\xfd\x14\xf9\xd3\xf6\x82\x7e\x39\x00\x63\xc4\x36\x08\x06\x88\xd0\x37\xa6\xe2\x99\x3c\x56\xd3\xa8\xe9\x5f\x37\x5c\x10\x04\x0b\xf0\x4f\x03\x0c\x97\x26\x23\xd9\xe3\x80\x1c\x13\xb4\xec\x8d\x01\xcf\x18\x38\x55\xf5\x93\x5f\x10\xdd\xb2\xc5\x4c\x51\xc8\x0c\xbe\xd0\xc2\x4d\xb5\x6e\x1e\xd1\x48\x93\x1d\x89\x16\x1c\x5e\xa3\x7c\x2f\x97\x87\xf8\x8e\xf7\x33\x0e\x5d\xcd\x0e\x43\xd8\x1b\xfc\x8b\xf2\x3d\xdf\x79\x83\xcc\x1d\x73\x38\x43\xa3\x3c\xcb\x39\x5d\xfc"}, -{{0xbe,0xd1,0xbb,0xca,0xe1,0x86,0x43,0xd6,0xf6,0xaa,0xc3,0x4f,0x3d,0x9b,0x6a,0x14,0x78,0x39,0x4d,0x02,0xb9,0x31,0xcf,0xf0,0x06,0xd8,0x5f,0x21,0xb7,0xdb,0xc7,0x47,},{0x4f,0x52,0x8b,0x38,0x18,0x5a,0x42,0x4c,0x6f,0xde,0xce,0x46,0x51,0x1a,0x0c,0x29,0xb7,0xc0,0x4b,0x32,0xeb,0x04,0x83,0xab,0xb5,0x2d,0x5f,0x8e,0xb6,0xb3,0x52,0xeb,},{0x0f,0xc9,0x9d,0xd3,0xb9,0xa0,0xe8,0xb1,0xfc,0x6e,0x63,0x5a,0xf5,0xc6,0x40,0x06,0xb6,0x72,0x00,0xfe,0x95,0x8f,0x53,0xcc,0xe1,0xb9,0xb0,0x91,0xa4,0xe7,0x06,0x69,0xb5,0x93,0xf1,0x55,0x94,0xbc,0x08,0x42,0xe5,0x57,0x62,0x59,0xf9,0xa6,0x85,0x9a,0x0d,0xb2,0x2d,0x74,0x0f,0x9f,0x80,0x24,0xb5,0xba,0xf1,0xef,0x6f,0x95,0x8c,0x05,},"\xff\x7c\x64\x13\xe6\x18\xa0\x56\xde\x40\x1e\xe1\x0c\x40\xad\xe3\xd7\xc0\xe6\x86\x14\x95\xd9\x7c\x26\x89\xec\x6a\xbb\x69\xdd\x2a\xe7\x01\xfd\xca\xc8\xf0\x83\x31\xea\x5c\x5f\x5d\x80\x5b\x57\x89\xee\x5e\x24\x1f\xf4\xac\x8b\x96\x0f\x4f\x2b\x9f\xef\x6a\x72\x7f\xad\x86\xdc\xd4\x32\xde\x9f\xad\x6b\xa4\x5e\x00\xaa\x36\x87\xb0\xce\xeb\x2c\x0d\x43\x0b\x7d\x5f\xde\x63\xb4\xf6\xb9\x82\xc4\xf9\xe0\x3c\x43\x0a\xba\xd9\x04\x4d\x06\xdc\x49\xe8\x9d\xf4\x81\x40\x5d\x8f\xeb\xbb\x06\x53\xe9\x68\x69\x48\xaa\xd2\xd9\x07\x25\x44\xdf\x94\x24\xfd\x48\x7f\x4e\x24\xba\x7f\x24\x55\xdd\xec\x41\x05\x82\x8c\x39\x81\xbd\xdb\xb1\xb7\xfb\xdb\xac\x15\x59\x03\xe9\x60\xfc\xd9\x4c\x07\x16\xe7\x36\xf5\x19\x86\x7f\xbc\x52\xc5\x12\x60\xf5\x71\xd7\xed\xcb\x08\x1a\x23\x55\x0a\xd8\xc7\x0b\xb2\x68\x86\x4a\xb2\x76\xaa\x2c\xc2\xdb\xf6\x23\x83\xbb\x66\x03\x0e\xbe\x94\x35\x41\x74\xcc\xec\x2d\x2a\x90\x75\x78\x55\x64\x44\x50\x7c\xbf\x84\x88\xbb\x23\xc6\x24\x23\xa3\xa9\x8d\xa7\xcc\x96\x8f\x59\x9d\x3d\xc8\x4d\xca\x3a\xfa\xd7\xf1\x4e\xc3\x06\xe1\xdb\x53\x41\x43\x21\x6a\xa2\x2a\xd1\x80\x74\xc7\x19\x57\x08\x05\xea\x46\xbc\x86\xb7\x1a\x8f\xf5\x8e\x41\xe7\x3c\xb2\x9a\xd5\x75\x0f\xcf\xc9\xa1\xc5\x42\x92\xb6\x4b\x47\xec\x95\x38\xf5\x38\x16\xe3\x6e\xd0\xd0\xc1\xae\x5e\xad\x06\xd4\x77\xaa\x97\x5e\xce\xba\xf6\x2d\x90\x23\xb7\x7e\x50\xe7\xb6\xd4\xab\xda\xa4\x85\xea\x34\xec\x76\x6b\xeb\x1d\x9b\xa0\x3c\x9c\x06\x71\x86\xe2\xe3\x82\x66\xc6\xe2\x53\x1e\x97\x48\x02\x14\x63\x8a\x2b\xb3\x14\x31\xac\x20\x86\x79\x71\x55\xfc\x77\x5b\x3a\xad\x8d\x5a\x0b\x90\x4c\x38\x1e\xdd\x0c\x6b\xc2\x3c\x66\xa1\x90\x49\x55\xed\x45\x0a\x9c\xbd\x16\x45\x9c\x32\xf5\xca\x35\x4b\xbc\x2d\xa7\xb1\xa4\xd8\x14\xf1\xb8\x71\x0a\xad\xb2\xcc\xc4\xf3\x97\x75\x8b\x7e\x9d\x91\xf3\xa9\x1e\x58\x25\xab\x86\x82\xff\x5e\x41\x70\x2e\x07\x84\x1a\xc7\x69\x8c\x3d\xa9\xf5\x58\xed\xd0\x1f\x86\xce\x2c\x50\x6b\xf4\xc2\x14\x9a\xc9\xc1\x95\xa5\x9c\x7d\xd7\xd4\xec\xf9\x3c\x90\xb4\x42\x3b\x43\x50\x58\x8d\x41\x67\x2c\xed\xc8\x51\x0a\x7a\xd5\x3b\x4b\x7e\xdc\xaf\x23\xe4\x3e\x05\x66\x9d\x27\xa1\xfe\x97\xb7\x87\x30\xd3\xfc\x06\x0b\xd4\xed\xd9\x87\x2c\xff\xb9\x62\x85\x35\x1b\xef\x14\x8e\xf7\x83\xab\x39\x21\x16\xbd\x7b\x90\x7b\xad"}, -{{0xc7,0x18,0x82,0x3f,0x43,0xdb,0x22,0x17,0xc6,0x6a,0xb2,0x89,0x97,0x04,0x16,0x5d,0x20,0x85,0x73,0xde,0x60,0xf3,0x3b,0xc0,0xb9,0x33,0x8d,0x88,0x0f,0x19,0x3f,0xb5,},{0x29,0x40,0xb8,0x79,0xb6,0x3f,0x2c,0xb1,0xf6,0xe3,0xef,0x9c,0x9d,0x33,0x3b,0xa9,0x17,0x70,0xfe,0x18,0xcc,0x5a,0x34,0x7f,0xdf,0x12,0xb0,0xef,0xc5,0xca,0x2e,0xc9,},{0x4c,0x9c,0xdb,0x1a,0xd4,0x65,0x09,0x56,0x0d,0x87,0x1d,0x30,0x89,0xaf,0xb8,0x73,0x46,0x48,0x20,0x1b,0x10,0xac,0xc9,0x53,0xe8,0xb6,0x1f,0x2c,0xce,0x2d,0xba,0xe0,0xfb,0x9b,0x86,0x8a,0xc9,0x57,0x43,0x2b,0x72,0x22,0xdb,0xf7,0xe4,0xcf,0x0b,0xc7,0x53,0x09,0xbe,0xa3,0x60,0xb2,0x63,0xab,0xbd,0xe1,0x88,0x53,0x2d,0xda,0x25,0x04,},"\x05\x0e\x68\x77\xf6\x5e\xc7\x26\xee\xc7\x01\x86\x3f\xab\x14\x0b\x99\x4a\xa1\xe9\x2a\x48\x7d\xb1\xa1\x87\x01\x31\x20\x57\xdb\x44\xbf\xde\x70\x91\x1e\xc2\x6e\xaa\x28\x63\x2d\x03\x79\x4d\x54\x5d\xfc\xb2\xae\xd4\x34\x0c\xab\x7d\x09\x25\x95\xcd\x59\xed\x23\x99\x40\x43\xf5\x0b\xa6\x96\xe9\x80\x2b\xd6\x49\x90\x12\x13\x97\x28\x64\x57\xae\x69\xd7\x6c\xb8\xe3\x4d\x7c\x1a\xb2\x45\xcb\x07\xb1\xb4\x08\xf2\xbb\xbf\xdf\x33\xa1\xbd\xd5\x59\x63\x67\x02\xc9\x18\xf9\x82\xc2\xac\x02\x21\xf7\xf9\x4d\xb9\x1e\xde\xfc\xe2\x81\x18\x25\x9f\x89\xd9\x94\xda\xd5\xbb\x01\x3c\x67\x8c\x1c\x33\x8b\x65\x39\x6b\x15\xe8\x89\x9c\x16\x99\x21\xf2\x78\x85\x9c\xe0\xc8\x56\xd8\x89\xb8\xc6\x34\x18\xeb\xc5\x73\xd2\xd6\x25\xd5\xb5\x93\x88\x39\xf2\xb1\x69\xb6\x91\x6d\x8e\x40\xdd\xe7\x0d\x3b\x72\x88\x7a\xd2\x47\x8e\xf6\xfb\x12\x84\xfa\x0e\x4f\xc5\x24\xe3\xc6\xfa\x1d\xd2\x2b\xa6\xb8\x1d\xef\x82\x79\xf3\x82\xbc\xb4\x50\x48\x85\x1b\x17\xcd\x65\x9d\x59\x40\x9f\x57\x1f\xa8\xa9\x20\xa2\x09\x34\xd9\xdb\xe1\x02\x2d\x63\x58\x40\x96\x54\x00\x24\x0f\x87\x0a\xce\xff\xd5\xdb\x7c\x7d\xf0\x8a\xf8\x9e\x47\xe1\xb9\xe2\x0b\xb9\x9f\x96\xab\x07\x3e\xdf\x53\x69\x4c\x74\x82\x89\x0e\x36\x31\x34\x02\x17\xe6\x87\xab\x27\xc9\x84\xb6\x08\x25\x16\x94\x57\xd4\x35\xa5\x40\x9a\xd8\xe4\x2d\xa0\xaa\x63\xe2\x0c\x2b\xc6\x7b\xd8\xb9\xa2\x67\xf3\x96\x73\xa7\x7f\x7f\x31\x36\xdc\x5c\xb2\xd2\x49\x48\xdb\xe7\xbc\xd7\x12\x93\x18\xc6\x8c\x6f\xe9\x5d\xd4\xdd\x4f\xe9\x42\x28\x68\x31\xea\x53\x35\x2f\xbb\x25\x2a\x12\x88\xbc\xd8\x38\x92\x13\x56\x78\x5d\x07\x21\x34\xcb\x82\x0f\x62\x79\xcc\x71\x46\x1f\x43\x1b\xe9\xd3\x01\x47\x24\x32\x1c\x92\xfd\xc5\x76\x32\x01\x37\x70\x5c\xff\xb2\xc2\x36\x64\xb7\x05\xe9\xbe\x60\xae\x1a\x19\x0f\x3e\x34\x84\xf7\x00\x58\xe7\x02\x40\x7b\x05\x6d\x7f\xe5\xd3\x1c\xee\x9c\x2a\x6a\xc6\xea\xda\x35\x16\xab\xc5\x51\x72\x56\xdf\x12\x43\x78\x0a\x03\xbb\x00\xba\x00\xce\x24\x80\x76\xee\xca\x6f\xee\x91\xd5\xef\x9e\xb9\x07\xb8\x01\xaf\x09\x7f\x3e\x9e\xb2\x56\xbd\xcd\xe8\x1e\xfe\x4b\xaf\x81\x89\xb0\x39\x9e\x36\xf1\xea\xa3\xab\x62\x66\x17\xcf\x3b\x47\xdd\x89\xca\xf6\x9c\x64\xc5\xb8\xf6\x8b\xd9\x17\xfe\x03\xe4\x66\x85\x38\x46\x0a\x1b\xe8\x8d\x9a\x84\x6c\xef\x39\x93\x46\x27\xd4\x74\x73\x4f"}, -{{0x25,0x43,0xd1,0x66,0xc9,0xf5,0xf7,0x42,0x7f,0xf3,0x03,0x4f,0xfa,0x81,0x03,0xcb,0x11,0x7b,0xf4,0x72,0x33,0x1a,0x73,0xd9,0xa2,0xf1,0xbc,0x0a,0x02,0xa6,0xff,0x1b,},{0x42,0x67,0x8c,0xf3,0x85,0x70,0x21,0xaa,0x55,0x67,0x70,0x6d,0xb0,0x31,0xe7,0x92,0x71,0x5c,0xca,0xf8,0xab,0xb0,0x2a,0x04,0x2b,0xad,0x17,0xdb,0x3d,0x5f,0xa1,0x03,},{0x20,0xea,0x93,0x68,0xa2,0xcc,0xd0,0x8b,0xf9,0xcb,0xf4,0x8d,0x4a,0x2f,0x7d,0x03,0xf0,0xdb,0x08,0xa5,0x4b,0x87,0x67,0x9c,0xda,0x03,0xe2,0x96,0xaf,0x9e,0xf3,0x78,0xbe,0x9b,0x8f,0x04,0xb4,0x06,0x5b,0x00,0x9d,0xa6,0xdb,0x01,0x6f,0x3d,0xf9,0xdb,0x64,0x82,0x58,0x73,0xe2,0xfb,0x4d,0xe3,0x04,0x49,0x91,0x5c,0xd7,0x3c,0x46,0x09,},"\x74\x6d\x7a\xbf\x0b\xfb\x26\x62\xc2\x5a\xb5\xc5\xe4\x61\x2c\x30\x6f\x16\xd1\x3e\x44\xd0\xdb\x39\x4a\x00\x15\x67\x6c\xe6\x09\x78\x4f\x03\x23\xda\x1d\xfa\x94\xd2\xb2\xf1\xf6\xe0\x24\x44\xa9\x36\xd0\x19\xb1\x43\x02\x1f\x73\xc7\x9d\xf9\x30\x9e\x7b\xdf\xf3\x9d\xae\xec\x4c\xac\xa0\x0c\xba\x4e\xf3\x1c\x83\x10\xc1\xa0\x8e\xf4\xb3\x6f\x81\xc3\x77\x84\x6b\x5b\x90\xac\xd4\x11\xaa\x67\x1e\xd7\xaf\x27\x8a\x24\x22\x9b\x78\x93\xc1\xb4\x15\xd7\x98\x88\xd7\x63\x7f\x5c\xb5\xc9\xc6\xc6\x31\xae\x5f\xfa\x29\xf1\x34\x0e\x44\x40\x96\xab\x53\x36\x17\xfd\xcb\x80\xff\x81\xda\x0a\x7c\x6c\x14\x2e\xe0\xfe\x5e\xa8\x2f\x68\xcc\x3e\xa3\x8b\x56\xf2\x72\xb0\xd8\x0f\xd5\xf4\xf5\x5c\xa9\x34\x8c\x16\x18\x81\x43\x58\x13\xc3\xfa\x9f\xff\x66\xa2\xee\x6d\x5b\xd3\xed\xba\x0d\x2f\x9a\xa7\x4b\x1c\x44\xbf\xd0\xe6\x46\x78\xd3\x71\x51\x24\x96\x3a\xc5\x75\xff\xb0\x9e\xe1\x64\x37\xda\x48\x4b\x3b\xa5\x8e\x5a\xeb\x8e\xd8\xc5\xc0\xf4\x7b\x59\x90\x8f\xe5\x80\xf3\x7e\xc1\xde\x26\x6b\x29\x5d\x6b\xe8\x5e\x62\x35\x8e\x9b\xbd\xc7\x89\x64\xfb\x83\x7e\xea\x29\xfd\xb7\xde\x86\xcc\x56\xf4\x8b\xd9\xa3\xe6\xe2\xbe\x51\xd8\xa1\xdc\xff\x3c\xa4\xd5\x6e\xa9\x34\xc6\x82\x77\x2b\xca\xfb\x51\x49\x7b\xe5\xd0\xf2\xa2\x3d\xd4\x97\x0c\x02\xc4\x4c\x09\xad\x89\x7b\x42\x41\xac\xd7\xd6\xab\x12\xd8\xf0\x0c\x9a\xad\xc3\x34\xb4\x31\xfe\xc5\xbb\x69\xa2\x85\xb7\x55\x0a\x63\x9e\xce\x96\x95\x26\x82\xb7\x33\x4b\x68\xc6\x51\x52\xe8\x93\xb1\xc8\x10\x0c\x69\x4d\x8c\x5c\xfe\x26\xac\x03\xc1\xf3\x91\x4e\x65\xc8\x4f\x0e\x77\x72\x90\xc7\x6f\x6a\xcc\xe3\x40\xbf\xf6\x6d\xa7\x22\x0f\x73\x17\x5e\x94\xaf\x52\xf9\xf1\x9e\x61\xf8\x0d\xc1\xf3\x57\x16\xb3\xf4\x8d\xfa\x50\x25\xc9\xeb\xef\x73\x82\xe0\x55\x83\x0f\x5b\xbf\x15\xc6\xf6\xa9\x50\x32\x90\x9c\x89\x2c\x0f\x89\xc8\xc1\x5f\xc3\xea\x40\xa2\x0e\xe1\xa4\x52\x9b\x52\x19\x51\xdf\x44\xd9\xd7\x9d\x74\xe0\xc4\xc2\xe0\xfe\xd8\x49\xb8\x78\x52\x06\xdb\xe6\x2b\xfa\x2c\xa2\x10\x87\xa9\x12\xe9\xb1\x84\x55\x16\x59\xcd\x8a\x58\x7e\x95\xb0\x43\x17\x19\x25\x96\xbb\x0b\x7f\xc9\xf7\xbb\xb6\xee\x04\x9c\x8b\x02\xfd\xd7\x58\xb4\xe7\x98\x82\x07\x3b\x71\xea\xab\x18\xaa\x29\x37\x01\xc1\x7d\x55\xf9\xec\x46\xc5\x2d\xe1\xe8\x86\xb6\x75\x0f\xb0\xfb\xcd\x64\xf4\x56\x8a\x21\x0a\xe4\x51\xe9"}, -{{0x85,0xe0,0xa8,0x0f,0x3b,0x30,0xc2,0x01,0x99,0xd9,0xc1,0xec,0x66,0x2e,0x39,0x2f,0xdf,0x15,0x46,0x37,0x73,0x43,0xf1,0x24,0x71,0xdb,0x2a,0x03,0x10,0xa7,0x05,0xbd,},{0x54,0x0a,0x3a,0x1d,0x83,0x67,0x2e,0x49,0x50,0x34,0xcf,0xf4,0x08,0xe1,0xfb,0xe8,0x2e,0x53,0x8f,0x09,0x17,0xe8,0xa1,0xc7,0xd1,0x7a,0xab,0x58,0xe0,0x43,0xd3,0xc6,},{0x18,0x5e,0xf2,0x24,0x6a,0xba,0x2b,0x1a,0x56,0x80,0x32,0xc7,0xdf,0x93,0xc6,0x67,0x79,0x9b,0x8a,0x52,0x1a,0x6f,0x97,0x32,0x1e,0xad,0x58,0x66,0xb4,0xcb,0x9c,0x65,0xb6,0x4a,0x1c,0x40,0xb9,0xb6,0xa9,0x10,0xe7,0x42,0xdc,0x32,0xa7,0xe6,0x6d,0x11,0xea,0x45,0xdb,0xea,0xac,0xae,0x9f,0x09,0x51,0x1b,0x81,0x01,0xf8,0xaf,0x0c,0x0c,},"\xd2\x80\x2f\x15\x96\xf8\x38\x3b\x64\xed\xbd\xc5\x94\x06\x0b\xff\x0e\x70\x13\xd5\xb7\xc8\x5d\x83\x0f\xae\x11\xae\xb3\x4d\xd5\x94\x95\x9d\xa6\x24\xe0\x44\x47\x4c\x54\x09\xc0\x05\x96\x73\xbd\xc6\x1a\x67\x1e\xf5\xb0\xb8\xa2\x6f\x30\x10\x0b\x3b\x73\x96\x8d\x8e\x4d\x83\xa7\x2f\x25\xb5\x13\x44\x8d\x2f\x6b\x6a\x44\x75\xfd\xf8\x9e\x31\xca\x92\x68\xa3\x07\x05\xaf\x3f\x64\x9e\x3f\xe0\x1d\xde\x0c\xf4\xb2\x9e\xc2\xda\x54\x36\x44\x4a\xf0\x91\xd6\x27\x30\xac\xd4\xca\xb6\x08\xf0\xdf\x26\xf0\x88\xc6\xb9\xb9\x67\x37\x94\xf0\x74\x7d\xab\x2c\xe1\x90\xf9\x05\x92\x00\x9f\xdc\xe5\x46\x4b\x36\x61\xb7\xe8\x62\x0b\xad\x65\x50\x9a\x6c\x75\x2b\x72\x7a\x8d\xc8\xd3\xef\xa5\x84\xfd\xe0\x27\x2c\x45\x1d\x65\xa9\x3b\xec\xe4\xf5\x9d\x87\xdc\x6f\xbe\xb4\x51\x40\x1e\x3e\x2e\x00\x3c\x6a\xca\x7b\x3d\x3f\x92\x71\x91\x50\xc6\x77\x8f\x01\x5a\xff\x2a\x59\xbf\xbf\x2e\x91\xb2\x1b\x0a\xd6\x87\x75\x36\xeb\x54\x56\x70\x59\xf5\x87\xf5\x4d\x4e\x2a\x6f\xe1\xfd\xcd\xd6\xa7\xfd\xcb\x85\x15\x57\x5b\xcc\x37\x05\xd7\x78\x59\x35\x2f\xa0\xb0\x44\x16\x6e\x3c\x31\x88\x46\xa5\xdf\x33\x56\x30\x03\xcb\x20\xbc\x94\x2d\x30\x39\x10\x93\xe8\xd5\x83\xe8\xe6\x4d\xec\x57\x0e\xe1\xc4\x13\x87\x62\xf6\x48\x38\x98\xd3\x2e\x20\x32\xbd\xe9\xbb\xe0\x7e\xc2\xc3\xeb\x47\xd9\x68\x76\xf0\xfc\x0f\x02\x4d\x75\x3c\xeb\x34\xff\x84\x80\xb4\xcf\x57\x62\x30\xbb\x82\x63\xdd\x80\xee\xac\x66\x2e\xba\x31\xd8\xa6\x1f\x30\x9e\x17\x5f\x4c\x01\x43\xe2\x8a\x85\x2b\x1c\x30\x61\xce\x78\xef\xbd\x16\xa2\x87\x3d\xd2\x81\x98\xa4\x6e\xc0\xa8\x00\xb3\x0d\xc8\xa9\x3b\x8d\xbb\x81\xa7\x30\xde\x45\x0b\x86\x4d\xea\x76\x80\xe5\x09\xd8\x00\xe8\x23\x29\xc2\x61\xb0\x7e\x72\xaa\x80\xee\x16\xec\x37\x5d\xdb\xbb\x6f\xe3\xd8\xd4\x7b\x0e\x3c\x5a\x9f\x23\xc4\xd2\x0b\x72\x4c\x1d\xf5\x98\x35\xd8\x30\xdd\x22\xd1\x04\x03\xd8\xf1\x5c\x10\x2c\x4b\x37\x69\xc4\x16\x66\xc3\xab\x8c\x7e\x80\xb9\x40\xd0\xbb\xb5\x86\x52\xd1\x0a\x3f\xfe\x8d\x44\xdf\x10\x12\xa3\xdd\xc4\xe1\xc5\x18\xd4\x90\x19\xf7\xc5\xd3\xd9\xf9\x5e\xd9\x3a\x31\x97\x46\xd1\xe5\x43\xff\xa6\x9e\xdb\x49\xbb\x34\x39\xf8\xa3\x25\xac\x6a\x0c\xb4\xed\xd6\x5b\xa6\x00\x80\xa0\x44\x7c\x67\x4f\xaa\x72\xd8\xae\xbd\xb5\xd2\x54\x4f\x2f\x2d\x84\x7c\x72\xc2\xdf\xa6\x05\x7a\x69\x0a\xdc\x5c\x44\x1a"}, -{{0x82,0xa2,0xc6,0x49,0x3f,0x11,0xba,0x80,0xe4,0xb8,0xb3,0xb4,0x38,0x41,0xbe,0x97,0x0e,0x2a,0x10,0xa9,0x4d,0x22,0x49,0xd8,0xac,0x6f,0x54,0x14,0xcf,0x5a,0x3c,0xb5,},{0x4c,0x2e,0xe0,0x1c,0xde,0xa0,0x7d,0xb3,0x63,0x5f,0x5d,0x4c,0x10,0x82,0xb9,0x2f,0x29,0x8d,0xeb,0x17,0xd0,0xf9,0x05,0xdf,0x71,0xb6,0x6f,0xb2,0x27,0x4e,0xae,0x99,},{0x68,0xa9,0x1d,0x4f,0x8d,0x24,0x1c,0x1d,0xef,0xbd,0x5c,0xa9,0xe9,0xe1,0xed,0x82,0x74,0x41,0x95,0x06,0x75,0x1c,0x96,0x79,0x47,0xb1,0x0d,0x50,0x11,0x8b,0xbf,0xab,0xc7,0x65,0xff,0xd7,0xb3,0x1a,0x01,0x67,0xc4,0xfd,0x8b,0x11,0x75,0x33,0x24,0x12,0xdf,0x19,0xd8,0xaa,0x1a,0x90,0x95,0x90,0x86,0x13,0x20,0x92,0x3d,0xbc,0xb2,0x04,},"\x09\x85\x4d\x13\x68\x49\x50\x41\x9e\x0b\xb1\x64\x64\xe0\x99\x88\x90\x5c\x02\x17\x18\x3a\xa1\xe4\x8a\xdb\x14\x7b\xfc\xc2\xeb\x57\xc2\x30\x0b\x0d\xfc\x39\xd4\x89\x66\x55\xa5\x7a\xe2\x04\x15\x40\x8b\xb5\xf2\xc2\x38\x01\x39\x55\xf0\xa4\xfc\x78\x2e\x0c\x99\x3f\xe4\x2c\xb0\x8c\xd8\xcf\x41\x5c\xcb\xd6\xcf\x1c\xee\x2e\x80\x97\xf0\x4e\x8f\x09\xae\x5d\xa5\xf4\x15\xb1\x6c\x2c\xb3\x0c\xb2\xab\x66\x52\xba\x50\xeb\xbc\xae\x4a\x59\xe3\x1f\xe1\x1e\x7e\xf3\x69\x9c\xa9\x0a\xaf\xa5\x86\xbb\x24\x2c\x89\xcd\x2e\x33\x2b\x2b\xfa\x2f\x81\x42\xac\xca\xf4\x36\xf8\x9b\x64\x53\xbb\x48\x05\xa1\xe7\xf3\xab\x62\x70\xf0\xda\xf8\x93\x89\xe7\x17\xd1\xb7\x01\x75\xec\x57\x07\xc8\xf5\x12\xc4\x0a\xb9\x24\xc4\x57\xe9\xf0\x91\x47\x91\x75\x0d\xc2\x92\xbb\x27\xd6\xf6\x3b\xa8\xcc\xf5\x4b\x90\xd3\xeb\xa7\xf1\x9e\xb3\x00\xd9\xeb\x8f\x3b\x72\x03\x2b\xa9\x30\x37\xf5\x52\xb4\x09\xb5\x80\xa5\xf6\x51\x16\xfa\xff\xe0\xfd\xfd\xc6\xdb\x38\x81\x38\x6c\x3c\xbc\x16\xb6\x7e\xb2\x57\x63\xd7\xae\x3a\xac\x0b\x85\xaa\x1e\x9a\xa2\x2e\x49\x59\x60\x9d\x43\x81\xe4\xb6\xd7\x15\x9f\xf3\xe3\xb2\xd3\x7b\x64\x0f\x88\xcf\xbe\x4f\x8a\x77\xf8\x01\x64\x57\x22\x8b\xa6\xd3\xaf\x5c\x4e\x33\x12\x5d\x48\xbc\xfc\xf3\x67\x8c\x16\x3b\x69\x8e\x52\xe8\x56\x17\xab\x1a\x75\xff\x20\xc6\x90\xab\x07\x15\x5e\xe7\x57\x59\x85\x78\x07\x2d\x4a\x09\xdf\xc6\xc6\xc0\x94\xec\x04\x85\x67\xd5\x13\xce\x2b\x18\x34\xe1\x63\xdf\x15\x45\x31\x9d\x80\x61\xe0\xe5\x7f\x58\xef\x04\x1b\x7b\xff\xc4\x96\x6a\xc1\x66\x03\x31\xb9\x7a\xbb\xc9\x7b\xe2\x1a\xe2\xbc\x58\xc6\xc3\x27\x4a\x8a\xda\xd5\xfd\x2c\x3b\xc1\x6b\x92\xe1\xf8\xde\x87\x7b\x6a\x26\xf0\xc6\xab\x71\x62\xe8\xaa\xb9\x3a\xf8\xd8\x59\x18\xc1\x3d\x3e\x23\x5a\x27\x37\x48\xc6\x2f\x0d\x22\xcb\x1c\x93\xe1\x34\xa4\x95\xb1\xb5\xef\x8f\x1a\x11\x34\x51\x2d\x53\xb7\xa2\x11\x26\x31\x77\xf7\xa6\x0b\xdf\x47\x46\x91\xf2\x24\xa3\xb5\xba\xc4\x00\x6d\xb3\x45\xca\x67\x25\xf5\xee\x70\x3e\xca\x0d\xea\x10\xd7\x12\x67\x6f\x63\xef\x3e\x53\x7e\x63\xab\xd2\x60\x8c\xb4\xfb\xe2\x00\xe1\x5f\x18\x20\x91\x53\x49\x60\x72\x90\x80\x44\xc9\x5a\x4e\x9c\x53\x56\xaa\xe8\xed\x5f\x09\x59\xea\xc0\x91\xe2\x27\xa0\xb8\x1f\x58\x03\x27\x6b\x3b\x3b\xf4\xb6\x86\x5a\x55\xfc\x67\x82\xf6\x2e\xa6\xd6\x39\x90\xf9\xbe\xfe\x01"}, -{{0xe5,0x5b,0x34,0x3a,0x0f,0xa1,0xfb,0x74,0x71,0x89,0xcb,0x00,0xdb,0xc3,0xa6,0xaa,0x2d,0xcf,0x5b,0x86,0xe5,0x7d,0x76,0x93,0xf3,0x07,0x42,0x03,0x89,0x76,0x11,0x53,},{0x23,0xa1,0x44,0x60,0xea,0x98,0x3c,0xf9,0x97,0xc7,0x82,0xeb,0x45,0x82,0xab,0x3c,0x8a,0xa6,0xdd,0xe5,0x33,0x25,0xb9,0x77,0xb7,0x8e,0x33,0xd2,0xdc,0x5f,0x27,0xaa,},{0x07,0x26,0x6c,0x18,0x65,0x0e,0xcf,0x06,0x32,0xe2,0x25,0x62,0x4e,0xc4,0xc9,0x7f,0xc3,0x87,0xdc,0x37,0x46,0x87,0xa6,0x19,0x56,0xdc,0xcc,0xe7,0x28,0x94,0xee,0x13,0x8a,0xab,0xc8,0x0c,0xfc,0x90,0xc9,0xee,0xa6,0xdd,0x4c,0x59,0xaf,0x45,0x02,0xee,0x29,0x63,0x5a,0x92,0x88,0x07,0x86,0x67,0x8b,0x14,0xa3,0x93,0x1a,0x69,0xf9,0x07,},"\x36\x28\x9b\x5e\xaf\xf2\xa8\x5a\x7c\x6d\x57\x5b\xd1\x5e\xa5\x94\xb2\xfd\x85\x10\x87\x4a\x46\x9b\x52\x10\x91\x63\x69\x6d\x85\xb6\x8c\x5b\x21\x1d\x29\x64\xef\xdc\x66\xe6\x25\xab\xe8\xaa\xfe\x4c\xd9\x22\x0c\xdb\x34\x11\x07\xff\xa8\x27\x6e\xd4\xb3\x70\xfe\x37\x6c\x14\x82\x68\x71\x67\xdb\xc8\xf7\xb2\x05\xa3\xf3\x30\x1a\x16\x64\xd9\x07\x28\x77\xd9\xf9\x8b\x8f\x69\x83\x13\x01\xdf\x99\x94\x71\x7f\xc8\x89\x69\x24\x23\x91\xd9\xb0\x51\x7d\x6e\xfb\x27\x17\x01\xea\xb3\xf4\xa9\xb1\x20\x42\x13\xe8\xcd\x13\xf9\xd0\x99\x04\x8b\x82\x07\x56\x2f\x2e\x4e\xbc\x65\x3c\xc6\x5e\x9d\x55\x12\xd6\x5b\x41\x02\x2c\x79\xb4\xeb\x37\x29\x87\x69\xae\xaa\x6e\xfe\xd6\x9e\x9a\x8c\xb4\x45\xc7\x01\x22\x74\xde\x62\xf5\x09\xf4\xe4\x81\x4a\xdc\xbf\x44\x53\xb4\xfa\xb8\x5d\x7c\x8f\xd8\x45\xe0\x08\x30\xef\x5b\x7b\x1e\x63\xc6\x76\x13\x98\x4c\xae\xfe\x91\x5a\x54\x8e\x18\xe5\x05\x62\x2c\xb2\xb3\x92\x99\xf4\x27\xf4\xd8\x39\x83\xba\x2a\xa0\x0d\x53\xbe\xe1\xf5\x9a\xec\x83\x18\xc5\xea\x34\x5d\x29\x42\x52\x36\x97\x92\x76\x2a\xdd\x3e\x56\xfc\xfa\x6e\x77\x97\xf0\x28\xc7\x99\x47\x90\x45\xed\xb2\xe2\x05\xeb\x6d\xd6\xca\x04\xee\xe5\x6f\x94\x96\xd2\xbf\x26\x09\x93\x57\xc9\x73\x83\x5b\x99\x36\x02\x49\x11\xe4\x65\x5d\x3e\x22\xc8\x11\xc8\xd4\xdb\xd1\xb0\x4f\x78\x97\x3f\x07\x75\x23\xa3\x89\xb6\xf2\x8f\x6f\x54\x21\x61\x42\xcb\x93\xe3\x3d\x72\xb4\xa5\x05\x2d\x27\xe4\x91\x1e\x41\xe6\xce\xc7\xbe\xbe\x1b\x0a\x51\x13\xe6\xb7\x0b\x47\x9d\x2a\xbe\xed\xf6\x9b\x75\x64\xe5\xa5\x73\xb3\x52\xd1\x6c\xec\x89\x07\x01\xbb\x38\x3d\x3f\x66\x56\xed\xa0\x89\x2f\x8c\xcc\x70\x94\x0f\x62\xdb\xe5\x28\xa6\x5e\x31\xac\x53\x88\x26\xc1\x38\xac\x66\x52\x4e\x33\x16\x37\xba\x2d\x37\x73\x03\x58\xe6\xc7\x32\xcf\xf8\xfe\xe9\x40\xaf\xd2\x2c\x39\xae\x38\x1e\x5d\x88\x26\x73\x9b\x23\xfd\xc1\xb8\x0a\xea\x5a\x62\xa2\xcf\x0f\xf1\x52\x5e\x44\x6c\xf3\x10\x46\x19\x50\x51\xd5\x85\x03\xee\xd1\xbe\xfd\x79\x3e\xea\xe1\xd5\xd1\xb6\x2a\x5c\x98\x45\x15\x7a\x09\x5c\xdc\x08\xa1\xd7\x7b\xa4\x7e\x84\xa5\xa7\x39\x98\x0f\x0f\x5b\xe7\xaa\xec\x9a\x21\x5b\x20\x4b\x4b\xb7\xcb\x1b\x38\x6d\xed\x58\xd7\xaa\xf7\x28\x53\x41\x90\x7c\x63\x33\x6e\xe3\xe6\xef\x07\x7a\xd1\x11\xb9\x74\xe7\x50\x4b\xd9\x89\xf5\x66\xfd\xa1\xb1\xb5\x9a\xba\xa9\x1c\x78\xbb\x40"}, -{{0x39,0x73,0x03,0x8f,0xa2,0xef,0x6a,0x27,0x8d,0x3c,0x1c,0xff,0x9a,0x22,0x56,0x69,0xe4,0x65,0xa6,0x9d,0x07,0x50,0x50,0x3d,0xe7,0x48,0xc0,0x02,0xdb,0xf9,0x27,0x8a,},{0xc7,0x5e,0x77,0xc7,0x81,0x49,0xd9,0xd2,0xdb,0xc2,0x63,0xdd,0xf8,0xac,0x4d,0x65,0x4d,0x1f,0xf4,0x55,0xcb,0x18,0x97,0xe1,0xc3,0xce,0x31,0xb9,0x4c,0xfe,0x32,0x10,},{0xfc,0x0c,0x54,0x53,0x83,0x9e,0xa9,0x92,0x96,0xff,0xfa,0x50,0x1d,0x58,0x36,0x66,0x28,0xdf,0x89,0xf6,0x16,0x76,0x69,0x42,0xd5,0x04,0x0a,0x05,0x60,0x56,0xda,0xb1,0x8b,0x44,0x05,0xc0,0x4a,0xbf,0x90,0x59,0xc3,0x08,0x68,0xd7,0x9c,0x93,0x6c,0xcc,0xc8,0x4c,0x4f,0xbd,0x6f,0xd3,0x0b,0x60,0xf8,0xbc,0xbd,0x7a,0x66,0x40,0x42,0x02,},"\x33\x92\xe0\x2f\x3c\x84\x66\x1e\xaf\x81\xa5\xff\x04\x35\x7f\x21\x2e\x92\x36\x1c\x5c\x22\x07\x39\xd9\x6b\x4d\x3d\x9c\x22\xd1\x8d\xf4\x8b\xe6\xb5\x51\x26\xf5\x81\x60\x1f\xfe\x0d\xa6\x3f\x38\xe1\x9c\xbb\x12\x72\x6c\xa0\xa6\xaa\x32\x55\x67\xa0\x03\xa7\x84\x9d\x06\x78\x39\x92\xeb\x9e\xb9\x28\x53\x29\x7d\x72\x28\xdb\xa9\x80\xb2\x50\xbb\x11\x0f\x63\xd0\xb8\x46\x70\xe5\xec\xb3\x19\xcb\xfd\x61\x27\x8f\x1f\x4c\xab\xf1\xfc\xb3\xf7\x01\xf1\x2f\x6e\xf8\xd3\xcc\x42\x82\xfc\xbe\x58\x9e\xb5\x65\x95\x03\xa2\xdd\xd8\xbb\xa3\x8e\x5e\xff\x09\x2d\xfa\xf5\x39\xfd\x80\x4f\x21\xf7\x3a\x90\xad\xf5\x69\xa0\x0b\xf9\xd2\x5a\x9a\xd3\xa6\x33\x09\xcc\x60\x93\x14\x24\x71\xa4\x78\xf0\xb8\x99\x22\x86\xde\x02\x3c\x68\xef\xd4\x99\x87\xec\x27\x0b\xd9\x46\xf6\xdb\x48\xf6\x84\xf1\xc2\xad\xee\xe2\x6d\x68\xdc\xe9\x5a\x55\xe4\xcb\x27\xbc\x60\x52\x30\x80\xdf\x6b\xa2\xb1\x99\x99\x6b\x1f\x1d\xa6\x92\x0d\x15\x59\xf7\x9b\xfd\xe9\xfa\x1a\x02\xde\xae\x14\x80\xc7\x6f\x94\x7f\x9d\x21\x3f\xc4\x3b\xb2\x88\x0a\x1b\x4d\x03\xbb\x14\xf5\xb0\x44\xa0\xfd\x83\xce\x04\x92\xf4\x9c\xa3\xaf\x25\x21\x1b\x86\xfa\xa5\x73\x5a\xd7\xfe\xaf\x31\xa1\xa7\x49\x1e\x70\x8b\x41\x82\x9d\x68\xe3\x24\x14\xf6\x83\x52\xb7\x1d\x1c\xd2\x3c\x8e\x12\xfb\x02\xda\x71\x14\x84\xf6\xef\x97\x52\x8a\x00\xd2\x4f\xcf\x91\xd4\xe0\x6e\x9b\xad\xae\x9a\x44\xdb\xdb\x3f\x77\x80\x41\x76\x8d\x86\x37\x04\xd7\x36\x81\x04\x00\xe7\xf2\x93\x1e\xfb\x85\xc8\x72\x4a\x59\x34\x26\xaa\x2a\xf1\xec\x5b\x66\x4f\x85\xc2\x25\x48\x96\xfd\xcf\x31\x6d\xb0\x92\x4e\x11\xaa\xe8\xd6\x83\xe9\xa0\x21\x92\x9d\x0a\x9d\x6f\xec\xb4\x59\x4b\x1b\x3f\xbc\x16\xb1\x76\xd2\x9d\x1e\xfb\x18\x19\xa4\xa4\x23\xfb\xe0\xca\x05\x59\xc5\x7e\x9e\x54\x49\xf1\x4b\xce\x91\x36\x0d\xaf\xda\x6a\x42\x7c\xe4\xa0\x99\x3d\xd0\x30\x82\xdd\xee\x06\x65\x33\xf6\xd3\xbd\xa5\x66\x0f\x42\xfd\x77\x57\x69\x0d\x67\x05\x98\xec\x70\x96\xf4\x75\xa0\x1a\x51\x99\x50\x34\x1a\x83\x1f\xc9\xa2\x81\xc0\x94\x7a\x86\x3f\x1f\x6e\x03\xbb\xa7\x74\xde\x77\xad\xc2\x3f\xbe\x52\x5c\xae\x6c\xcc\xe4\x7a\x0e\xc4\x97\x9e\x8b\xec\x86\xf3\x32\xfc\x6a\x57\x36\xe3\xb9\x8f\xb3\x32\xe9\xe8\x24\x4e\x68\xa1\x00\x45\x5e\x64\x99\xba\x8d\xba\xe9\x8b\x92\xba\x3d\x9c\x6b\x4f\xf9\x80\x34\x3e\x4c\x8e\xf4\xd5\xa4\xaa\xcf\x8b\x1a"}, -{{0xc7,0x1c,0xc1,0x0a,0xd2,0xd4,0x43,0xe0,0x25,0xad,0x06,0x25,0x68,0x6b,0x12,0x35,0x03,0xe5,0x90,0x19,0x3a,0x2b,0xc8,0xcc,0x57,0xa7,0xb9,0xb4,0x15,0x8d,0xe6,0xcb,},{0xfc,0x06,0xac,0xaa,0xb5,0x3a,0xd0,0x8e,0x97,0x62,0xdd,0x11,0xcd,0x21,0x22,0xb3,0x15,0x99,0xbd,0x25,0x98,0xce,0x6f,0x24,0x87,0x95,0xe7,0x32,0x21,0x9c,0x2f,0xc7,},{0x2e,0xb3,0x3b,0xc2,0xd5,0xde,0xb7,0xf3,0xa2,0xdc,0xc3,0x77,0xb0,0xc6,0xa8,0x62,0x13,0x4b,0xf3,0x19,0x1e,0xc4,0x0f,0xc1,0x28,0xac,0x28,0xab,0xf2,0x31,0x6e,0xf1,0x40,0x16,0x49,0xb8,0xf4,0xcf,0xa1,0xa9,0x36,0xde,0x79,0xb5,0x32,0xdc,0x04,0x3b,0x6d,0x36,0x02,0x4b,0x4c,0x37,0xbb,0xa2,0x92,0x90,0xac,0x9f,0x44,0x9b,0xa6,0x0d,},"\x2e\x08\x46\x53\x6d\xc6\xcc\xe1\x9c\xcf\x82\xdc\x2d\x0c\xd2\x1b\xd4\xe1\xca\x7b\xc3\x17\x06\x7a\xf8\xd9\x0e\xe4\x81\x8c\x85\x18\xbc\x3e\xf9\x60\xce\x11\x2a\x41\xd2\xb9\x97\x9a\x28\x2a\xe1\x3d\x70\x6a\x00\x5e\x00\x34\xf0\x6b\x39\xff\x4b\x0a\x5a\xfa\xed\x70\xb5\x61\xbc\xce\xb1\xbb\xd2\xec\x19\xf9\x74\x48\xea\xed\x4b\xe6\x20\xe3\x6a\x96\x2d\x87\x8c\x6f\x80\x17\x2b\x9f\xad\x43\xee\xd0\x7f\xf9\x3d\xb9\xb9\xca\x22\x62\xd5\xa3\xc2\x29\xc5\x4e\x30\xa4\x5e\x73\x66\x08\x92\xf0\x48\xe3\x63\xf3\x71\x44\xed\x19\x21\xf7\x29\x92\xb4\xd0\x15\x29\x87\x0c\xfe\x37\x3b\x7e\x7c\xbe\xda\xf9\x69\x26\x9f\xb7\x0a\xa7\x83\xd1\xe7\x44\x17\xc7\xba\xe0\xfe\x03\xd9\x51\xfd\xb8\xc7\x1c\x62\xe9\xbe\x7f\xdd\x5d\x23\x3e\x39\xf4\x6f\xed\x05\x7e\x49\xb6\xf3\x40\x68\x45\x91\x48\xda\x3d\x42\x41\x61\xad\x2c\x86\x95\x08\x60\x2e\x9c\x0b\xb3\x0b\xfb\x88\xac\xd5\xf4\xdf\xdf\xfd\x47\x35\x03\xcd\xfe\xda\xbc\x44\x42\xb7\x43\xbe\x07\x5e\x7c\x6f\x61\x0e\x64\xff\xc2\xe5\x31\x87\x74\x5c\xd7\x19\x65\x8f\xc6\xe6\x2a\x5b\xe5\x18\x43\x7c\x5b\xd6\xa4\xfe\xba\x94\xae\x3f\x44\xf2\xf2\x93\x08\xe8\x31\xfe\xef\xed\x67\x69\x09\xce\x5e\x80\xc8\x4c\xbd\xca\xc4\x7e\x47\xd2\x7c\x97\x12\xa0\x1f\x6b\xc5\xda\xed\xc0\x2e\x64\x14\x40\x7e\x91\x1c\x0a\x5a\x53\xe5\x32\x8a\x5a\x5f\xd9\xf0\x40\xaa\x7f\xb7\x0b\x79\xb3\x1c\xd1\xb6\xfd\x9b\xd5\x02\x90\x40\xbd\x22\xae\x22\x2f\xd2\xf6\x87\x0d\x07\xf4\x35\x32\x26\x39\xcf\x31\x93\xca\x57\x09\xb8\x82\xb0\x7a\x58\xf9\x52\xa9\x96\x3e\x56\x8f\x8c\x5a\x58\x4a\x6b\x9e\x27\x5c\x5c\x07\x95\x7a\x4d\x2c\xda\xa9\xf1\xeb\x44\x4e\xd1\x22\x4b\xac\x65\x63\xb2\xf9\x27\x3e\x80\x30\x1d\x44\xd5\x0a\xe3\x83\xb5\x97\x21\x3b\x00\xda\x5b\xf2\x7e\x5d\x1f\xe2\x40\xcc\x3b\xb6\x5a\xa5\x03\x0d\x65\x1b\x6b\x5b\x31\x76\x1d\x53\xce\x0c\x6d\x74\xa1\x5d\xad\x54\x79\xf3\x1c\x91\x5c\xcf\x44\x66\x59\x85\x3b\x89\xa5\x1a\x28\xee\x89\x76\x85\x35\x53\xfd\x2e\x02\xfe\x72\x43\x53\x8d\x00\xb4\xed\x07\xd8\xb8\xa8\x0b\x5c\x16\x5c\xd4\x63\x41\xff\xd8\x16\x3c\x55\x57\x02\x66\x3a\x4e\x6a\xb2\x95\x2b\x7e\x74\x43\xd0\xf6\xb1\x23\xb6\x94\x67\x21\xaa\x63\xe8\x7b\x11\x55\xec\xa8\xa6\xa1\xbc\x9f\xd2\x5c\x67\x62\xe5\x27\x42\xc8\x6b\xca\x1b\xa9\xd8\x37\x04\x15\x24\x4f\x0e\xdf\xdb\xe0\x93\x2b\x5c\xa0\x61\x15\x09\xc9"}, -{{0x0a,0x4f,0x5e,0x16,0x70,0xf1,0xe2,0x4b,0xfa,0x37,0xb7,0x3c,0x99,0x43,0x30,0xb3,0x6e,0x7d,0xaa,0xf9,0x30,0x16,0x1b,0x78,0xa4,0xa8,0x48,0x66,0xff,0x25,0xe3,0xd5,},{0x9d,0xcb,0xba,0x90,0x39,0x81,0x59,0x4c,0x7b,0x67,0x7e,0xa8,0x00,0x20,0x01,0xd6,0x64,0xcf,0xf7,0xce,0x8e,0x5c,0xfa,0xe5,0x88,0x40,0xcf,0x74,0xaf,0xf0,0xd3,0xa9,},{0xdc,0xf3,0x53,0xb2,0xb9,0x9a,0x4e,0xf4,0x5f,0x3f,0xdf,0x65,0x28,0x63,0x2e,0x8a,0xbd,0xc4,0x33,0x34,0x24,0x76,0xa8,0xc2,0xb3,0x79,0x00,0x40,0x4a,0x4e,0x33,0x3d,0x38,0x78,0x14,0x23,0x57,0x57,0xef,0x7a,0xd0,0x38,0x58,0xa0,0xf3,0x5d,0x46,0x15,0xe8,0xab,0xa4,0x84,0xfd,0x64,0xf1,0x11,0x2e,0xc1,0xb1,0xae,0xd2,0xcb,0x64,0x0e,},"\xf4\xb0\x5b\x3e\xfd\xcb\x1d\x5c\x07\xda\x95\x0c\x46\x56\x55\x28\x44\x0b\xb4\x88\x35\xee\x4c\x13\xf4\x3d\x7a\x16\x18\xde\x11\x9e\xbb\xb2\x59\xea\x74\x80\xa5\x04\x81\x74\xfa\xec\xc1\x05\x5b\x32\xdc\x01\xac\x71\x56\x34\x43\x21\xe8\xeb\xa6\x98\xf3\x02\xee\x16\x43\xb5\xf0\x4b\x8e\x7e\xcc\xa6\x3b\x91\x56\x1c\xe3\x51\x4a\xbe\x78\x51\xb6\xfb\x17\xfc\x94\x3b\xdc\x94\xda\x30\x8c\x8e\x47\x69\xfe\xc2\x0f\xad\xf4\xfa\x8e\x7f\x62\xb6\xff\xb5\xf1\x70\xd6\x44\xed\x29\x35\x5e\xbd\x22\xcb\x3a\xa1\x48\x6b\x1e\x36\x7c\x72\x9d\xd3\xf7\x9b\xcd\x40\xff\xd0\x8a\xf2\x8c\xeb\xc8\xd7\x76\xe1\xa4\x83\xe9\x11\xd7\x9b\xc6\x13\xe0\x9c\xc6\x21\xca\xde\xb0\x34\xdd\x6f\x72\x37\x47\x71\x98\x51\x27\xf7\xa3\xa1\xaa\x78\x6a\x52\x3a\xe6\xe3\x4e\xe4\x33\xdc\x30\xc3\x75\x98\x7c\xff\x50\xbd\xcb\xc9\x97\xfc\xd5\x1c\x94\x56\x7a\x67\xae\xfb\x6e\xf5\xed\xf9\xbd\xd6\x59\x64\xd4\x64\xbe\x9e\xbd\xfb\x88\xc0\xe2\x31\xb0\x7f\xf6\x40\x5c\x00\xf8\x25\x31\xe9\x61\xbf\xc5\xea\xd2\x66\xbc\xc0\x87\x18\x87\x8c\xaf\xb1\xd3\x75\x36\xf1\x83\xe4\x8b\xf3\x8d\x3f\x6b\xe9\x00\x25\x2d\x1f\xb4\x19\xe6\xa2\xac\x58\x96\x03\x9f\x63\xc3\x14\x01\xff\xf9\x32\xce\x98\x14\xb0\x85\xab\x20\x41\x69\x72\xa2\xb3\x51\xc8\x15\xa6\x2d\xe5\x09\x67\x46\x28\xb0\xd3\x56\x6f\xc9\xc2\xe0\xa9\x23\x7b\x93\xf9\xbb\xb2\xde\xed\xf0\x2b\xff\x83\xbf\x6d\x86\x8b\x63\x99\x32\x6d\x48\x09\xd0\x41\x9f\x31\xb2\xf3\xa4\x81\x28\x5b\x94\x07\x8b\x47\x06\x1c\xe9\x1d\xad\x58\x3d\xd5\xb1\x3b\xd0\x10\xfb\x30\xf2\x49\x5b\xb7\x04\x20\x18\x3a\x93\x01\x59\xe4\xdb\x19\x3d\xf6\xac\xd1\x24\x42\x3e\x03\x9a\x67\xf1\x56\x88\xae\xc5\x0c\x59\x27\xfb\x27\x18\x22\xaa\xa6\x6f\x29\x4b\xc8\x05\xd3\xbc\x7c\x83\x41\x87\x8a\x54\x10\x09\xf3\x0d\xa9\x9f\xcc\x00\x85\x07\x9c\xe7\xfc\x55\xe0\x01\x16\x85\x56\x2a\xbd\xb3\xa9\x47\x1f\xfd\xe6\x17\x63\x00\xef\x5b\x31\xe0\xdf\x60\x9a\x54\xa1\xee\x66\x24\x07\x0d\xa9\x9c\x87\x76\x89\x1f\xdf\x6a\xa7\x8b\x4d\x55\xb1\xf5\xda\xdf\xc0\x61\xad\xd5\xaf\x00\xfd\x3a\xde\xdb\x44\x8c\x55\x9b\xff\xf2\x04\x06\x80\x43\xa5\xd1\xd6\x21\x47\x48\x62\x8c\x3e\xbc\x5f\x02\x24\x32\x6c\xa1\x8e\xf0\x48\x42\x5d\xa9\x30\x01\x33\xfb\x69\x5d\x4f\x26\x31\x65\xac\x22\xf3\x61\x9d\x40\x5a\xf2\x71\xa7\x1a\x9a\xfb\x19\x8b\xf6\x31\x24\x1d\x34\x59\xb9\x53\x98"}, -{{0xb8,0x55,0xc8,0x18,0x05,0xc7,0x08,0x74,0x10,0xe6,0x9f,0x96,0xb0,0x24,0x02,0x71,0xdc,0x76,0xc1,0xe4,0xad,0xe3,0x8c,0x6a,0x92,0x78,0xe3,0xc9,0x4f,0xbe,0xa2,0x56,},{0x6a,0xdb,0x02,0x5a,0x40,0x26,0x0f,0x56,0x98,0x84,0xb8,0xca,0xb3,0x75,0x2b,0x4f,0x25,0x5c,0x37,0x3e,0x2b,0x42,0x4b,0x62,0x87,0xeb,0xb5,0x10,0xfa,0x06,0xff,0xf0,},{0x3c,0xaa,0x81,0x32,0x73,0xe7,0x53,0x54,0x2f,0xfb,0xfe,0xb2,0x1b,0xc3,0xe2,0xcf,0x8c,0xa7,0xd9,0x20,0xfa,0xac,0x7c,0x49,0xdc,0x2a,0xa9,0x91,0x17,0x68,0xc7,0xad,0x43,0xb3,0x8b,0x02,0x36,0xdb,0x27,0xf3,0xee,0xae,0x0b,0x12,0x06,0x00,0x1e,0x66,0x5a,0x60,0x70,0x78,0xc5,0x22,0xed,0x7a,0x9d,0xc4,0x68,0x85,0x34,0x63,0x59,0x00,},"\x85\xa9\xbd\xb7\x0a\x6c\x75\x28\x97\xe4\x3a\x91\x10\x6e\xe9\xa9\x9c\x2c\xa9\x4f\xf7\xb4\x46\x1a\x44\xa3\x91\x74\xc1\x7e\xcd\x99\xdf\x46\xee\xcd\x81\xc3\xf5\x25\x13\xdc\x9d\x54\x7d\xad\x37\x21\xc6\xd5\xee\x1f\x8f\xac\x0b\xa5\xaf\xb3\x68\x70\x44\x73\x9e\xd5\x35\xb8\x44\x00\x87\x04\xc0\x9f\xe1\xe5\xd7\x85\xd4\xc9\xc3\xd0\xb0\x58\x89\xb9\xc2\x0f\xc3\xfd\x68\xdf\x12\xdb\xeb\x2c\x34\xf6\xf7\xec\x1c\x6f\xb7\xfa\x81\x1f\xf8\x46\xb5\xa6\x1f\xa5\xfe\x55\x37\x9e\xe6\x3a\xbc\xd3\x73\xfe\xd0\x02\x54\xeb\xd0\x6b\xc8\xb2\x2f\x7f\xbf\x2f\x72\x7a\x5f\xad\x88\x51\x41\x59\xe2\x6d\x78\xdf\xdb\x09\x57\xf6\xef\xaf\x51\xa8\xe8\x0b\x58\x5e\x83\x8b\x96\x21\xd0\x51\x07\x4a\x4f\x58\x67\xb4\xae\x2f\x2f\xf6\xd6\x2b\x85\xbc\xce\xc0\xb4\xaa\xa4\x79\x16\x37\x38\x8c\x09\x01\xfd\x49\xdc\xcc\xce\x72\x04\x85\x9f\x81\xee\xfc\x63\x9f\xed\x92\x28\x04\x56\xe6\x9a\x15\x09\xb4\xb1\xbd\x76\x24\x44\x7d\x86\x2c\x45\xa0\xc8\xb0\xc5\xbb\x2c\x4c\xa5\x12\xcb\xc0\x37\xf5\x1b\x78\x09\x82\xb1\x83\xa5\xca\xfa\x15\x29\x75\x85\xc9\x47\xa2\x5b\xe8\xc2\x24\x0e\xbf\xb6\x86\x8e\xce\x5e\xa2\xaa\xb2\xc2\x39\xc8\x37\x54\xc7\xd5\x94\xb3\x72\x5a\xce\xef\x34\x4b\xa7\xe6\xae\xf4\x9f\x7f\x31\x3b\x0a\xe8\x2c\xca\xca\xd3\x87\xa6\xe9\x33\x7f\x05\xf8\xc7\x99\xef\xe7\x82\x9b\x27\xb4\xd5\xb2\x01\xfd\x5a\xe5\x83\x43\x51\x69\x07\x59\xf3\xea\x17\x5f\xd4\x74\x1b\xe2\x28\xd8\x07\xfb\x54\xdf\x4a\x74\x10\x38\xfa\xee\x47\xed\xf1\xf5\x61\x65\x25\x98\x60\x1f\x27\x15\x5f\xc5\x0d\x9d\x50\x11\x43\x37\x11\xc1\x06\xd4\xb6\x07\x85\xa5\xcc\x93\xb3\xfd\xd1\xda\xd7\x0c\x0c\x8e\xaa\x33\xf1\x51\x2e\x35\xa5\x41\x74\x5e\x37\x6c\x15\x16\x7f\xa8\xf6\xb3\xb2\xc4\xc3\xa3\x66\xfc\x41\x49\x7d\x29\x73\x57\x81\x6a\xe7\x95\xa8\x04\xc9\x80\xe7\xcb\xfb\x0c\x74\xd8\x83\x5d\x92\x9a\xe3\xbb\x52\xba\xb1\x29\x64\x56\x6d\x74\x6b\xd2\xc1\xd1\x32\xb6\x23\x3f\xa3\x4f\x75\xe2\x68\xed\xee\x77\x5e\xb3\xce\x13\x2e\x6b\xeb\x2e\x8d\x71\xf0\xc8\x76\x29\x91\xcd\xe4\xe2\x6f\x71\x43\x9d\xfa\x83\x97\x8f\x99\x56\x03\x86\x1b\xc0\xb1\xd9\x06\x0b\xbc\xca\xcc\xf8\x6f\x87\x45\xad\x96\x99\x4d\x5d\x00\x7d\x52\xe8\x3a\xa5\xe6\x94\x12\x96\x4b\xdb\xfb\xe4\x78\x0a\xaa\x8d\xe4\x1b\xe1\x29\x8a\xbb\xe9\x89\x4c\x0d\x57\xe9\x7f\xca\xcc\x2f\x9b\xbd\x63\x15\xd3\xfc\xd0\xea\xf8\x2a"}, -{{0x95,0xb9,0xc8,0xa6,0xef,0x80,0xeb,0xd5,0xcb,0xd4,0x7a,0x04,0xca,0x54,0x38,0x73,0x73,0xdf,0x4d,0x67,0xa2,0xb4,0x75,0x59,0x77,0x65,0xac,0x89,0xfc,0xf9,0x3e,0x93,},{0xf2,0xc9,0x47,0xb1,0x8a,0xdc,0x3e,0xa6,0xa2,0x3f,0x7a,0xbc,0xa3,0x64,0xb9,0x85,0x3a,0xe8,0x5a,0x2b,0x0c,0x8c,0x26,0xf0,0xd3,0x17,0x3c,0x27,0x32,0xc3,0xc7,0xff,},{0x2c,0x8b,0xf5,0x43,0xe2,0xa3,0xe0,0x04,0x15,0xee,0x4f,0x10,0x7b,0x2f,0x5a,0x66,0x87,0x17,0x6f,0x5d,0x52,0x11,0x17,0x75,0x9c,0xeb,0x56,0x17,0x51,0xbc,0xc7,0x7d,0x9b,0x08,0xa6,0xa6,0x31,0xf6,0x44,0x7c,0xd9,0x01,0xde,0x96,0x69,0x9a,0xeb,0xb1,0x68,0xbf,0x97,0x50,0x0d,0xc5,0x4a,0x05,0x43,0xef,0x14,0xe4,0xb5,0xa0,0x81,0x06,},"\x78\x55\xbc\x39\x26\x30\xcc\xf5\x31\xd3\x06\x16\x06\xdd\xfc\x81\xa0\xfd\x92\x94\xc5\x47\x91\xb5\xf9\x55\x9b\x68\x27\x25\x4a\xa1\xf2\x5c\x54\x0b\x7d\x7d\xf3\xec\x9c\xdf\x14\x25\x66\x29\xdb\xcf\x9b\x72\x5f\xeb\x34\x12\xeb\xf3\x5f\x0e\xf9\x37\x9e\x41\x31\xcc\x77\xe0\xf0\xfb\x6f\x74\x59\xa7\x38\x36\x1a\x99\xae\x4c\xcb\x2b\x60\xa9\x9f\xe9\x2b\xd6\xc3\xa5\x3d\x6f\x45\x4e\xe9\x00\x5b\xce\xc5\xae\xdc\xfa\x82\x34\x73\x92\xef\xcf\x11\x75\xe5\x78\x39\x6a\x8d\x80\x0d\xab\xa0\xf4\xc2\xcf\x4d\x49\x13\xb0\x52\x86\x20\xe3\xba\xa0\xf6\xd8\x6e\x06\x28\xe4\x7c\x0c\xa2\x6d\xf3\xb0\xc7\x88\xc4\xe1\x65\x57\xf7\xfc\x28\xdf\x82\x0c\x12\xfb\xb6\xff\xbf\xec\xb9\x82\x9d\xdb\x65\xef\x8d\x63\xe9\x0d\x68\xfc\x71\x94\xb5\xb8\x85\x91\x3f\x08\xed\xee\x84\x56\x76\x47\xff\xa3\xf0\xd0\xd3\x25\xd0\x82\x60\x0c\xe7\x1a\x23\x45\xc7\x7d\x65\xbd\x96\x25\x20\x03\xe5\xc1\x25\xa7\x18\xa0\x73\x70\xc3\x1b\x57\x08\x07\x5c\xf1\x83\x7c\x69\x25\x63\x5c\xc6\x8d\xd1\xb7\x51\xe4\x0a\xb6\x08\xb0\xd9\xd8\x85\x2c\x18\xd3\x06\x92\x19\xef\x80\x7b\x76\xd2\x88\xf9\x2c\x29\xa9\x3e\x3d\x75\xb5\xb2\xe5\x36\x81\x67\x1d\x3a\xe0\x14\x5a\xc0\x3c\xca\xd3\x16\x2e\x44\x70\x3b\x04\x01\xd3\xeb\x16\x7c\xd8\xdd\xc1\xe1\xa5\xa3\x26\xb7\x28\xb1\xe0\xc0\x0a\x94\xd8\x6d\xe6\x13\x52\xa6\x61\xe4\x08\x97\x17\x5d\x28\xd3\x41\xe4\xd1\xd9\x96\x2e\x35\xf4\xde\x18\xa5\x40\x17\x61\x1a\xd0\x53\x59\xce\x08\xb9\x7b\xfe\xdb\xfb\xe3\x99\x2e\xd5\x8e\xd4\x0f\x51\x7a\xab\x01\xc0\xfe\xfe\x8b\x63\x64\x3d\xa1\xa4\x54\x15\x27\x30\xbf\x99\xaf\x87\x40\xad\xf9\x8a\x77\xb8\xd7\x3a\xdb\x08\xe6\x09\xe0\x0c\xe9\xb1\xcc\xdf\xef\x3e\x9a\x9b\x05\xaa\x56\xe0\xbc\x79\xb6\xbb\xba\x80\xdd\x8e\x46\x1a\xf7\xcb\x20\x28\x92\xd8\x9b\x2d\x05\xa4\x45\x8a\xb3\xfa\x54\xb4\x74\xb8\xf8\xf5\x81\x79\x5d\x6c\x27\x39\xe5\x9d\x0f\xe0\x62\x40\x0b\xae\x2d\x2d\x53\x4b\x34\x0b\xb8\xe2\x61\x57\x77\xa9\xa5\x61\x5b\xb2\xcf\x43\x7b\xa5\x25\xe0\x0e\x70\x38\xf2\x2a\x57\x88\x2a\xc5\x20\xb3\x33\xe7\x5c\x3c\x92\xa8\xb9\xf0\xe3\x7f\x67\x1c\x94\xb1\x5d\xd8\x18\x2a\x08\xd7\xc1\x43\xe9\x4e\x92\x62\xb3\xcc\x55\x44\xc2\x94\xf5\xf3\x35\xc2\xb2\x8a\xc1\x19\xfe\xa0\x0f\x96\x34\xdb\x06\x39\x93\x98\x8b\x5f\x15\x05\x79\xc7\xcc\x25\xb6\xa1\xfb\x0d\xde\x94\x80\x4f\xa6\xef\x66\xff\x79\xfb\x91\x07"}, -{{0xb7,0x86,0xcc,0xfb,0x58,0x6d,0x43,0xb8,0xc4,0x6b,0xb9,0x7b,0x96,0xc9,0x18,0x73,0x1b,0xc2,0xcc,0x11,0x92,0x77,0xf1,0x23,0x67,0x1e,0x30,0x14,0x81,0x58,0xd2,0xed,},{0x90,0xc7,0x00,0x46,0x00,0xf3,0xdc,0xe4,0x09,0xfd,0xea,0xdc,0x8e,0xd0,0x18,0xf9,0xea,0x26,0x3f,0x75,0x16,0x0a,0x74,0xab,0x54,0xf4,0xc2,0x39,0x9a,0x90,0xca,0x78,},{0x52,0xba,0x96,0x58,0xa1,0xa0,0xb3,0xe9,0x8e,0xd5,0x20,0x9e,0x39,0x3e,0x42,0x00,0x66,0xa3,0x7d,0x37,0x14,0xda,0xa7,0x3d,0x5c,0x67,0x1d,0x33,0x07,0x5a,0x5f,0x57,0x27,0xfe,0x4e,0x08,0x1e,0xe0,0xfa,0x3c,0x21,0x33,0xdc,0x95,0x3a,0x2d,0xa6,0x20,0x29,0x13,0x71,0xf0,0x0c,0xcb,0x57,0xd8,0x79,0x2e,0xb5,0x96,0xa2,0xff,0x81,0x01,},"\xba\xbf\x48\xbd\x55\xea\x91\xbd\x0c\x93\xb9\x70\x24\x1b\x52\x9d\x9d\xb4\x3d\x49\x27\xfe\xa5\xf1\xa1\xf7\x08\x2d\xd6\xcb\x50\xa5\x2b\x09\x4b\x31\x29\xfc\xd9\x03\xa4\x4f\xec\x8b\xfd\xb5\xc8\x6c\x00\x2a\x2a\x45\x28\x87\xca\x25\xa6\x0e\xce\xb5\xe1\xf9\xf5\xc9\x3d\xc5\x94\x23\xc7\xaf\xe7\x47\xc6\xbf\x40\x7c\xac\xad\xec\xcf\x5d\x78\x79\x70\xcb\x06\x17\xbb\x3c\xfe\x7f\xd1\x75\x63\xd3\xa0\xdc\x91\x63\x1f\x71\xb8\x4b\xe2\x4a\xe8\x00\x11\x37\x50\xf0\x31\xd0\x1f\xd0\x53\x64\xb4\xf2\x7f\x86\xf8\xdc\x3a\xd7\x40\x7e\x1a\xe9\xe7\x68\x15\x4e\x3d\xde\x58\xe8\x67\x12\x9e\x24\x74\x54\x7b\x40\x82\x17\x96\x48\x44\x85\x8d\x05\x6b\x31\xc3\x74\x99\x1b\x7f\x16\x1f\x52\xf0\x88\xb8\x06\xe0\xf3\x13\xd6\x8a\x15\xc5\x40\x1e\xd5\x5b\x2b\x77\xde\xea\x58\x6c\xb0\x54\xdc\xd7\x1a\xf2\xab\x6a\xb1\x1e\x84\xb3\x0c\x53\x93\x45\xde\x3e\xb4\x3f\xb7\xb3\xa3\xb4\x89\x87\xc3\xbf\xa7\x06\x55\xd5\x99\xf2\xe3\x1d\x12\xad\x23\xcc\x96\xe8\x6d\x38\x0b\xfd\xa8\x12\xfe\xff\x3d\xd3\x02\x42\x92\x91\x69\x07\x02\x28\x91\xe1\x19\xbf\xc3\xed\x9c\x25\x54\x6c\xd1\x9f\xc9\x92\xd8\xa6\x1e\x60\x59\xca\x3c\xe7\x80\x2a\xf1\x11\x87\x56\x62\x0b\x87\xa7\x24\x2b\xd8\x38\x97\xc9\x4d\xd5\xa3\x6e\xd4\x0f\xc0\xf3\x4c\x2c\x93\x11\x0b\x37\xd1\x7d\xd9\x6a\x22\x06\x25\x90\xbc\xdb\x54\x67\x42\xef\x72\x18\xad\xcc\xc5\xad\x28\xf4\xfc\xe6\xec\xf7\x05\x83\x5f\x41\x13\xd8\x2e\xa5\x33\x90\x3a\xec\x8c\x38\x20\xfe\x4b\x47\x15\xf3\x7e\x20\xce\xbc\x1e\x71\x51\x9a\xa0\xb2\x40\xb4\x84\x0a\xa4\xfd\xcf\xb5\x24\x67\xfe\xdd\x8f\x4d\x1f\x9b\xc3\x3e\xe1\x14\xf3\xef\x85\xf5\xfd\xb0\x9c\xa8\x84\xaf\x38\x8a\xd3\xad\xf8\x4c\x79\x3f\x38\x6e\xfe\x6f\xf8\xa4\x6e\xd8\x1e\x5d\x45\xa3\x7c\x25\xcd\x80\xf2\xd7\x36\x3f\x43\xae\x45\xe3\x77\x2c\x0d\xf8\x9f\x11\x44\x79\x39\x80\x6c\x09\x6e\xf9\x33\xa1\x39\x44\xf0\x89\x0d\x88\x7c\x2e\x5b\xbb\x6b\x12\xea\x95\x0b\x09\xb8\xfe\x42\x52\x89\x37\x73\x52\xf3\x5f\x84\xcc\x4d\xcd\x4d\x7a\x44\x94\x89\xfa\x92\x51\xc0\x31\x13\x48\x92\x25\x80\x9c\xdf\x3c\xb6\x34\x75\xf1\x0d\x34\x17\x09\x37\x1c\x6f\xd4\xbb\x7a\x94\x94\x83\xd1\xbc\x2b\x31\xdd\xf4\xd9\x63\xa0\x7d\xe7\xea\x5c\x3f\xee\x9a\x0e\x33\xf0\x76\x9f\x2f\xaa\x40\x61\x2a\x54\x69\x74\xbd\xe0\xb7\x33\x91\x79\xe4\x12\x4a\x44\x7b\xd4\x28\x79\xcc\xda\x5c\x8a\xd1\x81\x9c\x53"}, -{{0xdd,0x1a,0x97,0x74,0xf7,0x58,0x4d,0x85,0x89,0xb1,0x9f,0x92,0xab,0x69,0x39,0xac,0x48,0x56,0x02,0xfe,0x16,0x44,0xce,0xe2,0xf6,0xf3,0xcd,0x60,0xfb,0xd5,0x84,0x00,},{0x4b,0xea,0x7d,0x0b,0x0f,0x4b,0xd5,0x90,0xf9,0xe3,0x57,0x9f,0x0c,0x5f,0xa4,0xce,0xf4,0xd6,0x0a,0x49,0xd2,0xc4,0x37,0xa0,0xaa,0xea,0xd9,0xd4,0x3a,0x73,0xd4,0xa3,},{0x19,0x59,0xbd,0xe0,0xa6,0x97,0xa6,0x39,0x93,0xec,0x47,0xd1,0x58,0x22,0x37,0x39,0xfe,0x65,0x87,0x1f,0xa0,0x58,0x70,0xd7,0xde,0x0d,0x38,0x08,0x65,0x91,0x20,0x2a,0x51,0xb1,0x74,0xd1,0xc6,0x18,0x28,0x08,0xc6,0xce,0x62,0x63,0x1d,0x81,0xdb,0xa3,0x4e,0xbe,0xd4,0xaf,0x2f,0x29,0xb0,0x6c,0x00,0xa5,0x7a,0x3c,0xb6,0x66,0x36,0x06,},"\xe5\xdc\x3e\xd2\x6c\x1f\x69\x3c\xf8\x52\x46\x5a\x05\xe3\x04\x8b\x50\x5d\xb5\x11\x6d\x9e\x31\x59\x22\x05\xa9\xc3\xd4\x72\x0b\xc1\x0b\x6c\x20\x63\x9a\x0e\xe2\xf0\xe1\x47\x22\x5b\x5b\x19\xea\x51\x1c\xfb\xa0\xc2\x1a\xac\x10\x71\x5a\x2f\x23\x2f\x10\xc2\xc8\xaa\xd4\x11\x12\xb6\xb0\x12\xe7\x5a\x41\x55\xf8\xc6\x92\x62\x53\xca\x2b\x4d\xdb\x7b\xfe\x7f\x86\xe9\x0a\x53\xdb\xc0\xcb\xa8\x9e\x48\x5c\xec\xa8\xfd\x26\xe5\x0c\x7f\x28\x2a\x25\x35\x73\xcb\x0a\x8f\xa8\x8c\xc4\x46\x23\xe8\x2e\x8f\xa2\xed\xb6\xcb\xc7\x53\x8a\xc9\x2c\x11\xe4\xc5\xb1\xea\x5f\x68\x96\x6d\x15\xd9\x3c\x34\xf3\x96\xd2\x75\x72\xf8\x64\x38\x2a\xb7\x6a\x7b\xe6\x5a\x55\x7b\x13\x97\x66\x36\x8a\x20\x7d\x98\xbc\x0c\x20\x92\x63\x70\xde\xa2\x70\x48\x16\x03\x63\xed\x85\xf4\x09\x9e\x7c\xd6\x6d\x12\xd0\x98\x8c\xfc\x9e\x2f\x16\xaa\x56\x5f\x8f\x33\xb3\x9e\x97\x8c\x05\x87\x37\x1f\x92\xdb\x50\x56\x31\x75\x64\x41\x1b\xd8\xa3\xb6\xfe\xa0\x9d\x34\x87\xaa\xf7\x34\x03\x49\x18\xff\xed\x1c\x9f\xba\x7b\xde\xc6\xfe\x68\x87\x6f\xc7\x36\x0c\xc5\x62\x9b\x92\x10\x40\x27\xfe\x57\x59\xc5\xab\x36\x53\x54\x75\x1e\x79\x69\x11\x6c\x3b\x9a\x21\xb1\x52\x33\x0a\x96\xa9\x38\x1a\xf7\x30\xd1\x78\x22\xd7\x8a\xd6\xea\x86\x00\x06\x91\x5b\x5c\xab\x44\x7a\x75\x93\x72\xe0\x5d\x49\x5e\xbb\x32\x8e\x75\xd2\x48\xda\xa0\x2f\x5d\x2e\xb9\x78\xd2\x71\x0c\xf1\xc5\xfb\x82\x48\x76\x77\x0e\x32\xca\x6d\xe2\xc7\x30\x56\x48\x92\x41\x5b\xcb\x53\xe5\x98\x1d\x70\x7a\xdd\x96\x1c\x5f\x37\xfd\xaf\xa1\x39\x9a\xf8\xae\xa9\x60\x45\x8d\x2c\xa3\x10\x55\x3f\x7c\x98\x66\xcc\xbe\x8e\x9d\x88\xe0\x8a\x44\x68\x72\xea\x66\xfc\x30\x8c\x82\x45\x14\xb7\xda\xce\x03\x34\xdb\x73\x5e\x6f\x14\xc8\x5b\x5e\x61\x9a\x5d\x60\x56\x48\xa8\x81\xe8\x76\xc7\x8d\xbe\x06\x57\x23\x3d\x4f\x7f\x3b\xfd\xdf\x63\xb4\x45\x31\x1d\x6a\xbc\x47\x63\x47\xec\x4f\xb4\x3c\x89\x46\xf9\xd1\x7c\x36\x93\x81\xd1\xc5\x64\xff\xcf\xe2\xdc\x7b\x47\x26\xfd\x57\x38\x7f\x0b\x44\xdb\x8e\xf9\x5a\x0b\x4e\x32\xa7\xbe\xdf\x31\x9e\x53\xa9\xe7\x12\x6c\x28\x11\xf9\x82\x9d\x1f\x4a\xe9\xab\xd9\xd5\xf4\x2e\xfe\xf2\x07\x5f\x47\x05\x1c\x63\xa4\xf8\x20\x20\x40\xec\x47\x23\x68\x63\x82\xc6\x03\x31\x27\xc1\xfb\xff\xf4\xbc\x82\x37\x35\x08\x75\x2d\x43\x1d\xc4\x73\xf5\x2d\xde\xab\x03\x42\xdc\x4f\x54\x47\xf8\xf2\x57\x38\xef\x65\xd7\x85\x56"}, -{{0x66,0xf5,0xea,0x8c,0xdb,0x95,0xee,0x1a,0x75,0xe3,0x24,0x67,0xd7,0xc8,0x3c,0x59,0x44,0x77,0x42,0xc8,0x5d,0xdd,0x49,0x9c,0x43,0xc0,0x86,0x73,0xe1,0x49,0x05,0x3a,},{0xa8,0xad,0x04,0xb9,0xc1,0x44,0xb9,0x7f,0xe8,0x67,0x37,0x4d,0x4f,0xe5,0x7d,0x7e,0xc0,0xc2,0x49,0x18,0x3e,0x43,0xbd,0xfb,0x5d,0x52,0x64,0x4e,0x7f,0xbe,0x1d,0xf3,},{0xec,0x5c,0x7e,0x83,0x92,0xfa,0x8b,0x61,0xbc,0x82,0x96,0x81,0x86,0x6e,0x45,0xac,0x8b,0xe4,0xb5,0xb7,0xb6,0xa8,0x22,0xc1,0xbc,0xd0,0xf2,0xcc,0x2c,0x8c,0x44,0xc3,0x3c,0xf8,0x3f,0xa4,0x2d,0x43,0xa2,0xf1,0x88,0x41,0x41,0xb4,0xa5,0x9a,0xaf,0xf4,0x7f,0x9b,0xe0,0x7e,0x63,0x2e,0x20,0x18,0x75,0x93,0x24,0xea,0xc9,0xd1,0x49,0x00,},"\xc0\xd0\x1d\xce\xb0\xa2\xd1\x71\x91\x10\x18\x79\xab\xb0\x93\xfb\x07\x75\x71\xb5\x21\xbe\x7b\x93\xa1\x17\xc6\x96\xc0\x87\x2f\x70\xea\x11\x39\xab\x62\x83\x29\xee\x56\x55\xfc\x0a\xa7\x7e\x81\x11\xd2\xfc\x88\x47\x48\xc1\xf2\x67\xb9\xeb\x09\xdc\x26\xf5\x7f\xc4\x02\xd6\x1b\xa3\x6f\x63\xf4\xd5\x89\xaa\xe6\x3c\x76\xee\xee\x15\xbf\x0f\x9e\x2d\xcd\xe4\xe4\xe3\xe7\x8f\xc6\xc2\x9e\x3a\x93\xf3\xff\x0e\x9a\x6e\x0b\x35\x66\x45\x95\x38\x90\xde\xbf\x62\xdb\xea\xf4\x90\x51\x78\xd4\xf0\xa5\xa5\x92\xc1\x92\x94\xee\xba\x7c\x21\xcf\x8f\x1b\xb3\xf4\x51\x21\x87\x37\x6d\xe7\x2f\x11\x36\xa4\x8a\xc2\xdf\xaf\x32\xd0\xf3\x7d\xe0\x64\x59\x25\x92\xb6\xe1\xbc\x0c\x51\x2c\xf4\xd2\xd8\x5d\x16\x79\x78\x53\xa8\x09\x33\xb0\x9c\x2f\x7b\xfb\x9e\x54\xa6\x9e\x51\xa8\xe4\x23\xa9\x1c\x3e\x5f\xde\xb4\x79\x05\x33\xe8\x7a\x4b\x1c\x0e\x0e\x23\xa9\xdb\x95\x73\xac\x17\xab\x6e\xc7\x01\x4d\x8b\x7c\x44\x86\xe1\x57\x25\xf8\xd2\x64\xee\xa3\x05\x0e\x83\x5a\xe0\xac\x44\x9d\xb3\x34\x50\x2a\x6d\x97\x35\x8f\xa8\x59\x10\x6a\xd0\xf6\xf4\x29\x5f\x23\x44\x92\x0a\xdf\x93\x55\xa6\x94\x9d\x8d\x14\x5c\x25\x62\x8a\x46\xa1\x04\xca\x09\x9b\xd9\xdd\xe9\x41\x11\x9c\x83\x82\x0c\xdc\x2c\xb2\xd0\x97\x22\x69\x49\x01\x04\x3c\x37\xcf\x0a\xe8\x79\xbe\x20\x30\xd0\x37\x31\x58\xb9\xc4\xb0\x71\x82\x98\xbe\x45\xf6\x30\xf6\xfc\xdc\x19\x0f\x7b\x29\x26\xd8\x76\x55\xa1\x8b\xb7\x97\xac\x50\x75\x7f\xcd\x36\x55\xc9\xe4\x1d\x51\x63\x29\x3d\x9a\x13\xd9\x84\xf5\x91\xf7\x5b\x7e\x4e\x5c\xad\xb6\x4c\x4c\x9f\xdf\xef\x76\xca\xb6\x93\x81\xd0\xf6\x0b\x48\x3f\x80\x4b\xb3\xb3\x33\x64\xdf\x8c\xff\xac\xb3\xc9\xb1\x3f\xf4\xc8\xd8\xd4\xea\x40\x76\x6a\x7d\x42\xd8\x25\x6c\x6b\x1c\x11\xc1\x91\xda\xba\x1b\x8e\xf2\x15\x93\xe4\x7b\x18\x85\x8e\xc1\x9d\x81\x73\x58\x67\x8d\x85\x48\xff\x15\x35\xd5\xfc\xf4\x41\x4b\x6a\x11\xd3\x4a\x37\x42\xf8\xd7\x14\x9f\xa6\x81\x38\x3a\x94\x08\x88\x7f\x1c\x0a\x98\xed\x52\x1e\x72\x79\x32\x77\x82\x4d\x6f\x74\x6d\x49\xb6\x3d\x44\x4e\x31\x2e\x6d\x9b\x98\x66\x11\x25\x81\x96\xa5\xb0\x12\xb8\x8f\xaa\x29\xf9\xa6\xc6\x7e\xd2\x5d\xf8\x7b\x2d\xbf\x0d\xbd\x2d\xc3\x08\x0c\x5b\x8d\x15\xa3\x7d\x34\x72\x90\x98\xed\x0d\xe9\x2d\x75\x80\x74\x29\xb2\xca\xe5\xd7\x28\x3c\x4e\x5c\x9b\xd1\x96\xd1\xad\x43\x6c\x7c\x34\xf3\xc9\x46\x6e\x5c\xb3\x19\x6b\x44\x3f\x4b"}, -{{0xed,0x25,0x58,0xe5,0xc5,0x67,0x84,0xbc,0xfb,0x4f,0x4d,0xde,0xa3,0xc0,0xdf,0xbe,0xf8,0xd9,0x6f,0xf1,0xca,0xbf,0x15,0x8e,0xc4,0xab,0xe6,0x0a,0xff,0x66,0x99,0x9e,},{0x1e,0xdc,0x99,0x10,0x12,0xac,0x6f,0x88,0x8f,0xa7,0xe6,0x04,0x57,0x77,0xe9,0xba,0x1d,0x4c,0x03,0xc4,0x02,0x92,0xd2,0xda,0x6b,0x72,0x2b,0x4a,0xd0,0xa3,0xed,0x74,},{0xab,0x9e,0x01,0x16,0x65,0x24,0xfd,0x28,0x8e,0x5c,0x68,0x9e,0x56,0xd7,0x30,0xd4,0x98,0x30,0x00,0x55,0x10,0x30,0x49,0x33,0x34,0xa3,0x98,0x4e,0x22,0x23,0xdc,0x9f,0x7a,0x5b,0x91,0x0c,0x61,0x76,0x0c,0x61,0x57,0x99,0x0a,0x4c,0x33,0x5e,0x34,0x8e,0x3a,0x7b,0xc8,0x22,0x3e,0x09,0xc1,0x0c,0x5e,0x52,0x0c,0x8d,0x61,0xaf,0xf5,0x00,},"\x2c\x64\x33\xe9\xbf\xbf\x4c\xfd\x4e\x07\x1f\x15\xce\x6b\x12\x9d\x78\x0a\x4b\x3d\xe0\x14\xfa\xc0\x34\xe0\xd4\x4e\xf7\x72\xe2\xc8\xb0\xd6\xa3\x48\x1d\x7b\x3d\xde\xb2\x37\x63\x26\x73\x55\x33\x13\xde\xac\x1e\xfa\xfe\x37\x02\xa7\xa4\x41\x1e\x12\xbd\x34\x1e\x8d\x8e\x96\xc5\x9c\x5e\x30\xc3\x68\x07\xa8\x38\x5a\x53\x8e\x9b\x66\x90\x7d\x6a\x52\x84\x00\xbd\x9f\x95\xee\xdc\x52\x16\xb2\x8f\xd7\x43\x7d\x8f\x4a\x02\x9f\xdb\xdc\x7c\x93\x8e\x4e\xb9\x81\x2f\xec\x05\xea\x69\x32\x29\x62\x9a\xce\x6a\xcc\x7a\xf6\xba\x4c\x23\x8e\x77\x22\xf3\x12\xf7\x89\x6b\x00\x49\x22\xf7\x06\x7e\xde\x10\x6f\x8e\x70\x15\x4d\x78\x3f\xb4\x12\x91\xf3\xc7\xe2\xe4\x82\x60\x45\xb5\x74\x1b\xcb\x4a\x88\x38\xf8\x7a\x32\xe0\x04\x97\x04\xe9\xb5\x32\x34\xc2\x24\xff\x89\x8a\x75\x6e\x52\x91\x34\xc1\xa9\xbf\x50\xfd\x02\x98\x19\xb2\x23\x8b\x60\xb2\xae\xc1\x12\x8f\x34\xd2\x1f\x9d\x66\x98\x3b\xed\x39\x86\x59\xd8\x08\xb6\x7a\x2e\x50\x1b\x5a\x1f\x25\xf7\x1f\x0f\x0c\x1e\xb2\xfe\xa0\xab\x42\xd8\x2f\xf3\xbc\x93\x58\xbb\x20\xc2\x75\x20\xc1\x44\xcf\x21\x16\xf4\xa4\x9c\xbc\x61\x99\x4d\x2d\x71\x05\x46\x69\x4c\x4f\x60\x2d\xc4\x06\xe0\xb0\xc2\x7e\x5f\x5e\x64\x66\x7e\x95\xc2\xec\x9d\xf2\xd6\x52\x9c\xf5\x36\x22\xea\x10\xb9\x56\xb3\x45\xec\x55\xb6\xc3\x9a\x1e\x6e\xd8\x8a\xe6\x6e\x5b\x45\x71\x79\x42\x5d\x1a\x84\x90\x37\xb0\x7c\x46\xcf\x5f\x36\x33\x01\x09\x58\x37\xce\x81\x1b\xff\x49\x60\xbf\x9c\xbd\x15\x20\x1c\x1b\x67\x40\xbd\x70\x10\x21\x40\x74\x4c\x33\x27\xac\xa9\xd6\xd6\xd1\x54\x93\x67\x98\xac\x38\x1f\xa6\x39\xdb\x43\x6e\xe8\x16\x56\x67\xd5\x38\xa6\xc7\x4a\x23\x3c\x12\x4b\xf6\x04\xfd\xad\x51\x98\x4c\x41\x70\xb8\x20\x0d\x2d\xf7\x3c\x29\xbb\x1e\x37\x6a\xff\xc3\x14\xdd\xe3\xe8\x6a\xf9\xd2\xc2\xe6\xc3\xa6\x52\x4d\x32\x1b\xce\x93\xe2\x1f\xc9\x65\x56\x4f\xaf\x77\xd0\xcd\x1a\xcc\xb4\xd7\x62\x94\x85\xf5\x64\xc7\x9f\x4d\x8a\x2f\xde\xfb\x46\x54\x54\x02\x8c\x6d\xd1\x42\x80\x42\x80\x53\x70\x74\x33\x63\xbb\x18\x47\x6a\x3f\x23\x20\xdb\x25\x89\xc7\x21\x33\xcf\x5e\x29\xda\xfb\x7d\x07\xaa\x69\xa9\xb5\x81\xba\xb5\xa8\x3f\x40\x3e\xef\x91\x7a\xfa\x14\xb7\x64\xc3\x9a\x13\xc0\xc5\xea\x70\x19\xd2\xfd\xfb\xd7\xf3\xf7\xd4\x0e\xb6\x3b\x2a\x08\x4d\xa9\x21\x89\x5f\xe4\x8f\x4f\xd5\x94\x01\x7f\x82\x56\x9b\x46\x7a\xb9\x01\x16\x9e\xb5\xda\x9c\x40\x17\x1d\x5f"}, -{{0xb7,0x27,0x98,0xb8,0x11,0xe2,0x33,0x84,0x31,0x25,0x6d,0x24,0x80,0xfe,0x7a,0x36,0x63,0xac,0xec,0xbb,0xe6,0xe6,0xc1,0xb9,0x19,0x1e,0x9d,0x9a,0x22,0x44,0x79,0x40,},{0xce,0x49,0x1d,0xaa,0xd2,0x96,0xb5,0x57,0x27,0xb0,0x95,0x13,0xdf,0x02,0xba,0x59,0x28,0xa3,0x71,0x73,0x7c,0xd3,0x58,0x41,0xe5,0xf7,0x35,0xac,0xab,0x7c,0x5d,0xf8,},{0xdc,0xfc,0x6f,0xd4,0x77,0x99,0xfe,0xc7,0x72,0xc2,0x09,0x9b,0x3c,0x64,0x37,0x24,0x6c,0x3a,0xd0,0x72,0x29,0xfc,0x74,0x0e,0x05,0x31,0x1a,0x20,0x6b,0x18,0xb0,0x2e,0xcd,0xb0,0x26,0xc9,0x26,0xf4,0x9c,0x65,0x52,0xe3,0x47,0xfd,0x35,0xdf,0xde,0x06,0xcb,0x63,0x9a,0x79,0x7c,0x50,0x61,0x2f,0x98,0xe2,0x47,0x8a,0x92,0xaa,0xf6,0x09,},"\xa5\xd4\x62\x98\xb0\x79\x06\x10\xae\xdc\x09\x70\xfe\xa2\xa7\x07\x50\x81\x84\x72\x66\xf2\x2f\x12\x47\x8b\x93\xd7\xe6\x74\xc6\xc5\x17\xf3\xc1\x4e\xd0\x61\x26\x9d\x17\x0a\xc3\x1e\x2a\x64\xf9\x75\x4a\x56\x5b\xac\x1d\xd9\x75\x73\x22\xc1\x11\x32\xe7\xbb\xee\x5f\x32\x81\x8e\x0e\x30\x63\xab\x64\xe5\x52\xd0\x9b\x0f\xd1\x75\x76\x39\xb9\xb9\xd1\xc7\x70\x01\x6b\x67\x74\x65\x87\x2b\x66\x9d\xd4\x8b\xe0\x38\x66\x57\x51\x67\x4d\xd2\xf4\x0a\x96\x6a\x26\x74\x8f\xd3\xe5\xdb\xfd\x92\x26\x5e\xb9\x36\xf5\x5b\x09\x42\x86\xc0\x10\x62\x99\x04\x34\x7c\xb4\xc5\x26\xe3\x77\x47\x0a\xa9\x6e\x81\x69\xa6\xf2\x11\x63\x38\x07\xa5\x00\x30\xe7\xff\x68\xe3\x89\x11\xb3\x55\x5e\x72\x8e\xd8\x59\x0b\x2d\xc4\x5f\xea\x69\x94\x5c\xc0\xc9\xa3\xd3\xe6\xc9\x54\xb3\xe8\x01\x06\xa5\xc9\x1d\x3d\x22\xe8\x9e\x8c\x0e\x1d\xe9\x02\x05\x8e\x9c\xd0\xf8\xce\x80\x6e\xac\x4f\x89\x3e\xe0\x42\x99\x00\xfb\x54\x87\xb8\xfd\x36\xdb\xdc\xb3\x4f\x2d\x54\xfc\x6c\xc7\x4a\x92\x39\x51\xb8\x63\xda\x70\xf1\xb6\x92\xbf\x04\x38\x48\x43\x66\xcd\x85\xee\xb8\x80\xb2\x79\xf8\xfc\xa9\xd3\x24\x2c\x55\x83\x30\xf1\xca\x57\xc6\xa5\x86\x08\xcd\xbc\x07\x73\xe1\x60\x82\xbc\xa9\x64\xdd\xc4\x03\x47\xda\x8a\x36\xb2\xa9\x32\x8c\x2f\x46\x60\x9e\x09\x2f\xd6\x4b\x41\x34\xee\xe1\xd0\x99\x81\x3e\x12\x46\x48\x9e\x8e\xe5\xb1\x9b\x3d\x3b\x89\x1c\x28\xf3\x0b\x38\xb6\xa2\x8e\xc1\xd3\xe9\xb0\x05\xde\xc9\xc6\x3f\x8b\x98\x13\xbc\x1d\xe4\xaa\xf9\x95\xf1\x77\x9d\xde\xd1\x5c\x7a\x43\x0d\x70\xca\x46\xe7\xca\xfd\x4e\x9a\x54\x38\x04\x44\x6a\xb0\x80\x7d\x64\xf2\x55\xe2\x01\xef\x42\x8a\x47\x4d\xae\x8a\x0a\x75\x02\x1b\x62\xad\x39\x88\xff\xb8\x1c\xd8\x22\x1b\x24\x30\x85\xa0\xad\x04\x6f\xdc\x16\xc6\x7f\x17\xb9\xf8\x18\x20\x09\x59\x53\xa5\xb9\x8a\xcb\xdf\x93\xeb\xcf\x80\xbc\x9c\x99\xaf\x5f\xbf\xfa\xcb\x61\xa9\x25\x1c\x5a\xaf\xdb\x22\xb1\x12\x9b\xfc\x60\xc9\x8e\x0f\x17\x52\x63\xbd\xf9\x3d\xc9\xa0\x8b\x8e\xfc\x2e\x8c\xda\xf0\xf8\x3d\x6c\x49\xec\x90\x16\x45\xea\xc5\xa4\xff\x63\x38\x5a\x6f\x1a\xf2\x07\x18\x97\x66\x2a\x37\x22\x19\xc9\x30\x1f\x54\x5a\x2e\xbb\x8f\x59\x17\xdb\x7f\x29\xca\x13\xfc\x86\x1a\xf3\x8d\x90\xc3\x5c\x03\xac\x91\x84\xc1\x22\xe5\x7b\x05\x7c\xde\x42\x6f\xd7\x6d\xca\x79\xe2\x5e\x64\xdb\xb4\x1c\x84\x14\xa0\x45\x0d\xa4\x90\x5b\x90\x2a\xe9\x8d\x2d\xa4\xba\x79\x28\x01"}, -{{0x1f,0xe7,0x32,0x7e,0xa9,0x07,0xd3,0xff,0x17,0x9b,0x11,0x78,0x11,0xd3,0x01,0x93,0xfc,0xba,0x4c,0x34,0x7b,0x90,0x65,0x7f,0xee,0xd9,0x8d,0xee,0xec,0xda,0x9a,0xc9,},{0xee,0xf3,0x01,0xb1,0x6f,0xd7,0xbf,0x3c,0x7b,0x64,0x0b,0xf5,0xee,0x87,0x00,0xac,0x5a,0x87,0x16,0x9e,0xab,0x5f,0x56,0x01,0x5b,0x3f,0x49,0x9d,0x95,0x5e,0x07,0xeb,},{0x9c,0x7f,0xdb,0x53,0xfd,0x60,0x6b,0xc7,0xc9,0xc2,0x23,0xfe,0x94,0x31,0xe1,0xad,0x00,0x95,0x46,0xd0,0x00,0x98,0x81,0x2a,0x49,0x51,0x97,0xf2,0x54,0x1e,0x87,0xf8,0xd6,0xf5,0xda,0x22,0xec,0xef,0xcb,0xb7,0xda,0x56,0x66,0x2a,0x73,0x09,0xd1,0x0a,0x6c,0x4a,0x4f,0x7f,0x29,0x92,0x78,0xd5,0x1b,0xbd,0x11,0xe0,0xcc,0x1b,0x87,0x09,},"\x19\xa8\x32\xf2\x6f\xbb\x02\x39\xf0\xd9\xd2\x6a\x2e\xbd\xed\x24\x03\xc2\xa4\x06\xdd\x1f\x68\x31\x8d\x67\x7a\xfa\x64\xf3\x50\x43\x31\x6a\x5e\xfd\x72\x97\x83\xc7\xf9\xd1\x8c\x09\x82\x46\x14\x65\x20\x91\x88\x6c\xc9\x54\xbe\x9f\x93\x12\xd4\x58\x6b\xf3\x6f\x30\x35\xac\x70\x34\x38\xb0\xcf\xe3\xde\xc5\x07\x78\x13\xc7\x10\xd1\x44\x75\x61\xab\x61\x57\xbc\x7a\xd5\xea\xb5\xb0\xc0\xaf\xdc\xc9\xdb\x77\xe6\x6f\xa8\x07\x13\x66\x82\x9c\x50\x10\x96\xc3\xd3\xa9\x38\x21\x8a\x6e\x42\x07\x10\x9d\x1e\xb8\x1f\x7d\x88\xbd\x6f\xbb\x2a\xef\xb1\xad\xef\x35\x94\xaa\xe5\x7c\x46\xb7\xb9\x84\xdb\x94\x68\xcd\x96\x2c\x61\x84\xfb\x97\x6f\x0e\x2a\xa8\x41\x52\xde\xb1\xc7\x6a\xea\x75\xae\x48\x84\x42\x94\x3a\x80\xba\x7d\x98\xa2\x8c\xb8\x64\xb5\xe8\x7c\xdb\x28\x4a\xd6\xe8\xd7\xaa\xdc\x6b\x75\xd6\x9d\x3b\xd3\x45\x78\x3b\x3e\xbb\x67\x6f\xf9\x5d\x7b\x41\x91\xe5\x99\x85\x1c\x96\x28\x83\x5c\x7c\x01\x19\x7e\x7c\x8f\x86\xf9\xc8\xfb\x49\xfe\x3e\x28\x45\x8b\xa9\xb0\x23\x62\x19\xbd\x46\xc2\x8d\xf6\x53\x24\x96\x99\x4a\xc9\xba\x73\x3c\x01\x05\xa0\x2a\x26\x9a\x2b\xe8\xb7\xcb\x40\x07\x4b\x88\x16\x02\xef\x92\x47\x05\x2d\xe9\xd6\x37\x08\x91\x88\xbd\x4c\x18\x5c\xca\xe2\x58\xa2\xae\x98\x56\xa2\xcb\xf8\x45\x11\x17\x68\x3c\xe3\x41\xf8\x09\x6e\x1d\x91\xe8\x74\xc5\xcb\x8a\x4e\x09\x39\xeb\x77\x37\x3a\x9a\x0e\xb7\x91\x64\x5b\x8f\x54\x60\x47\x2d\x66\x9d\x80\x14\x68\x1a\x5e\x77\x87\x06\xcb\x55\x66\xbb\xd4\x72\x7d\x17\x16\xb2\x3c\x62\x0d\x22\x8b\x5d\x4d\xc2\xb3\x52\xb4\x23\x93\x1f\x8a\x7e\x8f\xb5\x9e\xda\xd8\xae\x42\x45\x87\x29\x86\x1a\x98\xe0\xc8\x50\xa7\x7e\xd6\x55\xe7\xfc\xfe\x4f\xe3\x6f\x97\x72\xdf\x1a\xc3\xc6\x43\xad\x31\xdb\x56\x30\xd5\x71\xdf\x9f\xcc\x9c\x50\xde\x76\x22\x10\x84\x11\x96\x2b\xbf\x72\xde\xfb\xf4\x9e\x99\x70\x59\xc7\x31\x1b\xd9\xdd\xd5\xb3\x38\xa9\x85\x19\x38\xd3\x7e\x7a\x26\x21\x08\xa2\x91\xe2\x01\x68\x03\xbb\xef\xf4\xf9\xc7\x76\x12\x5c\xeb\x7e\x72\x72\xb5\x1c\x7c\x33\x46\x1d\x80\x89\xf8\x40\x8d\x8d\xda\x92\x50\x6d\x50\x02\x08\x4d\x4f\x41\x4d\x8a\x4d\x28\xd3\x69\x4c\x88\x63\x0e\x31\x80\x19\x90\xd9\x52\x71\xce\xf4\x7a\xa5\xc2\x63\xf9\x7b\x7d\xac\xa1\x78\x87\x01\x43\x63\x29\xb5\xbf\xaf\x72\x65\x3c\x16\x6d\xb0\x87\x70\x81\x30\xc5\xc0\xd7\x8c\xc4\xe9\x06\x4f\x86\x06\x80\x27\x1a\xfe\x4c\x40\x98\x53\xc2\xfa\xd6\x75"}, -{{0x5f,0x9d,0xcd,0x93,0xfb,0x14,0x06,0x10,0xb0,0xe2,0x11,0xb3,0x9a,0xdd,0xb1,0xeb,0x87,0xba,0x97,0x80,0x48,0x77,0xaf,0xbc,0xc3,0x81,0x38,0x8c,0xad,0x65,0x08,0x45,},{0x18,0x2a,0x23,0x7d,0x87,0x8c,0x58,0x19,0x33,0x33,0x2b,0x41,0x78,0xb6,0x7e,0xc4,0x08,0xb3,0x19,0x4d,0x44,0xe4,0xe6,0x93,0x92,0xef,0x80,0x0b,0x26,0x7c,0x29,0x49,},{0xc1,0x91,0x5e,0x05,0x2b,0x66,0x47,0x97,0xe0,0xd5,0xfa,0xad,0xc7,0x8f,0x2a,0x00,0x9d,0x6f,0xbc,0xfd,0xe0,0x3f,0x3a,0xaa,0xd5,0x9b,0x9f,0x45,0x88,0xe7,0xfc,0x3b,0x21,0x99,0x0c,0x52,0x08,0xd3,0xd7,0x6b,0x4a,0xa9,0x5b,0xd9,0x34,0xe8,0x8d,0x3c,0x98,0xc5,0x91,0x93,0x0a,0x59,0xde,0x2a,0x05,0x67,0x01,0xd9,0xf7,0x57,0x74,0x00,},"\xc3\x8b\x87\x4d\x3f\xf0\x10\xff\xf1\xa6\x61\x3b\xfa\x13\x42\x57\xb2\x48\x33\xcb\x53\x6d\xe3\xe7\x49\x92\xc3\xcb\x01\xfe\x3b\xbd\xee\xd9\x7d\xc3\xc4\x59\x6f\xa4\x40\x61\x44\x2b\xd3\x1a\x9d\x4a\xa8\xc8\x1e\x34\xad\x98\x88\x71\x82\x06\x63\x55\x09\xb1\x33\xb1\xba\x69\xcb\x1a\xa0\xe7\x5c\x7a\x18\x93\xc0\x80\x16\x1d\x26\x15\x2a\xce\xf4\x0f\x6e\xf4\x21\x0e\x95\x2a\x49\x82\x8b\x5c\xdd\xe8\x04\xbc\xb5\x36\xcd\xc3\x49\xa8\xe8\x31\xb4\xb6\x9d\x37\x85\xa7\x6b\xd9\xfb\x27\x08\x05\x65\x97\x2d\x0b\x8f\xbd\x16\xf3\xf9\x60\xa6\xbf\x3b\xa0\xc5\xb9\xc4\x04\x96\x7e\xc1\xaf\xfe\x59\xb8\xc4\xec\xc6\x50\xfd\xde\x1c\xb0\x6b\x70\x59\x5a\xd4\xd3\x25\xda\x0f\xab\x4c\x55\x40\xa7\xa8\xd5\xeb\xea\xcc\x4e\x99\xbd\x0d\xc9\x6b\xde\x82\xf2\xbd\x7d\x95\x86\x30\x84\x65\xe5\x5b\x1c\xc3\x88\xd7\x50\x48\x6b\xdd\x5c\x72\x64\xd5\x4f\x56\x14\xd4\x87\x26\xd9\x9e\x44\xd7\x77\x8d\x9e\xd0\x32\x39\x58\xab\x98\x58\xe2\xb2\x5d\xf2\xbf\x99\x4b\xa3\xe6\x25\xe2\x80\x3b\x6c\x69\x31\xe7\xa9\x92\x6f\x1e\x61\xed\x86\x24\x03\xce\x39\x2a\xb8\x3b\x7d\x1b\x66\x08\x5d\xcc\x06\xd8\x2d\xbf\x17\x6d\x01\x6d\x9f\x44\xcd\xcb\x50\x72\xd0\x04\x59\x1e\x92\xd0\x45\x9e\xf0\x5a\x51\xb8\xf5\x4b\xa1\x72\x51\xe1\x66\x21\xeb\xb7\x53\xe5\xb1\x59\x0c\x02\xd2\x1e\x40\xf4\xb7\x5e\xee\x46\x02\x86\x0b\x97\x41\xfb\xbc\x0d\x2e\x38\x5b\x8d\xac\xa8\x3c\xce\x68\xc3\x4a\x99\xbd\xe6\xa6\x0d\x13\xba\x64\x34\x7d\x0a\x38\xd6\x4b\x2a\xde\x25\x0f\x38\x85\x2c\x4e\xda\x2e\x2e\x4f\x30\x3c\x3d\xe1\xa8\xa9\xd4\xab\x33\x00\xc9\xe6\x36\x22\x87\x9f\xc8\x53\x7f\xfc\x63\xb1\x85\x61\xfa\x1f\xff\x65\x53\x12\x41\x51\x5a\x62\xbb\x9b\x08\xb8\x0a\xf3\x76\x67\xa6\x01\xae\x04\x17\x17\x93\xcc\x83\xb1\x1a\xdf\x9c\x30\xca\x9f\x4d\xab\xc7\xb4\x01\xe1\x6a\x18\x14\xcf\xc7\x50\x24\x8c\xc2\xf7\x7e\x03\xf9\xc4\x33\x44\x65\xff\x6a\x2c\x83\xcb\xb5\x6d\xb4\xb7\x34\x75\x10\x43\x83\x2c\x40\x00\x97\x2e\xe3\x23\x2f\x92\x9f\x23\x33\x7e\xba\x5e\x65\x1e\x34\xcb\xdd\xfe\x68\xba\x21\x9b\x63\x2e\x7a\xcd\xbd\x46\x30\xa0\x31\xbf\x16\x89\xfb\xbc\x7f\xbb\xb2\x10\xdb\xf2\x5e\xe8\x7e\x2e\xf2\xb3\xcb\xaf\x8d\x9e\xbd\x8f\xc9\x2c\x3a\x58\xd3\xc0\x5b\x13\x85\xa7\x6c\x87\x79\x1d\x7c\xd3\x74\x1b\x71\xb6\xc3\x29\xde\x9a\x9d\x75\x08\xa0\xc1\x56\xa9\x52\x1a\x90\x20\x56\x30\x99\xa8\x2b\x87\x70\xae\x9a\x94\x4a\x7e\x94"}, -{{0x92,0x5e,0xbe,0x04,0xc6,0xea,0xc4,0x9b,0x26,0x73,0x8d,0x6c,0x13,0x00,0xf3,0x1f,0xd4,0x82,0x84,0x78,0xcb,0xe9,0x7d,0xab,0x18,0xbb,0x88,0x96,0x42,0xe1,0xe1,0x10,},{0xcd,0x72,0x31,0xb6,0xeb,0x74,0xe1,0xfe,0x9f,0x92,0x6f,0x00,0xd8,0xde,0x2c,0x51,0x3d,0x49,0x64,0x05,0x25,0xb0,0x79,0x5c,0xab,0x89,0x3d,0x0c,0x89,0x29,0xe3,0xe0,},{0x2c,0x4d,0x69,0xbe,0xd5,0xad,0x8b,0x95,0x84,0xd8,0x49,0xcf,0x3d,0xf2,0xba,0xc7,0x22,0x82,0xb5,0xf3,0x0d,0xe2,0x66,0xb1,0x4f,0x53,0x3c,0xa9,0x6e,0x95,0x50,0xc4,0xb8,0x54,0xc1,0x54,0xbd,0xc1,0x7a,0xa8,0x80,0xcf,0x00,0x1a,0x64,0x54,0xff,0xaf,0xaa,0x2e,0x50,0x17,0x8d,0xe2,0x12,0x16,0xed,0x12,0x6b,0x63,0xf7,0x7f,0x2d,0x02,},"\xe6\xc0\xba\xd2\x3a\x92\xae\x8b\x1d\x85\x77\x82\x88\x15\x7a\xc6\xc6\x17\xc6\x33\x63\x34\x1d\x77\x78\x70\x34\x1b\xb1\x0a\x8d\x3d\xfc\x89\xbe\x4f\x55\xad\x4f\x64\xe8\x3b\xf2\x49\x9b\x69\xfd\xf7\x21\x74\xd2\x84\x4e\x6b\xd2\x89\xda\xaa\x03\x5f\xec\x5b\xf7\xcf\x45\x52\x21\x19\xdc\x7a\x8c\x81\x1d\x79\x57\x8c\x5b\xb0\xf6\xd3\x4d\xb5\x07\xad\x1f\xb6\xdb\xff\xf9\x97\xb7\x9d\xac\xfb\x3d\xa5\x0a\x41\x5e\x35\x0c\x99\x8c\x0a\x02\x80\x0a\xa5\x0f\xfd\xfe\x5f\x42\x76\xd8\xe6\xbb\x82\xeb\xf0\x47\xfe\x48\x71\x1d\xaf\x7a\x89\x3b\xdc\x75\x37\xbd\xae\xdf\x3d\xcb\x4d\xec\x5d\x24\x58\x68\x11\xf5\x9b\x25\xb1\x9e\x83\xca\x61\xe5\x59\x2f\xed\xc0\x8c\xa5\x44\x73\xce\xa2\xec\x12\x1b\xaa\x0e\x77\xfb\x2d\x9d\x76\x56\x57\xde\x67\x98\x0e\xd5\x7f\x2f\x17\x78\x58\xb6\xde\xcf\x84\xff\x90\x21\x2d\x96\x47\xf4\x1e\xed\x9b\x9d\x0e\xa3\xd8\xd6\x21\xe4\xbb\x40\x41\xac\xc5\x14\x6e\x96\xdf\xcf\x14\xea\x96\x2d\x30\xc8\xcc\xb3\x9e\xa2\xbe\x95\x8c\x9b\x87\x74\x45\x1b\xfe\xb7\xdd\xce\x71\x6e\x94\x92\x3c\xc8\x5f\xbd\x3a\x31\x30\x78\x0e\x2b\x3b\x2b\xb7\x6d\xa5\x34\x19\x12\xa4\xe9\x94\xca\xfa\x19\xbb\xa1\x97\x32\xf2\xea\x40\x2d\x71\xd3\xd8\xa9\x69\x67\x9b\x9d\x10\x42\x43\xd9\x83\x9c\x69\xee\x9e\x95\x5e\x1c\x60\x44\x97\x88\xd1\xf4\xf6\x65\x1f\x4b\xc9\xb9\x4d\x73\x52\x2e\xc0\xcf\x72\xca\xcf\xcf\x19\xf1\xf0\x3a\xd6\x23\x21\x04\xb5\x5c\xbb\x8b\x5b\xb1\xe2\x13\x44\x71\x3d\x48\x27\x42\xd6\xab\xc5\xa9\x57\x17\x4f\x62\x3b\x84\x95\x27\x2c\xc1\xe2\xb8\x31\x5e\x5c\x80\xf9\x47\xf5\x00\xc8\x3d\x85\x44\xf7\xcd\x4f\x65\x34\x89\x49\xef\x44\x20\xd7\xfc\x83\x1f\xa4\xae\x2e\xe1\x8d\xbb\xa6\x14\x92\x5c\xe1\xd7\x67\xc1\x77\xa6\x26\xc4\x52\x7a\x81\x54\xb5\x72\x92\x18\x6b\x04\x4c\xbf\x92\x89\x42\x53\xb0\x0f\xd9\x34\x3f\x9e\x69\x7b\x14\x12\xeb\xa4\x35\x97\xeb\x72\xa6\x69\xaa\xa2\xd7\x7e\xac\xb9\x68\xc2\x0f\xe1\x95\x05\xa3\x80\x74\x15\x86\x21\xb6\x06\xf7\x7d\x97\xbc\x6e\xbe\x50\xe7\x58\x92\x93\xdb\x27\xfc\x7d\xfe\x63\x1a\x4b\xee\x83\xb2\x26\x82\xa7\x73\x28\xc3\x6d\x9d\x7d\x1d\x89\x1d\x65\x21\x7c\xc4\x78\x64\xf6\x80\xdc\x8b\x5f\xd1\xa0\x1a\x0f\x7c\x34\x43\x0f\x77\x06\x0b\x69\x1a\x1a\xd2\x13\xd2\x28\x68\xe6\x1b\xbd\x38\xf4\x3f\x0c\x8b\x4d\xa6\x8a\x58\x31\x86\x66\xc0\x99\x76\x61\x70\xc2\xdb\x76\x6a\xaf\x41\x7f\x55\x6c\xc9\xa0\xa3\x93\x4e\x9f\xce\xf1"}, -{{0x4d,0xd3,0xb4,0x78,0xeb,0xdc,0x59,0x47,0x2b,0xab,0x14,0xa8,0xcd,0xd0,0xc2,0xfd,0xac,0x57,0x23,0xee,0x04,0xdd,0x89,0x17,0xc7,0xcf,0xe7,0xa5,0x36,0x48,0x5c,0x77,},{0x5b,0xcc,0xb3,0x7e,0x68,0xc2,0x34,0xbe,0xad,0x49,0x33,0x7d,0xe2,0x08,0xaf,0xba,0xf6,0x11,0x81,0x1d,0x96,0x58,0x59,0xa0,0x6d,0x31,0x30,0x12,0x47,0xd6,0x6a,0xcf,},{0x57,0x88,0xe7,0x9e,0x84,0x3b,0xde,0x9e,0xf1,0x1a,0x9d,0xfa,0xc9,0x70,0x19,0x6a,0x56,0x7c,0x63,0x08,0xc3,0x48,0xe5,0x17,0x4b,0x38,0x77,0x95,0x04,0x6d,0x59,0x0a,0x47,0x49,0x1f,0xd7,0x1d,0x97,0xae,0xaa,0x78,0xc1,0x61,0x59,0x71,0xb8,0x34,0x90,0xe8,0x59,0x28,0x20,0xf9,0x59,0x2a,0xc7,0x62,0x69,0xb9,0xd2,0xba,0x70,0x29,0x01,},"\x1c\xdb\xd2\x85\x56\xec\x44\xe8\x70\x5a\xfd\xa9\x2b\xd5\xa5\x3f\x95\xd8\xfe\x8b\x0f\xfe\x46\x33\x73\x63\x33\x16\xc5\x22\x74\xc1\x1e\xdc\xd6\x15\x51\xe3\x19\x9e\x49\x4d\xff\x6d\x90\x6a\x73\x9e\x7b\x32\x43\x03\xfc\x47\x82\x7e\x56\xde\xf0\xbd\xcc\x46\xb8\x16\x01\x7c\x71\x23\x05\x37\x02\x63\xba\xbd\x2c\x71\xbe\x47\x8f\x41\xce\x30\xb1\xdf\x63\xbe\xdd\x3b\x2e\x6a\x51\x9c\x53\xdf\x51\x58\x52\xc4\x13\x7b\xc1\xac\xa4\x9b\xf4\xc4\x63\x1f\xd6\x56\x46\x57\xd1\x1c\xd8\x3e\xa7\x3c\xc3\xd0\xcf\x9e\x3b\x3c\x3e\x7c\xa9\x9b\x4f\x12\xa9\xc9\xb6\x7c\x87\x98\x14\x8e\x0a\x0d\xc1\xef\x8b\xf5\x86\x42\xa1\x4f\x97\xa5\x72\x13\x55\x14\xc1\x0b\x19\xaa\xbe\xc2\x5a\x9c\x6b\x35\xaa\x40\x34\xa5\x7a\xae\x1b\x6d\x05\xbd\xe2\xb6\x33\x0f\x25\x1d\x78\xdb\x09\x93\xf0\xca\x4c\x26\x38\x6e\x34\x89\xa2\x09\x28\x33\xb8\xac\xbb\xc4\xf4\x91\x7f\xd3\x09\x3d\xf5\x82\xff\xf7\x1e\xce\x21\x9d\x36\x72\x45\x55\x82\x60\x9c\x0d\xb8\xd9\x6a\x70\xfc\x8a\xed\x67\x98\xde\x54\xbf\xb2\xb3\xee\x6c\x5d\x32\x8d\xb1\x63\x59\x3f\x58\x01\x9f\x38\xf3\x39\xfd\x37\x53\xf8\x96\xa4\xa2\xcc\xa8\xc1\x40\x0a\x77\xea\x39\x19\x35\xf3\x4e\x26\x39\xc5\x60\x86\x08\x10\xbb\xbe\x4b\xe1\xd1\x6e\x01\x2c\x11\x49\x0a\xa8\x4f\x29\x64\xc8\x77\xc2\x93\xb3\x00\xf4\x3d\x37\x9f\x3e\xba\x9a\xf3\x91\xde\xe5\x10\x85\x6a\x4d\xdc\xf7\x6e\x0a\x0a\xe0\x6a\x6a\x7c\x0f\x9c\x5e\x3f\xa1\xb8\x35\x4f\xe8\x97\x7b\x4e\xa3\xb2\x06\x61\x49\x1f\xa4\x61\x3b\xa6\x2f\x55\x6d\x5d\x5d\xa8\x21\x3d\x01\x21\xde\x2c\x87\x25\xdf\x0a\xae\x04\x8a\xc8\x91\xab\xbc\x06\xbd\xce\xf3\xc3\xef\xfd\xf5\xa3\x17\x49\x47\x6f\x81\x4d\xb9\x45\x79\x45\xf0\xd9\x1e\x14\x08\x00\x56\xbe\x92\x1a\x16\xaa\x96\x4a\x92\x98\x22\x1b\x15\x75\x94\x97\x3e\x32\x96\x99\x93\x31\x0c\x87\x07\xe1\x9f\x31\x43\xab\xc4\xfd\xa7\xc8\xad\x01\x60\xac\xf0\x31\xab\xa6\x52\x80\x1a\xa8\x1a\x01\x6b\x31\x37\x03\x9e\x27\xd6\x73\x8d\x02\x80\x0a\x93\xa8\x6f\x9f\x55\x85\xc5\x18\xdf\xa9\xe7\xd8\xac\x72\x7f\x37\x43\x7e\x56\xd2\x78\x83\x86\xe1\x16\x53\xa0\x4e\x16\x51\x69\xf9\x03\x97\x2a\x01\x48\x47\x51\xe7\xcb\x38\x63\x25\x90\xec\x80\xd5\xfc\xe4\x54\x16\x01\xa0\xe0\x95\x78\x5a\x9e\xe8\xd3\x59\xed\xf2\x6b\x99\x46\xe7\x98\xda\x59\x98\xcb\xb7\x36\xf9\x4e\xb7\x13\x46\x3f\x79\xf5\x61\x75\x9b\xbc\xb4\xc4\xac\x69\x3c\xab\xf2\xe1\xe0\x36\xb2\xd0\xb0\x87\x9a"}, -{{0x07,0x4d,0x92,0x18,0xc1,0x21,0x7e,0x75,0x82,0x3c,0x90,0xe0,0x10,0x48,0x4c,0x2a,0xdb,0x88,0xec,0xcc,0xd2,0xbd,0xf0,0x12,0x0a,0xa3,0xed,0xff,0xcf,0xcb,0xd4,0xbf,},{0x37,0x35,0xad,0x19,0x19,0x03,0x3d,0x16,0x17,0xb8,0x5b,0xda,0x04,0xb1,0x61,0x21,0xda,0x1d,0x86,0x1b,0x40,0x41,0x54,0xfa,0x96,0x1d,0x49,0x46,0xe5,0x5e,0xcd,0x83,},{0xb1,0xf7,0x1c,0x3b,0xd1,0xb6,0xbe,0xc4,0x33,0x37,0xe2,0x6d,0xee,0x65,0x5a,0x8d,0x5f,0x4a,0x8d,0xad,0x84,0xa5,0x11,0x84,0xb7,0x75,0xb6,0x86,0xfa,0xd3,0x1d,0x80,0x29,0xe3,0x87,0x69,0x27,0xf9,0x57,0x6e,0x90,0xc3,0x62,0x48,0x75,0xfc,0x00,0x29,0xa5,0xc1,0x0a,0x8a,0x0a,0xf7,0x5d,0x7a,0x88,0x0c,0x68,0x44,0xa4,0xa8,0x3a,0x00,},"\x6b\x5a\xa4\x0e\x91\x67\xbf\xdb\x84\x7d\xaa\x7d\x27\x86\xe2\x8e\x75\x33\xe1\xd6\xac\x53\xbe\xb6\xf6\x9b\x59\x53\x79\x5a\x2b\xf5\x9b\xbf\x7d\x14\x19\x26\x96\x8f\x50\x96\x9b\xad\x74\x2a\x4f\xb5\x79\xd3\x25\x0f\xb1\xbe\x4c\x57\xeb\xf4\xf9\x11\x2c\x70\xcd\x9f\x72\xa0\x0d\xb1\xc8\x89\x6f\xe2\xb5\xbd\xa7\xc7\x03\x0f\x49\x7c\x0b\x00\x1e\xa2\x5b\xa0\xd4\x47\xf0\x8c\x36\xdb\x8b\x90\x7c\x2f\x2a\xbb\xbb\x62\x0d\x3e\x8a\x2c\x66\xe4\x17\x12\x85\xad\xca\xad\xd1\xc1\x4f\xe2\x39\xbc\x59\x5f\x09\x83\x96\xaa\x87\x80\xff\xb8\x0f\xe1\x44\x6a\x07\x00\x1e\xc2\x34\xd8\x2a\xbd\xcd\x81\x00\x79\x39\x15\xb0\xb3\xf8\x0d\x84\xe2\x0e\x51\xea\xbc\x79\x78\x06\xf3\xbe\x81\x08\xa4\xf4\x37\x55\x0b\x06\x69\x40\x50\xa8\x29\x31\xac\x40\xc0\xa4\x89\x77\xed\xf6\xce\xd2\x42\x8d\x7c\xfe\xa8\x20\x55\x06\xde\x86\x40\x80\x65\xd1\xa1\x98\x70\xfa\x33\xa7\x08\x10\x37\xb3\xee\x44\x91\xb6\xe7\xf3\xd1\x0b\x14\xa3\x0c\x20\x91\x59\xa1\xc8\x12\x31\xa3\x5f\x03\x65\xb4\x7d\x3e\x0d\xa0\x4a\x32\xc9\x5d\x98\x33\x3c\x44\xf5\x72\xcd\xaa\xa9\x05\xd0\x69\x19\x7f\x6e\x86\x1b\x5d\xfc\xdf\xb9\xdb\x6c\x7b\x0d\x0c\xb0\x0f\x37\xc9\x16\xa1\xc4\xc0\xb8\x98\x5b\x09\xf3\x34\x09\x5e\x12\x83\xed\xfd\xd4\xe6\x2a\x29\x41\x09\x9a\x2b\x69\x36\x96\x60\x4d\x99\x43\x11\xe3\xd5\xf6\x10\x66\x83\xe1\xd7\xa1\xc7\xe5\x3d\xf7\xb7\x90\x94\x7a\x9a\x80\x1a\x0c\xcd\x48\x43\x95\xf6\xcb\xfd\x9c\xa4\xd9\x80\x4f\x18\xd5\x2b\xb0\xf9\x46\xd1\xa8\x9f\x97\xa6\xfb\x06\x80\xa8\xc4\xc0\x57\xb6\x06\x2b\x2b\x9d\xe7\xc0\x37\x48\x79\xb8\xa6\xa6\xd2\xc1\x0a\xef\x78\x05\x08\xeb\x28\xbb\x56\x9a\x08\x35\x09\x44\xc8\x2f\x6e\xf2\x8d\xb2\x30\x4d\xb6\x97\xc3\xae\x1a\xf4\x3a\x50\x0b\x0b\x97\x48\x03\xe9\xf4\x6e\xa2\xa0\x2e\x85\xed\x27\xdd\xa6\x16\xd2\x4d\x6d\xb3\xcc\x4f\x5a\xed\x82\x40\xb1\xae\xa3\xdc\xf6\x9d\xee\x5f\x14\xf9\x5e\x6e\x72\x98\x7b\xbe\x61\x89\xbc\x20\x45\xf0\xd7\x83\xa7\xb4\x7b\xfc\x19\x83\x0b\xc7\xf4\xe7\x98\xab\xe9\x02\x45\xfb\xd4\x3f\x37\xc3\xf0\x36\xd1\xcb\xf1\xe7\x3d\xcb\x1d\x9d\xaa\x87\x37\x9b\x11\x06\x97\x34\x81\xa2\x15\xc1\xf4\xf4\x6c\x16\x03\xa5\xd5\xcd\x97\xb7\x07\x6f\x1f\x5d\xc7\x89\xaa\x6a\x71\xe7\x2e\xf5\x4e\xd3\x28\xa4\xab\x64\x34\x05\x39\xff\xd1\x64\xd0\xec\x64\x5f\x32\x2d\x1b\xc3\x71\x12\xdc\x08\xd8\xc8\x07\x9d\x19\xd3\x7a\xbb\x23\x53\xf4\x8b\x5c\x49\x2f\x80\x6e\xd2"}, -{{0xd2,0xea,0x2d,0xff,0x7a,0xf0,0xba,0x2a,0x6b,0xed,0x7f,0x6c,0xc6,0x8c,0x0d,0xf6,0x64,0xa6,0xb1,0x0c,0xe8,0x01,0xc4,0x2e,0xd5,0xbb,0xe6,0x17,0xbc,0xc8,0xb8,0x4a,},{0xab,0x44,0x70,0x63,0x44,0x02,0x6e,0xd3,0x5e,0x21,0x98,0x29,0x64,0xf7,0xb4,0xdb,0xbb,0xe2,0x07,0xfd,0x27,0xc4,0x67,0x99,0x70,0x1c,0x19,0xa4,0xd8,0x8d,0x1d,0x72,},{0x9a,0xbd,0xb9,0xdd,0x2a,0xb7,0x7b,0x6f,0x5e,0x1b,0x91,0xba,0x0b,0x61,0x3f,0x5f,0x36,0x0e,0xfb,0x50,0x0d,0x3f,0xe9,0x92,0x90,0xef,0x7c,0xa1,0x4b,0xd2,0xb3,0x30,0xf4,0x05,0xa4,0xf7,0xdc,0xda,0xef,0x49,0x23,0xd3,0x11,0x1d,0x40,0xbf,0x03,0x20,0x35,0x33,0x86,0xf6,0x34,0xb4,0x0d,0xe6,0xf0,0x4d,0xe9,0x19,0x0a,0xd5,0x1c,0x08,},"\x03\xab\x5d\xae\xbc\x6e\x70\xd3\x52\x97\x79\x32\xa0\x31\x07\x87\x9b\xd5\x5d\xaf\xd0\xc6\xba\x7a\xd9\x69\x7a\x17\xb1\x27\xb3\xa7\x4a\x3e\xae\xba\xbd\x0f\x8e\xee\xbf\xc0\x48\x3d\x63\xfe\xdd\xe5\x2d\xeb\x46\xa3\x75\x24\x49\xc9\xc4\x49\x5c\x51\xa1\xc9\x1f\x57\xe3\xad\x2e\x6d\x01\xa1\x3d\x0c\x47\x0c\x52\x91\xb8\xe9\x12\x28\x83\x40\x97\x0f\xbb\x85\x78\x7b\x8b\x37\x6d\x72\x17\x52\x50\xe8\xcd\x90\xc0\x78\x88\xbf\xef\x5e\xbf\x50\x86\xc8\xff\x2a\xbc\xdd\x12\xd2\x14\xb9\xc4\x5d\x12\x08\x73\xb4\x60\x2e\x57\xa6\xaa\xb0\xb8\x28\xd1\x08\x4d\xff\xaa\x36\x51\xee\x35\x66\x26\x95\xb7\xf3\x43\x3f\x4a\xb5\x30\xc2\x9a\xc6\xcc\x5b\xb4\x3e\xcc\xd1\xb6\x89\x8b\x9e\xf7\xae\xc6\xd5\xae\xc6\x8d\x5c\x11\x14\xbb\x5d\xf7\x82\x09\x66\x59\x4c\x99\x4d\x64\x08\x91\xb8\xf2\xdc\x5d\x25\x63\x8d\xe4\x35\x49\xd8\x6d\x34\x30\x6f\xf3\xf5\x74\x57\x51\x16\x40\x5b\x9e\x8e\x28\x6e\xe0\xcd\x97\x8a\x76\x00\x2c\x44\x35\xfe\xaa\xc6\xe8\x4e\xae\x16\x54\xf3\x39\xa5\x67\xd8\xd0\x4f\xcf\xa3\xeb\x6a\x04\xb9\xad\xc6\x66\x02\x13\x00\xe9\xee\x59\x72\xb3\xdf\x5d\x4d\x0d\xd4\xbf\x79\x21\xdc\x98\xde\x82\xce\xf2\xd1\xb1\xd6\x1b\x79\x7f\xc9\x96\x8e\x11\x84\x84\xc4\x13\x42\x41\x6d\xdc\x6a\xdc\x4e\xe5\xd6\x87\xd9\x4a\x40\xce\x57\x2f\x42\xa2\x04\x86\x68\xc1\x75\xcf\x7b\x1f\x24\xc4\xef\xd0\x20\x55\x4f\xc6\xf6\x42\xe1\x4a\x57\xba\xec\x23\xe9\x5c\x25\x14\x30\x6d\x0a\x6d\x33\x64\x88\x41\x49\x7e\xac\x48\xea\xbd\x96\xd0\x47\x31\xba\xb0\x8b\xf5\xea\x9d\x43\xe0\xcf\x9a\x37\xfa\xaf\xa7\x32\x86\x9d\x68\xe7\xd5\xfe\x69\x54\xf8\xa3\x19\xef\x55\xda\x1e\x17\x8e\x43\xe8\x4a\x3b\x9a\xa3\xad\x00\xc2\x9b\x1d\x16\x11\x63\xdf\x4b\x79\xf2\x88\xe9\x39\x1d\x70\xa2\xf8\x81\x3d\x66\x62\x2e\x8a\xc3\x33\xfa\x6a\xa5\x31\x1e\xab\xec\x38\x3b\xa4\xcc\x12\x28\x15\xde\x00\x88\x77\xef\xbe\x6e\x12\xc3\x22\xc9\x75\x43\x4a\xfa\xd1\x73\xeb\xe2\x42\x03\xd9\x16\xd5\x75\x78\xbd\x2b\xca\xcc\x78\xf6\xe2\x56\x45\x13\xf8\xd1\x13\xa8\x33\xc2\xc2\x26\xeb\x97\xba\x2e\x23\x36\x1a\x5d\x02\x66\x4a\xb3\x77\xf9\x64\xc4\x30\x0b\xe2\xd7\x7b\x62\xd9\x24\x08\x23\xa0\x98\x84\xdf\x30\x7e\xff\x3b\xe5\x66\x4d\x72\xd1\x1a\xd5\x13\xe1\xbc\x56\x10\xdb\xfd\x10\x09\xdb\x39\xf0\xcb\xfe\x47\x05\x55\xec\x1b\x56\xb8\x71\x67\x07\x93\xd3\xb7\x04\xfb\x06\xee\x95\x0b\x1a\xd2\xa4\xd7\x29\x7c\xa5\x8b\xba\xd8\x10\xc3\xfa\xd4"}, -{{0x7a,0x60,0xcd,0xf1,0x87,0x04,0x60,0xde,0x8a,0xe7,0x78,0x11,0x76,0xd5,0x12,0x7e,0x71,0x20,0x7f,0xaf,0x2f,0x21,0x0b,0xd4,0xdc,0x54,0x73,0x85,0xb6,0x67,0xf2,0xf2,},{0xea,0xd6,0x7a,0x9c,0xf3,0x4d,0x0f,0xf1,0x4e,0x79,0xaf,0xa4,0x6f,0x2d,0xc9,0x96,0xe9,0xac,0x0e,0x3e,0x07,0x63,0x22,0xfb,0xb4,0x00,0x97,0x67,0xb1,0x33,0xf0,0x1b,},{0xb2,0xe0,0x81,0x42,0xbd,0xd6,0x2b,0x78,0x65,0x92,0xc0,0x91,0xf5,0xfe,0x6a,0x9b,0x7f,0x30,0xce,0x13,0x4c,0x3b,0x23,0x6f,0xbc,0x6d,0xfe,0x67,0x34,0xf8,0x82,0x70,0xac,0x58,0xf6,0xd7,0x4b,0x4f,0xd9,0x9c,0x22,0x45,0x1c,0xa4,0x65,0xa4,0x2c,0x00,0x6d,0xb2,0x5a,0xf2,0x15,0xed,0x24,0x1a,0xf1,0x18,0x96,0x27,0xc6,0x05,0x0f,0x00,},"\x9d\xc0\x23\xa5\x25\xd0\x1b\xa3\x51\x37\x98\xb7\x38\xc7\x91\x62\x92\x6e\xbc\xcc\x0a\xdf\x1e\x57\xac\x47\xc2\x0d\xea\x6c\xe1\x37\x5c\x3d\x2a\xaa\x17\x33\xb7\xf0\xc3\xbd\x94\x5c\x33\x5f\xf3\x57\x61\x12\xbb\xdc\x10\xb6\x78\x3b\xa6\x54\xe8\xc6\x10\x47\xf2\x77\x3a\xa2\x29\xbf\x84\x69\x22\xa8\x9c\x6a\x73\xd5\xf1\x05\x1e\x8d\x96\xed\x36\xd7\xd6\x74\x7e\x06\x3a\x7a\xc6\x02\xf1\x9f\xc5\x2e\x02\x1a\x4b\xbc\x28\xb0\x35\x14\xfb\xd5\x1c\x7b\x3f\xd6\x59\xf1\x2d\x54\x7d\x05\x92\xdd\x09\xf8\x73\xc9\xec\xc6\x43\x9c\x7e\x93\x1a\xd0\xe4\x85\x6b\xe3\x1c\x60\x5d\xef\x2e\xd9\xb5\xd1\x3c\x59\x42\xb2\xf3\x25\x39\x7d\xac\x6c\x97\x60\xe9\xb1\xbb\x0c\x06\xf7\x13\xcb\x92\x0c\x23\x4b\xcc\xfe\xe9\xf0\xb8\x5d\xd0\x20\xf7\x98\x8f\x3b\xe1\xcc\x66\xe9\xe5\x1b\xab\xe2\xfe\xe2\x37\xeb\x84\xec\x7e\xff\x94\x09\xaa\x91\xc1\x94\xe3\x0d\xb1\xe0\x65\x01\x59\x55\xde\x97\x46\xbb\xa0\x3f\x7e\xdf\x9a\x58\x75\x12\x40\x9a\x41\x61\xfa\x77\xea\x62\xcc\xf4\x31\x60\x2d\xcd\xcf\x36\x5e\xd6\xbf\x0a\xed\xdd\x32\xf7\xc8\x44\xe3\xa3\x4d\x26\x6e\x28\x38\x2f\x40\x62\xfd\x4d\x6f\x82\x14\x25\x21\x04\xd6\x43\xa9\xbf\xd8\x07\x17\x16\x37\x1c\xcb\xb5\x4c\x8c\xc8\xdb\x79\xad\xd6\x5b\xcb\xce\xa0\xd0\x80\xd8\x40\x28\x03\xfe\x23\x2d\xf7\x0f\x76\x57\x72\x47\xa6\x3d\x55\x83\xbb\xd5\x64\x27\x67\xbc\x63\xf3\xc5\xa7\xbb\x3a\x47\xeb\x12\x98\x4e\x45\x41\xf4\x1f\xdb\x55\x86\x9a\x08\xfa\xde\x66\xc2\x0f\x69\xa5\xa9\xde\x25\xf6\xb3\x6b\xa1\x8a\xce\x5b\x4a\xc3\x36\xbb\x2a\x8e\xbf\x63\x0a\xd0\x3e\x8b\xb8\x73\x1d\x01\xe8\x4b\x91\xd0\x24\xd1\x17\x45\x9a\x74\x89\x2e\x93\xd5\x3b\x61\xe6\xb8\x06\x8e\x4f\x04\xb4\x18\x1f\x03\x87\xb4\x56\x7c\xcd\x45\xe1\xb8\x71\x8a\x2d\x7d\x78\x78\x72\xf3\xdc\xf8\x7a\x15\x93\x5a\xd7\xda\xaa\x74\x4e\xd6\x8a\x28\x66\x6a\x51\xa1\x0d\x39\xfc\x13\x9c\xdf\xe9\xa6\x87\x30\x76\xf7\xc4\x25\x00\x9c\x38\xfa\xee\x13\x5e\x51\x32\x07\xb0\x6e\x7b\xa3\x56\x85\xf5\x07\x2d\xa3\x4b\x60\x45\xb5\x7c\xd5\xd1\xb1\xa1\xfd\xf0\x17\xb8\xaa\x8e\xbd\x27\x52\x2b\xc9\x5e\x47\x90\x87\x34\xe4\x17\x22\xa7\x67\x90\x5c\x5e\xcc\x30\xc7\x24\x81\xb6\xc1\x2b\xf4\xac\xe9\x4d\x5b\xb3\xa3\x15\x56\x91\xb7\x07\x5b\x40\xeb\xf5\x96\x8f\xdd\x90\x3d\x8f\xd3\xcc\x50\xb8\xd6\x46\x48\x59\xb1\x0f\x75\x51\x32\xc6\xd9\xb6\xda\xd1\xd6\xf1\x4c\x41\x85\xb2\x64\xd3\x49\x7a\x4e\x54\x98\x77\xfe\x94\x6e"}, -{{0x33,0x79,0xd2,0x5c,0x11,0x17,0xcf,0x80,0x2e,0xc7,0x9c,0x06,0x57,0x5d,0x18,0xe6,0xbe,0xce,0x4c,0x70,0x93,0xdd,0x43,0xfd,0xee,0x03,0x68,0x5c,0x70,0xb2,0xfa,0x9f,},{0x85,0x25,0x15,0x6f,0xe2,0x9f,0xc2,0xfb,0xf6,0x61,0xba,0x50,0x18,0x2b,0xe2,0x0c,0x89,0x98,0xd9,0x41,0x49,0x3d,0x59,0x33,0xdc,0xa4,0xd8,0xb4,0x1f,0xb4,0x42,0xd5,},{0x4c,0x36,0xbf,0xc8,0x1e,0xef,0x00,0xb9,0xcb,0x3a,0xb5,0x14,0xc6,0xd4,0x51,0xb9,0x93,0x36,0x1e,0x09,0xa4,0xbe,0x4b,0x50,0x40,0x92,0x6f,0xeb,0x0e,0x0d,0x9b,0x52,0xf0,0x3d,0xe4,0x68,0xe7,0xba,0xd8,0x3f,0x37,0x91,0x54,0xbf,0x2c,0x43,0x7a,0x71,0xf7,0x54,0xf3,0xf4,0x07,0x98,0xee,0xeb,0xd6,0x2e,0x55,0xf2,0xbe,0x77,0x14,0x03,},"\x7a\xcd\xb3\x9f\x12\x26\xbd\x3a\xbf\xfa\x50\x35\x0a\x14\x97\xd7\x61\xf8\xf0\xaa\xef\xbf\xbb\xbb\x92\x5f\xf5\x63\xe3\x89\x76\xaa\x17\x2d\x40\x7b\x61\xff\xdf\xb1\xcd\x53\x8a\x4c\xd0\x00\xb5\x78\x18\xa0\xbc\x92\xc0\xe0\xcd\x0a\x5a\xbf\xcf\x57\x83\x00\xf5\xf4\xe6\xce\xfa\x26\x72\x75\xd1\x78\x45\xda\x70\x66\xfd\x4e\x18\x01\x00\x27\x96\x0c\xd3\x95\xe6\x82\xad\x71\xaf\x34\x9b\xbd\xad\x5e\xba\xa0\xf1\x1a\x77\x61\xe1\x9e\xa1\xbe\xf6\x61\x07\x43\x16\x4b\x17\x14\x14\x53\xb4\x72\xae\x2c\x8f\x36\xce\x6b\x08\x0f\x1c\x07\x45\x35\x24\x54\xce\x5a\xea\xe1\x1c\x9d\x75\xde\x3c\x08\x00\x42\x65\xfc\x4c\xa8\x0d\x33\xb2\x6e\xae\x14\x00\xdf\xd8\x97\x7b\xf7\x23\xa6\x16\xda\xeb\x6d\x42\x19\x90\x10\xb7\x3e\x19\x3a\xb7\x2a\x58\xbd\xd2\x48\xa7\xf4\x11\x1c\xa5\x0c\x1d\xe6\x46\xbf\xea\x7b\x4d\x5b\xaf\x0f\x93\xdd\x97\x3e\xe9\x36\x49\xe2\x1e\xc0\xc6\xc4\xfc\xca\x8c\xd6\xff\x69\xdf\x76\x16\x12\x02\x1d\x85\xff\x1f\xb2\xa9\x53\x37\xda\x48\x05\xa7\x6d\x34\x7e\xe7\x1e\xf1\x9c\x0d\xff\xb5\x9f\x15\xf6\x50\x29\x3a\xbb\x97\x21\x05\x3f\x74\x06\x90\x5a\xe6\x83\xf9\x6c\x83\xa3\xa7\x44\x7b\x1a\xfb\x14\xe1\x20\x8c\x63\x9f\x37\xa9\x75\x0b\xa2\x1d\xa5\x55\x2c\xc2\x04\xea\xc4\x53\xca\x03\x62\x82\xf7\xe0\x96\x10\x93\xc3\x9e\xc1\x18\x13\x8d\xcf\x71\xcf\x2d\x28\xfb\x96\xa2\x49\x62\xb5\x2d\x33\x93\xf8\x80\x65\x3b\xcb\xa2\xc9\xb9\xd5\x7b\x77\xc5\x22\xf4\x21\xfc\xf5\xad\x75\xfb\xa9\xcf\x33\x89\xb1\x23\xaa\x97\x52\x17\x13\xff\xf8\x84\x67\xde\xb8\xc8\x99\x1d\x4b\x57\xc1\x43\x81\x70\x53\x7c\xb5\x0c\xdc\xc6\x57\xe5\x0e\x5c\x48\x0e\x12\xc0\xd4\x49\x39\xb6\x39\x99\x44\xe7\xc7\x1e\x18\x6c\x2a\xbb\x81\xfc\x57\x34\x88\x36\xd5\xe5\x7b\x72\xb2\x24\xa6\xb7\x1b\x6c\xaf\x72\x1a\xca\x73\x47\x8c\xb6\xcf\x5f\xb8\x90\x71\xae\x3a\x39\x82\x02\xdb\xb3\x8c\x30\x81\x25\x63\xbb\x9a\x23\x40\x66\x57\xa9\x56\xd3\x05\xa3\x44\x9a\x60\xcc\x86\x41\xb6\x21\x75\xa7\x17\x0c\x23\xbd\x5a\x25\xf0\xf1\x2e\x15\xa7\xed\x91\xfa\xda\x6a\x4a\x2f\x0e\x7b\x15\x5a\x3d\x64\x85\xec\x03\xce\x6e\x34\xdf\x7e\x21\x62\x40\xbb\x28\xa2\xdd\x73\x2f\xf7\x90\xd2\x28\x6e\x20\x0b\x33\xc2\x9a\x31\xa5\xe1\x9a\xd2\xcd\x02\x97\x4b\xad\xc4\xbc\x22\xde\xb7\x50\x4c\x15\x24\x1f\xc1\x06\x0c\x8a\xce\xf4\xfb\xb2\x5e\xc7\x60\x2f\xce\x36\xa2\x7b\xb8\x7b\x6e\x64\x23\xe6\xb4\xf6\xe3\x6f\xc7\x6d\x12\x5d\xe6\xbe\x7a\xef\x5a"}, -{{0xef,0x38,0xc3,0xfc,0x74,0xf0,0x54,0xae,0x43,0xe8,0xd2,0x9d,0x6b,0xa6,0xdc,0x80,0xb5,0xaf,0x84,0x82,0x70,0xd4,0xaf,0x58,0x84,0x4d,0x24,0xbc,0xf9,0x87,0x41,0x4e,},{0x0a,0xe1,0x47,0x8b,0x05,0xfb,0x32,0x99,0x65,0xea,0x0f,0xa9,0x28,0xdc,0xbe,0x81,0xa0,0xbd,0xbb,0x6f,0xf6,0x6c,0x81,0x16,0x71,0x63,0x5e,0x43,0x88,0x88,0x80,0x51,},{0x1d,0x3a,0xc6,0xb6,0xbf,0x18,0xab,0x53,0x09,0x14,0x87,0x99,0x48,0x5b,0x27,0x6d,0x20,0x40,0x1c,0x6a,0xf5,0xf9,0xb2,0xf6,0x03,0x23,0x95,0xa3,0xc2,0xf4,0xb6,0x73,0xb7,0x14,0x0c,0x07,0xcc,0x26,0xf4,0xfc,0x56,0xa5,0xee,0x00,0xb0,0x74,0x6b,0x2a,0x80,0xda,0x6f,0xda,0xd1,0x7e,0xdd,0x11,0x49,0x20,0x10,0x1d,0x2c,0x89,0xc3,0x0e,},"\xbf\x29\x0d\xb3\xdd\xa8\x76\x39\x37\xae\x4c\x83\x74\x67\x05\x32\x72\x95\xc2\xc2\x48\x06\x8f\x5a\xb8\x5c\x8b\x5d\x75\x6f\x4e\x3e\x34\x06\x2b\x55\x49\x38\x72\x61\x47\x6b\xcb\xd1\xe7\x33\x19\x90\xf1\x19\x10\xd1\x1f\x94\x60\x7c\x2b\x71\xf6\x5b\x77\x1a\xac\xab\xdc\x10\xf4\x2a\xe9\x18\xdd\x25\x94\xac\x71\x05\x1c\x85\xb3\x30\x77\x9c\x47\xaf\x00\xa5\xb9\x81\x91\xb5\x6c\xbc\xf7\xef\xe4\x1a\x27\xe8\x7c\x67\x71\x68\xc8\xab\xe9\x49\x6e\xb2\xe7\xab\xbd\x0b\x16\x04\x28\x6e\xd1\xa1\xb1\x8d\x26\x4d\x73\x3d\xe8\x7d\x0d\x3f\x80\x55\x52\x8c\x4d\x42\x6d\x7f\x8e\x6e\xd0\x24\xa7\x41\x40\xab\xd3\x54\x00\x79\x62\xa2\xa9\x7a\x5c\x2f\xf9\x76\x54\x6a\x8d\x1a\xc4\x92\x4c\x09\x22\x3d\x34\x8d\xdc\xd8\x71\x0a\x37\x99\xf9\x1b\xb8\x70\xb3\xf4\x6d\x51\xf1\xe7\xf6\x89\x2d\x6b\x08\xb9\x91\x74\x8a\x03\x7a\x86\x7e\xcc\x39\xee\x8d\x64\x62\xa7\x61\x44\x88\xed\xd3\xc2\xba\x61\x5c\xa2\xe3\x78\x54\x88\x94\x41\xb1\x3d\xc8\x35\xc3\x6b\x38\x65\x3f\x65\x98\x61\x6f\x35\x78\x3e\x2e\x15\x83\x84\xbb\x93\x1c\x90\x1b\x70\x3a\xcb\x39\x91\xfb\x7a\xa5\xba\x69\xd9\xa5\xbd\x05\x70\x24\x29\x61\xa7\x1a\x52\x47\x03\x15\xe9\x82\xe3\x41\xa6\x1c\x64\xa6\x19\xbd\x16\xfe\x81\x19\xaa\xe0\xd7\x50\x3c\xe7\xd7\xe9\x26\x14\x6b\x91\xc2\x89\x2f\x13\x16\x69\xd1\xe3\x9e\x5b\x75\xe9\xc7\x24\x52\x61\x80\x99\xa5\x7d\xc2\xee\x37\x7b\xe6\x58\x75\xee\x01\xbb\x88\xed\x52\x6f\xc3\x94\xe2\xf5\xc8\x12\x7a\x5f\x69\x12\x5e\x67\x38\x5e\xf9\x4b\x1f\x33\xad\x52\x62\x9d\x72\x0e\x31\xc0\x2a\xe0\xb5\x82\x33\x9f\xf0\xf0\xbb\x07\xff\x2b\x03\x0f\x48\xfa\x7b\x69\x27\x16\x50\x1a\xd7\x77\x3a\xd3\x15\x12\x04\xa2\xa5\x40\xfa\x94\x36\xbd\xd4\x20\x2a\x15\x73\x09\xec\x36\xce\xcb\xe5\x8b\x33\xef\xf5\x57\xfd\x33\xe0\x3f\xd3\xeb\x19\x00\x9b\xd7\xa2\xde\xa9\xef\xee\xf8\x78\x55\x67\xaa\xb2\xa4\xc9\x8b\xd1\xf2\xa8\x10\x11\xb3\x43\xa9\xf2\x0c\x44\xc5\x77\xa4\x52\xfd\x54\xba\x21\x02\x9d\x47\x06\x81\x3b\x29\x87\xc7\x6b\xb2\x42\xab\x26\x20\x84\x3c\x22\x60\xb6\x69\xad\x35\x8e\xfe\xe7\xf9\x83\x0d\xc9\xc7\xd4\x78\xa2\xde\x4a\x2c\xf8\xc4\x3d\xa7\x70\xe2\x88\xe2\xed\xbb\x6d\x73\xbc\xf2\xec\xb0\x23\xde\x6b\x2d\xcc\x6b\x16\x6e\x87\xa3\x85\xeb\x0a\xdc\x30\x56\x65\xc5\xbf\xa5\x7f\x25\x0f\xe2\x23\xad\x7f\xf4\x51\x8d\xe3\x9c\x79\xe8\x7d\xc1\x01\xa9\xfa\xa6\x82\x1a\x74\x44\x2b\xfc\xfd\xf0\xa9\xe6\x3a\x50\x9e\x2a\x2e\x76"}, -{{0x7e,0x7b,0x39,0xaf,0x69,0x38,0x0c,0xf4,0x46,0x60,0xe2,0xc1,0xff,0x30,0x83,0x34,0xe8,0x25,0x0f,0xee,0xb8,0x8b,0xe0,0xd4,0x3a,0xab,0xe5,0xe6,0x8b,0x8e,0xf1,0x71,},{0xcc,0xef,0x9d,0xae,0xd9,0x25,0x23,0x53,0x3d,0x4a,0x2d,0xab,0x6d,0x24,0x19,0xf6,0xd0,0x86,0x04,0xdb,0x64,0xce,0x37,0xe3,0x29,0x04,0xac,0x77,0xb9,0xb4,0xa0,0x1c,},{0x10,0x62,0xa2,0xdc,0x9c,0xd5,0x37,0x96,0x75,0xc0,0x4f,0x5e,0x21,0x33,0x8d,0xcf,0xb7,0x7d,0xfb,0xab,0xce,0xdd,0x62,0xb2,0x60,0x71,0x00,0xd7,0x64,0x9a,0x05,0xe8,0x08,0x71,0xe9,0x61,0x23,0x21,0x4f,0x80,0xf4,0xf7,0x3b,0x0d,0x9b,0x06,0xe2,0xd3,0x1f,0x56,0x11,0x9c,0xea,0x69,0xda,0x23,0x47,0xda,0x84,0xa2,0x75,0xb7,0xb2,0x07,},"\xd4\xa3\x97\x6d\xbf\x83\x20\x18\x56\x67\xb5\xa8\x23\x66\x40\xf2\xeb\xc9\xe4\x5e\x6d\x5f\x2a\x8d\x92\x99\x79\x27\xdd\x9b\xc5\xdb\x95\xf4\x46\x34\xbd\x65\x4e\xef\xec\xe1\x0d\x99\xd9\x2b\x46\x71\x57\x91\x64\x50\x04\xac\xcc\x6d\x14\x0f\x32\xa1\xc8\x72\xe5\x4a\xa9\xa7\x49\x3a\xf9\x45\x88\xb7\xbb\x40\x0d\x94\xd4\x58\xd4\x32\x92\x30\x7c\x5a\x1a\x38\x82\xa1\xc8\xa6\xa7\x8d\x9a\x94\x5f\x79\xd6\x4b\x32\x94\xa2\x8c\x3d\x59\xd8\x20\x22\xb0\x09\xcc\x4d\x2d\xa9\x3a\x16\xb0\x71\xc9\xab\x8e\xe9\xa3\x66\x3d\x72\xed\x34\x4f\x15\x1d\x68\xc6\x66\xa4\xb4\x96\x52\xd9\x7a\x46\xd1\x42\xa4\x74\x11\x27\xf3\xc5\x7f\x15\x51\xc4\x09\x76\xcd\x13\x81\xa8\x2a\xea\xe7\xbc\x5a\xdb\x39\x87\x20\xeb\x43\x3f\x08\x99\x48\x7e\xd2\x37\x84\x46\xb1\xa8\xdc\x6a\x33\xfc\xd4\x53\x7a\x05\xfb\x60\x3e\xc0\xa9\x0a\x27\x53\x23\x00\x24\x2b\x20\x00\x10\x86\x21\xb6\x5a\xb0\x00\xbc\x06\x38\x15\x30\xf6\x90\xd7\xe5\x6f\x81\x60\x4d\xac\xff\x19\x10\x71\x50\x40\x41\x0a\xa1\xf9\x44\xc9\x2d\xd9\xbb\xaa\x5b\xd0\x8e\xa0\x0c\x84\x42\xdf\x94\xf0\x85\xeb\x3d\xe9\x73\x35\xb6\x00\x5e\x6f\x84\xf8\x23\xd4\x34\x70\xab\x1c\x67\xda\x12\xad\x44\x99\x36\xc6\xb5\x5f\x9f\xfd\x20\x3d\xfd\x6e\x3f\x33\x30\x9e\x8a\x99\x45\xa5\x93\x20\xe6\x67\x34\xc7\x9c\x48\x14\xdb\xa5\xa1\xc1\x40\x95\xc6\x29\x25\xa1\xe1\x73\x3e\xfd\x94\x81\x7a\x25\xef\x9e\x47\x9d\xd9\xcc\xde\x6c\xa8\xad\xb7\xa8\x05\x3c\x1b\x55\x13\x46\x97\x50\x4a\xf8\x05\x3d\x59\x5b\x84\x46\x40\xb6\x1e\x93\x16\x80\x75\x46\x84\x50\xeb\x5d\xe0\x35\x86\x97\xc1\x04\xaf\xa6\xa3\x79\x6a\x50\x9c\x26\xb4\xc2\x77\xc2\x3f\xff\x42\xdf\x14\x6d\xe5\x5e\x95\xd0\xd4\xb8\x0a\x7a\xa1\x77\xd9\x92\x27\xec\xb2\xa0\x59\x4d\xee\xde\xbb\x9c\xaf\xb1\xa4\x58\xac\xa8\x07\x2c\xc7\xd7\x7c\x71\x75\xf6\x10\xca\x30\x0e\xfd\x7a\xf9\x38\x83\x46\x49\x8c\x22\x99\x15\x64\x50\x0e\x0b\x0a\xa4\xd2\x94\x6f\x18\xe6\xf5\x37\x5a\x84\x82\x86\xf3\x69\x54\xc1\xca\x22\x68\x4c\x69\x28\xc2\xa2\x5c\x7f\xe2\x1a\xba\x4a\x71\x11\xd7\xe0\x5b\xc8\xd7\x0b\x3d\xcb\x4f\x6a\xae\xc0\x64\x84\x5e\xef\x55\x25\xf8\x50\x24\xc2\x57\x0f\x3b\x78\x69\x8c\x4b\xce\xc0\xd7\x1a\xad\x53\x78\xd8\x81\x9e\x1f\xac\x44\xee\x41\x63\x70\x21\x2d\xba\xaa\xe5\x4d\x2a\xf2\x93\x9b\x82\xcb\xaa\xe7\xf4\x2f\xf4\x85\xd4\x5b\x3a\xcc\x21\x09\x0f\x5b\xa4\x1e\xc0\xda\x30\x9e\x52\xef\x28\x38\xd1\xde\x47\x1e\x0b\x7c\xf9\x85"}, -{{0xa9,0x04,0x8a,0xf0,0xc2,0x0a,0x12,0x5f,0x5d,0x39,0xc5,0x0f,0x22,0xb8,0x05,0xae,0x74,0x2c,0xf6,0x4f,0x1f,0xe8,0xdf,0xbe,0x8d,0xfd,0xaa,0x51,0x1a,0xaa,0x57,0x6f,},{0x15,0x86,0x55,0xdb,0x94,0xb1,0x5c,0xa7,0x29,0x83,0x87,0x7b,0x6d,0xb2,0x31,0xa5,0x84,0x3d,0xf5,0xdb,0xca,0x28,0x10,0xa7,0xe4,0x96,0xfb,0x59,0xab,0x71,0x04,0xca,},{0x18,0xa3,0x12,0xb2,0x0d,0x86,0xac,0x33,0x9a,0x58,0xef,0x2b,0x85,0x2d,0x46,0x7c,0x23,0xbb,0x2c,0xb1,0x22,0x7c,0xb1,0x53,0x38,0xaf,0x07,0xfd,0x04,0xb9,0xa7,0x11,0xe8,0x56,0xee,0x5b,0x2c,0x82,0xe3,0x66,0xc1,0x7f,0x86,0x17,0x13,0xd1,0x08,0x8c,0x1b,0x21,0x44,0xd1,0xc3,0x7d,0x05,0xbd,0xc0,0x0d,0x73,0x96,0x73,0x85,0x20,0x00,},"\x8e\xef\x2d\x9f\x5d\x59\x70\x99\x59\xc9\x24\xf8\x7c\x22\x78\x97\x67\x39\x3a\x15\x5d\x5c\x87\xde\x48\x8c\xef\x50\xb7\xbf\x7d\xa8\x70\xe3\xad\xc3\x00\xae\xe6\x60\x3b\x2e\xf0\x87\x64\xd9\x9d\x9e\x77\x51\xe5\xdc\xe9\x2a\xaa\x71\xaa\x18\xa6\x9c\xc8\x23\x13\x4e\x85\x52\xd9\x59\xa0\xdb\xb4\x11\x17\xe0\xa5\x93\xc3\x18\x33\xb6\xec\x21\x72\xdd\xaf\xaf\x78\x48\xdd\xd1\x8d\x28\xd0\xd4\xed\x33\x23\x7e\xc8\x04\xf6\x59\x38\xae\xd8\xe8\xa3\x28\x0d\x42\xe3\x53\xd0\x1b\xe0\x18\x7b\x13\x01\xf8\x3d\x89\x84\x90\x67\xb0\x4a\x90\x31\xf7\xe0\xf3\x3e\x34\x16\x24\x0c\x53\xd9\x26\x5e\xd0\x66\x39\x59\x97\x1f\x41\x7c\xb5\xf2\x10\xcd\xc5\xae\xbc\xb5\xe1\xdb\x7d\xfb\x82\xdf\x43\x58\x76\xa6\xe9\x8f\x41\x5b\x0d\xf8\x69\xf0\xd8\x85\x15\x35\x37\x56\x45\xee\xf7\x0f\xae\xc7\x44\xee\x0d\xc3\xac\xbc\xb0\x40\xf6\x8d\x50\x2c\x2c\x62\xc8\xdb\x45\xeb\xe5\x48\x54\xa4\xb3\x6f\x43\xfe\xb4\x9a\x6d\x1c\x2c\x2e\xa7\x99\x14\xa7\xc2\x3c\x60\xba\xaa\x67\xcb\x47\xb2\x17\x8e\x12\xdc\xe7\x6b\x00\x4c\x87\xb7\xb8\x34\x6e\xfa\xdf\x38\x0b\x9e\x1e\x41\xf6\x31\x48\xda\x51\x78\x1d\x75\xce\xc0\x40\xe4\x26\x88\x20\x21\x1f\x3c\x46\x25\x01\xd8\x08\x99\x89\x4e\x79\xd6\x18\xde\x42\x46\x1d\x78\x5a\xea\xce\x53\xae\x14\xb7\x9d\x33\x50\x1e\xd5\x62\x9b\xbd\xd0\x71\x28\x15\x6d\xb0\x72\x5f\x5b\x4b\xed\x59\x3a\x95\x29\x47\x83\x03\x84\xf6\x1d\xf0\x0e\xe0\xaa\x09\x90\x99\xc3\xcd\x97\x65\xa9\xc1\xc7\xe8\xa6\xa8\x34\x30\xb8\xd9\x86\x7c\x8e\x17\x92\x0a\xd0\xff\x64\xd8\xcd\x2f\xf5\xf1\x14\x38\x8c\xe6\xd4\x3e\xec\x17\x15\xd0\x35\xf0\x22\xfa\x97\x96\x9e\x1a\x5d\xd9\xf5\x8d\x89\x6b\x17\xc1\x22\x1c\x9e\x6c\x85\x55\x59\x72\x35\xee\xda\x6e\xc4\x1b\x0c\x11\x76\x12\xb0\x0c\x5f\x0e\xd1\x81\x6b\x05\x73\x63\x58\x27\x07\xa8\xaa\x0d\x98\xd4\xd4\xbe\x5e\x8f\xa3\x2d\x6c\x9d\x27\x82\x21\xef\x30\x67\xb8\xba\x15\x16\xd9\xe0\x51\xd2\xf6\x8b\x7d\x1b\x15\x1f\x74\xa3\x53\x4e\x78\x12\xc0\x51\xe5\xf2\xb6\x3b\x30\x35\xf8\xe5\x70\x3b\x5f\x68\xfd\x2d\x65\xbb\x75\x65\xe8\xaa\x67\xbf\xd2\xa1\x2c\xaf\x0b\xc5\x48\x11\x97\xa9\xff\x89\xd7\x7d\xf7\xa0\xe9\x65\x5e\xf0\x29\xb4\x3d\xd9\x06\xd0\xb8\x88\xe3\x13\xae\x9d\x1c\x7e\x93\x68\xa0\x13\x52\xd0\x0c\x66\x80\xdd\x0f\x1f\x57\x4a\x58\x77\x34\x8a\x7e\xa2\xc0\xb9\xe8\xe2\x72\x75\x10\xbf\x0c\x9e\xf7\x44\xf3\x69\xeb\x3c\x6c\x4f\xc1\x6a\xde\xb6\xe1\x94\x5b\xe8\x28\x7d\x0f\x30"}, -{{0xf8,0xc9,0x18,0x3f,0x23,0x10,0x5f,0xad,0x0c,0x6e,0x51,0x03,0x35,0x8b,0x58,0x32,0x88,0xf9,0xff,0x6c,0x7d,0xfc,0x91,0x10,0x6d,0x07,0x98,0x7f,0xf6,0x9c,0xe1,0xeb,},{0x4c,0x79,0x62,0x8c,0x95,0x8c,0xde,0x0c,0xc3,0xcf,0x68,0x60,0x95,0xb8,0xa2,0xf4,0x4b,0x71,0x93,0xc6,0x16,0xf5,0x1b,0x21,0xb6,0x70,0xb0,0x38,0xce,0x6f,0x67,0xff,},{0xc6,0xa8,0xbc,0x7a,0x0d,0x5c,0x61,0x85,0xb6,0xec,0xd6,0x03,0x3e,0x42,0x32,0x1d,0x5c,0x87,0x1b,0xf8,0x89,0xbe,0x72,0xbd,0x54,0xcc,0x00,0x83,0xed,0x60,0xa4,0x70,0xb2,0xcc,0x0f,0xb4,0x68,0x2c,0x89,0x4c,0x75,0xb0,0xdf,0x95,0xf1,0xec,0xfb,0xba,0x2d,0x5a,0xce,0xf3,0xe1,0xaa,0xfe,0x54,0xb9,0xf7,0xe8,0x03,0xa1,0xd0,0x15,0x0a,},"\xb1\xd6\x05\x95\x32\x3f\xf3\xc8\x44\x87\x41\x90\xe1\x83\x6e\x41\x01\x40\x9c\xbc\xea\xe2\x8d\x5d\xa8\x1f\xad\x29\x8f\xe4\x7f\x6b\xdf\x44\x74\x5b\x7c\xd0\xd3\x71\x31\xc3\xec\x36\x5b\x92\xf5\xa1\xa6\x9c\x09\xfe\x2d\x9e\x81\xda\x10\xcf\x19\xd8\x5f\xf5\xff\x26\xf9\xe7\xdb\x9f\x07\x93\xb2\x5a\xb2\x6e\x6a\x74\xf4\x4e\xb8\xc4\xf0\x78\xeb\x7a\xd1\x8e\x65\xa1\x62\x10\xd5\xc8\x44\xd3\xce\xf7\x5f\x1d\xaf\x44\xee\xe5\x58\xf9\x0e\x52\x4a\x03\x2b\x6c\xae\x6c\x8d\x23\x36\x7c\x28\xce\x1c\x75\xfc\x25\xac\x87\x43\x39\x77\xd5\x97\x53\x3c\x92\xae\x65\xf2\x91\x3a\x18\x90\x7a\xc7\xd9\x54\x3d\xf2\x41\x27\x74\x39\x43\xfe\xfd\x9c\xf8\x3e\xd8\x33\xf6\x3e\xc8\x36\x72\x33\xd8\x97\xbf\xa1\x2d\x46\x6d\x2c\x4a\x9a\xd7\x0d\x5a\x67\x2f\xc1\x07\x75\xea\x2d\x20\x4e\x63\x6d\xe7\x01\x07\x88\xda\x27\x1d\xf0\x38\x81\xa2\x5c\x8d\xfa\x5a\xf7\x3e\xe5\x59\xf8\x1b\x52\x9b\x35\xaa\x12\x7f\xdc\x0e\xe8\xfd\x36\x9c\x7a\x04\x36\x62\x39\x86\xaa\x64\x07\xfa\x67\xa1\x42\x0c\x46\xf3\x21\x1a\xb8\x4f\x84\x46\x6d\xd5\x8b\xb7\x95\x08\xa1\xfe\xb0\xa5\xa5\xdc\x3b\xb0\xc1\xb2\x48\x09\x82\x62\xa0\x64\xf3\x7b\xb2\xf0\x19\xe2\x90\xc6\x0a\xfa\xa1\x20\x66\x51\xa2\x69\x7c\xaa\xcc\x3e\xcc\x02\xec\xfc\x07\x7f\x27\x2e\x8f\x75\xce\xa7\x1c\x3b\xc3\x35\x6d\x2b\x58\x07\x27\x6f\x19\x55\x00\x1c\xfe\x10\xa6\x17\x16\xb4\x08\x2b\xd6\xf8\x4c\xae\x4b\xb0\xd9\xa4\xb7\x5a\x4b\x57\x62\xf8\x10\x79\xf1\x9d\x7d\x19\xea\xff\x86\x31\xc9\x24\x88\x5b\xd3\xa6\x4e\x12\x9f\x4c\xf6\xb7\x9c\x7a\x98\x29\x66\x55\x11\xe9\xd8\x5c\x74\x5e\xb2\x2c\x1b\x7c\xb2\xa1\x7a\x49\xb6\x28\x5c\xce\x37\xb3\xde\x41\x59\x40\x32\x83\x23\xef\xe2\x4a\x1a\x07\xee\x87\x46\x8f\x65\x10\xe4\x2d\xd2\x06\xfe\x7f\x09\xe3\xd4\x33\xfb\x52\x15\x6a\xe3\x48\x38\x31\x15\x64\x88\x63\xe4\x5b\xf6\xa3\x71\xb1\x7e\x70\xe1\x9f\x96\x27\xd7\xf0\xa5\x8b\x95\xc6\xa4\x78\x8d\x5f\xd7\x86\x2f\x16\x12\xc0\x34\x73\x25\xb7\x97\x65\x1b\xe3\x0c\x3e\x1e\x60\xea\x4a\xe6\x0b\x57\x45\xa3\x8b\x6a\x9d\x4e\xb4\x93\x5d\x6f\x3c\xb8\xd7\x1a\xd3\xf3\x9a\xdd\xa5\xe4\x2e\x22\x19\xde\x0d\x38\x19\x09\xc9\xcd\x31\x7d\xd4\x37\x94\x21\xa2\xa8\x42\x68\xa7\xea\x71\x80\xa6\x4c\x12\x9b\xe1\xe5\xe8\xfc\xbb\xf5\xed\x65\x9e\x9f\x7e\x76\x3c\xe8\x4f\x63\x0d\x54\x07\x95\x4f\x9f\x75\x57\x50\xa6\xdb\xf9\xf7\x66\x07\x17\xde\x8e\x2a\xdc\x1e\x9a\xc9\xee\x31\x65\x4d\x18\x37\xce\xe3\x97\x95"}, -{{0x16,0x08,0x9a,0x1b,0x93,0x2f,0x8d,0x14,0x99,0x56,0x88,0xb4,0x8d,0xd8,0x41,0xed,0xae,0x3d,0xa5,0xcf,0xd2,0xcb,0x16,0x55,0x53,0x06,0xf3,0xfe,0x8b,0xd3,0xed,0xb9,},{0x9e,0xcd,0x9f,0xdd,0x7e,0x0b,0x92,0x3d,0xef,0xf5,0xd8,0x87,0xb2,0x42,0x58,0x5d,0x9d,0x41,0xcd,0x2c,0x7c,0x10,0xf9,0xc3,0x45,0xb3,0x9f,0x63,0x3f,0x4a,0xb9,0x03,},{0x78,0x78,0xab,0x74,0x1e,0xba,0xe2,0x74,0x7c,0x78,0x97,0xcb,0xb1,0xd1,0x05,0x48,0x2f,0x37,0xbe,0x2f,0x5f,0x91,0x79,0x52,0x32,0xcd,0xfb,0xcc,0xc5,0x26,0x60,0x89,0x18,0xe2,0x75,0x6d,0xdb,0x75,0x36,0xb3,0x68,0x0c,0x16,0x2c,0xf8,0xa1,0xef,0x38,0xa3,0x41,0xb9,0x36,0x2b,0xfe,0x5d,0x46,0x8b,0x4b,0xce,0x21,0xdf,0x23,0x4f,0x0f,},"\x58\x50\x02\x32\x38\x8d\x9a\xa4\xb5\xfa\xf8\x5b\x02\x33\x24\x7e\x71\x7f\xd1\x68\x40\xde\x9b\xfd\x0e\xf8\x6e\x01\xe6\x13\x02\x77\x55\x13\xe2\x24\x12\x5e\x0d\x20\x42\x0e\xa9\x49\xf6\xc2\x64\x25\xf7\x00\x77\x91\x1f\x97\x11\x31\x0c\xd6\xfd\x8b\xff\x27\xcd\xea\x11\x48\x0c\x73\xe8\xf8\xb3\xc3\x76\x41\xe7\xe8\xdd\x86\x07\xc1\x64\x02\x18\xfe\xc8\x0a\x02\x09\x28\xb9\x3d\x4d\x55\x7e\xbe\x82\xec\x0b\xb1\x75\x38\x86\x7d\x2c\xb1\x4d\x44\xd3\xea\x72\x7f\xdd\x52\x82\x0b\x0d\xa9\x44\xde\x21\xcd\x5d\xa3\x03\xd7\x76\xfe\x99\xcb\xc2\x64\x83\x65\xe6\xa0\xa9\x8d\x4d\xb1\x50\x84\x26\x61\x76\x8b\xe8\x4c\x68\x50\x7a\x5c\x45\xd2\x07\x84\x0b\x03\x35\x37\x78\x6c\xb2\x1d\xad\xad\x5f\xba\xb9\xc5\xcf\xc1\xe3\x54\x7d\xe5\x50\xd3\x13\x63\x1d\xd4\xfb\xb7\xca\x8f\x71\x93\x86\x27\x60\x8d\x2e\xbf\x65\x5d\xb4\x32\x5a\xbf\x3e\xd5\x04\xdc\x18\x30\x58\xf9\xde\x1e\x44\x93\x12\xd9\x04\xc8\x46\xa1\x84\xa0\x28\xf3\x64\xc0\x28\xb2\x7e\xb4\x94\x64\x27\xe3\x1c\x21\xe1\x05\x1d\xf3\x64\xd4\x99\xf4\x77\xbf\x51\xe7\xa8\x89\x31\x83\xe5\xec\xf7\x7d\x51\x3a\x1a\x76\xb1\xa6\xfd\xfb\x16\xbe\x90\xd7\x4b\xe4\xc4\x34\x5a\x4f\x9f\x87\xee\x44\x1a\x10\x22\xd6\x7e\xe8\x44\x78\x9f\x21\xb0\xc3\x1a\xdc\xc0\xd9\x56\x63\xcd\xfb\x40\xa8\x95\xb9\x22\xdc\xe8\x06\x9b\x93\x2c\x80\x2f\xd3\xab\x1e\xf0\xce\x6b\xff\xdc\xc5\x65\x3b\x1c\xd5\x25\x7e\x19\xa0\x95\x16\x87\xe5\x45\xfa\xf4\xaa\x66\x06\x5a\x55\xc4\xb4\x19\x1e\x34\xe8\x04\x7d\x6a\x4a\xb5\x2d\x1b\x06\xc3\x69\xa4\x26\xca\x2d\x16\xb5\x1a\x02\x71\xf2\x7f\x8d\x74\x4c\x71\x1f\xce\x3a\xad\x9d\x4a\xc0\x38\xee\x70\x0e\x4e\x97\x1b\x21\xca\x48\x9f\xf2\xb8\xc7\x78\xa3\x72\x1a\xdf\x47\xc1\xae\x5a\x41\xb9\xa2\x7f\xa7\x42\xfd\x0f\x18\x16\x4e\xf3\xc2\x6b\x8a\xe7\xd1\xfa\x29\xb7\xc0\xcc\x46\x83\xbe\x65\x02\x5c\x96\x53\x7a\x12\xd5\xfc\xeb\xbd\x05\xe9\x30\xc3\x69\x3e\xbb\xba\x0a\x78\xad\xf5\x9d\x8a\x3b\x59\x8a\x34\x8e\xaa\x9f\x47\xca\xf5\x31\xfe\x44\x96\x52\xdb\x5b\x20\xd6\x89\x94\xe3\x5a\xfe\xc2\xc2\x57\x09\x05\x5a\x1d\xe2\x60\x82\xe3\x91\x2d\x49\x7c\x64\x77\x20\xa3\xf8\x73\x62\x14\x56\xe6\xa5\xb9\xeb\x61\x3a\xcb\x43\xb6\x6d\x47\xd0\xb9\x54\xc6\x9e\x8f\xbf\x2c\x5e\x63\x4c\x48\x6e\x57\x24\x93\x0e\x0b\x56\xa5\x16\x94\x0c\x8c\xb0\xe7\x75\x27\x4d\xef\xf9\x7c\xbb\x77\x59\xce\x90\xa2\xb9\x3e\x9e\xfa\xa6\x24\xe6\xb3\x8a\x39\x84\x9d\xca\x1d\xf6\x12\x73\x6f"}, -{{0x94,0xd5,0x09,0x15,0x14,0x4c,0x7e,0x7d,0xd0,0xf8,0x5f,0xef,0x87,0xed,0xdc,0x22,0x06,0xc1,0x56,0x9e,0xd1,0x43,0x1c,0x8c,0x5a,0x15,0x3e,0x32,0xe1,0xcb,0x2f,0xb7,},{0x3b,0xb0,0x98,0xcf,0x16,0x0f,0x3a,0xec,0x31,0x70,0xb5,0x7d,0x6a,0xdd,0x4f,0x56,0x73,0x92,0x70,0xe4,0xb3,0xa8,0xef,0x79,0x66,0xec,0x30,0x61,0x9b,0x29,0x91,0x02,},{0x59,0xa1,0xce,0x55,0xf5,0xa6,0xba,0xdc,0x1b,0x93,0x91,0x26,0x36,0x20,0x54,0x2c,0xfc,0xae,0x87,0xa0,0xf2,0xb9,0x50,0x22,0x50,0xcf,0xe4,0xbd,0xcb,0xf7,0x6c,0x46,0x19,0x77,0xc3,0x34,0xa4,0x8d,0x91,0x6e,0xde,0xbd,0x56,0xc2,0x1c,0xe2,0x17,0xc3,0x5a,0x64,0x44,0xcf,0xbf,0xd3,0xb1,0x1a,0x3d,0x48,0xfa,0x2e,0xdb,0x6e,0xb4,0x0f,},"\x4d\x91\x5f\x27\x33\x2d\xd7\x50\x51\x71\x9a\x24\xae\x8d\x0e\x9c\x30\xda\x79\x09\x99\xe2\x2d\x9b\x58\x7e\xf2\x03\x21\xbe\xe4\xc0\x7d\x0a\x12\x49\x4f\xfe\x59\x9f\x47\xf9\x69\x25\xf5\xd9\x25\x17\xfc\x3e\x5f\x04\x1d\x0c\x70\x9f\x2a\x97\x83\x12\x5e\xec\xa6\x65\x29\x97\x20\x1c\x42\x9a\xa6\xf1\xce\x2f\x07\xa0\xd4\xa0\xa1\x8c\xf2\x0b\x3e\x9a\x4f\x76\x63\xea\x52\x62\xca\xd8\xf9\x49\x41\x1b\x05\xff\x5c\x5e\xdd\x7b\x30\xb2\x17\xd7\x5d\x8c\x86\xc9\x4e\x5f\x92\xc1\x67\x34\x37\x4e\x8c\xea\xd6\x1b\x0b\x27\xbb\x4b\xf5\xf4\x3a\x31\x3c\x1d\xd5\xb8\x3e\x0e\xa9\x33\xb6\xca\xdf\xed\xd7\xa6\x4a\xa5\xdd\x5b\x5d\x02\xc6\x95\xea\x20\xe0\x91\xfd\xaa\x72\xef\x4e\x7c\xa4\x0f\x38\x39\x5b\xe8\xbf\x7a\x25\x5c\x6d\x06\xa6\x32\xd7\xd7\x85\xd9\xe0\x47\xf2\x32\xaa\x50\xfa\x14\x52\x9f\x98\x6f\x9e\xf9\xd7\xb5\x80\xa0\x39\x65\xb0\x15\x47\x88\x82\x2a\x22\x5b\xb5\xab\x34\x38\xb8\x9a\x5c\x28\x74\x4a\xb0\xbc\x0b\x20\x14\xe5\x79\x6a\xcb\x49\x35\xa8\x1b\x02\xa0\x46\x32\xac\xb8\x8c\xaa\x7e\x39\xe0\x69\xc7\xc8\xe1\x75\x82\x91\x09\x4a\x53\xe3\x62\xfc\xed\xaa\xa5\x83\xec\xa7\x66\xef\xeb\xf6\x9b\x38\xe8\xcd\xe9\xce\x58\xe0\x12\xc6\x0e\xc8\x8e\x8c\x42\xbe\xad\xfa\x83\x8c\xfe\x44\x0f\xa0\xc0\x1d\x65\x9c\x96\x34\x57\x6d\x7d\x7a\x2d\x3a\x04\x4f\x99\xc6\xe4\x26\x3d\x4c\x0b\x37\x4a\x38\x8a\x2a\xcf\x38\xef\xf2\x9c\x77\x7e\x9d\xaa\x60\xd5\x98\x03\x5a\x7d\x9e\xdf\x67\xa5\x02\xc3\xf5\x73\x20\x7b\x11\x9c\xac\xac\x3f\xa7\x1e\x2a\x02\x07\xc6\x01\xcc\x0d\xd6\x37\xef\x56\x2b\xac\xc3\x5c\x57\x04\x27\x38\xf1\xf5\x58\x15\xa5\x26\x80\x82\xcd\x6a\x50\x82\x92\xfa\x29\xe3\x4e\x96\x45\xd8\x7a\x1a\x2b\x6e\x58\xad\xb7\xf4\xa5\x7f\xbb\x53\xe9\x21\x3e\xf3\xdc\x87\x3f\x29\x39\x62\x58\xa1\xea\x54\x6f\xb5\x95\x2c\xe3\x43\xce\xe9\xbb\xb9\x0c\x1c\xda\x72\xc6\x5a\x7c\x8e\x40\x31\x2b\x32\x8e\x23\x19\x20\xc2\x33\x07\x7d\xca\x34\xd0\x4f\x9d\x89\xda\xa9\xa2\xf4\x34\x59\x16\x5f\xd1\x02\xff\x56\x43\xc7\x17\x52\x30\xb3\x9e\xc7\xc3\xc4\x75\x65\x0e\xf1\x31\x60\x9d\x32\x20\xf5\xa2\x94\xa4\x03\xb1\xe1\xc4\x2c\xfa\x16\x2c\xd4\x26\xf0\xae\x43\xfd\x6b\x7a\xb5\x47\xa6\x2b\x7d\x5f\x84\x74\x03\xc4\xe5\x98\x79\x53\x87\x71\x58\xcf\xde\xe2\x3c\x04\xf7\x51\xc7\xc8\x6d\x07\x8e\x82\x4c\xa6\x3b\x5e\x65\x54\x3e\x97\x8b\x6b\x0c\xc6\x89\xef\x66\x44\x12\xb0\x1b\x8f\xf1\x65\xe7\xdb\xde\x3c\x09\x9b\xf4\xf3\x4e\xbd\xdc\xb4\xc4"}, -{{0x0d,0x81,0x92,0x6f,0x51,0x3d,0xb4,0xb2,0x5d,0xfa,0x1e,0x52,0xb5,0xdc,0xa6,0x78,0xf8,0x28,0xa6,0x1c,0x7c,0x91,0x3c,0x82,0x82,0x47,0xc2,0xeb,0x04,0x22,0xb7,0xd1,},{0x0f,0x32,0x41,0x1e,0xf9,0x1d,0x4e,0x4b,0x69,0x41,0xdf,0xca,0xab,0x14,0x2e,0xf3,0xbe,0xc1,0x60,0x98,0x39,0x93,0xa5,0x26,0x2c,0xcf,0x27,0xfa,0xdd,0x2a,0xf8,0x90,},{0xe0,0xcb,0x6c,0x71,0xeb,0xf8,0xd7,0x05,0xe5,0x0c,0xad,0x9f,0x0b,0x8c,0xba,0x3e,0xcf,0x4b,0x9e,0x37,0x93,0x40,0x00,0x92,0xaa,0x5b,0x12,0x1e,0x7d,0xbb,0xc8,0xbe,0xa7,0x1d,0xf2,0x95,0x28,0xca,0x9b,0x47,0xab,0xf8,0x7c,0x19,0x8a,0x8d,0xc4,0xe1,0x4d,0x51,0x80,0xce,0x93,0x2d,0xd2,0x11,0x4a,0x3c,0xda,0xa5,0x55,0x2c,0xc2,0x05,},"\xa9\x38\x37\x52\x2f\x7e\xc2\xe9\x3a\x2e\x4b\x4c\x8b\x46\xde\x92\x6a\x81\xad\xa2\xd2\x48\xbc\xd3\x3b\x39\xb6\xc9\x5f\xb6\x2a\x61\xdb\xbe\xda\x1a\xa8\x5a\x21\xd9\xb9\x6a\x08\x51\x0d\x8d\x3a\x65\x8c\xf3\x20\xa1\x09\x28\x69\x59\x99\xd2\xc0\xd6\x05\xc7\xf9\x5a\x12\xf5\x6a\x87\x18\x50\x7d\xb0\xf4\x97\xe3\xea\xd6\x13\x13\x2a\xb0\x92\xcb\xf1\x9d\x22\x60\x35\x86\x30\x35\x8d\x9b\x26\xe6\x8d\x50\xdd\xae\x37\xc8\xaf\x0b\xb7\xd2\x74\x1f\xd2\x92\x9c\x21\x27\x9a\x78\xd1\x0e\x2c\x5f\x3c\x5b\xf4\xa4\x2a\x36\x17\x03\x6d\x54\x74\x36\x47\x76\x5a\xfd\x8c\xd9\x10\xf8\x1b\x38\xce\xd7\x23\x90\x63\x0e\xe6\x89\x44\xa3\x7d\x29\xc2\xfe\xca\xda\x1c\xc5\x9e\xc5\x44\x07\x5b\xdb\xc1\x4c\x63\xc6\x23\x4b\x88\x40\x49\x00\x0c\x27\xc7\x34\x06\x03\x56\x04\xfc\xa8\x76\x0b\x49\xa5\xe2\x10\x9e\xf9\x12\x85\xad\xc4\xec\x48\xc8\x19\xd6\x2d\x94\x8f\xac\xa9\x0f\x62\xcf\xae\xf0\xb0\x7d\x6f\xe5\x76\xd7\x62\xbf\xd0\xee\xf9\x4c\xf6\xb5\x33\x2c\x4d\x42\x25\x11\x60\x7f\x2f\xac\xc7\xac\x04\x6a\x59\xb9\x61\x7e\x83\x83\xd1\x02\x9c\xc9\x1a\xc5\x92\xb5\x20\x84\x41\x30\x32\xbe\x84\x1b\xaa\x9b\xf9\x62\x51\xa6\xbd\xa6\x71\xd4\xcd\x4b\x12\x5d\xa6\x58\xa4\xe5\xa5\x0f\x44\x28\xee\xbf\x26\x14\xfb\x0c\xe5\xfe\xbe\x80\xf7\x21\xa5\xf4\xc0\x32\x55\x06\xd2\x7a\x8d\x31\xe3\x3d\x86\x25\x38\x70\xdd\x63\xc0\x8e\xdc\x73\x02\xb2\x80\xe9\xb9\xbd\xc2\x8b\xee\xf0\x5c\x7d\xcb\x30\xd4\xc1\x62\xe9\xbe\x83\x2e\x1c\x78\x5e\x37\x55\x12\x18\x42\x1e\xec\x85\x2c\x42\x98\x21\x3b\x2f\x27\xf8\xf8\xc7\x06\xd3\x91\xb9\xc6\x9a\x56\xdb\x7c\xe5\xd8\x15\x48\xfc\xa5\xfe\xd4\x56\xf2\xd8\xaf\xd0\xb7\x5f\x79\xf8\x58\x68\x31\x6f\x4a\x09\x21\xf0\xc6\x63\x99\x26\x51\x6b\x3c\x3e\x52\xa9\xcb\x22\x55\x45\x46\xef\x70\xe1\x4c\x77\xec\xbd\xcd\x5c\x0d\x59\xa8\x17\x69\xb3\x0d\x5d\x13\x1f\x2f\xb4\x49\xc9\x96\xb8\xde\x8a\xc7\xf8\x08\x4f\x84\x99\xe1\xa5\x6f\x7c\xd2\x9d\xb6\xaa\xef\xcc\xae\x8a\x60\xe7\x56\x16\xa1\xf7\x02\xc3\xbc\x8d\xea\xa1\x00\x4a\x8d\xae\x03\x92\xa5\x9c\xee\x54\x81\x0c\x6e\x94\x0e\xee\x25\xfb\x2e\x5d\x57\x32\x67\x04\x4b\x89\x3f\xfd\xe3\x78\xfe\x75\xac\x26\x13\x37\x3d\x84\xa0\xca\x81\x87\xaf\x4a\x33\x58\xe5\x0a\x99\x4e\xd0\x33\x67\xde\x64\x5e\x10\x39\x0f\xea\x4c\x33\xbb\x1a\x6c\x0c\x39\x85\x8b\x8d\xb4\xa6\x9f\xe8\x94\xa4\x22\x3d\x45\xaf\x69\xb3\x6c\x61\x17\xc4\xdc\x25\xde\x49\xa6\x30\x17\x00\x2b\xa9\xae\x55\x1e\xf9"}, -{{0x6c,0x8c,0x53,0xb5,0x6b,0xbc,0xb4,0xc0,0xa2,0x5d,0xc4,0x0c,0x18,0x24,0x0b,0x6a,0x5c,0x75,0x76,0xb8,0x9d,0xde,0x45,0xef,0x13,0xfb,0x15,0x8e,0xa1,0x7f,0x8e,0xd9,},{0x23,0x8e,0x51,0xd6,0xa4,0x4f,0xa7,0xac,0x64,0x26,0x88,0x01,0x26,0x1e,0xa3,0x5b,0x62,0x63,0x8a,0x00,0x6c,0xc4,0x52,0xbd,0xdb,0x9f,0x16,0xfc,0x58,0x03,0x06,0x0c,},{0x4b,0xf1,0xe7,0xd4,0x9c,0xd4,0xd5,0xc3,0xc1,0xfd,0x4a,0x4b,0xc4,0x8f,0xf6,0xb6,0xe5,0x2f,0xd9,0x51,0x0a,0x41,0x18,0x12,0x29,0x69,0x96,0xe4,0xfe,0xc5,0x6b,0xe4,0x45,0x14,0xc5,0x67,0xd1,0xd3,0x34,0x77,0xbd,0x5d,0xc0,0x83,0xc3,0x95,0x8b,0xd9,0x5b,0xfe,0x59,0x9c,0x15,0x3f,0x21,0xae,0x26,0x25,0x29,0x67,0xb7,0x32,0x60,0x03,},"\xb6\x0d\xf2\x94\x4b\xa0\x15\x75\x98\x02\xd3\xc5\x87\xbc\xfe\xbe\x52\x1a\x7e\x77\xb9\x98\x5b\x76\x1c\x96\x76\x45\x4d\x24\xa6\x64\xaf\x0b\x0d\x44\x22\x5a\x55\x75\x12\xe1\xc1\xcd\x7d\xd8\x33\x5c\x8f\x6a\xdf\x92\x8e\x18\xf8\x9f\xd5\xee\xdf\x6f\x41\x1d\xcd\xaf\x99\x69\x12\xe8\xc3\xe2\x3d\x1c\xb9\x5e\xca\x4b\x9e\x24\xe7\x53\x9c\x3b\x98\xbf\x3d\x07\xec\x25\x13\x92\x09\x6c\x19\xac\x53\x74\xdc\xba\x52\x61\x32\xb6\xd9\xbb\x8f\x6c\x85\x9c\xe9\x85\xd5\x84\xc7\xbb\xa5\xb0\x2a\x81\x03\x4b\x6d\x8b\x52\x1b\xd2\x80\xe5\x0d\x77\xda\xa2\xb2\x41\x3e\xd6\x79\x83\x4f\x81\x61\xd5\xd0\x57\x3b\xdd\x47\x6a\xc3\xcd\x0a\x3a\x7d\x8d\xb4\x53\x34\xe8\x9c\x00\xab\x66\xbc\x36\x8a\x07\xb4\x23\xe2\x46\x43\x46\x36\x27\x2a\xa4\xe4\x63\x7a\x53\x06\xb2\xc3\x39\x79\x92\x78\x1f\x30\x23\x8d\xe7\x9e\xc1\x04\xac\xc7\x20\x0d\xef\xad\x96\x08\x83\xd3\x91\x44\x3e\x70\xef\xbd\x22\xf1\xcf\xce\xec\x51\x12\xfe\x9e\x8e\x13\xbb\x94\x1c\x08\x34\x68\xdd\x71\xff\xca\x97\x6c\xd5\x1c\xe1\x61\x79\x31\x10\xef\x00\xaf\xf5\xee\x2c\xcb\x77\x06\xa5\x12\xb8\x5b\xeb\x94\xac\x49\xd1\x9a\xfb\x63\x33\x65\x5c\xf3\xae\xa5\x35\xa6\xf9\xc7\x5e\x03\x48\x41\xe7\x63\xc5\xa2\x49\xb4\x70\x4e\x1b\xe7\x8b\x0e\xca\xc6\x80\x2c\x34\x3c\x1b\x7e\x7b\x57\x70\xde\x4c\x93\xa3\xa7\x9c\x46\xe6\x83\x5d\xa8\xae\x5d\xb3\x83\x8e\x17\x96\xb5\x64\xa4\x80\xa4\xf2\x90\xb6\x0a\x1c\x63\xa7\x25\xff\x3f\xef\x43\x4d\x2a\x0b\x3d\x89\x31\x97\x87\x42\xb5\x25\xc8\x3b\xae\x67\x94\xae\x64\x19\x37\x94\xb3\x70\xc2\x89\xba\x35\xed\x79\xd3\x70\x72\xa8\xdc\xfc\xad\xb4\x6d\x5f\xfa\xee\xba\x1b\xfd\x4f\x87\xd7\x66\xb5\x04\xe6\x2b\x4a\xcd\xd7\x74\x46\xe7\x9b\xa9\x94\xd6\xdb\xf4\x76\x5e\xbd\x74\xb0\x36\x51\x00\xda\x56\x16\x2c\x36\xfe\x5a\x95\x07\x7f\x6b\x42\x65\xe8\x17\x96\xb4\xa5\x74\x43\x78\x29\x70\xb9\x6c\xb4\x56\x9b\xa9\x85\xc5\x5f\xe3\xa7\x18\x38\x0b\xca\x39\xf1\x66\x24\xf8\xe4\x7c\xc6\x3c\x1b\x6f\xa1\xbd\xe1\xae\xba\x9c\x51\xf9\x4b\x70\x2b\x13\x10\x8c\xc1\x48\x1d\x42\xe6\xfa\x98\x1e\x3e\xbf\xe0\x64\xd2\xdc\xa7\x42\x0c\x74\x59\x57\x92\x31\x2a\xe3\xfb\x91\x01\xd4\xb6\x6d\x99\x16\xdf\xd6\xc1\x3a\xe8\x83\xe6\x61\xc6\x28\x22\x8b\xe9\x79\x4c\xf6\x03\x45\x07\x6d\xb2\x61\x84\xb6\x17\xe2\x72\x29\x8c\xd4\x18\x3f\x27\xbd\x52\xd4\x05\x10\xbb\x01\x5d\x20\x97\xd4\xcc\x76\xe7\x6c\x0a\x62\xbb\xfd\xaf\x53\xc7\x26\x87\x75\xbb\xfb\xdb\x88\x70\xeb\x9b\xab"}, -{{0x69,0xb3,0x20,0xfb,0xd4,0x77,0x40,0x30,0xa2,0x97,0x67,0xa0,0xcc,0x15,0x50,0xd1,0x0b,0x74,0x9b,0x44,0xd6,0x19,0xd4,0x1d,0xce,0x11,0x46,0xf7,0xac,0x80,0xa7,0x55,},{0xdc,0x50,0x8a,0x79,0xc6,0xb8,0xab,0x86,0x6c,0xd1,0x17,0xa5,0xa8,0x4d,0xd9,0xd9,0x31,0xfd,0xa4,0x50,0xbe,0xc2,0x93,0x35,0x34,0x4d,0x0d,0x21,0x92,0x16,0xd6,0x5e,},{0x69,0x7d,0x4d,0x89,0x7e,0x0e,0x2c,0xc0,0x2b,0xc1,0xc2,0xdd,0xa5,0x7f,0x0d,0xda,0x62,0x0b,0x37,0xe8,0x61,0x82,0x2b,0xb7,0xf1,0xa7,0x01,0x93,0x5e,0x95,0x9e,0xa0,0xd8,0x45,0x3f,0x74,0x6f,0xb9,0x2c,0x08,0x7e,0xd6,0x5d,0x98,0x0e,0xea,0x1d,0x6f,0xdb,0xf2,0x3e,0x99,0xb2,0x89,0xaa,0xe0,0xdc,0xbb,0x12,0x8e,0xf8,0x36,0x64,0x0a,},"\x21\x7e\x33\xf8\x86\x22\xc9\x6f\x8d\x09\x2c\x9e\x26\x66\x4f\xe9\xef\xc0\xd8\xd2\xeb\x59\xa0\x36\xfa\x46\x4c\xee\x65\xce\x44\x89\xca\xf9\x03\xdc\xe1\x7a\xfa\xfb\xc4\xf1\x8d\xc9\xbb\xfd\x6c\x1a\x4b\xe7\xb8\x34\x85\xa6\xca\x94\x7d\xef\xb1\xd3\x51\x25\xd0\x77\x39\x62\xa3\x44\xa3\x8b\x6d\xca\x9a\x40\xc3\x1c\x1c\x4e\xb2\xd7\xf6\x81\x8f\x97\x8e\x57\x3d\x66\xb9\x90\x92\x1b\x92\xb7\x77\x47\x1a\x4f\x6f\x05\x47\x7e\xbc\x35\x3a\xce\x1d\x86\xb0\x0c\xc2\x51\x77\x7a\xaf\x6a\xf3\xaa\x11\x79\xbf\xf7\x8d\xf5\x04\x8e\x5e\xf2\x99\x68\x67\x0e\x53\x54\x83\x56\x8d\x6b\xb1\x6d\xa8\x29\x56\x8f\x81\xc7\x99\xb9\xaf\xd4\xaa\xd6\xef\x08\x52\x52\xc0\xce\x3a\xc0\x1a\xc2\x1a\x9e\xa6\x9b\xd5\x8e\xad\xc6\x69\x68\xf5\x5d\xee\x38\x6b\x65\x3f\x33\x34\xef\xc3\x98\xef\x3c\x37\xa3\x8c\xe9\x3b\x21\xf1\x07\xcc\x54\xde\xc2\x6f\x53\xfe\xe5\x60\x4e\xb0\x9a\x36\xaf\xe6\xb6\x65\xb6\x32\x4a\x84\xc7\xda\x7b\x7d\xd0\x1d\x92\x78\xe4\x72\xf1\x5a\x5c\xe9\xff\x0f\xd9\x3d\x0a\xa0\x60\x4d\xd2\xdf\x8d\x5b\xf6\xa9\x12\x73\x4e\xc5\x1d\xe7\x7f\x0c\xe0\x99\xba\x11\x67\x02\x10\xa6\xa2\x06\x10\x6b\x0e\xde\x2d\xed\x85\x8a\x6b\xc4\x11\xe7\x61\x3e\x6f\x80\xe1\xaa\x52\xc3\x23\xe3\x0f\xa8\x49\x95\x1c\xc9\xb7\x76\xe4\xcc\x58\xc9\x0c\xfc\x8f\x44\x2d\xf6\x41\x51\xa7\xfd\x4a\x3d\xd6\x1a\x43\x36\xda\x21\xd0\x39\x44\x63\x5d\x3f\xd6\x67\xbe\x74\x1e\xf4\x5b\x1f\x7c\xb2\x76\xd9\xf4\xde\x81\x07\xde\x64\x58\x2f\x79\x17\xc6\xea\xb3\x8e\x0a\x88\x90\xa4\xbe\xe4\x8b\xc9\x26\x17\xa3\x61\xcc\x7b\x1d\x25\xe0\x89\x45\x3c\xe0\xa5\x25\x44\xf8\x68\xdc\xb3\x24\x9d\xe7\x61\xe7\x9d\xf6\x3e\xfa\x07\x94\xe3\xc4\x61\x8c\x55\x47\x53\xee\x28\x1c\x52\xac\x8a\xd7\x8d\x53\x38\xf0\xda\xc3\x60\xa7\x69\x38\x1b\xb4\xa3\x9f\x19\x0b\x88\x7b\x47\x23\x80\x6a\xc4\xa4\xf2\xff\x30\x4b\xc6\xf9\x33\x7a\xb5\x4c\x86\x6e\x6b\xa5\x1d\xf5\x0c\x43\xea\xb5\x2e\x2b\x39\x79\x4c\x99\x17\xe0\xc3\x14\x33\xf0\x36\x81\xd2\xf1\xd9\x3a\x04\x36\x01\x8c\xaa\xae\x20\x20\x6a\x34\x58\xad\x6c\x03\x7a\xcb\x51\x1e\xf1\x28\xf6\xdc\xd0\x53\x05\xf0\x70\x49\xa1\x3b\x6c\x6c\x3c\x5b\x81\x70\xf1\x58\xc8\xf1\x2d\x46\xe1\x60\x93\x1b\xa1\x8b\xd5\x9a\xe1\x29\xec\x07\xa0\x65\x5f\xa4\x82\xeb\xbd\x3b\x85\x0d\x36\xb8\x32\xbb\xb7\x75\xf5\x38\xe3\xc1\xb3\xa4\x3e\xcf\x94\xca\x63\x0c\xa1\x5d\x50\x28\x13\xee\xd3\xe3\x5e\x8f\xd2\x3d\x2a\xb6\x38\x60\x04\x27\xd1\x59\x7c\xb2\x9d\xa2\xa5"}, -{{0x66,0xda,0x8b,0x25,0x4a,0x37,0x06,0x73,0x78,0xf6,0x81,0x38,0xaf,0xed,0xd6,0x64,0x96,0x59,0x6a,0x05,0x85,0x52,0x4c,0x71,0x6b,0xde,0x2b,0x31,0x24,0xc3,0xe7,0xd1,},{0x85,0xbd,0xe2,0x8a,0x92,0x2a,0xb5,0xee,0xaa,0x4a,0x62,0x94,0x52,0x1a,0x2c,0xca,0xc0,0xef,0x23,0x03,0xdc,0xdf,0x8c,0x7f,0xee,0x22,0x8f,0xb4,0x55,0x20,0x12,0xe7,},{0x40,0x82,0xa5,0xbc,0x73,0x0f,0xb5,0x4b,0x6b,0xd0,0xbc,0xd2,0xa0,0x44,0xed,0x5d,0x3d,0x32,0x7d,0xc1,0x9c,0xea,0xc8,0x82,0x5e,0x62,0x9b,0x9e,0x64,0x23,0xcb,0x1c,0x61,0x42,0x36,0xf0,0x97,0xa6,0xb7,0x3d,0x47,0x39,0x47,0xcb,0x81,0xc4,0xe2,0x70,0x85,0x2e,0xe5,0xf1,0x3a,0x5b,0x03,0xdc,0x18,0xe1,0xc9,0xc2,0x7a,0x9a,0x68,0x02,},"\x3f\xae\x36\x63\x88\x37\xd0\xed\xc8\xdc\xee\x51\x7e\x43\xc4\x88\xed\x57\xfa\x6c\x98\x53\xa7\x45\xaa\xed\xfb\x10\x9e\xc1\x40\x9f\xb8\xa2\xfe\x51\xd2\x3e\x0d\xd9\xfb\xfd\x94\xf9\x1c\x18\xe6\x11\x4d\x80\x89\x01\xbf\x61\x7d\x26\x67\xce\xeb\xd2\x05\xc5\xc6\x6f\x5d\x75\x34\xfd\x2e\xc3\x3d\xbf\xe5\x80\xad\x91\x9f\x50\x42\x04\xea\xf2\x42\xaf\x87\x00\xb1\x38\xcf\xbe\x0f\x37\x29\x19\xc0\x6b\x86\x1a\x27\xd7\x20\xd0\x9d\xf2\x0f\x4f\xb7\xb7\x48\xe7\x18\xb0\xfc\x48\x6d\xbd\xfc\xb6\x94\xcb\x3f\x14\x20\x03\x5a\xc1\xbe\x55\xd3\x1f\x30\xf9\x97\xa0\x43\xd0\x47\x08\xa5\xc5\x42\xee\x37\xc0\xf7\xfe\x0b\x32\x11\xd1\x8a\x87\x03\x3d\xcb\x15\xc7\x9e\x66\x81\xc4\x97\x05\x93\xd3\x2a\x13\xc4\x8f\x0a\x3a\xf8\xbf\xc1\x36\xe0\xf9\xb5\x6a\x12\x3b\x86\xc4\xc6\x40\xb6\x50\xcb\x7d\xee\x9a\x89\xe8\x2a\xee\xee\x77\x3b\x5c\xb0\x32\xfc\xa4\x1c\x20\xc4\x07\x32\x8b\xfe\xd2\x92\x44\xe4\x60\x55\xa8\x31\x14\x61\x4d\x3d\xb5\x65\x81\x60\x4b\x11\x5f\xba\x14\xf6\x18\xe1\x02\xa1\xe1\x6c\xb0\x36\xea\x69\xdf\x92\x75\xb9\x77\xa0\x85\x81\x18\xc9\x1a\x34\xb9\xa8\x51\x9b\xd0\xda\xc3\xb6\x14\x34\xea\x08\x8f\x38\x1b\xa0\x8b\xc1\x58\x31\x89\xa4\xa7\xc8\xb6\xad\x18\xf7\x32\xd7\x4e\xff\x3a\xce\xf4\xb6\x90\x4d\xf5\x8c\x64\x69\x43\x21\x51\x37\x2d\xf9\x32\x7a\xe7\x1a\x0f\x35\x6c\x94\x46\x8d\xcf\xc2\xe4\xa5\xc0\xe4\xec\x0b\x16\x6d\x90\xcd\x46\x5f\x92\x60\xeb\xd6\xa7\xa6\x2c\xe6\xc7\x15\xbc\xc7\x15\xbe\x0c\x7e\x1f\x28\xc4\x45\x60\x12\xd3\x31\x77\xa7\xd4\x11\x3c\x9a\x5a\x22\xac\xfa\xf2\xd6\xb6\x33\x09\x07\x8f\xc1\xb1\xba\xa8\xf3\x6c\x7e\x86\x6c\x1f\x97\x2a\x65\x00\xa5\xee\xa7\x92\x01\x65\x1a\x73\x05\x20\x8b\x6c\x93\xc4\x92\xbc\x77\xca\xcb\xc9\x9c\x9c\xde\xd1\x79\xe6\x64\xa2\xf4\xe1\x69\x38\xcc\x26\xfc\xa8\xb4\x33\xeb\x80\x12\xf7\xb3\xad\x19\xba\x1f\xb8\x58\xfe\x4a\x00\xfb\x3d\x1f\x8f\xd0\xed\xdf\x0c\x37\xdc\xdb\x2e\x5d\x35\xc2\x54\x6f\x22\xe8\xc0\xf8\xce\x90\xe2\xdf\x8a\xbf\x24\x82\x7a\x01\x9b\x2c\x33\xfc\x59\x0b\xbe\x71\x2f\x01\x92\x87\x00\x2b\xc2\x21\x7c\x0d\xc0\x93\x1d\xc8\xed\x8f\x50\xbb\x44\x2f\x8b\x2d\xe2\x78\x57\x36\x2c\xe5\xa9\xfd\x97\xf0\xfd\x1b\x2b\x92\x51\xca\xd2\xa4\xac\xa1\xa9\x4d\xe2\xe9\x53\x90\x2d\x72\x28\x14\x24\x07\x44\x3b\x1d\x51\x71\x07\x64\x8a\x7b\xab\x83\x07\x49\x87\xd0\x97\x8b\xc6\x1d\x41\x9b\xc8\x45\x91\xc9\x69\xc3\xd6\xf4\xe8\x6f\xc4\x73\x87\x37\xbc\x05\x58\x75\x5c\x11\x0a"}, -{{0x27,0x65,0x48,0x29,0x0f,0x3e,0x0f,0x90,0x05,0x15,0xdc,0x63,0x36,0x6c,0x03,0xfe,0x0f,0xc6,0xee,0x13,0x0c,0x21,0xfb,0x60,0xa4,0xdf,0x9c,0xf4,0x64,0x79,0x7c,0xda,},{0x7e,0x2a,0x35,0x78,0x00,0x0a,0x08,0x7e,0xdc,0xc9,0xe9,0x4f,0xde,0x50,0x9f,0xc4,0xbe,0x05,0xca,0x0d,0xd0,0x90,0xdf,0x01,0xae,0x11,0x21,0x12,0x35,0x36,0xf7,0x2a,},{0x88,0xa1,0x46,0x26,0x1a,0xd1,0x11,0xc8,0x0f,0xa4,0x29,0x95,0x77,0xe7,0x10,0xf6,0x85,0x9c,0xf0,0xd1,0xca,0x80,0xe5,0x12,0xa5,0x52,0xc7,0x25,0xb8,0x38,0x40,0x37,0xee,0xcf,0x64,0x65,0xce,0x97,0x58,0x5c,0x9d,0x66,0x0a,0x41,0xab,0x91,0x04,0xe5,0xf7,0xc9,0xb2,0xf8,0xec,0x6f,0xb2,0x1f,0x1d,0xdd,0x50,0xd6,0x5b,0x9b,0x66,0x0e,},"\xf0\xdb\x44\x2d\xe2\x9a\x7a\x1d\xed\x55\x0d\x12\x00\x02\xcc\x12\xab\xff\xf9\x8b\x1f\x57\x6d\x65\xbd\xe1\x6d\xea\xba\x68\x7e\x4e\x0b\x0d\x5a\x87\x48\xd7\x50\x3d\xa2\x96\x9c\x64\xd6\xa7\xc2\x8d\x27\xb6\xc9\x3a\xd2\x57\xce\x32\xec\xda\xee\x37\x5f\x43\xff\xf9\x7c\x43\x2d\x45\x3f\x71\x96\xc7\x09\xc3\xbd\xfb\x73\x88\xd4\xd8\xea\xf1\x39\xf1\x82\x94\x0c\xe1\x7b\x45\x52\xe2\xd2\x0a\xed\x55\x57\xba\x4d\x2a\xcb\xf8\x45\x73\x0c\x0a\x66\xb4\x5b\x40\x95\x0b\xaf\x6a\x94\x64\x37\xaf\x6c\x9e\x3b\x33\xa7\x9e\x04\xdc\xea\xe5\x7c\x2a\x54\x95\x42\xea\xbd\x21\x6b\xf1\x39\x48\xd4\x1f\xfb\x94\x83\xfe\x29\x80\x1f\xc8\xc1\x78\x28\x40\xde\xeb\x3f\xb4\xda\x31\x92\x78\x5b\xca\x13\xed\x0a\x9e\xff\x57\xd6\x13\x6b\xaf\xbf\x9d\xec\x69\x7b\x83\x24\x47\xb2\xb6\xe7\x30\xfa\x7f\x99\x95\xba\xc6\xb7\x83\x2e\xaa\x09\x90\x5e\xe4\x9d\x46\x5a\x5e\xe4\x50\xf5\x2d\x1a\x6d\x36\x4c\x61\x81\x44\xe8\x86\xe8\xef\x63\x3d\xc7\x9d\x0a\xf8\x93\xd1\x6b\x3e\xed\xa0\xfe\xfe\xfd\x87\x59\xf2\xa0\xda\x19\x30\x17\x0d\xd1\x9e\xb7\x8f\x0d\x7a\x7b\x74\x51\x54\x03\x37\x5a\x95\xbd\xbc\xce\x01\x8b\xc1\xed\xb0\x8d\x89\x7b\xb7\x98\xa9\x5e\x7e\x86\xa5\x2a\xf3\xd9\xb8\xa4\xa1\x4b\x03\x71\xd6\x34\x98\xdc\xb2\x01\x62\x48\xeb\xd0\xbe\x80\x0e\x9f\x21\xd5\x49\xe5\xe0\xe7\xb4\x89\x5c\xa5\xcb\x72\x5a\x0c\xab\x27\xda\x8a\x8b\x12\x99\xbe\x38\xa4\x26\x09\x00\xae\x10\xdf\x5b\xab\xa1\x1a\xe2\xba\xb7\x17\x9d\xd8\x45\x39\x69\x42\x9c\xcc\x4d\x41\x60\x55\xf2\xbc\xb9\x3c\x1c\xac\x6d\x7e\x80\x4c\xf8\x12\xdf\x14\x62\xf2\x2e\xe9\xe8\x33\xa9\x76\x9e\x8e\x67\x75\x50\x40\x2c\x40\x94\xdf\x21\x2f\xd2\xc5\xfc\xc0\x9a\x72\xc7\xce\x00\x77\x51\x00\x73\x09\x0d\x0e\x63\xdb\x63\x7d\x43\xd4\xc2\x1f\x86\x19\xd3\x4d\xa5\xdb\x08\x03\x3f\x68\x6c\xe8\xb8\xa0\x82\x12\x22\xf9\x54\x34\xac\x4e\x6f\x70\x30\x94\xed\xde\xd6\xfb\x1b\x84\x6e\x97\x96\x50\x97\x9d\x3c\x77\x45\x3f\x40\xf7\xfe\xe7\xc3\xe8\x8a\x96\xfd\x1d\x70\x2e\x81\xc2\xa4\xf3\xf3\x75\x3c\x79\x64\x84\x2d\xfd\x9d\x39\x58\xa7\x43\xda\x06\x3d\x1d\x64\x8e\x51\xb2\x10\xa2\x8e\xd2\x48\x7f\x14\xd5\xf1\xbc\x6f\x33\x9b\x2d\xd1\x7a\x66\x1c\x39\x73\x6d\xa9\x9e\x4a\x4f\x07\x36\x03\x42\xd2\x37\xe3\x81\x3e\xa3\x99\x8d\x66\xeb\x31\xa2\xd7\x08\xaf\x06\x5c\x32\xb9\x27\xf7\x57\xc3\x7a\x80\x06\x60\x67\x4e\x97\x17\xba\x58\xf2\x80\xeb\x2a\xa4\x64\xfa\x74\x40\x21\x08\xa5\xd5\x66\x2e\x8d\x0f\xea\xf3\x29\x68\x7a"}, -{{0x97,0x2c,0x06,0x16,0x55,0x6e,0xf2,0x2c,0x21,0x48,0x68,0xfd,0xd8,0x22,0xc5,0x57,0x39,0xe1,0xf9,0x6a,0x93,0xae,0x83,0x51,0x2a,0xfd,0xa9,0xca,0x7a,0xa7,0x4c,0xd2,},{0x9e,0x1c,0x6d,0x41,0x07,0xf8,0xab,0x81,0x61,0xc5,0xdb,0x5b,0x88,0xa3,0x7c,0xa1,0xde,0x9f,0x4e,0x29,0x13,0x67,0xab,0xb1,0xef,0xc8,0x4f,0x83,0xf7,0x07,0x69,0x53,},{0x54,0xdd,0x06,0xfb,0xb3,0xd7,0xc6,0x3f,0x8c,0xda,0xf7,0x83,0xc2,0xd7,0xba,0xc1,0x6b,0x4c,0x82,0x6e,0x2d,0x1b,0x18,0x07,0xc8,0x4e,0x04,0x9f,0x64,0xe2,0x71,0xb2,0x1c,0xfa,0x3e,0x37,0xc3,0x44,0x26,0x02,0x87,0x80,0x5d,0x71,0x88,0x06,0xb6,0x2c,0x56,0xb4,0x7f,0x6d,0x5c,0x50,0x81,0x25,0xc9,0xfb,0x5d,0x5e,0xa3,0x5f,0xd5,0x01,},"\x86\x89\xe2\xf9\x5c\x8f\xd5\x0d\xc4\x46\x64\xa1\x8f\xb1\xa9\xf2\xc8\xf3\xee\x73\xc0\xf9\x58\x7e\xe2\x8b\xfa\x35\xc9\x23\x1c\x75\xbf\xd3\xd9\x53\x41\x74\xe5\xad\x3f\xa9\xf0\x92\xf2\x59\x94\x2a\x0f\xf0\xba\x2c\xa2\xcb\x59\x04\x3d\x19\x2c\xa8\xe3\xc8\x86\x9b\xed\xd2\x35\x4c\xbc\x5a\xc7\x82\xd7\x27\xc0\xb6\x94\x07\xf6\x8d\x13\x26\xdf\x65\xa6\x0c\x4d\x32\xf8\x7f\x19\xa1\x0f\x3d\x76\x5f\xf9\x23\x43\x4f\x55\x11\xd1\x34\xd3\x97\xc4\xfe\xf6\xbb\x19\x53\xab\xfc\xe6\x08\x27\xc3\x59\xaa\x4b\x54\xf9\x12\xaa\x8b\x17\xb8\x3d\xcc\x7e\x3b\xcb\xc5\x05\xba\x04\x6f\xe5\x7c\x16\xda\xcf\x4e\xe2\xfa\xd5\x38\xbc\x06\x81\x7c\x9b\x9d\x8d\xbc\x5f\x9d\x9b\xbf\x9f\x4a\x93\x4f\x14\xa4\x2c\x29\xe0\xe2\xf3\xa4\x9f\x46\xb2\x0e\xe7\x6c\xfe\x20\xde\xa1\xe9\x74\x50\xeb\x6a\x8f\xda\x04\x81\x68\xdd\x82\x78\x10\x20\x7f\x00\x5a\x3c\xaa\x93\xca\x11\xf4\xee\x60\x8a\x7a\x93\x55\x49\x43\x13\xae\xc8\xd7\x07\x5a\xfc\x94\xc7\xcc\xcc\x75\xc2\x31\x9b\xb4\x58\xc0\xce\x37\x3e\x9d\x00\x7f\x75\x3b\x33\xb5\x27\x93\xd5\x84\x96\xb2\xd2\x5c\xd1\xdc\xd7\x83\x2a\xac\x5d\xdb\x38\xf4\xdb\x19\xc4\x27\x21\x9e\x1a\x04\x20\xea\xd4\x7b\xa9\x5a\xb6\xd8\x9c\x65\x93\x90\x41\xcc\x73\x4c\x08\xeb\x6b\x47\x6c\xaf\x7f\xc7\x6c\x59\x8d\x94\x7f\xf4\x44\xb1\x07\x70\xf6\x29\x45\xae\x65\x04\x4f\x78\x09\x82\x99\xe2\x62\x6b\x63\x8a\x73\x28\xd1\xb7\xda\xa5\x88\x9e\x8d\xb9\x4b\xbf\xf2\xde\xd6\x2e\x14\x46\x37\x60\x22\x7c\x3f\x32\x6e\xd4\x93\x56\x5d\xdf\x0a\x17\x61\xb8\xe4\xbb\x7d\x24\x10\xfa\x0f\xdb\xf3\x56\x84\x39\x7e\xef\xea\x95\x89\x58\x89\xa0\xa9\xdf\xfc\x5e\x02\xc0\x92\x38\x3b\x7c\xe7\x4d\x2d\x90\x93\x99\x16\xf2\x6b\x71\xaf\xd2\x65\xf8\xbe\xc7\x4f\x0d\xe2\x47\xc9\x64\x39\x05\x58\x3d\xf3\xce\xe2\x35\x37\xd6\xb5\x68\xc8\x33\x8c\xe5\xfe\xe4\x2f\x7d\xd1\x5d\xad\x52\x47\xf0\x09\xac\xbf\xd5\xd7\x69\xb6\x36\x69\x59\xcd\x0a\xe1\x50\xf5\x8f\x7c\x80\xfa\x10\xd9\x89\xed\x90\x11\x93\x72\xe5\xfe\xa5\xda\x48\xa4\xe8\xea\x9c\x72\x78\x75\xdc\x4a\x20\x05\xb0\xdc\x2e\x3f\x69\x7c\x0c\xe0\xa4\xbd\xb2\xf7\x50\xc0\x4f\xbc\x0c\x27\xd0\x2d\xd8\x28\x6e\x54\xc9\xc3\x95\x9b\x6f\xfb\xdb\x1d\xe2\xaf\xfe\x9e\x78\x26\x51\xe5\x16\x8a\x50\x0a\xfe\xd0\x37\xb3\xe1\x79\x0d\xdd\x59\x38\x51\xa6\xa6\xcc\xca\x9f\xff\xb4\xa9\x9e\x27\xdf\x43\x81\x88\x71\x53\x6a\xb0\x4f\x14\xa0\x6a\x1c\x7c\xb4\x7b\xed\x62\x41\xce\x74\x30\xad\x3e\x64\x0a\x72\x67\x52\xfa\x06\xa9"}, -{{0xe0,0x40,0x5d,0x37,0x89,0x3e,0x89,0xf5,0x38,0x11,0xd6,0xd4,0x46,0xe1,0xf1,0x93,0xf5,0x1a,0xfa,0x1b,0xbb,0xa7,0x25,0xf9,0x5e,0xb4,0x80,0x33,0x42,0x4a,0x25,0x09,},{0x45,0x10,0x4d,0x59,0x5e,0x44,0x3e,0x8c,0xe6,0x54,0xde,0x9d,0x65,0x50,0x54,0xbf,0x0a,0x99,0xd3,0x56,0x13,0xd7,0x7d,0x57,0x45,0x4c,0xa2,0xd1,0xc8,0x99,0xb5,0x17,},{0x77,0xdd,0xd4,0x91,0xca,0x66,0x2e,0xbf,0xfb,0x12,0xf7,0xf4,0x92,0xd7,0xfb,0xc1,0xa1,0xb4,0x47,0xf6,0xc8,0x59,0x98,0xf2,0xf7,0xcc,0x9a,0xdc,0xe6,0x7d,0xe6,0x3b,0x6e,0xeb,0xd0,0x81,0x17,0x84,0x5a,0x03,0x02,0xf7,0x34,0x97,0x14,0xba,0x9d,0xb2,0xaf,0x58,0x04,0x8b,0x85,0x83,0x7d,0x76,0x60,0xec,0x3d,0xeb,0xee,0xe2,0xd0,0x0f,},"\xdf\x58\xc4\xfd\x07\x02\xa2\x0f\xaf\xa3\xd1\xd4\xfe\x7d\x85\x93\x8b\x12\x0f\xc1\x1e\x8d\x41\xb6\x01\xf0\xe6\x0e\x42\x23\x6a\x49\xf1\x26\x81\x3b\xd5\x12\xee\x71\x35\x90\x61\xe1\x3e\xb3\x14\xd4\x17\xf5\x6d\x6d\x56\x02\x85\xfa\x89\x91\x21\x32\x84\xc4\x2b\xc2\xce\xf2\xdc\x93\x7b\xdc\x0b\x5e\x9d\xc2\x26\x9a\xfa\xb3\x2d\xb3\x0e\x68\x49\x85\x59\x51\xcf\xbc\x53\xec\xfa\x01\x64\x38\x63\xe0\x32\x89\x95\xfe\x85\x0c\x0d\xb5\x54\x21\xbf\xa5\x64\x60\x1b\x8c\x9d\xb7\x55\x2c\x7e\x6a\xa7\xad\xfa\x15\xa5\x80\x21\xa8\x42\x66\xe9\x59\x5c\x65\xfc\xa4\xa1\x5f\xa7\x0f\x55\xf5\xd2\x12\xc9\xe2\x77\xff\xb8\x30\xf4\xca\xd1\x86\x1f\x3f\x49\x5a\x9d\x67\x2f\x56\x91\x31\x06\x39\xc1\x2d\xcd\x07\xe3\xef\x17\xa2\x37\x50\xbc\xb4\x6b\x7a\xd7\xea\xc4\x62\xeb\x51\x22\x25\xf3\xbe\x7e\x32\xf8\xf4\x98\x7a\x11\xdf\x34\x11\x66\x06\x2b\x43\xc6\x3a\xb8\x58\xa6\x00\x49\x76\x67\xfb\xb8\x8e\x93\xc7\xe2\xe0\xaa\xb4\x1c\x09\xc0\x23\xeb\x90\x2e\xc3\xba\xf6\x79\xe2\x5b\x96\xe1\x06\x92\x1a\x91\x4f\xd5\xde\x20\x0a\x47\x88\x9d\xe2\x3e\x7b\x65\xd0\xcc\xdf\x0c\x29\x03\x64\x67\xa1\x21\x0c\x00\x30\x30\x9a\x2d\x04\xec\x25\x6d\x5a\x4d\x8b\x97\xd4\x6a\x3e\x15\xf3\x45\xb6\x67\x17\x08\x03\xcd\xac\xf6\xcb\x48\xad\xd0\xa1\x34\x62\xdd\x30\xfa\x06\x2b\xd4\x56\x66\x41\xda\x07\xd7\xf6\x1e\x06\x36\x86\xed\xd9\x6b\xfe\x8f\x97\xb9\x86\xb7\xc0\xe4\x42\x49\xcd\x2d\x73\x17\x47\x29\x99\xb8\xee\x4e\xa8\x0c\x90\x2f\x3b\x18\x89\x36\x71\x2e\x89\xd8\xbf\x02\xce\x8a\xe7\x7b\x6b\x31\xab\xb0\x63\x20\x65\x45\x5d\xdd\x9f\x9d\x1c\xd9\x53\xa4\xa4\x9a\xac\x1a\x15\x16\x9e\x68\x7d\x4f\xd3\xf7\xc2\xed\xfb\x3a\xab\xc3\xb6\x61\x55\xf7\xd3\x15\xf8\xa2\x94\xfa\xdd\xff\xdb\x49\x51\x36\x7a\x0c\xb8\x70\x75\x9e\x85\xa8\x38\xaf\x66\xba\x3f\xc1\x03\xda\x2b\xab\xc3\xf3\x81\x69\x6e\xf8\x88\x2d\x85\xa8\x27\x8d\x5f\xac\x3a\x72\xf1\x6e\xb1\x19\xee\x99\x00\xb1\xfd\x98\x6c\x2a\x9f\x94\xee\xd8\xe0\xd4\xf2\x73\x69\x7e\x43\x63\xa9\x75\xff\x6a\x7b\x80\xd5\xb4\xec\x53\x55\xbf\x63\xb4\x2b\x71\xcd\x48\x42\x40\x1d\x38\xb5\xe0\x0c\xc9\x7b\xfd\xa4\x0e\x45\x66\x53\x68\x3b\xc8\xe6\xda\xde\x7d\xcf\x98\x5a\x97\xb0\xb5\x77\x6c\x4d\x72\xca\x13\xa1\x47\x4e\x4e\xb2\xec\xcf\xcd\x42\x87\x86\xdd\xd0\x24\x6d\x73\xa6\x37\x7a\x79\xcb\x8d\xa7\x20\xe2\x26\xc1\x94\x89\xbd\x10\xce\xdd\xe7\x4b\x49\xfa\xc2\xcf\xa2\x07\x12\x9c\x6a\x10\x8a\xa1\x64\xbe\x9d\x80\x9c\x4d\x31\x14\x73\x60"}, -{{0x57,0x56,0xe7,0x52,0xdf,0xf6,0x9e,0x3e,0xed,0x84,0x8e,0x4a,0x49,0xc7,0xa8,0xba,0xca,0x12,0x15,0x4f,0x94,0x31,0xde,0xc3,0x56,0x26,0xef,0x8d,0x75,0xa4,0x45,0x14,},{0x59,0x10,0xef,0x00,0xa5,0xb3,0x54,0x14,0x3c,0x46,0x56,0x1d,0xa6,0x2c,0x41,0xaa,0x13,0xd2,0x9c,0x18,0xdc,0x61,0x53,0xbf,0x8e,0x50,0x2e,0x01,0x14,0x00,0x77,0x28,},{0x81,0x57,0xd8,0x33,0x4d,0xed,0x1a,0x32,0x69,0x9b,0x35,0x0a,0xc0,0xd4,0x12,0x00,0x28,0xcd,0x8e,0xf8,0x18,0x94,0x48,0x93,0x48,0x50,0xe5,0x0e,0xe4,0x99,0x9d,0x8f,0xa2,0xcd,0x25,0x76,0x46,0xd9,0x2f,0xba,0x5d,0x66,0x2a,0x82,0x3e,0x62,0x20,0x8a,0xb4,0xfb,0xe0,0x17,0x14,0xa8,0x48,0xa0,0xb9,0x0b,0x55,0xad,0xcd,0x24,0x69,0x02,},"\xeb\x21\x90\xa3\x21\x9c\x79\x2b\x66\x66\xb2\x75\x27\x33\xad\x9f\x86\xfc\x39\x01\x55\xc4\xb4\x38\xbe\x19\x69\x59\x38\x3b\x25\xf3\xa7\x49\x53\x0d\x5a\x4b\x15\xeb\xe2\xc1\x8d\x99\x17\x8e\x6d\x45\xbb\x4a\xa2\x12\x0f\x95\xa3\x52\xe0\x40\x6c\x63\xac\x86\x72\x48\xd9\xef\xba\x12\x42\x31\x06\x48\x73\xc8\x2f\xe9\x95\xdd\x03\x1c\x7c\xbc\x7d\x15\xec\x19\x1f\xbb\x6c\x47\x4d\xc4\xc7\x77\xe8\xf4\x57\x84\x1e\xb4\x62\x48\x41\xc1\x52\xd1\x5e\xde\x26\xe7\x84\x79\xa6\xa2\x5f\xfa\x33\x55\x63\xf1\x06\x4e\xf0\x95\x58\xb9\x10\xe2\x60\x84\x18\x82\x0f\x49\x55\x4b\x67\x0c\x6b\xab\x34\xd1\xd6\x09\x84\xde\xa5\x0e\xd6\xa3\x75\xf4\x5a\x74\xbe\xad\xfb\x04\xbd\x93\x00\xbd\x59\x4e\x2e\x20\xea\x5d\x30\x52\xbb\x7d\xdc\x51\xa9\x49\xa0\x04\x79\x72\x68\x2e\xbe\x66\xd3\x8a\xac\x62\x92\x72\x70\xde\x42\x15\x0d\x58\x22\x1d\x03\xb8\xac\xe3\x58\x99\x33\x48\x7b\xf2\x3d\x29\xc5\xc2\xc8\x43\xae\xfa\x2e\x1c\xa2\x2f\x9d\x16\x80\xf8\x0c\x76\x6d\x14\x3c\xe5\xec\xef\x25\x3a\x74\x5c\xb7\x1e\x72\xf6\x50\x4a\xd9\x11\xf7\xcb\x4a\x81\x9c\xd0\x74\x86\x3a\x92\x70\x69\x29\xa3\x14\x2f\x8d\xb7\xac\x16\x41\x02\xac\x2c\xa0\xd2\xe1\x9a\x72\x5e\x1b\x5f\x81\xf4\x43\xc7\x3e\x04\x84\xf2\x6a\x45\xa3\xae\xf8\x4f\x1f\x3f\xa0\x4a\x4a\xc6\x95\xd2\xda\xb6\xef\xba\x45\x6a\x28\x1a\x39\x73\xcc\x18\x6e\x68\x0a\x66\xdf\x52\x1a\x4d\x1f\x9e\xdf\x4d\xfb\x27\x4a\x42\x70\x97\xbf\x86\x32\x81\xcf\xb0\xed\x80\xf8\xd7\x67\x66\x38\xd6\xcd\xac\x93\x78\x43\xef\xbc\xfc\xe9\x1d\xe1\xdf\x6c\x52\xb5\x94\x57\x1b\x93\x15\x60\x0e\x4b\x65\x52\xde\xfb\x84\x37\xa8\x07\xba\x21\x29\x8e\x3d\x97\x22\x12\xba\x31\x46\x92\x91\x7f\x40\x07\x53\x11\xac\xd0\x09\x39\x52\x41\xb9\xf1\xb2\x56\xc5\x15\x73\x5d\xc6\x74\xf8\xe8\x66\xd1\xee\xb4\xc3\x28\x54\x8a\xee\x71\x23\x1c\x4c\x9d\x5b\xd2\x2e\x39\xde\x88\xd1\x9f\xab\xf4\x9f\x0b\x98\x69\xcb\xf8\x35\x21\x4b\x15\x52\x2a\x93\xd3\xa5\x00\x7b\x11\xf0\xb5\x0e\x52\x28\xd4\xee\xbb\x45\x71\xb3\x5d\xa8\x4f\x4f\x68\x7e\x3f\x43\x79\x3d\x54\xf3\x82\x5b\x37\xa5\x09\xea\x56\x4b\xdf\x21\x7f\xf4\xad\xf6\x84\x7b\xbe\xa4\x31\x6a\x1d\xbc\xc7\x44\x8e\xcd\x53\x63\xea\xab\xc1\x28\xde\xcf\x05\x4e\xe1\xa0\xee\x2d\x87\x19\x79\xf8\xa6\x3b\x26\x92\xb0\x9f\x6e\x98\x6a\x13\x8e\x7f\x68\xf6\x0a\xa4\x26\xa1\xc9\xb0\x1a\x49\x02\xe1\x3b\x17\xbc\x83\x12\x41\x0c\x28\xbe\xd2\x9b\x60\x1b\x0f\xc9\xf3\xbc\x2d\x22\x3f\x87\x52\x51\x10\x0f\x86\x9c\x6b\x58\x44"}, -{{0xb9,0x04,0xac,0xb1,0x9e,0x5c,0xf8,0x72,0xd3,0x64,0x0c,0xd1,0x8d,0xdf,0x3c,0x0b,0x66,0x57,0xe0,0x11,0x7c,0xe6,0x59,0xdb,0xf5,0x02,0x59,0x01,0x5d,0x3f,0xbf,0x32,},{0xe0,0x4a,0x8a,0xa5,0x6d,0x18,0x18,0x48,0x3b,0x10,0xd0,0xa7,0xc9,0x19,0xe1,0xd5,0xd8,0x00,0x1e,0x35,0x51,0x0e,0x1e,0xc6,0x2f,0x71,0x14,0xdb,0xe8,0x1a,0xe0,0xbe,},{0x9a,0xaf,0x8a,0xc9,0x71,0x40,0xd5,0x50,0x8d,0x58,0xf5,0xac,0x82,0xb7,0xfd,0x47,0xe6,0xb1,0xf6,0x8a,0x7c,0x78,0xa2,0xac,0x06,0xf0,0x41,0x6e,0xf8,0xe9,0x91,0x95,0x3f,0x62,0xc4,0x7f,0xd5,0xfb,0xc6,0xc1,0xe0,0x1b,0xae,0x1c,0x92,0xa3,0x3e,0xf5,0x2b,0x7e,0xfa,0x5f,0x17,0xbb,0x86,0x33,0xbd,0xc1,0xae,0xeb,0xce,0x31,0x8f,0x0f,},"\x83\xf4\x12\x4d\x5a\xf9\x55\x13\x9b\x1b\xc5\x44\x1e\x97\xc5\xfa\xc4\x91\xb4\xea\x91\x14\x07\xe1\x54\x20\xa0\x34\x7e\xd7\xfa\x1f\x88\x19\xe3\x6c\x8e\xd5\x74\x0c\x99\xd4\x50\x5a\x78\xb6\x19\xd5\x60\x74\x9a\xf5\x0b\x05\x73\x51\x08\x16\xd6\x13\x22\xcd\xa9\x76\xa5\xd4\xca\x32\x05\xf5\xf0\xe6\x0e\x75\x9a\x5d\xf1\xa0\xbd\xf3\x6d\xfe\x97\x17\x90\x6a\xc5\x7c\xbf\xc9\x70\xab\x43\xb6\xfa\x18\xe6\xc0\x00\x6c\x84\xfc\x72\x54\x47\x0a\x0b\x77\x47\x27\xbf\x5f\x8e\x67\x94\x23\xa5\x31\xe4\x1c\xb5\x31\x0f\x9b\xcb\xf5\xa5\x44\x5e\xbc\x39\xfb\xd9\x09\xce\x11\xe9\x7b\xc2\xf6\x6a\x4a\x1b\xb6\xc2\xf1\x67\xf2\xc6\xe8\x0e\xb9\xb8\xb7\x2d\xf3\xe8\xcf\xd4\xe5\x14\x48\xdc\x14\xc0\xb8\x37\xf2\x94\x96\x93\xd1\xd0\x54\xc8\xf9\x5b\xff\x7f\x1e\x36\x45\x67\xd0\x34\xf2\x22\x3e\x15\x94\x77\x2a\x43\xdc\xfe\x05\x97\xfd\x6d\x13\x3b\x3f\x2e\x96\xff\xc5\x66\x7d\xd5\x92\x8f\x23\xec\x3c\x75\x0f\x84\x59\x93\xa3\x4e\x97\x76\x15\x9a\x68\x30\xd6\xfd\x90\x13\xee\x7a\xea\xa1\xfc\xcd\x69\xb9\x6d\xf2\x84\x70\x4f\xd0\x88\x88\xb1\x5b\x64\xe2\xe9\x0d\x57\x8c\x5c\xfc\x0f\x95\x69\x3f\x6a\xb6\x5c\x69\x47\x44\x6a\x85\x7c\x02\x9c\x7c\xa6\x60\x80\xb7\x54\xc7\x73\x4b\x78\x99\x8a\xbe\x9b\x7c\xc6\xef\xd0\x9a\x44\x18\x19\x4d\x88\xb3\x4e\xc6\xc3\x3a\xf6\x30\xdb\x81\xde\x5b\x99\xfe\x65\xaa\xc8\xb7\x33\x62\x37\x91\x19\xc7\x00\xd1\x07\xed\xfc\x19\xf2\x70\x76\x04\x68\xee\x8e\x5f\x15\x5d\x9a\x34\x7e\x57\xb5\x93\x0f\x32\x7a\x8d\x11\xc6\x67\x4d\xdd\x02\x0f\x9e\x7d\x9b\x76\x1d\xba\x5b\x83\xa8\x73\x02\xf1\x83\x3e\x5a\xbd\x49\x52\x6d\x66\x39\x1e\x5b\xf0\xe3\x5b\x44\x53\xd6\x30\xbf\x7d\x0a\xdb\xfe\x50\x1a\xef\x81\xe6\xc5\x93\x8f\x92\xcb\x75\x2f\x5f\x14\xd2\x80\x6f\x90\xae\x15\x46\x05\x1c\xcc\x7f\x91\x3c\x5d\x6a\x38\xff\x3b\x7b\x9a\x23\x66\x2e\xf1\xf0\x08\x08\xed\xb2\xfa\x31\xec\xba\x5c\x8d\x33\x87\xe8\x75\x41\xcd\x06\x16\xed\xbf\x3a\xaa\x35\xa5\x37\x92\x28\x61\xf4\x4c\xbd\x9f\x99\x2b\x82\x46\xd9\xc6\x4c\x41\x98\x81\x70\x1a\xb4\x3f\x7f\xd4\x64\x21\x0d\x80\x2b\xa6\x56\xd9\x5c\x0f\x24\xa3\x45\x99\xb2\x0b\x1e\xc2\x00\x11\x48\x5c\xfc\xb3\x18\x6b\x7b\xcf\x69\xd7\x45\x81\xa7\xa3\xee\xd6\x13\x4c\x4e\xec\xd6\x55\x74\xa4\x32\x0d\x9c\x57\xa8\x49\xc4\xe7\x8c\x8a\x5c\xe8\x25\x05\x00\x4a\x54\xf1\x9d\x4b\xdc\x82\x23\x40\x1b\x34\x94\x6b\x7d\x66\xe4\x7e\x63\xcf\x9d\x0f\x57\xd0\x94\x54\x91\x38\x4b\xc6\x86\x8c\x4b\x47\x86\x90\xe5\x50\x02\x1d\xf1"}, -{{0x8a,0x35,0x01,0xb7,0x69,0x53,0x60,0x3c,0x90,0x33,0xe3,0xbc,0xbf,0x3e,0xc3,0x78,0xd2,0x57,0x01,0x1a,0x6c,0x50,0xb8,0x97,0x62,0xd4,0x91,0xea,0xa7,0x2c,0x5e,0x0d,},{0x77,0x8f,0x20,0x19,0xdc,0xd8,0xdb,0xb8,0x6c,0x67,0x37,0xcc,0x8d,0xc1,0x90,0xc5,0xa0,0x4c,0x50,0xb5,0xbf,0x45,0x88,0xbc,0x29,0xfa,0x2a,0x47,0xaf,0x25,0x26,0x72,},{0xa8,0xa3,0x09,0xba,0x52,0x12,0x5e,0x76,0xa4,0xa6,0x1e,0xb4,0x3f,0xd4,0x13,0x5c,0x41,0xab,0x11,0x79,0x9b,0x91,0xcc,0x54,0xff,0xc9,0xc6,0xa2,0x0f,0x05,0x0c,0xc5,0x95,0xb2,0x81,0x43,0xc8,0x74,0xbd,0xb9,0x28,0xbe,0xed,0x26,0x1d,0x9c,0x0f,0x12,0xaa,0x19,0x2e,0x66,0x40,0xbf,0xda,0xd5,0x4b,0xa0,0xd4,0x78,0x42,0x6b,0xce,0x09,},"\xe6\x09\xf1\x22\x4a\x6a\x45\x11\x40\xcb\xc0\x25\x4d\x43\x2c\xe5\xfd\xdd\x08\xa8\xe9\x12\xf8\x1c\x41\x2f\xdf\xd5\x18\x2f\xf6\xac\x2f\x13\xc5\x76\xc8\x14\x5b\x15\xf2\x5b\x40\x9d\x85\x3f\x91\x44\x09\xe4\xe0\x2c\xef\xc3\x9d\x9b\xef\x4a\x2a\x06\x04\x98\x57\x0b\x2d\x3a\x28\x38\xc9\xb0\xb8\xe3\xaf\x4f\xc3\x7e\x19\x15\xf8\x04\xa8\x01\x88\x58\x5b\x30\xb6\x8a\x3f\xfb\x2e\x96\x0c\x73\x20\xe8\x27\xd2\xfe\x36\xe6\xa3\x28\xcc\x6e\x78\x06\x34\x8a\xdb\x0b\x77\x3b\x78\x4d\xe5\x29\xbb\x6f\x64\x75\x1b\x21\x05\x85\x94\x94\xfd\x49\xdb\x0b\xc7\xf6\x2d\xf4\x6b\x9d\x7c\xe6\x76\x97\x5c\xc5\xf4\x38\x56\x49\x84\x36\x81\x2e\x04\xf2\x6f\xb8\xb8\xab\x7e\xba\x12\xf1\xd5\x67\x22\xeb\x82\xeb\xfa\xfa\x47\x35\x97\x7a\x26\x68\x1c\xb0\x3f\xa4\xbc\x69\x51\xab\x9c\xbd\xf7\x87\xe3\x27\x8f\x2f\x57\xf2\x9e\x12\x09\x5f\x8c\xa2\xa1\x78\xcf\xa7\x57\x13\x37\xf0\x27\x42\x37\x66\x9f\x97\x65\x7d\x4b\xad\xb3\x94\x36\xd7\x86\x49\x25\x80\xfd\x55\xd8\x6b\xe3\xa0\xcd\x17\xd1\x60\x57\x01\x7b\xaa\xae\xa0\x0c\x1e\x14\x55\x21\x59\xbc\xab\xc0\xe6\x66\xba\xd3\x41\x8e\x4e\xc1\x3b\xfe\x16\x3b\xe2\x56\xf0\xc8\x9b\xc2\x34\x4a\x8d\xdf\x99\xca\x81\x60\xb1\x89\x87\x5a\xd3\x22\xd9\x0f\x58\x13\x25\x28\x1d\x53\x89\x96\x5c\x0a\x7b\x7b\xca\xe2\x29\x4a\x3c\xbe\x35\xa4\xe4\xe8\x3b\x54\xc4\x27\x63\x53\x96\x0f\xad\x11\x85\x32\xd4\x9b\x70\x76\xf2\x5a\xd1\x90\xab\x56\x94\x91\x4f\x71\x08\xb0\xab\x69\x69\xa1\x91\x28\xfb\x0a\xef\x00\xe6\x5a\x04\xfc\x83\x2d\x07\x69\x61\x67\xb9\x34\x2b\x35\x5e\xc5\x77\x37\xca\x37\xcb\xff\x3b\xb3\x19\x31\xcb\x58\x71\x2a\x4c\x46\x89\x52\xc6\x45\x9d\x56\x7a\x26\xe7\x95\x01\xe4\xe3\x1b\x1b\x09\x53\x53\x76\x32\x02\x9e\x9b\x49\x0f\x72\xe5\xa6\xe0\x57\xdd\xb4\xb3\x17\x56\xfd\x97\x04\x21\x8b\x1b\x8f\x4d\xcb\x54\x30\xc0\x25\x04\x2f\x47\x16\x9b\xfc\x7c\x80\xd7\x1c\xab\x8c\xa0\x7f\x34\x0a\xfa\x00\x8a\xbb\xe2\xe3\xa0\xab\xe1\x41\xda\x8d\x41\xca\x6b\xd6\x9d\x36\xfd\xb1\x1a\x41\xce\x0b\x72\xfa\xbc\x00\xd9\x7e\xa6\x05\x27\x00\x10\xb2\x59\xdf\x8e\x10\xdd\x22\xdc\x17\xc1\x39\x90\xa0\x5f\x02\x33\xe3\xca\x85\x6b\x40\x97\x1c\xb3\xe2\x1c\x8b\x39\x50\xb1\x3f\xc8\x4e\x1f\x26\x6c\x2a\x6f\xbe\xce\x88\xd5\x97\x25\xc3\xcf\xb2\x22\x5d\xbc\x1e\xe9\x5b\x68\x6d\xb7\x04\xfc\x93\x7b\x76\x6f\x0a\x9b\xfe\x95\xa4\x2b\x90\x10\xf1\x22\x9c\x61\x0d\x7e\xde\x09\x57\x12\xc8\xf0\xf1\xfb\x00\x47\xc0\x40\xa8\x70\x30\x6c\xd8\xdc\x74\xc4\xda\x51\xbf"}, -{{0x42,0xb5,0x36,0x52,0xd0,0x8b,0x5d,0x76,0x6e,0x66,0xad,0x8f,0x3e,0xbf,0x69,0x3c,0xfd,0x77,0x90,0x7c,0xad,0xd9,0x8b,0x54,0x66,0xdf,0x77,0xdf,0xa2,0xc6,0x37,0xad,},{0x88,0x46,0x3b,0xb8,0xa4,0xb6,0x38,0x8d,0x92,0x4c,0xb8,0x62,0x09,0x83,0x41,0x95,0x43,0x5d,0x79,0xd7,0x7f,0x8c,0x02,0xf4,0x6b,0xbd,0x16,0xd8,0x2e,0xfe,0x42,0xb3,},{0x30,0xc4,0xb9,0x9e,0x68,0xec,0x33,0x51,0x30,0x8f,0xbc,0x76,0xd9,0xca,0xf0,0xaf,0x62,0x21,0xb5,0x96,0xb7,0x01,0x7f,0xe1,0x0c,0xc6,0x33,0x02,0x3b,0xa9,0x7f,0x02,0x38,0x96,0xfe,0x32,0x2b,0xaa,0x34,0x76,0x60,0x61,0x0e,0x05,0xfa,0x49,0x3d,0x21,0x8f,0xa3,0x60,0xf1,0x8d,0x93,0xe2,0x75,0xd1,0xef,0xf6,0x66,0xb6,0x3d,0xb2,0x04,},"\x9e\xe9\x13\xc7\x4e\xe3\xc5\xe8\xc9\x0d\x64\xb8\xae\x3a\x60\x04\x9f\xc7\x65\xe1\x76\x06\x0b\xcd\x1c\xd0\x9f\x0e\xda\x60\xbf\x23\xba\xdb\x8a\x1c\xaa\xc3\xd6\x6e\xbc\x52\x68\x14\x6e\xe4\xa5\x4e\x1e\xb2\x31\xed\x25\xef\xf9\x5b\x90\xa6\xe9\x83\x37\xa5\x40\xa3\xf4\x84\x49\x79\x4a\x48\x73\xbf\xc2\xe8\x47\x28\x96\x6b\xb7\xc6\xff\x67\x6a\x2f\xf5\x73\x11\xc1\xc2\x5e\x15\xfb\xf3\xd4\x0e\x9f\x25\xab\x5d\xb9\x1f\xdd\xb7\xa0\xae\x43\x6c\x8e\xc0\x70\x75\x4b\x6d\x74\x3a\xa1\xd6\x04\x8f\xb5\xbd\x7f\x5b\x8e\x4c\xca\xd2\x03\x28\x38\x95\x30\xf1\x13\x74\xa4\x89\xb1\xd5\x05\x31\xa3\x9c\x9b\x32\xb4\x03\x69\x62\x60\x06\xd2\x64\xa9\x9e\xec\x4f\xac\x13\x41\xf4\xe7\x46\x79\x45\x7b\x41\x8e\x6b\xbf\xba\x23\x3f\x1c\xa1\x58\xf7\xb2\x9d\x40\xd5\x03\x01\xf9\xd9\x25\x36\xfd\xc5\xc2\x3f\xe5\xde\xe4\xd6\xdf\x0e\xbf\x13\xdf\xa3\x75\x4a\x14\xc8\x56\x00\x9a\xde\xa1\xdd\xa4\x09\x30\x4c\x1f\x60\xd2\x53\x30\xfb\x10\x95\x79\x47\xa0\x05\x08\xf2\xfd\x76\x42\x2e\xac\x69\x4c\xc3\x9f\xa8\xae\x7f\xcc\x77\xa0\x2f\xd9\xee\x5f\x91\x0d\x93\xe8\xaa\xc6\x8f\x14\x5d\xd8\x78\x87\x6b\xa8\xed\xa0\xa4\x9f\xcb\x20\x9c\x34\xea\x22\x0d\x4d\x06\x05\x54\x6f\xc4\xa8\x09\xba\xf0\x10\xd5\x33\xe4\x5d\x17\xb0\xe1\x6a\x46\xe9\x1e\xa6\xfe\xc2\xcd\xc5\xa8\xb3\xec\x50\x14\xb2\x5e\x92\xd8\xe5\xc9\x28\xab\x06\x99\x3d\x4f\xe2\x3a\xc8\xd4\x5c\x89\x03\x78\xdd\x13\x3f\x00\xed\xb9\x37\xc0\x71\xf7\x5c\xfc\x13\xa4\x02\xe3\xe4\x29\xa8\x48\x65\x2a\x17\x5c\x9b\x6f\x6e\xac\x86\xf6\x18\x8a\x44\x48\xa9\x6c\xe2\x87\x2e\x5f\x65\xf9\xbd\xb8\x71\x66\xc9\xb8\x7a\x7e\x95\x8e\x80\xbb\x65\x66\xe3\xfc\xf8\x71\x19\x0c\xf4\xa8\x67\xe6\x12\xcf\xc1\xe4\x37\x1d\x2b\x73\xd2\xa0\xad\x0a\xa4\x00\xba\x69\xe6\x63\x36\x23\x3b\x0f\x3c\x52\xb8\xa6\x8b\xca\x05\x12\x56\x01\x25\x50\x46\xe6\xf4\x9d\x68\x8d\x2d\xb8\x5c\x7b\x82\x12\x70\x51\x6e\x3c\x06\x13\xf3\xf2\x3f\x9c\x57\xcb\x4c\x87\x14\x28\x5c\xdf\x95\xe1\x06\xa3\xb5\xaf\xca\xeb\x81\xb7\x2f\x34\x3e\x87\xbd\x92\xf1\x58\x1d\xcf\x9a\xa9\x0a\x02\x4f\xa4\xa1\x04\x80\x59\xe3\x0d\xe8\xff\x0d\x16\x79\x4d\xcd\x74\x5d\x2b\x2d\x53\x4c\x52\x0f\x82\x78\x53\x86\x74\xa9\x34\xc6\xf1\x4a\x84\x28\xe3\xda\x01\x8a\x36\xe4\x5a\xa5\x82\x7c\xf4\xb1\x52\x84\x34\x6f\xd6\x93\x63\x14\x92\x19\xbb\x0d\x1b\xc9\x27\xd8\xd1\x93\xc4\x82\x69\x2f\x97\xdc\x88\xd8\xed\x33\x7d\x0c\x9d\xc9\x9c\x7a\x5e\x11\x1d\xce\xd4\x22\x50\xd5\x80\xe2\x06\x92\xbb\x7b\x88"}, -{{0x14,0xcf,0xe0,0x0f,0xa7,0x19,0x0a,0xe8,0x10,0x88,0x8a,0xe2,0xbb,0xd0,0xff,0x64,0x12,0xcf,0x1f,0xd4,0x08,0xa3,0x08,0x29,0x43,0x83,0xa1,0x94,0x53,0xb5,0x90,0x73,},{0x4e,0x61,0xaf,0xe8,0xc1,0x74,0xb6,0xee,0x1a,0x29,0xfa,0x09,0xcf,0x87,0xb4,0x00,0x81,0x39,0xf1,0x07,0x0b,0xc8,0x53,0x1b,0x6d,0x06,0xf5,0x4c,0x95,0x62,0xa4,0xf3,},{0xf7,0x85,0xa4,0x6f,0x69,0xbb,0xd0,0x99,0xfa,0x01,0x11,0x24,0xba,0x90,0x32,0xc1,0x89,0x74,0x2c,0x9e,0x00,0x1d,0xbb,0x87,0x81,0xd8,0x22,0x33,0x45,0xa9,0x56,0x9d,0xc1,0x44,0xca,0x69,0x4d,0x90,0x24,0x5e,0x0e,0x51,0x3e,0x88,0xab,0x02,0x3f,0x7f,0x0f,0x99,0xb7,0x41,0x61,0x59,0x75,0x8d,0xd0,0x34,0xe7,0xa8,0x9c,0xff,0x36,0x00,},"\xbc\x66\xf8\x01\xda\xa8\x29\x85\x8e\x74\x02\x93\xd4\xd2\x18\x7b\x8e\x1a\x5a\xfb\xa5\xfd\x67\xb1\x09\x56\xc6\x53\x46\xac\xa9\x44\x29\xd3\x2e\x4c\xfb\x35\x84\xab\x0e\x00\x5d\x0d\xd7\x42\x78\x1d\x47\xe8\x94\x47\xc4\xe1\xd8\x1b\xf7\xe6\x15\x4f\x8f\x73\xaf\x03\x36\x1a\xd5\x6e\xa3\xc0\x60\x00\x75\x4b\x9f\x32\x7d\x4e\xde\xac\xc4\xd3\x48\xaf\xb5\x48\x23\xe1\xc9\xd4\x9c\xd8\xff\x2b\x19\xf4\x20\x21\xb4\x0d\x58\x0c\x39\xce\x3d\x24\x36\x61\xb8\x54\x21\xfe\xc9\x15\xba\x9d\xd2\x76\x2f\x85\x0b\xd2\x08\xfd\xbf\x20\xff\xab\xa5\x6a\x46\x86\x60\xf1\x7c\x00\xfb\x1c\x0f\x4e\x85\x27\xa5\x09\xdd\x4e\xec\x13\x36\x0c\xf6\xe3\xca\xc5\x42\xb8\x75\x18\x2f\x2a\x7c\xe7\xbe\x0a\x33\x30\x2f\xe2\x6d\x36\x29\x62\x93\x84\xe3\x5c\x06\x78\x9d\xe6\x34\xe9\x0e\x96\x4f\xbd\xa8\xcb\xba\x98\x11\x1e\x22\xe8\xd0\x76\x26\x84\x26\x6a\xab\x76\xae\xba\x4a\x38\x07\x78\x69\x68\x14\xa1\xe3\x11\x94\x3c\xb3\x50\x58\x92\x64\x0c\x44\xe3\xaa\xc4\x53\x0c\x50\xac\x60\x4a\x8d\x2c\xcc\x7c\xea\xbf\xfe\xa4\xaa\x3d\x7f\x48\xa6\x6d\xcd\x75\x88\xb8\x02\x09\xdb\xc1\x73\xf0\xc6\x63\xe8\xfc\x87\xa3\x6e\x89\x2e\xc9\xa3\xff\x8f\x60\xd2\xe0\xd8\x70\x4e\x5b\x6c\xbb\x87\x32\x75\x15\x1a\xd4\xcc\x00\x57\x16\x50\x31\x90\x50\x39\x65\x1c\xa1\x0a\x95\xc6\xfd\xa3\xb2\x78\x27\xa6\x57\xef\x9a\x5f\xc3\xeb\x5b\x53\xca\xc6\x1d\xda\xf5\xa4\x17\x04\xc8\x78\x57\x0c\xbc\x3c\x41\xc4\x75\xb1\x17\xc0\x5e\xab\x0b\xb1\x96\xbc\xb7\xc4\x33\x34\xde\xbd\x64\xb9\xe3\x74\x50\xd2\x3f\x5c\x10\x16\x1e\xc5\xab\x4f\xcc\xd7\xcf\x30\x8e\x2a\x99\x95\xcc\x9e\x57\x8b\x85\xe8\x28\x5a\x52\x08\xb9\xef\xd4\x2a\xf9\xcf\x2a\xc2\xb3\xb7\x46\x42\x54\x88\x9a\x21\x87\x31\x7e\x32\x49\x97\x09\xb9\x13\x95\x3a\xd4\x6f\x1c\x23\xe1\xb6\xb5\x6f\x02\x4c\x4a\x7d\x48\x46\x11\x92\xc0\x1c\x56\xc5\x4c\x56\x47\x91\xec\x0a\x67\xb6\x1a\xcb\xf9\x57\xe6\xd0\xd7\xda\x80\x53\xed\x13\xa4\x18\x93\xd7\x67\xfc\x57\x37\xcd\x19\x55\x53\xda\x5d\x5b\x07\x06\x5f\x47\xd7\x2a\x35\xc4\x2b\x00\x1e\xb6\xdb\xd0\xf8\xe7\x7a\x4b\x76\xa6\x26\x61\x92\x64\x7f\x41\x55\xea\x11\xbd\x12\x37\xba\x77\xc8\x7c\x62\xbf\x4b\x01\x14\x9f\xc5\x8b\xc2\x8f\x0b\x5a\x28\x64\x85\xd3\x71\x7d\x32\x39\x64\x04\x62\x18\xe7\x0c\x7e\x38\xb7\xd5\xe7\x4b\xa6\xb1\x2b\x02\x2f\x18\x19\x7d\x92\xc1\x3b\xca\x89\x33\x5c\x85\x6c\xbc\x57\x56\xaa\x3b\x64\xec\x1f\x46\xe3\x96\xb1\x16\x1c\x87\x1c\xd2\xdf\xde\xd1\xa4\xec\x91\x92\x74\x29\x37\xc0\x70\x45\x31\xc7"}, -{{0xac,0x0f,0x7f,0x04,0x18,0xde,0x67,0xe3,0x48,0xfa,0x6d,0x56,0x86,0xc4,0x6d,0x21,0xca,0x72,0x62,0x2e,0xe6,0x9e,0xaa,0xbe,0x00,0xd5,0xc9,0x07,0x5a,0x34,0xf1,0x79,},{0xfe,0xab,0xde,0x08,0xf0,0x0a,0x2b,0x68,0x2b,0xce,0x9d,0x45,0x99,0x0b,0xf4,0x5a,0xfc,0x95,0x83,0x39,0xdc,0x44,0x10,0x6d,0xad,0x33,0xb2,0xc4,0x90,0xef,0x70,0x90,},{0x75,0x91,0xcf,0x82,0x57,0xbe,0xad,0x39,0xa1,0xad,0x3b,0xa1,0x91,0x8d,0x51,0x8e,0x67,0x24,0x35,0x6b,0xf6,0x25,0xa5,0x73,0xea,0xe5,0x01,0xd1,0xaf,0x94,0x6c,0x13,0xc2,0x90,0xcb,0x63,0x15,0x6e,0xc9,0xd3,0x62,0x72,0x6e,0xe5,0x0b,0x39,0xfc,0x0a,0x7a,0x2b,0xbd,0x69,0xd4,0xa8,0x1b,0x75,0x93,0x2a,0x90,0xf8,0xc7,0xac,0x7d,0x03,},"\xe8\xd0\xe8\x32\x53\x35\xe0\xf3\x5a\x85\x46\x7b\xee\xd1\xe1\x1c\x6a\x20\x78\xc3\x5a\xe4\xa4\xa1\x05\x43\xed\xe4\x0c\x17\x12\xbc\x95\x20\x12\xd2\xf8\xfe\xc1\x05\xae\xf7\xc6\xc6\x5b\x36\x34\xb4\xa7\x4b\x22\xb4\x98\xb9\x13\x50\x7d\x1f\x6c\xfd\xe8\x38\x58\xe6\x83\x0c\x0a\xf4\xf4\x64\xa6\x89\x9d\x5c\x4e\x27\x9a\xff\x36\x75\x4c\x21\xda\x80\xa1\xbb\xd1\xdc\xf4\x62\x20\x37\x5b\x1e\x11\x2a\x5a\x72\xf1\xab\x6e\x8f\x64\x19\x42\xf6\x6d\x9b\xbd\xbb\x17\x9c\xf0\x13\x9e\xa8\xde\xb0\xf4\xb8\x14\xf5\x0c\x51\x33\x29\xa1\xa0\xe2\x67\xc4\x43\x3a\x23\x31\x82\xbc\x4a\x2a\xcb\x2c\x6d\x4f\x00\xb2\x40\x94\xd3\xbd\xc0\xeb\x81\xcf\x37\xd3\x82\x60\xc2\x10\x7d\xd9\x49\x06\x13\xd2\x76\xee\x1f\x72\x26\x6c\x6e\x4a\xcc\xa5\x24\x98\x11\xa0\xf8\xa7\xda\xe6\x6a\xed\xb7\x5c\x3d\xf4\xc8\xca\x3c\xb5\xd9\xc5\x67\xba\x54\x1e\xe5\xa9\x14\x0c\x50\x58\x72\x72\xaf\x34\x53\x0a\xb8\xb0\x8b\x9e\xc0\x32\xea\xc0\x60\x39\xe6\x92\x63\x0e\x2d\x55\x4d\xf7\x7c\x1a\x03\x88\xb3\xca\xaa\x3b\xe3\x75\x4a\x84\x96\x1f\xb2\x99\xe4\x02\x22\x71\x58\xce\x36\x3e\xac\x26\x47\x8d\x47\x97\x75\xe5\x68\x5a\xdb\xf8\x28\xbb\x35\x5e\x3c\x89\xcc\xe2\x41\x50\x3c\x15\x36\x64\x32\xba\x94\xcd\x3c\xd9\x54\x79\x14\x4b\x63\x6e\x0d\xe7\x0b\x3f\x16\xd1\xa3\xca\x51\x8e\x39\x90\x09\xa4\xc2\x47\xa7\xf9\x63\x67\xc7\x14\x66\x08\xaa\xcc\x00\x14\xfc\x35\xb8\x4a\xf9\x93\x3f\x09\xba\xbb\x89\x93\x7a\xbb\x8c\xed\x11\x18\x91\x34\x3d\xdb\x79\xf6\x0b\x78\x89\x8a\xb5\x93\x8f\x8b\xa3\x81\x4b\xd8\x00\x26\x05\xb1\xdf\xd2\x97\xfa\x07\xc4\x75\xa0\xd4\xf8\xf4\x45\x1a\xcd\x70\x7d\xe8\xaf\x6c\x0e\x88\x18\x83\x3a\x3a\xbe\x5c\x96\xd1\xa8\xc6\xc9\x6e\x2c\xb6\x33\x28\xeb\xa4\x4d\xd1\xd3\x46\x84\xe4\x12\xf2\x88\xe0\x65\x20\x9d\x11\xeb\x80\x94\xd2\x2e\x4c\xc8\x02\x62\x9c\xcb\xa3\x39\x26\xbf\x1a\xd3\x6a\x62\x85\x13\x8a\xbe\xe0\x5c\x5a\x39\xa4\x75\xf3\xfd\xd0\xb3\xec\x8c\x37\x0c\xd9\x57\xa8\x37\x9e\xc2\xcd\xaf\x03\xe8\x95\xc1\xba\x12\xb4\x49\xd6\xcd\x8b\xe0\xf3\x5d\x99\xe2\xb7\xfb\xaa\x92\xdd\x54\xe6\x4e\x7c\x35\xce\xb8\x8a\x71\xa6\x80\x52\x7c\xb3\x73\xaf\xe1\x4c\xdd\x15\x8a\x0b\x90\xbf\x2d\xae\xc8\x0d\x2e\xdb\xdc\x31\x28\xcd\x6b\x63\xfa\x53\x2a\x1c\x27\x8c\xdf\xe0\xf8\xeb\xb4\xab\xba\x5e\x1a\x82\xbc\x5c\x3f\xed\x15\xc5\x79\x5b\xd9\xff\xb5\x76\x08\x2c\xc4\x79\xfa\x1b\x04\xc5\xc5\xaf\xca\xd2\x69\xa0\xf1\xad\xdf\xe7\x60\x42\xc3\xa8\xf1\xf2\x53\x77\xb6\xcb\x72\xec\x16\x14\xeb\x63\x83"}, -{{0xb5,0xa7,0xc7,0x67,0x93,0x63,0x80,0xb3,0xe9,0x87,0x51,0xca,0xfd,0x3e,0xa8,0x9b,0x38,0x8a,0x32,0xcf,0x82,0x8b,0x32,0x1c,0x5b,0xd0,0xcc,0x8d,0xd8,0x5b,0xaf,0x00,},{0xbe,0x7f,0xa6,0x5f,0x1f,0x6b,0xe5,0x10,0x27,0xf8,0xb8,0x48,0xdb,0x7a,0x8c,0x40,0x49,0x61,0xbf,0x1e,0x21,0xa2,0x3d,0xf2,0x3b,0xb8,0xce,0x05,0x85,0x0c,0xda,0xa1,},{0x60,0xe4,0xd2,0x3f,0x1f,0x08,0xfc,0xe4,0x66,0xc9,0x91,0x5d,0xde,0xd9,0x32,0x56,0xb5,0x2b,0x32,0x7e,0x5f,0x81,0xfb,0xb3,0x1d,0x1d,0x10,0xd3,0x21,0xc3,0x90,0x36,0x6e,0xf0,0x01,0xfd,0x75,0x9a,0xa9,0xd0,0xa5,0x51,0x62,0xd5,0x36,0x4d,0x91,0x8b,0x48,0xc7,0x32,0x7e,0x77,0xcf,0x53,0x58,0xbc,0x43,0x19,0xe3,0x25,0xcd,0xd6,0x08,},"\x6b\x67\xc7\x95\xd6\x6f\xac\x7b\xac\x84\x42\xa6\xc0\x99\x2c\xb5\x75\x88\x43\xb3\xe3\x93\x9e\x3c\x27\x6c\x6e\x90\x08\xda\x82\x00\x76\x77\xbf\x9e\x67\xe9\xac\x5a\x1a\x0f\x48\x6b\xea\xc0\xd8\x56\x19\x1f\xae\x25\xa1\x27\x39\x2b\xed\x46\x9b\xc7\x8d\xeb\x0c\x4b\x89\x3f\x67\xf1\x71\x6d\x83\x50\x90\x77\xe4\xa1\xbf\xd4\x13\x6d\x03\x15\x2d\xcc\x3b\x76\xd9\x52\x49\x40\xa6\x06\x4c\x66\x9f\xbf\x51\xf6\xb9\x10\x34\xb6\xd5\xf2\x89\x86\x78\xa1\x3a\x24\x70\xf6\x64\x1e\xc8\x02\x45\x7c\x01\x02\xc3\xeb\xf6\x34\x5c\x32\x7e\x74\x1b\x80\x64\x4b\x3a\x99\xbf\x72\xb5\x9a\xb8\x01\x6f\x35\xd2\x51\x88\xa0\x85\x75\x0d\xc0\x60\xe5\xa8\xd5\x24\xae\x21\x3f\x07\x8f\x28\x8c\x7b\x34\xbc\x41\xf3\xce\x35\x6b\xf2\xda\xfd\xd2\xe0\xdb\x4f\xb8\xd7\xc2\xc3\x19\xf9\x90\x60\x05\x97\x17\x02\xe4\x9c\xa6\x2e\x80\x50\x54\x0d\x41\x21\xd2\x42\xf2\xee\xab\x1b\xd1\x34\xe6\x0b\xf1\x1b\x3e\xc7\x1f\x77\x65\xa9\x7c\x0e\x09\x84\x55\xe5\x9d\x22\x35\xd6\xb3\x7e\x7c\x9f\x5b\x21\xfa\x11\x2c\x3b\xa3\x9e\x4e\xa2\x00\x61\x4f\x58\xdf\xb3\xeb\x7b\x83\x6f\x0b\xec\x1d\xdd\x43\x8d\x14\x22\x45\x0a\xe7\xde\xd1\xdf\x9d\x71\xe5\xd9\xbc\x8f\xa3\xb6\xe6\xf7\x84\x46\xce\x7c\x79\xd0\xbc\xfb\x1c\x2d\x26\xc6\xfe\xce\x68\x68\x2d\xff\xc6\x0a\x9c\x6e\x0a\xd0\x5f\x2a\x09\xf2\x1d\x75\x23\x25\x1c\xb0\xc3\xd0\x8e\xfb\xbf\x8a\xc1\x63\x39\xd7\x17\x02\x4d\x67\x60\x24\xc1\xee\x3c\x1f\x62\xc5\xae\xab\x7f\xff\x93\x7c\x57\x45\x4d\xf7\xbd\x96\xf9\x84\x4a\x2a\x39\x99\x58\x41\x8a\xaa\x6f\x18\x48\xbe\xbf\x7b\xf1\x29\x2c\x24\xeb\x5c\xd8\xea\x56\x34\x0c\x5b\xeb\x26\x88\x02\x4a\x69\x53\x27\x5b\xe6\xef\xd1\xb7\x1b\xa8\xbe\x6e\xb7\x7f\x0c\x65\xa7\xc5\x11\x1b\x96\xc4\xc1\xf3\x9c\xb7\xaa\xf8\x3f\xda\xae\x8d\x14\x8d\x7a\x8a\xf4\x0a\xe9\xe6\x51\x91\x9f\x7c\xe2\x8c\x8b\x2b\x6e\x45\xe4\xd3\xd5\x6f\xdd\x54\xd0\x0c\x24\x12\x79\x0c\xbd\x6f\x80\xe1\x08\x19\xe0\xb8\xf3\x7c\x84\xfa\x00\x49\x88\xad\xaf\xcc\xbb\xc2\x1c\x63\xd6\xbf\x2e\x73\x2d\x9d\xd6\x3b\xd4\x9b\x04\x12\xb9\x67\x4e\x1e\x88\xf6\x14\x2f\x7f\x86\x7f\x1f\x26\x89\x1b\x22\x43\x04\x23\xce\xc4\xdb\x91\xb6\x1c\x2a\xbc\x5c\x8f\xbd\x46\xb8\xb9\x35\x96\xfc\x51\x60\x68\x31\x36\xe2\x11\x29\x82\x27\x96\xeb\x5e\xa0\x88\xe0\xa7\xd8\x12\x1b\x25\x57\x2e\x3e\xc3\x77\x43\xd1\xff\x6d\x8d\x1c\x35\x36\x43\x9a\x10\xe8\x4a\x66\x5f\x2c\x75\xee\x73\xcd\xc6\xff\xac\x4c\xc2\x87\x24\x46\x9f\x79\x70\xb4\x75\x07\xdf\x3e\x1b\x14\xd4\x77\xae\xc2\xbb\x20"}, -{{0xe1,0x36,0xf3,0x98,0xa6,0x05,0xd1,0x34,0x57,0x84,0x8c,0xea,0xd0,0x7c,0x72,0x86,0xf4,0x2e,0x2f,0x28,0xdf,0x8c,0x12,0x8a,0x3d,0x0b,0xb7,0x2b,0x29,0xaa,0xcc,0x19,},{0x6a,0xa5,0x04,0x5a,0x66,0xf7,0x72,0xa5,0x71,0xfe,0x3e,0x42,0xd1,0x17,0xef,0xcd,0xf6,0xc4,0x95,0x91,0x99,0x61,0x86,0x01,0x2f,0xa9,0x8f,0x7c,0x48,0xe0,0xcd,0xa7,},{0x75,0xa4,0x5c,0x6b,0x95,0x66,0x89,0x98,0x29,0xb4,0x1e,0xe5,0x17,0xb7,0x04,0x5a,0x47,0x3a,0x4f,0x7a,0x26,0x41,0x43,0x9b,0x5d,0x7c,0x56,0x73,0xe0,0x0d,0x8f,0x5c,0x06,0x6f,0x12,0x91,0xf8,0x5d,0xea,0xda,0x05,0x02,0xbd,0x16,0xe9,0x70,0x9f,0x82,0x7d,0x47,0x51,0xf2,0x87,0x38,0x62,0xe8,0x21,0x9e,0x57,0x74,0x6a,0x19,0xa9,0x00,},"\xd3\x28\x57\x9d\xe4\xc5\x37\x2f\x3b\x38\x2c\x48\x01\x1b\x2d\x4c\x60\x29\xf9\x04\xf3\xa3\x3e\x07\xd0\x83\xd7\xe2\xb0\x37\x56\xaf\x2c\x4c\x97\xa2\xd6\x6c\x10\xec\x41\x54\xd8\x74\x79\x20\x42\xb6\x46\xe4\xaa\xe5\x10\x1d\x50\x1b\xd1\xbf\x6f\x51\x17\x51\xd0\xaa\xf8\x21\xcd\x7c\x0b\x3e\xe6\xd0\xd7\xc6\x90\xa2\x77\x7f\xe1\x6b\xdc\x7e\x49\xb7\xda\x4b\xbb\x4c\xce\x3b\x61\x8e\xe9\xb6\xf2\xe3\xa1\x92\x40\xcd\xb7\x07\x33\xb9\x84\xb1\xc9\x40\xec\x66\x96\x0b\x72\x8c\xbb\x87\x4b\x80\x64\x31\x23\x72\x2d\xb9\xdb\xbe\x88\x32\x20\x08\x93\x1b\x1c\x89\x4e\xf5\xd2\x10\x99\xe6\x3e\x7c\x65\x00\x7a\xcd\x61\x78\x4d\xb4\x99\x4a\x2f\xb4\x0c\x3e\xfe\x9c\x47\xfa\xd6\x37\x63\xdd\xe0\x6f\xa0\x17\xa2\x6b\x82\xe7\x1b\x9d\xaa\xbc\x4f\xf0\xf6\xc7\x9b\x8c\xa7\xcc\xb4\xdc\x20\x31\xbe\xf1\x08\x73\x67\xc7\x08\x69\x74\xa0\x05\x66\xde\x41\xa7\x1e\x11\xd9\x93\xab\xe4\x33\x56\x98\x92\xb8\xf7\x5d\x76\x37\x99\x32\x45\xc8\x84\x47\x8a\xbe\x3f\x95\xf4\x4b\x0a\x4b\xbe\xde\xfe\xf8\x90\x6b\x75\xe0\xd3\x40\x20\xae\x53\x64\x55\xb0\xe0\x6f\x9b\xfe\xe1\x1e\xc9\xb8\x60\x4b\xac\x2c\xc6\xeb\xe0\x8c\x8f\xd5\xf5\xcc\xcc\xcb\xc1\x61\x7b\x7c\xf6\x9a\x3c\x51\x2e\x1f\x0b\xdb\x58\x5d\xf5\xe1\x27\x43\x06\x1f\x7c\x20\x53\xbc\x37\x14\x43\x61\xc0\xb3\x5f\xd3\x9d\x56\xb1\xef\xaf\x92\xc6\x10\x36\x01\x93\xec\x20\x59\x8b\x82\x85\x80\x50\xa6\xd9\x9e\x08\x2b\xce\xfd\xbd\x53\x18\xee\x5e\xfb\x3b\x26\x0f\x32\x76\xf3\xc7\x3f\x9c\x24\xce\x0c\xda\x33\xc7\xac\xc5\x0c\xa5\xdd\x61\xbd\xb8\x5d\x79\x38\x25\xf6\x73\x2a\x6e\x33\x0c\xe6\x72\xac\x44\xfe\x6b\x2b\x9a\xfe\x6e\x2e\x96\x5c\x02\xd2\xa1\xfe\x0b\x57\xcb\x1b\x31\x7c\x1d\x31\x3e\xfd\xc3\x56\x49\x2f\xe8\x96\xfd\x14\x9d\xae\x51\xc9\x5c\xcd\xbb\x7d\x11\xf7\xd6\x10\xe0\xc6\xe2\xfd\x3e\x57\xfc\xfe\xf1\xc5\x7c\x71\x19\xa0\xaf\x6c\x78\x21\xfe\xcd\xb8\x9d\x80\x30\x2b\x49\xfa\xd4\x17\x43\xf3\xd2\xd7\xa0\x75\x15\x4b\x31\x43\xe5\x1a\xeb\x94\x7d\x4b\x5e\x8b\x7e\x4c\xa8\x6f\xec\x3e\x80\xbd\x9a\x78\x6e\x4e\x46\xed\x1e\x6e\x9f\x7e\x0b\x63\x52\x66\xd9\xfa\x09\x7a\xa9\xe2\x0f\x32\xe3\xd2\x77\x2d\x7c\x1f\x00\x8b\xcd\xd3\xf9\x2c\x72\x83\xc5\x77\x90\xc3\x62\x2c\xba\xd3\xca\x35\x80\x3c\x45\xc8\x69\xdc\x37\x7f\xf3\x6b\xd7\xc0\xe6\xf1\xbb\x89\x2f\x73\x29\xa6\xe0\x8d\xf1\xdb\xeb\xc8\x1d\xc7\xb1\x15\xf8\x52\xe3\x6a\xe5\xd9\x28\x72\x5f\xa7\xc6\xfb\x9f\x28\xb0\xfb\x39\x4f\x9e\x38\xfd\x87\x62\x5c\x5f\xa2\x3a\xab\xa4\x70\x54\xe8\xcf\xea"}, -{{0x97,0xb6,0x70,0x2e,0x24,0x68,0x05,0xdb,0xcf,0xc7,0xfa,0x42,0x4a,0x8c,0xaa,0xbc,0xf2,0x62,0xd4,0x66,0xa0,0x5e,0x0d,0xd2,0xd4,0xe7,0xc3,0x74,0xd5,0x7d,0x52,0x51,},{0xa7,0x16,0xc3,0xd5,0xce,0x78,0xf4,0xd9,0xc5,0xbe,0xe3,0x44,0x7d,0xda,0xf4,0x88,0x1c,0x98,0x6e,0xfd,0xf6,0x67,0xac,0x89,0x77,0xb4,0xfb,0x69,0xb5,0xa7,0x11,0x0a,},{0x90,0x00,0x55,0x41,0xdc,0xc1,0xd7,0xab,0x83,0x7f,0x4d,0xe5,0x39,0x3f,0xad,0xd6,0xa9,0x2b,0x26,0xa7,0xd9,0x3a,0xf3,0xf6,0x69,0xe0,0xf1,0xbf,0xd6,0x21,0xcb,0xd0,0x0c,0x8a,0x23,0x05,0x6d,0x2d,0xa6,0x78,0x65,0x57,0xc8,0x28,0xa4,0x9b,0xe1,0xe4,0x02,0x1d,0x99,0x31,0x12,0x35,0xac,0x0d,0x4d,0x56,0xee,0xfc,0x7c,0x95,0x36,0x05,},"\xea\xa8\x6c\xf7\x6f\xcb\x65\xc6\xf9\xfc\x20\x8a\xc3\x6f\x28\xb2\x00\xd3\xb4\x03\xac\xa7\x32\x07\x46\x1d\x8d\x96\xaf\xa2\x46\xd7\xc6\x9d\x17\xa7\xa9\xbf\x77\xf0\x55\x43\x56\x3a\x7d\x3e\xca\x1d\x40\x79\xe2\x29\x38\xab\xa1\xf6\xe9\xe0\x4b\x49\xfb\xc8\xed\x6f\x63\xb5\x99\x73\x0d\xe9\x97\x98\x31\xc0\x2f\x8c\xba\x61\xe5\x55\x60\xd7\x11\x0d\x4c\x6e\x61\x67\x97\x06\xa7\x15\x5d\x5a\x67\x3c\x54\xd1\x6f\xe4\xd2\x28\xc2\xec\xa7\x54\x6f\xaa\x13\x39\xf2\x6d\x7a\x0b\xb4\xee\x33\x96\x11\xaf\xde\xc9\xa6\x8f\x5f\xf5\xb5\xd2\x03\xb6\x00\x53\x3a\xd5\xa3\xb3\x68\xc8\x5d\xa1\x15\x63\xf0\x98\xcc\x26\x87\x1e\x7f\xa9\x9a\xef\xd3\x8c\xc2\x61\x51\xdb\x3b\x0b\xae\x38\xdb\x6a\x87\xb6\x78\x9e\x58\x40\xb1\x08\x84\xaf\x51\x1f\x3e\xcb\x3e\xcb\xf9\x4f\xf8\x6f\xdb\x90\x55\x05\xa8\xc3\x4b\x2a\xa6\x1f\xf2\xec\x9e\xc8\xfe\xbd\x1d\xfe\xd0\x96\x5b\x6f\xc5\xb9\xf8\x86\x9d\xc3\xa4\x75\x59\x97\x4a\x88\x22\x99\x67\x06\xda\xef\xbc\x6c\x5b\xf9\x84\xce\x06\xb0\xd3\x2b\x31\xcf\x9d\x8a\xd1\x36\xae\xd4\xb0\x52\x58\x6d\xce\x70\x73\xb7\x67\xb2\x34\xe4\xa3\x7b\xeb\xbc\x39\x3d\xd2\xe0\xf7\xd1\x55\x17\x35\x48\xc3\x8a\x15\x83\xef\x94\xe0\xaa\x84\xe7\xfc\xe0\x4f\xcc\x9b\x4e\x30\x0a\xd0\x99\x44\x9a\x49\x23\x2a\xbd\xcf\x3d\x1a\x6e\x6f\xca\xb6\x96\xf5\x99\x6f\x9b\xd1\xb9\x48\x5d\x07\x47\x55\xac\x5b\x42\x97\xfe\xe3\x12\x4c\x7c\x03\x97\x6a\x40\xd5\x70\xbe\xae\xc2\xfa\xc9\x92\x33\x9f\x88\x5f\x74\xd4\x0e\xd4\xac\x87\xa4\xf4\x0c\xef\xbc\x48\x64\xf4\x4c\x36\x83\xaa\x8f\x10\x26\xe2\xc3\x7a\xef\xfc\xeb\xfd\xfe\x24\xdd\x0b\x01\x9c\x36\xa7\x98\x88\x20\x30\x04\xb2\xad\x83\xe8\x92\x21\xf3\xf6\x36\xf4\x55\xbb\x64\xe1\x7d\x17\x54\xc7\xc6\xdd\x7f\xc0\x9a\x0d\x65\xdd\xdd\xed\x46\x22\xfc\x4f\x9f\xba\x07\x2b\x45\x10\x34\x35\xe1\x02\x20\xa5\x86\xf1\x52\x26\xd2\xeb\x37\x7f\x40\x64\xd3\xff\x37\xcb\xb4\x70\x5a\x1f\xaa\xf5\xb3\x48\xf8\xc0\xef\x7f\xd1\x56\x4d\x42\x86\x88\xf5\x8f\x33\x92\x96\x7c\xf3\x96\xa8\xff\x2f\xd9\xe7\xb5\x17\xb7\xd6\xa5\xed\xe7\x44\x03\x73\xd8\xcc\x1a\x83\x99\x00\xe8\x4d\x42\x25\x42\x83\xd9\x69\x9c\x7c\xa3\x7e\x47\x76\x92\xa3\x49\x40\x08\xb8\x04\x44\xc5\xcf\x61\x4c\xbb\xc1\x69\xbf\xb9\x29\x63\x03\xc6\x45\xe2\xce\x28\xd1\x68\xdc\x6c\xba\xef\xae\x9c\x73\x19\x1f\x57\x15\x1a\xa4\x73\x00\x9d\x29\xe1\x80\x0b\x10\xf4\xc4\x98\x60\x9b\xa1\x15\x20\x98\x5c\x78\x09\x20\x58\x69\x6f\xdb\xca\x9c\x02\x0e\x2d\xfb\x8a\x04\x3a\x3d\xe8\xe4\x52\xd5\x8c\xd1\xad"}, -{{0xd1,0x52,0x8c,0x14,0x06,0xa6,0xe4,0x94,0xa0,0x2f,0x63,0x53,0x05,0xfa,0x74,0xd7,0x45,0xc6,0x93,0x27,0xfd,0x31,0xb7,0xd2,0xc2,0x62,0x3d,0xe2,0xc0,0x30,0xed,0x85,},{0x0c,0xfe,0x36,0x9c,0xf9,0x3d,0xaf,0x6d,0x53,0xef,0x02,0x8d,0xdb,0x9f,0x00,0x04,0x43,0xb0,0x97,0x2f,0xe2,0x53,0x2f,0x83,0xa4,0x1c,0xe6,0x57,0xc1,0x83,0x6c,0xa3,},{0xb8,0x39,0x9b,0xc3,0x32,0x6c,0xba,0x0a,0x93,0xa4,0x24,0x97,0x16,0x8b,0xf5,0x7f,0x91,0x06,0xee,0x43,0xd3,0x9b,0xf0,0xfc,0x86,0x68,0x51,0x99,0xdc,0x6e,0x0a,0x13,0xb9,0xc7,0x24,0xef,0x17,0xe7,0x88,0x2a,0xf8,0xc2,0xeb,0x70,0xf6,0xc9,0xe4,0x2d,0xfa,0x2f,0xbf,0x0c,0x1c,0xb5,0x00,0x2b,0x58,0xf1,0x08,0x66,0x19,0x73,0x3e,0x02,},"\xab\xb3\x67\x3f\x3f\xa1\x7a\x33\xa7\xaf\xf7\x6e\xac\x54\xe7\x68\x7c\x04\xbc\x84\xf7\x66\x65\x1a\x8b\x24\xba\x22\x94\x79\x08\xb0\x4c\xa4\x59\xfe\xb9\x8a\xce\x7c\xab\x1e\x74\x33\xa6\xa6\xbe\xff\xd8\xd9\x50\x4e\x29\x91\xda\xa0\x64\x4d\x61\xb8\xb2\xe4\x54\x48\xf5\x4d\xf8\x81\x3f\x50\xc4\x18\xb4\x8f\x49\xe1\x03\x4e\x85\x1c\xbe\xc3\xef\x0a\x18\x50\xef\x72\x67\x33\xaf\xaf\x68\xe1\xa4\x61\x04\x16\x51\xc1\x38\xd5\x4e\x4e\xf7\x81\x87\xaf\x9a\x73\x42\xf7\x12\x87\x27\xf9\x03\xbf\x4f\xc5\xef\x3e\x40\xc6\x4e\xc2\x6f\x89\x2f\x59\xad\xd9\x8f\xe3\x94\x76\x5a\xaa\x7d\x09\xca\xe8\x1b\x9f\x69\x9a\x9d\xd8\xbf\x2e\x2f\xe8\xe1\xec\x78\xfc\x88\x4e\xaa\x0d\x2d\xbd\xbf\xb8\xc1\x68\x83\x3e\xe0\xd2\x18\x03\xcc\x35\xdc\x62\x8d\x7c\x07\xe0\x44\x04\xfb\x60\xe8\xc4\x90\xa8\xdd\x34\xed\xbc\xba\xaf\x80\xcc\xda\xe3\xf7\xd3\x73\x9e\x0e\x89\x70\x23\xee\xb5\xb1\xa8\xc0\x0a\x96\x73\xc5\x92\x58\x24\x0d\xdd\x44\x20\x65\x0f\xe5\x77\x1f\x7e\x28\xcb\x23\x99\xf5\xe1\xe0\x2a\xd0\xb6\x43\x2d\x9b\x49\x60\x8f\xcf\x0b\x1c\x0d\x7c\x41\x2a\x44\x52\x55\xb8\xba\xdc\x53\x21\xc2\x4c\x1a\xc9\x2c\x79\xa0\xba\xcc\xb9\xde\xff\xed\x02\xd1\x2f\x55\x36\xcd\x59\x5d\xc6\x60\x83\xb3\x3a\x36\x03\xa9\xd1\x6e\xce\xa2\xbf\x38\xc4\xf2\xaa\xf5\x70\xf3\x0d\x21\x16\x2b\x2e\xfd\x7e\x4d\x5e\xbf\x1e\xca\xe9\x58\x8e\xee\x36\xdd\x9d\x3d\x8e\x3b\xe7\xbc\x6d\x4b\xc2\x18\x56\x22\xf1\x1d\x1d\xa7\xc4\x9c\x93\xe6\x23\xac\x56\xfe\xe7\xe3\x70\x6d\xb8\x31\x3c\xf9\x26\xbe\x92\xe5\xc8\xa5\x39\xfd\x16\xb0\xf4\x38\xda\x8e\x51\xa5\x1f\x2d\x27\x64\x03\x56\x12\x4e\xf7\xbe\x2f\x91\xff\xa1\x79\x6a\x91\xb1\x23\x01\x93\x4d\xde\xf0\xc7\x93\x8a\x7a\x45\xf3\x6f\x53\xb6\x32\x2d\x9c\x8f\x9d\x27\x5e\x1c\xd2\xc0\xf1\x29\xf8\xab\x8d\x74\x15\x5b\x5d\x9e\x5c\x15\xc0\x15\xb0\xb0\x00\x03\xb2\xbd\xdf\xa0\xbc\xfc\xc6\x93\xa1\xdf\xcb\x4f\x53\xda\xec\x12\x6d\x16\x69\xf3\x3f\x39\xad\x05\x51\x9e\xf7\xc5\xce\x40\xe6\xf4\x57\x3c\x24\x7a\x32\xc4\xa0\x16\x28\x31\x35\x2f\x6d\x55\x8f\xf5\x83\x6a\x53\x17\xdb\xc4\x51\x5b\x3d\xf2\x69\xa8\xac\x76\xd6\x43\x6f\x26\x4b\x64\x56\x1e\x79\x68\xb5\x82\x21\x08\x48\x7b\x04\x5c\x92\xd6\xc6\x14\x2a\x1c\x28\x55\xb3\x8b\xee\xbd\x64\x25\x65\x12\x3c\xc8\x27\xcb\x18\x31\x19\x9e\x6f\x12\xa7\xe4\x23\x68\x56\xb9\x4d\xad\x73\x8f\x69\xd1\x10\x6e\x77\x35\xd7\x11\xf7\xc6\xa3\xa3\x37\x80\x41\xfc\x7a\x21\x10\x3b\xbf\x86\x69\x07\xd4\xed\xdd\xaf\xa0\xe7\xf1\xbb\x5f\xfd\x41\xa6\x0d\x64"}, -{{0x51,0x23,0x40,0xf9,0x61,0xf1,0x42,0xd1,0x91,0x5e,0x85,0xfe,0x4f,0xa0,0xf5,0x51,0xf8,0x08,0x92,0xe7,0x5a,0xcc,0xce,0x7c,0xd1,0x86,0x9e,0x6e,0x2c,0x9e,0x80,0x15,},{0x0c,0xa0,0x26,0x04,0xfa,0x87,0xe2,0xc2,0x05,0x06,0x25,0x1f,0x07,0x92,0xcd,0x21,0x25,0x85,0x6f,0x0a,0xb1,0x6d,0x66,0x3f,0x28,0x11,0x96,0x3b,0x1f,0x2d,0x81,0x72,},{0x6b,0xb4,0xd9,0x75,0xaf,0xae,0xf4,0x1e,0xa9,0xef,0x08,0x5a,0x68,0xc5,0x68,0xa0,0x5d,0xa3,0x7e,0xf2,0x1d,0xad,0x46,0x4e,0xd8,0x6a,0xc0,0xd4,0x08,0x0e,0x7d,0x01,0x29,0xfb,0x02,0x31,0x31,0xec,0xa5,0xf7,0xad,0xb2,0x58,0x6a,0x18,0xbe,0x40,0x56,0x2f,0xa2,0x76,0x4c,0xa8,0x07,0xe6,0x70,0xa0,0x59,0x6a,0x5c,0x54,0x7b,0xc0,0x01,},"\xaf\x37\xb2\xc7\x58\x7a\x8d\x5b\xc8\x95\xcd\x35\x77\x46\xab\x03\x55\x2a\x0a\x56\x1a\x29\x3d\xc7\x16\x4e\x39\xb6\xa1\x33\x3a\x92\x0b\xb6\xda\xca\x60\x06\x67\x6e\x99\xbb\x7e\x92\x8f\x9e\xa3\x91\xe5\x48\x02\xa8\xd3\x15\x96\x28\x9f\xb9\xbf\xe3\x00\x00\xcf\x52\xeb\xf0\xc1\x24\xa5\x89\x5b\xce\x33\x98\xc1\xbf\x53\x56\xbe\x82\x61\x9b\x8d\xdc\x15\xa7\x7c\xa9\x22\x49\x4b\xdb\x04\xf5\xc2\xe1\xb6\xe8\xff\x77\xae\x74\x9f\xaf\x2b\x8a\x41\xd8\x22\xc1\x7c\x06\xdf\xb7\xa5\xf9\x43\x4d\x8b\xd7\x15\xec\x87\x78\xe8\x0b\x81\xd2\xe8\xd0\x62\x98\x74\x86\x90\xc6\x55\x52\x83\xc9\x8b\xb9\xb1\x9b\x92\x46\x66\x7b\xc4\x10\x46\xff\x98\xc2\xc3\x5d\x16\x1e\x1f\x4d\x69\xd2\x54\xec\x5a\x07\x6f\x25\xbd\x5c\x7e\x2c\x98\xca\x3c\x09\xd8\x08\x33\x96\x2c\xf9\x66\x02\x87\x88\x40\x96\xeb\x30\xc4\x6c\x54\x17\x41\x06\xaf\x4e\x29\x79\xa1\x12\xf3\xe8\x94\x4e\xaa\xf7\x66\x9c\x40\xd5\xaf\xb9\x1a\x02\x4a\xbb\xeb\x14\x66\x4e\x30\x89\x03\xe4\xd2\x6d\x70\x09\x44\x6e\xe2\xe8\x30\xab\x5e\xca\x0d\xbb\xc5\x13\xfb\x4e\x04\x35\x1d\xf2\xf6\x74\x18\x64\xfb\x23\x71\xb2\x50\x2b\xe4\x3d\xc1\x5f\xc0\x44\x31\xff\xf5\xeb\x8d\x4b\x68\xd7\x24\x62\xae\x32\x2e\x57\xba\x2d\x4a\xdd\xdf\x15\xa1\x90\x2c\x21\x13\xae\xbd\x3b\x5d\x61\x29\x17\xc1\xbb\x73\xe7\x08\xad\x54\x18\xe7\xd4\x5e\x4b\x72\x80\xfc\x88\x96\xab\x80\x85\x3f\xf5\xf8\xe9\x8f\x26\x55\x3f\xc7\x8e\x30\xb3\xb0\xd7\x27\xbf\x6d\x06\x4a\x8f\x32\x88\x87\x68\xc5\x1e\xbb\x61\xb2\xc6\x00\xb4\x02\x8a\x77\x06\x0f\xeb\xbb\x02\xeb\x3d\x20\x17\x80\xe7\x45\x66\xc8\x6a\x34\x03\x18\x36\xbc\xe9\xea\xda\x81\xe5\xd0\xf3\x39\x60\xcb\x2d\xf0\x8a\xff\x3c\x97\x49\x21\xfc\x9b\x7d\x3a\xa7\xc8\x1e\x9c\x67\x1e\xd6\xd3\x3e\x7a\xe5\xed\x03\xa5\x41\x7d\x7e\x5c\xd6\xfa\xac\x91\xb5\x4b\x8f\x79\x2f\x48\x28\x3c\x60\x64\x7d\xe3\xda\x81\x6c\xa9\x75\x6c\x5b\xfe\x1b\xb8\xb5\x97\x9e\x57\x54\x01\xbd\xa3\x4e\x9c\xbc\x4d\x77\xe7\x11\xd6\xb7\x3b\x82\xda\x19\xda\x47\x3b\x55\xe8\xe7\x2d\x34\x1b\x2d\x85\x03\xe4\x86\x09\xbe\x0f\xe2\x91\x44\x4c\x28\x36\x69\xe5\xde\xad\xea\xf5\x2a\xa8\xec\x48\xda\x83\xf5\x32\x8c\xc0\x99\xfb\x41\xf8\x2b\xec\xdd\x58\xd0\x4b\x1d\x66\x20\x3d\x73\x7b\xed\x06\xcf\x21\xc9\x78\x19\xac\x13\xed\x71\x1c\xa2\x17\xa5\x7c\xf7\xd8\x0f\xf0\x82\xaa\x1a\x1c\xf8\xfe\xa5\x55\xcd\x2e\x47\xe4\xdd\xab\x5e\x3f\x99\x41\xad\x4f\x77\x5f\x49\x41\x9d\xca\xdb\x5b\x00\x4b\x68\xca\xf4\x5b\x27\xef\x49\xba\x14\xfb\x52\xb0\x9f\x1b\x18\x5b\xe9\xf9\xc7"}, -{{0xb1,0xb6,0x36,0xe9,0x57,0x57,0x4c,0x21,0xa9,0x57,0xa4,0x5b,0xd1,0x95,0xc6,0xf9,0xfe,0x4c,0xc1,0xc5,0x7e,0x84,0x13,0x4d,0x39,0xb4,0x2e,0x1a,0x84,0x32,0x9e,0xdb,},{0x95,0xe7,0x7b,0x15,0xdd,0xa4,0x7c,0xaf,0x69,0xb7,0x28,0x88,0xdd,0x69,0x96,0x1b,0xac,0xbe,0xc3,0xbc,0x75,0x35,0x30,0x03,0xe8,0xbf,0xf0,0xa4,0x3d,0xdf,0x4b,0x7a,},{0x76,0x3c,0x7d,0x0d,0x46,0x87,0x8e,0x5c,0x7e,0xcf,0x71,0x04,0xfc,0x1f,0x22,0x30,0xe4,0x61,0x78,0xa2,0x7c,0x75,0xf1,0x96,0x16,0x9c,0x02,0x79,0xed,0xb0,0x1c,0x28,0xfc,0xde,0x3b,0x0d,0x5b,0x86,0x35,0xcf,0xe3,0x39,0xfb,0x23,0x27,0x74,0xb2,0x20,0x6d,0xab,0x8a,0x46,0x0c,0xe4,0x17,0xab,0xf4,0x90,0xbb,0xfa,0x78,0x5c,0x02,0x05,},"\xe2\x5d\x32\x9c\xad\x83\x64\xd2\xde\xc2\x43\x73\xe9\x2d\x9d\x50\xfc\x7a\xbe\x8f\xdc\x3d\x0b\x4e\xe5\x7e\x1c\xfa\x5b\x7c\xd5\x8c\x23\xbe\x91\x8f\x05\x17\x9b\xa8\x41\xb6\x1e\x18\x00\x34\xca\x7e\x74\xd4\x9b\x0a\x1a\x2c\xeb\xb4\xbe\x65\x34\x4c\x91\x3c\x46\xd3\x26\x52\x33\x6e\x6b\xda\x4e\xfa\x3f\x58\x73\x0d\x39\xa6\x33\xa1\x4c\xa3\xd9\xa6\x2a\xbb\x0a\x73\x98\xcc\x29\xaf\xf9\x16\xee\xea\x2e\x7c\xaa\xc8\x08\x45\x56\x2f\x73\xd4\x03\x0f\x9c\xab\x0b\xf1\xc6\x40\x7f\x54\x01\x51\x3e\xf8\x7f\xe6\xdc\x09\x9d\xbc\x5d\xfc\x33\x52\x91\x1c\x07\xaf\x6c\x52\x3b\xef\x4c\xca\x78\x37\x96\x59\xe8\x80\x3f\x58\x59\x04\xee\x6e\xf6\xfd\xe7\x73\x66\xd9\x6d\x2c\xcf\x24\x8a\x53\x20\xd9\xb8\x29\x8b\x2a\x73\x36\x38\x79\x10\x7a\x02\xb4\x7f\x57\x21\x3a\x85\x20\x3a\xbb\xca\x5a\x41\x95\xf8\xaf\x3e\x35\x93\xed\x2f\xa3\x50\x4b\xb7\x6a\x3e\x1b\xe2\x4b\x66\xd3\x55\x66\x29\x32\xcb\x67\xdc\x88\x50\x3a\xfa\xf7\x62\xbf\xf7\x41\xba\x1c\xac\xe9\x7a\xc5\x8b\xaf\xad\x5d\x36\xc3\xaa\x02\xe0\xcb\xe2\x0e\x5f\x3d\xc8\x09\x2c\x51\x2e\xaa\x9c\x49\x43\x47\x4a\xad\x41\x99\x00\x76\x72\x1a\xd3\xf5\x3f\xb0\x8a\xc2\x29\x82\xed\x9b\x15\xc7\x51\xa9\xe2\x33\x82\xf6\xa6\x9c\x72\xe6\xe2\x44\xe0\xeb\x68\x1e\x6d\xd2\x28\xd3\x77\x4f\xcc\xb3\x7e\xb6\x23\x2f\x82\x5d\x16\x9a\x2a\xc8\xb7\xe1\x8a\x42\xcd\xaa\x4f\x2c\xf0\x58\x90\xbb\x0c\x59\x8c\xf8\xc3\x1f\x82\x9e\xf8\xca\x24\x35\xbd\xcc\xeb\x0e\x61\x93\xad\xa7\x84\x1e\xe6\x92\xf3\x0a\xed\xf8\x8b\x62\x73\x11\xb1\x38\xac\x78\xb3\x91\x3e\x06\xf7\xc3\x21\xca\xfb\x39\xd9\x01\xdf\xe1\x74\x30\xb1\xa2\x0b\xc4\x37\xa5\x55\xa5\x78\xfa\x31\xe4\xb6\x80\x79\x54\x45\x6b\xd4\xb0\x4d\x5d\x88\x79\x87\xbd\xf0\x4e\x0f\x14\xaf\x31\x41\xb2\x4c\x3a\x7b\x9a\xc7\x5a\xa3\x2e\x2f\xcd\x21\x71\xa1\x26\x09\xe1\x5e\x73\x09\x4f\xd0\x92\x21\xb4\xd2\x70\x90\xe7\x32\x19\xb6\x48\xbc\xaa\xbf\x38\x07\xc9\x28\x0b\x6c\x4a\xd7\x50\xa4\x68\xbe\x0e\x1a\xd3\xe6\xe6\x30\x16\xcb\x5c\xec\x3a\xad\xdc\x56\x89\xc2\x95\x5a\x2a\x8d\x5b\x89\x84\xd7\xc4\x43\x76\xfd\xd9\x4d\x3f\x5f\xf1\x29\x8f\x78\x17\x2b\x56\x59\x13\x70\x4e\x90\xe5\xac\x03\x8c\xb1\x72\x0e\x19\xb0\x80\xf8\x1b\x53\xd6\xa4\x5d\x45\x28\x53\x07\x11\xb6\x3d\xfe\x1e\x47\x81\xc2\x4d\x74\xae\xb2\xbd\x8a\x73\xfd\x2a\x99\x3c\x5b\x08\x91\x39\x21\x96\xac\x32\xc5\x23\x69\x99\x60\xd8\xb2\x3e\x01\x66\x4c\xf9\x02\x1d\x93\x92\x80\x50\xca\xf9\x7f\xb9\x85\x55\x45\x80\xe3\x33\x36\xa4\x56\x32\x47\xdf\x59\xef\x6c\xae\x53"}, -{{0x10,0xca,0x41,0x3d,0x70,0xeb,0x3d,0xb6,0xe3,0x37,0xf0,0xf1,0x1a,0xbc,0x07,0x5c,0x95,0x85,0x9e,0x82,0x5f,0x87,0x61,0x76,0x07,0x69,0x52,0xd2,0xf1,0x88,0x80,0x30,},{0x50,0x28,0xba,0x38,0xaf,0xec,0xc2,0x42,0x63,0x5f,0x6e,0x35,0x3d,0x5f,0x4a,0xfd,0x12,0x3f,0x86,0x0a,0x04,0x25,0x22,0x0e,0x96,0x65,0x52,0xa0,0x57,0x88,0x08,0x23,},{0x6a,0xec,0x02,0xdc,0x6b,0xdf,0xcb,0x67,0xf0,0xef,0xc1,0xfd,0x31,0xe2,0x3e,0x69,0xe3,0x71,0xab,0x38,0x02,0x50,0x5b,0x32,0x01,0xa9,0x5d,0xd5,0x25,0x41,0x7e,0xd1,0xa1,0x28,0xdb,0x4e,0x18,0x2c,0xb3,0x7c,0x28,0xf6,0x28,0x06,0x66,0x70,0x99,0xa8,0xad,0x48,0x0b,0x0a,0xc9,0xe9,0x4c,0x2a,0x7d,0x5a,0x0e,0x96,0xe2,0xa7,0x36,0x0d,},"\xea\x7f\xaf\x79\xf6\xff\x5d\x78\xa8\x23\xa7\x54\x34\x71\x34\xf1\xb3\xc3\xe9\x1c\xe5\x18\xfd\xd6\x33\xfe\xb4\xf0\x5d\x12\x5f\x05\xcb\x54\x33\x6e\xf5\x60\xe9\x2d\xeb\x68\x51\x12\xa5\xff\xcd\x3d\xfd\x39\x64\xb2\x75\x8c\xe4\x78\x5f\x6a\x34\xbf\xeb\x39\x78\x4f\x0a\xee\x55\x95\x5a\xeb\xd1\x2d\xdd\xa6\x41\xd0\x57\x69\xf7\x44\x02\xf7\x06\xda\xd2\x01\xc4\x4c\x91\x08\x1c\x7d\x7f\x65\xe7\xaa\x42\x46\xde\x6d\xc3\xed\x64\x96\xd1\x0f\x4a\x41\x20\x60\xd4\x93\xba\xc9\xae\xd5\xbe\x4f\x6d\x74\x22\x9e\x3c\x55\xeb\x68\x76\xe3\xbb\x2e\xd4\x1f\xa4\x50\x4b\x66\x70\xdd\xa8\xc7\x98\xf6\xda\xa2\x80\xd1\xaa\x72\x02\x11\x74\xf6\xc0\x1a\xec\x49\xb3\x21\xd8\x7f\x53\xac\xbc\xad\xcc\x46\x07\xd5\xb1\xe4\x5d\x63\xfc\x48\x1a\x6d\x90\x57\x6c\x87\xc1\x88\x0b\x2e\x8f\xf3\xe5\x90\xa9\x6b\xee\xe1\x80\x47\x68\xc7\x56\xbe\xb8\x6b\xf1\xde\x8a\xdc\x40\x8b\x1b\x8d\x66\x6f\x74\xba\x28\x63\x08\x22\xf9\x2d\x18\xb0\x56\xae\x37\xce\x02\x93\xee\x61\xb9\xe8\x0f\x33\xac\x26\x96\x71\xbd\x62\xa4\x05\x9b\x24\xf7\xc1\xa4\x40\x80\x74\x40\xd5\xd5\x38\xa6\x54\x58\xad\xc8\x15\x87\x24\xb2\x5c\x12\x12\x7a\xa0\x34\x9e\x55\xf6\xe5\x5b\xc9\x20\x78\xfd\x1e\xf2\x74\xc2\xaa\x79\x19\x05\x76\x6b\xe3\x94\xa2\x62\x8f\x7b\xbd\x1a\x32\xda\x5e\x48\x74\x46\xbb\xef\xae\x88\xfa\x6c\xf3\xf7\xb4\x99\xf1\x31\xfa\x19\x31\x3d\x13\xb2\x80\xad\xca\x50\xf7\x78\x02\xd1\x73\x31\xb3\x81\x68\x3b\x5e\x7e\xda\xb9\x94\x73\xed\xd3\x1d\x77\x44\x34\x88\x21\x41\x35\xfd\x6f\x26\x44\x50\x93\xe9\xe2\xaf\xf7\xd7\xe8\x92\x33\x7f\xdc\x87\x79\x06\x5d\x4d\x97\xd6\xd6\x73\x57\x67\x94\x95\x8d\xbf\xa6\xc5\x0b\x1b\x13\xac\x39\x60\x7c\x1e\x66\xef\x96\x29\x76\x10\x71\x15\x5f\xbc\xa6\xf3\x6e\xb0\x2c\xee\xae\x16\x36\x7f\xea\xc0\x74\x76\x90\x8c\x84\x7c\x9a\x53\x3e\xf6\x8c\x94\x31\x1f\xa0\x89\xff\x28\xfb\xd8\x78\x09\xb0\xd3\x87\x6b\x43\x1d\x9a\x18\xb2\x02\xf9\xa4\x04\x9a\x05\x77\xb8\x17\x76\x10\xdd\x02\xe5\xc5\x20\xec\xa9\x55\xe8\x03\xc3\xad\x4f\x50\x97\x6f\x7c\x2e\xa8\xaa\x3e\xe4\x83\x6a\x19\x85\xdf\x0a\x4f\x16\xef\x46\x98\x15\x95\x41\x98\x97\x99\x35\x60\xaf\x82\x65\x1c\x2b\x49\x4e\x68\x0b\x37\x80\x2e\x75\x37\xef\x68\xa5\x75\xc3\x4f\x85\x88\x06\x3e\xe0\x19\x72\x06\xd9\xa3\x2b\xb4\x89\x0e\x7c\x21\x6a\x4d\x33\xfe\xca\x36\xb5\x49\xe5\x32\xfe\xa6\x85\x56\xe7\x54\x0a\x4f\xb1\x69\xd4\x9f\xc5\x53\xb2\xe6\x70\x0a\xe4\x2d\x9a\x51\x6e\x68\x16\x0a\xcf\x6b\x27\x0c\x77\xca\x5e\xc2\x6e\x5a\xd5\xdc\x75\xc2\xc3\x93\xe2\x99"}, -{{0x1f,0x0a,0x10,0xa2,0xcb,0x11,0x19,0x17,0xb9,0xa6,0x7a,0x2a,0x1f,0x38,0xfb,0x86,0xf8,0xed,0x52,0x60,0x7d,0x1d,0x65,0x3a,0x45,0x7d,0x7f,0x47,0x18,0xd9,0xa7,0xde,},{0x70,0xc0,0x75,0xb2,0xe9,0x4c,0x4c,0x02,0xf4,0x5e,0x73,0x04,0x4f,0x24,0x39,0x97,0x41,0xb1,0x61,0xfe,0xb6,0xf6,0x9e,0xab,0x63,0x54,0x17,0x28,0x2a,0x4a,0x93,0x68,},{0xa4,0x24,0x5a,0xa3,0x39,0x5e,0x7b,0xad,0xa2,0xbc,0xdf,0x16,0x03,0x14,0x7c,0xc5,0xf3,0xf0,0xba,0x91,0xf4,0x0f,0xda,0xd8,0xf6,0xd3,0x71,0xc3,0xeb,0xef,0xb4,0xc1,0x50,0x1d,0x07,0x87,0x5b,0x57,0x6f,0x40,0x79,0x78,0x06,0xa4,0x84,0xc7,0xa3,0xf7,0x05,0x69,0xe2,0x32,0xb0,0xc9,0x9d,0x29,0xca,0x23,0xa2,0x33,0xb6,0x8e,0xdb,0x0c,},"\x4f\x6a\x43\x4b\xd5\xfc\x77\xf0\xf1\xb7\x04\x9c\x91\x85\x3c\xcb\xd8\x94\x39\x96\x2a\x60\x78\xa6\x74\xb8\x67\x54\x3b\x6b\x7d\x10\x55\x2e\xc1\x75\x8c\x52\x83\x04\x2b\xd6\xb4\xce\xa8\x8c\x95\x20\xdb\x04\x74\x6f\x08\x9c\xf3\xa2\x60\xfb\x0f\x33\x85\x8e\xfd\x6f\x68\x0d\xe5\xb7\x2d\x98\x76\x32\x4b\xa5\x90\x29\x91\x38\xf8\x5a\x76\xf5\xbe\x0e\x05\xe8\x85\x9c\x02\xb2\x35\x12\x55\x9c\x8b\xea\xfc\x9c\xfe\x90\x1b\x28\x3e\x15\xd1\x6c\x79\x2e\xb0\x3b\x92\x88\x0f\x6f\xf9\x7a\xa3\x8e\xee\xad\x3f\x4f\xd6\xc0\xa9\x21\x43\x23\xaa\x39\xa1\xc1\x65\x15\xe3\x0d\xbd\x08\xb8\x33\xee\x40\xa8\x14\xa2\x88\x09\xc8\x70\xe1\xd0\xa6\x2c\x37\x93\x2d\x54\x08\xfc\x6a\xfc\x63\xe7\x9a\x65\x5c\x5f\xe3\xd4\x02\x6e\xf0\x9e\x02\x99\xfb\xde\x5a\xb3\x4f\xce\xab\x14\x13\x0d\xc4\xbe\x00\x7e\x8e\x64\x44\xd7\xaa\xae\xc6\x2c\x87\x3d\xf7\x7e\x80\x10\x74\x3c\x31\xe8\x75\x7f\x1e\xae\x9e\xdb\x55\x97\xa1\xb5\xd8\x4b\xd7\x7a\xe7\x64\x2e\x1a\xca\x99\x87\x3a\x15\x2f\xfd\xe0\x68\xa8\xe4\xad\x92\x40\xb9\x03\x33\x27\x95\xe4\x0b\xb3\x28\x65\xe5\xce\x03\x43\x07\xa6\xc9\xfe\x33\x9a\x1c\x93\x77\x0d\xf5\xca\x46\x32\x9f\x6b\x09\x41\x97\x85\xcb\xf2\x84\x7b\x0c\x68\x32\x83\x71\x23\x85\x3a\xd9\x52\x65\x32\x65\xc5\xb5\x74\x0d\x19\x4e\x00\xf2\x3f\x9e\x96\x67\x91\xf0\x05\xf8\xbf\x55\xc3\x88\xc2\xbe\x9e\x21\x53\x89\x25\xf8\x55\x5e\x0d\xbd\x83\xbe\x07\x3d\xf7\x65\xaf\x49\x40\xe5\x9a\x37\x90\xb9\x83\x6b\xab\x79\x09\xe5\x67\x6f\xbf\x1c\x21\x26\xfe\x22\x6d\x78\x1a\x44\x33\x0c\xc0\x1d\x32\x83\x0f\xf8\xae\x00\xb9\x79\x2e\x39\x8c\x2c\xbb\x4f\xb8\x3a\x10\x05\xc2\x45\x54\x9a\x89\x06\x3f\xbe\x06\xc6\x2a\x48\xda\xc4\x3c\x51\x01\x24\x99\x94\xe9\x5e\x37\xf2\x4c\x1d\x8b\x3b\xc6\x73\x53\x8c\x46\x05\x5f\x80\x0d\xb1\xc0\xf9\x56\x86\x9b\x6b\x29\x7d\x99\x0f\x44\xf0\x5b\x50\xc7\xad\x6b\x85\x6f\x46\x21\x28\x58\x47\x1d\xd0\xd3\x93\x72\xb0\xdb\x75\x15\x73\xdd\xb6\xb5\xb5\x6b\xa0\x1e\x37\x1c\x78\xfe\x58\xdc\xd1\xbe\x53\x11\x2a\x6a\x73\xda\x9a\x6b\xac\x75\xd3\xc3\x9a\x1a\x70\x5a\x36\xf6\x40\xfc\xfa\xd8\xcd\x04\x07\x75\x94\xd5\x96\x85\xf6\xe3\x0d\xe7\x1d\xfd\x4a\x44\xc4\xe7\xc0\x4d\x6e\xc7\xc2\xe8\xbe\x12\x78\x5b\xb0\x5b\x29\xb3\x91\x51\xd3\x29\xf5\x87\xfd\xc3\x81\xc2\xdf\x0c\xef\x73\xfe\x0e\x3f\xd9\x20\x8d\x7c\xcb\x6e\x08\xd0\x2f\x42\xd1\xfe\xed\x27\x56\x1d\x5e\x32\x3a\xa1\x48\x62\x4e\x55\x2a\xbe\x87\x53\x2d\xe1\x5b\x7f\x42\xc2\x2c\x98\xe4\x05\x25\xb1\x74\x7c\xbd\x75\x8b\xfb\x26\xfd\x3e\xed\x3b"}, -{{0x7f,0x05,0xba,0xac,0xf1,0x67,0x58,0x3c,0xf2,0xfe,0x95,0x62,0xa5,0x06,0x99,0x1e,0xd9,0x87,0xf6,0x8f,0xfb,0x71,0x56,0x7c,0x7c,0xcc,0xe3,0xfc,0xc5,0x9b,0x78,0xb0,},{0x0d,0xec,0x39,0x52,0x85,0x2b,0x96,0xfd,0x75,0x58,0x7e,0x97,0x74,0x3f,0x9e,0x41,0xc0,0x9f,0xbe,0x6b,0xa9,0x81,0xbf,0xce,0xb4,0xeb,0xb8,0x89,0x2d,0x98,0x6a,0x16,},{0x0d,0xee,0xd2,0xdf,0x82,0xac,0xf4,0x52,0x9c,0x40,0x8a,0x02,0x93,0x1f,0x67,0x6b,0xec,0x5c,0xb7,0xad,0xe8,0x4e,0xbd,0xcd,0x57,0x8f,0x70,0xf9,0x71,0x38,0x2c,0xf3,0x11,0xbb,0x83,0x09,0x73,0x00,0x45,0x6a,0x55,0x8b,0xc4,0xc0,0x9d,0x89,0x83,0xff,0x13,0x49,0x3f,0xd6,0x11,0xeb,0x66,0xc0,0x43,0xbf,0x01,0x9b,0xad,0x6f,0x33,0x02,},"\xa2\x7d\x1e\xab\x05\x15\x09\x20\xde\xd1\xb1\xc2\x57\x8a\xf5\x82\xb2\x94\xf7\x83\x7f\xe4\xfb\x1a\x31\x69\xc2\x5e\xfb\x70\x63\x4b\xa6\x6c\x7e\x29\x91\xb3\xe7\x5c\xc5\x12\x48\x26\xa0\x3e\x05\x72\x59\xb5\xcb\x70\x62\x28\x78\x0c\xbc\x82\x75\xc3\x39\xf8\x34\x0e\x40\x2a\x66\x50\x32\xa4\xab\x65\x78\x27\xb1\xc3\x48\x1f\x75\x66\xd3\x69\x73\x5b\x82\xdb\x76\x28\xc0\x22\xb2\x12\x73\x0d\xb1\xe4\x7c\x9b\x2d\x9b\xc4\xd8\x1b\x23\x42\xd8\x9c\x6e\xaf\xc3\xe0\xb6\xde\x50\xd4\x84\xcc\xef\x11\x23\x8c\x8e\x2d\x24\x0d\xd5\x95\xdc\xef\x8b\x2f\xc5\x7b\x54\xff\x9a\x8a\x74\x11\x1f\x61\xf8\xa6\x52\xf2\x0e\xa0\x12\xc1\xad\xe3\xe2\x80\xec\xde\x29\x4c\x0e\x35\x71\x71\x90\x16\x2e\xc6\xa2\x26\x5e\x7e\x6f\x3f\x07\x04\xcf\x8a\xb1\xa0\x3e\x5c\xc9\x53\xe2\x92\x62\x91\xcc\xd4\xb0\x59\x0d\x5c\x20\x56\x8f\x94\xf9\xff\x0f\xe2\xab\x78\xcf\x9a\xe2\xc3\x8b\xcd\x49\x1e\x51\x8f\x23\xe9\xb6\x36\xf8\x80\x61\x5f\xc5\x60\x78\xe5\x12\xd7\x57\x7e\x09\x49\x7c\x11\x83\x45\x3d\x50\x81\xfd\x47\x37\xf2\x80\xec\x5e\x26\x7c\x45\x86\xb7\x8b\x70\xff\xfd\xfd\x73\x0d\x80\x9d\xf5\x60\xf2\xe3\x77\x21\x91\x84\x7b\xbc\x3f\x60\x4f\xb7\xf8\xca\x49\xee\xd3\x18\xb5\xe7\xd1\xf2\xb8\x3a\x10\xda\x0c\x85\x94\xb3\x39\xb6\x87\x1a\x57\x72\xdd\x64\x16\x8e\xcc\x27\xe2\x40\xa4\x5c\x76\x72\x5e\x7d\x55\xbe\xf3\x7e\x13\x5e\x3d\x9e\x0e\x34\xe3\x6c\x16\xe3\x4d\x77\x45\x9a\x55\x2f\x40\x74\xd0\x67\xa3\x1a\x3e\xd2\xa4\x8c\xde\xa4\x89\x5b\x10\xbd\xf1\x65\x6f\x4b\x7a\x41\x3c\x6a\x08\x8c\x64\x9f\xc9\xd7\xbc\x56\xab\xf6\x44\x35\x49\x12\x14\x19\x2a\x66\x70\xcb\x8b\x9c\x91\x7f\x8e\x1b\xc7\xb2\xcf\xce\x78\xd2\x8f\xbc\x3a\xfc\x2a\x50\xe9\x82\x13\xe7\xe0\x26\x37\x8e\x4e\xa7\x11\xd1\x51\xad\xaa\xa7\x19\xbe\xb8\x97\x46\x56\xc1\x0e\xbc\x7d\xe4\x6b\x19\xec\x82\x95\x1e\xf4\x6a\x8c\x68\xe7\xf4\x36\xe1\xb3\xeb\xed\xb2\xd0\x9b\x05\x75\xc9\x91\x4e\xad\x27\x96\xb5\x3e\x00\x61\xe2\x12\x99\x4a\xc5\x02\x6a\xea\x81\xec\x37\xc8\x13\x78\xf4\xcc\xfc\x46\x77\x00\x08\x79\x68\x59\x7d\xa3\x8f\xed\x52\xfa\x48\x09\x3a\xe4\xba\x10\x66\xc3\x1e\x3c\x7d\x85\x08\x09\x5b\xb4\x5c\x28\x01\x20\xf4\xaa\x69\xa2\x4f\x3e\xfe\xf1\xf7\x67\x98\x5a\xa1\xa3\x0e\x14\x08\x56\xf7\x6d\x15\x20\x73\x28\x78\x48\x7b\xe5\x3f\x71\x2d\xbd\x7d\x77\x9e\x31\x51\x01\x58\x8f\xd7\xdb\xdb\x13\x2f\x92\xc2\x75\x75\xac\x14\x86\xf1\x76\xc7\x90\x66\x1b\x01\x48\x39\x4e\x92\xff\xa3\xae\x6f\x8a\xfb\x2f\xaa\x2b\x7f\x4f\xbd\x0a\xd9\x1e\x75\x9a\x70\x2b\x3c\x70\x2b\x4d"}, -{{0xd0,0x0c,0x21,0x64,0x26,0x71,0x0d,0x19,0x4a,0x3d,0x11,0xcf,0xc9,0x0a,0x17,0xa8,0x62,0x12,0xe7,0xa0,0xe5,0x4b,0xaa,0x49,0xb0,0x16,0x9e,0x57,0xff,0xf8,0x3d,0x61,},{0xcf,0xe6,0xae,0x89,0x03,0xc6,0xc7,0x01,0xaa,0x30,0x46,0x95,0xc6,0x51,0xbf,0xd8,0x50,0x33,0x1f,0x9a,0xd4,0x81,0x63,0x3a,0xe3,0x70,0xc8,0x6d,0x7b,0xd1,0x3f,0xb9,},{0x15,0xc4,0x5c,0x19,0x42,0x97,0xe8,0x87,0x02,0x9f,0x49,0xd8,0xbd,0xf9,0xd6,0x10,0xdd,0x8c,0x34,0x79,0x9e,0x1e,0x92,0x30,0x26,0x9e,0x7a,0x58,0x92,0x89,0x38,0xcf,0x39,0x6a,0x02,0xcd,0x42,0x20,0x54,0x90,0x39,0x1e,0x1c,0x64,0x35,0x3f,0xb0,0x6b,0x9f,0x8e,0x9b,0x81,0x8a,0x9a,0x36,0x1c,0x20,0x4a,0x38,0x69,0x95,0xbf,0x3b,0x03,},"\x82\xf9\x78\x41\xb3\xba\x22\xdd\x9a\x44\x50\x83\x7e\xa7\xbf\x8d\x27\xa9\x73\x14\x70\xca\xbb\x0c\x20\x78\x03\x4b\xf2\x4e\x4c\x1a\x62\x90\xc0\x3f\x40\x02\xb8\x6f\xa0\x9f\x07\xb5\x20\x9f\x1f\x53\xd0\xec\xf4\xd9\xe9\x22\x3b\xec\x12\x5a\x95\x45\x51\xfe\x8b\xff\x71\x8f\x5e\x26\x48\x68\xe2\x07\xf7\x01\x19\x4e\x41\xde\x39\x97\x1f\xd3\x85\xf4\x9a\x4b\x4a\xdd\xa9\x11\xeb\xa5\x52\x59\xfc\x68\x36\x65\x32\x73\xf6\x56\xf4\xaf\x60\xb2\x06\x64\x95\x6d\x4f\x21\x35\xd9\x0d\x09\xe9\x03\x7d\x53\x66\xa0\x25\x34\x44\xe0\x22\xc7\x21\x2a\xf5\xfd\x4f\xcc\xd7\x42\x37\xd2\x88\x53\x38\xe2\xfd\x72\x15\x22\xde\x67\x63\xc2\x54\x90\x28\xc6\x23\xb9\xcf\x38\x7d\x23\x4a\xb5\xe7\xfc\xbe\x5a\x47\xc6\x85\xb7\x9e\x75\xa5\x7b\x09\x57\x40\x82\xa0\x22\x21\xdf\x64\xa2\xe8\x41\x61\x80\x87\xe7\x22\xa2\x1b\xac\x1b\xa4\xf0\xd7\xd8\x7b\xdc\x51\x0a\xaa\x8f\xbd\x10\x75\x7f\x6c\x02\x9c\xa8\x20\x37\x1f\xc7\x4c\x3b\xc5\x0b\xd8\x98\xc5\x5d\x81\x67\xf7\x3a\xda\x37\x7a\xec\xc9\x16\x29\xd6\x4c\x36\x0c\x2c\x24\x1c\x5c\xb4\x2e\x3a\x51\x8c\x5d\xab\xf0\xf4\x18\xb2\xa7\xf3\xd8\x2e\xef\xd9\x20\x26\xd3\x1e\x8b\x81\x60\x35\x8e\xae\x82\x1f\x73\x0e\xca\xfe\x7a\xce\x64\x7b\xff\x87\x41\xde\x2f\x6a\x13\x1d\x11\xc9\x69\xe9\x78\x7c\xfe\x6a\x2f\xab\x37\xbf\x8d\x1c\x7f\x4a\x2f\x36\x4d\x2f\x1a\x76\xef\x04\x6c\x18\x43\xe6\x3e\xc0\x0c\xf7\x92\x0f\xfa\xae\x56\x1e\x73\x70\xb7\x19\xfc\x16\xfc\xeb\xca\x3c\xfd\xfa\xba\x43\xf4\xf0\x90\xc4\x6f\x47\x73\x03\xa6\x60\xee\x88\xdd\x4e\x89\xbf\x14\xb9\xf8\x04\xb6\xfd\x49\x5c\xb1\x41\x27\x53\x47\x4a\x05\x6a\x0d\x89\x31\xcd\x9c\xcb\xd6\x4f\x8f\xcc\x7a\x31\x23\x46\x7c\x5d\x47\xf6\x90\x67\x9e\x88\x71\x28\x80\x93\x73\x4f\xd6\xa1\x32\x60\x38\x65\x81\x56\x41\x36\x96\x59\x4c\x13\x4d\x73\x88\x7f\x34\xee\x67\x60\x9a\xe8\xff\xb3\x26\x6c\x16\xd8\x7f\x15\x34\x5a\x47\x6f\x72\x95\x0c\x15\x87\x96\xa8\x8b\xbb\x44\x4f\x1a\xa8\x09\xca\xd8\x75\xb8\x5f\xb9\x15\x1a\x0e\x2e\xef\x2e\x00\xe8\x0d\x6b\x7a\x9b\xa4\x06\xc0\x51\x9e\xff\xdd\x94\x12\x62\x32\xfd\xf6\xf1\xe7\xb9\xbb\xc0\x36\x2a\xa7\x75\x16\xfd\xf9\x39\xe7\x90\x6a\xab\x01\x30\x71\x28\xcf\x82\x4c\x10\x2c\x09\xb9\x29\xc9\xb2\xd7\xaf\x8f\x85\xb7\xd7\xf9\xa8\x38\xb2\xae\xd0\xc6\x97\xe8\xbd\xfe\xe6\x6e\xe0\x16\xbb\x1b\xf3\x5e\xff\x6b\x2f\x7e\xf4\xb9\x1b\x1f\xc0\x4f\xac\x9f\x11\x6e\x2e\xdf\xf4\x0f\x95\xc1\x5b\x77\xc3\x1e\xe5\x22\xf3\x93\x7c\x7f\xa0\x04\x7d\x62\x25\xe0\xc8\xe5\x5e\x27\x8c\x81\x03\x91\x1f\xea\xb2\xb7\xf4"}, -{{0xdd,0x12,0x39,0x72,0xe6,0x28,0x58,0x4a,0xcc,0x46,0x29,0x3b,0x8e,0x4c,0xe2,0xb2,0xdd,0x46,0x9c,0xc4,0xed,0xe1,0x4e,0xf3,0x95,0x21,0xcf,0x08,0x37,0x35,0x85,0xb3,},{0x35,0x22,0xf7,0xae,0x59,0x6e,0xed,0xb2,0x17,0x03,0x5d,0x95,0x39,0x5e,0x44,0x8d,0xbd,0x6f,0xfb,0xf4,0x25,0x85,0xea,0xeb,0x30,0x70,0x26,0x54,0x1c,0x78,0xa6,0x51,},{0x89,0x65,0xa8,0x89,0xd5,0x4c,0xd8,0x07,0x6d,0x35,0xbc,0x2e,0x12,0xb0,0x09,0xd5,0x6b,0x07,0x04,0xc8,0x94,0xf9,0x12,0xa0,0xd1,0xd3,0x07,0x20,0xc2,0x32,0xfe,0x44,0x04,0xbf,0x30,0x09,0x54,0x1e,0x8f,0x32,0x83,0xe8,0x9e,0xa8,0x6f,0x67,0x8a,0xfb,0xdf,0x1c,0x21,0xc9,0x24,0xb2,0x3a,0x52,0xb4,0xca,0x6d,0x63,0xf4,0x8f,0xc2,0x03,},"\x2b\x28\x57\xf4\x52\x80\x17\x3e\x2e\x0e\xf9\xd5\x94\xe6\x08\x3f\x1d\xc7\xa6\x54\x92\x97\x5b\x83\x7d\xef\x6c\xad\xd8\xc8\x54\x50\x31\xee\x9d\x68\x36\x9a\x93\x93\xcc\x7b\x79\x2f\xeb\x98\x04\x0b\x21\xf1\xeb\x84\x66\x5f\x87\x85\x37\xce\x41\x2e\x9d\xb6\x80\xd2\x9f\xbd\x8f\xfc\x77\x31\xea\xe9\x1a\x20\xb4\x75\x48\x99\x62\x04\xfb\x06\xad\x74\x0e\x78\xf0\xfc\x59\x0b\x67\x91\xdc\x7a\x0f\x26\x59\x28\x6c\xc1\x6d\x02\xc5\x11\x7b\x56\x58\x36\xb4\xb8\x73\x8c\xf4\x0e\x28\x5c\x69\xc5\x0e\x41\x29\x11\x29\x23\x67\x35\x2d\xfd\xae\xd9\x98\x2d\x0f\x89\x9a\x23\xc0\xab\x51\x81\x2b\x3e\xc6\x78\xf6\x88\x2e\xa4\x27\xcd\xc9\x3a\xb4\xb2\x48\x24\x37\x70\x54\xaa\x25\xd8\x22\x46\x65\x33\x40\x07\x8c\xf1\x1d\x14\xa5\x1f\x0e\x68\x6d\x7e\x01\x8b\x36\x74\x16\x68\xfc\xe7\x45\x8d\x16\x92\x93\x36\x1d\xd1\x6b\x3d\xeb\xbe\xd1\x9e\x1b\xef\x7c\x36\x93\x4e\x20\xf3\x3a\x09\xad\x3e\x82\xb5\x3a\xb4\xe9\x4c\x25\x5d\x04\x18\x98\xb9\x77\x37\xdf\x99\x58\x4a\xf1\x4e\x40\x40\x58\xd0\xc9\x3b\xca\xe7\xbb\xbc\x06\x39\x5a\x2a\xef\xbd\xef\xa7\xb2\xed\x17\xce\xbd\x15\x13\xfa\x39\x0f\xe9\xa9\xb0\xce\x68\xce\xcc\x2b\x9e\x12\x9b\x7a\x29\xf4\x9b\x6d\x18\xc2\x8b\xac\xd3\xaf\x39\xdc\x39\xca\x97\x2f\x0e\x0d\x06\x85\x5d\x57\xc2\xb5\xfc\xac\x2f\x79\xcb\x8c\x05\x79\x9e\x4f\x65\x73\x46\x68\xda\xd6\xaa\x7a\x43\xa1\x18\x56\xe2\x3b\x1e\x73\x2d\x00\xe5\xfe\x38\x85\xb7\xda\xd4\x2e\xc1\x8a\xc8\xe0\x96\xa0\x80\xf7\xd5\x50\x70\xfd\xcf\xf6\x07\xbc\x0b\x85\x2d\x8a\x08\x0d\x2a\x74\x05\xd5\x94\x14\x69\x5f\x2e\xb7\xfb\x0a\xca\x23\xc8\x63\x57\x42\xf8\xae\x57\xf1\x37\x80\x31\x6e\x28\x08\x72\x37\x4e\x69\x29\x59\x8d\x02\x8a\x33\xc0\x5d\x83\x1c\xda\xbd\x02\x94\x93\xc3\xcc\x85\x9f\xff\x1a\x67\xd5\x62\x16\xf0\x2a\x22\x95\x66\x53\x65\x88\x7a\x35\x0a\x80\xaf\xaa\x0c\x36\x7a\x74\xd3\x70\x1a\xe8\x8f\x59\xd8\xa9\xd3\xa1\xdc\xe0\xcf\xd2\xea\xbe\x2a\xf5\x06\x5a\x1c\x7f\xca\x4a\xad\xcf\x8e\x51\xe7\x56\x12\xa1\x37\x1b\x4d\xc8\xff\xc0\xc0\xb9\xc4\xfa\xdb\x2f\x08\x1e\x2e\x03\x2d\x96\x81\x8e\x55\x73\x7a\xdd\xe3\xe1\xac\x12\x1f\x56\xcc\x86\xfb\x58\xa0\xa5\x82\x69\x2f\x62\xce\x58\xac\xce\x17\xaa\xfe\xc7\xbc\xb7\xe4\x4f\x83\x92\x58\xcd\x4a\x85\x1f\xc0\x13\x44\xee\x9f\x1b\xd0\x3e\xb9\x43\x44\xf4\x77\x86\x93\xc1\x71\xdd\x28\x92\xb2\x42\x6a\x88\x29\xab\x0c\xfe\x33\xa7\xd4\xa3\x6e\xb4\x01\x7f\x7f\xcf\xd2\x41\x34\xab\x8a\x45\xf2\x37\x17\xcd\x13\x8a\xa6\x00\x01\x72\xe3\x7b\x40\x64\xdc\x9b\x6d\x1e\x1e\xf3\xaf\x84\x97\x1d"}, -{{0x33,0x35,0xea,0x92,0x81,0x17,0xcf,0xee,0xfb,0xee,0xae,0x14,0x60,0x03,0x88,0x1b,0xdc,0x88,0x89,0xd6,0x58,0x0e,0xed,0x13,0x52,0x37,0x08,0x20,0xad,0x1f,0x58,0x4f,},{0xcb,0x20,0xd4,0xfd,0x75,0x61,0x84,0x80,0x13,0x11,0x1c,0x3e,0x97,0x61,0x7f,0x34,0x18,0x1d,0x2e,0x7f,0xbc,0xf1,0xbb,0x2a,0x2c,0xd2,0xe8,0xc1,0x77,0x5b,0x8b,0x03,},{0xf7,0xc3,0x9f,0x92,0x47,0xd2,0x2f,0x01,0x89,0x99,0x24,0x7f,0x0e,0x00,0x05,0xcd,0x63,0x07,0x6c,0xcf,0x2f,0xee,0x41,0x63,0x42,0x1f,0x86,0x40,0x7a,0x41,0x69,0x8c,0x40,0x58,0x16,0x64,0x73,0x51,0xc0,0x4e,0x93,0xb5,0x44,0x15,0xb6,0x2f,0xc0,0x3f,0xc8,0xc2,0x5e,0x20,0xf7,0x54,0x1d,0xab,0x03,0x19,0x7d,0xc9,0x00,0xb2,0x9c,0x0c,},"\x0f\xa7\xf6\xa6\xfc\xa9\x81\x42\x9b\x57\x2a\x67\x04\x87\x1b\xed\x14\x0d\xab\x93\xee\x19\x92\x00\x6e\x9a\x3b\xb2\xe6\xcc\x9a\x09\xd4\xc9\xcf\x17\x06\x6b\x32\xff\x7e\xf5\xb6\xb2\xe7\x91\x11\x78\xed\x74\x62\xc4\xc1\x75\x60\x31\x71\xca\x61\x36\x68\xb3\xbe\x19\x3d\x94\xc3\x52\x1e\x58\x89\x13\xb5\x94\x8b\x55\x0b\xe9\x9d\x82\xd9\x66\x19\x7d\x71\x0a\xcf\xd9\x59\x14\xcf\x3e\x19\x75\x36\xe8\x3e\x68\x23\x0d\xc3\xd6\x7e\x67\xdc\xdb\xde\xe0\x4f\x0d\x9c\x48\x02\x37\xec\xd2\x8f\x74\x33\x8d\xb5\xf3\xf6\x97\xd3\xd0\x7f\xf3\x36\x13\xbb\xce\x54\x2a\xcc\x9a\x7f\xed\x5d\x12\x49\x0b\x9b\xfe\x1d\x10\x95\x40\xf8\x63\x80\x0d\xd3\x56\xda\x84\x1a\x45\xa3\xcd\x8a\x08\xa9\x45\xbf\xa3\xaa\x98\xe1\x71\x23\x12\xc4\xc0\xf0\xd9\xdd\x64\xf6\xef\xcf\x73\x6b\xd9\x7d\xea\xfc\xa9\xdc\xaa\x3f\x06\xd8\x7f\x2e\xd7\x2a\xeb\x6a\x94\xf3\x28\x00\x00\xc4\xbf\x72\x8a\x01\xc1\x86\x2d\xaf\xd9\xfc\x5c\x7d\x5a\x46\xec\x7d\x3a\x87\xaf\x59\xa1\x1d\x87\xf7\xff\x84\x40\x7d\x37\x01\x0e\x1d\x94\x6c\xf2\x25\xd6\xb3\xb1\xed\xee\x2e\x8b\xbf\x1e\x07\x9e\x47\xfb\x1f\x66\x66\x93\x94\xfb\xf2\xfa\x68\xfc\x56\xfc\x89\x82\x0a\x68\x09\xc2\x51\xdd\x62\xf5\xb8\x65\xc5\x47\xb1\x4f\xbd\x3a\x19\x50\x42\x44\xff\xbc\x7e\x52\x40\xf8\x8d\x43\x60\xf9\xca\xca\xaf\x5f\x82\x43\x3d\x33\x44\xfc\xae\xe0\xac\xde\xb7\xbe\xb9\xc0\xb3\xc7\x69\xea\xc9\x20\xef\x4f\x09\xab\xc2\xa2\x09\x55\x12\x04\x59\x43\xec\xcc\x53\xb1\xc0\x3e\xd2\x4e\x56\x7f\x3d\x7a\x71\x97\x7c\xab\x98\x40\xce\x89\x8e\xe5\x8e\xd5\xc7\x3f\x6a\xde\xa8\x23\x39\x4c\x5c\x8e\x36\x58\xa6\xbf\x5a\xcb\xbf\x00\x55\x99\x2c\x31\x2c\x26\xc7\x9c\x5c\xfb\xea\x38\x60\xb8\x76\x4a\x6d\x8f\xfe\x44\x91\xf8\xa5\xb8\xa2\x15\xe0\x11\x7a\x9a\x68\x16\x4a\xee\x25\xf8\xc0\xbb\x38\x11\x95\xb2\x40\x0b\xcb\x46\x44\xeb\xce\x1c\xde\x5a\x9a\x26\x58\x2c\xab\x9d\xc7\xf4\x3c\x33\xea\xe3\x50\xdb\x65\xaa\x7d\xd2\x2a\x07\x9b\xdd\xdc\xf5\x6d\x84\x8d\xeb\x0c\xfa\x50\xb3\xbd\x73\x2d\x9d\xa9\xe8\xd8\xab\x79\xe9\x34\x69\xde\x58\x02\xb6\xdf\xf5\xac\x2a\xa8\x48\x2b\xb0\xb0\x36\xd8\xf9\xd5\x95\xb8\xea\xd9\x4b\xb8\xd7\x41\x8e\x2e\xa4\x31\x92\xef\xcb\xfc\x05\xc4\x67\xbd\xe0\xa8\x68\xa5\x16\xa7\xc1\x4a\x88\x9b\x72\xc5\xb7\x3e\x7d\x85\xc2\xba\xe9\x02\xe4\xe6\x8d\x1f\x3c\xea\xb2\xb2\x77\x3a\xf5\xbb\xae\xe6\xa0\x0d\x08\x06\x3e\x78\x33\xcd\x4e\x29\x53\x47\xe5\x8f\x5d\x1b\x33\x97\xf6\x40\xc1\x59\xcc\x60\xa6\x74\xa2\x27\xb4\xcd\x8c\x10\xf1\xdb\xae\xd5\x16\xcc\xac\xdd\x29\x5f\x11\xb0\x81\x47"}, -{{0x32,0xa1,0x88,0x3e,0xff,0x57,0xa3,0xa7,0xec,0xdb,0x31,0x02,0x21,0xee,0x83,0xc4,0xde,0x92,0xb7,0x22,0x15,0x96,0x13,0xec,0xf8,0x16,0xe3,0x82,0x43,0x7b,0x60,0xb9,},{0x82,0xdd,0x1a,0x03,0xe5,0x85,0x20,0x62,0xba,0x4a,0x8b,0x6b,0x3b,0x93,0xc5,0xe9,0xc4,0x3f,0xf6,0x99,0x5b,0xd2,0xaa,0xc7,0x26,0x06,0xfa,0xc8,0x58,0x02,0xc6,0x82,},{0x83,0x09,0xcb,0xe7,0x2f,0x80,0x4b,0xd9,0x52,0x1d,0xef,0x5d,0xad,0x4d,0x8b,0xc1,0x38,0x86,0xb1,0xd4,0xf6,0x62,0xc9,0xbb,0x5b,0x97,0xba,0x47,0x90,0xf4,0x4b,0x80,0x1f,0x31,0x95,0xea,0xd0,0xd4,0xdd,0xb6,0x60,0x81,0x8e,0xcb,0xf9,0xa6,0x83,0xca,0xcf,0x85,0xf1,0xdc,0xc9,0xe8,0x2c,0x09,0x11,0x6d,0x73,0x36,0x58,0x09,0x1a,0x00,},"\xed\x2b\x12\x3b\x5d\xd7\xf5\xe7\x18\xe0\x26\xc7\x9c\xfa\x61\x11\x92\x49\x02\xd1\x89\xa4\x06\xef\x2b\x2e\x56\xa9\xee\x55\x73\xa7\x6d\xdd\x1d\x06\x29\xeb\xcd\xec\xf2\xaa\xa7\x4e\x84\xfc\xd0\x20\x8f\x14\xee\xa2\xe1\x71\xe7\xc8\x60\x8b\x81\x8f\xef\xf4\xdb\xea\x52\xdb\x35\x42\x27\xd0\x23\x25\x0b\x1f\x01\xcb\x4c\xc8\xc5\x21\x32\xa9\x8d\x4a\xcf\x55\xa5\x4f\xee\x81\xe0\x94\xae\xd6\x6f\xa0\xd6\xb6\xa2\x00\xb6\xb8\x74\x14\x40\x22\x78\x53\x8b\x90\x52\x9a\x8c\x60\x3d\x92\x7e\xdd\xda\x97\xbc\x4b\x8c\xb9\x5d\x04\xb5\x33\x7f\xa2\x2c\xea\xfc\x8b\x34\x0c\x46\xfe\xf6\x71\x98\xd1\xfd\x98\xd8\x9c\x65\xcd\x08\x9e\x23\xf5\x3d\xbd\xca\x96\x77\x98\xb5\xcd\x92\x32\x05\xad\x51\x1e\xdf\x70\x6f\x12\x25\xf4\x64\x8c\x98\x5e\x00\x9e\xf8\xa2\xf6\xa0\x11\x7c\xdb\xe1\x4e\x75\x31\x2d\x8a\xc1\xf0\x3d\x04\x6b\x37\xcd\xee\x7d\x69\xc0\xf2\x5c\xcf\x18\x14\x5a\x68\x8a\x8b\x3c\xa8\x87\x5f\xe8\xd9\x0b\xaf\x86\xd4\x39\x69\xe4\xd6\x10\x21\x4f\x1a\xc5\xdb\xba\x87\xa1\xef\x10\x37\x7e\x40\xd7\x80\x6f\xd9\xd2\x34\x57\xfc\x9d\xf2\x98\x99\x23\x9f\xd1\xd2\x78\x84\x96\x81\xa9\x43\xad\x9c\x91\xfd\x1b\xbd\x92\xb7\x3c\xb1\x77\xa8\x78\xf9\x05\x9e\xe0\x7a\xf7\xa8\x73\x16\x13\xe3\x3d\x59\xdf\x3d\x97\x79\x60\x79\xd5\x63\x1e\xd8\x5e\xb2\x24\x51\x06\xa5\xff\x6a\x2b\xca\x40\xdf\x5c\x6e\x87\x47\x3b\x2c\x08\xc2\x21\x2f\x56\xfc\x29\x33\xa9\x69\xa3\xc9\x58\xd3\x7c\x53\x43\xba\x27\x60\xc8\x13\xa7\xa5\x16\x5d\x23\x1c\x5f\xea\xae\x62\xb7\x55\xdf\x49\xfe\xca\x80\x04\x1a\x65\x35\xf7\xe0\x3b\xc4\x8e\x5f\x27\xf9\xbe\x26\xef\x53\x67\x3e\xb7\xc3\x7a\x2b\x64\x74\x4a\x6c\xf1\x7e\x88\x77\x34\xae\x01\x0b\xf4\x0e\xea\x03\xcd\xa2\x12\xf5\x12\xfb\xa0\x58\x59\x47\x17\x96\x40\xbc\xc4\x54\x4b\x8d\xeb\x4e\xad\x12\x9b\xc3\x32\x28\x00\xad\xf9\x88\x18\xf9\x95\x74\xbe\xfd\x9b\x00\x16\xd4\xee\xc8\x1a\x8e\x78\xdc\x3a\x2a\xf1\x3c\xab\x01\x64\x9a\xe2\xe3\x3d\x51\x6b\x9d\x42\x08\xad\x66\x13\xd8\xe2\x78\xc3\x93\xba\xa8\x82\x34\x0e\xf4\x61\xff\x4f\x94\x42\x3d\x55\xcf\x3c\xed\xd2\xa6\xb5\x6e\x88\x36\x55\x31\xdd\x29\xd6\x82\x73\xad\xbf\xe3\x69\x40\x2e\x6a\x7c\xee\x05\x3d\xa1\xf1\x00\x54\x00\x91\xa0\x09\x29\x25\x29\x83\x44\x90\x24\xb1\xc3\x39\x11\x10\x65\x00\x82\xf0\xe7\xdf\xdd\xb8\xed\xc2\x04\x2f\x3c\x17\x13\xc6\x94\x4b\xa5\x14\xee\x74\x07\xd3\x2b\xf0\x6c\x85\x8e\xfe\xc4\x2a\x78\xbe\xe9\x77\x46\xe5\xb4\x87\x91\x41\xa1\x3d\x9f\xc5\xcb\x12\x3b\x78\x32\x73\xb8\x4d\x57\xad\x35\x26\xb7\xda\x3c\x68\xb8\x39\xef\xd2\x3f\x5f"}, -{{0x22,0xec,0xef,0x6d,0xab,0xe5,0x8c,0x06,0x69,0xb8,0x04,0x66,0x49,0x73,0xe4,0x57,0xc0,0x5e,0x47,0x77,0xf7,0x81,0xc5,0x25,0x22,0xaf,0x76,0xb9,0x54,0x81,0xa9,0x14,},{0xd4,0x78,0x40,0x10,0xef,0x04,0x03,0xed,0xdc,0x5a,0x62,0xd5,0xd4,0x5b,0xb2,0x43,0xb8,0x0b,0x4b,0x9d,0x69,0xc3,0x9c,0xa3,0x87,0xc6,0xf5,0xcb,0xa0,0x28,0x64,0x0f,},{0x5d,0x0d,0x2a,0xf6,0x78,0xb3,0xd1,0xb6,0x77,0x51,0x6d,0x08,0xa7,0x9a,0xaf,0xd3,0x6e,0xc6,0x7c,0x14,0xca,0xf5,0xbc,0xda,0xae,0xaa,0xcc,0x51,0xa1,0x4f,0xb8,0x05,0xcf,0x29,0x04,0xe8,0x72,0x1d,0xb2,0x71,0xb2,0x0d,0xf7,0x09,0xbe,0xe1,0xa4,0xfb,0xfe,0x62,0x56,0x50,0x73,0xb2,0xa7,0xe9,0x42,0x72,0x44,0x61,0xf9,0x27,0x93,0x0d,},"\xc5\x35\xc1\x3d\x77\x9f\xc0\x98\x59\x73\xd6\xbc\xd5\x52\xd8\x17\x34\xe9\x2b\xdf\x10\x99\x4b\x00\xcd\x4d\x53\xce\x36\x5f\xad\x8c\x7c\xfa\x96\x20\x6a\xdb\x62\xd4\x56\x7b\xe5\xe4\x66\x31\x32\x38\x53\xe3\x8c\xe4\xbd\xc1\x6d\x7b\x8f\x63\x2a\x3a\xd9\xe0\x26\x19\xef\xf3\x71\x74\xea\xc3\xf0\xbf\x2f\x7a\x75\x17\xd4\xb8\x2d\xe6\xaa\x1a\xf0\x06\x38\x19\xd5\xe1\xf9\x27\x8f\xb4\xf2\x4c\x8c\xc0\x02\xaf\xb1\x5f\x33\x4c\x04\xfa\xdb\x00\x30\x30\x13\xc0\x16\x67\xf4\x93\x2a\x6c\x4b\x97\xd3\x9c\xd4\xa4\x59\x85\x06\xc0\xbd\x74\x0e\xa9\xf1\x16\x96\x35\x7d\x7d\x17\xfe\x4d\x75\xf9\xd7\x42\x41\xa7\xaf\x71\xf9\xd8\x69\xef\x6c\xd6\x95\x68\x7c\x03\xfc\x34\xad\x65\xa6\x8a\x48\x88\xa1\xa7\x41\x26\xcb\x55\xcf\x7d\xa9\xcb\x4a\x67\x17\xf6\xeb\x88\x48\x40\x89\xd2\xc5\x18\x9a\xe3\x81\xf2\x5e\x7b\x3b\xc3\xb2\x3d\x0c\x9d\x9f\x9c\xdb\xbe\xec\xfd\x1e\x72\xa0\x5e\x67\xbb\x48\x3a\x97\x64\xd9\xfc\x75\xad\x69\xe4\xab\x12\x70\xfb\x40\xf3\x95\x8f\xea\x4d\xa5\x59\xb4\x39\x80\xb2\x46\x81\x31\x3e\x85\x91\xe6\x85\x46\xa3\xbf\x76\xee\x34\xb3\x39\x70\x92\x95\xa8\xd4\x6f\xb2\x43\x2d\xda\x2f\x22\x18\x12\xdf\x69\x28\x95\xe6\x7c\xb2\x9c\xbf\x6f\xf4\x50\x2b\x43\x9a\x4e\x9e\x43\x63\x9e\xc0\x67\xbc\x90\xae\x81\x4a\x29\x3a\x7b\xd4\x69\x68\xe6\x56\x78\x76\x42\x30\x0a\x0f\xf2\x69\x7e\x33\x13\xf6\xa4\x18\xd3\xd1\x2a\x5f\x7c\x51\xa4\xc5\x7b\x63\x38\x5f\x2d\x2a\x21\xd5\xd1\xd7\x63\xfc\x8d\x1b\x93\xc1\x34\x35\xf9\xe4\x7e\xe7\xa4\x25\x98\x0a\x6a\xe6\xf1\xa9\xd0\x07\x60\x74\x76\x78\x3c\x6d\x0c\x78\x87\x38\x0f\x86\x8c\x65\xb3\x82\xd4\xcc\x8c\x04\x47\x8b\xbd\x79\xa1\xd9\xa9\x64\xb7\x81\x71\xd6\xbc\xf0\xb8\xee\xc5\x0a\x06\xa4\xea\x23\x4d\x1c\x23\x46\x5d\x3e\x75\xb8\x8b\xc5\x40\xda\xde\x74\xed\x42\x67\x5b\x07\xf7\xcf\x07\x82\x11\xe9\x07\xf8\x6d\x0d\xc4\xb9\x78\x62\x3d\x9f\x08\x73\x8a\xf9\x28\x69\x5e\x54\x2e\xc2\x98\x0e\x55\xa1\xde\x49\xe2\x52\x47\xfa\x0a\x09\x67\x81\x18\xe3\x93\x0b\xc4\xd2\x4b\x32\x14\xd6\xdc\xfb\x6e\xbd\xf4\x90\x6c\x92\x8d\xeb\x37\xbb\x9b\xa2\x9c\x8d\xe1\xbb\x94\x18\xdb\x71\x8b\x28\x53\xba\x57\xad\x8c\xae\x46\x77\xad\xdf\xd1\x8b\x6c\x7e\x8c\x24\x26\x21\xb3\x5c\x7f\x0e\xfe\x8d\xd5\xeb\x26\xff\x75\xfd\x57\x48\xb1\xd7\x83\xf6\xd6\x8a\x7d\x9d\x56\xda\x2c\x1a\x97\x8a\xc2\x5f\x84\xfb\xb2\xbe\x55\x68\xd9\x1e\x70\x93\x82\x21\xc1\x02\xae\xe6\x04\x09\xbc\xbe\xc0\xc8\x2e\x12\xdd\xb4\x25\xee\xb6\xec\xd1\x15\x51\xec\xd1\xd3\x3d\xda\xe8\x71\xae\x0c\x8f\x24\xd0\xd1\x80\x18\x73\x2b\x5e\x0e"}, -{{0x8d,0xe8,0x63,0x30,0xb2,0x56,0x09,0x5e,0x11,0x14,0xb6,0x52,0x9b,0xed,0xce,0x18,0x2c,0x16,0x6f,0x67,0xa9,0x15,0x39,0xce,0xbc,0x4b,0xec,0x25,0xad,0xd7,0xa4,0xa9,},{0x33,0xcb,0x05,0x4b,0x55,0xbb,0x79,0x0a,0xc0,0xf3,0xaf,0xdd,0x9a,0x6e,0x7c,0x05,0x0e,0xfe,0x90,0x06,0xc2,0x4f,0x60,0xb8,0x04,0x4f,0xd0,0x8a,0x5c,0x10,0x6c,0x11,},{0x6d,0x01,0xd2,0x37,0xdd,0x2b,0xb4,0x18,0x8d,0x29,0xbf,0xde,0xc3,0x87,0x97,0x6a,0x71,0xbe,0x7a,0xdf,0xbf,0x9e,0x23,0x63,0x9b,0x21,0x6d,0x0a,0xa0,0xc1,0x19,0x32,0x23,0x5e,0xdc,0xcb,0x3b,0x42,0xad,0xcd,0xb6,0x29,0x1a,0x0d,0x29,0x9a,0xed,0x64,0x8d,0xe8,0xb1,0x95,0x79,0x49,0xb9,0xd1,0xcf,0x2e,0x50,0x49,0x30,0x30,0xa4,0x0f,},"\x39\xe6\x1e\x0e\xcc\xec\x92\x9c\x87\xb8\xb2\x2d\x4f\xd1\x8a\xea\xbf\x42\xe9\xce\x7b\x01\x5f\x2a\x8c\xac\x92\xa5\x24\x48\xa4\x2f\xed\x4c\xba\xdc\x08\x5b\xbb\x4c\x03\x71\x2a\xe7\x2c\xfc\xb8\x00\xb9\x78\x35\x06\x69\xb0\x99\x00\x84\xf2\xda\xb7\x6e\xca\x60\x6d\x1a\x49\xfc\x55\xc5\x29\xe1\xe7\xda\xdf\x39\x12\x2d\xd5\xbd\x73\x38\x93\x85\x8b\x05\x23\xef\x62\xdf\x4f\x13\x4c\xf6\xc2\x6e\xed\x02\xfd\xbc\xb3\x0c\xe4\x74\xb1\xad\xa3\xf0\x60\x76\x9f\x93\x4b\xbe\x68\x6c\xce\xbd\x60\x88\x3e\xce\xc9\xce\x3f\xfb\x8a\xc4\xa0\x67\x8c\xdc\x5b\x00\x5a\xe3\xdb\xa7\xe4\xfe\x8b\xc0\x45\x73\x99\x57\xd8\x49\xf6\x9c\x14\x74\x05\x7b\x42\x8c\x54\x25\xf3\xcc\x25\x16\xe8\xbb\xe3\xbe\x81\xaf\xd4\xe7\xb5\x75\xab\xe8\x8c\x87\xf2\xf0\x3b\x56\xf6\x9f\x9e\x3b\x61\xb3\x78\x81\x20\xda\xa4\x95\xef\x0e\x50\xeb\x97\x0a\x64\x5c\x13\xd2\x13\xc7\xcf\xb7\xd0\xad\x55\x5c\x92\x0a\x1e\x5d\xbc\xb4\x67\x97\xd9\x39\xfe\x04\x01\xf5\x47\xbf\xd1\x75\x43\x22\x1a\x53\x01\x0d\xe0\x1f\x25\xb6\x45\x19\xc8\xf0\x39\x63\xe4\xb9\xca\x58\xb0\x11\x36\x27\xc0\x5b\x96\x08\xee\xaa\x7b\x9a\xe6\x30\x5c\x96\x18\x81\x60\x00\x0e\xe3\xa7\xad\xe9\x6e\x0b\x4b\xde\x9d\x0e\xd6\xa0\xce\xd7\x65\xd7\x86\x84\x0a\x48\x17\x5a\x6e\x09\x0a\x38\xaf\x6a\xde\xaa\x14\x86\xa9\xcb\x5c\x8c\x8c\x92\x23\xee\x0a\xe4\xc6\xc0\x26\x91\xa3\x54\x7e\x32\x58\x2a\x5b\x70\x59\xd2\xee\x66\xfa\x9c\xd9\x65\x61\x5c\x31\x5b\x47\x6f\xd8\x61\x27\x9c\xd1\xdd\x76\x07\x74\x3f\xc5\x56\x12\x96\x31\x2f\x11\xe4\x65\xca\x40\xbc\xe3\xcf\x0b\x1f\x1d\x5a\x30\xaf\x60\x87\xde\x4d\xe9\x6c\xe4\x39\x65\xa4\x6c\x4f\xcc\xa1\x5f\x28\x11\x49\xb5\xc1\xa0\xc8\x8f\xdb\xf2\x74\x09\xa1\x34\xed\x4f\x1f\xb7\x30\xfa\x19\x18\x16\xea\x78\x4d\x98\x6c\xc9\xec\x4b\x69\x44\x02\xde\x1d\xcc\xa9\xcc\xc6\x4f\xbd\x07\xb0\x7e\x54\xe9\x31\xde\x82\x7a\x84\x24\x60\xca\x0b\xf6\xb0\x4e\xbb\x57\x1f\xa7\x77\x87\xe3\x88\x4b\xe2\x2f\x1e\x40\x2c\xf2\xb8\xa9\x6a\x5d\x39\x77\x0e\xc4\xa8\x43\x03\x61\x42\xa0\xbe\x97\x0b\xb1\xab\x16\x5a\x63\x74\xdc\xf4\x3d\xeb\x8b\x98\x30\xb2\xc4\x9d\xb9\xcd\xfe\x4b\x52\x42\xe3\x6f\x95\xe0\xc3\xe0\x77\xe8\xd2\x38\xfa\x6a\x8a\xc0\xd5\x86\xbf\x61\xb8\x24\x8f\xb3\xa7\x9a\x27\x0a\xb2\x2b\xe8\xa9\xda\x05\x5f\xf3\xd5\xbb\x2d\x1c\xa9\xbc\x25\xf7\x01\x4b\x96\x40\x77\x19\xde\x34\x4c\x3e\x73\xb8\xc1\x14\xf7\x92\x07\x5a\x5c\x22\xfd\xd4\x16\x15\x4d\x34\x94\xec\x3f\x02\xfb\x11\x2e\xe5\x73\x7f\x70\x70\x4c\x1b\x6b\x07\xea\xcb\xf9\x45\x62\xca\x7b\x90\xdd\x84\xd9\x8c\x3e\xdf"}, -{{0xba,0xb5,0xfa,0x49,0x18,0x7d,0xa1,0xca,0xb1,0xd2,0x91,0x90,0x00,0x19,0xe6,0xcb,0xaf,0xec,0xcd,0x27,0xbf,0x7e,0xcb,0xf1,0x26,0x2a,0x70,0x05,0x16,0xe7,0xc2,0x9f,},{0xf6,0xfb,0x19,0x85,0xec,0x59,0x1f,0x69,0xe3,0xba,0xc8,0x07,0xb2,0xea,0xbf,0x26,0x39,0x90,0xcd,0xfa,0x09,0xb1,0x78,0x09,0xe4,0x8e,0x38,0x5d,0xa0,0x65,0xec,0x21,},{0xe3,0x16,0x03,0x8d,0x6a,0xa1,0x5b,0x1c,0x1b,0x61,0xc1,0xa1,0x6b,0x36,0x90,0x4f,0xe8,0xa2,0x89,0xc8,0xd6,0x02,0xbe,0xcc,0x51,0x4d,0x99,0x22,0x00,0x86,0xb2,0x67,0x85,0x9f,0x5b,0xf6,0xe9,0xc0,0x86,0x35,0x59,0xac,0x62,0x3a,0x56,0xd7,0x53,0x23,0x44,0xe8,0xd2,0xf2,0x8b,0x3f,0x9d,0xf9,0x20,0x89,0x70,0x8b,0x1b,0x05,0x90,0x08,},"\x5c\xf8\xff\x58\x7e\x52\xcc\xcd\x29\x84\xf3\x47\x91\xee\x68\x43\xe7\x70\x17\xc3\xb5\x5a\xd4\x5c\x44\x45\x09\x65\xb7\x5d\x83\x6e\x78\xfb\xd7\xa1\xd1\x72\x9e\xff\x6d\x6d\x34\x0a\x90\x3f\x3c\xf1\x7d\x9e\x2a\xec\xaa\xff\x2a\x32\x1f\xcd\xde\x0a\xbc\xfb\xbc\xbc\xc0\x9f\x40\x86\xf8\x12\xc4\x6e\xfb\x01\xb7\x83\x43\xaf\xbe\x48\x30\x9f\x91\x74\x78\x45\x5f\x32\x00\x0c\x6a\x69\xf7\x9f\xe2\x11\xb9\x9f\x03\x7f\x59\x56\xd7\x22\x75\xa7\xfe\x7b\x45\x29\x6b\x5f\x73\x9a\xa4\x51\xff\x05\x75\xbc\x70\x58\x85\xaa\x56\x31\xb0\xd0\x85\x0b\xc2\xb1\x2c\x41\x92\x43\x5a\xe5\xd2\xf5\x2b\xc5\x43\x86\x49\x7c\x4a\x24\xb8\xb6\xdb\x51\x6b\xe0\x9d\x8c\xcf\x1e\xca\x78\x5b\xde\x97\xe9\xbe\x1a\xc0\x64\xf0\x94\xe2\xaf\xcc\x30\x7c\x0e\x06\xb4\xc5\x64\xcd\x9a\x9a\x95\x30\x5b\x37\xb8\x1f\x43\x46\x11\xdc\xa5\x5c\xaa\xa0\x31\xe8\x84\x95\xd5\xdc\x5a\x04\xff\x5f\xaf\xdf\x0a\x82\xa0\xc0\x3a\xff\x1b\xfb\xf4\xff\xeb\xae\x71\x82\x4e\x35\xe7\x51\xb0\x92\x70\x00\x76\x69\x86\x0b\x58\x00\x35\x65\x9e\x23\xac\xe7\x6b\x3b\x36\x9f\xa3\x06\xf2\xbe\xd9\x57\x99\xfa\xfa\xbc\x2e\x69\xc1\x41\xbe\xb0\xba\xca\xc7\xea\xa3\x47\xe7\x7b\xe5\xaf\x3f\xcd\xbe\x7b\x36\x4a\x7f\x9a\x66\xd5\xe1\x7a\x07\xdf\x62\x02\xfd\x98\xc1\x4b\xfe\xe2\xca\x6f\x07\x45\x65\x1f\x0c\x85\x50\xf9\xff\xff\xca\xfb\x96\xff\xb3\xf1\x03\xe6\x52\xe7\x8f\x53\x91\x6c\xd6\xf1\xdd\x05\xb3\xfe\x99\xb3\x42\x01\xb0\x7e\xac\x26\x52\xf5\x25\x35\x71\xfd\x38\x22\xc6\x95\xd2\x65\xc7\xdf\xdd\x6c\x6b\x14\xa8\x0b\x6e\x87\x18\x3e\x6e\x03\x2e\x5f\x24\x01\xcd\x23\x8c\xdd\x37\x69\xbb\x6e\x39\x08\x23\x43\x8f\x56\x73\xea\x9a\x47\x9e\x5c\x63\xfe\x07\xa0\x7f\x4e\x14\xf5\x77\x57\xc4\xd7\xd2\x2b\x35\xd7\x1c\x44\xea\xad\x48\x73\xc8\xec\xa6\xf6\xb2\x1d\xcf\xa9\x55\x20\xff\x96\x14\xab\xf7\xa0\xe1\x88\x53\x09\xf2\xce\xd3\xbc\xdf\xc3\x19\x36\x3a\x2d\xa4\x6d\xed\x79\xa5\xcc\x7b\x6f\x69\x38\x3f\x94\xab\x35\xc2\x50\x62\x9c\xb9\x15\xd6\x67\xb6\x28\x11\x86\x75\x48\x95\x80\x3e\x4b\x95\xe7\x41\x82\x89\xa6\xac\x3b\xcd\xb6\xe1\xe7\xf6\xf1\xdc\x38\xe7\x7d\x28\x19\x14\xcc\x40\x4f\x97\xcf\xf1\x4f\xb2\xc4\xfd\x81\x41\x2d\x10\x1c\x1b\xfb\x36\x8c\xe5\x93\x11\xe8\x92\xa8\xb9\xcd\xca\x86\x93\x6f\x3b\xca\x7e\xc7\x91\x63\xed\xdf\x1c\xee\x68\xf4\x9f\x1e\xba\xa2\x7e\xc5\x0f\x49\x0d\x61\x60\x1c\xa3\x5f\x8d\x6e\xd2\x66\x05\x4a\xeb\x9b\x19\x9f\x93\x3b\xff\xd6\xe0\x05\x0f\x26\x1b\x4e\x13\xd5\xeb\xfe\x2c\xaa\x65\x57\xc3\x2d\xde\xae\xeb\xc2\xa1\x1f\x0a\xa2\x33\x24\x0d\xa1\xc7\xe4\x0f\x76"}, -{{0x74,0xca,0x12,0x2a,0xb6,0x0d,0xe5,0x0c,0xdc,0x04,0xa8,0xe2,0xed,0xa4,0x5d,0x96,0x31,0x06,0x1b,0xf1,0x87,0xd3,0x16,0xbe,0x5b,0x7c,0xc0,0x6f,0x02,0x0c,0x48,0x3e,},{0x78,0x7d,0xef,0xd4,0xfb,0x24,0xa3,0x99,0xbd,0x2a,0x4e,0x76,0xdf,0xf7,0xd6,0x03,0xed,0x0a,0xcb,0x32,0x69,0x81,0x3e,0x4d,0xf6,0x90,0xbb,0xf5,0xb2,0xbc,0x69,0x6e,},{0xbc,0xb4,0xb8,0x50,0x69,0x60,0x11,0x99,0x7e,0xb5,0xdf,0xe1,0x43,0xf1,0xa3,0xd5,0x62,0x8e,0xf1,0xa5,0x40,0x76,0x91,0xee,0x48,0xc7,0x9d,0x69,0xab,0xe4,0xd5,0x33,0xf8,0x17,0xad,0x73,0x13,0xb5,0x79,0x5e,0x46,0xe5,0x95,0xf3,0xae,0x3a,0x91,0x65,0xb1,0xb6,0xfd,0xda,0xe8,0x61,0x64,0xff,0xcb,0xa3,0x76,0x24,0x98,0x37,0xf6,0x09,},"\xa8\x0b\x46\x07\x9f\xa7\x75\xf8\xc1\xa1\x9f\xa0\x82\x9b\xe6\x66\xbd\xfd\xca\x07\x9c\xad\x43\xd7\x0e\x08\x42\x18\x3b\xc0\xdb\x95\x46\x8a\x53\x9f\x0d\xb2\xae\xa3\xab\x9c\x70\x73\xb4\x5d\x22\x8a\x9b\xde\x23\x28\x97\xa6\xeb\x6f\xc9\xed\xf7\x36\x5e\x71\x01\xba\x97\xc4\x46\xa5\x19\xa3\x64\x9c\xf5\x27\xc8\xa6\xde\x72\x51\xb9\x28\x06\x81\x5a\xc2\xfa\x00\x82\xef\xf7\x5e\x25\x82\xcb\xca\x7e\x1e\x4d\xa2\xa4\x46\xea\x23\x3e\x7c\xf7\xce\xdf\xb0\xe2\x39\x8e\xb6\xe1\x1b\xba\xef\xe3\xf7\xec\x89\xf5\xd7\x3d\xd3\x4b\xd4\x7f\xbc\xb4\xd7\xb2\x2f\x2a\xae\xe3\x73\x78\x56\x51\x84\x11\x35\xcd\x86\x61\xa7\x01\xb2\x10\x84\xa3\x16\xde\xac\x30\x74\xe2\x4a\x2e\x35\xa0\x33\x0f\x7d\x14\x79\xb9\x32\xf2\x85\x27\x7c\x18\xa4\x41\x78\x72\x24\xfb\xbe\x46\xc6\x2e\x83\x4a\x18\x51\xed\x23\x79\x98\xd4\x8d\xce\x20\xba\x11\x4d\x11\xe9\x41\xbe\x29\xd5\x6d\x02\xf7\x37\x0c\x8f\x6d\x6d\x7e\x50\x24\x8d\xcd\x8e\xc8\x9d\x3b\x22\xf4\xf5\x87\x78\x12\x9f\xaf\xd4\xbb\x92\xed\xe1\x77\x14\xbf\x02\x2a\x5b\xf9\x2b\xe4\x79\xf1\x8e\x63\x85\x2e\xcd\xcf\x8c\x42\x11\xf5\x30\xdd\x30\xf7\x9c\xbf\x4b\xfa\x57\x37\xf0\xba\xd3\xb0\x10\x60\x67\xf4\x13\x27\xc3\x18\x9e\x6f\x20\x6f\x0d\x4f\x3c\x70\x4b\xf2\xbd\x0b\x16\x1f\x01\x8f\xd2\x1c\xdd\xfb\x41\x8b\xac\x4d\x52\xef\x02\xc4\x1c\x87\x92\xe4\x13\xb0\x4f\x08\x36\xce\xa1\xf8\x6c\x92\xe5\xd5\x70\x3b\xee\x2b\x5c\x58\x99\xe2\x85\x99\x20\x24\xf6\x4e\x0d\x16\xc6\x0a\xd0\xfd\x92\x54\x79\x32\xd0\xc5\xcb\x98\xd8\xda\x22\xfe\xeb\xdb\xba\x8d\x1d\xe1\xe7\xe9\xbb\x21\x9a\x92\xeb\x6c\x1c\x69\x8d\x3b\x33\xa3\x7f\x9b\x81\x97\xd2\x6b\x55\x0f\xeb\xd2\x60\x1e\x7a\x64\x3e\xa7\xe1\xd9\xe4\x48\xae\x03\x7f\x62\x9a\x30\x6c\xe4\x17\xae\xb7\x9f\x2e\x3c\xa4\x4d\x8d\xb3\x84\x8a\x81\x1f\x18\x46\x81\x1c\xbc\xb8\x74\xf8\xaf\x09\xe0\xfd\x01\x73\xcf\x17\x5f\x30\x41\x15\x47\x6b\xf2\xc6\xc2\xd2\xf3\x32\xeb\xa5\x34\xf4\x6a\xae\x80\x1c\x26\x92\xc2\xd2\xfa\xdd\xfe\xac\xc0\xf1\xda\xce\x44\x0a\xbc\x2a\xe5\xe5\xa4\x9d\x57\x8f\xd7\xf9\xde\x2a\x84\x1a\xd6\xb6\x76\x9c\x32\xb1\x44\xce\xea\x16\xd0\xf3\xc0\xcb\x3a\x8e\xe6\x94\xc3\x8c\x28\x07\x35\x95\x09\x6c\x81\x37\x62\xcc\x2c\x5e\xc4\xb0\xd8\xd7\x23\xdd\x66\x08\x53\x27\x8f\xc7\x2f\xd6\xbd\x9d\x12\x72\x93\x3d\xd2\xa3\x8e\xd9\xd0\x4b\x13\x90\xff\xe4\xb2\x94\xa6\xff\xfa\x72\x1e\xe3\xbb\xa3\x3a\x03\xa1\x49\xc4\xa0\x34\x52\x65\xc0\x1c\xe0\x15\xe9\x4d\xb4\x19\xcf\xf7\x04\x98\x52\xee\x00\x00\x48\xa8\x57\x58\xf6\xd7\xb1\xc5\x9c\x50\x89\xee\x01\x8e\xd0\x9b\x52"}, -{{0x65,0xee,0xa9,0xff,0xb7,0x56,0x12,0xbd,0xe1,0xd9,0xba,0x3e,0xa4,0xfb,0x5e,0xda,0x0a,0xa6,0xf2,0x55,0x6a,0xb1,0x5b,0xf1,0x81,0x7c,0xee,0x3b,0x95,0xbb,0xba,0x12,},{0x5b,0x39,0x36,0xdc,0x74,0x9b,0x6b,0x92,0x39,0xf1,0x57,0x98,0xac,0xca,0xfd,0x88,0x4c,0x36,0x59,0xee,0x01,0xb2,0xd1,0x7d,0x74,0xfc,0x7d,0xa7,0x82,0x74,0xe7,0xe6,},{0xba,0xa7,0x11,0x31,0x55,0x35,0x8c,0x92,0x4f,0xed,0x57,0x48,0x8a,0x65,0x67,0xf8,0x72,0x38,0x50,0xa9,0xf5,0xc0,0x3a,0x0d,0x7d,0xe8,0x5f,0xcc,0xd8,0xfb,0x4d,0x17,0xd7,0x75,0x35,0x23,0xb0,0x0c,0x0d,0x8a,0xdb,0x88,0x4d,0xc0,0xc8,0xa7,0xa4,0x4d,0xc2,0xa6,0x00,0x83,0xaa,0x5b,0x3c,0x5b,0x94,0xa8,0xd8,0x80,0xf2,0xa9,0x4d,0x09,},"\xc0\x69\x36\x32\x3c\xe3\x25\x3c\xac\x5a\xb4\xf6\xb8\x32\x70\xcd\x4c\xfe\x85\xd0\xbf\x8b\xac\x1e\x1b\x8d\x5f\x0b\x15\x3f\x54\x1c\x8e\x8e\xd9\x5f\x28\xd5\xc8\x5a\x23\x15\xcd\x93\x1b\x7c\xf3\xed\xae\x50\xf9\x28\x30\x59\x91\x62\x80\x4b\x13\x63\xd3\xac\x0d\xa0\xab\xd0\x97\x51\x02\x3b\xdd\xc1\x62\x88\x94\x4e\x61\x6d\x21\xd9\x12\x71\x97\x8b\xb7\x82\xd3\xeb\xed\x7f\xa6\x12\x84\xc7\x49\x0d\x27\x59\x3c\xa8\xa3\xd5\xb4\x75\x62\x33\x07\x01\x0a\xbc\x1f\xbf\x79\x3a\x81\x6a\xaa\xb5\xe0\x92\x4d\xec\x79\xd6\x04\x98\x96\x5c\xf7\xf8\x0a\xb5\x9f\xc0\x29\xf7\x82\x16\x67\x55\xb7\x2b\x86\x90\x75\x43\x4a\xb6\x06\xcc\x87\x0a\x7c\x0b\xc8\xbf\x29\xae\xe0\x33\xfa\x9c\xc1\x22\xed\x7c\x8e\x06\x9b\x54\x7d\xba\xe2\x59\x01\xb9\xe2\x49\xb4\x1f\xea\x0b\xf8\xda\xf3\x82\x68\x66\xbc\xae\xd2\x75\x3b\x5e\x91\xae\x93\x7e\x71\x7b\x50\x8a\x0a\xcf\x4c\x3b\x06\x1f\xf0\xcb\x9c\xfd\x38\x0e\x24\x94\x50\x09\x51\xa6\x62\xfd\x49\x28\xfc\x5f\xca\xf6\xc1\x8e\x84\xb1\xd3\x78\xe4\x9b\xd9\xd5\x96\x86\xd0\x87\xeb\xd5\x52\xd0\x7f\xa9\xba\x81\x6f\xa5\x40\x2c\xa9\xe7\x25\x2a\x64\x8d\x10\x6c\xfe\x6c\x43\x1c\xc2\xa0\x53\xe2\x29\x46\x37\xcd\xb9\x9d\x96\xab\xe6\x89\xed\xab\xc5\xca\x07\x0f\x77\xc1\xec\xd1\xd5\x2d\x53\x85\x28\x9f\x17\xce\xd7\x68\xc3\x97\x16\x71\xb9\xc0\xb2\xf8\x55\xb8\x46\x1c\x1e\x74\x6c\x7b\x38\xf7\x78\x96\xb8\x5a\xfb\xbe\xdd\x08\x37\x5f\xe9\x22\x98\x46\x14\xdd\x84\x9f\xe2\xcb\x89\xae\x71\x49\xdc\xd1\xd3\x7f\x49\x36\xe6\x7b\x14\x40\xbe\x72\xe0\x09\x39\x8b\xe6\xf0\x83\xbf\x96\x11\x48\x0b\x59\x2f\xe2\xf0\x11\x8e\x25\x3d\xb5\xd2\xe9\xe4\xb4\x54\x1c\x11\xda\x00\xf7\x16\x1a\x73\x6e\x5f\x0b\xb9\x34\x20\x8e\x3e\xf4\xe0\xb9\xa5\x22\x58\x20\x3f\x06\x0d\x18\xa1\x95\x15\x9e\x5e\x26\x8a\xa2\x80\x53\xc8\x34\xf7\xbd\x5d\xb9\xbd\x71\xf5\x07\xd9\x13\x70\xb3\xff\xca\xbb\xd4\xac\xb3\x07\x1d\x3f\x6d\x52\xc3\x49\xac\xf3\x50\x95\x34\x8c\xeb\xf5\xa8\x6f\x8c\x59\xdd\xc9\x65\xef\xf6\x10\xac\x42\x58\x04\xc0\xe2\xf6\xbe\x42\x85\x3f\x5b\x46\x43\x4a\x2c\x31\xd9\xac\x99\x53\x9b\xfd\xc0\x4e\xcf\x2f\xef\xd0\x45\x98\xfa\x63\xc1\x39\xff\x6c\x6d\x88\x41\x0e\x73\xbd\x32\x8c\xc4\x34\x9a\xb4\xbb\x86\xf2\xe2\xed\x7c\x73\xde\x96\x52\x0e\xf7\x73\x0e\xf3\x83\x45\xe0\xf9\x72\xa8\x4c\x53\x88\x10\x36\x87\xe6\x8c\x50\xf9\xd8\xc9\xaf\x90\x3b\xc6\x32\xd4\x32\x04\x06\x2a\x4f\x50\x2e\x21\x4c\x07\x05\x9c\x2c\xbe\xf7\x2a\x54\x11\x0d\xbf\x73\xe4\x25\x40\x2d\x17\xe9\x78\xec\x19\x9b\x51\x8c\xec\x03\x10\xbf\xbf\x7d\x9a\xd3\x00\x43\x4a\x4a"}, -{{0x08,0xda,0xbd,0x4e,0x5c,0x11,0x9e,0xa9,0x07,0xce,0x45,0xf0,0xa7,0xaf,0x9e,0x62,0xc0,0xc3,0xf1,0xc9,0xec,0x61,0xad,0x10,0x56,0x7d,0x79,0x36,0x28,0x54,0xc5,0x57,},{0x94,0x54,0x06,0xb8,0x5d,0x7b,0x32,0xe0,0xb1,0xab,0x12,0x00,0xb9,0x42,0x22,0xde,0x1a,0xaa,0x68,0x62,0x4c,0x60,0xbb,0x47,0x16,0xb0,0xbc,0xe9,0xdf,0x00,0x57,0x71,},{0x33,0xad,0xbf,0xcd,0x4e,0xd4,0xfa,0x67,0xc5,0x8b,0x5c,0xb5,0x9e,0x16,0x98,0x71,0x48,0x69,0x78,0x12,0x66,0x0b,0x35,0x31,0xff,0x6a,0x21,0xc7,0x49,0xb9,0x60,0x16,0x60,0xba,0xee,0xe2,0x48,0x9b,0x82,0xb4,0xcd,0xe1,0x32,0xb6,0xe6,0x2f,0x2f,0x90,0xd8,0xf9,0x92,0x78,0x60,0xaa,0xad,0x25,0x28,0x1d,0x03,0xeb,0x17,0xa9,0x52,0x0f,},"\x6c\x47\x19\xa5\xa2\xa6\x89\x48\x35\xc4\xac\x1e\xd6\x91\x59\xe5\xeb\xb5\x69\x2a\xd8\xea\xad\xa4\x39\xf7\x9e\x96\x68\x4b\x36\xce\xcf\xb4\x4b\x89\x01\x56\x31\x66\x3e\x06\x44\xf6\xc7\xab\x71\x39\x89\xd7\x42\xda\x27\x42\x72\x53\x31\x8a\x52\x43\x2d\xfa\xb2\x12\x1d\x1e\x92\x33\xea\xd7\x19\xe2\xc8\x6a\x6b\xe0\x73\x63\xd0\x02\x17\x3f\x20\x54\x46\xca\x95\xfc\x17\xb2\x46\x35\x82\x7f\xe3\x15\xf2\x22\x40\x8e\x45\xe8\x33\xf2\x9f\xf0\x8f\xf3\x1d\xac\x58\x3a\x4b\xec\x70\x76\xd5\xcc\x78\xcf\xc9\x44\x51\xcb\xf4\xf7\xe2\xfc\x5b\x5e\xd8\x07\x0f\x4e\xf8\x08\xbe\x1d\x8a\x68\x0e\xcd\xff\x59\x01\x0f\x39\xb1\xde\x80\xbe\xf1\x71\x9f\x1e\x21\x8e\x0c\xe0\xa1\xe3\x93\xa5\x66\xc5\x17\x64\xd2\x37\x0d\x95\xa6\x11\x91\xd8\xf7\xaf\x74\x0d\xc2\x08\xfa\x78\x31\xb2\x10\x67\x05\x12\xcd\x73\x76\x6e\x60\x9e\x9b\x78\x00\x21\xeb\xb2\x0c\xc8\x79\x0d\x8d\xa5\xf1\x0f\x5b\x6a\x11\x4a\x1d\xb8\x8f\x66\x76\x65\x01\x80\x2d\x9c\x36\x6e\xa3\xfa\x6f\x1b\x1e\x1e\x8b\x04\x20\x94\x34\x13\xcc\x6f\xea\xb2\x8c\x6b\x68\x3c\xd2\xb3\x33\x06\x9c\x89\x51\xbc\x45\xe8\xa1\x3b\xd5\x22\x57\x83\x51\xc8\x82\xf7\xc3\x42\xfe\x43\x31\xb9\x21\xf5\x33\xc9\x2e\xc0\x4a\x49\xb2\x92\xbc\x56\x9d\xdc\xef\xca\xb5\x72\x7f\x9b\x56\x25\xb1\x67\xa9\x02\xdc\x89\x6d\x8b\xc7\xd8\xe9\x99\x20\xf5\xdb\x8d\xd7\x67\x83\x9c\x43\xe3\xcd\xf9\x47\x08\x0d\xec\x95\x42\x14\xa6\xfb\xbe\x04\x87\xa2\xf3\x2c\xd1\x7a\x6b\x00\x03\x70\xbd\x41\x44\x84\xfb\x73\xc5\x10\xea\x01\x24\xc6\xcf\x0f\xe5\x6c\x08\x46\xa7\x9b\xfc\x59\x77\x9d\x3b\x07\xa1\xbd\x2c\x7f\xb7\xe2\xd0\x03\x9f\x0b\xd2\x1c\x8a\x30\x8f\xb0\xf5\x8f\xdb\xf9\x4e\xfa\x08\x57\xac\x3b\xdd\xdd\x86\xd5\x76\x3e\x20\x5e\xe1\xb2\x21\xf0\x60\xce\xdb\x8b\xc0\x5f\x03\x1b\x60\x6c\xc7\x4d\xad\xc5\xdb\x04\x23\x27\x48\x86\x5a\x73\xd6\xcc\xdd\xb4\xd5\xe9\x30\xd5\x28\x34\x8c\x5b\xe9\x08\x8b\xfe\x34\x45\x84\x87\xa6\x7b\x19\xa1\x8e\xca\x25\xc0\xd3\xfb\xe2\x19\x5e\xb9\x17\x07\xb6\x5d\x91\x61\xea\x93\xed\xdd\x64\xa6\x34\xb2\x32\x80\x19\x5f\xdb\x0d\x13\x88\xf6\x99\x8e\x18\x58\xa4\x5b\x88\x69\x99\xb8\x44\xe6\x79\x5d\x83\xd3\x18\x37\xe4\x41\x1f\x71\x69\x92\x26\xde\x1b\xa0\x24\x56\x08\x00\x0d\xcf\x22\x3d\xd1\x83\x59\xb7\xc6\xd4\x59\xa6\x5d\xbe\x66\xc9\x0f\x5c\xb8\xc0\x91\x22\x18\x7a\x30\x46\xa1\x6d\xd1\x79\xc3\xf4\x37\x3e\x57\xcf\x5e\xe0\xea\xb6\xa2\x12\xcc\x9e\xd8\xb5\x4b\xf3\x7f\x1d\x27\xfb\xd7\x98\x48\xe4\xec\x1f\x56\x72\x43\xab\x87\x40\xa0\x51\x49\xd9\x60\x2e\xad\xa9\x20\xa4\x6d\x61\x0d\x3c\xc8\x23\xb5\x64\x98"}, -{{0xe0,0xf7,0xd0,0x08,0x24,0xc5,0xf3,0x70,0x1e,0x55,0x17,0xa4,0xab,0xc1,0x3e,0x2f,0x2c,0x0b,0x13,0x8c,0x83,0x69,0x77,0x84,0x3b,0xbd,0x1e,0xef,0xfa,0xbd,0x96,0x8a,},{0x52,0xfd,0xda,0xe3,0xe0,0x18,0xa6,0x84,0x73,0xb3,0x16,0x8d,0x07,0x64,0xcf,0xe2,0x74,0xdc,0xc8,0x34,0xc9,0x0a,0x91,0xfb,0x4f,0xe7,0x4b,0x93,0x9d,0xd2,0x38,0xb1,},{0xcc,0xdf,0xe1,0x8a,0xd6,0xd0,0xb6,0x5d,0x08,0x6d,0x63,0x2f,0x83,0xcc,0x46,0xff,0x3b,0x3f,0x2c,0x07,0xbb,0x8e,0x76,0x9d,0x0f,0xb4,0xe8,0x2d,0xf8,0xa3,0x87,0x3f,0x9a,0xee,0x35,0xfd,0xd1,0x8a,0x57,0x83,0x60,0x31,0x80,0xa9,0x5c,0x9f,0x74,0xce,0xd9,0xdb,0x51,0x46,0xaf,0xcf,0xbb,0xdd,0x40,0xdf,0x29,0xe0,0x42,0x01,0x20,0x0c,},"\xb3\x9e\x3a\xc7\x5a\x22\x1a\xdc\xce\xd0\x9a\x85\x91\xac\x5e\x2f\xe1\x5d\xfe\xd5\xb9\x19\xcb\xaf\x14\xc6\x5e\xb7\xcd\x93\x08\x6d\xde\xe3\xf7\x47\x25\x47\xe6\x6d\xdc\x70\x06\x2b\x97\x62\x97\xd1\xa3\xc1\x70\xee\x52\x5c\x9c\x53\xba\x93\xa4\xc4\xfd\xb2\x35\x72\xb7\xca\x6e\xd1\x38\x53\xe7\x0d\xb1\xd7\x2e\xde\xb9\x94\x4b\xbc\x35\x4a\x52\x0e\x77\xae\x59\x1f\x31\x80\x92\xef\xd5\xe6\x6d\x9c\x09\x81\xc4\xa4\xbd\xa9\x8a\xa4\xe5\x90\x45\xff\x9c\x4b\x4c\xa3\xac\xb2\xff\xd8\x93\x20\x1c\x70\xb3\x4a\x77\xf2\x4e\xda\x54\x54\x9d\xc8\x4a\xd1\x34\xa3\x55\x32\x55\x38\x15\x88\x8a\xe3\xdd\x9e\x24\x1e\xc4\xeb\xbf\xf8\x6f\x8c\x1e\x8a\xdb\xaa\xc4\xb9\x1a\xfd\x18\x22\x8c\xbb\xd5\xdd\x80\x5a\xca\xbf\x0a\x1e\x29\x0c\xe5\xdd\xa0\x25\x1a\xdf\xb3\x7c\xb7\x14\xc1\x39\xb5\xa3\x24\x2d\x88\xc6\x44\x84\xa3\x76\x55\xcc\x8f\xcb\xec\xff\xa9\x7f\xbd\x14\xd6\x4d\x51\x2b\xf8\xf6\x30\x5f\x89\xc5\x09\x22\xde\x54\x16\x92\x15\x8f\xb5\x47\xfd\x53\x9f\x1e\x58\x77\xcc\x64\x94\x95\x16\x63\x32\xea\x2b\x68\x5c\xfa\x3f\x60\x20\x19\xdf\x2a\xb2\xc2\x5e\xd9\x6b\x68\x74\x5e\x9a\xe8\x9c\x94\x8d\xa1\x1a\xd8\xa8\x30\xdf\x8b\x00\xf2\xe6\x68\x19\x2d\xad\xf2\xc5\x62\x0d\x35\xc6\xe8\x1a\x28\x53\xf8\x41\xe3\x75\xa0\xd9\xfc\xa2\xd2\x96\xef\xce\x2a\xc3\x8d\x40\xb0\x30\xb5\x75\x60\xae\x6e\x83\x41\x33\x9b\x3d\x3c\x2d\x06\x11\x64\x12\x43\x19\x59\x86\x88\xfc\xa6\x18\xfc\x64\xc9\xe8\xf5\xf8\x31\x09\x7a\x05\x3a\xf1\x9d\x7d\xbd\x61\x21\x8d\x92\x67\x42\xc2\xe9\xa4\x2a\x79\xcc\x1b\x14\x89\x12\x72\x2d\x8c\xd5\xca\x79\x3a\x1a\xd7\x3b\x5f\x14\x1b\x41\x80\x9c\x2f\xc0\x53\x0b\x76\x30\xe8\x03\x90\xc6\xb3\x38\xc7\x18\x68\xda\xcc\x59\xbf\x46\x3f\xfc\x48\x90\x16\xbf\x67\xf9\xc9\xd5\x55\x3c\x1e\xde\x17\x15\x28\x13\xfe\x0b\x26\x4b\x65\xdc\xa1\xb2\xb3\x8e\x4b\x80\x9f\x8c\x97\x25\xac\x5b\x1d\x8d\x2e\x56\xbe\xc9\x64\x9f\xe5\x5c\x75\x83\xff\x23\xb0\x43\xd6\xf3\x76\x86\x28\xf1\xf0\x51\x63\x37\x82\x4a\x5a\x56\xb4\x09\x52\x0a\x6a\x6c\xb7\x7e\x4f\x5f\xc2\x0b\x9f\x68\x99\xe0\x0a\xb2\x2d\xb1\x0d\x18\x2f\x09\xb8\x1e\x94\xf3\xad\x56\x8a\x0b\x81\x24\x4d\xf3\xf1\x85\x5c\x6e\xf2\x22\xa4\x1a\x51\xb6\x2a\x46\x49\xbb\x82\x69\x0a\xb6\x5f\xac\xac\x0d\x81\xd6\xfe\x02\x60\x11\x70\xa8\xdb\x62\xcb\xc5\xec\x99\x55\xd7\x71\x1a\x1c\x39\x65\x6a\x9f\x6e\x1f\xb6\xbc\x18\x3d\x9b\xea\x15\x03\x53\x1f\x17\x36\x27\x68\xbb\x84\x1f\x9d\x21\xf1\x3a\x2c\x99\x1e\x55\xdf\xf7\xf2\xb3\x36\xe2\x9e\xb2\x95\x07\x63\x8b\xdc\xad\x7b\xb3\x1c\x69\xe9\x09\x20\x7e\xba\xbc\xc6\x53\xff"}, -{{0x6a,0xcd,0x93,0x9e,0x42,0x22,0x26,0xcc,0x54,0x43,0xd4,0xaa,0xbf,0x58,0xc1,0x1a,0xf6,0x50,0xcb,0x40,0xb9,0x64,0x8b,0x4d,0xa3,0x8b,0x92,0x7b,0xff,0x9a,0x58,0xdb,},{0x4c,0x0b,0x91,0x75,0x6b,0x9e,0x20,0x6f,0x78,0x63,0xb1,0x55,0xff,0xc5,0x50,0x9b,0xb5,0x24,0x77,0xce,0xac,0xd0,0x1c,0xa0,0x11,0x43,0x51,0x53,0x67,0x86,0x46,0xcc,},{0x79,0x99,0x58,0x77,0xed,0x24,0xc7,0x91,0x68,0x4f,0x29,0x84,0xbd,0xf9,0x60,0x9c,0x3f,0x7b,0x57,0x6c,0x57,0xd1,0x62,0xee,0x62,0x2d,0x4c,0xe8,0xf3,0x6d,0x9c,0x55,0x73,0x16,0x9d,0x88,0x01,0x21,0x6f,0x1c,0x46,0xff,0xe2,0xf6,0xe2,0xc0,0x90,0x48,0xe4,0x7d,0x4b,0xeb,0x99,0x7e,0x9a,0xbc,0x4a,0xbb,0x12,0x9f,0x9b,0x79,0x69,0x0a,},"\x82\x50\xd5\x31\xcf\x2b\x66\xaa\xc2\xb3\x78\xd5\x4b\xc5\x7f\xd3\x29\xad\x5a\x41\x4a\x59\x92\x55\x89\x8b\x3c\x3b\x45\xbf\x9c\x0d\x2c\x77\x54\x75\x66\xb6\x60\xee\xcc\x76\xa6\x95\xa2\xd6\x08\xab\xf1\x1a\x5f\x6d\xb3\xe6\x07\xfd\x5a\x21\x71\x4b\x0f\xad\x5d\x81\x4c\x01\x5e\xbf\x48\xbb\x73\xad\x75\xda\x9c\x03\xc4\xaf\x54\x89\xe7\x82\xb6\xbf\x79\x08\xa1\xbd\x52\x8d\x7c\xe7\x88\xa1\x8b\xa3\x52\x8e\x35\x37\xaa\x7b\xbf\x75\xf6\x52\x4b\xbd\x19\xa5\x30\x4b\xa2\xa4\xa3\xee\x58\xc4\x1f\xec\x31\x32\xee\x65\x01\x64\x12\x15\xef\xf7\x46\xd7\x80\x0c\x4d\x33\xf5\x2b\xe8\x35\x7e\x0e\xe7\x58\x04\x1d\x91\xcf\xe4\x3c\x60\xc3\xce\xdc\x09\xb0\xd4\x6d\x4c\xfb\x9a\xe2\xa0\x23\x9b\x6f\x33\xc6\x94\x1c\xff\x35\x37\x26\x70\xee\xf5\xc8\x85\x9a\xb6\x5b\x6e\x9f\x7e\xbc\xe3\x2f\xa1\x5a\x9a\x47\x7a\xec\xdc\x96\x83\xa1\xe3\x3a\x1e\xdc\xdc\x90\xd4\x20\xa3\x1e\x78\xc1\x53\xd2\x60\x20\x87\x1d\xaa\x4f\xff\x28\xac\xc3\xf1\x1a\x72\x06\x78\x88\x06\xb6\xfa\x02\x34\x68\xea\x5a\x3d\x18\x6d\x10\xf0\xdd\x56\x77\x96\x66\x3b\xa3\x7c\x83\x2f\xe7\x5a\xae\x7d\xcc\xeb\xf3\x19\xf9\x36\x00\xc4\x6a\x22\xf5\x72\x23\x81\x2d\xdd\x0a\x68\xd7\x6b\xaf\x5e\x27\xa9\xfc\x8b\xd6\x8c\xc1\x0b\x5b\x51\x51\xd6\x2b\x41\xf9\x34\x8e\x21\xb7\x15\x35\x2f\x26\x30\xb6\x17\xf8\x13\xb0\xc2\x89\x96\x28\x59\x04\xcf\x29\x4e\x9c\x28\x56\xb1\x7b\xa3\x5f\x9a\x82\x19\x8b\x82\x14\xa0\x35\xe2\x89\x6d\x65\x68\xbe\x42\x39\x2c\xce\xf3\x2c\xd4\xeb\xfe\xeb\xf1\x2b\xe0\x12\x52\x06\xbb\xe8\x93\x36\xd3\xe7\x62\x99\x1d\xfa\xb6\x8f\xc9\x9d\xc1\x64\x9b\x89\x13\x83\xdb\x31\xfa\xb6\x49\xe6\x28\x82\x3f\x45\x98\xcb\x63\x6a\x38\xfe\x1d\xf7\x3e\x68\xd7\x42\x5f\xc5\xd2\xeb\x55\xa0\xfd\x1b\xc9\xf5\xce\xaa\xbd\x6d\xd4\x1f\x23\xe4\xf0\x86\xc6\x92\x63\x3d\xc3\xc4\x61\x9a\x97\xab\x0e\xad\xa1\x71\xf8\x4a\xdf\x20\xec\xc8\xec\xd4\x7c\x51\xcc\xa3\xe5\x9d\xd8\x09\xb0\xae\xaa\x73\x0d\xf9\x4b\xe3\xba\xcf\xd8\xee\x88\x8b\xba\x9d\x57\x08\x50\x65\x2c\xd4\xd5\xe6\xc5\x52\xa5\x7e\x9f\x48\xa2\xb0\x6a\xac\xdc\x70\x8d\x84\xa3\x76\xfb\xc6\xc9\x4b\xa6\xbf\x64\xa5\xf0\x18\x80\x0a\x7c\xc8\x51\x24\x5a\xed\xb2\x03\x78\xb3\x29\xac\xeb\xb2\x97\x7c\x13\x98\x08\x2b\x3a\x0e\x5e\x2a\x9c\x24\x84\xfa\x30\x1d\x30\x37\xa8\x22\x4d\xdc\xc0\x95\xb1\xdb\xd8\xa2\x31\x5b\x55\xbf\x33\x18\xc2\x78\x10\xef\xc3\xd8\xe2\x5f\xa7\xa8\x78\x9b\x73\xa4\xf5\x50\x59\x08\x0b\x08\xab\xb3\x69\x9b\x7b\x86\x26\xcb\x2a\x78\x0d\x97\xcc\x1c\xa8\x03\x28\x51\xba\xf4\xed\x8b\x64\xfc\x43\x30\x86\x5f\x84\xcc\xb1\x2a\x3d\xae"}, -{{0x4d,0xef,0xf6,0x47,0xcb,0xc4,0x5e,0xca,0xed,0xc3,0xf7,0xdd,0xf2,0x2c,0x16,0x7a,0xf2,0x4e,0x3d,0x63,0xda,0x22,0xb0,0xe6,0xa5,0xb8,0x43,0x9c,0x0f,0x3b,0x19,0x34,},{0x0c,0x27,0xc9,0xd7,0x7a,0xc8,0xc7,0x25,0xbb,0x06,0x63,0x93,0x3a,0xb3,0x0d,0x1a,0xad,0x09,0xcb,0xcf,0x2c,0xd7,0x11,0x6c,0x60,0x85,0xa8,0x49,0x9f,0x70,0x14,0x02,},{0xdd,0x54,0x89,0xfd,0xe4,0xba,0x87,0xd1,0x17,0x3d,0x4c,0xee,0x06,0x82,0xaf,0xdd,0x4b,0xad,0x80,0xdd,0x77,0x0e,0xa7,0xd0,0xdc,0xeb,0xaf,0x21,0xac,0xc6,0x1d,0xd6,0x32,0x4a,0xca,0x29,0x5e,0xd0,0xe2,0x3a,0x91,0x5e,0xcf,0xda,0xd5,0x0f,0x17,0x5e,0xbc,0x51,0x6f,0x1b,0xe5,0xb6,0xd8,0x7d,0x90,0xbb,0xe3,0x86,0x22,0x49,0x53,0x02,},"\xd6\x20\x1e\xbc\x21\xce\xc1\xe9\xbc\x28\xf9\x57\xc9\xd0\x29\xcc\x38\xf9\xe8\x5e\x06\xdf\xc9\x0b\xf2\x97\xe6\x1f\x2b\x73\xb4\x07\xd9\x82\xa6\x6b\x91\xe9\x4a\x24\xe9\x1d\x06\xab\x8a\x5c\x07\x9d\x0f\x69\xbe\x57\x88\xea\x8f\xea\xce\xbd\x91\x72\x91\x19\x22\x33\x86\x2e\x6a\xcd\xa1\xe8\xcf\x9a\x48\xbf\xfb\x54\x91\xdd\x65\xaf\x54\x1b\x6c\x72\xaf\x68\x1a\x81\x82\x3d\x98\xa0\xab\xee\xb6\xba\x9f\x95\x46\x5b\x84\x11\xf9\x9e\x11\x9c\xd2\x84\x79\xda\x98\x42\x59\xbd\xf8\x6c\x9f\xef\x3c\xca\x34\xe2\x24\x69\x1f\x18\x3c\xf0\x95\x03\x77\x27\xda\x9c\xad\x29\xf2\x42\xf8\x3e\xb4\xf7\x36\xe2\x7f\xdf\x67\x01\x8d\x71\x1b\x74\xc4\x5b\x29\x55\xa6\xa7\x6e\xc1\x53\x30\xdf\x5b\xad\x80\x30\xc6\xb3\xa8\x8d\x72\xf2\x84\x47\x65\x2a\xc8\x90\x2b\x5b\x76\xcb\xf6\xb9\x45\xce\xab\xfe\xc0\x4a\x9b\x8c\xb3\x0f\x43\xd9\xeb\x77\x3e\x67\x05\x59\x4f\x0d\xe1\xb7\x0f\x1a\x20\xc9\x9f\xc4\xb1\x22\x1f\x8c\x81\xb0\xbc\x30\xda\x12\xcd\x5d\xea\x8f\x4d\x90\xf1\x3a\x81\x1a\x2c\xc1\x1a\x96\x84\x6a\xaf\xb4\xc4\x2a\x00\xe9\xae\x7d\xa2\x56\xa0\xd2\x2b\x19\x8a\xfc\x25\xcc\x10\x41\xd2\x4e\x05\x6c\xf3\x87\x60\x1d\x7b\xf7\xeb\x31\x82\xd6\x05\xfe\x5e\x63\xb1\x8d\x53\x1a\x5f\x84\xe5\xdb\xd0\x18\x4a\x76\xc6\xc4\x67\xa8\x26\x3a\x98\xb5\xc0\x05\xfc\xb2\xaa\xf9\x89\xf5\xcb\xd0\xa9\xd9\x03\xfc\xfc\x60\x9d\x6e\x57\xd9\xc4\x39\x02\x1c\xea\x93\xe4\xc4\xe9\x91\xf1\x93\xca\xf3\x24\x37\x70\xb3\x25\x78\x74\x80\x76\xb7\xf4\xcb\x97\xf1\x7c\x17\xa7\x9b\x82\x25\x3c\x24\x23\xdb\x69\x8c\xd0\xa3\x3a\xb3\x3b\xb0\x9b\x0b\x08\xcb\x8c\xea\xdc\xa1\xe2\x9c\x5d\xe2\xfc\x12\xb2\x40\x7b\x6c\xc5\xaf\x5a\xe9\x76\xdd\x3e\xc6\x30\xd8\x33\x9b\x7d\xd1\x1f\xa3\x4c\xaa\xc1\x50\xc7\xc4\x79\x1d\x8c\x42\x7b\x0a\xd9\x2e\x05\x29\x06\x7a\x88\xd5\x20\x11\xe1\xe0\xa1\x82\x99\xb9\x69\x89\x6f\x8b\x83\x60\xf7\x5c\x45\xc4\x96\xda\x47\xb0\x9b\x45\x0f\x98\x22\xbc\xbc\xd4\x3f\x42\x93\xc5\x16\x80\x2b\xf7\x47\xc4\xab\xee\xdf\xaa\x3e\x79\xcb\x91\x03\xd3\x77\x0f\x56\x07\xb7\x75\x16\xe5\xb1\xce\x0f\x64\xb6\xee\xc7\xbe\xc3\xc6\x47\xc0\x06\x95\x6d\xc5\x5b\x6c\x79\xf6\xaf\xb3\x9d\x1f\xc3\xec\xf1\x1b\x97\x4b\x44\xae\xdb\x72\xae\xd1\x31\x66\x35\x08\x3c\x21\x24\x50\x2e\x5c\x72\xd8\x6e\xca\xb6\xac\x90\x24\x3e\xb3\x9a\x6a\xa9\xcb\x94\x80\xda\x38\xe1\xed\xb8\xd2\x8f\xf9\x09\x24\xc0\x5d\x5d\x21\xaf\x5a\xf9\x59\x57\xb8\x02\x07\x81\x37\x87\x11\xa2\x9d\x09\x20\xac\xad\x8c\xcb\x39\xa3\x11\x69\x32\x78\xc9\x90\x0b\x47\x0d\xa2\xbd\x4c\x12\xa0\x1d\x73\x96\x26\x44\x01\x7b\x60\x34\x71\x3b\x2a"}, -{{0x5a,0x19,0xbf,0x6c,0x94,0x1f,0x39,0x4e,0x93,0xbd,0x36,0x25,0xfb,0x81,0xcd,0x9d,0xa8,0x1c,0x90,0x20,0xb1,0xc5,0x31,0x25,0x7a,0x7b,0x59,0x57,0xbb,0x07,0x92,0x11,},{0x20,0xe8,0x69,0x9d,0x08,0x7c,0xe5,0xe8,0x15,0x1d,0x28,0x05,0x3d,0xce,0x66,0xc2,0x3f,0x28,0x08,0x1f,0x35,0xbd,0x26,0x81,0x9b,0xbe,0x85,0xd3,0x8a,0x09,0xd7,0x02,},{0x2a,0x2f,0xd6,0x05,0x4e,0xf4,0xe7,0x9b,0x72,0x19,0x1a,0x0c,0xcb,0xd2,0xb1,0x8a,0xeb,0xab,0xe8,0xb9,0xa7,0x18,0x61,0xde,0xd9,0x8b,0x7c,0xdc,0xb6,0xa6,0x25,0x53,0x28,0xbc,0x1a,0xec,0xb0,0xc9,0x33,0x57,0x21,0xa9,0xa9,0x6e,0xe4,0xb5,0xb4,0x3f,0x90,0xd3,0x22,0xec,0xf8,0x35,0xf7,0x8b,0x26,0x4d,0xae,0x6e,0x38,0x7b,0xfb,0x04,},"\xf7\x21\xca\x3a\x32\xc1\xe8\x1c\x9c\x6f\x46\xd5\xe1\xfb\x50\xe7\xce\x2f\x4e\x70\x93\x33\xca\x2b\x55\x0d\x52\x13\xb6\x77\x3d\x67\x0c\xa5\x9a\x2b\x50\x86\xa4\x43\x84\x3a\xc5\x08\x13\xb2\x44\xc9\xc9\xfa\xc6\xd1\x19\x69\x89\x27\x81\x35\x12\xc8\x4f\xe3\x0a\x89\x55\x30\x10\x13\x8f\x91\xe8\x17\x6f\x5c\xf2\x57\x89\xd7\x28\x1d\xdb\x83\xa2\x46\x70\x5d\xcc\xb9\x99\xc4\xcd\x0a\xe2\x19\xc6\x45\xf6\xd7\x1d\x45\x1a\xe1\xf8\xd2\xf9\x89\x1a\xf8\xcc\xce\x03\xf4\x38\x55\x9f\xb8\x36\x67\xb8\x07\x7f\xbe\x43\x5a\x74\x4a\xf0\x19\xd6\xd1\x39\x9f\xd2\x13\x7f\x5a\xfb\x8e\xf3\xf4\x7b\xcf\x73\x5e\x7c\x9e\xd8\xa5\x4b\xa0\xc1\xc6\x56\xb6\x65\x0b\xb3\x0a\xdb\x1d\x57\xec\xd2\x07\x46\x39\x49\x42\x31\xa2\xe9\xe2\xf9\x85\xed\x84\x22\xee\x03\xcb\x3f\xd7\x38\xc7\x35\xa1\xb8\x28\x06\x04\x74\x60\xed\x84\xf7\x46\x8c\x3c\x64\xb3\x5d\xb0\x6b\xc5\x8d\xe4\xbb\xa4\x63\xe6\x38\xa9\x41\x33\xdf\x10\x6a\xc4\xf4\x70\x36\x1c\xcd\xe4\x41\x57\x29\x9d\x22\x5b\x17\x79\x88\x91\xba\xf5\x92\x19\x86\xa2\xba\xe3\x26\xdd\xa0\xb8\x96\x17\xc6\x77\xbd\x14\x08\xba\x27\x48\xba\xa6\x7c\x8a\x2c\x5a\x96\x9b\xc0\x0c\xb4\x0d\xbf\x49\x0e\x07\xe2\x2c\x91\x3a\xfd\xde\x63\x04\xa0\x7f\xc9\xe6\x08\x46\x99\x24\x56\xbf\xb0\x66\x3a\x09\xde\xf6\x8d\xef\x67\xa1\x6d\x29\xe9\x8c\x7b\x55\x35\x18\x48\xa8\xcf\x92\x31\x0c\x74\x63\xc4\x75\xf2\x49\xc6\xf7\x55\x7f\xd0\xd7\x55\xca\x88\xf8\x77\x84\x7f\xe0\x76\x57\x56\xac\x34\xa2\x3f\x78\x40\xd9\x5c\x3d\x29\x4e\x66\x3b\xb1\x51\x8b\x75\x92\x7c\x41\x07\x57\xe0\xf5\xc0\x7c\x5a\x7f\xb2\x15\xdc\x72\x07\x43\x3e\xbf\x79\x1e\xdf\xce\xc9\x0e\x93\x0f\x8e\x3b\xa9\xdb\xbb\x98\x54\x13\xc2\x23\xbe\x87\x87\x3b\xd3\x23\x99\x75\x81\x80\x4d\x88\x96\xda\x38\x6a\x6e\x91\x20\x05\x0a\x0e\xae\xd3\x12\x40\xaa\x17\xc7\xb6\x69\x4c\x30\xcb\xcc\x3c\x69\x56\xa6\x82\x0f\xc9\xab\x21\x87\x55\x33\x96\x3d\xc3\xb0\xd8\x83\x58\x27\x12\x76\xc6\x05\x65\x28\x91\x0d\xd9\x89\xae\x0c\x33\x0d\x17\x98\xf7\xd8\xe7\xd1\x18\x4b\x84\xa8\x14\x34\x32\x5b\x8c\x30\x2e\xdf\x60\x1d\xc5\xe6\xf8\x47\xfb\xac\xbd\xee\xff\x78\xc6\x62\x1d\x1d\xaf\xdc\x23\x9b\x18\xb8\xc1\xaf\xdc\xb4\xb9\xda\xbd\x5d\x3a\x92\xa9\x32\xea\x15\x99\x54\x6e\x62\x5f\x96\xd6\xec\x6f\xb1\xcc\xcb\x76\xb4\x76\xb3\x30\xac\x59\x25\x9c\x63\x4f\xac\x9b\x3f\xa7\xde\x7a\xe7\x05\x37\x73\xb5\xbe\xfa\x00\x1b\x04\x92\x9f\x74\xb7\x12\x41\xe1\xb2\x57\x69\x6d\x65\xa2\x6c\x1b\x4a\xc8\x6b\x7b\x1f\xbd\x69\x57\xfb\x9b\x95\x08\x4c\xe7\xd7\x00\x90\xf5\x5d\x44\x53\x46\x94\x30\x5e\x91\x76\x9a\x82\x94\x13\x04"}, -{{0xb5,0x06,0xc0,0x1d,0x69,0x74,0x6e,0xb4,0xbc,0x63,0x58,0x72,0x0e,0x43,0x8a,0xd3,0x30,0xc8,0x8b,0x60,0x5a,0xad,0x65,0x2f,0x47,0x99,0x57,0x3a,0xb0,0xa1,0xaa,0xf9,},{0x7a,0xc8,0xb6,0x88,0x63,0xbd,0x69,0x15,0x15,0x83,0x78,0x9d,0x86,0x4a,0x73,0x57,0xe3,0xa0,0x45,0xfa,0x86,0x52,0x2a,0x9d,0xaa,0x6e,0x26,0xfb,0x79,0xed,0x6d,0x23,},{0x17,0xa1,0x9d,0x26,0x91,0xb7,0xb0,0x46,0xd7,0xb1,0x96,0x69,0xad,0x73,0x14,0x0d,0xb9,0x2f,0x0c,0x97,0x8c,0x7f,0x61,0xbc,0x38,0x67,0xd9,0x2c,0xa9,0xd4,0x75,0x80,0xa0,0x38,0x0b,0x59,0x01,0xba,0xd8,0x2a,0xf4,0x5f,0x67,0x6f,0x74,0x28,0x73,0x01,0x98,0x0f,0x71,0x87,0x1a,0x42,0x26,0x1d,0xbe,0x08,0x02,0x95,0x03,0x36,0xe6,0x0b,},"\xf7\xfc\x18\x06\x6e\xd0\x4b\x30\xe6\x33\xd9\x86\x5d\xa3\x21\x4b\xec\xa6\x0b\xd7\x96\x01\x9c\xd7\xec\xc9\x18\x66\xf9\xef\x24\x46\xc1\xfa\xb0\x6d\x86\x51\xbe\x7f\x10\x1a\xec\x7b\xb8\x4e\xe2\x1e\x71\xad\x02\x02\x15\xfc\xfb\x36\xf2\xd1\x1e\x45\x79\xac\x39\xf8\xe2\xb1\x29\x0e\x38\x96\xd5\x22\xbc\xf5\x13\xaa\xa0\x67\x71\xf8\x6e\xe2\x28\xcf\xf3\xa2\x0a\x1f\x10\xc5\x64\x33\x95\x89\xbb\xa9\x60\x53\x44\xc0\xa6\xe6\x82\xad\x5b\xa4\x0d\x10\x41\x94\x1b\xc4\x6f\x98\xb9\xd0\x9c\xa1\x7f\x8f\x04\x4e\x98\x3b\x8a\x49\x08\x93\x3d\xf2\x26\x3c\xf7\x88\x11\xc2\x4c\x8f\x48\x14\x35\x4f\x6f\x4c\x68\xb7\xee\x7b\x78\x30\x82\x93\xbf\x78\xfd\x0f\xf1\x22\xf0\x95\xc1\x4a\x73\xa5\x97\x97\x17\x2a\xe0\x5c\xfc\xec\x19\x56\x3e\xb1\x8d\x2b\xc5\x30\x0e\xd4\xbf\x6b\xdc\x44\x3e\xa9\xb8\xbc\x1c\xbe\xde\x94\xca\xb9\x05\xed\xa5\xa6\xa9\x31\x59\x7d\xe4\x02\x14\x6f\xac\x9c\xf8\xcd\x6a\x8d\x10\x46\x69\xf9\x13\xfa\x83\x40\x01\xca\x4d\x09\x0f\xb7\x94\x9d\x31\x09\xa6\x3c\x05\x49\xb0\x3f\x15\x1b\x71\x17\xc4\xf4\x69\x74\xba\x59\xc6\x82\x96\xed\xfd\xde\x76\x92\xee\x43\x2a\xce\xf7\x61\x06\x47\xe0\x95\x78\x65\xe6\x2c\x1a\x0c\xf0\x56\x59\x82\x3a\x55\x45\x2d\xd5\xe4\x71\xb3\x1c\x5a\x49\xab\x05\xb5\xaa\xfd\x5a\x0e\x53\x0e\x89\x6b\x58\xcc\x52\x2e\xcf\x19\xe5\x2e\xc8\x2f\xa1\x47\xf9\xe3\x85\x17\x4c\x7e\xc3\x3d\x1d\x9b\x86\x93\x4a\xeb\x4f\x6c\x57\x00\xf7\xd5\xeb\x33\xff\x73\xc9\xfc\x6a\xa4\x7d\xf5\x1e\x09\x22\x9e\x6a\xe8\x94\xe8\x6c\x81\x8b\xef\x06\x5f\x82\x59\x71\xa4\xcb\x90\xad\xfe\xfb\x31\xeb\xd9\xd1\xb7\x94\x22\xdc\x98\x68\xf9\xf7\x4e\x7a\x32\xcd\x40\x71\xef\xb6\x9b\x27\x23\x3e\x6e\x5c\x60\xde\xdc\xd5\x32\x1c\x03\x0a\x46\xcd\x26\xf5\x60\x2c\xac\x74\x7e\xe4\xb5\x22\xd8\x57\xa3\x32\x1a\x03\xf4\x03\xa6\x00\x62\x50\x40\x63\x61\xe4\x88\x15\xaf\xba\x77\xce\x08\x90\x34\x41\x84\x5b\xa8\x72\x25\xd8\xb2\x40\x46\x74\x5d\x40\x65\x64\x5a\x1b\x98\x41\x0c\xac\x48\xd1\x37\xcb\xbb\x8a\xb1\xeb\xa5\x0d\xa9\xc2\x31\xe9\xac\xf3\x22\xa6\xdb\xec\x0e\xf4\x16\xa4\x46\xc3\xb6\x10\xd9\x35\x69\xfd\xf4\x5a\xa6\xcd\xc1\xb6\x40\xd8\xf3\x01\xd7\x86\x93\xb2\x82\x6c\xc6\xed\x46\x85\x68\xad\x9a\x0f\x94\xaa\x9b\x9f\xb9\x2f\x7e\x78\xd4\x84\xfd\xf5\xd8\xd4\x5c\x99\x1e\x28\x07\x4d\xcd\xd6\x80\xd3\xb1\xf1\x89\xef\x6b\xdc\x32\x0e\xe6\xe6\x4d\xd1\xf8\x0d\x92\x64\xd8\x30\x42\xd2\xc4\x3d\x83\x58\x1e\xf0\x39\x4b\x1b\x5d\x1f\x69\xf3\xbb\xbf\x04\xb7\xc8\x08\xba\x34\xc1\x58\x0f\x16\xf7\x65\x37\xb6\xa7\xeb\xd0\xa1\x90\x8b\xe9\x49\x4d\x3f\xca\xa9\x87\x1d\xb1\x57\x50"}, -{{0xe1,0xcc,0xb8,0x0a,0x26,0x2f,0xf8,0xaf,0x1e,0xda,0x07,0x5c,0x97,0x2c,0x8e,0x94,0x1e,0x77,0xce,0xf5,0x7b,0xdb,0x0a,0x82,0x57,0x2c,0x28,0x20,0x0b,0x49,0x3c,0xa3,},{0x3d,0x37,0xe2,0xa5,0x02,0x7e,0xff,0xde,0xe0,0x7f,0xa5,0x11,0xe4,0x23,0xb2,0xbc,0x56,0xed,0xce,0xa0,0x75,0xb4,0x16,0x49,0x76,0x67,0x25,0xc6,0xb3,0x0a,0x10,0xf4,},{0xfd,0xa3,0x4b,0x65,0x2b,0x79,0x74,0x6f,0x89,0x7e,0x22,0x2d,0x37,0xb7,0x7a,0xa2,0x50,0xd0,0x2c,0x52,0x7c,0x48,0x33,0xdf,0x80,0xea,0x41,0xd5,0x21,0x89,0xd5,0x07,0x00,0xe1,0x28,0xb7,0x8e,0xe8,0x14,0x9c,0x9b,0x19,0xf3,0xab,0xf7,0x55,0xac,0xef,0x53,0x48,0xf5,0xfb,0xaf,0x1c,0xeb,0x41,0xc0,0x38,0x90,0x6a,0xc5,0x94,0x60,0x01,},"\xcf\xdc\x54\x97\xb0\x23\xaf\xa6\x2a\x7f\xe5\x92\xca\xa9\x2b\x87\x5c\x77\x05\x74\x78\x34\x00\x2f\x77\x84\xff\x16\x61\x89\x39\x88\x15\xd4\xe8\xa7\xa0\x03\x8e\x1f\xda\xdd\xde\xba\x51\x05\x73\x27\xad\x19\x60\xe8\x59\xce\xe5\x65\x26\xbb\xb4\x12\x7b\x6a\x5f\x90\xd0\x4d\x08\xb1\x5e\xee\x66\xc9\xcc\xf8\x8b\x4b\x7d\x1e\xe9\xd3\xb8\xb8\xc6\xf4\x2d\xb3\xc3\x4e\x59\x04\x8a\x15\xc6\x04\x1f\x14\x2c\x40\x79\x36\x8b\x7b\x11\xe2\x99\x70\x11\x8b\x99\xe5\x67\x0a\xe3\x1f\xcc\xfd\xff\x13\x99\x14\x2e\xe0\x6b\x2e\x3e\x2b\x3c\x97\x07\xdd\x64\x11\x97\x86\xe2\xfa\xb4\x7e\x0b\xad\x2c\xc8\xb5\x58\xd9\x63\xbb\x48\xa4\x9a\xd2\xc6\x37\xdd\x35\xb2\x5d\xb5\x4b\xc5\xa2\x63\x02\x22\xfa\x2a\xce\xce\x9c\xe1\x2a\xb0\x81\x30\x77\xf7\x65\x9f\x50\x74\x42\x9c\xa6\xb4\x94\x33\x10\x32\xae\x79\x2a\x59\x9c\x42\x5e\xe2\x97\x45\x1d\xcf\x5e\xe1\x95\x29\x03\x12\x74\x2e\x64\x7a\x77\x95\xb8\x4d\xcc\x66\x4d\xda\xe2\xa1\xfb\xf8\xc4\x54\x8a\x37\xfd\x82\xd8\x10\xe2\x14\x5f\x01\xdf\x1a\x6d\x3b\xcc\x42\xa9\x1a\x10\x76\x8e\x09\x1f\x3d\x69\x32\x9a\x7b\xad\x6c\x07\x2c\xac\x6d\x89\xaf\xa3\x1c\x02\x90\x56\xd6\xb6\x22\x12\x16\x5c\xeb\xcd\x49\xac\x67\x2e\x38\x30\x26\x7a\xf9\xf2\x8e\xa3\x19\xbd\x04\x2f\x6c\x59\xde\x47\x01\xe5\x82\x48\x73\x6c\x8d\x97\x6a\xcf\x93\xb9\x9d\x2f\x46\x47\xa5\x47\xd3\x92\x44\x7a\x48\xda\xc1\x11\x81\xe1\x6b\x15\x01\xa9\x4c\x93\x16\xe5\xa6\x7c\x99\x0b\x35\x81\x0b\x4c\xda\x04\x73\xa6\xa4\xe5\x76\x14\x21\x58\x68\xe2\xe0\x02\xc6\x05\x8b\x42\xe4\xee\xec\x84\x13\x9d\xc1\x9e\xdf\x5f\x80\xae\xef\xfa\x4f\x5b\x07\xe8\xfd\x23\x13\x9e\xdd\xa3\x18\x99\xeb\xe6\xfe\xe7\x86\x43\xce\x68\x6b\x29\x63\xa3\x20\x72\xbd\x3b\x3b\xba\x68\x48\x5a\x05\xc2\xcc\x04\x56\xc3\xda\x50\xc7\xc8\xc6\x51\xa3\x06\x6d\x13\xa3\x66\x0b\xd4\x7a\xb6\xdf\xec\x49\xe0\x15\x57\xa6\x74\x28\x96\xaa\x4b\xc6\x36\x3a\x79\x7d\xba\xd1\xa4\x09\xcd\x4a\x50\x91\x1e\x70\xea\x00\x7a\xf8\xe9\xb1\xbb\x7e\x3a\xb5\x62\x15\xa5\x75\xc9\x0f\x73\x9c\x2d\x48\xb3\xb3\x46\x94\xb5\xac\xdf\x07\x98\x0a\xe5\x28\xde\x06\x21\xed\xfa\xc8\xb8\xfa\x84\x95\x4d\x56\xdb\xb4\xd0\x30\x82\xb9\x84\xf1\x3e\x5d\xbe\x9c\x71\x12\xff\x97\x16\xf5\x50\x53\x06\x46\x62\xce\x0f\xb8\x1e\xa3\x5f\x98\xfd\x2c\xd5\x11\x37\xa4\x6f\x64\xe0\xc1\xca\xf4\x4e\x54\x07\xdc\x96\x17\x60\xb2\x59\x7f\x7f\x92\x00\x61\x7d\x47\x13\x40\xcf\x15\x17\x6c\x3d\xa8\x80\xfe\x4e\x0e\x93\xa7\x2f\xb9\x49\x26\xfa\xed\x86\x5d\xfd\xc7\x72\xe1\x85\x29\x2c\x1e\x36\xb1\x21\x17\x81\xc3\xe9\x38\xe3\xd4\xf2\x4e\x29\xaf\x51\x7a\x37\x96\x83"}, -{{0x4f,0xc5,0x12,0xef,0xd8,0x6e,0x3a,0x63,0xb3,0x95,0xea,0xff,0x1b,0xa0,0x11,0xe1,0x59,0x0f,0xb9,0x32,0x6a,0xd3,0xff,0xed,0xe7,0x87,0x6d,0xcc,0x3e,0x9f,0xab,0xdc,},{0x26,0xc2,0xa2,0x2f,0x9b,0xfa,0xd9,0x06,0x06,0xdc,0x61,0x3f,0xf1,0x07,0x02,0x1f,0xcd,0xdb,0xec,0x72,0x37,0x06,0x66,0x60,0xb4,0x88,0x96,0x43,0x49,0xe0,0xc8,0x28,},{0x82,0xc8,0x24,0xa7,0xd1,0x13,0x9e,0xc7,0x3a,0xe1,0xd0,0x23,0xad,0xf6,0x28,0x11,0x44,0x1e,0x96,0x82,0x87,0xf1,0xa5,0x80,0xb8,0x59,0xcd,0x66,0xcb,0x33,0xb5,0x8e,0x40,0x9b,0xde,0xb2,0xa8,0x74,0xbf,0x4c,0x23,0x61,0x0b,0xd4,0x4f,0x69,0x31,0x47,0xf2,0xf7,0xc2,0x9d,0x44,0x3a,0x90,0x50,0x84,0xf3,0xea,0xaf,0xd9,0x33,0x0e,0x04,},"\x07\xcd\x1e\x9b\xfa\x38\xa7\xd8\x85\x34\x65\xa9\x3c\x77\xab\x4f\x30\xfa\xf9\x14\xe4\x8b\xc4\x76\x3b\xa0\x7b\xf9\x6b\xa8\x08\xc1\xf5\x9a\xd4\xce\x9b\x7d\x92\x1f\xbb\xc7\x79\x65\x9d\x7c\xa3\x6e\xdb\x7d\xd3\xac\xf7\xa2\x94\x52\xa8\x45\xb4\x9f\xb6\x54\x3a\x3b\x6c\x5c\x1c\x29\x3a\xff\x61\x84\x85\xa1\x0e\xea\x60\xee\x96\x49\xac\x9d\x48\x1e\x69\x49\x96\x7d\x39\x38\xb5\x2f\xe0\x9c\x36\xb9\xad\xe0\x75\x81\xdb\x4e\xb5\x42\xa9\x7f\x5a\xc8\xac\x73\xd3\xee\xa1\x84\x72\x25\x56\x76\x0c\xf4\x83\x09\x05\x64\x55\x30\x61\xb9\x0a\x0b\x6d\x2d\xff\x47\x07\xbe\x76\x39\x37\xa1\x05\x94\xa8\x2b\x76\x6b\xb2\xcf\x6d\xaa\x52\xfa\x8d\x7b\x48\xf3\x21\x27\xc4\x31\xad\x9a\xae\xd3\xbf\xde\xb9\x9a\xd4\x21\x18\xa1\xb4\xde\x7b\x99\x21\x34\xed\x9c\xda\xd0\xb5\x29\x6d\x19\x7a\x48\x5e\x49\x3e\xcf\xec\xa3\x65\x3a\xd2\xce\x0f\x92\x41\xaa\xbc\x09\x6d\x7c\x4b\xa6\x03\xba\x7d\xdd\x07\xa8\xb2\x57\xfe\x52\x32\x76\x41\x70\x73\xa6\x5f\xa4\x43\x42\x56\xfd\x1f\x23\x9e\xc1\xde\x5d\xa1\xa0\xa8\xc5\xe6\x86\xee\x14\xd9\xdf\xa4\x38\xc5\x3b\x99\xc9\x54\xaf\xab\x2f\x79\xe6\x0b\x71\x26\xf2\xcb\x58\xa2\x6e\x29\x0d\xa1\xdc\xcf\xc3\x01\xf2\x39\x74\x8e\xde\x7b\xcf\x1b\xb7\xcc\xb4\x72\x0e\x69\x2f\x57\xe5\x3e\x6f\x59\x07\x53\x99\xe1\x08\x0a\xc8\xaa\x9a\x61\xa5\x68\xc4\xc5\x69\xd3\x6e\x76\xa2\xd7\x27\x1f\x2c\x44\xde\x4e\x36\x3a\x8c\x91\x6a\x4e\x44\x6b\x02\x7b\x64\x39\x2e\x90\xce\xab\xf6\xb6\x07\x1b\xc4\x7a\x13\x79\xb6\xaa\x63\x44\x76\x3b\x2a\x0e\x7f\xf7\xc4\xa2\x7b\xff\x31\x06\x72\x1c\x25\x3e\x4c\x1d\x67\xc3\x7f\xa3\xd7\xc1\xec\xd0\x55\xb8\xe9\x29\xd5\x2a\x8e\x45\xed\x89\xfb\x18\x0f\x74\xb5\x52\xfe\x06\xf0\x66\xc7\xe4\x31\x8c\xa2\xf9\x15\x94\x6e\x83\x20\xd5\x80\x65\x61\x47\x2f\xb8\xff\x7f\xa8\x07\x2d\x8e\x6f\xd1\xce\x63\xcf\x87\x38\x2f\x7b\x94\x04\x54\x0c\x1d\x40\x6c\x70\xb2\x26\x85\x36\x77\x09\x26\x45\xce\x99\x69\x22\xe7\x34\x5d\xc0\x7f\xb7\x33\x9f\x9a\x54\xff\x07\x35\x2d\xd2\xb9\x93\x06\x3c\x2c\x83\xd1\x28\x1a\x4f\xd1\x78\xe5\xa5\xf8\x0a\x5b\x33\xc2\x29\xd0\x57\x83\x67\xd4\x41\x92\xe9\xa4\xd2\x1e\x97\x34\xd3\xbd\xa0\x83\xb7\x0f\x47\x10\x3f\xd1\x25\x17\x70\x21\xdf\x3e\x53\xd7\x99\x86\xef\xea\x2d\xc0\x4f\x02\xc0\xac\x27\x87\x88\x31\x9e\xf3\xa9\x13\x2e\x62\x32\xea\x6d\xb3\x9c\xa5\x87\x08\x55\xf9\x59\x2f\xff\x6c\x20\x9a\xd2\xf1\xc2\x9d\xd1\x68\x55\x28\x98\x97\x9e\xcf\xf8\xc8\x11\x27\x24\x8f\x83\x10\x51\x53\x00\x65\x61\x29\xd9\xb7\xac\xbb\x7e\xd1\xe4\x6b\xc9\x8c\x04\xd1\xa3\x5b\x18\x91\x37\x38\xe9\xdd\xe4\xd2\xb0\x65\xf4\x18\x42\x42\xd8"}, -{{0x0b,0x7d,0xfa,0xd0,0x5b,0xa6,0x65,0x11,0x1e,0x16,0x81,0xbd,0xc0,0xbc,0x8b,0xa9,0x73,0x76,0x7c,0xb8,0x58,0x77,0x02,0x0a,0x2d,0xbf,0x91,0x83,0x25,0x57,0x1d,0x9f,},{0x95,0x05,0xd9,0xe8,0x6d,0xce,0xf5,0x6c,0x9d,0xb7,0x6f,0x28,0x62,0xb9,0x0e,0x1f,0x27,0x73,0x20,0x2f,0x17,0x50,0x40,0x5e,0x7e,0xe5,0xae,0xd0,0xfc,0x54,0xf8,0xb9,},{0x41,0x5a,0xdb,0xb2,0xf2,0xb9,0x84,0x05,0x77,0xfd,0x18,0x41,0xf9,0xaa,0xe2,0x52,0xaf,0xe8,0xf5,0xa7,0x22,0x36,0x01,0x7d,0x50,0xdb,0x22,0xd2,0x28,0xcd,0xee,0x9f,0x5b,0x3e,0x8f,0xe9,0xa1,0x7a,0x4d,0x4e,0x98,0xb7,0x34,0x13,0x81,0xe8,0xd8,0x62,0x5c,0xdc,0xea,0x95,0x6d,0x25,0x3b,0x74,0xe0,0x2d,0xac,0xb8,0x49,0x20,0xa0,0x09,},"\xc4\x3f\xd3\x4b\xb1\x42\x4c\xca\x4e\x4d\xfb\xa7\x5c\x28\xbe\x80\x18\x44\x44\x6c\xa0\x89\x02\x08\x85\xc7\x48\x38\x25\x47\x16\x4a\x9d\x4a\x7f\x95\x70\xd3\xd1\x71\xad\x69\x81\xab\x50\xee\xee\x08\xa4\xa6\xc6\x6d\x76\x99\xd2\x3e\xdb\xe1\xfa\xaf\x44\x66\x0c\x72\xf4\x55\x2d\x87\xd2\x65\xac\xe8\x79\x28\x23\x47\x4b\x90\xa5\xd7\xf7\x40\x1d\xeb\x93\x77\x62\x7f\x60\xb0\x36\xb3\x6e\x04\x4e\xb7\x6b\xf1\x32\xfd\xdf\xcc\x0e\xf5\x70\x4a\x63\x3d\x84\x5e\x96\x2b\x47\x51\x7f\x0b\xaa\x34\xd3\xd6\xe9\xa8\xb9\xf8\x16\x8b\xcd\xc8\x4c\x6d\x2b\x30\xc6\xf3\x43\xe7\x53\x57\xf7\xf2\xc0\x03\x9b\xd2\x54\xb2\x44\xd3\x6c\xd6\x16\x75\x58\x1f\xb8\x34\x57\x0e\xd4\x11\x3a\x78\xe6\x06\xf1\x45\xa1\x11\x99\x2c\x2c\x6b\x61\xc4\x26\x76\x28\xec\x87\xcd\x88\xc3\x6a\x3c\x84\x70\x6e\x44\xae\x96\xa9\x6e\x0c\x84\x80\x31\x85\x46\xd6\xea\x6a\x6d\xf1\x8a\x2b\x4f\x19\xf8\x36\x0c\xfb\xce\x4e\x9d\x1c\xf1\x01\x1f\xfe\xa5\x63\x3a\x66\x61\x9a\xa4\xa6\x5c\xf6\x9b\xe4\x45\x96\x17\x94\x5e\x43\x59\xa9\xd4\x32\x60\xca\x1a\x20\xf4\xed\x7c\x1a\xe5\xff\xff\x3b\xd9\x22\x94\xea\x70\xab\xba\xe0\x38\x5b\x09\x35\xcd\x1c\x0e\xb5\x18\x30\x29\xc5\x85\xa0\x29\x4b\x79\x99\xe3\x2e\xf7\xa2\x90\xfc\xb0\x95\x67\x5d\xc4\xf6\x01\xe8\xf2\xc9\x6f\x35\xb7\x34\x9a\x37\x05\x75\x09\xf4\xec\x70\xc9\xf5\x0f\x60\x11\xf1\xf5\xe6\xb0\x61\xc0\x91\xd1\x1c\x0e\xd5\xde\xc8\xec\xe8\x81\xaa\x34\x05\x08\xf6\x96\xd9\xe9\xcc\x72\x98\xe6\xbc\xcd\x7c\x21\x0e\x2c\xe0\xde\xd8\x35\x92\xa3\xcf\xa1\x3e\x80\x78\xfd\xb3\x25\x8b\x39\xf1\xd1\x1c\xdf\xe0\x96\x70\xc1\xe6\x0a\x39\x10\xa4\xff\xf5\x1c\x6c\x7f\x7d\x66\x24\xf4\xc9\x3d\xf8\x88\x8c\x52\x6f\x48\x4f\x9b\x13\xe0\xa7\xf6\x29\x64\x78\x39\x78\x68\x4e\x29\x26\x79\x80\x0e\xd5\xeb\x28\x0e\x28\x7c\x7e\x63\x9e\x85\xfa\xa5\x3f\xba\x2f\xa2\x04\x5c\xe2\x7d\x8f\xb3\x08\x36\x07\x26\x55\x0d\xf9\x75\x2d\xb3\x05\xf8\xf0\x66\x47\x97\x0d\x01\x46\x91\x99\x9a\xfa\x97\xb6\x19\x3f\xfc\xc6\xd5\x32\xf4\xfa\x69\xe1\x33\xa1\xd1\x0f\x30\x47\xfc\x00\x38\x1f\x49\x97\xbb\x84\xe5\xb6\xcd\x60\x28\xc6\x21\x32\xcf\xc0\x24\xbf\xeb\x98\x03\x01\xf2\x95\x12\xbb\xd1\x09\xd0\x89\xac\xe1\x82\xcf\x9c\x2f\xfa\xb1\xb1\x7e\xb0\x0b\x6e\xb4\x6a\xe1\x98\xda\x99\x3f\x5e\xfe\x7c\x1d\xc2\x2d\x25\x04\x7c\x1e\xe5\x24\x65\x17\xe7\xf5\x75\x8f\x99\x6a\xbd\x83\xf1\x3d\xa2\x2c\x13\xdd\x20\x5e\xe1\x91\xb5\x5a\xfd\x48\x31\xef\x07\x8b\xb6\xea\x07\x3a\x62\x5b\xc9\x7c\x81\x29\x61\x60\xbb\xf2\x55\x9b\x27\x5c\xc3\x7c\xcf\x01\xb9\x1f\xd8\x7d\x4d\x99\xa3\x67\xaa\x99\x78\xda\xdd\x06\x89\xf8\xa6"}, -{{0x78,0x18,0x8d,0xf8,0xc7,0x54,0x78,0x56,0x21,0xe2,0x7a,0xe5,0x8e,0x10,0x0d,0x50,0x80,0xe1,0x6e,0x0a,0x15,0xe2,0x77,0x05,0x1f,0x95,0xf0,0x80,0x90,0x0e,0xc0,0xd3,},{0xa1,0xbd,0xee,0xe9,0x8b,0x07,0x57,0xba,0x9c,0x2d,0x84,0x09,0xb8,0x74,0x24,0xe6,0x4e,0x42,0xf9,0x93,0x2a,0xcf,0xa9,0xbc,0x71,0xfb,0x3f,0x8c,0xa0,0xe1,0x1d,0x52,},{0xb9,0x41,0x14,0xed,0xa4,0x6c,0xcf,0xc2,0x2a,0x44,0x71,0xa6,0x4d,0x79,0x08,0x92,0xe5,0x9c,0x5d,0x50,0x56,0x18,0xeb,0x0e,0x70,0x13,0x92,0xc7,0x09,0x61,0x3e,0x2d,0x50,0x3a,0x5c,0x2b,0x66,0x60,0x1e,0x63,0x6a,0x3c,0x1c,0x7d,0x49,0xb1,0xac,0x79,0x8d,0x90,0x89,0xb0,0xf9,0xcc,0xd0,0x57,0x9b,0xb9,0x06,0x34,0xd0,0xbd,0x75,0x0e,},"\xcf\x70\xcc\xa5\x7f\xeb\x1b\xee\xfe\x98\x5a\xd5\xaf\x9d\x43\x48\xd3\xa4\x6a\x63\xde\x10\x75\x38\x1f\xb3\x63\x9a\x04\x4f\xd6\xe6\x09\x1f\x5d\xb9\xc9\x4d\x39\xbe\x0f\x13\xad\xe6\xd9\xa0\x74\xe6\x7b\xa7\x06\xb3\xa8\x80\x62\x95\xf6\xb6\x54\x86\x57\x28\xc5\x8c\xa6\xe9\x41\x9d\x5d\x04\x3f\x21\x10\x81\x4b\xbf\x36\xfc\x40\x70\xe4\xd9\x45\x49\x65\xc2\x51\x20\x2c\xa3\x95\xef\xe3\xfd\xbd\x54\x4f\xeb\x18\x7e\x34\xca\x3c\x80\x79\x51\x79\x55\x2f\xce\x9a\xa8\x04\x43\x0e\x5b\x6c\x86\x85\x34\x1e\x91\xd5\x88\x9f\xbf\x3f\x98\x19\x04\x62\x0f\xfe\x70\x13\xf5\x3b\x93\x9e\x17\x44\x3d\x61\x4e\x7e\x6b\xb5\x7a\xd6\x74\xf3\xb4\xb0\x01\x63\x05\x26\xcf\x73\x02\xa7\xd0\xaf\xe7\xdc\x24\xd6\xda\xde\xf6\xfe\xba\x3f\x96\x97\x3a\xa5\xb8\xd6\x27\x52\x62\xe4\x30\xa8\x2f\x67\x86\x96\x97\x1a\x8b\x60\xe3\x8d\x3b\x2b\xcc\x17\x0d\x5b\xc2\x03\x02\xa3\x9c\x59\x6d\x27\xfe\xe3\x9e\x5d\xa5\xb1\x0e\xa9\xf3\x82\x29\x9e\x19\x81\x97\x17\xa7\x18\xd3\x7d\x15\x5f\x13\x92\x31\x82\xb5\xb7\xa1\xc5\x4c\xa1\x09\xb2\x2c\xa8\xe8\xb2\x6c\xa5\xca\x3f\x3b\x90\x62\x21\x94\x61\xba\xce\x97\xe8\x90\xc9\x4e\x41\xca\x3d\x84\x58\x7f\xbd\xf6\xe2\x40\xc3\x5c\xca\xb7\x1d\x58\x47\x7d\x28\x16\x8e\x93\x37\x26\x86\xd4\x2a\xad\x32\x4a\x3f\x16\xaf\xe0\xe9\xb8\x9e\xe2\x0e\x48\x5f\xe6\xc8\x64\xb5\x01\x3b\xa8\x83\x99\xee\xaa\x15\x98\x35\xa8\xb2\xbb\x2f\x25\xf5\x79\xca\x3b\xae\x67\x5c\x63\xda\x1b\x50\xd9\x9d\x4e\xd9\x78\x69\x2e\x56\x00\x23\x3f\x38\xab\x7e\x7a\x5a\xe0\xfb\xf8\xc0\xb6\x9c\xc3\x8b\xd3\x0e\xab\xd9\x77\xef\xa0\x5e\xe2\xc8\x35\x14\x30\x2b\xd4\x0c\x4b\xdc\xe7\xa4\x11\x0a\xfb\xb6\x57\x9c\x62\x0e\x97\xf8\xcf\x2e\x9b\xab\x2d\xcc\x7c\x33\xf1\x96\xe5\x7f\xe7\x61\xa0\x50\x12\x28\x94\xb7\xa7\x5a\x92\x95\x31\x99\x6d\xda\xad\x78\xde\x1d\x4d\x92\x4c\xd9\x3a\x61\xdf\x22\x77\x76\xbc\x1c\x39\xfb\xb8\xde\x1c\x44\x38\x86\x8b\x6a\x3a\x2c\xd9\x4c\x07\xb2\x9e\x3f\x6b\x23\xcc\x7e\x0b\x63\x68\x90\x09\xd9\xd0\xba\xe1\x60\x6b\xaf\xc7\xa8\x08\xf2\xd2\xfa\x25\x62\xb8\xdc\x09\x38\x42\xc0\x1f\xdb\x84\x0d\xa4\x86\x0a\xce\xd3\xfc\x52\x5c\xa3\x34\xed\xcf\x65\x94\x8b\xc4\x16\xf9\x8c\x45\x0f\x00\x12\xa6\x10\x7d\xd7\xf8\xed\xe4\x0e\x1c\x48\xc9\xe8\xa5\x65\xa8\x10\xb9\xcf\xd2\x03\x56\xdb\x19\xf1\xdb\xde\x59\x89\x21\x33\x2e\x0d\x81\x3f\x0c\xb8\x76\x84\x37\x03\x88\x77\x2f\xf3\xcb\xfc\xbf\xa2\x99\xc1\x98\xc9\x7b\xfb\x96\x17\x76\x8a\x05\x16\x1f\x41\x69\xff\x5d\xe5\xd9\xf4\x00\x62\x09\x0f\xb8\x82\x98\x4d\x9d\x5c\x7a\xa7\x8e\xdd\xcb\x96\x34\xe4\x66\xb8\x85\x3d\x51\x2b\x4a\x54\x6d\x74\x23"}, -{{0x73,0xcb,0x02,0xb0,0xbf,0x26,0xa0,0x15,0xda,0x1d,0xc3,0x01,0xfc,0x12,0x5d,0x7e,0x6c,0x30,0xb6,0x3c,0x9e,0x6e,0xee,0x9e,0x06,0x5d,0x4e,0x84,0x71,0x32,0xc3,0x25,},{0xac,0x9e,0x3d,0xd2,0xce,0xb9,0xb2,0x3e,0x74,0x8c,0x04,0xba,0x75,0x77,0xfe,0xdf,0x7c,0xea,0xb9,0xed,0x87,0xdc,0x43,0x0b,0x5f,0xe2,0x2e,0xac,0x50,0x95,0x0e,0x0d,},{0x1a,0x5d,0xd4,0xc8,0x91,0xc8,0xe1,0x32,0x57,0x01,0x87,0xc2,0x3b,0x9a,0x1e,0x4b,0x26,0xf0,0x54,0x60,0xe8,0x75,0x67,0x38,0x19,0x39,0x6d,0xf5,0x61,0xc8,0xaf,0x0e,0x48,0x33,0x3b,0x62,0xc7,0x77,0x29,0xd4,0x9f,0xc4,0x0e,0x17,0x4a,0x7f,0x3c,0x21,0xf8,0x5e,0xf4,0xd3,0x39,0xce,0xb8,0x0b,0xd2,0xe0,0x37,0xd8,0x03,0xaf,0x56,0x0e,},"\x0a\x2b\x61\xba\x35\xe9\x6e\x58\x19\xb8\x8b\xfd\xb2\x8b\x7c\xe0\x2e\x64\xae\x9c\xf5\x72\xb2\x1f\x13\x55\x2c\x0d\xb1\x0f\x39\x60\xd4\x4b\xa3\x47\x2f\x43\xab\xc4\xe6\x29\x5b\xdf\x79\x0b\xd9\x33\xba\x39\x75\xfd\x44\x65\xfa\x3e\x2f\xe2\xdb\x02\xb6\x37\x77\x52\x22\x3d\xec\x98\xfc\xb2\x40\x4f\x3a\xba\x43\x26\x5a\x6f\xa7\x97\x6b\x6c\x6c\xb6\x86\x8b\x88\x1b\xd6\xf3\xd2\x5c\xd9\xd6\xf7\x0e\x51\x2f\x80\x89\xc8\xef\x26\xfd\x58\x24\x50\x53\x77\x9e\x59\xc4\x72\x5a\xef\xa2\x64\x67\xc9\xf5\x00\xe1\x7f\x3e\x15\x73\xf1\xa8\x55\xe9\xb8\xb2\x19\x25\xea\x05\x27\xf3\xce\x8d\x88\xfb\x54\xa4\x7a\xbe\xed\x14\xf3\x99\xcc\x2d\x9f\x1f\xe5\x46\x65\xfa\xe0\xa8\xf0\xc6\x88\x72\xa6\x00\x04\x6d\x1d\xc3\x63\x97\xd3\x10\xce\x39\x3f\xce\xaf\xe8\x7c\x17\xeb\xe1\x22\xfd\xb5\x43\xae\xa7\x10\x85\xba\xec\x98\x27\x3f\x41\xac\x96\x69\x8c\x15\x0c\xf9\x11\xd0\xe5\xde\x23\x92\xd8\x48\x41\xd0\x12\x76\xae\xfb\xfe\x99\x95\xe1\x0a\x6d\x46\xef\xdc\x26\x78\xd4\x56\xc9\xf3\x6b\x2e\x10\x11\x4d\x11\x87\xe7\xac\xa7\x39\x03\x7e\xa5\x1f\x85\xfd\x62\xa2\x94\x29\xba\x52\x9c\xdd\x8a\xd9\x13\x47\x49\x74\x87\xed\x7e\x87\x09\xd4\x77\x6e\xf6\x86\x70\x79\x2d\x06\x15\xbc\x96\xda\x51\x78\xd6\x06\xdb\x63\xe4\xe5\xcb\x17\x2a\xcf\xbc\x1c\xbe\x20\x26\x93\x50\xf1\xb6\x05\xf3\x5d\xcd\x47\x91\x35\xbd\x30\xfb\x4b\x5a\x39\x17\x6c\xff\x74\x4d\xdb\xb3\x06\xc9\xe7\xb4\x16\x7d\xe0\x37\x9a\x61\x66\xbe\x5a\xaa\x74\xd7\x15\x7f\xac\x95\x7d\x88\xdc\x57\x59\x7c\xfe\xf2\x3e\xb5\x10\x8b\x3c\xe5\x3f\xc6\x32\xda\xd1\xb9\x72\xa2\x9d\xa5\xde\x32\xd2\x0d\x8e\xce\xde\x67\xff\x00\xda\x4a\x08\xa0\xcc\x1a\x98\xbe\xe7\xa9\x4e\x3c\xb3\x2f\xee\x94\xae\x25\xa4\x13\x54\x47\x02\xc3\x7b\x3e\x17\x78\xa0\x70\xcd\xd4\x84\x0b\xd3\x9f\x5f\x45\x79\x51\x92\xa8\x67\x86\x38\x76\xed\x0d\x13\x0d\x46\xe2\x91\x39\x35\x08\x28\x09\xf7\xe1\x5a\x49\x67\x10\xf2\x55\xd7\x83\xda\x3d\x01\x6a\x65\x4c\x15\xff\x5d\xf9\x07\xa3\xcc\xaf\x37\xcf\xe1\x1c\x8c\x3d\x49\x65\x07\xd6\x76\x0c\x05\x38\x20\xf0\xf5\x94\xc3\xd0\x1c\xa2\x69\x17\x8a\xca\x52\x5a\xb2\x82\x1e\xf5\x5f\x92\xd8\x5f\xe6\x85\xea\x34\x47\x2e\xd1\x39\x81\x71\x06\x4d\x74\xa4\x22\xec\x91\xd1\xa6\x70\x61\x8f\xc9\xf3\x24\x24\xbc\xb1\x1a\x77\xf6\xfb\x4e\x2f\xef\xd2\xc4\xe8\xa7\x3c\x45\x28\x86\xe9\x31\x66\x4d\x1a\x83\xbd\x92\x73\x29\xc0\x4d\x25\x0b\x83\x52\x1d\x7d\xc1\x3c\x91\xce\xe1\xec\x05\x0e\x11\xd4\x2a\x4b\x0c\x8c\x06\x9b\x61\xc4\x42\x2d\x3a\x49\xc0\x7e\xff\x29\x05\xb7\xbc\x7f\x4a\x5b\x43\xe6\xb0\xd6\x1d\xfb\x50\xe4\xee\xa2\xe9\x0d\x29\x8a\x78\x1d\x05"}, -{{0xdb,0x05,0x60,0x63,0x56,0xba,0xcf,0x23,0xaf,0xf6,0xcd,0xdd,0x42,0xb2,0xc6,0x94,0x35,0x2b,0x5a,0x0f,0xec,0x56,0x0a,0xff,0x54,0xd9,0xbd,0x97,0x10,0xef,0xe0,0x6a,},{0x32,0xa5,0xc7,0xcc,0x49,0x09,0x78,0x6b,0x48,0xa5,0x3f,0x31,0x09,0x3f,0x54,0x9a,0x9f,0x17,0x30,0xca,0x66,0x90,0x38,0x3f,0xdb,0x5f,0x14,0xc2,0x66,0x6e,0x31,0x32,},{0x53,0x09,0x9b,0x76,0x6a,0xdf,0x29,0x44,0xb6,0x82,0x13,0x74,0x84,0x2c,0x25,0xd6,0xe6,0x7b,0x0c,0xcd,0xe9,0xc6,0x37,0xfe,0xcb,0x11,0xb8,0xb8,0xb0,0x72,0x03,0xe3,0x07,0x57,0x32,0x80,0x5f,0x4f,0x14,0xae,0xae,0x73,0xbd,0x62,0xe3,0x08,0xb5,0x88,0x7d,0x68,0x9e,0x29,0xcd,0x89,0xb2,0x3a,0x47,0x69,0x43,0x11,0x07,0x17,0xb1,0x00,},"\x1b\xc9\xc2\x83\x3f\x37\xcd\xf1\x35\x6f\xad\x16\x67\x68\x64\x27\x17\x70\x1b\x38\xa0\xab\x0c\x2f\x58\x1a\x26\xd2\x22\xd6\x5c\xce\xe4\xbf\x0f\x6d\xfe\x64\xd3\x3b\xc0\x23\x9f\x71\xd4\xb8\x26\x44\xb0\x16\x25\xa1\xa3\x5f\xe7\x98\x67\x62\x39\xe0\xca\x77\x9e\xf2\x31\x38\xee\xbe\x3b\xd1\x9d\xe2\xd8\xf7\xc1\x5b\x4d\x96\xf1\x3e\x51\xbc\x63\x3b\xea\x5d\x61\x22\x5b\xca\x1d\x63\x39\xba\x53\xe8\x1f\x7d\x8d\x24\xc5\xd6\x0f\x04\xce\x8c\x72\x67\x61\xd2\x64\x58\x4f\x1c\x7e\x5b\x5b\x69\x92\x45\x6c\x1c\x76\x89\x2d\x63\x52\x11\x1e\x3b\x92\x6f\xe0\x25\xc0\x00\x9d\xb6\x7c\xe0\xdd\xc7\xf7\x64\xe0\xc9\xad\xb0\x48\x1b\xc2\x79\x54\x84\xd9\x63\x73\xa9\x62\xa7\xb7\x4a\x55\x96\xf5\x27\xa7\x34\x76\x49\x8c\x78\x23\xdf\xfa\x6c\x85\x43\xb0\x79\x71\xb5\xaa\x27\x1c\x12\x25\x5e\x09\x18\xdd\x73\xf5\x0c\x30\xc9\xa8\x5a\xc7\xc2\x99\x3d\xd6\x55\xda\x59\x43\x12\x63\xf5\x91\x4b\xe7\x06\x37\x4b\xe9\xc0\x75\x85\xc2\x87\x13\x28\xb4\xdb\xc3\x94\x01\xc9\x57\x07\x38\x7e\x6e\x06\x9d\x44\xb9\xd8\xfb\x05\x8f\x22\xe3\x15\xaa\x0d\x5b\x4f\x11\x68\xfc\x10\x79\x62\xb0\x64\xf7\xd8\x45\xaf\x8e\x21\x31\x95\x1d\x1c\xd6\x6d\xc8\x4d\xba\x46\xd2\x00\xaf\x4f\x4c\x5f\x51\x22\x1b\xc9\xb2\x19\x69\x42\xf8\xb4\x0e\x7d\xdb\xc9\xae\xb3\xd9\xaf\xc0\x71\x25\x95\x13\x13\x5a\x01\x6f\x28\x66\x09\x9f\xa1\x0f\x4c\x3b\x73\x50\x0b\xd5\x5c\x47\x7b\x24\x15\xe1\x0a\x27\x9b\xa1\x10\xd2\x94\xf3\xdd\x18\x42\x17\x7d\x0b\x4b\xfb\x17\x34\xdd\x0c\xcb\x7e\x39\x4b\x43\xd1\x6f\x0b\x75\x48\x36\x22\x80\xf4\x34\x76\x4d\xa5\x7f\x19\xed\x3e\x30\x2e\x53\x70\xfb\xa4\x96\x64\xc2\x30\x05\x74\x33\xcc\x64\x7e\xb2\x7c\xd2\xc7\xc1\x8c\x7d\x66\x90\x6f\x08\x82\x46\xc2\x2f\x7f\x79\x03\x99\xde\xb4\xc5\xfb\xb9\x06\x18\x17\x69\xbe\xf5\xaf\xbe\x8a\xd1\xf5\xde\x55\xbe\x58\x8f\x52\xf6\x9c\x54\xd4\xef\x5a\x96\x9a\x0d\x99\x5c\x27\x40\x7b\x23\xed\xd9\x24\x3d\x24\x99\xfd\xf2\x94\x73\xb1\x95\x5c\x84\xb3\xf7\xcb\xdc\xd8\x1b\x76\x56\xec\x0b\xe9\xe0\xfd\xb3\x38\x13\x56\x96\x0f\xd0\xca\x70\xe7\xea\x74\xb6\x46\xfc\xd3\x13\x94\x8e\x6d\xdb\x47\x60\x94\x76\xfb\x6f\xa4\x84\x2f\xa7\x88\xa0\xd5\x7b\xe3\xb0\xa6\xca\x18\x19\xf7\x16\x14\x76\x00\x43\xec\x49\x04\x88\x19\x39\x96\x8a\x43\xb5\xd1\x92\x8f\x84\xa5\x91\x90\x93\xbc\x38\x41\x58\x81\x71\xa9\xcd\x39\x0f\x8f\xcd\x61\x53\x8b\x54\xe6\xef\x99\x77\x05\x73\xe1\x98\x6d\x15\x0f\xa9\x6b\x7a\x07\xe1\xd1\x94\xaf\x1c\x0b\x40\x55\x00\xac\xb3\xd1\x0e\x3b\xe6\x47\xc8\x98\x62\x00\x6f\xa7\x85\x83\xe7\x61\x66\x84\x29\x20\x16\x0e\xb5\x7f\x0b\x2a\x6e\xdf\x19\x3c\x44\xc5\xee\xac\xf4"}, -{{0x1d,0x13,0x9b,0x1a,0xd0,0xc3,0xaf,0x1d,0x5b,0x8b,0xe3,0x1a,0x4e,0xcb,0x87,0x8e,0xc6,0x67,0x73,0x6f,0x7d,0x4f,0xa8,0x36,0x3a,0x98,0x09,0xb6,0xd1,0xda,0xbf,0xe3,},{0x24,0x28,0xcf,0x1d,0xeb,0x20,0xfb,0xad,0x1f,0xdc,0x66,0x5d,0x82,0x5b,0x61,0x41,0x22,0xdf,0x10,0x1f,0xbe,0x14,0x73,0xa7,0x99,0x96,0xba,0xf6,0x96,0x74,0x34,0xb8,},{0xdd,0x64,0x5e,0x51,0xed,0xab,0x04,0xdb,0x31,0xe3,0x31,0x72,0xcf,0x27,0xac,0xee,0xed,0xcc,0x04,0x63,0xa9,0x63,0x91,0x4a,0x0e,0xac,0x8e,0xfd,0x5a,0x34,0x34,0x1f,0x6b,0xbc,0x52,0xe0,0x42,0xba,0xaf,0x3b,0x40,0xc8,0x9a,0x57,0xef,0xb6,0x45,0x74,0xe6,0x96,0x77,0xfc,0xe9,0x55,0x24,0x6c,0x1f,0xc0,0xf2,0x69,0xef,0x81,0x90,0x00,},"\x8d\xf2\xd2\xdf\x9b\x98\x4d\xa8\x44\x33\x48\x6a\x81\x3c\x98\xc5\x97\x3a\x69\x6c\x11\x62\x46\x10\xb2\x3a\xa4\x38\x08\x34\x64\xf6\x5a\x76\x79\x66\x15\xb7\x28\xc2\xed\x4e\x60\x71\x58\x55\xaf\xc2\x39\x45\x0d\x5b\xc0\x91\x1f\xf2\xa8\x52\x30\x20\x5c\x6f\x13\x49\xba\x5b\xd8\x7e\xa6\xf7\x20\xdb\x6b\xa7\x0b\x77\x42\x17\x88\xe0\xc6\x54\xae\xbc\x23\x07\x4c\x5f\x41\xd2\x29\x07\x72\x14\x0d\x98\x1a\x6b\xc4\xfe\x70\x9a\x26\x8e\x64\x17\x2a\x02\x6b\x27\x01\x18\xb4\xdb\x51\xab\x6a\x13\xc9\x9b\x06\x31\x86\xd8\xd5\xb3\x38\xe9\x77\xed\xdc\x6b\xb5\xfd\x7d\xd5\x7d\x98\x45\xa3\xc3\xfe\x76\x17\x7d\x57\x38\xdc\xa1\x6a\x8f\x91\x02\x85\x75\x00\x17\x4f\x23\xff\x4c\x3b\xf3\xc8\x53\x6f\x11\x58\x0e\xf8\x51\x4a\x40\x9f\x5b\xbc\x9c\x02\x96\xf1\x2e\x34\x78\xd4\x08\x7f\x95\xef\xaa\x6c\x63\x60\x71\xd2\x11\x57\xbf\x11\x77\x4b\xbf\xe7\x69\x33\x06\xca\x72\x13\xda\x47\x13\xeb\xaa\xab\x35\x54\xed\xf0\x80\x11\xa5\xff\x73\xda\x12\x03\x75\xae\xd1\x96\x28\x67\x0f\x28\xab\x24\xb6\xf5\xd5\xa1\xd5\x70\x48\x0f\x65\xd3\xc1\x52\xbf\xf1\xb4\x7b\xf0\x66\x69\x29\xcb\x7c\x99\xd9\x03\x3f\xaa\xe8\x53\x4f\xc3\x5d\xa7\x30\xb8\x11\xeb\xcc\x25\xae\x10\xa1\x95\xaa\xb1\x2c\x32\x6a\xa4\x5b\xf8\x05\xc6\x2d\xd4\xcd\x5f\x86\x86\x23\xc0\x4a\x8e\x1c\x6a\xa7\x2f\x1e\xa4\x40\x0c\x60\x86\x7d\xff\x62\x2f\x31\x64\x34\xf1\xec\x89\x50\x3c\x6f\x9f\x65\xc1\x37\xb4\x94\x4c\xbc\xb3\x5f\x08\x6c\x74\xcc\xea\xfa\x22\x42\xac\xca\x6f\xfe\x61\x1c\x4b\x55\x87\xf5\xb7\x5f\xfa\xd3\x49\xf0\x0b\xf9\x6e\x4a\x58\x0a\x87\x5b\x92\x65\x40\x69\xb6\x2e\xea\xc0\xbf\x78\xe5\xae\xdd\x71\x86\x9e\xe0\x5b\x9a\x94\xe1\xc9\x8e\x35\xa9\x78\x00\xa4\xa2\x12\x20\xb0\x39\xcd\x5e\xbb\xb7\x56\xd4\x0b\x40\x42\xe2\xc8\x4a\x2a\xe9\x81\x82\x51\x1d\xae\x8e\xd3\xb8\x9f\x4f\xa0\x0f\xb8\xed\x94\x63\x16\x45\x97\x10\x05\x2a\xd4\xc0\x2f\x63\xdf\x05\xd3\xbb\x1a\xce\x33\x67\x21\x51\xbd\xf5\xda\xb4\x6c\x7b\x58\x3d\xb3\x73\x89\x9d\x4f\x03\x5b\x6c\x11\x12\x58\xb4\xe5\xa9\xe7\x07\xa1\x1d\x21\x5e\x44\xe6\x8e\xf1\xa6\xf0\x53\x80\x9a\xa5\x1b\xd9\x02\xe1\x3c\xa9\x9c\x1b\x1c\xec\xc8\x3b\x9c\x23\x5c\x71\x0e\x79\x7d\x2b\x1a\x24\x9b\x2e\xa0\x79\xb5\xc1\x67\x4e\xd7\x16\x9f\x1b\x6e\x67\xf1\xac\x77\xf8\x6b\x74\x32\x98\x96\x93\x35\xa7\x72\x44\x0f\x7f\xbf\xa7\x25\x13\x50\x0d\x84\x16\x61\x14\xa8\xfd\x54\x13\x94\x64\xd4\x2b\x99\x55\x30\xd3\x23\x70\xb6\x9b\xff\xc7\x58\x9d\x6d\xcc\x97\xe0\xbf\x17\x85\x6c\xc3\xbf\x41\x64\xdb\xec\xcc\x8a\x88\x1d\x41\x4d\x6a\x62\x02\x92\x76\xc5\xf8\x13\x7c\x0b\x3c\x68\xbc\x8f\x4b\xd4\xe7\xcf\xf6\x5e\xf2"}, -{{0x4d,0x22,0xe3,0x31,0xe0,0xcf,0x6f,0x6a,0x27,0x2d,0xb4,0xd2,0x06,0x87,0xff,0xb0,0x59,0xf1,0x22,0x5d,0x81,0xe4,0x11,0x23,0xb8,0xc8,0x9b,0x07,0x4d,0xe7,0x6a,0x3b,},{0xb1,0xe4,0xcf,0xae,0xad,0xd6,0x7b,0x12,0xd7,0xb9,0xdb,0xfc,0x0f,0x88,0xed,0xd0,0x37,0x3f,0x9a,0x88,0xc7,0xfa,0x33,0xfb,0x7f,0x2b,0x1e,0x47,0x5e,0xcc,0xb6,0x1b,},{0xc3,0x66,0xb8,0x02,0xf6,0x82,0xfc,0xd7,0x05,0x25,0x26,0x4f,0xb1,0xa3,0xcb,0xcd,0x0e,0xe3,0x5e,0xcf,0xf5,0x97,0x7c,0x2a,0x55,0x4d,0xa9,0x39,0x22,0x9f,0x17,0x81,0x9a,0x96,0x1e,0xa7,0x4c,0x3d,0x7a,0x78,0x81,0xac,0x5c,0x1f,0xa1,0x6b,0xf9,0x84,0xd9,0x45,0x6a,0x13,0x88,0xd3,0x46,0x3c,0x44,0x94,0x42,0x9b,0x1d,0xc4,0x54,0x02,},"\x9c\x8e\x3f\x5b\x4d\x70\x40\x30\xe1\xba\x71\xf0\x2e\xfc\x4b\x87\xd6\xff\xfb\x55\xbc\x3d\x8d\x03\x81\x8f\x91\x56\x24\xfc\xf7\x01\xc5\x4a\xdf\xaf\xa2\xb6\x94\xb8\x77\x51\xcb\x9f\x69\x91\x8c\x0f\x05\x0f\x4c\x10\x5d\x5c\xcb\x40\x10\x0b\x28\xdf\xd4\xf4\x11\xd5\x91\xc1\x20\x19\x17\x6a\xc2\x01\x6b\xfb\xfd\xf0\xdd\xf1\x1d\xb8\xa7\xe3\x9a\xa7\xb9\xe2\x16\xf6\x67\xc0\xa1\x5f\xb9\x77\xea\xa9\xba\x3b\xc4\x55\xcc\x58\x94\x5f\x3e\x94\x4b\x8a\xc2\xfb\xf4\xd2\x4f\xe7\xe1\xe6\x19\xcd\xbe\xee\x3e\x5e\x12\xa9\xa5\x27\xd2\x8f\x5f\xd7\xcf\xd9\x22\x0f\x13\x08\xd8\x97\xb6\xd4\x31\x4a\x5a\x01\x87\x86\x4a\x2d\x62\x1c\xf1\xb2\x84\x42\x61\x24\x7b\xf5\x20\xba\xfa\x9b\xf2\x26\xe1\x15\x68\x1e\xcd\x77\x42\x79\x80\xcd\x12\xb0\x8c\x35\x9c\xec\xd1\xde\x3f\x55\x45\xf8\x07\xf8\x1e\xd7\x63\x02\xff\xd6\x47\x7f\x89\xb9\x58\xcd\xf1\x29\x54\xcf\x70\xc1\x42\x53\x29\x93\x83\x16\x47\xea\xca\xb0\xb4\x80\x7b\xfd\xad\xb4\x38\x9d\x7d\xff\x2c\x4e\xf0\xef\x5a\x5c\x61\xd0\xdf\x76\x2e\x2e\x90\x80\xa7\x18\x1c\xec\xd0\x6a\x53\x19\x9f\x0d\xfe\xf7\x02\x62\x7a\xde\xcf\x5f\xcd\x9b\x3e\x68\xc7\x23\x33\x16\x17\x27\xf8\x71\xc7\xd1\xc4\x30\x51\xff\x1c\x92\x1f\xd5\x3b\x64\x22\x38\xb9\x78\x80\xd6\x4e\x25\xfa\xc5\x12\xab\x95\x4b\xed\xbc\xa5\x40\xf5\xb2\x00\x91\xec\x72\xe6\x7f\x88\x77\x0a\xfc\x32\xf2\x12\x5c\xa0\xda\x4f\xe8\x7b\x56\xaa\xc9\x17\x7f\x1f\x4f\x67\xc8\x51\x72\x5c\x5e\x8a\xfe\x64\xf6\x64\x79\x98\x33\xfd\x79\x10\x0b\x77\xea\xd2\x58\x38\x87\x9f\xff\x47\x47\xaa\x0d\x56\x72\xec\x0a\x94\x34\x81\x34\xbd\xbd\x4b\xb3\x9b\x0c\x67\xa0\xcd\x30\x60\x2e\xdf\x4f\xec\x6f\x7a\xf0\xcc\x2b\xda\xe1\x26\xce\xa8\x42\xdf\xaa\x43\x91\xdc\x5d\xde\xa9\x38\xe1\x79\x21\x68\x24\x0c\x2d\x8b\x25\x35\x2f\x9f\x3a\x64\x42\x35\xce\x36\xfe\xfe\xb6\x99\x2a\xd8\x8e\x28\x7a\xd2\xd8\x5b\xd8\x50\x39\x6f\xc2\xe5\x17\xa1\x52\x09\xf5\x92\x0a\xc9\x8c\x53\x2b\x1f\x4d\x86\x9b\xeb\x08\xbb\x03\xcf\x7c\x91\xaf\x3f\xfc\xed\x68\xd5\xfb\xfe\xf8\x6f\xf9\x4e\xce\x6e\x2e\xad\x34\x84\xce\x08\x0d\xb1\x7b\xbe\x40\xf1\xdb\x43\x2e\xc1\x65\x0e\xd2\x4f\xdd\x25\x0f\x33\x45\x74\x5c\x9b\x7b\x91\x98\xc9\x10\x9a\x37\x26\x1f\xc5\xec\xbb\xb1\x2f\x83\xa0\xe1\x22\x0a\x18\x67\xd4\x5f\xdd\xfe\xa8\x1d\xcf\x75\xf4\xec\x7f\xdb\x52\x50\xe5\x77\x54\xd6\xde\xa2\x70\xb6\x28\xa7\x95\x30\xec\x28\xb6\x19\xbc\xa9\x49\x3e\x63\x05\xcf\xc4\x41\x4c\x1c\x1d\xe3\x38\x9e\x89\x01\x97\xc8\x5f\x28\x40\x4f\x3f\xa9\x6a\x1e\x2f\xd9\x20\x6b\x47\x2e\x8a\x0a\x0d\x32\xaf\x55\x60\x6b\xb0\x83\xf7\x6a\x19\xb8\xea\xe3\x47\x9a\xe5\x1d\x98\xa9\x9a\x62"}, -{{0xa5,0x22,0x8f,0xf9,0xbb,0xb6,0xf2,0x32,0x32,0x7e,0xb8,0xd8,0x79,0xd7,0xf8,0xb2,0x77,0xca,0x72,0xba,0xe1,0xf9,0xa9,0xd0,0xe2,0x60,0xdd,0x90,0x57,0x1d,0xb4,0xf9,},{0xd8,0x2f,0x6a,0x69,0x74,0xf5,0x1c,0x88,0x08,0xd9,0xd6,0x17,0xf4,0xce,0xc2,0xd8,0xa3,0x7e,0xb1,0x1a,0x14,0x23,0x7c,0x9a,0xb9,0xcf,0x11,0xeb,0xc8,0x0f,0xf6,0xc0,},{0x97,0x65,0x0f,0xae,0x3f,0x59,0xca,0x76,0x47,0x7f,0x25,0x47,0x16,0x77,0x49,0xc5,0x83,0x02,0x48,0x88,0x32,0x25,0xe3,0x54,0xff,0x46,0xc7,0xe3,0x81,0x96,0x52,0x20,0xd9,0xbe,0xf2,0xc2,0x05,0x7c,0x7d,0x19,0x90,0xf0,0x8b,0xca,0x4c,0xfd,0xe8,0x77,0xff,0xf2,0xb4,0xaa,0x81,0x3d,0x9c,0x4b,0x84,0xfb,0x79,0xec,0xed,0x81,0xef,0x05,},"\x1d\xf7\xa6\x83\x5e\x33\x10\x98\x3e\xe7\xec\x73\x11\x25\xf5\xb5\xcf\x11\x7a\xf0\xe3\x6b\x36\x85\xbf\x54\xac\xe1\xc4\x8c\x46\x30\x05\x60\xa4\x5e\x9f\x9b\xdd\x96\xa0\xbc\x4d\x14\xe8\x9d\x4b\x57\x21\xa2\xca\xff\x66\x18\xb1\x82\xed\xb1\x20\x2f\x3d\x0c\x5d\x11\x8d\x09\xb6\x18\x12\xc0\x10\xe8\xb1\x96\x34\x45\x41\xcd\xee\xfe\x5f\xd1\xf9\x61\xc5\xdd\x75\x45\x95\x55\xab\x72\xef\x2a\xa7\xa7\x59\xa4\xf3\xad\x3c\xae\xd4\x4f\x4c\x9a\x8e\xf9\x5b\x76\xed\x9a\x99\xb5\x5d\xd8\xa2\x60\xba\x08\x01\x0d\x29\xff\x81\x9f\x2a\xf3\x51\x3c\x1a\x64\x0d\x6c\xcd\xde\x49\x99\x20\x5f\x9f\xca\x88\x57\x11\x5d\x8b\x5d\xb9\xf7\x0a\x62\xe5\xee\xa0\xd5\xaf\x06\x5d\xe1\x53\xf2\xed\xed\xee\xc6\x3e\x15\xc8\xe0\x9a\x92\x58\x21\x82\xac\x07\xd8\x1c\xa6\x3c\xa4\xaa\x59\x7a\x22\x20\xe7\x04\x81\x95\x7d\x41\x52\x64\xe2\x58\xbc\x26\x3e\x1c\xc3\x6e\x53\x47\x8a\xac\x5c\xa0\x16\x94\xcc\xb0\x9b\x4f\xfd\x84\x73\x99\x72\xc7\xdc\xcf\x3d\xef\xea\xfd\xed\xe1\x62\xab\x6c\x58\xa1\xdf\x27\x37\x1e\x3f\x54\x93\x06\x7f\xc9\xe2\x06\x7e\x57\x96\x23\xc0\x09\xfc\x82\x5e\xef\x0e\x01\x0f\xd1\xcc\xf2\xa8\xd3\xfb\xbb\x31\x56\xf9\xdf\xde\x0c\x7c\xbb\xaf\x84\x33\x09\x85\x17\x49\x1b\x78\xdb\x96\x98\x61\x4e\xa4\x0e\x0b\x1e\x6a\x1e\x36\xb9\x00\x45\x3a\x16\xea\x27\x6f\x34\x42\xbb\xd2\x7a\x7e\xcb\x98\x15\x11\xf5\xc9\x20\x9e\xb0\x96\xe2\x85\x88\xb6\x5b\x96\xb5\x01\x88\xc0\x38\x1f\xf7\x12\xbc\x06\xb2\xc6\x55\xcc\xa0\x75\x1c\x09\x5d\x80\x16\x25\x15\x85\x85\x1e\x67\x74\x34\xdc\x3e\xfd\x08\x7a\x12\x68\x0f\xc2\x2e\x5b\x83\x10\xa1\x0e\x32\xca\xac\x9b\x71\xc8\x76\xee\xd3\x1e\xf0\x9f\x7f\xa0\x12\xba\x08\xdf\xd2\xad\x68\xc1\xe1\x47\xf5\x05\x98\xe5\x50\x46\x7e\xf9\x9f\x29\x5a\x31\x8f\xaa\x50\x7e\xbe\x77\x6c\xe5\x5c\x4d\xa1\x64\x32\x3c\x30\xa5\xe7\x2d\xbe\x02\x7c\x3c\xcf\x96\xc7\x01\x97\xa6\xfb\x1b\x74\xaf\x13\x3a\x8b\xe2\xb0\x3c\x1b\x99\xfd\x25\xb3\xce\xd5\x1f\xe3\x88\x20\x21\xa3\xaf\xd9\x22\x9f\x64\x1b\xc6\xca\xd4\xe1\xd3\xcb\x6e\xd9\xb6\xb6\x8a\x25\xf1\xe1\x39\x72\x89\x98\x1f\x78\x92\x4b\xff\x24\xc8\xde\xe6\xa1\x8a\x04\x21\xfa\x32\xae\x3a\xb6\x0a\x0d\x93\x3a\x6a\xf4\xff\x70\x48\x74\xb0\x9b\x07\x39\xe2\xf2\x9d\x8f\x25\x2d\x79\x05\x5f\x89\xd3\xbf\xf1\x0a\x22\xc5\x4a\xc3\xd8\xaf\xee\xce\x81\x83\x53\xa6\xab\xe2\xb7\xfb\x8e\x8e\x0d\xa5\xb7\xac\x1c\xfc\x98\x5d\xf9\x75\x80\xb1\x82\x11\xa4\xe3\xed\xff\x95\xaf\xdd\xa0\x61\x54\x7d\x3a\xe0\x40\x6d\x32\x86\xcd\x30\x5b\xdf\xd2\xc3\xab\xf8\xf7\x4a\xf9\xa0\x34\x20\xe5\xb0\x3f\x82\x5e\x9c\x53\x90\x7e\x13\xa5\x81\x21\x74\xbe\x42\x89\x86\x45\x14\x9d"}, -{{0xc0,0x4d,0xc0,0x9f,0x11,0x9d,0x67,0x0f,0xb1,0xea,0xe0,0x13,0x6f,0xcc,0x06,0x08,0x5f,0x29,0x0f,0x4a,0xd1,0xaa,0x1f,0xfc,0x9c,0x16,0x0e,0xa5,0xcf,0x47,0xf0,0x9d,},{0xff,0x49,0x8c,0xe8,0xc9,0xdb,0x78,0x67,0xf6,0xd0,0x27,0x64,0x52,0xa4,0x66,0x72,0x48,0x87,0xe6,0x17,0x2f,0x66,0x81,0x67,0x1b,0x8a,0xe0,0x35,0xf5,0x86,0x5e,0xa3,},{0x4b,0xd1,0x9f,0x3d,0x9c,0x51,0x16,0xec,0x6a,0xe0,0x02,0x4d,0x0f,0x24,0x6d,0x2c,0xe2,0x50,0xd9,0xe0,0x63,0x4a,0x23,0x2b,0xa0,0x6f,0xd3,0x56,0x6a,0xed,0x55,0xcb,0xe5,0x9f,0x12,0x33,0x2c,0xba,0xd6,0x5d,0x43,0x49,0xa9,0xd2,0x2e,0x7d,0x6e,0x46,0xd2,0xfb,0xdc,0x71,0xd5,0xc8,0xf9,0xda,0x15,0xdf,0xbf,0x17,0xba,0x22,0x51,0x07,},"\x1e\x42\x29\x7f\x8a\xee\xf2\x9a\x84\x2e\x0e\x21\xf5\xdb\xae\x06\x8e\x2c\x9d\xda\xa6\xfd\x34\x8e\x48\x88\x1f\x0d\x42\xc5\x0b\xf0\xec\xf1\x70\x6b\x94\xa5\xd1\x98\x17\xca\x02\xd8\x3e\x9a\xb2\xf9\x9d\x8b\xfa\xaa\x5c\x85\xad\x39\xa1\x50\xb2\x25\xad\x3e\xaf\xa0\x67\x81\x5b\x74\x67\x2f\xe0\x26\xc3\xcc\xc6\x77\x25\x54\x40\xb6\x84\xa7\x6e\x12\x8c\xa2\xcc\xc4\x29\xf1\x52\x57\x7d\x25\xb6\x9f\x40\xdb\x58\x2d\x49\x47\x9a\xfa\xe6\x80\x71\x2d\xc0\xfd\x1f\xe1\x41\x88\x39\x68\x7c\xa6\x0c\xdd\xe9\x74\x14\x04\x62\xf9\x61\x48\x29\x5d\xf1\xce\x43\xa9\x77\x35\x1c\x77\xf2\xf0\xb0\x9a\x6b\x26\xd6\xfe\x96\x5f\xce\xae\x17\xd7\xb8\x62\x03\x71\x40\x24\x28\x54\x4f\xdf\x91\x69\x0b\x44\xe9\xaf\xc2\xe9\x08\x8c\x83\xca\x48\xdc\x85\x76\xf6\x28\x72\x47\x98\xdc\x90\x32\x31\x74\xc4\x49\x96\x59\x65\x02\xa3\x5d\xf8\xb9\x82\xc5\x70\xa6\xcb\x51\xb9\xa1\x97\xd4\x31\xaf\x33\xf0\x2b\x80\x01\x15\x67\xfe\x50\xcf\x45\xac\x11\x1b\x3d\x55\x6f\x8c\x8c\xe5\xae\x8c\x99\x72\xf2\xa9\x93\x6b\x1a\x01\x2b\x9c\x33\x9e\x30\xc9\x73\x12\xb6\x5e\xa5\x9c\x10\x0f\x79\xd7\x95\xb8\xa2\x4b\x31\xa0\xa9\x7d\xc2\x5c\xce\xd6\xb8\xff\x5a\xe1\x45\x33\x9a\x04\x8c\xa1\x2a\x57\x90\x17\xfa\xe8\xd5\xcb\xcb\x61\xd5\x2e\x31\x4d\xd7\xc2\xe7\x20\x10\xc4\x72\x17\xb1\xd0\x68\x78\xbf\x28\x18\xca\x18\x8e\x8e\x30\x79\x60\xc1\x68\x9d\x7d\xfc\x02\x02\x97\x3c\xd2\x9f\x2f\x7b\xa7\x43\x46\x9e\x68\x5e\x0e\x70\x4b\x04\xba\xca\x4f\xab\x54\x88\x44\x8a\x92\x2e\xab\xf4\x0b\xe5\x81\xc1\x99\x4d\x74\xd1\x3a\x36\x6c\xe8\x57\xfb\x40\xa6\xe0\x5d\xa8\x55\x36\x94\x17\x2c\xc3\xfd\x28\x06\x2f\x53\x82\x50\xaa\x8c\x11\xf6\x81\x39\xe7\x9c\xd1\x19\x1b\xa3\x31\x4b\x5c\xea\x08\x64\x43\x7e\xd2\xe4\xb6\xfb\xd7\x5b\x9d\xed\x09\x87\xb4\x1c\x20\x2a\x58\xec\x02\x54\xd9\xd3\x71\xa7\x95\xf1\xdb\xec\xdd\xac\x11\x2b\xe8\xd0\x9e\x2d\x7b\x9c\xa5\x75\x2f\x40\x6c\xff\xb9\x11\xca\x36\x45\x0b\xc0\x5f\x1e\xc1\xca\x3c\xa8\xd3\x51\x24\xd1\x28\x6c\x55\xf1\x0f\x61\x33\x4e\x46\xec\xe4\x18\x3b\x92\x21\x9a\x9d\xcd\x0e\x5e\x78\xef\x2a\x76\xcf\xe9\xa9\xab\x37\x95\xdf\xdc\xb4\x4f\x63\xd4\x5f\x5f\x48\xff\xb4\x15\x61\x33\xad\x2e\x99\x50\x88\x4c\x5b\xbd\x2c\x1c\xb8\x72\x9e\x40\xa8\x78\x7f\x78\x49\x69\xfa\x88\x0c\x07\xff\xcc\x97\xd5\xc0\xd2\xd4\x88\x08\x5e\x91\x16\xd7\x10\x7c\xd5\xdb\x16\xce\xcc\xde\xad\x55\x02\x5e\xea\x2e\xde\xe9\x3c\x1b\x10\x64\x27\x61\x8e\xe0\x9d\xc3\xda\xd1\xe0\x56\x76\xa2\x36\x80\x69\xc8\x04\x5c\x3e\xbc\x6c\x67\xaf\xa5\x2d\x59\x39\x82\x48\xef\xcf\x15\xe9\x04\xc7\x14\x23\x04\xff\x61\x97\x1f\x4d\x9b\xf6\x46\x0c\x1d\x64\x17"}, -{{0x67,0x91,0xbd,0x74,0xd3,0xb4,0x62,0x0e,0xf5,0xf1,0xff,0x56,0x40,0x64,0x32,0xc2,0x6a,0xb6,0x46,0xf6,0xd5,0xe9,0xdd,0xa6,0x84,0x2e,0xd6,0x90,0x52,0x27,0x53,0x92,},{0xda,0x99,0x15,0xa7,0x55,0x2f,0x11,0x0f,0xae,0xa1,0x2d,0x47,0x92,0x0a,0x09,0x60,0x14,0x43,0xd4,0x00,0x0a,0x9c,0x7e,0x21,0x8d,0x5b,0xa7,0x2b,0x74,0x98,0x9f,0xa6,},{0xb1,0xe8,0xd4,0x81,0x06,0x5b,0xd5,0x12,0x1b,0xb3,0xbf,0x56,0x96,0x00,0xbc,0xc2,0x6d,0xf4,0x0c,0x49,0x9f,0xba,0xa9,0x54,0xb3,0x9a,0x61,0x9d,0xc4,0x0b,0x95,0x90,0xc3,0x17,0x56,0xb8,0xb6,0x3f,0x86,0x01,0x51,0x69,0x4b,0x95,0x76,0x5d,0x69,0x7b,0x2e,0x1a,0xde,0x08,0x06,0xe9,0x2a,0x06,0xc4,0xa5,0x59,0xe9,0x0f,0xcf,0xa5,0x06,},"\x36\xa2\x0e\x66\xbb\x29\x15\x51\x61\xad\x85\xee\xfe\x89\x3b\x53\xac\x5a\xde\x16\x5f\x08\x9a\x77\x19\x0b\x0c\x23\x9d\xec\x8a\x20\x16\x85\xb0\x76\xb4\xde\xd4\xa1\x0a\xa4\x59\xb9\x80\xa8\xcc\xa4\x7d\x5f\x8d\xe4\xd2\xa6\x62\xe4\x46\xd5\xf7\xfb\x70\xed\x9b\xe0\x5d\xb1\xcc\xea\xdd\x13\x0b\x33\x46\xd9\x40\x9f\x9d\x6e\xf5\x28\x24\xc7\x64\xac\x6f\xb1\xcd\x15\x6d\xbd\x6a\x47\x3a\xe7\x22\xd0\xeb\xb2\x56\x38\xc5\x12\x65\xa2\x2f\xeb\xbb\x14\x96\x7d\x6d\xd8\x25\x3c\x1d\x03\x88\x95\xc6\x73\x7f\x06\x7c\x8f\x73\xc3\xc1\xcb\xe6\xcd\xa4\x36\x96\x32\xd7\xf4\xc9\xac\xeb\xe8\x7d\x05\x71\xc8\x1a\x58\xcf\xd7\x2c\xce\x4a\x5c\xf5\x3a\x1e\x75\x25\x9f\x4c\x99\x3e\x67\xef\xc8\xd9\xc3\x57\x6c\x43\xaf\x04\xa5\xca\xf3\x3d\x85\x6f\x7f\x27\x55\xd3\xa9\x75\xab\x2b\x68\x5c\x6f\x65\x68\x0c\xba\x9a\xc8\x79\xf3\xa8\xc9\xa4\x76\x5b\x87\x9c\x0a\xde\x1e\x4b\xd0\xd4\xa7\x0b\xb6\xf9\x2b\x24\xd4\x29\xdc\x74\x6c\xc7\x8f\x84\x81\x1f\x07\x6f\x32\xc6\x1e\x35\x85\xcc\x8a\xad\xe9\xb0\xca\x15\x22\x4b\xfb\xfe\x18\xbe\x10\xa3\x36\x43\x60\x0f\x66\x12\xbf\x01\x3f\x0e\xfc\xca\x83\x72\x46\xa0\xee\x5b\x03\xc0\x2f\x15\x73\x62\x4c\x4a\x44\xa9\x0f\x9e\x42\x3d\x4e\x56\x06\x1a\x71\xd0\x14\x4f\x5a\x88\x7a\x8c\xd4\xa9\xd6\xf2\x47\x90\x4e\x26\x79\x59\x51\x95\x9d\xa1\x21\xc8\x3c\x6c\x94\x1e\x2b\x6b\x9a\xb7\x62\x09\xff\xe9\x17\x85\x91\xea\xd6\x82\x30\xb9\x4a\xe9\x7d\xf5\x8f\x9f\x17\x24\x28\xc9\x50\x67\x59\x8a\xc5\x82\xff\xb9\x50\x84\x0d\x82\x66\x30\xc4\x62\x5f\x5d\xea\xdd\xec\x13\x05\x20\x3b\x4d\xb6\xb9\x45\xf9\x91\xed\x7c\xd3\xd6\xfa\xbc\xa5\x1e\x21\x66\xad\xad\x0a\xad\x51\x17\x33\x6d\x52\xd5\x94\x22\xf0\x13\x5c\x8f\xa8\xcd\xd0\x88\x4b\xe7\x35\x86\xbf\x28\x4e\x5d\xdd\xdb\xcb\x95\xb4\x11\xf9\x85\x68\x52\x6f\xbe\x71\xa5\x59\x2b\x56\xad\x5a\x73\x45\xf2\x87\x4d\xb1\xd5\x7b\xea\xb4\x3e\x8c\xc6\x95\x47\x52\x06\x29\xf0\xee\x76\xdb\xf4\x32\xa3\x76\xfa\xd2\x8b\xfc\x77\xe1\x4d\x84\x0f\x0c\x02\xd4\x78\xf1\xe2\x33\x7c\x23\xb8\x9e\x73\xe5\x27\x91\x08\xb5\x60\x9b\x18\xe8\x0d\xb0\xde\x11\xcf\xa9\x4e\xcf\x72\x39\xbc\xff\x59\xc5\x41\x18\xe4\xed\xe4\xfb\xfc\x08\x23\xae\x54\x60\x16\xf7\x74\xc5\x21\x98\xa9\x63\xb5\x54\x5a\x34\x89\xb8\x9d\xf7\x62\x6f\xd1\x1e\xd4\x65\x8d\x71\x5a\x46\x57\x99\x40\x35\xd4\x03\xb3\x37\x0d\x14\xee\xd9\x71\x8d\x59\x8d\xb6\x75\xf0\x42\x59\x2f\xea\x89\x05\x65\x44\xb3\x2e\x5b\x9c\x80\x62\x82\x8a\xaa\x3c\xf5\x9c\xb4\x76\xad\x36\xdb\x1d\xaa\x24\x82\x22\x7a\x9b\x7a\xfb\xc1\x53\xce\x93\x25\x3d\x1b\x39\xda\x95\xeb\x96\xf8\x31\x28\xff\x25\x54\xa5\x47\xe3\x4e\xea\x4a\x00\x00"}, -{{0x23,0x4c,0xe4,0xd3,0x9b,0x5e,0xba,0xbe,0x9a,0x2c,0x1e,0x71,0x97,0x0d,0x71,0x81,0x38,0xdc,0xb5,0x30,0xcf,0xd2,0x96,0x02,0x34,0x27,0xd8,0x92,0xbf,0x88,0xf8,0xa4,},{0xcb,0x73,0x93,0x0d,0xb4,0x21,0xf6,0xd2,0x45,0x36,0x83,0x7b,0xd0,0xbf,0xf6,0xfa,0x75,0xbb,0xd1,0x41,0xc9,0x8a,0x40,0x5d,0x42,0x44,0xa3,0xc4,0x24,0x55,0x07,0x79,},{0xf6,0xd0,0x60,0xed,0x7d,0x18,0x27,0x3f,0x18,0xf7,0xa6,0x9c,0xd1,0xd8,0x12,0x6e,0x47,0x8e,0x88,0xa1,0xd7,0x29,0x4f,0xf6,0x04,0x08,0x46,0xd4,0x61,0x07,0xc3,0xe4,0x1a,0x42,0x3b,0xab,0xb2,0x41,0x71,0x39,0xfe,0x58,0x7d,0x29,0x10,0x27,0x1a,0x35,0x7f,0xe5,0xbf,0x57,0xc9,0x2e,0xe3,0xa7,0xb7,0x75,0x33,0x72,0x9d,0x0a,0xc2,0x0d,},"\x77\x73\x0c\xf8\xc8\xf9\x6b\x91\x87\x90\x2a\xcf\xf9\xff\x0b\x21\x74\x6c\xca\xf0\xa3\x82\xa7\xb3\x43\xd1\xc7\x20\x27\xae\x3c\x31\x68\xa7\x3a\x6b\x8f\x49\xbc\x87\x98\x14\x1e\x15\xc2\x73\x2b\x6a\x6b\x3f\x75\x7f\x8a\x8e\x86\xc7\xa4\xba\xcb\x39\x55\x1c\x54\x87\x4d\x6b\xf7\x16\x89\x7e\xe4\xaf\x13\x25\x3a\xa5\xbb\x79\xa1\x92\x10\x4f\x44\xdc\xb3\xde\x96\x07\x45\xa8\xe6\xaa\x98\x80\x52\x4a\x62\x9f\xb5\x10\xa4\xce\x4c\xbd\xa7\xe2\x95\x7d\xff\x1d\x62\xe7\x05\x60\x6a\x2c\xc8\x4f\x91\x85\x0b\xea\xac\x5e\x58\x46\xe1\x42\x0b\xc9\x1d\xcd\xd2\x42\x7b\x69\xcf\xa4\x6a\xe3\x8a\x4f\xef\x41\x46\xea\xe3\x5f\x9c\x22\xe9\x67\xcb\x14\xa1\xaf\x9c\xab\xf8\x3b\x18\x04\x65\xbe\xd6\xef\x2c\xda\x38\x2a\x84\xd9\x99\x4a\xad\x65\x5d\x89\x52\xe0\xfb\xb0\xf9\x6f\xc8\x08\x9f\x2e\x74\x89\x49\x7f\xac\xdc\xd6\x56\xa8\xa4\x51\xb9\x28\xc1\x1e\x7a\x40\x75\x07\x2a\xaf\xbf\x17\xd8\xf1\x05\x4c\x91\x96\x28\x8d\xed\x3a\xe2\x1f\x9a\xfd\x58\x10\xa1\x00\xd8\xe4\xd8\x4c\x4a\x35\xa9\x8b\x30\xd3\xe1\x85\x24\x43\x8d\xd4\x40\x2d\xfd\x8e\x76\x75\xf0\x9d\x08\x0c\xd9\x15\xf1\x4a\xf4\x37\x2f\x7c\xe5\x83\x84\x97\x2d\x5d\x11\x10\x79\x65\x1b\x2a\xcf\x39\xd2\xa1\x67\xc6\xa0\x0b\x2b\x17\xce\x0b\x26\x87\x91\xbd\x2b\xe5\x17\x8f\xe0\xf8\x2d\x64\xda\xcd\xde\x37\x7a\x1e\x8b\xe9\xe7\xd8\xdf\xc8\x2b\x08\x64\x45\x37\xbd\xc8\x70\xc5\x81\x92\x86\xfd\x51\xf6\x79\x2d\xc5\xf6\x7b\x54\xbe\x33\x6d\x44\xd5\x4f\xeb\xf8\x1b\x8d\xf8\xde\xc5\xd8\x68\x6d\xb1\x2f\x16\x4d\x0e\x8f\xf1\xaa\x2c\x16\xba\xcc\x98\x06\x01\x0e\xc8\xe9\x11\x96\x59\x7e\xf0\x6a\x4c\xf1\x70\x7d\xef\x50\x67\xa0\x48\x89\xd8\xe4\x8a\x9b\xc2\xc0\xbe\xf6\x64\xf5\xac\xd1\xb4\xf5\xbc\x2d\xa7\xda\x43\xdc\xb5\xf9\x63\x24\x5b\xa5\x52\xfd\x49\x30\x01\xd8\x70\xa9\x51\x7a\x17\x9c\x2f\x0d\xe8\x5b\xe0\xc6\x82\xd0\x57\x48\x8e\x35\xc7\x81\x6f\xf4\xba\x52\x9a\xef\xd7\xc6\x60\x91\xf2\x06\xf5\xf4\xd7\x5c\xac\x8b\xd2\x09\xec\x2f\xa5\x5b\xe7\x4a\xf2\x31\xe2\xf3\x89\xdc\xc2\xd6\x68\xbf\x69\x5e\xd2\x67\xc3\x59\x4b\xad\x9e\xfc\x00\x21\x7c\x7a\x0e\x9e\x7b\x6a\x56\xa3\x30\x79\xa3\x0e\x73\xc3\x73\x3f\x2d\x24\xef\xec\xdd\xe8\x7f\x72\xf9\x48\xd2\x77\xd6\xb6\xd5\xb0\x35\xb4\xc5\x31\x80\xd2\x3d\x66\xcc\x0f\xf1\x7c\x15\xdd\x46\x85\x85\xe3\x89\xd9\x1a\x4c\x97\xfd\x80\x11\x0b\x21\x8a\x0b\xf7\xa5\xe0\x35\x3f\x46\x09\xd2\xcf\x01\x8a\x06\x55\x71\x00\x1c\x78\x88\x55\x5e\xed\xbd\x36\x22\xc3\xb1\x76\x9c\xd1\x3f\x33\x37\x47\x72\xaa\x6c\x8a\x8f\x58\x81\x02\x01\x7d\x4e\xe4\xe5\x0d\xcb\xbd\xb1\xd6\x10\xc3\x26\x70\x93\x4a\x6d\x9e\x6d\x9b\x78\x4b\xbf\xe7\x18\x62\xbb\x38"}, -{{0x10,0x3d,0x11,0x8c,0x7d,0xd6,0x5d,0x07,0xe8,0xd5,0x58,0x2e,0x45,0x04,0x2a,0x75,0x79,0x24,0x17,0xc6,0x92,0x00,0x1e,0xe6,0xbd,0x9a,0x92,0x7b,0x2b,0x3d,0x90,0x16,},{0xb4,0x5c,0xc9,0x45,0x14,0xa6,0xad,0x67,0x24,0x96,0xcd,0x4e,0xb9,0xfd,0xaf,0xc1,0xd4,0xa1,0x67,0x07,0x2c,0x68,0x74,0xdc,0x8f,0xf1,0x6d,0x76,0x1f,0xb6,0x69,0x86,},{0x2f,0xaf,0xc1,0x3c,0x43,0xaf,0xe5,0x05,0x43,0x72,0xb9,0x23,0xd2,0x4f,0x29,0x2b,0x28,0x3a,0xfc,0xa3,0xac,0xa3,0xb3,0xe4,0x32,0x38,0x06,0x84,0x96,0x17,0x13,0xc8,0xd2,0x3e,0x86,0xb3,0x58,0x04,0x95,0xdf,0xba,0xe4,0x24,0xb7,0x67,0xe4,0x79,0x5a,0x0f,0x92,0x2f,0x71,0xb5,0x0f,0x5d,0x7a,0x36,0x9a,0xb8,0xc6,0xe8,0x80,0x42,0x0c,},"\x5a\x8e\xe0\x79\x18\x6b\x51\xcf\x46\x29\x83\x4d\xe0\xc6\xbd\x73\x34\x85\x50\x39\xa7\x63\x1d\x68\x87\x65\x2a\x77\x28\x99\x59\x72\xe3\x62\xc1\xc4\x09\xf0\x84\xf5\xaa\xf2\x98\x6a\xe3\xf5\x36\xbe\x00\x70\xc4\xba\xf4\x59\xef\x60\xa0\x15\xef\x9d\x70\xdf\xa3\xea\x96\x71\x1c\xbb\x18\xe9\x2a\xf5\x0c\x52\x7d\x7e\xd4\x57\x87\x7a\x07\xab\x83\x72\x15\x18\xc8\x9f\x7a\x86\x41\x91\xb1\xe9\x74\x33\xb7\xc6\xcd\x63\x4a\x83\x2e\x19\x89\x1e\x76\xc6\x21\x22\xa4\x9d\xbf\xfd\x83\x49\x8a\xa4\x16\xac\xcc\xb7\x73\x7f\xe7\x5f\x4f\xb2\xc3\x53\x28\xe6\xf6\xec\xec\xaa\xa4\x2e\x43\xdb\xa5\xbc\x96\x89\x67\x3d\xab\x96\xf0\xbe\xfa\x3c\x83\xeb\x41\xd4\xd8\x87\xb3\xa1\x17\xd0\x55\xe3\x0b\xb8\x7f\xbe\x7c\x71\x94\x72\xf6\xc7\xa4\xcc\x45\xf6\x28\xf5\xfa\xdd\xc4\x8c\xa3\x44\xf7\x7b\x73\x3c\x0e\x3b\x9f\x50\x79\xdb\xd0\x7a\xf3\xa3\x84\x7a\xf1\x41\x71\x9c\xca\x2f\x6a\x76\x65\x52\xb4\x5d\x0f\xdc\xdb\x98\x68\xf2\xc7\x62\xb6\xd4\x93\x3b\xa1\x08\x36\xf9\x5b\xff\x71\xcb\x88\x04\x00\x24\xc9\x05\x34\xc4\xd7\xa9\x5a\x23\x03\xb0\x4c\x29\x61\x01\x2a\xf5\x8b\xc7\x84\xa9\x63\x27\xbb\xfe\xd0\x39\xd0\x80\x2a\x05\x26\x2d\x8e\x66\x3b\x78\x50\x8e\x92\x50\x8b\xc1\xf2\xea\x2b\x9b\xe7\x58\x0b\xde\x10\xa4\xd6\x63\xd0\xd2\x5b\x0e\x97\x3b\x8c\x5d\xed\x59\xde\xbf\x19\xbb\x04\x4a\xff\x1c\x60\xc7\x0e\xa1\xae\xfe\x85\xf6\xd1\x5c\x2c\x1b\x84\x75\x3b\x59\x57\x6a\x49\x47\x3d\x65\xaf\x3e\xd9\x41\xa3\xd5\x14\xb5\xc4\x52\x2c\x14\x1b\xdb\xee\xd9\xcb\x33\x96\x95\xb2\xe0\x2d\xc0\x70\x00\x86\x7f\x1b\xf8\xed\x8c\xfd\x3b\x1a\xfe\x68\x8f\xbc\xa8\x0e\x2f\x9b\xa5\xc0\xb1\x88\xa1\x9a\xda\xff\x66\x86\xca\x0f\xf0\xed\xd4\x44\x66\x12\x91\xfa\x27\xca\x1f\xc5\x29\x42\x9a\x5d\x8f\xf7\x9e\xd2\x02\x7c\x60\xff\xe3\xb2\xc0\x3f\xb8\xa6\x6a\x39\x85\x41\x7b\xa4\xac\xe7\xd1\x4f\xd0\xe2\x37\x1e\xdf\x5d\x71\xbc\x02\xb9\x05\x27\x67\xc7\xf7\x2c\x4e\x6f\x3f\x30\xe0\x63\x82\x76\xb9\xc4\x20\xaa\x43\x33\x09\x5d\x31\x31\x30\x33\x09\x05\x82\xe3\xac\x4d\x9f\xd3\x20\x31\x20\xba\x25\x14\x97\x3a\xb9\xd1\xc7\xfc\x42\x29\x01\x16\xb5\x1d\xae\x9f\xd5\x79\x41\x0a\xe0\x78\xed\x32\x0a\x5a\x1b\x49\xaa\x7b\x5f\xef\xcd\x75\x63\x95\x21\x3a\xf8\x64\x1e\x29\xb0\xeb\xb5\xb8\x3e\x37\x80\xe5\xd1\x0e\x9d\x3d\x11\x99\x81\x48\xf6\xc6\xf8\x6c\x4d\x4e\xb2\x52\xe2\x8c\x70\xfa\x3a\x55\xc4\x3d\x4d\x7f\xaa\xfc\xbc\xdd\x45\xad\x26\x37\xf2\x15\xe8\x15\x49\xeb\x8a\x4c\xde\x47\x15\xb7\x10\x72\x07\x50\x3a\x79\x59\x50\x60\xb8\x3a\xce\x8f\xeb\x67\x3b\x99\x79\x68\x46\x9d\xd9\xb4\xad\x6a\x7e\xa8\x1c\x6e\x61\x81\x00\x33\xf3\xed\xfc\x13\x7d\x97\x42\x09\x57\x5c"}, -{{0x47,0xee,0xe2,0x02,0x4d,0xbe,0x09,0x95,0x3e,0x98,0x1f,0x69,0x86,0x52,0x0f,0x66,0x60,0x82,0xaa,0x9e,0xf4,0x89,0x2d,0xfd,0xfb,0xdb,0xd2,0x50,0xd2,0xa1,0xdf,0x28,},{0x9f,0x13,0xcd,0x8e,0xbf,0x50,0x80,0x34,0x79,0x75,0x15,0x9f,0x36,0x02,0x96,0xa7,0x16,0x40,0x14,0xd8,0xd0,0x69,0xe8,0x31,0xda,0xb0,0x33,0x26,0x07,0x99,0x7c,0xde,},{0x5d,0xef,0xae,0x0e,0x17,0x3e,0xcc,0x18,0xd5,0xf0,0x1e,0xc9,0x29,0x1b,0xe1,0x60,0xd5,0xea,0xbf,0xf6,0x3f,0xd5,0x42,0x3f,0x2b,0xc6,0x6e,0x3f,0x64,0x08,0xc1,0x96,0x35,0x35,0x02,0xdc,0xef,0x21,0xef,0xfa,0x4b,0x9c,0x14,0xbf,0x27,0xb6,0x87,0xd1,0xb6,0xe8,0x6b,0x2a,0x20,0x5a,0x89,0xeb,0x35,0xc3,0x76,0xa3,0xa3,0x25,0x69,0x0d,},"\xc1\x33\xf0\x33\xcf\x3b\xec\x6c\xd1\x92\x12\xea\x47\xdb\xec\xb1\x3f\x2c\x60\x18\xf9\xe0\x87\x8a\xc8\x84\xbf\xb5\x75\xc0\xf5\xd3\xfc\x5b\x49\x99\x58\x0e\xb8\xac\xbc\xaa\xc8\x3a\xe9\xac\x9b\x44\x3e\x6d\x1c\xff\x44\x9c\x36\x89\xb4\x33\xd5\x09\x00\xb2\xe8\xb7\x1d\x00\xe1\x19\xc8\xb8\x75\x09\x4b\xda\xb9\x16\xad\xaa\xb7\x5b\xcc\x85\x29\x59\xd8\xd7\x59\x79\x5b\xbd\x6b\x36\x0e\xe4\x84\xaf\xe4\x7b\x1a\xd2\x83\x91\xf2\x5a\xfb\x8d\x4e\x3a\xfe\x0c\x5b\x60\x04\x98\xa1\x28\x33\xfe\x2a\x1a\x54\x83\xdf\x94\x0b\x17\x3b\xa0\xd9\xd8\xc4\xd1\x32\x1f\xa4\xb7\x33\x33\x4b\x0f\x6d\x87\x8a\x0e\x5a\x76\xf4\xf1\x80\xac\x11\x9a\x82\x08\x2a\xcb\x14\x88\xe4\x9b\xbc\xa7\xa0\x36\x9c\x19\x1b\xd6\xd0\xc5\xd4\x45\x65\x68\x21\xa9\x9c\xcb\xc9\x45\x94\x9e\xca\x81\x36\xcc\x6e\x12\x7d\x9d\xe9\x2e\xf6\x4f\x17\x4a\x6c\x04\xc8\xb5\xe5\x24\x95\xf0\xdd\x67\x4b\xb5\xca\x12\x8a\x92\x09\x96\x8f\xd4\x50\xdc\xe3\x19\x91\x3f\xd6\xa3\x0c\x33\x82\x79\x81\x63\xe6\x58\x5f\x58\xef\x20\x8b\xe4\xd0\xc6\xa2\x51\x3a\x75\x23\x88\x39\x7a\x4a\xe4\x44\x83\x8c\x84\x66\xdb\xc3\x6f\xbc\x36\xae\x08\xbe\xc8\x8e\xed\xa1\x31\xc1\x4d\x06\x36\x6b\x67\x31\x51\x45\x41\x00\xde\xa1\x11\x81\x50\xfb\xe4\x41\xb1\xe7\x82\x6e\x54\x5d\x98\x68\x24\x2e\x89\x9f\x5e\xa5\x3e\x43\x4c\x37\x93\x6c\xe6\xfd\x06\x14\x62\x83\xe8\xfb\xd5\x36\x48\x0d\xe5\x5a\x16\x10\x2c\x44\x75\x4b\xc5\x54\xd5\xbc\x2d\xe2\xf2\x5e\x19\xe5\x67\xa0\x23\xdf\x46\x40\xe7\x4f\xf3\xa4\x9e\x4d\xd3\x0e\x0e\x25\x58\xb3\xdb\xc2\xaa\xb9\x2f\xdd\x5e\x79\x42\x5e\xcb\xc4\xc6\x99\xfe\x1f\x16\x19\x65\xf1\xd0\xb4\x5d\x8b\xda\xb5\x2e\xc9\xbf\x7a\x69\xd8\xaa\x0b\xd1\x71\xe7\x55\xce\x7b\x8d\x07\x18\xf7\x26\x7a\xfb\x73\x3e\xfc\xa5\x4b\x21\x3e\x6f\x5a\xda\xb4\xc9\xd7\x6c\x86\x7f\xcb\x69\xae\x05\xc7\x4b\xd2\x15\x16\xcf\x34\x2c\x61\x61\xf6\xfc\x9e\xcc\xac\xf9\x70\xeb\xce\x54\x0c\xd8\x92\xbc\x10\x6c\x6b\xd5\x63\x61\x02\x98\xb7\x09\x68\xf0\x91\xbc\xc6\xe1\xf7\xab\x4a\x5b\x2c\x63\x74\xa1\x90\x3f\x4d\x3a\xd5\xe1\xbd\x86\x43\xa9\xc2\xf8\x78\xc3\xd7\xa4\xdc\x49\xef\x31\x97\xed\xbc\xda\x7b\xb9\x1e\x7e\x06\x60\x60\x87\xd4\xe9\x81\xbf\xab\x93\xa6\x02\x49\x77\x96\x2e\x45\x26\x25\x17\xf3\x38\xb6\x85\x7e\xec\x21\x58\xa2\x97\xb2\xaa\x91\x52\x4b\x67\x7a\x21\xaa\xc5\x7b\xe0\xb6\x3a\x80\x74\xfe\x54\xe7\xa9\xdc\x70\xc5\xa5\xc3\xde\x72\x8b\x9c\x17\xec\x12\x12\xab\x11\x30\xeb\x17\x62\x2c\xd7\xb2\x2a\xb6\xeb\xa9\x18\x5e\x8d\x67\xbe\x6c\x47\xa2\xe5\xad\xc6\x63\xd4\x64\x2c\xc1\x20\x22\x2e\x29\x9f\xe1\x34\xfd\x7f\xcd\x00\xad\xab\xcf\xaa\x64\x2f\xe2\xe0\x8d\xd5\x2e\x2c\x3f\x32"}, -{{0xb6,0xc8,0x8b,0x4c,0x90,0xfd,0x19,0xa1,0x49,0xd3,0x81,0x67,0x19,0x53,0xb9,0xb1,0x6d,0x42,0x8f,0x63,0x61,0xcf,0x50,0x3a,0x11,0x04,0x77,0xe2,0x97,0xf8,0xd2,0xf8,},{0x8e,0xbf,0xb0,0x84,0xf9,0x97,0xb2,0xea,0x79,0x32,0xa2,0x35,0x3b,0x2c,0x8b,0x16,0xbd,0x82,0x5e,0x1a,0xf5,0x87,0xa8,0xeb,0xc5,0x1a,0x6c,0x45,0xae,0xa3,0x43,0xae,},{0x74,0x47,0xa2,0x01,0x81,0xb0,0x2c,0xf1,0xb6,0xad,0x52,0x95,0x69,0xce,0x43,0x7c,0x2a,0x05,0x08,0x11,0x6f,0x50,0x20,0x5c,0x41,0xe6,0x37,0x8b,0x74,0xfe,0x2f,0xc5,0x36,0x30,0xaa,0x0d,0xc4,0xb8,0x0c,0x31,0xcb,0x26,0xc8,0xf0,0x9b,0xf8,0xfa,0xb2,0x7e,0x3a,0xbc,0x8f,0x1f,0x60,0x4a,0x5e,0xc0,0x66,0x31,0xa8,0x4f,0x6f,0x2e,0x06,},"\x7f\x4b\xf4\xf5\x21\x73\xef\xf0\x72\xf8\x18\xd0\xaa\x97\xe6\x93\x5d\x8b\xac\xcf\x48\x39\x66\x32\x53\xb2\x41\x4f\xe6\xb1\xf3\x4c\xf4\x3a\xb1\x20\x15\x5a\x1a\x3a\xea\x7b\x48\x19\xdd\xd1\x03\x16\x73\xb8\xa7\xa6\xbd\x0b\x9d\xda\x4a\xde\xfe\x69\x2a\x56\x16\x2c\x64\x61\x80\x79\x42\x64\xc5\x12\x21\x15\xeb\x90\xa6\xd3\x05\x4f\x08\x43\x02\xdc\xe3\xd8\x36\xac\x3d\xe8\x20\x63\x8b\xd8\x9a\x86\xbf\x0a\x4c\x01\x54\x7c\xfd\xc5\x43\xd6\x76\xfe\x16\x39\xef\x72\xc5\xb8\x45\xc4\x94\xe0\x78\x14\xce\xc8\xa4\x7d\x03\xdf\x73\xbe\x4e\x33\xc0\x5a\xfe\x9a\x19\x0d\xda\x04\x33\x60\x49\x6b\xe4\xcf\x3a\x63\x19\xda\x9a\xb0\x64\x81\x67\x7f\x1a\x43\x74\xd6\x0d\x3d\x3b\x63\x94\xf8\x84\x3c\x86\x9b\x0f\x41\xa1\xe8\x1c\x2b\x1a\x54\xbf\x5a\xac\xbd\x98\x20\x7c\x8d\xba\xcb\x36\x42\x2a\x3a\xa0\x13\xd5\xe8\x49\xe0\x44\xaf\x92\x85\x45\xc0\x46\x09\x7c\xaf\x14\x9d\x97\x02\x15\x11\x5d\xea\x0b\x5a\x85\x40\x1f\xf6\x72\xe0\x2e\xd4\x0b\xd0\xf5\xa4\x40\xcd\x56\x49\x40\x53\xc8\x96\xc3\xbd\x32\x60\x63\x49\xf7\xcb\xe7\xec\xe2\xa2\x23\x0c\xf2\x36\xda\xc5\x9f\x78\x17\x96\x5f\x3f\xa8\x0f\xb4\x8a\xa3\x0b\x0b\x19\xef\xa9\xa9\x65\x91\x64\x6b\xd2\x5e\x67\xc1\x85\xf7\x7e\x21\xd6\x63\x0b\x28\x8d\x4e\x55\x14\x6b\x2a\xbc\x15\xe9\x50\x88\xd9\x36\x08\x07\x75\x61\x81\x54\xbb\xdd\xa1\x15\x70\x2a\x2a\xfd\x6f\xd5\xf5\x6b\x92\x3e\x18\x88\x33\xec\x44\x89\x44\xd3\x02\x83\xe3\x37\x25\x42\x42\xc5\x81\x2d\x72\x45\xa4\xe9\x26\x70\xbc\xe3\x54\x6e\xfa\xed\x22\xd2\x74\xe1\xe6\x04\x8b\x5a\x0f\x01\xef\xbf\x89\x5d\xc4\x24\x94\xba\xf1\x74\x71\x85\xcb\x1a\x4b\x88\xfd\xf1\xe6\x09\x9b\xaa\xbc\x6a\x5a\xb5\xa2\x72\x7b\x1e\x24\x87\x89\xd1\x70\xca\xa2\x44\x96\x71\xa8\xf6\xe0\x94\xc1\x13\x32\xea\x0a\xc2\xaf\xe8\x81\x32\xc6\x44\xff\x88\x3d\x0c\x49\x9a\xd7\x6a\x93\xdf\x47\x2f\xa0\x13\xea\xa2\x7a\xb4\xda\xd6\x79\xd2\x51\x1b\x50\x49\xc4\xe9\x8b\xaa\x2e\x7b\x00\xa5\x34\x89\x1e\x29\x02\x65\xed\xb0\x76\xf7\xdc\xa8\xe6\xfe\xf3\xf4\x33\x03\x4a\x16\x57\x5f\x0e\x53\xda\x45\x77\xe6\xb1\x3f\x0c\xb0\xd7\x85\x87\x0d\x0d\x09\x8d\x5d\x80\xf4\x13\xa2\x68\xba\x84\xe0\x43\x1a\x78\x69\x23\x77\x13\x78\xcd\x57\xb8\x19\x22\x58\xe2\x63\x3c\xdb\xe0\x3c\xc3\x16\xa0\x95\x09\x70\x52\x6f\xd3\xe0\x93\x76\xbc\xef\x0d\x03\xb7\x07\x4e\x59\xa5\xa8\x4f\xc6\x4e\x79\x5a\x81\x21\x56\xd9\x60\x56\x76\x50\xbb\x1e\x14\x24\xb3\xcc\x9a\x4d\x99\xd5\x7b\xa8\x58\xdd\x1a\x0c\xad\x35\x32\xe9\x98\x14\x6e\x79\x26\x40\x45\xe2\x8e\xbb\xfd\x75\xa4\x26\xb0\xbb\x85\x1a\x24\x4a\xd6\xbe\x7b\xd5\x76\x5a\xf4\x93\xdf\xc4\x4e\xe3\x78\xcd\x04\xda\xf3\x91\x7e\xef\x2a\x62\x06"}, -{{0x79,0x49,0xa9,0x47,0x2f,0x72,0x5c,0xe7,0xc6,0x8d,0x7e,0xa8,0xfc,0x16,0xe1,0x3d,0x9e,0x0e,0x0a,0x58,0xf5,0x8c,0x24,0xf9,0x22,0x8c,0x88,0xe8,0x02,0x64,0x09,0x0d,},{0xa3,0x70,0xf8,0x28,0x33,0xf8,0x8b,0x4f,0x5f,0x53,0x10,0xb9,0x18,0xe6,0xaf,0x93,0xbb,0x72,0x4b,0xfb,0xdf,0x3c,0x02,0xc5,0x03,0x78,0x0b,0x2c,0x83,0xab,0x6c,0xc6,},{0xe0,0x28,0x98,0xcc,0x7c,0x30,0xee,0x01,0x64,0x82,0x47,0x49,0x7b,0xe8,0xa9,0xc6,0x37,0x85,0x93,0xdc,0x88,0x20,0xbf,0x7c,0x17,0xff,0xcd,0x18,0x11,0x8a,0xf0,0x98,0x79,0xa7,0x69,0xf5,0x39,0xdd,0x92,0x37,0xe9,0x68,0x21,0x16,0x66,0x34,0x99,0x8f,0x94,0x6d,0xa6,0x5e,0x6d,0xba,0xd8,0x27,0x15,0x11,0x66,0x9e,0x2d,0x6c,0xad,0x02,},"\x95\x53\x86\xb9\x2d\xd6\xbf\x92\x60\x1b\xf8\x1e\x84\xd2\x51\x44\xb5\xfc\x0b\xcd\x7d\x23\xc7\x6e\x7d\xeb\x5f\x5b\xa6\x31\x6b\xb6\x1a\x5d\x8e\x74\x18\x5b\x01\x29\x67\xf0\xa4\x43\x8b\x53\x16\x96\xde\xb4\xb8\x10\x10\x89\xe0\xc0\x48\x2a\xdf\x13\xc0\x61\x31\x91\xb9\x77\xf7\x7b\x04\x19\x81\x41\x47\xf5\xda\x64\xa1\xd3\xbe\xb1\x27\x5b\x98\x49\xd1\x29\x7b\xa8\x53\x2a\xe0\xa6\x47\xa8\xac\xe3\x95\xae\x0e\xd0\x0f\x67\x34\x8c\x5e\xe5\xea\x19\xb5\xf1\xc5\xbd\x2e\x62\x28\x18\xe8\xad\xcb\xa3\xc1\x7c\x27\x98\x7e\x4e\x3d\x6d\x91\x0a\x56\xc7\xe5\x14\x9d\x3f\x55\x74\xfc\x06\x00\x9b\xf4\xdd\x3e\x37\xcf\xe3\xeb\xda\x2c\x21\x16\xd3\x66\xdd\x88\xce\x5e\xa7\x2a\xb3\x87\x49\x05\x85\x44\x3b\x08\x6e\x8a\xa3\x8d\x11\xd3\x82\x0b\x72\xc6\x58\xe4\x63\xcd\xb5\x9c\x53\x93\x01\x1d\x4a\x8f\x4c\xb6\xa1\x95\x22\x93\x04\xe7\x62\x39\xfa\x5e\x8c\x2c\xbe\x0f\x39\xdc\xad\x13\x8a\x0e\xcb\x3c\x51\x57\x9e\xc9\xa1\x20\xa5\x16\x07\xee\xfe\xbf\xa5\x9a\x44\x62\x0e\xa5\xb1\x91\x60\x87\xea\x33\x85\x33\xfc\x13\x2f\xf2\xe4\xa4\x3d\x05\x2f\xd0\x8b\x6b\x1b\x24\xfb\x67\x2f\x73\xc9\xb9\xba\x20\xb7\xc1\xc4\x1e\xa2\x4d\x91\x2d\xe9\xb5\x55\xb6\xe5\x68\x2b\x97\x06\x08\xff\x22\x9a\xd3\x08\x6f\x43\x1f\x9b\xe1\x90\xec\x39\x22\x4b\xa2\xed\x8a\xcb\x4c\x8e\xac\x85\x82\xe2\x3a\xaa\x79\x82\x7c\x44\xe2\x48\xc5\xba\x09\x2d\xda\xc0\xf2\xf7\x96\x84\xaa\x93\xfc\x06\x10\x73\xe1\x82\x1a\x56\xaf\xb9\xbf\xec\x95\x2d\xf2\x71\x9a\x9c\x7a\x40\x3e\x6a\x93\xf7\xa6\x56\xd7\x4b\x61\xc1\xd1\x90\x83\xf8\xd3\xf1\x9e\x65\x9f\xa2\xb7\x18\xe0\xbd\x04\xb6\x93\xd6\x3d\xaf\xb8\x6a\xdb\xee\x5d\x87\xc7\x5b\x7d\x12\x91\x22\xf1\x78\xa0\xe6\x69\xeb\x03\x5c\xa4\xd8\xeb\x45\x39\x7f\x18\x51\x26\x4e\x2c\xf0\xa0\xcd\xd3\x07\x20\xc5\xe1\x39\xcd\x6a\x57\x3f\x1f\xa2\x41\xca\xe9\x42\x58\x05\xac\x79\x60\x3e\x8d\xe3\x50\xef\xdb\x0b\x9b\xc9\x5b\xa7\xb0\x85\xc1\xed\x92\xc1\x2a\xcf\x53\xf5\xd4\xa1\x13\x75\x98\x00\x8f\x2a\x36\x72\xc8\x4e\x5f\x76\x9a\x25\xc7\xa4\xa1\x65\x79\xd8\x62\x88\x77\x49\x72\x60\x6e\x4e\x7d\x85\x26\x3a\xd2\x17\xe0\xdb\xcf\x34\x3f\xe5\x54\xc1\x09\xc5\xd9\x40\x9b\x79\x39\x07\x3a\xc5\x5a\x03\x42\x0f\xec\x28\x9b\x11\x4a\x5c\x54\xc2\x0b\x45\xea\x69\x93\x85\x33\xad\xe7\xb3\xae\x85\xe1\xa7\x83\xdd\x97\x89\x7c\x3a\xe8\x25\x41\x83\xcc\x54\x04\x5c\x2a\x18\xec\xbe\x52\x16\x91\xf2\x61\x9d\x9b\x8f\x1f\xb3\x47\xca\x05\x5a\x7b\x0b\x4c\x24\xf6\x4d\x17\x73\xe0\x14\x16\x44\x1e\xfe\x15\x99\x23\x21\x7a\x84\x87\x4b\x9c\x4e\xc2\x65\xcd\xaa\xb6\x43\x90\x80\x68\x49\x78\x12\xc1\xaf\x15\xc1\x88\x07\x1e\x78\xf5\x97\xfe\xdf\xce\x91\xc5\xd4\xc6"}, -{{0xd6,0x8a,0x5e,0x3c,0x47,0xee,0xdb,0x30,0x99,0xdf,0xfc,0x80,0x4c,0xf1,0x9c,0x5e,0x74,0xbf,0x7b,0xf5,0xf0,0x1f,0x54,0xd4,0xd9,0x1d,0x75,0x74,0xf3,0xd3,0xdc,0x7c,},{0x46,0x46,0x7f,0xe9,0xce,0x3a,0xcf,0xd0,0xd7,0x43,0x46,0xbe,0x21,0xc4,0x62,0x16,0xdb,0x81,0xae,0xce,0x6c,0xe0,0x30,0x8f,0xb8,0xdc,0x63,0x86,0xfc,0x34,0x46,0xcf,},{0x89,0x6f,0xc3,0xca,0xba,0x7f,0xd3,0xfc,0x28,0x5d,0x5e,0xdd,0xdd,0xc0,0x12,0x0c,0xd4,0x6d,0xa7,0xc6,0xef,0xab,0xe6,0x6b,0x15,0x0b,0x00,0x27,0x60,0xb8,0x41,0x4a,0x89,0xac,0x9e,0x7f,0x1f,0x7b,0x7c,0x7b,0x33,0x59,0x8f,0x61,0xf4,0x57,0x18,0xe4,0xff,0x4a,0xc3,0x68,0xff,0x12,0x96,0x14,0xb4,0xfe,0x92,0x19,0xf2,0x37,0xb0,0x09,},"\x59\x6c\x03\xd0\x87\x3f\x57\x2f\x45\xc3\xb1\x6f\x0e\xf4\xb5\x2a\xd2\xbf\x59\xec\x76\xd3\xc0\xe5\x34\xd6\x2c\x1f\x84\x16\x4d\xda\xa4\x25\xfb\x85\xc9\x54\x84\x85\xb7\x06\x46\x77\xe9\x9d\x04\xc3\x9b\x6e\xba\x04\xc9\x66\x39\x7b\xa6\xa5\xf4\xeb\xaa\x69\xa2\x41\xdf\x95\xa6\xe4\x45\x02\x50\x9d\x63\x50\x55\x7e\xbf\xea\x60\x26\x4b\x62\xad\x7f\x74\xd1\x6e\x5d\x25\xd4\x59\x70\xcf\xeb\xeb\x33\xe7\xb1\xba\xc3\x34\x8d\xd0\x3a\x8e\x99\x13\x3b\x26\xbb\xfd\x7a\xa7\x22\xc2\x58\x7f\x72\xd5\x52\x6e\x98\x0d\xa9\xee\xbd\xf1\x08\x21\x1d\xae\x50\xbb\xe8\xc6\x5f\x9a\xbe\xe6\x9a\x1b\xbf\x84\xc0\x3e\x40\x44\x8b\xab\xad\x03\xd3\xcf\x3b\x7d\xe4\x88\x7d\x2b\x47\x73\x77\x02\x79\x64\x82\xd2\x26\x5c\x56\x6b\x0f\x62\x3b\x53\xc8\x67\x1b\xd3\x71\x9e\xde\xc0\xff\xd5\xf4\x9b\x49\xb0\x72\xc1\x56\x4a\x57\xf9\xba\xb6\xb9\x2d\x1f\x06\x8d\x75\x66\x39\xa4\x33\x14\x52\xe6\x1a\xa7\xb2\x18\xa8\x8b\x9d\xb7\x7a\x19\xfb\x82\xf1\x3e\x98\x68\xed\xb7\x98\xd5\xbe\xec\xa5\x5d\x1a\xb0\x95\xb3\x16\x22\x5f\x3f\x63\x90\xf8\x95\x78\xf0\x16\x04\x28\x74\x7b\xcd\x21\xbe\x6a\xe1\xd8\x69\x91\xb4\x8e\xf8\x0d\x56\x92\x50\x85\x8f\xeb\xf3\x27\x6b\xd5\xde\x3d\xb6\x5a\x24\x5c\x8b\xdc\xf1\x48\x8c\x48\x25\x96\x89\x45\x78\x6b\xed\x63\xf3\xd1\x3f\x14\x09\x36\x3b\x94\x85\x60\x47\x68\x58\xb3\x96\xbc\xe5\x88\xe4\x0b\x31\x1d\xdf\xc2\x2a\xd6\x22\xca\x7d\x1e\x69\x56\x14\x64\xdd\xa5\x00\x9e\x63\x8a\xa5\xec\x9f\x4c\x03\x92\x93\xaa\xec\x75\x00\x1f\xfc\x68\xa7\xcb\x3a\xe0\x18\x74\xdc\x7f\x39\xd7\x50\x27\xf5\x9a\x28\x96\x5f\xc1\x95\x30\xc0\x75\x2f\xe9\x9b\x15\x3d\xa7\xc0\xe5\x42\xbd\xa7\x6c\xa1\xe1\x0b\x7e\xa1\x58\xef\xb4\xd8\x21\xfb\xc6\x5e\x72\x71\xad\x99\x41\x09\x53\x15\x44\x7a\xbc\xad\x08\x80\xa0\x07\x5d\xd0\x4b\x13\x25\xc7\x26\x33\xac\xbc\xb2\x61\xfc\xb4\x07\xc2\x64\xa3\x4d\x70\xbf\x1f\x04\x4f\xee\xad\x06\x9a\xf5\xa8\x7d\xd3\x52\xf4\xbd\x81\x10\xfa\x17\x8a\xdb\xd8\xdb\xf2\x3c\x6b\x57\x5c\xdd\x5d\xf2\x2c\xc9\xa5\xcd\xd3\x7d\x9c\x8f\xaa\xb8\x1a\x4c\xb3\xfb\x5c\x4f\xe7\xff\x62\x9d\xba\xa9\xfc\x06\xb8\x0c\x1f\xb6\x91\xc2\x86\x55\x95\x5c\xfe\x5c\xa4\x41\x49\xb1\x50\xb3\xcf\x14\x0d\x9a\xca\xcb\x14\x31\x3a\x72\xc8\x40\x98\xde\x72\xba\xcc\x02\x72\xd7\x9e\xd6\x61\x7f\x72\xde\xc8\x8e\x19\xb8\x44\x25\x49\x2a\x42\x9e\xc6\xd2\xec\x08\xb8\x63\x46\xdf\xbf\x20\xea\x2a\x36\x19\xe7\x7b\x6a\xc6\x42\x30\xeb\xe2\x5f\xa0\x06\x7a\xbb\x5f\x33\xee\x49\xad\xc7\xc4\x4b\xda\x70\x46\xd7\xf2\x24\xf2\xe7\xa4\x89\x56\x83\xfc\xa8\x68\x4e\xd6\xa0\x31\x84\x4f\x57\x86\xbc\xda\x48\xb5\x04\x23\x94\x48\x7b\x52\x40\x2a\x09\x90\x77\x88\xa1\xe1\x40"}, -{{0x31,0xe8,0x2b,0xc1,0xcc,0x5c,0xed,0x21,0xcd,0xc8,0xbf,0xc2,0xdb,0xbb,0x97,0x6b,0x08,0x78,0x0a,0xfc,0x69,0x44,0xaf,0x7e,0x88,0xe5,0x0e,0x67,0x87,0x4d,0x84,0xf1,},{0x8d,0xf9,0x77,0xe2,0xb0,0x40,0xac,0xeb,0xd3,0xda,0xfd,0x67,0xb8,0x7f,0x92,0x16,0xe8,0xc3,0x71,0xbe,0xce,0xd6,0x18,0xfe,0xf3,0xa4,0x96,0xd6,0x51,0xa5,0xd7,0xb5,},{0x24,0x07,0x02,0xac,0x6c,0x68,0xd5,0x97,0xd2,0x22,0xda,0x94,0x9d,0x0c,0x47,0xd1,0x6b,0x39,0x0a,0x47,0x7d,0x1f,0xb5,0x79,0xe9,0xd8,0x94,0x8a,0xdf,0x9b,0x3b,0x6a,0x7f,0xd4,0x45,0x8a,0xe6,0x38,0x5b,0x7e,0x2b,0x68,0x4a,0x05,0xb5,0x5c,0x63,0xfa,0x6c,0xd0,0x87,0xbb,0x90,0x11,0x3c,0xba,0xb8,0xe4,0xaf,0x14,0x2f,0xcf,0x81,0x0e,},"\x69\xd4\x61\xb6\xb7\xa8\x66\xe9\x4c\xd5\x9a\x5a\x23\xbb\xa4\xa1\x27\x66\x02\xf0\x42\xba\xa8\x50\xd5\xb2\x92\x49\xd6\x74\x3a\xda\x04\xd3\xd9\x38\x21\x9a\xbb\xc2\x2a\xda\x66\xa1\x77\x81\x97\xf7\x0b\xf8\x0b\x59\x7a\x8b\x4a\xe0\x0b\xdb\x87\x68\x12\xd3\xab\x4e\xc0\x11\xdf\x73\x34\x1c\x85\x05\x3e\xeb\xcc\x2d\xf0\xac\xfc\x21\x54\x82\x83\xb5\x53\xec\xde\x01\x54\x82\x8e\xd5\xaf\x47\x57\x19\x85\xf8\x97\x67\xb0\x05\xb6\x22\xc9\xe7\xc0\x79\xdd\xe6\x94\xe4\x9d\xc0\x55\x0c\x79\x18\xcc\x51\x5c\x27\x4d\xbd\x9c\x54\x69\xd2\xf1\x8e\xcd\x90\xde\x66\x4e\x03\xca\x41\xe5\x3b\xe2\x0b\x96\xe2\x5a\xf4\x0c\x54\xab\x0f\x7c\xbe\x9e\x05\xca\x3f\xa5\xa3\x7c\x1a\xa8\xeb\xfb\x64\x44\xa3\x2c\x49\x6e\xfc\x68\x15\x7c\x69\xf3\x58\xc1\x5f\x6a\xc0\x9d\x46\xef\xef\x9a\x68\x5d\xf7\xe8\xdd\x63\xb3\x04\xbd\x3c\x63\x8c\xcf\x53\x2f\xe9\x01\xf1\x1c\xf9\x7c\x5b\x1c\xbe\xd3\x3c\x70\x63\x7c\x72\x1b\x02\x89\xad\xf6\xbb\x6d\x87\xc3\x04\x79\xfa\x92\x6e\x04\x30\x74\x30\x2b\x76\xf1\x15\x7d\x0a\x81\xde\xc4\x93\xe8\x7a\x3c\x64\x3e\x7a\x20\xb7\xa4\x15\x25\xa3\x8d\xb0\x4e\x78\xda\xe5\xe7\x79\x70\x66\xbf\xae\x2c\xf4\x48\xa4\x47\xe9\x00\x4c\xce\x8e\x41\xf0\x98\x79\x91\xfa\xd3\x03\x11\xdd\xaa\x45\x9a\x26\x44\xf4\xb9\x41\xc0\x68\xc0\xd6\xc0\x77\x1a\xfc\xf4\x2b\xf9\x13\x9a\x68\x4d\xa2\x98\x48\x6e\xcf\x67\x52\x3b\xf8\x50\x9a\x45\xba\x5c\xb8\xb3\x86\x4a\xd2\x2c\x0c\x6a\x82\x8c\x6d\xb7\x2e\x37\x1d\xe4\x10\xb4\x7d\xac\x49\xae\x9d\x3b\x57\x02\xb1\x73\x9b\x8d\x76\x0c\xe9\x86\x11\xc0\x7d\x88\xdf\x5f\x04\x68\x38\x08\xa2\x1a\xfc\x2e\x61\x71\x3f\xc2\xc0\x25\xcb\x25\xfc\xc4\xee\x94\x18\x41\x08\x3b\x22\xf6\x1e\x26\x56\xfb\x3b\x8d\xad\x41\xc2\x62\xc8\x9d\x2f\x17\x61\x03\x09\xf2\xd5\xc2\x95\x89\xa2\xdf\x61\xe5\x51\x49\x89\x50\x32\xca\x98\x1e\x45\x57\xe1\x30\xa2\x37\xfc\x08\x26\xfc\x87\x25\x29\x86\x1b\xbb\x83\x28\xd6\x73\xf3\x9b\x58\xb7\x3d\x06\x0e\xc5\x96\xbf\x22\xe7\xee\x08\x1f\x44\xe9\x2c\x02\xa5\x67\x76\x79\x52\x0e\x2a\x2b\x4d\x22\xc7\x7f\x2b\x21\x2d\x5a\xaf\x05\x0b\xf2\xc1\x41\xe3\xe2\x8b\x85\x71\xd4\x32\x19\x37\x42\x62\x35\xc7\xa6\x46\xd6\x47\xe3\xef\xe1\x83\xc2\x7b\x74\x92\x56\x5e\xca\xcd\x7f\x43\xc6\x7a\x74\x45\x3f\x47\x80\xe8\x87\x11\xba\x2d\xd4\xa3\x94\x1b\x12\xdd\xd3\x90\x92\x70\xfb\x3d\xeb\xd4\x22\x43\x6a\xb6\x16\x6f\x08\xc9\x9c\x88\x6c\xc0\xe8\xe3\xce\xcd\x06\x42\xe4\x42\x85\xb8\x86\x4a\xa4\x16\x94\x3c\x5a\x18\x69\x74\xf4\x64\x53\x5a\x87\x0a\x01\x28\x61\xbc\x2e\x58\x71\x49\xca\xe9\x71\x62\x4e\x61\xc3\x1d\x8a\x50\x7e\x3a\xd8\x27\x73\xe7\x23\xbc\xb7\x5d\xf5\x4b\xef\x84\x7a\x40\x7b\xcb\x7b\x1d\x57"}, -{{0xcc,0x56,0xbc,0x7c,0xdf,0xa6,0x11,0x92,0x4e,0x72,0xb0,0x7f,0x68,0xab,0xc6,0xca,0x5b,0x85,0xff,0x8b,0xba,0xcd,0xff,0x40,0x6e,0x51,0xba,0x72,0x0d,0x09,0xa8,0x66,},{0x5f,0xfe,0xe2,0x21,0xab,0x4d,0x0f,0xe6,0xf4,0xc9,0x34,0x6c,0x5e,0x5a,0x4b,0x8a,0x63,0x6a,0x6a,0x0b,0xad,0xce,0x96,0x67,0xbe,0x73,0x9f,0x4c,0x9e,0x67,0x33,0xc1,},{0x9b,0x86,0xa1,0x92,0xb6,0x4f,0x4f,0x04,0x4f,0xfb,0xf8,0x7b,0x41,0xc7,0xee,0x52,0xf7,0xa7,0x21,0xaa,0x32,0x0e,0x7b,0xad,0x64,0x25,0x99,0x59,0x90,0x31,0x5c,0xdd,0x50,0x2b,0xe4,0xe1,0x11,0x60,0x19,0xd1,0x31,0xa9,0x21,0x8d,0x19,0x61,0x4a,0xd9,0x55,0x43,0xb1,0x88,0x9a,0xf0,0xa9,0x7e,0xd4,0xd2,0x56,0xdc,0x33,0xd7,0x6e,0x08,},"\x08\x83\x04\xf2\x2e\x1a\x28\x60\x62\xde\xfb\xeb\xb1\x82\x7a\x64\xb7\x6a\x14\xe8\x70\x15\xe7\xf6\x46\x17\x87\x77\xab\xa7\x97\x04\x68\x8d\x7b\xf3\x2e\x1e\xfa\xc9\x7a\x9f\xc3\x39\x81\x0e\xbd\x3d\xf9\x3e\x4e\xa0\x24\x68\x69\x53\xed\x91\xfa\x6d\x2a\xb6\xe0\x7e\xc7\x81\x1a\x6d\x91\xca\x91\xb0\x98\xdb\x47\x25\xdf\x65\x84\x6a\x95\xb8\x08\x63\x5a\x8d\x0c\x5f\xe5\xac\xe2\x5f\x07\x80\xe8\x96\x17\x7b\xc1\xbb\xa1\xcd\xb4\x44\x92\x51\xc0\x1b\x48\x2f\x02\x38\x62\xf8\x8e\x07\x2e\x79\xcd\xe5\xdb\xd6\xc1\xd9\xad\x9c\x07\xc6\x06\xf5\xdf\x85\xa6\xec\xa2\x96\x6c\xbf\xe0\xa1\x67\x39\x68\x11\x2f\x26\xa3\x17\x05\x3f\x16\x7f\x61\x1a\xf2\x97\xef\xa8\x02\xe0\xa9\x4b\x3e\x1f\x33\xa2\x7b\x73\xe5\x59\x7a\xbb\x22\x41\x15\xeb\xe7\x5e\x29\x4a\x1b\xcd\xcd\x97\x92\x55\xb0\xa8\x02\x65\xc0\x89\xaa\xa7\xd6\xbe\xd2\xe3\xd0\xc9\x18\xf5\x6f\x4a\x55\xf4\x48\xd8\x63\x36\x5c\x6c\x58\x46\xfb\x9b\x2b\x9b\xb5\x5f\x6b\x7c\x6d\xff\x58\x47\xb7\x1b\xfd\xd4\xbb\x5b\x9b\xb2\xe4\x24\x9b\xc0\x24\x3a\x02\xab\x4d\x22\xba\x78\xa4\x3d\x18\x21\x95\xae\xd7\x8f\xec\xe8\x4c\xb1\xdd\xae\xb9\xef\xf6\x81\x56\x04\x5b\x29\x32\xe6\x38\xd7\x73\x1d\x0e\x8b\x4c\x9c\x8c\x38\x3b\x0d\x6d\x39\x2d\x21\xfc\x64\x07\x62\xc8\x7d\x36\x92\xb1\x81\x0b\xcc\x4a\x42\x39\x2f\xf1\x3d\x45\x16\x9e\xcb\xf0\x13\x50\x55\x09\x31\x05\x09\x8c\x86\x9b\x68\x88\x7e\x93\x4e\x2b\x9d\xa5\x23\x2a\xc6\xc9\x37\x38\x00\xf7\x0b\x64\xec\x64\xa4\xaa\x0c\xa0\x44\xc0\x77\x7c\xa3\xa3\xac\xaa\x13\x8c\x14\x24\x96\x72\xa5\x5b\x24\xdd\xfe\x4d\xc3\x57\x57\x32\x41\xe1\x4a\xd0\xac\x16\x47\x5a\x8e\x38\x67\x88\x6d\x41\xee\xa3\x5f\xe7\x93\x2b\xa9\xae\xaa\x0c\x86\xc9\xeb\x6d\xb7\x80\x80\x49\xad\xe7\xb5\xcc\x1a\x40\x82\x2c\x66\xde\xa9\x3a\xd2\x2d\x44\xb9\xe4\x29\x04\xb5\xb8\x36\x84\xae\x29\x31\xfe\x36\xc6\x08\xff\x70\x96\xf1\xb0\x9f\x81\x1b\x02\x67\x28\x04\x40\x6e\x08\xed\x9e\x77\x45\x67\x6c\xe0\x47\xf0\xf7\xf6\x47\x08\xe4\x9b\xb7\x87\x54\x72\x0b\x8a\xa2\x26\xf5\x55\x6a\xbf\x05\xb5\x65\x84\x64\x52\x92\xda\xd0\x8e\x24\x73\x63\x9a\x8c\xe5\x47\x5e\x0c\xe9\x19\x2f\x8b\xa2\xdd\x32\xce\x14\xc9\x19\x75\xab\x60\x2f\x7c\x13\x53\x8c\x52\x95\x2d\x03\x96\x15\x8c\x7c\xc6\xb9\x42\xbe\x7d\x92\x3e\xeb\x52\x3a\x73\xb5\xb4\x11\x96\x6d\x14\xac\x96\xe5\xb0\x96\xa5\x29\x32\xa4\x16\x29\x2e\xcc\xdd\xb9\x10\x71\xc8\x85\x60\xe7\x0e\xcd\x4f\xe2\xfe\x24\xd5\x23\xfa\xfc\xb9\x8e\x40\x21\x50\x2f\x41\x90\xa0\x51\x5e\xdc\xb2\x40\x19\xea\xca\x09\xec\x26\x15\xa9\xbf\xde\xb6\x0e\xb3\x54\xc8\x4a\x1f\x3c\xec\x7f\xfd\x7e\x65\xa5\x51\x5d\x47\x95\x9a\x4c\x4e\xc4\x8d\x80\x21\xb1\x75\x4a\xe2\xbf\x84"}, -{{0x7a,0x57,0xf2,0xdd,0xa0,0xad,0x03,0x38,0xab,0x9a,0x13,0xc9,0xa3,0x49,0x7e,0x9c,0x75,0x23,0x8c,0x15,0x31,0x58,0x97,0x89,0x22,0x7c,0xd2,0x74,0x9b,0xc6,0xe9,0x50,},{0x6f,0x73,0x8d,0xc5,0xe7,0xd9,0xe2,0x40,0xc9,0xf4,0xd0,0xc0,0x6a,0x5e,0x02,0x17,0x47,0x56,0x8b,0x69,0xa7,0x5d,0x50,0x7a,0x2e,0x0b,0xe7,0xea,0x61,0x35,0x26,0xc5,},{0x98,0x91,0x23,0x76,0x1d,0x93,0x56,0x32,0x78,0xfd,0x0a,0x78,0xae,0xd6,0x4e,0x2d,0xe6,0xf4,0xa7,0x00,0xfc,0x9a,0x70,0xd2,0x18,0x77,0x48,0xac,0x06,0xd9,0xc2,0xc3,0x77,0xd1,0x99,0x5f,0x89,0xc7,0x72,0x7f,0xe2,0xf1,0x20,0x78,0x4e,0x41,0x71,0xc4,0x2d,0x63,0x53,0xac,0x3d,0x4e,0x3f,0x62,0x0c,0x63,0x9c,0x75,0x78,0x6c,0x46,0x0a,},"\x8c\x85\x75\xa1\x1d\x2f\xf2\xc2\x38\xe4\x19\xcc\xb0\x06\x33\xd0\x4e\x8b\x8b\xd7\x74\x29\x01\xd5\x88\xdd\x6a\x2f\x00\xaa\x12\xf0\x8a\xe4\x1d\xca\xa9\x33\x8f\x8c\x47\xe9\x53\x12\x19\x2c\xf6\xb2\x45\xa0\x0c\xe6\x88\xa0\x29\xda\x56\xdd\x1b\x1d\xeb\x0d\x34\xb5\x41\x4f\xe1\xc2\x1d\x6b\x63\xd0\x6b\x85\x34\xac\xe8\xe8\x66\xc9\x33\xfd\x7c\x5a\x65\xed\xa9\x5a\x17\x37\xa9\xec\xdb\x17\x85\x91\x49\xac\x69\x69\x51\xb8\x2c\x23\x0e\x82\x75\xe9\x6d\xd0\x2f\xd4\x55\xea\x67\x53\x79\xe6\x7b\xa6\x34\x84\xb6\x28\x38\x31\xfe\x3f\xfe\x52\xd6\xec\x49\xb7\x09\x10\x67\x05\xc9\xd1\x9b\x85\x9d\xe9\xfd\x20\x08\x87\xcb\x44\xd8\xfd\xfe\x69\x61\xfa\x4c\xa2\x34\x09\x44\xc7\x64\xc7\x04\x49\x12\x08\x25\x7e\x73\x54\x82\xaf\x8c\xb6\x90\x41\xdd\xe6\x85\x24\x1d\x3f\xbf\x46\xfd\xa0\x57\x24\x8b\x89\x87\xbe\x1f\x80\xb5\x4e\xb5\x40\x09\xf3\x24\xdc\x45\x0e\x88\x6e\x79\xf9\x12\x58\x5b\x91\xc9\xdf\xaf\xe9\x01\x22\x62\xc4\x71\x40\x3b\x1e\x8b\x5c\x31\xfc\x53\x75\xa1\xdd\xf9\x9b\x68\xed\xf9\xed\x70\xaf\x85\x94\xf7\xd8\x4b\x2c\xc4\x91\x1f\xe9\x05\x00\xc6\xee\xbf\xba\xc0\x85\x55\x35\x50\xe3\x5b\xd2\xe5\x25\x14\xe9\x79\xe7\x24\x1e\x9f\x8e\x34\xcd\xf8\x51\x3a\xbe\x72\x51\x0d\xff\x3c\xfe\xc7\xe2\xbc\x64\x88\x64\x1c\xfd\x0a\x65\xae\x0e\x09\xeb\xe9\x9b\x15\xb2\x9d\x45\xea\x67\xa5\x7a\xad\x55\x4d\x4f\x8b\xfc\xe1\x38\x6a\xce\x22\x88\x39\xe3\xa8\xa5\x34\x14\x0e\xec\x3d\x37\xd5\x1b\xe3\x61\xf5\xea\x18\x83\x73\x9f\x56\x61\x5f\x75\xb0\x55\xa0\x6a\x91\x47\x1b\xe9\x8b\xc9\x45\x37\x83\xc3\x58\x38\x2b\xd0\x55\x5a\xe9\xeb\x0b\xdc\xd6\x66\x29\xa6\x11\xfc\x1a\x11\xc6\x53\xc8\x22\x14\x58\x7d\xec\x12\xba\x12\x0e\x25\x13\x07\x0f\xe6\x9e\x98\x2f\x7a\x80\xad\x15\x9f\x6a\x32\x5d\x97\x7d\x01\xd0\x50\xd1\x16\xa6\x2a\x4f\x8a\xca\xb6\xc3\xd6\x9f\xf6\xc8\x78\x21\x3c\x60\xa9\x48\x45\xca\xe1\x06\xde\x6c\x5d\x6f\xe2\x50\x8d\x94\x56\x5b\x7b\xa7\x5d\x58\xd1\xad\x47\xd7\x6a\x20\xde\xfa\x75\x68\xcb\x7f\xd6\x6f\x57\xcf\x37\x74\xa2\x1d\x3f\xfa\x7d\x8a\xa6\xd8\x6d\xc2\x84\xb7\x0e\x0f\x17\xe7\x63\x0b\xfc\x10\xcd\x1f\xc9\xa8\xd9\xc5\x92\xd3\x9f\x24\xa7\xb5\xc8\xe8\xaf\xf3\x53\x57\x7e\x6a\xc9\x00\x86\x90\xc7\xa1\x59\xa7\xe8\x3b\xe5\xa6\xae\x8f\xca\x96\x44\xbd\xdf\xa3\x7a\x92\xb0\x70\x55\xf9\xfa\xc9\xfa\x97\xfb\x3e\x8f\x5f\x4d\x91\x7d\xda\x5c\x6d\xc6\xea\x34\xb6\x4d\x30\x24\x05\xbc\x38\x06\x2e\x07\xce\x93\xa1\xa8\x8a\xed\x5f\xba\xf9\x95\xa0\x9b\x45\xb2\x8a\xd4\xa6\xb2\x73\xde\xc1\x41\x3c\x54\x04\x52\x9d\x82\x5b\x5e\xdc\x2e\x27\xa3\x90\xeb\x7e\x8c\x2b\x43\x90\x5e\x11\x6d\x88\x7a\xb5\xfb\x99\x3d\xfe\x15\x0e\xbd\xcf\x81\x7a\xe6\x2e\x03"}, -{{0x32,0xef,0x6d,0x78,0x9a,0x1e,0xa3,0x93,0xf1,0xbf,0x9f,0x11,0xde,0x34,0xf5,0x7d,0x65,0x3c,0x4e,0x77,0xd5,0x1e,0x60,0x50,0xfe,0xf4,0xe8,0xd7,0xbf,0x18,0x3d,0xb5,},{0xc1,0xaa,0x18,0x1e,0x62,0x0f,0x60,0x52,0x5c,0x2b,0x17,0xda,0x8d,0x29,0x0b,0xae,0x5d,0x33,0x9e,0x17,0xea,0xbc,0xea,0xb5,0x8c,0xd7,0x6a,0xe0,0x66,0xf4,0x11,0x79,},{0x88,0xf3,0xa6,0xe0,0xbb,0xaa,0x3e,0x06,0x0b,0xc9,0xd9,0x1f,0xe2,0x96,0x8c,0x61,0x12,0x6b,0x20,0x31,0x7f,0x59,0x84,0x2e,0x4a,0xe4,0x87,0x11,0xcd,0xba,0xf6,0x2c,0x6c,0x02,0x07,0x40,0x5d,0x1c,0x48,0x49,0x95,0x02,0x71,0xf0,0xaa,0xa7,0x59,0x30,0x91,0x10,0x9e,0x47,0x8d,0x13,0xf3,0x56,0x96,0x4f,0x7d,0xba,0xb7,0x29,0xaf,0x00,},"\x11\xa9\xc3\xc1\xba\x7c\xfb\x61\xad\x10\x33\x05\xc2\x58\x86\xde\x9f\x88\x15\xc6\xc2\x1f\x17\xa8\x73\x3a\x02\x4f\x94\x97\xda\x05\x40\xdb\x36\x03\xa6\x71\xaa\xe8\x37\xdb\xbb\xa1\x9e\x19\xf8\x2d\xdf\xc8\xaf\x85\x59\x80\xa7\x01\x25\xfc\x61\xcd\x7f\xfd\x10\x77\x7e\x36\x6e\x5e\x95\x69\x92\x7a\xf0\xf2\x45\xd4\xf3\x9b\x3f\xd0\xf4\x58\x79\xc2\x53\x40\x14\x12\x85\x5e\x57\x61\x90\x5e\xd6\xef\x31\x8b\x6a\x06\xea\x6e\x9f\x90\x6f\x9b\xd0\x16\xbc\xb6\x94\xa0\xdf\x65\xa0\x16\xbd\xfe\x84\x5a\x09\xf2\x3e\x50\x86\xc5\xaa\xf3\x75\xef\xeb\x86\xda\x51\x23\x9d\xdc\x35\x0b\xac\x0c\xdb\x03\xb8\x74\xdb\x15\x07\xe6\xad\x4e\x2c\x9f\x46\x02\x8c\xa2\x38\x83\x63\x54\x14\x93\xb6\xcb\x92\xc1\xdf\xca\xa3\xef\xd6\x8c\x6b\x4e\x91\xef\xb4\x67\x51\xd2\x3f\x4c\x48\xa9\x73\xf0\xa5\xc7\xc6\xfe\x2a\x12\x69\xd2\xa6\x9e\x9f\xc4\xab\x8b\xa3\xb9\x2f\x79\x64\x49\xba\x3d\xc7\x02\x45\xed\x50\x5c\xc0\xee\xee\x16\x36\x64\x7a\x68\xc7\x67\x9d\x0b\x6d\x65\x1b\xba\x35\xc2\x9b\x81\x47\x8d\x17\xca\x36\x85\x70\x7a\xd6\x16\xe6\xe5\x60\x43\x81\xf8\x4e\xe5\x2b\x25\xad\x02\xfc\x0d\xfb\x85\x43\x2e\xfb\x1f\xec\xd0\x90\xc0\x2a\xd0\x02\xc1\x85\x7f\xce\xd8\x8f\xdf\xb2\xff\x26\xdd\x0f\x50\x18\xfb\x47\xd8\x13\x58\x1f\x65\x08\xca\x63\x7c\x73\x65\x17\x7c\x51\x3d\x1e\xe0\x58\x79\xa6\x5c\x5b\x67\x6b\x3a\xa8\x73\xa1\x93\x5c\x54\x37\xea\xdc\xb6\x6d\xfb\x05\x2a\x5e\x7c\x3e\x81\xd4\x4b\x3d\xaf\x69\x8f\x42\x24\x4e\xe2\xee\x4b\x6e\xd2\xb7\xe6\xe5\x6e\x61\xff\x9c\xb4\x5e\x71\x9f\xd7\x46\x19\x8b\xf2\xa7\xde\x6d\x25\xaf\x3b\xc6\xc7\xb0\xed\x8a\xbe\x3c\xb3\x89\xaf\xd8\x4f\xfa\x2a\x23\x0d\x93\xbc\x0c\x29\xd5\xa9\x41\x9c\xbf\xf1\x1b\x78\x83\x32\x99\x21\x48\x0b\x58\x44\x65\x5d\x99\x6c\x7c\xab\x29\xdf\xb2\xa3\x92\x7b\x82\xba\x7c\x30\x6c\x45\x77\xb6\xf8\xb5\xdb\xe2\xaf\xaf\x9b\xf1\x4a\x8f\x95\x54\xcd\x01\xa6\x9a\x99\x1b\xf2\x12\x82\x8d\xe1\xe6\x31\x72\xe8\x33\xde\x06\x69\x8c\xdb\x3b\x28\x71\x63\x80\x31\x45\x72\xbf\x5b\xcf\xd3\x4e\xf5\x2a\x6f\xad\xda\x87\xba\xbe\x6b\xac\xdb\x20\xce\x63\xc7\x25\xcb\x0f\xf6\x1f\xe3\x0c\x1b\x51\xdb\xda\x2c\x26\x25\xf9\x9d\xfe\xb0\x29\xa3\xe5\x8c\xba\x7d\x01\x90\x51\x11\xca\xf4\x2f\x27\x02\x5e\x72\x0e\x18\xee\xb0\x7d\xae\x91\x55\xc5\x5a\xa3\x00\xe2\x2e\xb5\xe9\x4d\xc7\xa0\xa8\x4e\xe6\x7d\x91\xa9\x60\xae\x08\xca\x63\x2d\xbb\x17\x37\xfc\x9a\x43\xdb\xcf\xb3\xa8\x79\xeb\x9f\xbf\xfd\x72\x99\x33\x8e\x26\x4b\xc1\x23\x7a\xb6\xa5\xbc\x2a\x26\x3c\xfa\x99\xe8\x54\x44\x39\xd9\x63\x31\x63\x9f\xe9\x40\x8e\x54\xa3\x50\x61\x0f\xf0\x1d\xe3\xf8\x57\x99\xad\xeb\x73\xd8\x2b\xe9\x38\x07\x4d\xea\x85\x8e\xa6\x36\xb6\x3a\xbd"}, -{{0x0a,0x55,0x25,0xa4,0x59,0x8f,0x60,0x99,0x2f,0x86,0xba,0x1a,0xb9,0xee,0xe6,0xe2,0x67,0x56,0x22,0xf9,0x43,0x28,0x4f,0xc0,0x55,0x3e,0x44,0x46,0xac,0x5a,0x4c,0x53,},{0xdb,0x60,0xd7,0xea,0x29,0xf8,0xd6,0x0d,0xad,0x33,0xd0,0x2e,0xc5,0xf4,0x22,0x32,0x05,0x7b,0xd1,0xc4,0xbd,0x61,0x80,0xa2,0x42,0xcb,0x7a,0xb6,0xf4,0x42,0x67,0x81,},{0x8f,0xa6,0xb0,0xae,0xac,0x71,0x13,0x2a,0xd8,0x82,0x97,0x58,0x68,0xf1,0xbd,0xb8,0xc1,0x1f,0x1a,0x6c,0x1b,0x9c,0x54,0x59,0x4e,0x0e,0x46,0x28,0x6e,0xa6,0xc9,0xa5,0xd6,0xd5,0xb0,0xea,0xea,0xca,0x9a,0xe3,0xaf,0x74,0xe7,0x23,0x26,0xb3,0xb6,0xf2,0xea,0xa8,0x93,0xc0,0xec,0x42,0xa4,0x9c,0x56,0xef,0x51,0x4f,0x75,0xc7,0x7f,0x01,},"\xf7\x87\x32\x1b\x42\xc0\x8d\x40\x52\x44\x9a\x48\x85\x93\xd8\x85\xb4\xe0\xc3\x4a\x5d\x64\x14\x9f\xa8\xb9\xc8\x5e\xe5\x4b\xcb\xec\xb5\x09\x09\xb2\xa8\x6b\x88\x25\x8a\x10\xe0\x7e\x8f\x8c\x2d\x06\x8a\x89\xfb\x16\x5a\x6a\xce\x7e\x64\x99\x8b\xa5\x7d\x89\xd9\xbf\x2b\x8b\x38\xa1\xf6\xd8\x36\x4a\xee\x05\xce\x33\x48\xbe\xd4\x8b\x88\xc2\x47\x3b\xf5\xf2\x66\x5f\x51\xca\x07\x3a\x53\x05\x35\x8e\xaa\xd4\x36\x5d\x58\xb8\x3b\xc9\x81\x4e\x25\xf5\x4c\x37\xcd\x9b\x68\xa8\x08\xa5\x7d\x6c\x2d\x7d\x7b\x6d\xeb\x5f\xe2\x0f\x4f\x96\xfe\x72\x5f\x8d\xe6\x5c\x29\xa4\xf1\xcc\xef\xd7\xc2\xc6\xf2\xfc\x01\x16\xd5\x86\x76\xac\xbc\x58\x69\x1c\x79\xc2\xb0\x06\x78\x5a\x09\x75\xa3\x1d\x8d\x3c\x94\x91\x61\x59\x6a\x06\x8a\xaf\x22\x26\xab\x84\x25\x50\xe9\xc0\xb2\x61\x0a\x29\x53\x1d\x1f\x3f\x7f\x00\x82\x6b\xb6\xc7\xdb\xe0\x4e\x28\xae\x1b\x9f\xf6\xf8\x88\xa4\x9d\x82\x81\x2f\x45\x2e\x1b\x32\x74\x0b\x23\x4d\xdd\x96\x42\xe1\x8f\x32\xad\x9a\x9a\xf7\xf8\x95\x25\x28\x67\x4a\x2c\xda\x25\xb4\xf7\xba\x86\x70\x07\xff\xa7\xf7\x8f\x16\x3d\xb8\xf3\x69\x14\x95\x6b\xfa\xec\xd5\x0f\x6d\x1a\xf4\xee\x13\x32\x75\xa8\xea\xab\x94\xbb\xc0\xae\x52\xb6\xd9\xb2\x83\x26\x34\x23\x2e\xc0\xe8\xb5\xf8\x02\x2d\x3e\xf1\xea\xd9\xb7\x9e\xf9\xa1\x65\x64\x27\x71\x94\xf2\x38\x0d\x90\x21\xe1\xf1\x7b\x18\x4b\x8d\x3a\x7a\x34\xd1\x51\x39\xa3\x9c\x77\x28\xc2\x2e\x1a\x3a\x67\xa2\x7a\x6c\xa4\xb8\xa8\xa0\x63\x6c\x60\x54\xd0\xf7\x41\xf0\x46\x67\x36\x19\xfc\x6b\x07\x0e\x62\xff\x48\x62\xf5\x9d\x26\x90\x07\xf3\x43\x13\x39\x63\x7a\x89\xf5\x64\xc0\xdb\x3d\x9b\xcf\xcd\x19\xfc\x25\x13\x8a\xc6\x6d\x47\x4d\x80\xf4\xad\x79\xf6\xd1\xe7\x84\x44\x08\xe8\x80\x34\xee\xaf\xf4\xa7\x90\x33\x8d\x54\x6b\xfc\xd7\x42\x4c\x11\x9e\x21\x1f\x36\x3c\xb8\x9c\x88\x87\x49\x34\x6a\x89\xd3\x2f\x02\x3b\xb6\xb0\x36\x6a\x1e\xde\x43\x25\x03\x2a\xa3\x5f\x52\xe9\xdf\x93\x8a\x50\x27\xeb\xee\x96\x88\xae\x48\x0d\xde\x1a\x9c\x9b\x42\xd1\xa9\xc0\x8f\x71\x92\x23\xdf\xae\x1c\xfc\xd4\x9d\xd1\x05\x3a\xaa\x38\x1c\x24\xcc\x9c\x7a\xbf\xcf\x8f\x6d\x86\xd6\xaf\x72\xee\xf0\x53\x04\x41\x2f\x3d\xb2\x58\x5a\xa9\xe0\xf3\xa4\xf1\xb6\xd7\x10\xd0\x2a\xb1\x1d\xb1\xfc\x90\xad\x4d\xe2\x5d\x04\x29\x9f\x31\x29\xc2\x12\xe9\xcb\x73\xc0\x04\x79\x53\x45\x5b\xf9\x8e\xc8\xfd\x26\x74\xe4\x7b\x94\x99\x57\xde\xed\xa0\x18\xba\xdc\x9f\x2f\x68\xa1\xb1\x8e\xf5\xc5\x83\xb0\x95\xe0\x8d\xd9\x06\xda\x5f\x22\x0d\xa0\x29\xb9\xc4\x00\xe3\xca\x91\xc7\xcb\xd8\x7f\x34\x30\xc7\x42\x33\x7f\x61\xcf\x54\x74\x5b\x06\x22\xbc\xb9\x07\x62\xc6\xba\xfe\xf8\x7e\x1e\xc8\x88\xc3\x64\xfa\xd6\x46\xc3\x3a\xcc\x22\xaf\x54\x38\xb8\x4c\xd5"}, -{{0x2d,0x5d,0xdf,0xfa,0x2e,0x58,0xc9,0x04,0x51,0xea,0x05,0xde,0x47,0xb8,0xc4,0x92,0x34,0xe2,0x6c,0xed,0x54,0x85,0x4e,0x3a,0xce,0xf1,0x1d,0x8e,0xe6,0x85,0x2d,0xa7,},{0x7b,0xfd,0x1c,0x8a,0x4a,0x0b,0xbb,0x46,0x06,0xd2,0xe5,0xbc,0x09,0x0f,0x56,0xb2,0x0d,0x58,0xf2,0x20,0x4b,0x6a,0xed,0x83,0x1d,0x3d,0xf4,0xd4,0x06,0xb4,0x76,0x05,},{0xce,0xd9,0xd6,0x10,0x10,0x33,0x9c,0x47,0x1d,0xdf,0x9f,0xef,0xca,0xa8,0x2d,0x1e,0xab,0x3a,0x2e,0x0e,0x60,0x27,0x85,0x53,0xb4,0xdd,0x9f,0x39,0x5b,0xe5,0x81,0x49,0xc9,0x15,0x94,0xe5,0x61,0x8b,0x0b,0x10,0xbf,0x3a,0xab,0x94,0xf1,0x59,0xb5,0x30,0xf6,0x44,0x63,0xee,0xd6,0x6f,0xa2,0xac,0xe5,0x4f,0xd9,0x25,0x72,0xa0,0x6a,0x0e,},"\x4f\x1c\x5b\x4e\x6f\xac\x3b\xaa\x3e\x90\x10\xf3\xbf\x29\x3c\x77\x9e\x61\xfd\x7b\xbe\x05\xa5\x86\xf5\xaa\xf0\x80\x26\x37\x16\x27\xa2\x09\xac\xd1\x88\xaf\xb2\xdb\xe0\x31\x15\x47\x94\x05\x59\x71\x16\x40\xf7\x8a\xea\x9a\x62\x81\x89\x62\xf4\x45\xa8\xe7\xed\x6f\xe6\xc5\xf4\x91\x62\xe7\x43\x5d\x1b\x62\x5b\x88\xba\x39\xda\xb0\xad\x56\xfd\x2c\x0a\xd6\x51\x26\x61\x36\x2b\xf7\x8a\xfe\x5a\x14\x16\xb6\x47\xf3\xb8\x8a\x05\x6c\x9e\x72\x89\xc9\xb0\xcc\x3a\xfb\x43\x40\x21\x98\x56\x34\x93\xe7\x37\xb1\xda\x05\x25\x06\xb6\xc9\x30\x6d\x75\xad\x66\x93\xdb\x6d\x15\x71\xf9\x6f\x6f\x52\x99\x0c\x4d\xf1\x96\x65\xa6\xbb\x63\x07\x3f\xdd\x9f\x55\x59\x68\x96\xa2\xe9\xc2\x62\x2f\x2b\x0c\x2c\xc9\x9d\xdd\x1b\x64\x9f\xb0\x31\x80\x58\xd7\x47\x94\xe3\x8e\xc6\x57\xeb\xc8\x2a\xbd\x5b\xed\xf8\xb3\xf4\xbb\xa3\xbb\x6c\x99\x35\xfd\xf6\x82\x65\x02\xb7\x69\x04\x6b\x36\xd9\x6d\xc6\x95\xd7\xc8\x54\x04\x28\x4d\x2a\x2a\xb7\xfc\xf3\xb0\x2f\x68\xa1\x49\x3d\xd3\x83\xca\x63\x39\xfa\xc1\xcd\xe4\x7f\x53\xc5\xe0\x26\xd0\x86\x9f\xaf\xfe\x40\xab\xdb\x98\x19\x52\x30\xf1\x7d\x0c\xfa\xa5\x33\x31\x5a\xfd\xbf\xe7\xd1\xaf\xc3\xa6\x15\xb4\xf7\x50\x90\x23\x3a\x50\x3f\x88\x61\xe3\x23\x74\xe1\xea\x95\x57\x67\x42\x31\xd9\xd7\x37\xd4\x77\xb3\x3f\xf8\x2a\xc0\xb2\xc0\xba\x93\xc1\x1f\xb5\x23\xe6\x13\x61\x8e\xd3\x70\x52\x4a\x60\xf4\xd4\xc8\x36\x94\xc0\x33\x60\x6d\x1d\x06\x9d\x54\x4d\xcc\xd3\x90\x0c\x37\xa3\xb3\x36\x3e\xfb\xcf\x66\x97\xf9\xf7\x62\xb3\x3b\x12\x94\x58\x39\x53\xfc\x53\x77\x3e\xf5\x67\x26\xee\xb4\x70\xeb\xe9\x21\x49\xb7\x36\x48\xa1\x61\x61\xd4\x94\x12\x0a\x31\x8b\xfb\x08\x0c\xc3\x8e\x49\x96\xf4\xb2\x63\xff\xe7\x8c\x78\x77\xfe\x13\xc2\xfc\x55\x21\x9f\x44\x26\x0e\x8f\x25\x3b\xdd\x37\x9d\x87\x0e\x6c\x91\x04\x8b\x1d\x8d\x4e\x88\xb8\x82\x18\xb2\xb0\x49\xfe\xf5\x3b\x2a\xe1\xf8\xc9\x21\xed\x2b\xcb\x43\x46\x69\xe3\x97\x5d\xcc\x3f\xe4\x52\x0c\xa8\x02\x48\x42\xf7\xff\x2b\xa1\xe2\x2c\xfe\xb5\xd4\xc9\xe4\x35\xea\xda\x60\x1f\xf1\x83\xb2\x63\x64\xee\xe1\xfa\xa5\x9d\x19\xe6\xaa\x4f\x09\x75\x23\x84\x96\xa7\x09\xe4\x6b\xf6\x83\x36\xb0\x68\xbd\x80\xb3\x46\xf1\x1f\xaa\x38\x17\xa0\x7d\x1c\xbd\x84\x38\x2b\x21\x02\x98\x6f\x29\x5a\x13\x98\x07\x7b\xa2\x91\xd6\xb5\xf5\xbd\x86\x0e\xc6\x17\x72\x73\x46\x8f\x0e\xe0\xf2\x59\x1b\x57\x5c\x43\x66\xe1\x89\xb2\x24\xe9\xff\xa3\x5b\xc7\x8a\x4a\xa8\xc0\x69\x54\xfe\x33\xd0\x80\xff\xc0\xb2\x3e\x20\x9f\xd0\xe7\x94\x21\xf1\xbd\xe8\x18\xa8\x68\x90\xcf\x17\x22\x36\xdb\x21\x16\x57\xd1\x00\x31\x19\xfe\x91\xd4\xe2\x7c\x52\x4c\xcc\x11\xfa\xde\x0a\x25\xf5\x7a\x7a\x1d\x67\x7e\x1d\xa0\xb9\xc0\x43\xd0\x2f\xca\x38"}, -{{0x4d,0xf5,0xe1,0x1d,0xec,0x80,0xec,0xd8,0x82,0x83,0x75,0x54,0xfa,0x31,0x35,0xb9,0xd5,0x02,0x9d,0xf4,0x20,0x27,0xaa,0x3b,0x3c,0x92,0x92,0x46,0x32,0x9f,0xee,0x96,},{0xef,0xd9,0x28,0x89,0x8f,0xa1,0x44,0xc2,0xd1,0xc8,0x33,0x4f,0xa2,0xe6,0xb5,0xb6,0xa3,0x25,0xa7,0x10,0x2a,0x2c,0x34,0x4a,0x14,0x55,0x41,0xee,0x9a,0x6c,0x04,0x6d,},{0x62,0x54,0x5e,0x6c,0x07,0x80,0x1f,0xde,0x95,0xb4,0x61,0xe2,0xe7,0x53,0xc4,0xb6,0xc8,0x4c,0x25,0x12,0x4e,0xb3,0x30,0xa2,0x72,0x59,0x89,0xd5,0xe3,0x40,0xdc,0xef,0x0c,0x74,0x56,0xd4,0xc7,0xc6,0xa1,0x78,0xa2,0x21,0xb6,0x32,0x83,0x48,0x25,0x3d,0xb7,0x87,0xa9,0xe5,0x51,0x0a,0xb9,0xcc,0x27,0x85,0x15,0xae,0x3e,0x58,0xfb,0x01,},"\xfb\xd6\xf3\x71\xb4\xc8\xb1\x52\xc9\xce\x0c\x63\x96\xa7\x7c\x0f\xe4\x80\xbc\x02\x00\x7f\x33\x6a\xc5\x8f\xd4\xad\xdd\xa9\xd6\x98\x55\xac\x9e\x93\xa4\x5d\x3e\x35\x0f\x41\xff\x50\x2a\xa1\xd8\xfe\x15\x9c\xe8\x9b\x06\x48\x02\xa0\xa1\x89\x0f\x6a\x40\xa7\xef\x57\xc6\xe5\xe5\xed\x04\x02\x80\xdf\x07\xe7\xf4\x8f\xe8\x19\xbe\x63\x17\x67\x10\x75\x7c\xb6\xe4\x40\xb4\xf7\x8b\x57\x59\xdc\xe0\x28\xbf\x58\x5b\x3c\x3f\xec\xa1\xcf\x59\x81\xda\xda\xdf\xd2\x7e\xa1\x24\xaf\x45\xef\x63\x85\x42\xa8\x61\x7f\xf4\x9f\x94\x70\xac\x22\x85\x94\x3c\x7c\x3b\x11\x63\xb9\x03\x95\x5a\xb9\x9b\x6e\xab\x17\xf4\xd4\x9f\xfa\x87\x20\x7a\xbb\xfc\x11\x1c\x4b\x91\xf5\x41\x3d\xfc\x9b\xea\x31\x84\x3d\x11\x5d\xde\xb1\xda\x40\xb4\x5f\x58\xf4\x7c\x41\x7b\x5e\x77\xd5\x81\x89\x34\xe7\x30\xeb\xa9\xc4\x55\x7b\xbf\x48\xcb\x7f\xd4\xe6\x64\x55\x8a\xf4\xfb\x44\xee\x3d\x94\xc1\x6e\x88\x36\x31\xf3\x84\x76\xf4\x83\x7d\xb9\x4d\x54\x12\x2f\xa1\x34\xca\x51\xa5\x25\xaa\xd5\xe2\x4b\x76\x01\x8f\xee\x9a\x2e\x8f\x60\xe2\xbb\x48\xd2\x4a\xb8\xb1\x46\xf8\x4f\xfa\x98\x20\x12\x0e\x7c\x50\xd4\x5c\x0c\xfb\xe3\x5c\x8c\x31\x41\x9b\x07\x8e\x90\x71\x2c\xfe\x93\x4c\x3b\xe3\xa9\x4f\xf2\x15\x88\x73\xae\xfe\x34\xdc\x6e\x36\x90\x2b\x16\x75\xe1\xa4\x7c\xb6\x08\xdf\xe9\x60\xfb\x4d\xa8\xd2\xa8\x49\x0c\xc3\x8e\xba\xdc\x73\xa1\x00\x3c\x49\x41\xfd\xa8\xfa\xe9\x44\xa1\xde\x8e\x3b\x10\xef\x6d\x9e\x67\xce\xec\x74\x59\x77\xd3\x33\xac\x9e\x71\x21\x41\x21\xed\xe8\x89\x22\x95\xe2\x77\x99\xf2\x06\x67\x5a\x9d\x54\xac\x12\x15\x9d\x3a\x1f\x95\x4f\xd0\xee\xff\xbd\x30\xa3\x19\x04\xfb\x2e\xee\x77\xa8\xaa\x9d\xc4\xcc\xbb\xe2\x85\x10\x96\x14\x6a\x4c\xe0\xe8\x1f\xb9\xc6\x24\x98\xdb\xd8\x3b\xf8\x3b\x55\x02\x9a\x5e\x90\x00\x86\xb9\x53\x1c\xe3\x24\x7a\x98\xf8\x65\x4e\xfd\x8f\xe7\xa8\x36\x43\x1f\x75\xda\xf0\x86\x8f\x01\x08\x32\x6e\x23\x02\x6d\x2d\xb4\xa7\x21\x24\xec\x4e\x39\xd4\xbb\xf3\xd8\x46\xc9\xf5\x1c\xa3\xcc\x31\xeb\x1d\x02\xc2\xba\x32\x1e\x46\x19\xf2\xb6\x59\xc0\xbf\x0f\xe5\xc1\x9b\x21\x3f\x3c\x79\x12\x4f\x36\x43\xf7\x4d\xd0\xff\x9c\xe5\xd2\x77\x27\xbe\x6c\x69\x58\x15\x9c\x16\x44\x04\xf4\x33\x01\xfe\x17\x42\xe2\x79\xde\x9e\xfd\x44\x1e\x73\xe4\xea\x7a\x84\x25\x87\xa7\x9d\x11\x5d\x36\xec\xa9\xc0\x3c\x90\xff\x0d\x14\x74\x74\x10\x9f\xc2\x0a\x91\xd7\xb3\xcc\x22\xeb\xcb\xb8\xc7\xf7\x1b\xd6\x1e\x8c\xae\x47\xc5\x05\x0c\xec\x1d\x48\x49\xa1\xd4\xa8\xe7\xa6\xf8\x45\x54\x84\x37\x70\x6c\x25\x33\x1c\x9e\x57\xc2\xcc\x6d\xa1\x17\xf2\xe5\xa0\xf4\xb3\x68\xc4\xcb\x20\x62\x65\xc4\x17\x8e\x06\x55\xff\x67\x5f\xfc\x1d\x4c\x58\xec\xeb\x9e\xdb\x4d\xa3\xad\x2c\x5f\x62\xcd\x13\xab\x48"}, -{{0x85,0xd3,0x23,0x30,0xe2,0xe0,0x73,0xa4,0x60,0x30,0xca,0x0e,0xe2,0xdf,0x2f,0x8e,0xb8,0x74,0xa9,0xfd,0xdf,0x56,0x24,0xc8,0x03,0x17,0x75,0x11,0x1f,0x11,0xee,0xa2,},{0x6e,0xa7,0xde,0x2e,0xd5,0xea,0x5c,0xdf,0x50,0xbf,0xff,0xee,0x77,0xf7,0xbd,0x2f,0xcc,0x21,0xd4,0x86,0x66,0xbb,0x1f,0x48,0x90,0xc7,0x6a,0x69,0xcc,0x7b,0xa4,0xe8,},{0x41,0x43,0x63,0xfe,0xad,0x6e,0x59,0xa3,0x43,0x8c,0xe5,0xa3,0xa2,0x77,0xd6,0x2b,0xdd,0x00,0xfa,0x2e,0xfa,0xc6,0x46,0x3d,0xd1,0x3f,0xcd,0xde,0xd9,0x3a,0x7f,0x10,0x8a,0xe1,0xf5,0x28,0xff,0xc8,0xff,0x4e,0xca,0x33,0x1d,0xab,0x91,0xae,0x5b,0x14,0x16,0xe2,0xdd,0xb7,0x3b,0x6d,0xaf,0x85,0x3b,0x03,0xc8,0x1e,0x99,0x36,0x56,0x0a,},"\xae\x61\x07\xf3\x8f\xf9\x4e\xd0\x32\x79\x03\xcb\xaf\x6c\x3e\x3a\x34\x98\xc4\x7a\xbb\x29\x89\xa8\xb3\x7b\x3a\x19\xdf\x88\xc6\xde\x79\x0a\xcc\xb4\xb7\x25\x81\x77\xb9\x15\x1d\x1f\xe0\x40\x63\x57\x7d\x3c\x3a\xcd\xb4\xc9\x29\x96\x8a\xfd\xad\x6f\x25\x2a\x67\xed\x4c\xa8\x9d\x06\x0f\x1a\x46\x53\x98\x3f\x7a\xb5\x8d\xdb\x93\xe2\x87\x8f\xba\xb0\x63\x7d\xbb\xeb\x95\xd2\x5c\x59\x86\x83\x9d\xe2\x74\x8d\x9f\x34\x02\x7a\xee\xbf\x1d\x9e\xb9\x36\xcb\x67\x70\xe0\x8d\x45\xb8\x09\x5b\xac\x9c\xbb\x71\xdb\x14\xe8\xa3\x42\x22\xb1\xf2\x23\x7b\x9f\x0b\xc9\x76\x6a\x23\x1a\x6d\x10\x27\x99\xf7\xc0\x81\xd5\x00\xfb\xea\xde\x60\x3c\xdc\xdd\x7d\x5b\x96\x5f\xba\xce\x4b\xe5\xc2\xcd\x93\x2d\xcf\x5f\x6e\xd3\x17\x22\xf4\x1d\x5a\x36\x3b\x34\xba\xbf\x3f\x63\x6f\xb3\x03\x82\x4a\xa7\x01\xdf\xe1\xd3\xe4\x12\x63\x07\x8c\x1e\xbb\xdc\xb1\xf7\x3f\x12\x45\xb8\x3e\x3f\xa7\x0a\xb8\xe3\xf1\x41\x3e\x6b\x06\xbd\xae\x02\x2b\x71\x4d\x60\xa4\x01\xd5\x74\x80\xdc\x64\xe7\xaa\xc6\xd3\xde\x85\xfc\x94\xd8\x53\xca\x13\xb7\xe6\x74\x15\x57\x9d\x5c\x67\x21\x23\xa5\xaf\x19\x4b\xee\x14\xae\x35\xdc\x27\x24\xff\x20\x9f\x11\x66\x63\x86\x61\xf8\x81\xb1\x19\x4a\xa4\xe3\x1b\x42\xa5\x27\x96\x47\x81\x59\x15\x04\xba\x76\x10\x3f\x97\xb7\xf5\x52\x03\x15\x47\x3e\xc9\x4b\xb0\x17\xa1\x66\x67\xb2\x2a\x85\x76\xa7\xcc\x2a\xc0\xb7\x75\x63\x03\xc7\x56\xf0\xdd\xaa\xe9\xd0\x18\x9e\x6c\x8d\xe3\x49\xf9\x19\x57\xc7\x2a\x52\x9e\x9f\x7e\x9b\x94\x56\x52\x48\x40\xba\x02\x34\x4f\x55\xad\x3c\x11\xa0\xb2\x59\x90\x14\x39\xf2\x65\x5a\xb9\xf8\xc6\xc8\xe8\xe9\x60\xc0\x57\xd9\xc7\xda\xfe\x42\x5c\x75\xd4\xa3\x3b\x80\x1d\x45\x47\xcd\x05\x51\xa6\x80\x2a\x80\x05\xdd\x72\x42\x47\x64\xdc\xf5\x7e\x4a\xa2\x22\x90\xea\x4f\x5b\xaa\xc5\x1d\x79\x39\xc0\x53\x42\x88\x2e\xe1\x43\x80\xef\x2d\x47\x04\xb4\x19\x49\xb2\x28\x2a\x1e\x1a\x3f\xa7\xdd\xea\x9f\xe8\x3b\x9f\xc5\x1d\x4e\xef\xa2\xeb\xac\x72\x2e\x4c\x0a\x7c\x59\x9b\x69\x25\xf0\x1b\x8a\x20\x66\xdc\x0c\x26\xf9\x21\x96\xf4\xf5\x03\xe8\x87\xc1\xe6\xef\xb0\x93\xf1\x53\x13\x87\xbd\x88\xc6\x91\x99\x7b\x9b\x89\xe3\xcd\xf7\xda\x12\xd3\x73\x41\x83\xa4\xb6\x12\x6b\xe9\xe0\x77\x47\x04\xb5\x29\x65\x9b\x55\x48\xf1\xb8\x75\x12\xcc\x18\x78\xca\x4e\xf5\x59\x90\xb4\x83\xc9\xaf\x6a\xa9\x76\x35\xf4\xf0\x79\x49\x72\x70\x65\xab\xf2\x1e\x21\xe3\x29\x90\xb1\xa7\xd0\x7d\x74\xe0\x2d\x9b\x07\xec\x63\x99\x31\xbf\x9e\x2c\xa3\x94\x1f\x2b\xa6\xb5\xef\x14\xdc\xc2\xa2\x47\xd2\x11\x7e\x9c\xb4\x1e\xfa\x3f\xcc\xa2\x47\x16\x64\x14\x52\xbe\xed\x2f\x92\x65\x7c\x2f\xb7\x31\xf0\xb9\x4e\x8c\x89\x2a\x81\xbb\xa9\x1f\x63\x9d\xf4\x37\x96\xac\xd3\x01\x3a\xc0\x44\xf6\x08"}, -{{0x66,0x59,0x0d,0x36,0x99,0x84,0xc6,0xf5,0xad,0x3a,0x89,0xc7,0x8d,0xdf,0xca,0x10,0xa0,0xa7,0x65,0x79,0x95,0xdc,0x01,0x88,0xb6,0xb5,0x7a,0xc3,0x16,0x47,0x31,0xa4,},{0x98,0x87,0x3a,0xb1,0x33,0x46,0xee,0x48,0x67,0x7c,0x4f,0x86,0x12,0xdb,0x31,0xeb,0xd1,0x3d,0xb5,0x8b,0x2b,0x03,0x4f,0xd1,0x55,0xaf,0xa8,0x72,0x0f,0x4e,0x93,0xe8,},{0xf0,0xdb,0x63,0xa1,0xbc,0x76,0x24,0x16,0x1c,0xa0,0x06,0x38,0x53,0xb2,0xde,0xe4,0x5f,0xcc,0xd2,0x24,0x71,0xe0,0x12,0x36,0x6f,0x86,0x8a,0x4a,0x9c,0x74,0x65,0x4e,0x13,0xf1,0xa3,0x15,0xad,0x83,0x91,0x6e,0xbf,0xb8,0xdc,0x31,0xa4,0x20,0xf8,0x3c,0xf6,0x45,0xc4,0xc9,0xd1,0x6b,0xb4,0xd5,0xd9,0x9d,0x23,0xc7,0xb4,0x3e,0x23,0x00,},"\x2e\xc1\xc6\xb0\x82\x97\x37\x83\x2c\x9c\x79\x8a\x92\xeb\x49\x0b\x23\xd3\x34\xc3\xbb\xe6\x27\xcb\x58\x2d\x17\xa9\xe4\x29\x60\xef\xcd\xc7\xd3\x47\x50\xe0\xb4\xaa\x86\x4c\x20\x4f\xb8\xd6\x2b\x47\x99\x2e\x91\xdb\xfc\xfd\x69\xf5\x1d\x93\x7d\xc0\x6c\x48\xc0\xad\x43\xe8\x59\x83\x71\xcd\x0e\x3b\xbc\xe4\x16\xbf\xd4\x4b\x09\x44\xb9\x93\xaa\x29\x93\xfd\xea\x48\x71\x34\xcd\xe4\x22\x77\x72\x3e\x06\x83\xec\x98\xe6\x95\x95\xe9\xb7\xb1\x4c\x8c\xf9\x61\x7a\x1e\x30\xdd\xb8\x06\x0e\xac\xba\x48\xd8\x82\x53\xb1\x65\x33\x61\x08\xde\x0c\xb0\x2f\xf2\x0f\x54\x24\xb5\x67\x83\x08\x69\xc9\xb4\x32\x9c\x99\x45\xf0\xbf\x2f\x3c\x7a\xcd\x1e\x77\x43\x58\x93\x0c\xd8\x90\xfd\x9c\xb8\x64\xd9\x50\x93\x5a\xd8\xa4\xa3\xbe\xcc\xae\x8f\x83\x3f\x63\x56\x19\x13\x71\xc3\x26\x33\xdc\xf8\x82\x70\x9b\x0d\x98\xbd\x80\x7b\x38\x3a\xed\x8d\x7b\xb0\x97\xb6\xe2\x62\xef\x70\x0c\x9d\x76\x8f\x4b\x56\x90\xe3\xa1\xa8\xf2\x17\x55\xd6\x58\xdb\x2d\x1b\xfd\x2f\x70\x71\xe0\xca\xec\x7c\x2c\x53\x81\xc5\xef\x5c\x2c\x22\x81\xc6\xbc\xed\xc8\x67\x39\x0b\x90\xf3\xb2\x7b\x0f\x0f\x64\xa3\x36\x58\x57\x8a\x5c\x0d\x66\xe2\x11\xe6\xff\xf6\xe8\x64\x88\xac\xf8\x2b\xc0\xf5\xe2\x66\x4b\x83\x69\x90\x46\x03\x7c\x0d\x33\xd3\x40\xff\x98\xed\x62\x63\x35\x4c\x24\x27\x31\x36\xff\x0e\x4f\x0f\x23\x3a\x6c\x82\x54\xfc\x0c\x90\x76\x43\x30\xe3\xb1\x05\x7b\x1e\x66\x6d\x5e\xcd\x5a\x2e\xfe\xaa\x6a\x10\x5b\xfc\x85\x84\x31\xb8\x8e\xd7\xfe\x55\x1e\xb3\x2a\xc0\xaf\x27\xc6\x6a\x98\x03\xa3\xbc\xf8\x76\x34\xc6\x6c\x70\x66\xdd\x01\x97\xa3\xcb\xd2\xd6\xf4\xe6\x5c\xfd\xb8\xf3\xda\xf9\xf3\xca\x5c\x4f\x4e\x0a\xdd\x45\xf5\x54\x1a\xa1\x8d\x04\x1f\x70\x6e\x4f\xa8\x7c\x34\xe9\xa2\x23\xd8\x85\x72\xeb\x50\x08\x3e\xe8\xc7\xc4\x75\xdf\x56\x8b\xc7\x3b\xd0\x8c\x0f\x0d\xea\xa3\x74\xaf\xb1\xc1\x78\xd0\xdd\xdb\x23\x6e\x15\xa8\xbc\x23\x85\xed\x3f\x52\xb8\x76\x1e\x63\x78\x87\x40\x7a\x20\xae\xc3\xe9\x9e\xc8\x30\xda\xe3\x16\x7e\xf0\xcd\xb3\xf3\xff\xd2\x00\xd8\x3b\x75\xb7\x49\x69\x0b\x9e\x25\xe2\x17\x1d\x07\x2c\xa5\x6f\x71\xba\xec\xd2\x1f\x7d\x45\xa1\x2c\x91\xb2\xc0\xfb\x3f\xea\x3b\x15\x8e\x54\x64\x82\x84\xbb\x00\x95\xb3\x62\x44\xb0\xb1\x21\xf9\xf1\x38\x4c\xe9\x00\x43\x65\xe7\x77\x2f\xa3\x08\x28\x25\x0f\x51\x98\x5f\x1b\x17\xb2\xd2\xf8\x0a\x33\xe8\xfc\x6d\x85\x65\xea\x15\xcd\xaa\xcd\x42\xa8\x7b\xd7\xc9\x40\x8b\x1f\xe1\xc7\x70\x66\x5b\xdd\xed\x75\x4b\xc2\xff\x2e\xf9\x1b\x97\x3a\x86\xb9\x9f\x10\x59\xc6\xf2\x27\x24\x6a\x69\x8b\x38\x54\x15\x09\xdd\x54\x49\xfc\xe6\x0d\x38\x62\x24\x18\x3b\x7d\xce\x1b\x38\x84\xf7\xba\xe1\xc2\xe4\xeb\x59\x45\x10\xb5\xca\x58\x52\x79\xd9\x04\x1d\xf8\x81\x7b\x06\x19"}, -{{0x41,0xcf,0x07,0x1f,0x48,0x42,0xec,0xd4,0x94,0x19,0x1b,0x8c,0xf2,0x8c,0xc0,0x92,0x31,0x85,0xef,0x1b,0x07,0x45,0x8a,0x79,0xa5,0x9a,0x29,0x6d,0x35,0x49,0x82,0x2e,},{0x6d,0xc8,0xe4,0x46,0xdb,0x1d,0xa3,0x53,0xb5,0x8d,0x0c,0x45,0xd8,0xb4,0xd8,0x16,0xba,0x59,0xe2,0x5b,0xb6,0x80,0x71,0x2d,0x62,0xd6,0xd3,0xdb,0xf7,0x8d,0x06,0x98,},{0x41,0x05,0x2b,0xc4,0x17,0xb2,0x4d,0xc4,0x83,0x83,0x96,0x6a,0xf0,0x14,0x3f,0x9c,0x0b,0xa8,0x5b,0xbe,0xfb,0xda,0xf7,0x91,0xb1,0x6a,0x4d,0xad,0x1f,0x57,0x0e,0xb8,0x07,0x03,0xc0,0xa2,0xcd,0xeb,0x2f,0x7a,0xd6,0xdc,0xd3,0xfa,0x7b,0xdb,0x5c,0x22,0x5e,0x86,0x9c,0xd8,0xfb,0x27,0x8d,0xff,0x06,0x67,0xd3,0x8a,0xcc,0xf3,0xdb,0x08,},"\xda\xeb\x5f\x0e\x84\xf1\x59\x0b\xca\x2b\x9d\x97\x19\xef\x5d\x1c\xfa\x79\xe0\x58\x34\x46\x33\x2f\x18\xe9\xe4\xfe\xb0\xb1\xf1\x53\x40\x29\x7a\xc9\xad\x67\x24\xc8\x5b\xb1\x65\x58\xea\x54\xeb\x5d\x70\x2a\x47\x24\x8b\xad\xc6\x25\x2a\x80\x43\x71\xb7\x4c\xfe\x10\x62\xd1\xdb\xa1\xec\x68\xfd\x1d\x4d\xd0\x29\xcb\x55\x03\x4b\xbf\x61\x06\x82\x51\xef\xf3\x98\x36\x36\xf6\xde\xbd\x57\x27\xbe\x91\x99\x3b\x3e\x4d\x0a\xbc\x96\xec\x19\x64\x21\xa4\x7b\x78\x93\xf8\x39\x86\xd6\xc0\x32\x3f\x0d\x19\xaa\xf2\xcd\xe9\xd3\x56\x5c\x10\x4c\x9d\x31\x76\xec\xb5\xed\x5e\x17\x3f\xee\x52\xb5\xa0\xc4\x2b\x6a\xb2\xfc\xb1\xcc\xba\x96\x49\xc2\xc6\x7c\x52\x0e\x9b\x96\xce\xa6\x93\xdf\x3e\x58\x60\x9a\xd6\xa0\xbd\x52\x2e\xfa\xaf\x03\x85\x8d\x24\x5d\xd0\xa3\x8f\x84\xa2\xfb\x10\x20\xf4\xdd\x97\xc3\xae\xef\x0e\x24\x47\x7d\x30\xd2\x56\x70\x1e\x90\x0b\xef\x26\xa8\xa6\x26\x9a\xb6\x60\xd7\x42\x93\xa2\xbf\x1d\x20\xc2\xcf\xae\xbb\x7c\x28\x20\xf5\xf5\xb0\x74\x53\xbb\x69\xee\x76\x9b\x52\x39\x15\x39\xf0\xc6\x06\xd2\x2e\xb3\x92\x3e\xe6\xf5\xa1\xd4\x60\x50\xaf\x90\xf0\x11\xf8\x51\xac\xe7\x63\x27\xd3\xd1\x8c\x48\x17\x0a\x9a\x25\xb0\x4b\x77\x0f\xd9\x38\xef\x8a\x30\xb7\xbd\x03\x39\x1d\xd3\x6c\x51\x6b\x62\xf0\xcb\x78\x67\x07\x40\xe0\x0e\x69\x59\x5c\x41\x8d\x96\x72\x53\x82\x0b\x75\x4c\x4f\xd6\x66\xe3\xcc\xe1\x6e\xe0\xc9\x41\x83\xbb\xea\x70\x6f\xe2\x98\xe1\xc9\x9d\xdb\x82\x12\x17\xed\x90\x08\xcc\x8e\x8b\x83\xbc\x8b\x81\x99\x15\xb0\x7b\x14\x6f\xe7\x45\x02\x4a\xc3\xc4\x61\x16\xcb\x4c\xce\x5e\x32\xec\x5d\x75\x24\xa2\x38\x8d\x9f\xe2\x97\xeb\x02\x81\x1a\xf4\x54\x6f\xcd\x58\x60\xe1\x4c\x0d\x13\xf0\x3d\xd7\x5a\x42\x49\x61\x59\x00\x07\x8a\x3c\x35\x8c\x53\x42\x96\x2b\xc1\xbe\xac\xf6\x8c\x24\x68\x21\xa4\x59\xab\x53\x21\xec\x9f\x57\x4f\x49\xd1\x03\x89\xf4\x0f\x14\xdd\xfc\x85\x13\xff\xe3\xde\xaa\x73\x36\x03\x5a\x67\x5f\xa5\x85\x8b\x49\x0c\x5d\x24\x77\x80\x06\x4a\xdb\xaf\x75\xa7\x63\x35\xee\xc9\xab\x91\x87\x71\xb0\xb1\xdf\x51\x47\x64\x2a\xef\x4a\x16\x6a\xb1\x72\xed\x60\x1f\xed\x21\x0f\x6c\x0c\xff\xd9\x18\x69\xf7\x49\x0b\x57\xe7\xc6\x52\x41\x86\x3e\x7e\x8c\x0a\x26\xeb\xa6\x3b\x53\x42\xd0\xfd\x82\x14\xac\x73\x1e\x1c\x43\x8d\x01\x77\x11\x5f\x6a\x19\xe0\x93\x5c\x7a\xf6\xbc\x7d\xbe\xb7\x55\x11\xd9\xbd\x8e\x63\xe3\xe2\xf4\x7a\xb0\xdd\x1c\xed\xd7\xb1\x80\xd7\x4a\x4b\x44\xd4\x61\x19\x7a\xef\xdd\x36\x20\x46\x51\x66\xa3\x9b\x45\x39\x50\x43\xce\x88\x74\xcd\xd7\x2c\x60\x2b\xd3\xd2\xee\xcb\xad\x34\x66\xb5\xcb\x1a\xa4\x1a\xe9\x2a\x8a\xfe\xf2\xd7\x64\xce\xc0\xc4\x49\xd2\x7e\xfa\xc4\x37\x93\x8f\x28\x0b\xea\x9c\x50\xa5\x82\xe5\x7c\x27\xf9\xb3\xde\x87\x2f\x0c"}, -{{0xa2,0xc8,0xe1,0x61,0xa8,0xd9,0xd6,0xe8,0x88,0xc3,0xd0,0x9b,0x0b,0x97,0x27,0x37,0x30,0x7a,0x2c,0xbd,0x2a,0xcd,0x7c,0xcd,0x80,0x4d,0x24,0x31,0xac,0x6c,0x58,0xd2,},{0x3a,0x32,0x57,0x75,0x88,0x67,0x32,0xde,0xca,0x40,0x68,0x57,0xa8,0x05,0x60,0x10,0xaa,0xea,0x28,0x75,0x54,0x5b,0xa6,0xf3,0xdf,0x30,0x75,0x45,0x71,0x38,0x69,0x92,},{0x56,0x0d,0x01,0xb9,0x4d,0xf1,0x1d,0x83,0x34,0x77,0x52,0xff,0x51,0xb3,0x54,0x5e,0xf5,0x5c,0x56,0x32,0xae,0x7c,0x8e,0xfb,0x11,0xaa,0xdd,0x83,0x12,0xde,0xf7,0x25,0x62,0xe8,0xf5,0xd7,0x5e,0xce,0x10,0xad,0x46,0xbc,0x96,0xc8,0x60,0xde,0xec,0xe3,0x9e,0x63,0x4a,0x5f,0x50,0x65,0x4d,0x4c,0xdb,0xa8,0x4a,0x8e,0x6f,0x70,0x24,0x0a,},"\x83\xa3\xbe\xbc\xac\x5f\x28\xc5\x43\x3e\x3c\x4f\x1e\x7b\xf5\xd2\xe4\xdc\xd2\xf5\xe5\x9d\xbe\xe0\xa8\x3b\x07\x02\x57\x15\x35\x07\x46\xf8\x56\x75\xf1\xdf\xea\x37\x4a\xa7\xd7\x94\x28\x7b\x89\x2e\xf9\x09\x7f\xf6\xd2\xe1\x22\xf0\xa6\x56\xfb\xa0\x79\x8c\xdc\xfc\xb3\x64\x5d\xfc\xfd\x78\x8c\x74\x0c\x0f\xd0\x45\x20\xe7\xa0\x6a\x02\xa0\x58\x29\x63\x0a\x2b\xf0\xcd\xfe\x2e\xcc\xa0\x09\xec\x44\x04\x99\x46\xbb\x1d\x23\x26\xdd\xd6\x1d\x7e\xc6\x40\xbf\x69\xeb\x44\xfb\x23\xcc\x1f\xf4\x78\xc5\x70\xc7\x5d\xb7\xe7\x66\xe3\x5b\x7c\x43\xdb\x73\x68\x0d\x14\x07\xa9\x43\x99\xfb\x62\x1b\xaf\x38\x45\x74\x5c\x1c\x4e\xd0\xb9\xf0\xb4\x85\xbe\x2d\x53\xc5\x68\x54\x5d\xdf\x18\x77\x5a\x83\x7a\x05\xd9\xc9\x15\x7b\x08\x4e\x8c\xd0\x1f\xc3\x24\xf0\x7f\x11\x68\x77\xe4\x07\x5d\xba\x24\x32\xc8\xa7\x75\x2e\x9e\x93\x95\x86\xad\x93\xf0\xc0\xaa\x5e\xda\xc9\x4b\x8d\x82\xe5\x44\x99\x97\xb1\x5b\x8c\x89\x61\x58\x9c\x44\x28\x21\xaa\x83\xb6\x02\x39\xec\x5f\x15\x8c\x3f\x5e\x9e\xc5\xbe\xa5\x11\x5d\x5f\xed\x61\x91\x8e\x8f\xcd\x5b\xce\x61\xc7\x77\xf2\x0b\x6b\xfe\x80\x3a\x69\xc6\xfc\x79\x4a\xb8\xc5\x7d\xf2\x71\xda\x86\x38\x72\xa6\x13\x35\xb1\xfa\x29\xf4\x60\x8f\xf0\x37\xf7\x12\x06\x98\x09\xca\x64\x2a\x03\x07\xc7\x9a\xa9\x2e\x10\xcb\x89\x3a\x29\xd1\x72\x01\xa0\xb6\xd1\xb4\x6a\x72\x12\xb3\xba\xec\x97\x03\xc0\xb0\x39\x2b\xa6\xb7\x6e\x5c\x9c\x10\xf8\x35\x99\xb8\x1e\xa2\x22\x83\xf9\x54\x7a\xac\xda\xa7\xf3\x08\x96\xd1\xff\x73\x1e\x11\xfb\x9e\x56\xad\x06\x03\x04\x17\x11\x98\x05\xba\xb6\x35\x21\x49\x6c\x3b\xb9\x2a\x12\xf5\xe5\x5a\xfc\xf6\x0e\xd4\x21\x77\x37\xf3\x04\x6b\x16\xca\x50\x66\x57\xa6\xd6\x96\xd7\x5a\x6d\x8e\x18\xe9\xef\xe2\xb0\x8c\x8b\x1f\xa0\x72\x82\x38\xe2\x7c\xfb\x32\x21\x66\xee\xe4\xee\x76\x96\x8b\x77\x7b\x50\xee\x6a\x2b\x80\x4e\x1e\x9b\x46\x01\x66\x20\x13\x2b\x65\x88\x71\x8d\x97\x8c\xa2\xc0\x02\x69\x79\xc4\x00\xd3\xc5\x33\x67\x51\x21\x0f\x0b\x00\xd2\x69\xec\x8f\x4e\x2f\x95\x59\xe1\x80\x33\x2d\xd2\x70\xe5\x0c\xc9\x46\x5c\x55\x58\x93\x63\x55\x52\x1b\xc3\xc9\x56\x0f\xc1\x9e\xc1\x42\x42\x12\x1e\x6b\xb2\xff\xf8\xf5\x03\x37\xfc\x26\x4a\xcf\x1a\xc1\x70\x43\x28\x33\x4b\x3b\x52\xcb\xa9\x6d\x93\x03\xb1\xb5\xdb\x85\x9d\xae\x31\xd8\x0f\x17\x11\xfb\xa2\x51\xe1\x0b\x4d\x12\x21\x28\xf9\xfa\xff\x68\x72\xd0\xc0\xb8\x1e\xef\x59\x54\x1f\x83\x2b\x0a\x9d\xf3\xa4\xcd\xd5\x91\xc8\x77\x36\xb1\xae\xcf\x24\x2c\x27\x5a\x10\xc3\xfd\x67\x83\x9d\xad\x4e\xf3\x99\xb9\x49\x4e\xcd\x77\xf7\xba\x5b\x5d\x4f\x2c\xa3\x04\xe5\xb2\x29\x21\x30\x7c\xb1\x8f\xa6\x4a\xa3\xd0\x1c\x44\x11\xc8\x36\x9c\xce\xde\x46\x5e\xe3\x69\xee\x63\x7d\x43\xd2\x88\x26\xbf\x60\xdd\xde"}, -{{0xd3,0xd1,0x88,0xb3,0x90,0xba,0xcc,0xd9,0x50,0x24,0x52,0x61,0x46,0xb8,0x2b,0x91,0x84,0xe1,0x97,0xe4,0x6a,0x93,0x40,0xa0,0xe6,0xec,0x18,0xbf,0x75,0xbe,0x7f,0xc5,},{0xd8,0xf7,0x94,0x94,0x8a,0xa6,0x98,0x61,0x00,0x21,0x4e,0x9b,0x7b,0x90,0x24,0x42,0x08,0x06,0xb4,0xc6,0x78,0x46,0xd5,0xbd,0x50,0x61,0x13,0xb3,0x53,0xa2,0xea,0x3d,},{0x16,0x97,0x6b,0x26,0x7d,0xe9,0x6e,0x38,0xdd,0xdc,0x84,0x78,0x07,0x5f,0x6b,0xdd,0x71,0x59,0xe5,0x63,0x34,0xb2,0xd2,0xd1,0x92,0x09,0x46,0x29,0x4f,0x33,0xcd,0x6b,0x7f,0x9c,0x50,0xf8,0x05,0x7f,0x49,0x6c,0xab,0x5d,0x94,0xbb,0x4d,0xca,0x26,0x2f,0x9f,0x0f,0xdf,0x9b,0x1b,0x64,0x74,0x1f,0x4b,0x72,0x2d,0x32,0xef,0xa8,0x22,0x03,},"\x5e\x65\x65\x8e\x42\x03\x75\x43\x3f\xd7\xc1\xf6\xbe\x67\x88\x41\xe5\x81\x04\xf1\x0b\x4c\x67\x63\x59\xd8\x4f\xce\x79\x92\xf5\xc5\x75\x57\xd7\x38\xf8\x30\xb5\x05\xfa\x0c\x2b\x9e\xab\xf8\xd1\xa9\xf8\x1f\xe8\xf3\x15\xd6\x62\xe2\xb8\x4c\xe9\x52\x99\xeb\xf4\xe5\x03\xb5\xe1\xf7\xf8\xcd\xb6\x68\xae\x73\x3f\x3d\x0c\xdd\x4c\x74\x2a\xb5\xf2\x72\xbe\xa4\xf1\x8d\x18\x3e\x89\x23\x84\x76\x62\xf9\xa3\x9c\xd4\xb1\x4e\xc7\x6d\x11\x03\x2f\xe5\x73\xc2\x62\x01\xae\xf6\x66\x01\xce\xc6\x83\xe3\x4b\x89\xaf\xd9\x64\xe9\x87\x80\x1c\x70\x6a\x85\xe2\x7b\xab\x33\x70\x1c\xd1\x09\xbc\xf0\x7b\x27\xca\x67\xf0\x22\xc4\x94\xa0\x4c\xbe\x5a\x9c\x6d\x63\xaa\xd9\x36\xcd\xf1\xa1\x80\xfd\x05\x86\x51\x98\xb9\x6f\x06\xa7\x8d\xa9\x57\x99\xd3\xaa\x4d\xf3\xb1\x70\x03\x3c\x69\xe8\xfb\x04\x28\x8c\x35\x46\x55\x3b\x57\x9c\x0a\xe3\x93\x80\x62\xd3\xd8\x42\x1c\xfa\x66\x26\x85\x29\xbe\xc0\x27\x1e\x53\xb4\xee\x7d\x09\x9e\x71\x48\xa8\x02\xdf\x80\xfe\x5e\xed\xee\x1c\x90\x3a\xe8\xed\x4d\x64\x0e\xad\x76\x12\x62\xdd\x40\x14\xf2\x5f\x93\x97\xba\x3f\x1c\x08\xd8\x3a\x3c\x48\x5c\xfb\x55\xf8\x99\x19\xaa\x97\x2d\x6b\x7e\x77\x11\xbe\x9e\x30\xc1\xeb\x96\xa0\xc3\x84\x53\x09\xfb\x23\xdb\xc7\x5b\x69\x91\xdd\x6e\x48\xcd\xde\x90\xe0\x4f\x22\x8e\x8c\xcf\x3b\xa2\x3f\x27\x47\xcf\xb9\xd3\x38\x1a\x93\x05\xf8\x16\xf2\x6c\xdd\xe4\x1c\x02\x20\xfa\xd2\x28\xff\x6a\x8b\x09\x5c\x77\xb6\xba\xe8\xfa\x33\x68\x14\x27\x24\xbf\x1f\x5e\x0f\x6f\xbc\xa5\x32\x0c\x21\x5b\x6b\xa8\x6b\x91\xe3\xa8\xac\xf7\x50\xe9\x3f\xa7\xea\xa6\x5c\x4f\x78\x5e\xf8\x42\x1a\x19\xc1\xe2\x7b\xc2\x4b\x42\x8e\x08\xa9\x02\x42\xab\xac\x9b\xd4\xaa\x03\xc6\x56\xf8\xf4\x6d\xc4\x0b\x36\x15\x2c\x1b\xd0\xde\xf1\xac\xfc\x0d\xa1\x0a\x2f\xa1\xdc\x3d\xa7\xac\xe5\xa8\xfd\x76\x22\x7b\xb1\xa6\x02\x39\x0f\xe5\x7a\xfd\x32\xef\xe2\x81\xf2\xea\x6b\x2e\x4d\x25\x45\xcb\x88\xd2\x30\x8d\x72\x69\x1c\x9a\x52\xb4\xca\x25\x23\x1a\x01\x07\xf2\x5d\x11\x7c\xc9\x35\x39\x76\x21\xc6\x83\xbd\xc8\xf2\x2e\x81\x03\x40\xf2\xcb\xac\x4c\xea\xa3\x46\x86\x65\x26\x18\x79\xf0\x07\x42\x00\x74\x3e\x0d\xe5\xf3\xe5\x83\x08\xb9\x8b\x04\xb8\xc7\x14\x8a\x4e\x00\x4e\x66\x7e\x83\x2b\x00\x84\xb5\xf2\xbd\xc6\xfd\xc9\x59\xf2\xfc\x28\xa8\xd3\x1d\x9a\x9e\x78\xe5\xd5\xf9\xc0\xb1\x19\xe5\xff\x1f\x68\xf7\xc0\xda\xf0\xc0\xf1\x69\x47\xcc\xa5\xb7\xce\xd0\x96\x01\xe2\xeb\xed\x28\x2e\xf2\xbf\x8f\xe9\xa2\x7e\xd2\x7f\xc5\xbc\xda\x8a\xed\x6c\x71\xbe\xe3\xe7\x75\x10\x04\x47\x26\x89\xbb\xf6\xd9\xd0\x79\x52\xa2\x42\xff\x87\x0d\x7c\x3f\x5e\x1f\xfc\x2c\x1f\x40\xfc\x9a\xb7\x57\x9b\x39\x2b\x55\x4f\x3d\xc5\x88\xc0\x3a\xb9\x57\x43\x1f\xe5\xd0\x2c\xbc\x71\x1a\xd4\x89\xfe"}, -{{0x61,0x91,0x7a,0x97,0x5c,0xb7,0xec,0x56,0x4c,0x70,0x8a,0x56,0x53,0x88,0xc5,0x72,0x36,0xa6,0x6b,0x69,0x7d,0xcd,0x5a,0x7f,0x10,0xba,0xe6,0x71,0x57,0x2a,0xc7,0xf0,},{0xec,0xc0,0xf0,0xb9,0x92,0x76,0xe5,0x28,0xf8,0x2b,0x42,0xf2,0xef,0xce,0x85,0x79,0xf8,0x3e,0x63,0x8c,0x6a,0xce,0xfd,0x07,0x28,0x28,0xc0,0x4e,0x43,0x4f,0x55,0xaf,},{0x6a,0xbb,0x3e,0x37,0x7b,0x5c,0x80,0xb7,0x4f,0x77,0x21,0x9c,0x1a,0x9e,0x09,0x6f,0xba,0x0e,0xb6,0x89,0x90,0x81,0x7a,0xcf,0xf1,0x2d,0xba,0x7f,0x61,0xc7,0x7c,0xcf,0x59,0x5f,0xb6,0x60,0x85,0x52,0x00,0x3c,0xea,0xd0,0x6c,0xa1,0x31,0x7c,0x9c,0xd5,0x1a,0xc4,0x72,0x4b,0x29,0xf4,0x09,0x21,0xfb,0x92,0x84,0x33,0x76,0x87,0x64,0x01,},"\x6e\x97\x0e\x0b\x1c\x92\xa7\xf4\x96\xa8\x2d\x8a\xe8\x0c\xfd\x0c\xce\xf1\xd2\xc7\x99\xd4\x17\x28\xf3\x5d\xdc\xd6\x03\xb4\x21\xc2\xa5\xab\x3b\x48\x9e\x78\xf4\xb6\x22\x97\xde\x43\x7c\x5a\xd1\xa9\x68\x3f\xf8\x7f\xa2\x8e\xb3\xcc\x38\xce\x24\x2a\xf5\x94\x19\xf9\xfd\x43\xfc\xaa\x54\xfc\x39\x89\x92\xf8\xc8\xe3\x1f\x2b\x33\xdc\xcc\xd0\xee\x11\xba\x7b\x38\x8e\x8d\x2a\x36\xea\xd0\x67\xc6\xbe\xce\xd5\x89\x0a\xb7\xd4\xa9\x4f\x55\xda\xb9\x21\x28\xa0\xf8\x14\xc0\xe6\x89\x71\xdf\x57\xbd\x50\x78\xa7\x40\x31\x75\xc7\xc2\xfd\xd4\xa5\x24\x47\x15\x3a\xb3\x74\x56\x72\x9a\xee\x33\xe5\xfc\x93\xdb\x8e\x7f\x48\x03\x09\x87\x5e\xcf\x6d\xb0\x7c\xe7\xf3\xca\xc5\xde\x49\xe3\x61\x27\x5c\xa5\x0b\x6b\x71\x9f\x4b\x71\x5b\x3e\x30\x86\x3c\xbb\x3b\x71\x64\xba\x9e\xb9\x6e\xf3\x30\x4b\x19\xad\x4d\x74\xdc\xe4\xbd\x25\xe7\x7b\xbb\xbe\xff\x1e\xe7\xd1\xfb\x55\xb9\xc4\xf7\xfc\x4c\xd9\xbd\x55\x10\x8a\xfc\xf9\x9c\x1a\x41\xcd\x6f\x6b\x1a\xdb\x29\x7b\x10\x6c\x8b\xa2\x4e\x31\x34\xf8\x7d\xd8\xef\xe5\xcf\x85\x49\x22\x91\xb9\x4d\x66\x00\x95\x8c\x28\xb9\x12\x2f\xe6\xe0\x1b\xd3\xe3\x29\xe4\x2d\x19\x26\xb8\x9f\x7a\x8c\x40\xa4\x98\x67\xe5\xaa\x3a\xd7\x49\xbd\x98\xda\xe7\xd0\x06\xb4\x53\x60\x9e\x7d\xae\x26\x36\x4d\x91\x72\xbe\x72\x83\x33\x01\x21\xed\x2b\x40\x27\xe0\x88\x51\x18\x74\x3a\x6e\xa0\xcb\x7d\xc2\x74\x09\xa9\xb2\x82\x0b\xcc\x24\x2e\xa1\x0a\x00\x93\x7b\xf8\x49\x20\x1e\x0f\xb6\x19\x94\x21\xf1\x63\xe9\x79\x4f\x2d\xd4\xb3\x32\x01\x4a\x09\xd3\xee\x80\x71\xda\x78\x77\x47\xf9\x90\xf5\x17\x99\x19\x02\x7d\xdf\xf7\xca\xb0\xf5\x5e\x9a\xfa\x8e\xcc\xb1\x6c\xc2\xdd\x3c\xbb\xea\xd7\xff\x7e\xc8\x18\xc2\x53\x39\x3f\x74\x87\x41\xf5\x54\x07\xf7\x40\x8e\xe3\x3a\x42\xae\x2d\x6e\xcb\x3f\xb6\x00\xa7\x1f\x30\xab\x63\x06\x06\xe5\x53\xb4\x36\x78\xe5\x98\x54\xf3\xa2\x94\x7b\xcf\x4e\xa0\xfc\xfe\xdc\x31\x4d\x83\x70\xd1\x26\x63\x95\xfd\xa3\xc9\x10\x5e\x97\x59\x52\xf6\x0e\x30\x86\xbb\x82\x48\x15\x13\xd6\xfe\x8a\xdb\x4f\x95\xef\xb9\xa9\x5b\x66\xd4\x80\xd2\xbb\x17\x10\x78\xcf\x40\x68\x4a\xc6\x9a\x78\x9c\x7f\xb7\xfa\x42\x53\x33\xd7\x05\xdb\x00\x06\x67\x55\xdf\x72\x8d\xe0\x2d\xf2\x5b\xae\x34\xf1\xd7\xd4\x9c\xaf\xfc\x51\xe9\xba\x2b\x10\xb9\x8f\xe4\xcd\x9d\x22\xb7\x76\x4e\xd9\x31\xed\xb5\xf0\xb5\x54\x49\x6e\x99\x53\x91\xe0\xaf\x0b\x8d\x1c\x7a\x82\x95\xa8\xd1\x5a\x7c\x65\x56\xd2\x9c\xb1\x9e\x08\x55\xca\x50\x5a\xd0\x1d\x2a\xa3\x09\x28\xa8\x4b\xc4\x89\x59\x57\x6d\x81\x2d\x9b\x27\xb8\xe8\x88\x79\xfa\xa2\x80\x6c\x08\x41\x36\x0e\xcd\x0f\xe8\x3f\x5b\x84\x8f\xc1\x2f\x65\x8f\x1e\x7f\x40\xe5\x61\xc2\xe7\x8d\x3b\x01\x25\x21\x0a\x92\x06\x1c\x2d\xb2\x1b\xa6\x60\xe8\x60\x8f\xf5"}, -{{0x7b,0xa2,0x5f,0x27,0x97,0xa2,0x83,0x6f,0x37,0x9d,0x6b,0xbc,0xbe,0x9a,0xbf,0x4f,0x2d,0xef,0x5e,0x52,0xf7,0x2b,0xd9,0xe0,0xb0,0x06,0x57,0x10,0x22,0xfa,0xc2,0xf3,},{0x6c,0x2e,0xd4,0xe8,0xc0,0x12,0x4d,0x5d,0x05,0x40,0x79,0x6d,0x39,0x45,0xd1,0xde,0x71,0xaa,0x69,0x69,0xe6,0xab,0xea,0x0f,0x1b,0x0e,0x6f,0xc4,0x29,0xc7,0x04,0x6f,},{0xf1,0xf5,0x90,0xa9,0x07,0xba,0x98,0x0e,0xb0,0xd6,0x48,0xab,0x4d,0xed,0x5f,0x92,0xfa,0xf7,0xcb,0x85,0x1d,0x81,0xd8,0x58,0xa7,0x8f,0xa6,0xb7,0x7c,0xbb,0xe1,0x2f,0x64,0xd2,0x0d,0xf5,0x27,0x71,0xa7,0xd5,0xe5,0x39,0xa1,0x52,0xd7,0x31,0xe1,0x90,0x3d,0x42,0x11,0xfd,0xcf,0xef,0x9a,0x48,0xb4,0x6c,0x8f,0xd5,0x39,0x4c,0xa0,0x09,},"\x17\x1a\x34\x09\x87\x80\x97\xb3\xb2\x2b\x2c\x00\x66\x0b\x46\xe5\x42\xc2\x16\x4c\x00\xbb\xee\x54\x55\x48\x37\x94\x0e\x70\xf0\x3d\xa9\x91\x6a\x40\xf9\xbd\xe8\x28\x8f\x45\xe4\x7b\xef\x7f\xfe\x4e\x55\x7c\xd4\x47\x40\x45\xe7\x40\xfd\x95\x9d\x98\x4f\x4e\xc8\x1d\xa8\x8d\x44\xa3\x73\xc1\xed\xa0\xcf\xc6\xb0\x8e\x35\x13\x73\xd3\xb8\x2a\xb0\x90\x2d\xf8\x06\x3f\xd9\x08\xe7\x03\xe0\xcb\xec\x41\x0a\xb5\xcd\xfe\xaa\xe0\x01\x88\xce\x2a\xd4\x2b\x8b\xf0\x4f\x7d\xaa\x5f\x0e\xe3\x33\xa6\xf9\x31\x1b\x4a\xd9\x81\x09\x52\xd5\xd5\xa6\x4b\x20\xf3\x7e\x84\x54\x15\xfc\x3c\xdd\x61\x6f\xeb\xec\x50\xdb\x29\x6f\xb3\xf3\xbb\x7f\x6b\x36\x6b\xbe\x52\xe4\x89\x7a\x05\x61\x7b\xf7\xc9\x81\xa6\x2e\xdc\xbb\xbe\x5d\xa4\xc3\x9c\xaf\xa8\x69\xaa\x2b\x27\x34\xe6\xcf\xed\x90\xed\x8b\xe7\x59\x49\x39\x0e\xe4\x45\x66\x89\x24\x55\xb8\x90\xcf\x56\x8b\x94\x5a\xab\xb7\x58\xd3\x85\x4b\xe6\x53\x9f\x3b\x86\xbf\x01\xd1\x88\xe4\x8c\xf2\x62\x6a\x0d\x7d\x38\x17\x03\xbe\x6e\xd1\x29\x0d\xfb\x94\x7b\xc2\xe0\xf8\x3d\xbc\x58\x70\x30\x80\xd7\xf5\xb9\xef\x19\xae\xf9\x30\x90\x8f\x68\xf0\xc8\x00\x10\xa9\x40\x1b\x30\x3a\x9f\x6d\xa8\x05\xbb\x8a\x0e\xd0\xf3\x94\x13\xee\xfe\xdf\x91\x9f\xfd\x8e\xa6\x39\x1b\xf9\x5d\x42\x29\x60\x4e\x49\x45\x7b\x8e\x23\xbe\xc6\x11\x48\x4c\xc7\xf9\x83\x2d\xd9\x5b\xdc\x3a\xd1\x77\xc0\x50\xf4\xab\x63\x3d\xcd\xb3\xe6\x91\xf5\x90\x28\x73\xb3\x8c\xb0\x72\x0b\x91\x13\x35\x7f\xe0\xcf\xb9\x8a\x68\xcc\xcb\x5d\x5f\x08\x09\xd5\x9a\x37\x5c\xf7\xb5\xa2\x75\xd4\x3c\x4c\x34\xff\x68\xe4\x48\x52\x6e\x8e\x1a\xad\x44\xe2\x00\x08\xa2\x32\xaf\xbc\xf5\x32\xa4\x2b\x50\xa0\x25\xa1\xb2\xee\x4e\x07\x7e\xb0\x12\x5a\x59\x3d\x51\xa2\x00\xec\x20\xd8\x72\xc0\x58\x38\xad\x36\xaa\xae\xec\xcc\x3e\xd9\xef\x41\xf6\xd1\x22\x67\x02\x17\xd5\xc0\x8f\x6e\x13\xc1\x72\x19\x45\x89\xac\xc3\xc5\x9f\x7e\xf7\x90\xc7\xc8\x5a\xa6\xd5\xeb\x69\xd4\xc8\x9a\x72\xf5\xe7\xc9\x24\x69\x85\xc1\xac\x0c\x5d\x19\x7f\x76\xa7\x3e\x37\x74\x83\x9d\x4a\xa2\x09\x6a\xca\x19\x0a\x30\xf4\xaa\xc5\x40\x57\xb6\x4f\x35\x8e\x0e\x06\x40\x0c\x0d\xf2\xf8\x76\x41\x2d\x34\x48\x4c\x43\x44\xf4\xd7\xc8\x66\x51\x7d\x3e\xfb\xa4\xa9\x0f\xa7\x14\x4c\x9b\xa5\xdb\x33\x61\xdb\x57\x69\x40\x3e\xc8\x16\x26\xa5\x11\xf9\x3e\x30\xf8\x58\x6e\xad\xfc\xaf\xd9\xa3\x6e\xcf\xf8\xd2\x4b\x42\x07\x9a\xda\x8e\x57\x9a\xc3\x08\x51\x17\x7b\xce\x90\x38\xb0\xe1\x30\x00\x72\xd6\x8e\xfd\xd7\x23\xf6\x35\x50\x64\x84\x32\x75\x81\x5a\x66\xb9\xd7\x3a\x12\x99\xaa\x59\xa1\x81\x2f\x64\x52\xfb\x41\x15\xea\x2b\x1f\x9f\xf4\xa9\x96\x90\x59\x6e\x3f\x20\x22\xd8\x1e\xd8\x74\xdd\x67\xe6\x18\x9c\xa0\xe6\x8b\x93\x04\xe9\x93\xa9\x5b\x66\x66\x5e\x0d\x07\x4c"}, -{{0xd1,0xe1,0xb2,0x2d,0xe5,0xe0,0x4c,0x9b,0xe4,0x65,0x1d,0xd7,0x39,0x95,0xa3,0x66,0x6c,0xb5,0x35,0x2c,0x65,0xac,0x7b,0x70,0x51,0xb3,0x66,0xfe,0x1a,0xc0,0xc3,0x10,},{0x12,0xfe,0x56,0xf1,0x01,0x2d,0x5c,0x12,0xf1,0x35,0xed,0x59,0x82,0xf3,0x82,0xae,0x5f,0x11,0x43,0xbc,0x90,0xe8,0xcb,0x8c,0x93,0x05,0x17,0x54,0x55,0x1e,0xe9,0x0a,},{0xab,0xaa,0xb4,0xfa,0x6a,0xeb,0x0a,0x0b,0x34,0xee,0x0d,0x61,0x3a,0x0a,0xf0,0x49,0xed,0xb4,0xce,0xdb,0xfe,0x9d,0x3b,0xeb,0xe9,0xc0,0x06,0x18,0xb1,0x15,0xb9,0xd1,0xfa,0x52,0x4e,0xc3,0x49,0x5e,0x13,0x30,0xb0,0x93,0x61,0x81,0xea,0xbb,0x14,0x29,0x9f,0xac,0xcc,0x40,0xea,0xa8,0xcc,0xa5,0x7e,0xd3,0x24,0xb7,0xa6,0x42,0x0c,0x0e,},"\xc7\xf2\x18\xb5\xaa\x7a\xae\x17\x99\x62\x5a\x56\xc4\xd7\xd7\xb0\x26\x37\xe5\x72\xf1\x41\x1a\x61\x22\xf1\x13\x79\x1a\xa3\xc6\x28\xe8\x19\x60\x2f\xb4\xf0\x33\x5a\x61\x23\x01\x3f\xa6\x4e\x9f\xdc\x4e\x4a\xe4\x97\xbd\x16\x9c\x2f\xa7\x7b\xc2\x36\x12\x97\x17\xf4\x62\x88\x6b\x41\x08\x93\xfa\x78\x09\xcb\xfd\xc8\x92\x22\x3b\x40\xee\x04\x1e\xbd\x4e\xc7\xdd\xab\x55\xbe\x60\x81\xa1\x64\x66\x43\xa9\x12\x0b\xaa\x46\x28\x9a\xcb\xa1\x5b\x3b\x48\xaf\x3b\x7a\xde\xcd\x69\xf4\x3e\xed\xe7\x9d\x9b\x19\x57\xe1\xd8\xc3\x12\x9e\x0f\xa0\x57\x9d\x3d\x39\x53\x70\x46\x1b\x0e\x12\x55\xc9\xca\xa9\x4e\x47\x25\x60\x1c\xb9\xd0\xe2\xd6\x02\x44\xd1\x5b\x64\xe1\xf7\xbc\x90\x15\x59\x0a\xd0\x99\x1f\x12\xf8\x26\x73\x11\x20\x6e\x9e\xb5\xd1\x6a\xdd\x0b\xa5\x21\x8f\xce\x5f\xff\xe1\xc9\xce\x5f\xfe\x1f\x73\x11\x32\xf4\xb1\x2c\xac\xb0\x2f\x97\x45\x17\x10\x84\x6b\x7f\x82\x4f\x4f\xa9\xe0\x89\x19\x26\x64\x69\x78\x9c\x00\xce\x0d\x94\xd3\x8f\xa8\xfe\xc3\xf5\x1f\x2f\x88\x6e\x9d\xb0\x9b\x80\x44\x70\xb1\x9e\xc9\xe8\x06\x63\xf1\x55\xb4\x98\x4d\x2b\xbd\x0b\x2c\xe9\x93\x02\xe0\x6c\x64\x44\x4b\x69\x6e\x31\x29\xfc\xef\x34\xc3\xdd\x00\xf7\xab\x5b\xed\xa7\x47\xa3\xfc\x63\x39\x19\x2b\x74\x0f\x35\x69\xb6\x7d\xbd\x6f\xfa\x39\xe2\x71\xfa\xa4\x00\xd9\x61\x6b\xff\x86\xec\x49\xa6\x59\xde\xf2\xe7\xf5\xd4\x51\xf2\xa2\xb3\x5e\x66\x2a\x6e\x7c\xc2\x2f\x1e\x5c\xdc\xde\x8a\x59\x98\x81\x35\xb7\xe7\x65\x62\x74\x3c\x1e\x6a\x09\x99\x01\xb3\xef\x97\xcb\xff\x23\xf2\x09\xbd\x70\x88\xc2\xf0\x32\x45\x27\x9a\x1d\xc7\x8d\xdd\xc1\xbb\x0c\x1d\x35\x10\x03\x57\x88\x21\x26\xb3\x28\xd3\xd9\x4e\x08\x71\xb6\x0b\xe2\x53\xfd\x1b\x6e\xcf\x03\xc1\xdb\x73\x1d\x9e\xed\x0e\xdf\x2b\x26\x43\x23\x07\x80\xa4\xd6\x6e\x99\x17\x9a\xad\x1b\x82\x40\x2e\x55\xf6\xd7\x85\xeb\xc8\x0f\x8d\xd2\xfd\x2b\xeb\x09\xf3\x10\x35\xdf\x62\xc1\x7f\x42\x8e\xd0\xb2\xd5\x65\x08\xdb\x31\xe6\xd2\xdd\x5f\xb6\x9e\xbe\xee\xa3\x25\x70\x70\xcf\x2f\xe6\x7d\x42\xd2\x88\x16\xa5\x5d\xba\xe0\xb1\x85\xdb\x44\x21\xbb\xfd\xae\xfc\x79\xc0\x8c\xdc\x1a\xcc\xf7\x16\x42\x56\x2e\xc7\x00\x36\xda\x2b\xba\xfa\x4a\x89\x19\x54\xc4\xee\x40\x49\xb5\x5c\x64\x0e\x91\x93\x0e\x39\xe3\xef\x10\x18\xdc\x16\x47\xf2\x69\x42\xc6\xdb\xdf\x4d\x56\xe4\x1e\xb2\xc8\x98\xc8\x21\xfa\xc1\x7c\xc2\x73\xe8\xe4\xaa\x56\x08\xa8\x12\xcf\x4b\x82\xf9\x60\x19\xc2\x52\xd5\x6e\x78\x05\x29\x8c\xcb\xe8\xce\x40\xb0\xbd\x0f\x93\x3b\x88\x4c\x0f\xaf\x97\xa9\x58\xb2\x04\x08\xb8\xa5\x29\x7c\xce\x55\x27\xb2\xca\x21\x28\x06\xe7\x2a\x32\x64\x45\x7a\x7f\xac\x86\x62\xb8\x2c\xa2\x33\xe1\xc7\x75\x8d\xc6\xe4\xf1\xb9\x99\x58\x63\xf2\x5f\x74\x7b\xce\xe4\x3b\x63\x9b\x1f\x8f\x20\x26\xd2\xd2"}, -{{0xdf,0x29,0x4e,0x47,0x7b,0x1b,0x91,0xc5,0xac,0x5b,0x98,0xc3,0x30,0xd2,0x22,0xd7,0xcd,0x2d,0x53,0xe7,0xd0,0xbc,0x0c,0xa4,0x03,0xdf,0x4e,0xc7,0x53,0x27,0xa2,0x74,},{0x5f,0x0b,0xd2,0x2f,0x2f,0x18,0x96,0xd1,0x56,0x3b,0x4f,0x69,0x40,0xc7,0xdf,0x89,0xef,0xc2,0x58,0xc0,0xff,0x6c,0x2f,0xcd,0x67,0x4d,0xaf,0x4f,0x59,0xfc,0xdb,0x60,},{0x99,0x45,0xab,0x73,0xb5,0x85,0x62,0xb3,0x55,0xda,0xbc,0x4e,0x2b,0x6b,0xe7,0xe0,0x5f,0x37,0xf8,0x95,0x71,0x44,0x0c,0xcc,0x32,0xc1,0xa9,0x47,0x37,0x09,0x5b,0x78,0x66,0x74,0x7d,0x21,0x00,0x70,0x00,0xa0,0xf0,0xe3,0x51,0x11,0x4b,0x88,0xe0,0x13,0x8b,0x55,0xdf,0x44,0xfe,0x72,0xeb,0xe9,0x59,0x14,0x10,0xe7,0x07,0xfa,0x9d,0x02,},"\x3e\x42\xd6\x68\x40\x96\x30\xcb\xb8\x48\x12\xac\x7f\xf1\x15\x4f\x70\xfc\xa8\xbd\xff\x3f\x1a\x04\x0f\xa3\xaf\x86\x8a\xa1\xc4\xe9\x15\x08\xb1\xae\xfd\xf5\xc3\xa8\xb4\xb0\x77\xa4\xd1\x62\xd2\xc0\x5b\xd3\x64\xfb\xbe\x8c\x5a\x08\x31\x4c\x2e\x07\xdf\xfb\xd6\xe8\xdd\x2e\x08\xa0\xdc\xc9\x6e\xa9\x2d\xdd\x4c\x97\xf7\x9d\xb9\x42\x5a\x6c\x6b\x34\xc4\x60\x43\xd0\x9a\x68\xb7\x68\x72\x36\xa9\x18\xd2\x1a\x56\x16\x10\xa1\x3a\xc5\xe4\x46\xe0\x88\x1b\xb2\x6c\xc8\xe2\x8a\xad\x16\x54\xf8\x67\xad\x82\xae\x33\xf8\xf7\xa7\x8a\x65\xbe\x57\x69\x94\x75\x51\x6a\x1a\x87\x46\x84\x3e\x93\xa1\xa2\x94\x35\x46\x24\xfa\xc0\x4d\x45\x2c\xcf\xbe\x4f\xdd\x92\xa9\x51\xaa\xa0\x7d\x26\x67\x6d\x5c\xb0\x77\xa5\x00\x0d\x43\x9c\x12\x42\x76\xc0\xdb\xcf\x86\xe7\xaa\x15\x3c\xc2\x4b\x5a\xff\x67\x7c\x6b\xad\xc2\x61\xc2\x89\xf4\xa4\xae\x51\x9b\x2e\x2f\xff\x31\x2f\xbf\x0f\x5b\x4c\x46\x98\xf6\xae\xdd\x8f\xcb\x1d\x23\x48\x94\x2d\xe3\xfb\x73\xba\x27\xf6\xdb\x14\xc2\xf0\x91\x80\x35\x6e\x5f\xca\xe1\xad\xf6\x5e\x22\x42\x5f\x8c\x27\xf1\x9e\x98\x94\x83\x50\x6e\x5d\xf5\x7a\x1b\x61\x3a\x22\xe3\x45\x03\x8b\x3e\xa9\x1c\x0f\x78\xff\xff\x46\x38\x3f\x38\xc7\x22\x25\x35\x8a\x34\x57\x0d\x6f\x66\x4a\x17\x45\x4a\x15\x16\x13\xf0\x1c\xba\x77\x7f\x62\xec\x83\x18\x75\xec\x5e\x27\xd2\x57\xf1\x80\xb6\x36\x6c\xb1\x83\x10\x7c\x40\xf5\x0b\x01\xb2\xb9\xbf\x91\xb3\xb5\x54\x9e\xd9\x31\xa3\x53\x7a\xa4\x16\x89\xf7\x2b\x25\x7a\x6a\xa3\x9c\xdc\x6f\xce\xdf\x14\x39\x83\xbe\x5b\xff\xe3\xae\x2b\x29\xf8\x2f\x88\x21\x22\xd6\x6a\x79\x25\xf5\xa7\x10\x82\x6c\x0d\xad\xb7\xe4\xfa\x4e\xc0\x79\xba\x2e\x76\xda\xda\x43\x3f\x30\x77\xcb\x1e\xf7\x46\x13\xfc\x5d\xbf\x82\x58\xb6\xda\x7c\x73\xc8\x66\x37\x24\x57\xed\x50\x0f\x97\xf9\x90\x7e\x1f\xc2\x63\x53\xc7\x0b\xa3\xbd\x9c\x36\x15\x1d\x46\x86\x5d\x2c\x65\x98\x65\x62\x48\x5c\xf8\x42\x1f\xeb\xbe\x77\x7c\x73\xe6\xcd\x00\x26\xd6\x6d\x35\x12\x8b\x9f\x8f\x33\x26\x4a\xeb\x56\xbd\x3e\x4b\x8d\x1f\x52\x66\x41\x1e\xf3\xb2\x3b\x76\xb3\x6d\x4c\x9d\xf3\xc5\x12\xfd\x56\x0c\x2b\xe5\x2a\xc5\x23\xc1\x93\x77\xad\x2a\xdc\x0e\x8c\x30\x9c\xf5\xbb\xf7\x2d\x9e\xb8\x5d\x65\xa9\x48\x47\xd4\x97\xd8\xd1\x02\x42\x4f\xb8\x43\x81\x66\x6e\xcb\x1c\x35\xa3\x72\x5d\x7d\x9e\x92\x84\xfd\xeb\xb6\xb3\x62\xaa\x6a\x9c\x6f\xb3\x7a\xba\x87\x35\x7f\x57\x4c\x0e\x63\xb4\x49\x7d\x49\x8f\xfb\xb7\xd0\x69\x2d\x78\x4b\x4b\x18\xce\x9f\x91\x50\xc1\x46\xd3\xd1\x8c\x38\x2e\xda\x04\x93\x8c\x69\xd0\x77\x8f\x29\x02\xd5\x23\x5a\x56\x52\xb9\x7c\xef\x6d\x5f\x60\xda\x6b\xd7\xed\x4f\xf9\x7c\xd9\x4d\x49\x39\xca\xca\x3b\x6b\xaa\x3c\xfd\xac\x04\xcd\xa9\x55\x96\xf4\x67\xcb\xc6\xcb\xcd\x92\x64\x16\x77\x43\xea\xc1"}, -{{0x70,0xc6,0x85,0x9f,0x08,0xcf,0x42,0xb4,0xbd,0xa9,0xeb,0x62,0x97,0x9d,0xff,0xb7,0xcb,0x08,0xeb,0x3d,0xab,0xe9,0x3f,0xe9,0x4b,0x01,0x38,0x46,0x17,0xcf,0x67,0x30,},{0x40,0x1c,0x9e,0x20,0x33,0xe2,0x25,0x9f,0xb6,0x38,0x3b,0x3e,0x8b,0x9e,0x17,0xb3,0xf2,0x06,0x27,0x46,0xbb,0xe6,0x48,0xcf,0x48,0x45,0x16,0xdb,0x0f,0x2f,0x1b,0x06,},{0x0f,0x03,0xa4,0xf1,0x5c,0x33,0x9b,0x4f,0x7b,0x88,0xb4,0xe2,0x1a,0xd9,0xe3,0xd6,0xbb,0xf3,0xef,0xfb,0x7b,0x67,0x8f,0xfa,0x50,0x0d,0x47,0x38,0x3b,0x71,0xa7,0x45,0x4f,0x62,0x90,0x7b,0x56,0xf5,0x9f,0x9b,0x9a,0xf6,0xd5,0xb2,0xa0,0xfc,0x1c,0x73,0x7a,0x64,0x10,0x51,0x95,0x08,0x98,0x99,0xf5,0x7a,0x2c,0x9d,0xba,0x50,0x9e,0x0a,},"\xdd\x06\x09\xea\x15\x99\x21\x39\x5d\x11\xfb\x2d\xa8\xea\x4f\x74\x7d\x7f\x74\xb5\x80\x52\xe0\x1c\xad\x40\xa2\x71\xfa\x0b\xbe\xed\x91\x02\x0f\x4f\x0c\x08\x46\xc4\xf0\x77\x78\xa6\xaa\x76\x8e\xb5\x17\x12\x29\x4e\x9e\x1f\x32\xa6\x02\xb1\x52\x51\x4f\x5e\x6d\x39\xf9\xe0\x8f\x7a\x78\x12\xbd\x90\x0c\x10\xa9\x14\x69\xe4\x7e\x8a\x78\xe5\x4c\xd4\xbd\x7c\xfe\xde\xde\xc1\x71\xef\x37\x3f\x1c\x4f\x9b\xbc\x2c\x81\x40\x2f\xb1\x4e\xd0\xbf\xac\x8d\x04\x3f\x11\x7d\x61\x24\x52\x1a\xfa\xe0\x91\x6a\x51\x0d\x56\x8a\xcf\xa3\xaa\x33\x01\xbc\x97\x9a\xc2\x8d\x55\x1d\xbb\xea\x6c\xea\xc4\xc2\x12\xaa\x8c\x84\x92\xb3\x61\x3a\xe7\x39\x5d\xd4\x12\x5f\xc4\xc2\x5d\x5b\x4d\x99\x23\x08\x21\xd4\xb1\x7e\xc2\xee\x6b\xe7\xd6\x04\x19\x5a\x21\x54\x33\x3b\x97\x35\x26\x58\x0c\xa7\xef\x9e\x30\xc6\xc1\xdd\x42\xef\x2a\xfe\x42\xb1\x1b\x1a\xa4\x9b\x9c\xca\xba\xca\x17\x09\x1e\xeb\x38\x0e\xc5\xe3\x4a\xd1\xe3\x82\x7c\xc6\x0d\xac\xf1\x44\x28\x6c\x78\x92\x59\x0b\xd2\x67\x1a\x8d\xc5\xf3\xa7\x02\xc1\xde\x7c\xd3\xb4\x2c\x1b\x15\x0b\x09\xc3\xe5\x8e\xf6\x94\x3b\x45\xd8\x9d\x41\xdf\x36\x1f\x1d\x5c\x25\x56\x55\x91\xb6\xac\x8d\xea\xa7\x36\x76\x53\x1f\x6e\x5a\xbe\x58\x04\xb0\x09\x7f\x8d\x45\xea\x29\x39\x17\x73\x33\xca\xce\xf1\x2e\x4b\x71\xfe\x49\x36\xba\xfe\x00\x74\x7a\x89\x30\xbc\xea\x55\xb8\xfd\x84\xa0\x1f\x6d\xf8\x4e\x7a\xcb\x93\x1f\xc7\xc0\x1d\xdf\xd6\x3d\xee\xc3\xad\x3e\x69\xdf\xa2\xb7\x35\x50\x58\x3d\x57\x47\xee\xe9\x6c\x55\x36\x36\x87\x97\xe2\x47\xf2\x3f\x53\x7d\x79\x07\x9a\xb6\xda\x31\x41\x02\xc7\x44\x3d\x41\x96\x0e\x3a\x3d\x8c\x35\x9c\x4a\x4e\xc6\x26\xfc\xc4\x4e\x11\x0e\xa7\x44\xd4\x17\xaa\x85\x0d\xb8\xec\xdb\xfe\x34\x0a\x96\x2d\xb0\xd8\xc5\x7d\xc5\x17\xbe\x8b\x40\xd1\x4d\xe9\x7b\x1e\x9e\x04\x26\x44\x7f\xde\x0a\x04\xe5\x06\x79\xc5\x3b\xa1\xaa\x3c\xdc\x38\xc7\xed\xe6\xdb\x6c\x05\x4b\x1e\x9c\xe7\xde\xad\xaf\x93\xeb\xdd\x47\x07\x91\x53\x5f\x3e\xcf\xab\xf3\x41\x63\x55\xf7\xa1\x8a\x38\xaf\xe6\xbf\xe5\x07\xef\x08\xc4\x37\x3a\x4a\x69\xde\xe1\xfc\xb6\x5b\x16\x31\xa0\xde\x14\x88\x64\x9d\x0b\xb2\x67\x9a\x9a\x45\xf6\x78\x20\xb2\xa4\xa1\xe5\xa5\x48\x07\x2d\xa7\x03\x2d\x17\x25\x55\xe7\x88\xcc\x98\x60\xeb\xb3\xc0\xc3\x59\x49\x37\x51\xb0\xc2\xc9\x50\xa7\xfc\xf4\x80\x3c\x14\x7f\x93\x40\xfc\x93\xd8\x5f\x1e\xfa\x57\xb3\x90\x81\xb9\x2d\x93\x47\x3f\xd2\x35\x16\xc4\x95\x0e\xd4\xb2\x9a\x2e\xd3\xa0\x42\xae\x3d\x92\xa1\xe5\x2c\xb7\x09\x63\x6f\xc7\x27\x2f\xd7\x47\x20\x8b\xee\x2b\x16\xd1\x91\xe4\xc6\xde\xb2\x76\x72\xaa\x34\xe4\x39\x14\xcf\xf2\x05\x5c\xa4\xee\x8b\xa3\xe1\xdc\x58\xa6\x79\xc7\xf7\xde\xe2\xc1\xd5\x3e\x28\x75\x09\x70\xf5\x7d\x85\xea\xb1\xc2\x6b\x89\xbb\x73\xe0\xb1"}, -{{0xc5,0x96,0x29,0x61,0x81,0x5b,0x57,0xcd,0x16,0x24,0x03,0xce,0x08,0xe4,0x10,0x5d,0xdb,0x8a,0xae,0x2d,0x3f,0x53,0x3f,0xb4,0x9c,0xc2,0x36,0xb5,0xff,0x50,0x4d,0x6e,},{0xdb,0xad,0xe7,0x22,0x36,0xba,0x12,0xd4,0x97,0x7b,0xa4,0x6c,0x36,0x4b,0xb6,0x9a,0x88,0x7f,0xf4,0x02,0xde,0x91,0xd4,0x7a,0xfa,0x9b,0x93,0xc9,0x5b,0xe7,0x1e,0x7e,},{0x81,0x01,0xba,0xef,0x00,0x4e,0xb6,0xf5,0xad,0x4d,0xe0,0x97,0x9f,0xf3,0x6d,0x34,0x39,0xb8,0x21,0x2b,0xdc,0x92,0x89,0x42,0xe4,0x31,0x91,0x5b,0x3f,0xd1,0x8b,0xc2,0xad,0x67,0xb2,0x6f,0x18,0x94,0x1d,0xcb,0x16,0xd2,0xc2,0x91,0x91,0x42,0x1e,0x77,0x9f,0xed,0x62,0x2f,0xd9,0xf5,0x82,0x64,0x4e,0xaa,0xdb,0x3f,0xe5,0xc0,0x98,0x03,},"\x4a\xe4\x14\x8d\x79\xca\x94\x25\x59\x2a\xa2\x40\xbd\x15\x34\x24\xa3\xbf\x4a\xe2\x73\x95\x87\x2c\xe5\x72\x8a\xc7\x61\x35\x96\xa7\x7d\x5c\xe8\x56\x5d\x8d\x6e\x1b\x59\x35\xb3\x90\x6c\xaf\xe1\xff\x88\x8e\xbc\x98\x15\xe0\x4a\x62\x4d\xfc\x4c\x69\x07\xb8\x5f\x6f\x1a\x0d\xbd\xdf\xf6\x2e\x91\x51\x22\x0d\x47\x44\x62\xcb\x9f\x13\xd8\x9d\x3a\x93\xa0\x0b\xa2\xb6\x0f\x7e\x7c\xa6\x3d\xa1\x7a\x63\x79\xd6\x73\x55\x1e\x79\x0b\x59\x11\x72\x7c\x90\x6d\xc9\x4f\x86\xd8\x27\x75\x46\xc1\x56\x4a\x45\x57\x3a\x77\x43\xbb\x8a\x13\x8c\xde\x87\xb3\xb2\xf2\x8e\x5e\x24\x59\x40\xa5\x1e\x7c\x45\x8c\xf8\xc5\xf0\xa7\x02\x75\x96\x25\x53\xe0\xd2\x39\x0d\x17\x1d\xb4\x4c\x2f\x7a\x5c\x9e\x9f\x93\xb9\x0f\x7a\x5f\x54\xf1\x91\xb0\xd8\x75\xba\xd7\xe0\xbe\xb9\x80\xc2\xa3\x36\x5c\xd7\xb9\x20\x87\x24\xf4\x65\x44\x18\x11\x7e\x16\xef\x71\x34\xe3\xe2\x79\x4b\x6f\x9e\x80\xec\xab\xec\xa3\x25\x4e\x70\x4c\x21\xb7\xad\x30\xc5\xde\xe0\x17\xea\x25\x33\xfc\xd9\x42\x51\xe5\x5a\xe7\x5a\x8c\xc6\xdb\x66\x74\xb3\x9c\x88\xca\x42\x00\x60\x43\xd6\xbd\x9b\x00\xec\xf6\x4c\xea\xfe\xeb\x40\x2b\x1f\x22\xfd\x89\x1f\x2d\x11\xc5\x15\xc1\xab\xa6\xa2\xd4\xc0\xbd\x21\x81\xa4\x8e\x43\xfd\x1c\x0a\xf9\x1f\x9b\x7b\x7d\x37\xf3\xdc\xd9\xe4\xc0\xa7\x59\x74\x84\x67\xd3\x48\xa8\xb1\x16\xdf\x6a\x4e\xac\xf1\x78\xae\xcc\xcd\x30\x66\xe9\x2d\xca\x45\xda\x7a\x3e\x31\x9f\x37\x71\xeb\x34\x90\x02\x21\x93\xc5\xb6\x52\xf0\x45\x68\x7e\x17\x05\xf2\xe5\x69\x1c\x13\x4b\xe4\x00\x63\x53\xd7\xec\xd0\xe9\x18\xd5\xde\x0f\x3b\x87\x80\x9f\xca\x4a\xcf\xab\x94\xe1\x14\x8f\xf7\xcf\x07\xf7\xcf\xd0\xc7\x45\xdd\x2b\xe0\x1a\x24\xa5\xe0\x69\x28\x06\x98\xbc\x3f\x54\x00\xa6\xdc\xd0\x8e\x44\x59\x5c\x03\x88\xe4\x48\x33\x76\x8f\xc4\x91\x04\xee\x11\x5b\xdc\xb0\x2b\xfb\xda\x17\x9d\x16\x4c\xe9\x69\x93\x66\x29\xf2\x33\x56\x01\xb5\x6f\xe8\xf7\x85\xcc\xa3\x80\x5f\x04\x03\x87\x2c\x62\xf7\x3c\x3c\xe8\x05\x63\xd0\x70\xe9\x76\xd8\xec\xc5\x11\x24\xe2\xca\xce\x7e\xe1\x86\x99\x04\x7c\xb0\xf8\xfb\x8d\x9c\x59\xb8\xa6\x0d\x12\xc0\x8a\x09\xfc\xe5\x8f\xd9\x2c\xd3\x6d\xb6\xa8\xe8\x9d\x11\x8c\xf8\x8a\x92\xdc\x8a\x26\x00\xbd\x95\xf5\xa8\xe8\x5d\xb5\xcd\xbb\x24\x9c\xa8\x12\xca\x20\x9c\x76\x18\x05\x1c\x45\x64\xa3\xa0\xe1\x92\xb7\xe4\x59\x92\x45\x6c\x87\xd1\x74\x12\xc1\x1a\xde\xad\x52\x6a\xb8\xdb\x21\x45\x2f\x74\x71\xd1\x7f\x2e\xbc\x90\x01\x54\x50\xed\xf4\xf0\xa4\x4f\xb2\xf4\x90\x5f\x74\xd7\x02\x75\xcc\xd8\x9b\x93\xa6\x50\x47\x3c\x02\xa7\xda\x0c\xbc\x67\x91\x5c\xeb\x7a\x1e\xa5\x9f\xa8\x88\x44\x72\xdc\x91\x7e\xe9\xd2\x46\x33\x9c\x59\x26\x84\x3e\xcf\x53\xfa\xfd\xc5\x6a\x69\x56\x01\xa2\x76\xc2\x3a\x84\x3e\x4d\x30\xf8\x9c\x97\xc9\xee\xe6\xdf\xc7"}, -{{0xde,0xe6,0x86,0x6c,0x78,0x74,0xc1,0x27,0x02,0x9e,0x96,0xe0,0x25,0xbf,0xfd,0x35,0xfc,0xfd,0xf4,0xdc,0x36,0x96,0x6c,0x15,0xee,0x62,0x93,0x36,0x80,0x13,0xd3,0x79,},{0x08,0xc9,0x4d,0xa3,0x51,0xbb,0x2b,0xee,0x72,0xe6,0xe1,0x96,0xbe,0x74,0x88,0x07,0x58,0x37,0x62,0xc5,0x29,0x6e,0x05,0xb1,0xe5,0x29,0xc4,0x7c,0x6b,0xba,0xce,0xc6,},{0xb7,0x8e,0xbd,0x6d,0x65,0xb1,0x75,0xd4,0xbb,0xd3,0xd9,0xa2,0x08,0x2a,0x0e,0xfe,0x6e,0x99,0x1c,0xb2,0xe4,0x03,0x52,0x1e,0xec,0xe0,0x0f,0x41,0x8f,0x2e,0x95,0x6b,0x66,0x90,0x78,0x80,0x65,0x8b,0x9e,0x8e,0x47,0x69,0x96,0x53,0xd1,0x59,0x13,0x23,0x80,0xd9,0xce,0x11,0x09,0xaf,0x9c,0x27,0x57,0xda,0xf4,0xcd,0xf1,0x8c,0x9c,0x0a,},"\xf1\xaa\x19\x77\xf5\x31\x1b\x53\x8b\x94\x0a\xe4\x42\xa3\xab\xc8\x9a\xac\xcd\xcd\x0a\x79\x38\x0a\x24\x25\x8d\x4a\x9f\x1c\xe6\x38\xfc\x2f\x5b\xa2\xe5\x3f\x8e\x1f\xa6\x17\x6f\x17\x8d\x90\x24\xa7\x78\x94\xc2\x8c\xad\x42\xd6\x29\xc7\x93\xd6\x8a\x02\xbe\x94\x11\xb5\x27\xac\xad\xae\x7e\x5c\x38\x51\xba\xbb\x45\xb5\xfe\xce\x32\x9e\x29\x03\x4c\xd4\x25\x71\x08\x37\x27\xf3\x5a\xec\xad\x7c\x9b\xe5\x95\x4e\xc6\x4e\x8f\x6e\xca\xb7\xcc\x05\x90\xe5\x41\x56\xa4\xe1\xa4\x53\x03\x84\x9f\x78\x97\xe7\x2c\xf2\xfb\xcd\x84\xf5\x6c\x72\xf9\x41\xdb\xb0\xb0\x9a\x32\xe6\x38\x6f\xbe\x18\xa4\x3b\xb9\xbd\x8b\x79\x3e\x4b\x9e\xdd\x53\x21\x03\xea\xb5\x4d\x62\x71\x17\xd2\x81\x39\xb6\x4e\x60\xfb\x0b\x81\xd0\x90\x01\xbb\x24\x04\xd9\x25\xe2\x65\xba\xbd\xc6\x9f\x96\xb1\x35\xe9\xe6\xab\x7f\xeb\xb1\xed\x30\x75\xd6\xaa\x2a\xbd\x2b\xbf\x9b\x65\xfa\x9b\x3b\x71\x91\xef\x37\xb6\x33\x60\x59\x10\xee\x88\xf6\x6e\xad\xa7\x9f\x00\xf5\x36\xd3\x80\xb8\x2f\x2f\x4b\x59\x85\x11\x2d\xe0\x04\xa5\x66\x03\xf4\x43\x6d\x8f\xf3\x00\xf4\x2b\xf5\xac\xdc\x7a\x4b\xf1\xea\x9d\x41\x96\xc4\x80\x49\x5b\xac\xb0\x06\x76\x30\xfc\xc0\x00\xb4\xf2\x79\xdd\x3f\x30\xf3\x53\x27\x60\x92\xd1\x52\xc3\xf4\x3e\xfd\xc0\x41\xde\xaa\x0b\xc5\xaa\xab\xa7\xf8\xbb\xd8\x5e\x69\xc1\x37\x42\xd6\x78\xdb\xb6\x53\x60\xaa\xf7\xb5\x48\xa0\x44\xc0\xec\x60\xa5\x7a\xf6\x50\xbc\x31\x97\x3f\x83\x2f\x96\x12\x65\xbc\x23\x18\xf8\x07\x75\xaf\xd5\x1f\x55\x19\x4c\x42\x42\x3f\x7b\xf4\xe0\x05\x2f\x98\xcb\x20\x69\x13\xff\xea\x48\x86\xec\xd2\x7a\x41\x79\xb1\x37\x73\xf9\x47\x50\x2e\x18\x1b\xf1\xa1\xf2\xc6\x2c\x6f\x08\xc2\x03\x59\xf0\x6d\xf2\xb1\x81\x27\x04\x3b\x10\x70\xd0\x19\x4e\xf5\xe5\xbf\xd3\x7d\x22\x79\x84\xcf\xb1\x09\x89\xf2\x1c\x71\xad\x0f\xe3\xb8\x12\x27\xd3\xa7\x17\x89\x45\x5e\xda\x38\x3c\x22\xf4\xd2\xfc\xc7\x25\x79\xf4\x65\xe0\x66\xf3\xd3\x8b\xef\xc0\x24\xef\xef\x6c\x2e\x32\x96\x49\xce\x43\x4d\x62\x73\x67\xa9\x00\xd0\x7f\xe6\x23\x42\x35\xc8\x46\x56\xea\xc5\xdd\x0d\x78\x8c\xf4\xcb\x31\x87\x18\x24\xd6\x6a\xe4\xbc\x89\xed\xeb\xa1\xb3\x67\x01\x29\x84\x53\xe8\xda\x1e\x69\xcf\xb8\x68\x09\x5c\x3b\xe6\xed\x21\x82\xda\x1c\xff\x49\x05\xaf\xd2\x07\x31\xac\x1e\xd9\x84\x16\x47\x37\x90\x3c\x7d\x8b\xb0\xad\x16\xae\xcf\x2f\xae\x33\x74\x04\xfe\x35\x66\x45\x15\xd9\x3b\x70\x1e\x2f\x87\x86\x64\x45\x4c\x0d\xec\xd1\xc6\x55\x8a\xda\xce\x3c\xdb\x22\x75\x07\xa5\x16\x06\xf0\xa5\x4d\xf8\xdf\xaa\x42\x02\x05\xdd\x57\xc6\x52\x42\xff\x24\xa4\x05\xef\x85\xc9\x2d\x60\x28\x86\x93\x2b\x35\xfa\xbe\x9c\x3b\xce\xbf\xc6\x23\x56\x39\xe8\x73\xfc\x2d\xd0\x84\xc5\x2c\xd6\xa7\x41\x3b\x83\x1d\x1c\xc9\x99\x31\x37\x3a\xab\xd8\x47\x62\x0e\xb6\x9b\xb0\xfa"}, -{{0x52,0x36,0x23,0x55,0x59,0x95,0xba,0xaf,0x2a,0x27,0xad,0xcb,0x1e,0xba,0xfa,0xa8,0x02,0xd2,0x3e,0xf7,0xab,0xfa,0x97,0x75,0xf2,0xc9,0xbf,0xa0,0x7d,0x64,0xe0,0xac,},{0xd3,0x4d,0xea,0xe6,0x52,0x3e,0x61,0x9d,0xd1,0xbf,0xc8,0xf3,0xc4,0xca,0x4b,0x78,0xb3,0x68,0xc0,0xf7,0x20,0x03,0x5e,0x14,0x4c,0x3f,0x2f,0xc1,0x05,0xd4,0xce,0x21,},{0xb1,0x87,0x17,0x29,0xfe,0xc8,0x3a,0xea,0x0a,0xaa,0x47,0x2b,0x70,0x0a,0xcd,0x09,0x48,0x13,0xfb,0x7d,0x57,0xb9,0x09,0xe0,0xea,0xaf,0x21,0xee,0x93,0x18,0x47,0xad,0xde,0xdd,0x2b,0xe8,0x53,0x3d,0x0c,0x30,0x5c,0xb9,0xcf,0xe5,0x08,0x0e,0x76,0xc2,0x80,0x8b,0x6e,0x51,0xc9,0x82,0x62,0x90,0xdd,0xb7,0xb9,0x4b,0x6f,0x7d,0x58,0x0b,},"\x05\x53\xe6\x9e\xf2\x11\x65\x2d\x62\xbf\x28\x1b\xfb\xdd\x37\xbe\x22\x76\x9d\x81\x97\x46\x36\x1c\x7d\x65\xdd\xd0\xfa\xd6\x77\xcc\x04\x38\xb3\x01\xd1\x51\x45\x78\xe0\xda\x58\xe5\x5f\x72\x9f\xa8\xe6\x6d\xde\xb7\xf9\x73\xa8\x18\xd2\x4e\xd8\xfe\x02\x7b\x84\x91\x17\x9d\x07\x77\x3f\xb5\xd2\xbb\x96\xaa\x85\xd6\xb3\x75\x04\x54\xe5\x0d\xe9\x1f\x9b\x88\xae\xe8\xaa\x68\xe6\xbb\x53\xed\xc6\x66\x77\xb4\x1e\x60\x1a\x46\xab\x4b\xb1\xe6\x56\xe7\xfa\x5f\x01\x79\x93\x36\x80\xa6\xec\x95\x04\x27\x5e\x7a\xdf\x7a\x32\x48\xe6\x3a\x0f\xc9\xc1\xea\x5a\xe9\x6c\xd0\xc6\x5a\x89\xa7\x7c\xec\x2b\x1f\xd8\xf4\x53\x7e\x82\xc1\xc4\x88\xa6\x9a\x0e\xf6\x4f\x58\x73\x4d\x9e\x73\x47\x8e\x1d\x1f\x12\x31\x14\xef\x66\x08\x5e\x0b\xa3\x19\xcb\x81\x0b\x66\xaf\x96\xd1\x30\x8b\x1a\x2b\xd9\x2b\xa2\xc2\x65\xaa\x30\x9e\xcd\x55\x57\xd4\x02\xc3\x80\x2c\xae\x8d\x7e\x95\x00\x7f\xe6\x10\xc2\xaa\x75\xfc\x66\x19\x6c\x3f\xad\xfe\x99\x7d\x6d\x59\x98\xe1\x8d\x26\x0e\x9d\xa3\x1d\xa9\x21\x8c\xba\xd1\x03\xcb\xfc\x2c\x75\x47\x76\x5d\x67\xe8\x1f\x24\xac\x83\x02\x2e\xf5\x1c\x6c\xc5\x08\x64\x36\x6a\x35\xf6\xb9\xb9\xaf\x94\xe8\x4c\xaa\x9f\xd3\xd7\x67\xc8\x31\xf0\x96\x7a\x61\x46\x2f\xbc\xfc\xc8\x03\xf1\x2e\x37\x39\x03\x9a\xcd\x5d\xbe\x93\x66\xf0\x5a\x33\xdb\xea\xf3\x60\xe2\xdd\xcb\xe5\xc4\x43\xf8\x0e\xf2\xad\x62\xe0\x3c\x1d\x5b\x70\xcd\xea\xb4\xa7\xdd\x41\x55\x30\x64\xc8\xd1\x52\x70\x9d\xef\xf8\x20\x76\xb9\x07\x11\x92\x37\x6f\x51\xd4\xc2\xc7\x1a\x84\xe8\x9f\x2d\x94\x01\x32\x0c\x2e\x45\x9b\x3e\x24\x3c\xca\x7c\x26\xfd\x09\x8c\x26\x4a\xc8\x8e\xf6\x38\x92\x1d\x98\x0b\x0a\xe9\xe5\x12\xd3\x72\x03\x7d\x81\xad\xc4\x81\x26\xd7\xc9\xe4\xb5\xaf\xa5\x7e\xc2\x65\xd4\x01\xb9\x65\x3e\x92\x8a\xfb\x7d\xff\x9b\x48\xe2\x95\xe4\x70\xd6\xb5\x2e\x88\xb3\x9d\x0a\x40\xcb\x8e\xba\x24\x9f\x8b\x13\xd8\x11\x13\xdb\x1d\x3e\x01\xef\x75\xc7\x22\xf2\x69\x48\x8e\x96\x3c\xc8\x18\x27\x04\xf8\xca\x01\x8e\x73\xdc\x07\x14\xe9\xa9\xfc\x79\xbc\x43\x63\xc2\x8c\xb3\x98\x43\x74\xf7\x3b\x2a\xa8\x78\x6e\x74\xe0\x15\x95\x07\xa2\x98\x83\xfe\x0e\xd1\xc6\x00\xf5\x25\x88\x5f\x2f\x10\xea\x00\x6c\x39\xe5\x9b\x92\x5b\x76\x5b\x1e\xde\x53\x42\x57\xa1\xf4\x0f\x28\x46\x58\x4f\x06\x97\x46\xb5\x2f\x56\x00\x43\x0a\x28\x63\xd7\x93\x60\x95\xfb\xc2\x2a\x6a\xda\x67\x4d\x41\xb3\x74\xe2\xb8\xb9\xa1\x9f\xa7\x12\xb5\x94\x45\x33\xbb\x6d\x6e\xc4\x3b\x89\xd4\x97\x1b\x70\x20\x5a\x6a\xcd\x72\xa8\x99\xda\x12\x61\x82\x04\xdb\x0c\x3e\x82\x67\xb8\x45\x79\x16\x93\xe0\xae\x6a\x35\xf1\x4d\xa1\xf8\xf4\xdd\x17\x4b\xce\x03\x18\xfb\x5a\x00\xf6\x72\xed\xe4\x23\x04\xcf\x04\xa6\x27\x60\x57\x75\x90\xf2\x7e\x2d\xfa\x6e\x5e\x27\x95\xd6\x60\x53\xb3\x0a\xf7\xf1\xbf"}, -{{0x57,0x5f,0x8f,0xb6,0xc7,0x46,0x5e,0x92,0xc2,0x50,0xca,0xee,0xc1,0x78,0x62,0x24,0xbc,0x3e,0xed,0x72,0x9e,0x46,0x39,0x53,0xa3,0x94,0xc9,0x84,0x9c,0xba,0x90,0x8f,},{0x71,0xbf,0xa9,0x8f,0x5b,0xea,0x79,0x0f,0xf1,0x83,0xd9,0x24,0xe6,0x65,0x5c,0xea,0x08,0xd0,0xaa,0xfb,0x61,0x7f,0x46,0xd2,0x3a,0x17,0xa6,0x57,0xf0,0xa9,0xb8,0xb2,},{0x90,0x3b,0x48,0x4c,0xb2,0x4b,0xc5,0x03,0xcd,0xce,0xd8,0x44,0x61,0x40,0x73,0x25,0x6c,0x6d,0x5a,0xa4,0x5f,0x1f,0x9f,0x62,0xc7,0xf2,0x2e,0x56,0x49,0x21,0x2b,0xc1,0xd6,0xef,0x9e,0xaa,0x61,0x7b,0x6b,0x83,0x5a,0x6d,0xe2,0xbe,0xff,0x2f,0xaa,0xc8,0x3d,0x37,0xa4,0xa5,0xfc,0x5c,0xc3,0xb5,0x56,0xf5,0x6e,0xdd,0xe2,0x65,0x1f,0x02,},"\x2c\xc3\x72\xe2\x5e\x53\xa1\x38\x79\x30\x64\x61\x0e\x7e\xf2\x5d\x9d\x74\x22\xe1\x8e\x24\x96\x75\xa7\x2e\x79\x16\x7f\x43\xba\xf4\x52\xcb\xac\xb5\x01\x82\xfa\xf8\x07\x98\xcc\x38\x59\x7a\x44\xb3\x07\xa5\x36\x36\x0b\x0b\xc1\x03\x0f\x83\x97\xb9\x4c\xbf\x14\x73\x53\xdd\x2d\x67\x1c\xb8\xca\xb2\x19\xa2\xd7\xb9\xeb\x82\x8e\x96\x35\xd2\xea\xb6\xeb\x08\x18\x2c\xb0\x35\x57\x78\x3f\xd2\x82\xaa\xf7\xb4\x71\x74\x7c\x84\xac\xf7\x2d\xeb\xe4\x51\x45\x24\xf8\x44\x7b\xaf\xcc\xcc\xec\x0a\x84\x0f\xec\xa9\x75\x5f\xf9\xad\xb6\x03\x01\xc2\xf2\x5d\x4e\x3b\xa6\x21\xdf\x5a\xd7\x21\x00\xc4\x5d\x7a\x4b\x91\x55\x9c\x72\x5a\xb5\x6b\xb2\x98\x30\xe3\x5f\x5a\x6f\xaf\x87\xdb\x23\x00\x1f\x11\xff\xba\x9c\x0c\x15\x44\x03\x02\x06\x58\x27\xa7\xd7\xaa\xae\xab\x7b\x44\x6a\xbc\xe3\x33\xc0\xd3\x0c\x3e\xae\x9c\x9d\xa6\x3e\xb1\xc0\x39\x1d\x42\x69\xb1\x2c\x45\xb6\x60\x29\x06\x11\xac\x29\xc9\x1d\xbd\x80\xdc\x6e\xd3\x02\xa4\xd1\x91\xf2\x92\x39\x22\xf0\x32\xab\x1a\xc1\x0c\xa7\x32\x3b\x52\x41\xc5\x75\x1c\x3c\x00\x4a\xc3\x9e\xb1\x26\x7a\xa1\x00\x17\xed\x2d\xac\x6c\x93\x4a\x25\x0d\xda\x8c\xb0\x6d\x5b\xe9\xf5\x63\xb8\x27\xbf\x3c\x8d\x95\xfd\x7d\x2a\x7e\x7c\xc3\xac\xbe\xe9\x25\x38\xbd\x7d\xdf\xba\x3a\xb2\xdc\x9f\x79\x1f\xac\x76\xcd\xf9\xcd\x6a\x69\x23\x53\x4c\xf3\xe0\x67\x10\x8f\x6a\xa0\x3e\x32\x0d\x95\x40\x85\xc2\x18\x03\x8a\x70\xcc\x76\x8b\x97\x2e\x49\x95\x2b\x9f\xe1\x71\xee\x1b\xe2\xa5\x2c\xd4\x69\xb8\xd3\x6b\x84\xee\x90\x2c\xd9\x41\x0d\xb2\x77\x71\x92\xe9\x00\x70\xd2\xe7\xc5\x6c\xb6\xa4\x5f\x0a\x83\x9c\x78\xc2\x19\x20\x3b\x6f\x1b\x33\xcb\x45\x04\xc6\xa7\x99\x64\x27\x74\x1e\x68\x74\xcf\x45\xc5\xfa\x5a\x38\x76\x5a\x1e\xbf\x17\x96\xce\x16\xe6\x3e\xe5\x09\x61\x2c\x40\xf0\x88\xcb\xce\xff\xa3\xaf\xfb\xc1\x3b\x75\xa1\xb9\xc0\x2c\x61\xa1\x80\xa7\xe8\x3b\x17\x88\x4f\xe0\xec\x0f\x2f\xe5\x7c\x47\xe7\x3a\x22\xf7\x53\xea\xf5\x0f\xca\x65\x5e\xbb\x19\x89\x6b\x82\x7a\x34\x74\x91\x1c\x67\x85\x3c\x58\xb4\xa7\x8f\xd0\x85\xa2\x32\x39\xb9\x73\x7e\xf8\xa7\xba\xff\x11\xdd\xce\x5f\x2c\xae\x05\x43\xf8\xb4\x5d\x14\x4a\xe6\x91\x8b\x9a\x75\x29\x3e\xc7\x8e\xa6\x18\xcd\x2c\xd0\x8c\x97\x13\x01\xcd\xfa\x0a\x92\x75\xc1\xbf\x44\x1d\x4c\x1f\x87\x8a\x2e\x73\x3c\xe0\xa3\x3b\x6e\xcd\xac\xbb\xf0\xbd\xb5\xc3\x64\x3f\xa4\x5a\x01\x39\x79\xcd\x01\x39\x69\x62\x89\x74\x21\x12\x9a\x88\x75\x7c\x0d\x88\xb5\xac\x7e\x44\xfd\xbd\x93\x8b\xa4\xbc\x37\xde\x49\x29\xd5\x37\x51\xfb\xb4\x3d\x4e\x09\xa8\x0e\x73\x52\x44\xac\xad\xa8\xe6\x74\x9f\x77\x78\x7f\x33\x76\x3c\x74\x72\xdf\x52\x93\x45\x91\x59\x1f\xb2\x26\xc5\x03\xc8\xbe\x61\xa9\x20\xa7\xd3\x7e\xb1\x68\x6b\x62\x21\x69\x57\x84\x4c\x43\xc4\x84\xe5\x87\x45\x77\x55\x53"}, -{{0x03,0x74,0x9c,0xa2,0x04,0x58,0xa3,0x5a,0x37,0xa8,0xd7,0xa2,0x6f,0x95,0x9f,0x0d,0x59,0xf6,0xdc,0x99,0x73,0xfa,0x36,0x3c,0x1f,0xf8,0xca,0x4e,0x63,0x8c,0x2c,0xd3,},{0xea,0xeb,0x94,0xf4,0x06,0xbd,0xe6,0xa7,0xcf,0x8b,0xde,0x2a,0xdf,0x30,0x81,0xf8,0x37,0x5b,0x87,0xd9,0x33,0x5d,0x49,0x6c,0x71,0xd0,0x42,0xcd,0x2e,0xaa,0x16,0x6c,},{0x78,0xa3,0x87,0x7e,0x02,0xbd,0xfd,0x01,0x5e,0x7f,0x86,0xa3,0x27,0xa4,0x8c,0xc3,0xa5,0x23,0x0b,0xbd,0xb1,0x24,0x3f,0x1a,0x8c,0xf2,0x27,0xf7,0x8a,0xb5,0xe7,0x68,0x0d,0xe3,0x01,0xa9,0x15,0xdc,0x11,0xb3,0x36,0xfb,0x5f,0x65,0x66,0x84,0x8b,0x42,0x50,0x0a,0xdb,0x5d,0x67,0x39,0x69,0x12,0x2b,0xa8,0xf0,0x05,0x3c,0xd3,0x06,0x0b,},"\xee\xf5\xce\xeb\xd0\x44\x5e\x9c\x91\x81\xaf\xf9\xc6\xf2\x66\x01\x28\xfc\xfb\x63\x69\x1a\x42\xcf\xa4\x43\xd6\xa6\x49\xef\xc5\xfa\xd8\xc2\x08\x03\x76\x3e\xe9\x7d\x1d\xba\x08\xe6\x3e\x08\xa2\x61\x6d\xa0\x50\x77\x48\x9f\x2f\xa2\xc5\x6b\x75\x34\xf9\x40\x26\x19\x25\x1f\xdf\x9c\x32\x0d\xe7\xaf\x10\x9e\x2f\xd8\xb2\x56\x5c\xe8\xa7\x52\x4c\x94\x05\xec\x0f\x8f\xca\xa7\x14\x9a\x6d\x21\x0e\xfd\xe8\x3b\x11\x1c\xf8\x2d\xc0\x83\x5c\xf9\x4f\x20\xcd\xb0\x21\xb7\x3b\xd2\x62\x66\x65\x55\xe6\xd6\x27\x07\xb4\x6e\xe4\x2f\xa9\x00\xb4\xf4\xf7\x05\xde\x33\xd3\xdb\xdc\x68\xa8\x8d\x1a\x4d\x0a\xe9\x33\x56\x6d\xb6\xc6\x23\x7e\xc8\xab\xe1\x02\x4d\xac\x4b\x7f\x46\xd4\x07\xbe\x16\x59\x4d\x90\x46\xc7\x31\x2d\xda\x66\x14\xd9\xbc\xdb\x01\xfb\x83\x24\xfc\x62\xb8\xee\xaf\x0a\xbc\x23\xcd\x57\x0e\x30\x4f\xca\x08\xe8\x8c\x73\x5e\x5d\x31\x59\x24\x09\xce\xb5\x83\x86\x2e\x6b\x0a\x76\x77\x29\xf7\x55\x6f\xa2\xc0\x53\x64\x4d\x36\xc8\x33\x7c\x02\x74\xe7\x49\x20\x29\x82\xfb\x4a\x17\x1a\xca\xc1\x96\xc0\x2b\x7f\x16\xa8\xda\x49\x07\x1c\x8a\xb8\x07\x6d\xd5\xd3\xab\xad\xfe\x3a\xf8\x2c\xa8\x5d\xa0\x2d\xcc\x1c\x4a\x6f\x2e\x19\x30\xbe\xe2\x00\x9e\xee\x0d\x97\x1e\x40\xdd\x12\x17\x5c\x8d\x00\x69\x4f\x03\x25\xa3\xb3\x13\x3c\x0d\x0b\xd3\x82\xa5\x19\x4f\xb2\x14\x22\xce\x67\xc7\x8a\x5a\x6e\x15\x37\xe3\xb9\x7d\x5e\x20\x4e\x5d\x19\x56\x96\x39\x0f\x77\xd1\x90\x24\xc1\xbf\x6b\x51\x25\xa0\xcd\xbf\x7b\x98\x80\x03\x61\x81\xc9\x8e\x1a\xc2\xe5\x16\x5b\xd4\x96\xcf\x99\x74\x51\xa1\xc1\x21\x02\xe6\x69\x46\xb1\x67\x6a\xbd\x4c\xbd\xd2\xc1\x16\x73\xf4\xf2\xcd\x5f\x3c\x9a\x43\x4d\x74\x7f\xa0\x5b\x40\xfb\xc7\x22\x68\xb4\xeb\x28\x42\xe4\x74\x1f\x51\xb7\x70\x9b\x6a\xcc\xc4\x7f\xca\xf7\x0d\x9c\x1c\x4c\x35\x86\x71\x19\xd8\x1c\xb3\xff\x1f\x16\x08\x11\x33\xf1\x65\x9a\xed\x85\xf6\x3b\xc9\x01\x98\x9e\x26\x17\xfc\xce\x15\x3c\x29\x78\xd7\x08\xfd\x02\x44\x9a\xe4\xd5\x38\xd1\x22\xdd\xb8\x52\x7c\x0a\x76\xa1\x02\xee\xff\x6e\xdb\x65\xdb\xa2\x98\xd3\xc2\x17\xf6\x55\x18\x14\xed\xde\xec\xe1\xae\xf5\xf3\x71\xa5\x4f\x12\xbf\xfd\x6b\x49\x61\x81\x9a\x0f\x24\x4f\xf0\xd7\xd8\x69\x4c\x14\x42\x2d\xe9\x82\x2c\x13\x17\x9e\x4e\xeb\x81\x59\x50\x79\xb9\xdd\x2a\xd1\xe7\xc3\x9b\xd3\x03\xcc\x44\xae\x3f\x36\x34\x88\x15\x77\xa2\x66\xfd\x6b\xb7\x91\x78\x12\xb9\x99\xdc\x80\x9d\xc0\x9c\x3d\x70\x19\xda\xcd\x28\xe4\x30\x13\xa2\xf9\xe4\xf9\x4b\xb0\xbf\x71\x24\xef\x09\x17\x83\xf7\x96\x39\x7f\x64\x63\xbf\x1e\xfb\x39\xcd\x46\xf3\x79\x0a\x1d\x9b\x6a\x7c\x30\xf1\x49\xb5\xe6\x6c\x29\x37\xe3\x9c\xb9\x74\x4d\xdc\x66\xab\x56\x1b\xad\x4e\x6f\xa8\x53\x4d\x69\x88\x38\x22\x64\x3d\x63\xd8\xbd\x7b\x18\x16\x21\xa2\x67\xe9\x55\xe7\x58\xd1\x79\x2b\x44"}, -{{0x53,0xcb,0xd6,0xf6,0x8c,0xee,0x27,0xb9,0xf7,0xbc,0x05,0x9b,0x80,0x3b,0x44,0x79,0x49,0xbb,0xc9,0xc5,0xd5,0xa3,0x86,0x52,0xd7,0x78,0x9c,0xa1,0x54,0x20,0xde,0xa1,},{0x61,0x16,0x99,0x0b,0x53,0x31,0xe2,0x16,0x5f,0x82,0x74,0x3f,0x01,0xd8,0xe7,0xbd,0x5d,0x70,0x88,0xb3,0x01,0x59,0x83,0x3f,0xa7,0xb9,0x39,0xcf,0xb1,0xcc,0x04,0xd7,},{0xd8,0x25,0x04,0x40,0x5f,0xf1,0x6b,0xa6,0x44,0x3d,0xc4,0x82,0x36,0x72,0x63,0xa8,0xe2,0x00,0x36,0x0a,0xca,0xaa,0x83,0xfc,0x4e,0x4b,0x72,0xbd,0x24,0x9f,0x16,0x10,0x3e,0xc7,0xe5,0xa7,0xe9,0xca,0x17,0x19,0x8f,0x88,0x8e,0xac,0xa1,0x6b,0x74,0x0c,0xc3,0xf5,0xc3,0xb7,0xb6,0x17,0xa3,0x4b,0x94,0x91,0xc3,0xed,0x76,0xaa,0xb3,0x0d,},"\x30\x6f\x8e\x1d\xf0\xa4\xca\x78\xbd\x77\xe8\xe1\x19\x1c\x94\xde\xaa\x82\x64\x83\x55\xc2\xae\xcb\x7e\x82\xfc\x56\xd6\x4c\x50\x46\x19\x24\x7e\x7c\xf8\x94\x33\x28\xd1\x1f\x3d\xb4\xb1\xdc\x14\x8e\x8e\xf6\xf6\xc3\xbc\x35\x59\x69\x66\x2a\x28\x1a\x65\x57\x63\x91\x24\x2b\x7b\xd5\xa6\x2f\x8f\xa7\xac\xb6\x04\xe3\xa3\x44\xae\x1a\x9d\x73\x2a\x25\x43\x15\xf3\x1a\x04\x64\xc1\xe6\x58\x74\x62\xd2\x92\x12\xc4\x0e\x5e\xcf\x06\x1e\x26\x9a\xa0\xb9\x03\x90\xba\x41\x04\x07\x21\x68\x4b\xf2\xaa\x95\x82\xd8\x30\x66\x22\x1d\xb6\x0d\x0f\x7a\xe2\xf1\x49\xa3\x6e\x16\x95\x27\x04\xfb\x1f\x3a\x98\x2e\xac\x6b\x45\x83\x66\x5c\x63\xe5\xa8\x99\x6f\x24\xa5\x66\xdd\x50\x6a\x33\xd4\xec\x8a\x02\xb2\xbd\x34\xb7\x14\xc7\x45\x00\x0c\x01\x28\xa3\xc8\x9d\x94\x25\x06\xd1\x2f\x4b\xeb\x90\x0e\x29\x03\xcd\xb3\x4b\x35\xca\x9b\x6d\x3a\xd9\xb3\x50\xac\x99\xf4\x1d\xb3\xac\xfe\x7f\xe5\x5a\x28\xc0\xf0\x06\xb8\x44\xc9\xdc\x48\x53\xfd\x98\x53\x5a\xda\x79\x41\x6d\xca\x5f\xee\x58\x03\xa2\xd9\xf5\xd6\x8e\x6b\x80\x53\x9f\xf3\x02\xe9\x73\xf2\x4e\x9b\xc8\x8b\x7c\x41\x94\x11\x7d\xdb\x9f\x93\x2b\x32\xd5\xec\x74\x86\x8a\x13\x63\x1e\xce\x68\x81\x4b\x93\x14\x21\xdc\x89\x02\x49\x57\x03\x41\xf4\xb4\x23\xe8\x6e\x8e\xe0\x81\xb2\x27\x02\xf6\x49\xa6\xc7\xa0\xb7\xbd\xf5\xfb\x75\x62\x02\xbd\x10\xb0\xbb\x22\x15\xc7\xd6\x59\x7e\xff\xd8\x52\xf0\xb8\x9a\xbe\xc1\x5e\xa8\x22\x57\x68\x9d\xf8\x1e\x33\x82\x54\xf9\x3e\x81\xcb\xf0\x61\x72\x9d\x48\x3e\xb5\xcf\x64\x98\x05\xd7\x8e\xd8\x92\xdd\x0b\xd2\x48\xca\x1e\x25\x2b\xea\x51\x84\x7e\x1e\x82\xd3\x9a\xf5\x80\x50\xdc\x4a\xfb\xf9\x11\x5a\x3a\x60\x49\x3e\x8c\x0b\xa2\xe8\x6e\x08\x98\xcd\x0d\x43\x08\x91\xb9\xeb\x0a\x40\xf8\x74\x31\xe2\x5f\x41\x53\x8a\x03\x0f\x88\x4f\xab\x36\xad\x11\x16\x5d\x26\x7e\x8d\xd9\x4d\xcb\x05\xb9\x3a\x5a\xe7\x79\x69\x43\x0e\x18\x10\x13\x4e\x15\x72\x51\xb9\x82\xdf\x34\x3d\xff\xae\x61\x23\xa9\x9a\xa0\x56\x2d\x5d\xf7\x24\x08\xf1\xa6\xe2\x9c\x40\x59\xa5\xa8\xaa\xa4\xe6\x21\x52\x8f\xc6\x3a\x9c\xbe\x1f\x4c\x0f\xef\x25\xfe\x3f\x8e\x18\x15\x77\x74\x09\x7a\x9d\x91\x02\x0a\x90\x06\xb6\xc8\x60\xec\x1e\xe1\x0d\x52\x1d\x20\x3a\x1f\x8b\xb8\x25\x61\x29\x6f\xaa\xd4\xb2\x20\x3d\xa5\x3b\x20\x7a\x45\x9b\x29\xc1\x8b\xc0\x64\x93\x32\xb1\x80\x7c\x13\xca\x61\xac\xfa\xf9\x07\x79\xfe\xbb\xc7\xf3\x24\x21\x64\x79\x7e\x6f\x57\x2c\xb1\x5a\x9b\xe5\x88\x73\x43\x45\x5e\x26\xb9\x10\xc8\xbe\xfe\xe4\x2a\xeb\x04\x7f\x9a\xbe\x6b\x37\x50\xdb\xd7\xde\x99\x20\x2a\x0b\xb5\x76\xce\x14\x89\xe6\x1c\x1f\x5d\x27\xc6\x79\x2e\x63\x21\x8e\xdb\xfd\xb9\xb3\xdc\x51\x5b\x42\x54\xd8\x2c\x85\x9e\x52\xce\x6b\xd7\xad\x29\x6d\xd0\xe3\x70\x9d\x4c\x46\x63\x62\xf9\x02\x65\xe9\x9d\xa7\xd0\xb7\x01"}, -{{0x8b,0x65,0x74,0xf6,0xd7,0x39,0x69,0x81,0xe2,0x23,0xa4,0x83,0x7b,0xc3,0x39,0xc3,0xfd,0x65,0x94,0x19,0x84,0x5a,0x21,0x21,0xbf,0x85,0xbe,0x2e,0x69,0x5d,0x86,0x0d,},{0xe3,0x81,0x1a,0xca,0x70,0x63,0x4f,0x5a,0x9c,0xe4,0xb5,0x92,0xa1,0x7b,0xb5,0xcf,0xda,0x53,0x44,0x24,0x22,0xe2,0x03,0xcd,0xa9,0x50,0x4c,0x9d,0x65,0xb2,0x63,0xe8,},{0x2f,0xd0,0x90,0x54,0x75,0xa2,0xce,0xc3,0xe7,0x6f,0x99,0x09,0xb8,0xaf,0xd8,0x3b,0xeb,0x8d,0xae,0xfa,0x77,0xaf,0xcd,0xa3,0x4c,0xb4,0xf1,0x17,0x28,0xef,0x15,0xfc,0x9c,0x1d,0x7f,0x6f,0x6a,0xff,0xfc,0x28,0xf3,0x87,0x4f,0x91,0x3e,0x17,0x98,0x0f,0x0e,0x8e,0x3d,0x5a,0xd2,0x39,0x51,0xdf,0x2b,0x32,0xef,0xaf,0x62,0x19,0xce,0x0d,},"\xa4\x8a\xac\xc0\x49\x5f\xa0\xf1\x25\x9b\x27\x86\x5d\x3d\x75\xdc\x52\xc2\xc8\x28\xea\x8c\x4c\x2a\xd7\x85\x77\x07\x2f\xef\x72\x70\xf6\xa4\xd5\x82\xbb\x7b\x96\x2f\x4c\x3f\xd1\x49\xa6\x0a\x06\xbc\x8e\xfd\x29\x70\xef\x03\x14\x8d\xdf\x61\x98\xb9\xb6\x95\xa6\x9f\xad\xb5\x34\x09\x51\xcb\x75\x39\x8a\xc5\x1a\x4f\xd5\x54\x30\x37\x8c\xd5\xda\x88\x85\x21\x0b\xfd\x21\x46\xf9\x5c\x62\x76\x32\xfe\x8b\xe0\x6d\xe0\x1a\x7c\x27\xb8\x9d\xee\xfd\x67\xef\xc6\x9c\x9b\x5c\x62\xb3\x81\x08\xf7\x76\x22\x91\x43\xda\xe6\x60\xc1\x0c\xbe\xa3\xcd\x4f\x7e\xe5\x3d\xc3\x69\x2e\xd0\x11\x77\xe4\xa6\xf7\xe4\x24\xb5\x66\x6f\x7f\x49\x5f\x2a\x65\x60\x2c\x7d\x08\xc5\xd5\x72\x23\x4a\x56\x7c\xb6\xc3\x8a\xfd\x79\xca\xb5\xc4\x03\x6d\x62\x63\x7a\xef\xab\x55\x88\x76\x9a\x44\x8a\xb4\xc6\x5e\x24\x55\x4b\xd4\x15\x80\x50\xe0\x9e\xb5\x8f\x99\xab\x40\x77\x7b\x03\x56\x70\x9b\x7c\x02\x5a\xe5\xae\x54\x22\xac\xf8\x74\x44\x93\x1a\xe4\xd9\xa8\xb3\xd9\x44\x76\x88\x11\x28\xba\x1e\xb7\x32\x8f\xaf\xc7\x5f\x6b\x9d\xac\xc9\x6d\x3b\x64\x87\xdd\xef\x7c\x59\x26\x2d\xca\xda\x42\x6a\xac\xb1\x39\x22\x93\x54\x11\x56\x62\x35\xe0\x58\x37\x26\x22\xd8\x85\xbd\x0c\xc0\x49\x58\xdc\xfb\x17\xe0\x8f\xcd\x7f\x14\x7e\x20\x15\x6c\x8e\x26\xaf\x85\x53\x0f\x55\x11\xa6\x8d\xb4\x3d\xaf\xc4\xe6\xa2\x3f\x66\x7d\xf3\x74\x3e\xed\xd7\x1a\x3f\x07\xf7\x6f\x94\xd1\x68\x8a\xfc\x84\x63\xbf\xa5\xa4\x39\xae\x31\x14\x69\x94\x8e\x74\x47\x06\x4f\x0b\x05\x06\xf3\x67\x19\xc1\x34\x66\xa1\xb9\x87\x76\xd9\x67\xec\x58\x20\x8b\xa6\x74\x03\x73\x03\xdf\xc6\x19\x0d\xa7\x83\xff\x27\x30\x3b\x86\xb5\xfc\x32\x11\xf0\x1c\x91\x5e\x83\xa6\xad\x01\x21\x44\x79\x11\xcb\xe1\xcf\x69\x6f\x61\x8f\x60\x23\x66\x43\xf2\xe9\x4e\x15\x5d\xb6\x57\x18\x29\x44\xc1\xa4\x3b\xdc\x7b\xd5\xea\xf3\x48\x1f\xe1\x28\x40\x92\xcb\x37\x89\xa8\x92\xbd\x79\xa1\x11\xfd\x41\x01\x43\xcf\x91\xae\x33\x28\x60\xb1\xd2\x9a\xa0\x41\xd1\x77\xb5\x0d\x6c\xc2\xb9\x66\x0d\x32\x8c\x0f\x23\x0a\x35\x15\xe6\xa0\xd6\x88\x70\x9c\x0c\xd3\x47\xad\x2f\xf3\x2d\x61\xd1\xe1\xe9\xba\x76\xf8\x1e\x87\x3a\x6c\x42\x0f\x17\x07\xf3\x84\x1d\xb5\x19\x6c\xb5\x3f\x50\x6f\x00\x06\x35\x2c\x7c\x44\xc0\x80\xf3\x09\x68\x01\xa5\x7a\x49\xcf\xe8\x42\x05\xbd\xd7\xa9\x80\x1f\x84\x3c\xf2\x6b\x95\x58\xa2\xdb\x78\x8e\xf1\xb2\x37\x91\x5d\x58\x7b\x9b\xa9\x77\x98\x90\xf6\x1f\xdc\x91\xe0\x3e\x4f\x4c\xdb\xef\xe4\x17\xcc\x22\xd5\x22\xa8\x6a\xdd\xdb\x53\xf3\x74\x74\x50\xab\x62\xb5\x76\x56\x5d\xb3\x2e\x0c\xd4\x42\x76\x54\x7d\x9a\x16\x65\x3c\x27\x96\x59\xdd\x4d\x17\xec\x04\x82\x7c\x53\x3e\x33\x39\x0f\xe9\x4f\x79\x35\x09\x25\x6d\xb6\x75\x31\x73\x6a\xb3\xfc\xee\x2a\x30\x1a\xc3\xf0\xa2\x4d\x3b\x10\x8d\x7e\x75\xc3\x2a\x5a\xba\x36\xd6"}, -{{0x29,0xb2,0x88,0x1b,0x8c,0xaa,0xdb,0x33,0x6e,0x78,0x80,0xc5,0x10,0xb8,0x00,0x85,0xf4,0xb1,0x22,0x18,0x60,0xb3,0x01,0xeb,0x45,0x25,0x65,0x07,0x52,0xa6,0xd2,0x89,},{0x0c,0x5c,0x44,0xed,0x29,0xd2,0x1b,0xca,0xde,0xe2,0x1c,0xbd,0xe6,0x1a,0x9c,0xdb,0x6d,0x59,0x36,0x00,0x9b,0xa2,0xf5,0xb2,0xe7,0x77,0xc9,0x24,0xdd,0xfb,0x67,0x51,},{0x99,0xe9,0x96,0xe8,0x5a,0x49,0x4f,0x19,0x80,0xcb,0x07,0xde,0x9c,0xa6,0x16,0x5e,0x7d,0xe1,0x04,0xd3,0x9f,0xe3,0xc3,0x22,0x67,0x35,0xc5,0xda,0xa5,0x69,0x51,0x6f,0xca,0xf1,0xb6,0xe4,0xdf,0xad,0x0d,0x38,0x9b,0x6d,0xb0,0xec,0x8a,0x8f,0x20,0xdd,0x2c,0x60,0x26,0x56,0xb5,0xe7,0x61,0xc8,0xf3,0xa6,0x55,0x83,0x82,0x15,0x19,0x09,},"\x19\x74\xa2\xe2\xb4\x79\x49\xf4\x67\xa9\x31\xd1\xd9\xdd\x5c\xe1\x16\xe9\xf5\x03\x0a\xd0\x9a\x8c\xc7\x28\xd1\xae\xb1\x48\xbb\xf9\xac\xf5\x98\x74\xda\x80\xe7\x08\xd5\x3c\x66\x8f\x2f\x14\xd7\x52\x20\x71\xe9\x09\x80\x84\x27\xb2\xab\x5a\x05\xf8\xb9\x4f\x21\x50\x5c\xd2\x6a\xbc\x53\x45\x89\x78\xc7\x84\xd4\x79\xea\x6d\xab\x10\x5c\x4f\x79\x84\xa0\xfb\x97\x90\xe5\x06\x24\xf4\x73\x4b\x55\x19\x05\xaa\x5f\xfa\x60\x18\x4c\xd2\x01\xcf\x2b\x26\xc9\x79\x5d\xa6\xe7\xe0\x8d\x6a\x0b\xc7\x72\x24\x00\xfe\xf9\x4f\xc2\x10\x38\xbe\x89\xd3\x4b\xcd\x14\xc4\x27\xb8\x5b\x68\x66\x73\x71\x96\x15\x2d\x4e\xeb\x66\xd0\x5b\x24\x5a\xe8\x4b\xdc\x77\x87\xc1\x4a\x8b\xec\x2e\xea\x53\x60\xf0\x42\x43\x3d\x70\x79\x44\x67\xd4\x73\x93\xb9\x37\x57\xf3\x31\xcf\x2b\x53\xc6\x60\xd7\x1c\x29\x58\x2a\xee\xa7\x9b\x12\x52\x7a\x28\xb0\xc5\xe1\x10\xdf\x6f\x85\x4e\xea\xd9\xa2\xb0\x0d\x42\x54\x2c\xa8\x27\x6b\xb8\xbf\x98\x8b\xaa\xb8\x56\x59\x96\xfe\xe5\x0c\xf3\x1b\x24\x59\xc4\xc5\x0a\xb4\x75\x26\x5e\x83\xe2\x28\x5d\x43\xfe\x1f\x75\x2a\x55\xb2\xdb\xc4\x9f\xca\x04\xa8\x10\xf0\x41\x3b\xf6\xbd\x81\xb7\x9a\xc6\x4e\xe1\xf8\x9b\x97\xbd\x7d\x26\xd6\x25\x12\x27\x3e\x24\xa6\xba\xb2\xd5\xf7\xd2\x22\x6b\xaa\xab\x7b\x11\x12\x09\xbb\x03\x73\x3d\x8a\x60\xdf\xa3\x1a\x51\x6f\x4a\x8c\x76\x99\xd8\x28\x5c\x10\x65\x15\x9a\x6c\x73\x31\xc1\xde\xfb\x47\xa3\x0e\xf5\x85\x8c\x50\xb7\xd0\x45\x12\x4a\x09\x81\x3d\x1c\xfd\xa5\xc9\xcc\x3b\xb5\xbf\xae\x73\xc9\x84\x19\x7f\x8f\x85\x7f\x18\x6c\x41\xab\x87\xfb\x79\x62\xb6\x31\xf4\xd0\x07\xcf\xbe\xe2\x21\xfc\x65\x72\x78\x4a\x55\x11\x94\xc1\x97\x77\xb0\x8e\x6b\x59\x67\x57\xe7\xcb\xa7\xa0\xe2\x7f\xe4\x53\xf9\x0d\xc5\x9c\xc0\x8c\x64\x72\x43\x1c\x02\x0e\x8d\xd0\x91\x75\x90\xe7\x9c\x1f\x20\x73\x83\xaf\xb3\x90\x76\xad\x24\xda\x8e\xe5\x24\x86\x73\x94\x53\xa2\x59\x0e\x51\xbf\xc8\x9b\x13\xc2\x03\x3c\xfa\x5f\x89\x03\xcb\xe9\x96\x1a\x85\x98\xba\x55\x62\x32\x86\x9d\xfa\xb4\xd5\x6e\xdf\x4f\x05\xe8\xb7\x7d\x05\x87\x18\x95\xe6\x3b\x53\x51\xf7\x6c\xb2\xd2\xc8\x38\x5c\x10\x9d\x73\x06\x19\x2a\x25\x44\x6e\x4d\x62\xdc\x7d\x62\x4f\x0c\x66\x73\x98\x6b\xe0\x62\x8b\x2c\x2d\x73\xeb\x94\x1d\x35\xa3\x43\x30\x90\xf5\x9b\x28\xa5\x97\x9d\x56\xdb\xc9\xfd\x69\x73\xf6\x36\x47\x64\x2c\xd9\x03\xb0\xcf\x7a\x6a\xcd\x33\x0d\x87\xe2\x29\x27\x10\xde\x99\xe0\xc1\x79\xca\x78\x92\x9c\xca\xec\xfa\xed\xbf\x27\x42\x41\x4f\x17\x6b\x60\x90\xc0\xd5\x9a\x9d\xb7\x81\xc9\x96\x7e\x28\xfa\x4e\x77\xd2\xa0\x82\xe4\x2f\x52\x16\x91\x67\xe9\x2d\x4f\xdd\x82\xe2\xcc\x05\xdd\x91\x84\xc7\xdf\xee\x49\x0a\x23\x7f\xda\xd4\xdf\xeb\xc0\x18\x68\xe0\xa4\x35\x3a\x29\x54\xd0\x90\x92\x84\x61\x82\x1a\x7a\x84\x8d\x1b\x60\x81\x7f\xc3\xbd\xef\xa1"}, -{{0x42,0xaf,0xe8,0x9d,0xac,0x83,0xe7,0xd3,0x89,0x96,0xc0,0xdb,0xce,0x0c,0x98,0x74,0xc0,0x09,0x27,0xba,0xbd,0x77,0xca,0x8c,0xea,0xc3,0x4e,0x56,0x44,0x74,0x28,0x2b,},{0xa4,0xc5,0xf5,0xe3,0x80,0x3f,0x0a,0x03,0xd5,0xc1,0xc9,0x06,0xca,0xec,0x9c,0xc6,0xd2,0x85,0x14,0x07,0xf1,0xca,0x29,0xf7,0x2a,0x45,0xf2,0x33,0xe6,0x65,0x62,0x44,},{0x4f,0xba,0x2d,0x6c,0xc1,0xb7,0x19,0x3d,0x35,0x62,0xf8,0xc8,0xbf,0xe6,0x90,0x5c,0x82,0x9d,0xb2,0x65,0xa5,0x42,0x7c,0x5c,0x26,0x57,0x14,0x78,0x5b,0x83,0xf6,0x95,0x14,0xc5,0xe3,0x0e,0x28,0xb5,0x66,0x84,0xc8,0x2d,0xae,0x26,0x37,0x58,0x1b,0xf3,0xf4,0xef,0x27,0x14,0x20,0xbc,0x7e,0x60,0x10,0x61,0x3a,0x38,0xfa,0x10,0x1a,0x0d,},"\xe7\x10\xa1\x63\xad\x28\x85\xae\xb7\x65\x8e\xb3\x74\xf1\x18\xb7\x68\x42\xec\x36\xef\x3b\x01\x0c\x3c\x6b\x95\x59\xe8\xb1\x60\xc2\x62\x8d\xed\x0b\x85\x11\xeb\x49\x07\x18\x0d\xa4\xb6\x21\xe9\xaa\x4a\x32\x22\x88\x88\x8a\x1c\x09\x13\x0f\x69\xf8\x90\x59\x7a\x92\x93\xe7\x4f\x92\x89\xbd\xaa\x5c\x91\xb6\xfd\x24\xaa\x04\x4a\xb9\xfc\xb3\x40\x2f\x7a\xbc\x48\xd2\xab\x7b\x38\x80\xa0\x48\xda\xa4\x48\x64\x5a\xd2\xec\xb5\x5b\x3c\xae\xe2\xd6\x8a\x8b\xed\xb5\xd1\x86\x5d\x5e\x21\x1d\xe3\x9b\x0e\xaf\x22\xe5\xda\xf1\x0f\x71\x68\x20\x3a\xa1\x5b\x85\xaa\x47\xbb\xd3\xcc\x41\x69\xcb\xc1\xfe\x80\xb4\x70\x0b\x62\x58\x71\xed\xab\xcd\x4f\xe7\x4a\x3e\x96\x55\x69\xce\x24\x5c\xfc\xde\x42\x09\xcc\x8a\xbc\xd6\x79\x7d\x44\x18\x5b\x4f\x96\xc0\x18\x1b\xbd\x27\x00\x87\x83\xe9\x35\x8a\x53\x94\xfe\x3a\x34\xa0\x68\x71\xd3\x79\xda\x35\xb2\x0b\xb5\x7e\xef\x9e\x55\x24\xee\x79\x12\xa6\xf4\x1b\x4a\x1f\x68\x4c\x39\x19\xcf\xcd\xc0\x0f\x45\x80\xba\xf9\xe0\x9d\x31\x6c\xef\xa0\xf4\x65\xdc\xa5\xd8\xee\xc5\x14\xe9\x5e\x5a\x57\xbb\xcd\x27\xe4\x1f\x81\x19\xb2\x64\xae\x14\xa3\x19\xd8\xc3\x85\x9b\xab\xf1\xf4\xa6\xb6\xb7\x7e\x44\x2c\x86\x1d\x6e\xe2\x8a\xd1\x2b\x82\x36\x2e\x90\xdb\x0c\x36\x72\xb0\xe0\xd9\xff\x58\x14\x6f\xd1\x59\xaa\x8f\xa9\x9d\xc7\x55\xfc\x85\xb9\x0c\xf9\x41\x92\x79\xc0\x62\x4b\x93\xe7\x5e\xda\x0e\xf7\xc0\x96\x95\xae\x93\xbd\x72\x82\x41\x93\x77\xb7\x6c\xa8\xbd\xc0\x52\x1c\xfe\xe6\xf6\xd7\x29\xc3\xad\xff\x89\x46\x87\xb1\x77\xef\x19\x52\x9a\x6b\xda\xce\x70\xb6\x85\xc6\xd7\xa5\xd7\x4a\x08\xe2\xa9\xe7\x24\x03\x59\x75\xc8\x0d\x18\xcb\x36\x94\x70\xde\x72\x99\xcb\xd6\xb0\xa2\x7c\x92\x32\xc7\xea\xba\xc8\x6d\x50\x93\xa6\x5f\xfe\x0b\x40\xd4\x0b\xef\xe8\x0b\x68\xcd\x9d\xce\x1e\xa1\xe6\x57\xe4\x5e\x9c\x49\x9d\x0b\x69\x0f\x74\x45\x5f\xb4\x70\x96\xed\x8c\x18\xd1\x51\x7f\x90\x44\x29\x01\xa6\xc4\x10\xb7\xf6\x41\x5f\x20\xae\x48\xc5\x8a\xde\x8d\x67\x5b\x6c\x05\x8d\xf1\x6a\xe7\x69\x8f\xce\xae\x95\xaa\x77\x1b\x4c\xd8\x8a\x0b\x3f\x22\xc5\x1f\x98\xc7\x1c\x1e\xb4\x6b\x26\x4b\xf9\x7a\x30\x0e\xcb\x1f\xd2\x62\x26\xad\x8e\x87\xa0\x58\xcf\x3e\x70\x8e\x26\x0f\x56\x6b\x68\x53\x14\x04\x51\x33\xf4\xa5\xe8\xfb\xc3\x45\x61\xb9\xa0\xf1\xff\x93\x39\xf5\x52\x31\x07\x6b\x73\x6b\x6e\x11\x52\x43\x19\xa2\x72\xbd\x44\x53\xa0\xaf\x14\x93\xda\xa0\x91\x67\xe8\x46\x43\xd2\x07\xa0\x2f\xee\x98\xfb\x22\x3b\x01\xa9\x9a\xa5\xce\xf2\xb7\x00\x1e\x47\x0f\x6f\x94\xa5\xdc\x20\x8e\xdf\xc0\xcb\x8c\xf3\x11\x4a\x91\x96\x00\xf0\x61\x17\x2f\x0e\xfe\x03\x90\x36\xbf\x4d\xdd\xbf\xd0\xd4\x5f\x91\x44\x3b\xf2\x6f\x8e\x15\xed\x7d\xb8\xe5\x5f\x08\x6a\x4a\x45\x83\xf4\xbd\xa0\xf5\x56\x28\x4d\xcf\x71\x29\x2f\xe7\x0f\xca\xa8\x25\x9b\x9f\xaf\xf3"}, -{{0x10,0xf0,0x09,0xaa,0x88,0x7d,0x91,0xce,0xd8,0x09,0xaf,0xe1,0x92,0xd7,0x8e,0x47,0x99,0xd9,0x03,0x77,0x62,0xf4,0xa9,0xd3,0xa4,0x29,0xfd,0xe0,0xf3,0x9f,0x7b,0x7a,},{0xcf,0x51,0x16,0xb9,0x21,0x21,0x2e,0x9b,0x78,0x82,0x9a,0x02,0x63,0x46,0x36,0x91,0xc6,0xfb,0xcc,0xdc,0x0c,0x11,0x8b,0xe1,0x41,0xc9,0x6f,0x8c,0x88,0x05,0x3d,0xd3,},{0xc3,0x7b,0xb7,0xb7,0x3b,0x11,0x05,0xbe,0x08,0x6f,0xf3,0x07,0x69,0x72,0x07,0x72,0x62,0xdf,0x4d,0x73,0x32,0xf6,0x08,0xc7,0xb2,0xb9,0xd9,0x78,0xd4,0x74,0xcb,0xbc,0x27,0x10,0x46,0x08,0x00,0x35,0xf3,0x96,0xee,0x36,0x47,0x9b,0x7a,0x67,0x11,0xc6,0x8e,0x25,0x61,0xc7,0x41,0xc0,0xec,0x5f,0xc9,0xec,0xa1,0x73,0x4e,0x81,0x1f,0x04,},"\x2e\xdf\x14\xd6\xcd\x56\x89\x6e\xea\xa7\x70\x21\x1c\x49\x84\xbe\xd8\x0e\xca\x8d\x65\x34\xd5\xd5\x10\x88\x4f\x55\xf1\x1f\x99\xff\xa9\xf8\x9b\x58\x6f\xfe\x7b\x1e\xc7\xea\xab\x6a\x9d\xc1\xa2\x4a\x3e\xe3\xc7\xa6\xab\x44\xad\xe9\x91\x78\x83\x26\x4e\xde\x2f\x13\x61\xbe\x7d\x7a\x38\x17\xf2\x9d\xec\x95\x81\xc3\x19\xf1\x8f\x95\xd5\xbe\x26\xd9\x11\x8b\xe6\x78\x34\x00\x37\xa6\x8a\xbf\xc5\xef\xbb\x9a\x3f\x3f\x38\x78\xaa\xe3\x72\x1f\xfe\xf5\xbb\x6a\x26\xc7\xb1\xa3\xa5\x6d\x2b\xda\x6c\x6e\x86\x0e\xb4\x1f\xd8\xd8\x37\x11\x74\xd9\x1c\x74\xc5\xeb\x67\xc3\x85\x5c\x63\x0d\x64\x1d\x2e\x57\x1a\x9a\x51\xc6\x40\x2c\xfe\x18\x42\xce\xf3\x89\x80\xcb\x8d\x0a\x64\xbc\xc8\x9b\xe3\x18\x9e\x68\x11\xf4\x7e\x8f\x4d\x00\x63\xa5\xb1\x60\x1f\x44\xfd\xa2\x0c\x1c\x4c\x2f\xc4\x9c\xbe\x27\xa4\x13\x7d\xc4\x63\x8c\x2a\xd2\xd0\xa5\x47\x47\x47\x22\x9c\x56\x8e\x38\x05\x43\x1f\xa3\x6e\xeb\xa7\x85\xf7\xb9\x78\x44\xb5\xe3\x19\xfa\x6a\x09\xcc\x5a\xe8\x40\x34\x74\xbb\x91\xdd\x89\x6c\x1e\xc2\xba\xc7\x3d\x2e\x50\x5e\xfc\x62\xbd\x50\x2b\x5c\xeb\x08\xd1\x6e\x83\x2e\xc5\xdc\x4f\x98\xb5\x1b\x9d\x07\x38\xb9\xfb\x28\xf3\xab\xe8\x96\x6b\xf2\x23\x75\xa0\xb2\x2c\x47\x1a\x9e\x58\xe3\xfd\x70\x0d\xe1\x5c\x52\x96\x37\x3c\x1b\xc9\xd4\x64\x0e\xb7\x81\x6e\x1d\xc9\xc8\xce\x86\x19\xa8\x11\x83\x00\x9e\xc9\x74\x87\x1e\x8f\x0a\x97\x72\xed\xe0\xa6\x38\xb3\x57\x4b\xf7\x5d\x8f\x55\x98\x7f\x3c\xfa\x6f\xec\x68\x97\x0b\xfe\x00\xb2\x3b\x59\xfb\x5b\xf4\x99\x6e\xa5\xd7\x70\x4f\xcf\x2e\xff\xcc\x0f\xd7\xf3\xd8\xe6\x05\x60\x08\x09\x7f\x26\xca\xff\xd5\x41\x5a\x28\x2a\x27\x6a\x9b\x26\x45\xe5\xca\xb1\x29\x68\x87\x2e\xb0\x52\xf4\xd7\xc1\x0c\xc7\xc2\x1d\x51\x61\x81\x8b\xb4\x4c\xc8\x56\xb0\xde\x76\x9d\x55\x9c\x55\xdf\x64\xad\x9a\xdc\x16\xc0\xac\x65\x83\x8f\x66\x0d\xa8\x13\x86\xb7\x0b\x93\x52\x5e\xc2\xf4\x0f\x6f\x63\xf8\xea\x5d\x48\x30\xb9\x64\x6c\x46\x18\x3b\xb4\xe6\xf2\x70\x47\xbd\xa2\xa5\x46\xbd\x34\xbd\x4d\xb5\xfb\x88\xfd\x8a\xb7\xc7\x5f\x65\x2e\x15\xd5\xaa\xa6\xb4\x6a\x8a\xcf\x6e\x44\x8b\xf2\xdd\x64\xde\xe3\xc1\x05\x64\x7c\x7f\x83\xad\x20\x0d\x80\x97\xc4\x44\xa1\x58\xd8\x5a\x54\xf0\xe5\xdb\xb1\x2b\x43\xde\x94\x3a\xf1\xa8\x18\x56\xac\x96\x9f\x52\xa0\xbd\x45\x43\x81\xbd\x26\x50\x41\xa2\x69\x1d\x1a\x4a\x0d\x81\x9f\xa7\x90\x92\xc8\x80\x35\x21\xfa\x53\x68\x9a\xb8\x52\xf1\xfb\xab\xe0\x0c\x94\xb7\xf6\x82\xd1\x21\xcf\xf5\x43\x91\x32\x25\x29\xc8\xd5\xad\x7b\xbb\x98\xea\xfe\x30\x0a\xb9\x22\xf1\xc8\x92\x40\xa1\xe6\x33\xcf\x56\xa7\xb0\x2f\x74\xa2\x92\x14\xe5\x69\xa0\x57\xbd\x58\x5e\x40\x4d\x7c\xd5\x35\x20\x41\x45\x6e\x6c\xf9\x0c\x15\x34\x2e\x02\x56\x70\xf4\xfc\xcd\xf9\x87\x83\xb6\x85\x32\x14\xca\xc3\xfa\x80\x8a\x66\xc2\x7b\x65\x3c"}, -{{0x45,0x78,0xc6,0x5a,0x7c,0xa4,0x8f,0x27,0x74,0x05,0x0a,0x7b,0x0c,0xe7,0xa4,0xfd,0x5a,0xd4,0xe6,0x96,0xb2,0xb8,0xaf,0x23,0x96,0x16,0x4a,0x1c,0x7e,0x1b,0x7b,0xd7,},{0x15,0xbf,0x9d,0xbd,0x3b,0x81,0x73,0xe6,0xf0,0x3d,0xcf,0xd5,0x75,0xd9,0x09,0x84,0x5f,0x03,0x8e,0xaa,0x09,0xc5,0xd9,0x08,0xfe,0xf9,0x08,0xa9,0x74,0x58,0xb3,0xef,},{0xa1,0xc2,0x42,0xb4,0x5e,0x94,0xfd,0x18,0x0f,0x05,0x4c,0x71,0x01,0xe5,0x5b,0x39,0x65,0x68,0xf4,0x83,0xdb,0x6f,0x0d,0xfc,0x41,0x68,0xb6,0x9b,0x59,0xd3,0x85,0x81,0x4c,0x19,0xeb,0x30,0x75,0x23,0x7d,0x1f,0xbb,0x1f,0xee,0xbb,0xfe,0xa5,0x0c,0x56,0x81,0x3c,0x8c,0x39,0xc2,0x27,0x52,0xe0,0x2d,0xb7,0xe5,0x7f,0x3e,0x3f,0xbf,0x0d,},"\x50\x6f\x32\xb9\x68\x14\x24\x3e\x4d\xd8\x87\x0a\x8f\xd6\x0d\xde\xf0\x9b\xb8\xc5\x63\x15\x10\x70\xd9\xbc\xb2\xb1\x60\xa3\xea\xbd\x71\xa0\x44\xd7\x1e\xc9\x3f\xba\x95\x28\x8e\xd6\xfe\x1a\x7b\x92\x16\x51\x60\x43\x07\xd6\x5a\x45\xec\x5d\x3f\x26\x31\xac\xe4\x0e\x58\xd5\x3c\x72\xe5\x26\x88\x6e\x16\x97\x2f\x6e\x0d\xb9\x4d\x57\xb5\x56\x34\xfd\x39\xd5\x5e\x9b\xb7\xf2\x12\xaf\xab\x00\xf7\x74\x64\x09\x26\x7e\x8d\x56\x5f\xf5\xc2\x25\x73\x33\xc3\xd0\x41\x52\x17\x4f\xe1\x2d\xe6\xa5\x7b\xea\x05\x7d\xc2\x19\xe2\xfb\xa5\xf1\x91\xed\x81\x41\xc0\x18\x96\x9d\xe1\x94\x72\xd6\xaa\xf7\x63\xf1\x9e\xc5\x54\x70\x2b\xb3\xdc\xbe\x13\xca\x9b\x23\xb2\x41\x8c\x99\xe7\x18\x38\xa8\x8c\xf4\x54\x72\x8c\xf9\x20\x8a\x16\xc8\x4e\xa3\x98\x29\xb4\xba\x9b\x4c\x77\xe1\x76\x11\x2b\xfe\x1b\xf3\x5f\x95\xc4\x02\x8c\x7d\xb8\x0b\x36\xfa\xa2\x9d\x2b\x89\xe9\xe8\x62\xf3\x10\x00\x06\x5f\x13\x9b\x3d\xa7\x7d\x9d\x86\x85\x30\x57\x4b\x7e\x39\x1e\xd9\x7b\x34\xf8\x78\x16\x4f\x6b\x8d\x87\xb4\x06\xc7\xdc\x78\x60\xa5\x17\x5f\x92\x0e\x5a\x62\xdc\x1f\xc8\x2e\xd8\x45\x25\x43\xb1\x07\x36\x0d\x35\xd2\xb4\xc4\x23\x9e\xab\x46\x6d\x32\xbf\xda\x34\xf5\x10\x37\xa6\xfa\xe7\x6f\x6d\x8b\x83\xe8\xf7\xf4\x89\xdd\x4c\x1b\x49\xc3\x8f\x53\x57\x6e\x62\x17\x2c\x17\xde\xe3\x66\x5f\xde\x8c\xbf\x01\x5a\xf9\x66\x5b\x0f\x1d\xa2\xfb\x77\xb1\x34\xf0\x4b\xe2\x71\xe4\x02\xf3\x15\x37\xc2\xfc\x05\xc2\xf9\xb6\xfc\x3f\xfe\x47\xde\x33\x69\x13\x38\x67\xc6\x9d\x10\xe7\xf5\x37\xba\xe4\x56\x7d\x46\x8e\x0f\x2e\xd8\x06\xfe\x33\x5f\x93\x9c\x75\x99\x4f\x36\x3c\xe3\xb7\x0d\xaa\x7d\x5b\xd2\x31\x7c\x83\x38\x51\xfd\x8c\xc9\x72\x51\xec\x41\x90\x23\xd9\xd0\x17\x4d\x84\xd5\x60\x9a\x69\x18\xa1\x74\x0e\xb1\xe3\x09\xbd\x12\x73\x66\xde\xb9\xc5\xab\x12\x99\x2e\x99\x02\xe0\x15\xfe\x58\xd6\xad\xbf\x52\xd2\x2a\x76\x0a\xcd\x63\xe1\xed\xd8\xf1\x38\xe9\xfb\x01\x37\x18\x86\x01\xe1\x97\x8e\x7d\x04\xfb\x2a\xda\x2b\x2a\xee\x12\xf4\x9f\x28\x36\xc6\x84\x2d\x88\xcf\x48\xc8\x66\xe3\xd3\x3f\xcd\x26\x9c\x27\x5c\x89\xc2\x5e\x36\x69\xca\x90\xde\x7b\x67\xa7\xe7\xa3\x82\xcb\x7e\xfa\x47\xe9\xc2\xbf\x76\x57\x1c\x79\xa2\x50\x85\xef\x02\x04\x87\x15\x2f\x06\xbf\xa1\x33\x01\x5a\x1b\x8f\x1c\x0f\x6a\x9f\x0e\xae\x1b\xa6\x2b\xf1\x04\xf1\xc1\x6a\xc1\x4e\x1e\x96\xc4\xeb\xdf\x06\x1e\x0c\xc7\x10\x1d\x38\xda\x7e\x9e\x09\x94\xda\xf0\xf3\x22\xaa\x3c\xfe\xf9\x1b\x61\x6c\x2d\x00\x06\x89\xab\x18\xed\x45\x26\x8d\xcd\x27\x50\x94\xf6\x56\xba\x3c\xf5\x15\x26\x10\x24\x74\x1f\x74\x44\xab\x7f\xc4\xde\xcc\xe1\x67\x56\x03\x2a\x1b\xe2\x70\xff\x0b\x03\x17\x54\x2b\xa0\x26\x62\x26\x0a\x37\x6f\xc9\x12\xcb\xb0\x29\xca\xc5\x45\x15\xf5\xa5\x51\x36\x4f\x6a\x99\xff\xad\x0b\x9c\xbc\xd0\xe6\x93\xb7\xa5\x21\xcb"}, -{{0xc2,0x1e,0x70,0xc4,0x6e,0xde,0x66,0xe6,0x8a,0x88,0x73,0xbb,0xc6,0x4b,0xa5,0x12,0x09,0x30,0x3a,0x0a,0xc4,0xfc,0x49,0xb1,0xd8,0x3e,0x81,0x93,0xad,0x46,0xc0,0x37,},{0x9f,0xbf,0x80,0xa4,0x25,0x05,0xd2,0xc9,0x52,0xf8,0x9f,0x45,0x58,0xc3,0xe6,0xd1,0x87,0xa7,0xbc,0x1e,0xf4,0x46,0xb2,0xe3,0x73,0x23,0x43,0xc1,0x3b,0x33,0xd2,0x00,},{0x0a,0xe3,0x43,0xbb,0x84,0xe3,0xa2,0x99,0x07,0x8e,0x24,0x34,0xba,0x22,0x00,0x22,0xf3,0x16,0x0f,0x96,0x8a,0xc0,0x44,0x82,0xbf,0x8c,0xad,0x13,0xb4,0x23,0xf2,0x67,0x0f,0x01,0xfb,0x5f,0x7b,0x32,0xc5,0x97,0x52,0x0f,0x84,0x60,0x7e,0x0f,0x79,0xc0,0x75,0xfa,0x70,0x78,0xe6,0xe6,0x9d,0x3c,0xec,0x31,0x92,0x65,0xd4,0x66,0x08,0x0b,},"\xf5\x5a\xa5\x70\xce\x4f\xc9\x5f\x73\xf5\x17\x20\xd2\x54\xe4\x69\x5f\xcd\xc8\x1a\xaa\x04\x01\x30\xc7\x68\x7f\x03\x9b\x8b\xa5\x9e\xd8\x57\xce\xb2\x9c\x12\x10\x25\xa8\x57\xfe\xac\xb4\xa0\x1f\x38\xe0\x11\x78\x31\x0a\xe6\xe3\x5c\x99\x8e\xbf\x89\xdd\x79\x05\x7b\x4a\xfc\x6d\xb3\x40\x60\x1c\x81\x70\x3c\x87\xa8\xc4\x0e\x5c\xeb\xb0\x44\x1d\xf7\x8a\x6d\xe1\x3a\x44\x7c\xb0\x16\xc6\x5e\x74\x1b\xb7\xdf\x30\x4d\x83\x05\x6b\x72\xc6\x82\xc7\x31\xfa\xc0\xa0\xc7\x0b\x78\x11\xca\x14\xa5\x01\x54\x61\x30\x99\xc2\xc4\x37\x52\x1c\x40\x4b\x63\x61\xde\x36\x21\xf8\xea\x56\xb0\x8e\xbf\xdb\x07\xb4\xf2\xbb\x8b\xa2\xec\xc1\x64\x33\x6d\xa8\xef\xc9\x42\x76\x6e\xf0\xc7\x4d\xfd\x3b\x49\xe0\x87\xe9\xa2\x7a\xe5\x4a\x7a\x2b\x98\x28\x1b\x9a\xf9\x3d\xc1\x1a\xa2\xf0\x92\x24\xab\x5a\x73\x0f\x02\x18\xf4\xa6\xe1\xea\x48\x85\xa7\x7f\xbd\x93\xa1\xc5\x82\x77\xd9\xe0\x1b\xe7\x3a\x25\xcd\xa9\x18\xfc\x27\xdd\xdb\x45\x3a\x5d\xa6\x90\x2a\xd0\x2b\xa0\x57\x75\xc6\x7e\x07\xbe\xa4\xdf\x86\x91\x34\x66\x74\x43\x65\xc1\x32\x6e\x0a\xb5\xe1\x25\x4c\x17\x96\x74\x47\xd5\x91\xba\x5e\xd1\xb6\x3a\x42\x54\x3b\x87\xfe\xd4\x14\x59\xa0\x89\xbc\xea\xff\x21\x98\x02\xa8\x7a\x87\x2a\x76\x3e\x69\x23\x33\xce\x1c\xc7\x39\x78\x25\x08\x4b\x2b\x83\x1e\x93\xd8\x0d\x67\x37\xf3\x29\x80\xf2\xf3\xae\x82\xc6\x21\x90\xfe\x3f\xa7\x00\xc5\xb7\x32\x9d\x6d\x50\x04\x2b\xdf\x83\x1f\x37\x54\x8f\xcc\x80\xb1\x1f\x57\xcf\x20\xf6\x7a\x3b\xb6\x51\xa7\xbe\xff\xcc\x48\xb7\x0d\x17\xeb\x60\xf7\x25\x9c\xc5\x3b\xf7\xff\x60\x80\xeb\x2b\xd0\x92\x3b\x04\x83\xaa\x30\x65\xa8\x95\x5f\x01\xd2\x3b\xa8\x09\x51\xe0\xae\xfd\x2a\x93\x72\x19\x15\x72\xbc\x52\x91\x6a\xa2\x2a\x2a\xec\x39\x37\x67\xfa\xfd\x08\x68\x39\xe2\x36\xfe\x04\x60\xce\x6d\x63\x9c\x7c\xe6\x9f\xe7\xf9\xd3\xaa\xd2\x13\x05\x73\x44\x35\x70\x44\x3b\xe6\xba\xb9\x3a\x06\xa5\x4b\x8a\xc2\x9b\xf3\x3f\xf9\x94\x9b\xc9\x21\x58\xe6\x92\x4b\x6b\x68\xec\xda\x5f\x6f\x3a\xaf\x42\xb3\xd2\x2d\xf6\xd5\xe6\x7d\x5c\xb3\xab\x71\xeb\x8e\xe0\xb0\xe6\x67\x32\xe1\xda\xca\x6c\xd6\x0d\x9a\xa7\x43\x05\xfc\xd5\x70\x07\x6d\x22\x8d\x44\x6d\x5e\xe5\x42\xb1\x04\x88\xbf\x8a\xa9\x88\xf4\x51\xfa\xeb\xe7\x4a\xb6\x69\xd6\x04\xd9\xdd\xb1\x51\x06\x62\x0e\xa0\x2e\x8d\xb3\x8c\xe6\x39\xb5\x74\x78\x12\xbb\x90\x48\xee\x8b\xf7\x2b\x1a\x95\x1a\x05\xdf\xfa\xc9\x54\x17\xcb\x43\xb0\x6d\xce\x61\xee\x3d\xa6\xf2\x83\x2e\xe8\x3b\x2e\x72\x88\xdd\xd6\x2e\xeb\x58\x93\xf7\xf2\xf6\xc8\x09\x0d\x99\xe3\x36\xc9\xf9\x06\x9e\x18\x15\x98\x58\x41\xbd\xd5\x05\xb5\xf8\x3d\x89\x5e\x87\x95\x93\xda\xde\xe7\x2c\xeb\x97\x65\x69\x9b\xf8\x0b\xd0\x6a\x5c\x55\x33\x1b\x25\x45\x52\x7d\x0c\x7c\xae\xce\x96\x58\x4c\xe3\xec\x7f\xe0\x22\x60\xf2\x0b\x8a\x1c\x06\x35\x76\x3f\xf4"}, -{{0xf2,0xc1,0x05,0x77,0xf7,0xdf,0x77,0xf0,0xc1,0x15,0x7a,0x8c,0x33,0x1a,0x7b,0xd2,0xae,0x63,0x86,0x67,0x0e,0xb6,0x5f,0x0f,0xae,0x12,0x23,0x31,0x69,0x0f,0x82,0x8a,},{0x0d,0x4c,0x34,0x0f,0xc2,0x31,0xaa,0xfb,0x3b,0x6f,0x74,0xb8,0x9b,0xce,0xf7,0xee,0xaa,0x0b,0x04,0xf2,0x93,0xec,0x85,0x44,0x24,0x7b,0xfc,0x3f,0x2d,0x57,0xc1,0xe0,},{0x60,0xb7,0x03,0x11,0x5a,0x32,0x2a,0xb8,0x92,0xc2,0x76,0xbf,0xd1,0x8f,0x70,0xa9,0xeb,0x0c,0x73,0x23,0xe2,0xc0,0xa6,0xeb,0x5f,0xc7,0xe3,0x30,0xb0,0xbc,0x3b,0x07,0xa5,0x78,0xa0,0x82,0x84,0x62,0x64,0xf0,0x32,0xc6,0x19,0x1d,0x04,0x0b,0xd9,0x8e,0x5d,0x5a,0x4d,0x4f,0x07,0x6f,0xb9,0x06,0x2a,0xcd,0x36,0xbe,0xa4,0x0c,0x91,0x02,},"\x38\xea\x1e\x02\x8a\x49\x3d\x1c\x60\xec\x70\x74\x9f\x14\xd4\x36\xeb\x3a\x2b\x2d\xe5\x4f\x21\x3d\x01\xa6\x45\xb5\x80\x43\x0e\xcd\x8e\xce\x6b\x55\x69\xcc\x01\x7a\x49\x43\xe5\x59\x5c\x5e\xd6\xe4\x8c\x94\x43\xf2\xfa\x5e\xb2\x22\x7f\xfe\x56\xd2\x11\xf2\x69\xbc\x8f\x6f\xa9\xee\x8c\xd5\x6f\x6b\x84\x70\x53\x92\x08\xaf\xe2\x9a\xb0\xa1\x95\x04\x4d\x95\x7b\x31\xf9\x3e\x18\x4a\x9c\xbe\xf1\xa1\x4e\x14\xf8\x08\xbb\xf5\x89\xac\x77\x70\x08\x4f\x99\x8e\x1b\x25\x4d\xa5\x9c\xa6\xd3\xe6\x2e\x7b\xe1\x79\x07\x16\xd2\x56\x0f\x01\x5f\x39\x9c\xbb\xce\x48\xcf\xd0\x39\x1e\xad\x19\x93\x44\x6f\x6b\x24\x93\x97\x7d\x93\xd7\xb0\x9a\x07\xa7\x9a\x59\xce\x15\xdc\xe7\xa1\xda\x9c\x64\x6f\x45\xaf\x2c\xca\xd5\x5b\xa1\x58\xe6\x38\xc4\xa3\x0c\x5d\x30\xe9\xac\x6e\x3a\x33\x39\xc2\x43\x42\x6d\x86\x49\x1b\x2d\x92\xda\xc1\x47\x8e\x8d\x74\xff\x0b\xf1\x49\xbd\xb5\xe0\x9e\x3f\xb6\xb8\x26\x2e\xb0\x68\x79\x81\x55\x4a\xe2\xcb\x47\x19\x63\x39\x07\x9d\xa0\xa1\xa5\x72\x39\xc1\x9b\xf7\x81\xf6\x2f\xda\xf4\xe3\x15\x60\xa8\x43\x17\xef\x03\x04\x92\xcf\x1b\xb1\x30\x5b\xa8\x51\x8e\xba\xf2\xb4\x34\xd3\x64\x16\x72\xc8\xf6\xea\x2d\xef\xa6\x96\xdc\x7e\x4f\x39\xef\xc0\x8d\x28\x8d\x1c\x96\x6a\x6c\x71\x48\xc0\x12\xee\xc4\x39\xf7\xe1\x2d\xba\xb5\xb8\x7c\xfa\x44\xc9\xae\x19\x00\xf8\x38\x6f\x24\x44\x4e\x10\x92\xb2\x3a\x27\x4c\x13\x8e\x95\xc6\x61\xe9\x37\x7e\x8a\xd2\xd1\xfc\xaf\x19\x39\xec\x9a\x63\x2a\x87\x3f\x7e\xad\xbe\x68\x7b\x4a\x03\x3b\x92\xa4\x77\xf2\xe0\x2e\x9e\xd9\x2c\xe4\xf9\x5c\xf1\x70\xb3\x90\x15\x18\xa0\x62\x14\x3e\x56\xdb\x05\x4d\xf4\xe4\x43\x15\x44\x78\x5a\x6d\xfa\x24\xee\xc0\xf0\xde\x7a\x69\x9c\xcf\x28\x6d\xad\xfa\xd8\x59\x03\x61\x22\x50\x76\x4f\x25\xcd\xea\x81\x27\xd0\x07\x8d\x55\x48\x25\xea\x6e\x73\x71\xc4\x38\xbc\x46\xf2\x9f\xb8\x93\x7f\x8d\x9a\x39\xcf\x88\x49\x05\x2d\x43\xec\xbf\xf6\xc4\xa3\x76\x2a\x5f\x40\x0c\x15\x14\xe8\x5e\x91\x38\x4f\xef\x9b\x40\xf4\x31\x4e\x22\x3a\x9d\x68\xc5\x26\xac\xc7\x02\x27\xd6\x2b\x8b\x63\x7a\x34\x2d\xf1\x13\xd3\x18\x20\x2c\x51\xed\xd3\xc1\xef\xd1\xff\x20\xb1\xff\x07\x8b\x32\x06\x8e\x79\x4d\x92\x81\x33\x03\x7f\x1e\x3a\x34\x68\x9e\x62\x9e\x43\xfd\x2b\x8e\x88\xea\xb5\x0d\x7e\x7a\xb0\x64\x70\x14\xab\x5e\x4a\xd5\x82\x00\x65\x67\xef\xf7\x2b\x5a\xf2\xda\xc5\x36\x89\x2c\xcc\x87\x1f\x8a\x80\xb5\xcb\x79\xd9\x0b\xcc\x6b\x77\xd4\xcd\x08\xf8\x76\x18\x4e\xf5\x8c\x06\x4a\xe4\x30\xbb\x79\xa6\xb9\xe9\x6b\x0a\xd8\x73\x68\xaa\x83\x8a\x8d\xcc\xff\xac\x0c\xd8\xce\x9e\xa0\xd0\xec\x4c\x4b\x0f\x42\x67\x34\x16\x65\x9c\x98\x49\x92\xcf\x53\xb1\xe4\x45\x43\x10\x07\x64\x0d\x47\xec\xe2\x6d\xee\x4a\x29\x43\xaa\x70\x97\xdd\x35\x6c\xff\x47\x54\xf2\x1a\xc0\x7f\x6b\x3f\x73\xc4\x69\x05\x55\x12\xf3\x7a\xba"}, -{{0x04,0x1a,0x97,0x90,0x6b,0x59,0x56,0xb9,0xd3,0x40,0xf2,0xe0,0xd7,0xa1,0xdc,0xbf,0xef,0xe6,0x63,0xe9,0xbb,0x40,0x26,0xf8,0xcc,0x1a,0xe7,0xe2,0xa1,0x4d,0xe2,0x7e,},{0xf3,0x82,0xd3,0x2e,0x88,0xc3,0xa7,0x2c,0x7c,0xad,0xda,0xfc,0xf8,0xaa,0x69,0x9e,0x21,0xdb,0x7a,0x6b,0xf4,0xed,0xd6,0xe4,0x9a,0x00,0x5a,0xad,0x70,0x2e,0x6a,0x79,},{0xa2,0x3f,0x03,0x2e,0x66,0x92,0xa0,0xe8,0xbf,0xee,0x5b,0x2d,0x30,0xb4,0x14,0xcb,0x16,0xc3,0x5a,0xd0,0x8d,0xa3,0x1f,0x69,0x6d,0x46,0x1a,0x02,0x85,0x78,0x22,0xc4,0xef,0x35,0x7f,0x0c,0xcf,0x31,0x02,0x5a,0x4d,0xc9,0x5c,0xed,0x30,0xa9,0x94,0xf4,0x1e,0xdd,0x1d,0x08,0x7a,0xfc,0xaa,0xf3,0xe8,0xe8,0x75,0x70,0x83,0x20,0xf8,0x0c,},"\x71\xa7\x59\x57\x41\x15\x44\x97\x5a\x48\xcf\x10\x3a\xa1\xf8\xe2\xad\x15\x24\x44\x59\xcd\xc0\xe3\x36\x96\x6e\xb8\xb2\x6c\x97\xf2\x16\x9e\x5d\x78\x53\x70\x37\xef\xc0\x77\xe8\x6f\x06\xe0\x5e\x9c\x1d\xc3\x41\x82\x88\xc0\xa2\xbe\x6b\xa3\x4b\x3a\x04\xab\x20\xba\xe7\xf3\x62\x10\x94\xb8\x7d\x78\xa7\xea\xcb\x86\x4d\x40\x78\xcb\x4e\xfc\xba\xc5\xad\xd9\x37\xa2\xc6\x01\x2e\xe1\xa8\xb2\x56\xcc\x27\x6b\x65\xd5\xe9\x2b\x4d\x00\xb9\xb1\x1f\xad\x88\x49\x91\xde\xc4\xc1\xcb\x9d\xce\x18\x63\xc8\xb0\xa2\x10\x16\x1a\xe6\xb3\xf8\xbf\x9c\xc4\xdc\xe4\xad\xfd\xc8\xed\x57\xd8\x3e\x95\xab\x9d\xd2\xd9\x26\x58\xdf\xbd\x3a\xfa\x99\xe3\xf8\x95\x1e\x2a\xd7\x4a\x14\x8f\x6f\x59\x7e\xb2\xc9\x45\xc1\xf1\xb9\x44\x61\xae\x07\x45\x48\x1f\xd0\xed\xf8\x38\xc6\x28\x60\x35\xe3\x6f\x01\x12\x38\x87\x5d\xbb\xa2\x28\x9d\x3d\x6a\x39\x42\xa7\xf9\x55\x4c\x64\x43\x05\x24\x4d\xdb\x77\xc1\x17\xcb\x4b\x56\x23\x77\x29\xdd\xe4\x28\xb8\xbb\x42\xdf\x9c\xe2\x9e\x14\x4d\xfc\x96\xcf\x6c\x67\x67\xb1\xee\x6d\x05\x3c\xe4\xf8\xbb\x20\x56\xab\x78\x10\xaa\x13\x68\xa8\x91\x0f\x2f\x69\xe0\x61\xc1\x9d\x88\x47\x18\x4f\xed\x53\x4f\x98\x75\x8d\x70\x3a\x76\x88\x5f\x91\xeb\x75\x2a\x21\x95\x4a\x10\xc6\xf6\xb4\xda\x10\x46\x4d\xed\x36\xb0\x00\x89\xf6\x62\x91\x54\x21\xbf\xda\xd4\x96\x75\x36\x89\xcc\xd0\x3b\x62\x40\x21\x08\x07\x61\xe6\x81\x76\xb1\x06\x97\xda\xc8\x78\xe4\xc3\xdb\x2f\xd0\xb2\x8c\x65\x53\x35\xd9\x80\x16\xf1\x9f\x26\x5b\xb0\xb2\x43\x4c\xb4\x63\x78\x44\xd9\x1e\xd0\xce\x05\xed\x25\x91\xfd\x99\x89\x65\xf8\x3f\x31\x97\xd1\x0e\xef\x44\x88\x50\xe7\x92\x03\x27\x24\x70\x1d\xa3\x05\xcb\x6d\x79\x46\x69\x48\x3f\xc3\xdc\x6f\x68\x6b\x18\x3e\x29\x99\x13\x0c\x8f\xc0\x05\x8d\xca\xbb\xc9\x18\x8f\x26\xb2\xd6\x3e\xbd\x6c\xb1\xe1\x8a\x09\x7c\x77\x04\xa5\x9b\x5e\x18\x7e\x01\x42\x59\x3b\x70\x83\xf7\x40\x0a\xfa\x9b\x1b\xf0\xc1\xcc\x6c\x35\x6b\xc4\x33\x4a\xf7\x72\xe6\x71\x53\xb4\x5b\x33\x1b\x99\x09\x20\xc2\x4e\xed\xe2\xc6\xe3\x23\x70\x3f\x52\xec\xd6\x07\x35\xb2\x3b\xf2\x2b\x81\xee\x77\x59\x27\xc3\x7e\x53\xda\xd7\x59\x6e\xa6\x5a\x73\xbb\x96\x77\x5f\x3b\x87\xc8\xb3\xc0\x88\xec\x69\x5b\xc3\xa7\x50\x2c\x0c\x51\x0f\x02\x0b\xf9\xac\xa3\xcb\xb7\xa2\xc0\x11\xc6\x7f\xf2\x7d\x63\x4c\xaf\x1d\xcf\xc5\x8e\x5e\x39\x7e\x66\x58\x25\x22\x72\x01\x1c\x8f\xfd\xd6\x42\x30\xa9\x32\x41\xff\xf6\x83\x72\xc4\xba\x85\x38\x2b\xbb\x22\x93\x09\x65\x29\x22\xdb\x68\x83\x66\x31\xe5\x5b\xe6\x9a\xb6\xad\xb8\xe4\x33\x53\x57\xfc\x92\x3e\xfe\x15\x4a\xfc\xc2\x22\xd6\x0d\x07\xf5\x69\x90\xa3\xe5\xa2\x14\xb2\x27\xae\xcf\xf2\xcd\x1b\xb6\xf0\xc7\x9f\xf5\x45\xf7\x0a\x61\x61\x41\xa9\xd5\x3f\x92\x2a\x02\x44\x3f\x7d\x2a\x46\x89\xc3\x5b\x09\x5d\xd3\x94\xd5\x0b\xf4\x9f\x96\x80\xa5\xf7\xd9"}, -{{0x4b,0xc5,0xe0,0x5a,0xa0,0x03,0xa4,0x49,0x2f,0x4b,0xad,0x10,0x2a,0x53,0x90,0xf7,0xce,0xba,0xb3,0xd3,0xec,0xa9,0x15,0x21,0x42,0xad,0x5e,0xf7,0xd8,0x40,0x30,0xae,},{0x67,0x51,0xd3,0xad,0x8b,0xb6,0xc6,0x4d,0x6a,0x17,0xd7,0xe4,0x47,0xa2,0x7d,0xa2,0x2f,0x5f,0x04,0x03,0xf4,0x37,0xba,0xc9,0x44,0x9f,0x13,0xcc,0x85,0x3d,0xd8,0x40,},{0xa2,0x4f,0xee,0x11,0xf7,0xec,0x6d,0xa3,0xe9,0xdf,0xaf,0x6c,0x85,0x8a,0xc0,0x04,0xb4,0x53,0x1a,0xbd,0x1c,0x9d,0x3b,0xb6,0x4f,0x40,0xdd,0x24,0x7f,0x00,0x35,0x93,0x50,0xe4,0x3b,0x2d,0x4b,0x8f,0xbe,0xc5,0xf6,0xb2,0x41,0xec,0xf9,0xf1,0x10,0x14,0x85,0xcf,0x41,0x87,0x35,0xb0,0x5f,0x71,0x20,0x18,0x33,0x5b,0x20,0x06,0x83,0x08,},"\xa8\xf7\x94\xdb\x17\x95\x66\x7d\x28\xd2\x4b\x70\xac\x22\x00\xa6\x23\x9a\x34\xe2\x43\x8c\xed\x1d\x03\xf9\x7e\xd4\x8b\xeb\x4d\x6b\xea\x67\xc1\x43\x38\xf7\x73\x64\x19\xdc\xd2\xa2\xa7\x97\x37\x26\x57\x2e\x6a\xfe\x7e\xdf\xef\x22\xc9\x9b\xe8\xb0\x69\xf0\x4f\x6d\xc6\x1a\x13\xb3\x43\xc6\xe5\x85\xab\xad\x22\x14\xd8\x5c\x36\xf0\x29\x96\xfa\xbb\x46\xbb\x91\xb5\x17\x6a\xc7\x08\xe4\x9a\x0b\x05\x30\x17\x04\x8f\xbb\x55\x45\x3f\x2b\x82\x08\xd6\x67\x8d\x1a\x8c\xf6\xa1\xee\x9a\xd7\xa9\x1e\x38\x03\x25\x63\x5d\x1e\x23\x6a\x6c\xa1\xd6\xcc\x7f\x6b\x59\xf2\xa2\xbf\x18\x4f\x5e\xe4\x51\xd6\x79\x9f\x69\xba\x11\xa0\xcd\x6b\xc0\x4b\xe8\xa3\x51\xa8\x0e\x72\x5b\x5f\xc4\x56\x3e\x45\xbd\x47\x49\xec\xbc\x45\x20\x52\x29\x10\x5b\x9d\xe7\x32\x61\x49\x85\x27\xf3\xd4\xec\xfb\xb5\x83\xff\x53\x27\x53\xd0\x7c\x38\x52\x6b\xb4\x82\xd1\x71\xa2\x61\xb9\xcf\x89\x90\x6a\x7d\xea\x8c\xbd\x7e\x72\x6b\xa3\x1e\xa6\x88\x03\xa6\xb0\x04\xf6\xdc\xd1\x9e\x67\x19\x50\x46\x37\x38\xcc\xa7\x8b\xb0\xdf\xfa\x3d\x64\x57\xe4\xae\xca\x65\x7e\xc6\x49\xb9\x7e\xe3\x0e\x97\xc8\xcb\xe6\xce\x43\xc2\xaa\x9a\x69\x95\x8e\x9d\xc8\x81\xe4\xaa\x7b\x32\x78\x07\x4e\x78\x7a\xce\x5f\xb6\x01\xd7\xfa\xf7\xca\x51\x03\xec\xbb\xd3\xbd\x55\x4e\xb1\xb0\x66\xf8\x29\x6d\x2c\xc5\x7e\x8c\x8a\x32\xe9\xc0\xe6\xa9\x26\x96\x4d\x6d\xf2\xd8\x64\x58\x64\xb3\x22\xc3\x22\xf1\xca\x80\x73\xce\xdf\x2b\x55\x67\x11\xa7\xa2\x0b\x77\xc0\xa1\xed\x27\x7a\x9a\x6c\xa2\xc0\x71\x54\xe8\x63\xfe\xf5\xa4\x04\xe3\xe8\x9f\x0d\x7f\x30\xf2\x18\xec\x4d\xe7\xa5\x3a\xeb\x9c\x41\xee\xaa\xf6\xce\x74\x96\x49\xc9\x99\x8f\xd6\x2b\xcb\xa2\x87\x23\x38\xe1\x9c\x94\xe5\x9d\xd5\xe2\xdd\x77\x6f\x53\x71\x9d\x21\x74\x69\x76\x93\x2e\xf1\x1a\xbf\x7a\x32\xae\x6b\x07\x44\x66\x5d\x0e\x0c\xe5\x13\x95\x5a\x9e\x68\x53\x1d\x8e\xe4\xde\x9a\x8d\x35\xdd\xfb\x88\xeb\x5a\x48\x6a\xd6\x31\x37\xe8\x89\x2f\xd7\xc6\x89\xd4\xf9\xe7\x02\x1b\x11\x73\xbb\x37\x52\xa5\xee\xcf\x29\x92\xe3\xfd\x46\x42\x26\x3c\x7b\x3d\x81\x5c\x29\xb4\x66\xab\x69\x28\x5f\xfe\x4b\x8d\xaf\xcb\xf3\xd0\x1d\x63\x55\x53\xab\x75\x75\xa7\xa3\x47\x1e\xdc\x7b\xe4\x12\xd3\xd0\x1e\x6f\xe8\xe3\xcd\xc3\xfa\x04\xd2\xa7\x59\x93\x81\xe2\x2b\xba\x49\xc5\x53\x9d\x79\xc6\x2b\x52\xbb\x0e\xca\x33\xf7\x42\x55\xe4\x1a\x95\x26\xa8\x92\x89\xb1\x5f\x18\x50\xd9\xaf\xa8\x7e\x6b\x6f\xa1\x27\x10\x1c\x1a\x6d\x88\xd4\x33\xe0\xc8\x6a\xa6\x0b\xba\x8f\xe7\x10\x0e\xd6\x1d\x5a\x9d\x00\xa0\x07\x64\x51\x3e\xb1\xc7\xf5\xf5\xc3\xb3\xef\xc4\x53\x2a\x36\xb4\x07\xfe\x2d\x17\xcf\xb4\xe6\xfc\xd6\x04\x9c\xff\x3a\x35\x56\x23\xa3\xa4\x13\x90\xea\x48\xf4\x21\x20\xd8\x97\x94\x91\x11\xbe\x3d\x16\x9b\x2d\x2e\xf4\x5b\xdb\x89\x4f\xe2\x0b\x1a\x95\xef\x66\x14\x94\x27\xa9\xd8\xf8\x0a\x9b\x2e"}, -{{0xa3,0xbe,0xd9,0xfe,0x23,0x54,0xbd,0x28,0x60,0x14,0x9a,0x3d,0xb7,0x5a,0x85,0xb1,0x29,0xcf,0x83,0xe9,0xd7,0x3e,0x63,0x17,0xba,0x70,0x54,0x52,0x19,0x33,0xf8,0x96,},{0x5a,0xc0,0x3b,0x4f,0x13,0xd9,0x1d,0x06,0x6b,0x2c,0xe3,0x59,0xe9,0xbb,0x1d,0xfb,0x6b,0xfa,0x5a,0xfa,0x38,0x2f,0xd1,0xcc,0xd7,0x2a,0xef,0x11,0x76,0x07,0x9f,0x89,},{0x33,0xbc,0x1e,0x0b,0xf1,0xb4,0x93,0xe0,0xcf,0xb7,0xea,0x40,0x48,0x0a,0x14,0x23,0xe0,0x91,0xf7,0x14,0x57,0x45,0x01,0x31,0x73,0x78,0x7d,0xf4,0x7a,0x10,0xdb,0x24,0xc1,0x65,0xd0,0x05,0x96,0xfa,0xb7,0x0e,0x68,0xc9,0x4c,0x10,0x4e,0x8a,0x74,0x07,0xcf,0x69,0x5c,0xd3,0xfb,0xe5,0x85,0xb5,0xb1,0x76,0xb8,0x5c,0xcc,0xa4,0xfd,0x08,},"\xdb\x85\x38\x08\x68\x6d\x6d\x21\xf4\xc5\x7b\x54\x1e\x5a\xd6\x33\x94\xd4\x65\xe6\x00\x78\x64\x3c\xab\x1e\x06\x5c\x9f\x30\x6c\x50\x00\x78\xf0\xcc\x41\xef\x0f\x95\x42\xb5\xfe\x35\x6a\xec\x47\x77\xef\x8a\x95\x55\x4c\x97\xb6\xa4\x40\x99\xe9\xbd\x64\x04\xfb\x0b\x2e\x41\xf9\x19\x14\xb0\x74\xd1\x22\x37\xcd\x44\x2e\xbd\x40\xb5\x1b\x8b\xc8\xbb\xe4\x37\xa2\xc5\x33\x32\xd2\xbe\xb2\x28\x1b\xf7\x32\x4a\x0c\xf5\xb7\x41\xbb\xf9\x8d\x1e\xb9\x85\x8b\xe9\x26\xe9\x15\xa7\x8e\x8d\x31\x4b\x41\x44\xf3\xd2\x0d\xfc\x6c\xb7\xf4\x8c\x23\xaf\x90\xf8\x71\xc6\xcd\xa9\x08\x45\xa4\x1a\xff\x17\x07\xa8\x7b\x4e\x55\x16\xf1\x8e\x8b\xd7\x68\x3c\xfd\x74\x07\x08\x03\xe8\x88\x33\x8c\x9a\x18\xf7\x92\xc8\xd3\xa7\x04\x17\x0f\xf9\x82\xbf\xfc\x9e\x8e\xc9\xea\x5d\x1a\x62\x59\x2f\x16\x88\xd4\xf2\xb0\x1e\x11\xf9\xf8\x87\x74\xc4\x7a\xc1\xd5\x8f\x69\x0b\xcf\x28\x8c\xf8\xa4\x73\xd3\x50\xa8\x23\x9d\xf9\xd3\xa6\x28\x81\xda\xdd\x33\x85\x31\xfd\xce\x76\x15\x80\x7c\xe9\x65\x49\x6d\x6f\x35\xd6\xc0\x42\xf0\xce\x7f\x21\xef\xe5\xce\x64\x25\x18\x59\x41\xed\x56\x36\xb8\xae\x91\x3a\x75\xd2\x1a\xb9\xdb\xdb\x3c\x3b\x66\x87\xa4\x5e\x04\x49\x38\xa9\xf1\xc1\x3a\x33\x0e\xa9\x76\x1e\x28\x3e\x61\xd4\xa3\x20\xe1\xf5\x59\x88\x2f\x34\xb6\x07\xfe\xfe\x32\xc3\x43\x17\x4a\xbc\xdc\x77\xb0\x65\xa9\x29\x04\xb4\x2d\x96\x1d\xb8\xed\x91\x6c\x01\x46\x4f\xfd\x43\xf9\x3c\x10\x77\xf1\xdf\x7e\xe6\x50\x31\xcf\xe0\x5d\x78\x0d\x01\xd0\x8e\xe0\x36\xf2\x2a\x2b\x05\x12\x19\x3b\x0c\x0f\x38\x01\xe0\xa0\x20\x8e\xef\x24\x5c\x9e\x51\x93\x52\xd2\xb0\x09\x63\x82\xf2\xcb\xa0\x6e\xb2\xa0\x1d\xac\xf6\x19\xea\xbb\xc8\x83\xc5\xd4\xf2\xfd\x7c\x34\x23\x17\x9c\x0f\x5f\xfd\xaf\x8c\xaf\xff\x5c\x46\xb3\x4a\x09\xc3\xc5\x0e\x29\x49\xc0\x60\x00\x20\x7d\x70\xd3\x7d\x65\xa7\x43\x07\x5f\xdc\x2b\xe6\x2d\x41\x2a\xa6\x3e\x36\x37\x06\xca\x90\xe6\xef\x44\xe1\x52\xea\x4d\xc5\xc2\x89\x3e\xcd\x08\xd7\x96\xd4\x1f\x17\x22\x54\xc3\xd1\xd1\x4b\xb0\x67\xb5\x3a\x08\x97\xbb\xd7\x3c\x99\x54\xd9\x64\x8b\x2a\xf1\x0d\x9c\x27\x03\xe3\x8b\x6c\x62\x46\x9f\x6f\x95\x8a\x1c\xa0\xa3\x20\xc1\x23\x39\xe9\x0c\xf7\x68\xc8\x7b\x47\x38\xc2\x19\xf8\x09\x3b\xff\x4c\x2c\xfd\x29\x45\x9f\x6d\x32\x81\x34\x93\x78\xe9\x15\xa3\xb0\xe7\x24\xc7\x4d\x2b\xd7\xa8\x51\xac\x7c\x6b\x48\xe8\xaf\xc7\x12\x4f\xdc\xbc\xab\x5f\xf8\x0d\x1d\xee\x30\xa6\xc0\x24\xcb\x43\x31\x97\x23\x66\xeb\xab\x26\xbb\xb9\xf6\x08\xca\xac\x7e\x51\x91\x4d\xf0\x58\xb9\xb3\x74\x5d\x98\xc5\xd2\x7e\x97\x10\x54\x75\xec\x01\x73\x77\xe6\x31\x61\x98\xec\xe4\xec\x59\x09\xf0\x4f\xc2\x7e\x7b\x38\x2e\x66\xad\xb6\x2a\xc8\xa9\x77\xf3\x76\xfd\x5d\xae\x43\x4f\xb5\x51\x75\x24\x9c\xa1\xab\x6b\xb0\x2d\xec\x06\x96\xf0\x89\xbe\x34\x54\x88\x7a\x0c\x32\x36\x1d\x17\x2b\xd2"}, -{{0x88,0xa2,0x4f,0x0d,0xf3,0xae,0x29,0x14,0xdf,0x79,0xda,0x50,0xec,0xf8,0xec,0xb4,0x2f,0x68,0xc7,0xba,0xad,0x3b,0x6c,0x3a,0x2e,0x0c,0xc9,0xc2,0x5d,0x09,0xd1,0x42,},{0x12,0xe6,0x60,0x3f,0x71,0x3b,0x23,0x05,0x35,0x85,0x68,0x71,0x00,0x18,0x68,0x5e,0x14,0x15,0x53,0xc4,0x75,0x91,0x39,0x6f,0xb4,0x25,0x9e,0x42,0xdc,0x53,0xb9,0xc9,},{0x17,0x07,0xcc,0x00,0x91,0x86,0xbf,0x3f,0x03,0xf7,0xbb,0x9e,0x3c,0xd4,0xcf,0x6b,0x73,0x7b,0x7a,0x6b,0xaa,0xde,0x7f,0xc6,0xc3,0xff,0x5c,0x12,0x25,0xdb,0xb2,0xba,0xf5,0x4f,0x47,0xc8,0x5e,0xaf,0xa1,0x32,0xc3,0x1e,0xac,0xa0,0x3e,0x6a,0xec,0x14,0x47,0x73,0x3f,0xac,0xd3,0x71,0x49,0xb7,0xc6,0xcf,0x0c,0xd4,0x1f,0x61,0x14,0x04,},"\x65\x4e\x9e\xdc\x69\xfe\x63\x4c\x23\x08\xba\x8c\x46\xa9\x55\xe8\x82\x45\x62\x86\xea\xe3\x59\x3c\xae\x73\x9c\x44\x86\x6c\x0d\xe9\xed\xcb\xbf\x0d\xb1\xc4\x41\x49\x66\x84\x67\x70\x9d\xc9\x70\x62\x98\xdd\x2e\xac\x33\x01\xda\xba\xd5\xbd\x8e\x93\xc5\xe8\xa9\x3f\x19\x4e\x0f\xc1\xd9\xf3\x76\xc1\x44\xc2\x93\xae\xfd\xa0\x86\xb2\x21\x8f\x2e\x9d\xfd\x7c\x2d\xc5\x2b\xa3\x3e\xb2\x29\xdc\xf7\xbb\x68\xce\x0f\x87\x6c\x5f\xd4\xe8\x1a\xfd\x80\x16\x9f\x73\xcf\x26\x4e\x5d\xc0\xce\x16\xe1\xb8\x76\xcd\x11\xc7\xad\x89\x05\x8e\xe0\x82\x0c\x40\x00\x5d\x01\xf1\x19\xf8\xbe\x6f\x1a\xfb\xe2\x4c\xa4\xae\xdc\x18\xe9\x78\x96\x82\x7c\x3e\xd6\x7f\xc4\x56\x30\xe7\x90\x3b\x7f\xee\x9c\x99\x0e\x36\x19\x37\xbf\x4e\xa0\xa4\xd8\xd1\x6c\xf6\xd9\xcf\x03\x81\xe9\x06\x5e\x36\x25\x14\x8f\x8a\xe0\x49\x1a\x03\x41\xd0\xff\x9f\x72\x7b\xe1\xf3\x10\xca\x1e\xc3\xf0\x10\x4a\xa0\x54\x32\x17\x84\xdd\x24\xd5\x3c\x98\x5b\x28\xd4\x40\x82\xf8\xe1\xc1\x08\xa4\x41\x09\x63\x8f\xf5\x11\x6e\xdd\x85\xae\xb8\x6b\x6e\xa5\x12\xa1\x9b\x60\x2e\xdd\x9d\x21\x10\x70\xd0\x44\xaf\x5b\xed\xb6\xc8\x52\x7b\xa3\x49\x1e\x34\x5b\xac\xc1\x30\xb3\x69\x60\x28\x2a\xe7\x37\xb8\x5c\x76\x92\x74\xf0\xf7\xc5\x88\xf4\x0e\x66\x25\xb2\x36\xbd\xc1\xa3\xb8\x73\x20\x46\x0e\xee\xad\xa2\x78\x12\x4b\x56\x68\x87\x4f\x39\xf5\x9c\x2e\x6a\xa2\x08\xc3\xb6\xa9\xb8\x45\xc4\xd0\xa2\x7a\x05\x46\x78\x6f\xa1\x3e\x51\xcc\x98\xb7\x3f\xd7\xee\x32\x7b\x62\x15\xec\x6b\x62\x9f\x4c\xc7\xe4\xbd\x3c\x0a\x3d\xb7\x8a\x21\xff\xfe\x24\xc7\x04\x38\x71\x6b\xc3\x7b\x8d\xa7\xc5\xff\x7c\x36\x88\xa9\x03\x39\xc2\x2e\xb5\x0b\x7c\x2c\xd3\x6b\x68\x83\x1f\xd5\x93\x91\x75\x68\x9b\xd3\xe2\x2c\x38\x81\xaf\x33\x7e\xe1\x44\x35\x70\x9e\x35\x10\x40\xef\x3d\xa9\x55\x72\x4e\x51\xc2\x4a\x5e\x2c\x09\xf8\x91\x80\x83\x93\xfb\xf8\xef\x7f\x1f\x5f\x02\x98\xde\xeb\xdc\xd8\xd6\x66\xcb\xcf\x3e\x86\x6c\x71\x89\x99\xab\x6b\x1f\xee\xc9\xc4\x7e\x02\xe7\xd6\x35\x40\xf8\x99\x63\xd5\x42\xc5\xd0\x1f\xb6\xfc\x30\x76\x89\x68\xae\x81\xb2\x0c\x35\x4b\x40\x00\xc1\x32\x77\x47\x64\xd6\xd4\x43\xad\xd6\x4f\x6d\xd7\x48\xf5\xfb\x5b\x7f\x6e\xba\x40\x1d\xb4\x31\x8b\xe9\x93\x98\x9f\xcc\x25\x77\x96\x1f\xa5\xad\x31\xf6\xa2\xa9\xd6\xa7\x55\x28\x58\x65\xcd\x5d\xc3\xa8\x8c\xfb\x5a\xba\x7d\x92\x3b\xaf\x78\xb5\xd1\x31\xb4\xc2\x14\xdf\x55\xb6\x17\x1f\x45\x20\x9e\x21\xca\x66\x45\x49\x0d\x3a\x36\x44\xdd\xa6\xdc\x92\x9c\x7c\x40\x95\x76\xd3\x71\x64\x75\x5e\xf8\xaa\xf3\xdc\xd4\xd2\x27\x75\xee\x7d\xea\x0e\x56\x5b\xd5\x47\x27\x92\x1c\x64\x9b\xc5\x1f\x20\xc1\xf6\x8c\x1f\xde\xac\x45\x5c\x67\xd7\x1a\x1c\xb8\x83\x7f\x46\x91\x44\x8b\xf0\xbf\x04\x4a\x46\xf1\x68\x5f\xbe\x22\xb1\xe0\x18\x77\xf7\x47\x7d\x34\x99\x40\x8c\x4c\x31\x65\x10\xce\x2e\x55\xb9\x80\x05"}, -{{0x18,0x4d,0x0c,0xe2,0xe9,0xdb,0x7f,0x25,0x7a,0x8b,0xf4,0x64,0x6d,0x16,0xd2,0xc5,0xef,0xc2,0x70,0x2c,0xed,0x02,0x6b,0x69,0x06,0xd3,0xc8,0xc0,0x11,0x8f,0x22,0x61,},{0xe9,0xda,0xb8,0xfd,0x9d,0x94,0xdc,0x9b,0x24,0xcc,0x79,0xc6,0x35,0xcc,0x57,0xce,0x66,0x51,0x89,0x82,0xba,0x3e,0x24,0x47,0x24,0x07,0x41,0xba,0xc0,0x73,0x0e,0xc5,},{0xb1,0xe3,0xbf,0x5f,0xa7,0x4d,0x7e,0x44,0x2c,0xed,0x9a,0x98,0xd9,0x27,0xd8,0xc4,0x5e,0x0e,0x64,0xd8,0x74,0xf8,0xea,0x59,0x20,0xa3,0x60,0xa4,0xbf,0x42,0xd8,0x3c,0xe1,0x8a,0x92,0x4a,0xc7,0x96,0xe1,0xa7,0x7d,0x1b,0x02,0x08,0x29,0x4b,0x50,0xf8,0x22,0x17,0x7f,0xdb,0xdd,0x45,0x8c,0x74,0x35,0x6f,0xcf,0x6b,0xd7,0x94,0x51,0x06,},"\x6a\x9b\x87\x6b\x0b\xf4\x18\x9b\x3c\xc1\x5f\x9e\xb4\xfb\xe7\x93\x2b\x55\x77\x89\x2a\x22\x20\x0c\xe1\x07\x15\x68\x53\xd6\xd3\xca\x36\x3f\x02\x5a\xd7\xa2\xd8\x62\xaa\xdc\x74\x2d\x94\x15\xbd\x8d\x1f\xca\x13\xc9\xdc\xa3\x58\x60\x44\xe5\x5a\x8c\xf5\xde\xe1\xce\x56\x45\x76\xe3\xe8\xe3\x65\x54\x05\x46\x50\x1b\x34\xca\x67\x5c\xf2\x00\xe0\x77\x1a\x81\x8c\x73\xd3\x7f\xcd\xa8\xcb\x15\xe4\x8d\x5a\x0b\x9e\xa3\xbe\xec\x0f\xf6\x61\x0b\x2a\x8a\x21\x4c\xa4\xf7\xef\xac\x0e\x71\x38\x10\x52\xd9\xbf\x3c\x00\xc3\x29\x59\x34\x74\xeb\xd0\xa6\x87\xa0\xb4\x1d\x14\x4b\x5e\x7a\xb1\x41\x2b\x97\x0a\x74\xba\xba\x4d\x27\x4b\xb0\xdb\xfd\xb0\x2b\x11\xf7\xf6\x39\x64\xba\x6f\x3b\xa0\xad\x23\x34\x1d\x08\x3b\x91\xa4\x30\x82\x39\xe3\x3d\x50\x82\x43\x96\x12\x65\x88\xde\x72\xa2\x39\x0c\x1c\x0f\xc0\x67\x47\xc2\x87\x72\xf6\x30\xbf\x4d\x14\x3f\x7a\x11\x59\xf0\x28\xc0\x93\x40\x48\x94\xe6\xd1\x6f\x63\x46\x35\xd4\xfc\x33\x0f\x3d\x7a\x73\x13\xef\x75\x6f\x5d\x49\xd8\xf6\x20\x5e\xb1\xc7\x92\xa9\x49\x5d\xa1\x31\xb4\x33\x45\xa0\x09\x0c\x12\xca\x56\xe6\xad\xac\x5b\xe0\xcb\xca\xc3\x60\x9d\x69\xf7\x24\x15\xf6\xc3\x7f\x3c\xfb\x2c\xf7\x6b\x3e\x65\xf3\xc9\x3a\xc9\x2b\x63\xf2\xba\xa4\x66\x24\x90\x75\xbc\xa6\x9d\x4c\x1d\x1f\x3a\xde\x24\xab\x31\xef\xfc\xb9\x04\x69\xc2\x4b\xb4\x10\xab\x47\x23\xe1\xb7\xe1\xc8\x8b\x3a\x36\x43\x35\x63\xf7\x1a\x99\xaa\xd5\x8f\xe8\x05\x68\xf9\xc1\x02\xda\x89\xba\xd9\x79\x63\xe7\x7d\x66\x22\x48\x31\x66\xf3\xae\x26\x1f\x32\xa5\x2a\x86\x10\x1e\xbd\x64\x5f\x61\x42\xc9\x82\xe2\xcd\x36\x25\xcf\x8b\x46\xb9\xb2\x89\x12\x46\x92\x0f\x69\x7f\xca\xed\x39\x7c\xb9\x22\xc2\x74\x94\x51\x67\xa0\xe6\x19\xb0\xb5\x06\x37\x76\x06\xdb\x04\x57\x83\xb0\xb8\x8e\xa0\x4e\x93\x2d\x21\xff\xc0\x64\xa1\x2a\x40\xeb\xe9\xb4\x80\xf1\xa2\xc7\xdd\xd3\x95\xa9\xb1\x5e\xfd\xc4\x95\xc9\x71\x4f\x36\xfa\x99\x6f\x79\xf8\xeb\x8e\xfa\x52\xd9\x9a\x24\xab\xfe\xf4\x3b\x32\xa2\x37\xc5\xbc\x00\x18\xda\x3b\x16\x2f\x59\xb8\xd3\xd4\x74\xe2\xce\x08\xfa\x80\x24\xc5\x8a\xcc\x0a\x99\xff\x61\x4e\x6c\xd7\xfd\xd9\xca\x4e\x8f\x41\xa1\x44\x9a\xa6\x18\xd0\x33\x37\xe8\xa3\x74\xd5\x60\x55\xb2\x07\xa9\xdb\xe6\x9f\x59\x48\xf9\x01\xca\x7d\xb0\x41\x0f\x01\xaa\x37\x3d\x9e\x02\x27\x62\x35\x99\xbc\x21\x28\x45\xb0\x06\xe9\x42\xfa\xbc\x58\x2c\xd7\x26\xdb\x5c\x44\x3e\xb2\xdf\xfb\xc9\xe3\xe7\xf0\xe5\xcb\x67\x44\xf7\xad\x71\x60\x50\xfd\xf2\xc6\x0c\x7c\x77\xc2\x53\xab\x74\x5d\xb9\xc8\x55\x26\x55\x68\x3e\xa7\xea\x68\x0a\xa4\xaf\x34\xdf\x13\x25\xc2\x9b\x88\x74\xb6\x1b\xe2\x3d\xe4\xff\xba\x25\x42\x4f\x46\x19\xec\x68\x2c\x26\xb3\xa6\x7b\xda\x9b\xc4\xc9\x4b\x79\xa9\xfc\x4d\x82\xd3\x40\x49\x5b\x43\x7a\x1c\xbd\x6b\x60\x30\x7c\xfc\xb1\x00\x26\xf9\x64\xa0\x17\x62\x3e\x33\xdb\xf2\x33"}, -{{0xd0,0x2b,0xbf,0x70,0xd5,0x13,0x51,0xe3,0xb4,0x7a,0xd8,0xe5,0xed,0x26,0x3d,0xbf,0x55,0x6d,0x14,0x98,0xfa,0x9b,0xd5,0xdb,0xd9,0x9f,0xb4,0x26,0x90,0x09,0xdc,0xed,},{0x8c,0xe4,0xb5,0x9f,0x94,0xce,0xd6,0xec,0x96,0x14,0xd6,0x7d,0x30,0x66,0xd9,0xd3,0xa0,0xdf,0x7a,0x46,0xb3,0x7b,0x4c,0x17,0x25,0xef,0x1e,0x57,0xbc,0x68,0xa0,0xd1,},{0x6e,0x7c,0x66,0xac,0xc9,0x54,0xff,0xd9,0xdd,0x4c,0x1c,0x63,0x35,0xab,0x4f,0xe7,0x9d,0xbb,0xed,0x78,0x2c,0x4a,0x47,0xec,0x30,0xd8,0x48,0xd8,0xbb,0x2b,0x4f,0x10,0x69,0xdc,0x62,0xe5,0x22,0xa1,0xe8,0x01,0x7f,0x54,0xa6,0x34,0x5e,0x17,0x28,0xc0,0x73,0xaf,0x64,0x47,0x85,0x6d,0x8c,0x1e,0xd3,0x58,0x78,0xb5,0x71,0xe5,0x23,0x0d,},"\x55\x45\x60\xf7\xa7\xfd\x1a\xe7\x75\x8a\x2f\xce\x7d\x78\x0f\x6b\x3f\x04\x3d\x3a\xf8\x9d\x4f\x19\xef\x57\x3c\x34\x99\x75\x54\xdf\x24\x3f\xaf\x2a\xaa\xb6\x5b\x2a\xfd\xd2\x86\x10\xd4\xa5\x1e\x9a\x4b\x46\x4d\xb6\xdb\x09\xeb\xf7\x3b\x7d\x24\x05\x4c\xc9\xb1\x28\x14\xbb\x29\xee\x99\xe1\xa7\x3b\xd6\x03\x89\x83\x60\xf9\xdc\xf0\x1e\x67\x08\x36\x28\x6f\x82\x36\xed\x8c\xef\x07\x5f\x3d\x56\x33\x12\xc1\x6c\x73\xfc\x37\xee\xdf\x25\x2f\x8f\x42\xd3\x0a\x13\xe7\xfb\xa3\xb1\x65\x23\x8c\x7f\x81\xea\xae\xb5\x31\x90\xf3\xec\x3b\x5d\x63\xf0\xee\x03\xe3\x98\x7e\x39\x0d\x1d\x81\xe8\x27\x7e\x9f\x6c\x1e\xe6\xec\x4e\xc3\xfa\x0d\x72\x0e\x9f\x53\xf9\xc2\x6f\x04\xaa\x2e\xd2\xb5\xef\x31\x60\x89\x59\x99\xea\xce\x29\xcf\x5d\xc2\x54\xad\x71\x10\x6b\xb7\xe8\xbc\x29\xa5\xb1\xd2\x41\x25\x93\xd0\x81\x94\xe8\x8e\x16\x59\xa7\x31\x59\xa2\xa2\x20\x33\xab\x06\x6e\x8d\x3d\x8c\x3b\xc8\x6b\x7b\x01\xde\x81\xa8\xc6\x60\x47\xb0\x7f\xe2\x4e\xd2\x40\x31\x8b\xa3\x7b\xa3\xef\xb6\xcf\x63\x26\x04\xca\x4f\x44\x6a\x75\xfd\x8e\x70\xc4\x53\xf0\xc6\x0e\xe1\x6e\xca\xf5\x24\xe7\x03\xf4\x7d\xf5\xc2\x82\xca\x32\x89\xb3\xaf\x61\xde\xe4\x70\x9e\xe0\x85\x32\x3b\x1e\x5c\x8a\x6b\xc0\x76\x62\x01\xc6\x35\x03\x14\x46\x89\x1f\x34\x94\xe9\xdb\x20\xdd\x4e\x9e\x08\x38\x24\x9a\x67\xe1\x38\xd1\x3e\xe2\xc9\x6f\x61\xe7\x71\x06\x15\x42\xaa\x16\xef\x20\xd8\x1e\x3a\x0f\x4e\x45\x21\xa6\xcd\x6c\x92\xfc\x26\xfe\xef\x03\xb6\x6c\x70\xe0\x35\xca\xfc\xc1\x9c\x96\xfb\x9d\x82\x91\x8f\xe1\x97\x78\x0e\xff\x0e\xda\x6e\x25\x12\xc5\x6e\x2a\x73\xd7\x70\x32\xb7\x68\x91\x9b\xea\x97\x72\xf5\x98\x9c\x8b\x6c\x65\xc3\xd1\xe9\x7a\x21\x80\xcc\x3a\x37\x57\x9d\xa7\x0c\xe9\x80\x6a\xc1\x28\x5a\x3e\xab\x41\x5c\x06\x07\xd8\x8c\xb8\x65\x42\xea\xb9\x0b\x9d\x2d\x67\xfa\xff\xfc\xad\x23\xa7\x14\x00\x0e\xe5\x9e\xd6\x8c\x95\x6e\x81\xc4\x45\x42\x88\x82\xf9\x7a\xf7\x4d\xb3\x62\xe4\x5c\x0d\x1b\xd8\x85\x6e\xed\x16\x6e\x4a\xec\x4b\xfd\xf9\x5e\xad\xb2\x51\xe2\xa1\xef\x80\x48\x52\xa9\xea\x77\xd3\x45\x77\xfe\x70\x83\x1a\x92\x8b\x10\x1b\x60\xac\x61\x3e\x7b\xa2\xe6\xba\x0a\x94\x01\x3a\x64\xc2\xf8\x21\x9f\xd3\x0b\xff\x40\x90\x99\x66\x7a\x78\x6f\x99\x32\x7b\xb0\x3e\x2f\x21\x87\xf4\x45\xb4\x6b\xee\xda\xb6\xd3\x25\xaf\xd9\x04\xe3\x95\x43\xe9\x3f\x4b\x6c\x54\x43\x24\x9d\x74\x4b\x2d\x1a\x43\xe1\x41\xe4\x76\x8b\xd4\x0a\xab\xe4\x05\x72\x44\xe1\xea\xdd\x9d\xae\xc1\x75\x71\x9e\x51\xa0\x93\xac\xe3\x2f\xe8\x2b\x2e\xac\xb5\xec\xb0\xda\x6c\x1f\xfe\x98\xc8\xce\xe7\x88\x6e\x30\x16\x70\xdf\xf8\x71\x13\xef\xed\x42\x82\x47\x1a\xfb\x6b\x8a\x0f\xdb\x50\x5e\x2e\x8e\x7d\xbc\x1a\x08\xa2\x2e\x96\x80\xbd\x09\x8b\xf1\x27\x58\x02\xbd\xb4\x59\x41\x3a\x3b\x23\x7d\x77\x13\xa1\xbb\xf5\x97\xe6\xad\xf2\xb6\x0e\xaf\x82\x37\x91\xb3"}, -{{0xaa,0x0f,0xda,0xe2,0xa5,0xa4,0xc9,0xc0,0x45,0x21,0x91,0x30,0x04,0xcd,0x89,0xef,0xbc,0x88,0xb2,0xda,0xdf,0x5a,0xbb,0x24,0x6f,0x3c,0xa7,0xf6,0x92,0x35,0x44,0xaf,},{0xbf,0xfc,0xb1,0x7c,0x35,0xc1,0x30,0x4c,0xdd,0x9d,0x62,0x4f,0xf6,0x9b,0xee,0x60,0xec,0x7c,0x9e,0xc3,0x27,0xd1,0x23,0x50,0xd7,0x0f,0xac,0x12,0xb4,0x7c,0xc2,0x5c,},{0xf9,0x37,0x29,0x89,0x69,0xca,0x34,0xd9,0x75,0x84,0x44,0x89,0x07,0x35,0x8b,0x0f,0x47,0x84,0x1f,0x30,0x23,0xaf,0xc7,0xef,0x76,0x81,0x52,0x1c,0x5b,0xe0,0xf5,0xe5,0x62,0x8a,0x8f,0x60,0x7e,0x2f,0x31,0x63,0x6e,0xf6,0x36,0x46,0xb0,0xe9,0x89,0x8a,0x72,0xad,0x35,0x57,0x06,0xd2,0xc8,0x06,0x0f,0xbc,0x64,0x0e,0xfb,0x3d,0x66,0x05,},"\xb1\x41\x84\xcf\xdc\x4a\x5f\x0c\x7f\x83\xf9\x4a\x83\x2f\x58\x85\x07\xe2\xd7\x2a\x89\x32\x98\x70\x07\x85\x71\xd2\x08\xa0\xc4\x96\x0c\x2f\xdc\x4c\x23\x6c\xf8\x82\x29\x98\x1d\x12\xb1\x0a\x1b\x68\x84\xc8\x65\x0d\xda\xf1\xd4\xb2\xeb\x98\x15\x75\xb1\xe0\x19\xfe\x3f\x60\x42\x36\x76\xf8\x85\x6a\x99\x2c\xce\x36\xd6\xd0\xa3\xd0\x26\x63\x1c\x8c\x1e\x1f\xfe\x34\x13\x4b\x29\x6f\x40\x84\x2b\x6d\xf4\xf8\x6f\x83\x3e\x01\x75\xba\xe5\x0e\x86\xbf\x85\x6d\x1e\xe7\x99\x25\xf4\x34\xb8\xbf\x2c\x84\x51\x9f\x1f\x5d\x25\x38\x60\x49\xce\x3c\xa6\x17\x77\xe3\x0b\x70\x0a\x60\x2d\x39\x52\x50\xb6\x0f\xc6\x4a\xc6\xf8\xdb\x02\x7e\x8d\xa8\xb9\x55\x0f\x24\xed\x11\xa1\x1d\x9f\x9f\x9c\x5e\x0a\xf1\x45\xb8\x65\x97\x51\xac\x6b\x55\x86\x1f\x63\x88\xa6\x43\x36\xb3\x1e\xfe\x45\xc0\x80\x2d\x76\xa5\x34\x86\xa8\x1e\xba\x07\x31\x4b\x4d\x96\x1c\x14\x1a\xb3\x4e\x2f\x76\xed\xac\x0e\x6d\xe3\x14\x22\xdf\x79\x2a\xf0\x81\xe7\x69\xc7\xed\x05\xda\x9a\x5a\xf2\xfd\xf3\x6f\x14\x17\x69\x90\x8b\x70\x09\x37\xf0\xe1\x06\x8c\x13\x1f\x17\x6e\xb9\x6c\x67\xaf\xdb\xe7\x8f\x40\xd8\x60\x07\xfb\xcd\x47\xe4\x9e\x2e\x4c\x4c\xe0\x49\x93\x6a\xdf\xf1\xce\x3e\xac\x42\xb9\x6b\x34\x29\xb5\x62\x6b\x1a\xa6\x2a\xcd\xe0\x7f\x45\xa1\x3c\xe1\xbd\x21\x1f\x32\xbd\x7e\xfe\x47\x90\xc8\x37\x1e\xbf\x87\xc1\x64\x47\x7a\x5c\x9f\xa3\xe7\x8c\x2f\x88\x07\x7b\x09\x73\x44\xcf\xfa\x03\x1c\x44\x29\xc7\xf4\x2d\xca\x07\x73\x78\x50\xee\x7a\x76\x9b\x36\xd0\xf0\x62\x5a\xdf\x12\x0e\xa2\x3f\xf4\xe3\x93\xa4\xfd\xcb\x65\x58\xdb\xf9\xb2\x66\xa0\x32\xe3\xb0\x59\x9b\x9d\x66\x92\xfc\xeb\xd8\x15\xa3\x89\x76\x07\x85\x63\x25\xfc\xd0\x11\x5d\xc3\x10\xdb\x3a\x87\x92\xfb\xeb\xd3\x99\x49\x4c\x83\x71\xe5\x85\x72\x7b\x3d\x63\x24\x14\x49\x68\x93\xd0\x38\x13\xba\x1f\x99\x66\x1b\xce\xb9\xdc\x18\xec\x5d\xc2\x7f\x52\x67\x03\x18\x68\x77\x69\xfc\x67\x8d\xdc\x7e\x40\x22\x7c\x20\x05\x22\x01\x3f\x5c\x0e\xec\x0e\x47\x81\xe6\xfc\x15\x3a\x0c\x2f\x4f\x3f\x95\xe5\x17\xc8\x41\x99\x24\xab\x39\x99\x2a\xf8\xc1\x94\x65\x05\x7f\x13\x44\x86\x69\x6b\xa7\xfd\x46\x51\x76\x8b\x4e\x74\x9e\xf3\x6f\x02\x44\x46\x17\xcf\x97\xf0\xa4\x23\xe4\xc1\x3b\x7b\x66\xba\x2b\x6c\x45\x68\x78\xb0\xb5\x0c\xe2\xee\x5e\xc5\x64\xed\x88\x54\xf7\x82\xaa\x1d\x1c\x6a\xa7\x60\xf2\x52\x2c\x7d\x97\xb9\xb1\xab\xe0\xba\x81\x09\x59\xd7\xaa\x40\x3a\x99\x37\x5a\xa3\xe3\x9a\x11\x5d\x1f\xc6\xfe\xdd\x00\x2f\x38\x30\xa5\x0a\x83\x7d\xc7\x20\x32\x9e\xc0\xc7\x3d\x5b\xfd\x50\x03\x85\xc7\x36\x83\x82\x87\xe1\x92\x01\x52\x5d\x18\x9c\x3a\x08\x4c\xd5\xa3\xf3\x59\x87\x5e\x3b\x83\x25\x28\x9c\xed\x18\xb6\x3b\x00\xff\x9c\xd0\x70\xc3\xe6\x74\x44\xbd\x3d\x83\x46\x17\x40\x85\xcc\x45\x13\x5c\xaa\x0c\x67\xb3\x22\x6e\x4a\x52\xe9\xa1\xc5\x5a\xed\x7e\xc5\xfa\xde\x6b\xf1\x6c\x19"}, -{{0x71,0x62,0xfe,0xf0,0xac,0xa4,0x97,0x4b,0x09,0x4a,0x6a,0x08,0x05,0x43,0x95,0xf8,0x77,0xff,0x94,0x33,0xf1,0xe3,0x3e,0x20,0xe8,0x8e,0xaa,0x90,0xf9,0x38,0x99,0x7d,},{0xa2,0x80,0x64,0x0f,0x13,0x9f,0x45,0xc3,0x5a,0x48,0x71,0x53,0x7e,0xef,0xe6,0xef,0x9d,0xb0,0x2d,0xe7,0x85,0xee,0x9f,0xd5,0x4f,0x80,0x5f,0xb5,0x7d,0x37,0x46,0xef,},{0xae,0x16,0x1c,0xce,0x95,0x40,0x33,0x84,0xb6,0x5c,0x6b,0xc9,0xb3,0x93,0xeb,0x07,0x25,0x64,0xc3,0x5f,0x3a,0x6c,0x04,0xfa,0x51,0x7a,0xb0,0x68,0xbc,0xd2,0x37,0x67,0xcc,0x0c,0x8e,0xdd,0x92,0xb1,0xa1,0x3a,0xe9,0xa9,0xce,0x48,0x64,0x13,0x7f,0xb8,0x9c,0x1f,0x37,0xb7,0x48,0xcf,0xc9,0x13,0x4b,0x67,0x41,0xba,0x1b,0x22,0x28,0x0d,},"\xc9\x0f\x45\x0b\xda\x1c\x6e\xfd\x8d\x12\x78\xde\xbd\x7a\xe0\x3e\x2e\xac\x27\x40\xa5\xa9\x63\xfc\xf9\x6c\x50\x4e\x31\xd4\xd6\xfc\xc5\xe2\xb5\x2a\x25\x18\xd2\x74\x1c\x55\xe9\x59\x18\x67\xb2\x42\x32\x28\xf9\xc1\x9f\x33\xc6\xf3\x87\x05\xc6\x20\x36\xd4\x80\xff\x53\xdf\x12\x07\x7e\x38\xfd\xb0\x73\xc6\x73\x10\x5d\xa1\xe1\x16\x19\xba\x53\x21\xa7\x1b\x5f\x49\x93\x23\x4a\x11\x94\x8e\xa1\x10\xcf\xa2\x42\xbc\x23\xfa\xc9\xaa\xe4\x62\x60\x6e\x39\x64\x1c\xa7\x14\x7e\xeb\xba\x1e\xec\x55\x3f\xce\x94\xe5\x3e\x4e\x01\xb0\x73\xdd\x78\x0a\x2f\xf6\x78\xb3\x15\x72\xca\x11\xee\x08\x77\xe7\x56\xbc\xdb\x66\x53\xe5\xe1\xb4\xcb\xfb\x56\x9a\x9d\x60\xe3\xee\x33\x61\x82\xdc\xb9\xb2\x5d\x1b\xe6\xdb\xf9\xb5\xc7\x14\x6d\x77\x55\x85\x83\x4c\xab\xde\x02\x78\xae\xe5\xd5\x7c\x85\xe9\x83\xf8\x4d\x88\x33\xa9\xe1\x5b\xcc\x11\x19\x8e\x1c\x1d\xa6\xba\x59\x28\x21\x29\xf1\xdb\x96\x6f\x54\x60\xc8\xfb\x65\x30\xfb\xc3\xa9\x8a\x31\xfc\x0f\x4e\x9b\x33\x73\x66\xee\xc1\xdc\xe1\x08\xc8\x26\xd4\x90\x45\xab\xfa\x12\xee\x88\x79\x7f\x08\xf0\x68\x3f\xef\x77\xed\xaa\x35\x43\xb9\x1c\xb1\x18\xe4\x24\xd9\xc4\x08\xda\x54\x74\x31\x12\x51\x07\xd9\xb0\x74\x4c\x24\x43\xce\x99\x17\xe1\xe3\x28\xd8\x18\x50\xba\xbb\xc9\x4d\x92\x0a\x1d\x06\xe5\x24\xdb\xb6\xc2\x3d\xd8\x2e\x17\x87\x82\x2d\x71\xc4\xcd\xc4\x09\xae\x85\xba\x4d\xeb\x58\x1f\x93\x47\x48\xf7\x5e\x7a\x76\x9b\x9d\x68\xc4\x58\x9e\x59\x4e\x65\xcb\x6c\x8f\x49\x03\xff\xba\xbd\x5a\x32\x6e\x89\x44\x1a\x54\x2f\x8a\xc2\x64\xcc\xc6\x4e\x95\xa8\x98\x2a\x71\x0b\x6c\x56\xff\x7d\x10\x91\x6a\xfc\x40\x9e\xa8\xa4\x1b\x74\x67\x9d\xd6\xa7\x66\xf5\x9c\x52\xb9\x30\x5b\xa7\x33\xb1\x3c\x9e\x81\x1e\xe1\x30\x83\x92\x5f\x42\x00\x68\x2b\xd0\x5d\xea\x33\x95\x32\x52\x29\x70\xaa\x14\x9d\x00\x4a\x2e\xa2\x0f\xf4\x61\xe9\xec\x0f\x3b\x62\x56\x5c\x1a\x10\x62\x59\xc8\x36\x60\x5c\xc2\x7c\xad\xc9\x51\x5c\xb9\x97\x9e\x89\xaf\x28\x7c\x02\x7d\x75\xed\xbf\x87\xd5\xcf\xf6\x3a\x7f\xec\x9b\xd1\x0e\x78\x77\xab\x9b\xf8\x68\xd7\x34\xbd\x3a\x23\x74\xce\xf7\x02\x5c\xc4\xda\xb7\x10\xe2\x54\x80\x66\x85\xa1\x36\xec\xd0\x3e\x36\x77\x03\x46\x51\x3a\x15\x14\x5b\x89\x0e\xee\xf4\x7b\x80\xea\x08\xe4\x6c\x81\xd2\x02\xe5\x33\xe9\xa0\x6a\x38\xa6\xf7\x6e\xf5\x7a\x9c\x73\x6e\xc7\x8d\x00\xb8\x08\xe3\xff\xd9\xc7\x9b\x9d\xc7\xa2\xe5\x89\x90\x76\x56\xc9\x32\xab\x8a\x8b\x57\xda\x1a\x49\x5b\xa7\x45\x20\x15\xe7\x92\x4b\x52\x69\xab\x1f\x67\xbd\xb4\x3a\x35\x83\x14\x87\xab\x90\x02\xf5\x2d\x78\xb1\x34\xcd\x37\x51\x92\x5a\xaa\xb0\xb4\x5c\x8e\x6b\x0f\x2b\xf0\xcc\x9a\x46\x59\x31\x71\x08\xfb\xa9\x13\x6a\xab\xb0\x92\x1a\x58\xfb\xb9\xb5\x0e\x51\x24\x3f\x9b\x53\x18\x47\xdc\x96\x57\xe9\x6f\xba\xf7\xaa\x69\x8f\xe6\xfe\x44\xf9\x05\x90\x14\x4c\x70\x33\x72\x50\xc5\x8b\xc5\xdd"}, -{{0xde,0xa1,0x80,0xc9,0x1b,0x53,0x3a,0xaf,0x73,0x6b,0xc5,0xd3,0xc8,0xe4,0x74,0xd5,0xe5,0xd4,0x75,0xb7,0x5b,0x92,0xcd,0xe6,0xbd,0x1d,0x10,0xf3,0xb8,0xf5,0x5a,0xd4,},{0x30,0xb2,0x0f,0xb3,0x20,0xb0,0x0e,0x77,0xc4,0xe0,0xa8,0xeb,0x37,0x30,0xaf,0x3c,0x0b,0x1c,0x5f,0x5e,0xd9,0xee,0x2b,0x05,0x62,0x70,0x7e,0x4f,0x55,0xc4,0x93,0x8b,},{0xd0,0x83,0x33,0x3f,0xb8,0x4e,0x79,0xc9,0xb3,0x3e,0x55,0xe8,0x19,0x2d,0x57,0x1f,0xfc,0x8d,0xc5,0x07,0x45,0xb6,0xb5,0xfd,0xd8,0xc4,0x4d,0x92,0xa6,0x3f,0xd1,0x78,0xc4,0xe5,0x7c,0x2a,0xb3,0xa1,0x21,0x1c,0x0b,0xa2,0xd3,0x9d,0xa3,0x0b,0x06,0x62,0x9d,0x8d,0x1c,0xc1,0xd9,0xf2,0x59,0x32,0x63,0xd5,0x24,0xfa,0x5a,0x2e,0xbc,0x03,},"\x60\x61\x44\xb7\xd4\xf9\x6b\xef\x7f\x11\x2b\x6d\x41\xbc\xb5\x00\xd2\x13\x6c\x13\x4c\xed\xa2\x20\xe2\x4d\x0f\x15\x24\xec\xa1\x2c\x30\xf2\xb1\x02\xc7\xf3\x78\xd6\xbb\xa2\x59\xc5\xb4\xa5\xef\x8e\xc9\x30\x9d\x5c\x8d\xa7\xe8\xd2\xde\xd3\x79\x2a\xee\xea\x21\x08\xf7\x7d\x66\xb2\x30\x45\x93\x8e\xd6\x47\x51\xf2\x0d\x48\x32\x6b\xe2\xfb\x99\x62\x8c\xfb\x18\x73\xd7\xdd\x27\x58\x1c\x10\x5e\xc1\x32\x49\xa9\x52\xa5\x07\x84\xb8\xb3\x4c\xb3\xb2\xc1\xa0\x04\xfa\x8b\x62\x8a\x07\x67\xfa\x9a\xbf\x05\x8d\x95\x5d\xf8\x5d\x13\x4a\x0f\xc7\xf4\xb7\xd7\xfb\x0c\x8d\x31\xbc\xe3\x45\xdd\x0a\x42\x82\x14\x5a\xfb\x2f\xf1\x97\x51\xf2\xcc\x3a\x1c\xae\xa2\x42\xba\xaf\x53\x87\x49\xbf\x38\x80\x00\xe3\xdc\x1d\x73\x93\x59\xdf\xeb\xae\x64\xae\x1e\x10\xfb\x6f\xc1\x7c\xc9\xfb\x95\x05\x35\xc2\xde\x12\x95\x87\xa8\x68\x59\xb7\xbe\x36\xdf\xe9\xb6\xc1\x14\x1b\x25\xe0\x91\x5c\x8d\x4a\xa1\xcc\xea\xe7\x04\x6b\x3d\x7c\xfa\x94\x0b\xc9\x8d\x4d\x69\xfc\x5a\x30\xdd\xe1\xde\xe4\x2f\xb5\x27\x22\x81\xbf\x8f\x8e\x7f\x3e\x1a\x04\x39\x7f\xb4\xf3\xad\xef\xc5\x75\x32\xdd\xbd\xe3\x68\x33\xa6\x76\xe6\xf3\x9c\x82\xaf\xf6\xbf\x48\x32\xec\x97\x1e\x03\xbe\x38\x29\xc0\x2a\x20\x3c\x82\xd9\xeb\x8c\x16\x30\xee\x96\x93\xf4\x5d\x26\xf5\xf5\x1a\x31\x03\xca\x64\xd4\x68\xec\xea\xc1\xb2\x9a\xf4\xc4\x2e\xb2\x16\xd7\x6e\xc8\x99\x48\x36\xb4\xbe\xc7\x64\x89\xca\x50\x70\x68\x0c\x2c\x2e\xb4\x57\x21\x0a\x77\xc4\x7f\xdc\xbf\x60\x01\x72\x07\x3a\x53\xf1\x45\x3b\xb5\xc8\x04\x39\xc8\x82\xf0\x73\x6d\xe4\x06\x37\xb4\xf5\xab\x1f\x76\x1f\xf3\x55\xc6\xe9\xbd\x4a\xbd\xe7\x56\x0d\x5f\xc1\x13\xc8\x30\x15\x9a\x1b\x77\xc4\xe8\x7b\xc2\xc6\x98\x80\xa4\x0c\x58\x05\xec\xc8\xaa\xaf\x57\x57\x5b\xcc\xd8\x17\x7f\xc6\xb8\x35\x69\x23\x3c\x0f\x5c\xa2\x23\xac\x40\x13\xca\x10\x6c\xac\x28\x54\x70\x6a\xea\xd7\x14\xfa\x29\xf2\x86\x0a\x5f\x97\x53\x26\x8a\x36\x71\xd9\xf5\x9c\xde\x60\x48\xcf\x0b\x89\x86\x05\x0f\x7f\x54\x9e\x4f\xd7\x55\x7f\x2f\xc3\xfc\xdc\xcd\xdc\xef\xda\x58\x6a\x64\xb3\x00\x6e\x58\x25\xf2\x7c\xa3\x16\x87\xca\xf6\x63\xbd\x90\xa0\x5b\x11\x52\xd7\xc8\x8d\x7f\x10\x51\xa9\xd7\x91\x74\x86\x51\xd8\x88\xa6\xa1\x2f\x22\xd6\xc8\xc3\xf7\x8c\x2b\x86\xea\xf5\x39\x4b\x4e\xf7\xee\xfb\x89\x79\x7b\x25\xe5\x42\xdc\x93\x10\x2d\x02\x1a\x1d\x0b\xed\x6a\x7d\xcd\xd8\x10\x2b\x8f\x04\x30\xa0\xbc\x21\xd9\x04\xa3\xc9\x34\x6c\x01\x83\x43\xdd\x99\x37\xcb\x35\x25\x00\x07\xa2\x84\x82\x5d\xb0\x8e\x9a\x11\xfe\xe3\x1c\xff\x7a\x31\x4c\x48\xc4\x2d\x8b\x31\x4a\xcc\x27\x82\x2a\xf0\x3d\x19\x54\xc7\xcc\x8b\xf9\xad\x4e\x9e\x98\xf4\xad\x4e\xfb\x35\x52\x88\xda\xa8\xc9\x0d\xe9\x03\x7e\x64\xa7\x86\x1f\x5e\xe4\x3a\xda\x9f\x0f\xcc\xde\x34\xd0\xbc\xf5\x02\x88\x55\x0f\x70\x0f\x21\x5a\x79\x44\xa5\x38\x0e\x2a\x8e\x3f\x04\xf2\xb4\xf5"}, -{{0x9d,0xaf,0x6d,0xbb,0x7f,0x76,0x29,0x66,0xe7,0xa5,0x7c,0x2e,0xc1,0x99,0x6e,0x9f,0x5b,0x55,0x5b,0x98,0x66,0xb8,0xe3,0x1d,0xea,0xab,0x43,0x56,0xeb,0x13,0x81,0x6e,},{0xf0,0x21,0xb5,0x5a,0x36,0xd9,0xfb,0xfb,0xf2,0x97,0x8b,0xc0,0xdf,0x73,0x6b,0x28,0x9c,0x82,0x41,0xd6,0x43,0x53,0x09,0x84,0x1a,0x13,0x4b,0x07,0xd4,0x7c,0xe4,0xed,},{0x49,0xb6,0xbc,0x46,0xb7,0xab,0xb5,0x69,0x4d,0xa9,0x42,0x15,0xef,0xc4,0xb3,0x0e,0xea,0x04,0xae,0x2e,0x73,0xeb,0x2d,0xa8,0xe8,0xc9,0xef,0x9b,0xe2,0x22,0x24,0x98,0xb1,0x7e,0x13,0x93,0x96,0x46,0xc2,0x9e,0x32,0xd6,0x45,0x58,0x46,0x40,0x64,0x15,0x90,0xb1,0xbb,0xdb,0xfe,0x24,0xf3,0x6c,0x6f,0x69,0x4b,0xf8,0x72,0x38,0xee,0x04,},"\x54\x45\x23\x90\x0d\xaa\x67\x78\xc0\x39\x1a\xe4\x04\x4a\x51\xc0\xc4\xa5\xe4\x44\x13\x3f\xbd\x77\x47\xd5\x39\xa7\x44\xfa\x60\xab\x5d\xc5\x4e\x18\x19\xdc\x8e\x56\x89\x9c\x56\xef\xd7\xef\x3d\xa3\x41\x79\x0e\xcc\x49\x64\x5e\xf3\x25\xc6\x56\x8a\xe9\x71\xd3\x0d\x21\xbb\x7f\x23\x46\x4f\x46\xa2\x4b\x80\xd4\x9b\xb9\x3c\x6e\x91\xde\x79\xb2\x43\x31\xd0\x70\x7f\x43\xd0\x66\x5d\x01\x97\x74\x3a\xdf\xf6\x90\xd6\x15\xa1\xc9\x25\x87\x77\xfc\x47\xd0\x21\x71\x42\x42\x6a\x47\x34\x89\x2e\xb6\x22\xab\x8e\x50\xbb\x12\x8e\xc3\xa8\x95\x26\x6a\x38\x61\xa3\x97\x68\xbc\x76\x09\x6f\x58\x1f\xd0\x82\xdf\x9b\x72\x23\xe8\x5a\x8a\xfb\xdb\x5c\xaa\x49\x22\xaf\x2a\x01\x4b\xf8\xa5\xcd\x11\xe5\xc5\xea\x93\xe9\x1c\xd4\x6d\x5a\x1b\x99\xb8\x5a\x26\x70\xe3\x21\xde\x2e\x32\x25\x5a\xfd\x67\xfe\x2c\x37\xfd\x93\x2c\xac\xa2\x2d\x24\x1f\xaf\x4c\xce\xfe\xff\x58\xd6\xbd\x04\xcf\xaf\x11\xde\xdd\x29\xc8\x71\x9f\xfc\xb0\x2e\xf6\x5c\x5d\x3e\xb7\x8b\x4f\xc0\xd1\x70\xa2\xe3\x43\x2c\xc8\x12\xf0\xd0\x41\xd9\x76\x0c\x13\xc1\x2f\x7c\x7f\x2f\x84\xfe\x5e\x0f\x70\x0c\x10\xb1\xa6\x9c\xa4\x66\xa7\x0b\xde\xff\x8d\xbe\xc7\xd3\x18\xfb\x09\xdd\xd8\x27\xef\x61\xca\xa6\x91\x0b\xbc\x06\x1c\xbd\xa2\xb5\x27\xef\x2e\x59\xed\x4c\x17\x22\x99\x72\xf8\x95\x67\xd7\x05\xde\x92\x31\x92\x4b\x41\xbb\x6e\x7c\x01\xfe\x85\x42\x64\x47\x4f\xa7\x6b\x1f\x88\xcd\x57\xea\xc3\x11\x17\x1a\xf1\x03\xd2\x30\x78\x42\x4a\x12\x67\x5f\x2f\xa3\x6c\x2d\xe0\xbf\x53\xc2\x95\xfe\xeb\x31\x57\xde\x95\x89\x22\x98\x6e\x32\x51\x3d\xfa\x33\xb3\x5e\x15\xc3\x94\xa1\x1c\x0f\xcc\x55\xb8\x2d\x6d\xd0\x59\x7c\xdd\xd2\x7e\xde\x7d\xe1\x29\x85\xa6\x16\xe6\x40\x26\xbe\xfb\x5d\x69\x04\x82\xb3\xff\x22\xc0\xdd\x21\xf2\x7a\x08\x6d\x37\xa0\x49\x9e\xa3\x6f\xe2\xc4\xb5\xa9\x59\xd1\x0e\x9a\x61\x0c\xab\x1f\xe0\xd2\x8c\xf1\x01\x3d\xca\xe6\x3d\x8f\xde\xe0\xec\xbd\x8b\x4e\x19\xd5\xd0\x40\xe2\xfa\xd7\xd0\x41\x3a\x38\xe8\xc4\xe7\x35\x52\xad\x46\x04\x7b\x5b\xbd\xd1\x5c\x09\xcc\x0d\x34\xe4\x8b\x91\xfd\xba\xe2\xa9\xd1\x62\xd4\xb2\x1e\xe2\x0a\x1e\xf5\x35\xea\x88\x35\x95\xbc\x49\x51\x69\x2a\x67\x16\x34\x54\xc7\x36\x7f\x13\x4b\xf6\x45\xd4\x8f\x99\x69\xe3\xd4\xf0\xf9\xea\xf4\x14\x4c\xe9\x80\xa0\xa2\xe3\x34\x2c\x74\x6c\x2b\xdc\x3c\xcd\xc2\xf8\xa7\xda\x57\xa0\xe8\x02\x87\x82\xd3\x0a\xf5\x85\x7d\x9e\xfb\x37\x66\x6d\xf6\x5d\x7c\xc3\x84\x71\x66\x61\xe6\x1f\xf5\xc0\x97\x52\x59\x5e\x94\x11\x2c\xa1\xa8\x40\xd6\xe4\xf6\xec\x0e\x55\x49\x4c\x5b\x44\xf7\xc0\xf0\xd4\xa9\x9c\xd7\x09\x05\xbf\x84\x85\x56\x17\x48\xf4\xdc\x0f\xd7\xa4\x4a\x1b\x13\x91\x13\xc3\x8a\x1e\x8e\xb5\xc7\xa2\x0f\x3e\x95\x2e\xae\xa8\xce\x38\xb2\x07\xc2\x8e\xd9\x72\x71\x8f\x03\x1f\x47\x7c\x62\x07\xce\x43\x3c\x51\x5f\x5a\xc2\x84\x0f\x49\x74\xf1\xf1\x69\x89\x62\x6c\x76\xbc\x98"}, -{{0x71,0x86,0xf8,0xd1,0x68,0xd9,0xdd,0xf1,0x7e,0xdb,0xaf,0x0e,0x7b,0x1a,0xbc,0xb2,0x6d,0xa3,0xe4,0xc0,0x27,0x2d,0x98,0x79,0xc7,0xfd,0xff,0x64,0x21,0xc4,0xea,0x50,},{0x96,0xb4,0xa6,0x56,0x23,0x20,0x29,0xfc,0x1b,0x83,0x64,0x70,0x3c,0xbe,0xa7,0xa5,0xd7,0x38,0x75,0x18,0xa8,0x8c,0xed,0x1a,0x91,0x5e,0xc8,0xd8,0x86,0x84,0x81,0x32,},{0xa9,0xc0,0x49,0x9f,0xc2,0x16,0xa1,0x45,0x32,0xd7,0x36,0x36,0x5c,0x63,0x55,0xf9,0x38,0xf8,0xd8,0x19,0x4f,0xa1,0x13,0x28,0x48,0xf8,0x3e,0x49,0x04,0x54,0xd4,0xbb,0xf6,0x92,0x69,0xf1,0x22,0x59,0xfc,0x6c,0x07,0x4c,0x10,0x15,0xe4,0x25,0xe4,0xf4,0xf2,0x7c,0x02,0x9c,0x93,0x33,0x49,0x51,0x36,0x1a,0x35,0xad,0x11,0x76,0x54,0x0e,},"\xa3\xe6\xcb\x6b\x84\xcc\x5c\xf1\xfb\x1a\x84\x8b\x4b\x8e\xa7\xcb\x7c\x87\xe0\x44\x57\x50\xc6\x1f\x9a\xa5\xd7\x7d\xed\xdf\x94\x94\x63\xec\xd3\x9b\xfc\x71\xf2\x61\x0c\x2a\x94\x24\x84\x7f\xb7\x6f\x84\xc5\xda\x1f\xa1\x0e\xf7\x18\xa3\x45\x66\xce\xc1\xb3\xe8\x99\xe7\x25\x2e\x8d\x4d\x34\x60\x16\x49\x8f\xf1\x19\x97\x27\x50\x06\x16\x60\xba\xed\x31\x28\x27\x58\x31\x81\x07\x3d\x1d\xc7\x4b\x76\xc4\x30\xca\x30\xd4\x09\xe4\xe8\x43\x9c\x0f\xc4\x8c\x00\x68\x06\x29\xd4\x3a\xe2\xa7\x7d\x69\x22\x8f\x7f\x8a\x12\x53\xaf\x15\xbd\x2c\xb6\xbb\x1c\x16\x96\x55\x0c\x4c\x79\x0f\x44\x98\x69\x63\x0a\xb9\x2b\x9c\x11\xcd\xe1\xf9\x61\xaa\x21\x03\xec\x23\xf7\xd9\xf0\xfe\x9c\x3c\x41\x32\x58\x2e\xfa\x79\xa6\x6a\xe3\x42\x6e\x51\x05\xb8\x0b\xfe\x5e\x04\xdc\x8b\xb1\xe3\x8a\x31\x10\xcd\x72\x98\x4b\x3e\xf0\x2a\x0c\xa6\x2a\xb6\x38\xcb\xcf\xbc\x8a\x6b\x59\x3d\x26\x13\xdc\x06\xec\x86\xfe\xe3\x4f\x65\x18\xd4\xa3\xfb\xdc\x15\x72\x37\x17\x45\x64\xda\xeb\x66\x74\xcd\xc3\x4f\x4d\x65\x37\xcf\x81\xd8\xaa\x9b\xdd\xbf\x3a\xed\xa3\x12\xda\xae\xee\x33\x6f\x9e\xd8\xbf\xf8\x1e\x29\x4b\xc7\xd4\x4d\x25\xcd\x78\x70\x72\xe6\xcb\x41\x4b\x65\xfb\x7a\x84\x6f\xc0\x65\x36\x7b\xa8\xe3\x7b\xef\xfd\xf0\xb7\xba\x8f\x98\xcd\xf1\xeb\x87\x0f\x4e\x8b\x71\x30\xfa\x34\x29\xd2\xe2\x4b\xce\x59\x94\xda\xf1\xaa\x65\xe5\xf6\x03\xb6\x31\x05\x3d\xc5\x10\xb2\xf0\x97\xe8\x6e\x9b\x9b\x55\x23\x02\x75\x79\x68\xd0\x13\x6e\xe6\x75\x4c\x42\xa3\x2c\x99\x0a\xdd\x9c\xb5\x29\xbc\x89\x75\x1d\xfa\x4e\x5e\x3a\x0b\xad\xaf\x4c\xc4\x0b\x6a\x09\x50\x7f\x9f\xcd\x24\xc3\xca\x72\x25\x95\x99\xc6\xee\x58\xd8\x57\xb3\xa1\x89\xe0\x48\x90\x2e\x88\x5a\x36\x07\x42\x60\x93\xcb\x0f\xab\x43\x7c\x0f\xb0\xed\x2f\x1e\x96\xe9\x44\x1a\x7e\x95\x4f\xe3\xef\x76\x46\xe2\x6a\x39\xa0\x70\x33\xd0\xa1\x55\x5d\xfe\xed\x9a\x6f\x57\x79\x4a\xf3\xa2\xab\xf0\x05\x7e\x9f\x85\x3a\xe5\xc3\x01\x38\xfd\x80\xe2\xf2\x9c\x2f\x4a\x93\xad\x31\x45\xda\x10\xa3\xe3\x1c\xe9\xff\x97\x86\xac\x65\xd8\x60\x37\xd9\x8b\x7a\xa6\xd1\x1d\xe8\x80\x00\x10\xe1\x33\x86\x9e\xb6\x7a\x50\x39\xb9\xb8\xfe\xb6\xef\x90\x3d\x0c\xc7\x46\x41\x26\x07\xda\x72\x5c\xe2\xdc\x6a\x35\x21\x09\xdb\xc6\xa5\xe4\x0b\x17\x0c\x23\x05\x0b\xc4\xfb\x1e\xfa\x0c\x34\xfe\xc0\x0e\xae\x32\x19\xc2\x90\x40\xe8\xf5\x97\x8c\x93\x84\xee\x91\x5d\x8c\x93\x98\xdd\x12\x0d\x5c\x3c\xba\x38\xf8\x52\x6b\x06\x19\x7c\xb2\xc2\x61\xde\xc7\xd7\x26\xae\x13\x0f\x9b\xee\x17\x26\x17\x00\xe9\x99\x31\xfa\xc4\xb4\xdc\xa0\xf7\x58\x70\x1a\xcb\xf3\x70\x7d\x47\xdf\x53\x21\x13\x0e\xc1\x0b\xb3\xb1\x30\x78\xc4\xdc\x5d\xe3\x47\x0f\x15\x8b\x57\xdb\xeb\x87\x8b\x3a\x85\x24\xe0\xed\x2c\x95\x47\x54\x5f\x0f\xdd\xf1\x31\x25\xe4\x5b\xb2\x3d\x6a\x7b\x38\x3a\x18\x7f\x4c\x5d\x54\xa7\xb4\xc8\x3d\x59\x57\xf2\xcd\x7e\x6f\xbc"}, -{{0xe8,0x6e,0x8c,0x62,0x56,0x6e,0x15,0x75,0x3b,0xd5,0x57,0x7e,0xaa,0xe7,0xf2,0x41,0x05,0xb7,0x40,0x55,0xa2,0x56,0x29,0x58,0x07,0x08,0xbf,0xc8,0x3a,0xeb,0xf0,0x6c,},{0x8c,0x8c,0xe8,0x82,0xd5,0xf7,0x65,0x86,0xd8,0xdd,0xcc,0xc5,0x57,0x9b,0xcc,0x1c,0xdf,0x4c,0xfd,0x71,0x62,0x30,0x4c,0xb1,0x0e,0x76,0x96,0x02,0x6e,0x70,0x7f,0x17,},{0x54,0xd2,0xfd,0x44,0xac,0xf9,0xe2,0x09,0xbc,0x7e,0x43,0x33,0x72,0xbd,0x73,0x07,0x4d,0x07,0x80,0x6a,0x77,0xc6,0xce,0x22,0x8e,0x9b,0xe9,0x94,0x41,0x8b,0x00,0xc7,0xec,0xbc,0xb7,0xac,0x00,0x6c,0x29,0x4a,0xec,0x9d,0xe6,0x68,0x57,0x2a,0xdd,0x51,0x7c,0x06,0xb4,0xeb,0x4f,0xe2,0xff,0x35,0x23,0xbf,0x04,0x3d,0xf4,0x4d,0x3d,0x0d,},"\x12\xfa\x63\x1b\x0e\x48\x2e\x9b\x9d\x63\x3e\x94\xb8\x2d\x8a\xb4\x36\xfe\x54\x8e\x5b\x95\xda\x92\x62\x46\x23\xd1\x3f\x2c\x70\xda\x77\x5b\xa1\x36\xc5\x22\x9c\x16\xa0\xc7\xa6\xfa\x91\x4b\x2f\xed\xa5\x64\xe1\x72\x19\xe4\x73\x70\xf9\x51\x5b\xb1\xd5\x9d\xe6\xe9\x58\x62\x04\xd9\x43\xdc\x56\x0d\x73\xe2\xe7\x57\xf7\xeb\x39\xbb\xc7\x11\x1b\xb4\x6b\xc6\x43\xc1\x3f\x60\x21\x12\x73\x9b\xec\x77\x8d\x7d\x4f\x49\xd0\x92\x56\x3d\x68\xf5\x77\x6e\x43\x0e\x3b\x0b\xf2\xdc\x1b\x01\xbe\xb3\x04\x01\x96\xda\x63\x02\x90\x8b\xfe\x91\xe0\xfc\x38\xe0\x4c\x15\x0e\xf9\x07\xdc\x73\x6c\x44\x5f\xf2\x1f\xdb\xd2\xdc\x1e\xac\x0a\x0f\x5d\x00\xa3\x0a\xf0\x28\xaf\xe2\xff\x61\x16\x2b\x75\x8c\x7d\xa9\xa7\x76\x66\x6a\x11\x23\x59\x43\x1c\x48\x85\x6a\x87\xca\x82\xd3\xdd\x1c\x8a\xf3\x76\x59\x86\x35\x43\x2b\xf8\x91\xbe\xcb\xc3\x3a\x8f\xda\x44\xce\x88\x3e\xa8\xaf\x4a\xd8\xb9\x1a\x92\x61\xce\x76\xb9\xe9\x39\xc4\x61\xfa\xc5\x3a\xe0\xf0\x76\xe8\x2d\x87\x9a\xac\xe8\xf3\x8f\x12\x0b\xc9\xb0\x4d\x81\x25\xed\x24\xbc\xd7\x79\xd9\xd2\x43\x86\xb1\xdd\x20\x17\xeb\xee\x81\x97\x37\x6e\x8c\x36\xfa\x3a\xef\x8c\x1e\x71\x3e\x2b\x8b\xce\x49\x66\xd8\x48\x88\x68\x1b\xa7\x84\x95\xfb\xd1\xd6\xcc\xa5\x86\x26\xe6\x85\x4c\xda\x60\x6b\x83\xd6\x29\x3d\x01\xe8\xe3\xe1\x3b\xbf\x4a\xac\x85\x1d\x9a\x1e\x00\xd0\x02\x4e\x26\x99\x3b\x0b\x30\x91\xbe\x7e\x80\x61\xbc\xbb\x3c\xbb\x23\x02\xce\xab\x96\x89\x7a\x8e\x1f\xf3\x67\xec\x86\x25\x69\x3c\xf3\x15\x34\x12\x4a\x9d\x5d\x72\x5b\xca\xe0\x01\xd6\x7b\xc2\x11\x1d\x0a\xb8\x11\x1f\xa1\xd2\x4e\x4e\xd0\x6d\x63\x58\x3c\xe6\x90\xf2\xa0\x46\x26\xd7\x91\xd2\x9e\x3e\x31\x5a\x41\x5b\xf2\xe8\x53\xa5\xf2\x97\x4c\x83\x3a\x3f\xe2\xe2\x90\x9c\xf6\x69\xc7\x3c\x1f\x59\x39\x2d\x30\xc3\x7f\x3b\x9c\x5a\x3d\xdc\xfd\x75\x62\x1f\xda\x36\xe4\xba\x2f\x16\x14\x78\x58\xf6\xf2\x06\xb9\xa1\x40\xf1\xdd\xc1\x46\x6c\x9a\x53\xed\x73\xf8\x24\x90\xbc\x95\x32\x2c\x95\x5f\x61\xd1\x1c\xb5\x1d\x5e\x8a\x58\xc6\xb3\xcb\x0f\xdf\x04\x19\x76\x32\x01\xbe\xea\x93\xa8\x51\x2b\x14\x05\x24\x5b\xfc\x38\x41\x55\xad\xc5\xce\x77\x8a\xa7\x4d\x00\xa3\x22\x72\x64\x65\x11\x9a\xf7\x95\x01\xf0\x40\xdd\x0a\x7a\x84\x06\x00\x01\xca\x89\xd2\xfe\x5e\x9c\xf9\x77\x9a\x54\x7e\x3e\xbd\x3b\xf8\x64\x29\x90\xa3\x69\x0e\x2b\x2c\x3e\x54\xcb\x7e\xee\xea\xbc\x24\x2b\x4d\xd9\x92\x74\xc4\x25\xa8\x67\x93\x1c\x92\x9c\xa7\x08\x08\x60\x1c\x39\x08\xcf\xd7\x88\x86\x7d\x68\x7d\xc3\x66\xe9\x76\x35\x0c\x9e\x70\x58\x4b\xd3\x90\xd6\x7e\xeb\x7c\xfe\xa2\x6c\x42\x68\x6d\x3d\x96\x20\xf6\x2f\x64\x10\x4e\xf4\x1e\xd1\xd1\x30\xd7\x9e\x32\x59\x38\x48\x62\x96\xb7\xab\x2d\x2a\xdb\x78\x52\x67\x43\xe4\x00\xac\xb2\xb7\xaf\x09\x62\x8d\x68\xcf\x94\x75\x10\x16\x25\xc2\x0e\x1d\xc0\x51\xd7\x3c\x99\x7c\x95\x2e\x12\x81\x2c\x80\x5b\x68\xff"}, -{{0xa5,0xca,0xb2,0x72,0x7e,0x2f,0x13,0x1a,0x4d,0x63,0xfa,0xce,0xe7,0x99,0x33,0x66,0x63,0x93,0x0a,0xa0,0x7a,0xfd,0xa6,0xbd,0x5a,0x8e,0x98,0x5a,0x02,0xde,0xb1,0xea,},{0xac,0x35,0x5f,0x95,0x26,0x0f,0xbf,0xea,0x77,0x8c,0x55,0xb5,0xaf,0x8b,0x3f,0xd1,0xf2,0x4d,0x26,0x93,0xda,0x35,0xde,0x4e,0xe5,0x08,0xa2,0x7e,0xd3,0x50,0x39,0x1f,},{0x13,0x8c,0x7a,0x8e,0xca,0x5b,0x5c,0x37,0x15,0x88,0x13,0x84,0x3c,0x9a,0x90,0x4e,0x5f,0x53,0x0a,0xd9,0x71,0xee,0x43,0x2a,0x44,0xf3,0x44,0xf8,0xc6,0x4b,0xbf,0xaf,0x10,0x2f,0xf4,0x1d,0xaa,0x5c,0xf7,0x22,0xa4,0xbc,0x66,0x40,0x58,0x87,0x59,0xb8,0xf3,0x6f,0x9c,0x05,0x9e,0xab,0x93,0x6c,0xc4,0x5e,0xd4,0x79,0x63,0x94,0xa0,0x02,},"\x48\x34\x39\x15\x4d\xd5\xe5\xd1\x09\x85\x7c\x24\xd1\xc4\xe7\xfb\xbe\xfd\x2f\x38\x65\x1d\xa8\x12\x89\xf2\xad\x3d\x61\x54\x30\x65\x38\xb8\x2a\xc7\xdb\xa9\x21\x0e\x74\x07\x76\xed\xe4\xcc\xf5\x1d\x4f\x63\x09\x4b\x03\xe4\x6a\xd3\xaa\x3c\x31\x94\x7d\x8c\x36\xce\x6f\x94\xe8\x52\x96\xbd\xed\xcc\x1e\xad\x62\xea\xa1\x44\x1e\xcd\xe0\xa2\x25\xd0\xbf\x02\xed\xca\xcf\x86\x50\x14\x89\x9a\xf6\x6d\x98\x08\x04\x0c\x2d\x02\x00\x0a\x0f\x5c\xe4\xf1\x68\x3c\x1a\x49\x52\x76\xd9\xc4\xd7\x28\xc9\xec\xd6\xf0\x78\xdb\x8a\x0c\xfc\x26\x71\x87\x23\x85\x62\xab\x1a\x1e\xa2\x81\x3f\xb4\xf1\x2e\x87\x8e\x1b\xa1\x43\xf4\xd0\x6a\x3b\xc8\x10\x0c\x35\x50\x11\x8d\x69\xda\xe6\x7b\x55\xed\x69\x2a\xcf\x94\x44\xda\xa5\xc3\xe3\xc0\xa9\x8e\xe2\x8c\xf1\x72\xde\x0c\x58\x4c\x9f\x2e\xc9\xbb\x6e\x9b\x57\xf5\x72\xa8\x6f\xf8\x72\x9f\x65\xf4\xc6\x5b\x7f\xea\xcc\xaa\x21\x72\x0e\xd7\x9e\x90\x61\x8b\xca\xfb\xfd\x95\x33\xda\x85\x23\x2b\x45\x08\x83\xaa\x91\x9f\x82\x7f\x04\xc4\xa9\x7b\xf5\x13\x90\xd4\xf8\x56\x9c\x19\x17\x26\xf4\x4f\x7e\x39\xfb\x3d\xb7\x3b\xfc\x41\x5b\x6f\xfc\xa8\xb9\x1a\xca\xad\x69\x23\x85\x72\xf1\x4b\x49\x98\x5e\xa0\x3c\x98\xd7\xb1\xd4\x4b\x3a\x65\x54\x76\x5b\x19\xab\xf9\xb2\x52\x74\xe9\x7e\x46\x34\xe4\xb0\xf9\xe8\x02\xeb\x6f\x74\x3f\xff\x95\x07\x57\xee\x01\x3a\x69\x88\x22\x18\x81\xa7\x44\x3f\x1f\x32\xbc\xcb\x00\x7e\x99\x37\x9c\x7c\xa4\xf9\x06\xd5\xfe\x11\xcb\x12\xf6\x6b\x53\xa3\xd2\x1a\xc9\x47\xbe\x0c\x81\x50\xbc\xd0\x4f\x1c\x81\x6b\x3f\x0c\x07\xc5\xfb\xc0\x90\x5a\x71\x36\x95\x68\x49\xda\x03\x83\x6d\xae\xc2\x5c\x3e\x1a\x06\xec\x3a\xeb\x20\x56\x48\x17\x6f\x89\xf4\xa2\x91\xfa\xc4\xf1\xd3\x89\x9f\x56\xc9\x06\x5e\xeb\xb8\x76\x8b\x84\xb3\x1b\x7c\xc0\x31\x08\xbd\x08\x88\x33\x8d\x17\x74\x99\x49\x70\x29\x2d\x93\x50\x31\xfe\xa3\x35\xd9\xe7\x90\x8f\xe0\x25\x48\x89\xc0\xb1\x71\xcf\xe0\xaf\x2e\x6f\xde\x7a\x5e\xa3\xde\x1f\xdc\xda\xe5\x37\xb6\x31\x31\x19\xc2\x7f\x77\x20\x24\xef\x36\xe4\x5c\x8b\x89\xf2\x6c\x93\xd9\xee\xa1\x37\x25\xe1\x2d\x81\x0c\xf9\x82\x4a\xea\x04\xcb\x80\x2d\xa7\xe4\x58\xe8\x42\xca\x37\x5e\x36\x71\x34\x6e\x00\x89\xde\xc5\x71\xbe\x16\x9b\x0d\x90\x96\x6b\xf3\x68\xfe\x36\x98\xfd\x3e\x72\xbf\x16\x24\x9d\xd9\x00\xaf\x6d\x29\xff\xa4\x83\x51\x36\x0f\x12\x24\x17\x14\x58\x5f\x7a\x9b\x4c\x7b\xaf\xc9\x52\x22\x67\x35\xde\x14\x62\x74\x3d\x78\xab\xad\x0f\x67\x11\xf2\x49\x5f\x33\x13\xad\x4e\x0b\xa2\x16\xb0\xde\xa5\xdc\x15\x16\xa9\x54\x9f\x7d\xfc\xfe\xb9\x3e\x59\x1a\xbe\xda\x5e\xa3\xc7\x04\x59\x06\x52\x3b\x40\x86\x8c\xa5\x73\x5d\x6a\x33\x71\xc3\xc2\x94\xc1\x11\x26\xd0\x97\xf4\xc7\x08\xe9\x04\x64\xc1\xad\x91\x42\xfa\x0b\xed\xf0\x7d\xfc\x5f\x4c\xb6\x7d\x6e\xd8\x0f\x1b\xfe\x72\x68\x3c\xfb\x2a\xd6\x65\x30\xdc\x43\xd7\x02\x3f\x37\x90\xff\x42\xd9\x5b\xd8"}, -{{0xcb,0x63,0x19,0x61,0x37,0x79,0xa4,0xef,0x66,0xbe,0x14,0x14,0x4b,0x28,0x40,0xad,0x01,0x67,0xc0,0x3f,0x3b,0x8d,0x04,0xff,0x59,0x2c,0xd1,0xd2,0xd7,0x22,0xe3,0x30,},{0x18,0xeb,0x03,0xf0,0xa3,0x34,0xb0,0x80,0xe1,0xaf,0x43,0x99,0xd8,0x37,0x6d,0x83,0xc5,0x33,0x31,0x6d,0xc6,0x87,0xcf,0x34,0x1f,0x0a,0xfa,0xb4,0x50,0x96,0x52,0x99,},{0xc1,0xb3,0x99,0xcd,0xc1,0x98,0xe9,0xa1,0x59,0xe6,0x84,0xfc,0x26,0x68,0x6d,0xe6,0x60,0xda,0x54,0xcf,0xe3,0x12,0xca,0x73,0x45,0xdf,0x0c,0x7d,0x15,0xa3,0x57,0x43,0x01,0x44,0x10,0xbd,0x2f,0x6c,0xd1,0x1e,0xef,0x33,0xa8,0x9b,0x3d,0x15,0xcb,0xc1,0x7c,0x7a,0x35,0x89,0x37,0xfd,0x99,0x72,0x05,0x05,0x1f,0x92,0x57,0xc2,0x56,0x09,},"\x87\x4a\x6c\x81\xd6\xdb\x71\x33\xa7\x91\x69\x76\x0c\x84\xd3\x6e\xea\x3d\x42\xea\x08\x92\xb7\xc8\xdd\xe8\x44\xa3\xa6\xb6\x0a\xa9\xf2\x66\x07\x26\xc9\xc4\xdd\x26\xa0\x1f\x4e\xd0\xdc\x1c\x53\xba\x60\x05\x46\x3f\x7e\xa6\x4a\x1e\xc6\x39\x53\xbc\x3d\x81\x05\x2a\x2f\x10\x84\x38\x9a\x77\x06\xdf\x74\xed\x41\x36\x08\x2a\xb5\xc6\xe8\xc7\xf4\x11\xdf\x9d\x3a\x0f\x3c\x40\xf5\xa6\x0e\x2d\x21\xa8\x54\x8e\x7a\x25\xde\xe3\x40\x30\xb3\xc3\xe7\x5c\xaa\x93\xdd\xaa\x9c\x19\x0c\xb6\xde\xda\x24\x13\xd5\x4e\x37\x3d\x43\x53\xdb\xa4\x3d\x39\x49\x1a\x2f\x56\xc8\xb3\x6d\x45\x01\x6f\x77\xd7\x47\x16\x91\x63\x45\x39\xe7\x6c\x4f\xb4\x19\x13\x47\x2b\x0a\x23\x05\x4f\x54\x8f\x54\xb1\xe7\x10\x9c\x8b\x65\x21\xb5\x7a\xe9\x81\xd0\x50\x31\x6a\x33\xc4\x9c\x71\x16\x26\x8d\xcc\x4b\x78\xc2\xba\xe5\x3a\x3a\xe4\xdd\x17\x8b\xb8\xb7\x6b\xb3\xbe\xfe\x19\xe4\x1a\x2c\xf1\x2c\xeb\xb7\x11\x68\xf9\x71\xf2\x02\x46\x1c\x63\xf7\xd6\xee\xf1\x07\xf5\xb1\x03\x0e\xdd\x4e\x75\x00\x9e\x91\x16\xc3\xcd\x0e\x8b\xdd\xc2\x99\xb4\x1f\x1a\x45\xe7\x84\xef\xa6\x46\xda\xda\x64\x06\x8e\x92\x48\xec\x98\x8f\x23\x26\x34\xad\x3d\x5a\xab\x19\x56\x0e\x83\x0a\x5b\xd6\x65\x45\x7c\x94\x29\x5e\x1a\xf0\x16\x0f\xbc\xe2\x72\xef\x48\x45\xdd\xf0\xc4\xf2\x4d\x97\x6f\x51\x86\x90\xea\x1f\x82\xff\x4d\xfa\x48\x13\x64\x1a\x67\x59\x8e\xa9\x84\x01\xe0\xff\x10\xa0\xe5\x82\xe2\xb9\x08\x67\xb4\xe6\x23\x2c\x34\xea\x49\x9c\x16\x99\x09\xa4\x41\x26\xf3\x77\xd8\xcc\x1c\x11\x90\x58\x66\x34\x0e\xfd\x1e\x7b\x07\x7d\xc7\x45\x6d\x59\xc9\xb9\x6a\x12\x4a\xac\x3b\x33\xbb\x22\x74\x41\xbb\x7a\x52\xe6\xc3\x14\x0d\x7a\x4f\x67\xca\x05\xbb\xc9\x3c\x93\x77\x5b\x92\x91\x19\xa2\x24\xed\x8f\x39\x00\x58\x20\xf4\x20\xcc\x6c\x53\x0e\x61\xe2\x0a\xdc\xa0\x1e\x93\x9c\xc0\x31\xdf\x49\xcd\xb1\xec\x8f\xf4\x93\xc9\xef\xbc\xad\x34\xc5\x71\x08\xef\xd7\x64\x55\x89\x66\xfb\x14\x70\xb0\x74\x5e\x69\x66\x19\x1a\x9a\x9e\x44\x58\x1b\x09\xfa\xf4\x69\xf9\x51\x53\x72\x03\xd9\x26\xbc\x8a\x55\xd0\x80\xa8\x05\x18\x1d\xd7\x29\x6e\xd2\x0a\x81\x82\x68\xf7\x55\xea\xa6\x6b\x08\x22\x42\xf4\xd0\x20\xf7\xcd\x67\x20\x89\x04\x84\xc0\x1c\x75\x7f\xe3\x5d\x87\xb5\xbc\x90\x6d\xea\xcc\x2e\x30\x71\xde\x46\x01\xbc\xf0\xdd\x6b\x83\x7c\x43\x31\x06\x04\x7f\xd8\xec\x9b\xd0\xe9\x8c\x9e\xe8\x06\xf7\xec\x8c\x5a\x10\xea\x21\x36\xf1\xf9\x0f\x90\x0b\x85\x3f\x95\x3f\x00\xb0\x76\xbd\x1e\xbd\x92\x9d\x08\xa3\x8b\xec\x68\xd8\x66\x43\x50\x47\xbc\xb6\x72\x1e\x06\xb6\x40\x85\xdc\x05\x58\xc1\xfa\x85\xa2\xc8\x3b\x0c\xaf\x4c\x81\x60\x84\xf1\x0a\x4c\x58\x85\x29\x5b\xca\x15\xff\x7c\x18\xe5\x96\xc6\x2c\x92\xee\x99\x21\xa2\x7c\x29\xd1\x95\xbd\x28\x22\x13\xff\x36\x60\xb6\xe7\x54\x6b\x4e\xaa\x77\x7c\xe3\x9f\xc5\xd2\x04\x84\xc7\x1e\xd6\xca\x06\xf9\xb7\x7a\xb1\xd8\x72\x39\x3a\xb2\xd1\x02\x55"}, -{{0xb2,0x98,0xad,0xf3,0x8a,0x67,0x08,0xf8,0xd1,0x8f,0xf1,0xed,0x96,0xbf,0xba,0xb4,0x21,0x54,0x0d,0x09,0x6c,0x4e,0x43,0x51,0xb9,0x22,0x09,0xb5,0xe6,0xaa,0xab,0x65,},{0x77,0x0e,0xdf,0x42,0xb8,0xa0,0x39,0xc6,0xca,0xb9,0xba,0x65,0xeb,0xfb,0x13,0x5a,0xbc,0x2d,0xa3,0x14,0xa4,0xc3,0x09,0xf4,0x6a,0x8f,0x32,0x5b,0x52,0xd0,0x65,0x93,},{0xe5,0x5f,0x8d,0x30,0x41,0x22,0xdc,0x17,0x5c,0xf0,0x27,0x46,0x74,0xfc,0x9d,0xed,0xfe,0xc2,0xb5,0xf8,0xa2,0xee,0xb1,0xe3,0xe7,0xf8,0xe0,0xdf,0xba,0x0d,0xac,0x2d,0x32,0xf4,0xe7,0x04,0xce,0x91,0xcd,0x59,0x91,0x84,0x13,0x3c,0x3b,0xf1,0x06,0x3d,0x2f,0xae,0x63,0xd7,0x3a,0xcc,0x57,0x72,0xd7,0x18,0xd8,0x11,0x83,0x31,0x86,0x02,},"\x9d\xf4\xd5\xd7\x56\x5d\x2c\x05\x22\x62\xdd\x34\xd6\x00\x7d\x86\xd9\xc0\xf0\x7c\x70\x89\xaf\x61\x19\xe3\x04\xf4\xd8\x01\x1d\x7e\xaa\xd7\x7b\x3e\xf7\x0c\xc2\x80\x84\x7d\x59\xf2\x97\x20\x2b\x7e\x18\x61\xae\xf3\x34\xbf\x38\xde\x14\x74\x0e\x80\x73\xc9\x55\xa8\x51\xd2\xcf\x3d\xad\xc3\xed\xce\x15\xbe\x49\x0e\xaa\x84\x5b\xa5\x53\xfc\x6e\x87\x46\xe5\x29\x15\xe6\x55\xaf\x4b\x86\xc6\x29\xd4\xc5\x22\x78\x36\x35\xd4\x64\xa2\x82\x57\x77\xd8\x9d\x70\x97\x67\x7e\xf0\xe5\xee\xae\x38\x53\x7e\xcb\x65\x6e\x3b\x28\xdd\x07\x35\x8f\xd9\xfb\x2c\xd4\x62\x51\x72\x86\x65\x9a\xef\xc7\x9d\x37\x4d\x1d\x13\xed\x93\x96\x7c\x53\x0c\xde\xa4\xf3\x14\xa0\xf9\x1d\x62\x89\xb4\xc7\xa4\x27\x9b\x6f\x4c\x4a\xbc\xa3\x33\x57\xf6\x9e\xd8\x4b\x91\x19\x63\x7a\xdb\x7c\x18\xe6\x94\xcb\x3c\x56\xe7\x36\x37\xda\x91\x07\x35\xd4\x3c\x38\xaa\x80\x86\x67\x5a\x06\xad\x37\x0e\x57\x26\x88\x1d\xa5\xe1\xa1\xdc\x61\x44\xd6\xa6\x2a\xff\x7f\xb0\xc3\x52\xd8\x8d\xc9\x71\xa3\xd7\x2d\x30\x71\xe1\x4b\x47\x42\x53\x56\xaf\x1b\x01\x92\x33\x53\x82\x61\x45\x1a\x99\xa6\xcf\x4a\x07\xce\x9a\xb1\xc3\x99\x0d\xe6\xab\x8d\xe2\x11\x6c\x75\x61\x05\xc5\x12\xb7\xa3\xee\xb3\x15\x7b\x15\x8b\x32\x1e\x44\x4e\x80\x6d\x89\x0b\x38\x90\xed\x9d\xdc\x86\x9f\x17\x11\x72\x3b\xb9\x9a\x72\xbd\xb9\x23\xd1\x31\xba\x4e\xdb\xfb\xb6\xda\xe9\x9a\x5c\x7b\x32\x8d\x31\x0d\xf9\xa6\xd1\xdc\xd8\x59\x18\x96\x28\x33\xe8\x9e\x20\xf5\xc5\xe6\x33\x3a\xc8\x61\x09\x4a\xe9\xe7\x99\xc8\x64\x1b\x9b\xae\xa1\x1a\x2e\x0e\xc2\x34\xbe\x59\x30\xe0\x28\x80\x85\x9c\xde\xc0\xd9\x78\x23\x7c\xbe\xa5\xc7\xc3\x2c\x11\x1b\xaf\xdd\x4b\xfb\xff\xe4\xfb\x34\x85\xef\xfe\xcd\x51\xbd\x19\x5a\x71\x40\x4c\xa5\xb5\x9a\xfa\x25\x2d\x7b\x5f\xf9\xd0\x30\xf4\x8c\x6f\xaa\xdb\xdb\xa9\x18\xf2\x1a\x0c\xd3\x9a\xf5\x69\x66\xdc\xcf\xa2\x5f\xb5\xa5\xcf\x9a\x4b\x26\xa7\xf5\x44\x1d\xf6\xe3\x20\xe3\x4b\x27\x39\x3d\xe2\xec\xfb\xd6\x9a\x15\x94\x90\x9a\x6c\x68\x5e\xc6\x45\xfc\xf3\x04\x8d\x01\x48\xfa\x38\xd3\xe8\xa6\x4d\xc3\xc2\x1a\xe4\x4d\xa7\xe4\x6a\x5e\xa7\x93\x6c\x2b\xa0\x83\x68\x9a\x78\xca\x3a\xc6\x0b\x87\xbe\x6d\x23\xea\x40\xf5\x96\x15\x83\x74\x28\x42\xe3\x75\x25\xa4\x9c\x5f\xe8\xfd\x15\xd7\xb0\xc9\xe8\xfc\xcd\x07\x93\x6d\x19\x53\x82\x12\xf7\x37\x3d\xbb\xf3\xdf\x7d\x46\xad\xf9\xd9\xf5\xdb\x09\x52\x4c\x65\xb8\x83\xae\x6f\x6c\xef\xa2\x4b\x19\xec\x48\xce\x28\xcf\xa7\x34\xd9\xbd\x6e\x77\x83\x7d\x1a\x14\xd6\xa1\x9d\x34\x5b\xfb\xea\x55\x9e\x7e\x6b\xfb\x71\xdd\xad\x83\xcd\x8d\xee\xab\x68\x7f\xe7\x3c\x05\x74\x88\xf8\xf2\xb3\xe2\xe2\x6d\x13\x00\x9f\x4d\x23\xe6\x61\x9a\x23\xc0\x69\x2a\xf7\x66\x69\x21\x7d\x5e\xbd\x46\x08\x5b\x39\x88\x90\xe5\xc9\x1f\xdb\x4d\xb5\xba\x40\xe7\x77\x3d\x51\x8d\x3c\xf0\x0c\x0a\x5b\x5a\x4b\x0f\x1b\x85\xd6\x29\x16\xa5\x9e\x56\x07\xb7\xb1\xeb\x80"}, -{{0xe9,0xcf,0x16,0xd6,0x96,0xf6,0x3b,0x59,0xe5,0xe2,0x5c,0x9e,0xe2,0xd7,0x5b,0xb0,0x5e,0xd2,0xba,0xa5,0x91,0xa7,0x55,0x7f,0x9f,0xb1,0x29,0xcf,0x98,0x3d,0xe0,0xba,},{0x6d,0x1a,0xe3,0x85,0xe8,0x0a,0x39,0x55,0xe8,0xd0,0xc5,0x93,0xa8,0x1f,0x43,0x1c,0xd4,0x32,0x67,0x1e,0x78,0xcd,0xba,0xfe,0x83,0xfe,0x58,0xdb,0xcd,0xb9,0x85,0x60,},{0x81,0x12,0xac,0x37,0xea,0xfb,0x74,0x9d,0x3f,0x4a,0x1e,0xa1,0x48,0x43,0x79,0xdf,0x3e,0x38,0x3b,0x01,0x9c,0x12,0xde,0x85,0x15,0xe3,0x49,0xe4,0xf6,0xf9,0x98,0x63,0x2e,0x30,0x96,0x83,0x47,0xa1,0xd1,0x5b,0x09,0xda,0x2e,0xb8,0x00,0xb0,0x3d,0x81,0x9d,0x20,0x2b,0xd1,0x0a,0x6a,0x46,0x3b,0xb0,0x2b,0x36,0x6d,0x68,0x55,0xfe,0x0e,},"\xa1\x0f\xea\x8f\xc9\x3e\xcc\xfe\x2a\x6b\x78\x26\x07\x95\x63\xad\xf8\xaa\x9a\x66\x64\x44\x93\x22\x00\xcc\xa9\x44\x7d\xd0\x27\xc5\xc7\x20\x4e\xa6\x2b\xf8\xf5\xe2\xe3\x91\x45\xac\x39\x48\xab\x3f\x31\x86\x88\x7b\x30\xbc\x60\x23\x30\x24\xb4\x83\xf3\xf5\x19\x03\x6a\x3e\x94\xc8\xd7\x51\x0a\x85\x3a\xc6\xe2\x0c\x6e\x52\x6e\xe3\xcd\xb7\x6d\xe6\x63\xf6\x73\x05\xad\x80\xdf\x23\x42\xc8\x50\x1b\x4f\x4a\x8e\xe3\x66\x5a\x79\x8f\xc4\x37\xdd\x81\x4e\x4e\x47\xe7\xa4\x66\x89\x0e\x0f\xfa\x8f\x51\x0f\x3e\x6e\x19\xc9\xc9\x69\xf7\x0a\x76\xe5\xcf\x30\x54\xd1\x7d\xe4\x59\xac\x8e\xe9\x95\x50\xbd\x38\x31\x9f\x36\xe4\x33\x43\x4a\x92\x6a\xd6\x8b\x96\x1e\x0c\xa1\x0a\xdd\x4b\xa9\x92\xb3\x65\x06\x60\xa2\xc3\xc2\x6f\x5d\x74\x0a\x31\xaf\xb7\x76\x3f\x54\x2f\x72\x3b\x8a\x3c\x92\xd8\xae\x92\xa5\x67\x76\x4e\xfc\x70\x53\x03\x12\xba\xab\xdd\x3f\xbb\xd5\x27\xfe\x0f\xcb\xca\x3f\x6a\x70\x64\xcd\xde\x18\x56\xe9\x7a\xb7\x86\xaf\x7d\x70\x22\xa9\xd4\x6a\x33\x8e\x8e\x17\x54\xaf\xd9\xad\xac\x85\x6a\x38\xde\x2a\x4c\x97\x66\xde\xe8\xdb\xc7\x09\xb0\x67\x1a\x6a\x6e\x6e\x1e\x5d\x12\x07\x4d\x22\x24\x5c\xd7\x3b\xee\xeb\x1b\xd8\xec\xfc\x1e\x85\xa2\x1b\xde\x25\x3f\x7c\x46\x5a\xbc\x1f\xea\xa9\x61\xc0\xff\x5c\xff\x2d\x89\x64\x72\xae\x17\xab\x84\x88\xe3\x3f\xfe\xfd\xb7\x2c\x10\x5e\x20\x4f\x94\x4a\xda\x51\xee\x13\x98\x1a\x13\x6c\x0f\x38\x42\x6e\x3e\x49\xb0\xe9\x18\x41\xc3\x27\x94\xd5\x2f\x13\x35\xdf\xa6\x37\xf1\x51\xc7\xe4\x0f\x9b\x83\x0a\xed\x53\x9a\xc5\x73\x1b\x81\xcd\xe3\x26\x4d\x22\xbe\xad\x31\xa6\xcc\x68\xd1\xa7\x31\x43\xb5\xba\x48\x16\x13\x92\x32\xf3\xf7\xf9\x79\x83\xf4\xec\xba\x64\xc4\x95\x53\xbe\x9d\x6d\x94\x3f\x91\xdf\xe0\x3d\x1e\xe8\x61\x8c\xd4\x0d\x2f\xb7\x23\x8a\x31\xd1\xbc\x38\xe7\x6a\x55\x1f\x9e\xee\x22\xe7\x3a\x27\xd7\xa4\x8b\x40\x87\x72\xea\x72\xc3\xed\x63\x7b\xb4\xb1\x68\xf9\xd7\xae\xad\x94\xea\x03\xbc\x11\x10\x99\x01\xc8\x89\x92\x7d\x51\xcd\xac\xf9\x62\x12\x59\x62\x55\x99\x79\xd3\xe4\xc8\xe3\xb5\xae\x58\x2f\x2d\xba\xd4\x99\x88\x02\x85\x6c\x4d\xf6\x9e\x8f\xb5\x49\x17\xe2\xf3\x6b\xb6\x7a\x19\xa2\x6e\x9a\x9a\x94\x85\xbc\xe9\x8d\xbf\xff\x0d\x2b\x02\xb9\x37\x7a\x91\x37\xa7\x34\xe5\x7b\x5c\xe6\x65\x05\x30\x17\xe9\x92\x67\x7a\x1a\xa0\x79\x24\x0d\x2c\xf9\x63\xcd\xf9\xbf\xea\x8d\x46\x00\x91\x23\x2d\xaf\x89\x80\x1f\xd7\x51\x71\xa6\x19\x5a\x5c\x04\x68\x15\x91\x4b\xe1\xf6\x28\x68\x78\x3d\x6f\x2c\xf2\x8a\xf9\x37\x8d\x6c\x68\x93\xe7\x5d\xe6\x41\x11\x1c\x68\x47\x27\xef\xfa\x31\xb8\xbc\x9b\x0a\x01\xdb\x9c\x9e\x81\xcc\xd8\xf4\xd4\xe8\x75\xd4\xbd\x90\xd2\x53\xf5\x89\x89\xa8\xa5\x2a\x20\x3a\x77\xa4\x96\xd6\x97\x98\x6b\x03\x1e\x9f\x69\x9b\xc6\xa1\x6c\xd5\xf9\xc3\x60\x18\xeb\xda\xa3\x6b\xad\x0e\x01\x4f\x4c\xf3\xb4\xb7\x46\x17\x1b\xf8\x93\x14\xe8\xb7\x2c\xbd\x47\xcc\x61\x6a"}, -{{0x23,0x8a,0x6d,0x49,0x79,0x32,0x1a,0x14,0xa9,0x97,0x23,0x6f,0x45,0x85,0x04,0x6c,0xf7,0xa0,0x5c,0x0a,0xdc,0x6b,0xa1,0xfd,0xb1,0x9e,0xc2,0xa3,0x2f,0x62,0xbe,0xeb,},{0x0b,0x4b,0xa6,0x74,0xe4,0x01,0x66,0x5b,0x67,0x90,0xcf,0xda,0x08,0x07,0x04,0xcd,0x90,0xe2,0xf3,0xd3,0xef,0xab,0x25,0x3e,0xd8,0xdc,0xfb,0xd1,0x8e,0x40,0x67,0x89,},{0x29,0x42,0xf7,0x08,0xc0,0xed,0xe4,0xcb,0x0d,0xde,0xf1,0x3b,0x85,0xd7,0x1d,0x72,0x13,0xe0,0x38,0x3d,0xd2,0x94,0xf5,0x34,0x13,0x5f,0xd6,0x9c,0xaf,0xbc,0xfc,0x0e,0x33,0x09,0x0a,0x2a,0x0c,0xa3,0xfa,0x57,0x2c,0x72,0xcd,0xf5,0x59,0x2d,0xe9,0x03,0xb1,0x58,0x44,0x95,0xab,0x63,0x99,0x81,0x50,0xf2,0xb3,0x93,0xa3,0xb3,0x40,0x0c,},"\x97\xcd\x61\x9a\x22\x51\xed\xa9\x16\x64\x64\x31\xd4\xcd\x15\x98\xc2\xd4\x4d\x06\xaf\x3e\x48\xbd\x18\xe3\xde\x7f\xb4\xbd\x4f\x78\xe0\x0a\x69\xee\xab\xde\x3f\x82\x06\x5c\xfe\xe6\xcd\x71\x1f\x07\xd2\x26\x37\x16\x1f\xf6\x85\xf6\x5a\x7d\xdf\x54\x55\x31\x97\xfd\x31\xc5\xc6\xb7\x1d\x9e\x36\x5a\x94\x1d\xce\x4c\x3e\x22\x5d\x19\xcc\x63\x3a\x7e\x12\x86\x2c\xd2\x3e\xbb\x7c\x74\xa7\x04\x85\x0f\x76\x1a\xc0\x24\x1b\xe5\x17\xce\x7c\x36\x09\x36\xce\x07\x25\x0d\x9f\x2e\xb2\x78\x71\x15\xee\xc3\x77\xe1\x13\x4d\xc0\x8f\x44\xeb\x0a\x2a\x2a\x27\x16\xf0\x01\x44\xa4\x9f\x01\x2a\x57\xb3\xcd\x06\xef\xeb\x3f\xae\x92\x0f\x28\x5c\xff\xd9\xa4\x01\xa0\xb9\x86\x59\x4e\x17\xb2\xc9\xc8\xfd\xab\x83\x5d\x9f\x3f\x5d\x47\x4b\xe7\x33\xc1\x92\x5e\xe6\xf0\x93\x86\x71\x10\x66\xc3\xfc\xd6\x45\xee\xb0\xfb\xe7\x05\x41\x69\xeb\x70\x9d\x4a\x3f\x0d\x16\xf2\x8a\x1f\xf5\x06\x6c\x84\x2b\xc6\x3e\x35\x9e\x92\x48\x5b\x38\x75\x7f\xf4\x6c\x27\xf7\x9d\x0c\xdc\xf0\xe1\x6e\x97\xe3\xc7\xb7\xe2\x17\x8d\xff\xd2\x70\x28\x2d\xd6\x12\x05\xd5\x85\x4d\x84\x1f\x0e\x3f\xc0\xe4\x82\xcc\x1e\xe4\x85\x52\xcf\xe6\x58\x93\x5b\x54\x27\xc3\x66\x23\x0a\xef\x79\xae\xf4\x02\x1d\x6f\xab\x5f\x18\x75\xcc\x84\x9e\x32\x1a\x75\x50\x0e\x9e\x1b\xa5\xdd\x59\x6b\x43\x8c\xf8\x8b\x23\x5b\x01\xa6\x76\x25\xc4\xbf\x84\xd0\x72\x4a\xe6\x88\x0a\x37\x85\xe3\x3b\xd9\x23\x5f\xd0\xf5\x98\x18\x04\xd2\x1c\xbd\x63\x3c\xb1\x80\xf3\x44\x56\x46\x02\x07\xa2\x90\xa2\x54\xd9\xfe\x61\x06\x3d\x40\x63\x4c\xa3\x87\x2f\x09\x35\xfa\x28\x32\x87\x95\xca\x41\xb0\x06\xa2\x11\x1f\xc5\x93\x2b\x1e\x77\x9c\xe9\x66\xcc\x47\xad\xb7\xc0\xdd\x98\x73\x33\xba\x75\x29\xa1\xa4\x99\x6c\xe9\xf5\x6e\x05\x19\x81\xfe\x1f\x55\x3e\x57\x8f\x43\xc3\xba\x94\xbe\xac\xc9\x3c\x3e\x73\x96\x67\xc7\xa7\xc6\xfa\x27\xe1\xe0\x81\x69\x5d\x20\xba\x70\x5c\x3f\x10\xb2\x0d\xf5\x30\xcb\xb0\xec\xb8\x74\x56\x50\x11\x09\x68\x70\x19\x31\x84\x52\x78\x5d\x38\xe7\x66\xb3\xcd\x35\xb0\x07\xd7\xe3\xcf\xe0\xb2\xcc\xa8\xaa\x6e\xf7\x39\x55\x99\xdc\xb9\xc4\xd2\x8b\xcc\x35\xc7\x6d\xfc\x35\x34\x3c\xb1\x34\x8b\xa3\xe9\x62\xf1\x0e\xe8\x6f\x86\xf5\xb6\xd4\xca\xe2\xe8\xc2\xb1\x85\xe3\xea\xa1\xae\xb8\x7b\xcf\xcf\x2f\xb7\x6c\xc7\xfc\xc6\x89\x50\x71\xb1\x68\xe8\xb7\xf6\xca\xa0\xfd\x63\x98\xe7\x78\xcc\x07\x91\x2f\xf5\xd6\xe6\x10\x21\xa8\xa5\x9a\xe0\x35\x21\x60\xf5\x6d\x54\x88\xfe\x2f\x2a\xcc\x94\x03\xda\x9a\x9f\xfc\x66\x1c\x1e\x9d\xc5\xbe\x88\xc4\x20\xdb\x0f\xd7\x7d\x84\x5d\xc8\xdd\x9d\x8e\x58\xf9\x96\x1b\x79\xaf\xc6\x86\x24\xba\xa8\x6a\xa6\x43\xa8\xa3\xc7\xed\xf7\x1d\x55\x3c\xc0\xd3\x22\x4a\x60\x69\xec\x67\x4f\x52\xda\x29\xa1\xcb\x60\xc4\x19\x23\x01\xa2\x43\x47\xa8\xaa\x83\x26\x26\x9e\x0a\x14\x78\x0c\x95\x83\xcd\xff\x51\x59\x27\xfd\x5b\xef\x52\x8f\x9d\x23\x78\x7a\xeb\x80\x3d\x70\xeb\x91\x6b"}, -{{0x59,0xd5,0x01,0x39,0x3d,0xc5,0x99,0x97,0x23,0x81,0x07,0x06,0xfa,0xd7,0xd6,0xef,0xd1,0x63,0xc4,0x47,0x10,0xc7,0x41,0xc1,0x85,0xc2,0x7e,0x04,0x25,0xe3,0xc0,0x5b,},{0x82,0x65,0xd4,0x3c,0xfb,0x07,0x35,0xb5,0xd7,0x25,0x0f,0xcf,0x0f,0xcb,0xd1,0x54,0xbf,0xc0,0xee,0xcb,0x13,0xb7,0xad,0x93,0xb6,0xb0,0x29,0x40,0x58,0x8b,0x84,0x3b,},{0xe6,0x46,0xf1,0x64,0xcf,0xed,0x8c,0x2e,0x06,0x07,0x10,0xdc,0xfb,0xc3,0xe9,0xfa,0x5e,0xb3,0x96,0x37,0x68,0x13,0x19,0x01,0x84,0xe3,0x46,0xf5,0x2b,0xb0,0xba,0x57,0x46,0xcc,0xb6,0xb5,0x95,0x22,0xb1,0xaf,0xf9,0x83,0x0f,0x2f,0x98,0xb9,0xe5,0xda,0xfc,0xd8,0x32,0x07,0x78,0x83,0xc4,0x4e,0x8a,0x35,0x38,0x8f,0x71,0x8b,0xf4,0x0c,},"\x56\x4e\xd2\x2c\x17\x2f\x5c\x3a\xfb\xb0\xb9\x5a\xd2\xfc\x64\xe4\xbe\x6d\x4d\xb1\xeb\xb8\xd3\x99\xc4\x3a\x5e\x16\x04\x8e\x7f\x87\x32\x18\x1e\x5d\x0e\xed\x8e\x63\x8e\xf2\xa5\x5a\xa0\xd7\xb6\x81\xfe\x02\xbb\x54\x23\xaf\x94\xbd\x35\x2d\x3c\x2d\xde\xc0\xf8\x47\x60\xa4\x11\x2b\x4f\xe0\x17\xcf\xbc\x50\x2f\x95\x43\xcf\xa4\x1f\xb2\xaa\xe7\x5a\x3a\x08\x1f\x8c\x49\x90\x33\xd1\xfa\xe5\xd9\xc5\x0c\xb4\x4d\xbc\x63\x60\x5a\x54\x39\x8f\xbf\x07\x98\x52\xeb\xa8\x6f\x2f\xdf\xc2\x72\xd0\xc4\x17\x9d\x7c\x13\xcb\xc1\xc2\xa3\xda\x0b\x82\x84\x5c\xf1\xa4\x6e\xbb\xe3\x1e\x79\xb6\x00\x97\x33\xc7\xbf\xe7\xaa\x4f\x9f\xfd\x71\x9c\x77\xdc\x7d\x74\x8e\x49\x2e\x14\xee\x5e\x41\x79\xbf\xa9\xe6\x49\xcf\x0d\x89\x53\x41\x86\x38\x5e\xe9\x94\x10\x05\x1d\x66\x56\xe6\x23\x43\x8c\xc7\xb2\xe7\x07\xe4\x8c\x84\x91\x55\x49\xae\x8d\x67\xa3\x06\xc6\x7b\x10\x6b\x7a\x25\xf4\x5f\x8e\x10\xdd\x7d\xd3\xea\xac\x31\xf1\x05\x22\x57\xeb\x6a\x75\x76\xb6\x85\xcb\x9e\x6c\x1c\xd0\xd7\x3c\x7a\x3c\xed\x5a\x8d\xd2\x73\x08\xae\x00\xf9\x5e\xab\xda\xe9\xd1\xc4\xaa\x89\x34\xe2\x42\x4c\x93\x28\xa5\x22\x8f\x4f\x82\xdd\x4a\x66\x55\x6d\x82\x17\xc5\xa2\x2b\x2b\xeb\x86\xa2\xa4\x34\x13\xee\x5e\x10\xf8\x83\xf2\xcd\x6c\x2e\x87\x49\xb5\x50\x88\x42\xec\xae\x5f\xfc\xcb\x79\x6d\x96\x33\xe8\x7e\xf4\xa9\x6c\x0d\xf7\xef\x47\xb2\x83\xd0\x96\x72\x3b\xa3\x13\x5b\xad\x75\xb2\xe1\x9e\xc0\x4f\x70\xa4\x78\x42\x8a\xd5\xd0\xaa\xc0\xdd\x2a\xb9\x90\x59\x13\xe7\xe5\xad\xe4\x08\x80\x1d\x5d\x3c\x54\xd9\xcf\x7b\x8f\x0f\x0c\x5e\xb0\x54\xc1\x47\x5c\xc2\x10\xa2\xc7\x98\xd8\xbd\x89\x93\x2f\xf9\xf3\x60\x42\x18\x58\x05\x3a\x70\x7b\x8b\xbd\x32\x05\x5c\x44\xb2\x07\x12\xa2\x67\x8a\x9a\x6a\xf9\xe3\x6d\x04\xdc\xff\x44\xf4\x31\xcf\x19\x30\xcd\x18\xfc\x93\x5d\x22\x67\x77\x5c\x69\x09\x67\x25\xed\x89\xa2\x91\xdd\x60\xe2\x1a\xc0\xb0\x12\x87\x34\x07\x29\x92\x82\x3e\xf8\x7b\x5e\xfa\x6c\xc5\xb0\x50\x17\x7f\x55\xf4\xce\xc9\x2a\x08\xa6\x5b\xca\xdc\xab\x9a\x41\xc3\x60\x86\x37\x0b\x7b\x9d\xd6\x29\x8a\xc7\xb0\xae\x6a\x09\xc9\x71\x0a\xbb\x46\x76\xa8\xfc\x87\xa3\x65\x12\x90\x14\x4b\x6b\x30\xef\x4f\x6f\xbe\x5b\x9a\xd2\x52\x37\xfe\x06\x05\xe3\xb9\xf1\x8a\x77\x18\xac\x9f\xca\x6f\x32\x5e\xa5\x5f\x49\xa8\x07\xfb\x80\xa2\x40\x2a\xe1\x34\x23\x08\x0d\x32\x77\x58\x64\x90\x23\x79\x8d\x57\x28\xe0\xdc\x64\xac\x88\xa6\xe2\x94\x5d\xbb\x3e\x3f\xfa\x9f\xdb\x4c\x7b\x58\xfb\xa3\xf5\xfb\xd6\x7c\x68\x6b\x29\x71\xbb\xd8\xba\x4d\x27\x5d\x57\x3e\xb7\x96\xeb\x91\x46\x77\x5d\x8c\xdc\xd5\xfd\x3e\xb5\xa8\x8e\xa5\xa9\x30\xec\x32\x44\xe6\xa3\x7c\x81\xf6\xa2\x55\x4e\x5b\xa7\x87\xf0\xe4\x53\x19\xfe\x4b\x8a\x2f\xfb\xfe\xd5\x07\x70\xe7\x82\x7b\x3e\x7b\xc2\xb4\x4c\xe5\x12\xae\x60\x51\xb6\xf9\xf1\x39\x31\xea\x6a\xcc\x09\x6b\x8d\xcb\x01\x96\xbe\x42\x24\x84\xdb\x5f\xcb\x29\x9d"}, -{{0x83,0x9f,0xb1,0x32,0xe6,0x92,0x50,0xca,0x1a,0xd9,0x45,0x10,0x08,0x7f,0x92,0xce,0x06,0x87,0x69,0x21,0x3a,0x19,0xb2,0xa6,0xc8,0x94,0x90,0xf1,0xf5,0x78,0x80,0x7a,},{0xeb,0x58,0x66,0x19,0xb4,0x4a,0x15,0x37,0x9a,0xcc,0x46,0x21,0xa2,0xac,0x71,0xea,0x58,0x97,0x00,0x26,0xc2,0x8e,0x24,0x09,0xfc,0x1b,0xa2,0xbd,0x8b,0x23,0x6d,0x1d,},{0x66,0x43,0x7b,0x6b,0xc0,0x5e,0x75,0xdd,0x16,0x26,0xc3,0xc4,0xff,0x1f,0x72,0xe6,0xdb,0x38,0x1b,0xa1,0x59,0x09,0x48,0xf8,0xf1,0x6a,0xd4,0xd6,0x6e,0x59,0x91,0x65,0x9a,0xa8,0x44,0x05,0x56,0x8c,0xfb,0xc0,0xa7,0x7c,0x02,0x5e,0x59,0xe4,0x3f,0xd5,0x3a,0xb9,0xff,0xab,0xba,0x7b,0x25,0x8f,0x78,0x79,0x62,0x39,0xf9,0x0d,0x45,0x01,},"\xc5\x72\x32\xfe\x32\xf1\x1e\x89\x4b\x43\x7d\x40\x45\x62\x07\xcc\x30\x6d\xb4\x81\x69\xb2\x0e\x07\x81\x10\x3a\xff\xe8\x02\xf5\xaa\xbe\x85\x82\x95\x2c\xa8\xe9\x57\x45\xe9\x94\x0d\x53\x5e\x00\xff\x65\xab\x3c\x64\xbe\xd3\xd1\x17\x3a\x0f\x3d\x70\xce\x4e\xbe\x2b\x50\xd0\x48\xbb\x47\x16\x4d\x2a\x2c\xd9\xd9\x5a\x10\xcf\x0d\x07\x3e\xd1\xc4\x1b\x3d\xe3\x33\x52\x8e\xe3\x29\x68\x22\x3a\x0d\x84\x7c\xad\xbb\x5b\x69\xf3\x82\x16\x4e\x9a\x28\xd2\x3e\xc9\xbd\xe9\xa8\x28\xe8\x77\x1c\x9e\xb4\x92\x20\xaf\x54\x18\x55\x08\xaa\x07\x3a\x83\x91\x95\xf1\x03\xbc\x2f\x32\xfe\x04\xf9\x51\xca\x45\xbf\xbf\x30\xd2\xfb\x81\x14\x05\x6a\x73\x6a\xdd\xf2\x7e\xcd\x9a\xf0\xf6\xe5\xe9\x7e\x57\x73\xc4\xfa\x90\x22\x68\xc3\x2a\x15\x14\x10\x95\x5f\x3c\x76\xaa\xe2\x55\x54\x9e\x0f\x03\x3f\x89\xe1\xa7\x8f\x26\x5c\xba\xb6\xbe\xb7\x51\x6d\x4b\xad\xc4\x9c\xda\x45\x88\x31\x62\x25\xb4\xc8\x5e\xa9\xfa\x99\xc7\xd6\x76\x6e\x94\x90\xc4\x9d\xe5\x9d\xa7\x17\xf6\x67\x65\x35\x30\x07\x1d\xd2\xf0\xc5\x3e\x31\xd8\x76\x81\x56\xfe\xb0\x8f\xaf\x00\xdb\x0a\x04\x53\x3d\xf9\x79\x57\xa8\x4a\xa4\x6a\xeb\x7e\x36\xc0\xb0\xbe\x69\x01\x89\x46\xf1\x53\x8a\x6a\xea\x71\xdf\x53\x6f\x14\x42\xc2\x44\x4a\x43\xa0\x43\xd0\x46\xab\xde\x1a\x78\x2b\x0f\x4f\x5c\x6a\xa7\x20\xaa\x60\xaf\xed\x94\x7c\x0c\xee\x47\x7d\xbe\xc0\x05\x57\xb3\x72\x12\xd9\x33\x57\xca\x2b\x6b\x6f\x82\x71\x5b\xa0\xe4\x84\xf6\xda\xf2\xd0\xb7\xa9\x8c\x03\x35\x19\xce\x38\x26\x35\x86\x79\x6d\x5d\x31\xcb\x2b\xc3\xd1\x12\x5b\xc0\xcc\xd3\x29\xa5\xc2\x1f\xd2\x7a\x21\x8d\xed\x60\x7a\x0e\x75\x15\xb5\x71\xf1\x92\xc3\x3f\x5f\xba\x51\x4a\xfe\x4d\x45\x81\x00\xf3\xcc\xba\x3f\x38\xeb\x43\x0b\x4f\xc8\x8f\xae\xf9\x99\xfa\x71\xee\xe4\x88\x22\x89\x03\xbe\x29\xf2\x4d\xf8\x1d\xc9\x11\x04\x4e\x92\x4c\xda\xa0\x17\xcc\x7d\x87\xe5\x6a\x6c\xba\x87\x60\x85\x9b\xd6\x3d\xd2\xd4\xf5\x81\xb9\x55\xec\x92\x4a\x49\xaf\xb4\x7c\xa0\xd6\x3e\x78\x26\xfd\xc7\x12\xb4\x94\x3b\x73\x9e\x18\x57\x75\x5a\x33\xc6\x50\x36\x75\xfd\xde\xae\x06\x27\x06\xe3\x4f\x74\x4f\xd9\x32\x64\x8a\x56\x08\xce\x60\x8a\x61\x99\x57\x83\xf3\x33\x9c\xa3\xfe\x10\x7e\x19\x72\x74\x4b\xf6\xd4\xed\xaf\xbf\x47\xce\x02\x1e\x05\x82\x1f\xb1\x24\xc7\x08\x39\x30\xe6\x8e\x6f\x5c\x32\xd2\xd9\xfc\x4a\x88\x4c\x0b\xc8\x84\x04\xe4\xcf\xe3\xc1\xa2\x42\x0d\x41\x82\x3a\x38\x5f\xb3\x28\x8d\xb6\x5c\x89\x54\x5f\x6e\x73\xf0\xd8\x00\x4b\x2b\xa1\x2a\x4e\x07\x72\x75\x23\xef\x08\x56\x70\xda\xff\xaf\x41\xc2\x8a\x4c\x11\x57\xbd\xd2\x45\xe6\x87\x50\xdd\x20\x0e\x02\x3a\xf9\x0c\x67\x56\x1e\x0f\xe4\xba\x34\x0c\x43\x3f\x75\x5e\xef\xab\xd4\xb0\x39\xbf\xc3\x23\xdc\x11\xad\xb7\x5a\xec\xc4\x48\xa8\x69\xc7\xf2\xa5\x8b\x9d\x86\x17\xc6\x4b\x8f\x89\xfc\x58\x3f\x8c\x94\x8e\x2d\xf0\x25\x1a\x6c\x7d\x8c\x73\x8c\x3b\x5a\x42\xb7\x49\xad\x5e\x8e\x98\x6b\xd8"}, -{{0xad,0xc1,0xe5,0x6c,0x3a,0xc9,0x4e,0x6c,0xda,0x04,0x11,0xcb,0xc3,0xce,0x2a,0xf1,0x28,0xd1,0x85,0xa2,0xa2,0x73,0xbd,0xb2,0xaf,0x8d,0x7e,0x50,0xfb,0x96,0xb5,0x26,},{0x5d,0xcf,0xec,0x1f,0x91,0x12,0x75,0x15,0x64,0xec,0xb6,0x07,0x15,0xeb,0xb2,0xc5,0x17,0xb5,0xec,0x37,0xb2,0x53,0x4f,0xd6,0x32,0x99,0x24,0x42,0x9b,0x7f,0xd5,0xc5,},{0xf0,0x2e,0x5d,0xbc,0xb6,0x87,0x04,0xaf,0xad,0x03,0xac,0xa8,0x10,0x61,0xdb,0xdb,0x99,0x85,0x70,0x04,0x9f,0x10,0xce,0x65,0x0e,0xc7,0xa2,0xef,0xf1,0x5c,0x79,0x3d,0xdf,0x5a,0x27,0x2c,0xb6,0x83,0xc2,0x2c,0x87,0x25,0x7c,0x59,0xbd,0xef,0x39,0xef,0xea,0x79,0xbd,0x67,0x95,0x56,0xea,0x15,0x05,0xed,0x00,0x36,0xcb,0x46,0x04,0x0c,},"\xd4\xf9\x59\x47\x4e\x0b\x89\xe2\xdc\xd0\x20\x66\x98\x4f\x88\xd7\x39\xdd\x11\x34\xa3\x33\x09\xf0\xa8\xb7\x80\x2e\xaf\x01\x33\x03\xc1\x35\x15\xdf\xeb\x46\x1e\xa3\xd2\x48\xe9\x98\xb9\xa4\xe5\x4d\xae\x5b\x00\x19\x0a\x45\xe7\x0d\xc6\x7e\x98\xf3\xd4\xcf\x90\x6c\x21\x4d\x4f\x63\x6d\x29\x52\x92\x5e\x22\xb1\xa8\x6a\x1a\xab\xb3\xa8\x92\xa9\xf8\xed\x45\x4f\x39\xc6\x3d\x35\xb7\x1e\x87\xa2\xda\x55\xa8\xe1\x67\xac\x83\xa8\x66\xad\x16\x7a\x17\xae\xd1\x83\xc0\x85\x18\xc1\x5e\x6b\xe3\x48\x58\xb4\xce\xe2\xb8\x42\x73\x14\x76\x0f\xff\xdd\xd5\x92\x38\x54\xb1\x74\x7f\x79\x6e\x1a\x52\x49\xfb\x30\x44\x89\x4e\xd6\x46\x82\x9f\x65\x43\x16\xee\x52\xf4\x01\x0c\x8d\xd3\x21\xfa\x1d\xec\x39\x7e\x50\x14\x5e\xd9\xe3\x16\x86\xfd\x52\x03\xf7\x23\x3b\x8d\xa7\x80\xac\xaa\x91\xee\x0b\x5b\x47\x20\x78\x66\xaa\xd8\x5f\x83\x7e\x03\xb4\xe6\xf6\xde\x8c\x04\xac\xaf\xd7\x07\xbd\xc1\xdd\x45\x50\x0a\xb5\x64\x80\x1b\xee\x9a\x58\xec\xe3\x60\xd0\x04\x82\x8b\xaa\xf5\x23\xe2\xf5\xab\x69\x32\x6a\x03\xaa\xbe\x01\x08\x78\xfd\x43\xff\xaa\x56\x87\x22\x44\xd7\x68\x1f\x16\x18\xe6\x23\xe3\xd4\x74\xc7\x3a\xf8\xb0\x80\xa6\x18\x21\xa5\x74\xef\x2f\xd7\x52\xd2\x3b\x60\x5e\xc5\x21\xc1\x9c\x15\x50\xde\x98\x0c\x09\x4d\x05\xe0\x23\x8f\x3e\x00\x8e\x6b\x19\x5a\xbf\xdd\x40\x28\xee\x1e\xe1\xd6\xc6\x6a\x76\xf1\x78\xf0\xb4\x31\xe4\xaf\x44\xdd\xcc\xfc\x52\x90\xed\xff\x36\xec\xe6\x3e\x83\x85\x56\x70\x13\xf4\x3a\x2a\xeb\xb6\x7e\x3e\xf4\x06\x30\x8c\x20\x48\x8a\x76\xd5\x8a\x21\x4f\x31\x39\xd9\x83\xb1\x9a\xfb\x12\xe3\x28\x36\x07\xfd\x75\x10\x7b\xd3\x1f\xeb\x62\x56\x17\x4b\x7a\x18\xae\xca\xc9\xf8\x56\x25\x82\x01\x8b\x0e\x6d\xe4\x05\x35\xe3\x5b\xef\x2b\x56\x25\x53\x88\x51\x29\x39\x75\x62\x90\x0d\x34\x17\xf9\x8c\xdd\x1e\x29\xd7\x31\xff\x48\x93\x3f\x29\x52\x95\x81\x63\xba\x67\xd5\x95\x61\x81\x1b\x83\x77\x2b\xd0\x57\x10\xb6\xe3\xcc\x04\x34\x60\x99\x37\x50\x72\x23\xab\xb7\x1a\x6a\x8c\x83\x8f\xec\xdb\x1d\x2d\x37\xc9\x5d\xc8\x06\xf6\x5f\x3f\x96\x63\xd9\x9f\x06\xe6\xc0\xf3\xc3\x2e\x95\xaf\x1d\xd7\x08\xe8\x11\x08\x63\x6a\x26\xb9\x68\xe9\x83\x39\xc7\x41\x28\xb6\xcf\x67\x13\x35\x88\x4a\xc7\x2f\x75\xb6\x37\x19\x5e\xa9\xec\xa0\x53\x60\x89\x96\xc3\x2e\xd4\x45\x41\x0f\x67\xfa\x10\x4b\x39\xf0\xfd\xf3\xc9\xb5\xc6\x15\x7b\x76\x80\x37\x56\xb2\x7f\x4c\x3b\xa1\xb4\x7f\x32\x85\x76\x24\x8e\x9b\xc5\x3e\x7b\x8a\xb0\xb2\xed\x97\xc2\xf9\x99\x8b\xcc\x7d\xfe\x39\xe2\x64\xaa\xd3\x0c\x6c\xfe\xf2\xb5\x55\x3f\xfb\x5a\x69\x9a\xa4\xbd\x0e\xab\xe4\x38\xce\x05\x22\xcc\x91\xfe\x4e\x72\xbf\x7e\xac\xba\x47\x71\xcc\xf6\x3a\x37\xaa\xfc\xad\xbf\xbf\x99\xdd\x76\xb8\x5b\x80\xee\x07\x5d\x3a\x7d\x1a\x90\xa5\x5b\x77\x29\xa5\x41\x6e\x5b\xe6\x96\xbf\x9f\xb7\xf3\x15\x8c\xfd\xb5\xcf\xda\xcd\xde\x81\x72\xee\x1a\xb9\x48\x6e\x24\xcc\xea\xd2\x9b\x45\x7a\xcf\x43"}, -{{0xdb,0x89,0xdf,0x6a,0x23,0xd8,0x90,0xb7,0xf0,0x02,0x60,0xe8,0x1f,0x4a,0xd9,0x8f,0xd0,0x94,0x40,0x36,0x51,0x31,0xe8,0x5e,0x22,0xc7,0x95,0x1a,0x18,0x7b,0x02,0x18,},{0xc9,0x67,0x63,0x67,0x2e,0xe4,0xa2,0xcc,0x5a,0x93,0xb6,0xa6,0x83,0xdf,0x9b,0x5d,0xe4,0xd9,0x38,0x6a,0x79,0x08,0x35,0x68,0x1d,0x12,0x17,0xd1,0x92,0x96,0xbd,0xc8,},{0x80,0xb7,0xfc,0x8b,0x6a,0xe6,0xee,0xce,0x81,0x66,0xb7,0xea,0x53,0x4c,0xb5,0xb2,0x14,0xc9,0xea,0x99,0x73,0x92,0x1e,0xd0,0x5d,0xe4,0x0c,0x78,0xe1,0x4f,0x16,0x2b,0x09,0xe9,0x78,0xca,0x6d,0x86,0xee,0x43,0x4d,0x98,0x4b,0x8b,0x00,0x70,0x40,0x9d,0xd2,0xad,0x11,0xb5,0x31,0x78,0xe2,0x39,0xda,0xb5,0xbc,0x39,0xc7,0xba,0x46,0x0d,},"\x54\xc1\xc5\x11\x1e\x08\xc9\x82\x45\xba\x4f\x13\x18\xba\x1d\xb1\xdc\xc7\x4d\x14\xa5\xc9\x8a\xb9\x68\x9c\xba\x1c\x80\x2c\x68\xbc\xfc\x81\xfd\x87\xff\xc6\x1c\xaa\x94\x2f\x66\xd7\xe5\x15\x7f\x65\x53\x8c\x7e\x7b\x33\x17\x04\x84\xb4\xb6\x54\x3f\x36\x20\xff\x29\x63\x8b\x64\xd4\xda\xe7\xb0\x22\x21\xcf\x77\x83\xf1\x87\xec\x42\x31\xe6\xb6\x94\x6d\x82\x76\x20\x74\xf0\x9c\x32\x78\x1c\x2f\x38\x46\xde\x3e\x82\x17\xf6\xe1\xb6\xe0\xd2\xb5\x59\x5d\x74\x2e\x2c\x4e\x32\x5a\x28\x41\x92\x40\x44\xdf\xcf\x12\xb4\x79\xeb\x69\xf1\xbb\xd4\x0e\xab\xdd\xd1\xff\x54\xa9\x18\x4d\x36\x6d\xff\x9d\x8f\x2d\x86\x3e\x37\x8a\x41\xf1\x0c\xd1\xda\xe9\x22\xcd\x7f\xbb\x2a\x54\x4e\x47\xea\xbf\x47\xca\x0a\x38\xab\xba\x34\x45\x49\x19\xbb\x9a\x4e\xf0\x44\xbf\xb9\x7b\x70\x8c\x2f\x74\x28\xd6\x8f\x9c\x57\xc0\xee\x7e\x79\x25\xf7\xa2\xb5\xc6\xe7\xdf\x82\xbb\x26\x80\xc8\x62\xdc\x7c\xc6\x8b\x0f\x54\x53\x0e\x64\xaf\xe2\x76\x3d\x9c\x7b\xaf\x45\xcc\x6f\xe6\x12\xd1\xf7\x82\x77\x39\xc4\x41\x13\x98\x88\x8f\x73\x67\xc3\xd4\x37\x79\x07\xac\xc0\x6a\x06\xf9\x3f\x88\x72\x26\x79\x8f\x48\xaa\x54\x64\xf6\x01\xc2\xc1\xed\xda\x77\xed\xfe\xb9\xb9\xb5\xd5\xf9\xcb\x6f\xed\x37\x90\x05\x47\x47\x7f\xca\x1d\x09\xab\x52\xd6\x3e\x49\x1f\xeb\x12\xfd\x6d\xc8\x05\xa7\x8c\xee\x3b\xaa\xde\x43\x52\x98\x20\x61\xde\xa5\xa2\x65\x3d\xb8\xe7\x60\x77\x72\xe8\x34\xb3\xa5\x05\xc1\x6d\xd6\xe7\xc7\x1b\x91\x1e\x84\x2e\xba\x92\x5d\x77\xa3\x3c\x5c\x57\xce\x11\x84\x09\x80\x78\xca\x2e\x6a\x3f\x69\xaa\x6a\x14\x63\x9d\xc9\x7b\x4b\x30\xc9\x9d\xc4\xfa\x3e\x2c\xf6\x3c\x70\x1c\x30\x6c\x5e\x25\x3c\x51\x13\x85\x4c\x18\x5e\xbc\x8b\x47\x98\xf6\x8d\x1f\xd7\x80\x05\x4d\x3e\xed\x2f\x39\x4c\x45\x43\x04\x96\x6b\xdd\xbd\x12\x28\x08\x34\xec\x9b\x40\xc1\xe9\x8b\xc2\xd9\x8f\x48\x45\xf6\xeb\x44\xf2\x53\x15\xee\xdb\x3b\x79\xff\xca\x41\x80\xc1\xbd\xdd\x97\xd0\xc9\xaf\xfb\xac\x58\x81\x49\x37\x68\x26\x80\x07\x6f\xe5\xa3\xba\xbb\x65\xd2\x8f\x25\x17\x03\x6c\x0c\xfb\x42\xf0\x29\x3e\xb2\xac\xb1\x39\x49\xfe\x91\xe0\xad\x06\x78\xaa\x24\x3d\x77\x34\xa8\x9d\x99\x78\x70\xbf\x9a\x6a\x58\x4e\xd6\xe6\x28\x16\x3e\x39\xd8\xaa\x61\x0d\x46\xb9\x28\x5b\x9e\x1d\xd7\xe8\xf8\x07\xfd\xf5\xca\x2b\xbf\x6d\xe5\xe5\xe6\x8a\xf7\xcb\x7e\xbd\x43\xec\xce\x22\x7c\xd7\x0c\x7b\xf4\xee\x14\x33\xed\xfc\xfe\x88\x66\x14\x67\x0c\xdd\x19\x63\x43\xfb\x91\xe1\x54\x16\xd2\xf6\xac\xba\xe3\xea\xdc\x03\x02\x31\xee\x9d\x2e\xcc\x52\xa8\x8c\xe8\xdc\x7d\x09\x8e\x7f\xac\x77\x68\x5b\x4e\xb5\x40\xe3\x01\x93\x07\x14\x32\x21\xb8\xef\x77\xf3\x63\x2c\x89\x3d\x55\x6e\x0b\xb7\x43\xa1\x96\x3e\xc1\x58\x86\xc8\x54\x5e\x87\xc9\x5c\xc8\x25\xf2\x00\xd0\xf3\xcf\x4f\x55\xa3\xd6\x60\xa5\x36\xa2\x3a\xef\xcc\x42\x8a\x43\x20\x34\x85\xee\x84\x34\x2f\x5c\x00\x1e\xe8\x40\x4e\x75\x90\x17\x00\x62\x82\xab\x8b\xa8\x90\x3e"}, -{{0x00,0xe6,0xbb,0x17,0xaf,0x3c,0x2d,0xf6,0x52,0xb3,0x4f,0x9a,0xbe,0x19,0xf9,0x90,0x19,0x07,0x42,0x33,0x68,0x6c,0x71,0x14,0xe3,0xa0,0xed,0xf0,0x83,0x09,0x93,0x4f,},{0x7b,0x82,0x32,0xa6,0x6c,0xec,0x2f,0x91,0x5a,0xaa,0x79,0x51,0xd2,0x9d,0x2b,0x9e,0xe9,0x3d,0x32,0x1d,0x15,0xb2,0x03,0xc5,0x1e,0x61,0xe8,0xce,0x83,0xd1,0x87,0xf8,},{0x04,0xb3,0xb8,0x50,0x1e,0x39,0x6c,0x4a,0x78,0x8e,0x14,0xac,0x49,0xf6,0x17,0x4c,0xdb,0x5c,0x85,0x5e,0x65,0x12,0x03,0xcf,0x68,0xd1,0xef,0xa8,0x9a,0xa5,0x86,0x78,0xd4,0xd1,0xf3,0x03,0xa9,0x87,0x7a,0x37,0x86,0xd2,0x03,0xc3,0x55,0xb0,0x9d,0x52,0x86,0xc1,0xca,0x0d,0xf0,0x4a,0x89,0xaa,0x06,0xcc,0x3f,0x9d,0x0f,0xd3,0x05,0x04,},"\x06\x32\x81\xe4\x1e\x8b\xa9\x70\x3e\xd0\x9e\xf3\xbf\x0e\xa4\x6e\x4c\xab\xdd\x6e\xbd\x76\x9d\x05\xdc\x04\x5d\x4f\x99\x0d\x69\xfc\x55\x41\x30\xa4\xe6\x1a\xa2\x1e\x2d\xe4\xc9\x2d\xb4\x8a\x20\xa3\x7b\x17\x47\xa7\xea\xc5\xeb\xb2\x73\x5a\x89\x38\x19\x7f\x13\x9f\xad\x14\x97\xb3\x51\xad\x06\x4c\x0f\x18\xf8\xfa\xf1\xfe\x11\xf6\x39\x79\xa6\x99\x68\xe2\x4c\xf9\x1e\x58\xa3\xab\x03\x26\x69\xe4\xef\xee\x27\x4f\x96\xb5\x8b\xe7\xd9\xe3\x91\xf3\x6f\xcf\x07\x09\xb2\xcb\x2d\x22\x69\x4a\x6c\xeb\x17\x24\x69\x45\xeb\xb3\xbc\x7f\x0f\x03\xbf\x0b\x08\xdc\x96\x26\xe3\xe7\x15\xc9\x91\x67\x1d\x53\xeb\xb9\xae\x83\xa7\xd0\x8d\x44\xf6\x36\x35\xc4\x0f\x8d\x48\x17\xf5\x8d\xe9\xeb\x77\xcb\x25\xb2\xac\xd6\xde\xf9\x69\xab\x56\x9e\x97\x4a\x8a\xda\xc1\x1a\x86\xb5\x8f\xe6\xc1\x00\x67\x49\x9f\xc9\x14\xdf\xf5\x69\x02\xcb\xc3\x93\xa7\x1c\xc2\x5e\x8f\x05\xc0\x3c\x94\xf1\x3b\x84\xa2\xb0\x1a\x58\xc1\x0d\xbc\xbb\x60\xeb\xce\xe4\x87\xf5\x29\x17\x74\x66\x29\x99\x25\xda\x50\xe2\xda\x5b\x55\x57\xf0\xae\xee\x3f\xd7\xf4\x7b\x5c\x2e\x3f\x84\xce\xfa\xb4\x67\x96\x91\x39\x4d\xd1\x22\x30\x3b\xb7\x69\xaf\xb3\xad\xfe\x83\x58\xb0\x2b\x67\x92\x73\xb3\x5a\xbd\xc6\x40\x25\x76\xcc\xce\x5e\x10\x44\x2a\x13\x7e\xf9\x45\x69\x39\xb2\x89\xef\x4e\x41\x7b\x1c\xc6\x23\x9f\x7c\xee\xdd\x68\xf1\xa8\x26\x41\x80\xe0\x68\xb4\x96\x6f\xd6\x7f\x2b\xad\x6e\xdd\x8b\x4a\x1e\x8d\x2b\x54\x2d\xaf\x26\xdb\x83\x1f\x1f\xb5\x1e\xb8\x6f\xfa\xde\xcc\xd9\xac\x3d\x66\x4f\x34\x6e\x7d\x04\x6c\x33\xa5\x72\x84\x1e\xa8\x33\x4e\x7f\x2f\x41\x7a\x05\x71\x2a\x9e\x33\x4e\x48\x7f\xd3\xae\x17\x54\x55\x16\x2f\xe8\xf4\x9c\xc0\x26\xa6\x40\xc6\xcf\x93\xcf\x58\x87\x50\x52\xf4\x1c\xc9\x82\x06\x15\x65\x3e\xa2\xd0\x84\xc8\x96\xea\xfe\x5a\xd4\x72\x55\x79\x65\x30\x84\x99\x4f\x95\x6d\x5c\x94\x59\x0a\x24\x09\x58\x1b\x6f\xc8\x6e\x40\xaa\x58\xbf\x6e\x60\x57\xa6\xf9\x0a\xf3\xb8\x7a\xea\xf3\x29\x94\xa5\x5a\x54\xf7\x9b\xdf\x3d\xbb\xf5\xce\x0f\xf8\x12\xe4\x86\xb0\x54\x5d\x9e\x9c\x2b\x0b\xce\x0d\x4c\x36\x47\xb1\x82\x72\x62\x49\x88\x34\xe1\x98\xa3\xec\x70\xf3\xb0\x3d\x6a\xad\x2c\x49\xeb\x80\xb5\xe2\x05\x14\x39\x22\x5f\xd9\xce\x94\x68\xd6\x9a\xf7\x0a\x26\x2e\xe3\xb8\xb6\x2a\x8e\x5b\x41\x34\x6d\xa3\x01\x2f\xfb\x45\x81\x6b\x7b\xec\xb0\xe7\x9a\x60\xbf\xf7\x16\x36\xa3\xe4\xbb\x1b\x35\xca\xf1\x95\xf5\x51\x17\x28\x0f\x78\x72\x17\xb3\xca\xa2\xe7\x93\x72\x6f\xc5\xa7\x4d\x11\x60\xdc\xad\x86\x89\x04\xc1\x97\x38\x11\x34\xed\x8c\x3d\xb3\x75\x0b\x75\x56\xf6\x9c\xcc\xe1\x8b\x77\x38\x8b\x58\xc5\xb8\x11\x3e\x59\x0a\xd6\xea\xc5\xb9\x1e\xce\x5a\x67\x05\x02\x5c\x80\x35\x3c\xeb\x1e\xd8\x4a\xaa\x1c\xc4\x8a\x41\x6b\xc0\x16\xae\xf1\x73\xbb\x80\xb2\xba\x28\xc5\x79\x60\xc6\xb0\x11\xb6\xb4\x95\xa3\xf3\x31\x1e\x79\xfe\x46\xbd\xb6\xa4\xc3\x81\xfb\x9d\xc4\x62\x8b\x0a\x83\x02\x35\x58\xf1"}, -{{0xfb,0xdd,0xf6,0xe6,0x1e,0x20,0xd8,0x06,0xe5,0x59,0x17,0x75,0x6d,0xe6,0x0d,0x0c,0x9a,0x99,0x97,0x6f,0x64,0x67,0x16,0xff,0x2f,0xf1,0x31,0x2c,0x54,0xdd,0x97,0x1d,},{0xac,0x53,0x8f,0xab,0xad,0x43,0x80,0xe6,0x0e,0x97,0x71,0x26,0xe7,0x69,0x5e,0xed,0xa5,0x41,0x7d,0x85,0xf7,0xd2,0x3d,0xb2,0x1b,0xd0,0xad,0x11,0x11,0x16,0xf0,0x5d,},{0x8c,0x9b,0x77,0xaa,0x0f,0x1c,0xf5,0x2e,0x8f,0x7a,0x91,0x8b,0x21,0xb4,0x68,0xe6,0x23,0x35,0x91,0x1b,0xc5,0x93,0x06,0xb3,0x0c,0xe7,0x7b,0xf6,0x92,0xc1,0x10,0x59,0xb0,0xee,0x9c,0x5d,0xaa,0xf6,0x83,0x9b,0xb8,0x13,0x73,0xc6,0x1d,0x28,0xd0,0x72,0x70,0x2b,0x59,0x5e,0x4d,0xce,0x28,0xcb,0x99,0x38,0x22,0xb2,0x48,0x13,0x04,0x0b,},"\x3e\x99\x53\xca\x55\xd0\xcd\x23\x3b\x98\x83\x3e\xb1\xbc\x79\xd3\xb5\x5f\x18\xc8\xfa\x1c\x42\x02\x7b\xca\x25\x57\x91\x53\xb5\x5d\xa0\xc5\xa1\x78\xb8\x38\x69\x56\xd9\xa5\x41\x83\xb2\x4c\x91\xdc\x4b\xe9\x94\x84\x72\x37\xd3\x66\x6a\x0a\x01\x30\xfe\x19\x92\x4b\xc0\xee\x50\x89\x6c\x35\xa2\xe1\x6a\x29\xe2\xe2\xac\xf1\x80\xbd\xd9\x37\x93\x54\x68\x7f\x0e\xce\x68\x82\xd2\x6e\x98\x0e\x68\x66\x98\x04\x3b\xb1\xb0\x12\x13\xaa\x64\x4a\x4f\x8d\x61\xf9\xb6\x13\xe6\x2e\xaa\x35\x76\xce\xa0\xb0\xb8\x3f\x05\xce\x25\x58\xff\x63\x56\x49\x5c\x45\xed\xe4\xa8\xf6\x5b\x81\x4a\xb8\xa7\x30\x94\x03\xdf\xd4\x3c\xbe\xa9\x08\x93\x93\x9b\x78\x00\xaa\x00\x23\x2b\x5f\x6b\x77\x14\xeb\xdc\xd8\xbc\xf3\x4a\x5a\x7e\x82\x2a\xc7\xb1\xb0\x99\xac\x61\x5f\x13\x5f\x8c\x35\x1d\xc4\x1a\xe5\xf6\x6d\x5f\x9c\x26\x00\x45\x4c\xa0\x1c\x00\x9b\xa6\xde\x04\x16\x2a\xe5\xf1\xf2\x70\x89\x3c\xa3\x90\x7a\xff\x7f\x78\xe0\x33\x96\xe3\x2b\x62\x2f\xf3\x40\x53\x7b\xf1\x23\xe5\x59\x95\xe9\x20\x96\x09\x33\x0b\x2e\xee\x51\x12\x74\x84\xa4\x0e\x25\x07\x00\x82\x3f\xeb\x0b\xc9\x7b\xb5\x09\xff\x73\x26\x75\xde\xc3\x2e\xcb\x63\x5e\xd9\x2c\x7d\x78\xfe\x30\x50\x20\x0c\xf1\xd9\x41\xd6\xb3\x88\x80\x0a\x84\x19\xd9\x6a\x59\x5e\xce\xd5\xec\x4e\xfd\xcb\x6f\x98\x7f\x54\x72\xa5\xc4\x30\x58\xd3\xa3\xa7\xbb\x56\xd7\x98\x03\x65\xed\x43\xdb\xc2\xbe\x48\xf1\xd1\x8c\xe7\x6a\x89\x18\x54\x26\xfd\x5c\x69\xdf\x7e\x92\x91\xab\x78\x23\xc2\x3a\x76\x94\x1e\xd3\x83\x6a\xac\x7b\x58\xc0\xd5\xfb\x6b\x63\x6c\x42\x47\x1a\x4d\x17\x03\x51\x6f\x03\xe9\x35\xf3\x1f\x19\x54\x50\xe5\x37\xb2\xa0\x7d\x54\x5b\xa4\xb6\x8a\xfb\x06\x38\xc6\x5b\xb0\xff\xaa\x0c\xfd\x69\xd7\x10\x48\x19\x79\x66\x19\xd4\x83\xa0\x24\x5b\x4f\xd9\x01\x7f\x62\xa7\xd3\xa5\xfc\x3b\x72\x89\xd7\x57\x35\xf2\x87\xca\x0a\x95\x1a\xd5\x83\x44\xb2\xab\x7d\x7d\xf8\xdb\xd7\x92\x2a\x5a\xbb\x8d\x7c\x2e\x79\x14\x7e\x6d\x36\xee\x31\xf9\x30\x47\x3b\x07\x27\xdc\xfd\x58\xd6\x44\xd7\xd7\x0a\x0e\xd3\x1c\xa6\xa1\x3e\xd9\xdb\xd2\x24\x49\x2e\xfd\xa1\x9e\x4f\x8e\xed\x46\x18\x0f\xe7\x50\xf0\x7b\xbe\x8e\x99\x85\x4d\x13\xf5\x8b\xa9\x68\xce\x38\x59\xd6\x11\x89\xcd\x2b\x66\x7f\x3b\x2d\x06\x65\xb5\x74\xc4\xba\xc1\x9d\x9e\x37\xe5\xb7\xa8\x0e\xb3\x34\xe3\x68\x10\x53\x0a\xa5\xd1\x76\x63\x93\xf8\x11\x5a\x52\x09\x0c\x91\x82\x34\x28\xc8\x97\xa5\xf3\x5e\x12\xa8\xaf\x2c\xd4\xfb\x13\x90\x7c\xa6\x60\x3a\x4f\x76\xf5\xc2\xe0\x23\x74\xa8\xdc\x3a\x47\xc1\xbe\x6f\x1d\x1c\x8e\xbc\x59\xb3\x6d\x1c\xfa\x0a\xb2\x3e\x9b\x0a\xe9\xb0\xe6\x37\xee\xed\xb9\xc6\x6b\xea\x62\xdc\x63\x0c\xde\xfa\x71\x82\x39\x61\x7e\x31\x18\xe5\xb6\xde\xb7\xc2\x94\x47\x52\x82\xe8\xab\xe2\x4f\xd5\xa5\x4b\x78\x6f\xff\x90\x28\xc5\xa0\x33\x38\x4e\x4b\xc8\x01\x4d\xec\x8d\xa1\x00\xa9\x4b\x17\x8e\xf8\x8e\xc3\x57\xb6\x6d\x2b\x90\x98\xab\x64\x79\x16\x96\xb1\xa6\x6b"}, -{{0x8a,0x55,0xe7,0x7b,0xb0,0xc8,0x74,0x0b,0x8c,0x2e,0x8d,0xdf,0xdf,0xdb,0x40,0xf2,0x7e,0x45,0xfe,0x81,0xfe,0x45,0x71,0x11,0xbf,0x1c,0x87,0x30,0xea,0xb6,0x16,0xb4,},{0x9f,0xf1,0xfd,0x0c,0x50,0xeb,0x24,0xf9,0x9f,0xe2,0xf7,0x71,0x1d,0x52,0x87,0x2d,0xfc,0x90,0x03,0x80,0xdd,0xdc,0xdb,0x86,0xfe,0x6f,0x4a,0x5f,0x35,0x0a,0x87,0x43,},{0x8a,0xae,0xba,0x53,0x5c,0x51,0x1c,0x31,0xd3,0xf8,0xe9,0x5c,0xb0,0x77,0xa9,0xa7,0xec,0x7d,0x08,0x44,0x1e,0x53,0x42,0xa6,0xab,0xe0,0xbf,0x2a,0x5d,0x7f,0xc9,0x30,0xb4,0x3d,0xac,0x3d,0x1e,0x8e,0xf2,0xcb,0x03,0x45,0x52,0xeb,0x4d,0x08,0x39,0xbc,0x8b,0xf2,0x94,0x55,0x1d,0xd2,0xd8,0x0c,0x53,0xfd,0x62,0x79,0x35,0x1a,0xc2,0x0c,},"\x20\xfb\x41\x4e\x26\x4a\x95\x47\x84\xf1\x12\xba\xce\x7e\x04\x74\xb3\x9c\xb3\xc9\xe5\x3d\xee\x0a\x21\xf4\xcf\x6d\x4a\x99\xb9\x34\x7d\xdf\xfb\xe2\x81\xa6\xc2\x30\xa7\x5d\x63\xa7\x2f\xd0\x5f\x6d\xb5\x3e\xa7\x01\x4e\xf7\x70\x9d\x18\xff\x97\x0f\x48\x5f\xe8\x3b\xa1\xd3\x71\x47\x33\x8a\xde\xd6\xda\x4c\xfd\xac\xc1\xe6\x9d\x2f\x3e\x0e\xf3\x62\xf4\x7b\x5b\xcf\xb7\x8a\x1e\x17\x9e\xb5\xc5\xb1\x06\xc8\xd8\x2a\x0a\x0b\x29\x0d\xf0\x75\xab\x27\x43\x69\x29\xcd\xe6\x56\xf0\x23\x09\xf9\x57\x50\xeb\x67\x65\x83\x26\x2e\x5f\x2f\x69\xf0\xff\x72\xa8\xe0\x57\x26\x63\x82\x26\x92\x05\x31\x87\x40\xbf\xe0\x6b\xf5\xc2\xcb\x45\x33\x90\x8e\xf9\xf9\xf2\x86\x9a\x75\xb9\x53\x35\x79\x82\x0e\x3b\xc0\xca\xff\xd6\x46\x17\x1c\x82\x86\xc3\xa4\xab\xa1\xff\x09\x15\xd9\x36\x11\x20\x5e\x23\x0f\x39\xff\x4c\x4c\xaf\x3f\x33\x3e\x75\x3f\xce\x2b\x71\x21\x3e\x53\xd6\x08\x41\x5e\xe1\x7f\xd4\x82\x12\xee\xdd\x88\x40\xf3\x37\x10\x1e\xf0\xd0\xb6\xf7\xbe\x4b\xff\xc0\x6e\xee\xfe\x80\x66\xdd\x27\xa0\x54\x1a\x46\x88\x31\xac\xdd\xc4\x90\x2e\x2f\xef\xef\xbe\xd1\x9c\x30\x8e\x56\x21\xe0\xbf\x46\xbc\xd5\x38\xaa\x13\xfa\xf0\x4d\x38\x07\x59\xc0\xe1\x07\xe9\x12\x00\x18\x39\xdf\xd0\xb6\x35\x44\x0e\x96\x38\xf5\x37\x7c\xa8\x45\x0f\x35\x0c\x01\x12\x9e\xe3\x37\x64\x41\x5c\x53\xcb\x2f\xfb\xf9\x68\xdf\x78\xb7\x42\xfd\x06\x65\xe7\x8a\x34\xab\xf4\xde\xcd\x1f\xd3\x86\x28\x9a\x13\x64\xe6\x45\x55\xee\xc5\x8b\x0a\xf9\xa4\xcd\x6b\x36\xd1\xd5\xc6\x11\xa2\x84\x6d\xfb\x55\x89\x34\x4b\xbb\xb0\x25\x60\x24\x1b\x74\xb9\x93\xa2\x5b\xef\x50\xfb\x1e\x73\x19\x08\x6e\x6a\x23\x98\x63\x00\x83\x4e\xd2\xdb\xa9\x8a\x16\x87\x21\xc2\xf7\x84\xdf\xb8\xd3\x80\x0d\x06\xa0\x54\xae\xf1\x4d\x17\x72\xb6\xc5\x74\xaf\x25\x63\xd1\x93\xef\x2e\x51\xbd\xc6\x2d\x2a\xbc\xe2\xee\xbe\xad\xa7\x92\x03\x49\x8e\x66\x86\xc2\x87\xf3\x7b\xd8\x8a\xeb\x16\x6f\x7d\xff\xc3\xe6\xad\x02\x94\x11\x7e\xf6\xee\x9d\xa8\x47\x9e\xd8\xa1\x6f\xe9\xbe\x24\x6d\x26\x68\x04\xf2\x96\x58\xdb\x75\xe7\xa0\x87\x3b\xe7\x1d\xc7\xd4\x07\xe3\x9f\xab\xd6\x6f\x98\x8b\x45\x74\x77\x42\x7f\xad\x81\x30\xf0\x9a\xb6\x65\xf1\x59\x7c\x90\x46\xe7\x37\x3a\xf9\xa8\x35\x2a\x86\x83\x0c\xb9\x2a\x80\x44\x88\x70\x0f\xe6\x89\x19\x24\xfe\x2a\x72\x01\x73\x3d\x95\xe5\x91\xee\x0a\x1f\xef\x1c\x26\x36\x07\x8d\x37\x0e\x7a\xd3\xb6\xa9\x44\xfe\xd2\xcf\x2b\x30\xab\xa2\xd5\x6f\x34\x95\xb2\x84\x9c\x03\xbb\x61\x4f\x48\xbc\x4e\x50\x7c\x39\x5a\x6c\x35\xd3\xee\xd4\xc7\xbe\x8e\x68\x0f\x2d\x45\xa3\x10\xb1\x87\xeb\x88\xcf\x0e\x8e\xd4\xde\x7d\x37\x24\x6a\x50\xa6\x36\x7b\x97\xee\x37\x84\x32\x2c\x0b\x71\x13\x1a\x28\x31\x98\xda\x48\x04\xde\x75\x1d\xcf\x70\xc4\xba\xd0\x0d\xd9\x8d\x87\x3a\x69\xdd\x1a\x09\xcf\x69\xdd\xfa\xd7\xae\x60\x35\x00\xb6\xa4\x62\x25\x80\x98\xd8\xb6\x6b\x85\x29\x35\x94\xe2\x08\x82\x9b\x52\x28\xfa\xe2\xfa\xfc\x39"}, -{{0x16,0x3b,0x0c,0xb6,0xa1,0x2e,0x8f,0x07,0xb0,0xc2,0x9d,0x6a,0x63,0xf6,0xa6,0x52,0xce,0x49,0x72,0x70,0xb5,0xe4,0x6f,0xcf,0x83,0x3c,0x99,0xbd,0x84,0x3f,0x8c,0x64,},{0x68,0xa3,0x5d,0xe4,0xba,0x6f,0x0f,0x82,0xec,0xf4,0xb1,0xe0,0xdf,0x8e,0x24,0xcb,0x4f,0x18,0xf2,0x10,0x3f,0xf0,0x4d,0xc1,0xb5,0x33,0x39,0x91,0xb6,0xd3,0x14,0xba,},{0x17,0x73,0x8f,0x57,0x26,0x55,0x07,0x80,0x65,0x1d,0x60,0x19,0x9f,0xda,0x39,0xd9,0xc4,0x76,0x8d,0xb5,0x91,0x7e,0x32,0x39,0x36,0x31,0xc5,0x4a,0x41,0x9d,0x59,0xf1,0x8e,0xf9,0x60,0xdd,0xd4,0x39,0x38,0x0d,0xab,0xc3,0x14,0x76,0x1b,0xd0,0xcd,0xb5,0x7c,0xce,0x48,0x1e,0x61,0x09,0xfe,0xd0,0x95,0xde,0xa6,0xe8,0x65,0xaa,0x67,0x0b,},"\x56\xa1\x60\x3f\x72\x5b\xe0\x76\x13\x05\x8c\xdb\x3a\xcd\xc5\x23\x54\xe3\xbb\x1f\xf2\xbe\xd1\x3f\x89\x51\x75\xb1\x5c\x8c\x5a\x90\xff\xbe\x46\xb1\x1a\x06\xcf\xe3\x62\xda\xdf\x73\x23\xc9\x40\x41\x72\x55\xaa\x7a\xa5\x43\x12\x10\x3e\x71\x46\x3d\xaa\x0b\x5c\xda\xeb\xd0\xbe\x72\x3c\x73\x22\x73\xe3\xc3\xf5\xbf\x7a\xa3\x51\x9d\x69\xdf\x6f\x47\x70\xda\xa1\xdf\x82\x80\xbb\x3c\xd2\xc7\x14\xac\x03\x02\x00\x54\x65\x79\xf5\x6c\x60\xb9\x1a\xe1\x1f\x4c\xf8\x74\xa3\x5f\xc5\x9b\x35\x4b\xed\x80\xf5\x6e\x11\xa6\xcd\x62\xa8\x8c\xe6\xb4\xf6\xbf\x39\xd6\x4c\xe3\xd8\x04\x09\x82\x5f\x90\x16\x2c\x3d\x96\xd1\x0e\x47\x86\x07\x36\x5f\x7a\x24\x1e\x71\xaf\x98\x00\x42\xfe\xc2\xd6\x88\x91\xe0\xc8\xa3\x7c\x58\xec\x4e\x60\x0f\xd5\x81\xe7\x90\xb0\xaa\xe8\xe0\x9f\x35\xd4\xcc\x18\x76\xdf\x43\x4b\x80\xee\xe0\x53\x69\xf8\x48\xfc\x49\x30\x57\x7d\x16\x84\x27\x58\x88\xf3\x25\x9c\xb4\x73\x76\xc5\x16\x9c\x99\x37\xf8\x55\xa9\x6a\x9e\x74\x8a\xd0\xa6\x9a\xe4\xab\x2f\x2f\x17\x44\xa3\x92\xf9\xac\xc6\x20\x99\x75\xb7\x84\x98\x4c\xb1\x2f\x98\x29\x2c\x36\xa5\x32\x21\x99\x4a\xbc\x56\xf9\xa6\x6d\xae\x45\x60\xb7\x93\x56\xff\x47\xe1\x28\xc0\x79\x6a\x7f\xb0\xe0\xbb\xc9\x60\x0a\xf4\x8e\x49\xea\xa9\x42\x7c\xf6\xeb\x66\x20\xb1\x0c\xd2\xc0\x85\xb0\xb3\x42\x00\x4d\x5b\x0d\x3e\xdc\x11\xd2\x92\x42\xa4\x63\x87\x80\x76\x2c\x9d\xc6\x06\x9b\x66\xbd\x84\x97\x3b\x50\x11\x96\x1c\xe5\x6d\xb5\x8b\xda\xf4\x8e\x6b\xe1\x2a\xb9\xad\x24\x41\x62\x97\x00\x4d\x02\x91\x4b\x95\x9f\x54\xe0\x92\xf8\xcd\x43\x65\xfa\x6a\xb7\x8d\xdb\xff\x4c\xe8\xda\xd4\xe2\xf5\x3a\x05\xc0\xcc\x49\x9b\xfb\x47\x81\x4a\x27\x13\x55\x1d\xcd\x19\xd4\x47\xf6\x27\x57\x6e\xa4\xea\x4b\xbd\xa8\xba\xe1\x8a\x64\x65\xce\xd7\x47\xea\x17\x18\x0b\x00\x9f\x01\x21\x21\x60\x48\x2b\x04\x33\xaa\xc6\x8e\x67\x64\x4d\x00\xf4\x1f\xdf\x99\x90\xb9\xe1\x11\x17\x63\x4d\xeb\x13\x9b\x1a\x40\xad\x3f\xce\x42\x99\xa1\x7f\xe1\xdd\x22\x53\x01\xc7\xf8\xd8\x01\x0a\x79\x6d\xc7\x9c\x13\x30\x7d\x3f\xf9\x92\xa8\x8b\xe6\x64\xd4\xc8\x86\xd6\x8c\xa9\xe4\x47\x0c\xfb\xe6\x3e\xbf\xfc\x42\x40\x10\xe3\x72\xb6\x92\x2a\xa9\x5c\x80\x1d\x1e\x94\x06\xda\x4b\xc1\x88\xca\x82\x06\x64\x05\xbc\xdb\x3e\xaf\xc9\x37\x62\x9b\x32\x63\xdc\x7d\x50\xee\x52\x78\xcc\xec\x6f\x11\xd5\x51\x7f\x56\xbc\x26\x9c\x87\x36\x91\xe7\xeb\x53\xfa\xef\xf0\x75\x64\xab\x46\xb4\x03\xf1\x5d\x9e\x0e\x69\x24\x86\xee\x09\x8e\x7b\x51\xb4\x28\x13\x46\x9b\x82\x35\x04\x22\x33\xca\x3f\x9c\x4f\x8f\xf2\x4a\x57\x1f\x47\xe0\xad\xf9\x14\x4a\xea\x48\x8a\x2d\x2d\xd0\x01\xe3\x1f\xc9\x61\xe0\x5c\x3e\x85\xf0\xd9\x81\x40\x7c\x87\x31\x58\xbb\x0d\x35\xba\xfe\x4b\x60\x42\x2e\x67\x55\x1e\x97\x01\x65\xce\x3f\xc5\x99\xd0\xfc\xc9\x2b\x16\xac\x36\xa9\x2b\x2c\x1d\xc6\xb3\xf0\x33\xfe\x31\x0c\xd1\x96\xda\x04\xa4\xe6\x39\x03\x11\x77\xcd\x27\xd7\xc2\xfb\xec\x65\xa0\x0b"}, -{{0x8c,0x83,0x93,0x81,0xb6,0xa7,0xce,0x26,0x49,0xc1,0xea,0x46,0x4a,0xe3,0xc2,0xd3,0xfd,0xb1,0xec,0x66,0x6d,0x7b,0x4b,0xe4,0xe2,0xa9,0x41,0xab,0x6d,0x65,0x57,0xa7,},{0x5c,0x72,0x4a,0x30,0xc6,0xfb,0x32,0x81,0x53,0x43,0xa8,0x0d,0xde,0xe6,0xee,0xe5,0x44,0x51,0x64,0x18,0xea,0x95,0xe1,0xba,0xc8,0x0a,0xfc,0x80,0x40,0xd6,0x3f,0xc6,},{0x5d,0x21,0x10,0xd1,0xd2,0xf3,0xed,0xd6,0x83,0xbd,0xfd,0xbe,0xa3,0xff,0xa7,0xcf,0x55,0x28,0xa4,0x0b,0x8b,0x3d,0x8d,0x8c,0x9b,0xfd,0x22,0xae,0xac,0x28,0xba,0xd4,0x71,0x66,0x6e,0x06,0x2f,0x7d,0x38,0xce,0xda,0x8b,0xb3,0x73,0x97,0xa1,0xc5,0xc3,0xf7,0x33,0xb5,0x37,0x96,0x70,0x45,0x70,0x64,0x78,0x43,0x7d,0x4d,0x18,0x7a,0x0a,},"\xcb\xcf\x89\xc3\x54\x89\x64\xc3\x8d\x70\xfd\x8f\x68\xe8\xec\xe3\x6c\xc3\x97\x55\xc9\x71\xd1\x4d\x7e\x05\x6f\x39\xb0\x23\xef\x16\x6d\x17\xf2\x43\x85\x22\xf0\x10\xd6\xd8\x35\xd8\x86\xe7\x1f\x47\x4c\x67\x27\xa4\x22\x1f\xd0\x3a\x75\x74\x57\x82\x89\xed\x54\x93\xac\x4c\x09\x47\xe3\xf4\x28\xd8\xfe\x06\x40\x06\xa2\x56\xce\xf2\x18\x11\xd7\x26\x78\xf5\xdf\xc6\xba\x66\xac\x29\xec\xd1\xb3\x2f\xf5\x55\x7c\xb0\x8c\x5f\x13\x05\x59\x21\x7a\x04\x13\xb7\x59\xc2\x4d\x83\x38\x8a\x2b\xb9\xb2\x9b\x6b\x91\xd1\xf3\x10\x1e\xd6\x25\x21\x1e\x4d\x73\x80\x51\x93\x47\x8c\xf9\x95\x39\x6c\x10\xb1\xc5\xaf\xfa\xcb\x00\x89\x9d\xa0\x4e\x3c\xce\x19\x3b\x49\x4e\x2a\x93\x3c\x4e\xeb\xe0\xa3\x7b\xfb\x8f\x1b\x83\x71\xbd\xe5\xfd\xa0\x9e\x80\x4e\x94\x0f\x34\x48\x96\xa5\x29\x46\x7a\xde\xe4\x5a\x8f\xeb\xf8\x5a\xb0\x36\xca\xb8\x80\x14\x3b\xe4\xf5\x9b\x77\x41\xd8\xe4\x50\x27\x8b\x06\x36\x55\x78\xd4\x0b\x19\xdc\xec\xc6\xe1\xee\x3d\xa3\x4a\xb2\x90\x13\xfa\x3a\xf7\x72\x92\x72\x96\x21\x10\xe3\x85\xab\x9a\x02\x2f\xae\x41\x46\xf8\x97\x16\xf7\xba\xb9\xd3\xdc\x68\x2f\x4f\xac\x77\x36\xd3\xe0\x89\x73\xc6\x85\xbb\xb2\x75\xbb\xf8\xf2\x17\x41\x9e\x5c\xae\x02\x19\xeb\xa5\x16\x6a\x5d\xe1\xb1\x1e\x3f\x9a\x90\x8b\x8a\xc7\xe6\x5b\xcd\x62\x3f\x8c\x18\xbb\x02\x4f\x60\x5d\xcb\xac\xda\x79\x0d\x83\x62\x95\x74\x44\xa9\x5c\x13\x0a\x37\xee\x9d\x56\x3d\x0c\xbb\x4c\xb2\xb0\xff\x71\x59\x1d\x93\x90\xb6\xc8\xfc\x28\x75\x3a\x0e\x40\x2d\x64\x87\xcf\xac\x60\x71\x35\x92\x7d\x89\x26\x75\x12\xb3\x4f\x87\x70\x57\xd9\x27\x1b\xcc\xc0\x24\xdf\xed\xcc\xc6\xc3\x2e\xdf\x75\xc8\xb7\x55\x1c\xdf\x80\x15\x4e\xe8\xe0\x8a\x0c\xc4\x30\x44\xe1\x03\x6b\xae\x01\x7e\xb4\x8b\x65\x02\xc7\xa9\xd6\x0c\x8b\x37\x0c\xf3\x79\x9c\x46\x4f\x96\x4a\x69\xee\x65\x95\x01\x22\x3e\x78\x9a\x64\x97\xb6\x34\x96\xdf\x1a\xda\x2e\x80\x8d\x24\x34\xfc\x8b\xb9\x79\x4e\x5e\x2a\x20\xbb\xf4\xd6\x92\x5c\xb3\xc5\xbb\x14\x84\x2f\x19\x20\x09\x05\xba\x93\x54\xe0\x0d\xc3\x3c\xff\x5b\x42\xd4\xe9\xd9\x66\x8b\x34\xe6\x61\xd4\x4b\xef\x76\xfe\xfe\x2e\xd5\x1f\x94\x42\x3a\x93\x3a\xc9\x4f\x15\x23\xbf\x37\x82\x3a\x23\x8d\x61\x6c\x6b\x17\x97\x34\x41\xe3\x5f\x94\x05\xa0\x4d\x99\xea\xa8\xf5\x04\x53\x4c\x8b\x5f\xa5\xe8\xe3\x35\xc7\x43\xbc\xf2\x1f\x5d\x49\x2b\x71\x12\xe0\x0f\xd8\x64\x2c\xb1\x2b\xfe\xc8\x49\xdf\x62\x12\x0d\xbb\x06\xbf\xc2\x94\x6a\x56\x01\xe2\x5b\xe7\x50\x11\xc6\xf0\x0c\x65\xd3\x5f\x44\xa4\x6a\xf9\xe4\xf7\x80\x9e\x57\x89\xa3\xa6\x1b\xa0\xa3\xb2\x13\x89\x04\x97\x29\x6c\x81\xe4\x2e\x88\xf0\xec\x0f\x5d\xef\xc1\xf5\xd3\x9f\xf2\xa4\x8b\x7e\x30\x26\xc9\xe5\x47\x20\x2e\xdc\x7e\xb7\x38\xc3\x4a\xd3\xa1\x5d\x37\x3e\xf8\x2a\x4c\x1d\x18\x1f\x28\x5a\x98\xbd\x33\x14\xc2\xc1\x94\x7c\x9e\x2c\x60\xac\xa5\x17\x50\xee\x7f\x94\x3c\xaf\x0c\x4e\x1e\x5c\x7d\xf7\x29\x1e\x97\x3b\x1f\x93\x6b\x73\x70\x76\x19"}, -{{0xaa,0xbb,0xb2,0xef,0xed,0xb5,0x99,0x42,0x4a,0x5f,0x3e,0x08,0xf9,0x0f,0xa8,0x82,0x6c,0x5c,0x92,0x17,0x0b,0xe5,0x01,0xa1,0x18,0x1f,0xe8,0xe8,0xdf,0x97,0x4e,0x0e,},{0xce,0x73,0x19,0xef,0x88,0xb2,0x42,0x42,0x06,0x66,0xca,0x69,0x7b,0xa8,0x50,0x1d,0x27,0x4e,0xc4,0xa5,0xdc,0xf8,0x44,0x59,0x66,0x08,0xb9,0xdd,0x5a,0x8a,0x3a,0xcd,},{0xa0,0xb1,0x9c,0xfa,0x6c,0x80,0xde,0x77,0xbf,0xcd,0x32,0x10,0x30,0xbf,0x8c,0x03,0x89,0x3e,0x2b,0x21,0xac,0xe6,0xc6,0xba,0x1f,0xf7,0x40,0x8e,0x6f,0xf0,0x7d,0x84,0x7e,0x6b,0x2b,0x68,0x8d,0x4f,0xd5,0x1a,0xa9,0x32,0x70,0x1d,0xb6,0x40,0x2e,0xf2,0x23,0x22,0xe6,0xe9,0xfc,0x7e,0x32,0x0a,0xbb,0x4d,0x24,0xe1,0xac,0xc6,0xcf,0x06,},"\xfc\xc1\x5c\xc5\x79\x70\x56\x9e\x9c\xcf\xa5\xa7\x78\xfc\x7a\xed\x71\x97\x8a\x3f\x56\x24\x57\x7b\x6f\x57\xfa\x3f\x16\x7e\xa2\x23\xef\x31\x76\x4c\x48\x8d\x05\x9d\x06\x53\x1d\x01\x6b\xcb\x17\xd5\x44\xd4\x69\x77\xaa\x24\x1f\x8e\x07\xaf\x47\x87\xa0\x81\x0f\x98\xd7\x66\x46\x0c\x08\x41\xad\x81\xb8\x8f\x4d\x5d\x81\x64\x48\x5a\x12\x58\xa9\x46\x22\xc5\x49\x24\x28\xd6\xd5\x75\x94\x37\x15\x76\x6c\x2b\x0a\x86\x5b\xed\xba\x16\x7d\x5d\x34\x0e\xdb\x57\x9c\x47\xaa\x32\x45\x9b\x8f\xc9\x8a\x79\xbb\x0b\xed\x1c\x96\x0b\x4c\xcb\x7f\x2d\x4b\x56\x81\xa2\xa7\x0d\x50\x5b\x85\xb8\x1e\x3d\x99\x67\x27\x14\xe4\xea\xb4\x1f\x3a\xb0\xca\x87\x4f\x41\x71\x86\xfe\xb6\x9e\xd1\x3f\xb9\x11\xf4\x9d\x15\x84\x75\x8b\x2d\x18\xb4\x67\x3e\xdf\xae\x49\x5e\x68\xda\xd5\x13\xa7\xac\x0d\x47\xb2\x75\x3c\xb4\xed\xa7\x8f\xb4\x31\xf0\x4d\xda\x8f\xe8\x03\x0d\x7b\xb4\xe8\xdb\xcc\xb9\x69\xd7\xf5\x80\xd9\xc1\xef\x93\x5d\x07\x4d\x7a\x41\xd1\xf8\xb9\xdc\x45\xc9\xa2\xe4\x10\x6a\x55\x29\xa9\x8b\x95\x52\x9a\xb0\xed\xea\x0b\x57\x22\xdd\x68\x6f\x5a\x7f\x3c\xd8\xfb\x26\x24\xab\x26\xc4\x2d\xf1\x1f\x51\x0a\x10\x3d\x8a\x92\x98\x30\xad\x85\xf5\x21\x24\xe3\xd5\x82\x7b\xa6\x0b\xfb\xcd\x73\x6c\xb6\xc5\x90\xee\x77\x7e\xad\x7a\xa2\x22\x4d\x7a\xe4\x6d\x25\x7a\x90\x40\x72\x47\x96\x0c\x9c\xb0\x38\x60\xae\xaa\x7f\x54\xc1\xa8\xe1\x11\x60\xd1\x1b\xb4\x73\x06\x5e\x19\xb7\x07\x21\xc8\xf0\x72\xe1\x90\x9d\x53\x9e\x9a\xc9\x41\x85\x90\x4b\xbb\xfe\x54\x87\x37\x54\xae\x1c\xa7\xbc\xed\x6f\x40\x56\x1a\xf4\xb5\x05\xf0\x3a\xc9\x72\xa6\xf0\xbf\xa7\x3b\x5f\x83\x2f\xe2\x3b\x89\x8b\x2b\xbb\x05\x74\xa6\x66\x2e\xe9\x3b\x3b\x36\x0d\xa1\xec\x7e\x83\x8e\xb2\xc7\x7c\x7c\xb7\xfc\x16\x4f\x7c\x46\x27\x01\x04\x89\xc8\x58\x90\x07\x52\xc9\x2d\x9d\x75\xad\x54\x71\x67\xe4\xbd\xd1\x1a\x07\xd2\x8b\x65\x1a\xa3\x0f\x16\xa8\x50\xe0\x60\xdd\x28\x82\xfb\x82\x09\x19\xa3\x98\xe8\x05\xeb\x63\x69\x9f\x4f\xf5\x95\xf9\x91\x52\x47\x31\x64\x1e\xce\x25\xfb\x3f\x8e\x89\xad\xa5\x01\x19\x2b\x1e\xdd\xae\xcb\xac\xc8\xb8\x98\x52\x8f\x2d\x5b\x33\x12\x69\x4f\x5e\xc2\xdc\x91\x42\xe1\x51\x3f\x77\x7a\x5c\x83\x34\x09\xc1\x71\x63\x3f\xf9\xfa\x26\x09\xd0\x49\x7f\x5d\xf4\xfb\xf4\x8e\xf2\xb7\x7d\x55\xe2\x55\x19\xd2\xee\x79\xb5\xfe\x9d\x8f\xa4\x60\x00\xde\xcd\xb4\xf2\x5d\xfb\x3f\x2b\xaf\xb1\x9f\xbe\x2c\xbd\xac\x00\x2a\x35\x9a\x95\x4b\xc6\x9b\xdf\xe2\xfb\x36\xad\xfd\x9a\x15\x09\xf3\xe3\xa4\xc6\xb1\xf3\xf3\x6e\x7c\xf8\x0d\x58\x3d\x44\x0f\xf2\xa1\x44\x64\x30\x98\x97\x4d\x71\x49\x3e\xcb\x64\x17\xc0\xb8\x06\x5b\xd2\xc2\x1c\x1e\x34\xaf\x09\x24\x3f\xb4\x9e\x9d\x35\x29\x7e\xb0\xa5\x2d\x56\xdd\x27\x0f\xea\x6d\xc5\xc0\x80\xa0\x55\x99\xf7\x85\x81\xe9\x0f\xd8\xcc\x4c\xd1\x1a\x50\x5e\xdd\xe8\x4b\x89\x2d\x89\x53\xbd\xbb\x23\x79\xd3\x3a\xad\x64\x65\x8a\xe2\x06\x07\xdd\x35\xb0\xbf\x3a\x26\x37\xd2\x0c\x3f\x86"}, -{{0xc2,0xe0,0x74,0xfa,0xa2,0x34,0xe9,0x9a,0xb2,0x0a,0xdb,0xbe,0xae,0x11,0xb8,0x10,0x97,0x23,0xb7,0x08,0xc5,0x45,0x86,0xdf,0x65,0x2b,0x40,0x2c,0x35,0xcd,0xd1,0x27,},{0x5e,0x52,0x4e,0xce,0x1c,0x69,0x6e,0x70,0x5a,0x35,0x14,0xdd,0x00,0x82,0xb8,0x40,0x79,0x5a,0x59,0xc3,0x6a,0x96,0xcb,0xc4,0x82,0xbf,0xf5,0xab,0x4e,0xf5,0x15,0xd1,},{0x65,0x7c,0x38,0x26,0xb3,0x48,0x3f,0xd4,0x2a,0xb6,0xdf,0x86,0x9d,0x1b,0x77,0xa8,0xc4,0xdf,0x67,0xa6,0xa5,0x90,0xc7,0xc6,0x77,0x29,0x69,0xe3,0xdf,0x33,0x12,0xae,0x06,0x54,0xfb,0x83,0x84,0x7a,0xf2,0x21,0x93,0x5a,0x05,0x12,0x29,0x16,0x36,0xec,0x05,0x95,0x70,0x08,0x79,0xeb,0xdb,0xa8,0xa1,0x46,0x7c,0x53,0xd4,0x0c,0x23,0x06,},"\x31\x29\x03\x38\xe4\x6d\x1c\xc2\x5c\xe9\x9c\xba\xcc\x40\x16\x03\x41\xb7\x85\x82\x3c\x82\x3c\x4a\xb9\xba\xee\x3b\x61\x25\x79\xf1\xc0\x11\x71\x67\x96\xe5\x6e\x26\x93\xf6\xdd\xad\x43\x92\x2a\xa7\x84\x7c\xbb\x41\x48\x10\x16\x51\xbb\xe6\x2d\x50\xbe\x90\x82\x5e\x8e\xab\x77\x7a\xa4\xb8\x02\x6d\xc5\x38\x5a\x97\xd3\xdf\x76\x16\x01\x91\xf9\x22\xcd\xd2\xf0\x7b\xa5\xf8\x5e\x95\xf4\x5d\xb2\x29\x28\xf9\x07\x34\xff\x52\x0c\x44\xdc\x8f\xe3\x90\x3b\x4c\x51\xcd\x23\xe0\x64\xf0\x1c\x82\x9e\xc7\x4f\xbf\xfe\x25\xfd\x0d\x36\x9d\x27\x65\x74\x0f\x43\x85\x6b\xd7\x39\x8a\x19\x11\xad\x74\x98\x36\x16\x0f\xd9\x8d\x04\xb2\x8e\xe8\x7e\x11\x1d\x40\x71\x8b\x5a\x16\x6f\x05\xc9\xa4\x71\xa4\x15\x66\x55\x70\x69\xf7\xa1\x4d\xe9\x88\xbb\xbf\x67\x77\x52\x1f\xcb\xa6\xdd\x65\xde\x4c\x06\x67\x4a\x11\x85\x3a\xf8\x3a\xcc\xb7\x0f\xb3\x28\xdd\x8f\xd6\x10\x5a\x7d\xf5\x26\x9c\x9f\xae\xc8\xd9\x00\x14\x7e\x92\x8d\x97\x0c\x36\xcd\x83\x4b\xd6\x05\x4f\x70\x65\x0d\xfa\xce\x94\xb7\x62\x9d\x16\xe3\x70\x3d\x76\x6c\xe7\x63\x8d\x0a\xd1\xe1\x7b\x77\x46\x9b\x95\x8d\x2b\xa2\xa1\xe6\x31\xa1\x63\x5e\xfd\xcb\x00\x6e\xbc\x6e\x5d\x8b\x9f\xaf\x7e\x5f\xb9\x89\xdc\x08\x96\xc5\x61\xa2\x6f\x3c\x25\xf0\x55\x71\x6b\x36\x71\x38\xea\x5d\xa1\xf8\x1d\xc7\x2c\xff\x7a\x55\xaf\xae\xe5\x83\x9e\xf5\xaa\x82\x2b\x29\x70\xaa\x18\xa8\x98\x21\x63\xbf\x5e\xed\x1b\x67\x7c\xca\xac\x12\x24\xff\x6c\x6c\xf2\x56\x37\x47\x80\xae\x65\x80\x3b\xf5\xc6\xe2\x3c\x80\xba\xcd\x76\xec\x3e\x2d\xdd\x3a\xb7\x19\x97\x50\x64\x48\xe1\x9d\xb1\x98\xef\xad\xc9\xf7\x57\x49\x1f\x1b\x09\x72\xc8\x2d\xb2\x94\x10\xe1\xe8\xbb\x67\xbb\xb2\x3d\x53\x56\x3b\x88\x07\xe5\xe0\xc2\xe3\x2e\xe5\x96\xb5\xb4\x40\x23\x28\xf9\xe1\x79\xe9\xce\x85\x6d\x3b\xd1\x99\xd5\x8d\xe6\xc5\xc2\x52\xe7\xa6\x12\x4d\x81\xfc\x9e\xea\xf2\x3d\x34\x7d\x2a\xb8\x89\x17\xaa\x68\x44\x50\xdd\x58\x30\x35\x16\xc1\xa4\xd2\xbd\xcd\xde\x22\x0c\x9a\xe3\x79\x0f\x29\x8d\x7d\x38\x4b\x70\xc2\xfe\x25\x88\x07\x84\x8f\xc3\x53\x20\xb5\x78\xb3\x35\x03\xb7\x5f\x38\xa1\xdf\x63\x0b\xd3\x3e\x6a\x85\xa4\xdd\x4d\xf9\xf6\xe5\x5a\x6e\x68\x67\xc7\x38\x01\xe5\x93\xe1\xd5\x91\xdb\x89\xba\x9a\x9a\xf0\xfc\x29\x2e\x06\xfb\x51\x5a\xc8\xa5\xe8\xe3\x43\xa8\x21\x33\x55\x75\xba\x48\xfb\xaa\xe3\xfb\x12\xde\xea\xae\xe6\x0f\x4b\x3d\x31\x7e\xc0\xa5\x54\xdd\xd4\x25\xc8\x49\x32\xc2\x7a\x7a\x12\xf2\x9d\x63\x71\x51\x07\x83\xbd\x75\xe6\x0e\x2f\x6d\xa2\x00\x52\x06\x9e\xd7\x1e\x69\x5a\x94\x31\x82\x19\x3c\xb6\x85\x1a\x7d\x2f\xa3\xc6\x66\xc1\x93\x02\x80\x15\xac\x8b\x7e\x7d\xaa\x6c\x52\x04\xf7\x7a\x62\x32\xb8\x8b\x4a\xbf\xfc\x53\x62\xfd\xe7\xde\xc3\x6b\x9d\x45\x48\x80\x84\x92\x83\xb1\x15\x63\x39\xea\x2e\x8c\x3b\x10\xe5\x1b\xfa\xbd\xf7\x25\x78\xc7\x26\x41\x9a\x38\x54\x2c\xf8\x64\x9d\xf9\xa0\x90\x9f\x58\x2d\xeb\xad\x5f\xd8\x9d\x8c\x81\xf8\x3d\x9e\x42\x3e\x75\x03"}, -{{0xb9,0xda,0x4e,0x6a,0xf0,0x7e,0x39,0x8a,0xb4,0xd2,0x17,0x52,0xa3,0x2c,0x8f,0xfa,0x9b,0xe0,0xc3,0x10,0xd3,0x50,0x59,0xfb,0x66,0x1b,0xd7,0x3a,0xfa,0x97,0xe2,0xa8,},{0xf8,0x62,0x80,0x3c,0x96,0xcc,0x42,0xad,0xc8,0x25,0x28,0x84,0x54,0x72,0x30,0xb9,0x70,0x04,0x7b,0x7e,0x5d,0xa9,0x96,0x26,0x0c,0xcc,0x02,0x40,0xab,0x71,0xa6,0xec,},{0x62,0x5e,0x1f,0x42,0xc8,0x74,0x34,0xa2,0x5d,0x62,0x2d,0x80,0xd1,0x25,0x32,0x80,0x6a,0xfb,0x25,0x09,0x33,0x24,0x49,0xe6,0x96,0xb6,0x5e,0x1e,0x58,0x88,0x50,0x8f,0x11,0xc4,0xac,0x25,0xf5,0x9b,0x8d,0x94,0xd0,0xbf,0x27,0xe4,0xc8,0xd1,0x86,0x70,0x07,0xc4,0x08,0xda,0x57,0x30,0x82,0xdc,0xf1,0x9d,0x15,0xa9,0xd5,0xcc,0xcb,0x0c,},"\x6b\x95\xaf\x0e\xeb\xb6\xa0\x8a\xfa\xda\xa1\x96\x21\xf7\x6a\x83\x9b\xe8\x08\x51\xc6\xdd\x31\x5e\x82\x76\xf5\x01\x99\x5d\x4c\xe6\xd1\x34\xdf\x5e\x79\x8e\xd5\x17\xa2\xf0\xe6\x2a\xa1\xd6\xc9\x8c\x36\xef\x14\xbb\x1e\x5d\xdf\xc9\x8d\x5a\x7f\xcc\x81\x14\x0a\x13\xc2\x0d\x2c\xa0\xc4\xb4\x0e\x6e\x6a\x03\xee\xd8\xc8\x99\xf9\xd1\xf7\x92\x46\x81\x52\x19\x9f\x4b\x95\xa4\x32\x66\x89\x47\xa5\x1d\x7b\x8e\x10\x4d\x8d\x1f\x12\xaa\xcd\x96\x7e\x08\xb0\x8c\x41\xc3\xc8\xca\x3f\xee\xda\xa5\xb8\xb6\x3b\xce\xc0\x61\x38\x64\xd9\x53\xd8\x11\x43\xec\x81\x42\x5b\xde\x29\x16\x4a\x08\x76\xf2\x3f\x37\xac\x9a\xc9\x47\x36\x72\xce\x11\xa0\x8b\xd5\x47\x6f\x6f\x66\xd6\x65\xe9\xad\x61\x7e\x34\xeb\x32\xee\x56\xff\xa4\x59\xf2\x0d\x1b\x93\x53\xd7\x82\x12\x98\x54\x57\x50\xc6\xef\xf3\xe7\xd4\x07\x3d\xc3\x18\x5e\xde\x03\x91\xcc\xe0\x57\x5f\x8b\xa6\x37\xd8\x00\x06\x8d\x9d\x7e\x54\x03\xba\x70\x38\xd2\xdb\x77\xda\x14\x47\x84\xf2\xe8\xea\x76\xae\xdf\xe5\x21\xe7\xdc\x6a\x67\x4e\xde\x35\x57\x95\x95\x99\x3f\xb2\x0d\x44\xb4\x05\x27\x83\xf5\x6c\x8c\x0b\xbd\x04\x40\xb6\x9e\xab\xde\x84\x46\x8d\xd1\x3c\x67\x1f\xb1\xbb\xd5\xcb\x02\x2c\x2a\x4f\xcf\x35\x42\xd8\xb3\xbb\x51\x8e\x5a\xde\xbd\xdc\x84\xe7\x14\xb1\x3b\xe5\x2c\x56\xb2\x82\xb4\x2a\xc0\x89\x2a\x54\x59\x28\x1b\xe7\x16\x07\x29\xf4\x11\x2c\x7d\x99\xdf\x9b\xe5\x43\x4f\x82\x3a\x9c\xe0\x50\x17\x89\xde\x1d\x55\x0a\xd5\x0b\xb1\x8c\x8d\x89\xa3\x36\x68\x27\x0b\xff\x7b\x91\xff\x11\x8f\x5c\xd9\x90\x9a\xdd\xde\x90\xc0\x24\xa3\xad\x71\x39\x15\x17\x46\x74\xf2\x8a\xaa\x9f\x94\xa3\x22\xba\xa5\x43\x73\x8e\xda\xb4\x97\x33\x12\xb5\xbf\xa1\x21\x55\xde\xbc\xee\x16\x3c\xfe\x2b\x04\xac\x9c\x12\x2a\xc8\xa4\xe1\xbc\x41\x8c\x14\x95\x5d\x96\x10\x45\x5b\xd9\x45\xe9\x79\x3b\x91\x62\x67\xc9\xc5\xf9\xe5\x3a\xc0\x45\x18\x92\x6e\xc9\x8e\xcb\x84\xa4\xf0\x44\x5d\xcb\x12\x36\xc7\x6c\x3a\x67\x8c\x69\xab\xe4\xe9\x2c\x22\x97\x1d\x62\x21\x72\x01\xa1\xbd\xf0\x5c\x04\xdf\x84\x20\xa3\xde\x6a\x91\x7a\x85\xe7\x1e\x2b\x97\x25\xe7\x7b\x52\x29\x15\xd4\xc9\x94\x60\x77\x63\x7c\x2d\x88\x13\xf0\x10\xb9\x49\x1c\xf0\xed\xdc\x3d\x46\x68\xcc\x0f\x8b\xc8\xa6\x83\x57\x9b\xe5\x43\x93\x4d\xa2\x85\x3a\x16\xf5\x71\x57\x24\xf7\x79\x81\x9f\x44\x43\x9e\x1d\xeb\xca\xa4\x27\x0d\x9b\x85\x94\xba\x4c\x86\xe1\x06\x3b\x3c\xe4\x79\xd7\x1a\x54\x09\xbe\xf2\x7e\xf4\xe5\xc1\xd1\xc9\x6e\x8b\xe1\x38\x65\xaf\x7b\xb4\x3f\x09\x16\x2c\xcb\xc8\x3a\x2c\xa9\xe9\xb8\xa2\x32\x4e\x6d\x99\x65\x75\xee\xfe\xd3\x7e\xf4\x99\x08\x18\x57\x38\xb8\xea\xe4\x3f\x8a\xdc\xa3\x30\xc9\x9b\xc6\x6c\xc1\xfd\x52\xc5\x30\xd7\x37\x1c\x60\x86\x9c\xe4\x2c\x19\x7d\xca\x0a\xd1\x28\xb8\x5f\x61\xc8\x75\x8f\x0d\x54\x2f\x3d\x32\x98\xb6\x5e\x93\xc6\xe8\xa6\x8f\xa0\xe9\xa1\xd5\xe8\xc5\xfe\xc8\x05\xb8\x3a\xff\x43\x90\xe1\x15\xeb\x64\xf3\xf0\x78\xa0\xb9\xb6\x6c\x27\x38\x43\xfc\x6c"}, -{{0x14,0x3f,0x7b,0x42,0x47,0xd5,0x49,0xf6,0xb7,0xc0,0x91,0x72,0x66,0xc5,0x0f,0x96,0x2c,0x28,0xa2,0xea,0x24,0x76,0x2f,0x53,0x7a,0xa0,0x6a,0xd1,0x5e,0x40,0xb3,0x5a,},{0xc9,0x95,0x9f,0x90,0xa2,0xd5,0xfe,0xac,0xba,0xe2,0xc4,0xc8,0x03,0xde,0xd5,0xde,0xab,0x86,0x98,0x76,0x37,0x06,0x43,0x37,0xaa,0x2a,0x0b,0x0d,0xde,0xf2,0xfd,0x86,},{0xc1,0xcf,0xae,0x58,0x51,0x57,0x13,0xea,0x72,0x8c,0xfa,0x09,0x09,0x0e,0x89,0x42,0xf8,0xdf,0x18,0x62,0x1b,0xa7,0x09,0x0e,0x3a,0x33,0x76,0xc3,0x80,0x27,0x75,0xa1,0xec,0xaf,0x43,0x6b,0x18,0x49,0x78,0x04,0x1e,0xbb,0x75,0x22,0x6f,0x97,0x0d,0xf7,0x1d,0x6a,0xd3,0x53,0xc0,0xfb,0x46,0x50,0x23,0xf9,0xe2,0x98,0xf6,0x4a,0x70,0x02,},"\xe2\x74\x20\x23\x47\xa0\xd0\x57\xa4\x8b\xf2\xa1\xf6\xe9\xf6\xcb\x42\x56\x07\x9d\x80\x03\x74\x09\x3c\x02\x0c\xbf\x52\x0e\x5f\xa2\x7f\xe9\x96\xff\x07\xf3\x3a\xd3\xb2\x1f\x74\xab\x0c\xd9\x3c\x86\x47\x5f\xf3\x7c\xf6\x22\xd3\xf9\xfa\x4d\x13\xbc\x99\xf0\x13\xe8\x50\x2b\x24\xe4\x6c\xc8\x7c\x47\xe6\xb2\xc3\x66\x2b\x50\xe9\x79\xa0\xf3\x45\xb7\x84\xff\x21\xa8\xa4\xd9\x2a\xdc\x65\xe8\x6e\x33\xb4\xdb\xe1\x7f\x52\x8c\xcd\xf5\xb4\x86\x46\x64\xba\x94\xff\xdb\x7c\x7d\x24\x12\xb4\x38\xe6\xe4\x3f\xa9\x66\x81\x47\xee\x33\x28\x22\x4d\x1f\x52\xa3\xf5\xb5\x43\x59\xb4\xf7\xfe\xf6\x9a\xf8\xf8\x67\xb4\x78\xf1\x30\xa1\x47\xbe\xa4\x2e\xd3\x98\x03\xbc\xbc\x25\x57\xbc\xa8\xc3\x99\x9f\x1d\x24\xf0\xa6\xb0\x3c\x98\x84\x60\x11\xf9\xec\x74\xf6\x66\x41\x7b\x95\x02\x0e\xb1\xfb\x2f\xb8\x8b\x63\x12\xe5\x00\x8c\xff\x03\xe2\xd7\x7a\x26\xaa\x53\x2d\x17\x80\xb5\x07\x7f\x9e\x8b\x82\x86\x74\x45\x5d\x6b\xc9\x57\x97\x5f\x7b\x2a\x50\xe7\xfd\x7c\x16\x12\xce\x02\x36\x2e\xfa\x4c\x55\x5a\x1e\xef\x68\xec\x34\xa5\xc0\x06\xa6\xda\x00\x8a\x31\xd4\x19\x3d\xc2\xcc\x64\x76\x85\xad\x3c\xfa\x3b\xd7\xc5\x60\xb7\xae\xd4\x5f\x0f\x1a\x3d\x1b\x5b\x36\x22\x68\xde\x53\x28\x57\x05\x5a\xb9\xd1\xd5\xd8\x58\xd9\xae\x9a\x75\x9a\x51\xbb\x94\x78\xe8\xf0\xee\x93\xc9\x84\xb5\x76\xb8\xb4\xab\x46\x02\x80\xbe\x3d\xe2\x05\xa3\x2f\x1d\xc3\xd5\x72\x92\x3f\xb2\x13\xac\x15\x12\xd8\x0e\xb5\xad\x5c\x18\x94\x4b\xe7\x7f\xc1\x7d\xef\x13\xa6\x1b\xbd\x31\xbc\x71\xac\xc2\x3d\x25\x0e\xc5\x89\x4e\xbc\x21\x4c\xfe\xc0\xc1\xb9\x06\x51\x6d\x32\xd8\x36\xad\xc8\x38\x80\x2e\x8d\xe3\x0d\xd7\x6d\xf6\xe6\x1c\x1b\xc4\x38\xb6\x8d\x2b\x02\x5a\x84\xf2\x11\xfa\xcf\x3f\x13\x84\xd2\x61\x2d\x0f\xae\xf5\xd1\x71\x31\xcf\xe0\xcf\xe8\x33\xfe\x95\x0e\x47\x9b\xc2\x9c\xbe\x7f\xd6\xda\x0c\xce\x30\x7c\xf0\xb1\xbd\x92\xc8\x0e\x87\x8e\x43\x2f\x63\x6e\xa0\xcd\x42\x48\x0c\x07\xe8\xb8\xe5\x7e\x69\xb2\xf9\x38\xb7\x81\x20\xf6\xaf\x4a\xbe\xbf\x7d\x4b\x05\xca\xcd\x6e\xed\x85\x44\x91\xc0\x29\x75\x5c\x4e\x66\x33\x89\x93\xed\x2a\xc2\x5d\x19\xa0\xc5\xb4\x0f\x5e\x32\xc8\xa8\xb1\xbc\xe3\x69\x71\x81\x86\xc9\x1d\x60\xed\xff\x24\xa8\x37\x7a\x99\x69\x75\x75\x99\x06\x7d\xd3\x12\x63\xa0\x6d\x6a\x61\x15\x47\x81\xf2\x96\x11\xab\x81\x2f\xf8\x2e\x81\x37\x39\x64\x62\x63\x70\x4c\xd6\x04\x63\x57\xa2\x3c\x04\x5e\x24\x07\xb7\xa8\x95\x08\x25\x93\x91\x31\x4f\x2f\xbe\xe4\x9a\xef\x08\x55\xc6\xe5\xe6\x3d\x91\x2a\x19\xdf\x15\xb1\x1e\xce\x34\xe2\x76\xdc\xb8\x8b\xf2\xf2\xe4\x75\x63\x58\xf3\x4a\x0e\xe3\x95\x2b\x68\x6f\xcd\x17\x57\x8a\x88\x41\x76\xd3\x4e\xa2\x91\x6c\x5d\x9f\xcd\x00\xeb\x9e\x0a\xa9\xf2\xcf\x0f\x16\xe2\x56\x4b\xfd\x28\xb6\xab\x59\x68\xb8\x44\x8f\x06\x83\x20\xe4\x18\x71\x60\xf8\x66\x57\x81\xb1\xe2\xed\x9d\x04\x9e\x1b\x54\xa7\xd7\x27\x20\xff\x9d\x4f\x07\x30\x51\x99\x6a\x9d\xb6\xf0\xc6\x82\x1c\x42\x4f\xa5\x1d"}, -{{0x0d,0x1f,0xe9,0xd8,0xb9,0xa2,0xf0,0x4c,0x22,0xbb,0xb0,0xed,0xea,0x38,0x33,0xa0,0xce,0x43,0x33,0x93,0x47,0x53,0x1f,0xdb,0x67,0xed,0x51,0x3a,0x13,0xd3,0x6b,0x39,},{0x67,0xc4,0x9f,0x41,0x0f,0x48,0x53,0x29,0x3d,0x0c,0x4d,0x39,0xf4,0xc1,0xb3,0xd6,0xc6,0x10,0x3c,0x5c,0xfe,0x20,0xa9,0xa5,0x9b,0x53,0x93,0x20,0x43,0x51,0x73,0x69,},{0xb0,0x57,0x25,0xe7,0x37,0x1e,0xd0,0xa9,0x1e,0xbc,0x89,0xf3,0xc3,0x0b,0xaa,0x99,0x18,0x37,0x63,0xed,0xb4,0xce,0x34,0xfe,0x90,0x1a,0xf3,0x73,0x1e,0x00,0x1c,0xc5,0x4f,0x28,0x71,0x18,0x91,0x5e,0x90,0x36,0x5d,0x91,0xac,0xa8,0xfe,0xb1,0x70,0x87,0x69,0xf9,0xf1,0xd6,0xee,0xf5,0xaa,0x11,0x3b,0xee,0x00,0xb5,0xef,0xab,0x27,0x04,},"\x64\x21\x7a\xc8\x41\xfd\x4d\x64\x59\xbf\xc4\xa4\x9b\x88\x01\xd6\x92\x9b\xf1\x9b\x40\x8e\x8a\x53\x79\x0c\xeb\x51\xec\x34\x1f\x9b\x46\xa3\x51\xe8\xc2\xe5\x9d\x88\x7e\x1e\xac\xcb\x91\x42\x31\xcd\xca\x1d\x3e\x5c\x47\xd1\x66\xb4\xcd\xb9\xb5\x8c\x01\x3c\x59\xa3\xbd\x28\x3a\xd1\x0f\x6b\xd6\x2c\x0f\x15\xf7\x64\xce\x14\xf3\xb2\x65\xf5\x37\xc6\x3e\x73\xb6\xc4\xfa\x65\xe0\x6c\xe1\xe1\xf4\xae\x0d\x11\x48\x9d\xd2\x60\x2f\x95\xfc\x40\x2b\x77\x12\x05\x2a\xbc\x84\xbd\xc7\x78\xc1\x9f\x10\x00\x1b\x4e\x0d\x5f\xbe\x46\x30\x90\xe8\x3e\xf4\x38\xfe\x06\x8f\x3b\xb6\xfb\xc2\xc1\x39\xaf\x06\x78\xed\x2a\x11\xfa\xa1\xb9\xe4\x9a\xaa\x46\x20\xab\xfc\x08\x43\x9f\xbf\xe2\xc6\x18\x40\x76\x9e\x5f\xda\x26\x77\xf8\xe2\xf0\xa1\x45\x64\xf9\xf5\x04\x23\x2a\x9f\xc0\xd9\xda\x47\x1e\x67\xfb\xc5\x74\xc3\xd5\x6d\x2a\xeb\x93\x7a\x58\x6e\xd5\x58\x35\x56\x30\x8a\x99\x8e\xb1\xdc\x47\x6a\x01\x4f\x5a\x08\x22\x8d\xbe\xd9\x5a\x12\x08\xbc\x1d\x1f\x5d\x76\xb4\xe8\xd0\xb2\x43\x4b\x99\x5a\xd4\x58\xe4\x29\xee\x61\x42\xa0\xc9\x71\x76\x8c\xc4\x0c\x40\xbc\xb0\x8e\x96\x03\xf0\x96\x11\x47\x44\x71\xb3\x85\x9d\x7f\xd5\x84\x21\x9f\x02\x65\x7b\x43\x0e\x9e\x56\x95\x5b\x34\x67\xac\x56\xff\x2e\xab\x22\xcc\x49\x84\x89\x03\x6a\x57\x41\x20\xe2\xdb\x76\x9a\x3b\x21\x50\x03\x89\x14\x2c\x78\xa8\x7d\x06\x9f\x0e\x25\x76\xca\xfd\xa8\xcd\xdd\x79\x15\xa9\x22\x87\x73\xd2\xac\x9a\x07\x5c\xb3\x87\xf2\xa8\x98\x61\x72\x13\xb2\xcc\x50\x59\xd1\x19\x41\xbc\x4f\xe5\x86\x41\xe7\xc1\x75\x02\x67\xe5\x3e\x99\xc4\x21\xcb\x4c\xf2\x1d\x09\x8c\xa2\xd1\xf4\x16\x44\xf7\x90\x89\x83\xeb\x17\x4a\x23\xa7\x81\xcf\x15\xef\x38\xeb\x91\x16\xed\xa4\x12\x3a\x15\x22\xf5\x3b\x81\xfb\x73\x68\xe8\x07\x5f\xb8\x38\x59\xd2\xcf\x98\xd9\x21\x53\x5a\x70\x9f\xaf\xa9\x87\x3c\x4a\x03\x9a\xae\x68\x2f\x7e\x62\x86\xb8\x99\x25\x7c\x09\x24\x01\x6c\xa5\xbf\x6d\x31\x69\x09\x92\x11\xa9\xa4\xa6\x74\x5c\xdd\x31\x98\xf1\x33\x7f\x60\x92\x82\x27\xce\x3c\x7d\x60\x96\x0b\x53\xde\xdf\x01\x1a\x89\x40\xf5\xc4\x68\x20\x7a\x38\x94\xbb\x08\x72\xb3\x33\xcc\xde\xc9\xd5\xec\xd9\x11\xec\xbb\xb9\x6c\x9b\xc4\xbd\x48\x75\x32\x0e\x4d\x3e\x9c\x02\xd9\xdc\x76\x10\x9e\xc4\x5e\x61\xd1\xcf\x5a\xc7\x29\xf2\xe3\x4a\x96\x47\xb9\x5b\xce\x70\xb0\xc6\x33\x17\x1a\xda\xf0\xdf\xdb\x5a\xfb\xa4\x03\x5b\x3c\xce\x8c\xb7\x14\x1a\xd1\x42\xbb\x7a\xdd\x4f\xc3\xf9\x61\xd4\x2d\x72\x03\x75\x4a\x4e\x31\x32\x21\xd4\x87\x83\x1e\x32\x94\x7d\xa9\x11\x38\xab\x64\x8b\x59\x52\xef\x69\x56\xe2\x7a\xa5\xd2\xc1\x75\x79\x4b\xf8\x1e\xf2\x77\xfa\xa6\xb9\x05\xe1\x45\x02\x86\x68\x87\xd8\x78\x80\x60\x6e\x81\xb2\x7a\xf0\x1b\xb2\x63\xec\xf2\xc5\x82\x05\x85\xea\x6c\xe8\xd8\xb3\x91\xd8\x6f\xce\xda\xdc\xd1\x1f\xdb\xb5\x66\xfd\xf1\x47\xf4\x02\x01\x0f\xc3\x5f\x51\x57\xe0\x36\x14\x6b\x37\x36\xc8\xa4\x33\x59\x12\x7c\x26\x1f\x6b\xf0\xca\xd3\xbd\x8a\x34\xcb\x15\x09\xf7"}, -{{0xc1,0x0b,0x5a,0xc6,0x05,0x5a,0x1d,0xdb,0xca,0x28,0x55,0x2e,0x5c,0x72,0xeb,0xd0,0x52,0x78,0xc9,0x22,0x39,0xb2,0xfc,0xd0,0xc1,0x35,0x36,0x51,0xa8,0xe5,0x59,0xa0,},{0xb2,0x18,0x3e,0x1b,0x00,0x81,0x6d,0x29,0x30,0x5f,0x74,0x68,0xe7,0xe4,0x5e,0xed,0x3f,0xd8,0xf2,0x3c,0x15,0xb3,0x05,0xf9,0xfd,0xa9,0x3e,0x81,0x2d,0x65,0xbc,0x27,},{0x8a,0x9a,0x32,0x17,0xfd,0xf0,0x64,0x3a,0xaa,0xa5,0xc8,0xfb,0x2a,0x88,0xa5,0x56,0x39,0x88,0x59,0xb8,0xfe,0xef,0xbc,0xb4,0x8c,0xcd,0x88,0xe5,0x85,0xa1,0x67,0xc9,0x4d,0xbb,0x5c,0x0c,0xad,0x24,0xd1,0x5b,0xca,0xbb,0xc1,0xed,0xb2,0x1f,0x02,0xa8,0xc4,0x57,0xc5,0x61,0x20,0xa3,0x23,0x4a,0xc3,0x35,0x77,0xb9,0xaf,0x2d,0xdc,0x01,},"\x35\x94\x90\x5f\x9e\xa4\x64\x61\x5f\x41\xb8\x7a\xbb\x9d\x16\x73\x37\xf2\x9d\x45\xd9\x7f\x7a\x14\x64\xec\x9f\x2e\xe5\x0f\x90\xf2\xe6\x73\x39\x87\x4d\x3f\x20\x93\xbe\x92\x26\x10\x77\x01\xec\x1a\xab\x94\x1c\x4e\x05\x9f\x1b\xb2\x6c\xe8\x6e\x14\x8d\x1d\x9f\x0d\xa2\xa2\xa0\xf9\x82\x9a\x36\x4f\xb4\xf1\x3f\x58\xb9\x60\xd0\xf8\xd7\x23\x23\x28\x3c\x44\x90\xef\xdf\x57\x87\x86\x45\x89\x0f\xf7\xbc\x50\x65\xda\xd6\xe5\x1d\xd1\xe5\xb9\xa5\x07\x51\x50\x97\x8b\x33\x67\xf1\xba\x84\xe4\x5f\xf1\xf1\x27\x6c\x57\x6e\x4b\xc7\x2b\xe8\xaa\x8e\x40\x5f\xc2\xb2\x7f\x81\x46\xb9\x99\x84\x5f\xaa\xa0\x59\x5d\x3c\xb7\x0e\x5d\x37\x12\xed\x54\xa0\xfb\x3e\x32\x2d\x45\x38\x0b\x5d\xe3\x60\x9b\x96\x7b\x95\x9b\xca\x5a\x58\x3c\xc5\x20\xcd\xcb\x7b\xcb\xb8\x29\xaa\x25\xd7\x93\x20\x95\xec\xb3\x03\x92\x3c\x25\x60\xaf\xc3\xfd\x73\x24\xb7\xb7\xac\xd0\x89\xa9\xf0\x0c\x03\xa7\x3d\x04\x3d\xc0\xcf\x0b\xa0\xd8\x41\x1e\x2b\x1b\x18\xd2\x1d\x2a\x32\xa7\x26\xa5\x30\x59\x14\x0f\x78\x4f\x7c\xed\xf2\xf3\x3c\xec\x66\xfe\x4a\xd5\xcc\x9e\xac\xcb\xe4\xae\x10\x03\x6a\xc3\x52\x3b\xac\x70\x0a\x11\x3a\x98\xb5\x98\xe6\xdf\x03\x04\xc6\xfa\x32\x12\xac\xc0\x4c\x4e\x3c\x7f\x66\x87\x36\x2e\xf8\x6d\x61\x7c\x6d\xd4\x83\xf8\xd8\x0c\xea\x66\xd1\x95\x11\x27\x42\x8a\x61\xc1\xe1\x55\xa6\x85\x0b\xb2\xaf\xb7\xf9\x1c\x82\xd7\x3e\xb2\xb0\x54\x3e\xe8\xfc\x1f\x38\xe1\xdc\xdb\x3c\x50\x3d\xdc\x9b\xa0\x81\x24\x56\xa5\xce\x2e\x11\xd5\x56\x48\x7a\x64\x69\x74\xa7\xbb\xf8\x6e\x80\x6c\x58\xc6\x8c\x42\x69\xa7\xc9\xbb\xca\xc0\xff\xef\x98\x35\xb3\x3d\xc4\x49\xa7\x54\x79\xec\xd2\x3f\x6d\x14\x9c\x1e\x5e\xa8\xb6\x92\x08\xff\x36\xe5\xfb\xd6\x82\x95\x55\x03\x18\xbf\xa0\xd3\xb1\xd6\xc1\xad\x42\x70\xbc\xab\x09\x04\xae\x53\x49\x1f\x9b\x1c\xa5\x02\xe0\x12\xee\xd7\x7c\x42\x7d\x49\xa0\x96\x2f\x10\x55\x12\x5d\xd7\xb5\x37\x33\xd8\x52\x89\x34\xb5\x58\x0d\xd5\xfd\x5b\xbe\x85\x49\x78\xba\xe3\xd2\x5b\xb4\xae\x94\x4e\x90\x65\xe8\xe2\xe0\x79\x46\x51\x8a\x6f\x54\x8e\x36\xe0\x56\xbe\x82\x4d\x9e\x02\xa7\xa3\xea\xad\xd3\x79\x29\xf5\x81\x01\xcb\x18\x53\xbe\x3d\x75\x47\xf5\x8f\x49\xe3\x8b\x01\x8a\x74\x8d\x3f\x19\xc4\x85\x82\xab\xbd\xbe\x95\x3a\x8a\x25\xba\x9d\x36\x5d\xea\x83\x59\x35\x89\x9c\x19\xfb\x0b\x51\x90\x6a\xa9\x72\xc5\xac\x45\xe9\x9c\x40\xb3\xb7\x6e\x35\xd3\x27\xe3\x21\xe8\xae\x23\x06\xa6\xeb\x3d\x8c\xb6\xec\x2f\xa5\x39\x9a\xdd\x19\xea\x00\x28\xa0\x17\x92\xc0\x8e\x27\xc1\x6c\xf4\xf8\x5a\xaa\xae\x72\xf9\x86\xb0\x99\xf9\xeb\xe4\xad\x0b\x25\xd0\x6d\x3d\xe4\x4a\x8b\xfa\x52\x84\x4b\xe4\xa9\x39\x44\x83\x3c\xe2\xad\xd5\x1b\xb5\x54\xb3\x56\xa7\xdc\x49\x74\x8d\xd4\x5a\xe7\xec\x9e\x8d\xb4\x26\xc9\x7a\x25\xda\x5e\xdd\x3b\x62\x1e\x4a\xdb\xde\x48\x19\x7a\x33\x14\xde\x1c\x50\xf4\xd6\x00\x20\x27\xdd\x75\x19\xdd\xe3\xe1\x57\x29\xe4\x86\x95\x5a\xc4\x0d\x9d\x66\x87\x6f\x90\x66\x8c\x68\x9d\x8a\xb5\x98"}, -{{0x06,0x1b,0xdd,0xab,0x28,0x0b,0x0f,0xdc,0xb2,0x6b,0xfd,0x9a,0x0f,0xc7,0x21,0xf6,0x8f,0x88,0x34,0x3b,0x5d,0x39,0x83,0xa1,0x6b,0x6d,0xfa,0xa5,0xe7,0x69,0x69,0xf3,},{0x81,0x55,0x78,0xbb,0xa6,0xe7,0x07,0x0e,0xbd,0xec,0xa1,0x17,0x56,0x8b,0xd7,0x7e,0xbf,0xf9,0xe1,0x4c,0xb8,0xbc,0x20,0x0c,0x32,0xbd,0x87,0xdb,0x1f,0xb3,0x7d,0x6c,},{0xb8,0x32,0x97,0xcc,0xdd,0x6d,0x00,0x98,0xeb,0xf5,0xd1,0x32,0xd1,0x74,0xde,0x19,0x58,0x31,0x1a,0x76,0x6b,0xcc,0x4d,0xa1,0x5f,0x86,0x4d,0x80,0x1f,0x38,0xe0,0x9d,0x61,0x3e,0x7a,0xa8,0xc3,0x36,0x30,0x27,0x35,0xd7,0x5b,0xe4,0x16,0x6d,0x73,0xb0,0x18,0x4b,0x0e,0x0b,0xc5,0xef,0x39,0xed,0xbc,0xcb,0x6e,0x0e,0x61,0xaf,0xeb,0x0c,},"\xee\x76\xb4\x0c\xd4\x29\xea\xc7\xbc\x12\x83\x9c\xa2\xf7\xcd\x31\xf1\xe0\x09\x8a\x39\xc5\xfc\x19\x80\x5b\xe0\x33\x1f\x44\x79\x9e\x31\x8d\x12\x57\x1f\x06\xe2\x99\x37\x53\xa3\x68\x5c\xd2\xa9\x6b\x23\x01\xe2\x00\x24\x20\x9a\xdc\x5a\xdf\x74\x79\xff\x90\xc4\x77\xc3\x69\x5a\xbb\x99\xbd\x28\x57\x9d\xbc\x78\x31\xa1\x92\xbe\xed\x0c\xe1\x7b\x03\x8b\x20\x76\x48\x00\x65\x3a\xf7\xaf\x02\x4e\x2a\x10\x4e\xd0\xf3\xe5\x2d\x4b\xbd\x3e\x10\x9c\xf1\x26\x29\x1f\x49\xb0\xa2\x1b\xe4\x33\xc1\xc5\xa2\x58\x9e\xa5\x72\x99\x7f\x63\xd2\xbb\x39\x72\xd5\x32\xbe\x35\xa0\x47\x1e\xf0\x57\x3d\x79\x5c\x07\x2b\x6a\x86\x85\xb9\x5e\x47\xb0\x9e\xa9\xf4\x75\xd9\x3b\xf1\x2b\xbd\x77\xb7\xd2\xbf\x5d\x5b\xdd\xf0\xae\x02\x37\x53\x71\xd1\xd7\x99\xea\x92\x04\xbe\x38\x9e\x6a\x8e\x5d\xee\xdc\xd4\x92\x02\xe9\x2d\xf7\xc3\xe7\x61\xf9\x2e\xf8\xd7\x9f\xa7\x38\xd2\xc5\xbc\x28\x0e\xd3\x28\x79\x83\x2f\xf2\xb0\x26\x42\x45\x89\xcd\xbd\x52\xd1\x5b\x60\xf2\xaa\x35\x26\xb8\x98\x84\x9a\x34\xa8\x5f\xf1\xc4\x7d\xc6\x55\x4b\x85\xac\x76\xaa\x79\x35\xcb\xf3\xf7\xbc\x80\xad\x00\x91\x92\xa8\x75\xca\x20\x9b\x40\xfe\xb0\x47\xcc\x44\x69\x68\xf9\x70\xda\x47\xb8\xcd\x67\xda\x7e\xb4\xe5\x4a\x0e\x5a\xb2\x0c\xb3\x5b\xc6\xfb\x7f\x13\x30\x7c\xe6\x7e\xb6\x20\x4a\x67\xce\x9b\xb1\xd1\x39\xc1\xb4\xbd\x5d\xbe\xd5\x80\x10\xc8\x7b\xf8\x31\xe6\x52\x2e\xe1\x82\xda\xd9\x45\x80\x4b\x76\x7c\x4d\xf2\x55\x4f\x15\xb9\xe9\xaf\xd2\x59\x9e\xf2\x58\xc6\x7a\x22\xca\xeb\x92\xa5\x79\x88\x00\x6b\xbc\x72\xc1\x04\xfa\xc7\xe5\x41\x3c\xd3\xd3\xb8\x02\xc8\x3e\x63\x9e\xaf\xe2\x12\xa3\x8b\xb7\xef\x77\x9a\xf1\xa9\x4e\xe1\x37\xf6\xc6\x06\x67\xbc\x48\xf2\x7b\xf4\xa2\x22\x41\xbc\x44\xbb\x60\x33\x83\x62\x39\xbd\x6e\xaf\x3e\x2e\x22\x31\x87\x84\x1e\x46\x41\xb0\xf4\xe9\xff\x8d\x5a\x41\xdd\xbe\xab\xb4\x13\x8f\x6b\x58\x5a\xce\x0f\xb6\xb5\x3d\xc3\xc9\xed\xc0\x37\x3b\x60\x47\xf2\x7d\x83\x5e\x8e\x24\x66\x44\xfd\x83\x2c\xcf\xe0\xdf\x25\xc3\xd7\xda\x18\x7c\x9f\xa0\x54\x20\xd4\x34\x55\xf2\xd0\x8b\x57\x19\x29\x38\x6b\x59\xc6\xe0\xe1\x0a\x35\x60\x1d\xa8\x99\xb1\xb4\xdc\x3d\x95\xb6\x7d\xd9\xa8\x38\x18\xb0\xa3\x18\xbf\xdd\xa0\x64\x64\xb4\xa4\x2d\x3c\xb9\x85\xf3\x0e\xc9\x7d\x6a\x2a\xf1\x32\x91\x15\x5d\x60\xce\xc5\x7c\xbd\x58\xd5\xcf\xcb\x35\xc1\x85\x35\xe8\xd2\x99\xb5\xb0\x07\x59\x08\x92\xea\x94\x9d\x1b\x13\x7a\x62\xb3\x9a\x43\x6c\xd7\xe5\xb9\xf8\xd1\xb6\x93\x8d\xba\xa6\x2c\x22\x68\xd4\x59\xc6\x22\x0a\x3e\x6f\xcb\xf8\x0b\xa0\x11\x8a\xcd\x23\x42\x56\x3f\xbd\xbc\x1f\x7c\x9d\xba\x7e\xa2\xc0\x72\xaf\xc8\xae\x21\x28\xe3\xeb\xca\x06\x44\xff\xd8\x16\x3e\x80\xa1\xa5\x57\xd9\xd3\x90\x34\xcc\xd9\xdb\xd1\x2c\x88\x55\xa6\xf9\x16\x5b\x08\x01\x83\x9c\xf6\xe0\x7a\x9f\xba\x4c\x64\xd9\xc0\x99\xe1\x54\x10\xe2\x90\xe6\x77\x03\x1b\x65\xcf\x7d\xeb\x00\x79\xbd\xad\xc5\x73\xcc\x05\x6d\x76\x66\xd9\x5d\x03\x3a\x0b\x6b\xdb\xa7\xec"}, -{{0x2c,0xab,0x5b,0xf5,0x5f,0xfa,0x91,0x4e,0x9a,0xd0,0x76,0x22,0x19,0x0d,0x34,0x3e,0xc5,0x5c,0x13,0xcd,0x91,0xb3,0x88,0xcb,0x75,0x00,0xff,0xe0,0x6d,0xf7,0xc1,0x80,},{0xb6,0x1e,0x43,0x2b,0xb9,0x7c,0xba,0xe3,0x88,0xa2,0x57,0x8a,0x74,0x84,0x99,0x8e,0x00,0xe9,0xad,0x3d,0xdf,0xd6,0xca,0xb8,0xd3,0xa5,0xfc,0x5b,0xa0,0x43,0x07,0xc8,},{0x4c,0xf0,0x8f,0x4f,0xab,0xbd,0x06,0xdc,0xcb,0xcc,0xe2,0xa7,0xa5,0x94,0x1f,0xe9,0xaf,0xdd,0xc4,0xd2,0xd0,0xbc,0x80,0x80,0x2e,0x93,0xb1,0x2c,0xb1,0x35,0xd3,0xac,0xf6,0x51,0x1e,0x0f,0xe4,0x11,0x3c,0x5e,0x3c,0x55,0x41,0xb2,0x7d,0x3a,0x21,0x50,0xa7,0x57,0x74,0x2a,0xc6,0x5f,0x95,0xa9,0xce,0x66,0x73,0xff,0x0c,0xd2,0x1c,0x0f,},"\x2c\x2d\x04\xdc\x3a\xd1\x98\x23\x59\xec\xd5\xbc\x3e\xe0\x35\xf3\x49\x8e\xed\xff\x61\x04\xa9\x3c\x60\x2a\xf2\x17\x9a\xeb\x2c\xb1\xf4\x1c\x5c\xdb\x0a\x77\xb1\x24\xf9\x46\xaa\x8a\x82\x4a\xa3\x07\x6c\x2e\x1a\xcf\xd4\x8f\x68\x07\x0b\x26\x27\x6a\x65\x6b\x4a\x47\x58\xab\x15\x1a\x6a\x9c\x41\xbd\x74\xe0\x9b\xbd\x9a\xdc\xce\x1e\x87\xa0\xa8\x0d\x17\xfd\x92\xe8\x5e\x4b\xda\x47\x2c\x98\x8b\x6b\xb1\x18\x3b\x7e\xe5\x9a\x09\xd8\x05\x70\x46\x6d\xb9\x0d\xd3\x74\x95\x79\xc4\xeb\x19\xab\x75\xfc\x15\x2e\xcd\xcd\x68\xcd\x10\x78\xef\x06\xe5\x93\xc7\x35\x16\xfa\x82\x91\x48\x1a\x66\x7d\x3f\x95\xbf\xeb\x14\x4b\xab\x59\xd6\xdd\xc7\x3a\x27\x95\xc1\x01\x7e\x09\x53\x6b\x31\x62\xe4\xbc\x58\xf8\xea\xd3\x89\x57\x01\x8c\xfe\xc7\x2b\xad\xbf\x22\x81\x9a\xb0\xb4\x06\xc6\x47\x30\xfc\x73\xfd\x9e\xe6\x1f\x74\x18\x7e\xda\x91\xed\x4e\x79\x93\xe6\x68\x84\xaf\x43\xef\x4c\x6b\xf7\xf7\xc3\x79\xe8\xf0\xf6\x3d\xcb\x80\x41\xe2\x6b\x8b\x82\x92\xb6\xb6\xd1\x90\xe4\xad\xf4\x30\xfa\x82\xdd\x74\xc5\x73\x85\xb9\x19\xc4\x46\xdb\x37\xb5\xe8\x76\x7e\x4a\x0c\x95\x01\x3b\xe8\x9b\x2b\xc4\xe9\xfd\x62\x75\x4a\x84\x44\x18\x40\x09\x68\xae\xd2\xdd\x32\x8d\x7b\x1d\xc9\x1e\x1a\x2b\x30\x09\xdc\x7a\xd1\x40\xa0\x68\x6f\x67\x31\x68\xa6\x0e\x88\xd8\x0c\x52\x0f\xc2\xdc\xfc\x56\xca\x9d\x4b\x0c\x88\x85\x90\x99\x23\x07\x14\xde\xc8\x3d\x26\xb4\x63\x05\x54\xdc\xb9\xc4\x90\x18\x95\xf7\x8f\x38\x34\xb0\x97\x66\xb6\x7a\x46\x5d\xe8\xc9\x49\x00\x65\xbf\x56\x83\x39\x24\x33\x99\xfd\xc9\xd5\x10\x03\x24\x66\x7c\x5a\xb2\x8f\x35\xc0\x0f\x61\x25\x63\x8e\x61\xda\xb7\x0d\x1e\xec\x48\x95\x1d\xe0\xfb\x3f\x7b\x23\xd3\xcd\x98\x24\x37\xc6\x34\x73\x41\x5b\xef\x37\x4a\x66\x32\x96\xf2\x98\x6b\x1a\xe9\x57\x9b\x9f\xfc\xe7\x1e\xc3\x5e\xec\xa1\x16\xd1\x94\xf8\xfb\xa9\xa4\x5a\x91\xba\xe2\x7a\xc4\x55\xdb\x71\xa6\xb0\x1a\x72\x9d\x0c\x13\x5f\xcd\xcb\xc2\x3e\x50\x4a\x29\x43\xc0\x0a\xa4\x20\x70\x51\x9d\x9c\xd7\x7a\xe6\x75\x4f\x31\xeb\x46\xa3\xe5\xbe\x9e\xeb\x3f\xc8\xd3\x1f\xf1\x82\xda\x9b\x08\x7b\xe3\x46\x2c\x84\x59\x12\x6e\x86\x29\x09\x23\x2f\xd5\xf2\xd8\x9c\x01\x81\x59\x57\x61\x1e\x6a\xe7\xca\xa9\x8b\x60\x53\x77\x6a\x77\x15\xc2\xf9\x3c\xcf\x03\x08\x87\x03\x0c\x56\xc2\xb8\x22\x6d\xae\x29\x77\x99\x5a\x6d\x3f\x1e\x9d\x79\x11\xa9\xc9\xd2\xa3\x03\xf0\xe0\x1f\x32\x33\x8e\xfd\xaf\x8e\xe6\x3f\xc4\x1b\x25\x39\x9c\xff\xd0\xb3\x5f\x7e\xe5\x67\x6b\xd8\xfd\x3d\xa2\xcb\xee\x4a\xe2\xea\x98\x08\xd7\xe7\x35\x83\xd9\x94\x33\x99\x31\x46\x67\x4a\x40\x40\xf4\x2f\x63\xd1\xb3\x13\x5c\xc7\x97\xa8\xd8\xf0\xb8\x85\x73\xa3\x28\x90\x69\x6c\xac\x94\x39\xd1\xe1\x5d\x19\x6d\x90\x90\xb6\x2b\x6d\xb7\xe6\x3c\x96\x47\x2d\x94\x6e\x66\x8c\xbd\xa1\xf4\xdb\x88\x93\x00\xcd\xcc\x25\xe8\x4c\x9f\x38\x57\xd1\xd9\xe5\x32\x41\xcf\x62\x5f\x39\x09\xaf\x1c\x8a\xaf\xf4\x30\x9f\x68\xf6\x54\xb7\xa1\x5b\x67\x71\x1c\x5b\x7f\x9d\xe7\x67\x75"}, -{{0xdd,0x7b,0x59,0xa3,0x3d,0x97,0x0b,0xef,0x62,0xe0,0xe2,0x1a,0x7b,0x6e,0x4c,0x30,0x96,0x06,0x86,0xf1,0x7f,0x49,0xaf,0xdb,0x4a,0x9f,0x4e,0x80,0x8e,0x35,0x5c,0x7f,},{0x53,0xa0,0xe5,0x72,0x77,0xd9,0xbb,0xee,0xcf,0x99,0xc4,0xd1,0x38,0xfd,0x66,0xfa,0xfc,0xae,0xc7,0xbc,0x5f,0x56,0x7f,0x83,0x20,0x80,0x0c,0x4e,0x58,0x4f,0xf8,0x2e,},{0x87,0x29,0x4d,0x22,0xd4,0xad,0x0d,0x08,0x14,0xe2,0xd6,0xd5,0xfa,0xf5,0x57,0x49,0xe9,0xb3,0x98,0x03,0xb4,0xd4,0xb7,0x87,0x9e,0x60,0xb7,0x77,0xc1,0xfc,0x41,0x58,0x4f,0xe1,0x51,0x35,0xba,0x11,0x23,0xff,0x5f,0x20,0x0d,0xb3,0x5a,0x34,0x68,0xdd,0x4d,0x58,0xda,0xd7,0x7b,0xd9,0x6e,0xe2,0xb8,0x88,0xa5,0xa8,0xb1,0x8c,0x32,0x04,},"\x75\x58\x03\x67\x93\x05\x18\x16\x8b\x0a\x76\x4d\x09\x58\xbe\xc4\xfc\x46\xcf\x59\x19\x99\xeb\x37\x37\xe4\x2a\x02\xea\x72\xd2\x10\xda\xad\x53\xe5\x4a\x7c\x2c\x13\x4a\x6d\x47\x83\x37\xd2\x63\x33\x68\x54\x81\x70\xed\xef\x0d\x85\x17\x9f\x30\x23\xe1\x50\x38\x68\xa6\xe5\xe2\x77\x5e\x41\x2a\xc0\x5f\x05\x89\xd4\x2a\x37\x7e\x75\xaa\x6b\x8f\x52\x20\xa7\x69\x9a\xe8\xaf\xf0\x10\x94\xec\x46\x9d\x63\x61\xd3\xe8\xf3\x86\x15\xed\xcd\xa4\xd2\xd5\x28\x9a\xcf\x73\xdb\x64\x56\x98\x57\x80\xc9\x2e\x07\xf6\x2c\x77\xa9\x09\xfb\x6e\xf5\x98\x82\x20\x62\xbd\x57\x2b\xf7\x05\x8d\xcb\x83\x5e\xf3\x44\x3d\x3e\x47\xb5\xc6\x03\xd9\x27\x36\xdd\x1d\xf2\x6b\xe4\xb9\x28\x3b\x76\xe3\x21\xd5\x5c\xe2\xb6\x38\xcd\xe2\x25\x77\xca\x59\xc9\x63\xc2\x47\x95\x56\xc5\x75\xcc\xb0\xd6\xd1\x8c\x80\x4e\x2e\xb0\x1f\xf5\x35\x81\xeb\x04\x0f\xfd\x2c\xc4\x67\x60\x73\x7a\x74\x67\x2e\xa6\xbf\x78\x05\x8a\x6a\x0a\x1f\x5e\xbf\x56\xde\xcb\xf9\x4b\x54\xaf\xb2\x3c\x11\xd3\x41\x79\xbf\x09\x76\xb4\x15\x80\x17\xd4\x07\xc9\x5a\x40\x1f\xa6\xf9\x62\x4d\x77\x13\x5e\xae\x81\x41\xeb\xea\x9f\x35\xd5\xf5\x1b\x3d\xed\x99\x5c\x7f\x70\xc0\x25\xb0\x94\xad\xef\x2b\x07\x1f\x97\x11\x55\xd7\x79\x6d\x61\x3a\x55\x0d\x09\xe7\xf4\xdf\xc3\x45\x17\xb3\xf8\xfa\x43\x93\x28\x6a\x2b\x22\x80\x17\xda\xf2\xe0\x15\x38\x7e\x13\x52\x7f\x63\x66\x1d\x3c\x13\xe7\x8e\x90\xfb\x29\x55\xee\xe3\x45\x73\x91\x19\xb7\x91\xf0\x5b\x07\xc8\xf4\x2a\x43\x6e\xfc\xad\x1e\xc5\xea\x10\xf3\x08\xf8\xe2\x3c\xa9\x8b\xc6\x5a\x5f\xd9\x39\x3e\xfa\xaf\xe5\xcd\xef\xba\x81\x05\x81\x70\xcc\x54\x93\xc0\x0c\xed\xf2\x54\x09\x74\x35\xd2\xe2\xfd\xe5\x5f\x86\x6b\xb8\x2d\xbd\xfb\x91\x54\x34\x49\x74\x86\x63\x59\x16\x7b\x46\x6c\xaa\x90\x9b\x91\x53\x0c\x9c\x7e\xe8\xc5\x3f\xa9\x01\x64\xbb\xd0\xb1\xfa\xdb\xdc\xd0\x81\x27\xf1\x9b\xe5\x03\x30\x71\x51\x8d\x3c\xf1\x0a\xe6\xbd\x6f\x98\x27\xe1\x20\x6f\x5e\xc0\x95\xc1\x98\x61\x70\xe8\xd5\xd8\xe7\x2e\x57\xd4\x22\x87\x01\xdf\x2a\x48\xc9\x54\x87\x30\x56\xcf\xdf\xba\xaf\xb1\x0e\x46\xa0\xc1\xf1\x44\xb1\xa0\xea\xcd\xd2\xcb\x66\xbb\x91\x2a\xc4\x71\x78\x7d\xab\xe4\x83\x53\x85\x91\x20\xb0\x34\x03\x56\x7c\x41\x5d\xdb\x88\xfc\x0d\x7f\xba\x40\x69\xbb\xfe\xf4\x06\xee\xd7\x24\xa1\x1a\xbc\x04\x1e\x8e\x7b\xeb\x66\x3d\x0d\xc9\x9d\xce\xf3\xac\x6a\x14\x90\x07\xb4\x2d\xd1\xf2\x2a\x77\xdd\x52\x90\x18\x14\x32\x51\x72\x22\x4a\x27\x78\xf3\x66\xfb\x9e\xb0\x2c\x81\x2b\x84\x2a\x42\x84\x25\x61\xc6\x8f\x2a\xc2\x31\xc2\x6c\xe9\xe8\xb1\x9a\xe9\x1e\xbf\xad\x3c\x0e\x9f\x66\x36\x3a\x13\xec\xd8\xb8\x97\xa3\xd0\x0a\x26\xd2\x57\x64\x8d\x56\xc6\x74\x74\x41\xca\x1c\x6e\xe9\x9f\x08\xdd\xad\x25\xd1\x16\xdf\xad\xab\x03\x83\x00\x0d\x3d\x72\x25\xcf\x2e\xff\x70\x76\xb2\xad\xab\x95\x22\x29\x25\x55\xf3\x19\x32\x06\x78\x60\x00\xd4\x2c\xa3\x4d\x70\x8d\xc0\x42\x84\xa9\x4d\x17\x4c\xc9\x2f\x10\x2e\xfd\xdf\x31\x48\xc2\x99\x69\x16\xd4"}, -{{0xd8,0x80,0xd2,0xfb,0x06,0x26,0x2f,0x57,0xab,0x87,0x78,0xe3,0x3d,0x16,0xb4,0x73,0x06,0x09,0x78,0xa6,0x54,0x9c,0xdb,0xcd,0x55,0x86,0xba,0x81,0x05,0xf5,0xac,0xa8,},{0x0d,0xe4,0x86,0xd2,0x11,0x5f,0xaf,0x2d,0x54,0x72,0x66,0x77,0x2e,0x43,0x0f,0xd9,0x72,0x7b,0xdc,0xac,0xe6,0xec,0xbf,0x2f,0xe2,0x3a,0xb6,0x0f,0x7b,0x52,0x54,0xb1,},{0x4c,0x00,0xa7,0x16,0x68,0xd3,0x21,0x3c,0x29,0xc7,0x04,0x1c,0x5a,0x03,0x7e,0xdf,0x13,0xc6,0x51,0x4b,0xd0,0xeb,0xc8,0x80,0xc9,0x09,0xca,0xff,0x15,0x06,0xa4,0x5d,0x27,0x80,0x9f,0xb7,0x4e,0x66,0x02,0xea,0x2a,0xad,0x0f,0x84,0x28,0x31,0xb7,0x4f,0xb3,0xd6,0x90,0x0c,0xcc,0x52,0x06,0x52,0xda,0x28,0x36,0x8f,0xd9,0x0c,0xa3,0x0e,},"\x11\x47\x43\xe8\x2a\x09\x93\xce\xc9\x70\x50\x67\xab\xd7\x7c\x16\x8b\x53\x67\x7e\xde\x5c\x15\x9f\xad\x36\xf0\x6f\xc1\xa1\x4a\xcd\x77\xf8\x83\x79\x9e\xd9\x88\x3f\x99\x15\xae\xa6\x38\xec\x17\x41\xf3\xf4\x21\x58\x55\xfb\x5b\x07\xdf\x37\x93\xbb\xe5\xb5\x68\xeb\x35\x94\x39\x1a\x9e\xf5\x72\x7f\xab\x93\xe5\x74\x69\xb3\x7d\xe1\x25\xb1\xe9\xf2\xe6\xfe\x2c\x3d\x1a\x10\xec\xf8\x7b\x6c\x0a\x66\x5c\x6d\x46\x0a\x17\x0e\xef\xb9\xbf\x71\x6c\xd8\xfa\xea\x97\x64\xf5\x79\xff\x34\xeb\xfa\x9c\x4c\xfb\x34\x70\x6d\x8d\xd7\xc9\xeb\x1d\x10\xb2\xdf\x46\x0a\x46\xbb\x57\x89\x43\x0b\xf4\x49\x15\x8b\x58\x24\xf2\xa3\xa7\xb9\x18\xb3\x3a\xcf\x2d\x9e\xbe\x90\x21\x6d\x1b\x7c\xbf\x4a\xf7\x70\xc5\xdb\x95\xfc\x62\xff\x3a\x3c\x38\x5c\x3a\x82\x17\x85\x3b\x73\x46\x63\x4a\xaf\x30\x60\x72\x88\xdb\x0c\x48\x3b\xd4\xc2\x22\xeb\x33\x2c\xb8\x9d\xc4\xa2\x17\xe6\x33\x4a\x26\x84\x13\xa3\x90\xbb\x37\x1a\xec\x35\x5f\xbe\x4c\x73\x6f\x7d\xa7\x5f\x9c\x88\x75\x41\xa2\xb7\xd0\xda\xc0\x18\xb6\x13\x8f\x02\x1e\x77\x26\x6d\xde\xce\x84\x68\x45\x2a\xda\x39\xf5\xe6\x3d\x02\x09\xb9\xd6\xda\xbf\x97\x54\x13\x25\x6d\xca\xa1\x5a\xc1\x4b\x60\x68\xe1\x77\x05\x6c\x7b\xf0\xf0\xf7\xc8\x84\xa3\x40\x20\x32\x29\x8c\xd5\x59\xa6\x31\x20\x39\x40\x06\x32\x32\x7f\x9c\x0e\x76\x3e\x52\x79\x8c\xb1\x77\xda\x44\x75\xe4\xb2\x40\x5c\x15\x7c\xa4\x27\x74\x11\x08\xd3\x3e\xd0\xb7\xa3\xf5\x34\x38\xce\x6b\x72\x5c\x6d\xd5\x81\x4a\xf5\x1c\xfa\x45\xdb\xce\xd5\x57\xf7\x26\xdb\x13\x0d\x55\xcd\xe7\x53\x3b\xc2\x09\x2d\x6b\x69\x9c\x2c\x87\x0a\xf2\x82\x73\x1e\x18\xd6\x51\xae\x85\xb3\xdb\x4b\xa0\x28\x53\xf8\xc8\x7f\xd5\xe3\xab\x69\xbc\x57\xb0\x8b\x81\xf8\x3c\x23\x9c\xcf\x22\xe8\x17\xe2\xad\xa4\xd0\xad\x14\x48\x7e\xd1\x46\x12\xc8\xb0\x97\x3e\xc0\x65\x0a\x55\xf6\xbf\x9a\xf4\xae\x92\x56\xad\x35\x46\xa3\xf6\x7d\xd3\x5d\x98\x7e\xf2\x19\x09\xa9\x4c\x50\xf0\xef\x06\x40\xe7\x55\xb1\xc4\xe1\xa0\x12\xaf\x0d\x31\x76\x6e\xeb\x5d\xf3\x1c\xd1\x04\xc6\x4e\xb6\x2e\xb4\xef\xb1\x39\xcf\x30\x57\x69\x40\x1d\x21\x3f\x96\xa4\x88\xd5\xee\x7e\x3c\xe3\x2b\x01\x92\xee\x8f\x08\x31\xbf\xbe\x8f\xe9\x5d\xe9\x56\x88\x6b\x52\x4d\x33\x19\xb7\x3f\xd5\x6d\xc6\x0e\x9f\x1c\x72\xd7\x81\x55\xa9\x7c\x6f\x43\x69\x7b\x20\x46\x6b\x3e\x7a\xeb\xd3\x57\xb9\x16\x96\xe7\x34\x8f\x45\x99\xb3\x4f\x35\x91\xed\xdf\xce\x2a\x7b\xd8\x49\xab\x16\xf7\xb4\x3e\xbb\x16\xe2\x3d\x6f\x52\x10\xef\xa3\x0a\xb3\xba\x8d\x32\xc4\x06\x62\xb8\x66\x2f\xd9\x11\x54\x4b\xc2\x45\x8c\x65\x69\xef\x75\xa9\xb9\xdf\x6a\x0f\x6d\x80\xd6\x58\xba\x86\xb2\x41\xca\x19\xce\x9a\x6f\xcf\x01\xd3\xda\xa9\x5a\xfb\x59\xc3\xd8\x9a\x18\xb9\x48\x62\x13\x94\x32\x7f\xc5\xe9\x20\xa7\x5f\x98\xf5\xe2\xb3\xd6\xc9\x5f\xd8\x52\xad\xf5\x67\xb6\xd3\x7c\x54\xd2\x97\x08\x56\xa5\x99\xf7\x49\xe2\xc5\x5d\xac\x7c\x23\xe3\xfb\x1a\x63\xbb\x4c\xc4\x7b\x8b\x94\xf3\xd5\x89\xac\x4b\xee\xf0\xaa\xd4\xe6\x29\x2f"}, -{{0x58,0x58,0x71,0x94,0x1c,0xc2,0x82,0xe3,0x33,0xd5,0x7b,0xbf,0xc3,0xd4,0xae,0xda,0x86,0x2c,0xfa,0x0a,0x37,0x50,0x30,0xcd,0x59,0x4b,0x36,0x92,0x84,0x8c,0x5f,0x00,},{0x4f,0x34,0x38,0x16,0xcd,0x48,0x05,0x0b,0x67,0x8d,0x3a,0xdf,0x70,0x00,0x88,0x77,0xc9,0xfc,0xf5,0xcb,0x66,0x2c,0xc4,0xad,0x2b,0x93,0x86,0x4c,0x02,0x09,0x07,0x07,},{0x29,0x88,0x56,0xe5,0x70,0x18,0x8a,0xef,0xca,0xd8,0x1b,0xb9,0x70,0xf0,0x76,0x96,0x57,0x70,0xc2,0x67,0x62,0xfe,0x29,0xe6,0x55,0x4d,0xc7,0xaf,0xcd,0xb8,0x01,0x72,0x3b,0xf6,0xc7,0x63,0xb4,0xcc,0xd6,0x5f,0x4e,0x15,0xd7,0xd8,0xea,0x38,0xfc,0xf6,0x7e,0xa9,0xd2,0x85,0x90,0xc7,0x92,0x55,0xc1,0xcf,0xeb,0xa7,0xb5,0xe4,0x5a,0x00,},"\x65\x1c\x10\x1b\x3e\x2d\xfe\xf0\x78\x3c\xe9\xf6\x1b\xd0\xa8\xbd\xc9\x30\x7a\xc0\x48\x8b\x9d\xd7\x0c\xd9\x0a\x7e\xd8\xf1\x79\xa7\x89\x35\x55\x62\x95\xb9\x1c\xc2\xb9\x72\x11\xe3\xb9\x81\xb8\xda\xfc\xb3\xd0\x6b\x76\xd0\xb6\xed\xa7\xfc\x61\x94\x5c\x0e\xe2\x65\x2c\x5a\xc4\x54\x25\x64\x96\xcb\x82\xf9\x8c\xc1\xcc\x92\xd8\x18\x93\xb1\x08\x2b\x31\xb4\x7e\x6d\x22\xa2\xde\x60\x9d\xe4\xce\x8d\x7c\xc4\xf4\xa1\x52\xc4\x7f\x41\x0d\x7f\xc3\x7d\x38\xcc\xd6\x29\xa4\xb3\x3e\x62\x21\x89\x60\x81\x79\x7d\x07\x53\xdd\x4f\xaa\x8a\x8b\x44\xd6\xc4\x67\x71\x66\xdf\xb4\xd5\x21\x54\x46\x36\x0a\x3c\x28\xd8\xf6\x8e\x38\xab\x54\x60\x8b\x98\x82\x1b\x83\xc1\x87\xb5\x39\x3a\xd8\x74\xa7\x6f\x4f\x5d\x72\x94\x93\xa1\xfd\x74\xcc\x77\x19\xca\xea\x99\x1d\x22\x9c\x5d\x0c\x8c\x4c\x5f\x89\xd8\xe4\x34\x5f\x4f\x52\x21\x43\x13\x41\x0b\x8c\x06\xb3\x31\x5f\x45\xed\x0c\x2f\x91\x38\xab\x96\x6a\xec\x0a\x64\x5b\x6d\xba\x76\x38\x0a\x53\x91\x23\xe0\xf3\x3b\x97\xf3\xd0\x60\x39\x4a\x30\x53\x58\x1f\xfd\xef\x3e\x6d\x36\x53\x11\x66\xb5\x53\xa9\xdd\xe0\x31\x05\xc0\x4a\xf6\x97\xd9\x5e\x95\x21\x7f\xd6\xdc\x96\x8b\xf3\xb4\x48\xd5\xf3\xa8\xe4\xf5\xae\x7e\xdc\x30\xec\x78\xb1\xae\xa4\xf0\xdb\x18\x9a\x94\x9a\x12\x21\x38\xcd\xfb\x5f\x96\x93\xdb\x00\x4b\xae\xd1\xa4\x21\xdc\x44\x12\x2f\x32\x72\x87\xf7\x27\xcf\x98\x9f\xca\xe3\xcf\x3b\xe3\xe3\xdd\x9b\x9f\x53\x50\x2c\xf5\xd9\xfb\x18\x6d\xe7\x91\xd3\x10\xd1\x22\x86\x9c\x9f\xc3\xb6\x95\xde\xc1\x60\x74\x77\xf3\xe1\x49\xe5\x2b\x63\xcf\xdf\xb0\xd9\x83\xe8\x9a\xf2\xf7\x5a\x8f\x48\x98\x43\xec\x05\xc5\xea\x5f\x0e\x72\x1a\xca\xb3\x87\xc6\x80\x25\xf2\x0a\xbe\x0d\x27\xb4\xce\x29\xf4\xa6\x4f\xb7\xf8\xe8\xa3\x32\x87\x3d\x3e\xd1\x21\xfb\x49\x34\x14\xb8\xcb\x0c\x00\xad\x3a\xb6\x16\xc5\xbe\x52\x41\x47\x1a\xde\xe9\xf8\xf4\x69\x74\xea\xe8\x4a\x4a\x8c\xe6\xfa\xbb\x7f\x5d\x9a\x6b\x75\xa7\xe6\x70\x45\x6f\xcd\xcd\x1d\x98\x2e\x8f\x82\x7a\x4b\xbb\x69\xde\xc7\xe3\x05\x3d\xfe\x83\x5b\x70\x30\x1b\x7b\x76\x3f\x00\x04\xbc\x90\x6e\x14\x55\x42\xf4\x87\xb4\xdb\xa2\xed\x56\x1b\xd1\xa2\x03\x06\x23\x6a\xf4\xb3\x6e\x40\x68\xe8\xc0\x07\xb9\x45\x4f\x87\x41\xa5\xf8\xf0\x79\xec\x1d\xb8\x83\x5e\xb6\x54\x42\x90\xd6\xad\xb5\x2a\x70\xd7\x67\x5d\x85\xdf\x4a\x9a\x12\x55\xbf\xd9\x36\xc3\x31\xfe\x51\xc0\x97\x7d\x12\x4b\x5a\x50\x6d\x29\xc6\xee\xc3\x3c\xaa\x25\xd8\xeb\x28\x95\x2d\x6f\xfb\x9d\x6e\x3d\xa8\x90\x38\x2d\x88\x87\x96\xd3\x74\x60\x7f\x66\x43\xb8\x9e\x73\x26\xd9\xed\xc4\x9a\x0f\x53\xbd\xcb\x8c\xc7\x6f\xfd\x39\x3a\x77\x06\x52\x2d\x04\x17\x00\x36\xcc\xb6\x63\x30\xdb\xac\x9d\xa7\xe6\x16\x8c\xaa\x88\xcb\x62\x18\x1e\x55\xa7\xb6\xd5\x21\xa2\x11\x5e\x23\xe2\x02\xee\x24\x80\xb5\x87\xbe\x45\x01\x44\x79\x79\xa8\xd7\x36\xf9\x01\x2e\xcf\x00\xe6\x7b\x31\xe8\x10\x4f\x6e\x7d\xf0\x8a\x96\x83\xcd\xc8\x9c\x03\xa4\xe3\x7e\xe2\x29\x28\xd4\x5f\xa1\x90\x94\xe0\xd6\xe7\xb4\x0b"}, -{{0x05,0x88,0xac,0xd4,0xe0,0x9b,0xa9,0x02,0x74,0xc8,0xf3,0xd1,0x57,0x5b,0x2b,0xf3,0x64,0xa7,0x76,0x88,0x4a,0x9a,0xeb,0x41,0x03,0x41,0x5e,0x16,0x3b,0xa0,0xbf,0x81,},{0x3e,0xca,0xe6,0x97,0xb4,0x25,0xd8,0x7e,0x34,0xa1,0xd9,0x44,0x09,0x8e,0x3d,0x32,0xe2,0xc1,0xec,0x56,0xc3,0x62,0x7d,0xf8,0x0b,0xa2,0xb8,0xa4,0x3d,0xdc,0x19,0x03,},{0xa1,0x11,0xb9,0x70,0x6d,0x24,0x2c,0xd3,0x6d,0x6e,0x87,0x41,0xcb,0xb0,0x97,0xb9,0xe2,0xff,0xfa,0x40,0xf4,0x3f,0xd6,0xf2,0xd3,0xd9,0x16,0x93,0x66,0x73,0x32,0xb5,0xf2,0xdb,0x5e,0xe3,0xea,0x20,0xb8,0x32,0x91,0xb8,0x40,0x57,0x95,0xb7,0x4d,0x63,0x3d,0x46,0xf4,0x75,0xab,0x7c,0x47,0x61,0x71,0x18,0x53,0x5b,0x80,0x51,0xd9,0x07,},"\xf8\x28\xf8\xc9\xda\xd2\x98\xc5\xb7\x19\xda\xa8\x52\xb1\x7e\x76\x25\x98\xa7\x0f\x4e\xcd\x16\xa2\xfc\x59\x6e\xb0\x26\x38\x99\xe9\x83\xd4\x4e\xdc\xc7\xbd\x24\x0c\xb0\x76\x10\x60\x0a\xe9\x6a\xac\x0d\xfc\x3b\xe3\x87\xb6\x16\x85\x08\x99\xb5\xcf\x44\xe1\x76\x7f\xfa\xca\x3d\xf3\x81\x58\x59\x84\x24\xf8\x07\x14\x14\xc7\x04\xe6\x0b\x42\x2a\xd7\x73\x77\xfa\x7f\x6a\x8c\x5d\x0e\xbc\x02\x35\xe2\xd4\x3a\x98\x4f\x3a\xdf\x75\x9e\xb1\x04\x47\xf3\xc2\xf6\xb8\x0d\x5a\x11\xef\x41\xd3\xa0\x98\x52\xc0\x93\x2a\x1b\x9a\xc2\x3e\x6f\x40\xa1\x67\xde\x21\x04\x1b\xec\x88\x85\xf9\x43\x3e\xb8\x0b\x95\xc9\x78\x59\x58\x04\x6c\xdb\x7b\xf1\x47\xa7\x99\x47\x82\x3b\x41\x49\xae\x05\x21\xd7\xe5\xaa\xbc\x15\x64\xfa\x40\x44\x10\x6e\x2e\x39\x2e\x9c\x34\x44\x57\xe9\x92\x93\x76\xea\x9b\x42\x29\xc6\xe7\x73\x8f\xe7\x90\x08\xd5\x54\xc4\x29\x39\x69\x14\xc3\x63\x87\xf5\x79\xb4\x6b\xab\x14\x6f\x6a\x95\x10\xeb\x6f\x8c\x85\x55\x1c\xbd\x84\xc7\xdc\x0d\x0b\x1c\x01\x0c\xcb\xa5\x96\x3a\x7f\x39\xf1\x81\xe4\x4d\xbc\x98\xe4\x95\xaa\x63\xc0\x10\x59\xcb\xe6\xa9\x9b\x07\xb4\x49\xe7\x75\x9c\x9a\xf9\xe0\xf8\xd9\x05\x4a\x67\xa3\x48\xfa\x19\xd7\xf9\x1e\xc0\xa4\xd4\xf2\xc7\x02\x6c\x3b\x84\x92\x59\xa3\x50\x41\x7f\xd8\x6c\xab\x21\x42\xe4\xcf\xe3\xc0\xaf\xbf\x25\x18\x2a\x2d\x52\xbd\x2e\x0b\xc9\x20\xe8\x50\x80\x83\x2b\x91\xb9\x27\xb6\x29\x48\xa6\x7c\x31\x7e\xb0\x90\x91\x46\x1d\x49\x3e\xea\x5f\xfc\x47\xbf\x08\x55\x82\x96\x82\x58\xa3\xc8\xdd\x81\xa8\x58\x27\x0b\xdd\xaf\xe7\x92\x56\x84\xa1\x5f\xfb\x51\xbc\xfa\xab\x93\x1a\xfa\x46\x5e\x30\x90\xe8\x6b\xe4\x1e\x35\x47\xcb\xa2\x34\xb8\x5f\xe7\xdb\x70\x04\x96\xa5\x05\x00\x2d\xf3\xca\x4e\xae\xc7\xb9\x62\x78\xc7\xd1\xa7\x7d\xb8\x34\xa9\x17\x97\xbb\xb8\x26\xd0\x92\xaa\x28\xb4\x95\x45\xed\x3b\x1e\xda\x23\xbe\x11\xa3\xf5\x28\xb9\x55\xcb\x0c\x4f\xa6\x6e\x16\xe9\x57\xe5\x70\x4c\xf3\x19\xe5\xf7\x9c\xc0\x9f\x2d\x05\x4e\x6d\xaf\x19\xe2\x92\x6b\x11\xe1\xe4\x13\xff\x82\x2c\xa1\x41\xf7\xc3\xd3\x85\xae\x95\xdd\x20\xb3\x46\xe5\x83\xcf\xb0\xc2\x29\xec\x39\xcf\x88\x9a\x54\x19\xcd\x37\xbc\x18\x4e\xf5\xfb\x14\x46\x22\x08\x0a\x30\x2d\x9d\x77\x45\xc4\x51\xf7\xd8\x82\x42\xcc\x26\xb9\x16\xa3\x56\x9a\xbc\x7d\x1f\x21\x6d\x57\x79\x7a\x47\x2b\xc6\x21\x76\x17\x58\xe8\x40\xeb\x8e\x29\xbc\x8e\xfc\xb7\xaa\xfc\x7c\xf8\xf4\xe5\x93\x30\xd3\x5e\xe1\x07\x49\x6d\xec\x6e\x71\x4b\x1f\xa4\x30\x98\x37\xbb\x47\xeb\x3a\x06\xb4\x60\x4d\xd2\x07\x33\xcc\x0e\xaa\xc2\x64\x9e\x18\xc0\x73\x42\xef\x55\xd1\x9b\x8d\x03\x95\x91\xac\x28\x69\xac\xc3\x4b\x6c\x3c\x1c\xa3\xcf\x26\x3f\xf8\x4c\xa4\x3a\x5f\x64\x65\xba\x34\x88\x8c\x10\x90\x13\xb3\x2b\xfc\x0d\x0d\x15\xf5\xa7\x6c\xec\x27\x0a\xb3\xac\x9a\x10\x63\x31\x31\x2f\x5a\x0a\x84\x28\x2c\x3a\x3d\x4a\xea\x1e\x7c\xf5\x3d\xbf\x8b\x24\x0b\xdd\x11\x1c\x34\xd2\xa9\x3d\xfd\x12\x58\xfe\x92\x67\x13\x3f\x75\x54\xdc\xc2\x1a\x8f\x43\x9c\x16\x5d"}, -{{0x7d,0x14,0x02,0x3e,0xb4,0x8b,0xbd,0x43,0x76,0x49,0xa2,0x41,0x87,0x79,0x05,0xa3,0xc9,0x32,0xf1,0x46,0x40,0xf2,0x9a,0x0f,0xb1,0x34,0x11,0x4e,0x8f,0x33,0xf5,0x82,},{0xea,0x5c,0x11,0xb4,0xb2,0xc5,0xef,0x4a,0xb7,0x06,0xcc,0xa3,0x47,0x50,0x43,0xc9,0x58,0x18,0xeb,0x56,0x5a,0x79,0x7e,0x33,0x68,0x8a,0xfe,0xac,0xd6,0x8a,0xdc,0xca,},{0x31,0x33,0x9d,0xce,0x23,0x33,0x6d,0xf5,0xb2,0xb1,0x93,0x52,0x2a,0xa3,0xdd,0x2d,0x41,0x14,0xa6,0x6a,0xf1,0x65,0x62,0x89,0xc9,0x52,0xbc,0x11,0xc9,0xb2,0x10,0xf7,0x7a,0x54,0xd4,0x61,0x61,0xf4,0xe0,0xc5,0x2b,0x30,0x13,0xe4,0x0b,0x9e,0x9e,0x84,0x27,0xd8,0x51,0x32,0x5b,0xd7,0x1c,0x4d,0x99,0x35,0x3e,0xee,0xd7,0x51,0x08,0x0d,},"\x90\x01\xdb\x31\xf2\x79\xbe\x50\x53\x19\xb8\xe7\x2b\xde\x11\x99\x51\x29\x80\xdf\x65\xf0\xd8\xa9\xb4\x93\x04\x67\x41\x3a\x99\x7b\x97\xa3\x62\xb5\x72\xa4\xb4\x4b\xc9\x40\x48\x7f\x18\xb2\x08\xce\x6a\xc5\xc6\x87\x16\xd3\xaf\x1b\xce\xf1\x70\x38\x3b\x5c\x4b\x5c\x47\xe4\x47\x37\x72\x6f\x93\x83\xbc\x4f\x14\x47\x68\xbf\x5c\xaf\xb4\xe9\xdf\xe3\x97\x61\xe6\xed\x47\x89\x71\xd1\xc7\x0e\x6d\xab\x2f\xd0\x49\x9d\xff\x92\x93\xb2\x39\xd1\x6c\x96\x02\x61\xc6\x82\x18\xb9\xf5\xb1\xbe\xe6\x90\xf0\xd2\x40\xc1\xb3\xdb\x71\x1f\x9e\x82\x1f\x08\x09\xbb\xeb\x9a\xaf\x24\x9c\xcb\x16\x8c\x67\xd9\x65\x56\x2d\x24\xf8\x48\x51\x61\x40\xbf\xd9\xfc\x05\x0d\x4f\x20\xda\x5a\x17\x94\x46\x8a\x9c\x07\x25\xea\x5c\x66\x9d\x5c\x63\x0d\x93\x10\xe5\x74\x51\x07\xda\xd3\x72\x61\xb5\xd9\x1e\x38\xe0\x85\x12\xe6\xf3\x73\xec\x5d\xca\xd5\xca\x09\x07\x29\x07\xc8\xfb\x7b\xf3\xb9\x26\xc3\x33\x94\x90\xb3\xf5\x1f\x76\x44\xe7\x3a\xe2\xec\x01\xd6\x1b\xe7\xc6\x52\x65\x36\xb4\xff\xd1\xab\x68\x49\xfe\x0c\x2f\x40\xd3\xbd\xa2\xa4\x9e\x55\x50\xb8\xdf\x97\x90\x81\xda\x85\x16\x8d\x0f\x71\x58\x2b\x90\x36\x77\x52\x6d\x1f\x1b\x15\x11\xe1\x38\xb6\x84\xfc\x46\xaa\xc8\xbd\x80\xc3\xde\xf7\xee\x81\x38\x19\x04\x61\x80\x7c\x55\x36\x12\x5c\xb0\xe2\xc3\xd0\x83\xa1\x87\xc7\x26\x9c\xb5\x31\xec\x36\x78\x78\x7b\x32\x55\x5c\xf0\x4a\xb0\x93\xc9\x00\x2e\x7d\x79\x2b\x4d\x93\x3f\x2e\x30\x70\xf3\x9a\xc8\xcc\xf8\xd5\xf5\x45\x5f\x12\x10\x9d\x8a\x8a\xeb\x4e\x21\x2f\xad\x4a\x70\xb1\x47\xc0\x4a\x7b\x91\x84\x60\xb1\x31\x63\x76\xe6\x40\x20\x85\x95\x17\xeb\x7e\xe3\x0c\x29\x0b\xe8\xb8\xd6\xf9\x67\x39\x15\x25\x6c\x3b\x04\xb9\xd9\x05\x4b\x52\x33\x8e\x0d\x36\x07\x85\xe4\x6a\x18\x28\x44\xc5\xc3\x76\x6a\xea\x8e\xd3\x11\xb2\xd4\x81\xc0\xb7\xb2\x11\x4e\x41\x8e\xd1\x7f\x8d\xeb\xf0\x1a\x83\xff\x37\x51\x70\x24\xee\x9e\x28\xe0\xc9\x0d\xce\x6d\x05\x9f\xfe\xe4\x13\xd2\x7c\xd6\x27\x83\xa8\xb8\xb5\x01\x6a\xd2\x76\xe3\x9d\xfd\x8f\x8f\x3d\xdf\xc4\x28\x10\x18\x18\xce\x50\x7f\x00\x3e\xb5\x8c\x9a\x5c\xc8\xb1\xaf\xf0\x5a\xab\x8f\x0d\x7f\x1d\x1f\x6d\x4b\x87\x1d\xbc\xed\x1f\x3d\x28\x66\x23\x97\x52\xfb\x13\xf6\xe1\x80\x34\xbb\x2b\x5a\x66\x35\xca\xa6\xec\xc4\x62\xe0\x58\xeb\xe2\xfa\x65\x1d\x3d\x0f\x36\xe2\x0a\x31\xf7\x65\xe4\xb9\x58\x27\x0b\xd8\x25\xc6\x81\x8a\xac\x1a\xd7\x56\x31\x35\xae\xed\xf1\x4a\x2b\x6d\x39\x8b\x6e\x34\x00\x84\x01\xb2\x18\x46\x18\x20\x07\x1c\x5a\xf7\x78\x46\xcb\x9c\x32\x81\x90\xc0\x61\xd5\xaa\x6e\x0e\xcd\xe7\xef\x58\x56\xb0\xe6\x81\x4f\x83\x3f\x70\x40\x96\xdf\x08\x25\xfa\x4b\x46\xdc\xda\xcf\xa2\x7c\xd8\x7b\xd7\xbf\xef\xf7\xf8\xca\xe1\x66\xa3\xa0\x4d\x43\x7c\x7b\xe7\x16\xc4\x90\x45\xc7\xbd\x3d\x13\x49\x62\x7c\x9c\xbd\x04\xc1\x5f\x00\xa6\x96\xe3\xcf\xfb\xb4\x5a\xf2\x91\x22\x62\x7e\x7e\xd3\x3b\x42\x49\x91\x3b\xec\x00\xf0\xe2\x8a\xa1\x12\x98\xcc\xe8\xb6\x49\x08\x1f\xe3\xb1\x69\xb4\xaa\xea\xca\x48\x5b\xda"}, -{{0xe8,0x30,0x6b,0xad,0xa6,0xd5,0x5e,0xb1,0x88,0xd9,0xf7,0x5c,0x81,0x5c,0xc9,0x14,0xe9,0x3c,0x9c,0x72,0x22,0x39,0x1c,0x15,0xbb,0xae,0xaf,0x93,0x54,0x43,0x79,0x35,},{0xbf,0x27,0x98,0xb8,0xe5,0x54,0xf5,0x1e,0x22,0x86,0xc3,0x03,0x4a,0x88,0xe5,0x77,0xff,0x23,0xfa,0x32,0xa6,0x72,0x44,0xea,0x82,0x45,0x91,0x2e,0x8b,0xf4,0x6d,0xa4,},{0xcc,0x66,0x27,0x30,0x8e,0x2f,0x42,0x43,0x83,0xfa,0x70,0x59,0x4f,0x57,0x57,0x91,0x60,0x05,0x40,0x02,0x7a,0x27,0x51,0x61,0x9b,0x28,0x3a,0xff,0xea,0xeb,0xc9,0xc9,0xd2,0x9a,0xc6,0xdb,0x28,0x6d,0xd2,0xc1,0xb5,0x96,0x58,0x7b,0x87,0x8d,0x1d,0xf4,0x78,0x1d,0x43,0x6b,0xb5,0x70,0xc1,0xc0,0xf0,0xd3,0x33,0x68,0xdc,0x66,0x52,0x0b,},"\xd7\x04\x38\x09\xc3\xe3\xdc\x00\xb1\x7e\xfd\x52\xc9\x13\x0b\x11\xb7\x86\xf1\xe2\x57\xb5\xe2\x2f\x81\xa7\xfa\xae\x60\x0b\xbc\xdf\xd5\x18\x53\x7f\xe8\x52\xc6\x42\x35\x97\x62\xfb\x75\xe8\xad\x85\x92\x49\xe6\xab\x49\xce\x1b\xb0\x4f\x24\x92\xf2\xaa\xc3\x54\x46\xba\x6e\xb0\x3e\x76\xde\x3a\xbd\x2d\x5f\xc7\xe6\x14\x68\x43\xad\xd0\x42\x86\x0a\x4a\x16\xb5\x9b\xdd\x7d\x03\x83\x78\xa3\x5e\x1a\x04\xb1\x21\x7a\x55\x71\x0d\x93\x7e\x2c\x90\x32\x23\x2e\xa2\xcd\xd1\xd2\x5a\x0b\xff\x71\xef\x5d\x3e\x0c\x05\x6b\x29\xcb\x92\xf6\xdf\x69\x2b\xde\x14\xdf\xa5\x0e\x13\x2b\xeb\xd8\x9e\x9f\x18\x33\x88\x0b\x65\x7a\x78\x1e\x94\xec\xb6\x03\x04\x17\x56\xe5\x51\x7d\x44\x23\xc5\x6f\xad\xc1\x3e\x2b\x31\x80\x88\xfe\xdd\xf3\xb5\xc8\x3c\x20\xb4\x6f\xdd\xbb\xa9\x23\x05\xe4\x86\x06\xda\xb7\x48\xce\x38\x48\xb8\x43\xf4\x71\x1f\x37\x0c\x3e\xc7\xd5\xe1\x9a\xb4\xc0\xac\x1a\xe1\x5a\xaa\xf2\x3d\x65\xfe\xce\xda\xbc\x08\x04\x9b\x9e\x29\x11\x3e\x57\x61\xed\x9d\x1c\x62\xeb\x07\x5c\xab\xb2\x67\x4c\xdb\xe1\xe3\xa8\x89\xba\xe4\xb1\xdd\x31\xb6\xa5\xb2\xea\x1b\x8d\xed\xcc\x3c\x51\x5e\xdc\x44\x67\xc3\x02\x31\x17\x6c\xd4\x4b\xec\x8a\x05\x79\x51\xab\x5c\xd3\x9a\x96\x23\xf8\xaf\x84\x73\xcd\x27\xd9\x33\x02\xbf\x8a\xa6\x24\xc9\xc3\xc5\x79\x9d\xa1\xdc\x49\x44\x94\xef\x8f\xf1\xdb\xe0\x18\x7e\xa5\x16\x26\x70\xb8\xd0\x98\xc3\xa9\x49\x19\x39\x8d\xad\xf7\x9e\x6c\x24\x91\xc4\x44\x39\x2c\x29\xcd\x50\xd5\x74\x35\x06\x32\x90\x84\x2b\xfa\x0e\x85\x30\xfa\xeb\xc0\x06\xd6\xea\x78\x01\x11\x7e\x0a\x3f\x01\x9e\xe2\x8f\xb3\x79\x22\x35\x40\x2e\x2f\x69\xb8\x7a\x43\xdc\x22\x7f\x9d\xe3\x16\x02\x97\x56\xc3\x16\x7d\x64\xa3\xa3\xf6\xd7\x31\x60\x33\x1d\x5a\x18\xee\xe5\xb0\xe6\xe2\x2a\x66\x3e\xfd\xcc\x8d\x67\xaf\x3b\xce\xd0\x41\xea\x84\x3a\x56\x41\x60\x3e\xc7\x2e\xfd\x64\x4e\x17\x3d\x19\x9a\x8c\x83\x0b\x2e\xa5\xfe\xc0\x37\x80\x27\xc3\x72\x25\xaf\xcb\x60\x4c\x4c\xdc\xf4\x09\xbe\x1c\x50\x9c\x9a\x37\x7b\xe0\xd0\x52\x41\x07\xc6\xd9\x2b\x5f\x09\xa2\x9e\xfb\x71\x09\x29\x56\x70\xbb\x1a\x1d\xd3\xea\x00\x8b\xb7\x91\x85\xf0\x9b\x98\xf0\x20\xc4\x3f\x14\x39\x68\x5b\x96\xf6\x19\x93\x11\xa0\x90\x87\x0f\x0d\x9b\x10\xd4\x95\xcd\x41\x0a\xa9\x5b\x7e\x53\x74\x9b\xe3\xa6\xc0\xfb\xc7\x29\xf9\x6c\xf8\x56\x43\x97\xb0\x9c\x13\x51\x40\x16\x82\x5f\x72\xf1\x4e\xb9\x32\x94\xd7\x01\x0a\xcc\xfd\x11\xf1\x7a\x6a\xc8\xf5\x44\x26\x3d\x60\x38\xd5\xc7\xdb\x29\x48\x62\x91\xb3\x0e\xa4\x9b\x6b\x54\xcf\x88\x82\x6d\xd2\x52\xcd\x9d\xbb\x57\xd8\x41\xb5\xa4\xcf\x70\x2a\x32\x64\xfa\xa4\xdc\xcc\x86\xab\x14\xda\xf1\x24\xef\x3d\x53\x35\xa6\x87\x8d\x06\x5c\x6b\xa2\x99\x91\x04\x57\x65\xee\x55\x42\xcc\x9f\x5d\x9f\x35\x4d\xcd\x2c\x6e\x0c\xf7\xff\x3a\x30\xf6\x49\xb5\x91\x2d\x97\x1d\x63\x35\x78\xf1\xe9\xf2\x63\x87\x4d\x05\x65\xc2\x47\x30\x1d\xcb\xd1\x5d\x76\x21\x1a\xe2\xd3\xd5\x06\xfc\x64\xde\xb7\xe0\x42\x56\x5d\x43\x8e\x2b\xfb\x24\x92\x43\xb7"}, -{{0x36,0x3c,0x1e,0xa7,0xc3,0x2e,0xa3,0x28,0xa0,0x55,0xaf,0x7b,0xd8,0xb3,0xbf,0xd2,0x04,0xfb,0x0b,0xbd,0x4b,0xf4,0x2f,0xfe,0x26,0x2f,0x3a,0x5e,0xbd,0x54,0xda,0x55,},{0x7a,0x83,0xec,0xca,0x51,0xef,0x6e,0x5a,0xa0,0x43,0xa5,0xce,0x04,0xd9,0x28,0x8a,0xdd,0x49,0xa2,0x77,0x54,0x8b,0xd3,0x01,0x6b,0x69,0x3f,0xfa,0x79,0xa2,0x2e,0xdc,},{0x5f,0xd1,0xe5,0xf9,0x92,0x2a,0x12,0xf6,0x36,0xb7,0x2a,0x7d,0x62,0x17,0x09,0x1f,0x94,0x8a,0x55,0xbc,0xb1,0x82,0x6b,0x8f,0xca,0xf9,0x9d,0x26,0x41,0x6c,0x7a,0xb1,0x35,0x1c,0x10,0xf4,0x09,0x3f,0xfd,0x8a,0x2a,0xf8,0x69,0x14,0xa0,0xa9,0x81,0x84,0xec,0x7e,0x06,0xd2,0xde,0xe8,0x7f,0xdc,0x0f,0x4a,0x47,0xf8,0xc6,0x3c,0xf5,0x01,},"\xc4\x1c\x1e\x1f\xb7\x59\x54\xa0\xae\x0e\xbc\x29\x09\x0b\x9f\xc5\x33\xe6\x93\xe7\xc7\x10\x5c\xfe\x40\xef\x52\x6e\x4e\x12\xa7\x40\x52\x21\xf2\x18\xc7\xac\x01\x9e\x1d\x4c\x92\xda\x28\x53\xf2\xd7\x26\xaa\x62\x27\x79\x24\xdf\x0c\x34\x3f\xc3\xd4\x7c\xd5\xa9\x9a\x3e\x27\x9b\x26\xa1\xb1\x3b\x1f\x2a\xa3\x6f\x7c\xcb\x4b\x54\xfb\xef\x18\xbd\x87\xa5\x5f\x1b\xc4\x0c\xe7\xb2\x02\x91\x45\xee\x7a\xab\x39\x17\x95\xac\x68\xde\x61\x99\xf5\x05\x94\xfc\x79\x61\x1b\x85\x13\x1c\x14\x30\x21\xf2\x6f\xa3\x58\xda\x0c\x7c\x6a\x65\xdd\xe0\x76\xda\xb4\x88\x67\x5b\x72\x23\x09\xe5\xed\x97\x46\xd1\x8a\x89\x30\x99\x06\xa7\xa9\xdf\x23\x7d\xd2\x7b\xd5\x90\xcc\xc7\x7c\x40\x2e\xf6\xe1\x9c\xa6\x3c\xc8\x6b\x85\x16\x03\x30\xee\x6e\x1f\x1f\x47\xa2\xff\x80\x7e\xef\xad\xc0\x09\x63\x52\x0a\x1c\x60\x0a\x3e\x45\xaa\x7f\xb2\x55\x4f\x47\xd8\x97\xbd\x86\xd8\x1c\x3b\x08\x77\x10\x12\x22\xfa\x78\x50\xb8\x0c\xe3\xbc\x06\xc9\xe5\x8c\x0c\x96\xe3\x2f\xec\x85\x30\xc9\xfa\x1e\x41\x63\xf0\xef\x84\x56\x95\x2b\xf6\xdd\x58\x04\x5a\x36\x3d\x61\x88\x0e\x9a\xc9\x76\xa3\x60\x3e\xf7\x7a\x4c\x39\x5e\x6a\x07\xe3\x42\xf6\x02\x3b\x8a\xf1\x02\x25\xcf\xf2\x40\xef\xc0\x36\x6a\x79\x9f\xd8\x6e\x9d\x06\x20\x60\xd8\x72\x40\x33\xbd\xf6\x75\x88\xcd\x73\xac\x28\x4d\xe4\xc6\x94\x3c\xf4\x5e\xe4\xf7\x5f\x59\x37\xd9\x7d\x78\x10\x5f\x0b\xbe\xce\x04\xd3\xdc\xb5\xe4\x24\xef\xf8\x9b\x77\x3e\x5d\x6b\x4f\x37\xef\xa9\xa0\x65\x4c\xb3\xef\x34\x52\x78\xa6\x2d\x87\x6c\xfe\xf9\xa3\xdc\xdc\xeb\x70\x81\x44\x18\x77\xeb\xd5\xfa\x30\xc9\xd9\x54\xe3\x68\x4f\xa4\x76\xa4\xf4\x85\xd4\x26\xfd\x3c\x8c\x32\xbe\xa0\xf9\xcc\x20\xb1\x5e\x8f\xdf\xc3\xca\x4b\x30\x2c\x07\x4f\x50\x81\x32\xd1\x5d\xe6\x25\xc1\x0a\xe0\x73\x78\x11\x46\x3d\xcc\x55\xfc\xc4\x01\x4b\x20\x20\x8f\xff\xce\xfa\x9d\xd4\x52\x11\x9b\x16\x52\xde\x41\x34\x8f\x69\xf2\xc4\x88\xf5\xcc\x18\x56\xd6\xe7\x8a\x5c\xbe\x3e\x37\x3d\xd4\x59\x8e\x2d\x39\xf8\x76\xeb\x94\xe0\xb0\x1b\x21\xfa\x91\x29\xef\x41\xb6\x39\xf4\xe0\x5e\x69\xde\xb1\x83\x5e\xd4\x4b\x91\x12\xa6\x86\x2a\x5b\xce\xa0\x72\xc6\xe1\xb8\xf0\xf0\x58\xf4\x6b\xac\x2a\x84\x5a\x58\x2d\x14\x8f\x17\x76\x0b\x9e\x0a\x2b\xa6\x0b\xbb\xf3\x88\x4a\xf9\x4d\xd4\xc7\xec\x9d\xb0\x8e\x9a\x5b\xcc\x6d\xde\x13\x46\x44\x2e\xe1\xf4\x70\x7d\x1f\x79\xb6\x9b\xa8\x67\xf4\x18\xdc\x27\x91\x73\xf7\x7a\xdb\xc5\x8a\xb8\x5e\xa3\x93\xb9\xdc\x68\x26\x19\x00\xc1\xca\xa8\x2d\x2f\x50\x47\x4c\x42\xae\xc9\x11\x31\x42\x78\xc0\xaf\xfa\x2a\x6b\x6c\x36\xd1\xff\x88\xf3\xb4\x9f\xb2\xb7\xc3\x39\xd2\xa7\xc2\xb3\x04\x9f\x8c\x0a\x08\xd1\x6a\x9e\x8d\xf9\x3d\x13\x0d\xa4\x84\xbd\xba\x6d\xbe\xc5\x34\xcd\x51\x09\x7a\x04\x82\x21\x10\x6b\xab\x48\xd6\x7f\x95\x1b\x75\x05\xa1\x48\x48\x92\xb8\x57\x79\xc5\xa3\x11\x17\x02\x12\x4d\x95\x7a\xcf\x2d\xc3\x52\xef\x9b\xa2\x47\xbc\x80\xe2\xce\x96\x26\x9c\xe8\x5e\x78\xb9\xeb\xda\x98\x90\x76\xdd\x5f\xf7\x3e\x1e\xb2\x75\xe5\xd7"}, -{{0xdb,0x22,0x28,0xff,0xff,0xa9,0xd2,0x53,0x4a,0xef,0x91,0x8f,0xb8,0x5b,0x82,0x1a,0xd3,0x60,0xe2,0xd3,0x9d,0xec,0x5a,0xeb,0x2d,0xb0,0xdf,0x02,0x49,0x7f,0x94,0x16,},{0x6d,0x01,0x95,0x77,0x7f,0x81,0x05,0xff,0x52,0x3b,0x79,0xc5,0x9e,0x3c,0x30,0x81,0xfe,0x89,0xdb,0x6f,0x87,0x03,0x3f,0x09,0x4f,0xa5,0xa9,0x40,0xce,0xf8,0x4b,0xb4,},{0x82,0x18,0x9d,0x34,0x0b,0xc1,0x1c,0xea,0xa4,0x00,0x41,0x0e,0x08,0xba,0xe9,0xd9,0x01,0xaf,0x05,0x91,0x25,0xe9,0x53,0x78,0x6f,0x8a,0x04,0x3d,0xdf,0x11,0xf7,0xb2,0xf8,0xe3,0xb6,0x17,0xac,0xcd,0x78,0xe2,0x93,0x9a,0xdf,0xab,0xf2,0xd2,0x47,0x1f,0xaf,0xd6,0xf5,0xbc,0x45,0xb1,0x40,0x75,0xb3,0x28,0xe3,0x4d,0x80,0x75,0xb2,0x07,},"\xfc\x07\xcd\x99\x04\x0f\x13\xe5\xa8\x4f\x94\x74\x6d\x6b\xb8\x68\xf7\x52\xb4\x48\xb6\x2d\x99\x59\x3e\xf2\x9e\x43\xcc\x82\x45\xf0\x47\x0f\x65\x55\x2d\x64\x32\x20\xf6\x71\x92\x85\xe1\x5c\x37\xa6\xd1\x74\xae\xf7\x60\x88\xcc\xda\x5f\x88\x68\x5b\x52\xda\xe2\x84\xc6\x5b\x38\x0d\xa3\x45\xa2\xe1\xaf\x2e\xd7\x64\x80\xd2\x69\xcb\x93\x4b\x43\x17\x62\x0b\x79\x2e\xbb\x39\xb2\xa6\x78\x24\x7d\x6d\x81\x5f\x2a\x5c\xb9\xaa\x56\x0e\x4b\xf6\xde\xba\x4c\x0a\x0d\xdc\x82\xd0\xe5\xa5\xa6\x5a\xcb\xc4\x78\xe1\xec\x6b\x06\x4d\x7b\xb7\x38\x8a\x73\xf6\xed\xa3\x0b\x0b\x6b\x73\xdd\x8f\x87\x92\x63\xad\x1a\x03\x48\x67\x1d\xcf\x21\x1c\xb9\x6e\xd0\x8e\xd5\x2f\x33\x17\xda\x68\x18\x5d\x6b\xb2\x58\x9d\xc1\x1d\x75\x5d\x47\xa3\xb6\xf6\xa0\x38\x6a\x85\x94\xd9\x57\x0b\x2e\x9b\x0d\x4b\x5e\x13\xdc\xcd\x9b\xb7\xac\xbe\xf0\xab\x27\x6a\x7a\xeb\xe1\x29\x31\xbe\x67\xf1\x0d\xe2\x67\xa0\x29\x89\x53\x01\xf5\x66\x25\x30\xad\x8a\xb3\xd2\x30\xb3\xb6\xd7\x09\x3a\xcd\xfb\xf2\x74\x75\x7a\x90\x78\xe2\x0c\x23\xbc\x82\x2d\xef\xfa\x61\x00\x54\x86\x10\x2c\x01\xab\x82\xbd\xc8\xcd\xcf\x1b\xb3\x7f\x9b\x56\xd3\x9e\x50\xfd\x5a\x68\x95\x41\x6e\x76\x7f\x4e\x36\xc1\xa4\x17\x78\x90\x81\x25\xb5\xca\x3f\x92\xa9\x0d\xa9\xad\xdf\xf1\x55\xfb\x1f\xd7\x76\x88\x08\xa8\x0f\x20\x3e\xd7\x37\xef\x00\x77\x63\xbd\x2f\xea\x9f\xf2\x8c\x84\xb4\x35\x51\xc9\xfc\x43\x8f\xfc\x47\xfc\xfc\xf6\x4d\xc7\x70\x06\x13\xaa\x8b\x3a\xf8\x63\x3a\xe8\xb6\x98\x74\x37\xc0\xaa\x47\x81\xbe\x1e\x82\x13\x96\xc5\x36\xcb\x30\x05\xd0\x55\x49\xb1\xcb\xa7\x01\x35\xaf\xb7\xfe\x30\x68\x96\x1c\xad\x3a\x14\x63\xcc\x0b\x55\x60\x68\x4e\x27\xbb\xa7\x7a\xef\x41\x9d\x82\x38\x68\xe0\xce\xba\xd1\xf1\xce\x0a\xe9\x02\x74\x4a\x15\x2d\xd2\x94\x51\xa1\x7e\x28\xa8\x9a\x71\x58\xa1\x83\x6e\xfc\xe4\xa3\xe5\xc7\xd1\xfa\xa4\xc3\x87\x5b\xc4\x6c\x4d\x9b\xe2\x2d\x66\xd3\x66\xac\x6f\x59\x53\x8a\x00\xb2\x75\xb0\x2f\xac\x6d\xa7\x55\xa8\x54\x08\x19\x97\xd5\xd1\xd0\xe6\xe5\x68\xa5\x95\x8c\xf3\x34\xc5\x18\xcd\x51\x7a\xb9\xd7\x3c\x48\xd6\xcb\xc4\xae\x4e\xea\x43\x53\x11\x3e\x7e\x4a\x7c\x05\x92\x0e\x68\x6b\xf0\x7a\xfb\xfb\x8d\xd2\xec\x4f\x18\xfa\x71\x38\xe5\x7d\x33\x2c\xd7\xa4\x22\x8f\xea\x73\xbc\x09\x25\x2f\x24\x42\x72\x94\xeb\xd3\x64\x5e\xe0\x99\x6c\x2e\x85\x1a\x8a\xa5\x1a\x7c\xd9\xfc\x2e\xab\x47\xc0\xab\x21\x3f\x4f\x51\xd2\x16\x09\x1e\xd0\x89\xe4\x59\x2e\x9b\xb0\x82\x8b\x85\x8f\x84\xf6\x0b\x93\xad\x84\xa0\xa2\x28\x27\xcb\xd2\x74\x14\xb7\x81\x32\x2a\x04\xd3\x96\x08\x28\xf6\x38\xdf\x28\x34\xc7\xf7\x83\x9d\x70\xdb\x12\x6b\xee\x5a\xf2\xee\x75\x59\xa8\xac\x4c\x01\xa6\xc3\x91\x39\x6a\xf9\x3f\xa0\x60\x89\x40\x29\x7d\xdf\x89\x00\xc5\xdd\xb4\x66\x34\x0a\xe5\x1c\x60\xc7\xea\xd7\x62\x44\x7e\x76\xd8\xbc\xcb\x57\x39\x97\xcf\x66\x14\xd1\x88\xa0\xb9\xa2\xf5\x6e\xed\x9b\x0f\x9d\x46\x3a\x19\x78\x7f\x40\x92\x58\x1a\x65\xc6\xbf\x78\x1b\x93\xc5\x60\x87\xe5\x4e\xe1\x34\x3a\xab"}, -{{0x66,0xb5,0x0f,0x69,0x2e,0x39,0x5e,0xb8,0x33,0x86,0xe0,0x27,0xc8,0x2c,0xe3,0xfd,0xee,0x3b,0xd8,0x99,0xb0,0xd3,0x17,0x9d,0xb0,0x86,0xfb,0xf5,0x24,0xf5,0x74,0x59,},{0x44,0x85,0x36,0xe9,0x82,0x40,0x84,0x37,0xce,0x89,0x67,0x40,0x53,0xe3,0xc5,0x89,0xc9,0x8c,0x09,0x5c,0x60,0x02,0x1a,0x11,0x81,0x78,0xc6,0x26,0x1d,0x88,0x10,0xfe,},{0xbd,0x13,0xf6,0x36,0x2c,0x07,0x07,0x89,0x22,0xf3,0x0c,0x63,0x30,0x75,0x1b,0xf6,0xe7,0xcf,0x42,0xa7,0x69,0x16,0xee,0x65,0x3e,0xb1,0x7a,0xcc,0xff,0x1f,0xbb,0xca,0x35,0x25,0x8c,0x4c,0xbc,0x58,0x2a,0x5e,0x8c,0xc9,0x4f,0xd2,0xc7,0xed,0xeb,0x53,0x76,0x2f,0x1f,0xc2,0x31,0x23,0xd7,0xf4,0xf1,0x45,0x40,0x9b,0x31,0xcd,0x38,0x02,},"\x74\x28\xa9\x64\x21\x2b\xcb\xe8\xdf\x7d\x59\xe4\x8e\x92\x34\x80\xaa\x0e\xe0\x9b\x91\x0d\x04\xef\xb6\x90\x36\x62\xef\xc3\x10\x7a\xc8\xfd\xc0\xc5\xf3\x92\x72\x74\x0c\xd8\x77\xe1\x6c\xd7\x1c\x54\x92\x38\xc3\x37\x22\x0c\xe2\xf6\xb5\xa1\xfc\x6f\x7b\x0a\x1c\xd4\xed\x21\xd9\x38\x89\x08\x1e\x34\xfb\x7f\xde\xcf\x41\x78\xbb\xd4\x31\xe6\x11\xe5\x39\xd9\x00\xc3\xd0\xac\x3d\xc7\x10\x7b\x36\xb4\x1d\x6d\x0d\x5d\x32\xc1\x97\x27\xf9\x08\xb6\xeb\x36\x7f\xeb\xb3\x52\xa4\x93\x58\x1f\xf1\x28\xb5\x6c\x4c\xaf\x6f\xb8\xe0\x99\x81\xf0\xd3\x79\x57\xd1\x28\x20\x17\xfb\xb8\x07\x61\x4c\x20\xf4\x65\xdc\x02\xb0\xcd\x96\x99\x83\xbd\x5a\xe1\xeb\xf6\x57\x8d\x7f\xf3\xce\xff\x32\x0e\x25\x56\x21\x99\xde\xe9\x34\x75\x7c\xc1\xf5\x8d\x55\x40\xc4\x1a\xac\x1c\xe4\xf2\x11\xf0\xb8\xec\x41\x07\x17\x40\x30\xe7\x02\xbc\x6a\x8a\x9c\x85\xc5\x05\xc9\x31\x6a\xef\xea\x3e\x43\x72\x24\x2d\xe0\x19\xb3\x5e\x2b\xd3\xc5\xa9\x56\x52\x19\x71\xc1\x06\xa3\xad\xbb\xc1\x3c\xdc\x4f\x7f\x9d\x3c\x58\xb9\x6a\x34\x4b\x4a\xc3\xef\x6b\xd8\xac\xa6\xed\x98\x76\xb4\x3e\x64\x97\xfa\xf7\xfa\x4c\xf2\x7f\xbc\xb6\x65\x73\x0c\x09\x1e\x13\xaa\xf7\xe9\xef\xe7\xdd\x10\xe1\x4e\xb1\x9a\x92\x00\x42\x42\x10\xec\x8b\x8f\xba\x7e\x69\x44\x4c\xe1\xa9\xe3\xa7\xb2\x6c\x11\xf6\xb7\x14\x5b\x69\x83\xa7\x80\x57\x76\x48\x40\x31\xbf\xf5\x2e\x81\xae\x76\x9b\x70\xa2\x82\xb0\x94\xff\xb5\xfb\x55\x25\xdc\x1a\x87\x2e\x20\x7e\x82\x7a\x2e\x11\xf4\xec\xf7\xb5\x30\x8c\x74\x8a\x92\x78\xea\x7b\xd6\x61\x88\x19\x44\x00\x43\x0c\x8c\xd5\x96\xeb\xb8\x72\x21\xe5\x36\xf6\xaf\xe1\xf1\x50\x5d\x6a\x59\xf4\x1d\x16\xa2\xf0\x14\xe1\xcf\xa5\x13\xf7\xa6\x97\x31\xd7\xbf\xdb\x2a\xff\xce\xfe\x05\x37\xd4\x2c\x79\x6e\x3f\xd2\x7e\x41\xb7\xca\x72\x05\x1b\xef\x28\xbb\x7b\xde\x70\x10\xdc\xfe\xd8\xaa\x16\xef\x67\x6d\xb6\xe5\x20\xc3\xce\xf8\xd6\xf5\x8a\x9a\x28\x13\xcf\xf0\xf7\x04\x1f\x87\xfb\xfb\x84\x31\xe0\x20\xed\xe1\xd4\xea\xf1\x9e\x23\xb9\x83\x44\x5c\x59\x15\xb5\x4a\xdf\xb5\x57\xfc\x20\xd0\x05\x8f\x40\xf5\xe0\x98\x25\xdb\xa8\xd8\xf2\x0c\x00\xf4\x3b\x3a\xee\xbb\x61\x57\xbe\x32\xec\x54\x62\x7d\x5d\x42\xab\x81\x3c\xf9\x7f\x09\x5d\x26\xdb\x80\x36\xc1\x2e\x82\xcb\x96\x3e\x80\x01\x16\x7e\x61\xab\x39\x3b\x4c\xca\x75\x5e\xce\xa8\x69\x95\x4e\x32\x3f\xa5\x26\x2c\x5f\xda\x3e\x0b\xe9\xa5\x1e\x5a\xf5\x1f\xa6\x44\x48\x24\xfb\x83\x7c\xc6\x7b\xe5\x37\xa8\x75\x69\xc3\x0c\xf0\x11\x4d\x39\xa0\x39\x42\xde\x4e\x1c\xd5\x23\x35\x5d\xab\x1a\xf3\x60\x80\xa9\xa9\xa5\x48\xbe\x1c\x2a\x7f\xbe\x54\x33\x77\x23\x15\xd2\x83\xe5\x15\x6d\xf6\x48\xbe\xe4\xb7\xdc\xda\x74\xf1\x59\x05\xd5\x42\xbe\x54\x87\x3c\x15\xc5\x3f\xf4\x2a\xca\xbf\x8c\x56\xf2\x57\xd7\x64\x72\x2d\xb4\xe9\xc7\x18\xe1\x20\x98\xa3\x45\x74\x86\xa6\xc9\x47\xac\x2d\xe0\xaf\x53\xe8\x2c\xf9\x50\xbb\x37\xca\x29\xc8\xda\xdf\xa3\x64\x6d\xb4\x98\x2a\xf5\x72\xd3\x9b\x26\x8c\x7f\x96\xb0\x3e\xf6\xb6\x53\xc8\x79\x45\xf2\x9b\xc5"}, -{{0x55,0x32,0x8b,0xe4,0xb3,0x70,0x82,0x27,0x33,0xff,0x39,0x89,0xa6,0xa3,0x28,0x2d,0x65,0xfe,0x8f,0x20,0x7a,0xb7,0x27,0x0d,0x7c,0x2e,0x72,0x7c,0xa3,0xcf,0xaa,0xc4,},{0x51,0x8e,0x02,0xee,0xf5,0x2f,0x5a,0xae,0xbd,0xe3,0xd1,0x08,0xea,0x79,0xec,0xad,0xfc,0x4d,0x99,0x4c,0xe1,0x95,0x36,0x21,0xe5,0x4b,0x7b,0x3b,0x12,0x1f,0xf8,0xff,},{0xf5,0x8d,0xb1,0x9f,0xd8,0x34,0xe1,0x51,0x94,0xc3,0xc0,0xf8,0xa6,0xa5,0x0e,0xbc,0x4c,0xf0,0x74,0xe8,0x0e,0xa2,0xe7,0x0c,0xda,0xf1,0xe1,0x69,0xbd,0x51,0xeb,0xd0,0x99,0x0b,0xad,0x77,0xc4,0xfa,0x20,0x8b,0x8d,0xd1,0xe2,0xc8,0x57,0x4c,0x01,0xb5,0xf5,0x96,0xc8,0xdf,0xa6,0xbb,0x8e,0x6a,0xe3,0xa4,0x7f,0xf4,0x12,0xe7,0xe2,0x09,},"\x6c\x24\xc9\xaf\xbb\xf1\x2d\xca\xee\x6f\x10\xe4\x08\x92\x52\xf2\xc6\x0b\x2a\xb9\x3a\x02\xc1\x60\x2f\xb5\xde\x4c\xe3\xbd\x92\x3e\xb0\x2f\xe1\x03\x9f\xdc\x15\x99\x6a\x44\x69\x15\xe7\x67\xde\xe0\x17\x6d\xdd\xb7\x8e\x9d\x6b\xbf\x06\x96\x75\x77\x5a\x82\x9d\xd8\x08\xd3\x76\xb0\xcf\x79\x20\xbf\x1a\x66\xe1\x30\x3b\xa5\x24\x19\x78\x5f\x25\xf2\x8b\xb3\x38\x99\xeb\xde\x84\x0c\x0a\xb1\x4b\x91\x9a\x65\x80\xcb\xaa\xc3\xa8\x05\x62\x7b\x9c\x4a\x77\xba\xa1\x6f\x82\x5a\x9e\xac\x2d\x6d\x36\x41\x65\x14\x93\x37\x0e\x50\xee\xe9\x4c\x74\x04\x97\x64\x36\x56\x05\xab\x4d\xac\x1a\x03\x02\x27\xa3\x30\xaa\x17\x8f\x2f\x8d\xa3\x77\xaf\x73\xf0\xbb\x04\x0b\xac\x12\x36\x6e\x65\xe0\x59\x10\x55\xf9\xf2\x3e\xac\xa3\x5e\x96\x88\xd8\x37\xa3\xc0\xd9\x9c\x16\x8f\xd8\x86\xac\xc9\x22\xcf\x37\xa7\x11\x8e\xf8\xa4\x4b\xb0\xa4\xfa\x42\x88\x04\x93\x09\xa7\xdc\x1b\xed\x80\x62\x1e\x10\x63\xe3\xe5\x92\xc0\xfb\xa4\x2d\x73\x98\xeb\x15\xf7\x40\x28\xac\x15\xd7\xed\x65\xa6\x36\x8a\x13\xb7\xf9\x56\xd1\x95\x47\xeb\x50\x6c\xe7\xec\x90\x73\x4e\xb9\x49\xcf\xf1\xd9\x8c\xe4\x14\xf1\x0a\xdc\xba\x8c\x00\x73\x20\x01\x87\x50\xa7\x1b\xd3\x6d\x3b\x6b\xfd\x61\x27\x05\x45\x08\xe3\xef\x65\xd9\x98\x48\x51\x4d\x33\xd6\x8b\x58\xe3\xa4\xb2\x24\xf7\x9b\x6e\x34\xdd\x48\x03\x40\x46\x7f\xe7\xf0\x25\xcc\x88\x21\x3d\x80\x8f\xbb\x5b\x91\xe2\xe4\x3c\xf9\xd9\x50\x64\x07\x98\x65\x92\x73\xd4\x7a\x25\xf1\xf0\x13\x2f\x68\x82\xfa\xad\xba\xfb\xa2\x8f\xee\x5f\xa1\x72\x72\xc1\xa9\x00\x11\x72\xb3\xab\x6f\xf2\xc3\x15\xf2\x6c\x07\x73\x44\x05\xb5\xee\x8b\x5e\x4f\x08\xe1\xe3\xb8\xae\xa0\x19\x46\x7f\xb0\x71\x88\x7f\x19\x19\x01\xa2\x1c\x59\x76\xc1\xca\x8a\xaf\x0a\x1d\x4a\x2e\x69\x8e\x76\x23\xe9\xbb\xe9\xca\x2a\x67\xa1\x53\xa1\x6f\x89\x5e\x6d\xd9\xea\x92\x44\x41\xb4\xbd\x0b\x67\x45\x52\xe3\x98\xb8\xd9\x70\x34\x3a\x9b\xc7\x76\xa3\xa3\xfc\x1a\x86\x60\xc5\x62\x5d\x60\x81\xb5\xd8\x7f\x0f\x8a\xc9\xf0\x7a\xb5\xab\xe7\x7c\xdb\x8e\x30\xd2\xfd\x1f\x6f\x46\x52\x5c\x75\xdd\x0d\xd1\xca\x32\x81\xcc\x89\x34\x6f\xb3\xe6\xd7\x38\x8e\xbe\xe1\x54\xcb\x59\xbd\x9e\x95\xed\x6a\x41\xd5\xdf\x66\x8b\x59\xea\x13\x78\x68\xeb\x12\x0b\x8a\x2c\xfd\xf4\x67\x44\x14\xfd\x27\x96\x99\xf2\x8b\x5a\x5c\xcc\x2e\x2f\xc8\x02\xa4\xc9\xe0\xb8\x5b\x76\xf2\x0f\x6b\xce\x2a\x49\x54\x88\x6f\xc4\x02\x67\x0a\x71\xef\xd2\x61\xf5\xdd\x7b\xca\x16\x88\x4a\x28\x7c\x62\x2f\xd4\x45\xf6\x8d\x44\x15\x1c\xc0\x13\x4b\x22\x9d\xa3\x8d\xaa\xab\x81\xb5\xc9\x60\xd5\x77\x00\xca\x92\xb2\x6d\x0b\x14\x21\x34\xce\x94\xb7\xbe\x6c\x18\x61\x0e\xa2\x13\x6f\x8b\xa8\x32\x9a\x2e\x8c\x00\x0b\x8f\x02\xfe\x05\xbc\xf7\x2c\xb7\x1f\x8c\x72\x53\x5f\xfc\xd8\x18\xe3\x8e\x79\x92\xa8\xf0\xc3\x2a\xc6\x21\x77\xd1\x52\x2a\xe5\x52\xc6\x0c\x1e\xe6\x16\xb7\x5e\x4b\x34\x42\xe7\x96\x57\xe4\xa3\x33\xc0\xb3\xd7\x44\xea\xf2\x60\xd0\xc3\x36\x93\x16\x86\xa6\xd6\x68\xc6\x4f\xef\x44\x00\x52\x35\x2c\x2b\x25\x8c\xfb\x65"}, -{{0x7d,0xa0,0x5f,0x04,0xe5,0xd3,0x8b,0x98,0x9b,0x83,0xf7,0x2f,0x7a,0xb2,0x6c,0x13,0x87,0x76,0x75,0x8f,0x4f,0x57,0x7e,0x49,0xdc,0x73,0xd6,0x01,0x3f,0xf4,0x37,0x59,},{0xb1,0xde,0x51,0x67,0xf4,0xd3,0x30,0x80,0x4e,0xec,0x9e,0xb5,0x65,0xef,0x40,0x55,0xf1,0xb6,0x4d,0xd9,0x5e,0x1c,0x9b,0x27,0xc6,0x7f,0xfe,0xf9,0x14,0x82,0xcc,0xa8,},{0x05,0xf1,0x17,0xf9,0xbc,0x3e,0xa5,0x5d,0x45,0x5e,0x9e,0xf1,0x35,0xe9,0x2e,0x76,0x65,0xd1,0x80,0x70,0xd8,0xf5,0xe3,0x75,0xdf,0x67,0xbe,0x18,0x17,0xce,0x14,0x35,0x7a,0x55,0xe7,0x01,0x66,0xf3,0x26,0xb7,0x7d,0x85,0x24,0x32,0x27,0xcf,0x67,0xd8,0xf2,0xe0,0xbf,0x84,0x40,0xca,0xbf,0xb0,0x52,0x75,0xb3,0x73,0xf1,0xe1,0x19,0x0e,},"\xa6\xa8\x61\xd8\x94\x7c\x5c\xd6\xad\x08\x19\x60\x2e\x32\xea\x76\x81\xc8\xf7\x30\x10\xee\xe5\x53\xe5\xde\xfb\xf7\x98\x20\x98\xb5\xf7\xb3\x99\x24\xbb\x79\x59\xad\x64\xc3\x03\x26\xbe\xd5\x60\xbf\x51\xe9\x98\x3c\xda\x5d\xff\x4f\x31\x1e\xea\x24\xcb\xe6\x8c\x61\x06\xce\xac\x9b\x84\x3a\xa4\xe2\xad\x1b\x6f\x8a\xe1\xe4\xf9\x68\x71\xfc\x02\x5b\xe4\xa6\x16\x38\x5f\xf2\xd4\xb7\xf5\x68\x29\xab\xef\xaf\x6a\xac\xbb\x78\x0d\x6c\xbb\xc9\x51\xb6\xe0\x5a\x78\x7f\x88\x5e\x33\x25\x61\x16\x65\xec\xc9\x24\x27\x4a\xa5\x31\xbc\x13\x3f\x62\xc7\x6c\xb3\xad\x14\x8f\x3c\x95\x79\xa8\x15\xa1\x42\x00\xb7\x64\x8d\xae\x0b\x07\xb3\x27\xd3\xbf\xcc\xdb\x6f\xe3\xb6\xcb\xd7\x0e\xa6\x5e\x6c\x0c\xc2\x51\x6a\x89\x66\x96\xd0\x7b\x2e\x77\x71\x3b\x0b\xee\x3b\x92\xfb\x1b\x6f\x75\xb0\x82\x0a\x5c\xb6\x2c\x5f\xe6\x20\x40\x03\x94\x3e\x24\x85\x71\x66\xfb\xdf\x57\x1f\x11\x5d\x45\xf4\x2e\x75\x90\x1d\xf8\xb1\x2c\x32\x61\x8a\xac\xb0\xd2\x42\x86\xc8\xd3\x03\x96\x05\x1f\xc2\x72\xaa\x17\xf4\xd2\xd4\x74\x61\x15\x2a\xac\xd3\xfa\xa2\xb7\xb2\x08\x31\x22\x78\xe8\x09\x24\x05\x92\xd1\xd1\xaa\x58\x5c\x56\x28\x0e\x66\xff\xd9\x2b\x57\x17\xd0\xcd\x1e\xb9\xfb\x74\x01\xde\xf8\x79\x48\x7c\x37\x4e\x5c\x53\x0b\x6f\xeb\xf9\x11\x12\x25\x74\xd2\x4f\xe1\x04\xb4\xf4\x5c\x7c\x60\x1e\x6c\x91\x7d\x3c\x18\x82\xc1\xad\x3c\x55\x5d\x8f\x2c\xe9\x55\xb5\xa1\x0d\xb0\xd5\xa8\xb8\xac\x7a\x62\x66\xb2\xe6\xb2\x7a\xd0\xee\x34\xf4\x7a\xd8\x57\x36\x7d\x52\xf7\x09\x6d\x4b\xac\xef\x0e\x46\x72\x54\x88\x42\x4b\x93\xb8\x9a\xcd\x42\x9f\xfb\x5e\xf3\x3a\x0b\x08\x1d\xd0\x94\x79\x67\x91\x96\x02\x3c\x39\x67\xf4\x4a\xd4\x1e\xb1\xa2\x39\x55\x27\xfd\x3b\x79\x76\x8f\x1b\x88\x5f\x04\x29\xb4\x95\xab\x60\x52\x56\x91\xbe\x84\x65\x06\x32\xa2\xf6\x6c\xb6\x3a\xd5\xbf\x2f\x6a\xe7\x0b\x66\x8c\x5a\x19\x3f\x74\x99\xfc\x4f\xc4\x2c\xf8\xcb\x30\x8c\xe5\x02\x9a\x50\x27\xba\xbe\xf5\x5d\x19\x25\xec\xfb\xa9\xf2\x7e\xb6\x08\x16\x19\xed\x0d\xf8\x56\x9f\xd8\x0e\x9d\xa1\x04\xdb\x39\xb5\xb8\x14\x0b\xfe\xbe\xbd\x29\x08\x54\x40\x06\x58\x19\xde\xba\x8d\x46\x9a\xe8\xb3\xea\x6d\x3b\xac\x58\x91\xf9\xa4\xdd\xfb\x7f\x1f\x06\xd1\x3c\x31\xa0\x7e\xe5\x3f\xb5\x4b\xc9\x7b\xd0\x86\x96\x39\x4c\x38\xe7\xf3\x68\x0c\x0f\x02\xf9\x75\xf4\x69\x92\x11\x47\xa4\x09\x85\x90\x97\x81\x3b\x4c\x3f\xa4\x3d\x17\x4a\xc4\x02\xf1\xa5\x28\xcb\x5f\xc4\xb8\x07\x51\x84\x32\xef\xf3\x34\x07\xa1\x11\xca\x3a\x3d\x7e\x9e\x84\x13\x5a\xba\xc8\xa8\xf5\x2e\xa6\x31\xc8\x6d\x74\xa1\xc6\xe5\x74\x9e\xdd\x14\x91\xc0\x02\x4e\x7d\xe7\xfe\x52\x85\x68\x29\xb7\x2f\xd1\x3d\xa6\x3a\x1a\x23\x43\x34\x9d\xf6\x62\xab\x31\x63\x53\x60\x32\x34\x6e\x53\x47\xf0\x43\xff\xf5\x28\xbf\x67\x15\x09\x22\xff\xf2\x02\x6b\xab\x74\x2d\xb9\xca\xe7\xcb\x2e\x3c\x74\x58\x07\x19\x65\x2c\x28\x44\x7c\x5e\x20\x98\x23\x17\x97\xee\x6e\xf1\x23\x1f\x57\x92\x05\x4b\xc3\x35\x9a\x32\xc8\x6d\x2f\x94\xf8\x5f\xa7\xd4\xa7\x41\x9d\xd2\x41\xff\x66\x2a"}, -{{0x1b,0x8e,0xc6,0x58,0x80,0xed,0xbf,0x03,0x9a,0x13,0xe9,0x70,0xb1,0x5a,0xa6,0x7e,0x19,0x2a,0xa0,0x2c,0xa6,0x5c,0xff,0x9a,0xda,0x17,0xd4,0x55,0x8f,0x40,0x13,0x7d,},{0x12,0xc1,0x19,0x1e,0x4d,0xe3,0xbd,0x44,0xd0,0x39,0x07,0x01,0x53,0xad,0xb7,0xb5,0x81,0xf6,0x00,0xe9,0xa1,0xdd,0x69,0xaa,0x89,0xf2,0x77,0xc7,0x06,0x9e,0x76,0xf8,},{0xbf,0xf2,0x69,0xa3,0x5d,0x6c,0x8e,0x55,0x2c,0xe7,0x16,0xd1,0x63,0x81,0x81,0xce,0x85,0x83,0xb4,0x5c,0x0e,0xc5,0x93,0xb4,0xe5,0x8c,0x40,0xac,0x76,0xe7,0xf8,0x5c,0xa1,0xda,0xff,0xfd,0x68,0x54,0x1e,0x62,0x3a,0x1e,0x35,0xa7,0xc0,0x97,0x26,0x88,0xb2,0x5e,0xed,0x72,0xf4,0xda,0x57,0xec,0xa1,0x68,0x57,0xa8,0x26,0x3c,0xaa,0x0b,},"\x37\xf1\x8b\x7f\x64\xc5\x13\x34\x79\xd6\xda\xe3\xbe\xf6\x79\xcd\xc2\x1e\xce\x3f\x5b\x57\x9a\x6a\x9c\x3f\xa2\xe5\x9e\x9b\xe8\x7d\x20\x09\xf7\x4e\x1c\xfd\xac\xcb\x1c\xe3\x7d\x00\x70\x23\x69\xbd\x16\x9d\x94\xfd\xcf\x85\xaf\x9f\xa3\x21\x7d\x27\xe6\xed\x6d\x1d\x8e\x5d\xf7\x61\x5e\x8e\x37\xea\x55\xde\x1f\xd0\xb0\x6d\x77\xb4\xc8\x3b\x92\x9d\x80\x58\x6f\xa0\x69\x4b\xe7\x2e\xc8\xb3\x65\xad\x2c\xbc\xdd\x2b\x1a\xd8\xcf\x7f\x03\x6d\xfa\x4d\xaa\x1a\x90\x36\xcd\xb1\x20\x43\x22\x27\xb1\xf0\x7b\x88\x66\xb1\x22\x12\x03\x09\xeb\x91\x4a\xb8\x4c\xdd\xeb\xa1\xde\xc4\x8a\xb9\x26\x36\x72\x85\x88\xfe\xdb\x3a\xaa\xd7\xe7\xdb\xb2\xac\x30\xe6\x3c\x6f\x5f\x90\xfc\x6c\xe6\x2d\x6d\x3b\xd8\x8b\x0d\x5a\xac\xfa\x61\xde\x9f\x32\x67\xb3\x00\x91\x7b\x57\xa4\x80\x36\xab\x20\xc9\xa0\x54\x46\xb8\x76\x74\x94\xaf\x24\x9e\x7d\xe7\xbc\x50\x7a\x22\x07\xcc\x95\x6f\x71\x84\x55\x5a\x7d\x5d\x88\x83\xbb\x4b\x3e\x93\xf2\xdc\xfc\x57\xb0\xda\x86\x38\x65\x8d\xcd\xce\x88\x5d\x44\xd9\xcc\x68\xb1\xd8\x17\x0a\x36\x77\xcc\x5e\x50\xcb\xf3\x3d\x54\x3e\xba\xe4\x47\x7d\x92\x39\xcf\x83\x38\x4e\xc5\x9b\x42\x33\xe8\xff\x33\x43\xf0\x6f\x30\x18\x77\x72\x9a\x53\xd4\x20\xbf\x01\xc6\x2e\x66\xab\x7f\xe5\x5d\xd8\x7e\xe8\x23\xa5\x8f\xcb\x87\x87\x0e\x1f\x52\xe8\x79\x17\x7c\xd4\x39\xc5\x33\xf5\xa2\x23\xe5\xa3\x43\x6f\xe9\xd6\x42\x65\x48\xda\xcf\xc8\x6a\x08\x46\xd3\xed\x23\xac\x04\x25\x63\xe8\x87\xff\x46\xaa\xd0\x05\xf4\xe1\xde\xe3\xee\x0e\xe4\xc2\x7a\x72\x51\x70\x9a\xe4\x0a\xbc\x5e\x25\x68\x64\xe4\x78\x5a\x4e\xdd\x8b\x2a\xdf\x1b\xc5\xb4\x01\x8e\x28\xd0\xb1\x75\x86\x7b\x02\xd0\x52\xa6\xe1\x7e\x41\x1a\x3d\x8b\xeb\x2a\x42\x08\xb7\x6c\xc6\x21\xfd\x18\xbe\x14\x8e\x23\x5d\x55\xaa\x71\x27\x70\x65\x57\xde\xc0\x53\xa1\x3f\x1a\x47\xdf\xda\x40\x5b\x3f\xe5\xbd\x28\xef\x5d\x34\x86\x19\xf5\x1e\x59\x5e\xf5\x05\x5f\x83\x9e\xfa\xf1\x10\xe4\x90\x16\x31\xac\x31\xa0\x2f\x4f\x7e\xe4\x24\xa3\xa2\xc3\xe0\x0d\x26\x02\xd2\xcc\x1e\x49\x29\x06\xee\xa4\x20\xa9\x26\x82\x38\xac\x66\x22\xa0\x89\x74\xe5\x73\x02\x92\xe6\xed\x51\x02\x56\xef\xde\x66\x7e\x0d\x9a\x0f\xf2\x21\x3f\x54\x12\x0c\xcd\x81\xff\xaa\x6b\x7c\xc4\x81\x41\xa2\xb7\x29\x85\x2a\xf5\x83\xd2\x6a\xa5\x1f\xbd\xe6\x7b\xe4\xdf\x14\xe5\x20\xc2\x25\x7a\x73\xc5\xc2\xe3\xc3\xd8\x7d\xfb\x25\x36\x11\x75\xfd\x18\xab\xd7\xe9\x9a\xa0\x9b\x85\xf8\x8f\x19\xc8\xd8\x2d\x45\x85\x8f\x31\x44\xc5\xdf\xb7\xa4\x9e\xde\x45\xb4\xef\xd8\x71\x05\x92\xa3\x72\x06\x36\xe7\xe8\x89\xc7\xe2\x2a\xd1\x3b\x2d\x44\xbb\x7e\x2b\x47\xb2\x96\x3a\x5f\xa3\xf2\x55\x7b\x85\xbc\x0c\x69\x3d\xe3\xd2\x2e\xf9\x46\x4f\x7b\x81\x4a\x20\xa4\x67\x6a\xd2\x6f\xca\xa0\x35\x44\xc6\xaa\xd4\x12\x83\x09\x5f\xcd\x12\x10\xaa\x8c\xc0\x29\xff\x5a\x26\x00\x5a\x89\x12\x26\xc2\x98\xe9\x4a\x52\xaa\x71\x33\x91\x3e\xc9\xd2\x2a\x5b\x2a\xc0\xbc\x6f\x15\xb2\x51\xd0\xb9\x38\x89\x21\x3c\xd1\xb1\xe5\xc6\xfd\x08\xf1\xa8\xf5\xcb\xd4\x21\x53\x29\xa3"}, -{{0xe7,0x53,0x88,0x02,0x6a,0x6a,0x6d,0x6c,0x6d,0x19,0x9e,0x36,0x29,0x93,0xa5,0xb1,0x04,0x49,0x01,0xe1,0x8a,0x76,0xc2,0xfa,0xc7,0x26,0x1a,0x6d,0x1c,0x19,0xa4,0xf3,},{0xb9,0xce,0x14,0x25,0x1c,0x0c,0xdf,0x3b,0xdd,0xb2,0x06,0xdc,0x6b,0x8b,0x2b,0x7f,0x5b,0x7e,0x4d,0xd1,0xbe,0x2c,0xe1,0x86,0x3f,0xf1,0x88,0x06,0xae,0x00,0xf1,0xee,},{0x6d,0x0f,0x83,0xd9,0xc5,0x5d,0x84,0xbc,0xf9,0xa8,0x61,0x47,0xd9,0xb6,0xba,0x9a,0xd5,0x37,0x83,0x2f,0xd0,0xf9,0x9d,0xae,0x7e,0x72,0xc8,0x13,0x9a,0xfc,0xb3,0x0c,0x7b,0x24,0xf6,0xb2,0x92,0xe3,0x2f,0x98,0x47,0x09,0x75,0x51,0xb7,0xfb,0xfd,0x51,0x0c,0x84,0xe8,0x9b,0xe9,0x82,0x54,0x44,0x14,0x57,0xbd,0x08,0xe5,0xf0,0x53,0x02,},"\xb9\x9c\xdc\x84\x72\x11\xc0\x66\x42\xdd\x11\x1b\xc5\xe0\xbe\xca\x53\xa7\x4f\xfb\xa2\xe3\xac\x93\xaf\xb4\xb0\x94\x75\x18\xe8\x32\x35\x27\x33\x0a\x4e\xfe\xfb\xe4\xba\xfa\x00\xba\xfe\xcb\x43\x4a\xb1\xe5\xb7\xce\x65\x65\x6f\x7a\x4f\xd8\x56\xaa\x6c\x38\x5e\xd8\xd7\xbd\x62\x85\x58\x0d\x7d\xd6\x08\x82\xe6\x9c\x19\xda\x07\x69\x09\xd6\x47\xde\x09\x5a\x80\xe9\x8a\xd8\x9b\x81\x4a\xad\xcb\xbf\x6f\x03\x3c\x49\x20\x2f\x65\x6c\x09\x10\x50\x39\x59\xcf\x97\xcd\x0f\xa8\x2d\x5f\x6d\x22\xfb\xa3\x38\x99\x51\x29\x4c\x4f\x7c\xdc\x21\xeb\x82\x44\xbd\x65\x60\x63\x7a\x5e\xca\x62\xa8\xeb\xa1\xf4\xa9\x33\xd1\x87\xa7\x5f\x86\x71\x16\x43\xaf\x35\x88\x31\xc8\xc1\x6a\x9a\x0f\x09\xe2\x53\xb2\x39\x5e\x9c\xb3\x71\x61\x1e\xec\xdd\x66\xb4\xab\x52\x1a\xa9\x4b\x3f\x20\x23\x7e\xae\x41\xcd\x10\xc5\xe2\x1a\x45\x2d\x48\xe7\x48\x18\x7f\x35\x4a\x67\xad\xf6\x81\xb0\xfe\x61\xcd\xae\xc9\x4a\x5e\xaf\x01\x26\x9f\xce\xb5\x70\xd5\x14\xff\x3c\x55\xff\x1d\xba\x2f\xd2\xdf\x17\xf8\x6a\x8a\xeb\x74\x78\x38\x11\x3d\xee\x94\xa4\x3b\x13\x84\xcb\xe1\x33\xcd\xf6\x42\x7e\x8d\x12\x2e\x4e\x93\x37\x04\xda\x6e\x26\xcf\xce\xe9\x7f\xe3\xf6\x29\xb6\x0b\x91\xb2\xdd\x86\x38\x67\xfa\x79\x80\x1e\x2b\x91\x6e\xc4\xc0\xfb\x62\xe0\x71\x59\x42\x1e\x65\x79\x74\x30\x7a\x1d\x02\xf7\xf2\xed\x47\x24\xa8\xb5\x21\xa8\x61\xf5\x5f\x35\x52\x1e\x8b\x2e\x1a\x84\x90\x4c\x42\x8c\xfc\x5b\x60\x14\xbb\x0f\x8b\xa8\x43\x4c\x22\x09\xbd\x40\xac\xa3\x11\x30\xdb\x97\x74\x33\x33\x59\x7d\x23\x51\xd5\xf6\x81\x17\x41\xf6\x26\x88\x97\x3b\xd7\x73\xd3\x02\x66\xfd\x1e\xfb\xd8\x9d\x47\xa9\x64\xf9\xd0\x19\x97\x15\x3d\x08\x7d\x92\x69\x66\x16\xdd\x10\x3a\x93\x4c\xcb\xac\x4c\x1d\x14\x2f\x20\x75\xd4\xe2\x2c\x3d\xa4\xa0\xe9\x73\xb2\x38\x63\x19\x62\x87\xb7\x91\x74\xfa\x29\x75\x5f\xc6\xd9\xb5\xe1\x00\xac\xe0\xa4\x59\x75\xe5\x03\xb2\x54\xd3\xf1\x95\xc2\x61\x71\x09\x10\xfe\xf1\x06\x89\x2c\x08\xbb\x29\x6d\x23\x0c\xde\xa9\xf5\xa1\x1f\x91\xac\xaa\x6e\x7c\x05\xe9\x2c\x28\x1d\x2b\x31\x55\xfe\x44\x80\xb0\xaa\x5e\x0d\xb4\x1d\x10\xe0\x5c\xfd\xef\xa4\x36\x40\x51\xcb\x75\x5d\xc7\x2f\xfa\x97\x8c\x00\xb9\x4a\x5f\x21\x2d\xc6\x91\xf8\x39\xb4\x9d\xe9\x7e\x01\x39\xd6\x5e\x8d\x73\xb2\xb2\x89\xb2\x6a\x12\xc6\xcc\xd8\xed\xc0\x4a\xdb\x45\x2a\xf7\xff\x09\x4a\xa9\x01\xea\xf5\x76\x51\xeb\x1b\x87\xb8\x33\xd0\xa0\x9b\x4a\x4a\x64\x62\xf4\x06\x64\x62\x37\x69\xe9\x50\x79\xf3\xc9\x62\x85\x0c\xc3\xb4\x01\xbb\x00\x58\xb8\x47\x5b\x10\xc8\x62\xf3\x2f\x30\x0a\x2b\x14\x3b\x3d\xea\x26\x9d\xdc\xbe\xa7\xbe\x7d\xd2\x42\x6d\x0d\x42\x04\xeb\x66\xa3\x9f\x13\x18\x82\x2d\xcb\x9c\x56\x13\x98\x63\x7f\x4a\xb8\xde\x19\x67\x68\xac\xe7\x4f\x34\x8c\x01\x2d\xd1\xba\xbe\xc1\x7f\x53\x00\xff\xe0\xd7\xaa\xae\xaf\xef\x7d\xb6\x50\xa8\xf2\xf3\x09\xa9\x79\x3f\x52\xc6\x85\xc7\xe1\xd5\x13\x32\x74\x91\x57\x84\x89\x9c\x48\x1d\x48\x5c\x9b\xd3\x0e\x99\xfc\xdc\x97\xd9\x6e\xf0\x74\x87\xda\x66\x3b\xef\xe6\x82\x99\xdf"}, -{{0x5b,0x32,0x3f,0xc0,0x1a,0x16,0xc4,0x5d,0x10,0x64,0x66,0x7d,0x2e,0xa4,0xa7,0xea,0x59,0xd2,0x03,0x42,0x56,0x2d,0x12,0xfb,0xc5,0x98,0xd5,0xaa,0x73,0x00,0x68,0x8e,},{0xd4,0x14,0x1b,0x45,0x5d,0x30,0x16,0x42,0xba,0xda,0x28,0x14,0xaf,0xcb,0x16,0x20,0xd5,0xeb,0x56,0xd9,0x2b,0x11,0x85,0xfe,0x5d,0xad,0xef,0x55,0x96,0x25,0xfa,0x71,},{0xe2,0xef,0xf6,0x07,0xf0,0x22,0x7a,0x29,0xd5,0x82,0xd6,0x9f,0x34,0x58,0xac,0xad,0xd3,0x22,0x6f,0xce,0xaa,0xc0,0xab,0xbd,0xae,0xd5,0x26,0x75,0xc5,0x16,0x30,0x07,0x3c,0xd3,0xa9,0x01,0x70,0x7e,0xcf,0x05,0xe8,0x93,0xf2,0xc3,0x6d,0xaa,0xf0,0xcc,0x49,0x01,0x11,0x69,0x46,0xb5,0x77,0x0d,0xc0,0x38,0x12,0x5f,0x6d,0x13,0x1b,0x09,},"\xad\x24\x66\x9e\xf5\x5c\x54\x0a\x8e\xd1\x62\xce\x1d\x28\xf0\x17\x60\xa6\x07\x19\xa0\x37\x73\x36\xeb\x00\xb1\xec\xbe\x6f\x61\x60\x1c\xd5\x64\xf9\x2c\x95\x68\x04\xf9\xbe\xd4\xe1\x47\x6b\x94\xe5\xea\x8c\xca\x80\xcb\x49\xa3\x04\xef\x85\x1f\x7f\x67\x5a\xbe\x58\xe6\x68\x1d\xc0\x12\xad\x55\xe5\x1b\x02\x1d\x98\x28\x56\x9d\x0b\xcc\x9e\x05\x27\xa3\xfc\x03\xc8\x91\xd1\x7a\x90\xe6\x33\x7a\x1e\xa6\x7f\x2f\x08\x81\x05\x87\x69\x38\x37\x08\x1e\x4c\x08\xa3\xd7\x2c\x53\x6c\x21\x40\xda\x20\x0b\xa4\x56\xc3\x76\xf6\x1d\x05\x65\x1f\x0c\x5f\x39\x57\x11\xf4\x1c\x0d\x6e\xae\x98\xc9\x06\x76\x4d\x1e\xbe\xf3\xf9\x04\x6c\xb7\xc8\x62\x26\x40\xfc\xaf\xaf\xbf\xb8\xf6\x2e\x1c\xd3\x2c\x66\xee\x1c\x55\x50\x94\x89\xa5\x38\xab\x61\x29\x99\xe7\x99\x7b\x77\x9c\x64\x22\xef\xf1\x09\xda\x4d\xf8\x29\x20\x93\x0d\x8d\x36\x3d\x78\x30\x90\x87\x95\xa3\x88\x8f\x25\xd6\x67\xe1\x4d\x15\x5e\xd4\x45\x81\xbe\x43\x0f\x79\x73\xb5\x74\xe2\xbc\x0b\x13\x4c\xf1\x39\xfb\x4b\xb0\x1d\xbd\xa4\x1b\x67\xb9\x81\x47\xd8\x01\x2f\x40\x67\x7f\x4b\x80\xce\x4a\x53\x4c\x90\xad\xea\xbf\x48\x4b\x21\xfa\x99\x4b\x7a\x17\x5f\x8a\x8b\x8a\x40\x75\x56\x44\x78\xdd\xb0\x50\x24\x58\x0b\xab\x03\x8c\xd9\xea\xa1\xdf\xda\x55\x2f\xb3\x12\x29\x42\x9b\x61\x4f\xa1\xd8\x0c\x52\x61\x4e\x84\xfa\xa2\x21\x7f\x26\x0f\xf7\xcc\xea\x8c\x7b\x06\xe3\xd7\x7f\xf8\x74\xeb\x81\xfc\x85\x97\xe5\xfc\xdc\xec\x95\x1b\x5f\xe6\x4a\x1a\xf8\x6e\x73\x19\x3a\x88\x24\x69\xeb\x3b\xa3\xc3\x82\x73\x4b\x28\x87\xb4\x19\x31\x6e\xa4\x48\xaf\xc2\x82\x47\x8c\x25\xf7\xbc\xa1\x84\x29\xcb\xbf\xfd\x88\x71\x17\x7c\x5e\xcc\x7d\x8a\xa9\xa1\xb9\xec\x87\x19\x2d\x29\xa5\x25\x39\xc0\x81\xc3\x59\x33\x32\x44\x4c\xbe\x66\x87\x2c\xf3\xd0\xe1\x97\x29\x2b\x82\xb0\xbe\x5f\xcd\x85\x8c\xd6\xca\x48\xb5\x3e\xe5\xb6\x16\x41\xbc\xaa\xf3\x1d\x81\x9c\x7e\x1c\xed\xaf\x9e\xe6\xb0\x7e\x09\xca\xed\xfb\x30\xb9\x20\x4a\x1d\x4d\xdb\x70\x56\x0c\xbe\x1e\xb0\xc0\xec\x43\xf1\xd1\x78\x20\x1b\x29\x08\x19\xfc\xdc\x92\xc6\x3e\x0d\xb6\x0f\xb8\x7d\xff\x00\xe5\x12\x64\x8c\x89\x58\xa8\x47\xef\xc3\x63\x46\x07\x3f\x1a\x4f\x1f\x23\x17\x06\x0f\x1c\x54\x3e\x6f\x01\xb4\x24\x85\xbe\xeb\x56\xca\xb3\xba\xb2\x6e\x6a\x0c\xa6\x93\x58\x02\xc7\x62\xb7\x99\x15\x9e\x32\x0f\x36\xb5\xe8\x3d\x4a\xca\x89\x62\xaa\x2c\x3c\x2b\x7a\x38\x70\xe9\xe0\x47\x31\xf3\x94\x8c\xf9\x41\xe2\x1d\x50\x96\x4e\x5d\x63\x5a\x35\xa5\x3e\x29\x98\x11\xb8\xca\xdf\xcb\x44\x16\xc5\x75\x98\xa3\xfd\x05\x41\x09\x10\xdb\xc0\xea\x2c\x78\xfd\xb9\x25\x74\x99\x7d\x58\x79\x62\x79\xea\xaa\x78\xb3\x6d\xce\xf1\xc9\xa1\x29\xee\xff\x82\x39\x9a\x26\xd0\x08\xff\xa3\xbf\x04\x18\xff\x7d\x39\xb6\x42\x7f\x34\x18\x95\x02\x4d\x16\xe2\x2a\x0c\x62\xa8\x2b\xeb\xa2\xe2\xba\xc2\x3d\xee\x18\xcf\xcd\x5d\xb2\x39\x7f\x37\x8c\x53\x67\x30\x90\x82\xc4\x4e\xb4\x3c\xed\xc1\x52\x20\x25\x3a\x62\x32\x03\x99\x66\x5f\x71\x34\x9c\xc1\xb9\x44\xf5\x8c\x73\xa1\x0a\x0b\xbf\xd4\xca\xf1\x28\x91\xe3"}, -{{0xbe,0x1c,0x11,0x2f,0x78,0xcf,0x13,0xae,0xfc,0x5c,0xe7,0xe3,0x37,0x64,0xac,0xa4,0x48,0x1f,0x9f,0x88,0xb0,0x18,0xe1,0x22,0xdb,0x9f,0x8d,0xac,0x14,0x62,0x46,0x05,},{0xae,0x38,0x99,0x36,0xbb,0xf6,0xd1,0x6e,0x3c,0x1e,0xeb,0x64,0x74,0x29,0x89,0x70,0x86,0x6e,0x12,0xec,0x9c,0x1d,0x6a,0xea,0x2f,0xd9,0xdb,0x6b,0x56,0xaa,0x59,0xc4,},{0xf5,0xfc,0x5a,0xcb,0x17,0xe9,0x95,0x7e,0xa3,0x04,0xf1,0x23,0xb6,0x50,0xe1,0x44,0xc9,0xe4,0x37,0x72,0x83,0x50,0x9d,0x43,0x1d,0xa6,0xa2,0xbb,0xd5,0x27,0xbe,0xb3,0x82,0xc9,0xf5,0x87,0x45,0xa3,0xe5,0x6d,0xcc,0x65,0x5b,0xd2,0xeb,0xb7,0xae,0xef,0xc9,0x3e,0xdc,0x3f,0x20,0xd8,0xd3,0xc3,0x79,0x23,0x03,0x1e,0xec,0x0c,0xb4,0x07,},"\xd7\x7f\x9a\xee\xa0\xfe\x98\xed\x7f\xb7\x4d\x58\x2a\x40\x2b\xcb\x79\x31\x47\x4b\x4a\x95\xd5\x23\xf3\xfb\x76\x9f\xb7\x09\x7d\x2b\xe4\xc6\xec\x10\x52\x14\x01\x63\x22\x25\x53\xaa\x8f\x4f\x89\xe4\x21\x73\x00\x14\xec\x73\x46\x97\x20\xce\xa9\x67\xf8\x8b\x6a\x48\xd0\x2a\x2d\xdc\x1a\x12\x1f\xdf\xfb\x8a\xe1\x27\x73\x8e\x29\x3c\x4d\x6b\x1b\x74\xad\x03\x84\x4d\xe6\xbf\xe8\x21\x50\x6b\x3a\x7a\x81\xd1\x9c\x37\xa7\xf0\x1c\xa4\x81\x47\x12\x19\xef\xe2\xa7\xb9\x2c\x4b\xd2\xac\x07\x74\x3b\x49\x75\x69\x64\x41\x71\x4b\x84\xd6\x3c\x54\x9d\x7a\x6f\xb6\x1f\x16\xfb\xcd\xb7\x2b\x91\x4d\x78\x82\xd0\x91\xf9\x70\x6d\xa3\x8c\x1a\x81\xa1\xc6\xa4\x0f\xbe\xc0\xd8\xe2\x38\xb5\xd5\x6d\x46\x0e\x90\x9f\x85\x47\x9f\x7a\xd8\xb1\x19\xf3\x54\x55\xe3\x40\x10\xca\xa7\xe5\xd0\x1f\x38\xe3\x01\xad\x37\xe8\x00\x5f\x6e\xd2\x9e\x4a\x10\x2d\xb3\xf6\x1d\x84\x09\x3f\x78\xc4\x9a\x96\x48\xc9\x77\xbf\x4d\x5b\x68\x9f\x71\xf4\x06\xf8\xad\x7b\x9a\xeb\x1a\xe2\x21\x33\xa8\x4c\xe1\xb2\x78\xb2\xcd\xde\x46\x59\x01\xb2\x3a\x17\x9d\x07\x2a\x80\x87\x9d\x0a\x24\xd2\xaf\x19\x7b\x32\x2a\x07\xbf\x5d\x40\xee\xab\x3a\xf1\x21\x17\xf1\x30\x21\xdf\xc1\x68\x1a\xba\x5c\x08\x3f\x25\x96\xe3\x7f\x11\x23\x42\x2b\xbd\xca\x3b\x2c\x32\xcb\x59\x4f\x56\xc3\x25\xe0\xc5\x64\xa1\x73\x32\x88\x05\x34\x59\xc6\x24\x88\x92\x5c\xd8\x0e\x7c\x94\x4d\xb9\x98\xc3\xc7\xbe\x54\x6b\xf8\x9d\x7a\x51\x1c\xcd\xba\x4b\x80\x9e\xee\x0f\xc2\x87\x3d\xad\x72\xb4\xcf\x3b\xa0\x51\x28\x9b\xb3\xf4\xe9\x92\x57\x32\xe4\x5a\xe7\x74\x10\x58\xc8\xfd\x11\x59\x9d\xd8\x43\x92\x7e\x3d\x14\x59\x8b\xb8\x30\x52\xd3\x35\x69\xcf\xb0\x2a\xf0\xc8\x8f\xa7\xae\xa4\xbb\x46\x84\x1c\xd2\xdd\xbd\xf5\x98\x8f\xcf\x32\x5f\xf1\x04\xa5\xdf\xc4\xa3\x0d\x26\x9d\x2a\x94\x97\x30\xc3\x61\x3b\xdd\xd3\x67\x3b\x42\xf6\x09\x0e\x6a\x60\xe4\xa2\x53\x06\x24\x63\xa6\x5d\x7e\x7f\xc0\x03\x0b\xba\x76\x9c\xa3\x44\xbf\xa9\xac\x82\x3f\x58\xcb\x5c\xee\x8a\x5f\xc0\xca\x37\x22\x8d\xe5\xa4\xd9\x3e\x0e\xcf\x7f\x10\x82\x16\x59\xa2\x26\x1f\x7e\xf1\x59\x6e\xda\x4e\x41\x1c\xf3\xc9\x66\x9d\x81\xde\x74\x54\x7c\xe4\xbf\x83\x3e\xb4\x32\xf3\x85\xce\x90\x38\xfe\x84\x8a\x8c\x96\xda\x7f\x01\xfd\x95\xbe\xa0\x6d\x1d\x74\x7c\x8a\xe7\x36\x49\x5b\xba\x22\x85\xbe\x5c\x32\xaf\xea\x44\x95\x20\xcf\xe8\xe1\xce\x25\xf9\x07\x7e\xd0\xec\x0f\x65\x98\xa9\xb8\xf7\x38\x6f\x15\x35\x81\x70\xcc\xef\xc3\xd5\xff\xb0\x09\x28\x81\x54\xde\x87\x7c\x24\x09\xae\x5f\xd8\xfe\xf0\x09\x3f\x1c\x36\xb3\xa8\xf5\x47\x43\x2c\xd0\xf6\x2c\x40\x33\x24\x2a\xd9\x92\x1a\x8f\x11\xc0\x0f\x36\x6d\xa9\x39\x69\x30\xa8\x0c\x99\x7d\xf4\x29\xa4\xf5\xf4\xe4\x5c\x7a\x6d\x7e\x02\xaf\x03\x31\x86\x75\x7c\x73\xcb\xe6\x4d\x2d\x4e\x78\xea\xaf\xe2\x75\x39\x52\x80\x35\xf2\xcf\xcf\x8e\xaf\x0a\x42\xbd\x25\xf8\x8b\x2f\xc6\x9e\x42\x66\x8f\xae\x66\x77\xc9\xac\x90\x91\xd9\xd1\x5a\x41\xf3\xac\xe6\x5d\x90\xa0\x22\x98\x73\xdc\xf2\x54\x25\x6c\xca\x44\x9e\xd4\xc1\x7d\x54\x35\xba\xe4"}, -{{0xbd,0x85,0x23,0xed,0xa8,0x99,0xb9,0x84,0x23,0x0e,0x32,0x88,0x75,0xb9,0x67,0x2e,0xdc,0x9f,0xcd,0x24,0xea,0x5c,0xc1,0x2d,0x7b,0x57,0x2d,0xa4,0xbe,0x01,0xfb,0x7b,},{0x02,0xb7,0x34,0xeb,0xbe,0x88,0xc1,0x3b,0xfa,0x95,0xa5,0xd9,0x64,0xfc,0x7e,0xf9,0xd3,0x95,0xbd,0x63,0x03,0xf0,0x65,0xdc,0x4e,0xe1,0x7b,0x3a,0xc1,0x54,0x8b,0x7b,},{0xfc,0xfc,0xdb,0x08,0x8d,0xcb,0xd0,0xa5,0x1b,0xd3,0x01,0xe3,0xe1,0x56,0x16,0x71,0x93,0x5d,0x8b,0x6f,0x71,0x9c,0x5d,0x92,0x69,0x06,0x40,0xd3,0xc9,0x1e,0x77,0x5b,0xf4,0x05,0x41,0x32,0xef,0xc0,0x5a,0x21,0x22,0xfc,0x20,0x9d,0xb3,0xc3,0x34,0x32,0x33,0xff,0x8a,0xec,0xeb,0xd5,0x2d,0xaa,0x2b,0x3b,0x21,0xee,0xb1,0x5f,0xd1,0x02,},"\x16\xc2\x16\xc9\xbe\x9f\x0d\x4b\x11\x54\x10\xbd\xfd\x15\x93\xc8\xe2\x62\x22\x1a\xb9\x7a\x2a\x39\x5a\x12\x19\x8f\x95\xc3\x02\x05\xb0\x89\x62\xd4\x89\x31\x18\xba\x9f\xf9\x9a\xb1\xc7\xa6\xe1\xf2\xf1\x75\x19\x10\x70\xac\x94\x53\x27\xad\x6c\x47\x0b\xab\xf7\x92\x8b\x07\xdd\x78\x8c\x85\xb6\x4b\x71\x2e\x0a\xae\x6c\x0e\xa2\x02\x81\xe4\x2f\xd5\x61\xe8\x3e\x3f\xba\xc6\x7f\x14\x00\x0e\xe5\x6d\x98\x1d\x2a\x2f\x0b\x9c\xa0\x0a\x9e\xa4\x7c\xa2\xf6\xfc\x8d\xca\x10\x35\xfc\xeb\x14\x2c\x3f\x26\xf2\x0e\x3c\x73\x22\x07\xff\xff\x11\xb7\x96\x95\xbd\xaf\xa4\x15\x21\x4a\x44\x99\x30\x23\x26\x60\x5c\xf0\xb8\xc8\x2f\x2b\x11\x39\x2e\xcc\x90\xcd\x74\xa7\xb4\x11\xb6\xd9\x07\xa3\xd5\xc1\x30\xc8\x79\xb7\xcf\x88\x0f\x22\xbb\xd7\xf0\xe9\x59\x33\x71\x8e\x96\xd7\xd1\x6c\xae\xa9\xf2\xc3\x9e\x89\xb1\x3c\xd5\x22\x66\x27\x36\x04\xa9\x6b\x51\xd6\xe3\x4f\x70\x67\x35\xdd\xd9\xfc\xa4\x4d\x09\xcd\x86\xbb\x72\x17\x60\x0e\x0d\x34\xd4\x16\xac\x24\x9f\x2e\x41\xbd\x0f\x4a\xbc\xbd\x25\x80\xad\xae\x21\xd7\xeb\xa5\xfa\x44\xf3\x9d\x78\x0f\x17\xeb\x85\xcc\xbe\xf5\x8f\xef\x90\x3a\x28\x0d\x95\xf8\xf3\x21\x07\x89\xfa\x12\xe1\x20\xe2\x1b\x6e\x8c\xad\x91\x78\x35\xbb\xdc\xc3\xb0\x7e\x84\x69\x39\x54\xe2\x3a\x94\xf9\x9f\x93\x7d\xdb\x0d\x4a\x18\xd4\x2c\x3e\xa8\xfc\xa7\xd1\xea\x6e\xd5\x3a\x00\x24\x6f\x99\xea\x52\x0e\x64\x05\xbd\x2a\xa5\x49\xb0\x6e\x7d\xa7\x22\xc1\xba\x74\xaa\x1c\x13\x6e\x8e\xa5\x8b\xaa\xf8\xd3\x76\x58\x69\x3f\x3e\x0b\x44\xf6\x31\xdd\x6d\x08\xff\xdf\x4f\x09\x18\x9d\x30\x35\xa3\xf0\x34\x68\xe2\x96\x96\xef\x05\xe0\x2c\xc1\xaa\xbf\xec\xbd\xa2\x30\x1b\x54\x0c\xb0\xeb\x0a\x75\xbc\xce\x73\xdb\x92\x73\xa9\x16\x1a\x98\xad\x89\x8f\xcd\x65\x79\xfb\x7e\x4b\x32\x79\x54\x4f\x2e\x0b\xd7\x74\xdd\x1a\x81\x57\xda\xa8\x8a\x70\x32\x11\x67\x70\x3c\x60\xa6\x08\xa4\xb5\x42\x16\x59\x03\x75\xe5\x97\xfe\x21\xae\xa9\x7b\x52\x18\x5d\x0e\x37\xa5\x3b\x63\x88\xa7\x07\xa2\xbc\x24\xac\xf9\x44\x25\xf8\x4f\x3d\x56\xbc\x9f\x7e\xe7\x41\x2a\x9e\x18\x33\xad\x55\xb7\xea\xe6\xda\x58\x16\x98\x16\x63\x83\xa2\xeb\xa8\xb6\xf5\x39\x20\xf5\x17\xa5\xc8\x0b\xd3\xe0\x3f\xaa\xd4\x08\x7e\x3e\xe8\xfe\xc9\xa7\x9a\x01\xc7\x79\x51\x21\x33\xd7\xb6\xe5\xf1\xde\xc7\x66\x30\x0d\xc4\x05\xcc\x21\xa8\xc5\x83\xfb\x73\xbc\x90\xcf\x24\x38\x5b\x08\x60\x49\xd3\xbf\x20\xc3\x00\x98\x3c\x0b\x35\x15\x38\xdc\xcb\x22\x7a\x14\xfa\xfd\x23\xac\x4b\x26\xbe\x81\xa2\xb1\x20\xcf\x21\x6f\xc5\x83\x54\xf9\xdc\xbf\x05\xf6\x63\x39\xad\x6d\xdc\x2c\xac\x14\x67\x7b\x90\xe2\x47\xeb\xb6\xc5\xc2\x29\x00\x7d\xc6\x0f\x37\x4a\x06\xd4\x04\xeb\x23\xeb\x1e\xc4\x99\x07\xc6\xe8\x81\x62\x9e\x18\x67\x26\x8c\xa6\xff\xfa\x59\xaa\x3c\xa8\xf6\xc2\x95\x16\x2b\x95\x36\xc2\xbe\x22\xbb\xe3\xb7\x23\x80\xef\x11\xb6\x1b\x35\x7a\x62\x53\x10\x0e\x30\xa5\x86\x81\x8b\xa0\x03\xfa\x3f\xfd\x1f\xc9\x19\x88\x1c\x05\x02\x2f\x94\x84\x85\x98\xf2\x17\xfe\xa2\x22\x50\x72\x20\xd1\x08\xa2\x8f\xc7\xbc\x39\xa8\xa1\x1c"}, -{{0x33,0xa8,0x5a,0xe1,0x50,0xbb,0xf5,0x52,0xf4,0x16,0x63,0xb2,0x15,0x21,0xc2,0x96,0xd2,0x46,0xdd,0x6c,0xf8,0x19,0x5d,0xf8,0x51,0xc6,0x95,0xbd,0x15,0xf4,0xa5,0x02,},{0xc8,0xc9,0xc4,0x25,0x21,0x00,0x8d,0x5e,0xff,0xf5,0x76,0xc7,0xe4,0xa5,0x60,0x83,0xce,0xd9,0xa9,0x28,0xda,0x6f,0xd5,0xcf,0x93,0xfd,0xa5,0x72,0xa5,0xa2,0xd0,0xc0,},{0xbb,0xe4,0xcd,0x63,0x67,0x6e,0x26,0xd6,0x75,0xa1,0x91,0x15,0x1d,0x30,0xdb,0x72,0xb5,0xb8,0x4d,0x46,0x1e,0xec,0x65,0x64,0xaf,0x86,0x7a,0xb4,0x1b,0xae,0x99,0x31,0x14,0x78,0x85,0x51,0x9e,0xc9,0xd7,0xe6,0xc8,0x18,0x74,0x3c,0x8e,0xf6,0xd5,0x16,0x7b,0x35,0xb4,0x21,0x36,0x3c,0x09,0xb3,0x57,0x36,0x7f,0xe8,0xde,0x44,0x3a,0x06,},"\x93\x7e\x05\xf2\xf1\xfd\xbd\x41\x73\x15\x53\xe7\x7c\xf1\x81\xb5\x07\x97\x58\x94\x0a\xee\x8e\x92\x62\x3f\xb1\xd5\xf0\x71\x28\xb7\xd7\xf1\x7e\x48\x42\x70\x7a\x56\x2c\x45\xba\x69\x26\x4c\x0f\x73\x0a\x82\x1c\x7d\xb6\xbf\x82\x99\x0d\xc6\x51\x26\x9b\x29\x6c\x33\x51\x79\x11\x30\x53\xd6\xf8\x5b\xb0\x96\xb2\x91\x11\x65\xfa\x39\x00\xcb\x10\x24\x16\x48\x7b\xa8\x07\x86\x79\xc6\xb3\x36\xdf\xf3\x87\x63\xc0\x8d\xcd\x20\xfa\x66\xdd\xa4\x5c\x57\x5d\xf1\x50\xd8\x51\x16\x5a\x48\x04\x97\x38\x30\xf4\x36\xdf\x60\xb8\x13\x19\xf9\xcf\xb5\x64\xc0\x65\x28\x96\xed\x5f\x18\x49\xcb\x33\x54\xf5\x0f\x00\x12\xf2\x86\xe8\xa3\x0c\x21\x35\x28\x69\x34\x74\x00\x4e\x85\x04\x01\x2b\x94\x55\x60\xc0\x74\xa6\xa1\x63\x43\x2c\xf4\xac\x4b\xa7\x17\x5c\xf2\x60\x05\xdb\x71\x99\xee\x96\xd8\x93\xcd\x1a\xad\x3f\xdf\x5d\x57\x46\x0e\xf0\x2d\xda\x6d\x3a\x14\x08\x25\x19\x6f\x3f\x8e\x2f\x37\xda\x36\xb6\xfd\xad\x18\x4f\x27\x40\xf1\x16\xde\x75\x8a\x92\x91\x70\x30\xc5\xfb\x80\xf0\x26\x24\x96\xd2\xdf\x93\xc7\xe2\x76\xf2\x5d\xa7\xdb\xed\x8e\xb8\xdd\x4c\x56\x3a\xba\x55\xb8\x2a\xf6\xba\x3a\x70\xca\x5f\x85\x8b\x44\xa0\x33\xcf\xb7\x95\x60\x4d\xde\xe7\x46\xe7\xc8\xae\x79\xd2\x72\xfb\x9a\x23\x41\xa2\xa2\x02\xdf\x5e\xac\x08\xde\x75\xad\x80\xc6\x58\x0d\x92\xb1\x69\xf2\xe1\x31\x88\x57\xb1\xb1\x42\x1c\x30\xf3\xdd\x46\x10\x93\xde\x2d\x34\x5e\xde\x74\x04\xb7\x2a\x45\x0d\xe0\x7b\x16\xee\xe6\x8c\xe6\x28\x87\xb6\xea\xa4\x36\xee\xe6\x84\xbe\x75\xce\x0e\x1f\x96\x26\x3e\x8d\x87\x36\xf9\xba\x00\x0d\x88\xe9\xe5\x86\x0f\x32\x8a\xe1\xe2\xdc\x73\x09\x9d\x32\xfc\xeb\x1b\xd2\xc0\x12\x36\x98\xa4\x9b\xea\xd1\x90\xa0\x0e\xc9\xa6\xf8\x71\x33\xed\xdd\x45\x31\x6f\x65\xeb\x0d\x32\x9b\x07\xb9\xa6\x6b\xb9\xfe\x42\x58\x8b\xf7\xb8\xd0\x6e\xfe\xc1\x98\x6b\x82\xa0\x81\xed\x3f\x68\x02\xe9\xbe\x73\x46\x47\x84\x55\x9a\x4f\x2c\x09\x7b\xa1\x4b\x0b\xfd\x5d\x7e\x0a\xff\x65\xcb\x69\xab\xd0\x3f\x86\x16\xcd\x7e\xdf\x7e\xc3\x68\x21\x9e\xdc\xf8\x93\xe9\xee\x71\xda\xd9\xf1\x8d\x79\xe5\x68\x26\x5d\xdc\x67\x16\x22\x32\x13\x23\x5b\xb9\x28\xe9\x08\xde\xa8\x27\x78\x4c\xd1\xaf\x39\x6d\x59\x0c\x81\xf4\xea\xcd\xfc\xf8\x9c\x5c\xac\x96\xfa\x05\x00\x64\xa2\x28\x41\xea\x71\x5f\x8c\x89\xd6\xd5\xaf\xbf\x59\x7a\x4d\x00\x5d\xbc\x6b\x13\x85\x6d\x33\x5b\x42\xa9\xa8\x2e\xdc\xb9\x49\x83\x5c\xca\x20\xb0\xa2\x3d\xe5\x1c\xc3\xae\xc3\x55\x66\xef\xf0\xc5\xae\x1a\xb3\x75\x13\x20\xd2\xc3\x10\x49\x52\x38\xed\xa3\x83\xc3\x8a\x41\x63\x15\x2b\x88\x15\x69\x0b\x8f\xf0\x15\x03\x5d\x1d\x00\xea\x4a\x0d\x6c\xaf\x32\x4b\xb7\x1a\x66\x4a\x1b\xed\x31\x48\x07\x84\xa6\x8f\x43\x8c\xaa\x35\x9e\x8d\x26\x73\xc8\x57\xd4\xb8\xc0\xb6\xc6\x95\x84\x7b\x86\x80\x0e\xa3\xd7\x34\xb5\xec\xc4\xd5\x2b\x50\x7a\xc6\x9b\x3a\x67\x78\x91\x60\x16\xeb\xc2\x31\x5f\x44\xc9\x0b\xf0\xc3\xe7\xda\xe0\x1d\x49\xcb\xc3\x03\x40\x2b\xbc\x63\x4a\xe1\x19\x1f\x3f\x6f\xd6\x3d\x30\x3b\x0c\x0b\xe0\x33\xa4\x7b\x90\xf8\xd3\xa7\x7f\x0a\x44"}, -{{0xba,0x9e,0x68,0x62,0x04,0x97,0x5c,0x3b,0xde,0xd4,0xc1,0xe9,0xf7,0x4c,0x7e,0x4c,0x7a,0x7e,0x3c,0x99,0x81,0xd0,0x1b,0xfc,0xa0,0xad,0x01,0x15,0xc3,0xf0,0xf5,0xc3,},{0x49,0x90,0xfc,0xe6,0x95,0x2e,0x8b,0x7d,0x0a,0xfc,0xf4,0xbf,0x9d,0xba,0x9b,0xce,0x1b,0xc4,0x81,0x5e,0x37,0x51,0x1d,0xa7,0xc2,0xad,0x48,0x92,0x58,0x1d,0xe0,0x3a,},{0xc7,0xd2,0x3a,0x58,0xe2,0xfb,0x2a,0x8d,0x4b,0x8e,0xd1,0xe9,0xea,0xe9,0x1e,0x11,0x29,0xc2,0xaf,0x8b,0xd0,0x5f,0x0b,0xd5,0x72,0xab,0xeb,0xbe,0x0f,0x30,0x82,0x59,0x25,0xf0,0xdf,0x71,0xcf,0xb7,0x21,0x8c,0x68,0x6e,0x55,0x48,0xd9,0x42,0x77,0x10,0xa6,0x90,0x36,0x6b,0xa8,0x55,0x41,0xc7,0x91,0x01,0xa5,0x8a,0x10,0xe8,0xaf,0x0a,},"\x46\xbb\x48\x95\x2a\xe5\x8f\x2b\xf5\x8f\x5b\xe8\xdf\x4f\x31\x6b\x50\xf3\x63\xec\x84\xee\xd8\xf8\x2f\xf4\xc0\x4b\x06\x92\xd0\x3a\xef\x26\xe8\xe1\xe6\xc9\x54\x9a\x22\x47\xd5\x40\xa6\xe2\x2f\xeb\x11\xe5\x7f\x4b\x80\x8a\x20\x97\xe8\xa7\xb6\xb3\xb7\xaf\x37\x69\xe6\xd8\x1d\x64\x88\x6e\x69\x62\x37\x2f\x4f\x39\xe4\x9c\xd4\x6c\x1b\x5f\x73\x5f\x38\x0f\x7c\x27\x7d\x09\x97\x76\xed\x1a\xea\xa5\x7a\x35\x9c\x0a\xa8\xc7\x2f\x40\xeb\x91\xa1\xbf\x07\xea\x15\x7f\x5d\xdb\x30\x40\x9d\x6e\x3a\xf9\x89\x90\xce\x7f\x30\xaf\xfd\xac\x5e\x22\x01\x06\x46\xdc\xa9\x6a\x54\x00\x60\xfc\x90\x8a\x31\x25\xb0\x00\xad\x1e\xd3\xa0\xf2\x55\xcd\x34\xf1\x5d\x7d\xd1\xfd\x68\x1c\x3c\x35\xa1\xcd\x65\x20\x56\xec\xc5\x26\x4d\x39\xaa\xf7\x2a\x9b\xb8\x3a\x55\x1c\xc9\x34\x88\x7a\xe1\x07\xaf\xdf\xef\x06\x32\x17\x27\x0d\x95\x96\x89\x14\x18\xbd\x46\x1b\xba\x63\xde\x65\xbe\x06\x7b\x1b\x78\x64\xfe\x46\x48\x4c\x7c\x9e\x96\x34\x9a\x7c\x03\xa8\x0f\xa0\x55\x05\x0a\xa1\x8a\xce\x2a\x44\xb4\xa0\x3c\x94\x78\x24\x17\x2b\x30\xe2\x10\x11\x15\x94\x43\xca\x3c\xef\xaf\x69\x6a\x7a\xa8\xf9\x80\x11\x26\x0c\x94\x36\xbf\x48\x99\x1f\x41\xd4\xd5\x07\xb9\x6c\xe7\x32\x3e\x53\x1a\xdc\xf6\x63\x47\xc5\x5c\x88\x55\x67\x3a\x9f\x2e\xc8\x9b\x5c\x80\x24\x46\x06\x17\xec\x72\x71\x77\x3b\x36\xd6\x4f\xc1\x4e\xb5\xd8\x26\x52\xc5\x3a\x30\x31\x45\x72\x27\x09\x3d\x11\x8f\xd8\xeb\x93\x84\xe8\x02\x29\x04\x1a\x96\xa6\x49\x34\x50\xf9\x7e\x67\x36\x26\x3a\xbf\x1e\xcd\x9e\x9f\xb9\xa4\xf0\xf6\xd6\x67\xfa\x82\x41\x51\x48\x5e\xdc\x37\xb3\x4a\xcf\x3d\x8c\x35\xf9\xc1\xbe\x48\xb5\xe9\x6a\x12\xaf\x8e\x2d\x35\xc2\x3a\x03\x58\x0f\x21\x1d\xa6\x31\x6b\x34\xc5\x6b\xee\x87\x2d\x47\x64\x1b\xca\x77\xda\x64\x0f\xdb\xba\xd5\xa9\xad\x8a\xb9\xdc\x79\x57\x91\x3d\xa7\x34\xad\x37\x49\x2b\xa4\xde\x8c\xf1\x36\xcc\xcd\xeb\x6b\xa3\xf1\xbd\x3f\x00\x3b\xe7\x26\x3c\x4f\x2a\x40\xc3\x3f\x24\xca\x33\x39\x59\x6e\x6c\x34\x28\x33\x81\x00\xeb\xcc\x07\x22\xd4\xf5\x0d\x30\xb3\x3b\x91\x2d\x4e\x7c\x1a\x9f\xe6\x5f\x66\x58\xa6\xf2\x39\x14\x0a\x62\xc3\x26\x1e\x10\x39\x2e\xd1\x93\x0a\xa9\x17\x65\x2d\x3b\xd2\xbe\x4e\x8a\x08\xab\x97\xe1\x45\xb9\x20\xab\xb3\x1e\xe4\xbc\xd5\xa0\xd7\x1f\x63\x81\x80\xf6\x1c\x24\x58\x23\xa3\x99\xa7\x34\xa4\xdc\xde\x09\x97\x88\x02\x45\xed\x71\xeb\x9b\xc6\x5e\x3c\x6f\xc9\x5a\xb9\x20\xb8\x02\x4c\x17\xd4\x4c\xed\x00\x37\xd0\x4a\x13\x3c\x26\x41\x78\x2f\x1d\x62\x2d\xf4\x52\x69\xb4\x91\xd3\xfa\x2a\x12\x27\x57\x9e\xaa\x38\x6d\xe3\xe7\xde\x7b\xc4\x55\xc6\xa1\x54\xee\xe5\x72\x7f\xff\x04\x37\xa2\x00\x76\xc5\xc3\xb0\x57\x7c\xac\x5b\x4b\x69\x34\xe2\x69\x38\x02\x22\x46\x1a\x60\xf9\x54\xe4\x89\x79\xc0\x67\x12\x17\xf1\x6f\x70\x27\x98\x30\x34\x12\x10\x93\x18\x6c\x78\x70\x5f\xc2\x7d\xc9\x2e\x2e\xda\x41\x16\xa6\xbf\x7d\x23\xe0\x54\x8d\x62\xb6\x7b\x25\xc4\x1e\xd0\x61\x92\xbc\x26\xef\x13\x97\xbf\x16\x01\xf3\xa6\xe2\xa0\xe7\xf6\x61\xfb\x05\x05\xee\x38\x2f\x27\xae\xc2\x80\x5a\x3e\x21\x17"}, -{{0x59,0x07,0xa8,0xc0,0x84,0x04,0x38,0x75,0x23,0x8e,0xdb,0xdc,0xb7,0x83,0x2f,0xbb,0xa4,0xc0,0x5e,0xa3,0xc5,0xf8,0x8a,0x96,0xf1,0xfb,0xf9,0x50,0x40,0x1e,0xc1,0x64,},{0xe2,0xf4,0x95,0x09,0xd1,0x00,0x7f,0x61,0x8e,0xfe,0x4f,0x1f,0xd6,0x7e,0xaa,0x6e,0x2a,0xb1,0x8a,0xfb,0x2d,0xec,0xce,0xd5,0xa0,0xb2,0xba,0x83,0x63,0x78,0x92,0x60,},{0x8c,0x49,0x12,0xc0,0xf8,0x85,0xd7,0x6c,0x91,0x40,0x59,0x50,0x53,0x73,0xa6,0x4b,0xdd,0xd6,0x7d,0xd4,0x68,0x36,0x9a,0xb9,0x18,0xf2,0x3e,0xa2,0x8e,0x04,0xc1,0x91,0x77,0xa8,0xd4,0x61,0x14,0x4f,0x0a,0x8b,0x51,0xd2,0x15,0x17,0x6c,0xb0,0x8b,0xd6,0x53,0x01,0xc3,0xc4,0x62,0x37,0xb6,0x1b,0xb1,0x49,0x8c,0xa7,0x9d,0x4b,0xe7,0x0e,},"\x43\x3b\x24\x78\xe1\x8f\xad\x5c\xb8\x10\x67\x06\x1d\x22\x55\x28\x22\x97\x78\x30\x78\x85\x47\x54\x60\xfb\xe3\x13\x7a\x5b\x44\x02\x48\x94\xdd\xbe\x56\xfa\x6e\xd0\x21\x49\x6f\x07\x86\xe4\x2b\xc6\xc2\xd2\x79\x7e\xa0\xa6\xbf\x35\x5e\x88\x11\x5f\xaa\x55\xcd\x92\xed\x42\x13\x3d\x9d\xcd\xa6\xb9\xeb\xf6\x3c\xe4\xa9\x94\xd1\xa8\x2d\x2a\x49\x26\x75\x58\xbe\x54\x18\x2a\x6f\x85\x11\x2b\xd1\x2b\x24\x7a\xda\xcf\x14\x05\xfc\x7e\xc7\xa0\x15\xd4\x3a\xb4\x0b\x82\xc6\x77\xf7\xf8\x5a\x0e\x48\x19\x7c\x5b\x96\x57\x61\x99\xf4\xc3\x34\x3f\xf7\x65\x4d\x52\x3a\x30\xc4\x3a\x05\x4c\x3e\x46\x44\x51\x27\x80\x34\xb7\xf1\x96\xc3\x66\x76\x8c\x62\x8a\xf9\x4f\xc0\xcc\xfc\x9a\x29\x55\xf9\xd3\x23\x38\xb9\x44\x78\x0f\x8e\x32\x70\x85\xb1\x03\x78\x18\x68\xe4\xfb\x79\xd5\x61\x22\xd7\xf3\xf5\xab\x30\x9e\x5d\x63\x4a\xdd\x15\xda\x38\x2c\x0d\x23\x58\xe6\x47\x18\x2b\xe4\xde\x6e\x9a\x9e\x43\xe6\xa3\xa3\xb8\x21\x5b\x20\x4d\x95\x07\x61\x0d\x46\x16\x21\x00\x0f\xb1\x89\x37\x07\xaf\x7d\x25\x95\xbf\xef\x8a\x8c\x5c\x5c\xd0\x8f\x30\x9a\x5f\xb5\x5e\x45\x51\x9a\xea\x9b\x84\x74\x8c\xa5\xc6\x72\xbf\xec\xd3\x0d\x25\x65\x12\x34\xa3\xcc\x31\x9b\x43\xdf\xce\xfc\x1a\x07\xb5\x5b\x4a\xca\x71\x4c\x2e\x7e\xf9\x63\x8f\xe7\x88\x4a\x77\xb2\x22\x53\xa0\x1a\x22\x29\x50\x0e\x9c\xe1\x0f\xda\x73\xa8\x43\xc1\x9c\xc0\x96\x26\xd2\x45\x6c\x22\xa9\xc9\x01\x88\x1d\x52\x1f\x4b\x15\xd2\xf6\x13\xcb\x46\x9d\x30\x4d\x57\x92\x23\xbc\x5f\xf7\x38\x04\xdf\x63\x71\x51\x7e\xba\xa5\xb6\x77\xea\x91\x0f\xf1\xa0\x2a\x26\xfa\xfe\x48\xfe\xf4\x69\xed\x79\x9b\xed\x6d\x56\xce\x96\x18\x34\xa2\xed\xc2\xe2\x3c\x0d\x94\x26\xec\xcd\xcc\x93\x4f\x4c\x22\x0e\x37\x81\x5f\x7c\x33\x4b\x73\x83\x60\x7d\x43\x05\x20\x94\x6a\x88\x1a\x08\x32\x5b\x41\x64\x97\x9d\x5e\x82\xcd\x81\x34\xd7\x8c\xec\x48\x61\xc0\x19\xf6\xde\x30\x1c\x1b\x9a\xec\x52\xbb\x98\x20\x33\xfb\x79\xb2\xe9\x73\x1b\xab\x29\x68\xbc\x3f\x93\xfa\x56\x04\xb8\x93\xc6\x02\x8c\x20\x4c\x36\xbb\x8c\x6b\x07\x4b\xe2\x8c\x96\x4d\x28\x49\xb5\xbb\x19\xd7\xe0\xba\x24\xe2\x2a\x20\x4d\x4f\xda\x83\xb1\x01\x31\xd3\x83\xf1\x0b\x13\x6b\xd0\xdb\xa3\x9e\xc2\x6a\xf3\x0e\x3f\xfb\x4d\xbc\x0c\x92\x1f\x0c\xc9\x91\x07\x15\xd5\x1c\x81\xfe\x4c\x62\x95\x0e\x85\x55\x49\xa1\x7c\xd7\x3a\x09\xac\x91\xe0\x6d\x46\x15\x18\x37\x6d\x0f\xcf\xa1\x23\xdf\x0a\x83\x71\x03\x45\x8d\x9c\xe2\x21\x80\x8d\x1f\x9e\xf2\xed\xc5\xcd\x2e\x68\x23\x14\x5b\x52\x48\x94\xea\x48\x52\x6d\x98\x5e\xef\xd3\xf6\x06\x79\x39\x95\x48\xe1\xed\xea\xdb\x53\x95\xb4\x3d\x87\x04\x4b\x2b\xfe\x7c\x60\x37\x02\x9b\x34\x6a\x40\x22\x27\xea\xb8\x1f\x33\x3e\x10\xe7\x7f\x1d\xbc\x06\xa2\x11\xd4\x3b\x82\x55\x86\x76\xc2\xdc\xff\x90\x82\xb1\xdd\x53\x36\x8d\xf0\x02\xde\x13\x29\xaf\x30\x00\xb1\x71\xa6\x91\x43\x89\xbb\x80\xec\x0c\x9f\x3e\x41\x2a\x44\x1b\x80\x0a\xfc\xeb\x04\x86\x70\x9a\xda\xc6\x6c\xaf\xee\xf2\x48\x83\x93\x31\xf5\xd8\x92\x19\x7e\x25\x42\x0f\x1e\x37\xd7\xc0\x24\x7f\x66\x9f\x5f\xcb\xf0"}, -{{0x60,0x20,0xae,0x27,0x3e,0x0e,0x05,0x37,0xba,0xc8,0x81,0xd7,0x54,0x9d,0x92,0x3e,0xb1,0xcc,0x20,0x0d,0x49,0xca,0x65,0xd4,0xbe,0x63,0x5e,0x39,0x17,0x3d,0xf9,0xda,},{0xda,0xaf,0x0e,0x69,0x9a,0x12,0xa9,0x2c,0x16,0xe0,0xde,0xd3,0xeb,0x34,0x50,0xa3,0x63,0x11,0x82,0x45,0x77,0xe3,0x61,0xf0,0x56,0x96,0x60,0x33,0x00,0x16,0x62,0x97,},{0xb1,0xba,0x88,0xfe,0xd7,0xe5,0xf4,0xb7,0x57,0xf3,0xfa,0x4d,0x1e,0xd9,0xb1,0x9e,0x49,0x8e,0x5d,0x2f,0x5e,0x6c,0xd4,0x6e,0x42,0x6f,0xe8,0xf0,0x39,0x88,0x2f,0x1b,0xe7,0x7a,0xc9,0xe5,0xa9,0x26,0x5c,0xbf,0x7e,0x3c,0xd2,0xa9,0xe9,0x92,0x6c,0x18,0x19,0x91,0x43,0x79,0x8d,0xa5,0xbe,0x47,0xa4,0x08,0x64,0x40,0x49,0x6b,0xa0,0x0f,},"\x6a\x80\x11\xde\x09\xaa\xc0\x0d\xb1\x6f\xf7\xe5\x5c\x2d\xe6\x7d\x8c\x98\x83\xfc\xb2\x04\x0d\xed\xbc\x1e\x32\x1c\xab\xa7\xbb\x03\x69\x71\x53\x01\x76\xd1\xdb\xba\xa9\x27\x52\x0b\xdf\xcc\xbe\xd8\x84\x01\x26\x04\x3e\xdc\x44\xcb\xb7\xfa\x35\x28\x68\x0e\x5f\x1b\x56\x64\x95\x1d\xc9\x01\x09\xae\xa4\xb9\xc3\x36\xca\x04\x3d\x82\x21\xa4\xc8\xd2\x01\x16\x56\xbf\x94\x4e\xfd\x36\xba\x0a\x10\xa4\xb3\x89\x19\x60\x55\x75\x0b\x0e\x38\x8f\xb5\x28\x70\xbb\xec\x8c\x55\x19\x81\x31\x44\x39\x45\xc0\x9f\x3a\xac\xe3\xe6\x91\x50\x14\x37\x40\x73\x26\x6f\x34\x88\x74\x42\xd7\x4f\x46\x8f\x8d\x70\x78\xbb\xa0\xbd\x81\x4c\xd6\xdd\x42\x3c\x97\xb5\x69\x05\x58\x7b\x15\x2d\x1f\xcf\xba\x0e\xb9\xfd\xe2\x11\x26\x91\xda\xfa\xf4\xf9\x21\x56\x2f\x24\x1b\x62\x84\x10\x01\x83\x4f\x6c\xe3\x66\x85\xf8\x2a\x8f\xaa\x3b\x7a\xfa\xd7\x3a\x5e\x59\xbf\x5f\x9e\x71\x3e\x59\x16\x3f\x31\xdb\xe6\x96\x11\x8a\xf3\x35\x06\xd2\xff\xea\x3d\x9c\x15\x56\xfb\x15\x2f\xd2\xb3\x21\xc3\x17\x57\xd0\xc3\xc0\xf6\x0e\xe1\x13\xed\xac\x02\xd6\x7e\xfb\xb3\x03\xdc\xe6\xfa\x88\xf7\xb9\x74\x6c\xa1\x10\xe6\xa0\xcd\x09\x9c\x08\x31\xf5\x3c\x55\xc2\x8b\x6c\x82\xaf\x44\x64\x56\xb8\x42\xb2\xc9\x50\xa5\x53\xee\x2c\x76\x5e\x97\x29\xe6\xb0\xc5\x46\xbf\xc2\x6b\xd6\xd4\x2d\x06\xb2\xed\x5d\x4c\x8c\xbb\xc7\x5f\x2a\x3a\xd8\x12\x93\x95\x79\x3d\x97\x9c\x03\x1f\xce\x7e\x20\xb3\x8b\xd8\x9c\x9b\x62\x47\x48\xb2\x01\x34\x23\xce\xba\xda\x02\xcd\xe2\x05\x2d\xa5\x66\x4c\x6c\x64\x26\xcb\xfc\x88\xf8\x4f\xf6\x02\xe2\xe2\x0d\xf9\x67\x8f\xbb\xa5\x77\xa4\xc1\x34\x51\x7e\xe0\x50\x68\x11\x51\x58\x0f\x7c\x5c\x97\x87\xb9\x6e\x55\xc4\x07\x5a\x26\xf4\xf8\xcc\xff\xbb\xb6\xea\x18\xde\x1b\x2c\xc8\xc4\x49\x6b\x16\x04\x27\x70\xb7\xec\x6e\xb5\x42\x9e\x7a\xc1\x89\x12\x32\xaa\x4e\x47\x46\x7f\x4e\x9a\x98\x5d\x80\x54\x7e\xcc\x4c\x6f\xd9\xf5\x97\x63\xed\xe9\x16\x71\xf2\xaa\x57\x36\xa5\xd1\x48\xe3\xa8\xff\xc8\x8e\x61\x25\x3a\x85\xb0\x95\x36\x54\x95\x8e\xb2\xd6\x94\x01\xcb\xea\xe7\x75\xf8\xcb\x8c\x3c\xa4\x2d\x21\x69\x3e\xbe\x29\x88\x38\xdf\x94\xc1\xd7\x7b\x12\x6a\x12\x05\xcc\x47\xd5\x0d\x53\x67\xb6\xf2\x76\xec\x8d\xb6\xb9\x53\x24\xa3\x1e\x8f\xd2\xed\x2e\x43\x42\x0c\x4a\xd0\x2e\xa2\x77\xdd\x94\x8a\x55\x19\x3d\x0f\x0b\x4d\x1c\xf2\x83\x86\xc7\x25\x97\x5c\xe5\xc1\x2d\x2a\x6f\x35\x67\x3c\xc2\x2a\x06\x94\xcc\xa4\xda\xf6\xaf\xbf\xd3\x26\xd8\x8c\x18\x50\xf8\x34\xc4\x2f\xf0\xe2\x92\xba\x4f\x13\xe5\xef\x07\x74\xa5\x96\xd3\x39\x04\xc0\x26\x2d\x31\xdf\x2c\x58\x4a\x0a\x4f\x45\x3f\x6a\xe4\xa8\x8a\x27\x5f\x7d\xe7\x9c\x13\xae\x1a\x73\x11\x5b\xe0\x2f\x42\x5c\x6f\x17\x7a\x1e\xc4\x63\x9c\x42\xa7\x92\x80\x9a\x2b\x09\x19\xeb\xd3\x21\xe3\x16\x00\x1d\x5b\x2f\x84\x89\x4f\xce\xbd\x50\xa1\xdc\xf4\x4d\x70\x2b\x92\x45\x32\xfc\x0e\x4d\x3f\x9f\xf8\x48\x6c\x0e\xd1\x80\xee\xcc\x3e\x09\xe2\x27\x2a\x94\xdc\x7d\x24\xa4\xe8\x7a\x93\x1f\xe2\x49\x5c\xbf\x99\x2c\x0a\xae\x92\x01\xe0\x79\x62\x98\xf9\x36\x3d\xba\xc4\x75\xe8\xed"}, -{{0x93,0x2a,0x20,0x0e,0xce,0xe7,0x22,0x3f,0x24,0x14,0x62,0x83,0xa4,0x04,0x8c,0x67,0xa6,0xa2,0xd2,0xfc,0x4b,0xa0,0xf9,0x24,0x8b,0xdf,0xfd,0x82,0xc6,0xcc,0xe3,0xcb,},{0xec,0x9b,0xfb,0x7a,0x6d,0x04,0xe7,0x26,0xfc,0x1e,0xa0,0xc4,0x24,0x61,0x0d,0xcb,0x79,0x67,0xbf,0x15,0xd6,0xd6,0x62,0x68,0x58,0xd4,0x11,0x19,0x8d,0x40,0xe2,0x39,},{0xcd,0x1e,0x4b,0xdf,0x4a,0x3e,0x4a,0x31,0xd6,0x52,0x54,0x33,0x3c,0x8c,0xc4,0x08,0x7e,0x4c,0xc4,0x0b,0x02,0xe2,0xa3,0x47,0xd0,0x9a,0x3d,0xde,0x69,0x84,0x90,0xc0,0x87,0xd7,0x10,0x9a,0xd0,0x20,0x9c,0x53,0xe9,0x87,0x58,0x9c,0xbf,0x3c,0xe2,0x64,0x12,0xa2,0xb0,0x2c,0xb8,0xa3,0xbc,0x93,0xfe,0xc7,0x5a,0xb5,0xd2,0xc3,0x87,0x03,},"\xdf\x95\x32\x07\x04\x82\x13\xaf\xb8\xe2\xaf\x45\x2c\x88\x9a\x21\xca\x13\x6a\x68\xc9\x29\xbd\xc8\x24\xf9\xa8\x9a\xc5\x96\xdc\xb9\x00\x19\xa4\x6f\xb6\x82\xbc\xfd\x96\x2f\xcc\xb2\x7d\x00\xba\xf8\xec\xca\xf9\xd9\xa7\xd8\x18\x3c\xab\xd7\xdf\xa5\x06\xf7\xba\xfb\x49\x35\xab\x04\x59\x31\xff\x8f\xae\xb7\x16\x31\xf9\xed\x6b\xb8\xf8\x47\x3a\xd6\x29\x0d\x7c\xf5\x19\xdb\x31\x0a\x44\x42\xc4\x61\x11\x8f\x67\xd1\xa6\xd1\x03\xba\xe6\xf2\x69\x7c\x94\xb7\x42\x6d\x9e\x02\xe3\xcb\x95\x22\xfd\x0b\x44\xae\xf6\x00\xc9\x62\xfe\xff\x58\x73\xd9\x8c\x27\x90\x88\x7b\x8e\x88\xd1\x60\x82\x4f\x1b\xba\x22\x01\x76\x39\xf8\xdc\xe6\x8f\x74\x34\x80\xde\xea\x1f\x92\xaa\x1f\xd4\x13\x5d\xd0\x64\x57\xa6\x0f\x36\xb7\xd7\xf5\x17\xd4\x0c\x94\xc0\xdd\xdc\x2e\x46\x58\x47\xd9\x09\xb9\xf6\x82\x45\xff\x2b\x42\x1d\x59\x19\x00\x1a\xae\x5a\xef\x24\xe0\x2c\x00\x2d\xa9\x07\xe8\x60\x5f\x16\x0e\xa6\x09\x6b\x58\x0b\x75\xce\xa0\x22\xd4\x02\xf7\xf5\xfd\xc4\x64\xf8\x7f\x78\xc7\x90\x6a\x01\xe8\xe4\x8f\xb5\xb3\x51\x74\x61\x2b\x48\xac\x8b\xc7\x50\xe0\xf3\xae\xb0\xa1\x2f\x7d\xfc\x09\xb0\x84\x2c\x17\x80\xa5\xfd\x9c\x54\xaf\xb9\x39\x9b\x94\x08\xba\xac\xcd\xa2\x0a\xfb\xe3\xd6\x82\x24\x8d\x7b\xf1\xef\xde\xf4\x90\x5a\x31\x9b\x0f\xfb\x10\x8b\x75\x3b\x71\xcc\x97\xe9\xe2\x1e\xc9\xb3\xdd\x28\xce\xe0\x39\xd9\x41\x8a\x11\x35\xf0\xad\xd0\x92\xaa\x66\x31\x2e\xa2\x91\x33\x00\xd1\xcc\x89\x16\x52\x43\x02\xbd\x3d\x1b\x09\xe6\xb2\x9c\x68\x57\xcb\xdc\x56\xef\x4b\x3f\x35\xd8\xee\x67\x72\x08\xef\xfa\x84\x6f\xdb\x06\x6b\x05\xeb\x71\x7b\x4d\x45\x12\x0c\xab\x72\xa7\xdb\x7a\x7c\xa8\x46\xe8\x7b\x16\xb6\x90\x47\xeb\x76\xd8\xf1\x8d\xa8\xe1\x39\x9e\xc0\xa8\xc9\xc3\x28\xcb\xe6\x0e\x0b\xf4\x20\x44\xd2\xeb\xf2\x81\x8b\x3c\x04\x75\x88\x45\x2f\xcd\x2b\x3e\xfc\x1e\x10\x09\xae\x07\x68\x87\x27\xdb\x8f\xb6\xdf\x2a\x2f\xe7\x5d\x1c\xf2\x2f\x32\xba\xc0\x9c\x82\xa6\xa3\xd7\xee\xd7\xd0\x05\x08\xcb\xe5\xb7\x24\x60\xec\xfc\xdd\x3e\xe9\x11\xef\xe5\x89\x8d\xbd\x8e\x4c\xe8\x59\x13\x26\xdd\x15\x22\xf9\xd2\x55\xda\x86\x1b\xf9\xeb\x2a\x1d\x57\x25\xd7\xd5\xd4\x27\x34\x03\x41\x94\x5e\x7b\xca\x8c\xf2\xff\x8a\x99\x74\x50\x95\x3e\x77\xd2\x03\x68\x3e\x4b\x0d\xaf\xc3\x30\xe0\x56\x72\xd2\xec\xd1\x3a\x3f\x44\x2d\xf1\x37\x04\x4e\x0f\x55\x6f\xfb\xce\xff\xea\x26\xcb\xae\x26\xcb\xa6\xf2\x56\x8c\xf3\x9f\x90\x84\x89\xe1\xa9\x2e\x76\xaf\xbf\x29\x79\x95\xda\x4b\x2c\xb1\xab\xc9\xee\x1f\xe4\xdc\xa5\xaa\x83\x8b\x2f\xbd\xc1\x09\xe8\x9b\xef\x3c\xe5\xa3\x6e\x5b\x2f\x71\x2a\xc4\xc8\x89\x43\x82\x48\xfa\x5a\x21\x50\xca\xc6\xc9\x77\xb5\xe0\x54\x3f\x40\x10\xb7\x31\x47\x32\xfd\x18\xe7\xfd\x59\x82\xe8\x32\x76\x51\x9e\x78\x72\x5e\x5a\x5e\xeb\x86\xf4\x89\x20\x84\xae\x52\xda\x38\x49\xc2\x28\xc8\x09\xed\xbf\x69\xa2\xcc\x47\xc4\x78\xd1\x87\x19\xf1\x11\xd7\x37\x88\x7c\x7a\x2e\xb3\x25\x08\x98\xdb\x34\xe5\xe5\x07\x6f\xab\x9f\x4a\x9e\x6e\x19\x29\xa3\x48\x08\x36\xde\xa0\x7b\xa4\xd6\x3f\xce\xfc\xe5\x54\x34\x30\xa8"}, -{{0x5c,0x48,0x3e,0x83,0x7e,0xb0,0x1e,0xd5,0xa4,0xad,0x5d,0xb3,0x79,0x26,0x99,0x82,0x4d,0xf1,0x3e,0x57,0x6b,0xe9,0x67,0xd1,0x21,0x15,0xc8,0x5e,0x02,0x86,0xe6,0x28,},{0xfe,0x1a,0xa8,0xb0,0x69,0xda,0x56,0xe6,0x76,0xef,0x3a,0x57,0xd9,0xbb,0xa8,0x83,0x05,0xea,0x03,0x28,0x08,0xee,0x63,0x52,0x73,0xb3,0x7c,0x5c,0x63,0x5d,0xef,0x4e,},{0xc1,0x7c,0x2f,0xbf,0x8c,0x00,0xbc,0xea,0x30,0x35,0xbf,0x0a,0x62,0xd3,0x02,0x29,0xdb,0x74,0x2c,0xab,0x11,0x99,0x67,0x7c,0x7e,0xb4,0xeb,0x0e,0xf5,0xc7,0xb5,0x1a,0xd4,0x87,0xa4,0x97,0x1b,0x63,0x1e,0x79,0x4a,0x58,0xbb,0x08,0x23,0xcc,0x0f,0xe6,0x26,0x10,0xfd,0xa6,0xa9,0xe0,0x3f,0x8c,0x4c,0x33,0x81,0xcb,0x15,0x4c,0xef,0x0b,},"\x58\xd5\xe2\xcd\x89\x9b\xa9\x85\x37\x8b\x3e\xc3\x3e\x9a\x86\x98\x22\xb2\x3d\x5d\x89\x6a\x28\xf4\x24\xfc\xd6\xe4\xcc\x28\xb8\x0d\x4a\xaf\x2d\xe8\x04\x36\x7e\xfd\xf5\xe4\x23\xb1\x23\x4d\x82\x1d\x63\xac\x05\xea\xed\x12\xc7\x3e\x8e\x36\x08\xaf\x0d\xdc\xcc\x83\x86\xb7\xd8\x42\xb1\x2e\x60\xd3\x0c\xed\xe3\x25\x53\x94\x5e\x78\x29\xe9\xb2\x3f\x5c\xcc\x2e\x71\x03\xa0\x8f\x2c\xdd\x9e\x75\xa7\xb3\x6f\x5e\x63\x72\x0e\xf0\xd4\x9b\x25\x92\xbe\xf3\x74\x02\x68\xc8\x9c\x86\xa6\xcb\xdf\xe2\x01\xde\x0d\xb9\x98\x5c\xeb\x19\x39\x9c\x9a\x1d\x5b\xb0\x58\x6a\xf3\xc8\xcd\xf2\x71\x32\x99\xeb\x04\x43\xa5\x41\xa4\x73\x84\x60\x72\x43\xc5\x4a\x05\x91\x50\x58\x36\x7d\x3f\x2d\xb3\x80\xed\x31\x7a\x8c\x12\xc7\xa6\x3e\x80\x9c\x2e\x84\xd4\xac\xb9\xd9\xee\xf5\x4c\x6f\x5a\xf7\xab\x59\xcb\x91\x68\xb1\x06\x8f\x9d\x2c\xcd\x97\x8f\xe7\x21\xba\xd6\x8a\x66\x9f\xfe\xde\xa3\xe9\x2c\x76\xb3\x2e\x31\x66\x65\x8e\xe3\xbd\x0d\xeb\x1b\x08\x41\x94\xce\x35\xd9\xa7\x41\xc5\x7f\xc2\x24\x1e\x68\xef\xaa\x65\x32\x0b\x23\xa1\xdd\x19\xea\x8b\x7e\xc8\x1e\x76\xf1\xe9\x16\x3f\x95\x92\xee\xee\x5a\xf8\xec\xed\x02\x72\xf3\x35\x12\xd0\xd4\xca\x06\x7f\x05\x55\x1b\x26\x53\x96\xe1\x00\x14\x78\x3c\xac\xac\x79\x43\x7b\x19\x84\x2d\xe6\xab\x91\xb9\xd9\x23\xbb\xeb\x50\x33\x25\xbc\x54\x86\x9f\x66\x3e\x6e\xa4\xae\x68\x97\x70\x1b\xe7\xe1\x1d\x16\xcd\xfa\xe0\xee\xe8\x61\x86\x20\x00\xe7\xa4\x16\x07\x81\x54\x7e\x42\x52\x6a\xf5\x1b\xa9\x69\x8d\x23\x4a\xaf\x51\x0d\xa8\x1a\x0d\xbf\x26\x43\x66\x15\x3d\x7a\x6d\x5e\xb3\xfb\x08\xb9\xbb\x5e\xa0\x65\xc2\xf5\xe5\xb6\xbb\x67\x9d\x2e\x21\x0b\x5b\x40\xe2\xbc\x82\xf7\x8d\xc9\xab\x58\x24\xb7\x4a\xad\xad\xd8\x9b\xf8\xa8\xb7\x3a\x0a\x2f\x43\xac\x74\x83\x78\x92\x1a\x73\xa2\x52\x70\x4a\x4a\xdb\xf7\x40\xcb\x99\xc1\xe1\x59\x4c\x37\xac\x9a\xcc\x19\xf5\x23\x15\xc6\xa8\x46\xa5\x7b\x36\x12\x8c\x64\xd7\x67\xaf\x44\xe9\xc8\x63\x05\xbf\x18\xba\x7c\xd5\x26\x80\x52\x3a\x3b\x10\x2f\xba\x6f\xe5\x55\x67\x06\x9d\x20\x47\xcb\xdd\x96\x05\xea\x12\xc8\x87\x7d\x39\x9c\x1e\x66\xe3\x38\x17\x73\x1f\x50\xb8\x4f\x81\x7d\x1f\x07\x60\xa4\x0f\x97\x46\x86\x18\x93\x41\x05\xeb\x00\xec\x50\xc7\x6d\xb3\xc5\x3f\xcf\x43\xfe\x17\x02\x90\x7d\x9a\x75\x6b\xcf\x43\x9f\x88\x31\xd0\xbf\xac\x92\xe7\x05\x8f\xb1\x57\xbe\x3e\x59\x1d\x37\xeb\x34\x16\x5e\x3c\x6f\xc6\x0e\x72\x29\x4c\x08\x3e\x47\x76\x26\xf9\x00\x1c\x1d\x73\x7c\x29\x03\x77\xdf\xa5\x8e\xa4\xea\xd3\x02\x8f\xc7\x62\xce\x8a\x3a\xfe\xc2\xe6\xe1\x32\xc6\x62\xdf\x60\x34\xab\x55\x4f\x93\xef\xac\x65\x7a\xd3\x4f\x61\x07\xd3\x47\xfc\x5c\x5e\x53\xf3\x73\x3e\x17\x8b\x76\x01\x4d\x2f\x9b\xbd\x06\xef\x2d\xfe\x60\xe2\x08\x3d\x88\x65\xf7\xf5\xb2\xac\xc0\x25\xd9\x12\xe5\xcf\x6c\xda\x6e\x79\x81\x43\xe9\xdb\xbc\x70\xa0\x21\x1d\x8e\x40\x03\xd7\x8b\x38\x3d\x66\xa6\xad\x29\x71\x7c\xa2\x4e\xdd\xef\x7d\xf7\xcd\x3a\x7e\xf6\x52\xab\xa5\x48\x7a\xfe\x5d\x02\x6c\x9b\x10\x28\x07\x29\x4e\xb2\x7d\x98\x24\xee\xb6\xb4\x0f\x08\x3d\xe7"}, -{{0xb0,0xd0,0xab,0xdd,0x84,0x44,0xe1,0x0f,0x29,0x37,0x54,0xac,0x9f,0x16,0xe3,0x1b,0xdc,0xdd,0x97,0xb7,0x06,0x71,0x28,0xaa,0xe8,0xe4,0xd7,0xf1,0x12,0x89,0xe2,0xcd,},{0x1c,0x78,0xcc,0x01,0xbe,0xa1,0x53,0x52,0xb6,0x3c,0x56,0x97,0xf1,0xcf,0xe1,0x2f,0xfd,0xd1,0x6d,0xdc,0x1d,0x59,0xe7,0x79,0x51,0xb6,0xe9,0x40,0x8e,0xe2,0x28,0xad,},{0x64,0x40,0x8b,0xdd,0x2d,0x0f,0xc8,0x92,0xa5,0xb6,0x2b,0x5a,0xcf,0x8e,0x3b,0x3c,0x73,0xc0,0xb5,0xc4,0xfa,0x2a,0x72,0xe3,0x9d,0xd6,0x08,0xd4,0x93,0x7f,0x93,0x32,0xf7,0x3e,0x14,0xd0,0x8b,0xad,0xc6,0x27,0x01,0x14,0xd1,0xf1,0xa5,0x56,0xcc,0x6e,0xe8,0x48,0x8a,0xbb,0x90,0x7f,0x79,0xae,0x17,0x5c,0x35,0x2e,0x9f,0x11,0xee,0x05,},"\xaa\x27\x6c\xc5\x43\xfc\xc6\x2d\x70\xa7\x04\x60\x8d\x98\xce\x51\xb6\x45\xb5\xc2\x4a\x64\x0a\x5d\xf1\x0a\x55\x91\x41\x7d\x10\x89\x26\xdf\x3f\x0c\xe1\xb9\x21\x03\x33\x09\xeb\x8d\x86\x59\xf4\x89\xfd\x6f\x79\xaa\x1b\xf4\x88\x2d\x72\xac\x69\xcc\x58\xd3\xbc\xe0\xfa\x89\xb1\x64\x11\xe9\x75\x3e\xb4\x0c\x6c\x4d\x59\x8d\xc8\xf4\xab\xb0\xbc\x48\xf1\x37\x03\x71\x32\x6c\x9a\x86\xbb\xc2\xac\x62\x14\x47\x8e\x78\xa3\x84\x08\xbd\xda\xfa\xa9\x59\x26\x00\xc4\x9a\x12\x9c\x05\x39\x2f\x8a\x7d\x64\x2b\x49\x13\x7a\x20\xf3\xfe\x9f\x11\xee\x17\xcf\xa3\xaf\xd2\xaf\x71\x56\x5e\x9c\x40\x08\x0b\x60\xcd\x0d\xbc\x37\x8e\xda\x06\x2c\x7c\xbc\x7f\xe9\x72\xbd\xe4\x50\x9a\x1d\xe9\x5f\x14\xdf\x48\x2f\x48\xaa\xcc\x46\x3c\xd5\x94\xf6\x6d\x64\x8d\x37\x94\x73\x8a\xd6\xab\x49\x6e\x2d\xa5\x0b\x0d\xb2\xba\x7b\x65\x91\x85\xe4\x58\x7f\x18\x2e\x83\x3d\xe7\x50\xfa\xac\xdd\xf2\x1a\xf5\xe0\xcf\x4c\x9a\xf3\x85\xb0\x4f\x7b\xe2\x31\x49\x8a\xd0\xb7\x42\xd5\xa8\x7c\x06\x11\x5d\xb2\x30\x97\x3a\x51\x42\x7f\x20\x2f\xa3\x9a\xfb\x98\x28\xb5\xf0\x3f\xa3\x27\xcb\xd5\x2d\xfe\xc6\x6d\x71\xea\x31\x98\x65\xdc\xf6\x81\x0f\x18\x58\x47\x2d\x8b\xea\x3e\x44\x7a\xdf\xb4\xb6\x07\x58\xe8\x6b\x48\x13\x37\x09\x73\x2d\x2b\xcf\x51\xc7\x6c\xaa\x84\x7b\x65\x37\xfc\xb0\x5b\xb8\xc8\x7d\xc5\xe9\xfb\x02\x2b\x32\x60\xc1\xd7\x1b\x14\x98\x59\xc9\x66\x3d\xbd\xae\x6a\x7b\xbf\xd6\xde\xb9\xd1\x23\x80\x9c\x24\x14\x01\xaf\x10\x71\x9c\xf9\x1a\x6b\xed\x16\x08\x4c\x44\x46\x07\x35\x9e\xd8\xf0\x18\xdb\x11\x15\x11\x89\x2b\x46\xbd\xac\x6c\x9c\x61\x38\x41\xde\xd8\x86\xb9\xde\xc0\x6c\x01\xe8\x04\x87\xe4\x8f\xbe\x77\x8e\x9e\x97\x50\x8f\xfd\xa0\x57\x78\x53\xaa\xbd\xca\xca\x8b\x0b\xab\x6c\xe4\x15\x57\xaa\xb9\x63\x1c\x96\xd6\x09\x77\xe3\x57\x18\xb6\x05\x95\x27\x3f\xdb\xa1\x40\xf5\x50\x0a\x8d\x35\x76\xf5\xa9\xfc\x8f\x3c\xa4\xc0\x2c\x16\x7a\xf2\xe0\x3d\x25\x75\x0b\x42\xad\xb0\x3b\x14\x17\xf2\xb6\xd2\x19\xbe\x5f\x84\x29\x33\x1a\x26\xa4\x49\xb5\xd4\xdb\x2b\x1a\x09\x15\x2e\xea\x2b\x25\xd2\xdf\x7e\xf6\xfe\x0a\x32\xe2\x5f\xae\x79\x36\x0a\x9a\xee\x15\x11\xfd\xa8\x06\x45\x50\x93\x7a\x71\x30\x97\x19\x30\xc6\x73\xbb\x35\x8e\x5f\x55\x95\x1f\x50\xb1\x46\xd8\x5d\x38\x3f\x3e\x01\xc1\x51\xec\xe6\xc0\x6d\x83\x67\x01\x25\x32\x80\xfd\xcf\xf4\xe1\x39\xd3\x31\x9a\xb2\xe2\xca\x71\xbc\xc3\xfa\x0f\xaf\x7c\x70\x2c\x9c\x60\x4e\x56\x51\xde\x4a\xf5\x70\x0e\x9e\xde\x72\x58\xb9\xbc\x14\x8d\x55\x95\xcd\x34\x17\x0e\x3e\x5c\xf2\x92\x82\x83\x90\x90\x8f\xda\x96\x1f\x22\x30\xac\x0b\x8c\xac\x64\x73\x97\x32\x70\x6c\xe2\xd5\xe5\x9a\xbd\x6d\x5e\x20\x7b\xda\xfe\xa7\x4d\x28\xd7\xa7\x58\xf2\x20\x0e\x4e\x00\xa0\xbc\xf0\x30\x6a\x3c\xab\xda\x47\x02\x4f\xab\xea\xe4\x88\xab\x5c\x32\x37\x15\xcf\x3c\xa7\x72\x0a\xf9\xeb\xbf\x85\x82\xe1\x15\x8a\x09\x9d\x73\x6b\x56\x9b\x9d\x40\x29\x58\x17\xea\x25\x54\x06\x8b\xef\x32\x44\x2c\x11\x1e\xc8\x14\xc6\xed\x41\x59\x19\xba\x73\x52\x63\x34\xdf\x30\xba\xc6\x66\x08\x4e\x56\x01\xc2\x28\x1c"}, -{{0x49,0x84,0x97,0xfd,0xcc,0x6a,0x10,0x58,0x91,0xe0,0x23,0xff,0x32,0xd7,0x5f,0x7c,0x37,0x48,0xd8,0xc5,0x2d,0x87,0xdd,0x3b,0x27,0x75,0xae,0xfd,0x81,0x60,0xa1,0x43,},{0x2d,0x79,0xae,0x9c,0xee,0x4a,0xc6,0x27,0x5b,0x05,0x74,0x9c,0x43,0x8e,0xbe,0x55,0x2b,0x41,0x3d,0x87,0x3c,0xc0,0x7f,0x14,0xf5,0xfa,0x13,0x01,0x77,0x21,0x4c,0x54,},{0xb0,0xa3,0x6a,0x2c,0x93,0x47,0x56,0x34,0x8e,0xb4,0x7c,0x25,0xa3,0x2c,0x3f,0x2a,0x5d,0xdb,0xd5,0x8f,0xcc,0x72,0xa0,0x8c,0x3c,0xea,0xd1,0xa2,0xd9,0x00,0x33,0x5c,0x30,0x01,0xe3,0x5b,0xfe,0x1f,0x3f,0xb5,0xa5,0x55,0x00,0x9b,0xa8,0xe9,0x68,0x74,0x49,0x4b,0x97,0xe8,0xb0,0x97,0x00,0xed,0xcb,0x1f,0x25,0x84,0xb9,0xd0,0xfe,0x03,},"\xbe\x38\xbc\x8c\xdf\x46\x19\x0e\x30\x4a\xb5\x3d\xd2\x9c\x2b\xc4\x09\x54\xfd\x4c\x6d\x2b\xb9\x90\xf9\x3b\x2b\x5c\x69\x1f\xdf\x05\x27\xc2\x60\xf5\x06\x61\x87\xf2\xd0\xf3\x1f\x43\xa0\x8b\x36\x0e\xa1\xed\x82\x00\x65\x17\x64\xb8\xfa\x49\x59\x5a\x15\x94\x10\x9e\x49\x67\x59\xab\x66\x23\xfa\x33\x37\x8d\x80\x0e\x61\x17\xe0\x79\xe1\x3f\xe8\x5c\x81\xb6\x3e\xbe\x24\x7b\x3d\xf6\xc1\x58\x4b\xc7\xcf\xfb\xdf\xa4\x5f\x2a\x2c\xe7\xc2\x37\xaa\xaf\xef\x8c\xbc\xa7\x0b\xca\xbc\xe0\xb8\x47\xd5\x51\xf4\x6a\x7d\x15\xce\x2a\x0d\x3d\x54\x5a\xba\xcc\x59\x30\x01\x0c\x53\x64\x88\x87\xd4\x76\xe0\xd1\x3a\x34\xfc\x1c\x54\xdf\x09\xd1\x06\xed\x75\x8d\xee\xdc\x76\x1d\x55\x7a\x73\xb2\xbc\xdd\xde\xfb\xa4\xed\x00\x59\x97\xb1\x92\x79\xb9\xd2\xde\x37\xd0\x41\xfe\x01\x3e\xef\x05\xa2\xe1\x1c\x9a\x23\x4e\x87\xcc\x0e\x16\xc0\xc6\xda\x42\xaa\xa5\xbf\x99\x64\x17\xbf\x64\xe5\xb7\x85\xd6\x7d\xc3\x25\x47\xc1\xf0\x52\x17\x8d\x69\x4c\xf2\x0f\x16\x98\x58\x9e\x7e\xd4\x9b\xe2\x9d\xd5\x9f\xd5\xc0\x1b\xa1\xd9\xf5\xfb\x06\xa7\x58\x95\xb7\xb1\xe1\x58\x95\x09\x7e\xbd\xe8\x4c\xad\x63\x03\xaa\x0a\x86\xdb\xc3\x24\x74\x7d\x97\x24\x5d\x70\xc5\x20\x3b\xe0\x1b\x06\xcb\xde\x06\xae\x03\x72\x04\xd2\x37\x30\xcd\x69\x61\x89\xf7\xac\x26\x7c\xf2\x02\x17\x99\x29\xce\x54\x10\xe0\xe3\xad\xe5\x13\xd2\x20\x1b\xfd\x20\xfe\xfa\x40\xb4\x47\x6f\x27\xbf\x90\x7c\x76\x2e\xb7\x26\x2a\x5b\xe1\x3c\xfc\x04\x7a\x84\x6d\x20\xa9\xf2\x31\x1b\x64\x69\xb0\x6a\xb5\x45\xf0\xec\x9f\xc4\x46\xea\x25\x0c\xd3\xb7\x3a\x7b\x6b\x96\x0c\x10\xca\x4c\x2d\x6c\x64\xa1\x56\xa1\x8c\x9f\xb8\x10\xe4\x9a\xfd\x0c\x36\xda\xab\x8b\x8b\x85\x66\x43\xa4\xcc\xaf\xa9\xad\x88\x6e\x91\xe5\x44\x53\x5b\x8e\xdd\xa2\x7c\x90\xc0\x6a\xb6\xbc\xc5\x36\x28\xbe\x18\xd7\xd6\x36\x9c\xa1\x80\x1f\x91\xc2\xe0\xb9\x5f\x36\xd7\x02\xf7\x72\x34\xb4\x10\x07\x19\xc0\x59\x95\x1e\x45\xb1\xf9\x16\x98\x39\x34\xe3\x2b\x4d\x4d\x8f\x29\xc0\xa3\x73\xf8\xd8\xf0\x91\x8b\x96\x78\x65\xcd\x0e\x4b\xec\xa0\x13\x27\xc9\x9d\x5f\xde\xd4\xc1\xa6\x9a\xc2\xd4\xd9\xb7\x8f\xfb\x83\x05\x67\x00\x21\x04\x02\x50\xcc\x27\x73\x7e\x75\xdf\x75\x76\x0f\xec\x8b\x8d\x30\xb2\x45\x65\x4f\x3c\x12\xf1\xf7\xce\xa0\xbc\xe7\x8a\xb3\x69\x35\x78\xaf\x3e\xa6\x1f\xfc\xcd\xf9\xba\xf7\xc3\xea\x65\xb8\x8f\xc8\x54\x12\x81\x26\x47\x67\x96\x89\x2c\x66\x3b\xd1\x45\x18\xc9\x91\x86\x29\xa1\x09\x5f\x61\x4e\x04\x92\x44\x6c\x3d\x84\xb1\x6e\xc9\x4f\x7e\xca\xda\xeb\x6b\x65\x9b\xbb\x48\x67\xb5\x79\x06\x17\x14\xfd\x5b\xb0\xfa\xa4\xad\x6b\xe0\xff\xb3\x88\x8b\xea\x44\x7e\x4e\x34\x38\xc8\xf0\xea\xe6\x44\xfb\xd4\x5a\x38\x02\xdc\x40\xec\x45\x1b\x21\x2b\xd5\x92\xda\xcd\x4d\xa9\x66\x86\xdc\x8b\x20\x24\x25\x7f\x25\xe9\xc8\x30\xbf\xf7\x95\xee\xe8\x5d\x87\xa0\x90\xc1\xa4\x23\x21\xe7\x10\x55\x57\x64\xed\x82\x57\xc9\x41\x5c\x7f\x22\x4b\x53\x75\x58\xce\xfd\xc6\x15\x12\x9f\x28\x35\x02\x67\xc0\x1b\xa0\x40\x3e\x07\xf5\xc6\x06\x7f\x91\xc8\x5a\x2c\x50\xc8\x66\xdc\x43\x88\xaf\x38\xd2\x16\x02\x03"}, -{{0xd9,0x62,0xa6,0x71,0x9e,0x5c,0xc7,0x72,0x4c,0xa4,0xa1,0xd5,0x59,0x53,0x68,0x12,0xb4,0xe2,0x2a,0xa7,0xbc,0xb1,0x3e,0x4f,0xb1,0x72,0x2d,0x28,0xe0,0x45,0x21,0x7c,},{0xa9,0x44,0x59,0x2d,0xbc,0x7d,0x77,0x03,0x9d,0x72,0x02,0x56,0xc3,0xfd,0x34,0x0d,0x34,0xdb,0x89,0x2a,0xb1,0x3e,0x48,0x12,0xd6,0x62,0xe2,0x84,0x0c,0x28,0xb6,0xd0,},{0xdf,0xb9,0xb6,0x35,0xac,0x0e,0xdf,0x83,0xb7,0xb5,0x9d,0x0b,0x84,0x09,0xaf,0x47,0x5f,0x66,0xfc,0x99,0x46,0xaf,0x0b,0x7c,0x63,0xab,0x8c,0xf5,0x92,0x9d,0x47,0x01,0xa1,0xbf,0x66,0x95,0x9c,0xde,0x62,0xfb,0xcf,0x59,0xa4,0x8a,0xb3,0xbb,0xaf,0x0b,0x9a,0x61,0xb6,0xe0,0x0b,0x21,0x81,0xeb,0x93,0x42,0x82,0x07,0x0a,0x5d,0x53,0x00,},"\xa6\xaa\x7a\x19\x0d\x00\x3a\xb1\x75\x33\x2b\x8f\x58\xe7\xca\xeb\x69\x08\x54\xd9\xdb\x56\xdb\xb6\x95\x7b\x3f\xb6\x54\xe2\xe0\xda\x99\x1f\x31\x54\x21\x42\x04\x13\x5d\xf1\xe1\x10\x43\x17\xc9\xe3\xc5\x8e\xed\xff\x1f\xc6\x1a\xba\x57\x74\x4c\x0c\x7e\xf4\x86\x00\x0a\x70\xb2\xc1\x42\xeb\xad\xdc\x07\xab\x06\x5e\x2a\x85\x5d\xaf\x19\x8a\x68\x03\xac\x24\xef\x37\x24\x48\x7c\x13\x51\xdd\xed\xa0\x51\x39\x13\x45\x7d\x76\x86\x0d\x78\xa9\xb6\xbc\x3d\xba\x66\xc4\x0e\x5f\xc3\x49\xa8\x73\xad\x60\x65\xce\x7d\x7f\xdc\x2c\xc4\x83\xb3\xae\xfb\xf2\xf0\x3d\xd6\x69\xbd\x9c\xb8\xf6\x3c\xee\x47\x78\x5c\xac\xb0\x9d\x87\x2c\x9a\xeb\x83\xe9\x86\x84\x05\x25\x43\x24\x03\x79\x82\xe0\x86\x13\x45\x5d\x95\x21\xd8\x8e\xa2\xfd\xa0\x20\xbe\x73\x0c\xfc\x8c\x07\xcb\x0b\x37\x61\x4c\xcb\xa2\xfa\x3e\xc4\x98\xb8\x15\xbb\x5a\xdb\x99\x6e\x84\x8b\x38\xc0\x15\xa6\xa5\xc7\x52\xeb\xda\xc7\xb9\xee\xd8\xb6\x96\x19\xd8\xc8\x46\xb6\x6f\x78\x16\xd1\xdf\x1e\xbc\x21\x07\x1c\xef\x0b\x25\x1e\x2e\xab\x59\x82\x7f\x6d\x60\x55\x08\x43\x70\xfd\x27\xc2\x03\xe8\x6a\x18\x9f\x1e\xe1\x1e\x84\x03\xab\xdc\xbd\x1f\x45\x34\x1a\x82\x05\x25\xd8\x63\x7d\xc4\x84\xa5\x18\x5d\x65\x51\xcb\x88\x2a\x96\xb9\x98\x1a\x5f\x1a\x82\x1f\x27\xb6\x56\xff\xf9\x0e\x7f\x69\xbf\x28\x6f\x75\x2f\x97\x0f\xfc\xa5\xc5\x3e\x08\x50\xb2\x0b\x94\xf9\x43\x16\x27\x09\x4a\xce\xa9\x12\xa8\x80\xb7\x49\xa6\xf8\x0b\xb2\x06\xcc\xaa\x74\x6f\xa7\x0c\x83\x3c\x9f\x32\x30\x89\xce\x05\x58\xc9\xdc\x20\x0d\x57\x39\xd1\xe4\x99\x63\x4f\x2c\x16\xe5\x4b\x7f\x6d\x78\x19\xc4\x70\x71\xb6\x0b\xd5\x4d\xd0\xf2\x73\xa3\x19\x75\x0f\xd3\xc5\x10\xa4\x9a\xb5\x6f\x63\x0c\x7c\xe6\xd8\x02\x3d\x97\x86\x23\x46\x85\x9b\xc0\xb4\xd6\x05\x22\x49\x69\x70\x89\x03\x76\x03\x01\x40\x9c\x60\xab\x25\x17\x56\x11\xf0\xbe\x98\xb2\x3a\x8c\xd8\xac\x53\x5e\x35\x13\xbc\x77\xe1\x45\x21\x93\xda\xdf\x44\x35\xe6\x3c\x36\x29\xb6\x66\xa5\xea\x4c\x4b\xad\x36\xea\xca\xd2\x60\x14\x04\xea\xbd\x8d\x9a\x07\x95\x6e\xc2\xb4\xb7\xbb\x63\x36\xed\x75\xb8\xdf\x8f\x16\xde\x42\xc0\xfc\xae\x93\x65\x2e\x3c\x40\x7c\xbd\x45\xe8\xd4\x13\xef\x51\xe8\x54\x2d\xf6\x25\x12\xee\x79\x3e\x41\x35\x8a\x1d\xe1\x92\x46\xc6\x58\x6b\x3c\x14\x07\x41\x04\x21\xf6\xe8\x65\xc7\x5a\x9f\x4a\x6a\x47\x88\xf8\x4a\x9c\x78\x1d\x8f\x80\x24\xbf\xdb\xe2\x5b\xdc\x7d\x4b\x69\xcb\xaa\x77\x19\x62\x8c\x0b\x07\xec\x2c\x4a\x23\x4f\xff\x4a\xc3\xd4\x93\x5b\x9c\xe4\xc8\xa1\x69\x47\xab\xe7\x95\x1f\xf8\xd9\xac\x92\x15\xe3\x38\xfa\x0f\xe9\x12\x41\x76\xd1\x7b\xac\x1e\x05\x59\x2c\x43\x98\x68\xae\x5a\x4f\x75\xfd\x1e\xa8\x2a\xa4\x54\xc2\x0a\x93\x9d\xed\xa7\x29\xa0\xe1\x96\x46\xce\xbd\x82\x20\x49\xc8\x25\xc7\xe3\x1c\x6e\xfa\xd4\x5e\x30\x6f\x2d\x9f\x05\x69\xe0\x71\x73\x31\xf4\x80\x04\xc2\x6e\xbf\xe6\x8f\x38\x43\xe9\x0f\x80\x67\x03\x2d\x21\xe7\x86\xc8\x53\x9e\x01\xbe\x3c\xea\xc5\x95\x4a\x05\x46\xc8\x4b\x73\x4d\x99\x94\x56\xa7\xc4\x5f\x8c\xeb\xaa\x47\x8e\x54\x80\x07\xf9\xd3\xaf\x83\x6f\x75\x4d\xe4\x12\x3f\x2f"}, -{{0xe1,0xd1,0x41,0x65,0x18,0x92,0x1d,0x07,0xc8,0xc3,0x9e,0x29,0x73,0xd8,0xea,0x12,0x49,0xca,0xa8,0xbf,0x65,0x9c,0xc3,0x6c,0x79,0x37,0xf8,0x4e,0xce,0x7a,0xd4,0xfc,},{0x48,0xbd,0xcc,0x3f,0x1a,0x5b,0x80,0x58,0xed,0x9a,0x32,0xef,0x1c,0xc4,0x8c,0xf7,0xa8,0xab,0x76,0xa6,0xe4,0x51,0x9e,0x5a,0x82,0x85,0x52,0x41,0xad,0x6f,0xff,0x8a,},{0x42,0x32,0xd2,0xa4,0x81,0x08,0x4d,0x11,0x96,0xdb,0x62,0xf2,0x2d,0xc7,0x4c,0xf2,0xea,0xf2,0xdb,0x0d,0xf0,0x5a,0xd7,0xcd,0xde,0x67,0xbf,0xc2,0x9b,0xff,0x56,0xcd,0xe0,0x19,0xac,0x9f,0x03,0xd8,0x1f,0x18,0x27,0xeb,0x1e,0x3b,0x0a,0xbe,0x02,0x04,0xca,0x7f,0x77,0xfa,0x87,0x4a,0xb5,0x26,0x83,0x54,0xff,0x08,0xbb,0x7f,0x48,0x00,},"\x3d\x26\x3d\xe1\xab\x91\xe8\xdd\x7b\x31\x7f\x7a\x27\xfb\x60\xa6\xe1\x83\x8c\x0c\x79\x3b\x03\xab\xbe\x70\x82\xb6\xbd\xa0\xc7\xc4\x60\x62\x26\x21\x92\xc8\x8b\x65\xc0\x26\xc1\x74\x58\x4d\x29\x64\x97\x10\x42\x9a\xe4\x4a\x46\x14\x0b\x4c\x82\xc8\xa0\xb7\x4d\x56\xa0\x04\xf8\xe2\xf5\xc1\x8f\x84\xf0\x46\x41\x53\x77\x2f\x83\x12\x63\x3f\xc6\xad\x28\xa7\xd9\xfb\x55\xf7\xd7\x8c\xd6\x48\x8c\xa5\x81\x17\xea\xf9\x23\xfa\x28\x87\x5e\x2b\x31\x89\x89\x31\x85\xaa\x3c\xcd\x04\x4d\x3f\x11\x0e\x2e\x7c\xab\xdf\x6f\x81\x4b\x9f\xdd\x67\x33\xbd\x5f\x30\x7a\x87\xbc\x73\xb6\x25\x0d\x58\x83\x93\x6d\xeb\x1d\xb0\xe0\xaf\x1b\xe7\xab\x32\x9b\x5c\x6b\xd9\x35\xbd\x8f\x8d\xc8\x88\xf0\xd1\xc4\x64\xed\xbc\x02\x3c\xbc\x08\x07\x53\xee\x8f\x79\x9f\x10\x72\xba\xd1\x14\x4d\xfa\xa6\x15\xa5\x9e\x2a\xed\xc6\x62\xe8\x3c\xb1\xf8\xe5\x20\x96\xa7\xee\x48\x3b\xf8\x73\xb2\x5a\x0c\x04\xc1\x85\x1a\x0e\x87\x37\x50\x63\xaa\x1a\x94\xfa\x83\x5c\x05\x26\x40\x36\x6b\x79\xf7\x35\xd3\x28\x61\x97\xab\x32\xeb\xdb\x51\x23\xf6\xb4\x7a\xd3\xf4\x42\xc4\x4c\x53\x0a\x68\xf8\x51\x27\x59\xe9\xcf\x38\x6f\xba\x07\xb8\x06\x4b\xc8\xfe\x83\xe2\x45\x49\x5e\xc4\x5f\x89\x38\xf8\x25\x9d\xc8\x01\x62\x05\xf7\x8d\x39\x54\x44\x2e\xc1\xb4\x45\xd8\x3d\x95\xad\x18\x05\xa5\xe0\xe8\xb3\xd5\x6b\x87\x0a\x20\xda\x18\xd7\x4f\x26\xf5\x50\xa9\xc7\x53\x4a\x41\x44\xdc\xbc\x1c\x3c\xdb\xbe\x47\x0c\xc1\x53\x90\x50\x43\x08\x8f\xac\xf1\xd3\x03\x55\x9d\xe4\x1e\x96\xc0\xab\x40\x9b\xb3\x6d\xcf\x38\xcc\x90\x38\xa6\xa4\x90\x8d\xea\x82\xa6\x53\x19\x5c\x16\xf2\x90\xa7\xc3\xac\x48\x76\x36\xcc\x5b\xcb\x18\xd1\x5a\x14\xac\x62\x4c\x70\xb6\xf6\x46\x2b\xf2\x49\xe0\x00\xce\xe9\x24\x01\x8b\xdf\x7d\xde\x39\x11\x4c\xb4\xf6\x52\xe1\x22\xe8\x74\x4d\xa2\x8b\x05\x89\xe1\x28\x4d\x70\xd9\xf1\x06\xde\x16\xd0\x73\x64\x80\x80\xe6\x43\x7f\xf3\x84\xe6\x81\x77\xd5\xcb\x71\x8e\x2c\xe3\xf1\x7b\xa1\xe9\x90\xae\x3c\xe9\x40\x66\x01\x30\xe9\x37\x50\xb8\x2e\x2f\xb4\x1a\xa3\x69\x77\x45\x68\xd7\xcf\x28\x67\x25\xe3\xc5\x8f\x63\xe7\x3f\x86\x97\xae\xec\xc7\x17\xc5\xcf\x1a\xf7\xad\x74\xf4\x46\x29\x2c\x90\x5d\x84\xe2\x2b\x23\xd4\xe0\xd2\x60\x4b\xff\x48\xfe\xfc\x40\xc6\x20\x4b\x5e\x34\xc0\x42\x29\x2e\x53\xbe\xc9\x36\x01\x59\xa5\xcd\x97\xb2\xdf\x57\x86\xb8\xf5\xa2\x92\xc0\xb3\x9d\x14\xa8\x70\xa4\x58\x8e\x67\xbd\x12\xb2\xc2\xf7\xa4\x40\x84\x62\x85\x1d\x2a\xa7\x87\x97\x1d\x93\x15\x19\x0f\x42\xcc\x58\x8a\xf0\xd2\xdc\xd9\x1f\x31\xbb\x71\x5e\x92\x50\xf1\x19\x28\x14\xf7\xb8\xa2\x1f\xef\x45\x17\xb0\xcf\x8b\xb8\xa1\xa1\xa5\xf5\x00\xee\x21\x9d\xfb\x46\x13\x2e\xfe\x8e\x90\xbc\x49\x09\x3a\x55\x59\xf9\x68\x1b\x4f\xb5\x9e\x5b\xa9\xef\x3f\x05\xd3\x4e\xed\x03\x4c\x14\xd7\x7e\xe9\x5e\xbd\x76\xff\xa5\xaf\x0b\xef\xcb\xa1\x8f\xdf\x93\x2a\xf4\x85\x45\x10\xb7\x5d\xb0\x0a\x72\x57\xb2\x34\x88\x7d\x49\x60\x7d\xfd\x16\x18\x0d\xb5\x16\xc7\xa2\x0c\xcf\xca\xed\xa6\xae\xdf\xb6\xa2\x37\x7f\xbf\x31\xe6\x7b\x51\x76\x55\xdb\x73\xca\x29\xe1\x18\x62\x4d\x60\x80"}, -{{0x2b,0xf7,0x4f,0x00,0x4d,0x7d,0x0a,0xf7,0x3a,0x83,0xea,0x20,0x8c,0xc2,0x06,0x72,0x3d,0x18,0x8f,0x4c,0xf6,0x07,0xbc,0xad,0x4b,0x69,0x80,0x26,0x8f,0xf2,0x1f,0xa7,},{0x8f,0xdc,0xd9,0x93,0x52,0x43,0x8b,0xeb,0x52,0xf0,0xd1,0x74,0x2b,0xae,0x71,0x84,0x45,0x12,0xdd,0x06,0x85,0xaa,0xf1,0xc9,0x09,0xe3,0x8f,0xc4,0xb5,0xaa,0xb6,0xcc,},{0x3e,0xb5,0xb3,0x39,0xe1,0x91,0xa3,0xb6,0x16,0x85,0x45,0xda,0x5f,0xb0,0xca,0x9b,0xe2,0x09,0x04,0x39,0x19,0xb9,0xc7,0x0a,0x07,0xb4,0xa7,0xa3,0xbf,0x64,0xb1,0x02,0xf6,0xff,0xd6,0xd2,0xb0,0x25,0x59,0xdc,0x68,0x1e,0xd3,0xb9,0xc8,0x22,0x97,0xb2,0x01,0xdc,0x25,0xc4,0x97,0x38,0x80,0xe1,0x55,0xe1,0x3a,0x29,0x42,0x6e,0xb4,0x0d,},"\x89\x8e\x43\x03\xea\x5b\xeb\xd2\x00\xa5\xf7\x56\x2b\xe5\xf5\x03\x26\x40\xa3\xf5\xcc\xfa\x76\x42\x92\x04\x5a\x1a\x36\x8d\x02\xaa\x59\x10\x77\xd8\xf3\x04\xf7\x4d\xbd\xfc\x28\x07\x34\x45\x4e\xd8\xc2\x72\x7a\xff\x39\x2c\x10\x8c\x52\x6e\x52\x7e\x67\x2c\x53\x97\xb2\xd7\x7c\x01\xf7\x74\x1e\xf8\xdc\xc2\x51\x0e\xe8\x41\xb5\x9d\xd1\x0f\x4e\x1d\x3a\xc5\x01\xaf\x7c\xbd\xb8\x5b\xa3\x11\x29\xc2\x62\xfd\xe1\xa0\xc8\xbc\x83\xd6\xff\x94\x4b\x6b\xae\x3f\xa7\xfb\x62\x58\x7c\x68\x1d\x8e\x34\x29\x65\xc5\x70\x5f\xd1\xa6\xab\x39\xe5\xa0\x77\x0e\xe7\x79\x8d\x9f\xb6\xc0\x01\x8a\x51\x4d\x53\xaf\x84\x8d\xb6\x04\x7c\xd0\x2d\xb3\x52\xd5\x56\x3b\x53\x66\x23\x73\xb9\x71\x93\x5a\x1a\xc2\xb7\xb6\x36\x1d\xac\x67\x48\x77\x18\x13\xf7\x74\x93\x16\x69\x49\x61\xb9\x40\xff\x38\x05\x81\x1a\x49\xfa\x27\xa9\xba\x45\x7a\xd2\x88\x48\xc6\x97\x05\x0e\x01\x88\xd0\x77\x3e\x17\xfb\x52\x19\x4e\x19\x0a\x78\x72\xa3\x98\xf3\x1c\x0f\x0a\xe0\x65\x37\xa2\x73\xff\xb5\x0c\x2c\x81\x64\x45\xab\x88\x28\x11\x92\x2c\x06\x21\x55\x6c\x46\xa3\xa0\xec\x40\xbf\xed\xb4\x11\xe9\x0b\x6d\xb1\xdd\xd4\xbb\xeb\xb5\x7d\x10\xdf\x56\x6a\x63\xd7\x26\xa3\x33\x08\x51\x4c\xe3\xb4\x99\xd5\xe5\x26\xc2\x2b\x95\x6d\x8b\x99\x91\x3d\xcb\x13\xe4\x37\xe9\x47\xb6\x66\xc4\x1c\x54\xd8\xb3\xae\x23\x56\x64\x7e\x80\x17\xab\x67\x83\x86\xc9\x27\x21\x9a\xe7\xbd\xdc\x0d\x82\x12\x65\xf9\xdc\x4f\xf3\xf8\xce\x5b\xe6\x0f\x8e\x9d\xef\xc5\xca\x33\x50\x68\xee\x29\xfe\x83\x04\x91\x7b\x78\x87\x84\xa2\x38\x8a\x32\x01\x92\xf9\x32\x5d\x0e\x6c\xff\xfe\xa2\x1e\x6e\xaa\x29\xe7\x70\x7f\x63\xa9\xea\x4f\xbb\x25\x58\xe3\xd0\x83\x5b\xab\x1f\x52\x36\x10\x37\xae\x59\xe5\x03\xee\x96\xb9\xd7\x08\xa4\x7a\x3a\xe4\xba\xd1\x13\xe2\xa4\x60\xa2\x69\xcc\xf2\x5a\x00\x03\xcb\x3e\x68\xa5\x51\x86\x4e\x59\x84\x09\x14\x79\x11\x26\xf9\x54\x78\x8b\x25\xb5\xaf\x5a\xaf\x58\x6e\xbb\x87\xfa\x5f\x37\x7b\x4d\x7d\x7f\x84\xc0\x00\xdd\x2c\xb4\x40\xe2\x14\xd3\x8d\x5e\xcf\x70\xf2\x0e\x98\x81\x82\x8e\xda\xa1\xdb\xec\x37\x09\x3d\xb9\x60\x68\x6c\xa1\x23\xf1\xec\xba\x63\x36\xb3\x7f\x46\xcf\x76\x5b\xe2\x81\x4b\x9e\x67\x05\xbc\x9d\x6a\x49\x31\x81\x18\xc7\x52\x9b\x37\xc8\x4e\xc8\x8d\x58\xa8\x45\x3d\xcb\x69\x2c\x9a\x36\x01\x6b\x94\x8e\xbe\x6f\xb2\xc1\xd0\xad\xf5\xf1\x98\xee\x30\x97\xa6\xff\x0b\x8e\xeb\xba\xd8\xb0\x76\x93\x30\xb1\x86\x89\x51\x6b\xc0\xfe\x66\x8b\x0d\x05\xe3\xa5\x84\xfc\xf8\x9c\x49\xdb\x50\x1d\x61\xc2\xde\xf7\xed\x37\x22\x07\x01\x93\xa5\xb6\x83\xc5\x08\x7e\xf2\x74\xce\x6a\x19\x3d\xd4\xa3\x03\x53\x6c\x67\x93\x4b\x46\x60\xa8\x41\xee\x1b\x44\x6a\x68\x92\xb1\x4d\x0b\x0a\xa3\xe9\x8f\xdf\xfd\x43\xc7\x97\xad\xd3\x65\x83\xf7\x4c\x94\xd0\xe2\xd6\x8e\x2d\xe8\x18\xd9\xaf\x20\x05\x98\xf0\xb2\xbe\xae\x16\x9c\x8d\xfb\xc4\xd3\x97\xe6\xd1\xce\xb6\xda\xa6\xc9\xf6\xbb\xf4\xf8\x31\x1b\xa2\x6f\xfb\x19\x4d\x44\x21\x6c\x51\x30\x52\x67\x07\x4e\x85\x6a\x1d\x6e\x92\x27\x80\xf4\x79\x8e\x2f\x22\x02\x23\xff\xf1\xdc\x37\x0c\x8e\x34\x51\x4a\xba\x42\xdf\x51"}, -{{0xf5,0xf7,0xd5,0xb7,0x3c,0x5a,0x65,0x30,0x1b,0x5b,0x4c,0x67,0x10,0xed,0x12,0xc1,0x6e,0x79,0x03,0x17,0x7d,0xb7,0x92,0xca,0x71,0x5e,0x23,0x38,0x9d,0x05,0xd8,0x3e,},{0x7c,0x47,0x62,0xe9,0x79,0xf0,0xc7,0xe2,0x07,0xbe,0x18,0x43,0xe2,0x66,0x6a,0xca,0x27,0xea,0x89,0xbf,0xf5,0xb6,0x1d,0x57,0x3c,0x98,0x5f,0xc7,0x02,0x5e,0x1e,0x28,},{0x58,0xfb,0x39,0x2f,0x82,0xd5,0xe5,0x2f,0xf0,0x72,0xcc,0x77,0xef,0xe0,0x48,0xf2,0x23,0x52,0x50,0xc7,0x11,0x25,0xee,0x82,0x1c,0x5f,0x3b,0x39,0x3b,0xcf,0x2f,0xa4,0x6b,0xe4,0xc5,0xd8,0xca,0xf1,0x3c,0xb5,0x19,0xef,0xe0,0xc2,0xfa,0xd9,0xee,0x23,0x1a,0xe9,0xb6,0xfd,0x1f,0xd5,0x09,0xc9,0x8c,0x69,0xc2,0xd3,0x6c,0x75,0x3e,0x0e,},"\x7c\x93\x18\xd5\x6e\x63\xf1\x65\x35\x43\x6f\xa4\x5a\xfe\x27\x8e\x74\xe6\x18\x81\xbb\x46\x89\x97\xd0\x41\x8b\xc7\x20\xb6\x30\xda\xdb\x81\x28\xb4\xb6\x5c\xa6\xe9\x21\xe5\x01\x81\x3d\xf9\xfe\x03\xb4\xef\x0a\xae\x80\x35\xdd\x08\xc5\xf8\x20\xce\x5d\xf1\x2e\xe1\x18\xd9\xc3\x6d\x3b\x15\x1a\x52\xc3\xf9\x6a\xe1\xca\x4c\x82\xfd\x19\xda\x66\x9d\xdb\xa9\x4f\xeb\xf8\xea\xc8\xc4\x2b\x44\x7b\xab\xc8\xa6\x0b\x36\xe8\x03\x62\x4f\x7d\x20\x47\xbd\x8d\x8a\x15\x36\x87\xf1\x0d\xc1\xca\x82\x10\x0b\x7c\x87\xd3\x23\x70\xec\x8f\x26\x71\xed\x7d\x06\x7c\xc8\x05\x87\xca\xb8\xdb\x3a\x71\xce\x5e\x40\x63\x27\xf7\x63\xec\x1b\x3c\x16\x67\x70\xa7\x55\x36\x63\x0c\x81\x5f\xd8\x26\x75\x82\xd1\xb5\x05\x1f\x0f\x82\x1c\x02\x15\x0b\x2e\xef\x34\x9b\x50\x59\x03\x14\xaa\x25\x70\x79\x3f\xa6\x4a\x76\xed\x2e\xd8\x3d\x2b\xa1\xf9\xb9\xf1\x16\x31\x54\x61\x2b\x49\xa6\x4a\xd8\xd5\x57\x3c\x25\xb1\xcd\x37\xc4\x1a\x44\xe3\xdf\x78\xf1\x05\x3d\x90\xb0\x68\xf0\xd3\x7a\xe0\x0c\x4a\x32\xb1\xa3\xff\x87\x4c\x41\xda\x4a\x70\x43\x39\x2f\x18\xef\xe5\x51\x8d\x76\xe8\x8b\x41\xce\xd6\x9e\x6f\x4c\x01\x4f\x06\xeb\xc5\x14\x6e\x61\xe8\x2f\xae\x1c\x49\xc3\x7c\x39\x4f\xea\x34\x19\x9a\xb8\x6c\x11\xa4\x46\x7a\x37\x4e\x40\x25\x5a\x05\xd4\x26\x97\x14\x30\xd5\x6c\xdb\xa2\x5a\x21\xad\x77\x9c\xc7\xf6\x2d\x22\xcd\x87\xb6\x0f\x08\x91\xbd\x85\x6a\x51\x7e\x14\xb7\x2a\x9a\xc7\x67\x2e\x4e\x8f\xb3\x74\xa9\x75\x8a\xb0\xc4\xe5\x96\x4a\xae\x03\x22\x89\x73\xf1\x73\xa5\xd4\x2a\xef\x9d\xb3\x37\x36\xc3\xe1\x8d\x8e\xec\x20\x4a\x1a\x17\xb9\xd0\x45\x93\xde\xa4\xd8\x04\xcb\xc8\x1b\x9a\xc5\x45\x80\x50\x49\x55\x39\x99\x9a\x99\x85\x48\x7e\x7c\xa1\x1c\x37\x58\x2e\xf8\x5c\x84\x1e\x8f\x06\x5e\xa9\x8f\xdd\x6b\x1c\x60\xde\xa1\xec\x28\x83\x52\x15\x68\x85\x6a\x6e\xbb\x27\x49\xf2\x07\x2e\xb4\x34\x48\xbe\x07\x05\xed\x47\x7c\xf4\xb2\x00\x48\x65\x21\x7d\xe5\xfa\xdb\xe2\xa0\xf9\xd6\xb8\x4b\x3f\xe7\xf7\xbf\x6c\x77\x53\x74\x96\x24\x6e\xc7\x96\xb8\xef\x2c\x04\xf6\x8a\xb5\xb1\x4f\xce\x0c\x6d\x28\x7b\x83\x62\x27\xd9\xf0\x8f\xa0\xee\x19\x72\x2f\x67\x98\xa5\xd8\x28\x0d\x10\x7c\xfc\x1b\xd5\x92\xd9\xdd\xc7\x24\xea\x86\xfc\x39\xdc\x94\xa3\x94\x01\x9e\x3a\x3d\xe9\xe0\xd1\xc7\x35\xe8\x62\xde\x2b\xb9\x52\x5b\x5f\xb4\xbd\x12\x12\x12\xbf\xaf\xf9\xff\x58\x6a\xc3\xc7\x5c\x5a\xce\x74\x6d\x9c\xa3\x07\xf7\x95\xff\x26\x97\xf2\xb4\x1a\x63\x46\xed\x23\x39\x7e\xb3\x88\x98\x69\x1e\x6f\x66\x84\x16\x37\xd0\xab\x0d\x96\x83\x09\xe0\x19\x40\x02\x30\x90\x15\x41\x6e\x74\x47\x2f\xe3\x24\x25\xd4\x5f\x07\xc7\x71\x19\x18\xb1\xe5\x79\x0f\x57\x2c\xe4\x44\x10\x42\xd4\x26\x03\x37\x92\x29\x7b\x5f\x81\xe0\x80\x9b\xd9\x69\x1f\x0a\x50\x5e\x32\x59\xfc\x03\xc9\xff\x10\x7e\xb9\xb4\x87\x95\xf4\x9f\xb0\x9c\x1b\xab\x56\x59\xd3\x9f\xfe\xcb\xdc\xc4\x03\xe3\x80\x3d\xc0\x12\x43\x8c\x2f\xb3\x6f\x68\x30\x15\xc5\xdf\x04\x82\xcb\x7d\x7f\xc5\x75\x73\x64\xa0\xa3\xc1\x0d\x0e\x12\x59\xc0\x1f\xcc\x4d\xd5\x49\x4b\x52\x90\xa6\x94\xae\xa3\xf6\xfa\xe5\x47\xac\x57\x6f"}, -{{0x43,0xd4,0xbe,0x6d,0xe9,0xcb,0x00,0x89,0x8e,0x99,0xdd,0xcc,0x2e,0x15,0x30,0x11,0x0f,0xa2,0xcb,0xc4,0x37,0x6c,0x48,0x5e,0x9c,0xa5,0x7f,0xd6,0x55,0x86,0xd8,0xa3,},{0x36,0x32,0xad,0x38,0x9b,0xe2,0xfa,0xb3,0xfb,0xa0,0xd8,0x04,0xbf,0x63,0x45,0xcd,0x32,0x2e,0xdd,0xd6,0xa7,0x5d,0x8c,0x37,0xfd,0x4b,0x5b,0xa1,0xc9,0xc2,0x5e,0x8f,},{0x86,0xae,0x93,0x25,0xf8,0x0b,0x98,0x86,0xc8,0x38,0x1f,0x96,0xa1,0x8c,0x21,0x20,0xe6,0xdb,0x01,0x6a,0x0d,0x6c,0xa2,0x82,0xed,0x93,0xba,0x9b,0x61,0xca,0xec,0x02,0xde,0x88,0xef,0xca,0x8b,0x8e,0x91,0x6a,0x4b,0x16,0xa5,0x85,0x25,0xa2,0xf6,0x8d,0x21,0xe5,0xfb,0xe6,0x7d,0xb4,0xc4,0xd6,0x20,0x95,0x95,0xc4,0xab,0xc3,0x2b,0x09,},"\xd9\xd5\x5d\xab\x0f\xa6\xda\x76\xb6\x8e\x84\x1c\x24\xd9\x71\xba\xc1\xf7\x9a\xf5\x13\xd8\x34\xe4\x26\xa5\xd0\x81\x14\xce\x8b\x54\xce\x8b\x7a\xfe\x01\x6b\x0f\xad\x03\xee\x74\x50\xc6\xc3\x09\x71\x73\x68\x1a\x4b\x2e\xb9\xf9\xc1\x79\xa8\x8e\x7c\xc3\x68\x13\xf2\xf5\xd1\x5f\x79\x98\xaf\xa9\xfd\x4e\x54\x6c\x73\xbb\x42\xe7\xf9\x52\x2b\xe6\xaf\xab\xca\x8c\x7b\x64\xfe\xd0\xe2\x92\xe4\x37\x5f\x3e\x1e\x5f\xd9\xfc\xb5\x39\xf4\xe5\xe5\x43\xfb\x6a\x11\xa0\xdf\x32\x1e\x70\x08\x4a\xaa\xbb\x70\xa9\x95\x0c\xee\xe3\xd8\x79\xc3\x86\xef\xca\x1e\x59\xc3\xcb\x7c\x45\xb5\x60\x09\x5e\x7a\xf0\x0f\xf5\x2f\x8a\x1a\xaa\x9c\xcf\x09\x2f\x0b\xb8\x06\xd9\x76\x10\x74\x2a\xc5\x82\xa3\xab\xbe\xdd\xf3\x9f\x49\xd2\x29\xd3\x2a\x11\x86\xd0\x21\x51\x8d\x74\x72\x8d\x13\xd9\x62\x63\x5d\x63\xba\xa6\x74\x3b\x12\x6b\xf4\x58\xfa\x2a\xc7\x56\xfb\xf8\x80\x96\xc8\xd3\x34\x0c\x62\x23\x90\x53\x4a\x74\x3f\x18\x64\xd5\x4d\xea\xb5\xe5\x53\x63\x72\xce\x5a\xc9\x37\x62\x28\x74\x14\xea\xe1\x58\xa7\x6b\xf8\x1d\xf5\x41\x7c\xf4\xc0\x47\xbe\x3a\xc1\x47\x5c\x51\x7e\xbd\x3a\xc1\xd1\xd1\xbd\xda\x11\xb3\xf9\x9c\x18\x17\x3e\x03\x0a\xcd\x51\xd2\xb5\xcf\x79\x51\x65\x09\x41\x54\x05\x07\x75\x11\xbd\xd9\xcb\xe1\x7d\x04\xf4\x78\x05\xe9\x8d\x0d\x14\x5e\x60\xa5\xd0\xe0\xf4\x53\xcd\x9b\x5c\x1a\x24\xf1\x2b\x75\xe8\xcc\x34\xd5\xe0\x06\x91\xff\xac\xbf\xf7\x88\xfe\xa8\x34\xd9\xd7\x79\xc1\xe6\x10\x29\x4d\xce\x19\x17\x0d\x28\x16\x0c\xff\x90\x9b\xea\x5a\x0a\xa7\x49\x40\x17\x40\xea\x3a\xf5\x1e\x48\xb2\x7c\x2b\x09\xf0\x25\x44\x42\x76\xc1\x88\xc0\x67\x1a\x6d\xa9\x4b\x43\xd1\xe5\x25\xe6\xa4\xa8\xa1\xa7\x3d\xfe\xdf\x12\x40\x18\x46\xba\x43\x06\x8a\x04\x09\x2b\x12\x91\x22\x70\xd2\xb6\x0d\xf6\x09\x97\x79\x75\x6b\x8b\xbb\x49\xec\xe8\x2d\x55\xf0\xf8\xdb\x1b\x80\xfb\x4b\x59\xbb\xa8\x60\xbd\x18\xc7\x5d\x6c\x83\x4d\x69\x44\x2a\xe0\x31\x4c\xf2\x39\x9f\x53\x92\xa3\xc6\x72\x8c\x63\xe5\xc5\x16\xc4\x22\x2a\xac\x60\xf9\x16\xdd\x63\xd1\xd0\x51\x7e\x8e\xb1\x0b\xd0\xe1\x5e\xb9\x06\x14\xde\xb2\x96\x40\x3a\xd1\x5b\x8c\x12\xb9\xe9\x71\xef\x2f\x01\xe5\x9f\xc3\x5d\x90\xc5\x5a\x8e\x20\xe9\x43\x7d\xd4\x34\xb2\x6d\x5c\x2c\x6e\xc2\xd5\x3a\xce\xc1\x7e\x81\xe4\x78\x31\xdc\x2d\xe8\x21\x83\xd7\x13\xb5\x9a\x4d\x1f\x46\x96\x9d\xdc\xdd\xaf\x27\xf4\x4e\x5a\x31\x1a\xaa\xc3\x9c\x3d\x5a\x97\xbc\x90\xca\xd7\x12\xf4\x6f\x85\xe6\xc8\xfb\xf5\xd5\x8d\x8b\xc3\xec\x27\xd3\x10\xa9\xea\xf2\xc3\x69\xcb\x00\x64\x97\x70\x39\x0a\x3f\x98\x8f\x36\x2e\xfc\x15\x5f\x56\xa1\x46\xa6\x26\x50\x54\x7e\x91\x53\x25\x07\x01\xee\xad\x1b\xd0\x1c\x89\x46\x22\x72\xdf\xaf\x0a\x43\x1a\xf4\xbd\x7c\x3d\xb4\x51\xad\xa6\x03\x23\x3f\xda\xd3\xaa\x89\x99\xaa\x21\xe2\xd3\xa4\x3b\x0b\x56\xfc\x6a\x91\x24\xd3\x35\x98\xb3\x73\x7f\x4e\x5c\xb2\x58\xbe\xda\x75\x6a\xd2\xe1\x7d\x06\x91\xd1\x5d\x41\x6b\xb7\xcb\x07\xec\x8d\x8c\x7a\xf5\xde\x80\xe5\xb9\x39\x4e\x32\x0c\x4c\x6e\x43\xef\xaa\xe6\x84\xad\x00\xf6\xdd\x20\xa8\x75\x0e\x95\x9c\x2f\x04\x20\x6f\xc0\x23\xaa\x19\x0c"}, -{{0x7d,0x01,0x0d,0x76,0x0f,0x24,0xe5,0xa2,0xde,0x34,0x08,0x9c,0x9f,0xdb,0x19,0xc3,0x3b,0x15,0x5b,0x0a,0x37,0xca,0x45,0x5a,0x5e,0x5b,0x1d,0xae,0x7a,0x07,0x31,0x76,},{0x4c,0x87,0x7b,0x3c,0x49,0x71,0xfb,0xb5,0x51,0x16,0x6e,0x21,0x4d,0x1c,0x76,0x24,0xc5,0x22,0x77,0x90,0x3c,0x59,0xa5,0x62,0xa8,0x0b,0x91,0xa8,0x54,0x83,0xfb,0x47,},{0x55,0x70,0x61,0x38,0x79,0xae,0x22,0x77,0x8b,0xd5,0x4f,0x14,0xfb,0x6e,0x8c,0x02,0x56,0xa7,0x1f,0x3d,0x79,0xc3,0xe5,0xcd,0x8e,0x41,0xae,0xa8,0xcf,0x77,0x3e,0x24,0xd2,0x9f,0x1f,0x1b,0x24,0xf8,0xc8,0x0d,0x29,0x49,0xe8,0x20,0x14,0x65,0xdb,0xde,0x89,0x40,0xb1,0xfa,0xb6,0x48,0x3b,0x08,0x5d,0x41,0x8e,0x25,0x10,0x14,0x20,0x0c,},"\x86\xe2\x11\x55\x72\xbf\x4c\x01\x3e\x6b\x4b\x04\xd0\xb0\x3e\x60\x6e\xe7\x0d\x92\x9c\xb8\xec\x36\xf4\xe2\xf3\x55\xdb\x3b\x5e\x15\x73\xd6\x58\xd1\x7b\xb1\xa3\x10\xc1\x69\x89\xa1\x6b\x95\x58\x92\x2e\xe4\x93\xf3\x59\x04\x21\x03\xc4\xdc\x1b\x40\xdf\xf7\x70\x99\x01\xfd\x58\x30\x13\x3f\x42\xc4\x65\x1e\xca\x00\x8b\x49\x9e\xe4\xf8\x4c\xd4\xec\x1e\xda\xa7\x82\x56\xed\xb6\x2f\x24\x02\x1a\x00\x76\x25\x69\x19\xe4\xe2\xce\x0a\x5a\x20\xf9\x21\xc2\x78\xcc\x29\x91\x59\x64\x4b\x5e\x3a\x3b\xbd\x08\x9d\xcb\xbe\xba\xd3\x76\x6a\xea\x77\xe9\xf0\x8e\xe5\xf7\xd4\xc1\x9d\x81\x70\xbc\x3d\xe1\xba\x77\x9a\x76\x99\x14\xf9\x65\xdb\xde\x2b\x61\xba\xd2\x14\xc5\x08\x18\x60\x41\xf7\x6c\x25\xbe\x95\x76\x56\xf5\xcf\xb7\x33\x4e\xb8\x38\xa3\xcf\xbc\x55\xcf\xba\xb6\x7a\xdf\x15\x52\x61\x99\x41\xb8\x35\xcd\x3e\x34\x10\x3b\x18\xb4\x91\x31\xe8\x20\x96\xf0\x5f\x57\x0b\x89\x98\x04\xba\xb8\xb6\xcb\xad\xdb\xbc\x02\xf9\xf3\xb5\x59\x73\x6d\x99\xca\x7b\x02\xd3\x26\x8f\xa2\x73\x99\x6f\xcf\x05\x71\x97\x7d\x1c\xc3\x00\x8c\x4e\xf8\x48\x97\x0e\xe3\x50\xb1\x58\xc4\x7e\xc2\x77\xad\xd4\x74\x2f\xa2\xbc\xbe\xa9\xbd\x55\x49\xc7\xbc\xa0\x38\x02\x0e\xce\x68\xf1\x88\xc1\xea\x3a\x62\xdd\x9a\x07\x3d\x4c\x13\x8c\xa8\xa9\xac\x04\x08\xdc\xfd\x46\xe3\x6b\xdf\xf7\x39\x88\xa5\x8b\x96\x17\xca\xa0\x8b\xd4\x1b\xf3\xe8\x12\xe7\x82\x4f\x0f\x7e\x81\x46\xa4\x44\xf3\x6b\xf5\x3a\x1c\xd8\x92\x03\x9c\xcd\x33\x5f\x5a\x2e\x79\x74\x5e\xac\x96\x14\x8c\x2a\x29\x99\x47\xf1\xb2\xe3\x28\xa3\x78\x9b\xf1\x3c\x6d\x73\x50\x6f\x3b\xdc\x68\xea\x48\xab\xf0\x02\x27\x0f\xe4\xee\x9e\xf9\xed\x6b\x10\xc2\xfb\xb4\xff\x12\x75\xb9\xd7\xdd\x35\xd8\xa5\x2e\x37\x17\x58\x57\x4c\xb4\x66\xc5\x7b\x5a\xbc\x24\x29\x76\xbe\xfc\x8d\x98\xa0\x13\x1b\x9b\xb8\x46\xb2\x19\xe4\x66\x91\x86\xa8\x3c\x05\x6c\xd8\x08\x06\x61\xde\x16\xb5\x1c\xe5\x76\x7b\x22\xe9\xa9\x32\x42\xbf\x8d\x32\x05\xc6\x6a\x67\x3c\xe7\x83\xd1\xc0\xd3\x7b\x63\x00\xfb\xf0\xd6\x12\x79\x40\xf8\x8f\x18\x19\xc4\x50\xdc\xc9\x05\x43\xed\x79\x4f\x1f\xd4\x4e\x65\x39\xfe\xba\xf1\x9a\x4c\xc9\x88\x70\x01\x4d\x7c\xca\xd7\x4d\x18\x76\xa1\x23\xec\xd1\x45\x51\x6c\x74\x3b\x4b\xba\x62\xd8\x21\xca\x9a\x79\x51\xe0\xdf\xb2\x3f\x38\xd9\xe3\xa3\x65\xfd\x83\x22\xf2\xee\x47\x99\xe9\xff\x11\xe1\xc5\xc3\x0b\x55\xa3\x55\xc8\xa5\xde\xea\x81\xa5\x45\xe3\x47\x05\xab\x56\xd1\x7b\x1f\xa0\x6e\xd7\x64\x15\x55\x67\x02\xf3\x64\x80\x82\x46\xf8\x63\xc3\x19\xf7\x5c\xdf\x6b\xd7\x48\x43\x8d\x1a\x2e\xaf\x42\x06\xc5\x60\xbf\xaf\xc2\x35\x67\x9a\xd6\x04\x9c\x1a\x01\x52\x6f\xcb\x9a\x3c\xe1\xb1\xd3\x9b\xe4\xdf\x18\xb1\x5f\xa0\xea\x55\x27\x2b\x17\xeb\xde\xdf\x6c\x30\x49\x8a\x8a\x14\xf2\x04\x2b\xe1\xc2\xcd\xb0\x9e\x9e\xf3\x84\x6d\x66\x59\xa9\xf6\xd6\x73\xdf\x9a\xfb\x7e\xde\xd0\x4b\x79\x3d\x97\x31\xf0\xac\xcc\x41\x46\x8d\xc1\xf3\x23\x6c\x99\xac\xad\xee\x62\x39\xc3\x61\xb8\xbd\x7e\x2d\x0c\xfe\x8b\xb7\xc0\x66\x87\xe0\x8e\x76\xb7\x1a\xd5\x7a\x03\x61\x79\xf2\x91\xd0\x96\xae\x2f\xa0\x81\x8e\xf4\xbf\x48\x66"}, -{{0xaa,0xaa,0xbb,0x7c,0xe4,0xff,0xfe,0x4d,0xc3,0x57,0x47,0xba,0xea,0x2b,0xc5,0xf0,0x50,0xbe,0xf0,0x6e,0xe0,0xc1,0xfd,0x63,0x2a,0x06,0x7f,0xec,0xe1,0xef,0x4f,0xb5,},{0x82,0x0a,0x24,0x42,0xd5,0xf4,0x5f,0x3c,0x79,0x14,0x78,0xe0,0x98,0xfb,0x3b,0x06,0x8d,0xa5,0x2e,0xc4,0xe8,0xda,0xde,0xc8,0x50,0x65,0xc3,0x56,0x59,0xf4,0x37,0xe0,},{0x05,0x0a,0xe8,0xae,0xce,0xec,0x96,0x27,0xb8,0x01,0x37,0x35,0x7a,0x22,0x96,0x2a,0xc8,0xb4,0x50,0x48,0x66,0x17,0x08,0xd3,0x94,0xd0,0xa5,0x1a,0xad,0xc3,0x81,0xfe,0x85,0x35,0x02,0x3d,0x6e,0x1b,0xda,0x0e,0x72,0xb3,0x49,0xb5,0x0b,0x26,0xda,0x7c,0x3a,0x30,0x85,0xe8,0x1e,0x9d,0xd6,0xcf,0x12,0x78,0x68,0xfc,0x5b,0xae,0xab,0x01,},"\xf9\xd2\x85\x97\xa3\xe2\xb6\x4b\xa3\x27\xac\x5c\xd2\x9f\x08\x1e\x74\xbf\x46\x1b\x2e\xb2\xd3\xcf\xd9\xd5\xe9\x21\x58\xd2\x1d\x1d\x2a\x47\xab\x50\x98\x1c\xb1\x9f\xe3\xf8\xc6\xfe\x48\x82\x49\xb1\xc4\x9f\xb8\x97\xa0\xfe\x21\xab\x54\x04\x41\x4f\xd9\x14\x87\x5c\x22\x0f\x1c\xbc\x12\xf5\xc3\x8c\xfb\xa7\x9f\x7a\xc3\x03\xa5\x23\x1a\x37\x2b\x02\xfa\xd6\xc8\x46\x2f\x8c\xc4\x9f\x0f\x64\x96\x5b\x65\x1d\xcc\xef\x0b\xb9\x60\x82\x15\x09\x08\x49\x17\x7b\xe4\x7b\x2d\x30\x72\x94\x4d\x36\xe8\x56\xda\x18\x5c\x7b\x3a\x68\x9f\x7e\xde\xf9\x88\x33\x8e\x09\x63\xed\x31\xa6\xb0\xa8\x0d\x5c\xb0\xb1\xcc\xcf\x6f\x39\x48\x37\xaa\x6f\x8b\x2f\x3d\xa5\xef\xbd\xf4\xd3\x60\xd4\xbf\x4d\xd7\x08\xce\x64\x45\x58\x7d\x94\x2b\x79\x76\x1c\xe9\x51\xb1\xbb\x4d\x90\x50\x70\x36\x18\xa6\xd9\x30\xa8\x0c\x69\x57\x6f\xc4\xaf\x30\x6a\x2a\x56\xdb\xd8\x84\xa0\x5a\x1e\x4e\x9f\x31\x36\xcd\x0b\x55\xae\x47\x4b\xb5\xd3\xd0\xfb\xc9\xb0\x33\x9c\xec\x34\x4f\xdd\x08\x5c\x19\x28\x10\x14\x81\xc6\x87\x94\xf5\xc8\x90\x13\x71\x08\xce\xa7\x91\xd2\x1f\x81\x68\x3d\x3e\x1a\x9e\xec\x66\xac\xe5\xc0\x14\xd8\x9e\x69\x80\x8e\x5f\xa8\x3d\x38\x12\xee\x68\x0f\x5a\x99\x71\x68\x1b\x8a\xdc\xd4\xa1\x6e\x9a\x4c\x16\x5b\x5e\xf9\x93\x2c\x5e\xd8\x25\x23\x7f\xd5\x03\x7b\xcb\xef\xe4\xcb\x11\x56\x4f\xa7\x07\xc8\xa9\x32\x90\x75\x14\x14\x89\x1b\x1e\xdd\x33\x13\xc6\x5f\x8b\x91\xc2\xe9\x25\xa3\xc1\x2a\x9d\x3a\xa4\x5f\xd5\xa6\x67\xb7\x83\x93\xc3\xe3\x9d\xf8\x8a\x8f\x0d\x11\x48\xb5\x31\x1e\x3d\x87\xc4\xa9\x2e\x0a\x3f\xb9\x15\xbc\x90\xd5\x55\x8d\x05\xb4\x75\xa8\x83\x47\x78\xaa\x94\x3e\xa3\x9b\x8e\xaa\x95\xad\x18\x32\xe5\x91\x6e\xa3\x10\x2d\x7d\xe0\xb8\x36\xcd\xe8\xf3\x75\x9d\xbb\x3b\x9d\x56\xea\x81\x7b\x3e\x49\xc9\x83\x21\x02\x77\xc2\xc7\xc5\xb0\xdb\x18\x74\x22\x53\x2f\xca\x98\xa2\x8b\x3b\x65\x9c\x6b\x81\x5a\xc1\x26\xfa\xdb\xe2\xf4\x00\xc7\x3e\x9d\x2d\xed\xcb\xbd\x2d\x3a\x36\x5f\xfa\xd7\xe6\x66\xc8\x96\xe3\x1e\x61\xb3\x84\xed\x3a\x9f\xcf\x12\x90\x53\x8d\xf1\x1b\x94\x74\xc6\x28\x1c\xc5\x92\xc7\x1c\x88\x08\x86\x8b\x42\x92\xc1\x7e\xce\x6b\x3e\xdf\x5e\x35\x42\xa7\x0b\x91\x15\x93\xe9\x3f\x35\xec\xd9\x72\x9b\xd8\x88\x0a\x24\xea\xf4\x1f\xbc\x65\x74\xdf\xe1\x67\xec\x2d\x0e\x7a\xb3\xdf\x5e\xc3\x4b\x8b\x55\xd5\x48\xab\x93\x73\x8a\x2e\xea\xf2\x1c\x88\x4c\x5c\x85\x51\xdb\x2e\xdf\x2b\x04\x9f\x1a\x2a\x84\xfa\x72\xac\x89\x78\xa4\xc2\x78\x09\xf2\x09\xc1\xb2\x19\x5a\xff\x50\x4f\x69\x98\x56\xcc\x4f\x22\xd4\x4e\xbd\xd0\xfe\x50\x37\x44\x68\xd0\xb1\x79\x2e\x57\x4b\x51\x10\xa1\xf4\xcd\x0e\x22\x1e\x82\x4a\x78\xdd\xc4\x84\x5f\xeb\x46\xd6\x6d\x63\x3d\x23\xcd\x23\xf4\xb6\xfb\xe4\xc8\xce\x16\xcd\x1a\xf6\x15\x36\xda\x5f\xa6\x7b\x10\xac\x75\x55\xa6\x8c\x0e\x0b\xdb\xf2\xf8\xd7\x23\x09\xd9\x95\x51\x6b\x81\x18\xbf\x43\x83\x5d\x0a\x01\xc0\x8f\xfe\xba\x3e\xa3\xed\x05\xcd\x2d\x54\xf0\xea\xbc\xda\x05\xd0\x03\x7d\x52\xca\xed\x3b\x19\x37\x4f\xaf\x73\x99\x90\x94\xf7\x90\x55\x92\x4b\xea\x9a\xec\x44\x70\x13\x5f\x5e\x8b\xf1\x83\xc9\xd1\xc9"}, -{{0xe9,0x5c,0xc2,0xa4,0xd1,0x19,0x3b,0x75,0x39,0xfc,0xbb,0xea,0xae,0xed,0x98,0x5b,0x6f,0xb9,0x02,0xdd,0x0e,0xfb,0xd6,0x38,0x74,0x57,0x55,0x0d,0x0d,0x6a,0x2f,0xea,},{0x72,0xa1,0xff,0x1e,0x9b,0xb1,0x1c,0x8d,0x88,0x96,0x8a,0x7b,0x16,0x96,0x37,0xad,0xee,0x43,0x8e,0x22,0x63,0xf0,0x06,0xdc,0xa4,0xfe,0x02,0xfe,0x06,0x6c,0xba,0xd3,},{0x1b,0x8d,0x7c,0xc2,0xad,0xf3,0x6c,0xae,0x16,0x31,0x25,0x0c,0x82,0x43,0x1b,0xd8,0x84,0x37,0x16,0x3a,0x63,0x49,0xad,0x96,0xe7,0xa8,0x64,0x44,0x7e,0x9f,0xee,0x75,0x3a,0xc3,0x65,0x5c,0x98,0x35,0xb4,0xd1,0xec,0xbb,0x30,0x6c,0x63,0x8b,0xa5,0x40,0x2a,0xd0,0x2b,0xa6,0xd2,0x25,0xd9,0x68,0x82,0x88,0x9f,0xe8,0xd2,0x04,0xa6,0x04,},"\x84\x26\x74\x39\x20\x1b\x05\x91\xdb\x60\xc0\xf1\x7a\x9c\x15\xe4\x54\x09\x29\x56\x52\xd5\xf5\x5b\x87\xfb\x35\x19\x67\xc8\x46\xa5\x67\xf5\xce\xba\xae\xd1\x76\x2b\xff\x54\x85\xf0\x48\x53\xca\x92\x69\xf4\x64\x09\x4e\x51\x2d\xf1\xf0\x2e\x13\xe5\x17\xb1\xda\xa5\x8d\x34\xca\xa2\xd5\xff\x9f\x9e\x79\xbc\xaf\xb4\xce\x96\xe8\xa0\x89\x25\x8a\xd6\x13\x43\xb4\x46\x62\x8e\xbc\x4f\x5b\x2a\x84\xd0\x3b\x72\xef\x3f\x73\x85\x89\xfa\x13\xc4\x25\x19\xa8\x28\x29\x9a\x3f\xae\xc0\x35\x03\x7b\xc1\x0b\x44\xe3\xbd\xfe\xd9\xe0\x87\x07\x17\xcb\xaf\x31\xbe\xf8\xb2\x2c\x4e\xa1\x6e\x81\x57\xfc\xbc\x63\xee\xfa\x39\xed\x82\x2e\xfd\x42\x15\xc2\x47\xdd\xa4\x87\x86\x27\x7e\xc0\x30\xa8\x6c\x0e\xf4\x85\x1d\x67\x3c\xfe\x75\x2d\x06\x77\x88\x3c\x2c\x45\x20\x38\x97\x0c\x09\xbd\x48\x17\x14\xbc\x3f\xbe\xcf\xa4\xff\x2a\x3c\x24\x56\x95\xd7\xec\xc2\xf4\xde\xc7\xf5\xed\xe0\x4f\xf6\xdb\x43\xe2\xbb\x91\xc0\x66\xb6\x49\xef\x73\xfd\x3b\xe8\x60\xcb\x83\xfa\x80\xb0\x74\x14\x9f\x43\x1e\xeb\xb9\x17\xec\x84\x78\xda\x87\x0c\x11\xe3\x17\x70\x38\x59\xf9\xf2\xf4\x00\x8a\x6c\x7c\x75\x4b\x06\xe1\xf7\xd2\x47\x96\x89\xda\x84\xe8\x89\x22\xf3\x82\x74\x98\x5e\x11\xce\x13\xcd\xbd\xb0\xf2\xec\xe6\x8f\xb6\x02\xad\xe0\x3d\xd5\x49\xa3\x62\x49\x1f\x4a\x20\x3f\xf8\x07\x44\xf6\x63\xc5\x23\xa0\x26\xb4\x31\xaa\xd4\x5c\x58\x29\xe0\x29\xad\x62\x56\xd1\x27\x6f\xd7\xb7\xa1\x2d\xdb\xf1\x72\x7d\x9e\x23\x3f\xb5\x34\x45\x73\x70\xa4\x26\xe5\x6f\xb3\x9c\xf4\x04\xa3\xec\xbf\x0c\x4b\x50\xbb\x52\x2d\xce\x98\x1e\x08\x30\xfd\x84\x06\xe6\xd9\x72\x5c\xeb\x1d\xdd\x3a\x19\x47\x93\x7d\x90\xe0\x4d\x76\x8a\xe1\xd1\x26\xe2\xae\xac\x21\xb8\xc9\xef\xc5\x4c\x40\x96\x1b\x7f\x4e\x9e\x88\x02\x5f\x7e\x0b\x9d\xe9\x01\xeb\xf0\x04\x9e\x74\x1b\x79\x79\x97\xd8\xdb\x78\xe9\x28\x3b\xbb\x5f\x90\xf3\x5a\x2c\x4d\xee\x27\x31\x42\xec\x25\x8c\x02\xad\x0e\xcc\x61\xcc\x5c\x9f\x12\x13\x2d\xb2\x8a\xf4\x1c\x1f\xb7\x8e\x52\x4b\xe5\x32\x7b\x5f\xfc\x35\x96\x27\x79\xfb\x11\xff\x0c\x5d\x3e\xe0\xa3\x1f\xf4\x7e\x73\xb1\x72\x9d\xfa\x46\xe8\x98\x6b\x1b\x89\xab\xc8\x8a\xd0\x6a\xbd\x5b\x6f\x76\x6d\x23\xab\xf6\x42\x25\x78\x94\xeb\xdf\xa7\x9e\x63\x09\xf1\x27\x23\x74\xee\x94\x33\x67\x7b\xa1\x3e\x45\x1b\xaa\x95\x33\x0e\x66\x0c\x80\x52\xae\x87\x2e\x0e\x32\xe2\xb2\xd1\x28\x6d\x01\xa0\xab\x58\x10\x42\x4e\xd8\xb9\x40\x54\x65\xbd\xeb\xa0\x3b\x69\x83\x84\x67\x6f\xe5\xea\x46\x4a\x03\x44\x6c\x4f\x7c\xd7\xb4\x33\x12\xec\xf1\x51\x36\x04\x64\x57\x1a\xd2\x86\x10\x58\x1f\xba\xdb\x94\x5a\x1d\x68\x18\x1d\xeb\x40\x3a\xa5\x6e\xba\x0b\xb8\x40\x32\x8e\xee\x36\x10\x3c\x7d\xe0\x73\xa6\x87\x9c\x94\x1c\x75\x54\xc6\xf6\xf2\xa0\x80\x80\x9e\xb0\xe5\xbd\x0e\x13\x0f\x29\xa2\x29\xe9\x30\xdb\x01\xfe\xca\xc2\xe0\x36\xbd\xf0\xe0\x01\xe2\xa8\xea\x32\x64\xf8\x64\x9d\x5b\x60\xc2\x91\x03\xf0\xb4\x9c\x24\xc9\x7f\xac\xaf\x7e\x81\x06\x9a\x2b\x26\xab\x3f\x93\x3f\x42\x7d\x81\x27\x2c\x6c\x8b\x7c\xd0\xdf\xb7\xc6\xbb\xe9\xc0\xea\xab\x32\xbb\xda\x22\x18\xb9\x62\x3a\x21\x19\xaa\xb1\xf3\xeb"}, -{{0x77,0xad,0x0f,0x94,0x2c,0x37,0xf0,0x31,0x3e,0x6b,0x04,0x56,0xda,0xba,0xec,0x81,0xb2,0xd6,0x1f,0x6c,0x11,0x8d,0xdb,0x29,0xea,0xf3,0xac,0x5b,0xf1,0x95,0x04,0xd4,},{0x69,0x2d,0x2d,0xa5,0xa9,0x5f,0x48,0x61,0x1a,0x6d,0xa8,0x9c,0xfb,0x3b,0x35,0x40,0xf6,0xaa,0x0c,0x85,0x0d,0x6d,0x98,0xde,0xea,0x87,0x0e,0x39,0x7f,0xed,0xe3,0x28,},{0x69,0x6b,0xd5,0x52,0xdd,0x01,0xdb,0x80,0xb3,0xd6,0x7d,0x61,0xee,0xb7,0xec,0xc5,0x68,0x78,0x40,0x4a,0xb1,0x19,0x44,0x2a,0x1c,0x74,0x22,0x99,0x2c,0xfa,0x35,0xae,0xa9,0x20,0x82,0x5d,0x2d,0xaf,0xd8,0x92,0xad,0x7e,0xb6,0x82,0x5a,0xd9,0x99,0xae,0xe5,0xc8,0x3b,0x7b,0x50,0x79,0x06,0x53,0x4f,0x91,0xac,0xe7,0x59,0xc5,0x51,0x0c,},"\x87\xe6\xde\xad\x2c\x85\x54\x9e\x3d\x8d\x25\x88\xa0\xa3\x36\x06\x03\xa6\x24\xfb\x65\xae\xbb\xc1\x01\xbf\x7f\x1f\xec\x18\xd0\xb2\x8f\xbd\x5d\xba\xee\xd3\x87\x52\xcd\xf6\x35\x5c\xe8\xdc\x84\xe1\x8a\xc1\xa4\x39\x3d\x2a\xb8\x88\x88\x2c\x4f\xf1\xc9\xc8\x13\x7f\x83\xbe\xe3\x63\x36\xbc\xbf\xbb\x72\xd5\x04\x9e\x0a\x40\x08\x74\x51\x4f\xdc\x36\x33\x04\x6e\x89\x38\x3d\xde\xd9\x3c\xa3\x1f\xde\x0d\x89\x8e\x11\xe9\x26\x8d\x3d\x5c\x24\x06\x66\xed\x55\x27\x61\x3d\xa7\x9f\xb7\xe4\x96\x25\xb4\x4c\xde\x78\xb4\x1c\x67\x90\x2e\xb0\x21\x6b\x3a\x7a\x3e\x56\x0e\x26\x1d\x71\xd7\x64\xaa\xcf\x15\x95\x9c\x17\xfc\xd6\x17\x6f\xb2\x5e\x24\x9e\xe6\xbb\x1b\x3b\xd7\xbd\x90\xf6\x0b\x0b\x0f\xfa\x03\x15\xa0\x65\xa2\x4b\xba\xe8\xf2\x55\xbf\x29\x8d\x7e\x4d\x44\xf0\xb4\x30\xc4\x15\xb4\xfb\x36\xcf\xa6\x62\x6a\x83\xf4\x9a\x25\x67\xf6\x24\x4f\x40\xe9\x23\xad\xd1\xd4\x9a\x72\xf5\x7b\x15\x30\xf5\xb3\x79\xde\x3a\x91\xc2\xe9\xa1\xac\x79\xab\x37\xbc\x3b\x9b\xa7\x3d\x88\x28\x13\x6b\xcc\x87\xd2\xc0\x11\x90\xde\x54\x57\xfa\xcd\x90\xf3\x69\x55\x3f\x7a\xc5\x21\xc5\x67\x2b\x08\x67\xdf\xa8\xda\x3b\x95\x2a\xd9\x5b\x67\xda\xb9\x9b\x48\x20\x57\x2f\x2d\x4a\x29\x8e\x95\x18\x63\x77\x79\x28\x9c\x03\x1b\x79\x3d\xee\x85\x9c\xde\x7b\x24\xad\xd6\x49\xff\xf8\x71\x24\x8a\x66\x02\xd2\x51\x62\x79\xda\x60\x58\xcb\xb6\x96\xfa\x8b\x1d\x89\xa2\x0d\x20\x99\xe6\x46\x44\x32\x10\x48\x3e\x5d\x41\x34\xe9\x28\xfa\xeb\x38\xa3\xb5\x08\x19\x9e\x0d\x69\xbb\x55\xee\x34\x77\x42\x05\xc0\xa6\x12\x05\xb5\x0b\x08\xfe\xbe\xaa\x40\x1e\x6e\x3a\x51\xa2\xbf\x98\xef\xac\x78\xb7\xae\x2b\x85\x2c\x53\x95\xa1\x2c\x40\xe2\xc7\xdd\x1b\x20\x25\x04\xb5\xa7\xd2\xf7\xe4\xfd\x4f\x86\x10\x93\x0d\x28\x68\xcb\xa8\x86\x43\x39\xe0\x41\xda\x21\xc0\x71\x5f\x41\xb2\xb2\x3d\x14\xd0\xb5\x45\x48\x0b\xc3\xbd\x7d\x72\x15\xcf\x2f\x81\x6a\x33\x32\x08\x1e\xca\xa0\x8c\x0f\x8b\x99\x52\x52\x51\xf5\x72\x31\xb6\x75\x0c\x2d\xbd\x11\x09\xac\x41\x60\x48\x6b\x76\x83\x24\xb6\xba\xc8\x7e\xf5\xa2\x26\x44\x8c\x43\x12\x40\x32\x8f\x42\xcc\xa5\x86\xbe\x7a\xff\x3c\xbe\x76\x05\xfa\x34\x15\x14\xfc\xcf\xb9\x66\xaf\x3d\x45\x30\xe8\xcd\x90\x37\xa1\x1c\xe5\x93\xc2\xd3\x83\xe1\x03\x5a\x0c\x2e\xda\x09\x8d\xe9\x0d\x50\xc5\x18\x4a\x9c\x01\xb5\x7f\x26\xb9\x4d\xed\xd1\x45\x4c\x34\x06\x37\xec\xcc\xee\x70\x62\x57\x54\xa3\x28\xc6\x5f\x42\x64\x5b\x5e\x1a\x56\x55\xee\xf9\x7d\xfb\x1c\x63\x08\xed\xf4\x9f\xa3\x68\xd1\x7d\x17\xe0\x6a\xdc\x51\x2b\x39\x73\xea\x65\x2a\xc4\x0a\x99\x78\xe1\xbb\x1b\x2f\x86\xc5\xa9\xff\xbf\x60\xdc\xc4\xf6\xbb\xc9\x8a\x64\xf4\xde\x65\xe7\xec\x61\x72\x1e\xde\xb0\xe5\x23\x84\x56\xf7\x61\xd2\xd1\x29\x3a\xf0\xde\x9f\x79\x3b\x11\xd8\xca\xdf\x01\xa9\x43\x19\xa0\x2a\x42\x73\xff\xc4\xd3\xff\xa7\xb3\x4d\x74\xfd\x2e\x0b\x10\x0f\xca\x58\xb5\x32\x5f\x90\x7a\x74\x91\x93\xe7\x51\xd6\xc1\x16\x68\x7a\xee\x37\x47\xb5\x94\x60\xd4\xef\x15\x6e\x72\x47\x6e\xae\x1b\x84\x55\xd7\x6e\x71\xb3\x06\xb9\x81\x29\xb7\x2f\xe1\xcb\x5e\xb4\x05\xa7\xc2\xf4\x32\x7f\x38\x62\xd4"}, -{{0x29,0x32,0x14,0x69,0xee,0x9f,0x2b,0xb1,0x65,0xa0,0x69,0x64,0x03,0x32,0xb4,0x89,0xbf,0x5c,0x3f,0xab,0x68,0x2e,0x93,0xda,0xe9,0xd8,0x63,0x17,0xbf,0x50,0xc5,0x2c,},{0x96,0xf7,0x30,0xf8,0xef,0x89,0x70,0x26,0x8d,0xba,0x0f,0x75,0x70,0x41,0x0b,0x61,0x88,0xa1,0xa3,0xc8,0x63,0x97,0x74,0x09,0x13,0xd5,0x3a,0xda,0x26,0x2a,0xb8,0x7e,},{0x4e,0x1a,0xff,0x84,0x63,0xbc,0xa1,0xb7,0xde,0xb1,0xd3,0x77,0x3d,0xf2,0xe7,0xa0,0x68,0x64,0x11,0x1b,0x6d,0xc4,0x2a,0x62,0xae,0x98,0xde,0xb2,0x31,0x39,0x43,0xb3,0x15,0x3e,0xe4,0x66,0x96,0xb1,0x5c,0x24,0xef,0xc2,0xa8,0x08,0xaa,0xba,0x81,0xc7,0x8e,0x3d,0xfa,0x4d,0xfb,0x50,0xca,0x9f,0xe8,0x44,0x45,0xea,0x68,0xbc,0x8e,0x0a,},"\x9c\x71\x2c\x83\xd5\x4f\x2e\x99\x3c\xa6\x8a\x96\x32\x84\x60\x04\x49\x9c\x51\x95\x44\x8d\xdc\x49\x1c\x3a\x0d\x2e\x3a\x66\x6d\x6b\x33\x09\x8e\x48\x64\xfd\xf8\x6e\x61\x9d\x50\xf1\x0b\x7c\xc6\xc3\x9b\x3f\xf2\x80\x1a\x94\x91\xf6\xfa\x97\xc5\xf1\xc4\xaf\xa7\xae\xff\x31\xd7\x38\xf9\xa7\x68\xa7\x9c\x73\xb2\x55\x77\x31\x0f\xb0\xad\x4f\xaf\x85\x43\xa0\x98\xf8\x59\x57\x1b\x61\x48\xe8\xb5\x29\x26\x44\x57\x57\xd5\x54\x9f\xd2\x5a\x26\x51\x85\x31\x56\x63\x79\xd1\xc2\x74\xe6\xc6\xa9\xd6\x41\x32\xe4\xac\x25\xac\x9a\xf9\x38\x1b\xcb\x88\x53\x32\x11\x3f\x43\x01\x4a\x13\x9a\x81\xf8\xd4\x3c\x8a\x6a\xb5\x4c\x11\xa5\xc9\x2e\x06\x19\x1c\x1e\x51\xb7\x57\xac\x9f\x11\xe3\xdc\x15\xdb\x44\x86\xd1\x67\xff\x9f\x2d\x65\xe2\x3e\x6c\x96\x22\x3d\x9a\xff\x8d\x10\xd1\x50\x2c\xf3\xdb\xce\x5e\x35\x7e\x6b\x12\xdb\xe9\xb7\xe9\x97\xc3\xd0\xa5\x07\xd3\xba\xe3\xcf\xef\x1f\xfc\x8d\x05\x6e\xf7\xdc\x72\xdd\xc1\xc8\x1e\x31\x0a\xd2\x05\xbe\x16\xe7\x7f\x27\x38\x35\x4b\x10\xb4\x84\xd3\x07\x6c\x27\xe6\xb4\xf1\x66\x38\x85\x81\xf3\x50\xbe\xfe\x22\xfb\xb0\x82\xb5\x41\x21\xee\x59\xec\xc7\xae\x5d\xec\xe8\x98\x82\xac\xf2\x6c\xb7\x47\xff\xaa\x3e\x2d\x05\xa6\x96\xf6\x0f\xd9\xe8\x29\xc7\x09\xd8\xf0\x2d\xaf\x53\x7b\x23\x69\xb8\x91\xfe\x6c\xcb\xf8\xdf\xcd\xd7\xf4\xa3\x64\xb1\x99\x85\xbe\x7e\xde\xc6\x7d\xdc\x1d\xb7\x13\xc0\xa9\x0f\xaf\xa4\x88\x37\x77\x25\x62\xde\xac\xc2\xd2\xa0\xe7\x89\xe1\x8a\x8b\x5b\x3b\xd9\xe0\x83\xea\x92\xff\xfc\x31\x83\xd5\xd4\x14\x15\x32\x59\xb3\x3a\x43\x29\xcf\xc8\x08\x24\xeb\xcb\xe0\x44\xa7\xe3\x3a\xb8\xa2\x4f\xde\x54\xbd\x95\x20\xae\xa2\x84\xb0\xc4\xc4\xfa\x94\x27\xd2\x51\xc0\xdd\xd0\x13\xec\xdd\x82\x90\xef\x55\x65\xf6\x08\x50\x8e\x36\x35\x89\xe5\x29\xd8\x4f\xf0\xf2\x6f\x9e\xcb\x03\x05\x2d\x58\x97\xfa\xbc\x91\x7e\x56\xe6\x01\xb6\x4a\xbf\xe5\xa1\x7c\x39\x50\x28\x9d\x0c\xdc\xaf\x1f\x60\x05\xa9\xf8\x10\x6f\x43\xe1\x7a\xdc\xaa\x2d\x1e\x26\x91\x66\x76\x2f\x80\x54\xde\x05\x13\x5d\x5d\x13\x93\xd7\x00\x0a\x15\xb8\x7b\xd6\x88\x46\xa8\x9d\x5b\xc2\x28\x63\x32\x51\x51\xaa\xc8\x43\xf7\x22\x78\xae\x6f\x4a\xf7\x2a\x4e\x44\x9a\xdb\x7e\xae\x6d\x43\x6a\x1e\xc7\xe5\x8e\x59\xb7\xb8\xbb\x9e\xf0\xdd\xaa\xa0\x01\x82\x6f\x8d\xcb\x44\x64\x79\xde\xaf\xd8\xb8\xd5\x42\x04\x1c\x19\xa0\x5b\x1e\x0e\xe4\x7b\x46\x40\x91\x0c\x31\x93\x0c\xa4\xe2\x0b\x10\x57\x58\xec\x75\xf1\x95\x03\x56\x94\x7f\x62\x61\xd0\x03\x7f\xe3\x07\x73\xa3\xec\xe6\xa9\x6c\x8d\x54\x33\x33\x3d\x82\x2c\x27\x77\xef\x7f\xf8\xbe\x60\x33\x34\x5b\x50\x55\xd5\x8f\x5e\xb3\x72\x9a\xf5\xae\x88\x24\xf3\x31\xee\x07\x31\xc8\x9b\x20\xac\x11\x8f\x55\x04\x27\xcd\x95\x8a\x55\xf6\xb1\xa2\x88\x8a\x08\x7b\xb7\xdb\x55\xbf\xc7\x3b\x29\x42\x9b\x44\x48\xdb\xe9\x11\x9c\x45\xa8\x73\x39\xb4\x49\x7a\x69\xa4\xcf\x83\x3e\x8f\x37\x70\xcc\xe5\xe0\x1f\xaf\x5e\x73\xbb\xaf\x62\x76\x83\xc0\xa2\x8c\x73\x05\x2f\xbe\xce\x20\x30\x43\x38\x9d\xfb\xfd\x45\x49\x5e\x51\xda\xb8\x6a\x25\x2e\x5b\xc1\xb4\xb7\xfe\x28\x07\xe3\xd0\xe2\x36\x3b\xea\xb5\x1c\x67\xfb\x31"}, -{{0x04,0x65,0x77,0x50,0x49,0x7e,0x68,0x15,0x2c,0x43,0xce,0x34,0xa5,0x8d,0x21,0x06,0xe6,0x4c,0x55,0x7c,0xd7,0xa8,0x4e,0xf0,0x5d,0x9e,0xb8,0x2e,0x6b,0xcb,0x05,0xf5,},{0x3b,0x3a,0x19,0x47,0xb4,0xcb,0xf6,0x0b,0x82,0x6d,0x60,0x9f,0x19,0x2d,0xc2,0x30,0xaa,0x9b,0x9b,0xaf,0x4c,0xd6,0xa6,0x09,0x2e,0x49,0x5f,0x1d,0x2e,0x47,0xad,0x62,},{0x7e,0x2e,0xae,0x5a,0x29,0x3f,0x41,0x83,0x91,0xf6,0xd8,0x5a,0x79,0x94,0xb0,0x7c,0x45,0x22,0x80,0x01,0x7e,0xe6,0x53,0xbf,0x61,0x7a,0x8d,0x5b,0xe2,0x4c,0xbb,0x5d,0x0e,0xfd,0xfb,0x7f,0x7f,0x00,0x13,0x12,0x26,0x0f,0x34,0x4e,0x6f,0xb9,0x15,0xad,0x8d,0x7d,0xe9,0xc0,0x51,0x98,0x27,0xc0,0x57,0x26,0xf9,0xce,0x25,0x45,0xdd,0x0b,},"\x29\x48\x22\x7a\x89\x0f\x6f\x84\x5b\x77\x5e\x62\xc5\x3a\xf3\x80\x50\x64\xa1\x57\x64\x46\xf0\x85\xd9\x0f\x8b\x9a\x5e\xd6\x8d\xf1\xea\x39\x3c\xe4\x79\xc4\x41\x41\x49\xa9\xec\x5a\x17\x10\x36\x42\x4d\xff\x03\x44\xb4\x95\x8f\x61\x32\x29\x8d\x0e\x24\xc9\x26\xd2\x8a\xd9\xd7\x9f\x98\xc6\xe6\xbc\xf1\xc5\x76\x76\x06\xec\xd2\x91\xc6\xad\x47\xb4\xf9\xfb\x2b\x02\x01\x15\x5a\xda\x62\x7b\x7a\x1f\xd5\xb0\x74\x19\x87\x40\x83\x05\x9e\xb5\x2b\x2f\x6e\xc2\x28\x18\xb7\x82\x46\x22\x8f\x3f\xe6\x35\x5d\xfd\xa7\x0e\xbb\x9b\xbe\x73\x22\x93\x78\x73\x63\x99\x55\x7c\xe2\x4b\x30\xbf\x64\x5a\x14\xe2\x25\x6f\x70\x01\x9b\x33\x36\xb2\x03\xfb\x77\xc6\xec\x94\xa7\xa2\x63\x48\x88\xfe\xea\xd4\xd7\x2c\x23\x91\xe9\x9e\x8c\x8d\x53\x3f\xd8\xa4\x2b\x08\xc1\x1f\x88\x7a\xb2\xde\xb6\xeb\xbf\xe3\xd2\x51\xde\x63\x53\x6c\x36\xcd\x53\x42\x23\x98\xe5\x44\xcf\xf8\x7b\x07\xa6\x33\x49\xfc\x50\x85\xdd\xe9\x3a\x1b\xfd\x71\x71\x13\x3a\x20\x43\x98\x1f\x60\x75\x22\xc8\x13\x3c\x63\x42\x8d\x1b\x92\x62\x6c\x79\xb7\x35\x8e\x70\x21\xcf\x1f\x41\x2a\x78\xaf\xa7\xcb\x3f\x59\xff\xef\x92\x79\x88\x5a\x5b\xdb\x24\x66\xac\xd3\x4c\xd5\x15\x80\x83\x0b\x83\x51\xeb\xd4\x40\xa9\x66\x23\x90\x7a\xd1\xf4\xb5\x62\x03\xf5\xe1\x59\xa4\x29\xe3\x54\x6e\xad\x0c\x01\x1d\xbe\xd0\x90\x28\x71\x7e\x3c\x3d\xfe\xd3\x91\x97\x76\x4d\x4d\x24\x5e\xf2\x28\xb9\x80\x44\x71\x8e\xf4\xd8\x82\x2f\x21\xb2\xc5\x68\x50\x38\x47\x3b\xf9\x3d\xc0\x93\x74\x51\xeb\x02\xd3\x1a\x46\xc8\xdc\x7e\x94\xc3\xe8\x67\x8c\x83\xb9\x8a\x43\x81\x8f\x12\x5b\x52\x8b\x47\x6a\xad\x31\xd1\x58\x4f\xfd\x48\xf1\x49\xe5\x73\x6e\x58\xf9\x42\x05\xd3\x88\x9e\x56\x7e\x4d\xd1\xea\xc2\xfa\xc1\xf8\xf4\xdc\x54\x0e\x53\x22\x46\x0f\xb9\x40\xe1\x2e\x93\xc4\xc9\x8d\xed\x19\x41\xc1\x90\x4f\x96\x7f\xb4\x64\x36\x84\xc1\x9a\x4d\x5c\x44\x1d\x60\xb0\xe9\xf4\x08\x55\xe5\x23\xfe\x7f\x99\x10\x76\x57\xa6\x80\x76\x27\x5b\xf8\x4b\x7c\x69\xa3\xf2\xb3\x85\x5b\xc8\x02\x6b\xa9\xb0\x0b\xc6\xfe\x34\xb9\x9d\xa0\x63\x17\x00\xa6\x7f\x52\xb3\x4e\x17\x96\x33\x98\x87\xa4\x83\x05\x12\x1d\x53\xab\x44\x40\xfc\x4b\x5c\x9b\xf7\x23\x94\xd5\xed\x37\x2f\xf1\x8c\xa3\xf0\x07\xbd\x02\xdf\x65\x1d\xc3\xac\x43\x82\x75\xf1\xa3\xe5\x24\x22\xb8\x6c\x45\x86\x76\x6a\x21\xcd\x89\xf8\x05\x80\x5d\xbb\x44\xfd\x89\xfe\x24\xfb\x2c\x0b\x40\xd1\xb7\x54\xc3\x35\xdb\xaf\xfc\x3b\x3b\xb8\xbb\x46\xc7\x4c\x36\x37\x45\x04\x04\x2d\x86\x78\x92\x27\x59\x98\x62\x31\x2e\x99\xca\x89\xeb\x50\x4c\xc3\xd7\x5d\x19\x49\x5a\xa8\x6b\x20\xb2\x73\x6b\x12\x1b\xb2\x07\x5c\x88\xed\x4a\x3f\xbd\xaa\x6b\x2c\x3f\x76\xd1\xff\x55\x25\xd3\xa2\x86\x3e\x4d\x83\xc7\x2b\xfe\x01\xe1\x02\x78\x80\x94\x74\xe1\x82\x2d\xe2\xd9\x62\x83\x48\x93\x20\x02\x96\x11\xaa\x9d\xff\xc4\x82\x9d\x66\x86\x9e\x63\x49\x4f\x9a\xad\xe7\x0b\x77\xa7\xb8\x0f\xbc\x93\xe3\xde\x4d\x93\x59\x13\x75\x2d\x04\x5e\x13\xb3\x12\xc5\xd0\x82\xf6\x24\x2d\x49\x85\xb0\x53\xb3\x78\x3e\xb0\x2c\x66\x14\x96\x3d\xc0\xd5\x5d\x4c\xbe\x88\x7b\xae\x29\xcc\x18\x97\x9e\x5e\x2e\xa9\x45\xbc\xd4\x0d\x89"}, -{{0x8b,0xd9,0x90,0x70,0xc5,0x0a,0x9f,0xa4,0x18,0xef,0x7f,0x75,0xc0,0x01,0x29,0x91,0x6a,0x41,0xc8,0x60,0x70,0x96,0x1c,0xcb,0x2b,0x20,0x2b,0xe1,0x8c,0x2d,0x10,0xd7,},{0xdd,0xd7,0x33,0x08,0xfc,0xe8,0xca,0x65,0x52,0xd0,0x39,0x42,0x8c,0x7a,0x1a,0x94,0x92,0x33,0x20,0xa3,0x1c,0x0f,0x58,0x0d,0x3c,0x23,0x52,0x80,0xf0,0x3c,0x18,0x30,},{0xb1,0x4a,0x7b,0x26,0x20,0x12,0xc5,0x90,0x9e,0x21,0xd5,0x87,0xfb,0x4f,0x29,0xa9,0x09,0x3c,0x8e,0x1c,0x29,0x99,0x81,0x6a,0x82,0x11,0x8f,0xef,0xbf,0x10,0xe6,0x8e,0xa8,0x98,0xbf,0x0d,0xa1,0x8e,0xbf,0xd0,0x34,0x1e,0xa8,0xf8,0x2a,0x18,0x44,0xc8,0xe0,0xdd,0x53,0x06,0xe5,0x09,0xb9,0xd0,0xc3,0x5b,0x47,0x3a,0x7d,0x20,0x95,0x07,},"\x48\x5f\x8d\x68\x0f\x79\xee\x2d\x82\x8b\xe7\xd0\x18\xa6\x5e\x0b\x64\xb0\xf0\x18\x48\x19\x86\x3e\x71\x10\xee\xa8\xf2\x99\xa7\x2c\x4d\xc8\x7f\x8e\xe8\xa8\xae\xaa\x81\xaf\x91\xdc\x71\xad\xea\x79\xfc\x97\x97\x42\x1c\xcc\x64\x6e\x6c\xd5\xdd\x48\xb4\xde\xc1\xde\x96\x86\x93\xfb\xce\x0d\x00\x21\xa3\xd9\x8d\x38\xa8\xbb\xc5\x81\x95\xe6\xdf\xc3\xb5\xe1\x46\x1b\x2a\x59\x41\x03\xe8\x0a\x29\x44\x1d\x5a\xaa\xf8\x89\xe3\x1c\xc8\x65\x14\x1f\x0c\x6b\x2c\x8c\x81\xf7\x21\x67\x9e\xa2\x39\x4e\xc6\xe4\x08\x1e\xc2\x03\xc2\xea\x39\x7d\x94\x84\x75\x7a\x7a\x0e\xcd\x53\xe6\x52\xdb\x9d\xf1\x7b\xea\x0e\x32\xfe\x8b\x2c\xbc\xe0\xd1\xd9\x7b\x96\x1e\xd7\x4e\x8e\x62\x2b\xcd\xd3\x55\x8b\x7c\x48\x69\x5a\xdf\x18\xaa\xe6\x11\x0e\xa9\xa3\x39\xb9\xda\x40\x7a\x9e\xda\xf2\xab\x08\x1a\x68\x1e\x18\x32\xcc\x21\x5b\x1f\x08\xa6\x7d\x55\x9a\x47\x44\xaf\x7c\xd5\x03\x18\xc2\x06\xee\x91\x15\x75\x82\xf8\x2e\xb6\xc0\xfc\x29\x02\x7b\x44\x61\xc3\x07\x33\xb8\x16\x9d\x14\x81\x32\x2c\x48\x60\x50\x9b\xa0\x96\xba\xcb\x71\xa5\x79\x24\x67\x51\xd5\x67\x54\x0e\x41\x43\x1e\x14\xf1\xb4\x6e\xf1\x6e\xba\x27\x61\x04\xbc\x01\x65\x0d\x5c\x49\x26\xe4\x7c\x9c\x60\x40\x78\x4b\x04\x3c\xd0\xaa\x48\x54\xef\xe8\x79\x7f\xd0\x46\x2d\x45\x39\xf3\x80\x35\xae\xf0\x8b\x45\x77\xc1\xa9\x11\x8d\x00\x4b\x6d\x01\x86\x2f\x52\x76\x77\x6d\xfe\xf1\x37\x18\x64\xf1\x55\xac\x0f\x07\x83\x89\xc2\x05\xcf\x05\x38\xd8\x5f\xa3\x48\x24\x4d\x7a\x42\x29\x11\x31\x0f\xf6\xc1\x01\x32\xb1\x59\x8b\xb4\x45\xc7\xe2\x07\x7b\x76\x3c\x47\x3d\x1e\x7a\x61\xa3\x8b\x64\x92\x9a\x64\x8b\x60\xb2\xe5\x43\x54\x37\x39\x22\x4b\x40\xfb\xf6\xd8\x7f\x10\x79\xc3\x0b\xc8\x73\xac\x38\x99\x1d\x51\xb8\x9e\x9d\x26\x1c\x4b\xcc\xb3\x75\x35\x5c\x07\x2c\x1e\xa2\x0e\x4f\xf9\x1d\x55\xd9\xf7\x54\x4e\x90\xd1\xc6\x64\x6c\x59\xaf\x72\x42\x4d\x8a\xaa\x8e\x0a\xed\x07\xb3\x88\x9d\x4e\x45\x0c\x12\x09\x68\x4c\xe1\x38\xd0\xc9\xda\x07\x95\x25\xf5\xaa\x02\x05\x0a\xf5\x70\xe4\x31\x5c\x2f\xa8\xb0\x99\xb7\x76\x5b\xfb\xb8\x94\xfa\xd3\x59\xb8\xe2\x48\x04\xec\xe0\x52\xac\x22\xa1\x91\x70\x53\x35\xe9\x88\x40\xa6\x24\xe4\xcb\xf3\xa1\xa1\xa3\x27\x81\x27\x85\xb2\xc0\xf5\xd6\x38\x14\x57\xb7\x2f\xdb\x63\x3e\x81\x93\x8b\xbb\x54\xb8\xc3\x7c\xcc\xb5\xd5\x9c\x58\x27\xc7\x68\x3a\x52\x47\x54\x49\x77\xe9\x84\x44\x21\x78\xd0\x85\x29\x06\xca\x6f\x94\x5c\x42\x29\xeb\x08\xad\x27\xe6\xc2\x75\xd7\xb4\xec\x8d\xc2\x5f\xb2\x81\x93\x37\xe5\x3e\xad\x6c\x7a\xa7\x87\xf9\x1a\x7d\xc6\xdd\xaf\xd5\x36\xee\xfc\xbd\xec\x2c\x50\x16\x7b\xe3\x43\x06\xa8\x2e\x16\xd5\xd5\x2b\x3b\x1b\xe0\x08\xa7\xa6\x11\x27\x4c\xe2\xcf\x8d\x62\xe3\xb9\x00\xc0\x99\x43\xbe\x70\xcc\xc7\x7b\x07\x06\x37\xc2\x50\x61\xd6\x1b\xe9\x10\xee\xf5\x0d\xf1\x87\x44\xc3\x3e\x76\xf6\x70\x1e\x0a\x8f\xf6\x29\x7f\xa6\x7e\x4b\x41\x08\xc1\x37\x56\x72\x7a\x9d\x74\xbc\x9e\x17\x98\x3e\xec\x08\xf8\x66\xb7\xc7\xff\xb3\x7f\x3c\xcb\x01\x41\xa8\x0f\xef\xf6\x32\x2b\x2a\xc6\x2b\x84\xce\x27\x97\xfd\x98\xd6\xff\x26\x9a\x41\xa0\xc3\x84\x82\xdb\x67\x98\x62\xa3\x8c\xd2"}, -{{0x1a,0xf4,0xcf,0x6d,0x24,0xab,0x37,0x82,0x86,0x7d,0x96,0xa1,0xc2,0x75,0xce,0xeb,0x02,0x2c,0x69,0x1a,0x30,0x8e,0x62,0x45,0x66,0x5d,0x61,0x6b,0xf6,0x7c,0x2c,0x32,},{0x19,0xd3,0x17,0xea,0x98,0xd3,0x5b,0xa5,0xfa,0x67,0xc1,0x2e,0xcf,0xb3,0x27,0x50,0xdf,0x27,0x5d,0x7a,0x45,0xb8,0xe2,0x11,0xa7,0xac,0x47,0xed,0xe7,0x71,0x2d,0x9f,},{0x7e,0xb4,0x6c,0xd0,0xde,0x31,0x55,0xb4,0x37,0x47,0xd7,0x32,0xf1,0x04,0x5d,0x8e,0xf7,0x44,0x92,0xad,0x82,0x7a,0x22,0x45,0xbd,0x17,0x10,0x28,0x28,0x44,0x2e,0x43,0xa0,0xce,0x7e,0x8b,0x26,0x8e,0xd7,0xfd,0x8d,0x3e,0x7b,0x28,0xf0,0x72,0x79,0x5d,0xa3,0xe0,0x70,0xf1,0x2b,0xc4,0xe2,0x3e,0xae,0xf5,0x7b,0x85,0x3c,0xee,0x88,0x0a,},"\xf4\x45\xfd\xcf\xe2\x8c\x17\xbd\x44\x27\xae\xa5\x67\x6c\x0e\x12\x80\x84\x15\x97\xe9\xd6\x6d\xe7\xd7\xa7\x17\x23\x11\x09\x39\xbe\xd0\x0f\x4e\xba\xf9\x60\x3d\x53\xc9\xcb\xf6\x27\x1b\xe5\x47\xaf\x29\xb2\xa0\x45\xec\x41\x28\x8a\x7b\xb7\x9d\x66\x2d\xc2\x10\xe2\x15\x95\x7f\xa8\x46\x88\xc9\x16\x54\x3e\x56\x17\xf5\x60\xe4\xd3\x8f\x73\xba\xef\xc3\x7e\x11\x91\x4e\x47\xc5\x15\x06\x78\x51\xe8\xed\x21\x39\x3e\x13\xdd\x19\xed\x9b\x73\xd9\x89\x45\xfc\x82\x6a\x25\x8e\x95\x7d\xc0\x83\xdd\x8e\x53\x5c\x30\xa5\x4b\x42\x66\xdd\x71\xd1\x13\xce\x85\x6b\x46\x28\x2a\x18\x03\x36\x27\xa9\x8e\x64\x72\xcc\xb4\x63\xed\x3d\x96\xfa\x7b\x35\x5d\x3b\x2c\x2a\x2b\x60\x10\xdd\x14\xf4\xea\x39\x65\xdd\x87\xbe\x1c\x42\x9b\xde\xa8\x30\x0b\x4b\x0b\x44\x45\x86\x35\xb4\x97\x9f\x5e\x3e\x8e\xb5\xc6\x18\xd4\xe1\x3e\x1d\x68\x8b\xf8\x8c\x7e\x4a\x3d\x93\x8e\x84\x33\x6d\x67\xbe\x68\xdf\x34\x35\xc5\xc9\x90\x86\x32\x1c\x02\xe1\x3b\x4a\x12\x52\x4b\x34\xe4\x6a\x0b\x4d\x27\xf3\x0d\x7e\xd4\xf5\xce\xcb\x36\xde\xad\xf0\x9e\x7e\xfc\xc7\x55\xca\x66\x75\x68\x29\x79\x14\xc6\xbc\x24\x06\x27\xd9\xd0\x9a\xac\xf8\x54\x15\x41\x2c\x06\x35\x62\x34\x53\x27\x8d\x9b\xf0\xe1\x0e\xec\x65\xfc\x72\xaf\xff\xfa\x93\x92\xdc\x78\x81\xd1\xe5\xc7\x60\xa4\x02\x80\xf1\x6b\x14\x75\x12\x7b\x91\xb6\x9c\xcb\x65\xdc\x4b\x35\xde\x10\xf9\x43\x25\xc0\xcb\xe1\xc4\x70\x19\xa2\xea\xf2\xb4\xba\x92\xd7\x85\x22\x9a\xac\xfa\xd1\x82\x6e\xbb\xde\xbe\xfb\x7d\xad\x4b\x05\xf8\x82\x43\xe1\x5f\x27\x97\x66\xe3\x32\x1d\xd8\xdb\xa6\x50\x44\x4d\x81\xfb\x08\x78\x76\x7a\x9c\x63\x53\x4b\xb4\xba\x21\x28\x5a\x24\x16\xcb\x8f\x85\x6d\x11\xa9\x6e\x0a\x8c\x8d\xe1\xe1\xa7\x51\x32\xf1\x56\x4c\xd9\x94\x99\x56\x90\xbb\xed\x2e\xe1\x54\x53\x7f\xb6\xf2\x79\xfb\x09\xc8\xde\xa6\xf6\xaf\xab\xc6\x28\x56\xe3\xd1\x28\xfd\xfa\x79\xfc\x49\x76\x19\x3b\xb9\xb3\x36\x86\x1e\x47\xb5\x6d\xc2\x58\x23\x93\xd2\xe5\x44\x65\x1a\xc8\x5b\xc5\x8e\x9e\x6a\x94\xdc\x4c\x39\xc4\xef\x72\x53\x8a\x14\xf8\x56\xcd\x95\xc3\xe2\x79\x0a\xde\xe0\x3a\xb2\xe5\x2c\xa0\xae\x47\x1d\xe5\x02\xcb\x19\xe6\x76\xaf\x35\xf5\xf9\x3d\x84\x0f\xef\x96\x06\xcb\xe9\x2d\x8b\xc2\x50\x06\x10\x5d\x92\x34\x45\x88\x83\x88\x42\xc3\xbe\x50\x5c\x73\x50\xe3\x51\xb7\x35\xe6\xcc\x6f\xb7\x92\x75\xb2\x7b\xd9\xeb\xd3\x6b\xa4\xd0\x60\xac\xee\x73\xb5\xa3\x15\xce\xff\xab\x86\xd0\x6f\x21\x68\xa6\x70\x65\x57\x81\x96\xa0\xed\x04\xa4\xdd\x71\xd6\x73\x48\x37\xdb\x08\x38\x57\xab\x1e\xb5\xe0\xee\xc4\xff\xba\xc9\x54\x4f\x4e\xc1\x9b\xde\x19\x4d\xf8\x4b\x1c\x84\x83\x41\x57\x4b\xf1\x0d\xae\xe8\x5b\x81\x78\x19\x6f\xb6\x08\x12\x3a\x80\x81\x71\xd7\x3c\xe4\x20\x6a\xd6\x52\x16\xad\x1a\x5c\xbd\xe4\x0b\x19\xd6\xae\x7f\x40\xdf\x97\xab\x84\x32\xe2\xc5\x3a\x50\x4e\xd1\x22\xe2\x5f\xb7\xa5\x1c\x14\x35\x4a\xb3\x92\x8e\xde\xb3\x9c\x29\xeb\x24\x6b\x74\xa0\x76\xf8\x9d\x03\x50\x4f\x40\x1b\xd1\x76\xb5\xcf\xfe\xe4\xb9\xdb\x09\x7c\x45\x76\x4f\x51\xaa\x37\x67\x04\xb5\xa7\xf2\x10\xb3\xf1\xa9\x05\xe2\x5d\x67\x00\x2f\x65\x57\xeb\xb7\x49\x73\x7c\xda\x31"}, -{{0x2a,0xac,0xc8,0x19,0x7f,0xf8,0xfa,0xe1,0xc1,0xcf,0x38,0x62,0xe3,0xc0,0x4a,0x21,0x78,0x29,0x51,0xf8,0xe4,0x8e,0x40,0xb5,0x88,0xf8,0xbc,0x74,0x60,0xc3,0x0a,0x03,},{0x9a,0x1b,0x01,0xe2,0x15,0x4f,0x1c,0x36,0xa8,0xe1,0x6b,0x79,0xee,0x7d,0x2d,0x05,0xb8,0x71,0x2e,0x0d,0x27,0xa0,0x61,0xa6,0xd4,0x1d,0x47,0x57,0x78,0xb0,0xdf,0x8c,},{0x64,0x7c,0xdd,0x6c,0x1a,0x67,0x29,0x0e,0x57,0x67,0x6a,0x78,0x11,0x3a,0xaa,0xdc,0xa6,0x9a,0xc5,0x7b,0x99,0x77,0x15,0xc5,0x09,0x89,0x5b,0x8c,0x5c,0x94,0xe8,0x2c,0x0b,0x6a,0xce,0xcc,0xf3,0xba,0x8b,0xd7,0xcf,0x61,0x75,0x2b,0x1b,0x19,0xd1,0x3b,0x49,0xf1,0x5f,0x8b,0xfa,0x04,0x6e,0xb4,0x42,0xa5,0x5c,0xd5,0xba,0xb1,0x42,0x02,},"\x5d\x82\x75\x2c\xe5\xda\x31\x80\xfa\xf4\x78\x7a\xed\xfb\x19\x29\x4b\x43\x48\xa1\xd9\x20\x2c\x85\x39\x83\x31\x32\x3e\x0f\x42\xb0\x83\x52\x27\xe6\x8e\x11\x56\xf2\xd4\xba\x2f\xe4\x50\xe6\xd6\xef\x2b\x92\xd8\x9b\xbb\xe4\x09\x6e\x12\xca\x83\x97\xeb\x2f\x45\xe6\x76\xf1\x67\x3a\xa4\x1c\x95\x9f\xcd\x30\xd5\x57\x88\x53\xb5\xdb\xd1\xc0\xd5\xb3\xa0\xf0\xd8\x70\xec\xa7\x1e\xa1\x33\x90\x11\x1b\x25\x8f\x65\x48\xb3\x2f\x37\xa0\x5e\x97\x44\xa6\x56\xfd\x77\x8d\x65\x72\x19\x65\xc6\xd9\xb3\x28\x60\x0b\x45\x70\x47\x70\xe0\x4b\x09\x97\x90\xaa\x78\x84\xf0\x0d\x7b\xb7\x65\x9e\x33\x72\x10\xbd\xc2\x3e\xaa\x71\xd7\xb0\x16\x03\x0a\xca\x62\x23\xb5\x56\x9b\xdf\xc2\x90\x81\x1a\xac\x40\x95\x24\xdc\xcb\xf9\xba\xbc\xbe\x4b\xf2\x09\x46\xb5\x44\x31\x7c\xa6\xf2\xf9\x18\x31\xc7\x9f\xb2\x73\xb6\x40\x4e\xb4\xe6\x1e\x1f\x7b\x10\x6e\xbd\x0d\xb9\xf2\xb1\x97\x4d\x2f\x03\x1b\xce\x25\x80\x36\x06\x55\x2c\x34\x41\x65\x5e\xfc\xf2\xc7\xea\x52\xad\xcb\x30\x99\x3d\x85\xf2\xdd\xa7\x96\x03\xe9\x41\x5a\x02\x32\x45\xa6\x6c\x07\xa9\x56\x93\x31\x46\xf5\x3c\x99\x3c\x08\x89\x18\x08\xb8\x16\x6b\x30\x72\x1f\xbd\x1f\x8a\x1b\x93\x7d\x14\x07\x0d\x78\x6e\x9e\xb4\x51\xf2\xab\x51\x42\xf8\x3a\x60\xf3\x5d\x76\xad\x8b\x81\xd6\xa5\x7c\xf3\x68\xfc\x6f\xca\xcc\x0c\x47\x58\x44\x0d\x9c\xd5\x95\xb1\xb0\x94\x2a\x36\x55\xe2\x50\xda\x98\x3b\x72\x41\x54\x6d\xcf\xbe\x0a\xe8\x10\x77\x65\x02\x95\x40\x9f\xf9\xe9\x09\x77\xfb\x99\x60\xcb\xf4\x0a\x2a\xf5\x17\x74\x02\xba\x2f\xaf\x50\xdb\x6f\x1a\x73\x65\xcf\x99\xe9\x92\x42\x9e\x38\xdb\x43\xea\x83\xfd\xdc\x95\xa6\x48\x67\x6c\x0b\x16\xbc\x95\x2b\x15\xde\x99\xd5\x2f\x6b\x52\x33\xda\x4e\xae\x19\x78\xe8\xba\x25\xe6\x23\x5a\xfb\xc5\x11\xc7\x6c\x4c\x87\x4c\x92\x37\x92\x2b\x1c\xef\x08\x47\xd0\x7a\x80\x20\x0c\xba\xe3\xc7\xc8\x1f\xcb\xd0\xd1\x72\x52\xed\x8c\x61\xad\x19\x54\xfc\x86\x2e\x1e\x04\x44\x4c\x32\x08\x6f\xee\x38\x0d\x1c\x17\x54\x13\x22\xb9\xa6\x0d\xa6\x62\x35\x2e\x21\x0e\x9a\xe2\x15\xe3\x53\x29\x6d\xb9\x22\x33\x9a\xa1\x7d\x21\x73\xec\x31\xf1\xc5\x30\xa2\x4b\x1f\x34\x8a\x31\x57\x2e\x14\x69\xca\xac\x80\x8f\x9c\x76\xec\x27\x31\x87\x3b\x80\x3e\xad\x3e\x54\xea\x24\xbc\x24\x49\x9b\x97\x04\xb3\xbd\xce\x81\x38\x9b\x9d\x14\xd4\x95\x27\xc0\x4b\x3b\xb9\xe3\xba\x6d\x94\x6c\xea\x58\xcf\x78\x6d\x4d\x28\xb8\x9b\x41\xc5\x82\x74\x03\x5a\x86\x90\x5a\xd9\x57\x58\xc3\x16\x13\x66\xab\x93\xda\x81\xe6\xb4\xc8\x08\x36\x4e\x08\x7d\xae\xea\x4c\x4c\x5c\x2a\xa6\x87\x19\x37\xc5\xfe\xab\xa2\x14\x9f\x01\xf7\x38\xf4\x53\x96\xe6\x6e\xa8\x06\x32\x21\xe1\xc8\x1c\x05\x25\x5b\xa5\x64\xad\x44\x0c\xb5\xd0\x7c\xbd\x4b\xab\x94\x1e\xa5\x93\x24\x49\x30\xbc\x5c\x28\x9b\x31\x65\xd3\xec\x88\x47\xeb\xc4\xb6\x74\xc0\xa4\x9f\x91\x69\xad\xef\x78\x6d\x77\x67\xbc\x8f\x21\x3d\xb7\xd9\x5c\x06\xe9\x9b\xc1\x1e\x20\x00\x55\xb6\x5e\xb7\x9a\xda\xa0\x1b\xcd\x2c\x85\xda\x43\xce\x63\x70\xe1\x2e\x34\x9b\xf6\xd4\x75\x48\x7a\xff\xdf\x92\xe2\x0a\x3a\xcd\xed\x1d\x76\xf9\xe8\x3e\x91\x9e\x98\xde\xf1\x95\x07\x2a\x50\xd0\xc5\x71\xdd\x25"}, -{{0xff,0x86,0x21,0x56,0xc7,0xea,0xb6,0x81,0xc9,0x5e,0xff,0xf8,0x00,0x3e,0x00,0xa1,0x4f,0x1f,0x0d,0x50,0x5d,0x55,0x07,0xe6,0xe5,0xb3,0x91,0x79,0xdf,0x9b,0x1c,0xda,},{0xe1,0xb8,0x9f,0xb3,0x11,0x14,0xea,0x46,0x10,0x7f,0xfd,0x03,0x29,0xf1,0x06,0x64,0x28,0xde,0x54,0x70,0x8e,0xdb,0xec,0xf3,0xed,0x9d,0x47,0x08,0xcd,0x14,0x3f,0xe2,},{0x4b,0x81,0x37,0x04,0x2d,0x67,0x84,0x75,0x7d,0x4a,0x9c,0x06,0xbc,0x74,0x32,0xf4,0x80,0x9b,0x1c,0x6a,0x90,0x35,0x42,0x73,0x6d,0x9a,0x57,0x66,0x8c,0x20,0x84,0x5c,0x17,0xd4,0x68,0x55,0x70,0x85,0xc5,0x7f,0xb6,0x32,0x13,0xda,0xd3,0xbe,0x0f,0xa3,0x6a,0x11,0x8f,0x7c,0x1a,0xef,0xf2,0x56,0x2f,0xf4,0xb8,0x88,0x8c,0x26,0x90,0x0e,},"\xb3\xd1\xdb\x72\xa6\xa9\x85\xec\xd7\x0a\x2c\xff\x6c\x18\xc1\x79\xe2\x17\xd4\xf4\x10\xfd\x39\x34\x96\x96\x85\x90\x1b\xd0\x71\xbc\xe6\xc2\xfb\x67\x63\xe1\x0c\x6f\xa1\x6e\x75\xa1\x17\x60\x66\xb8\xec\x81\xae\x3a\x80\x39\xe7\x1d\xc2\xcd\xc6\x4a\x40\xfd\x62\xb7\xce\xe7\xbe\x4b\xa0\x33\x2f\xe4\x5d\x0b\x60\x15\x86\x52\xe3\x3f\x8d\x3a\xff\x3c\xb4\xd6\xb0\x21\x74\x4d\x0d\xd1\x78\xb1\xbf\x0a\x1c\xc1\xd3\xfe\x93\x21\xbe\x28\x42\x1e\xb8\x82\x63\xa1\x24\xf4\x97\x92\xd0\x79\x47\x5a\x8c\x55\x5f\xf5\x69\x08\x73\x51\x4b\x5d\x48\x3e\x53\x21\x7e\x0c\xbb\x12\x86\x2b\x85\x0f\xe3\x90\xc8\xf8\x30\x08\x08\x6e\x64\x9a\xc9\x04\xb0\x18\x35\x0a\xb4\x91\x57\xee\x9b\xca\xe6\xc0\x7a\x4b\x87\x8b\x48\xe2\x5e\x98\x4f\xbb\x4d\x36\xb6\x1d\x68\x9b\x13\x46\x8a\x28\xd1\xe3\x87\xe0\xe8\x86\x57\xf8\xc8\xac\x95\x86\xa6\xe2\x6c\xf9\x4d\xff\x6f\x82\x64\xe3\xff\x62\x58\x86\x5c\x6d\xcf\x85\x7b\x00\x14\x78\x86\xe1\x75\xdf\x04\x32\xe3\x2f\x04\x40\x0e\x29\x9f\x21\x18\x83\x12\xb3\x2d\xfc\x05\x0e\x7b\x7e\x87\xee\xaa\x0c\xba\xac\x6b\xe9\x93\x7a\x5e\x0c\xc3\x11\x13\xde\x7c\x8b\x23\x3e\x1c\xe8\xe5\xd9\xc5\x64\xfb\xe9\xf3\x7b\xbd\x41\x1d\xf7\xa5\xe4\x4e\x6c\x7e\xbb\x67\x6d\x85\x89\x4d\xcc\xf4\x86\x5e\x4d\xda\x0c\xad\xef\x2b\xbc\x55\x00\x0b\x3a\x29\xf1\xf7\x1e\xf4\x46\x1d\xdc\x3b\x33\x1d\x91\x56\x65\x34\xc5\xd6\xd8\x4c\x73\x13\x76\x29\x53\x20\xf8\x0a\xdc\x90\x28\x8f\x99\x53\x55\x4f\xcd\xf9\x21\x3d\xe6\xa9\x05\x21\x0d\x4c\x80\x64\xaf\x91\xcd\x98\x32\x5e\xf9\x18\x98\xd3\x3d\x70\x03\x82\x02\xe3\x2f\xb6\x70\x9c\xa3\xd7\x88\xfe\xcb\xd1\xb8\x41\xfa\x4e\x5e\x90\x62\xd6\x42\x67\xc3\x5c\xfd\x44\x4f\xb6\x9e\x2f\x60\x47\xf5\x8b\x1c\x2a\xf4\xcc\x7e\x4c\xac\x2f\x89\x08\x88\x36\x05\x92\x11\x3e\x96\xad\x3a\x85\x7e\xd0\x5e\xaa\xba\x6f\x91\x53\xef\x89\xb9\x3e\x00\xe8\x74\x37\x33\xec\x47\x2d\x9b\x0e\xec\x1c\xd8\xfa\x52\x42\x5c\x4a\x26\xbd\x7d\xf7\x3a\x27\x12\xbe\xbe\x51\xae\x3b\x25\xeb\x78\xdb\x82\x14\x90\x31\xfe\x7b\x28\x1a\xf6\xcb\x77\x14\xed\xf8\x9d\xe9\x15\xf3\x47\x0f\x15\x3e\xed\x7f\x45\x62\x43\xbb\x90\x34\x2e\x19\x0e\x64\x7f\x39\xe0\x46\x88\x3c\xe2\x8a\x89\x20\x03\x31\x5e\xa3\x79\x42\x9e\x95\x82\xa9\x35\xeb\x78\x96\x33\x96\xd1\x36\x84\x5f\x86\xc4\x66\xe8\xfa\xf2\x27\x2f\x43\xff\xef\xc2\xad\xa5\x60\x1f\x8a\x6b\x2a\xc4\xcc\x6b\x92\x82\x09\x17\xf2\xe0\x39\x3c\x8f\xaf\x98\x2d\x6c\x5f\x4f\x23\x0e\x27\xce\x22\x78\xa7\x23\x77\x47\xfa\x85\xa9\xc8\x57\xbf\x18\x02\xc3\xea\xe0\xd2\x35\xb5\xad\x58\x49\x7d\x66\xa0\xd3\xa9\xba\xeb\xcc\x41\x7f\x18\x33\xe9\xcc\x44\x60\xf9\x75\xd7\x28\x58\xcd\x11\x8d\x7a\xaf\xaf\x1c\x87\x82\x97\xca\xcf\x71\xac\x75\x67\x6d\xc1\xb4\xfb\x51\xc1\x77\x58\x10\xd0\x35\x37\xf2\xd7\x66\x27\x8b\x99\x71\xbb\x97\xd3\xc4\x9b\x51\xfe\xb2\x6d\x37\x5e\x0c\xb9\x10\x95\x74\xa8\x16\xf8\x4e\x76\xfc\x7e\xf0\x72\xd5\x79\x3c\x2f\x65\xab\x2e\xfd\x90\x52\xe6\xb8\x56\x9f\x28\x05\x86\x1c\x31\xa7\x34\x4a\x3c\x44\x06\x9a\x94\x32\x0d\x27\x4e\x27\x12\x71\xea\xfa\x3b\xfe\x64\xde\x75\x37\x84\x6a\x01\xe5\x1f\xda\xe0"}, -{{0x58,0x26,0x19,0xab,0x3c,0xf5,0xa3,0xae,0x77,0x66,0x88,0xbf,0x6d,0xba,0xcb,0x36,0x33,0x0a,0x35,0xad,0x75,0x24,0xe4,0x9e,0xf6,0x63,0x68,0x77,0x64,0xcf,0x6e,0xc7,},{0x20,0x02,0xea,0x0a,0x38,0xa3,0x27,0xe0,0x38,0x4a,0xea,0xe4,0x68,0xdb,0x0f,0x6c,0x85,0x16,0xa6,0x96,0x09,0xaf,0x9e,0xee,0x93,0xe9,0xec,0xb9,0x4b,0x44,0x9c,0x66,},{0xfe,0x97,0x01,0xda,0x1a,0xa8,0x1c,0x55,0xba,0xc3,0x36,0x38,0xf7,0x75,0x54,0x2b,0x80,0x44,0x80,0xf3,0x4b,0x7b,0xfc,0x78,0xda,0x99,0x16,0xe5,0x24,0x6a,0x60,0x4d,0x39,0x0b,0xf9,0x20,0xc8,0x72,0xa7,0x79,0x24,0x24,0x6e,0xe8,0xd0,0x39,0x3b,0x20,0x2e,0x7b,0x25,0xb2,0x48,0x4f,0x65,0x4a,0xc3,0x67,0xcb,0x09,0x25,0xec,0xe3,0x05,},"\xca\x74\x28\x4f\x11\xc5\x6e\x25\x98\xd7\x8a\x4e\xcd\x03\xb4\x0e\x01\x7a\x55\x81\x76\x01\x2b\x26\xfd\xf6\x95\xc3\xde\x98\xa7\x4f\x8f\x40\xa4\x7d\x79\x78\xed\xc2\x4e\xe8\x09\x2b\xfe\x5e\x61\x59\x68\x34\xde\xed\x1d\x9d\x34\xa0\xf5\xcd\xae\xbe\x34\x21\xaa\x19\xe0\x12\xde\x86\x5b\x9e\xe1\xb7\x34\x79\xb2\xbd\x1a\xc9\x82\xf9\x7e\xd9\xc7\xcd\x20\x45\x9c\x60\xfb\xb1\x1e\x1e\x2b\x4e\xac\x5d\xb6\x84\x4c\x71\xd7\x29\x49\x50\x2b\xba\x50\x3a\xce\xc9\x05\xad\xba\x25\xf6\xb1\x19\xea\xf9\x63\x9f\xa8\xab\xb3\x02\xdf\xf9\x93\x2d\x85\x0c\xc4\x4c\x57\xcf\x90\xb2\xe5\x8a\x8b\x52\x51\xc1\x26\xa9\xe2\x8f\x5c\x76\x1b\x62\x80\xe2\xcd\xdd\x79\xcb\xd6\x8e\x53\xff\x4a\x62\x26\xd3\xbd\x4c\x96\x1b\x9b\x9e\x43\x45\xa2\x54\x58\x62\xc7\x97\x38\x66\xf0\x42\x0b\x89\x8e\x7b\xae\xa9\x0e\xa4\xee\x00\x40\x42\xef\x38\xa1\xfd\x95\x6a\x72\xfd\xf6\xfd\x43\x25\x7d\xa9\xfd\xb9\x66\x80\xef\x4f\xdf\x9e\x94\x3d\x26\x5c\xdc\xf2\xe5\x2e\x32\x01\xd5\x40\x8b\xc6\xce\x10\xe5\x70\x0a\xdf\x12\xb5\x5b\xa1\x4a\xa8\x29\xd8\x69\x1c\x31\xf2\x4f\xc4\xa5\x1c\xe6\xfa\xa1\xf3\xef\x2e\xad\x78\xe5\xe7\x53\x44\x6a\xd3\xfa\x4a\x84\xc1\x93\x97\x9a\xeb\xc8\x30\x9b\xad\x60\x81\x4f\x48\x59\xb9\x31\xd7\x04\x14\x76\x44\x91\xc6\xc9\xed\x8d\xb6\x73\xc5\x43\xd3\x51\x85\xcd\x28\x88\xaa\x21\xc1\xa9\x20\x34\x27\xe0\xac\x0b\x1f\xe3\x4c\x0e\x4a\x40\x01\xe0\x95\x6c\x13\xcb\x59\xa3\xba\xf8\x7c\x21\x09\xa8\x88\xa4\xc9\xe7\xaa\x48\x17\x67\xd8\x02\x0f\xf3\x5d\xd7\xc5\xcc\xec\x7c\x08\xe9\x71\xa7\xe2\x18\x13\x8c\x90\x54\x6a\x7d\xdf\x36\xad\x11\x4b\xe5\x85\x57\x43\x2c\x2d\xdf\x34\xce\xd3\x37\x9f\x70\xd4\x40\x7e\x58\x79\xf9\x84\x2f\x38\x17\x17\x05\x1b\x16\x85\xaa\x7a\xb0\xad\x38\x54\x1e\xc1\x68\xf5\x1c\xb6\x88\xf3\xcd\x1a\x01\x9a\x33\x6c\x9f\x4f\x3f\x82\xde\x78\x5c\x07\x48\x67\xfd\xc8\x80\x0f\xc7\x6f\xba\x04\xc8\xad\x8d\xe1\x0d\x2e\x9b\x43\x05\x81\xbe\x44\xc4\x1e\xcc\x8f\xc8\xa6\x16\x31\x43\x99\xd1\x8c\x64\x79\xf5\x7e\x57\x3b\x22\xa6\xee\x5c\xe2\xdc\xc0\x89\x48\xa0\xde\x1f\x0d\xd2\x5b\x65\x71\x5a\xb1\x8c\x70\xc7\x62\xfc\x3d\x7d\x60\x0c\xad\x63\x22\x60\x38\x50\x9c\x19\xab\x35\xb5\x49\x3e\xee\x73\xa7\x03\x73\x1e\xc5\x35\xc9\x0c\x6f\x06\xd9\x4d\x3e\x5f\x7e\x51\xa0\x9f\x9f\x8f\x42\xc5\x01\xb8\x50\x46\x86\x36\x5c\xee\xe9\xe0\xfe\x00\x13\x29\xf3\x03\x52\x21\x46\x71\x7c\x6a\x12\x58\xd0\xf1\x57\xcb\xea\x4b\x5a\x5e\x3d\x13\xbc\x90\x7e\x95\xfd\x6e\x8a\x71\x89\x6a\x02\xc3\x10\x6b\xd2\x6a\x51\x00\x51\xf1\xb3\x02\x58\xab\x27\xf8\x75\x67\x3b\x13\x37\xee\x36\xb7\x1a\x37\x6e\x0f\x9e\x78\x09\xa6\x7c\x67\xd9\xac\xc1\x6c\x25\x1d\xcb\x8c\x92\x6c\x8e\x93\x25\x16\xd3\x8b\x72\x33\xea\xc6\x15\x9c\x59\xca\xd0\x30\x7c\x59\x0e\x71\x31\xb6\x22\x19\x14\x5a\xaa\x35\x5b\xfb\x4a\xcb\x6a\xf0\xa5\x50\x00\x06\xcd\xd8\xb8\x13\xfe\x19\x08\x60\x2e\x08\x74\xc9\x62\x2b\xb3\x76\x73\xba\x1a\xcb\xa4\x14\x23\x16\x67\xbc\xc4\x90\x7a\xc8\x71\xf8\x7e\x6c\xe3\xf5\x91\xc1\x91\x71\x05\x7a\x9f\x45\x7f\x53\x62\xae\xda\x10\x5d\x18\xfb\x84\xf7\xd0\xf0\xa7\xda\x7e\xf8\xda\x91\x14"}, -{{0x2b,0xbd,0x83,0x0c,0xe7,0xde,0xf3,0xfe,0xce,0xa1,0xec,0xd6,0xea,0x0a,0xe9,0xc9,0xf4,0xfa,0x8f,0xfc,0x3b,0x1f,0x19,0x38,0xc5,0x05,0x05,0x1b,0xab,0x40,0xcf,0x7a,},{0x0f,0xdf,0xed,0x8d,0xe3,0xc1,0xea,0xf8,0x91,0xce,0x37,0xe3,0x4c,0xb4,0xa2,0x44,0x1c,0xbb,0xae,0x08,0x83,0x38,0x3d,0x70,0xde,0x24,0x64,0x85,0x0b,0x4a,0x64,0x2a,},{0x13,0xeb,0xc9,0x79,0xa8,0x87,0x10,0xe3,0xc5,0xf3,0x45,0xcf,0xbb,0x82,0x48,0x13,0xb3,0x08,0xa9,0xd5,0xc6,0xde,0xe3,0x28,0xbf,0xd2,0x35,0xa9,0x7d,0xe7,0xb3,0x26,0xde,0x6c,0x73,0x8f,0x96,0xf6,0x98,0x31,0x94,0x92,0x09,0x99,0x68,0x52,0xdd,0x9c,0x09,0x8d,0x58,0x08,0x41,0x87,0x09,0xf2,0xbf,0x51,0x0d,0x46,0xb7,0xf0,0x36,0x06,},"\x5f\x1e\xde\xaa\x3c\x0b\x2a\x63\x31\x1d\x97\xf1\xc5\x4e\x7e\x2f\x68\x71\x70\xe6\xb4\x6e\x21\x69\xcb\xf5\x6c\x66\xf2\x31\xbf\xc4\xa5\x76\xbd\x2b\x84\x20\xbf\x35\x7d\x3a\x90\xf8\xf3\x2e\xa1\xad\x99\x39\xb4\x67\x25\x4b\x66\xa1\xdf\x1f\x5b\x4c\xba\xc6\x3a\x5c\x27\x24\x26\x0d\x24\xd8\xdf\x8e\xdb\x58\xae\x24\x7a\x25\x91\xe9\x20\xb1\xa4\x20\xcf\x8d\x85\x39\xea\x57\xdb\x0d\xad\xff\x1a\xd3\xe9\x8c\x31\x72\xd0\x33\x16\x3c\xb4\x34\xa7\x66\xb0\xc1\x18\xa5\x6a\xbd\xcc\xe7\x9c\x82\xaf\x7b\xac\x74\xed\x0e\xa0\x24\xac\x4c\xe0\x22\x2d\x0a\xa9\x14\xf4\x32\x09\x2b\x1b\x51\x78\x04\xdb\x59\x18\xa8\x45\xe9\xcc\xa5\x5a\x87\xdb\x7c\x28\x52\xf7\xdd\x2e\x48\x36\x01\x85\xcc\x44\x2c\x79\x30\xaf\xe1\x5d\xd6\x22\xcc\x02\xbc\xd1\xee\x77\x8b\x59\x70\x5f\x14\x33\x32\x41\x58\x8a\x52\x2d\xe2\x44\x07\xe8\xe6\xe1\x0d\x5e\xf3\xa8\x8e\x3a\x3c\x44\x38\xc1\x7f\x75\x04\x67\x4f\xd7\xe4\x18\xcb\x2f\x77\xad\x0a\x56\xd2\x38\x67\x03\x15\x5e\x9a\x40\x1c\x43\xdd\xb5\x1e\xad\x55\x20\xaa\x7b\xa0\x38\xe7\xde\x53\x31\x41\x8a\xd5\x52\xbd\xcd\x18\x5f\x50\x3a\x85\x48\xf5\x5b\x63\x86\xe4\x68\x7c\xa5\x15\xf7\xc0\xee\xa5\x70\x98\x3b\xfb\x24\xbe\x16\xf7\xb3\x00\x3f\xb7\x56\xe3\x26\x56\x2f\x2a\x32\xfe\x65\xff\x84\x4c\x39\x84\xc7\x2e\x40\xdd\x49\xe4\xf3\xae\x8c\x0f\x81\x9a\x79\x39\xb2\xe7\x36\xe3\x81\xf5\x82\x3c\xbc\x61\xb2\xed\x01\xd9\xb0\x5c\xf8\xb1\x46\x48\xa4\x8b\x0d\x7c\xbe\x88\x2a\xc1\x6c\xad\xd8\xc4\x2a\xa2\xc7\x02\x46\x34\x7b\x4d\x84\x95\x36\xa7\xac\x22\xc7\x20\xda\x3c\xf1\x78\x72\x5e\xe5\x57\xa9\x2c\x25\xb1\x2b\x8b\x95\x6d\x3b\xf4\x80\x2e\x9e\x8a\x15\xb5\xab\x75\x42\x35\xcc\xa0\xe5\xb7\xe5\x5e\x4a\xec\xe4\x5a\x47\xe0\x84\xce\x14\x47\x44\x05\x98\xef\x5d\x4f\x5f\xdc\x2c\x98\xa5\xad\x13\x6c\xff\xbf\x87\xd3\xcf\x52\xf6\x73\x8c\xca\x79\x48\x35\x60\x92\x07\x8f\xdf\x25\x45\x77\xf5\x59\x69\xa0\xc6\x52\x46\xda\xc8\x09\xa2\xfc\xa1\xf6\x0a\x1d\x92\x98\x77\xb9\xa6\x54\x0e\x88\xa9\xe6\xe9\x15\x59\x38\xd2\x2c\x68\x7e\x63\xb3\x87\x53\x4d\x38\x5e\x89\x61\xe5\x88\x67\x43\xf9\x5f\x4a\x70\x80\xd9\x16\x62\x45\x17\xb1\x53\x36\x03\x0a\x46\x71\x4b\x16\x8b\x83\xd6\xf9\xcc\xe0\x60\x66\x49\xc0\x1f\x0a\x1d\x0a\x2a\x53\xf5\xe3\x78\xf6\xaa\x98\xc3\x84\xaa\xfb\x3e\xef\xdb\x34\x21\xfa\x3a\xc9\x8a\x0d\x3a\x9c\x02\x9c\x23\x00\xae\x02\x41\x06\x7d\x1a\x4f\xc9\x2e\x43\x86\x88\xea\x88\x9f\xcb\x1a\x1a\x9e\x86\x34\xb9\x16\xc6\x0b\xaa\x0c\x18\xbf\xcd\x13\x9b\xfe\x30\x17\xbf\xbe\x16\x29\x13\x43\xce\x86\x05\xbb\x78\x72\x55\x8c\x6b\x5f\xd5\x6d\xfd\x22\x15\x77\xed\xcf\xfa\xa8\xbd\xa3\x4d\x7a\x11\xab\x8c\xb2\x78\x28\x8e\x58\x34\x84\x26\x76\xfc\xcf\xfa\xa9\x11\x1b\xce\xd2\xb3\x57\x5f\xdd\x49\x62\x1b\x76\xe8\xd1\x29\xb6\x17\x00\xee\xab\x03\x14\xef\x94\xd5\x50\x50\x6a\x4b\x8d\x1e\xe6\x55\x08\xd8\x9d\x0e\x99\xe9\x33\x6b\x41\xd9\xf7\x4a\xa4\xd7\x22\x11\x4d\xe0\xf3\x1e\xcf\x00\xb0\x97\xf5\x3c\x9a\xca\x9c\x7a\x28\x5b\x58\xa3\x5d\x70\x29\x8c\x5c\x34\xf7\x4b\x4a\x70\x53\x08\x03\x31\x00\x34\x9f\x0c\x62\xf9\xc2\xeb\xf7\xde\xad\x0a\x77\xb2\x98\xeb"}, -{{0x1a,0x7a,0x3c,0x2f,0x54,0x81,0x13,0x1b,0xe5,0xf8,0x68,0x45,0x6a,0xa2,0xfa,0x90,0xe5,0x6d,0x52,0xcb,0x72,0x1c,0x71,0x84,0xeb,0xff,0x06,0xfe,0xd2,0xfe,0x68,0x5d,},{0x7c,0x2a,0xd0,0xf2,0xa5,0x70,0x55,0x03,0x26,0xfb,0x50,0xa8,0x50,0x83,0x58,0x21,0x67,0x6d,0xe1,0xde,0x12,0x7f,0x6d,0xe1,0x67,0x02,0x99,0xd8,0x14,0xf6,0xe3,0xce,},{0x97,0x61,0x60,0xfb,0x5b,0xbd,0xab,0xe5,0xc8,0x96,0x2f,0x23,0xba,0xba,0xcf,0x0b,0x0a,0xb4,0x1c,0x2b,0xb1,0x3e,0x9c,0x0d,0x44,0x90,0x67,0xb7,0xde,0xcc,0x7d,0xb4,0xe9,0x4e,0x76,0xa7,0x1b,0x9c,0x0a,0xc4,0xd6,0xaf,0x38,0x7a,0x72,0xa8,0xcd,0x73,0xe3,0xbc,0x63,0xb7,0xed,0x65,0x0b,0xee,0xbf,0x17,0x42,0x4c,0x49,0x0b,0xd6,0x0d,},"\xc6\x28\x34\xd9\xd5\x5d\x1a\x44\x03\xe9\x25\xd0\xa5\xb5\x52\xda\x17\x4c\x02\xf4\xe9\x45\xde\xc3\x38\xc1\xbb\xb2\xae\xb4\xff\x40\x02\x0e\xf7\x0f\xf5\x05\x20\x5c\xf8\x81\xb6\x29\x96\x0a\xbd\x62\x76\x4e\x5a\x54\xf2\xb5\x10\x56\x67\xb1\x1c\x7d\x5b\x7a\x4c\xcc\x3f\x48\x8b\xdd\xdb\x95\x8a\x7b\xe9\x54\x62\x07\xe6\xc4\x67\x18\x97\xc0\x53\x50\x8e\x1f\xd8\x32\x22\x13\x0a\x79\x33\x97\x6d\x2b\xec\x61\x4e\xd8\xf9\xb6\xa6\xb9\xf4\xef\xb2\xa5\x8b\x9d\x00\x5b\x94\x3e\x42\xf1\x71\xb7\x09\xa7\x31\x30\x70\xcb\x2e\x06\x8d\xa3\x9c\xf9\x99\x22\xb6\x9e\x28\x5c\x82\xad\x97\xf2\xd6\xc7\x79\x22\xca\xe2\xb5\xe3\x20\xe8\x35\x77\xc0\xd0\x88\x76\x1e\xc8\x81\x52\xc2\x97\x49\x29\x78\xa9\xd7\xa3\xff\x67\xed\xe4\x4c\x2a\x70\x7c\xf3\xe2\x35\x2e\x23\x2f\x53\xc8\x78\x2b\xa4\x89\x28\xa9\x7f\x8a\x36\xb2\x0a\x41\x68\x16\xe9\x45\x79\xb9\xd7\x25\x0a\x29\xdc\x84\x70\xf6\x3a\x70\x58\xe2\xd2\xa9\x9d\x6f\x0c\xcb\x53\x0d\xf5\x96\x95\x05\xef\x5c\x78\x44\xeb\x16\x7d\x20\xf4\x12\xa5\x08\xfa\xb1\xf8\xcd\x9c\x20\xc5\xeb\x9a\x41\x7a\x54\x12\xb5\xda\x6a\x57\x13\x57\x59\xfa\xb1\x7f\x63\x14\xf6\x8d\xf3\x5b\x17\x72\x42\x14\x43\x67\x6f\x31\x25\x79\xaf\x6b\x14\x11\x53\x5a\xda\x8f\x76\x01\x2b\x69\xbb\xeb\x60\xb2\x89\x7e\xe6\x60\x7c\xb3\x69\xcd\xf5\x2f\x4f\x6d\xdf\x88\xcd\xb2\x63\x0d\x78\x89\x6f\x13\x61\xfe\xa2\x2a\xe6\x34\x21\x76\x96\xff\x11\x4f\xb4\x2d\xbe\x4f\x43\x46\xf1\xbe\x5b\x57\xad\xb3\x84\xae\x7e\x49\xb4\x1f\x74\xb3\x1b\x9a\x62\xbc\x69\xdc\xa1\x65\x89\xc6\x34\xeb\x9d\x7c\x6c\x94\xf8\xec\xe4\x4b\x60\x62\x8f\x98\xe1\x02\x4c\xf3\x2e\x3e\x3d\xd6\xdc\xe5\x5a\x12\x22\x53\x2f\x49\x0d\x63\xe6\xa2\x75\x28\x1c\x0f\x3a\x6c\x10\x18\x91\xb8\xd5\x7a\x45\xde\x11\xde\x35\xeb\xb1\x51\xc0\xdc\xd7\x5e\x6c\x05\x0b\x3c\xd8\xba\xba\xe8\x45\xc3\x9f\x66\xc3\x6c\x77\xcd\xe0\x5b\x68\x3e\x4f\xb0\x10\x3d\x93\xe7\x65\x93\x35\xc8\x7f\xc0\xe3\x23\x5b\x2e\x82\x48\x8c\xda\xbe\xb5\xc5\xc8\x75\x80\x87\x45\xee\xa9\x2d\xe8\x6b\x8e\xfc\xb6\x3e\x16\xd0\x82\x91\x9a\xee\x2e\x92\x89\x9c\xb0\xbc\xf1\xc1\x42\x15\x77\xa4\xa0\xd9\xdb\x09\xee\x1f\x9f\xeb\x92\xa5\x38\x21\x03\xcf\x7c\x32\xcf\xe4\x63\x72\x5a\xe4\x86\x6d\xaa\xfe\xda\x05\x34\xc1\x69\xf8\xf9\xbe\x40\x4f\x3b\xaa\xe1\x23\xfa\x76\x8a\xce\x46\x17\x8d\x4b\x9b\xbc\x5b\xd7\xae\xec\x79\x03\xb0\xa5\xbc\x57\x53\x89\x86\xee\x09\xe0\x7e\x32\x07\x7b\x3b\x9d\xe5\x0d\xd1\x96\x7a\x37\x2c\x38\x5a\xc8\x86\x28\x7c\x18\x45\x1a\x64\xef\xb3\x7d\x05\x6f\x9f\x41\x94\xc0\x8b\x1e\x3e\xc9\x70\x22\x26\x7b\xf0\x04\x3c\x13\xd2\x6b\x9c\xe1\xf5\x39\x05\xf6\xe4\x1b\x3d\x99\xdc\x81\xb3\x31\x90\x9b\x72\x26\x66\xef\x24\x32\xe6\xaf\x8a\x45\x31\x07\x53\x12\x30\xce\x4a\x1a\xf8\xee\xd6\x26\xda\x22\x3d\xa7\x6b\x46\x50\x7e\x33\xd7\xcd\xbd\xe0\x2d\x41\x10\x40\xc8\x9a\x11\xd9\x51\x56\xed\x4a\xc2\x60\x5b\x82\x69\x39\xc6\xcf\x87\x7b\x4e\xe7\x36\xc5\xda\x77\xcf\x46\x50\xa9\x99\x7a\x3b\x9c\xf4\x6a\x82\xba\x2b\xc0\x13\x33\xc0\x44\x78\xb5\xc9\x2e\x24\x98\xbd\x00\x2f\x01\x31\x40\xae\xdb\x30\x1b\x95\x99\x3d\x1d\x75\x08\x70\xd9\x88"}, -{{0x19,0x1a,0x1d,0x90,0x32,0x1c,0x7f,0x4e,0x74,0x94,0xbb,0x98,0x29,0x09,0xa9,0xeb,0x40,0xc3,0x34,0x1d,0xd3,0x2a,0xe4,0xd9,0x67,0x50,0xb7,0xd0,0x29,0x66,0xb4,0x0f,},{0x95,0x62,0xd9,0xe2,0x13,0xf1,0x45,0xc4,0x56,0x93,0x5b,0x70,0x31,0xc6,0x80,0x66,0x9f,0x8b,0xbd,0x31,0xa4,0xc2,0xed,0x3c,0x91,0xc4,0x00,0x2a,0x56,0x29,0xe9,0x7b,},{0x74,0xcb,0x02,0x8d,0xc6,0xb7,0x5b,0x37,0xa1,0xda,0xea,0x1c,0xf8,0x84,0x65,0xdb,0x83,0xa0,0x09,0x3f,0xec,0xb2,0x2d,0x99,0xba,0x85,0x5e,0x9a,0xb5,0x9d,0x05,0xcb,0x22,0xc8,0x7d,0x0b,0x09,0xdf,0x7c,0x11,0x62,0x13,0xba,0xa8,0xf1,0x89,0xb2,0x70,0x3f,0xf9,0x53,0xcd,0x20,0x2e,0xb9,0xde,0xa3,0x97,0x6e,0xe8,0x8f,0x5f,0xa7,0x03,},"\x85\x89\x0d\xb4\xe2\xfb\xce\x09\x3d\xde\x5a\x80\xbf\x8f\xe0\x9a\x98\x4b\x83\xa4\x9b\x7c\xcb\x5d\x4b\x06\xcd\xaf\xdd\xd3\x82\xe4\xb8\xa8\xa5\x05\x30\xe8\x2c\x20\x06\x12\xc9\xd7\xd8\xa0\x89\xbc\x8a\xa8\x45\xc3\xcf\xcc\x38\xa6\x19\x5d\x21\xc2\x61\x8c\x3d\xba\x2b\x57\x09\x20\xec\xcf\xcd\x23\x6f\x17\xf0\x8d\x81\x42\x68\xf8\x82\x24\x2d\xdf\x07\x02\xda\x87\x85\xf4\x07\xaa\x8f\x86\xfe\xcf\xa9\x03\xc4\x8d\xa8\x3f\x83\x97\x77\xeb\x6b\x4a\x2b\xbf\x5d\xf7\xa4\xda\x53\x47\x5a\xf1\xff\xe4\x4b\x5f\xe0\x07\x2b\x8f\xbf\x3d\x26\xe6\xd8\x9e\xa6\x7d\x8a\xc8\x45\x94\x92\x89\x0a\xda\x65\x7e\xb3\xdc\x24\x92\xb8\x8d\xe1\x75\xb4\xbb\xa1\xa5\x08\x06\x4d\x61\x96\x74\xaa\xae\x2a\xf0\x9d\x31\xa5\xc2\x7c\x8d\x5d\x5a\x29\xb0\x37\x79\xf4\x28\x6b\x89\x66\xce\x40\x7e\x6f\xf6\x92\xfb\x94\x25\x20\xa9\x93\x8d\x69\xcc\x70\xac\xb0\x6b\x01\x4b\x6d\xfc\x19\x83\x42\x06\xcf\x1a\xc6\xc4\x48\xae\x6f\x07\x80\x25\xb5\x5f\x3d\x82\x72\x01\x26\x8a\x92\xad\xd9\xad\x17\x8e\xf7\x6a\x29\x89\xfe\xdc\x6e\x39\xf4\xeb\xb9\xf9\x6c\x9b\x83\x52\x69\x4f\xa5\x4f\xa0\x22\x01\x9c\x0e\xc0\x01\x2d\x0d\x76\x9e\x23\x67\x80\x3f\x92\x5f\x17\x5f\x9f\xb9\xcb\xec\x4a\x0c\x9c\x1e\x2c\x83\xea\x57\xe6\xa9\x2a\x17\xf5\x55\xca\xb9\x34\x27\x1e\x72\xc8\xcc\x32\x15\xfc\xb8\x7c\x20\x53\x9b\xf1\x42\x77\xb1\xbf\xbd\x6e\x58\x80\xef\x95\x3f\xc7\x5f\x23\xc0\xdd\x4f\xcc\x1e\x0b\xe3\x40\xaf\x94\x7d\xe0\x2e\x87\x7f\xd5\xc7\x7d\xd1\xdf\x7b\x41\x4b\x5c\x0b\x40\xc7\x49\x56\xa5\x45\xa1\x15\xb0\xc6\x99\x3a\xb2\x33\xb7\xe7\x2c\x82\x2b\x6b\x33\x81\xbb\x1f\xc1\x08\x75\xbf\xfe\x3e\x2e\xd1\x19\x0f\xa3\x3f\xc1\x5d\xa0\x83\x79\x4f\xcc\x2c\x5b\xf5\xa0\x79\x09\x06\x3c\xb2\x89\xa0\x8a\x2c\x8a\x33\xd3\x43\x84\x2c\x2d\x6a\x3c\xfa\x2a\x16\xca\x2e\xaf\xca\xb7\xea\x10\x0d\x1c\x71\x4b\xaa\xbb\x71\x49\xf0\x7e\x25\xde\xe3\x23\xe7\x80\x75\x7d\xfa\x80\x16\xfa\xa7\xc0\x62\x62\x22\xc3\x65\xf8\xf2\xf6\x68\x7d\x1d\xed\x23\x4f\x79\x9c\xc5\x0d\x1c\xd2\x6b\x4c\xfa\x40\x45\x91\x70\x56\xfc\x79\xc3\xb8\x8b\x2b\x19\x08\xe3\x72\xdf\x66\xda\xc8\x73\x46\x31\x64\x83\x49\xbc\x37\xfa\x34\xb2\x5f\xff\x3b\x07\x47\xb6\xbc\x16\xb9\x4e\x3e\x58\x95\xe4\xbb\xd9\x3d\x47\x8a\x6c\x1f\x75\xe4\xfa\x30\xfa\xa9\x22\x04\x9e\xd4\xc5\x0f\x12\xf4\xb3\x12\xa8\x97\x4d\x0f\xed\x8d\x44\x25\x5d\xcb\x2b\xf0\xfe\xbe\x47\xfb\x3f\xb8\xed\x99\x03\xb5\xba\x4c\xa1\x8e\x3c\xc6\x76\x2c\xfa\x1e\xaf\x04\xdf\xa9\x44\xd4\x96\xe0\xfe\x8b\xb7\xdc\x04\x54\x51\x39\x6b\xfa\xba\x54\x85\xd9\xd5\xf3\x91\xa9\x54\xc3\x71\x42\x53\xcc\xd9\xb1\x99\x64\xd4\x28\x06\x80\x72\x07\x83\x03\x6b\x3a\xbf\xaf\x28\x84\x58\x3e\xa5\xbd\xbc\xf6\x9d\x08\x89\x7a\xb2\x88\x31\x46\x35\xab\xb4\xc2\x96\x4b\x71\xad\x92\x91\xfe\xb5\xb6\x1f\x80\xe9\xb0\xcc\x07\xf9\x12\xa8\xe5\x59\x8d\x55\x48\xde\xfe\x0e\xea\x1c\x44\x85\x73\x71\x0a\xac\xdd\xb1\x52\xf9\x3c\x7c\x6f\xd3\xf7\xe4\xed\x9f\x74\x42\xa6\xb9\x00\xf2\x3c\x3c\x54\x4c\xe5\xc9\xba\x5f\x5e\x92\xaa\xfd\x11\xc9\xff\x5f\x79\xc0\x8b\x9d\x04\x5f\xef\x07\x97\x06\x25\xf6\x2e\x2f\x43\x34\xa4\xd6\x64\xca\xf7"}, -{{0x62,0x85,0x63,0xaa,0x3e,0xe2,0xfc,0x61,0x1b,0xcf,0xf7,0x8b,0xfb,0x2a,0x75,0xe9,0xfd,0x87,0x80,0xe8,0x7a,0x93,0x94,0x99,0xa6,0x1b,0xea,0xa6,0xa4,0xb7,0x19,0x13,},{0xda,0x20,0x61,0x6e,0xe4,0xa4,0x1c,0x2e,0xbf,0xdc,0x50,0xab,0x54,0x95,0x3b,0x6d,0x38,0x7b,0x06,0xc6,0xde,0xf7,0x57,0x96,0xb0,0x88,0x09,0x56,0x5c,0x6c,0xf8,0x05,},{0xc9,0xa6,0xaa,0xa9,0xb4,0xe1,0xcc,0xe1,0xb5,0x84,0x45,0x72,0x5f,0x61,0xf5,0x52,0xc8,0xfb,0x45,0x83,0x1f,0x03,0x48,0x27,0x98,0xf0,0x1f,0x66,0x3e,0x99,0x83,0xdb,0x1a,0x82,0xfd,0x33,0xab,0xa3,0xec,0xcb,0x96,0x22,0x64,0x26,0xd5,0x0a,0xe1,0x7c,0xc5,0x12,0x74,0xce,0x18,0xa3,0x88,0x60,0xf4,0x0b,0x2f,0x82,0x36,0x1b,0x5c,0x03,},"\x05\x6f\xb9\x54\xfb\xe6\xa6\x01\x4f\xad\xac\x1e\x1a\x9f\x56\xcc\x08\xaf\x37\x34\x8e\xba\xf6\x92\x06\x83\x38\x4e\xfa\x47\x62\x6c\xcd\xdf\xea\xd2\xd5\xe9\xe8\xcf\xff\x45\xf7\xac\x63\xde\x63\xf6\x9d\x12\x84\x8c\xe3\xc0\xef\x1f\x53\x0a\xde\x43\x0f\x0a\xfd\x5d\x8e\xcf\xd9\xff\xd6\x0a\x79\x74\x6a\x2c\x5b\xee\xdd\x3e\x67\x24\x99\x82\xf8\xb6\x09\x2e\xe2\xd3\x40\x47\xaf\x88\xa8\x1f\xea\xb5\xd5\x2b\x47\xd5\xb3\xf7\x6c\x20\x41\x72\x5f\x6f\x81\x32\x93\x05\x0a\xaa\x83\x4b\x01\xa3\xa5\x8f\x69\xaa\x4a\x8c\xa6\x1f\x5b\x74\x6f\x60\x0f\x3d\x45\x2c\x62\x82\xff\xdc\xa4\x42\x9b\x93\x38\x96\x7b\xa3\xa7\x26\x66\x90\xae\xc7\x5e\xbf\xbf\x7b\xe9\x8d\x99\x9b\x03\xed\xdc\x72\x92\x58\x1b\x0d\x69\xe3\x0a\x03\x51\xa1\x51\xdb\x70\x41\x2b\x0b\xfd\x43\xd3\xba\xa9\xd4\x56\xcb\x3e\x0b\x4f\xc1\x9c\xb0\x9e\x6c\xad\xcb\x6d\x3f\x3b\xe5\x13\x7c\xc7\xa8\xd3\x21\x9e\xc2\x03\x6e\xc6\x70\xed\x7e\xc5\x23\xb1\xb1\xc6\x87\xb5\x46\x53\x07\x88\x2f\xe3\x8d\x74\x72\xd0\xba\x87\xa4\x71\x86\x83\x09\xd2\xf7\x73\xff\x24\xc8\x7d\x39\xc1\x6b\x70\x8a\x4e\xd9\xaf\x43\xf7\x4c\x8d\x85\xcf\xe8\xab\x54\x06\x90\x7e\x94\x1a\x14\x97\x0e\x20\x9c\x29\xff\x7e\xd8\xa2\xf9\x35\xae\x41\x70\x9f\x27\x0d\x0d\x08\x55\x5e\xf7\xaf\x2e\xdf\xe4\x0d\xf3\x99\x22\x3c\x78\x5a\x43\xe7\xf3\x69\x15\x89\xe2\xea\x4c\x03\x6f\x11\xd0\x3d\x7d\x1e\xea\x14\xf6\x20\x03\x53\x25\xcf\x2b\x33\xba\xf3\x86\x39\x3e\x8a\x97\x2a\x7a\xf6\xcd\x9b\x85\x43\xb3\x2e\x25\x33\xd1\xfc\xc3\x17\x7f\xd9\x6d\x1e\x13\xbf\x8b\x68\xde\xb2\x22\xf9\x44\x97\x26\x5d\x3c\xcb\x34\x57\x51\xbd\x5b\x66\x90\x78\x08\x19\x98\xd6\x08\xca\x5f\xdc\x13\x48\x39\xd4\xed\x2b\xeb\xb2\x95\x2f\xea\x5a\x39\xc6\xf0\x33\xc1\x55\x8f\x69\x8c\xe4\x94\x6e\x4f\x6c\x08\xaf\x87\x4f\x27\x35\x7f\x87\x0e\xbe\xeb\x21\x99\x97\x6f\xfa\xef\xac\x95\x1f\x8e\x17\xfe\x7d\x08\x21\xe1\xb9\x2a\x90\xaa\x4e\x9d\xef\xd3\xfa\xfd\xa0\x52\xa4\x44\x47\x6d\xb1\xce\x38\xa9\xe1\x76\xe8\x41\x18\x9a\xbd\x8f\xec\xde\x0f\xbc\x5c\xb5\x5f\x51\x1f\x5f\xde\x07\xea\x97\xde\xb3\x9b\x7a\xa8\xdc\x84\xa3\x94\x6a\x6c\xf9\x26\xd3\x9b\x95\xc1\x1a\xf9\xd6\x4d\x98\xb8\x07\xf4\x70\x4d\x0a\x2b\xda\x97\xda\xd9\x88\x1a\xda\x1b\xf6\x63\x63\x66\xe6\x0a\x52\x2b\x48\x21\x04\x78\x61\xc7\xaa\xe2\x14\x6a\x02\xee\xf6\xb2\x5d\x51\x37\x1a\x0f\x17\xd2\x4b\xc1\x87\xdc\xdd\x05\xd5\x41\xc2\xf7\x22\x01\x42\x79\x15\xa3\x92\x8c\xd3\x78\x68\x91\x03\xac\x50\xb3\x3f\x87\xa4\x7e\x8c\xdf\xa6\x87\xa5\xf0\xaf\x8a\x56\x73\x1d\xab\xe6\x62\xf4\xf2\x83\x6d\xe0\xba\x8f\xaf\xd8\x6a\x38\x54\xbc\xa0\x12\xd7\x08\x8a\x00\xb9\x85\x4c\x2d\x3c\x70\x8d\xdf\x58\xfa\xa3\x55\xa8\x9a\xfc\x2c\x80\xf3\xf5\x33\x6d\xa0\x1d\x72\xa2\x77\x1a\x05\x58\x13\xfb\x35\x33\x0f\x7d\x2e\x01\xb1\xd1\x2d\xaa\x95\xed\x55\xd3\xbd\xc5\xdf\x77\x39\xcb\xc3\xca\x09\x7a\x41\xb6\xb2\xbd\x7f\x0f\xf9\xdd\x1d\x86\x58\x98\x3b\xa3\xff\x79\x20\xc1\x5f\x29\x2a\x1e\xf9\xfc\xad\xa1\xc6\x07\xec\xb4\x5d\x3a\x73\xc9\xff\xd4\x2f\x3e\x16\x02\x2f\xdf\xe1\x27\x44\x92\x63\x95\xf7\x4f\xb3\x11\x17\x93\xfa\x92\x81\x82\x1a\x66\xa0\x1d"}, -{{0x91,0x41,0xf7,0x9e,0xd3,0x0b,0xf6,0x00,0x61,0x1a,0x13,0xf3,0x67,0xb4,0x03,0x96,0xf2,0xec,0x83,0x9c,0x56,0x12,0xbb,0xf1,0xe6,0xe4,0x97,0xf8,0x39,0x54,0xbc,0x88,},{0xf1,0x4e,0xda,0x96,0x26,0x40,0xbe,0xcb,0x66,0xc4,0xd1,0xf1,0xa0,0x21,0x11,0x02,0x51,0x91,0x7b,0x8b,0x1d,0x34,0x82,0x82,0x98,0xd3,0x21,0x45,0xba,0xf6,0xe5,0xd9,},{0xcf,0x20,0x2d,0x7f,0x2f,0x9e,0xd1,0x17,0xf4,0x29,0x50,0x2b,0x2a,0x5a,0xff,0x54,0xa7,0xf7,0x51,0xd2,0x17,0x15,0x15,0xa4,0xd2,0x03,0x75,0x34,0x46,0xdf,0x0e,0xba,0xc8,0x69,0x84,0xc8,0x8b,0xd4,0x2b,0xd1,0xfb,0x8d,0xcb,0x40,0x87,0x76,0x72,0x2a,0x38,0xf3,0x2c,0xce,0xb2,0x5f,0x32,0xa2,0x5d,0x73,0x93,0xf1,0x38,0xee,0xdf,0x0a,},"\x8f\xec\xaa\x7a\xe9\xa3\xd4\xa4\x85\x1a\x66\x36\x2b\x36\x6e\x16\x7b\x9f\x43\x00\xfd\xab\x20\x56\x54\x75\x19\x87\xf0\x85\xde\x61\xbe\xc9\x34\x4a\xa8\x6f\x5e\x5c\x64\x77\x51\x4c\x28\x04\xce\xd7\xac\x0c\xd0\x62\x85\x29\xa3\xa1\x59\x92\x36\xed\x67\xbe\xbe\x1f\x2e\x95\xaa\x15\x1f\xe0\xf3\xb3\x01\x1a\x1d\x4b\xe9\x90\x1c\xaf\xab\x2f\x18\x91\x90\x4d\x4b\xff\x01\x28\xc1\xd3\x5e\xce\xcb\x32\x2b\x3c\xc0\x1d\xac\xc5\xae\x3d\xca\x69\x14\xa7\xd3\x4d\xa8\xc9\x65\x7b\x95\x0f\x89\xd1\xd6\xae\xc3\x29\x9b\xb6\x90\x11\x10\x71\xfa\x87\x28\x27\x74\x94\x3d\x96\xa4\xab\x7c\x3d\x6d\xe7\xd1\xbf\x11\x93\x63\x06\x8c\xc8\x2d\x45\xe4\xb7\x64\x54\xc6\x08\xbc\x35\x66\xb7\xf9\xb3\x85\xcc\x7e\xb3\x8e\xe4\x29\xaf\xc2\xda\x99\x66\x9f\xc5\xc1\xbe\x82\x16\x1a\x1b\x0c\x33\xf7\xba\x9a\xd4\x41\x9d\x20\x62\x97\x19\x01\xdb\x00\x3b\xfa\x23\xc4\x47\x14\x99\x5c\xb0\x6b\xfa\x96\x6e\x50\x23\xaa\x93\x46\xfd\x37\x5a\xe2\xa1\xe8\x40\x84\x31\x4d\xf3\xf0\x8c\xe2\x08\x00\xc2\xc2\xad\xfb\xb8\x13\x66\xf6\xb1\x04\x24\x3d\x62\xd5\x04\x1e\x72\x73\x43\x3f\x17\x58\x1b\xf9\x3f\x4c\x61\x46\xfa\x96\x6f\x63\x8a\xb0\x7e\xa1\x66\x94\xa7\xce\x30\x5c\xc6\x09\xa6\xe1\x06\x23\xff\x7f\x6c\x79\x16\xb6\xe4\xdb\xde\xbb\x7b\x52\xec\xa7\xf0\xd5\x18\x7f\xf6\x64\xd7\xc3\x70\xed\x22\x88\x6a\xa2\x67\x13\x29\xd9\x28\xe0\xa3\xbe\xa3\xb4\x71\x1a\x12\x8b\x9a\xab\x90\x26\x6f\x86\x51\xd2\x20\xb9\xcc\x1c\xbf\x5b\x1c\xe7\x26\x59\x31\x80\x36\x90\xd3\x29\x1c\x01\xea\xd4\xdb\xc3\x32\x9a\x97\xe8\x5c\x4f\xe1\xd3\x56\x60\x8c\xc9\xe6\x0b\x05\xbc\x14\x83\x8a\x86\x08\x27\x9a\x00\x61\xde\x28\xff\x7b\x8e\x81\xf5\x9c\x8a\x8c\x55\x23\x92\x4c\x4c\x48\x5e\x6e\xa8\x0a\xc8\x17\x50\xbb\x0e\x41\x9e\xfc\x78\x58\xcd\x4a\xf5\x0c\x8b\x8c\x80\x65\x0f\xac\xab\x4d\x82\x58\xf9\xca\xfa\x03\x10\xa0\x07\xcc\xcb\xc4\x18\x5c\x82\xfd\x14\x6d\xf1\xd8\x11\x87\x9d\xa3\x65\x0d\x57\x16\xf1\x00\x4b\x71\xd2\xc7\xf2\xbd\x65\x03\xc3\x54\x58\x9f\x86\x02\xc9\x50\xa1\xf5\x13\x9f\x81\x14\x60\x75\x28\x80\xa3\x41\x11\x66\x30\xe4\xff\x84\x94\x8e\x74\xa9\xeb\x35\x0d\x64\xd8\x29\x30\x02\x20\x02\x33\xf2\x09\xb1\x7d\x78\x89\x7c\x7c\xe6\xce\x29\xe2\x9f\x82\xd4\xad\x6c\x61\xeb\x79\xf5\x73\x9c\xb6\x68\xb2\x1a\x74\x55\x55\xc9\x6e\x19\x52\x68\x45\xe8\x2c\x6e\xd2\xb1\xc6\xbd\xd6\x36\x4b\x8f\xc7\x9b\xa9\xa3\x2d\xbd\x3f\x8b\x97\x5e\xb9\x23\x62\x39\x58\xae\x0d\xaa\x4f\xfa\x13\x92\x17\xc0\x0e\x02\x1f\x93\x7e\x9b\x79\x1c\x37\x99\x1a\x35\xe5\x23\x1a\x19\x14\xc0\x45\xa7\x87\x43\x2f\x97\xb8\xe2\x06\x3d\xb1\x05\xe1\x4d\xa9\x79\xc1\xc4\xcb\xa7\x85\x21\x0e\xb0\x20\x11\x33\x4b\x23\x0c\xfb\x68\x31\x99\x8c\xcc\xe2\x53\x86\xf4\xf3\xba\x0d\xce\x20\x06\xe9\xc3\x94\x0b\x4d\x5a\x56\xaa\xcc\xdc\xab\x02\x71\x86\x89\x81\x63\x60\xf1\x88\x52\xfd\x19\x98\xa9\x9f\xce\x9a\x04\xda\x3f\x5e\x23\xaf\x94\xc6\xe8\xa5\xba\xdf\xd3\x93\x04\xb9\xe2\xa3\x76\xa1\xf9\xba\xc0\x9a\x85\xbd\x04\x24\x76\xe2\x6b\x58\xec\x73\xf1\x23\x6d\x41\xab\x4b\x4e\x7a\x54\xde\xf9\xd6\x6a\x38\xf8\xe5\x46\xde\x7b\x38\x8e\x1e\x7d\x66\x81\xe5\xe2\xa0\x96\xf1\x60"}, -{{0x69,0x5c,0x96,0x0b,0xbb,0x0d,0xd5,0x7f,0xfa,0x36,0x15,0x1c,0x85,0xde,0x73,0x51,0x54,0xfe,0x5a,0xd5,0xf5,0xfc,0x77,0xd0,0x05,0xa0,0xa3,0x20,0x11,0xde,0xb3,0x0c,},{0x34,0x12,0x5e,0x4e,0x21,0xf7,0x89,0xed,0x0e,0x11,0x80,0xc1,0xf6,0x36,0x9c,0x72,0x1d,0xca,0xe9,0x85,0x9b,0x6f,0x7b,0x04,0xf9,0x57,0xe5,0x10,0x01,0xee,0xde,0x8a,},{0x4a,0xf4,0x1c,0x55,0x4d,0x99,0x08,0x12,0x68,0x6c,0x32,0x9a,0x87,0x5c,0x41,0xee,0x24,0xb4,0xa7,0xfd,0x7b,0x3d,0x4f,0x8c,0x8d,0x52,0x75,0xf2,0xe7,0xcb,0x24,0x2b,0x25,0x8b,0x58,0x58,0xa4,0x66,0xde,0x59,0x5c,0xe2,0xa2,0x17,0x7e,0x35,0x1c,0x7f,0x08,0xc7,0xfc,0x4e,0x0b,0xf9,0x7e,0xc5,0xfb,0x2d,0xcb,0x82,0x52,0xd2,0xc9,0x0a,},"\x37\x06\x69\x6c\x7a\x90\x66\x90\xd0\xd3\xb7\x1e\x7e\x21\x1c\x7b\x06\x71\x68\xf3\xa8\xf1\xed\x98\x4a\x0a\x5e\x60\x78\x59\x76\x62\xe4\xe7\x88\x9d\x52\xdb\x0f\x78\xe0\xd5\xef\x0e\x5f\x7a\x0a\x0f\x42\x63\xb6\x84\x8b\x07\x25\xca\xa4\xb1\xce\xa6\x98\x74\x09\x51\x1c\x8e\x5e\x98\x2d\x3f\x5b\x82\xbb\x56\xa4\xa7\x94\x71\x21\x93\x7f\x8e\x10\x5c\x5a\x14\xb5\x3e\x6c\x37\xcc\x71\x6b\x1e\xba\x92\x24\x21\x82\x8b\x04\x6f\x68\x56\xc4\x4f\xab\xf1\x3a\x75\x16\xc6\x2a\x5f\xf9\x85\x68\x45\x0c\xee\x78\xb1\x40\x33\x50\x47\xbf\x1c\xa7\x7e\x15\x49\xa8\x94\xfe\xeb\x07\x80\x45\xe4\x64\x18\x32\x25\x3b\xf6\x95\x48\x54\x52\xec\x36\x90\x65\xa6\x00\x29\xa6\xc9\x07\x7a\x37\x9d\xb2\x04\x85\xea\x2e\xdb\x6c\x96\x95\x47\xbb\x26\x53\x28\x9b\xc6\xe8\x1f\xfc\xb8\x4b\xdb\xf7\x73\xdd\xea\x4b\x37\x50\xe9\xa7\x23\x95\xd1\x17\xf6\x44\xb0\xe2\x20\x61\xd4\xf3\xbb\x7c\x5b\x61\x2e\x4b\x70\x39\x5e\x07\x79\x51\x6b\x46\x65\x91\x16\x90\x2f\xd0\xfb\xcd\x23\x40\xee\xa4\x5e\x9c\x23\xdb\x25\x64\xa5\xe1\x1d\xc7\x9e\x8f\x4b\x33\x2a\x44\x3e\xc3\x5a\xad\x96\x04\xfe\x79\x12\x52\x08\x82\x95\xe8\x4f\x65\xa3\x07\x31\x25\x50\xd9\xeb\xf6\x1f\x36\x7e\x4a\x0f\x2b\x56\x23\xe5\x3e\xf6\xbc\x13\x28\x25\xfc\x24\xeb\xee\x4e\xbf\x33\x8c\xbf\xb5\xdf\x69\xb3\x2d\x03\x0d\x44\x7c\x44\xf3\x13\xba\x96\xfe\x07\xbb\xfe\x5b\x01\x66\xea\xec\xbc\x61\x9b\xb6\xb2\xe5\x92\x40\x10\xba\x3e\xc1\x50\xff\x6a\x69\xfe\xc4\xde\xd9\xc4\x42\xf9\x8c\x15\xe7\x7f\x31\x9b\x48\x43\xb3\xb7\x48\xb5\xd2\x60\x89\xa7\x6c\x2b\x83\x4f\xf9\x3c\x41\x3e\x04\xca\x95\x50\xcd\x21\x1c\xe2\xd6\xa5\x83\xd7\x82\x57\x50\x66\xdb\x6d\xd3\x3e\x8d\x5e\x83\x74\x35\x5d\x06\x8a\x5e\xb9\x6f\x8b\x3d\xa8\xdd\xdf\xb5\xba\xf5\xc5\x96\xda\xaf\x55\x6a\x8f\x2c\xb5\x78\x1e\x50\x42\x32\x7f\x92\xae\x06\x21\xea\xe0\x88\xb5\xf0\x13\x59\x2e\x77\x87\x3a\x81\xd7\xe0\x68\xd7\xb8\x33\x7d\xb9\xf1\x09\xa8\x35\xb4\x75\xe5\xca\xf7\xce\xa5\xaf\x3b\x4a\xd6\xd9\x0b\xaa\xf1\xc7\x36\x55\xec\x67\x67\x47\xfc\xdd\x41\x77\x5b\x4f\xbe\x39\x24\xc3\xf4\x1d\x8a\x73\x75\x28\xd1\x2d\x61\x56\x65\x3a\x22\x35\x8c\x68\x21\x42\x6b\x2c\x0a\x33\xe1\x63\x4c\x62\xc7\xc8\x38\x56\x49\xbc\x23\x3e\x7d\xaf\x94\x39\xf0\x9d\xb9\xbd\x11\xea\x01\xe2\x8b\x77\xec\xbb\xc4\x59\x0e\x29\xfd\xcf\x0f\xdd\xe1\x52\xf6\x47\x81\x32\xfe\x4c\x3a\x5b\x45\xa7\x30\x5a\xf6\xe3\x81\xca\xdd\x72\x49\x6e\x66\xbb\xb8\x66\xce\xa4\x7f\x7e\x7d\x7e\x63\x34\x16\x00\xaf\x3f\x49\xce\x9c\x9e\x4e\x37\x39\x4d\xf5\xdf\x71\xdc\x10\xcd\x39\x1f\xdc\xb8\xa1\x93\xdc\x98\xfc\x19\x05\x9f\xa3\xac\x23\x0e\xc5\x47\x6b\xf9\x4d\x85\x55\x6a\xce\x6e\x1b\xa3\x24\x21\xbf\x59\xdc\xbe\x05\xc5\xe1\x5d\x34\xc6\x64\x4e\x27\xd0\xa0\x2b\xe9\x7f\xa8\x38\x7e\xe0\x37\x06\xf2\x2a\x8f\x4b\x3b\x40\x40\xad\x7d\x3f\x8a\x86\x97\x1a\x20\xa0\x9e\xc8\x1b\x76\x96\xd8\x34\xc5\x26\xb8\xe5\x1c\xb9\x7d\x27\x64\x3f\x9a\xbf\x5e\x29\xff\xd0\x33\x3f\x95\xde\x15\xd1\x10\xc2\x06\x4c\xa4\x94\x67\xc1\x4e\xf2\x27\xf4\xba\xbf\x1a\x55\xe7\xb1\xcd\xa0\x42\x9c\xff\x25\x6b\xe3\x1c\xf1\x16\x71\x9a\x81\xb9\xc5\xfb\x75\xfd\xf6\x4e"}, -{{0x25,0xcb,0x17,0xfc,0x33,0xd2,0xbf,0x83,0x84,0xae,0x4d,0xf2,0x0c,0x1f,0xad,0x5c,0x35,0xfd,0x76,0x5a,0xff,0xde,0x04,0xb5,0x25,0x6d,0x4d,0xe0,0x1c,0xa8,0xde,0x14,},{0xb8,0x6c,0xa3,0x12,0xfe,0x59,0x85,0x20,0xc6,0x4b,0xe5,0xc7,0x2f,0x5b,0x23,0x81,0x65,0x07,0xf6,0x9e,0x07,0x0f,0x82,0x8e,0x02,0xd2,0xaf,0xcf,0xe1,0x1b,0xfa,0x01,},{0x8c,0xcb,0x0d,0xbc,0xf7,0xcc,0x03,0xe8,0x3e,0x21,0xc5,0x74,0x74,0xaf,0xd3,0xad,0x88,0x98,0x09,0x7b,0x97,0x2e,0xde,0x17,0x5a,0xca,0xae,0x48,0xe3,0xec,0x17,0xb2,0xdb,0x06,0xfc,0x82,0x77,0x6b,0x07,0x51,0xc0,0xf9,0x56,0xfd,0x71,0x96,0xf3,0xd1,0xc9,0x63,0x21,0xa6,0xcf,0x3d,0x89,0x24,0x15,0xd8,0xf8,0xee,0xb4,0xa1,0x41,0x08,},"\x4b\x4a\x71\xcb\xf8\xcb\xaf\x57\xa7\x7d\x4e\xa1\x88\xa6\xf9\x64\x84\x0f\x0d\x71\x4a\x5f\x38\xa0\x95\xa1\x3b\x4e\x57\x12\x97\xa8\x8b\x79\x24\x17\xd1\x61\x84\x42\x7f\x90\xe0\x43\xdd\x8a\x55\xb7\xf1\xc1\x3e\x00\xdf\xa6\x05\x16\x44\x5c\xbe\x77\x06\x8c\x79\xc8\xc3\x5e\xbe\xac\x33\x0c\x33\xf1\x12\x1d\x05\x73\x1a\x8f\x51\x32\xd6\x48\x00\x73\x27\x46\x41\x19\x5a\x75\x20\x21\x16\xff\xf1\xc3\x18\x81\x71\x78\xfd\xd7\x68\xbb\xdf\x10\x5f\xa0\x69\xc7\xa3\xd1\x43\xfd\xf5\xd1\x7b\xfa\xd7\xc0\x62\x4e\x52\x92\x06\x8f\xd7\xbb\x6d\x30\x3b\x4a\x27\xcb\x20\xa4\xe6\x18\x75\x07\x67\x87\xd1\x9f\xa6\xf7\x29\xc9\x4d\xc0\xba\x9b\x8c\x0b\xfd\x98\x66\xda\x5c\xb2\xe7\xa2\xcd\x2e\xdb\xdc\x95\xac\x34\x9e\x5e\x5c\x21\x72\xe5\xa4\xcf\x7b\xd9\x0c\xab\xe2\xc6\xe2\x24\x59\x80\xbd\x72\xd0\xf6\xf5\x47\x98\x81\xe8\xc4\xc3\x54\xf6\x8a\xa7\x28\x41\xd0\xc7\x3b\x98\x6b\xa5\x10\x21\x20\x31\x61\x02\x6e\xe3\xd7\x29\xdd\xf1\xa0\x49\xff\xe9\xeb\x25\x43\x98\x02\xf0\x30\x11\xd1\x44\xe5\x0b\x02\xbd\x4a\xca\x5e\x55\x06\xd3\x2f\xcf\x69\xe3\x2f\x54\x25\x44\x79\x8f\x4e\x87\xf7\x2b\xdf\x24\x33\xb1\xff\x32\x59\x29\x2e\x1d\x90\x81\x2c\xff\xd7\x9f\x6a\x54\x32\x70\xba\xf2\x4a\x3c\x39\xdd\x35\x98\xe1\xc6\x61\x61\x29\x22\x52\x2f\x38\x7d\x51\x59\x76\x92\xf3\x14\xc4\xd5\xac\x4b\xf1\x88\x3a\x61\x46\x36\x33\x6a\x55\x44\xd5\x9f\xf4\x1d\x1e\x0d\xbc\xf8\xe6\x62\x7e\x7c\x80\x85\x64\x63\x22\xdf\xc2\x0c\x33\x2c\xbd\xf3\x53\x70\xd4\x7d\xca\xbb\x80\x2e\x17\xca\x84\x78\x0e\xec\x66\x1c\x90\x4d\x5b\xfb\xc2\x40\xad\x6a\x14\xa7\x53\x3f\x71\xa2\x75\x00\xc6\x1d\xd3\xe4\x73\x98\x38\x87\xa8\x68\x35\x18\x7a\xbb\x0d\xf0\x8f\xa6\x2c\xda\x69\xdc\xe8\x6e\x21\xfa\x5a\xe9\x54\xc2\x2e\xdd\xb6\x0e\xe3\x13\x15\x04\xa6\x9b\x50\x48\x6a\x17\x76\x70\x91\x88\x37\x60\x63\x8a\x29\xc3\x80\x30\xe1\xe0\x5f\xdb\x28\xe1\x58\x63\x30\x10\x38\x5a\x62\x06\x13\xcc\x10\xd5\xa5\xf3\x50\x95\x5f\x4a\x34\x7c\x65\xed\xdd\xb7\xe2\x51\x59\xda\x8d\xcc\x26\x55\x92\x8a\xd6\xf6\xd8\xc4\xc1\xab\xb8\x17\xd7\xfe\xf3\xba\xe5\xde\x04\x02\xed\xde\xe7\xb5\x15\x21\xce\x28\x0a\x66\xb7\x96\x14\x0f\x56\xaf\x9b\xc2\x0e\x46\x58\x75\xce\x26\x28\xa8\xa1\x04\x77\xce\x9b\x2e\xac\xc7\xd8\x6f\x88\x27\x24\x57\xbf\xd4\x43\xe7\x12\x52\x69\x96\x25\x43\x80\xf0\x13\x52\x27\xe9\xfc\x15\x1c\x86\x95\xe9\xcc\x64\xd2\x72\xb2\x56\xab\x95\xc9\xa9\xf5\x68\xe9\x37\x16\xe0\xe5\x3d\x29\x88\x2e\x3c\xe7\x42\x61\x25\x7a\x02\xcd\x49\x7c\x37\xd7\x64\xd9\x0f\x7f\xd4\x78\xa1\x7a\x89\x0a\x8b\x2e\xa6\x1a\xb8\x1f\x68\x69\xb1\x20\xa2\xf6\x48\x4a\x88\xc1\x51\x95\x33\x91\xec\xa4\x45\x01\x53\x77\xb3\xa5\xdf\xfe\x4c\xfb\xac\xfb\x5b\xab\x2c\x47\xf6\x54\xf7\x2a\x9d\x19\xcb\xc4\xd2\x95\x37\x19\x84\x05\xe3\xa0\x4b\x4b\xfe\x11\xbc\xdb\x5c\x1f\x30\xd9\xac\x02\xf5\x48\x49\xc5\x7a\xa9\x6f\x7b\x56\x63\x61\x16\xf2\xbb\x6f\x25\x83\xd9\xaf\x94\xc8\x6a\xff\x5c\x13\x7f\x63\xce\x54\xe8\xf0\xc2\x1b\x6c\x25\xc1\xf0\x47\x2a\x22\x9c\x90\x81\x7e\x61\x62\xea\xc7\x1c\xcd\xa3\x09\xa1\x64\x3b\xd6\x31\x2a\x52\x63\xa2\xef\xe6\x46\xdf\xfe\x79\xeb\xd8\x15\x7a\x28"}, -{{0x49,0xe2,0x4d,0x16,0x99,0x83,0x37,0x26,0xb1,0x8c,0x78,0xea,0x65,0x68,0x40,0x1a,0x97,0x1e,0x1c,0xa3,0x9d,0xd0,0x6d,0x75,0x63,0xac,0x8b,0x42,0x50,0xd4,0xa9,0xf5,},{0x71,0xcf,0x05,0xe9,0x0d,0x30,0x1a,0x6d,0x9f,0xad,0x7f,0x0b,0x38,0xec,0x8b,0xb0,0x44,0xfc,0xfd,0x97,0xc8,0x49,0xb0,0x4c,0x00,0x36,0x25,0xde,0x29,0xbe,0x86,0xbb,},{0xa0,0xb6,0xa2,0xaf,0x15,0xb6,0xbe,0x9e,0x95,0x1e,0xf3,0xf3,0x2c,0xbd,0x1c,0x67,0x02,0xe8,0xe0,0x17,0xfb,0xd3,0x15,0xa3,0xf2,0x59,0x9c,0x3f,0x1a,0x11,0x86,0x5d,0x46,0xe7,0x84,0x59,0xa0,0xd7,0xf7,0xbe,0x04,0x6a,0xae,0x29,0x3c,0xad,0x09,0x13,0x7e,0xc8,0x47,0xe2,0x69,0x28,0x10,0x6d,0x9a,0xa3,0x5e,0x09,0x82,0xb9,0x92,0x02,},"\x6d\x26\x05\xf6\x1e\x1a\x04\xb6\xae\x18\xc2\xc2\x5a\xe1\x00\xdd\x42\xa6\x1e\x66\x4e\x2d\xb5\xc3\x4d\x7a\xd1\xf8\x4a\xc5\x07\x55\x2b\x74\x1c\x20\x86\xc1\x7c\x85\x2b\xab\xe0\x7a\x91\xe1\x29\xa5\x06\xee\x59\xed\xb9\xce\x73\xbe\x1b\x1d\x06\xd1\x20\xec\x36\xa1\xe9\x4c\x62\x81\x05\x4e\x78\xce\xb1\xbd\xef\xfb\xcb\xf4\xf0\x10\x51\xed\x38\x1b\xfc\x8a\xd1\x76\x9f\x41\xe2\x40\xbf\x60\x59\xd9\x70\x4c\xac\xec\x66\x66\x11\xf4\x1e\x4d\xd4\x38\xb7\xf5\x02\x42\xea\x86\x75\x6b\xb1\xf8\x1e\x59\x42\xc0\x92\x12\x9f\xbc\x6d\xe4\x95\x5d\x28\xdf\xf3\x52\x37\xdb\x30\xe4\xa5\x03\x6a\x99\x14\xc9\xf8\x4d\xbd\x8c\xcf\x82\xba\x2b\x1b\x3b\x55\x54\xa2\xb7\xa7\x4c\xb0\xb2\xa1\xe1\x96\x33\x45\x28\x6e\x25\x8d\xc8\xe7\xd5\x67\x18\x03\x5f\x95\xf3\x13\x81\x1c\xfb\xd8\x52\xa0\xf8\xf4\x9a\x29\xef\x93\x3e\x7c\xda\x7e\xd9\xc7\xe8\xb1\x62\xcd\xba\x1a\x82\x26\x2c\xd4\xdf\x7c\xf8\xea\x4b\x58\x6d\xb4\x3d\xcc\x1e\x37\x64\x59\x8e\x9c\xa4\x66\x73\x82\x2b\xaa\x2a\xd8\x7f\xb1\x4b\x6f\xdb\x9e\x20\x32\xd0\xca\x51\xc2\x6c\x5e\xf3\xd9\xf7\x97\x85\xfa\xc2\x49\x1c\xdb\xf7\xc3\x99\xf3\xcd\x17\x74\xc1\xa6\xb1\xe4\xa6\x7f\x54\x36\xd8\x0d\xb0\x25\xf8\xfb\x64\x09\xe2\x75\xbd\x0e\xd5\x08\xb5\xe0\x39\xed\x2e\x4e\xec\x8b\x0f\x4d\x5b\xe9\x9d\xca\xfa\x6a\x14\x01\x25\x27\x32\xa6\x5b\x37\xc9\x43\xc0\x7e\xf3\xac\xbc\xfb\xb3\xdc\x06\xda\xd0\xa8\x8f\x2f\x5e\xb5\x51\xa3\x99\x7a\xd6\xc6\xee\xd9\x5e\xdd\x9a\x0a\xf4\xa2\x88\xd5\xe4\x32\x86\xb2\xac\x07\x29\x77\xc4\x36\xb7\xc5\xff\x7a\xb6\x1c\x94\x84\xf2\x57\xf5\x8e\x01\x0c\x9b\x6a\xd4\x15\x81\xd7\x42\xcd\x19\x75\x2c\xde\x54\xd2\xb4\x20\xd6\x43\x65\x4e\x90\x96\xa8\x1e\xb9\xdc\xf8\x04\xc7\xc2\xed\x0e\x38\xd1\x3a\x5c\xe3\x99\x78\xcd\xd0\x2b\x25\x35\x09\x45\xde\x78\xfe\xec\xc0\xc2\xc2\x2f\xfd\x70\x5c\x3b\xa8\x11\x32\x65\xc7\xb9\xa7\xc8\xdd\xb5\x91\x78\xbd\x21\xd7\xf6\xc3\x1c\x6b\xe2\xc3\x67\x49\xee\x0f\x9a\xb8\xbc\x1d\xcf\x5d\xa5\xcb\x2d\x2d\x59\x62\x35\x8f\x71\xf9\x6a\xb3\x79\x2a\x25\x2a\x51\x9e\x41\x53\x51\xf4\x3e\x7e\x12\x03\x5b\x03\x28\xf2\x82\x08\xcf\x4b\xe5\x29\xd2\x99\xaa\x5c\x12\x8c\x9d\x5e\xd5\x75\xbf\x90\xc5\x35\x05\x69\xea\xa6\xf2\xd5\x52\x1d\xe1\x18\x03\x09\xf6\x86\xc9\x7e\x9a\xd6\xfa\x1e\xc1\xdd\x86\x27\xae\x89\x51\x58\x1c\xf6\x04\xb8\xb9\x17\xc5\xba\x43\x4a\x63\x7b\xe1\xbc\x8b\x79\xf4\xac\xaf\x77\x95\xf4\xe5\x1a\xab\xdb\x88\x50\x77\xbc\x4f\x3c\x68\xfc\x33\x18\xde\x58\x23\xd7\xe0\x80\x4e\xe9\x95\xb7\x03\x87\x95\x0f\x79\x93\x53\x68\x23\x00\xd4\xe7\x97\xf3\xca\xd6\x11\xb4\xc5\x62\xc8\x64\x0f\xf2\xb3\xfe\x29\x29\x16\xa9\x70\xfb\x98\xc1\x47\x5c\x1f\x4e\x27\xb9\xb3\x3c\xfe\x0d\x3a\xd9\x32\xa1\xeb\xe6\xa2\x7f\xc3\xb4\x46\x62\x29\x54\xae\xe1\x68\x36\x68\xc8\xbd\x4a\x3f\x90\x3b\xe5\xc7\x7d\xfd\xb8\xe8\x91\x4c\xed\xc5\x1f\x65\xfe\xd2\xd9\xc4\xd0\x3e\x13\xa6\x68\xd4\xc7\xea\x5e\x31\x88\x3e\x1b\x3d\xb6\x43\x63\xe2\xac\x5c\xc5\x4b\x54\xce\x69\xc6\xad\x52\xf8\x74\x99\x9b\x5d\xd2\xc5\x78\x2f\x03\xc3\xd5\x15\x05\xdf\x53\x6a\x1f\xe0\xd8\x60\xd3\x3e\xab\xed\x64\x1a\x94\x00\x89\xf1\x29\x7d\xd0\xf5\x7f"}, -{{0xf8,0xff,0x97,0x03,0x2a,0x34,0xcf,0x99,0x99,0x08,0x80,0x58,0xaf,0x56,0xff,0x70,0xb6,0xac,0xb2,0xed,0xf7,0x59,0xe1,0x31,0xfa,0xec,0x84,0x40,0xfd,0xec,0xf6,0xc4,},{0x54,0x38,0xb4,0xe3,0x3f,0x1c,0x5e,0xa1,0x12,0xfb,0x1b,0xaf,0xef,0x40,0x59,0xbf,0x09,0x5a,0x11,0x40,0x9b,0x64,0xd4,0x6b,0xfb,0x4d,0x25,0x47,0x3c,0x1c,0x08,0x74,},{0x50,0x9e,0x9e,0xad,0xfe,0x8d,0xde,0x79,0x14,0xac,0x20,0xca,0xfc,0x0b,0x0a,0xf2,0x2b,0x84,0xdd,0x8a,0x21,0x0a,0x48,0x12,0xcd,0x8c,0xae,0x39,0xb0,0xa2,0x72,0xe5,0x3e,0x02,0x24,0x6d,0xc8,0x93,0x9e,0x92,0x26,0x92,0x03,0x36,0xe1,0x40,0xb3,0x15,0x32,0xd0,0x68,0x13,0x7a,0x34,0x16,0x1e,0x59,0x9a,0x86,0x94,0xa9,0x5d,0xdf,0x01,},"\xdf\xb4\x1f\xb9\xd5\x37\x02\xcb\x2b\x9e\x3f\xfc\xad\x4e\xa6\x02\x71\x6f\x71\x8a\x7e\xa3\x3e\x21\x84\x3e\x2a\x6c\x05\x2c\x70\xc6\xc5\x14\x85\xd7\x2b\x53\xa5\xbb\x4e\x34\xe0\x3e\x3e\x1d\x1a\x52\x51\x8e\xb3\xe7\xf1\x8f\x2a\x1e\x1c\xaf\x78\xac\xb2\x11\x60\x89\xbe\xd4\xc6\x17\x13\x8e\x71\x6a\x91\x43\x1f\x2c\xf6\x44\xa1\x21\x0f\x6d\x19\x20\xd2\x85\x99\x42\x64\xd6\x46\x6b\x0d\x8d\x2c\x62\x63\x80\x44\x61\x6f\x57\x6e\xdc\x7d\x0d\x93\xcb\x66\x01\x31\xd4\xbb\x50\x87\x5e\x15\x36\x40\x12\x3a\x96\xf1\x5b\x75\xa5\xbc\xee\x46\xd5\xcc\x5e\xb1\xa4\x31\xc5\x9d\x2e\xad\xdf\xd5\x53\x15\x02\xfe\xb1\x55\x1b\xf7\x79\x1c\xd5\x98\x9d\x17\xd1\x02\x96\xd0\x1b\xa3\xae\x3e\x38\x4c\x67\x45\x26\xca\xb6\x2a\x7c\x24\xc0\xff\x67\x7d\xe7\x1c\xa1\x72\x62\x1a\x28\xa8\x5e\x01\xee\xfe\x07\xf6\xee\xf9\xc3\xec\xfd\x7f\x94\x98\xac\x42\xf4\x6a\x43\x71\x6f\x61\x53\x18\xa3\xb2\x87\x57\xc3\xa1\x5f\x4f\x1c\x38\x22\xae\x7a\x75\xc2\x03\xa2\x98\x25\x8d\x75\x36\x38\xcf\x42\x5e\x15\xbb\xc4\x62\x02\xb0\x93\xb8\xe4\xf3\xe6\x70\xfb\xb6\x63\xdb\x2b\x69\xc8\xfb\x0f\x62\x50\x74\xd8\x5a\x44\xd3\x50\xe0\x42\xbb\x1b\x74\x02\x1d\x19\x29\x97\xa2\xc2\x7d\xd6\xc8\x63\x48\x41\xd1\x00\xa0\x34\x4b\xae\xd7\x50\xa3\x9f\xf5\xdc\xd9\x84\x8d\xfc\xf0\x9e\x5c\x8c\x47\x96\x7b\x96\x55\x6e\x23\x32\xca\x17\xd8\xe4\x2d\xd8\xf3\x93\xa5\x44\x5a\x37\x22\x44\x60\x0b\x30\x01\xb8\xfe\x86\xc4\x5e\xaf\xc6\xe7\x38\xaa\x7e\x11\x7b\x4a\x79\xfa\x2e\x6b\x00\xf4\x64\x92\x8d\x18\x56\xc8\x3e\xcf\xe8\x7d\xd3\x4d\x15\x8f\x5c\xb4\xe4\xf4\xd6\x10\xf5\x97\x17\xec\x79\x0b\xd3\xff\x87\x20\x40\xb6\x7e\x8d\x39\x39\xe8\x04\xe3\xb5\xdb\x98\x5a\x09\x56\x21\xcb\xcc\xd6\x86\xc0\x93\x4e\xce\x3e\x27\xab\x2c\x6c\xe3\x3f\xb5\x2b\x11\x1f\x48\xe4\xf2\x74\xbd\xf3\x20\xd0\xb0\x23\x84\xc8\x3c\x49\xe1\xa0\x41\xbd\x23\x19\x10\x9c\x85\xa0\x6d\x80\x48\xa9\x93\x35\x7a\xbf\xd8\x11\xac\x2f\x38\x05\x9d\x07\x7a\xcb\xc3\x6a\xa9\x66\xc0\x28\x90\x37\x48\x62\x5f\x92\xe8\xf7\x9d\x51\xbd\xa1\x0f\x78\x52\x29\x77\xf7\x6e\xc4\xe8\x85\xe4\x9a\x46\xc6\x8d\xe0\x9f\x3d\xa8\xf8\x6b\x71\xae\x64\x23\xbd\x29\xde\xef\x1c\xc6\xa1\x13\xea\xc1\x15\xa6\xcd\xe2\xcc\xd0\x11\xfc\x1c\x0f\x0e\x34\x27\xf4\x3c\x3e\x96\xfc\x41\x56\xed\xf6\x2d\xdf\xb7\xb0\x83\x6b\x88\x8b\xab\x3c\x43\x45\x05\x5a\x6c\x41\x78\xe9\xe2\x28\x29\xfd\x8c\xfc\xe3\x9b\x0b\x84\x44\xeb\x26\x48\x7c\xc9\xdc\x82\x60\x6f\xea\xad\xaf\x49\x78\x69\x4e\x65\x64\xf2\x72\x9c\x1b\x13\xab\x37\xc9\x07\x2d\xb4\xe9\xde\x94\x0e\xe5\xf1\xd0\x58\x84\xae\x7f\xd9\xd9\xec\x9c\xb7\xde\x56\x34\x76\x00\xa8\x8d\xea\x92\x08\xa6\x34\x19\xfc\xe2\x9e\xe5\x00\x55\xa3\x74\xa8\xf2\x2f\x9a\xe2\xbe\x98\x05\xa9\xf4\x76\x15\xaa\x59\x57\x6b\x44\x04\x2f\xf1\x26\xa8\x98\x24\xe3\x6a\xd6\xbc\x58\xe0\x6b\xb9\x0f\xbe\xef\xba\xe5\xd6\xd7\xd6\x24\x30\xf3\x73\xb6\x29\x6f\xbf\xcd\x4d\x66\x20\x16\x83\x53\x58\x3f\xbd\x3d\x5a\x29\x2b\x95\x72\x51\x75\x34\xe2\xfb\x0b\xee\xf2\xfa\x98\xa4\x64\xe5\x91\x03\xe7\xa0\x42\x87\xf1\x5d\xad\x0f\xac\x54\x97\x0e\x77\x15\x07\x8d\x63\xec\x26\x36\x2f\x6f\xba\xbc\xdd\xea\xf7"}, -{{0x2e,0x4c,0x39,0x21,0x9f,0xc9,0x2a,0x53,0x8e,0x48,0xe9,0x5f,0xbf,0xcf,0xef,0x30,0xf5,0xa2,0x1b,0x78,0x94,0x0b,0x81,0x05,0x3b,0xda,0xd4,0x60,0x2b,0x4c,0x96,0x90,},{0xf8,0xee,0xd8,0x92,0x17,0x66,0x20,0x43,0x4c,0x7f,0x0e,0xc5,0x3d,0xcf,0xf3,0x98,0x63,0x10,0x9e,0x7c,0xa4,0xd0,0xb3,0xc6,0xc4,0xb5,0x64,0x10,0xbe,0x01,0xe5,0x37,},{0x39,0x45,0x20,0x12,0x2b,0xb0,0xa5,0x64,0x64,0x8a,0x7a,0x8b,0xc8,0xdc,0x73,0x63,0x6c,0x51,0x77,0x46,0xa3,0xc8,0xa0,0x5b,0x90,0x1e,0x72,0x52,0xfe,0xf0,0xe5,0x02,0x3d,0x90,0x99,0x1e,0x31,0x1b,0x53,0x82,0xd4,0x91,0x00,0xe5,0x26,0x33,0xc7,0x0f,0xe9,0xc2,0x6c,0x14,0x50,0xe0,0x60,0x3e,0x6d,0x45,0x22,0x99,0xaf,0x4d,0xae,0x07,},"\xc8\x7d\x1f\xba\x9d\x94\xa6\xa5\x40\x89\x80\xfc\x80\x83\x98\x0f\xd2\xd2\x52\xfa\xe5\x40\xf6\xee\xc1\x9e\xd6\x74\x6c\x29\xe3\x39\xa1\xc2\x9f\x6f\x53\xbc\x23\xfd\x6b\xfa\x43\x85\x07\xef\xf5\xda\xf9\x03\x40\x3c\xda\x70\x7b\x4d\xc5\xe8\x44\x80\x5d\x6b\x1c\xeb\x4a\xff\xf4\xb2\x32\xe8\xe6\x9d\x7d\x27\x1f\x3c\x06\x7c\x48\x54\xf3\xd9\x4f\x27\xfe\x32\x55\x81\xfa\xca\x79\xd1\xf0\x2a\x26\x29\x0a\xd2\x3a\xf7\x11\x00\xc1\x2c\x09\x15\x76\x47\xca\x9d\xa4\x3d\x76\x90\xdd\xcd\x94\xdb\x65\xe0\x00\x98\x9c\x87\x8b\x75\xa0\xff\x22\xd2\xc7\x09\x62\x59\x4c\x9b\x08\x08\xf2\x78\x46\xcc\xac\x85\x67\xbc\xe5\xd2\xe3\xb7\x60\x28\x09\xf2\x3b\x59\xcd\x71\x8a\x08\x05\xd1\x08\xf3\x1a\x63\x2a\x05\xb8\xdf\xa5\x03\x5a\xb9\x46\x1a\xeb\xa4\x16\x00\x9d\x74\xfd\xf9\xe0\x07\x20\x28\x56\x89\x0d\x2c\xff\x80\xfa\x24\x0b\x97\x8a\x48\x27\x0f\xcb\x2f\x47\x36\x97\xbc\xba\x8e\x73\x0a\x55\xc2\x87\x61\x91\x9a\x23\xbe\x41\xda\x27\xff\xea\x09\xe3\x55\x9c\xaa\xab\xf9\x51\x9e\xc0\x8e\x1f\xfa\x86\x81\x7a\xa3\xe8\x87\x4f\xa8\x16\xe7\x71\x8c\x5b\x2f\x34\x49\x67\xba\x1b\xc2\x81\x9c\x4f\x04\x5a\x97\xb4\x05\x44\xea\x61\xd7\x17\x08\x3c\xca\xf1\x1e\x9d\xdc\x04\xa3\x59\x8e\xf1\x81\xe7\xbe\xf4\xac\xef\x45\xb6\x55\x1b\x47\x8a\x0d\x77\x31\xc4\xf0\x8c\xe5\x80\x2f\x78\x25\x8d\x41\x90\x17\x66\x10\x76\xd7\xd6\xd2\xef\x39\xe5\x7c\xf9\xcd\x93\x97\xdc\xc5\xde\xbf\x64\xab\x82\xb6\x61\x59\xf5\x78\x31\x6e\x74\xcd\x49\xf5\xad\x2c\x6f\xef\x83\xcf\x08\x68\x3b\x95\x70\xa9\x46\xad\x49\x03\xdf\x4e\x96\xec\x00\x8e\x14\xa5\x01\xfa\x93\x86\xbd\xaf\x2a\x63\x99\x3c\x6c\x9b\xdf\x23\x1f\xd0\x9e\xa6\xf9\x6e\xf4\xd4\xe2\x9a\x3a\x33\x27\xcb\xf7\x4e\xa8\x31\x05\x4e\x66\xca\x86\x68\x0c\x6c\xe5\x3b\x66\xf9\x46\x5d\x06\xb3\xfa\x07\x98\xbb\x69\x05\xae\x38\x45\x59\x34\xf2\xfb\x7e\x0b\xa4\x72\x32\x89\x89\xf0\x01\x30\x86\x71\xcc\xcb\x56\x6d\x22\x2c\x72\x16\x5b\xb3\xa7\x44\xfb\x98\xe2\x21\x0f\x96\x20\x68\x0d\xf3\xe3\xcd\x14\xa8\xbd\x94\xb5\x74\x5c\x00\x16\xdd\xa7\x7f\x05\x9f\x26\x05\x3b\x64\xcf\x45\x23\xc3\xd4\x29\x11\x2f\xb6\xb3\x28\x39\x8b\xc6\x30\xa2\xe9\x06\xb9\x5a\x6c\x57\x80\xcf\xdc\x06\x41\xbe\x47\x51\xbe\xbd\xdf\x77\x24\xdc\x9c\x27\xe7\x8d\x60\xed\x0f\xd7\x36\xd5\xab\xd8\x89\x29\xc1\x79\x5d\x47\x3a\xbd\x2b\x03\x20\xc5\x40\x47\x57\x28\x82\x18\x67\xa4\x09\xa2\xff\x13\xcc\x44\xce\x35\xe5\x98\x1e\x9f\x6b\x87\xa2\x8d\x4f\xa8\xb8\x67\x5e\x50\x3f\xae\xfc\xa7\xc1\xd7\x98\x47\x37\x87\x1f\xe9\x19\xac\x41\x4e\xea\x26\x5e\xe3\x1f\x9f\x78\xf5\x21\xf3\xf4\xf8\xd0\x0c\x3f\xb7\x91\x71\xf3\xc6\xa5\xdb\xf5\xe1\xac\x8b\xf6\x3b\x4c\x3d\x8d\x8b\xc1\x21\x03\x6e\x9e\x55\xbb\x70\x2e\xa6\xc8\x6e\x92\x5e\xc0\xb9\x84\xde\xd2\xc7\x1f\x3b\xfd\x49\x32\xe6\xc4\x1b\x58\x2f\xd0\x2c\xa5\x9f\x53\xce\x29\x74\x45\x78\x5c\xc4\xca\xc2\x47\xb0\xb8\x4e\x7f\xa0\xbc\xdc\xf7\x9b\x3e\x4a\x15\x5f\x98\x78\xc1\xf6\x43\xbe\x9c\x42\xf7\xa4\xf2\x72\x60\x44\x45\x05\xc1\x84\x5b\xd5\x3b\x55\x0a\x31\xd7\x95\x3c\xc7\x38\x86\x1f\x46\xbd\xf4\x87\x0f\x3a\x77\xac\xe1\x91\xab\xd6\x3c\x45\xad\xb1\x53\x90\x9f\xb5\x9a\xb5\xdb\x9b"}, -{{0xf0,0x92,0xe6,0xbe,0x8d,0x2d,0x9a,0xd0,0x69,0xa3,0xe2,0xb9,0x76,0xd2,0x44,0xe3,0x4c,0x15,0xc2,0x8c,0x48,0xd3,0x2f,0x55,0x60,0xa5,0x41,0x85,0xd1,0x50,0x15,0x02,},{0xcf,0xeb,0x3e,0x74,0xe4,0xb5,0xc8,0x35,0x6a,0x81,0x75,0x7b,0x8f,0x1b,0xe4,0xb4,0x29,0xfc,0x18,0xfc,0xaf,0x49,0x7c,0xbf,0x8d,0x8b,0xc0,0x48,0x0f,0xf9,0x78,0xf9,},{0x63,0xcd,0x4c,0x0b,0xa3,0xbe,0x93,0x97,0xcc,0x0f,0x3c,0x1a,0xf3,0x48,0xec,0x4b,0x8a,0x91,0xe4,0x2f,0xee,0x67,0x5d,0xa1,0xd0,0x59,0x00,0xb9,0xa8,0x6c,0x13,0x8f,0x91,0x74,0xeb,0x99,0x6b,0xbd,0xf3,0x1c,0x42,0x95,0xe0,0xc5,0x78,0xac,0x0f,0x9d,0x53,0x76,0x41,0xa2,0xaf,0xd5,0xdf,0xf9,0x3a,0x39,0xc5,0xcd,0x9d,0x3c,0x48,0x0b,},"\x2c\x25\x5f\xb2\x5d\x45\xb0\x86\xc0\x71\xe0\x3e\x52\x5b\x4d\x72\x85\x78\xfb\xb6\xb0\xc6\x0d\xa9\x41\xe6\xbf\x2a\x48\x98\xb2\xd5\xb6\x98\x8c\x53\x30\x27\x85\xab\x7a\x3b\xc4\xbb\x2c\x20\x5a\xcd\x27\xd6\xa4\xcb\xdd\x1a\x0c\x08\x89\xde\xd7\x84\x26\x4c\xb7\xc0\x28\x89\xc5\xc7\x11\x3f\xc9\x0b\xbb\xcd\x31\xff\x00\x14\x32\xc0\x53\xf9\x71\x07\x3c\xf6\x71\x2f\x66\x7f\xce\x46\x98\x77\x6b\x98\xcc\x54\x44\xc6\x92\xab\xd1\x28\x81\x98\xbe\x5a\xd5\x67\x46\x09\xf7\xe1\x39\xad\x1b\x9c\xcb\x94\x3f\x8d\xfd\x9d\x12\xc5\x4e\xce\xe2\x78\x34\x1b\x2e\xe1\x27\x79\x91\xca\x62\xcd\x3b\xfe\x12\x8d\x13\x92\x96\x4e\x95\x88\xe2\xf9\x7c\x32\x17\x04\xa3\xde\x10\x61\x88\xc5\xeb\x33\x5a\xa5\xa1\x9a\xcc\x90\x67\xb4\xa9\x41\x29\xb9\xd1\xa6\x16\x7c\x4b\xbf\xb5\x6f\xb9\x76\x84\xcb\xbd\x72\x0c\x86\x86\x9e\x00\x20\xab\x07\x76\xcd\xc9\x95\x4f\xeb\xa8\x62\x12\x4b\x07\x3f\xba\x8d\xe9\xea\x9a\x38\xea\xcf\xa0\x03\xae\x4f\x1c\xdc\xbf\x15\xc3\x2f\xb6\xb9\x70\xc7\x31\x15\xdd\xff\xcd\x4f\xa3\xb7\x18\x46\x11\x0e\xde\xc2\x57\xfc\xae\xd6\x11\x36\x04\xf7\x19\x25\x72\x57\x72\x64\xb9\x90\x5c\xa6\xae\xd8\xda\xec\x13\x84\x03\xca\x41\xaa\x95\x42\x78\xa5\x72\x0b\x26\x7b\x90\xca\x16\x3a\x9b\xdf\x44\x7e\xad\xe8\xde\xb7\x69\xa3\xb4\x92\x37\xa7\x35\x16\x97\x7c\x28\x73\x45\x55\xdd\x23\x4c\xa7\xde\x49\x99\x26\x1b\xc7\x96\x0f\x53\x6b\xa8\xa3\x5a\xd3\xd0\x2c\x75\xf1\xc2\xbe\xa0\xa0\x61\x2e\x7d\x49\xc4\x03\x97\xdd\x6a\xf5\xff\x58\xba\xe6\xa6\x4b\x6a\x77\xe9\x81\xf9\x2d\x15\x9e\x0b\x2b\xd2\x05\xab\x15\x70\x52\xf4\x70\x17\xa3\xe1\x8a\xec\x94\x4d\x04\x65\xee\x00\x17\xe9\x61\x48\xa6\x12\x9f\x74\xd3\xcc\xb4\x89\xfe\xa1\x3a\x15\xa9\xb9\xac\xed\x58\xc6\xee\x0e\x6e\x84\xe0\x5f\xda\xdf\xae\x07\xb3\x34\xa9\x8f\xc3\x7f\x7e\x51\x1c\xd5\xa4\x4e\x9c\x74\xe4\x78\xd3\x49\xe3\x0e\x29\xae\xb4\x6a\x4d\xf0\x1e\x43\x07\xfe\x65\xe1\x39\x4a\x75\x8f\x6a\xda\x2f\xb1\x20\x22\x5c\xcd\x50\xa4\x90\x13\xe6\xc9\xf1\x75\xaf\x90\xf3\xfc\x8c\x57\xe7\xa6\xa9\x69\xa9\x16\xc3\xf1\xaa\xcc\x22\xf3\xe0\x1a\x07\x0c\xc4\x8e\x6f\xd8\x78\xe2\xbd\x07\x3d\xf9\xee\x6f\x05\x9b\x98\x56\x84\x04\xfc\x7e\xae\x7d\x4b\xf6\xfa\x16\xc0\xc8\x03\xc6\xbe\x84\xe8\xb7\x9c\x67\xaf\xfc\x8c\x88\xca\xbd\xee\xbc\x11\x34\xbb\x23\x86\xe2\x2b\xa4\xd2\xe9\xe0\xf3\xe1\xab\x3a\x0d\xac\x7c\x80\xdd\xee\xd7\x73\xcd\xa0\xc4\x1d\xc9\xde\xfa\x67\xfe\xa3\x77\x69\xcb\x4a\x1e\x15\x22\xd7\xe0\xb3\xd7\xc4\x63\x8b\xcd\x98\x31\x53\xd4\x78\xbe\x5e\xcf\x2b\x6a\xb1\xb4\x01\x24\xe4\x22\x2b\x8c\xaa\x46\x47\xbd\x50\xd7\x4d\x20\x39\x43\xab\x20\x93\x8d\x5f\x27\xd9\x08\xa6\x73\x67\x40\x46\xce\x2e\xf1\x8e\x85\x8b\x0a\x01\xa7\xe7\x53\x0d\xed\x0f\x8c\xc8\x9e\xf0\x9b\x73\xca\x59\x7c\xf7\x3a\xfb\xc9\xa2\x71\xa4\xd2\x3c\x92\xfe\x59\x18\x83\xc4\x40\x10\x9c\x4e\xf4\x16\x67\x0b\x7f\x2c\x59\x05\xb7\x7f\x65\xf5\x6d\x09\xd4\x02\x50\x35\x6f\x9b\x1d\xbc\xaf\x1e\xe2\xc0\xb6\x36\x96\xf8\x4d\x68\xdd\xbe\xa1\x60\x08\x51\x51\xa9\x52\x62\x74\xd7\xb8\x46\xcc\xeb\x6c\x43\x48\x09\x84\x84\xde\x3b\xb7\x23\xae\x5e\x85\x27\x6d\xf4\x9f\x56\x34\x13\x0f\xf9\x05\x75\x4f"}, -{{0x01,0xa2,0x47,0x94,0x3a,0xfe,0x83,0xf0,0x36,0xb6,0xb6,0x0f,0x23,0xd9,0x77,0x74,0xfd,0x23,0x20,0x8e,0xdc,0x31,0xcf,0x3d,0x88,0x20,0xe9,0xdc,0x63,0x66,0x11,0x03,},{0x8c,0x97,0xa5,0x8b,0xe0,0xe8,0x47,0xc4,0x8a,0x6a,0x39,0x87,0xcf,0xe2,0x50,0xa8,0xd7,0xb0,0x7d,0x97,0xf9,0x61,0xf6,0xb7,0xb7,0x9e,0x7d,0x80,0x42,0xb8,0xbd,0x7b,},{0xed,0x2c,0xed,0x1a,0x4f,0xdd,0xb3,0x44,0x2a,0x63,0x73,0x48,0x17,0x9a,0x6a,0x5b,0xee,0xdc,0xb4,0x4c,0x8e,0x98,0x8c,0xa2,0x6f,0x78,0x93,0x6d,0x2c,0x8d,0xb5,0xc5,0x16,0xd5,0x4b,0x8c,0x4f,0x08,0xd9,0x1d,0xd7,0x04,0x2a,0xb6,0xab,0x26,0xd8,0x7f,0x23,0x0e,0xb2,0xb2,0x15,0x6f,0x3c,0xe2,0x99,0x4f,0xce,0x7c,0x2b,0x0f,0x10,0x0e,},"\x08\xd8\x14\x95\xda\x77\xf4\x07\x25\x5c\xc4\x1a\x81\x8e\xef\xa7\x27\xe2\xc4\x7a\xe4\x11\xf4\xb5\x41\xf0\x1f\x81\x1d\x90\x6d\x55\xfb\x1e\x3c\x9c\x48\x4d\xf3\x05\x65\x36\x4d\xe9\xdc\xb9\xfe\xa0\xaf\x66\x11\x2f\xe7\x5f\xd1\x1a\xe8\x1d\x26\x41\xb5\x47\x58\x9f\x8b\x97\x4a\x97\xe7\x97\x6e\xd6\x92\xaa\xd6\x40\xed\xd2\x88\xbd\x86\x3d\x11\xc4\xca\x98\x36\xf9\xd7\xc1\x15\xc3\xd9\x88\x30\xd6\x42\x47\xcb\x6f\x8f\xb6\x03\xc6\x98\x11\x33\x55\x2a\x32\x04\x04\x19\x61\xbd\xd8\x3e\x2f\x9d\xeb\xa7\x70\xc0\x39\x4f\x9b\x60\x2a\x45\x35\x51\x07\x49\x21\xa3\xde\x28\x32\x13\x69\xd7\xf8\xca\x64\x0c\x45\x10\x9e\x8f\x52\x2c\x97\xed\x9f\x35\xb9\x27\x7a\x35\x0e\x29\x59\x31\xb4\x2e\x01\x35\xe9\x4a\x92\xfe\xd3\x63\xd6\xca\xe3\x92\xf7\xc4\x51\x99\x32\x7e\x24\xb4\xcf\xa5\x89\x8a\xb5\x99\xae\x7b\xd5\x0b\xd3\xa0\x0c\x0d\x00\x7e\x95\xfa\xf8\xf2\xae\x10\x38\x02\xca\x7e\x53\xb2\x79\x18\x4d\x06\x90\x5f\x57\x48\xca\x8b\xe1\xf7\x2e\x66\x8c\xb8\x32\x83\xdd\x00\x40\x64\x91\xf8\xb9\xb4\xe5\xa9\xd4\xa5\x43\x8b\x2f\xa4\x37\x1e\x0b\x05\x68\x6f\x87\x57\x5b\xaa\x79\x6e\x30\x2f\x08\xff\xc4\x25\x66\x27\x50\xa3\x3a\x0c\x9c\xfa\xa4\xb4\xd7\x04\x1f\x92\x64\xfe\xd7\xbe\x4f\x9f\xde\x2c\xac\x68\xa2\x15\x82\x36\xf6\xac\x43\x04\x7e\x91\x1f\x4c\x4e\x8b\xc6\x63\xfd\xd5\x05\x17\xdf\xaa\x8f\xbc\xd2\x19\xdd\x7a\x0e\x93\x69\xf4\x3d\x0d\xd2\x5b\x4f\x0c\xf9\x30\xf2\x0b\x7b\x7c\x6d\xb9\xd5\xbe\x0c\x6e\x19\x60\x94\x1a\x3e\x04\xd1\x41\xc0\x3e\x59\x61\xaa\x33\xe9\x02\x44\x77\xd5\x33\xc9\x95\x37\x87\x96\xbf\x22\x92\xad\xe9\x22\x69\x5b\x14\x56\x9f\xc3\x39\xb3\xd9\x08\x5c\x63\xfc\x6e\x5b\xef\x4d\x99\x0c\x80\x33\x3a\x6b\x57\xaf\x47\x8f\x93\x8e\x3e\xe7\x38\xb1\xd1\x29\xbd\x97\x6a\xfe\x68\x61\x28\xbc\xac\x08\xcc\xbe\xb0\x34\x9b\x9b\x53\x73\x13\xbc\x7b\xf5\x91\xc6\x5d\x4a\x71\x23\xad\x30\xbd\xbe\x14\x86\xb4\x28\x08\x47\x48\xb6\x50\x7f\x6f\x5e\xf6\x7c\x26\xca\x86\x2c\xf7\x26\xaa\xc1\x40\xb8\x61\xae\x0d\xc7\x4b\xb3\xc0\xb4\x89\x78\x9f\x17\x14\x5e\x9a\x85\x5a\x3e\x2b\x5d\xaa\xc4\x18\xd8\x35\x37\x33\x23\x9e\xf6\x9c\x7b\x56\x5b\x53\x03\xeb\x87\xbd\x7f\x64\x9a\xbf\x40\xa2\xf1\x35\xa2\x9e\xd2\x7e\x3b\xe4\xc1\x2c\xd6\xdd\xd2\xe5\x41\x8a\x99\x97\x43\x83\x66\x3f\x58\x49\xbf\x3c\xe5\x53\x2b\xf6\x4a\x80\xaa\x52\x11\x91\xd2\x53\x90\xbc\x19\xa4\x5e\xed\x1d\x3f\xec\xa1\xd9\xfc\xc0\xdb\x03\x1b\xfb\x48\xe4\x50\xbe\x3d\x45\x93\x35\x6d\x5b\xa0\xf3\x10\x47\xb4\x57\x74\x5f\x21\xe3\x2e\xbe\xa3\xca\x6c\x35\xf0\x5d\x78\xd8\xc3\x16\x40\xb0\xfe\xcb\x94\x01\x16\x56\x75\xc7\xf9\xcb\xb1\x9b\xc4\xb5\x67\x7c\x2c\xce\xdc\x4e\x7a\xaf\xb8\x41\x84\xc1\x91\x99\xac\xa0\xdb\x21\xcf\x50\x67\xdc\x3a\xf7\x69\xbc\xc6\x29\x35\x5f\xf7\x25\x7a\x9e\xfd\x71\xa6\xa9\x2d\x13\x0d\x35\xab\xee\x6e\x70\x60\x5b\x5c\xab\x93\xc0\x28\xfa\xc3\xaa\x23\x44\xba\x86\x1a\xc1\xe8\xce\x9a\x4b\x07\x0c\x3d\xf7\x40\xd2\x8c\x5e\xce\x0f\x1b\xc3\x1c\x2d\x7d\x1e\x5e\xcc\x76\x10\x44\x80\x93\x91\x33\xa1\x86\x60\xe4\xa3\xe4\x84\x6b\x25\x17\xbe\x3b\x8e\x7a\xfa\xfe\x07\x83\x91\xd8\xaa\x8e\x5c\x30\x13\x7e\x85\xd9\x4d\x64\xa2\x79\xfb\xee"}, -{{0x91,0xfd,0xef,0xcd,0xbc,0x99,0x0d,0x3e,0x8e,0xeb,0x60,0x17,0x04,0x34,0xda,0x10,0x83,0x1b,0x03,0x08,0x1f,0x6a,0xfd,0x0d,0x7e,0x12,0xb1,0x00,0x11,0xe0,0x2a,0xef,},{0xc5,0x8d,0x3e,0x20,0xb8,0xd4,0x7b,0xa4,0x55,0xb9,0x12,0x57,0x2d,0xc8,0x40,0x81,0x5e,0x3d,0x88,0x5f,0xa5,0x91,0x7d,0x1d,0xa4,0x84,0x08,0xb9,0xa9,0x56,0x40,0x98,},{0x51,0x01,0x12,0x22,0x3b,0x33,0xa5,0xab,0x15,0x64,0xf7,0x53,0x71,0x91,0xcd,0x29,0x2a,0x9d,0xbd,0x5a,0x32,0x3d,0x7a,0xdd,0x05,0x84,0xc1,0xb0,0xad,0x00,0xd0,0xac,0x71,0x99,0xc3,0xfb,0x75,0x8e,0x91,0x3f,0xf3,0xd7,0x16,0xc2,0xe9,0x0d,0xd9,0x0d,0x4e,0x8f,0x59,0x95,0x1e,0x87,0xef,0x8b,0x78,0x21,0x4a,0x51,0x75,0xc4,0xe6,0x08,},"\x5b\x0c\x1a\x3a\x95\xe0\xba\x74\x74\x76\x6c\x9b\xad\xfa\xe3\x4a\xb8\x60\xe0\xa6\xc0\x33\xa2\x2f\xba\x72\x11\x27\xf5\xbb\xee\xe8\xe2\xcb\xde\x1a\x1d\xfe\xb1\x8d\x55\x1c\x95\x99\x4d\x21\xe3\xeb\xc6\x8a\xfa\xe6\x85\x44\x4a\x3a\x41\x95\xbc\x75\x55\x38\x90\x3a\xcf\xa6\x71\x55\x92\xdd\xe2\x56\xe7\xa1\xb4\xc3\x63\xec\xa7\x1e\xf0\xf3\xa4\x8a\xe3\x44\x2d\x50\xd5\x66\x1b\x39\x40\x96\xb7\xec\x27\xbb\xf5\x29\x53\xf3\x04\x0c\xd2\x5b\x78\xce\x47\x55\x27\xe0\xcc\x59\xf1\xef\x9a\xe2\xe0\x59\x04\x31\x58\x2b\x2d\xf8\x14\x14\x99\x82\x9a\x2c\x5f\x7b\xbe\x35\x98\xe4\xc9\x6c\xc0\x1e\xde\x2f\x43\xb6\x56\x05\xb4\x88\x59\x37\x09\xc0\x94\xb5\xa0\x42\xb2\x85\x55\xfb\x52\x27\xa6\xd1\x56\x37\x6f\x3f\xf0\x7b\xd5\xc8\xbc\x68\x04\xd3\x9a\x32\x82\xac\x59\x70\xba\x08\xae\xbf\x75\x42\xb8\x45\xf6\xb5\xc2\x38\xc2\xce\x20\x44\x3f\x7f\x77\x55\xd7\x5f\xe4\xfa\x16\xb9\x64\x4c\xa3\xe2\x1d\x91\xa9\xa8\x7c\x68\x61\x15\x74\x8a\x16\xc0\xae\x4a\xe4\xe1\x6d\x1c\x71\xae\x60\x0b\x39\xcd\x25\xe5\x63\x3b\x39\x9f\xee\x7f\xf2\xe3\x62\xbe\xd2\x51\x25\xc6\xfd\x5c\x7f\x5f\xfa\x2d\xa2\x35\x3f\xd3\x5b\x78\x4a\x1b\x1b\x03\x19\x77\x47\x58\xb7\x39\x0c\x44\xdc\xc9\x2f\xca\x42\x01\xdf\xe1\xa3\x75\x69\xde\x05\xf0\x66\x4d\x08\xb9\x0d\x6e\x2b\xad\xc2\x1b\x92\xf9\xce\x87\x21\x42\x35\x7b\x96\x15\x08\x0a\xb7\x65\x9a\x24\x6f\xf0\x85\x2a\xdb\x17\xdf\xda\x70\xcf\x17\x54\x15\x7b\x13\xbc\x03\x2b\x4c\x5d\xeb\x8e\x10\x68\xb4\x69\x2b\x93\x16\x5d\xa3\x5e\xfc\x9d\xa8\x6a\xcb\xe6\xf8\x0f\x01\xbb\xc2\x6f\x57\x5e\xc5\xaf\x5b\x05\x0e\x98\x28\xaf\xde\x6c\x3b\x78\xe7\x33\xeb\x5a\x91\x24\x92\xf7\x65\xbc\xad\x73\x1b\x95\xe3\xab\x88\x96\xb6\x17\x58\xbf\x91\x3b\x9a\x15\x68\xf9\xc5\xb4\x60\x33\xcf\x45\xdc\xc1\x75\x0d\xa2\x06\x6c\x60\x8d\xc3\xd3\x43\x73\x8e\x84\x8d\xc3\x90\xcd\x47\x44\x32\xe9\x91\xd7\xaa\x2c\x5b\x27\x81\x42\x1e\xfe\x55\xe3\x6b\x0b\x42\xc1\xf4\x9a\xe2\x77\x48\x0b\x0f\xc5\xff\x68\x5b\xb5\xa3\x1b\xe3\xa0\xfa\x44\x82\x38\x16\x07\x70\x37\x54\x8a\x5c\x9b\x0e\x1c\xc6\xc6\x35\x04\xa4\x07\x57\x9a\x36\x32\xb3\xc9\x6f\xcd\x0d\xe5\xea\x1e\x4d\x6e\x87\xc0\xca\xf7\xb6\xca\xe3\x12\x0d\xb8\xb1\xf4\x61\x5c\xe6\xa7\x5a\x81\x65\x4f\x39\x04\x28\xb6\x4c\x21\x3e\x72\x7e\xec\x3a\xe7\xf9\xf4\x2d\xb9\x06\xf4\xde\x1f\xda\xdd\x34\xa3\xda\x2a\xeb\x12\xb4\xd9\xa1\x85\xf4\xa6\x0c\xb0\xc2\x67\x45\xf5\x30\xb4\x81\xfc\x97\x6a\x09\x3c\xe2\x4a\x30\x91\x6a\xf6\x05\xee\x94\xb0\x87\x85\x19\x3a\x94\x9d\x56\x9c\x4b\x7e\xf5\x96\x03\xbb\x62\x43\x60\xe7\xb4\x08\xd9\x8c\xa5\x09\xda\xf5\xa9\x2a\x6d\x40\x15\xbd\xb6\xf9\x7a\xd4\xff\x0c\xf0\x5c\x8f\x0c\xd5\x47\x6a\x93\x44\x26\xa0\x59\xf2\x44\x44\x46\xe5\x86\x4f\x08\x9e\x0f\x06\x75\x61\x59\x10\x66\x2d\x7c\x1e\x79\xa6\xc7\x5f\xa3\x14\xb7\xba\x2c\x64\x3b\x0d\x37\x65\x3e\xef\xe5\x93\x17\x2d\x1d\x33\x2c\x8d\xd6\x44\x92\xea\xf1\x04\xfb\x19\x57\xba\xa5\x20\x49\x44\x2d\x10\xb5\x6a\xf8\xea\xe8\xff\x82\xcd\x8f\x46\xa0\x49\x4b\xec\x2f\xcb\x9f\xad\xf1\x0c\xf7\x1a\x6e\xec\xd0\x54\x7d\xaf\xdc\x7a\xdb\xaa\x45\x03\x78\x3f\x94\x3a\x46\xb4\xad\x0e\x6d\xd7\xf2\xca\xb5\x56\x17"}, -{{0xef,0x00,0xb3,0xc1,0x81,0xf6,0x32,0x7d,0x02,0x25,0x67,0x51,0xcb,0x51,0xc2,0xc3,0x6c,0x0c,0x0a,0x78,0x07,0x63,0x40,0x54,0x8f,0x5b,0xc0,0x70,0xd8,0x6d,0x9e,0x26,},{0xdb,0x14,0xcd,0x32,0x58,0x8f,0xd7,0x41,0xe8,0xf4,0x2e,0x51,0x21,0xcc,0x81,0x1a,0xd4,0x50,0x63,0xf2,0x81,0x41,0xe8,0x3c,0x66,0x8f,0x07,0xd9,0x12,0x28,0xf0,0x49,},{0x13,0x9f,0x9c,0xb9,0x9b,0x99,0x5b,0xe6,0x58,0x8c,0xdd,0xb5,0x05,0x16,0x94,0x83,0x8f,0x9d,0x82,0xa6,0x07,0x61,0xfd,0xe3,0x04,0xb0,0x02,0x7f,0xf8,0x65,0x84,0xbf,0x65,0xc7,0x3c,0xc6,0xd2,0x53,0xe5,0x60,0xf6,0x55,0x25,0xdf,0x04,0xbf,0xe1,0x46,0xc8,0x3b,0x42,0x26,0x9c,0xf3,0x78,0x0f,0x8b,0xc3,0x92,0x43,0x78,0x94,0xae,0x01,},"\x7d\x6a\xbe\xc7\xa1\x1a\xf6\x73\x24\xce\x17\xb1\xd2\x0b\xb4\x0c\x66\x8a\x21\x9b\xc9\x5d\xf0\x5e\x32\x5d\x86\xf8\x87\x95\xe2\x64\xd4\x54\xfc\x5f\xa7\xd9\xc8\xaa\xfe\x77\xe9\x0a\x6a\xf6\xb5\x74\x53\xd8\x5b\x97\x0b\x55\x2a\x85\x6b\xa6\x59\xab\x31\xbd\x8a\x66\x0e\xb7\xd3\x58\x7b\x45\x3e\x5c\x5f\xc6\xb7\x94\x72\xb2\x6e\x8f\xf7\xdd\x6d\xb6\xbe\x35\x72\x54\x8b\x0d\x75\x4e\xd4\xd9\x85\xb8\xd9\x96\x5f\x88\xb9\x52\xfc\x4f\xa3\xb7\x61\xcc\xff\xc3\x53\x54\xdb\x0e\xb9\xc5\xa1\x71\x71\x8a\x8a\x55\x92\x87\x02\x13\x82\x7d\x36\x91\xba\xe7\xfd\x9c\x63\xf2\x05\x03\xe0\x43\x19\xb5\xe9\x53\x57\x9d\xe4\x7e\x3e\xf8\xe1\x62\x85\x49\x50\x3c\xb4\xf6\x87\x1b\xa2\x5d\xb8\x73\x47\x08\x0e\x53\x1a\x51\x7a\x8b\x72\x21\xe6\xad\x84\xdf\xf8\x32\x56\xd9\xab\x9a\x43\x3d\xe8\x71\xb9\xcb\x9c\x50\x44\x58\x9e\x67\x20\x6b\x31\x7a\x52\x06\xae\xba\x96\xc9\x2f\xd6\x09\x40\x71\xc6\x44\xfe\x52\x65\x8d\xed\x92\x20\xcf\x6a\xbd\x50\xe2\x30\x5a\x1c\x90\xfd\x66\xaa\xcf\xb3\x8e\xb0\x5e\xaf\xf6\xca\x5f\x85\xf4\x29\xcd\x57\x71\x6e\xb8\x77\x39\xa0\x2b\x64\xcf\xfa\x08\xc4\xf6\x85\xb0\x03\x10\xb5\xb4\x84\x49\x20\xdf\x21\x5a\x9f\x24\xa1\x76\x13\xae\xf8\x5f\xec\x94\xf5\x11\xdc\x8a\x42\x94\xed\xdc\xea\x11\xc0\x8c\x0b\x39\x9a\x23\xd9\x16\x38\x3e\x29\xad\xeb\x98\xc6\x5d\x41\xc7\x05\xa5\x7f\x84\x05\x20\xfa\x80\x8d\x7f\xd2\x5f\xdc\xe1\x59\xf7\xa0\x84\xd0\x62\x97\x4b\x30\x13\x2a\x57\x12\x42\xba\xff\x41\x96\x24\x6d\x6d\x75\x7b\x31\x2e\x9d\x60\x85\x53\xd2\xdc\x53\xb6\x23\xb2\xe9\x5c\x75\x38\xfb\xc5\xde\xb6\x2b\xa7\x37\x76\xd8\x5e\x51\x18\xfa\x1a\x30\x2d\x4d\x07\x6d\x99\xe1\x00\xf0\xdf\x11\x9c\x33\xfc\x66\xcd\xfe\x6f\xd4\x4d\x71\x99\x7b\x78\xc8\xf7\x89\x0c\x70\x73\x46\x05\x62\x20\xd1\xe9\xde\x88\xbc\x17\x3c\xf0\xb7\x6c\xb3\x02\x87\x7e\xc1\x6a\xf4\x6e\x4c\x31\x63\x9f\x54\xee\xdc\x16\xda\x9d\x9e\xb0\xad\x95\xbd\xa5\x45\xdf\xc4\xa7\x32\xb6\xda\x98\x14\x13\x6a\xb1\xb9\x39\x2a\x07\x1b\x02\x24\x73\xb3\x49\x05\x57\x69\x8b\x77\xe7\x44\x7a\xc8\x59\x0d\xca\xf4\xf2\x42\xad\x3d\xfb\xc0\xdf\x71\x6c\xc0\xea\x75\x36\x26\x97\x3d\xf0\x8d\x93\x5d\x17\x8e\x33\x12\xfb\xe2\xa7\xba\x9c\x50\x93\xc5\x3b\x92\x55\xea\xca\x29\xb7\x25\x78\xe3\xba\x1b\xdf\xaf\x0c\x9e\xce\x21\xa5\xdf\xf6\xea\x42\x15\x24\xf7\x0f\xc1\x90\x4e\x9a\x2c\xf7\xc5\x18\xbf\xcc\x7e\x36\x73\xee\x87\xff\x27\xe1\xca\x2a\xc3\x2b\xcb\x40\x91\xcb\x34\xa8\x2a\x71\x56\x3f\xf6\xa6\xa1\x5d\xa0\xeb\xd5\xbd\x10\x25\x6c\xe9\x60\xf4\xea\xa7\xfe\x35\xe1\x28\x88\x60\x50\xd0\x49\xfe\xc3\xa4\xab\x16\xd5\xb0\xc1\x07\x26\x7e\xae\x1a\xb8\x01\xea\x5b\x91\x98\x38\x39\xda\x1c\x48\x8c\x12\xf8\x64\xd7\xc3\xa7\x7f\x2b\x6a\xe2\x7d\x54\x01\x09\xf6\x8d\x78\x36\x4b\xb6\x27\x18\x3b\xd5\x03\x91\x75\x47\xaa\xf3\xb3\xa1\x80\x9d\xa0\x25\x77\xb3\xf0\x3a\x9a\x3f\x5a\xf4\x8c\x88\x02\xe2\x97\xc8\xbb\x63\xdb\x6a\x86\xd3\xea\x72\x7a\x6d\x71\x48\xb3\xaa\x44\x4b\x8d\x16\x8f\x38\xc6\xc8\xf2\x40\x88\xa4\x9a\xf3\x31\x77\xa3\x44\xad\xab\x2c\xf6\xe0\x8e\x0c\xb0\x37\x1e\xd5\x2b\xde\xad\x13\x2f\x77\xe7\xae\x3e\xe5\xd8\xfb\x17\xaf\xc0\xa0\xbb\x73\x11\xb9\x56\x0b\x67"}, -{{0xd0,0x71,0xd8,0xc5,0x57,0x8d,0x02,0x59,0x49,0x93,0x2a,0xa6,0xbf,0x6a,0x80,0xb1,0xcc,0x41,0x2f,0x10,0x6f,0x91,0x57,0x4e,0xe2,0x46,0x54,0xb4,0x45,0xee,0x9a,0x97,},{0x9b,0xcb,0xf7,0xd2,0x21,0x2f,0xb6,0x2c,0xcc,0xf8,0xb6,0xc7,0x68,0x03,0xa5,0xea,0x24,0x40,0x9d,0xa6,0x28,0x7e,0xfb,0xb8,0xb1,0xf0,0xc7,0xb3,0x0e,0xbd,0xd9,0x3e,},{0x0c,0x29,0x7a,0xbe,0x0f,0xd8,0xeb,0xcc,0x6b,0x77,0x19,0x98,0x75,0x5e,0x2c,0x6b,0xe0,0x7c,0x81,0x2b,0x5a,0x80,0x54,0x49,0x57,0x06,0x31,0x70,0xca,0x69,0x43,0x2e,0x72,0xb6,0x0d,0xaa,0xe3,0x22,0x95,0x8a,0x22,0x38,0xcd,0x6a,0x46,0x28,0x94,0xa3,0x87,0xee,0xf6,0x5b,0xf9,0x6f,0x63,0xf5,0x4c,0x08,0x56,0x87,0xa5,0x02,0x75,0x0e,},"\x3e\x8e\xe7\x0e\x51\xe5\x6e\xf5\x7f\x6e\x66\xb3\xa8\x84\xaa\x04\xa7\xb4\xd4\x59\x9f\xb9\xb4\x39\x96\xb3\x93\xa8\x68\x09\x35\x12\xea\x74\x1a\x0c\x6a\x94\xf4\x0c\xe4\x98\x62\xd2\xfd\x1f\x75\x51\xf4\x64\x7a\xbd\x80\x75\xbc\x1b\x74\x2a\xd4\x0e\x29\xa6\x04\x61\x30\x12\x24\xfe\x8f\x76\x92\xb1\x47\x72\x78\x2b\x4e\x89\x6b\x63\xfe\x05\xab\xd5\xff\x53\x14\xf9\xec\x80\x75\xf2\x8d\x90\x8c\xca\xaa\xce\x5e\x90\x5e\xa7\xf5\x7a\x49\x1b\x99\xb3\x59\x1e\xea\x54\xa6\xb7\x81\x91\x67\x74\x9d\x38\xa0\x47\x62\x06\x76\xa1\xa7\xaf\x11\xf4\x85\xa5\x5b\x7c\x87\x9e\x68\x50\x38\x08\x58\xc8\xf4\x5c\x0c\x1c\xcb\xd7\x40\x6e\xd0\x99\xd8\x4a\x74\x71\xb9\x35\x0c\x4d\xdb\x28\x47\x0b\xf5\xbf\x32\x7d\x5b\x3c\x22\xd8\x99\xb4\xc6\x60\x83\x9e\x10\x4a\x06\x22\xae\x85\xc8\x4a\xa9\xfc\x7f\x0a\x2c\x7c\xeb\x6e\x69\x1c\x49\xc0\x64\xb5\x31\x34\x99\x68\x3e\x8e\x03\xb2\x11\x5e\xda\x7d\xda\xd5\x5a\x49\xf9\xfb\xe6\x25\x44\xf9\x14\x51\x1c\xfb\xec\x6b\x84\xdb\xde\x7e\x80\x90\x9b\x45\xfb\x10\x50\x2e\x2c\xaa\xa7\x21\x24\xfd\x94\x56\xa3\x87\x2f\x95\x92\x70\x7e\x9a\x4c\x50\x12\xda\xa9\x72\xea\xf6\x5f\xab\xe5\x53\xde\xbe\x82\x57\x01\xef\xef\x5c\x75\x6b\xb4\x65\xe9\x66\xab\x68\xdd\x52\xf3\xdd\x00\xa4\x5c\xf6\xdc\x3f\x19\xb8\x6b\xb0\xdb\x4a\x86\xe4\x66\x98\x85\xa0\x74\x69\x6a\x67\xd8\xea\x21\x18\xc7\x66\xef\x62\x5f\x8a\x98\x02\x6f\x9f\x4a\x3c\x5c\xcc\xf9\x84\x6f\xdc\x90\xed\x93\xec\x7c\x1f\x3c\x70\x86\x95\x4f\xa2\xf0\xa4\xca\x96\xd4\x01\x84\xaa\x57\x54\x55\x27\xa1\xf9\x65\xc1\x1d\x84\x3c\x90\xc5\xa5\xe0\x8d\x7c\x11\xf2\xd5\x61\x00\x4e\x90\x57\x48\x52\xeb\x50\x46\xaa\x1e\xa7\xb6\x10\x09\xfd\x5d\xd7\xd6\x24\x2a\x8d\xf5\x8a\x9e\x8e\x55\x5c\x7f\x4c\xdc\x13\x0d\x69\x01\xbf\xe6\x79\x7f\xdc\x6c\x39\xbe\xec\xfb\xba\xb6\x62\x5b\x2e\x4f\xb9\xd8\x00\x02\x76\xd4\xa9\x4f\xc6\xfc\x10\x51\xfe\xff\xf5\xad\xeb\x72\x4b\x87\x09\x0d\xb0\xa2\xc6\x97\xd0\x56\x66\x4d\x99\x1f\xad\x80\xdc\x80\xfa\xb7\x00\xb1\xf1\xf2\xee\x27\x73\x4e\xbc\x26\xb2\xa6\x41\xc3\x2a\x0c\x91\x1b\x27\x0a\xc7\x6b\x0d\xa5\xc0\x89\x14\x97\x1c\x91\x12\x46\x3a\x70\x70\x9c\x0d\xda\xc7\x91\x00\x16\xf9\x13\xf6\x21\x00\x86\xd7\x25\x5c\xef\x11\x95\x57\x10\xf6\x51\x88\x9c\x83\x62\x1d\xd8\xa4\xfc\xd5\x36\x63\x02\xd6\xc9\xb5\x6e\xef\xcf\xac\x85\xc1\x4a\x94\x78\xb6\xd7\x18\x07\x54\x28\x80\x07\x60\x51\x5c\xab\x5f\x3d\x44\x55\xe2\xb9\x70\xdf\x9f\xe4\xbe\x83\x83\xd7\x04\x83\xbb\xdd\x75\x60\x71\xf5\x3b\x2f\x9c\x27\x5c\x7c\x85\x12\xd1\x63\x51\x8f\xe5\x55\x83\x75\x14\xc8\x67\x76\xc9\x47\xf2\x9a\x77\x57\x02\x87\x44\x6b\x69\xbe\x40\xc8\xd4\xab\xbd\x65\xef\x25\x07\x24\x9b\x5a\xec\x33\xac\xb7\xb8\xbd\x3f\x35\xbc\x85\x9b\xa4\xe3\x7b\xdb\x49\xcf\x91\x3d\x93\x98\x9c\x44\x38\xd2\xab\xcf\xa3\x88\xcc\x89\xd7\x8a\xc0\x62\x70\x65\x64\x92\xe7\x52\x8f\x29\xbd\xfe\x8c\xbb\x9b\xfa\x9e\x73\xc1\xda\x01\x3f\xc3\xce\x21\x05\x65\x76\x13\xff\x62\xbb\x0c\x3b\xf4\xde\xe3\xb0\xd2\x65\x9c\x72\x6e\x7b\xcd\x9e\x97\xec\xce\x92\x47\xd4\x60\x0d\xfe\xaf\x60\x44\x4e\xd8\x62\xb0\x0b\xa1\x1e\x70\xea\x88\xd4\xf0\xb6\xb5\x39\xfc\x9f\x36\xbb\x2a\x1a\x9e\xd2\xb3"}, -{{0xe9,0xd4,0x86,0xc2,0x9a,0xe8,0x11,0xb9,0x42,0xe1,0x0d,0x81,0xf0,0xa6,0x71,0x63,0x17,0xb8,0x42,0xc2,0xc5,0xbf,0xde,0xf5,0x5c,0xc4,0x32,0xb7,0xfc,0xae,0xb8,0x18,},{0x43,0xa5,0x2d,0x15,0xb9,0xf7,0x31,0xd7,0x37,0xb1,0xc4,0xdb,0xc3,0x22,0x27,0xa4,0x80,0x96,0x30,0x91,0xd2,0xc6,0x28,0x6f,0x48,0x2e,0xf1,0xe8,0x36,0x70,0x54,0xe5,},{0x65,0x19,0x1a,0xa8,0x85,0xdd,0xab,0x9f,0x67,0x27,0x18,0x79,0x95,0x2f,0xc6,0xaf,0xfe,0x41,0xca,0x20,0xeb,0x3b,0xcd,0x86,0x67,0x31,0x61,0xb0,0x3b,0x53,0x26,0x94,0xd6,0xdd,0x88,0x90,0x8e,0xb1,0xb1,0xee,0xc0,0x03,0xcf,0xcb,0xe6,0x14,0x6b,0x45,0x38,0xe2,0x1d,0xf5,0x59,0x69,0x91,0x2a,0x0d,0x7d,0x88,0x18,0xad,0x79,0x59,0x0d,},"\x14\xfe\x1e\xd5\xbb\xbd\x76\xcc\x73\xdc\x56\x50\xbd\xa9\x2d\xe8\x63\x26\xe2\x4d\x2f\x1f\x62\x24\xba\x85\x68\x94\x4d\x6f\xe3\x44\x26\x75\xdb\x96\xf1\xd8\x49\x8f\x16\x34\xff\x9b\x6e\x50\xcb\xa9\xdb\x4e\xb0\xb0\xb0\x21\xb2\xbe\xcf\xce\x4b\xef\x33\xc4\xce\x0e\x32\xc8\xa9\x83\x89\xec\xa9\xe0\x59\xa6\x62\xd6\xf0\x37\xc5\x4a\xa4\x0c\x76\xcd\xee\xe8\x56\x50\xf0\x89\xea\x56\xe1\x38\x3a\xb0\xf5\xc3\x6f\x6d\x66\x45\xff\x7e\x87\x66\x73\x01\xf9\x44\xfd\xc2\xed\x35\xb0\xd2\xc3\x5c\xb2\xe4\xb4\x56\x36\xe7\x49\x8e\x92\x7f\x58\x46\xb3\xe1\xed\xfb\xd1\x60\xa4\xae\xf3\x32\x0c\x34\x28\x49\x6b\xda\xaf\x7d\x3e\xd5\x6e\xf0\xb7\x25\x4a\xc5\x97\xbe\x58\x9a\x70\x58\x44\x16\x30\x0c\x1a\xdc\xfb\xa4\xf2\x2c\xfd\x4c\xd6\x61\xe1\xf5\x0f\x15\x5d\x17\x2f\xa5\x74\x8d\x29\x6b\x29\xcd\xd7\xeb\x81\x21\x48\x3f\xf1\xd9\xfe\x95\x3f\x94\x51\xc7\xc7\xa5\x42\x00\x72\x85\xee\x72\x46\xbc\x0f\xde\xa9\x38\x81\x40\x29\xab\xce\x05\x7a\x0e\xcb\x97\x4b\x12\xd3\x60\xea\xb6\xaf\xd3\x07\x97\xd6\x14\x45\xad\x2b\xac\x7e\x52\xbc\xe4\x34\x63\x15\xf7\x8e\xb8\x75\x42\xd5\x95\x28\xb2\xf6\xc5\x6d\x66\x24\x1c\xb4\x42\x03\x3f\x64\x3d\x3d\x2a\x67\xcb\x63\x7d\x8d\xa9\x5d\x4f\xd1\x23\x4b\x03\x1a\x3e\x51\x72\x3a\x1d\x26\xe6\xf5\xca\x07\x98\x73\x21\xad\x11\xa9\x0f\xcc\x1d\x4e\x2b\x0b\x89\x66\x50\xc3\xa7\x51\x8d\x56\x55\x29\xbe\xa8\x06\xa0\x5d\x44\x7e\x08\xd2\xa6\xa3\xdb\xf1\xa3\x69\x15\xb2\x95\x7c\xa5\xb4\x0e\x58\xb9\x7a\xd0\x36\x97\x35\xc4\x28\xbd\x6d\x69\xbd\x21\x00\x44\xb6\x51\x41\x8d\x98\xb0\x59\xd9\x0c\x83\xe4\x60\x11\xf4\x1c\x03\x2c\x56\x55\xa5\xef\x21\xac\x2c\x8c\x2b\xc9\x4b\xe0\x7e\x45\x42\x6a\x7a\xe5\xd4\x7b\x45\xf2\x7c\xf4\x28\x9c\xa4\xdd\xab\xe0\x8a\x12\xb9\x10\x20\x7d\xab\xb3\x4a\x46\xab\x75\xce\x69\xb5\x8e\x7e\x17\x66\x4b\xf3\x35\x9a\x8f\xb6\x8e\xb0\x32\xc9\xea\xa6\xdf\x87\x38\x29\xf0\xe0\x84\x85\x53\xf7\x32\xe1\xc3\xc0\x84\xb3\x2b\x7a\xf7\x50\x74\xe7\xbb\xaa\x4e\xb5\xd7\xea\xd7\xaf\xf9\x75\x80\x10\x9b\x60\xf4\xc7\x92\xf9\xe2\xa6\x51\x37\xb0\xaa\x48\x17\x5b\x81\x15\xd9\x13\x05\xf4\xc7\x7e\x2d\x08\xe7\xe8\xd7\xe7\x78\x5c\x96\x68\x42\xc2\xe3\x50\xfe\xd4\xf9\xe3\x3b\xf6\xe1\x84\xc5\x50\xb4\xb0\x6e\x95\x74\x14\xed\xf5\x2f\xa0\x79\xe8\x19\x73\x45\x84\x61\xfb\xb9\xb7\xd7\xd3\x4b\xef\x15\x03\x57\xf4\x32\xca\xac\x3a\xe9\xf3\xdc\x96\xeb\x5a\x2d\x12\x3e\x09\xed\xa1\x70\x2e\x1d\x10\x70\x17\x7b\xb2\x20\xc4\x23\xc0\x96\xec\x24\x42\x43\x85\xc6\x79\xbe\x02\xef\x84\xd0\x9e\xd1\x02\xf4\x9c\xad\x3b\x1f\xd6\x70\x67\x9a\x39\x71\x4f\xf1\xd6\xe4\x22\x8d\x8d\x7d\x0e\x19\xed\x0e\xba\x13\x2f\x21\x28\xd4\x7b\xaa\x56\x9a\x8e\xcb\x7b\xd4\x8a\x82\x62\x82\xf9\xcf\xcb\xf6\x0d\xde\xce\xaf\x1d\x02\x13\x2c\x8a\xff\xed\x3a\x03\xd2\x34\x0d\xeb\x78\x7c\xd6\x49\xc5\x1c\x6e\xcb\x9f\xf7\x5d\x7a\x7b\x4e\xf9\xb1\x51\x39\xcf\xea\x27\x62\xab\x18\x61\x51\x97\xa6\xb5\x1f\x6e\x75\xdb\xd0\x45\x73\xa2\x44\x80\x94\xd0\xcd\xeb\x0f\xe4\x58\x58\x83\xff\x9b\x68\x82\x4a\x04\xb8\x3e\xc9\x1c\xf8\x4a\xcd\x6a\x74\x46\xcb\x1f\x5e\xe3\x7d\x5d\xf8\x0f\x17\xcb\x2b\xdc\x3f\x31\x22\xa8\xfa\xf7\x6e\xbd\x06\xcf\xe8\x17"}, -{{0xe6,0xfa,0x10,0xdb,0xb4,0x78,0xe1,0xe3,0x6b,0x35,0xdf,0xeb,0x02,0x50,0xf6,0x3c,0x08,0x51,0x50,0x70,0xae,0x79,0xb2,0x2f,0x04,0x7e,0x27,0x17,0x08,0xd6,0x4f,0x5c,},{0xe0,0x2e,0x1f,0x2b,0xd8,0x79,0x2e,0xf4,0x83,0x48,0x1c,0x6d,0x11,0xf7,0xc7,0xc9,0xdb,0xde,0xec,0xc9,0x85,0x94,0x32,0xe7,0xf2,0x79,0xe9,0xd1,0x73,0xd3,0x11,0x64,},{0xc0,0x3c,0x47,0x03,0x59,0x12,0x7e,0x9d,0xe3,0xaf,0x0e,0x0e,0xd7,0xd3,0xb1,0x9f,0xae,0xe0,0xec,0x14,0x0b,0x79,0xc2,0x99,0xe2,0xcb,0x6d,0xac,0x0a,0x3e,0x7e,0x31,0x41,0x41,0xcc,0x85,0x4b,0x45,0x96,0xce,0x4c,0x51,0xc7,0xb0,0xde,0xc8,0xa5,0xc8,0xcf,0x09,0x36,0x20,0x53,0x61,0xd5,0x36,0x5f,0x4b,0xcc,0x07,0xc4,0x28,0x7c,0x07,},"\xad\x31\x60\x75\x8d\x8c\x08\xa6\x61\x52\x5c\x95\x28\x0a\x37\x18\x87\x49\x69\x85\x9f\x1c\xc9\x18\xe3\x4f\xec\x00\x8a\xcf\x23\xb8\x89\x6e\x8d\x50\xc3\xc0\x51\x23\x31\xdc\x89\x78\x0f\x8b\x10\xfc\x34\x9c\x67\x5c\x4c\xd8\x2a\x5d\xf8\x58\x6b\x43\xc8\x64\x44\x8f\xac\x00\xb8\x47\xb9\xc9\x80\x54\xab\x79\x3f\x63\xc7\x1a\xa5\xe5\x24\x8e\x22\xd0\x69\xbd\x3f\x85\x2a\x3b\x8c\x6e\x2a\xc8\xef\x86\x1d\x90\xbc\xd9\x84\xbf\xca\x87\x58\x3e\x59\xe9\xa7\x46\x8f\x29\xb8\x08\xdc\x2f\xe5\x30\x2a\x98\x9d\x6f\x2e\xcd\xe7\x58\x5c\xd9\xbe\x4e\x4c\x76\x1c\x4d\x4b\x3e\xea\xf4\x69\x9f\x65\x56\xef\x03\x9a\xf2\xb8\x0f\x94\x07\x60\x5a\xc3\x97\x35\x1d\xd8\x55\x95\x58\x44\x95\xba\xa1\x77\xb0\x8c\x88\xd2\xec\x1f\xc4\xe3\x2d\x1c\x0b\x8d\x7e\x7a\xc5\x83\x9d\xfb\x92\x3f\x09\xb3\x23\xe7\x8e\xce\xb7\xe9\x6c\x06\x04\xb0\x1a\x19\xe4\x9c\x9b\xea\xf4\xf2\x5e\xc4\xa8\x4c\x1a\x08\xf2\x38\x0e\xdd\xc3\xa7\xf0\x12\x18\x49\x59\xcc\xd1\x9e\xcb\xba\xc6\x5e\xac\xa1\x55\xce\xe9\xec\xfe\xc1\x1e\x7f\xee\x05\x8e\x17\x4f\xc4\xed\x7c\x67\x9f\x2c\x15\x63\x1d\x4e\x15\x27\xbc\xdb\x0e\x3b\xb0\x81\x5f\xfd\xff\xc0\xc8\x56\xbe\xf0\xdc\x0f\x5c\x82\x37\xf7\x09\x8e\x26\xbd\xb6\x9e\x87\x82\xd1\xca\x51\x11\xec\x3c\x7e\xdb\x42\x5d\xff\x80\x32\x02\x6c\xba\x3d\x2e\x08\x1b\x71\x31\x0d\xb9\xba\xda\xd1\xad\x02\xf1\xec\xcc\x53\x7d\x87\x4c\xd1\x8c\x6b\xb0\x12\x21\xf7\x1e\xe6\x62\x50\xd9\x4c\xf8\xec\xce\xaa\x96\xd3\xc5\x7e\xea\x2b\x0a\x8e\xc7\x24\x29\xd7\x60\x64\x88\xbd\xf1\x9e\xc3\xbb\x16\xe5\x08\x67\xc7\x93\x7d\xef\x09\xfc\x78\x3f\x20\xa2\xa5\xec\x99\x25\x3d\x6b\x24\x0d\xf4\x67\x7d\xd2\xd5\x27\x7b\x01\xc5\xb8\xe5\xbd\x6c\x7d\xf0\x87\x42\x05\xbc\x8c\x2f\xff\xdb\xa1\x31\x46\x74\xd3\x1c\x9b\x2c\x91\x99\x22\x8e\x19\xe0\x42\x18\x34\xc1\x65\x7d\x06\x98\x28\x69\x16\xc7\xe3\x92\xf0\xab\xd5\x54\x5b\x96\x3a\xc1\xff\xa9\x97\x21\x61\x6c\x23\x79\x6f\x85\xc3\x4a\x5c\x66\x4a\xe8\x1d\x16\xb2\x16\xa5\xb0\xcf\x5b\xc6\xb5\xa9\x08\x29\x72\x85\xd6\x16\x44\x12\x8f\x88\x6f\x38\xaf\x9e\xdd\x25\x19\x3d\x7e\xcc\x77\xa7\x99\x94\x27\x8d\xa0\x71\xf5\x44\x95\x93\x7f\xee\xf5\xa5\x19\x57\x52\x7c\x3e\xec\x7c\xb0\xb4\xe8\xaa\x7a\x4e\x85\x6d\xef\xd5\x7d\xd9\x23\x34\x15\x1b\x98\x6a\xa6\x9c\xa6\x92\x60\xd1\xe2\xd7\xb5\x3c\x05\x67\x7e\xe0\xd2\x16\xb2\x8d\x03\x62\x52\xdd\x30\x06\xde\xbe\x1b\x65\x74\xa2\x5e\x6b\x19\xdf\xb4\x8f\xa6\x43\x16\xaf\x8f\xd6\x8d\x78\x93\xb3\x97\xe7\xdb\x57\x80\xab\x27\xbf\x87\x26\xff\xf6\x05\xd3\xb4\x6d\x80\x05\x95\xb4\x62\x4b\xee\x30\x2c\x96\x43\x26\x03\x4b\x52\x34\xd1\x75\xdf\xdc\xc2\xce\x88\x2e\x65\xb3\xd9\x3a\x04\x38\xf6\x92\xe9\x69\x5d\xe1\xf2\x4c\x70\xa7\x9b\xee\xd2\x54\x15\xec\x5a\xae\xcf\x33\x91\x95\x3b\x2f\xfd\x45\x3a\x8f\x04\x67\x56\x1a\x4a\x47\xee\x14\x4a\x43\xfd\xff\x83\xdf\x2b\xea\x5f\x66\xa7\x22\xb5\x2a\xbe\x86\x13\xf2\x0c\x59\x4a\xf0\x98\x2e\xb3\xf0\x45\x05\xa5\x24\x61\xdd\x03\x4d\xa8\x6c\x36\xca\x16\x21\x77\x05\xc0\x48\x23\x91\x1d\x72\xa2\x47\x69\x51\x76\x33\x56\x28\x86\xf2\x50\xf2\xcf\x78\x8b\x8f\x32\x86\x4a\x94\x74\xf5\x7e\x62\xe5\x7d\xe8\xfd\xaf\x95\x9a\x6b\x72\x28\x74\x40\xa8"}, -{{0x05,0x8e,0x36,0x80,0xb8,0xfc,0xc0,0xaa,0x14,0x90,0x08,0x9c,0x11,0x24,0x67,0x7f,0x98,0xd7,0x4b,0x1b,0xfb,0x71,0xee,0x86,0x63,0xf0,0x25,0xf0,0xd9,0x46,0xcd,0x20,},{0xec,0x72,0xce,0x0e,0x82,0xc6,0xa3,0xb2,0x12,0x43,0xd2,0xf0,0x0e,0x9e,0x88,0x3a,0xdb,0xc5,0xcb,0x63,0xb3,0xd9,0x36,0xef,0xa5,0x0c,0x07,0xcb,0x92,0x91,0x48,0xe2,},{0x57,0x34,0xec,0x50,0xa7,0xf8,0x2e,0x48,0x53,0x6b,0xdc,0x43,0x70,0xcf,0xef,0x2e,0x15,0x0a,0x63,0x1d,0xab,0xaf,0x89,0xed,0xcf,0x0f,0xda,0xbe,0x4f,0x58,0x39,0xf4,0xf5,0xfb,0xd8,0xdf,0x8e,0xc4,0xa3,0xac,0xd4,0x0a,0x8b,0xfb,0x96,0x3d,0x18,0x55,0xff,0x92,0x74,0xdb,0xc3,0x31,0x65,0xb5,0xe6,0xd3,0x7a,0x23,0x9d,0xac,0xe9,0x03,},"\xe6\x3d\x14\xf5\xbe\xa7\xa1\xab\xb8\xfe\xe6\x97\x74\x6c\x22\x80\xdf\xd0\x62\x2d\xe7\x35\x72\x26\xcc\x07\x42\x72\x2a\x32\x29\xbe\x12\x6b\x08\x3e\x86\x8a\xea\xf0\x7d\x2f\xc9\x7a\xdc\x33\x42\x70\x96\x74\x19\x3c\xa2\x81\x74\x4e\x85\x0e\xa1\x54\x40\x05\x0a\xec\x93\x0e\x45\xd7\xa8\x7b\x8a\xc8\x01\x5c\x89\x67\xc2\x00\x33\xa5\x32\xd2\x95\x91\xb1\x35\x58\x6c\xe0\xfd\xd2\xe6\x68\xb5\xc8\x64\xb3\xbd\xe7\x0c\x7e\x71\x9a\xd2\x41\x93\x12\x51\x86\x19\x33\xff\xbf\xa9\x64\x83\xff\x82\x85\x67\x48\xc5\x6d\xc2\x6e\x25\x7d\x69\x2e\x51\x34\xd8\x2f\xc7\x19\x1c\x11\x0d\x95\x90\xd3\xfc\x75\x1c\xd6\x36\xb0\xc4\x6f\x44\xf8\x80\x3e\x59\xe2\xf9\x3f\xa0\xcb\xe2\x47\xa1\xa6\x25\xb4\xbc\x2c\x7b\x1f\xdc\xeb\x5a\x2b\x22\x59\x1f\xa6\x13\x7c\x54\x04\xdf\xec\x6a\x69\x63\x9e\x3f\x63\x2b\x59\x76\xab\x9f\xe1\xc6\x3a\xa3\xda\x9d\x52\xb0\x44\x00\x8f\x3a\xe4\x4b\x7c\x36\x4f\x08\x56\x64\x32\x3a\x88\xeb\x45\x83\xe8\x71\x40\xf7\x63\x78\x2b\xff\x88\x19\xcf\x74\x1a\x87\x5d\x50\x6c\x92\x9d\x34\xbb\xd4\x30\x07\xde\x4b\x18\xf6\x87\xa7\x58\x11\x11\x28\xb1\xdb\x86\xfc\x5a\xd2\xfb\x9f\xca\xd1\x2c\x9d\xd2\x8f\xee\x5a\xd1\x0d\xe0\x73\x9f\x8e\xfd\x9b\xff\x66\xf8\x40\xb1\x1b\x3f\x91\xc5\xe0\x7c\x21\x45\x2c\xab\x24\x24\x2b\x6e\x32\x16\x5c\xd1\xe6\x95\x72\xbf\x21\x6e\x86\x04\x53\xda\xd2\xfd\x12\x9c\x33\x37\x58\x58\x0b\xb7\xd0\xf1\x95\x09\x74\x5e\x85\x14\x63\xd1\x27\xa5\xf9\xbe\x21\xfe\x54\x9c\xae\x55\xd5\x6b\x8b\xea\x80\xbf\xaf\xda\xc1\x0a\xcd\x83\x8e\xa8\xaf\x31\xc0\x07\xdc\x32\xbf\xd7\x40\x82\xd9\x11\x0a\x3e\x91\xe6\x1e\x03\x57\x58\x7e\x4e\xd3\x28\x27\xad\xe9\xb6\x91\x0a\x98\x8c\x1d\x3b\x2d\xd2\x2c\x0e\xe7\x6e\xf3\x5f\xe1\x5e\x09\x94\x04\xa4\x5d\x4b\x2a\xca\xb9\x12\x3e\xcc\x45\x55\x0a\x40\xfa\xf8\x33\x6b\x46\xc6\x30\xa9\x08\x03\x58\xff\x8b\x8e\x58\xaf\x0b\xcc\xbd\x35\x01\x0c\x1e\xcc\x12\x81\x66\x55\xa5\xec\xeb\xa9\x5a\xd3\xf5\x03\xa1\x8e\xc5\xbe\xce\x3a\x33\xf4\x69\xdf\xe9\x17\xe1\xc5\x5e\xf1\xd8\x1e\x5a\x75\x56\x1e\x6b\xbd\x99\xc6\x53\xa6\xd0\x95\xb9\xf3\x87\x91\x1e\x40\x33\x2f\x62\x16\xf9\x56\xa3\x5c\xf7\xd9\x9a\x9f\xdd\x0c\x44\xc5\x1e\x90\xa5\x64\xf1\xc3\x6b\xf3\xd4\x0a\x7f\xaf\x4b\xa2\x8b\x1a\x12\x0b\x32\x05\xfb\xac\x1a\x98\x56\x92\x90\xbe\x37\xc5\x8b\xbd\x74\x5c\xe0\xfb\x74\x83\x52\x70\xab\xa2\x25\x2a\xda\xec\x15\x7d\xc4\x24\x61\x22\x1a\x2c\xff\x68\x7b\x9e\x65\xce\xb5\x7c\x2d\x77\x70\x0a\xea\x63\x20\x48\x6c\x5b\x1b\xec\x9c\xc5\x3e\x7e\xf9\xe4\x8f\xcd\x1b\x77\x83\xac\xbe\x75\xa6\xbe\x02\x67\x27\x88\x12\xdb\xf3\xd2\x57\x6c\xf7\xad\x39\x11\x27\x1a\xce\xbe\x0f\x2c\x04\x60\x2a\x08\x0c\x8b\x96\xc1\x20\xfd\x86\xfd\xa2\x82\xaa\x4e\x1c\x13\x1f\xe9\x7c\x90\x7c\x15\x85\x5f\x87\x75\x5f\x51\x1c\x03\x7b\xef\xad\x0f\x56\xb3\x9f\x32\xa2\x13\x3a\x22\xf3\xd5\xa9\xbe\xc3\x44\x3f\x29\xa6\x94\xe9\x7f\xe0\x5e\x10\xfb\x8e\xf9\x99\x13\x02\xb9\xe0\xd8\x4d\x92\x9a\x19\xeb\x03\x47\x1f\x3a\x86\x13\xd3\x93\x68\xe1\x58\x83\xa7\xe4\x97\x0b\x53\xcb\xaf\x29\x29\xd8\xde\x43\x1b\x48\xb4\x35\xd7\x53\x3c\xaa\x2e\x36\xce\xab\x6c\xdd\xb3\x46\xe5\x35\xe5\x15\xc4\xb3\xdb\x76\xde\x07\xd9\x85\x54\x14"}, -{{0x51,0xba,0x3a,0x4f,0x3d,0x85,0xd1,0x54,0x8c,0x2f,0x24,0x94,0xa3,0x51,0x1f,0x3b,0x95,0x15,0x66,0x3d,0x7e,0x85,0x37,0x0f,0xb6,0x15,0x02,0x37,0xe9,0xbc,0x98,0x0b,},{0x77,0x49,0xde,0x02,0x10,0xbc,0xe0,0x6d,0x48,0xf5,0x9b,0x95,0xae,0xb1,0x52,0x8f,0xd9,0xb4,0xe5,0x2c,0xdd,0xe2,0x2f,0xb8,0x19,0x3b,0xed,0xd5,0xdf,0x12,0x81,0x7c,},{0x16,0xfb,0x29,0x0c,0x91,0x3b,0x20,0xeb,0x1c,0x3d,0x7b,0x79,0x82,0x49,0xeb,0x84,0x59,0xd4,0xbe,0xe8,0x12,0x5d,0xb2,0xb3,0xf1,0xda,0xab,0x8a,0xf9,0xd9,0xa7,0x00,0xed,0x79,0x8a,0xdd,0xd8,0x02,0xdf,0xcd,0x29,0x7a,0x41,0x25,0x93,0xcd,0xa7,0xbe,0x99,0x79,0xa1,0xf0,0x93,0x50,0xe8,0x6f,0x69,0x8a,0xc3,0x38,0x0e,0x34,0x1d,0x07,},"\xd1\x8d\x0c\xbf\xc1\x6d\x0f\x9b\x67\xf2\x53\x9a\xd6\x20\x7c\xd9\x21\x7a\xd5\xed\x03\x33\xcd\xdb\x10\x41\xe0\xac\x2b\xdd\x92\x02\x76\x62\x96\x52\xb4\x9c\xbc\x98\x02\x59\x3e\xc3\x64\xea\x79\x5a\xbc\xd1\x58\x20\x85\xf5\x5b\xc6\x6c\x48\xfd\x3e\xed\xe6\x18\xd6\x36\x96\x17\x10\x0e\xae\xcc\xc1\x5f\x24\x9d\x6e\xee\x5b\xb2\xc4\x3c\x01\xb0\x62\x3f\xe6\x03\xce\xee\xe4\x9b\x40\xfb\x7c\x53\xfc\x68\x47\x36\x73\xc0\x9b\x1a\xc7\x7e\xa9\xbe\xb7\xe8\x53\x03\x79\xa8\x6d\x69\xec\xd1\xff\x11\x81\x3f\xbb\x88\xf6\x92\xf0\x5e\xf1\x32\x07\x42\xb4\xfe\x7e\x06\xd5\xba\x71\x65\x66\x46\xcd\x75\x00\xde\x19\xbb\x93\xd8\x44\x53\x66\x03\xf4\x0b\xd4\xae\xea\xf0\xc4\xdb\xc0\xac\xfd\x20\x2b\x28\x6b\x64\xaf\xb8\x3d\x4a\x37\x8d\xd4\x5e\xe3\xc1\xdf\x6b\x3e\xf1\x6b\x8b\x1a\xcc\xbc\x04\x06\x32\x50\xec\x47\xb8\x6a\xe5\xa7\x1d\x1d\xab\x38\xb5\xeb\x80\xd6\x63\xfa\xa7\x88\xf8\xb5\x9a\x75\x4c\x0f\x9c\x9f\x6d\x90\x62\x52\xaf\x46\xab\x1f\xff\xed\x27\x6d\x23\x88\xdb\xe7\x0d\x96\xba\x67\x47\xd1\xfe\xd4\xfc\x0b\x55\x29\x3d\x5f\x78\x7b\xda\x0c\x0d\xf4\x6a\x73\xf4\xaa\x7d\x29\xe1\xc9\xcc\x85\xcd\x04\x3e\x3d\xff\xe0\x57\x46\x2c\xa5\xfe\x5c\x64\x70\xe7\x39\x27\x6f\x8b\x53\x4c\x01\x72\xe4\x60\xf3\x40\x48\x7a\x56\x94\x68\xaa\x58\x90\xcc\x14\xf2\x0d\x67\xd7\x9c\x66\x1e\x87\xfe\xba\xc6\x27\x59\x71\xc3\x73\x08\x07\xeb\xf1\x75\xe0\xde\x10\x49\xbe\xe6\x7c\x89\x5e\x57\xb7\x1a\xb8\xa2\xf3\xcf\x36\x41\xfd\x54\x8d\x09\x41\x4f\x5f\xc3\x02\x6a\x0a\x35\xf6\xba\x95\x16\x73\x94\x49\x41\xcb\x23\x6f\x3d\x19\x76\xdc\x69\x07\x7d\x95\x14\x50\xe7\x66\x03\x16\x98\x8f\x6f\x2a\x6f\xbb\xff\x3b\x37\xce\xaa\x02\xfd\x6f\x02\x73\xbd\x80\x31\x85\xa1\x09\x03\x9c\x63\xf2\x51\x9b\x98\x3d\xaf\x65\x54\x25\x3b\xed\x54\x97\xc0\xb0\xbd\xaa\x0b\xd4\xa1\xfa\xc9\x00\x26\xad\xe3\xe4\x0c\x55\x4c\xff\x2c\xcb\x36\x99\x0e\x71\x55\x67\x08\xc5\xc4\x03\x92\x56\xff\xc7\x33\x7e\x5f\xea\x11\xf5\xe9\x0d\x3e\x4d\x93\x35\x91\x79\x11\x6a\x85\xc2\x41\x36\xca\x34\x83\x5c\xd3\x40\x12\xe4\xd7\xdd\xc7\xb7\x21\xc2\x46\xc7\x37\x00\xe2\x76\xdc\x2f\xf9\xf2\x77\x0b\x43\xc8\xe8\x0a\x17\xf0\x1d\x32\x68\x0b\xae\x22\x8e\x64\x23\xa8\x80\xc3\xfb\x99\x6a\xb8\xd2\x21\xbc\x62\x74\xac\x5f\xa7\x70\xd2\x05\xfc\x87\x8f\xba\x9b\xbd\x77\x6a\x3d\x79\xed\x77\x04\x89\x50\xf3\x6d\xc0\xaa\x3c\xcd\x28\xe4\x75\x6a\x99\x19\x04\xae\x05\x1b\x8a\x4b\x7d\xe3\xa1\xf2\xad\x0f\xb4\x5a\x33\xd0\xc6\x82\x25\x84\x1f\x8e\xb6\x5b\x6a\x16\xe9\x5f\x89\x35\x91\xe1\xaa\x73\xa6\x4f\x0d\x2e\xe9\x38\xab\x69\xad\xcc\x8c\x59\x51\x8b\xec\x50\x1c\x39\xf1\x39\x17\x4b\xbb\x00\x69\x9e\x1a\x0f\x0e\x0d\x88\x9a\xae\x54\x3a\x55\xe6\xac\x56\xd5\x20\x4c\x1a\xde\x1f\x27\xd8\x2a\x6a\x95\xe1\x4b\x2d\x69\x09\xdd\xa7\xbf\xaa\x7f\x48\x7f\xb6\x19\x59\x01\x4b\x78\x79\x5c\xb4\x63\x9f\x09\xf0\xd3\x29\xfe\xb3\x5c\xcf\x52\xed\xc2\xdb\x72\x19\x14\xe4\x23\x30\x68\x89\xa4\x83\xfe\xe8\x76\x36\x0e\xe3\x26\x33\x53\x19\x07\x0c\x56\x4f\x3a\x8b\x95\x3f\x52\xf4\x15\x13\xa2\x26\x08\x83\xc3\x8d\xd9\x78\xa2\x48\x60\x4a\x41\xbd\x4b\xfc\x9e\x84\x18\x4d\xc9\xe8\x4d\x25\x89\xf4\xaf\xff\x84\x17\x82\x4c\xe5\xad\xba"}, -{{0x7d,0xde,0xc5,0x26,0xa4,0x97,0x1d,0x89,0x12,0xa6,0xbd,0x43,0xc6,0x9f,0x92,0xed,0x86,0x44,0x2b,0x15,0xf4,0x2f,0xba,0xbb,0xf2,0xd1,0x7e,0xff,0x98,0x99,0x31,0x61,},{0x0d,0xfe,0xff,0xb2,0x76,0x23,0x09,0xb4,0x73,0x4e,0x4c,0xe2,0x52,0x3c,0xf1,0x86,0x31,0x49,0xf7,0xe1,0x9a,0x7c,0x14,0x7e,0xc0,0x89,0x9e,0x11,0x0c,0xa9,0xd8,0x7d,},{0x9e,0x60,0x3b,0x01,0x5f,0x42,0x87,0x1b,0x78,0xeb,0x27,0x52,0x3f,0xbb,0x7c,0xe9,0x62,0xfc,0xa3,0x2a,0xe2,0x70,0xe8,0xe1,0x2d,0xca,0xdd,0x25,0xaa,0x85,0x2b,0x89,0x1f,0x6f,0xef,0x77,0xb5,0x9a,0x54,0x6c,0x9a,0x7a,0x7c,0xac,0xb5,0x5e,0x1d,0x32,0xad,0xc8,0x05,0xae,0x5f,0x61,0xa6,0x9e,0x67,0x64,0xc7,0xc0,0x82,0x92,0xeb,0x03,},"\xe8\x77\x4a\x45\xd4\xd8\xf8\x6d\xda\x5c\x08\x80\x2b\xa2\x47\x2e\xf3\xc8\xd3\x6c\x7f\x38\x3a\xc0\x46\x12\xa4\x64\x38\x2e\x9d\x6c\x07\xd8\xd3\x58\x22\xc5\x3f\x43\x88\xf5\x15\x36\x14\xfe\xfa\xf4\x63\x74\x74\x7b\x9d\x4f\xd4\x46\xa8\x64\x76\x9a\x4c\xad\xe8\x43\xc1\xea\xb8\x57\x43\x19\x11\x2f\x01\x79\xd2\xea\x9e\x3c\x19\x5d\xc0\x68\xf0\x69\x74\x62\xb9\xe0\x7c\x87\x94\x87\x0f\x8f\xb8\xff\xc0\x81\xe4\x58\x6a\xfb\xcd\xba\x7a\x4f\x59\x25\xe9\xfd\x9e\xc9\x42\xd8\x43\x47\x33\xc2\xdd\xd5\xe2\x9b\xbd\xfc\x73\x42\xb9\x28\x68\x71\x9b\x54\x40\x88\xa4\x8e\xba\x4c\x82\xf1\x87\xdd\xca\x8f\x47\x46\x25\xa7\x1c\xf6\xb7\xaa\x5f\x08\x1c\x74\xf7\x40\x8f\x53\xb7\x81\x63\x6e\x7e\x9d\x29\xb0\x7f\xdb\x6d\x9c\x35\xe5\xeb\x38\x2d\xb7\xa3\x1a\x8b\xa5\x16\x91\x5d\xf8\xde\xe9\xe1\xad\x3f\x18\x28\x43\x68\x3e\x8d\x1d\xc5\xd8\x66\x9d\xbf\xcf\x09\x54\x1a\x43\xc0\xa0\x46\x13\x38\x1a\x5b\x5e\x4e\x71\xb2\x3c\x5a\xd0\x9b\x8e\xaa\x51\xcb\x93\x8d\x0c\x75\x2c\xc3\xd3\xa1\x0f\x10\xb4\x2b\xe8\xee\x7f\x6b\xda\xc8\x07\x85\x68\x43\x49\x46\xbb\xf5\x6d\xa7\x0e\x7d\x54\x15\x7a\x6e\xfd\x48\x46\xeb\x15\x52\x78\xc9\x4c\x38\x88\x65\x8a\x7a\x2f\x8e\xa3\xba\xc1\x47\xaa\x89\x16\x92\xae\x8b\x23\xf1\xaf\xe7\x1e\xcf\xde\xca\xa6\xc1\x13\xb5\xca\xaa\xa1\x93\x98\xc7\xdf\xe7\x3f\xac\xb4\x15\x5f\xd6\xba\xc1\x8d\x5d\xf2\x12\x9e\x8b\x29\x07\xec\xee\x15\x1b\xdd\x14\x7a\x7c\x3e\x46\xea\x72\x75\x4d\xe3\x2c\xeb\x06\x6d\x9d\xb1\xc2\x6e\x80\xdf\x36\x31\x29\x2b\x16\x17\x4c\xfa\x6f\x1d\x9c\x08\x28\xb8\x49\xc2\x2d\x29\x65\x1a\x73\xe9\x10\xd9\x27\x58\x77\xf4\x64\xce\x93\x26\xc6\xe4\xed\x6b\x07\xdc\xb3\xa3\x53\x63\xc1\xaa\x64\x72\xe0\x2c\x5c\xd8\x55\xe3\x8a\xab\xe9\x65\xac\xe9\xf3\xf5\xa4\xf5\xde\x03\x00\x86\x94\xcb\x90\xaf\xe4\x16\xc9\xd4\x86\x88\xde\x7f\x75\xcf\xe2\x43\xff\x7f\x41\xe0\x59\x31\x09\x34\x90\x3d\xb5\x68\x84\x45\x08\x26\x2c\x89\x9d\xfa\x75\x0c\xd6\xa2\x82\x98\x24\xba\x02\x7a\xea\x1b\x6d\x01\x77\x72\x6a\x34\x3a\xdd\x4e\xcd\xc5\xf7\xe6\xe9\x09\xab\x7d\xe6\x15\xef\x28\x07\xf9\xe7\xd7\x1c\xe2\xf7\x8a\xcf\xf5\x7e\xba\x79\xc3\xf5\xe0\x7c\x8b\x66\x1c\x1e\x30\x27\xf8\x17\x6d\x28\xbf\xef\x76\x7d\xd6\x8d\x4e\x5d\x62\x8f\xec\x0b\xfe\x88\x79\x93\x41\xf3\x06\x12\x87\x34\xfa\xd2\x02\xaa\xfc\x9f\x11\x12\x3f\xb3\xe3\x63\xd1\x0a\xee\x0d\xb5\xe2\x7a\x15\x70\xdf\xae\xe4\x7e\x24\xda\x47\x3b\x07\xfe\xe5\x9a\x6c\x93\xf0\x98\x1d\xbe\x32\x5c\xd8\xcc\x2d\x2e\xd7\xdc\x17\x16\x6b\x26\x7c\x1b\x11\x05\x36\xf2\x63\x6b\xba\x34\x75\x1a\x78\xf7\xf6\x29\x81\x82\x44\x2d\x83\xc1\x23\xbb\xee\x4f\x50\xc5\xb0\xfa\xcf\xf0\x3e\x7c\x55\x6e\xd9\xe6\x4c\xa2\x7c\x4b\xca\x5a\xb0\xde\x0d\x5f\x9c\x2c\xbb\x54\xcc\x2d\x94\x73\xa3\x2d\xf9\x99\x39\x0a\xc2\xff\xee\xd3\xd4\xcb\xa3\x49\x73\xdc\xec\x3f\xba\xba\xfc\x4d\x54\xca\xe4\xe7\xe8\x5d\x4a\x6e\x8a\xfe\x45\xca\xcd\x71\xe0\xf2\xe6\xd0\x4b\x4f\x9d\x3b\xcf\x43\xd3\xfa\x41\xe9\x98\xcc\xbe\xd0\xf1\x50\xd5\xca\x1d\x52\x72\x93\x2d\x93\xec\xa1\x04\x95\xc6\x83\x34\xfa\x32\x68\xf3\x1d\xe5\x22\xcb\x12\xa7\x44\x9f\xfb\x5c\xb5\xe8\xf1\x46\x2c\xd9\xb5\x17\x70\xcc\xaf\x58\xb1\xe0\xd8\x2e\xf9\x29"}, -{{0x0b,0x65,0x90,0xdd,0x7c,0x2f,0x15,0xf9,0x4a,0x56,0xe2,0x40,0x16,0x93,0x63,0xc2,0x67,0x32,0x30,0x2b,0x9d,0x44,0x0b,0x53,0x27,0x23,0x00,0x2e,0x15,0x5d,0x02,0xd9,},{0xcd,0x18,0xe0,0x32,0x57,0x7c,0x55,0x76,0xf2,0x23,0xf3,0xe3,0xd8,0xa1,0xfa,0x8e,0x9a,0x87,0x0f,0xef,0x09,0xe9,0x40,0x9f,0xaf,0x40,0xd7,0x14,0x3e,0x52,0xfc,0x44,},{0x64,0x2d,0x81,0xac,0xf3,0x8c,0xf0,0x99,0xa8,0x33,0xa7,0x4f,0x2d,0x80,0xb8,0x54,0x48,0xec,0x2b,0x1a,0x5d,0xdc,0x64,0x47,0x0b,0x21,0x3d,0x54,0xb7,0xbe,0x61,0x33,0x68,0x9a,0x71,0x94,0xf5,0xd8,0x97,0x92,0xe1,0x6e,0x5d,0xf7,0x55,0xa4,0xfd,0x9e,0xf4,0x68,0x9e,0xa9,0x52,0x92,0x6e,0x0e,0x4e,0xcb,0x3b,0xd4,0x81,0xfd,0x91,0x02,},"\x71\xfe\x0f\xd5\x5d\x5e\xd1\x20\x6f\x28\xee\x16\xe4\x19\xfa\xb6\xfa\x66\xa2\x51\xfa\x6b\x06\x01\xda\x26\x1e\x42\x9f\x55\xb8\xd5\xae\x3f\x3c\x52\xa1\x7f\xe1\xec\x73\x4b\x81\x0a\xb6\x3a\xad\xe4\x44\x70\x39\xca\x0a\xe4\x68\x7c\x24\x35\xf5\x61\xe4\x6c\x5b\x30\x97\x17\xab\x31\xe0\xf6\x40\x76\xb2\x16\x92\x11\x57\x2b\x74\xe1\x8a\x1f\x45\x25\xa6\x4f\xa7\x17\xa5\xed\xf1\x49\x75\x81\x29\xcb\x04\x03\x5e\x7e\x20\xba\x40\x05\xb7\x48\x09\xde\xc6\x44\x50\x4c\x24\x54\xa7\x7f\x99\xb2\x0c\x53\x74\xf3\xce\xe7\xd8\xc6\xb6\x8b\x24\x3c\xaf\xb3\x00\x98\xdc\xe9\x04\x90\xfd\xc3\xb9\x2f\x54\x94\x8f\x42\x46\x39\xe1\x9f\x8f\x20\x20\xd1\x55\x13\xda\xef\xad\xd9\xe9\xb1\x2a\x84\x76\x1e\x5e\xce\xa0\x88\xad\x56\x1f\x06\x20\x9f\xd4\x42\x3f\xcd\x00\x3f\xbc\xd1\x87\x3e\xa5\x49\x63\xa2\xfa\x07\xc7\x47\x6b\x13\x88\xf9\x01\x5d\x9e\xac\x30\x5b\xea\x5a\x3d\xe1\x94\xf5\x5a\x17\xb4\x2d\x59\x9e\x5c\xe6\x2c\x8b\x7c\x19\xe7\xe7\x09\x61\x37\xb9\xd0\xa6\x5e\x63\xc1\xa3\xb8\x45\x38\xca\x65\x36\x9a\x20\xe8\x82\x2f\xff\x5e\xcb\x57\xfc\x09\xb4\xe6\x84\x5b\x4f\x24\xd4\x88\x69\x71\xac\x1a\xc2\x8c\x77\x58\x0e\xa5\x67\x2a\xd1\x4c\xe4\x44\x17\x19\xc2\x14\x54\x6d\x07\x36\xcb\x7a\xd0\xbd\x9f\xb5\xb2\x6c\x6d\x9c\x53\x6b\xf8\xc8\x57\xae\x42\x57\x7b\x36\x34\x1d\x39\x2b\x43\x32\x3b\xda\xe7\xdf\xaa\x49\x19\x86\x87\x2a\x23\xd8\x27\xc6\xef\x8b\x57\xe7\xd0\x0f\xea\xe3\x83\x4c\x46\x64\x00\xaa\xd1\xd3\x67\x82\x39\x84\xaa\x02\xd2\xef\x49\x29\x14\xae\x11\x27\xe7\x55\x1b\x81\x25\x59\x37\x83\x05\xe4\xfd\x52\xd8\xbc\x7e\x41\x57\xec\xca\x45\x1f\x43\xee\x9f\x54\xc8\x21\x53\xc7\xdb\xfa\xf7\xec\x35\x23\x87\x73\x05\x1b\x4e\x58\x7d\xb1\x36\x95\x7e\xc5\x71\x38\x2b\x90\x59\x0b\x5d\x10\x26\x02\x45\x80\x96\x6b\x72\x52\xd2\xcd\x3f\x4f\x16\x25\xc4\x85\xba\x90\x6b\xff\x17\x59\x92\x18\x89\x78\xf2\xd6\x27\x4f\x3a\x03\x17\x49\xba\x7e\x70\x2f\x56\x54\x7e\xdc\x96\xec\x26\x7b\x84\x89\x28\x80\xd7\x50\xd7\x31\x0e\xbf\x6d\xb2\x41\x25\x3c\xab\xe4\xb2\x5a\x97\x74\x58\xc6\xff\xc9\xe3\x53\xe6\x2a\xdf\x05\xe6\xef\xc0\xfc\x1e\xbe\x89\xf5\x27\x70\x5b\xcc\x26\xb7\x01\x28\x56\x10\xd9\x8a\xa3\xbf\x23\x87\x2b\x69\x96\xd3\xde\x48\x0e\x8d\x09\xd7\x83\xc4\xa0\x8c\xd3\x83\xc9\x01\x26\x35\xaa\x68\x97\x8b\x50\x06\x81\x8b\xbd\xe4\x4f\x29\x87\x47\x9b\xcb\x2b\x71\x1c\x1b\xee\xed\x27\xcf\x09\x97\x0a\x16\x4e\x45\x4f\x71\x08\x22\xee\xf5\x55\xc1\xc7\xbf\x9f\x76\xd5\x25\x4c\xe2\x20\xc9\xaa\xa7\x16\x84\x7a\x24\x94\x88\xf9\xcd\xb4\x4c\x48\xf4\x52\xab\x52\xc4\x0f\x6d\x03\xad\xc8\xbf\x3f\x19\x7b\x25\xe3\xd1\x27\x83\x0e\x74\xfd\x81\xeb\x14\xf7\x54\x20\x5b\x3a\x48\x44\xc5\x96\xb6\xe3\xa9\x93\x6a\xd6\xfd\x9e\x80\xa1\x63\x20\xb3\x81\xc3\xff\xc7\xb6\x9e\xab\x54\x53\x6f\x55\xab\xe2\x2c\x91\xd8\x98\x40\x8e\x88\x0c\x6d\xbf\x0f\xa5\x64\x8d\x51\x77\x72\xca\xa5\x35\x3b\x25\xdb\x60\x50\xd7\x53\xfa\xf1\x98\xec\x1d\x37\x5d\xe0\xfa\x72\x18\x0a\x93\xba\xb0\x3d\xed\x77\x16\xcb\x87\x50\x5b\x68\xac\x6a\x35\xe7\x3d\x0f\xcf\x34\x45\x7e\xff\x82\x17\x89\x52\x14\x2c\x7b\xac\x9d\xfd\x87\x2a\x9a\x82\xf8\x5b\x24\xb8\x8f\xa4\x2d\x4b\xe0\xa0\xca\x0b\x2c\x70\xf4\xc6\x22"}, -{{0xc6,0xd9,0xac,0xc5,0x17,0x5f,0xa2,0xb8,0x96,0x5c,0x15,0x8c,0x56,0xba,0x0a,0x5a,0x66,0x6a,0xd2,0xc7,0x40,0xcd,0x5b,0xb6,0x79,0xbb,0xa9,0xb1,0xdc,0x50,0x92,0x84,},{0xf5,0xcf,0xca,0x21,0x1b,0x02,0xfb,0xa7,0x72,0x03,0x47,0x70,0x3b,0xf1,0x63,0x1c,0xb3,0x08,0xfa,0xbc,0xda,0xa6,0x74,0x29,0x52,0x7c,0x5b,0x7b,0x67,0x6d,0xba,0xef,},{0x4d,0x2c,0xe7,0x07,0x09,0x0b,0x0f,0x3f,0x41,0x46,0x2f,0xd7,0x5b,0xd6,0x09,0xa2,0x72,0x4f,0xad,0xfe,0x5c,0xa3,0x90,0xe3,0x13,0xa4,0x2c,0xab,0x42,0x86,0x8e,0xd6,0xe9,0xa8,0x91,0x4d,0xc1,0x39,0x09,0xc0,0xd6,0xf6,0x1e,0x63,0x71,0x29,0x57,0xc7,0x6f,0x3b,0xd8,0xb7,0xf5,0x53,0x49,0x71,0x5a,0x3a,0x31,0x75,0x15,0xc0,0x71,0x08,},"\xf2\x45\x10\x0c\xd2\xd3\x16\x48\xf5\xf3\x51\xbd\xa5\x64\xc9\xdb\x4a\x35\x82\x0c\xc3\x0e\xf6\x51\x33\x7c\x4c\xd8\x88\x07\x05\x69\xd1\x17\xa9\x34\xb9\xc9\x18\xe5\xdf\x8b\x37\x44\xdd\x66\x20\xcc\xbc\x49\xf6\xb3\xe5\x78\x2a\x30\x33\x9d\xbb\x9c\xbe\xd0\x5d\xd2\xb3\xb8\xc5\xbf\x15\x46\xe7\x0a\xf6\x36\xe6\x61\x5c\x48\xb2\xc3\xc2\xd1\x9f\xe3\x54\x20\xdf\x53\x14\xf6\x3c\x48\x12\xb5\x8e\x82\xa2\xa6\x0b\x18\x02\xf3\x8e\x50\x5c\xe7\x48\x01\x7a\xfa\x97\x7d\x3f\x9b\x1b\x6b\xea\x21\x92\xac\xec\x73\xbd\xce\x12\xd6\x5e\x68\x4d\xa4\xd8\xb4\x1f\xa9\xa8\x6f\x11\x08\x6e\xdc\x2d\x52\x96\xf6\x7e\xfc\x53\xac\x84\x07\x0f\xde\x13\x69\x3e\xb2\x31\x8f\x5a\x8c\x3b\x11\x7c\x23\x34\x22\xad\xcd\xd3\x52\xf3\x28\xf0\xec\x69\x9a\x46\x50\xc9\x3f\x9b\x4a\x7d\x79\x5d\x7f\xc2\x62\x2a\x03\xd9\x9b\x64\xf7\xb3\xdc\x31\x94\xf6\xc3\xb1\xb6\x9d\x99\x07\xce\x09\x24\x01\x07\x3f\x47\xa2\x8f\x47\x99\xd2\x29\x09\x2a\x1b\x07\x41\x29\x95\x4b\xe8\x0c\xa4\xa3\xe6\x58\x2e\xe0\x5c\x30\x2c\xac\xb7\x43\x1d\x1c\xa6\xa4\x51\xaa\xed\x72\x78\xab\xc7\xf7\x85\x75\x24\x1c\x2a\x2e\xea\x2e\x84\xcb\xf9\xa3\x34\xdf\x40\x21\x09\xc0\x28\xe3\x45\x47\x3a\x13\xaf\x9b\x00\x8e\x20\xbc\x8c\xf0\xbc\xef\xbb\x7a\xa7\x27\xec\x85\x6e\x99\x25\xb4\xdd\xd9\x9d\xeb\xa8\xf2\x52\x91\x1a\x59\x01\x54\xb5\x79\xa8\xaa\xa3\x1f\x07\xdd\x50\x25\xdf\x5c\xd8\xa0\x9f\x74\x29\x64\xcc\x8c\x36\x5d\x8a\xff\x4e\xb1\xd7\x9f\x6e\x5a\x07\xda\xc5\xf4\xed\xe9\x2b\x4e\x2e\x61\xd3\x4c\xc2\xd4\xf0\xaa\xaa\xb0\x37\xad\x5f\xdb\x95\xde\x6c\xd5\x98\x4e\xba\xf7\xcc\xe7\xf0\x8d\x0c\xa0\xdb\xbe\x48\x3c\xe3\xcb\x35\xcd\x79\x0c\xa0\x42\x70\x65\xa3\x4d\xf7\xf4\xc2\xaf\x86\xef\xe9\xb7\x65\x71\x3a\xff\x25\x7f\x5c\x1d\x54\x70\x95\x27\xad\x18\xac\x33\xab\xcd\xee\xdb\x20\x80\x64\xeb\xae\xa4\x83\x5b\xe4\x94\x2b\x8f\xc6\x66\xad\x1b\x79\xb6\x65\x13\x09\xe5\xea\x1d\xa3\x02\xd7\xfb\xa2\xe9\x9f\x0e\x63\x19\xe8\x2b\x99\x05\xa1\xea\x48\x2b\xa0\x43\xb6\x80\x0b\x33\x0d\xc4\x8b\x33\x13\xf5\x9b\xb2\xf9\xe8\xa7\xf0\x7e\xb1\x80\x0a\x70\x27\x45\xdb\x14\xc6\x29\x9a\x98\x2d\xad\x89\x79\x54\x44\x5b\x7d\x98\xeb\x58\x37\xfd\x70\xbf\x19\x0c\x64\x95\x52\xc8\xe8\x6f\xeb\x7f\xf5\xb3\xed\x8e\x0a\x06\x70\x4d\x45\x53\xa3\xc2\xdd\x74\xf1\x8e\xa8\x23\x3a\xe0\xa5\x0d\x91\x4f\xe0\x8f\xbc\xd3\xa1\x43\x5f\xed\x56\xa9\xf3\xa7\xef\xfa\x14\x0f\xb5\x52\xdd\xd2\x1d\xff\xff\x7f\xa4\x73\x32\xdd\xfc\x1e\x53\x17\xf4\x17\x7d\x5e\x2f\x11\xa0\x6e\xc8\x4c\xcf\xb8\x9b\x65\x4e\xa8\x1b\xd4\x2d\x7e\x07\xa3\x87\x30\x1d\x0f\x40\x26\x4a\xbb\xf9\xf9\x10\x7b\x30\xed\xe8\x64\xcc\x76\x90\xc0\x6d\x2e\x24\x7a\x06\x0b\xb2\x24\x4a\xd7\x8e\xd5\xc5\x51\x5a\x1a\x2a\x61\x2d\x61\xe3\xd9\x31\xe2\x8b\xc9\x39\xb4\xd3\x43\x5e\xee\x4f\x73\x31\xb1\xf0\xf8\x53\x75\xd8\x2a\xc9\xa7\x7c\x43\x74\x00\x32\x05\x17\x46\xdc\x92\x69\x45\x8c\x14\x7d\x18\x8d\x84\x40\x19\x54\xa4\x89\xcb\x4f\xbf\x9b\xf8\x4b\xa7\xd8\xf1\x00\x90\x3c\xe6\x78\x31\xb4\x05\x4d\x0f\x58\xcd\x88\x3d\x54\x2c\x49\x33\x10\x3f\xf0\x70\xcd\xfc\x9d\xbb\x0f\xcc\x31\xef\xca\x46\x6e\x77\xa3\x3f\x1a\x81\x3d\xa6\xdc\x0c\x7c\x31\x58\x5e\x8f\x4f\xef\x1e\xbf\x42\xfb\xd1"}, -{{0x7d,0xfa,0xe4,0x16,0x41,0x9d,0x7b,0x0d,0x4f,0xc1,0xf8,0x23,0x84,0x0c,0x3e,0x4b,0xd4,0xad,0xcd,0x4d,0xc2,0xdc,0x17,0xb3,0x86,0x37,0xac,0xed,0xac,0xbd,0xbb,0x45,},{0xbc,0x51,0xd7,0x74,0x59,0x31,0x31,0x7e,0x1e,0x34,0x6e,0x2e,0x7c,0x92,0x03,0x91,0x81,0xb6,0xbf,0x38,0xee,0x2f,0x5a,0x44,0xfb,0xe2,0x33,0x9c,0x4f,0x95,0x2a,0xb9,},{0xda,0x34,0xb1,0x98,0x3e,0x8c,0x55,0xe4,0x1f,0xda,0x8e,0xc8,0xab,0xf2,0x3b,0x36,0x7a,0x0d,0xa6,0x06,0xc8,0xcd,0xbb,0x1e,0x8b,0x57,0xe0,0x34,0x3c,0x05,0x57,0xa5,0xf0,0xe8,0x15,0xe7,0xf2,0x2f,0x86,0x05,0xae,0x93,0xb2,0x7d,0x03,0x77,0x6a,0xc1,0xf7,0xde,0x3d,0x79,0x2e,0xa2,0x93,0x3a,0xc2,0x2d,0x2d,0xc2,0x3b,0x32,0x3d,0x0c,},"\xec\x84\x3d\xc4\xdd\xa6\xe9\x02\xe9\xbe\x31\xb7\x0f\x11\x76\x3b\x75\x7a\xb6\xce\x73\x34\xdc\x00\x76\x4b\x2d\x08\x4e\x9d\xaf\x24\x84\x48\x59\x84\xee\x28\xa2\x83\x0f\xcb\x94\xc5\x41\xcb\x46\x94\x40\x03\x67\x31\xde\x80\xff\x56\x0f\x53\x0c\x9d\x9e\x6e\x1f\x7d\x9c\x4c\x5b\xdf\x50\xb0\x4f\x54\x03\xc2\x9f\x76\xd7\xe3\x6e\x00\xbb\xea\x35\xdb\x1c\xc6\x0d\xa8\xd7\x76\x52\x62\x66\xc3\x32\x4c\xe7\xef\xec\x64\x50\x85\x96\x09\x26\x68\x56\xd7\x01\xa4\x7a\x48\xde\xe8\xbf\x37\x40\x95\x65\xc7\xfb\xfa\x99\xa2\x04\xe5\x53\x0c\x97\x1c\x60\x5b\x44\x30\x5d\x5c\x74\x67\x89\x41\x14\x25\x3c\xf4\x3c\xdd\xf1\x8b\x62\x96\xdd\x25\x4a\x4d\x96\xac\x70\x00\x91\x81\x86\xdf\xd4\xbf\x45\x4e\xd3\x09\x74\xc5\x53\xd0\xae\x15\x1a\xd4\xcf\x54\x0c\xec\xaa\xa0\xb5\x94\x8b\x09\x85\xa9\xc7\xb6\xe7\x81\x59\x32\xba\xc1\x17\x32\xfc\x7d\x10\x26\x7f\x6b\xf8\xf1\xe7\xc0\x8d\x65\x0e\x56\x7b\x4e\xdd\x15\xae\x79\x58\x41\x0e\x42\xf1\xf5\x37\xfa\x73\x2f\x72\x7a\x26\x83\x88\x32\x1d\x53\x44\xc4\xe7\x8b\xb9\xa7\x4e\xab\x9d\x6a\xbf\x96\x89\x65\xc6\x66\x93\xd5\xf1\x12\xdd\x4c\x14\xfd\xfd\xd9\x60\x05\xea\xa6\x75\x7f\xa2\xcc\x10\x13\xfe\x43\x27\xab\x09\x99\xd1\x17\xf3\xdb\xf3\x25\xb0\x7c\xd4\x54\xd4\xb1\x41\x99\x1e\xf7\xe2\x3d\xb5\xee\x24\xbe\xda\x35\x88\x4a\xa3\x70\x48\x08\x64\x8a\xa4\x3c\xd6\x25\x62\x59\xf7\xd3\xdb\x5e\x05\x53\x11\xf2\x53\xe8\xb5\x7a\x4c\xda\x5a\xfe\x0b\x0a\xdf\xc3\x64\xe1\x60\xca\x37\xe8\xde\xc6\xb9\x5a\xa6\x15\x2e\x5d\x5d\xa6\xeb\x91\xbe\x0e\x44\xff\xe8\xe4\x95\x33\x26\x7b\x7e\xb7\x95\xf5\xf8\xe0\xb2\xc3\x5b\x29\xdf\xbc\x87\x58\x5f\x22\xbd\x5b\x90\x9d\xfd\x6a\x5e\xdc\x0e\x3a\x9d\x97\xb0\xc4\xf3\xad\xc5\x1e\x96\x99\x37\xc0\x8f\xd6\x5f\x53\x7a\xac\xda\x8f\x11\x27\x5a\xf0\x2c\x33\x54\x54\x26\x30\xf3\x92\x0c\x39\x3f\x5c\x42\xb9\xfc\x63\x3d\xe9\xd9\x4c\x72\xe3\xf2\x00\x02\x34\x9a\xd0\x41\x80\x35\xb3\xf2\x5f\x02\xca\x92\x8e\x5b\x2d\x40\xa7\x7a\x1c\x3e\x56\x22\x1f\x4b\x9d\xb0\xc2\x5b\x09\x6d\x6e\x5d\x0f\xe7\x58\xda\x2c\x69\x05\x3e\x8d\x08\x6d\xef\x4e\xdc\x6e\x34\x53\x78\x3f\xfc\x63\xa4\x96\x01\x22\xd9\x23\x67\x1a\x90\x60\x08\xba\xc1\x05\x61\xae\x62\x19\xd2\xb5\x1d\x53\x67\xbf\x13\xcc\xab\xf5\x93\x1b\x9f\x18\x6e\xb1\x09\xba\xcd\xe4\x0e\x1a\xf2\xb5\x64\x81\xe0\xc6\xdc\x6f\x5c\x54\x73\xf8\x00\x1c\xf3\x71\x91\x9a\xcb\x40\xce\xc5\xb9\x62\xeb\xba\x80\xe3\x2d\x6e\xba\xc4\x80\x6d\x04\xd2\x47\x68\xc2\xad\x2e\x3f\x92\xa8\xcb\xe4\x77\x54\xf9\xbf\x61\x59\x53\x52\x2b\x26\x3d\xc2\x49\x37\xfb\xd9\x32\xc8\xc4\x59\xeb\x8b\x10\x94\x43\xaf\x6c\x19\x5a\x59\xfd\x27\x21\xb0\x12\x56\x28\xf2\xb8\x14\x3c\xf3\xc1\x28\xbc\xec\x13\x92\xef\xd1\x6b\x73\x4c\x10\x71\x6d\x96\xba\x7d\x1f\x41\x39\x17\xcc\xaf\xa5\xbf\x5f\x83\xf5\x24\xfe\x84\x06\xa1\x52\x11\x5e\xa7\x70\xe1\x74\x5e\x82\xe8\xb5\x1d\x75\x2b\x8b\xd7\x85\xdf\x48\xbf\xc1\x20\x41\xbf\x87\x4f\xc7\x3a\xfb\x42\xca\x5d\x69\xc6\x41\x64\x79\xce\xb4\xaa\xa0\x49\x2b\x6f\xf2\x1e\xe1\x2d\xb2\x21\x3a\x42\x86\xfd\x56\x05\xc9\x3a\x7b\xb8\xa3\xb0\x71\xb0\xb2\x5f\xb0\x1d\x77\xab\xbc\x87\x71\x48\x94\x70\xa1\x07\xaa\xda\xe9\xf6\x40\xc2\x4d\xfd\x53\x28\xf6\x0f\x4b\x7d"}, -{{0x70,0x94,0x16,0x07,0x49,0x97,0xb9,0xc9,0xaf,0x4d,0x37,0xa0,0x11,0x39,0xe8,0xa3,0xf9,0xf2,0xce,0x5d,0x72,0xa5,0x7d,0x80,0x5e,0x82,0x2a,0x81,0x18,0x6d,0x01,0x7e,},{0xae,0xe1,0x10,0xf1,0xf4,0xd4,0x6e,0xa6,0x06,0x49,0xd7,0x86,0xb1,0x50,0x05,0x2e,0x28,0x7a,0x9d,0xa6,0x01,0x22,0xc4,0x7b,0x09,0x08,0xfa,0x8b,0x2c,0xa2,0x8a,0x80,},{0x8e,0x4b,0x41,0xf0,0x97,0xd8,0x36,0x14,0x18,0x4b,0xa7,0xf5,0x2b,0xa2,0xfd,0x9f,0x05,0x65,0xf8,0xa6,0x37,0x21,0xef,0x55,0xf9,0x31,0x62,0x82,0x6b,0x9f,0x0a,0xc0,0x70,0xc0,0xe2,0x86,0x4b,0x5f,0xfd,0x8e,0xcc,0xc1,0x8e,0xfa,0xd1,0x8b,0x2c,0xe8,0x4b,0xe5,0x7c,0x0b,0x4a,0x41,0xc5,0x2e,0x20,0xef,0x37,0x72,0x23,0x77,0xc6,0x0f,},"\xed\xda\xa3\x69\xc0\xe3\x1a\x1f\xcc\x1d\xa4\x6f\x65\x36\x24\x42\xa0\xcc\x21\xc7\xdc\xdd\x5c\xd9\x0e\x0a\x2e\xe9\xf2\x51\x10\x81\x2b\xa1\x14\x93\x1c\x86\x8a\x70\x86\x07\xac\x16\x08\x4d\x79\x71\x5d\x13\xb3\x38\xc0\x5c\x6a\xef\x73\x43\xe7\xda\xd2\x82\xf9\x6f\xe2\x81\x93\x18\x8f\x0c\xc8\x93\xc7\xdc\xe8\x05\xfd\x3a\x7c\xd2\x68\xb7\x28\x94\x16\x0b\x52\x45\xfe\xd9\xfa\x99\x43\xb7\xc8\x0a\xdb\x3c\x2d\x1a\x35\x3d\x8f\x12\xdf\x25\xa3\x1d\xde\x7f\xa3\x85\xbb\xec\x35\x1d\xa6\x6f\x15\x30\x32\xe1\x77\x56\x27\x3f\x8d\x54\xe9\xa3\xb9\xea\x25\xae\x67\xd1\xe9\xc1\x8c\xc6\x8b\xe6\x01\xe3\xd6\x82\x82\x81\x8c\xe0\xe7\xcf\x88\xa4\xd1\x33\x64\x53\x02\x17\x32\xf0\x8d\x9e\x76\xcd\x23\x63\x79\x29\xb0\x91\x1d\x5f\x86\x14\xf4\x84\x2e\x67\x0c\x14\x28\x60\xaf\xc2\x65\xc5\x01\x72\xb1\x3b\xfd\x35\xad\x8f\xc5\x4b\x28\x65\x7d\xa3\x2b\xac\x15\x3b\xa9\xaf\xfc\x89\x7a\xfb\x3c\x72\x1f\x48\xca\xa4\x62\x40\x58\x57\x10\xb0\xf2\xd2\x4d\x5f\xf4\x96\x5d\x1d\x10\xf1\xa0\x7b\x06\xab\xea\x6a\x08\xe1\xd6\xf1\x50\x0d\xa1\x2c\x43\x4a\x6d\x77\x8c\x94\x10\x67\x10\x80\x00\x47\x5c\xe8\x31\xbc\xfe\x2d\x0a\xfe\x40\xb7\x41\x9d\x07\x05\x9b\xc0\xcd\x8d\xce\x4b\xe9\x58\x7f\xf2\x9a\xd8\xbf\x0b\x26\x8a\xe2\x3c\xe0\xda\x5b\xb5\xbf\x74\xff\x0b\x2b\x31\xb8\x21\x12\xa9\xfd\x5a\xbd\x9b\xfd\x0a\x90\xe6\xf4\x72\x35\x48\xc6\xbb\x2f\x99\xdc\x06\x1b\xa3\x2e\xba\x2d\x53\xe6\xbc\x79\xbf\x44\x1b\x23\xfb\x74\x60\xde\x04\xe8\xe8\xef\xbc\xd4\xd4\xcc\x73\x55\xde\x9e\x3b\x08\x61\xa6\x81\xb9\x83\x83\x9d\x44\x88\xe5\x51\x75\x1f\x23\xe9\xa6\xe2\xe4\xd4\x43\x27\x3b\x9e\x0f\xe6\x4d\x8a\xcd\x1c\x74\x8b\x55\x59\x43\x82\x23\xdd\x21\xb5\x18\x31\x89\xe0\xf3\xc0\xe8\xed\x41\x4c\x03\x56\xba\xb7\x7a\x65\x4d\xe1\xa5\x77\x14\x62\xef\x14\x34\x49\x70\xa4\x91\x51\x1a\x72\x29\x14\xf4\xa8\x9f\x4f\x1a\x82\x7e\x18\xcd\x84\x47\x9c\xc9\x25\x92\xea\xdf\x8d\xe2\xdf\x82\x4b\x97\x6d\xcb\xd2\x84\xa3\xba\x64\xbc\xdb\x0d\xf1\x5e\x8f\x41\xc0\xb2\x47\x15\x86\xb2\x6a\x06\x35\x3d\x90\x50\x28\x23\x5c\x1c\x6e\x5c\x45\x87\x22\x27\x25\xaf\x08\x3e\x11\xe7\x9c\x94\x3a\xa4\x44\xd4\xaa\x41\x21\x8d\x3e\x97\x43\x36\xe3\x72\x81\x3e\x99\xe2\xb0\xc5\xf0\xae\x81\x0f\xfe\xd9\xa7\xa3\xd6\xcb\x74\xc5\x47\x3d\x99\x0a\x59\x11\x32\x9b\x8e\x82\xec\x6b\xf2\xbd\x43\x21\xbb\x48\x73\x70\xf8\x73\x9e\x7a\x2a\x4a\x53\x43\x08\x33\xd4\x5b\x9f\xe3\xde\xb9\x3f\x79\xfc\x6a\x51\xd5\x63\x69\x5e\xcd\xb9\x78\x58\xd2\x13\xda\x58\x44\x34\xb7\xc7\x15\x46\xaa\xe8\xd9\x67\xe1\xc6\xd0\x08\x2b\x10\xd4\xa7\x2d\xe1\x74\x2e\x53\xc4\xb2\xf9\x2e\xb8\xb5\xc8\xc3\x5a\xb6\x53\x5e\xa8\x10\x0b\x37\x92\x4a\x0a\x91\xd2\xa7\x28\xd0\xf5\x64\x24\x37\xaa\x66\xc8\x2a\xb7\x4b\x5d\x07\x45\xec\x08\xf7\x70\x5c\xb8\x1f\xa0\x79\xd8\x9e\xcd\xc9\xaa\x1f\x8d\x7d\x82\xdc\x77\x46\xd3\x46\x15\x34\x3a\x69\x25\xdc\x31\x8f\x35\x2a\x2b\x45\x01\x24\x38\x42\x4f\x90\x98\xfd\xdf\x6e\x61\xfd\x1f\x8f\xb4\x9d\xa4\x0b\x3e\xec\xe8\x9a\x1a\xf1\x99\x6d\xe7\x0c\xd1\x69\x6c\xbf\xd9\xe3\x01\xea\x5f\x44\x37\xc7\x1a\xc2\xa0\x32\x25\x4c\x14\x0a\x90\xe8\x5f\xb8\xff\xc4\x66\x7f\xa1\x39\xc1\xee\x9b\xbf\x12\xee\xd9\x06\xa9\x67\xbc\x09\x21"}, -{{0x3d,0xcb,0x7a,0xe7,0xd9,0xf0,0xf1,0x41,0xf1,0xd9,0xf0,0x78,0x83,0x63,0x5b,0x91,0x3e,0xd2,0x9f,0xb6,0x1d,0x0f,0x74,0x1c,0x9a,0xfd,0x05,0xa2,0x7b,0x04,0x5b,0x06,},{0xae,0x62,0xb7,0xee,0x1b,0x8d,0xb5,0x76,0x4d,0xaf,0xdd,0xd9,0x72,0x4a,0xcc,0x10,0x6d,0x6c,0x0a,0x4d,0x1e,0x85,0xd8,0x90,0x6f,0x75,0x84,0xb5,0x58,0xf5,0x77,0xdf,},{0x09,0xa1,0xe6,0xfe,0xdf,0x97,0x1b,0x3e,0xdb,0xfa,0xef,0xbe,0xb8,0x9a,0xa5,0x39,0xca,0x0b,0x02,0xb3,0x7e,0x7a,0xc4,0xea,0x89,0x20,0xd6,0xd4,0x34,0x8e,0xe0,0xcf,0x9a,0x2d,0x5e,0x96,0xfc,0xe5,0x17,0xc6,0x65,0xe7,0xc3,0x83,0x68,0xba,0xf2,0x49,0x79,0x24,0x9a,0x95,0xb7,0x0e,0xa7,0x43,0x6c,0x00,0x78,0x5f,0x16,0xa3,0xae,0x09,},"\x38\x11\x6a\x57\x26\x69\x07\x0d\xd5\x86\x32\x18\xc9\x1a\x77\xa4\xab\x47\x55\x36\x88\x48\x8c\x79\x28\x38\x50\x9e\x9a\xba\x25\x06\x7a\xdb\x7e\xa4\x24\x98\x48\x00\x9d\x91\x4a\xe9\x87\xa6\x03\x23\x48\xc1\xc0\x68\x1c\xf9\x77\xa9\x55\x2d\xd6\xbb\xf4\xe6\xff\x32\xac\xc9\xfa\x61\xcb\xee\x25\xa3\x93\x07\x65\x0f\x8b\xa6\xa7\xce\x42\x1e\xf2\xf7\x1b\xcc\xc0\x95\x81\x38\xf9\x32\x4c\x86\xbf\x2e\x52\x8f\xa3\xe4\xd1\xb1\x9f\x9f\x2c\xa5\x26\x84\x09\xb8\xcc\x19\xc6\x2d\xd9\x79\xb8\x96\x97\xe4\x57\xed\x2d\x98\xbd\x20\x96\xf6\x2d\x3d\x9e\x24\x73\x88\x79\x59\x27\x80\x3e\x79\xab\x71\xd4\xf7\x2f\x56\x8e\x94\x5a\x8a\x16\x21\x59\xd9\xb8\x48\x36\xe4\x58\x56\x44\xd4\x97\x9f\x61\x4a\xad\xa7\x3a\xd4\x13\xa8\x33\x91\xe9\xcf\x88\x0c\x42\xac\x2a\x98\x34\x3b\x6a\x82\xcd\x2b\x61\x58\x14\x56\xf6\xde\x5c\xeb\x24\xfe\x46\xb7\x62\x5d\x52\xab\x2c\x2c\x32\x4a\xc7\x47\x03\xd1\x5e\x15\xf1\xae\xff\x80\x55\xd2\xf7\x39\xf7\x36\x3e\x16\xec\x1d\x78\xbe\x2c\x62\x99\x43\x6c\x8c\x8d\x33\x6b\xd2\x92\x71\xa8\x97\xa6\xec\x93\x2e\xd0\x87\x25\xbe\x21\xb2\x8f\x9a\xa1\x4e\xaf\x4f\x71\x85\x31\x54\xdb\x14\x58\x7c\x93\x0a\xb3\xeb\x02\x27\xad\x7f\xfb\x45\xb3\xba\xa6\xa9\x99\x49\x9c\xc8\xa6\xe4\x5b\x1a\xb4\xd0\xb3\x39\x78\x2b\xcd\x9c\xfb\xcf\x88\xcf\x7e\xae\x89\x1c\xc8\x41\xe9\xc8\x8a\x1f\x6a\x69\x1f\x39\x48\xa6\xbc\x85\xba\x7f\x46\x11\x64\x2e\x84\x22\x3c\x3b\x17\x89\x46\xdd\xbe\xdd\xcf\xcd\xef\x4a\xe4\xc4\xe1\xa8\x14\xb9\xb1\xf0\x2b\x1e\xaa\x82\x4d\xb9\x3f\x44\xb2\x7d\x14\x20\x6b\x34\x04\x65\xa1\xce\xfc\xf5\x35\xc6\x3e\x55\xc4\x28\x72\x24\x26\x27\x33\xd9\x8a\xaa\xa1\x54\xf3\xad\x42\xcd\x85\x46\xa4\x61\xce\x0d\x46\xd8\x86\xd3\x46\x1a\x21\x50\xcb\x45\xdb\xe5\x64\x73\xff\x63\xd3\xdc\x7a\x2b\x95\x7b\x82\x39\x69\xf1\x9b\x59\x68\xe8\xb4\x24\xc8\x79\x74\x19\x26\xd8\x2c\x63\x86\x75\x3b\x0f\xa1\xf0\x80\x28\x4e\x55\x78\x94\x23\x63\xaa\xde\xb2\x1f\x8e\x1e\x89\x09\xfa\x6c\x38\x07\x64\x14\x9b\xc9\x15\xb2\x28\x60\x4e\xfc\x56\xd9\x2e\x4b\xeb\x72\x0e\xdc\x74\xc4\xd7\x8f\x92\x5d\x6c\xfd\xf7\xba\x2f\x14\xb5\x62\x37\x75\x81\x0d\x2d\x07\xbd\x38\x8c\x57\x3e\x36\x52\x3f\x21\x57\x38\xe6\x91\x14\xdc\xf8\xd8\x0f\x17\x0b\xfa\x67\x6e\x31\xfb\x62\x6a\x7d\x44\x9e\xd9\x66\x47\x36\x34\x75\x97\x0c\x8c\x47\x80\x97\x09\xbc\xb5\xe7\x20\x0f\x2a\x22\x7c\x7c\x8e\x7b\x00\x0f\x30\xc0\xbd\xe6\x1d\x67\xbd\x68\x95\x36\x16\x29\xa3\x6c\x8f\xdd\x5a\x56\xb8\x1e\xfb\xac\xf1\x5c\x1b\x35\x30\xa0\x8c\xde\xd5\xb1\xfd\x45\x7f\xbd\x2f\x03\x04\x2f\x56\xf1\xb3\x7e\xd1\x5c\xdb\x91\x2f\xa0\x29\x8c\x27\x67\x25\x08\x7e\xe2\x7d\x3c\xf2\x55\x0f\xe6\xe8\xa0\x33\x0a\xf4\x17\xf4\xf5\xba\xf0\x36\x27\xed\x67\xc5\xf8\x32\x33\x63\xab\xac\x5a\x1f\xe3\x48\x23\x18\x0e\x3e\x0e\x20\x80\xf7\x5b\xfd\x91\xc2\x07\xcf\x6b\xaa\x9a\x22\x9c\xf4\x43\xdd\x44\x2c\x59\x02\xe0\x67\x3f\x32\x52\xb8\x52\x63\x46\x58\x58\x72\xf6\xcd\x36\x60\x25\xa5\x69\x92\xb7\x0e\xde\x39\xbc\x8d\x32\x2f\x9c\x22\xa1\xdc\x59\x9e\x9f\x0d\x52\x4c\xb6\xd2\xea\x5a\xe2\x87\x8e\xf6\xbe\xd4\xb7\x02\x80\x7f\x1e\x1e\x73\xeb\xf2\x90\xeb\x6c\x0e\xeb\x85\xc1\x37\x16\xf6\x26\xaa\x90\xd3\x64\xb4\x90\x48\x37\xce\x05"}, -{{0x29,0x73,0x11,0xdd,0xef,0xfe,0xc9,0xd2,0xbe,0x68,0xef,0x7b,0x2a,0x20,0xfe,0x2d,0x27,0x7e,0x1d,0x8e,0x51,0x64,0x8b,0x03,0x57,0x2a,0xda,0x27,0xec,0x1f,0x9f,0x43,},{0x6a,0x6c,0x28,0xe7,0x61,0x64,0x0c,0x40,0x08,0x33,0x3a,0xae,0x5a,0x33,0x66,0x30,0x2e,0x2f,0x46,0x77,0xa9,0x53,0xba,0x48,0x2a,0xb6,0xfb,0x4a,0x1d,0x70,0xb4,0x47,},{0x4b,0xf0,0xb9,0x2c,0x6e,0xe4,0xea,0xce,0x5e,0x8e,0xb1,0x03,0x70,0xff,0x9d,0x9c,0x68,0xa5,0x74,0x9d,0x59,0x89,0x9d,0x04,0x32,0x7a,0xaa,0x38,0xf8,0xf8,0x25,0xe0,0x32,0xe5,0x97,0x42,0xb3,0x7d,0xe2,0x31,0x07,0xa3,0xec,0xdd,0x3f,0x7a,0x0d,0x08,0x12,0x26,0x14,0xb7,0x8f,0xdd,0x37,0x29,0x3c,0x8d,0x05,0xe2,0x8f,0x5f,0x71,0x08,},"\x26\x52\xac\xfc\x3b\xdf\x09\xa5\x99\xec\x67\x86\xbb\xd9\x4f\xe5\x77\xcf\x57\x8e\x02\x63\xcc\x68\xd9\xf5\x7a\x6c\x83\x45\x8f\x80\xac\xd8\xa7\x5e\xf0\x30\x40\xa6\x35\x67\x2b\x96\x8f\xf2\xaf\xdb\x28\x8d\x28\xb9\x99\x6f\x64\x15\xb2\xf3\x17\x5e\x9e\xa3\x7a\xeb\x05\xdf\x81\x81\x2e\x38\xa4\xc9\x76\xeb\x92\x85\x6c\xed\xb9\x1a\x26\x9a\x46\xfc\xa5\xdf\x9b\xd7\x30\xfd\x84\x45\x2b\x4b\xd9\x35\x77\xc6\x1f\x42\xc1\x41\x13\x97\x98\x82\xa8\x6a\x9f\xe6\x32\xe4\x75\x6a\xfd\x89\x81\x6f\xc4\x67\x0a\x31\x05\x03\xfd\xaa\xd2\xdb\x76\x4c\x37\x21\x21\x3c\x3e\x60\xf2\x9c\x26\x68\xd4\xde\x8f\x42\xb0\x87\xf2\x5c\xd5\x6c\x69\xa4\xe4\x8f\x13\x4f\x55\x98\xcf\x14\x5b\xe6\x38\xa5\xc2\x31\x88\x63\x32\x90\x61\x72\x9a\xac\x91\xda\x6a\x19\x1f\xd7\x74\x88\x0c\xf9\xcb\x55\x5e\xec\x15\xb0\x04\x4f\x10\xe5\x43\x3f\xb4\x6a\x9b\x88\x92\xda\x8f\x6d\x24\xf1\x42\x58\x8b\x70\xff\x0b\x49\x20\x0c\x50\x6b\x88\xbe\xd4\x49\xad\x10\xd3\xf9\x2c\x2b\xae\xda\x6b\xbf\x58\x67\x6c\x5b\xbc\x67\xd3\x1f\x64\xfb\x12\xe8\xd5\xe7\x88\x76\xd5\xc8\x49\xfc\x31\x4b\x2c\xf8\x01\x0c\x51\x02\x04\xc8\x63\x3d\x0c\xc3\x18\x56\xec\x6a\x11\x4e\xa8\xa8\x9c\x48\x92\x7b\x07\xa3\x1a\xb8\x42\xc9\xb8\x35\x2d\x93\x67\x34\x51\x41\xa9\x9b\x40\x04\x9d\x5c\x48\xe7\xd2\x7c\xab\x42\x7a\xde\xfd\x1f\x0f\xc1\x13\x6b\x35\x3c\xb0\x1c\x3d\xef\x91\xff\xfe\xe8\xad\x91\xe8\x8f\x4b\xb7\xd2\x61\x5c\x0d\xcc\x95\x34\x4c\xd0\x19\x50\x93\x8e\xcb\x14\xb8\x44\x6b\x56\xa0\x6b\xf2\xf2\xf6\x5f\xb8\x73\x5e\x8a\x7b\xc9\x6b\xb4\x6c\xe9\xca\xc7\x1a\x88\xeb\x8f\xda\x5e\x69\xd6\x9e\xb2\x9a\xa4\x2a\x01\x6b\x85\x83\x89\x3e\x9d\x72\x77\xcb\x13\x59\xc5\x68\x7e\xed\xcd\x59\x9d\x8a\x46\xe6\xc1\x49\x63\x63\x7d\xb0\x4a\x92\x9f\x4b\xc7\x93\x04\xac\x2d\xae\x73\x3b\x3a\x83\x9e\xb7\x4f\xbe\x3d\xe5\x04\x2f\xd6\x55\xea\xec\xb1\x5f\x39\xb2\xfe\x16\xda\xd8\xa6\xff\x8d\xbc\x05\x4f\xed\x51\x28\x2a\x85\x6e\x9d\xa6\x31\x6f\xac\x6d\xb5\xd5\x6f\x77\xf1\x8d\xa8\x41\x2e\xb3\x77\xe5\xb1\xb8\xf4\xcb\x13\x54\xec\xfe\x8f\xe8\xfd\x54\xe6\x2d\x76\x7a\x80\xde\x04\xcb\x76\x20\x22\x9a\x88\x31\xdb\xc9\xec\xd4\x57\x8f\xfa\x2f\xf0\x6b\x54\x45\xe4\x40\xd6\x9a\xab\xc9\x4c\x47\xbd\x17\xf2\x2b\x69\xf5\x2e\xea\xe5\xcf\xcd\x01\xa5\xca\xfe\x05\x80\x07\x2a\xe9\x16\x6b\x95\x74\x3d\x68\xc3\x56\x4c\x5a\x7e\x46\xf2\x4b\xc4\x8a\x89\x8a\x1a\xb2\xeb\xe6\x3f\x36\x85\x1d\x2a\xac\xfa\x0c\x4f\x32\xd9\x93\x77\x1d\x31\x4e\x72\x5a\x43\xd9\x80\x5d\x13\x71\xcf\x72\x3e\xf1\x61\xd4\x2e\x63\xff\xca\x68\x8d\x7f\x0e\x21\xef\x5b\x3f\x9a\x56\x1a\x62\x10\x70\x2b\x85\xfb\xd1\xf8\xca\x75\x38\x9c\xc7\xa2\x27\x39\xba\xe4\xde\xd9\x37\x57\xf1\x52\x0d\xc3\x88\x44\xa1\xa8\x8b\xe8\xe0\x96\x45\x05\x91\x48\x80\x7b\x93\x37\x70\x87\x8c\xb8\xa9\xad\x92\x11\x31\x71\x31\xe6\x93\x24\x53\x2f\xd0\x27\x9b\x83\x18\x5b\x62\x8f\xc2\xf9\xe2\x15\x00\x38\x46\x93\xfa\x29\xf2\x6b\xd1\xb9\xc3\x01\x60\x13\x67\x66\x5f\x05\xf3\x72\xda\xb4\xe3\x10\x77\x26\xcd\x3f\x63\x9c\xa6\x2b\xf6\x3a\x75\xf7\x7e\xaa\x75\xf7\x13\x61\x57\xad\xa2\x37\x4e\x65\xfb\x4f\xd3\x49\xb4\x5e\x25\x44\x1f\xd2\x1b\x13\xe6\x91\x13\x66\xb9\x7c\xfb\x4d\x6a\xd5\x22\xb8\x50\xad\xf4\x0c"}, -{{0x4d,0xb2,0xb5,0x81,0x44,0xa8,0xd2,0xd0,0xec,0x03,0xbb,0x9b,0xc2,0x9b,0x4c,0xa8,0x93,0x85,0x4c,0x80,0xb6,0x4a,0xfa,0x4a,0xf7,0xa9,0xc9,0x36,0x93,0x5e,0xcb,0x04,},{0xfc,0x5c,0xd7,0x50,0xe1,0x74,0xed,0x71,0x8b,0xd9,0x38,0xfa,0x8e,0xd9,0x9a,0x1b,0x9d,0x55,0x6b,0xa7,0x67,0x0f,0x2a,0x77,0xda,0xf1,0xc7,0x20,0x11,0x37,0x32,0xa5,},{0x42,0x45,0x17,0xaa,0xdd,0x85,0x3c,0xe3,0x98,0x57,0x59,0xa3,0x27,0xe7,0x76,0x0d,0x91,0x56,0xd3,0xb2,0x73,0x45,0x38,0x3f,0x0e,0x4a,0xd6,0x66,0x1e,0xe4,0xa3,0x72,0x4d,0x18,0xd8,0x20,0xf6,0xc5,0x57,0xf8,0x27,0x97,0xbe,0xb6,0x2d,0x2f,0x08,0x54,0x33,0x74,0x4f,0x89,0xa2,0xd8,0x52,0x93,0x79,0x64,0x81,0x86,0x2e,0xf8,0xa4,0x0f,},"\xc8\xd1\xdb\xc9\x36\x91\x1e\x12\x2c\xee\x18\xf9\x2b\x16\xa3\x9a\x2e\xef\x08\x23\xb2\x27\xf8\x98\xcd\xf5\x84\x2b\x93\xd5\x9f\xc0\x02\xed\xb5\x49\x8a\x20\x87\x2e\x19\x55\x4e\xf7\x39\x99\xeb\x3a\x7b\x3e\x2f\xdd\x90\x70\xe1\xef\xa9\x22\x8e\x9e\x93\xb2\x9a\x86\x8a\xe3\x79\x9e\x4e\x57\x23\x24\x83\x6b\x1a\xd5\xaa\x81\x2b\xf0\x0f\x84\x5b\xc2\x17\xeb\xbc\x3f\xab\xdc\x4e\x1b\x6e\x51\xef\x9e\xfa\xc2\x77\x0a\xa0\xa4\xa1\x1e\xe5\x2a\xb9\x56\xac\x64\x48\xaa\x26\x29\xcb\x61\xdb\xb1\xf1\xed\xb3\xbd\xe9\x9b\x48\x76\xda\x39\x2a\x6e\x0b\x9a\x0c\x31\x84\x9a\x58\x90\xae\xa9\x52\x2f\x56\xd0\x15\xa1\x93\x50\x15\xb9\x1b\xf4\xc6\xa0\x01\x1d\x23\x77\xd6\x71\xc3\xd0\xd7\x53\xc2\x7f\x8c\x76\xe4\x05\xd0\x23\x0f\x1f\x4b\x9b\x88\xfc\xeb\xba\x1e\xaf\x13\x77\x72\x35\xe5\x53\x24\xb7\xd3\xf8\x1e\x68\x61\x09\xd9\x1c\xe6\x89\x53\x0b\x90\xd2\xc5\xc7\x1d\xd1\x87\x72\xb3\x85\xd6\x2c\xcb\xfd\x2e\x08\x9a\x1b\x67\x09\x83\xf6\x0c\x21\xc4\x45\x5c\xb9\xd1\xa0\xdc\xaa\x74\xc8\x74\xe3\x52\x11\xf8\x22\x7f\xf7\xc2\x34\xdf\xf8\x5e\xc0\xb0\x7e\x36\x8c\xfa\x50\xa3\x43\x57\x83\x95\xa1\x4c\x68\xf1\xf8\x9b\xd4\xec\xbc\x17\x2e\xf8\x05\xe5\x83\x1e\xc8\x94\x75\xfc\xc8\xd6\x85\xca\x92\x55\xa7\x7e\x3b\xa3\xc1\x47\x50\x8e\xc9\x2d\x7b\xcc\xe8\x79\xaf\x0a\xbd\xd2\x41\x6b\x67\xb5\xf5\x05\x07\x33\x79\x14\xf3\x90\xbb\xe0\xb4\x50\xb6\xa2\xf1\x15\x93\x72\xc4\xbc\xce\xa3\x82\xce\x3d\x6d\x9f\xb2\x51\x5e\xcf\x79\x30\x05\x9a\x05\x52\xb7\x5f\x97\x88\x62\xbf\x97\xe8\x32\x5a\xf2\x4d\x1b\x8c\xe9\x51\x2b\xfc\x7c\xef\x88\x42\x32\x04\x23\x41\xd8\x2f\x9b\x5d\xad\x2e\x50\x2a\xc6\xac\x79\x5f\x99\xda\xc7\xfc\x60\xe3\xb8\x63\x9d\x0e\x15\x00\xde\xad\x4e\x78\xac\xa1\x09\x95\x7d\x57\x7a\x13\xc1\x92\x5d\x74\x03\xc1\xac\xf9\x89\xa9\xde\x67\x11\xe2\x3c\x67\xbf\x87\x22\xf5\x51\xb7\x74\xca\xda\x93\x1b\x5f\xd9\x73\x43\x4e\x3b\x71\x72\x81\x98\x83\xe7\x0c\x52\x78\x5e\x3b\x49\xd3\x23\xd0\x56\x36\x64\x11\x58\x64\x0d\xcf\x6a\x4c\x20\x0e\xb2\xc1\x3b\x1b\xee\xb2\xdc\x36\x03\x52\x47\x0d\x15\x38\x6e\x59\xe6\xfa\x60\x36\x7e\x5e\x7f\x17\x2b\x21\x15\x9d\x5e\xe7\xca\xb0\xd7\xf5\x86\x82\x39\x85\x8e\x2a\x93\x55\x04\x80\xfe\x8f\xb4\xdc\xaf\x4f\x22\x4c\x4b\x2a\xd5\x44\x87\x91\x63\x2d\xf3\x0e\x8e\x5f\xb9\x98\xb3\x5e\xa9\xae\xc8\xc9\x34\xa4\x40\x3a\xef\x82\x18\x7c\xa1\xab\xf8\x2a\x34\x4d\x00\xff\xb9\x93\xd9\xff\x34\x61\xd6\xfe\xcd\xaf\x5d\x3b\x48\x1e\x0d\x31\x15\x3d\xbf\x6a\xed\x28\x8c\x8a\xdd\x06\x4e\x83\x31\x55\x01\x41\xbd\x5f\x7a\x7e\x04\x7b\x86\x07\xd8\x46\xa6\xbf\xb7\x2d\x68\x34\x46\xa4\x45\x11\x46\x06\x25\x0d\x8d\x2d\x3a\x8b\x95\x08\xbb\x07\xd4\x62\x3c\xdf\x17\x88\xb5\x49\x9e\x9c\xb9\xa1\x37\x98\x49\xbf\xa1\x9c\x9a\x9f\x4c\xd3\xd9\x25\x3a\xdf\xfd\xa2\x5f\x47\xc8\x11\xbe\x83\x3b\x02\xf3\x32\x7e\xbb\xa8\x37\x30\x19\x5d\x61\x4b\xae\x6f\xe4\xe7\xa3\x83\x08\x15\xd2\xaf\x40\x0d\x20\xa9\x41\x7a\x09\x5e\x7e\x8e\xea\x10\x44\x91\x7c\xbe\x51\x2c\x40\x18\xd6\x56\xe2\xdb\x67\xbb\x98\x9c\x00\xe1\xe5\x07\x62\x3e\x82\x78\xd7\x29\x92\x5b\x84\xfb\x5c\x18\x6a\x7b\xac\x18\x9e\x6d\x6a\xb1\x4f\xd7\xb6\x2f\xdc\x63\x2b\xeb\xb5\xf7\x7c\xb5\xcc\x2f\x70\x7d\xf4\x05\x30\x99"}, -{{0xc8,0x20,0x41,0x3c,0x24,0x56,0x74,0x71,0x04,0x66,0x2e,0xf4,0xdf,0xf3,0xac,0x23,0x3a,0xc4,0xb9,0x1a,0x76,0xd3,0xc4,0xea,0x75,0x44,0x90,0xbc,0x9b,0x1e,0x29,0x1f,},{0x89,0x93,0xce,0xa2,0xf7,0xf2,0x80,0x6c,0x77,0xb3,0x98,0x1b,0x54,0xbf,0xa9,0xbf,0x17,0x62,0x15,0x1b,0x41,0x8e,0x5e,0x72,0x53,0x71,0xca,0x2c,0x04,0xd2,0x23,0xee,},{0x7e,0xf7,0x0e,0x4a,0x14,0x95,0x4d,0x50,0x9f,0x11,0x7f,0x4b,0xd0,0x1b,0x22,0x0b,0xcc,0x19,0x2d,0x3b,0x5f,0xdf,0xc3,0x48,0x2f,0xbb,0xc3,0xb6,0x9d,0xc0,0x68,0xa7,0xc4,0x76,0x1d,0x1b,0xeb,0xc2,0x31,0x7d,0x6d,0xb7,0x4f,0x90,0x6a,0x15,0x56,0x42,0xb0,0xa3,0xc6,0x59,0x2b,0xdc,0x72,0xe6,0x4e,0xac,0x6f,0x20,0x3f,0xb7,0x4e,0x02,},"\xd2\x99\x2f\x83\x92\x4a\x59\x48\x87\xe6\xef\x13\xf2\xae\x80\x8f\xc8\x63\x9c\x7b\x2c\x99\x4f\xaf\x0f\x79\x5e\x36\x01\x6d\xab\x77\x00\xa0\xee\x53\x01\x70\xf0\xb9\xfe\x98\xab\x75\x88\xce\x03\xbc\x50\xc2\xba\xe6\x5e\x05\x26\x47\xe7\x56\x73\x5b\x35\xd0\xb5\x9c\x96\x4e\x91\x7d\x8c\x83\xe2\xf9\xfe\xcc\x4c\xb0\x55\x64\x28\x7f\x0e\x34\xc9\x49\x40\x05\xe2\x5b\x1a\x8b\x1b\x94\x2b\x54\xd8\x90\x35\xf1\xb1\xc3\xc9\x45\xfc\xc8\x4e\x4a\x39\xef\xa2\xca\x50\x95\x9b\x45\x9a\xf7\x4d\x21\xb6\x24\x2e\x2f\x56\x51\x8f\x70\xe8\x67\x92\x57\xc0\x89\xd2\x6c\x3b\xb7\x92\x68\x7c\x92\x33\x55\xb2\xc1\x8e\xe2\x13\x6d\x40\xcb\xa4\x5a\xcb\x64\x24\x0d\x96\x67\xf3\x9d\xba\x36\x39\xb6\x51\x6d\x4c\x49\x47\x57\x3e\xf4\xce\xd8\x76\xb5\xb2\xea\x34\x89\xea\xea\x53\x9f\x55\x7f\x58\xda\x20\x46\x91\xa7\x6e\x29\xc9\x4b\x8b\x05\x38\x23\x2c\x5f\x7d\x0b\xb0\xfd\xd0\x16\x91\x04\x31\x35\x4b\x3e\x1e\x7c\xe6\x2a\xd4\x36\x91\x7c\xd5\xc3\x15\xa5\xbe\x9b\x97\x1c\x80\xf9\x7b\xc9\xd5\xc1\x56\xff\xd6\x4f\xd4\xe3\x1d\xa5\x60\x83\xe0\x2a\x0c\x8f\xce\x55\x4d\xb6\x86\x74\xcb\x62\x70\x0b\xa9\x51\x75\x2b\x82\x9b\x03\xc5\x42\x32\x74\x12\xee\xc9\xcc\xc6\xa5\x0a\xdf\x47\xbb\xee\x15\x44\x66\x82\xda\x2f\xea\x42\x04\x89\x36\xd7\x63\x06\x0c\xd8\xf5\x39\x65\x26\x16\xdf\xa8\x08\xd6\x23\xff\x77\x7b\x41\x13\x65\x2e\x78\x9e\xc0\x25\xb8\x5e\x04\xef\xe8\xad\x4c\x96\x0b\x19\x0b\xf4\xa5\xa6\x32\x4d\x6f\x57\xc1\xad\x22\x01\x8c\x83\xcd\x7e\x7e\x09\x7f\xc6\x7b\x80\x26\x9c\x13\xb4\xdd\x97\x01\xca\x98\xf9\x87\x69\x58\xba\x76\x89\xc6\xf6\xf1\x0a\x73\x2a\x64\xbe\xf2\x2e\x8b\x98\xbd\x30\x4d\x5d\xbf\x4f\xb1\xf9\xe4\xca\x53\x9a\x5c\x4a\xa6\x19\xc4\x4d\x6f\x58\xf8\x24\xb2\xdb\xae\x77\xb7\xe8\x3b\x56\xdb\x5e\x5a\xa7\xb0\xae\x9c\xe1\xcd\x10\xa6\x9f\x04\xa8\x0f\x13\x79\xeb\x0c\x47\x4e\x47\x82\xdf\x0e\x3b\xa6\xa1\x48\x22\x6b\xd1\xa6\x62\xd9\x5e\xe2\xd6\x7c\x52\x07\x33\x3c\xb1\xd5\x41\x76\xd9\xe5\x06\x45\x94\x79\x02\x9f\x31\xdc\xac\xe2\x69\x93\x8f\x6b\xc5\x62\x78\x78\x41\xdc\xfe\x10\x1f\x4d\xb6\x0b\xd6\x60\x16\xe1\xee\xbb\x6b\xfb\xd9\xcd\x83\x04\x2d\xd1\x37\x9a\x46\x4f\x40\x5a\xaa\xe3\xc1\x18\x07\x84\x8c\xc4\xf9\x5c\x3c\xc6\xfa\x92\xab\x4e\xa5\x30\x58\x34\xeb\x86\xb8\x73\xfa\x30\xed\x1f\x7f\x47\x0b\xf6\x63\xf1\xa7\x0c\xf9\xe6\x0a\xb6\x80\xcd\x1d\xbb\xd0\x3a\xc0\x43\x3b\x3d\x4b\xb4\x82\xf8\xb3\x44\xd4\x6b\x3a\xa9\x34\xb8\x63\x3f\x57\x09\x0b\xea\x5f\xcc\xca\x64\x88\x79\x98\x35\xf1\x33\xf8\xbc\xf6\xe8\x87\xca\x59\xd1\x90\x76\xd6\xca\x19\xd4\xe2\x83\x49\x05\x1e\x01\x6b\x03\xe9\xa9\x20\xf4\x12\x0f\xb5\x23\xd1\x37\x1d\x0e\x38\x46\x73\x19\x54\x3f\x12\x7e\xd9\x14\xb4\x3a\xd0\x62\x22\x6a\x53\x65\x82\xdb\x72\x8c\xcd\x76\xe9\x83\xf1\x17\x66\xa8\x86\x3c\x2f\x42\x4f\x65\x50\x8d\xcb\x26\xfe\x0c\x5a\x80\x0c\x35\x09\x39\x60\xa1\x21\x97\x6e\x30\x51\xe2\xef\x1a\x2a\x99\xc1\x2f\xb7\xbd\x8b\xc0\x37\xa4\x39\x68\x68\x06\xeb\x72\x01\x7a\x07\x1a\x91\xb3\xe3\x9c\x90\xe8\x6b\xc3\x35\xf9\xbb\x54\x3b\x12\x7c\x98\x86\x73\x8c\xb5\x38\x06\xb9\xcb\x3c\x25\x94\xc7\xef\xfc\x2a\x59\x20\xaa\x83\x4b\xe6\x5c\x49\xf4\x79\x64\xe8\x9e\xec\x74\x72\x8d\xe7\x71\xf3\xd6\x75\xde\x9d\x1e"}, -{{0x67,0x69,0xcc,0x8e,0x12,0x56,0x17,0xc2,0x2c,0xe5,0x72,0x37,0xa4,0xfc,0xa1,0x50,0x7f,0x94,0x12,0x34,0x66,0x1d,0xf7,0x43,0x28,0xd0,0x4a,0xb6,0x2e,0xf8,0x6c,0x47,},{0x05,0x11,0x2c,0xa6,0x0b,0xaf,0xf7,0x9b,0x49,0x16,0xc1,0xbe,0xe2,0xb9,0x39,0x0c,0x04,0x7a,0xf0,0x8c,0x35,0xeb,0xb3,0xc3,0x81,0xb9,0x74,0x8d,0x1d,0xd4,0xc4,0xfd,},{0xd3,0x9d,0x85,0x3d,0x2c,0x2c,0x5d,0x21,0xb5,0x87,0x1e,0xa5,0xa7,0x5c,0x04,0x10,0x48,0xd9,0x3a,0x47,0xdc,0x59,0x9a,0x5f,0xdd,0xc0,0x85,0x62,0x85,0xce,0x63,0x6f,0xcd,0xfd,0x85,0x64,0x08,0x3d,0x06,0xff,0x28,0x4a,0x52,0x4b,0xc6,0x33,0xcf,0xdf,0xc3,0xb0,0x37,0x16,0x3d,0x67,0x4c,0xb9,0xbb,0x5b,0xa3,0xbc,0x25,0xbe,0xd0,0x0e,},"\x68\x54\x89\x73\x9b\x98\x56\x47\x49\x58\x7f\xf1\xac\x96\xba\x68\x2d\xa3\x0b\x40\xa4\xde\x24\xf5\x4e\xc8\xb0\x83\xdd\xa4\x53\x33\x16\x21\x67\xcb\x3f\x97\xb2\xc7\x31\x4c\xe7\xa3\xf3\xf3\xd3\x19\xcc\xc3\x5b\xb6\xa9\xf0\x07\x7d\x56\x31\x61\xe2\x81\x46\x9c\xf0\x89\x68\xd9\xdc\xf7\xae\x5f\xff\x83\x0a\x5d\xb0\x0b\xc3\x80\x10\xe6\x66\x2d\x49\x4f\x3c\x86\x47\xc4\xf7\x0c\xe2\xd2\x9a\x9d\xa8\x46\x10\xa0\x80\xb5\x75\x9a\x3b\x58\x20\x52\xdf\xde\x66\xe4\xa7\xfa\x5f\xb2\x7f\x06\x50\x73\xfe\x72\x3d\x83\x70\x1d\x5b\xac\x06\xca\x43\xb4\x6d\x1e\x58\x09\x76\x70\xc1\x94\xa1\x3a\xf8\xb5\x73\xa3\x79\x1a\x96\x61\x55\x7c\xbc\x04\x27\x57\xab\x8a\xdd\x0e\xf7\xcf\x4f\x35\x43\x5a\x42\x12\x35\x3f\xcb\x3c\x20\x3c\x73\xdb\xc9\xd2\x68\x52\xd0\xe9\x17\x32\xe3\x62\x1c\xe8\x28\x92\x9c\xdc\xa4\xd9\x19\x20\x48\x75\x19\x22\xed\x22\x5e\xab\x29\x00\xcf\xf9\x71\xa2\xa2\xd3\x42\x46\x36\x48\xbb\xb1\x94\x43\x19\xa8\xef\x6d\x43\xdb\x62\x48\x0f\xbf\x1d\x72\x57\xd2\x26\x94\x53\x97\x93\xf2\x5c\x92\x79\x17\xca\xab\x25\xc1\x19\x3a\x2d\x2b\x23\xbb\x5c\xb8\x56\x9a\xef\xff\x4f\x0c\xa4\x23\xd1\x9b\xbd\x46\xfc\x5e\xf7\x52\x4f\xf8\xcb\x70\x6f\xfc\x47\x07\x65\x09\xc0\x5a\x81\x58\xaf\x77\xf9\x8d\xf6\xa9\xb5\xcb\x32\x44\xab\xa4\xb5\xc5\xf9\xce\x59\x7e\x7d\x29\xba\x07\x01\x3d\xca\xc1\x91\x1b\x6d\xe7\x11\x3c\x73\x6a\x40\x05\xc4\x59\x99\x29\x79\x01\x9a\x45\xb2\xdd\x80\x2a\x07\x66\x09\x09\xeb\x4c\xe2\x05\x40\x81\x70\xd8\x25\x45\xda\xcb\xa8\x68\x6d\xbd\xe9\x27\xdb\xc9\xc7\xd9\x62\x05\x8e\x9a\x95\xea\x66\xb8\xdf\xd3\xea\x43\x53\x57\xa9\x3c\x73\x94\x8c\xd3\x55\xf6\xac\x65\x52\x32\x3f\x17\xc2\xa6\x78\x66\x2b\xc0\xe9\x72\x6a\xd5\xa5\x25\x1d\xd2\x76\x47\x40\x4c\xbf\xe6\x1c\xea\xaf\xdc\xfc\x08\xa4\x75\xff\xd8\x7c\xb7\xf5\x97\xe5\x6a\xc1\x67\x04\x09\xdd\x94\x08\xae\x47\x70\x42\x0c\x6e\x5e\x6d\xd8\xe7\x48\xfe\x03\xa7\x2d\xc1\x28\x03\xd0\x27\x71\xd9\x2f\x47\xe6\xe7\x17\xcc\xc1\x44\xfc\x03\x72\x75\xb6\xf7\x45\xdd\x30\xda\x1a\x45\xd2\x9d\xb6\xd9\x07\x3e\xee\x50\x09\xcf\xd5\x46\x27\x33\x41\x4a\x49\x5f\x34\x9d\xb0\xb6\xdb\xf2\xce\xa9\xcc\xd5\x72\x38\xed\x5e\xe9\x1a\xd8\xbc\x86\x17\x9a\xd5\x69\x5a\x85\xa5\x04\x84\xe6\x17\x75\x1d\xe5\xef\x7a\x7d\x8a\x8d\xb9\x50\xa9\x8a\x6b\x7f\x7d\xee\x9d\x42\xa5\xdf\x69\x2f\xcc\xf5\x55\xc9\x40\xdc\x39\xcf\x2e\xac\x48\xcb\x9d\x15\xcd\xa1\x4d\xd2\xa7\xec\xc0\xb7\x6e\xbe\xc6\x8a\xd4\x17\x7d\x11\x17\xe0\x77\x66\xc4\x85\x90\xd4\x3c\xa7\x66\x28\x68\xeb\x97\x90\xac\x29\xf4\xf2\x39\x2b\x9a\x93\xf8\x97\x59\xe7\xba\x54\x6b\x92\x5b\xd8\x6f\x80\x7d\x8d\x16\xc7\xe6\x37\xdc\xc6\x66\xe9\x05\x90\xbf\x43\x0d\x98\x6a\x67\xf1\xb0\xc7\xc2\xc9\x49\x30\x84\x58\x69\xed\x8d\x8a\xdd\xe1\x8f\xc1\x88\x74\x56\x88\x1b\x4b\x26\xb5\x3d\xcb\xa7\xa5\x26\xf0\xec\xa1\x4e\x8b\xb6\x89\xd6\x6f\x0a\xa1\xb2\x53\xc3\xdc\xfc\xf5\x95\x40\xd5\xd2\xf5\xad\x61\x7f\x52\xc3\x09\x38\xa5\xa9\x2e\xa3\x85\x07\x7d\x75\xaa\x4a\xc0\x7a\xfc\x2b\x35\xfb\x8c\x1d\x5e\x78\xeb\x29\x5f\xc2\x0f\xe3\x7c\x41\xac\x06\x95\x9d\x3a\x17\x97\x84\x3a\xd7\x05\x6c\x1b\x41\x2d\xd0\xb4\x80\xaa\x3b\x39\xbc\xc2\x05\x87\xd9\xa0\xfe\xf9\x2c\x6c\x95\x0e\xbc\x5b\xb8\xe1\x42"}, -{{0x1d,0xf7,0xac,0xfb,0x96,0x33,0x04,0xe5,0x1e,0xc4,0x71,0xca,0xf1,0x81,0x10,0x25,0x56,0x78,0x3c,0xb7,0xd9,0x1e,0xad,0x30,0xbd,0xc2,0x53,0x4d,0x07,0x8a,0x14,0x88,},{0x05,0xa3,0x1f,0xfc,0x70,0xe4,0xe3,0x56,0x9f,0xc2,0xbe,0x11,0x0c,0x64,0x3a,0xd5,0xf0,0x87,0x91,0x3c,0x7a,0xa4,0x76,0xdc,0xd8,0xd6,0xe4,0xbc,0x7e,0xc2,0x2d,0x24,},{0xb1,0x81,0x93,0x8d,0xe1,0x01,0x42,0xf3,0x24,0x07,0xb4,0xe7,0x86,0xcd,0xdd,0xe9,0x32,0xeb,0x11,0xdb,0xc0,0xbf,0x0e,0x5a,0xc5,0x09,0xfa,0xe7,0xa5,0xbc,0xc3,0x29,0x61,0xfe,0x34,0x48,0xf9,0x12,0xc8,0x50,0x0f,0xc6,0xdb,0x4e,0x1d,0x32,0x62,0xa8,0x3c,0x9d,0xbe,0x76,0x9b,0xb8,0xc3,0xa7,0x61,0x00,0x0f,0xe3,0x6c,0x0d,0x71,0x04,},"\xb0\xc3\xee\xb5\x7f\x14\x60\x6a\xb7\xab\xea\xb2\xee\x05\x73\x84\x3c\xa2\x2e\x6d\xb2\xfd\xf2\xc9\x06\x4c\xea\x51\x98\xdc\x58\x30\xeb\x15\x8d\xa8\xe2\xda\xa8\x88\x57\xaf\x8b\x8e\xef\xcc\xf0\xc2\x6c\x3e\xc0\xf3\x30\xe9\x2c\xff\x06\xbc\x05\xa2\x9b\xfc\x99\xf9\x40\xb6\x1f\x3c\xfb\x29\x64\xb3\x37\x09\x7a\x65\x50\xa3\xe9\xa3\x28\xc8\x5b\xe6\xf1\x60\xd2\xc0\xa5\x7f\xf6\xf1\xb3\xc5\xff\xcc\xa8\x90\x89\x42\x5a\xb6\xbe\x01\x72\xe1\x75\xba\xf4\x0c\xf1\x2b\x24\xa8\x15\xf7\x0f\x29\xa3\xa4\xcd\x0a\x6a\x13\x2f\x12\x00\x97\x75\x2f\x4b\xc7\x43\xed\xe0\x8f\x5f\x21\xd4\x2f\x28\x2f\x76\x71\xf7\x78\x3e\x27\xb2\xa8\xe2\xc1\x46\x92\xf1\xe0\xe5\xde\x82\x85\x5d\xab\xf9\x8a\x1a\x63\x97\x60\x06\xff\xbf\xe5\xf5\xa5\x79\xb4\x60\xe2\x6d\x06\xbd\x54\x28\x42\xa5\xf9\x26\x1b\xbf\x26\x04\x51\xd2\x32\x1c\x50\x89\x32\x01\x3c\xc6\xe9\x04\xf7\x9b\x5e\x46\x86\xd0\x33\xe1\x2c\x7b\xbd\x7e\xb1\xc9\x23\x79\xc5\xec\x34\x1b\xf6\x45\x7a\x3f\x17\x26\x4a\x7c\x27\x8b\x27\x50\x1e\xca\xed\xc3\x61\xeb\xa8\x44\x44\x23\x42\xb4\xb1\x0f\xa9\x4d\x26\x58\x65\x11\x6a\xcf\x43\xfc\xbe\xc9\x65\xd2\xab\x4b\xbb\xe6\x14\xc4\xf9\x0a\xb6\xb3\xe0\xd5\x38\x3f\xa0\x49\x88\xbf\xbb\x26\x03\x07\xdd\xe2\x2d\x84\x09\x8b\x63\x31\xd1\x55\x14\x1a\x92\x7b\xb7\x8d\x66\x4b\x34\x1d\x2f\x2a\x93\xe2\x91\xcf\x79\xba\xae\xcd\x26\x12\xf6\xb1\x04\xf3\xfc\x81\x37\x3a\x7c\x6a\x04\x5b\x59\x24\xbf\x95\x0c\xd5\x42\xf7\xb7\xac\xce\xf3\xaa\x7d\x72\x5d\xe0\x53\x05\x5d\x95\x1b\xd7\x68\x11\x13\x92\x59\x66\x38\xae\x09\x71\x70\xf4\x49\x2b\xa5\x0a\x46\x8f\x8e\x34\x77\x63\xdb\x61\x2d\x3c\x7d\xe7\xe5\x64\x59\xb2\x6e\xe0\x29\xc6\x30\x82\x7a\x35\x3a\xee\x73\xde\x68\xd6\xd7\x2b\x27\xaf\xd7\x5d\x22\x16\x45\x27\x94\x5c\x72\x26\x84\x4f\xab\x15\xb8\xdc\xc9\x14\x34\x9e\x31\x41\xc6\x13\x16\xad\xc8\x94\xde\xdc\xdc\x84\x39\x84\xd9\xc7\xfe\xae\x39\xdb\x33\x2d\xc3\x93\xe9\xe8\x96\x1b\xbd\xe0\x71\xc3\xd2\x85\x8b\x3c\xb5\xf3\x3b\x16\x4a\x15\x61\x6c\x6f\xe1\xbb\xc2\x4a\x35\xf2\x13\x36\xd2\x61\xc5\xd8\xcf\x75\x9e\x27\xe2\x2c\x91\x01\xc4\xae\xbd\xe3\xe1\x26\xcf\x64\x6c\xa7\xb2\xe0\x31\x28\x09\x5c\x59\x76\xbf\x3f\x6e\x49\x1a\xf0\xf0\xb6\x40\xc7\x31\x09\x66\xac\x59\xc5\x9f\xbc\x5b\xfe\x05\x48\xf8\x8e\xe6\x1a\xd9\xec\x40\xc1\xc0\x6d\xd2\x9d\x79\x4c\x44\xa3\xea\x22\xc3\xd4\x76\x26\x22\xec\x1e\x8b\x33\x3e\x45\x07\x4d\xb9\x37\x41\xfd\xa1\x93\xc9\x11\xf6\xdb\x58\x79\xe5\x5e\xe3\x6e\xf6\x02\x61\x4a\xe6\x4a\x5c\xde\x9d\x83\x06\xd2\x2f\xbc\x4a\xe9\xc8\x81\xa5\x94\xbd\xe6\x79\x61\x25\xfc\xb6\x28\xb9\xf3\xb6\xfb\x3f\xfd\x51\x1b\x35\x3f\x14\x6a\x27\x27\x2a\xfd\x3e\x5d\x28\xb7\x7f\x58\xa6\x7f\x1f\xd2\x72\x85\xc2\x5e\xcc\x1c\xcf\x64\xe3\x8d\x21\xf3\xb9\xff\x22\xe0\x0e\xe9\x00\x62\x9e\xf1\xa6\x3e\x71\x3f\x25\x88\x83\xdd\x91\x1f\x30\xc0\xd3\x98\xb7\x4b\xd7\x97\x14\x9b\xe5\xe2\x69\x67\x22\xda\x09\xd5\x2d\x4e\xbf\x3c\x67\x39\x29\xd2\x98\xaa\xc3\x4c\xe0\x5b\xea\x08\xea\x9a\x42\x4e\x93\x45\x9c\x2e\xb8\xfc\x22\x22\xc3\x1c\xc1\x3d\x80\x3b\x90\xa8\xa7\x0b\xcd\x0a\x30\xc2\x09\x21\x1d\xc2\xcc\xc8\x5b\x0b\xcd\x45\x82\xc6\x95\xf5\x8d\x80\xbf\x6e\xc4\x71\xa2\x50\x5f\x68\x84\x7a\x75\xf6\xe9\x11\xfd\x87"}, -{{0x7e,0xd8,0x7c,0x36,0xdf,0xdb,0xae,0x60,0xc9,0x40,0xa3,0xb3,0x25,0xc1,0x9f,0xde,0xd8,0x14,0xd7,0x6a,0x54,0x48,0x20,0xa3,0x2f,0x28,0x6a,0x5c,0x0a,0xd7,0x1d,0x72,},{0x3c,0x4a,0xc5,0x10,0xb3,0x62,0x22,0xc2,0x52,0xa2,0xdc,0x1a,0xfc,0xb4,0x0f,0xb0,0xeb,0x85,0xbc,0xa9,0x03,0x91,0x19,0x6a,0x58,0x83,0xaa,0x2c,0xc9,0x12,0xb2,0xdf,},{0x57,0x9b,0x38,0x12,0x4b,0xd0,0x59,0x1a,0x59,0x7c,0xc9,0xa3,0x89,0x12,0x7c,0xea,0xf5,0x51,0x56,0x07,0x73,0x63,0xed,0xb8,0x11,0xd0,0xb6,0x55,0x52,0xac,0xfc,0xc6,0x77,0xb2,0x72,0x94,0x21,0x99,0xca,0x25,0xab,0x79,0x0d,0xe6,0xe0,0x84,0x60,0x3a,0xd1,0x05,0x2e,0xc2,0x10,0xcf,0x6f,0xcb,0x14,0x17,0x28,0x90,0x67,0xce,0x3c,0x08,},"\x62\xd3\x13\x91\x2a\xbb\xb0\x06\xb7\x77\x4a\x67\x37\x71\x4a\x34\x99\x70\xce\x04\x21\x11\x2f\x40\x04\x63\xd3\xdb\x0e\x2f\x7f\x12\x8d\x7b\x96\x93\x9f\x43\xc1\xe7\x10\x7b\x51\x18\xa7\x7c\x11\x96\x83\xd8\x66\xb7\xe3\xd7\x2a\xc2\x1f\x6b\x42\x72\xb4\xbe\x92\x89\xb6\x55\x6f\xe3\x1b\x60\x51\xa0\xb4\x2e\xd5\xea\x0c\xf3\x47\x69\x6d\x30\xfb\x8b\xff\x6b\x8b\x57\x27\x19\xde\x19\xa2\x31\xcc\x85\x45\x9a\x99\x0c\x37\x80\x1f\x08\x37\x18\x6c\xef\xbb\x55\x21\x56\x96\x66\x96\x7c\xd4\x24\x3d\x73\x07\xf1\xb0\xb2\x4c\x8e\x2b\x9b\x69\x23\x17\x30\x4f\xbe\x3d\xd0\xa2\x63\x65\x01\x91\xb3\x52\x16\xf5\x29\x16\x57\x3a\xf9\x05\x24\xf9\x1d\xb1\xa9\x24\x71\xd7\x58\xc9\x2d\xc6\xd1\x4d\x1a\x4b\x26\xf4\x1b\x40\x40\x3c\xa8\x7d\xcf\xab\xdc\xa4\x7b\x9f\xc2\x53\x35\x78\xf1\x61\xf3\xb0\x19\x9b\x5c\x69\x8e\x08\x07\x04\xb2\x1c\x9e\x61\x52\x69\xfc\xd0\xd4\x04\x39\xed\x8b\xc3\xbd\xfb\xc9\xaf\xb4\x4c\x11\xfa\x89\x27\x5f\x0e\xaa\xa5\xd0\x8f\xa9\x59\xd6\x37\x8d\x0d\xb8\x99\x10\xd4\x8f\x2d\x86\xa1\xeb\xfc\x5c\xbf\x10\xeb\x2d\x5a\xad\xf5\x1b\xbd\x83\x44\xff\x8b\xbb\x5b\x8a\xfe\x05\xa4\x50\x11\xb5\xe4\xb7\x2e\xb8\x64\xad\x26\x3e\x8a\x03\xa6\xc7\xf9\x8a\xee\xb3\x54\xf7\x30\xa3\x18\xaa\x30\xfb\x56\xd3\x3d\x80\x74\x8c\x98\xeb\xec\x15\x87\x8c\xcf\x3c\xe8\x22\xf6\x9d\x34\x56\x84\x3c\x40\x0d\xc5\x6b\x48\x1a\x95\xe6\x88\xb8\xa4\x73\x5b\xf3\x84\x3f\x58\x33\xdd\xa0\xef\xe0\x9e\x71\x75\xb5\x67\xc6\x61\x38\x7a\xfd\x2e\xbc\x07\x9a\x48\xe3\x49\x67\xec\x97\xb9\x27\xdf\xa5\x81\x88\x8f\x23\x1a\x98\xa7\xed\x33\x10\x3b\xfa\x8e\x8f\x9b\xa6\x51\x35\x27\x90\x0b\x39\xb8\x62\x31\xda\x79\x11\xa2\xfc\x93\x58\x88\xa7\x5f\x11\x29\x58\x4a\xff\xf2\x02\x52\x49\xc4\x18\x8f\x09\x05\x2f\x85\x68\x77\x06\xd0\x5e\x29\x91\x44\xd4\x0d\xe8\x89\x8b\x7c\x8b\x2d\xfe\xf0\xc3\x70\x85\x73\xd8\xb0\x56\x3a\x6b\xd0\xa5\x04\xc0\xb6\x74\x57\x02\xb1\xb5\x71\x21\xc6\xf0\x40\xaf\xf2\x71\x98\x94\x8b\xa6\x9c\x21\x25\x3a\x28\xd3\x9e\xba\x72\x62\x19\xbe\xda\x1f\x82\x09\xfb\x83\xe9\xad\xb0\x7a\xd4\x09\xfb\xd6\xd2\x55\x65\x88\x9a\xb4\x51\x23\xf9\xd9\x45\xec\xd7\xd9\xca\x70\x28\xec\xe0\x92\xe3\x5f\xbb\x7c\xb3\xf3\x28\x12\x6e\xfd\xda\xc5\xd8\x59\xf2\xb2\xc6\xeb\x09\x01\x33\x69\x0e\x20\xc1\x7d\xea\xf3\x88\x26\x85\xf0\x7e\x9e\xd2\x65\x3b\x80\x3b\x9b\x38\x3b\x70\x74\x8a\x1f\xa9\x2c\x86\xf8\x6d\x6c\x47\xea\x87\xb1\x0b\x12\xe3\x63\xba\x50\x80\x60\xf4\x7c\xe2\xa2\xf3\xb6\xa3\xee\xfc\xd4\xda\xcf\xc7\x1c\x41\xf4\x36\xfe\x0c\x2b\xc3\x4d\x4b\xaa\xd4\x95\x74\xe7\x44\x3c\x12\x6a\x58\x9f\x6e\xf7\xbc\xa4\x49\x54\xf0\xbb\x28\xec\x71\x51\xb0\x51\x1c\x23\xc6\xbc\x42\xd5\xe8\x59\x83\xec\x16\xbb\x5f\x50\xa3\x82\xd6\x88\x15\x0a\x49\x60\x9c\xbd\xe5\x69\x8e\x86\xdc\xbf\x02\x12\xc2\x29\x22\x99\xdc\x4d\xcf\x87\x42\x9f\x6c\xd2\xee\xc8\x09\x48\xce\x86\x7e\x25\xc9\x45\x84\xcd\xc6\x4b\x09\x90\x29\xeb\x85\x4e\xdc\x26\xea\x21\x42\x1e\xff\x48\xcf\x4e\x41\xf4\x9e\x2d\x89\x47\x8d\xef\x06\xc4\x2b\xea\x22\x0a\x13\x3e\x50\xf5\xc7\x44\x64\xc7\xe7\x3f\xb1\xc1\xa7\x7c\x50\x7c\xf6\xcd\xa8\x5b\xe4\x02\xb7\xe6\xd6\xd2\x1e\x81\x0d\x6d\x0b\x59\x72\xb9\xfe\x77\xe5\x4e\x74\xae\xe1\xf3\xbb\xfd\x6e\x7d\xe6\xb5\xc0"}, -{{0x6a,0x29,0xf8,0x1b,0x8d,0x9a,0xa4,0x8a,0x1b,0x23,0x36,0x4e,0xac,0x8f,0x6a,0x4b,0xdd,0x60,0x7a,0x84,0xcf,0xe8,0xe8,0x8d,0x90,0x17,0x5d,0x80,0x64,0x3a,0x58,0xa8,},{0x4c,0x3b,0xe3,0xa2,0xa8,0x42,0x5f,0xf3,0x1c,0x3a,0x0d,0xb4,0xa5,0x2a,0x0c,0xb1,0x41,0x6c,0xeb,0x48,0xcc,0x3e,0x4c,0x28,0xa4,0xf2,0x28,0x4a,0xb3,0x46,0x07,0x15,},{0xdf,0x09,0xcb,0x9b,0x87,0x8d,0x3d,0xc9,0xe5,0x42,0xdb,0xac,0x28,0x94,0x3e,0x28,0xe4,0x1d,0xce,0xcb,0x92,0xcb,0x7e,0xa4,0x40,0x09,0x88,0x5e,0x46,0x49,0x97,0x43,0x33,0x05,0x61,0xba,0x1d,0x36,0xae,0xdd,0x46,0x76,0x75,0xfd,0xca,0x2b,0xaa,0xa4,0x70,0x1b,0x6f,0xad,0x97,0x9f,0xd8,0x39,0xc4,0x70,0xd1,0x3c,0x82,0xda,0xa9,0x05,},"\x78\x76\xa3\xf4\xeb\x69\xbb\x7e\x54\xe9\xff\x95\x4e\xbd\x3b\x10\xb9\x3a\x4c\x1a\xfe\xae\x92\xfa\x03\xc1\x03\xcb\x63\x13\xa2\x01\xc5\xb3\x3a\x9a\x72\x23\x75\x5c\xb5\x10\xe2\x5e\xc5\x82\xb5\x4e\x81\xb8\x49\x56\xf6\xc5\x3f\x1f\x08\xa6\x3b\xf0\xc4\xa2\x61\xaf\x45\x0e\x52\x3f\xe8\xf6\x1d\xdb\x3c\x0e\xea\xb8\x75\x10\x72\x68\x88\x01\xb2\xa4\x73\xb7\x1a\x2e\x38\x70\x8d\xa6\x8c\x2f\x37\x92\x5c\xb0\x5a\x20\xc4\x28\x3b\x3a\xf9\x7b\x6f\x0b\xa6\x5a\x54\x03\x55\x43\x75\xe2\x15\xd9\xe3\xaa\x1b\x0f\x9f\xdb\x0f\x84\x99\x23\xed\xbd\xaa\x0a\xb4\x81\xc5\x45\xa5\xdf\x8f\x51\xd1\xf6\x8b\x22\x35\x07\xea\x0e\xcc\xfa\xeb\xb5\xfc\xcf\x5e\x3d\xfa\x65\xa4\x4e\xea\x50\x45\x68\xa8\x81\x80\xa0\x60\xbb\x06\xc5\x15\x57\xb8\x1e\x66\x7b\x4b\x04\xe3\x21\x0f\xa4\xc3\x79\x87\x6c\x49\xf3\xe5\x6b\xf2\xbe\x1c\xf5\x19\xa7\x41\x83\x93\xd2\x40\xdc\x8a\x22\x4c\x6c\x38\xac\x2a\xb9\xd8\xfa\xdf\xc5\x36\x20\x30\xc7\x93\x0c\x3c\xe7\x79\x5b\x14\x7c\x26\xc8\xa2\x8c\x65\x34\x29\xd9\x0a\x17\x3a\x86\xa8\xb1\x8a\x00\x9e\x62\xae\xf6\xec\xa9\x5d\x39\xbd\xbe\x45\x64\x77\x78\xa2\x53\x2a\x41\x5a\xe1\x9b\xad\x23\x11\x29\x12\x78\x42\xfe\x1d\x0f\x11\xfa\xb4\xa1\xcf\x0b\x17\xe4\x98\xcd\x59\x52\xc9\x39\xe0\x90\x09\x02\x87\xb1\x44\x89\x5d\xff\x00\xce\xc8\xd6\xae\xda\xf6\x24\x81\xa4\x17\x83\xe0\x21\x08\x2c\xe3\x52\x06\x3e\x62\x81\x1f\xd9\x99\x90\x10\x4d\x8a\x46\xcd\xca\xee\x2b\xab\x45\x8e\x52\x47\xfb\x02\x3e\x92\x33\x30\xa4\x28\xc7\xbc\xfd\x20\xb0\x8f\x52\x0e\x89\x46\xdd\x65\x83\x47\x35\x2a\xe0\xc4\xbe\x73\xc3\xd5\xec\xcd\x11\x14\x9f\x3a\xb7\xb8\x05\x2c\xfd\x95\xc3\x5d\x41\x64\x54\x6f\x5d\x8f\x37\x75\x17\xa7\xf4\x32\xc0\xd5\x56\x3a\x7b\xcc\x7b\xd1\x19\xd3\x42\x1d\xfe\xba\xae\x84\x45\x99\xb2\x9b\x38\x3b\xb8\xd5\xdb\xf1\x40\xd9\xbd\x47\xa0\x78\xb7\xae\x7c\x6a\xa8\x7b\x1e\x29\x23\x6c\x9f\xcf\xd6\x54\xb7\xf8\x09\x79\x4c\xcc\xb2\x61\x58\x8e\x18\xde\xc6\xc4\x04\x6a\x93\x40\x67\xd0\xdf\xa0\x37\x91\xd0\x3d\x83\xb7\x18\xac\x4d\x24\xdc\xe7\x85\xa3\x02\x8d\xe0\xc9\x59\x2d\xba\x7c\x5c\x58\x45\x18\x4a\xfc\x9c\x0d\xfc\xf9\x40\x95\x86\x0f\x0e\xb8\x02\xeb\xea\x20\x17\x8e\x78\xb5\x64\x2e\x5d\xd6\x1c\x33\xb3\x97\x69\x05\x2d\x9d\x85\x4d\xce\x90\x2f\x47\x6e\x21\xf9\x6c\x65\x0b\x46\x3b\x7b\xc3\xd0\xff\x29\x96\xb6\x5c\x57\x83\x1f\x8b\x7c\x0f\xb9\x15\xf4\xdd\x72\x26\xac\x95\x5c\xbc\x7d\xfb\x03\xf9\xb7\x58\xdd\x3e\x0d\xfc\xe2\xe0\xe5\x80\xc9\x1a\x30\xc7\x83\xff\x56\x7b\x17\xf1\x2d\xfd\x5d\x31\x37\x64\x6e\x20\x01\x1c\xdc\xaa\xe1\x11\x02\xdc\x71\x68\x86\xcb\xf1\x23\xc0\x94\x88\xb1\x73\x63\x6a\xbd\x54\xe9\x62\xca\xee\xc9\x7d\x5e\xb9\x40\x68\x2e\x70\x3b\x73\x0f\x61\x56\x2c\xd1\x4b\x9e\x65\x61\xb5\xe9\x3f\x60\xcd\x0e\x1e\x86\xd1\xa1\xb4\x71\x9c\x5b\x50\x82\x42\xbd\x6b\x2d\x9a\x54\x8f\x59\xbb\xb8\x75\x07\x59\x69\xef\x20\x32\xf3\x19\x6b\x8a\xec\xcc\x45\xa4\x4d\x9d\xbd\xaf\x87\x8e\xd1\x6f\x1d\x85\x5e\x89\x18\xed\x65\xa4\x5e\xe5\xc7\xfa\x32\xa1\xec\x69\x32\xa1\x59\xcf\xb5\x0f\xfc\x87\xbe\x06\xdf\xcf\x72\x28\xae\x88\x70\xcc\xd3\x57\xfc\x65\x6e\x33\xfa\x4b\x6b\x8b\x7d\x1a\x72\x15\x55\x3c\xab\xac\xc7\x0a\x39\xc9\x80\xb9\x71\xe5\x1a\x17\xed\x63\x18\xb4\x3b\x29\xbb"}, -{{0xef,0x12,0xdf,0x47,0x9d,0x98,0x3a,0xd9,0x6e,0x8b,0xa6,0x53,0x30,0xb3,0x6d,0x49,0xaa,0xdb,0x98,0x31,0x64,0xe1,0xc0,0xb4,0x52,0xb5,0x60,0xde,0xd1,0xd0,0x8d,0x60,},{0xf7,0x61,0xcf,0x28,0x26,0x92,0x7a,0x7c,0xda,0x8c,0xb0,0x4f,0xaa,0x2c,0x59,0xf8,0x42,0x5a,0x8f,0x7d,0x39,0x8f,0x76,0xe8,0x67,0x02,0x1c,0x95,0x1f,0x07,0x38,0x09,},{0x4c,0x80,0x10,0x86,0x6d,0x91,0x15,0xf0,0x52,0x93,0xb9,0x34,0xca,0xc6,0x81,0x04,0xcc,0x2c,0x34,0x37,0x56,0x8c,0xb9,0xd5,0xc5,0x70,0xb1,0xa8,0xbe,0xe7,0x06,0x60,0x30,0x75,0x53,0x70,0x33,0xbd,0x70,0x8a,0x9c,0x9f,0x3d,0x1e,0x25,0x19,0xa9,0x15,0xb1,0xc4,0xae,0x4c,0xcd,0xdf,0xcf,0x0e,0xd0,0xc0,0x49,0xd3,0x42,0xa0,0x2e,0x02,},"\xe5\x8f\x34\xda\xea\x75\x5a\xc4\xe4\x13\x33\xd6\xf0\xed\x01\x35\xf7\xdb\xce\x50\x30\x9b\xb1\x95\x6b\xc7\x1a\xcb\x12\xc7\x70\x67\xa6\x47\xff\xd8\x6a\xa5\x87\x0c\x0c\x00\x07\xe8\xf9\x95\xa2\x2b\x88\xc4\x67\xde\x22\x54\x44\x54\x42\x01\xc5\x57\x49\x5e\x25\x3e\x33\x19\xcc\x5c\xa3\x76\xd3\xe7\xcc\x1e\xb4\x67\x34\x6e\x52\xad\x95\x6a\x6f\xa7\x33\x72\x0b\x17\x11\x7b\x5b\x75\x85\xe4\xd5\x59\x40\x9a\xae\xfa\x95\x58\x0f\x91\xe5\x02\x01\x5f\x49\x7c\x5c\xdc\xb7\xd4\xd5\x61\xf5\x44\xef\xa3\x5c\x1e\x2a\x53\xb7\x2b\xdd\xec\xee\xc2\xd1\x05\x0f\x17\x7d\x48\x0f\x68\x74\x05\x66\x4d\xfd\xde\xc0\x6e\xee\x4b\xd1\x47\xa9\x12\xfd\xbf\x74\xf2\xa9\x5d\x1f\xd1\xe1\x12\x68\x69\x4c\xe4\xd4\xec\x4f\xff\xd6\xdd\xb3\x25\x4d\x36\x0f\x23\x6f\xab\x4d\x1a\x17\xf8\xd0\xd1\xa5\x11\xf9\x44\x69\x2f\x23\x96\x39\xae\x03\xd6\x4f\xac\xec\x65\x38\x42\x7a\xb7\x1f\x71\x27\xf4\xa2\x76\xf9\xbc\x45\xbb\xa6\x11\xdf\xcc\xe6\x44\x6c\xc1\x39\x68\x97\x6c\x8b\xb6\xd6\xfe\x21\x06\xd7\x05\x92\x2d\xca\xc9\x56\x96\x6a\x76\xd4\x8f\x2a\xff\x4b\x86\x51\x4e\x39\xa6\x7e\x16\x43\xfc\xc3\x21\x85\x80\x24\xe6\x93\x18\x98\x33\xc8\xad\x59\xb4\xb6\x25\x29\x8e\xba\xfe\x64\x62\x6b\x48\x0f\x32\x6f\x13\x40\x72\x3c\xb3\xd3\x83\xf4\xfc\xcb\xfc\x23\x7a\x3f\x4c\x4f\x7e\xcf\x0b\xa4\x36\xb3\x2c\x2f\xe3\x51\x79\xda\x93\x11\x1b\x48\xcc\x9e\xa2\x42\x02\xbd\xc1\xb2\xfb\x60\xa4\x31\x9d\xfd\x98\x64\x47\x0f\x73\xf5\x41\x37\x20\x6e\x0b\xf0\x07\xf5\xae\x88\xa8\x87\x47\x00\x8a\x60\xf4\x78\x9a\xd1\x67\x72\x4f\x17\x9c\x02\xb6\x3a\xed\x00\x25\x73\xd2\x8a\x6b\xcf\x88\xe0\x7c\xe8\xda\xea\x5d\x5f\x1a\xcf\x48\x7b\x4c\x5c\x16\xc2\xbf\xe1\x12\x31\xea\x5e\xa7\x63\xe8\xf3\x32\xcc\x73\xda\x1b\x2f\x8c\x19\x8e\xa8\x17\x3f\xd3\x3d\x4b\x2a\xe6\x9e\x5d\x4d\x1a\xad\xdd\xf2\xfd\x82\x1b\x85\xbe\x45\x15\x19\x62\xd1\xf9\x9d\xf8\x13\x08\x61\x88\x52\xad\x7c\xf4\x1d\x72\xda\x08\xa1\xb3\x9d\xf7\xd8\xb9\x94\xb4\xdd\xff\x37\xf9\xdf\xe8\xf3\x8c\xe3\x0e\x91\x06\x1d\x95\xd5\x8f\x7a\xe8\x26\xb0\x23\x85\x27\x2e\xc0\x9f\x01\xa7\xb3\xe4\xb3\x91\xd0\x9b\xce\xd6\x65\xda\xd6\x95\x05\xb4\x19\xda\x84\x81\xbc\x37\x92\xbf\x8b\x8e\x7a\xd6\x4b\x63\xf2\x45\x66\x6c\x8c\x32\xfd\x5c\x1b\x1b\x48\xc9\x95\x1e\x1c\x21\xa1\xeb\x5f\x50\x7c\xff\x13\x7c\xfb\x86\x2c\x2c\xc9\x87\x66\xe8\x78\xc9\x30\xa0\x83\x82\x8c\x9d\x8d\xb1\x8b\xf1\x67\x16\x68\x5f\x39\xd6\x57\x2a\x8c\xa8\xb2\xa5\x14\xf7\x70\x03\xd4\xe7\x5b\xc1\x54\xae\xbf\x14\x10\x37\x78\xf3\x65\xb1\xc3\xf0\x35\x41\xdd\xbd\x07\xd6\xe2\x3e\x56\x76\x2d\x97\x1e\xb0\x29\x83\xe9\x3c\x4e\x01\xba\x4b\x8a\x21\x78\x92\x8c\x43\x37\xd3\x02\xf3\x1c\x9c\xcb\x75\xb2\x49\xa8\x2d\xc9\x68\x21\xe9\x5a\x03\xab\x6b\x77\x0d\xf2\xc3\xdf\xdb\xf1\xfe\x97\x73\xf8\xbc\x1b\xc5\xb3\xaf\xa0\x44\x0b\x10\x25\x78\xf3\xd2\x13\xc8\xd0\x19\xcf\xf1\x24\xf7\x5c\xe4\xac\xcc\x8c\x66\x7f\xeb\x27\xc7\x51\xa6\x12\x00\x74\x81\x31\x04\xe0\xcd\x07\x0c\x9f\x5e\x45\x1d\xcc\xff\x4c\x80\xd7\x11\x07\xc9\x75\xab\xfa\xc0\x7d\x4d\x27\x0c\x72\x7d\x8a\x2f\xec\x34\x9b\x53\x39\x68\xe2\x71\x89\x2d\x2b\x62\xc1\x25\xfb\x79\x74\x60\x3c\x30\x5e\xa3\xbf\xa3\x0f\xb6\x10\xfc\x5a\x23\xeb\x68\xa8\x40\x64\x44\x39\x1a\x52\x13\x37"}, -{{0xf7,0x31,0x31,0x7c,0xf5,0xaf,0xfe,0x58,0x70,0x4c,0x4d,0x94,0x97,0xae,0x86,0x0b,0xbf,0x73,0x9d,0x0f,0xd9,0x6b,0x7c,0x02,0xef,0xb6,0x77,0x7b,0x3c,0x85,0x8a,0x19,},{0xd7,0xd6,0x38,0xae,0xcc,0xe1,0x46,0x1e,0x31,0x42,0x55,0xaa,0x29,0xd9,0xa6,0xb4,0x88,0xae,0xa1,0x39,0x6e,0x96,0x82,0x69,0x5a,0x47,0x0e,0xff,0x23,0xf3,0xed,0x84,},{0x2a,0x4f,0xea,0x98,0xf9,0x24,0x01,0x71,0xa1,0x82,0x3f,0x2f,0x69,0x35,0x20,0x62,0x67,0x2e,0x6c,0x6e,0x66,0x52,0xd3,0x88,0xa8,0x77,0x14,0xd6,0x47,0x99,0x5d,0xf7,0x5b,0x6e,0x1e,0xd1,0x74,0x6a,0xf2,0xad,0xf4,0xe8,0x06,0x13,0x5d,0x60,0x75,0x4e,0x60,0xfe,0xa0,0x32,0x12,0x8e,0x35,0xab,0xc1,0xf1,0x61,0x51,0x81,0x12,0x5f,0x0b,},"\x16\xf5\x1c\x59\xe9\xae\xfc\x26\xb0\xda\x5e\x00\x85\xeb\x2e\x2f\x1f\x85\x6d\xef\x97\x25\x76\x9e\x3a\xf1\x2f\x86\x09\x05\xae\x13\x3f\x65\x07\x4d\xa7\x6d\xbf\x25\xc6\x7f\x62\x57\xd2\xdc\x66\xc0\x5f\x9b\x31\xae\x17\x7b\x69\x92\x9f\xc1\x83\xb5\x88\xc5\x19\xbc\xa1\x47\x96\xa0\x89\x6d\x29\x05\xfd\x94\x2d\x7a\xb4\xa3\xfd\x95\x41\xa5\x52\x9f\x72\x9c\x58\x51\x41\x9b\x5f\xbe\xf7\xb1\x34\xd6\x76\x2e\xb9\x7e\x8a\x95\x1a\x8f\xf5\x2a\xa0\xd7\xe6\x74\x44\xd0\x6b\x07\xaa\x55\xe4\xeb\x9a\xb8\x92\xf4\x7b\xfd\x11\x1d\xf5\xb6\x2f\x6f\x3f\xd1\xa5\xed\x84\x12\x5f\xee\xbb\x77\xda\x63\x7c\x05\xd5\x26\x5c\xed\x11\x3d\xfe\x87\x82\xdb\xd1\xce\xcd\x2c\x6c\x03\x2b\x8f\xa8\x85\x5b\x3a\xe7\x8d\xe7\x4f\xaa\x5a\xa2\x0a\x76\x14\x63\xc2\xa3\x0b\xe6\x6b\xd3\x8c\xde\xc7\x5f\x89\x57\xcb\x94\xc1\x13\xa4\x5d\x54\x6d\xaf\x47\x5d\x89\xaa\x14\x82\xf8\xd2\x80\x3a\x23\xc9\x39\x20\x20\x15\xa0\x8e\x94\xb1\x32\x72\x8f\xbe\x8f\x60\x19\xd7\x16\x8a\x08\xa5\x93\x01\x70\xe5\x63\x9d\x11\x0e\x47\x39\xdb\x85\xe6\x1e\x64\x49\x59\x44\xb5\x42\x3a\x74\xad\x5a\x8a\x0a\x51\x06\x12\xec\xe6\x55\xce\x18\x86\x40\x51\x52\x5b\x90\x8e\x0b\x19\x29\x0a\xbe\x8b\x11\x82\xc4\x8c\x70\x0d\x35\x05\x15\xfd\x34\x99\x56\xe8\x08\x73\x27\xf3\x0b\x6f\xc3\xf1\x31\xc2\x14\x4a\xbb\x3f\x0e\x9c\xa3\x31\x17\x2b\x35\x06\x4a\x82\x81\x1a\x68\xe2\xcf\x36\xb4\x3e\x3a\xd2\xe8\xdf\xa5\xb1\xce\xf5\x0e\x2a\x60\x29\x3f\xc5\xf6\x35\xc9\xa9\x99\x8d\x8c\x1a\xd2\x96\xe7\xc7\x8f\xc0\x58\x20\x22\xd6\x30\x67\x18\x6b\x65\xe7\x64\x82\x8c\xc0\xf5\xf7\x63\x2d\x5e\xef\x86\x3e\x6c\x6d\x90\xe3\x8c\xcc\x87\xd7\xb7\x47\xfa\xc8\x49\x1d\x63\x2c\xf7\xf5\x4b\x9a\x9e\xed\x16\xee\xbe\xc0\x1b\x6c\xc3\x3d\x24\x63\xf7\xf9\x50\xd8\x28\xb5\x5e\xe3\xf7\x7c\xbe\x97\x4f\x48\x94\x8e\xb7\x57\xae\xd4\xe0\xdb\xb0\x0a\xd9\x5e\xe0\x13\x23\x48\x6e\xba\x3c\x8d\xa8\x86\xed\x7f\x57\xbb\x40\x0d\x63\xa1\xb2\xeb\xea\xa2\xe7\x0a\xdf\x03\x79\xe3\x39\x30\x01\xba\x62\x6c\x0d\xd5\x4b\x7f\x0c\x9a\x25\xaa\xe6\xc9\x87\x5d\x4e\x76\x22\xf3\xed\x42\x8f\xb3\x12\x4b\x29\xc5\xdb\x9a\x7e\xf1\x6e\xbd\xdd\x68\x05\xf0\x95\xf5\xe7\x69\x82\x3c\x43\xf2\x62\x86\x8f\xf4\x3e\x3e\x05\x25\x74\x6d\x94\x97\xaf\x12\x4a\x01\xdf\xf6\x1e\xc7\x18\xaf\x3b\x5b\xb7\x46\xfc\xc0\x8a\xeb\xd1\x66\x84\xd4\x56\xae\x79\x32\xff\x5e\xd7\xd6\xb0\xf1\xb2\x5c\x7a\xde\xef\x59\x8b\x5d\x58\x87\x75\x90\xac\x1d\xc0\x59\x75\x15\x67\x96\x99\x87\x74\x08\x1e\x5b\x66\x82\x2a\x94\xa6\xa8\x02\xc3\xa2\xcd\x9f\x48\x9e\x16\x28\xaa\xf4\x65\x2b\xe1\x18\x4b\x0f\xc7\xc5\xee\x7f\x97\xce\x08\xb9\x23\x3b\x4b\x83\xd9\x36\x7b\xe5\xf4\xaa\xe9\x78\x25\x93\xa3\x52\x65\x15\x4d\xea\x4c\x37\x5c\x16\xf0\xca\xf6\xdc\x45\x94\xd2\xbd\xbf\xc3\x37\x5b\xb2\xa0\x43\x2c\x48\x2f\x13\x94\x1c\xe2\xaa\xab\x4d\x83\xe7\x4d\x11\x6f\x5d\xe4\xab\x28\xf8\xdc\x3d\x1c\xd1\x9d\x27\x1e\x56\xe1\x03\x98\xbd\x1d\xf5\xc8\x70\xfc\xbf\x93\xa7\xd1\xdf\x39\x39\x54\x7c\x10\x7b\xfd\x90\x64\x3f\x6f\x50\x01\xae\x7e\x06\x39\x7a\xe1\xa2\x71\xbb\x82\xa1\xf3\x8e\x09\x7b\xec\x66\x74\x66\xb8\x0e\xe3\xe5\x0d\xd4\xfc\x9d\x5d\x54\xf1\x8f\xaf\x7a\x5b\x55\xa8\x83\x45\x94\xef\x0c\xb7\xe5\x08\xbb\xd2\x8f\x71\xfd\x34\x23\x5b\xbf\xd3"}, -{{0x49,0x8e,0x5a,0x21,0xa9,0xb0,0xc3,0x47,0xba,0x83,0xa4,0x7a,0xc1,0x00,0x69,0x45,0x7f,0x57,0x83,0xc2,0xe1,0xe6,0xe4,0x64,0x00,0x45,0xe5,0x94,0xb1,0xc6,0x93,0x32,},{0xfb,0x39,0x48,0xc8,0x11,0x99,0x56,0x91,0x05,0xcc,0x1b,0x7d,0x9c,0xeb,0x3b,0x41,0xa3,0x43,0xbb,0x00,0x57,0x55,0x38,0x59,0x2e,0x09,0x84,0xf4,0xf4,0x71,0x0a,0xbe,},{0x28,0x60,0x83,0x0c,0xcd,0x1d,0x41,0xd9,0x50,0x76,0x81,0x6a,0x39,0x84,0x24,0xf7,0xb7,0x39,0xc4,0x9f,0xda,0xcf,0x56,0x54,0x52,0x9d,0xa8,0x5f,0xe3,0x56,0x55,0x84,0xf6,0xaa,0xc2,0x61,0x4c,0x63,0xf7,0x74,0xb6,0x1d,0xb9,0x08,0x1f,0x14,0x10,0xfb,0xa8,0xe5,0x0a,0xb3,0xb4,0xc3,0x9d,0xc0,0x63,0x14,0x24,0x3f,0x3f,0x0d,0x8e,0x0f,},"\xe4\xfb\xea\x86\x4a\xa5\x11\x90\x82\x66\x45\xd2\xf7\x72\xcb\x0f\x9e\xdd\xd3\x03\x44\x73\xfa\x31\x77\xc7\xaf\x9a\x5d\x41\xe1\xa7\x3a\xd5\x78\x4c\x70\x96\x55\x9f\xcd\xdb\x7b\x7c\x85\x89\x1c\xf2\x4e\x82\xc5\x88\xd7\x47\x74\xff\xca\xc0\xc6\xb4\xee\xbc\x2f\x3f\xa4\x3e\x9d\x45\xf2\x59\xd6\x75\x64\x03\x0c\xfe\xea\xb9\x23\x6c\x66\x5b\x65\x0a\xf0\xc9\x2c\x87\x51\x89\xf5\xf9\x38\x35\x04\xb1\x53\x60\xa0\xb9\xa5\xa0\x0d\xa3\x1f\x63\x5b\x96\xf6\xc7\x3e\xf4\x7b\x6b\x06\xf0\x28\x11\xd1\xd1\x9c\x2e\x8e\x53\x55\x0c\xe2\x2e\x42\xec\x50\xa1\xeb\x2e\xa2\xf4\xcd\x03\xc4\x42\xd4\xaa\x43\x68\x94\x23\x8c\xeb\x18\x35\xfe\x99\xb2\x40\x35\x8a\xa0\x56\x2c\x24\x96\x98\xa3\xf1\x23\xc2\xc1\x7e\x59\x10\x10\xbd\x6f\xdf\xcb\xd7\xdb\xe7\x0b\x04\x52\x05\x02\xec\xe3\x7a\x9a\x1d\xfa\x1a\xe3\x37\x04\x17\xb0\x04\x21\x7a\x5b\x8f\xe9\x90\x3c\x9a\x3b\x9f\x4b\x6d\x5c\x46\xc0\xed\x0c\x53\x8c\xec\x22\xf2\xdf\xcb\x2a\x28\x0a\x42\xad\xc4\x89\xcf\x2e\x06\x29\x12\xbe\x99\x28\xf0\xc0\x60\x89\x1e\x43\x20\x91\x17\x75\x26\xf1\xb3\xa9\x68\x06\x9d\x4a\x57\xad\xe8\x28\x55\x98\x10\xae\x03\x60\x68\x1f\xf9\x93\x29\xfa\x0f\x59\xe7\xe5\x9c\xdf\x87\xf9\xf3\x3c\x40\xe9\x70\x31\xb9\xf8\x1d\x48\xfc\x12\x28\x6e\xfb\xb3\xd4\xe5\xa6\x2e\xf5\x7b\xc0\xd5\x2d\x53\x3b\x99\xc5\x10\x6a\xa7\x9c\xfe\x17\x93\xa9\x08\x51\x85\x96\xc3\x83\x48\x3e\xc4\x9f\xf9\x8e\xc5\x57\xbf\xff\x74\x90\xa4\x6d\xaf\x67\x14\xf2\xc2\xc3\x2f\x57\x93\x2c\xa0\xd7\x30\xf0\x3f\x38\x1d\x69\xde\xcd\xbd\x9a\x7a\x6d\x4a\xfc\x62\x40\x65\x43\xc8\xeb\xe9\x0a\xc7\x6e\x6a\xfa\xbd\xb8\x24\x92\xa2\x06\xa3\x69\xe0\x42\x86\xd3\x13\xe1\x11\x07\xd8\xcd\x9b\x4b\xf6\x8f\x81\x5d\xba\x4e\x99\x0b\x04\x9d\x79\x21\x6d\x36\x53\x13\x83\x42\xcd\x11\x8b\x13\x0f\x66\xb0\x06\xf3\xd8\x9a\xc3\xcf\x89\x83\x70\x48\xb0\xf8\xa6\x2d\x94\x05\x1d\x2e\xab\x89\x1a\xc5\xf4\x78\x88\x87\x9d\x88\xe5\x46\x67\x6d\x1d\xae\xeb\x4d\x17\x5d\x3f\x04\xa9\xd7\x4f\xfc\xdd\x47\x74\x60\x16\xf8\x4a\xd0\xd1\x12\xaf\xb5\x9a\xd1\x21\x87\xe9\x4f\x22\x53\x5d\x77\xe9\xe0\x51\x6f\xa4\x21\x85\xc1\x97\xba\x77\x4b\x39\x32\x27\xf7\x41\xfe\x68\x27\x3f\x42\x3f\xb0\xe0\xe0\x47\x4b\xfd\xaf\x2d\xa7\x8a\xeb\x1c\xd5\xb9\x8c\x1d\xc0\x83\x21\x24\x74\x2a\x47\x54\x12\x5f\xc7\x8b\x19\xc5\x59\xa5\xb3\xf7\x71\x1e\x06\x8c\x44\x0c\xc0\x46\x9a\x1c\xfa\x5c\x18\x64\xbe\x18\x73\x5a\xa8\xbc\xd4\x06\xc4\x37\x1e\xb8\x57\x75\x4d\x90\x8b\xf3\x79\xb9\x1f\xcb\x24\xe3\x43\x96\xbf\x87\xc1\x9a\x04\xa8\x3d\x59\xda\xe7\x1f\x3f\x38\x39\x82\x9d\x06\x22\x13\x01\xef\x59\x56\x96\xe7\x19\xd5\x6b\x79\x52\x0a\x0e\x50\x99\x29\x83\x3b\x1d\x80\x4a\x6a\x0e\xa4\x04\x00\xbb\x45\x02\x8c\xe5\xd3\x69\x33\x88\x3e\x17\x40\x6e\x27\xa8\x10\x90\x57\xb1\xa1\xa5\xe5\xda\x21\x0a\x69\x21\x99\x4f\x46\x7a\xb4\x1a\xa8\xf0\xd8\x87\x75\xa8\xa8\xeb\xb4\xec\x77\xd7\xc8\x0e\x45\xa7\xbb\x42\x2a\x4c\x00\xc9\x05\x83\x91\x14\x65\xe6\xb5\xf0\xfd\xcd\xea\xb7\x28\x71\xca\x54\x2e\x1d\x1a\x2c\xa9\x4d\xf4\xed\x2e\xab\xf9\x0d\xed\x00\x45\x29\x03\x24\xa9\xff\xfb\x30\x14\x54\x70\x20\x9f\x38\x26\x58\x09\x89\x34\x91\x99\xdc\x5a\xb8\xd4\xa2\x5d\xf7\xa0\x52\x9c\xf9\x14\x71\xe3\x08\x42\xab\xfa\xcd\x44\xab\x78\x1d\xfc\x13\x95"}, -{{0xc2,0x4c,0xbf,0x40,0x1a,0xd0,0x3b,0xd8,0x8d,0xcc,0x7b,0x51,0x9e,0xcf,0x62,0x4d,0xb2,0x22,0x3e,0x99,0x02,0x89,0x30,0x9e,0x1e,0x9f,0x1f,0x8f,0x61,0x27,0xc6,0xc9,},{0xa7,0x46,0x66,0xf3,0x57,0x20,0x9f,0x71,0x89,0x90,0x37,0x88,0xf1,0x07,0x56,0x3e,0x50,0xc0,0x51,0xc3,0xd4,0x0c,0x3f,0x3d,0xad,0x10,0xd3,0xc3,0xcf,0xf1,0xe6,0x78,},{0x58,0x1e,0x6c,0x85,0xae,0xc6,0x23,0xb6,0x2b,0x3d,0x4c,0x9b,0xc9,0xc7,0x77,0x59,0xd5,0x49,0x27,0x22,0xe2,0x52,0xd4,0x4c,0x1f,0x8a,0xda,0x9d,0xa2,0xec,0xc6,0x7c,0x17,0x08,0x32,0x73,0xaa,0x09,0x1b,0xba,0xc0,0x46,0xae,0x63,0xc7,0x88,0x93,0x15,0x2e,0x14,0xd9,0x26,0xc4,0x1a,0xe3,0x5f,0x0e,0x6e,0x39,0x59,0x49,0x6b,0x13,0x06,},"\xe7\xfa\x35\x9e\x6a\x09\xb2\xc5\x4a\xab\xed\x3b\xba\xbf\xb7\x28\x53\xa8\x05\xaa\xbc\xf4\xd1\x8d\xda\xd3\x9f\x03\xf3\x46\x01\xe5\x5b\x6c\xe2\x63\xc9\xa3\xca\x6a\x3e\x5f\x14\x25\xc8\x21\x92\x8c\x61\xe7\xf7\x50\x91\x9b\xd3\xaf\x32\xbc\xb7\xb9\x4d\x45\x9a\x7a\x9a\x35\xf6\x1c\x94\x17\x92\xe2\xcc\x2e\x43\x27\xbe\xb3\x44\xa8\x41\xa0\x7f\x32\x06\x8a\xf1\x02\xb3\xde\x61\xea\xb6\x4e\xf6\xd5\xe6\x90\x62\xe3\x93\xab\x5e\xdf\x6a\xc9\xef\x7b\x38\xd4\x9a\x01\xbe\xf0\x00\x3f\x42\x11\x74\xc8\x88\x59\x75\xc0\x18\x32\x89\x9c\x31\x35\xe7\xa8\x6e\x5b\x55\xd9\xb1\x32\x8b\xb4\x28\x9b\x5c\x40\x20\x0f\x49\xe5\x52\x3b\x3c\x46\x1d\xc7\x17\x5e\x14\x65\x02\x22\x97\xc3\xd3\x80\xf2\xb1\xfe\xf3\x9c\xb8\x2c\x00\xfd\x16\x0f\x44\x7e\xb5\x12\x63\xfa\x25\xb4\xdf\x0f\xca\x41\xec\x0c\xa2\xec\xe7\x47\x22\x01\xaf\x86\xc3\x03\x8c\x49\xdf\x09\x9a\x9a\xef\xa1\xf8\x8d\x0e\xdf\xd1\x7c\x0b\x3c\x86\x04\x66\x29\xc0\x94\x54\x05\x4a\xa0\xfb\x2c\x69\x49\xdd\x9c\x13\x01\x85\xdf\xa5\xd9\x03\x89\x1e\x08\x74\x2c\xd0\x42\x94\x03\xf5\x7f\x40\x52\x15\x8b\x2f\x40\x1d\xa4\x75\x68\x54\xe4\xaa\xf0\x24\x22\x1e\x37\x51\x3c\xf6\x77\xee\x6a\x0b\x15\x9f\x50\x1d\x37\x7e\xa3\x2e\xb7\x1e\x77\x80\x04\xf2\x72\x03\xcd\x6d\x55\x3f\xda\x5d\x65\xe1\x87\x94\x77\x04\x6f\x3e\xa3\xd1\xd7\x5c\x9d\x0d\x30\x31\x14\x56\x70\x9c\xc7\xf6\xab\x68\xc7\xb0\xd5\x2b\xe4\x0f\x04\xcf\x65\x56\x55\x32\x32\x85\x31\x83\x29\xe8\x4c\x6a\x5b\x07\xe0\xce\xed\x5f\x78\xf7\xf1\xfa\x62\x29\xbe\xf8\x78\x79\x3c\x58\x47\x28\xab\xf4\x51\x0b\x7f\x27\x79\x4b\x59\x42\x91\x62\x54\xc5\x89\xa0\x9c\x8e\x91\x1f\x0b\x95\x42\x11\xa6\x36\x99\xa7\x52\x14\x7f\x2a\x4e\x1a\x18\x95\x66\x44\xbe\xa2\xca\x26\x92\xba\x18\x22\x80\xe0\x4a\x72\xdd\x89\xb0\xd1\x26\x85\x00\x93\x8f\x34\x7b\xf4\x3f\x2a\x24\x2e\xe9\xb9\xa6\xba\xac\x9b\x35\x0d\x65\x6f\xb1\x9e\xc8\x34\xab\xe3\x16\x44\x40\xf2\xd2\x07\x1f\xe5\xe3\x2c\x8e\x4c\xf9\x05\x53\x9b\x83\x9c\xee\xca\x26\x20\xfc\xb2\xa0\x87\xf7\x80\xe6\xc7\xf5\xe0\x5c\x50\x68\x88\x25\x0e\xa7\xc8\x56\xfb\x30\x98\x32\x00\xaa\x8f\x78\xfc\x17\x71\x05\x4a\xda\x0f\x3f\xac\x38\xae\x2f\x33\xdc\x4a\x4f\x85\x1b\x76\xed\x74\x0c\x09\x62\xa7\x6a\x4d\xe4\x40\x80\xdc\x62\x0a\x44\xad\x8f\x23\xd3\x46\x2b\x79\x2a\xb3\xaf\xb1\x9c\xb8\xa9\xf4\xd9\xe5\x9a\xd7\x65\xa7\x71\x89\x9d\xa8\xcb\xec\x89\xe5\x07\x7e\x85\xc0\xc9\x31\x26\x37\x6c\x94\x1b\xef\x1f\x8b\xb9\x92\xd3\xa3\x5f\x27\x07\x25\x84\x6f\xb2\x52\xf8\xb5\xfb\xb7\x56\x7e\x40\x6a\x1b\x53\xb6\x19\x76\x9e\x63\x2b\x2b\x40\x87\xcd\x4c\x27\x6e\x5d\x58\xff\x2b\x56\xe8\x9e\xde\xc4\x8c\xe5\x3a\x52\xe3\x29\xca\x15\x59\x53\x8f\x10\x90\x2c\x01\xa8\x5f\xbb\x3c\xd7\x2e\x6b\x82\x91\xe5\xfe\x63\x9b\xee\x9d\x47\xd3\x4c\x24\x9a\x7a\x07\xd7\xa1\x42\x7a\x01\xf6\x3d\x60\x98\x4c\x45\x0b\xef\x81\x9b\x19\xf6\x5e\x26\x14\xfd\x9c\x2f\xae\x7b\x92\x31\xa0\xbc\xa4\x14\xed\x94\xa5\xee\x7e\x66\x32\x7d\x2a\x99\xc8\x48\x78\xb7\xbe\xe0\x87\xe8\x91\xf2\x53\xfa\x1f\xec\xe3\x13\x64\x8c\x06\xc4\x5d\xb2\xd9\xf3\xbc\x85\x99\x93\x7b\x75\x2d\x38\xce\x50\x63\xd0\xed\x9a\x43\xec\x9d\x40\x15\x89\x3d\x43\xbf\x5b\x2d\x1c\x60\x47\x85\x10\x46\x89\x68\xb7\x96\xf0\x15\x37\x89\x59\x54\x41\x72\x2a"}, -{{0x8b,0x3d,0xcd,0xe4,0xab,0xbf,0x4e,0x62,0x11,0xc4,0xa5,0x1c,0x4b,0x02,0x68,0x00,0xa8,0xa2,0xa0,0x61,0xcb,0x38,0xa2,0xec,0xc7,0xc9,0xcf,0x11,0x3f,0x92,0x70,0xbf,},{0x51,0x45,0x35,0x58,0x0f,0x0d,0xe3,0x59,0xbb,0x0d,0x41,0xf2,0xef,0xdd,0xaa,0x04,0xc2,0xec,0x95,0x01,0x19,0xf3,0x16,0x34,0xb2,0xc1,0xa3,0x2f,0x19,0x5f,0x69,0x68,},{0x4f,0x3d,0x4d,0x22,0x85,0x03,0x01,0x7e,0x74,0xa6,0xbb,0x58,0xaa,0xfa,0xe3,0x5c,0x3f,0x37,0xbd,0xee,0x4f,0xf6,0xbe,0x2e,0x62,0x40,0xb5,0x08,0x2f,0xed,0xdb,0x22,0x27,0x35,0xe1,0x2f,0x31,0xe0,0x56,0xfa,0x68,0x54,0x47,0xe5,0x38,0x48,0x03,0x00,0x7e,0xa7,0x91,0x0e,0x60,0x5c,0x1b,0x78,0x11,0x8c,0xd5,0xac,0xc5,0x87,0xa6,0x06,},"\x48\x14\x25\x02\x7d\xa6\x72\xb6\xf2\x6c\x91\xb8\x0e\x55\x58\x2c\xae\xf4\x7b\xb1\x5a\x2d\xe8\xfc\xa8\x52\x22\x17\x85\x18\x0b\x20\xa7\xfd\x6d\x49\x07\xb5\x88\x1c\xc1\xd6\xe3\x9a\xb9\x61\x2c\xc7\x4d\x69\x77\xe9\x14\x1f\x70\x87\xbb\x27\xab\x30\x84\xa2\x62\x85\x58\x6f\x84\x11\xdb\x1f\x50\x3a\xdf\x52\xdc\xb2\x5a\xb8\xff\xfd\x2e\xc1\x50\x4c\x17\x77\xb9\xd6\xdd\x4a\x29\xe2\x01\x9e\x5c\xba\xe1\xb7\xeb\x26\xf9\x5b\xbe\x07\xd9\x0c\x2f\x6f\xb0\x88\x4a\x59\xa8\xd5\x8d\xde\x51\x16\xed\xc3\xbc\x34\x9d\x37\xc1\x60\xb2\x7b\xef\xbe\x5a\x5c\x18\x1c\xe7\x25\x63\x92\x35\x4d\x22\x1b\x58\xc4\x7e\xb0\xbb\x10\x92\x9e\x74\x21\x79\x5f\x4b\x7a\x7c\x27\x5e\xdd\x08\xc0\x88\x56\x87\x72\xe9\x93\x21\x8d\xd6\xf3\xc2\xcb\x4a\xc6\x57\xa0\xa3\xf9\x1f\x31\x26\xb9\x91\xad\xf6\xcb\xe7\xd1\xb1\x9b\x8c\xd8\x3b\xe3\x60\x2e\xd1\x8f\x03\x96\x33\xfb\xd2\x38\x7b\xda\x69\xe2\xcf\x03\x87\xd8\x64\x4d\x97\xb3\x03\xfb\x00\x63\x9a\xee\xe7\xae\x46\x3f\x6f\xe1\xa2\xc4\xb8\x9a\xeb\xa3\xe9\x09\x4c\x11\xfc\x29\x11\x4b\x20\x28\x3f\x28\x7c\x6d\xd2\x8c\xb0\x98\xda\xe8\xda\xbc\x48\xe8\x5b\xb5\x9c\x0d\xc6\xe7\x8c\x95\x66\x05\xcb\x7c\xf0\x69\x42\x35\x3e\x7a\x22\xe9\x6f\x80\xa3\x7a\x66\xf7\x18\xd9\xe4\xdb\x8c\x52\x45\x2a\xa0\xa3\x57\x72\xe8\x1b\xa2\xb3\x03\x20\x5b\x41\x2d\xd2\xbf\xc1\x5c\xe9\xb4\x36\xf9\x9f\xbb\x32\x12\x6b\x63\xce\x9c\xb4\x31\x99\xf1\x57\xd8\x17\x51\xa7\xc4\x93\x7d\x13\xaf\x4c\x58\x29\x52\xb5\xd6\x06\xb5\x55\xb0\x46\xbf\x1d\xe0\x6c\xf3\x9b\x63\xa8\x02\x87\x37\x18\x03\x60\x9a\x38\x7e\xe8\x0f\x3a\x5d\x88\xb9\xd6\x21\x96\x50\xed\x17\xd3\xcc\x18\x3b\x2c\x70\xd5\xeb\x94\xe3\xbc\x52\xae\xa7\xaa\x7f\x53\xbe\x0e\x20\xb8\x97\x2f\x14\x3d\x8e\x20\x16\x2e\x80\x3e\xdb\x4a\xa8\x3d\x55\x53\xfd\xd5\x53\x39\x8b\x0f\xa1\x76\xb9\x59\xcb\xa1\x40\xd6\xe9\x80\xc9\x25\x1b\x0f\xa0\xb6\x5e\x90\x84\x17\xf8\x2f\x45\x1f\xf9\xf2\xde\x6b\x9c\xa5\xe3\xb5\xf4\x1b\xa4\x0d\x05\xa5\x4f\x3d\xab\x48\x86\xaa\xcc\xa0\x5c\x9c\x27\x98\x13\x9a\x4c\xb3\x3e\x96\xa9\x14\x94\x74\x99\x10\xa1\x7c\xe8\xb3\x92\xfc\x0f\xc7\x76\x29\x74\xd7\x9d\x33\xdb\x92\x4b\xfe\xf8\x65\x5a\x72\x37\x76\xff\x87\xf9\x50\xfd\xc5\x68\xb1\xe5\x26\x53\x45\x41\xf5\x72\x72\x3b\x84\x06\x63\xc1\x91\x88\xc4\x24\xf7\xc4\x89\x23\x5a\x42\x4b\x09\xfe\x25\xc3\x07\x27\xea\x1c\xb0\x49\x53\xd7\x06\xd6\x8b\xfe\x12\x10\x0e\xf6\xf6\x4c\x35\xc6\xb8\xde\x67\xed\xf0\xe3\xad\x01\x4a\x40\x0e\x82\x1e\xa3\x40\x24\x32\x19\x99\x86\x7b\x43\xc8\x2c\x45\x01\x84\xb7\x8f\x74\x25\xce\xbd\x73\x19\xdc\x6f\x65\xd3\x60\x66\x5d\xfb\xe7\xc3\x66\x74\xda\xc3\xa5\x4e\x96\xda\x91\x0c\x02\xd3\x64\x07\x80\xb2\x2d\x51\x2c\xa0\xe3\xca\x35\x87\xb9\x4e\xa9\xfc\xd7\xa3\x1b\x4a\xf6\x9f\xd6\x20\x7c\x68\xfe\xd2\x5f\x89\x92\x1c\x1c\xdc\xde\xfd\x1c\x09\x02\x04\x49\x2b\xff\x9b\xbb\x52\xe0\x88\x85\x82\x9d\x01\x2b\xc2\xdf\xb4\xfe\x8c\x35\xe5\x9c\xd1\x3b\xcb\x8e\xad\x34\x19\x3c\x40\xb0\x3e\xe4\xd8\x25\xee\x13\x22\xff\x4e\xf0\x71\x27\x95\x74\xcb\xae\xe7\xc0\x7f\x14\xbe\x60\x6b\x9c\xd0\xe2\x61\x11\x1e\xf2\x0d\x96\x81\xd7\x6c\xf7\x8c\x89\xa8\xc3\x97\xd6\xb8\xdc\x77\x8f\x49\x84\x16\x6a\xd5\xdf\x3a\x81\xaa\xf2\xe6\xde\x09\xf7\x00\x19\x5a\xe2\xc1\xd4\x60\x96\x47"}, -{{0xd4,0xa7,0xa9,0x52,0x4d,0x30,0xa6,0x33,0x7c,0x0a,0x0b,0xe9,0x5c,0xa9,0x05,0x91,0xde,0x98,0x88,0x03,0x8e,0x3e,0x59,0xe1,0xb2,0x5a,0x41,0x81,0xef,0x94,0x66,0x29,},{0x9f,0xc3,0xeb,0xd1,0x39,0xcc,0x5b,0x7c,0x0e,0x05,0xaf,0x47,0xbf,0xf6,0x61,0x9b,0x81,0x28,0x15,0xbb,0x01,0xce,0xec,0x39,0x2a,0x3f,0xf0,0xae,0xc3,0x81,0x1d,0x2c,},{0xd1,0x57,0x88,0xbc,0xd8,0x8d,0x1d,0x81,0xb9,0xe6,0x1d,0x4f,0xe2,0x6e,0xa4,0x9e,0x66,0x81,0x9a,0x59,0xd2,0xae,0x48,0x32,0x32,0x1b,0x81,0x4d,0x50,0x62,0xfa,0xdb,0x87,0x80,0x7d,0xb6,0x85,0x2e,0x1d,0x82,0x95,0xe3,0x1a,0x29,0x1b,0x1e,0x78,0x5d,0x01,0xd8,0x34,0x89,0x5f,0x88,0xf4,0x00,0xdf,0x88,0x32,0xc1,0x60,0x7b,0x5b,0x0c,},"\x17\x19\x80\xc0\x3f\xdf\x7a\x72\x7b\xd5\xba\xb3\xba\x09\x45\xe6\xad\x5f\xaf\x0a\x7f\x50\x6a\x56\xd1\xd0\xed\xd9\xa3\x06\xb3\x15\x8d\x84\x32\x66\xd3\x09\x1f\xc1\xe4\x22\x81\xdf\x97\x55\x9a\x22\x01\xf5\xbd\xdd\xfe\x68\x3d\x0e\x10\x28\xd1\xd9\x5b\x2f\x31\x3b\x48\x4c\x39\x2f\xfd\xb1\xcd\xf8\x85\x08\xaf\xde\x3d\x6f\xd2\xa1\x28\x88\xba\xce\xde\xb7\x9f\xf3\xdb\x40\xc9\xac\x0e\xc3\xfb\x90\x1b\x22\x86\x98\xad\xf8\xd8\x45\xff\x4f\xce\x10\xde\x55\xd4\x24\x36\xdc\xe9\x30\x97\x3a\x34\xbe\x05\xd1\x40\x1f\x33\x4d\x4c\xe8\xe3\xa7\x93\x79\x9e\xaf\xdb\x94\xd0\xf2\xab\x09\x50\xb0\x79\xe6\x65\x3e\xeb\x49\x9f\xc7\x44\x7c\xcb\xee\xed\x8d\xbd\x54\x56\x80\x8c\xd7\xa3\x8f\x9a\x15\xa2\xa9\xc7\x38\xd6\x13\x34\xca\xb8\xce\xeb\xbb\xf4\xa4\x81\x4d\x94\xc6\x18\x59\x17\x87\x84\x60\x4e\x0c\x21\x54\x59\x7e\x72\xcf\x58\x7c\xd1\xf5\xda\xfe\x59\x22\x05\x18\x90\xe7\x6d\x61\x6d\x8c\xd5\xb0\x5d\x64\x78\xd0\x62\x6e\xa8\x3c\xe8\x08\xc4\x61\x43\xe6\xfb\x06\xb4\x18\x2d\x22\x8d\xa8\xf6\xd4\x13\x9e\xca\x5b\x8f\x3b\x1b\x98\xaf\x68\xc5\x9b\x4b\x5a\x53\xc1\x36\xee\x90\x43\x2a\xca\x2b\xb9\x15\x52\x9d\x26\x36\x79\x49\x82\x62\x33\xb4\x3e\x55\x80\x4b\x55\xfc\x9f\x21\x5e\xb0\xb0\xb7\x92\x91\x46\x5b\xb3\x4e\xda\xea\xdf\xfa\xbf\xe6\xcf\x41\xbc\x07\xb5\xdd\x4d\x01\x42\xf0\x36\x1f\x05\x8e\xe1\xb3\xb9\xfc\xc1\x96\xeb\x9b\x35\xb1\x34\xbe\x3d\x1d\x23\x20\x04\x48\x9e\x8f\x69\x93\xf6\x25\xa6\x30\x15\xbc\xd3\xf1\xe8\x75\x88\x32\x48\x58\xcc\xfb\x77\x0d\xdd\xd8\x94\xbf\x29\x7b\xd7\x63\xef\x58\x28\xe2\x1f\x5c\x89\xaa\x98\xcf\xbc\x1c\x08\x2d\xd7\xfb\xaa\x43\x07\xbd\xa4\x0b\x4a\x75\x8c\xa8\xf3\x9f\x4e\x4a\xae\xd3\x09\x04\x12\x68\xdb\xcf\x0a\xf3\x2d\xe0\xd7\xfa\x90\xa5\x23\x96\x3b\x78\x0b\x6a\x93\x2c\xf8\x94\x99\x02\x5f\x0e\x0d\x04\x74\xc7\x43\x48\x94\x75\x10\xe6\xc5\xec\x7c\x9e\x05\x06\x6e\xeb\x4a\x73\x52\x0c\x3d\x92\x7c\x39\xac\x26\xad\x75\x96\x32\x5b\x2c\xc4\x7c\x5e\x82\xa7\x75\x45\x5b\x7a\xf0\x31\x20\xb1\xcf\xbf\xd6\xec\x3f\xc0\xc3\xbe\x60\x78\xb0\x0c\xfd\xf8\x34\x2a\xe8\xbf\x14\x71\x59\xf5\x0e\x9d\x56\x4e\x2f\x68\x30\x6d\xae\x3c\xae\xdd\x10\x19\xf3\x23\xc4\x78\xa1\xe1\xf6\x75\x98\xdd\x83\x4b\xd1\xd1\xa8\x73\x3f\xd7\xfd\xd8\xa8\x76\x52\x6c\x53\x15\x18\x93\x6e\xdb\x72\xd0\x16\x56\xb3\x44\xc7\xd6\x5a\xc1\xce\xe3\x7c\xe5\x99\x7b\xa4\x8d\x3f\x4d\x06\x4d\x88\x05\x7e\xfe\x9a\x48\x2d\x9e\x00\xab\x5c\xae\xb5\xac\xa2\xd6\x60\xe3\x37\xbd\x15\x48\x73\x65\x69\x79\x56\xa5\xe4\x7b\x02\xab\xdc\x30\xd8\xe3\x53\xfe\xd4\xe1\xac\x41\xd2\xbc\x21\x20\x02\x11\x43\x63\x59\x35\xc6\x20\x18\x6a\x52\x2b\xde\x54\xbe\x04\x46\xfb\xd2\xdc\x88\xb5\x63\x04\xb3\xa6\x42\x27\xd0\xac\xd5\xf8\x5a\x6b\x67\x87\xa3\xad\xcf\x2d\x7c\xfc\x86\xc6\x34\xb4\xd7\xab\x43\x15\xb9\x7d\xe9\xe6\x66\xcf\xf3\xff\x1b\x88\xf3\x29\x5e\x7b\xab\x9e\x9f\xd4\x6f\xaf\xdd\xb4\xf5\xfa\xc5\x1c\xc0\x17\x01\x29\xc6\x51\xb4\xef\x4d\x39\x50\xd6\x94\x2f\xf0\x20\xd1\x66\x8a\x52\x8b\xde\x1d\xa9\x36\xc0\xec\x1a\xe0\x9e\x84\xf8\x20\x58\x61\xff\xf4\x91\x50\x2a\x87\x2c\x81\x54\xa9\x6e\x7e\xa2\x5e\xda\x95\x5a\x7f\xd2\xe4\xb4\xc7\xa8\xd2\x73\xf6\x0b\xc7\x4f\xab\x7b\x49\x68\xca\x6f\x75\xda\xea\x50\x40\xf8\x39\xfd\x56\xc2\xa9\x80"}, -{{0xd0,0x8f,0x4b,0xab,0xba,0x3b,0x53,0x65,0xfa,0xf7,0x38,0x79,0x5c,0x9d,0xa4,0x5d,0xb1,0x86,0x2c,0xb2,0x8b,0x93,0xeb,0x66,0x35,0xd1,0x32,0x0d,0xa0,0xf4,0xd9,0x37,},{0xef,0x31,0xb4,0x54,0xf7,0x34,0xe5,0x2b,0x34,0x38,0xee,0x2f,0x1c,0xbc,0x35,0x63,0x1b,0x19,0x69,0xde,0x54,0xac,0x98,0xfe,0x46,0x33,0xf2,0xf5,0x00,0xac,0x87,0x12,},{0xac,0xeb,0xe4,0xc8,0x6f,0xa9,0xfe,0x2c,0x1a,0x5c,0x57,0x6a,0xc0,0x50,0x1e,0x8a,0xb0,0xf6,0x40,0xfa,0x40,0x38,0x05,0x36,0xfc,0xf9,0x50,0x59,0xd5,0x3d,0x4a,0x35,0x55,0xd2,0x20,0xac,0x36,0x35,0x87,0x17,0x5e,0x4b,0xde,0x16,0x3c,0x0d,0x00,0x65,0x0a,0x12,0x96,0x3d,0x46,0x76,0x6c,0x99,0xbb,0x62,0xbf,0x75,0x73,0xe2,0x87,0x0c,},"\xa3\x94\xd8\x85\x4c\xeb\x5c\x43\xaf\xee\x1a\x48\x92\x6b\xbd\x66\x85\xaa\x8a\xec\xfd\xcf\x85\x41\x33\x33\x39\x74\xd6\x24\xbf\x2f\x1f\x9c\x30\xf0\x05\xbb\xf3\x4c\xee\x3a\xfe\x2b\x29\x06\x00\xee\xae\x6f\x1d\xd1\x2a\x0c\x34\x6f\xbb\x2a\xb9\xc9\x16\xc5\xd5\xd8\x0d\xcd\x87\x88\x78\x75\xa0\xac\x84\x76\x78\x03\x9f\xdc\xd3\xa9\x79\x35\x41\xf5\xd6\x75\x14\x3a\x6a\xba\xdc\x3b\x18\xf0\xfe\xf5\x10\x8c\x19\xc2\xdb\xfb\x59\x71\x0e\xef\x98\x66\xa4\xf3\xf2\x97\xa0\x9e\xe4\x8c\x68\x03\x00\x7d\xd6\xba\x8f\xd4\xbe\x84\x1c\xfb\x10\xff\x05\x14\xc3\x0f\xc4\xdd\x49\xa3\xcd\x43\xbb\xd1\x6e\x46\x04\x43\xa1\x1a\xfe\x64\x9e\x90\x1d\x63\xd8\x9a\xf5\x98\xaa\x68\x6b\x2f\x60\x7e\xc1\x1f\x35\xe1\x7a\x79\x8a\x42\x13\xb7\x5a\x38\x78\x8d\xa4\xf2\x7c\xf2\xb0\x2c\xad\xdf\xe6\x1c\x37\x29\xa8\x7e\xc6\xe6\xb0\x98\xf6\x8e\x7a\xed\x28\xa8\x00\xc4\x84\xdf\xa0\x13\x04\x01\x20\x8f\x98\x6d\x79\x2f\x54\x63\x5a\xdd\x28\x48\xe1\x51\x26\x2a\x36\x5e\xb2\x1e\x27\x27\x19\x1e\x1f\x70\x0f\x3b\xf5\xc7\x3b\x0f\xb4\xc5\x46\xd0\x04\x8a\x15\x5c\x18\x71\x79\x20\xfc\x04\x25\xc8\xc8\xfa\x8f\x16\x7c\x43\xa2\x77\xbb\x36\x6e\x0a\xd7\x02\xc8\x9b\xc5\xaa\x06\xfd\x47\x09\x43\xbe\x05\xcb\x9e\x32\x59\x78\x72\x29\x71\x4c\x30\xa4\xe8\x7b\x00\xa6\x33\xaa\xf7\xbe\x6b\x58\x75\x01\x0d\x12\xe1\x07\xc9\xa5\x26\x1c\xa5\x62\xd6\x70\x25\xbe\xa0\xfe\x22\x34\x63\xed\xb9\x2e\xa0\x1c\xca\x92\xc4\x4f\xf2\x4d\xa9\xd8\xa8\x0a\x64\x21\xf3\xd4\x13\x5d\x64\x7d\x1b\xb0\xfd\x98\x8c\x46\xc8\xa1\x70\xce\xb4\xf3\x3f\xff\x9c\x0f\xfb\x6a\xba\xd1\x09\x2c\x84\xdf\xad\x82\x90\x89\x8b\x24\x95\x16\xa2\x92\xe8\xda\x96\xfd\x51\xa8\x10\x05\xee\xcf\xde\xbb\x05\x93\x30\x99\x27\x7d\x07\x3a\x48\x0c\x3f\x9e\xb8\xaa\x11\x96\x8c\x4d\x8d\xc0\x78\x7a\x9a\xec\x3e\x05\x27\xb7\xfe\x4c\x06\x35\x41\x13\x35\xa1\x81\x16\x89\xe8\x8f\x6d\x5c\xed\x0d\x40\xd6\xb4\x8b\x7f\x2d\x99\x29\x52\x93\x48\x94\x15\x30\x76\xa8\xd3\x73\x72\xfa\x00\xd9\xce\xfc\x5c\xf8\xc2\x6a\xdb\x5a\xcf\x32\x5a\x01\xcd\x00\x5a\xb8\xd4\x74\xa5\x2d\x67\x11\x40\x78\xc6\x51\x6a\xef\x80\x4b\xba\x19\xb8\x87\xa2\x8e\xd5\xe4\x6e\xe9\x99\x5e\x5a\xd3\xa8\x2f\xb9\xcd\x93\x28\x34\x33\x68\x09\x21\x11\x4b\x4d\x9a\xf8\xfc\xb6\xb2\xb5\x35\x83\x9c\x36\xde\x8d\xf1\x2b\x17\xea\x6d\xdc\xfc\xb3\x33\x4f\xf4\x0e\x6c\xf0\x4c\xcd\x5c\xa6\x40\x3b\xa0\xb6\x2b\x4c\xb7\x1b\xbd\xe9\x1d\x8b\xab\xda\x69\x15\x2c\x9c\x93\xae\x76\x9b\x55\x29\xc8\xd5\x2f\xd9\xa6\x90\x9a\x15\xe1\xa0\x60\x1a\x71\x46\x49\xc9\x6e\xc9\x96\xc1\x70\x6d\x10\x21\xb9\x74\x87\x98\x0d\x7b\x2c\x2a\x39\xbb\xb0\xe4\x70\xd8\xe4\x6a\xc4\xaa\x60\x9a\x09\x22\xc9\xbd\xc0\x16\x12\xea\xde\xac\xcd\x5f\xa5\x23\xb2\xa8\xd0\xe6\x2f\xfe\x56\x28\x16\x47\xd6\x1f\xff\xbb\xc8\x40\x53\x57\x45\xd1\x44\x25\x9c\xc8\x13\x00\xfe\x99\xdf\xbf\xfe\xa6\xb0\xb9\xbc\xd2\x84\x73\x98\x2d\x32\xe9\x3e\xd4\x66\x34\xa9\x98\x79\x06\xd6\xf4\x89\x39\xd8\xdf\xbf\xb3\x7d\x33\xb8\x88\xdb\x60\x8c\xb2\xff\xe3\x9a\x8c\xf6\x7b\x72\x64\x46\x11\xc7\xd3\x2a\x4a\x8d\xf6\x12\x46\x8c\xd5\xe5\xd7\x5f\xbb\xa7\x9e\x63\x8a\xa1\xda\xa2\x8c\x4e\x0e\xeb\x9a\x63\x7f\xf8\xa0\x8b\x65\xf7\xa7\x61\x24\x14\xdf\x76\xbc\x7b\x0b\x56\xb5\x53\x7d\x66\x6f\xac\xfd\xda\xf6\x5a\xf1"}, -{{0x8f,0x47,0x4f,0x88,0xcf,0x86,0x3c,0x48,0x54,0x56,0xa5,0xa2,0x15,0x52,0x81,0xff,0x27,0xb2,0x84,0x59,0xf6,0x3b,0xc4,0xf1,0xdb,0x00,0xe0,0x03,0x10,0x64,0xf6,0x49,},{0x43,0x14,0x4a,0x32,0x9d,0x75,0x1d,0x04,0xe0,0x71,0x69,0xb7,0x79,0xee,0x92,0x0d,0xd0,0x29,0xcb,0x44,0x5b,0xf3,0x76,0xba,0x3a,0x66,0x85,0x72,0x18,0x23,0x44,0xa3,},{0xf6,0x1f,0x78,0x07,0xc3,0x3e,0x19,0x6d,0x0f,0xe1,0x82,0xef,0xa4,0xd4,0x51,0x6a,0x98,0x15,0xdd,0xd4,0x49,0x53,0x8b,0xba,0xa6,0xb8,0x6b,0x69,0x01,0xa0,0x5f,0x5d,0xdd,0xa0,0x60,0x1e,0xc9,0x0f,0x39,0xf1,0x55,0x47,0x79,0xdb,0x7a,0x09,0xa6,0x05,0x72,0xef,0xfd,0x4d,0x12,0x8d,0x0d,0x3c,0x2d,0xd4,0xe8,0x83,0x57,0x4b,0xc6,0x0b,},"\x84\x08\x91\xd9\x48\xec\x19\xc8\xc7\xf7\xc9\xd3\xc4\x77\x53\x62\xa5\x44\xa0\xec\x97\x45\x7a\xb5\xd1\x4e\x12\x5d\xc5\x4b\x59\xc8\xdc\x9a\x63\x5e\x7b\xad\xb6\xbe\x73\xc3\xa5\x8d\xc0\xe9\x92\x9f\x2b\x42\x0d\x83\x56\xd6\x17\xc3\xd4\x1b\xfe\x69\xb4\xe1\x58\xd4\xbf\x08\xfb\x17\xe6\x88\xd3\xcf\x3c\x94\x8b\x69\xb3\x5f\x0b\x6d\xb6\x62\x72\xa8\xeb\x2b\xd4\x10\xd6\x50\x9f\x6c\x82\x8b\x6a\x20\xd6\x58\x6e\xaf\x85\x76\x01\xed\x9d\x60\x54\x79\x9c\x25\x32\x0e\xba\x80\x77\xfe\x1a\xe2\x26\x71\xb3\x3a\x15\x88\xff\x2b\x23\x5d\x3c\x71\xa2\x7c\xe5\xc6\xc6\x6e\x18\x88\x91\x98\xd1\x16\x93\x36\x76\xbc\x4f\xb0\x71\x0d\xb7\xff\x1a\xc2\xf2\x0c\xe3\x69\xbe\xf5\x6b\x43\xcd\x1d\x40\x6c\xef\xda\xcf\x00\xf1\xf3\x48\xb8\xca\x7a\xa6\x14\xdb\x11\xa3\xa6\x40\xfd\xb5\x93\x89\xd1\xa6\xa3\x94\x75\x5c\x13\x3f\x1b\x01\x9c\x83\x08\xca\x5a\x95\x1e\x73\xb8\x10\xa1\x80\xf6\xff\x25\xb2\x9d\xbb\xcc\xef\x4c\x13\xa9\x75\x03\x39\x39\x07\xa2\xdb\xa0\x96\xa8\xce\x5c\x86\xc0\xee\x6f\x97\xc1\x44\x1b\x8d\x63\x31\xcb\xa5\x3b\x19\x60\x6b\x42\x1a\xf5\x2f\x65\xf9\xc6\x63\xe6\x3d\x39\x82\x71\x8f\x94\x8c\x6b\xae\x96\x1b\x8e\x4b\xf8\xcd\x9e\x31\xcd\x09\x92\x8e\x4e\x80\x61\x65\x97\xcc\xfa\xdc\xb8\xa6\x14\x15\x49\x33\xbc\x37\x58\x9c\x85\xc7\x76\xe3\x4e\x5a\x90\x66\x0f\x59\xa6\x5b\x5e\x93\xad\x43\x88\x42\xf9\x82\xd0\x2b\x04\x1e\x6d\xbd\xdf\x17\x10\x99\xf8\xdb\x70\x99\x57\x31\xa0\xdb\x8c\x46\x25\xc9\xbc\xa7\x10\x80\x59\x61\xfb\x17\x6d\xae\x81\x97\x68\xfc\xad\x7f\xf9\xbf\xce\x36\x40\x3c\xa7\xf7\x83\xe7\x61\x37\x26\xd7\xdc\x59\xf2\x4e\x24\x7c\xf1\x50\x68\xff\x3b\x19\xc7\x25\xfa\xd6\x5e\xa8\xe8\xa7\xf7\x22\xd5\x28\xc9\x5f\xce\xf1\xc0\xcc\x79\xd1\x8e\xf0\x7c\xee\x8b\x01\x1e\xea\xbd\x99\x21\x63\x4d\x76\xa6\x1a\x8a\x3c\x89\x31\xb8\x27\xe8\x18\x98\x81\xf8\x1f\x7a\x17\x5f\x21\xfb\x03\x78\xb8\x18\x8e\x58\xbd\xb2\x01\x7b\xef\x39\x0f\x18\x00\xd9\xd7\x4f\x26\x3a\x81\xdf\x8e\x67\x52\x2d\x09\x2e\x77\x5d\x01\xe0\x04\xe7\xf8\xd8\x28\x1a\xe2\xc2\xfd\xf8\xc3\xa4\x45\xf9\xef\xf7\xfd\xf1\x3f\x26\x1a\x77\x3d\xdf\x2d\xd9\xcc\x6b\xa5\x58\x5d\x99\x0c\x99\x5e\x6e\xb8\x9d\xff\xd9\xff\x0a\x9d\xbb\x76\xce\x5e\x10\xdd\x02\x72\xd5\x00\x14\x97\x88\x13\x66\xf5\xd6\x36\xa9\xcc\xea\xa2\x83\x22\x8d\x3a\xc6\x14\xdb\x21\x7a\xb8\x91\xd6\x68\x9d\xbe\xb9\x50\xe1\x20\x0c\x3d\xe5\x3b\xc5\xda\x07\xf1\xd3\x63\xda\xe9\xbe\x6e\xc3\x6e\xda\x6e\x68\x7d\x26\x29\x0f\x7a\xbc\xa2\x68\xa7\xfa\x03\xd9\x31\x88\x64\xed\xa9\xa1\x1e\x3b\x26\x14\x06\x05\x92\x0a\xc1\x3a\xde\xc1\xb5\x54\x8c\x9a\x7a\x32\x15\xa5\x87\x6b\x7e\x94\x1a\xfa\x1c\xb5\xd7\xf7\xf0\xc1\x16\x30\xcd\x42\x9f\x3b\x2b\x37\xdc\x76\xc6\xcb\xea\x4f\x3b\x72\x6a\xa8\xa5\xf8\xb9\xf7\x05\xb0\x5d\x7e\x94\x51\x95\x6f\x8a\xf1\x3c\xe0\xa8\x59\x55\xc7\x13\x5d\x64\xad\xe5\x49\x6e\xa5\x42\xe7\x0f\x8d\xa5\xb5\x73\xaa\xf1\x37\x08\x5d\xc9\x6c\x69\x27\x09\x96\x95\x67\x26\x68\xb3\xc7\xc6\xf9\x3c\x97\x7a\x4e\x8e\x9e\x77\x02\x95\xf2\x0d\x52\xdf\xf1\x87\xf8\xdb\xb2\x5e\xe7\xe7\x74\x02\x4e\xb9\xbe\x08\x12\x1e\xd7\x4b\x6d\x54\x62\xf4\xbb\x7d\xc2\x00\x38\x74\xca\xa3\x1b\xb7\x59\x5c\xd9\x3a\x99\xeb\xe1\xef\xf9\x28\xbb\x5f\xcb\x9e\x9c\x89\xdd\x31\xd4\x87\xfc\x0e\x20\xbb\xe1\x50"}, -{{0xe4,0x2b,0x30,0xd4,0x9c,0x43,0xc4,0xfa,0xd8,0x3d,0xd5,0x1f,0xdc,0x2a,0x4a,0xc5,0x90,0x13,0x27,0xad,0xd8,0x00,0xb6,0x69,0x72,0xc8,0xc7,0x0b,0xde,0x18,0x0a,0xdc,},{0xf7,0x34,0xaa,0xfa,0xa4,0xdb,0xaf,0x31,0x5c,0x25,0x8c,0xca,0x8b,0xbc,0x1d,0x4f,0x34,0xe8,0x36,0x01,0x10,0x98,0x74,0x22,0x2a,0xa0,0x55,0x89,0xf3,0xa6,0x63,0x5f,},{0xff,0x8e,0x07,0x6e,0x34,0x3c,0x8b,0x73,0xaa,0x45,0x3b,0xfe,0xe9,0xb2,0xba,0xb6,0xd5,0xc2,0xf7,0x4c,0x35,0xe1,0xba,0xd1,0xe5,0x2a,0xe7,0x77,0xd6,0x9f,0x79,0x76,0x40,0x83,0xf9,0x94,0x36,0x8a,0x1a,0xc8,0x51,0xa6,0x41,0xcd,0x24,0x70,0x08,0xa3,0x4f,0x3b,0x60,0x89,0x62,0xf4,0xdd,0x51,0x09,0xac,0x71,0xcc,0xe9,0x78,0xec,0x02,},"\x0d\x49\x70\x51\x86\x1e\x22\xd8\xa9\xc6\x0e\x5f\x7d\xe6\xc8\x95\xcb\xa3\x35\xb2\xe8\x2e\x60\x21\x18\xad\x83\x42\xb4\xd4\xed\xaa\x80\xf9\x5e\xfb\xb5\x9c\xfd\xa1\xfc\xc0\x29\x17\x25\x70\x0e\x8a\x81\xbb\x12\xa0\xb8\x62\x3b\x1f\xe2\x89\x1b\x8d\x98\xf7\xa8\x4c\x59\xfd\x92\xf8\xa7\xad\xfc\x06\x50\x42\xf7\xf4\xfd\x7e\x1a\x79\xf5\x5a\x1d\x4d\x5e\x54\xe0\x4e\x67\x2f\x1c\x9e\x4c\x4c\xd8\xd0\x00\x3f\x3c\xd5\x4b\x76\xe2\x16\x3d\xd7\x37\xac\xb2\xde\x5c\x26\x3a\xc1\x02\xa4\x8f\x69\x6b\x60\xca\xf9\xbe\x39\xc6\x65\xcc\xe1\xe0\xf3\xd4\x98\x55\x3f\x57\x90\x61\x88\x9a\x5e\xc5\x60\x3e\x4d\x14\x1c\xfd\xed\xe8\xe7\x31\x75\x72\xcf\xe7\x6a\x0f\x48\xe4\xae\x06\x06\x2c\x91\x57\xb5\xea\xac\x34\x68\x93\x81\x92\xdb\x4b\x16\x10\x5c\x73\x64\xa9\x44\x32\xb2\x15\xa7\x17\x97\xfe\xe1\x4c\x3c\x9c\xe2\xf7\x46\xed\x79\x03\x02\xfc\x41\xdc\x49\x2d\x37\xd9\xef\x02\x4a\xb5\x1d\xa3\xbd\xaf\x0f\x81\xd9\xa9\x30\xaa\x0e\x02\x5c\x04\xfd\x71\x02\x6b\x6a\xfe\xb7\xed\x01\xa9\x1a\x1e\xfd\x6c\x39\xf5\xe4\x47\xc6\x6d\xd3\x8a\x76\x56\xc6\x13\xd0\x21\x26\xf3\x58\x5d\xfa\xa0\x2d\xf9\x30\x25\x3f\x83\xbd\x42\x19\x64\x63\xeb\xc5\x0f\x8c\xfc\x94\x9e\xd3\x50\x39\x2e\x61\xce\xec\x13\x09\xda\x15\xa4\x32\xf8\x0d\xfe\x94\x8e\x26\x1c\xe6\xd8\x42\x1c\x54\x59\xcd\x21\xf3\xff\xa2\xed\xb5\x00\x98\x2b\x2a\xbf\xa5\x2e\x82\x43\x7c\xa2\x30\xf6\x09\x11\x63\x20\xd9\x89\x3e\xb8\x2a\x14\xdf\x72\xb7\x73\x66\x67\x51\x6f\xc0\x12\xb2\x8a\x03\xc9\xdd\x88\xea\x43\x08\xd8\xce\xea\x44\xcc\x60\x44\x54\xcd\xfa\x2c\x79\x76\x15\xbc\x0a\x6b\x3e\x00\x89\xaf\x0a\x81\xbe\x54\xd1\xb1\x10\xa1\x3a\xb9\x11\xb4\x52\xc3\x42\x80\x0c\xee\x2a\xd2\x39\xa2\xb1\x88\xa7\xfa\x87\x5e\x94\x1d\xaa\xeb\xcf\xc8\x8b\x70\xae\x4b\x1c\x57\x5c\xdb\x6e\x6d\x89\x44\x81\x36\xf6\x0e\xe8\x1c\x70\x3c\x47\x82\x2d\x2c\x0e\x50\xc7\xf1\xe8\xb7\xfc\x7e\xbd\x80\x78\x9f\xcd\x7e\x06\xc7\xe5\x0b\x5f\xc8\xb7\x76\xe8\xb9\xa4\xcd\x59\x05\xa2\x90\x69\xbc\x3a\x55\x8d\x7c\xab\xce\x2a\xf4\xf3\x10\x76\x7d\x5b\x11\x7e\x30\x76\xb3\xa0\xd5\x27\x17\x55\x43\xb2\xcc\xea\x28\xd5\xf7\x16\xfa\xc3\x2e\xfe\xd3\xd2\xe0\x27\x6b\xe4\x4a\x89\x56\xfc\x82\x40\xf2\xdb\x33\x97\x61\x4f\x2f\x2d\xa0\x21\x66\x69\x4e\xc6\xa7\xfe\xec\x6e\xce\x39\xd7\x2b\x64\xbb\xc6\xb4\x76\xa4\xf8\x4f\x8d\x87\x93\x80\xa3\x84\x88\xe4\xd6\xe5\x8c\xac\x03\x90\xae\x25\xa5\xfc\xb7\x3d\x47\x41\x4b\x4c\x26\xbb\xb9\xb4\xcc\x66\xe4\x25\x94\xbd\x56\xd8\x41\xa3\x60\x92\x34\x91\xd1\x17\xbe\x2c\x6e\xb2\x32\x0f\x3c\x61\x75\xe4\x4e\x27\xb6\x65\x3c\x5d\xac\x6f\xae\x73\x60\x0b\x67\x96\x0d\xca\x50\xaa\x85\x5a\x89\xe0\xff\x51\x1e\xa0\x4f\x14\x3e\x89\xf1\xda\x02\x84\x76\xbe\x4b\xf6\xd9\x4c\x80\xff\x72\x63\x39\xe8\xbc\xfb\x7d\xd9\xf8\xcf\x20\x22\x59\xc0\xac\xb6\x27\x6c\x28\x1e\x38\x47\xc2\xcc\x8d\x2f\xba\x84\x43\x8d\x2d\x3c\x60\x31\xf2\xa7\xb9\x5c\x1d\x8f\x9f\x3c\xc8\x6a\x5e\xff\x65\xcc\x01\x1d\xe9\x5a\xd8\x96\x85\x8e\x1f\x7f\x6d\x6b\x94\xbf\x49\xdf\xff\x5d\xe2\xd7\xfd\x71\xef\x10\x81\x34\x28\x5f\x61\xae\x47\x54\x83\x44\x2d\xc9\x0b\xf0\x13\xfa\xed\xf3\x77\x1c\x47\xc5\xb9\x6d\xc3\xcf\x8e\x48\x51\x00\x60\xad\x8d\x45\xfd\x54\x61\x62\x27\x80\xd8\x69\xd4\x61\x7b\x57\xfe\x3c\xb5\xcc\x02\x03\x15\x3a\xae"}, -{{0x5c,0xb5,0x14,0x21,0x74,0x82,0xbf,0x42,0xf6,0x11,0xfc,0xec,0x36,0xa5,0x28,0x68,0x07,0xc2,0xbd,0xbb,0x56,0x96,0x76,0x91,0x35,0x3f,0x54,0x31,0x0e,0x1a,0xd5,0x53,},{0x28,0x06,0x99,0x00,0x3d,0x5d,0x3e,0x1c,0x05,0xad,0x10,0xfb,0x10,0x95,0x9b,0xbc,0x59,0x5c,0xfe,0x21,0x30,0x69,0x96,0x5c,0xd8,0xcf,0x39,0xdd,0x42,0x6a,0x05,0x68,},{0xd5,0x3e,0xe2,0xe0,0xf0,0xfd,0x65,0x7b,0x20,0x52,0x47,0x8f,0xd1,0x5d,0xf1,0xd3,0x8f,0xe0,0xe9,0x3a,0x54,0x83,0xeb,0x4a,0x6e,0x7d,0xe9,0x3d,0x02,0xa4,0xcd,0x54,0x4d,0x8f,0xdd,0xdc,0xea,0x82,0x2b,0x71,0x57,0x6e,0xd0,0x28,0x53,0xd9,0xa6,0xb1,0x4e,0x1a,0x54,0x8a,0xef,0xe9,0x0d,0x92,0xf8,0x83,0x79,0x2b,0x7f,0x1d,0x86,0x09,},"\x2f\x57\x25\x8c\xca\x79\x32\xe5\x8b\xed\x54\x6c\xb0\x04\x11\x15\xbb\xad\x23\xd1\x83\x46\xef\x7a\xb5\xe3\x11\x00\x82\xb3\xa9\x71\x2f\x6c\xbe\x12\x70\xe6\xdc\x0c\xea\x33\x64\xa0\x6a\x5f\x2f\x28\x3e\xc3\x9b\x63\x05\x8d\x34\xd5\x99\x79\x07\x2f\xcb\xbd\x7a\x5d\x0f\x44\x2b\xbd\xf0\x82\xd5\xbf\xe2\x99\x8a\xeb\x51\xbd\x26\x12\x78\x03\xe5\xc7\x96\xc3\x88\x43\x20\x0a\xe2\xf6\xe6\x05\xaf\x31\x2f\x54\xfd\xff\x17\xed\x1d\xfa\xa8\x9d\x28\xfa\x67\xdc\xe4\x62\xde\x4f\xe2\x52\x68\x21\x2b\x28\x2e\x22\x2a\x44\x3e\x2f\x31\xe2\x69\x05\x41\x71\xaa\x73\xc7\x19\xa8\x96\xcd\xb7\xa5\x39\xdf\xd1\xd4\x29\x91\x97\x81\x97\xd7\xc4\xf2\xd3\x0a\x64\x1b\xe3\x4b\xf1\x38\x0a\x4f\x4d\xc6\xd9\xb1\x01\x63\x66\x36\xa4\x96\xbe\xb3\x57\xe3\x47\xc1\x66\x65\x16\xdf\x8e\xb5\x60\xa0\xe0\xd1\xe1\x52\x9c\xe3\x6a\x60\xe0\x0e\xd2\x78\xda\x38\x02\xbe\x19\x23\x42\x98\x9b\xb6\x11\xb4\xe3\xcb\xd9\xc3\x7e\x8c\xce\x07\xef\xc1\x2d\x29\xbe\xfd\x7e\x2f\x3a\xdb\x13\xd2\x8f\x70\x8d\x97\xb6\x3e\x10\x74\x82\xc8\x62\x95\x6d\x7c\xe8\xdf\xc2\xaf\x5c\xac\x8d\x51\x65\x92\x67\xb0\xbb\xed\xdd\x5e\xfa\x41\x4d\xde\xab\xd1\x7b\x23\xca\x6e\x84\x3f\xf4\x9e\xff\xc8\x2a\x5d\x07\xe3\x6a\x83\xb6\x7c\x2a\xd7\xe4\x8e\xb9\x99\x0b\x42\x1c\x55\x58\x00\x9b\xd6\x93\x4e\x86\xd5\x4a\x8a\x6a\xc4\x07\x87\x96\xe3\x05\xc7\xcc\x81\x0d\x3f\x66\xea\x6b\x95\x04\xfe\x0a\xe6\x75\x7c\x50\x4c\x55\x52\x53\x0a\x6f\x8b\xbb\x52\x40\x9b\xe0\x79\xd8\xe4\xa2\x8a\x6f\xd7\xdc\x89\x35\xf8\xeb\x94\x98\xad\xc0\xf2\x3d\x08\x07\xec\x86\x29\x5f\x48\x98\xf5\xd0\x5e\x15\x0b\xdc\x43\xaa\x8b\x7b\xdc\x89\x3a\x0a\x68\x4c\x30\x63\x89\x8b\x6c\x95\xe7\xd5\x6a\x4c\x10\x26\x90\x43\x8e\x9d\xf9\x97\x58\xa9\x0f\x47\xc6\x08\xda\xcc\x4c\xa2\x40\x26\x6f\xab\xa3\x5f\xa1\xeb\x2e\xaa\xbe\x28\x8d\x2c\x2a\xd5\x0b\x6c\xbf\x10\x7c\x00\x25\x75\xe9\x1f\xf4\x72\xa4\x41\x79\x40\x66\x7b\xe8\x18\x01\x73\x85\x4c\x93\xdf\x84\x46\x4b\xcd\x31\x2b\x7a\x7a\xe4\xdc\x2b\x90\x59\xfb\xe6\xf8\x3f\x53\x80\x64\x25\xbd\xff\x03\x1c\x6a\xed\x6e\xfa\xfd\x9d\xe8\xdc\xd0\xdf\xab\xea\x8e\x6f\xa6\x81\xe9\x91\x93\xfb\x3c\x64\x7e\x44\x21\x12\xc9\xa2\x3f\x59\x6e\x65\x41\x1d\x8d\x6b\xfc\x39\x23\x00\x4e\xce\x91\xea\x6d\xeb\x88\x11\x11\xb1\xdc\x29\x94\x3f\x57\x89\x81\xee\x8c\x3b\xce\x85\x25\xf7\x85\x65\xf3\x4b\x85\xff\x20\x01\x5f\xea\xe8\x46\xf9\x5b\x18\x70\x0b\xc5\xcd\xf1\x4b\x2d\xb6\xca\xc6\x98\x14\xd6\x3d\x74\xbf\x20\x32\x93\x03\xe5\xca\x9f\x04\x73\x1f\x68\x81\xce\xc6\xd3\xab\xf8\x7f\x5e\xac\x08\x73\x4f\xaa\x34\xcf\xf4\xd3\xcd\x9a\x4a\x11\xd7\xb1\x2f\x73\x25\x3b\x4d\xd0\xa4\x31\x78\xf0\xd3\xc1\x9c\x0c\x40\xd9\xed\x91\x8d\xd1\x76\x46\xf6\x16\xaf\x79\xfd\xf6\x19\x42\x62\xf0\xfa\x4f\x71\xb3\x18\x7d\xed\xca\x48\xd9\xcb\xcc\x19\x93\x1a\x15\x19\x67\x74\x56\x25\x6e\xd3\x83\x54\x56\x7c\x3a\x67\x57\x1c\xdf\x82\x17\x0a\x2c\x85\xbd\x2c\x5e\x68\xe0\x5a\x0f\x3b\x93\x90\x3f\x19\x1b\x89\x4f\x84\x94\x6f\x89\x00\x05\x68\x05\x4c\x1c\xea\x9f\xd0\xb8\xbb\x55\x01\x95\x06\xc5\x43\x41\xc2\x49\x31\x98\x45\x48\xba\x45\x8a\x4d\x81\x30\x89\x89\x6e\x86\xa2\xdc\x33\xd9\x46\x04\x00\x3f\x35\x4a\x7c\xc9\x41\xc7\x54\xaa\xea\x24\x25\x3c\xbe\x4c\xf2\x14\x7f\xfe\xc5\xe7\xb9\x50\xcb\xf2\x8e\x28\x44\x81"}, -{{0x87,0xd3,0xba,0x95,0xc4,0x0d,0xf8,0x00,0x69,0xb1,0x79,0x7d,0xdf,0x68,0xe8,0x66,0xe6,0x6d,0x46,0xc5,0x1f,0xde,0x60,0xe7,0x68,0xa9,0xdb,0xc5,0xc9,0x2f,0x57,0xa9,},{0x2b,0x81,0x2b,0x2c,0x9b,0x60,0xff,0x31,0x97,0x5c,0x42,0x9a,0x86,0x73,0x6d,0xcc,0x17,0xa5,0x8d,0x3d,0xc1,0xda,0xa3,0x46,0x23,0xa4,0xbb,0xcb,0xe2,0xcc,0x05,0x81,},{0xfa,0x0d,0x12,0xcd,0x53,0x23,0x6c,0x41,0x08,0x6b,0xea,0x8c,0x0c,0xc6,0x0b,0x77,0x64,0xa3,0xed,0x72,0xbd,0xeb,0x9d,0x1a,0xe5,0xee,0xac,0xb4,0x88,0x11,0xfe,0x52,0x97,0x62,0xa2,0xc6,0xf2,0xbb,0x06,0xd9,0xb3,0x18,0x21,0x8d,0x96,0x8f,0x64,0x44,0x35,0x49,0x7a,0x1b,0xd0,0xd0,0xd8,0xc1,0x61,0x2a,0xb8,0x99,0x6d,0x98,0xd7,0x07,},"\xe1\x12\x56\xf8\x2a\xd7\x6f\x3f\x4a\x49\xd7\xba\xd3\xce\xd8\x71\x8d\x36\xd2\xf2\xbb\x3d\x31\xbb\x61\xed\xd1\xec\xbc\xee\x66\x21\xfd\x2e\xee\xd3\xe3\xde\xb5\x97\xb1\x49\xff\x71\xb8\x51\xf6\x1c\x8c\x68\x19\xe1\x31\xf9\xa2\xaf\x76\x73\xc3\xf2\x07\x02\xac\xfd\xc8\xb8\xf9\x06\x4b\x41\x5c\x9a\x3e\x35\x56\x8e\x37\x1d\x74\x0a\x38\x12\x7c\x1f\x27\xb3\x91\xb4\x5d\x07\x04\x5a\xea\xf0\x0a\x54\xe5\xb7\xfa\x54\x8a\xfb\x5f\x96\xfe\xb5\xf5\xb4\x4f\x60\xcd\x17\x07\xe8\xfa\x95\x67\xf7\x80\x6e\x15\xf6\xa0\x1a\xa0\x20\x77\x73\x3f\xe7\x38\xb0\x8f\x21\xef\xbc\xf9\x8c\x19\xd5\xb9\x70\xe6\x16\x3e\x5f\xe8\xf4\x80\x0e\xf9\xed\x22\xa0\xf9\xb5\x12\x6f\xf1\xeb\x1c\x7d\x65\x01\x9c\x8b\x44\x03\x91\x92\x70\x29\xb8\x13\xda\xb7\xc7\xe8\x63\xd4\x82\x29\xf8\xdf\x85\x39\x43\x45\xfc\xc8\x8a\x30\x0f\x60\xa8\xd5\x16\xd8\x77\xa5\xa3\xa7\xe3\xc4\x9a\x9e\xb0\x6c\xd9\xf2\x66\x5c\xe2\xa8\x90\x22\x96\x2b\x1d\x49\x59\x2b\x09\xc7\x54\x3d\xa8\x35\xce\x63\xbc\x9a\xbb\x82\x21\x45\x76\x2b\x71\xcb\xe1\x50\x29\x2c\xe5\xc8\x70\x4e\x5a\xd3\x4f\xb4\x59\x2f\x97\x20\x44\xe4\x3e\x69\xf0\xe1\x67\x2d\x6c\x83\xcf\x25\xaa\xc6\x8e\xfe\x3d\x27\xaf\x2a\xd3\x42\x74\xb9\xd2\xb7\x77\x42\xd9\xc6\xdf\xbd\x57\xf9\x2f\xf6\x4d\x3e\x4c\x67\xc5\x41\xd8\x50\x2a\x7d\x03\x18\x95\xaf\x85\x31\x9a\x4e\xae\x2d\x25\x43\x35\x83\x5e\xff\x11\xe7\xa3\x67\x1a\x6a\x0d\x21\xb7\x2c\xe1\xfc\x2a\xcb\xa1\xa9\x20\x18\x38\x34\xbc\x0a\x4b\x73\xf6\x39\xff\xcb\x0f\x6b\x81\xcd\x92\x0f\x2e\x94\x20\xd6\x12\x16\x6d\x56\x82\xa0\x60\x60\xea\x0b\x6f\xa6\x95\xfe\xcc\x77\x04\xbb\xe4\xb0\x52\xaa\x3e\xc8\xf7\x20\xf7\xd4\xf3\x2e\x8a\xff\x86\xb8\x0b\x8c\x1c\xc1\x27\x64\xa0\x48\x74\x03\x7c\x31\x03\xe9\xdf\xec\xb8\xf7\xab\xcb\x0e\x07\x3b\x23\xe6\x7c\xa0\xa9\xb1\xfc\x72\x99\x3a\xbf\x31\xdb\xc2\x4a\x8f\xee\x09\x5b\x32\x51\xc2\x26\x26\xaf\x5d\xd1\xb6\xd3\x4b\xe5\xea\x06\xa0\x2a\xe1\x76\xc7\xb8\xcb\x9d\x06\x35\x01\xbe\x6f\x61\x20\x82\x88\x9f\xdb\xdc\xbf\xad\xc3\x3a\x0d\x31\x1b\x08\x0b\x8d\x64\xe4\x9f\x16\xb1\x6d\xd8\xed\xd3\xb2\xed\x11\x93\xa7\x4e\x5b\xe5\x07\x60\x9b\x04\x27\x27\xcc\xf0\x8a\xfb\x05\xcc\x6c\x50\x52\x4e\xf0\xe2\x66\x46\x21\xdc\x8b\x05\xb1\x5f\xfa\x81\xab\x6f\x7e\x3c\x8a\x5b\xb3\xea\xb1\xf6\x8e\x36\x56\xc1\x19\xd9\x69\xe4\x14\x4c\xf3\x28\x5a\xf2\x3c\x04\xdb\xec\xc0\x38\xae\xfd\x91\x83\xc4\xe7\x24\x47\xb2\xaa\xa8\x31\x5f\x46\x96\xce\x6d\x1e\xf4\x29\xba\x0e\x5c\x3d\x5f\xfa\x7f\x05\x0b\xe3\x9c\x7f\x61\x2f\x4e\x10\xf8\xef\x07\x0d\xf7\x2f\x8a\xdd\xbe\xaf\x33\x39\xc1\xad\x8b\x5f\xc3\x9a\x2e\xcf\x29\xa8\x7f\x82\xe2\x9a\x01\x17\xba\xac\x66\x25\xad\x5c\x80\xcf\xe7\x59\xfa\x1d\xbc\xfa\xa1\x2b\x37\x44\x77\xd8\x0b\xfc\xf0\x67\x96\xc3\x0f\x2c\x39\xcf\x03\x03\xd0\x0d\xc5\x6a\x32\xd1\xd0\x39\x59\x2d\xdb\x06\xc2\x2a\xa0\x68\x84\x1c\x0b\x46\xfd\x48\xdf\x8f\xbb\x74\x92\xcc\xbc\x59\x0c\x56\x3c\x8f\xec\xce\x42\x63\xc8\xc7\x53\x92\x18\xbb\x97\xb3\x57\x11\x53\x7e\x98\x81\x95\xdb\xf5\xbc\xd5\xcc\xaf\x06\xfa\xf5\x08\x47\x09\x77\xa5\x35\x8e\x6f\x02\x60\x83\x49\xfb\xb9\x9a\x23\xfb\xe3\x6b\x8c\x97\x15\x5a\xdc\x24\x6a\xd7\xd9\x3a\x8c\x20\x3f\x75\x44\x6c\x83\xc4\x34\x2c\x35\xba\x10\x4e\xcc\x67\xe6\x69\xdb\x4a\x95\x46\x6e\xe6\x8f\x45\x8a"}, -{{0x7c,0x27,0xae,0x47,0x07,0x2b,0x0c,0x9b,0x9c,0x2c,0x35,0x1f,0x13,0x27,0x89,0x98,0x95,0xef,0xa5,0x36,0xc9,0xc0,0x67,0xd0,0xe0,0xce,0x8e,0x82,0xe6,0x29,0x27,0x93,},{0xf9,0xfe,0xbd,0x12,0x1e,0x17,0xdb,0x72,0x29,0xb5,0x67,0x09,0x02,0x18,0x49,0xc3,0x5d,0x69,0xfa,0x08,0xb5,0x06,0x20,0xe6,0x67,0xf8,0x42,0xec,0x7a,0xc7,0x82,0xdc,},{0x32,0x71,0x96,0xdd,0xd4,0x3b,0xb6,0x02,0xd0,0x4d,0x19,0x64,0xcc,0xc0,0x59,0xed,0x62,0x7c,0xef,0x0a,0x88,0xd8,0xad,0x91,0xbe,0x49,0x31,0xf1,0x7c,0x25,0x0d,0x55,0x29,0xf5,0x52,0x79,0x4a,0x3e,0x26,0x9d,0x17,0xa6,0x3b,0xd3,0x29,0x33,0xeb,0x5e,0x51,0x9c,0x1d,0x50,0x65,0x74,0x77,0x0a,0xe4,0xa7,0x29,0x64,0xe0,0x6f,0x7d,0x00,},"\x15\x47\x87\x6a\x98\x8d\x1b\xe7\x14\xa4\x2f\xb9\x1c\xb0\x37\x63\xf1\x91\x3a\x89\x2e\xcb\xd4\xde\x2c\xcf\x83\x44\xd2\x07\x58\xb7\xb6\xd0\x02\x59\x10\x1f\xe9\x72\x25\xb2\x97\xf8\x7b\xfe\x22\x20\x04\x32\x5d\xb7\xf6\x32\xce\xaf\xfb\xd1\x34\xc9\x6c\xbd\x57\xe9\x85\xbe\xc8\x43\x4f\x81\xa4\xee\x6a\xf8\x5c\x3f\xad\xe5\x0e\x4c\x4e\xf2\x0c\xb0\x39\x35\x45\xe4\xd4\xa8\x6e\x1f\xa3\x9a\xaf\x33\x3f\xe4\xde\xd0\x54\xbf\xc0\x50\xa8\x98\x3a\x03\xdd\x1e\xcf\x2b\x5e\x95\x17\xba\xf9\xe1\x15\x21\x29\xa8\xa7\x59\x35\x71\x1e\xdb\x20\xaf\x5c\x8c\xf9\xc6\x94\xa3\x3c\xee\x45\x1c\xd9\x50\xb2\xff\xf0\x8e\x31\x58\xc5\xcf\xb7\xb1\x5c\xb3\xe9\x0d\x46\xf4\x94\xb6\xa1\x08\xd8\x88\x8d\x5e\xc2\x9a\x33\xc0\x66\x02\x3b\x49\x77\x09\xb2\xd9\x40\x1f\xea\xf2\xe7\x4f\xf2\x6c\x16\xd3\x6c\x39\xe6\x51\x7f\xf9\x54\xbd\x98\xbc\xe7\x70\x06\x71\x98\x8f\x66\xe8\x51\x07\x64\x4b\xa2\xea\x00\x7a\x13\x01\x8c\x1c\x14\x4e\x3c\x5b\xb8\x0d\xb9\x51\x1f\xcc\xa4\x10\x1b\xf4\x9f\x8c\x80\xff\x3c\xa7\xd2\x98\x25\x7c\xbf\xea\x62\x9f\x83\xd5\xe0\x66\x39\xd3\x1f\x63\x9d\xb4\xb8\x72\x6c\xbe\x22\x4d\x75\x88\x29\xba\xb1\x09\x05\x17\x1c\x9c\x0e\xc3\x70\xd5\x80\x31\xef\xe4\xcc\x5a\xe7\x2a\x49\x5a\xcf\xf6\xcb\x2e\xd9\xee\xc6\x58\xba\x11\x70\x88\xdd\x3c\x6e\xd1\xdf\x8f\x9c\xb1\x0b\xd4\xfe\x0e\x5e\x8a\xd9\xf5\x03\x4e\x34\x65\x2d\x98\x66\x8d\xb1\x5c\x85\x33\x39\x3a\x6e\x9e\xc0\x87\x0c\x35\x66\x6c\xe5\x4e\xfe\x2b\xcb\x45\xc3\x4a\x72\x30\xe6\xa7\x00\x67\x63\x49\xc7\xb3\xab\xf3\x1d\xe7\xb7\xb0\x52\x1f\x89\xb3\x0a\xc4\x03\x4c\x2a\x4b\xa8\x21\x8e\xef\xdf\x8d\x2a\x5c\x1f\x8e\xd9\xb7\x01\x57\x9e\x47\xaf\x8a\x52\x9a\x95\xa1\xff\x64\xd8\xfd\xb8\x85\xc3\x68\x39\xb4\xc5\xf6\xd7\x2a\x99\x25\x7e\x86\x78\xdc\xcf\x31\x27\x54\xb9\xd4\x61\x9b\xee\xce\xb8\x25\x52\x6d\xe6\x22\xbd\x96\x76\xfd\x5f\x35\x76\x93\xab\xab\x07\x8b\x9e\x03\xae\x21\xe8\x7c\xa1\x61\xe7\x78\xaf\x77\x09\x6e\xaa\xc2\xd2\xd3\x2b\xfe\xc8\xec\x94\xaf\x79\x65\xf6\x1d\x68\xef\x66\xa4\x52\x3c\x1c\xc7\x0c\x95\x19\xb0\x75\x0b\x3c\x9e\xed\x5a\xeb\xa9\xf0\xa9\xb7\xef\x52\xcd\x4a\x2d\xe2\x9b\x39\x5b\x70\x5f\xa5\x3f\x02\x8f\xa7\x66\x15\x9f\x20\xe7\x5f\x4d\x38\x4e\xc4\xfd\x66\xdf\x06\xe7\x44\xc9\x9a\xc8\x8c\xb8\x49\xc2\x85\x75\x7c\xc5\x57\xe2\xee\xdd\x86\x95\x9d\xa2\xc1\xb8\x1f\x5b\x27\x15\xa6\x51\x98\x48\x90\x1a\xe4\xf8\x9d\x09\x13\xc8\xde\x57\xc5\x3d\xad\xf2\xe5\xe1\xaa\x2a\x9c\x5f\x46\x4f\xc7\x61\x0e\x8e\xf5\xf5\xcd\xd8\x20\x3a\x67\xa9\x3c\x33\xa0\x6d\xab\x35\x8d\xc5\xae\x23\xed\xfe\xe6\x33\x42\x62\xf4\x7b\x19\xb1\x13\xd6\xca\xfe\xda\xc1\xb4\x39\x02\x53\x9d\x74\xfb\xa2\x9a\xaa\x7b\xce\x68\x88\x4b\x72\x61\x6a\x05\x42\xc9\xfc\x69\x54\x7c\xd1\x9a\xe1\xdf\x01\x72\x3a\xbd\xda\x65\xe9\xbf\xac\x5d\xa0\xd0\x42\x40\xc6\xa2\x17\x5c\x00\x62\xe4\xe1\xed\x8a\x5b\x39\x7a\xfc\xd4\xde\x38\xe8\x62\x09\x27\x2c\x7a\x42\x4b\x5a\xe8\xd5\xa4\x0b\x48\x4c\xe1\xb4\x70\x4a\xf2\x83\x16\x09\xad\x0f\x36\xe9\x0e\x07\xb2\xaf\xed\x01\xdc\x05\x57\x4a\xd3\x97\x17\x23\xc5\xb5\xc1\xdd\xd4\xfc\x8b\xd2\x63\xbc\xdf\x56\x8a\xf7\x5e\x73\xd8\xab\xd1\x00\x8c\x9e\xc7\x12\xf8\x0f\xfc\x65\xac\x34\xe2\xa7\x93\x04\xea\xde\x1d\x2a\x1d\xff\xec\x0e\x4c\x98\xc3\x58\x24\x68\xf3\x20\xbf\x8f\x66"}, -{{0x08,0xed,0xdc,0xb5,0x62,0x5a,0xe1,0x9f,0xfe,0x7b,0x49,0xa7,0xdc,0x82,0x9c,0x89,0x3c,0x75,0x38,0xb0,0x88,0x5e,0x18,0xf9,0x8d,0xb7,0x8c,0x8b,0xeb,0x56,0x9c,0x26,},{0x83,0x47,0x8b,0x1c,0x58,0x57,0x6a,0x0d,0x18,0x34,0xb2,0x8d,0x46,0xfb,0x80,0x51,0x6d,0x6f,0xb6,0xf9,0xf5,0x91,0x69,0x4b,0x44,0x35,0x2e,0xec,0xd1,0xe7,0xe8,0x9a,},{0xec,0xe7,0x53,0x22,0x99,0x51,0x54,0xb2,0x92,0x43,0x7e,0x47,0xd3,0x8a,0x6a,0x70,0xaf,0x37,0xe2,0x02,0x07,0x16,0xfd,0xe4,0x6b,0xfd,0x39,0x3b,0x3d,0x36,0x9b,0xdd,0xb5,0x32,0x53,0xb5,0x56,0x62,0x1c,0xfb,0x34,0xc8,0xa9,0x02,0x54,0xe1,0x32,0xfd,0x28,0xec,0xd0,0x98,0x43,0x34,0x13,0xa2,0x1b,0xd3,0xa9,0x79,0x8c,0xa1,0xf3,0x09,},"\x01\x5b\x1d\x3e\xeb\x00\x92\x9e\xa8\x0b\xd8\x68\x7d\x18\x28\x6f\x0a\xdf\xe6\x45\xcc\xf2\x5a\x22\xb5\x06\x19\x21\xe2\xa0\x30\xfc\x76\xd0\x33\xfb\x53\xd0\x93\x7c\x69\xb3\x1c\x5b\xe4\x99\x13\xca\x1f\x2c\x3d\xca\x12\x1b\x2b\x87\xc5\x9b\x3c\x84\xc7\xae\x52\xaf\x19\xc6\xb9\xfa\x1b\xd6\x75\xfb\x6d\xd8\xb3\x29\xd5\x66\x87\x86\xdc\x78\x83\xe2\xd2\xe8\x58\x6f\xf4\x12\x8b\x90\xde\xe8\x4b\xe0\xab\x54\xd6\x81\x3f\x7a\x8c\x61\x34\x75\x71\x73\x98\x17\x75\xde\x84\xc4\xdd\x39\xe3\x36\xf8\xa4\xef\x8d\xca\xde\xc9\x43\xe9\x0d\x42\x1b\x22\x9c\x11\x78\x5f\xcd\x3f\xe9\x63\x03\x74\x58\xe7\x6c\x82\x0b\x3b\xc2\xc9\x47\x60\x01\x26\x2b\x26\x1d\x28\xb6\x5b\x48\x9d\x76\xb4\xbe\x23\x65\xe4\xa8\x0f\xa8\x71\xb0\xa5\x3b\x6a\x5f\xb2\x43\x68\x82\x35\xac\xc5\xf4\x77\x4d\xb1\x5d\x47\xb4\x2d\xd6\xc8\xd9\xe1\x2d\xcb\x0b\x5d\x98\x0d\xab\x0f\x3a\xd8\xa4\x96\xf7\x6e\x50\x06\xc2\xca\x82\x67\x5f\xf1\x94\xca\xf8\x07\x0d\x04\xbd\x38\x4f\x97\xe5\x83\xe7\x3c\xbc\x4f\x7f\x25\x73\x10\xa6\x1b\x1c\x80\x62\x32\x2d\xce\x81\x15\xf6\xdd\x93\xee\xe8\xa9\x3f\xfa\x5c\xab\x66\x34\x11\x6e\x1a\xb7\x05\xfa\x86\xc4\xa8\xea\xa5\x56\xc6\xc8\x9d\xbc\xad\x01\x04\x36\xbf\xfe\x45\x18\x22\x49\x1f\x1e\xa8\x6c\x20\x20\x7e\x4d\x12\xdf\xa3\x62\x61\x6c\x58\x9f\x97\x10\x7e\xa5\xd8\xbd\x8a\x72\x15\xc6\x00\xff\xc7\x0b\x80\xe2\xab\xb1\x5a\xcb\xe4\xbe\xcc\xa2\x0d\x72\x15\x5a\xbc\x3d\xbe\x8e\x37\xcf\xd7\x3f\x74\x20\xf2\x1c\x9b\xcd\x0c\x32\x73\x51\x3b\x50\x49\x67\x08\x74\xd5\x51\x9b\x3b\xc1\xdb\x52\x3c\x1d\x7e\x90\xc1\x65\x96\x7c\x4c\xb2\x84\x5a\x2e\x8b\x47\xb5\x88\x92\x54\xf5\x8a\x9b\xbb\x82\x6f\x94\x52\x1c\xdb\xd0\x41\x6f\x5f\x18\xff\x78\xa3\xfd\x0d\x7a\xb8\x97\x90\x62\x64\x48\x3c\xde\x64\x2d\x8e\x70\x3f\xd8\x2e\x5a\xe7\x0a\x9f\x97\x8f\x64\xee\x80\x52\x05\x54\x85\x05\x28\x58\x1c\xa9\xa0\xb3\x8c\x19\x6f\xd1\x66\xda\xe5\x87\x9b\x3f\x72\xf5\x9c\xde\x91\xcc\xa2\xc8\xbf\xaa\x47\x8b\x98\xd6\x24\xcd\x34\x72\x44\x02\xde\x57\x8e\x57\x54\x82\x5c\xe2\x27\xd2\x87\x1b\x45\xa5\x11\x71\x49\x51\x5b\xff\x81\xa9\x23\x24\x6f\x3b\x72\xd0\x7b\xd4\x58\x12\x5c\x70\xa1\x4d\x87\xc3\xfd\x13\x39\x2a\x3b\xda\x65\x53\x01\x6e\x8b\x2d\x07\xbd\xe9\x03\xcf\x68\x7b\x44\x5c\xfd\x6f\x76\x14\x92\xeb\xa4\x65\x22\xad\xa8\x4a\x96\x15\xd8\xda\x34\x98\xb2\x58\x06\x72\x69\xb7\x88\xe5\x59\xb6\x59\xd4\xb4\x8a\x87\xd8\x80\xd6\x37\x8b\xe6\xa8\x87\x46\xf3\x5b\x32\x2b\x04\x78\x45\xaa\xdc\x52\x3b\xea\xff\x30\x70\xf7\x21\xc3\xc0\x71\xea\xa3\x19\xb7\xa4\x7c\x1b\x20\xd3\x00\xdc\x03\x21\x90\x9b\x66\x9e\x57\xd3\x9a\x1c\xe2\xfd\xbe\xaa\xfa\xc2\x13\x50\xec\x2d\x6e\x6d\x5b\x88\x01\x86\xc0\x28\xa8\x61\x47\x4d\x50\x76\xa4\xad\xc5\x03\x2f\xec\x91\x40\x78\x7c\x36\x80\x6e\xf7\x9c\x72\xe3\xa1\x9d\x8c\x8b\x70\xbd\xaf\x20\x72\x95\x54\x2d\x96\x82\x5a\x5d\xe7\xdf\xe1\x08\xef\x57\x45\x99\xb8\xf1\x84\xc6\x3a\x5a\x13\x1d\xb1\x9b\x3b\xe5\x3f\x69\x9c\x10\xfc\x4c\xa7\xc6\x3f\x35\x00\x21\x1b\x35\x6a\x0a\xc6\x64\xdd\xfc\x1a\x92\x52\x59\x00\x26\x39\x5b\x47\x9b\xe9\xa5\xe4\x75\x84\x23\x56\x0b\x65\xbb\xce\x5b\xba\xde\x49\x3b\x13\xd0\x0c\xf8\xc1\xd3\xb7\xe9\x22\x13\x67\xe8\xf0\xea\xda\xb6\xe6\xd1\xb5\xff\xfd\xe7\xb2\xd7\x41\xfc\x2c\x83\x02\x24\xff\xf7\xff\x14\xae\x5c\x07"}, -{{0x22,0x73,0x94,0x2d,0xb3,0xe5,0xd3,0x22,0x1e,0x80,0xd9,0x94,0xfd,0x5e,0x11,0x63,0xaf,0x55,0xf5,0x45,0x5a,0x8e,0x52,0xbe,0x85,0x2d,0xd3,0xad,0xf7,0x62,0xb4,0x40,},{0xbc,0x58,0x67,0x4e,0x99,0x6b,0x6f,0x3e,0x32,0x20,0xb3,0xe9,0x4f,0x00,0x67,0xbb,0x0e,0x9b,0x0d,0x97,0xd9,0xe1,0x05,0x9c,0xf1,0x39,0x97,0xa1,0x93,0xac,0x03,0x2a,},{0x87,0x4d,0xde,0xce,0x08,0xf3,0x0b,0x30,0xf0,0xd4,0xc8,0xb3,0xed,0x7c,0x61,0x51,0x49,0xb8,0xaa,0x74,0x0d,0xaa,0x34,0x7b,0x55,0x95,0x8f,0x1e,0x21,0x19,0x04,0x4f,0x69,0x5a,0x21,0x06,0x96,0x90,0x50,0x64,0x48,0xd8,0xe7,0x35,0x2b,0x90,0x46,0x51,0x1d,0x7f,0x39,0xa5,0x41,0x5b,0xb9,0xc5,0x70,0x50,0xfc,0x17,0x05,0x5c,0x38,0x08,},"\x8a\xa0\x50\x9e\x4b\x91\x41\x86\xff\xff\x07\xae\xb9\x7a\x04\xb5\x46\x27\x2d\xa2\xf9\xea\x7b\xfa\x65\x9a\x24\xcb\x50\x96\x6c\x23\xeb\x65\x42\xe4\xf2\x2d\xeb\xe3\x3b\x65\x76\x92\x45\xc4\xd1\xb5\xdc\xf3\xe6\x99\xc7\x0c\x5c\x2b\xaa\xd9\x73\x4e\x9d\x1e\xfe\x54\x48\xab\x71\xc8\x94\x6a\xec\xce\x52\x68\xd2\x6f\x19\xcf\x60\x5e\xb3\xbf\x38\xb0\xb3\x32\x26\x94\xac\x0d\xcb\x76\xb0\xf9\x46\x84\x2f\x6c\x5c\x68\xd7\x63\xfc\xe7\x47\x01\xbd\x6b\x78\xe7\x1c\x8c\x31\x42\xad\xd4\xed\x46\xe0\x96\x9b\xb9\x55\x5b\xe0\x36\x02\xd5\x62\xe4\xc8\x9f\x3a\x91\x99\x40\xe8\x83\xa9\x69\x40\x54\x2f\x27\x79\xfb\xf9\xec\x0a\x28\x5d\x9d\x8a\x72\x36\x01\x46\xe3\xff\xbd\xb7\x8d\x21\x03\x16\x03\x8d\x95\xd6\xab\x75\x71\x65\xaa\x94\x3c\x03\x3e\xeb\xb3\x21\xc0\x5a\x39\x95\x69\xbc\xf6\x6b\x4d\xdb\x0b\x2e\x0e\x33\xc4\x79\x3d\x81\x7c\xcf\xf5\x7f\x99\xb3\x18\x9c\x60\xd5\xd7\xb9\x41\x9d\x1e\xbc\x94\x3a\x79\xd4\xd8\xc3\x94\x56\x61\x80\x59\x4f\x55\x9a\x80\x52\x9c\xc1\xba\x28\x87\x7a\xf8\xf5\xc0\x50\x3e\x94\x3c\xd3\xaa\xd9\x98\x11\x64\x52\x72\xda\xfb\x49\xb9\xb3\xe6\x10\x7e\xb5\xe5\x18\x6e\x16\x08\x75\x71\x26\x05\x3d\xeb\xce\xc7\x5d\xd9\x56\x5c\xee\xa0\x6a\x13\x91\xa8\x22\x6d\x1f\x45\x93\x79\x22\x40\xcc\xd9\x7c\x67\xa6\xc2\xb1\x34\x4c\x22\xc9\x1f\x42\x03\x3a\xde\xf5\x28\x61\xf3\x2a\x4e\x07\x12\xa9\x17\x87\x9a\x0b\x05\x18\xb5\x42\x4b\xcd\xc0\x54\xb4\x4e\x97\x2e\xd2\x4d\x01\x68\x9f\x4f\x27\xf5\xf1\x76\xf0\xa5\x78\xab\x2d\x3c\x08\x78\x27\x2e\x8c\x08\xc2\x15\x82\x11\x86\x54\x12\x4d\xca\x39\x58\x53\x37\xc1\x3c\x18\x65\x81\x4c\xaf\x09\x96\xca\xdf\xa6\x5b\xe5\x80\xde\xe3\x22\xeb\xcc\xda\x70\x4b\x22\x80\x58\x26\x04\x06\x7d\xc3\xc6\xb1\xf7\xd8\xa2\x69\x78\xa6\x5c\xff\xd1\xed\x31\x96\xa2\xb0\x65\xfb\x3c\xaa\x79\xe6\xb5\xb6\x6c\x13\xd7\xbd\x7d\x0e\xc1\x4a\x3a\x4d\x58\x41\x3f\x21\x2f\x47\x1e\xca\xad\x3a\x84\xaf\x35\xe5\x98\xa8\x9f\xb3\x44\x7d\x33\x24\xf0\x20\xfb\xf1\xb7\x3e\x2a\x98\x6e\x0d\xa1\x6c\x01\x83\xbf\x92\xa3\x98\xc4\x19\xa0\xf9\xf3\x05\x37\xbe\xa0\xdf\x8d\xf2\xdc\x53\xc1\x54\xe8\xea\x16\x06\x89\xe7\xbb\x4d\x72\x9d\xd8\xab\x90\x03\x14\x27\xaa\x39\x45\x86\x3a\x85\xe8\x96\x52\xb9\x35\x38\x05\x16\x6f\x7c\x0a\x18\xc9\x39\x95\x4b\x27\x87\xc3\x70\x94\xf9\x25\x12\x72\x2e\x52\xb0\xc9\x76\xb9\xe4\x2a\xf4\x03\x9d\x2c\x05\x78\xff\x14\xfa\xe1\xd8\xc2\xd1\x39\x6b\xeb\x2d\x6a\xa6\xeb\xd5\x54\x74\xa9\x34\x98\x67\xa0\x3f\x3a\x99\xd7\x87\x80\x63\x4a\xb4\xb3\x5c\xfe\x1b\x87\xa9\x13\x32\x52\xa6\x98\xbc\x40\x7d\x63\x84\x28\x70\xe2\x2c\xcf\x39\x33\x62\x0a\xc0\x42\x3c\x3d\x1f\x68\x1d\xd7\x3c\x01\xd0\x6c\x3b\x94\x15\x06\xc9\x8e\xed\x9b\x78\x68\xe0\x17\xb7\xf9\x97\x16\xb0\xb7\x7f\x11\x32\x1e\x5a\xb2\x3d\xbf\xcf\xca\x93\x50\x84\x5e\xe1\x80\x44\x4c\x50\xff\x0a\x9c\x96\x5f\xcb\xf7\x77\x70\x8e\x4f\x34\xcc\xc6\x37\xc6\xa0\x8d\x85\x43\x84\xf8\xd3\xe2\x51\x69\x56\xc1\x51\xd0\x31\xbb\x1c\xbe\x71\x2a\x5e\xf9\xee\x16\x61\x92\x28\xbd\x29\x6f\x2a\xfe\x58\x2d\x99\x53\xd5\x90\xd1\x8b\xb2\x05\xf7\x0f\x84\x4c\x16\xc0\xa2\xd8\x31\x80\x37\xd4\x3d\xd8\x0f\x65\xc6\xa7\x53\xf2\xa8\xe2\x7c\x89\xc8\x3e\x7e\xd7\x0c\x52\xf7\x06\x2d\xfb\xb1\xf5\x44\xaa\x23\x6b\x5c\x70\x4e\x7b\x39\xce\x0a\x55\xfd\x46\x52\x80\x83\xca\x61"}, -{{0xdb,0xfa,0x45,0xab,0xaa,0x55,0x41,0x52,0x38,0xb1,0x28,0x76,0x34,0xd5,0xee,0xc4,0x02,0xda,0xdf,0x62,0x2e,0x27,0x0c,0x04,0xa8,0x91,0x4c,0xed,0x27,0x0a,0x72,0xbe,},{0xc0,0xfe,0x32,0x35,0x81,0xea,0x29,0x67,0x50,0x79,0x7e,0xb5,0x50,0x8c,0xa1,0x9a,0x58,0x3b,0x53,0x7f,0xa7,0xdf,0x45,0x29,0xf0,0x80,0x4a,0x33,0xc1,0xa4,0xbe,0xf4,},{0xa4,0x62,0xa9,0xba,0xa5,0x6d,0xc0,0xf7,0xa7,0x1b,0xf8,0x7b,0x95,0xf4,0x8d,0x64,0x20,0x22,0xd9,0xd1,0x73,0x3e,0xe3,0x68,0x37,0x77,0xa3,0x78,0x22,0x28,0xac,0x85,0xfc,0xd8,0x30,0x26,0xbe,0x4c,0xa9,0x7a,0x34,0x5b,0x08,0x4f,0x50,0x87,0x4e,0x91,0x24,0xe1,0x6b,0xa1,0x7d,0xea,0xd4,0xad,0x85,0xc0,0xe5,0x6f,0x16,0xef,0x18,0x04,},"\xe2\x6e\x8d\xcb\x44\xe6\x41\xfc\x20\x08\x0e\x95\x47\x4b\xd3\x9d\x71\x6c\x5a\xfe\x5a\x1f\xfb\x05\x6d\x1e\xaa\xb0\xc4\x9f\x85\x70\x71\x7d\xb6\x43\x7a\x03\x22\x8a\x9a\xd9\xf4\xbb\x0b\x34\x3b\x95\xe1\x60\x23\xc0\x80\x7e\xb2\xa1\x51\x06\xa6\xeb\x12\xdc\x76\x68\x3e\x69\xdd\xa3\x36\x31\x48\xc5\xd7\xdd\x97\x13\xaf\x6f\x87\xa0\x94\x10\xea\x8f\x76\xb6\xb7\x8a\x11\x44\x29\xbc\x85\xf7\x84\x81\x2f\xca\x31\xac\xb0\x30\x95\x52\xcc\x18\x8c\x6e\x96\x97\x09\x3c\xf4\x04\xc6\xf0\xf4\xab\xe8\xa1\x60\x86\x73\xfd\xfa\x5e\xb7\x8f\x65\xfc\x1d\x49\xcd\xec\x40\x94\xb1\xbd\x23\x4a\x46\xe0\xec\x62\xa4\xb6\xd3\x1b\x82\x96\x11\x54\x01\x27\x87\x6b\xff\x4c\x17\x3d\xe0\x58\xcf\x61\x00\x4b\x01\x4a\x7b\xdf\x79\x3d\xfd\x6b\x63\xc5\x07\xd2\xb2\x3e\x0f\x56\xbc\x2f\xe6\xba\xf6\x37\xce\xe4\x0d\x18\x99\x22\x95\xd8\x48\xef\x49\x8f\x8a\x16\x1b\xd8\x7e\x60\xc9\x1f\x97\xa9\x1e\x9e\xf3\xf6\xd9\x7f\x2b\x2d\x21\x04\xba\x6f\xdd\xd6\xc6\x80\x70\x62\x73\xda\xe8\x7e\x6e\xec\x1a\xf2\xa4\x59\x84\x98\x50\x69\xe8\x09\xe8\xde\x32\xc1\x28\x89\x29\x9a\x32\xd4\x0f\x38\x77\x45\x99\xac\x33\x24\xb7\xcb\x0a\x4e\xa6\x32\xc5\xf9\x10\xad\x87\xf5\xad\xbf\xa5\xc3\xbb\x20\x49\x82\x79\xfd\x53\xc1\xc2\x67\xfe\x0a\x84\x77\x30\x85\xda\x26\x6b\x25\x3c\xd8\x53\xdf\x7e\x96\x35\x58\xcb\x06\x88\x07\x80\x97\x34\x23\xc5\x64\xcd\x0b\xcd\x6b\x93\x33\x4c\x19\x59\x53\xd7\xcd\x89\x9f\x8a\x54\x7d\x1a\x1a\x0a\x8d\xef\xf1\x38\x1b\x43\x21\x57\x47\x28\xcf\x71\xb9\x6f\xf2\x09\xe8\x99\xda\xa8\xf1\x3f\x41\xb2\x30\xe1\x7b\xff\xdf\xdd\x2a\x89\x43\xaa\x5d\x21\xe5\xf3\x6e\x1d\xa0\x7e\xdd\x6c\xee\x92\xdc\x48\xb5\xb2\xa7\x58\x01\x46\xa9\xba\xf7\x13\x95\x0c\xe6\x76\x25\x5a\x89\xe3\x4f\x87\x87\x54\x7d\x62\x86\x8d\xb1\x4b\xa4\x65\x94\xda\x31\x0d\x7e\x2d\x9e\x7c\x7d\xbe\x17\xdb\xd7\x1e\xb4\x7c\x56\xc5\x72\x1d\xc9\x6d\x69\x64\x70\x57\x37\x94\x80\x94\x11\xcd\xfa\x27\x6b\x05\x9d\x00\x07\xc2\x5d\x74\xb2\xa6\x7d\x38\x24\x6d\xe1\x1e\xf4\x6d\xfe\x26\x70\x92\x6f\xe4\xb6\x36\x56\x23\x1b\xc7\x26\x8b\xba\x23\xf3\x78\xe8\x4a\x42\x8c\x3c\xbf\x45\xcc\x53\x96\x78\xfd\x46\x7c\xd3\x3d\xd0\x75\x7c\xfa\x02\x4e\x54\xda\x1f\xf5\x4c\xe8\x20\x22\x9b\x77\x8b\x18\x4b\xe1\xfa\x2e\x84\x68\xcc\x19\x95\x59\x40\x73\x5e\xaa\xa8\x84\x02\x2f\x64\x18\xb0\xb1\xf2\x6b\xcc\xf1\x69\xf1\xbc\xac\x7d\x82\xa3\x5a\xb6\xef\x84\x7e\x1d\xba\x53\x7d\xca\xff\x57\x25\x0a\x8d\x1c\x71\xfa\xcb\x13\x4c\xd0\x6b\x01\xc4\x53\x19\x13\x27\x45\xdc\x48\x88\x88\xa1\xd7\x76\x1b\x84\x86\xa3\x7e\x69\x88\xa1\x12\x0b\xcc\x16\x82\xdb\xfc\x89\x14\x3f\xc3\x5b\x46\x93\x5d\x8a\xcf\x6e\xf3\xc4\x2f\x0f\x4b\xf6\x79\xdf\xd6\xff\x44\xb6\xad\xa2\x6b\x01\xa9\xf8\x9f\x37\x4c\x7d\x2e\xe4\x8d\xfe\x1a\x41\x0e\x89\x7c\xdf\xd9\x7f\x62\x6d\x26\x68\x50\x28\x14\x40\x07\x93\xb3\xb0\x7c\x87\x20\xbb\xdd\xc5\x9c\xb0\xf9\xde\x96\x4a\xe0\x75\xb4\xaf\x3d\xd4\xba\xf6\xd0\xe4\xf9\x4f\x29\x4e\x81\x09\xd6\x57\x7c\x4f\x8a\x9c\x7a\x5f\x7d\x69\x4b\xf8\x8f\x1a\x5e\xa7\xeb\xa0\xa6\x6d\xa6\xc7\x70\xc0\x8b\x3a\xbf\xfc\x53\x4d\xf2\x19\xdc\x3e\x33\x23\xb0\x22\xe9\x6c\xc8\x60\x02\xb1\x89\x18\x1a\x1d\x2b\x52\x7d\x27\x95\x0b\x7f\x42\x5a\x47\xda\x40\x13\x77\x8b\xd0\x0b\x71\x10\x59\x22\x20\x49\x21\xe9\xdc\x69\x2c\x23\x3f\x7b\xaa\x04"}, -{{0xef,0x64,0xe1,0x7a,0x53,0xf7,0xfb,0xca,0xfe,0x3e,0xa4,0x68,0x76,0x84,0xa0,0xda,0xdb,0x18,0xd0,0x37,0x35,0xa4,0x0a,0x53,0xb3,0xed,0xb0,0x49,0x07,0xee,0x61,0x62,},{0x91,0x86,0xe6,0xbc,0x14,0x29,0x61,0xc4,0xd3,0xeb,0x36,0x9e,0x9e,0x11,0x57,0x82,0x92,0xde,0x5b,0x6a,0xf5,0x34,0xd4,0x23,0xff,0x24,0x0f,0xa2,0x6e,0x21,0xa7,0x81,},{0xf5,0x8f,0x39,0x6b,0xa2,0x7e,0x06,0x7a,0x5f,0xe0,0x03,0xe3,0x85,0x58,0x2a,0xe3,0x49,0x0e,0x05,0x95,0x77,0x15,0xd7,0x04,0xda,0x0d,0xa6,0x3a,0x64,0x19,0xd2,0xe4,0xf6,0xdc,0x66,0xb7,0xe8,0x8e,0x42,0x8a,0x6f,0x21,0xb9,0xea,0x20,0x22,0x99,0xa3,0xc3,0x6b,0x24,0x2b,0x0e,0xa0,0x64,0x76,0xff,0x12,0xd0,0xb6,0x58,0x0c,0x04,0x03,},"\x68\x82\x45\x6c\xc3\xd1\xad\x0d\xaa\x9b\x88\xef\xf0\x96\x9f\x15\xe9\x7b\x48\xd0\x51\x96\x7e\x13\x90\x84\x72\x25\xf2\x6a\xc2\x55\x59\xf0\x24\x6b\xf7\xd6\x83\xfa\x28\xec\xed\xad\x21\x49\x1d\x77\xbd\x26\x96\xfa\x83\x5d\x0f\xd1\x19\x88\x4f\xec\xe9\xd8\x03\x69\x1b\x2f\xd3\xde\x17\xee\x08\x7c\x74\x00\x7a\x7d\xe9\xbc\x65\x34\xbb\xfe\x95\xfd\x32\xe9\x7c\x37\x5f\x4c\xb6\x57\x31\xaa\x1e\x83\x46\xbe\xa2\x1b\xe9\xf2\xc3\xdc\x87\x4a\xf0\x43\x19\x06\xcc\xbc\x2c\x60\x01\x27\xf4\xd3\xb0\x69\xeb\x09\x1d\x16\x5e\xc4\x53\xe6\x72\xe9\x3c\xae\x8b\x72\xf0\x33\x71\xd8\xb8\xa8\x24\x4e\xc4\xec\x2e\x09\xf3\x1d\xf4\x02\x06\xa2\xb1\xc8\x4c\xaa\x1b\x99\x3c\xc6\x75\xfd\xe1\xc7\x9b\xd4\xa7\xd1\x59\x74\xfa\x29\xce\x2e\x89\x2c\x28\x99\xcf\x48\x2c\x3d\x96\x63\xf6\xd2\xa7\x97\x84\xf4\x1c\x1f\x58\x66\xd3\x7c\x85\x46\xf3\x57\xd5\x64\xd3\xc4\x21\x8d\xfa\x6d\x20\xb6\xc2\x82\xb4\x00\xfe\xdd\xe5\x24\x39\xd4\x72\x21\x2c\x57\x67\xa3\x5d\xa5\x20\x10\x32\xda\x87\x30\x96\x8b\x07\x20\xe8\xa6\x04\xde\x6c\x1b\xaa\x3f\x4e\x89\x6a\xc2\x61\x4f\xb1\xab\x6e\x3f\x6c\xf3\x87\xa8\xeb\x2f\xf8\xa9\x21\x47\xab\x34\x92\x38\x43\x2e\x50\x9d\x82\x9c\xb7\x5b\x2c\x17\x65\xc5\x12\x21\x84\x8e\x25\xaf\xff\x5f\x16\xe4\xdd\x0c\xd5\xc9\xf7\x13\xc4\xaa\xab\x2c\xe8\x36\xf8\x49\x45\x06\xb5\x30\x9d\xc2\xb0\xae\x74\x5b\xb9\xc4\x79\x80\x98\xfb\x86\x41\xd5\x20\xa0\x8b\x02\xf7\x5a\xd8\x0d\xbc\x2c\xe2\x9e\x89\x0b\x4d\x72\xa3\xff\xb2\xa1\xcb\xd5\x38\xe1\x22\x9f\x57\x9c\x29\xae\x66\xbc\xa8\x5e\x0f\xa0\x8c\x86\x47\xa1\xab\xcf\xe8\xa4\x9f\x5e\x50\x8d\x4d\x24\x95\x55\x66\x23\xd9\x26\xce\x49\xef\xa4\x35\x0a\xaa\xab\x5c\xec\x2c\xd8\x85\xbe\x1d\x63\x47\x5e\x3b\xab\x7c\x7c\xdc\x8d\x65\x61\x73\xb8\xd4\x56\x02\xf4\xb3\xd2\x81\x24\x1d\x17\x19\x03\x27\xb2\x4c\x38\x36\xb1\x93\x11\xa1\x93\xaf\x86\xa6\x76\x8f\x04\x85\x2a\xb0\x6e\x67\xc8\xea\xd5\x91\xcd\xcb\xf3\x78\x9c\x61\x32\x09\xcf\xe0\x3f\x58\xc0\x30\x5f\x63\x20\x3b\x48\x7f\x7c\x5f\xc0\x98\x87\x7e\xc9\x8a\x68\x9c\x9d\x35\xaf\x81\xe8\x40\x78\xd6\x6f\xe9\xe4\xec\xcb\xb1\xcc\x6c\x71\x99\x1c\x03\x01\x7b\xb8\x11\xf4\x1f\x07\xde\x68\xfa\xd1\x94\x14\x60\x61\x32\x4f\x3d\x0e\xf2\x17\xa5\x4c\xf3\x8f\x7a\x62\x5a\x38\x86\x9f\x67\xd0\xb7\x43\x1d\xf9\x37\xcd\xe3\x49\xc1\x75\xce\x8b\x26\xac\x88\xd3\x9a\x43\xe2\x79\xb0\x18\x76\x4e\xfa\x4d\xd6\x27\xcb\xf5\x91\xf6\x20\x9c\x4a\x5b\xb1\x9e\xbf\xa7\xc7\x13\x55\x92\xd0\x2e\x50\x1c\xae\x5e\x6b\x31\xc9\x0e\x72\xfa\xab\x47\xf7\xdc\xed\x2c\x48\xad\xf8\x84\x43\xb3\xed\xe6\x0c\xef\xb0\xd6\x37\x9d\x69\x22\xec\x43\x7f\x08\x6b\xad\x62\x17\xd4\xd4\xff\xef\x18\xe2\x25\x23\x66\x4b\xf4\xe9\xca\x1e\x65\xa2\x8c\x2a\x7a\x60\xc5\xf6\xbc\x90\x6b\x73\x7c\x29\x93\x5f\x90\x97\x46\x30\x48\x57\x5b\xef\xd1\xa2\x54\x9d\xc4\x74\xb1\x3e\x68\xae\xec\xf1\x66\x04\x3e\x07\x5a\xac\x51\x55\x40\xf8\x31\xb4\x30\x66\xce\xf9\x32\xe6\x3d\xcd\x5b\x37\xb6\x15\x78\xc3\x5b\x09\xe4\x5c\xc2\xa8\xde\xf5\x71\x03\xed\xfc\x5f\x64\x98\x31\xa8\x96\x1f\xe4\xa4\xb3\x72\x1f\x1d\x6d\xf4\xea\x9f\x03\x38\x81\xb4\x74\x30\x0e\x0f\x12\xcb\x9c\xd3\xba\xbd\xcf\xfb\xb9\x18\xdd\x9b\xb0\xe2\xf5\xb2\x10\x33\xe4\x30\x23\xa0\xd2\xe6\x6d\xa3\xab\x0f\x07\xee\x98\x8b\x16\x88\x9c\xa5\xd5\x1a\xbd\xc0\x5f\xde"}, -{{0x33,0x47,0xdc,0x47,0xbb,0x3d,0x2e,0x5d,0x02,0x86,0xac,0x06,0xa5,0x4f,0xd9,0x21,0xc9,0xe9,0x6b,0x68,0x99,0x86,0x2a,0x54,0xe5,0xcc,0x81,0x15,0xd3,0xd0,0xba,0x99,},{0xd0,0x0b,0x64,0x5d,0x86,0xdb,0xb7,0xe5,0x24,0x75,0x7e,0xc7,0x78,0xc6,0x2b,0x7e,0x60,0xd0,0xb6,0x57,0x68,0x83,0x33,0x8c,0x9b,0x67,0xc2,0xc7,0xe4,0x50,0x92,0x68,},{0x9a,0xb4,0x29,0x9b,0x17,0x72,0x93,0x44,0x75,0x0b,0x69,0xdc,0x60,0x37,0x36,0x8c,0x98,0xf4,0x7b,0xe6,0x27,0xfb,0xd9,0xad,0xfd,0x8d,0xb3,0x9f,0x99,0x64,0xdd,0xb7,0xbc,0x92,0xd6,0x74,0xc7,0xbe,0x74,0x07,0x56,0x39,0x6b,0xaa,0xee,0xac,0xbf,0x74,0x94,0x7b,0x61,0x91,0xc6,0xed,0x1f,0x5d,0x32,0xa6,0x3d,0xf3,0x6d,0x54,0x26,0x01,},"\xe2\xf4\x8e\xdf\x9d\x64\x33\x20\xab\x99\x1c\x8f\xf9\xf6\xaa\x75\xfe\x06\x6e\x7d\x88\xff\x1e\x47\x2a\x5a\xc9\xc5\x18\xde\x1f\xb6\x29\x83\xb1\x00\x7f\x64\x22\x80\x91\x17\xbd\xbe\x8a\x0e\x57\x87\xf6\x6b\xb0\x57\xd2\x7f\x12\x9a\x20\x0b\x40\x57\x6e\x17\x19\xcf\x9e\x98\xfc\xb7\x2a\xf9\x4b\xb8\x2e\xe7\x0f\x37\x19\xa2\xe2\xcd\x9b\x64\x77\x7c\xea\x5e\x44\x64\x59\x87\x4b\x74\xbf\xbf\x56\xb2\xd2\x52\x64\x00\x59\x2a\x9b\x45\xa5\xcb\x79\x80\x92\xb6\x0a\x81\xb7\x1d\x82\xf0\x68\x5f\xae\x7f\x81\x0b\x52\xd2\x26\xad\xac\x7a\xd8\xa9\x18\x3f\x09\xfe\xbe\xe9\xd2\x50\x46\xc0\xfe\x30\x66\x81\xac\xe2\xbf\xf9\x1b\x34\x82\xb0\xbc\x30\xb2\x02\x1c\x43\x41\x64\x5d\x67\x51\x34\xfe\x30\x81\xc5\x1e\x5c\x59\xe4\x0b\x37\x5a\x14\x34\xf6\x3b\x42\x6e\x30\x53\x0d\xa9\x35\x3b\xb2\xa9\x42\x32\x20\x43\x4a\xe5\x9d\x7b\x6f\xdc\x14\x3f\x49\x82\xeb\x8c\xfa\x77\x51\xb7\x5b\xf3\xe9\xc9\x13\xc7\x3b\x76\x0b\x07\xd3\x95\x31\x0c\x59\xf3\xb7\x7e\xbf\x12\xed\x2d\x7b\x03\x59\x0d\x33\x17\xaf\x17\xdf\x42\x1e\x78\xb0\x84\x9f\xd5\x6d\x94\x5c\x56\x96\xa0\x40\xfc\xaa\x78\xa9\x3e\xcc\x16\xd5\xac\x34\x45\x06\x36\x11\xf3\x01\x3e\x9a\x3a\xe2\xe1\xc2\x70\xdd\x01\xa8\xff\xe3\xe6\x12\x6b\xc1\xe4\xc9\x5f\x65\x47\xa8\x65\x1f\x26\xb6\x40\x4e\x39\xee\x4c\xe7\x61\x89\x18\xf3\xf9\x37\xa5\x25\x73\xec\x27\x7b\x77\x1e\x91\xad\x09\x6f\xa1\x5c\x7a\x34\x0a\x80\x9b\x47\x03\x18\xa4\x63\x64\x23\xeb\x48\x88\xa1\x21\x60\xc4\x66\x3f\xce\x29\x96\xd6\x38\x89\x6c\x83\x9b\x2c\x7a\xd4\xb3\xa9\xb2\xe6\xcb\x71\xe9\x12\xfe\x39\xb8\x43\xc6\xe0\x83\x2e\xca\x22\xde\x93\x8b\x50\xae\x86\x3e\x48\x58\x2c\x10\x85\x12\x32\xf7\x5e\x52\x25\xb8\x89\x6b\x5a\x47\x0f\x81\x8b\x6f\xa3\x9e\xb7\xbb\x59\x03\x57\x67\x86\x12\xd2\x5f\xe1\xa4\x0e\xa1\xb9\xd7\x1d\x88\x09\x09\xc1\xbd\x4a\xd1\x76\xcc\x0c\xef\xfd\xce\xe7\x09\x9e\x78\x82\xa7\xc9\x07\xe4\xbe\xc7\x98\x30\xc6\x77\x1a\xcb\x89\x94\x4b\xd5\x4a\x51\x65\xb3\x18\x70\x91\x69\x21\xb1\x98\xac\xd4\x43\x2e\x7e\xed\x8c\xe1\xde\xb3\x45\xb1\x07\xed\xa7\x60\x26\x6f\xcb\xda\x3b\xa5\x22\x94\x00\xa3\x03\x60\xa4\x64\x5c\xa8\xdb\x38\xc3\xd5\xf4\xa8\xde\xf1\x57\xbb\xdb\xbf\x2c\x1f\xa1\xdc\x6b\x05\x14\xa4\xf5\xa0\x36\x4f\x92\x83\x81\xb4\x0f\x95\x57\x9a\x26\x46\x7f\x22\x82\xa8\xa2\x55\x75\x84\x02\xac\x9c\xa8\x0e\x89\xb9\xcc\x68\x60\xa3\x4b\xb3\xf9\x0c\x32\x37\x65\x7c\x21\x29\xea\x48\xc8\x52\xb9\x25\x69\xe8\x11\x06\xbc\xe4\x61\xe2\x02\x44\x54\x82\x1a\x91\x75\x92\xd1\x99\x1b\x5b\x69\xf2\x7b\xbe\x01\x99\x77\x52\x8a\x2f\xc0\x11\x92\xc5\x6b\x4a\xea\x87\x3c\xf8\xc5\x8d\xfd\x7c\xb4\xb0\xe9\x17\xe8\x7a\x87\x04\xc9\x92\x82\x0f\x98\xd7\x74\x04\xd3\xf1\xd2\x05\x0c\x67\x43\xf6\xe9\x3c\xdb\x51\xa6\x1a\xa6\xf4\x5b\x35\x1b\x26\x46\x1d\x13\x29\xf3\x15\x12\x72\xac\x39\x62\x34\xd0\xd6\x7c\x17\x8a\xcf\x91\xfc\x51\x0d\x86\x42\x9c\x69\xa8\x7f\xdf\x10\x11\x55\xda\x8d\x94\xde\x67\x22\x23\x8a\x6f\xb1\x70\x16\x86\x2b\x11\xd5\x02\xc6\x67\xee\x9c\xa0\xaa\xbe\x1c\x20\xb9\x77\x89\xf1\x86\x7a\xdd\x78\xb8\xb8\x7e\x9a\xb5\x19\x34\xc0\xb4\xa1\x6c\x2c\xbc\x4d\x2e\xfe\xdb\x79\xc0\x5b\x23\xe0\xcf\x78\x92\x01\xac\x75\xfe\x07\x6d\x31\x5f\xcb\xac\x20\xba\x0d\x31\xe4\xdc\x61\x69\x27\xd6\xea\xb1\xb1\xc8\x7a\x1c\x9c\x77\x8e\x4b\xd2\x85\x29\x58\x74"}, -{{0xff,0x15,0xd6,0xe7,0x4e,0x28,0xe4,0x1d,0x05,0xa8,0x66,0x3a,0x70,0x2f,0x03,0x8d,0x5b,0x85,0x78,0xc4,0x27,0x5e,0x77,0x2b,0x73,0xba,0x44,0x0b,0xc5,0xf5,0x5a,0x06,},{0x47,0x47,0xe2,0xe9,0xb8,0x26,0x37,0xb3,0x84,0x4b,0x85,0xf7,0x5b,0x59,0xf7,0x13,0x6b,0x7f,0xdb,0x1a,0x62,0xe7,0xb7,0x0d,0x6a,0xac,0x17,0xb3,0xc5,0x75,0x2f,0x2f,},{0x42,0xc1,0x29,0x5f,0xaf,0xe2,0x6d,0xe3,0xea,0x34,0x92,0x6b,0xf1,0xef,0x80,0xbc,0xaf,0xe4,0x7b,0x21,0xb9,0x0e,0xae,0xd1,0x96,0x35,0xed,0x75,0x38,0xd7,0x67,0xcb,0xf3,0xa1,0xe5,0xde,0xda,0xab,0x82,0xad,0xf7,0x51,0x20,0x37,0x3e,0x92,0x32,0x02,0xf7,0xfd,0xa0,0x82,0x67,0x84,0x29,0x2e,0xba,0x8b,0x23,0x8b,0x6c,0xb8,0x83,0x04,},"\xce\x7b\xf9\x72\x84\x4f\x51\x84\xae\x8e\xac\x87\xb1\x2b\xe9\x20\x2c\x72\x39\x96\x1d\xc2\x3c\xd4\x1f\xf5\x5b\x9b\xfa\xac\x0c\xc0\x6f\x3f\x1d\xec\xfa\x95\x71\x09\x5c\x8e\x82\xb4\xeb\x6f\x8a\x1c\x52\xc8\xd3\xde\xaa\x61\xa9\xaa\x94\xe2\xec\xd9\xab\x5b\x80\x63\xf2\xda\x6d\x80\x15\xdf\x0a\x51\x44\xfa\x3a\x48\xe3\x05\xad\x9f\x41\xea\xa1\x1c\x4d\x74\x85\x43\x74\xec\xbf\x38\x2e\x30\x02\x57\x9a\x9a\x24\x9e\xfa\x1e\x1c\xa0\x4d\x33\x84\x47\xd7\xf2\x20\x67\x03\xe6\xca\xbf\x5b\xbd\x33\x2b\x42\x57\x3b\xcb\xd3\xb6\xf7\x1b\x7c\x3b\xf7\x3d\x4c\x77\x4a\xa0\x1e\x86\x68\x41\x43\x28\x29\xd0\x7f\x96\xe1\xf6\x1a\x20\x21\x6d\x96\x8c\x90\xe3\xed\x11\xf6\x63\xf7\xd6\x27\x16\x22\xfe\xfc\xf3\xab\x68\xf3\x44\x32\x85\x15\xd5\xcc\xe2\xce\x85\xe8\xbf\x3d\x1d\x09\x04\x36\x92\xe1\xfb\x8b\xbd\xdc\x07\xa4\xab\x0a\x3e\xef\x8c\xa6\xa4\x20\xe7\x4b\xff\x8d\x3d\x71\x55\x96\xaa\x82\x16\x82\x95\x4f\xe8\x96\x29\xae\x27\xc1\xbb\x03\xb6\xaa\x09\xf3\x6a\x39\xa3\xe3\x7b\xa9\x81\x32\xf4\xe2\x38\x88\xf9\xf3\x35\xe7\xbe\xaa\x2c\xb2\x72\x7a\xcc\x3d\x27\x77\x30\x9b\x85\x29\x52\x32\xe5\x4d\xa8\x8e\xbb\x6f\x10\x53\xd6\xde\x79\xac\x66\x09\x85\x2e\xb9\x3a\x0a\x35\xbc\x1a\x7b\xdc\x22\xd6\x28\xbc\x86\x12\x4d\x69\x6c\x3f\x98\x28\xb6\xf8\xb9\xaa\xde\x1a\x65\x21\x61\x77\x48\x6c\x25\x2a\x4b\x42\xd9\x0a\x4e\x0f\xea\x20\x93\x48\x9e\x24\x4d\x80\x8e\xf7\x02\x1a\x97\xd5\x60\x8c\x0a\xe1\xd6\x63\xc7\x75\xe8\xbb\x9e\x9a\x73\x15\xf1\xfe\xb6\xd1\x29\xb5\xa5\x41\xea\x59\x29\xa2\xc6\x33\xb6\xd8\xc3\xc4\x54\x41\x71\x79\x46\xcf\x87\x3e\x9b\x4c\x51\x21\x80\x13\x5d\x54\xf0\x53\xab\xe4\x4c\x6d\xf3\x9b\x7b\x06\x2e\xf7\x24\x01\x62\xcb\xd0\xb8\x51\xaf\xe5\xf9\x15\x36\xa9\x49\x94\x18\xe8\xbf\xf4\x99\x64\x73\xd8\x05\xeb\xc1\xae\x48\xda\x2d\x0b\x12\x9e\x8e\x82\x52\xf1\xd5\x3c\x32\x8f\x32\xdb\x25\x2d\xe3\xbe\xfb\xe5\xf3\x12\x80\x12\x11\x43\xa8\x00\x4a\x4c\xae\x63\x1c\x82\x74\x09\xe5\x20\xe3\x94\xcd\x0f\x89\x50\xcd\x4c\x3c\xf3\xf3\xdb\xd4\x95\x2a\x4d\xfe\x69\x87\x5f\x56\x53\x89\x06\x1a\xd0\xa0\xce\xe6\xb6\xaf\xf0\x9c\xec\xa2\x6d\x99\x0e\x89\x6a\x2a\xba\x9f\x3b\x26\x01\x5b\x63\x42\x37\x68\x68\x4c\x03\xed\x0d\xe6\xce\xe7\xac\x5b\xbd\xf9\xf4\x85\xc2\x27\x5c\xd1\x2a\xef\xa8\xf9\x07\xb8\x51\xa0\x2d\x51\xc3\x4f\x12\x1b\x77\xf3\xa5\x6a\x9e\xbd\x1d\x65\xff\xe8\x9b\xee\x38\x1f\xf2\xa7\x48\x0e\x89\x68\xcf\xf2\x5a\xc8\xd0\x4e\x14\x9a\x9d\x50\x27\xd1\x4b\x88\xf8\xae\x26\x04\xd2\xac\x22\xac\x67\xd1\x3e\x90\xad\xa6\x20\xc2\x04\x6d\x28\x29\x93\x84\xd0\x95\x9f\xb7\x6e\x22\x58\x87\x96\xce\x42\x7a\xae\xaf\x4e\x2a\x8a\xae\xc3\xe8\x7f\x84\xcc\xd0\x82\x52\x4c\x96\xd7\x66\xee\xc6\x6f\x0b\xec\x3e\x79\x95\x58\x14\x5f\x09\xd3\x30\x13\x4f\x1c\x63\xf3\x70\x53\xcd\x4b\xdc\x1c\x37\xfd\xe9\x72\x91\x85\x75\x51\xf5\x0a\xc8\xe1\x5f\x06\xac\x1c\x73\xda\xa1\xe8\xc5\xbc\x92\x77\xe3\xd6\x9c\xb4\x4a\x32\x37\xec\x57\xdb\xbc\xcf\xdf\x66\x85\xad\xa2\x0b\x74\xa1\xbc\x6b\x74\xab\x05\x69\x0e\xaf\x9b\xd0\xc4\xbe\x17\x04\x2f\x5c\xd3\x20\xcd\xd6\x13\xdc\x08\xd2\x9a\xf3\x46\xaa\x41\x91\xce\x0b\x4f\x85\xbb\x2a\xd7\xf3\xba\xc7\x38\xa9\x37\x7e\xc6\xb8\x40\x62\xcc\x70\xfc\xa9\xec\xfb\xe1\xf5\x7f\xe5\xb2\xce\x7a\x4f\x73\x9c\x81\xca\xbc\xde\x04\x64\x51\xdd\x61\xce\x1d\xbc"}, -{{0x1e,0xd3,0x7b,0x61,0x0b,0x8b,0x35,0x41,0x7d,0x04,0xe5,0x9a,0xaa,0xda,0xc6,0x88,0xff,0x81,0xf1,0xe5,0x07,0xc8,0x9b,0x4f,0x40,0x01,0x60,0x94,0x19,0x08,0xcb,0x8c,},{0x48,0xe8,0xcb,0xeb,0x12,0x40,0xbd,0xeb,0xf0,0xa2,0xd9,0x29,0x53,0xaa,0x89,0xb2,0x82,0xc4,0x9a,0xab,0x2c,0x38,0xae,0x69,0x04,0x4c,0x51,0x51,0x5c,0x33,0x00,0xd5,},{0x86,0x08,0x81,0x5e,0x10,0x59,0x0d,0x55,0x04,0x87,0x4d,0x89,0x99,0xfd,0x6f,0x09,0x62,0x6f,0x95,0x0b,0xe2,0x0c,0x91,0x2c,0x27,0xc9,0xde,0x6e,0x79,0xb0,0xfa,0xf7,0x77,0xa5,0x33,0xbd,0x5b,0xb6,0x67,0xab,0x51,0x3a,0x49,0x45,0x8e,0xcd,0x67,0x87,0xa0,0x9e,0xc0,0xdf,0x6c,0x9c,0x9d,0x63,0x33,0xc5,0xe3,0xae,0x61,0xea,0x37,0x0a,},"\x1e\x67\x67\xdf\x97\xdb\x1c\xfb\x40\x88\xda\x7b\x20\x0d\x9f\x59\xec\x8d\xd4\x53\x3b\x83\xbe\x30\x9f\x37\x65\x00\x31\x06\x57\x27\xcd\x52\x02\xce\xf4\x84\x26\xa5\xf3\xa1\x1d\x50\xb3\x81\xf8\xbc\x22\xff\x10\x18\x27\x35\x9f\x2d\x0a\x61\x0a\x4f\x75\x54\x64\xa0\xc8\x91\xcb\xd9\x8d\x2d\xcb\x41\xd9\x77\x9d\x28\x8f\xcf\x1f\xea\x62\xe5\x21\x63\xae\x67\xe9\x04\x28\xb8\x63\x98\xef\xa2\x18\xf1\xb9\x82\x08\x1f\xc5\x13\x30\x5f\xd3\xe8\xec\xe7\xf9\xac\xb0\xe1\x0e\x00\x1d\x2e\xd2\x99\xa4\x8a\x80\x87\x0b\x3d\x5d\x8a\xb9\x00\x63\x09\xb3\x15\x91\xca\xf0\x58\x33\x80\x07\x3a\x2d\xb6\x1f\x45\x25\x4a\xb9\x65\xb5\xe4\x67\x2c\x4b\xfa\xa8\x6e\x33\x6c\x49\x27\x85\x52\x72\x9f\xb2\xda\x76\xff\xe5\x02\xec\x61\xe1\x69\x6c\x7f\xc9\xef\x19\xf7\xcc\x2a\x27\x75\xb2\x97\x00\xcb\x38\x42\x94\x06\x3a\x17\xfe\xd4\xfc\x63\x5b\xc1\x32\x82\xa9\x0d\xad\x0c\x00\xaa\xdb\xcd\x56\x9f\x15\x6a\x85\x4f\x8b\xa9\xe7\xd6\x07\xd2\x0f\x2e\x9e\x53\x37\x98\x11\x61\xd8\x04\x64\x46\x68\xd0\x64\xfa\x63\xdc\xeb\x9f\x58\x01\x35\x3d\x0a\xb9\xf4\x1d\x1d\x8b\xdc\x76\xc1\x3a\xb2\xf0\x23\xea\x01\xad\xbc\x4c\x81\x68\xd9\x39\xe9\x8f\x64\xfd\x89\x19\x38\x4a\xbe\x76\x70\x92\x63\xc0\xcd\x7c\x3e\xfa\xdc\x28\x01\xcc\x4a\xbd\x80\xa0\x9b\xb3\xed\x6b\xb7\x8c\xd6\x20\x96\x9c\xd3\x5c\x6a\x3a\x5d\x01\x48\x5e\xad\x4c\x45\xeb\xb6\xac\x6a\x83\x21\x2a\x7c\x76\x67\x54\x27\xb2\x1d\xa8\xa7\xa5\x04\x7b\x30\xa6\x10\x0c\xda\x02\x47\x6c\x18\x6e\x6c\xe4\x0d\x27\x68\xa9\x42\xc9\xf8\x73\x05\xe9\xd3\x63\xb5\x24\xc0\x09\x4a\x9e\x2e\x29\xf5\x85\x89\x4c\x0a\xdb\xfc\xd6\x06\x90\xfc\x7f\xb0\xa9\xc7\x17\xcf\x43\xb4\x84\xfd\x45\x15\x1b\x13\x04\x16\x9c\x26\x92\x1d\xb2\x27\x6e\xc0\x5a\xd2\x2a\xd1\x66\x85\x4f\xd2\xf9\x40\x85\x77\x8c\x47\x0d\xc4\x52\xe5\xcf\xa4\xae\xe0\x4f\xac\xb7\x70\x52\x6e\x1f\x24\x8d\x3d\x15\xc2\x72\x80\xfd\xfa\x1f\xd2\xc1\x04\x4b\xcb\xc8\x81\xc3\xd9\x98\x15\xc9\x7f\xbe\xa4\x61\x10\xbe\x02\xda\xb7\x74\xf3\xa6\x10\xe5\x80\x2a\xbf\x36\xa4\x98\x75\xc6\x82\x63\x8e\x0a\xe4\xcc\x82\x77\xc5\xe9\xaa\x73\x07\x44\x5e\x6b\xbc\xbe\x54\x9e\xec\x2a\x45\xb1\x59\x7f\x74\x47\x10\x7b\x62\xe2\xce\xe0\xa5\xfc\x51\xbe\xae\x3e\x1f\xe9\xbe\xfb\x18\x85\xd9\xb3\x0f\x9b\x4f\x1f\x56\x20\x6d\xee\x0d\x67\x77\x9c\x57\xf4\x84\xc8\xc3\xc8\x99\xa5\x15\xa9\xd1\xc1\x0f\x60\x59\x84\x0c\x1c\x73\xd3\xf0\x5b\xcb\x88\x59\x0c\x52\xf7\xda\x39\x18\x38\xdc\x2e\x73\x22\x8f\x09\x81\xc2\x89\xa4\xc2\x7f\x0c\x75\x7f\xaf\x7b\x3b\x89\x14\x6e\x33\xda\xfa\x49\x0d\x9e\x0f\x92\x75\xb0\xcf\xa6\xa7\x71\x0a\x73\x83\x14\x59\x59\x5b\xf7\x32\x11\x2b\x62\xfc\x86\x4c\xa4\xc8\x29\x78\x4a\x3f\x16\xee\xc4\xe1\x8f\x93\x69\x18\xa7\xb9\x89\x16\x69\xe9\x33\x22\x3f\x74\x5f\xda\x56\x2b\xc0\xa4\xe6\x1e\x3d\x14\xea\x45\xdf\xc3\x27\xe2\xfc\x0c\xdf\xe6\xf2\xf9\x75\x46\xc9\x0f\xce\x82\xf5\x22\x29\x14\x80\x11\x1a\x1e\x6b\x93\x88\x27\x2c\x0b\xe2\x8d\x20\xed\x84\xbb\x84\xd4\x9b\xc1\x99\xcd\x59\x99\x48\xb8\xf2\x03\x9d\x07\x82\x7a\x3f\x40\x75\xd3\xa6\x7e\xe5\x72\xa0\x13\x79\xa3\x62\x13\xfe\x11\x6e\x76\x8b\x41\x14\xe8\xa4\xb3\x13\x4c\x38\x18\x96\x07\x72\xd7\x27\xb0\xca\x6f\x7c\x99\x7c\xa9\x98\x43\xb7\xeb\x02\xff\xc0\x13\x97\x1c\xbe\x0e\x6e\x60\xd4\x97\x73\xf1\xe8\xc0\xb3\x06\x06\x13\x1c\xb1\x0c\x3e\x04"}, -{{0x84,0x36,0x44,0x78,0xec,0x94,0xbd,0x25,0xc4,0xbd,0xb8,0x2d,0x29,0x62,0x29,0xe6,0xda,0xce,0x2b,0x13,0x59,0xd6,0xd2,0x1b,0xe2,0xb3,0xaf,0xcd,0x7b,0xda,0x19,0xc7,},{0xa1,0x81,0x4f,0x8c,0xe0,0xfc,0x3b,0x23,0x60,0x93,0xa5,0x0f,0x46,0x8c,0x13,0x16,0x21,0x1f,0xe6,0xc5,0x2e,0x23,0x45,0xd9,0xf0,0x76,0x6b,0x36,0x88,0xa0,0x3c,0xad,},{0xb4,0xc2,0x32,0x1a,0xde,0x3c,0x19,0xed,0x4e,0xd4,0xc6,0x39,0xd5,0xa4,0xd6,0xf2,0xbe,0x8e,0x2f,0xb1,0x3b,0xb7,0xbd,0x62,0x5a,0xd6,0xdc,0x87,0xe2,0xc2,0x0f,0x93,0xad,0x6b,0xe7,0xb7,0xe4,0x27,0x11,0xa8,0x78,0xdb,0x9d,0x76,0x05,0x4b,0xfd,0x7b,0xc2,0x5e,0x37,0x74,0xa9,0x3d,0xa1,0x54,0x3c,0x9b,0x4f,0x66,0x33,0xb0,0xbe,0x09,},"\x7b\xb7\x29\x3d\xe5\x5f\x05\x8f\xb2\xec\x22\xb6\x87\x26\x05\x43\xdc\xaa\x90\xf1\x40\xb9\xf4\x5e\xdd\xd4\xbc\x22\xe4\x09\x77\xe0\x0e\xd3\x3c\xd1\xef\x1b\xba\x13\xc1\xd0\x99\x08\x59\x00\x55\x69\xa8\x07\x67\xe4\x86\x4a\x2c\xd2\x88\xc8\x13\x93\xe0\x4a\xd9\x71\x78\x2e\x2b\xc4\x93\x10\x8c\xbe\x80\xda\xcf\x0b\x7b\x9c\xd5\x34\x98\x84\x07\xa4\xf9\x32\x7e\xc8\xe9\xc4\x04\x32\x84\xef\x6e\xe5\xa2\x6a\x5b\x41\x77\x65\xd3\xea\xbb\x48\xa0\x07\xe7\xc7\xf3\x29\x87\xd7\x0a\x13\x9a\xc4\x16\x78\xcd\xf7\xa5\x5c\xb8\x0c\xf9\xdb\x5e\xaa\x45\xf3\xde\x0f\xbf\xba\xdf\xfc\x40\x99\x63\x70\xe4\x8b\x1f\xf5\xed\xd9\x79\x40\xe7\x50\x79\x21\x64\x83\x6a\x4a\x5a\xc2\xe3\xff\x53\xe4\x8a\x1e\x55\x6d\xb9\xad\x0c\x5c\x0b\x94\x4f\x4a\xee\x51\x9a\x2b\x0a\x88\xbb\x1c\x1f\xc7\x45\x45\x24\xcd\x57\xaa\x53\x50\x98\x62\x43\xd3\x4f\xc5\x8e\x24\xe8\x19\xec\x0b\x85\x45\xd8\xdf\xcf\x6b\x20\x31\x14\x41\xd3\xa3\x5d\x3e\x71\xb3\xe3\xec\xd7\x88\x4d\xda\x84\x33\xa4\x05\xe3\xd9\x96\x90\x00\xc8\x20\xa8\x9b\x95\xd1\x97\x84\x1d\x98\xae\x73\x4a\x2e\x81\xda\xf6\xa7\xdc\xf5\x6c\xb2\xfc\x26\xf2\x16\x5a\x5f\x42\xb8\x6c\x7e\x9e\x5b\x11\x16\x17\x00\xa1\xab\x98\x31\xf3\xfa\xe5\x8e\x14\x20\x8b\xe1\xbf\x33\xb5\x8e\xcc\xe8\x1b\x0c\x6b\x7e\x02\xf8\x8a\xdf\x9a\xb0\x30\x26\x3e\x2c\xc9\xb6\xe3\x3e\xbc\xa3\xf4\x95\x49\x2e\x32\xbf\xe3\x72\x53\x7d\xe6\xc6\xb8\x76\x44\x82\x8f\x74\x94\x2a\x02\xb0\x07\xf1\x4c\x3f\xc5\xdb\xde\x76\x33\x3d\x36\xd0\x76\x31\xb7\xa9\x92\x4f\x71\x75\x50\x04\x06\x97\x92\x3f\xa7\xb9\x54\x6b\xfb\x02\x17\x02\x4e\xa3\xf2\x52\xb5\x15\xb5\xd6\x4a\x62\xc4\x8e\x02\x7c\xef\x67\x50\xbe\xda\x49\xa0\x24\x47\x03\x9b\x25\x0a\x0b\xda\x07\xdc\x06\x24\x91\xa6\x62\xe2\x68\x74\xc8\xd0\x0f\x80\xe6\xcf\xc8\xb3\x0f\x2c\x3b\xf7\x72\x0b\x57\xf2\x61\x5f\xc4\x78\xfe\xfa\xa6\xd3\x17\x05\xb4\x3c\x5a\x54\xf7\x58\x66\x6b\x30\x2a\x8d\x34\x95\x31\x31\x94\x1b\x79\x57\x73\x04\x76\x79\x4d\x0b\xd9\xd2\xdf\xa7\x2f\xd2\x03\xf2\x2d\xf5\xec\x6b\xba\xac\xe8\xb9\x39\x4b\xeb\xda\xea\xa5\x61\x46\x10\x11\xb4\xfc\xa6\x18\x5c\x9a\x38\x28\x3f\x54\x03\xfd\xac\x32\x6d\x1f\x73\x4c\x6a\x5d\xed\x67\x24\xd9\xf3\x84\xae\xbd\x6c\xab\xfc\xbe\xc1\x2a\xba\xb9\x82\x0d\x08\x07\x32\x51\x5e\x05\x00\xcf\x5d\x3e\x2f\x9e\xf8\x0a\x4d\x76\x46\xa7\xda\x9e\xff\x41\x0f\x50\x7c\x69\x87\x3b\x32\xd5\x40\xec\x32\xb2\x83\xef\x31\x79\xa4\xc6\x32\xb3\x66\x57\x6d\xff\x05\x8f\xaf\x8c\x8c\x70\xbc\x69\xbe\x80\x89\x82\xec\x14\x97\xae\x89\x11\xb0\x01\x65\xa6\x66\x95\xf4\xd3\xb9\x87\xe7\x39\x0b\x5c\xf8\x78\xe3\x5e\x67\x65\x41\x28\x5e\x4e\x13\xdf\xae\xb2\xf3\x68\xcb\x51\x1b\x77\x8b\x10\x6a\x42\x87\x78\xa1\xb8\xf2\xa7\xd2\xe0\x93\x51\x9b\xc9\xb5\x18\x8e\x38\xc6\x79\x3e\x96\xbd\x0d\x30\xe2\xa3\xdb\x9e\xe1\x46\x8c\x3d\xc8\x7c\xc3\x65\xc8\x10\xf9\xdb\xdf\x01\xa4\xb5\x14\x21\xf6\xfc\x8d\xfd\xa3\xa1\x6e\x2d\xa7\xca\x71\x59\xb6\x86\xa5\xe1\x67\x33\x89\x37\x88\x2f\xf7\x15\xd3\xe7\x50\xd9\x58\xfc\x9e\x4b\x1f\x05\x53\x12\x92\x99\xaa\x84\x30\x18\x3e\x50\x6c\xd7\xf2\xb2\x79\x07\x6e\x0e\x1c\xca\x97\x49\xcf\x12\x3c\xe5\x07\xfe\x07\xdd\xbb\xc4\xdc\xca\x6c\xdb\x9e\xf1\xb8\x33\xf6\x1d\x4b\xff\x00\xbe\xc0\x12\x15\x8f\x43\x2c\xeb\x75\xb4\xf2\xed\xb1\xbb\x84\xe5\xeb\xb9\x25\x9e\x09\xf9\x62\x5c\xe3"}, -{{0x00,0xdb,0x37,0xad,0x2a,0x19,0x5f,0x08,0xa0,0x84,0x40,0xd0,0x59,0x25,0x9e,0x53,0x9f,0xeb,0x40,0xb4,0x74,0x92,0x82,0x55,0xe7,0xc9,0x4e,0xbc,0x3b,0x05,0x03,0x8c,},{0x04,0xf8,0x8b,0xf6,0x39,0xe0,0xf7,0x1a,0x57,0xd0,0xd0,0xaf,0xff,0x5f,0xe9,0x7d,0xde,0x38,0x09,0xff,0x28,0xec,0x68,0xeb,0x6f,0xc4,0x23,0xf4,0xfa,0xff,0x43,0x90,},{0xf4,0xd1,0xc8,0x0f,0x5e,0x7b,0x91,0xc5,0xc7,0xa8,0x2a,0x68,0x2d,0x49,0xba,0x6f,0xb1,0x9d,0x40,0x0a,0x29,0x97,0x48,0xa0,0xc9,0x69,0xbb,0x99,0x81,0x69,0x98,0xbe,0x63,0x4e,0x84,0xda,0x78,0x58,0x1b,0x06,0xe3,0x47,0x0e,0xfe,0xc3,0x98,0x04,0xfe,0xd9,0x3d,0x29,0x73,0x9f,0x04,0x39,0xa8,0x09,0x5a,0xc4,0x0d,0x9d,0x38,0x5e,0x04,},"\x5a\x94\xf7\x29\xd3\x0d\xd8\xaa\xe2\xa5\xc8\xc2\x85\x47\xbf\x45\x06\x29\x5d\xc6\x1b\xfe\xad\x97\x27\x74\x60\x82\xd4\x3b\x0f\x81\x14\xc8\xc1\x8c\x5e\xda\xf2\xfe\xc7\xca\xe8\x19\x35\x63\x38\xf0\xbf\x11\x5a\x17\xb0\x38\xac\xfd\x7c\x96\xba\x62\x62\xca\xbd\x57\x10\xfc\x0e\xfb\x43\xd1\x3d\xf4\x06\x5b\xec\xbf\x1b\x9e\x27\x9c\x03\xec\x9b\xbf\xed\x54\xd9\xa1\x3f\xe0\x6a\x55\xa3\xbd\x05\xc8\x07\x85\x8b\x41\xe1\x8d\xbd\xe1\x3b\x09\x07\xd4\x03\x41\x32\x26\x2d\x9c\x2f\x4d\x2d\x37\x6e\x16\x09\xad\x28\x0d\xe2\x0b\xa7\x09\x84\x4d\xbd\x12\x95\x02\x57\xf1\xb0\x7e\xf8\xcc\x33\x37\xc0\x1a\x70\x26\x93\xfb\x4d\x92\xd0\x47\xe6\x98\xc3\xa6\xdd\x46\xc4\xa9\x2a\x10\xd4\xc7\x80\xe5\x2e\x50\x25\xe0\x9d\x56\x53\x5d\x7e\xeb\x9f\xe7\xf0\x33\xe6\xe9\x26\x0a\x68\xf9\xd5\x4b\x6f\x37\xcc\x06\x96\x56\xe3\xbc\xee\x06\x92\x2b\x34\x96\x81\xa8\xe7\x75\x1c\xde\xcb\xe1\xec\xb6\x63\xfb\xc6\xf7\xc8\x61\xf8\x53\xdc\x31\x0f\x33\xde\xfa\x98\xee\x34\x3a\x68\x63\x2e\xc2\x2c\xaf\xec\xb7\xf3\x21\x2f\x81\xe7\x0b\x71\x84\x3b\x9f\xe8\xc8\x6a\x68\xb5\xc8\x6f\x03\x22\xd3\x48\xa7\x6d\xa7\xf1\xba\x0c\xa3\xcd\x7b\x6f\xd1\x5f\xf8\x92\x92\xb3\xf6\x36\xcd\x08\xcf\x62\x5c\x74\xd5\x10\x2c\xab\xb5\x71\xa3\xdb\xa8\x6a\x1c\x92\xf4\x1c\x72\x03\xb4\x49\x42\xf5\xa2\x46\x25\xac\x37\xd7\x7e\x49\xa5\x7f\x11\x82\x38\x69\x9d\x80\x7c\x25\x0d\x5b\xf4\x6f\x7a\x3c\xec\x57\x79\xa6\xe5\xae\x1a\x6c\xa1\x60\xcf\xf3\x7f\xb3\xb7\x83\x88\xfe\x9c\x03\x0c\x40\xe7\x15\x46\x01\x08\x1a\x51\x7f\xc0\xaa\x18\x02\xcd\x3b\x84\x5b\x94\x6e\xfe\x94\xaa\x8b\x9e\x03\xf6\x8a\x80\xde\xd0\xdf\xbf\xad\x4d\xae\xe4\x0f\xa8\x38\xc1\x33\x84\x1a\xe8\xa3\xce\x0d\x79\xfa\x8a\x2b\x94\x34\xba\xc5\xe1\xda\x6e\x0c\x71\x93\xe8\xde\xa4\x35\xa0\x3a\x85\xf7\x61\x84\xf7\xeb\xe2\xaa\x74\x9b\xe9\x41\x31\x04\xa1\x78\x68\x9b\xa6\xd2\x7e\x94\xfc\xcf\x61\xeb\x3a\xba\x0e\x6a\x5a\x63\xaf\x0c\xa8\xf0\x5a\x35\xcb\x63\x70\x51\x94\xe4\x4d\x92\x93\xde\x39\x29\xb0\xd9\x2b\xe6\xf8\xe6\x27\xc3\x50\xa8\x3f\xc9\x00\x0a\xa9\x5b\x93\x82\x0b\xe9\x79\x5c\x80\xb5\x66\x2c\xd7\xb3\x48\x22\x32\x80\x61\x35\x6d\xc5\x80\x57\x8d\x1a\x35\xb1\x01\x40\xdc\xd2\x48\xe4\x85\x31\x04\xd2\xc5\xb2\xc1\x3f\xf6\x83\xdd\x5c\x30\x79\x4b\xe4\xa7\x68\x58\xaf\x1c\x0d\x9a\xf3\x47\xce\x1d\xcd\x97\x2e\xe4\x9a\xac\x12\xbb\xcd\x89\x9c\x93\x29\x87\x1d\x3e\x7a\x06\x83\xd1\x75\x77\x9a\xfe\x35\xf2\x6a\x2d\x24\x8f\xd7\x80\xea\x85\x1d\xc4\xba\x6d\x21\xf8\xa1\x71\xaa\x6c\xb8\x69\x7d\x9d\x11\x21\x61\x54\x03\x07\xcd\x54\xf9\x31\x77\x5d\x70\xb3\x3d\x3b\x6d\xe1\x09\x1f\xc1\x75\x05\x31\xc0\x8f\xa7\x0f\x7b\xe3\x8a\xa1\x10\xd6\x74\x6b\xb5\x65\xdb\x7b\x47\x0f\x90\x08\x50\xfb\xbf\x1c\x66\x2f\xd6\x13\xe4\xf3\xa5\x68\x95\x49\xe3\x10\x7e\x9b\x0f\x17\xde\xf7\xa5\xbd\x7f\xd7\x59\x6c\x4d\x04\xc7\xf4\x8c\x77\x9f\xc3\x5e\x09\x33\x5e\x1d\xf7\x84\x08\x4e\x55\xd8\x55\x1d\x1f\xf4\x9d\xe5\xb3\x11\xcd\x35\x0f\x34\x7a\x0b\xd2\x86\x3a\x2a\x30\xe6\xea\x18\x3a\xd2\xe3\xee\xde\xbc\x18\xdd\x28\xc6\xa5\x96\xe6\x93\xdc\x33\x89\xf7\xd9\x0b\x71\x3e\x3a\x85\xa6\x25\x16\x30\x5a\x70\x66\x7f\xc1\xfb\x3c\xb1\x0e\x8a\x95\x57\x50\x27\x39\x43\xc5\x68\xe1\x07\x69\xce\xf7\x81\x99\xdf\x44\x50\xdb\xc4\x90\xfe\xf1\xb3\x04\xb0\x52\x22\x1b\x2d\xb9\xc4\x4f\xe0\x03\x45"}, -{{0x6c,0xa1,0xa1,0x48,0x2a,0x07,0xf2,0xa6,0xc5,0x7f,0x04,0x11,0x97,0xb3,0x4a,0x51,0x19,0xe6,0x89,0x03,0xcf,0x6d,0xfb,0x51,0x71,0x1d,0x95,0x50,0x97,0x31,0x63,0xc0,},{0x80,0x34,0xa5,0x5e,0x3b,0x6e,0xd7,0x99,0xf4,0x9e,0x2e,0x70,0x3a,0x81,0xf4,0xac,0x02,0x57,0x3c,0x44,0x5d,0x76,0x5e,0x30,0x69,0xbe,0x42,0xf0,0x9c,0xbd,0x18,0xad,},{0xdd,0x9b,0xdb,0xad,0xd9,0xfd,0xc8,0x1c,0xe2,0x30,0x28,0x8c,0x4a,0x06,0x8d,0xf0,0x7e,0x18,0xb4,0xc7,0xcc,0x51,0xc0,0xca,0x48,0x11,0xdf,0xbd,0x04,0x76,0x5c,0x56,0xbc,0x88,0x32,0x40,0xe4,0x6e,0x3a,0x42,0xc0,0x1d,0x8d,0x24,0x24,0xfb,0xc3,0x32,0xb7,0xc5,0xa1,0x7b,0xce,0xb1,0xf6,0xe8,0xda,0xd0,0xbf,0xe5,0x62,0xca,0xd3,0x02,},"\x08\xfd\x84\x87\x50\x3c\x3f\x32\x96\xb6\xf1\xb6\x4d\x6e\x85\x90\x6f\xd5\x98\x6c\xf9\xc5\xd9\xfa\x8a\x59\xd9\x2f\x44\xe6\x47\x0a\xf3\x4b\xcd\xef\x33\x6f\xfd\xc8\x64\x56\xec\x7a\x7b\x57\x61\xf1\xad\xea\x02\x73\x26\x63\x0e\x68\xab\xc6\xb8\xcd\x5d\xdf\x40\xb6\x41\xa2\x59\xad\x02\x43\x21\xbf\x3e\xf9\x8e\x76\x32\x79\x71\x49\xc4\x92\xd5\x35\x94\x75\x2c\x55\x0d\xfb\xc4\xfa\x6b\xf4\x71\x76\xf4\x23\xa2\x70\x56\x93\x94\x7a\xa9\x0d\x68\xdd\xc8\xef\xb6\xcb\x9d\xbe\xca\xfd\x28\x30\xd0\x4f\xd9\x3b\x1e\x9e\x7c\x12\xb9\x3e\x0d\x0f\x3e\x26\x34\x90\x0f\x25\x86\x0d\xda\xdb\xae\xce\x17\x80\xff\x2d\x3f\x3d\x9f\xb8\x38\xfd\x0d\x5d\x66\xf8\xaf\xb3\x05\xff\x1a\x1a\xed\xca\x2b\x97\x4b\x63\xe4\x3f\x5b\x3c\xc9\xdf\xed\x1b\xcf\x11\x99\x91\x76\xed\x95\x85\xac\x82\x9b\xc6\x79\x4e\xf3\xac\xd8\x72\xe8\xd2\xe9\x26\x08\xb3\x20\xf8\x94\x99\x6a\x56\x2e\x1e\xb1\x77\xe2\x1b\xe5\x7c\x22\xc4\x1e\xc2\x59\xa3\xdf\xf9\xc7\xc9\x49\x1d\xb8\x38\xd7\x6c\xf9\xb0\x38\x31\x11\x59\x8e\x35\x7f\x44\xba\xbe\xbf\x12\x1b\xdb\x24\xee\x9d\x55\x7b\x7d\x5a\xf4\x91\xa0\xa0\x36\x5c\x90\x36\x1f\xe4\xf7\xe3\xd1\x3a\x17\xda\x3a\x39\xfd\x43\xf6\x90\xdf\xb0\xb2\xd8\x60\xca\xb4\x19\xf7\x75\xab\x71\x52\xcd\xc8\xf2\xaf\xdc\x50\xe8\xd5\xda\x5d\xa0\x17\x06\xee\xa2\xa2\xff\xad\x4b\xab\xee\x8b\x03\xda\x33\x6a\x4d\x84\x3d\x9d\x7e\x0a\x93\xf3\x6a\x92\xe6\x61\x0a\x36\x8b\x63\x13\x3f\x05\xa3\xfd\xc5\x5e\x3e\x1a\x44\x0b\x0f\x87\xa5\x33\x64\xc1\xd3\x72\x42\xc5\x7a\x10\x9e\x6d\xf6\x93\x45\xb0\x1c\x21\xc1\x08\x9e\x79\x0a\x66\xf4\xf3\x38\x0d\x3b\x76\xff\xb4\x20\xdf\xe1\xe6\x20\x0e\xac\xe5\x79\x26\x5a\x42\x7f\xbd\x35\x55\x14\xef\x95\x3e\x1a\x6e\x96\x8e\x37\x02\x1b\x3c\x6a\x29\x0d\xcd\x02\x93\xda\x67\x68\xda\xd7\xc6\x63\x11\x63\x30\x51\xc0\xac\xcb\x0b\x91\x65\x46\x4d\xfd\xdf\xde\xd2\x3b\xd1\x3e\xf9\x08\x74\x4f\x9c\x21\x11\xdc\x15\x31\x42\xd2\xf1\x05\x34\xd8\x93\xfe\x0b\x54\x5f\xec\x53\xfd\xb3\xb3\x5b\x51\x83\x98\xb0\x2a\xb2\x17\x91\xfa\x97\x7e\x30\xcf\x4b\x40\x4e\x7a\x29\x9d\x37\x87\x10\x8b\x83\x6a\xa0\xd5\x9c\x11\x4f\x1f\x36\x71\x9a\x7a\xcf\x85\xac\x99\x4d\x9c\xb7\x23\x06\xf2\x58\xf7\x8a\xc0\xa3\xb6\xc0\x53\x43\xe0\xb7\xa9\xaa\x72\x6e\x52\x26\x7e\xdf\x97\xf4\x97\x2f\x76\x64\xf4\x37\x20\xad\x33\xce\x6e\x61\x54\x40\xe3\x65\x37\xcb\xc5\x69\xbd\x6f\xf9\x4f\xfd\xae\xa5\x1e\x06\x02\x9d\xae\x78\xc5\xb9\x15\xc5\x37\xca\xea\x6f\x15\x04\x14\x79\x79\xb8\xaa\xae\x0b\xcd\x96\x18\x43\x7e\xbe\xd0\xb5\x5e\xfa\xec\x32\x0e\x84\xc7\x59\x59\xa3\x7a\x26\x0a\x02\xd4\xef\x1b\xb6\x26\x41\x52\x0f\x1a\x03\xdd\xea\x8c\x4c\x1d\xe8\xd7\xfa\xc5\x8d\xa4\x08\xb0\xab\x47\x57\xa1\x35\xf1\xd0\x75\xc9\xf7\xc9\x9f\xb9\x9d\xb9\x42\x7c\xe9\xb0\xd6\x26\xcb\x1a\xc1\x89\xad\x86\x63\xd7\xa7\x14\xfb\x5c\xd1\x58\x5c\x3b\xf9\x9a\x0a\xa4\x6d\x76\x39\x78\xd0\xb1\x2d\x65\xc4\x38\xbb\xb7\x3f\xea\xa5\x1b\xa2\x6a\x45\x9e\x7b\xea\x25\x43\x94\x66\xc0\x86\x13\xe4\x25\x40\xc8\xc6\xd5\x43\x67\xf2\x21\xfc\xce\x0c\x5e\xb6\xaf\x2f\xaa\x18\x1e\xa2\x15\x21\x80\x9b\xe7\x56\x49\xcf\x8d\xee\x76\x71\xdb\x7f\x94\x8f\x34\x6c\xbd\x03\x02\xbf\x9a\x06\xea\xbc\x72\xe2\xe5\x12\xb3\xdf\x88\x5f\x6d\xaa\x39\x8f\x93\xe3\x6d\xae\x2d\x6a\x04\x47\x81\x21\xf9\x77\x87\xd4\xce\xdf\xf6\xdb\x09\xaa\xf1\x0f\x27\xb1"}, -{{0x27,0x84,0xdf,0x91,0xfe,0xa1,0xb2,0xd2,0x1d,0x71,0x3d,0xe2,0xed,0xc6,0x65,0x24,0x51,0xa0,0xc1,0x59,0x54,0xb8,0x65,0x60,0x62,0xea,0x1d,0xed,0xc2,0x44,0x5b,0x2a,},{0x95,0x56,0xdb,0x53,0x70,0xf8,0xfb,0x3c,0x74,0x78,0xde,0x03,0xd2,0x3d,0xf1,0xcd,0xa9,0x6f,0x27,0x40,0x11,0x8e,0xfd,0xd3,0xd1,0xa9,0xfa,0x4c,0x3b,0xfe,0x88,0x49,},{0x17,0xd1,0x71,0xd9,0x46,0xde,0x35,0x16,0x15,0x84,0x07,0xe1,0x32,0xcc,0x1a,0xce,0xca,0xef,0xd6,0xd0,0x92,0x11,0x2b,0xe6,0x53,0x99,0x95,0x23,0xe2,0x0b,0xd4,0x95,0xf7,0xb7,0xf6,0x00,0xe8,0xd5,0xa6,0x71,0x33,0x0d,0x32,0x69,0x3d,0x60,0x19,0xc0,0x8d,0x2d,0x00,0x3b,0x17,0x6e,0x63,0x19,0xc3,0x53,0x94,0x20,0x0e,0x02,0x7d,0x0e,},"\x2e\x3b\xc5\x4d\xf4\x16\x74\x1d\xbe\x79\x16\xad\x25\xf0\x4e\x48\xd5\xa9\xd7\x7a\x62\x3e\x57\xf9\xcd\x61\xec\xb4\x4f\x09\xf7\x68\x33\xeb\x2a\x3e\x9a\xb7\xaa\x89\xff\x5d\x2d\x56\x0c\x07\x17\x7d\x85\x4d\x7c\x49\xcb\xef\x49\x2b\x7f\x4f\x7e\x56\x7d\xe1\x27\x51\x24\xe1\x6c\xa4\xa7\x98\x01\x62\xfa\x0f\xd1\x62\xa8\xe5\xfd\x6f\x35\x61\x70\x07\x03\x4b\xce\xec\x57\xc8\xfa\xf7\x66\x4f\x4b\x3b\xaf\xfd\xea\x8d\x8f\xc2\xba\x22\xd5\x85\xe9\xe2\xd7\x39\xf5\xff\xc9\x9b\x4e\x0d\xbe\x9c\x36\x86\x54\x7e\xa0\x48\x15\xa5\x9c\x4a\x25\xb5\xf2\x39\x06\x68\xe4\x18\xba\x0f\xcb\xdf\x4c\x4a\x51\xf3\x39\x05\xc7\x4f\xbb\x83\x0a\x19\xf9\xbc\x86\x36\xdb\xaa\xff\x20\x99\x95\x44\x79\x96\xd2\xe5\xb1\xc3\x77\xb4\xcb\x87\xa4\xe1\xef\xe1\x2d\xe3\x4d\x33\x59\x9f\xf3\x97\xb7\x40\x17\xd7\x11\xed\xd3\xe7\x72\x15\x5b\xe5\xa4\x40\x6e\x74\xcb\xe2\x93\x1e\xf5\x13\x59\xaf\xd5\x1b\x5b\x1a\x7b\x3e\xa2\x2e\xe8\xed\xa8\x14\x76\xbc\xc1\x7e\xa7\x68\x0f\x6f\x31\x04\x70\x3b\x9f\x2a\x35\xcf\x26\x27\xeb\x74\x1d\x1a\x30\xaa\x4b\xee\xf6\x57\x9e\xc7\xd0\xb0\x7a\x4e\xf3\x2a\xbc\xb4\xd7\x56\x97\x0f\x70\xa3\x67\x8e\x17\xe6\xe5\x73\x18\x90\xae\xbc\x8c\x92\xb9\x56\xd4\xb3\xb5\xfe\x2a\xdf\xd7\x9b\x21\x1a\x18\x83\xdf\xc8\xc9\xa4\xb1\xb9\xc8\xc1\xbb\x26\x5e\x1f\x3d\xd3\x92\x44\x5e\xa5\x9b\x59\x0a\x01\x95\x51\xf8\x12\x18\x49\xf4\x35\xb3\xac\x1b\x29\x90\x2f\xc8\x39\x25\x54\x05\x6b\x93\x90\x3d\x5f\x26\x3b\x3d\x54\x08\x43\xd6\xaf\xa7\x5a\x2a\xd8\x30\x4b\x76\x90\xde\x99\xa7\x34\xc3\xd1\x30\xb6\x95\x47\xb1\x8b\x09\xe9\x8c\xbf\x25\x27\x30\xe4\xae\xdb\x6d\xc4\xb5\x8b\x22\x43\xfe\x55\xe8\x09\x39\xd3\x7b\x0a\x59\xd7\x22\x26\xd8\xa2\xcc\x51\x53\x09\x5e\x15\x99\x4a\xd6\x21\x95\xaa\x31\x0f\x2a\x64\x26\x67\x6b\x66\x1e\x47\xb9\xfc\xff\xfa\x04\xd6\xdc\x62\x5f\x29\xf4\x4c\x7c\xf6\x20\xb3\x78\xa6\x5d\x23\x83\x44\xb3\x80\x44\x8c\xd1\x19\xcc\x7f\x37\x3f\x62\xcd\xfa\xd6\x41\x49\x90\x63\x53\xf3\xa5\x41\x07\xc5\xdb\xa6\x5e\x3c\xc4\x94\xb0\x53\x1f\x4d\x64\x74\x93\x63\xf2\x30\x73\x8b\x2c\xfe\xed\x98\x35\x20\x22\x7d\xd5\xbc\x43\xbe\x59\xb3\x26\x8e\x28\x32\x16\xf6\xe9\xc7\x5e\x0c\x1c\x71\x27\x2e\x54\xfd\xb2\x9c\x78\x58\xd2\x87\xd1\xef\xa1\x91\x7b\xe3\x7c\x8e\xea\xb5\xe4\x4c\x3a\xd7\xb3\x6e\x8a\xc9\xf6\x69\x91\xeb\x82\xa5\x14\x8e\x59\x72\x03\x4a\xd0\x1c\x62\x61\x5a\x45\x15\x45\x79\xfa\x50\x86\x9e\x7b\xe9\x87\x6b\x56\x56\xea\xad\x2e\x43\x02\x5a\x62\xdd\x13\x4b\x61\x2d\x8f\x4d\x5e\xbc\xf8\x05\x6e\x19\x8b\x71\x34\x38\xe8\xe0\xe3\x47\xca\xfb\xfc\xb8\x9e\x39\x4a\xa3\x30\xd4\xc7\x88\xd4\x9c\x65\x8f\xcf\xc8\x0b\x3e\x00\x78\xf0\xe8\xe1\x9a\xa9\xb8\xfe\x8e\xb0\xba\xb9\x3d\xe7\x85\xd0\x43\xe0\xf4\x75\xae\xb6\x0d\x62\xe3\x8f\xb1\xf8\x38\x4a\x00\xb7\xa9\x02\xda\xee\x13\xd2\x13\x62\x69\xe5\x08\x01\xb8\x0a\x65\xb2\xf9\x13\xcf\xe3\xff\xb3\x65\xd9\xaa\x2f\xd1\x93\x72\xa0\xb0\x22\x56\x95\x44\x4e\x4b\xc5\x48\x71\xd1\x08\xe0\x9c\x7e\x1c\x2b\x42\xdc\xbb\xac\xce\x24\xea\x5b\xd5\xbf\x1f\xcf\x4a\xc6\x97\xa3\xfe\x09\xa5\x46\x77\xb7\xa8\xdc\x8d\x5e\xec\xb8\x6c\xc7\x92\xee\x9b\x6f\xea\x2d\xe1\x6a\x47\x32\x69\xfd\xc6\x5d\xbb\x73\xc2\x58\xc8\x21\x44\x04\x07\xc6\x42\xf7\xd3\xd3\xf5\xc7\x08\xd5\x53\x32\xda\x83\x43\x10\x6c\x19\xb2\x30\xa5\x14\x27\xf3\xb7\x71\x91\x6a\xe3\x68\x8b"}, -{{0x4b,0xb7,0x92,0x36,0xfa,0xda,0x31,0x44,0xb6,0x82,0x96,0x49,0x9b,0xa4,0x4a,0xe5,0x34,0x07,0x4c,0xa9,0x4d,0x4b,0x58,0x1e,0x5e,0xdc,0xff,0xfe,0x13,0xb3,0xad,0x19,},{0x0a,0x83,0x99,0xf1,0xe5,0xa4,0x23,0xdc,0xf7,0xb2,0x5b,0x2f,0xb0,0xac,0x9e,0x1e,0x95,0x48,0x14,0x8b,0xea,0x84,0xd0,0x21,0xe0,0x42,0x87,0x60,0xe0,0x5d,0x58,0xbf,},{0x69,0x8f,0xab,0x68,0x51,0x0d,0xb8,0x12,0x1a,0x46,0x5d,0xb7,0x7e,0x4f,0x8b,0x58,0x6a,0xee,0x89,0x58,0x16,0xe6,0x3b,0xbf,0x0b,0xeb,0x24,0x2d,0xb4,0xe8,0x4c,0x15,0x7f,0x4b,0xe2,0x01,0xae,0x65,0x64,0x51,0x7a,0x87,0x0d,0x17,0xf6,0x0c,0x85,0x83,0x70,0xc0,0x1c,0xca,0x17,0x18,0x9c,0xb4,0x18,0x9e,0x81,0x43,0x91,0xd1,0x50,0x0d,},"\xad\x81\xab\xf6\x93\x7a\x7a\xcd\x7f\x18\x37\xf0\x4d\x3f\x10\xe7\x08\xc6\x1a\x5f\xbe\xde\xee\x4d\xb7\x6e\x15\x98\x57\x03\x84\xe6\xef\xec\xe9\x7c\x92\x5d\x2e\x5c\x34\x88\xca\xb1\x0b\x5b\x52\xb8\xa5\x48\x6e\x99\xd8\xff\xe8\x6c\x19\x81\xa1\xf1\xd5\x32\xdc\xd4\xd4\x89\xe5\x54\x6d\x86\x65\x32\x98\xe7\xa5\xf9\x6e\x81\x44\x55\x2d\xda\x8a\x18\xe7\x5b\x5f\x73\x55\xb1\x35\x41\x62\x11\x06\xe4\x97\xe5\x1a\x56\xd8\x65\x9d\x19\x8f\xe1\x00\x37\xe2\x21\x28\xaf\xc2\x71\x4a\x2c\xb5\xa1\x2c\xc5\xdb\x09\x68\xa3\x43\xef\x91\x8e\x87\x69\xdd\x6a\x3e\x5b\x9e\x32\xaa\xb6\x6c\xb0\x23\x9e\xbe\x4c\x17\xf1\x82\x18\xe2\x52\xeb\xa6\x16\x2e\x97\x70\x49\xeb\xac\x0b\x38\x04\x8b\x3a\xaf\xb7\xd4\xd7\x22\x63\xe9\x21\x28\x99\xa3\xbf\xe0\xa6\x9c\x99\xe2\x2a\xc6\x1c\x5e\x96\x12\x45\x63\x03\xd9\x24\x58\xb5\xc5\x02\x91\x6c\x34\xa8\xee\x5c\xd9\xa5\x82\xa5\x25\x76\xb6\xdc\x9d\x7d\x4c\x64\x2f\x21\x29\x98\xbf\x33\x58\xd4\xa8\xc2\xea\x67\x68\x6e\x55\xd4\x89\xf6\xa7\x6e\x6b\x07\x0e\x6e\x99\x5a\x74\x53\x26\xc9\xaa\x63\x63\x0a\x00\x33\xad\x30\x72\x1a\xa6\x5f\xac\x60\x4a\x6e\x58\xc7\x50\x72\x1a\x56\xca\x67\x60\xc9\x41\x34\xd6\x11\xfa\xb4\xd3\x54\xe4\xf6\x6a\x29\x67\x7b\x1a\x66\x66\x01\xe9\xda\x79\xf2\x13\xf5\x82\x03\x74\x33\xc0\x7f\x94\xd5\xf0\xde\x6a\xa9\xfa\xa0\xb3\x2f\x7b\x02\x3f\xb9\xfc\x13\x5a\x26\xf9\x70\x52\xac\x80\xb3\x9b\x30\x6a\xed\x13\x92\x6c\x28\x54\x19\xa2\x9b\x20\xe2\x37\x0d\x8a\x09\x5b\x32\x25\x8f\xa9\x89\x34\x89\xee\x21\x08\x9c\x75\x2e\xc0\x62\xe1\x20\x35\x9e\x2f\x35\x15\x12\x82\x54\xc8\x09\x8c\xca\x65\xa9\x1a\x02\x2d\xd0\x57\xa2\xc2\xa1\xb6\xb8\x5d\x13\x7c\x3c\x96\x7d\xcb\x70\xaa\x17\xa2\xff\x4b\x37\x67\x8b\x38\x29\x02\xf0\xf9\x31\xee\x74\x3f\xc3\x98\xac\x1b\x8c\x10\x46\x98\x67\x30\x84\x79\xe4\x0d\x7f\x2f\x04\xa4\xb0\x4c\x44\x89\x15\x84\x88\xdd\xb7\xbe\xc5\xa4\x7f\x20\xff\x35\x6d\x99\xa1\xb3\xe9\xd0\xb7\xfe\x9b\x0a\xd9\x49\xf2\x98\x96\x0e\xfa\x4d\x97\x28\xf8\x10\x1c\xf5\x3d\xa3\xbf\xfd\xd9\x52\x4b\xf4\x40\xa5\x8b\x32\x73\x8d\x0b\x62\x93\xe8\x53\xf4\x66\xff\xd4\x2c\x56\x07\xac\x9e\x35\x3b\xa0\x3e\xfb\x57\x8c\xc9\x96\x3d\x8a\xaa\x9d\x2e\x26\x6d\x1d\x2a\xe9\x29\x6f\x30\xc9\xef\x44\xec\x69\x10\x30\xd5\x96\xa4\x01\xb6\xce\xe7\x2a\x54\x0e\xf3\xc4\x2e\xc0\x17\x42\x66\xba\x54\x01\xf3\x54\xad\xc8\xe2\x54\x04\x43\x7e\x88\x8b\x08\x28\x69\x39\xbe\xde\x30\x8a\xcd\x30\x32\x7e\xbf\xf0\x62\x70\x09\x7c\xc2\x94\xf0\xa0\xf3\x9f\x9a\xa3\xc6\x65\x85\xca\x47\xe6\x0c\x4b\x8e\xa3\x60\x89\xeb\x8a\x90\x88\xbb\x18\xb0\x34\x31\x35\xbb\x6a\x45\x6d\x2f\x6a\x3b\xf3\x90\x72\x3e\x78\xb4\x2c\x03\x7c\x2d\xe2\xe1\x43\x2c\xaa\xd3\xa5\x94\x02\x12\x94\xd4\x3f\x5b\x15\xa2\xe8\x19\xdc\x74\x8e\x45\x1d\xe4\x00\x68\xc8\xf0\x32\xf1\x3b\x47\x11\x37\x70\x12\xed\xcd\x4f\x11\xde\xc1\x11\x1b\x12\xeb\x6e\x1b\x00\x63\x38\x18\x70\x6d\x71\x32\xd9\x91\xce\x20\xdf\x3b\x92\x1d\xb2\x18\x5e\xe2\x5b\xb6\xf5\x82\x75\x76\xec\x01\xad\x89\x0f\x79\x79\x3b\xaa\x35\x8c\x2b\xbf\xb6\xfa\xad\x11\xd8\xcb\x0d\x0d\x2d\x2b\x29\x81\xfb\xf4\xe3\x72\x34\x9f\xc6\xa0\x1c\x36\x07\x7b\x59\x32\x5f\x70\x2b\x38\x00\x59\xa6\x5c\xf2\xf5\xea\x98\xd6\xbd\xc8\x15\x20\x53\xb8\x5b\x28\xc8\x1e\x41\x3c\x4c\xac\x7e\x22\x6c\x13\xdb\x32\x67\xd2\x18\x30\xf0\xe5\x43\x11\x02\x91\x70\x05"}, -{{0xaf,0xd7,0x65,0xe6,0xaa,0xc0,0x14,0x6d,0x48,0x11,0xef,0x95,0x97,0xbc,0x3f,0x44,0x76,0x3f,0x03,0x37,0x8b,0x7b,0xe0,0x33,0xd6,0xe6,0x4c,0xa2,0x9d,0xec,0xae,0xf9,},{0x6b,0xb7,0x61,0x23,0xd9,0x25,0x89,0x22,0x68,0x6c,0x53,0xfb,0x69,0x17,0xb9,0xa4,0x59,0xca,0xbd,0x30,0xbe,0x8c,0x43,0x97,0x0d,0x80,0xf5,0x35,0x0c,0x2d,0x98,0xef,},{0x3d,0xc9,0x19,0x4d,0x50,0x81,0x14,0x19,0x04,0x9e,0xaa,0x07,0xb6,0x55,0xb7,0xd4,0x06,0x4b,0xcb,0x0e,0x7f,0xb5,0xf9,0xe5,0x32,0x6b,0x5f,0xc8,0x56,0xfc,0x0a,0xb8,0x70,0x59,0x73,0xae,0x10,0x01,0xdf,0x55,0x37,0x39,0x77,0xdd,0xe2,0xd9,0xb8,0x10,0x79,0x55,0x14,0x14,0xad,0xc7,0x1c,0xc8,0x52,0xd4,0x99,0xb0,0xcf,0x82,0x4f,0x07,},"\x18\x3b\x10\x92\xc7\x90\x4e\x47\xa1\x42\x03\x17\xa2\x5d\x0f\x59\x11\x0a\xa8\x4d\x6b\x34\x19\xad\x45\x68\x65\xc4\x3b\x29\xe9\xd1\xda\xcf\x75\x5d\x9e\x5c\xf9\x4c\x55\x91\xd5\xd9\x12\xd0\x5c\xa9\xa5\x2d\x01\x5d\x6e\x8f\x5d\xc9\x4e\xfd\xce\x0d\x7c\xf5\x65\x12\x03\xb1\x1e\x54\x27\xa9\xf6\x79\x42\x9e\x00\x41\x4a\x48\xea\xb1\x3f\xd8\xe5\x8b\x87\xeb\xa3\x9d\x10\x25\xd6\xa1\x8b\x2c\xdc\xbe\x14\x74\x36\xdb\xf3\x8a\x1c\xe8\x64\x13\xae\x31\x87\x65\xe1\xbb\x1d\xf7\xe2\xb3\xbe\x97\xe9\x04\x08\xb1\x17\x17\xcf\x45\x9b\xcd\x0f\x3c\xac\x58\xb4\xa0\xd3\x5b\xff\xb5\x33\xe2\x0d\xf3\x74\x51\xc1\x14\x01\xce\x1d\xab\x02\x05\x5c\x7e\x08\xc5\xec\x46\x39\x0c\xd6\x17\xa6\xb5\xf2\x2f\x65\x18\x30\xa1\x11\x2a\x06\xed\xe4\xc4\x0a\xb7\x95\x78\x51\xd6\xc6\x6f\x17\x1c\xd1\x62\x41\x59\x09\x00\xb8\x52\xa3\xd0\x19\x95\x7b\xe1\xb7\xbb\x7a\xcb\x89\x23\xf2\xa3\x57\xc3\x26\x44\x56\xcf\xca\x9b\x42\x9d\x71\xfe\xcb\x7e\xda\xe3\x9b\x25\x2b\x4e\xb6\x10\xe8\xc7\x18\x83\x56\x99\x75\x4b\x8d\x41\x24\xb4\x92\x48\x8e\xde\x62\x61\x0c\xce\x44\xb5\x92\x18\x66\x3b\x6c\x96\x46\xa1\x4a\x84\x17\xed\xdb\xb6\xf4\xfb\xe5\xa4\xbb\xbb\x48\x2b\x37\xa4\x45\xe3\xc1\x6b\x65\xa1\x41\xcd\x3e\x12\xa5\xb2\xc0\x48\x1d\x61\x4d\x6d\x20\x84\x79\xb9\xb2\x09\xb8\x28\x85\x4d\xae\x0e\xa1\xed\xed\x50\x65\x55\xfe\x18\xe1\x85\x40\x05\xcf\x00\x1a\x80\x77\x08\x34\x98\xd2\x7f\xad\xf1\x18\x28\x6b\x53\xb8\x97\x4d\x69\xfa\x28\x25\xbe\x8c\xa3\xd6\x03\x6a\x92\xca\x52\xf9\x1d\xde\x6d\x5b\x1f\xfe\x28\x88\xf4\xd6\x07\x79\xfa\xd1\xfb\x41\xd8\xc0\x71\x40\x49\xaf\x68\x1b\x75\x5f\x2d\x42\x04\xee\xcd\x09\xe0\x77\x21\x0a\x48\xa1\x95\xe7\x2c\x80\xe1\x27\xc3\xd4\x87\x50\x95\xc6\x57\x0a\x1f\x78\x09\x59\x07\x52\x8c\xf7\x74\x6f\x31\xd9\x71\x11\xc6\xf4\xcb\x25\xb3\x74\x12\x99\xa7\x57\x48\x22\xd4\x6b\x6e\x79\xed\x23\xc2\xfe\x05\x7b\x3a\xc7\x29\x0b\x46\x0b\x16\x6e\xe9\x0a\x45\x56\x2e\xff\xed\xcc\x6b\xa8\xf4\x79\x5f\x73\x95\x81\x8d\xb5\x6b\x6e\xdd\x59\xca\x2c\xc4\xae\xa1\x84\x1f\xd9\x56\x5b\xec\xd6\xc0\x81\x04\xcd\xee\x26\xba\x9d\xe2\x00\x77\x3d\x09\x1b\xc7\x7a\x57\xc5\x47\xf1\xa6\xba\x0a\x2c\xd7\x17\xab\x32\x56\x1d\x74\x22\xea\x72\x35\xad\xb0\xcb\x36\xbf\x5c\xbd\xf8\x8f\xca\xe0\x66\x30\xa1\x56\x47\xd9\xa3\x57\xb4\xe0\xe5\x02\xd2\x73\xf3\x79\x6a\x51\xe0\xbc\x3f\xed\xbf\x7a\x1e\x64\xaa\xd7\x22\xaa\xc5\xfd\x02\x2f\xa7\x9d\x60\xfc\x70\x73\x25\xf1\x27\xeb\x1f\x03\x86\x87\x95\xcc\xdc\x0b\x4c\xb2\x6f\x20\x23\xd1\x52\x15\x3a\x97\xa2\x60\xbf\xf1\x17\x45\xd2\xe2\xcc\x0b\xf8\x60\xd4\xa6\xe3\x58\xa6\xd8\x17\x6d\x2a\xc1\x78\xa9\xae\x1a\x2d\xc7\x5e\x8b\x49\x04\x08\xff\x7c\xdf\x99\x13\x29\xf3\x3c\xb0\xc0\x5e\x1e\x35\x69\x25\x08\x7e\x0b\x8d\x96\xa5\x23\x51\xd1\xd1\x77\x68\xeb\x13\x4c\xdb\x21\xa1\x54\x6a\xae\xdc\xc6\x87\xdf\xa1\xb2\x2e\x92\xfb\x52\x41\xa8\x36\x77\xa1\x53\x44\x5b\x77\xd5\xe7\x03\x50\x8e\x2a\xbc\x58\x8a\x9f\x42\xe5\xbc\x71\x06\x73\xe4\xdd\x8a\xd7\x03\xfa\xb2\xd7\xdb\x1e\xb8\x42\x26\xc8\x9d\x87\x62\xa7\x09\xe3\xe9\x13\x8a\x1f\xa7\x90\xf2\x92\x9b\xff\x61\xbc\x1e\xa6\xe8\xaa\x1a\xd0\xe3\x88\x7d\x70\xa5\x6d\x4e\x65\x47\xfc\x60\x6a\x50\xd3\xbe\x3b\xd6\xdb\x03\x66\x3e\x00\xca\x9e\x4f\x24\xfe\x8c\xbf\xd7\xd8\xc9\x73\x8d\x63\x67\x55\x4b\x7b\x60\x1f\x74\x19\x0b\x59\x70\xa3\x98"}, -{{0xeb,0x34,0x71,0x45,0xf3,0x39,0xed,0xd8,0x02,0x78,0x5b,0x6f,0xbe,0xcd,0x5c,0xb8,0x08,0x89,0xac,0x7c,0xe4,0xeb,0xad,0x2f,0x67,0x07,0x67,0x65,0xdb,0x93,0x9b,0xca,},{0x99,0x4a,0x45,0x6e,0xad,0xa0,0x30,0x20,0x92,0x1c,0x3d,0x10,0x9c,0x13,0x5e,0xb9,0x61,0xfc,0xd4,0xa0,0xa4,0x00,0xba,0xfd,0x32,0xca,0x06,0x1b,0xbc,0x86,0x25,0x43,},{0xfd,0xbd,0x15,0xe1,0xe6,0x46,0x9d,0xf7,0x20,0xd9,0x55,0x2c,0xb5,0xdd,0x17,0x7b,0xcb,0xd2,0x92,0xfc,0xda,0x83,0xcd,0x93,0xc8,0x8d,0x01,0x14,0x91,0x2d,0xc8,0x70,0x31,0x09,0xba,0xc0,0xd4,0x59,0xac,0xe9,0x95,0x7d,0xf2,0x29,0x3a,0xc1,0x6d,0x40,0xd5,0x14,0x89,0x35,0x56,0x85,0x32,0x99,0xb9,0x7b,0x4f,0xd4,0x13,0x7a,0x3d,0x00,},"\x5b\x8b\x31\xba\xf8\x84\x83\xf0\x95\xb5\xd0\x2e\x17\xd8\xb7\xb4\x6c\xf4\x64\x60\xe6\x4c\x6b\x02\xc5\x6d\x8d\xaf\xe3\x48\x23\x70\x6c\xb5\xc1\x5f\x33\x8a\xd9\xb5\x65\x86\xa9\x49\x71\x1a\xa7\x31\x2c\xc9\x34\x50\xd2\xfb\x9a\xf4\x61\x3f\xc3\x07\x93\xa6\x31\xa5\x5c\x14\xe5\x3c\x0c\xb1\x5f\x06\x11\x63\x99\x39\x8c\x8d\xd6\x18\x76\xc6\x29\x15\xf9\xf9\xe4\xcd\xf8\xf7\xd8\x9a\xde\x12\x9e\x6d\xde\x7d\x63\x67\x1a\x18\x63\xf5\xda\x8f\x42\xea\x64\xc0\x79\xec\xb9\xa2\xc1\xb1\xdd\x9a\xda\xe6\x0e\x96\xb9\xcb\xbc\x76\x24\x53\x2a\xa1\x79\x75\xeb\xa1\x7a\x7a\xf0\x2b\xfb\x21\x9a\xac\x02\xb3\xd4\x30\x6c\xd3\x89\x33\xa8\x50\x60\xcd\x62\xab\x51\x3a\x39\x65\xb0\x91\x50\xa4\x88\xc9\x2b\xf7\xca\xb0\x48\x2e\xee\x56\x46\x3f\x01\x39\x00\x9b\x9f\xbb\x3f\xf4\xec\xae\x21\x1f\x42\x8b\x5b\xfb\x88\x76\xf0\x04\x98\x3b\x90\xc4\x47\x84\x6c\xa4\xb7\x45\x66\xe9\x79\xbc\x30\xc9\x5e\x99\xfa\xab\x69\xa3\xeb\xbf\xe4\xda\x60\x34\xc8\x2d\x63\xe9\xc5\xcc\xaf\x84\x86\xaf\x3b\x5e\x0d\x38\x14\x22\x93\x8b\x0c\x22\xf5\x16\x95\x5b\xdc\x36\x94\x31\x73\xf5\x83\x27\x08\xa3\x3c\xf5\x2d\x88\x75\xd9\x7f\xde\x58\x5b\x49\x17\xe4\xad\xec\xdd\x1e\x79\x85\x67\x62\x03\x3a\xf2\x2f\x25\x4b\x50\xce\x9d\x0c\x70\x0e\x77\xa7\x31\x55\x4f\xa0\x11\x3a\x0c\x66\x66\x83\xf3\xfd\xb1\x9e\x3a\x42\x63\x02\x23\x0b\x63\xe3\x3a\x78\x5e\xf2\x4a\x92\x89\x45\x5b\x3b\x8f\xc6\x18\xff\xfe\xf4\x9c\x2c\x6e\x48\xfd\x4b\xb4\x22\xf5\x04\x14\x9d\xe2\xb4\xc0\x35\x5c\x36\x34\x08\xe6\x6d\xa8\x1c\xbb\x58\x15\x52\xa4\x11\xe3\x64\xfe\x3e\x4c\xa9\x6d\x70\x72\xab\x07\x2e\x75\x68\xc1\x3d\x35\xe4\x1c\x78\x25\xa1\x3a\x5c\x68\xfb\x9f\xb5\x98\x8b\xbb\xfb\x9a\x0b\x51\x16\x57\x64\x66\x0c\xdf\xa2\x41\x1f\x3d\x42\x16\x5d\xa1\x87\xc5\x8e\xde\xf0\x10\x5a\x6d\xb1\x77\x42\x05\x43\xe9\x58\xd5\xd5\xe8\xa3\x71\xf7\x98\x70\x51\xc4\xe1\x78\x6d\x01\x8e\xb3\xd7\x32\xc2\x10\xa8\x61\xac\xaf\x67\x1b\xe9\x5b\xb6\x3f\xbc\x88\xbf\x8b\xe7\xbe\x53\x90\x93\x9c\xd9\xfb\x2a\xcf\x39\x81\xdd\xa6\x1b\x78\x7a\x7b\xbd\x78\x46\x8e\x1d\x32\xca\x46\xaf\x8f\xb3\x2a\x18\x46\x3c\x18\x0f\x52\x4b\xe1\xda\x91\x0d\xa5\x50\x8d\x42\xa0\x05\x17\x41\x22\x7c\x9b\x62\xde\x6d\x19\xb3\x3c\x0b\xd4\x80\x67\xb0\x35\x85\x9a\xd9\xbd\xc2\xdd\xd9\x7b\xef\xca\x31\xe6\x5a\x88\x6c\xfc\x75\x3a\xfc\x4f\xf2\xa7\x21\x2a\x89\xd3\x7c\x04\x6c\xdf\x39\x99\xc0\x51\xff\x13\x96\xbd\x99\xcb\x54\x94\x56\x39\xeb\x64\x62\xdb\x9e\xce\x84\x07\x7b\x0b\x3d\x6b\x3d\xf3\x95\x2d\xd3\x67\x56\xc6\xda\xb2\xab\xc2\x5a\x51\xbf\x32\xc1\xe9\xcd\xd0\xa7\x28\xa7\x98\x5f\x7b\x7e\x0d\x9c\x1a\x6f\x66\xce\x12\x16\x37\x3d\x25\x2d\xaf\x59\x58\xf2\xe8\x97\x3f\xd2\x68\xfa\xd0\xef\xe2\x51\xce\x76\xfe\x47\xbd\x0a\x4d\x0c\x4f\x10\x17\x94\x9d\x4c\x2b\x16\x71\x72\x18\xe1\x49\x15\x4e\xd6\xfb\xe5\x6f\x86\xd8\x2e\x19\xef\x0a\x91\x63\x19\x12\xf2\xa8\xf3\xde\xbb\x00\x76\x6b\x61\x77\x80\x2f\x4b\x2e\x79\xf6\xe7\xbf\xa9\xc6\x2c\xfa\x2f\x75\xcd\xb6\x04\x92\x63\x0a\x85\xc9\xb4\x31\x77\xd2\xdd\x9b\xa8\xd0\x54\x8a\xbe\x24\x92\x3a\xe8\x44\x3e\xea\xdc\xd0\xf5\x8a\x7b\x82\xdf\xf5\x0d\x88\x40\x03\x88\x9c\xb5\x60\xf7\xac\x53\xe7\x10\xa7\x55\x75\x36\x24\x64\xb1\xaa\x43\xd2\xa9\xb2\x2f\x2b\xd2\x16\x2d\x30\x2f\xaa\x74\x52\x34\x4c\xe7\xad\xe9\x98\x36\x87\xb6\xc6\x8e\xca\x47\xdd\xdb\x28\x9b\x15"}, -{{0x32,0x08,0x83,0x7d,0x15,0x54,0xb6,0x51,0x1a,0xdd,0xa0,0x9c,0xba,0xe5,0x65,0xda,0x78,0x43,0x9a,0x47,0x2a,0x5d,0x1b,0x10,0x7c,0xe0,0xa9,0xb1,0xd7,0x75,0x7d,0xb7,},{0x9b,0x52,0x5e,0x35,0x36,0x8a,0x92,0x1e,0x3a,0x2e,0x9a,0x35,0xa4,0xde,0x9e,0xa4,0xc4,0x36,0xca,0xba,0x27,0x12,0x3e,0x5c,0x36,0x9e,0x2a,0x6c,0xf5,0xc9,0x0a,0xb6,},{0x70,0x9d,0x1c,0xa9,0xca,0x2f,0x74,0x2a,0xb9,0xdd,0x0b,0x04,0x93,0x35,0xf5,0x44,0xcf,0xfb,0x2f,0x1a,0x36,0x93,0xd5,0xf5,0x3f,0x8b,0xa0,0x83,0xb9,0xb0,0xd8,0x6e,0x52,0x08,0xfa,0x8e,0x1e,0x81,0x56,0xc9,0xcc,0x22,0x42,0x77,0x5a,0xbb,0x7e,0x15,0xaf,0x30,0x85,0x86,0x8e,0xf4,0x57,0x63,0x4e,0x99,0x26,0xc4,0x04,0xec,0xf3,0x0f,},"\x43\x6a\x3c\x31\x76\x3f\x93\xd4\xd5\x46\xc6\xd1\xec\xfb\x7a\xe4\x59\x16\xaf\x75\x4f\x83\x9d\xcf\xe9\x6d\x6b\x69\xc6\x12\x14\xd0\x16\xfc\x84\x2f\x56\x46\x2a\x3f\x07\xf6\x61\xb2\xe2\x50\x5a\xcf\xaf\x48\x2a\x0b\x0f\x4f\x55\x01\xee\xc4\xb2\xd2\xd7\xd4\x44\x54\x4d\xe0\x00\xb9\x90\xf4\x36\x3d\x3f\x98\x3f\x5d\x4e\x09\x30\x97\x52\xff\x57\x9c\x73\x20\xc9\x15\x95\x1c\xc3\xa1\xe3\x23\x8c\x1b\xa7\xa1\x91\x30\xea\xbf\x6a\x37\xf5\xf0\xbc\x56\xe2\x52\x42\xf7\x52\x06\x1f\x3c\x63\xac\xad\x99\x2a\x75\x01\xe9\x67\xde\xb9\x25\xb3\x0e\xd1\x05\x43\x1e\x58\x21\x02\xfa\x4f\x30\x8c\x2f\x06\x83\x61\x2b\x56\x68\x6d\x52\xda\xed\x69\x43\xa7\x21\x9f\x3b\xee\xa2\xe0\xa2\x92\x42\xe8\x6d\x55\x62\xff\xab\x83\xb5\x6b\x26\x33\x26\x66\x4e\x02\x9e\x96\x1e\x70\x17\xd8\xe8\x9f\x5e\x3e\x1d\x10\xf5\x93\x28\x54\x55\x0c\xe6\xe5\xcd\x76\x97\x1f\xd2\x35\xcf\x9c\x00\x27\xd0\xcf\xed\x33\x15\xc2\xcb\xf1\x85\x08\x62\x4d\x8a\xcf\x04\x7f\x9b\x96\x8f\x90\x7d\x9e\x6f\x4c\xfa\x5e\x45\xc8\x0a\x27\x2c\x2d\xbb\x62\xc5\xd4\x19\x45\x80\xdf\xab\xed\xd8\x2c\xb4\xd7\x64\x92\x34\x4b\xe9\x6c\xcf\x5d\xaa\xf6\x1e\x6b\x2b\x55\xef\xdb\x3f\x65\x21\x0a\x3d\x6e\x1f\x36\x98\x87\xca\x0e\xa0\xd5\x8c\x3d\x14\x6a\xe3\xcf\x9b\x00\x00\x76\x88\x41\x15\xfa\x51\xb5\xfd\x66\xbe\xc0\xcc\xbf\x0d\x29\x20\x19\x6a\x7d\x7a\x38\x44\x5f\xbe\xd2\x2d\xfc\x75\x64\xdc\x56\xf6\x0d\x6e\x29\xe5\x92\x48\x53\x74\xc6\xbd\x1e\x5b\x15\x93\x1b\x69\xca\x6e\xe6\xb3\xaa\x25\x25\xc2\x35\x85\xf0\x92\x9f\x31\xcb\xd1\x1f\xb1\xa5\x33\x02\x16\xb9\x0a\xe5\xa6\x56\xdf\x7a\x07\x4c\xec\x64\xe5\x98\x18\x4f\x50\x3f\xb2\x3c\xc0\x5e\x65\xda\x9a\xe7\xe8\x44\x1f\x40\xe2\xdc\x26\xb8\xb5\x6d\x2c\xb5\x23\xa7\xc6\x35\xdc\x08\x47\xd1\xcd\x49\x8a\xbf\x75\x6f\x5a\x13\xea\x14\xf8\xfa\xb2\xc4\x10\xb1\xa4\x70\xf4\x9a\xa8\xdc\xa4\xac\x02\x56\xb1\x18\x00\xde\x0d\xd0\xec\x42\xb1\x42\xc5\x61\x12\x8d\x35\x7e\x78\x3b\x12\xf6\x1c\x66\x8f\x5e\x6e\x06\xb7\xb4\x8b\x7b\x22\x54\xde\x5b\xdc\x18\x04\xb7\x23\xd5\xfd\x6a\x0f\x4b\xc7\xc5\x9e\x7c\x50\x54\x18\x26\x13\xbb\xd2\xfa\x92\xb4\xc1\xda\x16\xbc\x8c\x97\xe1\x6b\xcb\x0d\xbf\x8c\x92\xb7\x48\x99\xb3\x7f\x31\x87\x57\x14\x0b\x6c\x4f\xd5\x35\xe2\xe1\xe0\x57\x0a\x50\x81\x8c\xf7\x8f\xb9\x88\xe1\xf4\xce\x40\xe7\x6e\x8f\xe3\xd6\x97\xd7\xa4\x58\x50\xf2\x93\xce\x17\x0f\xd8\xab\x07\xcf\x15\x34\xea\x5f\xfa\xd3\x4f\x6f\xcf\xa4\x2d\x0d\x21\xa9\x1d\xfb\xfe\x05\x97\xc7\x3f\xd9\xb9\x76\x76\x14\xeb\xdf\xd0\x2c\x3a\xc0\xc4\x9a\xd1\x0c\x94\xbe\x59\x69\xee\x08\x08\xc0\xa3\x0b\x2a\x1e\xaa\x90\xea\x43\xb8\x57\x5c\x30\x56\xf4\x23\xcd\x4b\x6f\x34\xae\x51\xc2\x22\x37\x65\xa9\xea\x21\xf6\x45\x73\xc1\xa1\x39\x61\x32\x12\x46\xe3\xb5\x34\x9e\xe0\x48\xfb\x62\xd5\xfb\x61\xb1\x71\x43\x91\x18\x25\x62\xb9\x15\x98\x36\x0e\x5f\x9b\xf4\xac\x80\xdb\x24\x64\x32\xaf\xb3\xa4\x3d\x34\x96\x50\xde\x03\xd3\x43\xc2\xe9\x7a\x8e\xef\xd1\xbf\x30\xc1\x0c\x25\x86\x7f\x53\x26\x6b\xd1\xf0\xdc\x14\xae\x1a\x6b\xe9\xef\xde\xcf\xf6\x7e\x7d\x29\x2c\x6c\xdf\xc9\x0d\x80\xb8\x86\x66\x8f\x04\xc2\xa0\xf5\xad\x7f\xa1\x7c\x17\x8b\x6e\x9b\x45\xa1\x1f\x4d\xdf\xe2\xd6\x69\x60\xa3\xf7\x51\x35\xad\x5e\xd1\x54\xe5\x13\xe1\xa5\xd1\x38\xe7\x37\x1e\x84\xd7\xc9\x24\x53\xe6\xc6\x2d\xc5\x9b\x8e\x1f\xa9\x3d\x77\x3a\x25\x40\xd9\x1c\x25\x7c"}, -{{0x4e,0xc6,0x82,0x9b,0x43,0x99,0x70,0x56,0xd9,0x96,0x85,0x38,0x9b,0xd5,0x3c,0x52,0x8d,0xe7,0xe5,0xff,0x27,0x15,0xd6,0x5c,0x95,0x66,0x19,0x82,0x6e,0x3f,0xb5,0xb5,},{0x7d,0x92,0x2d,0x57,0xfd,0xb1,0x27,0x92,0x87,0x9a,0xec,0x4e,0x8c,0x65,0x14,0x63,0xec,0xe0,0x64,0x49,0x2c,0x72,0x17,0x53,0xd2,0x2e,0x11,0x55,0x09,0xfe,0xd7,0x06,},{0x15,0x9c,0xa4,0x04,0xf7,0xf7,0x41,0x17,0xc5,0x16,0x3c,0xf4,0x04,0x11,0x09,0x49,0xeb,0x57,0xae,0x2d,0x76,0x62,0xb1,0xff,0x41,0x78,0xcc,0x67,0x56,0xe9,0x0a,0xda,0xea,0xb7,0x1b,0x06,0x4c,0xe1,0xdf,0xf4,0x57,0xb2,0xdb,0xa7,0xe2,0xdc,0x13,0xc2,0x17,0xbc,0xae,0x8a,0x61,0xfc,0xf8,0xce,0x14,0x87,0xa6,0x49,0xc2,0x57,0xff,0x07,},"\xed\x26\xb4\x13\x0d\x4e\xbf\x3f\x38\x61\x49\x1a\xa3\xdd\x96\xa4\xeb\x69\x75\x21\x73\xfa\x6c\x84\xca\x65\xdf\xc9\x91\xc7\xfe\x44\xe0\x2b\xd6\x16\x50\x25\x2a\x1d\x23\x78\x66\x82\xec\x38\xc1\xfe\xe8\x2c\xc3\x50\xdb\x7c\x3c\x39\x49\xa1\xc9\x35\xff\xeb\xd7\xba\xa2\x4f\x35\xa3\x93\xfb\xd2\x7e\x7c\x34\xc2\xf9\xff\xda\x60\xa1\x8d\xf6\x6c\x3e\x46\x5d\x90\xed\x48\xfb\xba\xd3\xfa\x79\x47\xde\xe7\xe6\x59\xa3\xee\xad\xb8\x87\xf0\x96\x3f\x6b\xdd\x76\xc3\x6c\x11\xae\x46\xd0\x88\xee\x50\xbc\xa8\x18\x7a\x0a\x88\x32\xdb\x79\x84\xb7\xe2\x7c\xbe\x6a\xbf\x12\xd2\xc9\x4f\x33\x7e\xc7\x8c\xb3\x8b\x26\x24\x1b\xd1\xa3\xd2\xf5\xfa\x44\x07\xfd\xd8\x02\x27\xd2\xb1\x70\x14\x4b\x41\x59\x78\xe3\x72\x01\xd0\xfc\xf4\x31\x74\xb9\xd7\xb2\x11\x5d\x5e\xb8\xbc\xec\x27\x6a\x77\x5a\xea\x93\xf2\x34\x0d\x44\x25\xd3\x4d\x20\x47\x49\x4d\x91\x7e\x0d\xbe\x37\x85\x7e\x6c\x99\x85\x9b\x71\xc9\x14\xaa\xd5\xe5\x4f\x7b\x2b\x03\x3e\x59\x4e\x27\x2c\xc5\xcf\xe9\x19\xf8\x88\xe5\x5c\xb6\x15\x7a\xff\xcf\x35\x72\x46\xd0\x0b\x53\x2c\xc4\x71\xb9\x2e\xae\x0e\xf7\xf1\xe9\x15\x94\x4c\x65\x27\x93\x15\x72\x98\x53\xda\x57\x2c\x80\x9a\xa0\x9d\x40\x36\x5f\x90\x87\x5a\x50\xd3\x1c\xa3\x90\x0d\xa7\x70\x47\xc9\x57\xc8\xf8\xbf\x20\xec\x86\xbd\x56\xf9\xa9\x54\xd9\x98\x8e\x20\x6b\x44\x4c\xa5\xa4\x43\x45\x21\xbf\xc9\xc5\xf3\xa8\xa0\x61\x47\xeb\x07\xd1\x1d\xfe\x11\x71\xec\x31\xff\x55\x77\x15\x88\xb3\x33\xee\xe6\x21\x5d\x21\x6c\x47\xa8\x56\x6f\xbb\x2b\x18\x97\x46\x46\xac\x5a\x92\xc6\x99\xd7\x75\x84\xc0\xde\xfe\xfd\x2d\xfa\x58\xfc\xa2\x71\x99\xe4\x1e\xc5\x8a\x24\x63\x20\xb3\x5f\xaa\xb7\x5b\x97\x95\x19\x24\x22\x6d\xa4\xab\x28\xf0\x1b\x47\x07\x8e\x71\x2e\x4f\xd9\xf7\x7b\x25\x1c\x96\x67\x85\x8c\x28\xe3\x2e\xf1\xcd\x01\xfc\xbe\x43\x5c\x54\x2d\xba\xd0\xa8\x4a\x13\xcd\xbb\x57\x75\xe6\x2d\x81\x1d\xc6\x90\xd9\x55\x5c\x37\xf1\x5f\x91\x76\x7a\x56\x13\x57\xdf\x10\x6e\xef\xe0\x56\xe7\x36\x06\x70\x65\x0f\xb8\x18\xfc\x6a\xdc\x59\x97\x3e\x9a\xd5\xcd\xcd\x80\x98\x07\xab\x56\x39\x7f\x3c\x13\x94\x87\x32\xd9\x8d\x67\x6f\x4a\x44\x70\xa9\x5d\x8b\x51\x82\x37\xe2\x26\xf0\xcc\x5f\x47\x65\x16\x4a\x5c\x3e\xf0\x50\x71\x4b\xe0\x2a\x12\x6b\xe8\xf6\x65\x46\x48\x15\x81\xb9\xe9\x4a\x26\xaa\xd2\x4c\x69\x3b\x7f\xdb\xc1\x8a\xcd\x3e\xd7\xcf\xc4\x7d\x8a\xb2\x67\x45\xd7\x8e\x70\x1d\x0c\xf0\x5d\xd8\x44\xb5\xb3\x45\xa2\x9d\xab\x68\x4c\xbc\x50\x92\xba\x02\x2e\x3c\x58\x2d\xfc\x04\x4c\x31\x00\xad\x02\x75\x66\x97\xa8\x49\x82\x29\x15\xa1\x6e\x2a\x2b\x81\x0e\x68\x15\xf5\x44\x21\xd2\xf3\xa6\xff\xf5\x88\xc0\xd9\x01\x3c\x76\xf3\x3e\x09\xbe\xae\xef\x60\xd8\x77\x42\x30\xe8\xce\x71\x31\x28\x9a\xef\x2a\x40\x68\x6c\x81\x9f\xb2\x04\x0b\x06\x12\x4d\x3d\x9a\xa4\x19\xd5\x67\x88\xf1\x7f\xa7\xed\x9b\x9b\x57\xce\xaa\xd1\x33\x7a\x01\x01\xbe\xa0\x44\x0c\xff\x74\x5d\xdd\x97\x22\x05\x5d\x1f\x9b\xcf\xb0\x09\xce\x2c\x2f\x41\xa9\xe7\xe8\x68\x06\xb8\x72\xcd\xc2\x05\x9b\xc8\xec\x68\xf5\xee\x56\xc4\xba\xcf\x4b\xbd\x30\xea\x4c\x71\x55\x86\x4d\x60\x0c\x0e\x2e\xee\x73\xb3\x19\xbd\xa4\x37\x2e\x9c\x60\x3c\x77\x2c\x25\x89\x0c\x76\x10\x48\x99\x89\x47\x5d\x37\xa7\x7a\x45\x74\xa2\xba\x55\xbf\xd9\xc9\xcf\xd1\x46\xfb\x97\xe6\x16\x5d\xcc\x19\x55\x9f\x4f\x85\xdf\xca\x2f\x97\xf3\x70\x2e\xd8\xfa\x6b\x3c\x2a\x97\x41\x97\x4a\xa0\x7a\xb6"}, -{{0xb1,0x50,0xa7,0x89,0x29,0xed,0x1e,0xb9,0x32,0x69,0x21,0x3e,0x1e,0xbc,0x22,0xe2,0xe4,0x0a,0x60,0x1b,0xdb,0x00,0x54,0x99,0xb7,0xbe,0xb0,0x58,0x91,0x7c,0x53,0x40,},{0x28,0x86,0x6b,0x6d,0x1c,0x39,0x3c,0xb0,0x8e,0x46,0x4c,0xf5,0x57,0x14,0x40,0xa6,0x49,0xe5,0x06,0x42,0x38,0x0d,0xdf,0x4f,0xfb,0x7a,0xd1,0x50,0x48,0x5c,0x10,0x8e,},{0x27,0x6d,0xd0,0x96,0x2e,0x6e,0xe6,0x4f,0x05,0x92,0x44,0x1a,0x8a,0xf0,0xe5,0xef,0x8f,0x93,0xbf,0x0b,0xae,0xba,0x20,0x50,0x4b,0x9d,0xb4,0xf9,0x5a,0x00,0xb9,0x39,0xea,0x38,0xde,0xf1,0xc7,0x97,0x86,0x28,0x98,0xca,0xbe,0x9d,0xc4,0x64,0x4f,0x0e,0x67,0x7e,0x87,0xc0,0xa3,0x3b,0x87,0xb6,0xa4,0xd2,0x2a,0x80,0x7d,0x0e,0x1e,0x02,},"\x1b\xf5\x5d\x27\xf9\xdd\xe6\xc4\xf1\xc0\xdd\xd3\x60\xa2\x5d\x94\x93\xc0\xff\xdc\xa7\x4a\x7e\xd5\xe5\xa5\x14\xe9\x55\x15\xcd\xa4\xaa\xd8\xf4\x5c\xd6\xed\x79\x01\xf8\xf2\x24\xa6\x3b\x38\x12\x1c\xbe\xac\x2f\x56\xda\xe2\x10\xdd\x05\x37\x50\xcb\x20\x75\x14\xa8\x89\x1e\x24\x5a\x5d\x07\xe7\xde\x78\xa2\xe3\x81\x44\x63\xf1\x48\xd2\xac\xb7\xdc\x71\xf9\x95\xc9\x29\x9a\xd0\xd6\x26\x6c\xfe\xfc\x94\x26\x96\x57\xfd\x47\xcf\x53\x12\xb9\x2a\xf2\x75\x06\x51\xc4\x79\x63\x6c\x9d\x36\xae\xf0\x8f\x7d\x11\x95\xe7\xfa\x1b\xa3\xab\xb5\xdc\xb9\x01\x36\xb0\xfb\x9a\x37\x66\x8b\x87\xa2\xdb\x88\xd1\xe2\xb6\x44\x0d\x3e\x6e\x60\x1e\x6d\x4b\xc1\x0c\xf1\xcb\xdf\x1d\x61\x69\xc0\xdc\x2c\x4a\xec\xde\xb6\xcd\xd4\x56\x7d\x42\x50\xb2\xaf\xa7\x15\xb1\x66\xc9\x46\x7f\x90\x7d\x3f\xa5\xa6\xda\xf2\x00\xb3\x09\xc1\x09\x37\x68\x30\x49\x9c\xaf\x31\x49\x00\x1c\xf3\x33\x94\x48\xca\x3d\x76\x52\x25\xd6\xb3\xc1\xcd\x26\x7c\xba\x93\x6e\x7a\xa4\x83\x25\x39\x46\x6f\xd2\x0c\xbb\x38\x32\x3c\xbb\x22\x28\xa2\x71\xf2\xd2\x82\x56\x1c\x73\xed\x79\xa1\xad\x04\x69\x8e\x27\xef\xe3\x93\x23\x5f\x34\x56\xc2\x95\x40\x7d\xa0\x96\x0f\x00\x34\xd8\xde\xef\xd1\xc1\x85\x73\x6f\xd3\xea\xf1\xf9\xa1\xe3\x2f\x09\x17\x4c\x1f\xe1\x27\x20\xb7\xc9\x6f\xeb\xdb\x33\xe0\x1b\x1b\x6a\x1c\x63\x71\x50\x19\x4b\xe4\xff\xab\x15\x9e\x45\xb2\x45\x85\x57\x68\x46\xbb\x64\x27\x4e\xca\x7b\x39\xa3\xed\x93\x57\xde\x7b\x08\x42\x13\x02\x4a\x9e\x85\x89\x26\x36\x00\xa2\x86\x7c\x2a\x7c\xf8\xb9\x90\x76\xa1\x2a\x07\xbd\x7d\xf8\xd5\x27\x7b\xb0\x4a\xd7\x2e\x63\x9b\x77\xea\xca\x1e\xc5\x8e\xf9\x63\x7e\x9a\x23\x76\xba\x87\x8a\x45\x72\x35\xa0\x6f\x78\xfd\xf0\xe0\xd9\x25\xcb\x2f\xd2\xa3\x8c\x77\x18\x8f\x60\x37\x2e\xf6\x00\x97\x92\x42\x43\x99\xc9\xb6\x79\x28\xda\x2e\x3b\xa9\x1c\xbd\xe4\x07\xe7\xe8\x76\xba\x98\x13\x9e\xd2\x2c\xa3\xb9\x83\xbe\xde\x00\x00\x52\x87\x96\x44\x8e\x4a\x10\x55\xac\xb2\xde\xaa\x56\xbc\x30\x82\x54\xc5\xbd\x49\x8c\x27\x5e\xce\xdc\x13\x57\xef\xe1\xfd\xa0\x1d\x34\xd9\x16\xdd\x4d\x86\x47\xe5\x77\x19\x95\xa6\x53\xe0\xf8\xa5\x28\x4c\xc7\xbf\x73\x15\x7b\x33\x49\xd5\x9e\x6f\x92\x0c\xad\x6c\xdd\x17\x19\xf0\x38\x02\x5c\x43\x00\xe0\x21\x0c\xe2\x49\xfa\xf3\xc8\x2d\xe1\xfd\x1c\xda\xbe\x61\xc1\x4e\xcb\x1d\xf0\x0c\x5c\x46\x6a\xa6\xa0\x12\xa9\xc1\x0d\xcf\xe5\x9b\x7e\x9d\x3b\x15\x5d\xab\x6c\x7b\x7c\x16\x08\xc1\xed\xd5\x1d\xbd\xad\xf6\xba\x58\x76\xb5\xe6\x0f\xdf\x7f\x19\xe6\xef\x71\x2c\xd1\xa7\xdd\x3a\x06\x2a\x65\x74\xa7\x43\x6b\x31\x9e\xfb\x94\x4e\x42\x23\xf5\x42\xb2\x50\x2c\x1b\xa9\x76\xbe\x91\xe0\x5b\x0f\x85\xa0\x9f\xd7\x93\xbe\xca\x88\x33\x75\xfb\x67\xcd\x13\x3f\x52\x84\xd8\x99\x84\xff\x3c\xaf\xa7\xe1\x1a\x9d\x85\xe7\x89\x32\x32\xa5\x24\xec\x54\xb2\x0f\x97\x5d\x3c\x0a\x11\x43\xa0\xef\x41\x17\x6b\x70\x51\xea\x91\xd4\x0c\x5f\x44\xfd\x9e\x10\x05\x58\xbf\x12\x12\xa7\xb8\x91\xe6\x8b\x55\xca\x61\xf4\xbe\x94\x52\x66\xd9\xa1\x00\x7a\x14\xaa\xeb\x68\xc4\x8e\x25\x7f\x0f\x46\x31\x0a\xd1\x64\x81\x46\x7e\xc1\x77\x35\x35\xd5\xfc\x08\x49\x15\xf5\xd0\x04\xba\x0d\xc7\x59\x1d\x21\x23\xc6\x22\x07\x90\x9d\x84\xf2\xb3\x82\xf5\xef\x12\x75\x9a\x95\xcd\x3f\x51\x89\x80\x6e\x27\x39\x60\xae\xe1\x62\xc0\x0f\x73\xe7\xfa\x59\x36\x39\x57\x65\x4b\xb1\x91\x6b\x57\x09\xbb\x0a\x9d\x04\x05\x14\xae\x52\x84\x95\x1e\x6b"}, -{{0x9f,0xc7,0xc4,0x9c,0xb8,0xc4,0xf0,0x97,0x2d,0x6e,0xd9,0x70,0xae,0x2c,0x6a,0xc3,0x37,0xe6,0x75,0x42,0x5c,0xc8,0xdc,0xe7,0x30,0xfc,0x41,0x44,0x43,0x02,0x93,0x5d,},{0x47,0x82,0x52,0x0b,0x06,0xf9,0x33,0x44,0xaa,0x76,0x67,0x80,0xe5,0x44,0x01,0x36,0x3d,0xfd,0x7d,0x96,0x7c,0xc3,0xbf,0x06,0x48,0x8a,0xf9,0x09,0x20,0xa3,0x0f,0x85,},{0x5c,0x78,0x3a,0x86,0x0a,0xa6,0x68,0x18,0x4d,0xd2,0x2c,0x4f,0x9a,0x54,0x6b,0x5e,0xc9,0x6e,0xba,0xd2,0xe4,0xaf,0x00,0xf9,0x68,0xc6,0x88,0x67,0x13,0x54,0xe0,0xcc,0x9b,0x57,0x2c,0x73,0xbc,0x6f,0x19,0x93,0x7a,0x05,0xf1,0xba,0xf3,0x43,0x47,0x63,0x96,0x5c,0x96,0xe1,0x03,0x40,0x7f,0x0e,0xb6,0x42,0xc5,0x64,0x41,0x54,0x29,0x0b,},"\x82\xbc\x2c\x70\x0d\xb2\x22\xa4\xac\x91\x4a\xa2\xbe\x8f\xa2\x8e\x42\x20\x67\xf9\x4f\x33\x44\xf5\x36\x2b\xeb\xaa\xbe\xd7\x61\x2b\x0e\x46\x4a\x73\xa6\xc4\x56\x90\x35\x64\xb1\x53\x93\x48\x51\x40\xdd\x0f\x3a\xff\x90\xaa\x6e\x16\x61\xdd\xf6\x82\x85\x0d\x04\x90\xaf\xc3\xd7\x35\xde\xa0\x5b\xa4\x7c\x85\xd9\x7e\x83\x35\x33\x51\x4c\x19\x8b\x4c\xf6\xe6\x6d\x36\x0e\xe5\xbf\x00\xe1\x4a\x3a\xab\x1a\xd0\xe7\xb8\xab\x2a\xac\xc9\x64\xd4\x28\x30\xc7\x84\x53\xdf\x19\x55\xbb\xed\x1c\xd6\x8a\xda\x3d\xb0\xec\xdb\x60\x1a\xd7\x66\x7d\x5c\x5e\x2f\xd4\x9e\x36\xf7\x32\x8e\xaa\x33\x7d\xbd\x6f\xf7\x0e\x78\x98\xa3\xf9\x8c\x15\x9d\x04\x5a\x24\x27\xad\xe5\x33\x3c\x88\xfc\x4a\xfd\x38\x19\xdc\x82\xf4\xda\xa3\xc5\x23\xcb\x57\xe3\x5a\x2a\x5a\x72\x5d\x63\xd4\x02\xba\xef\x51\xe5\x1f\x1e\xf4\xf8\xf9\xa5\x95\xc9\x37\x9c\x9a\xba\x87\x3f\xb4\xe7\x65\xa9\x31\xda\x09\x14\x8a\xba\x6e\xc5\xb4\x48\x59\xb0\xe8\x1f\xf9\xfc\x22\x95\x98\xac\x9f\xbd\xb0\xbd\xbd\xdb\x56\x92\xa5\x22\x22\xdf\x52\xea\x38\x7b\xbb\xf3\x6a\xd6\x4d\x19\x46\xbd\x28\x2e\x32\x3f\xf4\x82\x2a\xd9\xda\x89\x7f\xf7\x3f\x01\xb3\x90\xcf\xe2\xe6\x4d\xe4\x92\xd5\x5d\xe7\x7f\x5d\x7d\x00\x60\xa6\x87\x2a\x01\x83\xcc\xba\x61\x0f\x53\x27\x4c\xcb\x29\xce\x6d\xce\x6a\x03\x6c\x53\x17\xa1\xed\x2a\x7c\x10\x68\xc1\xb2\x46\xfc\x1d\x58\x81\xd0\x0d\xe0\x6e\xb4\x01\xcf\xf9\x5e\x6b\x69\x14\x86\x99\xdb\x13\xe9\x4b\xb5\xb2\x80\x21\x2d\xff\x54\xc7\x0e\x56\xde\x23\x5a\x5f\x14\x00\xb5\xbe\xa5\x67\x72\xd0\x60\x17\x0f\x1d\x06\x57\x32\x15\x61\xe4\xb4\x91\x07\xeb\x96\xd9\xb3\xbc\x5a\xdf\x45\x1c\x2a\x52\x4e\xba\x4d\xb0\x03\xb7\x7b\x63\x2a\x5d\x89\x82\x7a\x62\x24\xcc\x79\x8e\x09\x6b\xa2\x7f\xb3\x3b\xf6\x1e\x3b\x8e\xaf\x18\xd0\x01\xae\x8e\xb5\x2f\x85\xc9\x0d\x9e\x12\x54\x48\x03\xe6\x7f\xf0\x20\x47\xe0\xd2\x3c\x22\xe7\xf8\xb9\x80\xc0\x1c\x3d\x48\x24\xb2\xa9\xa1\x4a\x2e\x8f\x67\x2a\x7b\x0c\xe0\x3b\xdb\xb3\xbd\x56\xd7\x54\xa0\x96\x4d\xb0\x1c\xa8\x99\xd4\x88\x00\x15\x08\x65\x7b\x7b\x02\x2c\xcf\x04\x2c\x38\xfc\x19\x49\xd0\xe0\x0a\xf4\xd3\x01\xd4\xf0\x0c\x3d\xea\x20\xe3\x08\xa0\xf9\xdc\xac\xb4\x32\x22\xb3\x82\x41\x44\xaf\x77\xbe\x18\xa5\x04\xaa\x8d\x26\x8b\x8a\x56\x00\x72\x5e\x7c\xc5\xf3\xa2\xe6\x25\x6a\x80\x74\xd1\xae\xbc\xa1\x23\xea\x53\xa0\x76\x7a\x92\xe1\x78\x3a\x49\x83\xc5\xef\x3d\x7d\xd7\xf0\x2a\xa9\xd1\xf4\xf9\xaa\xc6\xce\x25\x45\x93\xf0\x87\x92\x01\x4f\xb8\x67\xea\xf8\x79\xb8\x8a\x4e\xfb\x18\xe8\x9b\xa1\x10\x06\xad\x09\xd8\x54\x31\xcc\x26\x57\x5b\x53\x8d\x8e\x78\x90\x64\x6c\x59\x88\x64\x7c\xc1\x05\xd5\x82\x90\x7a\xe6\x25\xe0\x9c\xd0\x89\xf4\x72\x49\xe8\x18\x14\xda\x14\x04\x4c\x70\x14\xe8\x0e\x7a\x8e\x61\x9c\x7b\x73\x5f\x70\x16\x16\xb6\xa3\xc6\xf4\x92\xcd\xc6\xed\x46\x3e\x71\xa3\xd2\x22\x91\x48\x2d\x90\xa1\xde\x6f\x09\x7c\x4a\xe2\x54\x87\x61\x84\xc5\x62\xb1\x65\x75\xb9\xd0\xd1\x93\x13\xed\x98\x86\x4f\x49\xfe\x2e\x1d\x07\x4a\x21\x21\x1b\x2b\x2a\x6d\x27\xdd\xb2\x86\x11\x52\x0d\x5f\x71\x23\x05\x8f\xd0\x07\xbb\x01\x00\x1d\xef\x07\xb7\x92\xbb\x05\xbb\x74\x1c\x12\x9c\x6a\x36\x37\x6c\x38\x53\xb8\xbb\x4f\x66\xb5\x76\x0c\x8e\xb4\xec\xc7\x30\x6b\xa3\xa9\x0c\x70\xda\x47\xc9\x65\xf6\xdc\xcb\xdb\x61\xa7\xfd\xa1\x8e\xe9\x67\xcf\x8c\x5f\x05\x03\x11\x09\x2d\x0f\xde\xea\xed\xd1\x26\x5d\xef\xdd\x66\x0a\xbe\x70"}, -{{0x08,0xbf,0x05,0x9b,0x4d,0xa9,0xaa,0x7f,0xfc,0x70,0x2f,0x5b,0x23,0x04,0xc4,0xf9,0x6c,0xa4,0x9b,0x7d,0xab,0xb6,0xaf,0xb4,0x1d,0xc9,0x1c,0x0f,0x00,0xc6,0x5b,0x78,},{0xa6,0x28,0x9b,0xa2,0x8e,0x80,0xe8,0xd1,0xa3,0x19,0x22,0x3e,0x41,0x65,0xdc,0x0b,0xce,0x73,0x52,0xaa,0xf2,0x42,0xf7,0x0c,0xc9,0x68,0xd2,0x1d,0x77,0x75,0x28,0x32,},{0xe2,0x47,0x65,0x86,0x01,0x37,0x68,0x9a,0xad,0x50,0xeb,0xee,0xfc,0x8d,0x6d,0xb8,0xe9,0x36,0xa4,0xcb,0xa6,0x2c,0xe8,0x7a,0x7f,0x58,0x02,0x09,0x38,0x4a,0x9d,0x7e,0xec,0x90,0x70,0x90,0x5f,0x60,0xad,0x63,0xa7,0xbe,0xfd,0x7c,0x70,0xf0,0xae,0x7c,0x81,0x09,0x16,0x9a,0xee,0x4e,0x51,0x8f,0xce,0xbf,0xac,0xa7,0x23,0xc5,0xb2,0x07,},"\xbd\x4f\xb2\x8a\x1d\xd0\x8b\x07\xba\x66\xe1\x7f\x0c\x4f\x21\x85\x3f\xef\xef\x1c\x9d\x20\xba\x79\x77\xf1\x54\x64\x1e\xa1\xa1\x8b\xec\xf6\xbb\xb8\x03\x88\x88\x62\x94\xe0\x75\x6a\x3c\x50\x8f\xfd\xfe\x90\xb5\x1e\x13\x56\xd1\x12\xd8\xcd\xe5\xee\x2c\xc6\x33\x2e\x61\xd1\x69\xcc\xc8\xcc\x93\x49\x94\xf1\xbb\x56\x0f\xa4\x66\x0c\x0b\x0f\xd4\xe8\x14\x9a\x22\x5e\xd4\x88\x3e\x68\xfb\xb6\x9d\xa7\xaf\x8a\x52\x4b\x17\x14\x1c\xcb\x76\xb5\x0c\xd8\xe1\xb6\x7d\x3c\xe0\x37\xde\xd7\xdf\xa5\x9b\xc7\xc2\x67\x42\x26\xec\x7e\x07\xb7\x8e\xa3\xf7\x82\xfd\xa3\xe5\xf1\xe9\xca\xea\xb6\x08\xca\x38\x7c\x30\x46\x54\xf8\x01\xd0\x0e\x10\xa7\xc2\x9f\x4b\x0d\xa3\xe5\xf8\x95\x13\xa9\x80\x37\x71\x9a\x1a\xef\x4c\x25\x06\xc1\x77\xaf\x54\x51\xa0\x07\x57\xa5\x9f\x16\x22\x9c\x4f\x44\x14\xdf\x51\x58\x0d\x48\x21\x0d\xab\xc9\x37\x73\x70\xb6\x06\x8a\x88\xe8\x1d\x3a\xd1\xbe\xd4\x98\x51\x55\xc3\x60\x0f\xf4\x87\x68\xb9\x03\x02\x2f\xe0\x2a\xe4\x80\xf2\xe6\x32\x9f\x0b\xcc\x91\xd7\x5f\x5c\x6a\x09\xfd\xf7\x7b\xde\x90\x49\x9f\x3c\xa3\x95\xcb\x20\x06\x2a\x09\x84\xad\x6a\x01\x41\xfd\x01\xc2\xd5\x4d\xfb\xb1\xee\x58\x46\x10\x64\x07\x73\x43\x9a\x16\x58\xd2\xc9\xf8\x62\xf1\x83\xbf\xef\xb0\x33\xa3\xbe\x27\x18\x12\xf1\x3c\x78\x70\x46\x57\xe7\xfb\x4f\x85\x01\x75\xfc\xd6\x3d\x3e\x44\x05\xd1\x92\x24\x2c\x21\xf2\x7c\x51\x47\x7f\x32\x11\xa9\xce\x24\x8e\x89\x2b\x42\xfb\x6d\x85\x82\x0f\x41\xb8\x97\x83\x6f\x20\xf8\x5a\x13\x11\x53\x4b\x5c\x40\x4f\x8b\x7a\x4a\x03\x19\xbc\x6c\xec\xaa\x57\xfe\x4d\x4f\x20\x60\x7c\x99\xc2\xdf\x22\xfa\x06\x76\xf9\x9d\x1b\xd8\x78\x86\xc9\x28\xc4\x98\x8c\x6e\x78\xc5\x7d\x75\x83\x30\xe6\x92\x2c\xbe\x03\xc1\x03\x40\x25\x3d\x0d\xd4\x83\x79\x2c\xe7\x5e\x6c\xd0\x9d\x12\xfb\xbb\x04\x1f\x02\x05\xe6\x5a\xd2\x5c\xe7\xc1\xb2\x4e\x77\xee\x8d\x6f\x91\x5e\x3b\xc3\xe1\x0d\x09\xfb\xd3\x87\xa8\x4b\xda\xab\xfd\x1c\xed\xb5\x2c\x0b\x17\x33\xb5\xf4\x70\x88\xc0\xd3\x5e\x0e\xf4\x58\xc8\x54\x14\xc2\xb0\x4c\x2d\x29\xf6\x3f\x77\x58\x61\x31\xee\x65\x53\x0f\x20\x9b\x51\x8a\x0f\x25\x7a\x07\x46\xbb\xd5\xfe\x0a\x2e\x0c\x38\x8a\x6c\x48\x0e\x1b\x60\x71\x4f\xee\x1c\x59\x41\xbb\x4e\x13\xf7\x07\xea\xc4\x87\xa9\x66\x6a\x72\x3b\x57\x93\x13\x4a\x26\x8b\x77\x59\x77\x86\xc3\xa3\x19\x3b\x46\xd3\x55\xdd\x08\x95\xfc\x62\x16\xc5\x36\xa5\x42\xff\xd7\xd7\xb0\x80\x10\xc8\x6f\x54\x7a\x5d\xaa\x38\x33\x5a\x8b\xfa\x26\x55\xd5\xf7\x1b\x4d\x88\x07\xf5\x0c\x85\x45\xc5\x83\xdd\x0b\x69\x00\x22\xee\x65\x87\x3a\xea\x3e\x8f\x1a\x56\x5f\x3b\x0e\x4e\x02\x95\xfb\x0d\x32\x1f\x5c\x0b\x39\x7f\x2f\xd0\x52\x8f\x86\xa0\xd1\xb7\x07\xf7\x37\xb1\x75\xc6\x9e\x9e\x7a\xe3\xc8\x4d\x4b\x2c\xf3\xa3\x8a\x63\x1a\xa8\x03\x2b\x3e\x65\xbb\x45\x28\xf6\x6d\x0b\xfd\x34\x47\x3e\xd0\x10\x1d\x2a\x61\x25\x5b\x21\x5b\xc1\xcb\xab\x9a\x26\xd2\xb9\x69\x32\x4b\x77\xc8\xa5\x46\x4e\x5b\x23\xdf\x6c\x51\x12\xf9\xd1\x7c\x58\x7d\x95\x55\x9d\xe2\x12\xad\x24\x1d\x8b\x12\x60\x50\xe5\xfd\xdf\xcc\x83\x9a\x7e\x5a\xa2\xfd\xa1\xca\x20\xc0\x91\x0d\x86\x34\x18\xf1\x95\xb3\x8a\xdf\xcc\x36\xe9\x2f\x23\x96\xac\x31\x44\xb5\x37\xb3\x0f\xbe\x4d\xde\x61\x49\x02\xf8\x99\x78\xb7\xfb\x42\xcd\x99\xf1\x3d\x99\xc4\x5c\x73\x4f\xb8\x2c\x32\x59\xf9\x0b\x88\xfd\x52\xbd\xcb\x88\xf7\xee\xec\xdd\xe4\xc2\x43\xd8\x80\xba\xc7\x61\x4e\x15\xcf\x8d\xb5\x99\x3f\xfa"}, -{{0xdb,0xbd,0x0f,0x7e,0xcb,0x64,0x82,0xcb,0x01,0xc4,0xdb,0xdc,0x38,0x93,0xc0,0xdb,0x81,0xe8,0x31,0x35,0x3a,0x5b,0x01,0xcc,0x75,0xd3,0xb1,0x1f,0x2f,0xf3,0xc5,0x9c,},{0x2d,0x4e,0x58,0x8d,0x31,0xa3,0x84,0xb1,0x78,0x58,0xc0,0xd7,0x84,0xf6,0x71,0x2b,0xaf,0xd0,0xb4,0x12,0x04,0xcf,0x8f,0x0d,0x57,0x97,0x3e,0x59,0xc7,0x70,0xd3,0xda,},{0x96,0xc0,0x03,0x61,0xfb,0x71,0xc5,0x23,0x05,0xe1,0xab,0x77,0x07,0xe0,0x46,0x52,0x03,0xeb,0x13,0xdf,0x3e,0x06,0x55,0xf0,0x95,0xfb,0x33,0x19,0x42,0xa4,0x0b,0x15,0x58,0x41,0x43,0xb3,0x70,0xa7,0xdd,0x57,0x61,0xfb,0x03,0xc0,0x75,0xd0,0x4a,0x83,0x48,0x66,0x1c,0xce,0xa9,0xad,0xa5,0x33,0x65,0xb5,0x00,0x08,0x7d,0x57,0xec,0x0c,},"\xe0\xff\xf3\x59\x75\xeb\xa7\x8d\xa2\xb0\xff\xcc\x5c\x1b\x66\x36\x00\x88\x8e\x82\x55\xcd\x20\x8f\x6d\xce\x7e\x88\x95\x3b\x71\x42\x93\x73\x89\xa3\x37\xae\x82\xf4\xcf\xe3\x2f\xcb\x34\xf5\x52\xa4\x8f\xa8\x89\x9e\x1a\x65\x9e\x3e\xd3\xd3\xd2\x90\xef\xc9\xa0\xf7\xde\xdf\x33\xe2\x1d\x04\x8d\x8d\x91\x07\x57\x03\x7b\x76\xe8\xa7\xee\x9e\x4e\xca\x30\xf5\x29\xdd\xc0\x2c\xef\xfc\x26\xd6\x4f\xda\x73\x03\xcc\x0d\x89\x40\xe9\xef\x59\xdc\x98\x3c\x12\xcc\xd1\xd2\x71\x7e\x64\xd3\x00\x6a\xf8\x2a\xb1\x5b\xb8\x78\xbb\x89\xd1\x75\x8b\xe4\x43\x10\x42\x06\x38\xb9\x6a\x0b\x5e\x1e\x65\x00\x9d\x69\x39\x5d\x02\x7a\x5d\xa4\xa8\x5e\x90\x1b\xe9\xaa\x2c\x0b\x3a\xcc\x50\x8e\xe1\x85\x74\xc1\xb2\xfa\x9b\xd5\xd7\xae\x7c\x7d\x83\x07\x12\xda\x5c\xbf\x26\xbe\x09\xa3\x12\x84\x70\xa1\x2a\x14\x90\x9a\x80\xa2\x66\x65\x9b\xef\xda\x54\x8f\xd2\xb2\x2f\x24\xc5\xfd\xc2\x06\xed\x3a\x4e\x75\xf5\x32\x06\x82\xed\x0e\x4c\xe8\x17\xd6\x3d\x5c\x7f\x1e\xe2\xb4\x40\x64\x33\x55\xbe\x65\x42\xf5\x9d\xc6\xc4\x5a\xb1\x57\x72\xf2\x21\x9a\x81\x2e\xf7\x52\x76\x42\x01\x5b\xc7\x5f\xe4\x5b\xa9\x69\xe8\x10\x0c\x26\x8e\x24\xce\xef\x92\x05\xa8\x3a\x3f\x7b\x5a\xe8\x00\xad\x06\xe0\x95\xb9\xb1\x39\x21\x94\x89\x79\x3a\x7b\xce\x84\xeb\xeb\x65\x4a\xb6\x66\x9e\x28\x55\xcc\xbe\xb6\x94\xdd\x48\x65\x15\x05\xb9\x59\xd3\x2a\x77\x02\x0b\x86\x95\x33\xe3\x25\x6d\x40\x68\x5a\x61\x20\xba\xb7\x94\x48\x5b\x32\xe1\x16\x92\x56\xfb\x18\x8f\xe7\x6e\x04\xe9\xef\xa6\xd1\x0d\x28\x6a\xe8\x6d\x6f\x1c\x87\xe8\xfc\x73\xad\x9b\x59\xfe\x0c\x27\xee\x92\xa4\x64\x15\xb3\x9d\x78\x6d\x66\x32\x5d\x7f\xa6\xfd\xa7\x12\xf1\x99\xda\x55\x4f\xc1\xc8\x99\x44\xa4\xe8\x4c\x19\x6e\x97\x9a\x80\x75\x53\x71\x8c\xb8\x1c\x07\x6e\x51\x1e\x60\x9d\x5c\xac\x23\xd8\xf4\x5b\x38\xb9\x4b\xcf\xcf\x15\x8d\x0d\x61\x60\x22\x38\xd5\x2e\x3a\xe8\x4c\x81\x53\x22\xf5\x34\xf2\x54\xe6\x33\x89\xae\x15\x5d\xee\x2f\xa9\x33\x96\xf0\xea\x49\x9d\x5d\x08\xc2\x47\x59\x08\xc6\x48\xbd\xdc\xee\x59\x1e\x13\x37\xe9\x42\x1d\xc5\xa2\x57\xce\x89\xcc\xce\x4c\xee\xa8\x09\xd7\xe8\x71\x34\xe0\x39\xdb\x1b\xe5\x98\x19\x6d\x30\x89\xfd\xcf\xa8\x97\x8e\x02\xc1\x55\x58\x32\xda\x0a\x72\xb0\x8a\xd0\x7c\xdd\x07\x26\x27\x40\x9c\x87\x39\x37\xb0\xe8\x35\x71\x5b\xaa\xf2\x60\x8b\x23\x95\x32\x74\x67\xcf\x69\xa1\xcd\xcc\xe6\x37\x24\x18\x38\x3e\x7b\x89\xc8\xdf\x4d\x53\x1f\x58\x51\x49\x50\x9e\xad\x1e\x41\xb6\x62\x7f\xea\x81\xc7\x95\x8c\xb4\x9d\x2d\x3c\x3e\x2f\xc6\x91\xe0\xb8\xcf\x72\x67\x9c\x08\xb8\x90\x46\x54\x53\x1b\xc4\x36\x8f\xb6\x17\xac\x75\x57\xd9\xdb\x8d\x32\x9d\x77\xe4\x8d\x8f\xb4\xde\x73\xab\xe7\xcb\x93\x88\x27\x4a\xf5\x85\xf8\x75\xc0\xda\xb7\x93\xe4\x35\x35\x18\xbb\x24\x69\x53\x42\xaf\x0f\x5d\xf5\xbe\x4e\x9c\x7a\xd2\x15\xbe\x90\xe2\x55\x40\xda\x34\x89\x71\x7d\xd3\xd2\x92\x54\x58\x5a\x45\xc1\x3e\x6d\xcc\x7e\x9c\x8a\x3a\x79\xff\x75\x5c\xbe\x46\x5b\x25\xe2\x3a\x1d\xa6\x08\xe1\x08\x4f\xec\x83\xbf\xf8\x0c\xfb\x74\x42\xb1\x46\x01\x87\x30\x7a\xcd\x75\xe3\xf2\xd1\x28\x43\xa7\x70\x94\xac\xc3\x28\x88\xfb\xe5\xf1\xfc\x24\xc6\x15\xd1\x9a\x06\x53\x91\xd4\x17\x64\x74\x64\x42\x46\xb5\x34\x3d\xa7\x76\x26\xa2\xd4\x83\xfe\x20\x4f\x83\x93\x28\x77\x5b\x71\xa4\xcb\x56\x72\x73\xe1\x69\x64\x0a\xf9\x3d\xde\x3e\xca\x91\x16\xf4\x00\xe2\x3a\x7a\xd3\xd8\xfc\x3a\x28\xe5\x65\xf1\x25\xd6"}, -{{0x74,0x8b,0xb3,0xcd,0x47,0x71,0x37,0xbc,0x88,0x0e,0xa7,0xc6,0x1d,0xf2,0x5c,0x1d,0xac,0x6e,0xbe,0xc9,0xe6,0xc3,0x19,0x3d,0x81,0xff,0xa6,0xf7,0xa8,0x1e,0xc6,0x67,},{0x10,0x6f,0x28,0xcf,0xed,0xf0,0x96,0x45,0x42,0x26,0xb3,0xb0,0x1f,0xc2,0x4a,0xb1,0xc9,0xbb,0xd7,0xf2,0xb0,0x97,0x3e,0x56,0xfe,0x2f,0x4c,0x56,0xa0,0xb1,0x47,0x5b,},{0xe1,0x3c,0xa8,0xe5,0xce,0x7c,0x26,0x80,0x90,0x90,0x8d,0x61,0xcf,0x2f,0x0a,0x3e,0x45,0x72,0x41,0x2b,0xf5,0xad,0xfc,0x5a,0xdd,0xfe,0x88,0x55,0x6f,0x14,0x8b,0x5f,0xcb,0xe3,0xe1,0xbc,0x65,0xff,0x16,0x11,0x7d,0x35,0xc9,0xd5,0xdc,0x3b,0x11,0x71,0x98,0xf8,0x84,0x92,0x5b,0x40,0x35,0xb2,0xc0,0xde,0x6c,0x40,0x2e,0xd4,0x7a,0x01,},"\x00\xde\x6d\x99\x0c\x84\x33\x8a\x39\x8f\xda\x5f\x4a\x2c\xca\x73\x3c\x56\xb2\xa2\xea\x39\x6c\x2f\xe6\x67\xc2\x68\xe3\x81\x45\x87\x85\x39\xbd\x41\xbc\x14\x0a\x2c\xdf\xe7\xe1\x83\x60\x41\x10\x48\xcc\xa6\x0f\x35\xce\x51\x09\x91\xdf\x26\x1c\xbf\x66\x90\x39\xd9\xd2\x56\x87\xa0\x7f\xc0\x47\x6a\x41\xf5\x0e\xcc\xf3\x81\x53\xee\x6a\xe9\xff\xd3\x92\xb2\xbe\xc0\xcc\x67\x10\x1e\xc3\x69\x6d\x7a\x2e\xc8\xcb\xd4\x47\xb6\xa6\xea\x06\x3d\x33\xec\x12\x8a\xe8\xb5\x75\x77\xde\xe1\x7b\x97\x16\x25\x63\xf1\x5e\x42\xb5\x5c\xa4\xbe\xdb\xdf\xb6\x31\xa9\xf6\x26\x2f\x94\xae\x35\xbb\x35\xf7\x95\xc3\x5a\x01\xde\xdb\x46\x45\xa7\x3c\xfa\x6e\xd9\xee\x52\x1e\x46\x31\xfb\x17\xbb\xc0\x6e\xe5\x73\x16\xbe\x52\x74\x27\xc8\xaa\x55\xc6\x31\x18\x74\x62\xd4\xb2\xc8\x82\x2c\xa4\xe1\x8b\x7a\x5d\x4c\x11\x4c\x11\xdc\x22\x06\x9b\xc8\x32\x65\x6d\x5f\x4d\x39\x54\x87\x18\xc5\x1f\x5e\x4f\xc8\x28\xf6\x0e\x37\xf0\x13\x07\x50\x52\x65\xac\xb2\x2d\x5e\x8d\x76\x7b\x9a\xa7\xb8\x66\xa1\x57\xc6\x43\x87\x3e\x09\x08\x4a\x1a\x40\x4a\x7b\xb5\x8c\xcc\x4b\x5a\x39\x0f\xd3\x06\x01\xc8\x96\x93\x5e\x35\x56\xf6\x0d\x2d\xc6\xbd\xff\xe4\x7d\xa0\xa6\x87\xc8\xec\xe1\x24\x1f\xf6\xc0\x7d\x77\x61\x11\xca\x65\x98\xfc\xa9\x68\xcb\x6a\xfa\x0a\x14\xa3\x4a\xb8\xf5\x4b\x95\xd3\xd8\x47\x3a\x17\x4b\xc7\x25\x52\x3f\x86\x74\xdf\xb2\xb1\x0f\x87\x42\x07\xfe\xe1\xb0\x8b\x42\xda\x1f\x58\x65\x53\x05\xa3\x59\x75\x7a\xa0\x25\x1f\x14\x13\x8e\xed\xbc\x28\x0c\xbd\x38\x5b\xf4\xbb\xf5\x53\x01\x14\xcc\x43\xb0\x47\x47\x79\xe2\x04\x96\x2f\x85\x60\xd4\xaa\x42\x3e\x17\xe6\xae\xca\xce\x66\xc8\x13\x78\x4f\x6c\x89\x8b\x5b\x9c\xb7\x46\xa9\xe0\x1f\xbc\x6b\xb5\xc6\x60\xf3\xe1\x38\x57\x4f\x59\xb9\x74\x54\x45\x48\x6c\x42\x2b\xc0\x6a\x10\xcc\x8c\xc9\xbc\x56\x45\x8e\xf8\x5e\x0e\x8a\x02\x7c\xb0\x61\x7d\x03\x37\xdd\xda\x50\x22\x0b\x22\xc5\xc3\x98\xf5\xce\x05\xec\x32\xf0\x9b\x09\x0f\x7c\xf6\xc6\x0f\x81\x8c\x6b\x4c\x68\x30\x98\x3e\x91\xc6\xea\xdf\x1e\xae\x4d\x54\xbd\xe7\x54\xf7\x5d\x45\x0a\xe7\x31\x29\xf6\xc4\xff\x5c\x4c\x60\x6f\x7c\xad\xbf\x4f\x78\xa1\x8d\xb2\x96\x1c\xc8\xc8\xdd\xab\x05\x78\xcf\xed\xfc\xf9\x5e\xf0\x88\x8a\xfd\x38\x55\x37\xd1\xd0\xa0\x76\x48\xa5\xce\x25\x22\xd0\x63\x35\x07\xd7\x75\x93\xe1\xa0\x36\x6d\x1e\xce\x84\x3d\xe6\x98\x67\xd7\xac\x44\x2b\xa7\xda\xd2\xa9\x0b\x59\xd8\x98\x4e\x4a\x94\x6b\xbe\x5f\x17\x2d\xa4\x27\x63\x8b\x2b\x61\x20\x90\x41\xff\xf5\x0e\x60\xec\x02\xec\x2c\x0b\x1d\xc4\xbe\x2e\xdd\x13\xe8\x7b\x64\xd1\xd1\x66\x31\x14\x57\x3c\xf5\x8a\x17\x73\x9f\x46\x3a\x1c\x3d\x6b\x21\x23\x39\x01\x83\xb5\x05\xc8\xee\xff\xb2\x05\x39\xbd\xfe\xeb\x40\x77\x6d\x20\xc4\x59\xba\xc4\x56\x99\x68\xfc\xaf\xe4\x4e\xa4\xcd\x62\x4a\x84\xbf\xcc\xd7\x87\x6d\xd7\xbf\x55\xf8\x3a\xc7\x04\x0e\x30\xf3\x26\xdc\xe3\x25\x58\x8e\x1b\xa5\xbc\x07\x90\x26\x5d\xfd\xba\x09\x83\x9e\xef\x57\x16\x41\xe8\xa1\x23\x4b\x6c\xfc\x3a\x36\xa8\x66\xbd\x6b\x92\xcd\x71\xec\x74\xe0\xd4\xde\xb9\xe7\x4d\x15\x82\x01\xaa\x50\x2f\x07\xc8\xba\x34\x8a\xc2\x6a\xaf\x9b\x3d\x07\x0c\x9a\x40\xb5\x2a\x44\xe9\x32\x55\x2b\x67\xa2\xdf\x05\xa7\xf0\xf0\x3c\x61\x7b\x48\xdc\x27\x82\x36\x6a\x23\x1e\x0c\x4e\x39\x38\xa4\x27\x4b\x36\xaa\x94\x50\xff\x93\x6b\xe1\x32\xdc\xb6\x92\x83\x8d\x65\x4c\x94\x54\x2c\x6e\x04\x7a\x7f\x78\xba\x71\x19\x19\xf9\x08\xa1\x5b\x30\xb9"}, -{{0x39,0x3d,0x44,0xdd,0x0d,0xed,0x71,0xfc,0x08,0x47,0x7b,0xd2,0x5e,0xd0,0xe6,0x62,0x9f,0xa7,0xf8,0x8f,0x08,0x2e,0xbc,0xef,0x09,0x18,0x98,0xe5,0xc9,0xe3,0xd5,0xb8,},{0xc5,0x2a,0x99,0x3b,0x80,0x2d,0x84,0x54,0x0d,0x27,0x54,0x79,0xa1,0xaf,0x5e,0x28,0x7d,0x19,0xea,0x13,0xb3,0x80,0xfa,0x30,0x68,0xd2,0xf2,0xc6,0x8e,0xb9,0x7a,0x09,},{0x84,0xc7,0x16,0xe6,0x0d,0xe6,0x7b,0x02,0x0c,0xc1,0xa6,0xa2,0x4e,0x65,0x49,0xfe,0x56,0xc6,0xd9,0x41,0xa8,0xed,0xea,0xe4,0x07,0x62,0x66,0x66,0xc3,0x1c,0xb6,0x0d,0xee,0x6b,0xe5,0xa7,0x1e,0xbd,0x76,0xba,0xf7,0x1b,0x75,0x11,0x4b,0xcc,0xfd,0x37,0xd1,0x63,0xa9,0x68,0xbb,0xee,0xc1,0xf7,0x69,0x72,0x15,0x12,0x96,0xc4,0x7e,0x07,},"\x14\x2b\x6e\x82\x50\x13\x62\xd5\x5a\x04\xb8\x9d\x54\x1a\x79\x68\x63\xd7\x78\x38\x40\xd3\x4c\xbd\xfc\x51\x6a\x3c\x84\x77\x2f\x92\x44\x6f\x5f\x0d\xf4\xc4\x5c\x6e\x0d\xc8\xec\x1e\x9b\xb0\xff\x7e\xc1\x69\x6a\x09\xcd\x7a\xe3\x4c\x10\xf8\xe6\x1a\x9a\xca\xbd\x43\x03\xf0\xa9\x24\x72\x37\x62\x1c\x49\x0e\x8d\x9d\x0f\xe4\x44\x82\xc5\x60\xd0\x51\xb8\x2b\x07\x4a\xc3\xd8\xe4\x9b\xb2\xac\x71\x5a\xc4\xcd\xe3\xd4\x70\x9d\x0e\xa3\xaf\xc5\x1b\xfd\xef\x4b\x65\x67\x71\xfb\xd5\x5f\x89\xda\x9f\xa6\xdc\xaa\x62\xcb\xae\x56\x12\x08\xd9\x8c\xfa\x24\xcb\x81\x25\x2b\x89\x5f\x6a\x4a\x92\xc8\xe4\x07\xaf\x6c\x1f\x1e\xf4\x9d\x8d\xde\x15\x4f\xbc\xb1\xca\x45\x7a\x20\x4b\x5e\xa5\x43\x2e\x4d\x71\xfb\x7e\xb2\x4d\x43\xf6\xfe\x25\xe7\xb4\xc6\x59\xb0\xee\xbc\x4c\xbc\xc8\xb3\xcf\xde\x07\xc8\xf0\x7b\x18\xa5\x15\x70\xe7\x16\x3e\x33\xb3\x17\xb6\x13\x60\xf9\xce\x08\xd9\x5d\xe2\xc3\x15\x6a\xf1\xcc\xc9\xb5\x5b\xcf\x81\xea\xbf\x3c\x40\x43\x40\x46\xbb\xe8\x2e\x02\x99\x2a\x2a\xc8\xb3\xb4\x25\x68\x0a\x23\xd9\x34\x72\x6c\xb1\xb7\xbf\x26\xce\xb5\x2a\x39\x02\x2c\x00\xac\xf4\x25\x25\x71\x67\xb8\x21\x18\x5f\x68\xe3\xed\x17\x90\x3d\x8d\x22\x27\x54\x98\xc3\x9a\x9e\x8d\xf8\x84\xec\x00\x55\x8d\xcf\xa4\x3b\x8a\x11\x9c\x2e\x85\x3b\x9a\x03\x18\xbb\xea\x08\x7f\x9c\xec\x17\xca\x49\xb7\x08\x17\xb8\xd7\xc1\x70\xa8\x90\x6f\x3e\xe9\xe8\xf8\xcb\x27\xa1\xd0\xf5\x75\xab\xfa\x62\x7e\x88\xf0\x8c\xa4\xb9\x3c\x32\x97\xc4\xf3\x17\x07\x2f\x42\x1c\x5e\x60\x2e\x2f\x83\x1d\xfb\x82\x55\x1b\xdc\xe8\xd7\x12\x16\xf0\x5c\xf9\xa2\x77\x3b\x90\xfc\x93\xb9\xd8\x55\xa9\x1e\x35\xad\xe3\x32\xa5\x06\x1f\xdb\x82\xb3\x09\xba\xb4\xf5\x6e\x2d\x58\x6a\x84\xc6\x74\x81\xd1\x90\x2c\x26\x1b\x3f\x97\xdc\x30\xb1\x84\x61\x9d\xf9\xfd\xfc\x7a\x32\x9d\x06\x1a\x41\xdf\x33\x22\x02\x13\x3d\x8e\xae\xed\xdb\x4c\xfc\xee\x53\x53\x6e\x07\xaa\xd1\x15\x53\xdc\xf5\xed\x1e\x94\x9d\x45\x35\x5f\x9e\xf4\x2c\x78\x32\xb0\xde\x7c\x2f\x15\x26\xfb\xef\x86\xb6\x36\x49\xb6\xb8\x5a\xe5\xca\x86\xf0\xce\xa6\xdf\x9c\x12\x6c\x1d\x79\x48\x9c\xc3\xbf\xc6\xe8\xbf\x03\x46\xeb\x30\xd0\x16\x43\xc0\x10\x15\x0c\x5c\x8d\x0e\xb5\x01\x0a\x46\x11\x22\x15\x13\x79\x91\x08\x5e\x57\x49\x3b\x22\xe8\x35\x26\xb7\xb1\x72\xc6\xc7\x34\x1c\x40\x32\x1e\x9c\xeb\x7c\x82\xbf\xba\xa4\x8f\x3b\xd8\xf5\x13\x72\xd9\x6d\x47\x44\x4f\xf0\xd8\xbb\x2e\x5f\xd2\x65\x14\xeb\x63\x91\x05\xe3\x38\x95\xfd\xc4\x1f\x6d\xf1\xfb\xfd\xcb\x08\x46\x6e\xc2\xd2\x17\xfc\x99\xfb\x01\x2f\xe6\x54\x0c\x0c\x5a\x59\x66\xed\x3e\x66\xfa\xb1\x20\x2a\xb9\xda\xff\xe8\xe2\x7e\x8f\x74\x62\x82\x8d\x66\x26\x59\xea\x3b\x2c\x60\x8c\xf6\x8e\x30\xdb\xac\x62\xff\xd8\x22\x9f\x4a\x53\xf5\x9a\xe1\x68\x33\xb8\x1a\x15\x91\x61\xf1\x93\x69\xf6\x0f\x51\xc4\x3a\x21\x7e\xfc\x5e\xfd\x6a\xb7\xa9\x1f\xe2\x49\xc7\xb8\xa0\xc1\x4e\x9f\xae\xa5\x33\xde\x13\x38\x49\xa9\x24\x47\x67\x6f\x6c\xc1\x8b\xef\x4f\xec\x7f\x37\x31\x97\x59\xce\x80\xea\x3e\xac\x18\xfa\x2d\x9f\xa0\x23\x09\xe1\xce\x93\xac\x6c\xf4\xcd\x2c\xb2\xc9\x5f\x1e\x2a\xff\x7b\x2a\x88\x56\x40\x5a\x7b\x8e\xba\xbe\xb4\x90\x6d\x9b\x97\x34\xda\x9f\xb5\xe5\xd3\xf3\x22\xbb\x5b\x55\x9f\xa6\x1e\xc8\xf5\x15\xdb\x90\x65\xab\x4b\x91\xa7\xa3\x1d\x5c\x62\x50\x61\xc2\xfd\x2b\xcf\xe1\x7f\x94\xbb\xde\x47\x76\x30\x2b\x8a\xef\x3d\x5b\x52\xdb\x3b\xc7\x3a\xe4\xa3\x0c\xc4\x41\x7a\xcb"}, -{{0x71,0x19,0x36,0x40,0xa0,0xa2,0xb2,0x2f,0xb2,0x2d,0x00,0xa8,0x0b,0x33,0xa5,0x51,0x4f,0x3d,0x10,0x00,0x03,0x4f,0xcc,0xd8,0x85,0xd8,0xea,0x86,0x38,0xf0,0xb0,0xf8,},{0xb1,0xd3,0x6f,0x72,0x3b,0x70,0x86,0xd9,0x23,0x11,0x9f,0x46,0x75,0x9b,0x39,0xfa,0x1e,0x40,0x38,0xc6,0x41,0x8c,0x37,0x9b,0xa9,0x8b,0x58,0x40,0xc7,0xea,0x50,0x68,},{0xa9,0x70,0x2a,0x33,0x95,0xac,0xd2,0x0d,0x75,0x43,0x73,0x09,0x5d,0xc6,0x14,0x45,0x58,0x4d,0x8e,0x57,0x10,0x80,0xe1,0x79,0xad,0xcb,0xa3,0x10,0x6b,0xb0,0x6a,0x7c,0xe4,0xd4,0x60,0xf1,0x26,0x1a,0xef,0x86,0x43,0xab,0x16,0x34,0xf4,0x7c,0x94,0x14,0xa3,0x2e,0x18,0x3a,0x32,0x76,0x91,0xe6,0x58,0x43,0xdd,0x6c,0x05,0x50,0x72,0x07,},"\xe0\x28\x79\x48\xbb\x85\xa3\x98\xe6\xaf\xfa\x2d\x25\xfc\xff\x8b\xdb\x93\x26\xf5\xd1\x4f\xde\xb6\x05\x49\xf5\xfb\xf0\xc1\x81\x6f\x11\xcb\xdd\x4e\x90\xfe\xa0\x39\xdc\xa6\x0f\xaa\xd1\x69\x60\x03\xf9\x15\x15\xc9\xb2\x72\x88\x2c\x95\xc9\xa4\xab\x6e\x27\x77\xbd\x92\x7e\x7d\x84\x42\xae\xa6\xce\xa6\x19\xc9\xb1\x52\x55\xfe\xd6\x12\xb5\xcc\x31\x58\xfc\x70\x5b\xb7\xa5\x06\xf4\xaf\xec\xf4\xe3\x4e\xd5\x17\xb2\xc1\x2b\x83\x62\x61\x0e\x5e\xa2\x70\x48\x5c\xcc\xb3\xc9\xaa\x97\xec\xd6\xcb\x19\x63\x09\x00\xf0\x7d\x94\xcb\x29\x3c\xb6\xe0\x89\xa9\xa7\x7c\x01\x94\x07\x3a\x7f\x71\x77\xb0\x23\x0d\x25\x76\x3a\x2e\xf9\x8d\x47\x70\x4c\xb2\xc3\xaf\x4c\x3c\x1b\x49\x56\x31\xb4\xa5\xb2\x1b\x2e\x56\xbf\xf2\xed\xe0\x3e\xa4\xfe\x7c\xf8\x29\x17\x34\x7e\x3a\x9d\x4d\xbe\xef\x37\xd1\xcf\x17\x61\x5a\xda\xa0\xfd\x17\x05\x79\x69\x91\x7d\x47\x8d\x03\xcc\xd8\xf8\xb8\x8e\x5e\x5a\xca\xe6\x73\x2a\x81\x61\xdf\xb5\xf7\xd0\x21\x23\xc8\xd5\xa5\x65\xcf\x4d\xd9\x8d\xfc\x9a\xaf\x5a\x33\x50\x58\xa9\x41\xca\x43\x07\x3f\x26\x59\x61\x5a\x72\xfe\x78\xc1\x01\xc4\x1a\xed\x07\xf3\xbc\xf9\x80\xb0\xa5\xb3\xfb\xaf\xdb\xbe\xa9\x2f\xd8\x89\xcf\xd5\x3d\x40\x32\x78\xbc\x15\xa5\x9a\xa1\x40\xc2\xd7\x73\xb8\x88\x9b\x96\x3d\xce\xa3\x65\x36\x2e\x42\x6e\xf4\x60\x98\x45\xc9\xbc\xe9\xf8\xae\xb5\x91\xd1\xa4\x69\xb0\x72\xb4\x12\x09\xf5\xa8\xb6\xdc\x23\x95\xad\x90\x60\xeb\x2e\x37\x09\x78\xae\x33\x11\xd1\xcf\x0a\x8f\x20\x51\x42\xd4\x36\xba\xb6\xb9\x59\x43\xa9\x7c\x23\xe6\x1b\xd1\x4b\x2d\x95\x67\x2c\xb9\x32\x5e\x9a\xb1\xfc\x9e\xee\xaa\xcc\xd5\x8b\x9f\x4a\xc1\x55\x0b\xde\xc8\x44\x9b\x03\x60\x39\x49\x6c\x5f\x07\xa5\xed\x64\xd5\xd8\x51\x71\x69\x01\x44\xdb\x5c\x81\xc8\x1c\xbc\x4c\x16\x71\x8d\x52\xc4\xdf\xd1\x95\x8c\xa5\xc9\xc8\xba\x58\x2c\xd9\xd7\x06\xf2\x7a\x74\x74\x4c\x3a\x05\xbf\x1c\xcd\x51\xf1\x09\x20\x10\xd3\x6f\x15\x78\xb5\x78\xae\x0e\x9f\xfa\x47\x07\x90\x55\xef\x94\xfa\xbc\x9f\xf7\x2f\x73\x8b\xef\x68\x46\x1e\xb3\x40\x4c\xce\xe9\x53\xf5\xee\x86\x4c\x97\x4c\xe7\x0e\x90\x37\xe3\x38\x8f\xba\xf2\x88\x9e\x13\x66\xca\xa0\xf6\x51\xe2\x1b\x33\x9e\x3d\x56\xb9\xd9\x5a\xc3\x0b\x35\x92\xa9\x48\x91\x2c\x90\xbf\x54\x47\x3c\xeb\xc4\x67\xb0\x9a\x39\x43\xdc\xac\x48\x68\xac\xb5\xb3\x5e\xa6\x91\xef\xf4\xd8\xcc\x1c\xda\x0c\x6c\x0a\x9c\x16\x9a\x4e\xe1\x00\x41\xf3\x5f\x43\x3f\xb5\x3d\x26\x06\x7b\x29\x10\x56\xb1\xda\x69\xff\x46\xfb\xea\x1c\xa7\x21\x36\x59\xa9\x90\xd5\xd5\xdf\x14\x06\xb0\x93\xda\x2a\x33\xc8\xdf\x95\xab\x3c\xe8\x11\xaf\xb9\xc9\x8c\x5b\xfd\x7c\x4e\x98\x1b\x3e\xa9\x4e\xef\xd2\xe2\xfe\x95\x70\x7d\x89\xf3\x07\xfa\x76\x82\x8b\x5c\x67\x74\x95\x0a\xee\x80\x62\x67\x14\x25\x6e\x19\x7d\xc7\xda\x97\x21\x58\xc7\x68\xbb\xee\x7f\xbd\x16\x9e\xc1\x5b\x4b\xb7\xbe\x72\x97\x6d\xbe\xd3\xe5\x12\x76\x6e\xf2\x2e\xf3\xb8\x12\xbc\xac\x4a\xa3\x11\x5a\xfe\x83\xd3\x12\x84\xaf\x8e\xac\xea\x4e\xe4\x9a\xfd\x42\xd9\xc4\x4f\xff\x2d\x86\x1c\x08\x62\x9b\x55\xda\xe0\x0f\xf6\x74\xfb\x02\x8e\x73\x8b\x05\xdc\xb3\x8a\xea\xa6\x96\x3c\xc3\xfa\xaf\xc7\xb6\x92\x45\xa2\xa1\x22\xa9\x6d\xd2\xf0\x3a\x82\x4d\x72\xb0\xfe\x0d\xd7\x98\xdf\x5c\x4b\xb7\x5a\x87\x32\x4e\x76\x4a\x50\xa5\xff\x52\x54\x7a\xda\x8f\x8f\x88\xe6\xf3\x8a\xee\x49\xd5\x8d\xdb\x01\x26\x48\x85\x4c\xd5\x9d\x0e\xc9\x7b\xc3\xd5\x8d\x0a\xd4\x49\x1f\x08\x59\x07\x67\xce\xb1"}, -{{0xbf,0xc9,0x62,0x6c,0x91,0xf3,0x48,0xfd,0xaf,0x46,0x9d,0xef,0x23,0x02,0xe9,0xe3,0x8f,0x90,0x51,0xe7,0x34,0x9e,0x48,0xf8,0x50,0xcf,0x35,0x2a,0x83,0x31,0xa2,0x8b,},{0x4e,0x81,0x93,0x06,0x1c,0x9d,0x65,0xa8,0x2b,0xcb,0x25,0xda,0x08,0x9b,0x4a,0x80,0xba,0x41,0xb3,0xdd,0x2f,0x8e,0xd1,0xdc,0x81,0xe1,0xcf,0xd0,0x3c,0x84,0x91,0x15,},{0x66,0x02,0x42,0xc1,0xdc,0xf3,0x29,0x13,0x69,0xc6,0x5c,0x9d,0x7f,0x89,0x87,0x2e,0xab,0x48,0x22,0x00,0xe3,0x44,0xb2,0x96,0xe3,0x36,0xa0,0xa2,0xe6,0x31,0xfa,0x79,0x60,0x24,0xb6,0xe1,0x11,0x9c,0x27,0xd5,0x22,0x64,0xa4,0x98,0x15,0xdd,0x78,0x19,0x27,0xa7,0xdf,0x46,0x7e,0x88,0xb8,0x01,0xe6,0x84,0xfc,0x60,0x22,0x96,0x25,0x0e,},"\x2f\x11\xf4\x0b\x2a\x19\xf6\x40\xc0\x04\x4c\x7b\x13\x96\x80\xc3\xc3\xb6\x9f\x00\xff\x9f\x6a\x41\x86\xfd\x7d\xed\x56\x9c\x1d\x8c\x57\x20\xf1\x9d\xd3\x5c\x78\x16\xd0\x8a\x94\xc0\x82\x04\xe4\x76\x43\xe2\x64\xd4\x25\xe2\x1c\xef\xb8\x31\x29\xc9\x09\xa3\xd7\x8c\xaf\x72\xc4\x6b\xf1\xa7\x29\x76\x5e\xf4\xb8\xca\x80\x3f\xda\xf8\x05\x2f\xfc\x6c\xc4\xa6\xb5\x79\xa1\x60\xb7\x03\xb1\x53\x55\xc6\xfc\xd3\xb9\xa2\xec\xbc\x26\x7e\x60\xdd\x59\xf6\xa2\xb1\x94\x20\xe5\x57\x27\xa8\x0b\x0b\xb6\x41\x67\xc8\x3b\xa0\xc8\x05\xde\xed\x49\x1d\x93\xe7\x23\xf3\xb4\x32\x63\xd1\x74\x20\xb8\x5b\xe8\x6c\x16\x5c\x55\x27\x79\xdb\x96\x0e\x0a\xa9\xeb\x4d\x9f\x3a\x16\x4a\x5a\x21\xfa\xb3\xf5\x09\xa8\xf0\x19\x9a\x69\x43\xc4\xb2\x23\xcf\x9d\xac\xa7\xe1\x10\xe0\x56\xa8\x1d\x9c\xe0\xe0\xc0\x2a\xc2\x65\xee\xac\x05\xec\xd8\x44\x48\x46\x8a\x4d\x12\x2b\x87\xa3\xe0\x4c\x28\x37\xe4\x3d\x21\x27\x04\xfd\x41\xe7\xf3\xd1\x98\xa2\xe7\x6b\xec\xa0\xe7\x02\x9c\x43\x2a\x06\x54\xec\xd4\x4f\x98\x4c\x5d\xf0\x67\x41\x96\x4d\x83\x72\xc8\x6e\x16\x2a\x8c\x54\x18\x84\x9b\x41\xe5\x71\xfe\xb8\x3e\xb4\x2f\xbb\xcd\xdb\x8a\x08\x21\x43\x90\x9e\xaa\x50\x12\xb9\x79\x93\x1d\xc7\xe3\xcc\xcb\x44\xc7\x91\xe0\x4b\x80\x65\xee\x63\xf0\x56\x1d\xa1\xbb\xf3\x7b\xf6\x50\x34\x77\x87\x9c\xfb\xaf\x6d\x9d\x7d\x9a\x74\x75\x55\x3f\x53\x53\x5f\x84\x7a\x76\xdc\x3b\x2b\x7a\x3d\x1d\x47\x0b\xbe\x17\x12\x4a\x88\xe0\x3f\xe9\x94\xba\x10\xc2\x42\x21\xe3\x9e\x3d\x0f\xf5\x3c\x79\xe2\xfa\xaf\xa1\x90\x12\xd5\xef\x19\x2b\xc6\xd5\x26\x0b\x66\xf9\x97\xb6\x44\xcf\x48\xd9\x9f\x38\x99\xd7\xc4\x85\xe6\x84\xaa\x1e\x6e\x30\x85\x5c\xf7\x5c\x2d\x80\xc7\xa3\xee\x43\x54\xfe\x13\xc6\x76\x09\x1c\x86\x67\x37\x3d\x30\xe6\x0f\xf8\xe0\x9f\xed\xef\x17\x5a\x1a\x87\x39\x5f\xef\xa0\x72\x2b\xf6\xc0\x1c\x65\x55\xcf\xf0\x68\x89\x2a\xfe\x94\x86\xcb\x1f\xcc\x5f\xb6\x64\x1e\x82\xd8\x70\x79\xba\x5d\x7a\x9c\x13\x93\x55\xd6\xc1\x4c\x50\x7d\xbd\x59\x47\x24\xb5\x53\x51\x10\x09\x65\xbe\x9e\x5d\xbf\xa7\x70\x88\x78\xc4\xb2\x9f\x4d\x54\xc2\x17\x74\x6e\x32\x6a\xb2\xa5\x4f\x99\xb8\x81\xd7\xda\x5b\x11\xed\xb0\x8a\x6d\x79\xd8\x85\x69\x1b\x1f\x70\x85\x51\x73\x10\xb3\x09\xcf\x9b\x1b\x71\x4a\xab\xc5\xc1\x7a\x50\x9b\x14\x0b\x89\xb3\xf9\xdc\xee\x50\xca\xb4\x41\xbf\x5a\xd3\xbb\xc2\x99\x90\xf6\x27\x40\x61\x70\xa7\xa1\x0f\x2d\x47\xdf\xc9\x25\x61\x54\xf9\x62\x30\x8e\x76\x9a\x2a\xb1\xb2\xa0\x0e\x27\xe3\x27\xf0\xd1\xfa\x16\x4d\x1e\x38\xea\xd5\xce\xaa\xe2\x38\xba\x52\x6f\x54\xb8\x1b\x45\xde\xa6\xc8\x97\x41\x86\xb1\xb6\x72\x5f\xa4\xc8\x3e\x62\xf3\xe2\x54\xf7\x29\x87\x1b\xda\x4d\xc4\x44\xbc\xe7\x8f\x09\x03\xfa\x31\x8e\xaa\xc8\x22\xa9\x55\x32\xab\x01\x9e\x9c\xfc\x56\x19\xe2\xc2\x06\x7f\x25\x8f\x43\x75\xd2\xe0\x22\x2e\xa5\xbf\x96\xa2\x53\xa2\xa3\xfa\x9e\xea\x02\xc3\xee\xcc\xb0\x28\xc7\x6b\xc6\x0d\x38\x29\x8b\x95\xb9\xaf\xe6\x60\x31\xb1\xa2\xa2\x61\x52\xfd\xaa\x7e\xf4\xf8\x37\xab\xb5\x11\x85\xdf\x8b\x2e\xf8\x5a\xd2\xc9\xbe\x6d\xfb\xa7\x5e\x37\xdc\x7d\x12\xe1\x78\x7f\xc5\x5f\x86\x6f\xd0\x66\xf1\x22\x91\xdf\xf1\x97\x6a\xfc\x10\xda\x91\x31\x01\xe7\x04\x95\xd8\x78\x33\x48\xd6\x11\xb0\x11\xec\x67\x1c\x0d\xa7\x37\xbf\x96\x2c\xdc\xc9\xe4\xa8\x00\xb5\x13\x93\x5a\x56\xd0\x84\xea\x64\xa7\xd4\xe8\xe9\x9e\xe9\x44\x0a\x73\x61\x32\xe4\x2c\x90\x95\x03\xc2\x22\x4a\x14\x1b\x25\xce"}, -{{0x39,0x3b,0x76,0x94,0x82,0x37,0x5b,0x82,0x14,0x27,0xa6,0x6d,0x16,0xe4,0xf5,0x51,0x85,0xb7,0xa3,0xb7,0x33,0x8f,0x1a,0x06,0xf6,0x7c,0xdf,0xa7,0xe3,0x5c,0x54,0x1c,},{0x84,0xaf,0xd7,0x06,0x78,0xff,0xa8,0x5a,0x9f,0x65,0x74,0xcb,0xcf,0xe3,0xb1,0x5d,0x04,0xa9,0xfd,0x15,0x01,0x6f,0xf8,0x55,0x0a,0x98,0x7c,0x4b,0x95,0x1c,0x71,0x22,},{0x31,0xf9,0x8c,0x0a,0x08,0xfd,0xa8,0xe7,0x35,0xb5,0x73,0x66,0xaa,0x1b,0x83,0xb9,0x3d,0xae,0x63,0xb5,0x81,0x0c,0x82,0x1d,0x99,0xcb,0x39,0xdf,0x52,0x1f,0xea,0xc0,0x7f,0x3c,0x41,0x0b,0x27,0xba,0x33,0x07,0x75,0x7d,0x60,0x49,0xf2,0x24,0x54,0xfb,0x6d,0xe9,0xe2,0xc3,0xc2,0x43,0x8d,0x68,0x31,0x90,0x97,0xd1,0x12,0xcf,0xdb,0x07,},"\x8a\xe8\x05\x3e\x03\xbe\xbe\xae\x54\x40\x43\xb8\x41\x4b\x38\x53\x64\xad\xd1\x67\x37\x37\xcf\x8a\xb2\x01\x93\xd4\xaa\xbc\x8a\x78\xe1\xd6\x9b\x9c\x7e\x52\x72\x9e\x69\x30\x78\x06\xe9\x27\xce\x38\x07\xb0\x7c\x68\xc8\x33\xc4\xfc\xf1\x6d\xb1\x5e\x7d\xce\x60\x4d\x17\x98\x91\x5f\xd4\x21\x16\x89\xb4\x86\x46\x42\x50\x2d\x38\xe9\x1b\x19\x97\xb7\x18\x23\x31\x8b\x69\xab\xe5\xbe\xd6\xf5\xe3\x01\x5b\xfb\x22\xdf\x30\xdb\x37\x1f\x22\x60\xc5\xc2\x2e\xba\x60\xdf\x39\xb3\xed\xd3\xc4\xd7\xa1\xe1\x11\xcd\x9b\x8a\xa4\x6f\x67\xbd\x0c\xf3\xa7\x17\xaf\x06\xec\x0c\xe5\x67\x02\x8e\x06\xe4\x79\x79\x34\xad\x69\xb1\xf5\xbe\x44\x0f\xf3\x7a\x8a\x03\x4b\x15\x33\xfa\x94\x64\x24\xac\x59\x54\x00\xad\x27\xd3\xbe\x76\xdc\x89\xba\x9d\x6c\x49\x93\x9a\x09\xf2\xe4\x01\xc8\xf2\x0f\x7f\x7b\x4b\x9e\x63\xb9\xd5\x52\x01\x53\x4a\xb4\xcc\x7b\xe8\x85\xf0\x43\x2a\x2c\x66\x73\xd2\xe7\x65\x19\x4d\xff\xd9\xb6\x09\x6d\xd2\xb2\x84\x39\x18\x75\x09\x59\xa8\xdd\xe4\xa3\xab\x40\x7e\xb2\xf7\xe1\xa4\x9c\x25\x97\xe3\x08\x05\xf8\x48\x0d\xd0\xcc\x82\x72\xa3\x20\xc0\x0a\xa2\xb2\x10\xf5\x76\xe4\x25\x77\xd3\xaa\x41\x97\x03\x69\x7c\xa4\x06\xd4\x3a\x1a\x4f\x99\xb0\x73\x36\x64\xf6\xd6\xb2\x40\x3c\xba\x1b\xdc\xc5\x1f\x54\x1c\xf2\x42\x36\x07\x05\x70\x54\x07\x55\xc7\xa8\x63\x1f\xcc\x2f\x18\x93\x8f\xa1\x1b\xc2\x91\x15\x5b\x39\xd7\xa7\x62\xa1\xff\x4d\xca\x97\xb4\x48\xf7\x0e\x2d\x3d\xe4\x47\xcb\x08\xf9\x18\xea\x20\xcb\x43\x3f\xa1\x15\xe3\x08\x80\xc9\x6c\x8c\xf5\xf0\xeb\xbc\xf4\x82\x30\x9d\xb6\xdc\x1f\xb6\x4e\x17\xc0\x4d\x7c\xdf\x7a\x90\xf4\x01\x4d\x15\xae\x76\x96\xb4\x44\x23\xb0\xba\x08\x4e\xed\x4d\x3f\xb2\x8c\x1e\xfb\x39\x82\x8a\xca\x2f\x40\xca\x6d\xf3\x42\xc2\x0e\x95\xf8\x00\x6b\x27\x67\xa8\x3f\x50\xc3\x1f\xcc\x15\x81\xa0\x97\x53\xe7\x82\x91\xf0\xd9\x93\x1d\x99\x2a\xd3\x60\x44\x73\xce\xb8\x85\xec\xbe\x78\x57\xcc\x52\xad\x55\x85\x33\x4d\x14\x85\xd0\x22\xe1\x06\xb7\x1c\x29\xbd\xfc\xf2\x3e\xe8\xa4\x75\xdf\x2c\x09\x05\x32\x35\x6a\x6f\xfc\x02\x23\x23\x17\x98\x8a\x2c\xbc\xfb\xc2\xa3\x6b\x4b\x48\x3c\xb4\x45\x10\xe8\x55\x99\xb6\x12\x59\x6b\x62\x65\x72\xb0\x99\x6d\x8a\x61\xc0\xee\x3e\xff\xf1\xf7\xc7\x1c\x05\xfb\x5a\x8d\x8c\x5d\x09\xd9\x24\xeb\xaa\xc8\x80\x04\x51\xc9\xdb\x24\x56\x71\x0a\x27\x9d\xfe\x2d\x22\xf6\xae\xa9\xde\x31\x80\x1d\xc7\x42\x53\x43\x62\xb0\xe8\x10\xe9\x9e\x84\x1d\xbb\x7f\x0c\xf9\xaf\x1a\xef\x54\x2a\x52\xc7\x76\xcc\x51\xf2\x87\x36\x8f\xbe\x6a\xd6\x51\xfa\xd5\x78\x7e\xf7\x7c\x73\x53\x5f\x3d\xfb\x36\x18\xcc\x8f\x0d\xbb\x54\x9d\xdc\xa9\xb9\xbf\x91\x13\x5a\x34\x56\x00\x1a\x46\x21\x5a\xde\x38\x8e\x7c\xeb\x9f\xcd\xfd\x0d\x2d\x0a\x03\x56\xaf\xbe\x2c\xec\x1c\x2e\x78\xb4\xd9\x98\xd4\x55\x4f\x46\x21\xf1\x15\x1d\xd3\xff\xd3\xba\x4c\x0b\xc8\x52\xf3\x11\x75\x8c\x5d\xca\x42\x5d\x18\xba\x15\xa8\xd6\x7c\xa4\x01\xd0\xe6\xcf\x28\x0c\xb8\x83\x84\xa2\xda\xd4\x9f\xae\x39\xba\x2a\x77\xb4\x67\xb3\x23\x8a\xa2\x8c\xfd\x13\x7e\x5c\x5c\x0f\xf9\x00\x0f\x8b\x06\xa2\x19\x2e\x16\x29\x20\x69\x22\x65\xdb\x24\xab\x6a\xed\xe5\x35\xe3\x1c\x20\x93\xbe\x57\xeb\xf8\x80\x5d\xf1\x78\x89\x14\xf3\xa8\x84\xf8\x84\x17\x90\x15\x80\x8d\xb4\xd3\x02\x0f\x3e\x78\xbc\x34\x28\x5d\x23\x37\x62\xe8\x99\xeb\xff\x28\x42\x82\x15\xe2\x44\x40\x4d\xe2\x91\x72\x8f\xbf\x41\x24\xce\x5b\x24\x35\x26\x0a\x8e\x34\x11\x80\x07\x5a\x56\x51\xe6"}, -{{0x26,0xcb,0xc2,0x51,0x0e,0xe6,0xea,0x39,0x0a,0x2c,0xb9,0x48,0xa0,0x15,0xd1,0x31,0xab,0xf4,0xc0,0x95,0x49,0x15,0x62,0x0b,0x78,0x16,0xae,0xcf,0x4e,0x11,0xda,0x6d,},{0x14,0x5e,0x8d,0xd2,0x2b,0x44,0x00,0x28,0x9d,0xaf,0xb6,0x26,0xd9,0x5a,0x94,0xc2,0xf3,0xb6,0x9c,0x65,0x19,0x77,0x17,0xcb,0xdc,0xd8,0x50,0x98,0xc5,0x49,0x21,0x07,},{0x67,0x10,0xd0,0xdd,0x00,0x54,0x5b,0x44,0x4c,0xf7,0x14,0xb7,0x91,0x44,0xfe,0x79,0xf3,0x8c,0xb1,0xc0,0xf5,0xb7,0x42,0x48,0xd4,0xf0,0x1f,0xe3,0x60,0x11,0x7a,0x26,0xff,0xed,0x4a,0x3b,0xf2,0x13,0x23,0xb2,0x8a,0x39,0x3a,0xe9,0xde,0xe0,0x7d,0x69,0xe5,0x83,0xe3,0x16,0xc6,0xa5,0x73,0xd3,0x7c,0x64,0x4a,0x8d,0x62,0xc4,0x05,0x06,},"\x9c\xeb\xe2\x4b\x4f\x8a\xde\x86\x43\x0e\x27\x9a\x3c\x43\x3e\x4a\xe1\x7e\x00\x88\x52\xa2\x4f\x08\x69\x0c\xbc\x3d\x75\xe3\xb7\xf2\x00\xda\x89\x7c\x25\xf7\x48\x3b\x37\x63\x7d\x4b\xc1\x10\x08\xd9\x22\x4c\xd5\x81\xfb\xc0\x38\xad\xad\xa0\x2d\x27\x1e\xd2\xa5\xd2\x85\xd8\x43\xa0\xf8\xb7\x9e\x37\x94\x5d\xc3\x5b\xc2\x64\xbe\xcd\x80\x43\x07\xe1\xd4\x42\x18\xa6\x43\xe4\xb5\x9a\x93\x11\xde\x98\x5d\x24\xb4\xc2\x6f\xb1\x46\x03\xbe\x5d\xba\x18\x39\xee\x0c\x8d\x2e\xde\x6c\xb5\x0a\xf6\x7c\x80\x45\x19\x03\x7b\x1b\x16\x63\x31\x8c\xfc\x6e\x75\xd0\xf0\x51\xdb\xb5\xd3\xea\xf3\xaa\xd1\xf7\x8e\xf0\xcf\xf4\x8d\x5c\x55\xb2\xfd\x25\xdb\x15\x39\xd0\xf0\x2d\xae\x9f\x25\x14\x8a\x8d\x33\x8b\x97\x87\x9b\xbd\x39\xdf\x96\x1a\xa2\xc3\x96\x31\x5a\x2a\x86\xcc\x78\x35\x81\xe6\x7e\xa8\x44\xac\xfe\x86\x45\x42\x8a\x27\xb8\xd3\x2e\xa3\x06\x4e\x3b\xf6\x2d\xcf\x58\x01\x0e\xc4\x34\x88\x62\xfa\xc2\x5e\x3d\x9f\xcd\x4e\x5d\x65\xbe\x59\x90\x5d\x81\x6d\xfb\x96\x49\x92\xba\x7a\xce\xef\x8c\x20\x75\xa3\x12\xe5\xff\xc4\xf9\x53\x0e\xa2\x0f\x77\xf9\x3e\x81\xcf\x8a\x01\x9d\xc3\x94\x56\x34\x36\x4b\xab\xf7\x97\x72\x04\x5a\x0d\xba\xa7\x7c\x47\xa2\x2b\x77\x22\x3b\x70\x4d\xeb\xd2\xd0\x03\xf6\xa5\xc7\xbf\x6b\x19\xcd\x2c\x49\xb6\x14\xfd\x4d\x47\xfd\x25\x1f\xe6\x22\xcb\x98\x17\x85\xc1\x46\xbd\xb7\xc1\xd2\xea\x02\xb1\x16\x92\x3b\xf9\x8a\x1a\xfb\xb7\x85\x8a\xdf\x2d\xf9\x38\xa7\x90\xec\x1f\x90\x74\xad\xb8\xd1\xaf\xb5\x63\x3f\xa9\x61\xa8\x47\x64\x01\x0d\x3b\xde\xd1\xc0\x33\xd2\x5a\xbd\xb4\xb0\x0f\xb0\x5e\xd7\x64\x0f\xae\x61\x87\x9d\xf8\x8f\x0b\x09\xe3\xab\xd0\x57\xb9\xa5\x21\x08\xa9\xbc\x98\x5f\xb7\x3a\x5f\x29\xd8\x4d\x1c\xa6\x92\x1b\x62\xf1\xb7\x03\xc7\xee\xb4\x81\x5d\x9d\xd6\xd0\x66\x73\x8d\xb1\x18\xba\xf6\x1b\x04\x22\xf3\x88\xf1\xbf\xc9\xe3\xa9\xbe\xd8\x3a\x1a\x72\x7d\xcc\x26\x6a\x99\x88\x36\x48\x46\x80\x7f\x4d\x55\x18\xbc\x2e\xdd\x0e\xcb\x34\x13\xc2\x6f\xd0\xc7\x9b\x75\xd8\xcb\x5b\xcd\x85\xc0\x6f\xcc\xea\x4d\x03\xfb\x89\x88\xdf\xf3\xed\x0c\xc9\xdb\xae\x78\xd6\xae\x8d\x5f\xc4\x02\x46\x17\xa2\x3f\x52\xbd\x61\x53\x85\xd4\xee\xe0\x8f\x91\x34\xeb\x3b\x25\x0c\x8f\x82\x2b\x47\xd9\x1e\x8c\x4d\x4c\x29\x29\x80\x16\xe6\xfc\x81\xf1\xf1\x09\x92\x53\xd7\x94\x5e\x07\x98\x95\x5d\xa0\xdd\xe1\x4e\xbb\x93\x4e\xcf\xae\xea\xba\xe8\x78\x83\xe1\xcc\x39\x80\x67\x40\x0f\xe4\x62\xa2\xc4\xe9\xf2\x32\xdb\x5c\xdd\x61\xeb\xa9\x49\x18\x8c\xf0\x1b\x23\x8b\xe7\xad\xa9\x38\xf0\x02\xdc\x3a\xe3\x1f\xdf\xd4\x25\xc8\xd4\x6e\xa0\x32\x32\x3a\xaf\x20\xdd\x3d\xe2\x50\x7d\x36\xbb\x45\xfb\xb9\x1c\x40\x96\x9a\x9e\x5d\xa2\x0f\x7f\x93\x6b\x0f\x4b\x13\x7b\x62\xfe\x2b\xa3\xa6\x67\xbc\x03\x62\xd9\x3f\xc5\x0d\x3f\x22\x95\xe1\x67\xfc\xba\xb0\xfb\x3a\x39\xb7\xcb\x02\x4b\x57\x8f\x94\x90\xf7\x34\xb2\x8c\x9c\xcf\x71\x92\xf1\x83\x94\x7d\x5a\x51\x3e\xfa\x49\x16\xe4\xd8\x2b\x2a\xb4\xba\x7e\xc2\xff\xba\x21\x3c\xe8\x2a\xd6\xed\x3b\x10\xe4\x85\x53\xe7\x33\xc9\x40\xaa\x9b\x9c\xe7\x13\x37\xc6\xc2\x80\x5d\xfb\x8d\xd6\x61\x8b\x6d\x40\x90\xa3\xd6\xcc\x96\x3e\xce\xa2\x6d\x1c\xdc\x2b\xf5\xac\x99\x9c\x11\x27\x61\x68\xa9\x31\xd8\x16\x46\x9d\x79\x08\x3c\x24\x08\x1a\x50\xdc\xbd\x22\x27\x52\x38\x52\x67\xce\x1b\xfc\x1d\xb7\x6b\x15\x54\xad\x57\xe3\x47\x52\xb7\xf8\x98\x31\x47\xc1\x16\xd4\xa3\xfa\xe6\xf6\xd5\x7e\x65\x4f\xed\xd7\x37\x8d\x2b\x49\x89\xea"}, -{{0xb1,0xf5,0x9e,0x3c,0x23,0x80,0xd7,0xaa,0x41,0x4d,0x0b,0xf9,0x08,0x93,0xa3,0x8d,0xdd,0xfc,0x29,0x38,0x59,0x30,0x3d,0x16,0xf0,0x0d,0x9e,0xae,0x6c,0xb3,0x45,0x0e,},{0x84,0xe3,0xf5,0xf7,0x2f,0x19,0x09,0x5b,0x0f,0x53,0x38,0x48,0xa5,0xa9,0x1d,0x0f,0x07,0x43,0xb8,0xe3,0xa3,0xe2,0xf5,0x2f,0xcb,0xd7,0xeb,0xe7,0xc5,0xb5,0xa9,0x98,},{0x60,0xaf,0xc1,0xe9,0x91,0xfd,0xd2,0x7c,0xc4,0x72,0xb9,0xac,0xc9,0xd4,0x05,0xb4,0xd2,0xb9,0x13,0x08,0x92,0x90,0xb3,0x11,0xc4,0xfa,0x89,0x1a,0xe2,0xee,0xa0,0x56,0x71,0xfd,0xe7,0xa0,0xef,0x86,0x55,0x7b,0xd8,0x67,0xd1,0xc0,0xb7,0x47,0xca,0xf3,0x52,0x29,0xd6,0xef,0x52,0x8f,0xe3,0xe0,0xd0,0xbc,0xf6,0x30,0x38,0x0e,0xa9,0x0e,},"\xc6\x17\x4c\x9a\xd3\x68\x5d\xd6\x48\x63\x60\x17\x83\x7b\x8d\x99\x22\x00\x31\x9e\x9a\x5a\x0d\x26\xd9\x4d\x2d\xa7\x5e\x2c\x3a\xff\x46\xf4\x2d\x7b\x3a\xba\x47\x2b\x7f\x86\x0b\x0f\xe1\xf6\x95\x52\x97\x31\xfd\xc8\xcf\x0d\xa7\x05\xd1\xd0\x9a\xca\xd0\x4f\x01\x08\x37\xec\xef\x41\x9d\x57\xe9\xea\x6c\xac\xf1\x68\xc5\x21\x56\x96\xf4\x71\xf3\xca\xa8\x97\x60\x7c\x62\x9d\x44\x3d\xe0\x99\xd3\x17\x53\xc2\x46\x77\xd8\xd7\x5f\x4b\xf1\x72\x46\x81\x8b\x58\xad\xc0\x42\x4b\x76\x2a\x19\x1e\xf3\x9a\x70\x76\xa5\xad\x12\x61\x4c\xf5\x4c\x47\xeb\x09\x08\xbb\x86\x65\x18\xc5\xfa\xc1\xca\x2d\x2e\x5b\x65\x75\x20\xa2\xb3\x69\x5c\x6f\xb3\x60\xf1\x6f\x4a\xb3\x57\x99\x8e\x4c\x0e\x97\x23\x1d\x6f\x89\xc9\x68\xdc\x29\xec\xc1\xaa\x91\xfa\x0d\x75\x43\xb5\xd2\x24\x7b\x0d\x85\xe4\x87\x43\xab\x7c\xc8\x15\xcf\xda\xa8\x2b\xf6\x8c\xa6\xd3\xe2\x25\x0b\xfd\xa2\x70\x24\xd6\x1b\x47\x4c\x6b\x81\x54\xac\x8d\x1b\x5a\x36\x20\x97\x82\x51\x5c\x16\x46\x68\x0d\x37\x06\x9b\x8b\x44\x12\xf9\x51\xb0\x25\xa4\xd5\x43\x62\x5d\xd0\x22\x90\xbf\x03\xc6\x73\x46\x13\xf9\x9b\x7a\x4c\x3a\xf5\xc5\xf9\xe9\xac\x34\x74\x46\x5e\x64\x84\x23\x01\x8d\x40\xa6\xad\xbe\x88\xa3\x30\x1d\x3d\x25\x9b\x04\xee\x44\xcc\x05\x62\xee\x0d\xed\x4f\x5e\x26\xad\x97\x7a\xb5\x63\x1f\x85\x76\x8d\xbc\xe5\x3f\x61\x6c\x02\x9a\x8b\x8f\x93\x3e\x2a\x92\x64\xb1\xc8\x1f\x51\x7e\x9f\xf5\x8a\xb9\xf4\x5a\x23\xee\xed\x42\x04\x35\x8f\x8f\xff\x0c\x8f\x97\x5e\xf1\xdf\xa5\x77\x6a\x5f\x77\x93\xba\xe2\xf2\x81\xd7\xb0\xcb\xef\x24\x0b\x3f\xc6\xbe\x05\x88\x21\xea\x2b\x80\x0f\xff\xe5\x5a\x7d\xe0\xaf\xc9\x3e\xde\x9c\x60\xc8\xde\x00\x5a\xbb\x9a\x2c\x88\xf4\xe6\x1e\x8d\xeb\x31\x70\xf1\x07\x8a\x36\xe2\xd8\xf2\xa5\x82\x39\xbd\xee\x49\x6e\x90\xd1\x37\xd2\x11\x0f\x0a\xd8\x57\xa8\x8b\x35\x27\x66\x4f\x78\x19\x39\xe0\xb2\xf7\x66\x34\xff\x9f\x6c\x57\xe1\xc4\x3f\x58\x24\x31\x71\xcd\x86\x2e\xf4\x28\x45\x76\x17\x2a\xf1\xf6\xc3\xbd\x37\xd5\xd7\x4b\x28\xa7\xa9\x86\x98\xbd\x74\xe5\x7b\xbc\x14\x2e\x67\xf7\x03\xf9\xd6\x2c\xde\x76\x1a\x02\x26\x8f\xec\xb3\x43\xfc\x01\x41\x88\x36\x41\x4f\x12\x22\xca\x24\xbc\xdd\x69\xd0\x05\x90\x1d\xa2\xa0\xf9\x44\x65\xe4\xd4\xba\x68\x89\x88\x16\xbf\x7e\x3e\x4b\xb7\x9c\x8c\xa5\x99\x7f\xba\x9a\x8d\xf8\x4f\xaa\x2d\x24\xb0\x44\xc4\xea\x61\x02\x9a\x46\xcb\xa7\x03\x42\x1e\x36\x1d\xfa\x52\xca\xaf\xf3\xbb\xaa\xb7\xfd\x75\x3f\x28\x56\xd7\xc0\x83\xae\xb9\x76\x8d\xa1\x1d\x82\x1e\x2d\x30\x9f\x7a\x73\x5c\x39\x96\x92\xda\xc2\xf2\x62\x84\x6b\x89\x1b\xf6\x46\x1a\xf2\x3c\x8c\x7c\xe1\xd4\xd9\x03\x2c\x3c\x14\x0f\x73\x9e\x55\x84\xc3\x6f\x05\xea\xf4\x34\x9f\xf4\x54\x5f\x28\x3a\x4e\x0f\xea\x49\x43\x0a\x1b\x18\x0d\x08\x71\xe3\x74\x2b\x88\xcc\xb5\x91\x12\x4f\xc4\x27\xed\x67\x3b\x5f\x27\xb0\xb0\xa6\xf5\x4a\xf2\x2b\xa4\xa6\xd1\xc6\xc1\xdb\x2a\x1f\xca\xa6\xd8\xa0\x30\x8b\x77\xef\x2d\x0c\x61\xbb\xf5\x1b\x95\xf1\xe8\xb6\xab\xc5\x04\x1d\x97\xb6\xb6\xf1\xb5\x69\xb3\xf6\x3c\xec\x05\xcb\x56\x7a\xae\xa1\x06\x72\x70\x96\xee\x8a\x9e\xa8\x7b\x88\x04\x90\x1f\x7e\x88\xa7\x40\x9c\x66\xf1\x52\xde\x9d\xbf\xcb\xe3\x19\x52\xe6\xfd\x83\xb2\x87\x7a\x77\x5f\xae\x42\x5b\x38\x51\xe0\xef\xf8\x79\x2f\xfb\x38\x48\xf8\x4a\x65\xcc\x31\x72\x53\xb2\x72\x47\x5e\x71\x7e\x49\xe9\xc6\xff\x6b\x78\x59\xd1\x1b\xba\x7c\x44\x28\xc8\x2d\x17\x89\xe0\xdc\xa5\xbc\xad\xca\x2f\xdb\x25\x9e\x98"}, -{{0xdb,0x46,0x1b,0x9f,0x70,0x7e,0xb2,0xcd,0x77,0x48,0xc4,0x4c,0x99,0x56,0x2f,0x13,0x02,0x39,0x74,0x89,0x35,0x3d,0xf5,0xf3,0x03,0x79,0x7f,0xe0,0xd0,0xb5,0x8d,0xe1,},{0x63,0x51,0x16,0xda,0x8b,0xa5,0xa3,0x6a,0x37,0x77,0x28,0xe2,0x86,0x18,0xe7,0x5c,0x55,0x92,0xae,0xcc,0x18,0xe3,0x40,0x11,0xc4,0xc4,0x25,0x91,0x97,0x0b,0x73,0x66,},{0xdd,0x04,0x9c,0xa7,0x9b,0xeb,0x9e,0xac,0x32,0x5a,0xcf,0x44,0x67,0x2f,0xf5,0x78,0xa9,0x68,0x50,0x2f,0xe1,0xbc,0xf5,0xea,0x19,0xd5,0x2c,0x0f,0x67,0x78,0xc7,0xf1,0xc7,0xbb,0xf7,0x42,0x74,0x79,0x07,0x78,0x6e,0x60,0x81,0x23,0x91,0x1a,0x92,0x07,0x78,0xd2,0xf9,0x59,0x6f,0xe2,0x9b,0xe7,0xcc,0x28,0xfd,0x00,0x9d,0x7c,0x44,0x0e,},"\x1a\x2a\xc8\xc1\xb9\xea\x09\x9b\x83\x1a\x68\x12\xd2\xb4\x26\x13\x09\x05\x8e\xa5\x88\x3d\x70\xb1\xc6\x07\xb9\xcd\x3f\xdf\xdb\x86\xe7\x99\x02\xb0\xfe\x89\xe8\x0e\xa7\xc4\x78\x20\x76\x74\xb2\xd8\x03\xb0\xb9\xca\x14\x7f\xfe\x62\xe5\x94\xf5\x06\xc7\x96\xd6\x89\x97\xce\x48\x2b\x51\xa4\x6e\x49\xb4\xa5\xd8\x58\xcd\xea\xe2\xc6\xec\x9b\x69\x41\x98\xe6\x82\x2f\x0e\x33\xed\x57\xbe\xdb\x03\x35\xc7\x89\x0a\x72\xa7\xee\x3c\x23\x82\x3b\xe7\x9b\x7f\x94\x71\xe0\x33\xc7\x9a\xee\xd5\x2e\x57\x60\xfb\x0c\xcb\xb9\xd3\x8f\xde\xd8\xb4\x73\x83\xc1\x91\x03\xce\x44\x70\x58\x34\xc5\x9d\xdd\x86\xf7\x03\x39\x48\x61\x2d\x66\x62\xf5\x16\xce\x4e\x39\x9f\xf2\x03\x63\xcc\x72\x81\xa6\x9b\x2d\x5c\x30\x7b\x10\xb7\x04\x15\x01\x84\xec\xe3\x2f\x39\x0d\x77\x2c\xcf\xa7\x84\x83\xbb\x77\xa9\xfb\xa8\x44\x25\x36\x69\x84\x17\x1c\xc2\xbb\x60\xb0\xec\x6c\x62\x8d\x4e\x90\x30\x74\x6d\xac\x1c\xab\xca\x60\xf0\x56\x83\x81\x33\x46\xa1\xa5\xbc\x14\x72\x75\x49\x79\x5c\x1c\x92\x68\x69\xe1\xaa\x25\x09\x3d\x59\x1b\x43\xe0\x86\xe4\x3a\x04\xd1\x70\xd9\x42\xc4\x16\x5e\x1c\x5c\xe7\x6c\x3e\x64\x97\x3d\x91\x36\xf9\x32\x5b\xee\x82\x16\x82\xf1\x04\x3e\x95\x1b\x02\x76\x7f\x3f\xb4\x58\xd0\x24\x49\xad\xd3\xe8\xa6\x6e\x51\x6f\xdb\x1e\xd5\x80\xe0\x56\xe0\xf7\x8e\xe3\x3f\xd9\xee\x32\x80\x91\x2f\xae\x07\xfe\x1e\xa0\x25\x27\xcd\x00\x1d\x6f\x6f\x2f\x89\xee\x64\x9f\x51\x74\x14\xd5\x6f\x57\x35\x9a\x84\x68\x91\xf0\x22\x2c\x32\x1d\x7e\x70\x81\x79\x95\xa8\xcd\x8e\x94\x76\x0b\x6e\x74\x83\x2b\xab\x68\xd5\x5b\xc4\x64\x18\x84\x22\x1f\xd2\x9f\x12\x2d\x87\xa9\xa8\x68\xb6\xa6\x06\x0c\x87\xb2\x38\x2c\xf7\xbb\xdd\xa4\xcd\x6a\xaa\x1b\xbc\x8e\x6d\x63\x4a\xb5\x80\xc8\x65\xf5\xad\xd6\xa1\xd5\x4e\x61\xa6\x07\xdc\x2c\x37\xb0\x8a\x8c\xba\x6e\x61\x0c\x12\xcf\xeb\xef\x9c\x98\x9e\xef\x3b\x78\x2a\xcb\xd1\xbc\xec\x5f\x04\xe8\x35\xca\x10\x12\x98\xb5\xe9\xbd\xd8\x81\x3a\x71\xb0\xd4\x69\xfc\xf1\x27\x27\xd3\xde\x1c\x3f\x97\xdd\xbc\x6a\xb2\x65\x84\x40\xdd\x64\x21\x01\x9b\xc6\x8f\x35\x6d\x6f\x25\x53\x68\x65\x85\x1d\x92\xd9\x0f\xe9\x96\x9c\x3b\x7c\x35\xa2\xe8\x8c\xe1\x53\x47\x6e\xc3\x97\x3a\xf9\x35\x9f\x16\x77\xa4\xca\xf1\xcc\x48\x1c\x71\xbd\x90\x22\x8f\xf5\xfc\x6d\xd8\x3b\x8a\x69\x9f\xfe\x51\x49\x29\xf5\xc9\x5c\xb4\xf0\x4b\x00\xdd\x18\xa2\x87\x2c\x41\x86\x8d\x3b\xeb\x76\x49\x8d\xdc\x92\x34\xb6\x3f\x59\x9d\x70\x71\x80\x1d\xb2\xc2\x87\x8f\x7b\xef\x4f\xfd\xdd\x81\x32\x26\xf0\x6d\xb8\x4e\xb3\x02\x17\xa7\x18\x30\x82\xe3\xc1\x24\x2b\xb6\xd0\x1c\xd3\xa6\xce\x27\xbf\xf1\x6b\xfb\xfd\xd7\x5b\x7e\x51\x04\x31\x2c\x49\xc4\x3a\xad\xfc\xd5\xb4\xed\xba\x0f\xf5\x0d\x28\x90\xca\x3c\xd9\xcc\xa3\x3e\x4f\xc6\x94\xc0\x57\xc4\x7e\xbe\x1c\x20\xa4\xad\x11\x5f\x98\x5d\xc7\x44\x2c\x6f\x6d\xa7\xbe\x53\x0b\x69\x02\x28\x9c\xab\x9c\xa1\x39\xc6\xb2\x4c\xb8\x0f\xfd\xd7\x82\x32\x4e\x60\x2c\x45\x91\x0d\xb6\x3d\x8b\x5c\x44\xca\x29\xd2\x7f\x56\xdb\xf0\x01\x86\xba\x58\x3c\x34\xe1\x60\x31\xdf\x35\x75\x46\xb3\xab\x9a\x3d\xd6\x5e\x91\xd7\x12\x8c\x93\x91\x95\xe6\x46\xa0\xf0\xb8\x9b\xf5\xdf\x04\xba\x23\x3d\x6a\x12\xa2\x71\xf7\xe0\x4a\xa4\x5c\xda\x99\xb4\xa5\x5a\x21\xcb\xbb\x73\x85\x15\xe3\x2c\x56\xaa\xc2\x49\x62\x32\xb1\x00\x8a\x67\x61\xc8\x04\x5a\x1f\xe0\xf9\xa3\x64\x40\x47\xb5\x96\x6a\x58\xa6\x00\x46\x6c\x1b\x1d\x11\xdd\xad\x5a\xa5\x73\xc4\x3e\xbd\xa8\x87\xe1\x6a\x05"}, -{{0xf5,0xc0,0xa7,0xf8,0xf6,0x58,0x4c,0x5d,0x2f,0x2e,0x1d,0x08,0x10,0xe8,0xe8,0x61,0x03,0xe4,0xe2,0xd4,0x5c,0xf9,0xa7,0x21,0xd8,0xc4,0x7f,0x67,0x49,0x33,0x96,0xa4,},{0x3c,0x6d,0x6c,0xce,0x49,0x63,0x31,0x41,0x07,0x86,0x96,0x13,0x1a,0x8d,0x84,0xed,0x82,0x3f,0x30,0x66,0x4b,0x28,0x9a,0xf9,0xdd,0x30,0xc6,0x40,0x7f,0x6f,0x03,0x13,},{0xd4,0xc3,0x0a,0x48,0xc4,0x52,0x3b,0x1f,0x84,0xb1,0x4b,0x65,0x7a,0xf8,0xf8,0x59,0x75,0x5b,0xba,0x63,0x59,0x98,0x8b,0x67,0x5c,0x6d,0x85,0xdd,0xf3,0x54,0x62,0x82,0x0d,0xa4,0x76,0xd8,0x4f,0x6c,0x40,0x2e,0x65,0xb0,0x20,0xd9,0xe8,0xa2,0xc2,0x85,0xc1,0x67,0x08,0xae,0x58,0xd1,0xf8,0xdb,0xc6,0x57,0x82,0xa8,0x98,0xa6,0x65,0x08,},"\xd6\x8a\xbc\x60\x9a\x7a\x0c\xe2\x56\x69\x9e\xb1\x70\x43\xde\xfe\x1e\xb8\x22\xc9\x70\x8f\x65\x71\x8a\x06\x58\x1f\xab\x21\x10\xec\x2d\xb0\x92\x13\xbb\x9e\x0f\x36\x12\xce\x4a\x3f\x8f\xdb\xe7\x57\xa9\xf0\xeb\x2c\x3e\xba\x43\x8a\x90\x88\xb1\x8f\x6c\x5c\xaa\xbb\xe5\xc8\x2f\x7a\x9a\xb2\xfe\xcf\x0f\x58\x59\xd1\x75\xe1\x39\x26\x30\x33\x74\x24\x58\xf8\x2a\x6f\x38\x75\x6c\xd5\xbc\xdf\x9e\x07\x36\xdb\x2c\xab\x20\xa0\xcd\x3f\x0f\x1c\xdb\xea\x85\x56\xd8\x49\x09\x35\x8d\xd8\xf6\x9f\x0d\xac\xd4\x9a\xbf\x8a\xc1\xbf\xe7\x59\x40\xd6\x93\x9e\x6a\x55\x38\x5b\x5a\xce\x7c\xe1\xfd\xe1\x20\x67\x9a\xb6\xea\x7a\x89\xd1\x42\x68\xd2\x9f\xfb\x46\xdf\x10\x5b\xf3\x90\x92\x42\xc6\x60\x5f\x3e\x3e\x2a\xb7\x44\x89\x37\xd6\xdb\x2b\xa0\x54\xc7\xb1\x4f\x43\x2d\xb4\x1d\xc1\x8a\x5b\x95\x73\x36\xb7\xf5\x2d\x97\x8e\xc0\x3e\x7d\x57\x64\xe9\xbd\x2f\x4b\x68\x95\x8d\x93\x7b\xf2\x98\x23\xb2\x7e\xfb\x31\xe2\x5b\x43\x92\x5c\x4d\xac\xbe\x67\x18\xa6\x0f\xea\x3b\x32\x70\xe7\xb7\x6b\x0d\xe0\xe7\x0f\x7f\xa3\xc1\x2c\x21\x5e\xf7\x2b\x95\xdc\x1b\x52\x76\x23\x81\x79\xdf\xc5\x2f\xc4\x88\x59\x64\x9f\xa5\x82\xd0\x5a\x60\xdf\x68\x59\x9a\x1c\xee\xa6\x4f\x64\x12\xd3\xf8\x49\x8a\xe2\xce\xdb\x12\x42\x45\x88\x3a\x24\x0b\xc0\x85\x1f\x0e\x32\x49\x65\xbe\x12\x04\x86\xe1\xea\x89\xa0\x18\x2d\xfa\x8e\xab\xd3\xb8\xfa\x66\xa9\x9c\x51\x49\x13\x89\xf3\xc8\x3a\x3c\xdb\x42\x67\xf3\xe4\xdb\xc9\x8f\x0c\x44\x85\x6b\x04\x4d\xc8\x8d\x90\xee\xee\x84\x15\xbf\x73\xde\x17\x1a\xfe\x84\xbe\x90\x35\xe0\xdc\x4c\x80\xcf\x04\x22\x46\x9f\xe0\xc9\xbd\x1c\x6a\xa6\x54\xa5\x9b\x5e\x34\xee\xd3\x51\xcd\xa2\x87\x12\x69\xac\x47\x8e\x8d\x38\x2e\x74\x0e\x9a\xc7\xab\x4d\xdc\x4c\x0d\xef\x0a\xea\xb7\x97\xb6\xf1\xa4\x27\xb8\xe4\xa8\x49\x7a\x0b\x97\x97\xda\xdc\xd3\x5c\x41\x4f\xd5\x5b\x78\x31\x30\xf6\xcd\xed\x38\xa4\x4c\x1a\x89\x28\x83\x07\xeb\x84\x25\x48\x41\x37\xa8\xae\xdb\x03\x0d\x54\xb6\x16\xa8\x2e\x3c\x5a\xcf\xfb\x08\xd6\xcc\x1a\x61\x74\x5c\x29\xaf\xc6\x8a\x0c\x18\x38\xb1\x39\x15\x9c\x5f\xa6\x67\x4d\x66\xb9\xe3\x38\x11\x5a\xad\x4b\x1b\x47\x10\xaa\x5d\x95\x17\xbc\xf7\xe1\xcb\x12\xd4\xe6\xa5\x1c\x11\x78\x9f\xdc\xae\x9d\x9b\xbe\x78\xf6\x9a\x33\xe5\x2d\xf1\x83\x3c\x87\x6b\x02\x68\x7a\x40\x4f\xac\xad\x32\x84\x1c\xb2\xd5\x25\x54\xe7\xb8\xe2\x20\x9e\x3f\x88\xfd\x94\x8c\x1e\xcf\x83\x95\x7c\x96\xf4\x3b\x03\x4b\xed\xa6\xc4\x76\x09\x6b\xcb\x09\x30\x1a\xd6\x1f\x83\x67\xcc\x43\xe1\x56\x13\x18\x62\xb4\x2e\xce\x28\x5b\xec\x2d\xcc\x2d\x02\xd0\x94\xd0\x42\xa1\x60\x72\xeb\x22\xab\x98\x88\x01\x3b\xe8\x23\x71\x56\x94\x00\xec\x1f\x8e\xc7\xe7\x91\x08\xc4\x1b\x85\x33\x65\x26\x8f\xa4\xcf\xbc\x62\xc4\xac\x12\xcc\x98\xd2\xec\x38\xa8\x7d\x60\x85\x85\x95\x67\xc0\xf2\x7d\x6d\x43\x1a\x04\x6e\x88\xa9\x81\x55\x58\x66\x07\x05\xfd\x05\xeb\x06\xc6\xc0\x5e\x5b\x7d\x62\x34\x7c\xee\xe2\x7d\xff\xed\x71\x41\x54\x0d\x60\x8c\xb9\x75\x07\x5a\x96\x44\xac\xc6\x32\x84\x39\xf9\xfa\x68\x2b\x22\x6b\x18\x61\x54\x54\x90\x11\xc3\xb0\xf0\xff\x4f\x74\xca\xa7\x1c\x19\x44\xe4\xcb\x83\x6c\xe8\x51\xd9\xb5\xd9\xe7\x27\xc5\x53\xe3\xc7\x23\xcf\x98\xc2\x73\xe5\x67\x5c\xab\x89\x9b\xb6\x6f\x46\x33\xa7\x6d\xea\x35\x73\x41\xf9\x83\xc5\x3d\x91\x58\xad\x31\x9a\xda\x75\x40\x8b\x41\xc0\x6f\x26\xb7\x43\x5b\x80\xdc\x3b\xc0\xaa\xf2\x2a\x83\x3d\xde\xdc\xd6\x78\x5c\x87\xd1\x96\xb0\xaf\x2c\x9a\x43\xd1"}, -{{0x1a,0xb9,0x46,0xc0,0xc1,0xae,0xbf,0x9c,0xa3,0x7c,0x2f,0x4e,0x2a,0x4b,0x33,0x7d,0x5b,0x1e,0xbc,0xcd,0x24,0x73,0x4c,0x9c,0xb2,0xa1,0x60,0x8c,0x88,0x1e,0x57,0x57,},{0x9a,0xfc,0x63,0xdf,0xce,0x0d,0x48,0x9b,0x40,0x90,0x7a,0xee,0xd6,0xdf,0xfe,0x4c,0xd8,0xef,0x5a,0x6f,0xfa,0x22,0x98,0x95,0x56,0x44,0x5c,0xbf,0x9b,0x35,0x19,0xc2,},{0xbf,0xab,0xde,0xa4,0x18,0x10,0xa5,0x3f,0x8e,0x52,0x7a,0xcd,0x66,0xec,0x10,0x6c,0xe2,0xae,0x1a,0x67,0xff,0x6a,0x9b,0x52,0x2e,0x0f,0x08,0xfb,0xbf,0x12,0x52,0x68,0x2c,0xb3,0xa1,0xdc,0xc8,0x75,0x60,0x19,0x44,0xcb,0x88,0x00,0x0f,0x72,0xe1,0x39,0x07,0x00,0x79,0x03,0xa7,0x7c,0xd0,0xdb,0x03,0x16,0xd4,0x19,0xac,0x38,0xc2,0x04,},"\x9b\xb0\x71\xb6\x2c\x04\x06\x4b\x0c\x96\xe2\x43\xdd\x19\x8c\x39\x71\x7b\x25\xc9\x94\x48\xc2\xc0\x02\xb8\x4a\x99\x20\x4c\x5a\x6e\x23\xb4\xb9\x12\x02\x86\x75\xbf\xdc\x4d\xf9\x3c\x5b\x2f\xb8\x08\x81\xa2\x3e\x0d\x44\xba\x18\xbd\xe9\x91\x21\xee\xe8\x6a\xdc\x6f\x84\x28\x19\xd6\xeb\xc7\xa2\x88\x99\x2d\xa3\x28\x58\x05\xa8\xb8\xb6\xfb\xcd\x22\x67\xb6\x86\xb3\xe1\xbf\x79\x60\xb4\x5f\x24\x4f\x85\x2e\x82\x49\x29\x44\xe3\xd6\x18\xbc\xc4\x51\x4c\x17\xf7\x22\xba\x49\xac\xa7\xf2\xf3\xbb\x4e\x91\xf9\x40\xe9\xce\xf0\x15\x65\x0c\x3e\x40\xb0\xc8\x55\xa1\x7c\x42\xf1\x1e\x3a\x34\xac\xc8\x52\x87\xdb\xe0\xf9\x09\x3c\x00\x37\x3d\x50\xc0\xb3\x06\x4a\x5a\x5f\x2b\x1e\x89\x20\x65\x17\x52\x82\x95\xfd\x87\x17\x03\xa8\xe7\x62\xb5\xe7\x6f\xb9\xb7\x47\x3d\x21\x49\xb8\x5b\x94\x61\xf5\x58\x7e\xd7\xe7\xfc\x8b\x50\xaa\x09\x87\x6d\xee\xb6\xe2\x37\x07\x85\x02\x14\x2c\xec\x6b\xdd\xc7\x01\x40\xfe\x1d\x1f\x16\x58\xd5\xd3\xe9\x10\xfd\x70\x36\xa2\xf9\x24\xb4\x99\xdb\x17\x56\xf7\xc8\xce\x0d\x5f\x0d\x04\x5b\x39\xbc\x81\xc5\xc2\xf1\xa7\x61\xf5\x2f\xf3\x93\xe0\x64\x9b\x8d\xb0\xbd\x88\x54\xbd\x02\x6b\xe2\xc7\xc3\xcd\x63\x52\x6b\xa5\xa8\x0d\x48\x33\x5f\x03\x38\x32\xd6\x33\x76\x07\x1b\x63\x08\xf0\x59\x60\xcb\x3f\xc9\xfa\xc9\x32\xed\xd8\x37\x6d\xae\x51\xf2\xc6\x61\xf7\x5b\x7c\x6f\x4a\xc8\x56\x75\x3a\xca\x62\x06\x28\x77\x60\x9f\xc4\xa0\xff\x60\x67\x02\x82\xc0\x5e\x88\x2d\x1a\x03\x5b\xf9\x89\x0c\xab\x29\x6a\xc7\xa8\xdf\x24\x4c\x56\xf4\x90\x25\x0f\x02\x00\x54\xb8\xaf\x51\xbe\x4f\xc3\x18\xbe\xba\x50\x62\x32\xbf\x45\xe1\x7f\x5c\x74\x0c\xf0\x9d\x37\x51\x5a\x8b\xc8\x94\xbc\x95\x5c\x8a\x46\x08\x77\xc7\x85\x4f\x8b\xe3\x63\xb2\x19\x33\xe1\x62\x87\xae\x0c\xb7\x0f\x22\x2d\x4e\x36\xb8\xb4\x24\x97\x55\x59\xbb\x4b\xfc\x8d\xd1\xd5\x1b\x3c\x0f\xaf\x4a\x53\xe3\x02\x19\x6f\x9f\xed\xb5\x32\x87\xd0\x93\x15\xdf\xff\xa2\xbc\x4b\x3a\xcf\xf1\x37\xf9\xa7\x6d\x68\x56\x21\x7f\x79\xcb\xb2\x54\x33\xfc\x97\x89\x9f\xd6\x54\x0f\x18\x08\x8e\x84\x41\x7e\x48\x33\xe4\xa9\x1a\xab\xa4\x65\x8a\xe9\xad\x7f\x76\x0d\xd9\xc5\xb7\x19\x1a\x0d\x3c\x05\x54\x1b\x83\xc0\x25\xa7\x99\x21\x38\xe6\xd1\x08\x0d\xa1\x4c\x2c\x88\x7c\x6d\x67\x0a\xab\x37\x4d\x43\x6c\x27\x2f\x9e\x96\xf8\x5a\x9c\x42\x33\x79\xc0\xd4\x7c\x46\xdf\x6d\xe3\x34\xea\x20\x57\x15\x8d\x33\x23\x1e\x14\x26\xa6\x6d\x3c\x70\x82\x7a\xad\x55\x11\xb8\x46\xe0\x3b\x94\x92\x3d\x5f\x94\xba\xf1\xf8\xcf\x11\xa8\x61\x37\x3a\x5b\x80\xad\x5e\x31\x7e\xc2\xa5\x29\xe9\x4e\x63\x6c\xdc\x3a\xa2\x9e\x5d\xac\x20\x5a\x0c\x13\xf6\x8f\xb1\x98\xcf\x94\x56\xe6\x39\x0a\xea\xd4\xd9\x78\x2a\x10\x38\xf6\x47\x8d\x33\x9a\x81\xba\xe7\xaf\x2a\x04\x15\x1c\x2f\x22\xe8\xd3\x9f\xe0\x71\xe1\xa5\x21\x68\xd5\x7c\x84\xc3\x62\x93\x41\x3f\x8e\x6f\xf6\x93\x4f\x05\xe7\xef\xad\x6f\xa1\x20\xc8\xc1\xc3\x8a\xd1\x88\x6a\x3d\x00\xbf\xc3\x06\x45\x92\x03\xc0\x2c\xdf\x4f\x06\x65\x2b\xc8\xfa\x0e\x8b\x9c\xc7\x79\xd4\x3f\xbb\x78\x9e\x7d\xad\x5d\xc9\x9f\x41\xd4\xcc\x58\x8c\x1b\x65\x42\x6a\x4e\x77\x38\x9e\xdd\x04\x97\x75\x78\xf8\xf3\x16\xbc\xdd\x94\x61\xd6\x66\x47\x2c\xdd\x27\x6a\xa5\x69\x72\x1c\x65\x23\x22\x56\xba\x1c\xf0\xe7\xf5\xea\x55\x32\x17\x29\xbb\x0e\x03\x86\xa7\x7b\x86\x55\x32\x02\x46\x96\xed\xde\xf4\x85\xb7\xd7\xb2\x8c\x15\x73\xb9\x34\x7e\x41\x4d\x42\x61\x99\x54\x82\xe3\xb3\x12\xde\x13\x31\xf8\x4e\x75\x48\x60\x7a\x84"}, -{{0x04,0xbb,0x88,0x7a,0x8a,0x31,0x84,0xff,0xc7,0xea,0x09,0xc9,0xbc,0x7c,0x1f,0x7c,0x34,0x11,0x55,0x6a,0x7c,0x7c,0x39,0x8c,0xb8,0xb2,0xd9,0x8f,0xfd,0x9e,0xe8,0x66,},{0x6a,0xb1,0xe4,0xae,0x4a,0xa0,0xd3,0x89,0x89,0xae,0xef,0xa8,0x05,0xb5,0x78,0x80,0x6e,0x2e,0x97,0x1a,0xc7,0xac,0x05,0x40,0x99,0x58,0xbf,0xe6,0x00,0x71,0xf4,0xa7,},{0xcd,0x84,0xf5,0x5e,0x5e,0xf4,0x53,0x19,0x24,0xc5,0xa2,0x18,0x1e,0xc8,0x7a,0x64,0x54,0x13,0x88,0xc1,0x05,0x94,0x06,0xbc,0x07,0xd5,0x31,0x57,0xa1,0x68,0xe2,0x03,0xcc,0x8a,0xa0,0xf0,0x06,0x9d,0x53,0xff,0x58,0xa9,0x5b,0x8a,0x8c,0xaa,0xfd,0xad,0x26,0x36,0x3c,0x7d,0x0f,0x80,0x45,0xc4,0x35,0x9e,0x97,0xb4,0x36,0x02,0xc6,0x06,},"\xb7\xab\x0c\x81\x63\xf4\x78\xc6\xca\xbf\x2b\xbd\x7c\xa3\x7c\xb0\x24\x56\xd7\x6e\x52\x7e\xea\x1b\x0d\x26\xdb\x24\x2e\x37\x87\x76\x32\x98\x5a\x3e\x3c\xa4\x1b\x52\xe2\x1d\x79\x01\x7b\xff\x81\xee\x55\x1a\xd7\x2a\xf2\x77\xb4\x10\xe4\x2a\xf8\x22\xc6\x08\xcd\x69\xd0\x0b\xf4\x40\xb7\x5b\x78\x7a\x8c\x91\x5d\x70\xb6\xc6\x37\x6c\x3f\x67\xfa\x64\xd6\x12\xa1\xb4\x49\xa7\xe2\x13\x4d\x9c\x23\x23\x01\x57\xd5\x76\xe0\x6a\x66\xa8\x42\x2a\x61\x1e\x2a\x0f\x09\x72\x86\xc1\x99\xea\x2a\x16\x28\x61\x86\x4b\xd0\x35\x07\x6a\xb2\x0b\xba\xe2\xb4\x40\x8a\x2c\x64\x33\xcb\x23\x43\x3a\x88\x9f\xe6\x59\x8f\x47\xbe\x53\xbb\xd2\xc8\x0f\x07\xa8\xfc\xcb\x8a\xae\x51\x11\x61\xe6\x09\xda\x4d\x18\x0a\xce\xa5\x44\x81\x1e\x94\x49\xc5\xdc\x22\x50\xe3\xe5\xa0\xcd\x41\xda\x33\xa2\xda\x63\x2e\x60\x38\xbd\x86\xf1\x6d\x5b\x7c\x1b\xe4\x9f\xc6\xdb\x49\x90\x76\xca\x91\xf7\xaa\x02\x8f\xe3\x85\x29\x70\x0b\x21\xd0\x72\xd2\xb7\x5d\xcc\x8b\x43\x78\x1d\x4b\xc4\xd3\xbb\x58\x4d\x9d\xa0\x1c\x3e\xcc\x85\xb1\xe9\x3f\xce\x04\x5d\xad\xce\xea\x51\x06\x46\x8b\xdf\xe5\xf7\x0d\x66\xa4\xfa\xd6\x0e\x4f\xb8\x64\xec\x15\xea\x50\xf6\xcb\x79\x72\x23\xc8\xc7\x56\xf7\xa1\x93\x1a\x39\x46\x4e\xbb\xb9\x67\x9f\x6b\x01\x68\x7c\x17\x4e\xaa\x32\xb9\x68\xb9\xcf\xac\xe8\xc1\x67\x12\x0a\xa7\xbd\x02\x42\xf0\x03\xa0\xc3\x77\x70\x25\x51\xb3\x0d\xa2\x48\x8e\xb2\x94\x40\x52\x93\x4a\xef\x4b\xfe\x11\x5f\x0a\xb7\x40\x5a\x3d\x5f\xa9\xbd\x79\x6b\x37\x17\x42\xbc\x11\x4a\x9b\xf2\x8c\x5b\xd2\x56\x26\x29\x5c\xe2\x61\xa6\xa8\x3e\xf6\x0b\x77\xd2\xd3\x2d\xd7\x10\x5f\xc8\x36\x64\xaa\x89\x76\x5b\x3f\x81\x91\xee\xee\xd8\x78\xf2\xeb\xff\x2f\xb9\x76\x63\xa6\x18\x77\xc0\x93\x93\x3b\xbd\x07\x31\xe6\x37\x57\x57\x1b\x0e\x37\xca\xc9\x9e\xd0\x1f\xd2\x14\xcb\xd4\xfe\xb9\x77\xe8\x56\xe0\xa1\xa7\xef\x0c\x40\x8c\x20\xe0\xdd\xaf\x1f\xd8\xf0\x28\xcf\xa0\x8c\x85\x0f\xa7\x09\x0d\xca\x8c\xdd\xe0\xcb\x69\x03\xda\x18\xc6\x29\x0c\x66\xa1\xc0\xae\x0a\x08\x4b\xf2\x50\xc5\x1a\x9d\x03\x5e\x5b\x16\xec\x61\x66\x36\xaf\xb9\xb5\xbc\xe3\x6a\x77\x5f\xe2\x17\x5b\xcc\x2e\xe0\x72\x20\x83\x4e\xeb\x31\xca\xee\x50\xe9\xf8\x06\x3f\xb1\xfc\x84\x68\xae\x25\xe3\x96\x67\x89\xa6\xd8\xdf\xfe\x08\xa6\xf7\xa1\xe6\x72\x6f\x93\xae\x74\x82\xde\x02\x62\xbb\x1f\x8d\xe0\xc9\x5a\x99\xec\xb9\x56\x84\xd4\x4b\x3f\x1a\x33\x2a\x18\xd2\xcd\x3d\xcf\x25\x3c\x33\xd7\x35\x52\x2f\x79\x6b\x65\x1c\x9a\x63\x3a\x8e\xbe\x95\xd0\x2b\xc0\x46\x58\x25\xee\x54\x1a\x7d\x92\x7b\xb5\xb9\x0a\x6d\xb5\x49\x9f\x8d\x99\x3a\xb4\x04\xb1\x65\x0b\x75\xe7\x92\xa7\xc8\x34\xeb\x41\xf0\x47\x01\x38\xb0\xf5\x78\xa0\x4c\x9b\xa5\xad\x95\x0a\xc7\xc9\xb5\xd3\x28\xf3\x40\x8b\x64\x5a\xd9\xc6\xbf\x19\x6d\xd9\x61\x44\x55\x96\xbc\x78\xf2\x84\xb8\x91\x4b\x2a\x8c\xf9\xb7\xbd\x3a\x71\x6d\x8f\x14\x4b\xb6\xb1\x5d\x83\x10\x23\x71\x3b\x5e\x41\xfd\xa9\xb5\x87\xff\x9d\x6c\xc4\x3c\x08\xd3\x5a\x70\x7f\x49\x52\x83\xe1\xac\xe9\x60\x48\x7e\x7f\x02\xb7\x54\x3b\x68\xa7\x31\xa2\x9b\xf3\xbe\x14\xb6\xe9\xc3\x71\x74\xa9\xf4\x6f\x56\x11\x99\xdb\xd2\x7b\x46\xbf\xe6\x22\x43\xe0\xc1\x1c\x0e\xdf\x13\xb6\x4f\x41\x1c\x8e\x8e\xce\xd3\x5d\x84\x28\xf7\x9f\x10\xea\xcf\xfb\x72\x34\xe5\x46\x41\x3d\x1e\xb0\xfa\xd8\x8c\x0e\x93\x85\x93\xb4\x3b\x5e\xe0\xe4\x28\x5d\x4d\xdd\xf5\x29\x5d\xbf\x1a\x3d\xdb\xe9\xf4\x13\x4d\xd7\x6d\x3d\xe7\x04\x62\xc2\xf0\x4f\xe0\xae\xbd\xf5\x9a"}, -{{0x97,0x76,0xa4,0x67,0xfa,0x14,0x00,0x73,0x54,0x12,0xa7,0x9b,0x49,0x5f,0x9f,0xca,0x07,0x8c,0xe1,0xd8,0x7a,0x85,0x30,0xd8,0x5c,0x26,0x05,0x5d,0x3a,0x39,0x44,0x88,},{0xc7,0xdb,0xe0,0xe4,0x1c,0x0a,0x31,0xc0,0x94,0x27,0x93,0xff,0xd1,0x42,0xd8,0xb9,0x5c,0xc8,0x2e,0x5c,0xaa,0x92,0xa3,0x79,0xba,0x23,0xf6,0x44,0xed,0xf2,0x24,0xda,},{0xe1,0x31,0x7b,0xa2,0xa1,0x23,0xae,0x3b,0x29,0xe7,0xb6,0x0e,0x8e,0x93,0xbe,0xed,0xd7,0xa0,0x84,0x51,0xa0,0x13,0x69,0x5b,0x6d,0xcf,0x35,0x8e,0x40,0x34,0x02,0x6d,0xc7,0x40,0x37,0xaf,0xbd,0xd2,0x17,0xff,0x4b,0x14,0x8b,0x02,0x91,0x38,0xf4,0xbc,0xc8,0xf9,0x83,0x6a,0xbb,0xae,0x7e,0x62,0x76,0xe9,0xe7,0x69,0xdb,0xd8,0xf0,0x07,},"\xd7\x85\x53\xa1\xb7\x05\x5b\x58\xb2\x13\x10\x1b\x1c\x84\xc5\x3e\x16\x4e\x39\xc6\xe9\xd3\x6d\xb4\x3f\x30\xe1\x9e\x2a\x12\x5a\x9a\x67\x70\x9e\xaf\xef\x96\x4f\xa5\xba\xb7\x26\x1d\xdb\x3a\x8a\x01\x88\x45\x7d\xfb\xf5\x15\x9c\x40\xe5\x1d\xa8\x20\x84\x83\x24\x57\x81\xd7\x13\x1e\x23\xa8\xbe\xe5\xe5\x06\x33\x18\x16\xb9\xde\xee\xfe\x6e\x55\x6e\x3f\x0c\x95\xc6\x68\xd1\xbe\xdb\x7d\xa6\x35\x06\x54\x58\xad\x20\x46\x70\x12\xf5\x9f\x17\x13\x52\x06\x80\x20\xce\x3c\x75\x87\x86\x93\xf6\x43\x7b\xc4\xa0\x9f\x13\xb9\xb0\xf0\xcd\xda\xf1\x69\x1b\x87\x2f\x82\x00\x80\x93\xeb\xfb\xe2\x33\xd0\x31\x3e\x72\xc8\x63\x2d\x7d\x17\x93\xf0\xb8\x1c\x76\x88\xf5\x44\x70\x33\x0f\x04\xe6\x48\x60\xe6\x44\x6b\xfc\x6d\x96\xc8\x75\x69\xbf\x18\x2f\x0f\x43\x85\xaf\x48\x5d\x42\x99\xca\xc0\x4e\x06\xba\x47\x34\x65\x56\x6c\x47\x7f\x07\xb9\xdb\x27\x7a\xb4\xa9\xde\x2f\xb2\xde\xd0\xa5\x01\x1c\xd0\x6d\x67\x5c\x08\x00\xb3\x4f\x55\xbc\xf3\xec\x72\xd2\x1c\xa1\x50\xc8\xbf\x23\x61\x28\x7b\xe8\x1e\xfa\xbb\x96\xd8\x68\x8a\x1d\xee\x3f\x43\x0f\x06\xf6\x37\xdf\xd0\x6f\x15\x14\x64\xa0\x5c\x95\xf5\xfe\x76\xaf\x2e\x06\xd0\x12\x3f\x69\x48\xa2\x6b\x3b\xe8\x35\x04\x5a\xa2\x68\xcc\x1b\xe9\x76\x69\x71\x07\x77\x02\x08\xa7\x56\x8f\x02\x5c\x2d\x53\xc7\x19\xe5\x24\xcc\x36\x9d\x9b\x4a\x33\x7d\x8f\xd1\xef\x34\x5b\x9b\xca\x57\xfb\xd7\xb6\x5a\x6b\x99\x7c\xad\x3f\xce\x4c\xf0\x6f\x2c\xa4\x3e\xbe\x29\x86\xd0\x96\x82\xd4\x7c\x92\x2b\x2c\xb7\x56\x9d\x98\xde\x97\xa6\x16\x4f\x54\x70\xee\xc7\x1c\xed\xa5\x20\xcc\xec\x77\x32\xbd\x01\x68\x9e\xf8\x16\x56\xe9\xf6\xd0\xc5\x8a\x89\x55\x58\xae\xe8\x63\xf5\x46\x9e\x7a\xb9\x79\x15\xbf\xe0\xb8\x0a\x06\x4c\x65\x9b\x18\x30\x31\xf7\xf1\xa8\x6f\xb1\x1a\x9d\x52\x8c\x28\x15\xdc\xaa\x2f\x0d\xec\x3d\x21\xa8\x82\xe1\x06\xe2\x04\x93\xee\x0a\xcb\x77\x08\xea\xa2\x91\x25\x74\xae\x97\xbb\x28\x8b\x41\xfc\x09\x25\x05\x3a\x29\xb0\xbf\xbc\x0e\xba\xe8\xd6\x3c\xc0\xb4\x6e\x37\x38\x04\x6c\x5a\x20\x25\x30\xbc\xb1\x5b\x18\x7a\x72\x85\x4a\xa2\xd8\xa7\xa7\x6c\x89\xa8\x9a\x5d\xb4\x60\x32\x07\x4e\x1b\xd7\xde\x77\xef\x20\x65\xa0\x8f\x38\x9d\x78\x3c\xf7\x59\xeb\xd5\xa6\x3a\x44\xd9\x19\xf9\x48\xf5\x60\xc3\xe9\x4c\x42\x39\xe2\x74\xe0\x51\xa2\x04\x85\xa4\x30\xcb\xd5\x29\xf3\x13\xd9\xf7\xed\x67\x9a\x34\x18\x7b\x24\xf8\x41\x30\x87\xa9\x02\x1e\x47\x31\x73\x0f\x5f\x46\x1f\xc5\xaa\xd6\x65\x4d\xfa\x1c\x05\x04\xd2\x61\x24\x70\x7e\x63\xee\x57\xf9\x31\xb2\x78\x59\x08\xf8\x6b\x10\x4b\x3e\xcb\x96\x00\x02\x51\xd0\x6c\xe1\xfa\x45\xe4\xcd\x6d\xf9\x1a\xc1\x5b\xbf\x7c\xa3\xc3\xeb\x8e\xe0\x82\x76\x12\xa2\x9e\xcb\x7a\x36\xd5\x47\x0c\x40\x50\x51\x82\xfa\x9a\xc9\x13\x57\x0d\x0c\x10\x50\xd9\xa4\x34\x55\xcb\x7b\xdc\x17\xd1\x69\x80\x5f\x01\x89\x56\xf8\x54\xf8\x91\x9b\xbf\xb7\x19\xe1\x86\x7b\x36\xa6\x4a\xab\xcd\xb8\x07\xf4\x8d\xcc\xc0\x67\x2f\x67\x88\x74\x50\xb3\xf3\xe9\x58\xd7\x84\x99\xe0\xd1\xab\x36\x8a\xa4\x94\x42\xe5\xe8\xa3\x32\xbf\xfd\x44\xc1\x69\xea\x67\x62\x9c\x85\x72\x4d\xb6\xf1\x58\x6b\x6c\x6b\x5b\xe4\x86\x4d\xfd\x53\xda\x7c\x0f\x7b\x8b\xb3\x57\x31\x16\xbe\x50\x77\xd3\x32\xbd\x12\xa6\x30\x0f\x3a\x68\xa8\x98\x66\xb4\x79\xec\x2b\xaa\x27\x7f\x9f\x56\xf6\xe1\xd4\x9d\x74\x1e\xb3\x22\x03\x5f\xf8\xcb\x1d\xe8\x5c\x8d\xc8\x7a\xc8\xe6\xe4\xc5\xd2\x0b\xfb\x6d\x31\x7a\xb1\x25\x93\x0c\x42\x60\x9b\xe3\xae\x82\x24\x2a\x9e\xf0\x56\x88\x58\xd8"}, -{{0x09,0xd8,0x12,0x26,0x97,0x12,0x6d,0xfc,0x7e,0x11,0x68,0x5a,0x04,0x12,0x3f,0xdf,0xb4,0x7c,0xcd,0xdb,0x44,0x99,0xd8,0xa3,0xae,0xf4,0x18,0xcb,0x65,0xae,0xd7,0xa7,},{0xf8,0xdd,0xb1,0xc0,0x0f,0x6e,0x0f,0x4b,0xea,0xa6,0xfc,0x38,0xe5,0xd0,0xa5,0x77,0x5e,0xe2,0x8c,0x80,0xdb,0xde,0x3f,0x0c,0x79,0x30,0xa3,0x3a,0xad,0x71,0x50,0xf3,},{0x18,0xcf,0xaf,0x6d,0xc8,0xe4,0xe8,0x58,0x2b,0xce,0xfe,0x0c,0xdc,0x6f,0xce,0xfe,0x6a,0x4a,0x87,0xea,0x62,0x95,0x85,0xf3,0x7d,0x2f,0xba,0x44,0x6b,0x3a,0xeb,0xd4,0x52,0x42,0x63,0x82,0xda,0x0d,0x49,0x1c,0x39,0xcb,0x7d,0x54,0xd2,0x73,0x00,0x5d,0xc1,0x32,0x12,0x15,0x68,0xd2,0xab,0x67,0x45,0x20,0xad,0xda,0x75,0x23,0x84,0x0d,},"\xa0\xd8\xd8\x79\x8e\xba\x22\xf5\x67\x60\xc3\x06\x43\xe9\xfc\x67\x95\x54\x7e\xa5\xf2\xf2\xbb\xd1\x1c\x03\x92\xb2\xeb\xf7\x11\xac\xa2\x2f\x08\x24\x19\x9f\xc3\x18\x8a\x45\xbd\xff\xde\x70\xec\xe9\xab\x15\xa5\xea\x89\x62\x2a\x58\x71\xe0\xef\x76\x85\xd1\x0f\x12\x74\xcc\x19\x5b\x4f\xda\x81\xf8\x79\xd1\xe9\xbf\x42\xf8\x73\xb2\x0a\x85\x9c\x23\x3f\x9e\x49\xad\xbf\x05\x77\x31\xe1\x13\x35\xe9\xb6\xd8\xed\x0e\x06\x9e\x13\x4e\xc4\x61\xca\x88\x90\xd7\xb0\x47\x3c\x40\x5e\x8a\x9d\x95\xd1\x57\x11\xb1\x24\x76\x10\x37\x62\xc6\x26\xd9\xf2\xaa\x5d\xd5\x19\xbd\x82\x5b\x60\xb3\x23\x4e\xbf\x65\x1e\x0d\x19\x33\x37\x1c\x52\xbf\xd8\xce\x33\xfc\x36\xbb\xa3\x28\xf7\xf3\xf2\xcc\xc0\x10\x00\xa8\x99\x04\xaf\x37\xe4\xe1\xe9\xe1\x5f\xff\xab\x5c\x2b\x0c\x47\xf3\x7c\xdc\xb0\x68\xdb\x33\xac\x36\xa5\xf0\xd6\xde\x12\x03\xfb\xf8\x94\x93\x24\xbd\x3e\xfd\xa0\xf9\x88\x9d\xb0\x0d\xa2\x31\x7b\x49\xfd\x18\x69\x99\xdf\x7f\xcd\xc3\xcb\x4e\x1d\x18\xfa\xa2\x54\x56\x1c\x25\x11\x78\xb8\xd3\x3f\xdc\x9d\xcc\xd8\xd2\xd7\x21\xb9\x3a\x53\x6c\xcd\x3c\x0e\x9c\x85\x63\x37\xf1\x95\xee\xe7\xda\x9a\x7f\x6b\x0a\x42\xb7\xc5\x41\xc6\xa6\x8c\x59\x5b\xf3\x47\x04\xd9\xfe\x3a\x56\xd2\xec\x84\x81\xd5\x77\xc9\x6e\xcc\x08\xb8\xe4\x0a\xcd\xbf\x05\x0e\x20\xc6\x83\xf3\x9c\x41\x4e\x8c\xbf\xcf\x4a\x01\x52\x31\x4c\x05\x98\x7a\x83\xbd\xe3\x02\x5b\x73\x5c\xca\x30\x23\xab\xc5\xfe\xb7\xe0\x0d\x02\x36\xb4\xf2\x4b\x15\xe6\x79\xdb\x05\x2c\x8d\x2f\xdd\xb3\xbe\xf8\x66\x3a\x6d\xf8\x19\xa9\x81\x55\x27\xa1\xa2\xf6\x0a\x0f\xa4\xe5\x07\x8d\xdc\x6d\x43\x5f\xe8\x92\x87\xb3\x0f\xfd\xeb\x5d\x9a\xe0\x5d\x1a\x86\x90\xfb\xc7\x59\x0a\xad\x57\xd4\x3d\x22\xc1\x2a\xce\x2c\x81\x96\x88\x8e\x35\x4e\x9f\x78\x2f\x5d\xbb\x44\x14\x9e\x83\xfb\x8b\xbc\x9d\xa6\xd8\x9c\xe2\x06\xc1\xe2\xb6\xb2\xb2\x8f\x93\x3f\x3e\x5f\xf1\x17\x5a\x31\xa8\xff\x5d\x31\xe6\x5c\x8b\x00\xc5\xba\x46\x22\x24\xa1\xe0\x9d\x4f\x09\xcb\x40\xfc\x87\xc3\x6e\x7d\x28\x5c\x77\x4a\x96\x97\x62\x03\x65\x18\x28\xe7\x83\x62\x88\x47\xac\x51\x2e\x5d\x1c\x35\xb3\x5b\x03\x01\x71\xf9\x23\x96\xf5\xff\xaf\xf5\x85\xce\xad\x04\xb6\xae\x21\x0d\x80\x70\x7c\xc6\x83\x2d\x98\xa2\x0d\x3a\x94\x76\x48\xda\x26\x04\x93\x7f\xef\xd2\x5a\x9f\xe0\xfc\x5c\xac\x08\x3d\xdd\x7d\x20\x75\x30\x7f\x4f\x38\x26\x64\xf6\x87\xdc\xe8\xc6\x55\xde\xd9\xc1\x2d\x48\xff\x76\x01\xdf\x2a\x48\xd3\x7f\xe2\x14\x97\x08\x44\xc0\x75\xf2\xea\xb0\x02\x05\x9f\xc2\x27\x1e\x61\x7c\x96\x57\xa0\x1b\xec\x1d\xd3\x8f\x6c\x28\xba\x8a\x61\x7b\xd3\x08\x51\xe3\xf9\xdb\xac\x90\x44\x18\xdf\x1d\x02\x15\xad\x45\xdf\xc9\xf0\x2b\x5c\x5e\x9f\x9b\xbc\x6d\xe8\xb0\x7a\xf0\xbd\x1f\x7f\xa8\x92\x25\x44\xf1\x2d\x2a\x3e\x1a\xad\xff\x7e\x9c\x6b\x93\x32\x0c\x3a\x61\xef\x33\xda\x07\xeb\x87\xb1\x61\x7f\x9e\x77\xd7\x70\x2e\x55\x8b\xc7\xd8\x12\x2e\x0d\xfe\x2a\xe8\x3e\x83\x6c\x5b\x1a\x62\xaa\x58\x5c\x0d\xff\xe7\x16\xf7\x46\x3c\x0b\x33\xda\x5b\x1e\xda\x55\x6a\x1e\xf1\xe4\x50\x42\xc7\x9b\xdd\x3e\xc3\xcb\x88\x63\xa7\xbc\x1b\x0f\x7e\x1c\x05\xbd\x99\x20\xf0\x5b\x4e\xda\x86\x51\x77\x05\xed\x07\xf6\xdc\xa7\xbb\x00\xae\x04\x56\xe6\x78\x7d\x9f\xae\x8e\xde\x4e\xcd\x0b\xc5\x72\xeb\x5c\xc6\xd1\x9e\x89\x1f\x1b\xcb\x22\x9e\x94\x09\xe0\x65\x74\xc7\xdf\x05\x81\x73\xcb\x58\xc3\xfd\xf2\x0f\x3f\xf1\x7c\x37\x05\xaf\x62\xd9\xb7\x22\x5c\x57\x43\xf6\x00\x60\x7f\x77\xcb\xe7\xd6\xe7\x61\x8a\xbc\x79"}, -{{0x10,0x20,0x1b,0xf0,0x08,0x43,0x67,0x59,0x0d,0xe6,0x74,0xcc,0x0e,0xd2,0x64,0x8e,0xc2,0x5d,0x3b,0xa8,0xdb,0x40,0xd0,0x0e,0xde,0x15,0x33,0x98,0x50,0x8b,0xc1,0x26,},{0xba,0xdb,0xd0,0x5e,0x5f,0x79,0xe3,0x11,0x69,0xf7,0x40,0xba,0x46,0xa5,0x89,0x10,0xa1,0xb7,0x77,0x05,0xaf,0x45,0x71,0x7b,0x2a,0xf8,0x08,0x56,0x45,0x7c,0x58,0xc9,},{0xf1,0xd9,0x96,0x58,0x8b,0x29,0x8f,0x27,0x1e,0x97,0x0c,0xeb,0xd2,0xa1,0xb3,0x39,0x97,0x9c,0xd2,0x9d,0xdd,0xee,0x36,0x45,0xd0,0x7f,0xab,0x8a,0xb4,0x65,0xdd,0xe3,0xe9,0x86,0x67,0xec,0x01,0xad,0x7f,0x1c,0x0a,0x65,0x92,0xe0,0x69,0x7e,0x66,0x5c,0x72,0xfd,0x38,0x14,0xdb,0xe1,0x89,0xed,0x5f,0x4e,0x76,0xc7,0x94,0xe5,0x38,0x09,},"\x7b\xb1\x47\x06\x17\xd1\x1e\x45\xeb\x60\x2a\x82\x9a\xd7\x73\xee\x2b\xb7\xe6\xb8\x8d\xa4\xc0\x4a\x72\x16\xa4\x50\xf8\x49\x93\xa4\x98\xcb\xd3\xb9\x25\x40\x28\xf2\xf9\x9f\xc2\x1a\x23\x28\x8b\xdc\x1e\x15\x1a\x72\xa9\x13\x0c\x3d\xed\xda\x1b\xbb\xcc\xd4\xe6\xc0\xf4\x8a\xe9\xf3\x53\x18\xcb\xef\xc9\x59\xf4\x05\x04\x5e\x6e\x0b\x5f\xb2\xe7\x38\xf2\xb7\x65\xbe\x11\xb1\xb6\xa0\xf1\xe8\x31\x95\x49\xd9\x5f\xa8\xd1\xdf\x81\x67\xcd\x4a\x77\x17\xae\x16\x36\xa9\xdf\x54\xd9\x6e\xaf\x2d\x63\x23\x69\x00\xfd\x11\x33\x82\x52\xa5\x00\x8d\x5d\x48\x0e\x2b\x1e\x98\x61\xd1\xf7\x06\x88\xc4\x7e\xae\x46\x89\xda\x01\xa4\x7d\xa3\xdf\xb6\xd2\xba\xb3\xcd\xf5\x05\xee\x5d\x80\x1a\x15\x2c\x26\x70\x93\xd1\x7e\x9b\xf7\x13\x7a\x6e\xe7\xb8\x34\xd0\x08\x55\x00\xe4\x01\xc1\x7f\x32\x86\xc1\x57\x5d\x1c\x01\x00\xfa\x98\x07\x63\x0c\x4a\x99\x06\x54\xc1\xe7\x1a\x8b\x71\x56\x27\xbb\x13\xd4\x42\xc8\x4a\x44\x98\x44\xc4\x04\xb8\x72\xbf\xba\xc7\x18\xa4\x8d\x0e\xa0\x94\x5c\x77\x16\x6a\x53\x13\x9b\x0f\xf0\x09\x81\x34\x76\x4f\x9e\xcd\xb8\x8e\xab\xe0\x7c\xcb\x2c\xce\xd4\x95\x5e\x08\x24\x9b\x2f\x57\x70\xad\x41\xfc\xcd\x7b\x5b\xb3\x72\xe6\xc3\x37\x67\xe0\x7f\x5b\xe7\xd1\x07\x12\xde\x81\x84\x1b\x13\x4e\x19\x3d\xf0\x77\x6a\x0f\xc1\x56\xff\x5d\x0e\x96\xf4\x0a\x70\x47\x53\xe1\x14\x5e\x9f\xa0\x83\xc4\xdd\xee\xf4\x41\x62\x34\xf6\xe1\xa2\x38\x2c\x8e\x5b\x3a\xd4\x05\x45\x8e\x89\xd2\xf4\x93\xa4\xd7\xc2\x9a\x23\xde\x21\x07\x48\x5b\x7f\x56\x35\x01\x24\xe7\xe0\xd6\x95\xc5\x22\xb6\xde\x7a\x92\x47\xa2\x92\x4c\xe6\xf2\x86\x32\x36\xc1\x0c\xc2\x12\x64\xad\x54\x59\x0d\x31\x47\x63\xea\x1a\x19\xaf\xac\xd9\x0e\xba\x95\x58\x70\x40\x7e\x8c\x63\x65\xa1\x43\xa5\xc1\xb9\xa8\xbe\x5e\x4a\x4d\xca\xdb\x72\xe0\xd4\x76\x49\xbd\x53\xab\xd4\x6b\x5c\x69\x60\xea\xe2\xca\xb7\x73\x75\x3c\xc0\xe0\x4e\x99\x41\x4b\xc2\xcb\x30\xf4\x8b\xb5\x41\x39\xd0\x66\xe4\x3e\x2f\x0e\x1a\x4a\xe9\x63\x85\x8b\xef\x96\x7d\xf8\xc8\x41\x40\xd2\xd0\x92\x02\xb4\x06\xd5\xd8\x5c\xb7\xa9\x6c\xc5\x7f\x23\x3e\xb2\x18\x7f\xfd\x02\xf9\x4e\x92\x29\x7b\x5e\x69\xd9\x69\xd3\xa5\x93\x6e\xfe\x49\x29\x14\x4f\x25\x8b\xfb\x39\xdd\x0c\xe2\x63\x59\xc4\x54\x9f\xc2\x18\xa0\xaa\x54\xf3\x1b\xd5\x51\xb8\x78\x1a\xcb\xbf\x61\xcb\x3f\x73\x2c\xda\xf6\x22\xc6\xa6\x91\x88\xcf\x55\x7a\x3a\x92\xed\x15\x3e\x69\x12\x5a\x40\x90\xac\x45\x15\x36\xa0\xe9\xa6\x3a\x41\x78\x29\x10\xff\xcc\xb4\xe8\x50\x02\x11\x23\xff\xd1\xf3\xbf\x39\xc7\x34\x60\xa6\x5c\xcf\xe4\xdb\xa9\xbd\xef\xb5\xd5\xf4\xda\x6c\x46\x9a\xa1\x32\x2f\xa2\x70\x43\x23\x83\x63\xee\x72\x91\x86\x88\xd7\xca\x1c\x4c\x29\x52\xe4\x30\xd5\x63\x25\x6b\xb8\x6d\x35\x0a\x35\xee\x82\xe0\x15\x04\x74\x7f\x31\xd0\x2e\x03\xae\xdd\xa5\x46\xd0\xf1\xb2\xf4\x51\xb8\x70\x82\x16\x02\xd0\x0e\x81\x90\x36\xad\xe5\xa7\xc7\xfc\xd2\x1a\x6d\xe6\xaf\x35\xb1\xf9\x63\x2a\x70\xaf\x65\xdf\x64\x45\xf6\xfa\xdf\xbc\x0f\x41\x67\x55\xc8\x24\x66\x40\xe5\x6b\x85\x6b\x66\xdd\xd9\x2a\x60\xc0\x35\x38\x22\x1d\xc8\xfb\x14\x2c\xe2\xdb\xac\xdb\x74\x25\xf3\x3c\xb8\x5d\x85\x0c\xc0\x2c\x31\x5c\xfc\x11\x1f\x6f\x65\x1d\xde\x1b\xdb\x67\xfb\x20\x8e\x1f\x6b\xde\x78\x4d\xdc\xf7\xbd\x18\xc8\x05\x1a\x2e\x0b\xbf\x10\x18\xb8\xf3\x95\x36\xc5\x89\xde\x65\xea\xdc\x6c\xf3\x79\xb7\x7c\xad\x13\xf9\x08\x9c\xb3\x23\xfb\x2e\x94\x3d\x06\xcd\xd1\x07\x05\xc1\x21\x13\x4c\x65\x48\xdc\x53\x41\x5f\x8c\x37\x0e\xc6\x90"}, -{{0xc4,0xaa,0x42,0x52,0x46,0xb5,0x17,0x3f,0x5e,0xf8,0x98,0x15,0x2e,0xca,0x3d,0x09,0x2b,0xb4,0xc2,0xdd,0x02,0x85,0x3f,0xcf,0xc7,0x17,0x83,0x99,0xf4,0xe2,0xf7,0x58,},{0x29,0xb7,0x7a,0x30,0x75,0xf4,0x19,0x24,0x3c,0x0c,0x1b,0xc3,0x96,0x59,0xd7,0x31,0x17,0xac,0x00,0xe5,0x5e,0x8d,0xe3,0x8f,0xe9,0x82,0x9a,0x87,0x9c,0xc5,0xb8,0xa0,},{0x5d,0x85,0x45,0xa4,0xbe,0x3f,0xd6,0xda,0x25,0x78,0xc2,0xec,0xcb,0x64,0x8d,0x83,0xfc,0xfe,0x58,0x71,0x33,0xfa,0x7a,0xe4,0xa1,0xcf,0xca,0x9a,0xe6,0xda,0xa4,0x92,0x59,0xc9,0x52,0x04,0x4a,0x85,0xa2,0x0b,0x6f,0x53,0x24,0xf8,0x27,0xdb,0xa2,0xd1,0xa8,0x38,0x8c,0x40,0xa9,0x28,0xb9,0x50,0x91,0x3c,0x63,0x4f,0xb3,0x09,0x27,0x07,},"\x7d\xf9\x78\xa1\xf4\x97\x68\x38\xff\xed\x74\x49\xa4\xdc\x13\x8b\x60\x4f\x4b\x2a\x4a\xe6\x89\xce\x75\x01\x8e\xbc\xcd\xab\x2e\xaa\x0b\x60\x76\x8f\x72\x08\x25\x7f\x2b\x28\xe7\xaa\x09\xbf\x6c\x05\x88\x8d\xa4\x6f\xd3\x96\xd1\xc8\x03\x01\x17\x50\xe3\x0e\xb4\x84\x87\x0c\x88\x06\x97\x76\x96\xf1\x2e\xbb\x9f\xee\xb4\xca\xf9\x2a\x02\xdb\xaa\x22\xbb\xff\x63\xf8\x42\xc3\xba\x14\x7b\xca\x7c\x00\x31\x42\x78\xac\xd0\xdb\x17\x35\x69\xf4\xe3\x65\x27\x95\x8e\xf6\xf1\x00\x2b\xd3\xcd\x01\xf4\x07\xa8\x65\x31\xed\xcb\xd9\xf3\x1b\x3a\x4a\xb8\x80\xa4\xf5\xb5\x2b\x42\xd0\xd4\xa1\xba\x66\xa2\x09\x86\x51\xae\x3e\x6c\x91\x51\xf4\x02\x73\x28\x5f\x7f\x6a\x4e\x81\x60\x6b\xf9\x80\xf6\x89\x50\x4b\x42\x08\x0f\xdb\x97\xc7\x28\x46\xfb\xa9\x04\x7c\x7e\x66\x0b\xa5\xc6\xbf\x12\x6a\x9a\x59\x9e\x25\x71\xfa\x13\x50\x5a\xf7\x58\x1b\xfe\xbc\x16\x51\x3f\x5c\x94\xdc\x71\x93\x7e\x6e\x61\xb3\xea\x10\x93\x9b\x02\xea\x10\x85\x9f\x32\xd7\x91\x2b\x9e\x38\x06\xab\xef\x61\x85\xfc\xff\xa6\x88\x21\x47\x80\x05\xcb\xfc\x1d\x63\x7d\xd0\x20\x42\x56\x20\xa3\x18\x07\x48\x98\xbd\xc3\x09\x31\xc5\x9a\xc0\xc6\x6c\x4d\x12\x38\xb0\x97\xcd\x5b\x17\x0f\x08\x44\x35\xd4\xba\xe4\x8a\x03\xd9\x2f\xd4\x8f\xc2\xca\xa4\xff\xc5\x05\xf1\xbc\xa5\x16\xfb\xd6\xe4\xf8\x88\xcc\xed\x98\x2a\xe0\xdd\xb8\x8f\xc2\x8a\xa6\x97\xb7\x07\x1d\x01\x5b\x0a\xcb\x28\x09\xb0\x1d\x1d\x9c\x7e\x7b\x53\xee\xe6\x82\x4c\xc3\x7c\xce\x5b\x69\x93\xd8\x8d\x83\xea\xfc\x2e\x92\x8a\x6f\x14\x7d\xb6\xeb\x80\xb1\xa6\x9f\x01\x60\x5b\x04\x6b\xd2\xfd\x1d\x92\xc5\x45\x9d\x6d\x33\x98\xa9\xca\xa2\x99\xdd\xd0\xc3\xba\x2e\x08\x94\x13\x07\xb1\x20\xcc\x13\x99\x2f\x70\x03\xac\xed\x14\xa4\xa4\xd9\x23\xbb\xb1\x2f\xc3\x93\xff\xcf\x92\x0b\x9f\x6d\x47\x75\xe9\x4d\x4a\x51\x22\x67\xfd\x26\xa6\x99\x7c\x60\x62\xb4\xc9\x90\x0f\x98\x62\xb9\xea\x0c\x8d\x7d\xf1\x9f\x05\xc2\xb6\x04\xaf\x5b\x98\x64\xfb\x27\x54\xa8\x07\x3b\xbb\xfb\x18\x23\x3e\x6e\x15\x0f\x72\xa5\x25\xe3\xa5\x76\x0f\xcd\xa7\xd3\x2a\x60\x03\x4f\x95\x6e\x3c\xbd\x34\x36\xc2\x00\x83\x0b\x3e\x7a\x14\x57\x12\x20\xbc\xb6\x27\xd5\xa4\xbe\x72\xc2\x0b\x23\x35\x1b\x2d\x92\x06\x02\xa5\x1c\x3e\xb3\x2c\x12\x37\x03\x9d\xfb\xff\x43\xc9\x87\xfd\x85\x63\x77\x7f\x0e\x5a\x39\xf8\x14\x6c\x16\x4b\xdf\xfc\xe4\x4f\x3b\x13\xee\x74\xd6\x4b\xfd\xcf\x98\x03\xf0\x3d\xd0\x17\x2a\xc4\xfa\x4b\xf6\xc7\x83\x9c\xb1\x1f\x3d\x34\xba\xef\x0e\x32\xb5\x49\x42\xfc\x4f\xa3\x8f\x47\x3e\x29\x66\xf4\x91\x1c\x0e\x80\xd7\x69\x37\xb2\x5b\x76\x32\x27\x5b\xa8\x83\x09\x63\x5a\x60\xdf\x13\x54\x89\x20\x8d\x3e\x73\x4b\x67\x2e\xda\x7d\x2b\xa2\x15\x79\xab\xa8\xd8\x86\x0e\xa7\x64\xfd\x67\xea\xf9\xc3\x8e\xa7\x63\x7d\x1b\xad\x57\xb2\xf3\xd7\x82\xb9\x1e\x1d\x5d\x92\xac\x30\x0b\xdb\xa7\xab\x91\x13\xce\x91\x3d\x0c\x79\x3c\x12\xa9\xa7\x26\xe3\xfc\xab\x05\xcb\x47\x99\x77\x87\x16\x40\x63\x0d\x45\x9e\x69\xe8\x1c\xa5\xcf\x56\xdd\xb2\xa0\x61\x1d\x61\xd4\x81\xc1\xb8\xce\xf3\x80\x4b\xd4\xe5\x75\x4a\x61\xeb\x49\xb1\x7e\xf2\xb0\x3c\x83\x05\x7b\x5d\x20\xd8\x82\x05\x8c\x00\xf5\x4b\x6c\xca\x86\xbe\x95\x35\x0d\xd7\xbc\xb2\x5e\x4c\x1c\x46\x58\xf4\x52\x29\xc8\xbb\x9f\x5c\xdf\xcc\x44\x79\x5c\x97\x8e\x33\x88\xd3\x25\x76\x01\x06\xe5\x2b\xe9\x83\x4b\xd8\x1f\xfc\x5c\x62\x48\x6b\x6f\x33\xc2\x74\x59\xdf\x17\x8e\xb9\x46\xe7\xa8\x2d\xb9\xce\x0d\x29\x5b\x92\x5b\xb6\x12\x6d\xd5\x5c\x31\xf4\x9a\x68\xdc\xef\xc7"}, -{{0xf1,0x3c,0xaf,0xde,0x6f,0x39,0xb9,0x63,0xdc,0xa9,0x66,0x26,0x86,0x2f,0x4f,0xbc,0x5c,0x2e,0x00,0xdd,0xf0,0x8b,0xec,0xea,0xc7,0xa6,0xe2,0xfc,0xa9,0xe1,0xcc,0xf7,},{0xc1,0xb0,0x1a,0x91,0xe8,0xee,0x0b,0x9f,0x19,0xa7,0x2e,0x5e,0x7e,0x0a,0xef,0xcf,0xdc,0x44,0xa1,0x57,0x47,0x4e,0x99,0xfe,0xeb,0xd0,0xff,0x55,0x2d,0x73,0xb2,0xac,},{0x6c,0xa9,0xf8,0x0a,0x62,0x50,0x1f,0xaf,0x31,0x9f,0xb8,0x4a,0xf4,0x71,0xf6,0x76,0xae,0x3f,0xff,0x85,0x56,0x5c,0x97,0x98,0x1f,0x14,0x57,0xcb,0xb8,0xc4,0x9f,0x97,0xb2,0x66,0x31,0x6a,0x99,0x2d,0xb0,0xd4,0x2b,0xc5,0x02,0xf0,0x95,0xa5,0xf2,0xd9,0xa4,0xe1,0xcf,0xac,0x0c,0xc9,0x35,0xd3,0x88,0x2c,0x8a,0x3a,0x0e,0xa6,0xe1,0x0e,},"\x2b\xee\x73\xb7\x4f\x1b\x76\x22\xeb\x09\x6a\x28\xd8\x3a\x81\x9b\xce\xc2\x2d\x99\x99\xa3\x20\x62\x10\x3d\x60\x4a\xe6\xd7\x8e\xdf\x8f\x89\x38\x95\xd2\x22\x0a\xb7\x56\x90\x41\x0c\x58\xaa\xb5\x90\xa9\x8d\xdf\xf2\x3a\x94\xd2\x35\x0f\x88\x9e\x53\x46\x42\x00\xa5\x27\xd5\x4d\x62\x57\x11\x07\xb2\x7e\x57\x4f\x54\x2e\xba\xc2\x49\xb8\xe2\xe3\xce\x08\xd1\xbd\x27\xbd\x8d\x29\xf2\xe6\x12\x43\xde\xef\x0e\x69\x38\xe5\x2e\xe2\x99\x2f\xf2\x18\x7d\x7a\x7f\x52\x82\xed\xd9\x8f\xc4\x98\x5b\x61\x9a\xcb\x80\xaa\x9d\x03\xd6\xcb\x84\xb8\x21\x10\x6f\x40\xd6\xe5\xf4\xc3\x87\xab\x0a\xf6\xf2\x06\x61\x5d\x0a\x17\x5f\x7e\x60\xee\x27\x55\xae\xa3\x46\x75\xfd\xd8\x23\xeb\x24\x10\x9a\x9b\xd8\x18\xea\x2d\x9d\x9b\xd1\x99\xcf\x8d\xfe\x79\x62\x4b\x03\x72\xae\x85\xe9\x8c\x60\x20\x02\x34\xbd\x41\x3f\x4a\x62\xce\x68\xa4\x7b\x6c\x9b\x12\x85\x7c\x0d\x39\x9a\x44\x8e\x5a\x52\x80\xe9\xf2\x2f\x9b\x12\xea\x2c\xd3\xc6\x87\x13\xe7\x7d\x0a\x11\xf3\x62\x8d\x8e\xc5\xe0\x60\x63\x90\x31\xd3\xb6\x40\x02\x1c\x9c\x38\x80\x9d\xc5\xf4\x2d\x2e\x1c\x2e\x23\x46\xc8\x6e\x24\xee\xdc\x59\x84\xa1\x15\xa4\x2d\xe8\xde\x7e\x35\xc9\x91\x75\x39\xe8\x98\x85\xca\x91\x6e\x07\x2a\xfd\x5d\x46\x84\x6b\x2a\x93\x59\x61\xc2\xfe\x28\xe9\xeb\x3c\x8f\x89\x6b\x86\xfc\x12\x0c\xbd\x3a\xf2\xaa\x13\x9c\x49\x9d\x29\xcf\xc3\x69\x9d\xb7\x9c\x14\x48\x4e\x9e\xc2\x57\xa5\xf6\x43\x44\xb7\xad\x1e\x3d\xfb\x34\xee\xe7\x65\x4c\x6b\xf1\x2f\xd3\x8f\xbb\xa8\x0f\xe1\x76\x2a\xab\x57\x11\x2b\x3a\x94\xe2\xbe\xe7\x90\x41\xd1\xe8\x84\x40\xf8\x5f\xb7\x2d\xde\x68\xd4\x9e\x84\xbc\xed\x99\x8a\x2f\x63\x35\x44\x6e\x4a\x83\x5e\x70\xc5\xf8\x27\xfb\x3a\xd7\x82\x3d\x5f\xbe\x3b\xe5\xf6\xec\x7e\x43\x4e\xe5\x24\xcc\xd9\xff\x5b\x7e\x72\xa3\x2d\x09\x1a\x7e\x17\xc8\xb1\xae\x41\xa1\xaf\x31\x79\x3c\xce\x91\xd8\x4c\x36\x22\x67\x89\x69\xc8\xf5\x17\xdc\x26\xe3\xcd\x61\xd2\x44\x69\x12\x28\x3f\x93\x53\xbb\x5a\xd0\x3c\x11\x1c\x62\x33\xde\x31\x4c\x61\xb8\x31\xcb\xf3\x8b\x04\xfe\x58\xcf\x44\xf1\xd2\xd0\xb4\x5f\x25\xa6\xb4\xe0\x25\x68\x59\xcd\x5d\x83\x0f\xac\x5e\xc3\xc8\xd7\x63\x98\x55\x9e\x9b\x26\x01\x0f\x5e\x1d\xa5\xf2\x5d\x22\x00\x93\x54\x53\xff\xac\x5a\xea\x51\xf7\xe8\x1e\x72\xec\x8e\x5f\x04\xd2\xf8\x85\xc7\xb4\x5c\x63\xf6\x44\x56\xcf\xe2\x31\xb8\xcb\x24\xaa\x16\x20\xa9\x02\x63\x9c\xa7\x8d\xd3\x91\xaa\x4a\x3d\x03\xe1\x19\x75\xc8\x90\x7f\x96\x4f\xd5\x5d\xf9\xbb\xb1\x40\xe3\x8d\x6d\xb9\x32\x56\xb4\xb3\x9c\x2b\x7b\xcb\xe3\x5b\x11\x82\x6b\xbf\x8c\x08\xf1\xdc\xb4\x8e\xdc\x4b\xfb\x70\x46\x2a\x35\xea\x8c\xd8\xcb\xa7\x9f\xab\x8b\x4c\x44\xe7\x3b\xe7\xec\xfa\x11\x21\x66\xf6\xdc\xab\x70\xd8\xbb\x55\xd8\xb8\x42\x8c\x2d\xa7\x1a\xac\xa2\xfc\x3d\x90\xf3\xcc\x5e\xd0\x15\x51\x35\x8d\x60\x78\x9b\x9d\x57\x1e\xfe\x10\x89\x20\x27\xfa\x37\x40\x4a\xaf\x59\xec\x1c\x2d\x71\x11\xec\xc3\x59\x24\x67\xed\x1d\x9b\x8a\xba\x8e\x22\x9e\x32\xd2\xa0\x0c\x19\xdb\x71\x87\xfb\xcb\x12\x20\x61\x96\x1c\x1f\xda\xca\x30\x7e\x9c\x9c\x9d\xe9\x72\xad\x51\x40\x2f\xa6\x7d\xc1\xc2\xa4\x03\xb3\xc5\xe8\xb1\xe2\x46\x86\x2d\x6a\xd6\xa4\x98\xdb\x6d\x76\x1f\xb5\x66\xf6\x06\x59\x42\xb6\x0a\xd4\xb4\x30\x9d\x18\x2b\xc5\x15\x4c\xfc\x36\x86\x31\x85\xa8\x7e\x23\xab\xaa\x1d\x54\x1a\xb7\x63\xa4\xa1\x06\x6c\x0a\x7a\x8c\x3d\x82\x1a\xe3\x2f\xd3\x1c\x88\x92\x40\x10\x46\xd0\xa2\x0e\x91\xa6\x47\x79\xf4\xbd\xa8\x11\x20\xaf\x3f\xb3\x48\x6d\x3f\xc0\xa7"}, -{{0xc8,0x46,0x34,0x42,0x61,0xa3,0x48,0x65,0x39,0x38,0x34,0xbf,0xaa,0x3a,0x15,0xa3,0xf5,0x3a,0xc9,0xe1,0x38,0x33,0xb0,0xb2,0x87,0x12,0x27,0x81,0xb7,0x9d,0xe3,0x92,},{0xeb,0xad,0xe0,0x22,0x61,0x95,0xae,0x25,0x4b,0x61,0x15,0xe2,0x16,0x96,0xa9,0xc6,0x5a,0x19,0xd5,0xe0,0x40,0x44,0x31,0x31,0xc2,0x2b,0x89,0xf0,0x2f,0x69,0xab,0x78,},{0xd5,0xe4,0x1b,0x47,0xad,0x0f,0x34,0x00,0x70,0x97,0x70,0xed,0x43,0x91,0x9b,0xaf,0xdf,0x24,0x38,0x1b,0x66,0x15,0x44,0xe5,0x1d,0x8b,0x5c,0xee,0x9e,0x97,0xb3,0x67,0x6a,0x4c,0x0f,0xfa,0xeb,0xb2,0xcb,0xd2,0xdb,0x79,0x85,0x32,0xb6,0x5c,0xf6,0x54,0xa5,0xb6,0xc1,0x66,0xef,0x88,0x6c,0xb0,0xfb,0xbf,0x4a,0x4f,0x84,0x4c,0x44,0x0b,},"\x5a\xbd\x13\xe9\x5b\x6e\xe1\xd5\x51\x47\x68\x28\x22\x00\xa1\x4f\x7d\x1a\x57\x1f\x34\x68\xe2\x2e\xfe\xc9\x93\x46\x30\x66\xa3\x7a\xec\x83\x73\xe5\xfb\x49\x95\x64\x19\x1f\x32\x94\xa9\xb3\x0a\xfb\x5f\x1a\x34\xd4\xd8\x8a\xbc\x3e\x9b\xc3\x03\xc1\xab\xa0\x5b\xd8\xfa\xca\x90\xee\x35\xd9\x7a\xc3\xdd\x91\x06\xf6\xfa\x3c\xa8\x1a\x38\x10\xec\xce\xfa\x6a\x20\x9e\xa3\xf3\xfc\x30\x49\xdc\xb1\xb0\x03\xc7\x28\xf7\xf6\x37\x4c\xa9\x8c\x58\x2d\xe6\xdb\x1a\xf7\x60\xf0\xa0\x21\x33\xca\x4a\x01\x03\x24\x30\x4d\x26\xa0\xe5\x0a\xf0\xd1\x3c\x13\x4d\xa3\x4a\x03\xa4\x1e\x83\xec\x8f\x10\xea\x5b\x85\x9b\xec\x1f\x51\xb0\x1c\xab\xb2\xd1\x6c\x1f\xc5\x2b\x05\x8f\x8e\x5d\xef\xae\xde\x12\x81\x71\xc2\xe0\x26\x90\x23\x16\xf8\x71\xb3\x5e\x32\x92\x65\x6f\x0e\x5b\x39\xbb\xbc\x81\xd0\xc0\x83\x0e\x6a\xc0\x1f\xac\x9b\x45\x39\xf4\x7f\x9a\xcf\xbd\x58\xb7\xab\x9f\x5a\x12\x56\x00\xf2\x51\xa2\x71\xd7\xbf\x16\x7f\x29\x54\xca\x8e\x1e\x0c\x96\xe1\x6b\x06\xe8\x30\x7d\xf8\x8b\xb8\xe9\xd5\x7d\x5b\xa0\x44\xf2\x7f\x3e\xaf\xf8\x1d\x9f\x15\x05\x54\xaa\x71\x22\xfd\x10\xd1\x1f\x35\xd2\xbe\x2b\x16\x24\xe3\xe1\xa1\xd7\x7f\xea\x4c\x5c\x7f\x8b\x98\x3e\x94\x5b\xa8\xc0\x8d\xc1\x54\x5b\x3e\x6b\x29\x73\xad\x04\x1c\x44\xd0\x61\x7e\xcc\xc8\x71\xa3\x82\x1a\x9f\xfe\xa9\xdb\x7c\x2b\x0d\x05\x5d\xa5\x5d\xe0\xb3\x50\x63\xe4\x22\x5a\xee\x6b\x22\x5a\xb2\xa7\x90\x6a\x8e\xe3\x29\xd1\xb3\x97\x2e\x0d\x1f\x70\x81\x7c\x50\xcc\xfe\x94\x03\xd1\x2a\xd6\x2c\x94\x92\x3b\x9a\xa2\xd7\xf8\x5a\x8d\xda\x47\xbe\x4d\xce\xc0\xdc\x2b\x0b\x58\xf7\xac\x19\x0a\xe0\x57\x9b\x9b\x13\xbb\xb8\xb1\x6a\x31\xb0\xab\x4d\x6f\x27\x91\x25\x3a\xb4\x75\x1b\x53\x6b\x88\xd3\xb4\x93\x7c\xc3\xa1\x10\xaa\x82\xa6\xff\xed\x68\x53\x52\x4b\x66\xb3\xef\xfc\xd2\xf6\x3c\x6f\x96\x45\xce\xa1\x3a\xa2\x3c\xd1\xc9\x9d\x9f\xfd\xa4\xcd\x3a\x9c\x5d\xf4\x5e\xc7\x47\x26\xc3\x47\x11\x28\xb7\x08\x9f\xbd\x82\x69\x4d\x2d\x3f\x08\xdc\x93\x06\xc0\xfc\x9c\xe7\xc8\x01\x13\x8e\xb1\xec\xb7\x56\xe5\x71\xe9\x05\x9b\x75\xed\x03\xf9\x2a\x31\x50\x2f\xbe\xb5\xfe\xc5\x1d\xe9\x35\x90\x10\xc4\x39\x7d\x28\xb6\x5e\x35\x6e\x38\x00\x1d\x0d\x51\xac\x96\x00\x72\x8c\x78\xb5\x76\x6e\x0f\x21\x79\x38\xb4\x10\xe7\x85\xb4\xc0\x1e\x86\xa3\x45\x2b\xcb\x38\x84\xac\xa4\x75\x40\x85\x9c\xc4\x9b\x00\x0f\x0b\x61\xfd\xbe\x72\x75\x25\x74\xb2\x7a\x22\xd4\xc4\x04\x13\xa4\x3b\x31\x09\x24\xb1\xbb\x14\x0f\xc9\xfd\xaa\xe2\x66\xd6\x59\x30\xe3\xf2\x34\xfe\x84\x1d\x82\xb2\x61\x76\xff\x86\xc5\xd2\xbd\x8d\x96\x5c\x52\xd7\x28\x06\x4e\xbd\xf6\x8d\xc8\xe4\x83\x49\x41\x80\x1c\xca\x0b\x2f\x25\x6d\x4f\x6c\x3d\xd1\x9d\x35\xd5\x36\x2b\xbf\x9b\x8a\x3a\x1c\x86\x3e\x09\x26\x89\xdd\x28\x52\xad\xd4\x88\xbf\x42\x68\x5b\x11\xe1\xe1\xad\x57\x45\xd0\x75\x62\x8d\x73\x1f\x91\xcf\xd7\x49\x15\x9e\x2e\x1c\x83\x7f\x4e\xf8\x3d\x80\xea\x1d\xd9\xbd\xed\x5f\x88\x01\x8c\xe1\xd4\xb3\x37\x1f\x95\x43\x53\xf3\xd8\x94\x37\x00\x62\xc0\x96\x5d\x67\x98\x6d\xbc\x48\x17\x15\xf4\x2d\xd2\xc9\x16\x07\xab\x8b\x5f\x0d\x89\xf6\x6e\x68\xd7\x3d\x50\xd6\x40\x52\x4d\x72\xe6\x91\x34\xb8\x87\x29\x8e\x5c\xd8\xc4\xb9\x05\xba\x5e\xfa\x0e\x9d\x68\x52\x14\xb8\x42\xf5\x0a\x2a\x39\x83\xa1\xaf\x58\x5a\xf2\xca\x43\xdb\xcf\x02\xc4\x08\x97\xae\x2e\x1a\xb5\x1d\xbc\xe5\x70\x34\x5e\x8e\x13\x5f\xb7\xb4\xeb\x0a\x1d\x6a\x0b\xb5\xa8\xa1\x80\x7e\x42\x5b\x2d\x62\x83\x60\x76\x80\x58\xe6\x1a\xd1\xcf\xaa\x20\x99"}, -{{0xfa,0xaf,0x55,0xd3,0xc2,0x97,0x14,0xb6,0x5c,0x22,0x81,0xe2,0xc2,0x2d,0x61,0x34,0x97,0x1a,0x2e,0x74,0x00,0x8f,0xb9,0x40,0x89,0xa7,0x73,0xee,0xeb,0x44,0x83,0xa6,},{0x39,0x86,0x2e,0xac,0x6d,0xd5,0x2e,0x38,0x1b,0xb3,0x4d,0xc1,0x96,0xba,0x8a,0x37,0x4d,0xcb,0x7d,0xf6,0xcb,0x14,0x0f,0xd0,0xcf,0xa6,0xcf,0xa3,0x9b,0x8c,0x75,0x3f,},{0x5b,0x00,0x83,0xf7,0xa8,0x20,0x61,0xc6,0x5c,0xf6,0xc7,0x56,0x40,0xc8,0x1c,0x28,0xe8,0xd6,0xd2,0xe8,0x7f,0x6d,0x57,0x95,0xc9,0xaa,0x3b,0xb3,0xe3,0x90,0xe9,0x19,0x90,0xe8,0x2d,0xb6,0xf0,0x7e,0x61,0x4f,0x50,0x7a,0x56,0x0a,0xba,0xa1,0xec,0xa6,0x56,0xc6,0x78,0xdd,0xca,0xe8,0x19,0x82,0x51,0xe6,0xaf,0x0b,0x76,0xb8,0x8d,0x0d,},"\x94\xe6\x61\xc2\x52\x40\xa8\x9e\x82\x3d\x7f\x5d\xc0\xe6\x92\xed\xdd\x13\x70\xc3\x5a\xc4\x4d\x5a\x8c\x87\x98\xd0\xc9\xaa\xfd\xf0\xbb\xfb\x54\x92\x60\x56\x8d\xba\x1c\x69\x08\x6b\xee\x63\x6b\xe8\xed\xcc\xd3\xcb\xb2\x70\x16\x24\x4d\x54\xd7\xed\x2f\xeb\x7f\xa6\x46\x14\xd4\x54\x49\xd7\xe0\x58\xe7\x1b\x30\x6c\x22\xe6\x91\x1c\x2a\xc7\x42\x07\xba\xe5\xa8\x4d\x0f\xc2\x47\xbe\x49\xd3\x56\xe5\xd4\x35\x3b\xa5\x58\x6b\x6e\x4b\x2b\x97\xce\x9e\x23\x77\xb6\xee\xd9\x2c\x84\x9e\x67\x69\x44\xae\x90\xdc\x42\x08\xe3\x00\xe1\x9c\xc9\x1d\xc2\x6b\xbd\xd5\xa3\x0c\xfa\x92\x81\xa1\x5e\xfd\x87\x30\x66\xf8\x5a\xf3\xa2\x6f\x31\x06\x23\xe0\x09\x80\x48\x53\xcc\x68\x55\x90\x3e\xa6\x4a\x90\x98\x97\xe3\x15\xe7\x3d\x31\x29\x48\x98\x0e\xf6\x28\x9d\xb2\x1a\x5e\xbb\xec\x8c\x8e\xfe\x20\xd1\xd5\x3d\xfa\xad\x6d\x9f\x42\x96\x53\x2e\x88\x7c\x37\x35\x01\x05\xa6\x33\xab\xc7\x73\x18\x87\x51\xb2\x8c\x3a\x08\xf1\xb5\xee\x04\x72\xde\x46\x27\xe6\xb6\x1b\x68\x27\x8d\xd5\x1c\xed\x6a\x61\xec\xf3\x88\x86\xe4\x53\x39\xdc\x6c\x60\xc3\x1e\x85\x0e\xf8\x29\x6a\xe8\x0f\x9d\x31\x70\x17\x76\xeb\x9a\xf2\x16\x93\xf4\xc5\x2e\xc0\x62\x62\x57\x38\xd4\xe3\xaf\xbf\x71\xd1\xc8\x1f\xc4\x84\x63\x60\x36\x3e\xa5\x41\xa9\x76\x62\x3a\x5e\x4e\x6b\x6a\x67\x23\x7e\x92\x37\x17\x3f\x1a\x1d\x54\x33\x02\x85\x88\x85\x71\x4c\x2a\x59\x1d\x0a\x78\x62\x82\xa0\x28\x5a\x37\x11\xf7\xbc\x2b\x63\xca\x79\x87\xe9\xae\x7d\x02\x03\x55\x55\xcf\x3b\x6a\xd6\xf7\x1c\xa9\x8a\xa9\x28\x88\x3b\xf8\x1d\xd6\xf8\x64\x93\xea\xab\x56\x37\xb4\xdd\x56\x9d\x1e\xe8\xde\x6a\x44\xbc\xed\xb6\x2b\x97\x06\xb1\xdb\x89\xe3\xf0\x5d\xf1\x63\x10\x01\x7d\x89\xef\x3e\x4b\xc0\x99\xb7\x21\xa5\xc8\xd3\x80\x43\xd6\xe4\xa2\x2c\xf0\x40\x09\xc0\xfc\xee\x6b\xe6\x99\x37\x82\x99\x54\x94\x1b\x8b\x4a\x1e\xbf\x4d\xae\xa0\xd7\x74\xd0\x78\x2b\xe1\x76\xc8\xe5\x91\x90\x77\x56\xc2\xcf\x75\xde\xa6\xf7\x87\x7d\xd6\x87\x5b\x8f\xe1\x01\x2f\x30\x50\xcf\xb1\x28\x9c\xf0\x88\x66\x7e\x15\x22\xee\xed\xc9\x27\xac\x86\xbf\xe2\xc4\x07\x43\x2b\x4a\x81\x3a\x6a\x7a\x55\x04\xe9\x99\x20\x6d\xb1\x82\x7e\x25\xfa\xfd\x70\xce\xd3\x6d\xb3\xb2\x81\xb6\xf7\xb1\x4e\xd5\xba\xa0\x57\x23\x15\xa9\x39\xc5\xbf\x4a\xbb\x13\x3d\x2e\x7b\x16\xd5\x2d\xe2\x08\x17\xaf\x05\x5d\xf5\xf1\x41\x20\x77\x34\x61\x0a\x0c\x6e\xeb\xed\xaf\xff\xd9\xcc\x9f\x06\x9b\x67\xf9\xa1\xc0\x45\x4b\xe4\x1d\x54\xc1\x38\xbe\x54\x2e\x5e\x38\xcf\xe2\xf2\x93\xf7\xd2\xd3\xdf\x66\x97\x7a\xcb\x36\x6a\x42\xc1\x9b\x31\x85\xac\xfa\x1b\x36\x3c\x61\x31\xa4\xa8\x11\x1c\x3b\x1f\x4f\xd7\xac\x40\x6d\x0e\x69\x10\x3b\xa1\x5b\x8c\x4b\xf2\x9b\xc2\xed\x9c\x45\xcf\xd1\xd2\x79\xd8\xd9\x31\x44\x4b\x2b\x18\x49\x25\x2b\x8a\x70\xee\xd8\x0f\xd2\x60\xed\xf5\xa3\xc0\x1b\x96\x90\x16\x0d\x23\x11\x85\x1d\x21\xc9\x30\x2d\x98\x59\x86\xea\xee\xb3\xae\x2c\x07\xc7\xc7\x67\x20\x94\xf9\x1d\xb0\xbd\x50\xbe\x37\x7e\x4d\x1e\xb0\x7e\xe7\x6a\xf4\x9d\xc1\x36\xa1\x45\xa1\x1b\x17\x2f\x08\x11\xfe\x73\xd6\x25\x9b\xe3\x70\xc4\xdf\xca\xb6\xf1\x9e\x4a\x64\xb1\x51\xd0\xa6\xdb\x80\x50\xc3\xde\x2c\xc3\x25\xf5\xc5\xf6\x59\x4c\xf6\x24\x8e\xb0\x81\x20\x95\x39\xe0\x8c\xa3\x42\x29\x84\xe7\xbf\x80\x3d\xe3\xa4\x19\xb1\x44\x23\xf1\xe5\xa5\x42\x24\x04\x2c\xe4\xf0\x54\x88\xa6\x04\x4f\x40\x42\xbd\x64\x9b\x1a\x08\xce\x10\xc2\x00\x6e\xa7\x6e\xfa\xb4\x64\x1f\xef\x28\x97\xef\xd7\x24\xe6\x05\x4a\x3b\xd1\xa6\x9e\x39\xa4\xa5\xe2\xd5\x02"}, -{{0x6d,0x78,0x55,0xe3,0x0f,0x7a,0x13,0xe2,0x37,0xb0,0x67,0x14,0x43,0x46,0x43,0x4b,0xb4,0xb0,0x51,0x78,0xc7,0xd8,0x8d,0x49,0x2e,0x79,0x02,0x7c,0x4b,0x0f,0x3c,0xdd,},{0x72,0x73,0x29,0x38,0x28,0xef,0xa3,0x49,0x82,0x23,0x92,0xdb,0xba,0xb0,0x78,0x79,0x57,0x7e,0x1a,0x77,0xa6,0xfd,0x6a,0xfe,0x33,0x75,0x3a,0x9e,0xec,0x88,0xc4,0xaf,},{0x0f,0xe2,0x8e,0xad,0xd9,0xe5,0xdd,0x57,0x4b,0x3f,0xaa,0xea,0x81,0x0d,0x44,0x52,0x2c,0x8b,0x1b,0xfb,0xb3,0xe3,0xd5,0x7e,0xd8,0x89,0xfa,0xed,0xec,0x91,0xd0,0xe1,0x4a,0x86,0xb9,0x14,0xc4,0xc7,0x66,0xf1,0xbf,0x9b,0x8f,0x18,0xb0,0xdb,0x89,0x0d,0xb6,0xc1,0xb1,0x25,0xd5,0x78,0x04,0x33,0x36,0x19,0xb1,0xe0,0x72,0x0a,0x33,0x00,},"\xf8\xb9\x36\xe7\x93\xb0\x17\x58\x0c\xc0\xe9\xcb\xda\x2a\xcb\x64\x74\x50\x7f\x4b\xca\x3a\xfc\x87\x83\xec\x46\xee\xb8\x2c\xcd\x4d\xd2\x52\x56\x76\xaa\x6a\xb5\xc0\xdc\xf7\xd7\x5f\x7e\x03\x11\xe6\xfe\x6b\xf2\x72\x63\xf8\x57\x8f\xeb\x55\xc5\x61\x2d\x1f\x28\xe8\x88\xb7\x66\x56\xc4\x1c\xcd\x8a\x70\xb9\xbc\x60\x4b\x42\x72\x4f\xa2\xbc\x41\x1d\x44\xc3\x1a\xb6\x8c\xe8\x4f\x83\x93\x39\x9e\x34\xd5\x40\x85\x79\xc2\xba\x29\x21\xf2\xf8\xd1\x14\x87\xaa\x7e\x52\x55\x7f\xee\xd9\x67\x57\x19\x9d\x3a\xae\x63\x77\x77\x01\x54\xb1\x7f\x35\x77\xc7\xac\x3d\x8c\x76\xcf\x74\x61\xb5\xe8\xd4\x2a\x71\x85\x07\x8e\xd4\xf8\x62\xfc\x57\x50\x2f\x61\x50\x75\x30\x7b\x6e\x10\x3c\x77\xc1\xf6\xc8\xbd\xa7\xaa\x17\xe4\x35\xe2\x1b\x94\x9a\xf4\x4d\xff\x5a\xa3\x0a\x62\xda\x71\x2f\xa9\x96\x6a\x61\x2f\xfc\xa1\x48\x71\xfd\x6f\x86\x0b\x4a\x96\x14\x01\x2c\x53\x69\x91\x0e\x0f\xfd\x6f\x0f\xbd\x88\x9a\x9c\x25\x7c\x32\xbd\xcf\x90\xbb\x80\x62\x7c\xb2\x72\xec\xd4\x59\x98\x97\x55\x59\x55\xe1\xfe\x08\xcd\x7e\xbb\x21\xc0\x71\xbe\x0f\x48\x98\x96\x96\xcb\x39\xaa\x82\xad\x11\xba\xa5\xd4\xac\x61\x3a\xbf\x1b\x6d\xb8\xa2\x0e\x68\x68\x36\x22\x28\x33\xf8\xb6\xdd\x2f\x00\x06\x22\x7b\xe4\x8e\x85\x80\xdc\xc8\xde\x62\x0d\xac\xb2\xf6\x5a\x69\x36\x75\xd6\xcb\x45\xba\x5d\xd1\xaa\x70\xdb\x76\xbc\x64\x1d\x4f\xb5\x67\xec\xbc\x71\x11\x44\x2e\x29\x41\x58\xbe\x57\x5c\x71\xdd\xc2\x6e\x94\xf4\x12\x66\xa2\xfd\x3a\x0d\x43\x57\x81\xfc\x09\x46\x48\xfa\xdf\x5f\x17\xcd\x41\xab\x89\x58\x21\x89\x4e\xc0\x80\x6b\x26\x2c\x39\x35\x34\xfe\x66\xf2\x1e\x37\x83\xc1\x4a\x96\xc8\x8f\x2e\x06\x53\xfe\x32\xe7\x5d\xce\x8a\x46\x3b\xb9\x7e\xed\x6c\x16\xf3\xf3\x22\x81\x69\xab\xb5\xb4\xbf\x9e\xa3\x27\x8c\x1f\xf0\xf8\x6e\xae\x71\x38\x9b\x64\x33\xac\xd0\x97\xee\xfa\x9e\x6e\x05\xf4\x95\x5c\xd5\x17\x83\x0b\x8d\x98\x70\xcc\xb5\x22\x74\x15\xe5\x0f\x23\xf6\x47\x32\x17\xa7\x45\x09\x64\x70\xdc\xa9\x3d\x2b\x34\x67\x3c\x5d\x6a\x57\xed\x02\xc8\xe0\xca\xe1\x19\xb3\xf3\x29\xd8\xab\x64\x98\x49\x4c\x29\x21\xbb\x6f\x49\x6d\xd0\x83\x81\xe7\xd3\x9f\x2d\xb5\x76\x3b\x14\xa2\x82\x1b\xef\xcc\xa0\xa9\xfd\x31\x25\x45\xde\x68\xab\xf2\x06\xd1\x2d\x8e\x02\xe7\x3b\xc7\xe3\xcb\x79\x6e\x7e\xe2\x6c\xc6\x3d\x74\x1e\xfa\xfc\x53\x45\xf8\x13\x29\x51\xbc\xfb\xfd\xdf\x63\x1f\xb7\xcb\x43\xef\x35\xb9\x45\x3c\x93\x90\xeb\x23\xb1\xf9\xd8\xb1\xc7\x2d\xeb\xd2\x4f\x09\xa0\x1a\x9d\xc6\x0e\xe6\x81\x53\x06\x18\x83\x57\x78\x1a\xf6\xe1\x82\x0a\xa3\x5e\x4e\xc1\x21\xb7\xca\x34\xd7\xde\x76\x11\xb2\x46\xa3\xe7\x03\xed\x48\xc7\xeb\x03\xa6\xfe\x8f\x85\x2e\xe7\xd3\x25\x45\xc9\xd8\x52\xd6\x4d\x5d\x75\x93\x0e\x5f\x1e\xbe\x21\xa3\x07\xef\xa7\x62\x2e\xda\xce\xd6\xd8\x79\x02\x6f\x0f\x85\xa9\x11\x20\x12\x80\x37\x05\x58\x22\x69\xd3\x9f\x14\x32\x34\xdf\x89\x09\xab\x3d\x94\x8e\x76\xd3\xda\xaa\x24\x22\x6d\x9a\xc6\x01\xee\xf2\x77\xfd\x2c\xfc\x4a\x19\xae\xdf\x43\x87\xa2\x16\x17\xb0\x3e\xc3\xd3\x84\x5a\x38\x55\x4f\x5e\x97\x03\x6e\x56\xec\x1c\xe6\x60\xdf\x9c\x06\x2c\x2c\x99\x3b\x77\xc5\xba\x6a\x6d\x05\x23\x1d\xae\x37\x64\x18\x3c\x3e\x96\xaa\x53\x9c\xfb\x34\x15\xfb\x16\x3c\x64\x5b\x23\x03\xb2\xd6\xd4\xbd\xa8\xca\x6c\x72\xbc\x03\xd5\x30\x5f\x9b\x11\x8e\x92\x5e\x27\xd2\x9a\xb7\xdc\xb1\x96\x47\x0e\x63\x39\x63\x1b\x23\x80\x74\x4c\x04\xd1\xda\x34\x8f\xc0\xfe\x27\x42\x77\xf8\x2f\x95\xbd\xfb\x0b\x64\xb4\xcf\x3b\x51\xe5\x71\xc0\xdd\xb3\xb5\x3c\xa6"}, -{{0x7e,0xe4,0xe7,0xe9,0x8c,0x6a,0x40,0xf0,0xe7,0x44,0x13,0xf2,0x40,0x39,0xbd,0x22,0x0d,0xf1,0xf8,0xc7,0xf0,0x15,0x52,0x8d,0xbf,0x52,0x84,0xab,0x9f,0x7c,0x82,0xe2,},{0x4d,0x5a,0x80,0x0f,0x9b,0x22,0x07,0x0e,0x01,0x6e,0xe2,0x3a,0xf8,0xa3,0x10,0x90,0x2b,0x36,0x9d,0x58,0x9a,0x84,0x7f,0x34,0x5c,0x2e,0xa2,0x96,0x8d,0x6d,0x09,0x24,},{0xac,0x3b,0xfe,0x3a,0xdf,0x94,0x1c,0x93,0x4d,0x33,0x49,0xc4,0x92,0xde,0x70,0xd5,0x16,0x6b,0xe3,0x89,0xf9,0x55,0xbe,0x87,0xc2,0x88,0x3f,0x41,0xf2,0xda,0x14,0x6c,0x91,0x06,0x51,0xa3,0xb4,0x52,0xc2,0xd7,0x39,0xdc,0x9b,0x53,0x1c,0x57,0x45,0x56,0x5e,0x69,0xd9,0x83,0x59,0xf1,0xd7,0xd9,0x3e,0xbd,0x36,0xd7,0x0a,0xbb,0xf0,0x0d,},"\x8f\xb0\x13\x73\xc4\x2e\x69\x61\x4a\xea\x99\xaf\x49\x32\x37\x85\xf3\x38\x61\xb9\x4e\x90\xf5\x65\x38\x9e\xbf\x70\xe2\x19\xf5\xde\xc7\x32\xe0\x01\x0b\x58\xf7\x29\x05\x30\xdf\x22\x2a\xc9\xc7\x3e\x1c\x2e\x92\xa5\xe6\x06\x1d\xe5\x59\x0c\xaf\x9c\x0d\x50\x21\xd7\x29\xea\xa1\x15\x41\xfa\x1d\x08\x21\x60\xbe\xaf\x61\x1e\x7c\xfd\xc0\xeb\xb3\x15\xd3\x88\xe5\x38\xb4\xb5\x02\x8f\x9b\x30\xd3\xd9\x73\x34\x7f\xfd\x44\x26\x3e\xef\x08\x3b\x81\xb2\x1b\x82\xec\xa5\x75\x6a\x49\x4b\x1d\x81\xc0\x7d\xe8\x49\x50\x6d\x3e\x3b\x66\x87\x97\xa5\xc5\x44\x25\x4d\x4e\xbe\x5c\xf8\x17\x1b\x39\xf8\x72\x4c\xbc\x41\x89\x29\x1b\x3c\x53\xc2\x1e\xce\x49\xa1\xd7\x39\x56\x3c\x65\xb4\x90\x25\x93\x56\x47\xa7\x30\x3a\xe0\xef\x7f\x6d\x24\x55\x46\x45\xa4\x28\xdb\xbb\x42\x44\x9f\x53\x99\xe3\x6d\xc7\x87\xb7\xd6\x95\x8a\x02\xee\xbb\xb8\x36\xe5\xe5\x3e\x26\xe4\x87\x23\x9d\xe9\x4d\x1d\x25\x0e\x79\x43\xac\x0e\x22\xd9\x27\x50\xa0\xcf\x34\x73\xbe\x1a\x62\x25\xcb\xe7\x95\x45\x04\x82\x69\xf6\x23\x7e\xc9\xf9\xec\x30\x7e\x8a\x34\xb7\xbb\x34\xcd\x49\x06\xe4\x31\x62\xa3\x70\x8f\x32\x9c\x5b\x98\x9d\x7a\x7f\xcd\xe1\x09\x9a\x54\x25\x46\xfe\x9c\x33\x18\x2b\xa5\x1b\x84\x3e\x96\xd1\x1c\x79\xe9\x1a\xd2\x1f\x71\x70\xe2\x57\xfd\xc2\x81\x8e\x12\xf9\x16\x8a\x97\x4c\x96\x8a\x4d\x27\x3f\xa3\xff\xa9\xf3\x5f\xf9\x05\x98\x0e\xaa\xd3\x72\x1c\xae\x80\x2b\xee\x36\x21\x0b\x40\xb9\x93\x19\xbb\x66\x99\x82\xe9\x43\xb2\x70\xa4\xc4\xd0\xa9\x2e\xcb\x5b\xba\x2d\xd8\xb4\x0a\xc3\xd2\xf0\x32\x5c\x46\x9d\x5e\x9d\x48\x3f\x52\x41\x97\x40\x10\xc5\xc0\xda\x33\x5f\x16\xe9\x62\x19\x6c\x2e\xf1\x4e\xb2\x4a\xaf\xbb\x31\x1b\xfd\x5f\xa8\xdc\x8d\x2d\x61\xe6\x87\x8a\xd2\xcc\xe0\xdc\x99\x39\xe4\x45\x22\x72\x3d\x42\x7e\xf3\x2f\xb4\x3b\x96\x7f\x5e\x44\xfc\x66\x57\x92\x79\x6f\x8c\xf9\x34\xf0\x1c\x32\x5d\x63\xd5\x83\xdc\x3c\xa9\xd4\xfc\xc7\x57\xd9\x17\x85\x80\xda\xef\x53\xaa\x3a\xb2\x1d\x2c\xe4\x35\x95\x5d\x1c\x6d\x47\x63\x8c\x5e\xdb\x62\xff\x55\x61\x69\x3d\x1c\xbd\x10\xec\x9e\x39\x9a\x71\xbf\x9d\xb1\xc9\x96\x9f\xd5\x9e\x4e\xeb\x31\xaa\x59\xbf\x39\xe9\xf1\x84\x17\x8d\xef\x72\x46\xed\x4b\x8f\x4b\xe5\xba\xda\xa5\xdb\x4a\xf8\x67\xf4\xf2\xec\x39\xa1\x37\x04\x20\x2c\x87\x84\xfa\x16\x8c\xe9\x6f\x9c\xfa\xc7\x10\x17\x23\x62\x75\xfd\x85\x7c\xc3\xc5\x1a\x9c\x7a\xc2\x56\x21\x5e\x14\xb8\x43\xf7\x21\x4d\xc9\xf8\x24\xb9\x1d\x1a\x51\x70\xd0\xef\x1d\x37\x69\x6f\x93\xee\x96\x6a\x2b\x7d\xec\xe2\x2b\x4f\x3a\xfd\x39\xc1\x6d\x60\x1e\x5f\xf8\x40\x8d\x45\xc1\xa6\xce\x71\xf0\x60\x97\x6c\x5b\xe4\xc0\x42\xb1\xb7\x38\xdf\x95\x80\xba\x5a\xe7\x78\x80\xa7\x0c\x0b\x94\xf0\xe1\xc9\xf9\xaa\x34\xc0\x90\xd6\x12\xd5\x7a\x9b\x93\x1f\x50\xa1\x25\xfa\x35\xce\x40\xa2\xcb\x7f\xaa\xd5\x30\xf8\x09\x08\xc7\x3c\xb7\x82\x58\xaf\xd2\x63\x13\x90\x04\x1d\x92\x61\x7e\x9b\xf6\x4c\xe9\x6e\x8e\x4a\xc7\xf3\x12\x6d\x8a\xf8\xa0\x4c\x75\xff\xd4\x38\x76\x9d\xe0\x6f\x74\xc2\xfc\x20\xcc\x81\x92\xda\x35\x3e\x79\x06\x12\x83\xbb\xa0\x8a\x8d\x24\xe6\xe4\xe2\xe8\x3b\xa5\xb0\x8e\x42\x75\x22\x60\x62\x14\x8d\x8a\x02\xaf\xad\x65\xb6\xf6\x27\xcf\xbd\x29\xb7\x1c\xa1\x8a\xee\x5b\x1f\x97\x16\x9b\xf0\x22\x8b\x37\x6f\x41\x06\xb5\x0f\xd9\x1a\x38\xa6\x62\x11\xd6\x9e\xbb\x4a\x7a\xf0\xe1\xc2\x21\x7f\x1b\xa0\x14\xd1\xe0\xcd\x17\x50\x8d\x58\x15\x5d\x16\x3d\xd9\xde\x2f\xe1\xc6\x4c\x7f\x88\xd5\xb5\x53\xe9\xba\x1e\x1f\x25\x43\x0d\x7e\x12\x5b\x07\xa8\xc2\xed"}, -{{0x1f,0x28,0xd9,0x09,0x1d,0x19,0x6c,0xba,0x3d,0x45,0x52,0xe5,0xa3,0x37,0xa4,0xd8,0xaf,0x3f,0x29,0x5e,0x62,0x9e,0x4b,0xa6,0xfe,0x99,0x70,0x31,0x20,0xae,0x41,0xe0,},{0x81,0x4d,0x34,0xbf,0x28,0xee,0x6d,0x90,0xf0,0x39,0x59,0x90,0x41,0xdb,0x81,0x0f,0x7c,0x9d,0xaa,0x91,0x8e,0x03,0xe9,0x61,0x97,0x41,0x4b,0xc9,0xaa,0x31,0xec,0xdc,},{0x5b,0xe5,0x52,0xfa,0x73,0x1e,0x83,0x67,0x93,0xf6,0xdd,0xa8,0x95,0xdc,0x9b,0x1e,0x2c,0xcd,0x66,0x9d,0xe1,0xc8,0x43,0xe0,0x0e,0xa6,0xfa,0x3c,0x5e,0xbf,0x97,0xa3,0x4b,0x26,0xf1,0xf3,0xac,0x7f,0xf2,0x22,0x5e,0xe4,0xa7,0xe4,0x30,0x07,0x2c,0x13,0xda,0x40,0x66,0xdc,0xdc,0xc0,0x5b,0xa2,0xb5,0xf6,0x1a,0x6e,0x8d,0x21,0x07,0x09,},"\xa6\x94\x68\xbc\x33\xeb\xfe\xf0\x61\x5c\x64\x3c\x49\xda\xc6\xe0\x4f\xdb\x6c\xfb\x8e\xc4\x58\x57\xbb\xb7\xa2\x7e\x52\x8f\xd6\x31\xfc\x34\x11\xba\xee\x65\xcc\x1f\x94\xfc\xc9\x4a\xed\x4a\x43\x32\xfa\x68\x61\xe0\x65\xe0\x61\x63\x54\x17\x09\xd7\x97\x28\xe0\x1b\xe2\xb1\x40\xa0\x22\xc8\x3e\x7b\x23\xb9\xed\x2a\xd2\x83\x21\x69\xdf\xc9\x56\x90\x91\x3c\xf3\x72\x01\x30\x65\x70\x80\xc9\xd5\xa7\x82\x7e\x56\x60\x75\x74\x52\xc5\xfc\x3d\xcd\x80\xcc\x6b\xe0\x98\xc6\x29\x22\x6d\x54\x66\xe0\x2b\x97\x12\x6b\xe7\x4a\x14\x52\xee\x16\x81\x50\x95\xde\xb4\x2b\xf0\x65\x66\x71\x50\x28\xc1\x18\x25\x82\x0a\x8a\x23\xc6\x0d\xa2\xb6\x8d\xd9\xa5\x5d\xad\x2a\x29\xa4\x96\x44\x43\x81\x7c\x07\xd7\x76\xb2\x44\xb1\x51\x86\x81\x9a\x3b\xbe\xd4\x14\xab\xf4\x57\x9a\x3e\xce\x3a\x3d\xc7\xb1\x05\xd0\xa9\xdb\xa3\x7b\x9e\xaa\x78\xbe\x8e\x46\xe1\x69\x8b\x59\xb0\x94\x0b\x01\xf3\x8b\x28\x3c\x33\xa9\xa4\xb1\xd4\xf8\x14\x4b\x16\xee\xb5\xfc\x0a\x7a\xf0\xd0\x81\x69\x66\x45\xa1\xea\xb3\xa7\x87\xcb\xcf\x88\xfa\xd9\x3d\xd6\xcd\x46\xd2\x95\xa8\x79\xa1\x77\x50\x33\xa9\x85\x63\x82\x2e\xf1\xf6\xb6\x9a\x58\x1e\x49\x73\x6c\x8d\x70\x1b\x44\x53\x96\x93\x40\x52\x1e\x4a\xd4\xbf\x94\xb9\x11\xb0\xe2\xd8\x6f\x34\xee\xce\x4a\x63\x85\xff\x1f\xe6\x32\x20\xcd\x3c\xc5\x92\xf3\x6d\x6c\x49\x1f\xa1\x8f\x7c\x14\x04\x36\x0d\x2a\x77\x53\xfe\x07\x3e\x09\xa2\xfc\x42\xa4\xbb\xea\x55\xbc\x96\xd7\xf0\x5c\x98\xae\xd2\xcc\x4a\x9f\xae\x8f\xd4\xa0\x19\x7f\xf0\x1f\xa7\xf0\x04\x6e\x3c\x3e\xb5\x9a\xaa\xbc\xa3\x13\xa4\xdd\xaa\x5d\x20\xd2\x7c\x2c\x5f\x1a\xc6\xd8\x7f\xd3\xcb\x4b\xd3\x5a\x1e\xc7\x5d\x10\x4f\x7c\x36\x73\x31\xa3\xe2\x95\xe5\x3c\x4e\x80\xba\xe1\x4b\x97\x92\xd0\xd5\x26\xf7\x40\xd4\xff\x03\x6f\xaf\x54\x87\x96\x7f\xfa\xbe\x8e\x88\x3d\x3f\xb0\xd1\x6f\xaa\xdb\x28\xe1\x28\x5d\xed\x41\x57\x0c\x0b\x07\xc2\x55\x9b\x53\x1e\x0f\x92\x54\xef\x88\xe5\xb1\x0f\x64\xf4\x83\x9a\x9a\x0b\x6c\x3c\x7f\x1b\x78\x50\xf4\xad\x9b\xf0\x99\x9a\x7f\x2a\xe7\xc4\x5a\x65\x8e\xa5\x30\x36\xfc\x70\x19\x98\x42\xb8\xe4\x9e\x60\xf9\x67\xde\x1f\xf3\xab\xff\xf6\xcd\x73\x5b\x7c\xd8\xb8\xf9\xe2\x48\xf1\x56\xf6\xc6\x54\x38\x69\xeb\x99\x82\x3d\xae\xa8\x8d\xeb\xaf\x79\xf0\x1e\x65\x21\xec\x63\xfe\x72\x72\x4e\xe3\xc8\x22\xb8\x8b\x39\x68\xb2\x48\x52\x09\x15\x83\xc4\x9a\xb3\xc1\x5f\xa1\xf7\x9b\x18\xd9\x8f\x04\xd9\xb6\x84\x1c\x9a\x7c\xa0\xde\x2f\xcc\x02\xf9\x5d\xd6\x49\x49\x2e\x8b\x56\xa3\x1e\xc1\xe2\x44\x33\x7a\xf6\xaa\xae\xde\x8b\xf9\x9f\xc8\x14\xef\x57\xc0\xd5\xe0\x8c\x3c\x7e\xcc\x18\x97\x98\x0a\xa1\x69\xa9\x92\x6d\x20\x69\x8d\xf6\x93\x0e\x21\x10\xcb\x46\x0f\x49\x39\x01\x00\x74\x10\x95\xf8\xed\x00\x41\x2a\xe6\x96\xd9\x8e\xfe\xfd\x29\x0d\xa5\xf7\xd0\xb7\x28\xd2\x0a\x1e\xbf\xa6\xbd\x7d\x27\x0f\x28\x1a\x98\xc7\xb1\xe4\x08\x43\x51\x25\xaa\x48\x3c\x6b\x7d\x63\x3f\xf7\x58\x8a\x94\x16\x58\xf6\x12\x95\x44\xd6\x29\x45\xb9\xb8\xaf\x71\xa8\xc6\x2c\x0a\x50\x07\x6c\xb8\x54\x1b\xa7\xe4\xbd\xe4\xed\xe4\x41\x72\x2c\x6e\xb9\xdf\x8c\xfd\x06\x56\x33\x9e\x86\xd2\x26\xab\xae\xa0\x5e\xa0\x47\xf6\xb8\x30\x77\x01\xf6\xc9\xa4\x4c\xc9\xcb\x83\x7b\x8e\xb6\x24\x45\x92\x5e\x8a\x88\x81\xd2\x53\x8f\xcb\x2b\x24\x9e\x4e\xe8\xb6\x86\xec\xfb\x49\xc4\xdf\x86\x40\x1d\x24\x9a\xac\x35\x84\x1e\x91\x40\x04\xf9\x45\x5d\x3f\xde\x37\x5d\x20\xa0\x1f\xba\x27\xb1\x97\xa6\x98\xd3\x84\xc7\x65\x05\x10\x68\x01\x62\x7e\x83\x36\xbd\x2d\x76\xd7\x61\xa8"}, -{{0xc6,0x4d,0xd2,0x0d,0x42,0x62,0x75,0x26,0x19,0x8a,0x22,0x64,0x76,0x90,0xc8,0x95,0xb5,0xb4,0x5b,0x69,0x8f,0x57,0xa6,0x9d,0xfb,0xe4,0x8d,0xbd,0x42,0x6a,0xa4,0x70,},{0x2e,0x01,0xd4,0x04,0x16,0xf7,0x8a,0xcd,0xdb,0x34,0xb8,0x44,0x5e,0xa4,0xfd,0x0a,0xb3,0xfa,0x9e,0x66,0x43,0x04,0x47,0x52,0x21,0x3f,0x07,0xc7,0xf0,0xff,0x43,0xa0,},{0xde,0xac,0xc8,0xc2,0x32,0x18,0x72,0x76,0x76,0xd5,0x40,0xa2,0x3b,0xda,0xd7,0x81,0x02,0x11,0xe6,0xd5,0x7a,0xd2,0x94,0xc3,0x7d,0x4b,0x1c,0x9a,0xf6,0xb3,0x37,0xa5,0x3f,0x78,0x80,0xd2,0xba,0xfa,0x73,0xb3,0x05,0x08,0xc0,0x08,0x42,0x6b,0xf8,0xd7,0xc9,0x65,0xa1,0xf4,0xa4,0x22,0xa1,0xbc,0x7d,0x6a,0xd6,0x22,0x6f,0xd1,0x97,0x06,},"\x82\x1b\x9f\x7c\x16\x10\x4b\x53\x3b\xd1\x27\x18\x4f\xd7\x2a\xde\x09\x2b\x13\xbb\xd9\xac\xee\xd2\x9b\x8d\x10\xf1\x66\x88\x92\x2d\x16\x5f\x89\x31\xd5\x3d\xf5\x90\xfb\x71\x3b\x67\x4d\x80\x5c\xe0\xc9\xd6\xce\x6c\x43\xba\x69\x68\x19\x1d\x12\xbf\xa0\x8a\x8c\xe2\x2e\x8f\x33\x6b\x2b\x49\x1a\xf2\x5d\x1b\x16\x06\xf9\x30\xca\xeb\xe5\x22\x39\x2a\x87\xd4\x2c\xe7\xbc\x16\x7a\xa7\xb6\x10\x59\x72\x20\xaf\x31\xa6\x65\x35\x30\x71\xe8\xd9\xe5\xf4\x20\x78\xb9\xc3\x88\xbf\x04\x02\x58\xe2\x1f\x9c\x3a\xb3\x8c\x04\x27\x61\x8b\x2c\x28\xd3\x43\x0d\xf2\x79\x21\xbf\xc5\x84\x87\xb3\x46\x19\x78\xbf\xa8\xbf\x58\x6c\xfe\x83\x58\xe0\x92\xf8\xf4\x74\x66\xe7\x62\x45\x1d\x50\x16\x4a\x0d\x74\x36\x0f\x66\xb4\xcd\x3a\x35\x75\xda\x01\xda\x23\x75\x24\x30\xc0\x35\xda\x85\x9f\x57\x7d\xe2\x22\x90\xaa\xb4\xed\x7f\x34\xd2\x67\x40\x6a\xb5\x47\xeb\x44\x5c\xc6\x4d\xf5\x30\x19\x42\x7f\x4e\xb7\x2b\xca\x55\x39\x71\x53\xd0\x1c\xcf\x7e\xc9\x7d\x7a\x96\x7d\x9a\xff\x46\x23\x1d\x2e\x20\x27\xb3\x8f\x3b\x41\xbd\x2c\xb1\xb7\x98\xa4\xae\x88\xab\xf4\x89\x62\x16\xd3\x15\xbd\x53\x83\x02\x42\x59\xe5\x97\x42\x80\x2a\x91\x1b\xad\xcf\x84\x73\xdb\x91\xaf\x31\x97\x33\x32\x0c\xb9\x52\x1e\xf9\xce\x43\x72\x67\xb6\xea\x17\xbc\xaf\xe5\xd0\x90\x3b\x12\x3a\x35\xc9\x88\xf4\x98\x34\xf6\x1d\xd5\x52\x64\x0a\x32\x76\xda\x26\xaf\x17\xec\x21\xa2\x02\x96\x58\x6d\xd6\xf4\xb3\x6c\x7a\x4f\x0b\x89\x9d\x70\xb4\x2a\xf8\x9e\x29\x37\x01\x32\xed\xfb\x72\xd6\x83\x41\x94\xa1\x60\x93\x60\xb1\xf1\xfe\xab\x89\xb9\x6b\x8e\x8f\x0f\x68\x98\x7c\x57\xcc\xe0\xba\xb7\x68\x11\x37\x18\xfb\x17\x09\xde\x2d\xf3\x21\x77\xd4\x40\x85\xda\x5e\xfd\x9d\xa7\x0e\x1a\x85\x8c\x92\xf2\x45\xac\xfe\xe6\x4b\x71\xf3\xeb\x16\xe0\x4f\xc1\x39\x89\xe6\x93\x37\x99\x97\x01\xdd\x73\xab\xc2\x66\xc9\xfd\x4c\xff\x91\xa0\xfd\x04\xfb\xd8\xb1\x3b\x12\xe6\xf4\x50\x38\x57\x15\x84\x8e\x00\x7f\xa0\xd4\x63\x11\x9f\xd7\xde\x63\x25\xb6\x40\x04\x2b\x65\x42\x12\xe0\xdb\x8d\xa1\xad\xeb\xd2\xa7\x58\x9f\x77\xee\x4f\x75\x2d\x28\x2c\xa1\x11\x9c\x43\x1b\x17\xad\x0a\x02\x1e\xf2\xbf\x95\xe5\xac\x47\x04\xe6\x2d\x70\x39\xd0\xe6\x51\xe4\x56\xd6\x0e\x63\xba\xde\x40\x1c\xca\x77\xc9\xa8\x91\x63\x17\x4d\x50\x22\xd7\x45\xab\xdc\x76\xb9\xff\xe2\x54\x41\x55\x23\x5e\x30\x63\xe6\xe4\xae\xec\x44\xed\x5d\x8a\xb4\x08\xd9\x66\xfe\xc1\x20\x16\xc1\x30\x73\x0b\xbc\x55\x87\x32\x06\x5d\xa8\x00\xa7\x0c\xbf\xb0\xfc\xcc\xa4\x5d\x00\x28\xcb\xfd\x96\x32\xdd\xb2\xf0\xed\x12\xed\xae\x7b\x93\x0b\x10\x6c\x9d\x12\x85\xa4\xb8\x70\xde\x75\x07\x99\x9c\x74\x79\x3d\xd4\x97\x40\x87\x19\xc8\x98\xab\xe4\x9f\x7f\x33\xa3\x3e\x69\xb5\x0f\xa5\xaf\x94\x80\x06\x85\x66\xd1\xfd\xdf\x44\x82\xd7\x97\x04\xad\x8e\xf1\x1b\x88\xb4\x2c\xc6\x9f\xce\x8a\x55\x7b\x5b\xa5\x10\xe7\x08\xb9\x37\x51\x23\x03\x85\x68\x27\x0d\xe4\x07\x23\x2e\x95\x62\x1e\x2d\x04\x57\x0b\xec\x2c\x41\xec\xcf\xd8\x55\xb2\x1f\x0c\x9b\xba\xa2\x3b\x5c\x58\x15\xfc\x88\x8f\x7f\xbe\xd4\x82\xc3\x20\xff\xa1\xe0\x63\xe8\x7b\x55\xbc\x8f\x7e\xee\xa3\x74\x06\x3a\x9b\xe6\x5f\x7e\xd9\x22\x5b\xf6\xca\x34\xcf\xa3\x11\xb7\x9f\x3a\x25\x8c\x25\x2e\x63\x45\xed\x6a\xc8\x47\x48\xf4\x68\x07\xa5\x5d\x4b\xa4\x12\x66\x16\x9c\xd2\x62\xd4\xf7\x22\x79\xef\x0c\xaa\x77\xff\x44\x93\x35\x32\xbd\x13\x74\x75\x6c\x23\xec\x85\xf5\x5e\xfe\x9f\xc2\x33\x1f\x26\xf8\x81\x62\x9f\x80\xc2\x69\x2f\x7f\x53\xe4\xbc\x6f\x22\xef\xb4\x54\x57\xa2\x23\xf0\xd1\xc4"}, -{{0x0f,0x8e,0x9f,0x35,0x26,0xb4,0xfa,0xea,0x92,0x76,0xf2,0x2a,0x17,0x79,0xe6,0xf8,0x27,0x09,0x80,0x8f,0x6d,0x0c,0x61,0x2a,0xdf,0xe3,0x2a,0x6e,0x8a,0x06,0x10,0x05,},{0xd4,0x8c,0x3f,0x0f,0xde,0xf3,0x82,0xd1,0xd8,0x03,0x13,0xe8,0x46,0xfc,0xa9,0x5e,0x41,0x81,0x76,0xbb,0x5d,0xfa,0x9d,0x39,0x8c,0x1d,0x21,0x24,0x77,0x6f,0x69,0x0a,},{0x2f,0x59,0xa2,0x93,0x60,0x73,0x91,0x38,0x34,0xeb,0x15,0xa0,0xe0,0xbc,0xb9,0xaa,0x80,0x40,0x89,0x46,0x8f,0x24,0xdd,0x1b,0x2d,0x37,0xa1,0x93,0x4a,0xe9,0xba,0x10,0x20,0xff,0x64,0xb7,0x2e,0xec,0x03,0x26,0x8d,0x0a,0x7c,0x01,0x2c,0x4e,0x79,0x63,0x00,0xf6,0xdf,0x7a,0xdd,0xa0,0x1c,0x8b,0xc5,0xe9,0x01,0x5c,0xcd,0xee,0x1a,0x00,},"\x0c\xcd\x37\xc4\xcf\xd8\xe7\x0c\xa3\xbb\x39\x46\xd0\x9d\x70\xd0\xf6\xa4\xb8\x1d\x6d\xfb\x07\x9d\x78\x73\x74\x80\x71\x58\x98\x80\x92\x73\x82\xf7\x43\x6a\x6e\xf8\xf5\x1c\x25\x54\x73\xdd\x01\xfe\xb5\x2c\x8e\xdb\xe4\xd3\x25\x57\x13\xe6\x8d\x64\x0f\x3d\xcf\x15\x8f\x2b\xfb\x9f\xbe\xcf\x71\xf0\x71\x9d\xfe\x8c\xe6\xb6\x01\x28\x1b\xa6\xc2\x0a\x56\xb4\xf8\xe7\xca\xa4\xaa\x9f\x86\x8f\xbf\xc5\xe4\x32\x1c\x22\xd6\x5f\x03\x82\xc4\x89\x6b\xf9\xbe\xbe\x35\x46\x94\x9e\x81\x85\xa4\xd8\x17\xe4\x5b\x5d\x12\x93\x95\x38\x21\xbd\xd9\x8e\xc2\x59\xf6\x4a\x3d\xe5\x38\x65\xb1\x49\xea\x01\xc8\xf6\x83\xec\xda\x61\xda\x5d\xc1\x0e\x7e\xbd\xdd\xfe\x74\x84\xf5\xeb\x10\x31\xb7\x91\x65\x87\xca\xa3\x99\xa0\x6b\x6f\xea\x4c\x5e\x6e\x0b\xe6\x50\xfb\xdf\x06\xc1\x03\x6d\xf2\xcc\x35\xf6\x2e\xa0\xea\x71\x3f\x52\x80\x9d\x77\xf4\x7c\x2e\x55\xc9\x23\x92\x48\x16\x80\xb6\x33\x20\x56\x22\x69\x13\xb0\xce\x88\xa6\xc5\x5a\x26\xbd\xb5\xb8\xba\xb3\xcf\x46\x95\xa8\xc5\x22\x30\x2c\x4e\xba\x37\xd3\x1f\xf7\x7e\x58\x30\x1b\xcc\xfc\x7c\x7b\xe8\x58\x0c\x63\x42\x68\x79\x95\xf4\x4a\xcd\x19\x09\x65\xae\x0d\x7b\xf0\x66\x95\x92\xb6\xad\x88\x74\x3e\xbb\x36\x0c\x73\xe0\x48\x4a\x23\xd2\xf9\xe9\x9e\x9e\xb0\x38\xdc\xbd\x87\xca\x9b\x1a\x49\x8f\x1b\x2d\x35\xfe\xdd\x7f\x8e\x1f\x7f\xd8\xca\x52\x64\x86\x91\x1e\x07\x6a\xea\xb4\x87\x7b\xba\xcf\x37\x8a\x28\x55\xf9\xc5\xac\x03\x91\x30\xdc\x69\x0e\x17\x7d\x67\xb2\x44\xcc\x8a\xd0\x32\x37\x9e\xf7\x1f\xe0\x5e\x9c\x86\x13\xd8\xf5\xd6\xea\x3d\x4e\x3e\x47\x22\x20\x29\xcc\x00\x42\x53\xbe\x47\xf8\x7f\xb5\xe3\x31\x4c\x48\x98\x13\x4b\x87\xac\xf1\x0b\x25\x38\xba\xd8\x97\xbd\xc5\x01\x2d\x8f\x97\x62\xc8\x71\xb6\x53\xd4\x00\xfe\xe0\xce\xed\x5e\xf6\xbd\xd1\x6f\xaf\x3f\x0a\xbd\xbd\x72\xcd\x0a\x12\x94\x05\x46\xf0\x99\x5f\xf1\x4b\x0f\x1b\xd5\x48\x56\xff\x74\xc3\x6e\xb4\xf2\x2d\x72\x87\xae\xfd\xc6\x09\x99\x8c\x1f\x41\xbc\xc3\xbb\x3a\x5f\xa4\x92\x34\xf4\xfa\x8e\x92\x9c\xd0\xf5\x54\xb3\x15\x39\x5d\xae\x87\x3c\x61\xca\x70\xe0\x41\x0c\x2f\xd5\xa1\x15\xd2\xa6\xff\x1f\x1c\x94\xb2\x7b\xa4\x50\xb8\x19\x4b\x21\xf0\x95\xc6\x1a\x5f\x21\x5e\x3c\x84\xf5\xd4\x3f\x0e\x73\x62\x86\xd3\x3b\x8c\x47\x81\x4d\xb9\x79\xf9\xdc\x00\x91\x98\x46\xbe\xe6\x85\x33\x7d\x99\x55\x5a\x24\x47\x2e\x6b\x00\xb3\xf4\xa1\x43\x11\xa6\xc7\xc9\x04\xba\x58\x89\xda\x6c\x1d\xdc\xc1\x11\x75\x80\xf5\xfb\xc4\x1f\x2b\x8a\x42\x68\xcf\x0e\x9f\xa5\xbf\x41\x25\x34\xc9\xe4\x05\x2a\xac\xb5\x04\xcb\x86\xe2\x14\x7a\xb8\x02\x3d\x58\x80\x0b\x76\x3f\x9a\xbf\x9d\x04\x40\x78\x8a\x51\xdf\xe5\xcb\xd4\x42\x30\xba\x52\x28\xf1\xf5\x96\x0e\xa3\xa4\xe4\x04\x4d\x36\xda\xf8\x11\xcb\xdb\xec\x5d\x69\x64\x63\xd8\xe9\x41\xf2\x72\x17\x56\x3b\xb4\x4a\x21\x18\xa4\xf5\xac\xd6\xe7\x94\xde\x17\xe0\x28\xcb\xde\xef\xde\xf2\xcb\xf0\x3d\xd3\x2e\x78\x99\xe6\x5a\x1c\xf8\x39\xf5\xd9\x0e\x1f\x8c\x36\x4b\x57\x7f\xe3\x10\x53\x53\xf6\x67\x68\xdb\xf7\xaf\x0c\x52\x1a\xa8\xa4\x9f\x7a\x22\x08\x2d\x88\xf9\x01\x49\x8c\x90\xb9\xd7\x77\x7e\xd2\xf9\xf0\xe8\xa5\x52\xd8\xa1\xfa\x5e\x96\x32\xed\x85\x32\x58\xc9\xc2\x15\xb6\xdb\xb4\x11\x1d\xcf\xca\x55\x4b\xfb\xc9\xbb\xa2\x2f\x88\xbc\x55\x55\x2c\x6d\x86\x25\x56\xd7\x41\xda\xd5\x9f\x21\x5e\x37\x28\x83\x46\xca\x7d\x7f\xd8\xc6\x5a\x38\x0d\x72\x0c\xaf\xf9\xef\xa1\x49\xf3\xfd\xa2\x32\xda\xa5\xb1\x2e\xf1\x1c\x0a\xf0\x86\x2b\xd0\x22\x9e\x07\x5a\x3c\x6b\x60\xef\x0b\xbb\x3d\xad\x7f\x29\x08"}, -{{0xfe,0x7c,0xdc,0x79,0x66,0xd0,0xff,0xb9,0xc7,0x6f,0x4a,0x18,0xe7,0xf0,0xbf,0x90,0x69,0x0e,0xb7,0x6d,0xc3,0xd3,0xd5,0x08,0x84,0x64,0x8e,0x2e,0x39,0x37,0xd0,0x20,},{0xa1,0x2e,0xe9,0x81,0x2d,0x6a,0xf6,0xaa,0x48,0x79,0xfa,0x72,0xbc,0x0a,0x69,0x80,0x4e,0xa1,0xa8,0x5f,0x9b,0xc4,0xa2,0x6a,0x5b,0xa7,0xcf,0xbb,0x91,0x4d,0x0d,0xd9,},{0xb5,0x2d,0x03,0xfd,0xeb,0xcd,0x42,0x97,0x37,0xef,0x70,0x92,0x06,0x87,0x21,0x1f,0xbb,0x4c,0x04,0xf8,0x1e,0x35,0x5c,0xec,0x70,0x72,0xc5,0x05,0x41,0x75,0xd2,0xed,0x77,0xf3,0x8f,0x46,0x6f,0x00,0x14,0x22,0xda,0x8f,0xcd,0xf0,0x67,0xdb,0x14,0x51,0x00,0x7c,0xab,0x60,0x7f,0x04,0x9c,0x2e,0x26,0x07,0xb5,0x7d,0x44,0x71,0x3c,0x04,},"\xdc\xb9\x1c\xf1\x55\x46\x1a\x60\xdf\x07\xee\xc2\x9d\x98\x61\x6e\xd1\x72\x8b\x34\xef\xa9\xe1\xf7\x44\x5a\x91\x58\xa8\xf8\x8d\x7f\xaa\xae\x0e\x24\x72\x5a\xef\xf2\x63\xc3\xf7\x4f\x0c\x68\x4f\x18\x58\xf0\x5b\x69\x95\xd2\x84\x6b\x6a\x83\x2f\x67\x08\x5a\x42\x76\xd8\x66\x1a\xeb\xd3\xbf\xcc\x73\x18\x1f\x1f\x51\x02\x93\xb6\xde\x5e\x4b\xb2\x3f\xf2\xdc\xa1\xdf\x60\x8c\xb1\x4a\xe5\x22\xac\x4b\x51\xe1\xf9\xb9\x73\xab\x8b\xaf\xcd\x53\x4e\x71\xc5\x71\x81\xb1\x18\x96\xee\x10\x61\xfb\x36\x9c\xa4\xd2\x93\x9d\x1e\x57\x06\x0d\x9f\x4d\xb0\xa5\xc0\xb0\x7d\x52\x68\x7f\x15\x78\x17\xe6\x3e\x2f\xe7\xeb\xcc\x3e\x7c\x95\xef\xe0\x5b\x85\x99\x10\xc9\x5e\xed\xe8\x6d\x14\x39\x9e\x61\x62\x48\xa2\x8c\x24\xc4\x14\xdb\xb6\x93\xaf\x9b\xe4\x35\xa3\xa9\xcd\xc3\x3e\x0e\x2a\x58\x69\x18\xd9\x1b\x8a\x85\xce\xdd\x16\x12\xd7\xc1\xa2\x17\x92\xbd\xd4\x3a\x91\x5b\x15\x7e\x04\xbb\x3a\x44\xec\xbe\x23\xfa\x49\xcc\x55\xda\xab\xbe\xaa\x15\x5a\x73\x7f\x76\x5b\x8d\xdb\x0f\x3b\x15\xd4\xec\xf2\xce\xf7\x05\x4c\xa7\x3e\xc8\x7d\x91\x75\x2c\x2e\x99\x19\x5c\xdb\x19\x58\x84\x4f\x14\x4e\xda\xb8\x2a\x97\x54\x9f\xc9\xce\xc0\x8e\x87\x11\xcf\xf8\x63\xb6\x3f\xc2\x31\xa7\x7f\x76\x2e\x5c\xd9\xda\x9d\x59\x40\x92\x52\xe9\x9a\xb0\x4c\x42\xbc\x57\x09\x7e\x46\x4e\x3c\x6a\x48\xd8\x02\x41\xe6\x32\x5e\x3e\x40\x94\x98\x9b\x34\xc0\xe8\xb3\x2b\x1a\x78\x29\xd5\x4d\xf3\x2a\x05\x0e\xe8\x7d\x8f\x7c\x4f\xe3\xe4\xf4\xf7\x04\x9d\x1f\xee\xcd\xbe\xa6\x71\x08\x35\x0d\xb4\xe8\xed\xbe\x3c\x3f\xf8\xab\x2a\x25\xd1\x47\xb1\xc1\xc5\x82\x1b\x0f\x8c\x21\x04\x2d\x65\x5d\xb8\x31\x69\x1f\x59\x98\x3f\x27\xd2\xed\x1d\x49\x06\xc5\x44\xe2\x4e\x79\xbe\x68\x65\x3c\x9b\x22\x9a\x7f\xb6\x1e\xf5\x45\xba\xb1\x6e\x98\x81\xcb\x4d\x92\x65\xe2\x93\x59\x0a\x0b\xc2\xdc\x86\xba\xd2\x30\x07\xff\x40\xc9\x58\x61\x92\x3b\x49\x82\x41\xc1\x0d\x26\xbf\x48\x48\xf6\x2b\xa7\x38\x3f\x64\x9d\xc3\x8a\xf1\x84\x0d\x0d\xe9\x28\xa9\xbf\xee\x5e\x11\xb5\x14\x34\x16\x3a\x7a\xb1\xed\x53\x74\x15\xf1\xe9\x32\x85\xe3\x69\x92\x05\x72\x01\x58\xf9\x55\x7d\x86\x41\xed\x2b\xf4\x85\xb8\x21\x2c\x8f\x82\x66\x8b\xac\x3c\x22\x8e\x69\x24\xc1\x7d\x0d\x98\xf2\xe6\xd9\x23\x43\x71\xc4\x42\x5e\xb7\x58\x68\x9f\xdb\x0d\xc1\xce\xa1\x39\x4a\x28\x62\xe8\x7b\xb3\x8e\x62\x4c\x34\x79\x91\x68\x61\x32\x78\x22\x5f\xb5\xe1\x9c\x92\x47\xad\xa3\x55\x54\xf2\xc4\xad\xdb\xb6\x1d\x5a\x50\x2a\x70\x81\x27\xd6\xef\xbc\xa8\xf7\x35\x09\x0b\xdf\xdd\x88\xdb\x29\xfb\xd1\x4b\x69\xab\x12\x62\xf0\xc3\xe2\x6d\x26\x3a\x59\xc5\xae\x46\x39\x06\x53\x83\xd5\x25\x0b\x54\xcf\x59\x2b\xb7\xad\xfe\xaa\xe0\xd2\xfe\x81\x6b\x63\x81\xe8\x6e\xa2\xd1\xc7\x18\x13\xcb\xc3\xd8\xfe\x2d\x31\xde\x7b\x30\xfb\x6e\xc2\x29\x4f\xe4\x53\x6a\x36\xc6\xa1\x83\x5a\x71\x62\xab\x4b\xf8\x9d\x19\x46\x61\x19\x65\x7b\x0e\x46\x45\xae\xf5\x03\x50\x5b\x4d\x55\xdf\x97\x7b\xd2\xc9\x0c\x64\x40\x6f\x49\x70\xd5\xcf\xf2\x45\xb8\x35\x32\x2a\x6f\xbe\x23\x4e\x5e\xfb\xb5\xea\x45\xe8\xf0\xd3\x97\x3b\xe4\xaa\xa2\xaa\xda\xab\x07\x7d\x6c\x9b\x25\xbd\x44\x94\x40\x9e\x93\x47\x9d\x2d\x15\x07\xf6\x6b\xc8\xbe\xf8\x29\x99\xa1\x3c\x79\x43\xb4\x72\xb9\xe6\x1e\xc2\x9d\xeb\xef\xbf\x22\x41\x42\x3e\x0f\xaa\x42\xc1\xa3\x38\xa7\xa6\x13\x1d\xed\x93\x5b\xa0\x3a\x28\x66\x2e\x68\x59\x33\x68\xdd\xe5\x4b\x46\x2f\x2a\x5f\xb7\x46\x18\x5f\xf5\x50\x3e\x69\xba\x36\xbf\x16\xf7\x14\x58\xcd\xd0\x57\xe5\xc1\x72\x67\xf6\x74\x98\xd6\x52\x86\x0b\x46\x5e"}, -{{0xf6,0xc9,0xab,0x5e,0xa7,0x5f,0x29,0x4e,0x8e,0x0c,0x07,0xc4,0xc0,0x9e,0xd8,0xee,0xa3,0x11,0x3b,0xdf,0xc2,0xef,0x75,0x9e,0x20,0xa2,0x64,0x57,0x16,0x04,0x10,0x8d,},{0xb1,0x2f,0xf5,0x5b,0xd3,0xec,0x42,0x61,0x0e,0xac,0xea,0x28,0xb3,0x13,0xa1,0x6e,0x19,0xc9,0xe8,0xb4,0x7c,0x2b,0x15,0x17,0x09,0x91,0xbe,0x08,0x8d,0x65,0xcf,0x63,},{0xa7,0xf9,0xd0,0x8b,0xa1,0x41,0x83,0xef,0x24,0x7f,0x2c,0x25,0xfe,0xcc,0x2b,0x83,0xed,0xa6,0xde,0x58,0x02,0x2e,0x46,0x6c,0xe7,0x8f,0xcf,0x50,0xf7,0x1c,0xe2,0x61,0x62,0x44,0x65,0x62,0xee,0xa4,0x5d,0x63,0xa2,0x1c,0x3b,0x22,0x56,0x1f,0xd4,0x68,0x00,0x58,0xac,0xb8,0x25,0x40,0x7a,0x15,0x40,0x8f,0x27,0x13,0x61,0xa1,0x46,0x0f,},"\x71\x62\x3b\x39\x74\x3e\x39\xc7\xe0\x86\x38\x80\x6d\x46\x8a\x1a\x8a\x6f\x35\xc2\xae\x38\x8e\xef\xc2\x73\x74\xbb\x52\x53\x88\x14\xc4\xb3\x6c\x9b\x8e\x38\x9a\xd8\x31\x83\xde\x02\xa1\xbb\xd0\x32\x57\x34\xe4\x61\x87\x54\x09\x23\x37\xd3\xe7\xdc\x12\x56\x92\x8e\x35\x28\x87\x0c\xa7\xf0\x06\x13\xa2\x5b\x71\xbb\x15\xd1\xd9\xea\xaf\xf9\xf2\x26\x9b\x71\xc1\x97\x69\xe0\x03\xce\x84\x56\x14\xb2\xec\x95\xed\x28\xca\x85\x5b\x52\x21\xd4\xcb\x80\xa6\xca\x94\x66\xaa\x33\xe2\x51\x0d\xdf\xf7\xdc\xe1\x86\x15\x9d\xa7\x0f\xc8\xb1\xfb\xac\x12\xa2\x6e\x1f\xc0\x94\x22\x76\x89\x2a\xd6\xe9\xb0\x03\xf5\x69\x59\xbd\x31\x3a\xf2\x89\xe7\xa0\x53\x2a\x66\x4b\x76\xb9\x6b\x91\x98\x54\xe0\x65\x0c\xb8\xc5\x2e\xc4\xc5\xfb\x50\x53\xaf\x2f\x0c\xf8\xc0\xf2\x2a\x52\x3f\x9e\x2c\x64\x19\xdf\x8d\x0b\x71\x4e\xe3\x77\x68\x00\xeb\xfa\x70\x77\x60\x84\x66\x7d\x6d\xcf\x54\x1f\x14\xcf\x16\x62\x62\xe0\xf6\x4c\x42\x76\xae\x28\x88\x5e\x6c\xfd\x09\x7b\x70\xc0\xd6\x18\x6e\xa5\xdb\xd0\x33\x32\x3c\x98\x76\x13\xda\x08\x64\x5d\xe0\x72\x08\xba\xe1\x2a\x17\x8d\x8f\x7f\x65\x0a\x25\xaf\xbd\x70\x1c\x85\xa1\xba\x63\x9e\xf9\xf1\x21\xc4\x0c\x5c\x12\x9a\x47\x37\x34\x33\x86\xa4\x81\x83\xff\x3c\x59\x13\x89\xd8\x9e\xcd\xa5\x26\xcf\xfb\x26\x74\xf1\x7b\xb1\xc2\x30\x90\x55\x4b\x13\x40\x84\x97\x96\xa6\xd4\x44\x46\x0b\xb4\x19\x42\x7e\x93\xe6\x58\x5b\x0f\x4f\x06\x5a\xd8\x7e\xe6\xed\xf5\x4b\xe6\x18\x8a\x1d\xd5\xac\xe1\x36\x4d\xef\xa5\x61\xf7\x4e\x26\x76\x9c\x9b\x29\x1e\xe7\x55\x52\x76\x50\x1c\x6a\x49\x08\x0d\xa0\x92\x4f\x37\x92\xc2\xa7\x28\xa5\x20\x07\xb1\xc0\x7c\x95\x57\x8f\xed\xaf\x40\x39\x96\x23\x9e\x9c\x55\xa9\xa4\x4c\x3d\xfc\xc3\x7c\xdf\x03\xfb\x48\x5d\xb5\xa0\x8d\xff\x15\xa7\xa4\xf7\xb7\xf1\x54\x74\x2e\x84\x31\x56\x4d\xc1\x7d\xbd\x43\x2e\x10\x33\x7c\x22\x76\xfc\xfd\x9d\x70\xf7\xc3\xd5\x70\x39\x3a\x0c\x19\xf6\x40\x51\xc7\x3a\x87\x0e\x20\x55\x84\x10\x65\x31\xd1\xfd\x2a\x1d\xd1\xc9\xd0\xfc\xe1\x4f\xfa\xaa\x07\x7b\xb7\xe2\x60\x25\x1e\xed\x6c\x62\xbc\x6e\xdc\x24\x22\x51\x94\x40\xc2\x24\x4e\xba\x38\x40\x46\xb0\xed\xda\xa6\xcf\x2c\x1c\x7e\xee\xbf\xcd\x78\xfc\xae\x18\xb8\x22\x90\x55\x2b\x59\xc0\x46\x3d\xc4\x50\x61\x8b\xa6\x7c\x77\x0d\xec\x0e\x22\x9b\x84\x60\x93\x6c\xa8\x19\x56\x2b\xcb\x36\x96\x9c\x8f\xf7\x0b\xf1\x13\xc1\x16\x71\xe0\x0b\x94\x13\x55\xbf\x01\xad\x54\xb0\x5c\xfe\x2a\x04\x8b\x38\x72\x8c\xbd\xd1\xb4\x98\x09\xe1\xf2\x07\xac\xa3\x09\x8d\x99\x42\xee\xc4\x7d\x6c\x9d\x41\x3b\x37\xc9\x14\xfe\xdd\x38\xac\xd5\xff\xe4\x96\xca\xc7\x57\xc2\xef\x8b\x77\xbd\x84\x03\xd1\x4b\x1f\xc9\x8a\x90\x3f\xe2\xb9\x79\x46\x82\x33\xa7\xf2\xae\xd6\xf8\xd5\x09\xd8\x74\xe1\xdc\xe0\x51\x49\xaf\x9d\xf3\xfe\x45\x95\xc7\x1e\x8b\xc4\x63\xde\xe9\x38\x4d\x5e\x05\x05\xd2\xa6\xb0\xa2\xb8\xa1\xed\x62\x16\xaa\xae\x9d\xcc\x76\x02\x48\x7a\x4c\x08\x51\xfd\xf0\x96\x29\xc1\xe9\x91\x18\x80\x9a\x95\x44\xa6\x57\x7a\xf9\xf9\x15\xd1\xe6\x5d\x81\x62\x20\xc4\x8c\x84\x90\xfa\x9b\x70\xda\x42\x2a\xd6\x80\x02\x23\xd6\xd8\xc3\x40\xf9\xea\xb2\xcc\x7e\x14\x93\x62\x12\x4a\x30\x0b\x40\xcb\xb8\xc0\xa6\x5d\xa3\x01\xdb\xba\x93\x1b\xa5\x64\xf3\x59\x73\xca\x8b\xf2\xd1\xed\xb5\x6c\x19\x46\x61\x95\x5b\x3b\x68\x38\x1f\xa1\x5d\x4b\x8d\xc6\xad\xa1\xa5\xce\xbd\xa3\xa4\xcc\xc5\x51\x23\xe0\x05\x7f\x4f\x82\x10\x41\x93\x7d\xd5\x49\x20\x9c\x82\xe1\x16\x57\x0b\xc9\x08\xa2\x8e\x32\x99\xa9\x44\x14\x43\x49\x8f\x74\xb3\xcc\x88\xe1\xa6\x2d"}, -{{0x43,0x10,0x3d,0xf0,0x1a,0x48,0xa0,0x3c,0x57,0xf3,0x2f,0x52,0xd7,0x0c,0x68,0x49,0xee,0x44,0x58,0x0b,0x2a,0xb4,0xee,0x72,0xd5,0x48,0xd8,0x48,0x13,0x4f,0x7c,0xeb,},{0xa3,0xcb,0xe0,0xd6,0x4b,0x05,0x60,0xbc,0xb5,0xae,0x00,0x90,0x01,0xe3,0x14,0xd9,0xec,0x90,0x79,0x01,0xdd,0x74,0xa8,0x04,0xa0,0x05,0x90,0x22,0xed,0x9c,0x6d,0x04,},{0x19,0x54,0x47,0xbe,0xb1,0xde,0x4a,0x7e,0x36,0xea,0x89,0xa6,0xce,0x3c,0x99,0xbc,0xc8,0x94,0x11,0xdf,0x5e,0x0b,0x15,0xf7,0xba,0x0b,0x1d,0x11,0x0c,0x45,0x6a,0xbc,0x6b,0x3f,0x5f,0x1d,0xa6,0x10,0x6e,0xd8,0x87,0x86,0x4b,0xa5,0x6a,0xab,0x46,0x6a,0x8a,0x63,0xb3,0x35,0xcf,0xcf,0x4c,0x64,0xd6,0x5c,0x0e,0x6f,0xb4,0x80,0xb4,0x01,},"\x73\x8c\xbf\x06\xd0\x0d\x4d\xcd\x5e\x5f\x24\x3a\x1c\x18\xdd\x5e\xc2\x02\x78\x88\x46\x95\xa1\xcf\x3b\xea\x67\xbb\x5b\x05\xdd\x7e\x60\xa2\xa2\x4f\xd3\x25\xbe\x6b\xf4\x6b\x46\x28\x73\xec\x90\x7f\x9d\xe8\x8d\xc2\xc7\x62\x62\x0b\x7e\x0e\xf7\x27\x65\xd4\xbd\xa6\x62\x45\x49\x93\xc8\x28\xa1\x74\x6e\x9e\xd8\xd1\x9d\xff\x43\xc4\xc4\x85\x27\xac\x84\x5f\x21\x86\xa4\xad\x7c\x1d\x99\x2a\x16\x24\x5c\xd5\x73\x07\x3e\x09\x40\xdc\xee\xd3\x68\x11\x0b\xb5\xfd\x0a\x4c\x88\x34\xce\x88\xa7\x71\x25\xb9\x14\x73\x93\xc8\xb5\x8c\xb1\x6e\x5e\xbd\xc1\x82\x44\xeb\xfa\x48\xba\xba\x46\x97\x3f\xdc\xd4\x85\xb1\xb2\xe5\xf3\xb0\xe7\x09\x92\xcf\x19\x99\x58\x06\x38\xd8\x7f\x1f\x5b\x27\xc4\xd7\xf9\x1d\xec\xf3\x7d\xe2\xe7\x34\xe3\x19\x55\x35\xc6\x31\x08\x2b\x3e\xba\xa8\xce\x30\xa9\xc2\xc2\xdb\x01\x6d\x7d\x35\x47\xe6\x21\x61\x88\x50\xe2\x20\x40\x03\x8d\x0f\xe0\xfa\xea\x2f\x9b\xf5\x10\xb6\x82\xc4\xfd\x14\x75\x0e\x89\xb4\xc1\x99\xef\x0c\x99\x05\x00\x54\x3e\xee\xab\x5f\x0b\x50\x7a\x31\x31\x99\xc2\xa2\xa0\x26\x2d\x6d\x81\x4c\xbc\x09\x33\xc5\x92\xe2\x56\xc3\xe2\x9d\x52\x4b\x06\x6e\xa5\xa4\x54\x33\x61\xa1\x04\x50\xe0\xaa\x67\x5c\x61\x40\x8f\x30\x7f\x26\xee\x58\x96\x9d\x63\x27\x8f\x13\x5b\x7d\xcb\x66\x6b\x93\xf2\xca\xcf\xd8\x38\x73\x47\x1e\x97\x4a\x28\x6b\x09\x02\x3f\x50\x15\xfa\x1a\xaf\x18\xbf\xbf\xa5\xf7\x43\x85\xd0\xdf\x6b\x9a\xdd\x51\x6f\xfc\x0c\x31\x13\xe3\x7e\x09\x78\x38\x64\x6a\xc9\x30\x54\xff\x4d\x96\x02\x06\x67\x44\xba\x33\x96\x95\x3f\xd7\x81\x68\x13\x01\x70\xbb\x27\x5c\x15\x2b\xdd\x36\x6f\x73\x06\x5c\x0a\x7a\xd7\xad\x00\x75\x8c\xb9\x9a\x7a\xc1\xb7\x80\x9d\x26\xdf\xaa\xc7\x58\x46\x82\x01\xee\xb6\x0d\xea\x36\x8c\x33\xf2\x57\xaf\xe2\xf1\xb4\xc0\x2e\x37\xba\xfe\x40\xf5\xd7\xfd\x40\xc8\x7d\x1c\x56\xa0\xcb\x28\xe9\xd2\x83\x69\xa3\x92\x4b\xce\xf8\xb6\xd9\x99\xdc\xf4\x29\x4d\xd8\xc4\x14\x3d\x75\xc6\xc2\x5b\x5a\x45\x44\x48\x8d\xde\x72\x52\x48\xc7\x8d\x93\xc1\x5b\x81\x5b\x01\xcb\xd0\xf3\x1d\x1b\x00\xac\x04\x83\x7e\xf8\x5b\x40\x03\xfc\x96\xd4\x45\x7a\xc5\xa0\x23\x62\x3e\x67\xb6\x6d\xa4\x70\x0a\x08\x59\xf8\x3f\xdc\xcd\x3c\x7a\xae\x09\xde\x09\xa0\x57\xe0\x0d\xb4\x4a\x2a\x6a\xac\xaa\x21\x74\x6a\x49\xb8\x22\x46\x89\xa5\xcc\x18\x54\xba\x3d\xc4\xaa\x2a\xa3\x45\x24\xe7\xa5\xa8\x9d\x11\xee\xa3\x56\xaa\xea\x5e\xf5\xfb\xf5\x42\xc9\x9f\x54\x4d\xb9\x40\xf5\x08\x68\x38\xee\x2a\xb2\x18\xb8\xd3\xf2\xe1\x07\xd0\xb2\x9d\x4b\x04\x83\x0e\xed\x79\xc0\x76\x8e\x02\xc2\x84\x4b\x3c\xba\x32\x68\x95\xf4\xab\x38\xa3\x99\x4b\x83\xab\x30\x60\x0f\xf5\x11\xcc\xb5\x95\x99\x2f\x8c\xc0\xd2\x95\x48\x07\x97\x2d\xa3\x65\xb0\x6f\xbd\xab\x53\x9b\x2e\x03\x59\x8b\x34\xe5\x3c\xfc\xf9\x39\x90\xb9\x7a\xac\x1d\x32\x97\x83\x36\x6d\x45\x1f\x97\x2b\x8d\x8a\x00\xb6\xb8\xec\xdb\x37\x27\x96\x44\xce\xc1\x44\x7c\x09\x98\xee\x4f\x70\x90\xf3\x4c\x9c\xc8\x53\x05\x90\xca\xe7\x65\x36\x0a\xad\xb0\xab\x31\x35\x00\x49\x41\xc9\x23\x02\xcb\xb2\xb3\x50\xa1\x4e\x8f\x30\xaf\x53\x25\xc2\xb4\x38\x00\x5e\x3a\x9d\x45\x85\xe6\x32\x65\xc3\x27\xba\x72\x57\x54\xb3\x32\x56\x91\x7f\xb9\x65\xae\x9f\x02\xed\x21\x26\xb4\x81\x47\x3d\xc0\xe9\x31\xc2\x52\x2b\xf0\x0f\xe6\xa2\xec\x95\xc7\x92\x24\x7b\x1e\x03\x39\x61\x12\xf7\x83\x07\x0e\x2f\xe6\xc2\xcb\x98\x22\x50\xd1\x3f\x2d\x54\x60\xc7\x44\xfd\xe4\x53\x23\xe6\x31\xcc\xcb\x54\x0c\xd7\x25\xf2\xc5\x5a\x70\x58\xf2\x30\xe8\x2b\x79\xf3\x66\xaf\xcb\xb0\x25\xb4\x92\x55\x43\x95"}, -{{0xf9,0x13,0x9e,0x57,0x9f,0xa9,0x6e,0xbd,0x62,0x87,0xdb,0x3b,0xab,0xcd,0xa6,0x0f,0x92,0xe7,0x31,0x53,0x56,0x6f,0x92,0x4c,0xb5,0xde,0x04,0xde,0x44,0x93,0x48,0x1e,},{0xc0,0x6c,0xe3,0x35,0x53,0x3a,0xf8,0xd8,0xf3,0x37,0xf2,0xb3,0x8e,0x0a,0xaf,0xa2,0xce,0x9b,0x27,0x22,0x3c,0xd9,0xdd,0xc5,0xef,0x32,0x02,0x7f,0x04,0x88,0x9b,0x7f,},{0x05,0x1d,0x8d,0x7f,0x0b,0x68,0xd2,0xee,0xc7,0x2c,0x81,0xad,0xfc,0xfb,0x31,0xae,0x85,0x58,0xf6,0x0a,0xb6,0x3c,0x9f,0x56,0x52,0xa8,0xdf,0x63,0x8f,0x66,0x6f,0x1e,0xbc,0x0c,0x6e,0x0b,0x41,0x19,0x53,0xbc,0xda,0x6b,0x51,0x51,0xb2,0xb9,0x3a,0x39,0xe3,0xc5,0x33,0x0a,0x85,0x73,0xe1,0x68,0x79,0x22,0x72,0xab,0xd3,0x6c,0x81,0x0a,},"\xb3\x30\x76\x4d\xdc\x62\x8e\x4a\xd6\x7a\xa4\x98\x2a\xe8\x6d\x45\x81\x07\x1c\x19\x3e\xc3\xc5\x8f\x81\x3d\x79\x21\xb8\x4d\x2a\x54\x56\x2b\xd8\x74\x17\xae\x1d\xe5\x90\xa1\xa4\x8c\x4e\xc7\xd5\x56\xad\x93\x1d\x65\xc0\x54\x3f\xdf\x06\x07\xc7\x49\x85\x9e\xe1\x2f\x99\x52\x02\x0c\x19\x5c\xf8\x74\x60\x95\xe1\x08\x7c\xc6\xc3\xc8\xef\x9d\x24\x05\x25\x60\xce\x81\x3d\x61\x39\xb7\xa7\x5c\x8f\x4b\x8e\xa3\x0a\x9c\x4a\xb8\x88\xd0\xa6\x34\x1c\x99\xab\xd3\x5e\x09\x03\xbf\xe5\x6c\x93\x15\x23\x40\xc4\x12\x76\xd7\xf2\x4e\x09\x12\xb1\x2a\x4d\xb3\xd7\xee\x44\x84\xdf\xa5\x3a\xfc\x0b\x1a\xea\x14\x09\xd1\xe0\x32\x8a\xa1\xc8\x60\x41\x27\xca\x2e\xb1\xa5\xe8\x1b\xf3\x1f\x8c\x7a\x51\xc6\x05\x2c\x53\x4e\xfe\x6b\x3d\x0e\xe7\x4f\xf5\xa9\xb1\x1c\x61\x57\xe3\x64\x77\xef\xa9\x38\x2f\x57\x51\xbe\x8c\x8c\x64\x54\xc4\x46\xd6\xf8\xdc\x7e\x92\x95\x25\xcc\x3d\xe7\x8c\xb1\xba\x4a\xba\x9b\xd4\xbe\x15\x26\x10\x43\x75\x82\xc9\x65\xee\xa4\x8c\xbd\x4c\xaa\x6f\x30\x8f\x85\xf4\xf8\xd0\x06\xa0\x42\xf6\x19\x20\x07\x62\xe1\xbb\x9b\xa4\x22\xe6\x54\x75\xb3\x3a\x94\x94\x29\x8c\xfb\xb7\x5a\x15\x2b\x36\xd2\xa0\x55\x01\x80\x77\x05\xb9\x52\x76\x53\x50\xcd\x14\x14\x1d\x35\xd4\x98\x66\x92\xd6\xc3\xbc\xfc\x6d\x61\xdf\x00\x52\xa6\x20\xaa\xb8\xcc\x13\x20\x5e\x75\x4c\x16\xf9\x3e\xca\x79\x20\xbb\xea\x51\x57\xef\x11\x2f\x0b\x64\xc1\x05\x4f\x90\xa5\xdd\xc1\x75\xa8\x9e\x29\x24\x2f\x57\x64\x6e\x74\xcc\x88\x5e\x81\xa1\xcc\x14\x4c\x3d\x78\x2d\x11\x52\xa9\xe4\xcf\xe7\x6c\xb3\xff\xab\xe7\xdb\xe6\x03\xfb\x38\x69\xec\xa8\x69\x96\x98\x70\x9c\xc8\x7f\xc9\x61\xc1\xe2\x99\xcf\xca\x22\xe3\x24\x2e\xae\x78\x8c\xff\x11\xbf\xca\x61\x02\x67\x45\xf4\x97\x62\x25\xb2\x6e\xe2\x00\xc4\xf1\x91\x0c\x4b\x83\xdf\x5c\xe4\x6e\xf4\x87\xd7\x48\xd9\xc4\xc5\x02\x14\x1b\x78\x74\xca\xf4\x1e\x5a\x29\x7b\x24\x8c\x2b\xac\x69\x90\xa1\x5b\x07\xb4\xcf\x81\x0e\x59\x28\x74\x42\xd9\xa3\x69\x6c\x02\xe8\xd7\x32\x4d\x3c\xf7\x30\xdd\xa5\x40\x53\x6b\xeb\x13\xcf\xde\xae\x61\x80\xdd\x74\x84\x83\x2d\xfa\x94\xe9\x4a\xa6\xcb\xa1\x17\xaa\xe1\x72\x70\xf4\x8f\x93\xb2\xf9\x8a\xe9\x58\x17\x18\x16\x3f\x44\x63\x54\x6c\x0a\xe0\xf2\x79\xc3\x6b\x92\xbe\xe6\x6f\x1c\xa2\xd6\xa4\xf7\x26\xd2\xdf\xee\x0b\xc1\x1c\x1d\x8a\x1f\xa6\x2c\x3c\xc8\xab\xa2\x66\xb9\x87\x59\x28\x6c\x10\x68\x48\x3b\x23\x76\xb4\x03\xc8\x87\xfb\xb6\x57\xdc\x0f\x25\x5d\xea\x90\xdb\xd2\x33\x08\xf7\xe0\xe8\x42\xb4\x98\xa8\xdf\xc7\xc9\xcd\x5a\xef\x0e\x87\xd5\x6b\xe4\x0d\x50\xfc\x1d\xd4\xc0\xaa\x7d\xee\x55\xae\xbe\x4d\x6b\x6a\x52\x05\x39\x62\xb8\x7b\x0f\x2e\xe0\x9a\x90\x81\x61\x55\x33\x3d\x5c\x57\xa1\x47\x24\xe0\x01\xbc\x3d\xed\x17\x84\x3b\x76\xe2\xc4\x7a\x17\x63\x39\xc8\xde\xfc\x54\xb5\x5b\x23\x58\xae\x7d\x01\xb0\xf6\xe0\x8f\x31\x21\x6a\xe9\x03\x40\x69\x41\x68\xa5\xa7\x9e\xe8\x83\xea\x78\x58\x00\x7d\x17\xc3\x73\x59\xc9\x9d\x65\x97\xef\xe4\x60\xc1\xa2\xf7\x73\x8a\xc3\x2c\x5e\xb5\xe3\x9e\x50\x0c\x49\xc0\xdf\xf9\xc4\x65\x9e\x8c\x50\xcc\x5c\xa7\x9d\x8b\xa4\xe5\x97\x2d\x67\x22\x54\x68\xfb\xa6\x41\x67\xa6\xb2\xc6\xf3\x68\x93\x5c\x7a\x04\x9d\x35\xd3\x55\xc7\x67\x25\x20\xd3\xc9\xe4\xe4\x3c\x67\x1c\x3c\xb8\xde\xe2\x59\x04\x74\x95\xde\x0f\x56\xdd\x71\x91\xd5\xbd\x4b\xbd\x29\x51\x7e\x36\x47\x92\xff\x89\xd3\x37\x99\xb6\xe7\x81\xc2\x01\x93\xf5\xa3\x16\xfb\x40\xde\x74\xfe\xe2\xac\xc2\x5e\x47\xf5\x12\x21\x4d\xe3\xb1\xe9\xb3\x82\xa8\x69\x29\xc1\x57\x3d\x37\x24\xc2\x50\x17\xc0\xe5"}, -{{0xc8,0xee,0x95,0x4d,0xb5,0xa1,0x1b,0x29,0x2e,0xd9,0x77,0x64,0xfa,0xe6,0xb2,0x83,0x05,0x1d,0xb5,0x7d,0xcd,0xc0,0xaa,0x0d,0xf5,0x39,0x3b,0xb6,0x0c,0x11,0x2e,0xd3,},{0x5c,0x2f,0x81,0x82,0x4e,0x99,0x75,0xdd,0x7e,0xa3,0x53,0xbc,0x66,0x80,0x7d,0xed,0xc7,0x61,0x03,0x49,0x79,0x4e,0x2f,0xc0,0x8e,0x5a,0x31,0xe0,0x02,0xe3,0xfe,0x07,},{0xf3,0x07,0x7a,0x75,0x10,0x1e,0x12,0x1e,0x5c,0x3e,0x77,0xd8,0xed,0x97,0xb5,0x78,0xd2,0x39,0xbd,0x42,0x18,0x03,0xd3,0x45,0x5b,0x56,0x54,0x40,0x5a,0x4c,0x58,0x6a,0x60,0x92,0xe1,0x3a,0x85,0x29,0xba,0xce,0x46,0x8a,0x30,0x57,0x84,0xb3,0x73,0xe4,0x33,0xfe,0xe4,0xa3,0xdf,0x89,0x56,0xbe,0xfa,0x01,0x2f,0xd8,0xa8,0xee,0xd1,0x0c,},"\x7b\xa3\xfb\x56\x83\x15\xaa\x81\xe2\x1f\x19\x77\x80\xed\xc2\xc6\xea\x26\xd8\xd0\x6a\x43\x78\x91\x2f\xca\x23\x01\xcf\x1e\xab\x3d\x80\x3c\x84\x69\xde\xdd\xf3\x76\x70\x3d\xdb\x7c\xe0\x6a\x77\xda\xb2\x0e\x02\x34\x4f\xad\xcc\x50\x02\x2a\xb3\xc7\x13\xcd\x03\xc1\xda\xa9\x3f\x1c\x7e\xa5\x72\x62\x9f\x61\x0b\x5e\x3c\x51\x41\x1b\xb8\xc1\x96\x94\xbb\xce\x90\x3c\xac\x47\x05\xf9\xb5\xdd\x0f\x47\xbc\x5d\x0a\xa3\x25\x3f\x90\x88\x70\x29\x90\x27\xff\xbd\x34\x49\xee\xba\xd4\x53\x32\xb5\xd0\xc4\xf5\x33\xdb\xed\x18\xa9\x9a\x24\x98\xb9\x16\x4e\x24\x5f\xb6\x5c\x0a\xfa\x0b\x05\x37\x03\xa0\xcf\x95\x94\x0a\xc7\xa0\x19\x5d\x4f\x70\x46\x60\x9c\xf0\x43\x71\x33\x87\x06\xb9\xb1\x98\x6c\x0f\x11\x81\x75\xd2\xcd\xfc\xe7\x4a\x6f\x88\x65\x98\x25\x85\x4e\x94\xec\xe5\x8f\x51\x57\x63\x6d\x62\x35\xb7\x6d\x32\x74\x5a\x2a\x81\xa9\x67\x1a\x8f\x86\x02\x7b\xa9\xe0\x17\x63\x88\x8f\xc1\x71\xce\xf7\xc4\x51\xc3\x60\x72\xbc\x74\x99\x83\x9d\x43\x1c\xf1\x8c\xd7\xc6\xc9\xfb\xa3\xaa\x71\x2a\x05\x43\x28\xcc\xd6\x2b\xe4\x82\x0a\xbd\x5e\x78\x21\x62\x76\x46\x11\xd4\x53\x9b\xa2\xce\xbd\xc2\x09\xb3\xf4\xe4\xb6\x9c\x3d\x64\x07\x3e\x92\x0d\x21\x52\x14\xfb\x0f\xda\x44\x18\x5a\xad\xa5\xc3\x61\x27\xa1\x5b\xa1\x5c\xa2\x8a\x3a\xd0\x86\xe9\xd0\x33\x66\x86\x9c\x60\xc3\xfb\xce\xbd\x86\x9d\x2e\x40\x64\x3e\x83\x3f\x89\x48\x03\xf9\x80\xa2\xda\x7e\xa4\xe5\x9c\xe4\xd7\xc0\x6f\xd2\xaf\xf0\x87\xee\x7b\xcf\xdd\xaa\x3b\x32\x81\x7c\xe6\x3a\x63\x58\x7d\xba\xfe\xf3\x80\x01\x3a\x6f\x1e\xe3\x73\x4b\x94\xca\x3d\xf9\x64\x4d\xd0\x43\x43\x02\xec\xb3\x24\xaf\xe3\x5f\x46\x5c\x9c\x1c\x93\x1b\x27\x29\x4f\xc6\xee\x02\x72\xde\x22\x42\xae\x90\xd7\xf2\xe0\x67\x02\x7e\xf8\x64\x2e\x8f\x17\x1e\xd8\x80\xff\xab\xce\x8a\x20\xa1\xb3\xe3\x39\xad\x4e\x3f\x1a\x90\x01\xf2\x0f\x90\x02\x61\x88\xfd\xe3\x4b\x21\x7a\x6e\x26\xaa\xff\x18\x42\x2b\x7f\x84\x3d\x0f\xdd\xa3\x21\xc3\x19\xc7\x78\xf2\x31\x37\xf2\x0c\xcc\x1b\xda\x18\x90\xe5\xbc\x91\x6a\x54\x56\xd0\x68\xd3\x7b\x5a\xcc\x63\x47\x72\x0c\x56\xa5\xa4\x91\xbc\x34\x8d\x6c\x84\x8a\x9c\x8f\xec\xfe\x58\xc9\x2b\x1f\x30\x2f\xe1\x49\x19\x71\x8c\xd5\xe7\x8b\x7f\xd6\x01\xd0\x9d\xc0\x1e\x69\x04\x86\x1e\x8d\x68\xb3\xc5\x75\x35\xb6\x13\x66\x76\xcb\xc6\xe8\x39\xaf\x0d\xd7\x39\xdb\x89\xa7\xab\xd9\x13\xfd\xf6\xb0\x0e\x9c\xa0\x26\x02\xde\x6c\xa0\xaf\xd0\x91\x3d\x99\x2f\xba\xa8\xff\x82\x2b\x9d\x9b\x09\xdd\xa7\xa2\x9b\xe9\x19\x10\xd8\xfa\x3c\xaa\x2a\x5e\x51\x83\x46\xc1\x67\xc9\xf5\x19\x41\xcf\x73\x53\xf3\xf3\x4c\x1d\xab\x33\x48\x5d\x0a\x8c\x19\xda\xf9\x51\xfd\x3e\xf2\x0d\x0b\x11\x9d\x80\x38\xdf\x90\xc1\x14\xa2\x5a\x5b\x93\xae\x40\xec\x44\xb9\xa5\xd2\xbc\x1c\x65\x17\xc6\x82\x50\x0d\x4c\xdc\x19\x71\x42\xbe\xc3\xaf\x82\x32\xc0\x71\x42\x8d\xc5\x4c\x0d\x30\x45\x42\x72\xe7\x33\x6b\x0b\x58\x88\xa6\xe8\xfe\xcd\xe8\x59\xe2\xac\xcb\x7f\xb0\x94\xac\xc5\x4f\xfa\x48\x1f\x76\x23\xd9\x44\x69\x1f\x04\xfb\x36\x13\xa9\x95\x49\x80\xf1\x7e\x2a\xd2\x17\x3d\x68\xcf\x0e\xc1\xb6\x7d\x8a\x91\xd6\xec\x82\x94\x6b\xcf\x05\xcb\x90\x68\x1a\x71\x62\x7b\x59\x02\x38\x33\x4e\x3d\x5a\xb9\xda\x6a\x08\x9b\xd7\x26\x24\xdf\x90\x74\xcd\xd2\x30\x9e\x04\xdf\xca\xe0\x32\x81\x2f\xe8\x4f\x9d\xb8\x82\xcd\xea\xae\x69\xee\x5d\xaa\x5a\x66\xff\x42\x7f\xc4\x52\xed\xd0\x76\x9b\x6a\xab\xcc\x13\x9d\x0f\x70\xaf\x8b\x97\x43\x0e\x64\x4f\x58\xa4\x12\x87\xa9\x3f\x63\x1d\xed\xa8\x2c\xa0\x71\x6d\x79\x75\x4c\x5c\x50\x3e\x52\xa6\x65\xda"}, -{{0x6d,0xbc,0x55,0x9e,0x4a,0xb1,0x93,0xee,0xbf,0x70,0xc5,0xc3,0x2d,0x79,0x7b,0xe0,0x0b,0x73,0x11,0xe8,0xe6,0x69,0x1d,0xa9,0xaf,0xcc,0x18,0x72,0x91,0xf2,0x50,0x1c,},{0x38,0xa7,0x03,0x44,0x76,0xfb,0x93,0x82,0xf1,0x41,0x77,0x68,0xc4,0x21,0x62,0x95,0x1a,0x26,0x36,0x90,0x2c,0x38,0x98,0xc0,0x29,0xbe,0x27,0x8a,0xb4,0xc3,0x1f,0x31,},{0x31,0xf1,0x6a,0x7c,0xaf,0x2b,0x74,0xf6,0x5e,0x05,0x7c,0x93,0x33,0xa1,0xa2,0x63,0x3d,0xac,0x73,0x46,0x33,0x8f,0x79,0x85,0x10,0x73,0x0e,0xb8,0xd5,0xd3,0x25,0xfc,0x10,0x80,0xdd,0x5a,0xad,0x5f,0xce,0x05,0x34,0xe9,0x54,0x3f,0x3c,0x93,0x58,0x68,0x04,0x46,0x4a,0xf5,0x88,0x6e,0x86,0x44,0x12,0x9c,0x77,0xeb,0xaa,0x48,0x5f,0x01,},"\x88\xee\x23\x65\xf7\xcf\x9d\xe3\x3a\xcd\x53\x56\x49\x68\xb2\xdc\x7f\x73\x70\xb7\xe7\x03\x3f\x4c\x66\x3a\x88\xc2\x5f\x60\xf7\xf7\x11\xd6\x19\x08\xeb\xf1\xf5\xbb\x72\x83\x55\x53\xc8\xaa\x8c\x8e\x4f\xcd\xec\xd3\x79\x78\x23\x82\x89\xbf\x6c\xa8\x48\x76\xd2\x28\x21\x7a\x28\xd8\x1b\x0b\x45\x7c\x92\x2e\x91\xec\xba\x8d\x3e\x1d\x2e\x66\x59\xc2\xb0\xae\xa0\x51\xb9\xc2\xe0\x9c\x7d\xfe\xb5\x1d\x30\xed\xe7\x67\x57\x03\x41\xff\xac\x1e\xcf\x0d\xe2\x0c\x82\xd1\xe9\xed\x07\x75\xde\xac\x72\xda\x7c\x2d\xec\x23\x48\x65\xde\xc8\x3f\x67\x15\xe1\xc3\xc5\x9d\xe2\x03\x3c\xc2\x4d\x86\xbc\x2d\x31\xaa\x16\x64\x96\x86\xed\xe0\xdb\xbd\x89\x64\xc3\xa6\x4a\x3d\xca\x55\x88\xd7\x24\x8b\x1f\x24\xdf\x8d\x75\xf0\x9a\xac\x62\xc0\x78\x28\xca\x43\x1a\x3a\x2d\x77\xa6\x0c\xc9\x3c\xfa\x34\x95\xca\xbe\xb1\x90\x4e\xd5\xb5\x63\x98\x4e\x8c\x20\x77\x7b\xac\x87\x74\x10\x8a\x64\xed\xa5\x8f\xb3\x20\x24\x4a\x3a\xdd\x3e\x3e\x7a\x76\xcd\x13\x7c\xfa\x4a\x09\xb6\xe6\xe9\x30\x11\xea\x0a\xe6\x51\x71\xaf\x13\x07\x11\x76\x6c\xd2\x5b\x3c\x74\xec\x54\xc0\xbd\xfa\x02\xb3\x12\x0a\xc2\x90\x87\xeb\xac\x98\x37\xfc\xa6\x5b\xa9\x71\xbc\x42\x81\xdd\x55\x7c\x50\x0e\x22\x5e\xa6\x6c\x3c\x3f\xd5\x22\x06\xc1\x9a\x9f\x93\x95\x46\x31\x69\xf8\xc7\xa8\x46\xbd\x9f\x83\x4d\x7f\x33\x7d\x0b\x61\xfb\x30\xbc\xe2\x94\xf4\x78\xae\x1f\x1d\x97\x7e\x45\x4e\x43\x3e\xe8\x72\x9f\xb0\x65\xcc\xe0\x3f\xb2\xe4\x35\xdc\xbc\xbf\xba\x01\x53\x7e\x7a\x67\x62\xe5\x5e\x7e\xd2\x25\x28\x30\x37\x04\xbe\xb5\xae\x38\x1f\x2e\x18\x10\x56\xf2\x51\x33\x27\x3c\xf1\x7d\xdf\x2b\x06\xe2\xd9\x47\x7f\x2c\x09\x75\x5f\xc8\xd9\xc7\x3c\xb3\x31\x00\x46\x8c\x64\x13\x1c\x68\x6c\xac\x79\xfd\x38\x45\x01\xe5\x0f\x8b\x0b\xee\x28\xba\x39\x58\x3f\x42\xe4\xfd\x37\x99\xe2\x4f\x60\xda\x5f\xd3\xc7\x79\xaa\xbf\x69\x9f\xfd\x23\x21\xed\x04\x5a\x85\xbc\x64\x24\xf6\x0f\xdc\xc4\x9c\x1c\xb3\x1f\x24\x9a\x42\x36\xc0\x94\x91\x76\x81\x81\xb9\x21\xf5\x86\x02\xfd\x41\x5c\x1e\xde\xb2\x6f\x39\x32\x4a\xdd\xff\x14\x77\x13\x24\x73\x7c\x67\x20\xcc\x92\x39\x1b\x94\x9d\xcb\x42\x12\xbd\x69\x31\xd4\xde\x51\x40\x1e\x7f\x95\x3b\x7b\x03\x6b\x22\x3f\x0a\xf7\xa8\xe4\x08\xb0\x4e\xa6\x35\xa2\x3f\xa0\x70\x9b\xa0\x42\xa5\xd9\x92\x95\x4c\x09\xd8\x58\x1d\xcc\xcf\x52\x56\x8a\xd2\x7a\x1c\xc7\x1d\x18\xaa\x27\x40\xf6\x21\x21\x2e\x7f\x4c\x5e\x5e\x5e\x5e\x45\x32\xd9\xa6\x7e\xc2\x77\x3a\xc2\x1c\x8a\x4b\x00\x2d\x65\x24\xf6\x18\x2d\xd3\x71\x73\x5d\x2c\x2a\xbe\x6c\x95\xc2\x81\xc6\xfb\x1e\x97\x6b\xc1\x7e\x38\x3f\xd5\x2a\xea\xaa\x9f\xbd\x4a\xbb\x82\xa2\xcc\x65\x39\x5f\x8c\x2c\xc7\xd8\x18\x2a\x0d\x25\x0c\x68\x5c\xfc\xba\x93\xa9\x51\xee\x7c\x50\x3c\x6e\x3e\xec\x23\x6c\xe3\x3e\x08\x6c\x61\x07\x28\x73\x7c\x1c\x3b\x3a\x24\x25\x2d\xa7\xf2\x16\x72\xd9\x28\xeb\xda\x99\x3a\x94\xc4\x58\xab\x99\x0f\x5d\x19\xd8\x00\x23\xc3\x6a\xa1\x6e\xaf\xca\xb1\x43\xf3\x52\xe9\x7d\x64\x09\xf3\x24\x99\x41\x11\x9b\xfd\x9f\x5f\x90\x84\x72\x4d\x9e\xba\xd3\x83\xb1\x0f\x34\xd3\x3a\xc8\x30\xcc\xe9\xe5\xcb\x8a\xec\xee\x6f\x40\x30\x1c\xbb\xe3\x09\xfd\x06\x15\x34\xa7\xd0\xc3\xed\xaa\xea\x02\xa1\x71\xd8\xb2\x34\x9d\xbe\xec\x62\x85\x20\xac\x33\x4a\x5b\xfe\x28\xa9\xd5\xf4\xc0\xd7\x40\xf7\xc7\x2d\x4d\x72\xd8\x9a\x97\x32\x6a\x03\x00\x2d\x1e\xf3\x85\x22\xbc\xd3\x7b\x42\x84\x7a\x31\x4b\xd8\x43\xec\x88\xd1\xf2\xf9\xd3\x9f\x57\xf2\xf1\xa1\x3d\x01\x40\xa8\x84\x74\x50\x44\x8c\x88\x0b\x3a\xe7\x65\x31\xe9\x5c\x43\x92\x97\x32\x50"}, -{{0xc9,0xd4,0x16,0x83,0x0a,0xe2,0x02,0x8f,0x21,0x75,0xd2,0x2b,0x61,0x4c,0x79,0x19,0x8c,0x67,0x0c,0xfa,0xa0,0xe7,0xa3,0x61,0x50,0xef,0x0f,0xee,0x21,0xa9,0x5c,0xe6,},{0x6e,0x3e,0xb4,0xd0,0x18,0x73,0x07,0x2d,0xf9,0x46,0xf1,0x79,0x2f,0x71,0x06,0x33,0x08,0x95,0xe7,0xa7,0x6d,0xd9,0xae,0x27,0xf8,0xa9,0x88,0x03,0x94,0x90,0xfd,0x4b,},{0x47,0xfa,0xad,0x4e,0x65,0x52,0x93,0xed,0xa1,0x56,0xb2,0xa1,0xfa,0xbb,0xfb,0x7e,0x00,0x9f,0xc2,0x90,0xaa,0xfe,0xdb,0xd5,0x65,0x21,0x14,0xa4,0x78,0x53,0xbc,0x77,0xa8,0x23,0x3a,0x2b,0x17,0x9f,0x60,0x54,0x77,0xd7,0x87,0x87,0x8c,0xbb,0x15,0xea,0x61,0x24,0xdf,0x8d,0xc5,0x7b,0x2c,0xe7,0xbe,0x7d,0x18,0xb7,0x16,0x2f,0xb5,0x0d,},"\xff\x9a\xd4\x83\x7c\xd0\xbb\x77\xd6\x21\x0f\xdd\xdc\x75\x5e\x6c\x0f\x1a\x73\xc2\xbc\xd0\x3f\x7a\x58\x69\xe7\x34\x2c\xfd\x73\xcf\x70\x86\xf8\x65\x56\x15\x60\x27\x7b\xf6\xc3\x42\x1a\x91\x2d\x67\x65\x8b\x1f\xa9\x70\x57\xc4\x96\xf4\xbe\x8e\xdc\xbe\x18\xb5\xec\xd0\x8a\x1e\x7d\xb2\x52\x23\xab\xda\x20\x8f\xa5\x31\xf4\xb2\x80\xaa\x03\xb0\x4b\x60\x60\x34\x11\xd3\x74\xba\x7c\xbb\x02\x0b\xb9\xa8\xce\x4c\x0e\x45\xa7\xe1\x32\x14\x48\x43\xc3\x1f\x8b\x45\xc5\x8e\xb3\xea\x85\x3c\x2c\xeb\x61\x37\x6e\x9d\xf8\x1d\x97\x78\xe7\x21\xad\xac\x77\xb5\x03\x54\x93\x7f\x34\x37\x2f\xcc\xd5\x75\xe8\x8d\x9d\x05\x8e\x43\xdf\x94\x2f\x2c\x43\xb5\x23\xc8\x09\x8e\x6d\xd9\xe6\xbd\x21\xd5\xa6\x49\xb4\x72\xd4\x1e\x34\x5f\xcd\x5e\xfd\xdd\x49\xea\xb3\x02\x70\xcd\x87\x88\x40\x4f\x28\x51\x6e\x09\xd3\xac\xc4\x00\x48\xb3\x9d\x32\x46\xf7\x57\xe4\x82\xe1\x45\x9c\x62\x6b\x79\x9e\x04\xd0\x67\x27\x13\x73\x71\xe1\x20\xaf\xb9\xfe\xc3\x9a\x25\xf4\xe6\x76\x4b\xf9\x79\x2f\xe4\x92\xee\x0f\x21\x0b\x57\xdb\x9e\xbb\x9e\x8e\xf4\x1b\x02\xc7\xfe\xe9\xed\xd4\xb6\x17\x4c\x57\x0d\xe0\x20\xa3\x91\x28\x71\x33\xfe\x8c\xcb\x41\xa8\x3f\x91\xbd\x22\x38\x2b\x21\xe1\xd7\xeb\xc2\xc7\xe5\x01\x8e\xf5\x14\x2d\x82\x63\x7d\x02\x62\x0f\xbc\x05\x69\xcc\x09\xc4\x4e\x91\x11\x12\xbb\xae\x99\x06\x4d\x68\xd1\xc6\x9e\x77\xc9\x93\x0b\x0d\xe0\x30\xc8\xc1\xd7\x48\xc4\x14\x05\x9d\x5e\x29\x9b\x7e\xdc\x08\x94\x06\x51\x89\x4b\x30\x3a\x2b\x32\xdd\x2c\x36\x5a\x06\x7c\x97\x23\x58\x55\x94\x64\x4d\x3e\xe8\xde\x1a\x51\xfa\xea\x0e\x65\x0f\x21\x24\x88\x5a\x94\xcb\x99\xeb\x90\x3b\x7d\x45\x79\xbd\xe5\x91\x49\x7d\x95\x39\x30\xd3\x63\xdd\xdb\xda\xc6\x27\xb9\x7a\x91\xf4\x96\x82\xdf\x8e\x72\x50\xa7\x07\x3d\x38\x3a\x7a\x22\xcf\x11\x3f\x28\x58\xce\x6b\x63\x2a\x28\x92\xc4\xe8\x8a\xa9\xa0\xd2\x89\xeb\x57\x62\x9b\x00\x8d\x3b\x1b\x60\x81\xe6\xfe\x5d\x3c\x0a\x6c\x80\x21\x89\xb5\xf1\x08\xe7\x66\x31\x9e\x15\xb3\x3e\xaa\x5b\x8c\xed\x40\x27\xea\xec\x83\xb4\xac\x68\xb1\x4b\x82\x98\xbc\x51\xcd\x8e\xb3\x80\x9b\x7a\x2d\x68\x4f\xe3\x2b\xbd\x9f\xab\x5c\x91\x8e\xeb\x17\xcc\x44\x4d\x73\xf7\x30\xd4\xc8\xcc\x05\x7b\xd3\xa2\xf1\xf0\xae\xbb\x61\x63\x29\x34\xe6\x17\x02\x16\x88\x29\xcd\x7e\x91\xde\x81\x50\x96\x29\xd0\x1a\x8c\xde\xfe\x0d\x1a\xc4\x9e\x21\xf0\xc5\xfb\xe1\xb2\x24\x48\x27\x26\x8a\x0a\x27\x35\x7e\x15\x8b\xd7\x68\x84\xa2\x1e\x7f\x1f\xac\x1b\x62\x72\x16\x6d\x5a\x9f\x64\xf9\xb6\x72\x98\x9a\x87\x62\xf5\x12\xbf\x1d\xf4\xb2\xab\x69\x97\x65\xf2\xcd\x83\x96\xf4\x76\xe7\xf5\x99\x95\xde\xe7\xd8\x90\x20\x7e\xff\x0f\xd2\x72\x63\xec\x23\x2e\x37\xcf\xed\xfe\x7c\x44\x05\x55\xd4\xca\x74\xe5\x2d\xa2\x46\xc4\xb8\x37\x57\xbe\xaf\xd2\xab\x2a\x51\xef\xe1\x60\xbb\x02\xb9\x8c\x26\xd6\xb2\xc3\xf0\xc1\xaa\xcb\x2f\x3c\x34\xa5\xb2\xa3\xb6\x6f\xee\x17\x5b\x78\x75\x48\x07\x3d\x8b\x57\x77\xc6\xbe\x88\x0b\xdc\x19\x6b\x33\x74\xa2\x15\x4f\x94\xd9\x36\x0f\x77\x55\xac\x68\x15\xa2\x8a\xf2\x96\x27\x1e\x22\xa8\xf2\x35\x43\xc7\x49\x55\xa6\x09\x12\x5b\x02\xa5\x69\x21\x80\x11\x42\x02\x95\xcc\xf0\xd7\x35\x69\x99\xa5\xb8\x95\xcc\x88\x48\x3f\xad\xf7\x97\x0c\xec\x6c\x64\x24\x0f\x70\x79\xfd\xb1\x5f\xfc\x5c\x42\x27\xe5\x39\x26\xd2\x78\xba\x0f\xed\x3c\x39\x93\xbc\x86\x82\x28\x23\xdd\x58\x1a\x32\xab\x2e\x3a\x07\xf7\x94\x30\x22\x4b\x27\x4e\xad\xd8\x45\x59\x8a\x7d\x1d\x89\x67\x6a\xaf\x23\x67\x77\x74\xb7\xb0\x58\x3b\xcc\x83\x59\x9d\x15\x5d\x14\xb0\x9a\xdc\xf4\x9e\xd5\x05\xe8"}, -{{0x2d,0x27,0x7d,0xd5,0x5f,0x57,0x19,0x5e,0xc0,0x72,0xb4,0x7c,0xb1,0x44,0x8c,0xb5,0x82,0xc8,0x35,0x73,0x9e,0x6c,0x98,0xba,0x71,0xab,0x12,0x8f,0x70,0xce,0x6b,0x79,},{0xdf,0xa9,0x25,0x93,0xef,0x0f,0x0d,0x97,0x4a,0x11,0x37,0x83,0x0a,0xd1,0x38,0x48,0xaf,0xef,0x3b,0x81,0x0c,0x2a,0x21,0xbf,0x77,0x91,0x78,0xce,0x4b,0x3a,0xb9,0x74,},{0x73,0xc1,0x06,0x06,0x49,0xa7,0xc0,0x14,0xed,0x01,0x94,0x58,0x51,0xb5,0x3e,0x28,0x53,0x24,0xe6,0x0d,0x06,0x1c,0x83,0x1d,0xda,0x41,0xf0,0x33,0xb5,0x65,0x83,0x06,0xa1,0xf1,0x12,0x32,0x7a,0xfe,0x93,0xca,0xa9,0x21,0x02,0x07,0x30,0xaa,0xe0,0x06,0x9c,0x9a,0x2b,0x45,0xee,0xf5,0x5c,0xbb,0x4a,0x5a,0x9c,0xd4,0x6c,0xda,0x80,0x08,},"\x14\x54\x9e\xdd\xd5\xf2\xb7\x90\x5d\xda\x19\xd7\x4a\xb2\x07\xaa\xc6\xfb\x3e\x3d\xf3\x29\x5d\x84\x52\x31\xef\x3a\xea\x6e\x1f\x04\xee\x03\x3c\x90\x38\xdc\xb4\xbd\x3d\x5e\x45\x2c\x54\x83\x4d\x0f\xf2\xb7\xde\x3f\x32\x2e\x56\x26\x94\x9c\xd6\x1d\x6e\x89\x01\x38\xff\x0e\xa8\xad\x84\x6e\x8f\xe8\x87\xae\xe1\x5f\xc4\x8b\xbe\x4f\xba\x42\x45\x5f\x5c\x17\x45\x7a\xe7\x89\xb4\x05\xaf\x85\x96\x11\xfe\x1f\x87\x46\x18\x5a\x65\xae\xf2\x13\x4e\xa4\xd8\xf3\x98\xd4\x8d\xf7\xc1\xbb\xa4\x30\x44\x08\xae\x7e\xfb\x35\x29\x24\x09\xd5\x08\xdd\x55\xce\x21\xde\x8c\x28\x16\x0d\xc9\xe8\x77\x70\x0c\x76\x3d\x06\xb0\x1b\x85\x42\x05\x2d\x7d\xdb\x63\x35\x54\xe3\x58\x42\x79\xc7\x96\x93\x70\x23\xc8\xea\xc3\x72\x77\xbe\x2b\x82\x04\xff\x3e\x0e\x10\x31\x19\x0a\x01\x01\x4c\xf5\xf5\xb4\xd7\xad\x99\x67\x27\xf9\x75\x31\xe0\x35\x5b\x87\xc9\xe6\x11\x52\x5a\xad\x07\x99\x58\xe9\xaf\xe2\xab\x10\xe4\xa3\xe7\xa1\xb6\xba\x0a\xff\x81\x5d\xa2\xcd\x81\xea\x9e\xb9\xf5\x36\x98\x66\x33\xf3\x16\xdd\x06\xc2\x50\x3c\x6b\x19\x8d\xc5\x93\x04\x80\x7b\x98\xb4\x29\x35\xf5\x1f\x63\x7d\xdb\x59\xe2\x33\xfe\xd5\x66\x43\x9c\x1f\xe9\x6c\xda\xaf\xa4\x9f\x44\x12\xd0\xc1\xe6\x54\xd8\xc6\x90\x42\x47\x0b\x3a\x59\xac\xb6\xbf\x67\xe4\x0b\x38\xa7\x70\x67\xd5\x99\x7b\x8d\x35\xed\x61\xd6\xeb\x3c\xc7\x8b\x8b\xdc\xb9\x57\x4b\x1c\xed\x9f\x6f\x33\x9e\x9e\x38\xf9\x41\x46\xef\x63\xf0\x49\xe6\xb8\x02\xbf\xed\x2a\x51\xab\x42\xe7\xd4\x89\xf3\x16\xff\x4d\x1c\xd8\x98\xbc\xf8\x50\x56\x51\x68\x74\x40\x74\x9c\x0f\xb7\xa5\x7d\xbe\xff\x72\xe6\x46\x89\xfa\xa4\x1c\x07\xb4\xad\xe5\x99\x33\xd2\xfa\xc6\xd5\x73\xde\xb7\x39\x54\x9e\xb7\x5f\x1e\x6f\x73\x85\xd8\xc6\x14\x28\x94\x97\x3e\xd6\x85\xeb\x8e\xd0\x80\xc2\xa4\x9f\x3a\xc6\x57\x11\x61\xaf\x96\x63\x5a\xd0\x57\xdf\x14\x86\xd3\x96\x77\x3a\xc8\x98\x32\x10\x97\x89\x86\xe1\xbf\x21\xa2\x08\x06\xd6\x67\xa4\x8a\x55\x5a\x96\x32\x21\xd5\x06\x14\xa8\x97\x6b\x2e\xec\x97\x51\x2d\xb1\x1a\x35\x81\x94\x49\x2a\xb5\x45\x58\x01\xba\xa1\x4a\x51\x1b\x26\xeb\x0c\x68\x28\x9d\x79\x05\x23\x71\x2f\x2f\xf8\x70\x98\x92\x69\x5c\x4d\xb9\xad\x31\x0d\xf8\xc6\xee\x7b\xd8\x3c\x87\x1f\x05\xae\xc3\x3b\x7a\xd3\x26\xf4\x46\x69\x2a\x42\xf7\x22\x23\x76\x24\x6d\x53\x6a\x32\x6c\x4d\x73\xeb\x57\x2f\xea\xda\x11\xb8\xac\x71\x14\xf6\xcb\x44\x4c\xa2\x78\xfc\xf0\x7b\x97\x0d\x2a\xd4\x65\x37\x2a\x68\x7d\x36\xb7\xda\xac\x47\x87\x48\xec\x6a\x93\x2d\xa2\x08\x43\x94\x8e\xfa\x39\x30\x97\x81\x42\x72\xe5\xca\x1c\x73\xe7\x11\x97\x3a\x52\x68\x3f\x98\xc0\x1e\x55\x24\x1c\x15\x4d\x28\xe3\x8d\x3e\xdf\xad\xe2\x30\x3a\x4e\x7c\x45\xc2\xa7\xa1\xc9\x96\xee\x11\x37\xaf\x86\x4a\x98\xb6\x98\x09\xfc\x92\x14\xee\xa8\xcf\x3a\xfe\x84\x2f\xee\x3e\xb9\xa9\x32\x2c\x3b\x82\xfd\xdb\x05\xd4\xd1\xa2\xde\x09\xc1\xce\x72\x73\x44\x53\xa8\xdd\x3a\x89\x20\xd0\xd0\xac\x96\xef\x77\x8b\x9e\x02\xc6\xa3\xf1\x28\x72\xe1\x7d\x3a\x81\xba\x75\xfd\x23\x3b\xaa\xdb\xe2\x16\xea\x0a\x58\xe9\xdd\xa0\x08\x40\x87\x02\x08\xae\x41\x35\x40\x03\x0b\x3c\x05\xe5\xd0\xb8\x32\xdf\x87\xc8\xee\x7f\x15\x34\x87\xaa\x11\xba\xd9\xf1\x39\xc7\xdd\x4b\xcf\x41\x8f\x4b\xcb\x95\xbe\xe8\x57\xd0\xe9\x60\x84\x47\x23\x87\xcb\x39\x12\x7a\x94\x71\x34\x50\x19\x63\xa7\x07\x1b\xdb\x34\xde\x69\x61\xbe\x2b\x6b\x06\xe4\x03\xe7\x59\x18\xe6\xf6\x9d\x08\x02\x1c\xf2\xa8\xac\xb8\x0a\x01\x11\xf4\xd5\x06\x10\xc1\x52\xd3\x9c\x66\x21\xc0\x57\x8a\xc6\x89\x95\x9b\x1c\xe6\xf3\x76\xf4\x3d\x18\xaf\x06\x2e\x4a"}, -{{0x42,0x80,0x66,0xc5,0x24,0x45,0x72,0x6d,0x0e,0xa2,0x00,0x7e,0x50,0x46,0x37,0x27,0x4d,0x84,0xee,0x23,0x23,0x25,0xb5,0x05,0xf2,0xc5,0x16,0x35,0x7f,0x80,0x75,0x83,},{0xdd,0x40,0xfe,0x8f,0x67,0xc6,0x65,0x61,0x3b,0x3c,0x45,0x9f,0x6a,0xce,0x8d,0xc2,0x8d,0x34,0xe0,0xe7,0x7e,0x2f,0x6a,0xa0,0x60,0x59,0x28,0x19,0xbe,0x6a,0x9d,0x68,},{0xc9,0x38,0x82,0x9f,0x59,0x8b,0x1f,0xf1,0xb8,0x18,0x33,0x60,0xd2,0x23,0xf4,0x3c,0x59,0x47,0x30,0x60,0x68,0x76,0xa9,0x9a,0x3f,0x31,0xb2,0x06,0x5d,0x04,0xe6,0xf0,0x75,0xd1,0x39,0x6b,0x3c,0x8c,0xff,0xb0,0xe1,0xe2,0xea,0xab,0xda,0x7d,0xa5,0xe7,0x89,0xcc,0xd1,0xc0,0x20,0x83,0x5f,0xe3,0xa7,0x1d,0xcd,0xb6,0xaf,0x03,0x96,0x0c,},"\xe2\x79\x6c\x50\xd9\x3d\xf8\x12\xbc\xa4\x1b\xf2\xa1\xe1\xdd\x73\x7d\x8c\xf6\xf6\xb4\xf7\x62\x42\xe3\x91\x78\x18\x67\x58\xcb\xae\x08\x84\xe6\x0c\x6b\x4a\xaa\xdd\xae\xc9\xa8\x99\xa9\x12\xe5\xc5\xb9\x80\x4d\x7b\x04\x97\xba\xb4\x45\x8c\x58\x5d\x4f\x25\x92\x22\x49\x8c\xe9\xe8\x0e\xb6\xa7\x97\x9b\xbe\xd6\xd5\x2c\xc3\x80\x72\xf7\x45\xcb\x2c\x63\xe6\x63\xbc\x3b\x9d\x6c\xaf\x01\x2a\x60\x7f\x6d\x3b\x70\x6e\x15\x57\x57\x87\x17\xec\xbb\x97\x1a\xeb\x7c\x48\xe1\xdf\x95\x71\x1c\x55\x0e\x00\x69\x93\xbf\xfb\xa9\x11\xcb\x64\xad\x52\xd5\x17\xed\x18\xbe\x82\x36\x9e\x81\x58\x19\xd3\x17\x59\x47\xd4\xa3\x5b\x2c\xc7\xb9\xdc\x6c\x10\x05\x13\x26\xb3\xf1\xdc\x1e\xdb\x1b\x68\xba\x01\x5f\xf7\xca\x1d\xc3\x61\xd8\x96\x7a\xbc\xff\xd3\xc3\x1f\x7d\x6b\x0c\xb1\x39\x6a\xe5\x41\xf2\x97\x59\xc4\x13\x0b\xe5\x2e\xcc\x11\xd9\x92\x61\xc3\x65\xbf\x7c\xde\xc7\x81\x49\x4c\x5f\xa0\x52\x6d\xb4\xdb\xbe\x66\x0a\x43\x2b\xe5\x60\x43\xc6\x6e\xa0\x7c\x25\x62\x7a\x5f\x72\xb7\x81\x23\xdc\xf9\x86\xff\x71\xed\x1a\xff\xd1\x65\x9b\x13\x93\xd9\x62\x1f\x71\x1d\xfa\x63\xea\xda\x38\x34\x30\x79\x70\x58\xf1\x56\x6a\x00\x05\x2d\x67\xba\x53\xc1\x23\x7b\x56\x91\xde\x3b\x03\x9f\xd4\x47\x6f\x11\x51\xe5\xed\x5f\x5a\x98\x67\x2f\xa3\x3a\x1d\x85\x4f\xa0\x15\x66\xb3\x32\x31\xd4\x6a\xcd\x7f\x34\xb8\x03\x44\x79\x98\x18\x53\x76\x4d\xab\x87\xf4\x98\x44\xcb\x62\xc6\x3d\x53\x6f\xac\xa9\x20\x44\x7d\x8c\xd1\xe8\x11\x3e\xdb\xc8\x3e\x4a\x6b\x78\x15\xe1\x80\xcd\x78\xb9\x33\xd9\x68\x7f\xd5\xbe\x99\xd0\x51\x8a\x44\x66\x29\x89\xbc\x64\x01\x11\x24\xf1\x87\xd4\x39\x79\x99\x4a\x95\xe0\xc9\x03\xa0\x06\xc1\xc0\xbe\xf1\xc0\xf3\xdf\x1e\xb7\x00\xf9\x80\xc2\x8c\x3c\x1e\x99\x7d\x0c\x56\xd1\x13\xda\xe1\x96\x88\x2b\x05\x01\x8f\xca\xb3\x14\xd8\x11\x7f\xaf\xba\xbe\x77\x00\xb9\x32\xd4\x7c\x57\x36\x2b\x20\x35\xed\xdc\xe2\xd2\xef\x33\x64\x1e\xa9\x0c\x3e\xa3\xfe\xc6\xea\x5b\x87\xe1\x61\x01\x4c\x4f\x82\x14\xfd\x03\xce\xbf\x94\xab\xe1\x22\x53\x7a\x98\x70\x32\x39\xdf\x58\x21\xc5\xab\x63\x3f\x98\x36\x5c\xc6\x36\xe3\xf1\xd2\xf7\x4e\x0f\xf8\xf1\xfe\xe0\x6a\x3f\x73\x90\x7e\xe5\x04\xb3\x10\xfd\x52\x24\xad\x4d\x05\xcd\x23\xc3\x56\xdf\x8b\x34\x64\x72\x98\xc4\x98\x28\x72\x5b\xa5\xfd\x60\x61\x1e\x82\x9b\x63\x37\xbc\xc9\xdc\xf8\xe8\x97\x1c\xab\x3e\xe9\xc2\x63\x37\xd3\x8d\xfd\xfa\x03\x6b\xf6\x09\x6b\x63\x5a\xc1\xbd\x55\x25\xec\xd3\x77\xa1\x52\x72\xa8\xac\x9b\xbe\xf1\x33\x10\x7a\x42\x25\x8d\x8b\x19\xec\x69\xdc\x42\x61\xbe\x53\x00\xa2\xd2\xd5\xca\x99\xf3\x1e\xfd\xf2\x59\xf9\xd0\x79\x86\x9a\x34\x41\x37\x79\xf3\x02\x88\x24\xd7\x47\x68\x6c\x46\x0f\xfc\x49\x6f\x20\x10\xf4\x03\xe9\x03\xe2\x7a\x87\xdd\x07\x5a\xe0\xa7\xf1\x68\x94\x16\xd3\x1b\xcc\x15\xf4\x90\xca\xf9\x75\xc4\x0e\x71\x5d\x54\x99\x03\xe8\xbc\x0f\x7d\x91\x41\xe0\x20\xf4\x10\xf3\xca\x2b\x2c\x07\x97\xca\x0d\xc8\xd7\x39\x2b\xff\x24\x35\x28\xc7\xf3\xbe\x13\x89\x97\x18\x5a\x4b\x36\xf4\x53\x76\xd9\xfd\x70\xba\x20\x98\x9d\x2d\x1a\x91\x1d\x4b\x98\xd1\x60\xd2\xb8\xde\x59\x2d\xe2\xf4\xc0\x4f\x35\x86\x0d\xf3\x20\xc5\x48\x44\x0d\x5e\x3a\x34\x6a\x14\xd3\xa6\x3f\xe4\x85\xc2\x88\x91\x26\xb7\xf4\x1d\x55\xa6\xeb\x23\xd5\x62\x0b\xab\xf8\x56\x4a\xa7\x9d\x15\x6e\x98\x3f\x36\xd9\xed\x49\x8d\xa9\xca\x88\x8d\x94\x6b\x53\xcc\x47\x68\xa5\x89\x2d\x52\xd5\x41\x52\x69\x60\x28\x25\x24\xba\x61\x94\xda\x65\x94\x1d\x1e\xa3\x0f\x80\x6b\xb6\xd9\x7c\x74\x88\xb9\x3f\xd0\xa7\x70\xa9\xb1\x5e\xfc\xd1\x2c\x5c\x46\x94"}, -{{0x31,0x45,0xbc,0x68,0xd8,0x29,0x79,0x40,0x8e,0x46,0x57,0xb7,0x75,0xf1,0x50,0xc6,0xd2,0x8a,0x32,0x4d,0x74,0x6e,0xa6,0xde,0x90,0xfd,0x72,0xb1,0x7a,0x25,0x79,0x82,},{0xc7,0x76,0x18,0x6c,0xe4,0x7f,0x30,0xad,0x08,0xfa,0x1d,0x2c,0x61,0x6a,0x36,0x44,0x66,0x5b,0xa5,0x4f,0xf7,0x30,0xfc,0x2f,0x4d,0xb1,0xdb,0xa3,0x8d,0xde,0xed,0xca,},{0x24,0xa4,0x33,0x33,0x76,0x83,0xbc,0x71,0xa6,0xca,0x3b,0xcc,0xd8,0xcc,0x24,0x00,0xc2,0x44,0x64,0xfa,0x67,0x71,0x4b,0x46,0x51,0x5f,0x2a,0x14,0x32,0x71,0x27,0x05,0xd5,0x70,0x61,0x4d,0xb6,0xd2,0x6b,0xbb,0xd3,0xf0,0x26,0x7c,0x14,0x27,0xca,0x1c,0x2f,0x40,0xdc,0x9a,0x6f,0x1f,0xb0,0xf0,0xfc,0x71,0x4a,0x02,0xe2,0x4b,0x47,0x08,},"\x2e\xa8\xdc\xe1\x48\x7f\x45\xd6\xff\x8e\xb8\x3c\x54\xfb\x7e\xdd\x76\xad\x6e\x60\x8b\xb8\xda\xf1\xa1\x82\x3d\xa4\xf4\xe4\xe9\x86\x31\x73\x89\x7c\x19\x7a\xc6\x58\x04\x82\x3b\xca\x95\x09\x1f\x59\xe8\x6d\x63\xc1\x8d\xbc\xdb\x85\x74\x3f\x88\x93\xee\x69\x4d\x81\x56\x01\xf8\xf2\x2f\x4d\x7d\xf0\x87\xf0\x11\x4b\xb2\x6c\x37\x95\xe1\xfe\x4b\x7f\x4a\x8f\xa3\x1f\xd9\xf4\xff\x10\xfe\x5d\xd4\x52\xc5\x4c\x55\x78\xc7\x52\xf8\x88\x21\x30\x76\xbe\x46\x7b\xa3\x0d\x2e\x2f\xbb\xee\x87\x7c\x4b\xe9\xb6\xec\x4f\x04\x02\x1c\x00\x6f\x92\x66\x31\x19\x43\xca\xb7\xce\xa9\x9a\x2a\xce\xbb\x69\xee\xc3\xe6\x18\xc1\x31\xf9\x74\x30\x07\x5f\x79\x75\xe3\x9f\x26\xd5\x31\x51\x78\xb6\x9a\x1d\xdf\x73\x17\x61\x05\x1b\x93\xfb\x8d\xf7\xe0\xe8\xb4\x1e\x82\xe7\xf4\xf7\x5e\x91\xd6\xc8\x90\xb1\x4c\xa5\x33\xe0\x94\xeb\x8e\xa4\x48\x6d\x38\x71\x85\x96\x6c\x98\x29\x5d\x3f\x58\xb1\x7e\xef\x6c\xc3\xb4\xd0\x7e\x93\xa3\xd9\xf4\x77\x2e\xe5\x2f\x18\xa5\xbb\x30\xaa\x39\x72\x85\x0e\x65\x81\x70\xbd\xdb\x67\x6f\x33\x26\x6c\x9f\xd1\x0f\x59\x90\xba\xd8\x91\xf0\xce\xb7\x82\x73\x6b\x40\xf0\x1b\xd8\x65\x09\xb0\x63\x04\xa9\x6d\x93\xda\x23\x3d\xbe\xd1\x8a\xfa\x18\x18\xaa\xf5\x7a\xf9\xbd\xbc\x86\x7b\x39\x7f\xf2\x35\xa8\x3e\x85\x72\x24\xb1\x50\x65\x22\x5e\xec\x03\x9d\xd4\xe2\xd6\x9a\x04\xee\x10\xbe\xa0\x69\x50\x41\xed\xa5\x9b\x05\x8e\xc0\x5f\x49\x04\x8e\xe3\x24\xd1\x6c\x4d\x61\x07\xb6\xec\xd0\x48\x75\xeb\x74\x4e\x93\x65\x47\x1b\x4c\x5f\xe6\x61\x1b\x26\x18\x93\xf9\xd2\xb1\x28\xe1\x35\xf9\x2e\x47\x41\x56\xb2\x71\xb3\xc8\x2e\x9a\x76\x63\xda\xd4\x95\x3d\x30\xe1\x0e\xda\x08\x62\x60\x7d\xec\x33\x72\xb3\x99\x70\xf2\xa8\x4b\x12\xf6\x0e\x6d\xae\x7f\x31\x79\x90\x86\xd3\x8a\x7e\x34\x94\x84\x19\xc1\xb0\x7f\x44\xc2\x15\x9c\x86\xb8\xc0\xcf\xe8\x74\x7f\xc2\xba\xd5\xbf\x47\x53\x56\xcf\xe6\x9d\xe2\xdc\x6a\xd5\xa5\x19\xfd\x65\xc1\x25\x64\x70\x1c\x05\xf7\xc2\x77\xec\xaf\xcf\x4c\x87\xb1\x48\xdf\x1f\x98\x79\xa9\xae\x44\x3c\x55\xae\xa5\x21\x38\xc6\xfa\x01\xef\x0c\x3a\xbb\x5f\x2d\xf9\x0a\x57\xab\x66\x24\x17\x8c\x73\x7b\x54\x91\x5b\x7a\xa2\x9e\xa7\x8e\x8e\x49\xef\x5a\x81\x6d\x8a\x92\xc2\xf8\x1b\x8a\x19\x63\x27\x79\xc8\x92\xd6\x6f\x75\x3d\x51\x8c\x41\xcc\xcc\x9e\x59\x3e\x50\x74\x26\x25\xbc\xaf\xa4\x68\x80\x5c\x37\xa2\x1f\x8e\x29\xa6\x96\x0d\xdf\x5c\x5e\x5c\xa1\x4a\x7b\x05\x2a\x7b\x60\x15\x69\x7a\x02\x10\xed\x6f\x01\x43\xe6\xb4\x84\xc3\xf5\xb3\xb4\x72\x6c\x60\x7d\x07\xbf\xb3\xd5\x4a\x09\xc9\x80\x43\xf2\x1d\xcc\x5c\xc2\x0b\xb4\x75\x4e\x2e\x5a\x73\xb2\xf8\x06\xc2\x20\x4b\x72\xf3\x6a\xb9\xe9\x6a\x62\xc6\x27\x7c\x0a\xd6\x6b\xe7\xab\xff\xc1\x63\xb4\xe8\xfa\xfc\xef\xf5\xe2\x02\xe5\x94\x3f\x4f\x0e\x6b\x92\xb4\xdd\xb9\x53\xcb\xb7\x91\xf8\x31\x66\x03\x69\x38\xe6\xc4\x4a\xd9\x1a\x59\x6a\x55\x73\x44\x0f\xb3\x07\x41\xe6\x60\xb6\xcd\x5f\x86\xff\xa7\x46\xe6\xe9\x72\xb8\x05\xc1\x0b\x7b\x7b\x9a\x63\xc0\x55\x1d\xb8\xeb\x4f\x84\x00\xcd\xe2\x86\x8c\x0d\x0d\x4e\xb4\xcf\x11\x7f\x8e\xc4\xab\x97\x44\xfc\x58\x79\xde\xa7\xf0\xef\x16\xc2\x91\xd5\x5c\x17\xf0\x8b\x73\x1b\x7c\x65\xd0\xc4\x41\xb6\x3b\xc8\xff\x5e\x94\x90\x4c\x02\x6a\x13\x61\xda\xcc\x80\xa9\x3a\x9b\x9f\xba\x3b\x40\x36\x17\xae\xb9\x4a\x56\x85\x41\x84\x80\x11\x95\x42\x34\xae\xad\x70\x0f\x03\x4c\x47\xc7\xde\xf8\x77\x90\x52\x55\xf1\x8b\xdb\x9a\x25\x7c\xe5\xbd\xcf\x0e\x17\x67\x0c\xda\xaf\x13\xb1\xc7\xe0\x9d\x58\xf9\x2a\x96\x63\xaf\x23\x9e\x22\x07\x8e\x18\x0a\x23\xcc\xb6\xf6\x4d\x64"}, -{{0x5a,0x25,0xea,0x5e,0x18,0x2d,0x9b,0xf8,0xe9,0x30,0xa2,0x0b,0x6c,0xf5,0x5e,0x24,0xe8,0x38,0x62,0x78,0x9b,0x38,0x39,0xb1,0xce,0x9a,0x71,0xe9,0x38,0xc4,0x2d,0x37,},{0xc9,0x81,0xfc,0x36,0xf1,0xa6,0xd5,0xf7,0xd4,0x51,0xcd,0x5e,0xf3,0x9c,0xd3,0xab,0x02,0x08,0x7f,0xcc,0x6a,0xf2,0x7d,0xd7,0x8e,0xa8,0x27,0x49,0x7e,0x77,0x9e,0x21,},{0xa4,0xf3,0x5b,0x49,0xd7,0xe1,0x98,0xe5,0xd3,0x26,0xe3,0x53,0xfb,0xb0,0x1f,0xa1,0x3b,0x6a,0xe2,0x60,0xd1,0xe4,0x8e,0x30,0xc1,0xb9,0x67,0x73,0x7a,0x5e,0x79,0x93,0x6c,0x97,0xca,0x2b,0xa7,0x99,0xca,0x34,0xe5,0xe7,0x88,0xce,0xa5,0xac,0x8e,0xd1,0x0d,0x5c,0xd1,0x5d,0xae,0x53,0xe4,0x24,0x32,0x32,0x1c,0xc2,0x6d,0xc9,0x98,0x09,},"\x21\x4d\xd1\x92\x7f\x2c\xac\xd9\x88\x87\x14\x24\x9b\x85\x43\x46\x02\xac\x78\x45\x3b\x4a\xf5\x38\x6e\xee\x39\x29\x5d\x3d\x5a\x22\x67\x80\x6e\xb0\xcf\xf2\xc1\x32\xd3\x64\xc2\x42\x0d\x04\xe3\xf6\xcc\x0a\x96\x7b\xf0\x5a\x10\xff\xcf\x12\x17\xbb\xf3\x15\xe7\x5b\x98\x06\x0f\xd4\x58\xd6\x7e\xba\xad\x93\x80\xf4\xad\xc4\xdb\xdf\x74\xcb\xf1\xc6\x47\x92\x02\xbd\xd7\xfe\xd3\xa9\x46\x69\x7d\xc3\x84\x44\xd8\x8b\xfe\x51\xd4\x1d\x7a\x9b\x38\xda\x60\xb8\x50\xc5\x6b\x48\xba\x98\x4f\x6a\x18\x89\x51\x49\x55\xc0\xda\xdb\x69\xa8\xc7\x36\xcc\x76\xcd\xc4\x9f\x13\xf8\x5a\x8b\xfb\x79\x28\xff\x0a\x0c\x0c\x03\xf1\x7c\x74\xb5\xe1\x06\x2d\x75\x53\xfb\xeb\x9d\xd3\xd5\x08\x1d\xe1\xdf\xd8\xa6\xa9\x97\x66\x97\xc6\xa2\x59\xbc\xf7\xd4\xbe\xf1\xc2\x1e\x0a\xaf\x32\x98\xb0\x42\x1b\x91\x9f\xdd\xfc\x1d\xcb\x3e\xc6\x83\xd8\x6f\xf3\xd4\x23\xd7\x1c\x8f\x2d\x72\x3a\x42\xff\x68\xd8\x2e\x9f\x39\x17\x49\xb8\x29\x98\xdc\xfa\x11\x21\x60\xf5\x2a\x41\x3a\x23\xd9\x5f\xc4\x2c\x3b\xd2\x23\x84\xba\xd7\x77\x54\xa7\x10\xd8\xb9\xf8\x4a\xe0\xa8\x02\xfc\x46\x50\x9e\x7f\x2b\x07\x07\x90\x12\xb4\x3b\xfe\xea\xb7\x19\xbd\xe5\x6f\x00\xe5\x9b\x8e\xdf\x1c\x47\x28\x83\xb1\x98\x5b\x2f\xa6\x99\xa1\xae\x90\xcf\x45\xd7\xac\x58\x0c\xeb\x5f\x27\x97\xde\xf5\xb8\xbf\x4f\x2b\x9b\x35\x19\xa7\x27\xb9\xf2\xcd\x12\x56\xa2\xf0\x76\xed\x22\x96\x49\x5b\x5c\x2d\xf7\x88\x7f\xf8\x9e\x88\xe2\x36\xa1\x4c\xde\x63\x24\xf4\x3d\x68\xd9\x01\x72\xb0\xb8\x8b\xd2\x88\x03\xe9\x99\xdb\xed\xcc\x50\x1d\xb6\x54\x54\x4e\x17\x1e\xc1\xf9\xf3\x2d\x4d\x33\x21\xd5\x89\x39\x2e\x03\xca\x65\x9f\x96\x75\x2e\x1f\x08\xa5\x5d\xb5\x53\xd8\x66\x98\x55\x41\xf5\xbe\xf8\x4c\xe2\xee\x32\x3e\x17\xd1\xf7\xdc\x16\x4b\x50\x51\x5a\x28\x7d\x53\x05\xfc\x28\xc5\x98\x3b\x9e\x53\x98\xb2\x40\x7a\xe4\x72\x96\xfe\x4a\x48\x1d\x22\xff\xb4\xb8\x65\xa6\x6b\x97\xa6\xc2\x79\x35\xdd\x8e\xb8\x69\x94\xb7\x9d\x36\x83\x63\x71\x3f\x10\x1d\xc3\x7f\x42\x9e\xee\x0f\xee\x24\x41\xc2\xdc\x17\xbf\x43\x92\x4f\x0c\x04\x4f\x14\x32\x90\xea\xf3\xf9\xee\x4d\x94\x6d\xbe\x45\x83\x1a\x0d\x83\xc0\x76\xe7\x51\xc1\x4f\x3b\x1a\x72\x67\xf5\x44\x6c\x18\x86\x98\xd2\xb4\x6d\x87\xe6\xf3\xb2\x0b\xb3\xfd\xaf\xe2\x4c\xc0\x96\xbc\x31\x2d\x86\x78\xb3\x8a\x80\xc3\xf0\x52\xa0\xc9\x6d\x5a\xd8\x7a\x5d\xd8\xc1\x33\xcc\x9a\x15\xbe\x33\x57\x4c\xd9\x43\x08\xc2\x4d\xec\x1a\x9b\xdf\x18\x9b\xa6\x87\x19\x9f\x72\xef\x67\x09\x87\x8e\x10\xf8\x7b\xd8\xa0\x3d\xc8\x4c\x8f\xa9\x64\x20\x28\x58\x98\xca\x32\x11\xd8\xb0\xcc\xef\x64\x01\x1e\xc2\x4f\x38\xe5\x74\xda\x34\xda\xb9\xd2\xf0\x02\x10\x52\x27\x89\x0f\x92\x48\x8c\x62\x1e\x57\x13\xe4\x7d\xbc\xb1\xa8\x2a\x6d\xa6\x0d\x8b\x22\x01\xeb\x29\xd4\x94\x49\x33\x60\xed\x5a\x3f\x4b\x52\x25\xea\xe7\x70\x7e\xe0\xb4\xc0\x40\x73\x05\xc1\x67\x54\xc7\xf6\x30\xfc\x85\xc1\x3e\x49\x17\x04\x7b\xcf\xf3\xb2\xa2\x93\xfe\x95\x55\x06\xc7\x26\x4e\xa6\x5b\xf3\xa9\xb2\x5a\xcf\x34\x36\x00\xd8\xfa\x0c\x7c\x1a\x29\x0d\x02\x71\x10\x1b\x7f\x40\xb9\x6e\x7f\xda\xf2\x9d\xef\x9d\x93\x27\xa5\xae\x05\x44\x6c\xb5\xa6\xd3\x22\x45\x3a\x8b\x09\x8b\xcf\x3a\xee\x1f\x70\x4e\x14\xd0\x0b\xe3\x42\xb8\x93\x4d\x19\xe5\x29\x21\x88\x72\xea\x3a\x2f\xb2\x12\x4b\x52\x66\x7c\x01\xfc\xa5\x84\x1c\x66\xe1\xe6\x4a\x1e\x68\x0e\x09\xba\x18\x6e\x04\xd1\x05\x18\x6c\xf6\xeb\x72\x8b\x9d\x50\x2a\x66\xb8\x29\xfb\xc9\x92\xa3\x88\x10\x04\xec\xdc\x80\xad\xfd\x04\x4e\xda\x88\x0f\x8a\xf7\x2a\x14\xfb\x55\x0d\x7c\xc7\x41\x94\xa9\x45\x20\x7d"}, -{{0x42,0x33,0x5c,0x30,0xb3,0xf6,0xb3,0x59,0xce,0xf5,0xaa,0xb6,0xa3,0xce,0x28,0x58,0xa1,0x51,0xb7,0xa4,0xfd,0x78,0xd2,0xfd,0x3e,0xe3,0x6f,0xc2,0x9d,0x24,0x94,0x04,},{0x30,0x1c,0x51,0x5a,0x02,0xa4,0xc6,0x6b,0xc6,0x40,0x10,0x80,0xc6,0xca,0x79,0x23,0xb7,0x83,0x1e,0x3c,0x9a,0x72,0xb5,0x5b,0x14,0x02,0x7e,0xb2,0xe7,0xb3,0xb1,0x52,},{0x67,0xb0,0xf1,0x74,0x49,0x03,0x9e,0x8c,0x79,0x7b,0xf9,0x13,0xaa,0xe6,0xe4,0xf0,0xbb,0x99,0xc7,0x4d,0x6d,0x10,0xc9,0x73,0xb9,0x90,0xff,0xe0,0x3e,0x7e,0xe4,0xab,0x5b,0x35,0x80,0x6d,0xb1,0x5a,0x98,0xc0,0x84,0x6a,0x82,0x7e,0x7b,0xcd,0x53,0x9c,0xd3,0xbc,0x09,0xdd,0x11,0x8a,0xb3,0xe5,0x26,0x63,0xa3,0x57,0xb1,0x29,0x91,0x07,},"\x6d\xa2\x25\x1e\x6f\x55\x95\x36\xb0\x9b\xfa\xfb\x81\x60\xa2\xe8\x10\x2d\x31\xf8\xb5\x93\x24\x08\x3e\x52\x27\xb2\x0c\x3e\x5c\x3a\x06\xe2\x39\x67\x68\xdc\xa3\xec\x76\xdc\x7f\xc0\xeb\x3d\x14\x5e\x62\xed\x07\xfc\x1a\x8b\x1b\x2e\x34\x70\x13\xa0\x52\x72\x74\xd0\xb2\x34\xfe\x72\x50\x26\xa9\xd1\x28\xf8\xdf\x20\xdb\xfa\x3b\x65\x03\x81\x8e\xde\xbd\x7f\x24\x93\x40\x80\x94\x5a\x7e\x1e\xa0\x22\x73\xfe\x48\xb6\xed\x1e\x83\xfd\x16\x8d\x79\x73\xfb\xb7\x94\x1b\x40\x37\xd3\xcd\xa5\x55\xe0\xe8\x9c\x2b\x94\x3f\xb1\xe2\x07\x65\xac\x7d\x4f\xa3\x77\x7f\x35\xa0\xa8\xbc\x11\x8f\x59\x9c\x84\x7b\xe3\xfd\xb2\xd8\xe2\x01\xae\x12\xa3\x0b\xde\xfb\x03\x4f\xf2\x4e\x3e\x2e\x70\x1a\x0d\x17\x33\x73\x40\x78\xbd\x1f\x9a\x69\xbb\xc6\x67\xe4\x61\x21\x1f\x2c\x76\x9d\x29\xdb\x7c\x4d\x62\xd6\xb1\xb9\x2b\x56\xf5\xf1\x8a\x93\x1a\x92\x60\x64\xb7\x8d\xa1\x46\xe1\x8b\x48\x13\x9b\x9b\x39\x86\x2a\xec\x37\xbc\xce\x12\xcb\x78\x94\x29\xe6\x8e\xa3\x81\x12\xd0\xb5\xcc\xe3\x0b\xd2\xd2\x6c\x5f\x7f\xd4\x15\xda\xf7\xca\x31\x7b\x33\x68\xb7\x61\x7d\x45\x25\xe5\xbc\x97\xd9\x46\x1d\x5d\x64\xf6\xb5\xd3\x18\xd0\xbc\x3b\x76\xf2\x5b\x06\x05\x42\x69\x09\xf2\xaa\x0c\xd6\x67\xa4\xf0\xe0\x75\xb9\xa9\xfb\x2e\x9a\x6c\x82\x70\x4d\x8a\x9f\x16\x66\x84\x4e\xdc\x32\xf6\x3a\x3d\x4e\x0f\xd9\xfd\xba\x30\xb5\x1b\x33\x36\xb9\x6e\x9e\xae\x39\x2a\x34\x2d\xe4\x9e\x9b\x5f\xa0\xf9\xb9\x01\x71\xbd\xe0\x9c\xf1\xe9\x46\x49\x91\x40\x00\x81\x59\xeb\x18\x65\x56\x3c\x28\x39\x4b\x03\xa8\xd7\xa5\x52\x27\x1b\x28\x76\x68\x75\x66\xb8\x0f\xd3\xbe\x2b\x66\x33\x2f\xca\xd1\x96\xca\xb8\x52\x7c\x56\xe2\x15\x36\xa1\x41\x65\x2c\xdc\x7f\xa7\x45\xb2\x6a\x33\x1d\x78\x7b\x93\xe5\xe8\x16\xd8\xd8\x51\xa5\x8f\x6a\xc0\x7a\x58\x27\xfc\xdf\x47\x2e\x86\x85\x43\x3a\x40\xca\xc0\xc4\x9a\xa5\x69\x31\x9a\x2e\x57\xb4\x1c\x99\x98\x16\x5e\x69\x72\x3b\xa7\x7e\x5c\x04\x23\xc4\xb4\xca\x07\x18\x7b\xb7\x44\x2e\x7d\x31\xca\xac\xb2\x77\x00\xc7\x1a\xe4\x8c\xd0\x55\xed\x2f\xe4\xda\x36\x3f\x44\x82\x11\x24\xcc\xa1\xbf\x2e\x63\xd9\xb8\xab\xd2\xfa\x41\xb1\x42\x2f\x52\xd5\x58\xbc\x5f\x11\x0c\x86\x3c\xc6\x00\x86\x49\x84\xed\x25\x9b\x73\xcd\xdd\x57\x96\xb3\x29\x79\xed\xdf\x76\xa0\x7b\xc5\x9b\x73\x68\xc4\x8e\x12\x9e\xcc\x0d\x45\x35\xdc\xce\xe2\xc3\xb8\xe5\x6d\xe5\x0e\x6f\x5c\xc6\xea\x51\x5c\xd6\xa0\xeb\xdf\x1c\xa7\x9a\xa2\x79\x48\x21\xad\x2e\x10\x9e\xdd\xa4\x50\xc9\xfc\x3c\x84\xd8\xc9\x6b\xc3\x8d\x4b\x43\x7a\x73\x8f\x81\x8b\x4d\xdc\xb6\x84\x38\x3c\x09\xb1\x1b\x36\x05\x2e\x9d\x2f\x76\xa6\x1e\xb4\xd6\x20\x49\xce\xd5\xf6\x16\x62\xc4\xb9\xec\xd2\x4a\x67\xf4\x51\x9d\x46\x52\x8c\x5b\x2e\xb2\x10\x05\xf4\x9c\x73\xa3\x37\x0c\x68\xe3\x7a\xc2\xb1\x8d\x48\x1f\xa1\x0f\x96\x71\x4f\xe0\x5c\x16\x8d\xf1\x1c\xda\x54\xf1\x4f\x49\x37\xe9\xfc\xe1\xf5\x16\xc0\x37\x1b\x36\xa2\xc0\xa0\x50\xba\xc7\xfa\x51\x22\xa6\xe3\x5e\xc9\xc4\x04\x36\x58\x5f\x31\x6e\x6c\x91\x1b\xdf\xd7\xdb\x4b\x80\xb4\x30\x64\x79\xb8\x2a\x2b\x24\x3a\x52\xb2\xd2\xb6\x27\x42\xed\x11\x28\x27\x90\xcf\x6f\xdc\x7c\x9c\x82\x43\x64\xcf\x25\x63\x6a\x85\x51\x50\xbd\xdb\xdf\x7e\x64\x0f\x9f\x95\x2a\x94\x7e\xc7\x97\x49\x25\xe8\x24\x50\x68\xb2\x92\x10\x1b\x1f\x4b\x20\x18\xe8\x5d\x07\x8c\x2f\xee\xf4\x49\x23\x49\x72\x9a\xd4\xac\xb3\x8f\x1c\x7c\x02\x70\xb6\x1d\x3d\xfd\x76\x36\xc6\xcb\xf1\x81\xe4\xc8\xa0\xe6\x4f\xa0\x61\x32\x55\x3c\x2b\x9d\xb7\x01\x9e\x3b\x3c\x48\x5d\x8d\x5b\x7d\xfd\x5f\x51\x5e\x4d\x71\xed\xe5\x35\xae\x7f\x2a\xae\xdc\x23"}, -{{0xbe,0x6b,0x2b,0xab,0xdd,0xd2,0xdc,0xa1,0xb0,0xe1,0x0d,0x12,0xd2,0x0a,0x9c,0xe2,0x9c,0x67,0x85,0xda,0xc1,0xd6,0x0f,0x2e,0xdf,0xa9,0x4a,0xc2,0x78,0x4b,0xa7,0x66,},{0x39,0x8f,0x22,0xf0,0xef,0xbf,0x8c,0x38,0x35,0x5e,0x47,0x91,0xbf,0x67,0x08,0x98,0x95,0x1f,0xbb,0xd5,0x51,0x8f,0x0e,0x2a,0x60,0x5d,0x46,0x00,0x23,0xf6,0x13,0xf0,},{0x70,0x2a,0xb9,0xac,0xbf,0xa7,0x5e,0xa2,0xad,0xbe,0x4b,0xe2,0xb6,0x84,0x76,0x25,0xae,0xb4,0x09,0xee,0xf9,0x59,0x6f,0xab,0xe3,0x9d,0x2c,0x53,0x3a,0x03,0x43,0x1e,0x5e,0x57,0x95,0x52,0xe8,0xa6,0x4f,0xc4,0xfb,0x7d,0x92,0x6a,0xa8,0xff,0xfe,0x06,0x40,0x69,0x84,0x64,0xc4,0x45,0x4c,0xe3,0x5f,0xe8,0x3f,0xf2,0x63,0x05,0x1a,0x01,},"\x5c\x92\x95\x88\x1b\x7a\x67\x06\x69\xb0\x4c\xbe\x0d\xab\xd8\x96\x93\xb7\x7f\x7c\xce\x0d\x4a\x33\xf5\x2e\x02\xeb\x26\x95\x9e\x71\x3d\x9a\xef\x5f\x95\x44\x2b\xdf\x91\x72\x83\x83\x32\x52\x02\xaa\xcc\xc0\x37\x47\x7e\x36\x66\xfa\xca\xf2\x4e\xac\x95\x34\x87\x9a\xa3\xef\xe1\x8f\xfc\x1a\x5c\x54\xe3\x9c\x76\x87\xd0\x93\x7b\x24\x71\xba\xb3\x89\xb6\x46\xcb\xe6\xb3\xe5\xd5\x96\x1e\xa6\x3b\xd4\x52\xb4\x74\x33\x44\xce\x4c\x79\x33\x74\x52\x37\x95\xc7\x81\xee\x84\xd5\x11\xe2\x94\x11\x19\xba\xd1\xf4\xa7\x46\xed\x9d\xba\x89\xc8\xd0\x75\x1a\x64\x02\x71\x86\x35\xf6\xe3\x1d\x9e\x18\x68\x1c\x69\x56\xc5\x37\x32\x51\xd3\x5f\x53\xba\xa1\x98\x7c\xd4\x48\xc9\x03\x1a\x07\xf3\x2c\x80\x29\x11\x9d\xe3\xa9\x16\x31\xde\xde\x1d\x93\x3e\x0f\xa3\x26\x29\xaf\xe1\xb4\x2e\xb5\x91\xc2\x2f\x87\x33\x1e\x93\xcc\x08\x3c\x23\xf6\x4a\x6e\x5e\x58\x6f\xf3\x1c\xc0\x4e\x42\x3c\x56\xae\x3f\x6a\x73\x94\x6c\x48\xde\x4d\x85\xab\x00\x17\xba\x24\x45\x6d\x69\xb5\x9d\xca\x6d\x40\x3b\x64\xb0\x7c\x40\xd3\xb9\x0e\x12\x23\x21\x5e\x3f\x7e\x87\x6c\x67\x01\x11\x1e\x37\xe5\x17\x77\x08\x87\x31\x0c\xa8\x56\xf0\x09\xa0\xd6\x06\x54\x83\x5d\x94\xe6\x58\x7a\x43\x9d\xa5\xdb\x0a\x0c\x37\xd7\xc9\xd3\x7c\xa1\xd7\x03\xe1\xb3\x22\x76\x31\xad\xac\xaa\x79\x42\x1a\x1c\x43\x9d\x60\x34\x9a\xe5\x77\x41\xb7\xa8\xad\x09\xec\x29\x31\x23\x03\x0b\xf6\xba\xc0\x68\x9e\x53\x1c\xa7\xe7\x27\x18\x22\x3f\x9e\xa4\x3b\xec\xb0\xee\x9d\x9c\x1a\xb8\x45\xed\x1c\xae\x44\x3e\x3c\x5d\x4a\x9b\x1e\xde\x6d\xb3\x41\x7c\x3a\xce\x28\x11\x43\xf4\x2d\x85\xf5\x99\xb3\xb9\xd3\xd0\x5f\xa0\xed\x07\xc1\xec\x35\xff\xab\x03\x05\x16\x8b\x4e\x56\xe5\x8a\xfa\x06\x17\xf9\xa8\x6b\x1b\x5b\x20\x1d\xcc\xb0\x72\xb4\xce\xf0\xbb\x7b\x95\xc5\x2d\xae\xef\x9d\x9e\x74\x24\xa5\xc0\xf1\x48\xf9\xff\xe6\x0a\x5b\x23\xe0\xff\x82\xc7\x30\x99\x2a\xc9\xc1\x7f\x97\xf0\x65\xcf\x0a\xd5\x37\x7e\xac\xcb\x31\xd8\xbb\x92\x3b\xd2\x60\xea\x11\x9e\x6f\xa9\xbd\x69\x83\x48\x2d\x70\xd9\x21\x91\x02\x40\x2d\xc6\xa3\x49\x91\x93\xd0\xc1\xcd\x3e\xd2\xa6\x69\x21\xa9\x8d\xf6\x9b\x79\x14\x13\xf4\x97\x0b\xbc\xe0\x4f\x63\x9a\xf9\x09\xc6\x4f\x45\x60\xdb\x0a\xf6\x00\x3d\xc4\x62\x19\xe8\xad\x2b\x37\x2f\x8b\x5f\x81\xcf\xaa\x04\x1a\xb7\x1a\x34\x8c\x93\x1e\x8d\xfd\xbc\x40\x9c\x22\xd7\xee\x6e\x07\x62\x6e\x10\x4e\xc6\xcc\x7c\x6a\x41\x16\x17\x7f\x93\xaf\x16\xf1\x24\xf1\x96\xda\xb6\x19\xb6\xf6\x98\xc2\xd1\x91\x85\x8e\x96\x0c\x2e\x94\x7b\x51\xf3\xac\x48\x38\x75\x9c\x21\xfe\xf7\xeb\xae\x35\xda\x24\xf5\x5e\xbd\xa9\xb9\x87\x9a\xea\x17\xa6\xd8\xd9\x27\xde\x48\x7b\x17\x5f\xd7\xfa\xa2\x14\x38\xa2\x09\x23\xdd\xbb\xca\x72\xe6\x72\x69\x34\xbd\x6c\x21\xe8\x11\x80\x19\xf6\x5b\x38\x10\xa0\x7f\xa2\x7b\x1c\xba\x64\xd0\xf3\x9f\x0b\xfd\x49\xdc\xfa\xfd\xef\xe3\x79\xbd\xea\x82\xf3\x1a\x9c\x39\xf7\xe8\x1d\x29\x43\x37\xd1\x0f\x1e\x9d\x8b\x50\xeb\xa4\x58\xce\x7b\x75\x3d\x36\x96\x85\x38\x51\x3e\xdd\xb0\xe8\x45\x34\x41\x1c\x4a\xf3\xf0\x21\x46\x10\xee\x39\x01\xa0\xeb\xf3\x16\x17\x3c\xca\xf1\x5c\xd7\xee\x49\x6d\xbf\xc2\x46\x5e\xb8\x34\xdf\x62\x02\x9d\x62\x1f\xe9\x11\x82\x4d\x79\x87\xdf\x2d\x46\x34\x6b\x4d\xce\x1e\xce\x7d\x19\xd5\x51\x18\xc0\x37\xc9\x95\x51\x11\xd0\x7f\x1f\xc3\x62\xc7\x39\xf1\xea\x5b\x27\x5c\x71\xc0\xae\xbf\x59\x65\x5e\x2d\xef\x16\xe1\x23\xb3\xeb\x25\x26\xc3\xca\x5e\x83\xcb\x24\xd5\xb6\x8d\x7a\xc4\x0a\x67\x59\x33\x84\xc5\x63\xaf\xe0\xb5\x52\xad\xaf\x60\x80\x50\x35\xbe\x97\xb8\x06\x76\xad\xeb\x15\x76\x52\x08\x33"}, -{{0xb1,0xe4,0x7c,0xa3,0x1c,0x64,0xb6,0x8a,0xaf,0xaf,0xb4,0x43,0x51,0x2e,0x66,0x78,0x7c,0x65,0x92,0xf3,0x34,0xaa,0x78,0xfa,0x21,0x9a,0x3d,0x93,0xc3,0x3a,0x4a,0xb3,},{0x58,0x11,0x9b,0x38,0xe6,0xa1,0x48,0xa9,0x36,0xbc,0x5f,0x92,0xf4,0xf2,0x9b,0x98,0x2f,0xf2,0xcc,0xa6,0x4a,0x5a,0xff,0xa1,0x4c,0xa1,0xb6,0xa6,0x2f,0xe3,0x28,0xc4,},{0xdf,0xac,0x86,0xdf,0x58,0x6e,0xc3,0x4c,0x7c,0xfe,0xa5,0xd5,0xa6,0xcd,0x11,0x40,0xe5,0x0b,0x6b,0xf0,0x50,0xf8,0xe4,0x1a,0x19,0x0e,0xbf,0xd3,0xb1,0x43,0x2b,0x95,0xa5,0x7d,0x56,0x52,0xdb,0xae,0x8f,0x53,0xe0,0x37,0xae,0x32,0x6e,0x7f,0x18,0xcf,0xef,0x7c,0x77,0x9f,0x40,0x34,0x6f,0x7c,0x0d,0x86,0x44,0x61,0x05,0x93,0xf2,0x09,},"\x76\x7e\xc1\xb3\xda\xf2\x04\x38\x7f\x3f\xd3\xb2\x00\x10\x78\x1a\xfb\x1f\x38\xf6\x14\x47\x42\x13\x28\x7f\xff\x11\x30\x7f\x5f\xf5\xae\x7e\xc9\x45\xa2\xb9\xb4\x87\x00\x49\xd4\x53\x2f\x8f\x61\xc1\xa7\xb5\xf2\x11\xfc\xa2\xe6\x7c\x37\x4d\x96\x21\x9d\x8e\xa9\xde\x73\xf0\xe3\x87\x04\xfc\x94\xc0\xe9\xe7\x2f\x2e\x15\xda\xba\x3f\x88\xf7\x49\xb1\xed\x70\x26\x60\xdb\x1a\x35\x2a\x26\x67\xd4\xdf\xd4\xe0\x0a\x18\xef\xa4\xc6\x60\x9e\xe9\xc9\xa8\x8a\xda\xcb\xbb\x98\x5d\x3d\xe8\xdd\xd1\x7d\x4e\x4e\xb7\xcf\x74\xa1\xda\x91\xed\xb3\x90\x85\x2e\xa4\xcb\x9a\x42\x4f\x7f\xa2\x22\x9e\x08\x30\x33\xa3\x40\x59\x11\x7e\x5e\xfa\x7b\x66\x13\xd7\x5e\x58\xb7\x02\xc6\xce\xe5\xd0\x04\xe8\x59\x9b\x97\x50\x3a\x5f\x10\xc4\xc4\xe5\xb9\x57\x73\x71\xd3\xd0\x5b\x2d\xfb\xf7\xcb\xef\xe6\xd0\x92\xd6\x5c\xbd\x40\x51\x38\xd9\xb0\x4c\x51\x86\x23\x59\x83\xfa\xb6\xd4\xce\x85\xb6\x36\x27\x62\x06\xd7\x4a\x2e\xe7\xdb\x61\x64\xda\xc4\x7c\xce\x78\xf5\x0d\xb9\x9a\xf6\xac\x6e\x70\x64\xc1\x3a\xab\x79\x3b\xe8\x7e\x66\x28\x9c\x94\xa0\x9f\xb0\xa3\x1d\x97\x97\x1e\xdd\x74\xea\x9c\x0c\xe8\x74\xd2\xb7\xd6\xc4\xab\xae\xff\x07\xf8\x70\x22\x51\x51\x94\x6a\x5c\x47\x6f\x6b\x97\x89\x96\xb8\x7d\x8c\x98\x46\x06\xc7\x91\x28\x7d\xa6\xba\xd0\xaa\x44\xb0\x13\x0b\xe8\x86\x71\xa5\x56\xe2\xde\x35\xc4\xcb\x03\x8e\xe7\x81\x27\x35\x30\xac\xe0\xa1\x04\xc2\x78\x09\xae\xe0\x33\xc8\xbf\x90\x29\xd9\x0f\xe7\xba\x06\xaa\xa9\x4e\x16\xa5\x2c\x64\x3d\xfd\x92\xa7\x62\x4f\xbb\xee\x77\xa7\x15\x8b\x2c\xc1\x51\xbd\x3f\x61\xa1\xa7\x6f\x32\xb2\x84\x89\x30\x7a\xcf\x0d\xd8\xc2\x6c\xc4\xad\xbb\xb8\xde\x43\x0d\xb4\xe4\xf5\x83\x08\xb6\xab\x90\x45\x61\x11\xde\xac\x29\x78\x17\x2f\xe1\xfc\x0c\xe4\x98\x08\x8a\xdd\x4c\x31\xc2\x1f\x24\x27\x90\x25\xfe\xb4\x8c\xbb\x7a\x92\x0c\xff\x2d\x28\x71\x05\x87\xaf\x52\xc8\x44\xdb\x8a\x7a\xeb\x7d\xf1\x0d\x43\x41\x1a\x3c\x8e\xee\xbb\x40\x6d\x6e\xfc\xb1\x92\x48\x88\x7d\x45\x0b\x57\x3d\x90\x30\x5e\x1f\x23\x75\x3e\x89\x05\x11\xdc\xc7\x7c\x74\x0e\x31\x6a\xd7\xf5\x2d\x49\x02\x07\x3d\xb3\x99\x8e\x4e\x4a\xcc\x4e\x01\x88\x5b\xd1\x18\x8e\xcd\x61\x65\xae\xde\xd1\xe7\x78\x70\x2b\x6a\x6a\x79\xa9\x49\x99\x10\x2d\xf7\x20\x18\xf7\x92\xf8\xf1\x62\x00\x7e\x81\x2a\xef\x8f\x95\x6e\x12\x32\x82\xbb\xdb\xd0\xc3\x56\x12\xc2\xd3\x47\x3f\x94\x4c\x6d\x76\xbe\x9e\x86\xff\xfa\x46\xcc\xb1\xae\x13\x50\x5a\x4a\x81\xf3\x1b\x84\x26\xb8\xb6\x0d\xe8\xe8\xa7\xc1\x6d\x1e\x16\x65\xb2\x71\x43\x46\x65\xc4\x42\xa9\xc6\xa9\x77\xce\x98\x6f\x69\x93\xb7\x43\x9a\xf0\x3b\x40\x2e\xea\xff\xf1\x45\x6d\x15\x15\x26\xd9\xc5\x8f\x51\x5f\xd2\x48\x5e\x0c\xbb\x32\x4a\x50\x3a\x8d\x49\x13\x44\xcd\xb2\xaf\xf4\xc4\x1a\xa8\xe2\xed\x66\xe5\x80\x83\xbf\x0d\x2f\xbf\x48\x77\xc8\x5a\x4b\xcd\x6b\x9c\xbb\x82\x12\x42\xc9\x41\x47\xe5\xfd\x8b\x7d\xd7\x92\xad\x0a\x28\xd4\x9d\x41\x10\x0b\x43\x1b\xb4\xd8\xc7\x83\x3d\x85\x05\xdd\x9e\x26\x49\xf9\xca\x70\x51\xbe\x68\x71\x2e\xf3\x63\x71\x02\x03\x6b\x00\x26\x49\x47\x3c\xe2\x59\x67\x7d\x82\xc6\x06\x28\x95\xe1\x61\x92\x8b\x75\x2f\x13\xc9\x1a\x45\x95\x5e\x80\xf0\x07\xde\x69\x0e\xdf\x8a\x0e\x5e\xee\x44\x22\xe1\x62\xb9\xd2\xb4\xa9\x21\xd3\xa6\x48\x45\x79\x3a\xa2\x22\x9e\x9c\x23\x9e\x57\xa6\xb1\xa9\x0a\x52\x54\xc3\x51\x2f\x99\x34\x53\x15\xac\x7d\x34\x57\xf9\x15\x42\x96\xc6\x68\x22\xab\xe1\x84\xd6\x4e\x57\x2b\x9c\x38\x49\x29\x58\xe2\x1b\x02\x92\x67\x54\x10\xe7\x34\x8b\x2b\x71\x8a\x0b\x75\x92\xca\xee\x94\x58\x1a\x94\x8d\x2f\x41\xfa\x03\xc6\x1e"}, -{{0xfb,0xd5,0x5f,0xa7,0x43,0xc3,0xa5,0x91,0x0b,0x38,0x57,0xdd,0x0b,0x6a,0xa5,0x84,0xf3,0xb2,0x38,0xde,0x05,0x6b,0x76,0xab,0x76,0x17,0xae,0xb5,0x26,0x38,0xfe,0xf6,},{0xa7,0xa1,0x63,0xc4,0x18,0x3b,0xd8,0x4b,0x75,0x6d,0xf3,0xc8,0xaf,0xdf,0xb9,0xcd,0x5b,0x24,0x23,0x52,0xd9,0x49,0x9e,0xbd,0xab,0x90,0x78,0x5c,0x3b,0xd6,0xdb,0x2d,},{0xef,0xfb,0x29,0xda,0x69,0x85,0x97,0x1c,0x20,0x2e,0x24,0x50,0x30,0x1d,0x49,0x71,0x1b,0xed,0x25,0xfa,0xd8,0x5f,0x61,0x99,0xd1,0xeb,0x1e,0x71,0x91,0x4d,0x96,0x4c,0xbe,0x18,0xe3,0x4c,0xc3,0xe3,0x28,0x72,0xcd,0xec,0x02,0x6b,0xd1,0x19,0xa4,0x1c,0x1c,0x07,0xca,0x41,0xe8,0x2a,0xcb,0xa6,0x2f,0xb0,0xa7,0xc8,0x2a,0xed,0x80,0x0c,},"\xbf\x52\x52\xb2\xae\xca\x11\x63\x77\x1f\x76\x62\x78\x76\x80\x66\xf2\x19\x71\x35\x7e\xa7\x99\x61\x58\xa8\xd6\xe9\x08\xdd\x59\xb5\x99\x71\x34\x9f\xa1\x78\x82\xcb\x92\x24\xb9\x72\xd0\xff\xab\xe8\x55\x10\xdc\xf2\x5a\x9f\x9f\x9b\xde\xfa\xd2\xf4\xca\xdf\xbb\xda\xcc\x1f\xca\x9d\x94\x8c\xb5\x41\x2f\x47\x4c\xad\x23\xb5\xb9\x19\x9b\xf3\xc7\x37\x06\x41\x33\x9b\x75\x0e\x1f\x78\xc2\xad\xb4\x60\xaa\x5b\x21\xb1\xfa\x8f\x97\x71\x4a\xbb\x4e\xd5\xe9\xcb\x51\xd6\xde\x55\x81\x66\x18\xab\xd3\xfd\x2b\x28\x6b\xc1\x1c\x67\xba\x01\x12\x93\x73\xd4\x35\xb3\xe7\xe3\x91\xba\x37\x26\x14\xda\x83\x22\x87\x5e\x46\xa6\x75\xb6\x45\x15\x60\x24\xca\xd2\xdd\x13\xf9\xa0\x81\x61\x6b\xf1\x31\xa2\x43\x58\x89\x4e\x0e\xfa\x1d\x56\x64\x8f\xfb\x42\xef\xb5\x40\x31\xda\x7f\x37\xd1\x97\x61\x51\x55\xae\xdb\x69\xc4\xe7\x09\xc8\xbb\xbe\x7f\xbf\xcb\x59\x83\x47\xac\x5d\x0c\x63\x84\x07\x84\x7b\x28\x1c\xf1\x16\x43\x30\x97\xf5\x66\x21\x58\x71\x9f\xcd\xd3\x7b\xeb\x48\x92\x68\xce\x71\xde\x7d\x70\xed\x92\x5f\x74\x3f\xc6\x3a\x71\x5f\x7e\xee\x75\x49\xfd\xb9\x09\xcc\x45\x4c\x98\x8b\x30\xae\x4d\x77\xd6\x2f\x65\xa0\x7e\x2c\x8f\x93\x62\x38\x5d\x02\x8a\x60\x31\x08\xc9\x45\x87\x2f\x5e\x1a\x97\x41\x98\x78\xed\x49\x54\x2e\x28\x8e\xf0\x7b\x5c\x90\xf5\xc4\x15\x9e\x16\x23\x03\xd0\x80\xf6\xac\x2b\x05\x8d\xdc\xac\x60\x74\x6f\x9e\x1c\x9e\xc1\xdf\x8e\xda\x42\xd6\x27\x38\x58\x6d\x3f\xdd\x65\xdf\x55\xf4\x37\x4f\x32\x94\xe0\x86\x8d\x41\xef\x0b\xb1\xfd\x55\xe0\xcb\xf1\x95\xbb\xfc\xfc\xde\x5b\xdb\x41\xfa\xd9\xa0\x47\x7e\x4c\x90\xca\x27\xfa\x8c\xf5\x03\x36\x2a\x33\xfd\xec\xa5\xa4\xf0\xff\xea\x26\xe8\xd7\xe1\x34\xfa\xd3\xb1\xec\x3d\x05\x60\x55\xbb\xa5\xe6\x5d\x81\x15\x3e\xe8\x31\x87\x3b\x93\x8d\xf7\xd2\xc8\x3c\x2a\x52\xb3\xc2\x21\x82\x7f\x96\x1b\xd0\x08\x36\x22\x32\xd8\x82\xa0\x41\x2a\x04\x7a\xfd\xfb\x85\x97\xc8\x65\xa2\xaa\x2c\x2c\xf5\x18\x99\x34\xa8\x3e\xe6\xb7\x52\xa6\x26\x94\x1e\xdc\xe0\xc2\x0b\x6f\x7a\x69\xf1\xcf\x12\xf9\xa3\x31\xcd\xfa\x9e\xda\x24\xc8\xde\xfa\x76\x9c\xcc\xe2\xef\x74\x6c\x30\x7d\x8b\xb0\x48\x91\xfc\xef\xd4\x9a\xf3\xe6\xf9\x69\x91\xa7\xa2\x0f\x27\xb6\xc0\xaf\x12\x18\xbe\x31\x79\x1d\x1d\x02\x93\xe0\x81\xb9\x0a\xf3\xb9\x2e\xcb\x17\x5e\xc8\xc7\x89\xf7\xa8\x64\x2e\x04\x1e\xc3\xa6\x1a\xae\xfe\xf6\x2a\x80\x7d\x1a\x50\x54\xad\xf8\x32\x3b\xed\x94\x22\x41\x62\x37\x32\xa2\x05\x1d\xc0\x1f\x9a\x20\xa2\x9a\xa4\x8b\x3f\xdf\x26\x5d\x0b\xa6\xc1\x38\xfb\x57\x93\xe2\x87\x50\x02\xe7\xde\x3f\x5c\x3f\xf7\xe8\x3a\xd2\x7d\x11\x1c\x84\x8b\x7e\x6e\x2e\x5a\xd5\xf2\x8e\xb7\xc3\x63\xf9\x5f\x96\x0c\xbc\x42\x13\x36\xce\x98\x5f\x94\x6b\x05\x15\xb1\xbd\xd3\xa8\x32\xc3\xfe\x90\x3f\x7b\x44\xe2\x0c\x92\xea\x80\x82\x6f\xbf\x97\xe2\xa4\xfc\xaf\x2d\xb1\xa0\x86\x98\xdd\x62\xed\xd0\xa8\x45\x89\xd7\x46\x2c\x44\x7b\x4a\x89\x6f\xe0\x08\x60\x04\x24\x96\xbd\x51\xb1\x92\x5c\xb7\x9c\xc3\xb8\x29\x01\x6a\x4c\x7e\x62\x79\x0f\x80\x58\xc5\x46\xf2\x14\x5a\xaa\xef\x4d\x4b\x1e\x27\x3f\xf6\x13\x00\xf8\x00\x8e\x94\x6b\x62\x2f\x60\xe5\x05\xf5\xf6\x29\x0d\x51\xeb\x99\x7d\x20\xfc\x3f\xbb\x3e\x99\xed\xd6\x8f\xf5\xcc\xe9\xe8\xc2\x83\x88\x1c\x36\x4f\xf2\x15\xcb\x50\x04\x5e\x60\xf4\xa7\xee\x45\xb6\xc9\xd8\x64\x47\xf3\x81\x41\xd3\x42\xdb\xc5\x30\x8f\x8c\x66\xef\xc4\x7f\x7c\x45\xf6\xd2\x5e\x65\x64\x30\x9a\x86\x2d\xb9\x0f\x4d\xf3\x31\x78\x7e\xcd\xd8\x9d\x3a\xaa\x46\x05\x3e\x29\xf1\x02\x62\x4d\xdf\xe8\x0e\x8a\x3f\x99\x28\x7c\xec\x19\xfa\x83\xe4\x4d\x55\x7c\x04\x41"}, -{{0x5d,0x66,0xce,0xb7,0xc6,0xe5,0x8c,0xac,0x91,0xe2,0x88,0x27,0x91,0x70,0xe8,0x18,0xe7,0x87,0x18,0x0c,0x6b,0x42,0xdf,0xa1,0x68,0x78,0x7d,0xd0,0x7f,0x80,0x9f,0xa4,},{0xef,0xc9,0xb3,0x5d,0xb8,0x1f,0x34,0x61,0x98,0xa7,0xac,0xc6,0x9f,0x65,0xfd,0xfb,0xf4,0xc2,0x2e,0x68,0xdd,0x76,0x12,0xe3,0xb8,0xec,0x68,0xd3,0x78,0x55,0x3b,0x8d,},{0x6e,0xf2,0x64,0xab,0xf8,0xb0,0xe5,0xc2,0xd7,0x93,0xb2,0xc7,0x52,0x79,0x61,0x4a,0x39,0xc7,0x75,0xeb,0x2b,0xcc,0x08,0x91,0x06,0x7a,0xbc,0x61,0xf6,0xd6,0x44,0xa6,0x9f,0xf8,0xf8,0x14,0xa3,0x05,0x22,0xcc,0xa9,0x05,0x36,0xf0,0x12,0xc6,0x28,0x3a,0x76,0xc3,0x2b,0x89,0xee,0xe1,0xbd,0x9a,0x43,0x36,0xf4,0xfd,0xda,0xc8,0xdc,0x0b,},"\x94\xd7\x2f\x6d\xec\x4f\x7c\x92\x06\xb4\x15\x10\xce\x71\xa0\x29\x55\x60\x4f\x3c\x5d\xe8\xe4\x47\xd5\x87\x18\x65\xa7\x58\x98\xa4\xd2\x07\xa2\x6c\xf3\x3d\x10\xca\xf0\x5a\x0b\x6e\xd0\xd3\x89\xfe\xe9\xed\x49\x27\x50\x98\xa8\x8e\x1c\x0d\x83\x04\xe8\x1b\x40\x74\x21\x4c\x7a\x5c\xe1\x57\xeb\x26\x17\xef\x04\xe1\x32\x4b\xa9\x42\x12\x9f\xaf\x32\xc3\x1c\xb4\xaa\xe4\xa5\x91\x6c\x75\x08\x08\x72\x68\x56\xf7\x18\x0e\x57\x97\xed\xe4\x43\x62\xd7\x47\xd7\x0c\xec\x15\x9d\x3b\x6a\xce\xc6\x3a\x51\x4c\x7e\xf3\x1b\x2e\xcd\x16\xdb\x7f\xe6\x8e\xa9\xc5\xea\xd9\xd8\x70\x92\x18\x00\x34\x8f\x69\x54\x12\xf3\x09\x3e\x61\x98\x5a\x31\xea\xdb\x79\xb5\x9d\x91\xdd\x9a\x37\xf8\xd4\xef\x7a\x5d\xdf\x22\x3d\x4b\x24\x77\x4c\x2e\x44\xe3\xf2\x71\xff\xb8\x50\x0d\x59\x53\x81\xb3\xdf\x2e\x8e\x6b\x79\xee\x65\x53\x5a\x51\x9a\x43\xea\xa5\xe5\x2b\x25\x6c\x26\x43\x30\x5e\x31\x70\xcb\xe5\x76\x06\xa0\x54\x5f\x85\x86\x56\x5c\xfb\x75\xbf\x5e\x95\x64\xc6\x2a\xf0\x5f\x15\xee\x6e\x62\xaf\xee\xf8\xc2\xc7\xa9\xda\xe2\x35\xc9\xed\xd1\xd7\xc2\x5c\xf4\x9a\xdc\x03\x3e\xe7\xb5\x83\xf5\x18\xbc\x16\x8e\xa4\x88\x36\xb5\x0f\xfe\xdd\x20\x32\xb3\xf6\x30\xcc\x56\xda\xad\xd5\x13\xeb\xda\x86\x48\x23\x61\x0f\xc6\x7a\x72\xb9\xa7\xd8\x11\x71\x05\xc1\xc7\x1d\x85\xa9\x6b\x1d\x27\xa4\x41\xfa\x1e\x7c\x6c\xf8\x02\x33\xa4\x9f\xe0\xe7\x6a\x40\x27\x8d\x06\xe3\x43\x47\xd8\x7b\xe7\x7b\x98\xde\xd5\xe2\xa3\xea\x1a\xfb\x13\xbe\xe1\xe6\xcd\x6c\xa6\x3b\xe5\x4f\xcf\x88\xa2\x0c\xcb\x7a\x9f\xc3\x24\xbf\x61\x43\x20\x1b\x44\x48\x3b\xcc\x96\x40\x33\xda\xb7\x1c\xf8\xf2\xa5\x91\xfc\x05\x0d\x57\x24\xe9\x5a\xa5\x0d\x32\x89\x6e\xec\x0f\x3b\x34\x31\x1d\x2a\x99\x34\xe9\xf8\x52\x97\x7e\x25\x3f\x15\x30\x4c\xae\x24\x16\xc2\xc4\xfc\xd8\xf1\xfe\xcc\x3f\x1f\x64\xbb\x79\x75\x99\x29\xab\xb0\xe8\xe8\xf5\xf7\x29\x3d\x69\x1a\xf2\x2a\xbd\x3b\x2a\x67\x70\xb0\xcf\x14\x46\x08\xf2\xd6\x2c\xc7\xe5\x2b\xfe\x33\x3b\x2e\xd2\xde\x39\xb9\x9a\xfd\x37\xe3\xac\xf0\x7e\xda\x37\xdd\xf0\xdf\x02\x9b\xff\x2e\xc2\x25\x44\xb6\x0b\xd7\xdb\x23\x8d\xf1\x97\x5f\xfa\x00\x75\xa8\x2a\xbd\x8d\x6b\x05\xb2\x67\x18\x0b\x87\x0e\x21\xab\xf3\x69\x81\xae\x77\x68\xde\x53\x99\x3b\x30\x4f\x1c\x54\x53\x87\x2f\xdf\xa8\xed\xad\x45\xf8\x00\x1a\xa0\xe7\x34\x2b\x3b\x58\xec\x0f\x38\x9d\xcb\xc2\x71\xfb\x0f\x90\x00\x62\x87\x57\xab\xba\x58\xc0\x57\xe1\xa0\x89\x9f\x6f\xaf\x15\xf3\x74\x0f\x31\x43\xf5\xc0\xb7\xa9\x15\x96\x80\xde\x8c\x55\x72\x66\x44\x1b\x3b\x01\xca\xac\x12\xec\x27\x8f\x5a\x10\x25\xdf\x53\xed\xb6\x13\x4c\x96\x66\x3a\x96\x66\xae\x3b\xaa\x90\xfc\x83\x51\x11\xef\x05\x1b\xd9\x12\xf6\x79\x67\x44\x91\x13\xb6\xa8\x5f\x71\xdf\x8c\x60\x37\x72\x4e\xb8\xfc\x7d\x83\x19\xbc\x03\x85\xbe\x9b\x0e\x99\xe9\x5f\x9a\xed\xca\xe8\xd4\x5a\x51\x44\x76\xf0\x5b\xcd\x72\x35\xc0\x13\xeb\xc3\xae\xa9\x12\x3c\x67\xaa\x6f\x3b\x79\xc8\x5e\xa5\xdb\x15\x9e\xef\xad\xfb\x75\xa5\x0a\xc6\xb9\x5b\x49\x6b\x55\x72\x58\x1a\x76\x11\x2f\xf6\xdb\x26\x3f\xc1\x4c\x58\x18\xaa\xd5\xbc\xa3\xb2\xcb\x3a\xc8\x11\x6d\x42\x94\x82\x78\x1e\x06\xf6\x1e\x75\x63\xe6\x50\x5e\x51\xc8\xff\x99\x8b\xf8\x4a\xed\xb5\x20\x2e\x2f\x9f\xf4\xc2\x68\x98\x20\x29\x6c\xc6\x96\x03\x09\x1b\x8b\x81\x8f\xbe\xb2\xaf\x5f\x4c\x57\x06\x0d\x98\xc1\xa9\x04\x84\x3a\x70\xbf\x97\x5b\x3c\x3c\xa6\x03\x1a\x4c\xad\x5b\x4b\xbf\xba\x7e\x9b\x47\x49\x1a\xb7\x40\xd9\xeb\xe4\x1d\x76\x88\x10\xcb\x8c\xc5\x1a\x93\x7f\x7e\x3b\x22\xe3\xcf\x07\xce\xae\x0c\xe2\x08\x31\x49\x5a\xfc\xdd\x8c\x1a\x98"}, -{{0x62,0xed,0x86,0x82,0xbd,0x3a,0xb3,0x96,0x6e,0xba,0x3b,0xff,0xb7,0x75,0xa3,0x18,0xa0,0x3d,0x99,0x93,0x19,0x79,0xe9,0x9f,0xeb,0x2d,0xdb,0xd6,0x94,0x55,0xa0,0xef,},{0xd3,0x2a,0xda,0x17,0x8b,0x3e,0xc7,0x70,0x0c,0x47,0xdd,0x6d,0x36,0x53,0x22,0x03,0x3f,0xe4,0x31,0xc3,0x02,0xb4,0x6f,0x8d,0x58,0x79,0x8e,0xd8,0x33,0x71,0x56,0x6b,},{0x3d,0xa8,0xd1,0x4d,0xc4,0xe7,0x1f,0xe6,0xc3,0x2e,0xde,0x46,0x37,0x88,0xe4,0x1b,0x82,0x6b,0x4e,0x21,0x60,0xba,0x10,0xc9,0x5f,0x1c,0x8a,0x27,0x49,0xaa,0xd8,0xf1,0x2e,0x98,0xae,0x24,0x68,0x30,0x3b,0xaf,0x69,0x08,0xbd,0xb3,0x5e,0xf3,0x8a,0x5e,0xcd,0x77,0x74,0x1e,0x72,0xee,0x3a,0x42,0x7f,0xd9,0x04,0xda,0xe6,0x6f,0xcf,0x03,},"\x9e\xb1\x3b\xc7\xfa\xcf\x51\xa1\x80\x54\x1e\xc1\xdc\x5f\x5a\xcb\x14\x8c\x8d\x5e\xad\xcd\x2c\x4e\xf0\x68\xbc\xdd\x11\xb3\x49\x25\xea\xbf\xaf\xab\xfe\x82\xa2\x84\xbc\xba\xee\x13\x81\x15\x2a\xf8\xe5\xe0\x9f\x03\x7c\xf1\xbb\x64\x84\xac\x18\xe3\x73\x59\xbf\xaa\x4c\x87\xaa\x07\xd3\xd1\x4e\xd0\x89\xb0\x53\x91\x0d\x1f\xa4\x73\xf7\xbc\xe1\x43\xe2\xa5\x9c\x4d\xaf\x99\xb6\xc6\xe4\xe9\x29\x1d\x97\xc8\x64\x71\x2a\xf3\xea\xba\x53\xce\x25\x17\xa4\xf7\x5c\xd7\xec\xf2\x78\xf3\x4e\x22\xb7\xdf\xfd\x08\x8f\xa5\xec\xad\xc0\xdd\x22\x13\x5e\x42\xa5\x36\xc6\x84\xf2\x19\x5d\x31\x5f\x69\x24\x57\x1e\x46\x3f\x5c\xfc\x11\xb9\xf9\xd0\x5a\x7e\xa1\x1b\x98\xa1\x69\xa1\xe3\x93\x60\x97\x3c\x50\xad\x45\xc7\x49\x1b\x57\x13\x8e\xc0\x50\xf4\x3c\xbd\x5d\x17\xeb\x3f\xe0\x01\x3e\x3d\x28\xd5\x26\x05\x4e\x07\x63\x31\x52\x24\x6f\x16\x55\x4f\x30\x54\x74\x9e\xea\x68\x7b\x9c\x37\x1b\x40\x9c\xd3\xec\xef\xb1\x11\xa1\xd6\x00\x40\x73\x44\xe6\xd6\xec\x38\xc6\x0f\x6e\x54\x5a\x92\x38\x2e\x46\xc4\xd1\x13\x12\x5d\xbe\x5b\x98\x26\xe1\x27\xf1\x01\x81\xa3\x5a\xcf\xff\x28\xab\x37\x64\xca\x7f\x23\x8f\xf4\x79\xfd\xbc\x45\xb7\xa2\xad\x0f\xf5\x38\xc8\xac\xd0\x01\x8d\x44\x70\xfe\xbc\xc6\xa3\x07\x65\x1c\xb5\x83\x2f\x32\x6b\x19\x24\x1b\xe9\x86\x7e\x4e\xca\x6a\xe3\x6f\x0e\x2d\x83\xfd\x77\xb9\x72\x02\xb3\x64\x71\x6e\x36\xd1\x89\x5a\x36\x85\x3e\x7e\x76\xe8\x8f\x62\xdb\xbf\x77\x26\xc2\x18\x05\x69\xc6\x66\x73\x83\x7a\xd7\x2f\xf9\x36\xcf\x0e\x2f\xdb\x9e\xc6\xaf\xcc\x79\xf8\x82\x9e\x15\x7f\x95\x22\x88\xf4\xe0\x0d\x04\x10\xa7\x22\x53\xbf\x60\x5e\xdd\xce\xb0\x14\x40\xde\xe5\xdd\x32\xb5\xa8\x03\x43\x9f\x03\x8c\x06\xaf\x1c\x90\xb2\x7b\x5f\xe9\x84\x3c\x27\xae\x76\x60\x9c\xbf\x83\x28\x35\xc0\xe3\xc4\xbb\x59\x97\x6c\xce\xde\x44\x87\x86\xd9\x1e\x43\x8e\x07\x75\xc0\x6a\x92\xd0\xf0\xb8\xdc\x0e\xf6\x82\x60\xf7\xdd\x9e\x68\x71\xc4\xd0\xc0\xc0\x94\x63\x85\x26\x15\x21\x85\x16\xf4\xa6\xde\xbf\xdb\x46\x27\x3b\x28\x33\x82\xcd\x9c\xa7\x44\xab\xf9\xfd\x43\x91\x94\xb8\xcf\x1b\xdb\xb3\x17\x5c\xa9\xc5\x7a\x1c\x37\x3c\x41\xfc\xe9\x2b\xd5\xfc\x01\x2b\x19\xa0\x69\x8a\xef\x37\xba\xf8\x06\xae\x09\xad\xd8\xcb\x97\x2a\x9e\xf9\xa7\xa5\xa9\xb1\xfd\x9a\x41\xd8\x54\xc3\x0c\xca\x13\x96\x14\x0e\x20\xc2\xb9\x86\x54\xfe\x6e\x51\x1b\x62\x6a\x43\x91\x5b\x22\xfb\x2d\xad\x74\x7b\xa7\xfe\x74\x60\xd8\xce\xbb\x20\x06\xfe\xa1\x9b\x32\x84\xb0\x9c\x06\xa6\xf5\x2f\x17\x9a\x32\xbe\xb5\x63\x57\xb9\x29\xa6\x59\xf0\xfe\x6a\x26\xb6\x97\x03\x3d\xef\x58\xba\x60\x3f\x43\x0f\x74\xaa\x35\x07\x09\x81\xdb\x74\xcc\xf1\x91\x90\xa1\xfb\x05\x14\x4e\xc0\xa0\x9a\x51\xe5\x47\x65\x06\x97\x30\xb0\x9a\x7a\x23\x31\xff\xb3\xde\x2a\x7e\x02\xc5\xe1\x84\xda\x40\x13\xdf\xe9\x37\xc3\x71\x11\x75\x24\xf7\xb2\x10\xba\x60\xe2\x69\x2d\xcd\xce\xf3\x6a\xb2\x27\xb4\xc4\xf0\x2a\x9f\x48\x89\x72\xb8\x47\xf0\xd6\xb5\x9d\x02\xee\x54\xfe\xde\x88\x21\xdb\x6c\xf7\x31\xcc\x8a\xc8\x95\x35\x0a\xc5\xcd\x4d\x6b\xaa\x3a\xd0\x36\xf0\x6f\x20\xd1\x0a\x14\x0c\x4a\xd3\xd1\x0c\xa9\x85\x53\x2e\x31\x60\x46\x27\x73\x38\x5a\x2e\xb5\xe4\x64\xd5\x28\xe1\xe5\x9c\x29\xf6\x6b\x3d\xe5\x9e\x9e\xa2\x8a\xf3\xf9\x7b\xfc\x55\x89\x03\x57\x52\xa5\xa5\x52\x3d\xec\xd2\xdf\xf0\x1f\xc0\x0f\xf3\x1b\x30\x15\x2f\xf5\xda\xfa\x33\x1c\x6a\xb1\x58\x73\xaf\x41\xaa\x96\x0a\xac\xe7\xd2\xcb\x4f\x95\xc2\x3d\xf4\x4b\x9e\x6c\x6e\x2f\x86\x78\x8a\x87\x2f\xd3\xa5\xcb\xe4\xac\xc9\x58\x10\xda\xa0\x9d\xcc\x1d\xf9\x33\x46\x5e\xf0\x40\xc5\x3d\x9d\x95\x9f\x9d\xad"}, -{{0x4e,0x57,0xf0,0x31,0x1f,0xff,0x0e,0x5d,0x53,0x88,0x49,0xb1,0x21,0x6f,0x69,0x5b,0x1a,0x52,0x77,0x94,0x17,0x08,0x20,0x4d,0xb2,0xf0,0xc1,0x5b,0x3c,0x73,0xc8,0x2a,},{0xe3,0x37,0x1f,0xe2,0x36,0xad,0x2f,0x6f,0x42,0xf9,0xe1,0xfa,0x4e,0x1e,0xda,0x2c,0x3e,0x29,0xc3,0x6c,0x8a,0xd2,0x21,0x8a,0x3c,0x03,0x79,0x82,0xf0,0xb5,0x79,0xec,},{0x4f,0xdc,0x7b,0x6e,0x28,0x27,0xf6,0x4b,0xa3,0xc0,0x33,0xc7,0xfb,0x6d,0x1b,0x35,0xdd,0x68,0x0f,0x53,0x29,0x99,0xa0,0xd7,0x7a,0xeb,0x27,0x6c,0x31,0xbd,0x9e,0x39,0xc6,0x70,0x97,0x8b,0xe4,0x72,0x43,0xc1,0x13,0x22,0x3a,0x57,0xaa,0x10,0x23,0x31,0x50,0x67,0x8b,0x40,0xdb,0x78,0x59,0x1c,0x04,0xd0,0x8d,0xf5,0x7a,0x70,0xa2,0x09,},"\x05\x2a\x1f\x41\xeb\xfd\x4b\xf6\x5e\xfb\x0e\xc8\xe7\x4d\xd7\xb3\x06\x5e\x9c\x48\x2c\x49\xb9\x92\x62\xe6\xdf\xa8\x40\x7d\x9e\x31\xed\x34\xd2\x29\xba\x41\xfc\x49\xa9\x4a\x13\x09\xf9\x90\xa9\x9c\xb9\x90\x2f\xb8\x4f\x4e\xde\x91\xbb\x64\x71\x45\x64\xa9\x13\xd5\x74\xd4\xa3\xc2\x86\xf0\xa1\x92\xa7\x8c\xe2\xd5\x5a\xae\x5c\x9f\xb0\x57\xff\x36\x12\x00\x18\xb2\xa8\xb5\x4d\x98\x08\x55\x37\xea\x64\xae\xa9\x99\xd5\x32\x1c\x78\x80\xb3\x6a\xb4\x30\x18\xea\x2c\x92\xa5\xe6\x83\x50\xd3\xde\x85\x26\xe2\xc8\xbc\x91\x41\xf4\x34\x9a\x18\xa3\x4f\x21\xde\x0a\xbb\xf2\x93\x09\x87\x56\x7f\x0a\xaf\x8e\xb1\x91\x45\x58\x0d\x71\x30\x6c\xe8\xa6\x9e\x79\xf8\xee\xa2\x6c\xfa\x0b\x8b\xeb\x49\xcc\x5a\xa2\xbc\x77\xb7\x97\xd4\xf8\xd5\x03\x26\xff\xb9\x37\x39\x9e\x94\xfd\xec\x85\xe1\x92\xf1\x27\x2a\x80\xe9\xa0\xeb\xba\xf5\xd0\x1f\x1b\x97\x06\x08\x02\xbd\x4a\xf3\x4c\x0f\x7d\x7e\x98\x54\x3f\x9d\x66\xd6\x0e\x0e\x6b\xc0\xbf\x9c\x99\x0b\xe3\x1e\xea\x19\x78\xff\xd1\x67\x33\xa8\xab\xe4\x95\x58\xb3\xad\xd0\xdc\xe6\xde\xfd\x64\xdc\x04\x3f\x15\x19\xb1\xe9\xbe\x66\xe0\x6e\x41\xec\xab\x16\x8c\x83\x39\xa8\x5e\x0b\x91\x38\x18\x64\x4e\xa7\xc5\x33\x44\x68\xfd\x71\x96\xa0\x1e\x1d\x4c\xe8\xdd\x1e\x7e\xe3\x13\xdd\x53\x50\xb8\xdc\xe4\xf5\xd7\xa6\xac\x09\x85\x7c\x4d\x3d\x0f\x10\xa3\xd9\x06\x26\x09\x75\x45\x92\xad\x10\x77\xb2\xe2\x09\x6f\xc9\xe5\xb1\x97\x8c\x98\xb5\x66\x0d\xdf\x51\xb4\x6e\xde\x9f\x9d\xcd\x41\xb2\xef\x44\xe7\x9f\x6d\xaf\xf7\xd3\x62\x68\x70\xe2\x24\x3c\xaf\xb2\xf4\x36\x79\x39\x10\x9e\xd9\xc0\x14\x84\xb7\x9e\xaa\x30\xa1\x89\x1e\xa1\x8f\x98\x4e\x16\x1d\xcd\xd1\xbd\xa3\x71\x34\xbf\x67\x35\xd2\xb2\x14\x9b\x48\x98\xda\xcb\xfd\xa6\x1e\x60\x02\xd7\x2a\x6f\xc5\xd2\x1f\x10\x98\x21\x32\x31\x13\x2d\x56\xdf\x68\xd6\xa9\xbf\xdf\x4e\xdd\xc0\x52\x4d\xb8\xfd\x8f\x24\x88\x52\x04\x9a\x68\x25\xa5\xed\xd2\x36\x0c\x00\x9a\xf2\x4f\x0a\x94\xc5\x07\x9d\xdf\x6f\xe7\x96\x94\x5f\xf9\x84\xaa\xc3\x64\x11\xce\x80\xd9\x87\xc6\xed\x67\xb6\xb0\xdd\xb6\xd4\x17\xf6\xe8\x09\x99\x1e\x72\x9d\x14\x7d\xd0\xd2\x1a\x09\x32\x41\x36\x3c\xf4\xef\x3b\x8e\x3b\xa0\x2d\x48\x66\x33\xb6\xb2\x17\xf5\x49\x3e\x2e\x43\x2b\x8c\x2e\x27\xd0\x0c\x5b\x56\xc9\xb6\x5f\x9a\xed\x49\xce\x93\xd7\x7e\x7d\x0b\xf5\xf9\x2f\x92\xf5\xbb\x4b\x59\x5d\x66\xf8\x87\xa4\x88\x01\x33\xf9\x70\x46\x3a\xb8\xb7\xf3\xd8\xc7\x94\xc0\x40\x6e\x88\xe3\xea\xb9\xae\x65\xf1\xa1\x85\xd6\xe3\x9e\x2d\xd6\xab\xb8\xa9\x3d\x2a\xc4\xb9\x20\x83\x98\xda\xb8\x9d\xbc\x07\xa4\x1a\x50\x26\x40\x26\x41\x2d\xa0\x22\xb5\x8f\x48\x9d\x4d\xba\x31\xfb\x88\x2f\xec\xb1\xff\x8c\xa1\x82\x0d\xda\x18\x65\xaf\x15\x51\xe4\x6c\xd6\x18\xb4\x4c\x4e\x6e\xb3\x03\x7a\x93\x33\xfd\xcc\xef\x4b\x89\x51\x89\xe4\x39\x0e\x93\x14\x5d\x26\x4c\xa5\xf4\x52\x02\xa3\xeb\x28\x53\x59\x3f\xee\xd6\xc6\x6d\xbb\x28\x8f\xf3\xa3\xc0\xfa\x83\x2b\x2a\xa7\xe5\x29\xb5\x56\x88\x97\xb3\x14\x94\x02\xa9\x07\xe7\x41\xe1\x01\x1c\xe0\x73\x1c\x91\x5f\x91\x44\x6a\xa0\xd5\xca\xf0\x59\x5f\x18\x16\x43\x4f\xa4\x57\x6d\xb3\xbc\x31\xe1\x0c\xc2\xaf\x33\xf6\x13\xf0\x3c\xa7\xb9\x49\x1a\x0a\x34\x05\x25\x27\x1a\xb5\x37\xf6\x2a\x11\xa8\x4d\xa0\x1c\x7f\x55\x81\xad\x57\x38\xc3\x72\xb5\x33\x5b\xab\x9b\x2b\x9d\xc2\xfe\x91\xe9\x33\x30\x4d\x94\x01\xba\x8e\x1c\xe8\xdc\x55\xc4\xfb\x46\x6b\x3a\x8e\xd7\xf5\x3a\x12\x2b\x83\x81\xd8\xf2\x90\x47\xd7\x26\x4d\x06\xfb\x51\xec\x3e\x70\x07\x1f\x27\x36\xa4\xe7\xe1\x53\x7a\x52\xfa\x25\x6a\x04\xee\x86\xfa\xd2\x7a\xd2\xd2\x8a\x9b\x36\x29"}, -{{0x39,0xf0,0x55,0x6b,0x1c,0x5d,0xca,0xb3,0x87,0x10,0x41,0x81,0xbb,0x30,0x4d,0xe0,0xcf,0x81,0x59,0x20,0xb9,0x72,0xe8,0x71,0xd5,0xf0,0xfb,0x41,0x6d,0x8e,0x61,0x6a,},{0xd8,0x5f,0xb7,0x6e,0x78,0xc3,0xd5,0xbb,0x7c,0xa6,0xb0,0x5b,0x31,0x01,0x91,0x82,0x1a,0x4a,0x7d,0x2d,0x9b,0xdf,0x02,0x29,0x2c,0xc7,0xae,0xa5,0x64,0x2e,0x48,0x19,},{0x01,0x66,0xaf,0xed,0x5a,0x8f,0x7c,0x3f,0x7a,0xd6,0xf3,0xfd,0xd2,0x93,0x8e,0xff,0x00,0x89,0x8e,0xab,0x81,0x5c,0x54,0x55,0xac,0x90,0xfb,0x51,0xf6,0xe1,0x85,0x4f,0x0c,0x07,0x53,0x19,0x4b,0x76,0x29,0x59,0x4c,0xc1,0x27,0x1b,0x00,0x34,0x31,0x22,0x1c,0x57,0x4b,0x0c,0x0d,0x19,0x08,0x2f,0xee,0xda,0x51,0xb0,0x84,0xae,0x5e,0x03,},"\xa8\xd0\x34\xe1\x70\xfc\x22\xb5\x7a\x44\xaa\x62\x69\xed\x1f\x01\xcb\xa8\x01\xf3\x98\xdf\x1a\xdf\xe7\xdf\x04\x4d\x5f\xa4\x68\xbb\xfa\x8a\xf4\x74\x9a\xb5\x0d\x24\xd6\x2e\x31\x3a\xc0\xe7\x3a\x64\xb4\x28\x2b\x74\x62\x6a\xf2\xb4\xa4\xb5\x4c\x27\x4e\x5a\x6b\xc2\x80\xb6\xdc\x25\xdc\xfe\x07\x81\x4c\x9c\x81\x6d\x2f\x9e\x36\xc0\x5b\x9b\xfe\xdf\xf7\xc6\xb0\x3c\xdd\xeb\xd4\x73\x5e\x09\x93\xd3\xc3\xfd\xc6\x54\x04\x43\xc6\x00\x5e\x90\x0b\x40\x35\xe1\x40\x8a\x85\x01\x6a\xa1\xb8\x92\x02\x99\x0e\x5d\x84\xed\x99\x81\xc2\x9b\x77\x20\x6d\x7c\x11\x30\x52\xa2\x02\x98\x12\xc6\xea\x13\xaa\xe8\xbe\x0a\xca\x7a\x33\x06\xbf\x61\x72\x42\x29\x8e\x68\xbe\xcd\x0d\x5d\x16\xc8\x88\x7f\xd1\x95\x0b\x77\x85\xa4\x6b\xb0\x22\xb3\x9f\x76\x07\xcd\x89\x13\x71\x8b\x30\x17\xfc\x3f\x86\xd6\x93\x3f\x75\xee\xc5\x19\x1a\xd1\xf1\x98\x9a\x8d\x26\x17\x86\xf5\x6b\xe4\xa9\x88\x37\x0d\xb8\x29\x61\xa9\xfc\xc9\x53\x54\x2e\x51\xc2\xe0\x86\xdb\x0e\x02\xb4\xfc\x34\x66\x94\xab\xd9\x05\x9d\x5b\x11\x72\x26\x47\x66\x9e\x7f\x17\xb7\x45\xa6\x0b\x02\xf7\x33\x9f\xcc\x99\xbc\x35\xd5\x9f\xd0\xb9\x8b\x60\xc3\x14\xab\xd4\xbf\x8a\xa4\xb7\xea\xe0\x9d\xd0\x09\x7a\xcb\x91\x89\xf0\x2c\xf8\x5a\x25\x1a\xc9\x2a\xaf\x69\x1b\x15\xcd\x4a\x33\xb5\x8d\x76\x63\xab\xd0\xb0\x44\x43\x33\x04\x4a\xf5\xce\x20\xfd\x71\xcb\xaf\xfc\x0d\x29\x83\x58\x19\xf4\x92\x93\xfc\x26\xe7\xf9\x78\x7f\xc3\x68\xc4\xd3\x5c\xae\x92\x74\x7f\x21\xca\x1f\x3e\xfd\x87\xa0\xd8\x10\x41\x99\x41\x64\x82\xd0\x7b\xfe\xc1\x28\x1c\x66\xf5\x65\x28\x5b\xf6\x72\xd5\xe7\x48\x64\x00\x66\x0c\x01\x75\x55\xe9\xfa\x2b\xf6\xa4\xe7\x02\x7f\x0e\x7e\x5f\x44\x3e\xd6\x58\xb7\x5b\x59\x06\x12\xab\xde\x0d\x80\xd1\xa2\x6c\xb8\xbd\xe7\x6b\x99\x6e\xff\x6a\x74\xe3\xda\xfc\x59\xeb\x1b\x58\x4f\x45\x97\xa2\x39\xcd\x83\x9f\xa1\xf1\xb7\xbd\xa1\xa2\x4d\x15\x0c\x4e\x24\xb9\x1c\xec\x01\xee\x53\xa3\xac\x85\x2a\x91\x2d\xe1\x95\xa3\xc2\x9d\xd7\x07\x9a\xa7\xe8\x8a\xa8\x1e\x9d\x31\xb8\xfc\xcd\x43\x5e\xda\x11\x3c\x3f\x82\x45\x8b\x7f\x79\x33\x57\x2b\x77\x67\x53\xc9\x22\x40\xcc\x03\x61\x58\xa4\xba\x0e\x56\xef\xed\x53\xec\xb5\x3f\xc0\x93\xfe\xad\x14\x34\x34\x85\xae\x5d\x91\x05\xbb\x16\x3f\x26\x25\x14\xe4\x8b\xe7\x41\x59\xc9\xfa\xbc\xb7\x1d\x1a\x42\x80\xd9\xed\x70\xd7\xe4\x2b\x75\xf7\xfd\xad\xd0\x2d\x69\x19\x8f\x5f\x46\x5b\xf6\x04\xcb\x42\x54\x41\x7b\xac\x37\x14\xb3\xa9\x9e\x6f\x1a\xce\xc9\xe3\xb3\xd0\x97\xf9\x72\xfb\xc3\x6f\x2e\xda\x39\x26\xd5\x61\x12\xd4\xe9\x09\x7d\x89\xbd\xc3\x59\x37\xb9\xa3\x15\x8e\x7c\xdd\x5d\xa4\x01\xe1\x80\xd3\xed\xe6\xb1\xff\x02\x86\x41\x92\xeb\x72\x97\x81\x53\x4f\x49\x64\xdd\xf2\xaf\x11\x80\x0d\x8b\x5b\x6d\x01\xb2\x09\xaa\x33\x69\x36\x6c\x19\xa2\x8c\x79\xa8\x7d\x21\x74\xec\x22\xfb\x14\x89\xa6\x75\x5c\x34\x8a\x99\x6d\x0a\xa5\x6e\x0f\x60\xd5\x8e\x26\xbe\xfa\x23\xa8\x6b\xef\x4e\x35\x29\x51\x2e\x30\xa9\xd1\xc5\xe4\x88\x50\x18\xcb\x97\xae\xb7\xc9\x3c\x5c\x41\xca\xa3\x42\x36\x57\x5c\x22\x6f\x3b\x23\x5e\xdd\xba\x36\x4e\x28\x5b\x6e\x35\x27\x07\xbb\xb3\xb3\x39\xbb\xf2\xa6\x3a\x9c\xb9\xbd\x33\x3a\x77\xe7\x9b\xd5\x8a\x48\xe1\x4c\xe5\x88\x6e\xd0\xcd\x07\xc2\xd1\x65\xa8\x1b\x5e\x6a\x31\xa8\xae\x78\x06\xbc\xf2\xe0\xc4\xec\x29\xa9\x67\x72\x5e\x57\x7f\x17\x41\xee\x68\xf3\x45\xf5\xf7\xab\x0f\xad\x31\xc8\xb4\xb1\x8b\x43\x1c\x49\x77\xd5\xc5\x84\x00\x4b\x45\xf7\xcd\x19\x61\xaf\xfe\x87\x38\xe2\x4c\x38\x26\x10\xef\xe9\x98\x35\x3d\x7e\xba\xf9\x19\xb2\x79\xbb\xb6\x91\xc3\x05\x2b\x8b\x2c\x5f\x09\x80\x8e\xf3\xa6"}, -{{0xba,0xb3,0xff,0x7a,0x44,0x48,0xd8,0xa0,0x3d,0x8a,0xcf,0xdb,0x91,0x3f,0x77,0xfe,0x77,0x80,0x43,0x95,0xc3,0xe5,0x4e,0xc2,0x35,0x11,0x79,0x27,0xe3,0x2b,0x50,0xd5,},{0x54,0x97,0x5e,0x35,0xe5,0xb1,0xd0,0x32,0x3f,0x2d,0x6f,0xb5,0xc6,0x15,0x8b,0xf6,0x65,0x4b,0x08,0x4f,0x76,0xbb,0xdc,0xfd,0x72,0x34,0x92,0x29,0xe8,0xe4,0xa6,0xe8,},{0xd6,0xb4,0x13,0x5f,0xc7,0xac,0xb3,0xd7,0xcd,0xf9,0x87,0x89,0x6d,0x91,0xb8,0xa9,0x0d,0xb5,0x84,0xd8,0x93,0x3a,0x6f,0x30,0x29,0xe3,0x26,0x1e,0xc1,0xc3,0x90,0xcb,0xac,0xfa,0xaf,0xef,0xf4,0x43,0xb6,0xda,0x4f,0xdb,0x1d,0x84,0xc6,0x4a,0x54,0x56,0x0f,0xef,0xfa,0x2f,0x1c,0x7a,0x91,0xbd,0xe9,0x73,0x02,0x22,0x92,0x3b,0x67,0x03,},"\xb6\x47\xb6\x7c\xf0\x1c\x2c\xac\xc3\x9d\xe5\x96\x9e\x19\x9b\xe6\xd9\x32\x01\x67\xa4\xce\xbb\xf1\x62\x59\x50\xb1\xe6\xb7\xad\xf5\xca\x24\xd1\x34\x95\x68\x86\x5f\xbb\xfd\x90\xf5\x13\xf0\x5f\x79\xf7\x0a\x63\xa2\x38\x73\xdc\x7a\x19\x5d\x4b\x28\x5a\x08\xf3\x0e\xe0\x61\xd0\xb8\xe6\xb4\xd6\xbf\x9b\x2e\xcf\x2c\x69\xf3\xd5\xa0\x7a\x67\x30\x53\x7c\xca\x4a\x4e\x4c\x7e\xe6\x84\x70\x2b\xff\x88\x3f\xab\x8b\xca\xf8\x93\x11\xc5\x49\x8b\xcc\xb5\xa0\xf7\xc8\xd4\x9b\x54\xf4\x82\xff\xfb\xca\x6e\x7d\xa2\x62\x45\x2b\xa5\x9a\x57\xa6\x87\x9d\x81\xb7\x3c\xd7\xad\xf7\x2a\x3b\xe2\x8a\x37\x3c\xd6\x33\x10\x40\x84\x61\xc2\x1b\x90\x7f\x63\xe0\x86\xb2\x92\xff\x02\x83\x3e\x8a\x2f\x46\xad\xbd\x67\x1d\x02\xb0\x3a\x69\xac\xa2\xe1\x1d\x28\x7c\x52\x2a\x95\x45\x20\x44\x2e\xce\xfa\xa9\x05\xdb\xfc\xc8\x25\x4c\x58\xc3\x95\x4a\x89\xbf\x56\xcb\xe0\x1a\xd5\x63\x19\x71\xeb\x39\xeb\x43\x2a\x85\x4e\x69\x19\x29\xdf\x7e\x48\xb9\x00\xca\x6e\x74\x0a\xcc\xf5\x78\xb3\x17\x95\xb4\x9a\x6c\xa7\x74\xbd\x8b\x99\x31\x06\xa9\xc4\x94\x8c\x18\x71\x49\x48\x31\x59\x90\xa5\xf1\x91\x69\x24\x20\xf2\x89\x32\x8a\xb7\x13\xec\x19\xb7\xea\x89\x4d\x16\xe6\x47\x61\x00\x87\x1c\xf3\x16\x8e\x4f\x93\x5b\x55\x05\xd1\xed\x5b\x0a\xa2\x9b\xe3\x6f\xa3\xa3\x46\xac\x3e\x76\xf1\x43\xc4\x6c\xa6\x91\x23\xb7\x9c\x36\x39\x9a\x0d\x2e\xd3\x02\x77\x24\x94\xad\xf4\x42\xbb\xaf\xbc\x4d\x01\x53\x26\x92\xc7\x85\x9d\xf0\x4d\x2c\xa7\x8b\xa5\x5d\x77\xfd\xf3\xe5\xad\x99\x37\x86\xa2\x4c\xff\x21\x99\xbb\x49\x38\x78\x73\xcc\x41\x4b\x4c\xf1\x13\x7a\xbb\x7e\x94\xae\x3d\xdb\xf9\x7f\x53\x4a\x18\xfc\x5a\xe5\x85\x23\xa3\xcc\x52\x28\x3d\xc7\xb0\x16\xf3\x1c\xd6\x55\x79\x81\xc5\x07\x6c\x77\x4f\x30\x3a\x47\xc4\x27\x87\x0e\x20\x7e\xd8\xbd\x66\x64\x0f\xf0\x92\xdb\x50\x3f\xa1\x24\xbf\xdc\xf0\x20\x05\x1d\xad\xd1\x06\xdd\x24\x58\x40\xb3\x19\x10\xb8\xa9\x06\x0d\x59\x86\xf0\x2b\x60\xaa\x5e\x33\xb4\xd7\x55\x09\x12\xcd\xc5\x77\x6c\x77\x2a\xac\x93\xae\x19\xc7\x3b\x7e\xcf\xca\x38\x9e\x62\x76\x81\xa8\x78\x1e\xb4\x7d\x84\xe9\x34\x60\xba\x89\x1d\x3f\xf6\xea\xdf\x8f\x2a\x90\x3c\x38\x34\x74\xbe\xaa\x42\xb9\x0e\x03\x22\x36\xdc\xd8\x98\xd0\x2a\x40\xef\xb4\x4e\x47\xea\xd5\x2b\x75\xb0\x9c\x7d\xa1\xcd\x6a\x2d\xfd\x4d\x1c\x04\x52\xde\x69\xf6\xac\xac\x1a\x68\xdd\x78\xda\xf9\x72\xae\x26\x08\x21\xe2\xec\x52\x2f\xb5\x74\x9b\xeb\xe0\xad\xb4\x52\xbf\xa4\xfa\xa1\xe9\x79\x11\xc1\x29\x9f\x16\x56\x8d\x68\xee\xf4\x05\xf4\xb1\xcd\xac\xab\xed\x59\xf7\xb0\xfb\xce\xab\x71\x9a\x34\xb2\x99\xf5\x8a\x4a\xe8\x15\x4f\x98\xf4\xd9\xf4\xf1\x40\xb1\xf0\x85\x00\x69\x46\x72\x5e\x7c\x29\xbb\x0b\xc6\xcc\xf2\x53\x44\x97\xc6\x1d\x4c\x16\x12\x62\x4a\x61\xd7\x0d\x26\xc3\xef\xb7\xd7\xc3\x51\x84\x86\x57\xf7\xf8\xee\xbf\x8b\x99\x07\x47\x74\x0e\x6f\x91\x0c\x97\xce\xf1\x50\x37\x57\x65\xc8\xc0\xb3\xb4\x49\xc0\xd0\x9d\x66\xf0\x08\xe6\x7c\xfa\x76\xea\x2b\x68\x08\xb6\xfe\x63\x2e\xaf\xe0\x58\x7f\x37\xe3\x6b\xe9\x8d\xcb\x17\xa3\xf4\xa1\x5b\x65\xa9\xf6\xfc\xf9\x64\x2b\x52\x52\x20\x77\xb1\xfb\x4c\xc3\xc0\x8d\xf4\xb4\x67\xca\x71\x6d\xb1\x6b\x73\x7f\x78\x2c\xdf\x38\x71\x70\xa5\xf1\xf6\xa7\xae\x0a\xb3\xf5\xb7\xc5\x85\xe3\xb0\x65\x5a\x64\x56\xa5\x03\x59\x5c\xe8\xea\xea\x25\x37\x85\x5e\x7f\x0d\x50\x61\xbc\x29\xb4\xe6\x7d\xaa\x82\x46\x3c\x19\x0e\x9f\xdd\xd5\x2f\x83\x22\xdd\xb4\xe0\xf2\x6b\x68\x77\x82\x28\xeb\x57\xe1\xa1\x85\xb7\x02\x5d\xa1\x49\x87\xd4\x4b\xaa\x76\x7b\x22\xee\x7f\x4c\x84\x59\x10\x32\xe8\x8e\xc1\x2e\xb8\xc5\xa4\xb9\xe1\x57\xec"}, -{{0x48,0x6c,0x7b,0x43,0x6c,0x1d,0x43,0xd6,0xb7,0x03,0x51,0x22,0x83,0xc1,0x66,0xdc,0x86,0x3e,0x5a,0x33,0x80,0x2f,0x4e,0xa6,0x5f,0xc7,0x38,0x77,0x89,0x02,0xd0,0x14,},{0xb5,0xdc,0x94,0x7d,0x64,0x33,0x7c,0xae,0x82,0x12,0x2b,0xd6,0x8c,0xc8,0x08,0x40,0x59,0x6d,0xe3,0xbe,0x56,0xcb,0xd0,0xc8,0x33,0xaf,0x3f,0xaa,0x3a,0xdc,0x37,0x76,},{0x31,0xf9,0x5c,0xbb,0x74,0x63,0xb8,0x75,0x28,0x65,0x42,0x27,0xbb,0x13,0x97,0xbf,0x10,0x65,0xb4,0xf5,0x76,0x80,0x80,0x78,0x20,0x7d,0xfa,0xf0,0x6d,0x12,0x4b,0x41,0xf4,0xc3,0x18,0xf4,0xa9,0x31,0x5a,0x66,0x08,0x5b,0x9e,0x56,0x8a,0x71,0xe4,0x14,0xed,0x94,0x14,0x51,0x73,0x10,0xc6,0x99,0x94,0x6d,0xb0,0xc9,0x76,0x28,0x52,0x07,},"\xaf\x03\x60\x53\x67\x2d\xcf\x3a\xa2\x6e\x28\xec\x6a\xa6\x42\xce\x28\x4b\x89\x6c\x69\x88\x7d\xfd\xcf\x08\x24\x51\x5e\xb0\x84\x8d\x9d\x97\x0c\xa2\x72\xdf\x77\xa8\x6b\x3f\xf6\xdd\xaf\x3c\xba\xdd\x3a\xb6\x28\x3b\xc3\x7c\xdf\x7a\x56\x07\xd5\xdf\xc7\xcf\x96\x32\x92\x99\xcc\x53\xed\xbb\xe6\x57\xfd\xfa\x2c\xa2\x44\x67\x05\x0a\x0a\xeb\x8c\xff\xd7\xd3\x3d\x54\x3e\xc2\xc1\x91\xcc\x0b\xce\x89\xac\x37\xd3\x32\x93\xb1\x88\x8c\xcb\x76\xc2\x8a\xdc\x67\x1a\x49\x35\xa8\x46\xd9\x07\xe4\xad\xd0\x11\x0f\xeb\xbe\xe5\xae\xc8\x0f\x9d\x2f\xf7\x4e\x2a\xf4\xfd\xbe\xbb\xcf\x49\x10\x5a\x64\x69\xd7\x38\x00\x06\xb2\xca\x44\x36\x48\x14\x45\x4e\x44\x5e\x36\xdc\x00\x12\xf3\x39\xc9\x68\x54\xf8\x36\x44\x2a\x05\xa5\x0b\xec\x90\x73\x27\xf7\x4b\xa9\xf6\xfd\x79\x0f\xf0\xad\x37\x83\xd2\x97\xbd\xcc\xa7\x64\x60\x78\x37\x03\xeb\x5f\x2b\x1f\x51\xb0\xa7\x40\xce\x7a\x8f\x00\xa3\x87\xe3\x63\x62\x70\xa9\x71\xfa\x8f\x15\xb4\x49\x67\x30\xd8\x8a\xdd\x80\x7a\x7f\x7e\x98\x7c\xd4\x15\x95\xa2\xe7\x43\x5d\xf5\x19\x55\x76\xa3\x5f\x5e\x91\xb2\xfc\xfa\xc9\x4e\xd5\xd7\x76\x63\x78\x3b\x61\xe6\x67\x1d\x34\x83\x8b\x6b\x56\x44\xfb\xc1\xc5\x39\xfe\x15\x9b\x77\x92\xdb\x96\x7e\x83\x52\x61\x8d\xda\xca\x0c\xde\x73\x43\x7b\x59\xe7\x80\x1b\x49\xeb\x46\x09\xb1\x05\x77\xca\x26\x92\xdd\x6f\x9d\x5e\x9d\x4b\x5e\x5e\x62\xc5\x91\x3e\x7b\x87\xe6\xb3\x47\xbe\x61\x53\xb1\x71\x99\xc9\x16\xa1\x3f\x8a\x88\x5b\x37\x8e\xf0\x9e\x13\xca\xe4\xd8\xb0\x79\xd7\xd5\xcb\x90\x94\x19\x9b\x0f\x20\x53\x3c\x90\x08\x3b\xc3\xac\xb2\x66\x76\x97\xee\xd2\x2e\x36\x70\xab\xb4\xa5\x53\xe9\x95\xc9\xdd\x95\x94\xe5\x92\x39\x1a\x00\x04\xb6\x55\x65\x44\xf3\x56\x12\xc4\x97\x13\x59\x57\x7c\x47\x63\x82\xca\x53\xb3\xf2\x62\xa5\xe3\x3e\xd2\x6e\xec\x80\x9f\x4f\xdb\xa4\x89\x8a\x11\x36\x75\xcb\x6a\xf7\x17\xdb\x62\x57\x9f\x39\x80\xb2\x14\x63\xbe\x02\x9c\xb4\x16\x0f\xe5\xd2\x57\xc4\x6c\xd6\x66\x4f\x98\x61\xac\x50\xfe\x05\xc1\x44\x05\x7d\xce\x2f\x8d\xf1\x53\x2a\xa7\xaf\x58\x9f\x41\x27\x06\x01\xce\xf0\x6b\xbe\x4f\x35\xc3\x1c\x78\x2b\xb3\xcf\xff\x7d\x5a\xb6\x4a\x14\xec\x41\x73\x61\xf1\xd3\x2c\xbd\x38\xb6\xbd\x0e\x02\x50\x5d\x14\x16\x30\x2b\x85\x05\xae\x2a\x96\xe8\xd5\x33\x9c\x34\x6c\x2b\x06\x62\xd3\x50\x25\x9c\x50\xc5\xe4\x87\x95\x91\x4e\x6f\x88\xe9\x7c\x81\x1c\x39\x3b\xdf\x9a\xec\x7e\xf8\x20\x47\xca\x28\xee\x97\x1c\x17\x5c\x27\xe3\x6e\x10\x97\x27\x96\x0d\xdf\x1a\x1b\x97\x6a\xb4\x4f\x48\x51\x60\x7b\xd9\x66\x80\x8a\xc4\x6d\x54\x00\x31\x28\x29\x7f\x5f\x44\x87\x10\x8d\x6a\x02\xe7\xa1\x64\x13\xd2\xb7\x5e\xcb\x42\xfd\xdf\xb6\x69\xc8\x01\xd2\x3d\xe5\x0a\x6f\x7b\xf6\x58\xf7\x53\xc6\xb2\xb3\xb4\x7c\x06\x40\x10\x5d\x0a\x80\x1b\x32\xa1\x94\x3c\xdc\x15\xc8\x86\x55\x5e\xb7\x5b\xb7\x92\x7b\x93\xc3\x5c\x5b\xe1\xf9\x8b\x19\x6c\xaa\xc2\xda\xd9\x91\xb1\x04\x4e\xa8\x63\x94\x4d\x54\xd8\x83\xab\xc3\xc6\xde\x66\xed\x86\x8e\xe8\x4b\xcf\x9c\x34\xcc\xdb\x80\xfc\xd9\xcc\x04\x02\x74\x77\x32\xcd\x63\x0b\xbf\xa3\xbb\xe8\xb0\x38\xdc\x1d\xbd\xaf\x43\x6d\x9a\xc0\x0c\x02\xd5\x28\xec\xe2\xe7\x91\xee\x31\x2a\x86\x8f\xeb\x2f\x58\x7c\xa4\x4d\xb5\x73\x13\x84\xfa\x18\x31\x14\x20\x61\xb2\xea\xd2\xb8\x0c\x66\xbd\x2f\xa5\xdc\xca\xbe\x6a\x25\xf2\xa4\x93\xfe\xaa\xcd\x23\x1d\x2f\x40\x96\x46\xb9\x42\xa5\x78\x54\x5e\xa4\xfe\xea\x9a\x73\x47\x3f\x79\xdc\xf1\x3e\x0c\x9f\x1b\x49\xfd\x89\x12\xec\x48\x73\x28\x04\x5b\xd0\xfa\x22\x89\x22\xee\x6e\x97\x3e\x61\xf6\xe9\x33\x65\x29\x65\x78\xdc\xc2\x1c\x36\x14\x79\xee\x2d\x24\x87\x9f\x2e\x9b"}, -{{0xa6,0xe6,0xad,0x2c,0x37,0x9c,0x6f,0xcc,0xad,0xb4,0xa4,0x9b,0x23,0x2a,0x91,0x42,0x61,0x8e,0xa3,0x01,0x03,0xc3,0x3c,0x22,0x6f,0xf6,0x28,0xbc,0xfd,0x81,0xf4,0x26,},{0xf7,0xc4,0x32,0x3f,0x5c,0x41,0x9d,0x9b,0x3f,0x34,0xa8,0xeb,0x42,0xae,0x7f,0x1f,0xaa,0x23,0x33,0x07,0x90,0x30,0xc5,0xd6,0x4f,0x9f,0xfb,0x1e,0x9b,0x16,0x00,0x2d,},{0x07,0xd9,0xfc,0x24,0x4f,0xda,0xb0,0x01,0x59,0xeb,0xec,0xc5,0xa0,0x08,0x83,0x45,0x3f,0x08,0x31,0x01,0x71,0x76,0x9d,0x29,0x70,0x01,0xe8,0x77,0x01,0x0e,0x3e,0xce,0xd9,0xfb,0x60,0xec,0x91,0xcb,0x4d,0x88,0xe7,0xba,0x40,0xc5,0x30,0xb1,0xf9,0x23,0x79,0x78,0xcc,0xd9,0x6d,0x5c,0xba,0x9e,0x4f,0xa2,0x7e,0x2a,0x0a,0xd9,0xd6,0x0c,},"\x2e\x85\x76\x76\xa5\xbb\x1c\x6e\x9e\x94\x50\x7f\x83\xc6\x0a\x67\xf5\x47\xc5\xde\x9e\x94\x56\x6b\x19\x7a\x6a\xf6\xcf\x47\x52\xe9\x3d\xbd\xef\x6b\x9f\x66\xd1\xfe\xbd\x95\x7e\x42\xa7\xf5\xad\x64\xef\x1d\xbc\xc4\xfe\x69\xae\x95\x25\xd1\xa4\xde\x67\x05\x4c\x88\xf2\x9c\x06\x47\xba\xcf\x8b\x82\xf3\x21\xff\x99\xfe\x9e\xed\xc9\x92\xed\x34\xc1\x17\x7f\xc5\x42\x12\x27\xcc\xac\x10\xfe\xb9\xce\xd4\x08\x2f\x56\x58\xda\x63\x71\x47\x23\x97\x97\x37\xe7\xdc\xbf\xe2\xe8\xb5\xd5\x0f\x91\xdf\xca\x83\xe7\xf9\x5f\x35\xd1\xad\x8d\xd5\x11\x44\x50\x2f\x3d\xf6\x72\x43\x26\x11\xf0\xe7\x66\xa9\x0d\xcc\x2a\x57\x39\xc8\x05\xd9\x5f\xe5\xb0\x41\xde\x9d\x7f\xb4\x7b\x44\x04\xaf\xc8\x03\xa3\xbd\x48\x04\xc7\x81\x7e\xbc\x5b\xdf\xef\x8a\xdd\x9e\x25\x0b\x50\x96\x6c\xa8\x93\x9b\x22\xb3\xc6\xff\x93\x6e\xaa\x65\x9a\x24\x0c\x0c\x84\x8b\x81\x0a\xce\xcf\x61\x81\xe0\xe4\xdb\x8e\x4c\xf8\xfc\xce\x7d\xe5\x59\xcb\xe8\xaf\xa9\xdb\x84\x99\x57\x09\x11\xa3\x88\x7e\x85\x0e\x50\x9c\xdb\x70\xde\xbc\x34\x77\xd1\x21\x75\x01\x4f\x79\xf8\x1b\xa1\x13\xd0\xb7\xb3\x35\x11\x8f\x85\xcf\x59\x99\x6f\x80\x67\x58\xeb\x90\x3c\xc4\x50\xf5\x2f\xee\x10\x2e\xfc\x01\x44\x1e\x9a\xe5\xfa\xe7\x4c\x23\x1d\xfd\x85\xeb\x6b\xad\x17\xd6\xb7\x0e\x93\x85\x84\xfa\xcb\x21\x72\xcb\x03\xbd\x5e\xa0\x7b\x7f\x0d\x37\x1f\xfa\x35\x1c\x0e\xe4\xef\xe9\xba\x4a\x3f\xd5\x43\x87\x46\x55\xe7\xd3\x9c\x53\xae\x86\x32\x98\x02\xe5\xc3\x85\xe9\x28\x3a\x29\x73\xca\xb8\xcf\x7a\xc7\xff\x0f\x91\xd1\xd4\x8b\x58\xab\xfd\xad\x65\x8d\x81\x2f\x07\x88\x16\x76\xbd\x22\x6b\xfe\x95\x7d\x7d\xf3\x0c\x41\x30\xa4\x48\x35\x4a\x6b\x94\x40\x5a\x41\x16\x50\xa9\xc8\xfc\x85\x11\x55\xec\x5a\x8a\x3e\x3b\x67\xae\x0c\x4b\x5c\xb8\x9b\xb7\x3f\xc8\x29\x74\xbe\x62\xda\x73\xf0\xe2\x30\x92\x93\x7d\x40\x5b\xa4\xaf\x6c\xab\x94\x65\xea\x43\xa6\x25\x3f\x44\x57\x08\x2a\x06\xac\x12\xb7\x5e\x88\xec\x68\x44\x87\xf9\x07\x63\x73\xfa\xb8\x89\x28\x59\xd8\xe8\xba\x43\x14\x23\xaa\x80\x5a\x22\x0c\xbf\xda\x43\x1b\x32\xb1\xe0\x31\x21\xf7\xfd\x4d\xe1\x85\x91\xf2\x50\x5c\xc0\xf5\xb2\xb1\xa7\x60\x5f\xbc\xc6\x37\x57\xb0\x7e\x29\x9f\xef\x5a\x2b\x73\x65\x23\x0c\x2e\x92\xa2\x59\x62\xc2\xe8\x01\x2a\xd3\xfa\x9e\xe9\x48\x82\x70\x96\x25\xba\x68\xc7\xb2\x13\x66\x4a\xe2\x53\x2b\x60\x9d\x7c\x9a\xa0\xe8\x3d\x49\x3d\xbc\xe7\x63\x2f\x35\x58\x0e\x06\xd3\x11\x1c\xed\x32\x0d\xd0\x19\x04\x41\xf6\x2d\x9e\x35\xf5\x0d\xe5\x9c\x27\x2f\xb0\x0f\x56\x8a\x00\xb0\x74\x6c\x33\xa9\xbd\x24\x90\xc0\x74\xb9\x1c\xdd\xc4\x87\xef\x2e\x45\xa0\xf0\x30\xe0\x8f\xdc\x18\x17\xbc\xa8\xa9\xce\x29\xd2\x92\x79\xe7\x55\xde\xbc\x28\xdf\xad\xc3\xc4\xd1\xb4\x58\x48\x6e\x3c\x8d\x0c\x43\x18\xe7\xe6\xf9\xeb\x5a\x36\x53\xb3\xf7\xc4\x95\x07\x07\x7c\xd5\xeb\x81\xf1\x0b\x88\x10\x7c\xc0\xf9\x31\x69\x32\xab\xe9\xb6\x4e\x88\x86\xd0\x68\x56\xa8\x5b\xe6\x3b\x0c\x2b\x47\x5c\x0a\xfc\xb0\x69\x44\x26\x86\x0f\xb2\x4b\x5c\x17\xab\x6a\xb7\x73\x3d\x5e\x64\x1b\xe7\x4f\xd5\xf6\xa1\xff\x18\xd2\xf9\xa4\x27\x70\xfb\x30\x75\x0f\x56\xf4\x85\x4e\x38\xd5\x8a\xef\x18\xa2\xa6\x1c\xbf\xb4\x9e\xe5\x76\xed\x97\x73\x7b\xc2\x8d\xf3\x26\x8a\x33\x41\x75\x51\x3d\x97\xaf\x00\x9c\xbb\xcf\xdf\xad\x50\x39\xd6\x9b\xb4\x6f\x70\x88\x67\xd9\xb3\xce\x0b\xf2\xf5\x69\xe3\xcf\xbc\xf6\x13\x6f\x88\x70\xd2\x52\x08\xb2\x1a\x3e\xdc\xb7\x33\x93\xdf\xcd\x41\x72\xc1\x40\x2c\x41\xf3\x6e\x3f\x82\xa4\xea\x6d\xcd\x89\x16\x86\xba\x66\xe1\x43\x20\xaa\x0e\x22\xba\x0c\x1e\xf0\x33\xd6\x62\xcd\xb8\x60\xcd\xfa\x3a\x40\xf6\xcc\x53\x2a\x08"}, -{{0x9b,0x6d,0x7e,0x28,0xeb,0x05,0x15,0x97,0x32,0x4d,0xce,0xb7,0xa1,0x89,0x41,0x24,0x67,0x25,0xe8,0x8d,0x53,0xab,0x2c,0x34,0x77,0x11,0x05,0x33,0x0c,0xf1,0xf4,0xae,},{0x88,0x72,0xa5,0x0b,0x5f,0xe3,0x62,0xf8,0xea,0xd1,0xd4,0x0e,0x20,0x45,0xf0,0xd4,0x0b,0x2e,0x7b,0x50,0xb5,0x9d,0x80,0x90,0xbc,0x47,0xad,0x68,0xeb,0xee,0x09,0xed,},{0xc6,0xdc,0x5c,0xa1,0xe8,0x56,0x00,0x15,0xb4,0x93,0xaf,0xe2,0x66,0x6c,0xcf,0x6f,0xef,0xa8,0x03,0xd8,0x52,0x6c,0x83,0x7f,0xe7,0xf1,0x23,0xc7,0x99,0x14,0x27,0xab,0x03,0x0d,0x7c,0x77,0x0e,0x45,0xf6,0xde,0x84,0x81,0x52,0x3b,0x94,0xec,0xe9,0x7f,0x3f,0x16,0x1c,0xf5,0xb8,0xc7,0xae,0xa3,0x9f,0x5a,0xd8,0x26,0xbf,0x8d,0x0a,0x02,},"\xd1\xe1\x98\x7b\xff\x65\xf6\x2a\xd6\x76\x24\xc6\x65\x79\x24\xf5\xd6\x73\xb7\x82\x4e\xbe\x40\x40\x26\xc0\x56\x2d\xed\x31\x43\x44\x0b\xe6\x37\xf9\x8c\x9e\x01\xa6\xaf\xdf\xa9\xa4\x7d\xd4\x9c\x7c\xba\x6e\x3f\xd2\x3e\x45\x52\xf7\x63\x2b\x14\x38\x0b\x27\xcd\x3e\x96\x06\xcc\xe3\x50\xf1\x52\xab\x12\x6b\xea\xd0\xa5\xd3\xbc\xe4\xd4\x20\x92\xd9\x34\xc8\xca\x33\x7e\x98\x7e\x11\xd8\x6c\xfb\xfb\xd2\xac\xc3\x22\x3b\xd1\x67\x44\xa9\x27\x72\x8f\x48\x53\x72\x17\x5c\xc6\x94\xdf\x30\xa7\x3f\x9d\x33\x76\x5f\xf0\x14\xef\x00\x8d\x58\x63\x21\x03\x38\xcc\x34\x82\xcc\x27\xea\x31\x7e\xec\x92\x1b\x0c\x56\x8c\x38\xab\x27\xc4\xa5\x64\xe8\x02\xb1\xb9\x46\x68\xc6\x51\xe2\x0a\x0b\x55\xf3\xa7\x9d\x21\x5f\xc3\xa0\xd0\x49\x04\x01\x09\x32\xc4\xcc\x68\xc2\xa9\xe7\xd0\x0e\x5d\x38\xd8\x2d\xf5\x52\x06\xba\xb9\x5c\xf6\x97\xbe\xbc\x72\x06\xee\xde\xf6\xfd\x18\xd9\xa2\x0c\x2c\xbb\x28\x5b\x00\xef\xa7\x69\xa0\x8d\xab\x2b\x3a\xba\xdf\x00\xd1\x98\xb4\xf1\x92\xdd\x44\xbc\xb9\x14\x31\x82\x3a\xe6\xfd\xf9\x84\x58\xec\xa3\x9c\xd2\x92\x63\xf0\x99\x93\x03\xe7\x0d\xc6\x94\xfe\x01\xc5\x3a\x11\xc1\xd1\xc3\x4c\x1e\xe5\x06\x8a\x20\x1d\xbe\x7e\x10\x08\xd7\x64\x35\x89\x68\xb4\x02\xaa\x39\x85\x49\x50\x7f\x7b\xd1\x85\x08\x00\xe4\x11\xb1\xc4\xe2\x8d\xdc\x04\xa8\x59\xe1\x79\xbe\x8a\xd7\xe6\x67\x0e\x50\x9d\xb0\x27\xad\x7e\x51\x7e\x44\x25\x95\x4f\x5a\x80\x74\x14\xa6\xda\x26\x7a\x76\x4e\x71\x2a\x99\x84\x65\x06\x49\x82\xd8\x51\xa2\x65\xea\x3c\x4d\xfb\x74\xf9\x92\xa7\xcc\xcd\x9a\x82\x68\x7f\xa6\x1c\x32\x2c\x4f\x58\x9e\x86\xb8\x82\x52\x13\xbf\xa9\x51\xda\xe6\xaf\x35\x4a\xce\x18\xf0\x73\x99\x5a\xdc\x95\x83\x9d\xac\x01\x65\x51\x1d\x61\x75\x37\x91\xa5\x3e\x48\xe3\xa8\x27\x3d\x44\x82\x3d\x25\x96\xf2\xa2\xdb\x2e\x5f\x1a\xe5\x97\x22\x1b\xa7\xf3\xeb\xaf\x4a\x7b\x28\x88\x39\x50\x02\xbd\xaf\xf5\x1f\xa5\x4b\xfb\x97\x9d\xe1\x03\x14\x04\xca\x77\x89\xfe\x09\x5d\x4d\x17\xf0\x7a\x35\x55\x6b\x10\xfe\x8e\x14\x17\xc8\xa6\xa6\x31\xc2\xed\x36\xcb\x7a\x0e\x61\x81\x77\x62\x89\xc3\x44\x81\x4d\x42\x13\x1a\x73\xb1\x2f\xaa\x35\xd7\x78\x14\xc6\x81\xa6\x01\x37\x4b\xa7\x1c\xb9\xad\x53\x15\xfa\xd4\x2d\x3a\xcf\xc7\xc1\xd6\x28\x81\x02\x56\xda\xf7\xd8\xc3\xc9\xa2\xe5\xbd\xcf\xb7\x70\x08\x2f\xa6\x38\x16\x89\x58\x52\x3a\x1c\x3b\x03\x5d\xbc\x6d\x5a\xdf\x26\xdf\x89\xa7\xcc\xab\xed\x3e\x7d\xd3\x77\xc1\x6d\xa8\x41\xf1\x3c\x68\x94\xd4\x3c\xeb\xb4\xe3\x90\x22\xf1\xcc\xec\x22\x74\x44\x5c\x78\xb3\xad\xc7\xbb\xf7\x0d\x89\x0b\x80\x23\x6c\xc4\x46\x8f\x95\x69\xc5\x9a\x7e\x33\xb5\x70\xe6\x70\x38\x0d\x24\x4e\x4e\x31\x0e\x11\xc3\x92\xf1\xe3\x34\x05\x4b\x92\xc8\x38\x6c\x16\x1c\xe0\x41\x09\xb0\x37\xbd\x62\x8d\x91\x9d\xcb\x62\xda\x14\x35\xbf\x94\xe8\x8b\x0a\x88\x46\xd4\x86\xd1\x67\x78\xf7\xa3\xb8\x80\xe6\x60\xf4\x41\xfd\xf8\x6e\x56\xb8\xaa\x06\x61\xf5\x5a\xae\xce\x27\xf9\xdd\xaa\x0e\x2a\x22\xc2\x15\xb0\x40\x53\x97\x26\xb9\x85\x39\x15\xa1\x59\x2d\xff\xea\xe3\x2d\x7b\x5b\x67\xeb\x62\x05\xbb\x0b\xd7\x27\x9f\x78\x8d\x5f\x83\x3c\x40\x66\x78\x0c\xa0\xa4\x2d\x3e\x4e\x1a\xa2\x2b\xd0\x6b\xb5\xee\xd8\x9b\x94\x13\x77\x1e\xca\xb6\x44\xca\x72\xd1\x29\x1d\x00\xf7\x40\x90\x1a\x73\x11\xdc\x03\x67\x15\xd2\x3e\xbd\x9a\x59\x89\x16\x28\xf0\xd8\x7e\xd4\x89\x50\x2f\x06\xd7\x5b\xbd\x11\xcd\x16\x02\xa3\x5e\xe7\xe1\x33\x35\xd6\xa1\x44\xb0\x88\x30\xe6\x69\xc0\x2e\x65\x2f\x3f\x10\x0d\x39\x3e\xf9\xb4\xac\x05\x32\x14\x39\xbc\xe6\xce\x36\xff\xc5\xab\xca\x89\x0b\x87\x96\xcc\xb5\xe1\x63\x03\x55\x9c\x5d\x91\x17\xf0\xf3\x1d"}, -{{0x70,0x09,0xed,0xd0,0x79,0x50,0x96,0xed,0xc4,0xfe,0xd5,0x5a,0x17,0xcc,0xf4,0x84,0x13,0x1e,0x60,0x8c,0x6d,0x5d,0x66,0x96,0xbf,0x33,0x76,0xe2,0x69,0x24,0x95,0x9b,},{0x77,0x57,0x4b,0xf0,0x69,0x52,0x71,0x45,0xe7,0x2d,0x3e,0x85,0xce,0x7d,0x4f,0xcd,0x67,0x1a,0x33,0xe0,0xa7,0x1e,0x6b,0xf0,0xda,0x7e,0xa4,0x71,0xdd,0x6e,0x86,0xa4,},{0xb7,0x01,0xb8,0xf9,0xa4,0x34,0xe0,0x6d,0x71,0x9a,0xd2,0x5d,0xcc,0x54,0x06,0x0c,0x79,0x86,0x64,0x7f,0x44,0xf3,0x88,0x4b,0xcb,0x6e,0x5e,0xe1,0xd7,0xa4,0x46,0xcc,0x26,0x5c,0xec,0x02,0x9b,0x53,0x7d,0xa7,0xf2,0x52,0x33,0x26,0x55,0x8a,0xc9,0xba,0x34,0xf4,0xcc,0x2a,0x97,0xcc,0xa3,0x45,0x2e,0x70,0x56,0x2e,0x7a,0x8f,0x55,0x04,},"\xb1\x2c\x12\x47\x05\x39\x54\x7c\x2d\xe6\xbc\x4e\xea\xc7\xb6\x3e\x50\x8e\xd7\x10\xf3\x56\x37\xd9\xfd\xd2\xdc\xca\x32\x2a\x7a\x50\x71\xda\xb2\xb2\x84\x5e\x30\x79\x28\x06\x03\x5c\x9f\xcd\xaf\xe2\x78\x3e\x3b\x67\x7d\x6b\xe5\xaa\xc7\x0b\x33\x91\x0a\x2b\x95\xe8\xb5\xd5\x9b\xda\x61\x59\x35\xa4\x17\xb7\xae\x19\xa7\x85\x37\x74\xe8\x9a\x12\xaa\x54\x7b\x41\x92\x97\x9a\x01\xef\x6e\xf3\x2a\x40\xde\x79\xd6\x80\x05\x7a\x83\xa0\x74\x61\x7c\xa6\x50\x1f\x59\xe7\x35\x64\x92\x7c\x38\xb5\x8c\x19\x58\x5a\x2c\x03\x65\x9c\x02\x6e\x4d\xe3\x80\x6d\x6c\x1c\xa8\x95\x8d\xee\x47\xbc\xb8\x89\xe7\x6d\x2c\x3a\x9a\xb5\xb8\xb6\xaf\xb2\xe8\x42\x29\x80\x56\x56\x7b\xf9\xb5\x89\x57\x41\x54\x83\x33\x62\x33\xef\x49\x20\xfa\x57\xf4\x96\xe1\xf0\x34\x8c\xca\x20\x36\x64\x96\xfa\xb3\xa7\x5b\xf4\x21\x4e\xce\x47\xa4\x5f\xea\xa1\x39\x2d\xb3\xf2\x54\xd9\x6a\x7f\x37\x40\x2c\x98\x11\x14\x0d\x73\x58\xb4\xef\x8f\x20\xa2\x98\xee\xef\x90\x4e\x37\xd6\x8f\x37\x8d\x33\xcb\x96\xd0\x0c\x03\x10\x9f\xc8\x3f\xd0\x6a\x87\x6c\x92\x48\x2f\x61\xab\x79\x14\xeb\x7c\x2e\x5e\x84\x06\x6e\x0e\x91\xe2\x1e\x42\xe9\xbe\x23\xdf\x12\xb5\xc7\x47\x97\x3c\xb8\x64\x42\xc3\x22\x91\xd3\xd1\xae\x71\x9b\x36\xa6\x2f\xaf\x3a\xba\xa2\x05\x3a\x31\x3f\x62\x5d\x85\xc5\x1a\x51\x98\x57\x19\x15\xef\x8a\x2b\x19\x9b\xa3\x7d\x25\x88\x45\x75\xba\x1b\x72\x84\x4c\xab\x43\x28\xb5\x7f\xab\x1e\xc9\x74\xee\x8e\xa1\xdf\x7c\xa9\xc7\x8a\x4d\x3a\x03\xbc\xb0\xab\x41\x69\xbf\x06\xa3\xa4\x38\xd9\x56\x6c\x6c\x50\x1d\x8d\x9c\xcc\xcb\x1a\xc2\x6b\x4d\xa4\xae\x1a\x9d\x8e\x8b\x9d\xf6\x62\x82\x1a\xd9\x75\xc9\xb0\x15\xfe\x26\xf6\x89\x8d\x22\xab\x91\x2f\x0e\x40\x5a\x5b\x27\xcf\xd3\x9d\x65\x7d\xcd\x92\xcd\xeb\xe6\x79\x19\x02\x71\x34\x84\x40\x6d\xdd\xce\x71\x18\x87\x31\xe4\x43\x19\x38\x1a\xf2\x7d\xaf\x76\x79\x22\x73\xb8\xc3\x52\x51\xd1\x1b\x83\x6a\xfe\x8b\x3c\xe9\xb4\x02\x73\xf6\x91\x5e\xbe\x6b\xc9\x5a\x75\xbb\x94\x1a\x42\x92\x09\x86\x7f\xba\x87\x64\xbf\x6c\x40\xdb\x6e\xec\xb4\xf2\x17\x47\x83\x7c\xf6\xae\x7f\xbf\xe3\x6d\x50\x23\xdf\x7f\xce\x2c\x0c\x3c\x57\xaf\x28\x98\x88\x53\x13\xc5\xc4\xbd\xa3\x5c\x7d\xa6\xcb\x29\x93\x2f\xb1\x99\x1f\x62\xbb\xb0\x80\xb3\x2e\x20\x50\x61\x93\x11\xae\x69\xab\xb3\x02\x2d\x91\x3f\xa9\xea\xbd\x5d\x5c\xb4\xdc\x54\xd7\x5d\xca\x63\x8c\xda\x9a\xf3\x31\xc0\xcf\x4d\x20\x07\xb6\xca\x39\xf6\x55\xa6\x1c\x01\x03\x9f\x12\xa4\xb9\x78\x2b\xc3\x9a\xec\x4d\x22\xef\x00\x93\x38\x8d\xd7\xd5\xb5\x6d\xfb\x8a\x7f\x9d\x86\x69\x00\x4e\x28\x78\xdd\x8a\x6d\x76\x85\x7c\x08\x45\x24\x50\x68\xfe\xe1\xc5\x31\x96\x31\xe7\x8d\x37\x85\x16\x5c\x70\xaf\xd6\x52\x99\x30\x13\x78\x55\x1e\xbf\x61\x35\x84\xc6\xa7\x62\x0a\x0e\x3b\x67\x79\xf3\x8c\x09\x40\x06\x24\x97\x00\x8e\xb2\x33\x87\x08\x68\xc2\x1c\xcc\xac\x23\x95\x01\xb6\x3b\x74\x9a\x85\x60\x2c\x28\xa0\x95\xca\xfc\x74\x9b\x05\x11\xa6\xc8\x78\xed\xb3\xb7\x80\xea\x17\x4d\x07\xb1\x21\xe3\x15\xa8\x26\xdd\xa6\xec\x8d\xc5\x43\x63\xe2\xcd\x2e\x63\x05\xa1\x94\x82\x5c\x0e\xa9\x0e\xfd\x7a\x9f\xd8\x9c\xd9\x7b\x99\xc4\x30\x0b\xd3\xbf\x93\x53\xd8\x2f\xbc\xce\xea\x71\xb4\xee\x3f\x1a\xae\x95\x39\xb4\xcc\xe9\x0c\xa4\x77\x59\x7c\x17\x4e\xf2\x0f\x4b\x9f\x4e\x62\xd0\x9a\x57\x0d\x31\x35\xaa\xbe\xe9\x55\x1f\xa6\x09\x83\x95\x8c\x0b\x7b\x8c\x37\x44\x55\x3e\xe1\x4e\x7f\x3c\xd1\x03\xa1\x92\x51\xc9\x9b\xf6\x38\x4a\xbb\x60\xa7\x6a\xfc\x66\x58\xb8\x0d\xfc\x51\x10\xad\xc4\xc7\x32\xfe\x0e\xe3\x29\x33\xfb\x28\x48\x28\xe0\x08\x88\x7a\xef\x80\xf6\xf8\x13\x34\x04\x46\xc0\x21\x7c\x12\xee"}, -{{0x12,0xfe,0x8e,0x5c,0xe2,0x0c,0xaf,0xaa,0x32,0x79,0xda,0x7b,0x34,0xaa,0x87,0x75,0x2e,0xad,0x67,0x9f,0x15,0x61,0x28,0xaa,0xef,0xb4,0xaf,0xa5,0xdb,0x4f,0x2a,0x6f,},{0xe7,0x7f,0x44,0x20,0x6b,0xb0,0xc4,0xc5,0x9a,0x28,0x70,0xcf,0xc2,0xec,0xac,0x63,0x36,0x2d,0xee,0xcb,0xe8,0x11,0x5d,0xe5,0xcb,0x1a,0xfc,0x2d,0x9a,0x3d,0x47,0xf1,},{0x04,0xea,0xf9,0x00,0x96,0x6e,0x09,0x92,0xd3,0x6e,0x3c,0x22,0x0a,0x4b,0xd4,0xd8,0x2b,0xcc,0x6e,0xb9,0x98,0xed,0x05,0x1d,0xbc,0xb9,0x16,0x0b,0xcd,0x35,0x74,0x09,0x73,0x6b,0xcf,0xf7,0xe6,0x63,0x0e,0x96,0xf5,0x53,0x8a,0xec,0xa6,0xab,0x8b,0x0d,0x0b,0xd8,0x2c,0x0c,0xd7,0xc4,0x54,0x99,0x17,0xfe,0xbb,0x9c,0xba,0xda,0x08,0x0c,},"\x6b\x80\xcc\x6f\xbb\xd3\x32\xf8\xc6\x19\x7c\xdf\x2e\x6d\xc1\x9a\x21\x30\xfa\xa2\xec\x93\x8e\xf5\x58\xb8\x84\xba\x4f\xa5\xe1\x13\xe5\xb3\xe4\xb1\xaa\xf5\x1b\x69\x5f\x13\xef\xfe\x13\xf7\x7d\x39\xca\xb3\xc0\x7d\x04\xd6\x6d\x43\x0d\x99\x74\xb1\xda\x3d\x39\xdf\x12\x78\xc0\x0d\x6b\xcb\xfd\x4b\xae\x75\xb8\xc0\x76\x40\x4d\xbb\xb8\x34\x48\xfb\x49\x3d\xf6\x70\x00\xf9\x7d\x24\x7e\x8f\x23\xdc\x08\x1f\xce\x99\x2b\x65\xa2\x1b\x35\xd7\xbd\x7f\xa7\xdc\xcc\x54\xa5\x60\xaf\xd1\x4b\x1e\xc4\x36\xc1\x09\x46\xf6\xaa\x59\xea\xe1\xbe\x3e\xcf\x31\x1d\xef\x51\xe4\x6b\x6b\x4d\x1d\x08\x0d\x17\x84\xb2\x33\x4b\x80\xcf\xba\x72\xcd\x93\x1f\x55\xec\xd2\x98\xb0\x5d\xc8\x36\xab\x12\xd0\xad\x8b\x5d\x6e\x9b\x1e\x3c\xea\x3d\x84\x33\x68\xee\xf1\x9f\x5c\x14\xc6\xbb\xad\x94\x14\xcc\x7a\x4d\xb6\xa7\x26\xe4\xfc\xae\xd4\x44\x40\xa0\x19\xfe\x12\xa6\x05\x73\x40\x3c\x0e\x66\x2d\xc9\x02\xd1\xc8\x73\xff\x30\xc9\x31\xba\x7e\x43\xa3\xb3\xbf\x71\xd5\xb0\x94\xea\x50\x49\x71\x64\x7c\xa9\x43\x56\xf0\xa5\x3e\x44\x4b\x4c\x00\x8e\xe5\x97\x72\x04\x22\x1b\x40\x0d\xee\xc3\x7f\xc2\x73\x45\x25\x45\xf8\xf2\x18\xbe\x98\x87\x25\xbc\x38\xc8\x5d\xf2\x12\xea\x73\xdc\x0b\xc7\xcb\xba\xc9\x07\x98\x2f\xef\xad\x68\x0f\xbd\x97\x5c\x20\x93\xa7\xfe\x8e\x6b\x37\xc1\xcc\xed\x87\xf8\x1d\xaa\x57\x29\x1a\x5a\x18\x47\x6d\x11\xa1\x8e\xc4\xb5\xcb\xce\x5d\x55\xac\x9b\x62\x4b\x04\x84\x30\xf2\x54\xf6\x71\x07\x85\x06\xe6\x98\x9d\xf7\xc0\x92\x56\x52\x50\x39\x08\x5a\xb7\xc1\x30\xc2\x40\x00\x4a\xbb\xb3\xaf\x6b\x48\x1c\xc1\xa0\x61\x7e\x57\xe3\x88\xee\x4b\x1f\x05\x2f\x34\xa0\x03\xfe\x6b\xb2\x02\xcb\x87\xd2\x74\x1b\xd8\xe3\x45\x4c\xa7\x3d\x2f\x61\x20\x11\xec\xc7\x4d\x88\x34\x35\x10\xa6\x3c\x93\x13\xdd\xc3\x6c\x25\xd3\xfb\x03\xe1\x88\xf5\x60\xbd\x02\x9c\x80\x15\x85\xce\x55\x29\x88\xdc\x55\xb7\xd8\x52\x2a\x33\x96\xc0\x1d\x5e\x71\x5a\xe2\x6c\x62\x2c\x64\xfe\xd5\xb9\x8e\x9c\x55\x9e\x4a\xa7\x8d\x1e\xd3\xb7\xb8\x90\xd4\x77\xec\x8c\x50\xa0\xff\x10\x7a\x3f\x83\xb0\x7b\xd3\x5e\x9c\xe9\xa0\x8b\xcf\xc0\xf1\x68\xee\xc7\xaa\x31\x1f\x71\xc6\x6a\x71\xce\xb9\xd5\xa2\x19\x9a\x14\xbe\x36\x86\x5c\xa8\xd0\x7e\x18\x6b\x13\x92\xb9\x29\x0c\x57\x80\x04\xd5\x84\xf1\x91\xc8\x2a\x53\xd8\x50\x89\x0b\xcc\x0d\x12\xdf\xf8\x40\xe0\x43\xdd\xdc\x2e\x67\x0c\x83\x60\x20\x92\x4f\x58\xc0\x44\xb2\x18\x76\x3c\xa6\x19\x82\xbc\x33\x2d\x24\x7b\x2a\x00\x8a\xb5\x70\xb6\x56\x5a\x06\x89\x2a\x26\xcf\xb0\x85\x3d\x79\xda\x28\xef\x8b\x91\x0a\x93\x29\x54\x4b\x79\x2a\xe4\x45\x6b\xa7\x76\x50\x66\xb9\xd1\xb4\xa3\x00\x21\x04\x48\x66\x0a\xe4\x8b\x50\x44\x41\x01\x7c\xdd\xd1\xf6\xf0\x09\x38\xb1\x07\x2c\x8a\xb8\x24\xad\xfe\x8a\xe3\x49\x23\xc8\x2e\xec\x75\x4b\xee\x1a\x65\x50\xab\x1d\x3d\xa0\x86\xe3\xae\xbb\xf2\x11\x69\xc4\x44\x69\xe0\x3b\xba\xe0\xd7\x2c\xe8\x63\x45\x77\x84\xcf\xe1\xdf\xc2\x76\xf1\xaf\xad\x9e\xe5\x3e\xba\xb5\xa3\xc6\x57\x2e\xb1\xca\xe0\x99\xa4\xa5\xfe\x19\x31\x92\x90\xe6\xa1\xb8\xb0\xe7\x54\x1e\xd7\x35\xb3\xf2\x1b\x1e\x2c\x75\x09\xf8\x7f\xd1\xfe\xd0\x00\x07\x47\x9b\x3c\x1b\xb7\x84\x32\x46\x63\x02\xd2\x46\xd8\xd0\x31\x99\x63\x07\x26\x0a\x0c\x41\xa0\xe3\xec\xd1\xe7\xfd\x83\x4d\xac\x11\xa1\x3e\xb0\x36\xb3\x9c\x36\x99\x66\xfd\xef\x39\x4c\x18\x3e\x54\xe7\xb0\xcb\x3d\x0c\xeb\x19\x8b\xd0\xe6\x6c\x00\xd3\x8d\xb7\x03\xaa\xce\x30\xcb\xbd\xab\x36\x9d\xfd\x1d\x9e\x51\x4d\x09\x68\xf1\x00\xc9\xf0\x7c\x31\x50\x89\xad\xb3\xad\x02\xe5\x9c\x04\xb9\xbe\x46\xe9\x9f\xbf\x5a\x62\xc6\xbb\xec\xdf\xf5\xb3\x81\xe5\x51\x27\x82\x4d\xdb\x18"}, -{{0xee,0x9b,0x6c,0x2e,0x0c,0x9b,0x01,0x47,0x2c,0xe3,0x2d,0x54,0xd1,0x76,0x2a,0xb0,0x30,0x33,0x17,0xd7,0x6d,0x3a,0xa7,0x8f,0x5e,0x08,0xa9,0x02,0x4c,0xa1,0xe0,0x83,},{0x01,0x6d,0xf0,0xf7,0x17,0xbc,0xb7,0xad,0xf6,0x26,0x95,0x8d,0x83,0xbf,0x8a,0xa3,0x25,0xc7,0x05,0x18,0xc6,0x8b,0xc7,0xef,0xd8,0x42,0x53,0xb7,0x5d,0xb0,0x87,0x88,},{0x4b,0x00,0x1d,0x96,0x42,0x83,0x5d,0x72,0x13,0x8d,0x68,0x01,0x98,0xe6,0xaf,0x70,0xb5,0xde,0x7a,0xf0,0x15,0x13,0x1e,0xa7,0x26,0xf4,0xe5,0x1b,0x5e,0x8b,0x6d,0x48,0xc2,0xa6,0xca,0x8e,0x87,0x09,0xcc,0x82,0x22,0xa5,0x04,0x7c,0x09,0xa6,0x6e,0x51,0x8a,0xc5,0xe8,0xb6,0xe5,0x35,0x48,0x94,0x82,0x61,0xf0,0x70,0x1f,0x68,0x73,0x08,},"\x77\x2c\xc2\x5c\x3b\x69\xbb\x3f\xf5\x65\x56\x64\xef\xa4\x78\xac\x41\x4a\xdf\xae\xa7\x0a\xc4\xa2\xa8\x87\xed\x39\x68\xc5\x4d\x34\xdb\xf1\xbe\x32\xcc\x9a\x9b\x54\x20\xa4\xad\x3c\x9a\x87\x7b\xc8\xcc\xec\x94\xad\x47\x3a\xa7\xa3\xc7\xde\x08\xa0\xfd\xb5\xed\x1e\x89\x87\x2b\xe7\x81\x70\xbe\x22\x1d\x27\x97\x76\xbb\xc6\xed\x9c\x5a\x67\x16\x89\x80\xd5\xea\xf8\x95\xe1\x34\x0f\x5d\xfa\xa3\xdf\x62\x2d\x65\x44\xb3\x99\xd7\x49\x45\xfd\x13\xbb\x11\x73\x62\x1e\x05\x61\x51\x46\x40\x13\x7a\xa7\xbc\x9c\xb7\xde\xbe\xff\x2c\x62\x69\x77\xd4\x47\x26\x3b\x7e\x57\xd4\x3d\x69\xef\xb2\x30\xcd\x25\x86\x5e\x4d\x92\x48\x28\xf5\xe3\x6f\x96\x4e\x40\x3e\x34\x93\xf3\x0d\x6d\xfe\xa6\xca\x3b\x78\x10\x75\xb5\xe3\xb2\x5c\x05\xac\x50\xe5\x55\xf1\x5b\xa1\x2b\x0e\x05\x9b\xff\x99\x64\x84\x12\x9d\xb6\xea\xfd\x88\x99\x3d\x6f\x0b\x7e\xcd\x15\xdc\xe2\xfc\x99\xf8\xb8\xe4\x35\x16\x35\x2d\xdb\x46\x1a\x04\xb9\xff\x34\x86\x45\x2e\x6a\xa6\xa5\x4b\x2d\x10\x62\xa7\x71\x42\x50\xcd\x2a\x88\xff\x6c\x4c\x17\xb6\xcc\x66\x52\xd8\xc5\xac\x27\xd4\x44\x3a\xeb\xf3\xd5\xfb\xaa\xee\x45\x21\xec\x76\xf0\x41\x3d\xb6\x44\x21\xec\x8d\x69\x49\x62\x67\x25\xfe\x56\x16\x0a\xb3\x07\xc0\xe7\x39\x06\xc4\x51\x55\xef\xab\xb4\x72\x22\x02\x1f\x22\x0d\x32\xbd\x3d\xb0\x71\x2a\xbd\xe2\x59\x9e\xa4\xff\x79\x97\x17\x81\x1d\xcd\xf8\x18\x2d\xf6\x71\x6d\x2a\x03\x8a\xee\x15\xd7\x78\xda\x55\xac\x20\xf0\x1f\x25\x30\x9c\xea\xd5\xb5\xb7\xb2\x23\x22\xe1\x82\x8e\xa7\xc9\x1a\xe6\x66\xf2\xdc\xd6\x84\x07\x31\x48\xe3\x1b\xb2\x24\x7d\x5f\x93\x50\x6e\xa8\x08\x52\x27\xad\xc9\xae\x19\x82\xe9\x50\xf0\x06\xa9\xda\x15\x8b\x9c\xec\xff\x89\x29\x76\x1c\x84\xf9\xd9\x76\xfd\xcd\x31\x7f\xfe\xd3\x6c\xbf\x6a\xcd\xa3\xe5\x0c\x9b\x73\xbd\x2c\x80\x85\x40\x9d\x11\x9b\x64\xce\xd7\x34\x9a\x26\x74\x26\x2a\x83\x2b\xec\xb0\x3c\x2e\xdc\xca\xc0\xec\x54\x12\x4e\x82\xf8\x10\x18\x17\x92\xda\x49\xea\x10\xbd\x94\x1f\x98\x95\xa0\x69\x59\xfd\xe0\xd3\xb0\xae\x84\xc3\x9d\xf0\x53\x90\xab\x33\xc3\x6c\x79\xca\x22\xe6\x59\x4d\x7f\xc6\xe3\xf8\x69\x22\xd7\x8e\xb7\xf5\xc2\x54\x95\xd8\x22\xa3\xb4\x10\x51\xb2\x4e\x57\xa7\x6f\xcf\xc1\x65\xcd\xe6\xd0\x96\xcc\x7b\x7e\x9d\x05\x5f\xe8\x64\xd5\x29\x42\xd6\x29\xa8\xac\x26\x1b\xe1\xdc\xd3\xa2\x1f\x89\x5f\x49\xb6\x7e\xe4\x7e\xab\x7c\xf1\x64\x4d\x57\x1d\x5f\xf3\x8c\x17\x9f\x5c\x6a\x54\xa3\x61\x2f\xb3\x47\x53\x41\x2a\x1b\x95\xbf\x62\xff\x31\x79\x80\x4f\xfb\xb9\x90\x51\xf2\xb0\x80\x56\x3a\x4a\xe0\xf2\x7c\xf9\x96\xea\x8b\xe3\xba\xe0\xa4\x33\x9d\xcc\xdf\xf6\xb6\x67\x15\x59\x26\x6e\xaf\xf4\xef\xf6\x82\xb8\xde\xe8\x9c\x9d\x2d\x45\xac\xdb\xec\x4a\xa6\xce\xcd\xbd\xb1\xd2\x84\x60\x9e\x65\xef\xb7\x7b\xb8\xf1\xa5\x1f\xc4\xd4\x56\x8a\x70\x5f\xb9\xc9\x7b\x23\x03\xc1\x46\x7d\xff\x8c\x8c\x5e\xe2\x75\x59\xb9\x3a\xd1\xc5\xb9\xc5\xc6\xc7\xc5\x29\xfa\x8c\x55\xc7\x5e\xbb\x59\xb2\xa8\x18\xaa\x9b\xda\x1e\x9e\x79\xbc\x66\x02\x97\x72\xf8\xae\xa1\x1b\xad\xd3\x22\x65\x65\xd5\x4f\xd0\x1b\xda\x8c\xb2\x70\xe7\x0d\xc9\x33\x9b\x46\x90\x0b\x58\x18\xe9\x32\x07\x5b\xe6\xc2\x8e\x73\xa1\x91\xd0\x2c\xbd\xc7\x45\x4b\xe1\x23\x87\xb0\xd4\x7a\x1a\xb1\x42\x32\xd2\x34\x2a\x6f\x15\x18\xea\x97\x09\x8b\x81\x5a\x1c\xa3\xf9\xc7\x0b\x25\x72\x2b\x1b\xcd\x7d\xac\xda\x63\x56\x22\xfc\x8e\x72\x95\x9f\x57\xf7\x67\xea\x56\x3d\xa4\xc1\x58\xee\xf7\x20\x01\x09\xf6\x14\x16\xc2\xe7\x04\x39\x92\x30\x62\x43\x7b\x1d\x08\x2a\x8c\x7f\x43\x94\x71\x3c\x1b\x7b\xa0\x58\x7b\x84\x1c\x11\x44\x75\xee\x3f\xf0\x59\xdf\x8c\xfa\x12\xa3\x21\xd9\x01\xcb\x47\xf5"}, -{{0xa3,0xd2,0x35,0x05,0xd0,0x7c,0x5f,0x93,0x7f,0x13,0x63,0x9d,0xbd,0x81,0x8e,0x85,0x14,0x52,0x34,0xee,0x70,0x17,0xec,0xee,0x86,0x36,0xc7,0xba,0x76,0xeb,0xef,0x5b,},{0xfd,0x7f,0xdb,0x3d,0x02,0x2b,0xa3,0x6e,0xad,0xfe,0xd0,0xda,0xaa,0xe5,0xbf,0xf0,0x45,0x05,0x40,0x3f,0x17,0x14,0x73,0xe4,0xd3,0x61,0xee,0x8d,0x15,0x0a,0x0e,0xb4,},{0x67,0xa6,0x67,0xee,0x0d,0x62,0x54,0xca,0x0a,0x8f,0x21,0x25,0x82,0xc0,0xcb,0x8b,0x6e,0xd9,0x7c,0xc9,0x67,0xdb,0x02,0x12,0x96,0xad,0x6a,0xa9,0x9f,0x0a,0xd3,0xa9,0x44,0x97,0x8c,0xfd,0xaf,0xf1,0x3f,0xe5,0xf8,0xc6,0xe8,0x8c,0xbd,0x83,0x1a,0x54,0x73,0xd0,0x74,0x2e,0x37,0x34,0xb3,0xe2,0xdf,0x00,0xff,0x32,0x40,0xa5,0xde,0x02,},"\xbc\x29\x8e\xd6\x98\x92\x90\x40\x28\x72\x5e\x21\xb1\x14\x46\x2d\x89\xd8\xc0\x06\xdc\x88\x4b\x17\x87\x56\x83\x8a\xf4\x95\x4f\xf0\xf1\xb7\x95\x17\x30\x7a\x25\x8a\x0e\x76\x81\xe8\x79\xac\x47\xd7\x92\x02\x30\xb0\xcc\x1d\x66\x17\x1e\xb2\x14\xd7\x7c\xd9\x7f\x61\x7c\x40\x5e\x6c\x21\x72\xfc\x58\x9f\x16\x25\xcc\x5e\x1b\x59\x31\x10\x53\x1f\x6e\xb5\x3f\x1e\x6f\x48\x6d\x19\x64\x61\x24\x47\x75\x0a\x04\x1f\xe5\x1b\x33\x2e\xb3\xfb\xc7\x11\x61\x6c\xe3\x5f\x04\x04\x42\xb4\x31\x63\xb8\x0b\x75\x1e\x21\xec\x12\x45\xf1\x2e\x48\x83\xc7\x9d\x3b\x41\x32\x82\xc6\x9b\xfc\x6a\x46\x5d\x1e\x78\x96\xba\xb0\x38\xdc\x89\xb4\xcf\xc0\x32\xfc\xcd\xfc\x87\xb0\x7f\x06\x11\x0e\x1f\x50\x6a\xcc\xa8\x15\x7a\x32\x25\x43\xbf\x1e\xd8\x90\x67\x27\xf2\x8d\x0d\x68\x9b\xcd\x7d\xd3\xdf\x85\x93\x52\x04\xa9\x04\xab\x3f\x7a\x0d\x99\xc1\x6e\x5a\x54\x2c\xc2\xbc\xde\xbf\x5b\x50\x2d\xba\xbe\x33\xb9\x72\x48\x0e\x02\xe7\x1a\x43\x8a\x19\x80\xa8\x76\x6f\x10\x8b\xd8\xad\x51\x10\x42\x23\x99\x4d\x9b\xfb\x3c\x3a\x4b\x7a\x59\x23\x8c\xe2\xef\x7d\x72\x88\x38\x3f\xfb\xf2\x91\xe1\x60\x2b\x38\x4a\xf6\x07\x00\xd7\xda\xf0\xe8\xfe\x60\xf8\xca\xed\xe4\x3d\xb0\x6b\x3f\x4c\x8c\xff\xf7\x49\xae\xaf\xa4\x6f\xc6\x1c\x49\xb2\xd5\xa4\x12\x04\xcf\x86\xf0\x49\x25\x4d\x80\x9e\x94\x98\xaa\x9d\x4c\xfd\xb9\x4a\xcb\x2b\xab\xfc\xf7\x86\xdd\xfb\x03\x69\x15\x16\xb3\x83\x8b\x0d\x4f\x20\x1c\xb2\x59\x1e\xdb\xb0\xb0\xf6\x74\xe1\xe2\x82\x03\x16\xb7\x2e\x81\xb4\x8c\xc5\xa6\xb2\x93\x38\xbc\x36\x68\x1f\x8f\x7d\xca\x43\xee\x6c\x0b\xd2\xe4\x02\xaf\xbf\x96\x77\x97\x51\x64\x53\xbc\x01\xbe\x86\xbf\x42\x29\x9d\x1b\x73\x6a\x0d\x97\xbb\xc9\x22\xf5\xa7\x8a\xf2\xdf\x42\xe6\xf8\xc2\x8e\x95\x3f\x2c\xea\xda\xff\xc5\xe9\x30\x64\x04\x1e\x42\x5a\xd6\x97\x5f\x88\xc7\xaa\xdf\x81\xc3\x68\x69\x1a\x58\x1e\x88\x5f\x2a\x6b\xa7\x2e\xd6\x8b\x8f\xef\xbc\xd6\xce\x36\x86\x26\xd4\x48\x92\xa2\x02\x70\xb5\xf7\x09\xc2\xe3\x4b\x83\x35\xd4\x2e\xeb\xd6\x7a\x24\xdf\x73\xf4\x54\x55\xc4\x19\x44\x18\x7b\x66\x92\xf0\x54\xb2\xfc\x95\x91\x37\x3f\x19\xfc\x71\xaa\x7f\xa2\x7d\xf6\x00\x6a\x1d\x54\x9b\xbf\xae\x7d\x3c\x3e\xb3\x6e\x5a\xb2\xaa\xa1\x0a\xa5\x53\x8d\xa7\xef\x36\xc8\xff\x35\x4b\x60\x58\x13\x40\x04\xd6\x60\xa4\x03\x63\x21\xca\xad\x00\xa3\x0b\x1c\x49\x8b\xa3\xd8\x08\xc4\x40\x5e\xf7\x96\x18\xfc\x22\x12\xa7\xb8\x33\x96\xa3\xd7\xce\xdc\xeb\x86\x3c\x66\x37\x4d\xc4\x69\xae\x18\x3c\x7e\xd7\x4b\x3e\x70\xd6\x37\x4a\x06\x2d\xe0\x37\x9b\x21\xcf\x25\xd3\xc4\xc5\x76\x21\x15\xcd\xfe\x75\x55\x45\xe8\x9a\xd4\x05\x2b\xb0\x27\x9d\x93\x8e\x90\xde\x3a\xbf\x50\x44\x10\xca\xad\x72\xb7\xc2\x9f\x53\xd0\x1d\x9d\xd7\xf2\xec\x5e\x45\x9a\x04\x59\x2b\xdd\x66\x41\x66\x13\xe6\xed\xd0\x04\x56\x9e\x0e\x6c\x98\x82\x7b\x8c\x1d\x70\x02\xa6\xd1\xbf\x30\x3e\x18\x25\x95\x01\xdd\x89\xf6\xee\x94\x76\x6d\x18\xaf\x81\x04\x63\xeb\x13\xb2\xef\xdd\xf1\x72\x3a\xf7\x35\xa8\x87\x16\xe1\xfc\xb4\xb7\xb4\x3c\xb9\x7e\x1c\xc9\x03\xb2\x40\x8e\xf4\x53\xad\xa4\x16\x47\x86\xf0\x08\x45\xfb\xfa\x1f\xfc\xa5\xcc\x3e\x1c\x4b\xd9\x94\x0e\x7d\x99\xae\xf9\x19\x16\x6d\x05\x8b\x51\x45\x3c\x9c\x14\xfb\x9f\x32\x51\xec\x5f\xe4\xf1\x53\xc7\x0a\x44\x92\xdc\x34\x96\x29\x61\x86\xf2\x3a\xd4\x7e\xba\xd1\x3c\x66\xe6\x87\x27\xce\x50\xba\x94\x87\xf1\x80\x18\x90\xb6\x93\xef\xeb\xfc\x37\xbb\x5d\x95\xf8\xaf\x54\x8e\xc8\xd6\x49\x82\x89\xe5\x5f\x98\x83\xfc\x5b\xe8\x4c\x25\x6d\x2b\xc5\x48\x49\x38\xc7\x09\x82\x0d\x9b\x6b\x80\x59\xc0\xaa\x42\x67\xdd\xe6\x90\x78\xe4\x87\xc8\x86\x5c\x0b\x13\x0a\x0c\xa8\xca"}, -{{0x6e,0x26,0x51,0x05,0xee,0x71,0x71,0xd1,0xbd,0x79,0x3e,0xff,0xd8,0x7d,0x1e,0x2c,0x79,0x45,0x0d,0x5e,0x18,0x8b,0x57,0xbe,0x3a,0xa1,0x62,0xe2,0xa5,0x25,0x28,0xad,},{0x1f,0x40,0x3c,0x7a,0x75,0x50,0x31,0xc1,0x3c,0xa6,0x3a,0xf5,0x76,0x35,0xdc,0x6e,0x2c,0x4f,0x23,0xbd,0x6b,0x1d,0x67,0xca,0x65,0xda,0x68,0xb0,0x99,0x43,0xc5,0x54,},{0xb5,0xa8,0x3a,0x11,0x7a,0x60,0x34,0x5a,0x67,0xe4,0xa6,0x65,0xf3,0x7d,0xe7,0x22,0xa6,0xec,0x03,0x91,0x38,0x29,0x38,0x99,0x59,0xf3,0x76,0xee,0x62,0x64,0x77,0xe6,0x54,0xac,0x8d,0x72,0x0f,0xc7,0x27,0xd4,0xbb,0x8f,0xe1,0x54,0x4f,0x5d,0x0b,0x0b,0x85,0x05,0x14,0x29,0x0b,0x24,0x27,0x3c,0x4c,0xd4,0xb7,0x3a,0xca,0x4a,0x53,0x00,},"\xf8\xb9\xd4\xb0\x27\xeb\xb1\x0e\xe5\x11\x81\x9e\x6e\x56\xfb\x1b\xa9\x58\x40\x18\x41\x8d\x82\x88\x5a\x38\xa4\x49\x08\x60\x07\xb8\x78\x5b\x51\x05\xca\xf7\x82\xbf\x9b\x36\xda\x03\x9c\xc6\x0e\x22\x7c\x7e\x16\x14\xf2\x9b\x64\x0b\x1e\x9b\x22\x74\x7e\xea\x7a\x67\x25\x61\x4e\x89\xe0\x78\x3e\xbe\xbb\xb7\xee\x55\x7e\xf3\x6b\x2b\x46\xcf\x64\x61\xe5\xbe\x2a\xd1\xd7\xa7\xc2\x71\x1a\x47\x5c\xa4\xfb\xc3\x30\x92\xba\x42\x56\x67\xe3\x4d\x09\x00\x60\x51\x8f\x2f\xec\x63\x6b\x04\x91\x23\x87\x6a\xb2\x1c\x8b\xd9\xc5\x0d\xcc\xb9\x84\xca\x01\x1a\x02\xee\xa0\x20\x56\x4f\xa8\x21\xfc\x36\x2b\xfe\x39\x2a\xab\x50\xc2\x73\xfc\x7b\x5a\x04\x21\x88\xe3\x31\x62\x1b\x9d\x2f\x74\x3e\x5c\x8c\xf3\xab\x1f\xaf\xfa\xfe\x2a\x00\x04\xc8\xef\x7c\xdf\x5e\x6d\xbb\x5e\xb5\x44\xe4\x28\x9f\x71\xa6\xfd\x15\xc6\x38\xce\x29\xd2\x8e\xfb\x9c\x03\x9e\x47\x74\x29\xa3\x49\x7a\x83\x82\x7e\x76\xce\x77\xa4\x98\x16\xd9\x0b\x41\xa8\xe1\x52\xf3\x7a\x09\xe6\x34\x0d\xfe\x06\x9a\x4a\xc6\xf2\x7d\xd2\xea\xc7\x47\xfd\x21\xe3\x15\x20\x88\xc1\xb1\xec\xd3\x2a\xc6\x79\x92\x74\x90\x75\x04\x88\xc2\x91\x78\x51\x47\xb6\x3b\x0b\x8f\xf1\x1d\x18\x9b\x90\x49\xb8\xa3\x96\xb6\x93\x2f\x85\xbd\x6a\x15\xef\xf9\xf0\xce\x18\x08\x41\x1a\xf0\xf9\xc8\xe6\xe9\x7b\x81\x4f\x11\x0b\xd4\xdf\x13\x86\xa9\x79\x7d\xc5\x11\xf0\xaa\xb6\xab\x65\x07\x1d\x9e\xa8\x36\x53\x2c\xec\x51\xb9\x2c\xa7\xfb\xdb\x8d\xe1\xc8\x43\x66\x58\xde\x2e\xb6\x5e\xdd\x86\x04\x4f\x6c\x1a\xba\x31\x78\x64\x7a\xd6\x78\x61\x2e\xe7\x4f\x04\x6c\xa3\xc7\xfe\x2f\x39\xc0\x9d\xd2\xe0\x7d\xf2\xb4\x22\x70\x85\xfe\x93\x6e\x79\x4d\x22\xfd\x5f\x40\xa2\x5f\x08\x77\x15\x80\xac\x80\x1d\x98\x89\xf5\xa7\x6a\xea\xe1\xf0\xcc\x4a\x9e\x1e\xdb\xdd\xa3\x75\x0c\x74\xc8\x50\x52\x4b\x32\xf4\x49\x33\xfd\x88\x3b\x53\x72\xbf\xb7\xe7\x61\xe0\x69\xfe\x7c\x1c\x0e\x7f\xbd\x4a\x7f\x58\x46\x7e\xa6\x88\x3f\x9d\x5b\x7f\x66\xd3\x86\xb0\x49\x9b\xb6\xfb\x5e\xad\x89\xc9\xa1\xfd\x2c\xce\xb9\x73\xe2\x87\x9b\x5d\x03\xea\xa4\x52\xe1\x60\x22\xd5\x96\x17\xda\xa0\x48\x6f\x4d\x4c\x11\x78\x07\xfd\xa8\x49\x9d\xfb\x7a\x28\x6f\xd2\xf7\x1a\x8e\xb5\xfe\x64\x06\x5c\x41\xe4\xe1\xe2\x36\x2a\xb4\xe4\x77\x96\x9e\x3a\x40\x8a\x24\x7e\x3a\x56\xfc\x86\xf2\xb0\x1e\xf8\xd3\xcd\xda\x87\x25\x82\x34\xbc\x7f\x25\xb6\x69\x07\xf3\x64\xb3\x7b\x62\x45\x29\x6c\x4f\xdf\x49\x9f\x20\x23\x7f\x48\x64\x85\x2f\xc5\xd8\xcd\x5d\x05\x41\x8b\xe8\xb1\x38\x59\xee\x9a\x43\xe1\x7e\x1f\x57\xa4\xc3\x5e\xa2\x82\xed\x68\xeb\xcd\xa6\x82\x81\x74\x24\x5a\x49\xc6\xcb\x65\x90\xeb\x1f\x2d\xcf\xb0\x07\xbf\xa1\xc3\x20\x77\x95\x6d\xa9\xac\xbe\x3e\xf0\x72\x37\x99\xfd\xb8\x69\xd8\xde\x30\x70\x6a\x9c\x02\x68\x14\xd1\x6a\x01\xe0\x33\xc9\x1b\x59\x07\x0d\xfe\x44\x5c\x5b\x84\x8a\x51\x66\x12\xe5\x13\x1f\xe8\x48\x69\x21\xe3\x6b\x8e\x7e\xf1\x57\xa8\x88\x22\x88\x6c\x68\x1b\x5d\xa7\x1f\xea\x94\xd9\x57\xda\xfe\xc2\x6f\x41\x47\xa3\xb2\xac\x38\x3a\x5f\x47\xc8\x58\x5e\xb1\x7a\x8a\xc6\x57\x90\x64\x1b\x42\x18\xd7\x55\xf8\xbe\xa4\xd9\x7a\xe2\xa4\x5b\xdc\xdc\x23\x23\x62\x94\xd8\x52\xc9\x5d\x08\x40\x6d\x2e\x9b\xd3\x0c\x32\x64\x52\x53\x8c\x1f\x5e\x50\x04\xd4\xa1\xa8\x27\x20\xda\x32\xe5\x9d\xc3\xab\x18\xea\x08\xa0\x58\xf7\x91\xd2\x44\x18\x55\x60\x86\xc1\xe4\xed\xce\x89\x82\xaa\x23\xb1\x18\xfb\x26\x6e\x60\xb5\x42\x78\x0a\x69\x33\xad\xd9\x13\x26\x55\x12\xc0\x7b\x11\x49\x78\xd4\x4a\xf7\x3b\x20\x30\xec\x47\xb0\x6f\xd0\x9d\xda\x8c\x4f\x1d\x4e\x31\x37\x75\x46\x8c\x45\x1f\x9e\xe6\x11\xe9\xcd\x4c\x08\x45\xc2\x50\x19\x48\xa7\xb1\x4e\xf1\xd4\xb5\xcf"}, -{{0xc4,0x37,0x0d,0x2a,0xaf,0x35,0xac,0xd1,0x58,0xfc,0x0d,0x16,0x22,0xa3,0x99,0xc9,0x9f,0x41,0xb9,0xda,0x4e,0x97,0x0b,0x35,0x4e,0x5b,0xa0,0x5c,0xbe,0x84,0x4c,0xa8,},{0x35,0x45,0xd7,0xd4,0xc9,0x5c,0x3d,0xb6,0xa5,0x45,0x30,0x53,0x7a,0xfa,0xfa,0x4d,0x86,0xdd,0xec,0xf9,0xcc,0x7e,0x66,0xc3,0x19,0xba,0x9f,0x7d,0xd7,0xd0,0x7e,0xe7,},{0x9f,0xeb,0xab,0x5a,0xe1,0x61,0xd6,0x92,0xa6,0xa3,0x94,0x50,0x0a,0x28,0x90,0xd2,0x1c,0x7f,0x0e,0xe2,0x6f,0x46,0x40,0xaa,0xba,0x4f,0xe6,0x6b,0x90,0xb8,0x9e,0xdc,0xb8,0x0e,0xa4,0xcd,0xca,0xbb,0x4d,0x2c,0x3a,0x5c,0x41,0x54,0xe8,0xff,0x20,0xd0,0xe2,0x37,0xfe,0xfd,0x00,0xc7,0xba,0x97,0x82,0xe1,0x74,0x8f,0x64,0x88,0xac,0x01,},"\x61\x9f\x57\xde\x2b\x1d\xba\xee\x20\x9a\x82\x5d\x8c\xa9\x7f\x84\xee\x49\xeb\x12\xa0\xb1\x3d\xcd\xd2\xb3\xa4\xee\x45\xe0\x17\x6d\x47\x4c\xf0\x94\x60\xc8\x31\xa8\xae\x1d\x3f\x39\xbe\xeb\xd0\x88\x08\xb3\xed\x17\x61\x21\x3b\xa9\x53\x42\x18\x60\xcc\x07\xe2\xdb\x31\x2e\x68\x0d\xf0\x3e\x60\xa6\x87\x02\x64\xab\xca\x8f\xd5\x13\x01\xe1\xc1\x56\x20\x23\xd8\x02\xcc\xd5\xc7\xd1\x96\xdb\x39\xfb\xb8\x30\x4b\x0e\x59\xe3\x33\x16\x41\x92\xec\xc3\x33\x38\x7e\xef\x69\xc7\xa7\x8a\x5d\x11\x25\x88\x62\xd6\xc2\x81\xb1\x9c\x0b\xd3\x36\xcd\x3e\xdb\x2f\x9f\xaa\xd4\x02\x1a\xc2\xf2\x05\xc1\x68\x14\xb3\x85\x48\x43\x3f\xf9\xed\xdf\xd6\x11\x33\x77\x97\x69\xdc\x69\xaf\xac\x65\x8a\xfc\x1d\x1b\x41\x6d\x39\x0a\xd5\xb4\x5a\x1a\xd5\xcc\x4b\x00\xb4\xb2\x78\xfb\xe4\xb5\x9d\x52\xe6\x1a\x6a\x5f\xd0\x02\x41\xc6\xcb\xc3\x82\xd2\xd6\x21\xa3\xde\xd0\x02\x01\x9b\x33\x05\x60\xe3\x61\xfa\xab\x28\xf4\x1d\x1a\xf9\xc9\xc0\x02\x0f\x2b\xaf\x99\xe8\xd8\xee\x58\xe3\x12\x22\x02\x14\x7c\x0a\xdc\x57\xd6\x70\xc5\xb3\x80\xaf\x59\x4c\xc7\xed\x57\xb8\x7e\xc6\x67\x4a\xb6\x3f\x3a\x98\x49\x75\x3b\x94\x62\xaa\xb5\xde\x88\xc9\x48\xa8\xb1\x09\xaf\x4d\x49\x54\x92\x7a\xac\x58\xbe\xe9\x53\xbe\x0d\x8d\x7d\x71\xaa\x11\xd1\x1f\x1a\x87\xb1\x47\x7b\x91\x70\xbd\x73\x5c\xfc\x24\x49\xf0\x51\xb8\x2b\xc5\x9b\x0b\xee\x76\xa1\x72\xe8\xd3\x26\x70\xf5\x1d\xdd\xdb\x80\x4a\xd1\x10\xa5\x65\xe3\x84\xcd\xb7\x6f\xad\x04\xcf\xf6\x78\x93\x09\x1e\x41\xe6\x9c\xfd\xf7\x0e\xa9\x26\xc2\x63\x69\xa5\xb6\x19\x3b\x19\xab\x0a\x62\x55\x8d\xa5\x5f\xfa\xfe\xb8\x78\x97\x57\x71\x06\x44\xaa\x19\xf4\x74\xbe\x4a\xda\x9d\xc1\x84\x9b\x07\xd5\xe1\x7b\x85\xf9\x21\xe1\x01\x6a\x54\xaa\x60\x95\x77\x72\x53\xa7\x34\x26\xfc\x78\x64\xb9\x95\x5f\x04\x90\x70\x23\xdb\x20\x7f\x85\xdd\x21\xa6\x51\x06\xcf\x0d\x62\x23\x85\x87\x0c\x34\xc2\xda\x9a\x11\xe4\x72\x63\x95\x12\x1e\x4a\x67\x61\xfb\x52\x22\x29\xd9\xe5\xcc\x9d\xab\x35\xae\xb8\x7d\x0d\x79\x69\x3c\x00\x6f\xde\x1c\xfa\xf1\x16\x20\x8b\xba\x96\x20\x59\xcf\xc0\xd2\xd6\x37\x0a\xac\x77\x48\x36\x2e\xe6\xa0\xa3\xca\x7b\xf1\x33\xeb\xcf\xa2\x0f\x1c\x4e\xd8\x30\x7f\x80\x0c\xca\x7e\x6c\x4b\xea\xa3\xfb\x2a\xb0\x86\x12\x53\x64\x28\x5c\x44\xed\x1a\x73\x7a\x67\xcb\xf3\xb7\x63\xc9\xf8\xb1\x42\x7e\x89\xdf\xa9\x6d\x29\x0e\x9d\x48\x42\xfe\x63\x16\xaf\xef\x83\x4c\xd8\xcd\x1f\xdc\x1f\x12\x4c\xa3\xfe\x26\x26\x6d\xa6\x2e\x27\x5c\x0b\xf7\xfc\xc8\xe5\xf9\xbb\xa6\xc0\xd3\x8e\x23\xfa\xfa\xb1\xe0\x49\x48\x17\x94\xc1\x4f\x4a\x8c\x53\xbe\x1c\x96\xf7\x69\xc9\xb1\x3e\xac\xa3\x9a\x0e\x49\x36\x6d\x2c\x9f\xfe\x8f\x20\x63\x60\xa9\xd5\x03\xde\xc5\x98\x62\x11\x12\xe3\x77\x67\x13\xe7\xfc\x06\x49\x43\x3e\x25\x7e\x50\x3a\x54\x60\x59\xa9\x89\xda\x89\x15\x7d\x76\x47\x60\x05\xfd\x90\xe4\xb0\x7a\xaf\x0d\xb0\xbc\x0b\xc0\xb6\x7d\xb8\xdc\xba\xdf\xf3\x93\x74\xe1\xaf\xae\x55\x16\x34\xe0\xe3\x28\x31\xad\x0e\x5f\xa7\xd5\x21\x6f\xa7\xc6\x44\xf7\x3e\x1e\x8e\x07\x23\x83\x94\xa4\x16\xc1\x69\xaa\x9d\x53\x03\xf4\x69\xa5\xd4\x07\x43\x08\x72\x1f\xfd\xde\xff\x65\x59\xe5\xad\xf0\xc2\x77\x3b\x3f\x52\x64\xe7\xaa\xa8\xc2\xdb\x88\x8e\x28\xe8\x15\xc7\x10\x69\xc3\xb4\xce\x6c\x29\x03\x4c\x0a\xb3\xb5\xc1\x9a\x80\xa9\xd8\xc2\xe8\x74\x81\x35\x31\xc4\x22\x75\x2a\xd6\x2b\x3c\x5a\x1a\x3d\x6c\x5a\x5d\xb5\x87\x27\x06\x93\xaa\x75\xd5\xf1\x72\xee\xdd\xf4\xeb\x83\x9b\xd7\x93\xaf\xfb\x1c\x79\x6a\x1d\xf0\xe4\x42\xdd\xf9\x9b\x78\x0a\xa4\x1e\xea\x0f\xe6\xf8\x65\xbb\x53\x9c\xa5\x3a\xa4\x5d\xb9\xa8\x56\xcb\x75\xd0\x15\x1d\x35\xed\xea\x80\xf2\x94\x6d"}, -{{0xbd,0x3d,0xe1,0xa1,0xd1,0x64,0xbd,0x6e,0x9b,0xe0,0xa6,0xd1,0x07,0xf7,0x03,0xa6,0xdd,0x91,0x4c,0x86,0x67,0xcd,0x34,0x1d,0x13,0x9f,0x19,0x57,0x8d,0x93,0x3b,0x16,},{0x9b,0x02,0x49,0x64,0xbd,0xfa,0x85,0x2e,0xb2,0xd4,0x14,0x4f,0x35,0xb7,0xcd,0xc2,0x67,0x81,0x14,0x3c,0x2b,0xd7,0xf6,0x60,0x23,0x3f,0x8b,0x8a,0xa3,0x60,0x71,0xee,},{0x13,0xcc,0x15,0x8f,0xd0,0x61,0x79,0x2f,0xce,0xd1,0x56,0x87,0x95,0x98,0x25,0x1d,0xd0,0x1d,0x57,0x5b,0x40,0x0f,0xe3,0xe3,0x9a,0x70,0x08,0x63,0xaa,0xe8,0xdb,0x1f,0x91,0x97,0xfa,0x50,0x1c,0x0c,0xf9,0x93,0xe4,0x4d,0x6a,0xc5,0x51,0x80,0xb8,0x69,0x83,0x8e,0x8a,0xe2,0x4b,0x21,0x4f,0xa3,0x5e,0x24,0x4b,0x7a,0x6c,0xff,0x6d,0x0d,},"\x17\x69\xfc\xdb\xf5\x12\x47\xed\x4c\x83\xa0\x0b\xbb\xf0\x2f\x44\x28\xda\x6f\xce\xdd\xd0\x16\x1a\x02\xfc\xcd\x15\x00\x97\x06\x65\xe1\xc7\x63\x0a\xd2\x2e\x3d\x97\x49\xc7\x92\xe7\x1a\x26\x0c\xff\xf6\x05\x32\x56\xe0\x2f\x5b\x47\xbb\xa1\x4b\x76\x1a\xe5\x3c\xa7\x21\x9e\xd2\x80\x1d\x2d\x78\x8e\x26\x41\x9f\x36\xc8\x1e\xf9\x2c\x23\x03\x68\x37\x35\xc8\xa1\x75\x6a\xda\xb6\xa4\x87\x92\x31\x53\xe4\x35\x60\x3c\x96\xb2\x39\x55\x3e\xdf\xde\xb0\x93\x29\x8f\x7a\xe7\xdc\x90\xf1\x6a\x7e\x56\x64\xb9\xe4\xc0\x2b\xa7\x31\xa2\x3c\xf2\x23\x4e\x25\x0a\xc9\x74\x26\x33\xa9\x32\xa9\x48\xbb\x83\xdc\x3d\x79\x4d\x05\x9f\xed\xf4\xec\x86\x18\xc7\x43\x3c\x5d\x8f\xe5\xe6\x2c\xf0\x7b\x57\x68\xc4\xd9\xb2\x61\xc7\x15\x36\x80\x4f\xe2\xe7\xca\x70\x98\x87\x65\x21\xd5\x76\x77\x36\x14\x24\xe4\x7f\x1b\x95\x92\x37\xf9\x07\x10\x42\x1f\x5b\xc4\xf1\x09\xf7\xd4\x89\xc7\x55\xe9\x4e\xef\xdf\xb3\xc8\x5b\x90\xec\x01\x31\x81\xa2\x3b\xb9\x53\x5f\xee\xa4\x94\x1d\x0a\x06\xa5\x40\xbd\x6b\x58\x8e\x55\xb7\xf3\x57\x57\x14\x9c\xa3\xe6\x40\x96\x5e\x1a\x0f\xf7\xf3\xc8\x25\x92\x59\x95\x7f\xf5\xda\xb9\xfb\x87\x32\xea\xe7\x19\xb6\x24\xa4\x49\x28\x78\x17\x9b\x5a\x83\xab\xe5\x1c\xaf\x02\x08\x3d\x73\x7c\xeb\x4f\xcf\x04\x2f\x2e\x60\xba\x02\x97\xac\x72\xb8\x7f\xe3\xe1\x4b\xa5\xfb\xc5\x4b\x48\x09\x10\x73\x89\x68\x23\xbf\xa2\x89\xce\x8e\x16\x87\x3b\x48\x81\x2c\x32\xbf\xea\x5f\xf6\xbb\x22\x1d\x1e\xa5\x46\x3d\x32\x5b\xbe\x31\x1e\x7f\xd1\xe7\x83\xde\x65\x0b\x79\x52\xea\xe4\x61\xd6\x3b\xc7\x47\x05\x22\xaf\x5b\x77\x89\xf8\xfc\x2e\xb1\x92\xd2\xcf\x77\x6c\x5c\x24\xb4\x4e\x29\xcd\xb0\xcc\xcb\x1d\x90\x36\x14\x38\xe4\x95\x0f\xf3\x4d\xbc\xb3\xcb\x0e\x81\xcc\x45\xf8\xd0\xff\x57\x09\x49\xf7\x80\x84\xe1\x06\x0f\xf5\x59\x4a\xd5\x16\xf5\x0f\x1c\xb0\xa7\x65\xe1\xc0\xe0\x38\xd5\x94\x3b\x93\x6e\x4a\x8b\x49\x33\x54\xe7\x9a\xbc\x91\x7b\xb9\x27\x12\x66\xee\xba\x77\xa9\x3a\x65\x7f\x9a\xd8\x7b\x29\x1a\xc7\xea\x38\x6f\x5d\x4f\xcb\xc5\x82\xe7\x2d\x5c\x23\xd9\x2b\xa9\x44\xb0\x06\x4c\x20\xe3\xe2\xdc\xf5\x04\xbc\xc7\xc6\x96\x6c\x63\xf2\x08\x08\x43\x60\x0b\xa3\x13\xec\x27\xcb\xa9\x5e\x7e\xf3\x18\x16\x8c\x90\x67\xdc\xe8\x6c\x1e\xf0\xd5\xd9\xeb\x7a\x61\x58\x48\x9d\xf3\x2e\xd5\x8b\x69\x31\x03\x08\x18\xf0\x07\x05\xa0\xdc\x55\xd3\xdb\xf8\x00\x6a\x85\x46\x64\x1b\x18\x65\xd9\x19\xbc\x24\x22\x02\xcb\x3a\xe3\x00\xbf\x86\x53\xe3\xb3\x78\x94\xc3\xdc\x0e\x47\x7b\x9d\x7c\x41\xba\xf8\xd3\x88\x7c\x2e\xb5\x9b\x1e\x4d\x50\xbb\xb6\xf1\x79\x2a\x1c\x93\x67\xc6\x5c\xdb\x45\x0c\x2d\xfa\x21\x45\xe6\x11\xa9\x7a\xd8\x1c\xff\x1f\xd8\x3c\x6c\xf7\x23\x09\x47\xea\xff\x4c\x21\xdc\x1b\xaf\xb7\x1e\xc4\x1e\x5b\xc7\x2b\x37\x45\xec\x3e\x38\xbf\x59\x30\xc1\x26\xd0\x60\xf0\xc5\x0a\x89\x5f\x00\x9a\xa1\x8e\x87\xf2\x17\x4f\x58\xab\x53\x79\xa7\x21\xfd\x83\xaa\xd5\x51\x7f\xd9\x9d\xff\x14\x6e\xde\xea\x61\x52\x12\x35\xe2\xf1\xa1\x6e\xe5\x83\x03\xe0\x91\xbe\x8d\x57\x90\x94\xc1\xd8\xa2\x0b\xc7\x4a\x55\x0d\x77\xc0\x0d\x08\x75\x71\x51\x7a\x63\xcd\x41\x26\x93\x3a\x4f\x09\xa0\x70\xbf\x8e\xa4\xff\xb8\x46\xa9\x78\x0e\x97\x34\x04\x3b\xac\x4c\x0f\xf4\x7b\x1a\xfc\xcf\x52\x93\xac\x14\xbc\x73\xeb\xf6\x71\x29\x65\x7e\x4b\x8a\x8b\x33\xdd\xac\x7b\x0f\x4d\x71\x9d\x2d\xc6\x5d\xf6\xea\x0a\x3f\x24\xcf\x44\xc8\x33\x8e\xd6\x01\xa3\x93\x9c\xa3\x58\xfc\x4b\xe1\x3e\x8e\xde\x02\x75\x39\x71\x2c\xa2\x3e\x3f\xfb\xa7\x06\xe8\xfd\xd6\x2a\x07\x4e\xe0\xad\x74\x20\xf7\x80\x60\xcc\x96\xfb\x2a\xbf\x30\xe9\xea\xa2\x41\xc0\xf8\x7e\xbb\xe3\xec\x73\x51\x75\x96\xf7\xc3\xc5\xa8\x0c"}, -{{0xf6,0xae,0x51,0x6a,0x51,0x29,0x6f,0xc5,0x23,0xce,0xa5,0xf0,0x08,0xcf,0xbd,0x09,0xe7,0x3f,0x78,0xb6,0xfd,0xd3,0xb6,0x94,0x26,0x12,0x80,0x41,0xa5,0x60,0x4c,0xf9,},{0x37,0x6c,0x82,0xba,0x7b,0x87,0xaa,0x77,0x41,0x87,0x27,0xdb,0x33,0xd3,0x26,0xae,0x75,0x8b,0xf7,0xa1,0x35,0xc1,0x04,0x60,0xcd,0x8b,0xf8,0xfe,0xb8,0x3c,0x2b,0x10,},{0x0f,0xe4,0xdd,0x7e,0x1f,0x60,0x8e,0xe8,0x2b,0x7f,0xe8,0x63,0xd1,0xb0,0x3a,0x81,0x84,0x3c,0xe2,0x0c,0x76,0x2c,0xd8,0xbb,0x24,0xef,0xd4,0x6b,0xa0,0x25,0xff,0xf3,0x33,0x1d,0x87,0x57,0x52,0xca,0x72,0x20,0xc5,0x3d,0xd3,0xc7,0x1f,0x2b,0xc1,0xe2,0xc6,0x4a,0x2f,0x9c,0x58,0x86,0x5a,0x2a,0x24,0x48,0x09,0xf4,0x13,0x4e,0x53,0x07,},"\x83\x42\xf2\x5a\xc4\xb1\x7e\xba\xd6\xf7\x9b\x9a\x03\x31\x75\xc7\xf2\x8a\xf0\x9e\x65\x8e\x8c\xb9\x8c\x29\x4f\x15\xc3\xc8\x34\x26\x29\xcb\x2a\x32\x47\xdf\xc8\x75\xb8\x2f\x5b\x38\x0c\x5d\x11\x42\x6a\x2e\xeb\x62\x45\x0b\xd8\x85\x65\x01\x07\xc6\x83\x62\xa3\xb7\x2c\xe8\x23\xf2\xd1\x59\x42\xb7\xdd\xa3\x01\xd2\xfb\x63\x8f\x30\x2a\xa9\x57\x0b\x47\x91\x1d\xad\xd3\xbd\xdb\xfe\xd5\x54\xc1\xc8\x0b\xd7\x18\x07\x8b\x8b\xd2\xc9\xc3\x14\xa5\x16\x6f\x26\x5e\x82\x66\xee\x2d\xb3\x57\x56\x1a\x55\x85\xc4\x14\xa7\x84\x0b\xfa\xe6\x09\xd7\xcd\xdd\xe1\xfa\xde\x85\x56\x0f\x23\xd6\x38\xef\x3d\x52\xe5\x1f\x5c\xf3\x13\xa0\x72\xc5\xea\x0f\x81\x7f\x72\x81\xe2\xcb\xa5\xc5\xc8\xd2\x6c\x92\x85\x92\xb8\x1f\x0f\xf8\xcd\x18\xdb\x5a\x2c\x41\xd8\x80\xd7\x44\x73\x86\x3c\x7b\xbd\x00\x56\xfa\x4d\x4a\xfa\xbd\x17\xa3\xb8\x9d\x97\xd3\xfe\x5d\xc0\x6b\x0f\x61\x2a\x1d\x66\x42\x39\x23\xba\x8d\xfb\xb8\xec\x82\x46\x62\x4d\x83\x78\x4e\xba\x4f\x57\x36\xba\x38\x5e\x44\x22\x96\xc8\xcb\x0f\x1b\x68\xe0\x33\x42\xb2\xc6\xc1\x03\x34\x6f\x6d\xd7\x40\xe2\x6c\x3d\x13\xca\xef\x80\x1d\x1b\x26\x21\xd8\x9f\x06\x93\x91\xa0\x78\xd4\x3a\xe6\xff\x12\xee\xca\x66\xbc\x32\x63\x7b\x45\xf0\xac\x62\x7c\x2d\x7b\xbf\x8a\x49\xd9\x46\x81\x75\xe2\x68\x85\xe0\x28\x21\xd3\xa3\xba\xa2\xc3\xe3\xa6\xbb\x96\xb5\x75\x26\xe2\x24\xcf\x3d\x85\x9f\x66\x95\x73\xcb\xd5\xc8\x73\x93\x74\x61\x56\xf3\xd1\xc7\xa8\x03\x08\xdc\x1f\x24\x05\xbf\x0d\x40\xbe\x1c\xa7\x3b\x76\x7d\xed\xf4\x03\x13\x37\xc0\x81\xbf\xa3\xae\x6e\x54\xf6\x02\x3f\x42\xf0\xcb\xd8\x77\x62\xdb\x55\x91\x3c\x70\x72\x06\x03\x40\x10\xdf\x2a\xa8\x75\x3d\x03\x0f\x03\xc2\x67\xe7\x1a\x9d\xd2\xc6\xc1\x9d\xe3\xe1\x85\x1a\xbf\xac\xbb\xd5\xdd\x5b\xf8\x96\xfa\xb8\xe4\x15\x31\x7b\x49\xf1\xe4\x09\x6e\x3d\xa9\x9a\x5b\x5d\x0a\x3c\x42\xda\xf9\xde\x94\x84\x7c\x1e\x53\xc8\x81\x8a\x5b\x84\x33\x23\xf5\x01\xe3\xa7\xfa\x68\xdf\x89\xa5\xf4\x1f\x2c\x62\xc3\x8d\x17\xf2\x50\xb0\x2a\x67\xfa\xe4\x7d\xaf\x06\x3f\x55\x89\x42\x37\x7e\xf8\xa8\x90\x52\xf1\xa2\x15\xd7\x68\xf7\x91\x3a\x7e\xc1\x4e\x98\xb8\x1e\x4b\x2c\xcf\x26\xba\xca\xd6\xf3\x96\x64\xaf\xc0\xe9\x1a\x3c\xad\x69\x1d\xb2\xbf\x56\xa7\xab\x66\x77\xb4\x95\x96\xdb\x88\x7c\x97\xde\xf4\x35\x08\xa7\xa2\xec\x2a\xb7\x55\xec\x36\x8e\x2e\x53\xd1\xe1\x6b\x60\xff\xf0\x9c\x3b\x52\x26\x3f\x0f\x7c\x1e\xa9\xcc\x35\x37\x31\x97\xe9\x5c\x11\xe6\xd2\x2f\xa9\xd8\x29\x9c\x42\x37\x36\xf5\x81\x4f\x1e\x79\x8d\x22\x75\x18\x60\x0d\xf6\xa7\x90\x35\x8d\xea\xe3\x8d\x56\x39\xe1\x98\x3f\xe0\x18\x43\x6e\xa5\x8b\xa8\x46\x75\x48\xc9\x29\xef\xbb\x16\xdf\xea\x41\x02\x25\x3a\x35\x0f\xb8\x4d\x98\x31\xc4\xc2\xcb\xcb\x76\xe1\x8d\x7f\x3e\x95\x36\x41\xad\xa4\x14\x21\x39\x30\x91\xe6\x3d\xfe\x66\xde\x24\xc9\x92\x32\xc7\xd6\xa2\x83\x7a\x48\x98\x3c\xf5\xb1\x63\x31\xce\x00\x05\x0d\x1c\x71\x39\x58\xff\xce\x5f\x2e\x93\x48\xc5\x2f\x53\x12\x05\x79\xa7\xc9\xa1\x60\x08\xd1\x34\x83\x8e\x59\x61\x29\xc7\x02\xfc\xd2\x11\x48\xbd\xf9\x17\x4d\x48\xe2\xda\x0a\x8a\x66\x35\x9e\xde\xe0\x1c\x50\x09\xef\x67\x42\xfe\xc4\x1c\x1a\xce\xcd\x03\xef\xe1\xcc\xc9\xb1\x30\xd6\xe5\xac\x92\x57\x6a\x85\xcc\xb7\xcf\xc7\xd0\xe4\x23\x31\x06\x17\x29\x31\xa0\x86\x99\x79\x0b\xc4\x1a\xcf\xbb\x73\x1a\xdb\xb2\x6d\x56\xb3\x9a\xaa\x5b\x33\x3b\xc1\xa1\x0e\x2c\x70\x64\xca\x86\x11\x9d\x8c\x71\x71\x48\xf9\x24\x41\xaf\x24\xcd\x2a\xa8\xf5\x7c\x86\xba\x38\xa5\x9a\x10\x0b\x92\x76\xdf\x38\x27\xec\x7f\xb4\xd3\xfa\xf5\x8b\xe3\x1c\x6e\xca\xfd\x69\xcf\x1c\x64\x10\xa4\x9c\xd7\x08\x1f\xf6\xe9\xfc\x39\x7c\x2d\x20"}, -{{0x83,0xf7,0x89,0x90,0x0f,0x04,0x0d,0xc6,0x2f,0x4d,0x18,0x78,0x4c,0xb6,0x4b,0x63,0xc8,0x8e,0x8d,0x18,0x00,0x16,0x96,0xbb,0xeb,0x47,0x07,0xc4,0x69,0xd1,0x1a,0x5b,},{0xed,0xfc,0x2b,0xab,0x7e,0x79,0xf4,0x00,0x37,0xfe,0x4d,0x90,0x41,0xde,0x48,0xda,0x9a,0xee,0x8f,0x97,0x80,0x98,0xd7,0xb0,0xae,0x17,0x92,0x90,0x25,0xe4,0x27,0x3d,},{0xea,0x65,0x82,0xcc,0x23,0xe0,0x46,0x09,0x17,0xf7,0x82,0xd9,0x64,0xe3,0xbb,0x6d,0xcd,0xe0,0xae,0xea,0xc4,0x2c,0xc1,0x49,0x19,0xd3,0x6c,0xe7,0x8a,0xa0,0xaf,0xd9,0x80,0x72,0xf5,0x4c,0x79,0x5f,0xbf,0xd7,0xa4,0x1d,0x99,0xd7,0x06,0x06,0xc2,0x8a,0x5d,0xcf,0x19,0xbe,0x38,0xa0,0xce,0x2d,0x09,0xbb,0x8f,0x84,0x4c,0x31,0xbf,0x00,},"\x6c\x11\x2a\x20\xd3\x06\x57\xab\x5f\x8c\x5c\x04\x47\x8d\x6c\x42\xd1\xc6\xbd\xef\x38\xcd\x4f\xe0\x06\xac\x2a\x57\xe2\x90\xff\x29\x28\x78\x96\xee\xa8\xc3\x0a\x01\x39\xc1\x8f\xc8\xc9\x75\x64\x56\x3e\x86\xc8\xd3\x40\x56\xa6\x71\x9b\xfe\x47\x9d\x9e\x87\xe8\x1b\x19\x45\x23\x31\xbf\xa1\x54\x80\x68\x82\xe5\x03\x9a\x20\xc9\xe9\x54\xb1\xfc\x7c\x01\x5d\xcf\x58\x15\xbd\x7c\xf7\xb6\x35\x7d\xf9\x28\x0b\x9b\xd4\x3f\x89\xff\xc9\x19\x45\x32\x3b\x5a\xcb\x2a\xe0\x02\x54\xd4\x16\x28\x68\xd1\xc8\x3e\xc6\xe0\xfc\xbe\x7a\x8a\xb9\x25\x41\x92\x14\x9c\x6b\xc9\xe5\xfe\x35\x06\x94\x16\x5d\x66\x38\x33\x1e\xb2\x4e\x3b\x13\x90\xc6\x98\xc4\x83\x83\x78\xc0\x1b\x2c\x61\xa3\xeb\xe2\xc0\x60\xb9\x8b\xa6\xee\x02\xb5\x19\xb4\xea\xc1\xe0\xbc\xc0\x9b\x23\x24\xcc\xf5\xb1\xa7\xfe\x8f\xd0\xb1\x54\x5a\x94\x27\x83\x2a\xbb\x25\x74\x4e\xeb\x36\x32\x6b\xe6\x4e\xfe\xd3\xa7\xb0\x7d\x63\x0a\x21\xc3\x08\x1b\x55\x26\x1c\x35\x32\x87\xc6\x6c\x57\x66\x3a\x99\xdb\x46\x6a\x5d\xee\x22\x74\x6b\x81\xc7\x50\xef\x85\xbe\x51\x14\x3e\x22\x1e\xcd\xf1\x14\xfe\xf1\xb3\x08\x2f\xf5\x4f\xd0\x44\xbc\x88\x4b\xfb\x3c\xc5\xc5\x33\x59\x97\x00\x98\x67\xce\x94\x91\xa8\x0f\xe6\x96\x82\x5f\x99\x42\x6d\xef\xab\x6a\x49\xba\xdc\xde\x40\x3f\x58\xe8\x31\x79\x66\x21\x07\x47\xb5\x67\x75\x4d\xe5\x30\x76\xb3\xec\xbf\x65\x34\x6c\xb8\x39\x05\x83\x2e\x16\xd0\x1b\x50\xb9\x3d\x37\xeb\x9b\xfe\x20\x17\x2a\x31\x63\x0d\x25\xf3\x21\x7d\x87\xd9\x34\x65\xfd\x8a\xc5\x54\xcb\xbb\x39\xd9\x82\xea\xd7\x21\x93\x91\x23\x4c\x88\x9f\x0b\x92\xa2\xe0\x41\x3d\x86\x6c\xac\x08\x7d\x62\x8c\xe3\x1c\x61\xc6\x32\x3e\xcb\x8e\x68\x95\x55\xaf\x10\xde\x2b\x65\x6e\x6a\xea\x2c\xde\x93\x2e\x24\x1f\x6d\x1f\x8a\x9e\x33\x16\xcf\x13\xf1\x35\xac\xef\x83\xa0\xc0\xcf\x22\xf9\x5c\xa8\x18\xe6\x1f\x92\x76\x87\x74\xc6\x30\xe0\x92\x5b\xe9\x9d\xbd\x32\xb4\x99\xc0\xfe\x7d\x84\xa4\x2e\x39\x32\x87\xf6\xf5\xce\x3d\x0b\x27\x1f\x17\x00\x45\xa6\xd4\x8e\xab\x31\x6f\xe1\x7b\x18\x58\xb1\xff\xee\xe9\x08\x88\xf3\xa3\x7a\x24\x80\xdf\xd0\x4a\x4a\x86\x29\xf8\x68\xb5\xc0\xa8\x0e\xe1\xf0\x37\x19\xf3\xa4\x7d\x40\x95\xbe\xf1\x0e\x02\x34\xfc\x30\x0e\x2a\xf4\x82\x28\x5d\x78\x93\x79\x68\x31\x9d\xa9\x4b\xeb\x6c\x40\xe0\x78\x57\x7c\x02\x4f\x3a\x5c\xda\x00\x84\xe2\xf8\x55\xa9\x39\x6a\xaa\x9e\xe9\xbf\xaf\x2c\xc7\x71\xfe\x68\xc4\x0b\x62\x9e\x8d\xcf\x11\x5e\xf0\x3e\x75\x7a\x2a\xc9\xee\xf0\x73\xf1\xbd\xf9\xc5\xa4\x41\x00\x31\x55\x8a\x6d\x38\x2b\x5f\x16\x02\x4b\x15\x1b\x1c\x01\xee\x78\x17\x41\x3a\x3c\x4d\xe9\xdd\x64\x78\x78\x5b\x81\x10\x1d\xf5\x52\x24\x30\x05\x87\x80\x20\x7e\x79\x0f\x61\x2d\x78\xe5\x70\x5c\xee\xd4\x6b\x0e\xc0\x75\xe7\xc1\xdc\x07\x3b\x17\xb2\xb4\x3d\x72\x53\x59\x27\xbf\xd2\x71\xe9\x2e\x3c\x93\x63\x8e\x40\xa9\x60\x1d\xc2\xc1\xab\x76\xd9\x1a\x41\x03\xdf\x65\x7d\x91\x1c\x82\x9e\xe8\xa5\xf7\x47\xf7\x64\x2f\x5a\x91\x5a\x5f\x40\xf6\x30\xb4\x30\x39\xc7\xd4\xbd\x2a\xd2\xb3\x21\x29\xd9\x4e\x5b\x2f\x03\xad\x4a\x3d\x45\x57\x7e\xb8\x1f\x36\x9c\x9e\x3e\x2a\x4f\x6a\x8e\x41\xac\xf8\x28\x3b\xe5\x84\x25\xea\x99\x3b\x8e\x98\xee\xa6\x33\x05\x56\x64\x86\x18\xda\xd9\x8f\xa2\x55\x62\x0d\x83\x6d\x3c\x7f\x29\xb9\x07\x89\x58\x49\x28\x61\x67\xc7\x18\x1e\x2c\xaf\x55\xc2\xc1\x84\xa9\xa9\x11\xf8\xe4\x1c\xb0\x42\xe2\xcd\x48\xb0\x54\x4e\xa7\x9f\xe2\xef\x38\x1e\xbc\x5b\x15\xe3\x9a\x9b\x5c\x6d\x99\x8f\xae\xaa\xa7\x77\x3c\xfe\xc0\x84\xc0\xbf\xae\xd1\xbc\xab\x96\x3a\x4e\xf3\xd9\x4d\xbb\x3d\xfe\x72\x4c\x04\x0c\xe4\xd1\xe2\xee\x7f\xc2\xda\x4b\x25\x12\x7c\xe3\xa5\xdf\x69\x3f\xcf\x5a\x6e\xd1"}, -{{0x43,0xbf,0xf3,0xcd,0xd5,0x30,0x7e,0xd7,0xd2,0x5c,0xf9,0x6f,0xdb,0xba,0x64,0xab,0x18,0x11,0xc8,0xbb,0x93,0x4e,0x21,0x87,0xea,0x7f,0xfc,0x01,0x8d,0x85,0xe0,0xf2,},{0x00,0xf1,0xb5,0xd3,0xca,0xc6,0xe5,0x6c,0xa5,0xf8,0x94,0xd4,0xcd,0xbf,0x9b,0xeb,0xd9,0x68,0xd2,0x4d,0x5e,0xff,0xa5,0x05,0x8b,0x0e,0x20,0xbb,0x08,0x98,0xf6,0xf1,},{0xa6,0xb5,0x6b,0x76,0x86,0xdf,0x1d,0xc5,0xf4,0xed,0x54,0x4a,0x4d,0x97,0xe6,0x70,0x36,0x19,0x5a,0x32,0xb2,0x2e,0xcd,0x5d,0x31,0xea,0x17,0x30,0xe6,0xed,0x8f,0x81,0x0d,0x25,0x8b,0x44,0xc0,0x8e,0xa4,0x5f,0x03,0x2b,0x93,0x74,0x41,0xb7,0x2c,0xd0,0xdc,0x37,0x55,0x6f,0xd7,0x87,0x4e,0x9f,0xe6,0x4f,0x15,0x76,0x5c,0x52,0x10,0x03,},"\x64\x6f\x8b\x34\x18\x2d\x5e\x60\x2b\x51\xca\x73\x29\x34\x7c\x0e\x19\x8c\xb7\x47\xe4\xda\x0a\x6b\x80\xf3\xf6\xf9\xf3\x36\xf6\x70\x8d\x85\xcb\x42\x9a\xb2\xd6\xbe\xd3\x5d\x50\x13\x12\x9c\xd1\x00\x14\x2c\xdd\xce\xe8\x63\x51\x79\x02\x1b\x3e\x24\x92\x2b\x81\xae\xf1\x3c\x13\x70\x28\x69\x39\xd6\x3d\x6b\x6a\x41\x95\xed\xa1\xd8\x12\xca\x51\x82\x04\x76\x8f\x87\x34\x8c\x68\x89\x55\x2c\x63\xd1\x37\x2c\xde\x6a\x5e\x9d\xaa\x7f\x84\x45\xec\x8d\x61\x30\xa3\xf5\xae\xf0\xed\xea\xce\x01\x0b\x6c\x7f\x0b\x9d\x24\x16\x2a\x8d\x04\x45\x4b\x81\xd4\x8e\xa9\x09\x7b\xd8\xdf\x09\x34\x59\x71\x9c\xcb\x54\xaa\x10\xf5\x1c\x24\x6a\xa9\x9c\x58\x0b\xea\xf9\xc9\xc5\xbc\x60\xfa\xf0\xae\x5c\xec\x7f\x51\x37\xf6\xc5\xc1\x44\xdf\x45\xd1\x2e\xe9\x95\xad\xcc\xf2\x5a\x9d\xb8\x1b\x85\x58\xbd\xfb\x65\x83\x01\x86\xe7\xb9\xd4\xee\xd9\xf6\xb4\xd7\x32\xb1\xb5\x82\x2d\x03\xeb\x01\x7c\x07\x24\xf4\x8f\x87\xba\xaa\xe1\x04\x5d\x6f\xdb\x12\x5c\x91\x34\x06\x4f\xaf\x18\xdb\xed\x58\xd8\xfb\xac\xea\xcd\x4f\x09\x7d\xf9\xb3\x42\xe5\xc4\xa5\xbc\x85\xb2\x95\x97\xd4\xb6\x40\xf1\x55\x1c\x5b\x62\x4a\xb2\x1b\x48\xe9\x4a\x90\x30\x04\x9b\xe1\xf0\x5a\xa8\x51\xd0\x82\x7e\xaf\x87\x00\xdf\xe1\x47\xfd\xcd\xee\xdb\xc9\x8c\x4f\x15\x77\x4f\x01\x20\xfb\x59\x70\xa2\xf8\xb2\x17\x94\x34\x0b\x62\x83\x79\xa8\x02\xb9\xf7\xc0\x68\xb0\xdf\x63\x19\x3e\x51\x0f\xc7\xb2\xaf\x97\xee\x38\xde\x47\x92\x97\x85\x53\x55\x28\xd3\x50\xd8\x86\x20\x61\x0c\xfd\xb5\x5d\x24\x9e\x38\xfb\x73\xc8\x28\x71\x13\x91\x9c\xe3\x32\x67\xd7\xdb\x92\x4e\x49\x19\xa4\x4e\x6e\x29\xa9\x0d\xbe\x3b\x7b\x0d\x39\x21\x16\x3f\xeb\x5a\xc1\x05\x62\x4e\xd8\x52\xbe\xce\x35\x38\xe9\x91\x93\x30\x0c\x89\x33\x45\x69\x93\x50\xa8\xf9\x9e\x8c\x6a\x41\x09\x5f\xc9\xfc\x08\xda\x07\xf7\x57\x11\xf7\xdf\x03\x44\x06\xde\x14\xed\xd8\xe2\x2a\x63\x3a\x86\xe4\xa5\xa5\xc9\x75\xac\x5d\x34\x89\x1c\xcc\xfc\x85\x43\x77\x1f\xfa\x08\x0e\x0b\x45\xd6\x5a\xb8\x30\xa3\x61\xac\x4c\x42\x62\x94\xd3\x68\x5e\xa8\xc2\x60\x39\xc7\x1c\x90\xfc\x3f\xb5\x12\xbe\x9f\xc9\x48\x07\xd7\x6d\xbd\xaf\x8f\xfa\xa4\xfb\xf9\x84\x9d\x68\xe8\xa5\x7d\x30\xc4\xa0\xb9\x73\x5c\x23\xf0\x8e\xf2\xe2\x84\x45\x84\x67\xe1\x5d\x66\x53\x62\xcb\x64\x6f\xde\x69\x37\xec\xba\x53\x09\x12\x64\x63\x83\x57\xa7\x22\x42\x5b\xc6\x2d\x1e\x30\xec\x5f\x0d\xd8\xfe\xa2\x6b\x2e\xa4\xa8\x49\x00\x35\xde\x43\xf2\x74\x84\x6f\xb0\xcf\x02\x09\xec\x74\x37\xf3\xc3\xd0\xa5\x60\x37\x3d\x03\x4e\x5f\xd7\x9e\x25\xb6\x42\x4d\x9b\x2c\x17\x61\x63\x2b\x35\xa1\x21\x32\x52\x18\x27\x34\x5c\x55\xe4\xe7\x14\x2d\xd6\xfe\x94\xd6\x20\xfe\x51\x5c\x15\x3e\x83\x95\xb5\xd1\x30\xc7\x44\x13\x9b\x6a\x92\xef\xd3\x7f\x22\xba\x13\xfe\x4c\x09\x53\x73\x55\x0e\x2e\x4f\xcb\xa0\x32\x5b\x3e\xa3\xb9\xfe\x25\xcc\x7d\xd9\x2c\xbf\x42\xe1\x5f\x45\x54\xb7\x7a\xc2\x7a\x4a\x34\x63\x82\xff\x61\x00\x45\x15\x08\xd6\x02\xcf\x64\x3f\x60\xb6\xca\x42\x86\x35\x6f\x21\xa3\x11\x0d\x4e\x2c\x8a\x89\x62\xa7\x80\xfc\xff\x43\x9b\x3a\xa8\x04\x99\xdf\x27\x0f\xc3\xe6\xca\xd8\x89\x33\x48\x87\x2f\x0f\x70\x2f\x93\x90\x00\x0c\x7f\x6e\x06\x27\xd2\xbb\xb7\xb7\xce\xf5\xc4\xda\x25\xda\xdf\xea\x80\x32\xe5\x02\x32\x97\xa7\x0a\x65\x8e\x9a\xe7\x3b\xdd\xc3\xb2\x27\xa1\xc1\x17\x41\x13\x3f\x01\x2f\x0f\x48\xfe\x26\x44\x6f\xa6\x7e\x64\x72\x0f\xc8\xdc\x97\xf3\x0d\x0d\xd0\x26\xf6\xdc\x21\x64\xea\xd8\x57\x82\x4a\x0a\x7a\xeb\x20\xf1\x15\xd5\x0d\x1b\x65\xdd\x5d\x82\xe0\x9a\xbe\x83\x4e\x8c\xa8\x89\x57\xe3\x99\x84\x82\x49\x55\xa1\xa1\x3e\x3b\x94\xa0\x01\x57\x18\x6d\xcd\xc2\x89\xe3\x4b\x67\x8c\x91\xcb\x2a\x1a"}, -{{0x06,0x3b,0x90,0x25,0xe3,0x21,0xe9,0x72,0xd6,0x53,0xa0,0x62,0xbe,0x34,0xf9,0x93,0x65,0xaf,0xfd,0xcc,0x98,0xec,0x9f,0xf4,0x3e,0xf4,0x22,0xbe,0x0f,0x80,0x44,0x60,},{0x10,0xd0,0x1a,0x63,0x01,0x2a,0xc0,0x99,0x56,0xba,0x9e,0xd6,0x1d,0xf3,0x5b,0xb7,0xaf,0xe3,0x65,0x8b,0xb3,0x00,0x48,0x52,0xe4,0x71,0x74,0xbd,0x07,0xdd,0x4d,0xe7,},{0x85,0xc8,0x1d,0x6b,0x0d,0x85,0x78,0xfa,0x58,0xe1,0x3a,0xb3,0x91,0x00,0x15,0x28,0xb4,0x6a,0x1d,0x63,0xa0,0x32,0x7c,0x7a,0x4a,0x04,0x08,0x7f,0xc6,0x68,0x75,0x8a,0xa6,0x5c,0x01,0xd5,0xa1,0x50,0xf9,0x35,0x67,0x4e,0xf3,0x07,0x50,0x7e,0x6f,0x4c,0x91,0xe1,0xfc,0x35,0x00,0xb2,0x6f,0x64,0x9b,0xee,0xa8,0x7d,0x27,0x56,0x37,0x04,},"\xa7\xee\xd2\x96\x52\x84\x4e\xe0\x04\x9b\xaf\xb2\xcf\x63\x40\x29\x71\x02\x0d\x7e\x65\xc1\x0b\x91\xac\x57\x26\xee\xa8\x6f\x40\xdb\xc5\x3c\x3f\x0a\xbe\xde\xba\xf6\xcc\x44\x9b\x4f\xea\x48\xc0\x15\xfe\x4d\x90\x7b\x3e\x55\x05\xcf\xf5\x0a\x12\x18\x19\xa2\xe4\xa8\xa2\x96\xd5\x75\x10\x15\xbb\xcd\x7e\xf6\xfb\x7c\x27\x27\xbb\x00\x0b\xe1\x34\x2a\x7d\x14\xbc\xa9\x79\x04\xed\xfe\x8b\x18\xdd\xb6\x39\x33\x41\x83\x27\xa5\xaf\x81\x7e\x95\xba\xd7\x4e\xb7\x90\x20\x36\x15\xd0\x82\xe7\x14\x93\xea\xd4\x7c\xcc\x09\x01\xa2\xca\x9f\x50\x13\x3c\x44\xef\x85\x08\xd5\x1f\xb7\x3c\x61\x6f\x01\x47\x53\x22\x45\x82\x2d\xd1\x02\xb3\x37\xa1\xb2\xaa\xe2\xef\xc7\x2d\xca\x7a\x94\x19\xd5\x98\xa6\x47\x52\x33\xdc\x1a\x4e\xe0\xec\x6d\x05\xda\x12\xa2\xb2\x87\xcb\x77\xff\xaf\xdd\xe2\xd0\xac\xc2\x81\x99\x93\x3e\x66\x21\xee\xc1\x6a\xb4\x24\x51\x70\xcf\x02\xda\x80\xd4\x92\x26\x31\xa2\x32\x72\x91\x51\x65\xad\x88\x72\x27\x50\x03\x5d\x2a\x09\x77\xbc\x79\x1d\x14\xfb\x3d\x8c\xb0\x2b\xc7\x7f\x7c\x71\xbe\x52\x42\x62\x9a\x4c\x9a\x58\x8d\xfd\xde\x95\x78\x49\x4d\x8b\xaa\x4e\x68\xf5\x19\x4b\x80\x02\xc8\xe3\x78\xa0\xe8\x33\xb7\xc1\xa9\x69\x81\xc4\xfb\x05\xe4\x57\xff\x48\x26\x0b\x72\x49\x3c\xbc\xb8\x2a\xe1\x16\x73\xd1\x4c\xee\x85\x28\x8f\x63\x70\xbd\x4b\xca\x92\x51\xa7\xe2\x14\xc3\xeb\x79\xe7\xbb\x6f\xce\xbb\x16\xc9\xe0\x56\xf2\x9b\x62\x72\x74\x3e\xfa\x6f\xe8\xbf\xd2\x55\x97\xce\x86\x89\x8a\xb3\x05\x9e\xb0\x23\x1c\x73\xb5\x30\x59\x03\xfd\x13\x19\xbd\xf4\x9e\x59\x9d\x8b\xbc\xd7\x4a\x8b\x97\x67\x30\x8b\x61\x56\x3c\xcb\xac\xd3\x8f\xc5\x0c\x83\xab\x44\xca\x75\x9d\xc9\xb6\x5b\x2a\x4b\x54\x7c\x50\x97\xf2\x20\xc1\xc8\x8b\x2b\x0a\x48\xf6\x5f\x91\xfe\x78\xb1\x50\x12\x78\xe1\xe3\x04\xde\x58\xb4\xc8\x2a\x5c\x39\x99\x81\x09\x8a\x17\x84\xeb\x90\x42\x50\x18\x59\xf2\xa9\x3f\x31\x7e\x41\x77\x2f\xd5\x2f\x97\x2e\x51\xb0\x7e\xd9\x4d\x31\x4e\x1d\x1a\xf4\xed\x82\x90\x9a\x0b\xef\x67\x1f\x54\xb5\x5d\xb7\xb7\x0d\xa1\xf7\x18\xc8\xe6\x48\xae\xdd\x6d\xa6\x4b\x05\x77\x05\x26\xf1\x2b\xc4\x3f\x68\xb9\x55\x48\xda\xc5\x08\x09\xa6\x87\xdb\x97\xd7\x3f\x06\xf4\x7e\xd0\x88\x31\xb6\x0a\x28\xe9\x82\x92\x06\x32\x05\x8f\x0e\x6c\x90\xc0\x18\x7f\xf4\x45\x64\xf8\x1e\xfd\x8f\xd9\x3e\x32\x7b\xc6\xd8\x0b\x49\x0e\x08\x8b\x9a\x10\x03\x6c\x80\xdc\xda\xd4\x9d\x2b\xe0\x74\xfb\xba\x31\xe0\x6f\x71\x80\xe5\xad\x1c\x88\x23\xd6\x09\x66\xa9\xce\x15\x50\x3c\xe6\x0d\xd4\x0e\x91\xee\xf2\x35\x9d\x83\xd7\x0d\x98\x40\x1d\xde\x7b\xe3\xc6\xb0\x7e\x57\xd4\xe4\x7d\x04\x21\x76\x33\xd8\xe2\x63\xca\x34\x8f\x81\xfb\xe9\xa4\xa6\x2f\x45\xd7\x7c\x84\x3b\x6b\x1a\xd2\x84\x66\xd9\xda\xfb\x1b\x91\x0b\x34\x8e\xd8\x7c\x68\x6c\xab\x29\x2d\x48\x0c\x19\x1d\x18\x7b\x40\x4a\x9b\x1d\x13\x2b\xa4\xe2\x93\xd3\xad\xa9\x91\x72\xac\xc1\x21\xfe\x66\xb8\x45\xb9\x8b\x16\x0c\x58\x23\xf6\x01\xc7\x75\x8f\xb2\x6c\xae\xe8\x57\x01\x59\x5b\x2d\x52\xca\xa2\xf5\x68\x8a\xa2\xbf\x2f\x6c\x4b\xb6\x37\xf8\xe0\x0f\x49\xab\x6c\x26\xbc\x6a\xd8\x9e\x13\x67\xfd\x28\xe4\x91\x7d\x25\x08\x93\xa7\xb3\x2d\x39\x66\x0b\xde\x8d\xb4\x9f\x08\x6f\xb7\x39\xe5\x60\x12\xc3\x6b\xea\x0b\x26\xcf\x6d\x93\x57\x94\x0b\x00\xd5\xa4\x52\x8f\x90\x59\xaa\xf0\x86\x69\xe5\xf4\x6c\x99\x5e\x60\xf8\x87\xb5\xc4\xab\x88\xac\x74\x42\xed\x01\xa1\x4c\x6a\x42\x00\x6b\xaf\x1f\x34\x3f\xef\xe3\xe4\xac\xa8\x43\xa3\x24\xe1\x76\xb2\xfe\x7e\xc7\x88\x3d\x1c\xbd\x06\x8b\xc2\xfc\x96\x2f\xfa\x60\x24\x4f\x65\x4c\x77\xac\x56\x50\x81\x7d\xc0\x84\x46\x55\x45\xa9\x23\x0a\x74\x82\x6b\x0c\x50\xeb\x85\x25\x2a\x88\x6f\xf2\xb1\xaf\xea\xf8"}, -{{0x88,0x3c,0xc1,0x38,0x17,0x57,0xb0,0xfe,0x04,0x55,0xb7,0x7b,0xc9,0xcd,0x0d,0xd4,0x64,0xd2,0xb4,0xbf,0x0c,0x7a,0x3c,0x0c,0x2d,0xc7,0x75,0xfb,0x78,0xaa,0x37,0x32,},{0x83,0xa8,0xb6,0x69,0xcc,0xd0,0x12,0x45,0xce,0x3b,0x81,0x8d,0xcb,0x1b,0x58,0x8f,0x86,0x53,0x58,0x50,0xe6,0xc7,0x10,0xc7,0x92,0x17,0xfe,0x43,0x98,0x24,0xf3,0xfa,},{0xc7,0xcf,0xd5,0xc9,0xfe,0x93,0x0d,0x15,0xa1,0x1e,0xbb,0x34,0xe3,0x43,0x1f,0x48,0x9d,0xa0,0x10,0xeb,0x19,0x3e,0xdb,0xfa,0x6f,0x23,0xd5,0xd1,0x4d,0xd8,0xfe,0xab,0xd7,0x88,0x0d,0x2d,0x5a,0x56,0x00,0xd3,0x85,0x46,0xce,0x3b,0xc6,0x4a,0x86,0x29,0x1a,0x1c,0xe3,0x1f,0x27,0x2f,0xf0,0x20,0xdf,0x8c,0xb6,0xa0,0xfd,0x4d,0x3a,0x0d,},"\xff\xec\x29\x3d\x12\xea\x63\x6c\xa4\xc4\xa0\xa5\xe2\xdb\x15\x34\x26\x39\xc4\x76\x67\x4d\x2e\xbd\xab\x4a\xef\xd4\x04\x6b\x5d\xdb\x56\xae\xb2\x10\xc1\x19\xaf\xdf\xb8\xa8\x91\x28\xa3\x4f\x6d\x77\xf2\x61\xed\xea\x07\x72\xa2\xf8\xdb\x14\x0a\x26\x40\xfd\x8e\xca\xdb\x0b\x47\x92\x16\x9b\x6b\x28\x10\xae\xe2\xc5\xcd\x83\x52\x88\xbf\xf4\x93\xbc\xeb\xee\xea\x28\xa7\xa2\x48\xc3\x61\x16\x54\x0f\xa7\x17\x36\xd6\x6b\x0a\x47\x5b\x5f\xa9\x2c\x0d\x46\x00\x2f\xca\x7a\x1e\x69\xd1\xb5\x9e\x81\xa3\xa6\xd4\xf3\x39\x76\x9d\xae\xb2\x0b\x5f\x9d\x75\xc4\xc2\x8f\x69\x21\x32\xd2\x8d\x3c\x56\x4c\x09\xfe\x3d\xcc\xa0\x35\x9c\x3c\x63\xec\x37\x7a\x33\xf9\xee\x87\x4d\x8a\x78\x9d\x77\xc9\x6a\xc0\x5f\xdf\x3a\xb3\x8b\x2c\x82\x74\xa9\x02\xef\x8b\xb7\xf4\x67\xfc\x7e\x07\x3c\x77\xb1\xdb\x5f\xc8\xef\x96\x6c\x12\x0c\x4d\xae\x3f\xb7\xf5\xb7\x4a\xbb\x99\x01\x66\xc8\x12\xa5\x25\xd1\x23\xf7\x6e\xd5\x12\x12\x50\x80\xa1\x53\x4f\x3d\x8b\xdc\xcc\x54\x1f\xc9\x75\x90\x28\x75\x46\x09\x6f\xc8\x80\xbf\xcf\xdd\x00\xe6\x5c\x0e\xbf\x4a\x09\xfd\x64\x76\xce\x1b\x7c\x8f\xaa\xa5\xa1\xcc\x27\x86\x71\x9a\x30\xd8\x25\x58\x11\x18\x47\x52\xa8\x8b\x08\xac\x9f\x0f\xf1\xd6\x26\x2f\x25\x86\x94\x0a\xfe\x1f\xe4\x5e\x0b\x56\x34\x48\xa5\x5f\x30\x30\xe4\xc3\x9c\x1f\x3f\x86\xa7\x33\x67\x03\x80\xea\xb0\x88\xe3\x93\xde\x09\xd1\xf5\x08\xd2\xfb\xca\xfc\x64\x9a\xea\xe6\xb8\xc3\x0e\x32\x9e\xc3\xfd\x28\x29\xbe\x6d\xb0\xab\x8e\x63\x7e\xa1\x09\x5b\xdc\x3d\xf3\xac\xc2\x3d\x3c\xf7\x05\xa9\x54\x2c\x19\xe5\x90\x92\xec\x41\x3a\x4e\x2b\xd5\xde\xd2\x8c\xd3\x4d\xdb\x3d\x32\x94\x9a\xa4\x87\xf1\xc3\x37\xd6\x97\x9c\xf5\x12\x62\x2d\xbf\xb7\xda\x1c\xbb\x1c\x7e\x5a\xbe\xea\x70\x09\xe2\x94\x3f\xfb\xa2\x25\x2e\x1d\x86\xec\xa9\xd6\xd5\xc2\x46\xcd\x2e\x13\x4a\x3e\x5d\xad\x37\xef\xef\x71\xce\x39\x7a\xda\xfb\xd9\xe7\x2b\x3f\x9a\x86\xff\x0f\x5d\x81\x2c\x46\x22\x5b\xeb\xd0\x70\x3b\xc5\xcc\xe9\xc6\x45\x82\x00\x8f\x7e\x55\x8c\x40\xa3\xb3\x52\x20\x96\xd1\xaa\x2b\x61\xbc\x90\xcd\x88\xc6\x28\x5d\x94\x20\x87\xd8\xa4\x66\x5a\x0e\x64\xd3\x57\x2f\x74\x68\x9b\x4f\x24\xef\x40\x0d\x74\x1b\x57\x14\x06\x13\x47\x14\x44\xde\xcc\x65\x4a\xf0\xff\xb2\xed\xfd\xf9\xfd\xd0\x75\x09\x81\x90\xb3\x4c\xde\x28\xdd\x16\x68\x72\xc6\x08\x65\x67\xa6\x87\x61\xce\xf2\x5d\xa4\x0b\xd4\xc3\xd3\x4f\xdd\xd7\x2e\xe5\x65\xb0\xb9\x37\x67\x8e\xe8\x43\x49\xd1\x16\x0f\x5f\x07\x05\xf8\x95\xd0\xf1\x41\xce\x8f\x51\xa1\xe4\xfd\x2d\xc4\x70\x4b\x52\x7a\x40\x25\xa9\x39\xcb\x2b\xb7\x88\x57\xeb\x18\xd7\x88\x72\xed\xc9\xee\x70\xe6\x0b\x2a\x42\x70\x0a\x19\x8f\x4f\xff\x6c\x31\x92\x51\x68\xbe\x07\x7d\xc2\x3c\x32\x2a\xbb\xca\x97\x36\x1f\xec\xaa\x3f\xcb\x19\x6e\x65\x6c\x12\x8f\x39\x82\xfe\x11\xe5\x51\xa4\xa0\x88\x5d\xa6\x0d\x39\x7d\x0e\x40\xd0\xd8\x97\x26\x2f\x1b\x4b\x67\x2f\x78\xa2\xd2\xad\xfc\xdd\x6e\x15\x25\xc2\x6e\x71\x95\xfb\x9a\xc6\x06\xbb\x1b\xa4\xa9\x89\x08\x03\xb4\xbd\x84\x34\x6a\xe8\xd8\xc7\x19\x6c\x90\xae\xcc\xb2\x96\xa4\xc3\xeb\x4e\xfa\xcb\xfc\xb6\x2e\x38\x3b\x8a\x49\x4a\xc7\x23\x56\x2d\x0d\x8c\x37\x91\x87\xa9\x2e\x3b\xda\x6b\x15\x69\x47\x6a\xed\x21\xae\xd7\xa0\x56\xb4\xa5\x82\x67\x44\x01\x7c\xc0\x06\x0b\x4d\x55\xfa\x87\x72\xb5\xb1\xc1\x5f\x57\x48\xad\x72\x98\x00\x5a\xec\xbc\xbd\x90\xa3\xe5\xc6\x15\x9a\x86\x74\xab\xbb\xa3\x79\x14\x41\x50\x02\xb5\xa6\xef\x5d\xf3\xc6\x49\x42\x6e\xa1\x27\x5a\x01\xd8\x0a\xdf\x49\x0a\xc5\x46\x06\x2d\x93\x99\x9a\x6d\xcc\xac\xb9\x6a\x09\x04\xad\x33\xd9\x05\x76\xdc\x6a\x21\xb6\x72\xe8\xff\xb0\x66\x13\xfb\x3f\x14\xe6\xcb\xdd\xe8\x8c\x24\x37\xc9"}, -{{0x5e,0x40,0xa7,0xaa,0xbb,0xb0,0x83,0x0a,0x9a,0xb0,0xfd,0x79,0x69,0x0e,0xe0,0x43,0x39,0x01,0xc6,0xcb,0x06,0x76,0xab,0xe4,0xbb,0xa0,0x6f,0x5b,0xbe,0x58,0xfa,0xc2,},{0x4d,0x4f,0x28,0xfe,0x09,0xc4,0xaa,0xbf,0xca,0x01,0xef,0x6e,0xe7,0xfd,0x63,0x72,0xfb,0x62,0xdb,0x61,0xaa,0xee,0x82,0x7c,0x43,0xfd,0x1a,0x6d,0x1c,0x25,0x90,0x32,},{0x59,0x76,0x72,0xab,0x8d,0x3a,0x60,0xde,0x54,0x56,0xfc,0xc9,0xc3,0x82,0x53,0xf5,0xf3,0x7b,0x80,0xe7,0x4a,0x00,0x7c,0x9f,0x6d,0xb9,0x09,0xd2,0x7d,0x0e,0xad,0x16,0x27,0x89,0x24,0x49,0x94,0xf3,0x5b,0x80,0xd6,0x1b,0xe1,0x99,0xc4,0x17,0xc7,0xea,0x90,0x1b,0x98,0xcc,0x63,0xfe,0x3c,0x50,0xfc,0x3c,0x63,0x38,0x49,0x0f,0xa2,0x06,},"\xfd\x4e\xc8\xb3\x4f\xc6\xb7\x43\x81\x3f\x59\xe2\xfd\x1f\xef\xa8\x70\xf5\xa9\x70\xe2\xeb\x75\x16\xef\x7c\x30\x6f\x4b\x82\x3f\xfe\xe9\x2d\x60\x1f\x76\x5d\x79\xca\x14\x6a\xba\x8b\xc6\xe7\x98\x44\x55\x99\x35\xcd\xdc\x24\x26\x49\xc0\x59\xec\xf2\xdb\x84\xfd\xc2\x19\x36\x66\x88\xa8\x8f\xc2\x5b\x85\x1c\x36\x61\xe5\x19\x88\xc2\xbf\x73\xbb\x8e\x3d\xc1\x6d\x22\x41\x5a\xb1\xa7\xb3\x55\x79\xda\xac\x73\x25\xe3\x19\x15\x7d\x7d\xa5\xfe\xe8\x7c\x93\xa4\xdf\xcb\xaf\xc9\x2f\xba\x7e\x17\xcc\x68\xe3\x90\x37\x33\xc6\xc8\x01\x57\x2d\x90\x73\x20\xb2\xfe\xb5\x17\x10\xe8\x56\xa1\xf7\x6f\x85\xa7\xee\x1a\x11\xe6\x2d\x2e\x45\xa3\x52\x93\x8d\xd8\xcf\xc2\xbc\xcb\x90\x2d\xea\x44\x4f\xaa\xae\x6d\x84\xc5\xf3\x91\xe1\x0a\xef\x76\x92\x8a\x45\x15\x3d\xb6\xcd\x25\xa2\xbf\x35\x3d\x80\xd9\x7b\xf4\xb3\x80\x86\x05\xe8\x98\x00\xd2\x98\x40\xea\x60\x97\x8d\x9e\xc9\xb2\xc3\x02\x74\x98\x88\xf9\xde\xbc\x84\xdd\x1e\x2a\x79\xaa\x0b\x6b\xa0\x2a\x03\x91\x93\x08\x1b\xdb\xff\x05\x99\xa1\x4d\x91\x8c\x0c\x8d\xea\xc4\xf6\x0b\x6e\x99\x47\x4a\xb5\x30\x11\x74\x10\x34\xfe\x2a\x20\xcf\xf4\xe0\xf0\x23\x42\x4c\x8e\x57\x97\x76\x8a\xd5\x3d\xf6\xd0\x1a\x24\x01\x1f\xa9\x0f\x0b\xb1\xd5\x06\x9c\xdb\x36\xb4\x50\xf4\x33\x11\x0c\x2c\x56\xf3\x4a\x1d\xe4\x26\x09\x14\xcd\x46\x96\xb1\x4a\x09\xc0\x26\x8b\x2a\xe2\xe9\x8e\x6b\x4e\x99\x2b\x91\x25\xf8\x78\xf1\xac\x09\x82\x31\x70\x62\x83\x88\xf0\xf6\xe2\x56\x25\x9c\xa7\x86\xbb\xe1\x44\x88\x4c\xb2\x98\xcc\x04\x3d\x02\xf5\xc3\xdc\x68\x4f\x78\x7f\xaf\x16\xc1\x0f\xdd\x84\x37\xa8\xc3\x09\x74\x63\xbd\xb9\x9b\x78\x03\x0f\x94\x74\xfc\x5c\x99\x51\xdc\x75\x26\x49\x05\x86\xfe\x1c\x2d\xb0\x54\x11\x34\x14\x60\x23\x9d\x5e\x8b\xc5\x30\x65\x90\x2b\x95\xfb\xa2\x82\xc2\x76\x65\xe8\x69\xa1\x9d\xae\x84\x60\x6d\x17\x26\x67\x51\x55\xd3\x80\x39\xb9\xe5\x5d\xb4\xd5\xce\xec\x95\xcd\x6d\x87\xf8\x5e\x99\xdd\xe5\x4a\x04\x76\x1e\x6e\xad\xa6\x61\x9d\xa8\x95\xb6\x54\xfe\x38\x45\xe8\xa6\x0f\x3a\x3b\x32\x48\x3d\x6d\x27\x97\x8a\xf5\x45\x02\xb2\x20\xe4\x78\xdb\x78\xcf\xf7\x7a\x9c\x97\xfb\x79\xfb\x5a\xcf\x56\x28\x9f\x38\x1a\xcb\x10\xde\x64\xc3\xf2\x38\x42\xb1\x2b\xf5\xf1\xb2\x83\xbd\x25\xd4\x8d\x09\x12\x8f\xb5\x5d\xda\xe2\x55\xbe\xb7\xc6\x6a\x74\xcf\x6f\x06\x95\xa4\xf8\x28\xcb\x29\xe4\xaf\xdb\xb3\xb4\x2a\x23\x5d\x4f\xdb\x66\xb9\x63\xac\x8f\x68\xe8\x2b\x00\xa1\xc4\x50\x08\x63\x29\x62\x47\x17\x8c\xfd\xef\x80\x3b\xb7\xb1\x14\xf0\xc0\x32\x76\xf6\x71\x66\x9a\x08\x7d\x92\x28\xa3\x7a\xe7\xb9\x9b\x06\x15\x49\xc1\xcf\x8e\xc1\x72\x46\xea\x1e\xe0\x3d\xbc\x88\xbf\x42\x64\x16\xd5\x86\x57\x2f\xf1\x0a\x31\x45\x60\x6f\x27\x84\xe4\x35\x7b\xe4\xed\xee\xc6\xc3\xa7\xbf\x11\xbb\x5b\x0e\x90\xcf\x50\xed\xaf\x89\x1e\x51\xd2\x63\x57\xbf\xc8\x53\xce\x23\xb2\x99\x15\x5c\x82\xc1\x03\x1d\xfa\x64\x07\x4d\x72\xa0\x9d\x29\x72\x0e\xad\x6e\xbb\xbf\x75\xd5\x73\x8e\x32\xcd\xa6\xb6\x46\x6a\x8d\xef\x6b\x50\xa1\xed\x9b\x86\x5a\x9a\x88\xa0\x80\x18\xac\xb5\x01\xa4\xde\x9d\xb5\x4d\x05\x22\xce\x9c\xec\x7a\x06\xbd\x9a\x5f\x86\xb0\xb4\x6c\x07\xbf\x3e\x7f\x5a\x42\x6f\xf6\xb4\xbb\xe1\xe0\x03\x13\xa5\xac\x27\x19\xa9\x59\xed\x44\xee\x0a\x44\xbd\x97\xda\x6d\xb2\xcb\x97\x1b\xd6\x83\x34\x90\x89\x49\xed\x85\x0f\xbf\x73\xd0\xe0\x20\x49\xda\x18\x1c\xce\x9c\x2d\x9c\xa1\xb6\x24\xc8\xd8\x7c\xf9\x04\xeb\x82\x1d\xc7\x95\x92\x95\xda\x57\x77\x92\x06\x60\xb4\x3c\xcc\x25\xcd\x38\x9f\x15\x7f\x67\xfa\x03\x90\xfe\xac\x97\xa7\x52\xc1\xac\x20\x4c\x21\xdf\x56\xbb\x0f\x4f\xc0\x16\x41\xb4\x80\xaf\x2b\x89\xb5\xd1\x6d\x4a\x0b\xcb\x0a\x50\xb8\x2b\x0e\x04\x84"}, -{{0x3a,0x34,0x13,0x6a,0x97,0x34,0x80,0xd9,0x70,0x06,0xdc,0x27,0x93,0x58,0xe6,0x60,0x62,0x93,0xd8,0xcb,0xc1,0xa4,0x4e,0xe5,0x52,0x33,0xaf,0x2b,0x52,0x64,0xb9,0x0c,},{0xe5,0xef,0xfd,0x92,0x1b,0xe8,0xee,0xc5,0x30,0x75,0x2f,0xcc,0xc5,0x76,0xef,0x0d,0x9b,0xcd,0xe4,0xb3,0x2c,0xc6,0x49,0xd3,0xf7,0x95,0x47,0x17,0x56,0x28,0x60,0xcc,},{0x42,0x5f,0x27,0x22,0x12,0x83,0x57,0x55,0xad,0xcc,0x05,0x22,0xc6,0xf6,0xe0,0x5f,0x68,0x00,0x8a,0x3b,0xe9,0xba,0x59,0x74,0xe4,0x20,0xc4,0xc5,0xcb,0x56,0xe6,0xc5,0x5d,0xec,0x0d,0xe3,0x47,0xb1,0x6c,0xae,0xf8,0xbd,0x33,0xb7,0x1b,0x44,0xc8,0x35,0x7d,0x05,0xb6,0x32,0x1d,0x7b,0xf4,0x93,0xd2,0x58,0x61,0xdb,0x48,0x7b,0xd6,0x03,},"\x98\x1c\x8e\x10\x90\xe3\x96\x95\x1b\x07\x2e\xf8\x49\x70\x62\x02\x08\x97\xbf\x7d\xd7\xad\x50\x5b\x4d\x6d\xc1\x1b\x3e\x1d\xbc\xb0\xda\x24\x99\x84\xa1\x40\xe1\x64\xfc\x2e\x02\xb3\x1d\xa3\x98\x46\x55\x4a\xa8\x90\x5b\xc8\xb3\xdf\x8a\x76\xbf\x60\xeb\x5f\xfc\xf2\x2c\x97\xb6\x71\x22\x7d\x24\x90\x71\xda\x8f\xf6\xbb\xa7\x5b\x2f\x76\x68\xce\xc1\x9a\x89\xe6\x47\x5a\x12\x46\x3d\xab\xf3\x68\xb3\xca\x24\x45\xbb\x30\x35\xcc\x00\xfa\xe8\x5b\x70\x72\xfb\xcf\x59\x54\x01\x75\x5b\x80\x51\xe6\x09\x70\x65\xae\x42\x9f\x18\xee\xb1\x3f\xfa\x6d\xde\x59\xdf\x6f\x3c\x20\x6b\xfd\x9c\xe1\xf8\xa8\x00\xc8\x59\x0a\x40\x21\xd1\x60\xf6\x6d\x67\x40\xa3\x69\xae\x83\x56\x17\x53\x8b\x58\x90\x23\x1f\x13\xc5\x66\x7b\xaf\x51\x0a\x60\x6b\xda\xa8\x4b\x8d\x10\xee\x60\x15\xe1\x2a\x4c\x1e\xc0\xbd\x04\x21\xa2\x94\xc5\x1c\xf6\x3b\x5d\x1f\x05\x8e\x11\x53\xdc\x42\x5d\x10\xce\xe8\xb1\xb0\x84\xd6\xc2\x93\x47\xe9\x6f\x0f\x31\xb8\x39\x60\x7d\x07\x8b\x79\xa9\x0c\xa3\xd1\xf0\x63\x80\x7a\x46\x3b\x7c\x32\xf4\x5a\x53\x44\x98\xd7\x1d\x47\xed\xc3\xb1\x7a\x4d\xff\x27\xfe\xdc\xff\xab\x30\x1f\x34\xf1\xa6\x4c\x02\x78\xa5\x35\x89\x34\x9a\x23\x3a\xf3\x0b\x1e\xc1\xae\x41\x0f\x7b\x16\x30\xc7\x14\x5c\xa4\x2c\x96\x63\xf5\x12\xe8\xa5\x78\x26\x7d\xc9\x5e\x83\x28\x9c\x17\x03\x2e\x09\x78\x2e\x2f\xe8\xe1\x6e\xfb\x87\xf0\x3c\xa0\x3b\x11\x95\x61\x4f\x89\x96\x1c\xa3\x93\x9d\x3b\xdf\x73\x72\x21\xa2\x2d\x7a\x18\xec\x30\xfc\x12\x6d\x0c\xa6\x63\xe8\x8d\x60\x60\xd0\x4c\x6a\x44\xe5\x61\x6e\x55\x6e\x07\xd6\xd4\xa8\x47\xf1\x71\x1c\xf4\x37\x17\x81\x0c\x70\xaa\x4b\xe7\x30\x27\x8b\x3b\xd6\x55\x5c\x95\x4d\xc6\xed\xb0\x9d\xb0\x8f\x0e\x21\x18\x03\x59\x62\x80\xf3\xc7\x86\x8d\x23\x42\xcc\x23\x08\xea\xae\x4d\xa1\x91\x35\x14\x66\x4b\x1d\xb9\x62\xe9\x9c\x8a\x8c\xff\xe5\x79\x31\xf5\xdf\xcd\xdb\xc1\xcb\xb3\x6c\xe1\xc8\x42\xe2\xdd\xde\xad\xfd\x7e\x7d\x0a\x50\x48\xcd\xcb\x96\x1b\x14\xf3\x5f\x43\x5e\x73\xa6\x83\xc8\xce\x25\xc8\x16\x81\x25\x66\xfd\xf8\x17\xe0\xd3\x36\xae\x0b\xd2\x47\x32\x85\x12\xb2\xa8\x56\x76\x32\xbf\x20\x55\x3d\x9b\xd6\xfe\x15\x7f\x22\x0f\xfb\x0b\x46\xeb\xae\x89\xa7\x04\x59\x72\x8a\x57\xee\xd1\x79\x62\x56\xf1\xbd\x50\xb6\xd5\x47\xea\x3e\x25\xfa\x59\x13\xd3\x89\xa2\x25\x83\xe9\x15\xeb\x49\xde\x35\xa9\x7b\x5a\xcc\x52\x1d\xb0\xd0\x05\xc2\x95\x75\xe1\x66\x11\xa7\x55\xf2\x1a\x3a\x5a\x82\xa2\x0a\xa9\x00\xa7\x07\xce\x36\x82\x54\x92\xc3\xca\x15\x39\x5f\x17\x00\xb4\xaf\xab\x94\xda\xa7\xa0\x2f\x14\x53\xb1\xf9\xa6\xbd\x36\xef\xb2\x04\xd9\x28\xee\x1f\x4d\xcc\x86\x0f\x3a\x85\x9b\xad\xc0\x06\xfb\x30\x5f\xa1\x23\xd4\xc7\x9b\x23\xa2\x0e\x32\x29\x5d\x04\x0a\x7f\x8f\x6c\xac\xa2\x5d\x83\xf7\x1c\x62\xe3\xaf\x78\x36\xef\x76\xb9\x3a\x83\xd3\xc3\xb4\x93\xaf\x14\x17\x53\xda\x19\xe4\xcd\xcb\xa5\x66\x17\x27\x10\x34\xb4\xf4\xf3\x94\xc7\xc6\xb7\xd7\x96\x66\xf3\xaf\xb6\x92\x24\x4f\x06\x1c\x69\xa8\x88\x1d\x1b\x52\xb8\x84\x9f\xb5\x34\x99\x0a\xc2\x39\x19\x09\x47\x1e\xbb\xb7\x28\xe2\x9c\xd2\x0f\x42\x23\x54\xc4\x30\x97\x17\xeb\xff\x3e\xfd\x18\x33\x37\x08\x06\xd5\xbf\xb5\x3c\xa2\xda\x31\x6d\xac\xb5\x0a\xb7\xfb\x73\x96\x73\x23\x5a\x1d\xc5\x3a\xa8\x89\x30\x72\xd5\xb9\x1c\x9f\x6d\xb8\x3f\xc4\xea\x41\xd1\xee\xf4\x9a\xc2\x8a\xfc\x1c\xed\x8f\x36\x18\x90\xab\x9f\x77\x9d\x19\x30\x82\x83\x1c\xb8\xc4\x2f\xb2\x79\x2b\xee\x3b\x26\x29\x6b\x62\x95\xeb\x78\xa8\xd8\x53\x11\x76\x61\x62\x4e\x11\xf7\xf5\x7a\xfd\x60\x85\xa7\xb9\x12\x36\x79\xfd\xac\xa1\xcf\x2a\x78\xd3\x80\xbc\x4c\x36\x0a\xa7\xc3\xcb\xfd\xe0\xc0\x09\x1f\xe5\x3e\x22\x19\xc0\x70\xf2\xf0\x2f\x14\x83"}, -{{0xcf,0x33,0xe7,0x97,0x4d,0x8f,0x0b,0xf8,0x99,0xac,0x5b,0x83,0x4c,0x7c,0xf9,0x64,0x79,0xce,0x1c,0xfd,0x45,0x3a,0xf0,0x7f,0x97,0x05,0x27,0xf3,0x6a,0xa8,0x5c,0x1f,},{0x57,0x8f,0x60,0x33,0x8b,0x1f,0x04,0x1a,0x97,0xd3,0x19,0xfe,0xcf,0xa3,0x0c,0xfa,0xed,0x36,0x93,0x03,0xcc,0x00,0xb3,0xec,0x8c,0x5c,0x99,0x04,0x11,0x58,0xe2,0x0c,},{0x97,0xa5,0xb6,0xd2,0x68,0xa5,0xb4,0x17,0x5f,0xb0,0x6f,0x1f,0x37,0xd0,0xa6,0x33,0x51,0x92,0x96,0xed,0xc3,0x00,0x11,0xc9,0x54,0xd8,0xf0,0xb9,0xbb,0xe2,0x64,0x18,0x00,0x39,0x6c,0x4b,0x35,0xd4,0xb0,0xd7,0xd2,0xa1,0xd1,0x7c,0xbb,0xeb,0xdc,0x55,0xa8,0x09,0x46,0x2d,0x6c,0xc1,0x9a,0x6f,0xad,0xbe,0x1b,0xd1,0xba,0xe8,0x8a,0x01,},"\xe8\x13\x14\x4b\xd1\x16\xf6\xac\x36\x38\x92\x17\xb5\x17\x1a\x90\x2f\x06\xb7\xdd\x7b\x14\x4d\xf4\xf9\x09\x15\x53\xc7\xc7\x83\x57\x53\xa2\x96\xcb\xb0\xd7\xfa\xb9\x9c\xef\x77\xb6\x1f\x34\xa0\x4c\x8a\xf0\x4e\x7d\x5d\x1f\x96\x13\x02\xde\x89\xe2\x00\x5f\x29\x9f\x5a\x4a\xa1\x79\x24\x61\x7d\x00\x66\x93\x93\x77\x45\x53\x9c\x30\x48\xee\x36\xb8\xc2\x3a\xfe\xc0\xaf\x9f\xea\xa0\x06\x6c\x8a\xf8\xe0\xa7\xf0\x90\x93\x49\x82\x10\xf6\xd8\xdc\xc0\xaa\xad\xa5\x66\x87\x86\x91\x0f\xf7\xc5\xb3\x48\xd4\xcc\xd6\xee\xef\xfa\x3a\xcd\x18\x16\xd9\x01\x1a\x4c\x40\x25\xf6\xc2\xfd\x2c\x02\x0a\x10\x59\x36\x27\x52\x0d\x4d\xd9\x9e\x07\xc6\x2d\x2d\xbe\xbe\x84\x13\x9e\x1c\x7d\x86\x7c\x09\x35\x74\xfa\x60\x1e\x4e\xe3\x07\xac\x92\x6e\x5d\x36\xb6\x2d\x7e\xd8\x4a\x26\x15\x88\xb7\xe2\x88\x3c\x79\x26\x61\x2b\x4c\xc6\x7e\x2b\xb7\x25\x44\xa1\x0d\x6b\x49\x29\xc8\x8e\xf6\xc4\x7c\x26\x25\xd2\xf6\x81\x6b\xd7\x3c\x3b\xae\x89\xd2\xe0\xc8\x61\x71\xac\x4b\xd0\x80\xae\x55\x5d\x62\x74\x0d\x1d\x2a\x76\x1c\xed\x86\xdf\xc3\x28\xec\xc2\x7e\xe3\xdb\x6d\x40\x41\x08\xef\x4e\x0b\x64\x90\x62\x53\xb4\xc0\xa7\x71\xad\xef\xed\xc8\xa2\xc5\xb5\x3c\x42\x5a\x70\xcd\x6f\x63\x95\x6f\x7a\x0a\x61\x9f\xdf\xbf\xd0\x0a\xa0\x78\x41\x8e\xb4\x65\x2f\x8b\xc6\xf3\xc2\x53\xbe\xec\x98\x38\xb7\x7f\x9c\xbe\x2e\xf2\xb8\x05\x5c\x57\x73\x53\x9e\x35\x6b\xd8\x19\x26\x06\xec\x10\x1e\x3f\x60\x58\xb1\xdd\x08\xa6\x8f\xdb\xc5\x49\xdf\xe6\xb7\x72\x5d\xc2\x54\x9e\x8e\x3f\x90\xdc\x5b\xe3\xcc\xfb\x0a\x38\xba\xf9\x37\x7c\xb3\xf6\x50\x1d\x2e\x15\xcc\xb3\x55\x6a\x89\x5c\xcb\x23\xf0\xb6\xdf\x9f\xe5\x93\x11\xcf\xf5\x53\x74\xc3\xfb\x3a\x32\x98\x1c\xa2\x6a\xb4\x26\xf3\x66\x3d\x04\xe3\x16\x7e\x53\xa5\x37\xb7\x58\x9a\x9f\xb7\x36\x79\x09\x0a\x20\x55\x32\xc1\x32\x90\x66\x34\x33\x4a\x7e\x87\x49\x79\x3f\x8c\x59\x3f\x3f\xd6\x27\x8c\xe0\x05\x03\x83\x48\x7f\x3b\x24\x50\x67\xaf\x94\x88\x1a\xa1\xae\x96\x8d\x0c\xae\xba\x5f\xa5\xc7\xbe\x5f\x4e\x4b\x72\x57\x51\x86\x95\xd8\x9b\xcc\xde\xc5\x07\xb9\x67\xb4\xfd\x64\xb6\x89\x3b\x3e\xe7\x80\x3c\x1d\x36\xea\x8a\x02\xfc\x42\x6f\x9a\xfc\x8e\x9f\x24\x32\x15\x27\xec\x98\x44\xbc\x3c\x54\xa0\xf7\x66\x7e\x03\x43\x00\xbb\xb4\xfb\x02\x0f\x6d\x5b\xb9\x54\xe7\xb5\xa3\xa7\x06\xa4\x93\x9d\xb3\x3c\x15\x48\x92\x64\x34\x76\xa2\x91\xd4\x7d\xc1\xe6\xf7\x2c\xe9\x1d\x13\x6f\x11\xdb\x26\xb9\xc9\xba\x73\x6e\x40\xdf\x0a\x15\xc1\xa8\x91\x49\x99\x6b\x25\x1d\xd9\x88\xb3\x90\x04\xe6\xef\x41\xbd\xc0\x61\xdb\x58\x0b\x7b\x74\xde\x2a\x65\x18\x10\xbd\x89\x17\x53\xb9\x73\x86\xd7\xf8\xcb\xdb\xb6\xec\x38\x6f\xa2\xc3\x42\xf5\xef\x20\xe6\xe3\xa8\xbb\x4d\x51\x49\xa7\xd4\xde\x12\x24\xdf\xf1\xd1\x72\xc8\x75\x70\xf7\x76\xd5\xef\x45\x95\x9b\xe0\x93\x8a\xd7\x9f\x5d\x33\x95\xcb\x27\x21\x62\x71\x22\x88\x7b\xd7\xa8\x98\x3b\x64\x77\x97\xbd\x41\xd8\x82\x64\x1c\x81\x43\x1c\xe8\xd9\xb3\x06\x7a\xde\xc4\xcd\xe9\x26\xc5\x13\x13\xf0\xcf\x84\xc5\x29\x25\x62\xdd\x49\x08\x64\x2d\xd2\x45\x28\x84\x84\xc5\x56\x8a\x78\x7d\x0c\xed\x36\xa3\x52\xf0\x32\xda\x4f\x7e\x4d\xe0\x6b\x11\x47\x3f\x65\x0e\xec\x65\xdd\xa9\x96\x39\xaf\x2d\x42\xd8\x4e\xe2\x30\xf4\xf8\x36\x23\xd9\xc9\xaa\xa3\xb1\x6b\xda\x10\xdd\xaa\xd2\x5a\xf5\xc1\xc1\x0f\x81\xc8\xc5\x1c\x81\x1a\x3a\xa3\xe3\xdb\x58\xa7\x02\x5e\x43\x80\xe2\x85\xda\x47\x4a\x61\xba\x59\x17\x3f\xf0\x42\xa4\x6a\x79\xab\x18\x4b\x07\x01\x08\x41\x6f\x9d\x61\x58\xcf\x96\xd0\xe6\xdb\x44\x76\x14\xa0\xd9\x08\x9e\xbb\x6a\xee\x4e\xf1\x07\xbe\x45\x93\xd7\x1e\x79\xf6\x79\x86\x68\xa7\x40\xae\x4b\xac\x5a\xc7\x59\x4e\xcb\xd5\xdc\x82\xe7\xd0\xf9\xcb"}, -{{0x51,0xb1,0xad,0x0f,0xfc,0x21,0x49,0x7a,0x33,0xdb,0xdb,0x85,0xea,0x2b,0xc1,0xce,0x3d,0x0c,0x2d,0x95,0xd9,0x46,0x1a,0x39,0x09,0x73,0xfe,0xe3,0x77,0xfc,0x75,0xf4,},{0xba,0xd0,0x41,0x25,0x75,0xd3,0x80,0x13,0x01,0xed,0xee,0x6b,0xc0,0xf2,0x76,0xe7,0x87,0x35,0x7b,0x41,0x22,0xf5,0x2d,0xe9,0x81,0x88,0x58,0x51,0x88,0x42,0x49,0xcb,},{0xcf,0xb6,0x5b,0x6f,0xf0,0x37,0x7c,0xef,0x51,0x1f,0xd9,0x7b,0x90,0xc3,0xec,0xb8,0x08,0x33,0xf1,0x42,0xa7,0xcf,0x50,0x22,0xce,0xd3,0x0b,0x3f,0xb7,0x86,0x20,0x86,0xd0,0x13,0x39,0xb8,0x86,0x6a,0x23,0x8c,0xb0,0x70,0x27,0x6e,0x19,0x44,0xb5,0xfe,0x32,0xcc,0x40,0x99,0x47,0xcb,0x91,0xde,0xb1,0x43,0x2c,0x29,0x1b,0x60,0xfb,0x0d,},"\x78\x82\xe8\x6e\xf3\x40\x2f\x6d\xbc\x65\xcc\xe8\x31\x5b\x39\x76\x5f\xaa\x4b\x1f\xc8\x76\xfa\xd5\xf8\x22\x0c\xb2\x2a\x7d\xf2\xe3\x58\x0e\xab\x3a\x7e\x8f\xa7\xfb\xb6\xb5\x94\x82\xca\x0e\x36\x4a\x13\x13\x96\xdf\x79\x2a\x32\x41\xa0\x60\xe4\x41\x43\xb6\x76\x74\x93\xc6\xbf\x75\xf1\x87\xa9\x64\x3a\xa1\x1e\x11\xeb\xa7\xb0\xa8\x0f\x0a\x68\xb9\xf1\xb7\x9f\x75\xb6\x6c\xc5\x9d\x9d\xa7\x79\x55\xfd\x7e\x87\x99\xf9\x9d\x6e\xb0\x8f\x90\xd3\x18\xf4\xef\xcb\xfe\x71\x15\x9b\x10\xa8\x3a\xa5\xfd\x69\xbb\x75\x33\x6f\x5d\xf2\x96\xea\x06\x0a\x42\x6c\x95\x45\xdf\x94\x0b\xc1\x45\x4e\xfc\x1f\x9d\xc9\x65\xf1\xf2\x2d\x94\x73\x03\xfb\x8e\xc1\x24\x07\xff\xf6\xb1\xdb\xe4\x7e\x34\x21\xc3\x17\x64\xfd\x90\xc8\x3a\xc7\x11\xd1\x99\x26\xe2\x29\xa0\x64\xc6\x1f\xe3\x67\x6a\xf3\x00\xa1\x71\x6f\xab\xe4\xe3\x84\x22\x64\xad\xb3\x2e\x0d\x9c\x9f\x5d\x4a\x65\xd0\xd7\xb5\xc3\x77\x0d\x73\x7e\xe1\x3c\xbe\xd2\x1d\x7a\x1d\xa3\x6a\xaf\x7e\xc0\xf3\x6f\xcc\x47\x6f\x65\x96\x81\xe5\x16\x0a\x5a\x1f\x49\xe7\x59\xb9\xd0\xfc\xd4\xfd\xb8\x54\xec\xcd\x99\x17\x2a\x47\xd2\xc4\xef\xbe\x0b\x37\x57\x63\x1d\xf1\xba\xe1\x75\xf0\xfa\x74\xdd\x04\x8b\xb6\xa5\xfe\xd8\x43\x02\x84\x34\x9d\xa3\xd6\x7d\xf2\xa6\xf7\xe8\x26\x9b\xc7\x9f\xb2\xc5\xd5\xed\x60\x84\xe9\x07\x6f\x45\x5a\xb6\x38\x91\x90\x46\x36\x9a\x44\x6d\x57\xfc\xad\xa7\x01\x1c\xc7\x71\xbf\x6d\x87\x4a\x8e\x5d\x23\xc6\x87\x74\x7d\xe4\x1d\xd0\x4b\xff\xc7\x17\xd6\x12\x81\x83\x84\x6e\xb5\x94\xb3\xcb\x1c\x1a\x8a\xa0\x4f\x0d\x7e\xba\x53\xaf\x39\xcb\x1d\x4e\x6f\xec\xf3\x11\x3b\xd8\x42\x24\x16\xf4\xc4\x40\x37\xae\xee\x9e\x0f\xdc\x51\x7c\x48\x73\x1f\xd0\x4e\xe9\xc9\x9f\x5d\xbc\xa3\xd5\x74\x50\x9d\x7b\xaf\x32\x88\xf2\xc2\x30\xa0\x2d\x17\x03\xbd\xb1\x61\x1c\xde\x2a\x76\x6d\xac\x19\x3d\xe1\x67\x44\x3d\x20\x09\x0d\xc3\x4d\x29\x27\x7a\x86\xb1\xe9\x98\xb2\x45\x64\x51\x17\xe5\x11\x1f\x12\xf1\x46\x06\xc5\x54\x46\xdd\x91\x2d\x34\x75\xc1\x98\x76\xe1\x9a\xc5\x36\xd3\x17\x87\x6c\x4b\x0a\x2e\x0f\x98\x61\x61\x29\xa5\x68\x37\x32\xa4\x23\x17\xc5\xe8\x09\xdc\xa9\x56\xb2\xab\xb4\x84\xad\xa8\x10\xa1\x5c\x81\xcc\x85\x62\xb5\x55\xda\x94\x58\xf9\xb4\x43\x38\x49\x02\x30\xc7\x40\x4f\x3d\x48\x61\x1f\x84\x12\x7e\x73\xe2\x77\xd8\x8c\x62\x21\x2d\x2a\x3a\x35\x1f\xc6\x76\x65\xb1\x8d\x77\x21\x62\x30\x63\x2c\xbc\x78\x12\x88\xe1\x5c\xeb\xf3\xec\x33\xa7\x20\x5e\xb2\x2b\x9a\xbe\x4c\xdb\xc7\xdd\xba\xaa\x53\x64\x08\x75\xeb\x76\x3f\x52\x2c\x36\xcf\xff\x2e\xb2\x3e\xe5\x86\xd7\x75\x28\x62\x59\xfa\x94\xa4\x4f\xa7\xec\x01\x50\x96\xa2\xa4\x46\xb6\x73\x2b\x80\x02\x42\x67\xfe\x3d\x5d\x39\xd1\xc4\x85\x09\xb3\xec\xaa\x2e\x24\xe5\x4d\xe4\xd6\x1c\x09\x7b\x70\xf7\x53\xb5\xaf\x9a\x6d\xb6\xf9\x75\xd2\x5f\x4f\x83\xd0\x6f\x87\x9e\x17\xef\x7c\x50\x9a\x54\x14\x44\xba\x3e\xb6\x86\x78\x38\x09\x0e\x22\xda\xfd\xbb\x0e\xb3\xb0\x56\x5b\xe1\x57\x9c\xee\xcd\xed\x20\xf5\x44\x25\x6c\x7c\x4e\xde\x3b\x62\x84\x3c\x65\xb0\x46\x6b\xe6\xb7\xe2\x73\x05\xb9\x63\xca\x91\x4e\x3b\x7d\x21\x73\x61\x18\xed\xb3\xd6\x58\xd9\xd7\x6f\x50\x9d\xb3\xb9\xca\x2e\xae\x28\x96\x4a\x4b\x3b\x3c\x38\x4a\x81\xa4\x89\x0e\xe9\x6f\xbe\x93\x4a\x6f\x2a\xec\x8e\xeb\x6c\xfe\x59\xac\x9d\x3b\xbc\x16\x46\xba\x32\xa1\x14\x2f\xee\x59\xfe\xd6\xfb\x7b\xbc\x04\x98\xcc\x27\xde\xad\x41\x3b\x7b\x43\x51\xec\x20\x63\x43\xc0\xab\x89\xfc\xf8\x72\x43\xb1\xab\x45\x0e\x58\xff\x11\xa1\x14\x0a\x38\x3f\x19\x6a\xa3\x97\x6c\xe1\x7c\xf3\x45\x30\xf0\x49\xa1\xde\x90\xe3\x17\x53\xcd\x85\xe7\xf1\xfd\x5c\xf2\x04\x26\xc9\x37\x9f\xeb\x8c\x31\xb4\xbf\xec\x35\xea\x5a\x78\x95\x3d\x75\xc5\xcf"}, -{{0xfa,0x2f,0x46,0x1c,0xe8,0xc7,0x12,0x62,0x18,0xc4,0x7c,0x91,0x56,0x9e,0x87,0x99,0x79,0x7c,0x83,0x36,0x8f,0xc8,0x42,0xb6,0xe1,0xc2,0x2f,0xd5,0x2a,0xec,0x70,0xbf,},{0x6b,0x89,0xb2,0x3f,0x1e,0x11,0xa7,0x5a,0x53,0xf9,0x92,0xf6,0xca,0x57,0x75,0x00,0x8c,0x6e,0x9e,0x7e,0x49,0xc0,0xd8,0x51,0x0b,0x0e,0x83,0x69,0xb7,0xa2,0x0b,0xcc,},{0x84,0xf7,0x9d,0x9e,0x8f,0x30,0xe5,0xbb,0x63,0x62,0x23,0x97,0x14,0x55,0x6b,0x04,0x73,0x6f,0xa4,0x44,0x65,0xca,0xba,0xad,0x23,0xbe,0xaf,0x5a,0x99,0xfc,0x45,0x1a,0xd4,0xae,0x5a,0x18,0xc7,0xf6,0xf9,0x64,0xfa,0x41,0x03,0x92,0x16,0x01,0x8e,0xc5,0xa2,0xac,0xca,0xe1,0x07,0x5a,0x6b,0xb3,0xa6,0xec,0xbc,0x1f,0xca,0x02,0xb9,0x04,},"\x79\x9b\x39\x80\x2a\x18\x27\xe4\x5c\x41\x12\xfe\xe0\x26\x03\x4c\x0e\x59\x8a\xff\xce\x2c\x55\x0c\x19\x3f\xee\x73\xf1\xdf\x8c\x30\xc8\xd3\x87\x33\x40\x08\x8c\xe8\x59\xde\x34\x71\xe9\xd0\x57\x68\x6c\x82\x9b\x54\x08\x79\x5e\x08\xb3\xdc\x7a\xa3\xb6\x37\xc7\xde\x9d\x21\x72\xad\x03\x33\xc1\xbe\xa8\x61\xa6\x23\x2f\x47\xf0\x5a\x10\xbf\x5d\xf8\x08\x15\xa2\x71\x25\x6e\x37\xe8\x08\xa0\xe6\x2f\x1f\x07\xd9\xe1\x0e\xbb\x94\x7d\x3e\xfa\xbf\x8a\x28\xfa\x9d\xcc\xd9\xa1\xd5\x99\xf5\xfd\x61\x65\x50\x8e\xfd\x67\x9c\xf3\x56\x01\x50\x58\xbf\x4b\x34\x11\x8f\x83\xaa\x3e\x5b\xc2\xce\x19\xec\xa8\x4f\x71\x83\x98\xad\xbc\x0a\x52\x76\xcf\x9d\x8c\xaf\xfc\x27\xe3\xe6\xab\xbe\x34\x5b\x0e\x9e\xcf\x89\xc6\x77\x1b\x0e\x75\xd4\x08\xba\x2f\xbb\x90\xfc\xfd\x70\xc5\x3f\x2e\x4d\x52\xba\x54\xd9\x78\x4c\xf7\x1c\x34\x9e\xf6\xf1\x4a\xe4\x97\x0d\xef\x6e\xfb\x5f\x30\xe9\x84\xd6\x01\x6a\x19\x6d\xea\xec\x7e\x04\xb4\x76\x19\xc4\x8b\xf4\x9d\xc0\x2f\x7f\xef\x3e\x13\xb7\x56\x17\x4e\x90\xd0\x5f\xcb\xdd\x5e\x13\xf0\xe4\x34\xef\xd5\x42\x1b\x09\x1d\x51\x79\x00\xed\x0d\x57\x85\x96\x88\x62\xb4\xbf\xe5\x09\x3a\xb6\x72\x17\x18\x0d\x97\x55\x4c\xcd\x9c\xc3\x14\x29\x32\x6c\xab\x42\xf3\xf8\x39\x80\x60\xc1\x9d\xb4\x88\xb5\xd1\xc8\x0b\x29\x09\x0a\xfd\x1c\x6b\xac\x36\x42\x26\x48\x00\x21\x1b\xc2\x78\xfc\xb9\x9d\xae\x9d\xbf\x49\xda\xf1\xb2\x4a\xb5\x69\xdc\xbb\x87\xd4\xd3\x54\x73\x35\xe3\x5d\xb9\x84\x00\xcd\xfc\xe6\x79\x06\x82\xe9\x36\x00\x22\x0e\xc4\x99\x24\x5f\xa4\xee\x15\xd8\x43\x83\x1b\x56\xcc\x26\x41\x80\x25\xbf\x87\x00\x16\x05\xc6\x69\x1c\xa6\xbd\x40\xa4\xe2\x48\xc3\x09\x80\x1b\x76\xa7\x95\xed\xe8\xad\x53\x08\xbc\xb6\xd1\x75\x4a\xb3\x37\x1f\x00\x03\xbb\x8c\x4e\x4e\x47\x19\x54\xe2\x8b\x1e\x98\x66\x37\x9f\x82\xe1\xfb\xac\xb7\x9d\x50\xad\xdd\xad\x5b\x97\x78\xb5\x58\xcd\xdb\xb0\x03\x8a\x5f\xf3\xd5\xc9\x55\x7b\x96\x5d\xe3\xa7\x08\x2c\x45\xa8\xec\xf3\xe7\x72\x1e\xb6\x90\xb6\xc7\x1f\x3d\x89\x75\xd5\x30\x0f\x67\xc4\xdc\x4a\x73\x68\x46\xe4\xcc\xd2\x6f\x93\x46\x3d\x5b\xc6\xf4\x6e\xdc\x48\x86\x64\xbe\x96\x96\xbe\x12\xb0\x2d\xd1\x04\xd1\x0c\xc6\xb1\xd8\x2e\x81\x17\x81\x12\x14\xa6\x48\x7d\x17\x36\x7e\x39\x5a\xde\x2e\xf6\xb2\x6a\x17\x83\xa7\xe2\xf2\x45\x21\x3b\xc0\x3a\x75\x5d\xf3\xee\x8e\xf9\xf1\xef\xf9\x72\xc6\x91\x90\x65\xcb\x7b\x75\x66\x78\xd4\xdd\xfd\x19\x3e\xdd\xc0\xb4\x2e\x86\x89\x61\x36\x43\x14\x6d\x74\x28\xca\x37\xbf\x31\xbd\xf1\x4e\x31\x86\x78\x58\xf3\x9d\x23\x23\x70\x9e\xb3\xb7\xd7\xf4\xe3\x97\x02\x23\x78\x42\x4b\xde\xe9\xbc\xb7\x4e\x9d\x5d\xfd\x37\x1f\x47\x34\x99\x8f\xc1\x8d\xf4\xcd\xfb\x4b\x5c\x21\xc2\xe5\x0f\x8d\x6c\x15\xbc\x14\xbf\x4f\xda\x6c\xeb\x9d\x80\x82\xca\xe4\x32\xdf\xc9\x8b\xfb\x3e\xcd\x16\xb8\xd7\x4f\x83\x0b\x64\x2b\x04\x28\x75\xe9\x21\xb0\x54\xbd\x1a\xaa\x58\x1f\x60\xd7\x18\xdf\x66\x9f\x56\xdc\x2f\x10\xd4\x78\x99\x77\x22\x16\x2e\x83\x94\x0e\x61\xa1\xb6\xe4\x2d\xf2\xa4\xa3\xa7\xcb\xcd\xd6\x11\xce\x96\xcb\xcf\xb5\xa9\x5c\xc4\x73\x23\x1c\xa1\x3c\x06\x09\xd0\xce\x1a\xe5\xdd\xb5\x46\x6d\x6d\x65\xee\xfa\xd9\xda\xf2\xa3\x69\x01\xbc\xc9\x45\x84\x7d\xa1\xed\x6e\x2e\x24\x0e\x84\x8b\x23\x1b\x7d\x0e\x1a\xcd\x06\x54\x3e\xc9\x3e\x76\x8e\x59\x98\x5d\x7e\x96\xc8\xc3\x1f\xcd\x12\x10\xf0\x96\x42\x71\xe2\x18\x77\x52\x5c\xb1\x34\xbc\x35\x36\x25\x7d\xbb\x11\xd3\x0a\x3c\x4f\x94\x9f\xb8\x2a\xe0\xc3\x1c\xcd\xfe\x41\x94\x32\x51\xe5\x0a\xa4\x35\x53\x92\xac\x30\x9e\xf6\x0f\xc1\x74\x32\xa2\xbe\x4b\xdb\x2f\xcb\x28\x60\x7c\xc4\x5a\x52\xb6\x00\x16\xbb\x1d\x2e\x23\x97\x2f\xf2\xc2\xa2\x47\xd7\x25\x58\x5b\x1e\xf2\xb1\x5f"}, -{{0x1b,0xe2,0x94,0x9d,0x51,0xe7,0x20,0x81,0x75,0x82,0x62,0x13,0xee,0x6a,0xe3,0xc0,0x91,0x17,0x27,0x42,0xe8,0x8c,0xaa,0x02,0xed,0x0f,0x31,0x3e,0xcb,0xe5,0xd9,0x10,},{0xd7,0xbf,0x47,0x48,0xd6,0xdd,0xed,0x5b,0x57,0xa2,0xab,0xf7,0x97,0xfa,0xcc,0x56,0x0b,0x48,0x56,0x3d,0xfd,0x9d,0xcf,0xf4,0xbe,0x52,0x2c,0x71,0x7a,0x6c,0xfd,0xa9,},{0xf4,0x1f,0x2e,0xf6,0x59,0x5f,0x17,0x66,0x0b,0xb2,0xfe,0x93,0xe5,0x1f,0xc6,0xfa,0x9c,0x31,0xda,0xdc,0x9d,0xb9,0x0c,0x3f,0x46,0x60,0x7a,0x7f,0xb4,0x80,0x0b,0xb7,0x5a,0xd9,0x63,0x25,0xdc,0x7e,0xab,0x78,0x24,0x72,0xb0,0x4d,0xa6,0xd8,0xe6,0xfe,0x64,0x65,0x5d,0xea,0x55,0x1f,0xbd,0x50,0x49,0xe8,0x76,0xce,0x5a,0x40,0x5f,0x02,},"\x04\x5e\x2b\x0e\xc7\xbb\x20\x3a\x49\xbd\xcb\xa9\x41\xe2\xb7\x3c\x23\xc1\xfe\x59\xa1\x7d\x21\xa0\x12\x4e\xa2\x4b\x33\x7f\x92\xab\x9c\x92\x3a\x20\x57\x6b\x62\xd5\xd0\xf6\x24\xe7\x93\x2c\x11\x5b\x54\x74\xe0\xa4\x6a\x4d\xc9\xec\x51\xf6\xa0\xce\x8d\x54\x74\x4d\x1d\x52\x09\x33\x20\xe3\x9b\xe2\x03\xf7\x4a\x0f\x5d\xfa\xc5\x2c\xf0\xf9\x95\xc6\x6d\xf2\x91\x4b\x68\xad\x87\x1f\xbe\x81\x52\x5a\xd2\xd8\x8a\xc6\x99\x33\xa7\x5a\xea\x74\xac\xe4\xe3\x63\x43\xdd\xc0\x6d\x32\x08\xf1\x6d\x80\x5f\x5d\xd7\x86\xb4\xda\xaa\x16\x67\x48\xcf\xee\xc5\x71\x4c\x85\xc1\x04\x78\xb5\x97\xac\x7f\x6a\xe2\xc9\x88\x91\xe3\x8f\xd4\x14\xaa\x81\x1b\x76\x21\xd8\x05\xeb\x8f\xcc\x46\xcf\x4d\x56\x8a\x8a\x92\x58\x7c\xbb\xc1\xae\xcc\x12\xf1\x0d\x90\xac\x1e\x01\xae\x98\x6d\x14\xfe\x82\x95\x1c\x68\x2c\xea\xc8\xc9\x25\xfc\x66\x54\xd8\x38\xac\x93\x53\xae\x2f\x93\xf3\xc8\x8b\xf7\xb8\x2c\xbc\x43\xb1\xe4\x9e\x5c\xeb\xfb\x19\x49\xad\xe4\xb2\x2e\x4b\xcf\x1b\x40\x0c\x0a\x8f\xa8\xa6\xfe\x76\x70\xf6\x9f\xc3\xfa\xec\xd4\x80\x5b\x8c\x95\x4c\x01\xa5\x40\xd1\xa1\xe7\x88\x43\x6e\xae\x07\x3a\xe9\x56\xda\xe3\x17\x69\x05\xa8\xf0\xa3\xc6\x0f\xd9\x80\xda\xb4\x19\xd4\x1e\xc0\x6e\x52\x73\xfb\xb1\x3d\xb9\x38\x1f\x89\xb6\x63\xcc\xc4\xbd\x75\x3f\xd9\x0f\x14\xa7\x7b\x3d\x81\xc4\x5d\xd3\x56\x1c\xd1\xfa\x0e\x94\xd2\x34\xce\xf9\xd7\x85\x9a\x2e\xc9\x42\xbf\xc1\x88\x49\xd7\xf2\xad\xa3\xa5\xd6\x57\xbc\x19\x3d\x2e\x14\x91\x68\x2f\x16\x65\xa5\x34\xb1\xac\x20\x83\xb7\x38\xbe\x8f\x9e\x96\x3f\x59\x41\xed\x48\x3c\x6a\xcc\x82\xe9\x59\xb8\x1b\x8a\xf0\x2f\x47\x1c\x08\xf5\xf8\xb1\x2e\x10\xe0\x08\x19\x28\x98\xa4\x45\x02\x02\xaf\x73\x15\x92\xe7\x4e\xfe\x2a\x94\x8e\x51\xd0\x6e\x44\xde\x9b\x95\x6b\x7b\xc9\xa6\x9b\x6e\x74\x68\x7a\xb2\x06\xde\xc4\xd3\x5b\x31\x73\xfb\xc4\x38\x82\x9d\x50\x64\xbf\xbc\xf7\x43\xc1\xe2\xd4\x6f\x62\x8f\x2e\x51\xc6\x26\xd8\xe4\x16\xd7\xbe\x6e\x55\x5a\x24\x96\x91\xab\xb1\x67\xf1\xd9\x2f\x4f\xa3\x39\x2f\xde\x24\xe9\x93\xce\x7f\xf5\xc1\xb8\xe1\x57\x7a\x7c\x0e\x73\x02\x5c\xc6\xfc\xd7\x27\xa8\x2e\xf0\xc1\x29\xe9\x1e\x55\x33\xe0\x21\xa3\xcd\xbb\x99\xd5\x4b\xf7\xcd\xcd\x3f\xf1\x19\x15\x4f\x3f\xad\x92\x42\xb6\xed\x35\x0d\x10\x37\x2c\x97\x6f\xf3\xa4\x37\xd0\x97\x86\x7d\x9b\xfb\xa9\x1d\x84\xbd\xa5\x5a\x6b\xcd\x6e\x36\x41\xb2\x13\xa2\x18\xb3\x04\x15\x89\xc5\x5a\xfb\xb3\x44\xde\x6e\x97\xd8\xc3\x5b\x5c\x86\xcf\x3b\xe0\x63\xf9\x01\xff\xee\xa8\xcc\x91\x06\x99\x67\xd2\x34\x60\x35\xa9\x1e\xb5\x70\x6a\x3b\x53\xf6\xd1\xc3\x4d\x4d\x21\x16\x70\x6b\x65\xc2\x98\xec\x57\xde\x82\xab\xc4\x00\x3c\xe8\xcc\x5e\x0b\x88\xff\x71\x0d\xda\x1d\xce\xf6\xf1\x54\x27\x71\x06\xb8\x3e\xb4\x6c\x04\x5b\x08\x2d\x11\x3b\x36\x1d\x6a\x62\x58\x08\xc9\x13\x05\x84\xdf\xc9\x67\x07\xef\x89\x55\x90\x7b\xaa\x61\xcf\x88\xc6\x6b\x6d\x1f\x60\x58\x11\x19\xcb\x62\x17\xa8\x52\x15\x73\x36\x17\x8c\x68\x5e\x6e\xd4\x85\x26\xed\x5c\x4e\x3b\x79\x67\xd5\x1f\x99\xdf\x68\x76\xa1\xac\xfb\x84\x5c\x57\x1b\x89\x86\x56\xe5\xe3\xbc\x73\x98\x0b\x9b\xed\x11\x98\x86\x63\x59\xc9\xe9\xb1\xef\xa9\x15\xf8\x10\xd1\xef\x8a\xd6\xcb\x3f\xc2\x1f\xbf\xe6\x54\x30\x6d\xe6\xca\x13\xa3\xa6\xa4\x8e\x7a\x13\xed\x87\x46\xac\xbd\x07\xf4\x8e\xb0\x0c\x36\x37\x4b\x1e\xb4\xf3\xf0\x1c\x19\xe2\xe8\xd3\x7e\x9f\xc0\x64\xb3\x3c\x0d\x66\x9b\xba\x55\x4d\xdc\x68\x21\xa7\x7b\x40\x89\xca\xbd\xca\xfc\x97\xf6\x0e\x60\x50\xbc\xa4\x44\xae\x8c\xfc\x44\xd9\x3c\x40\xef\x53\x18\xbe\xe6\xf8\xcf\x0c\x06\x7b\x85\xcd\xdd\xc4\x59\x74\xa4\xea\xcf\xc3\xef\x51\x31\x5b\xa0\xf3\xf6\x29\x68\xc7\x00\x3a\x7f\xf4\x44\x61\x24\x00\xb1\x59"}, -{{0x3b,0x6b,0xa6,0xd5,0xcc,0x9c,0xd6,0x24,0x1d,0x8b,0x00,0x97,0xa3,0x72,0x2e,0x4d,0x06,0x6f,0xea,0x3d,0x56,0x0a,0xea,0xb4,0x67,0x3e,0x86,0xf1,0xf8,0xec,0x60,0x26,},{0x8c,0xa6,0x52,0x07,0x17,0xcf,0x36,0x3c,0x4c,0xef,0xfa,0x76,0x32,0x8a,0x0a,0x16,0x6f,0xf8,0x3e,0x45,0xca,0x7d,0x19,0x1c,0xc8,0xef,0x6c,0xa6,0xe5,0x24,0x33,0x67,},{0x78,0x8c,0x9f,0x45,0x54,0xdd,0xba,0x5c,0x7d,0x64,0xba,0x75,0x9e,0xc4,0x56,0x94,0xec,0x79,0xfb,0x85,0xe8,0x23,0x68,0xa0,0x74,0xbd,0xd8,0xdf,0x34,0x42,0x13,0xa5,0x6d,0xd0,0x9f,0x33,0x4c,0xd9,0xac,0xb9,0x41,0xbe,0x28,0x3d,0x98,0xc4,0xb1,0x5d,0xcf,0xec,0xd1,0x4e,0x93,0xf6,0xa2,0xe3,0xcb,0x0c,0x1a,0xa2,0xde,0xe7,0xd9,0x0b,},"\x36\xde\x93\x0c\xc8\xe1\x88\x60\x83\x6a\x0c\x82\x9d\x89\xe9\x63\xa5\x8b\xdd\x9c\x6b\x6e\xf5\xbc\x61\xf7\x59\x92\xd2\x07\x52\x42\xdc\xa2\x3e\x28\xde\x20\x5a\x33\xdf\xea\x86\x1f\xc4\x4a\x32\x62\x8e\x8e\x7c\xdd\x3e\xd7\xff\x49\xea\x6a\x70\x97\xe0\x09\x0c\xfd\x9f\xf5\xec\xab\x1d\xe8\x22\xfc\x0a\x4c\x37\x76\xdd\x56\xc1\x91\x92\x04\x51\x6a\x94\xce\xc5\x63\x8d\xa1\xd9\x9e\x52\xb8\x66\xf5\xec\x41\x62\xa9\x12\xed\xb4\x1c\x1e\x92\xed\xfc\x35\x3f\x67\x05\xe1\xc1\x2c\xd4\x1c\xb6\x2d\xed\x4a\xd8\x15\x79\x40\x05\x9b\xfc\xf5\x07\x19\xd3\xf2\xad\x00\x84\x85\x40\xce\x89\xf3\xf9\xaf\xa6\x10\xcc\xba\x5e\xcc\x37\xe3\xe2\xc1\x53\x4f\xcb\x38\xfc\xd3\x9a\x2d\x14\xd5\xb5\xda\x6f\xea\x24\xe0\x06\x65\x4e\x30\x90\x47\xa2\x9c\xad\x0a\xe4\xda\x8e\x70\x8f\x97\xa1\x8c\xad\x5f\xbd\xc9\xac\x84\x40\x0c\x53\x2c\xed\x54\x88\x86\x53\x9e\xdd\x6c\x54\x10\x74\x79\x0a\xe4\x50\x2f\xdf\xe9\xf3\x27\x3a\x87\x6a\x21\x86\x23\xa2\x57\x06\xa1\x52\x5e\x67\xe5\x7a\x16\xd2\x2c\x21\xb6\xa4\x5e\x23\x84\xe2\x87\xac\x44\x52\xae\xc4\xe0\x63\x05\x6b\x4c\x17\x8a\xb0\xe5\xb2\xa5\xba\xd3\xf4\x63\xc4\x72\xc4\xea\x1f\x9c\x1a\x66\xe5\x27\x04\x73\xa8\x35\x09\x4e\x8f\x0e\xef\x68\x0c\xd7\xb2\x0d\x0e\x70\xf4\xd6\xc9\x58\xfe\xe0\x8a\x93\x60\xaa\x60\x66\x88\x8f\x4d\xd7\xce\x5e\xc2\x22\x59\xfa\x0b\x53\xfe\x92\x71\xc0\x83\xc6\xfc\xdb\x72\x83\xb0\x90\x61\x08\x8c\x52\xf7\x1b\xfd\xd2\x77\x7c\xe0\x80\x1f\x41\xa6\xc4\xce\x90\xef\x13\x1d\xe1\xe1\x83\xcb\x89\x49\xce\x32\x3c\x9e\xb1\x3a\x4b\x0c\xac\xf9\x9d\xef\xdf\xdb\x68\xd5\xed\x1f\x68\x91\xb4\x8e\x21\x04\x76\x68\xd6\x9d\xe8\xa8\x0f\x8e\x56\x34\xde\xd0\x87\x36\xa4\xfb\x54\x10\xcd\xea\x9c\x72\x59\x6e\x36\xdf\x68\x41\xf2\xee\xa4\x68\x50\xc8\x74\x73\xc8\x95\x54\x02\x05\xb0\x92\x19\x60\xff\xa5\xd9\xd8\xff\xb8\xe2\x9c\xde\x96\xa3\xed\xe0\x15\xac\xbc\x26\x97\x40\x04\xd3\xe4\x38\xa8\x5b\x2e\x33\x85\xf6\x4d\x18\x14\x00\x39\x41\xff\xd3\x63\x99\x2d\x39\x40\xc6\xe6\xd8\x1f\xf8\xe4\x5f\xce\xd6\xd3\x6c\xe1\x98\xd8\xcc\xbe\xfe\xe4\x32\xa7\x7d\x8f\xca\xdd\x73\xfb\x79\x9f\x6b\xaf\xef\xb5\x1a\x2d\xa7\x98\x72\x1c\x3d\x46\x5b\x16\x3e\xf1\x3e\x6e\xcc\x65\xe6\x03\xb2\x89\x3e\xe4\xcc\x9e\x1c\x6d\x1d\xe7\xa6\x5c\xab\x5c\xbd\xf5\x36\x85\x5e\x28\x8c\x3c\xcd\xa8\xd2\xfa\x3c\xe1\x0c\xf4\x93\x58\xa2\xef\x4e\xf0\x76\xe5\xbf\xa9\x1b\xbc\xf3\xd9\x66\xdf\xa3\xdc\x6e\x71\x2f\x19\x56\xd4\xe5\x8a\xa3\x6e\x71\x2d\xd3\x34\x71\x69\xb1\x9c\x8d\x44\xbe\xc5\xbc\xb7\x30\x77\x8f\xcc\xcc\x58\x9e\xd5\xd3\x50\xd4\x4c\x17\xbd\xe2\xee\xbb\x6f\x5e\xc5\x9f\xb2\x40\xd6\x7d\x81\xae\xa9\x26\x7f\x34\xf1\x5e\xee\x2d\xe3\xf4\xfa\x67\x39\x14\x79\xbd\xbb\x43\x0f\x48\x43\x70\xfb\x0e\x08\x95\xb9\xae\x06\x5b\xbd\xd4\x3e\x23\x0c\x62\xac\x07\x18\x4e\x8b\x06\xb2\x4b\x8b\x97\xec\x02\xdc\x6f\x37\xef\x61\x64\x1e\xd5\x6e\x3f\x5e\xb8\xd2\x08\x0b\x51\x44\xef\x76\x0b\x51\x87\x52\xe1\x97\x54\x79\x2e\x19\x34\x3a\x38\x55\xe1\xe2\xf7\xa7\xdc\x62\x35\x17\xee\xd2\xf5\xd2\x65\x48\xa6\x8e\xb8\xff\xd7\xbf\x70\xf7\x8f\xd1\x86\xdb\x63\x49\x28\xbb\x98\x13\x8f\x2b\x8f\xe8\x44\x81\xcc\x53\xf5\xaa\x35\xe2\x66\x6c\x63\x25\xe1\xd2\xb8\xac\x5e\x2d\xf2\x93\x5b\x7f\x64\x13\x95\x2d\x10\xd6\x07\x6f\xfc\x75\xbb\x6a\xf6\x3b\x29\xb0\xb9\x66\x3b\xec\x37\x24\x7b\x66\xb5\x08\xdd\xe4\x1f\x2f\x11\xb8\x43\x33\x55\x9d\xfa\xc7\x3f\x76\x1b\xcd\xa8\x4a\x48\xd2\x66\x07\x3a\xef\x16\x38\x46\x08\x49\xe7\xa1\x72\x06\xa2\x5f\x68\x00\x77\x0b\x91\x4c\xc0\x26\xba\xf9\xe3\x25\x59\x14\xe1\x32\x58\x44\x1c\xef\x35\xad\x1d\x66\x83\x3e\x98\x7e\xbe\x44\x31\xe6\xa6\xbb\x22\x2c\xbb\x65\xaf"}, -{{0xdd,0x99,0x87,0xb1,0x8f,0x9a,0x92,0x2c,0x0f,0x6f,0xea,0x18,0xeb,0x00,0xb8,0x96,0xc7,0xa2,0xd3,0x09,0x3d,0xb3,0xea,0x31,0xd3,0x84,0x21,0xda,0x0d,0xe5,0x12,0x31,},{0x57,0x39,0x21,0xa9,0x55,0xfe,0xb6,0xdd,0xe4,0x1b,0x05,0x5c,0x8d,0xac,0xac,0xcd,0x1d,0xb7,0xfe,0x9e,0x36,0xb5,0x09,0xd3,0xc9,0xe3,0x6f,0x97,0x35,0x75,0x23,0x24,},{0x3e,0x9f,0x2b,0x00,0x7c,0x0e,0x29,0xec,0x87,0x59,0x95,0xa6,0x30,0x9b,0x97,0x3d,0xeb,0x8b,0xaf,0x11,0x3d,0xed,0x13,0xf1,0xe0,0x00,0x3e,0x9b,0x9b,0xf9,0x39,0x16,0xa4,0xdf,0xe4,0x79,0x37,0xda,0xdf,0xc7,0x8a,0xa6,0x63,0xc5,0x5f,0x67,0x4e,0xc3,0x5c,0x38,0x46,0x25,0x8f,0x18,0xe7,0xbb,0x93,0xfb,0xba,0x3e,0x82,0x6a,0x1f,0x0d,},"\x48\x16\x2f\xdc\x3a\xbf\x73\x19\xc6\xca\xab\x60\xcb\x8d\x05\x20\x87\x5c\xb4\xee\x8a\x07\x09\x27\x83\x16\x7d\x47\x33\xff\xe5\x20\x4e\x5f\xeb\xe7\xd2\x91\xe9\x53\x6b\xde\xa3\xdf\x06\x37\x15\x9a\x65\x3e\x09\xfd\x99\xaf\x66\x1d\x83\x00\xae\x74\x1a\x3e\x91\xa8\xbd\x85\xea\xd0\x5d\xc7\xd9\xe6\xf9\x29\x32\x33\x16\xed\xc4\xca\x62\x4e\xa7\x81\x8b\x25\xbd\xc0\x61\xf7\x14\x92\xfd\x22\xd4\x65\xab\x22\x6f\xd9\xa1\x0d\x8b\xab\xfc\x07\x4c\x68\x6c\x43\x6c\x24\xa3\xa5\x3f\x8f\xf3\x89\xce\x9c\xa1\xdb\xc8\x90\x74\x45\x88\x92\x41\xf8\xfd\xa3\xa7\xa3\xf5\x02\x4f\xa8\xcb\x0d\x04\x4b\xda\xf6\x71\x6d\x98\x3a\x6d\x83\x98\x14\xff\xe7\x0d\xdc\x55\xbb\xba\x11\xac\x97\x88\x7b\xdb\x4d\xad\xa9\x65\x65\xbb\x07\x5d\x5f\xc1\xd3\xc5\x24\x4b\x9f\xff\x77\xde\x58\x72\x9a\x05\x9a\x91\x1f\xb3\xe0\xeb\x16\x4f\xb8\x42\x9e\x26\x56\x85\xd1\x4a\x63\x23\x30\x46\xd2\x0e\xcf\x28\x9c\x55\x72\x31\x69\xa9\xd6\x3d\xda\x0d\x52\x55\x15\x3d\x9e\xf4\xa6\x1b\x92\x12\xf4\xb8\x20\x69\x7a\xe7\xc3\x08\xcf\xab\x40\x3b\x2c\x34\x31\x90\x62\x26\xe4\x5c\xe2\x19\x20\xdf\x52\x01\x60\x9d\xaf\x83\x0f\x28\xad\x79\x60\x05\xa9\xbd\x8e\xba\x62\x0c\xf8\x39\xc3\xba\x22\x7b\x96\x3c\x7b\xd0\x91\x48\x22\xdf\x2c\xa0\x3c\x22\x54\xd0\xcb\x8a\xca\xe0\xd5\x9e\x4c\x3e\x0e\xc2\x15\xc8\x36\x96\x9d\xcd\x1d\x49\xbf\xe1\x97\xe2\xf3\xee\xa3\xfa\x8a\x37\x3b\x55\x8d\x0f\xb9\x06\x3c\xf1\x56\x8e\x73\x9a\xad\x8f\x09\xfb\x43\x7c\xaf\xb5\xa2\x72\x37\x5f\x43\x60\x64\xee\xe1\x1b\xd9\x03\xd3\xaa\xea\xb4\xe3\xfd\xcd\x36\xbd\x20\x76\xee\xa1\x79\xa4\xf0\xd4\xfb\xc8\xdf\x42\xbf\x26\x60\xf0\x8d\xe7\xd5\xc6\x39\x7c\xae\x10\xb7\x27\x74\x58\xaa\x6c\xfa\x01\xe8\xa6\x73\x7e\xb1\x26\x22\x78\x56\x64\x66\x91\x68\x1c\x10\x6a\x15\x7a\x26\xae\xd2\x1b\x1a\xaf\x0e\xd2\x76\x64\x21\xcf\xc3\xd1\xc7\xdd\xfb\x72\xfc\xdf\x4b\x8b\x49\x0f\xc0\x9a\xce\x49\xae\xdd\x77\x12\xb2\x1a\xc5\x6f\x86\x01\xf6\x25\x56\x3c\x78\x43\x06\xf3\xb9\x17\x4a\xdd\xf7\x64\xe0\x51\xaa\xdf\xe1\x28\x31\xaf\x96\x69\xe6\x2c\xab\x12\x1c\x74\xdf\x34\x37\x24\x42\x9d\x6c\x26\x66\x02\x71\xc3\x2f\x40\xcf\x7c\x2d\x08\xbd\x0a\xfc\xc7\x28\xde\xf4\x13\x5d\x4e\xb5\x5b\x6a\x3e\x76\x29\xd8\x06\x86\x4a\x85\xb3\x6a\x32\xb9\xb2\x1a\xc0\xd3\x96\x80\xa2\xae\x4e\xc4\x18\x97\x09\x17\x8e\x34\x94\x97\xf3\x93\x99\xfb\xc7\x8b\x3c\x6c\xfa\xca\x6e\xde\xa7\xc3\x3d\xda\x3c\xc1\x1e\x43\x84\xf1\x58\x3d\x6c\xfc\x6b\x58\xf4\xea\xa2\xbc\x56\xab\xa4\x2f\x73\x8a\x42\x9b\x93\x58\x08\x50\xde\xe3\xfd\x25\x39\x94\xf8\xb0\xfa\x66\xee\x8e\x27\x3d\xec\xab\xd5\x32\x09\x5f\xb0\x4a\x4a\x3c\x34\x0a\xf0\xe5\x5b\x57\xef\xab\x43\x63\x0f\xc0\x2e\xf2\x0b\x42\x5c\xa2\x18\x7e\x3c\x6c\x5e\x10\xf1\x2d\x61\x8f\xd2\x43\xa2\x24\xf6\x50\x1e\xbe\xb9\xd3\x21\xc6\x38\x5b\x81\x27\xef\x9c\xdc\xd0\x97\xce\x7f\xa0\x21\xcf\x40\xd2\x1c\x39\x91\x23\x43\xf6\x7a\xcc\xe1\x82\x5e\x3a\x51\xb8\xa7\x18\xe8\xc3\x40\x62\x2f\xff\x65\xfe\x00\x53\xd2\x4a\xa3\x35\x1b\x6a\x24\x00\x18\x5d\x7a\xeb\x88\xe8\x7a\xc4\xa1\xd3\x94\x90\x9d\x49\x41\x4a\xef\xc2\x2b\xa0\x09\xaf\xf6\x96\x2c\x92\x17\xd7\x55\x69\x4e\x4d\x6a\xa8\xa5\xd6\xa8\x03\xce\xbb\x15\xde\x8f\x54\x16\x34\xb6\xfc\xeb\x0c\xac\x79\xdd\xa8\xa1\x8e\xef\xbb\x53\x7e\x70\xff\xe9\xaa\x5a\x6a\x6a\xaf\x92\x40\xfa\xc2\xea\xcb\xfb\xef\x01\xad\x6b\xdf\x50\x75\x87\x80\xf8\x6a\x4e\x48\x89\x85\x36\x2d\x58\x25\x01\x1f\x5e\x8b\x66\x42\x5a\x61\x6b\x7e\x10\x4e\xb2\x3f\xe8\xf1\x00\xcb\x02\x49\x82\x36\x62\xbd\xa3\xda\x47\xa4\xc3\xc1\xca\x2f\x91\x4b\x25\xb9\x73\x85\x34\x02\x60\x47\xdf\x6d\x7f\xf6\x31\xdf\x2c\x41\x31\xf6\x80\xe1\x37\x43\xc9\xcc\xf2"}, -{{0x38,0xd2,0xef,0x50,0x9f,0x93,0x05,0x1f,0x14,0x51,0x67,0x73,0x7c,0x22,0xe1,0xa5,0xbf,0xe8,0xf4,0xa9,0x1e,0xba,0x0b,0xb8,0x7c,0x39,0xce,0x04,0xa8,0x9b,0xae,0xc6,},{0x01,0x11,0x5f,0x6d,0x89,0xa5,0xda,0xab,0x54,0xf8,0x92,0xbb,0x4a,0x4b,0xda,0x1c,0xe5,0xd8,0xf6,0xc9,0xc8,0x8a,0x50,0xce,0xe8,0x3b,0xd9,0x87,0xa2,0xc0,0xdd,0xf7,},{0xde,0xc4,0x62,0x53,0x50,0x9b,0x11,0xe4,0xb5,0x2a,0x6a,0xe4,0xf3,0x66,0xb6,0x80,0xdf,0xfc,0x28,0x0d,0x0a,0x04,0x4f,0xc0,0xcb,0x79,0x0b,0x6e,0x75,0x13,0x81,0x46,0x1e,0x1e,0x60,0x2a,0x89,0xe3,0xb3,0xd3,0x06,0x4c,0x40,0x7f,0x60,0x2f,0x1c,0x22,0x40,0x4b,0x68,0x23,0xbd,0x24,0x67,0x54,0x93,0x14,0xa0,0x00,0x01,0x66,0x4a,0x08,},"\x42\x7b\x5a\x01\xe8\x59\x7f\x04\xfd\x42\x2f\x0a\x66\x2d\x0b\xe2\xdf\xa8\x53\xed\x5f\x9d\x3f\x60\xff\x90\xf2\xc5\xee\x08\xbb\x59\xfd\x03\xd4\x02\xb7\x54\xca\xf5\x4d\x00\x58\xf5\xa2\xcf\x87\xaf\x4f\xef\x21\x77\xd5\x9e\x18\x22\x62\x93\xfd\x2a\xf3\x76\xbc\x98\x7b\xf7\xb3\x20\xb9\xd1\xe2\x49\xab\x9e\xfb\x75\x07\x8e\x6d\x3d\xf2\x9e\x03\x50\x47\x76\x35\x43\x44\xaa\x69\xe7\x2e\x1e\xbc\x52\xa3\xc3\x8a\x4c\x2a\x16\x73\xb4\xe9\x74\xa2\xe4\xe1\x2a\x2e\x78\xea\x3e\x3f\xe5\x0c\x53\x63\x0d\x09\x6d\xa3\xe2\xfe\x82\x99\xf7\x1a\x1b\x44\x1b\x4c\xf0\xca\xeb\x93\x7a\xfa\x4a\x0e\x39\x15\xcc\xab\x39\x96\xc9\xf6\xa8\xf4\xfd\x37\x54\x3e\x8f\x75\x90\x0c\xfd\x47\x17\x53\x70\xef\xb8\x52\xa5\xf6\x9d\x67\x36\x83\xf9\x98\xfd\xcf\xf8\x5f\xf8\xf3\x2b\xaa\x80\x70\x66\x60\x44\x22\x02\x7d\x51\xa4\x35\xdd\xf9\x88\xed\x2f\xd8\xeb\x19\x1f\x10\xb4\x68\x07\x42\x00\x08\x75\x6e\xb4\xe3\x00\xc4\x09\x9c\x2d\x64\x50\xbc\xc6\xa4\xe7\xd0\x67\x31\x56\xb8\x37\xf0\x50\x63\x38\xf3\xd1\xb5\x73\x4b\x16\x6c\xa5\xcc\x2f\x24\xa4\xef\x02\x6c\xda\x2c\x4a\xe3\x10\x5b\x63\xca\x85\x70\xd1\x85\x46\xcf\xac\xb8\x60\x42\x96\x6a\x00\xef\x52\xc7\x29\x90\x19\xf6\x8a\x2d\xf0\x8c\x8b\x70\x4e\x85\xe7\x13\xc3\x48\xd7\xf1\x67\x76\x60\xe1\x8e\xba\xb5\x9b\xf4\xe1\x2e\x6f\xf2\xd7\x83\xd8\xd5\xd4\x2a\xab\x6e\xf0\x17\xb7\xa1\x96\x6a\xee\x8d\xc1\x4d\xda\xbe\xd4\x9b\x4b\x64\x3d\xf4\xe9\xb0\xb6\x03\x83\xc7\xd8\xb4\xb8\x8c\x65\xa8\x98\xc1\xc7\x7d\x43\xd6\xbd\x68\xb2\xa5\x74\x3f\x1f\xed\xd6\x54\xdc\x84\x49\x6d\xa0\x2c\xeb\x69\xb9\xb4\xd3\xa8\xe0\x0c\xcd\x72\xe7\xc7\x5f\xc5\x0a\x8d\xd0\x87\xe1\x83\xe6\xc1\xf5\x79\xba\xeb\xc5\xc6\x3f\x28\x07\x93\x67\x91\xb5\xfe\x48\x47\xcd\xcf\x15\x17\x74\x23\x52\x05\xcd\x2d\x7b\x8b\xf4\xae\x88\x19\x22\x5e\xa7\x08\xb7\xba\xac\x66\x99\x8f\x0c\xba\xb2\xc7\xdd\xf2\x51\xf3\xb1\xde\x10\x17\xd3\x97\x69\x22\x05\xee\xa6\x39\xf1\x2d\x77\xbe\xef\x6c\x13\xbb\x12\x10\x0f\xf8\x90\x64\x70\xbc\x7b\x21\x29\x80\x53\xbe\x1a\x61\xb7\xb3\xa4\x99\xed\xc3\x10\x99\x6c\x8b\xc0\x87\x19\x07\xca\x46\x8e\x89\xed\x31\x1a\xdc\xa2\xe2\xb8\x29\x30\x97\x5b\x3e\xfb\xbf\xc0\x3c\xdd\xf4\xd9\x48\xc4\x76\x5e\x8c\x10\x59\x08\x82\x16\x9a\xcd\xdb\x8f\x8c\x36\xd8\x4c\x2d\xac\x3b\x79\x8e\x7a\xbf\x84\x47\x12\xfa\x45\x8d\x27\x7c\x24\xe8\x14\x04\x7d\x74\x23\x19\xa8\x34\xdd\x9f\x92\x7a\x2b\x44\x85\xef\x13\x74\x5f\x7a\x60\xdd\x6b\xb3\x37\x93\x63\x04\xc9\x7d\x3f\x9f\x14\x4e\xb2\x9b\xb6\x95\xb8\xdc\x31\xb9\xd8\x49\x10\x61\x1d\x28\xd5\x81\xca\xa9\x36\x5d\x6d\xff\x52\xd4\x10\xa4\xad\x52\xbd\x12\x17\x29\xff\xf5\x28\x88\xf4\xda\xae\x17\x07\xf6\xf5\x6d\xac\x61\xff\xb9\x96\x1c\xda\x71\x76\xaf\x44\x60\xa6\xd5\x54\x2a\x20\x44\x6f\xb5\x14\x7f\xce\x72\x72\x04\xce\xc6\x89\x9b\x9a\x3d\x4f\xf6\x22\x6b\xb8\xa1\xc7\x8e\x36\xfc\xdd\x9e\x50\xc0\x40\xd7\x2d\x0f\x40\x07\xd3\xfa\x9a\xa7\x67\xe4\xab\xd0\xad\xd6\x2f\xdb\xcc\xde\xff\x67\x21\xeb\x25\x9e\x00\xa7\x21\x63\x20\x06\xbe\xde\x0d\x17\x3d\x38\x34\x4d\xea\x44\xf9\x6b\x67\xd9\xa2\xee\xa1\xd2\xaf\x5f\x74\x8e\x8e\xbd\xb4\x41\xbf\xb4\xe5\x8e\x2d\x42\xfe\xc7\x40\x56\x6a\xcf\x73\xa3\x03\x35\x8f\x7d\x89\xc8\x15\x8c\xf2\x1f\xe8\x5b\x0d\x4a\x41\x7e\xbd\xc8\x6d\x04\x69\xf6\xb9\x1c\x24\xad\x61\x0d\x48\x6d\xed\xc2\x18\xb2\xce\x7a\x8b\x96\x75\x47\x23\x15\x1f\x0d\x00\x76\xff\xf9\xf1\x9d\x11\x2d\x9c\x05\x92\xfb\x8d\x92\xc9\x9d\xcb\x8d\xdf\xaa\x46\xfb\xe0\xd9\x2d\xf4\x6b\x8c\x00\xca\x43\x45\xad\xb6\x9a\x5a\xca\x69\x4a\x86\xcf\x30\x64\x64\x51\xbb\x17\xba\x6e\x60\x7a\x91\x2b\xf1\x09\xd5\xfc\x2d\x3e\x27\xd0\x0d\x94\x56\x00\xa8\xa5\x7c"}, -{{0x43,0xbf,0xb3,0xdb,0xe4,0xd9,0xbd,0xaa,0x82,0xb3,0x54,0xdd,0x59,0x63,0x34,0xe6,0x60,0xd7,0x6f,0xc0,0xb2,0xeb,0x69,0x89,0x93,0xae,0xf3,0x76,0x7f,0x1c,0x7c,0x7f,},{0xd0,0x0a,0xec,0xef,0xf0,0xce,0xb8,0x32,0xc2,0x51,0xd1,0xfe,0x6b,0xcb,0xea,0xea,0xcb,0xb4,0x11,0x3f,0x52,0x81,0xba,0xba,0x4e,0x87,0x8f,0x7b,0x95,0xf9,0x3f,0x07,},{0xa9,0x99,0x55,0x23,0x02,0x0a,0x0d,0x22,0x2b,0xc4,0x8f,0x98,0xd0,0x55,0x04,0xe3,0x06,0x8f,0x30,0x4a,0x6d,0x19,0x70,0x06,0xcc,0x9c,0x03,0x5e,0xea,0xde,0x09,0x9e,0x7a,0xa9,0x7e,0x90,0x89,0x4e,0xad,0x17,0xe8,0xc3,0x0b,0x0a,0xa4,0xa9,0x80,0x88,0xf0,0x38,0xb9,0x22,0x44,0xc4,0xb2,0x0f,0xde,0x96,0x4f,0x85,0x34,0xe8,0xfb,0x03,},"\x3f\x3e\xed\xdc\xae\xf4\xe1\x66\x2a\xdb\x66\xbb\x1b\x20\x7d\x79\x3f\xcb\xef\x81\x50\x05\xe8\x26\x43\xed\x70\xc9\x85\x54\x03\xda\xc2\x8b\x52\x07\x27\xa9\x01\xa5\x32\xd2\x8b\x9b\xd1\x34\x8d\xb2\xf8\x96\x7b\xbb\x8c\x90\x98\xb0\x7f\x57\x0a\x2e\xae\x1e\xe4\x82\x64\x0c\x0b\x67\xa5\x2a\x38\x61\x21\x33\xa1\x5e\x25\x8e\xde\x38\xcd\xa8\x78\xff\x36\xed\x32\x1d\xff\x87\xcc\x6a\x01\x38\x3b\xa8\x40\x67\xd6\x0a\xf4\x17\x76\xac\xf8\x0a\x8a\x4e\xac\x77\xf7\xd8\x7c\x37\xa7\x04\xa3\xe2\xac\xa1\xe8\x81\x5e\x49\xfb\xca\xb7\x97\xc8\x56\x52\x95\x38\xbe\x07\xd5\x16\x96\x32\x1f\x69\xb0\x9b\x5d\xc5\xa1\x5e\x5f\x0e\x4c\x22\xd2\x28\x37\xf6\x2e\xe4\xc8\xbc\x7f\x25\xa9\x48\x7b\x96\x2c\xc2\x0f\x13\x3f\xcb\x87\x0e\xd1\x25\xcc\xa5\x85\xd1\x81\xbd\x39\xf9\xdf\xa6\x61\xf1\x9b\xe7\x6d\xa7\xf6\x5f\x22\xfb\xbc\x80\x75\x2a\xeb\x39\xe8\xd5\x9e\xd9\x6e\x14\xf5\x95\xd0\x49\x29\x40\x2b\x50\x29\xc6\x0c\xee\x37\xc0\x21\x7b\xc5\x31\xd8\x0d\xb3\x41\xda\xce\x3c\xce\x76\xe6\x43\xaa\xc5\x38\x87\x47\x3e\xdc\x6e\x19\xcb\x39\xfe\xcf\x6a\xf4\x24\xa2\x06\x63\x93\xd1\xc3\x3f\xc7\xb9\x36\x76\xd7\xe6\x10\x5b\x9b\xfc\x96\x7d\x1e\x29\xaf\xdc\x4c\xf1\x5b\xca\xfa\x09\xc2\x95\xa6\xf9\xde\xee\x33\x1a\xb3\xb0\xd4\x93\x12\x6e\x2b\x2f\xff\xb4\x2a\x6b\x68\xe7\x9e\x13\x8d\xb5\x50\x82\x72\x62\xe4\x87\xa8\x3f\x37\xf0\x1d\xd7\x92\x2b\xe7\x5e\x92\xfc\xf5\xd9\xd4\x80\x3b\x3a\xc2\xf3\x5d\xa2\x10\xfb\x38\xb2\x63\xb0\xff\xb6\xc2\x70\x8d\x4b\x55\xb7\x57\xaf\x52\x07\x7a\x7e\x31\x84\xd0\x1e\x82\xf6\x4d\x32\xcc\xe4\xfd\xee\x0f\x8d\x4e\x36\x4b\xcf\xb9\x58\xeb\xbf\xdb\xb6\x22\xb3\x8b\x51\xe9\x30\x27\x1c\x7b\x1b\x70\xaa\x9d\x4b\xb3\xaa\x4b\x99\x7c\x52\x14\x4d\x3a\xa6\x21\x62\x57\x3a\x3a\x1d\x9c\xe4\x6c\xdb\xee\xb8\x44\x9f\x12\x25\xc4\x49\x63\x1e\x88\x97\x52\x1c\xd0\xf6\x37\xb7\x21\xa1\x25\x2b\x8a\x10\xab\x0b\xe8\x70\xaf\xbc\xd8\x9d\x58\xb2\xeb\xb6\x32\x11\x95\x0c\xad\x7a\xb8\x2c\x81\x95\x02\x6b\x50\xea\x8b\x77\xb9\xe9\x0e\xd5\x59\xaf\x44\x84\x30\x88\x51\xa3\xa1\x56\x71\x68\x53\xa8\xac\x4e\xcb\x8c\x5c\xc7\xd9\x35\xb0\xf4\x66\x12\x41\x43\xb1\x17\x7f\x05\xd0\x8b\x97\xd1\xad\x54\x2e\xd2\xc2\x46\x5a\xf1\x85\xe7\xdb\x42\xb6\x9c\xb8\x02\xa7\x17\x94\xa3\x13\x98\x83\x02\x96\x70\xc9\x56\x74\x2a\xaa\xd7\x90\x7a\x71\xd9\x59\x85\xfc\x1d\x45\xb6\x59\x97\xb4\xec\x6c\xe8\x25\x5d\xe9\x59\x27\x0a\xfa\x7d\xe9\x0f\x29\x29\xde\x63\xf9\xb1\x72\x11\xd7\xf1\xae\x82\x0a\xda\x9c\xe3\xe4\x86\x49\x17\x9d\x60\xb0\x14\x94\x93\x48\x1f\x01\xd4\x59\xdb\x7d\xad\x05\x26\xb5\xbd\x9f\x4b\x33\x80\xd2\x5b\xa2\xc5\x02\xba\x8f\xa3\xc4\xd4\x13\x1b\x46\x62\xad\xde\xfb\x41\x82\x7f\x75\x9f\xa7\x1d\x44\x7d\x5f\x02\x92\x45\xf4\x8c\x62\x2e\xb7\xc6\x8c\x8e\x71\x08\x1f\x7f\x78\x9d\xe7\xa2\x83\xd2\xed\xa8\x3a\x7d\x17\x22\xa0\x5f\xb7\x2e\x17\x60\xc2\x40\x40\xc4\xd8\x34\xde\xf5\xdf\x5f\x74\x2e\x02\xb3\x04\x51\xc8\x93\xbc\xf7\xd7\x71\xdb\x78\x4c\xbb\xda\xec\x87\x6d\x8a\xc8\x67\x43\xb5\x29\xa2\x92\x00\x7a\xc7\x53\xc9\x9a\x57\x99\xcc\x32\x4f\xe5\xeb\xb5\x44\x8a\xb5\x54\xb1\x0d\x41\x36\x97\x4a\x12\x54\x2d\x25\xc6\x14\x7c\x67\xc5\xd2\x33\x6c\x9d\xb7\x5c\xba\x2f\xd6\x08\xcd\x43\xab\x95\xbe\xac\xd0\x43\xa1\x34\x9c\xef\xa8\x28\xe2\x3b\x5f\x0b\x6e\x0e\x29\x51\xf3\x35\x3b\xb9\x2b\xfd\x1f\x0a\x49\xc3\x3f\xb3\xcf\x37\x99\xa0\xb5\x43\x19\x8a\xd5\xd0\x3d\x26\x3c\x1a\x06\xc3\x5a\x26\xad\xe1\x51\x84\x91\xc8\xc1\xd2\x7a\x2d\xb0\x33\x80\x89\x32\xcd\x1c\x47\xb5\xa1\x26\x98\x5a\xcb\x8d\x88\x83\x60\xee\xcc\xfe\xb3\xbf\x51\xb0\xd1\x89\xb4\x19\x04\x40\x40\x4d\x12\xfb\xa6\x5d\x0a\x7a\x14\xc6\x20\xc5\x55\xf8\x22"}, -{{0x51,0x4e,0x07,0x0b,0x01,0x90,0xd1,0x8c,0xbe,0x98,0x1a,0x5a,0x15,0x1e,0x77,0x53,0x39,0x8a,0x27,0x2b,0xcf,0x01,0x48,0x13,0xad,0x37,0x97,0x22,0xc3,0x6e,0x13,0x3d,},{0x6f,0xbd,0xe0,0x47,0x4c,0xc4,0x81,0x0e,0xff,0xa5,0x0a,0x07,0x82,0x0c,0x96,0x5a,0xa0,0x03,0x95,0xff,0x3a,0x5b,0x3e,0x2e,0xdd,0x7d,0x35,0x6b,0x7d,0x6a,0xef,0x2b,},{0xb6,0xc3,0x55,0xc9,0x58,0xb5,0xba,0xa7,0xeb,0xe9,0x77,0xa9,0x3f,0xcf,0x53,0x95,0x89,0xa3,0x66,0xd4,0x01,0x60,0xe4,0xe0,0x31,0xb8,0x8a,0xb9,0x64,0x02,0xc7,0xbd,0x57,0x7f,0xf6,0x35,0xfc,0x07,0x78,0x24,0x23,0x59,0x8d,0xca,0x43,0x66,0x81,0x24,0xa8,0xb2,0x87,0x51,0x0e,0x2c,0xfd,0x07,0xa1,0xe8,0xf6,0x19,0xf6,0xc8,0x54,0x0a,},"\x83\x14\x55\x76\x2a\x5d\x80\x09\x7b\xb2\x84\x50\x42\xf4\xc8\x76\xe7\x10\x85\x35\xbe\xd6\x83\xe8\xc4\x46\x19\xd0\x81\x54\xa2\x29\x44\x4b\x10\x1e\x3e\xd7\xc0\x15\x07\xe8\x70\x94\x14\x46\xaf\x97\x8c\x0f\x53\x41\xd1\xac\x1d\xd1\x5b\x14\xe8\x96\x67\x12\xdf\x19\xf5\x2f\xeb\x51\x03\xcf\x62\xb6\x63\x27\x56\x44\x6c\xc7\x54\xdf\x00\xa3\xf6\xdd\x71\x99\x68\xa2\xce\xf6\x6c\x3a\xdf\xb7\xd1\xfc\x49\x1f\xbb\xf3\xd5\x92\x94\xab\x34\x61\x9e\x17\x6d\xb0\xd4\x46\x15\x1e\x37\xea\xa3\xda\xf1\x72\x40\x6e\x98\x3d\x9d\x23\xa6\xb6\x9e\x92\x97\x60\x30\xf5\xac\x70\x40\xad\x51\x14\x12\x9f\xea\xf9\x7a\xf1\x5b\x22\x96\xfa\xe7\x04\x92\xdb\xbe\xb2\xb4\x82\x76\x87\xfb\x79\x87\x15\xc9\xbb\x2c\x32\x55\x7a\x81\xd8\x91\xb8\x97\x05\x29\x00\x70\x71\x59\x75\x1f\x07\xdb\x07\x4c\x77\xf0\x71\x96\x71\xf1\x76\x66\x89\x02\x9a\x3c\xdd\xf3\x9d\xf3\x48\x3c\xf2\xb0\x4f\x71\xc2\x5d\xe0\x5f\xc2\xd0\x2b\xb4\x8e\x53\x9e\xaf\x1a\x32\x16\x46\xcd\x80\xef\x2f\x0a\xc7\x03\xf4\x5e\x73\x89\x53\x08\x00\xe5\xd4\x17\xcc\xea\x8a\x5c\x08\x66\x82\xf0\x47\x45\xd5\x0b\x5d\xfc\x8f\x6e\xdc\x87\xa9\x5c\x7d\x20\x2a\x9c\xfd\x99\x87\x14\xb7\x46\x92\x0e\xbb\xe2\x33\x5b\xca\x1a\x01\x71\x76\x20\x16\xf5\xe4\xbd\xa8\x9c\x57\xd0\xed\xc6\x91\x0c\x6d\x22\xc8\xf9\x09\xda\x3d\xb1\x35\x2f\x0c\x8b\xd1\x8f\x3b\x5a\xac\x25\xf1\x93\xb8\x94\x70\xf9\x76\xbc\x4f\x1a\xff\xb3\xc6\x6b\xc5\x87\x6c\x6f\xe2\xac\x75\x08\x53\x3d\x97\xbb\xcf\x77\x11\x9d\x9a\xae\x19\x3f\x07\xe0\xb6\x4b\x46\x1c\x9c\x6c\x3b\x9d\x29\x3b\xd3\x7d\xe3\xd8\xe1\xab\x1e\x8d\x87\x2c\xd9\x4e\x6c\xf0\xeb\x68\x43\x9f\xdc\xd3\xb2\x5c\xe8\x48\x34\x60\xbd\x8b\x7c\xce\x88\x9f\xb7\x22\xb4\x36\x1e\x11\x8d\xa9\x83\xef\x4a\x9e\x45\xce\xbc\x0c\x1b\x82\x29\xea\x53\xe6\xf5\x55\x05\xf6\x44\xe0\x9a\xca\xa4\xc4\xb8\xcc\x64\x0b\x2c\xd2\xb3\x12\xe1\xc3\xa2\xc0\x26\x69\xe1\xf9\xc0\x63\x11\xc7\x8d\x36\x00\x09\xdb\x9e\x67\xc3\x9b\x49\xd1\xe5\xd7\x70\xc0\x1d\x28\x4b\x0a\x17\xa4\x1b\x4e\x7c\xa7\x45\xd6\x65\xec\x07\x50\x0e\x4d\x9f\xc8\xeb\xc1\xcc\x6a\xf5\x3a\x3f\xc7\x6b\x0c\x3f\x14\x31\xd4\x98\x43\xf2\x0e\x18\x27\x82\xc8\x2b\x3b\x5a\xae\x36\xfe\x20\xca\x64\x26\x18\x06\x8b\xe2\x33\xd4\xb5\xef\x9e\xae\xff\x40\x15\x36\xdc\x59\x3a\x2b\xc1\x83\x44\xf5\x5a\xc5\xd5\xfc\x7b\x3e\xb5\x06\xd1\x1c\xb3\x75\x33\x00\x63\xc6\x20\xc5\x33\x4d\x72\x3c\x7d\x1f\x04\x28\x16\xbc\x47\x85\xb3\x5a\xc0\xe6\xf1\x74\xf7\x36\x87\x8b\x7b\x49\x16\x58\xca\x67\xd8\xfc\xab\x53\x8f\xc6\xec\xd2\x77\xea\xd9\x0d\x95\x4b\x46\x0d\xa4\x25\x3a\x1c\x3a\x30\xb3\xd8\x92\x8f\x69\xac\x98\x76\xa2\x89\x19\x69\xfc\x2d\x06\xa6\x68\x99\x2b\x8e\x21\x15\xdf\xe5\x35\x8a\x71\x24\xba\x7c\xcf\x42\x1d\x80\x54\xea\x04\x34\x44\xcd\xeb\x40\xb7\x16\xdc\x7a\x36\x59\xa3\xca\x94\x34\x72\x93\x48\x90\x60\xe2\xcf\x67\x12\xa2\xa6\xc7\xb8\xad\x14\x67\x85\xfc\x40\xcc\xb9\xda\x28\x78\x30\xd0\x11\xd0\xd2\x4d\xf3\xe7\xaf\xbe\x97\x2d\x6f\x41\x7d\xe5\xcd\x75\xf2\x59\xea\x07\xca\xfd\xde\x20\x5f\xc0\xa3\x65\x13\x5c\x23\x2c\xbd\x7c\x1b\xc5\x39\xfa\x4b\x7e\x1c\xce\x35\x18\x52\x37\xc2\x3f\x80\xae\x97\xc1\x86\xd0\xd3\xb1\x05\x03\xd5\x98\x4a\x20\xec\x41\xc3\xcd\x04\x2c\x28\xa4\xc3\x1f\x95\x74\xb0\x6a\x87\x2b\xf9\x59\xab\x0a\xdd\x1f\x5d\xee\x14\xa1\xe7\x41\xef\x23\x8d\xfc\xde\xc0\x85\xaa\x08\x8d\xcf\x39\xa3\x6d\xda\x8f\x2a\x85\xed\x0d\x36\x2c\xcb\x00\x5d\x02\xe5\xac\xcc\x09\x2a\x37\x6d\xc1\x1a\x56\x61\x70\xd5\x83\xdb\x35\xf1\xde\x0b\xe3\xf1\x59\x08\x59\x6e\x9b\x78\x1a\xc8\x1b\xe0\x7b\x9b\xd2\xaf\x46\xc5\x6f\xb4\xd9\xd8\x42\x76\x01\x1e\x46\x18\xb7\xf7\x6f\x96\x79\x4c\xd0\xfd\x57\xed\x41\x4b\x63"}, -{{0xbc,0x79,0x0a,0x73,0x85,0xdd,0x1d,0xdd,0xc7,0x62,0xe3,0xb2,0x02,0x21,0xdc,0x07,0x8b,0x6c,0x3d,0xa8,0x98,0x6d,0x41,0x80,0x94,0x07,0x27,0x25,0x7c,0xfd,0xcd,0xf1,},{0xc9,0x26,0x46,0x26,0xf6,0x8f,0xed,0xb5,0xb3,0x9c,0x28,0xf0,0x30,0x45,0x3b,0x54,0xd0,0xd5,0x1a,0x98,0xb1,0x77,0x21,0xf2,0x61,0x1d,0x7f,0x27,0x7e,0xf4,0x8b,0x81,},{0x6d,0x6b,0xd6,0x5f,0x37,0x26,0x79,0xfe,0x9d,0x94,0x5f,0xf5,0x65,0x16,0x33,0x3e,0xce,0x0b,0x7a,0x25,0xb1,0x5a,0xd2,0x48,0x73,0x81,0x67,0x0e,0x53,0x6f,0x52,0x46,0x77,0x5e,0xb3,0x9a,0x11,0x4d,0xb2,0xb9,0xcd,0x50,0xf3,0x12,0xb3,0x60,0xd9,0xd0,0xbe,0xa2,0x95,0xdc,0x37,0xb8,0x17,0xb3,0x32,0x89,0x0a,0xdb,0x65,0xe4,0xc4,0x01,},"\x14\x3d\xd7\xbf\xbf\xf2\xad\xc7\x1f\x5d\x12\x3d\x47\x4e\xa0\x69\xdf\x14\xae\x92\x3e\xd9\xbf\x8f\x98\x91\xe6\x0b\xae\x43\xf0\xc9\xf5\x55\x37\xac\x9d\x1a\xe5\x23\xce\x4e\xcf\xd3\x3b\x20\xae\x44\x5e\x9c\x42\x63\x72\x05\x0f\xa5\x21\x7c\x1e\x4f\xb0\x13\x53\xeb\xf2\xe3\x29\x04\xef\x7e\xef\xcf\x72\xe8\x02\x3b\xae\x06\xbb\xb6\x40\xcf\x77\x7d\x5b\x0e\x11\x52\x7b\xc8\x35\x49\x3a\xd6\x98\x0a\x15\x7b\xb2\xd5\x0b\xe2\x33\x65\xe7\x2c\xbf\x0b\x3f\x20\x9e\xf0\xc4\x4a\x00\xb4\x1a\x62\x26\x24\x88\x09\x6c\xae\x5a\x69\x6b\x4d\x64\xcb\xad\x34\x50\x0d\x41\xfb\x4e\x4b\xc7\x0f\x8b\xf6\x21\x44\xd0\x1c\x22\x75\xd6\xd2\x9f\x5d\xe7\x5b\x17\x21\xd5\x04\x6b\x68\x29\x16\x44\x43\xeb\xfd\x9c\x17\x81\x31\x9d\x88\xf5\x40\x10\xed\xc2\x96\xab\xbe\xd0\x2b\x7d\xad\x9b\xa5\x85\xb5\x52\xe0\x00\x5d\xcc\xa4\x00\xbf\x4f\x45\x9e\xed\x7d\xb8\x6e\xa8\x61\x2b\xe9\xe9\x18\xdf\xd4\xe2\x70\x0c\x47\x10\x08\x32\x83\x62\x6f\xac\x75\x44\x17\xe0\x08\x7d\x26\xba\x14\x5d\xfc\x45\xb1\xc9\xbf\x7b\x4d\xd7\x0e\x6c\x50\x87\x47\xef\x80\x5c\x9a\x02\x42\x5a\xeb\xc6\x42\x1e\x0d\xeb\x6a\x79\xd8\x9a\xce\xee\xe0\x1e\xce\xcc\x9f\x3c\xa3\x65\x38\x38\x26\x58\x4c\x43\x0e\xbd\x39\xec\xf0\xa7\x28\x66\xae\x0a\xce\xca\x5a\xd4\xf0\x40\x5b\x67\x77\x9c\x04\xc5\xde\x03\x30\x61\x4d\xa3\x47\x0b\x80\x5d\x78\x7c\xe7\x9a\xc5\xa6\x96\xdd\x6f\x6b\x55\x39\xb1\xa6\x51\xb4\x24\xce\xfb\x19\x49\x1d\xa6\xe0\x88\x92\x23\xcc\x98\x39\x8b\x42\xc0\x04\x14\xff\x8d\x6c\x06\x27\xeb\x97\xcf\xf2\x0a\x8c\xbe\x7f\xcc\xb4\x1d\x81\x0f\xcf\xe8\x58\xca\x74\x75\x24\x7e\xf6\x28\xe8\x4a\x09\xd0\x12\xfe\x12\x23\x5b\x38\xc1\xcc\x9d\x82\xe2\xb6\x9d\x01\xd6\x21\x8c\xfd\x48\xe8\x5f\x26\xae\xad\xd1\x95\x40\x8c\xdd\x4c\x2f\x80\x6a\x89\x04\x1f\xd0\x31\x7f\xb1\xa7\xb6\x20\x9f\x90\x42\x70\xd3\x4e\x60\x61\x95\x04\x72\x88\xb0\xfb\x11\xa5\x72\x29\x38\xf6\x7c\x22\xb3\x13\xf7\xf7\x4b\x20\x25\xc7\x5b\xcd\x1e\xcc\x5a\x9a\xdd\x4a\x64\x0a\x41\xf2\x99\x6e\xb6\x6e\x5a\xf1\x96\x19\x8d\xb5\x8a\x3f\xb9\x93\x8f\x34\x9f\x92\x2a\x24\xd8\x6f\x4e\xd8\xa9\x6a\x09\xa1\x96\xc2\x4d\x6d\x01\xed\x76\xf3\x81\x6c\x05\xc4\xf2\x6b\xac\xa9\xb9\xd6\xdc\xc7\x9b\x58\x0d\xfb\x75\xd6\xc9\x05\xd4\x80\xda\xd7\x69\x51\x85\x4b\xda\x1c\xaa\x7f\x4a\x81\x95\x43\xae\xd0\x1a\xe9\x56\xbf\x30\x58\xfe\x8b\x3c\x7d\x5d\x72\x49\x62\xf1\xa6\xa8\x31\x43\xdd\xad\x27\x4f\xda\x3a\xd5\x78\xe9\x8a\xa9\x67\xc4\x10\xee\x57\x57\x5e\xf0\x1c\x02\x58\x56\x0f\x0a\x1f\xa4\xb7\x93\x27\x79\x6d\xe9\x94\x20\xcf\xd0\xa4\x15\x50\x63\x60\xf1\x24\x2c\xcc\x58\xa6\x88\x09\x27\x75\x0d\xbb\xff\x13\xd7\xc1\xb4\xed\x51\x9c\xda\x35\x72\x10\xf1\x2f\xb0\xd1\xc4\xd4\x8f\x04\x11\xbd\x7e\x05\x8c\xc4\xcb\x93\xd3\xc7\x75\x97\xe2\x65\x3f\xfa\x28\x2d\x3c\x2f\x12\x8a\xc3\x3a\x23\x7a\xf2\xfc\xbc\x9e\xf9\xc8\x11\xf3\x78\x14\xba\x2b\x0b\x85\x09\x3d\x0f\xd1\x8b\x8c\x6f\xb0\x9a\x43\xce\x52\x25\x4d\x23\xd5\x5f\x32\xe1\xd3\x24\x2a\xed\x1f\x23\xd9\xcf\x20\x4a\xa0\xdf\xd4\x4a\x34\x6f\xe0\x9e\x55\xa4\xa0\x6c\xf1\xbe\xf8\xbb\xf3\x7b\xa1\xf1\x59\x8a\x58\xae\xf8\x95\x01\xec\xba\xc0\x45\x35\x43\xe4\x80\xed\x0a\xdd\xe9\x0c\x84\x1d\x95\xeb\xd6\xeb\x23\xba\xa9\xf7\x0f\x83\xc1\x49\xea\xb3\x2d\x09\x13\xc7\x9b\x09\x93\xd0\xe1\xd3\x57\x4f\x0f\x54\x2e\x56\xa2\x06\x16\xcf\xe4\xa8\xbd\x7a\xae\xeb\xe0\xb0\x83\xdc\x2c\xe0\x14\x61\x78\xc0\x74\x82\xa0\x11\x29\xbc\x6f\xef\xdc\x81\x41\xc1\x38\x48\x94\xb6\x9c\xbe\x2f\x29\xda\x18\x8f\x7f\xd4\xac\x34\x1a\x2d\xf6\xfd\x90\xde\xe6\xa4\x46\xd2\x74\x63\x24\xc7\x5c\x1e\xf5\xb1\xac\xe1\x87\xd3\xbc\x16\xd7\x05\x59\x89\x29\x75\xd7\xe4\x71\x38\xf0\x40\x63\x85\xea"}, -{{0xdb,0x3a,0x44,0xdf,0x40,0xd2,0x55,0xa2,0x5c,0xf2,0x3f,0x53,0xc4,0x52,0x23,0xb7,0xd8,0xf1,0xf1,0xf1,0x11,0xba,0x07,0x40,0x6b,0x71,0xe1,0x84,0xa8,0xcd,0x06,0x12,},{0x6b,0x12,0xbd,0x95,0x80,0xae,0x20,0x7a,0x9b,0x0b,0xaa,0x82,0x87,0xb8,0xbb,0x86,0x66,0x93,0x73,0xee,0x5e,0x5a,0x62,0x5a,0xb4,0xa6,0xef,0x2d,0x08,0x71,0x25,0x97,},{0xcc,0x28,0xb5,0xef,0x4b,0x97,0x73,0x63,0x7f,0xae,0x7e,0x5f,0x08,0x4b,0x69,0x94,0xaa,0x35,0x98,0xf8,0xf4,0xa6,0x5d,0x0b,0xb2,0x01,0xd1,0x72,0xd8,0x61,0xa3,0x01,0x49,0xb3,0x33,0x8d,0x3c,0x3a,0xb7,0x5b,0x32,0xb2,0x55,0x95,0xcd,0x8b,0x28,0x96,0x30,0xc3,0x37,0x6a,0xcd,0x10,0xba,0x2a,0xb2,0x6b,0xc1,0xab,0xa9,0x00,0x84,0x0e,},"\x52\xdd\x8b\xa4\xff\xfa\x34\x4d\x1e\x08\x11\xd9\x67\x5c\x31\x3f\x9c\xc0\xe5\xa1\x38\x47\x86\x91\x98\x9d\x2b\x7f\x73\x89\x02\x50\x68\xfa\x35\xf7\x4f\x9a\xea\xf1\xe9\x56\x65\xec\xf8\xd5\x70\x7f\x75\xf6\x5f\x22\x56\xee\xa9\x33\x98\xbe\x59\xc0\xd5\x38\xf5\xe8\x58\x4b\xfb\xb3\xa2\x40\xf5\x01\x6d\x79\x27\x23\x4c\xb3\xea\xc3\x5b\x39\x1b\x8b\x53\xf2\x0e\xd8\xba\xe0\xba\x11\x08\x96\x94\xbf\xea\xde\x11\x07\x16\x56\xd4\xcf\x18\xef\x2d\x36\x81\x92\xe0\x4e\x08\xe3\x02\x4f\xc1\xd2\xfd\xa6\x31\x2a\xfc\xa6\x8d\x10\xc9\xc3\x36\xa0\xe3\x68\x50\xbe\x1a\x4f\x35\xb0\x33\xa8\x5a\x2a\x95\x49\xf2\x67\x3a\x99\x5f\x2a\x9a\xb4\xbd\x46\xc8\xfd\x2d\x83\x8e\x64\xf7\x61\x71\x34\x27\x32\x9c\x9a\xf5\xe4\x21\x1a\x22\xab\x20\x8a\xaa\xb8\x0e\x19\x4c\xd0\xf6\xa5\x02\xb3\x08\xfe\xd6\xc5\x83\x51\x78\x01\xa4\x8e\xd4\x33\x0e\x2f\xad\xdc\xd4\x18\x09\xc3\x91\x9b\x30\xe8\x4d\xb3\xc6\x87\x31\x03\x1e\x79\x85\x7d\xd9\xf9\x7f\xfd\x12\x54\x7d\xa7\x06\x67\x98\x07\x41\x51\xec\x88\xa5\xfa\x96\x3b\x9d\x9d\x83\xba\x2f\xee\x13\x58\x33\x95\x0e\xf7\xbc\x62\xb3\x40\x1e\xa1\x1b\xb3\x6f\x25\x56\x1b\xc0\x52\x2b\xb0\x2d\x8d\xad\x05\x43\xf6\x3d\x54\x7b\xe7\x7d\x0a\x4c\x9b\xf6\x5d\x42\xf3\xa2\x76\x14\x4d\x2e\x47\x4e\x29\x42\xf3\x79\x02\x21\xe2\x6f\xba\xe7\xca\x91\xef\xd8\x59\x21\x99\x08\x35\xfa\xfb\x6d\xc6\x74\x63\x5c\x96\x01\x82\x10\x38\xb5\x27\x11\x34\x3d\x1a\xa2\x5f\x1c\x46\xba\x4e\x3c\x6e\x71\x2b\xac\x19\xe5\x3e\xae\x30\xe5\x24\x6e\x4f\x04\xdd\xf2\xac\xdb\xb3\x41\x63\xc2\x43\x67\x76\x90\xbe\x0b\xf2\xe3\xfa\x16\x48\x70\xb5\xe6\xf5\x36\xb2\x2f\xb8\x9e\x5e\x8e\x1d\x87\xcd\xb3\x40\x44\x97\x7e\xd2\x83\x6e\x54\x4d\x7b\xa4\x93\xdd\x42\xa2\xb6\x49\xbc\xf3\x13\xc5\xb3\x9a\x1d\xbf\xff\x3e\x7f\x2a\x59\xad\xe8\x7d\x3e\x7b\x25\x8f\x58\xe5\x65\xfd\xba\x3e\x4d\x92\xb1\xed\xb8\xbf\xf5\x4d\xc4\x9d\x86\xc5\x3c\x03\x0c\xf5\x8b\x97\xef\x06\x6d\x24\x1b\x54\x05\x30\x21\x39\x05\x73\x9d\x8e\x1a\xa7\x2e\xd9\x0f\x68\x5d\x39\x58\xea\xa2\x42\xb0\xcb\xf7\xa2\xeb\x97\x6e\xe9\x6a\x63\xe6\x67\x86\x46\x41\x69\xa7\x42\xd4\x57\xe4\xd9\x11\x7c\x7d\x66\x42\x84\x45\xa4\x69\x30\xc2\x8b\xa7\xa2\x65\x82\x41\x80\x5e\xbe\x72\xc7\x8e\x02\x03\x5d\x26\x3a\x21\x1e\x59\x0b\x49\x0c\xdb\x84\x41\x50\x62\xee\xd1\x4f\x13\xb8\xa1\xa9\xe7\x7c\x8d\x7b\x75\x51\x5b\x18\xfb\x85\x38\x6e\x4a\x7e\x05\x39\x80\xd3\x0f\x48\x99\xe8\x38\x63\xbe\xe8\x75\x58\x58\x87\xc5\xf4\x8b\x51\x6c\xcb\x73\x1c\x4b\xca\xa3\xdf\x07\xd0\x47\x95\x81\x40\x96\xc7\x9d\x7c\x5f\xdc\x4d\xab\xf5\xe2\x6a\x4c\xa1\x83\x8e\x0e\x5d\x87\xdb\x71\x30\x9b\x81\xea\x7c\xe4\x61\xe5\xe4\x4c\x7a\xb2\xf1\x05\xad\x75\xc5\x43\xc1\xe9\x17\x9c\x36\xa5\xfa\x55\x5e\xc9\x22\xff\xed\x1b\x76\xd2\x58\x01\xdd\x74\xf8\x0c\xd0\xa6\xba\x7b\xc2\x0d\xb0\xad\x58\x0b\x7b\xbb\x9d\xdc\xfd\x93\xad\x1c\x5f\x20\xf3\xe2\x7c\x3e\xa3\xa1\xe7\x1e\xb7\x4f\xf5\xf9\x44\xcd\x3b\x98\xf6\xd0\x45\x29\x59\x30\x11\xc4\xae\xce\xf6\xdc\xaa\x60\xfb\x18\x36\x8c\xb1\x2b\x6e\x39\x1b\x3f\x5d\xf7\x65\xcb\xab\xff\x15\x89\x8c\x84\x79\x6f\xc2\xb5\x3f\xa4\x90\x0d\xad\x03\x4a\x13\xb0\xce\x14\x45\xad\xda\x4e\xf7\x19\xbe\x74\x14\x19\xe2\x31\xe9\x2f\x1f\x66\x7a\x32\x84\x2a\x42\xdb\x79\xbd\x7a\x01\x4a\x80\x9c\x81\x59\x6e\x82\x62\x73\xd1\x6f\xe5\xd4\x04\x58\x24\x2a\xe1\x0e\x12\xe6\x0b\x34\x89\x53\x0c\x66\x22\xb5\xbb\x44\x45\x4f\x29\x61\x6e\x47\xe9\xa2\x97\xce\x1c\xa0\x74\x13\x7f\xd9\xae\x13\xe3\xee\x8e\xdb\xcf\x78\xaf\x26\x54\x59\xdb\x1a\xf3\x42\xdc\x0b\x2f\xc8\x09\xbd\xa0\x15\xb5\xa8\x2b\x2b\x7c\x54\xef\xe4\xe5\xfc\x25\x2e\xb1\x3d\x66\xe8\x08\x93\x6f\x19\x10\xf4\xc4\x8b\xe0\xef\x7a"}, -{{0x77,0x96,0x4d,0xad,0x52,0xb5,0x79,0xb8,0x96,0x67,0x53,0xda,0x31,0x86,0xd1,0xc5,0xe9,0xd3,0x3d,0x33,0xa4,0xdb,0x38,0xbc,0x0d,0x7a,0x1a,0x6c,0x11,0x2c,0x13,0xc2,},{0xfc,0x25,0x12,0x5e,0x78,0x29,0xf6,0x42,0x34,0x37,0x5e,0x52,0xae,0x9f,0x77,0xae,0x10,0x13,0xf9,0x9d,0xf5,0xf9,0x96,0x5a,0xd2,0xaa,0x16,0x58,0x95,0x96,0xd0,0x91,},{0x3d,0x1b,0x4b,0x4e,0x82,0x0d,0x25,0x0b,0xe2,0xa8,0xfa,0x97,0x1e,0x59,0x9e,0x1e,0x98,0x97,0x75,0x28,0xb2,0xf9,0x30,0x18,0x96,0x81,0xa9,0x3b,0x05,0xe1,0xa7,0x06,0xfc,0x80,0xef,0xfa,0x94,0xe9,0x29,0xbc,0x43,0x92,0x16,0x56,0x89,0x73,0x88,0x28,0x8a,0x9b,0x29,0x27,0x1f,0x37,0xa1,0x4b,0xe0,0x14,0xb8,0x73,0xc6,0x8f,0xc9,0x04,},"\xc3\x39\xe7\x18\xa7\x57\xf3\xf3\xbd\x1b\xab\xdd\x2e\x00\xaa\xa5\xcd\x7f\xc9\x00\x5e\xe3\x4b\x6f\xdc\x09\xd7\x1f\xbd\x9c\x92\x89\xab\x1d\xd1\x4d\xba\x2c\xad\x58\xcb\x80\x51\x16\x77\x7b\xd8\x0c\x85\x96\x64\x33\xad\x46\xf9\xca\x6e\x54\xf1\x3d\xd3\xca\x7e\x56\xe4\x7f\xea\x41\xe5\x48\x8a\x45\xad\x53\xbc\x5d\x65\x74\x27\xe1\xd7\x93\x8f\x55\x19\xf1\xb0\x9f\x5b\xdd\x98\xaa\xe5\xac\x96\x43\xef\x78\xeb\xa4\x93\x49\x25\x33\x9a\x15\x5d\xc6\x68\x28\x57\x10\x02\x09\x7a\x11\xa5\xce\xe7\xb5\x1a\x44\x1b\x75\x6b\x0c\xe6\x5b\x77\x9a\xfe\x19\xda\x6a\x18\xef\xc1\x45\xf6\x09\x0c\xe7\x70\xde\x9e\x0e\x91\xf5\x43\x27\x0a\x09\x85\xea\xb4\x75\x29\x3c\xcf\xdd\x31\x41\xc4\x14\x2e\x47\x22\x23\x3b\x26\x74\x99\x44\x76\x41\x23\x5d\x72\x8b\xd7\x5c\xd1\xad\xc0\xdb\x14\x2f\x73\x31\xad\xdd\xf8\xc5\xee\xa3\xd5\x76\x40\x5d\x86\x99\x15\xb5\x60\xf9\x64\xe3\xe0\x00\x3c\x91\xf5\xe9\x6b\xff\xbe\xee\xc7\x3e\x51\x02\x4e\xf5\x2c\x55\xc6\xdc\xb5\x4d\x58\x20\x3e\x62\xf4\xdd\xb6\xe1\x37\xeb\x08\xe1\xbf\x13\x26\x01\x8a\xfd\x1a\x86\xca\xb6\xc8\x41\xe0\x66\x1c\xe0\xa1\xa7\xae\x96\x7f\x24\xc1\xa7\x7f\xc7\xca\x50\x5f\x72\xe5\xf7\x93\x6e\x39\xc6\xf4\x83\x7e\x25\x95\x19\x5a\x69\xcd\x67\x65\x10\xa7\x16\x1a\x4d\xc5\xe3\x18\xf3\xd4\xf3\xac\x0a\xf0\x3f\x8c\x4a\xe5\xbc\xe3\x93\x24\xe9\x73\x8a\xea\x49\xf0\x02\xd3\x2d\x16\xde\x23\x17\xe9\x5a\x9f\x32\xee\x60\x4e\x13\xdb\x80\x38\xb2\x64\xcf\xc1\x7a\xed\x29\xc9\xde\xbf\x81\x91\xde\x9e\x0e\xfc\x95\x1a\xd6\xd5\x48\x67\x06\x8c\xf5\x0a\x26\x9c\x37\xa2\x41\xf8\x52\x06\x78\x8d\x23\x14\x31\x77\xf6\x59\xcc\xa6\x6c\xfc\xe0\x3b\xc0\x50\x22\x55\x33\x7f\x16\xb3\xda\xd6\xf7\x91\x32\xab\xf8\x0f\xf1\x2b\x6d\x22\x81\xe6\x37\xeb\x6c\x71\xf7\x6e\x26\x33\xa1\x14\x56\x52\x40\xee\xd0\x0f\xab\xea\x9e\xd8\xde\x28\xc8\x32\x21\xf8\xcb\x48\x5f\x51\x2d\x90\x08\xbf\xc7\x4a\x36\x6d\x4c\x2b\x4e\xd1\x72\xd3\x67\xe0\x24\x7c\xb6\x50\x98\xc1\x10\x28\x2e\x83\x1d\xf8\xe9\xbd\x4f\xbd\x5f\x4d\xd2\xb7\xf2\x42\x0c\x23\xb8\x5a\x63\x7a\xa2\x26\x2c\x3c\xb8\x84\x05\xf7\x07\x30\xc9\xab\x4c\x9d\x0f\x22\x7e\xe4\xfa\x4e\xf9\x1e\xfe\x9a\x59\xb3\xe6\xd8\x43\xdb\x87\x9f\x56\x50\x05\x9e\x99\xf0\xe4\xa0\x38\x68\x38\xe6\xf9\x87\x6f\x67\xd5\x0f\x89\x83\x2d\xda\x5f\x30\xa9\xcb\xfd\x71\x01\x34\xf9\xb5\xb5\x46\x27\x49\x6a\xa3\xa4\x32\x12\xb0\x7f\x03\xdb\x11\xd3\xd4\xf8\x75\xd4\x1d\x1f\x4a\xc4\x59\x69\xdd\xef\x69\xf8\x1a\x06\xd2\xb0\xc6\x46\xc9\xcd\x93\x1c\xf2\x50\x2f\xef\x0d\xd3\x2a\xbb\xf0\x95\x1e\xd3\x03\xf5\x28\x48\x25\x93\x43\x97\xfc\x22\xe7\x86\x98\xd3\x5a\xd8\x1d\x82\x25\x6b\xf9\xe1\x54\x00\xa1\x09\x16\x23\xa9\x82\x6f\x1e\x57\x79\x23\x67\x41\x7e\xf0\x25\x86\xd6\x4e\x65\x0d\xa9\xac\xe2\xf1\x8a\xa0\xa1\x26\xd8\x67\xca\xc4\xb5\xd4\xc9\x1b\xf5\x20\x9e\x53\x59\x55\x63\x86\xf8\x27\x08\x3e\xb5\x3e\x8b\x47\x09\xff\xfa\xbe\x92\xc6\x1d\x78\xff\xb5\xda\xf1\x02\x74\xe2\x42\xa7\x00\x91\xf3\xf9\xb9\xd5\x96\xc1\x25\x8c\x9a\x63\x38\x4f\x4b\x05\xb0\x28\x66\x12\x22\x18\x1c\x0f\xca\x96\x5f\x0a\x2c\xb5\x6e\x4b\x55\x6d\x6f\xbf\xf7\x1b\x64\xd9\xb3\x58\xda\x31\xaa\x37\xc7\x4f\xf5\x96\x2f\xb8\xd9\x6a\x38\x3d\x04\x97\x24\xc1\x9e\x24\x9c\x9e\xdb\xb2\xa3\x75\xb2\x3c\xe3\x10\x4d\xa0\xec\x58\xd2\x63\x5b\xa0\x3b\x55\x42\x3f\xa2\xdb\x7e\xb3\x49\xa4\xfc\x58\xa1\xef\x54\x0e\xe9\xa0\x2c\x2e\x70\x3c\x68\xd7\xf8\x47\x5f\x43\x4d\xdd\x32\x00\xdb\x1f\x06\x74\x57\x91\xa3\xac\xc3\x16\x0d\xba\x50\xa3\x93\x44\x7f\xfe\xef\x6d\xc7\xb9\x8f\xb0\x66\x84\xcc\x90\xfd\x85\x20\x3d\x11\x9d\xcd\x81\x99\xe4\xd9\xa8\x9a\xe3\x46\x7a\xe4\xbb\x19\xfb\x71\xcf\x74\x70\x29\xc2\x40\x96\xf9\xa5\x0e"}, -{{0x5c,0xaf,0xd8,0x17,0xa4,0x41,0x0c,0xcb,0x27,0x12,0x17,0x23,0xef,0x32,0x07,0xc1,0x73,0x1a,0x08,0x61,0x94,0x5b,0xe9,0x62,0x71,0x4c,0x0e,0xd9,0x50,0x38,0xa1,0x95,},{0x4e,0xa0,0x86,0xbe,0x43,0xec,0xe1,0xc3,0x2d,0x08,0x05,0x9b,0xba,0xdc,0x9e,0x9a,0x2b,0x2f,0x4f,0x3f,0xe3,0x70,0xf1,0xf5,0xcc,0xd7,0xdb,0xde,0xc0,0xaa,0xf3,0x03,},{0x28,0x85,0x15,0xfa,0x72,0x59,0xf1,0xeb,0x58,0x7f,0xe8,0xa2,0xc4,0x03,0x43,0x4c,0x46,0xf8,0xd7,0xe7,0x5b,0x6d,0x22,0xbb,0x38,0x96,0x56,0x6c,0x01,0x7d,0x09,0xb6,0x98,0xc2,0xc8,0x07,0x79,0x9c,0x2f,0x65,0xf9,0xcd,0xb4,0xeb,0x58,0x15,0x1c,0xcf,0xc4,0x8d,0x10,0x80,0x61,0xa6,0xb3,0x14,0x84,0x32,0xb2,0xbf,0xc1,0xcd,0xab,0x05,},"\x50\xb2\xf0\x53\x42\x41\x80\x46\xd1\x6a\x30\xbe\x4f\xc6\x2b\x67\xda\xf6\xc1\x8d\x2a\x74\x24\x2b\x7c\xb5\x5b\xa9\x0a\xd2\x0b\x6c\xaf\xdd\x60\x15\x57\x37\xc2\x9d\xe4\x8a\xa5\xd7\x99\xfe\x54\x95\xfe\x59\xdf\x5a\x9b\x8c\x0a\x8e\x54\x18\x90\x47\x63\xfb\xad\x83\xea\x69\x86\x65\x1b\xac\x31\x11\x79\x39\xce\xf4\xe0\xc7\x99\x30\xd5\x2d\xfd\x7d\xb4\x3c\x31\xad\xda\xe3\xcf\x93\xe3\xef\xc5\xa9\x16\xef\xd0\xd6\x5f\xdc\x30\x90\x9f\xa3\x56\xcc\xbc\x52\x47\xd7\xaa\xa0\x67\x13\x1b\x6b\x48\x20\xfd\x02\xf8\xe3\x95\xf5\xa9\x70\x4c\x9b\xdd\x75\x60\xa6\x11\xd6\x25\x59\xa8\xdf\xe1\xd2\x85\x9c\x52\x48\x6c\xc1\x1e\xd3\x33\x19\x92\x48\x8f\x41\x75\x20\xd9\x20\xdc\x73\xa3\x2d\x4f\x08\x11\x00\x82\x50\x0f\x5a\x96\x2a\x30\x69\x32\xc6\xa7\x80\x29\x55\xce\xda\xd7\xab\xf5\x3b\x0f\x19\xfe\x47\x94\xa3\x1d\x6b\x85\x53\x80\x28\x43\x06\xcc\xff\x71\xa4\x00\x78\x59\xa2\x32\x8b\xb1\x90\x24\xc4\x3e\x10\xd7\x70\x64\xd8\x66\xd9\x62\x2d\x14\x2c\x27\x35\x4b\x84\xac\x3b\x4f\x82\x32\xf7\xa2\xf8\xaf\x64\x09\xd5\xcc\x75\x7a\x18\xef\x81\x3d\xfa\xf4\xb9\xbc\x04\x0c\xb0\x06\xd7\x7f\x14\x36\x41\xaa\x20\x36\xac\x7b\xc9\x28\xdc\x96\x58\x5d\x9e\x36\xc7\xbc\x9c\x56\x4d\x25\xf1\xc2\xcc\x0b\xea\xb9\xd5\xf2\x07\xe8\x4b\x21\x5f\x1e\x7a\xa6\xfc\x32\x82\x37\xb7\x9c\x39\x92\x3a\x4e\x09\xc7\xc7\x3d\xc6\xb2\x4b\x14\x16\x29\x4d\x79\x8a\x4e\xd5\xf7\x58\x33\x6d\x91\x5a\x87\x0a\x7d\x6b\x75\x92\xb5\xb8\x8a\xac\xe2\xdc\x5f\x26\x7b\xdb\x49\x11\x41\xcb\xba\xe2\xa6\x77\x40\x7c\xc0\x95\x5f\x96\x19\x62\x59\x93\x04\xba\x0b\x83\x96\x71\xa5\xc0\x00\xe9\x20\x10\x8a\x05\x29\x80\x87\xe4\x97\x70\xae\xee\xaa\xb3\x63\x27\x24\xcb\x0f\xc2\x28\x57\x96\xdc\x41\x48\x14\xfd\xa7\x8a\x54\xe6\x7f\x00\xa0\x2f\x77\xd3\xcc\xde\x1e\xd9\xd7\xb1\xde\xf1\x4e\xa1\xf6\x19\x10\xbd\xf3\x0a\x11\x96\xfc\x63\x51\xb6\x22\x54\xd6\x44\x5e\x6c\x90\x44\x5b\x16\xef\xaf\xe2\x89\xa2\x78\x4b\x92\xe4\x2b\x78\xa4\xa9\x00\xc3\x5f\x55\x63\x0b\xbb\x77\x62\xff\x9e\xb7\xfe\xf7\xd0\x4c\x90\xb9\x57\x1c\x4f\xc7\x60\xa4\x10\xdb\xfc\x25\x29\x91\xd0\xba\x27\xf2\xd4\x14\xfe\x64\xee\xfd\xff\x4a\xbc\x18\x81\x7c\x97\x06\xc6\x31\xbf\xa2\x03\x82\x1d\x3b\x92\xcb\x33\x8b\xaa\xf5\xd1\x23\x2b\x46\x26\x47\x95\x4d\x09\x02\x46\x2f\xb1\x69\x6e\x99\x1f\x07\xfa\x9c\x3d\xbc\xf2\x87\x29\x60\x83\x1b\x4d\xed\x92\xa4\x21\xcf\x21\xb7\x53\x16\x5f\xf3\x09\xef\xe2\xef\x54\x38\xc0\x12\x70\xd1\x0c\x6a\x03\xd3\x4f\x71\xeb\xc2\xda\xb1\xda\x90\xda\xa3\x57\x98\x4d\x24\x62\xbc\xb3\x5e\xe3\xde\x55\xc3\xa5\x5f\x8b\x98\xae\xc2\x11\x4f\x74\xc8\x43\x41\xa6\x41\x27\x86\x3c\x12\x0b\x5e\xca\xd9\xe3\x29\xa5\x75\x6a\xe4\xa2\x55\x5d\x84\x92\xcd\xa8\x35\x22\x5a\x8d\xeb\x3f\x9c\x15\x58\xf0\xd4\x25\xbc\x17\x2f\xf7\x64\x0c\xc7\x9d\x97\x80\x04\x16\xfd\x62\x94\xcc\xcc\x70\xcd\x1c\xf5\xb6\xa8\xe2\xaa\x07\x28\x9b\xd5\x22\xbf\x99\xdc\x96\xc3\x6b\xfe\xe8\x0e\x84\x6f\x5d\xd7\x46\xdd\x4c\x50\x03\xe4\xbf\x7d\x29\xef\xee\xa7\x50\x8a\x01\x61\x23\x68\x82\xc9\xa8\x2a\x56\xaa\x2c\x25\x74\x66\x96\x52\xc6\x30\x92\x3a\xb4\x70\xdd\xb9\x5d\x45\x6f\x7b\x8e\x8f\x07\x59\x9b\xa0\xd1\xd3\x8b\xc7\xf8\x17\x6e\x3f\xdf\x02\x09\xbd\x6f\x75\xd4\xcc\x11\x80\x3a\xfb\x18\x56\xcb\xc0\xe9\x1c\x73\x73\x0e\x4f\xb9\x8f\x3c\x94\x8a\x87\xd5\xa7\xed\xcc\x0a\x6a\x8a\xc8\x10\xea\x3e\xaa\x6e\x06\x3c\xec\x5f\x55\x66\xcd\x6d\xed\xc5\x37\xdb\x6d\x68\x6b\x80\x21\xf6\xea\x82\x5a\xd7\x47\x5e\xc7\xf1\xc5\xdb\xde\x45\xd3\xff\x4b\x5e\xe5\x1c\x0d\x04\xf1\xd7\x40\x18\xeb\x91\xe5\x04\x0d\x01\xc8\xb7\x1a\x4a\xab\xbd\xe6\x09\x4d\x4a\xfe\xcc\xb1\x8d\xfc\xde\xd7\x3e\xa7\x5e\x3b\x9f\x8c\xe1\x67\xdf\x62\x09\xae"}, -{{0xd5,0xca,0xc8,0x55,0x21,0xaf,0x78,0x1f,0x3d,0x5f,0x66,0x86,0x2a,0x04,0xb0,0x87,0xd0,0xcc,0xdc,0xac,0x92,0x6c,0xfe,0x9e,0x74,0x7b,0xe8,0xd5,0xc2,0x63,0x3f,0x78,},{0x10,0x0d,0xcc,0x53,0x03,0x9b,0xf0,0x5e,0xa0,0xa9,0xf5,0x88,0x82,0x12,0x69,0x3d,0x4f,0x9e,0x0e,0x75,0x25,0x95,0xbb,0xcd,0x02,0x06,0x10,0xe0,0xae,0x21,0x35,0x96,},{0x5d,0xc0,0x33,0x63,0x41,0x4e,0xea,0xc0,0x08,0x6f,0xb6,0xfe,0xba,0x44,0x21,0x7c,0xef,0x4c,0x52,0x0d,0xb6,0x19,0x26,0xdf,0x68,0x0c,0xa6,0x02,0xdc,0x11,0x00,0x3c,0xe6,0xaf,0xbf,0x3d,0x13,0xc8,0xc5,0xb0,0x52,0x73,0xd2,0x14,0x15,0xe6,0x7c,0x14,0xa2,0xee,0x5d,0x0b,0x1d,0x53,0x52,0x41,0x9a,0xb9,0xb3,0x9c,0x00,0x3a,0x51,0x0c,},"\xd5\xe7\xdd\x59\x49\x09\x37\x5a\x4b\xe0\x8e\x74\x82\x5d\x59\x8d\x53\x5b\xf4\x6e\xc0\x84\xde\x52\xb5\x73\x91\xc1\x27\xef\xf5\x22\x4a\xb2\xd1\x94\xdf\xb2\x66\x33\x47\x8d\x02\xfb\xda\x74\xd1\xdc\x58\x21\xf7\x91\xbf\x96\x2d\x8d\xad\x9e\x4e\xf2\x42\x24\x89\x19\x07\xb0\x18\x9c\xcc\xc8\xb1\x33\xd3\xaa\x20\x78\x92\x6d\xae\xf2\x89\x8c\x19\xc2\xe0\xbf\xe0\x20\x41\xa9\x04\xb9\xf0\x4b\xe7\xcb\x50\xae\xd0\xd9\x62\xd1\xad\xd2\x0b\x40\xa8\x8a\xb7\xab\xad\x62\x6c\xf4\xda\x0a\x78\xf9\xf5\x36\x85\x50\x1f\xdf\xa5\x85\x43\xdd\xf2\xea\x0e\xea\x69\xe7\xba\x16\x0f\x8a\x17\x7a\x25\xfc\x21\xe8\xa2\x9c\x66\x16\x33\xe3\x0e\x52\x3b\x0e\xc0\x1b\x2a\xee\xe2\xd4\x26\xe4\xae\xad\x45\x74\x88\x10\x8f\xe5\xf5\x69\xcf\x6e\x2f\xdb\x68\xc2\x8f\x2b\x30\x52\x82\x35\x77\xcd\x93\x4e\x7b\x06\x2c\x8a\x34\x24\xcd\x43\x67\xfb\x31\x5b\x74\x4c\xa3\x52\x55\xd7\xf1\xaf\x4e\xdc\x9b\xc9\xd8\x83\x71\x23\xd9\x79\x03\xb4\x3d\xf3\x67\xc7\xd4\x18\xc7\x93\x47\xff\xaf\xe7\xc7\xb1\x72\x4b\xba\x34\xed\xe8\xd3\x56\x8d\xb5\x05\x98\x3e\xad\x47\xf6\x2b\x56\xe3\x61\x8c\x11\xdb\x8f\xf0\xbf\x49\x2a\xc6\x75\x97\xd2\xf9\x6a\x6f\x42\x0f\xf9\x85\x34\x1b\x78\x6a\xd6\xce\xae\xdd\x10\x5d\x0d\x15\x63\xb2\xd5\x35\x43\xd7\x8e\x72\x56\x72\x5d\x20\x4e\x82\xed\x3a\x2e\x6a\x6e\x83\xdf\x61\xfc\x28\x2a\x62\xca\x06\xe6\x21\x74\xb5\x5b\xef\x40\xa0\xbd\xf8\xd2\x3d\x1c\x33\x0c\x71\x44\x14\x85\xee\x85\xe7\x0c\xed\x12\x1e\xac\x60\x7f\x58\x06\x78\x16\x3e\x4b\xd7\x5c\x67\x09\xff\x3b\x41\xde\x80\x59\x4b\x9e\x2f\x2a\xa2\x78\xfe\xfc\x21\xd7\x3e\xe3\xf7\x28\x54\xb9\x58\xd9\xa8\xf6\x3e\x3d\x70\xf7\xfe\xad\x8c\x3d\xca\x8e\x71\xbf\x4b\x9c\x2a\x36\xf2\x12\xb3\x2e\xb3\x29\x2e\x63\x55\x80\x38\x65\x59\xee\x1a\x11\xdf\x15\x29\x3a\x0c\x21\xcd\x73\x60\x86\x98\x46\xba\x5b\x7b\xa8\x5c\x99\x4f\x5b\x2f\x9c\xc5\x0e\x5e\xea\x8e\x4b\x36\x91\xd8\x86\x06\x2a\x18\xcf\xb1\x82\xf1\xe8\xb6\x11\xfe\x1b\xc2\x63\x15\x9c\xb8\xa0\x86\x78\x7c\x81\x1b\xea\x48\x12\x53\x00\x08\xc7\x0c\xa0\xc4\x7e\x64\xeb\x2f\xba\xd5\xb0\x27\x27\xa6\x6f\x2c\xdd\x6d\xde\x86\xf5\xd2\xa9\x64\x5a\x1e\x9a\xa6\x6e\xe0\xe1\x5b\x97\xf5\xfd\x22\x95\x96\xee\x02\xe6\x61\xca\xb9\xa5\x4e\xee\x1b\x81\xf9\x8f\xe2\x56\xed\x6c\x54\xfe\xaa\xa0\xba\x04\x7e\xea\x35\x33\x44\xf6\xe5\xc6\x2b\xe1\xe9\xd5\xc0\x9a\x2a\x69\x94\x11\x11\x0c\x56\xd1\x94\x9e\x90\xc0\x7b\x19\x38\xba\x95\x55\xac\x1b\xe8\x51\x1b\x51\x02\x18\xd7\xcd\xe7\xe1\xd7\x4a\x68\xaf\xb6\x42\xf8\x17\x15\xfe\x9e\x6c\x96\xc5\x03\x81\xae\x5a\x9d\xf3\x06\x51\x87\x85\xdc\x4d\xbc\x3a\x64\xf6\x0f\x24\x5c\x56\x4b\x80\x29\x51\x2f\x38\x1b\x56\xee\x78\x77\x03\x42\x68\x03\xc8\x0a\xb1\xc3\x11\xf4\x77\xb8\x91\x70\x8b\x59\xfa\x74\x8f\x32\xde\xbf\x54\xd2\x41\x37\x71\x97\x8c\x26\x5c\x9b\x87\x11\x4a\xdf\x25\xb8\x33\x7a\xa9\x3b\x0e\x63\x2a\x5b\x6e\xda\x47\x4b\xec\x16\x32\x81\x59\xfb\xed\x06\x7b\x00\xb8\x7a\xdd\x61\x96\x54\x92\xec\xcc\x6f\xd3\x46\x1c\x10\x00\xe4\x03\x7a\xb1\xe8\xac\x89\xa8\x52\x4f\x78\xae\x09\xd3\x08\xea\x6c\x94\xff\x88\x37\x32\xb7\x12\xee\xc0\xef\x07\x71\x8d\x33\xc0\x11\xb9\x39\x8f\x8c\xfe\xa7\x33\x07\x5a\xf3\x31\xfb\x3f\x97\xcd\xc1\xe8\xc9\x9f\x6a\x10\x72\x5a\x68\xc5\xc5\x8f\xdd\x8b\x0b\xaa\x50\x22\x7f\x34\xd7\x3d\x23\x90\x52\x03\x69\x8e\xaf\xf6\x26\x65\x4c\xe8\x3d\x86\x51\x08\x49\x9b\xe6\x86\x1f\x61\x41\xbf\xa6\x21\x9d\x7a\xb8\xb5\x84\x51\x91\x99\xf8\x80\xcf\xa1\xb2\x6d\x91\x94\xd3\x01\x71\x1c\x30\xfb\x44\x6d\x6e\xa7\x64\xa4\x31\x0f\x70\xe4\xb8\x59\xcf\x95\xfd\x44\xaa\xf8\xc1\xe2\x40\xe8\x0a\x71\x61\x1d\xbc\xf5\x2d\xa5\x8e\xdc\x32\x03\x11\xde\x38\x8d\x5d\x9d\x76\x9e\xb5\x9b\xe0\x93"}, -{{0x15,0x9a,0x9e,0xdd,0xea,0x5d,0xe6,0x34,0x03,0x98,0x7b,0x56,0x70,0xdb,0x6f,0xac,0x98,0xff,0xe5,0xec,0x3a,0x6c,0xf0,0x15,0x16,0xee,0x2c,0x70,0xce,0x3b,0x3b,0xe0,},{0xf6,0x1f,0x4a,0x04,0xa5,0xa1,0x2c,0xca,0xec,0xfa,0xf4,0x4c,0x1c,0x9c,0x18,0x88,0x47,0x5a,0x2c,0x89,0xfb,0x02,0xf2,0x6b,0xb8,0x1a,0xb5,0xf7,0x8f,0x4c,0xe3,0xa8,},{0x05,0x43,0x71,0x2c,0xef,0xa2,0x9a,0x22,0x0d,0x90,0xf8,0x1b,0xaa,0x4e,0x4c,0xf7,0x7a,0xc6,0x52,0x08,0xb2,0xd5,0xce,0x9f,0xd1,0x7c,0xe2,0x14,0xad,0x4a,0x93,0x7b,0x7f,0xc5,0xc7,0x86,0x41,0x3b,0x58,0x05,0x1c,0xca,0x3b,0xb8,0xb2,0xeb,0x55,0x65,0x7d,0x89,0x57,0x2b,0xc5,0x0e,0xa2,0xe5,0xec,0xdc,0x55,0x50,0x88,0x49,0x16,0x03,},"\xd1\x95\xe5\x90\x0d\xd3\x93\x14\x81\xbc\x01\x2e\x77\xbf\x06\x0a\xaf\x31\xcc\xcb\x0f\xe1\xa6\xc4\x0e\xaf\x28\x6a\x61\x66\xa1\x66\xb1\xea\x37\x05\x34\x26\x28\x4b\x92\x0c\x67\xfe\xe1\xd4\xb9\xd8\x6f\xb8\x61\xcc\x6e\xdd\x34\xe1\x0c\x52\x23\x37\x34\xd9\xcd\x92\xf5\xdb\xf4\x33\x51\x2e\xd2\x55\xac\x6b\x26\xe5\x6f\x5c\x66\x4b\xcc\xb2\x60\x69\x2c\xf4\x9d\x08\x36\x3e\xe9\x4e\x33\x6a\xcc\x48\x96\x00\xa6\xaa\x51\x2a\x04\x0f\x10\xeb\xf1\x8f\x7d\x2c\xbe\xe9\xca\xd1\x4c\x4f\xf8\x73\x77\xa3\x26\x34\x19\xd8\x29\x75\x29\x40\x1f\x15\x33\x7a\x4c\x4d\x23\x25\xed\x7d\xef\x76\x3a\x0d\x47\x9c\xaa\x40\x82\x66\x83\x4d\xa2\x42\xf3\xa1\x6b\x79\xa4\x58\x66\xb9\xd9\xd7\x1a\x48\x29\x31\x76\x74\xcf\xf7\xae\x6c\x8c\x58\x7b\xa4\xd4\x98\x0e\x81\x86\x13\xd3\xad\x82\x50\x7a\x7a\xb0\x32\xbb\xf9\x9c\x5e\x9b\x64\x03\x71\xbb\x41\xb9\x1e\x96\x5d\xc3\x1e\x8c\x7d\x4b\x3b\xaf\xd4\x95\x70\x52\x7f\xaa\xa8\x7a\xbb\xf6\x41\x6c\x47\xb1\xb1\xb0\x9d\x34\x01\x25\x31\x26\xcb\x24\x6a\xe4\x5a\xcf\x5f\x10\x0b\xb1\xf9\x2f\x11\xa5\xc6\xc9\x37\xe0\x58\x8d\x8b\x14\x6b\x3e\x4d\x3c\x7e\x5b\xf5\x74\x84\xe9\x84\xfe\x3a\xfc\x47\x72\xf2\x4e\xbf\x89\x4c\xdb\x39\x83\x7f\xbd\x46\x9a\x92\x1a\x96\xac\x5a\xf5\xe0\x70\xf6\xc9\x62\x4c\x58\x8e\x9d\x4f\xe6\xdd\xfe\xed\x1f\x8f\xe2\x0e\xb9\xc4\x60\xce\x6e\xe3\x8b\xf4\x71\xdd\x56\xdc\xf2\xe3\xee\x99\x8b\x8e\x7f\xdc\xf6\x12\xe7\x8a\x2e\x7c\x71\x73\xc0\x16\x09\x82\xbe\xde\xcc\x2c\x62\x1e\x5f\x66\x11\xb4\xef\x21\x02\xe3\x2e\x7c\x29\x80\x3a\x7e\x25\xfe\xe1\x51\x24\x31\x58\xa7\x6e\xe5\xd8\xc1\xbb\x2e\x7d\x8c\x88\x87\x1b\xa4\x33\xc5\xe5\x41\xc2\x60\x26\x93\xd9\x01\x10\xbe\x79\x5b\x52\x3a\x8f\xad\xb6\x05\xd8\xe3\xd7\xe4\x93\xfe\x24\x5d\x9c\xc5\x32\x0d\x32\xb8\x5d\x61\x35\xa4\x4b\x11\x68\x72\x94\x14\xc2\xca\x21\x56\x0f\xb4\xfe\xec\xde\xef\x0c\xf7\xd8\xe0\x71\x27\x4e\x88\x56\xc0\x04\x03\x3e\x80\x01\x3c\x73\xaf\x71\x77\xc3\x19\x78\x16\xa5\x03\x2d\x90\x59\xb1\xb6\xe4\x15\x2c\x38\x61\x92\xdd\x54\xb9\x0f\x9d\x30\x8b\xe9\x8e\xd7\xd0\xca\x9d\x12\xe8\xaa\xf6\xf9\xd8\x69\x38\x6a\xa9\xdb\xb0\x15\x93\xd3\x7e\x72\xf0\x90\x12\x4d\x34\x55\x29\x8e\x9b\x4c\x9e\xc3\xca\xe7\x3b\xb8\xee\x41\xeb\x63\xe3\x8c\x56\x13\x3e\xfd\xba\xf4\x49\xb8\x4e\x1e\x49\x1e\x49\x6f\x1c\x70\xa4\x4d\x06\x99\x86\xba\x88\x18\x42\x20\x69\x06\x1b\xb6\xeb\xcb\x7b\x20\x54\xe6\x3d\xf3\x81\xba\x03\xc6\xa7\x67\x4a\xbd\x61\x05\x0d\x69\x3d\x41\xbf\xe3\xca\x50\x46\xc6\x5f\xfb\x06\xa0\x74\x98\x09\xe5\x8d\x4c\x93\xa9\xff\x69\xed\x30\x95\x0b\xde\x1f\x99\x21\x6f\xff\x29\x9f\x22\xf1\x6b\x07\xc2\x54\xc2\x65\xae\x0b\x12\xe3\x13\x16\x3c\xcd\xf5\x03\x6d\x49\x05\x5f\x9a\x96\x67\xb0\xb7\x12\x92\xbc\x3b\x62\x60\xcb\x87\x56\x8f\xd2\x67\x17\x0b\xc9\x40\xc3\x33\x29\xd7\x29\xc9\xe3\x2d\x0f\x91\x80\xb1\x34\xbf\xf8\xae\x93\xb1\xbf\xeb\xfa\x38\x42\xfe\xf2\x0b\xc0\x4a\x29\x7b\x00\xa8\x4a\x0f\x42\x8d\x5f\x42\xfa\xb8\x61\x42\x99\x6d\x4a\xd9\xef\xab\xc4\x98\x52\xf8\x81\x2f\x3b\xfb\x5e\x57\x53\x9e\x21\x86\xeb\x8a\xe2\x29\x58\x0b\xc6\x04\x48\xac\xde\xf5\x72\x3c\x88\x15\x88\xb5\x37\x89\xf0\x5b\x91\xe0\x22\x89\x22\x32\x52\xd7\x53\xf7\x98\x13\x77\x9a\xce\x70\x5e\x04\xae\xd1\x52\x65\xd3\xbd\xf2\xa2\xe4\xb1\x56\x54\x77\x0a\x27\x58\x54\xe6\x4c\xf4\x43\x90\x60\x7a\x45\xd7\xbb\xa9\xaf\x3e\x1a\x2e\x28\x30\x67\xfc\xd6\xe6\x33\xaa\x2d\x24\x03\xbd\x81\xf7\xc7\x92\x76\x55\x10\xb5\x98\x41\x2f\x6b\xda\x07\xb2\xa9\x45\xb9\xf6\xd4\x6a\xb2\xf7\xc3\x20\x07\x5b\xc6\xb6\x0a\x80\xda\xa4\x4a\xf3\x91\xf4\xcd\x56\x21\x31\xbb\xdd\x40\x7d\x66\xf8\xdb\x12\x59\xbd\x76\xfa\x7e\x4d\x52\x64\xe1\x45\x54\x6c\x94\x2d\xfe\x90\x07"}, -{{0xed,0xa0,0xfe,0xac,0x0f,0x2a,0xfe,0x01,0x74,0x49,0x15,0x52,0x48,0x7f,0x39,0x62,0x17,0x13,0x32,0xb8,0x22,0xdc,0x3d,0xa4,0x26,0xf9,0xa5,0xf6,0x2b,0xef,0x7b,0x8d,},{0xef,0xf2,0x7c,0xb5,0x1f,0x4d,0x39,0xc2,0x42,0xf3,0x23,0x01,0x9a,0x12,0x34,0x81,0x8e,0xf2,0xe4,0xcd,0x1b,0xda,0xbc,0x0f,0x2d,0x8d,0x21,0x34,0x58,0xdc,0x47,0x1a,},{0x6c,0xbc,0x7e,0x6f,0x5e,0x12,0x14,0x5b,0x01,0x68,0x7a,0xd9,0xca,0x6b,0xf6,0xe4,0x7f,0x94,0x17,0xc2,0xce,0xfa,0xd3,0xfb,0xd6,0x8f,0xd6,0x5d,0xd7,0x4f,0xaa,0x97,0x50,0xcb,0xa9,0x92,0xde,0x4c,0xeb,0xcf,0xcd,0x35,0x80,0x8c,0xbb,0x3f,0xf1,0x2c,0x8d,0x93,0x07,0x99,0xaf,0x36,0xef,0xe7,0x97,0x6b,0xf2,0xfe,0xa7,0x9e,0x3e,0x0e,},"\x90\x11\x19\xda\x4e\xd1\x81\xaa\x9e\x11\x17\x0b\x20\x62\x6e\x00\xab\xf0\xb5\x48\x24\x5e\x3d\xeb\xf9\x4b\xf5\xed\x50\xae\xef\xe9\x42\xb4\x02\xcc\x99\x48\x94\x78\x52\xde\xdf\x2b\x53\x04\x01\x76\x65\x74\x9c\xd4\x7c\x21\xfc\x65\x2e\xe9\x95\x67\x9f\xf9\x31\xe3\x0e\x94\xaf\x98\xb4\xa9\x8f\xd4\x4e\x84\x9e\x98\x47\x0f\xe0\xa7\x6c\xe8\x0c\x61\xf8\x3f\xb4\xe8\x5b\xa5\x23\xee\x3f\xd2\x5d\xb0\x00\x05\x3b\x49\xd0\x93\x0e\x3b\x07\x9e\x86\x6e\x15\x3f\x7d\x86\x36\x7f\x23\xa4\xc4\xab\xc6\x3b\x30\x75\x46\x1e\x90\xe4\xfd\x89\x6d\xa0\x49\x2e\x27\xd7\x14\x94\x1e\x96\x7f\x52\xc9\x3f\xfa\xec\x44\x80\x3f\x57\x87\x7d\x86\x6e\xb5\xf8\xc5\x28\x17\x85\xaa\x48\x26\x79\x2e\x39\x64\xc6\x65\x90\x82\x1e\xea\x66\x75\x20\x74\x26\x40\x18\xa5\x71\xf5\xb0\x13\xb3\x8e\x15\x2c\x95\xc0\x24\x8a\xe6\x03\x68\x22\xa6\x7a\xfc\x9e\x02\x69\x45\x73\x15\x2b\x86\x4c\x56\xc2\xf7\x30\xa0\x82\x10\xf8\x5e\xc4\x6f\x98\x4a\x64\x3d\x51\x6a\x15\xfc\xfa\xa8\x48\x40\xf5\x12\x04\x7d\x11\x0e\x07\x18\xd2\x93\x95\x5f\x01\x58\x25\x7f\xba\x0d\x78\xeb\x7d\xf2\xf0\xb7\x7e\x6e\xeb\x76\xdb\x5e\x71\x70\x73\x10\xe8\x27\x36\x1c\xd4\xe1\x19\x74\x0e\x63\x92\x2d\xb4\x2c\x2c\xeb\x5e\xe1\x75\xd5\x0d\xec\xc7\xb7\x49\xfd\x23\x25\xbc\xe1\xe6\xa8\xf7\x10\xff\xcc\x1e\x1c\x9b\x33\xc3\x80\xe5\x2a\x64\xda\xa9\x58\x5f\xab\xe4\x06\xd9\xcf\x24\x48\x8f\xe2\x6f\x3a\x49\x5f\xb0\xab\x50\xe1\xe2\xba\xd8\x23\x81\xaa\x22\x43\x10\x99\xcc\x8a\x56\x98\x13\xd7\x9c\x9d\x78\x56\x9c\x0d\x95\xda\x9a\xad\x2b\xfb\x57\x75\x8d\x52\xa3\x75\x27\x52\xe0\x23\xd6\x51\xc9\xcb\x66\xa4\x12\xa5\xc8\x0f\x6b\xa5\x47\x93\xf7\xec\x87\xb4\xc5\x98\xfe\xd2\xce\x24\xab\xd7\x60\x87\x08\x89\x5c\x46\x72\x73\x59\xff\xec\xa6\xd6\xc6\x2e\x10\xa6\x78\xca\xa7\x18\xb4\xcd\x26\x32\x92\xcf\xef\x53\x5b\x9f\xbe\x27\x56\xb7\x39\x6d\x69\x7b\x31\x46\xc5\x51\xe6\xaa\xc1\xf5\xf1\xc2\x4b\xe9\xb6\x7a\x1e\x2a\x2a\xff\x74\x53\x01\xba\x6a\x21\x22\x17\xc5\x3d\x68\x16\x81\xbb\xb4\x01\xbf\x4a\x43\x65\x6f\x5d\x15\xcd\xe9\x69\xc1\x78\x00\x99\xa3\x32\x37\xeb\x19\xa3\xb8\x58\x5d\x6b\x5d\xea\x2f\xb5\x77\x84\x5f\x25\xee\x2a\x82\xcc\xf4\xb2\x85\x02\xf9\x0f\xe8\x0b\x8c\xdc\xdf\x2c\xcf\x93\xc4\x34\xc0\xe6\xaa\x5d\x87\x52\xa4\x43\x43\xc2\xb1\x8d\x20\xfe\x40\x04\xc4\x70\x38\x65\x93\x56\xf8\x7a\xbe\xd5\x44\x50\x34\xd8\xe2\xd3\xd1\x47\x68\xf5\xef\x31\x2c\xf1\x02\xa9\x88\x46\x83\xbc\xc0\xcd\x8a\x71\xe3\xec\x36\xfb\xb6\x33\x4a\x1b\xba\xed\x5d\x2b\xf1\x04\x16\xd8\x2b\xd6\x53\x04\x75\x38\x0a\xb6\xe2\x57\x7b\xbc\x69\xce\xbd\xa7\x5f\xaf\x02\xad\x82\x7b\x54\x51\x82\x13\x20\x6f\xd4\xcd\x66\xf2\x52\xb2\x34\xac\xa9\xee\xde\x7e\x3e\xeb\x81\x5d\xdc\xd8\xd5\x19\xc5\xd7\xf5\xd9\xd1\xfb\x9c\xa0\xfa\x44\x67\x99\x00\x95\xfa\x46\x22\x0c\x20\xa2\x07\x1d\xfc\xaa\xd5\xf0\x24\xda\xe3\x41\x6f\x7c\x49\x2d\x75\x74\x88\xc4\x9a\x2e\x4d\xf4\x83\xbc\x9b\x80\x09\x8e\x0d\x5d\x68\x3f\xac\xb8\xc9\x60\x82\x9d\xff\x09\xb3\x03\x36\x9d\x46\xcb\x57\x33\x1f\xf2\x17\x91\xee\x25\xd6\xbe\x7d\xec\x7e\xba\xf1\xb3\x24\x79\xa7\xf5\x14\xdc\x64\x71\x05\xc9\x44\xc3\x6f\x7d\xbf\x0a\x5b\x58\x91\x28\xdb\xaa\xa4\x21\x71\xd6\x42\xf2\x5a\x98\x1c\xe1\xf8\x37\x9f\x91\x69\x0b\x36\xaf\x77\x46\x48\xd5\x62\x4c\x08\xdb\xd0\xa9\x0f\x70\x87\x16\xdf\xab\x20\x24\xda\xe8\x65\xb9\xc4\x9a\xb2\x74\x73\x82\x6c\xd4\xa0\x10\xbf\xdb\x52\x01\x1d\x8c\x7c\xb3\xf4\x21\xca\x8c\xa3\xcd\x04\x86\x88\x91\x88\xe6\x7d\xf0\x0f\xb8\xc2\xa6\x43\xe7\xad\xb2\xf8\x27\x9f\x76\x3e\x5b\x9a\x81\xb6\xdf\xc3\xf7\x21\xfc\x5f\x68\x49\xf6\x67\x36\x78\x8c\xc5\x57\xc4\xeb\xc6\xfc\x68\xd6\xf6\xac\x77\xbe\xdd\xa8\xac\xb3\x62\x24\x3b\xda\x74\xe7\xb2"}, -{{0xec,0x05,0x9f,0xc6,0xbe,0x98,0x3c,0x27,0xec,0xa9,0x3d,0xdc,0xdc,0xb5,0x3a,0xf7,0x28,0x62,0x55,0xda,0x91,0xe2,0xa5,0x6a,0x68,0x4f,0x64,0x1e,0xc2,0xd0,0x9d,0x6e,},{0xff,0xc6,0xcb,0x75,0x1c,0x70,0x07,0x1b,0x65,0xec,0x2a,0xc6,0xb4,0x5f,0xd1,0xd5,0x5f,0xe8,0x36,0x96,0x5f,0x80,0xb3,0xe7,0xc7,0x84,0xfc,0x70,0x4a,0xcb,0xdf,0x69,},{0xa7,0xb8,0x8e,0x5a,0xbf,0x13,0x28,0x24,0xbd,0xde,0x77,0xc5,0xf8,0xdf,0x94,0xab,0x26,0x48,0x1f,0x6b,0xee,0x66,0x0e,0xa1,0x62,0x24,0x70,0x82,0xa2,0x50,0xd3,0x90,0xc7,0x1d,0x32,0x0a,0xd0,0x60,0xd8,0xef,0x34,0x1f,0xb6,0x9a,0x48,0x32,0x94,0xf0,0xd6,0xde,0x72,0x6f,0x0c,0x86,0x2f,0xa3,0x7e,0xa4,0xbc,0x6d,0xab,0x52,0x15,0x09,},"\xd1\xac\x63\x25\xa4\xe6\x90\xfa\x79\x53\x68\x83\xd5\xc2\x0e\xac\xb7\xd9\x64\xc0\x17\x8f\x74\x2c\x2b\x23\x72\x7d\xeb\x62\x64\x5a\xf7\xc8\x19\x22\xa0\xe7\x2e\x5e\x30\xb5\x83\x9a\x2e\xd5\xe5\x67\xec\x31\xce\x22\x41\x15\xb8\x2d\x2b\xf2\x51\xb7\x39\x3f\x01\xb0\xd0\x3a\x60\x2b\xc1\x20\xae\x62\xaf\x7f\xbc\x37\x9d\xfc\xf9\x5b\xbb\xba\x98\x4a\xab\xa3\x4f\xe2\x12\xac\x99\x00\x33\x28\xb8\x32\xc3\x53\x2d\x42\xee\xe1\xe1\x87\x4d\xc2\x2a\xd6\x7d\xb6\xc9\x1d\xbb\xfb\x2b\x45\x78\x5d\xbc\xd3\x99\x17\xd3\x6f\xb4\x8c\x1b\x5d\x6f\x38\xbd\xda\x5d\x28\xfb\xba\x64\x17\x55\x75\xaf\xea\x46\xc8\xed\x67\x57\xff\x30\x16\x4e\x0d\xf2\xe7\x21\x76\xe8\xb6\xc9\xdb\x5b\x5e\xf3\x90\xb7\x2f\x2d\x4d\x94\xe3\xb6\x6f\x0d\x44\xa7\xe0\xf0\x6e\x89\xde\xbc\xdf\x13\x63\xc0\xe7\x5d\x50\xdb\x5b\xb7\x01\x90\xd1\x9f\x66\xa3\x9c\x6f\x7d\xba\x70\xdf\xcd\x4a\x9f\xed\x02\xc2\xf1\xd0\x67\xe7\xc7\x88\xc5\x8f\xdb\x3e\x17\xa2\x37\x7c\xe4\x86\xec\x65\x82\xf3\xba\x99\x7b\xb5\xf7\x0c\xd6\x21\x00\x29\x56\xf5\x13\x1a\xa3\xa1\x61\x7c\x0c\xeb\xcc\xd9\x39\x1d\xe1\x30\x7c\x85\x97\x0a\x8b\xc1\x55\xf5\x19\x87\x26\x68\x45\x0c\x91\x48\x86\x89\xf5\x3c\x2c\x1a\x7e\xd5\x3f\x38\x8c\xb1\x3a\x2c\x38\x96\xfe\x5b\x7d\x3a\x0d\xc1\x68\x3f\x27\x66\x4c\x8b\xea\xea\x68\x0c\x8c\xc5\x4a\x90\xe4\xc6\xf9\x9f\xbf\x05\xf2\xc2\x2d\xf6\x0d\xe9\xae\xc8\x0c\x79\xb7\xd6\x62\x07\x05\x06\x67\xb4\x52\xd7\x85\x7f\x9a\x8c\xa7\x23\x28\x0d\xac\x79\x92\xe2\x07\x92\x67\xec\x3a\xd9\x11\x40\x46\x42\xc4\xe3\x26\xbf\xb9\x6b\x43\xc8\x94\x34\xba\x4b\xc7\x8c\x25\x2f\x4d\x4c\xa8\xd1\x3a\x88\x74\xc6\xfc\x82\x52\xea\x0b\x56\xc6\xbc\x78\x68\x47\xd4\x31\x83\x06\xe1\xc6\x52\xc4\x52\x58\x5e\xef\xd0\xbd\x9d\xd3\xc1\x48\xa7\x3b\xa8\x6e\xed\xea\x94\x5f\x01\x67\x13\xed\x7d\xf0\x85\xd0\x06\x66\x89\xe7\x92\xda\xcb\x2b\xfc\x1e\xb5\xc8\x24\x37\x2a\x26\xc5\xe9\x44\xaa\x74\x44\xac\x97\x73\xd4\xa1\x92\x1e\x49\xbd\xd4\xf8\xf6\xd7\x88\xc2\x63\xfe\xe0\x4c\x7b\x44\x4c\x53\x05\xed\xb6\x33\xe1\xff\xe0\xba\x4e\xa8\xda\x01\x1a\x62\xf2\xbb\xfe\xf4\xb8\x95\xad\x3f\x22\x4c\x3b\xa3\xbf\xf0\xc9\x5d\x75\x75\x0c\x9b\xcc\x66\xff\x8a\x20\xb6\xc2\x4b\xde\x75\x81\xa7\xec\x38\x66\xf8\x71\x6f\x78\x1f\x46\xdc\xad\x45\xa9\xeb\xcb\x6e\xd4\x69\x53\x36\x83\x97\x01\x17\x35\xd4\xb5\x2d\x00\xe8\xdb\x39\x79\x95\xdb\xdb\x3d\x4f\x42\x54\x68\x7f\x04\x68\x8a\x26\x8c\x30\x5b\x2b\x1f\x62\x2c\xf5\x1b\x17\x47\x75\xba\xd7\xf6\x67\x4a\xdc\x2e\x58\xe0\x5c\xce\x86\x5f\x12\xd7\x56\x9c\x8e\x9b\x35\xbc\xdf\x3c\xcc\xe6\x33\x0d\x08\xce\x53\x40\xa7\xc6\x30\xf2\x7a\x6c\x80\x86\xb5\x14\x6b\x29\x2f\xcb\xf5\x0f\xf6\xaa\xae\xf8\x84\x8a\x70\x7b\x25\x43\xc6\x18\xd1\x7b\xd9\x76\xc2\x40\xbc\x79\xd3\x3e\x00\x4e\x49\x53\x48\x29\x15\xe7\xe6\xef\x94\x96\x4b\xde\xa4\xe0\x2d\xd7\xc2\xf4\x75\x23\x5f\x2b\x99\xe4\x32\x29\xc9\xac\x3a\xba\x0d\xb5\x9a\xc2\xda\x03\xa9\xee\x4f\x37\xdb\xf2\x47\xa3\x3e\x6d\xfe\x5b\xe7\xc7\xf8\x25\x84\xf0\x4a\x46\xd4\x9f\x66\x21\xda\x31\xb9\x1a\xc3\xda\xa4\xd6\x8d\x48\xa5\x66\x59\xb4\x48\xc0\xed\x36\x5c\xb4\xaa\x0c\xfd\x90\x88\x53\xdf\x5b\xbf\xa8\x8e\x60\xe1\x0a\x5a\x00\x2c\x32\xab\x33\x33\xf2\xc3\x9b\xbf\x3e\xe0\x1a\x4a\xa6\x0d\x2d\x01\x42\x3e\x60\x97\xdc\x54\x30\x5f\x81\xa2\xd9\x3e\x2f\x6b\x4e\x8b\x35\x19\x71\xcb\xf2\x45\x7d\xc7\x6e\x1f\xb8\x92\x93\x38\x47\x98\xef\x28\x23\x4e\x9b\x1a\x47\xde\xdc\x23\x36\xf8\x6b\x8e\x13\xc4\xae\xf7\x90\xf5\xa1\x12\x39\xc7\x47\xd9\xd8\x65\xc9\xa1\x5a\xde\xb0\x71\x07\x02\x67\xe5\x34\x62\x56\x64\x8a\xdc\x0f\xa4\xdb\xdf\xd7\x87\xca\x14\x65\xfc\x24\x0a\x32\x4c\x3c\xaf\x29\x31\xda\x41\x49\x9e\x27\x5f\xd4\xb3\x5f\x6d\x08\xdb"}, -{{0xf1,0x6a,0xbd,0xbc,0xc0,0xbc,0xc6,0x1a,0x1a,0xee,0x3a,0xbd,0x87,0x67,0xab,0x52,0xe5,0xf7,0x99,0x99,0xbb,0x77,0xa3,0x97,0x6c,0xbc,0x82,0x67,0x0d,0xfd,0x2f,0x73,},{0x10,0xf4,0x51,0x71,0x9d,0xb0,0xfd,0x21,0x37,0x6e,0x22,0x8a,0x41,0xc3,0x03,0x5c,0x8c,0x2b,0xc4,0x2e,0x5a,0xaa,0x92,0x6f,0xe6,0x08,0x87,0x8d,0xbb,0x0d,0xc7,0xab,},{0x33,0xd8,0x05,0x29,0x08,0x69,0xb8,0xe0,0x4f,0xf0,0x89,0xfa,0xa2,0xd1,0xfa,0xb8,0x37,0x43,0xba,0xda,0x68,0xad,0xe5,0xb3,0x8a,0xe5,0xf0,0xcc,0x58,0xc3,0x37,0x4e,0xba,0x43,0x94,0x3c,0x1f,0x51,0x10,0x67,0x8e,0xb3,0x9b,0x46,0x58,0x61,0x18,0x22,0xa2,0x6d,0x35,0xff,0xe1,0x9e,0x9c,0xfc,0xb9,0xba,0x95,0x89,0xe4,0xec,0x31,0x05,},"\xbf\xac\xd7\xdd\x4e\xea\x46\x7d\xcc\xe4\x04\xf4\xa3\x52\x0a\x45\xb9\x4e\xba\xa6\x22\x19\x7d\x02\xd6\x15\x29\xd2\xb3\xbf\x27\x3c\x4e\xe1\xfb\x95\xa1\x80\xc8\xf8\x7d\xe1\x90\xa2\xe5\xea\x70\xb8\x4a\xe1\xeb\x6f\xd4\x44\x7d\x8a\x3a\x8d\xed\x10\xf6\xed\xe2\x4f\x0e\xb9\x2b\xd3\x0b\xc6\x5d\x48\x71\xe8\xf5\xda\x08\xcb\xe8\xcd\x3c\x0a\xc6\x4f\xd5\xa5\x7a\x6b\x06\x4a\x89\xd5\x15\x9b\x42\xf8\xb3\xe5\xa1\x83\x8c\x9c\xb1\x9d\x88\x10\x6c\x07\x73\xa2\x75\xcd\x2a\x1d\x60\x99\x30\xbf\x6b\x30\xae\xca\x62\xb9\x7e\x31\x9b\xbf\xa9\x34\xf4\xd0\xa1\xe6\xac\x80\xba\xeb\xcb\xa2\xd8\xea\x4b\xed\x9c\xa8\x56\x2b\x4a\xcb\x56\x97\x9b\xf8\x85\x32\x4a\xc4\x0a\xb4\xa5\x0b\xfb\x9f\x34\x90\x49\xfc\x75\xa0\xe0\x3d\xe4\xcc\x43\xea\xe3\xc6\xa6\xcf\xfb\x5f\x6a\xe6\xc9\x45\x04\x41\x5e\x6c\x7e\xd3\x04\x5a\x93\x2f\x47\xfd\x20\xb9\xf3\x48\x3a\x77\xb6\xd4\x49\xd8\xdf\xd4\xa6\x38\xdb\xf5\x6f\x03\xf0\xf0\x31\x87\x90\x59\xb2\xfb\x49\x76\x79\x43\xf4\x6b\x38\x72\xe2\xde\x56\x7d\x5f\xef\x80\xb0\x29\x25\xe9\x86\x3e\x0f\x1d\x31\xa8\x0f\x4e\x64\x51\xc3\x25\x69\x4b\x80\xcf\x1f\x19\x18\xc6\xe4\x98\x87\x8e\xdc\x47\xc4\x53\x0c\xac\x46\x6f\x1a\x29\x4d\x55\xdf\x09\xaf\x4f\xdc\x80\x72\xad\xb1\xbf\x26\xca\x8c\x92\xf9\x12\xa2\xb9\xfe\xbc\x8b\x97\xb5\x8c\x1e\x9d\x32\xc7\x80\x32\x30\x52\x97\x2b\x6f\xbd\x53\x30\x4c\x05\x19\x3c\xae\xb6\x7c\x5b\xd3\xe6\x74\x79\x72\x5d\x29\x7d\xff\xb0\x68\x90\xab\xf8\xcd\x9e\x42\x45\x8e\x16\x8a\x61\x18\xf9\x05\xb1\xd5\x34\x86\x01\x6f\x85\xdc\xd9\x8d\xd3\x39\xe3\x46\x05\x33\xd0\xb8\xa4\x9f\xae\x6d\xc1\xa0\x71\x72\x5e\x6a\xe5\xf2\x94\x47\x9e\xe3\xbd\xca\xeb\x74\x06\x18\x41\xfb\x26\x08\xe8\x8a\x49\xfd\x0f\x38\x95\xb1\x8f\x85\xb9\x0f\x72\x41\xdd\x13\x87\x71\x00\x53\xfa\xa6\x2b\xae\x75\xe9\xae\x39\x36\x9c\x1c\x02\xde\x5d\x19\x24\x2e\xfa\x16\xe1\x1d\x44\xa4\xba\x57\x78\xce\x77\x22\xa9\x1c\xec\x0b\xc0\xa0\x8c\x06\x9b\xdf\xa1\x30\xd1\xc6\xc4\xb5\x6c\x6e\x93\x54\x24\x03\xcc\xf2\x76\x84\xde\xf5\x7d\xef\x26\xdf\x86\xce\xd5\x71\x28\x2d\xc9\x60\x97\x46\x18\xf0\xa7\x4a\x0c\xde\x35\xb6\x53\xcc\x6e\x77\x30\x43\x1b\x82\x5f\xfb\x9b\x8a\xaa\xb3\xc7\xa3\x97\xc9\x92\xbc\x2f\xa2\x32\x70\xfb\x11\xee\x43\x1a\xfd\x5f\x9a\x64\x44\x83\x01\x11\x73\x99\x3f\x19\x48\x5d\xd3\xcb\xdd\x18\x7b\xd3\xd9\x95\xeb\xf0\x03\x1b\x1b\x0d\xe4\xa8\xde\x9c\x14\xeb\x6f\x78\x0e\x36\xb8\x92\x57\x56\xb9\x79\x06\xa1\x96\x9d\x85\xe9\x67\xd8\x80\xe6\xe7\xdd\xa4\x2f\xd3\xc3\x00\x19\xf1\x1d\x70\x81\x07\x1e\xee\x66\x26\x42\x28\x36\xbb\xed\x27\xd4\x6d\xd0\xdf\x1f\xeb\x66\x10\xdc\x85\x9f\x51\x3c\x0b\xc6\x53\xd7\x02\x20\xfe\x04\x8d\x2e\x97\xc2\xe0\x6a\xf5\x30\xe1\x1b\xdc\x70\x29\xbc\xcc\x5c\x92\xed\xec\xef\x5e\x4a\x2e\x0b\xe2\xd2\x51\xf4\x41\x5d\xca\x3e\x55\xb3\xa8\x50\xf2\x63\x0b\x87\x9e\x4e\x03\x6c\xe8\x63\x3b\xf2\x09\x20\xb6\x80\x94\x21\x59\x29\xac\xcc\x7b\xe4\x0c\x57\x78\xbc\x55\x4e\x6e\xdd\x7e\x54\xc9\xe1\x45\xb2\xee\x07\xb6\x5d\x06\x1c\x11\xde\x0e\x83\xf3\x81\xce\x4f\x57\xc6\x48\x3f\x51\x06\x93\x63\x51\x10\x74\xc7\xa5\x77\x35\x3b\x45\xc6\xeb\x71\x19\x9d\xce\x50\x59\xfd\x2c\x46\x11\xb0\x54\x23\x8a\xaa\xdf\x2b\x6b\xa5\x34\xbf\xff\xc2\x72\x2a\xe3\xe3\x1f\xf7\x9a\xe2\xeb\xca\x99\xcc\x35\x07\xf8\xa0\x33\xcf\x4f\xea\x70\xc5\x2f\x7d\xb5\xde\x44\x2b\x42\xb8\xd4\x1e\x99\x01\x2e\x42\xca\x0e\x85\xa9\xfb\x6d\x4f\x16\x5b\x33\x0d\xe6\x38\x3c\x57\x26\xef\xca\x2f\xe9\x71\x34\x00\x02\xf5\x62\xdc\x6c\xb8\xf2\xfa\xf0\x66\x57\x25\xe0\x97\x79\x9d\x09\x60\x91\x86\x4d\x66\xa9\x50\xa5\x79\x09\x53\xee\x16\xb9\xea\x58\x20\x09\x21\x87\x08\xc4\xac\xcd\x81\x38\x13\x58\xa2\xc6\x89\xa0\x41\xd0\x2d\x78\x61\x21"}, -{{0xbe,0x79,0xd1,0xae,0xea,0x86,0xe8,0x6f,0x39,0x81,0x37,0xe6,0x2f,0xfd,0x79,0xe5,0x0e,0xff,0x9f,0x31,0x3f,0x25,0x19,0x2f,0x89,0xe5,0x2f,0x0b,0x4b,0xbd,0x5d,0x32,},{0x18,0x7d,0xac,0x85,0x5c,0xa4,0x42,0xfd,0x9a,0x3d,0xdc,0x32,0x89,0xc2,0x4e,0xb2,0xd2,0x6f,0x7a,0x40,0xfb,0x29,0xd8,0xe7,0x44,0x31,0xb2,0x50,0x22,0xc3,0xa0,0xcc,},{0x6d,0xab,0x59,0x3b,0xb1,0xd4,0x48,0xc9,0x74,0xa6,0x5c,0x6a,0x0b,0x6f,0xad,0x22,0xb4,0x73,0x26,0x32,0xd0,0x04,0x89,0x17,0x6e,0xf1,0x26,0xaa,0x59,0x01,0x09,0xe0,0xa7,0x23,0xa1,0x13,0x10,0x7b,0x53,0xe1,0x7d,0x69,0x0a,0x0d,0x40,0xb0,0xfa,0x33,0x6c,0xc8,0x7f,0xd5,0xfc,0xe8,0xf5,0x41,0xac,0xce,0xc6,0x7f,0x7d,0x1e,0xbc,0x06,},"\x6d\x63\x2a\x7d\x3c\x9b\xe5\x36\x49\xd0\xd1\xa5\xee\xdf\x51\x9a\x41\x3b\x13\xac\x64\xe9\xad\x85\x4d\xfa\x04\xf2\xe1\x73\x29\xd8\x22\xbe\x57\x3d\x9e\x35\xac\x06\x6f\x02\x22\x13\xa3\x44\x62\x0b\xba\x28\x9f\x53\x31\x69\x55\x84\xd1\x34\x3e\x81\x54\x05\xae\xab\xe3\x86\x1d\x63\xb3\xa5\xb9\x2b\x8c\xd8\xee\xed\x22\x80\x22\x2a\xbd\xe3\x0a\x1b\xcc\xd3\xf3\xe4\x11\xaa\xb9\x22\xfa\x1b\xaa\x09\x7a\xa5\xc7\x80\xd0\xea\xef\x94\xea\x10\xfe\x21\xf7\xd6\x39\xb7\x6d\x47\x88\xae\xb5\x92\x4a\x9d\x26\x2d\xcb\xc5\x68\x8a\x3e\x43\x54\x4b\xec\x08\x8c\xa2\xe0\xd0\x6d\x77\xa7\x1f\xb6\x41\xd5\x52\x26\x61\x44\x52\xb1\xe0\x80\x7a\x9f\xcd\x3c\xa6\x9b\xf7\xf2\x5d\x80\x41\x47\x0c\xeb\x7b\x21\xea\xd0\x3e\xc0\x37\xa1\x62\x9b\xd5\x00\xaa\x23\x3b\x59\xbe\x44\x97\x82\x10\xb6\xa3\x66\xf2\x23\xac\xfa\x07\x97\x95\x40\x07\xb0\x0e\xfb\x4f\xfa\xdb\x5f\xc9\x2b\xdb\x37\x86\x3e\x50\x2d\x7d\x70\x68\x10\x39\xed\xf3\x37\x70\xdf\x3d\x1d\xe3\x43\xdc\x35\xf2\x26\xd5\xe7\x39\x44\xba\x02\x55\xe2\xa8\x8e\xf6\xc4\x1e\x47\x2b\x21\x45\x67\xc2\x49\x59\x4a\x50\x87\x8b\x67\x31\xc1\xae\xb5\xb1\x0f\xa9\x1f\xa7\x6a\x37\xe1\xf9\xf1\xc0\x0f\xdb\xfe\x34\x85\xde\xd5\x4a\x00\x9a\xb6\x13\x39\x27\x11\x56\x68\xb5\x9f\x51\x15\x50\x8d\xa9\x37\x0f\x6b\xc9\x2a\x11\x85\xc0\xd5\xca\x01\xd2\x91\xe1\x8c\x54\xac\xfa\xca\x73\x8b\xd7\x19\x68\xa3\x42\xa0\xcb\xa6\x2e\x4b\xb1\x04\xa5\xbb\x37\x9f\xc8\x3e\xe1\x82\x0d\x1d\xb9\x80\x25\x3d\x6c\xb3\x83\xe9\x5a\xf1\x5f\x53\xc8\x5d\x17\x58\x90\xdd\xe5\xe4\xed\x03\xd2\xd0\x13\x5e\x3d\x60\xb1\x82\x93\xf5\xb5\x64\x1e\xf8\x3c\x6e\xce\x3d\x52\x59\x8f\xc6\x35\x36\x86\xe6\xf7\xb0\x9f\xde\xc1\xf6\xf1\x53\x67\x2d\x34\xb4\x89\xb4\x8a\x0d\xb9\xe4\x2c\xed\xa7\x17\x55\x48\x1c\x04\x70\x16\xc2\x25\x34\xe9\x0c\x6d\x20\x1e\xd7\x85\x96\x02\x63\x6e\xa7\x7a\xe8\xc6\x73\x4b\x7c\x4c\x5b\xd9\x95\x79\xc5\x08\x73\x1c\x72\x46\xa2\x95\x86\xe4\x06\xe1\xd9\x32\xf6\x71\x30\x71\xd4\xbe\xa6\x3d\xc5\xe2\xa3\x76\x1e\x16\x02\x4d\x2c\x32\x84\xf7\x09\xa1\xf2\xba\x08\x5e\xad\x32\x00\xc7\x04\x62\x75\xcb\x96\xb6\x1a\x60\xb5\xac\x55\x9b\xc4\x88\xbd\x10\x64\x67\xc3\xde\x50\xbf\x5d\x74\x0d\x05\xc9\xcd\x70\x1d\x65\xb7\xda\xea\x29\xe6\x4d\xd5\xa9\x7a\xdb\x6b\x5c\x82\xcf\x7f\x23\x01\x7a\xa7\xca\x1a\xc9\xa3\x9e\x58\x27\xeb\x47\xe2\x0d\x35\x9b\x67\xc7\xd4\xe1\xa8\xe3\xe2\x7c\x52\xd3\x3d\x93\x03\xa5\x92\x62\x34\x84\xd7\x97\xb4\x02\xcb\xb4\x58\xd1\xac\x2e\xa5\x3e\x1c\x4f\x7a\xbb\x70\xcc\x02\x95\x54\xa2\x34\x57\x4d\xef\x9b\xc3\xb0\xd3\x83\x5d\xc3\x14\x90\x2e\x25\xab\xb2\x2d\xfd\xed\xdc\x67\x9a\x3c\xc8\xf0\x73\x40\xb1\x5f\x57\x62\xf4\x40\x7f\x38\x03\x42\x55\x4e\xd0\xc6\x2f\x73\xb6\x18\x16\xea\x8c\x52\x94\x61\xe1\xbf\x0e\x9d\x1c\x2d\x5e\x4c\x57\x46\x33\x6b\xc0\xe1\x32\x87\x3c\xde\x0d\xc2\x15\x8b\x54\xfa\x1b\x67\x8a\x00\x6b\x4d\x95\xed\xa8\xa9\x55\x71\x42\x73\xb7\xcc\x5c\xf2\xad\xd9\x09\x4d\x46\xe4\x9a\xbc\x09\x6a\x45\xf4\x18\xe2\xed\xbe\x99\xdd\x85\x29\x11\x68\x80\x64\xdf\x7c\xf0\x61\xd0\x7a\xee\xf4\x27\x95\x69\x0f\x48\xc9\xba\x19\x56\x54\x75\xd5\x46\x8a\x9e\xf4\x5d\x7b\xf7\x5f\xd7\x11\x82\xdd\x6e\x64\x01\x38\xf1\x82\xa6\xa0\xc6\xcb\xbd\x00\xc4\x95\xc4\x38\x95\x30\xac\x8e\x67\x96\x0e\xb5\xc5\x76\x3f\x54\x84\xea\xb1\xc1\xab\x85\x01\x40\xda\x04\x2b\xa4\x7e\xd8\x52\x88\x00\xd4\x17\x87\xf0\x75\xfe\x0d\x85\x50\x1a\x7a\xb7\x66\x35\xd0\x34\x10\xd2\x86\xc0\xe1\x7d\xb4\x02\x3a\x76\x39\x74\x68\xcc\xb0\x91\xcc\x5a\xc1\xf6\x43\x45\x87\x91\x3e\xab\x92\x2b\x50\xca\x55\x67\x01\x6d\xde\xa3\x2f\xb5\x32\x55\xbe\x67\xf2\xdc\xf9\xff\xa8\x5d\x11\x7f\x1a\x65\x5f\xa7\x0d\xd3\xa5\x4c\xf9\x91\x53\x1f\x19\x13\x0e\xaa"}, -{{0x26,0x99,0x52,0x17,0x2c,0x3f,0xa9,0x76,0xde,0xfb,0xf4,0x0b,0xd6,0xed,0xd8,0xf1,0x5c,0xfd,0x4b,0xe1,0x0c,0x75,0x8e,0x37,0x41,0xd7,0x41,0x62,0xd8,0xea,0x22,0x9a,},{0x4a,0xea,0x57,0xc7,0x21,0xe3,0xdc,0xca,0x82,0x39,0xe9,0xad,0x9b,0x22,0xc1,0x9b,0xab,0x8d,0xf7,0x2c,0x88,0x79,0x3b,0x24,0xd8,0xdc,0x47,0xcf,0x97,0x40,0xfc,0xf8,},{0x3a,0xc8,0x0d,0x1e,0x8f,0x68,0xb4,0x05,0x8c,0x3a,0x04,0xda,0xd7,0x18,0x73,0x73,0x95,0x9f,0x26,0xa2,0x70,0x02,0x49,0x6f,0x8a,0xfa,0xac,0xcd,0x8b,0xea,0x09,0x01,0xc5,0x4c,0xab,0x87,0xb2,0xa2,0x30,0x2e,0x1f,0x36,0x25,0xc2,0xb0,0x6c,0x7e,0xbc,0xf3,0xce,0x96,0xde,0x3a,0xfd,0xf0,0x0f,0x51,0x94,0xa3,0x5e,0x05,0x52,0xc7,0x0e,},"\x7c\xcb\x6a\x05\x70\xc5\x33\x73\x7b\x9a\x53\x4a\x34\x1a\x7a\x96\xdc\x76\x52\x8b\x99\x7a\x9b\x48\xe6\xe0\xfd\xe1\x0f\x47\x4b\x27\xec\x98\x99\x12\xd1\x76\xca\xb7\x42\xd8\x9a\x84\x8b\x36\x66\xe9\x27\x7d\x69\x5b\x02\x2f\xd5\x3a\x9e\xb8\x9e\x88\xc7\x20\x39\x9e\x24\xed\x25\xdb\x9e\xb3\x5d\x6d\xa0\x09\xe9\xf0\x24\xef\x8e\x65\x51\x65\xbd\xef\x1c\x0d\x79\x7c\x74\xf0\x19\xcd\x59\x1a\x04\x42\xa1\x2d\x1c\xa8\x93\x83\x6c\xa2\x62\x8b\x33\xe8\x54\xf3\x42\x8e\xec\x4a\xa5\xed\x84\xf4\xbd\xd2\xee\xf8\xb6\xd2\x25\xca\xf9\x49\x6d\xf9\xed\xff\xd7\x35\xea\x54\xdb\x1b\xde\xa8\x83\xad\x5d\x47\xeb\x0b\xd4\xa6\x65\x3f\x0a\xb0\x37\xf0\x40\xa4\x15\x17\xa7\x74\x1f\x91\xe8\x2f\xdb\x6f\xda\x04\xf0\xdf\xa1\xbc\xf8\xb9\xb3\x7b\xf2\xbf\xbd\x87\x32\x7a\x63\x6f\x90\x7f\xdf\x96\x8d\x01\x89\xd1\xa1\x18\x09\xc4\x23\x0b\xa6\x9d\x5c\xbd\x84\xf5\x61\xbc\xac\x3a\xd0\x02\xe5\x58\xc5\xb9\xb0\x97\xa0\x19\x02\xf2\x9c\xe3\xf1\xec\x26\x41\x53\xd6\x68\xc7\x8b\x84\x51\x05\xb9\xcd\x2e\xf3\xc9\x43\x53\x1b\x75\xaa\x42\x8f\x17\x9e\x4b\x34\x18\xb1\xd5\xa4\xaa\x7a\xb1\x20\x3e\xfa\x49\x5c\x87\x69\x62\x8e\xb1\x06\x3a\x93\x7b\x73\xe4\xb5\xcd\x0c\xda\x33\xda\xb0\x1a\x50\xc6\x4f\xeb\xd9\x75\xc5\x7a\x1e\x84\x15\x08\xe8\x60\x60\x94\xd0\x82\x4f\xdd\x96\xcc\x6c\xfa\x18\xfa\x82\x09\xb3\x0f\x0a\x2a\x78\xea\xc9\xa7\x67\x17\x6f\x57\x3e\x78\xc0\x68\x80\x9b\x19\x9a\x69\xac\x6d\x33\x5d\x7c\x92\x09\x99\xc4\x0c\xba\xd8\x7c\xf4\xcc\x7c\xa5\xc6\x44\x29\x1d\x75\xad\x7a\x74\xbc\x1e\x63\x92\xd1\xce\x31\x1e\xcf\xd2\xeb\xc9\x16\xe3\x9e\xb6\xaa\x3e\x7d\x89\xfb\x80\x5a\x27\xa5\x5f\x17\x89\x12\xb1\x57\xbc\x01\xa0\x55\xf6\x7a\xef\xa7\x8e\x55\xc8\x06\xcb\xd9\xc0\x1b\xaf\x8e\xf9\x2c\xad\x22\x60\xb4\xbb\x14\xcf\xe6\x17\x82\xde\xe5\xc5\x99\x72\x50\x69\x41\xc4\x62\xa4\xda\x7e\xb8\x99\x53\x1c\xf9\x96\xbc\x98\xba\x36\x29\xef\xfe\x6f\xcd\x17\x06\xd1\xb4\xee\x4f\x2a\x14\xe9\x21\xbd\x40\x8f\x30\xe1\x2e\x73\xfb\x7a\xa8\x60\x53\x6b\x03\xe7\x7c\xa9\x37\x82\x32\x81\xa1\x64\x53\xfe\x82\x79\x35\x94\x32\x01\xe6\xec\x14\x3a\x67\xee\xfa\x4f\x94\xe9\xab\xf9\x4f\x7e\x3d\x41\xb7\x0a\x82\xbe\x69\xde\xd8\xa5\x30\x60\xc2\x30\x5f\x42\xf6\x2f\xe6\xa2\xf7\x04\xb6\x7a\x1e\x8f\xdd\xc7\xd9\x8b\xa7\xf3\x45\x71\x19\xb3\x11\xd4\x49\x66\x3e\xd9\xe3\x20\xd6\x18\xdc\x23\x68\xd4\x95\x08\x75\xb9\xc3\x8c\x5d\x8c\x03\x10\x4e\x2e\x32\xc4\x32\x5d\xed\xd2\xbc\x26\x7e\x2a\xcc\xb0\x11\x20\x18\xe9\xc5\xa8\x00\x7c\xca\xb2\xf6\xd7\xc7\x37\x79\x20\x02\xac\xb7\x30\xd7\x2e\x9f\x73\x08\x29\xeb\xc4\x2c\xa5\x64\xc1\xd9\x27\x1b\xf1\x86\x9c\x4d\x35\x83\x55\x89\xb7\x43\x1e\xf7\xa3\x1a\x07\x00\x60\xfe\x4a\x08\x9f\xb1\x1f\x2d\xd3\xdc\xe6\x5a\xe0\xfb\x45\xbc\x3a\x28\x60\x91\x7d\x93\x3b\xa2\xd0\x90\x56\x9e\xf5\xed\x43\xbc\x25\x32\xdb\x87\x9e\x0f\x1f\x22\x5e\xad\xcb\xef\x1c\x03\xd9\xed\x78\x29\x9e\x23\x3e\x4c\xf0\x7b\x06\x4a\x7b\xaa\xc3\x4c\x5a\x0c\x19\xfc\x3a\x55\x42\x08\x9f\x70\x16\x7b\xe2\xf8\x5b\x4a\x10\xe7\x78\x52\x52\x23\xbe\x8f\xfd\x5c\xff\x96\x48\xb1\x00\x5a\x09\x8b\x4b\x39\x24\x39\x8f\xb0\xbc\xab\xcc\x6e\xdf\x30\xc0\x61\xec\xe7\xae\xa3\x5f\xe9\x8a\x92\x03\xf8\x71\x13\x69\x53\x0f\xeb\x5e\x67\xbb\x2d\x4f\x59\xd9\xc8\xbc\x99\x38\x54\xdd\x47\x47\xcd\xe3\x99\xbd\x0e\x63\x74\x0c\x1c\xc8\x39\xad\x0f\x09\x8a\x38\xa8\x0b\xea\xdd\x64\x8e\x14\x36\xde\xee\x60\xe9\x31\xe6\x8f\x52\x97\x9c\xe4\x9f\x30\x1f\xe3\x9a\xfb\xb6\x15\x35\x20\x91\xc8\xb6\x58\x5f\xe8\x84\x47\xed\x6e\x59\xa0\x20\xb2\xbb\xe6\x6a\x94\x23\xae\x52\x28\xc2\x03\xbf\xd4\x84\x7b\x51\x81\xe2\xc3\xb4\xda\xd8\x3a\x6d\x4f\xa7\x69\x85\xee\xf7\x6a\xdd\xe3\xb3\x4e\xdb\xdd\x28\xd6\xa0\xb4\xa4\xee"}, -{{0xcc,0x31,0x38,0xe5,0x02,0xa5,0xff,0x6f,0x80,0xd2,0x46,0x36,0x6e,0x84,0xd6,0x5c,0x59,0xf1,0x2d,0x4f,0x49,0x63,0x97,0xe6,0xeb,0x99,0xb5,0x26,0x7b,0x8c,0xbe,0x2a,},{0x9e,0x2d,0x3e,0x88,0xaf,0x7b,0x52,0xdd,0xcf,0x00,0xe6,0xd0,0xc7,0x75,0x9c,0x12,0x38,0xb8,0xfb,0x3e,0xb1,0x44,0x21,0xfe,0x82,0xc3,0x48,0x33,0x43,0x78,0x35,0xbd,},{0xa2,0x70,0x0e,0x38,0x95,0xed,0x0c,0xc2,0xaa,0xf0,0x12,0xa4,0x0b,0xc7,0xbd,0x0b,0xd2,0x9d,0xd7,0x9c,0x69,0xc0,0xb4,0xa6,0xed,0xd0,0x53,0x0c,0xf3,0xe2,0x67,0xc0,0xf8,0x2d,0xd8,0x4e,0xda,0xf1,0x74,0x4d,0xc4,0x11,0xd6,0x2c,0x00,0x28,0x71,0x52,0x58,0x82,0x2d,0x7b,0x63,0xd3,0x97,0x05,0x61,0x2b,0x3f,0xad,0x4b,0x5e,0xfb,0x04,},"\x58\x5e\xcf\x2f\x09\xeb\x92\x3d\xf2\x0a\x85\x55\x64\x2a\x2b\xc0\xb6\x8c\x6a\x5f\xcf\xd6\xb8\x40\x1c\x4a\x0c\xba\xbb\x4c\x6e\x6a\x20\x67\x62\xb7\xa3\x9f\x2c\x54\x55\xd7\x80\x8e\xbf\xbe\xd5\x6d\x67\x60\xa4\x31\xc7\xd2\x0c\x2d\xc6\xef\x1b\x73\xca\xa3\xc4\x94\x88\xe3\x0b\x1c\xa2\x52\x0a\xd2\x0b\x26\xa1\x97\x00\x78\x0e\x5e\xf3\xce\x01\x44\x38\x8d\x84\x07\xb6\xa7\x0c\x1c\xda\x37\xdb\x7f\x12\x09\x1d\x89\x2f\x2e\x91\xad\x40\x78\xbb\x4d\xb1\x76\x2e\x46\x28\x5a\x7b\x66\x4b\x2a\xd3\xa3\x4d\x26\xd8\xa9\x4d\x64\x58\x7a\x84\x52\x77\x22\xea\x83\xcb\x8a\xa8\x89\x84\xe1\x48\x97\x43\xb4\x21\x4e\xa6\x04\x1a\xa1\x8e\x55\x20\x09\x54\xef\xc7\xed\xb3\x19\xdf\x94\x7e\xfb\xfc\x6c\x8d\x0f\xea\x48\xa1\x31\x61\x34\x65\xd8\xf4\xc4\x94\x98\xf2\x26\x91\x45\xc6\xda\xe5\x04\x78\x05\x25\x98\xe1\xca\x3b\xe0\xe3\x36\x11\x57\x1f\xa3\x84\x77\x1e\xee\x40\x2c\xc2\xb1\xd8\x48\x36\xc8\xf1\xad\x28\xf2\xad\x23\xde\xe9\xff\x1d\x7e\x1f\x25\x21\x63\x58\x74\x11\x5d\xef\x4d\x93\xe8\x9b\xe7\x61\x80\xbc\x55\xf7\x61\x14\x43\x60\xa8\xb2\x22\x89\x2d\x64\xd1\x57\xcc\xb5\xd8\xf4\x85\x5d\xca\x56\x70\x14\x95\xa0\xe1\x00\x2d\x34\x0a\x4a\x46\x15\x6b\x9b\x7f\xe0\x6b\x7c\x07\x59\xe0\xb6\xdf\x55\x9b\x69\x1e\xde\x78\xb5\x5a\xf6\x4e\x7c\x8d\xd9\x08\xb7\x88\xdd\x6b\xa3\x5a\x90\x2c\x81\xdc\xeb\x37\x88\xb6\x15\xde\x22\x5a\xfa\x58\xa8\x11\x81\xab\x24\xa7\x37\x05\xee\x83\x8b\x6e\x86\x3f\xe1\xbc\xc2\x6c\x1b\x94\x32\x39\x23\x0c\x27\xc6\xb3\x97\xb2\x3d\x13\xde\x6a\x02\xc9\x7f\x36\x45\xda\x91\xd4\x13\xf9\x16\x47\x3b\x01\x8a\x61\x59\x4b\x6f\x51\xce\xa4\x44\x57\xda\x1e\x3d\xbb\xba\x6d\xe1\x68\x66\x65\x7e\x92\xef\x02\x02\x71\x8a\x84\xad\x03\x33\xe8\x33\x6b\x05\x2b\x00\x47\x33\xe8\xe9\x5e\xc1\x3e\x5f\x91\xb3\x80\x6a\x98\xd3\xdb\x72\x9f\xb7\x35\xb8\x14\x7c\x4a\x98\x2a\x2d\x5b\x4e\xfa\xe9\xc0\x9d\x0a\x9b\xf8\x91\xcb\xbc\x3c\x8f\x53\x1e\x76\xe4\x04\x4e\xc9\x1f\x4d\x7c\x5c\xf7\x73\x10\xe2\xb2\xcd\xe2\xe0\x7c\xcf\x3e\x0a\x19\xdd\x6a\xe1\xb3\xfc\xb2\xdf\x42\x18\x6e\x9c\x72\x92\x2d\x2d\x4c\xe5\x1b\x30\x6e\x81\xb1\x6c\xfc\xf8\xf0\x0d\x51\x3f\xbd\x2c\x52\x39\xb4\x5a\xfc\x65\x4f\x6f\xe2\x1a\xcb\x7e\x8a\x0c\x9a\xa8\x7b\x0b\x60\x50\x74\xdf\x95\x76\xa6\xdd\xd9\x00\xac\xa5\x67\x61\x7c\xb7\x96\x56\xb3\xb5\xec\xb9\xff\x68\xb2\xf6\x24\x1e\xd0\xd0\x24\xac\x27\xaa\x6e\xb4\x86\xb6\x9f\xdc\x0a\x0d\xb9\x20\x96\xab\xf8\x60\x02\xde\xc7\xaf\xd8\x47\xa0\x06\xa3\xf6\x95\x5b\x49\x56\x90\x53\xbe\x9f\x1d\x0a\x49\xb7\x93\xa5\x41\x1e\x59\x16\xf4\x18\xec\xab\x95\x32\x43\x55\x3b\x66\xe6\xba\xdc\x4e\x90\x9b\xe0\xef\x5c\xc7\xc6\xd2\x71\x99\xec\x3f\x21\x42\x3b\xc4\x57\x73\xfb\x40\xb9\x7b\x61\x18\x5b\x57\x08\x0e\x8f\x0b\x89\xa3\xea\x57\xc8\x44\x4a\xb2\x7e\xcf\x70\x06\xa7\x66\x04\x7e\xef\xf5\x4d\x85\x56\xcf\xed\x23\xde\xf1\xda\x2c\xc8\xae\xbb\x48\xc9\x4e\x77\x9e\x82\x03\xae\x2c\x90\x2b\x51\xde\x0e\xde\x04\x56\xfb\x73\xfb\x4d\x5f\x51\x4a\x4c\xeb\xc4\x7f\xec\x3f\x94\x84\x69\xa5\x45\xc6\xbc\x57\xb4\x13\x8d\xb3\x4e\x7c\xc0\x06\xde\x26\xef\x50\x7b\x54\xd2\x81\x47\x56\x7a\x8c\x29\xac\x1e\xce\xf5\xbb\x84\xfb\x99\xac\xeb\x23\xa2\x02\x94\xd7\x4a\x85\xae\x36\xb3\x34\x50\x66\x8a\x5c\x26\x09\xd3\xa9\x39\x34\x58\x6f\xf9\x0c\x3b\x6d\x27\x32\x9e\xee\xf3\xa7\x54\xe9\xa9\xcb\xd5\x61\x7e\xf3\xb0\x93\x97\xbd\xc9\x71\x37\x07\x66\x58\x9a\x12\xd8\x90\x05\x0d\x16\x51\x45\x8b\x3f\xc5\x33\xc8\x43\xbf\xfd\xf9\x75\x4d\x93\x2c\x4e\xd7\x61\x1d\x4d\x27\xc3\x2a\x08\x75\x55\xb5\xea\xa3\x7a\xe9\x0c\x49\x79\xef\x54\x29\x9c\x42\x0a\xb5\xe2\x9a\xe2\x84\x5d\x4d\xcf\x21\x78\x92\x0a\x86\x51\x75\xfb\x9c\xc0\xe6\xb8\xc5\x24\xb1\xee\x49\x58\x05\xd5\x17\xbf\xe0"}, -{{0x5c,0x69,0x2c,0x68,0x11,0x98,0xb1,0x72,0xdf,0x2f,0xac,0x2a,0xec,0x3f,0xcf,0x70,0x15,0xc2,0xbb,0x68,0x30,0xf2,0xa9,0x8e,0x30,0xa3,0x96,0xb6,0x4a,0xf4,0x28,0x0e,},{0x33,0xb1,0x69,0xd4,0xca,0x27,0x10,0x40,0x92,0x6e,0xa8,0x78,0x35,0xe5,0x06,0x6f,0x9f,0x05,0x78,0x2f,0x08,0x7f,0xca,0x7a,0x55,0x6f,0x7b,0xf4,0xcb,0xa2,0xe8,0x86,},{0xad,0x8f,0x37,0x9c,0xaf,0x41,0xf7,0x2d,0xcc,0xad,0xc3,0xe9,0x15,0x35,0x7a,0xb0,0xcd,0x30,0x4e,0x10,0xf4,0x12,0x0e,0x0d,0xbb,0xfa,0xac,0x01,0xbf,0xfa,0xf2,0xbe,0x89,0x3f,0x70,0x07,0x2d,0xc9,0x64,0x06,0x91,0x81,0xbe,0xc1,0x7f,0xe0,0x25,0x10,0x55,0xb2,0x1e,0x23,0xde,0xe4,0x36,0x3b,0x27,0xef,0x1f,0xff,0x67,0xaa,0xfe,0x06,},"\xb1\x60\xee\x3a\x93\xcf\x6b\xc3\x45\x6e\x5b\xd0\x19\x7c\x09\xaa\x76\xc2\x25\x80\x52\xf9\xa3\x4d\xbc\x2e\xd5\x89\xf8\xdb\xe5\xff\x99\x69\xa6\x1c\xfe\x84\x6b\x2f\x67\x39\xdc\x7d\x4a\x14\x96\xe9\xad\x58\x60\x5b\x5a\x27\x58\xca\x07\x8c\x55\xa9\xfc\x1c\x4e\xeb\x54\x91\xa8\x4b\xfd\x46\x8a\x2c\xeb\x14\x1a\x77\x34\x93\xa9\xb3\xee\x82\x8b\x5d\xde\x9c\x00\xc2\x36\xff\x01\x56\xe4\xe2\xe4\x5f\xa0\x79\x31\xda\x68\xbb\xd2\x03\x0a\x88\x14\x05\xc4\xf7\x87\x28\x81\x3a\x5e\x04\x81\x24\x04\xc2\xa1\x9c\x9b\x87\xb1\xcf\xe9\xaf\x95\xe2\x73\xec\xf9\xc5\x18\xc5\x39\x35\xf8\x42\x56\x3b\x19\x2f\xae\x12\xa7\x3c\xef\x08\x5f\xe1\x9e\x89\x9e\x5b\xa0\x89\x79\xe3\x11\xfb\x28\x6f\xbf\xc7\xb2\x48\xaa\xbd\x40\xdc\x61\x61\x0e\x1d\x4f\xc9\x80\x6d\xd2\x12\x92\x39\x2d\xb2\xdb\x40\x42\x6c\x5d\x19\x6a\x48\x9c\x5d\xb7\x7e\x3e\x9c\xf0\xbd\x04\x1e\x3c\x23\xb5\xba\x1d\xb7\x81\xa1\x07\x90\xbe\x1f\xe0\x7a\x2b\x00\xca\x3a\xf8\x9c\xbd\x46\xef\xce\x88\x0e\x1e\xf2\x8b\x0c\xd7\x9d\x53\xb4\x2c\xd8\x0e\xaa\x13\x7e\xff\x7d\xf9\x0b\xcb\xcf\x95\xc9\x85\x8d\xc0\xcc\xc6\xd8\xca\x8a\xe3\x54\x7b\xdb\xf9\xff\x90\x24\xf3\xcf\x17\x01\x15\xeb\x28\xbf\x12\xb7\xd3\xb7\x01\x46\x0f\x48\xd1\xb4\xb2\x3d\x7f\x6f\xf7\x2f\xfd\xc9\xa6\xc5\x26\x24\xd1\x53\x12\xd7\xf1\x9d\xdb\x60\x26\xa1\x5e\xb5\x42\x95\xd3\x31\xfd\x79\x50\x91\x03\xbc\x59\xa3\xb6\xe1\xba\x7a\xc8\xc1\x12\xe4\xde\x28\x17\xe5\x1c\x1e\x16\x50\x7b\xa6\x6f\x25\x47\xbc\x89\x9f\x69\xc1\x20\x7a\xe5\xe3\x7b\xdb\x0e\x16\x1b\x15\xb6\x12\x30\x5b\xc0\x94\x0f\x9d\x1b\x38\x2a\x37\xec\x2d\xa6\x39\xa6\xec\xba\x1b\xcd\xfc\x51\x21\x4c\x32\x23\xc1\x1b\xba\xb7\x9f\x3f\xae\x3d\x55\xe2\xd4\xbe\x58\x4f\xd7\x60\x1e\x4e\x2e\x55\x8b\x3b\xe5\x70\x71\x15\xa6\x1f\x5a\x81\x5e\xc2\x4a\xac\x18\x09\x34\x57\xbc\x46\xc0\x5c\xfb\x7a\x3f\x25\x33\xea\xda\xdc\x9e\x6c\x1f\xe3\x10\x77\x9e\x69\x7f\x68\x30\x35\xce\x57\x87\x3d\xf5\x5d\x79\x1f\x6d\x2f\xb0\xe2\x10\x7e\x68\x66\xf8\x39\xc3\xa1\x26\xe9\x02\x38\x65\xce\xd1\xbc\xf6\x77\x99\x55\xaf\x54\x7e\x1d\x87\xeb\x32\xa9\xbf\x32\x28\x57\xfd\x12\x6b\x0c\xdc\x5d\x5e\x90\x4e\xb7\x6c\x67\x06\xe3\xc8\x97\xae\xfd\x6e\x47\x56\xfb\x8a\xca\x81\x70\xca\x5b\x39\x66\x90\x89\xaf\x1b\xb1\x41\xa2\x5d\x6b\x8b\x06\x03\x4d\x8b\x11\xab\xf1\xff\x8f\x8d\x43\x37\x58\x46\xfa\x8f\xa8\xa3\x4b\x5f\x26\x48\x20\x74\x4d\x31\x14\x9b\x7d\x57\x32\x6c\x59\xb1\xdb\x74\x13\x16\x78\xf6\x34\xe7\x23\x2c\xa5\xea\x51\x88\x76\x0a\x70\xdc\x35\xdc\x89\xf8\xe4\x53\xb4\xc6\x5b\x77\x2c\x2b\x6b\x62\x76\x8d\x83\x73\x23\x65\x51\xba\xaf\x24\xd3\xc3\x04\xc4\x1b\x62\xc3\x6e\x6a\x33\x83\xb3\xa1\x63\xb7\x3e\x78\xd8\xba\xdb\x75\x74\x1e\x50\x01\xd4\x19\xd3\x0e\x2e\xd7\x7c\x30\x96\xe8\xd8\xdf\x71\x3b\x93\x76\x2c\x97\x07\xbd\xd0\xf3\x65\xa8\x74\xb9\xda\x8a\xb7\x10\x49\x5d\xd5\x6a\xea\x93\xbb\x77\xfb\x22\x26\x35\xc6\x3b\xce\x9f\x63\xaf\x91\xfa\xc8\x9c\x66\x98\x6b\x8e\x21\x76\xdd\x45\x1d\x58\x33\x94\xc1\x90\x7c\xba\x17\x25\xf0\x6d\x25\xd1\xd0\x91\x2b\x3e\x5c\x6c\x7d\xcd\x34\x35\x8f\xad\x59\xdb\xc6\xf6\xb1\xc2\xef\x33\xd3\xca\x82\xf4\x35\x18\xfe\x4f\xf3\x13\x78\x01\x6e\x57\x8a\x7b\xab\x0b\x77\x67\x6e\xba\xe0\xd4\x8d\x08\x89\xd6\x90\x29\xd2\x09\xf2\x83\xce\x8f\xe0\xec\x23\xcd\x83\x2a\xdc\x12\xa9\xc3\xe3\xae\xc2\xd6\x03\x66\x95\x55\x6d\x93\x13\xf1\x2a\x89\x9d\xd5\x9a\x66\xbe\xf2\x8e\xde\x17\x5f\x8a\xae\xee\xb2\x94\x2b\xb9\x08\x92\xa0\x4b\x44\x0d\x04\xb6\x6f\x5e\xef\xf6\x1a\xda\x72\x79\x02\x94\xce\x55\xc8\x6c\x6d\x92\x78\x5d\xdd\x26\xc7\xa7\x31\x60\x3b\x06\x9c\x60\x3c\x92\xe4\xfe\x8f\xf7\x82\x54\x4c\x8e\x89\xb4\x0b\x8b\x55\xf9\x0e\x2a\x5e\x9a\x0f\x33\xc7\xfe\xc7\x7d\xad\x81\x52"}, -{{0x9d,0x5f,0x85,0xd2,0xe7,0xdf,0xd0,0x3b,0xb6,0x89,0xd9,0x00,0x28,0x5f,0xd4,0x46,0x15,0x38,0xa5,0xf2,0x71,0x0a,0x13,0xed,0x21,0xc7,0x75,0xf6,0xef,0xf6,0xb3,0xff,},{0xb8,0x67,0x97,0xe4,0xbe,0x02,0x86,0xae,0x39,0xe4,0x4d,0xf0,0xa0,0x0c,0x01,0x6d,0xb4,0x55,0x5e,0xf8,0x6f,0x2f,0x05,0xd0,0xa3,0xed,0x89,0xd8,0x9a,0x4c,0x3e,0x5e,},{0x17,0x6b,0x95,0x92,0xf8,0xc2,0x51,0x35,0x29,0x2a,0xdd,0x4d,0xaa,0xcc,0x9c,0x4f,0xaa,0x21,0xd4,0xf4,0x9b,0x27,0x84,0x80,0xc4,0xe8,0x88,0x1c,0x01,0x62,0x4d,0xf9,0xa3,0x7e,0x23,0xe1,0x8e,0x84,0xca,0x32,0xd0,0xd8,0xcb,0x85,0x10,0x54,0x22,0x2f,0x10,0xa4,0x95,0x41,0x9f,0x19,0x7e,0x7b,0x3d,0x18,0xdf,0x0a,0xdf,0xb1,0xb3,0x07,},"\xf7\x0b\x5b\x05\x3a\x46\x72\x51\x2c\x24\xb3\x16\x83\x92\xf6\xa1\x7d\xd7\x7d\x86\x89\xc2\x1c\x86\xef\xc2\x58\x29\xa1\xa0\x4f\xab\x4f\x76\xc8\x52\x16\x84\xd3\x20\x10\x45\x59\x07\xa2\x69\x08\x67\x7b\x40\xdc\x69\x47\xd6\x54\xf2\x91\x4c\x30\xec\xee\x72\x4f\xa6\x84\x46\xb5\x9d\x09\x1e\x25\x8f\xc8\x62\x41\x1c\x96\x4d\x66\x8d\xef\x83\x03\x4b\x62\x7e\xd4\x16\xdc\x19\x0b\xb5\xa2\x63\xa6\xff\x8d\x55\x9e\x13\xb8\x93\x62\x25\xfb\x4d\xab\x4f\x7b\xda\x04\x68\xe5\x47\xe7\x08\xcb\x04\xce\xbe\x1e\x5c\xfc\x69\xf7\x6a\x1d\x28\x3f\x28\x16\x82\x86\xf2\x4e\xce\xa5\x53\x5e\x44\x90\xa0\xc5\x55\x67\xa7\x34\x5e\xf9\x53\xce\x42\x6b\x20\x9a\x3d\xe3\xdf\x59\x5e\x80\xee\x61\xe5\x72\xa2\x78\xab\x02\x21\x95\x51\xb7\x3d\xa4\x19\x84\x80\x82\x85\xa8\x35\x98\xa0\x2d\x9b\x28\x67\x12\x10\x00\x4e\x31\xd8\xaf\x92\x42\xc1\x6f\x90\xd5\xea\x8f\x63\xa1\xff\x66\xcf\xe6\x0e\xcb\xe5\x37\x24\x5f\xa1\x2a\x9b\x15\x41\x15\x29\x58\x06\xea\x2d\x11\xf3\x67\x17\x82\xb9\xaf\x4f\xa8\x6a\x12\x88\xe1\x23\xcf\xd2\x40\x9a\x5d\xc9\x8f\x41\xb8\xf6\xdf\x29\x9b\xbc\xc4\xbb\x64\x47\xdc\x03\xa6\xd6\x0e\x9b\x2c\x5b\x8f\xfc\x40\xd9\x83\x95\x6b\xe9\x77\x68\xdd\x06\x12\xd4\x7c\xbf\xa7\x57\x1c\x99\x69\x85\x6c\x15\x2c\xd3\xb4\x73\xac\xe0\xb8\xa1\x44\xaa\xc2\x09\x5c\x0f\x72\xf1\xd3\x14\x71\x52\xb9\x08\xef\x66\x26\xd5\x22\x28\x19\xb2\x0b\xb3\x35\x0a\x46\x45\x2f\x67\x54\x90\xc2\xa8\x21\x50\xee\xc4\x0d\x75\xb6\x6a\x32\x5d\x6e\x92\x9a\x90\x5a\xde\x1e\x31\x60\xab\x95\x01\x81\xef\xc6\x6e\x59\x23\x08\x65\xd5\xe5\x99\x69\x8a\x8a\x3f\xf5\x60\xc4\xc6\x01\xa7\xa9\xa5\xda\x3b\x5d\x89\xbc\xa9\x3f\x7c\xf5\xbc\xf5\xbd\x5e\xcf\xf8\xf1\xa1\x85\xc8\x22\x0e\x4c\x77\x82\x1e\x62\xad\xf9\x5a\x03\x7f\x2d\xf7\xce\xf4\x3a\x4c\x60\xac\x75\x80\x1e\x9f\xcc\xdc\x5b\x08\xee\xd3\x28\xdd\x93\x10\x09\x04\x11\x56\x45\xec\x1e\xe0\x85\xcc\x77\x8b\x0f\x4e\x46\xe1\x72\x98\x98\x4a\x70\x2e\xce\xb3\xe1\x52\x83\xd8\x20\x00\x4f\x74\xa0\x79\x52\x0d\x63\xa7\x5f\xae\x33\xec\x3f\x4b\x83\x64\x69\xe1\xaa\x99\xea\x24\x4a\xf1\xfb\x08\xb0\x0a\x8c\x9d\xfd\x03\x30\x8d\xfc\x20\x23\x5e\xa9\xc8\x28\x3f\x4d\xa4\x7c\xfb\xcd\xbd\x03\x1a\x02\xd1\x64\x16\x0f\x2a\x58\x98\x67\x00\xb1\x95\x26\xd4\x1e\x4d\x7f\xd4\x58\x43\x4d\x72\x64\xbc\x8e\xb6\x42\xe6\xd8\xdd\x27\x59\xce\x2b\x85\xc9\x7b\x37\x02\xe7\x0d\xa7\x1f\x18\xed\xc5\x3e\x91\x40\xa6\x45\x62\x7e\x02\x78\xe8\xe7\x05\x39\x03\x74\x84\xdc\xd1\x8c\x62\xfa\x33\x07\x17\xd6\x14\x8a\x0d\x62\x3f\xf8\xb6\x5e\xa8\x56\x7e\xc7\xfa\x04\xc8\x92\xe3\xa1\xec\xee\x96\xe8\x32\xf4\x15\x50\x74\xc8\x3c\xbc\x93\xe9\x8c\xc6\x7f\x1f\xa1\x12\xaa\x06\xe9\x91\x5f\xa4\xd2\xde\xa9\x31\x55\x1e\x7c\x62\x3a\xa8\xa3\xa7\x61\x9e\xa2\x4f\xf9\x14\xe2\x64\xf3\x1f\xc7\x3d\xfa\x8c\x43\x0a\xc4\x6c\xe1\x6d\xc9\x68\xc5\xa4\x08\x5d\x5c\x38\x0d\x30\xcd\xc6\xf4\x3d\xee\x80\x6f\x38\xd1\xdf\x42\x0a\x06\x55\x74\x14\x47\x37\x05\x6d\xaa\x62\xf0\xc0\x98\xc9\xc5\x2f\xcc\x04\xcc\xa6\x42\xc4\x5d\x68\x73\x45\xa0\x94\x61\x3d\x4a\x3c\x6c\x87\x88\xbf\xa2\x18\x53\x8a\xd7\xec\xe1\xbd\xb6\xc9\x39\x24\xee\xc4\xba\xaa\x3e\xb1\x5d\xc1\x49\x4d\x65\xff\xa1\xa2\x3f\xf8\xe9\x85\x26\x34\x08\xfb\x02\xbf\xe3\x9a\x8c\x55\xb3\x00\xb1\xa0\x2e\xd3\x6c\x67\x14\xdd\x5a\xb7\x50\xd4\x7f\x02\x1f\x65\xe0\x8c\x63\x5f\x1d\x6b\x7b\xaf\x39\x6c\xb4\xf9\x3d\x56\xc1\xca\x46\x1b\xb1\x2e\x94\xde\x7e\x5d\x98\x65\x9a\x8a\xf0\xbf\x01\x9f\xc4\x22\x80\xe1\x11\xe0\x48\x00\xff\x80\xe0\xc1\x57\x15\x0e\x16\x56\x09\x45\x42\x81\xb2\x00\x07\xe3\xed\xfa\xa1\xea\x85\x44\x65\x54\x7a\x00\x6a\x4c\x32\x36\x41\x14\x95\xda\x16\x60\x98\xaf\x28\x23\xa4\x59\xcf\x10\x0a\x1f\x3c\x92\xc6\x39\x0c\x60\x66\xcd\xbf"}, -{{0x4a,0xaf,0x2d,0x13,0x28,0x84,0xf3,0x0d,0x11,0x27,0xcf,0x18,0x7e,0xe0,0x93,0x88,0xb4,0xa5,0xc4,0x4a,0x9a,0x92,0x67,0xe6,0x72,0x83,0x17,0x39,0x89,0x51,0xfb,0x61,},{0x83,0x72,0x7e,0x92,0x57,0x34,0x91,0x28,0x55,0x9e,0xbf,0x75,0x9f,0xdc,0x82,0x12,0x2c,0xce,0x76,0x74,0x66,0x39,0xc0,0xad,0xa9,0x76,0x1f,0x0d,0x60,0xb9,0x40,0xb1,},{0x5f,0x11,0xdf,0x39,0x06,0xa7,0x12,0xa9,0x53,0xf4,0x7c,0x85,0x98,0x06,0xb5,0x23,0x73,0x58,0xd0,0x8b,0xa9,0x5e,0x49,0xf9,0xe5,0x30,0xa3,0x71,0x65,0x83,0x5e,0x93,0x59,0xd9,0x76,0x9d,0xc2,0x1f,0xbb,0x4d,0x44,0x49,0x7b,0x93,0x90,0x5b,0xca,0x8d,0x99,0x17,0xc7,0x28,0x49,0x3f,0xee,0x3a,0xcd,0x5b,0x52,0x1d,0xbd,0x1e,0x24,0x08,},"\xd7\x3e\xaf\x11\x41\x3b\xf4\xd5\xbc\xcf\x6a\x2e\x80\x9c\xd6\x83\x2a\x51\x82\x3a\xa2\x2b\xd1\x6e\x09\xcf\x56\xff\x04\x5e\xef\x2d\x1a\xda\xdd\xa5\x0c\x2e\xbd\x67\xbb\xc4\xd7\x0e\x49\x3c\x96\x8c\xb4\xde\x49\x77\x06\x5d\x44\x63\x30\x06\x94\xc9\xca\xa5\x72\x06\xd6\x66\x46\x93\xd8\x46\x2c\x3c\x57\x6b\x52\x5c\xc7\xac\xf7\x9f\x26\xf9\x05\x5a\x1b\xcf\xa7\xd0\x77\xf4\x5e\xbe\x0b\x2d\x48\x1e\xbd\x63\xf7\x34\x0a\x33\xe4\xab\x68\xf1\x60\x49\x75\xec\x1d\xfe\xc4\x5a\x79\x1a\x2a\xbb\x10\x44\xd7\x5a\x4d\xb5\x5a\xdf\x59\xb8\x39\x4e\xbd\xe6\x82\x4c\x21\x14\x5b\x00\xef\x3b\x1b\x08\xed\x11\xfd\x51\xdd\xa5\x14\xed\x7e\x21\xe5\x4d\xba\xf6\xab\xb6\xd9\xe3\x17\xfc\xf9\xfd\x37\x5b\x18\x76\x4e\x64\xac\x9b\xe5\xb0\x8f\xec\x3b\x78\xab\xba\xb1\xd1\x2a\x2a\xb0\x9d\x55\x9a\xcd\xc7\x13\x3f\xb2\xe0\x00\x8e\x0c\x11\x4b\x7c\xad\xb4\xbf\x76\x30\x78\x67\x4d\x03\xe9\xc8\x07\xbe\xc1\xe2\xca\x71\xad\xcd\xaa\x31\x0d\x58\x7f\xa5\x69\x50\xfc\x0f\xb2\xe9\x79\x04\x3d\x50\xf9\xae\x23\xfa\x8f\x82\x1c\xd9\xd6\x23\x27\x89\xd0\xee\xcc\xfc\x4f\x47\xe3\xad\x80\x4e\x25\xcf\x5a\x42\x5f\x94\x37\x7d\x17\x87\x48\x33\xe6\xae\x36\x38\x17\x8c\x78\xb7\x95\x19\xd6\x4d\x97\x93\xf4\x50\x46\x06\xa0\xea\xb6\x87\x07\xf6\xe1\xf7\xcc\xcb\x51\x5b\xe3\xd1\x20\x1b\xcd\x19\xf2\xf0\xe2\x55\xc7\x22\xea\xb1\x2b\x43\xaf\xf8\xc8\xc5\x56\x11\x25\xfb\xca\x1f\x65\x42\x07\x6a\x06\x15\x2e\xb7\xe4\xb0\x78\x63\x24\xc2\x49\x5e\x79\xd7\x9c\x0a\x8e\x29\x5b\xb2\xe3\xdf\xd0\x5a\x90\x33\x19\x00\x65\xa2\x84\x55\x2a\x6e\x73\x60\x06\xac\xe4\x1f\x97\xcc\x43\x4a\x25\x12\x05\x1b\x72\x7c\xe5\xbc\x9c\x4a\x75\x52\x9e\xc5\x3d\xd7\xd1\xf1\x26\xe7\x93\x85\x77\x47\xb5\xba\x8d\x03\x15\x5d\x45\x55\xf5\x9e\x8b\xaf\x2f\x0c\xdb\xa8\x71\xac\x16\x0e\x75\x19\xa8\x52\xdb\x00\x4f\x70\x16\x41\xa4\x0a\x42\x2d\x4c\x38\xb6\xc0\xc3\xcc\x8f\xbb\xd0\x53\x22\xdd\xc0\x00\x1f\xb8\x67\x28\x6e\x29\x6c\xbd\x69\x86\x2c\xbc\xcc\x74\x47\x03\x8e\xb3\x0f\x8a\x81\x23\xb7\xb3\x13\x73\x98\x47\x02\xc3\xbe\x45\x7a\x4b\x8c\x54\xe6\xe5\x28\x04\x85\xa2\xc4\xff\x84\x52\x1f\x29\x8d\xde\xb3\xb3\xb2\xbc\x91\xf1\x14\xdd\xce\x67\x03\x02\x48\x04\x44\x69\xdc\x06\xf3\x62\xf2\x91\x9a\x3f\xec\xe5\x08\x23\x75\xd0\x40\x80\x37\x6f\xe2\x19\xd9\xb4\x57\x5b\x1c\xf1\xc9\xec\x4d\xca\xc5\x74\x9f\xc7\x78\xf5\x15\xdd\xa1\x3f\xa0\xd5\x86\xc2\x64\xb9\xbb\x61\x50\x33\x10\x76\x2c\x78\x9c\xa1\x16\x08\xd2\xfe\xe6\x74\xc7\x0a\xc4\xfc\x6d\x5e\xbc\xf6\x8c\x4a\xb8\x9b\xd8\x45\x55\xfc\x00\x75\x23\xc2\x8a\x7e\x1d\xd0\x8a\x98\x62\x04\x4d\x52\x45\xb9\x1a\x87\x78\xec\x9e\xe9\x84\xa4\x1a\x9e\x13\xb7\xab\xd6\x57\xae\x2a\x46\xae\x86\x01\x52\xc6\x44\xac\xd9\x53\x67\x67\x8f\xf6\x4c\xc5\x40\x06\xe3\x66\x14\x80\x5e\xd6\x18\xa7\xc6\xd0\xfd\x33\xa9\x08\x52\x30\x90\x84\x1c\x23\x0a\xf0\x98\x46\xd1\x32\xbb\x4c\x6b\x60\xe2\x44\x1f\x9d\x3c\x49\x87\x14\xf4\x70\xf6\xbc\x03\xa8\x0d\x14\xa2\x94\xb5\x65\xd1\xd5\xe7\x81\xcf\xfc\xb1\x30\x4e\xfd\xbb\xc7\xbf\xea\xbd\xed\xc8\x57\xac\xc4\x2e\x27\x62\xbb\xf9\x7a\xf8\x39\xa1\x66\x75\x2d\xa2\x95\x67\x28\x17\xf1\x0d\xbd\x47\x2d\x38\x1f\x53\x16\x55\x55\xac\x82\x22\xa7\x85\x35\xa8\x68\x05\xf1\xbe\xd4\x22\x88\x9f\x20\x61\x09\xaa\x74\x77\x2e\xdc\x0b\xb5\x1e\x8a\x98\x40\xcf\x62\xc9\x2f\xa6\x35\xb9\x0c\xae\x07\x6d\xd5\x0e\x5a\xed\x9d\xea\xc8\x43\xfa\x8a\x6b\x53\x99\x88\x28\x5f\xf1\xad\xab\xe4\xc7\xb8\x3d\x9e\x29\xac\x2d\x94\x09\x2d\xaa\xfe\xc9\xf6\x67\x36\x89\xba\x9e\x92\x52\xd8\x64\xd7\x57\x7a\xa8\x95\x05\xd3\x31\xfe\x78\x09\x86\x12\x77\x00\x2a\x0b\x44\xa9\x6b\xa6\xae\x4a\x52\xb3\x54\x8b\xf2\x68\xe7\x77\x78\x0c\x00\x20\x9b\x24\x5f\x8b\x14\x17\xee\x5e\x70\x1a\x12\x33\x4a\xd5"}, -{{0x4b,0xc7,0xda,0xab,0xc5,0x40,0x7c,0x22,0x6d,0x19,0x20,0xdb,0x4a,0xfd,0x21,0xb2,0xa5,0xb3,0xe5,0x9b,0x8e,0x92,0x46,0x05,0x3f,0x6a,0x1a,0x6a,0xfa,0x54,0xe7,0xe7,},{0xdc,0x53,0x98,0x85,0xfc,0x7b,0xee,0x00,0x2a,0xc5,0xde,0xba,0xe1,0x6b,0xdd,0xbe,0x4b,0x55,0x3f,0xa1,0x5e,0x81,0xee,0x79,0x88,0x76,0x94,0x0f,0x38,0xcf,0xc4,0xc5,},{0xa7,0xa6,0x48,0x88,0x39,0xbb,0xae,0x04,0xde,0xc9,0x2f,0x96,0xd7,0x28,0xc4,0x64,0x68,0x5d,0x7a,0x96,0xdf,0x51,0x2b,0x00,0x51,0x16,0x3d,0x22,0x53,0x8f,0x74,0x54,0x6f,0xa9,0x86,0xb1,0xb6,0x0a,0x6d,0x8c,0xc7,0x66,0xa2,0x6c,0x69,0x84,0xc9,0xcd,0x26,0x88,0x39,0x58,0x98,0xe2,0xb2,0xae,0x72,0xdc,0x6a,0x2d,0x5a,0x9f,0x75,0x0e,},"\x6a\xcc\xe9\x98\x43\xb2\x41\xaf\xe6\xed\xd5\xd0\xab\x78\xd0\xfb\x21\xc8\xc3\x5a\xff\x88\x13\x89\xd5\x05\xf2\xf1\xdd\x91\xaf\x1e\xb2\xad\x22\x92\x54\x92\x7c\x7f\x0e\xcf\xb7\xa8\x14\x16\x90\x57\x3a\x65\x5d\x69\x85\x3d\x74\xd0\x70\x8b\xf8\xb1\xe6\x0a\x03\x96\x30\x28\xa6\x25\xb7\x9f\x3d\xfe\xa2\xb1\x13\xff\xca\xb4\x6f\x3c\xfd\x4a\x62\x1e\x8f\xd8\xff\x0a\x96\x81\x43\xb0\xae\x03\xcc\xb6\xf4\x2e\x25\xe2\xd7\x4d\xbf\x51\x5b\xc3\x58\x69\x9b\x63\x50\x09\xb0\x1d\x61\xfe\x59\x7f\x1d\xc2\xc3\x5a\x7b\xa4\x55\x52\x78\xee\x0e\xa4\x56\xc7\xd3\x5f\xa8\x75\x7a\x41\x79\x24\xb1\xd0\xa8\x35\x1f\x22\x6a\x13\xec\x29\xd0\x25\xb4\x26\x96\xec\x1d\x99\x25\xb7\x69\xcd\x59\xc8\xe2\xf9\xcd\x3c\xe4\xe5\xc0\x20\xe0\x51\xe7\xa3\x6f\x3f\x97\xc1\xe8\xec\x71\x97\x4b\xc1\x6a\xc4\xde\x46\x51\xad\x4d\xf2\xe9\xc0\xee\xd6\x86\x92\x42\x24\xfe\x6d\xe6\xc6\x0d\xd4\xac\xc2\x6e\x0a\xab\xd8\x0c\x21\xd5\x09\xd9\x59\xb8\x0b\x43\x53\x95\x8d\x00\xe4\x4c\x51\x1d\x23\xbc\xf4\x45\x52\x60\x8b\xfa\x56\xa9\xc5\xae\x79\xde\x62\xbb\x23\xf1\x1d\x74\x0f\x48\x24\x0c\x27\xe1\x01\x99\x97\x51\xf2\x53\x47\x42\xc0\xa6\x91\x3f\xf6\x4b\x68\x3a\x18\x99\x5a\xbc\x39\x3f\xeb\x9d\x57\xc7\x1f\x49\xa0\x80\x55\x72\x98\xcc\x40\x5d\x11\xb7\x98\x8d\x71\x16\x84\x0c\x5a\xda\xf5\x3b\xc6\x72\xb4\x69\x23\xcc\x45\x7c\x70\x39\x94\x0a\xd4\xd5\xbf\x07\x3c\x6c\x88\x6b\x13\x39\x52\x59\x26\xd2\x81\xdb\xd1\xa7\x97\x39\xb2\xe3\x64\x14\xcb\xd3\x21\xb1\x85\xfc\x88\xf1\x8d\x2f\x81\xc8\x09\x97\x5b\xe9\xa0\x93\x64\x4c\xc5\x59\xed\x2a\xe5\xcc\x0e\x35\xcb\xdd\x18\x11\xf7\x02\x86\x05\x7a\x3f\x70\x30\x67\xed\xdd\xf5\xeb\x16\x90\xa7\x42\x7b\xb7\x3f\xe3\x02\x4e\xd0\xdb\x82\xa5\xce\x8f\x17\x16\x42\x8a\x76\xfd\x29\x2b\xa9\x9a\x30\x0c\x4b\x2f\x36\x0d\xa2\x12\x46\x17\x59\x0b\x10\xe3\xb1\x62\xa6\xe6\x7d\xd5\xd5\xa5\x9b\xcc\xa1\x0f\x61\x0f\xa0\x64\xaf\xfd\x55\xf8\x48\x3b\x98\xa6\x8d\x07\x6f\x27\x8a\xbf\x88\x8a\x08\xa0\x14\xe0\xea\x49\x91\x80\xfb\xc7\x98\x40\xce\xed\x13\xcc\x6b\x24\x58\xbf\xab\x9b\x0d\xd7\xae\x9d\x86\x46\x1f\xe2\x15\xe7\xc9\xf6\x3f\x76\x8c\xee\x4a\x88\x2d\xf0\xdd\x84\xe3\xeb\x4f\x2d\x7f\x6b\x18\xfa\x57\xd8\xbc\x7d\x9a\xfb\x63\xc2\x1a\xc4\x65\xe7\x90\x3b\x9b\xfb\x86\x38\xa2\x93\x61\xf7\xeb\xfc\x6e\x54\xe5\x46\x5a\x6c\xef\x46\x3a\xe2\x26\x43\xae\x41\x02\x58\x77\x9c\xa7\x4b\x70\x40\x1a\x94\x55\xa4\xd1\x57\xd7\x4a\x70\x29\xef\xe6\xb5\x19\xa8\xc4\xbe\x69\x67\x56\xe0\x45\xae\x40\x81\xb7\x7d\xd6\x03\x1f\x0d\x25\x0f\xa7\x61\xe6\x0f\x85\x9d\x90\x63\xfc\x10\x5a\xa0\xa1\xa7\x45\x0a\xf1\x53\xe7\x05\x47\x77\x77\xc4\x42\x58\x6d\xf4\x07\x40\x2b\xa2\x38\x75\x2f\xae\xf7\x4f\x33\x45\xc2\x6a\x45\x33\xbe\x9a\x61\xf5\xfc\x6b\xde\x48\xe3\xcb\xa7\x5c\x04\xd6\xf7\xb3\x33\xe3\x70\x06\xdd\x0c\x94\xfd\x3b\x6a\x13\x0b\xd6\xfc\xdb\x3c\x6a\xbe\x21\xca\x60\xeb\x43\x1c\xc2\xd8\xa2\xec\xe7\x16\x9d\x2d\xcf\xce\x27\x60\x82\x56\x57\xfd\x4c\x26\xf3\xc3\xb8\x30\xac\xdf\xd5\x08\x01\x1d\x14\x76\x4b\x3b\xe9\x17\x15\x57\x1a\x31\x83\x01\x8e\x0d\x22\x1f\xb9\x53\x2b\xb2\xe1\x71\x1e\x72\x5a\x27\x3a\xe0\xcc\x2f\xac\xcb\xa7\xd5\x50\x49\x29\x45\x9c\x99\x25\x17\xb0\x5c\x1d\xdd\x03\xaa\xcc\xd9\x37\xb8\x6e\xb6\x7b\xc8\x20\x2d\x01\xca\xb3\xd4\x89\x58\x6e\xea\x1a\xcc\xa7\xdc\x20\xcd\x0b\x64\x75\xc2\x58\xff\x67\x36\x61\x49\x6a\x22\xea\x96\xb8\x9d\xb4\xbf\x3f\xca\xae\x3b\xb0\x4f\x67\xdb\x09\x6a\x47\xff\x7e\x1e\xe2\x39\x56\x2d\xc1\x0d\x40\xf0\x53\x94\x4f\x3d\x7b\xcc\x3f\xf4\xc0\xff\x76\x56\x54\xba\x5e\xa6\x4f\x0e\xa6\x3e\x45\xa2\x1d\x9b\x12\x94\x9f\x14\xf7\xea\x70\x74\xe9\xb6\x59\xc5\xc5\xd4\x48\x16\x84\x2d\xe8\x96\x98\xa8\xfc\xca\xce\x43\xeb\x6b\x41\x35\xe0\xb3\x33\xac"}, -{{0xf2,0x6a,0xf2,0x10,0xe3,0xb2,0x01,0x73,0x99,0x0c,0x77,0x45,0x92,0x2c,0xdf,0x94,0x24,0x77,0x3a,0xbb,0x37,0x4d,0x77,0x7a,0x51,0x2c,0xf5,0xb9,0x7b,0x3a,0x00,0x0d,},{0x54,0x58,0x6a,0xbf,0x04,0x11,0x76,0xe0,0x6a,0xec,0x5b,0x60,0x10,0xe1,0x90,0x91,0x6d,0xa5,0x4a,0x8c,0x4b,0xde,0x28,0x8c,0xf2,0x4d,0x8c,0x10,0x7c,0xb3,0xb7,0x30,},{0xce,0x45,0x45,0x30,0xb9,0x22,0xba,0x5e,0xa1,0x62,0xf1,0xa4,0x52,0xe0,0x5c,0x00,0x36,0x3a,0x49,0xa9,0xdb,0x8a,0x56,0x94,0x97,0xc0,0x0c,0xaf,0x1c,0xbe,0xa9,0x91,0x80,0x77,0x05,0x54,0xed,0x4e,0x31,0x40,0xdf,0xca,0x45,0x55,0x15,0x9e,0xbf,0x48,0xef,0x5d,0x2a,0x50,0xf3,0x94,0xae,0xbd,0x78,0x21,0x16,0xed,0x65,0x69,0xa4,0x09,},"\x88\xe2\x6d\xa3\x5c\x54\x88\x4b\x47\x14\x6f\x4e\x3f\x01\x4a\xb6\x5b\x3d\x71\xaa\x7e\x3c\x33\x91\xad\xbe\xb1\x9e\xf2\xe7\xb9\x30\x2e\x28\x19\x91\xb2\x61\xb6\xa0\x99\x2e\x2e\x89\xa4\x9f\x48\x0c\xa2\xd8\xe6\x84\xb1\x2f\x9b\x15\x09\xb3\x8f\x6a\x7a\x98\xa5\xdd\xb4\xc2\xd8\x69\xfd\x03\x18\xe9\x8e\xcd\x8f\xd9\xdf\x49\x1b\xaf\x99\xa9\x29\x4d\xe4\x9e\x1c\xf8\xdd\x41\xee\x85\x73\x0a\xf0\x25\xa7\x01\x14\x3e\x4f\x0c\x8e\x3d\x92\xd5\x5b\x59\xca\x7d\x4a\x6c\x89\xad\x76\x0d\xff\xc0\xc2\x18\x92\x09\x50\x8e\xf6\xc2\x21\x4e\xdf\x99\x67\xb1\x7d\xef\x12\x3d\x86\x92\xc9\xe4\xe2\x0b\x1e\x98\x26\x88\x08\x70\x4f\x5f\x9f\xe1\xa6\xd6\x05\x5e\x32\xc8\x72\x56\x4b\xd1\x7e\xdb\x73\x59\x57\x86\x29\x01\x7f\x0c\x30\xfe\xab\x8b\x50\x4e\x22\x89\x23\xad\xc7\xe8\x1a\xe2\x0a\x85\x2d\xb0\xad\x67\x6a\x78\xe0\x81\x33\x6d\x6b\x04\x02\xf9\xcd\xc5\xd5\xe9\x01\x28\xca\x94\x5d\x10\x51\x5c\xa0\xc5\xef\x03\xf7\x31\xb1\xd4\x0a\x71\x07\x41\xd4\x1c\x1d\xd1\xca\x16\xb1\x06\x0f\xeb\xf2\xa0\x53\x2e\x6f\x5d\x76\x51\xef\x44\x63\x75\xec\x18\x09\x0c\xb8\x41\x8b\x82\x02\xf2\x5a\x03\x89\x03\x1b\x30\x7f\x22\x3c\x5b\x5f\x6a\xfe\x36\xa9\xad\xc1\x06\x8f\x2c\x6e\x0e\xa5\xb2\xb6\xcf\xeb\x8d\xc0\x04\xf7\xb8\x29\xc8\x04\x39\x06\x9b\x81\xa7\xbd\x90\x74\x77\xc6\x13\x5e\xf2\x82\xb7\x71\xf1\x41\xdb\xe7\x5a\x0f\xa0\x56\xe0\x6b\x8a\x1a\x1f\x98\xc2\x5f\xa5\x4d\x14\xc8\xfd\xb4\x2d\x65\x02\x59\x5c\x59\xd2\x5b\xac\xf1\xa1\x9a\xde\xfc\xc1\x31\x70\xf7\xa4\x31\x7b\x6a\xb6\x10\xb6\x09\xd4\x14\xb0\x07\x3e\xa0\x4a\xc2\x9e\xb1\x0e\xe7\x3c\xd7\x1a\x4c\xa6\x04\x09\xf8\xe7\x60\xe6\x0f\x93\x95\x10\x10\x0d\x0c\x8c\xd7\x6f\x26\x4b\xb3\x78\x11\xf9\x7a\xa5\x29\x9a\xc0\xb1\x2d\x41\x68\xff\x38\xec\xdf\xa8\x0b\x1e\x5c\x1b\x3b\xbd\x4d\x40\xd3\x54\x47\x35\xdf\x71\x67\xeb\x15\x8a\x9a\x9a\x23\x4d\x44\x5f\x1d\x66\x3d\xed\x71\x71\xed\xc6\x8d\x17\x2c\x92\x21\x4b\x82\xef\x13\xfe\x6b\x8c\x43\xaa\x89\xb7\x39\xb4\x99\x0a\xe9\x47\xa3\x4f\x02\x0a\x8d\x89\x43\xb0\xf7\xa5\xd6\x1d\xfa\x76\xad\xde\x02\x72\xe9\x8c\x11\x59\xc0\xfd\x8a\x1d\xe3\x3f\x2c\xef\x8e\xdd\x32\x85\x7b\x21\x89\xed\x96\x12\x80\x57\xeb\xde\xa8\x1f\x7a\x3a\x3d\xff\xe1\x89\x3b\x5b\xa8\x77\x55\x6c\x90\x38\x3f\xa2\xc5\xa6\xfd\x68\x0e\x8a\x67\xde\xe4\x80\x2d\x90\xdf\xe9\x71\x62\x3a\x7b\xe2\x2a\xb3\xca\x56\x06\x7b\x1e\x5c\x69\x4a\xa8\x4c\x19\xf1\x6d\x69\xe2\x84\xdd\xfa\x03\x9c\x10\x8d\x04\x35\x81\x38\x12\x39\x0d\x8e\xbc\x1e\x50\x13\x81\x76\xf2\x59\xdc\x0f\x26\xbc\xa1\x3b\xc9\x43\xf5\x0d\x5a\x35\x00\xb1\x8d\x59\x35\x74\xc6\x20\xfc\x09\x7a\xce\x43\x0f\xb8\x07\x28\xd3\xa1\xaa\x64\x4e\x50\x4b\x10\x09\xad\x67\x53\x6c\xeb\x01\x1f\x2a\x35\x7d\xbd\x00\x9e\x4a\x63\xf5\x24\xd5\xb5\x95\x7f\x33\x15\x67\xc5\xb4\xd1\x85\xa6\x1d\xf2\x2d\x70\x71\xd3\x1a\xe9\x21\x41\xe1\x99\xc1\x22\x89\x51\x5a\xed\x80\xc9\x10\x21\x45\x6b\xcd\x45\xcc\xc6\x34\x03\x7d\xcf\x69\xb4\x1d\x6b\x1f\xf5\x34\x71\x01\x0d\x99\xf1\x87\xf0\x46\x54\xf4\x36\x22\x28\x78\x71\xfe\xe6\xdc\xf5\xf3\x02\x3c\xbd\x09\x13\xd9\x9a\xff\x43\xfa\x95\xb3\x2e\xa2\xb1\x33\xb4\xc9\xac\x4b\x01\x7b\x7c\xf8\xf9\xbe\x50\x86\xfe\x92\xb4\x2c\xb8\xdb\xed\x5b\x63\x0b\xf0\x97\xc1\x8e\x2e\x55\xc3\xdd\x93\x27\x1e\x09\xc2\xd1\xcc\x6a\xf8\x7d\x83\xfd\xef\x3c\x3e\x3c\x4c\xba\xfb\xea\x9b\x60\xfd\x5e\x9c\xf0\x01\x1d\xe2\xe9\xe2\x6f\xbf\x09\xaf\xee\xf5\xc6\x98\x02\xa6\xc4\x6b\xdf\x54\xc1\x45\x86\x29\x44\x17\x3e\x01\x7e\x30\x14\x9e\xa5\xc0\x3c\x7a\xef\xa2\x8a\x9c\xac\x77\x67\x00\x2e\xa3\xfe\xfb\xde\xae\x5b\xae\x00\x5c\x37\x0d\xbc\x06\x42\x44\xd5\xb9\xbe\x55\x00\xa3\x57\x26\xa9\x9b\xc9\xe8\xc2\x75\x2d\x51\x0e\x13\x9a\xf2\x25\x58\x00\x98\xc8\x18\x9a\xa9\xc5\x20"}, -{{0x39,0xbf,0xfe,0x00,0x7f,0x8d,0xf7,0xce,0x4e,0x56,0xfd,0x17,0x6b,0x10,0x2b,0x92,0x3b,0xa4,0x8a,0xeb,0x82,0x69,0xfd,0x0c,0xd5,0x20,0xc2,0x3a,0x7b,0x23,0x6e,0x6c,},{0x95,0x32,0x63,0x68,0x00,0x01,0x0b,0x3d,0xd4,0x01,0x2e,0x34,0x1f,0xca,0xd6,0xd2,0x9a,0xfa,0xd4,0x84,0xe6,0xfd,0x73,0x6e,0x89,0xd5,0xbc,0x02,0xba,0x0a,0xc8,0x53,},{0xa2,0x7c,0xca,0x4b,0x9f,0x5b,0x95,0xad,0x0e,0x44,0xe4,0x74,0x0c,0x15,0xde,0xae,0xb9,0x3f,0x22,0xa9,0xb2,0x54,0xeb,0xbd,0x23,0x29,0x36,0x5a,0x00,0x96,0x6c,0x9f,0x4e,0xc1,0xe5,0x5c,0x58,0x94,0xe7,0xbf,0xc2,0x3d,0x39,0x8d,0x39,0x70,0xb9,0x46,0x5e,0x98,0xa8,0xd2,0x3e,0x72,0xda,0xe8,0xe3,0x50,0xda,0x35,0x31,0xae,0x69,0x08,},"\x7a\x8c\x20\xbf\x2e\xff\x69\xaf\x8b\xad\x6b\xdf\xab\xc7\x90\x9c\x58\xce\x74\x6c\xc4\xdf\x78\xb6\x9b\x33\xc1\x05\xba\x3b\xd8\xda\x75\x24\x47\x58\xb5\x17\x2d\x5c\x45\x01\xbc\x39\x97\x01\x85\xee\x3d\x43\x70\x83\xa9\x95\x9f\x81\xe7\x66\x5b\x82\x9a\x69\xa5\xd7\x2e\x03\x4d\x35\x1a\xdd\xdc\xeb\x3d\x3f\xff\x58\x99\x88\xdf\x18\x2b\x46\xfa\x53\xd2\x6e\x7c\x9e\xac\x06\x22\x15\x78\x8f\x23\x37\xbf\x90\xf0\x17\x7d\x8c\xa7\x44\xf9\x5f\x28\xfe\xa8\x54\x59\x3c\x43\x62\xc8\x2e\x9d\xed\x19\xb9\x04\xff\x99\xd2\xbe\xa8\x24\x32\x82\x2e\x52\xc3\xda\x6d\x46\x2d\xa7\x54\xff\x1f\x8b\xd1\x09\x94\x2d\xf5\x1d\xba\x25\xb7\xcd\xe8\x38\xd5\xf5\x24\x23\x9f\x13\x31\xf4\x63\x19\x4e\x10\xff\x56\x79\x5b\x29\x68\x78\xfe\xb1\xf5\x5d\x43\xec\x7d\xaf\x0c\xa5\xab\x3d\x68\x4b\x55\xbb\x0a\xa4\xc7\x20\xd4\xb5\xc2\xe8\x30\xc8\x58\x69\x4d\x3d\x0f\xdb\xaa\xd0\xbf\x67\xd8\x73\x18\x2d\x95\xb2\x41\x2f\xce\x5e\x7b\x00\xfa\x6b\xfc\x38\xb1\x32\xef\xb9\x6f\x87\xbc\x6c\x10\x07\x0a\x57\x16\xec\x9b\x33\xa2\x69\x2c\xdf\x5b\xc4\x1c\x7f\x73\x7e\x28\xc4\x22\x03\x17\xa4\x89\xb7\x32\x3d\x5e\x20\xf6\x5d\x37\x5d\x76\x9f\x9e\x79\x37\x6f\xd0\x2d\x85\x36\x86\x71\xe7\xe0\x81\xeb\x75\x3f\x88\x85\x45\xeb\xe5\xc0\x00\xb2\xf8\x01\x43\xeb\x35\x8d\x43\x18\x5e\x2f\x1c\x29\x4b\x9f\x29\xc8\xbb\x91\x48\x2d\x43\x87\x49\x4a\xad\x17\x6d\xeb\x85\x54\x0f\xd0\x05\xc9\x7d\x13\xe6\x66\x3f\x09\x94\x4e\xb4\x3a\x46\xe6\x23\x67\x94\xbf\x6e\x21\xf8\x1d\x0a\x42\x09\x0f\x9c\xce\xf9\x0a\x6c\x48\x07\xb5\xff\x54\x13\x00\xe5\x93\x48\x81\xa8\xd9\x21\x96\xb4\xce\xe8\x5d\x28\x09\x2a\x82\x8e\xa3\xbf\xc6\xb7\x45\xad\x21\x9b\xe9\xf5\xe9\x57\x41\x17\xd0\x79\xe0\x2f\x4b\x74\x8e\x2c\xc0\x1a\x32\x82\x6a\x37\x08\x23\x19\x14\xd2\x77\x2c\x76\x41\x19\xfd\x99\xd5\x3a\xb5\xb5\xa2\xe9\xd8\x91\xa4\x8a\x9a\xaa\xac\xc2\x63\x38\xb1\x82\x48\xdb\x8a\xb2\xd5\x25\xda\xf1\x5f\xf5\x3a\xcb\xc3\xaa\x98\xd4\xf2\xd4\xa3\x37\xbb\xaf\x6d\x1b\xe2\x19\x85\xa4\xaf\x60\x0e\x29\xbb\xb4\x2c\x8d\x89\xe6\xb3\x89\xc6\x6f\x42\x27\x0c\x3a\x0b\x05\x1b\xdb\x62\x38\x81\xe0\x2f\x2f\x42\x94\xce\xc3\x47\x63\x86\x74\x7a\xba\xe6\xc7\x70\x0b\x8f\x9b\x03\x87\xcd\xdf\xb7\x36\x68\xfb\x57\x69\x3d\x84\x74\x19\x6b\x33\xab\xd1\x2d\xce\x59\xa5\x7c\xf7\x2e\xe6\xcc\x1d\xdb\xaa\xdf\xb1\x9e\x90\xaf\x81\x31\xb3\xa9\x0f\x98\x67\xf4\xc7\xe1\x5b\xdf\x9e\x21\x84\x77\x01\x6b\xd0\xad\x3b\xe8\xdd\x05\x96\x71\xff\x65\x6c\xbd\x4e\xd8\x98\x08\x6d\xe4\xd4\x23\xf3\xdf\xb2\x70\xbb\xf1\x9d\x9f\x53\xf7\xf6\xf2\xd2\x2c\x6a\xc9\x02\x5c\xba\xdb\xa4\x42\xe3\x1d\x98\x11\xe3\x7e\x84\x7d\xbd\x48\x4d\x80\xcf\x74\x30\x39\xff\xa7\x04\x84\x70\xfb\xdc\x60\x80\xf6\xd3\x81\xdc\x7e\x3f\xa2\x71\x22\xdf\x53\xcc\x06\x39\x4e\xa6\xfc\x44\x6e\x1b\xa7\x25\x38\x73\x3e\xd3\xab\xb6\x85\xf1\x6d\xfd\x5c\xcf\x58\x5a\xe8\xfb\xf9\x95\x4b\x50\xf1\x0b\x7e\x54\x32\xa2\x2b\x36\x94\x06\xa9\xb7\x08\x89\x61\xf0\xae\x20\x74\x95\xae\x71\x85\x39\x6d\xcc\xf2\x92\xdc\x46\x3f\x41\xf3\x76\xa1\xca\x89\xee\xfb\xae\x19\x26\x91\x52\x03\x1b\xfd\x81\x52\x88\xe8\xb5\xba\xf3\x48\xc4\xf8\xff\x3d\xff\x4f\xd6\xd1\x08\xf8\x71\xda\xa3\x52\x11\x0f\xa6\x41\x88\xb0\x1b\x85\x26\xa8\x45\xaa\xed\x13\x3e\x45\x6b\x4c\x83\xc4\xfd\x4b\xbb\x16\x5b\x40\x90\x30\x7e\x8e\xb1\x7d\xf1\x76\xc3\x22\x52\x0f\x37\x59\x9c\x21\x05\xaa\x81\x20\x75\x83\x94\xa4\x22\x24\x73\x47\x67\x64\xcf\x0a\xf7\xc5\x51\x83\xeb\xa9\x68\x3d\x72\x70\x63\x14\x43\xf3\xc5\x1f\xb8\xab\x0c\x13\x0a\xc4\x36\xab\x60\x3f\xf4\xf1\xd8\x65\x6c\xdb\xed\x22\x9a\x20\x2b\x40\x00\x8e\xa1\x0b\x17\x15\x42\xf7\x4a\x70\xb7\xbb\xac\xc4\x01\x6b\x7f\x63\x6a\xa8\x96\x33\xb7\x66\x80\x58\xf1\x33\x12\xf5\x7c\x51\x62\xd1\x8e\x39\x9e"}, -{{0x3c,0x40,0x80,0xcd,0xa0,0xfc,0x3c,0x03,0xb6,0x14,0xd9,0x80,0xf2,0xff,0x83,0x1f,0x5b,0xe0,0xe7,0xa9,0x81,0xd5,0x38,0x1a,0x16,0x18,0xe0,0xb8,0xfd,0x00,0x17,0x76,},{0xf1,0xc3,0x26,0x9d,0x87,0x04,0x02,0xca,0xa4,0x38,0x82,0x13,0x5d,0x9d,0xba,0xdb,0xbb,0x16,0x2d,0xfc,0xa0,0xb3,0xda,0xd1,0x97,0xe6,0xb8,0xa7,0xee,0x67,0x9a,0x70,},{0xc9,0xd4,0xa4,0x72,0x8b,0x8f,0xdd,0x24,0x0d,0x9c,0x49,0x8a,0xa3,0x5d,0xe9,0x5a,0x4b,0xbd,0x51,0x78,0x5b,0x73,0xc8,0x40,0x3f,0xdf,0x04,0x0d,0xfa,0xed,0x94,0x47,0xef,0xad,0x00,0x69,0xb6,0x7c,0x78,0x3d,0x4b,0x81,0xd9,0x66,0xbe,0xf6,0xe3,0xd9,0xa8,0x08,0xa0,0x58,0x4b,0x98,0xec,0x2b,0x18,0x32,0x2c,0x4c,0x92,0x0e,0xb0,0x0a,},"\x0c\xee\xbc\x0e\x8a\x47\x72\x0f\x25\x83\x5e\x2b\x9a\xcf\x89\x1b\xcc\xa4\xbd\xa3\x86\x37\xf3\x63\x27\x44\x58\xba\xa9\xe2\xbb\xaf\xed\xd0\x93\x8f\x56\x88\x73\x4e\x22\xac\x50\xfb\x12\x0f\x66\x5f\x6c\x4c\x61\xc6\x53\x17\x39\xb9\x29\xac\x83\xcd\x77\xf8\x96\x3b\x75\x44\x88\xb9\xb8\x59\xc1\x38\x53\x63\x7c\xf0\x25\xc1\x4e\x8f\xdd\x11\x8f\xaa\x14\xcf\x39\x30\xce\xb3\x5f\x10\x4d\x95\x44\x1e\x56\x48\x94\x40\xf6\x20\x41\xef\x1a\xa7\xc4\xb0\x8b\x28\x07\xe3\x2b\xb9\x58\x4b\x90\x04\xd7\x6e\x76\x53\x33\x48\x50\x6d\x64\xf1\x12\xe1\xff\x6f\x93\x8f\x64\x22\x30\xbf\x38\xaf\x01\x0e\x41\x98\x72\x70\x24\x8b\x13\x63\x5a\x35\x67\xb3\x55\xbb\xa5\xb5\x74\x48\xc6\xd1\x3b\x74\xf3\xbe\xbf\x61\x79\x15\x82\x10\x28\xfc\xa5\xde\xfa\x4c\xe5\x42\x4c\xa1\x91\xcd\x54\xa2\x29\x44\xa3\xd9\x40\xe4\xee\x2e\x2b\xa5\xd5\x04\xc8\x5f\x95\x9b\x51\x4c\x4f\xab\x41\xcc\xb5\x74\x3d\x9c\xb2\xf9\xbf\x33\xd1\xd8\xc2\xa5\x86\x9e\x9f\x46\x60\xc3\xfb\x22\x4b\x39\x14\x1e\x31\x10\xc9\xee\x8a\xeb\x87\x1e\x14\xc6\x2c\x6b\xe3\x8f\xb9\xa4\x56\x8d\x73\x68\x10\xbb\x9d\x20\x73\x17\x8b\x6c\x7e\x87\xe3\x58\x2e\xfc\x62\xb5\x3c\x23\xc5\xd4\x65\x20\xba\x33\xff\xb3\xa9\xca\x64\x9e\xf2\x6f\xe7\x4a\x3c\xff\x61\x88\x42\x73\x26\xb8\xc9\x6f\x74\x35\x4c\xb3\xec\xaa\x61\x1b\x12\xcd\xed\x56\x5e\x59\xfe\x1f\x8f\x40\x00\x97\xe9\x3e\xa8\x59\x51\xb5\xb4\xe9\x00\x9e\xea\x7d\xb9\x37\xe4\x34\x9c\x4e\x5e\x00\xc4\x45\x6c\x6c\x5f\x4e\x57\x41\x1b\xaf\x4e\x46\xe7\x00\xac\x40\x02\x57\x76\x5f\x48\xda\xb0\x3e\x43\x9f\x76\xc1\x49\x9b\x51\x08\x04\x7c\x83\x01\x09\xdc\xe7\xf7\x40\xd1\x39\x37\x87\xe2\x9d\x37\x16\xd3\xc4\x7e\x75\x5c\xb8\x28\xe7\xd4\x40\xa9\x71\x97\x51\x97\xeb\xdb\x3f\x9b\x73\x7b\xa1\x1f\x7f\xd0\x38\x6a\x95\x92\x49\x01\x7d\xe7\x23\x4d\x5e\x5a\x9b\x47\x3b\xb9\x58\x3a\x37\x42\xc7\x74\xee\x55\x2a\x12\xa1\xf3\x6e\xb3\xf2\x6c\x88\x5b\xed\x22\xe9\x1c\x74\xcf\x32\xa8\xdd\x3e\xdb\x08\xb6\x74\xbf\x38\x6e\xf4\x27\x72\x79\x12\xd5\x7c\x5f\xaf\xaa\x1c\xfe\xb7\x40\xcd\x52\xb9\xde\xe9\x95\xe3\xd0\x16\x1c\xd9\x21\x3f\x38\xfd\x68\x1d\x53\x8a\xb8\xbf\x97\xb7\x45\xf5\x49\x80\x03\x0e\xf8\xb7\x26\x96\xd4\xe2\x74\x73\xfb\x0f\x1a\xcd\x5d\x0a\xae\x02\x97\x21\x16\x80\xea\x0f\xc5\x9d\x7b\x6d\x51\xc6\x32\x92\x58\x5a\x1d\x55\x3d\x0c\x89\x54\xb4\x2a\x4b\xd6\xfc\xd3\xa4\x95\x75\xbf\x5c\x88\x95\x3f\x1f\x4e\xa7\xfe\x0e\xd7\xa5\x79\xd1\x69\x7e\x64\x5e\x2a\x61\xc6\x9d\x1a\x56\xbc\x60\x5b\xb0\x40\x60\xa2\x77\x8d\x50\x9a\x8a\xad\xbf\x35\xd9\x46\x97\xcc\xee\x9d\x35\x43\xdd\x01\x28\x1a\x03\x1f\x2a\x0e\xb3\xa9\xeb\x13\xae\x56\xff\x44\xfa\x0a\xed\x4f\x34\x88\x74\x7d\x6a\xf8\x20\xf3\x98\x9b\x71\x33\xf4\x49\xea\x56\xd3\xa7\xf7\x31\xe7\x91\xb7\xed\x2a\x5d\xb9\x39\xbb\x75\x35\x2d\xe7\xda\xec\x50\x66\xfd\x57\x55\x71\x65\xad\xff\xa6\x31\xcd\x3f\x96\x7c\x3c\x7c\xfc\x11\xcc\x1f\x14\xfa\x23\xde\xfe\xc3\xeb\x02\x39\xb4\x5e\xd6\x01\xa3\xa8\x07\x8c\xcf\xc7\xf8\x38\x09\x02\xa8\x59\xee\x9c\xe2\xdb\x79\x5e\xfa\xca\x0a\x01\xdc\x08\x79\xd5\x06\xac\x97\xd1\x07\x04\xd7\x75\x7b\x3c\xcf\x3b\x37\xc3\x39\xb4\x2d\xb2\x37\x82\x27\x80\x23\xe4\xc2\xe7\x7d\x74\x24\x6c\x9e\x54\x41\x49\xa5\x5c\x0c\x92\x0e\xbf\x29\x86\xb4\xc5\xb4\xb3\x57\x2f\x74\x8c\x4b\x15\xc7\xf8\x63\x99\x9b\xc5\x13\x2a\xda\xd0\x97\x61\xeb\x76\x50\x50\x19\x76\x9f\xb5\x54\x22\xf6\x03\x18\x4e\x24\xc0\xd4\xf3\x76\x19\x87\xb5\xc5\x0f\xea\xfc\xce\x53\x30\x2a\x3a\x41\x5e\x20\xf5\x6a\x05\x48\x03\xe5\x53\xba\xcd\x24\x2a\x5e\x13\x64\xaa\x3b\x2d\x7c\xb3\xbc\x1e\x1b\x86\xa4\x74\x31\xcb\xd3\x96\x95\xb6\x7f\x55\x4c\x46\x45\xb7\x23\x69\x04\x09\x4c\x11\xaa\x1b\x40\x32\x6b\xa9\x1b\x8b\xf4\x87\x3e\x9a\x4d\xe0\x4e\x2b\xf4\x62\x59\x72"}, -{{0x45,0x43,0x8f,0x91,0x46,0x5d,0x74,0xa2,0x82,0x5b,0x0f,0x66,0xa3,0x5b,0xd7,0xc8,0xd0,0x05,0x86,0x54,0x79,0xb3,0xdc,0x10,0xa9,0xb5,0x6f,0x29,0x7d,0x31,0xb9,0x26,},{0xf0,0x92,0xb5,0x88,0x03,0x30,0x87,0x1e,0x5a,0xaf,0xdd,0x3c,0xeb,0x38,0x50,0xee,0x7e,0x09,0x41,0xa2,0xa1,0xdc,0x89,0xf4,0xfb,0x47,0x71,0xd7,0x5a,0x22,0xf6,0xf2,},{0xd9,0x28,0x7b,0x7f,0xec,0x01,0x7f,0x2e,0xa4,0x0a,0x14,0xa1,0xf6,0x2d,0xca,0x78,0xb0,0x2a,0x3d,0x66,0x32,0xdf,0x7c,0x60,0xeb,0xd9,0x0f,0xc5,0xe4,0x92,0xc5,0xc6,0x2c,0x43,0x16,0x6b,0xf8,0x56,0x58,0xfb,0x30,0xa0,0x8b,0x57,0xa5,0x81,0x31,0x21,0xb8,0x03,0x97,0x57,0x1a,0x31,0x2b,0x6d,0xd1,0x1b,0x65,0x39,0x20,0x54,0x16,0x02,},"\x30\x71\xd4\xb7\x20\xdf\x10\x93\x65\x99\x67\xcd\x4e\xef\xef\x2e\xf9\x67\x84\x75\xf7\xde\xc5\x8f\xec\xec\x1d\x92\x8d\xea\xf8\x02\x45\x7a\x19\x34\xe6\x04\x55\xf4\x96\xcf\x42\x51\x82\x0e\xd6\x0a\x3d\x81\x33\xb6\x24\xd3\x3a\xf2\x6a\x26\x27\x84\xb5\xa2\xfb\xa7\x3c\xca\x2a\xa5\xe5\x19\xe1\xf5\x39\x58\x47\x80\x64\x98\x64\xba\x5f\xbc\x1f\x01\x1d\xdd\xac\x38\x1f\x8d\x48\xd0\xd6\x0c\xe8\x23\x17\x01\x17\x3c\x9d\x2a\x30\x7a\x76\x30\x2e\xbc\x69\xdc\xbc\x93\x0d\x28\x43\x14\x75\xb5\x16\xf9\x8f\x77\x8e\xd2\xe1\xff\xf2\x72\x90\x9a\x27\x2c\xc3\xfb\xb6\xb3\x1c\x80\x41\xa3\x7c\xb7\x77\xe0\x62\xe4\x96\x49\xaf\xad\x12\xc1\xb5\xf7\xfc\xb8\x06\x5a\x99\xe7\x42\x33\x62\xad\x16\x90\x60\x31\x26\x5d\xb7\xe8\xb8\x97\x51\xf8\xa4\xa4\x07\xf2\x50\x26\x50\xfe\xd7\x53\xe4\x2c\x8c\x91\x1e\x50\xb9\x4b\x38\x00\x69\x5b\x0e\xba\x7d\xff\x06\xb7\xa7\x10\x11\x7e\x49\x20\xd4\xb1\xc6\x05\xa3\xeb\xf3\x2e\x06\x96\x67\x16\xed\xa1\x4b\x30\x42\x99\x8a\x3c\x7a\x5e\x9f\x83\x54\x2d\x7d\xde\x65\xe5\x28\xbe\xd6\x10\x1d\xeb\x33\x1d\xeb\x94\xcd\xd4\x60\x44\xbe\xf8\x8c\x09\x7b\xaf\xd4\x0d\x69\x21\xa7\xc4\x84\xc8\xf9\x66\x84\xdc\x37\x16\x71\xd9\x4e\xee\x7c\xbe\x5d\x58\x77\x15\x31\x4c\xff\x0d\x18\x77\x27\x2d\x81\x90\xa9\x0e\x18\xbf\xb3\x21\xd5\x2b\xf7\x47\x05\x13\x7b\x2a\xbf\x91\x65\x73\x17\x67\xa1\x3a\xdc\x9c\x85\xe0\x39\x7b\x47\xae\xf9\x6b\xad\xb2\xca\x7f\xcb\x82\x93\xb0\x1f\xd1\xde\x31\x6e\xe1\xe6\x5f\x35\x6b\x9d\x6e\x8e\xa1\xfd\xd8\x37\xbd\x96\x08\x11\x49\xea\x2d\xcd\x73\xc4\x88\x1f\x32\xb7\xde\xeb\xc3\x71\x5e\x2d\x7c\xdb\x64\x3e\x0d\x98\xf4\xe8\x46\x50\x8b\x04\xb3\x24\x39\xff\x14\xb1\x16\x4f\x46\x84\x6d\xf9\xaf\xae\x44\x46\x4c\xf5\x50\x10\x4c\xd3\xaa\xb3\x81\x75\x40\x47\x0a\xaa\x2a\xb9\x55\x9a\x68\xb7\xff\x6b\x1b\x9c\x0c\xe9\xf5\x86\x9c\xbd\xcd\xd6\x17\x09\x09\x42\xe3\x53\xb4\xc7\x7f\x09\x39\x58\x96\xbe\xcd\xdf\xf1\xab\x7f\x07\x58\x6a\x51\x4d\x81\xfb\x09\x63\x61\x55\x75\x66\x87\x0f\x16\x91\x98\x34\x85\xa8\x0c\x34\x13\xda\x98\xb8\xd1\x9c\x78\xe6\x37\x9f\x94\x3e\x5b\xd5\xa5\x69\x7a\xa3\x3c\x5e\x6b\xfc\xfb\x7b\x8d\xf1\xe1\x57\x4e\xe4\x16\xfa\xb3\xc8\xa7\xd0\x88\xb3\xa0\x57\xcf\x86\x53\x21\xb7\x4e\x61\x03\x52\x6d\xd9\xad\x15\xca\x5a\xd3\xc0\xf6\x97\x18\xe2\x70\x81\xd4\xb3\x4a\x7c\x6d\x1a\xab\x6b\x96\xc0\xa7\x54\xb9\x89\xb4\x94\x06\x38\xc9\xed\xe3\xd1\x7b\xd4\x9f\x65\xbf\x78\x3d\xc8\x5f\x1c\x4b\x14\x48\x76\xcd\xbd\xb2\x28\x2a\x95\x64\xaa\x81\xb5\x70\x92\x08\x0d\x64\x48\xfb\x65\x80\xec\xf0\x9f\x82\xa7\x55\x01\x0d\x55\xd4\xa5\xe4\xf3\x05\xe2\x59\xdb\xe9\x95\x08\xb4\x79\x25\x0d\x80\xec\x17\xc8\x76\x0a\x93\xe0\x5a\x29\x57\x1f\x68\x56\x07\x30\x22\xc8\x70\x69\x13\xc4\x6a\x2e\xfd\x2e\x9c\xaa\xe4\xff\xa1\xb4\x22\x2e\x3d\x70\xe9\x79\xe8\x1a\x71\x95\x1d\x7c\xb8\x30\xbc\xbc\xf9\x01\xaf\x24\x4f\x64\xe4\xad\x9f\x52\xfa\x3b\x62\x03\x1e\x35\x16\xda\x50\xbc\x2b\xce\x78\xeb\x9d\x61\xbf\xed\xd9\xb3\xf5\x7e\x89\x35\x5f\x17\x7d\xb6\x16\x2b\xf6\x1d\xa0\xe4\x54\xc3\x42\x88\xb9\x67\xc3\xfb\x4c\x34\x1b\x32\xd4\xd1\x3a\x31\x98\x69\xb8\xe3\x60\x46\xf9\xe3\x38\xb5\xf3\x6a\x1f\xc1\xa7\xed\xa7\xd7\xb0\xd4\x38\xe0\xa7\x5d\x84\xbb\xe4\xd6\x8c\x87\x9a\xda\x80\xdd\xe2\x3f\x71\x55\xb5\x32\xcc\xcf\x7a\x63\xf1\xbe\xdf\x84\xf8\x2f\x44\x0c\x9e\xc3\xcb\x0e\x45\xf3\x2c\x92\xf7\x64\x38\xf5\xb4\xb9\x10\x44\x1e\x67\x38\xaf\x3f\x5d\x20\x50\xd5\x79\xee\x96\xb8\x8f\x3b\x00\x81\x0a\xb1\x26\xff\x3a\x8f\xef\xd9\x71\x04\x43\x24\xdd\x4e\xb3\x44\x7d\xac\x5b\x77\x80\x9c\xda\x8c\x71\x68\x25\x49\xd7\xcf\x2d\xce\xe3\x40\xed\xcf\x94\x94\xac\xa4\x29\x01\xe2\xc1\x1e\xd9\x77\x90\xaf\x48\xbc\xea\x29\x52\x1e\xf0\xe3\xd0\x3c\xda\xde\xcd\xc8\x94\xdd\x07\x56"}, -{{0x72,0xcf,0xce,0xf4,0xc9,0xd6,0xa1,0x98,0x6d,0x19,0x03,0x11,0x84,0x0e,0x55,0xcb,0xaf,0xac,0xc8,0xa6,0xeb,0x5e,0xcc,0x72,0x93,0x4f,0xda,0x53,0x5b,0xdc,0xff,0xb2,},{0xa9,0x44,0x64,0xd8,0xcc,0x8f,0x3e,0x43,0x39,0x39,0x47,0x64,0x9f,0x91,0xc2,0x75,0x23,0x27,0xe4,0x0d,0xac,0xa1,0x1a,0x99,0x70,0xc5,0x18,0x1e,0xda,0x37,0xd6,0x06,},{0xdb,0x72,0x70,0xac,0xce,0x78,0xd7,0xfb,0x09,0x08,0x0a,0x32,0x79,0x41,0xbc,0xe7,0xeb,0x14,0x5b,0x9e,0x36,0x61,0x86,0x6a,0x86,0x83,0xf9,0xa1,0xa3,0xde,0x97,0xfb,0x02,0xb0,0x25,0xdb,0x9e,0xc7,0x6f,0xf3,0x25,0x60,0xfe,0x63,0x88,0x27,0x74,0x2e,0xa2,0xf4,0xeb,0xef,0x6b,0x7c,0xce,0x44,0xf9,0xaa,0xee,0x43,0x4f,0xd7,0xc1,0x08,},"\x66\xa6\xcb\xe8\x8a\x8a\xb9\xa3\x38\x47\x79\x7f\xc4\x80\xb2\x44\xe8\xa2\xb8\xec\x79\xe8\x0b\xc2\x63\x77\x53\xde\xb3\x6f\xa3\x01\x4f\x84\x3e\x22\xa4\x7d\xb0\xa3\x17\x78\x38\x5e\xc1\xf4\x55\x67\x2e\x0d\xff\x6c\xa2\x1c\xa4\xcf\xd2\xb9\x89\x47\x1b\x7f\xfc\x30\x78\x28\x13\x8b\x0a\xd4\xe6\x47\xc2\xd1\x3c\xef\x72\x44\x69\x05\x4a\xbd\x37\x40\x24\x5a\xea\x4b\x78\x9e\x24\x4e\x95\xcf\x9e\xcf\xd0\x8a\x0d\x13\xc7\xce\xd3\x93\x33\x27\x27\xa7\xf3\xd8\xfb\xda\xbd\x93\x9d\xe2\x8c\xaa\x41\xcc\x96\xc7\x08\x11\x98\xe2\x26\x53\xd9\x4e\x02\x4a\x61\xf5\xf3\xdc\x5a\xa3\x7f\xa9\xad\xdd\xc9\x6c\xf1\x69\xd3\x50\x62\xa0\xa2\x9b\xa4\x5a\x53\x9c\x87\xa6\x8a\x3a\x03\x04\x36\x13\x09\xd2\x13\xe6\x14\xee\x83\x73\xda\xfb\xa2\xa7\xd6\xed\x7d\x2a\xd3\x77\x04\xc0\x94\x6e\x4d\x09\x3e\x2d\x94\xd0\x61\x36\x4c\xc1\x23\x10\x63\x72\x91\x03\xa7\x7c\xcb\x50\x18\x91\xbb\xc3\x18\x54\x57\xbb\xd2\x86\x9e\xb6\x3d\xc6\x0f\x19\x6f\x10\xa3\x8b\x7b\x36\xcb\x3f\x64\x3d\x35\xdd\xbf\x43\x8a\x44\xbf\x0c\x8f\x57\x0f\xad\x41\xbd\xde\x26\x7f\x0f\xfc\xf1\xf2\xf9\x27\xd6\x26\xd1\xb0\xd9\x80\xa0\xce\x22\x3f\x2f\x00\x54\x84\x5a\xfe\x41\xd3\x9d\xe5\xa4\x57\x21\x9f\x27\x6c\x67\xe6\x9b\xe2\xd5\xc9\xe0\x70\x13\x16\x39\x56\x1c\x26\x75\x1f\xb0\x64\x35\xe0\xe4\x2e\x25\x08\xc5\xf4\x9c\xd1\x2b\x51\x7c\x98\x33\xff\x97\xf5\xe5\x1e\x1d\xce\xaf\xa9\x42\x6d\x3d\xc5\x2f\xd1\x37\x9c\x64\xcc\xaa\xbb\x26\xdb\x1a\xf6\xde\xd7\x15\x36\x28\x84\x2f\x0c\xbd\xbb\xbd\x6a\xa0\xcf\xa5\x40\x7f\x40\x94\x96\xc0\x65\x32\xdb\xea\xc9\x4d\xab\x9b\xab\xa0\xb3\xc9\x88\xfa\x03\xd3\x6f\x91\x1d\x80\xe4\x9b\x37\x0b\x68\x37\x03\x7f\xf2\x49\xe7\x6d\x69\x2c\xd1\x77\x37\xe0\xd0\x79\x65\xd3\x3f\x17\x04\x2b\xbc\xd1\xe9\x90\xe0\x40\xf7\x19\x36\xf6\xfc\xa2\x54\x2a\xe3\x37\x48\x36\x77\x87\xc0\x1b\xde\xa7\x5c\x9a\x0e\x66\x15\x02\x81\xc4\x68\xfe\x5c\x73\xaf\x9e\x5b\xec\x37\x2d\x50\x20\xc3\xd3\x7f\xa1\x03\x5a\x67\xe2\x24\xd0\x95\xf0\x66\xa5\x1f\xe1\xf6\x81\xc3\x07\x39\x39\x27\x2f\x6a\xf7\x75\x0e\xd8\xd1\x83\x49\x17\x8a\xb4\xa2\xee\xb4\xe9\xca\x82\xbb\x67\x29\x6e\x98\x90\xf3\x16\xc9\xd9\x49\x59\x53\xd6\x84\x36\xeb\x1c\x1a\x2f\xb6\xa1\xcc\xa4\x5a\x8e\x88\xa0\x9b\xdd\x65\xa5\x55\x80\x25\x61\x8b\x36\xd7\xf3\xcb\x38\x9d\x2e\x2a\xb1\xed\x23\x32\x28\xec\x92\xa3\x27\x97\x8c\x0a\xdc\xed\xdb\x6c\x96\x32\xd3\xab\xd7\x97\x16\x21\x71\x37\x54\x75\x8e\x21\x01\x3a\x0c\x3d\x00\x9b\x6e\x31\x93\xcc\x15\x2c\x57\xef\x73\x10\x7b\xd4\x35\x7d\x52\x8b\xe4\x08\x73\x02\x7b\xf1\x84\x0f\x68\x55\x36\x08\x0f\x12\xc5\xff\xa9\x3c\xa6\x29\x73\x67\x80\xe0\x15\xe8\x6d\x19\x09\xf0\xd8\xf3\x72\x01\x0c\x9c\xb7\x2c\x09\x89\x84\x5f\xc8\x83\x15\xe6\xb9\x37\x0d\xc9\x2d\x36\x83\xef\x44\xd3\xf7\x5f\xc9\x6c\x4b\x0e\x89\xe1\x3d\x68\x2d\x19\x88\xb6\x85\x71\x3e\xad\xa8\x42\xbe\x9d\x2b\xbe\x2a\x76\xbb\xa1\x5d\x38\xcb\xaf\xb6\x5c\x40\xc2\x15\x9b\x0c\xee\xb0\xd7\x69\xb9\xbe\x35\x55\x40\x73\x4f\xf3\x77\x36\xc0\xf0\xfa\xcb\x95\x15\x93\x09\x36\x5b\x96\x46\xbc\x4b\x34\x4f\xb1\x9a\x5c\x16\x39\xa8\x8e\x87\x31\x7b\xfb\x3b\x5e\x7b\x51\x30\xfa\x7d\x56\x43\xed\x4d\xa0\x64\x30\xc8\xa0\xc1\x85\x8c\xcf\x2f\x9a\x6e\x3d\x62\x01\x22\x53\xf0\x12\x2d\xba\xb4\xa3\x54\x75\xa6\xf6\x55\x89\xb2\xb0\x95\x99\x28\x26\xe4\xf1\xb5\x8f\xa0\x50\xb8\xf9\x5c\x4f\xeb\xa3\xfb\xaa\xdd\x2c\x22\x44\xad\x4a\xbd\x41\x01\x39\xad\xf4\xc1\x53\xcb\x5e\x69\x33\x7a\xf1\x76\xa7\x83\x7e\xea\xea\x99\xbd\xcd\x59\x38\x5a\xfd\xed\x34\xff\xba\x80\x63\xa3\x5f\x4f\x55\x8e\x4e\xeb\x48\xf1\x48\x7b\x56\xb1\xf8\xd1\xf7\x30\x67\x62\x1c\xb5\x48\xc8\x08\x75\x3e\x35\x26\xa2\xf2\xaa\xbd\xe1\x26\xbe\xa5\x21\xcf\x67\x3d\xea\xfa\x79\x2c\xa5\xbd\x22\x12\x79\x5b\xd6\x6b\x86"}, -{{0xa6,0x33,0x7e,0x4d,0x3b,0x1a,0x49,0xb1,0x26,0x31,0x67,0x78,0xc6,0x13,0x51,0x6c,0x03,0xac,0x88,0xc9,0x6d,0x92,0xff,0x5c,0xc7,0xe0,0xc8,0x52,0x7c,0xce,0x1a,0x62,},{0xf5,0xea,0xc4,0xfe,0x0e,0xa1,0xa5,0xf2,0x36,0xb4,0x9d,0xa3,0x3a,0x24,0xe2,0xf3,0xa8,0x3d,0x4b,0x26,0x0c,0x54,0xd3,0x41,0x6c,0x64,0x4e,0x05,0xc8,0x38,0xbf,0x51,},{0x78,0x13,0x76,0xc9,0x51,0x2f,0xa3,0x3c,0x45,0x70,0x47,0xa1,0xf4,0xf0,0xda,0x31,0x76,0xe6,0x0e,0xe4,0x77,0x82,0x86,0x9b,0x7e,0x9f,0xa5,0x84,0x1d,0x96,0x4f,0x3c,0x1a,0xd6,0x6b,0x70,0xc1,0x14,0xb1,0x77,0x1c,0x32,0x4c,0x83,0xff,0x6c,0xd9,0x97,0xae,0xfc,0xcd,0xc5,0x9c,0x11,0x4d,0xb9,0xf2,0xf3,0xca,0x7d,0x84,0xa7,0xb6,0x0f,},"\xe3\x34\x30\xc3\x8c\x4a\x40\xb3\xc6\x6e\x20\xcf\x3b\x70\xe9\xfe\xa8\xcc\x50\x76\x1f\x2a\xfe\x24\x9e\xc0\x59\xc0\x7b\xc3\xb3\x7e\x5b\x94\xf4\xa4\x3e\x31\x00\x99\xb1\x9a\x85\xf5\x9d\xff\x73\xa7\xe4\x95\xc4\xdf\x31\xf7\x47\x80\xcd\xef\x7b\xd6\xe4\x7c\x39\x4c\x18\x91\xea\x30\x52\xe3\xcc\xf5\xd8\x4b\xae\x08\x2d\x24\xba\x71\x78\xac\x65\xd2\x29\xad\x18\xa8\x49\x40\xf6\xb4\xdb\xc5\x96\xee\x63\xc1\x81\xb5\x7b\x5b\x49\x69\x89\x79\xc1\x86\x32\xfa\x82\x1c\xa6\x1e\x35\xa0\xd0\x35\x1f\xe1\x3d\x69\xe0\x6d\xdc\xc8\xd6\x66\xdc\xa2\x45\x02\x17\x7f\x34\x4e\x2f\x44\x05\x75\xd3\x9e\xbf\xe5\xe7\xf1\x06\x53\xb6\x5b\xef\x29\x1d\xc8\x13\xa0\x43\x4c\x97\x5d\xe1\x64\xc1\xa7\x6b\xf6\xfc\xef\x98\xf2\x31\x81\xc0\x09\xb9\x18\x30\xb6\x18\xe4\x87\x48\x47\xd2\xe2\x1b\xbd\xb9\x3f\x20\xcd\x8b\x1f\x4b\xaa\xdf\x99\x42\x8a\x22\x67\x43\x86\xa6\x68\x15\x2b\x4b\x90\x39\xff\x06\xab\xcf\xe3\x34\xa0\x62\xf7\x94\x05\x61\x72\xec\xbc\x07\x94\xdf\x98\x27\x1b\x9a\xcf\xe4\xb7\xda\x55\x3a\x87\x63\x42\x37\x63\x00\x09\xa0\x5b\x25\x7c\x18\x4c\xbe\x23\xd9\xcd\x5a\x03\x86\x58\x01\x0f\x57\x48\x99\xf3\xb2\xd1\x54\xd1\x85\xee\x67\x23\x09\x13\x65\x0c\x3a\x05\xb5\x4a\x2e\xdc\x24\x3a\x42\x87\x39\x8e\x37\x69\x28\xea\x9c\x6b\x2c\xba\xf3\x71\x25\x25\x40\xe2\xb8\x04\x3f\xcf\x55\x68\x13\x19\x6a\xe5\x72\xc2\x7c\xfb\x5a\x46\xab\xb9\x72\x9a\xf2\xdc\xfc\x29\xe0\x33\xdd\x11\xf3\x3e\x86\xcc\x6a\xc3\xbc\xe6\xf3\xf9\x57\x7d\x36\x78\x1a\x69\xed\x7e\xaf\x8c\x82\x63\xa0\xf1\x8e\xba\x0f\xe8\xa4\x81\xf3\xe1\x5a\x55\x59\x94\x34\x19\x5f\x7c\xb0\x57\xdd\x36\x4e\xaa\x07\xdd\x0d\xfd\x26\x6b\x80\x7f\x53\xa2\x07\x0f\xd7\x91\xe8\x72\x42\x2f\xd9\x07\x13\x4f\x4a\x8a\x78\xa8\x76\xbd\xcb\x03\x1a\xc8\x60\xdf\xe0\xbb\x57\xe1\x05\xdb\x82\x87\xb3\x1a\x60\x4e\xb7\x12\x69\xbe\x5b\xa2\x29\x98\x5c\xea\xbc\x2b\xdf\x16\x5a\xc7\x41\x65\x0b\x1f\x01\x3a\x66\xc9\xbd\x24\x3d\x03\xa8\xb1\xc5\x08\x13\x81\xcb\x92\xe2\x3f\x90\x57\x77\x1f\xc0\x7c\xa3\x2d\xff\x1d\xb9\x4f\x5a\xdf\xd2\xf4\xff\x9a\xf3\x1d\x25\x0d\xd4\xf8\x6b\x22\x59\x2f\x60\xa7\x45\x75\x15\x62\x13\xf1\x08\x46\xc7\x46\xa9\x20\xfe\x39\x85\x1b\x32\xfe\x4c\x8b\x87\x58\x76\x5b\xc5\xb8\xb9\xd5\xb9\x92\x63\xdf\x36\xf9\x78\x88\x05\x3f\xd1\x0f\x1d\x68\xf5\x77\xae\xd5\x59\xbc\xfd\xe7\x44\xbc\x65\x11\x07\x6c\xaf\xd6\x89\x44\xa0\xed\x10\x55\x2d\x11\x34\x4b\xc7\xe4\xd9\xef\x93\x6d\xac\xce\xd5\x27\x43\x31\x32\x95\x9b\x1c\x73\x24\xad\x1c\x4c\xbc\x3a\x1a\x73\x6b\x1f\x02\xaa\xe8\xe0\x61\x1a\xe2\x3f\xdd\x47\x4f\x5b\x8e\xe7\x05\x6f\xcb\x5a\xf6\x13\x3e\xcc\x08\x4b\xb9\xf1\xf5\x0c\xbd\xac\x66\x24\x44\x37\xb4\x34\x8f\x4e\xdf\xe2\x37\xfc\x3c\x38\x29\xab\x94\xeb\x4f\x14\xca\xb1\xcc\xd6\xca\xee\x36\xfa\xdc\x20\xa3\x10\xcf\x06\x90\x62\x2c\xdc\xa8\x48\xae\xd0\x3f\xf4\x03\xa6\x63\x3f\x4f\x65\x79\x94\xb7\x80\xdd\x60\x48\x14\x9c\x3b\xfb\xc1\x78\x89\xe3\x7d\x90\xb1\xe5\x42\x0e\xb3\xd4\x59\x6b\x91\xba\x11\xbc\x02\x29\xc6\x5d\x05\xb9\x3c\xd7\xe0\x45\x4d\x1f\x3c\x6e\x1e\x80\x71\x98\x37\x92\xc4\xd4\x36\x8d\x07\x78\xae\xf4\xe1\x23\x33\x5f\xd2\x96\x2c\x65\x7b\xd0\x51\x35\x71\xa5\xfc\xe2\x11\xde\x62\x87\x4f\x27\xca\x10\xdc\x15\xba\x2d\x44\x5f\x1c\xf4\xbe\x5f\x83\x3c\xf0\xb5\x64\xc0\x22\x57\x6b\x98\xc0\xa2\x43\x49\xb6\x70\x85\xf9\x22\x02\x67\x5d\x7d\xac\x48\xb9\x5e\x3b\xfd\x65\x55\xa9\xec\xb7\xc7\x2f\x08\xbf\xec\x0d\x22\x02\x22\x49\x2f\xdc\x96\x36\xf0\x36\xec\x45\x08\xa3\x65\xb7\xb7\x09\x79\xf9\xeb\x4a\x72\x63\xa8\xba\xcb\x1c\x1d\x01\x55\x73\x86\x46\xcd\xd4\x6a\xb9\x23\x4a\x17\x03\x11\x50\x0d\x0b\xae\x6e\x55\xa8\x63\xbd\xaa\x56\xf5\x16\x45\xad\x85\x29\x7a\x73\x81\xf8\xd2\x0c\xf9\x6c\x47\x4d\x1b\xb8\x1f\xce\x13\x2b\x14\x55\x5d\x1a"}, -{{0x10,0x7d,0xa9,0x8d,0x0e,0xe8,0xe7,0xc0,0x0f,0x6d,0x41,0xec,0x26,0x59,0x44,0xce,0x67,0xef,0x8c,0x8f,0xfb,0x51,0xf4,0xf1,0x1f,0x4e,0x5f,0x1a,0x27,0xfb,0xe8,0x05,},{0x3b,0xec,0x34,0xb1,0x61,0xb1,0xbc,0xff,0x00,0x9f,0x8c,0xfc,0x50,0xd8,0x4c,0xeb,0x6a,0x2d,0x5b,0x20,0x3b,0x52,0x38,0xa8,0xaa,0xd8,0xa8,0x36,0x18,0xb4,0x42,0xe7,},{0x53,0x25,0x2b,0x92,0x3a,0xd1,0x9c,0xc3,0x97,0x84,0xd3,0xa9,0xae,0x59,0xd6,0x2a,0x63,0x00,0xdc,0xc5,0x0a,0xc8,0xfd,0x07,0x13,0xcb,0x58,0x84,0x45,0x01,0xd8,0xd3,0x80,0x5a,0xfa,0x0f,0xda,0x64,0xc7,0x3e,0xa0,0xf6,0x0e,0x6a,0x8b,0x34,0x45,0xbf,0xff,0xe6,0xca,0x6b,0xfd,0xc8,0x7e,0x12,0x8b,0xaf,0x99,0xbf,0x62,0x68,0xfc,0x09,},"\x1a\x7b\x7f\x3e\x1c\x7c\x41\x49\x2a\x7c\xe7\x99\xef\xdb\x2d\x9d\xc2\xf2\x48\x9c\x84\xae\x28\xbb\x7d\x08\x4f\x32\xec\xa8\xfb\xb0\x66\x88\x5a\xc6\xf2\xef\x74\x49\xe7\x12\x26\xa8\x2e\x9f\x15\x37\x72\xa9\x93\xeb\x6b\x6b\xca\x64\x91\xd2\x6a\xca\x5d\xee\x98\xb7\x7a\x1d\xdc\x59\x92\x2b\x31\x45\xc4\x47\xde\x73\x7f\xaf\xac\xba\x5a\x75\xf2\xa8\x01\x37\xb5\x59\x46\x97\x22\x0d\x19\x61\x76\x74\xa6\x91\x13\xfd\xf7\x7c\x34\x3a\xf2\xb7\xe3\x86\x1b\x5b\x78\x22\xf5\x8d\x60\x08\x9c\x3c\xa5\x4c\x74\x9d\x27\xf8\x83\x79\xc0\x67\x59\x8f\x06\x39\x39\xba\x86\x31\xd1\xf5\x2d\xc9\xab\x45\x50\x45\xfb\x36\x0c\xc2\xa5\xb6\xb0\x12\x7f\xac\xfc\xf5\xb1\xb4\xc3\x3e\x3f\x19\x4f\xc9\x24\xb8\x54\x16\x8c\xb1\x16\x9a\xb1\x09\x97\xb4\x38\xb7\x1c\x80\x87\x83\x47\xbe\x88\x7a\xf4\x48\x10\x13\x4b\x51\x4c\x80\x69\x08\x20\x1a\x3d\x3e\x6d\x0c\x56\x12\x0c\x43\x14\x87\x4d\xc2\x94\x4d\x84\x44\xf0\x1b\xaf\xa3\x4a\xa6\x2e\xce\xf0\x98\x15\x45\xe5\xd0\x2f\x40\x16\xc0\xb1\x64\xfc\x05\xae\x18\xf5\x35\xc3\x1b\xf2\x0b\x86\xf3\x1f\x7a\x79\x4a\xba\x14\x89\x84\xc3\xff\x43\x3d\xc2\x22\xc4\x43\xb5\xd2\x6c\x1f\x66\xe6\xc5\xf1\x9d\x19\xcd\x6e\xad\xd4\xdc\x94\x10\x1b\x2f\x52\xb5\x8c\x9d\x45\x90\xcb\x10\xdb\xc5\xd6\xea\xcd\x11\xd4\x2e\xd0\x9f\x15\xbd\xe4\x4e\xe9\x27\x1d\xef\x29\x2f\x73\x1b\xf3\xb4\xac\x6c\xd1\x27\xe4\x88\x4c\x2c\xb3\x0b\x28\x5f\xc9\x24\x76\x38\xa2\x99\xe4\x16\x52\x06\x24\xd1\xec\x8d\x0d\xf2\x49\x89\x39\xc7\x19\xa9\xe7\xbd\x29\xa3\xc5\xc3\x2a\x3e\x82\x41\x36\x8d\x6e\x4f\x90\xfe\xa2\x9d\xc3\xa3\xf1\x47\xea\x9f\x76\xc5\x78\x0e\x73\x14\x3f\x55\xd3\xde\xc7\xb6\x63\x41\xd3\xf3\xea\xc1\xd9\x8f\x8e\x7d\x4e\x87\x75\x09\xb4\x43\x8c\x3a\x52\x46\x6d\x24\x2a\x10\xb4\xc2\x7c\x4a\x0d\xb9\x23\x2d\xad\x01\x14\x14\xeb\xfb\xd5\x79\x06\xf1\xa4\x10\x20\x7b\x52\x6b\x0d\x1f\x1b\x69\x86\xb3\xeb\xd7\x55\x0a\x2b\x3c\x15\xfc\x24\x09\xc7\x62\x6e\x0d\xd3\x30\xef\x67\x22\xe3\xba\x48\xb1\xd9\x20\x56\x52\xac\x19\x4c\x21\x47\x3c\xe2\x58\x55\x9d\xb5\x11\xef\xad\x3e\x5d\x55\xf2\xa7\x96\xd6\x5a\x6a\xb9\x7d\x86\x31\x06\x2a\x59\x3a\x13\xaa\xa0\x95\xdb\xc9\x3e\x62\x17\xce\xd6\x19\xcb\x16\xa5\x7e\x74\x43\x55\xa1\x6b\x15\xe7\x7d\x49\x79\x11\x92\x99\xbb\x04\x3e\x48\xfa\x3e\x61\x54\x60\xe1\x64\x88\x29\x84\xa2\x23\xd4\x18\xca\x95\x34\x0c\x5b\xfc\xda\x67\x3f\xcd\x13\xb2\x9f\x2c\x47\xd2\xf9\x7e\x3e\x8c\x61\x3b\x6c\x58\xdf\x0e\x62\xcf\x23\x06\x1d\x6f\x54\x5b\x75\x50\x33\xfd\x3d\xc1\x40\x5e\x5f\xef\x35\xa1\x3e\x01\x5f\x98\xb1\xcc\x42\xf7\x1b\x99\x68\x1f\x96\x81\x25\x82\x29\xa4\x47\x3d\x86\xea\xbb\x0c\x17\x92\x79\x41\xe5\x0c\x08\xf3\x4a\x76\xb4\x3b\xcc\x6d\x04\x2e\x56\x32\xef\x9c\xcc\x91\xb6\xe6\x95\x0f\x5d\x30\xf6\x70\xfb\x39\x02\xc3\xd4\x09\x31\x5a\x40\xb0\x82\x1c\xe8\xa9\x9a\x97\xfe\xca\x54\x78\xbf\xd7\x82\xe7\x87\x67\xb3\x11\xf3\x74\x16\x3f\x58\x96\xb0\xbe\xb9\x58\x38\xe6\x45\x87\x8c\x64\x99\x03\x85\x12\x3b\x61\x57\x5d\xd8\x42\xdc\x76\x35\x4b\xac\x9c\x6d\x5a\xcd\x99\x35\xb6\x09\xbc\xcc\xb8\x46\x3d\x39\x22\x5d\xa1\xaf\xb8\x91\x1d\x36\xe6\x09\x89\x2d\xd1\x72\x38\x52\xab\x9f\x82\x75\x8f\x3f\x1e\x4d\x28\xdc\xf0\x2c\xb0\x6e\xed\x26\x84\x4a\xae\x68\x82\xed\x44\xbc\xe4\x4a\xbc\xd1\xdf\xba\x63\x34\x18\xc9\xf1\x55\x87\x9c\x97\xab\x27\xf8\xae\x23\x83\x30\x39\x2b\xe5\x49\x1a\x07\x86\x62\xda\xaa\x02\xa3\xd5\x45\x8b\x77\xc5\x49\xc4\x9b\xe2\x01\x24\x5e\x7a\xae\xc0\xd9\x4e\x54\x37\xbe\xca\x6e\x5a\xb0\x46\xd6\x94\xe9\x6b\xf5\x1e\x04\xfb\x44\x37\x9b\x2b\x9b\x80\x16\x75\xfe\x14\x77\xf3\xe0\x89\x87\x4a\x60\x11\x71\xd8\xb6\x8f\x02\x02\x01\x46\x01\xa5\x3f\x81\x2f\x53\xe5\x81\xc3\xb9\x63\x12\xb3\x6b\x9e\xe0\x4f\xff\x11\xd9\xea\xb4\xe4\x51\x48\xdc\xc8\xf0\xfa\xb1"}, -{{0x8b,0xc2,0x29,0xfc,0x23,0x46,0x53,0xb1,0x3c,0x92,0x47,0x10,0xcb,0x46,0x8b,0x8f,0xa9,0xb2,0x80,0xe2,0xad,0xb4,0x9c,0xb4,0xb3,0x6b,0xf5,0x9d,0x6f,0xa4,0xa6,0x39,},{0x46,0x14,0x69,0x75,0xdf,0x67,0x04,0xcb,0xf4,0x53,0x20,0xa5,0xe6,0xcb,0x6d,0xe8,0x13,0x46,0x9f,0x31,0x31,0xe6,0x1d,0x44,0x7b,0xbc,0xa1,0xa4,0x77,0xa0,0xc5,0x57,},{0xd2,0x43,0xb8,0x7d,0x13,0x97,0xd5,0x94,0x13,0x9d,0x83,0xc3,0x9a,0xcf,0x85,0x01,0xd0,0x73,0xbd,0x4b,0xe7,0x18,0xb4,0xc2,0x06,0x98,0x07,0x29,0xe7,0x20,0xa4,0xc5,0xb0,0xea,0x91,0xa2,0x8e,0xa1,0x26,0x04,0xa9,0x87,0xe6,0x95,0x91,0xc5,0x43,0x04,0x9f,0x29,0x73,0xbb,0x91,0xc1,0x70,0x21,0x3c,0x32,0xa6,0x4a,0x0f,0xac,0x82,0x04,},"\xba\xe2\xdc\x7f\x94\xab\x5c\xcd\xca\xa8\xcf\x49\xed\xbe\xf0\xf6\xd7\xae\xb1\xfa\x89\x07\x80\x05\x33\xaf\x44\x92\x61\x11\x94\xe5\x6c\xef\x37\xb1\xf0\x33\x30\x37\x38\xae\x2c\x3b\xc4\x58\x8f\x5c\xb3\xd5\x5f\x34\x5b\x9a\x40\x7e\x78\x77\x42\xa0\x6a\xf0\xb6\xee\x20\xde\xe3\xdf\xe9\xc9\x1d\x76\x2a\x3e\xbd\x19\xae\xd0\x79\x07\xbb\xb9\x1c\xd7\x76\x32\x65\x40\xde\xd9\xf7\xff\x7d\xda\x76\x61\x5f\x97\x8e\x94\x90\xf4\x06\xed\x2d\x91\x16\xe2\x09\x3f\xa7\x85\xe9\x71\xb5\x06\x2d\x31\xcb\x40\xff\xf9\xe3\xc5\x51\xa7\x3b\x20\x24\x5d\x46\xdf\x4d\x7f\xd1\x30\x3a\x28\x18\x01\x72\xd9\xa2\xbf\x55\x93\xc4\x79\x17\xb5\x86\x90\x91\x7c\x1f\xb0\xe1\xe2\x99\x4d\x1f\xa9\x77\x35\xae\x37\x8d\xe6\xea\xfd\x5c\x1a\x25\xab\xaf\xa3\xcf\xd2\xdf\x7a\xea\xbd\x6e\x68\xfc\x44\xed\xf8\x2f\xc8\x36\x94\xe5\xd8\x41\xa1\x5b\x14\x56\x8b\x61\x10\xbe\x64\x4b\xf2\x2b\x71\xfc\x47\xd7\xf0\x7e\x16\x66\x95\x7d\x0f\x87\xda\x17\xf1\x3f\xcd\x63\xc1\xc2\x96\x6f\x68\x7d\x25\xdc\xbd\x99\x63\xf0\x1e\xff\x13\x2d\x5f\x2b\x86\x67\x78\x16\x58\x8c\x12\x3e\x94\x57\xbe\xfc\xce\xd2\xd3\xcd\x1d\x1b\xeb\xe8\xdd\x8f\xbb\x15\x87\xe5\x53\xcb\xcc\x4c\x87\x62\x06\x4c\xd3\x2e\xf7\xa1\x70\x24\x10\xf7\x7f\x15\x24\x0d\x7e\x2b\xb5\x82\xc6\x78\xc0\xda\x88\xef\x45\x22\x83\x0b\x14\x36\x60\xac\x9c\x43\x4d\x95\x77\x2e\x6e\xee\xed\x60\x14\xae\x16\x82\x4c\xcd\xc4\xdf\x2d\xf6\x4a\xeb\x69\x80\xb5\x1d\x11\x89\x85\xdc\xbb\xd1\x96\x1f\x31\x5e\x6a\x94\x33\xf0\xb9\x6b\x1e\x63\x51\x25\x7e\xad\x83\xe0\x5b\x4c\xc8\x9c\x92\x4b\xf8\x35\x58\xba\x7d\x2e\x7c\xa3\x7c\x03\x17\x9a\x8f\x85\xb8\x31\xe7\x21\x7b\xf4\xc5\x53\x83\x87\x61\xd3\x26\x02\x85\x3b\x81\x59\x3b\x0e\xbf\x8e\x4b\x9f\xfa\xf0\xec\x40\x5b\x2a\x83\xaf\x7d\xe5\x55\x4d\xaa\xd2\x8b\x58\x2e\xe0\x8b\xd8\x4b\x37\x55\x50\xca\xe0\x8a\xe4\xa5\xbd\xa7\x15\x81\xfc\x3b\x7b\x54\x49\x8c\x4e\x1a\xfb\x96\x6b\x4a\xf1\xd9\xc8\x43\xa6\xb2\x5b\x34\xe0\x4c\xfd\x9b\xd2\x37\x42\x44\xf1\xfe\x20\xec\x62\xbe\x3c\xcf\xab\x4e\xde\xf7\x9e\xd6\x4e\x6b\x71\xaa\x92\x28\x12\x7c\x63\x59\xea\x1c\x4a\x80\x87\x89\x08\x96\xff\xa4\x6e\x00\x92\xde\xc7\xef\xbc\x96\x0a\x17\xb7\x70\x91\x6f\x95\x40\x70\x13\x2e\x26\xd9\x8d\x97\x74\xa2\xac\xdf\x80\x9d\x58\x6d\xf0\x25\x2f\x67\xcf\xe8\xd9\x85\xa3\xe2\x48\xdb\x0f\x90\x73\x1a\xce\x7a\xbd\x99\x9c\x74\x6b\x69\x64\x8d\x5c\x3b\x4b\xd6\x11\x37\xe0\x8f\xcc\x8b\x2e\xfc\x56\x76\xbc\xd8\x56\xa1\x3b\x36\x21\x51\x47\x4c\x4a\x1e\xfd\xed\xc5\x92\xcf\x3e\xad\x1a\xba\xbc\xd4\x8e\xe2\x04\xd2\x77\x26\xad\x1b\xda\x4f\xe4\xb0\x9a\xb5\x10\x89\xd0\x16\xde\x6b\xa2\x59\xea\x81\x80\x7f\xaf\x21\x1c\x87\xe4\xc9\xef\xbf\x6a\x4c\x75\x3e\x08\xf7\x80\xed\x55\x33\x8c\x0f\xde\x14\xfb\x99\xb3\x07\x22\xb5\x59\x4b\x3a\xbe\x02\x04\x7f\x46\x62\x42\x42\x1f\xb8\x11\x76\xc9\xc4\xf0\xfd\x2b\x5e\x7c\x5a\x0f\x65\xa0\xc5\x9a\xa8\xc3\xa9\x86\x08\x7d\xe7\xba\x40\xba\xca\x77\xbd\x36\xac\x21\xce\x34\xe9\xfe\x97\xfa\xcc\x4e\x29\x83\x30\xee\xce\x1c\x8e\xc6\x23\xe6\x6a\x4b\x0f\x23\x42\xd2\xc5\xa0\x2c\x5f\x5a\xbd\xdc\x5f\xf1\xf1\xf2\xd0\x3c\x1d\x4e\xe9\xb4\xb3\x42\xed\x3b\x1c\xc2\x65\x61\xf3\x21\x7b\xf8\x50\x0e\x08\xf0\x27\x57\x1c\x53\xc9\x23\x26\x05\xa5\x3f\x2b\xda\x02\x4e\x39\x92\x91\x63\xa8\xe0\x07\x91\xac\x06\x56\xbb\x07\x83\x82\x5e\x71\x05\xff\xa9\xd9\x09\x69\xdc\x09\x4a\xf4\x6f\x70\x2e\x85\xcc\x11\xe4\x42\xb3\xd5\x53\x4c\x1d\x32\x75\x20\x7d\x6d\x29\xa9\x42\xc3\x58\xed\x5f\xa0\x75\x57\xc3\xc0\x14\xcf\x54\x1f\x9a\xae\xea\x60\x25\xb4\x1e\xcd\xd8\x48\x51\x2b\xa2\x5e\x72\x1e\x43\xd3\x29\x18\x5f\x8f\x94\x89\x2e\x9e\x2d\x5e\x7c\xbb\x99\xe7\xad\x25\xf6\x9e\x5b\xef\x73\x2c\xfc\xeb\x07\x86\x11\x55\x3c\xc7\x83\x77\x37\x5e\x74\xe6\x6f\x1b\x9d\x8d\x20"}, -{{0x3e,0xdb,0x50,0xff,0x07,0x4e,0xf9,0x71,0x7f,0x4f,0xb0,0xb6,0xce,0x25,0x2b,0xf4,0xbd,0x04,0x9c,0x90,0x83,0x77,0x5f,0x52,0x9e,0xaf,0x51,0xe9,0x75,0xcb,0x32,0x45,},{0x4b,0xc2,0x1f,0xe0,0x3e,0x67,0x9a,0xbb,0xfc,0xd8,0xc5,0xea,0x2b,0xcc,0x4d,0x83,0x8a,0x78,0x7d,0x48,0x40,0xc3,0xbc,0x39,0xde,0x4b,0x04,0xc4,0x17,0xc7,0x68,0xa5,},{0xde,0xb3,0xd9,0xfc,0x7b,0x2d,0x86,0xab,0x4b,0x92,0x6f,0x99,0x52,0x79,0x70,0xab,0xb5,0x18,0x38,0xbc,0xc2,0x91,0x9e,0x94,0xcd,0xa3,0x37,0x1f,0xd0,0xe7,0x69,0x3f,0xe3,0x7e,0x0c,0x40,0xe1,0x23,0x3b,0x09,0xff,0xa9,0x03,0xa0,0x34,0xdd,0xe2,0x87,0xc0,0x23,0x7d,0xc5,0x94,0xf5,0x3a,0xbc,0x87,0x84,0x48,0x69,0xdc,0xe9,0x20,0x02,},"\x97\x5e\xce\x4e\x81\xf0\x01\x5f\x5a\xc3\x04\x46\x09\xd0\xac\x3a\x8d\xf9\x14\x5b\x50\xc4\x28\x89\xdd\x31\x2f\x56\x3c\xf6\x12\x6e\x36\xff\xfa\xf2\x1e\xb6\xb8\x4f\xbd\xa1\x5a\xa8\x5c\x66\x14\x5f\x75\x41\xe5\xb4\x1a\x8e\x81\x70\x0b\xe3\x56\x22\x4f\xc1\x09\x32\x7a\x69\x19\x66\x56\x73\x53\x4f\x5c\x8a\x4a\x00\x17\x50\xb1\x99\xdb\xfd\x63\x06\x91\xaf\x55\x2d\x4d\x26\xa9\xd9\xaf\xb3\x3a\x16\xaf\x39\x11\x54\x12\x4b\x53\x42\x6c\x9f\x69\x50\x57\xb1\x81\x4f\xd6\xd3\x10\x29\x8a\xf6\xc8\x30\x68\x6a\x4a\x00\x7a\x14\xe0\x05\x7b\x72\xfb\xad\x5b\x80\x3a\xd3\x53\xd1\xc3\xfd\xb8\x90\xa9\xc8\x18\x08\xe8\x9f\x22\x91\x87\xbc\xb4\x4f\xee\x16\xa4\xeb\xca\xd5\xeb\xa4\x59\xb0\x28\x27\x2a\x56\x2c\x05\x07\x9f\xa7\xae\x3e\xca\xe8\x04\xa9\xe8\xc4\xf3\xf3\x15\x81\x3c\x5e\xe0\x84\x1b\xbc\xcf\xe4\xa9\x56\x23\xb5\x17\xa4\xb4\x2b\x2c\x6d\x97\xa3\xbf\x26\xac\xdb\xe2\xe9\x79\x63\x3f\x02\xaa\xc4\x66\x52\x6a\x3e\xbb\x14\xda\x19\xbc\x95\xf2\xc3\xfd\xf6\xbd\xb0\x8b\xe8\xbd\xe9\x7a\x86\x4c\x90\x7e\x91\x8c\x67\x9a\xb7\x26\xf8\x01\x77\x14\x58\x40\x21\x6b\x9d\xc3\xf9\x81\xef\x17\x87\x4f\x08\xb2\xfc\x66\x11\xa6\x34\x6c\x3d\xa6\xa5\x5e\xcf\xa7\x53\xc9\x91\x9f\x4f\x19\xe3\xc7\x90\x93\xbf\xd7\x8f\x86\x15\x98\xe4\x66\x6e\x1c\xab\x68\x8e\x46\x04\xd4\x6c\x9c\x58\x2e\xad\xb9\x2c\x98\x8f\x47\x8d\x16\x0f\x5a\x15\x18\x2b\x33\x40\x20\x17\x97\xd0\xb9\x55\x28\x2e\x4a\x21\x7b\x50\xb1\x4b\x10\xc9\xf4\x90\x67\xea\x3e\x84\xe5\x27\x4d\xca\xec\x74\x47\x4c\x57\x07\xc2\x8b\xba\x0d\xb8\xcd\xe3\xe8\x38\xd7\x31\x3c\x17\x1b\x85\xff\x2b\x9a\x3d\x2b\x16\x7e\x90\x61\xf8\x4d\xf3\xb1\x3b\xdd\x08\xb2\xd5\x01\xe5\x37\x92\xd6\x80\x54\xd0\x48\xab\xfe\x3b\xce\x98\xd9\x78\x25\x6f\x2f\xd2\xc6\xc4\xe7\x6f\x39\x68\x8c\xcc\xf0\xfe\x14\x9a\xf9\xd3\x47\xe7\xb0\x40\xef\x24\x1d\xd5\xa5\x3e\xaa\x5e\xab\x35\xa1\x8c\x68\xc7\x54\xa0\x6b\x03\x39\x9b\xbe\x56\xa2\x52\x68\xc8\x29\xa5\xba\x82\xb2\x81\x92\x04\x1d\x3b\xd2\x44\xeb\x08\xbf\x78\xe7\x6d\xef\x87\xcd\x09\xf3\x2b\xea\xc9\xbb\x63\x98\x23\xb3\x69\x67\xa5\x74\xd8\x96\x0d\x1b\xd0\x34\x35\x67\x9d\x93\xed\xdc\x55\x80\x63\xc5\x40\xb9\xc2\xf6\x09\xfe\xd2\xe2\xe3\x57\x6d\x19\xe6\x20\x9e\xab\x46\x6c\x20\x67\x91\xc3\xaa\x19\x96\x23\xfb\xae\x7d\x34\x97\xe8\x0f\xdd\x3f\xcb\xaf\x5b\x89\x11\x0e\xd7\x22\x44\x23\x4b\xe8\x5c\xca\x4b\x27\xa0\x9b\xb7\x0a\x26\xec\xe4\xeb\x8d\xd9\x70\xa2\x6e\x5b\x04\x36\x1f\xa5\x0e\x90\x38\x0e\xd6\x5f\x41\x4c\x1b\xe9\xf5\x06\x4f\x71\x42\x91\x16\x26\x7e\xdd\x69\x76\x42\x2a\xd9\x2d\xeb\x2b\x80\x4a\x92\xe8\x1c\x9f\x65\x22\xa0\xf3\xb5\xd8\xad\x36\xb4\xf8\x7d\xb5\x16\xa2\x28\x73\xe6\xf2\x72\x84\xf2\xca\x36\x0a\x2f\x40\xff\x3d\x8e\x23\xde\xc8\xef\x8a\x17\xa4\x3a\xcb\xb6\x12\x71\xa7\x27\xcb\x86\x90\xd2\x9b\xb8\x20\x16\x73\x6b\x31\x02\x62\x01\xdd\x3d\x38\x8d\x2c\x64\x3a\x73\xcf\xbd\x0a\x94\xe2\x05\x51\xfb\x5f\x8e\x1f\xfc\x39\x74\x12\x72\xaa\x23\x08\xdc\x8d\x21\x33\xa3\xfa\x9c\xf1\x09\x79\x6d\x69\xd2\xcc\x8a\xdd\xc4\x4a\xe2\x52\x77\x81\xee\x99\x3a\xf2\xa6\x37\xa8\x72\xf0\x2a\xff\x47\x4a\x70\x73\xf2\x9d\x9c\x89\x50\x77\x01\xfe\xcb\xbf\xd5\x10\x13\x53\x53\x7e\xba\x17\xc2\x96\x69\xda\xc0\x42\x7e\x38\xe2\x2d\xfa\xac\x91\xfc\x20\xd9\xe3\xfe\xe7\x91\xf4\x62\xa8\x63\xbb\x19\x08\xfb\x1e\x42\x04\xb6\x88\x80\x31\x4d\xda\xca\xaa\x35\xa1\x7a\xf5\xf5\x7a\x39\x9f\x19\x31\xe7\x8f\x5a\x37\x45\x4f\xd3\x8c\x57\xa6\x8e\x8d\x36\x78\x48\xa9\x73\x45\x18\x9c\x70\x07\x7f\xd1\xaa\x07\x54\xe7\x03\xe3\x52\x61\x80\x63\xb9\xe3\xfa\xf3\xb1\x4b\x5f\x0b\x27\x11\x36\x33\xc5\xd1\x73\x63\x74\x1e\x96\xa6\x7e\x81\x64\x01\xe8\x09\x8c\x17\xbf\xfe\x9c\x6f\x35\x87\x64\x6f\x40\xe9\xfd\xb6\x81\x9f\xd2\x2a\x74\x3a\x7a\x6e\x10\xfe\xba\x11"}, -{{0xcd,0xa4,0xba,0x93,0x94,0x0a,0xa0,0xc0,0xc3,0x15,0x0b,0x39,0x29,0xb9,0x5e,0xe7,0x76,0x9c,0xe4,0x3f,0xd9,0x8e,0xca,0xff,0x9c,0x4a,0x50,0x9e,0x73,0x6d,0x5c,0x8e,},{0xf4,0xc7,0xa2,0x5f,0x1a,0x74,0x3d,0xaf,0x41,0x41,0x7e,0x47,0xe0,0x27,0x53,0x7f,0x24,0xf4,0x81,0xbd,0x1a,0x75,0xe6,0xb1,0xd3,0x3e,0xc4,0xc8,0x2c,0x55,0xa2,0xd3,},{0x31,0x04,0x8d,0x33,0x4a,0xf0,0x5a,0x4f,0x27,0x5f,0xf8,0x27,0x54,0x4e,0xa2,0x96,0xa4,0xa7,0x75,0xfa,0x59,0xef,0xa0,0x00,0xc5,0x76,0x13,0xfa,0x6e,0x5c,0x49,0x3c,0x3a,0x9b,0x79,0xe8,0xce,0x56,0xe7,0x22,0x5b,0x0f,0xa3,0x26,0x20,0x4f,0x03,0x36,0xc2,0x13,0x53,0x5a,0xe5,0x89,0x17,0x7a,0x8e,0xae,0xdb,0x6d,0xf8,0xb2,0x02,0x03,},"\x3a\x1d\x66\x8c\x66\x88\x41\x48\x96\xa7\x69\x7f\x3c\x2e\x43\x10\x98\xed\xfc\x45\x7e\x04\xd2\xda\x86\x95\x68\xad\x5b\x33\x10\xe5\x9e\x4c\x72\x7c\x90\x3c\xbf\x18\x17\x40\x88\x02\x31\x9a\x8c\x23\x1b\x58\x02\x3d\xfa\xe4\x94\xc0\x13\xaf\x0f\xdb\x78\xc9\x1d\x5b\x45\x7f\x8c\x47\xa3\xdc\x31\xd8\xc8\x59\x4a\xa0\x8f\x14\x62\x03\xfa\x2c\x28\xb3\xdd\x79\x6a\x11\xa9\x7a\xde\xde\x6a\x7a\x70\x9b\x5a\x19\x18\xef\x1b\xea\x83\x53\x3c\x78\x34\x73\x70\x33\x56\xf5\xbe\xea\x7f\xd1\x8a\xc4\x4e\xc6\x89\x04\x95\xed\x17\x0d\x03\xf1\x5b\x41\x86\x08\xa7\xd9\xef\xd5\x2f\xa1\x09\x18\x63\x80\x51\xc4\x48\xd9\x8d\x57\x24\xf5\x67\xc8\xc6\x7f\xd5\xb6\xec\x8c\x3d\x63\x60\x08\xb9\xba\xe5\xe8\xb1\xe9\x84\xf8\xff\xb8\xb6\x4b\xee\xbd\x63\x45\xa1\x05\xc1\xc1\x08\x31\x32\xfd\x45\x08\xd6\xac\x0d\x4e\x91\x45\x50\x12\x10\xe5\x17\xd9\xb2\x24\x78\xe2\x15\xb6\x02\x59\x9f\x80\x37\x62\xdc\xd5\xa4\x09\xb3\x46\x0e\x7f\x34\x0f\x47\xef\x77\x28\x1a\xd2\x38\x3d\xe0\x8c\x5b\x80\x95\x38\xaa\xec\x92\x2b\xfc\xa0\xd6\x75\x2f\x14\x79\x72\x64\x6d\x0a\x8d\x83\x40\x77\x2c\x87\x1d\x3b\x34\xab\xc0\x60\x37\xde\x3a\xb4\xe3\x71\x29\x86\x5d\x5b\xa7\x0b\x6f\x3c\xc9\xa0\x59\xef\xb7\xdd\xdc\x38\x82\xf4\xfc\xfe\x13\xf4\x48\xc9\xbc\x66\x48\x88\x58\x96\x03\xba\x98\x68\x3a\x93\xb4\xb3\xb1\x01\x49\x92\xa5\x5c\x8e\x4e\xa1\xba\xf9\xcc\x00\xd1\xba\xdf\xf5\xfd\x7f\x5d\xa5\xe3\x07\xfb\xd1\xb4\xc9\x84\xe0\xfa\x0e\xde\xc5\xd3\x0b\xfe\xf5\xf4\x77\x30\x12\x63\xb5\xd7\x52\x00\x1b\x85\xdd\x52\xdf\x3b\x4a\x7a\xc2\x3b\x93\x0a\x91\xc0\xa4\x57\x65\xa6\x64\x88\xd8\xeb\x59\x01\x85\x70\x60\x06\x7b\x82\x37\x81\x88\x54\x92\x88\xdd\xc6\x18\x31\xe5\xb6\x84\x1b\x34\x4c\xae\x22\x50\x04\x22\x19\xcf\xb4\xac\xe0\x23\xe6\x91\xf9\xe4\x8d\x00\x6e\x9a\x07\xc6\x7d\x24\x68\xf9\x35\x93\xb4\xaf\xc1\x61\xc0\x76\x8b\x6c\xeb\x74\x4c\x24\xc9\x23\xda\x34\xaf\x3d\x5e\xd5\x77\xcc\x7f\x85\xd4\x91\x56\x0f\x4c\x0b\xcb\xcd\x1d\x5e\x34\x21\xbd\x1c\xcf\xaf\xb3\x73\xd6\x51\xbd\x61\xed\x71\xc0\x9e\x99\xf6\x12\x00\x17\x04\xd0\xc6\x30\xd8\x54\x7b\xd9\x70\xb6\x6e\x7f\x5c\xe7\xa0\x14\xe0\xff\x5a\x33\x7d\xc5\xc5\x6a\x99\xf1\x31\xb9\x12\x91\x40\xee\xea\x39\x39\x7c\x48\xca\xa9\xa8\x08\x6f\x9f\xd9\x91\x50\xbe\x7e\xf8\x7b\x6d\x4b\x94\xb1\xbd\x52\x87\x8b\xf3\xbb\xfc\xce\xac\xc2\xcc\x45\xe8\x97\x1c\x3a\x4d\x4a\x3e\xb8\x6a\xf9\x87\x4d\x4f\xa5\xe7\xca\xa7\xf4\x5d\x15\x53\xff\xbb\x41\x64\x5b\xf0\xf5\xe9\xb2\x97\x72\xe3\xdc\x08\x1b\x25\xb5\x2e\x1c\xb7\xe2\x16\x74\x83\xd5\x4f\xba\x69\x0d\xdb\x29\xd5\x46\x2d\x2a\x27\xa3\x5d\x85\xf0\x07\xad\xed\xe2\xa3\xdd\x72\x81\xf6\x54\x33\x6a\xfa\xfb\x73\x70\x78\x2b\x29\xca\xd6\x43\xd9\xd9\xdb\x2f\x05\xf2\x81\xb5\x3e\x13\x3e\xc3\x0e\xec\x09\xfb\x0d\x06\x1b\x74\x58\x1a\x2b\xd2\x79\x0b\x13\x73\x91\xf1\x93\x28\x88\x0f\x64\xc5\x3b\xe7\x00\xd0\xfa\xdd\xb7\x0d\xc1\x65\xd2\xd6\x2e\x67\x1e\xb9\x44\x9a\x2e\x6e\x9d\xf2\xc1\x6d\x8f\x49\xfa\x4b\x5b\x84\x30\x9f\x73\x35\x13\x3d\xbe\x87\x2c\x5a\x8f\xdc\xfb\xc4\x98\x0a\xbf\xb3\xc9\x59\x7d\x5d\x66\x7a\xd2\xf6\x88\xc7\xab\x24\xc9\xe4\x40\x29\x8d\x72\xb2\x8b\x0f\xcd\xe9\xc6\xf0\x71\xbc\xcc\x93\xe8\xdd\xbb\xa7\xb6\x0a\x0b\x54\x4a\x2e\x06\xc3\x9c\x67\x23\xd4\xf7\xdc\x18\x5c\x21\x13\x5f\xd1\x3a\x72\x77\x0b\x97\x61\x19\xe4\x9a\x1f\x81\xed\x47\x6b\xe0\x7c\x44\x3d\xe0\xb0\xee\x76\xfb\xd9\x19\x38\x93\x28\xb3\xeb\x86\x07\xbc\x2f\xe3\x8f\x85\x74\x5e\x28\xad\xb7\x48\x2b\x70\x1c\xcc\x66\x90\xe4\xae\x5a\x93\x32\xea\x44\x61\x31\x79\x38\x7d\xc6\xfc\x47\xc1\xd1\xec\x36\x60\x35\xe9\x91\xe1\x40\x43\x23\xbd\xbb\xf5\x35\xf1\xc3\x3c\xf5\x7b\x67\x23\xf1\x3c\xa6\xca\x32\x9e\x2a\xaa\x4b\x46\xb4\x26\x07\x33\x99\x06\xc7\xef\x49\xb3\x2d\xb8\x2c\xdf\x6a\x87\xad"}, -{{0x21,0x7e,0xcd,0x6a,0x7f,0xcc,0x98,0x71,0x92,0x10,0xc3,0x4c,0xc2,0xe1,0x4f,0x5e,0x2d,0x6b,0x5a,0x22,0xf2,0x68,0xc1,0x4b,0xc4,0xd8,0xa7,0xf2,0x81,0x72,0x00,0xc3,},{0xd5,0x91,0x91,0xce,0x28,0x2d,0x72,0xfe,0x3a,0xc4,0x58,0x78,0xe2,0x4b,0xb2,0xf2,0x8c,0x40,0x9b,0xa0,0x5d,0x76,0xce,0x9b,0xcf,0x22,0xf5,0x0b,0x0c,0x77,0x86,0x75,},{0xa0,0xb1,0x69,0xe8,0xe9,0xce,0x55,0x75,0x55,0xe0,0x33,0x4a,0x0d,0xe7,0x43,0x8e,0x55,0x36,0x75,0x48,0x9e,0xa4,0xba,0x9c,0xc6,0x3a,0x23,0x4d,0x00,0xde,0xd8,0xab,0x69,0x67,0xa3,0xbe,0x90,0xef,0x69,0xe0,0x76,0xdb,0x9e,0xa3,0xd5,0xca,0x23,0xb3,0x24,0x8d,0xd2,0x59,0x91,0xee,0x1f,0x4d,0x80,0x62,0x0b,0xf4,0xdb,0x43,0x8f,0x0e,},"\x9b\x53\x37\xe7\x8f\xb3\x82\xf2\x2e\xa6\x0e\x03\xc0\xbf\x3e\xe4\x70\x0b\x69\x78\xa9\x1e\xe6\xac\xdf\x6a\x40\x9e\x49\x18\xd1\x68\x48\x81\xfa\x1d\x11\x8c\x08\xc9\xf6\xf2\xca\x0c\xab\x56\x74\x02\xc9\x50\x10\xe7\xab\xdf\xe8\x48\xae\x79\xba\x24\x9a\xdc\xb9\x6e\xae\x1d\xfa\x08\x43\x95\x21\x39\xcf\x49\xb5\x88\x64\x78\x95\x69\x1a\x2e\x98\x80\x46\x6b\x7e\x77\xe5\x4f\x6f\x60\x81\x5e\xbf\xd5\xe5\x74\x8f\x41\x3c\x0e\x15\xf9\xd5\x76\x79\x9b\xcf\x31\x28\x47\x10\x63\x6f\x6e\x9d\xc7\x87\x85\x00\x79\x6e\xed\x80\xc8\xaf\x4b\xe2\x96\x19\x52\xea\x80\xbb\xed\x14\x04\xbd\x5d\xae\x9e\x6d\x05\xfd\x4f\x32\x5a\x3b\x83\xcd\x45\x28\xa0\x86\x9c\xef\x84\xb4\xd3\x0e\x02\xf9\x41\xd7\x49\xa8\xda\xc9\x7b\xb3\xfa\x83\x9d\x25\x73\x9b\x97\xec\x37\x45\x36\xbd\xea\x50\x04\x84\xa9\x41\xdb\x9f\x22\x99\x97\x06\x58\xd4\x11\x48\x29\x5c\xa0\x84\x6c\xa2\x36\x62\x38\xb6\x20\x1a\x48\xb3\xe4\x47\xed\xbe\xa7\xa4\xc8\xf7\x10\x20\x14\x27\x69\xe1\x5f\xa7\x2a\xe5\xf2\x87\x14\x0b\xc5\x95\x3b\x8a\x9a\x24\x2d\x20\x5f\xc0\x19\x09\x1f\x2a\xbe\xd0\xfd\xa4\x7f\x52\xd5\x9a\x02\x04\xce\x74\x01\xc1\x82\x9b\x58\x57\xb9\xa0\x91\x6f\xce\xbe\x2e\xef\x99\x1c\x41\x3a\xcd\x71\xb1\x8d\x85\x90\xd6\xb6\xd0\xfb\x39\x94\x30\x26\x78\xc2\x9f\x2b\x6a\x53\x02\x3f\x91\x87\xe4\x6c\x36\x79\x0b\xce\x73\x87\x3c\x54\x5a\x72\xbe\xb5\x53\x29\x4b\x1e\xe5\xd0\xd0\xdf\xf2\x39\xe2\x8e\xc6\x3b\x01\xe4\xd8\xfe\x0d\x6e\x69\xb1\x60\x1e\xfa\x24\x11\xf0\xc0\x60\x1e\x7e\x4f\x65\xc9\x84\xf8\x29\xf0\xdc\x2a\x84\x21\xe7\xf6\x6d\x93\x30\x53\x71\x51\xc7\x24\x3c\xa5\x24\xd7\xa5\x47\x35\xc6\xe3\x44\xf1\xfc\x93\x8e\xae\xea\x27\x79\xc9\x40\x89\x1d\x6d\x01\xaa\x55\xf4\x0c\xc1\xad\xba\x12\xe8\xa6\x7a\xd9\xa2\x7f\xe6\x3f\xb4\xf3\x8d\xc0\xf0\x18\x41\x92\x57\x18\x42\x72\x55\xbd\x66\x5d\x5e\xb3\xbc\x86\x98\x96\xdb\x86\x25\x20\x4a\xd4\xb0\x2f\x5a\x22\xaa\xee\xad\x6e\x30\x04\x71\xfe\xa6\x1d\xbb\x1b\x55\xc0\x71\x36\x5c\x58\xb1\x51\x1f\x38\xb0\x9a\x46\x71\xbd\x66\xb3\xfe\xdd\xa9\xc8\x7e\x43\xd1\xeb\xf3\x01\x76\x4e\x18\xfc\x0c\xf1\x6b\x2d\x2d\x67\xed\x23\x9b\x39\x3a\xc7\x19\x68\xa9\x03\xc0\x24\x77\xfb\x2d\xf9\xef\x01\xdb\xfc\x31\x67\xde\x72\x65\xf8\x91\xe4\xfd\x24\xd0\x2c\x63\x10\x35\x19\xb8\x6a\x70\x85\xb1\xec\x2f\xb4\x19\xdb\x76\x6b\xee\x7a\x64\x1a\x4b\xe4\x29\x61\x4a\xb8\x9f\x20\xf9\x75\x34\x10\x72\xbf\x04\x41\x9f\xb6\x9b\xe7\xa9\xee\x71\xa5\xb4\x9a\xf8\x3e\xd3\x22\xba\xc6\x8a\x42\x9f\xf5\xc5\x20\x67\x73\xbe\x54\x38\xb6\x5e\x53\xf6\x09\x72\x9f\x4f\x6a\x21\xc1\x33\x39\x11\x26\x4d\x63\x92\x70\x17\xe8\x13\x6b\x47\x25\xcd\x1c\xc9\x64\xe0\x8c\xa0\x93\x3a\x56\x1e\x7e\x3f\x59\x87\x76\x83\x30\xe2\xe5\x4f\x8d\x72\x8f\x59\xed\xfe\x2c\x91\xc4\xf9\x9a\xef\x97\xd1\x85\x59\x19\x5a\x3d\x8e\xb3\x15\xdf\xf9\x6f\xe2\x76\xda\x71\x37\xef\xf9\x30\x57\xac\x73\x1e\x06\xa6\x0a\x58\xbd\x8a\x9a\xe8\xc7\xcb\xaf\xf0\xcb\x33\x72\xc6\x8d\xaa\x17\x5c\x42\x8d\x52\xf1\x07\x3a\x38\xbf\x29\x46\x5d\x2a\x71\x28\xbb\x40\x07\x40\x06\xed\xcb\x72\x5a\x83\x1d\x81\x28\x64\xef\x43\xf3\xb8\x66\x7c\x9f\xb7\x10\x93\xa1\x67\x30\x49\xde\xc0\x5e\x09\x16\x9d\x86\xfe\xe9\x2d\xf2\x86\x00\x8a\xd9\x90\x65\xa2\x92\x97\x97\xa9\x13\xd0\x23\x3f\x4d\x1a\x95\xa2\x20\xbd\x91\xc1\x1d\xd9\xc4\x56\x85\xdc\xad\x38\x57\x80\xa0\xc4\x8b\x9c\x4a\xd2\xd6\x63\x03\xe8\xde\x4a\xf1\xdb\x3c\x04\xe4\xa3\xdd\x42\x19\xfe\x77\x3f\x83\xa8\x92\x4b\x0f\xcb\xff\xfc\xf2\x64\xab\xce\x32\x83\x29\x24\x03\x6b\xfa\xbb\xa6\x54\x6b\x1d\xf4\xe3\xf7\x88\xed\x8a\xd5\xc2\xcd\x92\xb2\x64\x1b\x47\x09\x0a\x10\x3c\xf5\xbd\xc4\x6d\x8b\x21\x43\x17\x47\x57\xda\x80\x1c\x36\x0a\x7a\xa1\x07\xfa\xc6\x54\xb3\x4c\x86\x0b\xd5\x4f\x76\xbb\xf4\x3c\x48\x47\x8d\xf4\xfe\x7a\xa5\x9c\xf9\x1d"}, -{{0x08,0xd1,0xd0,0x6f,0x3e,0xc2,0x9e,0xb5,0x22,0x93,0x90,0x7b,0x70,0x5e,0xc5,0x6c,0x5a,0xb3,0x54,0xfb,0x78,0x67,0x37,0x73,0xae,0x61,0x25,0x30,0x94,0xb8,0x9e,0x82,},{0xc1,0xb9,0x9a,0x87,0xad,0x15,0xbd,0x46,0xf6,0xc8,0x48,0x45,0x2a,0xf0,0xfa,0x3c,0xcc,0xcb,0x5c,0xdf,0x6e,0x34,0x8d,0x81,0x6e,0x36,0xc5,0xd0,0xfc,0xa6,0x6e,0x66,},{0x0b,0x8e,0xdc,0xb8,0xb1,0x5a,0x8c,0xd0,0x74,0xc4,0x1d,0xc2,0xa1,0xba,0x29,0xd9,0x64,0x8d,0x6a,0xcb,0xdc,0x33,0x83,0x14,0x70,0x7e,0xca,0x6f,0xb4,0x71,0x4c,0x99,0x54,0x3b,0x49,0x07,0xb9,0xf8,0x5e,0x57,0xee,0xcf,0xfe,0x0f,0x7a,0x6b,0x70,0x73,0xa8,0x09,0x46,0xf8,0x08,0x75,0x53,0xf4,0x68,0x31,0x09,0x27,0x3a,0x60,0x4a,0x08,},"\x12\x0b\x35\x57\x3c\x34\x91\x4b\x37\x30\x51\x88\x0d\xa2\x7e\xd2\x41\x37\x7f\x0e\x78\x97\x2c\x98\xd0\xfa\xeb\xaa\x76\x7e\xb7\xa7\xc7\xe7\xc6\xfc\x34\x05\xa4\x33\x6e\xf9\x5b\xc5\xda\x92\x25\xbb\xd0\x9e\x9e\x11\xf2\xa1\xbf\x14\x2a\xf4\xe8\xa0\xf9\x24\xd3\x23\xdd\x5a\x49\xdf\xe5\x84\xf0\x90\x43\x9c\x08\xe5\x15\x11\x34\x4d\x47\x0c\x62\x00\xac\x7e\x7c\xa1\x50\xd0\x88\xa9\x1e\x47\xc4\xc9\xff\x74\xe3\x8a\x42\xa3\x32\x15\x5d\x81\x52\xae\x4a\xbd\x11\x61\xad\xca\x93\x4c\x23\x4c\xe4\x60\xaf\x87\x89\xe5\x3f\x10\x9d\x7d\x31\xee\xde\x0a\x90\x9b\xd1\x93\xfc\x8d\x3c\x2c\xfe\xc1\x0b\x14\x3c\x31\x47\x67\x11\xbb\xec\x27\xe1\x96\xa5\x49\x85\xbc\x34\x71\x67\xac\xd2\x33\x50\x88\x27\xba\xd3\x6e\x54\x8c\x88\x06\x42\xb8\x6a\x28\xc6\xd3\x40\x4b\x51\x1d\xa2\x4f\x11\xdf\xaf\x6a\x8f\x46\xdd\xcb\xc9\xde\x9e\x39\x15\x97\x66\x9b\xdd\xfc\xa6\x56\x0f\x91\xac\xd3\x45\x9f\x32\x9b\xb0\x71\xdd\x80\xda\xdf\x35\xf0\xe5\x0d\xf5\xb1\x0f\x88\xd2\x67\xac\x9d\x30\x62\x33\x0d\xd9\x9a\x6b\xcf\xa1\x31\x87\xf4\x5c\x0c\x21\x4d\xcd\xe2\xcd\xf9\xc3\xba\x4d\x59\xe6\x33\xa3\x54\xa4\xe2\x77\xc6\x77\xbb\xdf\xa2\x41\x91\x17\x9c\xbc\xaf\x05\xa1\x0d\x40\x78\xd8\xad\xd9\x3b\xc9\xed\x8f\x6c\x6c\x49\x97\x57\x40\x36\x55\x34\x1f\x90\x4e\x37\xd9\x27\x75\x0c\x69\x9c\x26\x9d\xc9\x0d\xc2\x6d\x00\x56\x25\xc3\xf4\x12\x4b\xff\x66\xfe\xca\x59\xd4\xab\xff\x41\x72\xba\x3d\xf4\x5a\x87\x43\x02\x23\x10\x30\xfa\x78\x33\x84\xf5\x09\x99\xe3\xc4\xba\xa5\xea\xdb\x45\x14\x52\xc8\x88\xb5\x19\x27\x2e\x90\xf7\x3c\x68\x72\x76\x8e\x0d\xe2\x0e\xe2\xe5\xf9\x50\x2f\x35\xe4\x9f\xec\xc2\x8b\x75\x20\x18\x87\xfe\xd2\x81\x8e\xff\x54\x53\x98\x39\x2f\x5e\x5b\x68\x76\xbc\x55\x6a\xc1\x3a\x19\x03\xad\xa1\xb9\xd7\x25\xb0\x4a\x14\x20\x4b\x59\x9e\xc3\x3d\x62\xb7\xdc\xae\xea\x8c\x52\x87\x7b\x2c\xfd\xc3\x55\x8a\x91\xd2\xc9\x15\x75\x00\xa3\xbb\x6d\x45\x2e\x5e\x2f\xf0\x93\x29\x4f\xc4\x33\xcb\xd6\x34\x65\xbb\x19\x13\x07\xed\x80\x1a\x15\xb8\x5d\xc2\xff\x0b\xb3\x83\x12\xf8\xb8\x17\xa4\x36\xd4\x22\xcf\x46\x07\xc6\x4e\xe7\x03\x59\x23\xdb\x6b\x96\xa3\x89\x99\x10\x14\x9b\x0d\xa4\xaa\x3e\x96\x68\x5d\x71\x63\xaa\xcf\x9e\x61\x9d\xc6\x08\x13\xce\x4f\x34\x4f\x30\x79\xb4\x3f\x18\x7f\xa3\x1b\xda\xcb\x9a\x1d\x77\x20\xb9\x39\xd5\xbd\x24\x1b\x96\xa1\x77\xd7\xb7\x76\x8f\xfe\xbf\x79\x04\x4c\xd2\x95\x6d\x6f\x88\xdb\x1c\x24\x3a\x10\xfe\xde\x68\x14\x85\x2c\xf4\x04\xb2\xcd\xcf\xa7\x74\x07\x6d\xc1\x25\xc7\x0a\x57\xc6\x90\x7e\x99\xaf\xe3\x96\x22\xae\x11\xf5\x57\xe7\xd3\x4b\x39\xaa\xaf\x45\xf8\x34\x05\x8d\x2f\xe5\xf1\x5b\x5e\xb7\x0a\xc1\x5a\x90\xa3\xde\x58\x50\xab\x1d\xcb\x48\xb0\x6b\x6c\xca\xa4\xb4\x2f\x85\x7e\x71\xec\x00\xb8\xa3\xd8\x97\x4b\x0b\xea\x68\xfa\x0f\x66\x55\x92\x11\x5b\x4f\xa5\x55\x72\xcf\x0b\x07\x38\x64\x1f\xc8\x68\xd4\xa2\xe7\x14\xdb\x3a\xd7\x21\x9a\x82\x3d\x54\xb7\xf7\xc2\x65\x6b\xa5\xc5\xee\xbe\x35\x94\xc7\xdb\x12\x29\x8c\x16\x25\x1d\x98\x45\xbf\x2f\x78\x00\xb4\x19\x0b\x74\x6e\x21\xb0\xc1\xa5\xc4\x7a\x3d\xf9\xa0\x59\xce\x09\x56\x67\x4e\xb7\x03\xde\xcb\x0a\x00\x45\x43\x7d\xa4\xda\x10\xf2\x86\xd7\x20\xd1\xb9\xdf\x05\xfb\x24\x41\x5d\x68\xe0\x65\x57\x0e\x6b\x31\x50\x31\x42\xd0\x33\x35\xa8\x07\xbd\xca\x30\x89\x2e\xdb\x5f\x55\xf8\x98\x9d\x9e\x64\x96\x59\xc0\x74\x4c\x54\x33\xbf\xb4\xde\xeb\x11\xc2\x62\x6a\x86\x50\xe5\x4d\x4d\x39\x8b\xa1\x9b\x64\xf6\x8b\xed\x06\xd7\xfc\x40\x8f\x47\x0a\xc7\x04\xe2\xac\x92\x2a\xc1\x41\x1f\xee\x24\x54\x3e\x56\xf2\xf5\x0b\x6b\x08\x95\x3d\xc5\x6a\x7a\x75\xed\xae\x43\x0a\x6d\xf2\x8a\x22\x7a\xda\xc9\x1b\xa2\x6f\x0e\x19\x85\x95\x32\x77\x39\xcb\xa3\x03\xe9\xaa\x39\x3e\xa6\x61\x8a\x84\xf8\xf5\x03\xd0\x05\x6e\xe8\xd8\x7e\x37\x96\xe0\x36\xcc\x51\xcc\xb7\x91\xde\xb7\x95"}, -{{0xf0,0xc8,0x5c,0x76,0xb1,0x53,0x2e,0x89,0xae,0xa9,0x75,0x15,0x6d,0xdd,0xb1,0xd3,0xd0,0x66,0xf6,0x40,0x9f,0x84,0x1b,0xb4,0x41,0x09,0x22,0x72,0x5f,0x26,0x9d,0x86,},{0xfd,0x75,0xfc,0x75,0xc3,0x6f,0x83,0x49,0x8d,0x8f,0x08,0x27,0xf0,0x1d,0x3b,0x45,0x7f,0x8b,0xc4,0xd9,0xdc,0x55,0xe4,0xa4,0x62,0x74,0xdd,0xf0,0x03,0x4f,0xe1,0x6f,},{0x42,0x18,0xfe,0x4c,0x1d,0xce,0x79,0x5c,0xa9,0x2a,0x49,0xa6,0xf4,0x79,0x8e,0xb5,0x41,0x2d,0xc8,0x25,0x86,0x03,0x14,0xec,0x46,0x9f,0xed,0x45,0xde,0x3a,0x7b,0xf8,0xea,0x55,0xe8,0x53,0xa3,0x49,0x58,0x4b,0xd9,0x5a,0x82,0x6a,0x58,0x5a,0x50,0x3f,0xd5,0x0b,0xfe,0x4c,0x63,0x5e,0xf1,0x83,0xd0,0x73,0x01,0x36,0x7e,0x90,0x10,0x0a,},"\xae\x2e\xb0\x18\xd4\x8d\xbd\x4f\x21\x0b\x16\x77\x8b\x5b\xd2\xfd\x14\xc9\x4e\x6b\xbf\x2b\x3f\xf8\x55\x18\xe5\x60\xab\x8d\x3e\x72\x20\x1f\x43\x34\x20\xf0\x0f\x11\xbc\x78\xe0\xe9\xf3\x72\x08\x75\xb2\xe9\xdc\x11\xe0\x43\x25\xb8\xb3\xf0\xd4\x65\xdd\xab\x21\x51\x1c\x45\x7d\x6a\xca\xd8\xf2\xfd\x5f\xdc\x0d\x28\x23\xfe\x6c\xaa\x66\xa1\x91\xa3\xb6\x32\x6b\x32\xa1\x6b\xef\xd6\x4d\x15\xb3\x61\xa4\x15\x13\x64\x1b\xce\xba\x26\xbf\xe9\x3b\xdf\x85\x4a\x4f\x8f\x8a\x0b\x29\xf7\xe2\x82\x62\xe2\xd6\xe9\x8a\xa2\x4a\xc2\x7f\x6f\x78\x83\xac\x01\xa7\x4c\x40\xcc\xe9\x47\xeb\xac\x70\xe9\xfe\xf2\xa1\x6e\x62\x89\xe4\x68\x95\x0e\x39\x1e\x9e\x24\xef\x58\xe8\x8a\x44\x37\x72\x69\xce\xba\xfe\xd8\x98\x7d\x22\x0d\xca\xe2\xd8\xb1\x26\xb6\xbf\x81\x21\x67\xd0\x23\xd9\xba\xac\x95\x0d\x9d\xb8\xcf\x52\xde\x63\x06\xbd\x48\x99\x96\x10\xc0\xa4\x33\xfa\x9e\x17\x71\xcb\x83\x2d\x41\x97\xaa\x34\x0d\xd0\xcc\xd0\x74\x4f\xc6\xb6\x2f\x90\xbd\x3e\xbb\x53\x08\xca\xb5\xf9\x40\xe2\x91\x64\x23\xcf\x0f\x3b\xf0\x80\xc0\x6a\x94\xf0\x26\x91\x04\x60\xdd\xa8\x09\x37\x4e\x64\x57\xf0\x64\xf1\x78\xe3\x08\xe7\xa1\xb5\xaf\x4d\xef\x31\x90\x07\xd0\x41\x77\x8c\x3d\x6a\x41\x9f\x51\xba\xdf\x87\x66\x38\x79\x30\x2b\x53\xff\x26\x9d\xf4\x42\xd0\xe0\x5c\x95\x8d\x5b\xaa\xcc\xee\xd7\xf5\xf8\xaf\xc8\x11\xc1\x89\x00\xee\x3b\x0f\x61\xe5\xdc\xcf\xd5\xda\xc8\x53\x32\xd3\x2e\xbb\xa3\x71\xaa\x2d\x47\xa6\x06\xf5\x95\x46\xe4\xbb\xb6\x05\xa7\x46\x77\xb1\x9a\x0f\xe8\xe9\x5f\x9f\x77\xc0\xb8\xb7\x1d\x07\xe9\x83\x00\x4d\xc2\xab\x2c\xb3\x79\x3a\x32\x3c\x10\x8d\xfa\x79\x70\xda\x00\xdb\x19\x86\x74\xbd\x34\xbf\x73\x10\x76\x7f\x76\xa2\x24\xe0\x7b\xdb\xc6\x2b\x9d\x07\x8c\xbc\x75\x36\x7e\x2e\xba\xa2\xc5\xd2\x74\xbf\x34\x27\xf2\xa0\xcc\x5d\xbe\xf0\xaf\x4e\x63\xad\x88\x9e\x13\x1b\x12\xbc\x8c\xa3\x2d\x82\x7f\x72\x60\xb0\x44\x9d\x04\x43\xfa\x28\x84\x40\xef\xd1\x36\x4e\x3c\x98\x49\x47\x7e\x73\xee\x0b\xa4\x24\x0d\x49\x2a\xf5\xce\x13\xc3\x45\x61\xb4\x50\x10\xc1\x09\xd8\x42\xc1\xfe\xd1\xbe\x3f\xa9\xe1\x84\xaa\xa1\x40\x64\xf4\x3f\x6d\xea\x0b\x65\x9c\x5b\x97\x89\x3c\xf2\xa4\x33\xbc\xfb\x1d\x2a\x87\xeb\x56\x4b\xd9\x09\x2c\x26\x66\x70\x47\x31\xf8\x3e\x56\x43\x4b\x2a\x42\x99\x65\x0c\x70\x60\xf9\xff\x7e\x8a\xad\xcb\x45\x93\xf6\x09\x18\x8d\x8b\x46\x76\x46\xcf\xe9\x52\x70\x06\x7a\x1d\x35\xcd\x75\x9f\xe5\x81\xaf\x4e\x62\x60\x2c\x02\xef\x14\x74\x41\x43\xeb\x42\x4f\x2d\x9f\x33\xa6\x02\x88\xc1\xb2\x5f\x08\xe4\xb2\xf5\xfe\xae\x06\xcb\xcc\x2b\x20\x52\xbf\x38\x4e\x1a\x6f\xcd\x84\x71\xce\x5e\x56\x58\xd7\x7f\x40\xc3\x5c\x41\x5e\x2a\x9e\x09\xfb\x58\x3b\xb7\x47\x12\x58\xe7\xc8\x06\xf3\xc2\x18\x22\xdd\x10\xf5\x6a\x64\x0c\xdc\x00\x12\x8d\x3b\xa5\x56\xba\x51\xdc\xaa\xb4\x7c\x3b\xaf\x9f\x01\x97\xd3\x66\x3d\xe8\xd0\x93\xe8\x31\x73\x32\x5d\xef\x1e\x83\xa2\xf5\xf5\xac\xf1\x2a\xe0\x9f\x3c\xe9\x6c\xd8\x88\x03\x4d\xcb\xe6\x14\x7d\xc5\x99\x83\x62\xa4\xbc\x40\x6d\x28\x84\x6a\xb1\x50\x3c\x17\xc9\x4f\x9a\xfd\x90\x3c\x9a\x58\xe1\xce\xbb\x4a\xbb\x4f\xf6\xf2\xa4\x10\x24\xe0\x6d\xca\xad\x14\xf5\xb7\x0c\x1b\x26\xe6\x9f\x96\xec\xf1\x4b\x8d\xa3\x1c\x62\x1f\x9a\xd4\xe3\x0a\xeb\x98\x23\x78\x67\x1f\x7d\x1f\x2c\x4b\x57\x2c\x41\xbb\x88\x30\x84\x0a\xc5\xdd\xce\xd8\x81\xf8\xff\xf2\x10\xc3\xc7\xf2\x36\xd8\xc5\xf2\xcf\xda\xcd\xa2\x98\x93\x30\x2f\xde\x15\x28\x2d\xb5\x40\xcb\x54\x37\x37\xdd\x77\x85\x25\x69\x22\x1f\xdd\xcd\xd6\x8d\x87\xe2\x40\x21\x79\xd3\xa5\xa7\x77\x34\xc2\x75\xa1\xd5\x60\xa4\x62\xf4\x03\x18\xbb\x68\x19\x83\x7d\xa3\xd3\x05\xeb\x49\xb3\x86\x50\xef\xdc\x8f\xe4\x09\xd4\x0f\xb9\x4c\xd5\xdc\x3e\xb0\x27\x38\xf3\x88\x52\xf6\x71\xa0\xc4\x14\x14\xb7\x6f\xb4\x36\xf3\x41\x7b\x8e\xf3\x00\x92\x1c\x00\x9e\xbb\xd7\xcf\x8e\x11"}, -{{0x18,0xe2,0x68,0xb1,0x5a,0x25,0x01,0xdd,0x4c,0x97,0x9d,0xc1,0x03,0xca,0x6a,0x84,0x22,0x16,0x13,0x2b,0x3b,0x50,0x81,0xd7,0x75,0xf8,0x86,0x40,0xf8,0x9c,0x80,0x41,},{0xb3,0x4e,0x19,0xc1,0xe2,0x08,0xfb,0x48,0xa8,0x85,0x07,0x9d,0x9f,0xbf,0x37,0xc7,0x4f,0x92,0x71,0x09,0x60,0xf8,0x32,0x15,0x4f,0xab,0x18,0x57,0x0c,0xfb,0x4c,0x1d,},{0xf2,0xdc,0xfc,0x06,0xef,0x1d,0x8e,0xcc,0xd8,0xe4,0x0b,0xdf,0x01,0x30,0x7d,0xd1,0x96,0x83,0xf2,0x14,0xd4,0xf0,0x84,0xe6,0xb6,0x93,0x4f,0x63,0x72,0x78,0x30,0x0d,0xbb,0x18,0x89,0xf2,0xd3,0x7f,0x53,0xb3,0xae,0xf2,0x6f,0xbb,0x3e,0x36,0xbd,0x75,0x98,0x5f,0xa7,0xc8,0xea,0x6d,0xdf,0xfa,0x72,0xc8,0xe4,0x06,0xf2,0x4b,0xb2,0x0e,},"\x42\x4b\xdc\xf0\xb2\x56\x00\x14\x39\xd1\x69\x58\xff\xf6\x48\xcf\x7a\x86\x04\xaf\x22\xcf\xa5\xb4\x43\x31\xb4\xdc\x35\x6d\xff\x25\xcc\x05\x63\xda\x9d\x64\x01\x33\xac\xb7\x0b\x6a\x11\x76\xc4\x82\xdb\xc9\x40\x8c\xd6\x79\x3d\x56\xbc\x29\xcc\x40\x88\x23\xd3\x88\xed\x88\xb2\x4c\xeb\x66\x21\xdb\xac\x00\x23\xee\x69\xf7\x6f\x82\x96\xa7\x39\x52\x11\x68\x5b\x3c\xea\xa9\x95\xf0\x35\x5d\x9a\xad\x3d\x97\x35\x8f\x4a\x37\x9e\x59\x20\xec\x54\x5f\x46\x96\x21\xcf\x76\x8a\xbf\x55\xd2\xa5\x54\xc9\x49\xb0\xed\x70\x18\x7c\x22\x05\xad\x03\x29\x85\xc9\xb5\xb2\xe4\xba\x57\xe0\xb4\xa4\x7d\x34\x45\x12\xb8\x4b\xfe\x9f\x3a\xa5\x60\xfe\x6e\xcf\xc5\xbd\xf8\xc3\xb4\x18\x45\x29\x35\x73\xf8\x1e\xd3\xb7\x0e\xdc\x63\xa3\x0c\x70\xcd\xa3\xf4\x55\x90\x13\x13\xf6\xd2\x3d\xb3\x09\x47\x8f\x03\xe3\x4e\x71\x35\x6d\x83\xfa\x5d\xb9\x28\x0c\xc2\xb4\x36\x9c\x3d\x24\xdd\x90\x38\xf2\x47\x59\x6c\x39\x1e\x48\xb2\xf3\xf8\x90\xa1\x41\xca\x1d\x12\x07\x7c\x69\x34\x47\x35\xa5\x9b\x1d\xd4\x07\x6b\x22\xe1\x61\x89\x99\x1e\x5f\x1b\xe4\xfb\x76\x95\xaf\x90\xeb\xea\x5d\xf2\x86\x13\x5c\xec\x2a\x6e\x99\xaa\x1d\xda\x32\x8e\x62\xc0\xdf\xb6\x37\x42\x20\x2d\x63\x62\x4d\xcc\x0c\x5c\xf1\xa5\xdf\x79\xe2\x87\x8d\xbc\x71\xfa\x96\x57\x66\x01\xaf\x22\x84\x4f\x54\x57\x33\x12\x6a\xf7\xd3\x98\x4c\x3e\xd2\x52\xe6\xa8\x76\x44\x5c\x92\x25\x9f\xbb\x47\x0a\x10\x56\x9b\x49\xe5\x79\x1f\xd0\x18\x2c\xfe\x1c\x3f\x88\x29\x7f\xac\xc8\xc3\x1a\x53\x32\xf1\xf4\xeb\x49\x58\xdb\x13\xb6\xc0\x79\xaa\x9c\x94\x94\x87\x26\x34\x03\x19\x0c\x83\xc1\x1a\x43\x19\x1f\xfe\xc6\x02\x3f\xb3\x4c\xfa\xb2\x52\x5b\xeb\x54\x6c\xf9\x20\x0a\x96\xf5\x85\x4b\x2f\x78\xec\xb2\xd9\xa5\x3a\xa9\xd2\x87\xa9\x0d\x4d\x41\x0a\x63\xad\xa0\xe9\x75\xd3\x04\xd5\x14\x83\x53\x46\x3f\xa8\x05\xb4\x80\x5f\xb4\x68\x7e\xd8\x85\x7d\xfc\xe4\xbc\x6e\x80\x83\x3c\x8f\x9a\x79\xcd\x4f\x02\x9a\x2d\x80\x2b\xfd\xc8\x19\xed\x0c\x0a\xc8\xf2\x10\x23\x28\x7f\x2b\x4b\xaf\xbc\xc8\x99\x93\xfe\x46\xd5\x2a\x9c\x62\x46\xde\xad\x61\x7d\xf7\x97\xd4\x8e\xe9\x85\xf0\xf0\xdf\x9a\xa8\x2e\xa2\x0e\x0d\x0d\xb2\x8a\x25\x4a\x9a\x25\x3f\x39\xf9\xcf\x01\xe3\xdb\x8f\x3e\xbc\xf7\xcb\x97\xce\xc5\x8c\x4e\xfe\x03\x12\x69\xb4\xb3\x7e\x4c\xbb\x36\x1f\x73\xab\x4b\x49\x80\xbd\x90\x08\x49\x53\x88\x44\xc5\x2c\xb3\xac\x75\x83\xb8\xf8\x96\x53\xa0\xde\x65\xa8\xbe\x91\x58\x2c\x55\x23\x9c\xb8\xf5\xd5\x31\x8a\x88\xd1\x60\xe1\xc8\x71\xe5\xea\x7e\x75\xf5\xa6\x9c\xba\x85\x38\x22\x1a\xb4\x2c\xe2\xa2\xc4\xd9\xc3\xb7\xec\x85\x7f\x23\x0d\x57\x37\x31\x13\x36\x86\xae\x8a\x7e\xd6\x40\xf4\x2f\x31\x02\x94\x89\xe4\xe6\xaf\x2b\x3e\xa4\xc7\x94\x8e\xd5\x37\xc0\xc5\x90\x67\x26\xc2\xb6\x25\xfd\x5f\x94\x9e\x3a\x7c\xf3\xb6\xe9\x98\xec\x76\x1d\xd6\xe2\xb5\x17\x1a\x68\x74\x97\x52\xe7\x21\xb7\x88\xc3\x47\x7f\xa1\x90\xcd\x6e\xa8\x1d\x57\x9d\xce\x64\x62\xd9\xc6\x62\xad\x89\x62\xe7\x93\x38\x71\x0c\xc8\xd2\x73\x8a\x5f\xb0\x4a\xdf\xdb\x3f\x14\x32\xcf\xd8\x0e\x2e\x96\x7d\xa0\x00\xd8\x3a\x0f\xa8\x5a\xba\xe2\x95\x2f\x3f\x36\x83\xe2\x54\xd8\x68\xf4\xbf\x80\x9e\xb2\xe3\x00\xe7\xb2\x09\x73\x4a\x3c\x89\x4e\x96\x6b\x16\x08\x8d\x5e\xd3\x54\xbf\xfb\xff\xbb\xf2\xec\x2b\xe9\x3a\x32\xa8\xbe\x5c\xfa\x18\xfa\x56\x53\x01\x2e\xda\xe5\xaf\xd8\x70\x9c\xa5\x5c\x0c\xf2\x3a\x55\x0d\x34\xca\x0f\x32\xd8\xf6\x66\xfb\x47\xa1\x2f\x2b\x73\x53\xa4\x0c\x53\x79\xf7\x53\x66\xc1\x3f\x4a\xb9\xf1\x4c\xf8\x0a\x94\xe1\xf1\x3d\x8b\x09\xb7\x6f\xd8\xd1\x4f\xfa\x53\x8f\x31\xfd\x8a\xeb\x49\xd3\x34\x33\xf4\xdf\x7c\x2c\xa6\x73\x99\x57\x9f\xe9\x90\x78\xaa\x72\x1d\x6b\x6f\xc0\xc5\x0e\x8a\x91\xfc\x71\xca\x25\xea\xc1\x37\x6f\xc6\x71\xbf\x61\x53\xe7\x20\xb2\x5c\x7e\x97\xa3\xd4\xef\x84\x42\xac\x67\xac\xf5\x8b\x50\x4b\x67\x15\x8f\x91\x30\x25"}, -{{0x3c,0x39,0x3f,0x9d,0xf1,0xfb,0x0b,0x1e,0xec,0x09,0xb7,0xf2,0x70,0xb8,0x59,0x82,0xba,0x0f,0xd5,0xe4,0xb1,0x79,0x5e,0x1a,0x7f,0xa9,0x91,0x37,0xfe,0xe2,0x4d,0x7d,},{0x97,0x4f,0xe2,0x37,0x30,0xfc,0x17,0x94,0x56,0x70,0xfb,0xc1,0xf8,0x0b,0x93,0xf9,0x45,0x93,0xc8,0xd4,0x4b,0xc7,0x5d,0x18,0x9a,0x6b,0xbf,0xaa,0xba,0xf5,0xdb,0xd9,},{0x22,0x33,0x3e,0x56,0x41,0x0f,0xdc,0xbf,0x84,0xf6,0xa8,0xde,0x74,0x13,0x37,0x69,0x16,0x84,0x49,0x5b,0xa6,0x9e,0xff,0x59,0x6d,0xb9,0xc0,0x3a,0x28,0x12,0x10,0x88,0x1e,0x6c,0x91,0xef,0xa9,0x1b,0x21,0x83,0xc0,0xea,0xc9,0x16,0x15,0x28,0x17,0xa7,0x8c,0xa7,0x24,0xba,0x7c,0x8b,0x51,0xbb,0x4c,0xaa,0xde,0xa9,0xa3,0x41,0xeb,0x0e,},"\x54\xd8\xb8\xd5\xfa\xc2\x8c\xff\xa7\x7a\x09\x16\xd6\x33\x3c\x16\xed\xbc\x8b\xb7\x4a\xa0\x6e\x56\xdc\x00\xe4\x7e\x39\x29\xe4\x08\x64\xb8\x84\x0d\x91\x20\x79\x59\x7e\xac\xd8\x1d\xae\x43\xe2\x78\x5d\xfc\x68\x9f\x3e\x85\xf8\xc6\x65\x81\xef\xc5\xe8\x53\xd1\xfa\xaa\xc7\x44\x40\x0a\xb0\x8c\xbd\xb5\xd1\x61\x46\xfa\x60\xf9\x99\x05\xed\x84\xfd\x29\x36\xdd\x73\xf4\xbc\xa2\x57\x2b\x7c\xf5\x16\x05\x60\xff\xaa\x68\xda\x7a\x67\xe4\x0e\x08\xa7\xbb\x7a\xef\xc4\x04\x3e\xbe\xd5\xfe\x80\xa4\x14\x81\x7e\xdf\x2c\x63\xf6\x2f\xac\x0d\x47\x44\x6e\xd0\xbb\x58\x40\x58\xf4\x87\x2f\xec\xff\x62\x15\x59\x31\x1a\x27\x0a\xea\x37\xa6\x29\x68\x64\xe8\xd1\x68\xbf\x1e\x2f\x55\xcd\x3b\x27\x6e\xdf\xa6\x12\xb5\xd9\xc3\x36\x2e\x61\x8b\xe6\xe8\x2a\x6e\x5f\x82\x66\x79\x24\xf3\xd1\xd3\xdf\x82\x5f\x9d\x23\xf4\xd6\x14\x2d\x31\x00\xdf\xc7\x0f\x70\x60\x3a\xbf\x3f\xda\xda\xca\x69\xef\x6a\x18\xef\x90\x92\xb3\xc4\x1e\xc6\x58\xab\x27\x21\x6f\xc6\x14\x7a\x08\x0a\xcd\xa6\x0a\x84\x19\x84\xee\x83\xf4\x1a\xc4\x2a\x80\xea\xac\x91\xff\xfc\x82\x28\x39\x1e\xf5\x83\xab\x3e\xdd\xcf\x87\x65\x23\xc2\x02\x81\x35\x53\x00\xd8\x6c\x11\xa4\xe7\xc1\xad\xe8\xe5\x05\x60\xf4\x39\x06\xc9\xbc\x8c\xa5\xfb\xf8\x33\x9f\xbe\xbd\x02\xe3\x3e\x85\x18\xbe\xe5\xe8\x06\xb8\xc1\x0f\x82\x77\xf4\x10\x66\x47\x35\xa2\xbf\x55\x68\x39\x63\x54\x92\x45\x2e\x6c\xa0\x79\xde\xb9\x75\x1c\xfc\x67\x97\xf4\x9b\xca\x96\x13\xff\x2e\x7f\xdd\x36\x46\xf7\xc5\x23\x6a\x36\xbd\xf0\x05\x17\x45\xe5\x95\xdc\x00\x72\xfd\x66\x51\xd5\x76\x27\xa6\x00\x4c\x0f\x0c\xfa\xe8\x56\xbb\xc2\x8a\x12\x31\xcb\x83\x96\x65\xff\x04\x15\x2e\xc3\x1c\x00\x7b\x3e\x2e\xd0\xa9\x73\xb2\x4c\x93\x14\x9c\xe7\x01\xe6\xfd\x65\x39\x20\x6a\xe9\x1b\xec\x4c\xe6\x5a\x89\xdb\x26\xc7\xd3\x8c\xec\xb8\x91\x9f\x96\xfb\x6c\xb8\xf6\xc1\x93\x9d\x90\xfb\x3f\x90\xb8\x87\x78\x9f\x29\x57\x5a\xb2\x0e\x0b\x08\xbc\x35\x81\x53\xd8\xc0\x35\x21\xdc\x89\x18\x70\xb5\xf7\xee\xdc\xc1\xe6\x2b\xee\x7d\xa0\x63\xae\x66\xff\x0a\x4b\x7d\x98\xd1\xcb\x75\x8f\x69\x74\x3c\x3d\xb3\xae\x2a\x2c\x9b\xe1\xbe\x09\x4f\x17\xcd\x28\xf9\x2d\x8c\xcb\xca\x98\x3c\x74\x9c\x75\xc6\x10\xf8\x40\x83\x6e\x2c\x43\x0c\xcd\xef\xf0\xaf\xa5\x44\x44\xf1\x2b\x4a\x4f\x00\x2c\x60\x94\x51\x83\x42\x44\xc0\xc0\x7d\xf8\xe1\x22\x02\xa6\x5f\x94\x44\x7c\xd4\x90\x3a\xcb\x60\x6d\x77\x25\xa8\x6e\x4a\x23\x43\x98\x4e\x67\x9c\x4a\xf1\xb3\x67\x9c\x75\x5e\xa5\x0d\x0a\xbe\x2f\xcc\x0c\x1c\x33\x51\xa9\xee\x19\x6b\x46\x44\xc4\x24\x22\x2b\xe9\x9e\x2f\xb3\x73\xf9\x64\x1e\x3f\xae\xbf\xf4\x31\x70\xeb\x03\xfb\x8e\xc4\x55\x7d\x15\x1a\x55\xfa\xb6\xc4\x99\xd4\x44\xc8\x4b\xe8\x9f\x24\x47\x68\x2d\xe4\xe6\xf6\x35\x34\x75\xef\xcb\x8f\xc5\x32\x56\x76\x3a\x94\x8d\xc7\x5c\x51\x5f\xa3\x53\x54\x5d\x0c\xba\xd2\x9d\xf5\xe9\xdb\x5c\xc4\x57\xed\x30\x86\xcf\xfb\x3d\x75\xe8\x46\xc4\xe8\xd8\x81\x47\xfc\xd0\xd8\xaa\x5a\xba\xb4\x9b\x5e\x05\xc3\xd7\xfe\xef\x63\x79\x43\x34\x7a\xd3\xf4\x92\xee\x35\x6e\xf3\x48\x81\xcf\xd8\x5a\xbc\xe8\xa1\x44\xce\x77\x61\xe2\x84\xe8\xb8\xcb\x08\x96\x60\x49\x04\x7a\x99\x6e\x23\x55\x9f\x77\x6b\x1a\x9f\x41\xcb\xa3\x95\x41\x08\x48\x6e\x29\x27\xbe\xb6\x43\x3a\x36\xff\x8b\x2f\x03\xaa\x74\xb3\xd2\x09\xc4\x88\xe0\x77\xf9\x24\xf2\x31\xe2\x83\x45\x94\x2c\x7d\xcc\x2e\x61\xd7\xc9\xb5\x22\xb6\x59\xfc\xb5\x36\x62\xaf\xf3\x64\x8f\x66\xda\x3e\x83\xe5\x9b\x0d\xaa\x90\xb9\x4c\x51\x5d\xad\xab\x10\xd5\xa8\x39\xcb\x3a\x2f\x1d\x3c\xd0\x92\xde\x55\xd9\x95\x13\x8c\x3a\xc0\xb9\x07\xaf\x15\xac\x63\xec\x18\x74\x11\x43\x27\xe2\x19\x71\x34\x5e\xf1\x70\x31\xd5\x26\x17\xe7\x84\xda\x37\x71\x43\x9b\xe2\xe8\x41\x48\xbc\xfe\xa1\x32\xbd\xe1\x0e\x6f\xda\x54\x7d\xcb\xb1\xc4\xd8\xf7\x4d\xdc\xe1\xfc\xcf\x82\x13\xe0\xda\x6e\x97\xb8\x1f\x75"}, -{{0xf8,0x66,0x9c,0x88,0xf1,0x68,0x5b,0xbf,0x04,0x80,0xcc,0x92,0x21,0xac,0x2e,0xad,0x8f,0x55,0x1b,0xfa,0x87,0xec,0xba,0x2f,0xd4,0xdd,0xf3,0xba,0x34,0x76,0xeb,0xda,},{0x34,0x72,0x3f,0xb8,0xe2,0x53,0xad,0x9c,0x71,0xce,0xfd,0xe0,0x36,0x28,0xd2,0x04,0xe5,0x35,0xde,0x47,0x9e,0x10,0x48,0xe5,0x18,0x87,0x62,0xa1,0xf3,0x37,0xfe,0x5f,},{0x37,0x46,0xda,0x6c,0xd8,0xca,0x10,0x8b,0xee,0xf0,0x64,0x87,0xbe,0xe6,0x35,0x84,0xf8,0x12,0xc8,0xe0,0x69,0x5f,0xc8,0x63,0xb8,0x6e,0x5d,0xb1,0x32,0x38,0x0b,0x62,0xff,0x85,0x44,0xf6,0xf3,0x74,0x82,0x5b,0x0e,0x3e,0xa0,0x62,0x0e,0xf8,0x54,0xc1,0x33,0x11,0x14,0xd6,0x67,0xdf,0x1f,0x9e,0xa7,0x76,0xc3,0x96,0x38,0x70,0x29,0x0d,},"\x5b\x49\x41\xbe\xec\x22\x41\xc9\xfb\x76\xd8\x48\x4f\x4f\x3f\x3a\xb4\xff\xe8\xec\xc8\xe7\xae\xc7\x6d\xe2\xab\x8c\x36\x85\x84\xd7\x51\xb0\xd3\xfe\xb8\xa1\xdc\x81\x68\xcd\xc6\x94\x96\x8f\x66\xb2\xa0\xb0\x52\xaf\xbf\x8b\xe3\xa7\xd9\x51\x63\xe9\xda\x91\x41\xc5\x9c\xa5\x59\x76\xc2\x92\xc5\xc7\x4d\x31\x31\x8d\x6a\x91\xe7\x81\x7c\x5a\x8b\x2f\x81\x21\x18\xcb\xeb\xa3\xa1\x33\x23\xcd\x97\x48\xbf\x86\xed\x1a\x85\xdd\x4e\xbc\x0d\xf4\x95\xcf\xa3\xd4\x62\x74\x34\xbf\x14\xaa\xe8\xab\x67\x81\x46\x7a\x56\xd9\x65\xd1\x0e\x63\x71\x98\x9d\xfa\x0f\x6b\xc0\xf7\x85\x9f\x37\x71\xeb\x90\x04\xb3\x43\x67\xdb\x27\x05\xdb\xd6\x0f\xa8\xf7\x89\x5c\x1e\xad\xf5\x9f\x53\xda\xb1\x68\xb4\xf9\x36\x39\x79\x02\x55\x01\xdd\xd9\x68\x0d\xeb\xc0\x7c\xd1\xca\x4a\x09\x97\x87\x6e\x92\x11\xf3\x07\xd9\xb7\xb9\xd9\x04\xe4\x8d\x28\x61\xa7\x78\xb8\x79\xad\x59\x0a\x9a\x2f\x14\x1b\xd5\x68\xe3\xa1\xbb\x24\x94\x62\x8e\x9e\xc0\xc6\x42\x55\xae\xea\x6f\x0e\xed\xca\x30\xad\x38\xa1\xf3\xff\xec\x3b\x2b\x5e\x94\x2e\x21\x94\x01\x04\xe9\x14\xd1\x1a\x44\xc0\x0f\xdd\x47\xda\x3e\x55\x13\xaa\x85\x30\xae\xe2\x47\xc9\x5c\xa6\x6d\x08\xa2\x60\x8c\x75\xba\x98\x58\xda\x14\xf9\xa8\xa3\x2b\xe7\x13\xd3\x09\xe0\xf5\x84\xc8\x1e\xf5\xbe\x04\x0e\x00\x65\xf0\x7b\x77\x5a\xe1\x75\xdf\xe2\xc8\xb9\x0a\x88\xcc\xda\x17\xfa\x4f\x21\xc7\x7e\xad\xf5\xd2\x5b\x6e\x40\x4b\xf0\x04\x47\x9e\x05\xa0\x1a\xc0\x04\x2b\x89\x93\x7e\xb2\x78\xc1\xc3\x4f\x33\x02\x8d\xb7\x80\xba\x3b\x61\x79\x18\x59\x5a\x39\xc0\xfc\xad\x67\x4b\x85\xc4\x0c\xac\x8d\x34\x5b\x7c\xa0\xbb\x48\xa2\x8e\x66\xc4\x4d\x8b\xb5\xf2\x79\x41\xe4\x0b\x0e\x9c\x70\x97\x97\x6c\x62\xdf\xef\x50\xc9\x8f\x17\x56\x6c\xcb\xac\xc8\x7c\xb0\x3b\x94\xdf\xdf\xaf\x32\xf1\xe5\x6f\xfa\x63\x9d\x63\x61\x1e\x21\x3c\xeb\xf5\x4c\xd0\xa3\xe2\x17\x2d\x81\x1c\x0e\xbd\x75\xb1\xa8\x64\x62\x64\xdd\x8b\x1a\xbd\x46\xe5\x48\x97\x2a\x1b\x26\x2c\xd9\x5d\x51\x15\x36\xdd\xdc\xb4\x97\x29\xfe\x7b\xd0\x0b\x38\x38\xbd\x2f\x20\xa1\x42\x64\x0e\xdb\x1b\x6e\x76\x5b\x65\xda\x72\xe7\x23\x32\x61\xc8\x89\x2e\x2f\x49\x49\xbb\x51\xf3\x2a\x1a\x5a\x3e\xe1\x49\xbe\xa2\x6f\xdc\xed\xb9\x91\xd2\xcd\x12\x66\x37\xe2\x97\x1e\x9b\x6f\x0b\x78\x5d\xf2\x8a\x48\xf3\x01\x70\x73\x49\x42\x3f\x44\xe8\x46\x22\x89\xd7\x25\x49\x82\x30\x48\x9d\xf1\xb5\x1b\xe3\x0f\x08\xd7\xe3\x25\x05\x65\xc6\xef\x82\x4b\xc5\x3a\x1b\xa7\x4a\x57\xa2\x5c\x06\x86\xad\xcb\x6c\x82\x5a\xb1\xca\x70\xc8\xa5\xd4\x6d\xbb\xc6\xfa\x60\x74\x61\xe2\x6d\x16\xfe\x93\xbb\x3d\x3a\x94\x3a\x3d\xc0\x5f\x30\xea\x6d\xc8\xbb\x12\xd7\x08\x21\xd3\x20\xf1\xad\xf1\xce\xba\x4b\xe6\x57\x19\x4f\x7f\xcc\xd2\x19\x90\xf8\x62\x9d\x74\x46\x01\xcf\x52\xea\x6d\x94\x05\xaa\xa2\x87\x8f\x1e\xec\x40\x03\xb4\x5a\x42\x18\xd8\xf8\x0b\xb0\xf5\xaf\x04\x73\x26\x48\x77\x52\xe2\xb7\x6d\x68\x87\x25\x20\xbb\xea\xe7\xb3\x09\xd7\x82\x82\xa0\x73\xfe\x0b\x1a\x1a\x7a\x98\xda\x23\xdf\x68\xca\xf8\xc2\x69\x9b\x1c\x7d\x0f\x47\xbd\x7d\xe2\xc0\xbb\x23\x36\x99\x63\xe6\x8a\x69\x74\xc8\xe2\xb5\x95\xb8\x29\x3a\x9f\x4d\x98\xdf\x7e\x9a\xe3\xad\xd2\xa3\xf6\x4e\x83\x03\x97\x39\x64\x2d\x19\x22\x04\xe8\x5e\x6c\x48\xd5\xd6\x71\xf6\xc7\x5a\x0a\x89\x57\xed\xbb\x74\x18\x76\x20\xf2\xab\xa9\x9c\x1c\x62\x58\x4c\x59\xac\x00\x64\x7e\x3f\xb4\x02\x92\xb9\xdc\x1a\x33\x46\x86\x85\x53\x39\x2f\xd3\xf1\x1d\x6d\xc6\xf5\xf2\xf4\xe8\x5e\xe2\x51\x25\xcd\xd6\x44\x74\x3c\x7d\x45\x28\x1e\xda\xc6\x38\x4c\x77\xcb\x98\xa6\x7d\x9a\xe6\xfc\x9a\x0a\x76\xb9\xf6\xfa\x69\x6f\xdf\x4a\xce\xab\x5f\x79\x4e\xe5\x21\xb1\xe5\xa0\xee\x57\xaf\x53\xbd\xf1\x76\x80\x1b\x4f\x45\xcf\xb3\xca\xe3\x28\x72\x34\x23\x4b\x77\xce\x21\xed\xf8\x68\x0d\x68\xc4\xa8\xee\xcf\x1b\x03\x53\x7e\xa5\x69\x9a\xcb\x56\x27\x77\xe4\x2a\x48\x6f\xe7\xcd"}, -{{0xce,0xcc,0xc6,0x83,0x11,0xfc,0x45,0xb6,0xc2,0xa2,0xf1,0xff,0x9c,0xdd,0xe0,0x07,0xec,0x78,0x7f,0xdf,0x25,0xd0,0x2c,0xcd,0x2a,0x1c,0xad,0x9d,0xe3,0xfb,0x4c,0xff,},{0x6f,0x80,0x47,0x34,0xef,0x92,0x82,0x41,0x80,0xda,0x71,0xe5,0x5c,0xf3,0xbf,0x1a,0xfe,0xf6,0x5b,0xcf,0x56,0x09,0x62,0xe0,0xb0,0xac,0xbb,0x2d,0x8c,0xca,0x59,0x84,},{0x3c,0x44,0x62,0xaa,0x47,0x01,0x01,0x32,0xdb,0xb2,0x63,0x11,0xe4,0x44,0x72,0x72,0x79,0xed,0xad,0xe1,0x5a,0x4d,0x66,0x2c,0xf6,0x47,0xf3,0x27,0x5c,0xf3,0x25,0x3e,0x6d,0xe9,0x33,0x38,0x30,0xe0,0x51,0x7a,0xa5,0xfa,0x7b,0xc2,0xd0,0xe6,0x3e,0xa2,0x59,0x7a,0x94,0xb0,0xfe,0x92,0x70,0x6e,0xcd,0x17,0x2c,0x5e,0xc5,0xc7,0xf0,0x06,},"\xba\xc1\x86\xd9\xfe\x5a\xbd\xa7\x9c\x3a\x35\xa7\xa3\xc2\xea\xe6\xae\x6a\xb2\x82\x47\x91\x27\x70\xc8\x4e\xfd\x04\x8e\xbd\x3a\xba\x57\xc3\x7c\xf4\xc6\xc7\xf3\x0a\x79\xf6\x8a\x3f\x76\xb2\x0c\xd8\xc6\x63\x1f\xcc\x96\x67\x05\x22\x08\x0e\x6b\x62\xe8\x87\xae\x6f\x44\x36\xd4\xca\xf5\x69\x43\x13\x1c\x52\xdd\x28\x2b\x25\x1c\xd0\x75\xf1\xf7\xf8\xe0\xbd\xb6\xbe\xdf\xc9\xa0\x79\x6f\x55\x79\x04\x2b\x56\xe6\x93\x74\x96\x1b\x11\xdf\xd6\x1b\x12\xde\x2b\xb7\xd4\x9b\xfc\x50\x9c\xdb\x31\x38\xf3\x35\x6a\x0d\xde\xd9\x8f\x53\x01\xb7\xc4\xa7\x48\xbf\x89\xb2\x3d\xf4\xf7\x47\x2f\xf8\xb1\xf5\x05\xd7\x65\xc6\xff\x82\xdb\xad\x74\xb9\xd7\xae\xf2\x2f\xbc\xca\x0b\x7f\x35\x04\x2f\x9a\x76\x2b\xd0\x69\x02\xbb\x21\xc7\xf9\xf7\xf6\x6b\xef\x38\x90\x1d\x75\x01\x2d\x61\xd7\x44\xde\xe7\xaf\xd8\x9f\xc7\xe9\x08\xc4\x06\x85\xbd\x44\x0a\xed\xa4\x20\x4d\x00\x6f\x26\x30\x7d\x82\xa4\x96\x96\x31\x15\xf9\x0e\x09\xf7\x66\x88\x29\x1f\x4a\x67\xd6\x41\x1f\x76\xd1\x66\x17\x87\x5b\x2b\x99\x82\xdf\xdc\x5e\xe9\xb8\x3b\x98\x17\x00\x93\x19\x11\x0b\x54\x04\xc6\x31\x16\xfb\x6e\x94\x64\x84\x6f\xa0\x09\x55\x56\x32\xf0\x76\x98\x4c\x15\xe1\xf6\x08\x17\x33\xa0\xd4\x6f\x2d\x6a\x3c\xeb\xf7\x9e\xd9\x02\x0c\x9d\xec\x8d\xf1\x58\xa3\x34\x1f\x39\xea\xa5\xfc\xf1\xcf\x42\xa9\x48\x49\xb2\x35\x2c\x1a\x1e\xcd\x4f\xb8\x14\xc2\x0d\x07\xdf\xda\x31\x2b\xd4\xf2\xf5\x8c\x15\x76\xb4\xaa\x31\x5c\x96\xc8\x78\x6a\x4c\xfb\xb7\x36\xb2\xd2\x3c\x38\xb1\xd8\x1c\x46\x44\xea\x36\xaf\xa0\x76\xe0\x55\xbe\x59\x17\xcd\x7a\x92\x35\x0a\x7e\xd6\x6a\x5a\xb2\x25\x3f\x55\xc4\xfd\x1a\x0d\x0e\x6d\x4e\xda\xb5\xf7\x12\xed\xb4\x40\xc0\x6f\xac\x8f\x07\xe6\xd7\x3c\xc9\x0b\x2b\xa7\x13\xd7\x3c\x73\x80\x23\x61\xce\x46\xa4\xeb\x5e\xd1\x06\x0c\x4c\xf5\x32\x07\xd3\x01\xf0\xfc\xd4\xf0\xc9\xd1\x58\x0d\xb2\xfc\x10\x59\xd3\x72\x07\x64\x38\xa0\x11\x92\xa7\xf9\xfd\x6f\x78\x83\xf5\x64\x22\x86\x6f\xd9\xf0\xaf\xe5\x3f\xdc\x91\x0a\xfa\x5a\x75\x1c\xbf\xa3\x77\x59\x25\x79\x16\x5c\xb5\x6d\xc3\xeb\x4d\xce\x67\xe3\xdb\x33\xa9\x81\xa5\x6b\x7d\x9f\x7b\xde\xa7\x4f\xba\xea\x34\x78\xe6\xab\x2c\x64\x4f\xd7\x77\xb8\xbf\xa7\x2a\xa0\xf0\xa5\x21\x98\xd3\x6e\x5b\x63\x4d\x2c\x9a\x11\xb7\xfe\x0a\xb2\xf9\xa4\x09\x01\xc5\xb1\x48\xa0\x19\x2e\x95\xa1\x70\xba\xf7\xd5\x35\x0f\xe0\x1e\x56\x95\x42\xb9\x34\x85\xa4\x19\x71\x44\x34\x85\xfa\xf5\x7f\x67\xf5\x6d\xfe\x2c\x58\xe5\x39\xc9\xf9\xb4\x49\xc3\xf9\x12\x49\xa1\x0c\x1a\x1b\xe7\xe0\xb3\xea\xbe\x8e\xe0\xba\xb1\xf1\x1f\x89\x61\x4d\xce\xd4\x18\xc6\x2a\x07\xa0\xb5\x9a\x13\x70\xd6\x53\x1b\xa1\x77\x09\x1c\x6a\xd5\x95\xfb\x59\x48\x82\x04\xf6\x33\x44\x73\x6e\xa1\x01\x7a\xff\xbe\xb7\x53\xa9\x97\x86\xb1\xeb\x64\x51\x0e\x2e\x71\x7e\xc9\x0e\x02\x74\x4b\xc3\x52\xd3\xf1\xb2\xab\x7b\xe0\xeb\x65\x62\x3d\x04\xfb\x3a\x04\x6c\xe7\xf4\xda\x69\x7d\x82\x98\x28\xa5\x2c\x7b\x04\x3b\x2a\x82\xec\x97\xfb\x04\x1b\xf5\x19\xb4\xde\x31\x6f\x4e\x2f\x5b\x0d\xb6\x2a\xed\x0e\xed\x95\xca\xd4\x32\x0c\x19\x47\xc3\x5f\xd8\x84\x7a\x58\x67\x87\x28\x83\x56\x11\x19\xc0\x1b\x00\x89\x21\x3d\x84\xdb\x99\xd4\x39\xf0\xf6\x44\x4d\x87\x83\xdd\x4b\x64\xbe\x35\x77\xcd\x46\x1c\xf7\x53\xc8\xe6\x1c\x91\x2d\xe2\xe5\xd7\xa7\xe2\xba\xef\xa2\x58\x97\x5d\x16\xef\x31\x17\xda\x59\xa6\xc8\x93\xf3\x33\x91\x87\xdf\x31\x68\xb8\x9f\x0f\xb0\xb2\x19\x8b\xb6\xf1\x59\x4b\xb8\x8f\x3d\x61\x0f\xce\xc3\xe3\x6d\xe0\x4a\xe1\x03\x28\x11\x2e\x6f\xf7\x4f\x5a\x8c\xe6\x8d\x40\x71\x74\xb4\xc0\x69\x1c\x76\x02\xea\xb1\xbb\x10\xf3\xc4\x9d\xd2\x2b\x84\x50\x78\x2d\xea\xe9\xa7\x31\x5e\x3b\x88\xde\x79\xcd\x15\xe6\xc9\x26\x81\x65\xed\x3a\x0f\xb3\xf8\x9b\x18\x3e\x1a\x21\x21\x52\x00\x3f\x32\xa2\x66\x5d\x37\xcd\xd7\xf6\xb5\x6c\x24\x53\xe5\x58\x0c\x4d\x21\xf9\x98\x3f\x38\x79\x8e\x9b"}, -{{0x7b,0x30,0xb4,0x2d,0xc2,0xc6,0x70,0xa1,0x95,0xfe,0x2a,0xf8,0x79,0xfc,0x5d,0xe3,0x74,0x02,0x45,0x88,0xfe,0x3d,0xe4,0x3e,0x2d,0xd5,0x08,0x44,0xf4,0x8f,0x42,0xbe,},{0x82,0xa2,0xac,0x60,0x79,0xf2,0x12,0xb5,0xee,0xdd,0x0c,0x19,0xe9,0x39,0x4f,0xaf,0xac,0xd7,0x4d,0x71,0x6f,0xde,0xfb,0xfc,0x6c,0xb8,0xa7,0xea,0xf4,0x1c,0x03,0x62,},{0x0a,0x63,0xb8,0x4f,0x46,0x93,0x5f,0xaf,0x3e,0xa1,0x64,0xb0,0x0a,0xf2,0x27,0xb0,0x08,0x68,0xa0,0x3f,0x56,0x12,0x93,0x5e,0x18,0x61,0x9a,0x84,0xa2,0xe5,0x7b,0x88,0x51,0xd7,0x46,0xe6,0x3f,0xd9,0x10,0x07,0x87,0xf5,0x33,0x8d,0x51,0xc1,0x07,0x3c,0x2f,0xc5,0x30,0x30,0x99,0xe1,0x87,0x3e,0x5e,0x3d,0x3e,0x5c,0x03,0x6f,0xbe,0x01,},"\xc6\x68\x7a\xef\xeb\xc5\xc8\x16\xd1\xa3\x34\x53\xbe\xca\x50\x20\xd3\xa9\x7c\xda\x1d\xac\x56\x62\xf0\xaf\x72\xba\xd4\x44\xe2\xfd\x11\x76\xa7\xb0\x4c\x1b\xd0\x9d\x83\x26\x18\x20\x9b\xf3\xe3\x3e\x52\x35\x38\xd6\xda\xa7\x53\x04\x6e\x87\x1d\xd3\xb3\xc7\xac\xad\x33\xe7\x9c\x1b\xb7\x89\x64\x07\x86\x5d\x16\x8d\x4b\xc3\x75\x7b\xde\x4f\x82\x3c\x08\x77\x86\x26\xf8\xc7\x1f\xb7\xcf\xcf\xdf\x03\xa8\x24\x97\xbd\x8b\xe7\xd8\xf8\xef\x64\x90\x30\xb5\xf3\x6a\x33\x94\x59\x96\x8e\x24\x6a\x1e\x42\x08\x53\xda\xce\x41\xca\x85\x0a\x4e\xea\xe8\x34\xae\x11\x96\x10\xca\x4c\xd0\x66\x2a\xac\x39\x62\x15\x86\x99\x80\x27\xef\x2f\x61\x48\x5c\x02\x85\x06\x71\x4a\xe0\x9c\x76\x39\x9d\x87\x3e\x80\x81\x58\x57\x8a\xa5\x9e\x82\x12\xf5\x88\x65\x31\x9f\x9e\x0d\x2b\x8d\xa7\xad\x52\x9e\x0a\xc1\xf1\xeb\x43\x5a\xec\xfd\x35\xf5\xab\xb9\x2b\xea\x50\x73\x49\x6b\xf4\xc0\xbf\x15\xba\xa2\x73\xbf\xc5\xc3\x10\x44\x74\xa2\xdc\xf1\x32\xc3\x33\xeb\x36\xec\x2c\xbf\x04\xfa\x95\x80\xb7\x68\xf5\xce\xa7\xb5\x61\x7e\x58\x80\xaf\xf6\x32\x01\xc2\x74\xd6\x69\x74\x3e\x1b\xc5\x56\xb0\x67\x90\x2e\xee\x29\xd2\x91\x11\x28\x89\x69\xcf\xfa\x87\x9f\xc9\xcb\xf6\x6f\xbf\x93\x26\xd9\xd9\x25\xac\x41\x02\xfa\x9f\x1a\x06\x08\x1a\xde\xc0\x79\xcb\xc9\x67\x46\xd7\x9b\x63\xa0\x12\xed\x77\xd8\x2c\x9f\xfd\x4e\x3f\x16\x1f\x6c\xea\x28\xcc\x23\xfa\xc2\xa5\x43\xf5\xb1\xd0\x64\x4e\xc0\x48\x38\x32\x7b\xcc\x65\x2b\x85\x8f\x93\xff\x46\x3f\x7e\x94\x9e\xec\x8c\x9d\xb6\x56\x9a\x86\x98\x4f\x83\x1d\xf6\xac\x6d\x95\xf3\x8f\x46\xce\xbb\x6e\x65\x83\x65\x7f\xac\xd2\x10\x8d\xbc\xd0\xaf\x23\xab\x01\x01\xa1\x30\x1b\xeb\x48\xa4\x4c\xac\xcb\x91\x09\x44\x73\xd7\xe5\xa5\xc8\x8c\x64\x4f\xd3\x42\x05\x73\xb6\x78\xf1\x7b\x51\x74\xcb\x14\xe9\x0f\xac\x69\x4d\x1d\xbc\x6c\x96\x32\xb5\x97\x4a\xef\x28\xac\x08\xd7\x20\xb2\xea\x30\x44\x0d\x2a\xfb\x04\x93\xb4\x0d\xb2\x4e\xfb\xdb\xf5\x3c\x43\x09\x21\xe5\x2a\x10\xb5\x46\x61\xe1\x49\xd1\x65\x59\x1a\x7c\xf9\x1d\x65\x08\xea\x47\x2f\xb3\xbe\x16\x39\x5e\x30\x31\x2f\x19\xb8\x7c\x47\xe4\x68\x04\xa0\xfa\x29\xb5\x6b\x5a\xc9\x50\x67\x7b\xc6\x02\x38\xb5\xe9\x9e\x03\x0b\x1e\x55\x21\x46\xa0\xe8\x8c\x29\x4c\xfc\xa8\x35\xc1\x01\xc5\x5f\x34\x23\x87\x4c\xc1\x28\x75\x6e\x73\xa5\xde\xbe\x8e\x97\xfe\x21\x66\xb6\x5c\xb4\x46\x42\x77\x0c\x6d\x1d\x23\x90\xaf\x1b\x0f\x31\xb9\x58\xc8\x30\xe9\xac\x4f\xe2\xf5\xad\x59\x05\x82\xfb\xb8\x92\xbf\x94\x95\x84\x47\x7e\xf7\xbd\xe2\x3f\x7d\xd0\x2b\x63\xf7\xc2\x90\x88\xa5\x72\x51\x00\x91\x32\xff\xbb\x78\xed\x14\xde\xfb\xef\xd9\xfd\x31\xfd\xca\xb0\x3b\xa8\x0a\x23\xf3\x33\x98\x37\x60\xab\xad\x4f\x16\xdd\xf9\xdd\x44\x14\xf0\x4d\x00\xdb\x56\xba\x72\xd6\x3a\x3a\x13\xd2\xc4\x42\xf5\x49\xfd\x66\xc9\x88\xd2\xe4\x60\x1d\x13\xb5\x2f\x77\x50\x0d\xd6\x92\xbe\xc9\xd6\xbd\x3b\xaf\xa9\x24\x2f\xdc\xfa\xeb\x69\xb9\x8b\x0b\x57\x89\xb2\x80\x38\x40\xde\xc6\x37\xb4\x9a\xf4\x38\x1a\xe3\xfa\x42\x9f\xb5\x34\x61\xa0\xc6\x74\xeb\x5a\xa1\x8d\xbd\x60\x7a\x2b\x77\xa9\x6d\x3a\xb4\x64\xec\xd9\x74\x92\xf6\xde\x46\x0c\x9f\x11\xb5\xc1\x75\x6c\xb5\x9c\xb1\x34\x8d\xfd\x77\x95\x6b\x71\x90\x7c\x54\x82\x1e\x30\x3c\xb8\xb1\x49\x06\xc0\x03\xe3\x48\x4b\xe4\xea\x05\xa6\x90\x1d\x69\xb0\x74\x85\xe8\x58\xf7\xb4\x71\xc6\x35\xf9\x03\x95\xb9\xa3\xe2\x24\x7f\x1a\xd1\x2b\x11\x8f\xfa\xfc\x72\x21\xa5\x7b\x10\xe3\x19\xb6\x1a\xf1\xc1\x36\x06\xa8\x16\x16\xce\x3f\x1d\x62\xba\x93\x2f\xf4\xe6\x3e\x74\xb8\x42\x55\xe3\xaf\x52\x10\xbb\xd5\x71\xbd\xa4\x4c\xbf\x44\xb7\x14\x42\x2c\xb4\x5c\x2e\xf2\x1f\x98\x13\x1b\xa9\x6b\x7e\xdb\x9b\x03\xe3\x3d\x7d\x18\x8d\x5b\x8d\x90\x4c\xb4\x13\x6f\xe2\x69\xdb\x14\x69\x88\x16\x8e\x7e\xe2\x45\x35\x63\x54\xf0\x02\xa5\xea\x8b\x35\xa3\xa9\x9e\x83\xa1\x32\x72\x27\x41\x44\xb3\x3a\x60\xca"}, -{{0x66,0x56,0xf4,0xd4,0x71,0x81,0x57,0xc4,0xba,0xc3,0x8f,0xf7,0xab,0xe5,0xeb,0x1f,0x81,0x2c,0x0b,0x98,0x6d,0x9c,0x01,0x4a,0xba,0xd5,0xb0,0x9a,0xa6,0xc8,0xee,0x4a,},{0xf3,0x08,0x78,0x98,0xe4,0x52,0xbe,0x9e,0x30,0xae,0xcc,0x4e,0x8f,0xfe,0x0c,0x01,0x16,0x98,0x88,0x68,0x3f,0x62,0xa4,0x5b,0x8d,0xa3,0x82,0x99,0x01,0x4f,0x5b,0x4a,},{0x9c,0x2c,0x39,0x91,0x5a,0xed,0x6a,0xdd,0x00,0x4e,0x7d,0xd6,0x84,0xee,0x3d,0xcd,0xd1,0x0d,0x87,0xa4,0x87,0xf6,0x77,0xe7,0x3c,0x2b,0xce,0x0f,0xca,0x7d,0x50,0x87,0x96,0x46,0x41,0x50,0xa5,0x2a,0x44,0x0f,0x52,0x37,0x85,0x0a,0x00,0x9c,0x72,0x16,0x2d,0x9d,0x29,0x85,0x47,0x0a,0x33,0x49,0x0e,0x66,0xd3,0xc4,0x01,0x70,0x4c,0x05,},"\x94\xd9\xe5\xe5\xa7\xb7\x05\xd9\xd9\x76\xfe\x71\xe9\x4d\x3f\x7f\xa7\x86\x6a\xfb\xf7\xec\xe4\x24\xf1\x36\x32\x77\x99\xb2\xb2\x06\xce\x4e\xf4\xc3\xf3\xe7\x05\x55\x3a\xfc\x8f\xd5\xc1\x95\x2a\x4c\x16\x65\x8d\x4a\x78\xaf\xbb\x9a\x97\xf2\x71\x93\xc6\x5b\x65\xb8\x2e\x8f\x3b\x71\x51\x5f\xac\x82\x64\x0e\x0f\x8a\x5f\xb3\x5a\xe6\xfc\x6a\x3d\xb0\x51\xa2\x2d\x4a\x53\x00\x41\x3e\x6e\x33\xd1\x9c\x20\x13\xc2\x98\x3a\xca\x8a\xd6\xce\xc2\xce\x64\xa8\x14\x16\x4f\x06\x1a\x1a\x3c\x5a\x86\x10\xa7\x65\x0b\xfb\x54\x23\xd4\x36\x2c\xe0\x22\x06\xdb\xe4\xa6\xfa\x82\x6f\x03\xb4\x2a\xc3\xcd\x9e\xa4\xc6\x51\x40\x1b\x3c\xea\x82\xc3\x99\x3f\x6a\xf8\xb2\xc9\xe2\xe6\xff\xe6\x92\x80\xab\x3f\x09\xfb\xe9\x0d\xd5\x47\xcc\xda\x9d\x9e\x8e\x8a\x53\x7b\x3b\x36\x05\x54\x22\x7e\xd0\x70\x9f\x29\x31\x98\x98\x2e\xfb\x5e\xfb\x0e\x73\xe0\x00\x42\xd1\xa0\x63\xb5\x74\x52\x02\x7d\xce\x1a\x39\xe4\xb0\x06\x8f\x58\xb1\x11\xec\x5d\xc1\x42\xbf\x41\x9a\xd8\x93\xd5\x4f\x42\x60\xcb\xde\x76\x28\xf7\x83\xde\x84\x96\x38\x03\x06\xa4\xef\xf6\xd8\x28\x69\x10\x42\x59\xc9\x4c\x54\xad\x5a\xa8\xb0\x67\xc4\x24\x96\xcb\x88\xdd\x31\x15\x0e\xa0\x4d\x49\x9b\xfa\xc9\x1f\x4b\xb3\xe6\x8a\xf5\xaf\x7a\x56\x8a\x3e\x4c\xe7\xf1\x70\xd9\x86\x01\x16\x3f\x49\x52\xf1\xd2\x5e\x12\xe0\x0e\xf0\xa2\xd8\xf1\x11\xaf\xdb\x0f\xaf\xba\xd2\xbf\x8e\x8b\x9d\x49\x36\x3f\xca\x68\x18\x36\x17\xb5\x41\x27\x0d\xda\x46\x09\xb2\x61\x67\x29\xab\x1b\x8c\x42\xdb\xdd\x7b\xf9\x86\xaf\x8f\xba\x52\xe7\x33\xe4\x2b\xa0\x3c\x89\x2e\x1e\x1e\xc0\x6a\x90\xb1\x63\xf5\xa7\x9f\x61\x65\xeb\x73\x16\x97\x2a\xc1\xad\xbf\xcf\x1d\xca\xb0\x78\x47\xef\x82\xc2\xca\xb1\x01\x5d\xbb\x50\xaa\xdc\x79\xfe\x11\xc8\x32\x09\x8c\xac\xc3\x98\x20\xab\x08\x5b\x69\x63\xbd\x42\x16\x0e\xd6\x61\x3b\xae\x5e\x20\x1f\x17\xc0\xfd\x7f\x32\x35\x7a\xe3\x50\xce\x9c\xbb\xe9\x26\xfa\x42\xdc\xbd\x42\x2a\xc1\xbf\x09\xa1\x9a\xd1\xf6\x94\x69\xe4\xd1\xdc\xb1\x24\x11\x8e\xd4\x52\x2d\x35\x3c\x17\x42\x98\x65\x0f\xf8\x83\x82\xfa\x2f\xdb\xb2\x86\xc4\x5b\x18\xa9\xba\xf6\xf6\x76\x3a\xc2\x0c\x9c\xa4\x76\x7d\x34\x8c\x4b\x8d\xed\x63\x00\x76\x65\x7b\x85\xb1\x4c\x11\xae\x27\x37\xea\x29\xa4\x35\x15\xb7\xf0\x56\x74\xa0\xcd\x3e\xd4\xbf\x6a\x3d\x18\x9a\xe9\x72\x21\x8f\x87\x7c\xd8\xaa\x69\x49\x9d\x5a\x08\xc9\x9e\x44\x06\x94\xcc\xac\xcd\xf1\xf6\x42\xe1\x4e\x90\x10\x5b\xee\x6d\x98\xed\xee\xab\x3b\x4f\x33\x9f\x30\x01\x88\xae\xc0\xc1\x6b\xd6\x45\x21\xd9\x28\x73\x98\xe6\x48\xdb\x94\x33\x0e\xd8\xf6\xb9\xab\x6c\x7a\xd9\x3f\xfc\x43\xe8\x79\x2e\x63\x7c\x61\xbf\xf7\xd8\x56\xe5\x4e\xf4\x98\x73\x84\xe3\x12\xcb\x57\x01\x7a\x50\xea\xe5\x95\x2a\xbe\x19\xd8\x99\x9c\x8c\x82\xdf\xc4\x57\x98\xcc\x17\xc8\xd9\x49\x6b\xf5\x20\xec\xc5\xb7\x7f\xe2\x84\x91\x55\x66\xc4\x56\x85\xc3\x04\xa2\xac\xd5\x25\xef\x12\xc8\x6f\x38\xae\xf5\x54\xd8\xa2\x38\x47\x37\xcc\x41\x33\xfb\x7e\x2b\x65\xc1\x3b\xef\x31\x66\x8a\x6c\x2f\x60\xee\xcd\x84\x12\xee\xff\x7f\x6b\x60\x5c\xbe\x95\x08\x3e\x23\x3e\xc1\xa7\xbb\x36\xde\x23\x6c\x8a\x71\xba\x28\x72\xbe\x94\x6c\xd3\xb3\x89\x35\xf5\xda\x64\xc8\xfe\xc8\xe1\x4f\x45\xcc\xf6\x12\x4b\xab\x7f\x70\x56\x7c\x2f\x2b\xfd\xd5\x66\x67\x60\x95\x72\x03\x7c\x76\x14\x6c\x99\x17\x07\x65\x9b\x57\x09\xb0\x74\xe3\x45\x1f\x92\x1a\x2d\xf2\x83\xb9\x6a\xa2\x6a\xb4\x76\x62\x50\x16\xf1\x81\xad\x64\xc9\x91\x9c\xf4\x1d\x71\x4a\x1a\x9a\x5e\x2b\xb2\x6b\xaf\x87\x70\xb2\xeb\xa7\x7b\x77\x8a\x33\x26\x77\xa7\x57\x2e\xe3\xa2\xb1\xdc\x05\xf7\x35\x6b\xdc\xae\x5f\x55\xe3\x53\x29\xe3\x4c\xaa\x79\x43\x0b\x27\x0c\x03\x61\x60\xdc\x9f\xca\xab\x5b\x25\x45\x43\xac\x94\xb2\x46\x81\xf1\x71\x72\xb6\x15\x9d\x16\x62\x1d\x7a\xd0\xee\xbd\x89\x5a\x1e\x1d\x09\xb9\x16\xa8\x6f\xb4\x8e\x4c\x91\x66\x10\x57\xee\xe9\x5c\x08\x70\xed\x54"}, -{{0x14,0x38,0x3e,0x6e,0x56,0x04,0xc9,0x9c,0x24,0x8d,0x39,0xbe,0x51,0xd1,0x64,0xb1,0x34,0x42,0xb0,0x5e,0x51,0xd7,0x8e,0xcd,0x99,0x93,0x64,0x22,0x1a,0x45,0x03,0x6b,},{0x2f,0xc1,0x61,0x38,0x22,0x0a,0xb7,0x4b,0x3b,0xd4,0x46,0xf8,0xa7,0x14,0xb5,0x8d,0x54,0x63,0xd4,0x0d,0x43,0x67,0x92,0x50,0x07,0x47,0x4c,0x5b,0x9e,0x35,0xd4,0x94,},{0x45,0xe8,0xed,0x1a,0x75,0x1d,0xfc,0x3b,0x9b,0x7b,0xd7,0xa1,0x0b,0xf5,0xbd,0xcf,0x8c,0xa4,0x61,0x86,0x5a,0x49,0x0c,0x10,0x5f,0x10,0x45,0x29,0x41,0xcf,0x87,0x72,0x12,0x14,0xbf,0xbf,0x3a,0x35,0x60,0x6b,0x7c,0xe3,0x5d,0x6f,0x70,0xaa,0xf2,0xd5,0xea,0xdc,0xc0,0xde,0x03,0x5e,0x9b,0x2f,0x6d,0x7b,0x86,0x2f,0xc2,0x84,0x90,0x04,},"\xc4\x75\x3b\x7f\x7a\x6f\x6d\xea\x25\x15\xc6\xe3\xd2\x95\x61\x50\x6f\x4f\x36\xe0\xde\x84\x99\x92\x21\xf2\x28\xe2\x0b\xd5\x12\x8e\xd9\x3b\xdb\x8d\x11\x93\x23\x7d\x8e\x29\x41\x69\xa2\xbc\x44\x8a\xf9\xdd\x36\x06\x63\x01\xef\xb7\xfe\x12\x31\x35\x3c\x06\x23\xff\xe1\x11\x5d\xeb\xb6\x90\x5a\xc6\x94\x6e\xe3\x82\xa2\x7c\x3c\x09\xe1\xb1\xf5\xc1\x14\x93\xdb\xa3\x7d\xa0\xff\x6e\xea\x75\xd9\xfa\xb0\xee\x92\x6d\x70\x1d\xac\x2f\xc5\xb7\xef\x57\x88\x80\xa5\xd5\xee\xec\xad\xc1\xf4\xbc\xc4\xcd\x4e\xc6\xf2\xf1\x4f\x52\xa8\xc1\x64\x07\x2e\x6f\xde\x5a\xb2\xee\x9c\xee\x0b\x48\xe5\x1a\xf0\x55\xf9\xfe\xc7\xc6\x37\x50\xfe\xdf\x72\x33\x2b\x23\x86\x3a\x1e\x54\xc5\x2b\x46\x1a\x21\x50\x6d\xfd\xfc\x63\x88\x0e\x22\xd8\x9c\x89\x44\x12\x66\x6c\x92\x98\x21\xc0\xe4\x39\xe7\x45\x41\x5f\x71\x79\x69\xe6\x05\x85\x54\xd6\x4b\x94\x7a\x4f\xc9\xd1\x6a\xca\xe3\xe4\x9a\xec\x08\x80\x1a\x09\xd9\x72\xf7\x9e\xad\x68\xd5\x29\x76\x80\x69\x73\x5c\xaa\x74\x2b\x45\xa5\x83\x05\x81\xb8\x0c\xa0\x61\xa6\xc1\x51\x5e\x3f\x7d\x5a\x93\x37\x87\x8c\x19\xfc\x94\xee\xf2\x26\x98\xea\x6c\x4d\x05\xf9\xed\x41\x1b\x6b\x8f\x05\x2b\x5f\xf1\x5d\xc2\x3a\x64\xbe\xea\xae\x99\xf8\x48\x93\xde\x3d\xf9\x40\xa4\xe0\xb8\xe9\x93\x93\x01\x39\x05\x2d\x99\xbe\x47\xbc\xa8\x77\x5f\x85\x63\xbd\x40\x26\xb7\x13\x43\xd5\x19\x68\xf2\x33\x75\x28\xf4\xc9\xdb\x8b\xbd\x0a\x29\x8a\xf0\x4b\x27\x69\x5d\x86\xb7\xf7\xba\x6c\x4c\xcc\x62\x73\xfe\xbc\xd8\xf7\x5c\xff\x26\x69\x95\x24\x4f\xc1\xfa\x13\xd8\xd8\x43\xf0\xbf\xf4\x9c\xc2\xd5\x08\xf4\xa2\xb3\xaa\xd1\xd9\x5f\xb2\x2a\x2b\xc6\xad\x1b\x96\x6b\x08\x12\xd9\x90\x70\xbb\xa0\x7c\x92\x3e\xe4\xd0\x81\x07\x48\x6d\xc0\x1a\x06\xdb\xa6\xf1\xd5\xf1\x05\xac\xea\xde\x33\xb1\x66\x51\x0e\x42\x7e\xbb\xce\x52\xa3\xe7\x83\x1f\x0f\x78\xa3\xc6\xe0\x72\x60\x83\x34\xd8\x02\x1c\x33\x8a\x73\xcc\x0c\x47\xf1\x9c\x9f\xae\x40\x3b\x97\x16\xd0\xd1\x5f\xbd\xf6\x46\x6b\x08\xf6\xac\xce\x3f\x50\xa7\x03\xb1\xde\xa8\xd8\x26\xdf\x84\x2c\xa1\xba\x20\xd2\x9f\x45\x48\xac\xfc\x75\x4c\xf0\x11\xf5\x70\x68\x1b\x59\xe4\xda\x25\x38\x5e\xbd\x6d\x5c\x3a\xdc\x93\x05\x29\xe1\x66\xce\x67\x05\xf6\x01\x02\x10\xdb\x10\x64\x62\xb3\x33\x32\x04\xe7\xad\xad\xee\x66\x06\xa5\x62\x06\xb4\x7e\xef\x20\x74\xb1\x16\xe2\x2a\x61\x54\x18\xec\x2c\xdc\x33\x1f\x1e\x19\xe0\x7e\x8a\x37\xb9\x2d\x69\xdf\x07\x34\xe0\x85\xda\xee\xb9\x01\xec\x6e\x8c\x35\xf1\x03\xf1\xd8\x6e\xf0\xd2\xa2\x65\x2b\x01\xd1\x83\x59\x7e\x4c\xfd\xee\xdf\xe5\xdf\x9a\x7e\xf6\x6a\x1c\x79\x6a\x37\xa2\x71\x13\xb9\x44\xdd\x7b\xa1\x7c\x46\x00\x15\xab\x8a\xce\x45\x1c\x57\x85\x0e\xc6\xc2\x90\xc5\x4e\x51\x13\xf5\x5e\x99\xa8\xe6\xe4\x71\x1e\x3b\x78\x17\xbf\x91\xa5\xad\xb3\x7f\xb9\x46\x1b\xe6\xb1\xb5\x5d\x58\x60\x46\xe4\x2a\x54\xc5\xde\xf4\x07\x6f\x1f\xf6\xc3\x1b\x80\x6f\xc6\x02\x47\x43\x56\xaa\x28\x99\xea\xe7\x0f\x5e\x5a\xbf\x1f\x75\xa7\xf2\x4c\x13\x4c\xde\x11\x79\x3b\xb1\x62\xe0\x3a\x58\x3d\x5b\xe0\x46\xac\xc7\x34\x56\xd1\x2d\x50\x9d\x92\xf7\x70\x57\x68\x68\x6f\x6c\x71\x4a\x4e\x57\xec\x88\xb7\x13\x98\xe2\x3e\x83\x5d\x6d\x65\x47\x22\x59\x96\xb7\xed\x08\xf3\xb7\x44\x3b\xb1\x7c\x89\x94\x09\x49\x3d\x0e\xfe\x84\x55\xbe\xc8\xe8\xc2\x84\xa3\xb1\x49\xa5\xb4\xca\x63\x1e\xa6\x20\xb1\xbb\x81\x7c\xed\xab\xa5\x0b\x04\x44\x11\x84\x9d\x26\x0a\x6f\x2a\x0d\x3f\x2c\xce\xec\x38\x42\x71\x9a\x5e\xa4\xfe\x18\xdd\xe0\xd4\x2d\xcb\x33\xad\x21\xe6\x45\x33\x25\xaf\x6f\x3c\x00\x9f\x2b\xb9\x78\xd3\x0c\xee\xae\x9a\xa4\x92\x8b\xf7\x37\x67\xcd\xa9\x29\x2a\xb8\x93\xce\x5f\xa3\xaa\x4c\x23\x21\x63\xb4\x5c\x64\xed\x79\x77\x77\x9b\x1c\x0c\xaf\xcf\xc2\xb9\xfa\x08\x4a\x32\x4f\x11\x3a\xde\xec\x21\x8b\x47\x35\xb6\xb4\x64\xdb\x6d\x46\xc2\x79\x1a\xf3\x45\x5f\x1c\xa5\xea\x1e\x9a\x04\x8c\x05\x1a\x54\xdf\xa0"}, -{{0x59,0xb0,0x72,0x63,0xb2,0x2c,0x0a,0x38,0xbb,0xc5,0x91,0x05,0x95,0x94,0xb2,0xbd,0x92,0x7e,0x80,0x59,0x61,0xdd,0x07,0xe1,0xf9,0x42,0x45,0xb2,0x3a,0xa2,0xe0,0x16,},{0x0b,0x1e,0x4c,0xf5,0xaf,0xf2,0x78,0xec,0x65,0xb4,0x05,0xf5,0x10,0x8e,0x1b,0x5b,0x18,0xa9,0x69,0xad,0x1f,0x1e,0x63,0x81,0x91,0x2c,0x82,0xd6,0x98,0x90,0x7c,0xba,},{0x88,0x6d,0xa3,0x3e,0x35,0x53,0x28,0x5e,0xa5,0x9c,0x14,0x31,0xb6,0xe8,0x6e,0xa4,0x9b,0xb6,0x8b,0x2e,0x0e,0xfd,0x2b,0x15,0x7e,0x77,0x91,0xb7,0x4f,0x35,0xa2,0x42,0x1b,0xb3,0x59,0xf3,0xdc,0x1e,0x4c,0xe5,0xf1,0x1f,0x73,0x65,0x2e,0x03,0xbf,0xc0,0xb4,0x29,0xc5,0x8f,0x0f,0x2d,0x74,0x18,0xc7,0xc2,0x0b,0xce,0x2e,0x2d,0x19,0x01,},"\x08\xce\x0d\x4d\xb5\xc2\xaa\x50\x0a\x19\xef\xbc\x8d\xc8\x54\x92\x50\xf7\xdd\x46\xa7\xa9\xa5\x40\x74\x17\xb3\xd5\x18\x20\xe4\xb0\xd6\x12\x75\x58\x3f\x56\xf8\x97\xfd\x94\x2b\xdd\x73\x11\xad\x6b\xaf\x73\x81\x28\x56\x7a\xf6\x55\x8d\x75\x90\x6a\x02\xc4\x34\x3a\x99\x55\xd5\x9b\x11\x08\x8c\x58\x8d\xc7\xdd\x08\xf6\x79\x65\xc5\x60\x2a\x56\x92\x8d\xda\x4a\xe1\x64\x29\x31\x63\xb5\x17\xca\x17\xde\xd0\x4f\xe4\xab\x2f\x97\x89\x13\x0a\xe9\x6a\xb2\x31\xf0\x7e\x09\x01\x5b\x78\xf3\x84\x8c\xef\x43\x5d\xb0\xad\x9f\x35\xe0\xfb\xc9\x85\x1e\x3e\xcf\xc9\xfb\x18\x6d\x14\xd8\xda\x4d\xda\x45\xd0\xb3\xeb\x3e\xe4\x50\x0c\x10\x1e\x31\x94\xb5\x72\x14\x06\x89\xcd\x75\xda\x12\x87\xb2\x54\xf3\x74\xe3\xd9\x33\x26\xae\x5f\xaf\x11\x40\x18\xac\x71\x4b\xd0\x03\x75\xd9\x2a\x8b\xb6\x59\xc3\x29\x12\x83\x1f\x4f\x20\x77\x6e\x9e\x2c\x25\x02\x9f\x0a\xff\x39\xfd\xda\xc7\x24\x15\x43\xa0\x36\x6b\x84\xde\x7b\x1f\xf2\x3e\x8e\x4d\xc0\x93\xdf\x0d\x2d\xd5\xe5\x3e\x68\x47\x94\x8c\xf3\xd0\xff\x3f\x56\x4a\xd9\x4d\x9c\xc0\x0a\x5e\xa5\xb6\x95\xe4\x08\xbf\x50\xf5\xba\xb2\xf6\xea\x87\xba\x8a\xd3\xa1\x94\x01\x95\xcf\x1b\xc2\xb5\xb3\x48\x47\xad\x3a\x5e\xff\xb8\xa7\x82\x3d\xe9\x1e\xf1\x63\x38\x69\xd1\xf0\x46\x43\xaf\x4d\x82\x6a\x59\xe7\x8b\x9d\x18\x63\x12\xb3\xd9\x72\x26\x36\x54\xac\x55\x87\xb8\x0b\x71\x76\x46\xf3\x10\x03\xdb\x81\xac\x70\x86\x0d\x3f\xc8\xcd\x3a\x6a\x0a\x0d\x57\x6d\x25\x73\x1e\xf7\xb8\x96\x62\x63\xd7\xa0\x5b\x55\x00\x9e\x8a\x23\xda\xc0\xf9\xa2\x1a\x24\xb0\x6e\x13\x90\x0e\x44\x44\x46\xfd\xfe\x56\xcb\xc1\xa0\x26\xdf\x41\x06\x6b\x20\x1b\x14\x81\xe5\x61\x58\x92\x6c\x0c\x9e\xa9\x0f\x0c\x64\x5a\xab\x4b\xef\x12\xd4\xe0\x72\xcb\xfd\xc3\xc3\xd5\xe0\xc7\x2c\xf8\x8f\x16\x6d\xe0\x48\x87\x4f\x35\x34\xe0\x40\xc6\x2b\x16\x62\x82\x1b\xdd\x16\xb0\xe8\x58\x28\x17\x46\x1c\xb2\x68\x92\x79\xb4\x46\xd7\x0c\x8a\xc2\x0a\xd0\x3e\x59\x8c\xad\x49\x08\xc5\x2c\x35\x0d\x42\x43\xee\x8a\xed\xb8\x7a\x4a\xf9\x77\xf7\xdb\x57\xcd\x94\x7b\x47\xd6\xbb\x51\x40\x9d\x80\xd8\x1f\x6d\xb0\x3c\xb9\xa6\xa6\xb7\x98\x12\xf4\x70\x69\x0a\xfc\x18\x36\xa5\x31\x33\x80\x94\xcf\x26\xd3\xc1\x23\x2f\xd5\x60\x5d\x8f\x8c\x55\xb6\xf8\xa2\xa7\xef\x1e\x0c\x78\x15\x55\x94\xb2\x37\x95\x6d\x2a\xba\xd6\xa9\xad\xcd\x58\xe1\x1c\xcd\x35\xcc\x99\x5b\x9a\x0a\xec\xbf\x7f\x57\x41\xac\x05\x1b\x04\xef\x6b\x97\x44\xb5\x6f\xcc\xb4\x63\x98\x52\x8b\xb3\x1f\xbe\x84\xe0\x78\x84\x3e\x69\xbf\x33\x88\x98\xcd\xef\x69\xad\x41\x87\x23\x95\xe4\x6b\x59\x39\x04\x82\x55\x47\xe0\x0b\xda\xf2\x21\xf8\xfa\x58\x7e\xa2\x03\x7f\xfb\x9a\xc9\x30\x7d\xd3\xf8\xf3\x5e\xc5\x38\x6b\xa9\x66\x33\x3e\x2a\xc8\x72\x7b\x0e\x1b\x80\x61\x2d\x3c\x7f\x2c\xb8\x8b\xaa\xca\xdf\xe2\x16\x3b\xc3\x8c\x88\x84\x2e\x76\xa3\x94\x57\x1d\x40\x61\x0e\x8a\x29\x76\x02\x79\x37\x63\x29\x6e\x3e\xab\xf7\x20\xe9\x84\xb2\xed\xd2\x8c\xf5\xc4\xe0\xf9\xa0\xf7\x6a\xce\xba\x28\xcc\x1f\x1b\x69\xff\x1d\x35\xb4\xbd\x33\x47\xb7\xf9\xa9\x5a\x4c\x1e\xa1\x07\x34\xe1\xc9\x18\xeb\x96\x24\x9d\x0c\xc7\x0b\x47\x7f\x6f\x23\x80\x9b\xbd\xa9\x01\xd5\x3f\x48\x5a\x71\xf5\x08\x60\x02\xc1\xb7\x1e\xfc\xc4\x1c\xb1\xae\xb5\x12\x2a\x3f\x3b\xfc\x96\xc5\x1a\x55\xd7\x5c\x02\x98\x42\x88\xbe\x65\x78\x87\x85\x4c\xfa\x73\x89\x74\xbc\xd5\x44\x01\x46\xf9\xbb\x14\x04\x0d\xe5\x4f\x54\x44\xad\x43\xb7\x9a\xf9\xbd\xb2\x4e\xd6\xa4\x8e\xb2\xfd\xee\xd7\x1f\x31\xf0\xec\xe1\x02\xe9\x18\xe9\x56\x35\xc7\xa0\x38\x63\x3e\xe3\x48\xd8\xb5\x78\x16\x52\xd5\x05\x9d\x21\x5a\xc9\x7f\x30\xea\x20\xd2\x77\xeb\xbf\x15\x24\x69\x05\x42\x8a\x7b\xec\x02\xb8\xf9\x26\x31\x5b\xad\x67\x23\xfd\x64\xd7\x1f\xc9\x5f\x33\x33\x64\xcb\xe9\x0d\x46\x46\x33\x3c\x40\xdd\xa6\xd1\xd4\x33\xb7\xc1\x95\xa7\x58\xdb\xb4\x03\x8a\xf5\xdc\xc7\x23\x2d\x45\x47\xf5\x40\xe3\x94"}, -{{0x5c,0xc1,0x15,0xd8,0x39,0xe0,0x58,0xcd,0xb6,0x51,0x8e,0xe9,0xc1,0x61,0xc0,0x04,0xd8,0x8b,0xd3,0x90,0x8d,0x3c,0xf6,0xd5,0x2c,0x8f,0x29,0x6a,0x1a,0x07,0x6b,0x9b,},{0x1e,0x8f,0x33,0x05,0xbf,0x2f,0xa1,0x1b,0x17,0xd9,0x24,0x16,0xab,0x0e,0xa7,0x62,0x39,0x6d,0x88,0xf2,0xf9,0x70,0xef,0x0b,0x10,0x0e,0xd3,0xbf,0x5c,0xc1,0x34,0x40,},{0x03,0x71,0xc2,0xd6,0x4c,0x5e,0xc0,0xc8,0x27,0x6c,0xa5,0xff,0xa6,0x15,0xef,0xf4,0x2f,0x9e,0xff,0xfc,0x58,0xdd,0x8e,0xcf,0xcf,0x67,0x62,0x0a,0x9b,0xcb,0x38,0xfa,0xf1,0x18,0x93,0x2b,0xf2,0xcd,0x5b,0x92,0x05,0xfa,0x55,0x13,0x34,0xdf,0x2a,0x75,0x7c,0x59,0x77,0x44,0xf7,0x91,0xf3,0x71,0xfb,0xed,0xd9,0x8b,0x21,0xf7,0x34,0x05,},"\x53\x3e\x49\xc1\xd5\xf3\x3c\x5e\xc4\xbe\x84\xc6\x19\xf4\xec\x64\x9c\x25\xfd\x70\xbd\xcf\xe2\x57\xa6\x3c\x33\x73\xa4\xd0\x89\xc8\x9a\xf6\xee\xb7\x16\x0d\xd7\x7a\xb6\x6b\x1e\xe7\xe1\x08\x50\xab\x4f\xc1\xf3\x51\x32\x33\x2b\x53\x78\x9b\x2b\x01\x40\xc4\xf2\x0f\x97\xf2\x14\x20\x72\xd6\x24\xaf\xf7\xaa\xd3\x24\xaa\xcd\x06\x8c\x03\x5a\xff\x52\xfa\x71\x2f\x4e\x74\x83\x2d\xe0\x31\xb2\x64\x23\x14\xd1\x71\x10\xde\xe6\xfb\x85\x76\x2d\xc3\x0d\x7e\x97\x78\x2f\xd1\xfb\xff\x71\x79\xf0\x09\x17\xf5\x5a\xf7\x50\x3a\x5b\x7e\x23\xc6\xea\xdb\x65\xe1\x04\xf1\x51\x7b\x66\x24\xc9\xe5\x20\x4b\x3f\xd2\x9a\x65\x85\xe9\x2c\xe3\xa3\xee\xe2\xc5\xae\x17\x79\x20\xf7\xb4\xab\x2c\xac\x87\xd6\x72\xab\x6b\xaa\xc1\x18\x6d\x90\x4a\xea\x34\x98\x53\x4e\xb5\xab\x23\xe4\xac\x4c\x0d\xdb\x0d\x82\xa5\xae\x53\x1d\x76\x54\x9d\x36\x76\x28\x57\x7b\xac\x42\x35\xe8\x97\xd9\xfe\x20\x55\x22\x04\x7d\x21\x4f\xf6\xcc\xf3\x11\xc4\xe3\x97\x82\x7d\x97\xf2\x86\x8e\x70\xac\x17\xd2\x8e\x33\x49\x99\x74\x4d\x35\x93\x76\xa4\x82\xfd\xcb\x41\x4b\x02\xb2\x68\x7b\x96\x2e\xe8\x08\x6e\x57\x3f\xe0\x00\xdc\x51\xde\xe0\x68\x79\xc6\x84\xe2\x5f\x94\xce\xe5\xe8\x61\x34\x7e\x7b\xe7\xfc\xa5\x49\xa0\xf7\x65\x13\x6a\x2f\x4b\x88\xfe\xde\x07\x02\x4d\xd2\xfc\xe1\xf6\xd0\xc0\x35\x4d\xa1\xa1\x6e\xf3\x66\xb3\x15\xb3\xf7\x23\x30\x31\xf9\x79\xb7\x0e\xac\x6e\x23\xbf\x3b\x34\x9e\xfb\xd0\xe4\xf5\x3f\x4d\x5c\x41\xfc\x00\x42\x76\xa5\x96\x70\x65\x9f\x69\x05\xef\x03\xd2\xfc\x09\x8d\x58\x9f\xcb\xc1\x32\x82\x82\xfa\x22\xb1\x0d\xb8\x3c\x5d\x70\x86\x59\x94\xfd\x19\xd7\x60\xa3\x9d\x47\x6e\x02\x33\x0d\x2c\x6d\x19\xe7\x42\x26\x7d\xd3\x65\xbb\xe1\xfe\x5c\x71\x1a\x95\xb1\x84\x50\x8c\xe4\x8c\x1c\x96\xd7\xe6\x39\x90\xb4\x08\xd4\x50\x89\xbe\x79\xe3\x2f\x9c\xb0\x16\x2f\xd1\xe7\xd0\xd1\x9d\x97\xd0\xae\x78\xff\x82\x4c\xc6\x98\x94\x86\xc0\xbd\x03\x83\x52\x55\x1f\x37\x49\x9e\x9e\x98\x26\x80\x4e\x9d\x26\x24\xad\x0c\x7b\x75\x34\x56\x0f\x45\xfd\x7d\x32\x4b\x8e\x51\x7e\x01\xc9\xb2\x74\x3c\x14\x97\x9c\xfd\x51\x2b\xc3\xfe\x66\x72\x79\xb3\xa2\x77\xfb\x46\x3e\x9d\x73\x49\xb6\x4f\xfc\x9f\xe6\x08\x84\xc2\x1e\x48\x10\x81\xed\x70\xe6\xda\x5a\x35\x39\xc4\x48\x97\x1f\x0d\x97\x87\x28\x9f\xcb\x00\x80\xf2\x19\xe9\x94\x49\xf8\x29\x8c\x42\x47\x5f\x87\xfd\x10\xae\xb5\x09\xc5\x30\xcf\x6a\x57\x74\x8e\xb8\xf3\x56\x21\x61\xfa\x48\x75\xea\x95\x3f\x09\x65\x9c\x7d\xf7\xa9\x95\x0f\x03\x17\x46\x7c\xb4\xe5\x36\x6e\x19\x6e\x32\xf5\xe2\x69\x67\x33\xa2\x5e\xac\xbd\xe4\x92\x10\x49\x07\x62\x06\x0e\xa2\x31\x37\x0d\x40\x90\x42\x9b\xb0\x6b\xb8\x67\x39\x9e\x8d\x37\xbf\x5d\x21\xa0\xe7\x21\x47\xe4\x96\xcf\x3b\x7d\xd6\xfe\x6e\x5e\xde\xa9\x66\x8d\x80\x21\x90\xa9\x1c\x60\x0e\x29\x52\x3f\x8e\xb9\x04\xe4\x8b\x70\x41\x2b\xc1\x0a\x70\x20\x98\x4c\x5f\xf0\xf5\xf3\x83\xf2\x14\xae\x59\x4d\xc8\x59\x71\xe4\x80\x37\x28\x48\xd0\xd7\xe7\xcc\x5c\x18\xff\x88\xba\x9b\x26\x2d\x78\x84\x69\x8a\x41\xc6\xc7\x81\x9c\x03\x19\xfd\xc6\xbb\x07\xb9\x1d\xc1\x69\x4d\xaf\xe3\xaf\x37\xa5\x38\xbf\x2b\x2d\x8c\xac\xb2\x7d\x24\xcd\xc6\xea\xdb\x8c\x6a\x2e\x6b\x7d\xf8\xa4\x65\x4a\xe9\x37\x85\x0c\x89\x0a\xd9\x30\x98\x0a\xfc\xc1\x49\x2d\xb8\xa0\x16\x8c\xbc\x9f\x10\x65\x7e\xb4\x8d\x2a\xc8\x7f\x51\x75\xd2\x3c\xae\xd4\xb5\xe6\xf1\x0b\xbe\xaa\x5e\x33\xfc\x5f\x64\x18\xd6\x3b\xa3\x74\xab\x1a\x3c\xbd\x36\xb7\x29\xdd\xbd\xab\xa9\x89\xd4\x64\x5e\x3a\x66\x13\x0b\xae\x41\x7c\xad\x08\x6d\xad\xd3\x08\x43\x35\x25\x14\xc3\x75\xf2\x57\x1a\xba\xf9\x3e\x9a\x07\x71\xfa\x10\x3a\xe9\x25\x85\xb0\x4f\x55\xc4\x34\x76\x9b\x43\xd6\xd2\x2f\x75\x3f\x93\x06\x03\x6e\x53\x52\x4f\x6f\x4d\x9c\xcb\xd2\xc3\x03\x17\xa8\xe8\x99\xf3\x16\x14\x90\x35\x89\x4d\xa9\x45\xb7\x6d\x90\x82\xbf\xee\x32\x8e\x7a\x31\xb6\x63\x28\xee\x8b\x94\xe0\x68\xc7"}, -{{0x75,0xa5,0x03,0xf4,0x8f,0xfc,0x22,0x16,0x17,0x67,0x25,0x19,0x11,0x1b,0xf9,0x0d,0xa3,0x9d,0xa9,0xea,0xb2,0xe2,0x91,0x4f,0xd3,0x75,0x5f,0x10,0xf5,0x39,0x36,0x68,},{0xf6,0x80,0xcc,0x0f,0x63,0x58,0xcd,0xcf,0x53,0x7a,0xa7,0x11,0x28,0xcf,0xad,0xfc,0x0f,0x3a,0x89,0xc1,0x00,0xaa,0x34,0xbc,0xd2,0x42,0x7e,0x24,0x8b,0x6e,0xd5,0x0b,},{0xdf,0x28,0xe3,0xe6,0x30,0x36,0x08,0x67,0x86,0x4b,0xc4,0x1e,0x43,0xfd,0x7d,0xde,0xb5,0x28,0x76,0xdc,0xe9,0xb2,0x34,0xa3,0xfc,0xc3,0xd8,0x54,0x9d,0xb0,0x11,0x2e,0x17,0x63,0x90,0xa6,0x85,0xeb,0xd4,0x84,0x93,0x6e,0x25,0xc0,0x8c,0x8a,0x38,0x78,0xa3,0x7b,0x3c,0x4e,0x23,0x9a,0xd0,0xa0,0xe5,0x01,0x99,0x37,0xff,0xbc,0xd4,0x07,},"\x7b\x01\x09\x04\x23\x23\x6c\xb4\xb1\x3c\x41\x77\xfc\xe5\x2a\x7f\xf6\x58\x05\x88\xcc\x2e\xb5\xa3\xf3\x9f\xf5\xd0\xc7\x3e\x01\xe0\x1b\xf7\xbd\x74\xaf\xe4\x15\x12\x50\xc3\x91\x42\x6e\xa5\x07\x27\x1b\xea\x1d\x6d\x85\xf0\xb2\xfe\x35\xc4\x05\x00\xf9\x8d\x06\x56\xc6\x38\x8f\xc9\xef\xba\x18\x37\xdb\x22\xdf\xa2\x9d\x89\x26\x76\xf5\x0e\x57\x5f\xe8\x9f\xd2\x93\x89\xd0\x9d\x08\x0b\xad\x67\xba\x54\x4c\xac\xab\xf5\xa7\x73\x82\x37\xc5\x5e\x28\x75\xed\x49\x16\x30\x2a\x2b\x4d\xc4\x96\xe7\x42\x73\xbf\x05\x19\x11\x37\x81\x0e\x50\xe4\x81\x95\x26\x0b\xab\x6d\x81\xf9\xc8\x05\x62\xee\x73\xcc\xb9\x33\x3c\xd9\xb6\x1d\xaf\x5b\x00\x38\xa4\xe6\xc5\xc9\x58\xa9\x1f\x68\x50\x8c\x1d\x88\x25\x19\xc1\xaa\x4f\xfc\xc5\x35\x62\x46\x3a\x0a\xe3\x01\x63\x69\x6f\x84\xb9\x7c\xcb\xd8\x67\x98\x20\xed\xd3\x61\x7e\x7b\x89\x6e\xef\xfe\x34\x1e\xc6\xb5\xb0\x3f\x73\xb6\x25\xd7\x41\xc6\x55\xfe\x6e\x82\xd1\x1d\x47\x8a\x7d\x54\x3f\xf6\xc0\xfa\x3a\x3a\x8c\x94\xa6\x16\xfb\x84\x70\x70\xd1\xfb\xdd\xe6\x01\x0f\x02\x6b\x08\x9c\xd8\x63\xc3\xbd\x29\xb1\xc4\x26\x9f\x77\x65\x9e\x51\x57\x28\x89\x0c\x97\x3b\xe8\x7f\x0b\x83\x3c\xa5\xaf\x6b\x4c\x31\x33\xad\x4f\xa4\xf9\x16\x55\xc6\xad\xb5\xb7\x23\x5c\x27\xfe\x34\x82\x84\xf3\xf1\x33\x66\xa6\xa0\x3a\xd2\x2b\x87\xc6\xf5\x58\x4b\xde\xae\xa4\x8c\x70\x32\x5d\x6e\x33\xa4\x75\xf5\x05\x11\x06\x38\x75\x19\x2a\x87\xed\xc3\x88\x08\x9b\x84\x39\x53\x90\xc2\xa3\xad\x89\xa2\x25\x95\xdc\x4a\x71\x5a\x42\xa2\xc0\xef\xde\xf6\x7b\x35\x4b\x34\xfc\x75\xca\x98\xdf\x91\x3e\x75\x9e\x51\xc7\xf6\x25\xdd\xd5\x98\xac\x22\xd4\x21\xde\xcb\x57\xbe\xbd\x54\x22\x0e\xc6\xda\xa5\xec\xe7\x69\xd2\xe0\x1b\xe7\xb6\xbe\xe2\xff\x5a\x0b\x06\xb3\x2d\x6d\xa1\xd7\xbc\x05\x7e\x3a\xbf\xaa\xb2\x42\xa3\xf7\xe6\x64\x6a\x15\x9e\x4f\x50\x5e\x46\x62\x98\x2b\x13\xd0\xcc\x1f\xba\x91\xd1\x03\x09\xa4\x2d\xc1\x08\x7c\xf1\x0d\x36\xe3\x1f\x17\x06\x15\xa0\xac\xb5\x08\xbf\x68\x3e\x2d\xe0\x0c\x87\x64\x0d\x30\x4a\x94\x7b\xc4\x97\x1f\xf3\x61\x9c\x72\xab\xd8\x3c\x7b\x2c\xbb\x34\x64\xc4\x04\x0c\x26\x62\xb5\x85\x08\xb7\x46\x80\xcf\xa6\xde\x06\xe8\xd2\x1e\x3b\xec\x85\x11\x19\x93\x12\x68\x00\x09\x07\x1f\x70\x6b\x7b\x13\x3a\x24\x87\xd5\x74\x5f\xfa\xdd\x5d\xc0\xeb\x2b\x55\x3d\xf4\x40\x78\x7f\x01\x1d\xda\x37\x71\x9f\xa7\x13\x15\xe8\xb2\x91\xef\xd7\x7d\xa3\xba\x14\xfb\x99\x5f\x03\x57\x1a\x3d\xb5\x22\xb6\x3c\x60\xbe\x56\x19\x94\x16\x99\xb3\x92\x22\xb5\x9d\x0f\x23\xe5\xeb\x37\xea\xd4\xb7\xf7\x50\xed\x4a\xbf\x4d\xb8\x7c\x70\xda\x66\x5b\xef\x4d\x7a\x29\x21\xb2\xc9\x98\x97\xf2\x32\x1c\x9b\xe6\x07\x5e\x74\x4c\x82\x28\x63\x9a\xb7\x36\xdb\xeb\x2b\xea\xb4\x40\xc1\x56\xa3\x9a\x2e\xfd\x26\x1d\xb5\x08\x55\xe3\x04\xd9\xcf\xeb\x99\x14\x1c\x61\x35\x58\x10\x9f\x21\x47\x4d\x27\x2a\x2d\x90\x6d\x48\x93\x93\x4a\xff\x8e\x08\xa4\xfc\xee\x96\x4a\x5c\xd0\x07\x32\xfd\x33\xaf\x29\x84\x9c\x8d\xfc\xa6\x59\x79\x42\x18\x57\x18\x5c\xf6\x29\xf8\x68\x07\xa8\x59\x73\xd3\x44\x0a\x6b\xf8\x11\xa5\x8d\x04\x13\x87\x24\x98\x11\xec\x04\x7e\x5e\x8b\x34\x3b\x23\x87\xd0\x18\x1e\x0d\x0b\xd4\x61\xef\x10\xe8\x16\x4a\xae\x35\x7d\x9b\x29\xdc\x0a\xce\x3e\xc6\xd7\x43\xae\x34\x54\xab\x9f\x84\x2a\x28\xd5\x71\x02\x17\xdf\xfe\x50\x34\x4e\x8d\x93\x2f\x18\x01\xb0\xe8\xf9\x66\x19\x8e\xf1\xc9\xcc\x69\x69\xf3\x47\x34\xaa\x6a\x63\xae\xaa\xb4\x33\x9f\x75\xd3\x4f\xfa\x8a\xcb\x93\x7e\xd9\xc7\x30\x92\xa3\x09\xa9\xb8\x4a\x25\x01\x1e\x31\x14\xc2\x65\xe4\xf6\x02\x33\x7e\xb6\x99\xb5\xa2\x2d\x57\x2b\x03\xe4\xda\xd0\x3b\x04\x61\xc0\x0d\xb9\x67\x9b\x72\xfc\x5b\x49\x3e\xf4\x48\x6f\x85\x53\x5d\x81\x3a\x58\x08\x03\x85\xaf\xd4\xe8\xd8\x71\x82\x80\x34\x33\x4b\xfe\x44\x1d\x18\x98\x4e\x4d\xfc\xde\x02\x44\x03\xb5\xae\x66\xcc\x50\xa4\x73\x01\xb5\x7f\x9a\x32\xf7\x40\xbd\xc7\xff\x1d"}, -{{0xd8,0xaa,0x2a,0x0a,0xa5,0x14,0xfd,0x84,0x5f,0x7a,0xa6,0x6b,0x83,0xc0,0xea,0xbb,0x9c,0x16,0x02,0x3a,0xbc,0x16,0x95,0x77,0x34,0x50,0xb2,0xbb,0x33,0x25,0x22,0xf2,},{0xe4,0xe8,0xd6,0xb2,0x98,0x24,0x8c,0x15,0xfe,0x08,0xf8,0x7a,0x3b,0xc6,0x08,0x4b,0xf2,0xd6,0x4d,0x7f,0x1e,0x4b,0x2d,0x51,0x59,0x9e,0x9f,0xad,0x9c,0xc9,0x10,0x92,},{0x14,0x6f,0x65,0xd4,0x3e,0x71,0x55,0x42,0x89,0x4b,0x79,0x00,0xa2,0xf8,0xcd,0x4b,0x17,0xd3,0x87,0x0a,0x61,0x00,0xe3,0x7d,0xe0,0x05,0xb0,0xdb,0x5d,0x81,0x51,0x24,0x6d,0xe4,0xee,0x38,0x42,0xd3,0xeb,0xca,0x20,0xa5,0xda,0x22,0xa3,0x63,0xa7,0x57,0x5e,0x7a,0x55,0x12,0x82,0x95,0xf2,0x72,0x11,0x48,0x4a,0xf5,0x7c,0xd5,0x31,0x09,},"\x08\xde\xb3\xb8\x32\xf5\x2d\x65\x56\xf7\x8c\x3f\x0a\xbe\x46\xf1\xef\xe4\x5e\x3d\x5d\x88\xe7\xf8\xed\xf8\x03\x67\x0c\xe4\x61\x29\x21\x74\x9e\x9e\xce\x63\xfd\xc9\xbe\xf2\xba\x48\x38\x12\xbb\x62\x2b\xe7\x44\xd4\x04\x04\xfd\x6e\x09\xc9\xe1\xcb\x7c\xe1\x9d\xe8\x1a\x9d\xad\xf5\x56\x35\x2e\xe8\x98\x10\xc7\x6a\x9b\x10\x47\xac\x62\xb1\x6e\xbb\x7d\xa2\x3d\xdc\x2d\x4a\xb7\x6a\x02\x05\x61\xd0\x2d\x41\xb5\x8b\x94\x95\x3a\x23\xfa\xaf\xdd\xd7\x81\xb7\xdc\xa7\xb7\xfb\xee\x70\x6e\xc1\x0a\x73\x12\x5b\xf7\x44\x36\x05\x6b\xf3\xb4\xf2\xa0\x70\x1c\xfe\xf0\x5b\xeb\xd3\xdd\x8e\xef\x30\x6c\x1a\xc1\xb0\x09\x50\x88\x1f\xf0\x5a\xb5\xc8\x24\x8a\xd1\x09\x6a\xc9\x1d\x52\x6a\xe5\x9b\xa0\x58\x3b\x27\xdb\x7d\x1e\x39\x0f\x57\xa5\x88\x9e\x27\x99\xa4\xa1\x51\x9b\x15\xd9\x3d\xbf\x0b\x21\xd4\x50\x87\x3c\x76\xba\x52\x04\x61\xe8\xbb\x5c\x83\xc9\x01\x2e\xac\xd5\x57\xbe\xa6\x40\x58\x6e\xfc\xb8\x69\x00\x76\x47\xd4\x49\xf9\x1c\xcd\x52\xaf\xe3\xa8\x94\x77\xde\x7c\x2b\x64\x7e\xcc\x9b\xf9\x67\xfb\xf5\x76\x9d\x74\x88\x94\x47\xd9\x52\x2d\x9e\x80\x69\xc3\x49\x9a\xf6\xa8\xa1\x09\x7a\x95\xd3\xbc\xc5\xf8\x34\x33\x93\x44\x84\x31\x4c\xb3\x07\x58\xb5\x25\xfe\x53\xe9\x07\x21\xdf\x5c\xbe\x03\xd9\x6f\x0d\x0f\x98\x52\x1f\x01\xa5\xfb\xe5\x7c\xe8\x80\x4d\xbd\x18\xf8\xf5\xea\xc8\xf7\xdb\xb5\x8c\x41\x78\x9a\x44\x43\x3f\x8a\x8d\x12\x45\xd2\xad\xda\x8c\x78\xd8\x81\xc6\x5e\xa6\x61\xab\x17\x8d\x4f\xc2\x63\x4c\xd6\xcb\x51\x4a\xb6\xf2\x54\x3e\x91\x12\x18\x3f\x3f\xf7\x3a\x3f\x45\x01\x06\xb0\xee\x8a\x34\x7a\x80\xcb\x82\x4a\xc1\xf8\x01\x64\xe3\xbb\x51\x23\x69\x8d\xe0\xe7\x47\x35\x9c\xa3\x5a\xca\xa3\xba\x0c\x94\x3b\xea\xcd\x7a\x9b\xdf\x8f\xf7\x39\x78\xe9\xfb\x00\x20\x45\xe8\xfe\x56\x48\xcc\x0f\x9c\xfa\x88\xb0\xd8\x12\xe8\x1a\xa6\x2e\x0d\x9c\x73\xfe\x61\x3a\xfd\x95\x39\xbc\xb6\x15\x72\x1f\xb4\x97\xd6\x2f\x65\xc8\x3b\x87\xa6\xd2\x14\x3f\x9b\x1c\x88\x0e\xc8\x67\x1b\xd4\x2c\x8d\xe9\x57\xb1\xa6\x8e\xe4\x92\x26\xff\x71\x7c\xcc\x6e\x74\xf2\xee\xe4\x9c\x30\xde\xa5\x3f\xec\x3c\xd4\xd9\x0f\x2c\xcc\xd8\xf9\x7c\x55\xd5\xc7\x52\x45\x4b\xe2\xba\x7b\x6f\xf2\x03\x0b\xe6\x7e\x0d\xf5\x0c\x5e\x88\x38\x43\xe7\x16\x12\xf2\xb9\x53\x59\x54\x3e\x2b\xa1\xbf\x2e\x98\xde\xbc\xf5\x76\x8f\x2b\xe6\xfd\x50\x4d\x97\x83\xce\x92\x1a\x81\xe0\x94\x16\xdb\xcf\x2b\xb6\x55\xa9\x24\xb1\xef\x01\x12\xd6\x71\xf0\x84\xa5\xb6\x90\xb0\xb6\x4a\x8b\x9b\xf5\x03\x33\xc3\x59\xff\x3f\xef\x19\x96\x94\xf9\xb6\x29\x24\x24\xf0\x06\x66\xce\xf6\xd0\x6d\x16\x1a\x79\xe3\xa1\xb9\xb9\x62\x9e\xea\x53\x50\x5f\x5e\x36\xae\xad\xfe\x0d\x75\x96\x72\xb0\xff\xe4\x98\x39\x7d\x90\xa5\x5d\x99\x44\xb3\x05\x41\xa7\xe1\xbd\xac\x53\x02\x06\x40\x13\x7d\xc2\x52\xae\xf6\x22\xf3\x81\x9d\x36\xab\x49\x8d\x76\x3e\x43\x27\xba\x85\x80\xdd\x9f\x7e\x5f\x47\xc2\x4c\xc9\x92\x87\x34\xb7\xe6\x21\x12\xc5\x7e\x3e\x0c\xfe\xde\xcd\xcb\xac\xcb\x0c\x45\xaf\x82\x19\x45\x5e\xe7\x22\x3c\x71\xe7\xe2\x04\x10\xc5\x24\x4e\xb8\x27\xaf\x2f\x39\x35\xce\x47\x55\x44\x47\x47\xaa\x94\x5f\x4c\x26\xdb\x3a\x29\x85\x19\xe7\x5f\xc6\xba\xce\x91\x52\x99\x72\xe8\x69\x1b\x69\x4d\x30\xaa\x8b\x5e\xc4\xc1\xa0\x28\xd3\xbd\x10\xbd\x0c\x8a\x40\x8f\xb7\xd9\xd7\x03\x49\x55\x53\xec\xea\x59\x8d\x06\x22\xdc\xc7\x4d\xe4\x89\xba\x71\x95\xcd\xae\x8d\x5c\xff\x98\x55\x92\x18\x37\xb5\x28\x43\x3e\xe5\x5c\x0b\x70\x90\x85\x7a\x0c\x27\x84\xd9\x31\x0b\x48\x25\xa7\x99\x3a\xd9\xc6\xf1\x8f\x83\xbc\xa5\xcc\x6a\x25\x04\x71\x68\xa8\x37\x6b\x06\x2e\x3a\x48\xea\x90\xca\xd8\x8e\x33\x11\x87\xc2\xb6\xf2\x81\x42\x6f\x81\xf7\x88\x04\xa8\x95\xc4\xec\x06\xc3\x41\xfe\x84\x6a\xf4\x52\x7e\xa2\x60\x69\xdc\xf6\x1d\x81\x3f\xdd\xf0\xfc\x43\xc7\x07\x35\x0b\xfb\x2f\xc1\xcf\xfc\xee\x7d\x7c\xcd\x7d\x75\xf7\xa4\x65\xa3\xd1\x4d\x57\x30\x2c\x14\x6a\xba\x3e"}, -{{0xde,0x8f,0x1c,0x99,0xe7,0xf8,0x55,0x6d,0xf2,0x0b,0x59,0xb8,0x50,0x4c,0xff,0x7c,0x6c,0x52,0x41,0xa8,0xae,0xeb,0x30,0xb9,0x2e,0xab,0x97,0xbf,0x48,0x1d,0x0f,0xe9,},{0xe4,0x63,0x79,0x1d,0x0f,0x56,0x7e,0xe7,0x3a,0xbb,0xf4,0x7d,0xd5,0x71,0x67,0xa5,0x35,0x61,0x3b,0x05,0xcd,0x48,0xd9,0x2e,0xbc,0x7d,0x24,0xe6,0xeb,0xff,0x95,0x73,},{0x30,0xab,0xc4,0xe4,0xe4,0xb3,0x88,0x58,0x1e,0x66,0x8b,0xd4,0x09,0xee,0x18,0xa6,0xed,0xe8,0x1a,0x13,0x6c,0x28,0xa2,0x92,0x4d,0xf5,0xfc,0x00,0xd7,0xc2,0x80,0xd9,0x78,0x62,0xae,0x3a,0x67,0xa9,0x35,0xce,0x49,0x23,0x64,0x13,0x5e,0x65,0x9a,0xdb,0x5f,0xba,0xbe,0x68,0x98,0x16,0x59,0x1f,0x49,0xac,0x50,0x22,0xa3,0x87,0xcc,0x09,},"\x38\xd9\x3e\x5c\x98\x01\xdb\x90\x17\x97\xec\x75\xc6\xdd\xdc\x65\xae\x79\x80\xde\x21\x0b\xed\x43\xb3\x3e\xb4\x4c\xdc\x6d\xc9\x93\x3f\xb6\xbe\xc7\x42\x1d\xb1\x0f\x0a\x59\x32\x0b\x9e\x64\x2a\x21\xf1\xdd\x23\x56\x01\xfc\xd6\xc5\x3b\xe4\xa8\x77\xf4\xfe\xd3\xfa\x4a\x0a\xd4\xdc\x6e\x9b\x39\x1b\xcf\xa4\x34\x90\x69\x25\xba\x45\xec\xc5\xb4\x35\xd9\xab\x8c\xfa\xfc\x39\x4b\xdc\xca\x9b\x07\xd5\x66\x83\x93\x44\x6e\x34\x00\xe9\x03\x94\x35\xa1\xdc\x78\xcb\xc0\x88\x07\xa3\xfb\x24\xca\x8b\x19\xf6\x4e\xa0\x8b\x8b\xf6\xc2\x0a\x19\x5b\x51\xff\x80\x15\xf3\xe7\xc9\x1d\x08\xe4\xbc\x62\x41\x55\x95\xa5\xa8\x82\xfb\xa6\x51\xdc\x3a\x67\x51\x87\xaf\x61\x82\x49\x74\x7b\x46\x80\xd1\xd1\x5a\x20\x2e\xa9\xdf\x48\xb1\xc2\x14\xfd\x40\x34\x66\xfd\x1a\x26\x5f\x2d\xef\xaf\x8e\xd5\xa6\xbf\x0e\xb0\x8d\x18\x64\xf2\xa2\x8e\x94\x72\x14\x3c\x6f\xd1\x03\xb6\xb1\x08\xc0\xd1\xd1\x36\x3b\x99\xf9\x20\x2d\x11\xf0\x20\x56\xc2\x79\xcc\xa3\x15\xdb\x1a\xb6\xd3\x10\x18\x45\x8f\x57\xba\x33\x16\xcd\x27\x38\xe8\x0c\x49\x2d\x85\x7c\xb1\x74\x99\x25\xe3\x31\xc6\x58\x58\xb5\x09\x83\xcd\x98\x38\xcf\xd2\x18\x8a\x5e\x8f\x05\xb4\x71\xfd\x3c\xdd\xcd\x30\xd9\x69\x01\x19\x40\x20\xf1\x15\xfb\x46\x9a\xb5\x84\x90\x06\xdf\xfa\x2d\x54\x3a\x13\xb3\xb5\x06\xed\x65\xcc\x45\x75\x32\xb8\xaa\x3e\xe3\x1d\x9d\x8d\x9e\x52\x98\xd7\xac\x70\x7a\xc1\x5b\x82\x7a\x57\x8c\x81\xd4\x34\xf8\x4c\xb1\xb5\x61\x20\xd6\x67\xb2\xaf\xe6\xd1\x53\x0a\xfd\xdf\xb9\x66\xd9\x53\xbe\x7e\x32\xdf\x07\xde\x38\x9e\x2d\x04\xb2\x32\xd3\x51\x2c\x7d\xb9\x35\x8f\xc9\x44\xd1\xb1\x18\x07\x8e\x69\x99\xe8\x91\xbb\xfa\x4a\x43\x29\xf6\x5d\x80\x71\x88\xb5\x98\x58\xc4\x31\x21\x1b\x29\x57\x6f\x44\x96\x13\x8b\x7c\x0c\x12\x8f\x7b\xef\x5f\x79\xb0\xf4\x46\xfc\x6b\x4a\x0e\x20\xbc\xa4\xc4\x0a\x83\x57\x1a\x36\x64\x4a\xbf\xfa\xbd\x49\xcb\x58\x5f\xd0\x64\xc8\xe5\x09\xd9\xa0\xfc\xff\x46\x26\x76\xf0\xeb\xcb\x61\xce\xc6\x1e\x51\x2b\xe6\xf1\x82\xab\xd5\x9e\x09\xf6\x42\xaa\x61\x96\x34\x85\x34\x82\xec\xe8\xf8\x98\x00\xf9\xc5\xbc\xfb\x84\x14\x31\xca\x06\x91\xed\x8d\x80\xe0\xa2\xfc\xb7\x97\xa0\x36\x89\x7c\xfb\x65\x37\x58\x6b\x31\xc0\x0b\x79\x65\xef\xdd\xfd\xa7\x28\x61\x84\x50\x26\x45\x91\x57\xf7\x9e\xba\x1b\xca\xf6\xcd\x41\xd6\x18\xae\xb1\xbd\x8d\xa1\xbe\x98\xf0\xcd\xc7\xf2\xe0\x9b\x90\x3d\xe4\x9c\x0c\x1b\xe9\x1d\xcc\x17\x7b\x29\x80\x96\x83\x6d\xce\xa4\xf6\x01\xdd\x86\x69\x15\x55\x12\x83\x25\x43\x8b\xd9\xcc\xbf\xc0\xe7\x77\x92\x0a\xe8\xbb\xd5\x76\x34\xc6\x10\x4f\xe6\x9a\x3a\x72\x01\x2a\x23\x60\xb6\xe5\x52\x55\x0c\xff\xb4\xe2\xf0\xb4\x1f\xe1\x55\x37\xee\x0e\x6f\x37\xe7\x88\x0f\xb4\xd1\x2b\xef\x6c\xad\x26\x6c\xe5\x8d\xf9\x81\x6b\x35\x96\x0c\xd0\xbf\x86\x52\x86\x2e\xe7\x89\xcc\xc3\x1a\x7e\xfc\x21\xa8\x1b\xda\x46\x14\x6b\x11\x1f\xcf\xd9\x4f\x04\x85\x6a\xb6\x1a\x55\x7b\x1f\xf7\xc8\xe4\xea\x6d\x9c\x4b\xcd\xd9\x3b\x15\x1a\xa0\x84\x61\xc5\x68\xde\xfb\x2a\xef\xdf\xce\x96\x39\x4d\xc8\x22\xd4\xef\x6c\xc4\xb9\xa3\xe6\xc3\x32\x03\x9f\x65\x38\xaa\x0d\xf8\xde\x81\x26\xd9\x0c\x31\x2f\xf4\x96\x88\x74\x86\x11\x15\x65\x53\x43\x46\xa7\x46\x26\x25\xd6\x3d\xf6\x9f\xcb\x57\x41\x90\x6f\x19\xe0\x0f\xc8\x00\x3f\x08\xb9\x59\x85\xc3\x8b\x86\x74\xaf\x42\x3c\xa5\x6d\xe5\xf8\x81\xb5\x9c\x46\x62\x43\xa7\xad\xba\xdb\xa2\x9c\xaf\x57\xfa\x77\x71\x22\xe6\x18\x23\xb4\xe7\x08\x18\x2a\xaf\x37\x20\x6d\x7d\x5e\xd0\x51\xc1\x2a\x5c\x0f\x6b\x43\x71\x04\x3f\x56\x2c\xdc\x02\x9d\x5e\x1b\xa9\xb2\xbf\x5f\xfb\xf1\xf5\xf5\x23\xdb\x06\xfe\xca\x42\x7d\xb7\xa0\x88\x19\xff\xb2\xd0\x58\x52\x42\xe2\x0d\xa5\x8e\x32\x0b\x16\xb1\x6e\x44\x8d\x8b\xe0\xef\x74\x02\xd2\x4a\x71\x94\x25\x71\x33\xbd\xc9\x82\x31\x4d\x83\xad\xbc\xd1\x2e\x8a\xf3\x13\x03\x42\x6c\x59\xff\xd8\x26\x9c\xe4\xb9\x87\xca\x9b\x6f\x0f\xfd\xbb\x4d\x1d\x12"}, -{{0x07,0x36,0xf8,0x01,0x72,0x0a,0x94,0x7c,0x5c,0x2f,0x32,0x58,0xce,0x0d,0x51,0x1c,0x3e,0x17,0xe9,0x4e,0x37,0xb3,0x0a,0xdf,0xa5,0x20,0x95,0x92,0x11,0x71,0xd4,0x00,},{0x4f,0x69,0x42,0x55,0x92,0x0d,0x0c,0x38,0xde,0x6e,0x72,0xe1,0x65,0xc3,0x3a,0xee,0x76,0xb1,0xcb,0xf6,0xf4,0x83,0x7a,0xa5,0x90,0x14,0x75,0x66,0x7a,0xcd,0x28,0x26,},{0xc0,0x3c,0x03,0x14,0x85,0x12,0x79,0xed,0xcd,0xe9,0x70,0xc2,0x3e,0xfa,0x23,0x6f,0x23,0x5e,0xda,0x96,0x0d,0x2c,0x27,0xd3,0xca,0x94,0x6f,0x65,0x0c,0x20,0x0b,0x4e,0xba,0x04,0xbe,0x66,0x8f,0xf6,0x2e,0xaf,0xfa,0x6c,0xea,0x35,0x1a,0xbd,0xfc,0x54,0x40,0x1d,0xcc,0xce,0x3d,0xba,0x78,0x00,0x4a,0xec,0x95,0x81,0xa2,0xcc,0xf4,0x0f,},"\x7f\x87\xb5\x1f\x6e\xad\x2d\x44\x02\xa3\xbd\x3c\x37\x69\xa2\x67\xac\x8e\x82\xf7\x79\xad\x7b\x98\x6d\xec\x82\xcb\xfc\x1e\xa5\x12\x91\x88\x43\x26\xd9\x22\x69\x67\xcb\x66\xa9\x68\x73\x18\x4f\x0e\x83\xb3\xab\x25\xa5\xab\x2f\xa8\x05\xfe\x3a\x0e\x7b\x19\x0a\x62\x2d\x46\x1b\x78\x30\xa3\xf6\x97\xc8\x31\xc2\x9e\xa7\xc0\xcd\x4b\x68\xd8\xe7\x7a\xa6\x97\x11\xcf\x86\x4d\xc1\xd5\x39\x4f\x48\x45\xe2\xfb\xb5\x07\x64\x04\xe0\x9a\x88\xb7\x9f\x05\x67\x05\x51\xbc\xe2\xef\x54\x68\xb7\x9d\x57\x88\x8b\x98\x52\xa4\xbb\x47\x9a\x4f\xd0\xbe\xb6\x81\xfd\x52\x3f\xc5\xbf\x44\x58\xab\xbc\x38\xec\xe7\x2e\x10\x6e\x00\x22\x20\x15\xa5\x7e\xbe\xc5\x5b\xf4\x75\x13\xe2\x5c\x3c\x45\x54\x84\x3b\xda\xcb\xcf\xe9\xf1\xb8\xd0\xae\x35\x4e\x48\xd0\x3f\xde\xbd\xf2\x0d\x65\x5b\x52\x68\xd8\xbb\xbf\x33\xb1\x28\x89\x10\xf0\x44\x4f\xcd\x56\xc0\xda\x7b\x89\x03\x36\x2b\x7e\x37\xa8\x64\x65\x42\x77\xcf\xfb\xe6\xc6\x08\x57\xf0\xb3\x51\x4d\x22\xa4\x0b\x9d\xd2\xd3\xfe\x5c\xae\xa5\x50\x7a\x0d\xe3\x05\x1b\xb3\xa4\x01\x5f\xa0\xfe\x4c\x46\x2b\x98\xfe\xf2\x35\x7d\xcf\x6b\x97\xdc\x75\xde\xf3\x82\xf9\x01\xf9\x6f\x4a\x04\xa3\xef\xc6\x02\x54\x20\x0a\x2c\x4c\xdc\x8a\x58\xb2\x5d\x94\xe3\x29\x54\xea\xff\x15\x11\xac\x46\xe3\x60\x66\x63\xb6\x87\x5f\x13\x64\x99\xda\x6a\x76\x90\x97\x87\x9a\x6e\x08\x34\xd5\x64\xfa\x7f\xdb\x99\x58\x11\x83\xed\x0c\x9d\x48\xfd\x19\x5d\x7e\xcd\x9f\x4d\xd4\x86\x55\x65\xfd\x17\xa0\x08\x71\x8d\xcd\x76\xf6\x8a\x54\xe5\x16\xa2\xb7\x30\xed\x3d\xba\x5c\x2c\xf4\x06\x30\xbb\xfe\x7f\xa0\x3b\xb7\xcd\xd9\x67\x69\x54\x95\xa7\xc8\x6e\x2e\x84\xcb\x01\x7e\xc6\x96\x01\x92\x46\x31\x59\x5a\xff\xaa\x8c\xfd\x04\x8d\x14\x26\x7c\x73\xe5\x4c\xfa\x53\x90\x47\xe7\x17\x69\x1e\x39\x97\x37\xfa\x50\xcc\x48\x44\x96\x12\x57\xc9\x3d\x72\x53\xd2\x32\x26\xb7\xcd\x0d\x1b\xd3\x1f\x3f\x0d\x2d\x89\x2d\x07\x3d\x8c\x50\x73\xc6\x02\xf6\x1a\x04\xd6\x43\x7c\x39\x03\xeb\x4a\x64\xa0\x1f\xbc\xc0\xc7\xe1\x59\x20\x1c\xdc\x4a\xa4\x2e\xf3\xb1\xff\x9c\x78\xfc\x27\x5c\xfb\x11\xa0\x5f\xfe\xd8\xf9\xf2\x2d\x85\xba\x92\x4d\x8d\x32\x23\x1c\x25\x4d\x89\x8d\xa7\xf0\x67\x9a\x64\xca\xb8\x40\x26\x90\x6e\x9e\x85\xf9\x5e\xfd\x8e\xe2\xa1\x72\x56\x33\xf4\xde\x2b\xa6\x7d\x99\xaa\x7f\x05\x50\xaf\x13\x9e\x9f\x8c\x52\x93\x78\x67\x27\xd8\x26\x30\x29\x6d\x5d\xaa\x9e\x83\x0a\xa1\xb3\xb5\xb3\x02\xb8\xb6\x62\xac\x83\x2e\x92\x13\x01\x6b\xa4\x93\xa0\x3a\x28\xcc\x3e\x95\x40\xd0\xd6\x5a\xcd\xdb\xfe\x12\x52\xb5\xc1\x6a\x84\xa4\x45\xce\x75\x41\x5c\x6c\xd8\xab\x16\xfe\x5e\xef\x11\x70\x97\xd7\x1e\xb5\x67\x6b\x9a\x95\xb3\x58\x82\xa7\xc3\x50\x6b\xc5\xd0\x2f\x03\x91\x0a\x63\xd4\x68\x46\xb2\x13\xc3\xc9\xbb\x2f\xc3\x4e\x6c\x69\x01\x7d\x20\x65\xa1\xad\x3c\xe3\xfd\x14\xab\x00\x14\xf5\x84\xe5\x7e\xa9\xd9\x03\xe4\x0a\xce\xb2\x30\xa8\x69\x3f\xa2\xe6\x36\x41\xc2\x54\x38\xff\x7a\x16\x38\x76\x04\x38\x84\x4c\xdf\x00\x11\x80\xf5\xb1\x77\xbe\x69\xed\xf7\xef\x66\xb3\x93\x12\x80\x52\x14\xcb\x17\x70\x6c\xef\xe5\x45\xbe\x5a\x77\x01\x9a\x5e\xc5\x2b\xbf\x78\x85\x0f\xa3\xd9\x7d\xe2\xd4\xd7\x4a\xa6\x8b\x58\xca\x81\x2a\x1b\x15\x6a\x0c\x40\x01\x12\x9f\x06\x72\x32\xa6\xec\x91\xa5\xed\x42\x70\xf2\xa4\xc6\xef\xee\xe7\x87\x00\x47\x70\xc8\x59\xe4\x50\xe8\x37\xef\xb0\x4d\xc9\x98\xbd\x27\x3c\x27\xa0\x98\x55\xe4\xec\xa1\xa2\x2a\x9b\x88\xc1\x7b\xdb\xf2\x53\xa7\x97\x61\x07\x0a\x76\x81\x7a\x7f\x74\xff\x3f\x07\xfb\x71\x8b\xff\xa0\xb4\xf3\x26\xf2\x84\xe6\x2f\x83\x68\x32\x42\x7b\xe8\x2f\x48\x33\x73\x51\x5b\x9b\xf5\x9a\xf4\xa7\x6a\x57\xe2\xf4\x0b\x91\x03\x4d\xd5\x68\xec\x14\xac\x10\xe2\x30\x9b\x87\xe2\x92\x2f\x9c\xd9\xfc\x1a\x46\xa4\x7e\xd3\xbc\x7e\x1b\x9f\xeb\x9e\xe0\x67\x07\x3f\xa5\xdc\xe2\xa6\x75\x30\x52\x6d\xe6\x7e\xe0\xe5\x09\x66\x3c\x44\x46\x7e\xeb\x59\x42\x01\x03\xeb\xcd\xff\xa7\x09"}, -{{0xfa,0x75,0x65,0x04,0x91,0x04,0x74,0x28,0xd3,0x63,0xb5,0x82,0x22,0x22,0x12,0x2d,0xff,0xb5,0xa9,0xfd,0xdc,0x60,0x3c,0x33,0xc8,0xa6,0x08,0x61,0x83,0x75,0xdc,0xf3,},{0x98,0xc9,0x64,0x1f,0xa9,0xdf,0xa8,0xea,0x13,0xe0,0xd1,0xc7,0x16,0xb8,0x67,0x9e,0x26,0x4b,0xe1,0x5d,0xd2,0xd4,0xc0,0x6a,0xb4,0x3c,0xbe,0xe4,0x79,0x16,0xee,0x01,},{0x1e,0xff,0xbf,0x92,0x99,0xa1,0xb9,0x35,0x4f,0xe1,0xf1,0xde,0xc1,0x76,0x65,0x95,0xea,0x76,0x7a,0xb8,0xe4,0xda,0x9b,0xb5,0x7b,0x4f,0x69,0xbc,0xbd,0x8c,0xb3,0xd8,0x6f,0x76,0x83,0x92,0xf5,0x9b,0x39,0xfa,0xfa,0x8a,0x21,0x0a,0x65,0x09,0xfe,0x0d,0x60,0x08,0xd6,0x35,0x61,0x11,0xad,0xfb,0x37,0x99,0xc1,0xd5,0x59,0xc2,0x63,0x09,},"\xf5\x4e\x41\xb9\x39\xe3\x7d\xf1\x7c\x7d\x60\x43\xfd\xed\x14\xa9\x15\xd9\x34\xe8\x67\xc3\x45\x26\x9f\xdc\x01\x77\xf5\xbd\x10\xc4\x34\x8f\x31\x9e\x0a\xb9\xa6\x4c\xc0\xb7\xd4\xe0\xc9\x1c\xa9\xaa\xda\xab\x2e\xdc\xba\x54\x4f\x14\xed\x2c\xb5\x39\xca\x89\x75\x09\x7d\x87\x92\x70\x95\xb4\xeb\xd4\x90\x34\x43\x40\x06\x1e\xd9\x3c\x38\x16\x7e\xda\xa0\x96\xa2\x30\xdb\x59\x62\x4c\x67\xfb\x9a\x1e\x1d\xda\xc4\x02\x13\x3f\x4d\x47\xcf\xc1\x1e\x2f\xae\x6b\x3f\x3c\x50\x01\xcb\xa9\xa8\xae\xd9\x00\x73\x10\x32\x40\x22\x7e\x71\x6f\xf7\x1b\xf6\x8a\x59\x1b\xa2\xce\xff\x2d\x31\xb8\x6e\xf2\x1a\xb0\x12\xec\xcd\x40\x9a\xd5\xc2\x9d\x65\x9a\x1b\x37\xc4\xd8\x55\x05\x30\x41\x40\xfb\x2c\x34\x37\xa2\x06\x86\x8b\x13\x52\xc1\x02\xbb\xfa\x3b\x9a\x76\x52\x2a\x2b\xfc\x54\x06\xb2\x57\x69\x6d\xe7\x4e\xe7\xd3\x15\xc8\xe9\x9c\xaa\x96\xbd\x83\x80\x06\xc6\xda\x2a\x42\x33\x31\x5a\x85\x6a\xcb\x8e\x80\xc3\x31\x68\xb3\x33\x55\x1d\x91\xd0\x74\x05\x57\x34\x13\x0b\xd7\xd1\x4c\x56\x81\x1e\xba\xbf\x7d\x5a\x25\x0e\x60\x72\x59\x3d\x9f\x2f\x8b\x97\xc1\x2a\x70\x3c\x2c\x47\x9c\xb0\xb1\x5b\x7a\x27\x75\xc9\xdc\xd2\xca\x46\x24\x67\x23\x68\xa2\xe6\x14\x54\x67\xf3\xbe\x66\x15\xf9\x3b\x81\x20\xa0\xa1\x2d\xa1\x56\x06\x63\xa2\x6a\x61\x73\x19\x66\xb4\x4b\x29\x9e\xbf\xad\x2a\x95\xc6\x23\x60\xf3\x9c\xe0\x5d\x95\x58\xe3\x05\xee\x23\xa5\x2f\xa5\xce\x20\xf6\xbe\x5e\x26\x2a\xff\x3a\x86\x4d\x5d\xda\xbe\x23\xff\x94\x3f\x71\xd5\x99\x84\x93\xd9\x9f\xe2\xac\x23\x74\xb4\x64\xa6\x91\x83\xc3\xbc\x4f\x1d\xdb\x88\x36\x11\x14\x9d\x7d\xdb\xf1\xe8\x38\x0b\x54\x43\x35\xe2\xb8\x93\x95\x05\x4c\x9f\x25\x58\xdf\xc5\x6e\xa9\x3f\xf1\x4d\x0f\x15\xd2\xe0\xbd\x89\x37\xa5\x56\x38\x7d\xe9\x6e\x41\x8d\x8b\x3a\x7d\x66\x6f\xb1\x90\x36\x4b\x2c\x21\x90\xd3\xc2\x5f\x17\x52\xd5\x48\x3d\xcb\xb5\x96\x00\x64\xf0\xc8\x7f\xcf\x8f\x31\x3d\x28\x78\x1c\x11\x4a\x16\x9b\x69\x0a\x87\x01\xc5\x0d\x89\xc7\x73\x24\x53\x1c\x0f\x84\x9d\xba\xd1\x63\x3d\x92\x5a\xcd\x06\xc1\x6a\x9c\xea\x19\xa4\x34\xeb\xc4\x2a\xeb\xb1\xfd\xb9\xb0\xba\xcc\x93\xce\xc3\x99\x19\x94\x36\x64\xea\x1a\x95\x84\x06\xff\x9e\x49\x35\xc9\x2c\xa7\xc3\x97\x08\xf9\xca\xb7\x10\xa5\x83\x09\x6b\x4e\xd9\xf4\x8d\x9e\x09\x06\x47\x24\x0d\x76\xec\xcb\xab\xa5\x91\xf5\x5f\xe7\xe3\x6d\x72\xc2\x17\x27\xac\xba\x0f\x80\x30\x95\x4e\x62\xbc\x58\x0b\x8b\x67\x0c\x44\x57\xc3\x40\x3e\x36\x9a\xc2\x0e\x66\x0d\x66\x2f\x7f\x6a\x41\x42\x13\xea\x43\xf7\xc0\x10\x50\x09\xc1\xde\x81\x7a\xdf\x6f\xfd\x9c\xca\x3b\x45\xa6\x3a\x82\x22\x81\xc6\xe2\x77\x2f\xd7\xb7\x80\x96\x03\x18\x4b\x48\x79\xb1\x8c\x88\x79\x03\xf0\xfc\x8d\x8e\x1e\x2d\xbf\x6e\x77\x2f\x0b\x2d\x9b\x8a\x29\x92\x7a\xcc\x81\x71\x4a\x22\x56\xad\x8d\x7b\x73\x30\x52\x7d\x7d\xbf\x8b\xef\xd8\x2f\x8c\x9b\xb4\x01\xcf\x0a\x90\x24\x9a\x64\xca\x6f\x88\x33\xdb\x31\xbd\x03\xb9\xe7\x94\x6d\x06\xdd\x04\x38\x3d\x7c\x08\x2d\x70\xae\xb3\x7f\xf8\x4c\x2b\x05\x7d\x97\x3b\x89\x4b\x4a\x03\xec\x7b\xf0\x31\xae\xa6\x56\xa1\x90\x84\x88\x89\x4a\x4a\xda\x3f\xd7\xfa\xdf\x91\xed\xe9\x55\x0d\x38\x41\x5f\x82\xa0\x94\x55\xc0\xf4\x32\xfb\x55\x98\x71\x32\xf0\x00\x42\xaf\xd6\x0e\xa5\x1d\x1f\x1c\x6c\x1a\xfe\x0c\xf8\x7c\x34\x6e\x31\xe6\x3e\x26\xf4\x9b\x13\x71\x77\xb2\xd4\x7a\xb3\x0f\x07\xce\xa0\x71\x93\x12\x74\xcf\x01\x08\x36\xd6\x83\xff\xf3\xbe\x71\x34\xc7\x8b\x8b\xfd\x8b\x1b\x8f\xc2\x04\x9e\x18\xcc\xb1\xe1\x8a\x0a\x95\x85\xa7\xd8\xa1\xe2\x54\x92\x60\x86\x68\xc9\x6d\x62\xa0\xac\xa8\xef\x90\xe0\x48\xd2\x03\x78\xc1\x08\xd0\x6b\x03\xfe\x3e\xc4\xad\xb2\x75\x28\xae\x08\xf7\xde\xd9\x48\x78\x93\xae\x64\xca\x4b\x93\x92\x02\xaa\x4c\x17\xaf\xe7\x18\xcd\xca\x49\xff\x96\x16\xd0\xcd\xf8\x33\x4b\x6a\xee\x2d\x6d\x20\x94\x7c\xa4\xbd\x7d\xf5\x31\xdd\x1d\xa9\x95\x81\xff\x72\xea\x56\xfe\x62\xca\xa2\xc9\x5e\x35\x87"}, -{{0xe1,0xc1,0x29,0x46,0xd2,0x21,0xa1,0x94,0xf2,0x2f,0x27,0x62,0xc0,0xe5,0x1c,0xbe,0x3f,0x98,0xb9,0x14,0xa4,0x7d,0x3d,0xc4,0x1a,0x1f,0x45,0xc5,0x43,0x70,0x63,0x7c,},{0x10,0x40,0x81,0x36,0xa6,0x8f,0xc5,0x6c,0x7d,0x3b,0x36,0xb7,0xfe,0xf1,0x22,0x09,0x4d,0xe0,0x81,0x03,0x11,0x89,0xcc,0x84,0xa4,0x88,0x06,0xaa,0xf6,0xcb,0x91,0x85,},{0x8f,0xd7,0xfa,0x40,0x0c,0x03,0x2f,0xcf,0xbc,0x40,0x29,0x42,0xfc,0x78,0x63,0x75,0x26,0xbe,0x97,0xab,0x82,0xf2,0x37,0xbb,0x39,0x3e,0xa3,0x9e,0x35,0x73,0x8c,0x67,0xd7,0x54,0x09,0x54,0x3a,0x8b,0x3c,0x05,0x5f,0x08,0xbf,0x69,0x19,0x9a,0xf6,0x3b,0x69,0x11,0xa4,0x82,0xfb,0x4f,0x65,0x80,0x80,0x2e,0xc9,0xd2,0xdc,0x3c,0x11,0x06,},"\x87\x0f\x4c\xd9\x7c\xfc\x0a\xaf\xad\xa4\x00\x72\x31\x2f\xb5\x4b\xcc\xc0\x76\x28\x71\x4e\x49\x62\xd4\xbe\xf4\xee\xb5\xde\x40\xa1\x9a\x24\x6b\x5b\x7d\x52\xd4\x87\xb7\xe5\x2d\x65\x6f\x2c\x64\x03\xb9\x16\xd0\x2e\x02\xa6\xd2\x91\xc1\xe1\x82\x8d\xd9\x45\xa5\x83\xb4\x38\x52\x8d\x1c\x39\x76\x5a\x57\x20\x31\xff\xa9\x16\xb6\x83\x21\xf3\x2e\x66\x46\xf0\xdc\xc1\xc6\x02\x35\xff\xaa\x32\x35\xf4\x84\xa5\xc4\x97\x8f\xa3\xe6\xbf\x14\x30\x1d\x53\xe1\x2f\x4c\xc5\x21\x18\xb1\xf6\xf0\x7f\x53\x36\xf5\xd0\xa9\x37\x89\xbb\x01\xd1\x62\xfb\x31\x26\xdc\xd7\x56\xe0\x64\x2e\x7e\x69\x89\x63\xc0\x34\x59\x11\xa5\xcf\x3c\x99\x53\xf7\x73\x19\x42\x6c\xea\x2c\xde\xda\x3e\xfe\x98\x9e\xcb\x63\xcb\x9e\xb8\xb9\x20\xde\x76\x6c\x4f\xcf\x63\x36\xe5\xbc\x43\x71\xa0\x68\x37\x1f\xed\x95\xc8\xc2\xb6\x1e\xe9\xb7\xc3\xe3\x83\x1c\x20\xbf\xfe\x87\x07\xc0\xc9\x8b\xe9\x61\x53\xc8\xa8\x73\xd7\xf2\x8a\xfc\xa1\xbf\x71\x08\x5c\xe0\xe3\x89\x9e\xef\x55\x91\xbd\xd6\x66\xdc\x2d\x07\x64\x17\x72\xd7\x45\xc5\x16\x44\xa2\x60\x81\x5b\x20\x8c\x4d\xd3\x05\xf0\x5f\xe4\x63\xd0\xd9\xd5\xa9\xee\xff\x97\x79\xf5\xb1\xd4\x4f\x26\x08\x30\x78\x56\x6d\x0e\x5f\xf5\x6b\x3a\xf0\xe6\x4c\xc3\x87\x08\xaf\x5a\x65\xf6\x54\x35\x2d\xf1\x04\x37\xf1\xdd\xf9\x45\xa0\xda\x1f\x4d\xef\x6a\x71\xa0\x60\xe0\xc4\xad\xec\xca\xac\xf8\x5e\x09\x0f\x70\x90\x37\x0a\xe2\x4e\x52\x38\xd7\x68\xa0\x8f\xe6\xb4\xbb\x5e\xc4\x97\xa6\x60\x31\x98\x60\x84\x15\xc7\xc6\x49\x00\x48\xaa\x36\x73\x7c\x08\x50\x30\x08\xae\xce\x0f\x49\x42\x19\xdd\xf8\x9b\x72\xea\x77\x17\x1c\x6d\x31\x17\x08\x9e\xb8\x89\x07\xe8\xc3\x3f\xb9\xe7\x0b\x0d\xc2\x81\xf6\x64\xb5\xf9\x65\xb5\xd2\xad\xb1\x25\x07\x10\xef\x23\x52\x02\x5f\xb2\x93\x39\x5a\xe1\xd2\x3e\xe3\xb5\x92\xb4\xc5\xf2\xd5\x55\x69\xa5\x45\x86\x54\xce\x3f\xc2\x5d\xd0\xe3\xf7\xe6\x75\x7a\xa7\xb3\x47\xc1\xff\xd3\xba\x4d\x4f\x2c\x4b\x6d\x36\xaf\xd5\x98\x63\xa3\x2a\x59\x4e\x74\x53\x7e\xce\x9b\x8b\x1e\xc2\x69\xbb\xc4\xcb\x54\xd7\x62\x38\x21\x1f\x62\xa9\x8a\x46\xa4\xaf\x66\x2f\xa8\x1e\xba\x6f\x30\xf5\x14\xb8\x66\xb7\x94\x2b\xc1\x73\xf7\x21\x1a\x6c\x01\x4d\xa1\x4e\x74\x13\x27\xa5\x68\x62\x3d\x14\xb8\xf8\x35\xef\x1d\x5d\x62\xb2\x52\x3c\xfe\x6a\x85\xbc\x69\xfa\x05\x20\x0d\xea\xc1\x56\x8b\x94\x6a\x81\x6b\x75\xc5\xd7\x60\x31\x74\xfd\x4e\x2f\x91\x01\xa7\x90\x63\x79\x1b\xc3\xd5\x92\x97\xcd\xc1\x0b\xda\xa6\x63\xab\xf3\xc1\xbe\x2f\xda\x17\xe4\xe5\xce\x39\x4e\x90\xbd\x76\xb1\xf9\xe0\x40\x5f\x56\x75\xb9\x9d\x63\x8a\xbc\x2c\x1b\x2d\x8b\x53\xa6\xfd\x3d\xc8\x37\x58\x55\xec\x54\xcc\xbd\xa2\x4e\x67\x25\x27\x72\x3b\x07\xbb\x59\x9d\xb5\x4e\x38\x79\x33\x91\xcf\x09\xef\x3b\x1f\xd7\x61\x49\x90\x06\x5b\xbd\x4a\x19\xe8\xd3\xd1\x04\x82\x53\xba\x4c\x97\x1c\x2f\x98\xd2\xb3\x59\xdf\x50\x90\x87\x32\x3a\xa6\x90\x50\x29\xf5\xcc\x5e\x1a\x0a\xaf\x2f\x7c\x01\x08\xdd\xb1\xa4\x0f\x56\x2b\xe6\x4e\x57\xe6\x95\xed\x21\xdc\x7d\xb1\x7d\x53\x36\x77\xef\x12\xfc\xbb\xe2\x9f\x3b\x23\x7b\xb6\x34\x4b\x11\x09\xb3\x2a\x94\x62\xab\xc3\xad\x3c\x07\x10\xb0\x4f\x38\xc6\xf5\x95\x2d\xb2\x75\xe7\x7e\x2f\x37\xe9\x5d\x55\x09\x6b\xba\xf3\xe3\x05\xd5\xd7\x43\xd3\x65\x95\xbf\x05\x67\x89\x2c\x21\x0a\xc7\xba\xe7\x37\x1d\x16\x45\x84\x78\x5d\xd8\x90\x17\x41\x59\xb3\x93\x0a\x9a\x6c\xe3\xa1\x66\xdd\xa2\x38\x3e\x6e\x2a\xf2\x8c\x1b\xf3\x19\x24\x47\xe9\x05\x11\xdc\xd8\x0e\xbd\xf9\xee\x2c\x9b\xde\xdd\xee\xb6\x10\x55\x86\x41\x53\x2d\x07\xcd\x13\xda\x61\x25\x41\x54\xcc\x0f\xd9\xd4\x81\xe3\xb0\xa2\x37\xaf\x2e\xc2\x62\x56\xd4\xab\x21\x9f\xaf\x15\xad\x2b\x7e\x8e\x57\xab\x72\x6f\xf2\x72\x32\x16\xa5\x74\x58\x5e\x2a\x63\x9d\x94\x8c\x2c\x4f\x69\xee\xaa\xd2\x83\xe3\xa4\x4f\xf2\x68\xea\xef\xd7\xe6\x6b\x73\xed\xe4\x73\xa8\x39\x7c\x76\xb4\x8d\x56\xcb\x3c\xcd\xab\xc9\x1a\x89\x29\xcf\x42\x99\x83\x50\xe0"}, -{{0x76,0x2f,0x06,0xca,0x01,0xe3,0x14,0x71,0x5f,0x92,0xc9,0x0b,0xbe,0x72,0xa2,0x5b,0xf2,0x62,0x12,0xc8,0x1e,0xb1,0xd1,0xa0,0xda,0xe2,0xc3,0x11,0x30,0xf7,0xcd,0xbb,},{0xf9,0x62,0x6f,0xfd,0x69,0x27,0x31,0x92,0x5e,0x5a,0xac,0xfa,0x1b,0xde,0xd0,0x1a,0xa8,0xf7,0x30,0xb7,0x72,0xd5,0xe4,0x6a,0xdb,0xc3,0x15,0x56,0x5b,0x9b,0xf2,0xc9,},{0xe8,0x42,0xb4,0x9e,0x53,0x3d,0xbc,0x92,0x99,0x8d,0xc0,0x78,0xe5,0x97,0x93,0xa2,0xc2,0xfa,0x63,0x6b,0xdf,0xaf,0xdb,0x48,0x93,0x4c,0x93,0xcf,0x34,0x79,0x71,0x02,0x93,0x8d,0x13,0x7a,0xb7,0xea,0xd1,0xa0,0xf7,0x0e,0x94,0xa6,0x7d,0x57,0xef,0x6a,0x02,0xc9,0xec,0x77,0xd7,0x1f,0x70,0xcc,0x57,0xf1,0x53,0x3b,0xec,0x87,0x73,0x0e,},"\x94\x97\x48\x3a\x4f\xba\x78\x43\x3b\x38\xe9\xde\xb8\x91\x5c\x75\x0b\x6d\xa0\xf7\x8a\xf4\xa6\x8b\x62\xf9\xfc\x03\x91\xe3\x38\x87\x3b\x1d\x64\xb1\xb7\xf0\x9f\x12\xf0\x56\xa3\xc9\x16\x53\x49\x8a\xd5\x6e\x06\x9b\x8b\x16\x08\x87\xe8\xe3\x78\xa7\x6d\x8b\x3c\x66\x70\x83\xc0\xa2\xb2\xd2\x31\x7d\x3b\x87\x48\x57\xe5\x78\x62\xef\x0c\xb7\x04\x36\xa9\x02\x8f\x01\x91\xcc\xc6\x16\xe9\xd7\xc9\xbd\x86\x98\x08\xcf\x09\x48\x35\xff\x51\x86\x77\xb3\xfb\x08\x9f\x4c\x9d\x07\x7c\xc7\x74\x24\x05\xb4\x86\x3a\xc7\xa5\x96\x45\xc9\xcf\x54\x0d\x57\x39\x9d\xa6\xae\x9d\x07\xfd\x19\xfc\xa9\x5b\xc8\xa8\x6d\x8b\x8e\x24\xe4\x87\x33\xf3\x21\x58\xfd\x19\xa8\xa1\x11\x1d\x1d\xa1\xf9\xb5\x80\xa3\x9c\x10\x48\x46\x16\xcf\x2b\xc0\xec\x29\xf6\x3f\x77\xc8\x53\x56\x15\x8e\x16\xda\x59\x4b\x5a\x89\x0e\x55\xd0\xb6\x45\x99\xb3\x02\x93\xe9\x00\xed\x92\xad\x26\x19\x69\xe7\xdf\x4c\x4b\x1d\x0b\x60\x24\xbd\xce\xb6\x90\x67\xef\x48\x6c\x20\xfd\xcd\x22\xa1\x0d\x5d\xa4\x5f\xbf\x90\x5b\xa1\xe9\x35\xc9\x6f\x50\xaf\xb6\x35\x71\xbc\xff\x31\x30\x68\x4e\xda\x0b\x56\xe6\x0b\x26\xcf\x4c\x0e\xf9\x93\x8a\x92\x76\x8f\xc8\x63\x1f\xe3\x08\x23\x6b\x01\x2f\x92\xaf\x24\xa8\xf6\xe6\xec\xbe\x76\x62\x9b\xba\xf8\xff\xe5\x4c\xdb\xe8\x67\x1d\xe2\xba\x62\x4a\x7c\x0f\x61\x93\xbb\xa4\x11\x04\x12\x90\x2b\xac\x29\x90\x92\x2a\x9e\x5a\x81\x05\x3c\xf8\x76\xa4\xc8\x05\xa0\x4c\x56\xa8\x13\x9d\x34\x19\xe4\x54\xa6\x22\xd0\x34\x2b\xf4\x26\xe9\x80\x2c\x3d\xc1\xb4\x08\x0c\x75\x49\x2a\xfe\x9d\x7b\x15\x45\xfe\x08\x6d\x96\x35\x41\x32\x4f\xf5\x2a\x48\xc6\xbf\xae\xa2\x66\x68\xb3\xe0\x1e\x52\x36\xfd\x45\xfe\x54\x59\x45\x35\xc0\xb2\x3e\x28\x7e\xbd\x14\x28\xc8\xbe\x0a\xd1\x41\x60\x0e\x91\xcb\x51\xe1\xea\x66\x27\x1a\x64\x21\xfb\x68\x9e\x88\xa0\x79\x0a\x65\x1d\xbd\x21\xee\x20\x89\xb2\x74\x66\x6f\x66\x0c\xa0\x9c\xe2\xd6\x0e\x39\xe2\xee\x5f\x03\xb6\xeb\x82\xd1\x99\x76\x96\x6e\x79\x90\x0a\x81\x0f\x6d\x5b\x5c\x1a\x54\x8e\x50\x64\xf5\xc3\xd8\xa9\xf2\xde\xf0\x17\x9d\xf9\x9d\x14\x3f\xde\x69\xb0\x71\x2c\x09\x1c\x29\xe9\xb2\x5f\x40\xca\xfd\x57\xa0\x24\x65\x8d\x77\x74\x03\x76\x10\x34\x2f\x38\x00\xfd\x51\xf4\x9e\x79\xa5\xb3\xde\xcc\x11\x2f\x58\xd0\x3e\x3d\x29\x58\x75\x85\x88\xbc\x4b\x1c\x6a\x6c\xda\x7b\xc5\xf5\xbe\x18\x3e\x41\x51\x3c\x1f\x23\x0f\x3c\xc3\x64\x30\x4b\xf8\x24\x84\xb7\xcf\x19\xa0\x02\xe1\x50\xf9\x8c\x5e\x97\xc6\x16\x6e\xa1\x5b\x86\x34\x0b\x8c\x5e\xbe\x5c\x1a\x18\x3e\x55\x88\xe6\x6f\x55\x90\x50\x86\x31\x3f\x37\xa4\x09\xe8\x9b\x47\xdb\x31\xae\x97\x45\x3e\xdf\x69\xfe\xd7\xbe\x08\x11\x30\x71\xf3\x74\xb2\x6e\xc6\x04\x3f\x2a\x0e\x9c\xf8\xba\xd8\x02\xab\xad\x69\xe6\x17\xe7\x62\x43\xb3\xcc\x03\x4b\x09\x9d\x87\x29\xee\x40\x7a\x53\xeb\x03\xbd\xc6\x41\x0a\x03\x95\x04\xb3\xb1\x2c\x81\x9b\x64\x54\x5d\x40\x5c\x6a\x4f\x08\x49\x21\x93\x5b\xdf\xf4\x13\x0a\xe6\x29\xd9\x09\x62\x6b\x06\x26\x76\xe5\x38\xea\xfd\xff\xb1\xd6\x22\x9c\x08\x89\xd3\xcd\xdd\x33\x65\xdc\x3d\x65\x36\xf7\x24\x8c\x49\x31\x7c\xb5\x0c\x56\xfb\x57\x85\x55\x41\xd6\xfe\xeb\xac\x81\x6c\x99\x28\xfa\x66\x2d\x0a\xe8\x0a\x0f\x39\xe5\x70\xbb\x7d\x22\x41\x6f\x98\xf3\x71\xb6\x42\x47\x96\x89\x51\xa8\xa2\x46\xf7\x4b\x30\x61\x74\x3c\x9a\xf7\x68\x4b\xbb\x96\x6a\xe0\xbd\x78\xa8\x10\x49\x3e\xa4\xcc\xd7\x11\x74\x87\x1c\x82\xbb\x65\x2b\x27\x48\xe5\xbc\xcb\x0a\xb6\x38\x8a\x50\xf0\x53\xa0\x48\x08\x7f\xd9\x7e\xb1\x5c\x1a\x21\xb1\xee\x18\x25\xe5\x4a\xa1\x30\xd6\x63\x18\xaa\xf6\x61\xbb\xb2\x47\x63\x57\x7e\xb3\x7d\x31\x0e\x21\x9b\x0a\x9b\xba\x03\x75\xeb\x9c\x9b\x4a\xf8\xc4\xb9\x9a\x36\x99\xe0\xd3\x26\x67\x33\xb6\xe4\xe9\xc5\x34\x49\x0a\x13\x41\xcb\x19\x90\xca\x5b\x1c\x84\x7b\xc8\x12\x60\x26\xfe\xa9\x03\xa1\xf5\x49\xd6\x5a\xf8\xfe\x02\xa9\x16\x3f\xf8\xea\x28\x1e\x72\x26\x24\x3e\x2a\x15\x3b\x92\x18\x51\xde\x10\xf7"}, -{{0xc5,0xcc,0x0b,0x95,0x81,0x8c,0x4b,0xf3,0x8d,0xa1,0xd6,0x5f,0x02,0x16,0x27,0xe9,0xe5,0x7d,0x26,0x2b,0x02,0xec,0x6d,0x91,0x7a,0x7d,0x46,0xb1,0x1c,0x7f,0xe4,0x8a,},{0x45,0x7d,0xa4,0xef,0x14,0x51,0x9d,0x54,0x1e,0xdf,0x92,0xca,0xbe,0xd9,0xb0,0x4d,0x8a,0x2f,0x2a,0xfd,0x15,0x10,0xa9,0x2f,0x00,0x9b,0xb4,0xe8,0x75,0x4f,0x1e,0xba,},{0x3b,0xa0,0xaf,0x8a,0xf1,0x27,0xc4,0x58,0x48,0x26,0x09,0x0e,0xcd,0xaf,0x48,0x5e,0xbd,0xf0,0x7b,0x82,0xbc,0x49,0x9c,0x9a,0x2b,0xef,0xca,0x28,0xd4,0x93,0x44,0x97,0x4a,0xdd,0xbc,0x8d,0x80,0xa5,0x25,0x60,0xe0,0xf3,0xd7,0x3f,0xf5,0xcc,0xcc,0x72,0xc7,0x4b,0x5b,0x47,0xad,0x2e,0x6d,0xe9,0x61,0x2d,0x1a,0x00,0xae,0xc9,0x27,0x01,},"\xd6\x60\x8b\xf5\xac\x00\x0e\xca\xf9\x5f\xc0\x9f\x9c\xb7\x49\x8c\x51\x8a\x6e\x02\x55\x58\x6e\x63\x37\x85\x3b\x1d\x7d\x9d\x7d\xe4\xdf\xe1\x24\x5d\x59\x03\x1a\x31\x7d\x4e\x2b\x6a\x73\xc4\xc3\xf9\x5b\x58\x2e\x72\xa6\x42\x02\x21\x58\x7b\xac\x12\x0f\xb8\xed\x73\x48\x07\x0f\x28\x60\xd8\x58\x66\xa0\x9f\xe7\x56\x74\x34\x97\xf2\x11\x9b\xc1\xbf\xdf\x57\x3b\xe3\x5d\x10\x91\xbe\x37\xf1\x8b\xcd\xa6\x74\x1c\x90\xd5\x66\xcc\x92\x4b\x72\x16\x4b\x74\x9a\xf9\xa6\xf4\x0f\x71\xd3\xea\x5d\x87\x64\xcd\xc8\x17\x14\xbd\x73\x95\xe5\xf6\x79\x97\x36\x36\xef\xf1\xdb\x1c\xf0\x01\x29\x83\xf7\x1a\x2f\x2b\x12\xd4\x5a\x29\x4e\x5a\x38\x9f\x4c\xd2\x48\x3e\xb3\x9d\xa0\xdf\x26\xb7\x36\xc7\xaf\x6e\x41\xdd\x35\xa7\x8e\x45\x29\x2c\x39\x4e\x34\x68\x95\x32\x88\x87\x21\xf8\x63\xc5\x6d\xb9\x7d\xa1\xcd\x10\xa6\x6a\x20\xa6\x70\xb2\x7f\xe8\xce\x55\x68\xa4\x2b\x89\x37\x79\x0c\x7b\xe1\xaa\x42\x0d\x20\x3d\x7a\x88\x5c\x17\x29\xcd\x6b\x8e\x19\x71\x89\xe4\x79\xd5\x42\xcb\xcb\x9b\x53\x65\x6f\x2b\x9f\x53\x9c\x32\x5c\x34\xaa\x59\x8f\xd9\x1e\x7d\xf7\x0f\x9a\x74\xab\xec\x46\x76\x54\xb1\xc9\xa3\xd1\x44\x38\xe7\xc0\x83\x60\x40\xb7\x93\x87\x1e\xcb\xe9\xe5\xf6\x68\x0c\xcc\xcd\x5d\x46\x96\xa8\x7e\x37\xe8\x9e\xab\x28\xb6\xbd\x67\x9e\x8f\xe1\x62\x7b\xdc\x9d\x37\x3b\x82\xf5\x2c\xd8\xc4\x9b\xe9\xba\xcd\xc6\x30\xa3\x2f\xd1\x28\x35\x25\x5a\x54\x2f\xb7\xb1\x23\x93\x77\x9d\x44\x98\xaa\x06\xa0\xe7\xe1\xa4\x97\x79\x39\x81\x7e\xb2\x08\x8a\xf1\xe1\x9b\xb0\xe5\xac\xa8\x54\xc1\x25\xdc\x60\x3d\x83\x57\x36\xa0\x3d\x93\x80\x51\x53\x0c\x9a\xb1\xaa\x3b\xc7\x79\xb3\xba\xe7\x45\x0e\xf5\x7d\x1b\x3f\xc0\x93\xa3\x7d\xbe\x9d\x1b\xd6\xd0\x40\xf2\xf8\xee\xba\x77\xf7\xfa\x88\xc1\x49\xf0\x65\xc7\xac\xe3\x32\x77\xaa\x99\x69\xc2\x66\xea\x6d\x85\xca\xd6\x2c\xfa\xf5\x50\x8e\x70\x32\x71\x6b\xe6\x84\xa2\x28\x56\x41\x3e\x0e\x65\xe4\x2b\x6e\x9e\x6d\x86\x5a\x87\x36\x3c\xbb\x62\xd5\xbb\xb6\xa3\x73\x1d\xdd\xa0\xfa\x6a\xd0\x29\x3a\xf9\x89\x3c\x09\xa9\xe7\x43\x09\x0f\x2c\xee\x2f\x44\x37\x73\x6d\xd4\x33\xe2\xac\x74\x28\xbd\xc8\xc7\x7c\xb9\x96\x43\x55\xfa\x44\x15\xcc\x38\x31\xd8\xc7\xca\x5a\xf9\x3d\x51\x75\x2e\x71\x8c\x60\x66\xec\xa1\x42\x6a\x87\xc2\x98\x08\x28\x1a\x85\xac\x7e\x0b\x40\x44\xff\x6e\x28\x0e\x28\x01\x4b\x93\x83\xd1\x9c\x9d\x38\x7d\x29\xdc\x14\xde\x43\x3d\xa2\x60\x78\x4a\x49\x44\xca\x76\xc2\xfe\x8a\x08\x0d\x09\x96\xd9\xa6\xc2\xa3\xd3\xa7\x07\x72\x80\xed\xce\xe0\x38\x9a\xa8\xe5\x36\x5d\x1d\x9b\x34\x6e\xca\x09\x47\xb0\xff\x52\x65\x94\x3c\xcf\x09\x93\x9a\x4b\x4a\x8f\x98\x5f\x6a\x5e\x72\x72\x3c\x79\x5d\xa0\xbc\x36\x0d\xce\x50\x1f\x67\x3a\xb6\xea\x84\x43\xf1\x29\x42\x79\x52\x45\x3e\xb7\x2b\x3a\x8d\x0d\x97\x6c\x27\x8c\x5b\xd1\xa9\x85\x3c\x91\x8e\x0c\x24\x0c\x3c\x73\x49\x32\x95\x3f\xdb\x50\x39\xfb\xb0\x46\x87\x93\x7c\x9f\xf0\xab\x74\xa1\x6e\xae\x21\x2b\xc6\xf2\x0e\x70\x0a\x77\xc0\x92\xd2\x3d\x2e\xfb\x58\x0e\x0c\x19\xd6\x5f\x30\x41\x29\xab\x8e\x6c\xc1\x2e\x58\x05\x22\x57\xba\x09\x44\x9f\x30\xd3\xd9\x74\x39\x1a\xff\xf5\x63\x3d\xef\x2f\x5c\x4e\xbd\x57\x3a\x9e\x44\x4b\xf3\xa3\xdd\xac\xed\xf0\x2c\x05\xf3\xcc\x2e\x75\x06\x64\xa8\x4a\x1d\x24\xc5\xd2\x8b\x49\x67\x0d\xe8\xa2\xf2\x09\x08\x39\x48\x3c\xa3\x89\x59\x99\x1a\x7d\x37\x27\xe2\x1a\x15\xe8\x20\x16\xc1\x5a\x09\xee\x71\xf4\xf4\x3c\x0a\x60\x8b\x48\x48\x5c\x99\x34\xa3\x86\x14\x79\x4d\x62\x91\xda\xa3\x9c\x01\xc4\x5d\x3d\xeb\xe5\x79\xb5\x82\x3b\xf3\x40\x64\x04\xb4\xc8\x0e\xe6\xff\x34\x2b\x46\xb3\x34\xb0\xb8\x83\xb4\x0b\xfd\x2f\x9a\x53\x59\x5a\xb6\x2f\xd1\x35\x1e\xbc\x88\x30\x83\x70\x49\x72\x18\xdf\xc9\x8c\xe0\x81\x40\x7d\xa8\x12\xa4\x6d\x64\x97\xd7\xaf\x9e\xc6\xd8\x3e\x1c\x60\xee\xb7\x12\xd8\x89\xdf\xbe\xd0\xc8\x05\xaa\x11\xcf\x81\x7d\xd8\xf0\x43\x96\xef\x87\x1a\x26\x11\x2d\xcb\x7c\x0e\x1d\x2e\x68"}, -{{0x61,0xfa,0x86,0x77,0xee,0xda,0xde,0xd6,0x9b,0x16,0x5c,0x8d,0x27,0x7c,0x97,0x82,0x49,0x66,0x30,0x28,0x30,0x1d,0xf6,0x16,0x3e,0x39,0xb0,0x6a,0xc2,0xf5,0x62,0x5f,},{0x87,0x33,0x9e,0xb5,0x72,0x38,0xdb,0x2e,0x4e,0x60,0xf3,0xc2,0x8a,0x3f,0xd5,0xfb,0x61,0x1c,0x65,0xfd,0xdc,0x81,0xee,0xd7,0xcf,0x77,0x71,0xdf,0x34,0xd9,0x22,0x67,},{0xc0,0x4e,0xbd,0x11,0xc3,0xeb,0x09,0x39,0x6f,0xe8,0xd6,0x82,0x79,0x51,0x0a,0x9e,0xfe,0xe3,0x91,0xab,0xee,0x40,0x81,0xf0,0xd2,0x75,0x67,0x4a,0x30,0x47,0x94,0x83,0x5a,0xad,0x7f,0x3e,0x34,0x5b,0xcf,0x0a,0xf8,0x02,0x7f,0x97,0x47,0x7e,0x79,0xe6,0x79,0x2b,0x8f,0x29,0x98,0x46,0xae,0x28,0xcb,0x13,0xbd,0x88,0x75,0x37,0x99,0x0d,},"\x02\xc5\x81\xde\xe0\x3f\x2c\x60\x39\x35\xaf\x5e\xce\xec\xfa\x67\x71\x34\xa3\xe0\xae\xa5\x4f\xec\xaf\x42\x71\xfb\x52\x95\x1a\x27\xb7\x68\x77\xcc\xd4\x9a\xb4\x86\xdf\xc2\x27\xcf\x31\xc9\xd9\x57\xcc\x97\x30\x65\x73\xfc\x7f\xe1\xd3\x1b\x6c\x7d\xf3\xd7\x80\xf3\xa0\x5c\xa6\x39\x56\x57\xa9\x42\x43\x42\xc9\xc6\xb7\x03\x12\x7e\x03\x8d\xf0\x79\x21\x54\xe3\x0a\x49\x47\x61\x12\xcb\x92\xd0\xd5\xa2\xd2\x2e\x89\x57\x52\xa8\x6e\xdd\xdd\x91\x2f\xdc\x81\xb1\xe6\x4a\x7b\xb7\x50\xf0\x99\x18\x21\x32\xee\x48\x23\xfd\xe8\x45\x80\x2a\x94\x45\x39\xd4\x12\xb2\xa8\x1a\x15\xb0\x00\x71\xa9\x50\x50\x4c\x5b\x55\xa7\x1b\xdb\x8c\x5a\x58\x26\x39\xe8\x55\xe8\xbe\x24\x1c\xda\x1b\xa6\xb3\xb4\xf6\x45\x54\xd1\x78\x24\x90\x4c\xb3\x0c\xd7\xef\xd9\xac\x04\x9e\x39\x0b\xb7\x9f\x53\x59\x8e\xf1\xe8\xfc\x27\xdd\x7b\xf5\x99\xc9\x02\x8c\x9e\xbf\x92\xfc\x3b\xe1\x1d\xf3\x29\x61\x2a\x22\x8e\x0f\x56\x84\x68\x7b\xf4\x1f\xf2\x03\xe9\x7a\x76\x86\x12\x6a\x39\x36\x6b\xdc\x26\xd5\x0b\xe0\x25\xd5\x18\x7c\x6b\xa0\x66\x6e\x37\x9b\xe4\xa8\x0a\x9e\x62\xef\xfc\xd9\x16\xd7\xf9\x8d\xe6\x51\xe0\x0b\x97\xad\xf5\xd2\xd5\x3d\xaa\x7f\x8d\x69\x5a\x29\x15\x60\x75\x5c\x74\x44\x82\x36\x4c\x4f\x1f\xa4\x7e\xc0\xb1\xda\x16\x1a\xa3\x88\xf9\x59\x79\x89\xa9\x77\x26\xd3\xed\x2c\xec\x82\xf1\xa1\xbb\xc4\xac\x0b\xe0\xa0\x0c\xb4\xa8\xdb\x1f\xb7\xc1\x4b\xa0\x5d\x89\x63\x48\xdc\x05\x59\xd2\xa9\x0b\xea\xc2\x04\x1d\xd7\x7f\x82\xd6\xb1\x2a\xeb\x22\x43\xca\x0f\x41\x9a\x57\xd3\xca\x9c\x7d\x25\xa3\x0f\xf0\xe8\xbb\x0d\x94\x51\x55\xd1\xb3\x6a\xd1\x07\xb5\x5b\xea\xa9\x5b\x7d\x5e\x32\x00\x34\x07\x62\x9f\x15\x15\xf8\xa7\x08\x9e\x24\x88\xd0\xd7\x54\x4c\x2f\x7c\xc7\xc7\xf0\x98\x5d\xa4\x28\x40\xd4\x36\x8f\xf4\xf0\xfa\x4f\xa2\x98\xe3\xb7\x22\x93\x03\xab\xa5\x14\xae\x94\xe7\x02\x65\x35\xa3\xf4\x26\xff\xbb\x4e\x00\x1c\xd5\x0e\xd1\x2f\x21\x4b\x3a\xbe\xf9\x6e\x30\x16\x35\xc9\x87\xb1\x33\xfc\x5e\x61\x84\xe7\xb7\x57\x2b\xc3\xd9\x9a\x45\x23\xcb\xd5\xaf\xe5\x93\xce\xdf\x4c\x9c\xd0\x2f\xf2\xe3\x62\x37\xe4\xee\x12\xef\x1a\x22\xd1\x6d\x7c\xf4\xc0\x72\xdc\xed\x91\xcd\xd2\x6e\xe1\x44\xcc\x2b\xef\x49\x50\x02\x63\x49\xe9\x44\x47\x84\x08\x1f\xe4\xe0\x49\x8b\xc7\x5f\x72\xe6\x81\x8f\x45\x9b\xba\x90\x49\xc5\x61\x31\x6c\x9f\x49\x8e\x7b\x1a\x99\x4b\x0e\x93\x05\x5f\xe7\x3e\x44\x4c\xbd\xf9\x6a\xc3\x5e\x9c\x4e\x92\xe6\xb4\x9e\x3b\xc0\xe9\x9d\xe1\x71\x6d\xf8\xea\xca\xeb\x8d\x2f\xd7\x48\x70\x04\x4c\xb3\x9c\x0e\x36\x7a\x1f\xe3\x2a\x9b\xb2\x97\x44\x16\x36\x4e\x73\x0d\x52\x48\xdf\xb1\xdf\x16\x4a\x8d\x58\xca\xa1\x00\x5f\xdc\x91\xba\xc2\xbc\x01\xcc\x77\xde\xcc\x14\x89\x3e\xf9\x46\xfb\x3c\x81\xbe\x08\x32\xc7\x2f\xba\x37\x20\x62\xf8\x36\x0f\x4d\x8e\x6d\x5b\x74\x1c\xf7\x03\x2d\x8d\x89\xde\x2e\xdf\x4c\x71\x4a\x29\xf7\x5a\xbd\x8f\x5f\xf4\x3e\xcd\xd4\xb7\xa0\x4d\x7d\xb0\x88\x2d\x16\xe7\x44\x73\xa0\xfb\x79\xdb\x44\x4a\x78\xea\x44\xaa\x26\x31\xb8\xc0\xd7\xb0\x30\x0d\x55\xcb\x6a\xc4\x85\xf2\x4c\x0a\xcc\x64\x77\x47\xc4\x3d\xb3\xb2\xa8\x67\x7b\xaf\x65\x6f\xa7\x35\xa5\x75\xf1\x81\x3f\x36\x68\xa2\xac\xa9\x17\x57\x11\xb5\x25\xeb\x49\x6e\x9e\xf9\x71\x1d\x75\xf5\x90\xc7\xd9\xef\x99\xe0\xf5\x9e\x84\x83\xcb\xf9\xf2\x84\xe3\xf5\xa3\x3e\xe7\x78\x1e\x62\xb8\xb0\x55\x51\x77\x7e\xfe\x0f\xbf\xd1\x9e\x54\xb6\xbb\xd1\x42\x94\x4b\xc2\x95\x9a\x82\xeb\xd2\x95\xd2\x3d\x34\x43\xb6\xce\x65\x8c\x2d\x57\x9a\x76\x37\xb5\x49\x52\x04\x91\x90\x8e\x34\x28\x2e\xc2\x71\x69\x72\xe6\xf0\x35\x39\x29\x54\x7e\xf1\x53\x7a\xec\xc9\x6b\x2d\xf6\x16\x14\x85\x99\xb0\x9d\x9b\x81\x39\x4a\x13\xfe\x7d\xb8\x67\x60\xb1\xe2\xa0\x60\xef\xd4\x84\xe8\x18\x99\x39\xeb\xdf\x6f\x21\x64\x0d\x89\xd8\xe7\x36\xde\xe0\x82\xad\x72\xa0\x18\x4a\xde\xdd\x8d\xf2\x14\x74\xc9\xf5\x26\xbc\xfd\xf7\xe8\x56\x58\x19\x4b\xb6\xd9\x42\xe7\xf3\xfe\x96\xc2\x3f"}, -{{0x70,0x48,0xc6,0x52,0x1a,0xef,0xaf,0xa4,0xea,0xc6,0xd6,0xc3,0xa7,0x02,0xb9,0x52,0x54,0x80,0xa6,0x64,0x82,0xe4,0x96,0x98,0x96,0x75,0x7f,0x2c,0xd1,0xac,0x7d,0x5b,},{0xed,0x93,0x11,0x3c,0x16,0x43,0xa5,0x3a,0xa0,0x64,0xca,0xa6,0x31,0xce,0xb6,0xe2,0x0f,0x6d,0x6e,0xc2,0xfc,0x6c,0x07,0x11,0xcb,0x8a,0x1f,0xe7,0x31,0x39,0xaf,0x93,},{0x7c,0x45,0x70,0x3e,0xd3,0x94,0x2e,0x44,0x04,0x1c,0x7f,0xa1,0x85,0x8a,0xa5,0xf1,0xdc,0x38,0x1f,0x49,0x3a,0x45,0x2d,0xfb,0x52,0x70,0x80,0x17,0x89,0x8f,0x71,0x0e,0x31,0x11,0x8e,0x33,0x1f,0x00,0xaa,0x64,0xcb,0x73,0x88,0x36,0x68,0x2b,0x7d,0x17,0x7e,0x97,0x95,0x5c,0x00,0x31,0x9a,0xbd,0x79,0xa4,0x9e,0x0f,0xcd,0x16,0xfe,0x00,},"\x53\xf7\x4c\x72\x4d\xb1\x57\x8a\x1a\x29\x6a\x7c\xca\xc9\x04\xa2\x50\x4d\xd9\x00\x53\x89\xb4\xf8\xd4\xea\x4b\x63\x07\x29\x8f\xc6\xdc\xce\x98\xa6\xbc\x07\x28\x0d\x20\x36\x4e\x40\x5a\x46\x7e\x73\x65\x78\x96\x52\x69\xc8\x14\x61\xd6\x1f\xc6\xb7\xe4\xba\xd6\x8d\x2b\x6d\xd0\x00\x58\x50\x10\x5f\x0a\x67\xbb\xc6\xee\x22\x3e\xc1\x75\x4a\xf4\xe3\xb9\xaf\xa5\x06\x2d\x1c\x18\x61\x04\x8f\x18\x5b\x12\x8f\x1a\x5c\x0f\xb2\x5c\x39\x19\xb4\x83\x3e\x29\xe2\x02\xbc\x94\x1a\x90\x5e\x63\xc2\xc0\x5b\x10\x14\x64\x7b\xd7\xed\xe5\xbe\x9f\x99\x66\x15\x18\x7a\x3d\x3b\xb2\xc7\xdc\x4c\x28\xf7\x05\x3d\xef\x9b\x28\xb2\x9e\x23\x31\xf1\x62\x96\xdc\xe8\xf1\xed\xe4\x84\xca\xec\x99\x67\x02\xbd\x99\x02\xe5\x26\x84\xc8\x12\xc8\x74\x40\xf6\x9b\xd1\x41\xc7\xe0\x0c\x69\x47\xd1\xfc\x7c\x3b\xdc\x0b\xc5\x50\x6b\x6e\xa4\x62\xe6\x5f\x9e\x74\x3b\x72\xc0\x07\xdd\xc7\xa3\x77\x49\x37\x77\xd4\xeb\x12\x62\x0c\xa6\xc0\x19\xc8\xbf\xc4\xc2\x9e\xc8\xaf\x38\x2f\xc3\xea\xc8\x41\x02\x1a\x74\xe4\x67\x4b\xa3\xe4\x3e\x5d\x7b\x41\xe3\xfe\xeb\x17\xda\x00\xa7\xce\x45\x5a\x1c\xec\x70\xb0\xbe\x6e\x56\xf8\x5f\xc3\x7f\x64\xcf\x07\x33\xb7\xe3\x12\x41\xde\x64\x1a\x8a\x8e\x5b\x91\x89\x7b\xc1\x58\xfe\x93\xd1\x02\xc0\x1d\x1f\x5e\x16\x6d\x40\x81\x65\xfe\x3f\xcb\x13\xd5\x30\x45\x90\xab\x8e\xf0\xdc\x8d\x5a\x8c\x1d\x8a\x93\xfc\xeb\x85\x4f\xc1\xfa\x36\xd0\xcc\x48\x0c\xf8\x51\x2d\x80\xbe\xe6\x9b\x06\x50\xa9\x57\xda\xed\x28\x3c\xd7\x63\x81\x55\xed\x77\x30\x86\xe8\x6a\x8f\xfb\x19\x8a\xcc\x74\x23\xb5\xd1\xa6\x09\xa1\x75\xa5\x6b\x94\xc9\x6b\x73\x18\x51\xb9\x3a\x94\x97\x71\x01\xe2\x55\xf1\xce\x92\xe2\x32\xa0\x5e\x2e\x33\x87\xfc\xb4\xdc\x13\xa3\x1b\xee\x6e\xe2\x55\x07\x32\x2c\x73\xc9\x88\x30\x80\xa7\x4c\x00\xf8\x03\xa9\x98\xdd\x53\x0a\x79\x12\x6b\xb1\x44\xed\x55\x74\xc4\xb2\x31\x80\xe3\x4e\x09\x92\x83\xb4\xbb\x1d\x28\x82\x2f\xce\x37\x17\x04\x6f\xf3\x2e\xf9\xe2\xcd\xf9\x67\xe3\x18\xea\x72\x6a\x2a\xee\xc5\x78\x06\x64\x3a\xd4\x80\x1d\x3e\x0d\xa5\x2a\x1d\x77\xbf\x04\x3f\x5a\xe9\xf3\xae\xa9\xe4\xbc\x4f\xa7\x95\xd0\x84\x01\x08\x5c\xa9\x4c\xfc\x4c\xe7\x19\xda\xbc\x7b\x23\x90\xd0\x3d\x29\x4a\x65\xb7\xaf\x9b\xc3\x90\x72\x28\x5b\x77\x7b\x2f\x13\x3d\xc1\x1a\x70\xc0\xa9\xf0\x60\xe1\x04\x41\xf4\x02\x16\xac\xb6\x41\x63\x7a\x2e\xad\xf1\xf7\xb8\xd2\x62\xfe\xc1\xb4\xd0\xf0\xf4\xfa\xa9\x3f\x3f\x73\x2c\xac\x38\x2d\x8a\xc4\x2e\x17\x8e\x22\x44\x99\x9d\x76\x4a\x9d\x0e\x98\x17\x14\x68\x6e\xb4\x92\x44\x97\xe5\x6b\x50\x15\x7e\x99\x39\x03\x2c\x9f\x88\xeb\x65\x7c\xfd\xe4\x4a\xd3\x47\x14\xaf\x4a\x51\x32\x4e\x5e\x77\xd0\xde\xea\x99\xc9\xf2\x44\xd2\xe0\x9e\xa4\x25\x82\x0a\x74\x6d\x88\x3a\x0c\xf4\xb7\x05\xc2\x9d\xf8\xc0\x37\x44\x81\x54\xdc\x08\xa4\xd4\x33\x74\x05\xfb\x87\x65\x82\x31\x14\x37\x0b\x37\xed\x86\x08\x6e\xc5\xf8\xbd\x6c\x72\xab\xf1\x3f\x51\x84\x30\x71\x0f\x59\x7b\x06\x10\x8f\x65\xb3\x0a\x48\x34\x96\xe2\xed\x81\xda\xb1\x0f\xee\x94\x7f\xe0\x4b\x54\x85\xf2\xe3\x07\x40\x49\xd2\x22\x84\x26\x66\x51\xad\x10\xdd\x08\x6a\xaa\x5d\x45\x2e\x0d\x1a\x61\x12\x9d\x1e\x77\xc6\x63\xc2\x6d\x08\x89\x62\xb5\x54\x56\x45\xb7\xa1\xa8\x71\x3d\x51\x32\x7a\x7a\x35\x9b\x12\xda\xad\xb8\x5a\x2c\xd4\xb5\x41\x0d\x5c\x20\x26\x7f\xa7\x66\xb8\xc4\x2a\x84\xdc\x42\x66\x45\x88\x87\x9b\x3e\xae\xfd\x4c\xc8\xdc\x69\x3f\x98\xac\x20\x56\x09\xe5\x70\x66\x5b\x01\xea\x46\x55\xe3\x94\x29\xa7\xa7\xe5\x42\xef\xb4\xf7\x89\x0d\xbf\x4e\x34\xc6\xcf\xf0\x7e\x4d\x35\xbd\x3e\xee\xdf\x5b\x46\x28\x0f\x4a\x0d\xa0\xc2\xe7\x3c\x94\xea\x81\xcf\xea\xe7\xf9\xbd\x04\xfe\x2d\x45\x97\x65\x00\xf7\xdc\xac\xb0\xdf\x2a\x5d\xc7\x36\xa8\x23\x67\x1d\xb6\x79\xbe\x66\xcb\x33\xc1\x62\xfd\x2c\x74\xae\x71\xfb\xf4\xd2\xb0\x5a\xf0\x42\xb3\xa9\x77\xf5\xb9\x44\xb9\xfd\xb6\xc3\x44\x24\x42\x1b\xcf\x4f\x62\x23\x76\x84\x28\xfa\x14\x0f\xd4"}, -{{0x3e,0x63,0x73,0xb2,0x65,0xb9,0x67,0x89,0x00,0x7a,0xd2,0xa1,0x0c,0x30,0x9a,0x56,0x76,0x38,0xf2,0x55,0x87,0xd7,0x7e,0x28,0xb0,0x82,0x3a,0x4f,0x17,0x9a,0xe4,0xfe,},{0xa3,0x23,0x4e,0x5d,0x13,0xb0,0x34,0x72,0x16,0x50,0x36,0x40,0x4f,0x6d,0xe8,0x0e,0x70,0x28,0x39,0x50,0x0f,0x13,0xd9,0xc9,0x85,0xa0,0x77,0xd4,0x5c,0x69,0xff,0x45,},{0xf5,0x1e,0x0f,0x87,0x8a,0x5a,0x70,0x96,0x47,0xe8,0x5f,0xea,0x83,0x9f,0xd5,0x66,0xe6,0xf3,0x5c,0x8a,0x61,0x85,0xd0,0xc9,0xeb,0x13,0xe0,0xd5,0xb9,0xe6,0xe8,0xaa,0x95,0xc3,0x33,0xa8,0xf5,0x06,0x32,0xa4,0xd6,0x65,0x7b,0x51,0x8c,0xe4,0xcf,0xde,0x40,0xb8,0xf5,0xa0,0x5b,0x2d,0x9f,0x84,0x41,0xfc,0xc9,0xd2,0xd6,0x92,0xd5,0x09,},"\xb9\xd0\x68\xbb\xca\xe7\x72\x2f\x82\x8b\x0f\x8c\x98\xa7\x38\xe3\x6a\x7d\xf4\xc9\x97\xc7\x24\xba\x27\x53\x1a\xf3\x4a\x2f\x10\x6c\x75\x13\xa4\x4a\x46\x1a\x9a\xa4\x30\x9b\xc1\x5c\x4e\x0d\x42\x75\x91\x93\xea\x1c\xde\xa9\x56\xbb\x81\x59\x85\xf5\x78\x67\x14\x5e\x9e\x2c\x75\x85\xfc\x8d\x61\x02\x7e\x47\xd2\xd7\x35\xe2\x44\x8a\xf3\x78\x29\x09\x40\x4e\xde\xaa\xc0\xfd\x73\xf6\x04\x5d\xcd\xb0\x4f\x03\x77\x75\x8f\x02\x20\x4a\xae\x3a\x72\x20\x31\x1c\x0f\x47\x23\x58\x27\x10\xcc\x44\x0c\x36\xc9\x58\x7b\x5c\x9e\xbc\x40\x63\xfe\xa8\xca\x3f\x43\x19\x58\x94\xf7\x9a\x36\x50\x87\x13\x72\x82\x30\x2d\xbf\x2e\x7a\x0d\x41\x1a\xb5\x8b\x70\x26\xcc\xde\x19\x88\x69\xaa\x73\x43\x34\xc0\x52\x38\xe2\x75\xe3\xc3\xab\x21\x70\x83\x49\x57\x69\xe2\xfa\xd3\x74\x05\x14\x52\xd7\xf5\xb1\xdb\x0e\x78\x58\x36\xd4\xbd\x5e\x29\x78\xa3\xe9\x91\xaf\x0f\xf7\x16\xf4\x38\x89\xa0\x7f\x5d\xf2\x99\x60\x36\x21\xc3\x9e\x2c\xde\xe0\x89\x98\x5d\x9e\x6b\xf7\xb2\xfb\xd0\x23\x73\xae\x1b\x5e\x9b\x88\xf5\xb5\x4a\x07\x6e\x67\x6d\x77\x90\xbf\xc8\xf5\x7d\xcc\x59\xef\x52\x85\x0c\xe9\x92\xa7\x3b\xa7\xbc\x99\x1d\xeb\x4d\xde\x5e\xb0\xb2\x16\x70\xb1\xb3\xd4\xb6\x4f\x36\xcc\xa8\xe3\x07\x09\x85\x68\x49\x7d\x89\x16\xf6\xb5\xd0\xe9\xe8\x9f\x99\xf8\x60\x06\xf3\x9b\xd3\xa8\x10\x76\x9c\x8f\x78\x01\x77\x3c\x96\x38\xab\xcf\x5e\x27\x11\xb1\x9d\x11\x67\x59\x3a\xcb\xe8\x5e\x41\x61\x42\x89\x97\xa2\x19\x4d\xc5\xe7\xb7\x64\x0f\x0d\x2c\x1e\xb2\x05\x55\x3b\xe9\x16\x7f\xfb\xc2\x2b\x7c\x2e\x76\x98\xf3\xaf\xa1\x07\x54\xcb\x44\xd4\xb1\xd4\x5b\x83\x73\x03\xb1\x66\x90\x73\x41\x5a\x22\x60\x6b\x50\xf2\x1f\x82\x65\xe1\x39\xf2\x30\x5a\xc0\xe0\x12\x7a\xe0\x56\xce\x8a\xbe\xab\xa2\x0e\x1d\x26\x9a\x2b\x2e\x89\x9c\x49\x54\x72\x68\xa0\x69\x6a\xe4\x50\xdc\x02\x67\xf7\xf6\x3a\x8e\xdf\x07\x4c\x47\xd3\xc2\xdb\x1d\xa3\x63\x93\x73\x73\x04\xe6\xdd\x4f\xac\xcd\xb6\xab\x55\xe5\xf8\x52\x0c\x3d\xff\x5f\x6b\xea\xc3\x0b\xa8\x5b\x86\x08\x23\x51\xe3\xde\xd8\x40\x0a\xa5\x7f\x65\x0c\x0c\x33\x03\x6d\x65\xb3\x9b\x7d\x2f\xb6\x11\x28\x63\xd5\x9b\x72\x55\x82\x42\xe8\xb0\x45\xad\xdd\x35\x7d\xe6\xfd\x37\xa8\xf6\x61\x17\x65\xc9\xb5\xff\x19\xcc\x4d\xb7\xe1\x17\xc6\x5a\x00\x45\x89\x08\xb0\x24\x5d\x04\xf7\x90\x8f\xc7\x3b\x16\x5d\xff\x6e\x4b\xe4\xb4\x20\x32\xd8\xcf\xd7\xd6\xf7\x77\x2c\x1b\xfe\x72\x1d\x4b\xcf\xe2\xfc\x52\x79\x98\xf3\x4f\xb4\x41\x8a\x1f\xae\x1e\x6c\x37\x67\xc4\xd0\x78\x06\x21\xf9\x23\xda\x1f\x0a\x0d\x3d\x21\x9c\x03\x6a\xcf\xd3\x70\x9d\xad\x4c\xf2\x4d\x90\xbc\x69\x1d\x70\x0e\x6a\x9c\x80\xcc\xfd\x10\xbd\xe8\xe7\x91\xc0\xfe\xa8\x28\x80\xc0\x7b\xaa\xaa\x31\x1e\xef\x79\x24\x07\x84\xf6\x28\xa7\xd2\xa0\x91\x84\xe0\x16\xf8\x10\x08\xe7\x74\x29\xa8\x65\x8b\x15\x3e\x44\xe7\x9a\x98\xad\x24\x8f\x7f\xda\x23\xb5\x90\xd6\x46\xd7\xc1\xd8\x41\xf4\x92\x7d\x6e\x8b\xc7\x32\x14\xd1\x0a\x7f\x3c\x29\xc8\xf8\x39\xa8\x90\x8d\x20\xa7\x4e\x82\x7a\xf4\x67\xac\x5a\xbf\x0f\x1d\x0e\xd3\x9c\xdd\xd9\x69\xdd\xe9\xee\xb4\xa4\xb7\x52\x7a\xb3\xe2\x47\x5a\x19\x5e\x24\x47\x4a\x4e\x36\xb0\x90\x52\xe2\xda\xd4\xa5\xeb\x46\x91\xe2\x63\xb8\xc6\x1b\xbd\xe8\x77\x72\x20\x7e\x01\x1c\x4c\x1e\x14\x23\x5f\xb2\x4e\x4d\xa4\x38\x87\x5d\x18\x53\x0f\xef\x90\x26\x19\xdd\x48\x5d\x77\xb5\x45\xab\xb5\x6b\x69\xc7\x55\xaf\xe7\x58\x60\x69\x71\xab\x97\xdd\x3a\xce\x1c\x1a\x34\xa3\x37\x94\xc8\x15\x6d\xa7\x99\xe8\x22\x4d\x88\x5e\x18\x68\xf9\xcb\x46\x6d\x80\x2c\x82\x7c\xc3\xe1\xec\xd0\xae\x6e\x0b\x01\xf8\xf7\x91\xb1\x22\x08\xfc\xc0\xfe\xd3\x85\xb7\x96\xeb\x2f\x29\x08\xb5\x8d\x30\xb3\x73\x3f\x14\x70\xf2\xe2\xef\x12\xad\x43\xfe\xb7\x2d\x08\x16\xde\x3c\x13\xa8\xb5\xa5\x23\xe1\x4c\xdf\x5f\xf3\x72\x0b\xf8\x77\x69\xcd\xe7\x49\x5d\x22\x6b\xf3\x82\x38\xa8\x25\xf7\x5a\x09\xf6\xbb\x9a\xfc\xe5\x16\xa7\xbc\x70\x11\x43\x70\xbb\xc4\x0f\x17\xc7\xbc"}, -{{0xf5,0xe8,0x59,0x7e,0xac,0x0e,0xbf,0xa9,0xd3,0x85,0xde,0x85,0xa1,0xfb,0xaa,0x35,0x14,0x63,0x95,0xb1,0x34,0x57,0xb5,0xb1,0x4d,0x36,0x70,0xda,0xca,0x69,0x05,0xe7,},{0xce,0x93,0xe6,0x42,0xc2,0xf1,0x50,0x84,0xbc,0x83,0xba,0xfd,0xaa,0x19,0x67,0x63,0xde,0x2a,0x3c,0x51,0x3b,0x0e,0x44,0xf6,0x8d,0xdb,0xde,0x37,0x85,0x14,0xc4,0x41,},{0x57,0x65,0x43,0xfc,0x21,0xab,0x0a,0x7c,0x5f,0x63,0xb1,0xcf,0xf0,0x1b,0xf8,0x45,0xdf,0x91,0x79,0x2e,0x7a,0x97,0x50,0xc5,0x50,0x8b,0x51,0x66,0x5e,0x7f,0x89,0xf1,0x7c,0x6e,0xc3,0x35,0x5a,0x0a,0xed,0x87,0xdb,0x8c,0x77,0xbd,0xb2,0x71,0xfb,0xed,0xc7,0x14,0xff,0xad,0xb7,0x8b,0x5e,0x0f,0x97,0x81,0x16,0x77,0x1b,0xa7,0xcf,0x0b,},"\x27\x33\x41\xf2\x19\xff\x5c\xf3\x81\xc7\x7b\x2d\xd2\x26\xc5\x8f\x8f\x33\xc4\x52\x70\x48\xcb\x00\x6a\xff\xef\x8c\xee\x15\x1e\x30\x0e\xfe\xf6\x29\xfe\xd2\x1b\x70\x45\x1f\x72\x92\x92\x62\x7d\x1f\x3f\x1b\x52\x57\x35\x9e\xe5\xa6\x71\xcf\x62\xae\x57\x32\x49\x40\xf2\xd0\xb1\x5a\xac\x76\xff\x39\x82\x20\xc0\x80\x24\xe2\x9a\x8c\xf3\x65\x04\xe1\x2a\x4e\x96\x43\x8f\x42\xc3\xda\x0c\x00\x05\x41\xbc\x11\xf0\x91\x38\x1b\x0b\x72\xb5\x8a\x92\x08\x3f\x44\x6e\xca\x19\x91\x99\x68\x78\xde\x35\x08\x1c\xc4\xab\x90\x95\x8c\x96\xcf\x5c\x99\x79\x6c\xba\x79\x51\xee\x18\x6f\x26\x52\x7a\xed\xe6\x9d\xb3\x04\xce\x29\x41\xba\x15\xcc\x00\xba\x2f\x14\x11\xf2\x08\xda\xd4\x5e\x87\xbc\xf6\x38\x79\x2d\xe0\xa6\x86\x24\xb6\x67\x29\x7c\x27\xa3\x43\xdb\x4b\xaf\x34\xa0\x22\x8e\xaf\x0d\x10\x22\x00\x9b\x5d\x06\x8b\x25\x34\xd9\x20\x30\x2e\x71\x31\x0f\xeb\xf0\xdf\x1b\xb0\x2c\x2e\xf0\xad\x1a\xe1\x49\xde\xad\xf8\xc1\x84\x37\x3c\x0f\x7e\xb6\xb2\x56\x95\xbe\x82\xd1\x2c\x71\xb6\xc8\x32\x67\xd9\xa2\x33\x66\x7e\x77\xbc\x20\x59\x83\xf8\xb8\xd8\x77\xd8\x5a\xea\xd3\xf6\x0e\x82\x0f\xfc\xb1\x7a\xdd\xdd\x92\xa7\x71\x2b\xbe\xb3\x4e\xe7\x19\x66\xda\xfd\x99\x07\xd1\x93\xdd\x9d\x72\x5a\x31\xa6\x13\xd2\x9e\x32\xbe\x72\x13\x28\x08\x92\x6d\x94\x37\x47\x7f\xee\x25\xed\xa6\x10\xae\xb1\xdc\xe1\x2e\xa3\x16\xc6\xae\xc6\x68\x9e\x50\x1c\x55\x19\x23\x82\x5a\x34\xb4\x2c\x4f\x06\x75\xb8\x6a\xb2\x6a\xde\xea\x2e\x60\xda\xe6\xc6\xd1\xcd\xd0\xcb\x3c\x34\x7b\x16\x38\x40\x39\xa8\xe3\xfd\x60\x87\x38\x13\x87\xcb\x4b\xc7\x2d\xdb\x5f\x25\xb3\x74\x85\x9b\x02\xe5\xbb\x1b\xa0\x6d\x3c\xc6\x9e\xc4\x4c\xec\x4b\x98\x5c\x84\x76\xe3\x50\x32\xe9\x9a\xbf\x00\x1a\x1d\x44\xdd\xc6\xe2\x88\x9c\x3c\x2c\x3e\xca\xce\xd6\x09\xb2\xb2\x68\x0e\x00\xb1\xef\xa7\xe9\xd2\x6d\x62\xf2\xb3\xab\x36\xf9\x21\x04\x47\x90\xab\xbd\x49\x36\x07\x56\xdc\xff\xcc\xf2\x30\xf6\x6d\xbb\x70\x1a\xa1\x64\xda\xd6\x06\x9a\xa2\xb8\xb3\x30\x9f\x2f\xe4\x4d\x5e\x0b\x25\xbd\x55\x64\x31\xf0\xdf\x4c\x2e\xa9\x7a\xe7\x9e\xd4\xa5\x75\x78\xd6\x6f\xc6\x93\x9c\x57\x62\x8a\x90\xca\xc9\x7a\xdf\xa8\x70\x2a\x4a\x1c\x89\x65\xba\x1a\x90\x26\x25\x67\x28\x66\x64\x00\x30\x03\x53\x3c\xc9\x31\x4c\xaf\x7d\x3b\x98\x2e\x0a\x43\x2f\xf5\xaa\x4e\xd5\x74\x19\x83\xd9\xb5\x43\x23\xac\x7e\x29\x9b\x2b\x49\x56\xc1\xa2\xc1\x91\x55\x7b\x27\xd8\x6b\xe7\x14\xb5\xb6\x8f\xcb\x1d\x41\xf7\x8c\xa5\xdd\xb6\xb5\x3b\x3d\xfc\x8e\x7d\x6b\x3c\x3d\xb0\x59\xaf\x9f\x2d\xd7\x65\xef\x04\xb6\xd1\x6e\x67\x37\xc7\x27\xaa\x11\xf3\xdf\x37\x74\xa3\xfc\x96\x18\x2e\x28\x2a\xcc\x3d\x23\x3e\xea\xbf\x8c\x72\xd3\xf2\x46\xae\x18\x45\x05\x28\x8f\xef\x39\xb3\x67\x66\xb1\x0d\xd1\xbf\xbf\xbf\xa7\x0f\x97\xb3\xc9\x01\x72\x6d\x1e\x0d\x0a\x83\x7d\x11\xf0\x12\x3a\x34\xab\xad\x1a\x79\xaa\xbe\x80\xb1\x25\xb1\x28\xee\x16\x0b\x51\x18\x48\xf7\xf0\x4c\x49\xc8\xd5\xc2\xf2\x04\x1d\xa7\xd9\x59\x9c\x29\xb1\xda\xc8\xc6\x80\x77\xef\xac\x3e\xca\x58\xbb\xc1\x63\x7a\xad\xce\x21\xc7\x74\xfe\xa4\x2d\x2b\xcf\x4a\x0b\x98\x92\x30\x7e\x36\xfa\x25\x0a\xce\xe7\x95\xad\x2b\xfe\xcf\xbf\x60\x31\x9b\x81\x66\x3e\x2a\x26\x57\x19\x46\xf7\x5a\x8d\x96\x9a\xf1\x6b\x3b\x57\xc3\xec\x3e\x66\x15\x8a\xaf\x42\xcc\xf5\xe5\x8b\x93\x7a\xae\xf6\x13\x31\x86\x06\x60\x33\x17\xe5\xaa\x31\x8b\xe7\x0f\x8d\xa3\xc0\xc1\x6b\xe6\xc2\x9e\x3e\xc9\xfe\xf4\xe4\x6e\x8c\xa2\x41\xd9\x41\xd5\x80\x49\xa0\x63\xd9\x0a\xfc\x95\x3c\xa3\x2e\x8a\x50\xa6\x47\x36\x32\x58\x8a\xc4\x1e\xae\x97\xf2\x0c\xe9\xb7\x41\xed\x41\xc9\xa4\xaa\x65\x51\xfd\x82\x3c\xe0\xc8\x11\xa5\xbb\x5a\x17\x1c\x1e\xa4\x23\x8a\x02\x46\x81\x1e\x46\x9c\xf4\x98\xb7\x96\x21\xc3\x23\xeb\xa7\x98\x53\x44\xfe\x11\xe6\x74\x99\xed\xf4\x96\x74\x91\xaa\x74\x9f\x8f\x3f\xe3\x99\x61\xd7\x68\x92\xc9\x3a\xac\x3b\x19\xfa\x4b\x4f\xc1\x74\xd7\xd4\xd4\xd8\xbd\x6e\xe4\x75\x47\x50\x08"}, -{{0xcd,0xad,0xc5,0xb8,0x9c,0xb2,0xb6,0x30,0x8a,0x00,0x6f,0x2f,0x4e,0x95,0x5a,0x91,0xaa,0xf3,0xba,0x70,0x16,0x5f,0x2d,0x44,0x4e,0xf1,0xff,0xeb,0xbd,0xaa,0xa2,0x21,},{0x05,0x41,0x41,0x5f,0xf5,0x46,0x7f,0x28,0xce,0xac,0x83,0x9b,0x13,0xa1,0x76,0x6e,0x72,0xc9,0x9e,0x65,0x45,0x20,0x7d,0x9d,0x5d,0x96,0x97,0x41,0x1e,0xb6,0xbc,0xa7,},{0xff,0xed,0xe7,0x01,0xeb,0x18,0x29,0xce,0x23,0x61,0xcd,0xa2,0xc8,0xbb,0x63,0x33,0x85,0x39,0xd8,0xad,0x2f,0x66,0x77,0x58,0x55,0x31,0xe7,0xbf,0x1d,0x39,0x22,0x38,0x26,0x79,0xa1,0xae,0x84,0xff,0xeb,0x75,0x3f,0xc9,0x75,0x4e,0x50,0xc0,0x18,0x52,0xf9,0x55,0xe3,0xfd,0x60,0x9f,0xf6,0x4b,0xf0,0x5b,0xbe,0x70,0x75,0xcd,0xbe,0x00,},"\x91\x17\x27\x03\x6d\xb3\x09\xd6\xe2\xe3\x36\x9e\x4f\x17\xd9\x8d\x99\xec\x07\x0c\x33\x28\x3b\xb1\x24\x4e\xfd\x62\xe7\x6b\xd7\x0a\x69\xb9\x72\x3b\xd2\xb5\x20\x47\x2b\x98\xaa\x06\x59\x24\x36\x6d\xe7\x80\x90\x0b\xcd\x8b\x77\xb5\x0f\x87\xc3\xc3\x61\x87\x02\x4b\xbc\x59\xcc\xf4\x48\x2c\x7b\x4a\xad\xb5\x6e\x2e\x5e\xcc\x00\x03\xd9\x89\xd6\xaf\xc6\x3e\xc1\x02\x42\xe5\x74\x82\xfe\x39\x21\x52\x61\xd5\xfc\x95\xa0\x18\x5f\x95\xe9\x54\x0c\x55\xf7\x4d\x69\x60\x48\xbc\xa7\xab\x11\x26\x81\xa5\x55\x8e\xa9\x3c\x3b\x1f\x1c\xd3\x64\x65\x9e\x94\x33\xce\xee\xbe\x05\x4e\xe7\x13\xc4\x77\x60\xd7\xad\x13\x2a\x7f\x3f\x8f\xe3\xd5\x04\x1b\x81\x1a\x26\xb6\x5e\xfb\x1f\x34\x0e\x18\x1a\x4e\xc7\x20\xea\x13\x6b\x3a\xf3\xd9\xe5\x46\x1d\xd2\x43\x70\x33\x6f\x10\xe6\x35\x4c\x8c\x17\xac\xf9\x99\x85\x44\xce\xc0\x87\x3e\xfa\x68\x7c\xb1\x32\xae\xcf\x70\xae\xbb\xc5\x67\xba\x03\xc5\x36\x49\x9e\xf9\x6c\xc8\x41\x2e\x7a\xaa\xd5\xbf\x96\x42\x2b\xe4\x7c\xb9\x41\x36\x45\xdf\x2c\x17\x03\x19\x23\x47\xdc\xbb\x12\x31\x27\x45\x59\x71\xae\x15\x7e\x9f\xa2\xdb\xff\x88\x74\x5a\x96\xc6\x58\xb8\x65\xe4\x1f\x55\xae\xbf\x98\x39\x50\x05\xdd\xcb\xd5\x98\x3e\x6a\xe0\x2c\x4f\xbb\x5e\x17\x91\x67\x96\x32\x5f\x76\xed\xf5\xb6\x4a\xfa\x4e\xc5\xa7\x41\x8a\xfe\xd2\x3a\x97\xef\xad\xe6\x8b\x6a\x5b\x31\x45\xf0\x8a\x5d\x3d\xb9\xc2\x98\xa5\x12\xfa\xbd\xac\x68\x56\x2b\x3f\x55\x37\x7f\xf4\x4b\x00\xc1\xc2\xf3\xef\xd1\x81\x32\xda\x71\xf9\x71\xa9\x53\xa9\x31\x8c\x57\x52\x33\x61\xa1\x60\xf9\xb7\xe3\xb5\x1c\x52\x4e\x95\xdd\x5e\xf4\x56\x8e\xf1\x8a\x80\x07\x75\xe9\xd2\x6e\x07\x13\x19\x42\xd2\xbe\x4e\xf2\x2c\x0c\xbc\x13\xdf\x01\xc6\x8b\x1b\xcd\x3b\xce\x9b\xd5\x1c\x4c\xed\x65\x2a\xdc\x40\x07\xbe\x43\xb3\x7c\x67\xa5\xc5\x5e\xd4\x02\x9e\x8a\xd1\x5d\xef\x83\x05\xc9\x68\x62\x1a\xed\x4c\xd4\xbf\xe0\x79\xa6\xf4\x88\x84\xd8\x56\x80\x39\x2c\xa9\x2b\xa6\xe1\x2f\xea\x6f\x4a\x05\x6f\x79\xd6\x7b\x19\xb0\x5f\x90\xd6\x84\xbe\x7d\x45\x72\x5f\x79\x67\xc6\xa4\x67\xaf\x43\xb8\x6a\x6b\x1b\x9d\x9e\xed\x3a\x42\x48\x97\x1c\x76\xa7\xac\x29\xc2\x92\xdf\xba\x4d\x75\xc5\xf7\xba\x70\x9a\x39\x05\x8e\x96\xad\xf6\xdb\xd7\x60\xd3\xce\xf4\x02\x4b\xf3\xed\xc4\x41\xef\xbf\x11\x47\xa2\xc1\x08\xbd\x6f\x9e\xb4\x39\xc1\xc5\xc4\xd3\xa6\xea\x4e\xc3\xd9\x2c\xef\x38\x13\x61\x88\xbe\xc9\xe0\xb6\xc0\x51\x8d\x8b\x79\xba\x59\xc5\xdc\xba\x39\x3a\xed\xfd\xff\xb0\xb7\x0d\x77\x9c\x2b\x97\x65\xce\x44\x52\xe7\xe3\xb0\x8c\x44\x02\xb1\xa6\x08\x32\x08\x40\xfb\xe9\x6d\x1e\xb8\x65\x6e\xb1\xc2\x0d\x95\x51\xdd\xf5\x33\xb9\xf1\x5e\x4e\xb5\x78\x37\x56\xc5\x3d\xdd\x3b\x14\xd8\x07\xf8\x38\xac\x96\x80\xf8\x9f\x1a\xdf\xb7\x8d\x68\xcc\xb0\x67\x31\xa9\x0b\xea\xc5\xf0\xd7\x09\xd5\xb8\x8c\x75\x43\x7a\x66\x3c\xb9\x62\xd3\x7f\x96\xb8\xe8\x92\x84\x77\xb5\x61\x12\x28\x01\x5d\x33\x7f\x04\x9e\x8b\x62\xe4\xdf\xf8\xd0\xbb\x6c\xda\x24\xa5\xdf\x90\x83\xe3\x48\xbe\xf1\x25\x85\xf5\xf4\xc4\xd3\xbb\x3c\x7e\x78\xd5\x50\x19\x4a\x45\x25\x1a\x08\x79\xa1\x62\x4b\xf9\xdd\x35\xeb\x65\x5c\x39\x39\xfe\xa8\x90\x9f\x6d\xf3\x95\xbe\xbd\x02\xb6\x8a\x17\xa8\x97\xc9\xaa\xdd\xd6\xe2\xe2\x04\x61\xe3\x03\xf5\x7c\xde\xb0\x0a\xe0\xf2\x3e\x60\xa9\x4c\x19\xc7\x71\xd8\xaa\x60\x53\x3b\x93\xce\xdc\x1b\x76\xd2\x29\x0a\x01\xbf\x43\xb2\x72\x5f\x12\x5b\xef\xa5\x75\x15\x4e\x98\x6c\x9c\x62\x05\xa1\x59\x6c\xba\xa2\xd1\x34\x70\xc2\x34\x22\xf2\xdf\x7b\xec\xe4\xe6\xeb\xd7\x52\xe9\x38\x9a\xe6\x08\x57\xb5\x29\x69\xd2\xdd\xef\xa9\xc0\x34\xf1\xbf\x35\xae\x33\x16\x30\x4e\x94\x9c\x89\x90\x82\x0e\x26\xe6\xcf\xfa\xe4\xb3\x88\xd1\x50\x5f\x92\x37\x06\x29\x7f\x8d\xb5\x56\x53\x79\x19\xeb\xbe\x30\x86\x02\x3f\x12\xf4\xde\xd3\xb1\x1a\xcf\x2a\x6d\x97\x3d\xdd\x8e\xb2\x7b\x07\xc5\x80\xbf\x44\x8c\xaa\x5a\x2e\xa1\x16\xc5\xea\xf3\x6f\x7a\x6b\x17\xa8\x5b\x39\x55\xdc\x8a\x44\xa6\x20\xd8"}, -{{0x2d,0xdd,0x79,0xe7,0x60,0x64,0xc2,0xe6,0xb3,0x22,0xaf,0xb0,0xc5,0xc6,0x85,0xcd,0xbe,0xc6,0x28,0x21,0xcd,0xfc,0x0c,0xb1,0x4d,0xb7,0xd0,0x1b,0xa3,0xbf,0x21,0xa5,},{0xf5,0x5b,0x4a,0xb6,0x4a,0x25,0x82,0x21,0x2b,0x96,0xcc,0xac,0x06,0x40,0xe2,0x71,0x94,0x4a,0x34,0xa2,0x86,0xd0,0x35,0x83,0x30,0x45,0x81,0x0e,0x34,0x18,0x24,0xbb,},{0xa4,0xc3,0x96,0xe1,0x9d,0xd4,0x2e,0x03,0x91,0x84,0xcd,0x25,0x11,0x88,0xff,0xa2,0x45,0xf0,0x36,0x7c,0x69,0xc0,0x2d,0x12,0x47,0x4e,0x5c,0xa9,0xe5,0xc7,0x68,0xa7,0xee,0x3a,0x3d,0x47,0xeb,0x22,0xd1,0xac,0x9e,0x04,0xb7,0x04,0xa7,0x4f,0x41,0x69,0x47,0xf3,0xf4,0x9a,0x32,0x42,0x59,0x4e,0x7b,0x63,0x90,0xe8,0x2b,0x60,0xd5,0x05,},"\xa5\x66\x74\xa1\xe1\xf0\x97\x95\x25\x1a\xbe\x54\xab\x43\xc2\x98\x20\x8f\xef\xc9\xbb\x91\x76\xfd\xb2\x3e\x1e\x9f\x60\xf0\x32\x64\x79\x15\x56\x7e\xbd\xcc\x2b\x86\x9e\xdb\x70\x55\xf4\xab\xa6\x7e\xcf\xe7\xfa\x19\xed\xa4\x5c\x06\x04\x7c\x7a\x51\x84\x8b\xe9\x97\x32\x51\xf8\x5f\xf7\x6f\x1c\x59\xe3\x65\x43\x82\x85\x8c\x9b\xe1\x23\xdb\x8a\x94\x90\xc6\xc9\xb3\x09\xb8\x2d\x1e\x2c\xa6\xf4\xa0\x7d\x00\x12\x02\x83\xc6\xc2\x95\x64\x49\x95\xa9\x66\x28\x61\x2b\x8d\x67\x91\x57\x35\x18\xe2\x55\x6a\x68\x8a\x09\xf1\x49\xbc\x84\x6a\x68\xbd\x0e\xf7\x92\x79\x03\x57\x10\x03\x1e\xf0\xa8\xfe\xd1\xdd\x0b\xf0\x26\x12\x5d\xc6\x64\x8f\x86\xf6\x43\x09\x94\x2e\x18\xf2\x3b\x12\xd1\xdc\x68\xc6\xf2\x77\x0c\xa8\xb5\x48\x5b\x36\x9b\x0c\x92\x00\x7a\x94\x61\xc1\x39\xfc\xbb\x41\x17\x5f\x31\x6d\x44\x67\x06\x0a\xb4\x3d\x12\x22\xf5\x80\x24\x04\xbf\x63\xc2\xdf\x7e\x00\x4b\xdc\x40\x0c\xa8\x0f\xe0\xd2\xcb\x68\xa2\x10\xfb\xc3\xfc\x0b\x90\x32\x09\xd5\x47\x6e\x7a\x56\xba\xef\xb8\xfa\xd7\xf3\x28\xb7\x2f\x32\x71\x13\xe1\x39\x41\x4b\xa6\xf3\x4e\x99\xc2\xec\xcd\xe0\x44\xe7\xa3\xac\x70\xc5\x80\xcd\x26\xc7\x45\x01\x92\xca\x4c\x82\x3c\x7a\xc5\xea\xe8\x76\xc0\xd1\xc8\xc7\x68\xc1\xcb\x0b\x7e\xa4\x1f\xc9\xb7\xd2\x94\x37\xbb\xad\xab\x18\xe0\xf5\xed\x1d\xef\xe0\xcf\x6c\x0e\xba\xa6\xb6\xd7\x77\xf4\xda\xd9\xab\xdd\xbf\xc0\xfd\x6a\xb5\xee\xea\x80\x3c\xfa\x01\xc0\xbd\x46\xf6\x5f\xef\xa4\x69\x01\xab\xbe\x0d\x89\x10\x4e\x3b\xc4\xae\xe1\xf0\x59\x9c\x69\xb6\x7b\xa5\x45\xab\x9b\x54\xf5\xde\xe3\x40\xac\x69\xd8\x82\x99\xe8\x68\x22\xac\xdd\xdd\xce\x60\x11\x22\x01\x2f\x99\x29\x97\x74\xaa\xf1\x7c\x96\x4e\xde\xcb\x95\xe1\x27\x7d\x46\x2d\xe6\x4e\x91\x15\xa6\x1a\xd9\x8a\xa3\xd2\x2e\x3b\xa6\xf8\xf1\xcd\x69\xb6\xb5\x2b\x83\x38\x28\x23\xf3\x0e\x96\x6b\xda\xd1\xff\x5f\xc1\x98\xae\x32\xe9\xb6\x80\x55\xd4\x39\x2b\xc7\xc3\xdf\x10\x15\xf1\x28\xae\xe1\xe4\xfa\x3d\x49\x99\xe3\x29\xf2\x2f\x0f\xf6\xaa\x77\x8b\xae\x02\x94\xa1\xdf\x74\x36\xcb\x16\xa2\xbf\xcd\x74\xb4\x63\xab\xe7\xcb\x4b\xac\x53\x62\xc8\x9c\x9d\x1a\x37\x8a\x2c\xb8\x85\xcc\x3b\x26\xab\x4b\xe8\x81\xef\x1a\xfc\x14\x43\x0e\x10\xd2\x65\x39\xca\x35\x8c\x36\x76\x28\x6a\xd8\x1c\xe1\xc9\xe7\x85\x92\xaf\x66\xf1\x82\xbb\x1f\x7f\x86\x2f\xe7\x55\xbf\xfb\x5b\xe5\xc5\xf2\xb7\x31\xc1\x32\xe2\x38\x8a\x76\xa1\xa7\xb1\xcd\xdf\x05\xae\xd2\xac\x9e\xc4\x08\x47\x52\x71\x94\x2c\xca\xdd\x32\xe4\x9d\x87\x91\xed\xf8\xb8\xde\x11\x75\x51\xce\x26\x4a\x60\xb8\x41\x05\xea\xe8\x7e\x66\xf6\xa4\x01\xd1\x32\x2b\xb2\x1a\x98\xe8\xac\xd2\x77\x49\x32\x54\xe5\x04\x00\x4f\x72\xc7\x6e\x79\x03\xd2\xfa\x38\xfa\xb7\x17\xe9\x4c\xe6\x27\x94\x7c\x4e\xa3\x26\xbd\x25\x75\xc3\x73\x10\xf3\xb4\xd8\x43\xb9\x0f\xa7\x7d\x32\xd9\x95\x21\x94\x15\x0b\x62\xf8\x50\x18\x7a\x4f\xdf\x38\x46\x6d\xfa\x06\x56\xc0\xa2\xe0\xb3\xf0\x74\x92\xac\x8e\x37\xe5\xd0\xdf\x95\xcc\x89\xdf\x30\x85\xa2\x69\x29\x1d\xc2\x51\x22\x10\xd3\xfe\x44\x24\x8d\x7a\xb9\x96\xbe\x09\x9a\xf6\x4c\x22\x75\x66\x66\xf8\xde\xa5\x6c\x00\xb9\x06\x77\xd1\x18\x25\x00\xdd\x27\x4f\xd0\x76\x92\x53\x82\x6d\x67\x7a\xb1\x6a\x55\x7b\x08\xb3\xc5\x22\x65\x49\x8d\x85\xc4\xcb\x2b\x60\x0e\xe0\x48\x1b\x7c\x1c\x47\x6a\x9d\xaa\x8b\x88\xc7\x1f\xc2\x1b\x6f\x89\xbf\xdf\xec\xe5\x8d\xa9\xe8\xd5\x65\x65\x2e\x43\x95\xbd\xf4\xc8\x11\xb4\xf4\xf2\x2d\x2b\x96\x13\x26\x1f\x88\xc6\x04\xc2\x97\x4d\x3e\x97\x7d\x14\x0d\x04\x6e\x1b\x66\x25\xb7\x07\x16\x40\xd3\x52\xcb\x7e\x7e\x65\xd4\x6c\x61\x34\x47\xbe\x8d\xc5\xa2\x00\xaa\x9a\xca\xb4\x6a\xfc\xcf\xeb\xb6\xb1\xc3\x19\x73\x24\x6c\x34\xfa\xaf\x8d\x26\xea\x5e\x83\xbe\x15\x71\x8f\x8f\xdb\x0c\xfc\x44\x4e\x2e\xb6\x0f\x36\x59\xb0\x20\x16\x1c\x22\x8e\x6b\x92\x40\xb7\xac\x39\x4c\xab\x81\x2d\xe1\x05\x15\x76\x6f\x22\x47\x3e\xcc\xa5\x35\x59\x4c\xe5\x28\xa5\x7c\xf5\xda\xb2\xeb\x32\xab\x84"}, -{{0x3a,0xbb,0xdb,0x0b,0xa1,0x1a,0xa1,0x06,0x3b,0xd2,0x6b,0x02,0xc1,0x16,0x03,0x78,0x62,0x28,0x5b,0xab,0xd2,0x15,0xd2,0x40,0xbc,0x9c,0x09,0x26,0xf4,0xec,0xea,0x81,},{0xb8,0xfc,0x59,0x43,0x8f,0x8c,0xe9,0xe3,0x78,0x5a,0x47,0x3b,0x22,0xc8,0x89,0x2c,0x51,0xea,0xc2,0x56,0x8c,0x68,0x1d,0xcc,0x77,0xb6,0xf0,0xe0,0x79,0x9c,0x4e,0x33,},{0x98,0x1f,0x20,0x05,0x5a,0x45,0x75,0x25,0xae,0xe5,0x61,0x62,0x64,0xe6,0xaf,0x42,0xe8,0xb3,0x87,0xcb,0x08,0xf8,0xb4,0xa7,0x3f,0x9b,0xe0,0xb3,0x66,0xf1,0x03,0x5b,0xb3,0x0a,0x1c,0x87,0x48,0x94,0xcb,0xec,0xe0,0xa8,0x46,0xd8,0x49,0xb7,0xec,0xc5,0x56,0x58,0x5d,0x0d,0x3d,0x39,0x56,0x45,0x80,0x7f,0xf2,0xa3,0xca,0x5a,0x59,0x0c,},"\xdc\xcd\x55\xf9\x22\xcd\x27\x4f\x69\x75\x00\x0a\xdc\x8d\x98\x63\x0c\x6d\x75\x2c\x12\x02\xa9\xdd\x12\x10\x48\xb9\x39\x45\xaf\x2b\x11\x10\x96\x77\x88\xf9\x9e\xc0\x28\xe3\xd3\xb4\xcf\x82\xfb\x07\x17\x3e\xa4\x40\x1e\x3b\xb4\xb0\x7b\x7b\x0b\x24\xb0\x59\xa7\x66\x33\x95\x32\xd9\xdf\x3e\x31\xb7\x2c\x95\x8c\x11\x9d\x8d\xfa\x15\xa5\x07\xaf\x6c\x5f\x7e\x78\xfe\x27\x0f\xa8\x1b\x9d\xf0\xf2\xe4\xaf\x24\xbd\x99\xfb\xeb\x14\xe0\x03\x30\x84\xd7\xfb\xf8\x4d\xde\xdf\xd5\xce\x56\x75\x1d\x15\x90\x84\x75\xdf\x8a\xf0\x13\xd0\x91\x17\x3c\x13\x86\xb9\x13\x94\x26\xcc\x60\x81\xea\x16\x5b\x8c\xe4\x81\x94\xb8\xe1\x8a\x9b\x91\xa4\x63\x13\x44\xfe\x29\xc8\xe7\x28\x18\xb7\x1f\xa1\x5c\x92\x92\xd1\x3f\xdf\x5f\x9d\x18\xe2\x9b\xd0\x29\x1b\x81\x38\xde\x73\x8f\xd3\xa3\x6c\x35\x23\x90\x22\x36\x8b\x45\x6f\x1f\xac\xba\x90\xa0\xd8\x0d\x6e\x31\x1c\x5f\x6c\x6f\x04\x67\x7e\x92\x37\x3a\x5f\xc4\x73\x88\x94\xdb\xed\x20\x6c\x30\xda\x34\x1b\x3b\x19\x6c\x94\x78\x58\xa6\xd2\xad\xc6\x8a\xac\x3f\x20\xcf\xdb\xe0\x49\x79\x61\xda\xe3\x34\x70\x26\x6d\x17\xec\x71\x9a\x59\xf0\x58\x6f\x82\xf9\x9f\x1c\x90\xed\x70\x05\xa2\x07\x21\x9a\x55\xed\xc7\x60\xf4\xeb\x8f\x24\x02\x64\x7f\x6f\x77\x97\x1f\xf7\xb6\x34\x35\x7b\x6b\x29\xbb\xd7\xea\x05\xe2\xe2\x58\x54\xe9\x9c\x62\x0f\x4b\x8b\x64\x73\x90\x22\xff\x0b\x33\x8a\xfe\xf3\x5f\xb6\xf4\x1a\x53\x62\x9a\x51\x8e\xb9\x3d\x66\x02\x0f\xb3\x53\xae\xf8\xdd\x07\x1e\x09\xc9\x16\xd4\x70\x4a\xcd\xf7\x76\xb3\x8c\xa9\xc5\x9f\x21\x1f\xf8\x8c\x43\x0a\x57\xe8\xf1\x71\x39\x23\xb3\xf3\x0c\xa8\x69\x70\xa1\x4a\x52\xdb\x4b\xcb\xe6\x0d\xf4\xbc\x3c\xfd\xf2\x54\xbf\x10\xf8\xaf\xae\x87\xbd\x61\xb3\x58\xf4\x3c\xc2\x96\xc0\x41\x29\x64\xc4\xe0\x0f\x71\x21\x33\x97\x46\x85\x17\xcb\x01\x37\x9c\xb7\x29\xc7\xb9\xe3\x5b\xd5\x0b\xdd\x98\xc3\xd3\xb7\x62\x97\xa1\x38\xb5\x7c\xeb\x6c\x77\x74\x2d\xf0\x88\x1d\x07\x66\x8c\x08\xa6\x30\xa4\x4e\x6e\xd7\xeb\x20\x6d\x6a\x56\x44\x07\x10\x43\x8a\x51\x11\x42\x4b\x61\xaa\xee\xce\x40\xe9\x00\xf5\xe3\xc4\x57\xe9\xd6\xe3\x1a\x79\xec\x5b\x4b\x42\xb6\x8e\x66\xe1\x99\x30\x92\x87\xca\xd6\x53\x36\xfc\x7f\xe4\x3f\x43\xcd\x8c\x77\x3d\x3c\x65\x80\xd7\x21\x7e\x2c\xab\xec\xd3\xea\xbc\x48\x5c\x4a\xcf\x47\x71\x8c\x39\xb0\x2c\x78\x58\xff\x34\x7c\xec\x75\x35\xed\xdc\xd4\xfc\x81\x5d\xf8\x14\x56\x9a\x88\xae\x70\xf2\x73\x3a\x65\x39\xf2\x08\xc7\x9c\xf4\xe7\xc4\xf9\xea\x24\x1a\x92\xe9\x51\x51\x71\x36\x14\x18\xa4\xc2\xe5\x3c\x07\x6a\xaa\xbc\x47\xe4\xc9\x71\xbd\x04\xb1\x00\xc2\x62\x82\x30\x88\x57\xe0\x6e\x7e\x5f\xbc\x43\x42\x56\x4f\xb3\xb1\xea\x4a\x17\xa9\x25\xe9\x1e\xe6\x91\x22\x32\x1d\x39\x2b\x24\x69\x65\xb8\x6b\x54\xfd\x5c\x83\xfa\x5c\x47\x41\x63\xf9\x8a\x9f\x44\x7d\x88\xcb\x59\xfe\x2c\xdf\x9f\x54\x12\xfc\xbe\xb3\xef\xfa\xc8\x97\x67\x91\xc6\xa4\x7b\x66\x9a\x2f\xc5\x5a\xbe\x8e\x09\xe7\x41\x57\xef\xcd\x1c\xa7\x8f\xc1\x0f\xa6\x87\x01\x0c\x68\x26\xc6\xe8\x96\xef\x5c\xd7\x1d\x0f\xe4\xd1\xbd\x07\xc1\x0d\xac\x3b\x03\x48\x5e\xdd\x25\x69\xa7\xee\xcf\xbc\x4e\x5d\x2e\xe2\x37\x98\x59\xe2\x65\x26\x7b\xed\xaa\xd6\x9d\x93\xb7\xc1\xbd\x18\xf2\x7e\xa4\x24\x83\xc7\xe4\x10\x0e\xe0\x5b\x28\x30\x39\xbf\xb9\x89\x1d\x37\xc4\x67\xed\x83\xb8\x8c\x79\x4e\xab\x6b\xab\x9d\xc6\x77\x89\x26\x50\xe2\xd8\x96\xfb\xfe\xc1\xb1\xcd\xb7\x21\xbe\x30\xb0\xb8\xe5\x35\x87\x09\xe1\x65\xcb\xe3\xa1\x82\xc9\x3b\xc0\xa0\xce\xa2\xf8\xcf\x3a\x62\x57\xad\xf7\x64\x53\x40\x41\x20\x22\x41\xa5\x27\x9b\x66\x8e\x40\x12\x5f\xc0\x94\x58\x5a\x3c\x58\x8a\xba\x82\xb6\x7c\xd9\x1d\x48\x3e\x54\x30\x04\x28\x42\x68\x63\xa4\x23\x64\x04\x9d\x7c\x45\xa1\x69\x38\x5a\xa8\x9b\xf3\x77\xf0\xd3\x2b\x07\x80\x9b\x58\x71\x39\x5e\xc0\x53\xa2\x57\xd9\x3e\x48\xbb\xf4\x07\xeb\x60\x91\x40\x1e\x25\x65\x46\xe3\x1f\x9f\xcd\x24\xd2\xc5\xb3\x33\xcf\x65\x78\x50\x02\xf0\x8d\x54\x8d\xb2\x6a\xd1\xf3"}, -{{0x8a,0x44,0xd6,0xaf,0xc6,0xc8,0xee,0xe1,0xbc,0x7d,0x5f,0x69,0xe4,0x95,0xb0,0xb1,0x8c,0xa7,0xae,0xe0,0x07,0xde,0xa7,0xcf,0x0d,0x17,0x14,0xd7,0x85,0xa9,0xf4,0xed,},{0xd4,0xf3,0x66,0xb3,0x37,0x7f,0xa3,0x9b,0x36,0xf9,0xae,0x14,0xda,0x40,0x4e,0x22,0x40,0x49,0x0d,0xbd,0x8d,0x79,0x6b,0x1a,0xb8,0x72,0xdf,0xcb,0x83,0xa5,0x95,0x40,},{0xe0,0x72,0x7e,0xb7,0x2e,0x84,0xd2,0xb8,0x2c,0xdb,0xd0,0xa6,0xbd,0x2f,0x49,0x49,0x63,0x16,0xaa,0xe8,0x35,0x1e,0x49,0x02,0xac,0xd5,0xe3,0xcc,0x57,0x34,0x6e,0x7e,0xba,0xfd,0xd9,0x2a,0x90,0xde,0xd7,0x6f,0xd0,0xc6,0x69,0x0d,0x68,0xbb,0x2f,0xed,0xd6,0x13,0xe4,0x4f,0xa2,0x22,0xbe,0x01,0x26,0xda,0x52,0x0a,0xcc,0x2c,0x41,0x05,},"\xde\x80\x32\x69\x66\x53\x6c\xe9\x49\x96\xaf\x2d\xe7\xa0\x76\x05\xcc\x4f\xcb\x9e\x75\xee\x0a\x67\xa1\xe2\x09\x32\x11\x1d\xe9\xb3\x56\xd5\xbe\xea\xe8\x6c\xc5\xf5\x64\xc1\x0d\x66\xe3\xde\x95\xa5\xb9\x9e\x84\x49\x28\xea\x8e\x77\x58\x6c\xf3\xc1\x0a\xd3\x63\x3d\xde\xeb\x1d\x9d\xcf\x3f\x94\xb7\x0b\xf1\xef\x63\xd2\x38\xdf\x20\x4d\x70\x5c\x0b\x17\x4f\x83\x28\x25\x45\xf5\xe4\x07\x5f\x8d\x69\xa4\x81\x79\xc2\x9e\xab\xf5\xc1\x74\x2e\xf3\x9e\x1a\xd9\x63\xbe\xbb\xb6\x6f\xce\x94\x91\xa9\x84\x65\x12\x15\xc2\xe7\x50\xe6\xee\x83\x65\x76\x64\x40\xa8\x44\x19\xe5\x2d\xcf\x67\x1f\x1c\x52\xea\xa2\xb9\x90\x2b\xcc\xa4\xb3\x7c\xff\xdb\xac\x8e\x7e\x7e\x6b\x0a\x5c\x87\x48\xef\xbf\x45\x2d\xf6\x16\x3f\x4c\xa0\x7b\x61\xf9\xa0\x5e\xc2\x0a\x2b\xd6\x33\x38\x9e\x67\x0b\xb5\x45\x4a\xcd\x6f\x3a\x06\x33\x5b\x5d\xa9\xec\x32\x62\x64\xe9\x62\xc7\xd9\xd0\x6c\xe7\xe9\xff\x04\xa0\xa5\xbb\xdf\xaa\x4c\x41\x08\x66\xa5\x72\x01\x16\x51\x43\x9f\x2d\xbc\xe5\xde\xe6\x67\x92\x4a\xc4\x93\x4d\x20\x54\x96\xbd\x1d\x4d\xf0\x8b\xd0\xcb\x3f\xd2\xde\x73\xa2\xef\x34\x2f\xf0\x09\x1e\x10\xe1\x5b\x3b\x76\x0a\x57\x5d\xf9\x3c\xf1\xc9\x7c\x01\xc5\xab\x11\xc0\x94\xbf\x34\x87\x82\x06\x71\x8f\x6b\x28\x5a\xa5\xcc\x51\x27\xbd\x7f\x98\x8b\x84\xa9\x04\x95\x30\x6f\xd9\xe9\x9d\x89\x55\xe6\x68\xd1\xa3\xff\x10\xf6\x5b\x7c\x47\x9f\xac\x24\x11\x9a\x3c\x10\x12\x2d\x4d\x18\xa8\x05\xb2\x47\xdf\x16\x8c\x0a\x51\x00\x16\x9b\x55\x72\xd1\x70\x12\xd7\x51\xa4\x2e\x83\x37\x61\x15\xe1\x15\x61\xc1\x60\xc1\x5e\xfa\xd7\x6d\x21\xf7\xab\xb4\x30\x36\x64\x75\x23\x86\x31\xf8\x4c\x88\xf8\x38\xb0\xac\x40\x4c\x91\x3d\x2f\xa1\x24\x50\x23\x84\x85\xc3\x02\xfc\x20\x1f\x44\x15\x1c\x19\xbc\xbd\xc1\x19\x0c\x12\xd1\x54\x08\x31\xfb\x19\x58\x1c\xb9\x31\x72\xb0\xd2\xff\x5c\x65\xf3\x1c\xaf\xf2\x0f\x81\x38\x81\xf8\x4e\x5e\xf9\xd5\xc1\x65\xe0\x96\xd2\x54\xca\xdf\x89\x52\x49\xaa\xb8\xd4\x49\x6c\x94\x0a\x40\xf9\x07\xbd\x40\x93\x5a\x94\xf5\xe5\x5b\x6d\xd0\x51\x15\x41\x00\xfe\x33\x17\x70\xef\xf2\xba\xd6\x54\x56\x19\xb8\xa3\x3e\xf6\x46\x2a\x50\xc0\xb2\xc4\xed\x2f\xba\x4e\x4e\x38\x3e\xbf\x29\x32\xe6\x19\x27\x66\xa4\xaa\xd1\xd6\xe2\xb6\x92\xd9\xf2\xbd\xc2\x33\x93\xe8\xaa\xcf\xba\x32\x3b\x53\x4f\x84\xed\xf2\xdc\xed\x7c\x94\xd5\x16\x87\xda\xa2\x71\x98\xa9\x14\x4b\x31\x2b\x71\x6f\xe1\x70\x14\xa7\xbe\xd0\xc1\x4a\x24\x38\x73\x3d\x55\x5c\x65\x64\xc8\xc1\xa3\xd9\x97\xeb\xae\x7b\x3d\xe8\x87\x7a\xf5\x3c\x1d\x1a\x50\x29\x15\x8a\x80\xaa\x0c\x87\x48\x9f\xef\x27\x0c\xdf\xfe\x10\xd3\x4b\x15\xc1\xa9\x69\x3a\xe0\x39\x02\x43\xe3\x14\xcf\xac\x06\xef\x6e\xef\xeb\xcc\xf4\x3d\x42\xea\xc2\x4c\xe9\x87\x94\x29\xd2\xfc\x72\x53\xb3\xed\x17\x58\x25\xbc\x4d\xa0\x76\x2b\x49\x33\xa9\x8a\xfd\xb9\x4b\x06\xf4\xfc\xd2\xad\x36\x11\xaa\x99\x9d\x7c\x1c\x8d\x85\x2d\x01\xdd\x9e\x52\x64\x84\x55\xa0\x4e\xb2\x33\x0a\x76\xfd\x94\x2c\x53\x1e\x51\x4b\x5e\xc0\x72\x8a\x89\xd3\x4c\xa5\x90\xea\x99\xc8\x8f\xaa\x20\xdf\xb7\xbb\xf6\x56\x54\xaa\x6c\x21\x2b\xeb\x8a\xd6\xbf\x7c\x77\x73\x91\xcd\x49\xc3\x9c\xf8\xab\x51\xb9\x5b\x41\x9e\x3d\xfc\x8d\x94\xa9\x3a\x1e\xf0\x22\x3c\x6d\xe9\x0b\xf9\x62\x18\xd8\x04\x5b\xd4\x95\x2a\x0d\x83\x72\xa5\x57\x8c\x6a\xaf\xa7\x4b\xa6\x62\xe3\x18\x8e\x6a\x6e\x56\x7e\x4d\x2f\xe8\x22\x7d\x07\x43\x98\x2a\x41\xeb\xfa\x0d\x31\x0f\xe7\x9f\xed\x27\x04\x17\x90\xef\xd5\xaf\xac\x22\x43\xe1\xd1\x50\xb1\x45\x01\x5d\x9d\xea\xb0\xed\xed\x63\x94\xac\x36\xfc\x5f\xb2\x01\xf5\x20\x4f\xbd\x42\x2a\x36\x04\x23\x30\x15\xbb\x0a\x48\xa9\x20\xe2\xe5\xe0\xd4\xde\xed\x67\x20\x25\xf2\x3c\xfb\xa9\x38\x89\x59\x7e\x50\x4c\x88\x87\xad\xd4\x6c\xfe\xf4\x02\x4a\xfb\x8a\x26\xee\xb7\xdc\xdd\xb2\x39\x7b\x44\xa1\x79\x63\x67\x34\x00\x42\x13\x70\x28\xc3\x30\x76\x26\x81\x6c\x29\x31\xe6\x1e\xbb\x6b\x69\xed\xcb\xcb\x61\x2c\x9b\x18\x1a\x28\x53\x01\xce\x46\xf8\x2f"}, -{{0x8a,0x97,0x2d,0xd0,0xf1,0x19,0x0c,0x2b,0x9d,0x54,0x8f,0x4b,0xa5,0x82,0x64,0xbb,0x04,0x82,0x67,0x75,0x50,0x2a,0x8d,0x5c,0x2b,0x20,0x9e,0xe8,0x8d,0xce,0xa5,0xfb,},{0x6d,0x80,0x37,0x5f,0x3c,0xf1,0xaa,0xb2,0x83,0x55,0x1d,0xf4,0x45,0xd1,0x7e,0x7d,0x3b,0xaf,0x9b,0xcb,0xec,0xbb,0xb2,0x67,0x05,0x2e,0x02,0xfd,0xb6,0x91,0x44,0xd3,},{0xbd,0x45,0xb3,0xc0,0x45,0x85,0x0e,0xbe,0xf7,0xb8,0x0d,0xd1,0xde,0xab,0x48,0x03,0x7b,0x13,0x46,0xc7,0x1d,0xea,0xf1,0xe5,0x8f,0x2a,0x7b,0x16,0x26,0x74,0xf9,0x4d,0x1e,0xf3,0xd4,0x23,0x90,0x37,0x33,0x0b,0xd6,0x33,0x5f,0xe4,0xf0,0x14,0x92,0x50,0x90,0x1f,0x00,0xa8,0xe4,0x6b,0xe5,0xfa,0x0a,0xae,0xc6,0x9d,0xe0,0x6d,0x73,0x04,},"\x30\xb2\x89\x48\x93\x9a\xa2\x63\x43\x7e\x45\xc5\xc0\x25\x4f\xb2\x0e\x61\x7e\xd0\xf3\xfa\x7d\xac\xe5\xa0\xa8\xe0\xfe\x3c\x1f\xc4\xad\xb2\x80\x9b\x61\xc5\xe8\xd9\x2c\xd2\xf3\xde\x93\xb1\x73\xbe\x70\x7b\xad\xa9\x42\x40\xc6\x26\x2c\x16\x0e\x8c\x78\x21\x65\xbe\xef\x99\xd0\xbe\x8e\xcd\xad\x63\x16\xdc\xd7\x34\xbb\xb9\x0a\x66\xcb\xd5\xb1\xcb\x4f\xd8\xf2\x22\x6c\xea\x94\x8e\x4d\xf7\x6b\xbe\x25\x1d\x47\x8f\x5c\x3f\xe0\xd6\xde\x4b\xe5\x4f\x67\xf5\x02\xb2\x80\x4f\x62\x8b\x79\xa5\x50\xfb\x1a\xc4\x83\xad\x2b\xa1\x66\x37\xc4\xbc\x9d\xa6\x7f\xb4\xf9\x86\x59\xc4\xc4\x39\x4d\x16\xb6\xd1\x4b\x3e\x0b\x0c\x1e\x62\x5d\x71\x0d\xcc\x1c\x11\xdf\x5d\x34\x14\x7b\x1e\xc5\xa4\x17\xb9\xe2\x1f\x90\x8c\xfc\x52\x3d\x43\xe3\xf1\x81\xc7\x20\x9c\xc5\x6b\xdb\x5a\x21\x62\x86\x95\xed\x32\x0f\x8d\x4c\x07\xfd\x6d\x84\xaa\x03\x42\x6f\x21\x64\x4a\xae\xfe\xee\xc3\x11\xc7\x4e\x94\x99\x93\x60\x47\x35\x0a\x9b\xf5\xb7\x03\x96\x2e\x77\xce\x55\x13\x36\x83\x5f\xc3\x2c\xcb\xd2\xc9\x0a\xe5\x2e\x24\xd4\x7d\x8d\xcb\x98\x7a\xbd\x12\x1d\x3f\x74\x6b\x5d\xe2\x30\xf2\x64\x69\x60\x3f\xb0\xc4\xa8\xf6\xcd\x79\x73\xd7\xda\x88\x2e\xd1\xd6\xe4\xd9\xc5\xa4\x6e\xc2\xc2\x19\x40\xad\x33\x89\xa1\x86\x01\x4e\xe9\x72\x78\xe5\x35\x09\x88\xb1\x5e\xcd\x9e\xa7\x45\x6b\x3c\xb5\x5e\x4d\x30\x93\xf1\x3a\x87\x5b\x50\xd6\x51\x63\x78\xec\xaf\x58\xd7\x52\xc6\x37\x4e\xd1\x56\x38\x40\x93\x11\xfc\xd3\x79\xd1\x22\xc8\xd8\xc5\x9b\x86\xf4\xe8\xdc\x46\xad\xb7\x30\xa9\x33\x84\x6e\x0b\xd2\x48\xd3\x60\x82\x52\xd9\x70\xb5\x04\xc8\x13\xc6\xde\xa9\xfc\x88\xa3\xde\x64\x19\x56\xdc\xa2\x91\x20\x4d\x39\x0b\x6b\x39\x98\x1f\x8c\x0a\x6b\xcf\xc3\x1c\xa0\x74\x44\x20\x66\x2a\x9b\x35\xeb\x3f\xc2\x11\xf8\x10\xa3\xe8\x06\x25\x00\xb1\xe4\x9b\xdf\x85\x76\x65\xff\x32\xa9\xba\x76\x19\x4b\xbb\x77\xfb\x9c\x15\x41\x29\x64\x24\x4b\x98\x65\xf7\x3d\xed\x9f\x25\xb4\x9b\x42\x5a\xa2\x53\xd8\x07\xd9\x81\x82\x92\x76\x3a\x51\x3e\xc8\x07\x47\x34\x4f\xba\x0a\xcf\xe5\x93\xcc\x26\xb1\x33\x0b\xb9\xad\xe6\x6c\x4e\x88\xcf\x1b\xae\xd6\xd6\xe7\xb7\x50\xe6\xc7\x23\x9d\x7b\xcb\xfa\x3f\xbe\x45\x40\x5a\x63\xb9\x6d\x50\x34\xcc\x0c\x07\xff\xc3\xb5\x08\x58\x08\x1d\x19\x55\xe2\xd2\xfe\x5b\xe5\xfd\xa7\xa8\x99\x69\x43\x76\x8b\x05\x51\x70\xb7\xfd\x52\xf0\xa3\x20\x97\xfe\x1b\x7a\x94\xf1\xbf\x87\x9a\x0c\xba\xbe\x10\xac\x9a\x7c\xc1\xf9\xf5\x50\x68\xc4\x8e\x3c\xcc\x06\x51\x36\x43\x10\x18\xd3\x8d\x20\x10\x9d\xc9\x5d\x99\xcc\x2b\xbe\x7c\x62\x7a\xb1\xa8\xaa\x5f\x43\x16\x13\xb7\x90\xc2\xe6\x52\x6c\xf0\x4f\xdc\x9e\x55\xf5\x1c\x05\x5f\x3c\x20\x45\xa6\x75\xe3\xa1\xe5\x4b\xa4\x09\xf7\xae\xfa\x7e\x4a\xa0\x7a\x2b\xbd\x5e\x4a\xb1\x63\x21\xa9\xf0\x99\x69\x43\x91\xfd\xa6\x8a\x74\x58\x1e\x2f\x1f\x11\xdd\x9a\x6d\x52\x4b\x1b\x83\x26\x0d\xb5\x7b\x72\xef\x29\xc2\x8c\x8d\xb5\xc3\x7f\xd1\x85\xb7\xc2\xd8\x45\x50\x90\x65\x3a\xf3\x32\xdb\xc8\x2b\xfb\x0d\xb5\xdc\xca\xbf\xb6\xb2\x8c\xaa\x35\x05\x25\xcb\x54\xcc\x84\xe5\x53\xe1\xcf\x39\x54\xb6\x12\x39\x3e\x79\x93\xff\x7e\x8b\xf5\xec\xe3\xf1\x45\x09\x4d\xd7\xa2\x7c\xb4\x7f\x22\x74\x76\xf2\x89\x23\x52\x51\xf7\x72\xb3\xba\x77\x6b\xb7\x73\xaf\x0c\xc5\xf7\x86\xa3\xfb\x9e\x93\x1a\x53\x0c\xfb\xd8\x91\xcb\x5a\x5d\xfe\x25\x16\x9e\xf9\x33\xcc\x82\xc9\x08\x0f\x32\x39\x61\xa1\x20\x15\x8e\x4b\xbd\x71\x13\x4e\xf1\xf9\x01\x08\xb8\x15\xc2\x89\xd4\xe9\xa9\x58\x9e\xc6\x4c\x05\xfb\xb4\x2a\x21\xb2\x3d\x16\xe2\xa6\x46\x78\xae\xcf\xab\x65\xcd\x9a\x80\x6c\x59\x81\x03\xd4\x1f\x70\x09\x77\x63\x17\x83\x1f\xed\xdd\x1c\x90\x02\xd4\xa9\x22\x04\xf9\x7b\xa9\x49\x0c\x61\x46\x98\x03\x07\x21\x02\x52\x4b\x9d\xf5\x19\x00\x5f\x98\xaf\x54\xd6\x0c\xa5\xba\x60\xb5\x5b\x09\x6a\x4a\xc2\xb1\x6e\xb9\xcc\x81\x97\x3c\x31\x35\xd3\xfb\x68\x73\xdd\x96\x53\x80\x0a\x22\xbb\x5d\x0d\x61\x17\xca\x5d\x91\x65\x53\xbe\x39\xc9\xa3\xb5\x11\xeb\x3d\xb7\x30"}, -{{0x12,0x38,0x0c,0x45,0xa7,0x9a,0xde,0x0f,0x48,0x3c,0x88,0x1a,0xaa,0x37,0x30,0x43,0x8b,0x08,0x35,0x90,0xf4,0x04,0xdc,0x9e,0x60,0x1f,0x76,0x15,0xf3,0x75,0xa6,0x28,},{0xd6,0x6f,0xc5,0x9a,0xe9,0x17,0xf7,0x6d,0x24,0xce,0x8a,0xb8,0xee,0x03,0xfb,0xcb,0x71,0x5d,0x5e,0xea,0x4b,0x08,0x39,0x2b,0x59,0x1e,0x64,0x85,0x91,0xc7,0x3c,0x89,},{0x02,0xb2,0x51,0x74,0xa3,0xdd,0x52,0x19,0xed,0x48,0xb2,0xc9,0x4c,0xa2,0x12,0xb6,0x3a,0x6a,0x3a,0x25,0x97,0x70,0x3c,0x07,0xb7,0xf0,0xc9,0x65,0xc3,0xc6,0xac,0x2e,0xb4,0x50,0xef,0xe3,0x87,0x16,0xa2,0xa2,0x8b,0x3f,0x89,0x84,0x6b,0x06,0xeb,0xdc,0xa4,0xbd,0x09,0xaa,0x58,0x1f,0x24,0xe8,0x4d,0x80,0xfc,0x10,0xac,0x1a,0x00,0x0a,},"\x68\x45\x23\xc2\xe7\xfa\x8b\x4b\xd7\x54\x8c\x4b\xac\xaa\x86\x78\xa3\x30\xdb\xbb\x96\x06\x32\x94\x01\x66\xb2\xcc\x9a\xfc\x15\x35\xc8\x0c\x11\x2c\x8d\xc4\xad\xa7\x62\x92\x33\xfe\x90\x90\x55\x23\x7d\x51\x3e\x29\x2a\xf1\x5a\xd7\x69\x2f\x11\x5a\xa0\x92\xda\x65\x75\x32\xf5\x18\x99\xc3\xf7\xf5\xd9\xd4\x07\xed\x5c\x16\x3e\xb3\x95\x04\x80\xa4\x12\x2a\x09\x92\x98\x1f\x07\x7b\xc8\x67\xf9\x06\x07\x54\x07\xba\x98\x49\xc4\xea\x04\x73\xce\x54\x0a\x79\x67\x44\xef\xa3\x86\x03\x78\xe1\xb8\x93\x43\xe5\x83\xd0\x80\x7e\x5a\x67\xc4\xd5\xbd\x7c\xe6\x41\x29\xfe\x90\x2b\x8c\xfa\xbd\x2c\x21\xfa\x3d\x2a\x10\xe9\xbf\x9e\xa5\xe5\x47\x3a\xe2\x50\xc9\x16\x05\x09\x97\x26\x78\xf9\xa7\x40\xe6\xca\xdb\x3b\x52\xf5\x02\xfa\x61\x6c\xff\xae\x1d\xef\x89\x3d\x54\xe4\x1e\x54\xd3\x26\x46\x4c\x9f\x43\x5c\x63\x50\x5f\xb1\x5e\x3e\xea\xf5\x02\x1c\x65\xdc\xd0\x10\xf8\x40\xaa\xb3\x17\xc8\x60\x5d\xfb\x1a\x0c\x8a\x3d\x55\x49\x86\x1b\x69\xaf\x2c\x93\xd8\x6c\x98\x1d\xf3\xa5\x1c\x5b\xf5\x78\x5c\x2f\x85\x26\x10\xe4\x4f\xa4\xff\x1c\x71\x61\x15\x2e\x56\x18\x38\x47\x44\xfe\x83\xba\xbf\x0b\xcb\x75\x61\x78\x9a\x02\x31\x25\xf6\x24\x2a\x18\x3c\xac\x95\x49\xc9\x32\x73\x3a\x86\x8a\xa1\x82\x65\x6e\x2b\xa0\xa8\xc0\xbe\x10\x69\x96\xa8\x5c\xeb\xf1\xbd\xad\x12\x3b\x98\x2b\x4e\x05\x55\x10\x87\x94\x82\x02\x1d\xae\xa9\xd8\xf2\x6c\x58\x8e\x6c\xd1\x01\x26\xcb\x31\x96\x88\x03\x56\xbe\xe8\xf2\x98\xbc\xa3\x06\xec\x56\x99\xc7\x57\x6b\x76\x50\x87\xc2\x53\xa6\x02\x14\x01\x0c\x6e\xd7\x0d\x87\x1c\xfc\x87\x38\x01\x8a\x0e\xdb\x57\xf1\x06\xb4\x21\x8d\x85\x5e\xab\x2c\x91\xf3\x9f\x85\x8b\x3f\x25\x90\x56\x31\xa0\xee\xe2\x98\x56\xfd\x34\xf7\xb8\xc9\xba\x51\xc1\xc4\xc6\xa7\x35\xd6\xc7\xa1\x3d\x22\x0d\x7a\x56\x6c\x3f\x50\x6c\x72\xbc\x74\x17\xab\x37\xf0\xd6\xd7\x96\xff\xc7\x1d\xf9\xdc\x7c\x6e\x13\x7d\xa5\x6b\x7a\x3e\x10\xcf\x0b\x1a\xbb\x3f\xfb\x70\xbc\x66\x29\x3b\x5d\x75\xb4\x05\xed\x8b\xec\x0d\x6f\xcd\x06\x92\x5c\x38\x11\x68\xac\x18\x8d\x0b\x8a\x1a\xf0\x83\x9f\x5b\xde\x84\x3b\x69\x91\xe5\xa5\xd6\xcd\x66\xfe\x6b\x0f\xde\x86\x7c\x08\x6e\xd4\x38\x76\x91\x9a\x1b\x72\x33\xd8\xd7\xe1\xd2\x74\x2f\x61\xc7\x7d\x8e\x59\x91\x68\x9c\x83\x28\x67\x66\x55\xb7\x6a\x37\x50\x56\x0e\x75\xd1\xc7\xe8\x5e\x3c\x00\x85\x05\x93\x31\x09\x4b\xba\x57\x10\x03\x2c\xf6\x79\xa5\x25\xc7\x8b\x31\x70\x0e\x6d\x91\xf7\x52\x94\xc4\x22\x48\x92\x97\xe1\x73\x59\x43\xe4\x17\xfc\xd3\x55\x80\x58\x2f\xdd\x02\x39\xb5\x11\x46\x53\x0c\xc0\x9d\x83\xb2\x8f\x0a\x1d\x64\x22\x20\xdf\xb9\x9b\xad\x62\xf3\x95\x41\x03\x50\x81\xd6\x5d\x77\x8d\xdf\x32\x39\xba\x0e\x6f\xa9\x91\x4b\x17\xb3\x97\xa5\x34\xcb\x8f\xd3\xb4\xff\x42\xa8\xd8\xc8\xee\x66\x15\x3f\xbb\x1f\xf0\xfa\x54\xf7\xbd\x03\x27\x85\x16\xe6\x34\x1a\xf8\x0f\xcd\x1f\xce\xe7\x0c\x35\x9d\x20\x53\x68\xac\x49\x0d\x75\xa3\x54\x51\x2d\xa4\x6b\xa7\x63\x4c\x15\xb2\x84\xb2\x44\x77\x80\x8f\x17\x63\x33\x60\xa4\xb4\x9f\xb3\xbc\xaa\x84\x18\x41\xcf\x92\x41\x7e\xb2\x4c\xe4\x82\xd5\xa2\x4b\xfd\x2d\xac\x37\x22\x31\xda\x53\x9a\x05\x42\x00\x02\xff\x7a\x20\xc4\x76\x09\x7d\xa0\x6f\x59\xf0\x33\x14\xe6\x05\x9f\xad\x88\xc5\x0c\x3b\xaa\xc0\x3c\xef\xa7\xcd\x82\x11\xd2\x46\x1b\x16\x60\xea\x6b\xcf\x47\x68\x38\xc9\x1a\x10\x07\x4e\xb4\xb4\x0e\x6e\x97\x4a\x94\x5a\x67\xf6\xee\x69\x04\x23\x1e\xf0\x41\x88\xf1\xea\xd5\xba\xf3\x56\x94\xef\xe3\x01\xed\xc7\xe8\x66\xda\x23\xb5\xa6\xc5\x8f\x01\xb2\xa5\x2c\xf3\xab\x80\x5e\xdc\x5c\x13\x68\x62\x6b\x95\xb9\x4e\xb4\x64\x5b\x69\x3e\xc8\x80\xf2\xb8\x11\x7a\x69\x3a\xfb\xdc\xd2\x48\x24\x31\x89\x0f\x41\x0b\xc5\x80\x53\x0f\xef\x37\x58\x79\xc2\xe4\x60\x49\xca\x89\x1a\x2c\x3e\xcd\x60\x43\xae\x80\xd8\xaf\x34\x66\x34\x67\x4c\x6d\xfe\x90\x59\x97\xde\x5d\x05\xd6\x20\x09\xee\xed\x27\x75\x02\xfb\x5a\x5a\x31\x55\xee\xee\xb6\x73\x48\xb6\x0d\x89\xa3\x4a\x78\x12\x63\x9f\x54\x1f\xfe"}, -{{0xd1,0xb3,0x43,0x0d,0x4e,0x63,0xaa,0xbf,0xa9,0xef,0x96,0xbc,0xba,0xf1,0xfa,0x6a,0x9e,0xb5,0x21,0x9d,0xd4,0x4d,0xf3,0xb1,0xa6,0x15,0x63,0xdf,0xfe,0x1c,0xcb,0x28,},{0xc2,0x8a,0x05,0x19,0x52,0x45,0x29,0x0e,0xcd,0x38,0x53,0x55,0x85,0xce,0x51,0xf3,0xc2,0x35,0xc5,0xd6,0x50,0xc8,0xc5,0x7c,0x2f,0x79,0xbb,0x0a,0xc0,0xe8,0x08,0x34,},{0x4c,0xb6,0xff,0x5d,0xd7,0x06,0xb1,0xae,0x81,0x6c,0xdb,0xaf,0x9e,0x9e,0x1e,0xdc,0x80,0xa6,0x62,0x84,0xf9,0x46,0x52,0xd5,0x0e,0xc1,0x4e,0x28,0x3b,0x2a,0xdc,0x59,0x2f,0xd0,0x84,0x33,0x71,0x44,0xff,0xa7,0x12,0xdc,0x34,0xce,0x8e,0x61,0x06,0x68,0xa6,0x5e,0x96,0x9f,0x05,0xce,0xb5,0x47,0x86,0x30,0x4d,0x0d,0x58,0xd3,0x1a,0x08,},"\x07\x6c\x0c\x87\x62\xe4\xbc\x00\x3c\x36\x0a\x12\xa1\x95\x98\x05\x05\x51\xd1\x6b\x4b\x8d\xa0\xfb\x9c\x4a\xfc\xc8\x1a\xdb\xe6\x19\x95\xf2\x5c\xbc\x28\xdc\xa4\x20\xbf\xa9\x46\x10\x54\xd3\xee\x00\xad\x78\x18\x3e\x7f\x26\xdf\x68\x98\xaf\x9a\x4d\x22\x5f\xca\xb6\x7c\x04\x2e\x9a\x13\x52\x5d\x1f\x75\xff\x0e\x3d\x8d\xa8\x08\x96\xb7\x28\xf3\xe2\xdb\x65\x94\x4a\xe0\x71\x7d\x77\x59\x90\xb5\x9e\x5b\x70\x43\x4b\xd4\xb3\xee\x45\x2f\x10\xac\x06\x10\x57\x0b\x38\x22\x08\x32\x96\x8f\x54\x4d\x3e\x4d\x11\x9b\x1d\x4b\x50\x15\xc6\xcd\xf4\xcf\x22\x0b\x56\xb5\xc0\xcc\xd8\xe3\x98\xd5\xe4\xa5\x8d\xa3\xb0\xe2\xb2\x70\xa5\xd3\x9b\x82\xab\xb7\xf9\xd2\x7a\x41\x90\x18\x55\x0b\x62\x00\xae\x51\xc8\x48\x82\xf0\x86\xae\x7e\xa5\x35\x16\x71\xb6\xdd\x96\x09\x23\xad\x6b\xef\xc1\x34\x09\x87\x9a\x8d\xf6\x19\xbd\xf6\xc8\x8a\x6f\xe1\xec\xc0\xf0\xf3\xaa\x21\x9f\xb6\x19\x02\xbe\x48\xa5\x3d\xf2\xbc\x66\xc5\x6f\x1c\x1d\x17\xf7\xe6\x16\x7d\x25\x51\x65\xf1\x74\xba\xa9\xca\xf5\x3c\x73\xcb\xbb\x7c\xc2\xc7\xc0\x87\xf4\x3a\xbe\x2a\xed\x5a\x21\xfe\x42\x90\xb8\xd6\x79\x60\xa8\xa9\xcb\xc2\xa5\x7a\xbe\x22\x65\x4d\xc1\x84\xcf\xf9\x16\x8b\xb6\x97\x27\x03\x75\xfe\x88\xd5\xc4\x9c\xf9\x5b\x06\xcf\x9d\x0d\xac\x81\xfb\xd9\xc0\xd7\xb8\x2d\x05\xed\x2c\x3f\xd4\x9c\xcc\x29\x40\x44\x41\x71\x25\x45\xf9\xa9\x91\xe4\xf0\xdd\xb6\x21\x90\x83\x82\x96\xf9\x67\x29\x9a\x38\x60\x72\x26\xd8\xa6\x81\xf0\xa8\xf3\xc4\x38\x4f\xd1\x8b\x30\x25\x7c\x46\x3c\x0a\xbd\x0f\x4f\x6f\x12\x25\xa5\x1b\x76\x2d\x6d\x0a\xc7\xd5\x9c\xd2\xef\xd6\x98\xb8\xd1\x3e\x23\xd7\x04\x09\xf6\xb0\x7d\x69\x5c\x16\x71\xcd\x6f\x59\x44\x3b\x1d\xb0\xab\x35\xb9\xdc\x06\x40\xe4\xc6\xd1\xac\x50\x47\x5d\x28\xef\x94\xf8\x17\x90\xe2\xe5\xb2\x54\x55\x14\xb2\xa4\x9c\x5c\x21\x53\x45\x9b\xe5\x40\x89\x0f\x53\xbc\x18\xe4\xa1\x6d\xcb\x5d\xcf\x50\xf3\x7a\x95\xc6\x06\xfd\xf4\x85\x98\xe5\x2a\xf3\x17\x9a\x20\x48\x61\x5d\x93\xd9\x7e\x05\x99\xb7\x08\x8c\x11\x74\xbb\x9f\x15\xe3\x70\x18\xf9\x9a\xcb\xce\x5b\x13\x02\xf8\xd8\xce\x2a\xb8\x54\x37\xfe\xeb\x0c\xaa\x77\x84\xdc\x83\xc9\xe7\xc3\x6f\xe0\x59\x90\x6b\x03\x0a\x86\xa3\xde\xd0\xab\x9d\x8b\x73\x52\x9d\x47\x5e\x66\x1a\x08\x08\xd6\xd3\xf0\x90\x7f\x85\x28\x87\x3f\x08\xd5\x74\x8b\xe1\xd6\x97\x12\xe8\x52\x62\xd7\x7b\xdf\x13\xbf\xd1\x8a\x5c\xde\x6f\x71\x46\x26\x73\xab\x29\xb1\x61\x73\x15\xa9\xa6\xe9\x36\xa8\xe8\x1a\x8e\x43\xbd\x0f\x66\x44\xa5\xc6\x9e\xaa\xac\x89\xbd\xaa\x99\xcc\xa8\x03\x83\x37\x05\xe5\xaf\xa6\x9b\x3b\xd1\xd0\x25\x2b\x85\x46\x50\xf2\x19\x97\x91\xe6\xac\xa7\xc7\x5a\x86\x12\x83\x21\x62\x33\xa2\x63\x3a\x6a\xef\xf9\xd3\x01\xee\x5c\xb4\xdd\x72\xc0\x8a\x45\xcd\xae\x8f\x54\x58\xc0\x95\xb2\x2e\x75\x9c\x43\xb4\x9b\x98\xe9\xf4\xcb\x33\xd5\xde\xa8\x79\x44\x9e\xae\x73\xcb\x87\x4c\x73\x59\x43\x25\xeb\xf6\x8c\x1e\xd4\x06\x4b\x6f\x61\xab\x2f\x01\x4a\x2f\x19\xf3\x2e\x12\xb3\x3c\x5e\xaa\x8a\x29\x20\x4d\x5e\xba\x58\xdc\x07\x50\x72\xfe\x39\x9b\xe7\xd1\xab\x18\x08\x20\x8f\xb4\x08\x12\x3b\xdc\x0b\x4a\xb3\x13\x0f\x9f\x70\x6d\xc3\xeb\x19\x4b\x60\x5e\x73\xa3\x2f\x12\x5a\xe4\x91\x28\x5c\xe6\x03\x9f\xb6\x23\xc3\x8b\x81\xd5\xab\xa0\xf5\x59\x9f\x6c\x86\xe8\x72\x48\x6b\x4e\x96\x49\xda\xff\xe3\xa3\xd0\x6c\xb0\x73\xdd\x3b\xc6\xf4\xe1\x0a\x18\x70\x0e\x45\x72\x2d\x78\xa6\xb0\x97\x2d\xc9\x4d\x5c\x7a\x7b\x66\x41\x75\x7b\x79\x60\x75\x71\x9d\x7b\x8e\xc3\x6a\x1e\x79\x6f\xb5\xf8\xfe\x6f\x1b\x79\xa0\x85\x9c\xb4\xd6\x7c\xec\x05\xed\x91\x4c\xfa\x32\xc1\xdd\xfe\x21\x8e\xf9\x63\x43\x6c\x3a\x11\x48\xac\x2c\xf9\x09\xdf\x73\x59\x89\x06\x57\x46\x3a\x4e\xa2\x5f\xed\x59\x61\x8a\x06\x81\xa1\x21\x7e\x22\xd6\x4e\xf9\xd9\xb4\x55\x9d\x0a\x0f\x6b\x3c\xe8\xd8\x47\x93\x0b\x23\x23\x01\xca\xf4\x4c\xdf\x7a\x3f\x18\xa2\xac\x13\x0b\x92\xcf\xd9\xc0\x33\x60\x55\x7b\x5f\x7c\x47\x75\x46\x2a\x10\x71\xf7\x03\x44\xc7\x18\x37\x4b"}, -{{0x03,0x3e,0x00,0x3d,0x7a,0xab,0x7b,0xc7,0xfc,0x8a,0xc2,0x04,0xc7,0x33,0x79,0x9a,0xe5,0x53,0xc3,0xfe,0xc5,0x3f,0x10,0xdb,0xf7,0x95,0xb5,0xf4,0xb8,0x7f,0x1c,0x95,},{0x68,0x2f,0x46,0xf5,0xc0,0x56,0xdd,0x45,0xba,0x0b,0x5a,0x78,0x20,0x31,0xf9,0x59,0x6a,0x73,0xaa,0x29,0x2c,0xa2,0x32,0x6b,0xed,0xa7,0x4a,0x52,0xfc,0x32,0xb7,0x16,},{0xed,0xb4,0xe0,0x20,0xd6,0x76,0xfa,0xc6,0xa8,0x45,0x53,0x48,0x80,0xbf,0x61,0x36,0x37,0x4a,0x8b,0x7f,0x2c,0x53,0x85,0xbb,0x9e,0xe2,0x25,0x38,0x1f,0x49,0x4e,0xfb,0x74,0xa5,0x5b,0x41,0x3a,0xe0,0xea,0x70,0xad,0xd6,0x1b,0xfd,0xfb,0x87,0xfb,0x42,0xd5,0xbc,0x0c,0x53,0x59,0xdd,0xdd,0x57,0x3d,0x53,0x8a,0xe9,0x3a,0x6b,0x36,0x09,},"\x59\x6a\xa2\xc4\x0b\x33\x18\x87\x89\x38\xeb\xc1\x38\xdb\x27\x4b\xb3\x8a\x52\x01\xeb\x7c\xaf\x87\x5e\x6c\x64\x57\x91\xda\xe0\x12\xbd\xef\xd4\x85\xe6\xbd\x9d\x84\x99\xc4\x2a\x2a\xe8\x6c\xf3\x2b\x18\x00\x2e\x76\xbb\x58\x2c\xca\x0d\xec\x48\x15\xde\xd8\xa1\x21\x1f\x8f\xc8\x85\x7f\xce\x1d\x57\xf6\x15\x1d\x88\x78\x7b\x97\x8f\xab\x56\xbf\x92\x6b\x15\x33\xe1\x94\x99\xe8\xbb\x99\x15\x8c\xdd\x6e\x98\x0f\x6b\xa5\x43\xae\x83\x1f\x9d\xd1\x34\xb0\xfe\x6d\x5c\x24\x88\x7d\xc7\xa8\xd4\x78\x1d\xd9\xb7\xfc\x5d\xc9\x46\x4b\x04\x5c\xbf\x9d\x1e\xf5\x03\x6b\x5b\xf2\x8b\x54\x9a\xc7\xaa\x8f\xaf\xb9\x1a\xdc\x9f\xec\xa7\xa1\x45\x54\xd1\x10\xe3\x10\xc7\x49\xe4\x85\x33\xf3\x59\xc7\x0f\x05\xfb\x7a\xed\xef\x13\x66\x36\xb8\xef\x72\x23\x88\x65\x39\x86\x4e\xe5\x2d\x34\x11\x8b\x4b\x8b\x74\xe0\x8f\xe6\xb6\x58\x96\xe4\xb1\x9b\x6d\x7c\x3f\x25\x28\x26\x55\x85\x48\x17\x10\xd2\xd7\x49\x48\xeb\x4b\x17\x08\xa5\x0f\xa7\x40\x21\xbd\xa4\xb3\x61\xbc\x68\xd2\xa5\xd2\x02\x10\x9f\x8d\x28\xd8\xaa\x67\xd7\x8c\x11\x36\xcd\x2e\x90\x3c\x8d\xfa\x17\x5a\xf7\xbd\x96\x3b\x73\xda\xe4\x95\x87\x3c\xcd\xae\x62\xbf\xef\x88\x56\x36\xdd\x83\x55\x0f\xf9\xc0\x5c\x37\xba\x33\x89\xd1\x54\x36\x85\xd8\x94\x83\xb0\xc1\x04\xe7\xef\xbb\x77\x02\xc5\xa0\x39\x8a\xc7\x20\x48\x4c\x50\x93\x68\x35\xee\x9d\xf2\x53\xf0\xef\x8c\xbe\xf3\xe0\x7d\xe9\x69\x51\x1c\xcb\xf8\x75\x57\x49\x3a\x0b\x97\x2e\xf0\xe8\xe6\x29\xcf\x38\x22\xdb\x21\x28\x6e\xd7\x27\x66\x1b\xd3\x17\x86\xfc\xa1\x42\x11\x06\xda\xcd\xee\x1c\xaa\xf4\x94\x54\xe8\x54\x79\x4f\x70\x4d\x22\xa9\x5a\x4c\x8e\x6b\x1c\x2f\xee\xa5\x7e\x56\x23\x8c\x20\x96\xf1\xcc\x57\x86\x47\xfe\xa5\x44\xd6\x76\x44\x82\xbd\xf5\x14\x88\x79\xa2\x5f\x94\x3d\xb1\x6f\x29\x02\x1b\x9e\xcf\xe3\xe0\x90\xb4\x25\xc8\x1c\x70\x09\x84\x2e\x1c\x7a\x02\xd9\x1c\xa6\x0c\x12\x01\xc3\xbd\xae\x9c\x53\x73\xaf\x03\xf2\xf4\xdb\xef\x40\xde\x8d\x9b\x21\xfe\xd6\x8d\xee\x51\x0d\xe0\x42\x72\x34\xca\xa1\xc2\x0a\x3a\xe5\x49\x95\x48\x34\xc9\x33\x73\xd9\x13\xb8\x75\x0f\x23\xa0\x37\x80\xd7\xa9\x45\x4e\xd6\xfe\x51\xfd\x2d\x27\x6b\x9d\x4a\xa3\x2d\xe0\x5e\x03\x81\x6e\x64\xe9\x46\x6f\x4f\x0e\x22\x46\x51\x42\x8d\x34\x2c\xbc\xc6\x97\x17\x0a\x47\xef\x99\x6b\xda\xcb\xce\x91\x11\x7c\xa1\xf8\x45\x5b\x25\xb2\xb0\x84\x43\xe9\x91\x4e\x3d\x90\xc4\x89\xee\xaa\x77\x31\xdd\xea\x21\x23\xd5\x5d\x67\xb1\x66\x83\xfb\x7c\x82\x36\xaa\xa5\xa1\xb0\xfc\xaf\x8d\x17\x00\x11\xdb\xe9\xaa\x28\x57\xbe\x61\x2c\xbb\x85\xef\x69\xe5\x68\x31\xb4\xda\xcf\xbc\x7a\x59\xb4\x65\xa6\x6d\xc7\x41\x2d\xdb\x3d\x6a\xf4\xeb\xfd\x70\x58\x64\xe7\xd4\xfb\x99\xa6\xcc\xb4\x8b\x11\x83\x68\xfe\xab\x02\xa3\x40\xc4\x32\x76\x8d\xe0\xe0\x67\x87\x1e\x9e\xa8\x08\xd6\xd9\x93\x81\x58\x29\xe7\x1f\x6c\x04\x2b\x66\x49\x95\x09\x8f\xee\x94\xd5\x43\xdf\x15\xe5\xb1\x69\x57\x03\x1b\xd2\x38\xbc\xad\xbb\xdc\xc5\x76\xaf\xfb\x64\x03\x03\xd6\x9c\x5b\x25\x0b\x3a\x53\x9a\xfd\x12\x7f\x7e\xe2\x60\x9e\x52\xe5\x15\x4f\xbd\xff\x3e\x45\xf9\xc4\x40\x66\x65\x6d\x56\x1e\x0f\x64\xdf\xf2\x80\x5d\xf8\x8e\x30\xa3\x80\x53\x08\x22\x41\x3a\x7a\xb7\x6a\x1b\x9a\x86\x53\x78\xd2\x47\x63\x06\x9a\x81\x40\x02\xa9\xa9\xd0\x37\x95\xca\x8d\x2b\x5b\xd1\x09\x03\x93\xe9\xe4\xb1\xff\x7d\x7f\x0e\xb8\x4e\x71\x2a\x01\x8f\x68\xc9\xe3\x84\xf0\xa0\xae\xf3\x96\x78\x79\x28\x4f\x40\x9e\x30\xd2\x36\x50\x86\xe6\x69\x52\x27\x8c\xa9\xb6\xf9\x0e\x8f\x69\xa4\x8d\x9b\x28\xbb\x4c\x4e\xd6\x32\xab\xca\x3a\xf4\x14\x4d\xa7\x42\x2b\xf5\x19\x92\xf7\x34\x73\x14\x53\xc7\xa3\x3e\x15\xe5\x9f\x53\x08\x12\x9d\x6a\x77\x4a\x94\x58\x6f\x72\x33\x11\x17\x91\x76\xc0\x94\x8f\xff\x4e\x30\xc1\xb9\x59\x81\x2c\xac\x97\x7c\xc7\x43\x47\xb0\x07\x94\x0f\x2f\xb9\x62\xa9\x0d\x66\x06\x6a\x6d\xe8\x80\x19\x84\xde\xe4\xa5\x32\xd4\xb0\xac\xd6\xdc\xaf\x06\x72\x7b\xab\x70\xb3\x86\x62\x32\x23\x4c\x91\x00\xbf\xdc\x66\x9f\x77\xca\x49"}, -{{0xee,0x55,0xfc,0xf7,0x0a,0x27,0x5c,0x72,0x6b,0xd4,0x85,0x66,0x83,0xb3,0x47,0xde,0xcf,0xd4,0x22,0xf1,0x82,0x6c,0x07,0xa9,0x32,0xcb,0x85,0xbe,0x9f,0xa4,0xef,0x3c,},{0xdf,0xcf,0xfb,0x5e,0x15,0x53,0x78,0x9d,0x56,0xa9,0xf3,0x91,0x4b,0xce,0x50,0x0d,0x07,0xc5,0xac,0x31,0x1f,0x92,0x78,0x54,0xb2,0xcf,0x1e,0x58,0x33,0xc0,0x32,0x37,},{0x9d,0x8c,0xb2,0xea,0xf3,0xff,0x3e,0x0c,0x2b,0xc6,0x72,0xe1,0xd2,0x55,0xc5,0xb8,0xe8,0x07,0x31,0xbf,0xf6,0xf6,0xab,0xa5,0x17,0xe1,0x33,0x54,0xe8,0x51,0x08,0x0f,0x4a,0x8b,0xb8,0x12,0x1b,0x26,0x24,0x24,0x4c,0x9e,0xe9,0x5c,0x8a,0x09,0x2f,0x10,0x37,0x03,0xfb,0xe6,0x6f,0x9c,0xba,0x10,0x0d,0x2e,0x91,0xed,0x77,0x4a,0xc9,0x07,},"\xb8\xc8\x45\xcf\x7c\x54\x85\xf0\x62\x2d\x1d\xdc\x17\xf7\xa0\xf6\xf0\xfd\x70\x74\xfe\x19\x4b\x0e\x0c\xd4\x26\x50\xcf\xc8\x17\xf5\x7f\x09\x5f\x8c\xdf\xad\x1e\xbe\x0d\xfb\xc1\xbd\x76\x17\xab\x4f\x20\x4e\x9d\x55\xd8\x1a\x7c\x8a\x43\x39\x40\xec\x6f\x17\xc8\xa8\xe3\xd5\x6c\x1a\xfb\x0a\xf3\x74\xbd\x32\xd5\x4e\xf7\x13\x2d\x26\xb8\x9c\x47\x0c\x2a\xb5\xbe\x16\xfa\xbb\x4c\x75\x19\x3d\x6d\xa5\x9b\xa2\xfd\x15\x7e\x9e\xa4\xe0\xc5\xc0\x8a\x52\x02\xf5\xed\xc6\xa6\x17\x01\xf0\x8b\xb3\x44\xca\x64\x55\xd7\x5d\x14\x5a\xdb\x24\x4c\x53\x4c\x8c\xfc\x62\x3f\x4d\x4b\x67\x67\x59\x4b\x39\xa7\x69\x0b\xee\xec\x4d\xf9\x74\x6a\x57\xff\xee\x05\x14\x54\xc4\x27\x8e\xa4\x3c\x81\x0f\xf1\x3c\xd7\x69\x61\x5f\x9d\x05\xd4\xfe\x4a\x51\x58\x3e\x80\xc0\x15\xdc\xfe\xd9\xaf\x05\xf9\x3d\x05\x4d\x34\xff\xd9\x39\xbd\xd8\xf0\x51\x8f\xa3\x03\x0a\x96\x4d\xc9\xd8\x0d\xf0\x0f\x16\x35\x82\x40\x72\xcd\xf2\x9b\xc8\x02\x59\x20\x9d\x50\xf5\x6f\xca\x9f\xbd\x6a\xe1\x51\x4a\x67\x19\x89\xce\xa4\xf6\x84\x6b\xc1\x91\x79\x09\x7c\xca\x40\xc6\x24\xd7\xed\xbf\x91\xfb\x5b\x25\x39\xeb\xbd\x50\x2d\x36\x46\x71\x14\x30\xba\xe4\x23\xfd\x11\x58\x48\x09\x33\x18\xb7\xd0\x87\xef\x1e\x3b\x89\x4b\xc3\xb9\xea\x27\xaf\x85\x3f\xca\x85\x95\xd3\x6f\xb7\x29\x99\x69\x16\x2f\x2e\xd6\xa2\xb5\x50\x75\xb2\xc6\x30\x80\x28\x57\x17\x6d\xec\x4c\xb5\xac\xf2\xb1\x3a\x35\xa9\x94\x9b\x91\x2b\xb5\x7d\x81\xeb\x0c\x8a\x8a\xdf\x3c\xf6\x4c\xb5\x71\xbf\x5f\x3d\x71\xf9\x87\xd6\x4d\x74\xe9\x19\xa0\x03\x36\xe5\x7d\x35\xee\x4e\xec\xfc\x65\x70\x00\xdd\x5b\x12\x99\x5e\xe1\xb1\x16\x59\x1c\xe5\x8e\x56\xde\x25\xb2\x9c\x94\x82\x9d\x1d\x68\x52\x1b\x95\x58\xe4\x72\x5e\xc7\x70\x39\x06\x9c\x0c\xd1\x7b\x2a\x00\x33\x59\xe9\xe1\xe1\x12\xc7\x59\x01\x76\xce\xbc\xe7\xf0\x01\xf1\xd1\x36\xe8\x18\xf4\x81\x8c\xfd\x94\x74\x5a\xfa\xab\x56\xf1\xa4\x06\xf9\x7d\xd9\xe6\x1b\x73\x52\x66\xd6\x82\xad\x7d\xf2\x6d\xd7\x0c\xde\x0b\x57\xfe\xa7\xdb\x2d\xf8\x32\xfa\x88\xa3\x5f\x53\x97\x94\x88\x4d\xdc\x41\x21\x84\x03\x01\x6c\xb6\xd5\x22\x1f\x3f\xeb\x5d\x3a\xee\x4a\x98\x40\xa9\x13\x07\x2d\x29\xf8\xd1\xa9\x36\x7b\xb0\xbb\xf5\x45\xf7\xda\xe7\xc0\x0a\x0d\x0c\x03\x42\x23\x1a\xe4\x62\xbb\x74\x2e\x14\x98\xee\x58\x4a\xe6\xc8\x3f\x2f\x1f\x2d\x04\x52\xbe\xad\x98\x22\x68\xcd\x3c\xfd\xe7\x8f\xf4\x22\xe2\x26\xbf\x7b\x2a\xf1\x13\x77\x57\x79\x7f\xb0\x2e\x52\x75\xc3\x48\x09\xd5\x4c\xa9\xee\x2a\x65\x27\x5e\x6e\x5c\xff\xdd\x20\xad\x1f\xa1\xee\x0b\xd8\xb2\x1e\x04\xce\x82\x9e\x02\xcd\xb6\x3c\x48\xbf\xcd\xd8\x6d\x3a\x08\xc5\x97\x89\xc9\xd7\x8e\x36\x18\x1d\xef\xeb\x72\x27\x10\x72\x75\xed\x6b\x5c\xcb\x12\x7c\xd7\x2b\x37\x4e\x17\xf5\xee\x0b\x5e\x47\xb4\xb3\xe1\x4a\x8e\xc6\xd8\x6b\xb7\x50\x71\x87\xf2\x8d\xb3\x2b\x3f\x3f\xa1\xca\x13\x44\x6f\xe5\x25\x3e\xe7\x83\x64\x5e\x79\x42\x72\x79\x9a\x86\x3b\x4f\xca\x99\xe4\x43\xcb\xaa\x05\xde\x3c\x50\xed\xf3\xd5\xcd\x7c\x10\x52\x9c\x6c\x09\xa0\xc1\x45\x34\x06\xac\x7e\xca\xfa\x9b\x3a\x1f\x36\x9d\x68\xf3\xc6\x18\xf5\x8e\xfc\x35\x9d\xf2\xf3\xfc\xd2\x47\x8b\x55\xa4\x1a\x11\xf2\x48\x7e\x7f\x70\xec\x29\x3b\x3e\xcc\xc7\x00\xef\x44\x4a\x33\xd1\xea\xe9\x84\x9c\x5b\x76\xd2\x9a\xfd\x5a\x23\x86\x1a\xef\x4f\x2a\x7b\xa3\xf6\x66\x30\x1f\xde\xb5\xd3\xd8\xf0\xdc\x9e\xe2\xe0\x14\xb2\x4c\x74\x65\xde\xe3\xc0\x96\x4e\xdd\x49\xed\x49\xed\xab\xb5\xca\x7a\xfb\x99\x57\x4d\x00\x1e\x58\x12\xa0\x85\x23\x1f\x24\x1b\x6b\x08\xc7\x3e\x80\xfb\x44\xbb\x2a\xdf\x55\x4f\x14\xfd\x6d\xce\x94\xa6\xf6\x36\x23\xd9\xc1\xde\xb4\x1a\xd1\x01\x65\x1a\x6b\x67\xae\x52\x34\xda\xae\x81\x97\x9f\xbd\x82\x33\x89\x64\x9a\x3b\x0a\x06\xc6\x8b\x80\x46\x8a\x99\x1d\x30\x07\x74\x87\x51\xfa\x69\x28\x1d\xb1\xb9\x4d\x6c\x16\x0a\x1c\xab\x50\x94\x3c\xdb\xb8\xde\xa5\x75\x09\x06\xb3\xc6\x59\x5b\xb5\x80\xde\xdb\xfa\xe5\x74\x64\xcc\x7a\x65\x1d\x4c\x51\xdb\xb5\xfa\x98\x05\x97\xd1\x76\x69"}, -{{0x49,0xc2,0x98,0xa2,0xdb,0x3d,0x25,0x89,0xc9,0xfe,0x16,0xa4,0xe5,0x71,0xe5,0xaa,0x23,0xcb,0xaa,0x77,0x7b,0x86,0x47,0x02,0x90,0xa3,0xed,0xa7,0xa5,0xd3,0xe9,0x6b,},{0xda,0xc5,0x23,0xd6,0x37,0x4c,0x8f,0xf1,0x5f,0xc4,0xdd,0xc7,0x13,0x71,0x5a,0xc3,0x5c,0xf5,0x54,0x7f,0xc1,0xb1,0xb2,0x64,0x6b,0x63,0xfb,0x41,0xa7,0xf2,0x16,0x21,},{0x2a,0x43,0x9c,0x73,0xc9,0x81,0x17,0xfb,0x29,0x52,0xe2,0xb1,0x61,0xf7,0xf3,0xb9,0x9e,0x7d,0x39,0xbc,0x69,0x7f,0x79,0x40,0x75,0xdb,0x7b,0x63,0x4d,0x29,0xf1,0xff,0x57,0x24,0xf6,0x77,0xf8,0x31,0x2a,0xd5,0x15,0xb0,0x97,0xcc,0xa9,0xdf,0xc3,0x0e,0x79,0xee,0x8a,0x7c,0x9d,0xd7,0x28,0xbd,0xd4,0x5d,0xf8,0x59,0xc7,0xbd,0xe3,0x0a,},"\x35\x82\xee\xb0\xd3\x71\xdf\x38\x5d\xe8\x8b\xaa\xd3\x80\xcb\x0c\xdb\x60\xea\xb2\xba\xeb\xb3\xc7\x98\x37\x75\x3d\x08\xe1\xcb\x78\xc0\xbd\x76\xdd\x11\x04\x45\x49\x56\xd5\x71\xce\xb7\xe6\xb5\x71\xa5\x23\x68\x35\xd7\x84\xb5\x0f\xf6\x60\x57\xb1\x35\x95\xe7\xd0\xc8\xf2\x5d\x08\xae\x8b\x54\xb6\x12\x3b\xa0\x81\x51\xac\x7d\xb0\xc5\x6a\x98\x0f\x7f\x0b\xb3\x9a\x54\xb4\x37\xf5\x48\x51\x97\x99\x86\xab\x13\x67\x83\x5e\x5c\x4f\x3a\x3b\x3d\x76\x0d\x38\x27\xe7\x6c\x56\x8a\xe7\xae\xbb\xb6\x12\xe7\x75\xbd\xde\xcc\xd3\x34\xac\x6b\xcd\x32\x53\xab\xc2\x9d\x4b\x7c\x3f\x10\x36\x26\x66\xf6\xae\x75\x08\x03\x70\xa3\x6c\xba\x55\xdb\x3a\x91\xcb\x57\x89\xe4\xd6\xf9\xef\xea\x4d\xf1\xdd\x77\x30\xa5\xe2\x79\x60\xd5\x3b\x51\x21\x94\x8c\xce\x5a\xf6\x53\xff\xf1\xd5\xb4\xe5\xb0\xa8\x8c\x71\x8c\x49\xb3\x1c\x79\x3d\x88\xc1\xcc\x45\xab\x8d\xa2\x9d\x05\xe9\x06\xcd\x05\x94\xb5\xf6\x63\x8c\x8e\xc3\xf1\x76\x0b\xa4\x23\xb5\xab\x1d\x08\xa5\x87\x70\xaf\xb0\xf1\x39\xab\xd3\x49\xc1\xbf\x16\x0d\x89\x02\x23\x9c\xe2\x4f\x19\xb4\xe1\xbe\x09\x5f\x7e\xd1\x65\xf3\x93\x1e\x3c\xbc\xc3\x07\xe9\xfc\x5c\x65\x80\x31\x22\x8e\x55\xcb\xbe\xec\x0d\x0b\xcf\x8f\x69\x51\x54\xa9\xee\xd1\xbe\xf3\x52\x28\x78\x9b\xfc\x0d\x23\x8b\x83\x72\xd3\x18\x32\x8c\x13\x39\xfe\xa0\x88\x14\xdb\x86\x21\xab\xca\x3a\xeb\x82\x09\x8b\x5a\xa8\x7b\xb9\x8f\x5e\x40\x52\x2a\x08\x88\x53\x2c\x17\x48\x45\x3d\xb2\xd2\xb3\x94\x3e\x4a\xbb\x31\x2d\xe3\x19\xae\xc4\x8c\xc1\xc9\x47\x75\x97\x29\x53\xfb\x64\x96\xb8\x16\x89\x37\x62\x35\x10\xcd\x48\xc8\xb2\x47\x95\x6d\x31\x68\x48\x6c\x17\x6a\xe7\xa4\xcb\x38\x4e\xac\xfd\xab\xfa\xdd\x9f\xba\x30\xa2\x3b\x81\x1b\xd7\x79\xf3\xcb\xa5\x43\x38\xc2\x8b\xb3\x38\x22\x38\xed\x3b\x8d\xd2\x1b\xea\xb2\xf5\xca\xde\x28\xc5\xe0\x9b\x31\xa4\x54\x80\x8a\x53\x48\x12\x2e\x3a\xe3\x81\x22\x96\xf7\x86\x9c\x38\x65\xc3\xc9\xd8\xfe\x18\xbd\x81\x2f\x2e\x60\xe9\x14\x97\x5c\xfe\x1b\xef\x8d\xbb\x80\x97\x00\x6f\x0d\x7c\xf3\xfc\x15\xeb\x95\xc2\x78\x54\xb1\x43\x12\xb8\x8d\x52\x80\x15\xaf\x69\xfb\x75\x05\xb8\xf3\x27\x03\xf6\x4e\xb1\xc9\x58\xf0\x46\xdd\x25\x12\x42\xf8\xbe\xa7\x46\x7f\xc7\x29\x1d\x09\x5e\x96\x96\xe1\x1a\xa4\x5a\xbe\x79\x24\xe8\x56\x35\x15\x35\xaa\x07\x73\xd3\xd9\xe6\x1c\xc9\xa2\xd8\x9b\x5b\x07\x74\xd7\x64\x5e\xe1\xaf\x7e\xb6\xfc\xd4\x40\xbc\x69\xd4\x3e\xde\xaa\xf9\x35\xfd\x2a\x52\x95\xac\x19\xa9\x7d\x70\xaf\x92\x98\x83\x0f\x81\xc0\xa5\x09\xf2\x42\xf4\x73\x37\x24\x78\xfa\x58\x79\xfb\x2c\xb8\x51\x10\x80\xfc\x2e\xcd\x82\x59\xb8\xc3\xce\x9e\x8b\x64\x07\x61\xdc\x79\x27\xc3\x2e\x7f\x5b\xae\x97\xa8\xb8\xac\x93\x56\x62\xe5\xf4\x5d\x14\xca\xd6\xd3\x4a\xff\xc9\xa1\x94\x14\xc4\x56\x6f\x45\xf9\x77\x39\x67\x10\x89\x4c\x53\x99\xed\x44\x80\xf1\x8e\x90\x95\x7f\xaa\x76\xcc\xb5\x12\xa2\xd0\x75\x73\x05\x8a\x95\xb4\x2f\xe1\x81\x02\x49\xd1\xc8\x5e\xc4\x31\xa0\x49\xd1\xae\xcb\x0f\x11\x83\x79\xbd\xc3\xf1\xee\x49\x0b\xc8\xa0\x54\xc3\x2c\x3d\xac\x76\x59\x96\x6c\xdb\x66\xf9\x95\xac\x40\x3d\x5e\x79\xeb\x6b\x25\xb3\xf3\xf6\x5a\x6c\xee\xc2\x20\xd6\x6c\x05\xf8\xa8\xa9\x8b\x80\x79\x9b\xa4\xf2\xc6\xdb\xbb\x4d\xfb\x58\x62\xc9\xa4\x6b\xca\x01\x3e\xbd\xfa\xba\x74\x94\xa3\x0c\xe1\x46\x06\xaf\xc0\xb0\xf9\x93\x14\x3f\xed\xee\x78\x96\xd9\xa6\xbb\x81\x49\x91\x66\xed\x02\xe9\x41\x86\xaa\xf3\x21\x87\xae\xb6\xe2\x82\x50\x1b\xca\x43\xb5\x7b\x7e\xfa\x09\x39\xc9\x34\xbc\x8f\xbb\xd2\x6c\x44\xb6\x18\x33\x5a\x35\xc6\x92\xff\x99\x6a\x5b\x95\xd3\x27\xdf\x9b\x2a\x66\x21\xb3\xb0\xf1\x90\xdb\x1f\x36\xd9\x11\xd1\xa6\x63\xa4\xeb\xf9\xa2\x85\x4b\xb4\xf4\x06\x10\x95\xb6\x98\x12\xc8\x2c\x2f\xfe\x3f\x92\xe9\xb4\x4d\x2e\xa6\x31\x69\x88\x1c\xae\x84\x53\xd6\xee\xf7\xcf\x69\xc2\x5a\x28\xb3\xf8\xdd\xc7\x01\x48\xef\x26\x72\x1a\x3c\x1f\x2e\x62\xd9\xd1\x0c\xea\x42\xfc\xa3\xfa\xcd\x74\x67\x3a\x4e\x7f\x33\x50\x73\x64\xaa\x28\x6c\x0f\x38\xd7"}, -{{0x82,0x3f,0x0c,0x29,0xfb,0xfd,0xd3,0xd1,0x82,0x8f,0x30,0x55,0xe9,0xec,0x01,0xff,0xd1,0xb5,0xa3,0x75,0x11,0x8d,0xdd,0x7e,0x4e,0x0c,0x43,0x71,0x9f,0x57,0x3f,0xf7,},{0x73,0x12,0x5f,0xc8,0x3a,0xbb,0x8b,0x7c,0x65,0x85,0x59,0xfc,0x12,0x73,0x93,0x23,0x1d,0x03,0xca,0x58,0x46,0xe0,0xc8,0x81,0x18,0xd1,0x3d,0x55,0xca,0x44,0x78,0x9d,},{0xfa,0x74,0x7b,0x6f,0xe3,0x38,0x1a,0xd6,0xbc,0x82,0xa9,0x56,0x43,0xc1,0xf4,0xa2,0x0b,0x76,0xba,0x73,0xbf,0xf0,0x0e,0x63,0x5d,0x64,0x20,0x2d,0x8b,0x0d,0xf0,0x3d,0xbc,0x56,0xb0,0x13,0x8b,0x3a,0x6d,0x41,0x98,0xff,0xaf,0x58,0xcc,0xd3,0xd3,0x88,0xed,0x25,0xeb,0xcf,0x77,0x04,0x43,0xe4,0x1e,0x9d,0x21,0x47,0x95,0x0a,0x30,0x0b,},"\x80\x2c\x39\xce\x7f\x2a\x50\xbd\x81\x62\x2a\xdd\x0d\xf4\xe0\xfe\x03\xec\x3d\x2d\x30\x5a\x45\xa6\x16\x52\x71\xed\x79\xad\xd2\x43\xb9\xa0\x0e\x52\x18\x31\x92\xfe\xb2\x4c\x4f\xdb\xd2\x2c\x80\x7a\xe1\x00\xef\xcf\x16\x5b\x9c\x99\x61\x94\xe0\x0f\xa8\x17\x76\x5e\xa9\x4a\x03\x07\x0e\x48\x66\x86\xb4\x45\xfc\xb2\x63\xcc\xfe\x1f\x58\x62\xf3\xb8\x4b\x10\xf3\x90\x08\x0b\xfc\xae\x44\x7a\xe0\x06\x97\x42\xb8\x61\x8f\xa9\x57\x5f\x7e\x63\x7a\xd5\x4e\x83\x4c\xaf\x03\x94\xd7\x45\x03\x2c\xe1\xe2\x55\xc0\x27\x32\x50\xf1\x50\x4b\x37\xa0\xad\xd9\x4a\xa2\x45\xc7\xde\x52\xc8\x0e\x05\xd6\xe0\xa9\x6a\x14\x41\x05\x43\x82\x6a\x49\xe9\xb9\x45\x62\x6d\x4e\x89\xf5\x50\x27\x16\x3d\x4b\xd6\xd0\xe9\xbd\x1a\x24\x77\xf6\x7d\x3d\x56\x68\xa4\x2e\x94\xd8\xb6\x11\x93\xd8\x21\xe0\xd1\xb2\x30\xfc\xad\xc5\x36\x13\xb7\x5b\x02\xcf\xb8\x15\x84\x56\x07\x7e\xbd\xf5\xa5\xf0\x0c\x3b\x5b\x18\x63\x70\xca\xfe\xc4\xa2\x1c\x69\xdc\xe1\xf0\x1e\xfe\xf2\x3c\x37\xab\x90\xf8\x58\x23\x8a\xef\xbe\x21\x2b\x55\x6d\x2f\x07\x34\x06\x55\x9f\x1a\x51\xd8\x4e\xff\xfd\xce\x07\xb0\x0d\x01\xbb\xf3\x37\x71\xcc\x12\xc9\x60\xac\x89\x36\x5a\x9c\x82\xc5\x23\x43\xf7\x60\x33\x81\xb8\x90\x23\xc1\xa6\xe7\x02\xa5\xb1\xe4\xbd\x19\x1e\xa6\x97\x0b\x5e\xa4\x51\xea\x05\xb5\x9b\xf8\x3e\x55\xf2\x9a\x1f\x80\x32\x12\xbb\x2e\x58\xf0\x61\x63\x33\xd9\x11\x47\x08\x52\x9e\x8b\x6c\x60\x81\xde\xeb\x7c\x29\x9a\x5a\x2a\x53\xcc\xd2\x4e\xd5\x8f\xfb\xfe\x50\x3d\x80\x61\x4a\xdb\x05\xca\x11\xcf\x29\xde\xd0\x09\x04\xea\x12\x39\xf8\x2b\xa4\x0c\x79\x3e\xbc\x33\x97\x75\xf8\xb0\xfe\x39\x01\xf5\x48\x2e\x31\x0c\x79\x3c\x6e\x2c\xf0\x1d\xc1\x57\x72\x7a\xf2\x38\xf4\x9c\x98\x62\x80\x4b\x04\x75\x51\xfd\x88\x6f\x4a\x48\x99\xe2\x2a\x6a\x65\x70\x11\x17\xa3\x85\x80\x55\xbb\xfe\x96\x6e\x37\x0e\x73\x3e\x17\xef\xad\xa2\x85\x9f\xd8\xff\xa9\xe0\x1f\xce\x56\x06\xa2\x55\x36\x76\x78\xf4\xbd\x4e\x21\xe5\xda\x0f\xef\x30\x75\x7f\x34\xe3\x89\xf7\x6b\x7d\x57\xc4\xe4\x10\xa0\x02\xe9\x00\xe4\x8f\xb2\x18\xc8\xf2\x77\x8f\x14\x8f\xee\x56\x96\x5f\x5b\x47\x3e\x25\x25\x6c\x23\xa7\xaf\x19\x83\x42\xcf\x3e\xf0\x2b\x84\xdf\x2c\xd5\x80\x0a\x46\x1c\x1b\x07\xbd\xa2\xf4\x26\x28\xa6\x8a\xd2\x9d\xbb\x82\xa4\x70\x96\x7d\x73\x02\xc9\x93\xb2\x34\x13\x6e\x5b\xf2\x55\xe6\x24\x8b\x10\x2c\x2b\xff\xb2\x01\x72\x37\x1f\x1c\xa3\xe1\x0b\x08\x10\xe8\x64\x95\x03\x54\x6d\x9a\x73\x1c\xf1\x9b\x08\x33\x57\xd4\xcf\xec\xc8\x9b\xed\xb5\x35\x06\xfe\x19\x9b\x67\x03\x91\xa6\x20\x06\x9a\x30\x81\xf2\x53\xb4\xd7\x90\x88\x0a\xa2\x3b\x53\xe9\x7c\x75\xdc\x0c\x36\x05\x40\xe5\xb0\xa3\xef\xb1\xac\xcf\xfd\x13\x74\x14\xff\x84\x23\xd5\x46\x46\xfc\x56\xba\x5f\x53\xbd\x84\xc7\x26\x7c\x2f\x7e\xe3\xe3\x76\x07\x54\x41\x54\x36\x5f\x9f\x85\x08\x1d\xd7\xd2\xee\x75\xd3\x02\x27\x5c\x79\x9e\xf2\x42\x7c\xa6\x49\x63\x55\xdc\xda\x1d\x44\xe0\xd9\x77\xbf\x68\xdb\x30\x06\x50\x0a\xe3\xf4\x00\xd6\xa8\xc7\xcf\x47\x05\x7d\x4f\xc8\x7e\xee\xcb\x02\x11\x6b\x73\xee\xd6\xce\x1f\xcc\xef\x6e\x8f\xb8\xae\xa3\x63\xb2\xf6\xf5\x32\x2a\x5f\x07\x53\xf4\x58\x99\x53\x76\x46\xd5\x86\x51\xbe\x90\x37\xbf\x91\x42\x3c\x29\x86\xf5\xcc\x2b\xcb\xce\x4f\xae\xc9\x03\x49\x8b\x40\xfc\x2d\xea\xb6\x60\x3d\x6e\xea\x58\x5d\x27\x20\xd2\x1b\xb2\x72\x2b\xc0\x5b\x35\xae\xd2\xbc\xc0\xe8\x04\xfe\x9d\x23\x9f\xaf\xda\x7d\xda\xfe\x1d\x78\x60\xab\xb0\xfb\x28\xf4\xbf\x2b\x1f\xbb\x62\xa7\x86\xe4\x55\xbe\x02\x4b\x19\x3b\x78\x30\xbe\x0d\x55\x8f\x02\xc9\xf3\xae\x31\xdc\x10\x7e\xe9\x42\x1d\xc5\xf0\xb0\xf8\x94\x02\xb7\x1a\x45\x81\x40\x15\x36\xbc\x47\x30\x85\x06\xd9\x69\x39\xa2\x06\x36\x27\x44\xe2\x7d\xde\x94\x4f\x40\x96\xa1\x2b\x5f\x63\xda\xb6\x4d\x04\x14\x84\xd3\xfd\x91\xa6\x2c\x2f\x0e\xf9\xae\x78\x74\x22\xeb\x27\xfe\xd0\x80\x2e\x25\xf9\xbc\x77\x5c\x49\x15\xa8\x37\xfe\x3e\xb7\xb9\xd5\x84\x3e\x4d\x82\x10\xc6\xb4\x94\xb6\x12\x81\x63\x7a\x6b\xe3\x20\x52"}, -{{0x65,0x67,0x66,0x33,0x37,0x42,0x14,0xc4,0xac,0x4b,0x7b,0xce,0xa9,0xf1,0xcc,0x84,0xb1,0xb7,0xe7,0x94,0x11,0xe3,0x10,0x52,0x5a,0xce,0x38,0x5f,0x45,0x66,0xc1,0xd5,},{0x0e,0x6e,0xc5,0x80,0x1d,0x8b,0xd6,0xb1,0xeb,0x42,0x14,0x21,0xa1,0x40,0x8f,0x13,0x4c,0xf7,0x12,0x33,0x8e,0x0f,0xfc,0x24,0xcd,0xcc,0xdc,0x4f,0x7f,0xa3,0x1d,0xbe,},{0xe0,0xb8,0x67,0xc9,0xdb,0xda,0x35,0x32,0x34,0x33,0xc0,0x46,0xe0,0x83,0x0c,0x25,0x1b,0x43,0x46,0xc5,0x39,0x59,0x72,0x28,0x6b,0x3a,0x72,0x31,0x0e,0xd4,0x52,0x6e,0x54,0x5d,0xc0,0x9d,0x39,0x18,0xf2,0xeb,0x99,0x20,0xbc,0x9b,0x24,0x1e,0x90,0x50,0xd8,0x48,0xd3,0x83,0x02,0x88,0x65,0x15,0x91,0xf9,0x36,0xd3,0xba,0xe4,0x53,0x01,},"\x9d\x62\x2c\x20\x67\x87\x69\x40\x93\xc6\xf2\x9f\x93\x61\x9f\x21\xbb\x64\xc0\x39\x41\x6d\x20\xdc\x70\x8a\x08\x4a\x9d\x2e\x49\x0c\xf5\x65\x8e\x13\xd6\x2c\xb0\xd2\x1e\xab\x00\xe4\x2d\x85\x1b\xc6\xec\x75\xda\xf4\x05\xd2\x37\x32\x46\xee\xa4\x15\xe8\x66\x29\x1b\xab\xf7\x64\x97\x68\x0a\xaf\x04\x42\x5a\x42\x55\x2b\x10\x7d\x58\xcd\x18\x56\x1c\x8c\x94\x83\xf7\x40\x74\x4c\xbf\xa6\x05\x4c\x1b\x12\x6f\x5a\x76\x65\x9a\xc1\x9d\xdd\xad\x4a\xb5\xa0\x91\x55\xd8\xc0\x50\xb5\x35\x4e\x06\xa4\xdd\x3e\xe3\xa6\xf9\xc9\x1e\x8b\x4c\x7a\xf2\x74\x96\x64\xe7\xab\xe9\x70\x61\x58\x9e\x15\x3c\x58\xe2\x7c\xf2\x99\xa2\x5f\x2b\x53\x0c\x06\x07\x31\xec\x0f\x43\x66\xbd\x1d\xeb\xeb\x4d\x4e\x91\x2e\x76\xe5\x08\x53\x4d\x43\x3e\xc4\x8f\x96\xb6\x2e\x15\x0d\xe9\x39\x63\xa1\xb3\xe6\xc8\x09\x1b\x49\x5a\x96\x51\x8c\xe3\xd3\xb9\xa8\xdb\xdc\x2a\x13\xfd\xd0\x77\xf2\x23\x1d\xe8\xd7\x6f\x56\xd9\xab\x1c\x2f\x9e\xfa\xbc\xe4\x63\x83\x64\xf8\xfb\x2a\x2c\x68\x3c\xa8\x19\xb7\x03\xab\x45\x3b\x11\xd3\x7a\x69\xfa\x4b\xcb\x80\x23\x98\x08\x34\xf7\xb9\x02\xad\x18\x19\xfc\x02\x92\x12\xfd\xea\x0a\xbf\x11\xde\xc8\x8c\x55\xd6\x8e\xf8\x7a\x26\xdb\xb1\x5d\xc3\xd3\xdf\xbc\xdd\xdd\x5e\xd7\x1b\xe8\x6f\x32\xc7\x6e\xe2\x22\x1d\x92\x43\x68\x3d\xf9\x51\x65\x64\xb2\x6b\xab\x5c\x84\x5d\x4d\xfe\x0a\xdc\xc7\xcb\x9f\xe1\xee\x2c\x05\x1a\xf5\x90\x8c\xe0\xcc\x3a\x90\x90\x4d\xbc\x0d\x36\x80\xed\x49\x92\xf4\x6c\xe2\x5c\x2e\xe8\x51\xc4\x14\xf0\x18\x7d\x89\x3e\x5c\x3b\x01\x89\xa7\xbb\x68\x93\xd6\x83\xf5\xe3\x39\x4c\xc0\x46\x29\x9a\x16\xa1\xc1\xb5\x69\x59\x33\xa8\x9b\xb1\x30\x30\x85\x5b\x81\xb3\xc7\x46\x85\xf7\x19\xde\x01\x60\x57\x5a\x0f\xf0\xa9\x1f\xd9\x43\x47\xb8\xbc\xbe\x12\x5d\x1d\x3f\x9c\xe7\x72\xa8\x12\x6e\x00\xf5\x63\xb3\x18\x96\x56\xd5\x52\x2c\x18\x7a\xb8\x31\xa7\xad\xe7\xac\x06\xfd\xca\xc7\xf1\xd4\x58\x82\xe5\x1f\x9b\xf5\xb4\x4a\x2d\xab\xa4\xa5\x3d\xbb\x31\x97\x0b\x4a\x0f\x12\x72\xfe\x14\x08\x7e\x0c\x3c\x7e\x45\x42\x31\x2f\xe7\x4d\x76\x7f\x21\xe7\xea\x48\x7d\x52\x84\x28\x4f\x46\xf2\x0f\x32\xc5\xb1\x6e\x1e\x0a\xc8\xd7\x96\xab\x2f\x80\xb3\x44\xe7\xa8\xd8\x4d\x5d\xe8\x23\xa5\x08\x97\x75\x2d\xc5\x49\xa4\x8f\xc1\x0b\xcd\x43\x6a\x7a\x93\xe9\x7c\xd0\x5d\x78\x30\x13\x8f\x32\x38\x79\x68\x0c\x34\x3c\x16\x46\x7d\x26\x4d\x74\x9b\xf4\x5e\x40\xf3\x9f\xbc\x3a\x00\xc4\x3b\x00\x69\x3b\x01\x56\x76\x8f\xf2\xe3\xf8\xad\x9e\xb6\x40\x50\x22\xf5\xca\xda\x66\x94\xe8\xa3\x3c\xdc\x59\xc6\x67\x3c\x44\x11\x72\x44\xeb\x03\xfd\x7f\xd6\x75\x93\x0c\x29\x4e\xdd\x29\x40\xf5\xf1\x80\x95\x3d\x91\x0c\x55\x48\x5b\x20\x57\xae\x0c\x93\x02\xf4\xa8\xe8\x31\xa5\x53\x0e\x3c\xbb\xf6\xf4\x72\x22\x40\x83\xa9\x52\xa8\x39\x0a\xb0\x0d\xc0\xf6\x9d\xfd\x88\x0e\xea\x2d\x73\x9d\x21\x8d\x6a\x66\xf2\x37\xf1\x0d\x44\x01\xaa\x75\x8f\xf8\x12\x0c\x0a\xe2\x76\x61\x27\x84\x90\x24\xf5\xa4\xcc\x57\x4a\x5b\x02\xb9\x35\x96\x68\x12\xcd\x1f\xb6\xd7\x9d\x0c\x4f\x59\xff\x80\xf0\x35\xa0\xb1\x09\xcc\xcb\x22\xfb\x08\x53\x5b\x87\x41\x49\xed\xf2\xa0\x97\x0c\x14\x88\x84\x27\xd0\x7d\x1e\xaf\xa6\x84\xa6\xd3\x45\x4e\x49\xb2\x25\x18\x4c\x6b\x99\x3e\xc8\xdd\xb8\xb5\xa3\x5e\xe4\x5f\x87\xf6\x92\x66\xd4\x90\x96\xa3\x17\xd8\x6a\xde\x27\xf4\x52\x9f\xe7\x23\x64\xd0\xb9\x58\x00\x72\x99\xd9\xde\x87\xd6\xff\x9f\xb0\x4d\x57\x3a\xea\x46\xba\xc8\xeb\x76\x47\x52\xeb\x46\x5c\xaa\xab\xa6\x89\xa6\x46\x0c\x11\x07\x30\xbd\xd0\x8b\x16\x89\xde\x7b\x05\xde\x59\xaf\x9f\xe2\x44\xac\x36\x3e\x95\xc9\x8b\x66\x93\x59\xaf\x90\x31\xa3\xa9\x3b\xa6\x31\xab\xf1\xf6\x1d\x20\xef\x7f\xc6\x88\x3b\x48\x40\xfc\x92\x67\x12\xe1\x3d\x87\x4b\x72\x2f\x6a\x79\xb1\x60\x70\xc0\x31\x13\x25\xe9\xa7\x0f\xcd\x86\x91\x6c\xfa\x1d\xa7\xf9\xd0\x56\x3a\x22\xfe\x9b\xfe\x85\x4b\x0c\x18\x6c\x86\x63\xb0\x61\xb6\x5b\xc0\x71\xe8\x39\x93\x8d\x8f\xdd\x7c\xf8\xf6\x95\x2a\x64\x67\xfa\xd8\xe5\x84\x90\xed\x2b\x26\x81\x33\x01"}, -{{0xd2,0xed,0xed,0xcd,0x85,0x32,0x06,0xcb,0xf5,0x9b,0xd7,0x4a,0x25,0xa3,0x03,0xfa,0x2d,0x6c,0x39,0x36,0xbb,0x48,0xeb,0x42,0xf6,0xd9,0x00,0xcb,0xe8,0x07,0x72,0xbe,},{0x22,0x44,0x11,0x1e,0x2e,0x76,0x9e,0xab,0x81,0x87,0x1e,0x06,0xc5,0x80,0x17,0x8c,0x23,0x5c,0x7b,0xf4,0xa5,0x2d,0x2e,0xcc,0xe1,0x18,0x87,0xa9,0xb4,0x6c,0x45,0xc8,},{0xbe,0x3c,0x2b,0x56,0x7f,0xe8,0xc2,0x08,0xc9,0x8e,0x71,0x97,0x11,0x7e,0xb0,0x1b,0x3c,0x19,0x7b,0xdf,0xc8,0x58,0x56,0x2d,0xc5,0xcd,0x90,0xf8,0xe2,0xc0,0x35,0x70,0x42,0x30,0x39,0x95,0xba,0xba,0x2f,0x40,0xb7,0x34,0x5c,0x56,0xdb,0x0b,0x46,0x25,0x58,0x0a,0xa8,0xdc,0xc4,0x8d,0xf6,0x01,0x9d,0x23,0xa8,0x38,0xea,0x71,0x72,0x02,},"\x80\x70\xbc\x0d\xb0\x89\xa5\x92\x54\x46\x01\x9b\x7e\x40\x3c\x74\xec\x78\x90\x3e\x4b\xd5\x4b\xc1\xd0\x8a\x54\xa6\xf0\xed\x75\xa8\x5b\x76\x3f\xf5\x4d\xc3\x3a\x26\x00\xcc\xb4\x57\xfd\xba\xea\xe5\x48\x47\x7f\x6d\x69\x47\xae\x26\xde\xb7\x1e\xac\xd1\xd2\xd6\x22\x82\xa0\x83\x84\x3b\xe4\xe5\x93\x1d\x91\xc9\x3b\x62\x82\xc5\x88\x07\xce\x8f\x0d\x88\x0b\x14\x38\xda\xd8\xfd\xcb\xa8\x61\x2d\xf7\x3b\x9f\xaf\xf3\xa9\xf7\xdb\x30\x05\x25\x05\x36\xaa\xbd\x98\xae\x02\x7a\x89\x5e\x10\xb5\xcb\x7b\x69\x87\x5c\x0f\x39\x93\xaf\x24\x51\x92\xf4\x39\x3e\x9c\x4d\x34\x05\x74\x6e\x31\x1d\x3a\x91\x44\x7f\xcd\xbd\x73\x06\xb6\x02\x0c\x93\x3b\xba\xb9\xe3\x9d\x13\x49\x16\x25\x03\x5c\x9c\x63\x6e\xfa\x17\x39\xc3\x58\x87\x10\xa8\x79\xd9\xe3\xce\x17\x64\x61\x6f\x10\x82\xe8\xdf\xf5\x75\x59\xc3\xf5\xa5\xd7\x6d\xd3\x01\x12\x4f\xa4\x89\xfb\x94\x9e\x9e\x03\x9d\xd4\x62\x1b\xda\x60\xf0\xb8\x6b\x31\x1e\x78\xed\x0a\xb3\xb5\x28\x96\x50\x44\xb2\x3d\x78\xee\x2f\x81\x06\x1f\x8e\xdb\xd6\x92\x99\x33\xd1\x8c\x02\x07\xde\xc4\xb5\xb6\xb2\xfa\x4a\xca\x27\x47\xcf\x5b\x11\x0d\xf0\x0b\x0c\x98\x27\xbd\xb3\xd9\xdb\x2c\x7b\x03\x28\xd4\x0d\x99\xe1\xf6\xb2\x28\xe4\x0d\xad\xae\x78\xae\xda\x02\x89\xb6\xa2\x3d\x4e\xb5\x83\x70\x88\xe5\xd8\x84\x13\x63\x2c\xcc\x22\xe2\x1a\x73\x76\x8c\x67\x32\x01\xe9\xa8\xd8\xdc\x6e\xb6\xf7\x39\x7f\xed\xbd\x39\x8d\x26\xf9\x69\x2c\xa7\x2f\x6d\x6c\xf0\x56\xaa\xac\x50\xac\x2f\x3b\x26\x6d\xbe\x5e\x7b\xe7\xa0\x24\x77\x45\x78\xea\xd5\x85\x24\x5d\xaa\xa7\x3e\x0a\xaf\x83\x3c\x07\x0b\xa4\xb2\x04\x4c\xcb\x5e\x5c\xd1\x6f\x9c\x0a\xd9\x2e\xa8\x44\x80\x55\xdd\x82\x8c\x79\x93\x5a\xa6\xc0\x74\x1f\x9e\x2b\x81\x03\x24\xfd\xc6\xe6\x1e\x84\x2f\x94\x57\x22\x68\xbf\x7d\x5a\xdf\xa7\xab\x35\xb0\x7f\xb1\x9e\x78\x15\xa8\xaa\x5d\x81\x13\x01\x30\xac\x5c\xda\x8a\x47\x51\xee\x76\x03\x8c\x0a\x6b\xc2\xfa\xba\x4c\x49\x7e\x62\xb9\xf1\xf1\x94\xb8\xa5\x99\xb0\x77\x01\x81\x4b\x6d\xfb\x7d\x84\xbc\xdd\x5b\x7b\x5b\xc2\x24\x9f\x1d\x38\x45\xef\xf9\xef\x8c\xc7\x32\x85\x35\xd7\x0d\x53\xc7\xaa\x0c\x73\x05\x90\x1d\xe7\xc4\xed\x2f\xe1\x83\x82\x65\xd4\xa4\x17\xb8\x76\xad\xbd\x88\xeb\x93\x3f\x27\xc9\xaa\x48\xc8\xc7\xe3\x4e\x48\x14\x7c\xcf\xfb\x2f\xb6\x1a\x34\x8f\xea\x13\xef\x67\xcd\xf2\xe0\x39\xe3\x3f\xd8\x9e\x2c\x1a\xd2\xa4\x25\x4e\x3b\xf7\x48\x45\x2a\xa8\x3e\xfe\xca\x46\xe7\x80\xed\xe1\xd1\x3f\xf4\xcc\x5e\x7d\x01\xed\x45\xeb\x8c\x74\x81\x8d\x48\x60\xaf\x47\x59\xa8\x3e\x14\x88\x96\xab\x68\x73\x43\x95\x76\x0e\x00\x14\x6b\x79\x3c\x3e\x72\x89\x8a\xa0\xb3\xc5\xe0\xc1\xd3\xfd\xf1\x21\x58\xd2\xe8\xff\x11\x23\xa3\xa0\xc6\x4c\xf6\x37\x4a\x7f\x44\xf1\x1a\x57\x5e\x48\xa3\x79\x18\x1b\x30\xa4\x86\x5c\xfd\x02\x2a\xa9\x83\x27\x56\x35\xce\x4f\x2c\xc4\x0b\xfe\x06\x60\x67\xec\x4f\xe2\x41\xfa\x04\x7b\x55\x27\x0a\x1a\xd0\x77\x6c\x5f\x96\x86\x10\x14\xcb\xf4\x0a\x04\x32\xc5\x59\xf2\x2d\x79\x34\x2b\x79\xf8\xe7\x04\x2d\xcc\xfb\x1c\xf5\x0f\x83\x08\x5f\x80\x63\xfb\x18\x87\xed\x2d\xfc\x9d\xb7\xef\xc9\x6d\xaa\x0f\xf2\xbc\x4f\x52\x33\x5b\x02\x11\x2d\x16\x39\x2e\x13\x4c\x02\x23\xde\x45\x8f\xc0\x72\xcc\x22\xbf\x9e\x7e\xab\xc0\x62\x08\x18\x0a\x57\xe7\xce\x48\x05\xee\x4e\x0f\xc0\x15\x84\x09\x98\xfd\x56\x86\x44\xa0\x38\x6b\x3d\x8e\x7d\xda\x52\xab\xf6\x4f\x7d\xd0\x08\x68\xfc\x84\xf0\x36\xca\x8a\x78\xe9\xba\x81\x71\xca\x90\x26\x7c\x74\xe6\x15\x9a\xca\xc7\xaf\x5b\xf2\x37\x59\xab\xc5\x3d\x82\xe7\x93\xdb\x87\xfd\xad\xe1\x36\x33\x54\xff\xdc\xb0\xbd\x4c\xc9\x21\x3f\x5c\x84\x54\x45\xfc\x64\x9b\x2a\x1f\x32\x9f\x9d\x41\xd8\xa0\x31\xab\x46\xb4\x72\x16\x0f\x03\x43\x4b\x4b\x6b\xc5\xa4\x01\x52\x4d\x61\x79\xad\x66\xf9\xe2\x21\xc9\x06\x7f\xc8\x7f\xe4\xa7\x7e\x21\xe8\x02\x3b\x61\x69\xeb\xf1\x09\x0c\xd5\x56\xa9\xbe\x50\xb9\x18\x7f\xe4\x60\x7c\x59\x25\xe6\x0b\x41\x4f\x6a\x5c\xbf\x8a\xfa\x15\xed\x0e\xb3\x4b\x67\xb4\xc9\xc5\xd5\x4a\xdb\xe6\x40"}, -{{0xb5,0x69,0xf7,0xc1,0xaa,0xdf,0x56,0xed,0x1b,0x5f,0xa1,0xb6,0xfa,0xd6,0x48,0xd0,0xdc,0x54,0x4f,0xf8,0xfc,0xd1,0x73,0x78,0x0d,0xe4,0x1a,0x7d,0x4d,0xe6,0x0c,0xb6,},{0x9e,0xff,0xa4,0xae,0xd9,0xc6,0x58,0xe4,0x34,0x60,0x71,0x43,0x44,0x68,0xa0,0xb8,0xa0,0x4e,0xcf,0x78,0x41,0x69,0x9d,0x63,0xe8,0x88,0x7c,0xe2,0x05,0x57,0x0c,0xea,},{0x2e,0x32,0xba,0x05,0x56,0xbd,0xe9,0x74,0xd7,0xa1,0x9b,0x3b,0x9a,0x1e,0x92,0xf1,0x83,0x92,0x4c,0x4b,0x74,0xc5,0xd7,0x51,0xb5,0xab,0x3d,0x00,0x79,0x67,0x01,0x6e,0xc0,0x3a,0xfe,0x91,0xd7,0x42,0xfb,0x22,0xb6,0x3e,0x5e,0x55,0xb2,0xfc,0xb6,0xc6,0x1a,0x46,0xe9,0xdc,0xe7,0xfe,0x9f,0xa3,0x0b,0xbf,0x66,0xae,0xf4,0xb8,0x5f,0x09,},"\x7c\x5a\xa4\xdc\x80\x78\xaa\x77\xe8\xb3\xb7\xfe\xe6\x10\x84\xcf\xad\x76\x47\x62\xf1\xef\x26\xd8\xde\xb7\xf2\xf3\xb1\x86\xdf\xc7\x72\x48\x75\x50\x19\x78\x45\xfb\xa2\xf4\xc2\x3c\x83\x5b\x9b\x58\xdd\x0b\x63\x5c\x64\x91\x35\x13\x7f\x24\x8f\x5e\xf7\x13\x56\x4d\xe3\xc9\x66\xef\xa5\xf6\xdb\x6b\xea\x9e\x30\x97\x07\x49\xf8\xe8\x72\xd8\xd7\xae\x45\x35\xb7\x5e\x17\x6e\xa0\x48\x9b\x91\x5f\x34\x71\xd8\x27\xeb\x5b\x44\x45\x86\x48\x8c\xfc\x3f\xa6\xa4\x50\x82\xda\xcb\x82\x64\x95\xe5\x0a\x3b\x5d\xc6\xbb\x93\x0a\x33\x1f\x30\xc3\x85\xbc\x3b\x24\xce\x70\xb8\x95\x96\xdb\x6b\xfb\x68\x7d\x99\xa5\x81\x98\x7c\xa8\x76\xea\x0e\x75\x76\x96\xb3\xfc\x03\x77\x9a\x65\x81\x30\xc4\x10\xb3\x44\xed\xac\xc4\x27\x7d\x44\x84\x54\x99\xd6\x78\xe1\x41\x4f\x15\xf3\x6e\x16\x63\x35\x18\x95\x69\xce\xf3\x56\x7a\xc2\xe3\xab\x82\x1c\x91\xc9\x32\x74\xf5\xc2\x8a\x5d\x1f\x7c\x1b\xf5\x09\x9b\x10\xf8\x4e\xcb\x13\xa4\xe4\x53\x8f\x66\x49\xbf\x74\xf7\x39\x4b\x70\x3e\xf5\x36\x49\xd8\x15\x16\xcb\x1d\xb5\x21\x41\x60\x65\xcf\x9f\x27\x6a\xb8\x0c\x93\x08\x89\x7a\x27\xdf\xe3\x7e\x5e\x14\x2f\x18\x19\xb8\xd3\x48\xdf\x50\xa0\x46\xa1\x28\x88\xe3\xb7\xf2\xdc\xc7\x0f\x52\x18\xd1\x5e\xbb\x9a\xa7\x29\x1a\x1a\x92\xac\x44\x5c\x51\xd3\xa5\x3d\xd6\x91\xef\xff\xcf\x5a\x01\xe8\x76\xa7\x2a\xa4\x81\xeb\x4f\x12\x1a\x07\x23\x97\xd8\xcc\x93\xbb\xc2\xc9\xa6\xc2\x8c\xc8\x9b\x11\xff\xc0\xe9\x10\xd8\x2d\x9d\x62\x98\xa3\x67\xa0\xe1\xe3\xe8\xc8\x65\xe4\x32\x6a\x31\x9b\x22\x66\x6e\x52\x9f\x19\x98\xf1\xb3\xc8\xef\xb5\xfc\x21\xcc\xe9\x70\x40\xfb\x62\x47\xda\xa0\x00\x0a\xc5\x55\x4d\x89\xe7\xb2\x71\x59\xdd\x0b\x18\x00\xb7\x60\xb7\x9c\x91\xef\x6e\x97\x0b\x1e\x6c\x5f\xf4\x24\x42\xb1\xb3\xae\x4d\x3c\x43\x9e\x08\xec\x2f\x6b\x94\x17\x73\x87\xca\x5c\x01\xdf\x6f\x07\xf8\xe3\x4d\x25\xed\xbd\x49\xd8\xb7\x4e\x31\xa5\xe6\x5d\xec\x1f\x87\x60\xfa\x22\xc0\x0e\x6f\xb1\xcd\x55\x5b\xe6\x8b\x0a\xb4\x35\x99\xf0\xb9\xf4\xa5\x4a\x7c\xcb\x06\x26\x83\x89\x5d\x5e\xf6\x6d\x24\xdf\xb1\x67\x8c\xb0\xd0\xe8\xc8\x01\xd8\xe5\xff\xe7\x9b\x91\x39\xfc\x96\xd1\x18\xeb\x39\xb9\xc8\xd4\x40\x44\x89\x32\x5d\x45\xb4\xa3\x20\x2b\xea\xdc\xa6\x6f\x83\x1c\x68\xef\xb8\x15\x94\x15\x81\x93\x0e\xad\x29\xfd\x5f\x21\x1b\x90\xe7\xa3\x9f\x0d\x4f\xf4\x8c\x62\xa5\x45\xe2\x8a\xc2\xce\x29\xbe\xdc\x35\x6d\x92\xfc\x00\x34\x71\x76\xd7\x76\x23\xe0\xe1\x80\x9e\xff\x3f\xe6\x2b\x75\xa7\xd9\xde\xb7\x27\xd8\x61\x72\xd1\x4e\xdb\xf2\x78\x9a\x57\x14\x3c\x69\x92\x5c\x91\x7d\x43\x3b\x46\x83\xb0\x69\x3b\x3c\xd9\xe7\xe3\x77\x99\x64\x10\x72\x7f\x5e\x6f\xb8\xf5\xcc\xd1\x86\x0a\x20\x29\x4e\xcf\x33\xfa\xf9\x7a\x1e\x0f\x85\xb7\x61\x44\x7d\x47\x61\xb9\x6e\x4d\xf1\xb3\x12\xbd\x41\x4c\xab\xcf\x49\x84\x97\xb0\xea\xd6\x7c\xd1\xe5\x90\x1b\xbf\x3a\x16\xa8\x89\x1c\xcc\xed\x8a\x90\x7d\xf8\x87\x26\x95\x2d\x4a\xb3\x70\xa6\xb7\xdf\x29\x42\xcf\x13\x61\x5a\x5b\xc1\x2b\x4e\x10\x6d\xc3\x01\x3c\x68\xb8\xfb\x90\x63\x99\xdf\x15\xf1\xaa\x90\xd5\x6a\xa9\x74\xb1\xd2\xb2\x8c\x1a\x84\x53\xb9\xbf\x07\x92\xa5\x1c\x97\xce\x8a\x12\xaf\xc9\x34\x1b\xb4\xc0\xc3\x7b\x12\xdc\xb1\x2c\x63\x94\x49\x77\x5d\x9a\xc5\xc2\xec\x49\x67\x3d\xa5\xaa\xf7\x49\x3e\xd5\xf1\xf2\x11\x6e\xae\xf7\x2b\xb7\xfb\x1e\x09\x3e\xde\x2c\x26\x31\x7f\x4f\x4b\x6a\xd5\x85\x34\x62\x05\xdf\x91\xa6\xe9\x6b\xc6\x6d\x30\x64\xbc\xe9\x52\x39\x8f\xfc\xe8\x80\x71\xed\x9f\xf2\x75\x0c\x65\xc0\xc3\x04\x12\x5a\xc2\xca\xdc\x4f\xef\x71\xa8\x18\x73\x24\x96\xa8\x4c\xa5\x74\xd4\x82\xd5\xa3\xbb\xa2\x0e\x16\xdd\x2f\xa2\x4d\x32\x70\xf6\xc6\x09\x92\xf7\xf6\x3e\x88\xf5\x2e\xff\x62\x22\x99\x8e\xb4\x41\x67\x27\x38\x43\x75\xf5\x9f\x00\xe4\x75\x12\xee\x46\x4c\x31\x84\xac\xea\xff\x3c\xcf\xb0\x6b\xd1\x5c\x18\x3c\x5e\x48\x59\x26\x28\x8b\x99\x7b\xfa\xaa\xec\xf6\xec\xbb\xf7\xd2\xab\xf4\x90\x6d\xf7\x6b\x12\x77\xc5\xf5\xa8\x7e\x68\x17\xb1\xc6\x36\xe9\x1e\xfd\x7e\xcc\xf6\x4f"}, -{{0x32,0x34,0x65,0xd0,0x31,0x3d,0x10,0x01,0xa2,0x61,0xab,0xfd,0x44,0xfe,0x65,0xc3,0x8c,0x9a,0x00,0xca,0x0f,0x20,0x33,0x5d,0x65,0x53,0xde,0x49,0x26,0x99,0xfc,0x46,},{0xe2,0x2f,0x16,0xbd,0x4c,0xc7,0xe9,0x4c,0x46,0xba,0x31,0x96,0x1a,0xf8,0xc5,0x83,0xf9,0xd2,0x71,0x8c,0x68,0xf7,0x3d,0x85,0x06,0x9f,0x60,0x8e,0x15,0xba,0x87,0x66,},{0xda,0x3a,0xad,0xb3,0x43,0x60,0xb2,0xda,0x0c,0x26,0x54,0x2e,0xa7,0x1d,0xef,0xa8,0xa0,0xbf,0x7f,0xbd,0xae,0x3e,0xe9,0xe1,0x1c,0x84,0x08,0x4a,0xd0,0x5c,0xce,0x7b,0xa7,0xd9,0x4d,0xe2,0x5d,0x85,0x63,0x98,0x26,0x16,0xbc,0xdb,0x5b,0xb6,0x39,0x5f,0xac,0x4a,0x7e,0x84,0xbc,0x77,0xe2,0x1e,0xd3,0x6d,0xf7,0x5d,0xec,0x99,0x0b,0x06,},"\xbb\x10\x82\xe1\xcf\xdc\xd2\x9b\xfc\xa2\x46\x4d\x5c\xe4\x46\xb5\xba\x65\x4b\xa5\x8c\x22\x53\x8d\xa9\x26\xb8\x30\x3c\xab\xfd\x28\x4a\x7b\xd5\x99\x4a\x78\x6f\xa6\x6a\xed\xf0\xe1\x5f\x20\xc3\x82\xcd\xac\xf3\xd1\x45\x57\xff\x7a\x82\x67\xfa\x04\x67\x2c\xac\xab\x76\x70\x08\x65\x0a\xa9\xb4\xa7\xc9\x07\x1c\x47\x99\xf1\xff\xa4\x5c\xa4\xd5\x86\xe0\x20\x47\x44\x4c\x14\x23\x19\x43\x46\x7a\x3a\xba\xef\xa5\x39\x59\xda\x22\x6e\xb0\xc1\x53\x92\x01\x97\x60\x15\x96\x97\x74\x82\x93\xc0\x25\x56\x87\x83\x58\x8a\x39\x10\xe7\x8e\x5e\xa4\x27\xc4\x40\x7a\x89\x01\x06\x1b\x8b\x99\x2b\x82\xa2\xdf\x58\xc0\x4a\x1b\x2c\x5f\xad\x11\xc6\xb3\x79\x85\x6c\x2e\x0f\xef\x8a\x95\x0d\xe7\xe0\xfc\x22\x31\x03\x09\xe0\x8b\x13\x2b\x0c\xce\x4f\xc1\xec\xbf\x94\x57\x4a\x38\x8d\x4a\xe3\x66\x75\xd3\x29\x9a\x95\x15\x54\xeb\xf1\x80\xeb\x38\x1e\x1b\x5d\xf9\x77\xd9\x38\x43\x38\x91\xbc\x47\x8d\x76\x81\x85\x0b\x9d\xc9\xc5\xc7\x69\xd4\x05\xf5\xd8\x83\x9f\xc9\x73\x61\xd6\xcb\x30\x6c\x20\x30\x26\xcf\x2e\x2b\x3d\x39\x84\x9e\x1f\x4b\x12\x25\xeb\x25\xef\x8a\xcd\x40\xb0\x06\xf2\x0c\x64\x4d\xb6\x50\xc7\x5d\x38\xc0\xfc\xdd\x48\xf5\x98\xc7\xb4\xa6\x01\x06\xe6\x9e\x19\xcd\x71\x25\x89\xce\xdc\xcf\x50\x86\x4e\xa5\xf9\xe9\x5e\x01\xf1\xdd\x85\xc7\x51\x4f\x2c\x94\xb2\x83\x59\xde\x41\x32\xb8\x8c\x3e\xe1\xd1\x0a\x80\xa9\xfa\xdf\xb6\x90\xe3\xd8\x86\x41\xb3\x16\x8f\x0b\x89\x6a\xf8\x99\x0a\xdb\xf0\xe4\xf8\xe9\xd3\xf9\xd4\xcd\x31\x4e\x12\xc3\xbc\xe0\xcc\x87\x38\xe0\xcf\xc1\x90\x5b\xe5\xef\xa0\x71\xf7\x10\xb3\x2f\x8e\x58\x98\xc6\x0e\xb1\xbb\x8f\xee\xb7\x40\x00\x56\x0f\x41\xcb\x2e\xbc\x32\xb2\x60\x0b\x69\x80\xa2\xa4\x06\x4d\xfa\xa3\x79\x7e\xc4\x4c\xfb\x72\xd3\x79\xf8\x09\x73\x79\xca\xd6\x7e\xcd\xc0\xc3\x24\x14\xfa\x41\xc7\x2b\x1b\x9e\x4e\xdf\x55\x18\xcb\x39\xfe\x90\x92\xb4\x39\xaf\x3a\x4e\xbd\x5a\xfe\x79\xbe\xdc\x0e\xa8\xbf\x17\x47\x9a\x28\x21\xf5\xe9\xbd\x91\xd7\xf4\xaa\x5e\x38\x46\x99\x52\x37\x19\xb6\x95\x7f\x82\x36\x7c\xd8\x5f\xea\x9d\xed\x62\x36\xa2\x07\xc9\x4c\xb3\x73\xe3\x39\x3c\xb4\xfe\x11\xf9\x0a\x1b\x87\x79\xe4\xab\x4c\x34\x66\x13\x6b\xf2\x1e\x2a\xab\x78\xf7\xd2\x72\x6d\xb6\x41\x4f\xa5\xc4\xa3\xf7\x31\x3a\xd2\x11\x6a\x6d\x7c\xe4\x0a\xaa\x10\x01\xc2\x70\x4d\x5b\x05\xae\x54\xc7\xcc\x6f\x56\x72\x17\xf1\xa4\x7b\xfd\x0e\xe7\x38\xea\xea\x5e\xad\xb5\x37\x10\x75\xbe\x07\x6c\x87\x50\xae\xce\xfc\x41\x7e\xa7\xbf\xda\xac\x3c\xc3\x8b\xf1\x6c\xc2\x6d\xf7\x60\x0e\x3c\x7e\x8e\x43\x1f\x26\x76\xfc\x2a\x8c\x43\xa6\xa1\x43\x68\xba\x62\xbb\x32\x43\x9a\x06\xbe\xac\x38\xa0\x47\xb3\x74\x5e\x26\xf4\x07\xad\x82\x3d\x6a\xd1\xc0\xb6\xa4\x43\x41\xe1\x5f\xc9\xb3\x31\x21\x4f\xfc\x89\x69\x82\x11\xb0\x51\x33\xd6\xd3\x43\x3b\x5d\x59\xf7\xab\x4d\x10\x9e\x54\xe4\xc5\xd6\xf3\x2f\xcf\x72\x30\xfa\x4e\x25\x28\xc8\x61\xbb\x21\xcc\xc9\xe3\x10\xe9\x49\x7e\x07\x7e\xa6\x75\x51\x0d\xa7\x12\xb1\xa5\xdf\x57\x5c\x5d\x1b\xf7\x36\x2d\x07\x11\x80\x03\x9a\xec\xfa\xa5\xc8\x57\x3c\x24\xc0\xf4\xeb\xe8\x1c\x2f\x88\x9a\xed\x3d\xe5\xa0\x00\xbe\x12\xfe\x3d\x0a\xf2\xdc\x2c\xd4\x24\x0e\x31\x4a\x17\x6c\x55\x3e\xfd\x5c\xba\x79\x8d\x9f\xf1\xe3\xd4\xbd\x9e\x90\xbb\x81\x13\xe3\x84\x9d\x73\x5a\xfa\x4a\xf6\x94\x5c\xc5\x7d\x4c\x37\x8d\xb8\x4f\x20\x6e\xf7\xea\xb1\x1c\x63\x7a\x7f\x72\x60\xf1\x22\xa9\x7d\xff\x67\x47\xe9\xb4\xc1\x74\xed\x0d\x64\xf9\xef\xd7\xfc\xcc\xf9\x81\x51\x9e\xc5\x80\xa8\x18\x25\x47\xd1\x79\x68\xc4\x01\x51\xfd\xf6\xd5\x4b\xc5\x7a\x91\x15\xf0\x40\xfa\xb5\xc1\x00\xde\xb0\x39\x12\x2b\x7d\x2b\xfd\x98\xb6\xad\xf3\x8f\x42\xb2\x96\xea\x3b\x37\x8a\x90\x42\x59\xb7\x5d\x60\x70\x3b\x48\x40\xb3\xf5\xda\x09\x62\x0a\x54\x77\x62\x80\xe9\xca\x9e\x8c\xd9\x24\xae\xd2\xb5\xdd\x2b\x49\x83\x4e\x58\x1c\xae\xd5\x27\x1c\xd7\x8c\xe0\x8e\x4b\xba\x49\xb5\x9c\xd7\x7c\x1b\x62\x76\x64\x91\x48\xab\x72\x47\xf9\x7f\xc0\x13\x16\x35\xde\x47\x4d\x3c\x23\x49\x3c\xa9\x8d"}, -{{0x60,0xff,0xdb,0xae,0x00,0x3f,0xa2,0x79,0x4f,0xca,0xbb,0xf8,0xf5,0xb4,0x16,0x44,0xfe,0x3a,0x7f,0x44,0xed,0x6c,0x83,0x41,0x93,0xda,0x07,0xa9,0xdc,0x5e,0x26,0x65,},{0x35,0xb5,0xeb,0x31,0xab,0x55,0x64,0x92,0x57,0x8b,0x3d,0xbd,0x6c,0xf1,0x68,0x7d,0x1f,0xdb,0x21,0x6a,0x72,0x58,0x18,0x07,0x96,0x63,0x48,0x2f,0x22,0x1c,0xe4,0x21,},{0xb8,0xf3,0xe1,0xf3,0x78,0x5a,0x2a,0x39,0xbb,0x08,0x6c,0xa4,0x65,0xc0,0xab,0xf0,0xa3,0xe8,0x74,0x43,0x22,0x5a,0xc6,0xe9,0x66,0xed,0x9b,0x45,0x31,0xc5,0x4a,0x89,0x4a,0x9a,0xbd,0x01,0xac,0x31,0xb8,0x57,0x57,0xfe,0x75,0x30,0x8c,0x95,0x94,0xff,0x65,0xf9,0x7c,0xdd,0x91,0xe8,0xd8,0xa9,0x3c,0xf1,0x2b,0x9e,0x6d,0xbe,0xe9,0x0b,},"\x3f\x8f\xf2\x0b\xb4\xf0\x08\x34\xc8\x0f\x2e\xe6\x89\x3d\x6f\x73\xbf\x7a\xce\x27\x29\x60\x1b\xb2\x6a\x0f\xb2\x72\xa4\xd0\xee\xa1\xfa\xe1\xd3\x06\xac\x2c\x5f\x32\xad\xd6\x01\x35\x85\x1d\xa2\x7e\x4f\x12\xe6\x4e\xa5\xe9\xe9\x96\x0b\x13\x83\xb0\x4c\xe0\x5a\x98\xb0\x41\x4d\xad\x97\x1e\xa9\x89\x44\x87\x1d\x41\x5c\xc2\xc4\x6d\xa4\x03\x97\x6d\x9f\x21\x93\x89\x58\xd4\xea\x8c\x79\x03\xb1\x4f\x2a\x44\x85\xfd\x69\xaf\xb2\x4a\xbe\x10\x2d\x8f\xec\x26\x6f\xb4\x68\xb4\x11\xeb\x20\xa3\x39\x67\x7d\x88\xeb\x31\xc9\x97\xb4\xdc\x88\x56\x13\xf0\xbe\x7c\x70\xda\xf8\x56\xa3\xdf\x92\xda\x96\x02\xfb\xa2\xe6\x74\x9d\x2f\x42\x6b\xee\xf6\x86\x62\xd5\xb0\xc2\xfd\x31\x32\x1b\x22\xb5\xec\x59\x7d\xa5\xd7\xe6\xa2\x88\xeb\xd9\x44\x3c\x5f\x39\xeb\x87\xdc\xf4\xa5\xad\x9d\x56\xc6\xba\xf6\x08\x09\x96\xa7\x79\x36\xbd\x87\xdc\x3c\xb4\x2e\xd4\xc4\xd4\x26\x88\xa9\xe1\x93\x82\x9b\x76\x1f\xf3\x20\xe2\xa6\x6c\xc6\x76\x48\xe7\x0e\xea\x3a\x1f\x2f\x9b\x9d\x5b\x42\x02\xfb\x5a\x39\xe9\xad\xc6\x09\x08\x6a\x9b\xe2\xa8\x32\x3a\xc6\x69\x31\xbd\xf6\xc5\x04\xd3\x33\x62\x11\xe4\x6f\xde\xfc\x48\x1f\xbf\x17\xf6\x13\xda\xb1\xfc\x5c\x09\x7c\x92\xdb\x06\x09\x90\x6d\x78\xb2\x5a\x45\x5a\x30\x45\x71\x8e\xfd\x3e\x3b\x14\xe2\x52\xb1\xae\x59\xc7\xc3\x89\x3e\x31\x91\x3b\x2c\x26\x4c\x0f\xfc\x3b\x60\x6c\xa1\xb0\x1d\xc4\x7e\xe8\x28\xa0\x8e\x46\xaf\x60\x4e\x59\x0d\xef\x44\xd2\x7a\xab\x93\xa4\x03\x25\x1f\xca\x07\x72\xe9\xdf\x0f\xab\x7a\xf0\xcb\xc5\x18\x1e\xfd\xa4\xda\x91\x3d\x8e\xb6\x45\x2f\x6c\xec\xbd\xa2\x04\xbc\x72\xd7\xc9\x90\xf6\x0c\xe0\xdd\x83\xc6\x34\xe9\x12\x23\x60\x91\xb0\xa6\x67\x3a\x7c\x89\xea\x59\x30\x8d\x55\xbd\x7e\x63\xa8\x52\x67\x74\xcb\xdd\x7a\x13\x39\xfa\xc2\x12\x4c\x90\x22\xab\xd6\xfe\xce\x7f\x2d\xae\xdf\xd8\x7f\xa6\x83\xdc\x0e\x3e\xf4\x08\x06\xa0\xab\x19\x87\x69\xd3\xa9\x9f\xe8\x1a\x99\xb6\x86\x00\x31\x90\x87\xaf\xa4\xea\x79\xd7\xee\x45\xda\x9c\xd4\x08\x09\xf4\xee\x8f\x4e\x25\xa0\x17\x75\x21\xee\x9d\xba\x8b\x56\x21\x2e\x88\x71\x9b\xb7\x36\x73\x36\xf4\xa7\xbc\x71\x22\xb4\x1a\x7d\xfa\xa2\x67\x2f\x92\xf2\x34\x03\xa1\x0c\x4f\xb2\x53\x88\xc6\xb2\x00\x81\x09\x3d\x49\xf3\xbe\x8a\x9e\x1c\x63\x4e\xf7\xba\x96\xb6\xd5\x23\xdd\x6f\xf6\x13\xc0\xa2\x3b\x60\x45\x70\x26\xcd\x48\x5b\xa8\xdb\x61\xd8\x0a\x0d\xc6\x59\xd9\xaf\x42\xa3\x8c\xae\x77\x7f\xec\x68\xe3\x9c\x52\x98\x6f\xf9\xfc\x20\x78\x9c\x10\x58\x51\x07\xc0\x40\x47\xb6\x6b\xa1\x4e\x93\xfb\x90\x4e\xa9\x0d\xf7\xac\x9f\x01\x54\xc9\x6f\x32\x36\xac\xf6\xdc\x8b\x44\xf5\x54\xc0\xcd\x51\x31\x93\xe5\xdf\xd8\x7e\x08\x5a\xd4\xb3\x8a\xa4\xc5\xe3\x6b\x24\x27\x72\x20\x88\x81\x6e\xcd\x2b\xc3\xa3\xdd\xa0\x1e\x4f\xb3\xff\x5e\xec\x7a\x64\x17\x32\x2b\xa6\xa2\x77\x73\xd2\x44\x95\xa8\x39\x19\x4a\x4a\x58\x2f\xe5\xab\xdb\x8b\x5d\x53\x3a\x24\x26\x25\x89\x24\x1f\xc8\x1f\xdf\x5e\x79\xfd\x26\x77\x64\x28\xf8\xe1\xce\x9e\x92\x6c\xf2\x72\x71\x6e\x75\x83\xab\xfc\x67\xa9\x4a\xae\x08\x16\xc1\x00\x0a\x19\x61\x70\xbb\xff\x1f\x45\xe5\xed\x9e\x26\x7a\xce\x1e\x4d\x91\x5d\xce\x72\x16\xc5\xf4\x04\xde\xf6\xfe\x2b\xd8\xb2\x8b\x2e\xcc\xf3\xe2\xae\xa0\xc0\xd6\x62\x63\x90\x27\x4e\x47\xe7\x45\xed\x3a\x23\xbc\xfd\x21\xd2\x84\xc3\x95\x37\x9d\xc0\x20\x80\xf0\x79\x36\xbc\x15\x4e\x7b\x99\xee\x73\xdb\x18\x8b\xd2\xa3\x94\xe0\x3a\x01\xff\xe2\xd1\xb3\x30\xce\xb7\x21\x58\xf9\x58\xc7\x16\xa8\x17\x11\xdb\xf6\x5a\xff\x8c\xd1\x2f\x5d\xfa\x53\xb3\x76\xeb\xb8\xb9\x8f\x86\x28\xf1\x7e\xf8\xb2\xab\x9c\x0b\xb6\x84\x12\xf4\xe3\x47\xa6\x33\xe2\xf8\xda\x1a\x55\x6d\x96\xf4\xaf\x72\x11\xc0\x78\x07\x9c\x10\x54\x1c\x07\xdc\x37\x22\xd1\x8d\xab\x8f\xa8\xbc\x49\x25\xab\xa5\xc9\x66\xf8\x05\x04\x03\x22\xdf\xbb\xbe\x87\xfb\xfe\xb1\x96\x1f\x5c\xcd\x40\xa9\x1b\x99\x7e\x54\x31\x5a\x7e\xef\xc3\xa4\x7b\xb0\xc8\x7d\xc2\x37\x55\xce\x72\x27\x57\x49\x96\xf4\xbe\x7a\xa3\x44\xfe\x0d\x17\xb9\x7b\xc5\x0c\x58\x38\xf9\x92\x92"}, -{{0x17,0x4e,0x99,0x3d,0x9b,0x81,0xf2,0xaf,0x67,0xe9,0xff,0xb8,0xeb,0xd5,0xda,0x41,0x79,0x66,0xa9,0xe7,0x7f,0x66,0xc6,0x5c,0x76,0x77,0x38,0xfe,0x83,0x57,0xd0,0x7c,},{0x3b,0xb7,0x38,0x6f,0x1b,0x1c,0xbf,0xae,0x55,0x37,0x03,0x83,0x3e,0xbc,0xbf,0xe2,0xdf,0xff,0x8c,0x89,0x9a,0x07,0x92,0xd7,0xce,0x23,0x22,0xb5,0xba,0x64,0x5a,0x5f,},{0xe6,0x07,0xbc,0x9a,0x53,0x60,0xb3,0x1d,0xa5,0x6b,0xe1,0xc5,0x44,0xc2,0x00,0x02,0x84,0x95,0x1d,0x86,0x89,0xf4,0xb7,0x22,0xbc,0x46,0x73,0xa0,0xc8,0x48,0x9b,0x84,0x48,0x3e,0xd8,0xe7,0x6e,0x29,0x7e,0xa0,0x46,0xe8,0x5b,0x37,0xba,0x56,0x30,0x58,0x5e,0x53,0x75,0x56,0x6a,0x18,0x7a,0xfb,0x56,0x96,0x66,0x1e,0x5b,0xfd,0xc1,0x0e,},"\xa4\x01\x75\x0a\xfc\x48\x37\xdf\xe3\xaa\xcc\x28\x4a\x59\x71\x45\xdf\xef\x02\x62\x9e\xf8\x7b\xd0\x93\x8d\x44\x39\x79\xdf\x76\xf2\x9f\xcd\x66\xa5\xb7\x1e\xa8\xab\x78\x72\x77\xe3\x05\x6f\x6e\xa1\x1b\x08\xbd\x23\x89\x79\xf9\xd3\xb0\x62\x53\x8c\x4d\x60\x40\xa8\x6b\x6e\x32\x04\x7a\xec\xc5\x9c\x23\x77\xad\x0e\xa4\xc4\x0c\x79\xff\x9f\xe9\x8c\x95\x8b\x2b\xf2\x5f\x2f\xd6\x34\x24\x32\x63\x6f\x5f\x7d\x5b\xb0\xd2\xec\xf1\x81\x83\x42\x6c\x73\x14\x79\x84\xd9\x5b\xbe\x16\x2e\x11\x97\x2d\xdb\x78\xa2\xa7\xc3\x45\xc5\xc0\xbb\xba\xba\x9c\xf3\x8a\x2d\x5d\xd5\x09\xa7\xdf\x8b\x84\x28\x74\xa9\x6e\x64\xb5\xd6\x4f\x5c\x41\xa2\x1d\x20\x8d\x14\xce\xa7\x06\x6c\xf2\x2d\xee\x0c\xa4\x1a\xa4\x6a\xb9\x21\xd4\xce\xec\x89\xec\x87\x3f\x77\x96\x0e\xda\x60\xd9\x67\x6c\xfd\x0d\xbf\xae\xc8\x72\xc2\xad\xe8\xfb\xa4\x28\x5a\xac\xd5\x27\x14\x3a\xe0\x34\x1d\x67\xd0\x07\x81\x19\x65\x3b\x5d\x23\xd4\x6e\x6e\xf7\x02\x64\xb1\xb0\x91\x38\x70\x87\x76\x23\x71\x6d\x0f\x1a\x59\x02\x1b\xe7\x4c\x91\x4b\x43\x24\x71\xa4\x3a\x29\xf2\xb6\xdb\xeb\x6a\x22\x3e\x2d\xba\xab\xb8\x20\xb4\xad\xbe\x33\x78\x29\xe1\xde\x0c\x18\x4d\xd0\xd0\x9f\x9d\x01\xd4\x25\x27\xe5\xd4\x0a\xbb\xda\xcc\x8a\xc0\xf1\xb2\xc5\xc1\xcb\x2f\x23\x87\x6d\x2d\x1b\x6b\x43\xdf\xe4\x82\xf9\xd4\x5a\x18\xf5\xc2\x2b\x15\xf1\xfe\x52\x1e\xf5\x7b\x08\xae\xc6\xa3\x03\x39\x25\xc7\x45\x4c\x93\xe6\x31\x9e\x77\x8a\xc4\x94\xfb\x14\x0a\xe5\xf1\xa3\x1c\xc8\x32\xca\x24\x88\x65\x10\x04\x06\x3b\xcf\xf8\xfd\x9a\xe9\x26\x6a\xf5\x27\xf2\xc3\x1f\x6a\xcb\x8f\x3d\xeb\xd9\x97\x8e\xf9\xdf\x01\x08\xe3\xd5\x0c\x49\x19\x90\xc9\x0d\xd8\xee\x9d\x64\xea\x4e\xbf\xd7\x11\xc9\x9d\x90\x44\xec\x11\x34\x2c\x53\x83\xca\x39\x23\x2e\xd9\x7a\x07\xe4\xdc\x51\xdb\x4c\x1f\xe9\x47\x34\x8d\xff\xe7\x0a\x95\xc9\x9d\xb1\x47\x51\x31\x48\x01\xf1\x3f\xa2\xbf\x42\xd8\x67\x37\x5a\x08\xee\x9b\x3b\x79\x9e\x0b\x15\x27\x8e\x95\xe9\x1a\x89\x68\x06\x4d\x6d\xfd\x8f\x51\x15\x43\x8c\xcb\x8b\x51\x6c\xa0\xc4\x1d\xbb\x19\x87\x3c\x6e\x10\xa2\x36\xec\xc2\xda\xd5\x22\xf8\x0f\x01\xc1\x4e\x2f\xa1\x4a\x0d\x79\x2b\x9f\xc4\x86\xc6\xfb\x0e\xfb\xdf\x21\x30\xf0\x2d\xf1\x49\x7d\xb5\xab\xa8\xbe\x61\xca\x70\xb2\x93\x88\xe4\xee\xc7\xe0\x69\x4a\x38\xc0\xd0\x3c\x59\xbb\x6a\x2d\xc3\xcc\xd6\xdd\xe1\xe2\x9e\xe2\xc1\xb3\x25\xac\x72\xaa\x8e\x6f\xab\x91\x38\xf8\xb6\xf5\xd3\x24\xd4\x6a\xf3\xa3\x54\x2c\x8b\xd8\x7c\xb0\x4f\xaf\xc5\x4b\x5d\xb8\x27\xde\x60\x67\x62\xa0\x97\xb6\x22\x79\x9c\xa8\x27\xbd\xa9\xc1\xc0\xbb\x26\x7e\xba\x82\x54\xa8\x1c\x6b\x85\x8a\x37\x5b\x94\xbd\x09\xf3\x9e\xeb\x88\xcb\x14\xb8\xd4\x6e\x47\x40\xdc\x1a\xb4\x2a\x89\x5f\x86\xd2\xc5\x7f\xc2\x8b\x07\xb7\xf6\x0f\xc4\xf8\x84\x7b\x8b\xc8\xad\x83\xa2\x48\x1a\x28\xf2\x9b\xca\x35\x10\xff\x8b\xf1\xdd\x75\x81\xe3\x35\x71\x64\xf4\xfe\x92\x0f\x9d\xe8\x39\x37\x6d\xe0\x64\x90\x0d\xc7\xf8\xbc\xf5\x11\xdc\x57\x2e\x0f\x0f\x6a\x75\xb9\x29\x79\x7d\xa4\x1c\x52\xea\xe6\xfe\x13\x75\x0c\xe3\x51\xe8\x76\x76\x30\xba\xdf\x6d\x7d\x4e\xab\x90\xcd\x19\x04\xc9\x6c\x04\x8a\x9a\xcb\x21\x3a\x9e\x5b\x86\x46\x15\x73\x8a\x84\xf2\x22\x98\x6a\xc2\x35\x54\xcf\x4c\xe5\x4e\x80\xab\x57\x33\xc0\x65\xb8\x04\x59\x92\x1d\xd3\xd8\x37\x2d\x0e\x85\x94\xd4\x36\x43\x51\xbf\x04\x1c\x14\x6f\xa8\xd2\x3a\x19\x3e\xb8\x07\xec\xe2\x3f\x24\xab\x65\x95\xe9\x32\xc9\xce\x1a\x75\x9b\xf7\x88\x91\x4d\xb0\x08\xe8\x70\x98\xdd\x81\x46\x5e\x26\x10\x64\x7a\xc3\x8e\x08\x86\x66\xf6\x0e\xc5\xd0\xe2\x17\x33\x20\xa4\x0c\xd9\x85\xf0\xe0\x0d\xbc\x2b\x45\x70\x72\x74\x83\xa8\xc2\x5f\x6f\xc1\xe0\x93\xbb\x57\xcc\xaf\xd1\xca\x20\x2f\x29\x86\xc7\xc5\x54\x0a\x7c\x3e\x10\xc4\xa6\xfc\x26\xd1\xd6\x2c\x2c\xa5\xaf\x83\x05\xce\xeb\xe4\x2f\xf9\x6e\x7d\xc5\x48\x21\x43\x75\xe8\xa7\xf9\xf7\x12\xba\x8b\xd8\x75\xe4\x3c\xa1\x0c\xf9\xb1\x83\xf0\xc8\x51\x95\x12\x92\x85\x38\xa4\x78\xcb\x98\x25\x9b\xd8\xb3\xe3\x34\xbc\xc4\x63\x55\x95\xca\xd3"}, -{{0xe5,0x37,0x15,0xfe,0xc9,0xd3,0xb2,0x0e,0x9c,0x29,0x91,0xe5,0x4b,0x5e,0xb0,0xa8,0xcc,0x81,0x87,0x55,0x69,0xc9,0x5e,0x22,0xa2,0x00,0x13,0x60,0x02,0x17,0x60,0x04,},{0x53,0x51,0x89,0x9b,0x69,0xb2,0x11,0x6b,0xc7,0xf8,0xa8,0x81,0x4d,0x1e,0x5b,0x9f,0xc7,0x85,0x69,0x8b,0xeb,0xd9,0xab,0x14,0x27,0x7c,0x3e,0xcc,0x01,0xef,0x8b,0x1d,},{0x3d,0x0a,0xdc,0xe7,0x7a,0x4e,0x04,0x6f,0xcb,0x9b,0x49,0xad,0x5e,0x6c,0x68,0x09,0xc8,0xac,0x33,0x6c,0x73,0x34,0x04,0xe5,0xd3,0xf0,0x15,0xc9,0x22,0x5c,0x3d,0xf4,0x6e,0xf2,0x1e,0xa3,0x4c,0xff,0xb3,0xaf,0x69,0x97,0x4f,0x8b,0x7e,0xab,0x2d,0x23,0xfc,0xd5,0xa1,0xe1,0x75,0x3a,0x40,0x23,0xde,0xb3,0x81,0x86,0x29,0xa9,0x8a,0x0b,},"\x84\x31\xcd\x16\xd5\xc0\x93\x77\x5e\x18\xc0\x82\x52\xc4\x3f\x95\xb1\x01\x7e\xb7\x11\xfc\xaf\x73\xe1\xe0\x0c\x0c\xd6\xf3\x44\x87\x44\xab\x9b\x0e\x64\x33\x55\x18\xc4\x83\xae\x94\xde\xb9\x76\x77\xf8\x18\xf0\xe8\x1a\x74\x90\x61\x5b\x71\x41\xb9\xc3\x5f\x80\x55\x6e\x69\x71\xce\xa2\x8e\x9a\x32\xc3\x28\xcc\x26\x69\xfc\xa5\xb1\x23\xcb\x66\x2d\xeb\xab\x2b\x98\x15\x77\x64\x66\x80\x70\xe1\x8e\xdf\x76\x1a\xe1\x96\xbd\x4b\x24\x4f\xea\x7b\x74\x98\x45\x16\xbe\x2c\x00\x73\x9e\x76\xe6\xc4\xb6\x21\xcb\x39\x83\x76\x5a\x20\xd8\x47\x78\xd5\xa4\x35\x0b\x16\x8f\x6a\x0f\x71\x2a\x98\x20\xa8\x5a\x63\x6f\xaf\x92\xc7\x89\xc4\x28\xcf\xd2\x96\x2e\xd2\x07\xc3\xac\x88\x99\xc2\x58\xca\xc1\xad\xb5\x15\x9f\x76\x4b\xa3\x72\x29\xc5\xcb\xf7\x83\xfc\x9a\xa4\xd1\xea\x46\xec\xc8\x5f\xe0\x96\x14\x85\xd4\xfc\x5c\xb2\x1d\xf0\x01\x2a\xc9\xb9\x55\x37\x3b\x14\x22\xe5\x1a\xfa\x1c\x55\x09\x88\x86\x2c\x86\x13\x3b\x76\x0a\xa6\x30\xfc\x0a\xce\xe8\x98\x91\x17\xd1\xdd\x96\xe3\xe6\x28\x7b\x69\x28\x7c\x59\x0b\xdc\xa9\xcb\xc8\xee\xce\xf2\x81\xee\x6d\x1c\x8d\x88\x82\x2b\xfe\xa5\xfa\x0f\x53\x0f\x23\x27\x80\x93\xc7\xc8\x5a\x0d\x44\xc3\xa7\x74\x04\xee\x79\xf1\xc8\x36\x8c\xd7\x32\x1b\xf1\x48\xfd\xa4\xdc\xf2\xeb\x07\xe4\x63\x0e\xa4\x22\x58\x75\x86\x37\x17\x80\x51\x45\x36\xb8\x94\xc5\x24\xe6\xb8\x3d\x5a\x76\xa1\x5c\x83\xe9\x5a\xb3\x14\xe0\x7b\x34\xb9\x8c\xd9\x9e\x07\x70\xb4\xeb\x9b\x3f\x3f\x50\x5b\xae\x8a\x06\xf7\xf9\x50\x25\x8d\x79\x07\x48\x10\x71\x95\xeb\x4f\x6b\x84\x84\x0f\x8c\x05\x90\x72\x73\x96\xed\x14\xe3\xf5\x32\x39\x47\x6c\x4d\x2a\x72\x69\xb2\xe1\xf9\x72\xfb\xff\x33\xe4\x72\x44\x26\x74\x5e\xc8\x86\xa3\x29\x16\x29\x5e\x70\xd4\x68\xd0\x6c\x7d\xbb\x5f\xf9\xa3\x54\xe1\xac\x90\x3b\xb4\x5c\xa5\x26\xf0\x8b\x49\xa6\x5e\x82\x29\x7d\x8d\xd3\xfb\x25\xaa\x42\x8f\x64\x34\x5b\xca\x97\x40\xd9\x07\x8d\xac\x9e\x11\x38\xc9\x21\xbd\xd7\x48\x81\x67\x3d\x49\xd0\xcd\x20\x06\x81\x17\x23\xde\x28\x7c\x6c\x95\x83\xe4\x56\xa0\x1a\xb1\xa3\x4d\xfa\x1e\xaa\x96\x3b\x71\xe8\xbc\x7f\xa8\xa9\x8c\xad\x4f\x94\x1e\x4b\x37\xb6\x0e\xef\x92\x3b\x32\x94\x88\x23\x50\xb3\x8e\xa4\xea\xc0\xe9\x23\x2e\x93\xc5\x32\xdb\x5d\x7e\xec\x8e\xcf\xae\x65\xe0\x80\x47\x30\x78\x77\x7d\xdf\xdd\x11\x50\x8a\x6e\x59\xf0\xeb\xaa\x3f\x60\x44\x1f\x82\xa7\x1a\x73\xc8\x4b\xca\x06\xa3\x71\xff\x5c\x9f\x77\x21\x3a\x2d\xb7\x95\xd4\xa8\x89\x78\x23\xd8\x8f\xd9\x2a\xe3\xe0\x57\xe8\xbb\xd8\x0c\x99\x0a\xf8\x38\x6b\xdf\x26\xf1\x2d\x97\x3c\x8c\x5f\xf9\xed\x6f\x7b\x2d\x8e\x61\x83\xcf\x6e\x68\xf3\xbb\x89\x8f\x59\xa9\x3e\xc4\xde\x3b\xea\x60\x5a\x5d\x8b\x15\xdf\xab\x71\x3f\x35\x85\xc4\x8d\xc9\xa5\x76\x82\x42\xb3\x31\x01\x43\x80\x30\xe7\x04\x48\x80\xd1\x7c\x2e\xe8\x4f\x89\xd2\x6a\x1f\x7b\x19\x86\x19\x3f\x96\x63\xc5\x87\xd5\x0c\xa9\xdd\xf6\x18\x6a\x51\x76\xaf\xef\x1a\xdb\x24\x81\xb7\x92\x54\xb7\x8d\x3b\x34\xc6\x97\x90\xeb\x28\xb9\x0b\x14\x61\x17\x0c\x3d\x73\x81\x83\x76\xcd\xf3\x71\xaf\x0a\x0f\xea\xf1\x4f\xdf\x70\x16\xed\x6e\x7f\x08\xc0\xc1\x4b\x52\x70\x5c\x86\xd4\xf0\x00\x3b\x5e\x45\xf9\x74\xc0\x64\x16\xcc\xb5\xca\x3e\x9d\x52\x9a\xa9\xd4\x15\xc2\x5a\x44\x6f\xa2\xd6\x9e\x82\xf4\x99\x4e\x57\xe9\x22\xc1\x7c\x1c\x34\x2d\xd7\x28\x1e\x41\x00\x52\xd9\xe4\xaa\x1b\x30\x9b\x7d\x47\x0d\x45\x8c\x66\x3e\x17\xff\x25\x00\xd0\xbb\x8e\x46\xa9\xc4\x36\x7e\x09\x1c\xaf\x87\xdd\xfc\x06\x2a\xae\x08\xa6\x5c\xb9\xe0\xea\xa7\x1c\x99\x45\x9c\x5e\x7c\xb1\x12\xa2\xee\x98\xa5\xe4\xcb\xee\x0d\xc5\x20\xf8\x7c\x30\x22\xda\x65\x49\xbe\x1e\xe7\x0a\x0a\x73\xad\x84\x99\xc9\x7d\xd0\x6a\xa1\x4c\x9f\xd8\x62\x8a\x92\xca\x6d\xb4\x87\x32\x2d\xb9\x59\x8a\xda\x1f\xce\x28\xf4\xb9\xfc\x1d\x3c\xc3\x9d\xcf\x2e\xd1\xdf\x3d\x86\x2d\x87\xf5\x5c\xc1\x01\x6f\xb9\xe7\x3e\x7c\xc8\x97\xb9\x70\xd5\xff\x35\xac\xfe\xb0\x5c\x1c\x89\x19\x28\x08\xae\xeb\xfb\x2c\xd1\x7c\xb1\xc9\x4f\xab\x05\x98\x98\xfe\xdc\x2f\xbd\x44\xcc\xef"}, -{{0xab,0xfd,0x69,0x7b,0xfb,0xc5,0xb6,0xff,0x2b,0xdf,0xf3,0xbc,0xe1,0xd7,0x77,0xe0,0x5f,0xbe,0x3e,0xc8,0xb9,0x5c,0xe6,0x93,0xd6,0x23,0x93,0x12,0x09,0x31,0x3d,0x4f,},{0xa7,0x09,0x32,0x1a,0x02,0x10,0xcb,0x80,0xab,0x58,0xbf,0x95,0x5e,0xcd,0xeb,0x8a,0xaf,0x9e,0xe4,0xc3,0x75,0xf9,0x59,0xc5,0x30,0x89,0xd4,0x37,0x48,0x8c,0x08,0x2d,},{0x8c,0x36,0xb5,0xa1,0x11,0xc5,0xa8,0x11,0x9f,0x2d,0x9d,0xb5,0x7e,0xbb,0x59,0x2d,0xae,0x86,0xad,0x4b,0xf6,0x78,0xc1,0x49,0x2e,0x26,0xf3,0xc1,0x0f,0xbe,0x03,0xf1,0x05,0xca,0xe0,0xdc,0x68,0xb5,0x52,0x59,0xb9,0xb5,0x98,0x92,0x89,0xdb,0x33,0xd9,0x5d,0x2e,0xe6,0xb7,0x56,0xc7,0x60,0xf9,0xd3,0xaa,0x0e,0x68,0xa1,0x89,0xde,0x02,},"\x89\x6b\x7a\xb8\x41\x3f\xfe\x43\x9a\x2f\x44\x87\xec\x49\xd6\x4e\x31\xc7\x4f\x50\xac\x83\xf5\x5d\xa6\x1a\x70\x03\xaa\x71\x6c\x2a\x9d\xf6\xb4\x38\xe6\x2f\x53\xd8\xf0\x19\x2f\x37\x36\x32\x47\x60\xd7\xe8\xc4\x4a\xc0\xba\xca\x3a\xe2\xa6\xfb\x93\xf1\x3d\x96\x88\x67\x99\xfd\x2c\x45\x51\xb0\xab\x36\xf1\x73\x08\x55\x55\x12\x65\xa5\xa3\xc3\xc2\x1d\x95\x16\xa2\x37\xf5\xdb\xc1\xc8\xe7\x29\x99\xb7\x82\xc5\xca\x41\xa4\xf6\xe9\x30\x8e\x64\xaf\xde\xe0\xbf\x47\x9e\x54\x6b\x89\xc5\x1b\xc5\xe4\xf7\x1e\x57\xfb\x24\xce\x43\x7a\x8b\x81\xb9\x1d\xc7\x98\xb5\xab\x36\xf2\x9a\xfd\x5b\x48\xe8\x1c\x17\x6a\xe5\xed\xf9\x53\x71\xba\x32\x46\xfb\x43\x94\x05\xbd\x10\xee\xd3\x67\x8e\x3e\xc6\x23\x07\xa3\xb3\xdc\x1b\xad\xba\x05\x1f\x16\x77\x4b\x85\x08\x81\x88\xc2\xa9\xe3\x20\xa1\x61\x8d\x5f\x26\xce\x94\xee\x2b\x93\x3c\x30\x5f\x6d\x95\x84\x95\x8e\xea\x31\x56\xc3\xd1\xe0\xef\x39\xa1\x86\x27\x5e\xe6\x2c\x40\xf3\xc1\xac\xd1\x5d\x8b\xe6\xe0\x74\x35\x1f\x53\x49\xce\x3d\xf6\x95\x17\x50\x5f\x45\xfa\x06\xa8\x15\xc6\x9c\xa1\x8f\x45\x0f\x42\xb5\xcf\x4e\xbd\x99\x26\x84\x45\xe0\xf6\x81\x04\xa7\xde\xeb\x0a\x11\x5b\x81\x7b\x99\xe1\xa7\x3e\x0f\xa9\xd8\x7d\xb7\x1f\x8e\xc9\x4f\x87\x08\xc9\xbc\x2e\x62\x2b\x96\x33\x65\xeb\xcf\xb9\x7c\xfe\x73\x32\x63\x00\x70\xe9\x65\x4e\xaa\x60\x36\x1a\x45\xd4\x02\xdc\x0a\xb2\x97\x66\x52\x42\x66\x7f\xbd\x99\x40\xf6\xcd\x33\x19\x52\x46\xa8\xc2\x86\x9a\xf7\x59\xa8\x62\xd4\xb6\x41\xdb\x14\x4d\x57\x32\x36\x6b\x20\x63\x6c\x40\x27\x78\x7f\x55\x80\x27\xd7\x6f\xcb\xf8\x43\x2e\xb9\x3e\x6d\x14\x56\x7d\xf8\xdb\xf2\x11\xda\xeb\x56\x55\xdb\x10\xac\xdd\xd0\x5e\xca\x06\xac\xce\xe9\xfd\xa8\xd3\xb7\x0c\xa1\xe6\xdc\x58\x7f\xa4\xb7\x8f\x63\xcd\x66\x3f\xf0\x24\x38\x70\x57\x0f\x4d\xcb\xaa\x3f\xb6\x26\xb4\xe1\x13\xbd\xe4\x7d\x5c\x9d\xb2\xb4\xba\x6e\xc6\xdb\xf9\x18\xac\x05\x69\x49\xef\x3c\xfc\xb1\x15\x56\x16\x15\x77\x1a\x03\x5a\x43\xd3\x3b\xa2\x65\x1d\xbe\xb4\x63\x48\x26\x1c\xe3\xc4\xc9\xf2\x46\xd2\x3f\x94\xdb\xc2\xd0\xc1\x9b\x92\x1e\x24\xc7\x7d\xa5\x99\x2f\x1b\x4b\xdf\x2e\xde\xa4\x99\xf5\x41\x11\x68\xac\x0c\x12\xe9\x6f\x3b\x15\xd2\xe1\x2a\xc8\xd7\xb3\xed\x8d\x1e\x07\xc4\x26\x7a\x25\xd3\xa3\xc3\x53\xa4\x20\x8b\x74\x06\x27\x8a\xab\x9e\x70\x0f\x7b\x20\x6f\x48\xe6\xea\x7c\xc9\x7e\x55\x4f\x15\xc9\xbe\x34\x9d\xd9\x15\x14\xdb\xe8\xd8\x89\xf2\xdc\xbb\xfa\x18\x2c\x9f\xaf\x58\x07\xa6\x9b\x2e\x97\xfa\x77\x1a\x6f\x23\x1a\x4c\x7b\x31\xd1\x17\xb8\xed\x0e\x63\x0c\xdf\x13\xe0\x82\xbb\x4f\x63\xc3\xf9\xac\xb3\x55\x32\x04\xcc\xd7\x6e\x18\x35\xc4\x6e\xec\x3d\x43\xc5\x61\xbb\xf1\x7c\x92\x21\x4a\x6d\xb1\x21\x2b\x60\x03\xcf\x2c\xc2\x6c\x7a\xe6\x75\xfc\xd0\x53\xb9\x47\xe7\x22\xf9\xe8\x57\x62\xce\x8a\x16\xe4\x65\x4e\xc6\x34\x2f\xc6\x46\xe5\xca\xb4\x72\x79\x7e\xab\xf6\x58\xba\x4a\xfd\x14\x2f\xc8\xfc\x4c\x8f\x98\xf2\x3c\x24\xdc\x99\x84\x7a\xe8\xce\xf0\x87\x9e\x1a\xb3\xbb\x80\x97\xe4\xc3\x52\x9a\xdd\x2d\x8e\x8e\x2c\x20\x69\x21\x0f\x50\xac\xe1\xae\x32\xa6\xc8\xe6\x38\x4a\x2b\xf7\xd7\x9c\x66\xc7\x46\x14\x9c\x84\xad\x75\xa3\xa1\x76\xe4\x5e\x13\x6d\x94\x69\x5a\xed\x4b\xfd\x08\xb4\x26\xea\x8c\x4b\x93\x79\xf3\x74\x25\x50\xe1\xcf\x5a\xc8\x4c\x18\x17\x4d\x68\x0e\x92\xaf\x2c\x18\x74\xac\x1c\x13\xd2\x82\x32\xde\x19\x37\x68\xe5\x61\x94\x7c\xbd\x6b\x79\xe9\xb9\x9d\xa6\x5c\xfb\x74\xff\xb3\x2f\x7d\x3d\x20\x25\xc6\x07\x63\xdc\x07\xf5\x55\x39\xb4\xd2\x53\xde\x1e\x6c\x25\x82\x3a\x62\x58\xc7\xa9\xce\xd1\x50\x1d\xce\x27\x86\x89\x8a\x3e\x05\xc9\xbf\xf8\xfc\x5b\x21\x25\xd0\xf4\x71\x08\x8a\x13\x4b\x48\x73\xc8\xd5\x5c\x04\x45\xf6\xca\x39\x6b\x3d\x7b\x4b\xc2\xbf\x5c\x4d\x22\x40\xda\x41\x82\x93\xaf\x6a\x3e\xd8\x53\xde\xdd\x3b\xf6\x68\xd9\x37\xb3\x5a\xa0\xc2\xac\xbf\x23\x76\x6f\x9f\x3e\x96\x82\x84\x75\xab\x08\x64\x96\x61\x7a\x6e\x81\xd6\x53\x58\x9b\x2f\xe5\x0b\x7b\xa8\xf0\xcf\x1e\x5a\x44\xd8\xd6\x2f\x08\x37\x7a\xbf\xc2\x62\x97"}, -{{0xdc,0xfa,0xd5,0x9f,0xc6,0xb6,0x97,0x10,0x9e,0x72,0x7f,0xf6,0x6a,0x5f,0xe9,0x3a,0x6a,0x22,0x6f,0x63,0x1a,0x64,0xe5,0x79,0x7a,0xd8,0xd8,0xc8,0xb6,0x35,0x87,0x34,},{0xe7,0x9f,0x4f,0x51,0x13,0x72,0xe3,0x55,0xe7,0xe9,0xe0,0xe8,0xb5,0x34,0x6f,0xdb,0xcd,0x2d,0xf1,0xfc,0x5c,0x3a,0x18,0x90,0xd2,0x7f,0xa1,0xfa,0x92,0x8d,0x27,0xa6,},{0x05,0x2f,0xf7,0x95,0x40,0x73,0x74,0x56,0xc6,0xa4,0x2c,0x41,0xc9,0x7d,0x6b,0xf5,0x17,0xb8,0xcf,0x28,0x9b,0xc7,0x8b,0x50,0x3d,0xee,0x6a,0x30,0xef,0x51,0x68,0xb3,0x8f,0x75,0xbe,0xac,0xa1,0xe1,0x4d,0x97,0x1f,0x87,0x73,0xe3,0x94,0x1b,0xd6,0xdf,0x5c,0xb9,0x77,0x8d,0xea,0x12,0x5a,0x4c,0x4f,0xe0,0x11,0x6b,0x70,0xee,0x84,0x0b,},"\x7d\x92\xdd\xd8\x13\x3c\x61\xc6\x10\xc1\x30\x8c\x23\xae\xaf\x99\x38\x84\xa4\xe6\x7f\x7b\x94\xbb\x88\x6d\xad\x50\x98\x69\xa9\x32\xec\x4a\x27\xd4\x10\xd2\xc2\x9c\xa7\xae\xae\x6f\x92\x80\xcf\x6c\x4b\x06\x7e\xc7\x51\xe5\xe8\xc3\x9f\xf4\x44\xd4\x22\xce\xab\xae\x14\x5d\x42\xf0\x47\x45\x3d\xd4\x02\xd1\x79\x74\x05\x03\x34\x09\xe7\x2c\xc1\x9f\x79\x3d\x5d\x26\x8f\xb3\xfd\x2c\x11\xea\x2c\xb0\xd7\x04\x36\xe1\x8f\x9e\x88\xa0\x15\x15\xdc\x86\x5f\x6a\x1e\xb2\x36\x90\x32\x8f\xd7\x5d\xe2\x63\x21\xa3\x8f\x12\x19\x7a\x97\x20\x1b\x1d\x84\x52\x94\x4f\xbc\x54\x1c\xb6\x8c\x77\xd4\x95\x15\xdb\x53\x26\xf2\xb1\xd0\x76\x3e\xda\x06\xd2\x50\xce\x2a\x5e\x0b\xbd\x7d\x16\x76\xd7\xd4\x1f\xb3\xab\xe8\x8b\xdb\xe3\x72\xf9\x6b\xf7\xbb\x52\x6d\x6b\x65\xa2\x51\x5e\x83\xa5\x77\x04\x5b\x54\x79\xb3\x8b\x85\x2f\xe4\xab\x01\x1c\xbf\x21\xc0\x85\xef\x5f\x0a\x7c\x1b\xed\x76\x57\x2b\x0f\x86\x02\x28\x06\x7a\x89\x9f\x89\x5a\xe7\xf6\x25\x6e\xb6\x51\x40\x87\xf9\xd6\xf5\xc3\x55\x96\xc1\xf4\x80\xc7\x31\x13\x54\x6c\xb9\xcc\x30\xf5\x6a\xb0\x74\xa9\xff\x28\xac\xab\x7e\x42\x65\x0a\x96\x1d\xa3\x25\xac\x5b\x65\x94\xb8\x1c\x93\x25\x0a\xe7\xd3\x92\x67\xa1\x9c\x97\x62\x54\x07\xed\xda\x04\x04\xcb\xe5\xa3\x6e\x95\x9f\xc8\x20\xb2\x7e\xf5\xca\xd7\x96\xc1\x1e\xaf\xf1\xc0\xe2\xf9\xd4\xb3\xc6\x49\x15\x02\x19\x5d\xe0\x36\x59\xb3\x64\xe4\xe8\x7b\x2b\x2d\x73\x3e\xc2\x5e\x6f\x9b\x63\xd5\xf6\x91\x79\xe0\xd2\x7b\xd4\xae\xcc\x8f\x12\xa5\x07\xa9\x1b\xaa\x48\xd9\x9b\x3a\x42\x6c\xec\xeb\xae\xf3\x7d\x73\x61\x10\x6a\x84\x90\x64\x43\x09\xf6\xeb\x4d\x25\x96\x44\x3b\x6b\x01\x18\xb9\x45\xac\xec\xc6\x44\x3e\xa6\x1f\xcd\x15\x5b\x54\x32\x5b\xc2\xc3\x1b\xe0\x25\x0f\x94\x82\xe1\x3f\xd8\xeb\x44\xe2\xae\xd7\x6b\xe8\x12\xaf\x54\x53\xcb\x7f\x86\x32\x45\x8f\xc8\xa0\x2a\x2f\x45\x48\x0d\x79\xb0\x6c\x7d\xda\x38\xb4\x69\x5d\x08\xb5\xa4\x30\x50\x4f\x1a\xe2\x27\x5b\x05\xc9\x1e\x79\x9d\x44\x70\xf3\x8a\xbe\x77\x73\x6d\xfa\x89\x5c\x19\x7e\xa4\xb6\x3c\x2d\xf1\x8e\xfe\xb1\x41\x84\x83\x7b\x8d\xdf\x48\x90\x95\x20\xd9\x10\x45\xb9\xd9\x65\x5c\x22\x5a\x83\x17\x39\x60\xb4\xd7\xcd\x0d\x8b\xae\x30\x23\x75\x57\xf8\x69\x70\x8b\xe1\x38\xad\x52\x46\xc8\x66\xc6\xc0\x59\xdc\x59\x7a\xbf\xd4\x94\x32\x37\x37\x68\x96\x73\x6b\x97\xb7\xe0\x28\x9e\xf9\xbb\xd2\x94\x77\x74\x5c\xb6\x0f\x46\x20\x2f\x1d\xe9\x84\xf5\x09\xb1\x80\x88\x33\xf5\x80\x18\xcd\xe8\xc2\x6b\xef\x4c\x00\x5b\xdc\xa3\x85\xb0\x57\x35\x11\x0c\xa0\x2e\x56\x2b\x50\xed\xdf\xf6\xfd\xe9\xfb\xb8\xd0\x30\xce\xdf\x70\x31\xbb\xeb\x32\xb1\x2b\x24\x2b\xe4\x9f\xde\x01\x60\xc1\xfb\xde\x99\xb0\x3c\x06\x2a\x1a\x47\x06\x23\x45\xc9\x2e\x0b\x60\x4d\x08\x0f\xac\xce\x92\x43\x48\x15\x29\xc7\x05\x97\xdf\xd6\x43\x82\xcb\x54\x06\x91\xb5\x9b\x71\xb0\x94\x33\x2b\xaf\x0b\xbb\x12\x5b\x63\xa4\x46\xbb\x97\x49\x1c\x04\x64\x32\x8c\xab\xd7\x62\x7c\x46\xf3\x92\xf3\xb1\x24\x82\x2f\x20\x13\xc6\xe1\x6d\x3c\xa8\x7c\xc5\xbe\xcf\x56\xb0\xfc\x6e\xb2\xbf\x99\x23\xb3\x01\x2b\xa2\xb6\x12\x50\xa6\x33\xa4\xd2\xee\x39\x12\x56\xc5\x20\x95\x73\x82\xaf\xf9\x70\xc5\xd2\x23\x85\xc3\x34\x4c\x6d\x4b\x45\x61\x57\x1c\x96\x32\x9b\xf7\x56\x15\x29\x75\x16\xb9\xf2\xce\xb9\xf9\x97\xa3\x95\x23\xaa\x0f\x58\xb4\x88\x77\x2d\x82\xfc\x0d\x78\xc5\xdd\x52\xec\xfa\x6b\xfa\xc6\x3a\x76\xe1\x48\x08\x8b\x36\xf2\x4a\x88\xe6\x83\x85\x49\x6d\xda\xdf\x30\x23\xf7\x2d\x87\xc2\xef\xa2\x6e\x87\x7d\x32\xf1\xda\x97\xcd\xb4\x2c\x8f\x15\x71\x89\x88\xe4\x28\xcd\x02\xf4\xd0\x95\x43\xbd\x0b\xd5\xb2\xf4\x09\x96\x3d\x0f\xa3\x73\x53\x1f\x78\xb5\x92\xbd\x13\x7e\xea\xea\x0b\x4e\x7f\x91\x82\x08\xe1\xd5\x90\x08\xa8\xaf\x50\x58\xf5\xd9\x23\xc4\xf3\x2d\xf1\x99\x90\xf1\x0d\xd3\xf0\xeb\x20\x62\x93\xb2\xb3\x44\x3f\x4a\x5d\x2d\xcc\x5f\x7d\x3b\xba\xf6\xaf\x43\xfe\x45\xf5\xdb\xbe\x53\xec\xf4\xbf\x1b\x4a\x13\xe2\xd4\x6e\xf8\x02\x98\xd4\xf0\x1c\x40\x2e\x21\x0f\xcb\x9f\xf2\x08\x4e\xc0\x3e\x42\x00\x8d"}, -{{0x69,0x6d,0xc4,0x81,0xf6,0x19,0xa9,0x49,0x85,0x63,0xc8,0x3d,0x0d,0x0e,0x55,0x56,0x5c,0x14,0xa0,0x78,0x45,0xfe,0x4a,0x66,0xab,0xa2,0x24,0x7b,0x11,0x3f,0xf8,0xef,},{0xc9,0xd7,0x37,0xab,0xc4,0xa9,0xe7,0x3c,0x14,0x9e,0xad,0xc1,0x95,0xa8,0x37,0x89,0x9f,0x2c,0xd5,0x01,0x93,0x73,0xc3,0x0e,0xca,0xf6,0x2e,0x5f,0x8e,0x14,0xb6,0x45,},{0xde,0xd5,0xd9,0x91,0x93,0x5c,0xd1,0xf9,0x39,0x0f,0x1e,0x85,0x92,0x9c,0xa1,0x6d,0xab,0xfc,0x83,0xe6,0x5e,0x43,0x27,0x2e,0xb1,0x75,0x16,0x71,0xaa,0x31,0x93,0x0c,0x72,0x85,0x55,0x34,0x14,0x30,0xce,0x7c,0x80,0x48,0x5d,0xe5,0x80,0x06,0x42,0x71,0x29,0xa4,0xd3,0x4f,0xd6,0x81,0xd5,0x2d,0x84,0x0a,0x16,0xba,0xfa,0x15,0x30,0x02,},"\x2d\x4b\x3a\xd0\xcc\x99\xf9\x83\xe4\x1f\x9b\x48\xc4\xa8\x18\xef\xf7\x5f\xcf\xb9\x3a\x12\x29\xec\x27\x40\xed\x19\xc1\x07\xd6\x21\xdf\x78\x05\x8d\xe7\xc2\xdd\x72\x51\xf5\xff\x45\x43\x40\x86\x5f\x6c\x86\xda\x65\x83\x1f\x66\x72\xdb\x23\x17\x26\xfd\xfe\x4b\x9e\xe3\x15\xd9\x3c\x72\x44\xa9\x20\xdf\x37\x05\x4c\x82\x44\x9d\x31\x0f\x89\x29\x32\xdd\xba\xd9\x4c\xc9\xbb\x39\xac\x89\x37\xcc\x76\xc9\x65\x21\xd3\xfd\xc0\x28\xba\x23\x41\x0b\x29\x02\x3e\x81\x38\xfd\x3f\x52\x43\x19\x88\x4e\xe5\xda\xd0\xd2\x34\xc8\xdf\x66\x1f\x88\x24\xbe\x47\x7e\x21\x69\x9f\x63\x69\xb1\x5f\xf3\xff\xef\xc1\x51\xaa\x55\x5b\x3c\x3d\x76\xad\xb4\x5f\x25\x67\x2d\x38\x0d\x47\x2b\x31\x48\xda\xbd\xef\x42\x45\xb6\x8e\x82\x85\x62\xf2\x5c\xc5\xb8\x1d\x9b\xbb\x24\x1b\xca\x9d\x19\x34\xea\x35\x3f\x95\xf7\xdb\xf3\x64\x64\x33\xe8\x1a\x35\x4e\x1e\x20\x56\xb8\x1c\x15\xaa\x1f\xa8\xed\x7a\x9d\x1a\xf9\x92\x38\xcd\x5a\x5a\xe9\xe8\x41\xc4\x8d\xc3\x48\xae\x1d\xe7\xc4\x1a\xca\x23\x32\x82\x36\xbc\x38\xb4\x7f\x47\xc7\x36\xb2\x57\xa3\x07\x8d\x57\xd5\x74\xb6\x47\xa7\xfc\x8c\x4d\x01\xbc\x50\x30\x21\x50\xd5\x03\x2b\xfa\xcb\x04\xbb\x0f\xd1\x55\xd9\x4d\x92\x06\x66\x77\x20\xe1\x80\xa6\x45\xaf\x46\x24\x59\xe3\x32\x6d\x46\x0d\xa3\xc4\x8e\x75\x72\x67\x8e\x19\x19\x26\x8d\x3e\x47\x40\xd6\x2a\x26\xf7\xc8\x55\x9c\x1c\x43\x9b\x4b\x0b\x0c\x59\x42\xa6\x20\xcf\xdb\x93\xcc\x68\xaa\x15\x52\x0f\xf2\x86\x42\x69\xd7\xa0\xc1\x55\x78\x0a\xdc\x6c\x18\x8e\x0b\x56\x5f\xb9\x59\x43\x19\xe6\xf5\x1d\x15\xca\xf6\xb2\x80\xe7\x15\x8f\x25\x79\x94\x07\xf3\xba\x0d\xd1\xce\xea\x64\xb9\x32\x6d\x2c\xfd\xef\x01\x7e\x1f\x17\x2f\x4d\xde\x0f\x7e\x46\x13\x50\x1a\xf0\x1e\xe0\xac\x30\x09\x5f\x48\xb5\x95\x90\x90\x2b\x1a\xec\xfe\x09\x34\x13\x91\x8d\x83\x5a\xdf\x96\x2e\xcf\x18\x58\x0d\x16\xf9\xfd\x4f\x6f\xa1\x09\x8a\xf1\xd8\xa2\xbc\x24\xdc\x86\xf7\x1d\x0a\x61\xff\x15\x00\x10\x86\x7d\x08\x69\x87\xb5\x1d\xd0\x30\xf5\x0a\xb6\xe3\x74\xb8\xe0\x11\x84\xb3\xe2\xb2\x14\xab\x1c\x7f\xdf\xae\xdb\xc5\x45\xe3\x8c\x3c\xd2\xf6\x98\x29\x79\x54\x1f\xe0\xff\x88\xbe\xd6\x75\x06\xda\x95\x72\x7a\xf1\xa2\x03\x8f\x32\x40\xae\x5b\xfd\x30\xee\x09\x21\x0e\x00\xfd\xcf\x2a\x06\x4d\x5d\xb4\x61\x49\x46\xbd\xa9\x72\xc6\x70\x08\x1a\x6e\xe6\xa1\x0b\x63\xf6\x73\xc8\x3c\x91\x5c\xa5\x57\x3e\x0e\xd6\x87\xb0\x06\x7c\x40\x07\x92\xa9\xbc\xc3\x34\x4e\x0e\x43\xf5\xdf\x63\xfe\xd5\xef\xa8\x5e\x9a\xaf\x85\xe4\xd7\xa2\xc5\x3a\x6c\x92\x82\x8e\x07\xfe\x63\xe2\xd2\x3f\x1b\xdf\x97\xd8\x4a\xdc\x36\xe9\xfc\x95\xfa\xad\xf0\x3e\x06\xd6\x5a\x19\xc5\xe2\x85\xef\xfd\x0e\xa0\xcf\xa8\x39\xd5\x5a\x0a\x0d\xbf\x6d\xa2\x87\x85\xc7\x7f\x5c\x04\xbf\xd5\x99\x74\xef\x37\x93\xcd\xc3\x98\xdf\x7a\x1b\xbc\x9c\xfc\xfc\x3a\x51\xff\xa9\xa2\x0d\x60\xc4\x7b\x24\x5d\xaf\xa3\xe4\x46\x23\xcd\x71\x1d\x77\x62\xc5\x0a\x67\xd6\x50\xc7\xe8\xc4\xfd\x3b\xeb\xc0\xc4\x98\xd2\x15\x2a\xb9\x82\x7c\x70\x0c\x7b\x28\x61\x56\x57\x49\xb5\x86\x4f\xec\x95\xb7\xf6\xb1\x99\x4e\x78\xd8\xf8\x5d\x06\x9c\xc1\x1f\x85\xbe\xd9\x71\x2f\x7a\x9f\x06\x0b\x0b\xf6\x75\x32\xe8\x8e\xb9\xdf\x3e\xb4\xa8\xd2\xfb\xba\xa8\x5e\xda\x92\x6d\x81\xc4\x9f\xb8\x6e\x73\x73\x1b\x7e\xd2\xa1\x90\x50\x78\x51\x3f\x7c\xa0\xfd\xcc\x3b\x1d\x57\x6e\x6a\x60\x12\x4c\x44\x61\x8d\xf1\x89\x0e\x16\x97\x94\x95\x6c\xb1\xec\x50\x1b\xa2\x04\x99\x70\xc8\xe7\x4c\xc1\x80\x06\x4c\x18\x44\x68\xbe\x4f\x08\x9a\x3a\xe2\x26\x3c\x85\x58\x63\xb6\x2c\x28\x31\x3d\xdf\x9c\xa8\x5b\xf6\x6b\x08\xa2\x64\x15\x5a\xd7\xc3\x28\x23\x8d\xfe\x61\x4a\x07\xed\xe9\x15\x5a\x09\xcc\xaf\xf9\x22\x92\x24\x93\x41\xba\xed\xcb\xe0\xe6\x46\x6e\x2c\x76\x04\x5e\x46\xda\xd2\xfc\x89\x9a\x17\x82\xe0\x09\x98\xe7\x9a\x83\xab\xfa\xe9\xb7\x06\xf7\x07\xf5\x8e\x73\x02\x03\xe1\xd2\xcc\xa0\x28\xc9\x22\xbe\xb6\xd1\x57\xfa\x7a\x98\x13\x2a\x92\x1a\x3d\xa2\x1f\x2f\x76\x9b\xb6\xc1\xf5\xf1\x9e\x9e\x85\xa1\x3b\x78\x1a\xf1\x41\x03\x9d\x51\x4e\xe1\x07"}, -{{0xf3,0xf8,0xd6,0x2f,0xee,0x3a,0xf3,0x75,0x66,0x96,0x30,0xcb,0xf0,0x63,0xbf,0xa9,0x30,0x18,0x9a,0xf1,0x36,0xcd,0x75,0x91,0xe2,0x4d,0x57,0x8d,0x73,0x66,0xbf,0x61,},{0x47,0x14,0xc6,0x04,0xaa,0x95,0xe1,0x82,0x8a,0x28,0x36,0x7b,0xa7,0x87,0x60,0xb5,0x89,0x64,0x31,0x68,0x3e,0xe9,0x96,0xcf,0xf9,0x68,0x71,0x77,0x32,0x91,0x95,0x3c,},{0x8d,0x6f,0x7c,0xee,0xb9,0x30,0x8b,0x4a,0x30,0x38,0x79,0xfc,0x6c,0xfa,0x5c,0xa8,0xe0,0x5d,0xfc,0x3d,0xef,0xc2,0xb2,0xcd,0x29,0x10,0xdd,0x4b,0x17,0xc9,0x4e,0xae,0xe8,0x45,0xab,0xe6,0x5f,0xd7,0x15,0xdf,0x05,0xb0,0x12,0x8e,0x43,0x16,0xe2,0x33,0x47,0x99,0xc6,0xe8,0xfa,0x74,0x7e,0xbc,0x8a,0x04,0x0c,0x74,0xf5,0xa1,0x48,0x0c,},"\xe1\xdd\x1f\xfd\x73\x7a\xc6\xdc\x24\xb3\xb9\xce\x3b\x79\xe8\x35\xbf\x69\x8e\x93\x13\x03\xd8\x09\xce\xa1\x78\x2d\xc3\xaf\x63\xa0\xd5\xe6\x73\x92\x82\x3d\x14\x39\xe7\xb6\xe3\x37\xb0\x1c\x8b\x21\x54\x34\xc2\x78\x2b\x3b\xe7\x44\x3c\xb5\xc8\x81\xe5\xfb\x6c\xf3\xbb\x24\x41\x28\xb4\xda\x6a\x6f\x42\xb2\xbb\x2c\xd7\x51\x29\xd5\x64\x18\x85\x43\x48\xc3\x39\xdc\xd9\x12\xb4\x55\x57\xa9\x15\xe9\xfd\x7f\x37\x91\x62\x36\x51\x0c\xb6\xc3\x31\xc1\x40\xb8\x7d\x22\x53\x11\x60\x0b\x8d\x13\x2a\xc4\x74\x73\x83\x9c\x72\x0f\x9f\xf0\xf9\xc1\xdc\xaa\x85\x81\x5a\x9d\x27\xb9\x75\x8c\xd9\x1d\xc5\xd3\xe5\x33\x26\xfc\xdf\xb2\x73\x0e\x52\xbe\x31\x03\x95\x7a\xc8\x91\x49\xa4\xc3\x00\x4c\xb6\x03\x8c\x0d\x80\xfa\x72\xac\x63\x0d\x33\x3b\xe5\xad\x4a\xdb\x58\x5a\xeb\x71\xae\xf1\xcd\xfd\x57\xb9\x15\xfa\xc4\xf1\xaf\x78\xe7\xa5\x97\xf8\xd1\xba\x06\x67\x2b\x19\xc0\xb6\x58\x08\xa8\xa0\x71\xff\x84\x09\x03\x43\x79\x58\x9f\x3d\x41\x30\x2d\x2d\x39\xb3\x31\x8e\x8c\x00\x90\xfa\x36\xcb\x95\x88\x57\xff\x5b\x21\x1c\x96\x66\xe2\x7b\xc8\x95\xab\x9d\x00\x6a\xba\xf5\x95\x0a\x03\xff\x17\xea\x98\x21\x78\xa4\x46\xdd\xa2\x46\x6f\x5a\x40\xb8\xf8\x95\x50\x9e\x4f\x4d\x4a\x6a\x27\x39\x99\x7f\xbd\x49\x68\xf8\x94\x36\xce\xe3\xd8\xed\xb8\xa6\xda\x9b\xd3\xd5\x5b\x06\x64\x90\xe8\x33\x9c\x78\x93\x5b\x77\x88\x3f\x95\xb9\x32\xfa\x5e\x6b\xb7\xdf\x30\x3b\xe3\x0f\xa5\x67\x24\x9f\xff\xb4\x73\xa1\xe4\x64\x32\x2d\x7c\x10\x3f\xe8\x22\x4c\x7e\xc5\x7b\xd3\x9b\xcd\x03\x0b\x96\x78\x7a\xeb\xcd\x20\xe9\xad\x65\x1c\xfa\x2b\xf0\x4b\xa7\x0a\x1c\xf6\x48\xe0\xa5\x44\x95\x67\x20\x2a\x93\x7a\x45\xbe\xcb\xb6\xfc\xde\xd3\x0c\xf9\xb5\xc7\x48\xf8\x82\xb5\xdc\x2a\x4d\x65\xbe\x69\xfd\x7d\x9c\x38\x1e\x83\xd0\xdc\x2a\x34\xb6\xde\xe9\x12\x20\xba\x90\x6e\x51\x2f\xcd\x63\x36\x8e\x2c\xe7\x33\xe4\x66\xb4\xb8\x2b\x84\xfb\x0c\x71\x7d\xc8\x94\x5c\xaf\x6d\x46\xac\x1c\x2f\x64\x18\xf7\x72\x9e\xf4\xc3\x5e\x40\x24\x22\xd6\x4b\x1c\x3e\xbd\x1b\x32\xa3\x0f\xc4\xc5\xee\xce\x7d\x44\x08\xff\x67\x9f\xf0\x1a\x1c\x7b\x03\xca\x51\x7b\xe5\x2e\x6a\xe7\x65\x0f\x7b\xad\x38\x90\x1e\x34\x8a\x55\x93\xbc\x99\x8f\x7c\xf2\xea\x97\x72\x9c\xb0\x04\xf5\x61\xb3\xb5\x8f\xe5\x98\x09\xa4\x1f\xd4\xb3\xb7\x66\x60\x90\x6a\xd9\xed\xa2\x3b\xf9\x25\x43\x7e\xf4\x52\xb1\x6f\x54\x0b\x3b\x80\xa3\x5a\x70\x93\xc2\x73\x4e\xef\xe6\xfa\x97\xd8\x81\xd7\x9e\xf5\xb7\x67\xd9\x88\x9f\x11\x84\x77\xb7\x3f\x58\xa4\xc0\xcb\x15\xe0\xac\x81\x01\x12\x05\x71\xca\x32\xce\x87\x1f\x30\x8a\xd9\x05\x7a\x80\xc8\x28\x15\x4f\xb1\xbc\x2b\x20\x1d\x0c\xd1\x00\x6e\x02\x2d\x44\x4d\xc9\x3f\x1b\xcf\x22\x4d\xb7\x4a\x5b\x37\x3e\x15\x3e\x85\x18\x54\x94\x8b\x6d\xa1\x47\xb7\x32\x87\xcf\x17\xd1\xfb\x72\xb4\x82\x76\x11\x10\x36\x09\xca\xb2\xa1\x77\x9e\x97\x93\xb9\xa7\x08\x20\xfc\x6f\x38\x28\xa6\x4c\x9e\xac\x35\xef\x7a\xa7\xb1\x76\x09\xd8\xef\xf8\xa9\xe5\x2e\x4e\xbc\xd8\x6b\x1e\x14\xfd\x14\x0b\xea\x47\xc6\xb8\xdd\xc4\x1e\x8c\xd2\x71\xeb\x92\x28\x7c\xbd\x06\x10\x51\x22\x42\xf7\x6a\x1e\xf3\xea\xc1\xe4\xbb\xbc\x1a\xda\xe5\x00\x34\xa7\xa2\x64\x7e\x08\xb2\xfd\x20\xaa\x93\xa9\x3c\xb2\xff\xde\xbf\x2e\x46\x1e\xcc\xef\xbb\xd1\xfe\x89\x4c\xe7\x0a\xdf\x79\x01\x73\xba\xe9\x6f\x5a\x55\xa1\x88\x7e\x9a\xe0\x9f\xce\xd1\xd4\x30\x6c\x29\x1c\x6b\x19\xec\xac\x47\x07\xe9\xef\x71\x3e\xa1\x8a\x75\x62\xc6\x67\x83\x26\x22\x89\x92\x07\x7a\x46\x69\x73\x49\x66\x10\x80\x00\xb4\x14\x4f\x45\xa0\xc3\xa2\x86\x3a\x4c\x6a\x3c\x07\x63\x2c\xb9\x3e\xb1\x97\xd2\x94\x88\x4d\x9c\xa3\xdd\x4b\x21\xf3\x9d\xb7\x07\xf6\x3a\x7f\x9a\x57\x0f\x7f\x0f\xeb\x99\xb2\xca\x7d\xa7\xdf\x92\xa1\x77\xab\xcf\xe8\x6e\xc6\x61\xd3\x0b\xcd\xcf\x15\x22\xbd\xb1\xfe\x11\x67\x32\x58\xdf\x7e\x46\xef\x4d\x32\x66\x65\x09\x31\x56\x55\x3f\x28\xb3\x56\x3f\xe7\x19\x2f\x72\xf5\xf9\xb3\x90\x3d\x79\xfe\xa0\x4e\x2c\x48\x8b\x46\x5b\x49\x78\xd6\x9f\x26\xe0\x5a\x59\xd5\xed\x4e\xf4\xca\xb2\x32\xac\xfd\x56\x4f\xc6"}, -{{0x86,0x5a,0x43,0x2e,0xcc,0xe7,0xe7,0x8c,0x42,0x70,0x9f,0xc1,0xe5,0x31,0xdf,0x5e,0x39,0x59,0x13,0x2b,0x2b,0x6f,0x31,0x8f,0xd1,0xc3,0x45,0x21,0xf9,0xa2,0x6e,0x3b,},{0xc7,0xa8,0xca,0xf8,0x93,0x0b,0x62,0x2a,0x50,0x13,0x37,0xf9,0x28,0x40,0xed,0x96,0x61,0x1a,0x32,0x20,0x80,0xfd,0xe5,0xe4,0x9f,0x0a,0x2f,0x6e,0x33,0xb8,0x82,0x83,},{0x32,0xbb,0x75,0x20,0xe2,0x63,0x9c,0x6c,0xca,0x19,0xa2,0xb9,0x83,0x6b,0x08,0xf8,0xb0,0x83,0xca,0x33,0x36,0x9d,0xdf,0x5f,0x9a,0x87,0x7d,0x4c,0x7a,0x9e,0xb0,0x5f,0x9c,0x3d,0xc3,0x4e,0xd4,0xcf,0xa4,0xb2,0x83,0xe5,0x19,0x22,0xb0,0x94,0x06,0x6c,0xe9,0xff,0xa4,0xd9,0xdf,0x62,0x19,0x10,0xca,0x37,0xb0,0xb3,0x7f,0xba,0xbb,0x0e,},"\xb2\x31\xb6\xd2\xec\xde\x49\xf5\x13\xb0\xdf\x25\xaa\xfc\x3e\x5d\xa4\x5b\x6a\x99\x58\xd6\x0f\x54\x64\xca\x59\x3c\x03\x00\x5e\xcf\x36\x1e\xf1\x69\x6b\xb6\xe5\x5d\x65\x38\xe3\x4b\x38\xf3\x24\xc2\x1c\xea\x5c\xc8\x1a\x00\x73\x27\x8b\xb9\x27\x27\xef\xf8\x1a\xf5\x61\x80\x2d\xce\xf3\x3b\xec\x10\xad\x65\x94\xe2\x2d\x9c\x44\x18\xaf\x39\x88\xa4\x3e\xd0\x87\xb9\x95\x4b\xf8\xd6\x28\x3e\x4b\xea\xe8\xc0\x96\xde\x66\x06\x75\x1c\xbe\xd6\x85\x84\x6c\x66\x30\xb9\x52\x8f\xf3\x64\xa7\xc4\x84\x64\x11\x34\x72\xc9\x86\x0b\x33\x71\x96\x3c\x91\x14\x95\xa9\xc6\x28\xa3\xe3\xe4\x7a\xb0\x99\x1f\x10\xdd\x1d\xd3\x31\x61\x52\x52\x62\xd6\x3b\xab\x64\x88\x19\xd5\x7d\x12\x69\xe1\x14\x82\x5c\x54\x34\xe6\xb2\x84\x5f\x42\x79\x5d\x4f\xb0\x83\xad\x79\x40\x1f\x2a\x07\x61\xc6\x34\xa5\x45\xae\xc7\xcd\xb1\x3b\x5b\xe4\x49\xf1\xd8\x29\x32\x63\x78\xed\x1f\x49\x3f\xe8\xc8\xe9\xb0\x68\xcc\x1d\xbc\xf1\x65\x55\x0b\x81\x32\xc3\x19\xda\xc4\x87\xb8\x7b\xb2\x2a\x54\xcd\xf6\x0a\xac\x71\x51\x61\x82\xa4\xe6\x9b\xa0\x83\xf6\xe8\x6d\x1a\x4f\x05\x08\x3a\x77\x61\x9e\xf2\x39\xf7\x02\x39\x6d\x7e\x46\x96\x8c\xc0\x4a\x3b\x34\xdf\x32\x65\xec\xf1\x61\x57\xab\xe1\x5c\x64\x2c\xd7\x42\x70\x96\xd8\xd4\x0d\xb0\x02\xd1\x96\xca\xb1\xbe\x30\x4b\xcf\x32\x2d\x9d\x1a\x24\x51\xb6\xc1\x1e\xea\xf3\xe8\xe3\xd9\x29\xf4\x80\xb6\xb7\x78\x04\xfe\x84\x49\x6c\xa7\x57\xe0\x43\x37\x91\x4c\xe9\x44\x75\xd7\x99\x0c\x74\x57\xc8\xe6\x06\xf8\xbc\x20\x7d\x2d\x48\x11\x9c\x80\xa6\xb4\xa9\xe0\x7b\x22\x92\x26\x57\x0d\xcd\x99\x49\x89\xfe\xcc\x69\x4c\x6c\x2f\xb5\x97\x5c\x9a\x6a\x9b\x74\xe8\x15\x9c\x27\xdd\x36\x77\xdf\xd5\xcb\x65\x1f\x1e\x32\xad\xfa\xfd\x81\x0b\x6e\x5d\x5e\xfb\xac\xe3\x1a\xe6\xd9\xb1\x21\x91\xe8\x93\x98\xda\x06\x3f\x13\x8b\x75\x84\xc5\x8e\x77\xe7\xf9\xfd\xd7\xfb\x9e\xf5\xd6\x8a\xe4\x9c\x6c\xca\xd2\x8d\x18\xbc\x60\x09\xd4\x18\x7e\xd1\x42\x02\x24\xa5\x65\x8a\xad\xf1\x35\xb5\xa9\x53\xf2\xdc\x3c\x8b\xfc\xaf\x66\x9e\xd5\xda\x38\xd0\x14\x4f\xd9\x66\x5e\x6f\x06\x77\xd3\xfc\x88\x04\xe2\x1c\xc2\x5f\xd5\xe0\x1a\x3f\x3f\xa8\x3e\x57\x1e\xb2\xf8\x82\xa7\x65\x9c\xe5\xd8\x64\xd8\xbb\x54\x07\x2b\x09\x86\xa8\x54\xf1\xa7\xf2\xd2\x72\x0d\xf8\x57\xe6\xd4\x21\x96\x30\x84\x1b\x1c\xcd\xcf\xc6\x72\x6b\x91\xbf\xc1\x7e\x18\xc3\xe3\x48\x0c\x23\xa2\xc0\x5e\x4b\xfe\xdd\xd4\xdb\x9e\xf4\x23\x88\xf2\x34\xfd\x3e\x4f\x3d\xad\x66\x60\x26\xe2\x78\x06\x12\x37\x41\x61\x31\x6a\xfc\x76\x65\xf9\x41\x1b\x6c\x5a\xa7\x89\x33\xb1\x80\x21\xc0\x12\xb0\x84\xf3\x24\x47\x60\xa4\xea\x1b\xcf\x31\xcc\x9f\x5c\x40\x44\xa9\xbc\xc7\x5a\x98\x67\x07\xf3\x8f\x45\xac\x1c\x7f\xa1\x39\xee\x95\xa6\xd8\xf1\x6c\x3c\x1e\x12\x76\x4c\x4b\x0b\x11\x94\xc0\xfc\x5f\x7e\xef\xf9\xa8\x48\xc4\x05\x0b\x0e\x65\x16\x84\x71\x9d\x43\x8a\xad\x56\x01\x91\x64\xfa\xe4\xf4\x88\x82\x20\x5e\xce\x0b\x99\x73\x67\x91\x08\x4a\x75\x3b\xa7\xd5\x6e\x88\xfc\xee\xa5\x33\x56\x6c\x3a\x2c\xa4\x8d\xd6\xef\xc4\x9b\x27\xdb\xf1\x4f\x26\x16\xce\xd6\x52\xe1\x38\x33\xab\x90\x28\xad\xa4\x54\x43\x1c\x89\xb3\xcb\x74\x41\xfd\xb8\xf2\x3e\x12\xb6\x0a\x1a\x10\x4a\x2a\x8c\xf4\xa6\x4e\x87\x8a\xa2\x6f\x54\xe8\x88\x1a\x4b\x15\x1a\x16\xa9\x6d\xe8\xb9\x80\x7e\x72\x93\x96\xeb\xe3\xe3\xd3\x94\xf8\x08\xbd\x74\xb7\x31\x2f\xe6\xb8\x4b\x13\x12\xaf\x8a\x1e\x41\x33\x59\x9d\x07\xbd\xf3\x3d\xb2\x1e\x01\x6b\x5c\x19\x6c\x1b\xa3\x11\x57\x08\xf5\x81\xbb\x82\xf4\xb5\x7a\x6c\xa1\xa5\x29\xe6\x4d\x19\x30\x42\xc1\xdc\x5f\xaa\x0a\x03\xab\xf5\x38\x49\xe1\xbd\xef\xba\xb6\x4b\x1c\xb6\x0f\xe1\x0a\x3f\xc1\x82\x3a\x23\x4c\x45\xf3\xb0\xdc\xe6\x6a\x46\x73\x9c\x01\xae\xad\x12\xde\x6f\x03\x13\xc7\xbe\x71\x40\x5f\x3f\xdc\x4a\x50\x7a\x9d\x84\xe8\x68\x6f\x6f\xc9\x26\x35\xdb\x0f\x78\x56\xc7\x37\x3a\x61\x8a\x72\x52\xc1\x29\xa7\x76\x0e\x20\x29\x54\x3d\x72\x62\x28\xc2\x1d\x00\xad\x4a\xc5\x2e\x5b\x1a\x6e\x31\x20\x09\x17\xf1\x5a\xf5\x15\x85\x9e\x08\xf2\xa7\x9a\xce\x67\x99\x1e\xd6\x90\x44"}, -{{0x2b,0xe1,0xf9,0x8c,0xe6,0x55,0x3c,0x91,0x5b,0x6a,0x09,0x33,0xec,0x0d,0xe3,0x47,0xb3,0x70,0xe2,0x9c,0xa2,0x94,0xe8,0x00,0x55,0x41,0x23,0x9f,0x63,0xb4,0x30,0xd0,},{0x7a,0x6f,0x44,0x69,0xc3,0x0a,0x63,0xf5,0x60,0xf9,0x87,0x34,0xfc,0x19,0x06,0xeb,0xd1,0x37,0x1e,0xd8,0x01,0x25,0xfa,0x3e,0x4c,0x86,0xb4,0x3f,0x26,0x2c,0xab,0xbc,},{0x8e,0x65,0x9a,0x3f,0x53,0x5a,0x58,0x9a,0x5f,0xd2,0xd2,0x17,0xcb,0xcb,0x8b,0x77,0x7e,0x5a,0xf2,0x0b,0x23,0x44,0x32,0xf7,0xda,0xc2,0x9f,0x81,0x0a,0x2b,0x47,0x37,0xc5,0xca,0xb1,0x0b,0x59,0xdf,0xd0,0x14,0x4f,0x30,0x90,0xf5,0xf9,0xe0,0xe6,0x67,0xf0,0xe2,0x1a,0x9f,0x57,0x3f,0xe1,0x3b,0x1c,0x28,0xec,0xcb,0xb5,0x31,0xa2,0x05,},"\x62\x68\x20\x1f\x93\x2a\x7c\xd3\xf8\x79\xae\x6a\xb8\x38\x55\xa2\xf5\x02\x91\xde\x78\x4d\x7d\x9e\x9a\xda\xa1\xb9\xaf\xed\x6f\x5a\xea\x20\x24\x0e\x59\xfe\x93\xe5\xa7\x08\x8c\x95\xec\x8e\x15\x74\x5f\xb8\xfd\xeb\x91\xdf\x01\x51\xc7\xb4\x60\x50\x67\x56\x1e\xa0\x8d\xbf\x00\xc4\xff\xe1\xfd\x0a\xcf\x10\x36\x56\xa7\xb5\x4f\xad\x0f\x25\xab\x16\xb4\xbd\xa3\x47\x17\x9e\xd1\xca\xdb\x7b\x98\xbe\x08\x95\xe0\x50\xdc\xbc\x37\x9d\x1f\xd5\x53\xe9\x97\x95\x92\x8b\x67\xa7\x52\xf8\xd2\xec\x1b\x9d\x66\xbf\x6a\xc9\x97\xe7\x44\xdc\x32\x7f\x24\x22\x30\xf9\x2e\x79\xae\x31\x27\x45\xa5\xab\x6d\xde\xc1\x99\x8f\xb6\x3d\xc4\xf6\xb0\x5f\x14\x72\x22\xd4\xb6\x5a\xce\x90\x17\xdc\x1b\xcd\x67\x5e\x49\x5f\x9e\xab\xb5\xf6\x02\x13\x3f\x6c\x72\xe0\x53\xe9\xf4\xae\x30\xd8\x72\xd7\x8b\xf7\x1f\xeb\xa3\x7a\xcc\x59\x50\x55\xc3\xbe\xa5\x3a\x05\xef\x0c\x7f\x21\x2d\xcf\x4e\x0a\xf8\x38\xea\x29\x28\xf4\xcd\xc9\xfd\xc8\x37\xda\x25\xf2\x69\x66\xb2\x45\x6a\xbe\xa6\x6a\x5d\xfb\x8f\xaa\x8f\xa0\x91\xf7\x33\x1d\x54\x36\xe9\x8a\x8d\x63\x23\xcc\x9e\x9a\x91\xd5\xa0\x2a\x49\x51\x17\x14\x84\x9b\x47\x45\x4b\xaf\x99\xc5\xf8\x50\xa0\x8d\x3d\x98\x41\x0e\x93\x9a\x9e\x89\xb1\x50\x53\x82\x5f\x3e\x9a\xee\x71\x44\x74\x16\x14\x07\x82\xe1\xbf\x3b\x0d\x8b\x4f\xf6\x2e\x77\xa4\xa0\x3f\x71\x0a\x8a\xb7\x6c\xf6\x35\x92\xc0\x5c\x44\x0c\x8f\x06\x47\x70\x09\x91\x63\xc1\x22\x70\xf3\xd5\xec\x9a\x6b\xc9\x71\x5b\xff\xfe\xc7\x69\x61\x1d\x21\xfa\x00\x3c\x3c\xc8\x35\x6c\x97\x5d\x37\xb6\x2b\x88\xaa\xbb\x85\x97\xda\xca\x19\x6c\x96\x48\xa3\x1d\x15\xbb\x0b\x86\xcf\x07\x0e\xe0\x1e\x51\x1e\xf3\x73\xb4\xa4\x4c\x6a\x00\x16\x0a\x79\x7f\x2e\x82\x0b\x71\x6f\x5c\xa6\x44\x64\xe4\x18\x9a\x00\xfe\xe9\x78\xd3\x5b\xf2\x04\xf7\x1d\xb1\xf5\x01\xf9\xb6\xe5\xdf\xc8\x21\xa8\xaf\x5d\xbf\xef\xd3\x53\xad\x36\x81\xf9\xbc\x3c\x22\xc6\x7c\xb2\x11\xb4\x30\xb6\xa5\x5f\x3e\x73\xda\x7c\x3a\x07\xce\xb7\xd2\xfe\x25\x4b\x10\xc2\x70\x3a\xb2\xe2\x29\x4d\xd0\xd3\x15\x2d\xc7\xb2\x1a\xab\x87\xb1\x50\xf7\x37\xa9\x47\x46\x3f\xb2\x04\x17\x5d\xe8\x54\x32\x36\xfb\xb0\xda\x5c\x7d\x48\xc5\x7f\x61\x74\x4d\xe6\xf9\x84\xaa\x8e\x61\xb9\x70\xc6\x2d\x0e\xeb\x84\x9d\xa7\xe8\x9a\x61\x22\x2d\x43\x20\x79\xcb\xcf\x5f\x8a\x2b\xa9\x30\x30\x16\x83\xc0\x78\x5c\x26\xfd\xf8\x5d\xa3\x02\x08\x74\x60\x45\x99\xac\x6c\x84\x7e\xc2\x60\x86\x58\xb5\x78\x8c\x7b\x8d\x3a\x37\x44\xfd\x54\x42\xe2\x4c\x8e\xec\xcd\x42\x07\x56\xbd\xd8\xb8\xa7\x7c\xfd\x80\x58\x96\x05\xdc\xed\x9a\xfd\xa2\xbd\xb6\x30\xa0\xcb\x61\x2f\x73\x9c\xe6\x17\xd5\x4e\xde\x6c\xcf\x36\xaa\x31\xe7\xe3\x73\xd8\xa0\xfb\x1b\x7c\x99\x06\xf7\x6b\x5f\x9d\xe8\xc2\x68\x91\xde\x00\x6e\xb7\x97\xea\xd4\xa8\x6f\x70\x16\xf3\x4b\xcd\xe9\x2f\x94\xac\x3e\x92\x0b\xa5\x8d\x6d\xff\x77\x20\x78\xd8\x02\xa9\x4f\x56\xcb\x26\xbf\x79\x4f\xd9\x0c\xa0\xad\x4f\x2e\x7a\xcd\xc5\x92\x9b\xc7\x36\x49\x97\xde\xd9\x8c\xa6\x9c\x57\x39\x91\xbb\x9a\xb8\x5f\x23\x5b\x63\xe7\x6f\x77\xe0\xab\x45\xe7\x89\x12\x38\x98\x69\xaf\x21\xe7\x4e\x66\xf7\xc4\x56\xb8\x27\xe6\x70\xbe\xb0\xf0\x72\x66\x88\xbb\x1f\x90\x36\xd3\x8d\xa0\x7d\x69\xea\x36\x66\xf7\x6b\xd6\x05\xd8\x2e\x2d\xd6\x38\x7e\xce\x6e\x82\x4a\x56\x97\x00\xf0\x1b\x19\x5d\x1a\x9b\xdc\xb0\xf9\x6a\xb5\xc5\x4e\x06\xc2\x11\x9b\x40\x6b\xc4\x88\x84\x80\x66\x04\x18\xbb\x42\x88\xea\x2f\xda\x96\x63\x1b\x0e\x1f\x60\xac\x86\x1d\x6c\xcc\x4c\x84\x4b\x64\x7a\x7d\x74\x03\xbc\x2d\x15\xba\xfe\x4a\xf6\x77\xe8\x56\xfe\x0d\x2b\x5f\x66\x3b\xe4\xe4\x80\xb3\x8f\x6b\x76\x6a\xdc\xd3\xd0\x52\x98\xef\x13\x98\xd0\x4d\x15\x23\xa6\x8b\x91\xdd\x31\xcf\x5d\xc4\xb7\x3d\xec\xbf\xd7\x21\x3f\x98\x1b\x20\x7e\x1f\x6e\xf2\x25\xd7\x94\x8a\x1a\xa1\x7d\x8d\x57\xa1\x12\xf1\xd4\x46\x8d\x2d\x28\xf7\xec\x2e\x54\xb7\x4a\x69\x2c\x59\x58\x02\x2e\x82\x03\x1a\x41\xb3\x15\x09\x0e\xd4\xd5\xbd\x7b\xd0\xb4\x51\x47\x63\x38\xf7\x39\xa7\xd7\x03\x1a\xf2\xd3\x6c\xaa\x09\xff\xdb\xb7\xc3\x96\x50\x7c\x75"}, -{{0x10,0xbb,0xe6,0xe7,0x61,0xa7,0x5c,0x93,0x5b,0x51,0x7f,0x09,0x36,0xfe,0xcb,0x9e,0xc6,0xfc,0x21,0x5e,0x58,0x13,0x08,0x00,0xea,0x18,0xd1,0xff,0x44,0x2a,0x4f,0x13,},{0x86,0x43,0xdd,0xf8,0xaa,0x8d,0x9c,0x8a,0x78,0xb6,0xeb,0x69,0x9f,0xd2,0x0a,0x57,0xf6,0xf1,0x86,0x36,0xb0,0x6c,0xe6,0x9d,0xac,0xdc,0xa1,0x26,0x7a,0xcb,0x39,0x54,},{0xf0,0xf3,0x57,0x41,0x03,0x73,0x31,0x3b,0x7c,0x62,0x52,0xd6,0xd9,0x66,0x00,0x36,0x0c,0x23,0x75,0x2d,0x43,0x1c,0xa8,0x07,0x5b,0xcf,0xb7,0x72,0xd4,0x9c,0xd6,0x09,0xb6,0x5c,0x9c,0xd8,0x38,0xd6,0x34,0xd8,0xd9,0xb9,0x5d,0x1e,0xe3,0x0e,0xde,0xcc,0x13,0xe3,0xca,0x99,0x7b,0x24,0x37,0x30,0x3f,0x8a,0x33,0xa1,0xff,0xc8,0x33,0x06,},"\xe8\x10\x8c\x6d\xe4\x13\x37\x33\xdc\x19\x9a\x73\x39\x2e\x22\x6f\x71\x2c\x36\xa2\x4f\xa9\x1d\x6f\xb0\x9f\x92\xdf\x21\x8d\xeb\x2d\x28\x30\xa6\x68\xfd\x69\x4b\x48\x09\xd0\x25\x35\x07\x23\x12\x47\xc7\xf2\x58\xb4\xd6\x5c\x56\xbb\x69\x34\x5e\xf6\xaa\x97\xe7\xc5\x9e\x81\x53\x77\x5a\x5a\x3c\xf1\x09\xc4\xbc\xa9\x81\x55\x69\xda\x69\x32\xe8\x21\x83\x42\x5b\x42\xd7\x48\x3c\x9d\xbf\xcb\xd8\xeb\x38\xc8\x47\x29\x57\x1e\x8e\xc9\x39\x82\xc3\x17\x71\x67\x59\x59\x8c\x4f\x6a\x1b\x7f\x8d\xa7\x30\x6a\x78\x15\x72\x1c\xaf\x02\xe7\x02\x46\x71\x23\x14\xf7\x66\xbe\x9c\xb1\x77\xcd\x2f\xa3\xbd\xa2\x2c\xd6\x76\xc5\xd2\xe8\x6e\x8d\x79\x8f\xd3\x4f\x54\x3c\x9b\xe3\x12\x96\x51\xf2\x73\xf4\x84\xf0\xb9\x46\x7b\x14\x09\x55\xcd\x29\x81\xff\x26\x03\xc0\xbd\xbb\x43\x6a\xc0\x95\x5a\x11\x6c\x5e\x5f\xc3\x04\x25\xe1\xfe\x78\xf6\x41\x0f\x6e\xf7\x57\xf6\x04\x66\x88\x54\xba\xe7\x9b\xfe\x22\xe1\xa8\x5c\xe5\xee\x5d\x64\x34\xb4\x61\x01\x20\xea\x7e\x5d\x3d\x13\x7c\xe2\x07\x51\x4f\x85\x34\xad\x9b\xf3\x92\xb7\xdc\x53\x55\x51\x4b\x59\xf8\x35\x46\x6c\x8e\xb5\x6f\x44\xed\xdc\x5b\xad\x20\xcf\x0b\x48\x0b\x2e\x82\x2a\x6f\x46\xfd\x95\xf3\x0f\x18\x3c\x7b\xb3\x14\x3e\x4e\x61\x00\xe2\xdb\xc9\xf2\xbf\x0d\x43\x07\x3e\x0f\xe6\x5f\x01\xbc\xce\x6a\x1a\xe4\x01\xc1\x25\x41\xbe\x3a\xe6\x8c\xde\xac\x2a\x4a\xc7\x1f\x16\x63\xb5\xfd\xfc\x2e\x50\xf0\xe0\x77\xfb\x3a\x0a\x8b\x8e\xee\xad\x62\x7c\x1c\x3e\x79\xdd\x73\x61\x04\x6f\x7e\x57\xc1\x74\x36\xc3\x2d\xc4\x43\x2f\x05\x00\x28\xcc\x7a\xa4\x40\x8c\x2d\x29\xd1\xd7\x99\x8f\xdc\xdd\xa3\x2b\xb3\x2f\x70\x4d\xc2\x63\xdb\x9b\x8e\x06\xc5\x76\x30\x87\x0f\x8b\xb6\xec\x66\x1f\xde\x1b\x7d\xa9\x4d\x53\xb0\x47\x70\x1a\x45\x88\x47\x8c\x1c\x66\x23\x46\x74\x1a\xea\xc4\xc2\x53\x38\x55\x6a\x3d\x84\x8d\xe5\xb2\xa2\x3e\xce\xa6\x1b\x77\x6b\xd0\xe8\x03\x7e\xfb\x85\x01\xef\xf2\x39\xc7\xfa\xcc\xa6\xc8\x36\x7e\xd7\xc8\xad\xce\x91\x9f\xef\x1a\x15\x5a\xe0\xd5\x47\x8a\x98\x00\x2c\x95\xa1\x6f\xbf\x4c\x0e\xd0\x16\xea\x5d\x38\x66\xfe\x1d\xe4\x54\x83\x2a\x4e\x95\x65\x97\x6b\x60\xb3\xdd\x2e\xaf\x7f\xee\x61\x2f\x2b\xc0\x40\xd9\x39\x75\x43\x5e\xeb\xd1\x2f\x06\xeb\x09\xec\xea\x2c\x66\x76\x83\x08\xf5\x8c\x77\xac\x51\xed\x7b\xd2\x16\x36\xfc\x9c\xc3\xfd\x14\x87\x0b\xd0\x6b\xdf\x12\x8a\x81\xb1\x47\x92\xe6\x08\xc4\x7e\xa2\xd5\x35\xca\x7a\xa2\x1e\xb8\xa8\xa5\x6d\x76\x99\x16\x63\xa8\x19\x0a\x95\x05\x7d\x33\x67\x1e\x73\xc7\xcb\xce\x5a\x98\xd3\x1e\xf0\xd7\x3b\xd0\xb1\x63\x78\x7b\x7f\xdc\xd2\xdd\xfc\x72\x96\x0f\x2b\xe3\x20\x84\x6d\x4b\x29\x08\x0d\x7a\xeb\x5b\x7e\xa6\x45\xa2\xad\x5a\x59\xc0\x12\xbf\x7b\x95\x15\xd8\x59\xe1\xc1\x47\x2e\xf8\xa4\xd3\xc9\x5e\x71\x1a\xf9\x7a\xe4\x61\x8e\xfb\xab\x3d\xff\xe8\x8c\x9f\x6a\xf4\xa0\x9b\x0e\x73\x38\x7e\x25\x1b\x77\xd7\xbf\xf5\x21\x4f\x79\x18\x62\xdb\x69\x88\x41\x1e\x2a\xe2\xc7\x5b\xf2\x8d\x28\x60\x2a\x63\x7c\x26\xf4\x9c\x18\xd3\x09\xd2\xfc\x58\xa1\x26\x66\x7a\xd3\xc2\xec\x16\x0c\x99\xba\x40\xfb\xda\xc1\x7e\x7e\x4c\x21\xa5\xd5\x07\x85\x97\x62\xeb\xa0\x9c\x41\x60\xdf\x66\xf5\xfe\xef\xe6\x71\x5a\x28\xc5\x29\x6c\xf4\x3e\x5e\x77\x1f\x31\xfc\xe5\x13\x3b\xe9\x7c\xab\x57\x30\x1b\x4c\x9d\xf9\xcd\x9a\x4a\xcf\x1c\x33\xfa\xc9\x46\xfa\x15\x96\xfa\x65\xc8\xf3\x65\x8b\xe4\x7a\x47\x3a\x62\xc5\x21\x81\xec\xa1\x83\xe4\x24\x6c\xd6\x24\xd8\x78\x3d\xcc\xe5\xfd\xcc\x1f\xea\x17\x3f\x80\x71\xf7\x07\x4f\x55\x89\x7d\xe9\xbf\xe8\x4a\x6c\x4f\xdf\x80\x2d\x50\x26\xb8\x14\x5e\x6c\x8c\x89\x50\xaf\xc5\xb4\x0f\xd0\x35\x6f\xc5\x5e\xe1\x7e\x1f\x85\x3a\x4c\x2f\xcc\x34\xa1\x36\x9b\x87\xd2\x8d\xc2\xfd\x20\x10\xf1\x99\x03\xaf\xf8\xe4\x6d\xe0\x49\x38\xf4\x94\x82\x45\xd5\xb4\x25\xd0\x74\xac\xdf\x2b\xd8\x0b\xfc\x37\x35\xcc\x34\xa2\x25\x90\xf1\x94\xaf\x93\x13\xee\xf4\xab\x5f\xde\x61\xf1\xf9\xb5\x85\x78\x63\x8f\xcb\x4f\x28\x50\xb2\xfc\xe6\xe0\x3d\xb4\xd0\xa8\x34\x84\x81\x63\xc4\xb2\x7e\x12\x9f\x5c\xc7\x4f\x67\xf0\x08\xa2\x71\x2d\x1d"}, -{{0x18,0x6d,0xcc,0x7e,0xfc,0x5e,0xd7,0xe6,0x1a,0xe5,0x3d,0xc4,0x20,0x93,0xba,0xe8,0xf1,0x5d,0xd9,0x9f,0x0f,0x03,0x33,0x26,0xc5,0x76,0xff,0x75,0x69,0x50,0xd0,0x6d,},{0xc8,0xd1,0x41,0xac,0xb6,0x42,0xaa,0x9b,0xfb,0xd5,0x43,0x27,0x7c,0x2d,0xca,0x8a,0xa9,0x88,0x8e,0xef,0xf0,0x45,0x43,0xb3,0x78,0x9b,0x21,0xf2,0x6a,0xeb,0x0f,0x71,},{0x89,0x45,0x06,0x97,0x87,0xc1,0xc6,0x76,0xa8,0x4a,0x70,0x3c,0xae,0x1e,0x0b,0xac,0xae,0xff,0xd3,0x3e,0x91,0xbe,0xc3,0x60,0x3e,0x1f,0x13,0xfb,0x17,0x0e,0x31,0xe6,0xd7,0x04,0x9e,0xda,0x2b,0xf6,0x27,0x18,0x0f,0x45,0x6c,0x3f,0x7a,0xab,0xfc,0xd3,0x6c,0x49,0xa8,0xc0,0x4f,0x8a,0xe6,0x92,0x9e,0xc5,0xad,0xa0,0x7b,0x65,0x72,0x08,},"\x97\x43\x64\xd6\xc8\x38\x84\x2c\xcc\x4e\x74\x9e\x6a\xfd\x53\x71\x70\xdc\xd8\xcc\x50\xd6\x66\x54\xd1\x05\x48\x23\x39\xca\xbd\xf7\x4e\x32\x93\x5e\xe2\x19\x27\x2e\xa1\x68\x4f\xb9\x3c\x1f\xab\x42\xb5\x63\x18\x39\x24\x35\x91\xbd\x07\xd3\xbe\x94\x9b\x0d\xd1\x5e\x31\x96\xdf\x19\x6b\xa7\x52\xad\x11\x21\xac\x71\x12\xd5\x66\x94\x4e\x15\x3a\x4e\x06\x19\xb3\xa2\x32\x24\x1f\x02\x0b\xe0\x71\x9f\x6b\xec\x91\x8b\x26\x82\x8e\xb1\x67\x0e\xcf\xc7\x3c\x66\x84\x4e\xa3\xe4\x04\xc6\xa2\xfc\x01\xbe\xb4\x03\xc9\xd6\xca\x55\x1a\xd8\xa6\xe7\x1f\x46\x64\x7f\xa6\x05\x3f\x03\x14\xf8\x12\x4d\x8d\x2b\xc1\x2c\xc8\xfa\x8d\xb9\x5f\x2b\x73\x53\x75\x20\x1b\x81\x6a\x9c\xf4\x0f\x83\xee\x4b\x86\x71\x61\x80\x32\xde\x22\x9c\xe7\x62\x71\xd0\x3d\x26\x72\xa1\xae\x4a\x28\x8c\x85\xdc\xd2\x7f\xb8\x45\x2a\x81\x32\xe9\xff\x29\xe1\xe8\x9b\xf1\x1b\x1c\x83\x51\x92\xc0\x4b\x13\xbe\x14\xf3\xcd\xe5\xd3\x7c\xe9\x6f\x1d\xc2\xa9\xcc\xda\x0c\x4d\x73\x7b\xca\x1f\xa2\x20\xd2\x1b\xf3\x60\xb9\x05\x15\xbb\xd2\x26\xbb\x2a\x6c\x8d\x5f\x2a\xb0\x18\xd4\x08\x4e\x24\xee\x33\x3c\xe4\xe3\x9b\xcb\x6b\x46\xe7\xae\xb4\xdb\x9b\x6c\x65\xb2\x44\xd9\x82\x82\x3a\x77\x0f\x9c\x62\xa0\xbd\xe2\xcb\xb7\xec\x36\x84\x0d\x45\x51\x87\xfa\xff\x4e\x48\x8a\x5c\x60\x8e\xbd\xb7\xdb\x84\xd8\x7d\xad\x38\x67\xe3\xb0\xd0\x4b\x64\x71\x5e\x16\x56\x0a\x62\xf1\xee\x03\xdf\x61\x83\xfd\x5e\x37\x55\x5d\xa1\x97\x2f\xca\x06\x2d\x12\xbb\x84\x20\xe0\x82\xda\xcb\x8d\xeb\xb9\xc1\x43\x85\x41\xd0\xda\x24\x64\xef\x7e\xc5\x22\x63\xfb\x9b\x9a\x4c\x46\x9c\x83\x32\x3e\x48\x19\xdf\xdf\x4f\xa0\xa7\x70\xc3\xa7\x09\x25\x4e\x05\x31\x48\x30\xe8\x7f\xbb\x67\x36\xc7\x2d\x9d\xab\xe0\x1a\x31\x0e\x91\xeb\xbf\xae\x76\x7a\x1f\xcb\x62\xf6\x4f\xa3\xba\x8d\x53\x40\x0d\x64\x69\xad\x1c\xcb\x81\x1f\xb9\xe1\x15\xf1\x41\x27\xb1\x3e\x83\x64\xaa\x2f\xe8\x0b\xbc\x88\x6a\x10\xdf\x1b\x9c\xc4\xae\x46\x01\xf5\x46\x1a\xf0\x91\xf5\x26\xd2\x72\xda\x9b\x20\x38\x57\xa4\x44\x7e\xab\xde\xf4\x39\x83\x04\x96\xa5\x75\x9c\x21\xde\x65\xba\x3a\x3c\x8b\x8e\x93\x9c\x46\x13\x32\xa9\x24\x85\x2c\x20\x5c\x77\x11\xf3\xa6\x8a\x23\x67\xa9\x45\xde\xf4\xfb\xe5\xf8\x1c\x60\xcb\xb7\xe3\x94\xa2\xa4\x9b\xe9\xec\x2a\xae\xb1\xf3\x30\x57\x59\x79\x44\x6a\xd9\xd0\xd5\x4a\xbd\x43\x6f\x28\x60\xf0\x42\x34\x26\xf4\xbb\xc2\x6b\x3b\x9f\x65\x0d\x69\xb1\x00\x72\xd7\x47\xa3\x9e\x47\x8f\x45\x5e\xaa\x12\xc7\xc6\xe1\x2b\xfc\x45\x36\xa3\x59\x43\x44\xbd\x02\xb6\x20\xe3\xe2\xb4\xe0\xd5\x34\x08\x9d\xd7\xb0\x4f\xa6\x34\x80\x45\x67\x58\x6c\x62\xbe\x03\x91\xc7\xbd\xb0\xa9\xfb\xc1\xef\x3b\x33\x21\x1e\xdb\xf8\xef\x58\xc2\xb7\xa4\x9d\x06\x66\x79\x59\xd7\xe5\xd4\x46\x71\xee\x73\x57\xa1\x0b\xa0\xcb\x1a\x44\x5a\xe5\xd7\x09\xce\x25\x5e\x92\xde\x71\x59\x75\xaf\x94\xb8\x9d\x4a\x29\xc7\x1f\x9d\x88\xc8\x5b\x6c\xd1\x1d\x8b\x33\x5b\xf8\xf2\xc6\x58\xe6\xdd\x7c\x3f\x6c\x80\xad\x4d\x0e\x5a\x6c\x87\xdb\xa7\xb5\xb8\xa8\xa4\x7e\x72\xf4\xd1\xd3\xc7\x43\x63\x1d\xf9\xad\xfc\xfa\x45\xce\xe0\x49\x8d\x5a\x44\xa9\xf7\x5c\x83\xb7\x5b\x2a\x3c\x23\x0f\xf0\x76\x7d\x38\x88\xf9\x41\xee\x1b\x66\x24\xdd\x0e\x12\xd0\x6e\xd1\xab\x8b\xb1\x35\xff\xd3\x79\xe9\xde\x37\x88\xbe\x54\x1a\xad\xb2\xd6\xa7\xcc\x60\x13\x16\xf2\x1e\xb9\xaa\xa9\x22\xf5\x6a\x8e\x35\x26\xc9\xbd\x11\x77\xfe\xfc\x2f\xbe\x3e\x43\x0b\x62\x8e\xeb\xd6\x66\x1e\x3b\xa2\xd6\x31\xc6\xa8\x42\x2c\x24\x1e\xcd\x96\x99\x72\x41\x2f\x74\xda\x6b\x12\x43\xbf\x0f\xbe\xe8\xa8\x4d\x52\xe4\x0a\xee\x3f\x1e\x4f\xc8\x31\x40\x2c\x62\xf3\x57\x6b\x22\xe8\xe3\xc3\xdc\x4e\x16\x0b\xc3\xb6\xb9\xd2\xce\x00\x58\x53\x81\x2e\xaf\xc0\xa4\xe2\x5b\xa7\x12\x27\x9b\x00\xba\x3f\x91\x30\xff\x36\xe3\xef\x19\x71\xdd\xe7\x50\x8b\x27\x92\xfe\x64\xd4\x75\x68\x8f\xc6\xf3\x31\x3a\xad\xb7\x85\x30\x2e\x6b\x7f\x9a\x84\xf2\xdb\xc2\xf3\xcf\x06\x0e\xe0\x8b\x46\x37\x36\xf8\x36\xdb\xb2\x62\xd3\x29\x68\x4c\x20\x84\x92\xd1\x7d\x81\x12\x21\xbe\x02\xb6\x5e\xe2\x8e\x11\xb5\x46\x92"}, -{{0x07,0x05,0xb3,0x36,0xc8,0x9c,0xa3,0x5f,0xfd,0xde,0x0a,0xf0,0xf9,0x06,0xea,0xcf,0x62,0x3c,0x56,0xc3,0xf7,0x67,0x38,0x16,0x8e,0x76,0xfc,0xd5,0x88,0x2d,0xf7,0x9e,},{0xea,0xaa,0xf2,0xa1,0x5f,0x44,0xb6,0x34,0xce,0xf1,0x5a,0x63,0x8b,0x80,0x20,0x7f,0x61,0x09,0x9a,0x07,0x96,0xf5,0xd4,0x3f,0x3e,0x9d,0x04,0x8e,0x6a,0xe7,0x96,0xc1,},{0xd4,0xa9,0xba,0xe8,0xec,0xc4,0x72,0xc3,0x76,0xba,0xb8,0x05,0xc2,0xce,0x0c,0x1c,0x2e,0xd5,0xfc,0x77,0x37,0x15,0x46,0x8c,0xb1,0xa4,0x93,0x45,0x64,0xda,0xce,0xcf,0x43,0x8b,0x1d,0xd2,0xac,0x1b,0x5c,0x5e,0x33,0x6a,0x1e,0x20,0x70,0x1d,0x5d,0xcf,0x3c,0x8e,0xe3,0xad,0x22,0x3b,0x13,0x9f,0xa9,0x0a,0x1b,0x55,0x2e,0x1b,0x77,0x07,},"\x61\x6f\xe1\x5f\xcc\xb3\x31\x0f\x9e\xc7\x45\x64\x47\xda\xda\xf8\xe0\xa5\xfb\x26\x9b\xe1\x69\xb0\xc3\xea\x2c\xfd\xaa\xa5\x5d\x37\x93\x7f\xe7\x5b\x78\x32\x4a\xc2\x78\xa6\x50\x47\xe0\xae\x4f\x32\x7e\x97\xef\xfc\xb7\xbe\xd9\x1d\x09\xda\x72\x0b\x0a\x10\x1b\xe9\xe9\x6d\x0b\xa8\x5b\x1f\xf4\x9d\x8d\x1d\xf3\x62\xd3\x45\x4f\x0d\xb6\x82\x55\x96\x10\x1c\x97\xe5\xda\xca\xd0\x7e\xc4\x92\xd3\x0f\x2d\x0c\xb7\xe7\xde\x4e\x74\x4b\xb6\xa6\x10\x0b\x75\x4d\xa8\x47\x41\x1d\x09\xaa\xce\x8d\x5d\x41\x07\x58\xb8\x30\x87\xdb\x4b\x5e\x62\x97\x97\x9a\x21\xfb\x65\xaf\x39\x09\x52\xc4\xf9\x36\x26\x0e\x72\xd7\xc7\x83\x27\xb9\x4a\xa6\xcd\x61\x72\x78\xb0\xce\x9e\x1b\xd3\xfb\xed\x93\xb6\x9b\xc6\x49\x85\xdd\xe0\xe2\xc4\x35\x7b\x50\x2f\x05\x5e\xe7\xb0\xa0\x38\x84\x74\xda\xe0\x2d\x6c\x1a\x73\x1f\x87\x78\x5d\x75\x3a\xeb\x0d\x9c\xfd\xf8\x50\x02\xdf\x56\x6f\xc2\x50\x7d\xe7\xba\x6f\xd0\x35\xbe\xe1\x7a\x2e\x80\x8b\x4a\x75\x88\xc5\x83\x37\x5c\x82\x40\x7a\x40\xae\x9e\xeb\xdf\x94\xdf\x2f\xb8\xca\xbf\x17\x60\x6c\x43\x9e\xa7\x04\x59\xb2\x12\xaa\xe4\xa3\xf5\x30\xec\xad\xc5\xe8\x8e\x25\x48\xfa\x64\x3c\x7d\xdf\x50\x63\xb2\xe1\x06\x73\xe5\x9d\x07\xfe\x90\x68\x92\xb6\x7e\xb5\x8f\x93\x88\xa5\x6b\x37\x04\x52\xe9\x97\x77\x55\xfc\x04\xdf\xbc\x77\xda\x6c\x05\xbe\xdd\xeb\xf0\x36\x52\x56\xb5\x2c\x9a\xef\x8a\x82\x17\x3b\x8c\x89\xfb\xd9\x8c\xea\x36\xa8\xb8\x96\xfe\x66\xd3\x7c\xa7\x9b\xec\x7f\xbf\xe9\x58\xfe\x89\xf6\x76\x50\x85\xb3\x35\xdc\x77\x03\x43\xe2\x30\xca\xdd\xfa\x28\x33\xda\xa6\x62\xfe\x82\x08\xdd\x88\x5a\x6f\xdf\x72\xe3\x6e\xcf\x22\xbb\xbb\xcb\xe7\x9d\x37\x06\x50\x23\x69\x40\xbc\x2e\x6d\x4a\xc7\x4f\xe4\xd5\x54\xc9\xbc\x23\x2f\x07\xd2\xaf\x62\x20\xd1\x57\xbd\x2d\xa6\xa6\x61\x2a\x08\x1b\x4c\x99\x04\xa2\x86\x9b\x13\x7e\xe3\xa0\x85\x6f\x12\xb2\xeb\x87\x62\xdb\x94\xed\x0b\xa1\x36\xf2\x3e\x7f\xb4\xbd\x1f\xcd\xee\x10\xdd\x84\xe2\xcd\x3b\x0a\x49\x14\x8a\xc7\x4d\xb4\x66\xdb\xee\xf8\x1e\x6a\x8c\xe0\x86\x11\x02\xde\x9b\x1a\x3e\x1d\xcf\x5c\x6b\x03\x08\xa8\x2e\x3a\xc7\xc2\x28\x3c\x7c\xc2\xf3\x4f\xfa\x14\x5b\x9f\x74\xb7\x99\x04\xb3\x2b\x79\xe9\x60\xb8\x14\xaa\xde\x63\xa0\xdf\x01\x67\xdc\xd2\x4e\xd9\x0a\x8d\xa7\xb9\x34\xc7\x72\x93\x2f\x5a\x47\x8f\xe2\xa7\x2f\x94\x5a\x13\x09\x6e\xc3\x7c\xe7\x64\xb5\x81\xeb\x89\xe5\xf6\xb2\xbd\x7e\xb8\x8b\x85\xa8\x95\x87\x77\x4d\x45\x8c\x58\xcd\x87\x94\x57\x97\x3d\x64\x8e\xf7\x71\xc5\xf1\xde\xb2\x7a\x0c\xc5\xb2\x92\x46\xac\x2f\xa1\x2d\x18\xdd\xc6\xb9\xf9\xac\x9c\xf1\x46\xc3\xf2\x2b\x1e\x44\x99\xad\xee\xfb\xcd\x22\x49\x74\x0e\x13\xa2\x24\xe7\xb6\xb3\xef\x15\x60\x5e\x7e\x74\xe6\x8d\x7b\x72\x64\x24\x09\xb9\x0c\x4e\xc1\x61\xeb\x24\xc9\xb4\x0f\xf9\xc7\xe6\xe5\xda\x98\x32\x2a\xca\x52\xc4\x6a\x8d\xdc\x19\x0f\x1c\xab\x15\x7c\x4c\x76\x19\x60\x1a\x6b\x33\xdf\x6a\x50\xda\x66\x1b\xc7\x53\x60\xdf\xf6\x97\x50\xd3\x45\x74\x09\xcc\x02\x41\xc3\xe8\xc4\xb3\xe5\x06\xd4\x26\xaf\x52\xb7\x02\x31\xcd\x6c\x91\x26\x0c\xc4\x31\xe4\xcc\xfd\x49\x6c\xa1\x4c\xea\xae\x1c\xda\x78\x72\x1e\x16\x33\x9d\x52\x68\x2b\x69\x51\xf9\x66\xc7\xda\x5c\x6e\x10\xd9\x19\xae\x66\xa9\xf5\x2d\xec\x10\x86\x75\x38\xd3\xdf\x6d\x59\x3a\x32\xdb\x69\x5a\x8d\x77\x45\x70\x35\x16\xea\x56\xf8\xc1\xc8\xf0\xef\x53\xbd\xeb\x7f\x53\xc2\xd9\x44\xf5\x11\x94\x0c\xcb\x90\x62\x49\x22\xac\x59\x9f\x46\x19\xc3\x04\x62\x07\xd6\x05\xf6\xff\x94\xde\x78\x8d\x25\x34\x22\x29\xdc\x8a\xf9\x2b\x5f\xdf\x0d\xd7\x1d\xf2\xb4\x46\xcd\xf1\xd9\xa2\x05\x24\x33\x9e\xe1\xc3\x18\x26\x28\x7e\xf7\x27\x81\xa7\xa3\x52\x89\xf8\x5a\x15\xba\x57\xc7\xfd\x5d\x88\x5b\xd0\x55\x3a\xb4\x08\x05\xf5\x17\xe8\xf1\xb1\xb3\xc4\xfc\x67\x71\xe6\xf2\x24\xbc\x03\x11\x24\xb9\xc9\xae\xb1\x9c\x5a\x96\xbf\x14\x88\xe1\xe6\x6c\x6e\x88\x80\x92\x30\xc8\x3a\x74\x15\x55\x54\xa2\x19\xec\x37\x9a\xe5\x4a\x9f\xe7\x9d\xbe\xde\x3d\x57\x60\x42\xa6\x35\xd1\x97\xf4\xd8\x18\xc7\x78\x75\x5b\x8b\x45\xe5\x13\xde\xac\x88\xf6\x04\x25"}, -{{0x95,0x17,0x4a,0x09,0x15,0x68,0x4c,0xdb,0xb6,0x19,0xb0,0x55,0x49,0x5b,0x00,0xf1,0x92,0x82,0xcf,0xfc,0x3b,0x05,0x01,0x9e,0x6a,0xb7,0x09,0xa4,0xa1,0x74,0x2b,0xab,},{0xaa,0x8c,0x87,0x2d,0x7e,0x10,0xb6,0x7f,0x7f,0xf2,0x41,0x72,0xc3,0x63,0x7e,0x80,0x82,0x5a,0x0a,0x71,0xee,0x0c,0x48,0x86,0x3a,0x2a,0xcd,0xcb,0xe8,0xda,0x45,0x9a,},{0x78,0x0f,0x40,0xc2,0x0f,0xea,0x3b,0x11,0xc9,0x42,0x2a,0x43,0xb9,0xa6,0xf7,0x96,0x11,0xe7,0xf1,0xf5,0x9d,0x14,0x88,0xc1,0x5a,0x5f,0xd2,0xd3,0x2c,0x07,0xda,0xdc,0x39,0x1c,0x38,0x95,0x3e,0xdf,0x0d,0xe4,0x8b,0xe5,0x2d,0xa2,0xaf,0x33,0x5c,0x47,0xb8,0xd2,0xe4,0x4a,0xb9,0xd3,0xdf,0xb7,0x6b,0xa5,0x38,0xb0,0x66,0x49,0x52,0x08,},"\x5e\x1a\x74\x00\x45\x6c\xad\x4f\x9b\xa8\x66\x43\xbc\x7c\xbf\x3b\x35\x68\xdc\xb5\x22\xb3\x70\x55\xe8\xc3\x9d\x3c\x80\xf2\x28\x42\x38\xe5\x72\x7f\xd7\x51\x3c\xc8\xb3\x1c\x57\xae\x7b\x40\x50\xaa\x81\x9f\xc2\x36\x09\x30\xeb\x0d\xd6\x77\xa5\xb2\xc7\x29\xfe\xb2\xda\x3a\xd7\x9a\xe7\xfc\xcd\xdd\xb6\xc0\x84\x46\x26\x1e\xc9\xbb\xe5\x9c\x64\xe9\x9a\xbb\xc8\x6d\x3c\x48\x35\xf0\x0f\xef\xe5\x27\x43\x3a\x50\x1a\x3b\x6d\x57\x2c\xf5\xe1\x2a\x88\x01\x0b\x46\xa4\x72\xb9\xbd\x86\x91\xa4\x07\xc3\x65\xf9\xf7\x16\x34\xb4\xd9\x7e\xdf\xdf\xf0\x63\x14\xc0\xc1\xb4\xeb\x93\xc7\x60\x7f\x1d\x6f\xa3\x54\x65\x93\x22\xc2\x84\x07\x3f\x42\x60\x25\x18\xc5\x4f\xdf\x26\xea\x2c\x27\xc8\x0a\x6d\xfa\x20\x56\x83\x91\xab\x35\x72\x82\xc0\x6b\x23\xbe\xdc\x1d\xf1\x26\x4b\x61\x1c\x1e\x9c\xf1\x8a\xeb\xe2\x49\xfd\x86\x17\xc6\xe3\xee\x98\xc5\x3c\x0f\x6f\x21\x75\xc5\x7e\xf8\xe2\x06\xbd\x3c\xf1\x05\x62\x7a\x98\x92\xeb\x68\x99\x20\x21\x3a\xae\xb6\x3d\x87\x66\x3d\xbf\xa5\x3f\x0f\xb2\x81\x62\x69\x48\x29\x6b\x2d\xbc\xdd\xe1\xc5\x1a\xf8\x62\xee\xcf\x1c\xfe\x8a\x46\xa2\xc4\xb2\x8c\xfe\x71\x30\x33\x0a\xd1\x73\xf8\x71\x27\xaa\xca\xff\x43\xc0\xbd\xde\xa4\x8b\x00\x38\x97\x6e\x66\x2c\x04\xb6\xb0\x4a\xd0\x3d\xe1\x24\x62\xc2\x76\x5d\xb5\x35\x04\x95\x20\xcc\x11\x4a\xfd\xb6\xc9\x25\x49\xb0\x54\x6a\x90\x27\xd4\x49\x75\x5b\xeb\x8d\x4c\x17\xe6\xa2\xa4\x75\xf9\x67\x6a\x33\x7b\x4e\x86\x6d\x96\x32\x5e\x38\x9a\x52\xc1\x6c\x51\xe1\x8e\x0d\x81\x03\x34\x0c\x84\x17\xb2\xc5\x7a\x55\xd0\x42\xff\x5e\x5f\xc6\x5d\xf4\x23\xe0\x09\x2b\x0e\xa8\x8b\x96\xa9\x07\xc9\x51\x21\xc5\x47\xa6\x80\x61\xf2\x7b\xcf\xb5\x8c\xe6\xc0\x77\x28\xd4\x84\x6b\xdc\xbf\x0c\x62\x54\x10\xed\xf8\xde\xa8\xcb\x4c\x9d\x0b\xbe\xef\xcd\xe1\x92\x73\x36\x5f\x48\xd7\x5a\xec\x07\xd1\xc2\x2c\xcd\x23\x06\x8a\x97\xc3\xfe\x75\x2e\x87\xa3\x01\x18\xfe\x2d\xfd\x52\x18\xb6\xb1\x25\x15\x4e\x0e\xa3\x86\xcf\x23\x9e\x31\x37\xf8\xca\x6d\x8b\x74\x6b\x6a\x67\xd5\x08\xcf\x8c\x1a\xb6\x3e\x57\x15\xe6\x72\x1e\xda\x5c\x2b\xc3\x93\xa4\x93\xdb\xd2\xf9\xa1\xfa\x92\x6b\x9a\x59\xe4\x5a\x18\x0a\xee\xb0\x25\x99\xa8\xcd\xd6\x86\xf8\x89\xb4\x85\x27\x23\xcb\x6d\xbf\xb5\x01\x4c\xab\x5f\x65\x8a\x30\x9a\x47\x22\x39\x36\x0e\xea\xf6\x4f\xc8\x20\x3a\x3c\x70\x89\x70\xe1\x5c\xbc\xf1\x36\x25\x5d\x96\x44\x6c\x39\xa9\x27\x03\x1d\x26\x7d\x69\xec\xd5\x1d\x7a\xf6\xe9\x1f\xb4\xae\xf9\xd7\x8c\x33\x35\xe9\x07\x11\x33\xcf\xb8\xe2\x12\x99\x90\xc6\x46\x37\xc7\xad\xf1\xda\xef\x2d\xc2\x6c\x11\x63\x39\x9f\x3f\xe1\xe7\x92\x33\x80\x92\xef\x6f\x8d\xfa\xf2\x57\x30\xdd\x2f\xe8\xd9\x78\xf6\xf7\x70\xf5\x2b\x68\x23\x81\x76\x56\x4c\xee\x5f\xbb\x98\x50\xb3\xb3\xa0\x4d\x94\x84\x60\x41\x78\x26\xeb\x2e\xb2\x4f\xcc\x5f\xe3\x53\x34\xbb\x95\x21\xe8\x7b\xc4\xdb\xde\x2a\xc9\xe1\xc9\x89\x49\xdc\x2d\x29\xad\x27\x9e\x38\x84\xb9\x05\x26\x8e\xbd\x08\x08\xbf\x41\x82\x57\xe7\x5e\x26\x2b\x4d\x01\xb0\x24\xa6\xe9\xaa\x7b\xd5\x01\xdb\xa9\x4f\xf5\x06\x39\x4b\x4b\x0a\xe6\x08\x1e\xa7\x30\x30\xc4\x3a\x6a\x91\x76\x6e\x80\xf9\xf4\x2c\x0b\x68\xb9\x84\x19\xad\x4e\xee\x4e\x9a\x72\x8a\xde\xfb\xd7\x9e\x83\x1f\x70\xf4\x1e\x62\xb4\x3f\x0b\xf4\x2b\x3b\x2c\xd5\x3b\x55\x89\x11\x76\x64\xbc\xeb\xc4\x09\xa7\x64\x5b\x1e\xed\xda\x48\x2f\x6b\x68\x95\xa6\x57\xba\x78\x9b\x89\xe5\x02\xd6\x99\x87\x51\xd6\x30\x3d\xed\x5f\xa1\x56\xee\x7c\x7e\xaf\xe5\x46\x26\xd1\x03\x2c\x4d\x7d\xff\x97\x7f\x1d\xcc\x86\xaf\x89\xb1\xe6\x46\xa4\xaf\xc2\x42\x7e\xd0\x2c\x0a\xf5\xd3\x28\x90\xf9\x5f\x13\xf9\x8c\x1a\x5b\x1d\x9f\xbb\x78\x1a\x9a\x89\xb2\xd7\x90\xc1\x46\x5c\x2d\x15\x20\x92\x6f\xdf\x28\xc1\x7d\x9b\xa1\x58\x7a\xd7\x61\xf0\x65\xd3\x39\xbd\xbe\x38\xf4\x13\x3f\x45\xbb\x59\x78\x74\x26\x42\xf9\x0c\x06\x5e\xe4\x89\x25\x73\xf6\x05\x9f\x8b\x4c\xe2\xc1\x3e\x73\xb8\x91\xcd\x05\xf2\x37\x31\xed\x9a\x07\xe2\xb8\xff\xdc\x96\x3b\x06\xa5\x10\x20\x9c\x32\x99\x80\x94\x9f\x40\xd8\x07\x3a\x01\x3e\xf8\x43\xdf\xcc\x4a\x33\x94"}, -{{0x5a,0x84,0xaf,0x28,0xa5,0xdf,0xbb,0x32,0x33,0xa1,0x2f,0x08,0x37,0xf6,0xe8,0x65,0x4e,0x7b,0x0d,0xe1,0x6b,0x02,0xab,0x3c,0xd1,0x78,0x64,0x43,0x1e,0x27,0x46,0x67,},{0x80,0xd4,0xba,0x78,0x9f,0x8a,0x4b,0x20,0x47,0xad,0xaf,0xa5,0xed,0x26,0xcd,0x8c,0x54,0x67,0x33,0x29,0x2e,0x8b,0xf6,0x93,0xcf,0xd1,0x7e,0x28,0x4e,0xfc,0x68,0x71,},{0xa0,0xb8,0x4c,0xa5,0xaf,0x76,0x46,0xe6,0xf6,0x2a,0x69,0x35,0x37,0x94,0x73,0xfa,0x6e,0x4c,0x27,0x69,0x58,0x51,0xfc,0xbd,0xae,0x29,0x17,0xb2,0xdc,0x68,0xd7,0x96,0xe2,0x78,0xd7,0x0c,0xd6,0x7f,0xce,0xdf,0x6c,0xa6,0x29,0xb8,0x81,0xf7,0xc4,0xf2,0xaa,0x25,0x59,0xb2,0x0d,0x67,0x06,0x11,0x76,0x6b,0xd6,0x5a,0xa4,0xfe,0xf2,0x04,},"\x8a\xac\xd1\xb8\xa3\x9b\xf0\x8f\xd5\xc9\x18\x44\x6b\xe5\x76\xe6\xa3\xf2\x7f\x36\x11\x16\x07\xf2\x7b\x56\xa9\x12\x14\xe7\x63\xf9\xa8\x7f\xb1\xd1\x84\x48\x98\x96\x17\x97\x64\x44\x60\xbf\xf5\x48\x8c\x10\x3a\xf6\x05\xe8\x74\x0e\x46\x58\x8f\xb9\x3e\x44\x3c\x3b\xb2\x3b\x92\xc0\x98\x70\xa5\x57\x65\x3a\x1f\x22\xc2\x18\xcc\xbc\x2f\x07\x3a\x27\x2d\x17\xa8\x42\x23\xef\x14\x3f\x4c\x7c\xa2\x58\x46\x0b\x79\x81\x69\x67\x3d\xa1\x07\xd7\x1d\x53\x56\xce\x9f\x75\x59\xa9\xb0\x38\x39\x99\x51\xf5\x75\xc7\x7e\x5b\x9d\x05\x29\x57\x8e\xca\xa2\xe2\x08\x92\x66\xfc\x52\x6c\x5d\x40\x9f\xbd\x46\xbb\x86\x84\x1c\xb5\x54\xf5\xbd\x3c\x99\x71\x3b\x04\x3e\x40\x46\x53\xa7\xd0\x13\x44\xd4\xdb\x83\x1a\x21\x72\x82\xc4\xb3\x36\x40\x56\x53\xb8\x5d\x27\xa4\x6b\x25\x9c\x85\x5c\xdd\x85\xad\x6f\x7a\xed\xd8\x35\xff\x55\x00\xcc\x8b\xaf\x0f\xb2\xf0\x18\x09\x10\xc6\x46\x72\xb8\xa8\xd4\x9d\x98\x4a\x78\x29\x3c\xf5\x77\x9c\x91\x0c\x3a\xcb\xbc\xa4\x55\xa8\x54\x66\xe5\x35\x04\x4f\x34\x80\x26\x2c\x09\x0f\xbf\x4e\x0b\x0d\xb4\xd1\xef\x87\x59\xda\xaf\xdd\x8d\x05\x90\x74\x82\x46\x1f\xf9\x10\xc4\x37\x19\x5d\x5c\x7f\xed\x9d\x82\xcb\x94\xe7\xe4\xec\x24\xda\x05\x3e\x47\xf6\x2b\x48\x8e\xb7\xb2\x44\x65\x5c\x7d\xbb\x20\xed\x60\x7e\xed\x45\x31\x44\x9e\x07\x80\xe6\x1c\xfd\x57\x40\x86\xff\xc5\xdc\x52\x42\x83\x77\x5c\x44\xf7\x54\x7c\xda\xb0\x4a\x51\xee\xe4\xe1\xb7\xb6\x5a\x57\x57\x3a\x92\x48\x4a\x35\x90\x0a\x90\x9f\x81\xe4\x15\x02\x9d\x22\xca\x93\x7a\x3a\xcd\x9e\x61\xf8\xc0\xe6\x86\xb2\xd2\xad\x03\x77\xaf\x8e\xe1\x66\xe4\xa2\x0a\x82\xaf\xf4\x51\xe1\x51\x10\x3e\x0a\x17\x67\xb2\x71\xfa\x9c\x2b\x1d\xd1\x20\xf8\x05\x85\x3b\x3b\x8a\x56\x0f\xc8\xb9\x37\x62\x83\xb5\x11\x24\x32\x4a\x28\x4a\x0e\x9a\xc4\x9d\xf6\x9f\x52\x4c\x8e\x04\x2d\xf8\x2e\xfb\xcd\x16\x88\x1e\xc1\x31\xa1\x52\x10\xdf\x73\xde\x02\x94\x34\x47\xf2\x2a\x2e\xa1\xdc\x8b\xf9\x68\x29\x8e\xe9\x7f\x3a\xd5\x46\xd7\x8b\xc6\x60\x89\x7e\x08\xd2\xa2\x8b\x2b\xa6\x8b\x54\xb9\x54\xf1\x47\x64\x51\xc6\x92\x07\xe5\xdd\x24\x8a\xe4\x7e\xf3\x56\x94\x99\x0e\x6f\x05\x8b\xc0\x01\x7b\x74\x95\x10\x5c\xc8\x73\x90\x66\xaf\xb1\x1e\x1f\x26\x60\x19\x42\x54\x6a\xe8\x49\xff\x2f\x56\x73\x0f\x13\x26\xbb\xee\xa6\x40\xee\x17\x8f\xa2\x47\xad\xff\xef\xc0\x46\x49\x4f\xc7\xff\xc0\x77\x7d\x5d\xbe\x8a\x55\xda\xee\x61\x40\x6f\xe3\xc7\x08\x8d\x43\xd9\xe1\x4d\xa2\x1c\xa5\x2f\xd8\xc1\x60\x09\x1c\x8f\x99\xa6\x7d\xad\x65\xc6\x4f\xea\x9d\x18\xb1\x53\x7d\x06\x1f\x5d\xce\x87\x9e\x0b\xc4\x26\x48\xd2\xea\xa0\x2d\x97\x21\x85\x75\x3c\xb2\xf6\x22\x5d\x8d\x03\xbb\x07\xf9\x44\xb1\x0c\xf4\xea\x22\x27\x5c\x3d\x70\x84\x80\x20\xf3\x0c\x82\x3b\x76\x14\x3a\xcf\x54\x59\x99\xa2\xcc\x4b\x58\x98\xd9\x4b\x4a\x25\xef\xbe\x5a\x60\x33\x1c\xc0\x09\xfe\xc0\xa2\x5b\xc9\x89\x47\xb1\xb7\x13\x9e\x22\xd2\x32\x80\xff\x88\x54\xa1\xec\x76\x22\x1b\x1b\xf3\xd1\x08\x32\x8c\x8a\xc4\x63\xc6\x52\x63\xa2\xd7\xca\x74\x33\x48\x29\x31\xa1\xd8\xfc\x14\x4b\xbe\x9b\xef\x67\x8c\x92\xe1\xc2\xd1\x09\x21\xb6\xad\x43\xa7\x5c\x53\xbc\x07\x58\x54\xed\x2d\x99\xd8\x25\xf3\x0a\x5e\x10\xd5\x17\x43\x8e\x4d\x4f\x71\x13\x42\x9f\x1e\xdb\x38\x7d\x6b\xd7\xaa\xd2\x92\x74\xf8\xd2\xdc\x88\x9b\x7e\xfb\xeb\x58\x68\x6f\x8d\x66\x9c\xea\xef\x92\xc7\x5e\xd5\x30\x7f\x0c\x03\xf5\x90\x01\x81\xce\x57\x3c\x8f\xa2\x86\x75\x20\x5f\xb1\x05\x7f\x62\x6a\xa2\x30\xd0\x3e\x2e\xaa\x8c\xff\xcd\xe2\x00\x81\x47\x5d\x80\xb2\x45\xa1\xca\x60\x45\xba\x20\x4a\xb0\x00\x69\x07\x9c\x63\x7f\xc3\xfb\x3e\x80\xca\x04\x62\xe7\xa4\xcd\xd9\x28\x3f\xf9\x00\x85\x30\x36\x48\x16\x79\x2f\xdf\x3b\x9a\x4e\x4d\xc8\x37\x92\x28\xed\xcb\xb1\x54\xbe\xf3\x87\xd3\x77\x60\xd7\x9a\xfb\xb7\x36\x26\x0a\x1d\xb1\x01\x38\x36\x1f\x24\xb8\x26\xdb\xcd\x5f\x0f\xc9\xe7\x83\x0d\x26\xd8\x0c\x52\xa7\x92\x18\x92\x76\xbc\xe3\x47\x60\xfb\x77\xbe\x13\x12\xac\x8c\xf9\x7d\x92\xcb\xf3\xd0\x77\x80\x28\xdb\x5e\x8e\xae\x89\xe0\xb9\xbc\x87\x78\xae\xb1\x27\x8f\x04\x71\xcb"}, -{{0x79,0x3a,0xc8,0x8d,0x7d,0x3b,0x6f,0xa7,0xf4,0x7d,0xee,0xc3,0x1f,0x68,0xdd,0xcc,0xb7,0x01,0x82,0x0f,0x1b,0x13,0xdd,0xc6,0x52,0xf7,0xc6,0xa8,0x5b,0x60,0x52,0xa5,},{0x91,0xb6,0x22,0x7a,0xcd,0xd1,0x83,0xda,0x62,0xc5,0x19,0x65,0xc6,0x35,0x35,0x8b,0x20,0x4d,0x68,0x3e,0xe0,0x64,0x43,0xcb,0xd4,0x0e,0x71,0xc1,0xf7,0x6a,0xd1,0x02,},{0xa8,0x4f,0x55,0x2b,0xf4,0x43,0x22,0xa6,0xdb,0x24,0x5c,0xa0,0x06,0xd1,0xcf,0x78,0x0c,0x61,0x68,0x0f,0xe7,0x42,0x9a,0x89,0x47,0xc3,0x5f,0x21,0xbc,0x4b,0x44,0x22,0x8b,0xa3,0x0a,0xea,0x0c,0x74,0x4b,0x86,0x64,0x59,0xd3,0xb8,0xac,0xad,0x45,0x3b,0x06,0xac,0xe2,0x47,0xba,0x69,0x52,0x8c,0x6b,0x3b,0xc4,0xb2,0x0e,0x75,0x63,0x0e,},"\xec\x50\xaf\xad\x8a\xde\x74\x05\xe2\xc6\xf5\xc6\x24\x7b\xbb\xcc\xfb\x2c\x17\x16\x6f\x78\x84\xfe\xae\x10\xd9\x0f\x5d\x83\xc4\xb6\xf0\xbf\x76\xde\x2f\x78\x97\xba\x11\x94\xd6\xd3\x44\x9d\xdb\x80\xae\x74\xeb\x8e\xd6\x8f\x04\x9b\x35\xc6\xf2\x19\x16\xdb\x4d\xfc\x27\x24\xdc\x3a\xf7\xad\x8d\xd5\xc4\x4f\x60\xd2\xf4\x9f\xad\xd7\x00\x4d\xa1\x59\x30\x93\x94\x2c\xae\x52\x08\xbf\x54\xcf\x90\x3b\xee\x64\x69\x05\xfc\xe2\xeb\x2e\x37\x0d\x0d\xca\x48\xd8\x20\xad\xea\xb1\x6a\x3b\x67\x5e\x5a\x4a\x8e\x26\x7e\x34\xff\x96\xf3\x12\x2b\x18\xde\x0c\xad\x92\x92\xab\x63\xd2\x6e\x5f\x31\x0f\xa2\x16\x8c\x29\x66\xbd\xb6\x3b\x0d\xe0\x86\x26\x76\x7b\x37\x9d\xe4\x63\x3b\x9f\x3e\xda\x79\x17\x28\x1d\xad\x66\x1e\x9f\x77\x2b\x84\x4a\x79\xe8\x00\xfd\x84\x27\x02\x44\x6e\x4a\xa7\x31\x75\x71\x07\xf3\xfd\x65\x47\xbf\x40\x75\x96\x3d\x5f\xd5\xf5\x8e\x80\x85\x3f\xc4\x27\x51\xdc\xa0\x78\xa9\xfa\x8d\x5b\xb3\xd9\xa3\x4a\xbc\xab\x02\x93\xd6\xce\xae\xc4\x89\x67\xa1\xe6\x22\x43\x98\xca\xd0\xf6\x05\xa3\xbe\x8e\x67\x58\xea\x8f\x29\x20\x9d\x8e\x4c\x4c\xa1\x89\x3b\xaa\xd9\x1e\x37\x9b\xa3\xb1\x73\x30\xc1\x2a\x5b\x6f\x21\x9b\x38\x4a\x8a\xb9\x78\xbf\x1b\x37\xc3\x73\x1a\x1b\x47\x4b\x24\xb5\xd6\x7d\x4c\xec\x28\xaa\xc6\x51\x0b\x11\xf2\xcf\x21\xbc\x16\x96\x3d\x51\xf5\x53\x87\x27\x71\x8f\xc4\xe2\xe5\x17\x2e\x3c\x0c\xda\xbc\x27\x7f\x0d\x70\x37\xc3\x4c\xa6\x8f\x73\x28\x88\x48\xb9\x26\xbd\xe0\xcf\x47\xab\xfa\x66\x60\x09\x16\x94\x6f\x07\x65\x1c\x28\x0a\x20\x86\xb1\x4d\x52\x57\x0c\xc8\xa4\xb7\x43\x58\xb5\x9c\x30\x2b\x9d\x00\xe1\xb4\x98\xf3\xbc\x33\xee\x4e\xcf\x2b\xce\x2c\x65\xed\x7e\x8b\xa7\x4d\x35\xb7\x51\xd3\xc9\x9f\x40\x86\x19\x68\xc2\xb7\xf3\xa5\xbe\x34\x8c\x57\xd9\x3b\x40\xff\xd0\x51\xed\xd7\xca\xca\x6e\xe6\xbc\xa7\x21\xdc\xba\x8d\xb8\xd0\x06\x4f\x54\xd3\x6e\xc5\xe8\xd6\x2a\x71\xfd\x1c\x90\xf1\x49\x24\xf4\x1c\x16\x3f\x00\x7a\xfc\x6f\xbb\xfe\x86\x45\xfa\x47\xc3\xc9\x80\x24\x6d\x1b\x92\x27\x43\x85\x95\x3c\x53\x41\xcd\x64\xc3\x4a\xe9\x71\x7c\xc2\xc3\x7f\x58\x35\x9c\x0a\x99\x91\xc2\x3f\xe6\x37\xde\x6c\xdf\x08\x62\xf7\xd0\x32\x9f\xe7\x58\xaa\x89\x2a\xd4\x58\x3b\x9d\xf2\xf3\x33\x7d\x5b\xe5\x70\xba\x65\x49\x98\xed\x29\x2f\x11\xf0\x17\x72\x38\x2a\x04\x34\x2f\xdd\x99\xe6\x9e\x0d\x97\xc4\x3f\x10\xac\x9b\x96\xf1\x40\xa6\xf8\x3c\x47\x29\xe7\xa9\x00\x47\x1f\x2b\x1d\xf2\x40\x1b\xc5\xc6\x80\x42\x2b\x13\xb0\xc8\x00\x7d\x63\x68\x1f\x66\xa0\x59\x5a\x1c\x5d\x3a\xcd\xe5\xb7\x79\x42\x6e\x73\x6b\xc1\x00\xc5\xe6\xf5\x26\x08\xdc\x39\x1e\x3e\xf9\xb1\xbb\x6a\xf1\x3d\x24\x9b\x7d\x32\xce\x06\x80\xc3\x68\xf5\x4d\x5f\xe0\x39\xcf\xe1\x01\x30\x25\x1e\x4d\xb1\x4c\x79\xc8\xd0\x44\x06\x04\x65\x82\x29\x90\xd8\x80\x93\xcd\x73\x65\x32\x85\x2e\x44\x78\x89\xdb\x89\xcc\x60\x05\x29\x96\xa3\x2a\x64\x36\x5c\x07\x26\x05\x1c\x11\x9e\xda\x90\x1d\xe5\x76\xb3\x34\xfc\x70\x49\x48\x23\x92\xe2\x62\x0b\x0a\x3a\x13\xfa\xb1\xd3\x6f\xc0\xa5\xf2\x3d\xb1\x47\xfd\x85\x7b\x26\xa6\x98\x04\x8f\x8b\x81\x1e\x23\xd7\x22\xe2\xe9\x02\x7e\xd4\x12\x4b\x48\xdc\x5e\x57\x8a\x7a\xeb\x19\xa1\xb4\xf9\x48\xee\x5b\x46\xf6\x5b\x97\x96\x46\xe2\xbe\x07\x47\x14\x11\x8b\xaa\x4b\xfc\x15\xb0\x89\xa0\xe0\x66\x27\xda\x46\xe4\xbb\x06\xaa\x3c\x7c\x5d\xd6\x48\xe0\x3c\x9c\x2d\xec\x3f\xac\xd9\x56\x26\x56\x2f\x30\x00\x88\x32\x30\xd2\xb0\xa1\xf8\xa7\x47\x8c\xb7\x7f\x93\x9a\x5f\x18\x8f\x45\x8d\x10\x37\xb9\x01\x76\x66\x4d\x86\xea\x85\x0b\x8a\xf5\x08\x7f\x86\x60\x5a\x77\xe0\x25\xef\x6c\x7e\x6a\x2a\x59\xf0\x06\xcb\xa1\x89\xfa\xd9\x33\xf4\x2c\x53\x27\x08\x10\x9b\xc1\xaf\x81\x48\x19\x59\x5f\xfc\xb9\x5f\xbf\x5b\x7e\x93\xa7\x11\x97\xe4\x77\xee\x7c\x04\xb8\x51\xc1\xc3\x66\x22\xcd\xd8\xe6\xc8\x60\xd9\xab\x2c\xac\x56\xd2\xdc\x98\xfa\x69\x12\x4f\x2b\xb2\xa6\x47\x1e\x1c\x73\xb6\x61\xf0\x71\xf5\xd8\x6d\xe7\xd1\xde\xaf\xa4\xed\xcd\xc7\xbf\x1f\x70\x5c\x56\x30\x0a\xff\xd0\x58\xb9\x69\x77\x91\x41\x9e\x5f\xb2\xa5\xb7\xf7\x8c\xe3\x40\x1f\xf5\x50"}, -{{0x89,0xde,0x74,0x42,0xd7,0x4b,0xa9,0x38,0x59,0x69,0xc9,0x65,0x1a,0x88,0xfe,0x28,0xe0,0x40,0xd5,0x93,0x90,0x7d,0xac,0x1a,0x39,0x87,0x41,0x8b,0xdf,0xdb,0xad,0x89,},{0xfd,0x3b,0xa9,0xfa,0xd3,0x20,0xeb,0xa4,0x5d,0x07,0xb8,0x4a,0x49,0x7b,0xe1,0x7d,0x3f,0xc7,0xdd,0x99,0x99,0xc9,0x68,0x88,0x3c,0xd6,0xac,0x13,0xb0,0x66,0x9b,0x17,},{0xba,0xb5,0x72,0x84,0xd2,0x0e,0xe5,0x4c,0xc7,0xf9,0x70,0x8d,0x71,0x77,0x06,0xd8,0xfa,0xf6,0xe4,0x63,0x32,0xb0,0x69,0x1d,0x6f,0x21,0x3a,0x8d,0xb8,0x01,0x15,0x5b,0x4e,0x33,0x8c,0x13,0x61,0xb5,0x92,0xbe,0x75,0x85,0x01,0xb1,0x82,0x17,0x93,0xae,0x52,0x27,0xcc,0x3b,0xa8,0xdf,0x8a,0xdf,0xc6,0xed,0x9a,0xca,0xb5,0x4c,0xc4,0x01,},"\x9d\x52\x72\xf0\xb7\x84\x88\x2b\x94\xc7\x6d\xfb\x9d\x46\x0c\xa4\x95\x02\x5e\x0a\xec\x5d\x52\xcc\xff\xfe\xce\x9f\x81\x73\xc1\x05\x58\x26\x6c\x49\x85\x25\x89\x1a\x97\xbf\x38\x78\xe3\x3c\x3d\xe2\xfc\x2e\x52\x55\x0b\x43\x15\x62\xcb\xe4\xa3\xd0\x11\xec\xc9\xe7\x7e\xc3\x6a\xd3\x83\x41\x35\x8c\x88\x32\x1c\x03\xd0\x8b\xb4\x26\xa7\xd5\x85\x41\x71\xc0\x27\xec\x48\xd5\x78\x19\xa9\x1a\xfd\x02\xa6\x18\xcc\xbc\x25\xe6\x8e\x53\x09\xd0\x47\xb1\x56\xe3\x57\x05\x37\x3a\xda\x2e\xb8\x31\x32\x1a\x20\x3e\x1b\xd8\xf0\xef\xec\xc0\x96\x18\x64\x7b\x41\xdf\xf2\x2b\x39\xd0\x22\x35\xf8\x71\x53\x2f\x60\x85\xe9\xcc\x52\xec\x00\x9b\x33\xee\xbc\xdc\x26\x7d\x77\x67\xc9\x0c\x92\x7e\x15\x4f\x72\xf3\xf4\x8a\x34\x95\x63\x19\xb2\x93\xc8\xa8\xb3\xe3\x4e\xfc\x5f\x62\xf2\xb4\xe8\x01\x9b\x50\xa0\x8f\x5c\xcf\x95\xbc\x83\x1b\xaf\x40\x81\x1d\x87\xe5\xed\xbd\x2f\xd5\x36\x5b\x26\xa4\x31\xae\x95\x80\x0f\xf3\x81\xcd\x62\xca\x40\xe1\x86\x6d\x95\x0d\xce\x14\xf0\x30\x91\x8a\xba\xc6\x8e\x79\x16\xdd\xb9\x5a\xdc\x19\x71\x28\x78\x74\xd0\x7e\xb0\xed\xef\x64\x29\x66\x52\xc4\x80\x44\xb0\xc5\x52\x1a\x8d\x27\x0d\x53\xd7\x4e\xc6\x3b\x89\x0f\x33\x63\xf9\x20\x7f\x66\x52\xae\x8e\x78\x35\xc3\x82\x0a\xd6\xd9\xe3\x63\x3f\x4b\xfd\x53\x79\xa4\x4f\x29\xd6\x5f\x36\x09\xfe\x35\x58\x17\xdc\xa5\x51\x8d\xfe\x3b\xd7\x69\x32\x0a\x03\x19\x02\xe9\xcf\x66\x69\xc2\x4f\x88\xb0\x1e\xb3\x69\x95\xbd\xb8\xdb\xed\x6e\xe0\xc9\xb7\xf3\x22\x95\xc6\x1b\xa8\x90\x5e\x55\x98\xf3\xc9\xe1\xc8\xbf\x72\x64\xf9\x82\x93\xfa\xea\x17\x74\x7f\x88\x44\x0c\x31\x81\x8c\x43\x3e\xa3\xd2\x3c\x01\xf4\xf7\xe9\xc3\xdd\x3d\x5f\x32\xec\x9e\xac\xd7\x1a\x09\xe3\xa9\x97\x38\x1f\x1c\xbf\xfd\xf4\xb5\xba\x49\x79\xde\xb7\xb0\x98\x41\xaf\xa3\xb0\x3d\x1c\x93\x11\x09\x7b\x86\x2c\xae\x11\x70\x7c\xbd\x3a\x4a\xe6\xc8\xa2\x6a\x30\x6a\x68\x7c\x41\x4a\x4e\xa1\xe8\x12\xf1\x15\xf6\x0f\x70\xbd\xa7\xf8\xfb\xe7\xbc\x2d\x50\xcc\x55\x0b\xba\x29\x1d\x5e\xc5\x23\x22\x9a\x08\xed\x56\x8b\x5c\xee\x18\xfe\x6f\x46\x78\x2c\x17\xcd\x82\x88\x01\x63\x92\x15\xbc\x5e\x9b\xe4\x55\x5c\x9a\x18\x00\x97\x67\xa6\xc5\xc7\x4a\x82\x29\xd2\xff\xaa\x39\x9d\x8e\x64\x32\x4e\x88\x42\x23\xd5\x07\x0f\x73\x5a\x75\xd8\x5f\xf6\xc9\x4a\x9f\xbc\x2b\x36\x51\x38\x6d\xe5\xa2\x3c\xce\x95\xc8\x78\x81\xc7\x93\x99\xae\x71\xf0\x90\x73\x7e\x21\x87\xfe\x90\x4a\xab\x1d\x92\xd6\x18\x67\x95\xc9\xb4\x6c\x62\xa5\x91\x4f\x36\x30\xfd\xcb\xac\x3b\xd4\xb0\xda\x4e\xc3\x13\x6a\x1f\xb2\xba\x40\x32\x2d\x7c\xc4\x08\x5e\x16\x70\x09\xcf\x74\x50\xfc\x6a\x28\x6c\x2f\x79\x51\xd5\x1a\xae\x23\xb8\xf3\x30\x20\xef\xb5\xe3\x24\x5b\xa6\xa3\x54\x3a\x2b\xde\xc4\x47\xd5\x1a\xe0\x0b\x5e\x16\x78\xb7\x60\x93\xcf\x21\x6b\x95\x07\xc9\x63\xeb\xfc\x02\x4c\xcd\x6e\xf6\xc7\x8c\x45\x72\x27\x3b\xea\xaf\x55\x07\x6d\xc4\x4a\x22\x4b\x58\x61\x57\x05\x79\x19\x65\x30\x7c\xef\xd4\x86\x72\xc0\x81\xbc\xcf\xbc\x1d\x15\xb0\x62\xb3\x8b\x4f\xba\x9b\x9b\xec\x95\x6c\xd1\x44\x44\xee\x43\x7e\x79\x60\xcc\x60\x1e\xdd\xc0\x2f\x1a\x76\xb6\x85\x74\xd5\xf8\x84\x31\x50\xc0\xb9\x00\x99\x34\xa2\xbf\xaf\x60\x57\x70\xc1\x36\xba\x29\xf3\xdc\x7e\x29\x59\x7a\x24\x80\xdb\x23\xe2\xb2\x67\x7e\xc6\xc5\x1b\xd3\x01\xf2\xb5\xa3\x9d\xfd\xa7\xb4\x77\xbe\xdd\x1c\xda\xed\x10\xe2\x9d\x29\x54\x62\x9b\x98\x76\xf8\xee\x54\xe4\x04\x73\x69\xd5\x34\xca\xb5\x4a\xea\x44\x1d\xc9\x47\xeb\x3f\x59\x38\x2b\x21\x83\x60\x57\x2f\x26\x59\x58\x31\x53\xc0\xe2\xb9\x12\xcf\x30\xc8\x15\xb2\x6f\x05\x85\x3d\xd3\x05\x51\xee\xcf\x64\xb8\x58\xa4\x41\xbb\x8c\x6d\xb8\xa9\xfd\xe7\x7a\x32\xa7\xb4\x6a\xf6\x6f\x8c\xb9\xf3\x5e\xe0\xfa\xfb\x0b\xd4\x2d\x9e\x65\xb2\xa9\x05\x82\x41\xa3\x1b\x8c\xa1\x11\x54\x34\x23\x76\x70\xaa\xb4\xef\xf3\x60\x10\xed\x03\x71\xf4\x65\x95\xda\x1b\xdd\x57\x9b\xbb\x67\xaa\xdb\x68\xe7\x7a\xd3\xa3\x8c\x8f\x26\xd2\xaf\x5a\x71\x03\xba\x5f\x22\xb4\x2c\xc1\x2a\x8c\x3c\xe5\xc9\x21\xc9\x1c\xfc\x0e\x63\xdf\x90\x27\xd2\x62\x29\xb1\x04\x7c\xbc\x18\xf6\xb0"}, -{{0x26,0x22,0xbd,0x9b,0xbe,0xf7,0xff,0x4a,0x87,0x62,0x9e,0xa0,0x15,0x3d,0xc4,0xd6,0x08,0xc3,0x1f,0xa5,0x84,0x79,0x88,0xff,0x50,0x0d,0x88,0x06,0x81,0xf1,0x13,0x72,},{0x19,0x97,0x58,0xa9,0xc3,0xd0,0xee,0x3e,0xeb,0xcb,0xbd,0xa3,0xe1,0xef,0x54,0x55,0xff,0x46,0xd7,0x36,0xbb,0x4e,0xf0,0xc0,0x6a,0x73,0x9f,0x9a,0xc5,0x84,0x83,0x95,},{0x43,0x78,0x96,0x6b,0x78,0x31,0xde,0xf4,0xae,0xcb,0x49,0x89,0xbc,0xaf,0x9c,0xae,0x99,0x46,0x1c,0xb9,0xb5,0x9d,0x19,0x51,0x8c,0xc1,0xec,0x7b,0x83,0x51,0xbc,0xd1,0xf7,0x23,0xaa,0xc5,0xf0,0x61,0xb3,0x83,0x63,0x57,0x4f,0xf9,0x6b,0xa1,0x0e,0x19,0x6b,0x1b,0x05,0x31,0xe1,0x18,0x30,0x36,0xa4,0x25,0xe6,0x9c,0x45,0x98,0x04,0x0c,},"\x89\x1e\x82\x12\x25\x47\xd6\x1e\x83\xb0\xab\xaf\x27\xc7\x30\x3f\x05\x22\xa2\xec\x4a\xf4\x4e\xf0\xac\x19\x6a\x99\x78\xb1\xc6\x23\xef\x1f\xa7\x2b\xaf\x70\x91\x0a\x5c\x51\xc4\xf7\x8e\x0f\xe9\xfe\x37\xe2\x43\x9c\x47\x95\x91\x6c\xfa\x22\xab\x47\x1a\x25\x57\xcc\x7b\xa6\xb6\x69\x56\x06\x3d\xde\xb3\x9c\x50\xf1\x4f\x06\x34\x8f\xa6\x6b\x60\x64\xdc\xff\xca\x50\x43\x96\x7f\x05\x25\x4d\x57\x7a\xbf\x22\xae\x8c\x90\x00\x0c\xe2\xe6\xa1\xa8\xb2\xe3\xa6\xb3\xab\xc5\x63\xeb\xff\xb2\x04\x45\xf0\x91\x1c\xc4\x2a\x98\x7f\x84\x56\xef\xba\x41\x30\xe6\x8f\x01\xfc\xdf\x7b\xf7\x71\xfc\x1d\x35\x37\x1a\x0d\x75\xdd\x5f\x90\x00\x2c\x90\xb6\xcb\xad\xe4\x0d\x5b\x23\xfd\xb4\x9a\xba\xcb\x72\x19\xae\x27\x56\x1a\xa2\xa8\x79\xda\x88\xdf\x34\xa8\xc5\x81\xf0\xc6\x71\x98\xff\xc6\x08\xfe\x91\x95\xb5\x55\x5c\x8a\xe9\x34\xc8\x30\xaa\xe2\x88\x5b\xea\x87\x48\x74\x48\xe1\x1b\x4f\x2f\x17\x2e\x4d\x5c\xfe\x4f\xd1\x13\xf9\xd2\x01\x6c\x24\xa7\x34\x51\x2b\xb9\x18\xf5\x75\xe7\x54\x13\x97\x18\xe3\xd2\x0e\x79\x0a\xbb\x94\x2c\xba\x3e\xc8\xb2\xdb\x59\x07\x96\xdc\x43\x5f\x13\x9f\xc6\x4d\xdc\x85\xa2\x24\x94\xef\x2b\xfa\x1f\x5c\x0f\x18\x75\xea\x58\xe8\x4e\xb3\x74\xec\xf8\xce\xc6\x46\x8b\x6b\x09\xd1\xe7\x4f\x15\x41\xed\x45\x4a\x28\x07\xd3\xf4\x05\x35\x66\xb0\xe4\xe2\xc6\xae\xce\xd1\x0d\xc0\x07\xe9\xdf\x41\x6f\x26\x7f\xcb\x3f\xe1\x7b\x8b\xac\xe0\x3f\x07\x43\xe0\xe6\xd4\xa4\x8c\xe7\x6e\xdf\xf6\x0c\x0e\x3a\x30\x84\x56\x99\x54\x13\xc1\x07\x6f\xf3\x7e\xcf\x23\x81\xa0\xd4\xe9\xe4\xa9\x13\xa2\x58\xd9\x83\xb9\x69\x6b\x5c\x45\xaf\x37\xc8\x68\x40\x70\xe4\x00\xb8\xf8\x65\xa5\x04\x04\x3f\x45\xd7\x8b\x97\x13\xf3\x35\xaa\x41\x6a\x46\x16\x64\x10\x73\x5f\xb5\xd8\x22\x10\x45\x8d\x5a\x08\xa1\x04\xd4\x00\x2a\xb6\x11\x88\xf9\xdf\x45\x7d\xd7\xed\x59\x37\xca\x50\x77\x60\x6b\x41\x8b\xbc\x86\x84\xa1\xd5\x25\xbf\xa5\x51\x08\x76\x40\xb1\xd1\x77\xca\x6d\x4f\x64\x71\xb3\x9b\x2c\xe4\x3a\xfb\xf8\x28\x5e\xcd\x68\x7e\x43\x8f\x44\x25\xdf\x56\x8a\xb8\x6f\xa2\x31\x63\x49\xa1\x10\x2b\x41\x43\xd7\x1e\xf4\xe2\x4f\x5c\x53\x0c\x77\xaf\xb0\x10\x07\x88\x63\x64\x40\xe7\x40\x67\x5a\x61\x74\xc5\xf0\x57\x10\xb2\x53\xa4\x11\x17\x3f\x9e\x82\xce\x6e\x22\xf4\x09\x5e\x77\x14\xb8\x73\x7e\x14\x7a\xa0\xf2\x31\x91\x57\x8f\xfd\x93\x82\x3c\xe4\xbf\x91\xc1\xd1\x10\x98\x2a\x5d\xa0\xe4\xb8\x1b\xd2\x5b\x9b\x9c\x21\x42\xa7\x67\x1e\xe9\x37\xc9\x0f\xd0\x71\x5e\xc9\xaf\xa4\x4d\x86\x04\x68\x98\xb4\x2f\x75\x35\x89\xd2\x26\x8d\x2a\xaa\xa9\x85\xcc\x90\xe0\xf9\xe8\x27\xa3\x92\x3e\x77\x16\x34\x6f\x4f\x89\x31\xc7\x28\x21\xb3\xeb\x64\x5d\xaa\x74\x52\xc8\xaf\xc8\x98\xd7\x97\x55\x45\xc1\x2d\xa1\xbd\xb2\x09\x04\x5c\xb0\x0f\x4b\xfd\x53\x83\xdf\x01\xf0\x03\x68\x0b\x97\x34\x40\xf1\xa3\x9c\x9d\x82\x09\x59\xef\x6f\x85\xbd\x33\x63\x90\x65\xae\xfd\xc8\xbc\xfe\xcb\xd9\xb9\x55\x40\x49\x73\x8a\xf2\x9f\x12\x94\x63\x9d\x39\x15\xd6\x32\x99\x5e\x8f\xaf\x71\x3e\xf2\xee\x3c\x29\x8b\x55\x96\xfa\x10\xc9\x9f\x94\x6d\xdb\x32\x34\x06\x95\xdf\x1c\x19\x45\x94\xea\xf3\x77\x8d\x73\xc8\xba\x60\x40\xc0\x4e\xb3\xa4\xff\x86\x77\x93\x6b\x88\xe0\xc5\xf0\x44\x14\x80\xd1\x07\xd7\xac\x22\x02\xb3\xb6\x94\xe5\x7c\xcc\xa6\xd8\x25\xe2\xa0\x7e\x81\x2e\xd2\x9b\x2c\x20\xd5\xc6\x05\x47\x15\x79\xe3\xed\xff\xc2\x23\xf2\x42\xc5\x93\x91\xdb\x41\xe9\x8d\x5f\x3d\x6c\x5b\x1e\x32\xac\x82\x37\xfc\xfd\x10\x20\x54\x3a\x40\x41\xe0\x3d\x92\xad\x3e\x2e\xc5\x52\x91\x47\x07\xc7\x7c\xd0\x1f\x3e\x48\x01\x14\x44\x28\x3f\x09\x68\xfa\x4d\xee\xee\x55\xc4\x56\xed\x1f\x87\x7a\xde\x04\xac\x8e\x8d\x2c\xb6\xc8\x58\x20\xb4\x92\x9b\x25\xbf\x31\xe9\x25\x43\x5d\x6b\xcc\x50\xd3\xe2\xe9\xb8\x51\x02\xe9\x70\xd7\x89\x5c\x25\xad\xe5\x21\x61\xa3\xb6\xbf\x50\x1a\xb0\x19\x61\xcb\x63\xed\x99\x0a\xeb\x93\xed\xa3\x82\x8b\xf0\x4c\xa5\x28\x53\xc7\xb6\xb8\xe9\xe4\x9e\x34\x9d\x69\xb5\x3b\xe0\x74\x85\xf5\x42\xb7\xcd\xd0\x6b\x52\x7d\x41\xdd\x11\x9c\x70\xb5\x64\xf1\xa9\x3a\xec\x62\xae\x74\xe6\xe8\xf8\x55"}, -{{0xae,0xb1,0x3c,0xcb,0x90,0xc8,0xcb,0xef,0x90,0xd5,0x53,0xda,0x3f,0x69,0x01,0xb3,0xd7,0x5c,0x13,0x01,0x1f,0x02,0x49,0x74,0xda,0xf7,0x9a,0x17,0x89,0xc8,0xc6,0x32,},{0x5f,0xaa,0xfe,0xb5,0x95,0xf1,0x6d,0x33,0x8f,0x1c,0x72,0xa9,0xf3,0xe4,0x98,0xf3,0x8b,0xab,0x69,0xa8,0x1b,0x37,0xd2,0xd0,0x92,0xb7,0xbf,0x7e,0x50,0x5d,0x82,0x0d,},{0x06,0x11,0xb1,0x9a,0x74,0x72,0xa4,0x43,0xe8,0x7e,0x54,0xd7,0xc6,0x64,0x7f,0xaa,0xb1,0xb7,0x9a,0x83,0xfd,0x43,0x71,0xc9,0x2b,0x97,0x54,0x00,0xfd,0x62,0x8a,0xcf,0xc3,0x25,0x77,0xcc,0xbb,0xaf,0x03,0xd8,0x8f,0x89,0x3c,0x88,0xf2,0xca,0xc7,0x84,0xc7,0x22,0xa0,0x8f,0x38,0x7a,0xbc,0x31,0x9a,0x70,0x2c,0x86,0x84,0x79,0x65,0x0b,},"\x86\x1a\x10\x18\xd6\xbd\xc4\x80\x5a\x5c\x4d\xf8\x7e\xfa\xa4\x62\xc6\x8b\x4b\xf4\x06\x5c\x68\x4c\x2a\xf1\x31\xc6\x37\x73\x88\xba\xee\x58\xc6\xc8\xf8\x84\x23\x62\xec\x6e\x3b\xce\x07\xc8\xaf\x55\x88\x5e\x82\xdb\x87\xa1\x52\x27\x80\x0d\xd3\x3a\xfc\x5e\x5f\xd1\x57\x01\xe9\x5f\x53\x50\x1b\x1a\x6f\xf8\x3c\x64\xe8\x51\x71\x49\xbf\x3f\xf0\x11\xb0\x94\xa0\x9c\x67\x3d\x0f\xc4\xa3\x9e\xe5\x5e\x69\xf0\x71\x17\x7b\x8a\xa3\x64\xe1\xe2\x56\x06\x4c\xf7\x02\x79\xcc\x76\x69\x5a\xe4\x9d\xaf\xcd\x80\xca\x0a\x14\xe1\x69\x1d\xb9\x46\x42\x2e\xc7\x5a\xb4\xf7\x86\x59\x15\xa6\x9b\xd4\x8d\x89\xb1\x2a\xdf\x48\x7d\x4d\xb9\xbe\x87\xcd\xdc\xa2\x11\xaa\x88\xe9\xbb\xe8\x49\xda\x21\x39\x89\xeb\x08\x44\x59\x2a\xd6\x3e\x28\x1b\x2e\x4a\xfe\x6a\x88\x36\x00\x66\x09\x92\x6c\x0f\x78\x7e\x84\xf2\xa9\x5b\x46\xb6\x6f\x0e\x45\x55\xc9\x48\x3c\xe2\x17\x6f\xc6\x3f\x7c\xc9\xf4\xf2\xa2\x2d\xb0\x55\xaa\xe2\xe6\x8b\x30\xa0\xda\x5f\xeb\x80\xc2\xa6\x0e\xa1\x0d\xbf\x67\xfb\xbc\xdb\xe0\xbe\x33\xf2\xe9\xc1\x3c\x46\x9e\x77\x68\xf2\xff\x59\x60\xa5\x5e\xb4\x82\xec\x11\xd4\x7e\x15\x4b\x7c\x42\xa5\xfb\x75\x6c\x8a\xd5\x39\xb3\x3d\x12\x5a\x4a\x65\x19\x2c\x6c\x9b\xd5\x76\x23\x8c\xa7\x2a\x73\xcd\x17\x9e\x8c\xf5\xcd\x04\x8e\xd3\x30\x21\x38\x23\xab\xba\xfc\x36\x82\xb2\xb7\xf6\x8c\x5b\xc4\x6f\xd0\x9a\x8c\xb2\xa3\xfd\x09\x95\x73\xee\x2e\x6f\x28\xc8\x2e\x27\x1b\xb5\xef\x93\x4b\x0b\x0c\x38\x1c\xfa\xae\xc6\x66\xd7\x17\x10\x6a\x87\x4a\xf3\x0a\xa7\x41\x25\xea\xe9\xac\xc2\xf1\xf2\x41\x18\xcb\x4e\x68\x3a\x73\x1e\x37\xe5\xe4\x64\xa1\xea\x3d\x2a\x53\xcc\x0d\xca\xd4\xc1\x7c\xea\x9a\x43\xe2\x36\x5f\x3a\xe3\xdd\x89\xeb\x39\x97\x74\x20\x04\x55\x50\x74\x5f\xc2\x67\xfc\x7d\xcc\x56\x02\xe9\x14\x97\x2a\x4d\xa6\xeb\xeb\x68\x7f\x68\xa0\xcd\x7d\x8b\x4f\xdd\x73\x72\x21\x06\xa8\xe4\x36\xb9\x3e\x5b\x58\xf5\x98\x2a\xce\xcd\xec\xfd\xb3\x82\xfe\x98\x53\x82\x61\x42\x6b\xa6\x40\x52\x55\x76\x43\xce\x9f\xec\x71\xea\x43\xcf\x5b\x6c\xba\xde\xb4\x95\x31\x93\xff\x3e\xd1\xa1\xf9\x22\xa9\xaf\x2e\xc6\xf3\x38\xe7\xfb\x0a\xff\xe3\xd1\x3c\x33\xe3\x95\x87\x3e\x4a\x7a\x7f\xb0\x44\x98\x1e\x05\xa6\x71\x97\xb9\x96\xb1\x99\xb4\x30\x11\x11\x93\x63\xe5\x61\xd5\xb8\xa5\x17\x84\xfd\xff\x58\xab\x80\xed\x4c\x49\xe9\x3f\x0c\xf4\x19\x24\xf9\x83\x5e\xfb\x09\xf6\x44\x63\xb6\x55\x17\xb6\x7b\x15\xdc\x3f\x28\xad\x9a\x9b\x2d\x29\x46\x8d\xe2\xc6\x3e\x62\x00\x4b\x6a\x3f\xd0\xc5\xc2\xe2\xaa\xa6\xcf\xa1\x5e\x4f\xaa\xfa\x1e\x2c\x71\x3e\x98\xd3\xfd\x25\xca\xb9\xe5\x17\x03\x59\xc8\x36\x51\x52\xb4\x74\x27\x6e\xd0\x03\x7c\xdf\x77\x18\x28\xe2\xfb\x7c\xce\xc4\x89\x5f\x21\xad\xcc\x5b\x68\x87\xc8\x6e\x51\xad\x05\xf2\x55\xf6\xe9\xda\xd2\xc4\x1f\x56\xb9\x8b\x7b\xbb\xf9\xfc\xb6\xba\x8c\xad\xfd\x38\xad\x8c\x62\xf9\x2d\xd8\x77\x40\xfa\x1e\x1b\xd1\x70\xc0\x0b\x20\x49\xc5\x13\x0f\xe7\x33\xf1\x6b\x1f\x2c\x7f\x00\xb2\xef\x97\xb3\xa9\x54\x58\xc5\x3f\x19\x9d\x46\x53\x36\xd5\xff\x59\x77\x80\x6e\x1a\xfd\xe3\xea\xa2\x46\xd8\x5c\xab\xf7\xe1\x23\x48\x1e\x23\x92\x99\x76\xed\x19\xc4\x0e\x29\xff\x33\xd8\x0e\x7d\xea\xb1\x92\x71\xde\xcd\x5e\xe0\x61\x72\xb0\xb0\xa1\x39\xbd\x62\xa2\xe7\xc8\x3a\x8a\x65\x60\x1d\x0a\x05\xd6\x1a\xf9\xc6\x03\x2d\xf5\x80\x01\xd4\x73\xe2\x0d\xd6\xc6\xaf\xd7\x8d\xdb\xd7\xcd\x17\x8e\x9c\x27\x1e\x05\x72\xf8\x59\x82\x82\x3c\xe6\xc4\x02\x93\x0c\xf8\x0f\x5e\x0c\x7c\xda\x85\x12\x2a\x76\xd1\xce\x02\x1b\x1e\x3d\xe2\x55\x6d\x1b\x45\xac\x7b\x01\xb5\x9c\xad\xa2\x52\x91\xd6\x38\xa5\x2a\x5e\x7d\xbc\xdd\xf9\x6b\xb1\x77\x4a\xb0\xb0\x77\xe4\xb3\xda\x5a\x95\x8f\xe1\x1d\xee\x4a\x02\xe6\x9b\x91\x8d\xdb\xfa\x1c\x5b\x3b\x7d\xca\x9f\x87\x84\xbb\x6b\x0b\x9d\x5a\x7f\xee\x74\xbb\x03\x74\x7f\x61\xc2\xb2\xf1\xb4\x92\x45\x2d\x3b\x56\x0b\x48\xd3\x9d\x87\x21\xe9\x83\x75\x25\x56\xd4\x4d\xa6\xb0\x28\xd9\xae\xf8\xbf\xf9\xaa\x37\x9c\x8e\x2b\x0a\x63\x6d\x74\x88\x60\xab\xd8\xe6\x4f\xc8\xe9\x65\x20\xa3\x4a\x27\xf7\x67\xaa\x97\xa8\xf7\x7b\x60\x95\x21\x8e\xad"}, -{{0x73,0x87,0x2b,0x14,0x76,0x2f,0x68,0xda,0xe4,0xfc,0x10,0xdf,0xd6,0xf4,0x2d,0x3f,0x96,0x22,0xbf,0x2a,0xfe,0x6b,0x34,0xa9,0x56,0x49,0xaa,0x38,0x74,0x24,0xee,0x6c,},{0xdf,0xab,0x2c,0xe1,0xab,0x99,0x81,0xaa,0x7c,0xbf,0x32,0x07,0x35,0x00,0x07,0xfa,0x6c,0xe6,0xca,0x60,0xa2,0xed,0x7b,0x59,0x0f,0x3c,0x2f,0x62,0x92,0x2d,0x8f,0x61,},{0x85,0x25,0xc3,0x46,0xca,0x3a,0x6a,0x6c,0x5f,0x65,0xc4,0x17,0x78,0x59,0x93,0x77,0x65,0x98,0x70,0xcb,0x6d,0xf9,0xa4,0xa0,0xe5,0x5b,0x40,0xc3,0x5b,0xeb,0xa5,0x5c,0x8e,0x00,0x9e,0x56,0x00,0xb6,0x44,0x7d,0xc7,0x40,0x2b,0xa2,0x77,0x49,0x29,0x7e,0x8f,0x95,0x28,0x69,0x18,0x56,0xf7,0x2d,0x2a,0xd7,0x61,0xed,0x1b,0xc1,0x53,0x09,},"\x43\x3d\x71\x78\x1c\xea\xb2\xb4\x7d\x82\x6e\x67\xd3\x9f\x9b\x80\xd2\xff\xd7\x25\xf8\xc5\xae\xb4\x0c\xbe\x4f\x9b\x5f\x48\xef\x93\x52\x1c\xce\xc6\x04\x36\x0b\x96\x47\x32\x31\x90\xbf\xef\x75\xac\x93\x15\x62\xd2\x7f\x4a\x4e\x31\xf4\x6e\x57\xbc\x99\xfa\x51\x58\xc8\x2e\x12\xb7\x37\xe4\x5c\x5d\xe9\xf7\xdd\x7c\x86\x22\xd4\xa7\xea\xad\xf7\x20\x2f\xb4\x9d\x81\x9c\x9a\xd2\x4f\x88\x07\x31\x3c\x5f\x37\xdc\x20\x45\x3b\xdf\x05\xc9\xbf\x1a\x3c\x21\x17\xc9\x3e\x7f\x3c\xc8\xa2\x54\x20\x98\xe8\xfc\x1c\x64\x2f\xa4\x7b\x05\x54\x36\x57\xb8\x5f\x48\x0b\xc8\x6e\xc4\x28\x00\xbb\x14\x22\x35\x9c\x7c\x3e\x8f\xf4\xbe\x59\x8b\xd5\x4f\x1d\xc5\x86\xac\xae\x45\xa4\x74\x06\x22\xb9\x62\x74\x2b\xc8\x6e\x17\xcf\xa6\x3e\x77\x53\x54\xe7\x70\x7e\x50\x79\x58\x9e\x8d\x10\x8b\x1f\x11\xda\xce\x05\x75\xcb\x9a\x6d\x26\xb5\x9f\xce\x98\x14\x65\xd9\xbc\x34\x4e\xa6\x94\x5a\x95\xb8\x62\x79\x63\x84\xfa\x81\x70\x56\x08\x57\x45\x7b\xef\xf9\x5a\x9b\x5a\xc3\xd6\xad\x28\x2d\x44\x92\x9a\x30\x30\x26\xb4\xbb\xed\xd6\x0e\x2e\xf0\x55\xa3\x1f\x52\xd7\xce\x8d\xf2\xca\x5d\x18\x51\xc5\xb1\x67\xdb\x08\x09\x25\x9b\xb8\x12\x56\x90\x74\x10\x5c\x73\x4c\x85\xd6\x23\x12\x73\x75\x5f\x3a\x8b\x56\xdc\x50\x8d\xb5\xc2\x3d\xac\xb7\xa0\x61\x67\xbd\xa5\x1b\xc0\x13\x50\xf0\x16\xcd\x41\xb2\x1e\x8c\xc5\xbc\x93\x34\x3a\x9b\xb6\xea\x47\x38\xc5\xc8\x4b\x78\xfa\x96\x3c\x41\x0e\x43\x3d\xc5\x98\x19\x6c\x22\xe5\xb7\x91\xe1\x2a\x4b\x34\x3f\x7c\xd4\x7b\xbb\x0e\xb0\x78\x2b\xdb\x1a\x4e\x46\x68\x46\xa0\x30\x52\x8e\xeb\x89\x05\x6f\x73\x25\x71\x93\xad\xaa\xbc\x1b\x22\x98\x62\x03\x48\x78\xc3\x25\x8a\x53\x25\x48\x76\x2e\x29\xec\xc0\x01\xab\xd9\x89\x64\x9d\xa5\xe1\x44\xcf\x35\xd4\x86\x99\xf2\x3b\xc4\x6c\x5b\x34\xe0\x4a\x53\xe7\x27\x24\xb2\xb0\xb8\x78\x98\x25\x75\xd6\x88\xe2\x3c\xbe\x3a\x34\x06\x7f\x49\x71\xe5\x55\x97\x2e\xc2\x90\x8a\xe5\xf0\x3e\x88\x31\xec\x67\x75\x5b\xe9\x56\x87\xce\x63\x72\x93\x9e\x1e\x2f\xb6\x95\x1e\xc9\xec\xf4\xbf\x7d\x15\x35\x43\x1e\x25\x9f\x29\xad\x43\x12\x22\xb5\x4b\x65\xaa\x7d\x07\xcf\xb5\xdf\x16\x2a\x87\xc4\xd0\x34\x81\xeb\x44\x1f\x22\x1d\x7f\x58\x62\x7a\x14\x16\x4e\x7f\x4c\x2e\x3a\x1d\x50\x7e\x89\x9d\x53\x58\xe0\x08\x29\xb0\x8c\xf3\xae\xcb\x8a\x75\xb2\xa3\x1c\x31\x85\xa5\x80\xe1\x2b\x13\xf0\x64\x28\x69\xff\xfb\x05\x67\x23\xe9\x61\xaa\xf6\xfe\xfe\x67\xb4\xa7\xc4\xc9\x3d\xb3\xfe\x1f\x61\xad\xcc\x76\x55\x69\xa9\x9c\x09\xa3\xc8\x24\xed\x4a\x98\xba\xbe\xae\x43\xef\xb1\xf3\x51\xba\x13\x0e\x22\xaa\x97\x81\x19\x86\xbe\x92\x3c\xc4\x18\x0a\x7c\x4b\x78\xbc\xc1\x40\xce\xc1\x55\x74\x65\x4a\xa6\xd6\x5a\x06\xb9\x7e\xcf\xa5\xf3\xa9\x35\x5f\x96\xe4\xee\xaa\x76\x89\x21\x7b\x66\x3f\xba\x4d\xab\x0d\x99\xb1\x9c\x8d\x8d\xbf\x47\xa1\x57\xe5\xd5\x96\x9a\x35\xef\x84\xdf\xf9\x56\x2e\xdd\x43\x4e\x73\xae\xe7\xd0\xd8\x92\xdd\xa7\x2a\x36\x2a\x22\xa7\xe9\xfa\x86\x34\xa5\x7e\xeb\xd1\xa9\x07\x48\x5c\xa8\x92\x1b\xdc\x19\xee\x9e\xe5\x88\xf3\x95\x68\x7d\x3f\xc8\xf8\xc2\x5f\x2e\x95\x76\xca\x60\x31\x3f\xbb\x2c\x26\x5a\x99\xf2\xcd\xd5\x57\x5b\x1d\xd5\x30\x60\x4e\x9a\xd6\x69\x5c\x9f\xb3\x59\x94\xa8\xb8\x7d\x5c\x85\x70\x54\x9a\x4d\x32\x9b\x9f\xe0\x87\x06\x9a\xb7\xeb\x0d\x71\x4a\x94\xe1\x92\x61\xf8\x6e\x44\x8f\x2d\xa9\xb1\xcb\x0c\x0d\xbe\x41\xd4\x4c\x3a\x82\x47\x83\xd1\xbd\xbd\x73\x26\x05\x1a\xeb\x10\xad\xab\x80\x5c\x5c\x59\xd0\xe8\x3b\x1c\x11\xa2\xfd\xd3\x5e\x44\x4a\x49\x9e\xd1\x5d\xaf\xd8\x38\x62\x77\x5f\x6c\xdf\xc6\x75\x95\x81\x84\x07\xbe\x55\xec\xbf\x7b\xf8\x6c\x73\x06\x9a\xac\xe5\x77\x62\x6a\x85\x63\x53\x6f\x60\x50\x42\xcf\x7c\xaa\xf6\xfc\x8e\x3b\x54\x5b\x77\x41\x4d\xf8\xd9\xf6\x49\xb9\x9e\xe4\x25\x41\xda\x38\xc3\xaa\xe6\x27\x20\x78\x45\xb8\xf4\x14\xa8\x07\x4d\x70\x86\x8a\x5c\x0b\x07\xb0\x70\xc3\xc6\x53\xbe\x04\x07\x6b\x83\xca\xd7\xb0\x30\x5d\x95\x00\xaa\x44\x45\x5c\xb8\x60\xdc\xc7\x64\x00\xaf\x93\xc3\xd2\xef\xb4\x2a\xe0\x56\xf1\x42\x8b\x65\xf1\x22\xe1\xc7\xb9\x58\x4d\x81\x4d\x50\xac\x72\xef\xdb"}, -{{0x67,0xcf,0x27,0x15,0x52,0x87,0xbe,0x6b,0xfa,0xb6,0x62,0x15,0xe0,0x17,0xc3,0x46,0x63,0x22,0xf2,0x1e,0x6e,0xb1,0x40,0xbe,0x4f,0x1b,0xde,0xcf,0x55,0xab,0xfd,0xc1,},{0xd0,0x70,0xaa,0xb2,0x95,0xa8,0xaf,0x93,0x57,0x27,0xc3,0xbe,0x44,0x2b,0x25,0x1d,0xb9,0xe7,0x74,0xd2,0xf4,0x4b,0x3c,0x24,0x24,0xc5,0x2f,0xc8,0x96,0x56,0xe1,0x69,},{0xc9,0x34,0xa3,0xa1,0xaa,0xab,0x78,0xd9,0x26,0x9d,0x1e,0x9d,0x13,0x39,0x2f,0x72,0xc6,0x37,0xbc,0x5d,0xe5,0x4f,0x04,0x69,0x1e,0xfc,0x29,0xd4,0x73,0xb4,0x75,0x02,0x5d,0x8d,0x8f,0xe3,0xc5,0x23,0xd2,0xd2,0x9c,0x41,0xc5,0xf3,0xde,0xc6,0xca,0x38,0xce,0x6d,0x68,0xd7,0xff,0x09,0xb6,0x13,0x5b,0xa2,0x4d,0x0d,0x32,0xcc,0x15,0x02,},"\x0f\xf0\x52\x97\x03\x1c\x89\x27\x74\xcb\x2c\x01\xe8\xca\x60\xdd\xd0\xce\xac\xc0\xb8\xd5\x91\xa8\x91\xe3\x3b\x19\xe1\xbe\x9e\x36\x3b\xc6\x42\x0d\x6f\x52\x9f\x04\x84\x0b\x3b\x08\x85\x3c\x83\x5a\x03\xe0\x36\x97\x8b\x04\xa4\xf9\xec\x6b\xe4\xae\xf3\x31\x95\x61\x90\x99\x6d\xea\x27\x26\x19\xf1\x68\x6d\x33\xbe\xf0\x3d\xbc\x08\x5a\x92\x3a\x0f\x11\x5b\x78\xf6\x53\xfe\xeb\x60\xbb\x9e\x45\xf3\x4f\xb8\xbe\x5a\x4c\xbb\x64\x8c\x7d\x29\x95\x6f\x0d\x0e\x96\xbd\xd3\xc8\xd0\x64\x97\x20\x62\x4c\xbc\x20\x79\xe8\x4f\xd6\xd0\x10\x24\x11\x24\x09\x84\x59\xf1\x2a\xf2\x99\x1d\x38\x28\x77\x0f\x50\xb1\x04\xea\x6e\x5f\x51\xfd\xad\x30\xa9\xb8\x07\x9d\x21\x59\xe4\x6d\x64\xaf\x91\xd0\x7c\x10\xed\x19\x81\x4d\xf2\xaf\xe6\x60\xd7\xd8\xf2\x40\x35\x34\xe9\x2c\x62\xe1\xea\x6d\x68\x82\x03\xbc\xa3\xd9\x7c\x2a\xfd\xa8\x3b\x25\x55\x20\xff\xe9\x2a\x33\x62\x57\x72\x51\x3b\x1f\xe3\x4f\xaf\xe3\x2b\x6a\x9b\x8c\xf9\x94\xdf\x7e\x63\x4e\x68\x65\x91\xe5\xf0\x07\x3a\xba\xbc\x64\xa8\x92\x10\xba\x53\xa4\x99\x1c\x11\x55\x7e\x03\x34\xe6\xc6\xa5\x03\x6c\x64\x2a\x31\x8f\x22\x95\x11\x71\x39\x08\x5f\xb3\x40\x75\x64\x70\x06\x75\x8e\x32\xbc\x00\xad\x10\x9f\xe8\x03\xf7\xee\x9f\x5e\xc2\xaf\x4d\x25\xc3\x07\x0a\xbc\x51\xcf\x4d\x78\xe1\x3a\x7c\xe2\x83\xd4\xfb\x4e\xb4\x1d\x3e\x8c\xe9\x02\x38\x50\x0a\xe0\xce\xda\x32\x0e\xc5\x92\x2e\xfa\x10\xb9\x03\x74\x8e\x1e\x85\x3a\x37\x29\xd2\x4c\x10\x54\x39\xdf\x2f\x70\x00\x12\x3d\xb9\xb2\xc0\x15\x33\xbb\xf0\xd0\x28\xeb\xb2\xfc\x00\xdc\xe3\x8a\xd0\x63\x28\xee\x9e\xcd\x84\x9a\x6e\xfc\x3a\xe8\x84\xef\x69\x33\xcf\xeb\xed\x05\x5b\xb2\x96\x8a\x0b\x06\x76\xb5\x72\x92\x16\x17\x8c\x75\x19\xef\x07\x88\x59\x3f\xc0\xdc\xff\x50\xd7\xe0\xb1\xeb\xb3\xcf\x49\xbb\xd1\xbf\xa5\xc3\x0e\xa7\xb8\x8c\x36\xe1\xa1\x59\x3a\xef\x0b\xb3\xf9\xe2\x09\x1c\x85\x89\xf7\x41\x4b\xee\xd8\xdf\x46\x6a\x2e\xd8\x7b\x2c\xb5\xf3\x5f\x1d\x31\x24\x6c\xeb\x96\x86\x09\x25\x36\x15\xd7\x80\x43\x51\x73\x79\xee\x69\x74\xa6\x69\xcb\x48\xda\x6a\xc2\xf9\x6d\x70\x0b\x7e\x44\xa4\x35\xcf\xef\xec\x40\x2a\x1e\x31\x10\xe7\x69\x81\x92\x4f\x26\x01\xc0\x1d\xc0\x35\x46\xfd\x4f\x51\x16\x49\x30\x2f\x06\x33\xdf\xbd\x25\x65\x1c\x5a\x59\x9c\x90\x95\x44\x89\xc7\x6a\x65\xec\x05\xa7\xe4\xcc\x74\x61\x6c\xe2\x56\x01\xcc\x37\xb8\x04\xe1\xf0\xbc\xc8\x65\x10\x23\xb1\x2e\x13\x56\x84\x41\xe8\xb8\xef\x4c\x30\x5f\xcd\xad\x3d\x2b\x13\xfa\x08\x03\x24\xb2\xfd\x6b\x61\x99\x8c\xf8\x64\xb6\x58\xbc\x7f\xef\xcc\x48\xa5\xa7\x68\x1d\x7c\x86\x6c\x34\x2c\x7f\x5d\x6c\xf1\x08\x81\x52\x2c\xc7\x10\x25\x7d\x25\xa4\xc1\xe3\x52\xd2\x70\xe9\x02\x08\x2a\xb9\x54\x1d\x59\x00\xce\xff\xa0\x91\x4b\x16\xb5\x5e\x0d\xd3\x78\x6e\x98\xd4\x17\x20\x87\x5a\x14\x8e\xb4\xab\xdb\x01\x53\x85\x66\x79\xfb\x98\xc0\xec\x48\x5e\x5f\x45\x8d\x63\x5b\x78\x61\xa2\xb3\xa8\xba\x5e\xc2\xc1\x44\x4d\x35\x39\x80\x20\x0e\x5e\x07\x18\x08\x85\x4a\x26\x8c\xc7\x6c\x60\x5c\x94\xf3\x73\x29\xc3\x61\x87\xa4\x1f\xdd\xf9\x2a\xab\xdb\x49\x96\xa0\xe1\x0b\x31\x55\x26\xaf\xea\xc8\x0e\xb2\xfa\x32\xaf\x78\x6a\x34\x31\x6b\x36\x11\x1e\xe9\x35\x21\x08\x14\x4d\x70\xf7\xd1\x72\x3b\x32\xf4\xdb\xaa\x82\x20\x13\x53\x41\x1d\x65\x77\x13\xe5\x5e\x35\xdf\x78\x58\x0b\x1b\xc0\x86\x80\xf0\x15\x9f\xa1\x16\xfa\xf4\x63\x56\x6a\xaf\xe8\xae\xa6\x98\x57\xe7\x2e\x44\xac\x80\x9a\xc4\x3f\x5c\x45\x93\x9d\x85\xa1\xa5\xf4\xa3\x70\xa1\x89\x96\xc8\x51\x4a\x46\xf3\x43\x71\xef\x9e\x5f\xb2\x04\x42\x2c\x93\x4a\x1d\x29\x3d\x10\x1b\x8c\x16\xf9\x9c\xc0\x73\xea\x36\x6a\x13\xa4\x5c\x43\x7d\x62\x0d\x13\x2b\x74\x40\x9c\xbf\x8b\x9c\x07\x5b\x41\x63\xf7\x26\xaa\x67\xe5\x09\xa2\x48\x74\xfc\x1b\x1f\xb6\xfb\x7c\x73\x55\x15\x9c\x02\xaa\x13\xe6\x4b\xad\xf1\x50\x35\x6b\x18\x41\xb3\x21\xf8\x04\x1e\x13\xed\x77\xe8\x46\x1c\xfb\xb8\xe8\x28\x48\x8b\xf5\x17\xa5\xd2\x9f\xf8\x2e\x73\x67\x48\x0a\x8e\xdd\xde\xb5\x35\x0e\x7a\x83\x42\x3b\xd0\xb1\xc5\x5f\x7b\xb4\x24\xca\x04\xc2\x05\x72\x3c\xd5\x40\x56\x71\xe7\x33\xf3\x91\x60\x0a"}, -{{0x18,0xc2,0x1c,0x0d,0x0d,0xe1,0x3d,0x4c,0x64,0x49,0x7e,0xf0,0x26,0x0d,0x66,0xcf,0xd3,0x42,0x16,0x98,0x1a,0x1b,0x49,0x39,0x1a,0xe5,0xcb,0x0e,0x41,0x43,0x6e,0x9f,},{0xf7,0xd4,0xdd,0x1e,0x05,0x9c,0x36,0xf6,0xd1,0x21,0xc0,0xaf,0xfe,0xb2,0x1f,0x0c,0x57,0x2b,0x45,0x99,0x2f,0x84,0x94,0x8b,0x09,0xaa,0xfb,0xcd,0x86,0xbb,0x53,0x5c,},{0xc9,0xc0,0x99,0xe2,0x1d,0x09,0x5a,0xfa,0xdd,0x4e,0x71,0xc9,0xab,0xf6,0xb7,0x08,0x33,0x24,0x77,0x62,0x25,0xb5,0x87,0xb6,0x0a,0x0e,0x60,0x92,0xec,0xb3,0xd3,0x3c,0xff,0x39,0xc6,0x7d,0x34,0x77,0x6a,0xe9,0x9d,0xda,0x75,0x4a,0x3c,0x2b,0x3f,0x78,0x11,0x35,0xa3,0x8c,0x78,0xed,0x64,0x55,0xaa,0xf0,0xae,0x0c,0x31,0x3b,0x62,0x05,},"\x68\xab\xca\x7c\x16\x6a\xfe\x06\x3e\x47\x7b\x80\xe3\x7d\xb2\x24\xe1\xa2\x35\xde\x8f\xcd\xeb\x7f\x42\x7a\xf6\x7e\x00\x12\x47\xcc\x5e\x05\x71\x82\xfd\x9b\x6d\xb8\xba\xba\xa6\x58\xcf\x3b\x3f\xe4\xb0\x76\x3b\xf8\x8d\x67\x31\x1b\x11\x90\xbe\x83\x40\x18\xcf\x57\xa3\x32\x92\x24\x13\x76\x46\x20\xac\xe0\x54\x45\xee\x01\x9a\x06\xdf\xf9\x8b\x23\x89\x79\xad\x6d\x30\x90\x1b\xef\xa3\xc6\x4f\x6b\xd8\xc6\xeb\x09\x2c\x2e\x62\x84\x13\x88\xfd\x8c\x4e\x84\x19\xe2\x77\x89\x84\x89\x67\x37\xed\x90\xa2\xcd\xb2\x19\x96\xae\xf7\xc2\x16\x38\xd6\xcb\xe6\x80\x32\x2d\x08\x99\x65\x97\xa9\xe3\x03\xf6\xf5\xf4\x79\x40\xf8\xc5\xba\x5f\x5f\x76\x38\x3e\x7e\x18\x06\x4a\x3d\x2d\xff\x5f\xdf\x95\xe9\x0c\x5e\xb3\x0f\x4d\x8d\x45\x9e\xe1\xd5\x06\xa8\xcd\x29\xcd\xc6\x9b\x67\x54\x96\x3b\x84\xd6\x74\x94\xb3\x53\x05\xd1\x0d\x12\xb9\x48\x74\x17\xb2\xce\x28\xad\xcb\x10\xb6\x5c\xc9\x31\xfb\x33\x81\xae\x02\xe7\xaf\x79\xa0\x2b\xf9\x9e\x25\x8a\x56\x36\x10\x90\xe0\xb7\x12\x22\xb3\xac\x60\xbf\x2f\xb7\xba\x83\x2d\x03\x4f\x5b\x6b\xc6\xfa\x66\x3a\xe7\x41\xf7\x6d\x97\xc1\xac\x32\xbc\xb7\x41\x15\x07\xd5\x18\xd2\xf6\x05\x4b\x57\x83\x28\xc5\xf6\x7f\x75\x8a\xc0\x1b\xfe\x6f\x4d\x35\x90\x0f\x50\xa5\xdc\xd3\x0d\x2f\x92\x61\xb6\xbb\xec\x4c\x1d\x1f\xc1\x8d\x2a\x7e\x70\xc4\xd3\x6c\x21\xfa\xf8\xcf\x94\xa5\x87\xc3\xa0\xd1\xa9\xcd\xe7\x83\x1a\xe6\x26\x77\x54\x68\xdd\xcd\x40\xa8\xba\x18\xf4\x2b\x34\x18\x8d\xe5\x74\x1e\x1b\xe8\x30\x7b\x10\x84\x58\x65\x15\xec\x01\x5e\x4e\x37\x1d\x29\x44\x3a\x40\xb0\xc0\x69\xc6\x41\xd8\xce\xe5\xe4\x61\x18\x62\x98\x7c\x3e\x35\x6b\x12\x93\xb0\x51\x8b\x4a\x4c\x8e\xa9\x7f\xc5\xa4\xdb\x1f\x01\x29\xab\xee\x72\xfb\x80\x92\xea\x35\xc2\xda\xb6\x75\x73\x85\x02\x07\xb8\xe8\x27\x18\x99\x9a\xd9\x9c\x4c\x83\x9e\xac\x14\x63\x6b\xd5\xe4\xd8\x43\x6a\x27\x0d\xd9\x0b\x8e\x32\x13\x02\xe5\x2a\x92\xd8\x91\xff\x18\x91\x54\x2a\xe2\xca\xa0\xd6\x6e\x0f\x66\x1e\xae\x37\xb2\x5b\x08\xbb\x2e\x0e\xee\xc4\x83\x80\x09\x77\x8c\xd5\x25\x98\x43\x80\x98\x3b\x2b\xaa\xdd\x71\x02\xa1\xe3\x56\x73\x4e\x41\xd7\x61\x83\x82\x9e\xa9\xab\x82\x44\xc3\x36\x59\x7c\xa2\xd6\x79\x88\xf2\x81\x43\x84\x67\xe4\x53\xf5\x62\xc6\x7b\x22\xd0\xa4\xdd\x9f\xcb\x46\xa5\xf8\x0d\x29\x9d\xb5\xf0\x1f\x59\x16\x0a\x19\xd7\x4c\x64\x4f\xa5\xa9\x40\xe3\x2c\x9d\x8d\x98\x3b\xab\x7e\xfb\x0d\x7c\x7d\xa4\xe3\xfd\xa1\xcd\x0d\x18\xa4\x55\x8e\xb9\xfe\x46\x40\x8a\xab\x50\x85\x91\x2b\xf2\xf4\x6a\xb6\x3a\x93\x54\xf9\x02\x7c\x93\x69\x12\x23\xff\xaa\xb8\x46\x3b\xac\x4c\x4b\xc3\xb1\x1a\xbc\x46\xba\x68\x71\x7c\x91\x78\x0d\x3f\x30\x47\x0d\xbd\xd8\x8b\x37\x80\xa1\x94\xc8\xa4\x0a\x2c\x0a\x81\xa4\xd5\x6d\xec\x2d\x89\x62\xc3\x4d\x2a\xb7\x33\x69\x02\x8e\x1b\xfe\xaa\x6b\xb5\x82\x41\xff\x4f\x89\x8f\x80\xad\x3b\xb1\xc6\x91\xb8\x64\x7f\x2c\x69\x83\x95\x4c\x1c\x77\x95\x74\x58\xee\xbf\x1c\x50\x55\xc3\x16\x93\xab\xce\xd0\x53\x84\x73\x5a\x4f\x74\x19\x68\xbd\x6a\xc3\x15\x65\xcf\xee\x71\xc8\x84\xc1\xe2\x9e\x9e\x7a\xe0\xf7\xec\xd0\x4d\x46\x3b\x1d\xc3\x89\xc3\x60\x37\xe8\x14\x58\xdc\xec\x61\xd0\x76\x40\x32\xdd\x58\x9b\x92\xaf\xda\x2f\xc9\x02\x8f\x41\xab\x53\xcc\xa2\xd0\x4e\xc6\xa9\x56\x59\x55\xcb\xcf\x1a\x34\x63\x98\x9c\x71\x39\xbb\x90\x2a\x59\x21\xe8\xb2\xc9\x9c\x48\xe1\x37\x11\xf0\xbc\xc3\x99\x25\x95\x16\xc8\x1a\xe9\x42\xa6\x79\xd4\xba\x33\x97\x9e\xb1\x2f\xcd\x28\x60\x60\x2e\x47\x24\xb1\x33\x0f\x1c\xd2\x57\xb5\xb2\x89\x1d\xae\xe8\xef\x4c\x92\xfc\x3b\xfd\xb3\x4e\x53\x2d\x58\x70\xf3\x80\x59\x86\xac\x97\xb5\x03\xfd\x85\x87\x35\x48\xe3\x09\x50\x00\x0f\x8a\x70\xbe\x51\xfa\x75\x76\x03\x50\x1f\x2d\x30\xe8\x52\xef\xea\xc4\x82\x68\x62\xae\xd7\xf6\xd2\x0c\x9a\x8c\x8d\xbe\x36\x2d\xfe\xe4\x18\x93\xf2\x7e\x6f\xd5\xe9\x1d\x0e\x7e\x3d\x4f\xd8\x15\x5f\x44\xfd\x8e\xf1\x7a\xf1\x4a\x84\x8d\x44\xa8\x76\x31\xae\xee\x75\x14\x62\xb2\xa5\x40\x87\x06\x8d\xae\xab\x3e\xa3\x28\x9e\xce\x62\x12\xb3\xb5\x2c\xe7\xa8\x88\x6d\xf2\xa7\x27\xb7\x2a\x57\x0c\x2f\xb9\xc5\x03\x41"}, -{{0xdb,0x9a,0xae,0xe1,0x98,0xcd,0x26,0xa5,0x2b,0x11,0x81,0xfa,0x3f,0xd9,0x2a,0xbe,0x42,0x5e,0x66,0x6d,0x89,0x0b,0xf9,0x69,0x46,0x7d,0xd2,0xce,0x28,0x0e,0xd4,0xa7,},{0x3c,0x89,0x7c,0xaf,0xe2,0xb4,0x99,0xec,0xb2,0xe1,0xdd,0x01,0xea,0x55,0xf3,0xfc,0x88,0xf6,0x8c,0x25,0xb6,0x4a,0x63,0x6b,0x31,0xa1,0xfd,0x1c,0x78,0xf3,0x7f,0x3f,},{0xb2,0xe3,0xd9,0xc5,0xd0,0xff,0x32,0x99,0x96,0xbc,0x89,0xd2,0x6f,0xb3,0xac,0x12,0x6b,0xde,0xd3,0x13,0xcb,0xf8,0xdf,0x86,0x71,0x86,0x38,0xc1,0x99,0xe0,0x57,0x27,0x3d,0x09,0xeb,0x16,0x3c,0x6c,0x18,0x1f,0xd8,0xbc,0xe5,0x1f,0x72,0xd4,0xd9,0xd2,0xe8,0x4a,0xbb,0xe0,0x83,0x30,0x77,0x3b,0x9f,0xcc,0x21,0x66,0xf1,0x40,0xd6,0x0e,},"\x47\xfb\x62\x15\x61\xf8\xb7\xee\xce\xc6\x03\x3f\x2b\xcb\x6f\x43\xac\x68\xc9\x58\xdf\xd2\x65\x6f\x52\xa0\xc2\x9b\x4a\xcd\x44\xf4\x30\x4c\x6b\xf7\x7e\xea\xa0\xc5\xf6\xd3\xb2\x2d\xb1\x96\x99\xc3\xdc\xde\xde\x69\x8a\xbd\xe6\x23\xec\x4b\x2b\x90\x91\x0c\x80\xac\x3a\xf3\x9c\x55\x0b\x6d\xd4\x09\xe6\x3d\x77\x70\x66\x55\xa9\x19\x9c\xb5\xc0\x25\x8f\x5b\xa3\x82\x85\xff\xdc\x64\xb8\xa8\xf3\x73\xd1\xfb\x29\xba\x87\xf8\x4d\xdf\x5f\x34\xd8\xf1\x40\xbb\xc1\x7b\x39\x61\x68\x2d\xf5\xd0\xa8\xf9\x10\x2e\x37\x9a\x99\x98\x13\x9d\xfe\x40\xab\x8c\xe7\x53\xbf\x56\x26\x10\x82\x37\x77\x1a\x7d\x8e\x10\x9e\x9e\x0a\xfe\x9b\x66\xd0\x42\x09\x42\xe1\x63\xa4\xf3\xc0\x3f\x71\x81\x3e\xe0\x78\xbd\x09\x0a\xc3\xd0\x77\x2e\x26\x22\xc2\x59\xe6\x82\x55\x2c\x75\xb0\x8d\xd0\x55\xa4\xa5\xeb\x5e\x60\x94\x40\xbc\xd3\xf3\xa6\xfe\xb8\x76\xfd\x16\x92\x15\x20\xc6\xcb\x68\x84\x71\x0d\x2e\x15\xcd\xad\x6d\xaa\xee\xd9\x59\x62\xdd\xa2\x1c\x67\x88\xf7\x84\x91\x79\x17\x98\x2e\x1c\xcb\xb5\xfd\xd9\xbd\xc1\x76\x9d\xb6\xb6\xdb\x57\xca\x35\x4e\x01\xa1\x33\x9d\x8e\x77\xe9\xdb\xbb\x58\x12\xfb\xab\x6a\x14\xc5\x40\x85\xc0\x65\x95\x99\xf1\x50\xe2\x24\x72\x47\x0f\x1e\x5e\x67\x2c\x42\x5f\x37\x5f\x9e\x0d\x6e\x8d\x52\xfa\x17\xb7\xa8\xd7\xa4\xd7\xca\x3e\x12\xf4\xdb\x53\x83\x6a\xed\x2b\xeb\xd7\x45\x89\xba\xca\x8c\xe9\x10\x02\x91\xbf\xb7\xe4\x56\xdb\x7f\x2f\x0a\x84\xdc\x0a\x74\x88\x85\x13\x66\xa9\xa5\xfe\xa0\xe3\xef\xc7\x4b\x9c\xdd\x4b\xd9\x7b\x65\xab\xf3\x61\x39\x3c\xe1\x70\x3d\x85\x71\x80\x5e\xe6\x8a\x13\xd3\x65\x4f\x03\xdc\xec\xfb\x77\xa5\x34\x30\xd0\x94\x96\xad\x73\xec\x01\x75\x99\x57\xe5\x10\x46\xaa\x73\x96\xf5\x92\x33\x86\x50\x11\x7a\xc7\xb4\xdd\x35\x73\xeb\x53\xd9\xc9\xf9\xdf\xa6\x2e\x23\x69\xc7\x7a\xf9\xc0\xd4\x2f\x61\xba\xe7\x4b\x28\x7d\xdf\xa2\x7b\x7f\x1c\x1b\xe9\x88\x3a\x04\x46\x91\xd5\x6d\xc1\x37\x34\xad\x4e\xe3\xa3\x2a\x9f\x40\xe3\x28\xc5\x00\xd0\xfe\xd8\xea\x05\x10\xe9\x38\xf2\x75\x80\x04\x02\x2b\xca\xa6\x90\x2b\xda\x10\x14\xb8\xae\x33\x65\x27\x28\x29\xed\x94\xfa\xba\x63\xcb\x14\xa3\x6c\xf8\x13\x90\xec\xa8\x3f\xc1\xc6\x27\x17\x20\x13\x26\x1b\x39\x93\x77\x9a\xa0\x76\xa5\xc5\xd8\x1d\x90\xd2\x70\x62\xe1\xa6\xd9\x0b\x5c\xf1\x00\x5c\x70\x19\x17\xb7\xad\xac\x18\x0c\xb7\x5b\xbc\xe0\xf2\x7f\x2f\x18\x0e\x2c\xb9\x01\x40\xc1\x4c\xc6\x00\x9d\x2d\x41\xaa\xb1\xdb\x94\x18\xf9\x1d\x4c\xf3\x94\x00\x2c\xd7\x0a\xc9\xdc\x11\xce\x86\x53\x47\xfa\x3f\x56\xf8\x7c\x14\x9e\x2b\x17\xd2\xc7\x2b\x66\x3a\x58\xe3\x18\x7b\xb1\x9b\x9b\xac\x2d\x11\x48\x3b\xa1\x2f\x77\x0a\xc0\x4d\xc4\x6d\x38\x85\x18\xfa\x54\xdc\x15\x2e\x9a\x9d\xfb\xff\x14\xf1\x4c\x61\xcb\x37\x58\x97\xe3\x0c\x53\xe6\xde\x42\xd5\xe1\x40\x1d\xae\x1b\x22\xba\xaa\x0e\x8a\x41\xc6\xaf\x9d\x0e\x0b\x13\xa9\x1a\x23\xd9\xb7\xd5\x55\x20\x47\x02\x9a\x35\x21\x94\x6c\x71\x20\xd3\xd2\x58\xb3\xae\xfc\xf7\x54\xd1\x95\x94\x87\xa1\xfe\x77\x43\xac\x7e\x1c\xc8\x9e\x36\x8b\x19\x78\x09\xc3\xa2\x73\x17\xe0\xec\x48\xd5\x46\xdb\x1e\x21\xeb\x62\x9a\x29\xbc\x62\x47\xcd\xd4\xa1\x37\x14\x37\x56\x3e\xdd\x12\xfa\xea\x2c\x5c\xb7\x7e\xed\xed\xbf\xc5\x80\x08\xfa\xd1\xf6\x5a\xf3\x58\x43\xfa\x27\x4c\x73\x4e\x3f\xbb\xaa\x9c\xc5\x0d\x68\x37\x48\xb7\x5a\x48\x5f\x94\xd6\x30\xb0\x32\xa5\xf1\x06\x7d\x1d\xeb\x30\xe9\xd2\x21\x8c\x93\x5c\x98\x1d\x01\xc0\xc5\x47\xfd\x68\x41\x31\x36\xed\xf4\xc0\xc7\x70\x28\x6e\x82\x34\x42\xe1\xc5\x13\x65\x19\x29\x21\x3c\x12\x1c\x1d\xe7\x00\x98\x91\x41\xab\x4a\xf3\xb3\xfe\x74\x04\xb4\xd2\xa3\x8c\x53\x0b\xaf\xb4\x98\xe6\x49\x53\xce\x1c\x0f\xb7\xd3\x40\xe2\x11\x35\xbf\x8a\xfd\xd8\xdd\x65\xb1\xb1\x8c\xf1\xc8\xfb\x9f\x40\x2b\x26\x70\x40\x0b\x86\xdd\xaf\xb1\x84\xcc\x51\xd5\xfd\xa2\x73\xb8\x0c\x26\x52\x1f\x91\x2f\x35\x83\xb4\xae\x30\x1d\xae\x15\x1c\xb5\x5c\x75\x70\x3a\xad\xef\x03\x24\x15\x22\x7d\x53\xe3\x95\xdb\x6c\x15\x0a\x1e\xe8\x39\xad\x26\xba\xe5\x52\xe1\xab\x73\x62\x14\xdc\x04\xb0\xf3\xc4\x1b\x7c\xfb\xd0\x49\x68\x1b\xc8\x4c\x3d\x16\x53\x07\x68"}, -{{0xa8,0x04,0xc3,0x3b,0x4d,0x38,0xcb,0x3c,0xe3,0x1c,0xf3,0xba,0xc1,0x04,0x9e,0x0d,0x4e,0xc6,0x3a,0x1a,0x0b,0x7b,0x59,0xfd,0x8a,0x36,0xee,0x37,0x54,0x16,0x56,0xaa,},{0x60,0x72,0x25,0x6d,0x65,0x74,0xa2,0x93,0xbd,0x7c,0x22,0x1c,0x55,0x1c,0x32,0xcf,0x2f,0x77,0x15,0xe1,0x9e,0x43,0x3a,0x49,0xd9,0xb8,0xb0,0x49,0x0e,0x56,0xef,0x62,},{0xb1,0xb4,0x4a,0x14,0x2a,0x7c,0x4c,0x3d,0x0b,0xf4,0x66,0x1e,0xda,0xc5,0xb7,0x67,0x00,0x57,0x26,0xc1,0x4a,0x27,0x69,0xb7,0xc2,0x14,0xfb,0x58,0x73,0x7e,0xc2,0xe4,0xbc,0x51,0xc3,0xa1,0x95,0xd2,0xba,0x1b,0x74,0xa5,0x4e,0xff,0x4c,0x33,0xa9,0x0f,0x41,0xcc,0xde,0xfa,0x9e,0x93,0x65,0xfd,0xe8,0xdd,0x85,0x9f,0xd3,0x97,0x8c,0x0a,},"\xdb\xfe\x30\x7f\x2a\xae\x9e\x07\xec\x7c\x4b\x68\x21\x06\xd2\xc9\x36\x7b\x0c\x4a\xaa\x58\xae\x80\x4e\x0a\x39\x04\x75\x4e\x6c\xf8\xfe\xe7\x3c\xf9\xe2\xd4\x5d\x02\x89\xe5\x07\x82\x93\xdf\xc4\x69\xd4\x6e\xa6\x70\x26\xc5\xaa\x69\x2d\x2f\x2c\x9f\xb4\xec\x57\xcd\xab\x4c\x04\x3f\xf9\xae\x61\x85\xf2\x7a\x70\x44\x54\xe5\xf5\x39\x50\xaa\xbd\x25\xc9\x91\x04\x74\xd4\x5a\xf8\x83\x68\x62\x72\x3e\x0e\x6a\x27\x82\x3d\x82\xbc\xbb\x68\xa9\x60\x52\x42\x2a\x18\x19\x51\x2e\x3b\x43\x40\x8c\xf4\x89\x57\xad\x6a\xe2\x35\xb7\x23\x3d\xf1\x82\x84\x74\x91\x53\xdf\xa5\x7d\xe3\x50\x74\xa3\x0e\xdf\xab\x8a\x56\xdf\x28\xab\x2e\x29\x40\x30\x6c\x22\x1a\xa5\x54\x90\xcc\x66\x4e\x14\x68\x3f\x30\xee\x61\x5e\x2d\x93\xfd\xf9\x71\xf5\x96\x66\x34\x65\x84\x3b\x3a\xdd\x63\x92\xba\x33\x90\x31\x1e\xf8\xdc\x59\xf2\x51\x44\x5d\x66\x9e\x10\xa0\x06\x19\x91\xe1\x13\x56\x19\x23\xaa\x21\x52\x44\x46\x3d\x82\x64\x19\x9a\xc5\x88\x92\x4e\x23\x1e\x84\x19\xd8\x68\x5f\x33\x8e\x59\x9b\x5f\x40\xbf\x9b\xd1\xae\xce\x77\x25\x35\xbb\xbc\xb8\xf6\x88\x1c\x2e\x80\x04\x91\xab\x3b\x57\xb4\x4b\x8a\xe4\x3a\xeb\x5c\x4a\xe5\xe7\xed\xeb\x22\x8f\xed\xc9\xf6\xb9\xca\xde\xa1\x76\xe1\x34\x93\x6d\xed\x60\xaf\x1c\x22\x87\x34\xfb\x00\x57\x0f\x23\x74\xbb\xbf\xa1\xbb\x17\x07\x85\x80\x5d\x6b\x6c\x70\x1e\x82\x09\x52\xea\xe4\x5b\x8c\x23\x66\x11\x3a\x1d\xfb\x2e\x35\x85\x2a\xf4\x19\xb7\x54\xf9\xcf\x7a\x08\x1c\x3d\xde\x6c\x80\x53\xbf\x1c\xe0\xc8\x53\x39\xd5\x69\x9c\x42\x24\x76\xfc\x21\xf2\x6c\xe7\x5d\x2a\x7f\xed\x09\xfc\x0f\x41\x75\x78\x98\x47\xd8\x76\xc5\x1a\xa4\xe0\xbf\x7c\xe8\x42\xb8\x30\x8d\xc7\xa2\x8c\x82\x39\x52\x07\x14\xdc\x23\x31\x36\xe0\x9f\x55\x7c\x7e\xf3\xe0\xf8\x3b\xad\x63\xcb\x28\xac\x61\x6d\x39\x28\xf3\x83\x7d\xce\x1d\xd5\x8a\xcb\x8d\xdb\xc7\x2e\x82\x2d\xee\xe4\x5f\x00\x77\x6a\xcc\x88\xe0\x0c\xd3\xa9\xdb\x48\x6d\x92\xd5\x35\xa5\x7a\x0f\xdc\x4f\x90\x3b\x62\xe5\x17\x22\x1c\x30\x8c\xba\x2e\x30\xff\xe7\xb9\x19\x37\xa9\x94\x17\x72\x1f\x56\xfe\x6d\xf4\x48\x40\xe9\xe4\x11\x36\x92\x9c\x0c\xa3\xdc\x28\xdd\xf2\x37\x9e\x4d\xcf\xde\x83\x72\x3e\x2d\x4c\x9e\x23\x29\x9c\x05\x6a\xfb\x31\xd3\xe7\x0d\x08\x5d\x0a\x31\x2c\x5c\xd5\x70\xb6\x99\xde\xa8\x71\x74\x58\x53\x13\x48\xc9\x6f\x6e\xb5\x2d\x7e\xe6\x1d\x56\x60\xf6\x5e\x90\x9a\x14\xce\x10\x33\xdc\x85\x3f\x2f\x25\xd0\x9c\xf4\xe4\x0d\x07\xef\xf7\x2e\x15\xa3\x90\x56\x4a\x2b\xe3\xc0\x42\xd8\x9a\x68\x66\x0a\x97\xff\xac\xec\x49\x67\xa4\xb6\x18\x71\x2d\x70\x60\x75\x65\x20\xc2\x9e\xe8\xd9\x22\x0a\xd8\x61\x5c\x4f\xcf\x39\x69\xbd\x3b\x2e\x09\x47\xe1\xf0\xbe\x7e\x2d\x80\xe0\xa6\x14\x80\xc3\x16\x6d\xb5\x58\x22\x18\xbb\x0a\x8b\xe9\x84\x8e\xfd\x41\xb6\xce\x0c\xd7\x95\xc4\x86\xab\xb6\x72\x10\xbe\xb6\x0c\xd0\x78\xb4\x6a\xeb\x7f\x4f\x48\x50\x31\x90\x2b\xcd\x71\x31\xe0\x0b\x70\x35\xaa\x2d\x43\xfe\xe0\x63\xf7\xf3\x0b\xd5\x70\xda\x1d\xbb\x65\xc0\xca\x92\xa4\x81\x26\x32\xe4\x32\x77\x85\x53\xe3\x5e\x85\x6c\xaa\x82\x18\x22\x1f\xd6\x31\x6a\xb0\x86\x91\x73\xb3\x84\x09\xbc\xef\xe6\xd2\xdb\x92\x10\xf9\x02\x41\x73\xb6\x6d\xbb\x92\x67\x7c\xbc\x71\xc8\xa1\xcd\x58\x3f\xa6\xf3\x54\xd3\xc9\x3f\xa8\xb1\x6c\x71\x37\x4f\x25\xa0\x0c\x33\x2f\x85\xa8\xbe\xfd\x54\x03\x88\xfb\x50\xdb\x9f\x5d\x96\xe4\xe4\xe6\x98\x83\x3c\xe3\xd6\x3c\x10\xb8\xee\xc7\x0a\x24\x3b\x90\x15\xdb\x45\x94\x31\xb6\x2f\x56\x68\xbb\xa6\x0f\x07\x04\xf6\xbd\xfe\x95\x46\xea\x47\x5c\xef\x2e\xbc\xcb\xa4\xb7\x68\x08\x48\xe8\x2b\xef\xf5\x85\x4e\x49\xf6\x5b\xb7\x73\xa4\x92\x2e\x90\xf9\xb8\xaf\xc7\xcf\x81\x87\x30\x58\x8e\xd5\xaa\x7b\x39\x98\x26\xaa\xdd\x54\x37\x2f\xcb\x76\x14\x58\xb6\x4d\xe6\x68\x57\xf4\xad\xac\xd4\xc3\x29\x00\xcb\x77\x13\x6a\x53\x5d\x7b\xbb\xb5\x54\x59\x7a\xec\xf3\x9f\xf6\x98\xb4\x5e\x6a\x21\x8d\xf1\xd2\xab\xe6\x15\xeb\x8d\x9e\x18\x24\xc0\xbe\xcc\xe9\x07\x67\x89\x9e\xbf\xd2\xc7\x30\x14\x4b\x32\xc7\x46\x04\xc0\xe5\x3e\x25\x05\xbb\x15\xd2\x80\x07\xa8\x7b\x99\x31\xd6\xee\xc0\xa6\xcb\x5b\x0f\x96\xd3\x19\x4b\x24\x23"}, -{{0xf8,0x20,0xe6,0xf2,0x4a,0x84,0x18,0xb6,0xac,0xda,0x16,0x5f,0x29,0xa3,0x60,0xf7,0x67,0xcd,0xed,0xde,0x8f,0x64,0xd7,0x68,0xb9,0x5f,0xc2,0xa5,0xf3,0xf4,0x04,0xe7,},{0x79,0xc4,0xb2,0x63,0xb2,0xe5,0x8f,0x67,0x86,0x28,0xd4,0xea,0x82,0xb1,0x75,0xac,0xa2,0x30,0xb9,0xa2,0x02,0x85,0xc8,0x28,0xf9,0x4e,0x1f,0xfd,0x63,0xd7,0x5b,0x23,},{0xf9,0xfd,0x72,0xf3,0x21,0xca,0x21,0x33,0xbf,0x85,0x85,0x90,0x8d,0x9c,0xa7,0xb8,0xe3,0x36,0x22,0x7e,0x3f,0xfb,0x37,0x49,0xa1,0xfb,0xe8,0xc9,0xb1,0xe5,0xd5,0x0e,0xf0,0x1f,0x9d,0xb5,0xf0,0xd2,0xa7,0xc7,0xc1,0x39,0x9b,0x97,0xc9,0x04,0x4e,0x1b,0xc1,0xad,0xc3,0x2b,0x8b,0xea,0x46,0xda,0xd7,0xb8,0x10,0x26,0x46,0x96,0x03,0x03,},"\xab\x6b\xd4\x5b\xb0\x6d\xfb\x90\x69\x11\x8f\xf9\x98\xf3\xbd\x39\x3e\xa8\xe9\x44\x97\x9e\x89\xe0\x49\xf2\x50\x5c\xd8\x93\x1b\x93\x08\x6b\x7e\x9d\x8e\xe7\x64\xe9\xb4\x47\xea\x4e\xa1\x21\x38\xbb\x45\x27\x5a\x21\xa1\x98\x43\xf7\x5d\xc5\x42\x1d\x61\xff\xd8\x61\x83\x8e\x58\x33\x82\x5d\x67\x16\x2f\x32\x59\xc2\x64\x47\xbe\x51\xdc\x18\x02\xef\x5a\x04\xba\x73\xb7\x83\x93\x57\x06\xab\xb4\x2c\x51\x3b\x65\xf2\xbb\xc4\x4f\x83\xda\x10\x61\x24\x2f\x2d\x5e\x51\x98\xf3\x8c\x10\x71\x7a\x86\xa3\xa1\x97\xe7\xcd\x90\x34\xf6\x36\x11\x44\x99\x03\x72\x77\xac\xb4\x72\x2c\x06\xa9\x1c\xb2\xf6\x5e\x21\xeb\x8d\x22\xd3\x6a\xd7\x3b\x42\x65\xf7\xa7\x94\x7e\x00\xe7\x22\xbd\xa6\x70\x43\xcd\x12\x81\xbc\xd8\x7e\x76\x3f\xc9\x7b\x54\xc8\xf8\x68\x36\xcd\xbf\x08\xc9\xa1\xf7\x00\xf4\xea\xed\x9e\xa5\x9a\x6f\xc1\xbc\x0d\xf8\xc9\xec\x1f\xc2\x97\x7c\xad\x60\xf9\x78\xab\xc0\xc8\x38\x1a\xa9\xfb\x06\x0e\x3f\x99\x37\x8a\x51\xb2\xd9\xaf\xbe\xf3\x58\xd5\x51\x62\xa3\x89\x22\xeb\xb8\x7d\x2a\x3e\x0f\x0f\x40\x00\xb1\xc3\x9b\x15\x02\xe9\x59\x45\xe8\xac\x9f\x4a\x3e\xa7\xc9\xdd\xb5\x81\xa5\xec\x06\xc0\x0b\xa8\x7a\x73\x70\x84\xb3\x84\xfa\xba\x09\xc8\x48\x71\xdd\xd6\x7d\xc1\xbe\xbb\x2f\x7f\xbd\x94\xa5\x59\x7d\x01\x9f\xe6\x29\xe5\xbf\x12\xbe\xa2\xe3\x3c\xa8\x4c\x68\x0d\xc5\xa3\x98\x9b\xbf\x3a\xf9\xee\xec\xe8\xab\x8f\xc8\x61\xe3\xb8\xbf\xc1\xe6\x7e\x2a\xee\x32\x6b\x37\xfb\x9b\x51\xcf\xa0\xb5\xf5\xfc\x16\x00\x69\xb4\x50\xb7\x04\xe0\xfa\xb7\xfb\x6c\x5a\xb3\xc4\x0b\x8f\x0b\x3d\x09\x30\xb9\x11\x2d\x64\xb9\xda\xca\xb4\xdd\x87\x5f\x29\xd8\xc5\x8c\x5d\x20\x53\xad\x91\x48\xff\xde\x22\xd9\x0b\xc0\xd5\x0f\x5d\xec\xa6\x8d\x3e\xa2\x5c\x5b\x4c\x76\x88\x87\x1c\x0c\x77\xdb\xce\xea\xcb\xd0\xa4\x22\x9f\x49\x70\xec\x87\xb3\x44\x99\xe2\x78\x30\x3c\x06\x69\x4c\x30\xac\x68\x52\x4d\x11\xb1\x72\x79\x4b\x48\x12\x73\xa5\xda\xc4\x61\x22\xd2\x47\x20\x95\xa5\x63\xa4\x35\xd1\x85\xd5\xe9\x1d\xa7\x26\xe7\x45\x92\x99\x9c\xda\xc6\x88\xa3\x3f\x38\xf7\xc0\x35\x58\x8f\x62\x5d\xc6\xac\x73\xd0\x04\x7a\xb3\xd6\xd1\x2f\x1a\xe3\x3d\x8b\x62\xd6\xd6\xc6\xca\xcf\xf0\xbd\xd8\x94\xb5\x7e\x31\x89\x12\xac\x0c\xf4\xa5\x34\x76\x2b\x2f\x6d\x26\x3c\x93\x58\x04\x42\x3e\xd8\x68\xcf\x8c\xfb\xb8\xbe\x8f\x6d\x8a\x71\x4a\x26\x8a\x39\x0e\xdc\x2d\xd5\x09\xd2\xdc\x96\x85\x1d\x1b\xd4\x32\x49\xbd\x0f\x69\xb0\xc4\xcb\x2f\xf4\x08\x0d\x1f\xd5\x62\x2b\xc2\x38\xdd\xa6\xe9\x30\x02\x5d\x8a\x2b\x12\xb9\x72\xf9\xeb\xa1\x74\x21\xd4\xce\xa6\x42\xf4\x0a\xd9\xea\x85\x47\xae\x59\x49\x8c\x3a\xd1\xb9\xa0\xc3\x4e\xd8\xc0\x1a\xae\x3b\xd2\x1a\xc1\x77\x43\xb5\x77\xf9\x51\x5c\xfb\xdd\xe2\x70\x4d\xc5\x7e\x80\xf1\x25\x32\x3d\x55\x10\x0b\x9f\x69\x79\x27\xd4\x31\xdf\xe7\x36\x31\xb5\x8e\x52\xaa\x6a\xeb\x04\x78\xbf\x45\x95\x52\x43\x86\x89\xfb\xeb\x9c\x60\xd8\x7a\xae\x09\x95\x43\x62\xcd\x02\xa2\xb0\xb4\x79\xef\xd3\x8f\x17\x82\x1a\xf3\x9b\x21\x92\x6e\xe0\x2f\x7d\x97\x2a\xd0\xf5\x4e\xa6\x57\x2c\xc3\xeb\xd0\x20\xb1\xee\x26\x88\x25\x33\xbd\x19\x11\x43\x23\x81\x5f\x67\x2e\xc8\xc9\x05\x68\x73\x0a\x58\xe4\xe1\xe3\x5f\x68\x21\x21\x9a\x32\xb8\xa6\xc5\x2c\xed\x6f\x95\x73\xd9\xf3\xbe\xb2\x85\x13\xba\x62\xfb\x20\x1f\x7f\xd4\x1b\xb1\x0c\xa3\x4b\xb1\xc7\x0f\x2f\xd7\xbb\x92\x99\xa7\xc5\xf7\xf2\xe0\xfa\x1d\x1a\xf0\xe9\xae\xf5\xed\xe7\xc1\x69\x50\xe8\x60\xec\xd6\x1f\x18\x42\xa1\xa2\x2c\x98\x31\xc0\xc0\xd4\xed\xa8\x40\xb0\x88\xa5\x45\x20\xc9\xb1\x8c\x76\xeb\xa9\xbe\xbc\xd5\x91\x38\x1c\x18\x0d\x7f\x86\xa0\xe5\x8a\xdd\x92\xb9\xb0\xc8\x07\x6a\x7c\xdc\xab\x60\xde\xa4\xc1\xaf\xb1\x8c\x8b\x94\xb1\xb3\x92\xcc\xfb\x4d\xae\x27\x11\xe7\xd1\x2d\x2b\xc7\xc7\x82\x5f\x63\x99\x2e\xc3\x24\x71\x63\xc2\x83\xb1\x07\x5e\x32\x24\x5f\x69\xcf\x47\x24\x0a\xef\x0d\xb4\x3e\xfa\xe8\x6f\xc1\xfd\x3b\xb9\x9c\xf5\xb7\x89\xf5\xbc\xba\x95\x04\x65\x7d\x9e\x62\x2a\x4a\xa1\x6f\x01\xd4\xd8\x44\x41\x31\x24\x44\x7d\x6d\x1a\x44\x23\xe7\xb5\x5d\xb7\xe6\xa3\x1a\x31\x9f\x4b\xac\xae\x43\x0a\x33\xa9\xbd\xd4\xef\x36\x80"}, -{{0x0a,0x05,0x6b,0xe0,0x39,0xfd,0x55,0xda,0xda,0x44,0x1d,0x03,0x73,0x61,0x27,0x3f,0x20,0x6e,0x00,0x0a,0x74,0xa0,0x5c,0x51,0xc0,0xcb,0xb6,0x27,0x43,0xf1,0xf3,0x40,},{0x73,0x14,0x02,0x17,0xa4,0x93,0xa1,0x78,0x66,0xff,0xf5,0x15,0x48,0x32,0x27,0x3d,0xf7,0x9d,0x58,0x11,0x54,0x3c,0x22,0x2a,0x39,0xd0,0x56,0xb8,0xc9,0x70,0xdb,0xfa,},{0xfa,0xb8,0xe5,0xd9,0x3d,0x7d,0x46,0xc6,0x5e,0xe1,0x17,0xc5,0x37,0x5e,0x73,0xc9,0x70,0x5f,0x87,0x54,0x17,0x7f,0xdd,0x46,0xef,0xed,0x47,0x37,0xc2,0x87,0x68,0xcc,0x4b,0x95,0xa9,0xc8,0x4c,0x52,0x9b,0x4b,0x91,0x6b,0x28,0xda,0xbd,0x87,0x41,0x18,0x31,0x44,0xbc,0xdb,0x48,0x3d,0xf9,0x8a,0xf8,0x9d,0x82,0x40,0xcf,0x09,0x46,0x04,},"\xa5\xab\x14\x76\x84\xe4\xd4\xa7\xbc\xb5\xa9\x6f\xb3\x98\x18\xe2\x3f\x56\xc2\xd8\xa7\x44\xe9\x12\x3d\x62\x08\x39\x30\xab\x1d\x0b\xb5\x32\xe6\x87\x14\xfc\xec\x7e\x6c\x41\x13\x4b\x6b\x19\xdd\xd8\x67\xfe\x63\x5c\x9e\xd6\x53\x93\xee\x39\xc5\xe8\xfa\xb4\x56\xcb\x5b\x32\x79\x78\x83\xf3\xcd\x9a\x09\x02\xb9\x79\x63\x48\xee\x66\xc6\x91\xfb\x4f\x2b\xb1\x47\x64\x41\x06\x57\xc7\x4a\xb3\x64\x56\x78\x79\xb6\xfa\x0a\x6f\x4d\xaf\xd9\x30\xd9\x23\x4c\xd7\x83\x4f\xb9\xd0\xee\xdf\xbb\x5a\x39\x4b\xf0\x84\x6e\xc6\x96\x9c\x2e\xf7\xce\x39\xe3\x85\x38\x95\xff\x5b\x4d\xa3\x1e\x54\x34\x1b\x42\x72\xe4\xa2\x60\x49\x18\x9f\xf2\x82\x41\xce\xef\xfb\x7d\x2e\x1f\xaf\x4f\x77\x9f\xa6\x5c\xac\x0f\x57\x83\xc6\x0a\xe7\x7d\xe3\x0a\xd4\x46\x5f\xdb\x39\x0d\x42\x57\x1e\xff\x4a\x63\x13\x63\x49\x93\x7d\x6c\xae\xef\xcd\xae\x22\x9e\x2f\x28\xce\xa8\xab\xf3\xff\xae\x3c\x3e\xcc\xd9\x06\x70\xa4\x21\x2a\x2b\xee\x1c\xa6\xa5\xb5\x4f\x09\x4f\xc3\x23\x10\x58\xf5\xcb\x9e\xce\xb9\x99\x3b\xe4\x70\x27\xd5\x1c\x18\xde\xca\x41\xcd\xda\xf4\xe8\xbc\x56\xa9\x9f\xd2\x70\x35\x5f\xf4\x59\x71\x95\x0e\x34\x37\xa1\x98\xcc\xc3\x25\x41\x68\xdf\xc1\x57\x40\x80\x80\x2e\xe1\x01\xa6\x17\xfb\x60\x4e\x86\x8f\x8f\xa8\xfb\x30\xda\xeb\x43\x07\x4d\xe1\x1f\x24\x83\xd9\x16\xde\x56\x43\xb7\xca\xc2\x3d\x93\x40\x50\x8a\x3f\xd6\x21\xec\xd2\x50\x04\x35\x6a\x53\x55\x4a\xd3\xad\x7d\x5d\x25\x81\x7a\xd7\xc9\xa6\x10\x00\x8c\x67\xac\x16\xba\x42\x11\xc4\x2f\x5d\xad\xf8\x6c\x2c\x3a\xed\x82\x5c\xf2\xa9\xb5\x23\xbf\xc0\x3d\xd7\xde\x40\x0c\x67\x80\x7e\x13\x9e\xa5\xdb\xce\x4e\xe1\xf7\xd3\x18\x88\x9b\x01\xa9\xf4\x48\x03\xc3\x22\xac\x3b\x61\xe2\x0e\x63\x12\xd0\xa0\x3b\xf9\x92\x7f\xa3\x3f\x04\xed\x7e\x20\x7b\x16\xf2\x65\x02\xc2\x98\x3a\x3a\x96\x1f\x22\x44\x61\xfe\x9b\x64\x92\x3b\x1d\x09\x18\x94\x76\xae\x8d\x00\x1d\x0e\xca\xae\x4d\xf6\x0d\xb3\x5f\x44\x8b\xb6\x12\xf9\x65\x5a\x5f\xb1\x44\xdf\x11\xd8\x3a\xa6\x93\x68\x86\xc3\x04\x94\x9e\x59\xaa\x46\xdf\x65\xc2\x2c\xe7\xbf\x28\x9b\x3c\x77\xc2\x5d\x89\x6b\xe6\xd5\x1d\xee\x10\x74\x82\x61\x68\x8c\x8b\x07\x1c\x85\x6f\x99\x62\xc6\x67\x75\xdd\xf1\x60\x83\xda\xe0\x65\x87\xe3\x2a\x63\x61\x19\x9d\x72\x09\x7e\x38\x3a\xd7\x43\x94\x91\xb5\xa5\x63\xa3\xe6\xd5\x8d\xa3\xd5\xab\xb1\xde\x84\x89\x0a\x36\xb4\x21\xce\x03\xd4\x84\xdf\xd6\x00\x39\x63\x8d\x46\xed\xfb\x60\x65\x9e\x3a\x25\xac\x6e\x9a\x93\x5a\xd6\xda\xd5\x0f\x92\x7b\xcc\x2f\xf9\x9f\x99\x24\xa5\xb7\x99\x5d\xc2\x3c\x8f\x30\x1c\xcc\x77\x69\xf7\x1c\x18\x26\x09\x04\xa3\xdc\xfb\x81\x7d\x2d\x80\x5c\xb1\xf1\x96\xbe\x8b\x6e\xcf\x35\x2b\xc2\x96\xbc\x3f\x76\xea\x91\x35\x3f\x8c\xf3\x5b\xcd\x2b\x57\xeb\x59\x42\x77\x3d\x68\x34\xac\x50\xee\xad\xc7\xe6\x64\x61\xd1\xda\x09\x8c\xce\xc7\x5f\xf7\x20\x52\x15\xf5\x24\x59\xd9\x76\x20\xf9\xf0\x28\x9e\x93\x91\x1d\xb3\x9b\x21\xdf\x81\x8f\xdf\x0b\xed\x45\x50\x92\x44\x63\x3d\xf0\x1c\xdd\xdb\x4b\x75\x97\x2f\xa7\xea\x6f\x73\x28\x1c\xbd\xbb\xd1\xbc\xb0\x0c\x3b\xc1\xb1\x72\x8e\xea\xe0\xbb\xa1\x72\xb1\x31\xf5\xd3\x08\x90\xa3\x41\xe6\xb7\x2f\x7e\x89\xdd\x4b\x6d\xb3\xe7\x9b\x69\x27\x58\x6c\xf2\xc8\xac\x38\xdd\x14\xf3\x74\xd7\xf5\xbb\xa9\xf4\x35\x3d\xef\x10\xdd\xc9\x4d\x3d\x11\x18\xc5\x69\x9e\x38\xb6\xb5\x04\x91\x8e\x58\x9e\xfe\x3f\x7e\x97\x3f\xb4\x0e\x2e\xbd\x05\x7d\xe1\x38\x5e\x39\xd6\x99\xa8\xf6\x83\xb9\x62\xfa\xe4\xf3\x90\x28\x81\xf1\xaf\xbe\xd7\xc7\x83\x82\x35\x58\xc3\x6d\x68\xc6\x87\x5d\x16\x6f\xa2\x43\xeb\x2a\xe1\x4f\x7e\x63\x15\xa6\xd2\xab\x4e\x79\xea\x8e\x16\xe6\x9d\x30\xed\xc7\x08\xf1\xe7\xaf\x7a\xda\xfe\xdc\xd3\x16\x88\x98\xb3\x31\x87\x81\x78\xc4\xba\x88\x33\xd2\x0b\x3c\xac\x9d\x32\xb8\x88\x8c\xc6\x78\x32\x06\x39\x74\x70\xa2\xe7\xcc\x4c\x98\x09\xff\x79\xce\xac\x9d\xc2\x4c\xa1\x43\x8c\x91\x9c\x8a\x41\x5e\x82\xf0\x90\x2b\x4d\x9c\xf4\xcc\xd5\x76\x96\x8d\x5b\xee\x81\xc5\xf1\x9c\x7d\x57\xb9\xba\xda\x8e\xab\x47\x56\xea\x27\x0d\xd2\x61\x29\xe6\x12\x2e\xe2\xd6\x15\x24\x2b\xc7\xfa\xbf\xf4\xf8\x31\x2e\x68\x6c\x8f"}, -{{0x22,0x05,0x24,0x86,0x0c,0xb8,0x9a,0xb2,0x95,0xbd,0x88,0x4f,0x98,0x8a,0x57,0x91,0x18,0x68,0x69,0x3d,0x6b,0x10,0x5a,0x80,0xb2,0x30,0xf2,0x1e,0x57,0x80,0x5a,0x7d,},{0x4a,0xb3,0x2b,0xc1,0x56,0x6a,0x76,0x77,0xe7,0x99,0x73,0x4d,0xc8,0x41,0x81,0xfb,0xb6,0x54,0xb8,0x13,0x37,0x91,0x80,0xf1,0xdd,0x35,0xae,0xf2,0xd3,0x24,0xc1,0x2c,},{0xdb,0x1c,0xc0,0xc5,0xdb,0x77,0x3e,0xc5,0x16,0x89,0xbe,0x28,0x84,0x2f,0xa6,0x79,0x1a,0x7d,0x75,0xe2,0x9c,0x22,0x8a,0xe9,0x59,0x3a,0x58,0x0e,0x08,0x75,0xb1,0x67,0x0f,0x09,0xb0,0x34,0x42,0x92,0x9a,0x18,0xf1,0xe9,0x41,0x4e,0xa3,0x43,0x15,0xff,0x09,0xd9,0x1d,0x92,0x2e,0xe4,0x7f,0x10,0xf7,0x1d,0xa4,0xab,0x13,0xb7,0xd9,0x01,},"\x02\x4a\x54\xac\x5e\x01\x63\xb3\xa4\xfd\xd0\x2f\x59\x36\x88\x8a\xe2\xf9\xb7\x4a\x64\x14\xb5\x3c\x63\x81\x17\x3b\x09\x5a\x4d\xda\xcf\xc3\xa6\x9f\x19\x16\x7d\x0f\x1a\xe0\xc1\x20\xbb\xa7\xe9\xfc\xb7\xcc\xfc\x79\x6d\x89\xea\x46\xef\x80\x58\x86\x6e\xf6\xda\x7d\x01\xa6\xa1\x42\xea\x69\xd7\x20\xc4\xf8\x05\xac\x54\x05\xa8\x01\x2c\x3c\x2a\x82\x63\xb5\x37\x2d\x59\xbf\x7f\x40\x99\x29\x90\x13\xd2\x62\x59\xdf\xd5\x19\x3e\xce\x56\x17\x97\x77\xbe\x51\xb8\x6b\xd1\xce\x5f\x1f\xc9\x15\x6f\x2b\x3a\x32\xc0\x9d\x86\xbc\x61\x32\xde\x57\x61\x02\xe2\xf0\x3c\x71\x6d\xb5\x36\x6c\xcb\xe7\x42\xae\xe3\x55\x2a\xc3\xb3\x9d\x0e\xc7\xd4\xe4\xe9\x62\x6b\xf8\xec\xe0\x31\xd6\x78\xd3\x48\x09\x05\xc0\xe3\x38\xfb\x7c\xc0\x26\xe3\xe7\x9c\xf2\xc2\x78\x1a\xc2\xa5\xa4\x0d\xf4\x28\x4e\x23\x5a\x03\x89\xe9\x28\xfc\x63\x55\x7d\xc6\xf1\x99\xfc\xec\x5f\x36\x1e\xa2\x47\x59\xfa\x7c\x5f\x71\x97\x8c\x0b\xa2\x45\xe4\xb0\x3a\xe4\x35\x94\x1c\x86\xc8\x1a\x51\x43\x0c\x2d\xc9\x92\x7e\x3b\x0f\x4e\xc4\xeb\xa7\xc2\x74\x5b\x49\x39\x87\x15\x4d\x7d\xa8\x5b\x67\xde\x21\xc5\x98\x40\x7f\xb2\xa7\x60\x80\x4a\xd0\x5b\xfd\xfa\x45\xa6\x13\x22\x4b\x22\xa0\x85\x88\xcc\xea\x3c\xbd\xf4\x7a\x19\x8b\xeb\xf8\xcf\xed\x86\x49\xd6\xd5\xf3\xfa\x50\x13\x76\xbd\xfb\xa4\x00\x3d\xac\x22\x37\xdc\xac\xe5\x31\x5b\x7f\xef\xb8\x79\xa8\x9a\x85\xbc\xe6\xda\x52\x6f\xc3\x60\xcb\xb4\xfd\x55\x4e\xf0\x13\xf3\x3b\x73\x84\xcd\x2b\x22\xa8\x85\x77\xf3\xa2\xd3\x66\x42\x2a\xae\x46\x41\x7b\xa9\x16\xe1\x64\x6e\x24\x40\x4a\x88\xb5\xd5\x3f\xf1\xae\xd2\xa4\x7b\xaf\x81\xfc\xb4\x28\x63\x97\x99\x13\x94\xb2\xec\xc3\x96\x67\xac\x46\xc2\xbd\xb6\xd0\x23\xb3\x3d\xb0\x13\x45\x7c\x40\x05\xd8\x39\x01\x5d\x88\x51\xf0\x28\xac\x33\x4f\xb2\x4b\xba\xd2\x90\x2a\x4d\x63\xae\x68\xe0\xec\xa7\xea\xea\x1e\x85\x65\x29\x64\x7b\xaf\x14\x12\x21\x37\x54\xed\x50\xaf\x3f\x43\x6e\x9b\xaf\xc1\x60\x16\x39\xb3\x9d\x3e\x52\xa9\x3a\x89\x8f\xb6\x01\x9f\xd5\xed\x6e\x7d\xfc\x05\x0e\x7c\xe5\xf3\xd3\x5c\xeb\x50\x67\x02\x1c\x0f\xbd\xc7\x08\xd3\xf2\x6b\xd6\x05\x68\xd1\xed\x2b\x61\x2b\x69\x62\x35\xd5\x33\x33\x18\xf9\xa6\xc9\x87\x23\x5a\x7a\x07\xf8\xc6\xa9\x35\x4f\xb8\xe7\x34\x76\x30\x65\xaf\xcd\x4d\x93\x77\x64\xa4\xf0\x37\xcc\x7e\x7e\x2b\x93\x21\x7f\x16\x41\x68\x4f\xa8\x1b\x7f\xf7\x98\x6a\x28\xb3\x8e\x95\xb3\x32\xe7\x46\x49\xe8\x3d\x0d\xed\x79\x5c\x57\xf2\x4c\xf2\x76\xe0\x14\x39\x01\xba\xfe\xf0\xf1\x69\x3f\xe7\xcf\x10\x90\x4f\xb0\xd8\x80\xd7\x2e\x44\x71\x6a\x70\x69\xda\xaa\xe7\x42\xcf\x0f\xf3\xed\x92\xf5\xf7\xd1\xe1\x0e\x04\x9d\x8d\xf0\x43\x63\x1e\xd0\xed\x4c\x4a\xc4\x02\x2d\x84\x03\xcb\x04\x21\xb4\x54\xcb\xfb\x6f\x48\xa3\x0e\x9e\xe1\x60\x9a\xd7\xb6\x82\x11\x97\x7a\xcb\x33\xb9\xc1\xa1\xbe\x73\x58\x14\xc5\x8f\x66\xdb\x5f\x0b\x8a\xc7\x73\xb1\xd5\x8d\x4e\x6b\xc4\x5d\xfd\x48\xa2\x94\xbb\xd2\x5e\x92\x67\x1f\x56\xf3\x02\xf2\x9b\x50\xd8\x04\x31\xc8\xf2\xea\x33\x99\x62\x57\xb2\x08\xe0\x57\xea\x76\x72\xcc\x2d\x1c\xd4\x20\x4b\x85\xb2\xab\x50\x90\x27\x13\x13\x59\xae\xb4\x2e\x3e\xcc\xdb\xae\xcf\xe2\xcd\x3e\x5a\x33\x13\x26\x6e\x76\x11\x94\xff\x69\xca\xe9\xe3\x7e\x51\xcc\x0a\x54\xf0\x86\xdd\xe1\x3c\xb3\x31\x18\xe3\x4f\xe3\x3c\x74\xd7\x35\x58\x27\x52\xd6\x8d\x21\xc7\x9e\x5c\x3a\xae\xa9\x4b\xa1\x07\xcb\x7e\xe8\xa7\x0a\x3f\x9a\x01\xe9\x80\x8c\x0a\xeb\xa6\x66\x53\x15\xb4\x56\x25\x84\x0a\x03\x3a\x6e\x2a\x87\x54\x95\x05\x79\x42\xed\x9b\xb2\xce\x6e\x4e\xe6\x0b\xed\x47\xcd\x9d\x58\x4b\xc2\x45\x24\x39\x7a\x10\x94\x98\xee\x2a\x97\x3a\xad\x6a\x29\xb7\x0a\x1c\xfb\xfe\x9a\xa5\xc7\xcb\x9f\x35\xf0\xfa\x00\x22\x7f\x43\x98\x8d\x07\x61\x9b\x6f\xb2\xf6\xd3\xbe\xe2\x8e\x10\xee\x70\x53\x47\x01\x5a\x92\x2e\x2e\x88\xd3\x4f\xb0\xce\x51\x5b\x08\xdf\x3a\x1b\x63\x4f\xf9\xec\x15\xd0\x59\x41\x82\xc8\x6e\xbb\x0d\xb7\x83\x61\x2a\x7d\x19\xe4\xb2\x2e\x82\x2d\x56\x62\x45\xae\xd7\x2e\x69\x4c\x3d\x10\x1b\xfa\x4c\xa8\x79\x86\x2e\x5f\x99\xc2\x3a\x5d\x66\x08\x3c\xe0\x6d\x87\xf3\x99\xaa\x78\x88\xab\x83\xb8\x66\x44\x72"}, -{{0x4e,0xf6,0x0f,0x06,0x91,0xd7,0x37,0xe6,0x4d,0x43,0x7b,0xfd,0x33,0x98,0x33,0x0e,0x55,0xe3,0xc0,0x94,0xcf,0x41,0xfc,0x55,0x7b,0x0f,0xe0,0xb6,0x43,0x90,0x9a,0xb8,},{0x30,0x6a,0xb1,0x46,0xe5,0xc8,0xcd,0x63,0x0f,0x9b,0x48,0xbf,0x8b,0x68,0x5d,0xb0,0xb6,0xb5,0x53,0xef,0x69,0x68,0x68,0x53,0xb6,0xb5,0x31,0x96,0x01,0x18,0x54,0x8c,},{0xcb,0xf7,0xcf,0x22,0x08,0x1c,0x5f,0x23,0x5d,0xba,0x35,0x63,0x0f,0xb3,0xf0,0x40,0x8f,0xce,0xcc,0xef,0xeb,0x28,0xb9,0x9d,0x74,0xdb,0xd9,0x8c,0x90,0x2c,0x7d,0x99,0xba,0x9c,0xa7,0xfa,0xb3,0x74,0x7c,0x50,0x4c,0xc2,0x19,0xf4,0xdd,0x10,0x10,0x81,0xf5,0x8c,0xe6,0x16,0xe2,0x92,0x80,0xe3,0x62,0x53,0x9f,0xe4,0x9f,0x34,0xd7,0x05,},"\x0a\x18\x8a\xc2\x6f\x3c\x5d\x89\xf3\xd5\x88\x37\x4f\xac\x5e\xcf\x9a\x46\x7e\x21\x65\xb3\x1d\x0b\x0f\x23\x50\x1b\xd2\x2e\x62\xbf\x35\x55\xff\xba\x94\x63\x1d\xe7\x4a\x6a\x3c\x3c\xf6\x3b\x03\xac\x1b\xbb\x37\xd2\x33\xec\xa5\x99\x3b\x09\x70\xa0\x22\x0d\xe8\xd6\xc4\x1a\x97\x03\x07\x30\x9a\x52\xda\x05\x76\xdc\x33\x4d\x80\x64\x47\xaa\x09\xd0\xb2\x45\xea\xcd\x0b\x42\xc4\xe1\x9f\xa3\xd6\xfb\xdc\x22\x94\x30\xeb\x3c\x75\x58\xaf\x53\x31\xc6\xe7\xfc\xc2\xe5\x52\xce\x35\xd5\x79\x07\x3b\x54\x8d\xc1\x15\xbb\xd2\x7e\x5a\x33\xce\x1c\x47\xfc\x84\x61\xe3\x91\xb6\xd7\x67\x95\x34\x87\xcc\x52\xee\x67\x3b\xc4\xbe\x96\x56\x9c\x85\x57\x36\x9e\xbb\x6e\x02\xf7\x92\x38\x10\x8c\x3b\x58\x56\xee\x38\x1a\x79\xff\x46\x4c\x8f\x60\x09\xfd\x47\xe6\x7b\x4c\x80\x20\x1e\x11\xe6\x1a\xb8\xf5\x9b\xa5\xd0\x7b\x15\xac\xe3\xfb\x37\x4c\x64\xb6\xb4\xc3\x45\xe2\xb0\x0e\x91\x51\xab\x8e\x1c\x5c\x98\x56\x8b\xc5\x8d\xd0\x81\x2a\xaa\x3b\xee\xe1\x65\xe7\xea\xe5\x8f\xbd\xe6\x30\x77\x20\x3c\x4f\xd6\xe1\x60\x68\xd7\x6e\x3d\x3a\x13\xf1\xcd\xd7\x32\x88\xbd\x5e\x4d\xa4\x4e\xb1\x19\xa0\x4c\x4d\x32\xef\xa2\xf1\x3e\x74\x26\xa2\xf4\x1c\x56\x23\xc9\xb0\x66\xb1\x30\x36\x39\xb8\xfc\xea\x0d\x87\x74\xcc\x08\x04\x5f\x7e\x34\x63\x65\xff\x31\xd3\xb1\xed\x99\xe9\x7b\xca\x5f\x25\xc9\x2b\x28\x43\xac\x58\x5d\x02\x19\x3a\x2f\xd3\x94\x66\xf7\x3a\xaa\x98\x9b\x1f\xa0\x5b\x9a\x15\x7f\xd0\x27\x7c\x5e\x74\x5d\x25\x8e\x02\x78\x03\xa5\x24\xad\x94\x30\x94\x25\xc3\xf4\xde\xc3\x1c\x0e\xfc\x54\x77\x52\xf4\xc7\x19\x4c\xbb\x27\x2f\x84\x9a\x52\x16\x9c\x6a\x07\x8d\x20\xed\xe1\x43\x20\x16\x52\x84\x77\xb5\x8c\x2b\xdf\x60\x63\xf9\x44\x7e\x33\x83\x7c\xcb\x43\x7d\x8d\x6b\x95\xcf\x4c\x44\xbe\x70\xc8\x19\x3a\xd9\x80\xa1\x05\xf3\xdb\x6f\x99\x30\xba\xb4\x67\x8c\x77\x63\x42\xfa\xf1\x70\xed\xf7\x42\x48\xd3\xb1\xca\x96\xf7\x31\xb9\xd0\x26\xd8\xf0\xf7\xc3\x4e\xd3\x72\xc1\xcd\xe1\x76\xf5\x5f\x55\x86\x75\xcc\x31\x80\xc2\x39\x02\xf4\xba\x95\x08\xd1\xc9\x1c\x3c\x9e\x68\x87\x30\x32\x7f\x3f\x7b\x63\x7a\x8f\xee\x54\x37\x37\x59\xfc\xb1\x7c\x92\x17\xea\x44\xce\x43\x69\x1a\x8f\x64\x63\x64\x0a\x4a\x5e\x15\x1e\x62\x54\xc4\xef\x12\x62\x3b\x49\x39\x4d\xa7\xcc\x79\x45\x26\x93\x81\x7d\x6b\xae\xa9\xa0\xa7\x58\x76\x94\x8b\x1f\x8d\x3b\x71\x7f\x9e\xc3\x67\x53\xf5\x32\x63\x71\x03\x83\xb9\x82\x62\xae\x63\x54\xff\x2a\x22\x83\x22\x0a\xd4\x2c\x5c\xb2\xcb\xbd\xf1\x2c\x87\x95\x13\x71\x0b\x16\xbe\x85\x6f\x3b\x13\x55\xb3\x6f\x4b\x80\xc0\x17\xc2\x1b\xe8\x5e\x96\x05\x3d\xa0\x50\xc4\x03\x12\x10\x0a\xbb\x64\x0b\x87\x3d\x88\xfb\x6e\xe0\xd1\x9e\x9e\x61\xb0\x4c\x97\x0b\xd1\xf0\x60\xdd\x31\x1b\xbb\x9a\x6e\x35\xb9\x85\xfd\xca\x17\xca\xee\x8c\xd5\xdb\x63\x7a\xcd\x90\xcb\x8e\x82\x32\x55\xc0\x56\x01\x8f\xef\x59\x20\xdb\x64\x0d\x22\x01\xc5\xed\xdb\xd8\xa9\xc9\x47\x4d\xa8\xde\xf7\xe1\x32\x5b\x3c\xc4\x36\xc7\x4f\x81\x5d\xb1\xe4\x2b\x42\x1f\xaa\xb6\x26\xa4\x37\x8c\x2d\x84\x26\x1b\xf6\x49\xa5\x3b\x32\x1f\x59\x8c\x44\xbb\xd3\x00\x2b\x06\xcf\x7f\x1f\xde\xf8\x4a\xb3\x5f\x73\xed\x7d\xc6\x50\x96\xcb\x1d\xc0\xcc\x0e\x34\xc5\x61\xc8\xa1\x5c\xf5\x27\x9a\xbb\xed\x9b\x16\xff\x24\xa9\x74\x4e\x3f\x5e\x64\x9c\xc9\xd8\x88\x4f\x89\x1c\x3f\xb7\x89\x02\x03\x1f\xfe\x0e\x01\x21\xc7\x20\x80\xad\x10\xc2\x47\xb7\xc9\x3a\x9e\xbb\x2d\x84\xd4\xf8\x77\x75\x0d\x7b\x34\x16\x39\x3d\x03\x04\x52\x26\xbb\x79\x94\xee\xa5\x8e\x27\x2d\xc1\x8c\x46\xb3\x82\xd1\xf9\x7b\x23\x76\x5f\xda\x7a\x8c\xe2\x1f\xc6\xb9\x8d\x72\x3f\xfc\xcd\x99\xac\x46\x55\xcc\x5d\x10\x10\x5a\x2a\x5b\x7c\x8c\xfb\xfb\x90\xe2\x7a\x9a\x80\x9e\x41\xae\x64\x00\x63\x28\x64\x05\xa9\xbe\x83\xac\x5d\x29\x07\xa4\x5f\x16\x3c\x77\x64\xb0\x9f\x99\xa5\x55\x93\x22\x0d\x69\x01\x29\x2b\x9b\x58\x03\xa0\xfe\x71\xb0\xe4\x44\x1c\xbf\xef\x84\x1c\x33\xce\xbc\x98\x36\x4d\x66\x6e\x5a\x9f\x5e\x7e\x69\xa1\x50\x8e\x43\x80\xed\x36\x13\x45\xb7\x24\x8a\x4c\x1c\x1c\xe0\x87\x69\xbc\x71\x52\xdd\xb3\x32\xfb\xa1\x76\x20\x0f\x5a\xbb\xae\x38\x12\xf4\x06\xda\x72\xdd\xe5\xdb"}, -{{0x19,0x7e,0x15,0xdc,0xe4,0xc4,0x7d,0x73,0x4d,0xbc,0xe4,0x68,0x8a,0x7a,0xd5,0xfe,0x41,0xeb,0xf2,0xaa,0x29,0xa2,0xbd,0xdb,0x2b,0xee,0x62,0x84,0x29,0xc1,0xbc,0x02,},{0x30,0xfa,0xc3,0x23,0x04,0x8b,0x0c,0x78,0x1a,0x9f,0x63,0xc1,0xee,0x69,0xf2,0xb9,0xe7,0x5a,0x27,0x06,0xd2,0x49,0x51,0x2a,0x27,0x39,0x60,0x7f,0x26,0xdb,0x13,0x8f,},{0x2c,0x3c,0x8c,0xd2,0x99,0xc9,0x06,0x0b,0x65,0x99,0x9b,0x03,0xa6,0x57,0x9b,0xc5,0x0e,0xf1,0xfe,0x0d,0x85,0x1f,0x23,0xbe,0x9c,0xb5,0x8f,0x8f,0xb8,0xc6,0x72,0xee,0x08,0x6a,0x53,0x9e,0xad,0x94,0x9e,0x08,0x7d,0xf0,0x91,0x12,0x2d,0x26,0xfa,0xaa,0xd2,0x06,0xa5,0xc5,0x2f,0xcd,0x58,0xb5,0x14,0xd7,0xa9,0x35,0xbe,0x01,0x79,0x08,},"\xfd\x97\x1d\x48\x94\x6b\x51\xff\xed\x7b\x62\xc5\xd0\x99\xc1\xe5\x6b\x13\x58\xb9\x22\x35\xe1\x01\x0e\x3f\x23\x84\x4d\xdb\x73\xbc\xee\x8d\x2e\x1c\x99\x77\x35\x3b\xc9\x6a\x22\x1c\x05\x60\x29\x31\xfa\x16\xcc\xc2\xab\x6d\x0f\x01\xc8\x46\xc2\x92\x0e\x99\xde\x02\x6d\xc2\x89\x7f\x3d\x5f\x3c\xee\x17\x4c\xe7\x51\xd4\xa8\x05\xee\x19\x59\xa3\xc6\x9c\xfd\x42\xd7\xc9\xaf\xd3\x1f\xa9\xb1\xcf\x05\x78\x6d\x8f\x90\x42\xa4\xf9\xf8\x1c\xf7\xac\x9c\x1c\x39\xb3\x6f\x1e\xe9\x5b\x98\xcf\x7e\xe3\xf4\x3e\x2c\x34\x37\x33\xd1\xd8\x2c\xc0\x8b\x2c\xde\xb7\x8d\x98\x20\x34\x08\x5f\xf4\xdc\x65\x36\xcd\x15\x4a\x79\x0c\x85\xc8\x61\x3e\xc4\xe5\xe1\xdc\x37\x7d\x38\xa7\x45\xd9\x38\xcf\xb1\x5c\x8b\x8a\xa8\x61\x21\x83\x5f\x2e\x25\xe9\xe6\xd0\xde\x68\x02\x5d\x81\x0c\x3d\xc9\xdf\x99\x1d\xad\xad\x39\xdc\x69\x81\xfd\xba\xc1\xff\x9b\x7a\x79\x1c\x39\x60\xd8\x56\x43\x66\xe5\xaa\x39\xa9\xe9\xc7\xcb\xf1\xd3\xf0\xf8\x20\xd1\xb9\x01\x08\x75\x1a\xc7\x64\xda\xbe\x05\xc5\x1c\x18\x52\x9d\xa1\xb0\x34\x96\x14\x66\x84\x24\xab\x4e\x93\x64\x40\xc4\xa2\x51\x3b\xe5\x28\x53\x93\x72\xee\xe7\x87\x54\x58\x9d\xbe\x79\x94\xfa\xa1\xf6\x22\x91\x24\xf8\x39\x95\x0e\xd0\x92\x3f\x43\x23\x31\x5a\xc9\x63\xbb\xe4\xc8\xe1\x77\xda\xc5\x16\xe7\x34\x22\x38\xf1\xcd\xf1\x40\xbe\xfc\x8a\xcd\xca\x3d\x00\x2b\x16\xc1\x39\x8d\x86\x86\x00\x30\x4c\x7e\x98\x53\xb2\x3a\x51\xb1\x7d\x9f\xd0\x61\x56\xe1\xd1\xd0\x8a\x28\x46\x09\x09\xfa\x20\x9c\xcc\xcc\x4c\xec\xbd\xb1\xa4\x63\x48\x08\x91\x15\x31\x86\x81\xa9\x5a\xe5\x80\xab\x67\x66\x04\x13\x84\x65\x1c\xc4\xe6\x14\x51\x03\x92\x3b\xdf\x4a\x32\xa9\x3d\x93\xee\xd3\x18\x79\x1f\x20\x80\x5f\x7e\xa8\x4b\x74\x3e\xe1\x1e\xad\x9e\x4c\xa0\x3d\xa7\x6d\xdd\x24\x9f\xd4\x47\x5f\xc1\xa3\x53\xc7\x0a\x83\x38\x9b\xfa\xc5\x20\x98\xdb\x06\x6d\x10\x29\xc4\xef\xfb\xed\x86\x4e\xbe\x7f\x10\x7e\x01\x03\xb3\xa8\xf3\xfd\x1d\x6a\xb4\x36\x0b\x99\xe8\xb1\x40\xc5\xea\x13\x3e\x92\x3c\x39\x2b\x8e\x40\x63\xaa\x6e\x52\x26\x38\xf6\x1d\x7a\x71\xc9\x22\x58\x97\xd9\xf8\xa1\xe1\x6c\xfc\xc8\x01\xe7\xd5\x41\x04\xeb\x10\xe6\x1a\x5a\xe6\x3c\x5c\x85\xa5\xb2\x93\x92\xab\x3a\xb8\xe5\xc0\x39\xf1\x00\xd0\xf4\x60\x0c\x61\x0e\x02\x09\x43\x6e\xf2\xec\xe4\xd0\xbd\xb0\xba\xb4\x37\xb2\xdb\x5f\x37\x08\xfd\xdf\x96\x66\x0f\x6f\xb1\xa9\x0d\x60\x48\xd3\x95\xaf\xaf\xa7\x60\xcc\xaf\x15\xde\xaa\x0e\xff\xeb\x26\xec\x17\x68\x1d\x17\x2c\x13\x30\xf7\x8e\x78\xa8\x73\x6b\x28\x5f\x61\x5f\x15\xd4\xf2\xc3\x13\xd2\x5f\x30\xae\xe9\xd1\xdb\x39\xf5\x35\xfc\xdd\x0e\xbc\x8e\x71\xb8\x9c\xe6\xb3\xfc\xb5\x67\xcd\x0f\xa2\x88\xf4\x8e\xd3\xa7\x59\xbb\x2e\xd2\x00\xfd\xc2\x30\x91\x50\x2f\xd9\xca\x65\x1c\xe5\xe3\x42\x2a\x98\x33\x5a\x81\xd7\x4a\x65\xcc\x15\x00\xe9\x07\x0a\xbb\x60\x9c\x1c\x1f\x68\xfc\x2c\xa9\x4c\xdd\x55\x0f\x99\xbc\xb2\xd0\x92\x41\x6b\x9b\xd3\x88\x41\x0b\x8f\xe7\x48\xfb\x8c\x9a\x5a\xb8\x61\x5f\x2e\xd9\x68\xf8\x5d\xcb\x27\x27\x72\x69\x84\xbe\xad\xa7\xa1\x8a\xfd\xb0\xc7\x2a\xa6\x5d\xe7\xab\xb7\xa8\x6f\x11\x16\x9a\x6e\xad\xf1\xc2\x1d\x61\x4e\x52\xc0\xc8\xf0\x19\x74\x7d\x34\x1a\x05\xd8\x5e\x37\xbf\x58\xd8\x32\x7e\x99\x39\xc2\x38\x7c\x27\x44\xed\xf8\x38\x56\x3c\xb3\x7f\x0b\x16\xe8\xa0\x6f\xc6\x28\xa9\x72\x30\x50\x6f\xa4\x18\x39\x54\xdc\x74\x81\x5f\x3b\xe2\xeb\x2a\xff\x4a\x13\xc0\x65\xf7\x43\xb7\xd8\x5d\xe8\x04\xeb\x28\xef\xe5\x70\xed\x5e\xcc\x71\xab\xa9\x7f\x97\x63\xb4\x36\x17\x32\x47\xf3\x8e\x0c\xf6\x29\x72\x09\xb6\x51\x28\x46\x5a\x38\x26\x64\xce\xd8\x01\x1f\xcc\x3d\x0e\x56\x3f\x15\x5b\xc6\x3c\x94\xdd\xe7\x3c\x7b\x17\x24\x7b\x8c\x3a\x4e\x80\x34\xeb\xd4\x36\x46\x35\x18\x5c\xe9\xc7\x08\x1d\xbd\xbe\x85\x45\xf7\x9d\x01\xaa\x53\x2a\x0d\xc5\x2c\xb7\x90\xa3\x1f\xc2\xff\x41\xac\xeb\xad\x27\xcc\xe9\x24\x45\x54\xdb\x65\x2f\xa2\x87\xba\xe7\xde\xcb\xcc\x8c\xe9\xe0\x1d\x1a\x88\xab\x41\x2b\x6c\x65\x78\x20\x3b\x42\xde\xc9\x82\xb7\xf3\xb8\x23\x14\xdb\x2c\xc7\xc5\xc3\xdc\x1d\x3d\x8b\x17\x14\x4d\xa7\xfe\x60\xe7\xa8\x72\x5f\xd0\xa9\x7c\x61\x06\x07\xcf\x41\x3c\x72"}, -{{0x08,0xb5,0xfd,0x4e,0x41,0x9d,0x23,0x70,0xc0,0xfc,0xd6,0xc3,0xb9,0x2f,0x8d,0xb3,0xaf,0xd4,0x22,0x68,0xf5,0x33,0x08,0x5d,0x9f,0xce,0x32,0xb5,0x22,0x82,0x4e,0x34,},{0xcd,0x0d,0xa6,0x99,0x37,0x9e,0x4f,0x94,0x25,0xe8,0x4b,0x97,0x57,0x30,0x0a,0x51,0xa1,0x63,0xf3,0x58,0x73,0x4c,0xc3,0x7a,0x91,0xff,0x0e,0xa4,0x88,0xd2,0x97,0x79,},{0x42,0xa1,0x37,0x56,0xb7,0x5c,0x67,0x22,0x48,0x5f,0xa3,0xf6,0x94,0x04,0x1b,0x39,0xb7,0xd7,0xc5,0xfd,0x40,0xeb,0xc0,0x6a,0x52,0xe0,0xff,0x34,0xce,0x14,0xd8,0xd4,0x0f,0xa8,0x2a,0x95,0x08,0xb5,0x68,0x53,0x7d,0x26,0xd0,0xdd,0x7c,0x0a,0x31,0xbe,0x71,0x0d,0xa8,0x0a,0xab,0x35,0x19,0x6a,0x03,0x9b,0x60,0x64,0x1d,0xb1,0xe1,0x01,},"\x3c\xee\xee\xa3\x0f\xa4\x01\x56\x3d\xf3\x6b\x19\x8b\x9b\x59\x69\x8c\x10\xe1\x00\xa2\xf3\x0e\x6f\x78\xfe\x62\xb9\x2e\xca\xc9\x89\xe8\xaa\x09\xec\x76\x0e\x89\xca\xc0\xa1\x6b\xde\x3c\xac\x73\x62\x2a\x86\x27\xef\xed\xfa\x4e\xc0\x9b\x87\x3f\x7e\x10\x00\xe7\x69\x82\x91\x0c\xa0\xaa\x4a\xfb\x1f\xf5\xa8\x44\x8b\x76\xf7\xb0\xd2\xa2\xd5\x2a\x7f\x40\xde\xde\xfc\x68\xd6\x0c\xe6\x62\x2c\xa0\x80\xd6\x69\x8e\xa6\xc3\xbd\x72\x10\xb3\xb6\x48\xf5\x32\x52\x29\x14\x94\xb3\x5a\x55\xff\x40\xfa\x1a\x63\x1a\x57\xc5\x10\x01\x1a\x46\xbf\xb9\xe2\x71\xba\xe1\xe7\x8c\xe6\xc6\xea\x60\xc5\x5b\xa0\xcc\xe3\x60\x59\xbf\xb0\x1e\x39\x45\x56\x98\x7f\x74\x4b\x72\xae\xbb\xdb\x4b\x1b\xdb\xb3\xbb\xaa\xee\x1b\x8b\x2f\x31\x74\x50\x6a\x79\x3f\x0a\x51\x1b\x2b\x56\x90\x49\xb3\x0a\x2e\x08\x41\x42\x41\x84\xa4\x8e\xca\x9e\x2d\x83\x78\x3a\xc5\xb6\x1e\xb9\x47\xcb\xd8\xba\xb7\xad\x38\xb0\xc6\x84\x27\xd8\xf9\x4a\xe2\x85\x19\x0d\xbb\x6e\x0c\x6d\x58\x0a\x25\x14\x23\x94\xbe\x94\x81\x58\xd8\xda\x83\xb4\xf3\x4a\x8d\x25\x8b\x97\x07\x56\x32\xb3\xc2\x8b\xfa\xe3\x10\x5e\xd1\x87\x2e\x35\x6e\x43\xae\xd5\x93\x97\xb9\x11\x0b\xbf\x9d\x8c\xa2\xa0\x44\xd5\x27\x1e\x6c\xc3\x61\xe1\x4e\x69\xa9\x32\x51\x76\x83\xec\x81\x81\x8f\x02\xcf\xa0\x29\x5e\x56\x61\xce\xa3\xe5\x86\xaf\xc0\xdb\x41\xba\x95\x55\x3e\xe7\x5b\x20\x0b\x0f\x97\x90\x11\x1d\x37\x57\xa7\x39\xe5\x63\x55\x7a\xff\x9b\x70\xca\x14\xe8\x7b\x79\x54\x37\xba\x91\xa9\x5d\xd0\x7e\xa6\x9a\x11\x35\x9f\x36\xca\x03\x29\x8e\x0b\xfa\x4f\x91\x2f\x64\xa2\x92\x4a\xd9\x01\x97\x5a\x2a\x96\x0b\xa1\xbe\x89\x92\x1b\x1f\x54\x85\x49\x6b\x7e\xa5\xda\x6d\x8a\x69\x37\xac\x10\x5b\xf3\x76\x0e\x48\x76\x99\x0a\x0f\x5c\x5a\x63\x4f\x74\xcb\x57\xdf\x7c\x17\x2c\x8a\x41\x53\x72\xe6\xd9\x03\x29\x87\x17\x49\x96\x16\xf8\x97\x1c\x68\xbb\xec\xe9\x2e\xa8\x78\xa1\x8e\x23\xf3\x27\xc3\x64\x9b\x6a\x85\x2e\xf2\x3b\x7b\x3e\x60\x3c\xdf\x80\x45\x2d\xbf\x1b\xe2\xfb\x77\xe8\x14\xd2\x52\x54\x96\xbb\x31\xfb\x6e\x4e\xd2\x53\x32\x48\xb3\x9d\x5f\xbe\x23\x90\xa9\xb6\xfc\xca\xba\x99\x7e\x8b\x49\xb5\x98\x36\xe3\xe0\x95\x29\xea\x5e\x41\x13\xee\xe4\x51\xc9\xc6\xbb\x26\x74\x1d\x0e\x4c\x58\x6f\x53\xd6\x04\xc6\xea\x0c\x0e\x60\xdb\x02\xe5\x10\x9f\x37\x34\xf5\x1c\xdd\x89\x85\xaf\xeb\x3e\xca\xff\x65\xe0\x59\xe3\x12\xcd\x50\xfa\x34\x9f\xf2\x8b\xdc\x9b\x70\xb7\xf5\x32\xdb\xab\x1d\xf4\x3b\x03\x16\x7c\x1d\x2e\x3f\xa6\xee\x8c\x9b\x17\x4a\x0b\x2c\xf8\xaa\x9f\xfa\x40\x6b\xf5\xbd\x72\x88\x78\x0c\x9c\x4a\x6b\x69\x79\x49\xb4\x86\x38\xd4\x20\x79\xc8\xc6\x6e\x14\xd9\xb5\x72\xa2\x10\xa0\x93\xea\xf1\xd2\xf7\xa7\x03\xb5\xcd\x20\xad\xc4\xf9\x92\x7a\x6e\xa8\xea\x78\xfa\xa6\x1b\xc6\x2b\x3c\x5c\xbd\x3a\x53\x25\x25\x66\xd0\x43\xba\x55\x65\x90\xd9\xa7\x63\xbe\x7f\xea\x4b\x20\xe1\xe9\xcf\xbe\xbf\xae\x15\x43\x9b\x33\x4d\xc5\x39\xb1\x7d\xad\xa2\xe4\x34\xe9\xc8\x32\x25\xb1\xe8\xf6\xbe\xb7\xd5\x56\xb4\x7d\x7f\x69\xf7\xeb\x7d\xf5\xed\xe2\xee\xbd\x84\xe2\x50\xb7\xc9\x46\x8c\x21\xfd\xc0\x17\x0e\xa8\xdf\x66\x2d\x61\x80\x58\x1f\x65\x7f\xe7\x6c\xef\x18\x58\xb6\xb0\x2f\x73\x25\xc7\x21\x96\x43\xfb\xa2\xf7\xe9\x96\x3a\x33\x32\x2d\x65\x04\xab\x91\xbf\x10\xa9\x78\xfa\x07\xb4\x7d\x5d\xb0\xbe\x00\x0d\xcd\x00\x2b\xdd\xaf\x67\x6b\x77\x25\x9c\x9f\x60\xad\x0b\x11\x67\x1c\xd5\x77\x7c\x1e\x80\xb1\x3f\x82\xeb\x0f\xb6\xa1\x80\xb5\x66\x62\x93\xa4\x32\x40\x86\x2f\xbf\xa3\x97\x8d\x95\x31\x19\x71\xaf\xab\x9e\x1c\xc8\xab\x14\xa8\x76\xb6\x57\x2a\xc8\xa4\xb7\xe0\xb4\x0a\xaf\x6b\x52\xa1\xcf\x4c\x1e\xbc\x6c\x1c\x48\x7d\xf5\xa3\xcb\xc4\x00\x5a\x0e\xe3\x29\xca\xbc\x28\x6d\xb1\x0f\x17\xd0\xf1\x78\x2e\x07\xd3\x32\x4f\x0c\x73\xef\xbd\x3c\x2f\xb5\x2b\x71\xf9\x8a\xd9\x5d\xb9\x50\x62\xd9\x14\x25\xe7\x34\x67\xbc\x1e\x4e\x9b\xf5\x52\xe8\xa2\x44\x29\xd9\x7d\xb1\xd6\x6d\xd4\xd9\x95\xe5\xf8\xd2\x4e\x9c\x91\x0b\x2e\xb1\x75\x8e\xf7\x55\x25\xc3\xd6\x5a\x3f\x43\x0a\x02\x73\x48\x82\x0c\xe3\x05\x3b\x6f\x3a\xf4\xec\x96\xd0\x49\x37\x31\xc8\x18\xc6\xb1\xa7\x0c\x25\x0a\xc6\x86\xa4\xfc"}, -{{0x1e,0x85,0xc9,0xe4,0x51,0xb7,0xac,0xf8,0x01,0xd1,0x6b,0xc8,0x26,0x8e,0xb4,0x2a,0xe8,0x5c,0x72,0xc6,0x8e,0x9f,0x90,0x92,0x7a,0xa0,0xf3,0xb5,0x0b,0xef,0xd2,0x29,},{0xa6,0x9d,0x05,0x7f,0x4b,0x74,0x38,0x11,0xe0,0x7a,0xc7,0x45,0x61,0xc2,0x25,0xbe,0x03,0x81,0xc7,0xd5,0x84,0x9e,0x60,0x18,0x79,0x37,0x01,0xa8,0xcb,0x6c,0x99,0xb5,},{0x6c,0x36,0xda,0x9a,0xd6,0xc4,0x56,0x34,0x3c,0xe6,0x42,0xac,0xa4,0x54,0x92,0x3a,0x52,0xa2,0x84,0x4c,0xe5,0xee,0x58,0x94,0x7c,0x8d,0xf7,0xba,0xb2,0xeb,0xe4,0x67,0x82,0x3c,0x56,0x33,0xe5,0x30,0xb1,0x67,0xd7,0x1c,0x47,0xad,0x95,0x49,0xdf,0x05,0x94,0x3f,0x99,0x42,0x1e,0x17,0x47,0x5c,0x4d,0x4f,0x08,0xde,0xdf,0x6f,0x32,0x05,},"\x18\x9e\xa9\xc8\xd9\xed\x14\xb0\xde\x82\xb4\x4c\xbd\xd5\x87\x57\xa2\x7c\x68\x38\x3f\xba\x59\x77\x61\xf9\xe8\x62\xe0\x8d\xe1\x5b\x1e\x44\xc3\xdb\x1b\xad\xbd\xe7\x69\x80\xee\x39\xe6\x99\x62\x9f\x6f\xcf\xef\x32\xd3\x6b\x33\x93\xda\x2c\xa5\xa8\x1f\x95\x9c\x8b\x0f\x1b\x80\x1b\x5f\xa4\xc4\x7c\xa3\x95\x91\xe6\x12\xa2\x43\x5c\x5b\xaf\xd7\x7a\x5c\x7a\xb7\x43\x59\x21\x09\x06\xf4\x75\x33\xb1\x87\x9e\x2a\x5a\xf5\x86\x4d\x96\x1c\x81\x46\xe2\x5d\xac\x77\x25\x55\xe0\x42\xa8\x87\x26\x14\x19\xab\x8c\x9f\x6f\x62\x56\x25\x48\x1d\xa5\xb9\x35\x26\xa1\x31\xf3\x7b\x53\x4a\x00\x50\xa8\xa4\x62\xb3\x3f\x20\xa7\xe9\x4b\x89\x15\x30\xb1\x9b\xf6\x54\xee\x95\x34\xc9\xa8\x36\x1d\x03\x63\x5d\x8d\x27\xd4\x6b\xe7\xbf\x84\x78\x1a\xd0\xd4\x2d\x1e\x7c\x48\x54\xa4\x9b\xa1\xba\x45\x82\x62\xfe\x5e\xa1\x90\x21\xb9\x35\xa6\x94\x94\x92\xd7\x0b\x60\x5e\x15\x19\x89\xef\x26\x41\xb2\xbf\x81\xec\x4b\x92\x02\x0f\xc7\x07\x4c\x2a\x63\x22\x9d\x51\xa9\x44\x18\x6a\x28\x89\x5e\x8e\xa9\x52\x92\xc2\xf8\x72\xbb\x21\xa3\x14\x93\x99\xe2\x3c\xcd\x8e\x2f\xc4\xf1\x7a\x46\xb5\x9c\x28\x2c\x51\xb5\x8d\x00\x26\x6a\x5c\x16\xb1\xce\x35\x0d\x54\x85\xe8\xd8\x01\x6d\xd0\xa5\x0a\x59\x84\xcc\x94\x81\x54\xcd\x5c\xe7\xcd\xa0\xee\x0a\xb1\xd7\x25\x1b\xdc\x70\xa1\x78\x5b\x8e\x91\x03\x91\x7f\x4b\x91\x7a\xb2\xb4\x94\xf3\x48\x33\x89\xa2\xf9\x23\x75\x41\x84\x9e\xd3\xbd\x56\x5c\xff\xac\x9e\x75\x6d\xb5\x6e\xf5\xe2\x34\x95\xbc\x77\x1e\x88\xbf\xfa\x87\x07\xce\xea\x5c\x09\xbe\xca\xdd\x05\x9a\xb8\x89\xd1\xdf\x7e\x88\x7b\x71\xa9\xe6\xc2\x38\x37\x8f\xbe\x0c\x36\x30\x38\x66\x16\x36\x3f\x20\x7b\x16\xc3\x27\x0d\x39\xac\xde\xd5\x11\x52\x99\x92\xf4\xe5\x98\x78\x91\x21\xd3\x16\x13\x58\x10\x63\x6b\xaa\xde\x8a\x28\xed\xc6\x6b\xbf\x5e\xde\x3f\x40\x4a\x70\xb4\x7d\x35\x98\x8b\xe7\x06\xb4\xea\xa0\x30\x23\xa3\x90\x93\xd5\x83\xcd\x4c\xd8\xbf\x4c\x74\x34\x1a\x02\x8c\x19\xd6\x0d\xa3\x1b\x6a\x7a\x03\x4c\x08\x1a\x2b\x03\x0f\xeb\x3c\xd2\xf0\x3d\x0f\xaa\xbf\xfb\x58\xe3\xfc\x36\xc0\x06\xcf\xb9\x29\x47\xa7\xde\x5b\xa8\x74\x76\xc1\xb0\x51\xe1\x82\x83\xc0\x3e\x9c\x6e\x5a\x5c\x3c\x27\x77\xd9\xa0\x75\x73\x72\x37\x96\x64\xe8\x2f\x84\x85\x82\x4f\xed\xb7\x0a\x4b\xc4\xe3\x56\xed\xd1\xb5\xce\x0f\xb6\xe4\x1d\xe0\x17\x16\x21\xb8\x4f\xaf\xa0\x01\x89\xaf\xa8\xa6\xa9\x00\xb1\x4c\x70\x75\x8f\x7a\xa4\xfb\x82\x40\x0e\x0d\x18\xab\x3c\xd7\xe4\x8a\xcf\xd4\x89\xca\xb0\xe7\x2e\x71\x9f\x79\xa0\x7d\x06\x6c\x53\x1a\x89\x1c\x55\x29\x1f\x22\x45\xdb\xbe\xe4\x4e\x52\xb1\xdf\xc8\x72\x7a\xae\x38\x7a\xb9\xe7\x19\x94\xa3\x85\x4e\x1a\xdd\x73\xd9\xa7\x96\x5c\x77\x55\x21\xc2\xf5\x40\x84\x22\x76\xdd\x30\x9e\x2f\x6a\x34\x1e\x7f\x0f\x37\xf2\x2b\xb6\x62\x7b\x6e\x9c\xb2\x5b\xa2\x4c\x6c\x4f\x4e\xb9\xf5\xe7\x62\x2d\x88\xda\x19\x84\xe2\x9c\x5d\xa0\x01\x03\x9c\x44\x04\x2b\x59\x35\x14\x06\xa4\x13\x36\xdd\x77\x2d\x49\x7d\x3f\xc8\xaa\xc4\x11\x72\xeb\x5a\xa6\x41\x7f\xe4\x22\xec\x7c\x15\x0b\x96\xb0\x45\x4e\xe3\x31\x24\x7c\xb1\x53\x8a\xef\xf3\xec\xa2\xd5\x0e\x53\xd6\xd1\x31\x70\xa7\x6a\x00\x49\xea\x0c\x05\x90\x4a\x63\x90\xed\x14\xce\x74\x91\xe9\x7f\x75\x4c\x52\x22\xda\xc4\xb6\x11\x8b\xa3\x81\xf5\x52\xe7\x3e\xa8\x49\x1e\x3b\x7a\xc9\x49\x56\x9b\x56\x9c\xf2\xd2\x9a\x80\x41\x0e\x06\x5b\x5c\xc4\xa4\x66\xbb\x04\xeb\x7a\x15\xf5\x96\x79\x2e\x84\x90\xba\x70\x02\xec\x36\x15\x71\xaf\x5d\x8f\x57\x67\x5c\x95\x64\x49\x47\x0a\x2f\x99\x55\x40\x73\x67\xe4\x09\xa2\x32\x89\x95\x53\x12\x0a\x27\x7d\xb8\x63\xe9\xa8\x2d\xda\xba\xe8\x7b\x78\x91\x45\xba\x89\x8d\xf3\xc2\x8b\x96\xfb\xe3\x01\x4c\xd0\x85\xc6\xe6\x0e\xe8\x83\x17\x01\x03\x6d\x99\xc5\x42\x5d\x58\xe8\xbc\xc9\xfd\x92\x71\xd4\x6a\xec\x1e\xb9\x55\x13\x01\x02\xea\xaa\xb4\x4e\x07\x70\xc3\x0b\x2b\x12\x7e\xfb\x0e\x5f\x8a\x3f\x7a\x0c\xa3\x4e\xc9\x98\x4a\x46\x01\x1b\xc2\x6b\xfd\xe0\xc0\x81\x9b\xb5\x47\x06\xb5\x65\x63\x8b\x75\x42\xdc\x4b\x8b\xf8\x09\x8d\xc0\x1f\x16\x1b\x3b\x12\x96\x18\xb5\x9a\xde\xd3\x3c\xb5\x9c\xe9\x18\x9a\x67\x62\xdb\xae\x5b\x0d\x34\xb7\x1c\x8d\xbf"}, -{{0x51,0xcf,0x86,0x8f,0x82,0x0e,0xed,0xa0,0xdb,0xd1,0x01,0x80,0xf7,0x77,0xe6,0x06,0x5c,0x93,0xa4,0x83,0xc5,0x8a,0x77,0x8b,0x67,0xe7,0xd8,0x42,0x30,0x2f,0xb7,0x67,},{0xab,0x08,0x8f,0x50,0x2f,0xbc,0xf2,0x15,0x0e,0x48,0x46,0xb3,0x4d,0x2c,0x80,0x97,0xff,0x01,0x3c,0x02,0xa8,0xb9,0x7c,0xfc,0xf2,0xb9,0x5a,0x1c,0x72,0xdf,0x3e,0x24,},{0xe1,0x53,0x42,0xa1,0x1c,0xaf,0x89,0x28,0x95,0xe4,0x66,0x22,0x88,0x63,0xd0,0x83,0xb0,0x69,0x2f,0x01,0x06,0x10,0x74,0x8c,0x23,0xdf,0x2f,0x11,0xd2,0x94,0x75,0xba,0xfc,0xe9,0x27,0xca,0xfe,0x7f,0x07,0xef,0xb8,0xc3,0x47,0xed,0x56,0x63,0xe7,0x3b,0xea,0x89,0x53,0x1c,0xed,0xc0,0xc3,0x48,0xe7,0x9b,0x6e,0x58,0xa7,0x57,0x49,0x07,},"\x7c\x2d\x8e\xe8\x2d\x9a\xbf\x8a\xa9\xc7\x24\xc7\x5b\x90\x99\x04\x73\xf1\x31\x76\x3f\xe9\x3b\x30\xcb\x04\x72\x35\x88\x62\x1d\xa2\xa3\x27\x92\x8b\x22\x64\x9f\xa0\x62\xcd\xea\xbd\x77\x76\x15\x38\xb2\x70\x9b\x8f\xb7\xa2\x00\x6e\x50\x35\x09\x13\x4c\x92\x9c\x30\x11\xe1\xd7\x28\xa5\x7a\x4e\x17\x51\x98\x07\x5e\x21\x42\x53\xf3\xf3\x0e\x01\xb6\xe0\x4e\xab\xd4\xde\x06\x78\x95\x58\xe6\x98\xb1\x86\xef\xe3\x4b\x32\x12\x95\x68\xb3\xe8\xd0\xd7\xea\x3f\xf0\x0b\x3f\x25\xa4\x22\x36\x89\x3a\xa8\xa4\x1b\x67\x4a\x0a\xb5\xf4\x1e\x7b\x28\xcf\x5a\x7c\xb7\x65\xe1\x8e\xad\x6d\xe6\xa3\x53\xa7\x82\x4a\x3c\x49\x78\x60\x38\xd6\xf4\x93\x7f\x32\x64\xd6\xcc\xf0\xc0\xa2\x46\x5b\xb6\x93\xe5\x2b\x3d\x1e\x6e\xb9\xae\x4c\xb6\x5d\x09\xcf\xf5\x48\x42\xe8\x53\x62\x85\x7a\x59\xf7\x19\x8a\x68\x8a\x3d\xf3\x85\x13\xcd\xd6\x1e\x21\xdf\xd8\x59\x14\x2c\x83\x44\xa3\xb8\xb2\xa7\xc7\xdb\x17\x0f\x39\xf8\x7c\xa3\xff\x8e\xd4\x27\x96\x2b\x2b\x1a\x14\xd1\x22\xfa\x2d\x5a\xea\x2a\x66\x40\x11\x7d\xd2\x58\xfa\x0f\xc5\x4a\xc6\xe9\x40\xbc\x16\xd2\x11\xec\x9a\xdf\x91\x4a\xb1\x65\x78\xf5\x21\xf6\x55\xd2\x12\x7e\x79\xe8\x71\xbf\x7f\xa7\x54\x47\x19\xd5\x8e\xd8\x47\x85\x0c\xb2\x7b\x99\xeb\x8f\x29\xb1\x6c\xdc\xc2\x8b\x15\xc1\x25\x9a\xb4\xd5\x89\x70\x5a\x40\x66\x88\xf6\x05\xa2\xeb\xf5\x80\x51\xc4\x3a\x77\xc4\xe0\x1f\xd6\xf7\x49\xd3\x2d\xb4\xe8\x9f\x26\x3c\x2c\x16\xde\x18\x1f\x0e\x6b\xdd\x0a\x6a\x64\xff\xe6\xf1\x82\x94\x44\x09\x6d\x9f\x3e\x2b\x67\xe4\xbb\x00\x66\x50\xb5\x92\x9d\x1f\x82\xeb\x11\xbb\xed\x24\xe8\xf1\x01\x8a\x73\x84\x60\x5a\x3c\xf2\x9a\xb5\x98\x33\x79\x39\xc7\x6a\x3b\xe8\x61\xe4\x83\xc5\x80\x5e\xc3\xce\xe4\x5e\x34\x24\x84\x7a\x08\x55\x8d\xcc\x99\x49\x9f\xb9\x38\x2a\xca\xe5\x6c\xdc\x87\xfb\xd5\xb2\x6f\xf9\x4c\x86\xf2\xe1\x08\x79\x43\x83\x50\x1c\x8b\x33\x36\x68\x50\xa7\x6a\x0d\xfc\x0a\x7c\xd7\x89\xa0\x3f\x01\xa3\xe9\xd9\xe9\xae\x39\xfd\x72\x45\xdc\x29\x29\x9d\x24\xf3\xb4\xb1\x67\xca\xcc\xd2\x23\xa9\x9b\x6b\x20\xa3\xb6\x73\xdc\x5f\x74\x66\xd0\xb2\xf8\x15\x09\x8a\x49\x7c\xca\xf8\x04\x20\x16\x8e\xdd\xbf\x4d\xa5\x7b\x86\x66\xe9\xd3\x3c\x48\xeb\x30\x4b\x4c\xfc\xf4\x57\xcd\x76\x59\x54\x3f\x6d\x1e\x66\x18\x90\xf5\x62\xb4\x3b\x8b\x6d\x1c\x4d\xcc\x07\x7b\x60\xbf\xa5\x33\xff\xab\x92\x8d\xbf\xd9\x55\xdc\x51\x16\xd7\x70\x95\x0b\x69\x0e\x21\x06\xad\x52\xd4\x2c\x31\xc2\x2b\x88\x48\x89\x43\x32\xb5\xc6\x99\xe5\xc3\x31\xfb\x38\x1e\x58\x12\xe7\x52\x6f\xdf\x4b\x8a\xa2\xda\xaa\x2c\xa2\xcf\xb9\xc9\x21\x11\xb6\x1c\xbc\x3d\x1e\xef\x6c\x8c\x67\x37\xf0\x55\x88\xf0\x44\x67\xdb\x83\x30\x84\x3a\xcc\x98\xdc\x1a\x16\xfb\xd9\xd9\xd9\x4b\xd8\xbf\xde\x26\xc3\xf7\x1d\xee\x72\xb5\x09\x10\xc3\x6b\x24\x0f\x80\x2a\x61\xca\x16\x37\x2f\x6f\xfa\xad\xb2\xbe\x4e\x85\x3c\x5e\xd6\x9a\x3d\x1f\x6c\x7b\x2d\xe5\x13\xc5\x3a\x3f\xdd\x0a\x67\x6f\x83\xd0\x9d\x5c\x51\x17\x60\x47\xd9\x20\x07\x16\xbf\x22\xba\xe4\x5f\xe0\x1b\x3e\x0c\x2c\x51\xc1\x6e\x46\xad\x06\x37\xf7\x9f\x9b\x4d\x83\x86\x77\x04\xfe\xda\x9f\x22\x78\x31\xde\xa2\x63\x39\x9c\xa2\x77\x1a\x4e\x78\xb4\xdf\x8a\xc0\xde\x6a\x94\x1e\xab\x37\x0b\x1f\xdb\x47\xda\xf6\x64\x2a\xae\xaa\x63\x17\x0f\xa9\xb3\xd1\xe1\x62\x8f\x7c\x4e\x7c\xf0\xea\x8b\x8a\x8e\x51\x8c\xba\xce\xf9\xad\xe8\x4d\xf0\x32\x48\x48\x47\xff\xb6\x1b\xbd\x07\xe8\x72\x7c\xc4\xc2\x5d\xa5\x77\xb2\x64\x51\x9b\x49\x99\xfa\x7c\x0b\xc3\x23\xd4\xf3\xf9\x73\x9f\x78\x0b\x9b\x2c\x23\xc7\x78\x55\xee\x5f\x6d\xcc\x40\x15\x44\xd6\xb6\x4b\x27\x70\x15\x8f\xdc\x6c\x12\xf4\xd8\x9b\xeb\x04\x4e\x0e\x85\xac\x7a\x68\xd4\x29\x17\xb1\x34\x51\x14\xb9\xa6\x72\xd1\x23\x1b\x2c\x6c\x0f\x96\x9f\x20\x35\x31\xe7\x1b\xbb\x40\x05\xb1\x03\xa7\xdc\x3a\x58\xb5\xb8\x24\xa7\xe0\x1b\x6e\xb9\xf4\x96\xdf\xa6\x4d\x64\xd8\xc6\x77\x7f\x53\xaa\x58\xd5\xda\x04\x6d\x72\x6f\x55\x45\x4c\x88\xb6\xd7\xd4\xab\x0d\x21\x98\xa8\x97\x09\xf1\x18\xa6\xb3\x24\x60\xb9\xeb\xce\xff\x3f\xdd\xc6\x05\xda\x77\xef\x3d\x1b\xa3\x0f\xec\xf0\x7b\xe2\xf5\x31\x3f\x4e\xe6\x35\xaf\x5e\x95\x61\xd8\x77\xe9\x9c"}, -{{0x54,0x3d,0x5f,0x1d,0x4a,0x6e,0x10,0x29,0xb1,0x91,0x41,0x38,0xfb,0x1f,0x46,0x59,0xe6,0x94,0x56,0x55,0x72,0x07,0x40,0x66,0x88,0xa2,0x03,0x5c,0xbb,0xb2,0xa6,0x8a,},{0x3c,0x83,0x79,0x0c,0x3b,0x45,0x53,0xde,0xae,0x4f,0x84,0x3b,0x50,0x1d,0x26,0xf6,0x16,0x70,0x93,0xee,0x54,0xe2,0x79,0x75,0x9f,0xfa,0xd8,0xcb,0xc0,0x61,0xe7,0x20,},{0x55,0x20,0x11,0x94,0x02,0x6f,0xd6,0x44,0x8b,0x1d,0x52,0xf8,0x3e,0xd2,0x0a,0xc2,0x84,0xe7,0xe7,0x7f,0xa9,0x2d,0x52,0x95,0xd3,0x38,0x25,0xce,0xa3,0xac,0xa4,0x7e,0xc7,0xaa,0xca,0x2f,0xc0,0x86,0x79,0xf9,0xac,0xfc,0xed,0xb3,0x76,0xfd,0xa4,0x61,0x9b,0xe3,0x27,0x2c,0x74,0x45,0xe8,0x70,0x5c,0x30,0x61,0x41,0xcd,0xe1,0x6c,0x0f,},"\xfe\x00\x57\xf0\x62\xfc\x87\x13\x24\xb8\xbd\x5d\x42\x7e\x9a\x52\x76\x23\x1b\xd3\x09\x90\x7e\x58\x81\xd7\xae\x53\xb1\xf3\x70\xc2\xa4\x33\x02\xa1\x65\x10\xb4\x60\x64\xa3\x07\x36\xba\xc9\x09\x51\xf1\xd9\x88\x1a\xf6\x2c\x70\x14\x83\xeb\xb9\x27\x2a\xd7\x72\x12\xee\xb5\xfc\xbc\x7e\xc2\x28\xd9\x69\xf8\x90\x27\x32\x11\x3b\x98\xe3\xbf\x82\xdf\xea\xdd\x0d\xe5\xe7\x65\xd2\x87\x0b\x12\xd1\xf9\xb5\xa2\x82\x97\xc9\xfd\xd1\x49\x5c\xf8\x77\x89\x19\x6a\x7d\x64\x4e\xec\xd9\x35\x87\xdb\xf2\x0c\x28\xeb\x09\xda\x28\x66\x03\xc5\x82\xd2\x12\x9a\x65\x7d\xb2\xd1\x7a\xdd\x35\x58\xdd\xe0\x29\xce\x27\xb8\x83\x52\xde\x3f\x95\xab\xa1\x7e\x1e\xd1\x91\x37\x22\xdb\x08\xa7\x95\xdf\xbb\x70\xd6\x2a\x88\x02\x72\x4c\xb0\xf5\x35\xf8\x48\xd0\x52\xaa\x3d\xde\x91\x66\x96\x3a\x80\x41\xfc\xcc\x4e\x60\xbf\xb1\x1d\xe2\xbf\x28\x6e\xb6\x02\xa4\xaf\x84\x2f\x4d\x1a\x34\x0d\x78\xbb\xbc\xb2\x85\x7f\x0c\x30\x8f\x44\xbb\x10\x1e\x7b\xc8\xb7\x41\xd5\x06\x09\x4e\x27\xbb\xaf\xa7\x24\x28\xef\x66\x6e\xa6\xea\x16\xf7\x99\xb4\xee\x58\x27\x8f\x04\x59\x74\xd8\x6d\xc7\x2c\xf5\x26\x0d\x96\xf9\xc0\x9b\x2f\x11\x81\xe1\xa4\x50\x0f\x92\x83\xdc\x67\x7f\x38\x4f\xf6\x4e\x51\xe8\x9f\x76\x58\x20\x20\x32\x6c\x38\x8c\x08\xa0\xfd\x00\xde\x73\xd5\xd4\x9c\x06\xc0\xc6\x84\x19\x1a\x26\x4f\xff\x72\x6d\x87\x2d\xc3\xae\x49\x6c\x7b\x47\x8c\xfc\x61\xb5\x17\x14\x19\x2f\x76\x46\x3e\x3d\x0a\xab\x41\x0e\xa1\x15\xe8\xbe\xfe\xdb\x99\x7d\xdd\x16\x99\x21\xb3\x20\x7e\xa6\x6c\x1f\x59\x45\x0b\x76\x23\x12\x9f\xd1\xe2\xdd\x3d\xa8\xf5\x20\x63\x91\x17\x13\x38\xea\x0e\xc8\xef\x3c\x59\xed\x8a\xfc\x69\xf3\x86\x5c\x29\xa0\x72\x3a\x9b\xbe\x95\xa7\x42\x68\x1e\xf9\x85\x7e\x81\xab\xc8\x0c\x92\xd2\xa7\x18\xa8\x04\xf5\x30\x4f\xef\x3c\x63\xd7\x99\xa6\xef\x87\x82\xa7\xdb\x46\x68\x1d\x0d\xe3\x50\x64\x46\x98\x22\x67\xb2\x15\x2b\x0c\x32\x18\x69\xe2\x3c\xce\x8c\x4e\xbe\xbe\xaf\x4a\xa1\xeb\xe9\x28\x3b\x69\x26\x05\x26\x0f\xf6\x21\xb0\x3c\x10\x82\x2a\xa5\xf6\xd0\x3b\xde\xf4\x9c\x46\x2a\x68\xd4\x71\xe8\x49\xe1\x64\xe3\x87\x4f\x6e\x9f\x6c\xb3\xb5\xf2\x93\xeb\x38\xae\x52\x45\xa1\x59\xec\x42\x61\xa9\xbf\x6b\x5f\x7b\x76\x15\xfd\x33\x9e\xa1\x27\x33\x11\x3c\xe7\x67\xf8\x83\xae\x66\x75\x41\x7f\xc7\x70\xb5\x0b\xd6\x0e\x6f\x20\xad\xdb\x29\xc1\xf7\x50\x62\x33\xe3\x2a\x7e\xbf\xad\xab\xff\x98\xcf\xd0\x9b\x2b\x3b\xbd\x3e\xae\x00\x69\x54\x8b\x9d\x89\x87\xaf\x46\xca\x98\xeb\x09\x5b\xac\xbd\x87\x47\x24\xba\x10\xf3\x63\x3a\xa0\x8a\xb6\xec\x26\x49\x4d\xdf\x68\x54\x30\x9b\x55\xd4\x3b\xdb\xd2\x9a\x75\x56\xf1\x2d\xfb\x23\xcd\x0d\xb4\xeb\x39\x37\xa6\x5c\x4a\xed\x96\xe8\x7b\x34\x65\x55\xf9\xfc\x68\x97\x94\x3a\x0f\xae\xe6\x5c\xcf\x39\x4b\xd8\x9b\x38\x1b\xee\xce\x25\xd1\xba\x68\xf8\xfe\x32\xc2\x3b\x33\x54\xf5\xbe\x7e\x3e\xa3\xc0\xde\xc0\xf7\xec\x2d\xd8\x3f\x92\xb7\x30\x58\x89\x2b\x63\x8d\x4c\x3b\x72\x42\xbb\x8f\x55\xbf\x08\x7b\xa4\x5a\x19\x0a\x69\x8b\xae\x67\x5e\x0c\xd5\xe8\x44\x6f\x2b\x21\xae\xb6\x3d\x2c\xae\xa0\xf6\x79\xa8\x37\xe7\x93\x57\x30\x8d\x9f\x0b\x8a\xf3\x1f\x9d\x08\x00\x8c\x39\xee\x8d\x34\x75\x28\x71\x3c\x88\x50\x01\x7a\x7f\x4a\xb9\x8a\x35\xc7\x53\x19\x40\xfa\x76\x21\xe6\x72\x03\xee\x78\x2d\xb3\xa2\xfa\xa3\x0f\x3a\xa8\x50\xa5\xff\x7a\xae\xd8\x4c\x00\xff\xd2\x14\xf2\xc9\x26\x17\x35\xfa\xc3\x25\x9d\x50\xe0\x3c\x26\x52\x50\x52\x79\xd9\x12\x51\x92\x7d\xe5\xe5\x6a\x8b\x90\x64\xcc\xf9\xf4\x5d\xcb\xef\x46\xe1\x18\x9c\xed\x2b\xc7\x9e\x6f\xf6\x52\xe6\x90\x97\xac\xe5\x56\x8b\xb2\xd5\xbe\xf3\xce\x21\xa2\x5b\x3f\x79\xee\x27\x5e\xa3\x4e\x62\x13\x80\x56\x6d\x70\x4c\xd9\x3f\x24\xdd\x90\x20\x93\x2c\xc0\x52\x18\xc2\x3b\x5b\x22\xff\xfa\x7e\x99\xee\x7f\xe4\x57\x87\x6a\x5e\x33\x64\xc9\xa8\xe8\xb0\x49\xcf\xa2\x09\x69\x77\x4f\x50\x6d\x19\x96\xcb\xe6\xef\x5a\x37\x79\x3e\xcd\xb0\x4c\xfd\xea\xed\x7d\xcf\x79\xab\x27\x84\x74\xdd\x77\x08\x22\xd4\xb3\x6f\xc6\x8e\x4b\x2d\xd6\x61\xef\x99\xde\x01\xde\x6e\xec\x57\xfa\x57\x3e\xde\x10\xfb\xbd\x5a\xc6\xfd\x6c\xd8\xbb\x4e\xee\x50\x9d\xbb\x46\x10\x37\x44\x01"}, -{{0xf8,0xd2,0x57,0xfd,0xfc,0xf9,0x97,0x96,0xf8,0xce,0x4d,0x8a,0xad,0xe3,0xb2,0x25,0xa5,0x3c,0x26,0xfe,0xec,0xef,0x39,0x5b,0x95,0x61,0xd9,0xd5,0x87,0xf5,0xa3,0x3c,},{0xf6,0x6b,0xd4,0x87,0x7d,0xf7,0x8a,0xec,0x04,0xca,0x7e,0x77,0x73,0x28,0x99,0xde,0x06,0x77,0x7e,0x69,0x86,0x29,0xf2,0x99,0x69,0xf8,0xfa,0x9c,0x2f,0x47,0xab,0x9e,},{0x92,0x35,0xd4,0x48,0x07,0x86,0x98,0x16,0xe2,0x8e,0x42,0xc8,0x1c,0x80,0x1f,0xfb,0x12,0x1d,0xe8,0x26,0xc0,0xd3,0x3d,0xcc,0x4a,0x4e,0x1c,0x93,0x2d,0x52,0x28,0xb6,0x39,0xbb,0x29,0x4e,0x16,0x09,0x0a,0x93,0xd1,0xf6,0x90,0x4a,0x70,0x04,0x22,0x2f,0xda,0x0a,0x55,0x44,0x6d,0x99,0x01,0xc7,0x23,0x40,0x00,0x7b,0xb4,0x5a,0xe1,0x03,},"\x23\x3e\x1e\xf9\x01\xab\xcb\x69\xfb\x48\x60\x85\xd8\xdb\x02\x33\xff\x78\xf3\x7b\x13\x6f\x0a\xfe\x24\xf7\xda\xc1\x94\x4c\x36\x78\xe7\x4f\xed\x58\xa1\xad\x54\x83\x5b\x7d\xbc\xb4\x6f\xff\x6c\x35\x24\x31\x22\x73\x30\x0b\x6d\x87\x8a\x93\xe0\x60\x8a\x4a\xba\xca\x4e\x31\x94\x72\x2b\xb9\xe2\x3d\x17\x19\x4d\x86\x67\xb8\x4f\x2d\xb0\x38\xc2\x4e\xfb\x8f\x53\x40\x9c\xf5\x59\x4f\xdd\xb8\xbc\xd6\x1f\x74\xcf\x07\x26\xb5\x1c\x65\x1c\xe0\x1e\xb6\x6a\x59\xb4\x55\xf7\xd8\xa7\xd6\x0d\x39\x27\xe0\xc6\xc5\x4b\x13\x8e\x01\x92\x53\x71\xd2\xd9\xd9\x62\xaa\x98\x2f\x5e\x60\x85\x28\x0c\xc0\x5f\x35\x69\x93\x91\x1f\xd2\x03\x9d\xfc\x34\x21\x17\x97\x02\x91\x38\x1d\x82\x02\x7d\xb3\x6c\x79\x91\x00\x05\x7d\x93\x52\xb2\xcd\x87\x9d\x9c\x82\xaf\x73\x4b\x7f\xa2\x97\xd2\x11\x49\xc9\x78\xaa\x5e\x12\x5b\x20\x37\x2a\x9b\x2e\x0e\xd3\x57\x33\x7e\xfa\xea\x13\x91\xf3\xb9\xef\x11\xe3\xe5\x13\x5b\xb7\x0b\xdb\xe3\x2a\x9b\xdb\x7c\x3c\x42\xd5\xd5\x7c\xc8\xda\xb6\x81\x16\x28\xa0\x10\x89\x49\x5c\xb8\xa4\xa7\x6a\x48\x29\x6c\xd8\xdf\xaf\xc0\x05\xad\x49\xd7\x0b\xb1\x9f\xac\xa2\x08\x4a\x1b\x6f\x5e\x48\xd2\x3c\x03\xfb\xcf\x6f\x10\x6d\xb7\x70\xf0\x7c\x33\xe8\xe7\xf4\x75\x7d\xa9\x04\xa4\x4d\xd0\xe7\x38\xf3\xd5\x73\x3a\x32\x93\x75\xce\xd7\x4f\x3c\x42\xbf\xcd\xbb\x91\x01\x00\x45\x5d\x6a\xa7\xd2\xe3\xe3\xaa\xa5\x8a\x82\x96\x30\xd3\x76\xb0\xb4\x66\xdc\x85\xaa\xc4\x8f\xe2\x69\x94\x6a\x7b\xc7\x2d\x91\xeb\x37\xde\xd2\xf4\xa7\x7c\x68\x4b\xe0\x10\x93\xfd\x12\xde\x9d\x9d\x83\x19\x9c\xcc\x50\x95\x9a\x48\xd6\xe9\xa4\x14\x27\x56\x60\x92\xf0\x4a\x0f\x95\xca\x52\x37\x2e\x07\x62\xb9\x66\xce\x62\x32\x05\x5a\x4f\xd7\x57\xc6\x1b\x8b\xad\x83\xba\xef\x91\xa3\xc2\x77\x2f\xb3\x2e\xad\x8f\x59\x1a\xc1\xe0\x2b\xbf\x90\xa7\xf6\xc3\x90\x79\xb8\x6f\xb8\x14\xcc\x24\x2e\x98\x0f\x0b\x8b\x1a\x2c\xec\xb8\xe6\xd4\xe8\xa5\x21\x1b\xf8\xba\xbf\x38\xe8\x29\xab\x98\x83\x60\x8b\xd6\xd5\x9e\xa5\xe8\x36\xa9\xb4\xa4\xfb\xed\xed\x1b\xea\x2f\xfe\x97\x7e\x8c\xf3\x61\x5c\xa4\xa5\x0f\xea\x1f\x05\xf1\xfe\x53\xc8\xea\xc5\x00\x32\x3e\x1f\x52\xa8\x06\x83\x15\x39\x95\x79\x88\xd7\x9a\xcc\x7b\x54\xf7\xd0\x2b\x48\x0c\x46\x9f\xd6\x95\x40\xfe\xa4\xbd\xd6\x8c\xbd\xc6\x8c\xf9\xc7\x87\x2f\xd7\x92\x59\x1b\x01\xe9\xd9\x90\x2d\x8a\x61\x4f\x4c\x21\x82\x3f\x23\x50\x8f\xfd\x49\xff\x21\x8b\xea\x92\x2e\xc1\x41\xef\xf6\x0d\xa1\x77\xcc\xad\x7d\x7b\x9d\x44\x4f\x3b\x03\x45\x81\x15\xf1\x16\xcc\x6e\x37\x62\x5c\x39\xcb\xad\xf0\x93\x62\xf3\x1d\x33\xf4\xc1\x3c\x33\xb6\x29\x20\x07\xf2\xca\xfd\x19\x4f\x62\xc6\x43\xe7\xa2\x55\x71\x56\x4f\xeb\xad\x7d\x33\xe3\x64\xb6\x33\xd0\x08\xb0\x90\xd7\xa0\x91\x35\x8b\xc6\x9c\x56\x7b\x95\x22\xb5\xc1\xcd\x01\x21\x8d\x38\x52\x9a\xeb\xb0\x3d\x9c\x2a\x5e\xb2\x28\x5a\x71\x76\xf9\x8c\x28\x03\x6f\x21\xe1\x9e\x92\xb4\x06\xe9\x48\x95\xfa\x28\x1b\x35\x22\x8f\xbf\x76\xe7\x3e\x17\x58\xaf\x1b\x43\x4a\x4d\xf9\x8e\x8c\xc5\x56\xb9\xd8\x3f\x6b\x0b\x7f\xf5\x2c\x68\x0f\x65\xef\xe4\xe0\x0c\x59\xb4\x6c\xe5\x93\xbf\x98\x89\x98\x05\xd0\x2b\x91\x65\xb7\x42\x98\x49\xe7\x39\x53\x77\x0a\xe3\x93\xe4\xf1\xf9\x7c\xb9\x0c\xd6\x15\x9c\xc9\x39\x52\xae\x8a\x4d\x3d\x56\xa9\xa9\x5d\xf7\xcf\xab\xac\xd4\xd0\x30\xd7\x36\xea\x45\x4d\xfa\x4b\x4a\xed\x1b\xcd\x88\x5d\x2f\xbe\xa5\xff\xa2\xcf\x29\x27\xc1\x37\xc8\x6b\xe4\xfe\x01\x64\x12\x62\x8f\xe7\xa0\xa0\xf0\x2b\x6b\x6a\x9a\x21\x68\x93\x2b\x94\x3f\xf8\xb2\x8d\xd5\x87\xe7\x72\x87\x79\x0a\xaa\xa6\x9a\x98\x50\x6c\x76\x4e\x6f\x5b\xa6\x33\x8c\x09\xf3\x82\xe1\xb9\x87\xd9\x9f\x14\xa3\xe1\x95\x8c\xb6\x2a\xe6\x70\x5a\x57\x7f\x9f\xfc\x67\x30\x64\x01\x12\x87\x41\xa8\xd0\xaf\x03\xc0\xaa\xaf\x6a\xf0\x6b\xd8\x8e\xe4\xb0\xaf\x67\x03\xe0\xea\x60\xb0\x40\x9a\xce\x24\x57\x2f\xb3\x86\xe0\x7e\x9c\x22\xc9\x68\x6b\xdc\x66\xd4\xfc\xf3\xc7\x46\x1d\x38\x33\xa4\xc3\x01\x32\x43\x60\x7d\x4d\x15\x82\x17\x18\x73\x26\xdf\x51\x72\x5a\x6b\xc5\x11\x6e\x99\x0b\xef\x8a\x5a\x95\x79\x60\x02\x07\x20\x6b\xfc\x3a\x6d\xcf\x07\x46\xef\x75\x6f\xd9\x39\xe1\x87\xf6\x68\x75\x07\x16\xc0"}, -{{0x8d,0xa9,0xf5,0x4d,0xa0,0xb6,0xa5,0xa3,0x89,0x85,0xb8,0x8b,0x71,0x33,0x9d,0xc7,0x38,0x4c,0xfd,0x5a,0x60,0xbe,0xe1,0x59,0xc3,0x94,0xc2,0x23,0x63,0xbc,0x7e,0xdd,},{0x1a,0xc1,0xa8,0xed,0xeb,0x21,0x7a,0xe9,0xb3,0xa3,0xde,0x53,0x0d,0x24,0xd8,0x3e,0x11,0xfb,0x65,0x38,0xcc,0x70,0x9b,0x52,0x99,0x4f,0xa9,0xc3,0xf1,0xfa,0xdd,0xc8,},{0xf6,0xdc,0xc2,0xd2,0x7b,0xaf,0x16,0xc4,0xf4,0x81,0x7f,0x87,0x49,0x91,0x57,0xd3,0xac,0x1f,0x84,0xed,0x39,0x8a,0x5e,0x8b,0x0d,0x50,0xf4,0x2e,0xdd,0x73,0x85,0xcf,0x06,0x33,0x7a,0x02,0x36,0x10,0x99,0x70,0xb7,0x9c,0xa0,0x9d,0x7c,0x98,0x31,0xc8,0x76,0xa8,0x02,0x79,0x94,0x21,0xc2,0xab,0xd0,0x75,0x87,0xf5,0xeb,0x66,0x16,0x0f,},"\xbd\x53\xba\xba\x66\x57\xd8\xdb\x8b\xec\xae\x6e\xab\xff\xa5\x2b\x01\x5a\x5a\x05\xfd\xd2\xe0\x70\x64\x7d\xe9\x6f\x9c\xa4\xdd\x21\x9f\xe0\xda\x60\x8f\xa0\x44\x7f\x46\xd1\x7c\x9a\x35\x82\x44\xcd\x54\x08\x59\x65\x82\xcc\xd3\xcd\xd0\x15\x1d\x6f\x09\x23\xe6\x3d\x16\x68\x37\x84\x5f\x27\x3f\xca\x7a\xf6\xc8\x9d\x8d\x52\x46\x17\x5c\x21\x67\xfb\xb9\xc2\xeb\xf6\xa7\x59\x54\x91\xf9\x7a\x97\x13\xb0\x2b\xdf\x41\x3e\x20\x9a\xb2\x2d\xb7\xdd\x2b\x37\xfc\x49\x43\x69\x18\xcc\xeb\xe5\x74\x6b\xc6\x4d\xdd\x6d\xce\x19\xec\x45\x58\xc4\x0e\x08\x96\xe2\x19\x09\x28\x0c\xba\x06\xd1\x6b\x72\xf3\x1d\x98\x76\x85\xd0\x71\xdb\x81\x55\xe9\x9e\xbc\xc6\xc8\x21\xd9\x26\x83\xfd\xce\xe0\x86\x68\xa5\xed\x58\xf8\x39\xd9\xed\xaf\xb9\xf1\x45\x9d\x48\xde\x8e\x1b\xb6\xf7\xce\x84\xda\x0b\xe4\x11\xc8\xf7\xbe\x1b\x9a\x24\xbc\x5d\x0f\xe3\xa9\x6b\x02\x35\x07\x50\xa5\xcb\x25\x0b\x49\x55\x5a\x48\x76\x72\xbd\xff\x3c\x3f\x78\x4e\x3f\xb6\x3c\x1c\x97\xba\x6a\xe4\x3a\x10\xe1\x96\xf1\x88\xdc\xc6\x35\xe2\x14\xe2\x9d\xf5\x09\xe5\x60\x8a\x53\x67\xaa\x28\x00\xc1\xa9\x6a\xd9\x36\xa9\xe2\xa5\x79\xb8\x59\x2e\xc1\x3a\x35\x93\x36\xa6\x27\x88\xc3\xec\x55\xc0\xff\xd6\xa7\xd4\x9e\xcb\x7c\x68\x2e\xfa\x30\x81\x99\xf7\x08\xd7\x9d\x0e\x88\x56\x36\x6d\x26\x9f\xab\x24\xeb\x1a\x07\x5c\x96\xc8\x81\xca\xb8\x97\x08\xce\xd2\x79\x23\x0d\x3f\x1f\x3e\xe1\x73\x67\x22\x83\xeb\x8d\x8a\x82\x40\x38\xf6\x48\xac\x43\x72\x75\xd7\x5a\x0e\x15\xf7\x1c\xe5\x6a\x8a\xeb\x77\x1f\x07\xa7\xf3\x2a\xfc\x9d\x61\x2a\x13\xbd\x83\xb7\xf9\x39\x90\xd3\x8f\xc3\xf4\xf4\xab\x8a\xa9\x43\x0c\x65\x73\x6e\xb6\x4b\x16\x80\x6e\x99\x5c\x1c\xe9\xdc\xf4\xc5\x54\x4e\x7b\x3d\x01\x54\x1c\x57\x21\xbb\x4b\xe4\xcf\x0a\xe3\x82\xa0\xc1\xb1\x69\xd8\xe4\x18\xde\xfd\x55\x94\x42\xac\xea\x14\xb0\x0d\x70\x5b\xcf\xa7\x8b\xe0\x75\x6a\x8f\x37\x7c\xbf\x18\x3b\xf2\x59\x06\x87\x41\x15\xd8\xce\x4c\x3b\xa8\x74\x10\x29\x38\xa4\xea\x16\x03\x6d\x91\xa4\x2c\x5f\x8f\x18\x86\x55\xca\xcb\x00\xc8\x8e\x3a\x68\x50\x88\x16\xe5\xe1\xc3\x1d\x27\x18\x0b\xbb\xa9\x51\x8a\x96\x30\x72\x6d\x7d\x04\x7d\xd8\xd2\xc0\x40\x12\x19\xe1\x4e\x6b\xad\xfc\x9b\x95\xb7\x7a\x6a\xce\x9b\xea\x71\xd1\xb4\x7c\x21\x89\x03\xa1\x15\xad\x02\x9e\x7f\x20\x39\xea\x23\xcf\xd1\xfa\x6a\x44\xd0\x89\xfc\xac\xb6\x78\x15\x3d\x67\x4c\x0e\x08\x17\x64\x99\x55\x95\xcb\x68\x94\x89\x5f\x08\xe2\x5b\x98\x4e\x3a\x69\x4c\x92\xfc\x7c\xbe\x0f\xfc\x46\x97\x23\x0b\xcb\x0c\xa4\x08\xc2\xd7\x08\x5c\x11\xba\xde\xb3\xe6\xc0\xe7\x5e\x6c\x49\x8d\xb1\xbe\xc1\xed\x2a\x3e\x24\x45\xc3\x2b\x19\x13\xa8\x95\x00\xf6\x9e\x7f\x23\xf4\x1d\x62\xe5\xc1\x89\xf3\x9a\x05\x6c\xb9\xfc\x68\xa4\x52\x02\x3a\x33\x3f\x75\x22\x0c\xb9\xb9\x44\x84\xac\xac\x6b\xbc\x67\x1f\x59\xff\xa0\x72\xb7\x1a\x18\x96\xa1\xb3\x06\xe9\xdc\x55\x8d\xa0\xec\x20\xf3\x73\xe4\xc3\x55\xe0\xc5\xec\xcb\xbf\x13\x50\xc8\xc0\x79\x14\x89\x2c\x45\x4d\xef\xce\xfb\x71\x7b\xe3\x4d\x08\x7a\xeb\x24\x4a\x86\xff\x49\xa6\xc4\x70\xaf\xb3\x6b\x40\xfe\x8b\x71\xc5\x05\xa4\xff\x7a\xf2\x98\x4c\x65\x28\x49\x38\xec\x0e\x40\x52\x31\x52\x1f\x48\x10\x14\x7d\xc4\xe3\x73\xfd\xab\x66\x47\xb8\x6f\x79\x82\x75\x02\xfd\x08\x7e\x27\xf3\x10\xd6\xb3\x12\x36\x31\x13\x84\x21\x55\xc5\x7a\x32\xba\x03\xb6\xcf\xf9\x65\x53\x0b\xd7\x95\xfc\x29\x2e\x24\x1c\x9b\x6c\xa0\x85\x14\x00\x32\xef\xe7\x46\xf3\x7d\x57\xe9\x58\x42\x11\x84\xb8\xa4\xc1\xa6\xa1\xe3\x7d\x45\xe0\x77\x31\x98\x33\x06\x8d\xdc\xb8\x9d\x38\xc7\x5b\xeb\xa1\xa6\xe8\xe4\x05\x28\x88\xec\x18\x16\x2d\xd6\xff\x0c\x59\xa2\xfd\x0b\x47\xf3\x11\x91\x95\x68\x0f\xfc\xcd\xdf\x5f\x76\xb3\x5f\x02\x2a\xa6\x6b\xd1\xac\x56\xf1\xae\x33\x3e\x9b\x9d\x04\x6f\x0b\x79\xa8\x92\xec\xc4\xf8\xd2\xf3\x1e\x17\x53\x6c\x4c\x62\xa9\xb5\xe0\x63\xdd\x2d\xce\x37\xd3\xd0\xac\xb4\x20\x23\xeb\x2f\x2e\xa3\x29\xd3\x87\x6c\x23\x86\xa0\x22\x76\xff\xf9\xd3\x08\xab\xba\xdb\x72\x74\x30\x1a\x69\x62\xec\xae\xeb\x20\xbe\xf5\xe3\x6a\xff\xfc\x38\x7c\xa8\xe1\x85\xe5\x62\xb8\x65\xb4\x92\x04\xc1\x7b\x2a\x70\x11\x9b\x06\x1c\x29\xc0\xfe\x90\x04"}, -{{0x7a,0x2e,0xfd,0x39,0x01,0x24,0xd3,0xfb,0xef,0xc5,0x4a,0x57,0x71,0x06,0xe7,0x4b,0x2d,0x1f,0x5d,0xd5,0x04,0xc0,0x50,0xd0,0xd3,0x59,0xe5,0x3c,0x0f,0x5c,0x87,0x2b,},{0xef,0xc3,0x03,0xd9,0x22,0xe8,0x8f,0x70,0xf3,0x8c,0x1a,0x2b,0x92,0x06,0x84,0xef,0x66,0x30,0x34,0xa1,0xb2,0x3a,0xb9,0xd6,0x9b,0x6c,0xe8,0xed,0x87,0x06,0xf7,0xf7,},{0xc2,0x8b,0x34,0x80,0x48,0x05,0xd8,0x1f,0x7a,0xef,0x78,0x49,0x70,0x67,0x0e,0xda,0xa4,0x17,0x23,0x2b,0xcc,0x67,0xda,0x9b,0x51,0xe9,0xc3,0xd7,0x4f,0xc4,0x99,0x1b,0xde,0x97,0xa0,0x6b,0xd5,0x3f,0xa0,0x0b,0xb4,0x40,0xfd,0x56,0x16,0xcd,0x0d,0xe6,0xe9,0xb0,0xd1,0x9f,0x2f,0x68,0xbf,0xaf,0x9d,0x4c,0x51,0x72,0xc4,0xe5,0x20,0x0a,},"\x23\x8f\xbe\x9f\xb3\x5c\x72\x5c\x6c\x1f\x32\x92\x48\x09\x4b\xc7\xda\x1b\x27\x3e\xdc\x76\x99\xa7\xe3\x45\x2b\x57\x88\xd8\x78\x67\xde\xfc\x40\xa0\x05\x90\xe8\x75\x80\xd2\xc0\x27\x5d\xf5\xab\xcc\xe0\xe1\xaa\xa1\x82\x90\xbf\x93\xb4\x4e\x5a\xd9\xd7\x60\xdd\x21\xf1\xaa\xca\x38\x31\x78\xf9\xff\xf9\x13\x0f\x73\x18\x7b\xa9\xd3\x1e\xa3\x60\x4a\x1c\xdf\x39\x11\xe1\x43\x77\xa0\xce\x8b\x44\x18\x9a\xda\xa7\xaa\xc2\x3b\x6c\xdc\x7a\x42\x5b\x7e\xa7\x45\x50\x84\x55\x70\x4f\x9a\xd7\xa8\x95\x27\x18\xc3\x98\xb4\x21\xb6\xe0\x9c\xb7\x8c\xb5\x2a\x18\x14\xee\x2e\x96\x39\xec\x68\xd3\x61\xf0\xa3\x20\x41\xd6\xe7\x42\x5b\x4b\xb3\x3c\x70\x19\x6e\x24\x00\xeb\x81\x2d\xb8\x50\x6c\x9f\x32\x45\xbd\x98\x8f\xbc\x89\x1b\xe2\x0c\xb0\x69\x15\x59\xfc\x91\x6b\x57\xff\x96\xc9\xb1\x44\x89\xe0\x99\x3c\xb7\x39\xa3\x9d\xa2\x46\xd0\x1a\x6e\xbd\x07\x58\x35\x81\xf2\x50\xbf\x48\x0b\xc4\x4b\x2c\x33\x91\x54\x2d\x59\x5e\x4d\x39\x94\x90\x19\x5f\x84\x45\xdf\x63\x8f\x34\x69\x8f\x1a\x96\xed\x27\xb3\x53\x3e\x3e\xb6\x7e\x8f\x86\x58\x65\xfa\x95\x55\xed\x34\xdf\x11\x15\x76\x41\xa0\x0e\x6d\x60\xcf\x62\x3f\xec\x1a\x92\xb8\x7a\x15\xd7\x65\x18\x5f\xd9\x05\x5a\xcb\x38\xd7\x5c\x99\xdb\x4f\xce\x7b\x0e\x39\xfd\xc3\xf8\x51\xda\xf6\x5c\x7a\x33\xf4\x64\x81\x69\x31\x83\x9f\xef\xe8\xe5\x8d\x9a\xb7\x42\xb8\x61\x87\x3f\xd2\x29\x18\x9e\x59\xcd\x4c\xe8\x23\x9f\xc9\x54\x3f\x53\x9d\x2d\x29\x61\x14\x26\x6e\xa8\xc6\xfd\x15\x2a\xc6\xb3\x42\xe5\xd1\xa5\x57\xab\x35\xca\xc5\x1e\x2d\x12\x12\xee\x31\x7c\x4d\x26\x71\x68\x29\xe2\x57\x46\xdf\x17\xd2\xa6\x22\xc2\x43\xf3\xec\xbb\x65\xf5\x7a\xb0\xf4\x27\x0e\x3d\x06\x68\xa9\x62\x50\x22\x45\xb9\x4c\x06\xdf\x0c\x5e\x39\xe3\x53\xaa\x84\x2e\xa0\x80\xcf\x50\x27\x08\xb1\xdd\xa2\xd0\x01\x82\x4d\xe4\x58\xd3\x77\x62\xaf\x2c\xdf\xd5\xa6\xd3\xf3\x5e\x08\xa1\x8e\x14\xaa\x7a\x64\x2c\x51\xe4\x04\x7e\x63\x75\x17\x84\x6d\xf6\x46\xd0\x73\x36\xfb\x17\x24\x34\xe0\x88\x3e\x2b\x77\xd8\xed\x1c\x52\xc9\xcc\x63\x6a\x56\xa1\x9e\x57\xa5\xf1\x61\xb9\x2d\x1d\xcb\xfa\x49\x6f\x34\x4a\xe6\xd4\xdf\xdc\x95\x69\xad\xe4\x57\xa4\x90\x91\x36\x2e\x5a\x0c\xdd\x81\xb3\x75\x32\x43\xfd\xac\x30\xa2\xd2\x7e\xa0\x26\xa5\xe6\x01\x44\x1e\xcd\x55\x37\xa7\x20\x1b\xdc\xb7\xfd\x58\xb2\x40\xd0\x22\x9f\xdd\x9b\xab\xf1\x12\xb5\x69\x48\x12\x25\x0e\x76\x8d\x7c\x0c\xe6\xca\x56\x5a\xd0\x6a\xb8\xf7\x8a\x5c\x99\x50\xee\xf5\x38\x72\x6f\x57\x6c\x4b\xd2\xe0\x75\x5c\x7f\x98\x39\x29\x37\x2a\x5f\xe1\x1c\x73\xf9\xe1\xfa\x45\x3a\xb5\x4b\x58\x17\xaa\xd3\x59\x67\x56\x12\x7d\x84\xe3\x11\x94\x53\xe8\x82\x5b\xb8\x46\x0d\x85\x1f\x1f\x7e\x4a\x28\x38\xa2\xbe\x78\x6b\x23\x35\x04\xa6\x91\xdb\x0f\xa2\x2a\x5f\x41\xfe\x3f\xd3\xc9\xb5\x38\xb0\x4f\x40\x9e\x09\x18\x09\x48\x6b\x28\xad\x0d\xed\xa7\xb3\x8a\x42\xce\xfc\x48\xde\x7d\x86\x79\xc0\x3b\xf8\x77\x23\x85\x11\x82\x0d\x07\x70\xcc\x8d\x7b\x41\x72\x37\x78\x23\xa0\xb9\x91\x49\xab\xb8\x91\x8b\xfb\x66\xd5\xab\xfc\xd1\x00\x60\xb0\x5c\xb4\xf2\x39\xdd\x42\x81\xd9\x34\x83\x50\x4b\x73\x1e\xaf\x5a\xdd\x51\x5f\x1f\x3c\x3b\x52\xb4\xe3\xbd\xaf\x97\x6a\x17\xb3\xc9\xec\x61\xbf\xc8\xe7\x71\x16\x71\x58\x04\x53\x2c\xf2\xdb\xf2\x0b\x7b\xa5\xea\xd8\x5a\xfb\x95\x2b\xee\xc2\xfc\xcf\xf8\x5f\xf5\x07\x2b\xa4\xed\x6b\x54\x38\xab\x15\x20\xc6\xef\x4b\x0b\x26\xf1\x2e\x84\xae\xdd\x65\xce\x5c\x7b\xbe\x6a\xcb\x67\x72\xf5\x93\xa6\xb4\xf8\x1d\xdd\x9d\x50\x27\x46\x50\x50\x47\xc8\x12\xa0\x06\x7a\xfc\xeb\x8d\xc9\xbf\xf3\x0d\x40\x87\xf8\xd5\xa3\x75\xec\xa6\x05\xa0\x62\x27\x84\xd8\xfe\xa2\x78\xcd\x1a\x52\x41\xad\x4b\x3f\x1b\x91\x4f\x74\xf7\x3b\xc3\x6e\xe7\xcc\x82\xd9\x6e\xfd\xa6\x3a\x3b\x67\x99\x73\x0f\x20\x65\x6c\x12\x35\x6c\x79\x06\x9b\x2b\xe6\xf9\xb7\x7b\xe1\x01\x98\x31\x18\x82\x3e\xa6\x6e\x7c\x20\x98\xfb\xc7\x2f\xc9\xc0\x39\xdf\xe3\x0f\x2d\xab\xa1\x3c\x3b\xde\xfb\x8a\x78\x0b\xeb\x5c\xb1\xb6\xc2\x86\xa6\xb3\xef\x48\xfd\x15\xc6\x6c\x04\x5b\xa2\x9f\x09\x70\x41\x3b\x98\x8d\x0e\xa0\x04\xab\x84\xc9\x39\x19\xf0\x4f\x9b\xf8\xca\xf5\x8c\x4e\xb4\x78\xf3\x58\xef\x8b\x68"}, -{{0xef,0x36,0x48,0xcb,0xe7,0x34,0x02,0xab,0x45,0x0c,0xd6,0xec,0x37,0xe5,0x45,0xd0,0xcd,0x2c,0x99,0x9e,0xcc,0x1f,0xa3,0x81,0xa4,0x5c,0x66,0x0e,0x18,0x53,0x30,0x32,},{0x52,0xa1,0xa4,0x52,0x73,0x87,0x26,0x76,0x58,0x2c,0xc7,0x67,0x33,0x99,0x26,0x41,0x4c,0xd5,0xd0,0x3d,0x98,0x0c,0xf6,0x29,0xdd,0xa2,0xd1,0xa2,0x05,0xe9,0x83,0x0a,},{0xf6,0x70,0x79,0x29,0x42,0xec,0x41,0x44,0x28,0x47,0x56,0x38,0x85,0x3c,0x42,0x72,0x8e,0x86,0xba,0x12,0xbb,0xe8,0x59,0x48,0xb3,0x91,0x34,0xcf,0x6e,0x2b,0xd1,0x28,0x13,0xe0,0xd8,0x3e,0x51,0xe6,0x57,0xc9,0x01,0x07,0xad,0x93,0xa4,0x78,0x8a,0xa3,0x83,0x13,0xfa,0x96,0x2f,0x67,0x67,0xa8,0xf7,0x80,0x5b,0xde,0x65,0xca,0x42,0x0d,},"\x6a\x93\x37\x8f\x88\x0c\xf0\xff\xdb\x8e\x07\xd6\x83\xcc\x35\x2e\x2a\x10\x33\xc4\x50\xba\xa0\xe8\xc4\xe1\x62\x05\xfd\x0c\x02\x74\x3b\x0e\xa0\x64\x97\x1d\x91\x1e\x49\x47\x13\xe6\xd9\x4a\x02\x17\x2e\xd0\x14\xd5\x06\x59\x2e\xc6\xc7\x0a\x9c\x97\x85\x52\x46\xbf\x3d\x26\xf3\xcf\x74\xf4\x93\xc1\xb6\x97\xa0\xc4\x14\x16\x0c\x34\x14\x12\x83\x09\x85\x43\x08\x06\xa0\xcb\x3c\x84\x75\xe7\xe5\xa9\x73\x68\x6c\x24\xd5\xef\x1b\xe7\xd0\x06\x50\x96\xfe\xb5\x2e\xab\x26\x0b\x5c\x48\x8a\xf0\x92\x70\xde\x6d\xec\xd3\x3f\xea\x85\x89\xdd\x10\x21\xba\xf4\x1e\x3f\x25\x5f\xb8\xfa\x19\x16\xeb\xd8\x53\x1e\xeb\x2f\x88\x6b\xb3\xb3\xb0\x4f\x9a\xf6\xb2\x76\xc3\x59\x23\xf1\x0d\x3a\x0a\xf1\xe3\xf5\x8b\x0d\x15\xae\xd1\x65\x04\x5f\x20\x6f\x3f\x43\x0a\xbd\xff\x09\x44\x90\x97\xe4\xb2\x6d\x00\xa8\xf9\xf1\xe8\xf7\xa1\x9f\x38\x58\x81\x24\xc3\x28\xec\x43\xa9\xcf\xb4\x3d\x3b\x2c\x6b\xdf\x6a\x3c\x1a\x10\x2e\x0e\x33\x3d\xe1\xac\x21\x4a\x6d\xf7\x6d\xab\x44\xba\x76\xbf\x03\x52\x73\xb7\xff\x62\x38\xec\x82\x48\x3b\x2d\x2d\x9d\x54\x29\x1a\x72\x27\x0f\x88\x93\x3b\x78\x6c\xac\x05\x1d\x99\x0b\x3c\xf7\x40\x84\x5f\xed\x3a\x67\x86\x7d\x7c\x7c\x05\x67\x4e\x7c\xb0\x2c\xa5\xb7\xac\xdf\xba\x38\x52\x80\x3a\x3d\x56\xc4\xd5\xc1\x3b\xb1\xd7\x72\x34\x67\x74\x1e\xac\x1f\x2a\x7a\xcd\x3a\x95\xf3\xa5\x16\x10\xa4\x86\xfc\x53\xa9\x85\x16\x28\xc5\x57\xd3\x6d\x8a\x4c\xd3\x7a\xae\x9c\x41\x74\xdb\xbd\xb6\xbd\x88\x5c\xf4\x0b\x38\x2b\x8d\xed\x24\xa4\x52\x2a\x27\x8f\xef\x76\xc4\x53\x19\x06\x7e\x55\x28\x6e\x7b\x08\xc6\x03\x48\x6e\x38\xa0\xac\xf4\x7e\xde\xf8\x48\xec\xbe\x94\x2e\xce\xad\xb8\x63\x6c\x83\x3f\xeb\x88\x2a\x51\xa4\x59\x5e\x24\xf6\x07\xca\x3c\x9d\xa1\xb2\x40\x4c\xe5\xc7\x47\xe0\x62\x64\x17\x4d\x64\x50\x43\x31\x70\x9b\xef\x30\x05\x5a\x5d\x69\x5e\x09\x53\x7c\x8f\x8c\x1e\x5a\x3a\x5d\xb0\x65\x99\xe3\x19\xdf\xdb\x28\x72\x96\x65\x27\x3b\xf8\x68\x95\x5e\xa5\x64\x27\xf0\x8b\xac\xd7\x77\xf1\x79\xb3\x02\xf3\xf6\x8d\x04\xf3\xf3\x88\x3d\x34\x49\x55\xb6\x55\xdd\xc6\xd5\x28\x2b\x6d\x4d\xf1\xd8\x36\x30\x21\x0e\x69\x91\x78\xe1\x1f\x72\x2e\x9e\x5c\xda\x67\x28\x92\xae\x9b\x23\xe8\x16\x9c\xbb\x54\x80\x93\xb8\x3e\x64\x3e\xb4\x99\xd9\x37\xd2\x8f\x38\x11\x59\x7b\x64\x84\x10\x2f\x0c\x8e\xb8\xc8\x88\x8c\xda\xc2\x29\xae\xbf\x89\x08\x6a\x64\x95\xac\x55\x1f\x3b\xbd\xf2\xd1\xc9\xa9\x3e\xd1\xd3\xa8\x61\xee\xcd\x9e\xb8\x39\x94\x9b\xfb\xe6\xa4\xf6\xe6\x48\x6e\xde\xda\xb5\x22\x9d\x53\x2b\x58\x97\x6d\x67\x51\x2f\x9f\x71\xae\x79\xb4\x14\x5c\xa2\xfa\x49\x7a\x16\x5f\x11\x07\x17\x66\x6c\xa3\x34\x0b\xbd\xa8\xdf\x1f\x82\xb8\xc0\x54\xcf\x76\x54\xc3\x56\x90\x16\x8f\x96\x27\x7d\x41\xc1\xc2\x36\xb6\x81\x98\x17\x3c\x6e\x2b\x0a\x20\x8e\xf8\x3c\x02\xa4\x3e\x47\x3d\x90\x68\x6a\xce\x75\xb5\xbd\x32\x1b\x3f\x54\x28\x13\x27\xa6\x73\xca\xd4\xd4\xad\x30\x40\xd4\x8c\xf4\x93\xea\x23\x1b\x3f\xec\x06\xf3\x99\x32\xd7\xf7\x0a\x38\x42\x8d\xf8\xfe\xe4\x37\x05\x32\xae\x5f\xb1\x12\x05\x9f\x0a\x1d\x4f\xbe\x11\xb5\xa2\x3b\xb8\x76\x35\x42\x9e\xd3\x3a\xd1\xf6\x14\x80\x14\xcb\xc1\x60\xd9\x3c\xa2\x59\x20\x53\xa6\xe9\x53\x78\xd6\xcd\x3f\x50\xdb\x52\xbe\x92\x8e\x40\x92\xfe\x5d\x2b\x70\x95\xa9\x56\x68\x64\xad\xfd\xa5\x9f\xd5\xf2\xfb\x62\x54\xbd\x59\x17\xb7\x0f\xa1\x46\x99\x66\x5a\x37\x29\x7c\x98\x3c\x1b\xb9\xef\xe1\xc6\x7b\x41\x3d\xd1\xa8\x53\x0c\xbf\x22\x72\x97\xa8\xbb\xf9\x3a\x8a\x02\x45\x4e\x8e\x46\x1a\xc2\x12\xb8\x46\xa7\x0d\x5d\x56\xd6\xc3\xa6\xe6\x5a\x03\xbe\x05\x80\x21\x9b\xdd\xec\x88\xd4\x03\x89\x11\xfd\x95\x74\x56\x3f\x33\xe0\xf9\xe6\x04\x46\x88\xd3\xdd\x48\xfa\xc7\x03\x86\x9a\xa0\x9d\x96\xef\xee\x7d\x6c\x68\x07\x1d\x99\x22\xd5\xe8\xed\x8d\xc4\x0f\x1b\x79\x8f\x1c\x58\x0f\x78\x59\xcb\x84\xf1\xe1\x4b\x5e\x74\xdd\xea\x16\xad\x5c\xbe\xea\x4c\x48\xfb\xcf\xfd\x29\x53\x1a\xcc\xc0\x63\x39\x38\xe3\xbc\xb2\x21\x26\x76\xb6\x1e\xf9\x01\xe9\xc8\x31\xa4\x17\x74\xd8\x31\x7e\xf3\x5a\xf7\x69\x90\xbd\x24\x93\x1f\xde\x6d\x40\x7e\x22\xe7\x63\xcf\x6a\x57\x90\xb2\x37\x61\x90\x8e\xee\x60\x96\x37\xa2\xc1\x10\x59"}, -{{0x2c,0x8e,0xe7,0xfa,0x9b,0xa2,0x8c,0xe7,0x04,0x96,0x76,0x08,0x7b,0x11,0x63,0xb2,0x41,0x11,0x8d,0x34,0xcd,0xf5,0x34,0xae,0xbe,0x8b,0xa5,0x92,0x82,0xa6,0x2a,0xc2,},{0x24,0x4c,0x24,0xf5,0xec,0xb2,0xdd,0x1d,0x14,0x63,0x51,0x22,0x21,0x32,0x5d,0x73,0xc8,0x1e,0xe4,0xd8,0xad,0xb8,0xe0,0x1e,0x23,0x34,0x5c,0xaf,0x9c,0xa5,0x35,0x3b,},{0xca,0x0b,0xb6,0xc1,0x23,0x56,0x55,0x5f,0x6e,0x1d,0x8f,0x5c,0x8a,0xa7,0xb5,0xe8,0x0c,0xd2,0x80,0xe8,0xb1,0xb9,0xba,0x2e,0xc9,0x55,0x0f,0x62,0x2f,0x48,0x2c,0x3a,0x9a,0xd3,0xbe,0x03,0xa4,0xc9,0xdf,0xc1,0x0d,0x01,0x12,0xb0,0x18,0x9d,0xe9,0x4b,0xff,0xaf,0xd7,0x03,0x41,0x14,0xe0,0xe0,0xd4,0x2c,0x23,0xf3,0x2d,0xc8,0x18,0x07,},"\x07\x66\x9a\x89\x64\xf0\x63\x80\xd2\xd4\x98\x2c\xb6\x34\x9d\xe5\x50\xb3\x8c\xbc\x35\xdb\x2c\xe5\x72\xde\x88\x7f\x66\x30\x55\x73\x6f\xaa\xc7\xec\x07\xc3\x2d\xf6\x0e\xe2\x59\x84\x22\xbf\x37\xe7\xcf\x31\x9a\xb3\xc9\x05\x56\x08\xca\x0c\x49\x75\x7d\x76\x88\xe2\x01\x3b\x82\x44\xf3\x54\x04\xf4\x5a\xc2\x19\x49\x7f\xe9\x24\xde\x93\xa5\x8d\x0f\x72\x1a\xed\x78\x25\xf6\x3b\x26\x67\x07\x7c\x16\x1e\xb4\xdd\x8b\xf7\xdd\xbd\xbb\xc1\x9a\x9e\xae\x59\x78\x97\x8d\x5a\xeb\x33\xa0\x6d\xde\x18\xe6\x12\xe0\x5b\xdb\xca\xe0\x16\x1a\xa2\x38\x90\x38\x02\x64\x29\x96\x0d\xda\x3a\xa1\x7e\x96\x7d\x10\x77\x3c\xa4\x97\x35\xd8\xec\xd7\x40\x9b\xe1\x65\xc0\x9b\xb0\xb5\x09\x69\x1d\x59\x1c\x18\x5c\x93\xcd\xee\xae\x95\x35\x23\x16\x54\x46\x80\x52\x38\x21\x45\x8c\xac\xcf\x52\x8a\xc0\x45\x4e\x4c\xdd\xc6\xdf\x0d\x1e\xa5\xf1\xf5\xcc\x1e\xee\xe0\x5e\x19\xa2\xad\x0b\x6a\x49\x73\x6e\xd8\x55\x23\x36\xfc\xfc\xad\xbd\x93\x1b\x0b\x8e\x96\x3b\xe0\x5c\x8e\x70\x37\x38\x85\x52\x51\x2b\x68\x23\x58\x3e\x4a\x14\x38\x4c\xef\x50\x29\x23\x2d\x3e\x0b\xaf\xe4\x66\x35\x1b\x4b\xb3\xf5\x67\x54\x5a\xb4\x1f\xa4\x6b\xff\xaf\xa8\x77\xa1\x2b\x38\xa2\x7a\xbd\x64\xf7\x7f\xbb\x4d\xb4\x66\xff\x7f\x70\x65\x04\x14\x1d\x3a\xdd\x0d\x73\x72\xf1\x6f\xe3\xd8\xc6\x9f\x62\x99\xd9\x39\x66\xd6\x24\xa3\x07\x0e\xad\xb8\xb4\x9f\x29\xfa\xb4\x84\x4c\x75\x28\xa2\xa4\x0b\x66\x98\x70\x60\x69\x5c\xaa\x66\xb8\x67\x18\xc5\x10\x49\xac\xf4\xcf\xad\x38\x53\xed\xb4\x92\xe3\x68\xcb\xd0\x73\x96\x8e\xca\xa4\xa1\xee\x60\x46\xb5\xe8\x26\xe9\x01\xf4\xa8\x08\xc0\x42\x7c\x02\x6f\xe2\xf7\xb2\xe1\x96\x86\x67\xb5\x3a\x7d\x36\xd7\x02\xf2\xff\x82\xc6\x42\xd3\x49\x19\xf8\xe9\xaa\xaf\xe4\x62\xa3\xd4\xf9\x26\x92\xde\xac\x75\x2b\xe3\x48\xf5\x4c\xf0\x89\xdd\x9c\xd0\x51\x84\x6b\x04\xb7\x19\x31\xe1\x9e\x89\xd1\x25\x86\x4b\xfa\x89\x48\xac\xe0\xef\xf3\x3c\x45\x11\x05\x69\xa0\xdf\x37\x53\xf4\xc5\x8d\x80\x02\xb5\xbc\x38\x10\x2e\xc2\xec\xf6\x95\xfa\xfa\x89\x16\xda\x90\x02\x38\x7e\x44\xf9\x6d\xab\xf8\xa9\x82\xc5\x3c\x9b\xad\xbc\x37\xbd\xe4\x37\xf1\x46\xf7\x7d\x8f\x7b\xaf\x12\x87\x31\x96\xb0\xc3\x61\x93\xaf\x55\xf5\x42\xd9\x96\x8a\xed\x80\x69\xab\x9f\xbc\xd6\x81\x4e\xc4\x72\x79\x9a\xd0\x9c\x73\x0d\x41\xed\xde\xca\x3b\x62\x69\xd3\x1a\xb5\x23\xb5\x95\x47\x07\x73\x76\x34\x5b\x05\xf2\xae\x69\xb4\xee\x72\x8c\x86\x3d\x1b\xc0\x4e\x9b\x7d\x3d\x0f\xcc\xeb\x35\x9c\xbd\x08\x58\x59\x7a\xf2\xd6\x06\x3e\x25\x3f\xae\x2c\x3f\x25\x03\x4c\x33\xed\x59\xed\xd2\x78\x28\x68\x29\x86\x81\xca\xf5\x64\xdb\x8d\x19\x36\x6f\x34\xea\xe8\x5b\xa7\x3c\x1e\x23\x89\xb0\xdd\x78\xa9\xd2\xca\xa0\xf2\x3c\x9a\xd5\xf6\xcd\x9f\x2c\x4a\xd5\xd5\x89\x46\xad\xb7\x18\xcb\x83\xda\x58\xe2\xfc\xbb\x60\x25\xbe\xf4\x66\x0a\x83\xe0\xaf\x55\xe2\x03\x08\x02\x93\x2f\x2a\x89\x6a\x09\x60\x79\xb7\x54\xc9\x9f\x7b\x64\x23\xb4\x5a\x86\x47\x2e\x67\x23\xef\x88\x96\xc4\x32\x4c\x73\xd3\x4a\xd5\x8a\x4c\x01\xb3\x8a\x97\xc7\x3b\xe5\xaa\x7f\x74\xa2\xfa\x4d\x07\x95\xaf\x6d\xbf\xcd\x6d\x4e\xb4\x42\xa7\xe2\x04\xdb\x4e\xcb\x1f\x8a\x22\x6b\xdf\xa2\x1b\x6e\xb1\x71\xc9\xe5\x9f\x1a\x19\x2e\x23\xa7\x6c\x35\x2b\x04\xd8\xa8\x02\x33\x98\x5b\x77\xa2\x9c\x02\x01\x19\xce\x65\x1c\x7f\x41\x83\xd0\xe9\xc1\x9f\xe1\x8a\xa1\x02\x0c\x25\xe4\x58\x9d\xee\x34\xb9\x01\xbd\xaf\x9f\xf9\x45\x0c\x91\xaf\x3c\x1d\xb6\x70\xb4\x77\xe0\xac\x21\x07\x69\x6c\x9e\xc0\xd3\x1d\x82\x64\x7b\x68\xea\x19\x49\x9f\xe3\x4a\x8e\x2e\x7b\x37\x8d\xc7\xe7\x54\x24\xe8\xc4\x56\x45\xb0\xc2\x81\x8e\x9f\x88\x5a\x1c\x58\x41\x5b\xba\x1c\x3f\x2a\x77\x54\x9b\xdc\x46\x80\xdb\xcd\x16\x50\xc7\x5d\x0f\x45\x2a\x6b\x20\x85\x91\xdf\x0f\xa6\xe1\x81\xda\x2a\xbf\xab\x44\x46\x21\xd5\xf7\x7c\x2c\xd7\x95\x56\x46\x72\x46\x44\x7a\x89\xf0\xaa\xac\xad\x66\x0c\x9a\x92\x5e\xba\xfb\xad\x43\xc4\x78\xa3\xc8\x50\xa2\x7e\x01\x01\x9d\x88\xa5\xb1\xdc\x81\xb5\xd2\xe9\xf7\x40\xa0\x28\xcc\xb7\x2c\x1a\xcf\x89\x7e\xa5\xad\x89\xe0\xf9\x44\x88\x88\xd5\xb1\x5c\xe6\xe4\x29\x77\xf7\xa7\x29\x15\x5a\x28\x4d\x11\x87\x58\xac\x65\xf3\xfb\xb9\x8d\xeb\x65"}, -{{0xdd,0xd8,0xe9,0xff,0x85,0x56,0x79,0x89,0x6a,0x13,0x97,0xb4,0x27,0xdb,0x85,0x43,0xab,0xe8,0xbb,0x5d,0xd1,0x22,0xe3,0xe3,0x02,0xcc,0xfc,0xe5,0xfd,0xc6,0x3e,0x12,},{0x5a,0x9a,0x31,0x2e,0x89,0x2a,0x10,0xb9,0x8d,0x0d,0xcd,0xd2,0x8d,0xb3,0x48,0x1c,0x3c,0x28,0xad,0xd5,0xad,0x0b,0x19,0x46,0x16,0xda,0x4a,0x3d,0xf7,0x66,0x01,0x09,},{0xdf,0x84,0x9b,0x7b,0xd2,0x97,0x45,0xf8,0xbe,0xcd,0xdd,0xf6,0xc9,0xba,0xf0,0x94,0xd7,0xa9,0x8c,0xc9,0x33,0x8c,0x34,0x4e,0xca,0x17,0xfd,0xe0,0x75,0xfd,0xa8,0xd1,0x54,0x32,0x99,0xf6,0x25,0x98,0x23,0x17,0xdb,0x7b,0x3c,0x77,0x3b,0x64,0xf7,0xd1,0xf2,0x86,0x92,0xac,0x45,0x3b,0x81,0xd7,0xec,0x7b,0x7e,0xc3,0x41,0x7a,0xce,0x04,},"\x5e\x8f\xee\xc5\x09\x35\x0d\x2e\xe7\x95\x5b\x6f\x3e\x27\x82\x78\xa4\xcb\x48\xae\x72\xb4\x65\x89\xe4\x78\xbe\x59\x74\x7d\xf5\x39\x4a\x16\x9f\x19\xe1\x0d\xb5\x32\x02\xa6\xa5\x23\x20\xb6\x3a\x9a\x2b\x72\x3f\xd3\x1a\xa2\xdb\x6d\x58\xc5\x73\x32\xda\x31\x78\xbc\xf9\x66\xc5\x3a\xbd\xa3\x5f\x12\xda\xef\x9e\xdc\xf3\x99\xe4\xa8\xc5\xf8\x3d\x36\xf4\x4a\x17\xd7\x98\x46\xbf\xc9\x6c\xe6\x90\x19\x4c\x21\x9a\x29\x89\x2f\x03\x67\xa7\xab\x38\x44\x83\x78\x79\xe3\x81\x8d\xb8\xd7\x0c\x4e\x3f\xba\x4d\x28\x07\x34\x64\xdf\x20\x85\x95\x10\x38\xfe\xa4\x32\x81\xb6\xb6\x06\xdc\x88\x46\xb3\x0b\x07\x63\xf2\xca\x82\xbd\x50\x21\xf9\x11\x70\x35\xa7\x7b\xcd\x10\x75\x47\x7c\x5f\x43\x21\x43\x34\xd4\xd4\xce\xdd\x18\xf7\x38\xd6\x76\xc7\xb5\x1a\x18\x5f\xfa\x8d\x04\x10\x11\x86\xa4\x95\x2b\xbd\x87\x22\xf5\x39\x90\xb6\x06\x37\x04\x1e\x11\x4a\xeb\x8c\xe7\x11\x11\x31\xd4\xdb\x3f\xb4\xd3\x5d\x99\x5a\xd8\xd6\x65\x0c\x0c\x4c\xcd\xce\x9d\xcc\x39\xdb\x18\x8a\x68\x78\x55\x62\x74\x06\x26\xb3\xae\x3e\x02\x3f\x40\x77\x2d\xed\x87\x6a\x45\xcb\xef\x74\xa0\x58\xfd\x78\xc1\xa1\xff\x2c\x24\x51\xe1\x11\xac\x1b\x4b\x7e\xe4\xc8\x1c\xd7\x63\x10\xd4\xd2\x98\xfb\x3c\x49\xf5\xe6\x40\x19\x08\xa6\x30\xfa\x85\xdb\x74\x71\x80\x4f\xe9\x90\x84\x7f\x0f\x75\x94\x72\xf5\x93\xdc\xf0\x2e\x11\x3e\x15\xe5\x64\xd3\x0d\x59\x84\x69\x2d\xa5\x5b\x0b\x7f\x22\x19\xc4\xac\x16\x26\x51\x1a\xcf\x19\x4d\xc7\x02\x6e\xb9\xd3\x67\xa4\xa2\xf1\xdf\xb5\x15\xcb\x2c\x08\xda\x4f\xe5\x95\xc8\x58\x11\x12\x0c\xba\x2a\xe7\xb6\x6e\x67\xc9\x1f\xb8\xfb\xcb\x9d\x99\xf1\x3e\x50\xfd\x67\x46\x4d\x90\xc8\xdc\xf6\x93\x55\x23\xcf\x6d\x13\xfd\xd1\x06\x35\xb9\x23\x2b\x7a\x61\xdc\xec\x9a\x2b\x92\x10\x61\x41\x0d\xf1\xde\x6a\x45\x16\x7f\xb9\xf6\xf1\x09\xdc\xc0\x88\x91\xf2\x03\xb2\x74\xa3\xb6\x82\x71\xb3\xf3\x5e\x74\xf9\x4b\xdc\xed\x0c\x5f\xf8\x63\x71\x73\xa1\x76\xe7\xda\xcc\x81\xf2\xcd\xc4\xfb\x0d\x52\xd1\xdf\xa7\xf2\x7b\x55\x2f\xd8\xd8\x7a\x1c\x55\xd6\x94\x7f\xd9\x2e\xd3\x25\x3f\x95\x94\xdb\x7d\xf1\x7a\x7f\xc6\xa7\x5e\xcf\x4f\xaa\x4d\x1e\x21\xb6\x76\xb3\x72\x7d\x77\xfb\xd4\x3f\xa7\xbe\x76\xbf\xb5\x8f\xc3\x09\xe5\x67\x5f\x0a\x85\x9c\xc4\x7f\x37\xb1\xbf\x45\x59\x32\xd8\x24\xe8\x63\x78\xde\x7a\x7e\x8c\x40\xce\xd2\x20\x90\x04\x4d\xbb\xf9\x1c\x70\xe5\x28\xea\xcd\xef\x37\x85\xba\x3c\x69\xa3\x73\x5a\xf6\x70\x9c\xd7\x6a\xab\x28\xa6\xac\xa6\xe8\x44\x97\x4b\x10\xb3\xfb\x7b\x09\x86\x00\x7a\x72\x7c\x2c\x8f\xc9\x5b\x25\xf3\x1f\x14\x6b\x36\xac\xd4\xc5\x37\x07\x49\x20\xaf\xf2\x47\xde\x0f\x17\x9c\x13\xca\x57\x79\x0a\x6a\x71\xd6\x2e\x23\x32\x1c\xcc\x75\xb7\xf3\xb0\xaf\xa0\xd0\x35\x27\xc9\x11\x4a\x7d\x4e\x30\xc1\xac\xe6\xd7\x71\x20\x13\xde\xe6\x66\x99\xaf\x9c\x56\x1c\x44\xae\x61\x98\xed\x39\x10\x4e\x60\x61\xae\x2c\x45\xa9\xa3\xc7\x4b\x5d\x0f\xbc\x4a\x33\xe8\xdf\xe2\xa8\xac\xc9\x51\x1e\xf7\xe6\x56\x71\x33\xf9\xfe\x35\x54\x28\x4a\x75\xa0\x59\xa6\x49\xdd\x24\xec\x04\xa5\x77\x30\xc6\xd2\xe9\xbf\x11\x4e\xa5\x8a\x89\x94\xab\xdb\x0c\x19\x43\x24\x15\x72\xc7\x9e\xad\x04\x3a\xd1\xc8\xca\xaf\x5c\x9d\xa5\x3d\xd0\x55\x22\xfe\xbc\x40\x33\x54\xd6\x2f\xe3\xff\x93\x88\x2d\xf7\x5f\xb2\x94\x58\xd2\x2e\x69\x96\xc3\x5b\x69\xfa\xae\xf2\xe0\xc4\x16\x38\x86\xcb\x3c\x3d\x0f\x60\xe1\x50\xd3\x63\xd6\xdb\x59\xfe\xfc\x62\x6b\x1b\xbb\x1e\x05\x2a\x62\x41\x4c\x4b\x78\x56\xd7\x20\x93\x43\x2b\x08\xf8\x21\xbc\x78\x4a\x5a\x6b\x0b\xc2\x64\x9c\x2d\xaa\x50\x86\x58\x98\x0d\x80\x22\x91\xe7\x34\xab\xaf\xf0\x6a\xfb\xf2\x79\x5e\x4e\x35\x4d\x52\x21\xdc\x4f\x52\xcc\x96\xd6\xb8\xcf\x18\x08\xb1\xa8\x20\x8d\xb7\xda\xa8\x0a\xb7\x10\xc5\x6a\x8b\x0e\x9c\xb8\x08\x1d\xee\x93\xf5\xf0\x15\xf0\x76\x64\x46\x3a\x3d\xcc\xff\x7c\x8a\xd1\x99\x23\xa9\x7e\x39\x04\x5b\xcc\x4d\xce\x0a\x73\xd4\x9c\x56\xd5\xe9\x37\xbd\x11\xe6\x18\x23\x40\x1c\x06\x62\x06\xe3\x13\xe6\x0b\x47\x53\x7e\x34\x70\x4d\x7d\x35\x15\x55\x9b\xb9\xd0\x53\x2d\x02\x8e\x28\xa5\x7a\x87\x9f\xd6\x17\xcc\x61\xf7\xf7\x76\xbd\x6a\x00\x8c\xd4\xf8\x12\x37\x8e\xd3\x7f\x39\x4b\xb9\x7e\x6e\x75\x6d\xa8\x19"}, -{{0xa8,0x86,0xf4,0xd3,0xf3,0x4e,0x32,0x0e,0xc6,0xd5,0xf4,0xca,0xa8,0x63,0xf8,0x14,0x77,0xdf,0x77,0x2e,0xff,0x97,0xe6,0x4a,0x37,0xa0,0x5f,0x42,0x11,0xd1,0x90,0xa8,},{0xe9,0xbc,0x96,0xc8,0x1e,0x87,0x81,0x10,0x26,0x8b,0x55,0xde,0xf7,0xea,0x40,0x07,0xa4,0xef,0x9f,0x54,0xd3,0x83,0xd5,0xfb,0x0f,0x6d,0x43,0x43,0xe1,0x01,0x0f,0x38,},{0xab,0xf2,0x83,0xdb,0x1f,0x80,0xc5,0x4c,0x58,0x3b,0x49,0x9d,0xbe,0x20,0xaa,0x04,0x24,0x8c,0x1d,0xce,0x12,0x1f,0x39,0x11,0x67,0x78,0x13,0xac,0x3e,0x01,0x1f,0xd1,0x59,0xad,0x0b,0xf7,0x6b,0x1a,0xa7,0xcc,0x7b,0x14,0xd7,0xb5,0x50,0x84,0x86,0x88,0x25,0x2a,0xcc,0x7f,0xec,0xe9,0x04,0x87,0x24,0x0c,0x3d,0x39,0x9d,0xd3,0x43,0x08,},"\x8b\x83\x1b\x87\x7b\xc3\xa9\x9f\x61\x3c\x89\xcd\xa6\x98\xb3\x75\x9d\x64\x38\x22\xb5\xa8\x8f\xaf\x38\x22\xec\xb2\xce\x98\xf6\x71\xd7\x55\x43\x21\xb2\x4b\x74\xb4\xe3\x0a\x66\x3f\x7a\x55\x70\xae\x91\x7f\x47\x9b\xda\x29\x89\x4b\x1a\x8c\x02\x8c\x9d\x19\x3e\x4e\x7a\xc1\x19\x16\xdd\x8e\x9c\x3f\x0e\xc0\xef\x80\xbd\x27\xfd\xfe\xee\x80\xc1\x70\xc7\x81\x40\xb2\x4c\x15\x27\x14\x15\xac\xf7\x5c\x26\x95\x6a\x4d\x4b\xf9\x9d\x40\xe8\x61\xe9\x07\x83\x20\xd0\x97\xe1\x25\x9e\x5e\xc1\x7b\x58\x3a\x95\xe5\x24\x30\xdd\x8c\x00\x8e\xd8\xc7\xdd\x1d\xe1\xbe\xcd\xd1\xe6\xbf\xec\x4b\xf3\x34\x7a\x22\xdd\x24\x9f\x3a\xc3\x07\xa2\x94\x5e\x91\x37\xfa\x4a\x8c\x26\xc8\x02\x10\x77\x23\x9c\xb3\x24\x81\x6a\x8d\xad\x32\xb0\x1e\xe3\x4a\x08\x90\x30\x98\xcb\x9c\x42\x45\x29\x1b\x90\x3c\x96\x27\x07\x40\x95\x24\x9e\x78\x28\x13\x47\x70\x32\xba\x32\xef\x04\x1a\x07\x48\x6e\xb4\x47\x8c\x57\xb9\xd5\x32\x26\x9a\x4a\x47\xcb\x5e\x97\x4d\xf7\xe0\x10\x96\xfb\xe4\xf1\xcc\xd4\xe6\x63\x66\x34\x87\x97\x4c\x62\xcd\xd9\x4d\x77\x71\x6c\x84\x79\xd7\x9f\x6b\x6a\x7d\x9c\x15\x59\x88\xcf\x39\x02\xfb\x69\x74\x24\x96\x3e\xc4\xec\x34\xff\x2a\x35\xd7\x42\xc4\x45\x5a\x59\x3b\xac\xff\xc4\xd9\x69\x9b\xa7\x62\x6c\x76\xcb\x1a\x61\x62\x53\x75\x18\x87\xf6\xff\xe2\xbe\x20\x8c\x71\x3d\xf1\xab\x63\x6d\x72\x2e\xa0\x6c\x1c\x03\xa5\x7f\x2c\xec\x08\x03\x86\x6c\xca\x33\x35\xc2\x8b\xf4\x1c\x7d\xef\x81\xac\xb3\x88\x58\xdc\x10\xe5\x94\x67\x20\x86\x24\x96\x7e\x2e\x22\xd9\xe5\x66\x1b\xb9\x45\xf9\xe0\x51\x76\x87\xdc\x80\xf9\xb8\xfd\xec\xc8\xa9\x76\x00\xb6\xc2\x19\xa3\xb2\x3a\x90\xb6\xd1\x8a\xaa\xce\x2c\x78\x40\x0f\xf3\x8c\x8c\x05\x96\x7f\x54\x4b\x6a\x60\x6c\x71\xac\x19\x9e\xaf\xd0\x7e\xb5\x84\x8d\xf1\x65\x7e\xfb\x23\x3f\xba\xba\xe6\x3a\x05\x63\x81\x91\xa0\xaf\x74\x84\xa1\xba\xe1\x58\x13\x75\x67\x2c\x57\x1e\x26\x4f\x60\x42\x25\x17\x3a\x54\xa3\x8d\xd6\x2a\xe7\x13\x0d\x05\xdd\x29\x1a\xd1\x23\x54\xde\x86\xa6\xe1\x13\xe8\x3f\x6d\x66\x85\x16\x15\x7b\x79\x67\x02\x0d\xc6\x51\x7d\x8c\xf4\x2d\xd7\xb1\xa8\x97\xfe\x1b\x4e\x04\x55\x3c\xe2\x6e\x29\x99\x80\xaa\x5f\x7c\xe0\x17\x9b\xf4\x95\x4f\x01\xc2\xa2\x36\x54\xe5\xe9\x73\x1e\x14\x47\x34\x7f\xa4\x3a\xa8\xb2\xcb\xd6\xd4\xb2\xdf\x93\xfa\x54\xaf\x71\xe5\x02\x8a\x6d\xa8\xc7\x1e\xf3\xc5\x0c\x0d\xe2\x4d\xca\xee\x78\x56\x78\xe9\x2a\xaf\xab\xeb\x23\x3b\x01\x1f\x45\xc1\x06\x49\x65\x08\x5d\x25\x47\x05\x0f\x21\xc6\x52\xaa\x53\x3a\xfe\x91\x8a\xa0\xf9\xbd\xaa\x26\x07\xb8\x73\xcc\xd3\xdb\xd1\xd3\xa8\xcc\x62\x17\x2c\xeb\x43\xb9\x21\xef\x6b\x25\xc0\x6b\x09\x92\xe4\xdf\x2b\x91\xe3\x71\xb0\xef\x2b\x39\x47\x38\x8d\xae\xc8\xec\x6f\x7e\x38\x67\xd1\xf6\x10\x72\xaf\x59\x01\x54\xfa\x61\x9a\x07\xf8\x7e\x02\xbd\xdc\x74\x06\x31\x42\x70\xaf\x1c\x15\xe8\xee\x88\xb3\x9c\x01\xbe\x60\x2e\x4f\x0b\x52\xd9\xa0\x72\x4e\x71\xed\xdd\x7f\xa9\x13\x41\x69\xc5\xfa\xab\x91\x59\x79\xee\xa9\x36\x2d\x0f\x1f\x91\x60\x26\x81\x62\xdd\x38\xdb\x02\xfc\xfb\x41\x35\x0a\xa0\x8e\x1e\x14\x09\xb2\x28\x8d\xb1\xfe\x4a\x0e\x58\x6b\x59\x10\xf4\xde\x89\x4b\xf9\x97\x4f\x6a\x49\x83\x01\x3a\x19\x0e\x7a\x73\x6d\x14\xec\x54\xc3\x64\x4a\x3e\xe9\x58\xa5\xbd\xfb\xcb\x62\x97\xab\xa4\x3a\xf6\xc7\x27\x46\xbb\x13\x54\x10\x50\x7d\x8f\xdd\xe7\x3a\x2a\x48\xb7\x46\xf9\x18\xbe\xf9\xed\x92\xc5\xbe\x62\xdd\x55\x23\xfe\x14\xb1\x6d\x63\x84\xca\x46\xef\x59\xb2\x18\x5f\xe9\x33\x38\x3a\x2c\x7a\x9b\xf0\x2d\xa9\xd0\xfd\x8b\x0c\x7d\x7b\xde\x6b\x43\x9f\x99\x60\x15\x5e\x34\x5d\x68\x5d\x4d\xc3\xc7\x14\x04\xd6\x56\x81\x19\x23\xaa\x3c\x47\xd4\xb0\x9a\x0b\xae\xf0\xa1\x2e\x75\xb6\x43\x9b\xa8\x13\x5d\xb1\x58\x65\x87\x42\x22\xcd\x7a\xa4\x28\xf5\xca\x5c\xe5\x14\x0e\x22\xff\x92\x69\x7f\x37\xfc\x70\xb5\xb4\xc9\x4d\x33\x14\xe6\xaa\x16\xb2\x14\x6b\xca\x4f\xc9\x41\x57\x95\x1f\xc4\x92\x45\xda\x53\xf6\xc4\x3d\x1b\xeb\xd8\x94\xe3\x1a\x13\x49\x88\x4d\x71\x1b\x55\xdb\xe7\x78\xff\xa7\x27\x16\x5c\xf7\xcb\x67\x64\x35\x86\x6c\x2d\x2c\xb8\x39\x74\x5c\xa4\x01\x66\xa2\xf7\xcf\xc7\x7a\x84\x24\x68\xb5\x1a\x8e\x76\x57\x5f\xc9\xdd\xfb\x5f"}, -{{0x49,0x7e,0x3e,0xbd,0x9e,0x4c,0xaa,0x81,0xc5,0xa8,0x97,0x3d,0x52,0xf1,0xd2,0x3f,0x60,0xc1,0x34,0xca,0x53,0xf6,0x2a,0x85,0x3a,0x0a,0xc0,0x43,0xe5,0x1c,0xb5,0x17,},{0x71,0xc0,0xca,0x7c,0xfa,0x05,0xca,0xfa,0xbb,0x14,0x3d,0x84,0xae,0x41,0xde,0x83,0x84,0x6f,0x42,0xc7,0x7c,0xaa,0x7a,0x91,0xa2,0xe3,0x48,0x39,0x7d,0x07,0xd5,0x2f,},{0x12,0x74,0x08,0x39,0xb3,0xc9,0xf1,0xba,0x87,0x98,0x96,0xdf,0xf6,0xd7,0x25,0xe8,0x4e,0x04,0x43,0xef,0x96,0xc3,0x49,0xef,0xf9,0x4d,0xc4,0x83,0x31,0x43,0xe5,0xb4,0x19,0x80,0x4d,0xa9,0xdb,0x11,0x8a,0x95,0x92,0xb1,0xb1,0xca,0x48,0xaf,0x18,0xf7,0x5b,0xef,0x1c,0xa4,0x68,0xa1,0xa5,0xc7,0x4c,0x7a,0xc8,0x13,0xbb,0x2c,0xf3,0x06,},"\xe1\x32\xf9\xd6\x7b\x17\x29\x38\x9b\x82\x8a\x9f\xae\x05\xa6\x7a\xa5\x7f\x0e\xf7\xe7\xd4\xd1\xba\x24\x4d\xec\x87\x04\xdb\x96\x95\x65\xd1\xca\xb8\x09\xe4\x8f\xc0\xab\xf9\x50\xbc\xd4\xa3\x7d\x97\xae\xac\xe6\xda\x54\x6d\x49\x14\xcb\x5b\x86\xd6\xab\x18\x1d\x83\x18\x70\xc3\x09\xbc\xa6\x16\x46\x8f\x2a\x34\xd3\xdf\xaf\xcd\xbb\x75\x80\xb0\xc5\xd9\xff\x98\xe2\xc5\x4e\xc8\x03\xbe\x0d\x3f\xda\x1d\x4b\x8c\x0d\x77\x09\xc8\x9e\x68\x0b\x00\x8b\xf9\xb8\xd9\x03\xb5\xe9\x34\xb0\x19\x70\x5f\xe0\xb0\xc8\xcf\xbc\x3c\x09\x67\x84\x3b\x0a\x1f\xa1\xb3\xf1\x62\x77\x6e\xbe\x96\xb7\x40\xed\xd6\x4a\xd7\xc3\x5b\x3f\xd1\xa0\x85\xc9\x9d\x16\xf5\x41\x67\x82\xde\x17\x35\x85\x87\x47\x0d\xd1\x3b\x51\x94\xf2\x0f\x23\x23\x2b\x2f\x70\x2f\x10\xaa\xfc\xaa\x59\xc7\x06\x6f\x24\xc4\xc4\x71\xe4\x2f\xa8\x6c\x6b\x9c\x5c\x3e\x1e\x8f\x83\x65\xf4\xdd\x75\xac\xb3\x2f\xff\xc0\x53\xc9\xaf\x41\xc6\xfd\x2e\xfa\xc3\x0e\xcf\x6a\x2d\xd0\x08\x5d\xe9\xb1\xd8\xcd\xc5\x0b\x16\x60\xa8\x66\xdf\x77\x67\x19\x8b\xd9\xc8\x73\x70\x61\x5d\x2b\xca\x99\xf7\x7b\x84\xd9\x8d\x7b\x24\xc9\xc2\x0f\xd7\x76\x8f\xd0\x38\x0d\x6b\x37\x36\x03\x40\xd1\x35\x98\x04\x78\x20\xdc\xed\x88\xa8\xd4\x2d\x57\x29\x37\xb6\xef\xa1\x69\x21\xa1\xb2\xb2\xd0\xeb\x93\x16\x73\x07\x08\x38\xe6\x11\xe6\xc0\x23\x29\x0d\x86\xfe\x90\x2f\x14\xac\x3a\xcd\x02\x9e\x33\x97\xfe\xb9\x7b\x17\x16\x62\x45\xab\x40\x7a\x76\x6d\x2e\x09\x04\x42\x4d\x33\xcd\x3d\x6e\x2e\x62\xa5\x2c\x65\xdf\x7c\xf0\x04\xd1\x41\x5c\x0b\x43\x0c\x11\x27\x62\x3d\xab\x27\x2a\x2c\x2e\x2b\x43\xe0\x2b\x48\x1b\xe9\x28\xe8\x99\x54\x27\x28\x32\xbe\x09\x8b\x50\x2b\x8b\x56\x43\xc6\x74\x82\xf5\xde\x44\x03\x03\x25\x81\xf0\x8a\xfb\x0a\xea\x48\x86\x85\x82\x60\x7b\xb3\x91\x98\xc1\xbf\x13\xa8\x69\xb6\x32\x58\xa7\x58\x90\xb6\x94\x45\xff\xd3\x45\x64\x02\x3e\x47\xf8\xb1\x88\x4a\x5e\x49\xb7\xd9\x42\x5f\x28\xd5\x15\x30\x13\xfe\x37\x55\xc6\xcb\x11\x4d\xb1\x80\xe6\x0b\x3d\xc4\xad\xb3\x6a\x21\x42\x81\x28\x00\x5a\x77\x2f\xb5\x71\x89\x34\x55\x65\xbb\xd1\x75\x98\x13\x52\x3b\xad\x62\x85\x5e\x79\x28\xee\xf5\x88\x0d\x3b\xff\xf1\xd0\xec\x65\xc2\x45\x92\x33\x5c\xda\x47\xcf\xcc\x5b\x5f\xa6\x52\xb4\x72\x63\x22\x52\x24\x84\x6a\x20\x9a\x3d\xd7\x76\x66\x61\xfc\xa4\xcc\xca\x59\xc4\x56\xfc\x9c\xc3\xe1\xcf\x80\x42\x55\xaa\x5f\x39\x7b\xab\x19\x98\x04\x33\x6b\xde\x29\xe5\x5c\x6c\x37\x7d\x58\x3f\x08\x2c\xe6\x47\x23\x73\x9e\x4f\x02\x46\x06\xf9\x06\xc1\x10\xd0\xa5\xb6\x10\xe5\xfe\xd9\x6d\xab\x5f\x08\xf4\xcb\x3c\xfc\x40\xa3\x55\x57\xe1\xa7\x40\xb8\xc7\xc0\x1f\x7d\x32\x79\xdd\x9c\x4e\x87\x64\xc9\x0b\xc1\x4f\x41\x61\xdb\x5a\x37\xf0\x98\x9b\x7b\xd8\x03\x5f\x8b\xea\x39\x4e\xa1\xd6\x00\x2c\xe9\xc3\x4f\x1e\x9c\x52\xc6\xa1\x5d\x15\xbc\x5b\x25\xc6\xc1\x5a\xb0\x0d\xfd\x6a\x5b\x1b\xc9\x17\xaf\x0b\x1b\x05\xfd\x10\xd0\x61\xb3\x68\x3d\x75\xb5\xf9\xef\xfb\x22\xae\x72\x08\x5b\xe4\xf6\x79\x7b\x58\xcb\x0c\xab\x56\x18\x44\x12\x1f\x98\xbf\xd9\x58\x3e\x0b\xcc\xb7\x0f\xad\x76\x98\x0a\x7a\x73\xb2\x3c\x70\xb3\xfd\x02\xf7\x75\x7c\x11\xa3\xc2\x1d\x19\xe0\x56\x50\xff\xb8\x2b\x9e\x0d\xf8\xa6\x73\x5d\x48\x01\x56\xf4\x79\x49\xd4\x45\x85\x1b\xae\xaa\x5e\xe2\x38\x14\xa4\x1b\x25\x23\x4f\xb9\x2c\xc0\xdf\x19\x80\xd0\x23\xd5\x1b\x5c\xf4\xc3\x11\x85\xc1\x18\xe3\xee\x3c\x0c\x0a\x46\xe0\xa2\xbe\x6f\x1d\x3a\xe4\x52\xcb\xb6\x6f\x0f\xd9\x19\x71\x34\x2d\xa7\xb1\xb9\x96\x58\x9d\x94\x09\x67\x81\x55\x21\x95\xc4\x33\xca\xf1\x9c\x37\xf9\xf1\x4f\xa0\xae\x15\xae\x0b\x02\xb9\x39\xe4\x02\x03\x4f\xf8\x18\x85\x93\x9d\x94\x4e\x60\x4f\x47\x4f\x21\x52\x43\x89\x39\x0f\xda\xda\x06\xe3\x0d\x69\x06\x8c\x88\x48\xcf\x0a\x95\x1e\xab\x25\xc4\x91\x25\x62\x94\x4f\x40\x24\x68\x18\x7a\x23\x23\x9d\x33\x63\x2f\x29\x12\x3d\x49\xb7\xde\x13\x08\x33\x98\xdb\xa9\x7d\xed\xe1\x2f\x79\x59\xb9\x52\x47\xa0\x8f\xc8\xe4\xb5\x39\x9d\x1c\x03\x5c\x08\x94\xcc\x75\xae\x98\x1c\x2d\xd4\x93\x54\x13\xbb\xeb\x68\x53\xfe\x04\x65\x5c\x77\xd1\x58\xc1\x23\x7b\x3e\x0d\xec\xa5\x63\x6d\x69\xe0\xdb\xc5\xac\xaf\x72\xb6\x0c\x10\xbb\x98\xcc\xdd\x60\x09\x8a\x03"}, -{{0x85,0xb4,0xd7,0x64,0x16,0x91,0x28,0x62,0x6f,0xd9,0xc7,0x82,0xad,0x61,0x16,0x22,0x9e,0xdd,0x77,0x63,0x1c,0x2b,0xc9,0xb8,0xee,0x54,0xb3,0x65,0x42,0xc1,0x49,0xeb,},{0x6a,0x09,0x89,0x7e,0x62,0x9b,0xb4,0x37,0x04,0xde,0xbb,0x67,0x15,0xc9,0xde,0xa5,0xd8,0x92,0xb6,0x34,0x30,0x64,0x40,0x99,0x7c,0x3c,0x9e,0x94,0xbe,0x8a,0xb5,0x47,},{0x4a,0x79,0xc4,0x42,0xa4,0xc3,0x9c,0x62,0x89,0x26,0x17,0xef,0x8e,0x80,0xb4,0x09,0x11,0xc4,0xb9,0xd3,0xff,0x0a,0x56,0x73,0xb5,0x7b,0xdb,0x84,0x54,0xad,0x73,0x67,0x69,0xdf,0x27,0xc7,0x8a,0x4b,0xf7,0xad,0x56,0x60,0x40,0xe7,0x47,0x27,0x8b,0x11,0xeb,0x65,0xcf,0x9e,0xc7,0xeb,0xa8,0x66,0x12,0x0a,0x36,0x54,0xf4,0x71,0x6e,0x00,},"\xb2\xa0\x49\x3d\x47\x1c\x33\x91\xf7\xad\xd1\xe2\xcf\x0b\xfb\x32\xab\x05\xdb\xcb\x14\xf6\xe4\xf5\xf3\x46\x3a\xa8\xd9\x95\x52\xf4\x33\x02\x20\x46\xd2\xf8\xeb\x76\x3c\x01\x71\xfc\xb1\xe7\x4a\x04\x9f\xfe\xb4\xb8\xf0\x10\x0b\x82\x10\xfc\xe8\x56\xb2\xe1\xa8\xe7\x39\xd2\xf9\x36\x73\xef\x8f\x8f\x40\x49\x8b\x30\x81\xfa\x1f\xd7\x85\x19\x8c\x6d\x37\x0e\x16\x2d\x41\xab\xe8\x31\x86\xf2\x32\x97\x83\x40\x8b\x9b\x88\x0d\x00\xf8\x1d\x53\x10\x0b\x42\xd2\x7a\x26\x1f\x20\xcd\xee\xd1\x9c\xc5\x8c\xb8\x63\x12\x81\xd8\x0d\xb1\x92\x53\x10\xe2\x35\xe4\x49\x66\x30\x9b\x87\x9b\xdf\xc2\x32\x22\x14\x33\xba\xe5\xca\xe4\x66\x90\xcb\x52\x7b\x67\x79\xe1\x1f\x1b\xd2\xa5\x6b\x59\xc5\x6e\xd4\xd9\x4f\xdf\x7a\xa8\x9d\xfa\x9b\xf2\x0d\xbf\xa6\xa4\x39\x8b\x98\x38\x45\x17\xe1\xdd\x5d\x2c\xd9\xce\x52\x4a\x47\x36\x2e\xf3\x2a\xc7\x92\x74\x2a\x12\x9c\x9e\x06\x13\x08\x76\xab\x5a\xd5\x51\x8e\xab\xc5\xe8\x0b\x02\x2d\x8f\xa1\x3e\x50\xd5\x5d\xed\x58\x95\x33\xe6\xea\x32\x24\x2c\x1b\x3f\xd7\xe6\x5f\x80\xde\xe7\x20\xb6\xd8\x7d\xcf\xf3\xe3\xdf\x04\xc8\x02\xd2\xe9\x14\xa8\x7a\x36\x29\xc9\x0b\xb6\x9e\x0a\x6f\x8b\xbb\x5e\xe5\x05\xf1\x43\xc9\x97\x73\x75\xad\xb0\x65\xc3\xe3\xd3\x91\xf9\x05\xfa\x3c\x33\x6c\x9d\xa4\x1e\x4a\x23\x20\xbc\xf4\x60\x97\x6f\xc7\xeb\x1f\xb6\xc6\xa3\xc3\x95\xdb\xd1\xd2\x8a\x1b\x09\xcd\xb9\xae\x9f\x9a\xae\xe4\xd9\xc5\x66\xa2\xac\x40\xad\xd8\x70\x47\x9f\xaf\x54\xad\x1b\x76\x97\x71\x0b\x4e\xb6\xf7\x32\x02\x44\xb5\x97\x57\xd1\xea\xc3\xd9\x22\xb7\xa7\x30\xb1\xac\xf0\xde\x9a\x45\xd4\xac\x87\x9d\x21\xfc\x61\x6e\xf3\x96\x5d\x74\x34\x5e\xd7\x07\x79\xeb\x68\x32\x80\xce\xe2\x5b\xf3\x73\x9b\xeb\x6b\x4c\xdf\xa2\x5d\x20\x2d\xa1\x3a\x4a\x67\x30\x40\xd9\x70\x48\x65\x8b\x92\x05\x47\x95\x05\xd0\xbe\xe4\x88\x0a\x73\x99\x7c\x70\x82\x5a\x6e\xc5\xfd\x9f\x95\x2e\x65\xfa\x02\x22\x54\x45\xfc\x3b\xdf\x4a\xde\xa3\xd4\xd2\x25\x51\xcb\xac\xeb\x38\x74\x79\x8d\x6a\x33\xa6\x66\x3f\xe3\x75\x70\x81\xd6\x24\x3d\xfd\x7c\xd2\xee\xbf\x60\xa3\x89\x9f\xa1\xf8\xf6\xc9\x56\xa3\xb1\x83\xf8\x9b\x9e\x7d\x2c\xa3\x64\x48\x58\x4d\x53\xaa\x8b\x44\xe6\x5a\xd3\xe5\x27\xf7\x87\x23\xfa\x6f\x59\x22\x42\x98\xdf\x31\xd5\xe8\xad\xa5\x67\xc8\xd1\xb1\x1f\x3b\x13\x14\x75\x53\x31\xc1\x73\x2d\xc5\x4a\x12\xa4\x35\x6e\xdd\xa4\x7e\x3c\x13\x0b\x32\x52\x82\xa3\x54\xbf\xe1\x5c\x30\x00\xd2\x07\x82\x29\x31\x79\x41\x87\xe0\x97\x3a\xb8\xef\x87\xbf\x89\xc3\x54\xa0\x35\xa8\x1f\x45\x91\x12\x23\x56\x3b\xfd\x99\xf9\x0a\x75\xe5\x3d\x01\x0d\x89\x29\xf4\xf8\x5a\x5a\x5a\x4f\x9f\xcc\x1c\x78\xf0\xa2\xfc\x46\x6f\x5f\x1c\x65\x22\xcf\x62\xa7\xbe\x37\x88\x07\x96\xe9\xb3\xca\x09\x11\xec\xca\x3f\x22\xc3\xb2\x4d\x5d\x9d\xaa\x68\x88\xf8\x9a\x8f\x71\xa1\x58\x59\x35\x9c\xea\x46\x8e\xf2\x38\xec\xf6\x46\x19\x27\x83\xa2\x57\xad\xda\xde\x90\x47\xe1\x3e\xdd\x8b\xcc\x1f\xd4\x17\x7c\xb2\x0f\x88\xd1\x19\x98\xd9\xc7\x26\x2d\x64\x8c\x2b\xf6\x6f\xb2\x27\xb9\xb3\xa9\xed\x46\x96\x2d\x22\x57\xa4\x20\xf6\x4b\xea\xd9\xe2\x86\x57\xb5\x21\xdb\x2e\x22\x16\x52\x87\x79\x1f\x3a\x1b\xec\x4c\x78\x22\xa6\xca\xbd\xe5\xec\x77\x01\x88\xcb\x74\x49\x8a\x4f\x08\xe5\xa3\xa7\x63\x9d\x24\x0a\xe3\xf4\xfd\x03\x53\xc0\xdd\xa8\xae\x41\x0b\x9f\xa7\xf4\x3f\xee\xd1\x3e\x9f\x13\xe6\xc9\x41\x0a\x1d\x24\xcd\xfc\x2c\x8e\x64\xa1\x5a\x12\xf7\x55\x45\xb0\xa5\x75\x71\x35\x23\xd4\xdf\xa1\xa4\x74\x27\xa8\x85\x1b\xa9\xac\xcc\xad\x78\xb4\xef\x6a\x18\x5f\x5c\x3b\x00\x11\x90\xdd\x8f\x37\x08\x8a\x00\x0a\xcc\xf4\x48\xbe\x8d\x49\x37\x1d\x9d\xa2\xe1\xcb\x5f\xfe\x07\xd4\x1a\x5c\x22\xe9\x46\x60\xac\x37\x13\x5a\xc8\x58\xcb\x17\x69\xcb\x66\xe8\x26\x9f\xd5\x33\x58\xec\xac\xf5\xdd\x92\xc7\xeb\x61\x86\xb4\xd4\xd6\x13\x0a\x73\x2d\xc1\x0b\xbb\x2b\xe3\x2f\x9b\x1d\x69\x51\x01\x4a\x63\x5c\x12\xd2\x2f\x0d\xc5\xbd\x5c\x2a\x3f\x96\xae\xc6\x2e\x77\x77\x94\x7e\xaa\x02\x28\x12\xca\xce\xd3\x3a\x5b\xef\x9f\xf8\x83\x5f\x88\x03\x67\xa3\x7b\x0b\x76\xd2\xdd\xe3\x96\xc6\x14\xe1\xa4\x72\x1e\x00\x0c\x00\xf1\x61\x93\x5b\x14\xa7\x38\xa1\xb7\x0f\x6e\xa5\x42\x55\xb7\x95\x18\x69\x64\x62\x12"}, -{{0x33,0xd4,0x77,0x60,0x2f,0x29,0x63,0x05,0xa6,0x71,0x9e,0xa6,0x94,0xc0,0x44,0xe9,0x0d,0x23,0x3c,0x2d,0xea,0x85,0xc4,0x6a,0xbe,0x19,0x20,0xe8,0x8c,0x31,0x78,0x49,},{0xff,0x6f,0xee,0xa0,0x28,0xec,0x34,0x6d,0xd4,0x91,0x07,0xbb,0x71,0x3f,0xdd,0xbb,0x28,0x2e,0xbc,0xd0,0x34,0xe2,0xea,0xfc,0x7c,0xdb,0x1c,0x5a,0xdf,0x92,0x63,0x90,},{0xca,0xa2,0x87,0x98,0x95,0xd4,0xf6,0x20,0xb9,0xeb,0x5f,0xed,0x22,0xb4,0x56,0x2e,0xeb,0x1a,0xd6,0x38,0x22,0x96,0x8f,0x76,0xad,0x91,0x07,0x6b,0x16,0x6c,0x05,0xee,0x20,0x86,0x4d,0x98,0xbb,0xbc,0x6e,0x79,0xdd,0x03,0x62,0xca,0xcf,0x7a,0x21,0xb4,0xcf,0xc2,0x30,0xd6,0x35,0x5d,0x43,0x12,0x0c,0xff,0xfb,0x94,0x8b,0x8f,0x6c,0x0e,},"\xcf\xea\x07\xa7\x79\xf1\x53\x7e\x49\x81\x23\xc6\x76\x29\x05\x73\xef\xcc\x5d\xb7\x02\x45\xd9\x3d\xea\x5c\x05\x72\x6f\x87\x13\xd0\x02\xae\x66\xc1\xc9\x69\x07\x47\xca\x92\x30\xb1\x62\x9d\x36\x62\xab\x73\xd6\x6b\x94\x98\x79\x16\x4b\x21\xa3\x5f\x40\xcf\x37\x99\x04\x19\x08\xed\x6f\x92\x29\xec\xb3\x90\xc5\xf2\x22\x34\xe1\xc5\xf2\x6b\x3a\xb5\xba\x59\xe7\x8c\x64\x96\x98\x71\xb4\x28\xb7\x85\x16\x77\x75\x55\xaf\x4e\x89\xc6\xfb\xc1\x93\xa9\x46\x95\x22\x6c\x6d\x32\x99\x91\xa1\x1b\xd5\x80\xd1\x89\x56\x08\x9b\x58\xa0\xe4\x2c\xa3\x5f\x6c\x6d\x26\x09\xad\xe0\xd0\xb6\x19\xd4\x89\x25\xc6\x8c\xd9\xd2\x25\x0d\xff\x27\xcf\x2f\x0d\x44\x44\x87\x09\xb6\x79\xf3\x5b\xbd\xce\x0f\x49\x6b\x0a\x16\xca\x67\xea\xce\xec\x25\x8b\x1a\xec\x91\x77\x5a\x3a\x2e\xe8\x01\xb1\xc9\xa2\x26\xa6\xb0\x01\x92\x6a\x05\x7a\x06\x30\x67\x27\xee\xda\xe8\xc5\x77\x53\x1d\xf0\x4a\xc0\x9b\x5b\x49\xbc\xde\xab\xde\xb8\xac\x4e\x8e\x82\xcf\x1e\x7a\xf8\x35\xfc\x61\x1c\xa7\xa6\x84\xb8\x35\x26\x04\x24\x15\xb1\xd6\x65\x2e\x86\x34\x31\x1e\x19\x46\x27\xea\xe7\x8d\x01\x1e\x6f\x40\xf6\x45\x79\x4e\x36\x89\x5a\x23\xe1\xbd\x84\x88\x3a\x39\x3e\xcf\xe5\xa2\x48\x02\x6a\xea\x86\x44\x70\x59\xf7\xa4\x29\x36\x8f\x21\xc8\x9e\x01\x45\x20\x79\x78\xb9\x13\xc8\x0a\x22\xd7\xca\xf2\x67\x3f\x7c\x76\xf6\xc2\x6c\xf8\x84\x41\x2e\x17\xd0\xc2\x55\x43\x0f\x50\x2b\xce\x74\xe3\xa3\x10\xd1\x7f\x6f\x4d\x48\x5d\xa2\x80\xed\x5b\x5e\xea\x6c\x49\xba\x74\x8d\x76\x48\x14\xb9\xe3\xda\xf6\xfc\xc2\x18\xc2\x74\x0c\xa7\x70\x18\xf7\x13\x44\x51\x9d\xa8\x2a\xda\x31\xe0\x01\x92\x4f\xc7\x76\x79\xe3\xe9\xff\x9f\xab\x67\xdd\x09\xa6\x19\x24\xc8\x21\xa1\xfd\x99\x9f\x74\xdf\xa3\xf8\x19\xad\xb3\x1d\x15\xe5\xed\x8a\xaa\x52\xc1\xbd\x7c\xca\x26\x67\x11\xa7\x4d\xd6\x21\x04\xef\x3c\x2b\xf7\x37\xfc\xe6\x94\x2b\x34\x8a\x33\xc3\xdf\xd6\xd9\x2a\x72\x4b\x6d\x58\x78\x42\x1a\xeb\x23\x0a\x53\x3f\xe2\x1c\x8b\x2f\xd3\xda\x59\x6a\x61\x80\xa4\x5c\x98\x6d\x7e\xce\x4c\xdc\x8a\xd6\x81\xea\xd6\x90\x64\xbb\xdd\xfc\x20\xf3\xc5\x21\x25\xf8\x33\x95\xbe\xd1\x55\x7f\x67\x18\x2b\x9f\xe9\x91\x38\xaf\x3c\x35\x6c\x5e\x65\x29\x78\xdd\x23\x8b\x76\x1c\x74\x2f\x81\x58\xe2\x31\x4b\x96\x42\x08\x33\x09\x78\xb0\x62\x0a\x13\xa1\x6d\x76\x1d\x52\xf0\x6e\x46\x6a\x40\x94\xb6\x5c\xd6\xf2\x68\x54\xae\xd6\xf9\xa8\xc2\xa8\x84\xa0\xd0\xbf\x4e\xe5\x87\xee\xb8\xb6\x02\x48\x72\x39\xa7\xe5\x81\x72\xc8\x09\x98\x3a\x8d\xb1\xc1\xfc\x7c\xe8\xc4\x8b\xc8\xa6\xfb\x81\x2d\x6a\xa9\xe8\x3a\x3a\xb4\xdd\xf7\xa8\xd4\x0d\x3f\xe0\x0e\xa1\x6e\x04\x06\x2b\x8a\xce\xb9\xc9\x9e\xef\xa4\x1f\x4f\x87\x44\x78\x28\x12\x6d\x0d\x9c\x9f\x86\x05\xe8\x46\x7c\x5e\x4d\x67\x1d\x5c\x6d\x9f\xa7\x0d\x74\x70\x98\xd9\x41\x21\x12\x23\xb9\xbc\xf2\x61\x93\x8d\x67\x04\xa3\x2d\x22\xc6\x1e\x30\xf3\x57\x0a\x1f\x5d\x09\x98\xb4\x79\x10\x80\x88\x2a\xa5\x62\x31\x67\xb6\x3a\x23\xf3\x40\xf0\xe7\xc6\xf9\xa8\x30\xa7\x5b\x74\x63\x1f\xa5\xb5\x7a\xfd\xb1\xe6\xbc\x22\x69\x9b\xb0\x31\x56\x67\x5d\x59\x83\x53\xa5\xd1\xb5\x58\x97\xe4\xc1\x10\x61\xdd\x14\x5f\x23\xe8\x53\x7c\x63\x2f\x75\xc1\x0d\xf0\x5b\x25\x54\x72\x38\x57\x40\x17\xfe\x7b\x64\xb8\xe9\x98\x69\x15\x7f\xee\x35\xf7\xad\x7e\x63\xe9\x95\x93\x30\x29\x29\x50\x3a\x96\x76\x80\x23\xb4\x12\x5a\xd7\x49\xdf\xf4\xb9\x92\xee\x5c\x2b\x4f\x3a\xda\x48\x89\xe4\xae\x62\xec\x15\xd2\xdb\x59\x69\xd7\x30\xdb\x30\x75\x47\xf6\x38\xc3\x18\x50\x32\xb1\x2f\x75\xfb\xb3\x17\xe4\x7d\xf7\xb9\x29\x2a\xe9\xe7\x6a\x2c\x0a\x06\xfc\xad\x10\x8c\xdd\x23\x5f\x6e\x38\xd9\x67\xb6\x37\x95\x11\xff\x69\x65\xc2\x2f\x2c\x66\x80\xa1\x2b\x03\x04\xeb\x2b\x29\x6c\x99\xa7\x6c\x27\x29\xd9\x8e\x0a\x78\x24\xb6\x7f\x3f\xe8\x42\xd6\xf6\xab\x27\x3e\x89\x48\x45\xb3\x2d\xc6\xdd\xfc\x7a\x22\x0f\x76\xbd\x96\x5c\x69\x85\x81\x83\xc8\xf3\x57\x39\x5f\xc5\x7d\xc8\x29\xde\xfa\xac\xb5\x60\x3a\x75\x78\x68\xd5\xe5\x62\xf9\x78\x1e\xe3\x9e\x0e\x94\x68\x8a\xd3\x54\x5b\x32\xdd\x73\x66\xb6\xb0\x47\xe8\xd1\xd3\xd5\x65\x99\x7b\x23\x6e\x7f\x75\x96\xc5\xf8\xd7\xc1\xc1\x1b\xcf\x4a\x24\x46\x20\xcb\xd2\x1d\x55\x9a\x7c\x9b\x3f"}, -{{0x70,0x74,0x56,0x86,0x11,0xa6,0x6d,0xfc,0xa8,0x30,0x7c,0xae,0x60,0x8b,0xb2,0x69,0x95,0x84,0x4d,0xf4,0x35,0xe5,0x30,0x0e,0x5b,0x4d,0x72,0x91,0xcc,0x22,0x90,0x7f,},{0xdd,0xab,0xdd,0xd1,0x5e,0xaf,0x83,0x11,0x5d,0xdd,0x06,0x5d,0x7e,0x22,0x0b,0x1e,0xfc,0x26,0x2a,0x61,0xc5,0x2e,0x91,0x43,0x47,0x44,0x2b,0xde,0x6d,0x00,0x25,0x06,},{0x7f,0x65,0x31,0x34,0xc0,0xb9,0x0f,0x44,0xa4,0x89,0xf0,0xb0,0x5f,0xc4,0x07,0x07,0xad,0x9f,0x13,0x98,0xf3,0x40,0xb4,0x47,0xa3,0xc9,0x86,0x1f,0x51,0x1c,0x9f,0x15,0x68,0x80,0x3b,0x76,0x84,0xa0,0x4a,0x89,0x8c,0x45,0x15,0x4d,0xd4,0x86,0xbd,0x50,0x75,0x89,0x98,0xe1,0x26,0x43,0x93,0x78,0xb3,0xf5,0x9f,0xf3,0x67,0x49,0x2a,0x0a,},"\x6c\x13\x74\x23\xea\xc7\x90\xb8\xe8\xe4\x18\xb2\x90\xe0\x57\x9c\x7b\x86\xb1\x4a\xed\x81\x8d\xe8\xce\x53\xce\xa3\xf3\x40\xa1\xa9\x53\x91\xf9\x84\x96\x8f\x2b\x42\x29\x28\x2a\x81\x61\xc0\x9a\xb1\x49\xcd\xac\xd6\x69\x70\xb4\x01\x3f\x52\xe5\xe6\x8e\xa8\xc9\xdb\x68\x5b\x2c\x53\x07\x35\x00\xe5\xb3\x5e\x29\xea\x0b\xa1\xf4\xd1\x59\xa5\x58\xd3\x61\xb0\x65\x16\x83\x6c\xf7\xb9\xea\x50\x1f\xa0\x50\x6b\x98\x5f\x03\x6a\x82\xd9\xe0\x84\x48\x9d\x3b\xfe\xd3\x40\x93\xe2\xd6\xd9\xed\xf5\x57\x85\xed\x35\xa9\x0c\xe5\x6c\x76\x16\x86\xcc\x3e\xa1\xa2\xc7\x6a\xda\x5e\xc8\xc1\x45\xd8\x18\xb0\x47\xcc\x51\x6e\xec\x5d\x2d\x6a\x93\xa5\x55\x92\xd8\x92\xe3\xd5\xcd\x10\xc2\x50\xc0\x4b\x04\x9b\x38\xfc\x7e\xc0\xf3\x9a\xba\x15\x82\x40\x07\x33\x6c\x2b\x0f\x7f\x81\xd6\x4d\x5c\xa3\xe2\x9d\x6f\xda\x4c\x23\xd9\xba\x65\xd9\xfe\x3c\xb4\xe0\x39\x13\x69\x72\x87\xb4\x6a\x0b\x1f\xcc\xd2\x62\x4e\x39\x7a\xe9\x5c\x52\x54\xbc\xd8\x8d\x2c\x7c\x8f\x70\xfd\xc8\x17\x3f\x64\xc1\xde\x32\x28\x1a\xb4\x18\x46\x93\xb4\x8a\x34\x9e\x67\x82\xbc\x89\x92\xb4\x3c\x7d\xe7\xcb\x9d\x33\x92\x9b\xf9\x53\x06\xc2\xaf\x7e\x93\x8d\x84\x86\xb3\x86\xf9\xfd\x3f\x0f\x71\x61\xe0\xe6\x86\x2d\x4f\x92\x81\x44\x68\x65\xa1\xc9\xbe\x24\x60\xef\xbc\x20\x15\x1b\x06\xe7\x9d\x01\x46\x17\xd0\x30\x0e\x67\x1d\x48\x76\x74\x58\x59\x66\x25\xb7\x6d\xff\xc5\x58\xaa\x9b\x40\x61\x21\x96\xec\x82\x7e\x1c\x6f\xff\x51\x8f\xb7\xad\x4b\xf8\xc4\x6f\xcb\x27\x88\x85\xaa\x49\x1b\x77\xa2\x89\x95\xcf\xb9\xd7\x96\x40\xaa\xd1\x74\xc6\xdf\x43\x93\x8e\x3f\x13\x85\x20\x5c\x54\x59\x5b\x33\xde\xde\x50\x14\x37\x46\xa1\x70\x5e\x7e\x0b\x69\xaf\x4a\x26\xc3\xb7\x65\x15\x05\x18\x92\xb1\x5c\xa6\xe4\x8c\x3d\x91\xfb\xc7\x5e\x8f\xe4\xa0\xfe\x8e\xd2\xc2\x6c\x10\x73\xbe\xb7\x0e\xa3\x8d\x09\x27\x02\x92\x78\x40\x67\x55\xae\x6e\x11\xda\x37\x86\x53\x64\x95\x15\xe0\x08\x5b\x5e\xa7\xdb\x32\x49\x20\x8e\x33\xa6\xc8\xb6\xae\x8c\xd8\x0c\x9b\xd6\xb9\x83\xe7\x3e\x9b\x91\xdb\xec\x09\x1f\xae\x99\x5f\x80\x32\x42\x7e\xde\xc0\x2c\xad\x90\x55\xeb\x8b\x7d\xbc\xfa\x80\xd4\xf6\x4f\x57\x27\xa1\x52\xf1\x1c\x47\xe5\x2d\x75\x3a\x57\xb6\xe5\xfd\xdf\x77\x4c\xea\x4d\xa9\x10\x02\x68\x19\xc4\x1e\x32\xb4\xf1\x99\x72\x7e\x23\xc5\x4a\xb5\xd7\x01\x42\xb8\x54\xa2\x7b\x04\xe6\x4c\xf4\x4a\xf2\xa8\x99\x5e\x12\x00\xbd\x11\x7c\x7a\x16\x74\xed\xef\x59\xbc\x53\xf7\x3a\xda\xf6\x38\xe0\x77\x3b\x85\xb5\x63\x34\xaf\xf6\xe1\x17\x43\xe3\xa3\xd3\x61\x4a\xa8\xa3\x75\xb3\x78\x1e\xc8\x14\xcc\x08\xe7\x1e\xfa\x78\x18\x51\x9c\xb2\x4a\xf8\x2c\x33\x1d\xfd\x6a\xc7\x8e\xc1\x7f\xd7\x17\x4b\x61\x02\x1e\x8c\xf9\x01\xa2\xaa\xa6\xad\xbc\x90\x2a\x91\x6b\x2a\x2f\x4f\x79\xe5\x51\x50\x1f\xbf\x01\xdf\x6b\x85\x18\x50\x4c\x1e\x94\x64\x69\x38\xbe\xd1\xa8\x50\x9c\x2a\x38\xfb\x6a\x79\x8a\x78\x58\xf4\x09\xb0\xf2\xfb\x9b\x3f\x48\x17\xe5\x68\xc5\x2d\x9a\xbf\xe2\x16\x8c\xc3\x65\x0f\xc4\x3e\x0f\x99\x75\xfe\x29\xe3\x3a\xed\x1a\x7b\xf3\x0d\x86\x31\x15\x07\x90\x65\x0a\x3c\xb7\x8c\x36\x8f\x1a\xea\x9a\xc6\x0c\x5e\xeb\x96\x9a\x45\xf8\x4a\xa3\x73\x66\xa8\x39\x77\x19\x0f\x41\xae\x42\x1e\x0c\x46\xfd\xa3\xfa\x01\xb9\x26\xfc\xef\x82\x24\xfd\xa3\x6d\xf4\xf8\xa8\x77\x01\xfe\x79\xfe\x06\x28\xef\x0c\xc0\x2d\xf2\xbd\x78\x32\x07\xc7\xdb\x87\x11\x9a\x03\x69\xfe\x16\xee\xb3\x8f\xdc\x9f\xb3\x5d\x9e\x19\x5f\xe1\x4f\x8c\x10\x38\x20\x8a\xb9\x77\x00\xaf\x79\xf2\xe2\xe0\x54\x96\x83\x02\x07\xc7\xda\x8d\xbe\x8e\x9b\xb7\x3b\xc4\x71\xa4\x3f\x1b\xe6\x50\xfa\x92\x81\x9a\xeb\x5d\xc7\xee\xd7\xee\xd8\x17\x12\x70\xd2\x19\x25\x7d\x19\x61\x0b\x89\xd2\xd6\x2d\x3f\x5b\x64\x8e\x13\x9e\xed\xf1\xff\x74\xbe\x01\xa5\xef\x1d\x95\xf8\x12\x92\x26\x01\xee\x92\x51\x51\x57\xc4\xec\xad\xfa\x3e\xef\x9f\x2a\x67\x7c\x00\x3c\xa4\xab\x9b\x2c\x45\x47\x2c\xe5\x5e\x18\xf4\x0a\x21\xfe\x1b\x0d\x45\xb5\x0b\x50\xc5\x2a\x0b\x1a\x5d\x7c\x37\xd8\xeb\xc1\x5e\x02\x05\x84\xd9\xed\xd7\xb5\x65\x05\xf8\x20\x78\xe0\xf8\x99\x38\x91\x35\x01\x4c\x86\xd1\xe2\xed\x49\xf9\xcd\x31\x90\x76\x94\x35\x53\xa3\x12\xae\x05\xab\x33\x35\x26\xe1\x36\x71\x4f\x09\xa4\x02\xb3\xc8"}, -{{0x7d,0x7c,0xa8,0xe8,0xd3,0xb8,0x43,0x44,0xa5,0xe4,0xde,0xa0,0x8b,0x33,0x8d,0x8f,0xaa,0x5f,0xfc,0x11,0x9c,0xe5,0x66,0xef,0x65,0x6f,0x0f,0x45,0x84,0x77,0x5b,0x21,},{0x0b,0xde,0x34,0xb7,0x46,0xd2,0xc5,0x49,0x08,0x53,0x06,0x4d,0x48,0xc6,0xb4,0xc1,0xcb,0xbc,0x3e,0xe7,0xbe,0xff,0x5e,0x8f,0x68,0x4c,0x12,0x0f,0x31,0x5d,0x7e,0x4e,},{0xd0,0xc3,0xe2,0x48,0xa8,0xcb,0x2d,0xdc,0x7e,0x9f,0x21,0xc9,0xc5,0xb0,0x09,0xf7,0x0e,0xa2,0x9d,0xa6,0x89,0x7c,0xd9,0x2c,0x26,0x0f,0x04,0x7e,0xd6,0x8a,0xa1,0xc8,0xb9,0x65,0x7f,0x9d,0x82,0x6e,0x88,0xf4,0xa5,0x12,0xc5,0x00,0x3b,0xe6,0x40,0x68,0x80,0x74,0x12,0x63,0xae,0x7c,0xe6,0x86,0x0e,0xfe,0x73,0xad,0x54,0xd4,0x82,0x04,},"\x0b\x72\x70\x75\x34\x5d\x61\x9f\x5c\xdc\x7f\xc4\xc4\x3c\xdc\x19\x10\x58\x11\xd9\x5d\x06\x9f\x81\xc0\xa6\x2f\xe1\xe1\x17\x8c\xf1\xc3\x5d\xb0\x5e\x2d\xe8\x7d\x11\xae\x1a\x6f\x53\xef\x38\xb3\x9b\xf4\xed\x8f\xbf\x56\xef\x01\x7a\x1d\x3c\x15\xb6\x4f\xe4\xb2\x61\x0b\xf6\x9b\xd1\x9a\xc7\xaf\xd4\x6a\x2b\x87\xb4\x88\xb6\xc7\x8a\xd4\x56\x81\x1c\x1d\xd6\xbd\x4a\x6b\x5d\xa6\x98\x73\x9f\xd1\xa1\x4c\xeb\x9f\x27\xf1\x24\xb6\x9f\x6b\xd1\x6d\xe5\x53\x7a\xad\x80\x68\x1c\x56\x33\x58\x03\x94\xda\x3b\x84\xe9\xb7\xa5\x5e\xba\xb8\x52\x2d\x2d\x6b\xf1\xaa\x4e\x7b\x15\x9c\xbf\x4e\x20\xb5\x0b\xfe\x9c\x71\x1a\xa0\x47\x11\x9f\x1d\xad\x87\x49\x26\x0b\x87\x63\x9e\x9c\x14\x1d\xef\x62\x02\x6a\x99\x03\x73\xdc\xfd\x99\xf7\x7b\x0f\x5e\xa6\xad\xfd\x8f\x59\x4b\x9c\xe4\x10\x64\xa5\xed\x30\x7b\xf2\xd8\xd1\x73\x70\x49\x8a\xd7\xf4\x5f\x9c\x4d\xd2\x6c\x42\x0f\x45\x0f\x53\x62\x3b\xb6\xd7\xf3\xf4\x6a\x14\x9d\x8f\x13\x5b\xc2\x91\x33\x10\xfb\x8f\x90\x43\xd0\x99\x27\x8b\xbe\xba\x39\x17\x9f\xa3\x67\xb0\x16\x73\xe1\xc9\x53\xef\xfd\x2c\xae\xa7\x31\x1c\x47\xc0\x37\x27\x44\x09\x5b\x1c\x8f\x90\xee\xf5\xf1\x92\x9d\xb1\x99\x6c\xd5\x84\xf6\x15\xd5\x6f\xae\x3a\xec\xac\x3e\xe8\x8b\xd0\xb2\x96\xf4\x49\xcc\x27\x13\xc5\x2d\xa6\x95\x24\x8f\xaa\x8e\x38\x9b\x05\xa0\xbc\xac\x69\xdc\xe9\x71\x97\x23\x19\x4f\x43\x3b\x02\x97\xeb\x08\x59\x01\x9f\x14\x1a\x20\x7c\xe8\xcc\xb5\x98\x82\xca\xa6\xe1\x8f\x0b\x43\xbd\xdd\xb9\x0a\x0a\x85\xff\xd5\x77\xd6\x39\x4a\x1d\x80\x48\x94\x10\xf9\x2a\xfb\x85\xba\x50\x6a\xa9\xf3\xf4\x27\x44\x5d\x21\x22\x4b\x9c\xb0\x46\xc0\x5f\x1b\xac\xd7\xb7\x49\xfb\x7b\x10\x24\xd0\x92\xe4\xee\x4b\x30\xa4\x6e\xdf\x71\x84\x70\xc9\x94\x91\xc6\x8f\x48\x79\xd6\x2b\xfc\xe7\x04\x6d\x81\x38\xcb\xb9\xe7\x21\x29\x99\xa4\x49\x8b\x45\x5f\xc9\x0a\xc2\x83\xe9\x35\xde\x04\xdf\x6f\xc9\x99\xe4\x43\x4b\xe1\x10\x63\xd6\xe4\xee\x9e\x09\x6a\x87\xbc\x71\x6d\x2c\x81\x99\x16\xc3\x7a\x4e\x62\x98\xc4\x99\x45\x36\x6e\xc3\xf5\x00\x72\x0b\x06\xdc\x99\xd3\xd8\xac\x30\x3e\x6c\x26\x4e\x28\xa7\xc2\xd4\x19\xec\x62\x2a\x97\xa7\x11\x54\x4f\xb1\xf4\x73\x5b\x11\xf8\xbb\x1d\x7e\x2c\x81\x6a\x15\x62\x87\xb4\xcc\x0c\x65\xaa\xa2\x80\xb8\x37\x73\x7f\x0a\x84\xe3\x6d\xe2\xdf\x2f\xc3\xa5\x0d\xf9\x80\x91\x8f\xb9\xe5\x83\x4b\x42\xac\x0e\x0c\x72\x78\xd7\xfe\x8d\xb4\xdb\xde\xca\x01\x41\xd5\xfe\xf5\xdc\x61\x51\xf8\x7b\x86\x34\xc2\x41\xa8\xfa\x0a\x82\x71\x78\x99\x77\x3a\xe8\x9f\x53\x78\x90\xb9\x15\x5a\x7a\x05\xbc\xe4\x78\x66\xec\x20\x28\xa4\x78\x98\xd4\x85\x82\x3a\x2e\x99\x23\x19\x68\x0e\xb6\x99\xb0\xdd\x53\x58\xf5\x46\xfc\x53\x7c\x73\xd3\xa4\xb2\x23\xa0\x94\x15\x18\xb6\xd1\xe6\x6b\x27\x67\x6c\x1b\x1f\xc7\x6a\x08\x32\x05\x24\xa7\x2e\x29\x7f\xce\x17\xaa\x80\xd8\xea\x7b\x38\x8a\x55\x16\x8e\x7d\xad\xb8\x36\xe9\xde\xe7\x07\xed\x25\xc0\xee\x4d\xb2\x5b\xee\x3c\x48\x5b\x39\x64\x92\x04\xef\xaf\x28\x20\xb2\x73\x63\x68\xfc\x77\x3c\xe0\x90\xc3\x85\x37\x80\x02\xc4\x71\xb0\x94\x79\x5c\xb2\x66\xd3\x9e\xb7\x58\x0d\x70\x1b\xe4\xc8\x91\x6f\x6b\x38\xbf\xe2\x5f\xdf\x36\xd6\xc4\xad\xaf\xa9\xae\x98\x64\xc5\x7b\xb7\x37\xb4\x95\x06\xed\x38\xd6\x2d\xe6\x0c\xc0\x59\x9e\xc6\xbb\x1a\xcf\x24\xb1\xd3\x7d\x60\xef\xde\xb7\xd9\x42\xc5\x36\x03\xa2\xf0\x47\x6e\x95\x12\xc9\x38\xb2\x8d\x49\x5a\x6f\x26\xa9\x07\xc3\x96\xb8\x41\xae\xdd\x8e\x14\xac\x44\x7b\x49\x5d\xf1\xf6\x76\xda\xcc\xd5\xa7\x40\xc0\x42\xf5\x77\x2b\x7d\xb1\x7f\x4f\x1a\x3a\x1c\x8e\x7c\x48\x83\x70\xe7\x36\xb5\x1e\x69\x0f\xd2\xdd\xcb\x5a\xa6\x19\x57\xa7\xc7\x97\x5a\xcb\x2d\xcb\x91\x5d\x07\x4d\x74\x42\x79\xea\x1c\x41\x69\xf8\x68\x87\x3a\xc5\xc2\x08\x90\x16\x2c\x1d\xf9\x65\x64\x19\x97\x5a\x43\xd3\x19\x8e\x18\xc3\x09\xa1\xeb\x7c\x1d\x87\x87\x3f\xb1\x5c\x6d\xa4\x7f\x54\x8a\x01\xf6\x9b\xda\xb9\xc3\x9e\xf0\x0d\x41\x8a\x6f\x61\x9d\xd7\x3d\x7d\xb4\x5c\xbb\x6a\xd2\x25\xa2\xde\x78\x7b\xa7\x77\xbc\x73\xd2\x8f\xc3\x04\xf1\x00\x09\xf4\x02\x2c\x2c\xf8\x4d\xe0\x08\xd7\x0f\xcd\xc8\xba\x7f\x10\x7c\x36\x98\x59\xe9\xc9\x0c\xa8\xa3\x93\xb5\x53\xf2\x66\x05\xff\xd7\x23\x0c\x92\x14\x90\x70\x0f"}, -{{0xd2,0x1f,0xdd,0x7b,0x10,0xe5,0x4a,0x8b,0x6b,0xe9,0x5a,0x02,0x24,0xad,0x70,0x66,0x4d,0xd9,0x21,0x12,0xe2,0x68,0x3a,0x4f,0xd2,0x79,0xc4,0x07,0xdb,0x38,0x71,0xbb,},{0xf8,0x9c,0x27,0x2e,0x7d,0x1c,0xc9,0x3d,0x69,0xf6,0x94,0xde,0xc9,0xcc,0xe0,0x5a,0xc2,0x47,0x73,0x45,0x04,0x82,0x9c,0x56,0x99,0x74,0x13,0xc8,0x95,0x8b,0x93,0x30,},{0x6d,0x69,0xe8,0x3b,0x3e,0x7e,0xd5,0x5a,0x85,0xf9,0xfc,0x9d,0x25,0x19,0xda,0x0b,0x0a,0x1e,0xb4,0xda,0xae,0xe9,0x91,0xa6,0x65,0x1f,0x5c,0x89,0x19,0x0c,0x0d,0xe7,0x23,0x73,0xcd,0x98,0x9d,0x46,0xbe,0x13,0x67,0xf9,0xda,0xf1,0xb9,0x2f,0xed,0x3b,0x52,0xbb,0xa5,0x4a,0x1e,0x4c,0xca,0x5b,0xc8,0x72,0x6e,0xd0,0x7f,0x30,0x25,0x01,},"\xb8\x64\x4a\xdb\xef\x9c\x7c\xab\x91\x20\xac\xed\xc8\xe7\x5c\x43\x3d\x03\x6f\xfa\xe0\xf9\x55\xbe\x6a\x48\x8f\x1f\x42\x7a\x68\xa8\x90\x2d\x02\x6e\x63\xdd\x6c\x9b\xf9\xd9\x7d\xe7\x86\xb3\x1d\xd4\xf4\xc9\xa4\xf8\xa6\x22\xf1\xff\xc8\x4d\xa6\x96\x7c\xa7\x74\x33\xc3\x98\xf4\xd3\xf1\xc4\x43\x49\x89\xb7\xac\x9d\x0f\x3b\x1b\xe0\xc8\xb3\x52\x82\x4f\x4e\x7a\x08\x3f\x34\x2e\xc1\xbe\x1d\xa8\xfb\x75\x52\x42\xa6\x54\x88\x0e\xf2\x98\xf0\x59\x79\xff\x02\x6d\xdc\xc0\x44\x86\x0e\x67\x57\xa2\x9c\xfa\xa2\x22\xa3\x59\x7e\x38\xf1\x77\x99\x62\xa4\x1a\x4c\x8c\xe6\xa6\x5b\x87\x81\x99\xb4\xd8\x0f\x4a\x03\x90\xca\xc1\x9c\x22\x6e\xea\x4b\x60\x36\xe5\x7a\xd8\x30\xec\xfc\x00\x69\x3e\x26\x13\xd3\xed\xf4\x65\xfc\x8c\x4f\xa2\x93\xfd\x8c\xfc\x36\xdc\x8e\x37\xbc\xeb\xab\xec\x03\x49\xeb\xd8\x84\xe1\xb2\x8b\xce\x82\x4e\x0d\x55\xb6\xd0\x15\x38\x38\x01\x66\x8b\x34\xf5\xba\x72\x3d\x2a\xc0\xa2\x64\xfa\xb2\xc7\x28\x60\x8f\x16\x2d\xe0\x11\x79\x25\x9b\xe2\xcc\xb0\x81\x50\x02\xfd\xed\x8e\x0d\x78\xb0\x28\x07\x31\x3e\x91\x0e\xb3\xa7\x33\x7c\x53\x4e\x84\x6f\x9e\xe1\x55\x42\x6e\x4a\xef\x64\x36\x61\xb0\xed\xb4\x45\x96\xfd\xdc\xd0\xb3\xe8\x14\xc1\x37\x81\x7a\x42\x2b\xaa\x40\xc9\x05\x3d\x03\x86\xc6\xec\xdb\x58\x90\x52\x59\x47\x42\x67\x7c\x48\xdc\xfc\x8c\xd4\xa9\x36\x67\xed\x4d\x87\x64\x60\x01\xed\xa0\x79\xe8\xb9\x9d\x52\xba\x21\xc5\xec\x56\x69\xfe\xdf\x6f\x40\x44\x7a\x7f\xf8\x90\x1d\xb0\xef\x18\x47\xd3\xca\xcf\x01\x98\xa2\xf3\xbd\x7b\xcf\x2d\xd8\x11\xa0\x97\xfc\x5e\x51\x88\xb0\x3f\xdf\x54\xe5\x17\x63\x7a\x14\x50\x10\x00\xd0\xd3\x55\x16\xca\xf0\x69\x94\x02\xb4\x8f\x8d\x8c\xc3\xaf\xb1\x7a\x56\x13\x2d\x08\x23\x70\x35\xa0\xc9\x54\x90\xbf\xe5\xd7\xb7\xfb\x40\x17\x8f\x28\x1e\x4d\x87\x2e\x47\xa0\xe9\x55\xce\x97\x36\xf3\xc3\x33\xa6\xad\xf5\x0a\xd3\x19\x94\xeb\x9f\x45\x32\x7f\xac\xc8\xc5\xd1\x13\xfa\xd4\x71\x3f\xe7\xf1\x98\x01\x0d\x42\x04\x6b\xbf\xe6\x8b\x0d\xaa\x79\xdc\xb8\x75\x59\x29\xbe\x92\xf9\xca\xa1\x50\xdf\xbd\xe3\xfc\x9e\x39\x2b\x2b\x70\x1c\x30\x21\xc2\x40\xe4\x67\x9d\xe4\x11\x24\xb1\x88\x8e\x5d\xb5\xa8\x3d\x05\xce\xaf\x49\xeb\x44\x0d\xc4\x50\x26\xd4\x50\xbc\x98\x4b\x8d\x6f\x02\x85\x0e\xcb\x57\x0e\xee\x0a\x38\x19\xb1\x2b\xc2\x63\x67\xb5\xb9\x8e\x1b\x14\x1c\x9b\x0a\x96\x90\xea\x4a\x37\x00\xda\xd1\x23\x95\xf9\x75\xd1\x1c\xd7\x7f\x96\x36\x88\x31\xf2\x1f\x4e\x96\x8c\xc5\xba\x9e\xf8\x24\x74\x03\x8b\xc7\xaa\x26\x12\x2d\x21\x8b\x74\x30\x41\x50\x6a\xeb\xbd\x1f\x98\x79\x59\xfd\x16\x0d\x6e\xb7\xd5\x8d\x4f\x57\x6f\x8c\x0c\xa8\xaf\x86\x8e\x39\xb5\xea\x87\x20\x39\x37\xe0\x30\x8a\xcb\xea\xe9\x1e\x10\x60\x7e\x44\xe8\xab\x49\x5b\xc0\x1d\xd5\x73\xfb\xad\xc9\x44\x79\xff\x92\x08\x2c\x7b\xb7\x51\x34\x79\xc7\x0f\x04\x07\x76\x90\x25\xd3\x4d\x72\x14\x0c\x25\xd8\x21\xf0\x34\xa3\x98\x51\xa9\x3c\x62\x3b\x71\xc9\x40\x0e\x94\x26\x39\xf2\x8b\xbd\x03\x2e\x1d\x8d\x3c\x05\x9f\x7c\x2c\xd3\x1d\x74\x76\x46\x2d\x27\x76\x03\x5d\x07\x88\x02\x02\xdb\xfe\x9e\x07\xd1\x54\x62\x2d\x7a\xc6\x17\x5a\x5a\xfa\x79\xfe\xd4\xdc\xc1\x37\x12\x62\x0c\x41\x99\x4e\x11\xd9\x24\x30\x8f\xb2\xff\x3a\x1e\xda\x44\xc7\x61\xbc\x73\x6f\x34\x51\x22\xf0\x2a\x40\xae\x6f\x7d\xbd\x03\xd9\xfe\x96\xee\x3d\x7a\x3b\x4a\x5e\xef\xbf\xcc\x56\xdc\x42\xef\x27\xbd\x80\x85\x17\x60\x38\xb9\xeb\xae\x63\xaa\x75\x03\x52\x75\xec\x34\xe4\x18\x57\x39\xd6\x36\x24\x67\x70\xac\xcc\xc6\xdc\x62\x0e\x2f\xc9\x15\x6f\xa9\x48\x3e\x0d\x9c\xae\x0e\x8c\x46\x39\x48\xa3\xd9\x7a\xe8\xdd\xa5\x96\x6c\x88\xf0\x70\x93\x29\x2c\xce\x22\xbb\xda\x06\x2b\xaa\xfa\x7f\xe8\x4d\x0b\xa2\xd2\xdd\x29\x5b\x23\x45\x8b\xca\xeb\x2e\xf7\x42\xa2\xed\x1c\x83\x44\x83\xcd\x70\x93\x85\xaf\xea\xdc\xbc\x0a\x9c\x6a\x4f\x38\x7b\xab\xf7\xe3\xdc\x36\xc8\x10\xdb\x20\x9b\xeb\x66\xc8\x66\x64\x04\xc6\x61\xdf\xe9\xd3\x2c\x4c\x08\xaf\xc6\xf3\xb1\x25\x7d\x64\x84\xa7\x55\xf5\xac\x70\x1e\xb1\x3f\x87\x76\x3f\xee\x33\x0f\xfa\x04\x22\xcd\x80\xa9\x20\x38\xc6\xf4\x52\x92\xbd\xee\x5f\x89\xe9\x4c\x7a\x65\x21\x97\xfc\x19\x06\xb4\x82\x58\x37\x24\x49\xb1\x08\x1c\x6b\x97\x13\x4c\x43\xc8\x9e\xe2"}, -{{0xd3,0x36,0xfd,0x84,0x08,0x19,0x6d,0x22,0xfb,0x69,0x8e,0xb2,0x5b,0x76,0x54,0xfd,0xa4,0x6f,0x5d,0xe4,0xc9,0xb4,0xd0,0x49,0x50,0xc3,0x98,0xb5,0x9a,0x44,0x29,0x0a,},{0xf3,0xcd,0x96,0x34,0x7c,0xea,0x63,0xe5,0x00,0xa4,0xc9,0x2c,0x3b,0xf2,0x15,0x66,0x2d,0xd0,0x40,0x07,0x84,0xdb,0xf8,0xb5,0x95,0xdd,0x3d,0x39,0x5f,0x90,0xcc,0x12,},{0xaf,0x7e,0x2d,0xf7,0x52,0x9f,0xd1,0x8d,0x1b,0x21,0xb8,0xfd,0x4c,0x06,0x81,0x50,0x59,0x18,0xe2,0x51,0x14,0x34,0xfe,0x4e,0x49,0x54,0xe7,0x43,0xc1,0xcf,0xa4,0x5e,0x41,0x09,0xd3,0x6c,0x3e,0xec,0xf2,0xe2,0x5d,0x20,0x9b,0x9b,0x5d,0x25,0xf7,0xcb,0xc3,0x80,0x29,0x6d,0x64,0x77,0x52,0xe3,0x0d,0x3b,0xea,0x3b,0x92,0x9b,0x09,0x03,},"\xfb\x49\xc1\x9b\xc4\x44\x4c\x28\xeb\x26\x25\xf3\x1d\x99\x6d\x5e\x36\xc5\x7f\xa6\xfd\xd7\x72\xe6\x7b\x71\x99\xce\xc6\x7e\xda\x54\x51\x71\x2d\xf7\xa6\x9d\xbb\xd5\x6e\x7c\x39\x87\x96\xb2\x00\x1d\xef\x65\x1c\x4b\x9c\x05\xee\x31\xd9\x56\x79\x53\x5c\x81\x2a\x37\xd3\x1d\xdb\x30\x73\x19\x9c\xd7\x04\xff\x7c\xa2\x98\x1f\x7b\x9c\x92\x7a\x7f\x7d\x77\x6f\xb6\xf6\x09\xf7\x27\xe6\xea\x70\x9c\xe7\xf4\x3a\x60\x79\x35\x04\x16\x9a\x89\x05\xd9\xb2\x31\x09\xf0\xd8\x67\x96\x6a\xa3\xe3\x00\xc7\xe1\x1d\xde\xdb\x9c\xc1\x17\xb9\x04\xf6\x29\x27\xe4\x8e\x4d\x73\xfe\x1a\x6c\xec\xcc\x4c\xeb\x08\xe6\x4a\xb5\x5f\x25\xc9\x82\x16\xce\xc9\x37\x60\x8a\xd7\x93\x14\x69\x98\xf1\x4c\x29\x85\xe6\xc2\x91\x0d\xf7\xb1\x38\x8f\x9d\xd8\x63\xf1\xe4\xd7\xd1\x62\x14\x79\xb8\x51\x2c\xdb\x34\xe6\x73\xeb\x02\xa4\x89\x34\xe3\x9c\x2d\x18\xd7\x0f\x96\x6d\x67\x6a\x2b\xd7\x5d\xb5\x43\xd2\x5c\x5d\xcd\xc3\xef\x3b\x8b\xc8\x20\x18\x48\xc3\x09\x61\xe9\x15\xd9\x68\xbd\xc3\x19\x46\xb0\xd1\x8e\xde\x7c\xb0\x16\x6d\xbe\x1f\xfe\xff\x94\x39\xc9\xc3\x40\x4a\xf6\x01\x6c\x73\xed\xeb\x25\x3d\x93\xf5\x62\xa1\xa6\xcd\xd5\x78\x98\xa9\xb3\x42\x25\x87\xd5\xf5\x6a\xf3\xd0\x6b\x3f\x6c\x25\x75\x1f\x44\x46\x0f\xb3\x29\x96\x56\xdc\x11\x22\x7e\xf4\x83\x7a\xab\xdd\xee\x40\x0f\xa5\x3f\x69\xe5\xce\xd0\x53\xc7\x6d\xce\xcd\xf0\xad\xc9\xef\x80\xf4\xb3\x30\x54\x2f\xf1\xfa\x2d\xf0\xb8\xd4\x3c\xd1\xc3\x11\xb1\xb9\x95\x5c\x63\x2c\x8e\x5f\x04\x91\x93\x1c\x04\xde\x43\x4d\xf8\xf7\xa3\x94\xe5\xfe\xf0\x16\xdb\x2e\xb7\xc8\x7b\x2a\xc7\xa4\xa7\x30\x43\xbd\x7f\x98\xad\x0a\x4d\x45\x3a\xbf\xb0\xbe\x8b\xe4\xcb\x14\x57\x42\xaa\x56\xaa\x5e\xf2\xdf\xf1\x22\x30\xa5\x10\xe3\xb7\xf8\x2f\x78\x47\x70\x0e\xee\xa5\x90\x5b\x02\x89\x69\x6c\x4c\x14\x2b\xf3\x4b\xcf\x81\xa9\x62\xd7\x5b\x8d\x09\x10\x55\x73\x37\x79\x33\x5b\x7f\xd4\x7a\x20\xd1\x7c\x94\x8a\xb7\x32\x94\x78\x32\x67\x43\x71\xe2\x2e\x71\x11\x34\xf5\xc9\x19\x79\x23\x57\xf7\x9b\xf7\x0c\x44\x70\x78\x75\x28\x43\x4f\xc0\xb4\xca\x09\x3e\xe9\x25\x43\x42\x0d\x1c\xa8\x11\x24\xf5\x58\x53\x17\xe2\x50\x82\x1a\x4f\x3d\x8c\xe0\xf9\x19\xde\x9f\xbf\x01\x27\x08\x7e\x67\x69\x03\xf6\xcb\x39\x02\x5b\xcc\x73\xa0\x76\x29\x54\xb7\x2e\x66\xa6\xbe\x9b\x96\xc9\x7b\x6f\x60\x30\xbf\x5c\xa0\xbc\x27\x27\xa9\xa1\x79\xcf\x9d\x94\x05\xf3\xfe\x18\xf3\x49\x23\x89\x07\x9a\x5b\x65\xbc\xb1\x3a\x0d\x5e\xf4\x1c\x2c\xd9\x7e\x70\x2c\xee\x4a\x2f\xeb\x1e\x67\x02\xbd\x4c\x63\xfe\x0a\x4a\xe9\x94\xc4\x28\x7a\x83\x7b\xc3\xf6\x4c\x2d\x89\x88\x57\xcd\xb3\x2a\xcd\x4b\xd1\x33\x67\x6e\x51\xf7\x7b\xc7\x11\x0e\x3c\xe5\x2d\x92\x04\xfd\x26\x91\xa6\xd3\x70\x78\xf6\x8e\x7b\xce\xf3\x0f\xc9\xc4\x83\x98\x58\x22\xb6\x61\x11\x92\x38\xe4\x0f\x9c\xfd\xca\xbe\xf2\xd7\xb1\x6b\x05\x9a\xb2\x4a\xdc\x05\x00\x37\x12\xbb\xb1\x28\x09\x6e\x37\xf9\x1b\xc4\xc5\xc8\x15\x08\xbe\x27\xfa\x0b\x84\x94\x0b\xe3\x6b\xce\xd2\xe6\x5c\xd3\x6b\x39\xfb\xdc\x5e\xa6\x86\x14\x15\x92\x28\xca\x65\xc5\xd8\x40\x7b\xaf\x66\x3b\x52\x8e\x7d\x87\x73\x4c\x7b\xc7\x7d\xc8\x43\x1a\x1d\xd6\x87\x3c\xfd\xdf\xc3\xe7\x57\xd9\xad\x1f\xed\xd3\xc7\x98\xf1\xfe\x60\xe7\x15\xee\x48\xa6\xbc\xbb\x13\xb6\x16\xa8\x9a\x38\xe3\x36\x48\x9d\x3d\x6c\xcb\x72\x69\x14\x11\x2a\x1b\xc5\xd9\x77\xc9\xb2\xa3\xfa\xc1\x07\xad\x09\x4b\x03\x8a\xb7\x54\x68\x26\x3c\x34\xbd\xa8\x17\xc0\x56\xe0\x7a\x6c\x56\x69\x7c\xb6\x4a\x0b\x1f\x96\x6f\x6d\xe0\xbb\x1c\x0a\x71\xc8\xa5\xfe\x13\x3b\xa2\x03\x6d\x24\xda\xcc\xad\x3f\xa0\x3b\x39\xcd\x27\xf8\x32\x75\x27\x51\x05\x5a\x81\x55\x91\x3d\x04\x0f\x51\xda\xe7\x8d\x71\x94\x6c\xa0\x4d\x83\xc7\xc8\x94\xc2\x80\xaa\xec\x28\x55\x43\xe5\xfd\x5e\x32\x7a\xcc\xca\x9a\xbe\xf1\x56\xa1\x3b\x95\x71\x44\x6b\xd8\x00\x7f\xf9\x2d\xbc\x0f\xba\xf2\x3a\x94\x41\xb5\x3c\x1c\xd7\x40\xc3\x4c\x28\x29\x29\x10\x1a\xd2\xea\x8b\x85\xd7\x00\x52\x99\x1b\x77\x4e\x92\xff\x75\xcc\x85\x11\x3e\x09\x00\xb5\x1b\x86\x3e\x1f\x2a\xda\xab\x2d\xbc\xf4\x6a\xf4\x79\xea\x24\x8e\xc2\x88\x9a\xfb\xfe\x73\x74\x08\x39\x3a\x2b\x1b\x33\x01\xf6\x5c\x1f\xac\x8b\x67\x67\x95\xab\x5b\xf4\x47\xf0\x5e\x0d\xaf\x67\x76"}, -{{0x65,0x73,0x22,0x78,0x41,0xf6,0xf9,0x28,0x31,0x14,0x6c,0x44,0xc0,0xe4,0x80,0xcd,0xf5,0x44,0xbb,0x87,0x65,0x52,0xcc,0x5f,0x9d,0x42,0xf1,0x5b,0xdc,0xc0,0x44,0xb8,},{0x19,0x22,0x57,0xa5,0x4c,0xe5,0xd0,0x4c,0x19,0x43,0x9f,0xdc,0x9e,0xde,0x18,0xec,0x85,0x6e,0x29,0x87,0x0e,0x24,0xd3,0x73,0x1f,0xe2,0x22,0x47,0x99,0x94,0x9b,0x7e,},{0x53,0x8e,0xac,0xe4,0x93,0xde,0x53,0x38,0x4b,0x1e,0x98,0x5b,0xb9,0x07,0xc0,0x94,0xf8,0x16,0x84,0x30,0xda,0xb1,0x4d,0x37,0x79,0x1b,0xe6,0xe7,0x8f,0xf3,0xf5,0xa3,0x06,0xec,0x70,0xdc,0xac,0x86,0xd9,0x93,0xa4,0xc1,0xf7,0x58,0x50,0x78,0x6d,0x79,0x5f,0x02,0x2b,0x79,0xbe,0x6a,0x54,0x77,0x69,0xe4,0x15,0x69,0xc5,0xa9,0xa3,0x0a,},"\x6e\x7c\x6b\x12\x2a\xb3\x6b\xd1\x35\xf6\x9e\x2b\x85\xe7\xfc\xce\xfb\x07\x2c\x12\xcf\x08\x8a\x32\x29\xd8\x76\xef\xf5\x32\x38\x9f\x05\x77\x11\x6f\x7a\xf2\x9f\x11\x95\xe3\x82\x88\x39\x38\x13\x80\x46\x71\x78\xb2\x29\xc5\xa1\x8d\x7c\x49\x43\xec\x97\x0d\xd1\x8b\xce\x72\x3b\xd0\xca\x91\xff\xa9\x55\x63\x54\x6a\x32\x4f\xe0\xb9\xbf\x6c\x04\x55\xd4\x27\x60\x39\xe8\xd2\x91\xfc\x72\x76\xaa\x55\xa1\xcd\x3e\xa0\x52\x82\x65\x4a\x7f\x97\x00\xad\xcb\xc7\x80\x77\xc5\xdd\x0f\xc8\x6e\xce\xd4\x8f\x4a\x60\xcc\xb7\x6b\xfb\x8b\x45\x62\xba\xc2\x2a\x02\xd1\x9e\x44\x89\x39\x4a\xb9\x71\x9f\xc1\x44\xf5\xdb\x2e\xf0\x39\xb3\x7f\x3b\x51\xd1\xd6\x57\xa0\xcf\x83\x5d\x71\xf1\xa4\xaf\x01\xeb\x9f\xd8\x85\xc6\x04\xa6\x24\xcb\xe9\x10\xbf\xde\x09\x3a\xd3\xf0\xcb\xfd\x9a\x48\x30\x73\x29\xd4\x42\x34\xbd\x01\x19\x1d\x56\xe5\x22\xd7\x2b\x54\xe1\xfe\x47\x33\xda\x3a\xec\x68\x27\xea\xb3\x55\x48\x98\xe0\x3e\x57\x7b\x4e\x7b\x9d\xd3\xf3\x08\xe6\x16\x80\x8d\x02\x94\x49\x9f\x28\x86\x29\x5e\x54\xc3\x60\x19\x9c\xa8\x3a\x83\xff\x46\x19\x5e\xa3\xc4\x84\xa6\x68\x38\xd5\x1a\xcb\xe9\x61\x1e\xee\x03\x6a\xe2\x81\xc6\x79\x3c\xbd\x45\x1f\x92\x71\xfb\x5d\x25\xea\x7c\x18\x99\xab\x5d\x43\xed\x8b\x9d\x06\x7b\xc5\x6d\x8d\x4a\x15\xf1\xda\xb8\xd8\xd9\x5d\x1b\x17\xaf\x64\xcb\x18\xc1\x14\x75\x51\x14\x7a\xdd\xcb\xdd\x53\xfb\xcc\xd9\x02\x6f\x85\x55\x47\x13\x1b\xee\x95\x07\x16\x39\xf6\x49\xf2\xd0\x35\xa2\x5a\x3e\x42\xe3\x8e\x22\xbb\xf0\x38\x10\x6c\xe8\xbc\x4a\xd6\x76\x8a\xb9\x2c\xd5\x7a\xfa\xcd\x04\xee\x55\xcf\x07\x14\xb7\x68\x95\x2d\xac\x24\x0b\x1e\x9b\x28\x35\xec\xf7\xb0\xd6\xc4\x07\xc8\x25\x24\xa9\x23\xb9\xf5\x4d\x1b\x8f\x12\x56\x4a\x87\x21\x44\xef\xad\x3f\x3a\x7d\x23\x97\xcd\x12\x17\xdc\x5a\x9c\x96\xe4\x3b\x29\x60\xa8\x42\x5e\x97\xe0\x7a\x02\xb0\xda\xc9\x0f\x34\x6b\x91\xa3\x46\xa2\x3e\xd2\xbb\x7f\xe6\x91\x9c\x22\xdf\xf0\x3f\x62\xda\x7d\xba\x17\x6e\x8d\xdb\x22\xf3\xf3\xa6\x68\x89\x1d\x3f\x4e\x69\x54\x8d\x0a\xc4\xe7\x1e\x6d\x28\xed\x5a\x67\xab\x5a\xc6\x11\xd4\x60\xb6\x7a\x20\x1f\x4f\x56\xa5\x00\x3c\xa7\xa7\xd1\xcd\x1d\xb6\xc1\x00\x75\xb0\x92\x27\xcb\x8c\x5d\xc1\x66\x6f\x8b\xe7\x10\xb4\xb7\xbc\x2b\x95\xae\x60\xda\x4f\x64\x17\x9a\x50\xd2\xf8\x87\x44\x36\x15\x91\x67\x1d\x36\xb7\x29\x63\x15\xf6\x99\x64\x39\xad\x79\x82\x1d\xa8\xe7\x72\xdf\xbf\x55\xa9\x0d\x5d\x52\xef\x7d\x76\xb3\x5f\xfe\xbd\x42\xe3\x52\x5f\x45\x30\xc5\x4a\x0f\x23\xb4\xd0\x7c\x5f\x59\x74\x47\x0e\x89\x40\x4d\x17\x6e\xef\xf9\xef\x23\x33\x61\x96\x91\xc5\x9b\x7a\xad\xd4\x2c\x29\x6b\x1d\x0d\x32\x8d\x9a\x3b\xd5\x9a\x54\xbb\xa9\x3a\x0c\x1f\x1d\x62\x41\x8c\x21\x90\xc3\x81\x74\xb6\xab\xea\x02\xdb\x66\xe8\x18\x32\x0e\xc4\xb8\xba\xc1\xc1\x2f\x18\xf3\x0d\xad\xe2\x7e\x63\xc5\x8f\x9e\x7c\xaf\x4b\xf6\x9b\x26\x5a\x2f\x9d\x91\x80\x08\x61\xac\xf4\x79\xe6\x5e\xc1\x7e\x68\x05\x77\xe0\x58\xcb\x16\xc1\x09\xbc\xf9\xb2\x90\x9f\xce\x33\x61\xa2\xc2\x68\x5c\x10\xbe\x85\x40\xa1\x22\x2d\xb5\xec\xf0\xcc\x4d\x53\xa4\x21\x4b\x7b\xf6\x24\x8a\xdc\x3a\x86\x1e\x34\x84\x1a\x37\x79\xc4\x60\x46\xc5\x36\x4f\x1e\xa9\x1a\x78\xc9\x70\x0d\x46\x2e\xcf\xaa\xe3\x6b\xa7\x60\xc1\xbd\x6a\x23\x7c\x96\x1e\xdf\x40\x22\xce\xde\xfe\x5e\x93\x7b\xbe\xd7\x05\x1a\xe6\x1b\x96\xd0\x8b\x04\x87\xce\x05\x68\xff\x0d\x32\x74\x0b\xbd\x49\xad\x0d\xb8\x6e\x09\x10\x2a\xb2\x1a\x91\x56\x16\xe9\xdf\xdd\xc8\x1e\xbf\xb3\x6c\x90\x3e\x07\xa4\x0c\xd2\xdd\x11\x9f\xf4\xa5\x0b\x93\xfc\x6f\xdf\xc0\xf3\x6e\x59\xe0\x14\x8f\xcf\xf3\xfe\x8e\x2c\xd6\xd3\x0a\x9e\x4b\x8f\x01\x55\x67\xd1\x18\xb6\x27\x4e\x1e\xd7\x5b\x22\xe4\x4c\xa9\xd9\xdb\xfc\x16\x07\x42\xcf\xac\x58\x1e\x1a\x0b\xf5\xff\x33\x26\xbc\x5f\x78\x96\xb9\xca\x05\xa8\x11\xd5\x5e\x97\xc8\x34\xd3\x7a\x64\x95\xcc\x26\xcf\x44\x2b\xd2\xd9\x01\x29\x89\x5e\x9c\xc0\xed\x01\xe2\x15\x52\x93\xf4\x7a\x07\xab\x58\x80\xc6\xca\x29\xed\x44\xd9\xcc\xbc\xaa\xda\x7f\x3e\xb6\x04\x02\x18\x14\x88\x65\x4e\x04\x91\x15\x78\xb1\xaa\x9c\xdd\x4b\x86\xb0\xdd\x24\x50\xdf\x3a\x43\x08\x1e\x41\x10\xab\x58\xde\x76\x39\x24\xd3\xc8\x91\x52\xe9\x92\x93\xe6\x38\xf9\xac\xd8\xd7"}, -{{0xa6,0x3c,0x1f,0x54,0xb2,0xca,0x05,0x8f,0xed,0x2e,0xe2,0x50,0x4b,0x98,0x3f,0xf3,0x3d,0x57,0x0a,0x9b,0xab,0xa5,0x83,0xc0,0x86,0xce,0xfe,0x19,0xf4,0x3e,0xc4,0x9d,},{0x32,0x9b,0x86,0x6b,0xca,0x41,0x94,0x29,0x7f,0xc1,0xad,0x5a,0x0e,0xba,0x0d,0xf9,0x56,0x69,0x9c,0x74,0xab,0x7d,0xa5,0xfa,0x54,0x62,0xbd,0x06,0x61,0x47,0x10,0x20,},{0x28,0x33,0x59,0xbe,0x41,0x29,0x0a,0x51,0xe6,0xa7,0xc5,0xd5,0x72,0x5c,0xa4,0xea,0x0a,0x68,0xf1,0x4a,0xca,0x14,0xb0,0xf0,0x25,0x66,0xde,0xe2,0x1f,0x49,0x0d,0xa3,0xc7,0xe9,0x5f,0x7a,0xb7,0x39,0xbc,0x35,0xa7,0xf4,0xf2,0x32,0xe9,0x71,0xaa,0x15,0x76,0x57,0xa6,0x33,0xeb,0xa0,0xe7,0x2d,0xc9,0x7a,0xf3,0x2c,0xdb,0x92,0x87,0x02,},"\x79\x1b\x86\xfd\x58\x77\x13\x47\x8f\x92\x34\xff\x30\xce\xfc\x12\x3c\xd7\xc3\xeb\x12\x5f\xa7\x4e\x4c\x6d\xb6\x4e\x78\x44\xf7\xc8\x5b\x16\x86\xe7\x1e\xd0\x8d\x1a\x6a\x04\xe0\xeb\xbd\xff\x4a\xb1\x60\xc9\x76\xc8\xab\x9b\x50\x5f\x6a\x7e\xb0\xa1\x84\x27\xe9\x99\xa8\x82\x8d\xf1\x06\x84\xf8\xc7\x5b\x6a\x6b\x0a\x64\xc0\xaf\xa4\xbb\x22\xbe\xd1\xcb\x93\x25\x35\x9c\xac\x3b\x8c\x50\x8d\x98\xbc\xb0\xeb\xcd\x74\x8d\xc1\x32\xf1\xd6\xa3\x60\xa4\x45\x0d\x12\x92\xa1\xfe\xfc\x4e\x57\xe4\x10\x7a\x22\x3f\x42\x1e\x7d\x14\xa3\x84\xb8\x5c\x18\x84\x4d\x0b\x9e\xed\x2e\xcb\x81\xbb\x74\xe8\xa1\x26\x52\xd9\x85\x05\x79\x5a\x01\x31\x16\xa7\x07\x6c\xcb\x54\x93\xd6\xa7\x11\xf7\x63\x7e\x97\xa7\x80\xe7\x4d\xa1\xb3\x9b\x15\xcc\x7b\xbd\xe2\xe6\xc4\xd0\xd3\xe8\x30\x05\x97\xc8\x36\xe8\x0b\xcb\x8d\x80\x81\xd9\x74\xe0\x24\x32\xea\xc8\x83\x68\x21\x1d\x3a\xaa\xe8\x9a\x14\x41\x71\x08\xe1\xff\x67\x37\x08\x38\x49\xc6\x25\xb4\x0d\x63\x1f\x6c\x83\x57\x22\x0c\x7f\x37\x38\x0b\x3b\x2c\xc5\xd0\xe2\xdf\x6b\x4d\x11\x96\x57\x9d\xbc\x57\xb6\xc9\xea\x0d\x41\xf4\xfa\x0e\x55\x6f\x94\x3c\x94\x48\xef\x42\xfc\x78\xdf\x59\x96\x64\x8c\xe2\xf3\xde\x04\xd8\xa6\x63\xf9\x67\xf3\xd9\x33\xd4\xf6\x53\x57\xab\x29\xba\x5b\x64\x05\xfb\x16\x29\x72\x57\x8d\xdb\xb2\x36\x7b\xed\x14\x3c\x85\x4c\x10\x88\xde\x92\x1d\x79\xf5\xa9\x2a\x85\x48\x37\xeb\x77\x02\xe1\xba\x92\x5c\x6e\xac\x23\xd1\x34\xba\x1b\xaf\xc5\xd4\x6d\xe2\xa1\x94\x2c\x7f\x36\x6f\x70\x1b\x0a\xfa\xbb\x75\xcb\x1d\x80\x8e\x1a\x1e\x4e\x3a\xe5\xde\x88\xe8\xe9\x98\x97\x57\x45\x8b\xdd\xd8\xa8\x06\xc1\x10\xcc\x3a\x73\x3d\x1d\x4a\xc5\x8a\x40\x5c\x4d\x81\x13\x4f\xbc\x24\xcc\xde\x7d\x5a\xfe\x42\x0f\x9f\x17\x85\xf0\xa5\x02\x0f\xaf\xbb\x22\x61\x22\x25\x08\xaa\x05\x28\xb7\xb4\x8b\x56\x72\x00\x95\x84\x25\xef\xcb\x42\x93\x4a\x88\x0b\x13\x34\x44\xbb\x10\x9f\x2a\x95\x4c\xfa\x35\xa2\xd1\x7c\xb0\x5e\xe3\xf1\x6d\x06\xb3\x21\xa1\x5f\x91\x33\x9a\xbe\xda\x24\x3a\xd6\xc0\x91\x9f\xac\x51\xe9\x07\xe0\x53\xfd\xee\xd1\xcf\x03\x00\x37\x34\x13\x77\x93\x94\x1b\x8a\xdf\x9a\xb6\xaf\x81\x9c\x24\x5d\x6d\x56\xf1\x69\x64\xc8\xa7\x5b\x07\x56\xa8\xcb\x0c\xa8\xc1\x2a\xc6\xe6\xb3\x94\x2e\xeb\xec\x2f\x86\x88\x35\xf8\x1b\x10\x9d\xb4\x98\xa4\xca\x2e\x02\x1f\xa7\x65\x60\x8d\x23\xd8\x03\xde\xdc\x9e\x51\x45\x3f\xc1\xd2\xa6\xa3\x8a\x4a\xab\x25\x7c\x0f\xe7\xd6\x7d\x32\xa5\x41\xe0\x14\xb6\x0e\x10\x13\xa9\x2c\x1b\x3a\xd9\xe6\xf1\x1b\xe2\x93\xb2\x46\xf9\xa0\xc6\x44\x0b\x0b\x54\xfe\xe7\x5f\xed\x2f\xb7\x5c\xc9\x1e\xcb\x32\x73\x8c\x49\x58\x31\x58\x6a\x11\x24\x2d\x87\xdc\xb4\x88\x3e\xdf\x67\x57\xa5\x0b\x18\x84\x37\x59\xb9\x8d\xd0\xce\xf4\xa3\xfe\x10\xd7\x63\x70\xec\xda\x8c\x83\xfa\xb8\x7e\xee\x26\x56\xc5\xf2\x61\xc3\x40\xea\x91\xa5\x60\xd0\xe2\xc6\x42\x89\x26\x7f\x00\x36\xba\x35\x94\x48\x00\xa5\xa0\xae\xf3\xf1\xdf\x83\x9a\x72\x4e\x18\x1d\x79\xb8\xa3\xc1\x6f\x65\xae\x27\x95\x3c\x4a\xae\x8c\xcd\x30\xff\x5a\xcc\x4b\x31\xe4\x76\x5c\x68\xfb\x38\x31\x9f\x10\xac\xf8\x92\x47\xb5\xa3\x9b\x3b\x08\xa1\x91\x75\x4a\x24\xac\xa9\x59\x6a\x1f\x8a\x70\xb6\xe4\xf0\x3a\x20\x04\xa9\x08\x6f\xf6\xed\x07\x65\x2a\x92\x6e\x1e\x2d\xf7\xbd\xcc\xd5\xbe\xc1\x6e\x5c\x4e\x96\x83\x64\xa0\x9a\xbf\x9d\xed\x93\xdf\x5f\xca\x0b\xcc\xa5\xc8\x12\x97\x6e\x5c\xfb\x3c\x34\x93\xfc\x17\x5d\x1d\x92\xee\x8d\x1c\x98\xfb\x33\x82\xb3\xab\x90\xc5\xc0\xe4\xbd\xf6\xa3\xac\x94\x76\x7b\x68\xd4\x7e\x6b\x9c\x24\x42\x65\xe3\xb1\xab\x06\x23\xa8\xf0\x10\x02\x73\xf2\xc6\x07\xde\x89\x61\x2c\x72\xd3\x9b\xe4\xc0\xb4\xd7\x7a\x3c\x61\x36\x8d\xf4\x0b\x36\x08\x65\x29\x89\xd1\xe1\x9c\x0a\xaf\x0e\x3c\x25\x3e\x56\x2c\x64\x09\xfe\x64\x48\x92\x9b\x33\x75\x3d\xe1\x62\xe6\xde\x5b\xd4\x66\xa5\x11\x4f\xc0\xe5\xf5\x71\x02\x75\x5e\x29\x54\x4f\x03\xb2\x8d\x4f\x78\xde\x9a\x02\x4d\xd4\xc4\xe8\xc3\xc2\xd4\x41\x15\xa7\xae\x15\xed\xb4\xf5\x58\xaa\x7d\xba\x64\x26\xe7\xe3\x72\xc5\x4f\x79\x40\xbd\x77\x14\x46\x7f\x8c\x3a\x1a\xdd\x3c\x64\x01\x89\xc3\x16\x60\xd8\xcc\x01\xd3\xc5\x38\x2e\x42\xab\xc1\x04\xc7\x23\xf9\x48\xa8\x04\xca\x85\x30\x47\xb6\xb8\x7b\x5b\x6e\xf4"}, -{{0x5b,0x67,0xa6,0xd7,0xc6,0x50,0xdd,0x92,0xdd,0xd0,0x36,0xce,0x7a,0x30,0x5b,0xc9,0x59,0xa4,0x97,0xc5,0xe5,0x15,0xa6,0x84,0x93,0x03,0x5c,0xb3,0x85,0x0e,0xe0,0x3d,},{0x4c,0x6f,0xc1,0x64,0x05,0x05,0xfb,0x46,0x66,0x9f,0x93,0x04,0x8f,0x8e,0xf5,0x57,0x09,0x9f,0x3f,0xd9,0x2a,0x53,0x06,0x4b,0x16,0x33,0x63,0xa3,0x1b,0x7f,0x00,0xaa,},{0x0f,0x07,0x3c,0x9a,0x58,0x6f,0x6f,0x5e,0x08,0x38,0x9a,0x2a,0x5e,0x18,0x08,0xe2,0x70,0xf0,0xed,0xb6,0xaf,0x10,0x44,0x96,0xf9,0x37,0x57,0x62,0x3f,0xea,0x53,0x13,0x3a,0x73,0x1c,0x44,0x5a,0xc2,0x35,0x78,0xcd,0x56,0xa3,0x88,0x3c,0x08,0x95,0x86,0x68,0x63,0x1f,0xed,0xf1,0x44,0x6c,0xe3,0x4f,0x85,0x7f,0x90,0x82,0x2b,0xa8,0x0a,},"\x62\xcc\xde\x31\x77\x2c\x57\xe4\x85\x3a\xaf\x2a\x81\x81\xfd\xb5\x3f\xb8\x27\x90\xea\x65\x01\xbf\xc8\xf5\xd4\xae\x8d\xbd\x52\xde\x42\xce\x2e\x89\x61\xac\x17\x31\xf4\xbc\x08\x5f\xb5\x61\xef\x09\xa2\x44\x29\x70\xb6\x29\x79\x01\xae\xaa\x2e\xe5\x55\xb7\xd5\xe3\x95\x1c\x7c\x35\x12\x39\xdd\xee\x95\xff\x54\xf9\x24\xda\x95\xca\xe7\xb1\x5b\xa6\xa9\xa1\x33\x7b\x8c\xe4\x92\x1e\xd9\x13\xcd\x79\x1c\x1c\x69\x41\x08\x0e\x54\x8f\x3c\x36\xe8\x45\xac\xbf\xd8\xd8\xce\x35\xe2\xfd\xc2\xa2\xad\x6c\x7e\x24\x61\xbf\xcb\xf1\xaa\xbc\x55\xcf\x0f\xae\x42\x88\x85\xbe\x5e\x86\x53\x33\x08\xc9\x75\x68\x05\x21\x9a\xbd\x7f\xfc\x16\x57\xb6\xf4\x63\x29\x20\xa0\xc1\x0e\x0e\x36\x33\x19\xd9\x00\xfc\xd6\x1e\x7d\xdb\xcd\x6e\x76\x2a\x7d\xb9\x24\x80\xc3\x63\xb2\xc0\x64\x0c\x6b\xf3\x2d\x69\x0d\xd8\x29\xd8\x40\x5f\xa6\x6e\x47\x83\xeb\xe1\xcb\xde\x95\x47\x95\x4a\x90\xba\xad\x9f\x77\x4e\x94\x54\x9a\xbb\xff\x2c\x1f\x5c\xae\xc2\xbf\xd2\x8e\x41\x5d\x36\x42\x9d\x58\x51\x8c\x3e\x17\xe8\x69\x9e\x19\x89\xd4\x7b\x8d\x62\x7e\xf9\xab\x4d\x1e\x7d\x12\x0b\x37\x2c\x21\x41\x30\x4f\x7f\xab\xd0\x26\x5b\x8b\xe4\x1f\x54\x67\xf4\xde\x9e\x65\xc1\x25\xee\x1f\x27\xa2\x89\xc4\xf7\xc9\xa1\xfb\xf2\x5b\xfc\x2f\x8d\x30\x8e\x7f\xf5\x21\x91\xcb\x76\x44\xc6\xaf\x20\x45\x22\xf2\xac\x87\xb5\xf4\x05\x25\xfd\x43\xd3\x08\xc8\xdb\xc6\xa8\x61\xd2\x5d\xb2\x3e\xe2\x76\x67\x8a\x1b\x6e\x8e\x91\x28\x3b\xe0\x24\x70\x48\x2e\xd6\xcc\x9f\x6e\x39\x63\x51\xd1\x1b\x1c\x7e\x22\x32\x9c\x09\x1f\xe7\xd3\x68\xf6\x06\x53\xf9\x3b\x0f\x6a\x3f\x71\x2c\x20\xf9\xd2\xd8\xa9\xa0\x81\x98\x72\xf0\xc7\x1d\x7b\x1c\x0b\xc1\x68\x3a\x15\x2b\x48\x4b\xc2\x1c\xf5\x56\x09\x3a\xb4\xc0\xac\x16\xd3\x22\xff\x0b\xf4\x52\xe5\x58\x1e\x1e\x72\x41\x67\x38\x84\x02\x3c\x7d\x6e\x17\xe2\xde\x80\x59\xf6\x0e\x4c\x18\xe1\x3b\xd5\x5f\xcf\xee\x62\x3f\xd0\x46\x9c\x0d\x09\x11\x61\x1d\x09\x9a\x25\x70\x20\xf2\xf3\x1b\xf5\x07\x8e\x6e\x65\xa1\x35\xd5\xbf\x40\x76\x20\x23\x6d\x6c\xc7\x59\x31\x0f\xa7\x28\xff\x8b\xb5\xec\x56\xab\xbe\x1a\x3c\xd1\x51\x53\xf8\x92\xd9\x58\xd3\x0d\x16\x2d\x01\xee\x66\x5f\x5b\x56\x27\x81\xd8\xdc\xf8\x42\x80\x59\xe5\xfd\x22\x5a\xd7\x8a\x99\xea\x76\x0f\xe5\xd9\xee\x82\x19\xc9\x5a\xcb\x18\xd0\x56\x22\xe1\x0a\x9b\x6c\x67\xf6\xd4\xf6\xed\x11\x63\x5c\x5e\x2e\x0f\x85\xdd\x5d\x3c\xbd\xa6\x5a\xa4\x23\xd5\x94\xa8\x0b\x40\x42\x7b\xc3\x21\xe0\xee\xf9\xaf\xd2\xbc\x87\x46\xab\x73\x99\xff\x6d\x0e\x12\x87\xb6\x61\xdd\xc4\x06\x2d\x07\x20\x18\xf4\xc1\x0e\x86\xcf\xae\xd7\x2d\x9e\x68\x6e\xd0\x9d\x52\x55\xd3\x60\xe3\xee\xa2\xc2\x9b\x9e\xae\xa0\x5f\xc7\x8c\x8c\xdb\x8c\x9d\x4a\xfc\x7a\xdc\x6d\x4a\xa0\x67\xb7\xab\xfb\x0a\x4e\x94\x0a\x77\x58\x0e\xc2\x06\x45\x6c\xb9\xe9\xf9\x5f\x6d\x56\x5d\x53\x6e\x53\x5a\x16\x7e\xde\x8e\x20\xec\x36\x08\x1e\x2f\xc5\x5a\xef\xaf\x24\xd2\x27\xff\xfe\x5e\x6c\xb0\x30\x93\xf4\x43\xb4\xc5\x16\x55\xd9\x1c\xa6\xf2\x75\x95\x9d\x1a\x80\x2a\xde\xab\x44\x70\x1b\x31\xe8\xb0\xfd\x02\x22\xc4\x99\x96\x6c\x72\xd1\x02\x0a\xd9\x37\x0e\x28\x02\xbe\x04\xc9\x93\x3f\x6b\x77\x4f\x6e\x8c\x69\xfc\x0b\xfd\x31\x59\x39\xa1\x27\xb4\xe0\x6d\x0f\x6f\x5e\xde\x67\x1c\xe1\x16\x12\x12\x6b\x51\x87\xb5\x33\x29\xb0\xa9\xcb\x7d\xa3\xb1\xcc\xd6\x7b\x8c\x07\xba\xb9\x9a\x66\x2d\xf8\xce\x85\x1f\x50\x2f\xc4\xe1\xed\x16\x32\xb6\xba\x55\x55\x44\x01\x8f\x75\x27\xe3\x62\xef\xc7\xe3\xb2\xba\x6f\x75\xa1\x25\x4f\x42\x8b\x3b\x7e\x0b\xea\x69\x54\x9e\x7f\x9c\x73\x62\x75\x55\x00\x80\xae\xe3\xaf\x59\x14\xe3\xa3\x4b\xe6\x56\xc7\x7f\x6b\x29\x42\x0e\x54\x33\xf3\xdf\xf3\x81\x1f\x35\x28\x20\x8e\x9d\x85\x0a\xa3\xc2\x9b\x0f\x77\x8a\x24\x27\xd5\xfd\xe3\x07\x32\xdf\xe5\x04\x43\xa9\xc1\xad\x55\xc7\x2a\x08\xab\x26\xff\xaf\x8e\xfb\x90\xbc\xaf\xd3\x72\x6b\x00\xc0\x05\xc8\xc0\xf0\xdb\xf2\xa1\x35\x30\x86\x72\x1e\x44\x65\x45\xb8\x13\x44\x11\x94\xa7\x55\xfd\x26\xb9\x63\xaf\xd9\x77\x27\x8d\x1b\x10\xf0\x90\x01\xc7\xed\x97\x54\x03\xc1\x5c\xbe\x7f\x99\x2a\xb0\x7b\x84\x70\xc9\x39\xf8\x66\xf4\x20\xf7\x7d\xb7\x79\xaf\x83\x97\x00\x32\x9e\x07\x77\xa6\x11\x63\x65\xd7\x6c\x36\xd0\x9d\x86\x04\x72\xa5"}, -{{0x26,0x31,0xc8,0xc3,0x4d,0x29,0x48,0xdd,0xd5,0x99,0x6b,0x41,0x49,0xce,0xfd,0x23,0x8e,0xa7,0x45,0x2e,0xc2,0x2e,0x24,0x61,0x24,0xdf,0xa2,0x79,0xcc,0xc2,0x7d,0xb8,},{0xc3,0x90,0x67,0x86,0xff,0xb8,0xa7,0xc2,0x7c,0x44,0xc2,0x44,0x7f,0x9d,0xde,0x7d,0x66,0x6d,0xfe,0x58,0x8c,0xfc,0x54,0xf2,0xd2,0x50,0x40,0x51,0x2a,0x37,0x1b,0xc1,},{0x0a,0xdc,0x6f,0xa4,0x0f,0xfb,0x81,0xf6,0xef,0x4e,0x41,0x87,0x55,0x49,0x17,0x77,0x5c,0xf4,0x65,0xe7,0xb5,0xe8,0x57,0xf2,0xe1,0xe7,0xf4,0x00,0x97,0x71,0x06,0xd2,0x37,0x7e,0xbc,0x76,0xab,0xb1,0xdb,0x92,0x4c,0x64,0x86,0x7e,0x3c,0x6f,0xe3,0x8c,0x0b,0x4f,0xcb,0x1d,0x0f,0x94,0x68,0xe8,0xfb,0x23,0x50,0x29,0xa8,0x1c,0xe6,0x04,},"\x6f\x9b\xdc\xe1\x44\x3f\x28\x56\xd4\xa2\xf2\x27\x82\x83\x50\x12\xb7\x81\x8a\x0e\x02\x0d\xbc\xc2\x2a\x82\x16\x58\x30\x5f\x13\x42\x34\xd1\x4c\xea\x63\x61\x00\xed\x89\x6c\x2a\x8f\xb0\xe8\x70\x48\xec\x6f\x8b\x31\x48\x4f\x78\xeb\x17\x10\x45\xad\xd7\x2c\x85\x71\x0e\xc9\xf9\xb5\xd4\x36\x23\x41\x7b\x56\x53\xbe\x86\xe7\xfb\xf8\xb4\xff\x91\x11\x0a\x80\x8c\xb4\x1a\xcf\x66\xd4\x36\xe8\x9a\x73\x7f\xae\xa4\xef\xf3\x54\x49\x60\xf1\x14\xb8\x33\xb0\xb4\xeb\xc2\xc1\x40\x70\xb0\xbf\xb7\xb0\x05\x7e\xeb\xb8\x42\xbd\x1c\x1e\xd4\x58\xad\x34\x28\xf8\xf7\x2a\x1d\x1d\xb3\xc4\xcb\x47\x97\xa3\x99\xd4\x7a\x1e\x6d\xb7\x4d\xcb\x2e\xe2\x4a\xe8\x15\x85\xcf\x66\xef\x6d\x9b\xd2\x23\xf0\xf5\x4b\xc8\xc1\xce\xc1\xbb\x44\x60\xbe\xf4\xff\xd3\x2e\xe8\x05\xc3\xca\x5e\xe9\x76\xff\x9c\x14\x55\x9f\x8d\x75\x66\x62\xa2\xbc\x19\xe4\xc5\x98\x54\x06\xa0\x73\x05\xc9\x95\x0d\x86\x6c\x9a\x79\xa3\xe5\xf6\xc5\x96\x97\x53\xa1\x70\xe0\xfc\x4c\xc0\x9c\x6d\x87\xa1\x2b\x44\xcd\xf3\xbe\x16\x23\x15\x9e\x90\xca\xb7\xa8\xa3\xe6\xf0\x1f\x26\x85\x95\xb0\x21\xb1\xef\x7d\x00\x76\x94\x77\x27\x0d\x55\x84\xc9\x12\xe2\x2a\x36\x74\x38\x27\x7f\x59\xdf\x20\xc5\x62\x0d\xd5\xbe\xaa\x9b\xb6\x0b\xee\x47\xf4\xaf\x52\x7d\x89\x29\x57\xb2\xd1\x2b\x67\x8b\x52\x79\xa3\xf8\x32\x64\x65\x4c\x0a\x0f\x8d\x21\xe7\x09\x66\x8f\x30\xfb\x6e\x68\xf0\x47\xd0\xd9\xa7\xc2\xae\x9a\x28\xf7\xcb\x9d\xbf\x18\xf6\x3f\xc1\x66\x1f\x07\xd3\x10\xe5\x40\xc7\x76\x31\xf5\xbd\xac\x58\x24\x68\x5d\x7c\x9a\xba\x0f\xe1\xd0\x94\x07\xa9\x66\x2e\xf1\x8e\xb3\xe2\x8f\xd1\xe8\xbc\x89\x26\x57\xbc\x38\x24\x3a\x2e\x64\x53\xbd\xae\xab\xb2\x79\x1f\xc5\x48\x95\x21\x29\x54\x57\xad\x04\x18\x0c\xa8\x71\xf6\x31\x87\x92\xbd\x15\xfd\x18\x00\xce\x59\xdd\x3e\xcc\x7e\x0b\x72\x97\x92\x67\xd8\x18\x3e\x80\x4f\xdd\x45\xda\xad\x84\xfc\x4c\xaf\xeb\x56\x1e\xa8\xd6\xa7\x4a\x7c\xde\x72\x2d\x96\x25\x3a\xb3\xe7\x5f\x0a\xdd\xe0\x2a\x61\xfd\x5e\x1f\x59\xcb\x1f\x5f\x1b\x2e\x05\x26\x43\x58\x9a\x9e\x4b\xe4\xdd\x6e\xe6\x45\x38\xcb\x0b\x10\x9a\x11\x3f\x30\xa5\x8b\x35\x65\x62\x40\x43\x66\x2a\xbe\x17\xf6\x0e\x31\xe8\x9c\x36\xc9\x95\xe0\x0a\xe0\x7f\x56\xa9\x11\x8a\x31\xae\xc2\x4a\xd5\x44\xbc\x96\x58\x11\x21\x8d\xf8\x27\xc1\x73\x0b\xb9\x04\xbb\x79\xb6\x86\x13\xf6\xc9\x94\x67\x9b\x69\x90\xd7\x75\xb5\xcb\x32\xdb\x97\x19\x4b\xd8\x10\x19\xbe\xa4\x1f\x3a\x7e\xef\x50\x1b\xf8\x49\x1b\x0e\xa8\x59\x38\x84\x52\xe3\xec\xbe\x16\xaa\x7d\x56\x91\x51\x0a\x66\x06\xc4\x93\xe4\xc2\x93\x96\x1b\xf4\x0b\x4c\xd3\x00\xd9\xd2\x2e\xa1\xa7\x72\x4c\x07\x8b\x8b\xab\x1f\xd1\x65\x04\xe9\x89\xb1\x36\xd9\x25\x1a\xc9\xf1\xed\x94\xa5\xe9\xac\xbd\x9c\x04\xf8\x05\x8a\xfe\x03\x04\x9a\xed\x8b\xa2\x9f\xa2\xe8\xfb\x44\xf8\xe8\xc0\x4e\x87\x27\xf3\x99\xe7\x35\xe6\xc1\x49\x6a\x91\xa9\xb2\xcd\x2a\xb0\x2d\x43\xb2\x85\xe9\xd7\x61\x02\x93\xb6\x74\x9d\xf1\x04\x4b\x30\xe2\xda\x99\xa5\x64\x42\x9a\x23\xe6\x8c\x96\xfc\xe9\x2b\x08\xa0\x0b\x7b\x74\x2b\xa9\x7a\x62\xee\x58\x77\x6d\x7d\xd5\x65\xa4\x90\x07\x1d\x4b\x19\xdc\x64\x8e\x03\x32\x9c\xc5\xc8\x25\xd3\x87\xeb\xa4\x9e\x2e\xff\x6c\x43\x41\x86\x5c\x46\x4f\x13\xf1\xbe\xb1\x82\x7a\x7f\x26\x8c\xc1\x5a\x98\x24\x80\xbf\x08\x4f\xe3\x65\x2c\x1b\x0e\x0b\x4a\xd2\x62\x55\x85\x9a\xbf\x1c\x8a\x7f\x9b\x3b\xef\x09\x8a\x94\x07\xfd\xea\x0a\x53\x9e\xb0\x08\xfd\xd7\x49\xfa\x01\x86\xcc\x01\x69\xd9\xd9\xe6\x8f\xe5\xe5\x4c\xac\x32\xce\x57\xb5\xc8\x4c\x2d\x80\x5e\xca\x39\xc2\xdb\xbd\xd2\xe0\x2f\x7d\x22\x88\x26\x71\x2f\xf4\xa6\x14\x11\xca\x0a\xeb\x6f\x01\xa1\xf8\x0e\xf2\x9e\xeb\x07\x1a\x43\x22\x2d\x94\x97\x18\x4b\xd8\x5d\x9e\x44\xb1\x66\xbe\x97\xcf\xd2\xa7\x32\xaf\x4a\x23\x34\x63\xd3\xab\x54\x3a\x7a\x3c\x7a\xec\x55\x56\x56\x56\x88\x40\xf4\xdf\xea\x21\x7f\x65\x53\xaa\x98\xaf\x32\x4c\x12\xb2\xc3\x21\x4e\xe7\x6e\xec\x70\x06\x70\xaf\x68\xc8\xc1\xf3\x69\x46\xef\xd7\xff\x09\x33\xe5\x45\x3f\x12\x8e\x97\x15\xfd\xb3\x34\x4a\xc1\x0c\x4b\xb7\xec\x8f\x10\xdd\xf5\xdb\x71\xf1\xcf\x0e\xfe\x40\xf7\x5e\x5b\x63\x34\xef\x8c\xf8\x42\x9b\x32\x91\xe6\xe4\xce\x37\x9c\x17\x8a\xff\xcb\xc6\x10\x30\xeb\x89\x6d\x74\x4d"}, -{{0x39,0x76,0x9a,0x66,0xf0,0xca,0x12,0x90,0xfd,0xa1,0x43,0x75,0xb3,0x5c,0x66,0x3f,0x6a,0x4b,0x2a,0xb3,0x60,0x71,0x79,0xab,0xd9,0x90,0x63,0xe2,0xef,0xa2,0xc6,0xa8,},{0xf9,0xfd,0x4c,0x19,0x1f,0x38,0xf1,0x21,0x90,0xd3,0x28,0x5e,0x20,0xc6,0xce,0xe5,0x4c,0xfd,0x6f,0xf3,0x15,0x30,0x0a,0x4e,0xfd,0xc8,0xa9,0x0e,0x80,0xaf,0x40,0x83,},{0x14,0x42,0xde,0xa2,0x80,0x7e,0x03,0x11,0x59,0xec,0x6a,0x41,0x2d,0x8e,0x07,0xbb,0x3e,0x29,0x93,0x08,0x09,0x0f,0x21,0x8f,0xa7,0xc1,0x0a,0x9c,0x50,0x68,0xef,0x9b,0x64,0xef,0x11,0xca,0x9f,0xb9,0x2b,0xe1,0xd0,0x21,0x6b,0x99,0x31,0x8f,0xf0,0xf0,0x3c,0xb8,0x71,0xcd,0x7d,0xd6,0x3a,0x38,0xae,0x17,0x02,0x31,0x3e,0x5b,0x25,0x0c,},"\xff\x4d\x89\x87\xe3\xfa\x36\x01\x2b\x75\x86\x73\x6b\x79\x3d\x65\x97\x54\x69\x8c\xd1\x2b\x65\xe5\xba\x9d\x75\x8c\xac\x16\x49\x28\x8d\x20\x22\x43\x77\x28\x3e\xa5\x42\x5d\xec\x10\xab\x99\x17\xd1\x8c\xd1\x3d\x1b\xdf\x4a\x76\x9f\x37\x04\x4c\x84\xfa\xa2\xa4\x49\xc6\x89\xe0\x04\xc1\x4e\x00\x5c\x49\xda\x41\x06\xff\x75\xce\x13\x03\x36\x1c\x6e\x3e\x34\xcc\xfe\xe7\x5e\xe9\xc3\x1c\xbd\x06\xa4\xbc\xdb\xb4\x2f\xd6\x49\xbe\x4d\xfc\xd6\x64\x00\x6d\x6a\x5f\x61\x07\x7c\x04\xa6\xa8\x1d\xb3\x6b\xe8\x6b\xa4\x2c\x29\x51\xf0\x51\xae\xda\x64\xac\xea\x49\x6c\xb9\x24\x98\x2b\x9f\x7d\x23\x4a\xc9\x72\x3f\xef\x98\xa8\xe1\x27\x55\xe3\x26\xa5\x2f\xbe\x35\x85\x1f\x41\x1e\xeb\x86\x76\x06\xd4\x5b\x51\x3f\x54\x52\x63\x91\xc5\x54\x63\x5c\x18\x0b\x8f\xd0\xee\x45\x1a\xfc\x96\xe4\xef\xd3\x60\xb6\x1e\x6b\xaf\x03\xdd\x6d\x19\xba\x51\x5c\x31\xec\x1c\xdd\x3a\xff\xff\xdb\x27\x35\x4e\x3e\x6b\x56\xe9\xe1\xa1\xa1\xb7\xd4\xb5\x7d\x9d\x76\x89\xbb\x2f\xea\x6c\x8d\x3f\x9c\xe0\xdf\x2d\x9e\xe9\x19\xc4\x23\x0a\x1f\x20\xb8\x5d\xfe\xfe\x1e\xa3\xd7\xf7\x7d\xb4\x70\xe4\x02\x24\x29\xef\x60\x9b\x0f\xf4\x49\x46\x44\x0a\xcb\x44\xcd\x13\x44\x5b\xcf\xa3\xf2\x05\x03\xc2\x6c\x2f\xb6\x63\xc8\x90\x65\xfb\x93\x34\xa6\x03\xeb\x9a\xb7\x15\x2e\x62\x62\x92\x33\xc4\x4c\xb0\x0e\x77\x71\x6d\x9b\x72\xc8\x4f\xd1\xb3\x40\x63\x4f\xf1\xce\xa3\x47\x50\x15\x76\x10\x0e\xcb\x0f\xd1\xbb\x76\xae\x0d\xff\x1c\x2b\x09\x48\xeb\x71\xee\x2c\xc3\x1e\x79\xd3\x01\x5d\x72\xdb\xee\x22\x4a\x98\x0e\x0f\x95\xa6\x9f\x79\x3d\xa8\x3a\x2d\xaa\x56\xef\xe5\x7b\x2f\x8c\xea\xac\x9e\x55\xf4\x43\xca\x9e\x73\x2b\x48\xc7\x5f\xac\x21\xc3\x6f\xa7\x72\x73\xc3\xf3\x48\x35\xff\xd8\x3c\x96\xf0\x0a\xc6\xe8\x6c\xff\xed\x08\x15\x36\x46\xc1\xce\xa2\x23\xda\x9c\xa3\x60\xca\xb9\x7e\x03\xb2\xb6\xc8\xfb\xa7\xc1\x95\xa3\x9a\xe5\x2e\xb2\xee\x86\x43\x00\xae\x56\xa1\x0f\x54\x7f\x99\xa3\x16\x98\x72\x24\x9f\x97\x77\x4b\x17\x98\x93\x55\x36\xf2\xf5\xf0\x11\xce\x57\x61\x3a\x94\xfc\xb7\xe7\x28\x6a\x6d\x49\xc1\x0f\xd9\x29\xd7\x67\x1c\xbb\x8c\xf1\x7d\xfc\xad\x4b\x24\x85\xc3\xd8\xfd\x79\x12\x87\x21\xe5\x5d\x84\x80\x87\x63\xc2\xaf\xa9\xc5\x5e\x3b\x0c\xd7\xbf\x2f\x0a\x66\xb5\xe4\x67\xbe\xc5\xee\x89\xad\x57\x0b\x60\xf1\x88\xb3\xf7\xb4\xa5\x11\xff\x85\x93\x12\xde\xd0\x78\xd8\xd0\x09\x11\x34\xfd\x49\xbc\x79\x2d\x2d\x7d\x60\xb3\x04\x94\x1c\x7f\x23\x20\x6f\x99\xe8\x63\xb1\xe2\xd8\xc9\xec\xff\xd2\xff\x0a\x3a\x3c\x75\x49\x85\x61\x5a\x9a\x92\xed\xce\xad\x00\xfe\x0e\x05\x49\x3b\x19\x8d\x1f\x7c\x90\x08\x84\x46\xbb\xa4\x60\x38\xa7\x1f\x32\x65\x3b\x59\x12\xb2\x4f\x43\x13\x77\x48\xb7\x5a\xec\x2c\x15\xfe\x4b\xf5\xa6\xf8\x6b\x8a\x6c\xdd\x9c\x74\x47\xf2\xeb\xb0\xf4\x3b\x01\xca\x15\x23\xe0\xd4\x96\x24\x00\x06\xad\x7f\xff\xfa\xfe\x0d\xf5\x75\x4b\x34\x2c\xaf\xf3\x55\x5d\x72\xa2\x7d\x0b\x92\xca\x16\x67\x66\x5c\xec\x43\xbf\xb5\x83\x07\x7a\x9c\x17\x41\xfa\x49\x2c\xe3\xdc\x2c\x75\x29\xcd\xed\x81\xb8\x28\x1a\x3f\x37\x59\x48\xb8\xa7\xce\xd0\x96\xb2\xfa\xcc\x25\xe3\x90\x29\xe2\x21\xb6\x6a\x53\xd3\x97\x9e\x1f\x40\x5f\xd8\x8a\xfc\x06\xec\x6e\x43\x09\xdc\x85\xe6\x9d\x6e\xf2\xb4\xb4\x92\x66\x16\x4a\x9d\x9d\x1c\x31\xee\x39\x21\x12\x7b\x13\x38\x1b\xfb\x74\x0d\xd3\x8d\xc1\xc7\x31\x59\x21\xf9\xc2\xfe\x58\xb6\x1b\x63\x1a\x7d\x9f\xde\x2d\xd8\xa4\xbe\x3d\xed\x04\x90\xae\x3b\x83\x76\x79\x19\x55\xc1\xc4\xb4\xfe\xd0\x0b\x9f\x4c\x38\xab\x73\x50\xfc\x2e\x37\xa3\x15\x0c\x18\x16\x2b\x1f\xaf\x03\x37\x89\x4b\xc2\x3e\x74\xf5\x95\xe4\xbe\x33\x46\x6d\xea\xb3\x54\x58\xbe\x97\xb4\xf7\x56\x58\x97\xf0\x68\x52\xf7\x1c\x60\xfe\xf9\x10\x1d\x72\x6b\x72\xe0\x10\x2a\x97\xb2\xca\x52\x11\xe3\x80\x68\x34\xb0\xac\x1a\x7d\xf8\x7c\x2a\x07\x8d\xf2\x63\xef\x8b\xa4\x57\xdc\x89\x1b\x7f\x2e\x62\x78\x11\xab\x62\x2b\x99\x46\xf8\xc6\xb7\x31\xf2\x40\x78\xd1\x7b\x06\xb2\x00\xc3\x44\x7f\x80\x32\xaa\x3e\x7a\x24\x3e\xe4\x22\xdd\xa2\xe6\x52\xfd\x75\x71\x3a\xfb\xce\x8a\x59\xef\x85\x36\x65\x3a\x48\xdc\xf4\x2a\x70\xe7\x62\x1f\x9b\x28\x02\x40\x9b\xe1\xc1\xa6\x1f\x32\xe3\x67\x89\xa5\xc5\x05\x5e\x1a\x82\x68\xe9\xdc\x43\x8c\x2e\x15\x27"}, -{{0x0c,0x80,0x8b,0x06,0x6f,0x0c,0x8e,0x8d,0xbb,0x1c,0x23,0xd6,0xc2,0xce,0xdd,0x0b,0xe8,0x66,0xd8,0x42,0x5f,0x24,0x1a,0x92,0x85,0x70,0x0e,0xa5,0x45,0x36,0xcf,0x6d,},{0x44,0xee,0x72,0x90,0x04,0x50,0xc5,0x6a,0xb2,0x1f,0x26,0x86,0xd2,0x95,0x25,0xd0,0x66,0x3e,0x0b,0xdd,0x87,0x72,0x5b,0xea,0xc5,0xd6,0x8b,0xac,0xeb,0x69,0xf1,0xd2,},{0x38,0xc6,0x82,0xce,0xde,0xfb,0x13,0xe4,0x6b,0x11,0xf7,0xb5,0xf8,0x00,0xcc,0x81,0x20,0xd4,0x5a,0x83,0xcd,0x8d,0x8d,0xec,0x10,0xc5,0x77,0xbb,0x01,0x53,0xd5,0x09,0xba,0x4f,0xdf,0x40,0x09,0x98,0x78,0x8b,0x70,0x60,0x07,0xce,0x16,0x2b,0x96,0x94,0x5c,0x71,0x40,0xbe,0xee,0x74,0xe1,0x9d,0x07,0x43,0xaf,0xa4,0xec,0xfd,0x25,0x0a,},"\xc9\x45\x71\x41\x00\x58\x1f\x4e\x24\xda\x11\xfc\x0f\x6c\x6d\x02\x10\x43\x3f\x97\x77\x52\x51\x24\xc5\x5e\xe0\x72\xd8\x5d\x79\x8b\x70\x5f\x9d\x31\xc8\xf9\x77\xdb\x6e\xdf\xb7\xa6\x5c\x78\xad\x2d\x7d\x31\xd6\xb7\xb5\xbe\x40\xff\x11\x78\xd3\x03\xb6\x83\x9b\xb0\xc6\x32\x10\xc1\xd3\x38\xc1\x03\xaf\xa0\xd4\x53\xec\xa1\xbc\xa2\x77\xd9\x30\x77\x8a\xd5\x08\x02\x27\x2f\x03\xdb\xe2\x18\x4f\xc3\x1e\xf8\xea\x6a\xbe\x21\x69\x97\x19\x9f\x7c\x1b\x33\x77\x37\x96\x89\x07\x27\x2a\xa5\x1b\xd4\x9c\x07\x38\x9c\x95\x46\x8c\xef\x4f\xd9\x9a\xe7\x8c\xa4\x54\x2a\x2b\xbc\x0e\x8a\xa9\x52\x14\xad\x1c\xff\xf9\xd5\x08\x5a\x43\x43\x94\x47\x3b\x84\xb7\x4b\xe9\xbf\x2f\x02\x02\xad\x1e\xe4\x61\x66\x04\xca\x1d\xd7\x5f\x4a\x19\x53\x42\xeb\xbf\x8f\xc5\x9f\x3f\x79\x61\x65\x54\xdc\x7b\xfd\xd5\x56\xbe\x43\x72\x21\xc1\x0b\xfa\xd3\x9e\x11\x9e\x06\x04\x5b\xe5\xfe\xd6\x83\xd3\x53\x4f\xb6\xcf\xed\x33\x89\x1c\x96\xf9\xc3\x30\xf2\x8b\x68\x4f\x8f\xba\xd4\x7c\x01\x41\x8e\xab\x6c\xee\xcc\x2e\xd7\x77\xf4\xc2\x18\xa2\x7a\xc2\x25\x82\x39\x23\x15\xc5\x3a\xa7\x30\x9e\xc5\x4c\x61\x75\x23\x6e\x44\x24\xdc\x97\x84\x65\xab\x62\x8d\x95\x44\xb0\xbe\x84\x10\x3e\xb5\x6f\x1b\xaf\xe5\xe5\xea\xed\x04\xc9\x8b\xfe\x2e\x8a\x24\x18\xc6\xc5\x2a\x61\xea\xce\x85\x23\x6b\x66\xc7\xb3\xb8\x70\x7e\xd5\x56\x41\xdd\x9d\x5d\xa9\x7c\x99\xc1\x1c\xbe\xb9\xaa\x2d\xb1\x47\x82\x0d\xc7\x24\x80\x0a\x9d\x80\xf5\x05\xfa\x5a\xf2\x09\x21\xca\xd2\x43\x56\x83\xbb\x4f\xc6\x0b\xdd\xd4\x75\xf8\x63\xe2\xf5\x95\x0d\x23\x63\x99\xd8\xd7\x5b\x40\x4b\x39\x4a\x54\x67\x37\xf9\x3a\x62\x40\x87\x00\xb3\xab\x3c\x1e\x92\x2b\x1a\x85\x9a\x29\x15\xc2\xd3\x53\x68\x81\x5c\xd4\x5b\x85\xb2\xac\x08\x31\x21\xff\x00\x0f\x05\x0d\xcd\xf4\x15\xe5\x27\x5a\x5c\x42\xda\xe3\xb1\x54\x00\xf3\xdd\xaf\x93\x39\xf2\x0a\x12\x61\xa8\x8c\xd9\x02\x05\x63\x97\x63\x21\x11\x52\xdf\x41\x4a\x9a\x6a\x62\x18\xf5\x6b\x35\xa2\xde\x9e\x84\x82\x44\x9f\x6d\xa7\x7c\x9e\x3d\x4a\xf0\x49\x30\x15\xa7\x26\x21\x7f\x82\xac\x58\x95\x4f\xe3\xe2\xe3\x44\x40\x35\x6b\x11\x2e\x06\xa6\xf6\x71\xfb\x5a\x6e\xf4\x61\x9a\x6e\xa7\xb4\xe0\x4d\xb3\x75\x7f\xb6\x64\xc3\x96\xb3\x41\xca\x89\x00\x1d\xc1\x60\x4b\x51\xfa\x91\x53\xf9\x13\x0c\x10\x20\xff\x88\x90\x92\x87\x82\x3a\xb3\x91\x5c\xcc\x85\xc4\xe3\x5d\xf6\xc2\xf8\xe6\xf9\x02\xbe\x82\xba\x21\x29\x7f\xd3\x83\x5a\xff\x5c\xe0\x2f\x3c\x07\xdc\x09\x3f\xcb\x1a\xba\x26\xe0\x6d\xfe\x6f\x02\xdf\x79\x29\x1a\xac\xa0\x69\xec\xab\x93\x81\x40\x4c\x9c\x3e\xa1\xad\x40\x9a\xdf\x29\x2a\x91\xe3\xa5\x82\xd5\xa7\xb6\x8f\xfb\xe1\x0a\x03\x05\x24\x8e\x09\x67\xe6\xdf\x37\x2f\x28\x1b\xd1\x92\xe1\x39\x97\x9c\x98\x66\xca\x8f\xe1\xe1\x0e\x06\x16\xdc\x2d\x4f\x85\xe1\x19\xe0\xcb\x4b\xfe\x8c\xc3\x1d\x9f\x5c\x01\x8b\x65\x40\x85\x24\x00\x0a\x30\x16\xa2\x3d\x99\x14\xd5\x7e\x95\x55\x76\xe2\x66\x0b\x0e\x0d\x96\xc8\x49\x5a\x12\xc3\xd7\x31\x22\xd2\x00\xb0\xf0\xe5\xeb\xd4\x46\x56\x2b\x08\xf4\x79\x34\xab\x49\x9a\x96\x99\x1d\xcf\x99\xc9\x6a\x62\x88\x07\x39\x84\x5d\x29\x82\x01\x50\x55\x3e\xae\x9b\xe0\xbb\x41\xd5\x3d\x3a\xf0\x1d\x98\x67\xbb\x47\x32\xc9\x0b\xf6\xe1\x37\x31\x6e\x3b\x1e\xdc\xc2\x09\xa8\xa0\x9f\xb0\x62\xa6\xef\x05\xf3\x7e\x57\xf2\xc5\xd1\xd0\xca\xba\xf0\x7a\x8e\xd7\xd4\x14\x55\x40\x7b\x09\x67\x54\x18\x0a\xa9\x6d\x3d\x96\x59\x19\x45\xdd\x7a\x10\x40\xa2\xde\x60\xd8\xe1\xc0\x54\xf7\x85\x46\x52\xb7\x32\xe7\xa8\xf5\xb6\x47\x4c\x3b\xaa\x18\x40\xfb\xe8\x1b\x1e\x6b\x54\xe2\x01\xef\x0b\xc8\xd0\xf2\x13\xd7\xce\xc1\xd8\x24\xd2\x22\x09\xac\x72\x52\x5a\x64\xb9\x03\xe7\x73\xb8\x3f\x1b\x68\xf6\x40\x27\x9f\x15\x05\x3d\x21\xec\x15\xce\x2f\xf7\x59\x22\x17\x6b\x75\x84\xa1\x6b\xf1\xa1\xf0\xd6\x36\xb7\x94\x2a\x3d\x61\x86\x2f\x6f\xd1\x30\x99\x72\xd3\x14\x1e\xb7\x69\x31\x4c\xa9\x75\xd0\x20\xbf\x02\xbf\xdd\xf1\x7d\x14\xb6\x0e\xb7\x86\xbf\x9f\x55\x98\x9f\xe4\x73\x32\x0d\x44\x29\x67\x7e\x30\x1c\x68\x26\x33\xf8\x13\xff\x26\xc0\xa3\xda\x92\xf6\xd0\x68\x06\x16\x10\x5b\x04\x25\xaf\x33\x8c\x2e\xa6\x15\x3b\xdd\x52\x16\xfa\xe2\xaf\xe4\x61\xe9\x24\x9c\x05\xe3\x2f\x76\xad\x7c\x42\x9d\x92\x53\x4b\x68\x6d\xd1"}, -{{0x04,0x9d,0xac,0x3c,0x97,0x7d,0x9d,0xf5,0x03,0x49,0x6b,0x43,0xd7,0x6e,0x55,0x40,0xe3,0x15,0x00,0x1a,0xd5,0x7f,0x15,0xea,0x9f,0x08,0x70,0xca,0xd2,0xd4,0xf9,0xe9,},{0xfc,0x6f,0x4b,0x7e,0xb3,0x9a,0x71,0x16,0x80,0xf9,0x66,0xd4,0x68,0xa6,0x1a,0xbb,0x13,0xa9,0xb6,0x44,0x9b,0xb9,0x9f,0xda,0x3d,0x12,0xce,0x1b,0x50,0x6d,0x1b,0x4b,},{0x75,0x32,0xd1,0xa6,0x1a,0x98,0x1f,0x30,0x3d,0x7c,0x24,0x54,0x35,0x4f,0x99,0x54,0x0c,0xd4,0x84,0xcd,0xe9,0xab,0x33,0x7d,0x6f,0x7b,0x51,0xf1,0x79,0x22,0x0f,0x7f,0xa2,0x07,0x34,0x76,0xb4,0x1c,0x71,0x52,0x9f,0x98,0x36,0xdb,0x6b,0x1d,0x0f,0x5a,0x48,0x2b,0xbb,0x4c,0x68,0x36,0x61,0x76,0xed,0x14,0xd4,0xd8,0xee,0xfa,0xde,0x0d,},"\x7f\x31\xe3\x46\xf6\x8d\xa7\x37\x16\xaa\xcb\x16\xee\xa1\x9b\xb2\x41\x42\xdc\x28\x3e\x72\x63\xff\xc3\xf7\x04\xa2\x2a\xe5\x27\x5a\x0e\xf9\x5f\x06\x69\xba\xe5\xa5\x4c\x7f\xeb\x84\xbc\x74\x87\x3c\xca\x0f\x33\x5d\x6c\xff\x3d\x8b\x4a\x20\x05\x6c\x64\xf5\xe8\x82\xcb\xbb\xd2\xac\x74\x20\x76\x76\x46\x7e\x54\x66\xdd\xd5\x6a\xed\xf5\x6e\x09\x7c\x7f\x59\xd9\x45\x91\x5e\xb0\xeb\xd0\xc3\xc8\x3d\x48\x88\x8d\x3e\x9e\xde\x51\xad\x2d\xd8\xa0\xee\x1e\xab\x4c\xf8\x7f\xfa\x78\x63\x5a\xfc\x4d\x6e\xf3\xe8\x7d\xda\x3b\x65\x56\x5c\x29\x85\xa4\xad\x0a\xcf\xdf\xb8\x1c\xb0\xe6\x1c\x67\x82\x6a\x6e\xa0\xbe\xd4\xc0\x8a\xa1\xa5\x41\xde\x60\x45\x87\x04\xac\x21\xca\x12\xf1\xc8\x11\x8b\xb3\x09\x2c\x35\xa4\x0c\x92\x1e\x68\x45\x64\x56\x2c\x2c\x10\x49\xdc\xdc\x2b\x8d\x6a\x97\xe3\x56\x7d\x35\x6b\xff\xb5\x69\x2a\x41\xd8\x9d\xdd\xa0\xec\x35\x52\x15\x2a\x27\x57\x7f\x1c\xce\x57\xd0\x09\x86\xdc\xa7\x7e\xdf\x5e\x25\x18\x15\x82\x00\xad\xf6\x90\xaf\xfb\x31\xaa\xf2\xb5\x74\x83\x68\x39\x44\x09\x99\xf1\x57\x91\xce\xa8\x53\x42\xac\x94\xa9\x6c\x7a\xf7\xa1\x9e\x49\x43\x10\xae\x26\x67\x5f\x43\xc3\x52\x58\xe8\x5b\x68\x40\xb9\x9c\x6b\x09\xcf\xa5\x8d\x19\xf1\xe4\x3a\x77\xe3\x97\xb0\x8c\x0d\xb1\x83\x0b\xca\x67\xb3\x9e\xcd\x87\x52\xda\x61\x1e\x08\x32\xc6\xca\xe7\xbb\x8c\xe7\x4a\x82\xe7\xe7\x33\x0b\xe5\x06\x2e\xd0\x5a\xa5\xc8\x44\x57\xb0\x07\xfb\x5c\xcd\xc2\x0a\x55\xd5\x4d\x8e\x04\x09\xc8\xbd\x83\x88\x3d\x2e\x02\x9d\xff\x26\xea\x5d\xb2\x75\xdc\xe0\x99\xe4\x18\x65\x9a\x04\x00\xf1\x3b\xe9\xff\xdc\x14\xe7\xd6\x45\xa9\x46\x77\xca\x84\x69\x70\xb7\xe6\xac\x52\x7f\xa0\x09\xa3\x59\x45\x4b\x3c\x49\x36\x49\x05\x18\x9f\xb4\x9c\x9b\xac\xb6\x50\xc0\x3c\xd8\x28\x75\x89\x4e\x35\x46\xba\x03\xc3\x2e\x33\x6f\xc6\x51\x6a\x87\x67\x6c\x50\xd5\xb8\x0b\x30\x54\x27\x3b\x15\x7c\x5d\x76\x75\x14\xe5\x45\x74\xb8\xa1\x01\x98\x5a\x8e\x96\x7e\x95\xda\x8f\x92\x98\x00\x26\x0e\x08\x14\x8b\xee\xe2\xd7\x78\x1e\x9e\x85\xd4\x63\xa9\x4f\xfe\xfd\xbb\x75\xc2\x8f\xa8\x89\x80\x15\x68\x09\x99\x42\x9c\xee\x79\x8b\x3f\xd2\xd9\x67\x37\x86\x8a\x26\x3f\xba\x9f\xb6\xf4\xaa\xd5\x6a\x15\xc6\x41\x2f\xf8\x5e\x7d\x37\x52\x10\x2d\xaa\xf2\x5e\x74\x5f\xa5\xf6\xf1\x74\xa2\x31\xfc\xce\x86\x24\xdd\x70\x85\x6f\x9b\xab\xcc\x20\x91\x44\xff\x68\x64\x64\x8d\xea\x0d\x68\x84\x56\x6a\x4c\x39\x14\x78\x05\xbe\x08\x4e\x47\x40\xbc\x50\x93\x09\xbc\xb1\x42\x96\x4b\xb0\xcf\xcf\x67\x26\xa0\xe0\x4b\xbf\x32\xae\x68\x34\x73\x2b\xda\x03\x84\xce\xa8\xf4\xa4\x84\x9b\xba\x0d\x18\x64\x6c\x1c\x34\x47\x18\x96\xb5\xbe\xf1\x49\xf8\xca\xb9\xec\x83\x72\x2b\x0f\xb2\x09\xef\xe8\xa0\x4c\x4a\x23\x5d\xc8\xdd\xb2\x0a\xcd\x92\x76\x5a\xfb\xf3\x05\x87\x40\xea\x70\xb9\xc1\x0d\x9c\x5a\xef\x86\x06\x29\x8f\xe4\x15\x15\x93\xb2\x1f\x79\x7d\x92\xae\x9f\x1e\x08\x81\xb0\xd2\x71\xb0\xd5\xb1\x0c\x6e\xd8\x3c\x34\x9e\xc2\x47\x3f\xbf\x2f\xf7\x80\xdc\xd0\x76\xd8\xcf\x0a\xea\xfa\x71\xfe\x2b\x8c\x51\x28\x01\x5f\x8f\xbb\xcf\xec\xd5\x28\x1c\xd5\xea\xcb\x6f\xe9\xac\x6e\xaa\x6e\x47\xd6\x67\xb9\xad\x4b\x7e\x41\x1e\x6c\xb7\x46\x3d\x56\x76\x07\xaf\xbf\xd0\x41\x8c\x4e\xb0\x6a\xfe\x84\x7f\x5e\x40\xb4\x99\x44\x38\x28\xd5\xa2\x73\xa4\xa8\x7e\x46\xde\xf2\x1a\x91\x9d\x73\x86\x3a\xf0\x05\x4a\x09\x9e\x3a\xdc\x54\x50\xb8\xe3\x2f\x51\xea\x52\xc5\x99\xa4\xa2\xa3\x53\x51\x78\x8a\xf7\xcb\x71\xe5\xc4\x4b\xcb\x8d\xf5\x4a\x60\x1e\x6e\xc2\xc1\x82\x8b\x48\xc4\xb1\xae\x44\x63\x10\x6f\x10\xef\xa5\xca\xf3\x09\x1a\xbf\x99\xaa\xba\x52\x52\xf4\x84\xd3\xbb\xc6\x2b\xfa\x6b\x2a\x80\x6d\x23\xc6\x33\x1a\x62\xfc\x46\xbc\x62\x76\x79\xe7\x3e\xc8\x2d\xcc\x08\xf7\x91\x43\xf4\xb7\x1e\xcf\x35\x7e\xa2\xf0\xd7\x4e\x6d\x30\x58\xe6\x06\x04\x3f\x6e\x8f\xed\x70\x42\x82\xc1\x6b\x1f\x98\x8f\xfa\x36\x5c\xfa\xe9\xa3\xcf\x79\x2e\x0c\x5b\xaa\xd7\x0c\xa7\xe2\x57\x76\x01\x8b\x5e\x7f\x0e\x95\x44\xe1\xd7\x3f\x3e\x5d\x1e\x41\x6a\x5e\x50\xfb\xed\x29\x6d\xc1\xbf\x4b\x29\xa3\xfb\xe3\x2e\xfb\xd7\xe9\x9c\x83\x01\x5d\x27\xf5\x35\xad\xec\xf1\x75\xfc\x36\xc1\xea\x4f\x44\x23\xb3\x6d\xcd\xc0\x54\xba\x99\x32\x78\xe8\x5a\xc3\x62\x2d\x43\x5f\x52\x37\xba\x61\xb4\x9a"}, -{{0xf0,0x7d,0x61,0xb5,0xca,0x1c,0x27,0x00,0xcb,0x50,0xf9,0x00,0xc2,0x6b,0x7c,0x28,0xf6,0xc6,0x94,0x08,0x08,0xc7,0xba,0xff,0xf7,0x4f,0xca,0x4b,0x11,0xf4,0x25,0xd4,},{0xeb,0x24,0x3d,0xfa,0xcc,0x2d,0xc6,0x43,0x57,0x76,0xd5,0x54,0xec,0xed,0x8b,0xf9,0x23,0x90,0x60,0x4b,0x35,0x55,0x7c,0xda,0x51,0xfd,0x20,0x3e,0xdd,0xb4,0x93,0xfa,},{0xc1,0x9b,0x53,0x2b,0x82,0x48,0x56,0x39,0x32,0x63,0x97,0x01,0xbf,0x15,0xbc,0x01,0x5f,0xae,0xbb,0x17,0xbb,0x98,0xd8,0x71,0x61,0x6e,0x10,0x48,0xd6,0x4c,0xa5,0xf9,0x55,0xf5,0x58,0xf6,0x3b,0x53,0x53,0xa1,0x57,0x6f,0xa1,0xac,0xae,0xf3,0x9b,0xcb,0xc9,0x02,0x17,0x56,0xdf,0x5d,0x1a,0xb3,0xbc,0x74,0x1a,0xcc,0xf9,0x05,0x9b,0x04,},"\xc1\xc6\x78\x43\xd6\x9a\x0e\x62\xe7\xbf\x71\xf9\x02\x06\xa3\xd5\x59\x5c\xa3\xc4\x82\xaa\xa7\x67\xe9\x31\xb0\xd6\xc2\xf4\x75\x2a\xb8\x69\x91\xf0\x35\x83\xbb\x13\x8e\x9f\x72\xfa\xb5\x8f\xd6\x02\xa4\xb6\xb2\x96\x02\xcf\x89\x14\x08\xaf\x5a\x1b\xfd\x33\x98\xc0\x17\x8c\x44\x14\x61\xe3\xf4\x9b\xc8\x1d\x64\xc0\xd9\x7f\x5d\xed\x69\x2c\x75\xd4\xd6\x4d\xac\x5d\x80\xd6\x3b\xd4\xdc\x52\x10\xc1\xd9\x35\x0b\x14\x2b\xa6\xe7\x68\xf1\x50\x80\x7a\xb8\xa8\x6c\xac\xdb\x59\xd8\x4d\xdf\x66\x0b\xe5\x62\x03\xc0\x14\xfb\xa1\xe0\xdc\x16\xfa\x6d\x32\x69\x4e\x14\xb1\x28\xed\xd1\xf6\xc6\xab\x44\x5a\x3a\xd3\x41\x74\xfa\x9e\x4b\x01\xf2\x5b\x1d\x5e\x6e\xb7\x69\x83\xb4\x29\x5c\xe4\x91\x4d\x3a\xe4\x8c\x70\x4a\x30\xe5\x54\xfc\x1f\x86\x8b\x62\x72\xef\xf0\x6d\xa2\x4b\xfe\x17\xe4\xe0\xf0\xfa\x46\xbb\x08\xff\xb9\x07\xcb\x61\xbe\xbe\x52\xdf\x31\x1a\x64\xcb\x57\x8b\x30\xfd\x62\x7d\xf1\x12\x21\xae\x40\x03\xa0\xb0\xc6\x8e\x3c\x6f\x95\xa2\x1c\x85\x00\xd4\x1b\x2c\x58\x9c\xc4\x6a\x13\x9c\xac\xff\x57\xdc\xf0\x07\x59\xf5\x2e\x9c\xa3\xda\xbd\xb1\x78\x8a\xb6\xb3\x8a\x50\x48\xf5\x8e\x08\xe0\x5c\x39\x4f\x9d\x3c\x72\x11\x3d\x45\x2b\x70\x84\xc5\x19\xf8\x6c\x16\x89\xff\xdb\xae\x50\x6e\xd8\x45\x05\x22\xcb\xe4\x3d\xe2\x7a\xa3\xbf\xdd\x92\xa9\x1b\x71\xe5\x2a\x3c\xbf\x77\xc1\xbd\x28\x93\xea\xbd\x40\x7a\x57\xfe\x5e\x14\x68\x73\xbf\xb2\x04\x3f\x4a\x61\x47\xdf\x08\x3e\x54\xa2\x20\x8d\x19\x25\x81\x3f\xa4\x04\xe4\xc4\x74\x06\xe7\x72\x86\x43\xeb\xfb\x0b\x10\x14\x2f\x90\x9e\xf8\x56\xfd\x3a\x91\x6b\xc0\x85\x15\x43\xb8\x2a\x55\xf8\xcd\x52\x9b\xd2\x1d\x9e\x29\x09\xd6\xd7\xe7\x7b\xdc\xea\x46\x73\xe5\x45\xff\x4a\x67\xfa\x37\xd6\x5f\x1f\x63\xf1\x1d\x5d\x0d\x55\x97\x4a\x30\xab\xe1\x88\x33\x5d\xb5\xdc\xbd\x35\x66\x58\xf9\xb7\x76\x82\xd9\x6d\xab\xb2\x58\xea\x95\x95\x1a\x05\x59\xae\xa4\x06\x4d\x5e\xa1\x68\x05\x01\xdc\xb4\x22\x8f\x2c\x95\x6f\x81\xd2\x10\x11\x44\xaf\x74\xc7\x16\xbc\x8b\xf4\x29\x6d\xc3\xb8\x31\x72\x5c\xc1\x7d\x3b\xfd\x90\x66\xa2\x99\x53\xb2\xec\xd7\x50\x59\x43\x5b\x49\xa2\x5a\xc5\x25\xb4\xfb\xab\x17\x79\x02\x2d\xfb\x6d\xe5\x25\x14\x9d\xcd\x90\x2a\xc8\xa7\xe2\x1f\x34\x4f\x5f\x01\x01\x48\x06\x92\xd6\x16\x08\x95\x2c\x71\x41\x3e\x30\x03\x79\x45\xe2\x06\xc5\xee\xad\xfc\x3e\xdc\x4b\xae\x0d\x79\x6c\xa0\xc5\xf5\x6d\x6f\xfb\x3f\x09\x69\xdf\x9d\xf8\xa7\x94\xf5\xdc\x83\xa3\xb2\xf5\xc3\xab\x36\xbb\x90\x1b\xcc\x31\x55\x1c\x55\x0c\x63\xfa\x41\xd6\xa8\xd5\x7b\xdb\x9b\x5c\x65\xbc\x61\x0c\x3a\x98\x97\x52\xab\x28\xa0\x15\xe7\xc2\xf6\xb2\xfb\xf1\x99\xa7\x6b\x97\x50\xc0\xd3\xd5\x92\x11\x9c\x8b\x40\x22\xfa\x45\xba\xde\x2f\xbb\x41\x43\x26\x79\xb5\x2a\xcb\x46\x08\xa9\x5c\x34\xaa\x40\xbf\xfe\xc1\x0b\xc9\x8f\x47\x29\xdf\xcc\xb6\x50\xb2\xa0\x52\xdf\xb0\x68\x95\x9e\x64\x8a\x92\xd5\xaa\x4d\xd2\xd1\x7d\xde\x67\xcd\xf2\xe6\x37\x7a\xf0\xd4\xae\x37\x96\x07\x38\x9d\x7e\x35\x96\x44\x1b\x9f\x42\x22\xcf\xf6\xaf\x73\xb3\x30\x02\x70\xce\x54\x80\x0b\xd9\x34\xa9\x10\x9a\x02\x56\x3a\xdc\x56\xae\x46\x58\x44\x51\xcd\xaf\x4a\x77\x53\x81\x57\xe5\x87\x0f\x4a\xe1\x2d\xbc\x81\x87\x0f\x5d\xb4\x1a\x2c\xb5\x5e\x00\xdb\x3d\x22\x31\x62\x8f\x17\x27\xc3\xac\xb9\x9e\xd3\xac\xd8\xb6\x71\x56\xa8\x00\x5a\x4c\xc8\xf3\xd3\x55\x5b\x79\xa0\x37\x73\xa9\x31\xf1\x4e\xeb\xce\x40\xb9\xfe\x46\xed\xe5\xda\x08\x81\xfb\x22\x07\x17\xe4\x18\xe8\xb5\xa0\xfe\x5e\x47\x7e\x72\x85\xc5\x54\xe8\x59\xe1\x64\x41\x67\x2b\x48\x99\x34\xa3\xa9\xee\xb8\x8d\x78\xfc\xc5\xc1\xdb\x2d\x1f\xbd\xde\x39\x27\x73\xf6\xc9\x39\x97\x2e\xe8\xfa\x31\x89\xf4\xe9\x87\x2b\x4a\xbd\xc8\x3b\x37\x9c\x0c\x10\xe8\x18\xdc\xff\x75\xc8\x3d\x68\x70\x72\x92\x84\xce\xd4\x1f\x2f\xf5\x5a\x87\xc9\x60\xe6\x3d\x12\x11\xf0\x80\x71\x29\x3f\x6a\xc6\x3f\x9b\xde\xf3\x8f\xd5\x91\x9c\xa9\x0b\x3f\x5e\x25\xa6\xc0\xc6\x64\xc4\xec\xf8\x31\xc6\x4e\x2d\x4c\x6e\x79\x8a\x98\xa3\xa0\xf7\xbe\x7a\x24\x63\xea\xda\xa6\xa2\xa3\x48\xf9\xa4\x94\x71\x71\x23\xcc\x0a\x28\xc0\xa5\xea\xe3\xf5\xb5\x85\xf2\xcb\x8c\xb2\x60\xc2\xc5\x03\xe4\x15\x78\x57\x3c\xd9\xb7\xcb\xa1\x40\x8d\xca\x9d\x86\x0a\xe4\xf8\xc3\xd3\xf3\x22\xa4\x5b\x58\xa2\xc4"}, -{{0x50,0x86,0x4a,0x75,0xaa,0x0c,0x69,0xb5,0x93,0x50,0x07,0x7c,0x20,0x4b,0x20,0x75,0x7f,0x2b,0x8b,0x68,0x55,0xc3,0x7e,0xd7,0x21,0xb4,0x9f,0x2a,0xc9,0x17,0xd6,0xb2,},{0xcf,0xf3,0xeb,0xd5,0xea,0x0c,0x8b,0x55,0x31,0xd9,0x21,0x1e,0x22,0x19,0xe4,0xcf,0xe5,0xde,0xd9,0x91,0xd8,0xec,0x42,0x4d,0xf5,0x4c,0xf5,0x3c,0x83,0x76,0xf9,0xbd,},{0x17,0x74,0x55,0xa7,0x16,0x94,0xf1,0x2b,0x76,0x2f,0xd1,0x7e,0x08,0xbd,0xf0,0x10,0xa7,0xfc,0x91,0xd1,0x91,0x41,0xd7,0xae,0x23,0x99,0xbd,0x24,0x1a,0x99,0x8a,0x6a,0x50,0xa9,0x72,0x2a,0xc1,0x23,0x2c,0x59,0xe4,0xe2,0xaa,0xa8,0x28,0x07,0x8b,0x2b,0x92,0xf4,0xa5,0x4c,0xdf,0x0e,0xfe,0xbb,0xa2,0xc1,0x6d,0xbe,0xaf,0x07,0x22,0x03,},"\xb3\x65\xf4\x76\xac\x92\xe7\x60\x12\xa7\xff\xd8\x78\x2a\xf1\x5a\x3f\x5e\xe1\x47\xf6\x03\xa3\x67\xad\xf2\xf9\x72\x46\x13\xe8\x76\x5b\x03\x7a\xc0\xeb\x1f\x67\x37\x36\xe1\x13\x63\xe3\x52\xed\x5a\xe9\xeb\x5a\x67\x12\x5e\xd8\x18\x90\x03\x42\xae\x93\x37\x1c\x43\x3b\x91\xf6\x02\x1d\x4b\xe2\xa0\x52\xb0\xda\x43\xb3\x68\x2e\x7f\x74\x0a\xe8\x01\xd0\x54\x10\x57\x85\x8e\xb0\xc9\xc2\x8d\x98\xf0\x3b\x45\xe1\x28\xaa\xa3\x42\xc6\xb6\x02\x77\x67\x92\xaa\x81\x24\x1c\xad\x06\xf1\x33\x8f\xa0\xc7\x17\x57\x18\x0f\x58\x8c\x83\x01\xd9\x1c\x27\x67\x9b\x50\x21\xcd\x75\xd7\xf6\x17\x1e\xe9\xf8\xd5\x6e\x43\x77\x67\x98\x12\xf6\xec\x5e\xd4\x65\x38\xca\xed\x50\x0c\x1d\x15\xf5\xfc\x86\xea\xf9\xed\x9c\xf9\xa0\x60\x6b\x22\x61\x4f\xaf\x67\x64\x62\x13\x4e\x3d\xb3\x58\x23\x32\xb4\x83\xdf\xa5\x4c\xa2\x9a\x5e\xb0\xd6\xba\xe3\x38\x0e\x19\xd0\x60\x11\x34\x53\xf3\x2b\xba\xb7\xe1\x18\x62\x7b\x40\xbc\xab\xf1\x71\x1b\xcf\xea\xb8\x95\x7d\xe3\x39\x43\x6c\x70\x88\xbb\x88\x31\x01\x53\x9a\x09\xd3\xbe\xf0\x88\xfc\x1f\x84\x07\x64\x03\x6f\xfb\xb3\x3d\xec\xd1\x2a\xac\x57\xfd\x26\xf8\x48\x23\xe1\x95\x53\xd4\xd6\x7e\x00\x0e\x94\x36\xca\x32\x3d\xe0\x99\xbc\x1c\xe7\x5e\xbf\x5d\xdc\xcb\x44\x8c\xd7\xa2\xe4\xbb\xd6\xb3\x2e\x3f\x20\x24\xf9\x6c\xc5\xc7\x15\x2b\x8b\xe8\xed\x0b\xd8\xe4\x36\xd3\x24\xd1\xce\x1d\xd3\xcf\xcc\x45\x2a\x28\xc7\x3a\x95\xaf\x84\x82\xaa\x77\x2a\xe5\x3d\x5b\xe1\x29\x2e\x39\xd1\x71\x6b\x43\x75\x8f\xe5\x63\xc8\xaa\x3b\x74\xbb\xa5\xc0\x2d\x04\x77\x8d\x91\xe3\xd4\x3d\xcc\x72\xbb\x7c\x7b\x04\x3c\x05\xc8\x74\x5b\x70\x5e\xe7\x5b\x5a\x4e\xc7\xb9\x5b\x65\x43\x59\xfb\x5e\x85\x33\x38\x21\x98\x51\xd4\x0a\x8a\xfb\xb4\xf9\x1e\xcb\xb4\x1e\xb8\x15\x34\x19\x6c\xc0\xcc\x9d\x3e\xb7\x14\x39\x6c\xaf\x04\x5b\x23\x17\x22\xd4\x48\x65\x03\x64\x04\x19\x98\x84\x80\xa7\x81\x58\x08\xbe\x97\x42\x87\x37\x2c\xfc\x48\x99\x65\xaa\xc5\xb8\x09\x5c\x63\x75\x81\xeb\x91\x0f\x90\x55\xcd\x1c\x0a\x0a\x3b\x0b\x33\xac\xa9\x0f\x7c\x5b\x8e\x6e\xf6\x83\xab\xf0\xce\x53\xae\xba\x51\xbe\xc4\xfc\x7b\x42\x7a\x23\x47\x36\x0f\xca\x86\x36\xd3\xf1\x46\x92\x84\xf2\x69\xa9\xab\xf0\xcb\x1a\x24\x4a\x15\xd6\xb4\x04\x65\xe7\x5c\xf8\x90\x92\x47\x4a\x8b\xed\xa0\x33\x39\x1d\xd3\x11\xc4\x99\x51\x9a\x08\xc4\xf0\x34\xe7\x19\x18\xd7\xca\xd4\x18\x45\x32\x7c\x89\xe7\xb1\xe9\x4a\xfb\x07\x23\x78\x2c\xe5\xc5\x53\xef\x36\x79\x1b\xba\x63\xde\x17\xd7\x46\x49\x18\x94\x01\x2c\xeb\xd8\x7b\x18\x37\xa8\x21\xef\x5c\x62\x4b\xbc\x84\xcc\x50\x35\xf5\xe7\x0c\xd9\xf2\x1b\x42\x21\x9a\x2d\xce\x30\xe0\xe6\x5c\x25\x0d\x0d\x19\x4d\x2b\x52\x48\x6b\x03\xee\x66\x33\x29\x81\xa5\x22\x51\x74\xdb\x17\xe5\xa8\xbb\x4a\x10\xed\x9c\x8a\x44\x5c\x41\x44\x2f\x3b\xcd\xb6\xb4\xf4\x9e\x4e\x1d\xc8\x76\x61\xa7\xb6\xe4\x1f\x35\xf5\x5d\xd6\x7b\xd4\xcb\xc6\xff\x58\xbf\xbf\xfa\xff\xd2\xc3\x82\xfc\xad\x0c\xae\x8f\x0d\xf9\xaf\x6a\xcf\x09\x40\x00\x76\x18\xa5\x4a\xee\x31\xd9\x32\xcb\xd8\xe8\xb4\x1c\xa0\x38\x21\xc4\x28\xa0\xef\x8e\x58\xd2\x43\x5e\xec\xd5\x03\xc5\x4d\xa9\xc1\x62\x8f\x3c\x74\x9b\x77\x05\x19\xf5\x3b\xf2\xd5\x7e\xd7\x12\xd0\x75\xd3\x73\x37\xb7\x7a\x2b\x10\xa7\x2d\x2d\x59\x0c\x20\xd5\xce\xc2\xca\xcc\x6c\x3a\x8d\xc1\x13\xe2\xd1\x6e\xf2\xd1\xb3\x90\xed\x96\xe4\x03\x6a\xcd\x30\x4e\x0c\x7c\xef\x9d\x43\x1f\x88\x21\x8a\xa1\xf8\x38\x28\xdd\xa6\x36\xb9\x4a\xa7\x61\xc7\x31\x7e\xcf\x11\x6c\xbf\xc6\x11\xe5\xba\x6d\x94\xc5\x0e\x99\x46\x93\x02\x3b\xdf\x2d\x24\x8e\xd6\x03\xf8\x5b\xe7\x3a\x00\x08\xb7\x5a\xde\xf9\x51\xdc\xcf\xa3\x0e\x42\xe9\xf5\xbb\x05\x02\x3a\xde\x79\x75\x06\xcb\xf9\x0b\xb6\xdc\xe4\x3c\xf3\xa1\xc3\x14\x1a\x5c\xc5\xfd\x9a\x4f\x3c\xc5\x57\xb9\x0e\x18\x04\x9b\x3c\x13\x0f\x46\x1e\x4f\x32\x29\x9f\xa1\xd1\xcf\x9c\x7f\x2e\xa2\x05\x35\x65\xe8\x16\x0a\x34\x1c\xdd\xf9\x9a\xcd\xdd\x49\x16\x97\xfa\x70\x51\x24\xab\xda\xb4\x2a\x5e\x8f\xcf\x04\x8d\xd9\xf1\x79\x38\x4e\xc9\x2a\x46\x9a\xeb\x11\xe8\xbc\x62\xb6\x9d\xbc\xfc\xec\x66\x81\x75\x47\x57\xe4\xc5\xd0\xfd\xd9\xb9\xcf\xda\x49\xaf\x09\xb8\x3a\x5a\x4a\x10\xae\xd9\xa4\xcf\x7d\xdf\xa2\x89\x20\x9d\x47\x5a\xb3\x31\x8c\xd4\xb9\x65\xe0\x07\xdc\xe1"}, -{{0xe5,0x5f,0x22,0x0f,0xff,0x80,0x79,0x14,0x8b,0x25,0x41,0x89,0xbb,0x29,0x41,0x74,0xf8,0xe2,0xc5,0x75,0xe5,0x7f,0x39,0xd4,0xba,0xc8,0x16,0x5c,0x5e,0x56,0xe7,0x69,},{0x7f,0xd5,0x07,0xd0,0x3f,0xe1,0xd6,0xe3,0xf9,0x11,0xf0,0x59,0x59,0x7b,0x0e,0x29,0x2e,0xa0,0x96,0xf5,0xbc,0x85,0x18,0x52,0x91,0x6b,0xf1,0x21,0x7c,0xaf,0xdc,0x6c,},{0xc1,0x02,0x3a,0x70,0x68,0x74,0x3e,0xc4,0x66,0x8f,0x49,0x5e,0xb7,0xbd,0x4d,0xb5,0x81,0x29,0xc1,0x1e,0x58,0x29,0x9e,0xa8,0x7d,0x6f,0xac,0xd3,0x02,0xbf,0x29,0x6a,0x98,0xe2,0x98,0xfd,0xb4,0x8e,0xdd,0xf9,0xc4,0x4e,0x79,0xae,0x86,0x41,0xf7,0x34,0x50,0x3b,0xb8,0x3d,0xc0,0xb3,0x1f,0x61,0x0d,0xf1,0xd1,0xe9,0xd6,0x19,0xa7,0x05,},"\x1e\x2c\xe8\xbf\x0e\xa7\x87\x5d\xf2\x85\xb1\xdb\xd3\x4b\xbe\x67\x30\x7f\x2e\x8a\xc8\xbc\x14\x2c\x3b\xa3\x14\xc1\x64\x2c\x65\xa2\xd6\x2e\xb2\xc7\x83\xf9\x16\x28\x3c\xa4\xec\x3e\x53\x6d\x3e\xeb\x65\xcf\xdc\xc0\x54\x9a\xc4\xf6\xa4\x5f\x53\x9a\xc5\xdf\x79\xa6\xd5\x76\x82\x19\x73\x9d\x0c\x9a\x0c\xdb\xb3\x12\x42\x29\x6c\x33\x12\xb7\xed\x56\x00\x43\xf5\x36\xcd\x1d\xe9\xa9\xc2\xb2\x89\x64\x1a\x1c\x2d\x84\xf9\xa6\x8b\x7c\x03\xb8\xb8\x56\x7e\x5d\xc7\x13\x8c\x2c\xb9\x67\xc6\x28\xaa\x25\xb2\xea\xb4\x34\xd4\x49\x0b\x23\x50\x74\x09\x71\x7c\xde\x94\xda\x59\xdc\x1d\xc2\x5c\x7b\xe4\x2a\x8a\xa0\x2e\xdc\xf4\xd9\x95\x36\x8e\x6b\xa0\xee\x1f\x95\x36\x00\xdb\x98\xd2\x2d\xe0\xf8\xd2\x57\x02\x0e\x0a\x40\x6e\xe1\x66\x9b\xd5\x27\xb9\xfe\x1c\x61\x1f\x9b\xe5\xa3\xd7\x52\x8e\x8b\x61\x51\x67\x0a\x86\x63\xd2\xed\x1a\x58\xd3\xe3\x69\xbb\x72\x2a\x63\x02\xd7\xc1\x72\xa1\x9b\xda\xf3\x57\xee\xdb\x02\x27\x91\x56\xe3\xb9\x03\x44\x31\xa7\xd6\x8a\x39\x52\x8e\xb4\x02\x35\x87\x57\x3e\xb8\x8f\x30\xf9\x4e\x83\x3e\x8a\x23\xb9\xd0\xac\x7b\x5c\xa8\x78\x24\x59\x6b\xbb\x0a\x3d\x0c\xa1\xb1\x6a\x68\x78\xfd\xf7\xe2\xce\xa3\x4a\x6f\xfb\x95\xa9\xff\x4e\x88\x8a\x97\x59\x37\x35\xb8\x68\xda\x75\xd8\x70\x7b\xbf\xdb\x1d\x93\xeb\x86\xa5\x1e\x2d\x21\x5f\x1d\xd9\xdc\xf7\x83\x88\x72\x9a\x3e\xb0\xf0\x66\xdd\xc9\x41\xe9\x50\xc9\x21\x27\x19\x8b\xce\x63\xa5\x48\x68\xd9\x97\x02\x95\x72\xff\xa6\xf6\xfe\xa1\xd3\xa6\x91\x64\xc9\x99\x69\x53\xdc\x8b\x6f\x9d\xad\x06\x35\xc9\xb0\x81\xf5\x5f\x98\x33\x40\xf0\x81\x4b\xf5\x47\x08\x03\x09\x0e\x79\x97\xf7\xab\x79\x6c\x2b\x15\xad\xaf\x40\x21\xd6\x7c\xff\xaf\x6e\x1e\xf6\x28\x67\x50\x39\x45\xc2\x1a\x32\x96\x64\xe0\x8a\x95\xa4\x15\x82\x30\x0d\xa9\xbe\xd2\x08\x44\x4c\xe6\xaa\x12\xb3\xf8\x67\x79\x5c\x6e\xe4\xc4\xc9\x25\x70\x18\x62\x73\x61\x29\x3b\xd5\x27\x82\x1a\x29\xa3\x39\xb4\x04\xa2\xda\x4b\xd9\x94\x4f\x87\x70\x40\x79\x8b\xb5\x4a\xbd\x2d\x76\xcb\xb1\x8d\xf4\x29\x7f\x4c\xe3\x33\x7f\x64\xd2\x05\x80\xaa\x64\xbd\xec\xac\x37\x6a\x6a\x4f\xf7\x4d\x01\x44\xb2\xfe\x74\xce\xf8\x2d\x50\xa5\xe6\xbd\xd7\x99\xe5\x5f\xf6\x96\x62\xba\xc5\x37\xad\xcb\x68\x81\x22\x8c\xb6\x37\x04\x50\x0c\x14\x3a\x4f\x4d\x1d\xb2\x8d\x45\x56\xbe\xe6\x04\xa3\x99\xff\xd2\x06\x54\x65\x97\xde\xe9\x22\x52\x54\x7f\x6c\x65\x7f\x36\x84\x1a\x87\xd5\x65\xf6\x55\x27\x16\xc2\x5a\x21\x15\x14\x77\xbe\xe9\xef\x96\x18\x55\xfb\x1a\xf2\xda\x80\x68\xf2\x8c\xe9\xff\x70\xd5\x25\x2c\x7a\x63\xa2\xe1\x4d\xed\x6b\x89\x77\xb1\xd7\x69\x1a\x77\xed\x2e\x57\xd2\x2f\xf2\xe1\xfc\x4c\xdb\xce\xb5\xe8\x05\x85\x8d\x90\x38\x96\xea\x67\x07\xe4\x8b\x34\x5f\x60\xe2\x81\x8b\x2f\xce\xc4\xdb\xa4\x8c\xae\xa9\xef\xa3\x82\x79\xfb\x83\xd5\xb0\xf4\x6a\x45\xe4\x2c\x41\x76\x5d\x01\x71\xba\xac\xd8\xd6\xdd\xa7\x99\x13\x14\xb3\x4e\x15\xfd\x36\x12\x7c\x46\x7d\x1d\xe0\x1c\x01\xa3\xa7\x8a\x8c\x1b\x10\x3b\xee\x17\xa7\xa0\xb7\xac\x55\x76\xfd\xc2\x26\xdd\x24\x59\x77\x31\x46\xcf\x38\x26\x14\x17\xca\x19\x13\x5d\xbd\xa9\xbd\xbe\x54\xcd\x17\xaa\x7d\xdd\x38\xfd\xca\xc2\xab\xa3\x96\xb3\x65\xce\xae\x98\x91\x9f\x6c\x51\x77\xfc\x58\x3f\x5b\xee\x3f\x48\x70\x49\x14\x30\x6a\xa1\x9e\xe9\x0e\x3f\xd0\xde\x55\x91\xc6\x69\xff\x35\xab\x16\xfe\xf3\x8d\xee\x18\x7b\xae\x1e\x5a\xaa\x56\x6d\xf1\x05\x44\xb7\xd6\xd4\xeb\x00\xda\x7e\xbe\xb4\xec\xdc\xc4\xd8\xe3\x2b\x49\xcb\xbd\xc6\xe6\x66\x40\xbd\xb0\xf7\x2e\x05\x91\x8a\x05\xc3\x5d\x9b\xff\x7e\x0e\x88\xf2\x41\xd7\xc6\xc8\xcb\x2f\xed\xcc\xdf\x65\x56\x0a\xf0\xe7\x83\x3e\xfe\x34\xaf\x79\x0d\xb6\x31\x89\x02\x2c\xfd\x71\xfc\x8a\xcf\x88\x86\x01\x27\xbd\x4f\xbf\x02\x6b\xcb\xe3\x60\xe3\x3a\x89\x95\xe6\x36\xd0\x3b\xb8\x6d\xfd\x01\x98\xad\xa9\x59\x34\x2d\x8e\x9c\x9e\xd9\x3e\x23\x29\x7d\xa9\x8d\x66\xa0\xd4\xfc\x96\x51\x62\x73\x3b\xc8\x65\x41\xb9\x5a\x6c\x90\x97\xcb\x55\xa9\x73\xc6\xfa\xc1\x94\xe8\xf8\xa1\x64\x27\x4c\x47\x9c\x51\x0e\x62\xd8\xa0\x35\xeb\x75\x11\x81\xb5\x02\xaf\xb6\x14\xd8\xc4\x46\x7b\x54\x45\xc2\x68\xdc\x3d\xd0\xab\xbd\x57\x70\x04\xc0\xbc\x47\xb1\x5f\xcb\x80\x1b\x79\x35\x97\x57\xb5\xea\x89\xcf\x8c\xf7\x7f\xc6\xd1\x60\xe6\xcd\x73\xc4"}, -{{0xd5,0xe3,0xa4,0x06,0x71,0xbd,0x45,0xf0,0x88,0x42,0xdd,0xc7,0x8a,0xbe,0x57,0xde,0x3b,0x9c,0xe5,0x64,0x6b,0x73,0x0d,0x2e,0x59,0xfe,0xcf,0x5a,0x7d,0xf8,0x0f,0x40,},{0x41,0x6c,0x37,0xae,0x1a,0xd1,0x5b,0x63,0x2b,0x0e,0xa4,0x39,0x32,0xc1,0x76,0x37,0x28,0x2c,0xd9,0x1d,0x59,0x79,0x55,0x2e,0x5e,0xeb,0xb9,0x9a,0x41,0x9d,0x5c,0x97,},{0x63,0xde,0x6a,0x98,0x11,0x42,0x36,0x5a,0x3e,0x59,0x26,0x31,0xc8,0x27,0x72,0x37,0x80,0x97,0x39,0xd1,0xc9,0x8f,0x5a,0x1c,0xb2,0xcc,0xcd,0x34,0x06,0x7d,0x1c,0xa5,0xdc,0x8f,0x2f,0xc6,0x3b,0x8a,0xe1,0xa6,0x89,0xdc,0xaa,0x29,0x1b,0xa6,0xb6,0x9b,0x1a,0x67,0x95,0xc5,0x79,0xa5,0xdb,0x6d,0xcc,0xee,0x73,0xf6,0xa4,0x20,0xac,0x0a,},"\x09\xfe\x6f\xfa\x8b\xf0\x94\x2a\x64\x92\x13\x57\x65\x9d\xbc\x6e\x4f\x8b\x63\xca\x3b\x9e\xa4\x75\xea\x39\xd7\x92\x52\x90\xa1\x48\xd8\x7b\xb1\x55\x74\x1d\xfa\x28\xae\x1b\xea\xdc\x1f\x3e\x1a\xb7\x67\x37\xeb\x5d\x5d\xda\xde\xd0\xbb\x38\x2d\x7e\x11\xea\x81\xa5\xe7\x80\x16\x12\x69\x62\x60\xba\x3b\xd0\x9c\x80\xb6\x23\xf6\x36\x38\x0a\xa0\x20\x8f\xee\x0a\xff\x70\x81\x2d\x53\x07\xb2\x71\x83\x83\x23\x43\xde\xba\xa3\x60\x5d\xda\xd1\x7d\xdd\x70\xd6\x11\x40\x0d\xdd\x10\xd6\x38\xaa\x3d\x6c\x68\xa2\x8c\xf0\xe9\x7c\x1d\xed\xf6\xcc\xd9\xc7\x31\xa8\x4f\xf0\x40\x5a\x3a\x22\xdc\xba\x00\xab\x44\xd5\xb2\x18\x44\xf1\x4d\x13\x74\xac\x0c\xb1\xe5\x8d\xf4\xa9\x0c\x41\x25\x63\xcf\xe6\x9d\x88\x2d\x35\x0f\x6a\xaf\xbf\xa6\x4f\xa2\xf9\xff\x82\x60\x32\x32\x67\x80\xae\xcf\x93\x05\xd8\x21\x7c\x17\x9d\xbb\x63\xc1\x51\x54\x12\x32\xeb\x65\x97\x92\x65\xd8\x76\xc4\xbc\x43\x05\xc0\x2f\x40\xbc\x1d\x05\xdb\xaf\x7d\xcf\x4f\x7d\xd9\x23\x2c\x17\xee\x0f\x7a\x05\x55\xf5\x04\xba\x37\x74\x54\x84\x88\x93\x3e\x75\x71\xeb\x3f\x71\xc4\xcb\xb2\x0c\xc4\xe4\xa7\x32\x2f\x35\xac\x0e\x79\xa5\x91\x55\x79\x8d\xd0\xf5\xb3\xc1\x13\x19\xb7\xd8\xf3\xea\x79\xee\x3a\xcc\x68\xbd\xb9\xf3\x7c\x7d\x4c\x8f\x9c\xab\xa1\xeb\xf8\xeb\x7f\x43\xb4\x62\xae\xfd\x38\xe8\xc0\xd4\xc6\x39\x79\xcf\x66\x31\xde\xc3\x1a\xb5\xce\xd3\x93\x7e\xf5\xb2\x36\x2c\xb0\x9c\x71\xdd\x09\x66\x57\x70\x0f\xd9\x6b\xda\x55\x5e\x22\x71\x2f\x71\xae\xc1\x1a\xe5\xe9\x1b\x24\xbd\x16\x49\x49\x8b\x8d\x9f\x86\x7f\xb6\xc4\x1e\x07\x60\x80\xf7\x40\xd0\x74\xc2\xa2\x55\x72\xd3\x4e\x66\x6b\x63\x67\xbf\x7c\xbb\x3d\xd4\x2a\x23\x82\xdc\x19\x73\x96\x12\x68\x60\x53\x96\x81\x0a\x45\x6a\xc0\x81\xbb\xfd\x3a\x54\xb4\x48\x81\xfc\xfc\x45\xb4\x24\x5e\xe7\x24\x65\xb4\x87\xd0\x7f\x2e\xf3\xf7\x4a\xdd\x71\xcd\xfd\xd1\x6e\x92\xfe\x25\x7d\x33\x46\x45\xb0\xa9\xbc\x7d\x07\x26\x13\xfb\x9c\x0c\xde\xa9\xdb\x4c\x72\xbc\x87\x10\x9e\x10\x2d\x7c\xba\xf3\x66\xec\xd6\x7f\xbe\x3d\xed\x32\x74\x73\x07\xa7\xae\xef\x61\x73\x5a\xd3\xaa\x5c\xe9\x5d\xee\xcc\x16\xa1\x6e\xb2\xa0\xbc\xc7\xad\xc0\xa1\x1d\x88\x80\x32\x26\x0e\x7c\x7e\xc9\xe5\x4f\x5a\x25\x31\x70\x2a\x7e\x5d\xfb\x87\xc3\x6c\xe3\x13\xa3\x14\x75\x88\xae\xf9\x62\xc7\x2f\xa9\x66\xd2\x41\x63\x7c\x38\x8b\x83\xdd\xec\x93\x43\xbb\x86\x34\x3e\x92\x0b\x12\xce\x1c\xc9\x15\xc8\x3b\x31\xe9\x98\x62\x69\x06\x74\xea\x49\x35\xa4\x88\x09\xd4\xd2\x79\x05\x41\x37\x54\x63\x92\xad\x9f\x08\xe7\xb8\xde\x61\xae\x73\xe8\x1e\x48\x3d\x3c\x63\xb5\xae\x73\x4e\x18\xe7\xa2\x2f\xee\xd1\x23\x3d\x0c\xa6\x33\x55\xf3\xa4\x8a\x33\x06\x7e\x1a\x0e\x19\x71\xf3\x6a\xa9\x29\xfe\x06\x13\xc2\x1c\x4a\xef\xf9\x41\x84\x29\xc3\xb0\x72\xa5\x98\x49\x59\x28\x7a\x5e\x5c\x40\xbe\x02\xbd\x22\xb9\xa7\x9c\x7f\x3f\x53\x59\xd2\xbb\xe4\x93\xf5\x56\xda\xcb\xb0\xcb\x4c\x29\x3c\x7d\x94\x12\x65\xe7\x77\x39\x2d\x14\x8d\x68\xc0\x7a\x13\xc8\xde\xc8\xe5\xd1\xe1\xc7\xf0\x41\xe8\x98\x3e\xdd\xda\xa4\x64\x9d\xac\x15\x72\xa3\x9a\xe4\xc6\x48\x0c\xa5\x50\xe2\xe4\x46\x2d\xcc\x84\x9c\x1b\xab\x78\x1d\x28\xa3\x55\x2b\x2d\x98\xe0\x2e\x15\x18\xe6\x55\x53\x40\xfb\x76\xd6\x8d\xb5\x89\x16\xd5\x56\xa7\xb8\x15\x63\xab\xa8\x1d\x9a\x57\xae\x50\xf0\x4c\xf5\x68\x60\x21\x84\x7d\x79\xb6\xbb\x3d\xa8\x01\x7a\x60\xb1\xc3\xbe\xef\xd4\x8d\x2b\x3c\xd3\x9c\x6f\x53\xc0\x8b\xcc\x96\x7d\x93\x06\x9f\x56\x2b\xb3\x6e\x0c\x4f\x4c\xa6\xbc\xcc\x5e\x57\xd3\x59\x03\xcd\x80\x0a\x61\x78\x5a\x93\x77\x0e\x37\x7f\x4f\xe8\xe9\xf4\xb6\x66\x80\x98\x49\x68\xf9\x64\x9e\x10\x5e\x7a\x11\x9d\x97\x63\x6f\x3a\x05\xca\xea\xb1\xd7\xea\x0b\xc8\x13\x34\xb4\x2d\x5c\xc0\x80\x83\x0e\xc2\x4d\x36\x9c\xf8\x67\x3a\x49\x0d\x59\xeb\x4c\xb0\x81\x81\xda\x39\xa4\x6d\x96\x6e\x23\xfe\xd8\xd3\x8a\x5f\xab\xc7\xe8\x43\xbc\xfb\x01\x5a\x44\x74\xbf\xd4\x6d\x4a\x43\xff\x4a\x51\xa9\x56\x76\x61\xe2\x69\x6d\xb8\x7c\x37\x58\xd3\xb5\x4c\xe7\x84\x6d\x13\x91\xd7\xf4\x65\x26\xef\x30\x84\x4d\x49\x32\x00\x18\xd7\x49\xb5\xd4\xdf\xd3\x0d\x38\x0c\x6e\x57\x3f\xc4\x14\xd8\xfe\xfc\x5d\x71\x04\x70\x75\x6b\xec\x00\xd8\x8a\xc4\xaf\xc9\x25\xd1\xed\xe3\x7e\xae\xe6\x00\x4a\x23\xea\x0e\xf8\xb6\x0e\x48"}, -{{0x4e,0xd7,0x04,0x8a,0xa1,0x28,0x4d,0xbb,0xcc,0x24,0x89,0x38,0xb4,0x0c,0x35,0x74,0x21,0x93,0x59,0x7a,0xdd,0xaf,0xdd,0xe0,0x64,0x13,0xb8,0xd4,0xcc,0xfb,0xe1,0x37,},{0xbf,0x84,0x1f,0xe4,0x44,0xad,0xd1,0xf7,0xc3,0xea,0xcd,0xfd,0x07,0x84,0xb4,0xe8,0x55,0xd2,0x40,0x5f,0x40,0x21,0xcd,0x9d,0x82,0x66,0x07,0x1c,0x32,0xc8,0xa2,0x73,},{0x10,0x6a,0x9d,0xeb,0x23,0x27,0xf3,0x38,0xcc,0xb7,0x1b,0xcc,0x94,0xe2,0xfe,0x3d,0x2e,0x97,0x3c,0xe6,0xdd,0x8f,0xa7,0xba,0xca,0x80,0x8b,0x41,0x11,0x81,0x3e,0x3b,0xc3,0xb4,0xd8,0x8e,0xfa,0x6a,0x00,0xc4,0x71,0x0b,0xbf,0xe5,0x31,0x96,0xf9,0xab,0x3a,0x15,0x0b,0x16,0x54,0xb9,0x08,0xfe,0xac,0xf9,0xc1,0x3d,0xf2,0xd6,0x38,0x02,},"\xdc\xff\x95\x87\xd6\x04\x6c\x11\x32\xbe\x07\xdf\x26\xdf\x63\x82\xff\x92\xcf\xc8\xeb\x53\x45\xc5\x1d\xd5\x0d\xd1\x88\xee\x76\x9f\x10\xa4\xde\x5e\x88\x83\xd1\x16\x96\x7b\xea\x97\xd3\xb3\x2b\xc8\xae\xbb\x9f\x01\x3d\x6d\xf9\x52\xf2\x51\xc1\xa3\x12\x34\x6e\x72\xce\xe1\x35\xa1\xbf\xd7\x6b\xf3\x08\x0a\x35\xc8\x38\xb4\x4d\x75\x5f\x26\x3d\x21\x03\x10\xfa\x8d\x28\xc4\xca\x52\xf0\x8c\xac\x5b\x83\xa8\xa3\xb1\xdf\xc4\x6d\x9b\x75\x2d\x9f\xc7\x36\x49\xd0\x0b\xb9\xee\x99\x26\x50\x63\x9c\x22\x5d\xea\xc1\xf3\x9b\x9e\x80\x36\x89\xd1\x9e\x6d\x9f\x8e\xf4\xf5\x1f\x1d\x11\x60\x1f\xac\xf4\x10\xdb\x64\x8b\xcc\x82\xbf\x64\x87\x69\xa7\xdd\x59\xc6\xe8\xa2\x37\xdb\x23\x9d\x3f\x66\x1d\x78\x52\xc4\x26\xd3\x94\xa9\x05\x09\x52\x6a\x85\x9b\x47\x64\x59\xde\xdb\xe6\xd8\x99\x36\xc0\xf3\x98\x99\x95\x51\x1d\x4a\x57\x6e\x54\x2c\xce\x5e\x0d\xd7\xee\xef\xeb\x03\x26\xd3\x3f\x25\xc2\x2a\xb6\xe7\x69\x06\x33\xf4\xc9\xed\x2a\xad\xf1\xd2\x4f\x94\x86\x21\x23\xa4\x64\x04\x2c\xea\x19\x3a\x2f\x04\x79\xd3\x9b\xcd\x1b\xbd\x1c\x7a\x0c\xa7\xe6\x25\x8e\xd3\x73\x23\x72\xf5\x4e\x0e\xd5\xe3\xf1\xe2\xe4\xd4\xa0\x4c\x51\x0b\xee\x08\xd1\xc6\xd5\x70\xcf\xd6\x3a\xbf\x14\xb4\xee\xf0\xb9\x6f\x39\xca\x29\xe4\x3c\x52\xf2\xca\x3d\xfd\x46\x0f\x66\xe3\x02\x35\xb1\x59\xaa\xef\x2c\xc1\x56\x01\x29\x69\xfd\x3d\x15\x99\x78\xd6\xca\xa0\xa9\x45\x22\x29\x1f\x79\x89\xd8\xaf\x10\x83\x19\x96\x13\x7b\x68\xd9\x7f\xc1\x7f\x6a\x9b\xc2\x84\x5e\xf3\xdd\x47\xcb\xc3\x86\xe8\x97\x7a\x86\x54\x36\x34\x12\xda\xc3\xac\x51\xc6\x38\x17\xb7\xc0\x51\x87\x8d\xcf\x45\x8a\xb3\x63\x0d\xd7\xae\xf6\x8d\x27\x0f\x8d\xa7\x88\x0a\x46\x7b\x33\x04\xf5\xba\xed\xfb\xa9\x17\x3e\x7e\xfd\x00\x7c\x41\x2d\x17\x20\x9c\x56\xd2\x39\x68\xe3\x40\xb8\xa0\xed\xb4\x1b\x7e\x2a\x40\x88\xbe\xc0\x1b\x53\x2d\xf8\x9b\x52\x15\x81\x31\x31\x10\x7b\x7b\x47\x4f\x03\xc2\xe4\x7d\x43\x17\xf1\x1c\x4f\x51\x60\x90\x43\x04\x99\x7e\x76\xa1\x21\xa9\x56\x02\x35\x20\x8d\x79\xb2\xda\xb4\xf7\xe1\x96\x79\x32\x02\xc0\x90\x2c\xe9\xc4\xbf\xc1\x0b\x8f\xe3\x97\xe3\x5c\xa0\x25\x64\x54\x66\x2a\xe8\x78\xef\xb0\xa0\xa6\x06\xfa\xc0\xa9\x52\xc9\xf6\xba\xae\xb2\xd4\x5b\x25\x8c\x61\x75\x59\xc0\xed\x25\x28\xa8\x8b\x49\xaa\x44\xee\x43\x03\x5b\x0d\x79\x3a\xad\x39\x53\xc1\xa5\xa3\x46\x38\x66\xbc\x81\x5b\x1f\xfc\xe2\xff\x2b\x65\xe0\xfd\x47\xdb\xc1\x5f\x4e\x7a\x06\xbf\xab\xc2\x90\xfc\x62\x09\x0b\xf7\xd9\x48\x53\xf7\x7c\x04\x44\xa9\xb9\x0e\xfe\x77\xd1\xce\xb4\xbd\x39\xe2\x03\xbc\x88\x40\x11\x62\x4e\x68\x46\xe2\xa3\x71\x05\x8d\xab\xa6\x3c\x23\xf8\x6c\x42\xc3\xe3\x1e\xaa\x4b\xd7\xd7\xa4\x2a\xf2\xd5\x24\x89\x6e\x31\xba\xa3\xe2\x07\x63\xf8\x5d\xcf\xd5\x27\x75\xf2\x80\x72\xd8\x9f\x0b\xd4\xfa\xe3\x0d\x0b\x13\x7e\xe3\x7a\xb0\x63\xba\x06\xfe\x9d\x4e\xc6\x2a\xbb\x2f\xea\x0f\x81\xb8\xcb\xee\xfc\x03\x00\x80\xb8\x02\x6a\x58\xfd\x18\x67\xf6\x6b\xe1\x15\x4e\x65\xbf\xea\x7d\xce\xc5\x5f\xe3\x2d\x51\xfb\x0b\x4a\x8a\x5a\x8a\x04\x42\x63\x94\x3d\x6a\xc8\x01\x1c\x6e\x67\x01\xbe\xec\x3a\x88\x65\x58\x40\xc4\x89\x2d\x45\x0d\x31\x2b\x76\x52\xd2\x51\x47\x69\xf2\x3b\xfd\x6e\x70\x46\x46\x7d\xf2\x9a\x28\x7f\xf3\xc4\xc9\xd0\xe6\x4e\x6d\x9e\x4e\xde\xe1\xb9\x35\xd0\x76\x81\xd4\x70\x04\x35\x28\x86\xe8\x47\xb0\xc6\xd5\x76\x2f\xd4\x5a\x81\xa5\x3c\xce\x94\x76\xc8\x87\x22\x1a\xea\x6c\x0c\x82\xbb\xf3\xb2\x97\x93\x2e\x5b\x11\xe5\x38\xa3\x24\x5d\x63\xd7\xb7\xb0\x91\xdf\xa1\xd7\xb9\xa0\xe2\xdb\x66\x98\xa4\xc5\xe9\xfe\x93\x16\x62\xd7\xc6\xec\x6d\x9d\x5b\x92\xbc\x7e\x04\x15\x55\xdf\x4d\xf0\xca\x11\xca\xbc\x48\x5f\x9c\x55\x61\x38\xa7\x17\x45\xf0\x3b\x97\x83\xbb\x20\x0b\x72\xd2\x33\x69\x7e\x8b\xcf\x6b\x41\x17\xee\x67\x63\xd7\x92\xd7\x42\x22\x64\x85\x2f\x4f\x30\xf8\xd1\x89\x0e\x2e\xa0\x80\x98\x04\x0f\x7f\x28\x8e\x4a\xbe\x90\xb6\x3c\xab\x2c\x14\x37\x30\x60\x84\x0e\xf8\x27\xec\xc8\x46\xcd\x56\x0e\x90\xa2\x0b\x83\x05\xf4\x63\xc3\x6e\xa0\x38\x84\xa5\xdf\x4c\x25\xf1\xba\x9e\xa1\x25\x95\x2d\xc0\x91\xb9\x75\x16\xde\x1d\x28\x7c\x0e\x2b\xf5\x29\x77\x5b\xa6\xd2\xf8\xed\xe0\x3c\xb4\x2c\x1e\x40\x0e\xc8\x04\xa9\xdf\x08\xe4\x6f\x44\xb5\x06\x63\x46\xe3\xf7\xc7\xa1\xa8"}, -{{0xc7,0xec,0xa8,0x3e,0x94,0x85,0x76,0xbd,0x9f,0x27,0x8f,0xd7,0xb8,0x28,0x00,0xa4,0x1d,0x92,0xda,0x9b,0x72,0xd5,0xa1,0xcc,0xdb,0xbc,0x65,0x58,0x10,0x52,0x56,0x8b,},{0x07,0x6b,0x83,0x52,0xdc,0xa8,0x03,0x1e,0x85,0x3c,0x8d,0x90,0x99,0xc2,0xef,0x57,0x93,0x37,0xcc,0x7b,0x2b,0x4c,0x75,0xd1,0xa0,0x63,0xea,0x3e,0xc7,0x25,0xb7,0xfd,},{0x86,0x99,0x6a,0x1b,0x8e,0x49,0x5d,0x42,0x52,0x77,0xe9,0x7c,0xc0,0x83,0x05,0x49,0x34,0x9b,0xc2,0xb6,0xf3,0xdc,0xda,0x60,0xf3,0xb7,0xd3,0x50,0x1b,0x8b,0x50,0xb5,0xb4,0x58,0xcd,0xa5,0x8b,0x43,0x6e,0x23,0xc0,0x2c,0xd4,0xa2,0x2b,0x23,0x48,0x13,0xaa,0x9b,0xcc,0x3c,0x61,0xf9,0x83,0xc0,0xb7,0xef,0xec,0xa0,0xf1,0xbe,0xc2,0x0d,},"\x8d\x8c\xef\xd6\x73\x85\x5c\xcd\x8e\xb8\x53\x4c\x31\x2d\x33\x80\x05\xbb\x05\xf5\xb9\x50\x7d\x58\x85\x9e\x1e\x95\x3b\x0a\x4d\x91\x3b\xe7\x59\xd8\xed\xfa\x92\x89\x8c\x6e\x70\xa5\x3f\x81\x95\x4f\xc3\x44\xb4\xad\x62\x46\xb0\x10\x94\x81\xba\x6f\x73\xae\x63\x31\xab\xf2\xdf\x10\x8e\xb2\xe8\x5c\xeb\x08\x7c\x1f\x6f\xcf\xc9\xde\x2c\x1f\x13\x9b\xa1\x77\x1b\x72\x68\x03\x02\xd8\x11\xcc\xd0\xcc\xd4\xe0\xc7\xfe\xb0\x13\x2e\xb2\x0b\x33\x4e\x5a\xab\xe5\xf6\x11\x9f\xd8\x94\x7d\x9e\x88\x52\xe1\xeb\x1b\x74\x10\x7e\x17\x41\x00\xe3\xe6\xdf\x0c\x3a\x68\x13\x0c\xa6\x30\x94\x02\x59\x4b\xb5\x0c\x1c\x8e\x27\x74\xf1\x32\x14\x49\x6a\x7b\x1f\x34\x83\x85\xea\xbf\xbc\xcb\xac\x16\x5a\x5a\x2e\x7d\x9d\xea\x5f\xfd\x58\xb0\xbd\x88\xb4\x9c\xb3\x31\xec\xb7\xf4\xe9\xd6\xba\xe9\x79\x1a\xd7\x88\xe6\xab\x89\x26\xc1\xcc\x16\x15\xde\xaf\x4c\xc4\x00\xc7\x7a\x31\x61\x97\xbc\xa1\x90\x49\x95\xe1\x36\x5d\x1b\x97\x02\x64\x83\x76\x11\x69\x30\xf6\xf9\x11\x66\xe6\x14\x86\x29\xe7\x5b\xe2\xd0\x68\x95\xf6\xa8\xd1\x5d\x5a\x94\xca\x69\xb7\x12\xf3\x3b\xcf\x95\xbe\x0c\x1b\xe6\x90\x2b\xb7\x8b\x8a\x23\x0d\x7a\x85\x60\xc4\xd8\x4e\x23\x89\x55\x2a\x81\x57\x1a\xa6\x65\xc1\x9c\x2e\x93\xb0\xd4\x3e\x8c\x2c\xbd\x9e\x88\x5d\x70\x52\x51\x8b\x77\xc4\x7e\x84\x1d\x11\x9d\xc2\x8b\x65\xa7\x50\x4f\x66\x42\x71\xf0\x6c\x7f\xf3\x93\xf8\x25\xb1\xe5\x93\x0d\x02\xb9\xc7\x00\x35\xe2\x92\x41\x1c\x4a\xed\xf6\x60\x47\x00\x69\x70\xe3\x49\xdf\xca\x7f\xb4\x1c\x10\xfd\x53\x7e\x35\x25\x2e\x10\x9e\x33\x36\xd7\xa8\x2a\x14\xde\x5d\x55\x40\xc6\xfc\x65\x71\xd5\x77\x4f\x39\xb7\xc4\x03\xe7\xb8\x87\x5e\xc2\x15\x87\x7e\xfc\x6c\xc8\xea\x48\xb1\x86\xb4\x68\x21\xea\x5e\xf2\xba\x8b\xac\xd4\x0d\x79\x7e\x6a\xdd\x06\x41\x32\x83\x14\x5b\x60\x46\x2b\x35\x03\xc5\xb8\x81\xd7\x9a\x59\x29\x55\xd1\x8a\xfa\x08\x96\x9e\x31\x45\x7f\x5b\x27\xda\xec\x01\x03\x38\xed\x86\x7f\x30\x08\x78\xfd\x87\xce\x32\x18\x80\xb8\x60\xa0\xc6\x42\x84\xca\x2d\xc1\x5f\x5e\x53\x10\xe1\x0e\x6a\x73\xa7\xea\x65\x0e\xa9\xd3\x73\x69\x4d\xa4\xdd\x42\x9a\xe7\x41\x2e\xf9\xb2\x9c\x83\xb3\xb0\x68\xc7\x47\x69\xf4\x31\xce\x06\x15\xf9\xff\x4f\x82\xba\xac\x47\xb4\xbc\xe9\x04\x49\xec\x41\xc2\xa2\xd5\x73\xd9\x2b\x92\xe0\x56\x31\x48\x61\x65\xbc\x71\x0e\xf5\x84\x0f\x80\xda\xe9\xf9\xdd\x5c\xff\xd4\xeb\xf5\xd1\x07\x46\x51\x0c\x5f\xcb\xfe\x62\xcb\x97\x03\xc0\xb1\x54\xc8\x6f\x10\x81\x66\x72\x49\x76\x70\xa3\xb0\x15\x0b\xb4\xe1\xb0\x3b\x3b\xd5\x44\xc1\x2a\x90\xc3\xed\xcc\xd7\x90\x0e\xbb\x5b\x31\xc9\x11\x17\xcc\x82\x81\xa3\xc4\xed\x04\x99\x8e\x99\xae\xd4\x1b\xb4\x1f\xce\x99\x90\xa4\x06\x48\x5b\x14\xdb\xe3\xbc\x1a\x5f\xcf\x77\x19\x50\x79\x90\xda\x3b\x0b\x3c\x68\xad\x40\xd8\x95\x0c\x0d\x49\xce\xd1\x01\x93\x19\xa3\xf3\x6a\xff\x6c\xaf\x75\xd7\xf9\xa0\x93\x3d\xd3\xab\xdd\x76\x92\xa1\x56\x2f\x06\x13\xfe\x4a\x27\x8d\x5c\xe4\xc8\xda\xfb\xb5\x5b\x2e\xc2\xaf\x2b\x24\xe8\x39\x6f\x58\x7b\x17\x0c\x9c\xa6\x54\x75\x08\xfa\xcd\xe7\x34\x90\xdf\xb0\x1e\xb6\x65\x7e\x3f\x4f\x27\x23\x04\xb7\x0b\xf0\x47\xa4\x3a\x2b\x58\xe5\x56\x8b\xc5\x2b\x2c\x8d\x4c\x03\x21\x9a\x5a\x8b\xd3\xdc\x06\x43\x18\x59\x13\xc0\xaf\x74\x11\xf8\x1b\x77\xbe\x2a\x9b\xfd\x5c\xb2\x69\x77\x11\x3d\x26\x58\xa9\x71\x92\xb4\x1c\xf6\xc7\x01\x1b\x0f\xf6\xa1\x1c\xbf\xf3\x50\x55\x46\x32\x2f\x0b\xef\x60\x97\xe4\x6b\x36\x49\x2b\x01\x6a\x45\x62\xe0\x92\xb6\x7c\x3f\xcc\xc7\x78\x0e\xa2\x74\xd9\x6d\x59\x58\x49\xf7\xe2\xa5\x6d\x79\xed\xcb\x32\xd7\x84\x04\x9f\xc1\x32\x4a\x5b\xee\xfc\x24\x19\x3a\x66\xe1\xca\xc4\xa1\x3a\x81\x1b\x90\x95\x83\xcc\x91\x0c\xf0\x8d\x4b\x10\x4d\xbd\xb8\xa6\xf2\xb2\x1f\xbc\x1d\xb1\x17\x5a\x1a\x23\x56\xa6\x3d\x3e\xea\x9d\xbb\x85\x37\xd2\xc6\x86\x27\x54\x3d\xf0\xd1\xf8\xfd\x8d\x57\xa1\x8b\x0d\xbd\x69\xb9\x20\xcb\x9b\x28\x6e\x3c\x07\xae\x44\xae\x2e\x1b\xee\xc0\x1c\xee\x6b\xa9\x88\xb5\xd1\xaf\xb9\x97\x90\xb1\xdd\x91\x06\x55\xc4\x3d\x7f\x2a\x3e\xd3\x75\x4b\xa4\x65\x16\xd2\x78\x70\x55\x59\xf5\x74\x16\x22\xa9\xab\xb5\xc8\xf2\x3f\xa9\x76\xa9\xd1\x46\x94\x8a\xde\x6b\xa6\x60\x8a\x35\xe4\xe0\xd3\x30\xe8\x2e\x96\xa2\xbe\x6c\x78\xad\x0c\xd4\xd8\x70\x4e\x57\xce\xa1\x46"}, -{{0x7b,0x46,0x9d,0xf9,0xc8,0xf7,0x84,0x89,0xab,0x47,0xcc,0x70,0xa8,0x85,0x03,0xf1,0xb8,0xf3,0xd9,0x29,0xc3,0x3f,0xea,0xb1,0xc5,0x03,0xf0,0x96,0x9a,0x3a,0xc3,0x7b,},{0xa8,0x14,0xc7,0xe3,0x73,0xd0,0x11,0x3b,0x90,0x62,0x4a,0x8a,0xb2,0xbc,0xa5,0xcf,0x53,0xbf,0x52,0x8e,0x39,0xfc,0x3d,0x36,0x7d,0xe1,0x54,0xb9,0x4b,0xb2,0x2f,0x1d,},{0x18,0xfa,0xf8,0x2d,0x08,0xe1,0x06,0x8e,0x9f,0x98,0x3d,0x81,0x2f,0x05,0xfd,0xb6,0x92,0x9d,0x27,0x23,0xdb,0x1f,0x77,0xc4,0x5a,0x74,0xbb,0x09,0xcf,0xf2,0x77,0x73,0xb5,0x4c,0xe8,0xf4,0x3b,0x30,0x15,0x41,0x91,0x12,0xe7,0x25,0xea,0x7a,0xcd,0xa4,0xb2,0x3b,0x81,0x20,0xe7,0xb0,0xcf,0x42,0x01,0x53,0xe5,0xb0,0x3d,0xd0,0x61,0x09,},"\x1c\x0f\xd7\x45\x0e\x29\x67\x5c\x93\x09\x16\x38\xc2\xac\x93\x3c\xa9\x97\x76\x6e\x38\x0e\xc3\x3a\x92\xb8\xa7\xe1\xa1\xed\x98\x21\xc7\x5f\xcc\xb5\xc5\xf3\x76\x0e\x76\xd0\xe8\x81\x03\x11\xdd\xc6\x24\xea\x87\x42\x13\x1c\x1c\x43\x08\xf4\x17\x8e\x04\xd0\x49\x60\x69\x3d\x84\x6c\x1f\x51\xd8\x77\x3b\x6d\xeb\x34\x43\xd8\x74\xb9\xe2\xde\x3b\x77\x78\x51\x85\x51\x8b\x2e\x9e\xe7\x36\xc6\x3a\x39\xc8\x21\x2c\xa8\x66\x9e\x16\x1d\x13\x1b\x1a\xb2\x26\x4f\xdd\x72\xdc\x56\x28\xb1\x1c\x06\xf2\xaf\x9f\x07\x89\x04\x7b\xdd\x4e\xbb\x5d\x55\x89\x9f\x74\xdc\x4e\x12\xe7\x97\x53\x63\xf6\x3a\x8d\xa7\x6b\x55\x85\xc1\x6b\xb6\xd5\x5b\x05\xfa\xde\x87\x13\xd1\x9c\xad\x1a\x21\x16\x40\x26\x26\x91\xaa\xc9\xb4\x37\xa9\xec\xf8\x9a\x92\x46\xec\xdb\xa1\xff\x0b\xea\x78\x49\x4c\xee\x15\x29\x62\x16\xea\x6b\xb8\x82\x47\x9d\x24\x37\xc9\x49\x4a\xc7\xfa\x4f\x30\x15\xd1\xd3\x14\x9d\x55\x64\xd7\xc1\x1a\x7e\x7b\x61\x4f\x7d\x3e\x9d\x45\x4f\x0a\x05\xb0\x40\xa1\xe0\x6f\xe7\x83\x7c\x2a\x9d\xa2\x79\x4d\x91\x8b\xff\xa9\xe6\x1a\x0c\x3f\x08\x9f\x6c\x9f\x7e\xea\xc5\x86\xe3\x4b\xf9\x44\x70\xd9\x13\xda\x41\x37\x1c\xac\xdf\xc7\xee\x8b\xd1\x13\x56\x55\x56\x69\x24\xea\xdf\x09\x6a\xc0\x30\xa6\x59\x02\xc1\x03\xb1\x72\xd1\x2e\x88\xf0\x53\xfc\x56\xee\x73\xf3\x18\x70\x81\x70\x83\xaf\xa8\x02\xf7\x66\x8b\x81\x5e\xe7\x90\xf7\xd4\x0b\x43\x7a\x2e\x6d\xb2\xf0\xfb\x26\x83\x6b\x4b\x23\x31\xeb\xa5\x55\x39\x61\x4c\x0f\xe1\x72\x40\x24\x2d\xd3\xaf\x73\x83\xbc\xff\x7d\x3f\x47\xd6\x54\x4b\x08\x72\x0c\x0a\x52\x44\x1f\x74\x11\x93\x5d\xd4\xa9\x52\xd3\x86\x51\xa8\x00\x05\xfa\x3e\xb0\xea\xec\xc7\x35\xd2\x90\xe8\xbd\x5e\x31\xb7\x40\x14\x0e\x13\x6b\x2c\x00\x25\x23\xd8\xeb\x2a\x0a\xb5\xbd\x68\x70\x02\xb3\xb9\x26\xf7\x5e\xb6\x90\xd1\xda\x73\xad\x23\x58\x92\xf3\xb2\x3a\x75\x6b\x60\x5a\x43\x7c\x00\xe0\x62\x13\x04\xe8\x10\xf9\x9e\x31\x4c\x4d\x63\xe3\x22\xd9\xb6\x98\x15\xf3\x82\xff\xa1\xec\x62\x80\xfc\x0e\x64\x1c\x8a\x6f\x6f\x7f\x61\x98\x5b\xd3\x56\x7e\x0f\x44\x0d\xe9\xf7\x62\x17\x15\xda\xcd\x07\x42\x8c\x00\x90\x15\x4d\x59\xce\x6d\xb4\x01\x69\xc6\x58\xac\x5b\xf4\x4b\x67\x67\x1f\xe1\x9e\x4b\x5b\x38\xaa\xd2\xd3\xd4\xe1\x90\xa5\x50\xaa\xd4\x18\x83\x52\xf7\x98\x1a\x6d\x88\x06\x25\x02\xdf\x86\x79\x13\x50\x39\x2d\x41\xce\xfa\xcb\x24\xe3\x7b\xc7\x00\xcb\x02\x91\x90\xc3\xb1\x82\x14\x77\xe1\x17\xd5\xa4\x62\xfb\x3e\x79\x13\x3b\x10\x73\x59\x89\x66\xf5\x2b\x63\x25\x6d\xbf\x32\x6a\xce\x14\xdb\x0c\x80\x05\x8c\xf0\x0d\x68\x9a\x0a\x58\x11\x1a\xf1\x69\x27\x44\xbf\x79\x1b\xcb\xb4\x27\xa3\x72\x24\x6e\x95\x01\xa8\x5c\xd5\x20\xc6\x1a\x1e\x59\xee\x18\x0e\x8c\x97\x19\x2f\x60\xfa\x5d\x3a\xb0\x5d\xf8\xd8\x55\x1c\x1a\xc6\xca\x0a\x9a\x01\x2f\xfe\xce\xb3\xc1\xf5\x21\x41\x1e\xdb\x65\x09\xbc\x27\x8a\x65\x1e\x12\x9e\x96\xb0\xad\xc7\xae\xd7\x07\x22\x1c\xae\xac\x22\x98\x84\x41\x3d\xaa\x10\x59\x5d\x22\xd1\xdb\x70\x82\x12\x5f\x4f\x96\x95\x00\xa1\xd4\x8d\xac\xda\xe8\x0f\x40\x29\xc1\x63\xdc\xd7\x9d\xdc\x64\x68\xfc\xda\x16\x37\xb8\x7d\xdc\xf2\xa3\xd9\xb4\xd2\x99\xa0\xe5\x39\x4d\xf9\x0e\xd0\x3b\x62\x13\x7b\xa6\x7b\x9f\xea\x8a\xe1\xf0\xd2\x2f\x91\xc6\x3a\x24\xb5\x93\x4f\x74\xc2\x65\xc4\x3f\x1b\x92\x3d\xb9\x80\xad\xfc\xee\x83\x13\xda\x52\x01\x76\x73\x0e\xf9\x73\x6b\x27\xe6\xba\x32\xd1\x7e\xa6\x9d\xca\xc6\xf4\xa0\x16\xed\xfe\x2d\xb5\xa5\xbb\x3b\x64\x93\x2f\x70\x11\xf1\xc4\x53\xbb\xe8\x8b\xba\xc8\xc7\x03\x5f\x93\xfe\x39\xb5\x81\xfc\xaa\x7a\xaf\x08\x2f\xbe\xd0\x04\xfd\x1f\xd5\xa4\xe2\xd9\xc1\x97\x16\x60\x4b\x19\xce\x19\x9e\x21\x69\xa7\xbe\x51\x8d\x5f\xad\xd2\xac\x31\xb9\x54\x78\x08\x2a\xc9\x13\x06\x00\x8d\xe4\xec\x0e\xf4\xc9\xf9\xd6\xf9\x6d\x2f\x66\xd6\x2f\xaf\xc2\x19\x40\x82\x80\x8a\xf0\xd6\x7b\x9f\xba\x0d\x18\x9b\x05\x5f\x06\x1c\xca\xc2\x4b\x27\x61\x0b\xfb\xd5\xa2\x23\x2d\xd6\xf3\xc8\x90\xa9\xb1\x26\x64\x71\xb3\x22\xe9\xe1\xbf\x97\x75\x7b\xef\x72\xab\xce\xe9\x3b\x05\x1f\xc9\x23\xcf\xd4\xe7\x23\xbe\x3e\x17\x14\x3f\x38\xee\xbb\x90\x0b\x5b\xbc\xf7\x30\x47\x32\xb9\xc0\xa1\xc5\xfc\x95\x09\xa6\x93\x58\x0a\xe7\x3a\x4c\xdf\xc5\xfb\xf2\x0c\xe8\x1e\xbc\x83\x5c\x6c\x90\x9d\x83\x11\x41\xb1\x94\xf6"}, -{{0xdf,0xec,0xde,0x7a,0x56,0xa1,0x8c,0x1f,0x19,0xd8,0x0a,0x19,0xa4,0xf1,0xda,0xdd,0xd0,0xbc,0xec,0xb0,0x1e,0xec,0xad,0x6d,0xfc,0xa0,0xf9,0x57,0xa9,0x14,0xed,0x7a,},{0xaf,0xba,0xa6,0xe7,0x3e,0x85,0xb0,0x2b,0x25,0xa4,0xb5,0x87,0xec,0xb8,0xc4,0xdf,0xb7,0x9a,0xa9,0x20,0x27,0x61,0xef,0xa8,0xd1,0xdf,0x2c,0xd0,0xaa,0x63,0x16,0xc4,},{0xb4,0xfd,0xe5,0x5b,0x91,0x6c,0xf6,0x00,0x68,0xf1,0x9b,0x25,0x35,0x1c,0x14,0x10,0xdc,0xf6,0x6b,0xfc,0x40,0xf9,0x6d,0x1b,0xa2,0x36,0x8b,0xc2,0xb9,0x11,0x5a,0xaa,0x5b,0x2d,0x1c,0xf0,0xe3,0xdf,0xca,0x02,0xac,0x90,0x2a,0x94,0x3e,0x24,0x89,0xa5,0x68,0x1b,0xba,0xfe,0xd3,0x9c,0x6e,0x33,0x21,0x1a,0x9c,0xb2,0xff,0x6e,0x54,0x09,},"\xae\x6e\x8f\xf6\x5c\xcd\xe6\xf2\x64\x84\x95\x08\x26\xb4\x36\x23\x05\x8a\x5e\xfe\x02\x0b\xb1\x9b\x7d\x8b\x4e\x25\x76\x8b\x69\x27\x34\xfe\x07\xc9\x13\xb9\xe8\x81\x26\xbe\xcb\xf1\x4a\x0f\xd0\x20\x5b\x39\xfc\xc2\xae\xc3\x73\xf8\xc1\x84\xc6\xa9\xbb\xbb\x84\x44\x9a\x7c\xa3\xb9\x20\xad\xa0\x88\x01\xdf\xc6\x6f\xf1\x9a\xeb\x92\xf2\x55\x53\x99\xa4\x30\x27\x7a\xe2\x2d\x23\x75\x4e\xaa\xce\x3c\x73\x84\x67\x97\x53\x6d\xd7\x1a\x56\xf4\xb5\x84\x2c\x0f\x41\x0d\x19\x89\xac\xac\x5d\x80\x5d\x26\x57\x2c\x0f\x3a\x64\xdd\x20\x71\x66\x22\x12\xd5\x2f\xe9\x9e\x59\xd9\x66\x04\x77\x77\xf9\x03\x0f\xa4\xfd\x2e\xe7\x4b\x7a\x7c\x9f\x7c\x34\xa6\xdc\x7e\x03\x59\x3a\x13\xd6\x4c\xe6\x24\x53\xee\x3c\xa3\x0d\x84\x67\x28\x39\xf1\x9f\x1c\x15\xd0\xc4\x5d\x27\x55\xbb\x39\x4a\xcf\x4d\xcb\x7f\x7f\x07\x11\xac\x40\xea\x46\x61\x2e\xa3\x7a\x76\x07\xad\x32\xe8\x18\x26\x5f\xab\x19\x33\xf5\x09\x4e\x2d\x03\xbc\xfa\xa5\xf6\x16\x67\xf3\xb3\x7f\x00\xc4\xc5\x8d\x9b\x41\xb9\xaf\x39\x00\x48\x2b\x0f\xfb\x4f\xa4\x37\x6a\xa0\x40\x00\x9d\xec\x2f\x45\x25\x79\x9c\xb0\x05\xf3\x9d\x74\xcb\x2d\x8d\xce\x8c\x20\xc2\xc3\xf5\x40\x97\x03\xaf\x15\x6c\xfb\xa2\x8a\x9d\x91\x64\x39\xcb\x29\xf8\x3d\x24\x29\xce\x62\x23\x51\x9e\x75\xe1\x5c\x7c\x7f\xa2\x15\x11\x9e\x07\x3f\xa7\x97\x4d\xb1\x4f\x7a\x01\x09\x3f\xaa\x94\xad\x52\xab\x1e\xad\xce\x1a\x89\x36\x6c\xa1\x3a\xdb\x89\x06\x64\x38\xa2\xbe\xb7\x30\x34\x17\x0a\xa4\x2d\x9c\x2d\xdb\x97\xc1\x4a\x17\xc3\x09\x43\x76\xd2\xa3\xff\xd8\x09\x5f\xc4\x05\x3d\x91\xd1\x6e\x06\xd2\x76\x93\xa1\x31\x0f\x01\xa7\x51\x11\xcf\xed\xa8\x92\xc3\x97\x2a\x13\x3a\x09\xad\xda\xa8\xf7\x41\x45\xf8\x86\x81\xb6\xd2\x77\x96\x4b\xfe\x38\x55\x1a\x2c\x61\x9f\xa3\xca\xe3\x94\xac\xb2\x9c\x94\x10\xb4\x5e\x10\x1b\x17\x40\xe8\xb2\xaa\x6f\xeb\xc3\xa4\x5d\xad\xb9\xd9\x58\x9d\x59\x7e\x57\xcd\x94\x7b\x68\x4c\xc3\x55\x24\x6c\xe6\xc3\x26\xdd\x98\xcf\x92\xb6\xee\xa3\xba\x5a\xb0\x37\x00\x62\x26\x36\x32\x4d\xc1\x22\x2c\xd7\x48\xfa\x07\xbf\xd3\x9a\x1e\x06\x98\x09\xe5\x67\x14\x1a\x61\x3e\x2e\x8b\xe9\xdd\x39\x8a\xb6\xbe\xaa\xfd\x85\xff\x36\x28\xee\x2a\xa3\x2d\x0a\x57\xbb\xac\xf9\x56\x19\x0b\x5c\x42\x42\xeb\x5b\x85\x87\xd2\xfd\xcb\x07\x41\xb9\x41\x6a\x05\xf5\xfe\xcb\x1f\xb2\xd6\x47\x88\xdc\xe7\x83\xc1\xf6\x3e\x60\x64\x1f\xce\x5e\x1d\x2b\x18\xa9\x50\x0c\xd6\xa1\xfd\x33\x5c\xc1\xdb\x46\xef\x04\x75\x2b\x2d\x22\x07\x2e\x6d\xfc\xfc\xfa\x56\x9b\xb2\x5e\x45\x7a\xfe\xb6\x3a\x4f\xbe\xdc\x29\x3a\xd9\xd1\xab\xa4\xe3\x94\xaa\x10\x97\xe1\x2b\x0f\xc9\x0c\x89\xf7\x6d\xf0\xd6\x44\x1f\xa9\x98\x08\xb6\x0b\xe0\x7d\xfc\xc7\xf9\x01\x0b\xbf\x90\x33\x55\x6d\x5e\xe2\xd4\x48\x93\x7b\x78\x34\x93\x92\x0f\x68\x1e\x4d\xa7\x08\x67\x10\x97\xe1\x99\x48\x1b\x8e\xf0\xe0\x15\x0d\x7c\x28\x51\xdf\x44\xc5\x45\x12\x2f\x9b\x0e\x5b\xa2\xee\xff\x2d\x98\x8d\x56\xd9\xbb\xb5\x5d\x98\x96\x11\x11\x51\xa4\x36\xaf\x06\x5e\x0c\xad\x17\x8a\x2c\x9f\xa8\xf6\x97\x4e\xcd\xf0\x9a\xdf\x01\x33\x00\xcf\xfe\xda\xf4\xb8\x79\x1b\x46\x7b\xa7\x93\x3a\xda\x5d\x63\x2d\xb4\x4e\xd6\xdc\xf2\xaa\x64\x89\x17\xbe\x63\x37\xd2\xe2\xd2\x06\x85\x6d\x08\xf9\xee\x7b\x5e\x2f\x14\xdd\xc6\xd3\xac\x42\x92\x15\xa8\x79\x23\xad\x32\xd5\xdc\xfe\xe3\x68\x63\x16\xdd\xd1\xb2\x7b\xb1\x93\xa5\xfc\x05\xc8\x93\xa9\x39\xa5\xb9\x89\x87\x36\x6c\x82\x9e\x39\x2f\x48\x5e\xa1\x5e\x22\xcd\x8f\x85\x7a\x13\x4a\xfa\x98\xf3\x72\x15\x57\x6d\xdc\x5a\xab\x4f\x2d\x10\xca\xaf\x05\x00\x59\xa3\x35\xf2\x4b\xcd\xcb\xac\x81\x9f\x66\xdb\x07\xaa\xbd\xfb\x76\x27\x1d\x17\xbc\xe2\x2c\xba\x46\x3a\x80\xaa\x89\x2d\x0d\x8e\x05\x5f\x94\x8d\xf7\xf6\xe6\xc3\x00\xda\xef\xfd\x3a\x23\x6d\xdd\xcf\x23\x8f\xe1\x06\x66\xa5\x7c\x6e\x3a\xe7\xe3\x67\x3d\x35\x57\x8f\x8b\x8e\xa6\x9d\x3c\x08\xe0\x14\x0a\xfd\x3e\xe0\x30\xb2\x2a\x37\x21\x60\xf9\x08\xa3\x78\xf8\x10\x1b\x5f\x59\x69\xfe\xa3\x10\xee\xd3\x7a\x00\xd9\x73\x02\xd5\xc2\xdb\xe8\xcc\x60\x00\x75\xdc\xcd\x33\xad\x63\xd2\x65\xaa\xf6\x0e\x24\x1c\xe3\x11\xbe\xd7\xdd\x5e\x27\x45\x24\x1a\xe0\x2a\xe5\x32\xd1\x5c\x18\x88\x6e\x81\x81\x38\x75\x1a\xfc\x51\x85\x0e\x50\x6c\x6d\x31\xa8\xee\xf4\x51\xad\xfd\x4b\x3d\x26\x6b\x41\x5a\x7e"}, -{{0x07,0x82,0x8c,0x58,0x0e,0xbf,0x9e,0x1d,0x82,0x5a,0x59,0xc3,0xbf,0x35,0xf0,0x72,0xae,0x12,0x33,0x55,0xbd,0xcc,0x24,0x9e,0xec,0x7f,0x2f,0xc5,0x75,0x5e,0x29,0xb5,},{0x58,0xe5,0xed,0x85,0x10,0x0b,0xbd,0x9b,0x22,0x21,0xaf,0xc9,0xc9,0x31,0x84,0x33,0x0a,0xd5,0x9e,0x13,0x85,0x60,0x62,0x44,0xbf,0x00,0x3b,0x8d,0x20,0x18,0x50,0x1b,},{0xbb,0x09,0x36,0x04,0x39,0xa8,0x2d,0xee,0x5c,0x7d,0x85,0x77,0x9e,0x54,0xc1,0x3f,0x88,0xe0,0x6d,0x38,0xf4,0xb9,0x49,0x60,0xfe,0x17,0xa1,0xeb,0xca,0xa3,0xee,0x2f,0x33,0x0c,0x64,0x91,0x54,0xbb,0xc8,0x75,0xa4,0x07,0x6c,0xf0,0xbb,0xf7,0xee,0xbf,0x7b,0x8d,0x08,0xd5,0xaa,0x4b,0xe7,0x41,0x38,0x81,0x24,0x5f,0xc2,0xd2,0xb6,0x01,},"\x0e\xda\xd5\xca\xe6\xed\x98\x43\xe9\x1c\x50\xd9\x34\xcf\x55\xdd\x65\x8f\x3d\x25\x20\x39\xcd\x6c\x75\xbe\x4f\x6b\x86\x6f\xb7\x5f\x35\xc8\xf9\x8f\x17\x21\xd7\xe6\xd9\xd9\x8a\x22\xe0\xb4\x93\x4d\xcc\x12\x92\x61\xbf\x67\x23\xb2\xfa\x7a\x99\x5e\x35\xc4\xbd\x79\xc5\x81\x6a\x32\x16\x07\xd9\xdc\xce\x39\xfe\xfa\x1d\x55\xde\x4e\x76\x17\x54\x8e\xc3\x85\xc3\xde\x01\xe3\x66\xbf\x50\xc4\x57\xa5\x55\xe9\x32\x07\x0e\x2a\x5a\x01\x97\xb7\x9e\xfb\xe7\x00\x6f\x0c\xec\x78\xb6\x0e\xbb\x8f\xa8\x78\x1d\x8e\xb7\x32\x6e\xdc\x30\xe6\x2d\x32\x97\xa1\xe0\xa1\x11\x71\x08\xc4\x6e\xe5\xdb\xef\xc6\x59\x42\x89\x33\x5e\x78\x0d\x55\xa0\x84\xf5\x52\xda\x3f\x36\xd3\xc4\xc6\x17\x8b\xa7\x4d\x4d\xec\xef\xc5\xa3\xb8\xc4\x7c\x16\xf5\x34\xbd\xb6\x08\x95\xd3\xd5\x4c\xd2\xbb\x26\x6b\x39\x9e\x4d\x4f\xb4\x8d\x7a\x8c\xde\x17\xf4\x24\x12\x56\x07\x37\xd3\xc0\x6e\x29\xdf\x52\x4d\x0c\xbd\x30\x93\xef\xca\x1c\x8f\xed\xca\xa1\x24\xab\xb2\x7a\xbd\xac\x6a\x29\xe0\xe8\x24\x6a\xbd\x6f\x5f\x53\x19\x50\x03\x7f\x76\x32\x3a\xa5\x6c\xc3\xfe\xfa\x60\x30\x41\xd5\x5f\x19\x29\xe2\x77\xe7\x2c\xda\x1f\x96\x54\x1d\x2a\xf3\xe9\x0c\x0f\x0e\x28\xbe\x19\x6d\x8f\x69\x21\xf3\xcd\x57\xa7\x92\x6b\x86\x0a\xa1\xbc\x40\x35\x76\x89\x2a\x96\xb9\x31\x90\xae\x38\x3f\x63\x1b\x72\x80\x26\x58\xb2\xe8\x45\x1d\x52\xa2\xf4\x5d\xb4\xf8\xbc\x3b\x0e\x4e\x50\xb6\xd6\x03\xa5\xbd\xd3\x0c\x23\x42\x00\xad\x7d\xeb\xb9\x63\xf5\x8a\x4f\xa2\x03\x30\xb3\x69\x64\x49\x44\x5a\xa3\x71\x82\x48\x42\xfb\xf3\x26\xd9\x01\xdf\xe3\xbe\x04\x54\x52\xa3\x74\x0d\xd1\x60\xe7\x27\x33\xf6\xe2\x73\x35\x25\xa2\x9a\x86\x5f\x6f\x50\xd5\x3b\xf7\x19\x1c\x59\x9c\x87\x6f\x5c\x9c\xa1\xe3\xfa\xd7\x96\x06\x48\xe0\xd4\x71\xf7\xd5\xc0\x1c\x67\x3f\x42\xd6\x59\xbc\x3d\x98\xdb\xf0\x7d\x8f\xeb\xfb\x99\x5d\x17\xf9\xa0\x2c\xd6\xc3\x9f\x2d\xdc\xd0\xf1\xd2\x22\xb9\xe1\x1f\x2d\xd7\xd3\xc7\x51\x82\x24\xbb\x6b\xfb\x8b\x7c\x58\xfe\x8a\xc1\x05\x40\x59\x03\xa1\xb9\xda\x75\x16\x71\x5b\x7a\xfc\x38\xa5\x55\xe6\xbb\xcd\xba\xd4\x6e\x34\xe5\x76\xfe\xa3\x4c\xe3\x57\x34\xed\x20\xaf\x5d\x88\xee\xb1\x04\x7a\x26\x60\x64\x8b\xbb\x11\x3a\xd9\xdb\x8c\x53\xed\xb6\xed\x98\x71\xa1\xe4\x4c\x9e\xd2\xdf\x56\x56\xfb\x2b\x28\x06\xec\xf0\x3b\x1e\xca\x9e\xab\x50\xa6\xea\xab\x55\xb9\x33\xb2\xdd\x1f\x21\xd4\x50\xde\x9d\x5c\xb2\x23\x2f\x07\xa3\x92\x08\x1b\x0b\x4b\x88\x5d\x54\x78\x9e\x2f\x75\xbf\x2c\x4c\xda\xd8\x78\x98\x9b\x1d\x6d\xab\xd9\xed\x23\xc7\xc5\xb0\x35\x6a\x7d\x9e\x73\x35\x29\x0d\x7c\x85\xb9\x66\xe8\x01\x84\xbd\x07\x99\x86\x02\x88\x6d\x70\x76\x19\x35\x65\xc8\x1c\xcc\xda\x4c\xc7\xd3\x3c\x85\xd9\x05\xb1\xbe\xb6\xe8\xe7\x41\x8e\x8a\xca\xed\xf0\xd9\xa3\x2a\x7d\x29\xd0\x7c\xf4\x4d\x31\x19\xd4\xe7\x89\x68\x20\xb7\x7d\xe6\x4b\x65\x5e\x4f\x14\x88\x00\x43\x4a\xf7\xbd\xb2\xa5\x6b\x25\xeb\x94\xea\x39\xf2\x16\x95\x96\xbb\x2b\x11\x76\x1f\x08\x2b\xae\xc0\x88\x85\xf4\xa0\xeb\x6c\x95\x76\x71\x35\xa7\xf7\xcd\x72\xe7\x43\xd2\xdf\xf1\x44\xdd\x8b\xaf\xb1\xb3\x18\x00\x6e\x58\x76\xf8\xe2\xcb\x44\xaa\x58\x8f\x90\x62\x66\xac\x67\x11\x9c\x17\xf5\xde\x11\x4e\x72\xe4\x2a\x1f\xb3\x99\x44\x32\x1a\x11\x1f\xa7\x95\xff\x70\x17\xf2\xfb\x8c\xaf\x48\x2f\x55\xd7\x7a\x80\x85\x54\x28\xde\xd7\xec\x20\xac\xec\xca\x83\xf8\xd1\xeb\x13\x7b\x58\x8c\xcb\x74\x5c\x10\x5f\x2b\x2c\xa4\x1c\x3a\x9f\x49\xd3\xc6\xe9\xd7\xc6\x48\xb0\x03\xb9\x70\x7c\x90\x64\x62\xed\xad\x61\x7a\x8c\xfb\xf9\xbc\xc6\xc5\xfb\x6f\xa9\x84\x32\x5d\x65\x82\xe2\x8f\x62\x00\x53\x83\xf3\x38\xdf\x5b\x38\xfa\x9d\x19\xc2\x2a\x2a\x7e\xa1\xd6\x8a\x92\xd1\xd9\x3b\x7f\xb0\xb8\xf3\x3b\xc8\x76\x0f\x28\xae\xb1\x43\x9a\x8b\x07\xf3\xda\x58\xdd\xb1\x55\xb4\x98\xcb\x09\xc7\x5a\x55\x96\x83\x8a\x65\x01\x3e\x24\xd5\x64\x0d\x08\x42\xa7\x69\x93\x22\xcf\x3f\xfc\xb5\x70\x3f\x41\x4f\xfd\x16\x88\x60\xba\xd3\xe3\x08\xb2\xb5\xbf\x3c\xdf\x7f\x36\x3b\xf9\xaa\xf4\xb3\xbc\x42\x4c\x14\x6c\x6f\x54\x21\x43\x0f\x9f\x47\x6a\xa3\x4a\x0c\x6e\xe8\x01\x31\xfc\x4d\x4d\x97\x07\x23\xa2\x18\x6a\xe3\x62\x5e\x28\x6d\x17\xdd\xdc\x43\x5c\xcb\x00\x83\x16\x78\xab\xa5\x84\xa6\x2d\xbf\xf0\x02\xbe\xad\x6e\x11\xe2\x3c\x54\xd3\x3c\xf3\xa4\xb2\x31\xa9\x08"}, -{{0xf0,0x8e,0xe8,0xda,0xa7,0x3e,0x1f,0xeb,0x61,0xa8,0x8e,0x06,0x2d,0xfb,0x10,0x03,0xc8,0x57,0x8a,0x0d,0x53,0xbd,0x3b,0xc9,0xe5,0x89,0xef,0xb9,0x2f,0x68,0xbe,0x14,},{0x76,0x69,0x2c,0xe8,0xd1,0x16,0xec,0xcb,0x89,0x70,0x77,0xed,0xca,0xaf,0xdd,0x3e,0xb4,0x4e,0xa1,0xa4,0x86,0xb9,0x0e,0x49,0xe9,0x7f,0x96,0x69,0x01,0x01,0x55,0x02,},{0x66,0xdf,0xa4,0xc1,0x57,0x5b,0xef,0xf2,0xf5,0xa2,0x30,0xb2,0x8c,0x58,0xc3,0xee,0xa0,0x73,0x6d,0xf3,0x79,0xd7,0x55,0x59,0xbc,0x9d,0x37,0xa9,0x57,0x9d,0x12,0x1c,0x05,0xc3,0x73,0xe8,0x48,0x4c,0x97,0x47,0xef,0x44,0x77,0xe8,0x0c,0x4b,0x2c,0xb4,0xdd,0xf1,0x6a,0xe9,0xfd,0xfa,0x08,0xa0,0x75,0x47,0xd1,0x07,0xdc,0xea,0x12,0x03,},"\x64\xde\x90\x04\x4d\x0e\x76\xbc\x02\xfc\xff\xcb\x75\x26\x36\x67\xb3\xbd\x73\x3b\x40\xbf\xb2\x6c\x6c\x52\xfd\xb4\xb0\x78\x22\x78\xca\xba\xe4\x1e\x21\x29\xea\x40\x17\xe9\x4d\xe8\x60\x87\x96\x4f\x66\xd8\x62\x07\x98\x74\x67\xa1\x68\x8f\x9f\xab\x3f\xfb\x2f\x1d\x00\x63\xbf\x62\x6c\x94\x13\x67\xc1\x2e\x31\x9a\xb7\xca\x30\x20\xc9\xb3\xa7\x21\x5a\x19\x30\x3e\x2d\x0e\x89\x88\x79\x1d\xe0\xd8\xe1\x63\x2d\xaa\x38\xc7\xf3\xe7\xf6\xe4\x8c\xe1\x22\x14\x3d\x1e\x2c\xb6\x61\xba\x77\xc6\x9e\x6a\x71\x09\x11\x64\x4b\xc1\x10\xff\x58\xbb\x00\xb5\x29\x08\x20\xce\x30\x97\x0e\x7f\xde\x18\x9e\x14\x0e\x5c\x70\xc7\x83\xee\xd5\x3f\x0e\x2a\xc7\xec\xae\x4f\x27\xdb\x81\xd1\x5b\x86\x46\xfa\xa9\xc5\xa3\xae\x2b\x7f\x47\xcd\x58\x0d\x77\x07\xb0\x02\x49\x9b\x4c\xfe\xb8\xc5\x91\xaf\xdf\x1c\xc6\x2a\xf2\x59\x5c\x18\x4a\xbc\xf0\xb2\x62\x3a\x1b\xae\x60\xaf\x70\x26\xb2\x8d\x05\x40\xb4\x15\x26\xe3\x02\x0f\x81\xb8\x94\xeb\x3f\xe3\x1b\x72\xb2\x1a\x32\x60\xda\xe3\x21\x0c\x4c\xe4\xfd\x69\xe2\xe5\xea\x0c\x86\x32\xa5\x83\x26\x2a\x12\xb3\xa8\xb1\x6c\x9c\x12\x06\xad\x73\x02\x30\x37\xcf\x30\x65\x3c\xb8\x0a\xa7\xdf\x83\x14\xb0\xf5\xbc\x6e\x9d\x5f\xa0\x0b\x00\x9d\x55\x52\xd8\x3b\x79\x70\xb5\xbc\x4b\x99\x84\xf6\x9d\x1c\xca\x9c\xe4\xcb\x74\xdd\xd2\xd8\x79\xd3\x73\x12\xa0\xe1\x59\xd7\xa6\xaf\xb7\x7a\xc5\x85\xe6\xb4\x59\xc5\x51\x30\x4e\x1e\xeb\xfb\xca\xb4\x3a\x10\xb5\x05\x92\x4e\x03\xea\x33\x2f\x5d\x02\x0a\x55\xc7\xaa\x68\x3c\x54\x1d\xcf\x77\x90\xa2\x40\xaf\x07\x9b\xab\xa9\x40\x96\xb4\x60\x60\xfd\x7a\xfe\x90\x56\xca\x99\xe6\x88\xdf\x28\x0a\x9b\xe8\xc8\xc7\x3e\x6e\x6f\xb0\x52\xa3\x3e\xb3\x32\x8a\x7f\x60\x25\x42\xfe\x28\x0c\x89\x0e\x3c\xca\xf2\x2c\x7f\x34\xf8\x7b\x5e\x5b\xa7\x84\xb4\x72\xb1\xe1\xa9\x93\x47\xa9\xe0\xd2\x40\x85\x8d\x12\x77\xa5\xc6\xb3\x49\x38\x3f\xe4\xfd\x55\xcf\x92\xe6\x9f\xaa\xd3\x26\xb8\xd6\xdb\x46\x23\x30\x26\x22\x1e\xe6\xd0\xa1\xc4\x24\x65\x33\xc4\xa0\xe5\xbd\x17\x2e\xb8\x93\x6a\x9c\x0d\x30\x06\x65\x38\xe3\xeb\x4a\xd5\xcb\x98\x77\xfd\x86\x1b\x48\x2b\x30\x15\x0a\x06\x10\x41\x61\x64\x7e\x01\xd0\x04\xd9\x97\x40\x3e\xe0\x67\x26\xcb\x97\xe2\xe2\x5f\x18\xc6\x68\xee\xe4\xc5\xbf\x72\x52\x98\x03\x18\x9e\xe6\xa7\xae\xc2\x38\xd5\x90\x6e\xa5\xae\x10\x72\x2c\x9a\x61\xa7\x8a\xea\x52\xaf\x33\xea\xac\x75\x40\x6b\x1a\x60\xbe\xfb\xaa\xd4\x84\x76\xd9\xff\x88\x7f\xd2\x83\xeb\x16\x55\xbc\xc0\x7c\xf7\x53\x33\x14\x36\xdb\x5b\x3b\x13\x03\x2f\xf9\xc3\xd6\x96\x38\x0e\x9f\x5a\xbf\x50\xd3\x55\x6f\xda\x0d\xf0\xb5\x38\x97\xa7\x37\xac\x7a\x3b\x87\xc2\xa8\x32\xb0\xc7\x27\x3e\xa9\xfc\x54\xa7\x67\xf1\xa8\x12\xbf\x01\x64\xbf\x75\x21\x63\x0b\x81\xb9\xdd\x93\x0d\x92\xee\x2c\xa2\x8e\x32\x03\xb7\x7b\xc0\x82\xce\xb3\x7d\x55\xed\xbc\xb7\x1d\xf0\xb7\x92\x36\x78\x9a\x25\xd4\x18\xcb\xb9\x55\x44\xe2\xce\xf3\x3b\xbd\xeb\x27\xa3\xf7\x90\x9c\x1f\x49\x8f\x47\x13\x5a\xe9\x03\x3a\xdf\x25\x0a\xd4\xf6\x57\x53\x61\xe4\xcf\xcc\x9b\xcf\x4b\x90\xc3\xad\x47\xa3\x44\x22\x97\xa2\x23\xcc\xa8\x43\xd7\x20\x5e\xd0\x8a\x9b\x87\x16\x0a\x6d\x01\xb4\x6a\x7d\x1c\x84\x4e\x8d\x1f\x18\xf6\x18\x68\x2b\xfb\x22\x95\x5f\x39\x5b\x2a\x57\x90\xa5\x1a\x69\x64\x99\xd9\xe7\x1a\x50\x1f\x3f\xa5\x46\xde\x9b\x10\xae\x47\xbc\xee\x42\xba\x7f\x86\x9f\xb9\xce\x4e\xd7\xc6\x45\x33\x26\xc0\x34\xcf\x05\xd9\xf1\xe3\xc2\x00\x70\x1b\xa7\x52\xda\xbb\xd8\x68\x52\x1c\x3d\x8f\x80\x67\x2d\x42\xf6\xcf\x45\x64\xf0\x8c\xd7\xb3\x90\xe6\xd4\x9d\xd9\x00\x90\xaf\xdb\x84\x48\x6f\xfc\xaa\x4e\x84\xd8\x86\x82\x74\x4d\xc0\xa8\x78\xfa\xa7\xcd\x44\x0a\x8b\x27\x67\x10\x90\x20\x81\xf4\xdc\x84\x17\x46\x19\xa6\x6e\xa3\xa3\x71\xf9\x55\x05\x40\x0d\x99\xfa\x99\x90\x17\x71\x0c\x8e\x27\x14\xbe\x60\x94\x9d\x46\x13\x10\xf7\xd4\x3a\x0d\xc1\x23\x51\x6d\x77\xd3\x62\x21\x3f\x9f\x75\xa5\xa1\xc3\x93\xaf\xfc\x49\xea\x15\x1d\x46\xa8\x1f\xfa\xd2\x39\xf2\x8c\x07\xf6\x5f\x59\xea\x07\x7d\x9a\x4d\x9c\x75\x2d\xe4\x9b\x9e\xf3\x6b\xe6\x0d\x11\x2d\x79\x5f\x58\x8b\x00\xef\x6e\x77\x30\xde\xa6\x5e\x10\x16\xda\x0d\xd4\x62\x37\x0e\x0b\xa5\xc6\x60\x00\x1e\x45\x7c\x08\xb4\x36\xda\x29\x03\xb6\x29\x06\x93\x20\x84\x72\x8c\x81\x67\x1c\xbf\xb0\x79\xbb\x29"}, -{{0x27,0x2d,0x64,0xde,0x50,0xb1,0x31,0x2b,0xee,0x23,0xd7,0xf4,0xce,0xa5,0x08,0xa8,0xfc,0xcf,0x3e,0x9b,0x32,0x4e,0x97,0xb1,0xc8,0xe7,0x25,0x02,0xf6,0x1f,0xbf,0x45,},{0x33,0x49,0x8c,0x3b,0x71,0x2a,0xb9,0xc0,0x1e,0xc7,0x6b,0x2e,0xfe,0x2b,0x83,0xad,0xd1,0xe1,0xf2,0xb5,0xeb,0x78,0xf2,0x16,0x92,0x32,0x34,0x51,0x82,0x0c,0xbe,0x10,},{0x33,0x81,0x4c,0x6e,0xf3,0x75,0xab,0x96,0x37,0x69,0xb2,0xde,0x4a,0x25,0xe7,0x02,0x0f,0xcd,0x97,0xf7,0x8f,0x8f,0xc9,0x34,0x55,0xc4,0xb1,0xc2,0xbd,0x45,0xd4,0xb0,0x1e,0x19,0x29,0x00,0xe3,0x12,0x22,0x65,0xfc,0x55,0x2c,0xd5,0xc5,0xf0,0x0e,0x93,0x1e,0x3a,0x18,0x3c,0xca,0x5b,0xa0,0x80,0x2d,0xaf,0xde,0xbb,0x79,0xeb,0xeb,0x03,},"\xd6\x26\x0d\x7e\xec\x5d\x43\x62\x08\xe7\xe7\x37\x65\x5e\x09\x71\x81\x42\x70\x19\x44\x05\xe3\x6e\x39\xf8\xf1\x7b\x64\x9f\xbc\x16\xc0\xf3\xd7\xf2\xbe\xf5\xeb\xc0\x2b\xb1\xc4\xdf\x48\xe8\x47\x0a\x3e\xae\x8a\x3c\xca\xf6\x40\xab\xcc\x09\x4a\xa9\x11\x50\xff\x1a\x8c\xf1\x16\x96\x93\xeb\xf5\xac\x00\x34\xb9\xb9\x19\xec\xf1\x7d\xb7\x91\xdf\xe5\xfe\xdc\x90\x91\x8b\x23\xe5\x4e\x90\x04\xa1\xae\x77\x1c\x21\x3e\xd7\xed\x73\x34\x43\x4e\x5b\xc0\x2c\x0d\xda\x2b\xd1\xa8\x76\xfb\x82\x4a\x19\x7b\xc9\x96\x13\xb1\x40\x9e\x70\x52\x31\x0b\x08\x20\xda\x71\x44\x69\x29\xae\x7c\xfd\x3a\xfb\xa0\x42\xde\x54\x57\x8a\x5b\xfd\x94\xc1\x54\x43\x91\xa3\xd9\xac\xbd\x56\x63\xef\x65\xc6\x92\x0d\x78\x51\x6d\xec\x1c\xd5\x5f\x6e\xb7\x29\x0b\xa0\xaa\xf9\xa1\x71\x65\x82\x00\xb2\x4a\x47\xa0\x71\xb9\x6f\xea\x03\xc6\xca\x7e\xd0\xd6\xfe\x67\x5d\xd6\x37\x61\x83\x3d\x75\xbc\x5e\x58\xa9\x58\x58\x2d\xb0\x2a\x60\xc6\xce\x0a\x63\xf4\x2b\xa8\x37\xae\x77\xc1\x7a\x32\x70\x5f\xd9\xca\xfa\x58\x7b\x55\x5d\xd4\x61\x98\x51\x07\x97\x94\xe2\x4e\xb4\x46\x08\x83\x5a\x6f\x48\x24\x92\x0d\x57\x7a\x27\x03\x96\xc9\x57\x3b\xc7\xd8\x2f\xe2\xaa\x04\x65\x95\x66\x13\xa2\xc5\x08\xcf\x24\x32\x33\x7a\x36\x5e\x6c\x98\x4c\xba\x91\x7f\x0c\xf8\x42\xaf\x12\x2d\xc8\x9d\xea\x95\x8d\x41\x8c\xae\x44\xa6\xe4\xed\x26\x3a\x41\x5f\xf9\x94\xa5\xff\xb2\xff\x13\x91\x3d\xf2\x14\xbb\xfe\x90\xa3\x4b\x24\x7e\x71\xab\x73\xf7\xff\x00\x4c\x23\xac\xfd\x90\xc7\x67\x61\x1a\xa5\x58\x14\xc6\x69\x64\x16\x8e\x56\x8b\xa7\x5b\xf3\x49\x03\x59\x7c\xdc\xac\x78\xc2\x4b\xb9\xf1\x4f\x5c\x86\xa5\x1f\x36\x4f\x9a\xb4\x1e\x46\x4a\xee\x64\xfa\x50\xa1\xc1\x59\xcb\xd8\x50\x83\x2c\x50\x4a\xb4\x2a\x58\x4a\x96\xd5\xae\xe0\x82\xd8\x2c\x1e\xdd\xa1\x93\x38\x16\x0b\x8d\xcf\xa3\x41\x9b\x3a\xf6\x4d\x9c\xfb\x10\x4f\x98\xf9\xd3\x5e\x53\x94\xe2\x32\x28\xe2\x75\xc8\x7d\xb5\x0c\xa8\x67\x54\x0b\x88\x0c\x7a\xf2\x9f\xbf\x53\x42\x94\x58\x1c\x22\x24\x0b\xcd\x4d\x7d\x2c\x20\xff\xc3\x67\x33\xad\xa2\x76\x53\xd3\xae\x1a\x8c\x22\x03\xea\xc6\x26\xe2\xe9\xbb\x4b\x52\xce\x52\x3e\x5a\xdb\x3b\x2c\x10\xdc\xf7\x8c\x2a\x1e\x62\x6a\x16\xeb\xfa\x1b\xdb\x8c\x16\x14\x93\xa5\xaa\xa2\xd8\x4b\xfa\xa0\xf2\x02\x7f\xfe\x4e\x9e\xae\xb3\x32\xeb\xda\x7c\xbb\xb6\x77\x76\x9d\x78\x51\x7a\xdf\x72\xf8\x23\xa7\xf8\x44\x16\x5a\x07\x98\x78\xd2\x58\xfd\x95\x22\x5c\x21\x17\x78\x37\xe6\x9c\x19\x68\x5a\x05\x1c\xa9\x2b\x12\x0b\x7d\x86\xd7\x85\x95\x47\x1f\xfc\x42\xa5\xe6\xe6\x43\x1b\xe7\xb6\x4f\x80\x76\x45\x8b\xac\xd6\xc7\x29\x03\xcc\x34\xfc\x63\xa4\x0c\xf3\xdf\x00\xef\xf9\xd6\xee\x9a\x8f\x39\xd2\x5e\xad\x81\xa8\x12\x88\x88\xb0\xa1\xac\x0e\x5e\x3a\xd9\x27\x71\x2c\x14\x14\x6a\xdf\x82\x87\x70\xff\x95\x87\x09\xeb\x19\x28\x8e\x77\xbb\x70\x73\x48\x81\xe9\xe0\x16\xcd\x29\xe7\xd0\x89\x93\x41\xff\x6b\x29\x7a\xc7\x96\xbb\xde\x48\x6e\xc3\x59\x49\xf6\xa3\x2b\x2c\xa6\x47\x38\x59\x15\xec\xba\x3b\x9f\x02\x25\x08\x71\x45\xc1\x8d\x65\x59\xd3\xa3\x1d\x6f\x22\xfc\x49\xf8\xa6\x31\x5f\x1d\x32\xab\xee\xb7\xcf\x2c\x2c\x77\x6e\xa7\x35\x0f\xd5\xeb\xc0\xe0\xf2\x65\xba\xcc\xc2\x69\x7a\x7c\x8c\xa4\x0c\x13\x5f\x6c\xfc\xb0\xb5\x8a\x61\x43\x19\x60\xff\xa9\x06\x57\x09\xa9\x61\xa6\x33\xd5\x70\xb7\x3f\xb4\x49\x1d\xe5\x2a\xd0\xd7\xb2\x04\xb6\xe9\x97\xb0\x37\xed\xe3\xf7\xec\xa8\x20\xa7\xcd\xb2\xc6\x9a\xc2\x91\x48\xbe\x35\x23\x50\x8a\xe7\xe4\xc3\xd1\xa7\x17\xf5\x5a\x82\x1d\x14\xc3\xb6\x4f\x08\xca\x9a\xe4\x96\x13\xb1\x15\x77\x3e\xf6\x18\xd3\x21\xc9\x08\xbd\x21\x56\x71\x7a\x43\x4e\x50\x89\xa5\x94\x8c\x04\x5c\x8d\xa8\xa4\xbd\x86\xed\x5f\xab\xc6\xb1\x34\x66\xe6\xde\xda\x58\x32\x07\xd2\xad\xa2\xb2\xab\x9c\xb1\x54\x3d\xf7\xa3\x73\x4d\xfb\xc6\xfc\x42\x81\x06\xd4\x84\x47\x24\xa1\x3d\xf4\x2f\xaa\xb1\x8c\xa8\x9d\xb2\x0a\xc9\xbc\x27\xb8\x53\x94\x66\x7c\x5a\x27\x79\xca\x63\xed\x7a\xc2\xb7\xc0\xd4\x12\x23\x91\xee\x46\x02\xd6\x1e\xa0\x38\x17\x64\xfb\x72\xdc\xc2\x24\xe6\x5e\xae\x2b\xc4\x50\x6b\x0f\x09\xe2\x32\x05\xd0\xbb\x21\xc7\x7d\x82\x87\xc1\x65\xe0\xb4\x2c\x55\x15\x79\x77\x8a\xcb\x72\x58\xa2\x47\x9d\x7c\xf2\x5b\x90\x2e\x8d\x0d\xa4\x29\xbd\xe3\x6b\x45\x90\xda\xe9\x6f\x52\x54\x81\xac\x83\x78"}, -{{0x0c,0x9f,0xe5,0x59,0xad,0x1e,0xd3,0xba,0x16,0x4d,0xac,0xea,0xcb,0x02,0x35,0x67,0xb2,0x43,0x03,0x20,0xb6,0x71,0x5d,0xe7,0x32,0xa0,0x3c,0x59,0xc7,0x30,0x31,0x30,},{0xe7,0x0f,0xc4,0x66,0xfb,0x2a,0xcd,0x74,0xe0,0x99,0xc3,0x6e,0x2c,0x22,0xfa,0x51,0x29,0x0b,0xdd,0xe9,0x6d,0xf9,0xc3,0x1b,0x6d,0xfb,0xfd,0xc2,0xe2,0xc1,0x4a,0x40,},{0x6c,0xd8,0xae,0xd9,0x7d,0x9c,0x62,0xd5,0xfd,0xae,0x59,0x7d,0x06,0x1c,0x0c,0x2b,0xc3,0x7e,0x42,0xdf,0x06,0xb8,0x32,0x7a,0x46,0x8f,0x92,0xb3,0xf4,0x38,0xa1,0xe6,0xb6,0xb1,0xef,0x2b,0xe7,0x85,0x49,0xa2,0x89,0xfd,0x3f,0xc1,0xa6,0x29,0x9e,0x5a,0x33,0xd5,0x39,0x6c,0xb4,0xfa,0xc1,0xe8,0xe9,0x98,0x2f,0x0c,0xb3,0xd2,0x0d,0x07,},"\x26\xeb\xc6\x48\xcf\x8c\x79\x65\xec\x6e\xbe\x96\x5d\x9c\x79\x2b\xed\x90\x65\x5a\xd4\x40\x18\x3c\x6d\x70\xea\x64\x67\xbb\x8e\x6f\x04\xec\x84\x3f\x33\x31\x56\x91\x7b\xf4\xc5\x1d\x0e\xd0\xf2\x8b\x7c\xd3\x1b\xc1\x2c\xf8\x40\x68\x6b\x82\xb0\xc2\xc3\x50\xbb\xda\xc8\x05\x33\x37\x25\xd6\xb6\x9c\x2a\xb7\xf3\x4e\xe5\x93\xfa\x1c\xcc\xed\xf3\xf0\x64\x2a\x68\x8f\xcc\x1c\xd9\x8b\x09\x87\xd0\x1f\x71\x3a\x2f\xa6\x41\x6c\x96\x19\x21\xde\x0c\xc2\xc9\xec\x7a\x55\x58\x55\xe7\xfc\xd4\xc7\xdd\xaa\x14\xfd\x91\xec\xb0\x42\x24\xe1\x76\x1b\x7d\x6b\x35\xf4\xaa\x56\x18\xa5\x00\xca\x00\xd1\xca\x24\x51\xb5\xd3\x68\xaf\xde\x3a\x40\x7e\x78\x31\x35\xf3\x90\x19\xa5\xb9\x84\xe8\x2a\xc2\x79\xc0\x5e\x48\xc2\x95\xeb\xd1\x56\x38\x21\xa0\x74\x3c\x52\x24\x6b\x5d\x2b\x20\x34\xe3\xae\xb6\xce\x7c\x5c\xf9\x19\xe7\x4a\x9c\x7b\xbc\x9e\x25\xda\x30\x43\x0e\xb1\x6e\xcf\x38\x37\xeb\x38\xa0\xf5\x59\x79\x2a\x72\x98\x90\xba\x83\x10\x26\x0f\x8a\xeb\x9b\x5a\xf0\x0e\xb6\x33\xc1\x2d\xee\x02\x26\x28\xba\x41\x8d\x75\xcf\x18\xde\x2f\x2e\x65\xe4\x9b\x1a\x69\x68\x4d\x61\x27\xef\x48\x1c\xa8\x61\xec\xbc\xe3\xbe\x86\x49\x7e\x65\xdf\x4c\x5f\xcd\x08\x17\xc9\x71\x6b\x59\xf2\xa2\x63\xd5\xe9\xeb\x60\x68\x39\xf8\x5c\x5a\x36\x58\x37\xb0\xfb\xe2\xc4\x27\x4d\x66\xcb\x2c\x65\xed\x36\x5f\xab\xf5\x8f\x15\xbe\x52\xb5\x1c\xb6\x01\x18\xca\x4f\x73\x0d\x44\x73\x59\xf7\xef\x34\x6b\x75\x02\x17\xd4\x7b\x2e\x79\xc8\x6c\x0c\x62\x81\x6a\x0c\x7c\x18\xa2\xce\x2b\x68\x8e\x0c\xce\x0d\x75\x23\x21\xe7\x9b\x42\x38\x57\xda\xc5\x9f\x8f\xbe\xb0\x94\x11\xe7\x16\x69\xef\x9a\x26\x43\xf2\xe9\x9f\x38\x7a\xc1\x83\xe0\xb0\xac\x72\xc5\x9a\x0c\x3c\x18\xc0\xde\x8b\x01\x08\x78\x07\x4a\xcc\x1a\x2b\x39\xf9\xdf\x99\xd9\xf8\xf8\xb5\x2f\xef\xe4\x94\x3c\x52\x5f\xd4\xd0\x6a\xd8\x78\xe4\x66\x08\xab\xf2\x7a\x54\xbc\x50\x06\xf6\x47\xdb\x72\x48\x51\xdb\x7c\x45\x78\xae\x66\x58\x3d\xc4\xbb\x51\x8e\xf0\x28\x89\x03\x47\xe8\xfc\xe0\x92\x7d\x7d\x9a\xf3\xab\x5d\x0d\x2d\x20\x2a\x40\x26\xaa\x2e\xa7\x48\x79\x62\x67\x6a\x60\x32\x98\xe7\xd2\xe7\xb9\x09\x21\xee\x1b\x52\x80\x6d\x71\xa7\x64\xe0\x3e\x25\xdd\xd6\x84\x8f\x61\xd4\x6f\xad\x3d\x00\x8e\x10\xee\x5c\xd5\xa3\x39\x0f\x9d\x15\x8a\x44\x37\xef\x61\x5f\xc9\x0a\xc5\xbf\x3a\x9d\x68\x2e\x12\xc3\x39\x8a\xc7\x76\x80\xd2\x2c\xd1\xa6\xa5\x6e\xc3\xb2\x5c\xed\xe8\x67\xed\xd3\x83\x15\x9c\x61\x64\xd6\x3e\x9c\xd1\xc9\x56\xac\x72\x35\xff\xfa\xe9\x36\x16\x6c\xcd\x35\x89\x8e\x29\xc9\xb4\xca\x4e\x29\x25\xda\x32\x3b\x6f\xbf\x67\xcf\xd5\x96\xc8\x8a\x1a\x35\xa8\x35\x98\x51\xdd\xcb\xa8\xf6\x13\x4a\x9f\xaa\x24\x4d\xcb\x47\xe6\x91\x27\x6e\xe6\x25\xcc\x20\xad\xce\xc2\x1c\xbe\x77\xa3\xac\xb9\xba\x72\xf0\xc9\xd3\xda\x7e\x9c\xd5\xbe\x3b\x95\x99\x0b\xa5\x4a\x9f\x31\xaf\x17\x1f\x95\xae\xea\xd3\x33\x1c\xb1\x88\xa5\xb2\xc6\xf5\x39\xac\xb4\x8b\x98\xb3\xf7\x34\x1f\x60\x25\x1c\xb6\x04\x29\xcc\xd9\xcf\x32\xf0\x09\x20\x5f\x27\x53\xfb\xbb\x26\xaa\x53\x17\x43\x42\xad\x18\x4d\xab\x68\x70\xc0\xfb\x52\x93\x01\x19\xd9\xf9\x7d\x84\x89\xa6\x00\x76\xaa\xdb\x2e\x96\x05\x4a\xc7\xcb\x7f\x84\xe1\x3c\x75\xbb\xf9\xe4\xd9\x24\xd2\x27\x2a\xfe\xf0\x87\x19\x15\xe2\x43\xce\x66\xfc\x2a\x88\x88\x51\x35\x35\xb1\x0b\xb4\x07\x9c\x80\x6b\xd9\x49\x28\x1e\x28\x28\x35\x23\xd0\xd2\x10\xb3\x1e\xf6\x2a\x95\xdc\xae\x0c\xd2\x52\x90\xc7\xed\xf2\xc2\x4b\x43\x28\x22\xde\xbe\x34\x7f\x1c\xae\x94\x5f\x57\x28\xc7\x1b\x54\x03\xef\x14\xe7\x2c\x3d\x83\x42\xe1\x98\xb3\x62\xee\x20\xf8\x09\xe4\x6a\xca\x01\x5f\x35\x47\x7f\xf8\x9a\xc4\xb3\x7e\x66\x15\x85\x6f\x7e\xa2\x51\xfb\xfe\x13\xf9\x06\x52\x59\xb0\x94\x6a\xae\xf2\x49\x43\x27\x0a\x85\x4d\xe8\x89\x78\x00\x33\xd6\x3d\xda\x54\x47\x99\x8a\x3e\xd7\xe5\x06\xae\xb5\x1e\xa3\x7b\x68\x1a\xc3\x07\x67\x97\xac\xdb\xfc\xc2\x78\x83\x63\x0a\xdb\x72\x26\x0a\x46\xaf\x0a\x60\xd5\x3f\x66\x54\x56\x6e\x20\xd6\x08\x8c\xd4\x8e\x23\xb2\x8d\x81\xf0\xee\xd2\x05\xb9\x2a\xaf\xd9\x61\x64\xd6\xd3\xca\x3f\xc8\xb1\x71\x80\x4e\xe9\xfc\xe7\xab\xae\xd2\xea\x4d\xdf\x9c\xb2\xb3\xae\x73\xa7\x0e\xd6\x3d\xe4\x5e\x14\x10\x14\x28\xd0\xa7\xa2\x26\xdb\x39\xab\x6c\xd0\x43\x74\x08\x0e\x69\x83\xf0\x18\xce\x93\xda\x4c\x89\xac"}, -{{0x15,0xd7,0x5a,0xd8,0xe4,0xaf,0xb1,0x26,0x34,0xcc,0x8e,0x60,0x0f,0x1a,0x42,0x67,0xef,0x95,0x84,0xf4,0xc4,0xac,0x44,0xff,0xfe,0x4b,0x9f,0xcb,0x88,0x5c,0x9d,0x2a,},{0x09,0xd1,0x26,0xf0,0x17,0xe0,0x16,0x97,0x74,0xe8,0xc3,0x7a,0xb3,0x79,0x26,0x3a,0x80,0x75,0x74,0x61,0x27,0xc2,0xd1,0x1e,0xcb,0x0e,0x4c,0xb4,0x54,0x70,0x9f,0xf1,},{0xa8,0xf2,0xf4,0xb9,0xe2,0x07,0x2c,0xa9,0xfa,0xde,0x37,0xfd,0xd6,0x2d,0x8d,0x02,0x42,0xfd,0x4d,0xaa,0x09,0xfd,0x85,0x6e,0x75,0xf4,0xe3,0x43,0xc7,0x26,0x0e,0xa6,0x77,0xf7,0x53,0xa6,0x27,0xae,0xd0,0x8c,0xb9,0x6c,0x44,0x4e,0x29,0xbd,0xb5,0xb5,0x38,0x5d,0x43,0x84,0x3b,0xbe,0x79,0xa3,0xdd,0xa3,0x6e,0x1e,0x11,0x01,0xc5,0x0f,},"\xd1\xce\xa2\xb7\xe9\xaf\xc1\xf0\xfa\xb8\x90\xd2\x70\x0a\x5a\xe4\x1e\x15\xe7\xd3\x4d\x3b\xf1\x9d\x0f\x34\xd9\xf9\xf0\xab\x98\x12\xdc\x7c\x2a\x8d\xc4\x4c\x8e\xe7\xf3\x78\x87\x61\xec\xd9\x88\xee\x72\xc7\x36\xb6\x2a\x7c\xac\x3c\xc9\xb7\x38\xe9\x38\xdf\x77\x87\x37\x7e\xb9\xff\xd1\x20\xd4\xff\x58\xcf\x1c\x06\x75\x63\x3f\x7e\x83\xc4\xb1\x15\x54\x8f\x14\xd2\xf7\x0c\x6d\x48\x22\x11\x44\x3a\x84\x99\x59\x95\x58\xc1\x42\x77\x98\x0f\xa4\x2a\x78\x42\x79\x07\xf7\x3a\x41\xf5\xf6\x69\x3b\x2f\x75\xfe\x5e\x7a\x6f\xf0\xa6\xc3\xa4\xe2\xed\x1d\x0d\x96\x8d\x5c\xc9\xd6\xf1\x3d\x41\xc3\xd2\x91\x39\x6a\xe7\xe4\x34\xe6\x64\xb2\xff\x24\x3e\x7f\x6d\x88\x01\x02\x10\x07\x8c\x39\xb5\xa5\x76\xca\xf4\x09\xbb\x47\x11\xb3\xee\xfc\x48\x6b\x67\xb7\xff\xea\xe0\xcb\xac\x6a\x0f\xbd\xf5\x34\x3f\xb2\xae\x4e\x05\x7e\xdc\x8c\x9d\x2e\xd3\x1e\xae\x9e\xc8\x3d\x2b\xed\xd2\x19\xeb\x98\x9b\x2d\x44\x19\x61\x8c\x2d\x3c\xe4\x49\x0e\x35\xfb\xca\xd4\x32\xb0\x12\x47\x95\xf9\xc5\xcb\xdc\x1e\xb0\xc3\x07\x2b\x4a\xa8\x01\xd2\x6f\xbc\xc7\xb0\x7b\x82\x57\xf5\xfe\x47\xac\xd9\xbc\x58\x7b\x56\x57\xcf\x07\xca\x54\x5b\xb5\x68\xc9\xe4\xe7\x3c\xdd\xf6\x25\x4e\x22\xf7\x8a\xb2\xf8\x06\x45\x19\xf8\xab\xfd\x16\xfc\xfa\x90\xf8\x76\x87\xdb\x0c\x42\x09\xbe\x2c\x6c\x79\xa5\x52\x1f\x44\x18\x96\x78\xd9\x32\xc5\x45\x85\x70\x0a\x24\x37\x70\x2e\x56\xaa\xb5\x88\xa1\x7c\xb2\xcc\x94\xc0\x0e\x87\x57\x0e\xf3\xac\x51\x33\xd7\x53\x03\x8a\xa4\x65\x10\xa2\x60\xc1\xfe\x80\x47\x9b\xc0\x2e\xed\x9a\x8d\x1d\xe9\x93\x54\xac\x26\x48\xb4\x8b\x96\xab\x1b\x80\xcc\xa6\xca\xe1\x87\x7f\x37\xd7\x04\x28\xbb\x50\x85\x0e\x03\x08\xdb\x0b\x42\x30\x87\xbf\x7d\xde\x27\x9e\x09\x67\x66\xf2\xab\x3a\xb2\x38\x5b\x04\x64\xa5\xbe\xd7\xbb\xd8\xd4\x57\xe9\x35\xe2\x00\xaa\xaa\x8d\x95\x15\x70\xe0\x53\x07\x6d\xb1\x8a\x6a\x62\xf7\x2b\x31\x95\x79\x88\x4a\x08\x26\xba\x2b\x43\x63\x71\xdd\x21\x8b\x01\xa0\xc5\xe5\x8d\x0c\xd5\xff\x98\x25\xe4\x46\x6f\xe9\x66\xdf\x05\xcc\x31\xc8\x03\xe5\x21\x21\x83\xdd\xf2\x9c\xef\x7f\xb9\x16\x48\xa4\xf8\xee\x19\xfd\x5f\x8d\xbd\x8a\x56\xbe\x7a\xbf\x33\x65\x9a\x92\x24\xa1\xe2\x7a\x10\x24\xef\xfd\xfb\x88\xe8\x80\x61\x48\xd0\xd1\x78\x09\x06\xaf\x1e\xbe\x3e\x5f\x14\x36\x31\x90\xd8\x8c\xc6\xe5\x08\x94\x44\xf1\x25\xd0\x63\x15\x5d\xcf\x86\xca\x92\x63\xf2\xf5\xf1\x83\xc2\x69\x74\xfe\x00\x0b\x93\x42\xd2\x4c\x78\x1e\x20\x58\x28\x7c\xb6\xf3\xf1\xe3\x27\x0c\x22\xb7\x70\x7b\x83\x23\xa5\xcc\x8d\xb8\x1a\xa9\x06\xbb\x59\xd6\x96\xcb\x97\xcc\x74\xe3\x59\x59\x5f\xfb\x83\x73\xca\xd3\x71\x0e\xa0\x9e\xa9\x74\x4c\x20\xe9\xa1\x2e\x05\xbe\x5a\x95\xf0\x85\xac\x56\x16\x78\xd7\xda\x43\x2e\x4c\x7c\xb5\x3e\x12\x71\xdf\x5c\xd5\xa3\x39\xd2\xd7\x52\x0f\x1c\x18\x48\xd1\x50\x71\xd8\xc6\x98\x46\xb2\x3c\x5d\x24\x32\xc7\x38\x90\xf2\xed\xed\x37\xc3\xd2\x96\x4a\x4b\x5b\x55\x22\x58\x88\xe8\x92\xf5\x26\xd1\xca\xc3\x1e\xac\x35\x6f\x36\x1c\x2b\xf3\x36\xc4\x62\xd6\x0c\x82\xe8\x2b\x61\x6f\x2a\x51\x9c\x2f\x67\xbf\x01\x29\x03\x69\xbe\x9b\x55\xe9\xf5\xc8\xce\xc4\xf2\xe1\xb2\xab\x30\x25\x06\xc9\x03\xdc\x3e\x7b\x9c\x97\x81\x41\xdc\x90\x4b\x01\xb1\xc2\x3d\x25\x00\x43\x99\xbf\x8b\x73\xd6\x9c\xd5\x39\xc7\x9a\xf5\xe9\xa0\xa5\x11\xec\xa2\x21\x07\x8a\x1f\xf7\xb0\xf6\x04\xae\xa8\x42\x46\xc3\xcb\x32\xdb\x93\x81\xbe\x12\x17\x67\xe0\x97\xbe\xa5\x17\xbf\xcd\x82\xdf\xe9\x21\x37\x98\x40\xef\xb4\xb6\xf0\x2a\x48\xec\xda\xf1\x2d\x2c\xd3\x89\x30\xd4\x47\x3a\xdf\x97\xcd\x71\xdc\x4e\xa1\x03\x82\xf4\xf5\xd1\xdd\x75\x62\xcd\x4b\xf5\x11\x59\x32\xf6\xc4\x70\x0a\xa8\xfe\x8d\xec\xa9\xd5\xe7\x27\x79\x02\xb8\xf8\x86\x52\x97\x65\xdb\x24\x86\x07\x4b\x23\xa1\x9f\xd4\xb0\x43\x56\xbf\xa6\x22\x6c\x82\xba\xf6\x9a\x08\x7d\x9c\xa1\x88\x23\xf8\xe3\xe6\x83\x08\xe1\x6b\x80\x4c\x36\x3d\xf5\xb6\x30\x7e\x76\x24\x0d\xb1\xed\x84\x1b\x61\x2d\x65\x54\x8d\xdf\xbe\x83\x67\xda\x60\x77\x2c\x6a\xff\x55\x4d\xc8\x5d\x04\x19\x48\x34\x5e\x56\x7d\xa9\x33\x31\x51\x85\x8f\xdf\x69\x93\x27\x39\x25\xbf\xdc\x71\x81\xb5\xf6\x46\xd0\x63\xa8\xc8\xf3\x10\x56\x9b\x0e\xd0\x93\xbd\x9d\xff\x04\xfe\xbf\x0b\x41\xc6\xdc\x55\x16\x9a\x14\xa3\xc8\x62\xe5\x41\x6f\x1e\x58\x2f\xde\xe8\xfe\x87\xdc"}, -{{0xbf,0x3c,0x0c,0xbb,0xbe,0x20,0xbe,0x2a,0xcf,0xaf,0xb2,0x7a,0x36,0x11,0xb4,0x89,0x21,0xa7,0x28,0xab,0x17,0x33,0x4b,0x8a,0xfd,0xee,0x83,0x05,0x17,0x8f,0x61,0x3b,},{0x45,0x00,0xa0,0x3c,0x3a,0x3f,0xc7,0x8a,0xc7,0x9d,0x0c,0x6e,0x03,0xdf,0xc2,0x7c,0xfc,0x36,0x16,0xa4,0x2e,0xd2,0xc8,0xc1,0x87,0x88,0x6d,0x4e,0x6e,0x0c,0x27,0xfd,},{0x8f,0x87,0x03,0xbc,0xf4,0xc0,0x32,0x94,0x17,0x33,0x9e,0xb0,0x26,0xf2,0xb7,0x2d,0x31,0x4d,0x92,0x2e,0x9a,0xcc,0xb5,0xd8,0xbb,0x7e,0xec,0x87,0xe0,0x7e,0x61,0x38,0x55,0x16,0x72,0xa6,0x13,0x2c,0xb4,0xf8,0x75,0x50,0x8e,0xd3,0x29,0x95,0x67,0xb4,0xa7,0x41,0x34,0xd2,0xbd,0xf0,0xd8,0x57,0xf9,0x80,0x86,0x1d,0x18,0xbe,0x7e,0x01,},"\x8f\x30\xba\x2f\x79\x2e\x9a\x97\xf6\xea\xfe\x29\xf9\x76\xa4\x80\x28\xcb\x88\x57\xb5\xc7\x98\xbc\x2b\x61\x68\xc4\x64\x44\xc0\xce\x69\x60\x70\x37\x4c\x5e\x6a\x40\xc3\xd1\x8a\x5d\xc7\x66\x9f\xc4\x1d\xb9\xa8\x1c\xff\x75\x9b\x8c\xa0\x15\x98\x71\xc3\x44\x2e\x8c\x75\x12\x69\x8f\xa4\x47\xb5\x78\x3e\xe0\x1d\x1b\x61\x14\x49\xab\xad\x23\x71\x62\x92\x2b\x02\xd1\xae\xc5\xde\x1d\x66\x6f\x17\xda\x16\x13\x10\x63\x01\xd3\x05\x86\xd1\x16\xe2\xac\x09\x00\x7d\xd7\x1e\x81\x23\xed\xe4\xc5\xa6\xa9\xac\x07\x7f\xe3\xd9\x39\x09\xda\x62\x8e\x86\x58\x70\xa4\xe2\x5c\xb3\x55\x91\x67\x5a\x06\x90\xbe\xc4\xaf\x02\x81\x71\x4f\xe6\x66\x1b\xd5\xc0\x0a\x27\xd7\x9f\x95\x9f\xb4\xd4\xfb\x16\x36\xa6\xa3\x57\x5f\x4f\x01\x47\x06\x63\x89\x9d\x73\x74\x72\xb0\x96\xbe\x4d\xb7\x23\x71\x53\x67\xa4\x1a\x3a\x4c\x13\xf7\x42\xd9\x08\xf4\xd9\x21\xcf\xdd\x15\x6e\x75\x86\x82\x61\xba\x9c\x10\xd8\x58\x74\xca\x2d\x6c\x0c\x9e\x72\x95\xe5\x66\x2b\xd9\x16\xa3\x63\xc7\xa7\x96\xea\xd6\x17\xc4\x25\x1e\x67\x94\xda\x06\xc3\xd0\x8f\x2f\xdc\x38\x86\x94\x4a\x75\x09\xe6\x40\x9c\x90\x6b\x59\x31\x13\xb4\xb1\xf9\x85\x01\x32\x96\x0d\x9f\x3a\x4e\xeb\x73\x86\xfa\x59\x2f\x61\x93\xbe\xab\x8e\x0f\xf0\xf2\x89\x08\xa0\xd5\x48\xdb\x87\xba\xe9\x78\xb0\x5a\xbb\xca\x9b\x3e\x96\xd8\x79\x5b\x88\x07\x7f\x62\x0f\x21\x24\xe3\x15\x90\xeb\x09\x9e\x94\xe0\xe6\xe3\xcd\x62\x0a\xe6\x29\x0f\x3e\x2d\x01\x46\x7e\x5b\xef\x4f\xab\xde\xf7\x9d\x9a\xb9\x23\x9e\x75\x3e\xc4\xfa\x0b\xb1\x10\xff\x1d\x39\x3f\xca\x02\x24\x35\x02\xd7\xe9\x87\x99\x1e\xb7\x6d\x08\xf8\xbe\x7e\xb2\xb1\xee\x00\xc3\xb6\x8b\xbf\x72\xa6\x23\xba\xa1\x5b\xe8\x96\xb3\x21\x5e\xbe\x8a\x82\x31\x31\x09\xfc\x62\x9b\x0c\xce\x64\x91\xf8\x13\xc2\x49\x70\xe4\xff\xe6\x86\x9e\x40\xb4\x6b\x4e\xd2\x29\x86\xd0\x04\x21\x55\x27\x6c\x23\x0d\xe4\xc0\x5d\x67\x85\x52\xf2\xe8\x51\xca\xcf\x5a\x47\x21\x57\xdb\xb1\xa9\x9a\x2b\x42\xff\x40\x37\xf0\xdc\x63\x80\x67\x29\x21\xc9\x09\x20\x6e\x80\x05\x0e\x61\xa6\xb3\x05\x6b\x17\xe3\xae\x83\x50\x09\xb2\x04\x19\xa3\xb9\x84\x6d\x37\x48\x92\xe7\x19\xf1\xb3\x5b\xc1\x25\x7d\xa9\x3c\xcc\x6d\x8f\x8f\xca\xa8\xe6\x09\xa8\xd2\x04\xdf\x10\x8b\xe7\x19\x34\x67\xe7\xf1\x05\x93\x52\x82\xc3\xfe\x66\x70\xa5\x32\x94\x42\xea\x3e\xdd\xa2\x37\x6a\x03\xa1\xcf\xe8\x72\x3a\x90\x9c\x06\x4d\x30\xfe\x9b\xb0\x21\x2c\x33\xaf\xe2\xbe\xa3\x0c\x91\x43\xc0\x01\xda\x01\xc7\xed\x50\x45\x59\xb9\x7f\xe2\xce\xa0\x9b\xeb\x9d\xb5\x19\x00\xdc\x13\x67\x05\x92\x1e\x20\x29\x78\x45\xba\x72\xa9\x7a\xa7\xc9\x53\x81\x45\x71\xbe\x3f\x08\xce\xf9\x68\x04\x5a\x5a\xc3\x40\x04\xf6\x7f\xbf\xa5\x4e\x99\x6b\x31\x1b\xd8\xdc\x52\x7d\x89\xe1\xd4\xf5\x34\x53\xa6\x71\x37\x20\x10\x1c\x45\xa6\x0e\xe3\xa0\x5c\x2e\xe6\x6f\x13\x4b\x5a\xf4\x0e\x4b\x70\xef\x37\xba\x3f\x0a\xfd\xef\xc0\x39\xf3\x42\xc2\x8a\xf9\x19\x82\x51\x38\x1a\x10\x79\xa5\xdd\x03\x5a\x8c\x28\x97\x6c\x6b\x7f\x4d\xb0\x9e\xa3\x83\xa3\xa8\x7f\x0f\x85\x1f\xd3\x31\xae\xa7\xfa\x4b\xfc\xd9\x56\x31\xd6\x52\xfa\x2f\x50\xf1\xc2\x3f\xf2\xbc\x13\x7a\x06\x04\xe3\xd9\xf3\x9c\xcb\x96\x51\x45\xbc\xa4\x8b\x06\xdc\x8a\x81\x75\x47\xb6\x25\xef\xfa\x79\x6d\x00\x0c\x37\x74\xba\xd1\x98\xdb\x12\x41\xbe\x7a\x2c\x0d\xc4\xa4\x64\x1b\x9a\x8c\xb9\xcb\x8c\x8c\x38\x87\x57\x6f\x52\x72\xc3\x3a\xaf\xfe\x45\x61\x5f\x51\xa9\x6f\xae\x76\xcf\x51\x25\xbc\x69\xad\x0a\x40\x38\x79\x07\x99\xb5\xc2\x62\x44\x21\xa6\x43\x3d\xba\xb3\x9c\xcc\xb0\xb1\x78\x7b\x5b\xce\x28\x95\x94\x48\x9d\x17\xed\xb5\xf9\x31\x03\x74\x80\x7d\x36\xc6\xe6\x73\x47\x26\xbb\x33\x00\x4e\xca\xe8\xbb\x69\x1d\xcd\x38\x76\x01\xf4\xea\x91\x1b\x4b\x90\xeb\xff\x75\x6d\x7d\x8d\x9e\xb4\x22\xcb\xb9\xaa\xf7\xf4\x77\x2e\x0a\x54\x36\x43\x06\x85\xe5\x7b\x69\x74\x54\xe8\x2e\xea\xdc\xe4\xab\xa0\x62\xb7\x76\x82\xcf\x21\x9b\xe1\xfd\x9b\x00\xf1\xcb\x11\x35\xa1\x02\x13\x49\x53\x9a\x4b\x93\xae\x21\x3f\x19\x3d\x29\x32\x73\x8e\xf7\x29\x20\x49\x9b\x7b\xe2\xa8\x1c\x9b\xaa\xed\x17\xc5\x46\x41\xa5\x97\x4d\x27\x22\x32\x41\xe3\xc6\xa0\x95\x22\x6b\xd2\x37\xe0\x59\x1e\x00\x2b\x3a\xf0\x56\x5d\xf3\xe9\x76\x42\x0f\x97\x64\xa0\x9a\xe8\xbf\xa2\x79\x5f\x8f\xad\x7f\xc6\x87\xbd\x2d\xe2\x3d\x14\x88\xf4\x49\xd8"}, -{{0x28,0x7f,0xaf,0xd2,0x13,0x74,0x57,0x2f,0x57,0x81,0x00,0x47,0xd0,0xd9,0x8c,0xb1,0xff,0x3d,0x01,0x20,0xfa,0xa4,0x88,0x61,0x32,0x24,0x57,0x32,0xc1,0xa6,0xab,0x78,},{0xe8,0x25,0x20,0x63,0xf5,0xad,0x7e,0x95,0xbd,0x05,0xc5,0x02,0xa8,0xbc,0x4a,0x17,0x55,0x63,0x60,0x86,0x9b,0x9d,0xe0,0xa3,0xb8,0x58,0x93,0x8e,0x11,0x11,0x76,0x19,},{0x62,0x01,0xe3,0x05,0x91,0xd3,0x6b,0x7b,0x22,0x6e,0x36,0xfd,0xf5,0x64,0x34,0xc4,0x7c,0xd3,0x05,0x18,0x37,0xaf,0x31,0x31,0x3a,0x99,0x17,0xfd,0x02,0xdd,0xed,0x2b,0x5b,0xbb,0x4b,0xbc,0x36,0x8b,0x3b,0xd1,0x5d,0x06,0x20,0x45,0xf1,0x05,0xb6,0xe7,0x34,0x1b,0x15,0x15,0x0d,0x36,0xf9,0x00,0x87,0x59,0x1d,0x83,0x99,0x01,0xb8,0x01,},"\xb3\xc4\x43\xe4\xe5\x89\x9c\x16\xd3\x9e\x81\xb4\xf8\x07\x40\x42\xa9\x04\xa7\x35\x07\x4b\x27\x95\xd9\xac\x06\xb1\x37\x9e\xf7\x61\x8d\x2a\x53\x4b\x6b\xef\x81\x56\x9e\x60\x71\x92\x67\xbf\x29\xcd\x9d\x16\xac\xc9\xa1\x74\xd8\x02\x6b\x14\xb1\x27\xd0\xd2\xd8\xb4\x58\x39\x98\x89\x5a\xd7\xef\x72\xfe\xdc\x53\xb8\xf0\x8a\x22\x50\x10\x0e\x1f\x1f\x0a\xab\x48\xbc\x70\x74\x64\x34\x88\xe6\xb6\x70\xe1\xb0\x72\x7c\x38\x5a\x34\xff\x65\xa0\xd7\xe8\x3b\xa8\x60\x83\xb8\x73\xdf\xf0\x55\x92\x09\xb1\x4b\x2a\xc4\x2b\xf7\xc5\x72\xd0\xc5\x91\x7a\xc4\x2e\x4a\xe4\xda\xe1\xdd\x42\x35\x79\x52\x76\xa0\x76\x13\x2c\xfe\x3e\x0c\x35\x0b\x26\x58\x0f\xbb\x3a\xf8\x17\x77\xb9\x3a\xd9\x5c\xb7\xff\x17\xc2\xd9\x80\xce\x0d\x49\x2f\x6d\x40\xfa\x90\xba\x3f\xca\xa2\x1b\xb6\x87\x35\xee\x1e\xf2\x08\x49\x5e\xbf\x7b\x02\x27\x6f\xfa\x1e\xfc\x08\x16\x58\xbb\x44\xcd\x27\x61\xef\x5e\x3e\x1c\xa6\x0e\xc8\xb5\xd8\x16\xd4\xab\xac\xd0\xbc\xc8\x02\x68\xd8\xf4\xdf\x8b\x3a\x52\x04\x9d\xb0\x15\x7e\x2b\x6e\x81\xac\xd6\xf3\xf2\x89\x47\xc0\x76\x27\x95\x5c\xda\xc9\xea\xa1\xde\x17\xd4\xb9\xda\xa3\x61\xfb\x49\x78\x26\x64\xd7\xd6\xd2\xca\x5c\xec\x6d\x14\x89\x3c\x3e\x80\xb6\xd1\x6d\xaa\xcf\xfc\xc0\xb7\x59\x37\xe8\xbe\xf6\xf9\xe1\x12\xa8\x7f\x4b\x03\x5f\x90\x36\x07\x0a\x2c\xcc\x55\xc2\xaa\xd9\x39\xdf\x67\x4f\x7e\x4e\x12\x68\x5e\x01\x6e\xa0\xe4\x90\x2a\xaa\xaf\xaf\xfe\x38\xdd\xb2\xf9\x0d\x9c\xf7\x85\x37\xf6\x13\x91\x69\x6f\xf0\x33\x0a\xe8\xf7\x9a\x1c\x1e\xd5\xd5\x2b\x4e\xe2\xa6\x2d\x90\xfb\x82\xd9\xa4\x83\x93\xfa\x33\x81\x0b\x40\xd0\x45\x59\x02\xd5\x74\xff\x05\x20\x03\xe0\x16\x0c\x0f\x47\xb5\xe5\x80\xa0\x78\xbc\xee\xf0\x60\x73\xdd\xa8\xb2\xd1\xf1\x04\xa5\x95\xe9\x0b\xb6\xa4\x8e\xdd\xd8\x65\xf1\xca\xe4\xf1\x78\xfe\x22\xe7\x5f\x2f\x61\x24\xa9\xda\x06\x82\x44\x71\x12\xb3\xdb\x5b\xe8\xc4\x24\x72\xb2\x41\xe9\x44\xfd\x23\x70\xc2\xdc\x27\x15\xc0\x5a\x41\xbd\xbc\x89\x0c\x41\xc6\x5f\xb0\x8c\x2f\x59\x31\x74\x39\x1a\xc8\x80\xf3\xcb\x67\xd1\xb7\x4f\xf8\x02\xef\x96\x2a\xfe\xf7\xb9\xf3\xea\x32\x6f\x95\x27\xe7\xfb\xa6\x98\x18\x79\x24\xb6\x4c\xcd\xd0\x86\x62\x48\xc7\x6e\xe6\x4c\x79\x06\x9b\xe0\xa0\x57\xb1\x0a\xe1\x90\xf3\x8f\xf5\xab\xa8\x44\xe3\x93\x31\xcf\x1d\xb1\x3c\x90\x09\x06\xbe\xe0\xd7\xe7\x54\x6e\xf5\x23\x24\xe3\x7c\x59\x06\x75\xf1\x39\xf5\x8f\x57\x3a\x49\x4f\x4a\xe8\x2c\x4e\xc8\x10\x66\xa6\x8e\x2d\x92\x90\x01\x91\xc4\x7d\x30\x62\xf0\xf9\xaa\xed\x19\x11\x37\xcd\xa9\xb8\x3c\xd1\x30\xe8\x26\x29\x60\xe6\x24\x4f\x8f\x6e\xf3\x9f\x15\xa4\xfe\xd1\x3c\xb6\x69\xed\xc1\x9f\x5c\xe1\x62\xce\xb8\xd2\x42\xb9\xad\xdb\xfb\xa8\x77\x2c\xe7\x49\x85\xa5\xf3\x72\x0d\x59\x0a\x92\x0e\x1d\xca\x75\xa8\x79\xb1\xaa\x45\x9f\x74\x62\xff\xf2\xe9\x50\x72\x76\x1b\x20\x92\x54\xfe\x38\xc5\x4d\x83\x3a\x8e\x2c\xb8\xfc\x40\xc5\x98\xf3\xc7\xf7\xd6\xc5\x70\x57\x15\xd0\x30\x8d\xc3\x0e\xaa\x84\x67\x6d\x20\x9d\x7b\x7b\x31\x34\x47\x56\xe6\x9a\x9a\x4c\xb4\xe4\xa2\x51\x81\x7a\x37\x86\xfe\xa6\x72\x8d\xd6\x08\x22\x33\x6b\x45\xae\x5d\x47\xc7\x04\xb4\x5c\x4c\xad\x38\xc1\xe0\x1a\xb9\x3d\x14\x16\x92\xd5\x5d\x12\xfd\xb9\x74\x0f\x1d\x18\x15\x82\xf1\xc4\x8c\xe5\x43\x48\x60\xd9\x30\xf0\xe7\xe7\x0e\xdc\xff\xb8\x55\x60\xa5\x3d\xba\x95\xd5\x7b\x31\xe8\x92\x41\x37\xbc\x2c\x19\xe3\x4b\xb9\xc9\x86\x68\x77\x17\x42\x80\xe8\x0c\x23\x97\x8d\x57\x79\x58\x64\xa7\x37\x4a\xef\x38\x3f\x3b\xf6\x37\x53\x59\xbf\x63\x56\x47\x40\x09\x84\x61\xa6\xc7\x6e\x8f\x23\x89\x13\x28\x87\x69\xa1\xcb\x1c\x95\xb2\x2c\x32\xa9\xeb\xb3\xec\xeb\x04\x8e\xe3\x24\xcf\x0d\x7e\x85\xa3\x89\xb0\x4d\xed\xbb\xcb\xee\xf2\x98\xd0\x52\x78\x16\x08\x5c\x0c\x83\xef\xaa\x29\x85\x46\xe8\x39\x0b\xd1\xbf\xe4\x65\xec\x1b\xaf\xae\x69\xee\x52\x18\xe7\x2c\xae\xdb\x9b\x64\x9c\xf7\x3e\xec\x45\x4a\x2b\x48\x49\x65\x17\x96\x72\xde\xbc\xf9\x44\x13\x63\x99\x5a\x8a\x90\x7d\xe1\x7d\xc0\x68\x4f\x2a\xea\x57\x9a\x2f\xb4\x48\x41\x95\xdb\x41\x15\xca\x32\xe9\x70\x52\x6d\xc0\x0a\x5c\xac\xaf\x58\x87\x11\xdb\xd4\x69\xce\x80\xbd\x29\x7c\x4f\x41\xd6\xfa\x28\xa5\x97\xc6\x37\x2c\x0d\x21\x49\x60\xb5\x45\x98\xcd\x8b\xc8\x49\xeb\xdc\xa3\x6d\x62\x25\xb2\x0d\xec\x0d\x03\x11\x69\xce\xbb\x36\xea\xdc\x3a"}, -{{0x9a,0xd0,0x49,0x10,0x08,0x51,0xd0,0xf7,0x9b,0x71,0x12,0x25,0xc9,0x88,0x47,0x79,0x5a,0xcf,0xc3,0x60,0x1c,0x14,0xb8,0xa9,0x77,0x8d,0x62,0x70,0xcd,0x4c,0x05,0xed,},{0xe7,0xca,0xcf,0x4f,0x37,0x14,0x54,0x3c,0x27,0xa3,0xe9,0xed,0x83,0x3b,0xaf,0x3b,0xde,0x4c,0x09,0x56,0x3b,0xef,0x59,0xe7,0x63,0xfa,0xb7,0x1f,0xb5,0xe4,0xff,0x56,},{0xfe,0xc0,0xaf,0x34,0xcb,0xc5,0xcf,0xfc,0x56,0xe9,0x6d,0xd5,0xed,0x59,0x68,0xe5,0x2c,0xbd,0x42,0x69,0x84,0x4f,0xc3,0x0e,0x3a,0xb0,0xd3,0x47,0x2b,0x5d,0x18,0x0c,0x8d,0x1b,0x76,0x90,0x51,0x8f,0x41,0xf1,0x44,0x38,0xe7,0xf3,0xa8,0x3d,0x5e,0x89,0x76,0xcb,0x9a,0x26,0x15,0x1f,0xc4,0x14,0x9a,0x32,0x98,0xd7,0xe4,0x2c,0x05,0x03,},"\xc2\x84\xbd\xd8\xf8\x27\x5b\x49\xac\x80\x8c\x39\x04\x5e\x50\xe1\xed\x50\xc8\xa1\xaf\xd0\x11\xaf\xe5\xdb\x3d\xda\x62\x0b\xe8\xae\xc3\x7f\x45\x60\x57\x62\xe2\x25\xd0\x41\x11\xf2\x1b\x49\xfc\xef\xca\x3f\x3d\x5f\x81\x3b\x20\x20\xa5\x2c\x49\xf9\x5c\x4a\xd6\x1c\xa2\x14\x61\x8a\xde\x7e\xed\x6c\xd8\xd3\x14\xdc\x4c\x63\x55\x95\x52\x77\xd4\x57\x46\x2f\x03\xb9\xfb\xa2\xe2\x25\xb1\xb5\x37\xcd\x4b\x52\x37\x50\x5c\x90\xd4\x32\x05\xe1\x71\x5c\x39\x63\xcc\xfb\xec\x37\x9e\x6c\x17\x05\xe0\x80\x34\xa3\x1a\xfc\xe6\x46\x72\x7e\x78\xa2\x0e\xed\x88\xae\xb0\xdc\xda\xbc\x5c\x86\xe8\x69\x79\xe6\x3a\x5c\x26\xc3\xe2\x17\x79\x73\xb6\x98\x3c\xeb\xfe\xda\x9f\x31\x47\x93\x61\xb6\x61\x76\x3a\xa7\x26\x1c\x09\x39\xca\xd4\x8b\x71\x90\x8e\xa9\x07\x68\xbb\x6c\x95\x83\xd8\xea\xeb\x9e\x03\x38\x51\x5a\xca\x12\x42\x62\x6d\xc6\xbe\x04\xec\xc4\x42\x9e\x4c\xbb\x4f\xf3\x36\x09\x61\x92\xf7\x50\x1e\xc4\x71\xb5\x96\xa9\x9d\x4c\x02\x75\x82\xcc\x69\xe2\x04\xb6\xfb\xcd\xdf\x59\xf5\xbf\x74\x62\xdd\xcd\x59\x89\x12\x1f\xd1\x0f\x11\xa0\x67\x5b\x6c\x4e\x4f\x65\x20\xd2\x7d\x7c\x61\x43\x1b\xa7\xd1\x74\xf5\x73\x95\xa0\xbf\x72\xd3\x8c\x11\x42\x73\x6d\xed\x6b\x91\xe4\x81\x1c\x0e\x85\x41\xa6\xc0\xd9\x96\xc5\xa1\x7d\xc9\x7d\xb3\x88\xf7\x21\xd2\x35\x7d\x3c\x6a\xf5\xc8\x6b\x1d\x5e\x47\x6e\xa0\xac\x0b\x1c\x11\xd4\x38\x7f\x76\x90\x39\xbd\xf5\x38\xa0\x21\x6e\xdd\x00\x45\xee\x6d\xd8\x9e\xef\x82\xa4\x25\xa8\x3f\xaa\x1b\x12\x80\x70\x38\xca\x19\xeb\xec\x00\x2e\x8b\x3c\x15\x34\x4c\x61\xcf\xd1\xe5\xf0\xe3\xb0\x27\x3d\xeb\x37\x27\x8c\xf1\x97\xd8\xa8\x3b\x13\xd9\x92\x30\x8a\x51\x37\x3e\xb3\x81\x14\xc9\xe4\x5b\x43\x87\x80\x27\x7d\x1e\x32\xf3\x97\x29\x62\xa3\xe1\x4a\x8d\x08\xdb\x9f\x09\xae\xc3\xdd\x32\xa5\xb9\x94\x23\xe6\x1f\x5e\x79\x94\x4a\xb5\x7a\x36\xf6\xec\x07\xcc\x32\x04\xf9\x16\x5e\xe0\x21\xad\xa9\x3e\x6f\xec\xb7\xec\x45\x6a\xa0\x28\x8c\x37\x8a\x75\xaf\xd6\xe9\xda\xd6\xc6\xf8\x8e\x95\x9a\x2c\xf2\x8b\xfe\x56\xd2\xe6\x1b\x2a\xda\xec\xf0\xd8\x6d\xd8\x92\x8b\xce\xda\x26\xb0\x54\x02\x46\xb7\x33\x7f\x5c\xdc\xec\x11\xfb\x0c\x1a\x59\xd6\x31\xfc\xca\x19\x40\x8f\x95\x22\xb6\x8a\x39\xf8\x6e\xf9\x70\xb8\x83\xa0\xf0\xbd\x6b\x7b\x14\x15\xec\x9a\xa0\x43\xb5\x2e\x19\xba\xc1\x76\xd6\x7b\x79\xe2\xa5\xdc\xa8\xbf\xd2\x91\x02\xac\x60\x8e\x47\x3e\x9f\x98\x2c\x3e\xc8\x93\x2d\x8a\xa8\xcd\x56\x52\x84\x49\x1d\xe5\x2f\x51\x6b\x9e\xbf\xb7\xdb\xe1\x29\x95\x11\xae\x73\x2c\x2a\xd1\xee\x49\x92\xb0\x77\xfa\xff\xc6\x5f\x48\x8f\x1b\xa2\x15\xda\x69\x79\x60\x09\x71\x19\x6d\x0f\xf3\xa0\x8a\xd9\xf0\x0e\x82\x9c\x1d\xe1\xaf\xca\x10\xca\x47\x6b\xe6\x64\xaa\xd2\x61\x88\x9b\x0e\xb7\xae\xb6\xed\x86\x37\x61\x89\x00\xac\xf4\x81\xe2\xd2\x24\xec\x64\xa6\xe6\xcf\x4f\xa4\xdf\x73\x1b\x7a\x4f\xee\xff\x25\x80\xc9\x9b\x6d\x75\xb4\xdc\xd0\x97\x69\x65\xcb\x2b\x0b\x56\x35\x22\x78\x42\xd0\x8a\x7d\x90\x7a\xae\xbc\x2f\xde\xd8\x00\x98\x11\xdc\xdd\x73\x35\x49\x21\x75\x3b\xc5\xde\xc0\x17\x68\x93\x35\xf5\x6d\x0f\xb7\xae\x21\x3b\x41\x79\x2b\x1f\x4e\xb1\x4a\x24\x53\x59\x77\xa3\x05\xb1\x9e\xb9\x83\x8d\xc6\xb5\x15\x28\xb9\x8a\x39\xbd\xa0\x60\x10\x71\x7a\x20\x8c\x34\x7a\xa1\x58\xee\xcd\xfd\x9a\x04\x72\xd3\xb8\xd9\x20\xf9\x69\xe1\x2b\x65\x91\x9b\xda\x38\xb4\x61\x94\x98\x50\xcc\x9c\xc1\x8d\x8e\x3b\xaa\x8c\x88\x6d\x93\xcd\x09\x6a\x20\x9d\x54\x3c\xa3\x37\x5f\xc4\xe7\xd6\x51\x03\xcb\x64\x24\xbe\xab\x44\xe8\xbc\x4a\x5b\x62\xc2\x9a\x01\xbc\xf4\x4d\xcc\x61\xe7\x67\x5c\x02\x5d\xec\x07\x24\x20\x01\x94\xbd\xe7\x4d\x72\xc0\x2e\x94\xa9\x46\xa7\x52\xf3\x60\x84\x57\xfd\x91\xf2\x92\x71\x57\x71\x48\x7d\x26\xca\xd4\xe5\xcf\x6e\xf7\xc6\xf7\x16\x27\xa4\xda\xf8\xa4\xc9\xb8\x91\xc1\xee\x8f\x04\xae\xaa\x99\xfe\x0c\x8b\x4e\x83\x3b\x76\x09\x06\x6b\x61\x32\xa9\x68\x89\x0e\x26\x95\xda\x22\xb2\xd8\x57\xc8\xc0\xad\x91\x87\xc9\x60\x69\xe4\x76\xe2\x7e\x46\x32\xc4\x47\xee\x76\x71\x4a\x31\xd1\xe5\x14\x9e\xcb\x33\x7e\xe1\x32\xf3\x55\x2d\xa3\x3a\xb2\xd6\xfa\x9d\x7e\x93\xf6\x8a\x77\xcb\xf1\x91\xcb\x06\xbc\x22\xf3\x47\x0a\xf6\xd7\x58\x1e\x3a\xcc\xbe\xca\x0b\x6f\xeb\x08\xa1\x4b\x9a\x80\xc1\xef\x59\x37\x4c\xcd\xc0\x52\x3c\x36\x84\x50\x4c\x01\x04\xbb\xa2\x2c\x10"}, -{{0xde,0x54,0xe1,0x3f,0x9e,0x2c,0xc7,0x54,0x54,0x6c,0x99,0xb3,0x3b,0x3d,0x72,0xf4,0xd1,0xf7,0x71,0x50,0x38,0xa9,0x65,0x9f,0x33,0x63,0x65,0x77,0xbb,0x52,0x6a,0xdb,},{0x36,0x33,0x8d,0xb3,0x32,0x6b,0x00,0x5e,0x5c,0x61,0xff,0x78,0x2b,0xe2,0xea,0xb1,0x66,0xd4,0xeb,0x72,0x34,0xa9,0x8e,0xa1,0xcd,0x85,0x5e,0x1a,0xd5,0x35,0xe9,0x4c,},{0x37,0xac,0xa8,0xf2,0x48,0x39,0x4a,0x9e,0x04,0xd0,0x6a,0x7d,0xa8,0x4a,0x7d,0xef,0xa3,0x9d,0xe4,0xda,0x2b,0xcb,0x18,0xd5,0xf6,0x4c,0xc3,0x4d,0xb0,0x86,0x51,0xaf,0x4a,0xbb,0x19,0xfa,0x2a,0x92,0xa7,0xdd,0xa5,0x6e,0xc9,0x93,0x0b,0x81,0xae,0xbd,0x23,0x99,0x05,0x11,0xf6,0x84,0xc6,0xd1,0x5b,0xa5,0x95,0xf7,0xd4,0xa2,0x74,0x0e,},"\xdc\x40\x41\xad\x61\x42\x3a\x12\xa0\x41\x13\x18\xa6\xe6\x2a\x5e\xf6\x4a\x19\xab\xe2\xd9\x85\x22\x97\xbe\x2d\x4a\x35\xeb\x86\x70\xca\x36\xc5\x21\x53\x1b\x30\x38\xac\xda\xee\xa2\xea\x01\xa0\xb6\x18\x78\x62\xa4\xe1\xa8\x9d\x4b\x81\xc5\x31\x8e\xd4\xd6\x71\x31\xbc\x38\xf8\x41\xa1\x42\xa2\xf6\xf3\x16\xdf\xf0\x76\x93\x9d\xc0\xeb\x81\xb2\x30\xfe\xa9\x88\x1f\x8f\x0f\xf7\xed\x0b\x29\x3f\x69\xb2\x89\xfe\x77\x08\x81\xfb\x37\x10\x80\x8e\x8e\x59\xe6\x4e\x19\x0c\x1e\x37\x9b\x9d\xd3\x48\xb0\x2c\x23\x47\xd7\xe2\x06\x96\x79\x0b\x62\x77\x6a\x2e\x82\x5b\xed\x69\x17\x03\x7c\xb6\x35\xc9\x2f\xbc\x76\xb4\xc5\x85\x10\x27\xe7\xf1\x38\x52\xee\x7e\x7c\x52\x57\x3a\x90\x30\xb7\x9f\x22\xb6\x0d\x58\x69\xef\xe6\x80\xc0\x16\x64\x92\x9f\xe9\xa0\x6f\xa3\x33\x05\x2b\xe1\xd6\xaf\x3a\x0b\x48\x2c\x33\x2e\x18\x05\x1e\x78\xb3\x33\x83\x9d\x6c\xb9\x3d\x93\xeb\xfb\x27\x7e\x42\x68\xfb\xee\xee\xba\x1e\x8f\x96\xa5\xc9\xe3\x28\xc4\x26\x72\x12\xca\xc2\x51\x21\x5b\xfa\xa7\x8f\xd8\x8a\x87\x41\x7a\x80\x60\x2d\xcd\x88\x28\xe8\x04\x00\xda\x30\x4e\x98\x98\x62\xd1\x32\x01\x08\x2d\xe3\x53\x09\x25\xe0\xed\xc2\xc1\x30\xa9\xa4\x19\x07\x1b\x31\x08\x8d\xa6\xf6\xff\x40\x56\x30\x1c\x12\x9f\xc2\x13\x52\x33\x62\x8d\x16\xd8\xbf\x16\x0f\x6c\xe8\x6d\x83\xcd\x4e\x29\xae\x0c\x73\x84\x3d\x70\xb5\x30\x56\xc5\xaf\x3f\x3d\xc5\x61\x27\x1c\xb5\xaf\xf3\x93\xf0\x80\x3a\xde\x07\x2d\x9c\xeb\x74\x5b\x61\x87\xb2\x8d\x24\x69\x67\x67\xd5\xc2\x1f\x4d\x4a\xc5\x8d\x5b\xb6\x6c\x5c\xad\xfe\xfb\x16\x26\xef\x93\xf7\x14\xc7\x82\xb6\xef\x3c\xcf\x4b\x44\xee\x75\xf0\xbb\x75\x7a\x25\xd9\xb4\x6a\x9d\x93\x1a\x03\x72\x7d\x49\x6a\x22\x81\x0c\x63\x4f\x5c\x1a\xe6\x0c\xbd\xf2\xf1\xea\x29\xb5\x46\x07\xcf\xf5\x0d\x9f\x8e\x03\xa0\xa4\x51\x3c\xf6\x8d\xfb\x61\x97\x73\x41\x1b\x61\x80\x95\x9a\x8a\xac\x30\xb2\xee\xe4\xad\x32\x79\x15\xf6\x0a\xe5\x2b\x90\xe0\x4a\x9b\xce\xf8\xdc\x67\xe7\x1e\xa1\x0a\xca\x55\x3d\xb9\x89\x5c\xd8\x00\x84\x57\xd7\x6f\x02\xce\xb5\x35\x00\x21\x11\x09\xe8\x96\x03\xf3\x04\xd8\x80\xaa\xf0\x28\x61\xfe\x37\xc9\x53\x4a\x9d\x67\x2d\x83\x71\x3c\xd3\x26\xc9\xab\x81\xc3\x53\x76\x4c\xa5\xad\x5a\xc0\xe7\xf1\xff\x88\x0f\xb4\x8a\xcd\x9c\xbb\x94\x90\x64\xe2\x11\x83\xbc\x38\xfb\x1d\x90\xcf\xe6\x19\xa8\xb8\xfb\xf5\x32\x18\x89\xbb\x15\xc0\x2a\x53\xe4\xd3\x67\xfc\x66\x88\x77\xb6\x62\x28\x1c\x4a\x2a\xf6\x78\xf8\x6e\x69\x1d\xaa\x8a\xfd\xca\xc1\xb8\x20\x18\x9f\xe5\xc2\x50\x8c\xe3\x6e\xdd\x9c\x6f\x8f\x51\x57\x50\x71\x83\x94\x39\xa0\x03\x35\x2c\x15\x73\xe1\x27\x68\xdd\x6d\xeb\xdf\x1e\xd4\xf9\x4a\xc7\x9d\xf1\xab\x6a\x0b\xc2\x50\x79\xc0\x93\x54\x77\xd9\x14\x99\x88\xec\x3b\x87\x93\xef\xcd\xa8\x59\xac\xc3\x92\xab\x3f\xa9\x94\x93\xd7\xae\x0a\x65\x75\xb6\x95\xa1\xce\x07\x65\x32\x86\x02\x87\xdd\x49\x89\x67\xc4\x6f\x7a\xdd\x49\x49\x4c\x02\xe7\x44\xc4\x02\x80\x19\x57\x82\xe2\x42\x44\x76\x16\x5e\x72\xce\xe2\x36\x42\xe5\x1c\xec\x43\x21\x91\x11\x6a\xec\x59\xb5\x9f\xcf\x0a\x36\x83\xb9\x5f\x76\x07\x60\xa2\x0b\xd6\x74\x54\xd8\xde\x64\x7c\x0f\x9f\xfc\x4f\x90\xf6\xe4\x5a\xc9\x3d\x80\x2f\x33\x82\x99\xef\x28\x0d\x3b\xb7\xa4\xa8\x9d\xb8\xc5\x9a\x12\x52\x6f\x27\x83\x02\x4c\x8a\xde\x90\x02\xf0\x0e\x3d\x52\x9b\x78\xdc\xdd\x49\x03\xda\xf5\x76\x7a\x2b\xed\x75\x14\x53\x96\xef\xb6\x97\x90\x71\x2d\xe6\xa5\x90\x1e\x6d\x8c\x15\x28\x01\x82\x38\x82\x85\x02\x1d\x0e\x70\x92\x92\x15\xd9\xf2\xb7\x99\xbb\x92\xf2\xca\x56\xf4\x8e\x8c\xbb\xa2\xf1\x9b\x08\x58\x45\x12\x65\x67\xcf\xaf\xa6\x03\xc2\x94\x6e\xa1\xe7\xd2\x74\x55\x4a\x38\xbf\x7d\x86\x51\x1f\x3e\x47\x4f\x9f\xa5\xcb\x11\x10\x5f\xb5\x2f\xc6\x81\x77\xf3\x38\x5f\xe1\x39\x7b\xe5\x84\xa7\x00\x89\xdc\x74\x1b\x4b\x00\x95\xbf\x7e\xb2\x99\x3b\x41\x8d\xf8\x7b\x14\xa1\xf9\x79\x26\xe8\x68\xdf\x6e\x56\x8b\xec\xa2\x21\x5f\x2d\xd7\xce\x8a\x3c\x9e\xe8\x49\xcb\x41\x34\x6c\x68\x4f\x7f\xfe\xf0\xa7\x92\xed\xf4\x33\xca\x99\xef\x34\xc7\x3f\x92\x72\xa7\xeb\x97\x58\x7c\x8f\xce\x4a\x51\x36\x44\x47\x37\x13\x8d\x53\xea\xdf\x3a\x84\xf5\x01\xbb\x10\x45\x6e\x8e\x4a\x40\x47\x08\x2c\x9e\x14\x35\xf5\x76\x52\x6c\x21\x64\x71\x4d\x70\xb3\xd0\xa6\xe9\xc0\x8a\x53\xe3\x23\x84\x0f\x4d\xcf\xe8\xf2\xd1\x9f\x0b\xe2\xc8\x8e"}, -{{0x85,0x04,0xfb,0xca,0xab,0xa6,0x76,0x83,0xf8,0x15,0x49,0x92,0x82,0xb6,0xeb,0xd4,0x97,0xa8,0x1a,0x91,0x56,0xf5,0x3e,0x02,0x5c,0x2d,0x3e,0xce,0xe0,0xdb,0x65,0x59,},{0xe6,0x2d,0xa8,0x64,0x93,0xa0,0xca,0xf5,0x29,0x21,0xd5,0x60,0x2f,0xbd,0xc3,0xdd,0x3a,0x84,0x36,0x94,0x1f,0x6b,0xe2,0x40,0xb3,0x15,0x09,0x68,0x12,0x38,0x74,0x6d,},{0xc0,0xea,0x07,0x4b,0xf9,0xad,0xde,0xe2,0xe3,0x35,0x0a,0x96,0x9e,0x7c,0x56,0x9e,0x3a,0xea,0x1a,0x41,0x88,0xee,0x5a,0xf3,0x4c,0xb7,0x3f,0x38,0x82,0x98,0x65,0x3d,0x29,0x9b,0x5d,0xbd,0x94,0x16,0x3f,0xba,0x20,0x9e,0x8f,0x7d,0xc2,0xe2,0x63,0x4d,0x3a,0x52,0xa0,0x28,0x10,0xa8,0x8c,0x61,0x52,0x94,0x5b,0xc1,0x6b,0xbd,0xfb,0x0c,},"\x6c\x63\xed\xbd\x40\xa0\x38\x74\xec\xae\xf8\x16\x02\xcd\x68\x50\xc0\x9f\x49\x15\xb7\xaa\xf4\x18\x25\x8c\x56\x83\x64\x53\x8e\x83\x92\xa8\xc3\x79\x83\x8b\x0c\x95\x34\x5b\xf6\x4c\x3d\xbc\x17\x58\x53\xfb\x64\x1f\x35\x0f\x0b\x53\xa0\x5a\x8e\xc2\x90\x28\x8c\x03\x26\xd4\x35\xff\x77\x6f\x86\x83\xa2\x73\x33\x3f\x9b\xb2\x80\x21\x84\xec\xc5\x3b\x06\xb2\x8c\x2c\x40\x2a\x54\xbf\x13\x4c\x1a\x23\x29\x97\x49\xa6\xce\x2b\x51\xa7\xba\x22\x23\x21\x48\x79\x7e\x99\x3f\xf2\x58\x28\x6e\x94\x77\x78\xa8\x74\x2d\x3f\x36\xcc\x78\x42\x97\x60\x43\xfc\x23\xda\x8a\x97\xec\xb9\x71\x5f\xc0\x5f\xb0\xf2\x3f\xa7\x32\x1d\xdc\x19\x32\x86\x16\x31\x60\x4e\xba\x2e\xf2\x5d\x8b\x75\x6c\xe4\x73\x36\x56\xbf\xd1\xe1\x47\x08\x92\x3a\xc7\xc6\x0a\x79\x84\x61\x36\xd7\x41\x97\x3b\xa5\x51\x41\x89\x72\x0b\xc0\xf7\x77\x4b\x7b\xd3\x57\x45\x95\xbd\xe2\x51\x50\x31\xb2\x5b\x62\x65\x4b\x16\x10\x35\x77\x80\x70\xac\xe1\x49\x71\xdf\x1f\xe0\xbe\x4e\xa1\xef\x55\xcf\x87\x47\xd3\x71\x6c\x1c\xe7\x07\xb1\xa7\xc8\x52\x0e\x6d\xeb\x33\x4e\xb1\x86\x33\x8f\xc9\x30\x00\x76\x8e\xb2\xbe\x40\xc6\xe0\xdc\x3f\x5d\xf8\x31\xb3\x2c\x3a\x2c\x33\xe2\x88\x98\xd6\x76\x2a\x15\x22\xd3\xd4\x8d\xae\xe5\x6a\x02\x69\xbd\xdf\x6c\xfc\x9d\x73\xf8\xd1\x78\xae\xcc\xbf\xfe\xf7\xce\x16\x4f\x98\xaf\xea\x22\x4a\x9b\x60\xed\xe4\x6a\x95\xfa\xdc\x9f\xc5\xd9\x4d\x20\x9c\x16\x6d\x9b\x8d\xe2\x53\x38\x1e\xa2\x24\x88\x62\x94\x6b\x9c\xf5\x34\x94\x74\x55\xc2\x44\x58\xcf\x56\x68\x3a\x0e\xc4\x7a\x2c\x65\x07\x5c\x69\x4c\x7c\x3d\x6a\xdf\x9a\xe5\xe8\xad\x31\xac\x76\x9f\x83\xaa\x26\xe3\x12\xc5\xb0\x1a\x9a\x09\x40\x4b\x15\xb8\x14\xba\xa7\x66\x6b\x3e\x03\xf0\x6a\x8d\x63\x48\xab\x8c\xcb\x9b\x60\xa4\xa4\xfa\xf8\x6f\x71\x35\xdf\x03\x9d\x95\x5c\x07\xbd\x92\xe7\xb8\xe3\x27\xee\x6c\x1b\x40\x19\x6a\x28\xb4\x44\x6a\xa5\xa9\xb2\xb9\x77\x3a\xb7\x6e\x3c\xe2\x11\x80\xf0\x9d\x6c\x08\xd2\x77\xc6\x77\x1d\x67\xe2\x2d\x84\x54\x0f\xa4\x3b\x38\xf6\x34\xcf\xc4\x6e\x5b\x8c\x33\xf1\x5a\x56\x8a\x77\xe4\x91\x4a\xad\x9a\xb8\xc9\xf7\xfe\xa4\x7f\x76\x77\xc0\x18\x80\xb3\xe8\x5d\x2d\x0e\x3f\xbd\x6d\xc6\xe9\x9e\x43\x7d\xdc\x73\x6f\x92\xb5\xa2\xff\x29\x27\xe0\xb4\x42\x14\x2f\x08\x97\xd0\xb8\xa1\x9a\xc2\x03\x63\x3d\xf4\x13\xfe\xaf\x8e\xf5\x0a\x5f\x76\x7b\xed\xaf\x20\xf1\xc1\x3f\x3b\x89\xd1\xe8\xb7\xbd\x18\xd5\x91\xf9\xde\x11\x6e\xe3\x4f\x98\x24\xe4\xea\xd1\xae\x9d\xa2\xe8\xca\xae\xf8\x8b\x29\x51\x6a\xa9\x42\xde\x77\xa7\x46\x7b\x6f\xb2\x6a\x66\x6f\x30\x64\x8c\x71\x5a\x2e\xe9\xf9\x46\x74\x3b\x54\x3a\x44\x28\xe0\xdf\xd0\x61\x78\xe7\xe9\x3e\xc6\xf2\x6e\x00\x3e\x05\x8b\xec\x14\xa4\xaa\x2e\x3b\x8d\xe1\x12\x95\xa7\x64\xca\xb3\x0b\x31\x3f\xcc\x57\x43\xb2\xfb\x89\x96\x2d\xdc\x5c\xdc\x6a\xa0\xd2\xe4\xa3\x06\xe7\x7a\xf7\x6a\x05\xa5\x98\x92\x3f\x62\x8a\x85\xdf\x1c\xc7\x3a\xd3\xbc\x01\xc4\xb9\x79\xbd\x7c\xb2\x96\x59\x0a\x88\xb0\xa4\x1b\x44\x5d\x50\xa0\x84\x23\xe4\xed\x80\xf1\x76\x3c\x71\x6b\x6c\x45\x7d\x84\x5d\xfa\xa6\x8d\x12\xb0\xd0\x3c\x55\xfd\xe8\xae\x6b\x2b\x92\xbc\x63\x22\x94\x3d\xbe\x54\xc7\x06\xbc\x8e\x5f\xce\xe7\x06\x54\xb2\x6f\x3b\xfd\x87\x7f\x5f\x53\x39\xac\x18\x2d\x54\x17\xbd\x4c\x07\x35\xd8\x25\xbf\x70\xe8\x5e\xab\x82\x16\xed\xda\x63\x2a\xe7\xe2\x2b\x3e\x53\xd0\x78\xa8\xb2\x0b\x5a\x7e\x23\x85\x33\x7c\xf9\x2b\x3c\x16\xb0\x23\x56\x3e\x11\xcb\x50\x43\xb7\x04\xd3\x7e\xb5\xed\x9e\x85\xfc\xdc\x95\xcf\x7a\x6e\xad\xe4\x08\x03\x17\x5a\x00\x8e\xf6\x53\xac\x61\x36\xf1\x61\x29\xab\xae\x11\x37\xc5\x82\x34\x00\x74\x8a\x81\x25\x62\x54\xd3\x17\xcf\xc9\x39\xe2\x6e\xa0\xce\xf9\xf6\x54\x8d\xb4\x28\x90\xc4\x8b\xeb\x04\x79\x10\x3b\xa0\x89\xe5\x14\x11\x80\x38\xb1\xb9\x09\x43\xd7\x16\xf7\xa8\xd4\xcd\xa5\x98\x3a\x67\x4b\x83\xa0\x02\xd8\xac\x9c\x65\x73\x4a\x28\xb7\x7b\x76\x0c\x8e\x38\x03\xf8\x78\x1e\xa9\x19\x9f\x79\x7c\xe7\x29\xe0\x6b\xff\xfe\x8c\x29\xb2\x0b\xc8\x52\x27\xc0\x9c\xc0\x52\x19\xff\x2b\xa3\x8e\x18\x05\x10\x83\x73\x2f\x83\xcb\xfc\xcc\x31\x07\x56\x45\x0b\x26\x1d\x5b\xe1\x83\xd9\xfb\x44\xec\x18\x52\x9f\x2c\xc9\x84\x8c\x40\x11\x9c\x60\x76\x76\xbc\x4d\x90\x15\xfd\x4b\xd2\xfc\x91\x8d\xc8\x03\x1e\xc1\x9a\x05\xff\x36\x2c\x18\x40\x43\xbe\x7f\xe0\x66\x01\x9a\xc5"}, -{{0xea,0xc0,0xf0,0x6c,0x2c,0x14,0xf3,0x7d,0x43,0x4b,0xc9,0x98,0x97,0x22,0x5d,0xd2,0xe3,0xf1,0xed,0x74,0xaa,0x74,0x42,0xc5,0x50,0x33,0x9d,0xf7,0x7d,0x0b,0x7b,0x32,},{0x43,0xe6,0x20,0x55,0xdb,0x6e,0x13,0x49,0xc9,0x4d,0x89,0x02,0x91,0x87,0x88,0x20,0x20,0xcb,0xcf,0x9d,0x75,0xe0,0x3e,0xb6,0x56,0xfa,0x0a,0x15,0xb1,0x90,0x02,0xd7,},{0x45,0xf2,0x80,0x3a,0xfe,0xb0,0xfc,0x44,0xd3,0xaa,0x96,0x5b,0x12,0x65,0x9b,0xf5,0x02,0xe4,0x72,0x95,0x70,0x61,0x84,0xb2,0xa1,0xc6,0xf1,0x6d,0x05,0x06,0x13,0xf5,0x96,0xa2,0x00,0x13,0x94,0xe0,0x0e,0x2a,0x44,0xc4,0x6c,0xf6,0x50,0x5d,0x5c,0xf5,0xb8,0xab,0x84,0x12,0xf0,0x7e,0xda,0x95,0x1a,0x15,0x00,0x5e,0x33,0x8f,0x3c,0x0e,},"\x27\xb7\xfd\x0e\x71\xad\xf1\x94\xcf\x54\x07\xb6\x77\x17\x93\x06\x0d\xe0\xfc\xa7\xca\x0a\xe6\x48\x35\xc4\x31\x87\x40\x8a\x70\x4f\x53\x3d\x5e\xa0\xc8\x3a\x65\x43\x87\xba\x7d\xb1\x6e\xd5\x8e\xc8\x37\x22\x6d\xf5\x7c\x1f\xe6\x38\x2c\x59\x19\xe9\x22\x13\xf6\xf1\x8c\xbb\x57\x35\xd1\x78\xa4\x76\xaf\x35\xd3\x90\xb7\xcd\x25\x56\x21\x7c\x53\x0f\x3a\x1f\x8a\xb2\x33\x9c\x1a\x5e\x8d\x96\x93\x87\xef\xd3\x94\x14\xb5\x6b\xb7\x84\xdf\xd5\xeb\x89\xb8\x59\xe1\xf4\x03\xa2\x38\xec\xa2\xa9\x41\xe6\xdb\x56\xac\x45\x6b\x73\x45\x06\x98\xd1\x45\x5e\xc1\xe9\xb3\x9a\x1e\x90\x7d\x6b\xc7\xe6\xcf\xf4\x24\xa2\x8e\xed\x57\x9a\xf1\x63\x10\x11\x5b\x67\xf5\xfc\xf7\xf8\x34\x6b\x3f\xa0\x26\x0c\x6d\xa2\xe2\x77\x55\xac\xa5\x70\xba\xbb\x3d\x30\x3c\xc8\x32\x46\x0c\x96\x3b\xfd\xd5\xc1\xff\xb2\xfc\x19\x92\x19\x29\xdd\xa2\xa7\x17\xfb\xcb\xeb\x2b\x85\x25\x76\x1b\xd6\x60\xce\x4a\x0f\x76\x85\x28\x5d\x7f\xad\x61\x15\xab\x09\xf8\xe6\x3f\x5f\x77\x39\x14\x49\x4e\x20\xbe\x1b\x51\x2d\x11\x14\xcc\xe3\xf0\xf6\x8c\x7d\x94\xf5\x48\x57\x69\x4f\x22\xaf\x4c\x69\x8d\x78\x2c\xe8\x37\xb0\xc1\x72\x2b\xb7\x31\x3b\xb2\xc4\x1f\x6d\x3d\xd1\xa0\x28\x77\xfb\x42\x96\xd8\x66\x2a\x9e\x86\x25\x98\x4d\xc1\xfd\x1a\x95\x10\xeb\xa9\xd6\x43\xac\x58\xa8\x86\xa0\x45\xcd\x0e\x53\xc0\x56\xa8\x33\xf9\x68\xb3\x5d\x01\x32\x0e\x9c\xc0\xb4\x35\xd3\xf6\xbf\xad\x26\xf9\xeb\x57\x54\xd3\x8d\xdf\x6d\x5c\x4b\xf6\x15\xa7\x64\x4a\x23\xf9\x82\x6b\xcc\x97\x60\x92\xd8\x2d\x81\xd5\x47\x00\x0d\xe0\x08\x1b\x7a\x40\xa9\x3f\xbd\xda\xc1\x3f\x7d\x99\x70\x8c\xcd\xee\xb9\x40\x5c\xd6\x34\xca\x07\x48\xca\xd2\xc1\xd8\xf1\x64\xf5\xd7\x7a\x4f\x36\x4a\xe4\x88\xbe\xdc\xf1\xf2\x0e\xb9\x54\xbc\x8a\x27\x8a\xf8\x14\x32\x41\x78\x56\xa9\x00\xf8\xf1\x52\x92\x1a\xfb\xe1\x79\x14\x22\x9a\x51\x3b\xd7\x1a\xb7\xe6\x61\xcd\xe1\x29\xaf\x93\xe2\x50\x94\xc5\x61\x18\xed\x1f\x22\xdb\x64\x44\x28\xb4\x74\x65\x1f\xe3\x6b\xe8\x2f\xa3\x69\x5c\x41\xfc\x86\x99\x66\x7e\x05\x37\x43\xb0\xa4\x11\x55\xc3\x1f\x1e\x26\x79\xc6\xe8\xcb\x9c\x9d\x1f\x5f\x4b\x40\xa3\x20\xa9\xfd\x9f\x47\xda\x9b\x94\x21\x1b\xa6\x01\xb2\x2a\x11\x52\x10\xd9\xf5\x59\xc4\x49\x6f\x01\x73\x24\x58\xf4\x9a\xc3\x4e\xb3\x86\x63\x6c\x8b\x6c\x68\xc7\xbb\xc0\x07\x8a\xb6\xf3\x98\xa6\x24\xb8\xba\xfb\x1c\x62\x29\x58\x56\x2d\x23\x1d\xff\xd4\xdb\x09\x61\x96\xbb\x87\x47\x9e\x42\xea\x22\xac\xbd\xcd\xe8\xde\xb1\x0e\x31\x16\x32\xf0\x2f\xca\x14\x78\x7f\xd3\x14\x05\x69\xb9\x42\x89\x91\x54\x3e\xc6\xe8\x34\xe1\x0b\x14\x9f\x23\xc7\x4b\xb9\x9a\xc7\xb3\x79\x9a\x20\x96\xd2\x2e\x38\x7a\x71\x2b\x6f\x90\x11\xea\x34\xc5\xbe\x4c\x46\x85\x81\xac\x62\xce\x66\x20\x63\x25\x2e\x06\x6a\x9a\x3b\x15\xc9\x57\x0d\x06\x5d\xc1\x61\x99\x29\xf0\x6b\xc7\x5a\x31\x79\x46\x8b\xc8\xa1\x6e\x3d\xdc\x4f\xe1\x85\xce\xba\x0a\x92\xa5\x46\xb8\x67\x5f\xc1\xad\xe5\x63\x07\x15\x0c\x7e\x4c\x84\x4f\x6a\xa5\xf1\xed\xbf\xb5\x4a\xc6\x32\xca\x2b\x25\x9c\x32\xa3\x3e\xe2\x86\x78\x56\xc3\x39\x0a\x67\x40\x36\x4c\xb0\xdf\xb9\x76\xe5\x3d\x0c\xc6\xc4\x2a\x10\x6a\x1c\x26\x91\x8c\x8a\x6a\x03\x3b\x2a\xa3\xc7\xf2\xe4\x39\x2e\x79\xf8\xec\xa5\xb3\x36\xba\xc5\x06\x1d\x76\x98\xa3\xbf\xe7\xc2\xc2\x92\x89\x25\x54\x03\x0d\xe6\xce\x7c\x0d\x06\xee\xfc\x54\x90\x6f\x81\xe0\x09\x7f\xcf\xf2\x7d\x14\xb9\xb7\x99\x4a\x79\x70\xe1\xa5\xf5\xc6\xb6\x40\x5d\xca\x22\x03\x3d\xff\x0e\xae\x13\x8a\xd8\x99\xf6\xee\x68\x12\x0b\x8f\x22\x74\x4b\x02\x69\xa9\xa8\x98\x9b\x6f\x7e\x08\xaf\xfa\xe7\x7b\xca\x21\x68\xad\xe2\x40\x58\xae\x68\xa7\xf8\x00\xe0\x2e\x7c\x38\x39\x1b\xaf\x56\x5d\xd4\x0b\x55\xfa\x3a\xb3\xc2\x47\xb9\xce\xb4\xd9\x67\x47\x17\x75\xe6\x63\xd6\xa1\xc6\xc7\xe1\x73\x50\xbb\xd6\xb9\xa3\xeb\x1e\x48\x4a\xc2\xe7\xa7\xa5\xc8\x4f\x50\x83\xe5\xac\xe8\x73\x0d\xe8\x9c\x47\xe8\xdc\xf8\x34\x1e\x40\xba\x34\x5d\xbd\x66\xba\xe0\xf7\xf0\x76\xa7\x05\xb1\xbb\x7f\x47\x0e\x3e\xdf\xb2\xb7\x8e\x4d\x63\x59\x41\x3d\x18\xd3\x32\x80\xb4\x54\xa0\xdb\xb8\x81\xd8\x60\x67\x26\xfa\x9b\xea\x27\x24\x75\xe7\x9f\xea\x6a\x54\xcb\x4c\x06\x19\x54\x1b\x4e\x77\xc1\x70\xc8\x61\x68\x74\xb9\x54\xbe\xb8\xd1\x05\xb8\x6b\xd1\x91\x7e\x25\xcf\xba\x92\x67\x18\x7e\xe2\x03\x8b\x3f\x00\x78\xf4\xc3\x18\xb5\x87\xcf\x44"}, -{{0xe6,0x08,0xd5,0xde,0x97,0x97,0x90,0x7d,0xb6,0xd9,0x8e,0x03,0x45,0xd5,0xca,0xf2,0xad,0x33,0xe0,0xed,0xde,0xbf,0x18,0xb8,0x1d,0x61,0xe8,0x37,0x3e,0xcf,0xb4,0x99,},{0x60,0xe0,0xc1,0x6a,0xda,0x58,0x6e,0x36,0x46,0x91,0x2a,0x5f,0x2b,0xb3,0x18,0xfb,0xc3,0xd5,0x0b,0x57,0xd3,0x6f,0xab,0xb6,0x37,0x69,0x6f,0x9d,0x8d,0x4d,0xc7,0x61,},{0x0d,0x8f,0x09,0x5e,0x42,0xa2,0x73,0x0a,0x3c,0x7b,0xed,0xf4,0x2d,0x5c,0x83,0x39,0x8b,0x5c,0x0e,0xe9,0xc7,0x7c,0x5a,0x61,0xd9,0x82,0x29,0x13,0x96,0xa9,0x18,0x2a,0x08,0x02,0xa3,0x7f,0x32,0x4b,0xc4,0xfb,0x5d,0x4a,0xa4,0xed,0x60,0x44,0x4b,0x66,0x14,0x4b,0xac,0xbc,0x86,0x51,0x05,0xd7,0x69,0x0f,0x14,0x06,0x50,0x69,0x1d,0x03,},"\xe6\x10\xfa\x7d\x83\x85\xc0\x9c\x78\x98\x9e\xd5\xef\x7a\x23\x05\x47\xf0\x13\xcb\x7e\x8d\xdf\x31\x74\x9f\xfc\x31\xce\xe1\x0a\xb3\xef\xac\xa3\xf1\x4e\xa1\x94\x51\x0f\x09\x85\xa8\x18\xef\x8b\x04\x0e\x10\xc3\xa5\x11\x4d\xe1\xac\x08\x0f\x14\xc3\xd6\x5d\x3c\x24\x4f\x92\x42\xf7\x54\x92\xca\xba\xe8\x00\xfc\xfc\x9b\xc2\x75\xea\x1f\x27\x72\x8c\x92\x0c\x25\x8f\xe7\xaa\x73\x94\x80\x60\x29\x9c\xb8\x78\x35\x79\x2e\xdc\xc0\x72\x15\x0b\x73\xce\xfe\xb0\xd5\x15\x62\xe5\x3b\x46\x81\x0e\x27\xa4\xd7\xf6\xab\xd3\x2e\x95\x9f\x7d\x73\x1d\xde\x01\xd9\x4b\xc4\x1e\xd8\x35\xef\xcd\x42\xc9\x22\x43\x70\x37\xa8\x7d\xd3\x66\xff\xad\x2e\xec\xab\x6a\xba\xeb\x4f\xcf\x07\x39\x2b\x3a\xb4\x0c\xfa\xef\xea\xa4\x26\x6b\xc5\x37\x67\x16\x93\xc9\x09\x3d\xab\xe8\xa0\x53\x8c\xaf\xd1\x2c\x63\x9a\x04\xbd\x2b\xa8\x0c\xe0\xf2\x9a\xdb\xfc\x66\xbd\x46\x37\xca\x05\x43\xa5\x3b\x0e\x37\x1d\x0e\x2e\x47\x0d\x31\xba\x36\x06\x42\xa4\x5a\xb4\xcf\xe3\xe7\x90\xf5\x87\xf6\xc5\xa5\x58\x3f\xd1\x5b\x18\x99\x78\x38\xa2\x00\x92\x1c\x1c\x39\x9c\x0b\x16\x27\x8b\x7d\xd6\xd3\xaa\xab\x6f\x32\x5b\x16\xaf\xdf\x76\x1a\x1b\xbf\x86\x7d\xe2\xbd\xd4\x86\x15\xf1\x5b\x52\x67\x70\xed\x20\xd7\x9f\x0f\x30\x71\x4b\xee\xed\xa5\x8f\x52\xa3\xcc\x0c\x5a\x61\x83\x15\xe5\x22\xb9\xeb\xe7\xcd\x99\xb6\x5e\xd5\x32\xa6\x2e\x0f\x0d\xf7\x27\x64\xd6\xec\x6d\x6d\x1b\xa4\x0e\xf4\x0e\x05\x42\x63\x60\x79\x5d\x6d\xd8\x5b\xb3\x9f\x73\x21\xd3\xfb\x06\x27\x5d\xe0\x96\xaa\xe4\xa2\xfa\x22\x93\xf3\x1b\x33\xf4\xad\x4d\x7c\x25\x1a\xc1\x3e\x8e\x15\xc2\xbf\xb1\xf9\x8f\x49\x62\xc5\x4b\x6c\xe0\x33\xb0\x8a\xa6\x26\xf2\x90\x5d\x46\x3f\x55\xb7\x1c\xbd\xad\xec\xdb\x3e\x0b\x36\x5d\xae\x07\xb1\x70\x30\x19\x83\xae\xb8\x3b\x1e\x9f\x2f\x28\xcf\x65\x41\x9f\xd6\xb0\xa1\xa9\xc2\x6c\xb5\x4b\x59\x49\xf4\xbc\x01\xa9\x86\x81\x84\x4b\x43\x03\x4c\x37\x2a\x45\x3d\x38\xf0\x47\x3d\x0d\xdc\x70\x9d\x9f\x49\xc8\x75\x3a\x75\xb8\x56\xc7\xe9\x77\x55\x17\xdf\x57\x4a\x09\xa3\x95\x3b\xde\x5d\xae\xdf\x8e\x4a\x8d\xa9\xd7\x73\xa2\x15\x12\x0e\x26\x9f\xa1\x86\x11\x33\xcd\x4c\xea\xeb\x91\xd5\xcc\xa2\x60\x63\x25\x45\x8e\x50\xcb\x96\x6d\x14\x05\x5b\x22\x44\x7e\xb6\x5d\xc1\x01\x18\xda\x08\x31\xdf\x28\xc3\xb4\xee\x8b\x11\xf0\x73\x2f\x15\x21\xbb\x94\x82\xb1\x1f\x5a\x86\xb2\x2f\x18\xe8\x3d\xd1\xd9\x67\xd3\x94\x42\x85\xe5\xd6\x3a\x5a\x98\x98\x17\xab\x24\x18\xbc\x7e\xd8\x91\xa3\x73\x84\x67\x47\xa1\x2b\x52\x7c\x2f\x44\xee\x01\x97\xb9\x46\xc6\x7e\x67\xfa\x4a\xa1\xc2\x9f\x33\x79\xd4\x6f\xe0\x7d\x3a\xab\x83\xda\x17\xf9\xd7\x6b\xed\xd3\x84\x36\xa0\x55\xe3\x4c\xa1\xd3\xaf\x5a\x87\x54\xd3\x8c\x17\xb9\xba\x4e\x64\x19\xcb\xab\x51\x5f\x43\x1a\x25\x95\x95\x4e\x42\x8c\x26\x70\xfa\xe3\xbe\xd6\x2b\x45\x96\x17\x9c\xb5\x9e\x21\x10\x87\x08\xd0\x71\xbc\xf9\xc6\x21\xc6\xdf\xf0\x3d\x3c\xdc\x92\x02\x02\x94\x54\x01\x3b\x9d\x13\x38\x47\xf2\x65\x44\x81\x1c\x01\x69\x77\x0f\xdc\x6f\xe5\x63\x8b\xfd\x7a\x72\x0d\x8b\x38\xf7\xe3\x0a\x7e\x68\x79\x06\x0b\x5f\x28\xc8\xab\x17\xb0\x02\x00\x71\x32\x07\xe8\x63\x7b\xff\x48\x44\xd8\x42\xd9\xca\x78\x83\x91\x34\x01\x98\xa3\xfe\x01\x72\xdf\xa7\x4d\xe1\xe5\x5a\xde\xfb\xc2\xe9\xbc\x7e\x88\x54\x76\xd1\xb9\xc0\x55\x81\x34\x08\xa4\x75\x28\x43\x43\x55\xbf\x03\xfd\xd4\xe2\x7d\x8b\x34\x61\xb0\xfb\x66\xab\x3e\x15\xa8\x79\xa1\x84\x45\x7e\x9e\xd9\xea\x6c\x51\xb6\x63\xb3\x1e\xdc\x8c\x4a\x3c\xd4\x54\xf6\x9d\x9c\xe5\x18\xd1\xb8\x78\x88\xee\x3d\x9d\xd5\x41\x6e\x43\xe1\x14\xac\x05\x72\x13\x52\xdf\xfc\x2c\xa8\x85\x97\x37\x7b\xbc\x41\x40\x09\xb0\xc2\xfd\x36\x9b\xe5\xba\x35\xa6\xdc\xe3\x47\x8b\x6c\x11\xb3\x3c\x0a\x33\x91\x8b\x6e\xe5\xac\x4c\xd4\xc2\xf1\xca\x6b\xd1\x90\xa0\x00\xa8\x38\xda\x38\xf5\x30\x77\x56\x03\x35\x59\x6d\x13\x58\x93\x77\x93\x96\x38\x10\xa7\x9a\x21\xb8\xd4\x61\x40\xe7\x68\x89\x8d\xcd\xa8\x8a\x0f\xaf\x8d\xdd\x0d\x63\x38\x47\xaa\xea\x0e\x03\x0b\xe6\x45\x5b\x41\xe3\xed\xe1\xe2\x87\x37\x30\xeb\x84\x81\xac\xaa\x7a\x51\x9c\xf9\x19\x58\x47\xa8\x6a\xfa\x57\xf9\x07\x1d\x44\xf4\xaf\x4c\xa0\xd3\x43\xc9\x0c\x0d\x22\xd9\x46\x14\x65\x85\xf0\x0e\xf3\xae\xf5\x7f\x0f\x9e\x55\xe8\x18\xc0\x12\x8a\xe2\x55\xdb\xc3\x11\x6c\xf0\xfe\x02\x16\x6d\x54\x85\x9d\xec\xbf\xdc\xcc"}, -{{0x0e,0x86,0x87,0x2c,0x78,0x62,0x0f,0x10,0xcb,0x6d,0xfc,0x46,0x3d,0x2c,0x28,0x72,0xc4,0xda,0x66,0x07,0x48,0xc9,0xcd,0xa0,0x1a,0xb1,0x45,0x69,0x58,0xaf,0xba,0x7f,},{0xde,0x49,0x89,0x98,0x92,0x69,0xca,0xbd,0x8f,0x4f,0x40,0x9c,0xf1,0xa4,0xd9,0x74,0x03,0x8b,0x27,0x55,0x02,0x27,0x35,0x57,0xf3,0x12,0xd5,0x55,0x3f,0xab,0x93,0xc3,},{0x20,0x37,0xe9,0x77,0x41,0xc3,0xe6,0x40,0x9c,0x66,0xfc,0x67,0x82,0xaa,0xb3,0x89,0xc5,0xd7,0x78,0x09,0x7a,0xc7,0x78,0x99,0x9e,0x85,0x76,0xe4,0x9e,0xf4,0xf6,0xa0,0xc7,0x73,0x0b,0xd9,0xe0,0x93,0xdd,0x3c,0x0a,0xe7,0xec,0x76,0x20,0x33,0x80,0xda,0x65,0x71,0x47,0xd3,0x3a,0x8d,0x9d,0xd6,0x5e,0xd0,0x0c,0xf7,0x62,0x24,0xd6,0x01,},"\xa9\x00\xf3\xe9\xc6\x43\xa5\x64\x9b\x07\x6f\xb6\x9c\x3b\x2a\xc0\x84\xd5\x2c\xcb\xaf\xcd\xca\x5a\x9d\xb1\xda\xa7\x05\x00\xde\x99\x33\xd2\x3d\x15\x3f\x74\x95\x4e\x1b\xd5\xf5\x7b\x89\x9f\xe8\xa4\xb1\x34\xc1\x95\x41\x2b\x49\x83\x3b\x6e\x50\x95\xa6\x55\x4e\xaa\x6d\x84\x4b\x11\xf1\x58\x4c\x85\x05\x5b\x87\xf4\x1c\x99\x96\x69\x04\x6c\x71\xae\xb5\xc0\x45\x3f\xd6\xa3\xc4\x37\xf8\x15\xf0\x68\x98\x7c\x38\x68\xcc\x07\xaa\x2a\xf6\x58\x19\x04\x6c\x30\x7b\xaf\xb7\x53\x0d\xe8\x4f\x71\x30\xae\xa7\x8e\xf0\x05\xd5\xff\xf5\x2f\x8d\xea\xf1\xd5\xe9\xc3\x26\xd3\x21\x7f\xc5\x5b\x94\xf6\x28\xaa\x10\x4f\x6a\x24\xa3\x95\xe6\x2d\x1b\x62\xbd\x9c\x0d\x82\x43\x63\x19\xc5\xd7\x3e\x57\x65\x43\x5f\x3b\xa8\x56\xa4\x73\x4f\xd6\x0a\xe6\x17\xf7\xf0\xc3\xba\x57\x22\xa7\x33\x66\xc8\x8a\x6d\xfe\xca\x85\xc4\x44\x63\x9f\x44\x1f\x2c\x55\xfd\xc4\x64\xec\xb2\x99\xee\xe3\x6d\x8e\xae\x06\x3b\xb9\x4b\xb2\x43\x9d\xa0\x4f\xa5\xeb\xc5\x09\x23\x38\xa5\x03\x5e\x48\x0f\x08\x34\xae\xee\x8d\x71\x1f\x28\xc4\x6d\xc9\x60\xde\x1b\xe9\xdf\x30\x7c\x18\xc5\xc1\x78\xb2\x62\x96\xdc\x56\x7f\x15\xbf\x60\x86\x3a\x36\x71\x08\x67\xe9\x2f\xd5\x10\x48\x86\x56\x74\xc2\xaf\x0c\x53\xb2\xe7\xa2\x48\xae\x5b\xd0\x9a\x49\xaa\x03\x06\x18\x49\x5f\x82\x48\x0c\x42\x0a\xe1\x06\x88\x9b\xec\x00\x62\x78\xb9\x22\x72\x07\x57\x09\xfe\xc9\x54\x87\xcf\xb1\x00\x61\xe6\x72\x2b\x93\xee\xbf\xc0\xbc\x58\x7b\xf7\xba\x5f\x66\x92\xb0\x74\xf5\x5a\x98\xd5\xc3\x02\x76\x0b\x1b\xf1\xd0\x9f\x7e\x86\x68\x47\x9c\xa6\xf0\x1e\xed\xa2\xfd\xaf\x58\x4a\xc2\x05\x8f\xbf\x7c\xf3\x10\x0d\x06\xb8\x09\x1b\xfe\xab\x51\xc0\xc0\xb1\xd4\xee\x3a\x82\x57\xf6\x9b\x16\x17\x60\x4f\xce\x95\x3b\xb5\xf7\xf2\x71\xc6\xa1\x88\x0e\xa1\xb3\xf6\x62\x67\xe2\x43\x9f\x34\x58\x06\x28\x91\x78\x77\xc6\x6e\xc0\xfe\xd7\x6e\x44\xe8\xbb\x2b\x91\xa8\x80\x6d\xf4\xba\xca\x6c\xc9\x28\x89\xb8\x80\x50\x70\xc9\xa6\x17\xf8\x07\x15\x75\x30\x75\x1c\xc1\x7c\x47\xb0\x9e\xeb\xa9\x4d\x22\xb4\xe5\x47\xc3\x70\xce\x7a\x49\x6f\xca\xa3\x41\x2a\xff\xff\xb8\xc9\xb4\xde\x89\xb9\xf1\x21\xaa\xec\x5f\x54\x4b\x0c\x72\x5e\xc5\xee\x9d\x4b\x34\x76\xad\xc9\xd0\x50\xed\xb0\xfd\xba\xf0\x2c\xa9\xe3\x8a\xf1\x5f\x51\x50\x15\xa2\x67\x29\x2e\xc9\xaa\x54\x44\xed\x1d\xec\xd9\xcd\x9e\x1e\xad\x64\x87\xa0\xcc\xef\x99\x5b\x1c\x60\x0a\x03\x69\x35\x83\x86\x60\xac\xab\x27\x6d\x8b\x0e\x5b\x07\xd9\xf3\x63\x53\x21\x4b\xf8\x0f\x94\x1a\xc8\x8c\xf4\x0a\x08\xaf\x91\x79\x26\x23\x41\x12\xec\xcd\xaa\x16\x2d\xc9\x9d\xe3\xe2\x5b\xaf\xf6\x5b\xb0\x1e\x49\x89\x89\x86\x33\x2b\xdc\x2d\x70\x5d\x5a\xea\x40\xf9\xbc\x4f\xbb\x28\x06\x89\x44\x96\x03\x8d\xa2\x36\xe9\xdc\x29\x60\x0c\x9c\xed\xea\xc3\xb6\x16\xcc\x56\xd8\x9e\xc2\xfa\x67\x38\x96\x66\xc6\xc4\xfe\x23\x3b\x63\x91\x05\x02\x3e\x10\x1b\x87\x4a\x63\x30\xfe\x57\x3f\x80\xac\xe5\x5d\x03\x7c\xc6\x12\xe6\xdf\xd5\xa6\xe6\x86\xf9\xa8\x30\x54\xfc\x46\xe1\x5b\xb6\xda\x45\x3d\x81\x0c\xf1\x38\xa1\x78\xbf\x03\x9d\x1e\x18\x16\x14\xff\x40\xcb\xe6\xbb\x3b\x47\x36\x63\x75\x2e\xa8\x02\x5f\xf7\xf7\x39\xee\x4b\x67\x11\x0f\x96\x80\x89\xb2\x47\x3c\xd0\x44\xd4\x8b\x00\x9d\x06\x77\xf7\x91\xf5\x4e\x2d\xf6\xaf\xdc\x3a\xcb\x9e\x99\xdd\x69\x58\xa4\x50\xc0\xe1\xb6\xdd\x5e\x97\xa2\xcc\x46\x29\x8b\x4f\x48\xac\x6a\xda\xf0\x13\xd7\x5b\x2c\x42\x07\x2d\x2e\xe1\x3f\x73\x36\x87\xee\x83\xc3\xf7\x0c\x4f\xdd\x97\x20\xfd\x17\x98\xc6\x62\xfe\xf3\xba\x01\x2b\xed\xd4\x45\xc4\x72\x9f\x21\x30\x48\x4f\xe7\x7a\xc1\xb4\xc4\xdd\xeb\x81\xfa\xf6\x0f\x76\xe3\xbd\x7d\x21\xa9\xa6\xc5\x7a\x69\xa9\xcd\x9c\xc2\x03\xfc\x63\xb5\x9e\xe8\x4b\x89\x15\xb3\xc1\x8a\x59\x54\xe2\x27\xc8\x6e\xbb\xb7\xd4\xc4\xc1\xa0\x8d\x0c\x5e\x46\x7c\x68\xa0\x69\x70\x75\x1e\xf5\x84\xbd\xd6\x11\xe1\xdd\x1b\x48\x90\x0a\xb3\x54\xb9\x9c\xec\x6e\x1d\xf3\xbd\x41\x46\xea\x07\x55\x35\x0d\xc1\x1c\x3a\x3f\x60\x0d\x47\x0a\x74\xf4\x75\xe4\xfe\xed\xaf\x08\x65\x27\x6f\xa8\xa9\x77\x13\x47\x1d\x0c\xa9\x95\x5c\x71\x35\x88\x33\x9d\xee\x79\x65\x6e\x56\x7e\x6a\xb1\xdb\xf9\x83\x07\x03\x81\x7a\xe6\x20\x92\x9a\x06\x84\xa5\xca\xf2\x0f\xef\x81\xa8\xee\x89\x7b\xe7\xe5\x05\xad\xe6\x49\x6b\x9a\xef\x02\x72\xbd\x8f\x35\x08\x60\x23\x3b\x33\x8c\x2e\x36\xd3\x13\x8d\xb6\x95\x38"}, -{{0x52,0x03,0x54,0xd8,0x5a,0x87,0xd7,0xc2,0x2c,0xa6,0xf7,0x84,0x71,0x44,0x10,0xec,0x98,0xbf,0x6a,0x65,0xf8,0x03,0xef,0x93,0x79,0xbd,0xc8,0x04,0x35,0x9b,0x23,0x49,},{0xd8,0x51,0x1c,0xea,0xc2,0xfd,0x66,0x1a,0xcb,0xff,0xb0,0x1b,0xa2,0x74,0x1c,0xad,0x88,0x99,0x34,0xde,0x63,0x92,0x96,0x1b,0xde,0xc6,0xfa,0x46,0x12,0x3b,0x7f,0x0f,},{0x75,0x4e,0x60,0xd3,0xf6,0xf4,0xab,0x4f,0x5d,0x0d,0xdb,0xb0,0x01,0x53,0x20,0x09,0x16,0x63,0x88,0x48,0x7f,0x78,0x0b,0x76,0xf6,0x0b,0xd0,0xbc,0x9f,0xef,0xab,0xfa,0xab,0x6b,0xe2,0xae,0x78,0x69,0x57,0x3a,0x64,0x79,0x6e,0xf2,0x84,0x6e,0x85,0xe5,0xcd,0xae,0x52,0xdb,0x10,0x44,0xfe,0xfa,0x79,0x6b,0xac,0xf4,0x8b,0x96,0x8b,0x0d,},"\xa1\xd4\xad\x48\x6e\xbb\x7c\x1a\x0a\xcb\x8f\x11\x70\x13\xe8\xe4\x74\x67\x89\xc6\x24\x4a\x56\xc9\xed\xfb\xf1\xef\x37\xac\x13\x09\xaa\xf5\x1c\x93\x75\xfc\x12\xca\xcd\x68\x97\xa4\x47\x95\x45\xf2\xbf\x39\x0a\xb7\xc0\xc0\xe5\xc5\x92\xf5\x50\x6e\x99\x38\x37\x8a\x11\xb6\x36\xbf\x85\x70\x29\xb9\x68\x54\x7a\xa5\x06\xc4\xa0\x82\x9a\x15\xfd\x39\x95\xfe\xad\x4f\x86\x0f\xd7\xc6\x23\xc6\x3e\x86\x95\x43\x6e\xae\x55\x81\x64\x14\x77\x83\x47\x09\x2f\x5f\x4d\x42\x2b\xb1\xb5\xe5\xa0\x69\x66\x24\x1e\xfe\xc1\x4f\x1e\x4f\xca\x06\x63\x91\x14\x71\x8c\x30\xeb\xca\xdd\x4c\x6d\x8a\xbe\x7f\xe9\x3b\x25\xd1\x71\x73\x53\x39\x54\x18\x8b\x1a\xb0\x3f\xcb\x77\x92\xcb\x63\x5c\xe3\x6e\x9b\xdb\xdd\xe7\xa5\x61\xc5\xf6\x69\x20\xd9\x10\xcb\x26\x9c\x8c\x1c\x3f\x59\x32\x65\x09\x00\x72\xc4\x89\x32\xe6\x92\xa9\xc7\x38\xc7\x04\x89\x74\x89\xa7\x15\xc2\xb3\x94\xd5\xa8\x6f\x70\x36\xa4\xca\xc5\xdc\xb5\xb8\x5c\xfa\x16\x21\x56\xe0\xbc\x6b\xfe\x02\xfb\x4c\x38\x60\x8c\xfb\x23\xc9\x2b\x8b\x6a\x3c\xb4\x6e\x48\x7d\x60\xe0\xdc\x97\xaa\x2e\x33\xe3\xda\xda\x92\x5e\x4e\x66\x12\xcc\x5a\xf1\x25\xe5\xac\xa4\x58\x17\xa2\xfd\x6c\x3f\xf1\x0b\x18\x93\x8b\x44\xbd\x4d\xd2\x0d\x7f\xcc\xf7\xf2\x6b\x40\xa6\x6f\x48\xaa\xff\xc9\xa5\x41\xe6\xd3\x71\x38\xfc\x55\x46\x98\x68\xe2\xd1\x03\x65\xef\xf3\x7f\xac\x36\x0f\xab\x3d\xc5\x54\x37\xac\x2d\x8f\xea\x74\x74\x40\x5f\xb3\x63\x0f\x79\x63\xd2\xd4\x59\x58\xf9\x09\xd1\x48\x30\x28\x6f\xf1\x52\xaa\x75\x2f\x51\x0c\xe9\x80\xbd\x57\x54\xe3\xfa\x32\xc6\x99\x24\xdd\x95\xd5\xc1\x52\xa7\x37\xa8\xfa\xdc\xfd\x0a\x45\x60\xe0\xb1\x14\xf8\xe8\xaa\xa6\x18\xd4\x38\xb9\x87\x71\x11\xda\x17\x40\xef\x81\x7c\x44\x19\x39\xec\xec\x79\x9b\xa1\x6b\x1b\x17\x1c\xa9\xb6\x49\xb7\xd7\x8f\xa0\x52\xd1\x49\x7a\x50\x76\x88\xbe\xde\x49\x00\xab\xc5\x3a\x96\x48\xda\x59\x17\x03\x5c\xef\xfe\x0d\xa2\x1c\x25\xc0\x9b\x06\xd6\x18\x5b\xdd\xa2\xd7\x78\xf7\xed\xe6\x15\x3e\x3e\xaf\xf4\x95\xc9\x79\x6d\x4d\x16\x6d\x2d\x2e\xa4\x18\xe4\xa4\xaa\x6e\x67\x8f\xaf\x06\x96\xe7\x52\xa0\x9e\x02\xea\xad\xe7\x63\x07\x0e\x08\x8e\x99\x64\x91\x9f\xf4\xaa\x4c\x82\xf8\x62\x9a\x3d\x5c\x79\x7c\x2a\x64\x59\x4d\x20\x68\x35\xda\x0b\xfa\x43\xcc\xd9\xdd\xfc\xdb\x6a\xac\x4d\x48\x6e\x03\xc8\x41\x22\x37\x59\x39\xa5\x27\x0b\xc1\x51\x9e\x07\x07\xe5\x1c\x3f\x46\xf1\xe5\xc5\x66\xb3\x3a\x24\x5f\xa0\xc2\x02\x83\x84\x72\x36\x3d\xe9\xf0\xed\xde\x2e\x79\x1d\x82\x29\x30\x95\xf7\x50\xbf\xf5\x45\xe6\xc3\x47\x39\xdc\xc5\x4d\xb0\xa3\x6a\xe2\xe2\xaa\x39\xb0\x7c\xb4\xf6\xa9\x64\x62\x40\xd2\xd3\x14\x88\xf6\x78\x15\xb2\x95\x45\xd2\x20\xbe\x92\x9e\x33\x39\xf8\x28\x1a\x93\x7e\x05\xa8\xc5\xc3\x88\x7e\x06\x04\x8e\xa7\xb1\x8a\x48\xf8\xd9\x1b\x1e\x3a\xf5\xca\xb5\xce\xda\x0e\xbd\x71\xbf\x54\xed\xec\x20\x3d\x37\x16\x5e\x4c\x9f\x9f\x80\x46\x1c\xd2\x9f\xcd\x99\xdd\xea\x43\x96\x93\x94\x1b\x5d\x53\xff\x94\x37\x9c\xf6\x42\x57\x1d\xd5\x59\xa1\x1f\x8f\x38\x3d\x94\x3f\x22\x55\xcf\x71\x58\x00\xaf\x77\x6b\x10\x45\xbf\x19\xa9\xc9\xbb\x09\x51\x55\xdf\xb6\x46\xb6\x5f\x4a\x28\x0f\x2a\x97\xef\x92\x7d\xda\xbe\x24\xa2\xf9\x71\xa8\x17\x0d\xd4\x2a\x08\x92\x76\x82\x5c\xb9\x14\x8c\x01\x5a\xae\x1e\x9d\xad\xf2\x2c\x10\xe7\x54\x8c\x59\xbf\x6b\x86\x8b\x20\xe8\x6c\x83\xa9\xe7\x34\x3a\xec\x27\x54\xee\x62\x25\xf9\xfd\xce\xaf\x8e\x51\xc4\x0e\x95\x5b\xda\x49\xc3\x5d\xed\x38\xfa\x8b\xcc\x1e\x6c\x8f\xc9\xc2\x41\x2e\x91\x04\xc5\xc2\x36\x8b\x1f\x99\x23\xe0\x10\xfa\x2e\xde\x91\x1d\x42\xb1\x39\xf4\x00\x7e\x34\x26\x92\x2f\xfb\x61\x58\xec\xa9\x7b\x47\xcf\xc9\x97\x85\x35\x12\xbb\x9d\x4c\xa2\xf0\x17\xc2\xc2\x63\xdc\x19\x9f\x3b\xf1\xeb\x4f\x15\x08\xef\x82\x8b\x0e\x00\xdb\x21\x00\x27\x36\xa7\xf2\x2e\xc9\x12\x98\x19\x45\x83\x13\x9a\xd7\x5f\x58\xe2\x1b\x51\x8d\xaa\x49\xa4\x07\x6c\x63\x75\xfa\xa6\x08\x91\xa6\x9e\x52\xa6\x56\x69\x9d\x80\x34\xa7\xab\x7f\xcb\xe4\x21\x75\x49\x14\x41\xfe\x61\xb1\x78\x3e\x83\x78\x57\x52\x22\x15\xa5\xfa\xc5\x59\x0b\xed\x2e\x9d\x20\x66\x06\x09\x6d\x3b\xe8\xee\x92\x87\x3b\xfc\x30\xca\xb1\x5c\xe9\xf9\x91\x0d\x01\xa1\x17\xf8\x99\x26\xcc\x3a\xfa\x8d\x10\x4f\x79\x9f\xf3\x80\x98\xde\x28\xb8\xff\x0f\x03\x87\x25\xc2\x90\x3b\x24\xc1\x42\x9c\xea\x49\x25\x24\x9d\x87\x81"}, -{{0x06,0x1b,0xcf,0x1a,0xa6,0xfd,0x98,0x98,0x97,0xb3,0x22,0xe5,0x91,0xcc,0xef,0x54,0x54,0xef,0x4a,0x5a,0xdb,0x1a,0x48,0x00,0xf3,0x26,0x11,0xcf,0xf2,0xb5,0xbc,0x78,},{0x73,0xc8,0x0b,0x73,0x4b,0xfc,0x94,0x17,0xd5,0x76,0x89,0x0c,0x20,0x16,0x6d,0xa5,0xc7,0xfa,0xbd,0x61,0x3f,0x75,0x47,0x4f,0x76,0x49,0x73,0x2e,0x00,0x29,0x5b,0xe2,},{0x5a,0xda,0xa9,0x43,0x30,0xa0,0x35,0x37,0x12,0xa3,0x4d,0xbe,0x97,0x3b,0x75,0x18,0xf9,0xa2,0xc7,0x13,0xf8,0xaa,0xd1,0x00,0x25,0x1b,0x08,0x6a,0xe8,0xde,0x26,0xf6,0xd2,0xb6,0xcc,0xf0,0x52,0x8c,0xc5,0xde,0xdc,0xa3,0x18,0xdf,0x19,0xcc,0x7e,0x45,0xde,0xae,0x28,0x1e,0x13,0x24,0xb9,0x6e,0x32,0xfe,0xf4,0x5a,0xaf,0x60,0xb1,0x0c,},"\xd6\x3b\xb9\x20\x8c\x1f\x4c\x7d\x43\x32\x6c\xf3\x5f\xa5\xd8\x39\x33\x15\x18\x04\xab\x89\x1d\x49\xb0\xbd\xaf\x42\x9e\x4c\x39\xa3\x21\x42\x8e\x0d\x90\xaa\x00\x31\x8b\x97\xe0\x8c\x70\x24\xc9\x12\xcf\x38\x88\x79\xf3\xcf\x97\x4b\xb2\x53\xa1\xe7\xa4\xc8\xee\xc1\x93\xbf\x4c\x14\xaf\x6f\xb9\x79\x4d\xf0\xd4\x97\x85\x0e\xdb\x04\xd5\x74\xc9\x7e\xd7\x6c\x70\x21\x39\x96\x84\x01\xb4\x0e\xb5\x43\x94\xef\x4c\xfa\xa7\xe5\xd3\xcd\x94\x3a\xf1\x21\x92\x53\x8d\xde\xe5\x93\xc2\xa2\x4a\x26\x7a\xfa\x13\x71\xfd\x77\xfe\xee\x20\x71\xf4\x36\x9f\xbe\xf8\x79\x76\xe7\xeb\xd8\x1d\x1e\x5b\x31\xd6\xe0\x9e\x02\xd8\x30\x35\x7d\x36\xbf\xf8\x59\x67\x03\xe4\x14\x6d\x08\x27\xbe\xc9\xc0\xf8\x7b\x26\xf3\x11\x95\xc9\x6c\x93\xb6\xd8\xc4\x67\x67\xec\x1b\xc6\xde\x39\xf0\x00\x8a\x41\xff\x87\x5d\xa0\x50\xa3\xf8\x65\xab\x92\xcb\xf2\x9c\x38\xa2\x80\xf3\xbf\x69\xf6\x8e\x92\xb5\xf4\x30\xcd\xee\x35\x01\x98\x1d\x0b\x3d\x18\x90\x96\xe0\xae\xac\xd6\x4c\x33\x10\x24\x21\x34\x88\x12\x15\x8b\xb6\x1e\x51\xae\x93\x65\x92\xb2\xf8\xf1\xb9\x10\x94\x9e\xf3\x72\x32\x58\xa9\xb4\x4e\x4e\x1b\xda\xdf\x1a\xe2\xcf\xc1\x8e\x37\xd2\xed\x0d\xd1\x73\x44\x04\xb8\xba\xa5\xf3\x93\xcd\x56\x06\x9e\xce\xbf\x7e\xdd\x7c\x06\xcf\x6c\x8a\xa3\xe8\xe1\x2f\xbf\x94\x6d\x7b\x32\xd8\x45\x3b\x6f\xbb\x65\x35\x52\x6c\x8f\xb8\xfc\x1d\x58\x15\x56\x0b\xb3\x1b\x99\x5d\xf2\xad\xbd\x83\x6a\xdd\x92\x9a\x56\xfd\xd9\x3a\x17\x47\xd9\x3a\x40\xc0\x5e\x12\x9e\xb6\xf8\x58\x3c\x29\x21\xcc\x9d\xbd\xda\x42\x25\xe1\x76\xdb\x38\x6a\x02\xec\x40\xaf\x10\x32\xc9\xb6\x2e\x95\x14\x70\x25\xf4\xac\x8d\xd5\x84\x33\xb6\x4a\xc0\x73\x15\x0c\x69\xb9\xc4\x15\x4d\xcb\xb0\x03\x44\xf3\x08\x11\x3c\xd9\x19\x9c\xcf\xb5\x07\x58\x01\xc7\x05\xb8\xfc\x43\xb7\xc8\xbc\x16\x73\x65\xe4\x62\x93\xd0\x6c\x4f\x48\x35\xc6\x4e\xe5\xd5\x38\x3f\x68\x90\xca\x35\xa8\x0a\xf9\x17\x74\x81\x62\xdf\x25\x18\xab\x14\x68\xf1\x53\x62\x98\x99\x40\x6c\xde\x66\xce\x07\xfa\x7d\x29\x93\xda\xbe\x0c\x60\x08\x9c\x91\x89\x24\x88\xf3\xbc\xaa\xec\x40\x8a\x0c\xd0\x8c\x9a\xa9\x8e\x09\x37\xe0\x2c\x41\xad\x52\xd2\x41\xa9\x98\x33\xe3\xb8\x3f\x7d\x3f\x1b\x07\x8c\x31\xd4\x5c\x34\xfa\x01\x75\xab\xbd\x0f\x32\x2b\x8f\xd2\xdc\x83\x49\x1d\xa2\x92\xad\x00\x76\x2e\x3e\x57\x7b\x9e\xee\x0a\xae\x08\x72\x90\x70\xac\x25\xe3\x3b\xc9\x45\x25\xbc\x0d\x2a\xb5\x97\x04\xef\xec\x5c\x01\x48\x42\x1a\x47\x92\x8d\x34\xb1\xe4\x5c\xe7\x21\xee\x64\x47\xfb\x08\x2a\xc4\x00\xb3\xe6\x84\x6d\x20\x4f\x7f\x9d\xb6\xf0\xa3\x2b\x2a\x69\x73\x8b\x3e\xe9\xdd\xbb\x0d\xbd\x7e\x0f\x04\x1d\x7e\xa5\x3a\x5d\x64\x7f\xb5\x0b\x39\xae\x24\xd7\x8c\x8b\x07\xcf\xc4\xe0\x52\x71\x1f\x0d\x46\x39\xe7\x21\xd5\xc3\x6f\x31\xb5\x88\x86\x67\x12\xb7\x57\x10\x8a\x40\xcc\x7a\xbb\xb9\x91\x30\x83\x30\x3a\xae\x05\xa0\xf1\xaf\x0e\xc6\x87\x84\x41\xa2\x5c\xf8\x72\x9a\xba\x42\xa3\xa9\x4c\xe9\xb7\x38\x88\xa0\xf5\xc9\xe4\x0c\x9f\xc4\x54\x10\xf0\x68\x1f\xa7\xf9\x08\x98\x56\x2c\xcb\x4b\xbc\x55\xf0\xab\x1f\xe9\xc7\x0e\xa6\x60\x26\xdd\xa8\xd7\x09\x0f\x7b\x38\xed\xb5\xae\xc1\x55\x7b\x11\x66\x98\x7c\xd4\x1a\x70\x59\xcd\xee\x60\x9b\x74\xd8\xfe\x06\xb7\x05\x9b\x77\x24\xbf\xf5\x30\x07\xf7\xe1\x10\x46\x2f\x06\xad\x14\xd0\x7e\xe1\xb4\xd6\x9a\xc8\x23\xbc\xf5\x76\xd2\xfa\x9e\x2e\x8e\xd7\xf3\x19\x80\x40\xd4\x71\x29\x60\x63\x13\x7c\x98\x1a\xdb\xf3\x64\xcb\x20\xf0\xa1\xad\x20\x54\x47\x2f\x7c\xee\x25\x27\xf9\x98\x09\x61\x5d\x2e\x4b\x73\x4b\x06\xf3\x5d\xee\xcb\xd6\x26\x19\x66\x3d\xde\x81\xd6\xe2\x35\x28\xb0\xc9\x71\x32\xaf\x0a\x23\xba\xd6\x3d\x9c\x08\x14\x2a\x26\xe2\x74\x3f\x86\x18\xec\xfe\x72\x3b\x19\xff\xdd\x0b\x19\xab\xd9\xa3\xf4\xfe\x21\x0b\x1e\x71\xac\xdf\xe3\x8a\xbe\xbe\x23\xf7\xfd\xef\x66\x38\x1c\xbc\x75\xf3\x07\xe5\x57\x72\x35\xb0\x2e\x4c\xd9\xcf\xaa\x15\x03\x08\x68\xed\x14\x53\xda\x58\xf7\x83\xb7\x35\x2b\x04\x65\x68\x44\xc0\x42\x44\x1e\xfe\x6a\x3b\x4f\x8f\xec\x8f\x7d\xe8\x07\x44\x54\x0c\x4f\xc7\xa1\x07\xf4\xe1\xbf\xcb\xd9\x9d\xa2\x5b\x97\x46\x09\x5d\xdf\x01\x25\xd5\x6d\xa7\xe7\xf8\x60\x3f\x04\xd3\x59\xa0\x88\xb4\xc0\x44\xf9\x36\xcc\xb7\xd8\xf8\x9e\xd5\x3c\xc9\x91\xa3\x49\x7c\xa9\x52\x09\x4f\xf3\xc3\x30\x46\xf2\x60\x9d\x07\xb2\x9b\x63\x39\x81\x36\x9c\xb2\xf0\xee\xcd"}, -{{0x2e,0x19,0xcd,0x44,0x2f,0x22,0xa4,0xa9,0x9d,0xff,0xc5,0x5e,0x7b,0xf6,0x25,0xf8,0x9d,0x13,0x44,0xb5,0x63,0xf6,0x78,0x53,0x13,0xa7,0xee,0xe9,0x73,0xb4,0xaa,0x36,},{0xee,0x3d,0xa7,0x6a,0x8f,0xcf,0x40,0x3a,0x29,0x58,0xd4,0x55,0x1d,0xa0,0xa7,0x2b,0x2e,0x73,0x85,0x22,0xb2,0xe6,0xb2,0x0f,0xba,0x6a,0xa2,0x6b,0x32,0x30,0x73,0x57,},{0x28,0x32,0x6b,0x5b,0x97,0x8e,0x0d,0xbd,0xab,0x5d,0xde,0x70,0x37,0x85,0xa6,0x67,0xa7,0xef,0x43,0x9d,0x81,0xea,0x47,0xe0,0x66,0xb0,0x89,0xd1,0x16,0xc2,0x5a,0x34,0xbb,0x63,0x3f,0x26,0x0d,0x55,0xf4,0x5b,0xdf,0x6b,0xcd,0xa7,0x48,0x03,0xd7,0x62,0x4b,0x19,0x27,0xce,0xc1,0x8e,0xb1,0x99,0x22,0x60,0xbe,0xef,0xc3,0x99,0xd9,0x0e,},"\x1b\xfc\x5c\x6a\xa6\xa5\x35\x4f\xbb\x86\x14\x69\x79\x63\x48\xac\x63\x19\x12\x4d\xa3\xf1\x0d\x20\xd5\x0b\xbd\xc7\x15\x9d\x41\xb5\xab\xb1\x36\xc7\x99\x6a\x77\x37\x97\x12\x2b\x52\x5e\x8e\x2d\xca\x19\x54\xf6\x39\x17\x07\x30\x1d\x90\xf2\x10\x1b\x46\xc7\xb0\x86\xef\xa1\x58\x77\xca\xdc\xd0\x58\x12\xdb\x34\xb9\x96\xcb\x4f\x53\x1a\xbc\xd1\xe9\x8d\xb0\x8a\x5c\xf1\x36\x8e\x8f\x4b\x11\x09\x14\x2e\x95\x62\xbd\x00\x85\xff\xae\x5e\x66\x0f\x59\xc9\x30\x79\x3e\xbd\xb6\xe8\x0b\x0a\x2f\x4f\x3f\x59\xbf\x9d\x39\x5c\x48\xd2\x6e\x0a\x72\xa6\x0f\x9d\x1f\xf8\x7f\xd2\xd7\xa3\xf5\x38\x3a\xa9\x02\xad\xed\xed\xeb\xc6\xcd\x1b\xef\xd0\x38\x33\x61\x62\x74\x9d\x91\xa9\x57\xca\x2e\x3d\xd4\x70\x91\xc5\x59\x31\x13\xda\x87\xc3\xd6\x6a\x02\xc8\x0a\x6e\xdd\xb5\x35\xc4\x8c\xa1\xf3\x4a\x97\xfd\x1c\x95\xeb\xc2\xe5\x70\xfc\x8f\xaf\xe6\xe5\xd6\x54\x6d\x1f\x3a\x9b\xa8\xda\xac\x33\x4c\xf4\x7b\xf1\x17\xe1\x28\x0d\x0e\xbd\xf1\x4b\x0f\xcd\xbb\x43\xb8\xd2\x48\xcc\x6b\x61\x32\x0f\xdb\x04\x49\xed\x5f\x5d\xe8\xba\xb1\x21\xaf\x0d\x85\x54\x95\x6e\x6a\x12\x01\x6b\x42\x67\x7b\x44\x36\x78\x92\xc3\xb2\x0a\xfc\xc2\xcb\x9c\xfb\x5b\x10\x0a\x95\xb5\x1e\x8b\x07\xda\x9f\x51\x41\x5f\x4c\xd7\x78\x1a\x31\x37\x65\xe2\x0d\xb2\x7f\x23\x43\xe0\xf7\x19\xec\xea\x9a\xf0\x26\x95\x6f\x33\x87\xe9\xea\x7e\xd0\xa2\x93\x75\x9b\x4a\x26\x22\x02\x80\x7b\x41\x30\x9f\xb8\x0f\x50\x18\x5d\xb6\xa5\xf8\xbd\xca\x17\x88\x41\xbe\xc0\x6a\xdd\xc7\x61\x0d\xf7\x60\x17\xb5\x14\xbc\x41\x42\xf2\x6a\x36\xbf\x5b\xac\xec\xb0\x12\xfa\x41\x71\x0d\xd8\x49\xbe\xf7\xa7\xe4\x51\x43\x28\x36\xfe\x9b\x32\x65\xfd\x5b\x59\xee\x40\xb0\x4d\xad\x85\xcf\x48\xf8\x91\x46\x5a\x84\x2c\xd4\x50\x0a\x10\x24\xee\xfd\xf0\xf5\x54\xf0\xca\x17\xec\x9f\x7b\x71\x52\x56\xa9\xb9\xdb\xe2\x79\x66\x38\x6d\x8a\xc3\x7d\x3c\x51\x58\x96\xde\x0f\x7c\xdf\x7c\xf5\xb3\x20\xff\x7a\x8e\xf6\xb3\x4b\xa8\x20\xab\xa9\x06\x6d\xd2\x53\xc5\xb7\x76\x37\x77\xf9\x4b\x2d\x6a\xd8\xc7\x10\x22\x1e\x11\x37\x53\x5d\xff\x8a\x1b\x75\x65\xec\x81\xbd\x8d\xde\xb5\x02\xe3\xd5\x8f\xf8\xf1\xfe\x6e\x86\xb8\xdc\x15\xa3\xaa\xec\x68\x8b\xbb\xec\xd4\x68\x82\x81\xdb\x0f\x81\x8d\xe0\xf7\x26\x1b\xa9\xcc\x58\xc8\xbc\x0d\x02\xe0\x66\x32\xef\xe7\x28\x7a\xd7\xa8\x43\x31\xa8\x24\xd9\x28\x73\x44\xef\xaa\xa7\x4f\x1f\xc5\x76\xd0\x26\x94\x30\xf8\x56\xa8\x56\x52\x65\xb9\xd6\xef\x71\xfe\x13\x4d\x25\x10\xab\x06\xb6\x0b\xf3\xc1\x53\xb5\x7e\xcf\xd2\xe6\x34\x24\x03\xfe\x67\x8b\x58\x86\xb6\xb7\x34\xb7\xd3\x69\x06\x62\xb6\xc8\xc6\xf6\xe2\x50\xe5\xaf\x6a\x81\x83\x16\x6d\xdc\xd0\xa1\x7f\x0c\xdd\xc8\x63\x6e\xf1\xa6\x84\x98\xbe\x50\xb6\x59\x95\x39\xd4\x6b\x4c\xea\x97\x13\x0e\x08\xf9\x4c\xa5\x3e\x88\x46\x44\xed\xa7\x5d\x23\xcd\x2c\x03\x8a\x5f\x17\xb5\x91\xe2\x13\x69\x37\x8c\xd3\xfb\x57\x62\xd1\xa7\xc3\xe6\x6a\x11\xae\x6e\x91\xcb\xae\x61\x6a\xd0\x55\xe3\x9d\xc4\x1e\x15\x4f\x4f\xce\xd7\xb2\x69\x6d\x9d\xc6\x73\x80\xbb\x8e\xef\x47\x4e\x9a\xa8\x3c\xec\x47\xfa\xfa\xfb\x94\x1d\x62\x65\x64\xb2\x07\x5b\xcc\x08\x56\xda\x8d\x6e\x1b\x0b\x8f\x18\xba\xf7\x51\x3b\xbd\x14\xe4\x91\xed\x51\x79\x68\xc4\xf7\x24\x1a\xf2\x50\x98\xee\x8d\xf1\x30\xb7\xa3\x4d\x59\x73\x6d\x78\x36\xd3\x23\xfe\x3f\x43\xf5\x08\xcd\xcb\x75\x58\x95\xf5\x9a\x00\xc8\x04\xed\x16\x4c\xc3\x39\x92\xf3\xae\xe9\x62\xae\x9e\x99\x0b\x74\x27\x2e\xb9\x87\xb1\x2d\x90\xb2\x73\x14\xd5\x74\x00\xe7\x37\xd1\x34\x3e\x97\x09\x85\xc4\x27\x10\x60\x87\x6a\xbc\xd7\x04\x9e\x7c\x9f\xe2\x44\xff\x3e\xf9\x85\x60\x99\x5b\x74\x82\xd3\x1b\xc7\xc0\x9d\x99\x69\xf7\xcd\x41\xf4\xe4\xe2\x52\x75\x0d\xc1\x6c\xcd\xb2\x9b\x98\x53\x14\xa0\xb6\xe7\x49\xc9\x5f\x9b\xd2\x83\x8d\x5a\xc4\x9e\xe0\x31\xfd\x07\x9b\xec\x30\x28\xdd\x9d\xd0\x7d\xb6\xfa\x62\x2a\xd6\x21\xb3\xb1\xe1\x27\xe8\xfc\xa3\x7b\xd1\x46\xe3\xcf\x70\x3e\x91\x17\x01\xb7\xa1\x6c\x2d\x30\x36\x9c\x94\x64\x8e\xcc\x03\xdf\x10\xd7\xdd\x5c\x05\x58\xfa\x95\x93\x42\x5d\x94\x87\x27\xd6\x86\x0c\x3a\x14\xf8\x11\x24\x51\x06\x61\x6d\x2a\x5f\xa9\x81\xc6\xb7\xf4\x7e\xc9\xde\xf6\x54\x12\xd1\x32\xac\xc6\x91\x9d\xa4\xe8\x85\x97\xaa\x91\x90\xca\x61\x4b\x21\x80\x66\xa0\xf7\xb1\x69\x97\xee\x74\x7c\x5a\x09\x78\x5e\x50\xd0\xa8\x91\xd9\x59\x37\x86\x3d\x61\x3c\xef\xf7"}, -{{0x82,0x10,0x90,0x99,0xd1,0xea,0xfe,0xed,0x5a,0x85,0x20,0x60,0x46,0x49,0x1b,0x34,0xd0,0x6d,0xcd,0xe3,0x3f,0x08,0x09,0x60,0x28,0x7b,0x10,0xfb,0x23,0xff,0x9f,0x78,},{0x08,0x1c,0xfd,0xf2,0xd7,0x58,0x65,0x4c,0x41,0xc4,0x47,0xe1,0xe6,0x27,0x38,0x10,0xf8,0xa7,0x38,0xa7,0x33,0xaf,0xc4,0x22,0x94,0xa2,0xb1,0xbb,0xb7,0x69,0xef,0xce,},{0xb3,0x98,0x7f,0x32,0x4b,0xc7,0xe7,0x76,0xc0,0xf2,0x87,0xfa,0x13,0xad,0x28,0x74,0x16,0x95,0xe2,0xe7,0xbc,0xe8,0xd1,0x43,0xe2,0x9f,0xad,0x5d,0x00,0x99,0x47,0x58,0xe2,0x25,0xfb,0x80,0x21,0x00,0xd2,0x3f,0xd6,0xcc,0xaf,0xee,0x8e,0x0a,0x95,0xbc,0x47,0x9b,0xe8,0xc2,0x3a,0x11,0x31,0x97,0x45,0x76,0x5b,0x7c,0xd4,0x7e,0x70,0x06,},"\x84\xf4\x7d\xd7\x94\x97\x7a\x6c\x15\x05\xac\x8c\x05\x68\x0c\x56\x15\xa2\xd5\xb0\x57\xe3\x9b\x04\xf8\x5e\x3f\x9f\xf0\x49\x60\xe0\xe0\x16\x68\x5a\x86\xee\xbc\xec\xf6\xfb\xce\x5f\xdd\xcd\xac\x1a\x47\x4c\x8a\x0d\x50\x2c\x40\xe1\x0f\x94\x86\x46\xfd\xac\x6c\x81\xf1\xff\xbb\x17\x7a\x2a\x49\x63\xb6\x78\x25\x90\x3c\xde\x65\xb5\xdb\xe0\xd8\x94\x1d\x54\x6c\xff\xa2\xbf\x8a\x8c\xa8\xd6\xc6\x40\x85\x30\xa6\x29\x0f\x5d\x08\x82\xf1\xa1\x67\x2d\xbf\x97\x8e\x10\xc5\xc8\xaf\x5e\x0a\x62\x39\xf0\x65\x5e\xe7\xfd\x9e\x66\x96\x30\x77\xa0\xe8\x47\x13\x73\x97\xd1\xf0\x69\x99\xdc\x6f\x8a\x94\x5c\x60\x03\xea\x4e\xa7\xfd\x58\x37\x8a\xcb\x44\xed\x57\x80\xea\xa3\x67\x79\x6b\xee\xa3\x7d\xdc\x23\x69\x99\xd0\x12\xd6\xa7\x16\xd7\x91\x56\x49\xcc\x28\xe5\x88\x75\x64\x7e\x9f\x5a\xc0\x55\x3c\x0f\x54\x4d\xf5\x64\x69\xc6\x70\x81\xd5\xe3\x03\x95\xf3\xe9\x60\xe6\xa5\x2f\x08\x33\x19\x2c\x54\x8c\xd5\x7c\x92\x6b\x82\xdb\x48\xc3\x61\xbd\xe7\x03\x33\xa3\x70\x08\x3e\xaa\xa0\x68\xdc\x2a\xe4\x52\xd2\x1e\xf1\x33\x1a\xed\x19\x0b\xd3\xe1\x28\x9a\x10\x4c\xf6\x67\x83\x43\x77\xcf\x7b\x5a\x29\x77\x48\x07\xc3\xf1\xea\x9e\x7b\x28\x83\x1d\x0f\x6c\x42\x94\x78\x58\x67\xb1\x37\xb6\x50\x28\xc1\x4f\x93\x2a\x1b\xa8\xe6\xf9\xf5\x96\x24\xfe\x0c\x39\x68\x43\xea\x19\xe4\x6f\xba\x09\x14\x2c\xf9\xd4\x24\x97\x31\x2f\x36\x02\x44\x03\x2f\x1e\x00\xf3\x8d\xd0\xde\x29\xf9\x63\xb5\xcc\xc1\xef\x12\xb2\xcc\x62\x04\xb9\x94\xaf\x1f\x3b\xaf\x19\x6d\x9e\x21\xe8\xfa\x4f\x09\x73\x20\xc6\x44\x04\xd0\xb7\xd5\xab\x38\x56\x0c\xa0\x65\x53\x64\xb0\xb0\x9c\xd6\xdc\x0f\x0e\x05\xb8\xc9\x11\x03\x64\xf1\x42\x4a\x96\x72\xb7\xef\xdf\x7e\x1f\x37\x8e\x23\x45\x50\x56\x6d\xbe\x13\xb0\x15\x78\xb0\x41\x53\xe9\xc3\x7b\x55\x3e\x32\xa4\x44\x1b\xc9\x7e\x29\x53\xbe\xc2\xe4\x14\x55\x51\x0f\x98\x02\xef\x94\x8d\xcb\xf1\x3f\xad\xdd\x72\x2e\xde\x57\x36\x27\xb2\x58\xd5\x5e\x83\xc0\x89\x5b\x22\x91\x9e\x4b\xe5\xce\x8d\x81\x9c\xe6\xad\x84\x3b\x2d\xd0\x9d\xf6\x40\x04\xc8\x26\xc1\xdd\xe7\xce\x64\x80\xa2\x71\xa8\x58\xa1\xdb\x16\x9e\x14\x94\xd4\x46\x90\x32\xbc\xc1\xcc\xd8\x96\x53\x19\x8b\x7c\x07\x3f\x76\xa2\x6a\x29\x99\xb5\x64\x8c\xba\xdc\x15\x74\xc7\x8e\xad\x8e\xec\xe8\x3b\x91\xe1\x29\xc4\x37\xf9\xee\xec\x04\xc8\x07\x45\x90\x02\xe6\x6d\xcc\xa9\xbf\xc2\xca\xed\x9e\x6c\x0b\xa2\x3d\x23\x55\xde\xf7\x56\x65\x74\x94\x30\xee\x92\xc5\x32\xa6\x95\x47\x9f\xec\x92\x91\x74\xf4\x40\xec\xb6\x1a\x5a\xe8\xb2\xb7\xe9\x58\x92\x05\x58\x26\x89\x78\xf7\xfb\x4d\xa1\xb3\x8b\x12\x01\x4f\x5d\x61\xb0\xfd\xd7\xf6\x13\x6b\xa4\x28\x1b\x41\xa3\xa3\xcd\x18\x80\x52\xb6\x98\x76\x5b\x6f\x05\xe4\x1e\x78\x37\x3e\xa8\x30\x46\x97\x87\xa3\x75\x10\x99\x3d\x12\xf9\x3e\x96\xc7\x2d\x72\xf4\x46\x19\x84\xf6\x91\xa4\x1c\x7d\x33\x97\xdd\xd5\xa1\xb3\x92\x37\xd1\x30\x88\x64\xd4\x15\xfc\x6c\x22\xb6\x3f\x37\x6c\xed\xde\x37\xf5\x25\x2b\x51\xec\x72\xe5\x15\x5f\x3b\xdb\x4f\xcd\x54\x12\x49\x8b\xd2\xe0\xc1\xf9\x85\x0b\x3a\x85\xd1\xdf\xd2\x51\x67\xa3\xcd\x77\x1e\x8e\x4c\x9d\x86\x8c\x95\xa7\x17\x5e\x37\x75\xf6\xce\xf1\x7e\x4e\x36\x49\x7c\xe9\xe4\x55\x32\xbd\x7f\x44\xb2\x77\x6e\x40\xf9\x1a\x07\xca\x4f\xa1\xb9\x5d\xbe\x81\xcf\x8f\x49\xe4\x6b\x6c\x82\xa6\xee\x43\x47\x91\x8a\x76\x43\xb0\xd9\xa3\x88\x57\x21\x2c\x69\x3e\xad\xac\xfd\x37\xa5\xf1\xd9\x15\x58\xf5\x45\x4d\xcd\xd0\x59\x35\xf2\x90\xe6\x2d\x7e\x65\x00\x6c\xd5\x49\xf6\x55\x3c\xe7\x41\xdf\x44\xd3\x96\x44\x00\x1e\xb4\x79\xca\x69\x56\x8a\xd1\xf2\x3b\xba\x09\x9a\x41\xa4\x72\x94\xdb\x93\x87\x31\xc5\x30\xaf\x1c\xeb\x92\x17\xd2\x9b\xc2\x70\x56\x13\xc1\xa1\xfe\x9c\x20\x8d\x0b\x01\xba\x6f\x4d\x9b\x4c\x7b\xa8\xf0\x21\xdf\x91\xea\x2d\x57\x8c\xe0\x83\x12\x3e\x83\xba\x4b\x9c\x50\x40\x7f\x66\x66\xfb\xe6\x11\x58\xb0\xd1\xb9\x57\x77\x72\xe3\xea\xff\x8f\xb4\x29\xd0\xf6\xd2\xe3\x84\x12\x61\x30\xf2\x1b\x44\x9f\xb1\xdc\x17\x0d\xb4\x5a\xf5\x05\xbd\x31\x82\x67\x8a\x9b\x5f\x9f\xdf\xf6\x5f\x04\x13\xb6\x72\xc4\x78\x63\x40\xfc\xf2\x52\x2e\xa7\xf3\xd8\xad\xe8\xa0\x59\x52\x96\x49\xdb\xda\x9c\xe5\x1f\xf0\x5a\x2a\x2a\x3d\x66\xd2\x16\x6b\xf2\xc9\xc6\x77\x2b\xa0\xef\x41\x05\xe6\x8c\x05\x5e\x02\x13\xd4\x2c\x1e\xe1\x23\xb3\xc1\x21\x78\x43\xe6\xec\x57\x5d\x75\x4d\xf3\xc9\x0a\x75"}, -{{0x65,0xfc,0xbd,0x62,0x6d,0x00,0x21,0x11,0x33,0x4b,0xaa,0xd4,0xe6,0xa8,0x00,0x6e,0x47,0xa1,0xf9,0x13,0x97,0xbe,0xe6,0xdd,0x6c,0xd7,0xda,0x5a,0x0e,0x02,0x48,0xa4,},{0x20,0x40,0x9a,0x14,0x6b,0x42,0xc9,0x6b,0xea,0xb0,0xb4,0x2e,0xa7,0xf2,0xc2,0x51,0x93,0x11,0x9d,0x0d,0xf4,0x4d,0xc2,0xbf,0x14,0xd1,0x1a,0x32,0xfd,0x73,0x36,0x15,},{0xbc,0x78,0xe1,0x6b,0xa6,0x74,0xe0,0xa7,0xdb,0xa5,0x7a,0x19,0x09,0x4f,0x97,0x33,0xc5,0x5d,0x74,0xb9,0xd1,0x5f,0x8a,0x44,0xd1,0xbb,0xc0,0xa0,0x23,0xf7,0x01,0x55,0xde,0x29,0x77,0x11,0x1a,0x41,0x7e,0xef,0xa8,0xcb,0x30,0xec,0x12,0xab,0xc8,0x38,0x42,0x28,0x16,0x7c,0x70,0x98,0x2a,0x82,0x06,0xb1,0xff,0xb7,0x21,0x74,0xaf,0x01,},"\xe4\xc0\x94\x7f\xc8\xca\x78\xfa\x88\x63\xf4\xd0\x44\x49\x9d\x03\x6e\x2e\x7e\xf8\xc1\x7e\x83\x8f\x2f\xac\x02\x67\x5b\x7b\x53\x81\xe5\xf9\xab\xce\xaf\xd0\xd8\x88\x6a\x92\x9d\x9d\x9b\x49\xfc\xb7\x38\x61\xb2\x9d\x15\x18\xac\x5f\x83\xf7\xf8\xfc\x26\xbd\x1c\xeb\xc2\x2d\x87\x3a\x9a\x08\x23\x14\x06\xfb\x03\x2e\x48\x66\xe5\xf5\x5c\x7c\x04\x41\xc5\x19\x04\x1b\xb2\xcc\x73\xf9\x22\x6d\xd5\xd0\x7e\xce\xb6\x60\xd6\xc9\x67\xdb\x23\x36\x55\x74\xbe\xe8\xfc\x10\x22\x29\x28\x76\x77\x13\x57\x1a\x71\xc9\x3a\x85\x27\x8d\x42\x29\x9a\x70\x59\x9c\xa9\x93\x26\xcc\x86\xf6\xd9\x8d\xaa\xc0\x00\xfd\xfa\x71\x05\x62\xf4\x81\xfa\xa0\x20\xc7\x2a\x76\xe2\x06\x7d\x15\x4c\x23\x5a\x7a\x4f\x29\x70\x8c\xc5\x44\x53\x3b\xd7\x99\xed\x63\x63\xeb\x3b\x56\xaa\x4a\x6d\x0e\x37\x9b\xbf\x07\x60\x05\x95\xc2\x3a\xb1\xf3\xf9\xf1\x70\x8e\x00\x70\x26\x1b\xbb\xf4\xbf\xea\xf6\xd6\xce\xd4\xd7\xff\x72\x2c\x9c\xc5\x2d\x91\x33\xea\x68\xd4\x95\xdc\x94\x89\xc3\xed\xf6\x83\x02\x31\x35\x1f\x65\xcb\x52\x72\xf5\x39\x6e\x2c\x4a\x1a\x5c\x88\x66\x1a\x10\x18\x92\x24\x9e\x23\xd6\xce\x9f\xdb\x6a\x9a\xbf\x74\x27\x2c\x2f\x59\xc3\xd8\xfd\x87\x43\xcc\xe4\x61\x12\x6c\xa0\xa8\xb8\x32\xb4\xb2\x18\x33\x6b\x1a\xe1\x4d\xa6\x77\xba\x7f\x1b\x2c\xc5\xca\x3c\x71\x58\xf7\x27\xa9\xe1\xb8\xfd\xd9\xed\xf5\xc2\x18\x7f\xcb\x83\xdb\x86\x2a\xd0\xc6\xb3\x92\x16\xde\x31\x16\x91\x95\x56\x46\x51\x00\xad\xe0\xa4\x2b\xd6\xba\x10\xd9\x54\x18\xb6\x9a\x3e\x00\x5e\x9f\x10\x45\x89\xea\x59\x48\xb2\xb5\x1b\xc7\xb1\xa9\xa0\x74\x9d\xa8\xf0\x13\x78\x1b\xc0\x5c\x80\x5b\xb5\x1e\x18\x77\x61\xac\x24\xc7\x64\x14\xf6\x68\xeb\x45\xfb\x0a\x50\x24\xdf\xe5\xa5\xca\x06\xf0\x40\x3a\x02\xe3\xb2\xfe\xf7\xa2\xc4\xbc\xfb\x1d\x07\x5d\x31\x0d\x51\x97\xe6\x59\xcd\x14\x02\x3f\xae\xc2\x0e\x04\x5c\xab\xcb\x86\xb2\x21\xa1\xd4\x82\x71\x13\xff\x32\x67\xa6\x4d\xeb\xe9\x93\x90\x04\xca\xba\xc8\x5e\x5c\x74\x61\xe7\xe8\x2a\x97\x5a\xcf\xae\x0b\x6c\x51\x6a\x1c\x60\x53\x74\xcf\xea\x7d\x81\x90\x44\xef\xd6\xd7\x46\x54\x42\x4f\xd5\xc9\x0f\xf2\x57\x4f\xcd\x8e\x00\x77\x40\xd9\x75\x86\x1d\x0d\xf5\x25\x9f\xe4\x3e\x43\x63\x9e\x36\xe5\x28\x95\x43\x9b\xa2\xc2\x7c\x1e\x88\x9c\x93\x09\x41\x04\xfe\x91\x49\x21\xbd\x6f\x25\xd3\x98\x5a\xb1\xf2\x2c\xa5\x57\xb0\xe4\x9a\xfc\x73\x75\x24\x3c\x52\x1c\x6d\x5f\xaf\xe0\x38\x1c\xce\xa8\x28\xe8\x8e\x64\x7f\xd9\x09\x76\xb3\xfb\xec\x19\xfe\x9a\xdb\x11\x3c\x64\x04\xbd\x35\x2b\xfc\x00\x04\x46\xd2\x10\x05\xb5\xf9\x50\xae\x07\xe5\x1c\x76\x8c\xa3\xff\x61\x77\xb2\xea\xc5\x0f\x10\xdd\x2e\x64\x61\x0f\xa8\xab\x57\x88\xfa\xee\xe2\x9d\x12\x90\x09\xd7\xfe\x46\xaa\x3d\xa6\xb9\xd8\x6c\x73\x06\x5e\xb5\x16\x1f\xbd\xbd\xfa\xc5\x77\x7c\x4e\x75\x45\x2e\x6e\x16\xae\x9f\xd6\x6b\xb7\xd9\xaa\xa4\x26\xbc\xb7\xa6\x91\x5f\x0f\xf4\x4a\x1f\x8e\xc7\x13\x94\xe9\x35\x2f\xdf\x20\xe0\x2f\xaf\xe1\xe0\xce\xfe\x50\x74\x4c\x31\x94\x95\x6f\x92\x8f\x82\x53\x37\x55\x37\x38\x38\xdc\xc1\x29\x6a\x89\x1a\xdf\x64\x1c\x73\x82\xd6\x9b\x4f\x5a\x43\xd4\xaf\x77\x72\xa4\xa1\xee\x87\x92\x92\xd7\xa4\xf3\x2a\xc3\x5e\xe1\x21\xc6\xc3\x4c\xa5\xf9\x84\x87\xa9\x41\xfc\xb1\xe6\x5b\x44\xd4\x45\x61\x27\xee\xdb\x2f\xcc\x1c\x3f\x48\xef\xf9\x30\x09\x81\xe5\x2a\xc3\x8b\x49\x6a\xb8\xbb\xce\x14\x4a\x85\xeb\x9c\x07\x63\x8b\x31\xfd\xaa\x78\x17\x44\xbc\xe1\x7e\x8d\x93\xdc\xdc\x60\xaf\xed\xa4\x88\x80\x76\x17\xf8\x8d\x6a\xa5\x44\x22\xfd\x34\x7d\xda\xdd\xef\xf3\x7a\x56\x3d\xbf\x19\x97\x4b\x2a\x23\xbe\x30\x0f\xbf\xa6\xc7\xfc\x41\xf8\x4c\x69\x05\x41\x52\x69\xf1\x95\x99\x0b\x5b\x4d\xe1\x26\x68\xc7\x1c\x87\xb5\x04\xf4\x11\x24\xbf\x94\x43\x6f\x33\x30\x45\x63\x15\x18\x15\x2c\x51\x62\xa2\x47\x5c\x40\xef\xb6\xcb\xda\xaf\x9a\xf4\x28\xfe\xd3\x25\xb3\xa7\xd9\x4c\x17\x52\x0f\xd8\x9e\x00\xdd\xf0\x8b\x22\xad\xf6\x61\xf0\xac\xd7\x23\xb3\x96\x9d\xc6\x43\x4e\xa6\xf9\x2e\xf5\x8e\x8d\xfa\xe5\xb0\xcc\x28\x85\xba\x98\x7e\xa1\xd1\x6c\x39\xb3\x4e\xf6\x50\x23\x00\x9d\x63\x45\xe4\x8e\x36\x91\xa4\x1f\x02\xa7\x7b\x7f\xe1\x33\xea\x9d\xe7\x56\x5f\x15\x7a\x20\x78\xae\x98\x8b\xbb\x26\x6d\x22\xd5\xfa\x91\xa7\xb2\x63\xe9\x8a\xd2\xdc\x07\x31\xfe\x5a\x29\x02\x5a\x0c\xb4\x36\x86\x4a\x5a\x60\xdb\x25\x7f\x1e\x76\xb5\xc6\x08\xf2\x5c\xde\xcc\x87\xea\xe6"}, -{{0xb5,0x00,0x76,0x8a,0x28,0x23,0x91,0x5c,0x4a,0x68,0x48,0xd3,0x5f,0x64,0x87,0xd4,0x3b,0xd7,0x66,0xd2,0xce,0x09,0x45,0xf8,0xa3,0xcc,0xdb,0x8d,0x82,0xa3,0x89,0x2b,},{0xb8,0xce,0xa2,0x15,0xa0,0x12,0x4e,0xed,0x27,0x00,0x57,0x25,0xd8,0x97,0x78,0x1e,0xa0,0x64,0xdc,0xef,0xb2,0x14,0x22,0xc8,0xbd,0x24,0x02,0xc5,0x6a,0x10,0x57,0x1c,},{0xe3,0xdb,0x47,0xa1,0x1e,0x10,0xe7,0x88,0x92,0x5d,0x14,0xb1,0xe2,0x8b,0x54,0xc9,0xfc,0xf9,0xb6,0xac,0xc1,0xdf,0x8c,0x14,0xf6,0x83,0xa5,0x67,0x2f,0xd5,0x04,0xdd,0x4a,0x47,0x5a,0x33,0x93,0xb3,0xef,0x8b,0xce,0xac,0x23,0x61,0xdb,0xba,0x35,0x30,0xaf,0x25,0xc2,0x46,0xc3,0xec,0x4c,0x05,0x89,0x9b,0x51,0x7f,0x6c,0xd3,0x4f,0x0a,},"\x0a\x9f\xda\x8b\x8c\xfc\xa7\xa5\xb0\x5d\x78\x11\x6f\xce\xe1\x9a\xb8\x03\xc1\xc6\x01\x0c\xe1\x1d\xaa\x8e\x93\xa6\x6d\x12\xc1\x2e\x47\x4e\xb9\x1c\x26\x40\xd9\x7a\x81\x3d\x9a\x83\x0d\x26\x88\x68\xeb\x2e\x37\x70\x42\x5f\x10\xc7\x58\x40\x46\x8e\x66\x9d\xc7\xf6\x1d\x3b\xe2\xde\x88\xae\x0e\x54\x2b\xc8\x09\x67\x91\x13\x95\x7a\x14\xda\x4e\xaf\xf5\x49\xbf\xde\x63\x7d\x7c\xaf\xdc\x6a\xa8\x39\x94\x83\x73\x97\xf8\x6e\x4f\xde\x86\xd4\x02\xfa\x9a\xef\x7f\x65\x54\x9a\x21\x43\x73\xe5\x60\xe6\xd7\xa1\xc2\x76\x9e\x0c\x7d\x5a\x01\x71\xe7\xcc\x00\xdf\xf3\x6e\x04\x29\x79\x8b\x53\xaa\x62\x16\x24\xbd\xa7\x4d\x6d\xf0\xbf\xff\xfb\xd8\xfd\x7b\xef\x1a\x64\xf3\x6c\x00\x07\x82\xf6\xed\x03\x1a\xf5\xc2\xa7\x4a\x18\x96\x35\x98\xc9\xba\x06\x23\x92\xde\x96\x02\x03\x67\x94\xb7\xb5\xe6\x8c\x25\xc9\x3f\xe7\xcf\xad\x47\xa7\xc5\xb9\x79\xd4\x76\xcd\x51\x3a\x12\xbf\x03\x07\xcb\x16\x31\x74\x00\x42\xa9\xfb\xf3\xeb\x0b\xe5\x17\x06\x20\xda\xfd\x5f\x16\xed\x89\x34\x2c\x26\x25\xd7\x83\xe7\x4e\xe0\xd7\x84\xbf\x05\x19\x43\x74\x0c\x88\xb0\xbe\xf7\xbc\x85\xe1\xa6\xa4\xa5\x17\xd4\x92\xfb\x73\x7e\x77\x66\x99\x59\x0c\x93\x22\x4c\xd4\xd9\x24\x5d\x4e\x93\x71\xa3\x67\xc0\x71\x2f\x87\x49\x0f\x92\x47\xc4\x9a\xdd\x93\x13\xf2\x77\xa4\xd9\xf2\x6b\x75\xaa\xe4\xde\xd6\xa3\xde\xf8\x5f\x83\xfc\x99\x59\x10\x40\x55\x48\xaf\x67\x0e\xd8\xaa\xa3\x05\x24\xab\x82\x9c\xcb\x56\xa5\x00\x5b\x58\xbc\xe8\x68\xc9\xe8\x07\x4f\x07\xdd\x7f\x38\x18\xf2\x99\xe4\xe0\x86\xbe\xd9\xea\xb9\x02\xcf\x11\xb3\x98\xd5\x31\xb8\x63\x2e\x7d\x52\x3a\x8f\x87\x76\x95\xf4\x6c\xcf\x9c\xe2\x4e\x62\xca\xb2\xc7\xcd\x0a\xae\xe1\x7d\xb5\x26\x76\xa4\xb5\x05\x8e\x9c\x1d\x7c\x47\xbf\xfc\xb6\x41\xb0\xea\x2b\x09\x44\xf3\x9a\x75\x66\x5a\x7e\xf2\x9b\x7f\x02\xa8\x78\xdb\x82\x38\x83\xbd\xac\xfb\x0f\xbe\x5d\xfe\x5a\x9b\xed\x9f\xda\xc7\xe4\x14\x2e\x3e\xb5\x0d\x5e\x84\x0b\xd0\xac\x0b\xec\xf4\xfa\x97\xe1\xfc\x48\x27\xc3\x97\xa5\x24\x65\xd9\x16\x88\x99\x54\xb3\x70\x1b\x0f\xac\x61\x15\x9b\x23\x09\x2f\x46\x85\xf4\x78\x8b\xad\x35\xd0\x0d\xa2\x67\x9e\xcc\x54\x92\x1f\x1a\x86\x47\x10\x16\x57\xab\x49\x47\x74\x20\x56\x7a\xed\x67\xc8\x60\x59\x30\x44\x4b\x5d\x07\x92\x7c\x17\xef\xf1\xf8\x57\x0c\xf2\xaf\x29\xe7\x19\xf8\x5c\xa7\x84\x9b\x89\x55\x49\xf1\x3d\xfe\xca\x68\xbb\xef\x71\xe3\xce\x8b\x6c\xed\xd2\xff\x68\xd3\x2b\x02\xca\xf5\x95\x1a\x0b\x3e\x6b\x0b\xae\x6a\x96\xc0\x20\x58\x19\x1f\x30\x5e\x09\x07\x11\xc4\x6d\xad\xdc\xd5\xae\xee\x76\x9c\x3a\x10\x5e\x9a\x82\x7b\xbd\x19\x5d\x32\x92\x31\xc2\x62\x38\x47\x9a\x9b\xb0\x07\x1a\xfb\x16\x0e\xf9\x55\xe8\x74\xd7\xa4\x20\xc5\x67\x85\xf4\x4a\xe0\xa1\x8c\x52\xd8\x28\x0c\x59\x98\xcf\x38\x88\xfe\xaf\x89\x89\x81\x34\xbc\x8d\x41\x1f\xc9\xf6\xc5\x76\x8e\xa7\xa2\x49\x72\x94\x13\x73\x9e\x53\x2b\x64\x39\x37\x15\x2c\xdf\xb8\xd2\xff\x87\xfd\x48\x08\x4d\xd8\xae\xeb\xea\xf0\xf7\xb1\x0d\x87\xb6\xe4\x42\x32\x28\xc9\xfc\x8d\xc5\xe3\x85\x2a\xa8\xb8\xac\xc5\x45\xd1\x8f\x25\xc5\x5d\x73\xda\x1b\xb8\x2e\x3e\xb3\x76\xf9\xef\x05\xb2\x74\xd7\xec\xb1\x84\x5d\x65\xca\x0c\xd2\x62\x9f\x03\x8a\x2d\x66\x4d\x7a\x69\x78\x1c\x84\xe9\x8d\xe2\xc2\x09\xc4\x6e\xfc\x51\x16\x21\x72\x85\x66\x49\x46\x9e\x67\x33\x08\xdc\xc1\x45\xea\xf7\x83\xf5\xcb\x5b\x4b\xe7\xd9\xfd\x58\xee\x09\x74\xc9\x81\xa3\x8f\xea\x8e\x31\x26\x7a\xbf\xa4\x10\xe6\x9e\x46\x48\x2f\x51\x34\xf3\xda\x1f\xfe\x38\x1b\xd6\x9d\x8d\x0b\x78\xea\x90\x9b\x4a\xf9\x39\x6d\xca\xff\x89\x96\x0a\x04\x9e\xda\x69\x46\x61\x6f\xc2\x7c\xcf\x9a\x9e\x5b\xa1\xa0\x13\x57\x64\xf3\x77\x19\xda\x4d\x28\x07\x81\x85\xd0\x4d\x72\x41\x9c\x2c\x70\xf2\x90\xd9\x7e\x1f\x82\xb8\x79\xf7\x1b\x9e\x19\xd5\x04\xd3\x64\xcd\x3b\xa2\x2c\xf9\x05\x25\x0f\xd3\x7d\x58\xe5\xfe\x40\x20\x9f\x60\x72\xa0\x6d\x8b\x5b\xa7\x01\x96\x23\x05\x77\x87\x7e\xc4\x61\x53\x16\x7a\x7c\x7a\xea\x27\x0f\xa1\x09\x8a\xba\x9e\x3a\x74\xac\xb3\x6a\x11\xb0\x9b\xd0\x7a\x3b\x88\xea\x65\x4e\x26\x83\x65\x62\x5b\x58\x9b\x22\x06\xc7\x10\xd9\x60\xf4\x2e\xa4\x19\xb7\xe4\xe3\xda\x47\x59\xfc\xbc\xa5\x0e\x4b\xf4\xcc\x55\xcf\x88\xf7\x0b\x31\x80\xc8\x05\xa7\x04\x50\x86\xaf\xa0\x4c\x6b\xe2\x32\x23\xec\xae\x5f\x82\xc1\x46\xd5\x43\x11\xd1\x80\x7c\x2e\x4a\x53\xf9\xe0\xa4\x48\x2b\x4e\x1e"}, -{{0x9e,0xb5,0xc9,0xef,0x13,0x53,0x5f,0x80,0x81,0x09,0xf4,0xa4,0x3c,0xfa,0xd5,0x68,0x4f,0x80,0xda,0xf0,0x2e,0xed,0x54,0x10,0xac,0x0b,0x0a,0x09,0xa6,0x08,0x2d,0x69,},{0x36,0x7e,0xea,0x1e,0xcb,0x4e,0x5e,0xec,0xdf,0x7e,0x47,0x1b,0x90,0xbb,0x34,0xf9,0xb7,0x98,0x2c,0x8c,0xd6,0x6d,0x42,0x55,0x5c,0x24,0x0b,0x41,0xcd,0x87,0x39,0xdb,},{0x42,0x9c,0xe1,0xfe,0x84,0x6d,0x25,0x08,0x49,0xec,0xa7,0xd4,0x56,0xf8,0xc5,0x9f,0x86,0x75,0xb1,0xf4,0xc1,0x3f,0x2b,0xe4,0x16,0x88,0xdf,0xb8,0xca,0x2a,0x3b,0x24,0xae,0x29,0xd5,0xb6,0xbf,0x47,0x11,0x57,0xbc,0xb6,0xe2,0xec,0x9d,0x4a,0x26,0xb0,0x38,0xe6,0xec,0x28,0x58,0x4c,0xc2,0x3f,0x2a,0x03,0x55,0x6d,0xbb,0x37,0xe9,0x00,},"\x2d\x7c\xb0\x5e\x61\xdb\xae\x26\x25\x8e\x38\x61\xc6\x39\xef\x0e\x1d\x17\xfc\x71\x1a\x00\xf3\x35\xba\x3c\x02\x71\x37\xe0\x07\x08\xd7\x08\xc1\xff\x45\x7f\xf2\xc6\x51\x12\xf7\xdc\xd7\xd0\x2f\x24\xd5\x6f\x07\x21\x58\xea\x1c\x71\x83\x25\x50\xa5\x83\x66\xfd\x91\x97\x29\x6b\xbe\x61\xaa\x4d\x00\xde\x18\xa4\x53\xef\x91\x74\xfa\x81\x96\x83\x05\xc4\x1c\x34\x55\xf4\x2d\x44\x7a\x92\x34\xf0\x6e\x13\xbf\x8b\xca\xa1\xba\xbb\x11\x69\x5f\xaf\xdc\x08\xf7\xa5\x84\xb2\xea\x1f\x61\xe9\x38\x92\x60\xce\x73\x35\xa0\x7d\xe7\x2c\x89\x11\xa5\x8a\x31\x3f\x10\x88\xdc\xdf\x5c\x8d\x4c\x45\x6c\xba\x2d\xcb\x4f\x2d\x15\x6b\x49\x43\xb9\x5b\xd4\x93\xea\x4f\xe1\xa8\x2d\x4e\x3e\xa0\x2a\xa0\x29\x72\x40\x0b\x5e\xe1\x78\x42\x83\x2d\x59\x97\x9f\xc1\x79\xf8\x43\xc4\x4b\x03\xeb\x3c\x30\x24\x16\xd0\xcd\xaf\x11\xc4\xca\x8a\x66\xcc\xbb\x69\x97\x39\x5e\xdf\x6f\xca\x2e\xa0\x04\xcf\x34\x86\x97\x10\x04\xa4\x20\x42\xaf\x8e\xce\x00\x5b\x94\x46\x1d\x86\xdc\xde\x21\x2a\x2e\xb1\xbe\x3b\x91\x4c\x78\x3e\x48\xac\x1a\xd4\x6c\xac\xd7\x3e\x1e\xb4\x48\x36\x83\x22\xd2\x67\x8e\xfc\xb2\xab\xff\x52\x09\x3d\xb0\xf2\x59\xdc\xe5\xc1\xe1\x9a\x51\x28\x20\xf2\x35\xd6\xae\xaf\x0e\x1a\x72\x3c\x2c\x65\x0c\xff\x1e\xe3\xb6\xb4\xf4\xcc\x98\x9c\x0b\x7d\x6d\xe3\xcd\x7e\x6d\xaa\x39\xbb\x69\x07\x10\xdf\x00\xa7\x19\x4c\x17\x20\x1f\x0e\x81\xbe\x64\xb6\x73\x9e\x1c\x1e\x81\x76\xb7\xe1\x2a\x35\x34\x27\xc0\x67\xc1\x93\x14\xdb\x64\x2e\x5c\x76\x26\x6b\x64\x0e\xb1\xcc\x0c\x73\xf8\x4f\xc0\x22\x7e\x5a\x96\x06\x0d\x81\x40\x71\xcd\xe2\xfe\xd9\x44\x76\x7b\x74\x66\xf9\x00\x1d\xfc\x22\x36\x85\x42\x9b\xc4\xe5\xe4\x8f\x5c\x13\xa6\x3a\x4e\x0d\x82\x61\x33\xad\x92\x0d\x11\x77\x21\x45\xad\x6e\x13\xc9\x38\x97\x39\x8a\x8a\x40\x1f\x93\xdb\xd1\x03\x00\x5c\x7d\xae\x44\x38\x7f\x3e\x80\xb7\x93\x60\x7d\x05\xd2\xd8\xbc\x0d\x03\x51\xa3\xa4\x52\xb8\xce\x75\x9c\x1a\xd4\x8d\xf7\xb9\xba\x9e\x4a\x17\xdf\x61\xfd\xab\xb9\xb5\x77\xb5\xce\xc3\xe9\x46\x1f\xbb\x5e\x12\x81\x55\xa3\xc9\xc8\x9f\x8f\x6b\xeb\xb7\x32\x2a\x16\x67\x8e\x8e\xcb\x98\x95\x3d\x95\x83\x10\xdb\x1b\x06\x34\x48\xc3\x49\xf3\x6e\x16\x8f\xac\x48\x4c\xb3\xc0\xd4\xcb\x2c\x25\x1b\xd9\x2e\xf8\xe9\x26\x2b\x44\x09\x3d\x7e\x65\x0a\x7d\x3b\xed\x37\x91\xfa\x88\x10\x0f\xee\x6e\xf0\xd5\xe2\x3d\x1e\x9a\x80\x99\xcc\x03\x35\x20\x2a\x4f\x10\x6c\x24\x77\x7e\x98\xf8\x1d\x26\xef\xba\x15\xc9\xad\x15\x41\xe0\xad\xbf\x1d\x1d\x76\x07\x6b\x0d\xfd\x7b\x7d\x6c\x8b\x82\xf9\xc0\x93\x46\x8c\xd1\x96\x67\x2d\xc5\x47\x8e\x91\xce\x70\x1c\xdd\x7b\x68\xb3\x53\xc9\x71\x11\xf0\x42\x97\x60\x63\x57\x62\xf8\x68\x3a\xe9\x70\x56\x4b\xce\xba\x91\x20\x51\x76\x42\xe8\xb3\xa2\xba\xaa\x85\xc2\x5b\x54\xa9\x43\x76\x61\x84\x90\x4c\x72\xd9\x29\x63\x4e\xc5\xf0\xc2\x84\x73\x41\x5f\x12\x53\x89\x06\xc6\x78\xfc\xa4\xe6\x82\xdb\x48\x79\x75\x84\x92\x53\x7e\x78\x50\xb9\xbf\xef\x3e\xb9\x05\x3b\x43\x92\x0d\x81\x0e\x55\xbe\x96\x6a\xec\x68\xc9\xdd\x3b\x62\xcc\xf5\x7e\x81\x78\xcb\x5e\xf6\xd1\x6d\x17\x2a\x56\xdd\x92\x4f\x00\xf2\xd3\xb5\xe9\x3a\xaa\x92\xb2\x9f\xb8\x33\x6d\x73\xe2\x9e\x59\xd1\xc4\x7e\xa6\x23\x0c\xda\x1d\x5b\x03\xbb\xa5\xdf\xdb\x33\x1f\xeb\x19\x44\x3f\x12\x3d\x2a\x03\xff\x4f\x10\xec\xa1\x66\xc2\x99\x85\x88\xf1\xe5\x84\xed\x19\x4d\xd6\xf7\x3c\x8a\xca\x84\x66\x31\x90\x4d\x9f\xe4\xa9\x8b\x36\x78\x23\xe4\x6e\xdb\xa2\x88\x51\x29\x87\x9e\x92\x77\xe1\x50\xf0\x29\xb8\xfa\x7b\xd1\x1e\xab\x9c\xe1\x33\x67\x77\xc8\x0b\x56\xb3\xa1\xf0\x81\x1a\xdb\xca\x0f\x5b\x40\x25\xa5\x50\x3c\x81\x96\x66\x1a\xee\x90\x00\x6e\x9c\x85\xbb\xfa\x4c\x5a\x0e\x90\x28\x85\xc8\xce\x51\x21\x2e\xe6\x7f\x0f\xe0\xb6\xaf\xbc\x8b\xad\x45\x37\x27\x54\x3b\x3c\x68\xb8\x90\xdd\xab\xa2\x69\xd2\x5f\xc1\x64\x3f\x54\x83\x51\x36\xa1\xa2\x5b\xa1\x8d\x91\x6c\xed\xd6\xa4\x7f\xc0\x7a\xdf\x6f\xc6\x9f\xa5\x08\x94\x9d\xc1\x0d\x9d\xc5\xe0\x26\x1b\x52\xf3\x65\x71\x70\x38\x4e\xcc\xd9\xc8\x05\x41\x35\x4b\x1c\xe0\xf6\xfb\x5e\xd3\xe8\xd5\x4a\xf0\xb5\xbf\x0a\x92\x83\x51\x25\xc7\xd9\xbc\x4f\x09\x2f\xf3\x80\xe5\xe8\x96\xfb\xf3\x02\x55\x2b\x14\xd5\xb6\x1a\x22\x4d\x86\xe3\x01\xc7\xa6\x6a\x66\xe4\xe4\x32\x9a\xac\x0a\x66\xb1\x56\x77\x23\x74\xdc\x1c\x71\x68\xd5\xb5\x61\x65\x2f\x8f\x43\x87\xe4\xf2\x89\xb6\x36\x6a"}, -{{0xef,0x09,0x48,0xe1,0x32,0x81,0xf3,0xcf,0x35,0x2c,0xbf,0xaf,0x8d,0x89,0xd1,0x17,0x76,0x85,0x52,0xd5,0xa1,0x54,0x8e,0xcb,0xaf,0x37,0x41,0x2e,0x97,0x67,0x0f,0xac,},{0x58,0xc2,0x45,0x7f,0x5a,0x5e,0x3c,0xfb,0xf4,0x71,0x19,0xa8,0x7f,0x2a,0xff,0x19,0x18,0xf1,0xe6,0x7a,0xe6,0xfa,0x91,0x71,0xd3,0xf4,0x1e,0xee,0x07,0xa8,0x68,0x72,},{0xcc,0x12,0xf6,0x9d,0xb6,0x3a,0x67,0x8e,0xc4,0x77,0xa6,0x05,0xa5,0x05,0xc5,0x7d,0xc2,0xb8,0x10,0xef,0x85,0xe3,0xe3,0x45,0x19,0xcb,0x25,0xc5,0x10,0x63,0xaa,0x66,0x35,0x5d,0x3f,0x1e,0x29,0x74,0x69,0x58,0x66,0xed,0xf6,0xf1,0x71,0x71,0xce,0x37,0x84,0x2f,0xba,0xb5,0x07,0x5f,0xc8,0x95,0xd1,0x8e,0xd7,0x43,0xc5,0x46,0x08,0x0c,},"\x7e\xc4\x7f\x2f\x1f\xe3\xb7\x0a\x6d\x1d\x82\xc7\xcd\x92\x4b\x4b\xf9\xb2\x02\x9f\xc1\x2c\x52\xa6\xe1\xcc\x06\xcf\x5a\xbf\xc0\xa4\x42\xe7\xcf\x14\x5c\x15\x42\xb9\xb1\x35\x04\x96\x65\x71\x10\x35\xe3\xc2\x9a\x91\xd4\xfd\xae\xd6\x12\x70\x57\xa8\x12\xc2\x2c\xd7\x5a\xd1\x87\x9b\xe1\xd2\xc6\x11\x0e\x79\xe9\x87\x52\x4e\x4e\x8f\x27\xf1\x6e\xda\x90\xcb\xd4\x73\x3f\x11\x18\x25\xb5\x16\xd1\x06\x7f\x81\xec\xa5\xe6\x94\x85\x76\xd5\xbf\xed\xb3\x27\x7c\x1a\xbc\x1e\x60\xf3\x74\xd0\x70\x1b\x32\xcc\xfd\x6a\x5e\x9c\x8d\x16\x59\xaa\xf3\xd0\x81\x86\x13\x61\x3b\x7e\x28\x8d\x84\x5e\x9a\xaa\xba\x2e\x3e\x9b\x41\x1d\x50\x1d\xff\xe8\x56\xfd\x31\x3e\x9f\xcc\x9e\x74\x30\xb9\x98\x3f\x20\xab\x4e\xbf\x4e\xb6\x16\xbd\x63\xe2\xc5\x77\x43\x65\x89\x95\xed\x0a\x14\x9a\xe6\x20\xa3\x95\x61\x37\x19\xb3\xed\x7c\xed\x45\x88\xd5\x91\x5d\x70\xa2\xf0\xc6\x87\x68\x0e\xc3\x4f\xe3\xe9\xf7\x23\x92\xe1\x89\xe1\x3a\x47\x49\xd5\xca\x9f\xac\x65\x1b\x92\xc0\x84\xc4\x06\x6f\xdf\x98\xa8\x69\x22\x3e\x4e\x0c\x9b\xec\x58\x12\xb5\xc1\x90\x0e\x6e\x60\xd3\xa1\x88\xd4\x8a\x74\xdf\xd4\x15\xb5\xca\xd2\xe9\x1f\xf7\x6d\xf7\x50\x89\xd2\x0a\x75\x5f\x26\x07\x56\xc8\xf1\x38\x2a\x29\xf7\xb9\x37\x26\xe7\x31\x07\x1c\xd4\x77\x45\x8c\x6f\x20\x22\xdf\xad\x7d\x4f\xc7\xab\x23\x80\x54\x18\x64\xf6\xb5\x87\x74\xf9\xae\x8e\x5f\x07\x7c\x1a\x8d\xa0\x73\xc3\x98\x53\xeb\x2f\xd4\x77\x22\x0b\x45\xa3\xd9\x22\x63\xdc\x7e\x14\xd3\xbb\x2b\x36\xfc\xa4\x66\xc7\xef\x8a\x24\x75\x38\x72\x5f\x2f\xce\x5c\x72\x21\xbc\x75\x1c\xde\x13\x94\x60\x4f\x59\x31\xd7\x33\x36\x0c\xcd\x47\xce\x08\x77\x12\x95\x81\x80\xad\x84\xfa\xe7\x13\xb5\x43\xf0\x5e\xef\x6a\xbc\x06\x61\x43\x31\x21\xed\x3b\x45\x06\xa1\x46\x50\x25\x31\x6f\xb8\xf9\xd6\x45\x35\xcc\x45\x38\xac\xd4\x06\x4d\xd5\x76\xb0\x74\x0e\x1b\xeb\x13\xbc\xea\xf1\x55\x54\x3d\xc8\x90\x97\xca\x5c\xa1\xcf\xfa\x0a\xd6\x5a\x10\xbc\xb7\x59\x35\x4e\xab\x8a\x42\xde\x73\x4a\xf9\x09\xc2\xfe\xba\x38\x0d\x66\x40\x9f\x32\x5d\x5f\x17\xaf\x9c\xa7\xf8\xcb\x41\x34\xfd\x6a\x2b\x6a\x52\x8d\x9e\x60\xd9\x61\x2b\x8e\x8b\x40\x62\xf8\xe0\xfa\xd1\xe7\xee\xb9\xcb\xfe\xf6\xe9\x73\x8e\xc7\x97\x3e\x1c\xb2\xba\x23\x27\xde\xca\x4e\xa4\x65\x68\xf3\x1e\x12\xf7\x30\xe2\x47\xc1\xd0\x70\x29\xfd\x44\x22\xb2\x98\xff\x23\x98\x02\x3b\x41\x20\xa3\xa4\x25\xff\xb6\x52\x88\x0c\x19\xea\x69\xf3\x63\x9e\x0f\x6d\xf4\xf0\x08\x76\xcc\x45\x28\xe2\x67\xe8\x1d\x59\x43\x19\x9d\x0f\xeb\x6c\xb4\xe1\xba\xf4\x04\xbb\x6f\x8b\x39\xb1\x2d\xbc\xe9\xfd\xc3\x5d\xc1\x58\x06\x6e\x99\x75\xae\x5b\xd3\xb5\x5f\x2a\x41\xa7\x91\xba\xf3\xe8\x35\x1e\xc6\x04\x94\x47\x90\xa2\x2c\x93\x3c\x80\xb1\x59\x0b\xa1\x97\xa4\x70\x6f\x7f\x51\x28\x68\x2e\xdc\xd7\x4d\xd7\x8d\x43\x5e\x78\x7c\x2b\x76\xa5\x7b\x3f\x4e\x7d\x7b\xe2\xef\xd2\x6d\xa5\xf9\xa8\x29\x11\x9b\x01\x50\x8b\x70\x72\xc7\x69\x9c\xe5\x2b\xb5\x78\xcc\x5b\x1b\x93\x66\x1b\x51\x72\xfb\x84\xda\xf1\xba\x36\x4d\x2c\xbd\x80\xe2\xc9\x9b\xca\x9c\xae\xa8\x73\xcc\x0a\x16\x29\xea\xc3\x84\xe9\xb2\x06\x84\x2a\x6e\x61\x83\x38\x75\x91\xb4\xaa\x34\xa9\x5f\xd8\x9b\x49\xd8\xd1\x5d\x91\xe2\x19\x40\xe1\x7d\xca\xf1\xef\xf8\xa0\xa4\x7a\x0d\x7a\x95\xda\xea\xd8\x2a\xa3\xdf\x82\x04\xa0\xcd\x20\x69\x24\xae\x51\x0f\xec\x8a\x9c\x4e\x8d\x85\xd4\x66\xfd\xb4\xdd\x36\x5d\xc9\x93\x36\xb2\x2c\xe0\xb9\x56\xb5\xee\x00\x17\xf2\x9d\x25\xee\x66\xfb\xdc\xec\xb0\xd9\x96\xff\xb9\x7c\x8d\xef\xde\x40\xa9\xff\x99\x93\x19\x3c\xa8\xf1\x68\x50\x67\xc1\x9c\x52\x6e\x0e\xfe\xd2\x36\xf8\xed\xb8\xde\xf6\xc2\xa0\x3e\x21\x95\x2c\x86\x12\xd6\x24\xe6\x88\x6a\x31\x1f\xfb\x9e\x2f\x15\xda\x44\xab\xe1\x80\xd2\x6a\x14\xb1\x5f\x63\x56\x1e\x09\x7a\x73\x0e\xca\xbb\x79\x2c\x7c\x23\x5f\xdd\x36\x0f\x57\x1f\x27\xef\x68\x67\x7a\x7d\x63\xbe\xb4\x97\x59\x82\xcb\x19\x9a\x56\x0f\x81\x6e\xe1\x29\x89\x44\x5f\x7f\x75\xb8\x3e\xb2\x78\xd6\x28\x25\x94\x7d\x84\x09\x9a\xf2\xa6\xff\x2e\xad\xbb\xf5\x89\xb5\xeb\x2f\x72\xed\x11\x4c\x73\x15\x11\x53\xae\x00\x22\xbc\x95\x64\xd1\x5c\x2d\x5c\xdb\xba\xab\xbe\xf6\x38\xf0\x30\x95\xf5\x3e\xeb\xac\x96\x83\x40\x9a\xd3\x06\x0c\xfb\x7c\x70\x37\xb9\xb0\xbe\xfe\x06\x9c\x92\xa0\x2b\xe9\x53\x38\x8e\x9e\xa4\x5d\x36\xdd\xf4\xf5\xa8\x38\x94\x32\xcc\xf5\x04\xc5\x08\x08\xb0\x7f\x69"}, -{{0x90,0x3f,0x3b,0x53,0x99,0x89,0x2e,0x29,0xcc,0xfa,0xfb,0xaf,0xbd,0x7c,0xc4,0x53,0x3c,0x15,0x4a,0x62,0x56,0x82,0x40,0x6c,0x89,0xbf,0x89,0x4c,0x88,0x9e,0x43,0xf4,},{0x8f,0xa5,0xff,0x5b,0x6b,0x26,0xbd,0x67,0xdf,0x86,0x40,0x46,0x42,0x9d,0xf1,0x24,0xb5,0x23,0x00,0x5d,0xd8,0x94,0x44,0x27,0x5c,0x8a,0xb7,0xeb,0xdd,0xb6,0xf4,0xdb,},{0x49,0x5a,0x8f,0x99,0x19,0x41,0xc6,0x29,0xbd,0x64,0x1a,0x67,0x47,0x1a,0xb8,0x60,0xbf,0xd3,0x9b,0x72,0xf2,0x33,0x55,0xf7,0x27,0x09,0x09,0xd5,0x30,0x7c,0x77,0xb1,0xb9,0x4b,0xae,0x3e,0xd1,0x94,0x50,0x78,0x0e,0x90,0x85,0x30,0x5f,0x31,0xb1,0xe1,0x68,0x3f,0xac,0xf0,0xd1,0xfc,0x88,0x40,0xae,0xc7,0x7d,0xf6,0x7a,0xea,0xb3,0x02,},"\xa2\xc1\x1b\x5f\xb8\x84\xa8\x22\xfa\xe6\x4d\xa8\xdc\xb4\x45\x2c\xfd\x7a\x04\xca\x6d\x7a\x5a\xbc\x8d\x82\x71\xe9\x3f\x93\x44\x9e\x1f\xeb\x8e\x02\x97\x5f\x49\x6b\x90\x34\x40\x0d\x35\x99\xab\x97\xaa\x39\x97\xda\xd1\xc9\xff\xab\x5b\x9f\x8d\xf4\xaa\xa5\xb8\x40\xd9\x0d\x86\x2f\xff\x7f\xf0\xcf\x73\xa6\x0c\x66\x15\x00\x09\xe0\x1c\x93\x7b\xd1\xaf\x68\x07\xb5\xba\x2e\xf6\x12\xee\x13\xd6\xde\xf4\x0b\xb0\x9c\x46\x81\x1a\x2d\x4e\x46\x8e\x03\x8b\x32\x30\x55\xf9\xdf\xbd\x01\x82\x9a\xe2\xf1\xa5\x35\xef\x02\x95\xca\x1e\xd1\x76\xe4\x6d\xe9\x96\xcc\x87\xba\xce\x45\x35\x62\x33\x21\x18\x35\xb6\xf4\x75\x7c\x99\xbd\x52\x7e\x76\x6a\x5f\x0b\x12\x7c\x8c\xff\x8e\x6d\x66\xf8\xba\xb8\x6d\x00\x00\x45\x2c\xd7\xf6\x7b\xe5\x57\x78\x85\x13\xec\x07\x09\xb5\x37\xb0\x07\xb4\x20\x16\xe7\xa8\x96\x83\x46\x9b\xd8\xff\x8d\x21\xeb\x10\xc1\x49\x17\xd4\x7f\x2d\xc4\xf8\x26\x32\x4f\x7c\x01\xb2\x4f\x8d\xcf\xf0\x4a\xa6\xd8\x50\x95\xd9\xab\x15\x4b\xa5\xc3\xbd\x91\x9c\x9d\x72\x8d\xbd\xc9\x90\xd1\x9c\xeb\x23\x7b\x45\x29\x07\xbd\xbe\x21\xf9\xf0\x8c\xdd\xae\x5b\xe4\x79\x27\x67\x09\xb8\xae\x73\xf8\x97\x4c\x4b\x11\x38\x41\xad\x53\x5d\x6f\xf6\x22\x3e\xea\x47\xd1\x85\xc8\xe8\xa6\x5f\xde\xe2\xc2\xd4\x58\x00\xc1\x7c\xb5\x56\xea\xfd\x67\x66\x47\xd9\x96\x8e\x55\xca\x9c\x59\x23\x2b\x97\x70\xad\x10\xf9\x55\xfc\xb5\x85\x8e\xdf\x0b\x74\x83\xad\xc1\x81\x7c\x0f\x8d\x02\x24\x04\x82\xca\xa7\x6f\x43\xc6\xd2\xe9\x6a\x4f\xf9\x59\x1c\xd7\xb8\x78\xea\x61\x9e\xa5\x6d\x1b\x58\x86\x31\xe7\x63\x3c\x5e\xcb\x2b\xa6\x99\x83\x98\xcb\x06\xe3\xcf\x75\xae\xb3\xe0\x8d\xab\x19\x63\x2d\x45\x4f\xf7\xdc\x0e\x2a\x41\xf0\x97\x37\xe8\xee\x82\x3d\x1b\x9e\x24\xdd\xa8\x4a\x2c\xe0\x31\x3c\xb9\xfc\xe3\x1c\xb6\x63\xc5\x5c\x05\x64\x5e\x63\x40\x17\x56\xe8\xad\x38\xf5\x17\x4c\x02\xa6\x63\xd8\x15\xad\x64\x42\x2f\xf7\x72\x7d\x4f\xda\x16\xe4\x8d\x4b\xf8\xf6\x60\x2e\x72\x60\xda\x62\x33\x0e\x68\x78\xc3\x47\x64\xe1\x29\xaf\xbd\x55\x22\x08\xf6\xbe\xd4\xf7\xce\xe9\xb6\x71\xf4\x88\x38\x88\x15\xd7\x4b\x49\x51\xb8\x68\x2c\xe7\x6c\xfe\x31\xe9\x38\xc4\x70\xb8\xf7\xa4\x5f\xd6\x3a\x96\x91\xf4\x26\xa7\x5c\x58\xed\x3d\xbc\xe3\xae\x8f\xd9\xd1\x0a\x83\x52\xe4\x7c\xc1\xb1\x2c\x91\x92\xac\x86\x26\xd1\xb3\x84\xb7\x7a\x18\xb9\x86\xe7\x1a\x99\x86\x46\xc1\x37\x99\x2b\x67\xc4\x81\x7e\x34\x63\x45\xfa\xf5\x0a\x26\x59\xfd\xc5\xca\xd5\xc7\x19\x64\x8e\xfe\xe3\x84\x7c\x0f\xf6\xbd\x70\x95\xc2\x8b\x4c\x51\x95\x96\x7c\x90\xcf\x84\xe1\xef\x68\xa1\xad\xa0\x1f\x62\x74\xed\xe3\x63\xfb\x82\xe0\xb5\x49\xa8\x70\x24\x5d\x60\x8c\xae\x82\x34\xf6\xd8\x4a\xbe\xb6\x1b\x71\x84\x66\x09\x36\x20\xd8\x5c\x58\x4a\xb0\x1e\xed\xa0\x91\xee\x8a\xff\x1c\xf6\x7a\x46\x75\x67\x9a\x1f\x40\x03\xe6\x6a\xaf\x43\x87\x1b\x88\xec\xda\x6a\x16\xdc\x5a\xcb\x05\x39\x5f\x2d\xa9\xdf\x70\xd3\xbd\xb6\x14\x38\xe1\xc3\xd4\x09\x81\xe0\x34\x62\x7d\x02\x6e\xe1\xd2\xe7\x9f\x65\xcb\xb8\x18\x9f\xcb\xb3\xcc\x8b\x5c\x2e\x7e\x79\x6b\x5d\x28\x89\x41\x1d\x56\x41\xfb\x86\x9c\x7b\x0a\x58\x9c\x43\x25\x4f\x8c\x54\x38\xaa\xf5\xac\x42\x38\x32\xf0\x18\xd7\x9a\x51\xb9\x6f\x24\x2e\x2d\xe0\xc8\x51\xcc\x5f\xc2\xb2\x06\xbc\xa4\xb5\xbe\x83\x61\x25\xac\xa1\x44\xbb\xc3\x8c\x8c\x63\x8b\xe0\xd3\xbb\xe0\x25\xa1\xbe\x8b\x3d\x03\xd5\x92\x9b\xaa\x64\x9c\x35\x44\xa3\x2a\x91\x5e\x92\x6a\x38\x79\x1b\x13\x4a\x97\x1b\xc5\x2d\x1b\x6c\xa6\x25\xef\xb7\xc2\xf3\xbb\x47\xab\x51\xd4\x3c\x8e\x37\x4d\x16\xcd\xa8\x82\x20\x4b\x71\xca\xfe\x90\x93\xcb\x60\x78\xef\x2b\xdf\xad\x59\xed\xea\xf3\x6d\x0c\x1a\x4d\xc4\x25\xb9\xe7\x18\xc4\x51\x85\x22\x5a\x9c\x30\x84\xb7\x82\xbf\xe1\x63\x49\x2f\x8e\x84\x82\xec\x9a\xa0\x73\xf6\x90\x1f\xf3\xd1\x11\x7c\xe9\x17\xe1\x91\x22\xfa\x67\x65\x0d\x85\x8f\x8f\x82\xb3\x76\x69\x72\x3c\x22\x6d\x72\x16\x97\xe7\xae\x33\x59\xf5\xa6\xb0\x24\x24\xee\x87\x94\xcb\xea\xa6\x41\xed\xbb\xf7\x53\xb1\x03\xa5\xfe\x15\x8b\xe0\xba\x60\xd8\xa2\x12\xd4\x2f\x8c\x5c\x2a\xf2\x54\xbf\x1b\x9c\x80\xdf\x6f\x1c\xf0\x9d\x70\x79\x3c\xae\x1a\xbb\x46\x27\xb1\x78\x0f\x1b\xce\x7f\x61\x7e\xe5\x0f\x6b\xd4\xb0\x83\xb2\xfc\x7c\xd8\x44\xaf\xb7\x23\x80\xd5\xcb\x6b\x25\x5b\xf4\x7e\xa7\x1c\xad\x6c\x6c\x4d\xf0\x21\xf8\x1b\x54\x8f\x43\x2c\x18\xac\x36\x6c\x6a\xec\xd0\x3b\x6c\x8c\xe2"}, -{{0xee,0x81,0xe0,0xfb,0x05,0x2e,0x23,0xad,0x75,0x9d,0xe6,0xaa,0x98,0x38,0xde,0x98,0xe3,0x6d,0x48,0x20,0xdc,0x0e,0x1b,0x7b,0x3e,0xf1,0x14,0x1a,0xb9,0xde,0x33,0x40,},{0x98,0xf3,0xc9,0x88,0x07,0x94,0xde,0x64,0xfa,0x26,0x9b,0xdf,0x33,0x60,0x95,0xe0,0xe0,0x1b,0x1a,0x3b,0x37,0x5f,0x96,0x5b,0x93,0x70,0x0b,0xbd,0xf4,0xb9,0x68,0x69,},{0xf0,0xd8,0x73,0xbe,0x15,0xcf,0x45,0x4c,0x74,0x34,0xde,0xab,0x71,0xde,0x25,0xcf,0xe9,0x9e,0x81,0xa4,0x8d,0x2d,0xce,0x6a,0x35,0xd1,0x63,0x37,0x14,0xdf,0x0f,0x8b,0x40,0x29,0xe0,0x58,0x25,0x11,0xef,0xc4,0xd0,0x68,0x92,0xf6,0x72,0x85,0x02,0x46,0xbc,0xf0,0x70,0xc4,0x6f,0xad,0xc2,0xfa,0xab,0x44,0xdc,0x43,0x50,0x45,0xde,0x00,},"\x28\xd9\x9e\x95\x18\xb8\x82\x83\xc2\x20\xe7\x6d\xe2\x05\xd7\xb6\x16\x23\x59\xb1\xdf\xec\x1f\xba\xab\x98\xec\x0e\xf1\xdf\x8d\xa4\x0b\x6b\x7a\x77\x5e\x97\x28\x45\x0a\xeb\x23\x51\xfe\x5c\x16\xaf\xda\x3a\xec\x0d\x71\x04\x9d\xa4\xcb\x7d\x4c\x63\x71\x3a\x24\x10\xab\xb0\x22\xf8\x16\x11\xcc\x06\x45\x87\xc8\x04\x7d\x43\x83\xc0\x0c\x3c\x56\x2e\x9c\xee\xa3\x57\x75\x09\x53\x91\xb5\xf3\xdd\xa0\xe3\x73\xc4\xa7\x7f\xf6\x18\xa2\x8e\xf6\x87\x87\xeb\xfc\x3e\xbc\xcc\xc5\xd1\xce\x32\xdd\xf4\x3b\xfc\xe5\x72\x03\xda\x76\xa8\x66\x4b\x3c\x61\x6a\x88\x69\x28\x2d\xb0\xb7\x28\x11\xb5\xfd\x5a\x2a\x03\xa4\xff\x66\x72\x4b\x04\x89\xea\x2e\x10\x73\xd7\x81\xc3\xf1\x89\x11\x5d\x79\xba\x20\xa4\x6d\x1d\xfa\xf5\xb1\xa5\x84\x7b\x2a\x2e\x31\xb2\x80\x87\x37\x56\x9e\x60\xb5\x72\x31\xe6\xa9\x9a\xf2\x6f\x58\xaf\xeb\x15\x77\x08\x10\x47\x48\x12\xfe\x4a\xfa\xcf\x88\x45\x06\xb8\xc3\x14\xbc\x67\x51\xbb\x42\xb4\xbd\x6e\x87\xd2\xe5\xde\x70\xfe\xc5\xf0\x01\x4c\x42\x57\xb1\x34\x72\xa3\xb0\x11\x1a\x7a\x8c\xf8\x3b\x1d\xc0\xcf\x96\x20\x22\xcd\x44\x46\x8a\x3a\xb1\xf0\x01\x6b\x70\xca\xfb\x1d\x02\x46\xac\xd7\x05\x39\x37\xc9\xac\x40\x20\x7c\xf1\x3b\x50\xdd\x15\xe2\xa2\xe1\x5f\x50\xa0\x5b\xca\x2f\x28\xe7\x70\x26\x23\x71\xda\xce\xe0\x2e\x25\xb2\xa5\x96\x58\xed\x90\xc0\x60\x0f\xa2\x65\xb7\xde\x3d\x44\xf8\xef\x07\x21\xbf\x39\xec\x4d\x4e\xca\x58\x88\x52\x7b\x77\x80\x67\xb1\xd6\x59\xc0\x05\x14\xc8\xd7\x05\x62\x73\xa2\x94\xcb\xaf\xe4\x50\x90\xd0\x69\xbb\xd0\x9f\x92\xf4\x61\xe6\x48\xf3\xe6\x82\x88\x2c\x71\x57\x6e\x97\x4d\xeb\xb0\xcb\x7e\x0e\x83\x16\x40\x66\x60\x15\x0d\xab\xb5\x8e\x76\x24\x66\x14\xa2\x91\xc1\x2c\xe9\xe0\x34\x6c\x02\x77\x4d\x4d\x09\xce\xcc\x23\x69\x67\x12\xfe\xe2\x50\xc0\xbb\x5d\xf7\xa2\xa4\xc4\x3a\x55\x63\x33\x1b\xcb\xbf\x84\xbe\x3f\x2e\xeb\x06\x54\x53\x2e\x85\xec\x59\x7b\x53\xb3\x2f\x39\x54\xcc\xaf\x0c\xd4\x26\xde\xf9\x1e\xc4\xb2\x08\x41\x69\x48\xaf\x27\xde\x04\xd8\x32\x70\x58\x97\xa0\x4c\x5e\x24\xa2\xe8\x8b\x20\x04\x0f\xd4\xec\xa3\x08\x9f\xdb\x91\x8a\x92\xe3\x5c\x4d\x31\xda\x26\x85\x0b\x9d\xd3\x41\x18\xc7\x44\x49\xa8\x55\xff\x4b\xc9\xff\xf0\xd1\x44\x78\x39\x65\x4b\x00\x41\x79\x99\xfa\x4e\xb8\x91\x02\x13\x3c\xd3\x20\x40\x91\x53\x58\x49\x57\xc1\x04\x89\xdb\x4b\x72\x44\xc9\x59\x07\x98\x8e\x83\xdc\x82\x12\x71\xdc\x1a\xb6\x43\xd6\x99\x2d\x0f\xd8\x20\x49\x2a\xe6\x42\xe2\x4d\x19\xa1\x79\xfa\x75\xd9\x36\x3b\x32\x16\x62\x60\x6f\xd9\x4a\x47\xfd\xb2\xe6\x8d\x3f\x30\xc0\x46\x73\xf8\x09\xde\x01\x44\x94\x5e\xa4\xd4\x18\x3d\x48\xf1\x75\x07\x9e\xed\x50\x32\x3c\x6b\x19\x2e\x02\x0e\x16\x2a\x35\x03\xaa\x58\x2f\xb0\x8b\x40\x36\x24\xa2\x3e\x35\x7e\xed\xa0\x8d\x90\x43\x86\xf3\x58\xc3\x6c\x64\xd3\x14\xc7\x7c\xd9\xd4\xd2\x3d\x58\x1e\xe5\x3d\x81\xff\x97\xad\xa0\x19\xcf\xcf\x04\xeb\x9d\xcc\x1d\xe9\xb7\x4c\x3d\xb6\xb8\x11\x57\x8b\xd4\xf2\x19\xc5\xca\x48\xef\x4c\x82\x6b\x09\xe6\xc9\x6d\x03\x1f\x65\xdd\x48\xb6\xe7\x3d\x0c\x10\x05\x86\xb2\x1d\xf0\x29\x3a\x03\xd2\xed\x7e\x50\x09\xad\x02\x53\x40\xc2\x1d\x09\x06\x06\x91\xf5\xcd\x8a\xf2\xab\x12\xf9\xb8\x60\xee\x87\x81\x5e\x1a\x9f\x40\x0c\x2a\x6f\x63\x4e\xa8\xf9\xb3\x42\x5a\x08\xd1\x0b\x3c\x81\x53\x67\x38\x8f\x4d\x1b\xe3\x56\x31\x8e\xcf\x90\x35\xd0\xee\x97\x5a\xff\xa8\x59\xca\xac\x28\xeb\xcc\xd0\x59\x9b\xb2\xf6\xf3\x52\x36\x61\xbd\x17\x8f\xc9\xe4\xca\xc3\x78\xbb\x9d\xd4\x71\x6b\xb0\x69\x23\xfd\x2b\xbd\x56\xc9\x59\xc4\x2b\x95\xd5\x01\x93\xf8\xbf\x29\x9f\xcc\xa3\xb2\xee\xa9\x4e\xc5\xf9\x85\x83\x92\x4c\x08\x04\x16\xe2\x8b\x54\xfe\x57\x65\x84\x58\xb0\x55\xce\x4d\xe8\xa7\x5f\xc8\x27\x15\xca\xe9\x1d\x37\x5c\xf6\x92\x81\x37\x80\x51\xbb\x61\xfd\xd7\xbb\x00\x68\xf6\x3e\xfa\x6d\x6e\x83\xd8\xfd\x42\x57\xaf\x80\x97\x0f\x4a\x9e\x69\x24\xb2\xde\x0a\xd9\x66\xdf\xfe\x6f\xa4\xa1\x13\xb0\xe7\x72\xf1\x76\x87\x85\xb3\xb4\x20\x49\xf7\x6c\x48\xad\x80\xf2\xc6\x7f\xb0\xf9\x1a\x5f\xc4\x10\x79\x12\x52\x0d\x8d\x68\x3c\x06\x2c\x3a\x22\x2b\xcd\xa7\xe7\x10\xba\xcd\x47\x8e\xe8\x83\x67\xb6\xa0\x59\xa4\x52\xfd\x26\xf1\x14\xa5\xac\xbd\x69\x79\xba\x01\x9f\x7d\xa6\x8a\xc0\x4a\x19\x30\x26\xbc\x1c\x27\xe4\x83\x7b\x1d\xe2\x9c\xce\x09\x0e\x33\x80\xd5\x05\x1a\x58\x64\x09\xe6\x28\xe3\x14\x56\x65\xbb\x1d\x84\xec\xd8"}, -{{0x69,0xd0,0x1d,0x82,0x91,0x13,0x08,0x1c,0xbf,0x5d,0x0c,0x6e,0xf7,0x7b,0x21,0x77,0x5c,0x8d,0x9b,0x68,0x00,0x00,0x05,0x6f,0x03,0xc7,0x5a,0x7d,0x0a,0x05,0x87,0xd2,},{0xee,0x84,0x69,0xdd,0x61,0xcf,0x5d,0xe4,0x00,0xda,0x7d,0x7a,0x47,0x9a,0x44,0x18,0xe6,0x77,0x2e,0x69,0xff,0x53,0x30,0xce,0x5c,0xa7,0x78,0x59,0xfe,0x27,0x17,0x55,},{0x40,0x8c,0xef,0xcf,0x01,0x41,0x7e,0x2d,0xc6,0xa8,0xa1,0x82,0x84,0xe4,0x11,0x65,0x7f,0x03,0x92,0x50,0xc3,0x12,0x78,0xdb,0x28,0x19,0xf9,0xea,0xea,0x42,0x93,0xfb,0xf6,0x83,0x1a,0x28,0x01,0xfc,0x1e,0xa6,0x87,0x16,0x57,0xb8,0x41,0xe1,0x73,0xf4,0x51,0xb0,0xd5,0x75,0xa9,0x37,0x9e,0x35,0x85,0x7e,0x8c,0x72,0x97,0xfa,0x14,0x04,},"\x0b\x9e\x11\x0f\x29\xd1\x98\x16\xa1\x7b\x2c\x75\x47\x8f\x13\xce\xe9\x53\x81\x1a\x19\x83\x01\x4c\xb7\xeb\x0f\x75\x52\x69\x12\x04\x4c\x3e\xa6\x82\x97\x80\xe6\x57\xf8\x17\xc5\x59\x7d\x46\x61\x08\x0d\x90\x34\xc9\x77\x87\x22\x41\x8f\x2c\x3a\xee\xca\xef\x6b\x69\x0c\x5b\xd3\xb5\x93\x70\x10\x86\x98\x8e\x43\x40\xae\xc3\x4e\x01\x72\x75\x8e\xb2\x40\x87\xd0\x3a\x8f\x76\xe7\xcb\xca\x53\xaa\xaf\xc4\xd2\x15\x5c\x75\x32\xab\x54\xbe\x48\x87\x26\x53\x06\x6f\xa1\xfd\xd5\x4a\xcf\xe9\xda\xae\xca\x35\x6c\x29\x0e\x6b\xe6\x33\x55\xb6\xd9\xfc\x52\xeb\x5e\x4f\xcc\xbb\xc6\x08\x35\x07\x13\x2d\xe4\x85\xbf\xae\x9f\x42\xe1\x97\x12\x23\x2b\x71\x64\x02\xc2\x3f\xea\x74\xef\xa6\x9d\x73\xc8\xc2\xe3\xa8\x66\x2b\x8b\x65\xb0\xfd\x00\x77\x41\x01\x3e\x1f\x6e\x3c\xfe\x43\x45\xd5\xc8\x30\x68\x2f\xe6\x00\x21\xd7\x08\xe1\x0a\x9e\x9f\x40\x52\xff\x7a\x6a\xbf\x28\xac\xb1\xd6\xb5\xfb\x03\x8e\xed\x3f\x72\x51\x3c\x35\x5b\xbf\xd5\xc2\x27\x4f\xa8\x5f\xc4\xf4\x46\x97\x4b\x2d\x1b\xc0\x36\x50\x7a\x1e\xb5\xfc\xf5\x5d\xbd\x44\x21\x0e\x53\x82\x74\xde\x80\x8b\x90\x0b\xf1\xc0\xfc\xc0\x24\x12\x70\xdb\x8d\xbd\xcd\x88\x34\x9d\x67\x22\x4f\x08\x7e\x5f\x07\xf6\x99\xb0\xba\xe6\x8b\x2e\xbc\x9a\x4e\x27\xc7\x0d\x3a\xc7\xd9\x96\xfa\x7d\x4d\xab\xd5\x68\x37\x8e\x3f\x93\x90\x5b\x1c\x89\xc6\x52\xd3\x84\xc1\x6c\x2b\xcb\x1c\x98\x44\xc3\x8f\x71\xbb\x13\xe0\xc6\xa2\xea\x95\xb6\x12\xe3\x90\xc5\xf8\x6d\x24\x8e\xa5\x31\xf2\xec\x6f\x63\x9a\x40\x2d\xfa\xcc\xf3\x72\x17\x00\x53\x44\x03\x07\x45\xd1\xf1\xe5\x20\xcc\x19\x5d\xaf\xdd\x7f\x29\x5f\x37\x7b\x8d\x61\x47\x16\x70\x38\x36\x21\x9b\xb7\xb0\x9f\xea\x7a\xae\x9a\xc3\x3e\x42\xdc\xab\x65\xcc\x61\x42\xfc\xd8\xce\x15\xe9\x77\x17\xfd\xb3\x3e\x95\x38\xc4\x4f\x6c\xd9\xc1\xc6\x5d\xb6\x27\x51\xf5\x52\xf8\x70\xf1\x01\x42\xc9\x6f\x9d\xf1\x85\x5a\xbb\x39\xe4\x27\x06\xa5\x63\xab\x15\x45\x11\xfd\xce\x68\x7c\x95\x76\xf9\xed\xc3\xb4\xba\x55\x34\x6c\xe6\x68\x02\xff\xfe\xf4\xb1\xb5\xe1\x20\x15\xce\x8b\x57\xde\x54\x58\xca\xa0\xda\xf3\x41\x96\x81\x28\x58\x42\x88\xc2\xf2\x7c\xbf\xb7\x6e\xab\x28\x6b\xac\x5f\x66\xaa\xd0\x04\x9e\x0c\xa6\x0a\x90\x14\xe1\x79\x01\xc4\x13\x0e\x83\xce\xae\xb4\xc2\x71\x3e\x97\x1a\x23\x5e\xff\x99\x5a\x81\x3a\xe4\xea\x64\xa5\x83\xff\xde\xfd\xac\x82\xac\x76\xea\xf4\xd4\x7c\x4a\xc8\x25\x0f\xcb\xaf\xd6\xb8\x8f\xae\xb4\x80\x15\xf5\xb4\x2b\x53\x34\xa5\x0b\x31\xd4\x50\x2e\xa4\x91\xda\x90\xdc\xe9\x3c\x08\xfd\x56\xf5\xc5\x8e\xed\xb3\x79\x16\x6a\x23\x76\x2b\xe5\xe4\xad\xea\xa6\xf4\xae\x1c\x24\xe0\xca\xc4\xdd\xca\x03\x83\x45\x85\x60\xcd\xc4\x8b\x8c\xd1\xf4\x2a\x3b\xa2\xf6\xff\xb6\x07\x79\x09\xfc\xb2\x94\xad\x1e\xf4\xa4\x4c\x22\xec\x4b\x39\x87\xdd\xbe\xef\x32\x5b\x98\xce\xd5\x68\x15\xea\x7d\x5f\xcc\xf5\xaf\xdf\xe9\x8e\x0e\x6d\x92\x0f\x7a\xda\x2e\xb5\xc9\x16\x24\xc7\x6c\xbb\xa2\x99\x3a\x9c\x7a\x55\x02\x1d\x12\x7a\x66\x7b\x39\xe2\x35\xdf\x4f\x81\xde\xe7\xdd\x14\x28\x98\x77\x8d\xbd\x92\x13\x5b\x70\xb3\xac\xf5\x9f\x6c\x29\xa2\xc9\xd4\xa7\x00\x6e\xf1\x1a\x91\x8b\x3a\x29\x06\x26\x4a\x15\xd6\xb5\x29\x30\x8c\xbc\x89\xf8\x56\x01\xfc\x1e\xa1\x31\x4d\x67\xf7\x56\x6c\xf1\x09\x16\x5c\x7f\x92\xde\x1a\x18\xd7\x0d\xeb\xe0\x24\x34\x9d\xb3\x56\x0a\x6e\x52\x7e\x2a\xc3\xe0\x67\x89\x46\x87\x04\xe6\xb8\xf1\x87\x1f\x16\xba\xe9\x82\x73\x92\xb4\x18\xf1\x08\x6c\xc4\x97\x08\x6c\xed\x14\xb1\x24\x9d\x6d\x87\x94\xf2\x3b\xb8\x77\x9d\x41\x86\x48\xf2\x15\x56\x56\xa6\xfd\xa7\x44\x0c\x56\x28\x4d\x9b\x21\x88\xfa\x7d\x17\x36\xbc\xcc\x9c\xff\x0b\xe5\xb1\xe1\xf5\x51\xff\x81\x37\xff\x59\x66\xed\x9d\x0f\x7f\x01\xc3\xdf\xf2\x98\xe9\x10\x2f\xfb\xd3\x24\xbf\xca\x5f\xfe\x09\x68\xe6\x6f\x9d\x82\xf4\x87\xd3\x03\x93\x4f\x27\xf7\x8b\x28\x37\x8e\xb7\x2c\x38\x27\x29\x62\xa5\xf7\x35\xd7\x39\x2e\x5d\x33\x3f\xd8\x6d\xe1\x67\x26\x9c\x17\xa1\x65\xb9\x2d\x31\xa4\x88\x0a\x41\xe1\x36\xf7\x18\x96\x0a\x91\x9b\x3d\x7c\x4e\x74\xcb\xd7\x3c\x73\xf9\x21\xbe\x51\x3f\x73\x9a\xff\xb2\xe4\x1f\x80\x42\x6b\xb8\xcf\xb4\x56\x4b\x98\xfc\x4d\xe5\x32\x55\xce\x3f\x98\xb4\xd2\x2a\xe6\xfc\xe9\x19\x0b\x55\xbf\x2c\x93\x86\x1c\x1d\xca\xc1\x01\xb5\xe1\x6c\xf0\x99\x91\xc5\xde\xfa\x33\xf8\xd5\x10\x56\xd9\x34\xbb\x4b\x47\x7b\x65\x20\xd4\xc7\xae\x22\xea\x7f\xb3\x10\x9d\xe7\xf4"}, -{{0x4b,0x8e,0xd2,0x97,0x31,0xf1,0x04,0x79,0x5e,0x97,0xde,0xe7,0xc8,0xb4,0x01,0xa0,0x2a,0xfa,0xa9,0xa7,0x95,0xe6,0x13,0x35,0x3d,0x2b,0x95,0x00,0x17,0x65,0x02,0x7a,},{0xf2,0x22,0x98,0x21,0x0b,0x09,0xfd,0x61,0x7f,0xc8,0xb3,0x50,0x74,0xca,0x18,0x01,0xe6,0x07,0x5d,0xc9,0x2a,0x8f,0x50,0x34,0x4b,0x80,0xe8,0x54,0x05,0xa0,0x38,0xf5,},{0x23,0x45,0x88,0x66,0x86,0xeb,0x39,0xb5,0x19,0x9c,0xaa,0xa9,0x61,0x5b,0xc6,0xb4,0x89,0x6f,0x07,0x6e,0x8b,0xd7,0x36,0xc0,0x03,0x8a,0x65,0x17,0xf9,0xc2,0xb1,0x67,0xe7,0x59,0xf3,0x73,0x72,0x26,0x8a,0x69,0x7e,0x9b,0x78,0x60,0x5f,0x2e,0xd9,0x47,0x25,0xf6,0x90,0x5a,0x79,0x00,0x15,0x3f,0xc9,0xe8,0xbe,0xed,0x31,0xff,0xae,0x05,},"\xcb\xb5\xf1\x3a\x0e\xf2\x83\x7b\x80\x5d\x3b\x78\x51\x09\xf9\xf2\xe0\xd0\xa0\x17\xbf\xe7\x69\x2d\x91\xec\x23\xdd\xab\x78\x17\x33\x0b\xef\x24\x7f\xd9\x1a\xb2\xc7\x7d\xd4\x41\x25\x19\xcb\xd3\x84\x75\xce\x0c\xb3\x9b\x14\x80\x09\x2b\xc7\x38\xd4\x15\x2b\x8a\x6d\x55\x24\x8e\x3b\x9f\x32\xcd\xcd\x15\xec\x5d\x05\x9e\xc3\xc8\x84\x75\x54\xee\x47\x00\x53\x94\x97\x4d\x8e\xb2\x35\x92\xd1\x7f\x5a\x39\x6e\x3c\x19\xf8\xe8\x98\x37\x06\x79\xfe\xf5\x31\x8c\x4d\xd2\x99\xc6\x21\x7d\x6a\xbc\xc9\xb6\x1a\x5b\x2d\x0c\xfe\xf6\x95\xd1\x70\xca\x20\xa8\x3d\x6f\xd3\xc6\x66\xc8\xfd\x1c\x10\xad\x97\x0e\x2f\xa6\xaf\x10\xff\x0e\xd0\xcb\xfe\x75\x22\x46\xd0\x3f\x3a\x3c\x60\x32\xdb\xb3\x19\xbc\xfd\xac\x4d\xaf\xc5\x0b\xc3\xe6\xbf\x59\x5f\x49\x1d\xec\x38\x8b\x34\x41\xb8\xce\xe0\xdf\x91\xf5\x5c\xc7\x80\x7d\x07\xf8\xf5\x41\xed\x73\x22\xff\xc3\x9d\x18\xf8\x95\x60\xe4\x12\x3a\xec\x1d\x77\x96\x9c\xf1\x87\x77\x86\xf4\xcf\x94\xb1\x77\x0b\x10\x90\x65\x5e\x8c\x72\xee\xce\xa4\x57\x2e\x46\xf5\x80\xf9\x63\x96\x6d\xb2\xa1\x08\x5e\xea\xbc\x57\xbf\x4a\x84\x72\x4b\x9c\x85\x99\xa4\x33\xab\xf5\x8b\xca\x80\x40\x91\xd3\xd5\xe6\xe5\x04\x8e\xc2\x7b\xf8\x12\x9b\x67\x0c\xc2\xc8\x8d\x9c\xac\x47\x18\x59\xf4\x69\xb9\x18\xf3\xf6\xd7\x0f\x7d\x66\x63\x50\x1f\xfb\xef\xef\x02\x6d\x79\xea\x70\x92\x7c\xcf\x60\x75\xee\x51\x05\x42\x33\x21\xe1\x1a\xee\x9a\xd1\x6f\x98\x7e\xfb\xdd\x00\xb6\x2a\xff\x69\x8e\x52\x1a\xdf\x92\x03\xb1\x5e\x9f\x0f\x3a\xd0\x7d\xca\xd9\xdd\xcc\xaa\xe9\xb4\x90\x24\x7f\x12\xc3\x11\xde\xe6\xb7\x3b\x8f\x91\x24\xfd\xce\x12\x99\xb4\x7f\xb1\x91\x4c\xee\x7e\x3a\x07\x81\x4e\x31\x2c\x3c\xe5\x69\x27\x67\x2c\x51\xb3\x18\x59\x80\xcd\xe5\x7f\x3a\x75\x9b\x50\xbc\xfc\x4c\xb0\x75\x3b\x95\x4d\x97\x13\x5d\xeb\x2a\x05\x32\xe9\x8b\x66\xf3\x9a\x7c\x08\xcf\x4d\x54\x85\x39\xe2\xeb\x9f\x42\x2f\x66\x49\x65\x88\x93\xa7\xc3\xc2\x5a\x4f\xc9\x01\xf8\xc3\x98\xb8\xc7\x27\x33\x91\x1a\x00\x72\xed\x6b\xd2\xf4\x18\x93\x89\xae\x10\xa8\x14\xf6\x48\xd7\x1f\x69\xc3\x7e\x82\x95\x78\x44\x28\x18\x3b\x93\xc8\x01\x3b\x96\x4a\x9f\xef\x86\xb4\x8f\x48\x93\x16\xbc\x22\x2e\x96\xb3\xbd\x15\xff\x14\x9b\x96\x82\x03\x29\x55\x1c\x15\xe0\xd0\x95\xd1\x56\x9b\x1e\x21\x31\xc7\x87\x51\x56\x5c\x30\x41\xf2\x97\x85\x39\x5b\x97\x15\x13\x17\xf6\x2e\x35\x82\xe4\x07\xb1\x64\x9e\x60\xd0\x3a\x85\x99\x12\x0a\x30\x2a\x46\x95\xfa\x86\x2b\x41\x20\xf9\x4d\x22\xec\xae\x72\x39\x8d\x20\x94\xd1\x08\xad\x2d\xbc\x1b\x95\x97\x35\x90\x21\x42\xaa\x5f\xe6\xe7\x99\x65\x59\xf6\xf6\x01\x44\x8a\xea\x02\xf3\x56\xf8\xdc\xdd\x14\x43\x40\xeb\x36\x19\xf9\x86\x5b\xf7\x67\x2a\xea\x32\x6c\x4e\x93\xc9\x9f\x0e\xd1\xf9\xed\x86\x6b\xe1\x5d\x3a\xf2\x67\x5f\x6d\xd6\xe2\x96\x60\x2c\xa3\x73\xa8\x15\xb0\xbe\x46\xbc\x2a\x3f\xbb\xa0\x6b\x88\x05\xc7\x31\xfe\x08\x00\x7d\xaa\x06\x05\x09\x61\xb2\x4d\x14\x69\x3a\x72\x89\x8c\xcf\xb8\xb8\xfe\xdc\x60\xa4\xee\xf8\xff\x79\xb6\xdd\x75\x92\x59\x18\x33\xb5\x76\xef\x48\x29\x4e\x5e\x04\x85\x94\x2e\x57\xc1\x19\x60\x2e\xdd\xf8\x8b\x1f\xae\xa5\x17\xf2\xfc\x2e\x3d\x14\xd2\x46\xa5\x2c\xbd\x71\xa1\x08\xc6\x6b\x6c\xc4\xf2\xd4\x58\x04\xa2\x82\xec\xed\xb1\xb0\xad\x3d\xc3\xb4\x88\x0a\xb2\xff\x78\xb8\xdd\xde\x48\xf7\x46\x6c\x14\xfe\xd3\x49\xe9\x5b\x50\x53\xab\xf1\xbf\x09\x91\x12\x60\x31\xd9\x75\x47\xd1\x43\xc2\xae\x16\x49\x28\xb6\x1c\x07\x08\xaf\x8c\xa3\xe4\xf5\x51\x54\xd1\x3d\x75\xe9\x7d\xb4\xba\x3e\x69\xd3\x6e\x9b\x37\x08\x23\x68\xc2\xf7\x21\xbd\x3f\x95\x12\x6a\x1e\x00\x4e\xb2\xa1\xbf\x26\x83\x43\xae\x21\xd2\x99\x50\x44\xa2\xca\xdd\x67\xff\xac\x9e\x15\x38\x17\x5b\x3c\xc4\x4d\xb5\xd2\x6f\x1d\x5c\xc8\x9c\xa0\xe1\xc1\xee\x85\x37\xa8\xa9\x1d\x32\x4c\x2e\x02\xe1\x8b\x9f\xb9\x73\x0d\x6d\xda\x55\xf7\x2d\x84\x33\x89\x69\x3e\xbf\xcb\xa7\xfb\xe1\xa0\xbc\xff\xb9\xaa\x28\x4f\x4a\xe6\x6f\x44\xa8\xb8\x93\x02\x98\x3b\x22\x73\x6d\x0c\x72\xd6\xa0\x44\xe4\x29\x16\x24\x24\x3a\x4e\x0c\xe6\x5d\x5e\x53\x46\xd6\x7f\xed\x37\x60\xdd\xb0\xc5\x10\xb5\x0f\xf3\xee\xf0\xa1\x8a\x26\x7d\xe7\x30\x47\x6d\xd8\x2d\xff\x70\x72\xcb\xa0\x98\x48\x25\xa0\x04\xdd\x4b\xcd\x8c\x37\xfd\xaf\x1f\x68\x3d\x1d\x93\x80\xe1\x35\xa9\x5d\x24\xb8\x9f\xad\x0b\xe9\x41\xc5\x48\x25\x1b\xec\x90\xcc\xae\x01\x5b\xc0\x56\x7d\xa8\x4b\x37\x1e\x50"}, -{{0x08,0x0d,0x7f,0x76,0x18,0x2e,0xe6,0xbc,0xea,0x89,0x4b,0x1e,0x00,0x60,0x55,0x8b,0x3b,0x12,0x5a,0x34,0x99,0xdf,0x39,0x73,0xb8,0xdd,0x66,0x93,0x40,0x8e,0xe4,0x69,},{0x41,0x24,0x71,0x3d,0x7c,0x2d,0xf5,0x0f,0x93,0x05,0x57,0x30,0xd1,0xb2,0x81,0xda,0xec,0x30,0x28,0xcf,0x2c,0x1e,0x48,0x58,0xd1,0x28,0x70,0x7a,0x23,0xd6,0xde,0xb0,},{0x18,0x5f,0xb1,0xb6,0xd8,0x6d,0xc4,0x44,0x48,0x10,0xcf,0x5e,0xc6,0xfe,0xf0,0xab,0xda,0xfa,0x2a,0x6f,0xcc,0xb4,0x5d,0x11,0xcf,0xb5,0x4b,0xa1,0x6a,0x68,0x43,0xf2,0x80,0xd3,0x80,0x47,0x10,0x02,0xae,0x0d,0x71,0x50,0x85,0x56,0xc7,0x8e,0xd5,0x41,0x5e,0x42,0x33,0x8c,0x16,0x1f,0x2b,0x62,0x1e,0x74,0xcb,0xa4,0xf6,0xa1,0xd4,0x02,},"\xab\x0a\x6d\xe2\x35\x1b\x9a\x84\x98\xf6\x82\x72\xd9\xa0\xa7\xa0\x57\x36\x5d\x34\xef\xa0\xfd\x34\xcc\x3b\xf8\x62\xe4\x9c\xdc\x30\x2b\x2b\xd5\xa3\x0d\x60\x1a\x13\x0e\xc4\x03\x2f\x54\x1a\xe6\xcb\x7b\xa9\x7f\x84\x18\x3d\x2d\x25\x81\x28\x7c\xa7\x01\xd7\xd7\xa9\xab\xa1\x10\xce\x58\xb9\x46\xac\x08\x24\x30\x5d\xf7\x92\x9f\x3d\xd7\xfc\x9c\x87\x32\x23\x86\x37\xe2\xb1\x81\xd6\xe1\x16\xc7\xf6\x6e\x32\x26\xaa\xe3\xce\xd1\x61\x02\x62\xda\x1a\x0a\x4a\xa5\x0a\x1b\x94\x43\xec\x82\x83\x29\xe4\x73\x4d\x28\xfc\x25\xab\x9c\x1d\xe9\xb8\x98\x7e\x5d\xc0\xc8\x13\x19\x16\xc5\xf1\x89\x28\x70\x4a\x71\xe8\x06\x22\xb1\x49\x2b\xf2\xfe\xc5\xd4\xb6\xdb\xe4\x15\xc8\xaf\x2c\xe3\xef\x10\x9b\x34\xdd\x5e\x64\xd5\x68\x46\xf0\x85\x93\x5a\x4a\x5d\x10\x73\x49\x7f\xb3\xfb\x8f\xb7\x7e\x8f\x5d\x5e\x3f\xd0\x0c\x30\x65\x2e\x3c\x5c\xde\x40\xa3\x35\xd1\x4e\x54\x25\xff\xba\x94\x28\x85\xed\x17\xbd\x36\xdf\x50\x69\x24\x23\x7e\x75\xbe\x84\xda\x82\x19\x50\xb9\x14\x24\xfd\x9f\x16\xc1\xb2\xc7\x83\xe9\x0f\x8c\xc2\xcc\xc7\x98\x0c\xe9\x15\xc7\x69\x6b\x06\xa5\x86\x73\x02\x59\xe6\xd1\x45\x88\x58\x2b\xab\x9d\x2a\x39\xf6\x9e\x98\xe7\xf2\xae\x9b\xc0\xc2\x61\x0d\x7e\x04\x57\xf2\x6a\x5d\x66\x54\x3b\xe1\xd6\x5b\x79\xc4\xb7\xc0\xd8\xee\x73\xd0\xc2\xb6\x7b\xf5\x0d\x80\x82\xf0\x06\xf9\x6d\x11\x95\x05\x87\x31\x93\xdf\xdb\xd4\x32\xbb\x1c\x9e\xe0\xd0\x3e\xe5\x4c\xf9\x5d\x20\xe9\x1f\x7f\x3a\x06\x9b\x62\x56\xf4\x21\x59\xcd\xc1\xe6\x00\xa9\xa1\xc2\xf5\xa8\xe4\x67\xd5\xc2\xa9\xdf\xf8\x73\x0e\x6b\xe8\x26\xfb\x2a\x1e\x64\x48\xbf\xc4\xfc\xaa\xaa\xcd\xaa\x76\x62\x35\x1f\xaa\xdc\x91\xf7\xca\xa7\x73\x7d\xc8\x2e\xc3\xd4\xb2\x19\x36\xbc\xa1\xbd\x7c\xe3\x73\xad\x66\x26\x4a\xf1\x32\x41\x16\x75\x49\x31\x8c\xdd\x78\xe5\x63\x82\x7f\x85\xea\xb2\x0e\x0b\x42\xbc\x55\x4a\x71\x2c\x00\x51\xa5\x01\x0d\xc2\xf2\xc7\xdb\x85\xac\xf6\x54\x9f\x9d\x10\x2c\x90\x3c\x1b\xe5\xa0\x52\x92\xc3\x0f\x21\xab\x1b\x2b\x8a\xbc\xbb\xf1\x04\x72\x3c\x63\xf0\xeb\xc5\x54\xfb\xee\x42\x02\x0c\xcb\x14\xf4\x43\x47\x8d\xf7\x7c\x6a\xa4\x4d\xb9\xa5\x7f\x8f\xd4\x4d\x97\xea\x09\x9e\x47\x74\x82\x3e\xbe\x12\x3f\xcf\x50\x16\xa6\x6e\x83\x7b\x2f\x65\xc1\x84\x5e\x68\x1e\xe2\xa7\x05\x9f\xb1\x29\x0c\xd0\xa9\x33\x12\x98\x55\xcc\x83\xc8\x7e\x0b\x3b\xb6\x1e\x44\x13\x4a\xdd\xd3\x63\x78\x50\x24\x6c\xdc\xda\xa2\x9f\x15\xc4\x1a\x3d\x4d\xd2\xc1\xd7\x60\x06\x21\x24\x33\x31\x24\xcf\x09\x14\x35\xfd\xce\x71\x1f\x52\x31\x63\x68\x99\x9b\xef\xa4\xc8\x0a\x39\xb3\x75\x0e\x4e\x38\x62\x89\xe4\xe2\x85\x5e\x97\xb6\x19\xb0\xa2\x57\x99\x91\x24\x08\xb7\xd5\x8a\x4d\xd9\x81\x95\x71\xe9\x01\x43\x0f\x6d\x55\x55\x29\xdd\x63\x0a\x18\x67\x45\x9b\x80\x22\xd0\xe0\xad\xd6\xab\x4f\x12\xf6\x0b\xaa\xc7\x59\x79\xbb\xff\x7f\x62\x58\xd2\x8d\x67\x60\xb1\xff\x24\x3c\x39\xe4\xbb\xd6\xcf\x9b\xea\x57\x2a\x9c\x08\x2d\x05\xad\xcf\xd4\xcc\xf9\xfa\x02\x6f\x2c\x90\x4b\x6e\x78\x2e\xd7\x09\xdf\x77\x48\xa3\x07\xcd\x2d\xc3\xa0\xfc\x41\x23\xdf\x58\x0c\xbf\x49\xe0\x5c\xee\xab\xc9\xf3\x9e\x57\xb7\xf3\x00\x90\x5d\x8b\x31\x00\x91\xfb\x95\x3f\x3d\xef\x36\xde\xb3\xe8\xbf\x37\x2f\x59\x16\xb5\x15\x97\xdf\x02\x4c\xe8\x5c\xc4\xc3\x6e\xab\xdc\x58\x0b\x5c\xf1\x52\x99\x46\x48\xf1\xd7\xf3\x5f\xed\x5c\xd1\x0f\x6e\x29\x49\x16\x1a\x33\x59\xb3\x03\x4d\x45\x0e\xa6\xf6\x1c\xdf\x1d\x5a\xf7\x6d\x40\x10\x2b\x60\x29\x4f\x4e\x49\x07\x82\x49\x02\x6d\x62\xfe\x35\xfd\xf2\x24\x92\x8b\x0c\x49\xba\x2b\x53\x39\xeb\xb1\x92\xc5\xab\x7f\x05\xcd\xb9\x46\xe3\x7d\x67\x1a\x4a\x5e\xf2\xa5\x82\x72\x20\xb4\x43\x8c\xbd\xa0\x57\x36\x29\x28\x06\x64\x8f\x5b\xdd\x52\x42\x0f\xa7\x6b\x84\xa6\xad\xdb\x12\x63\xeb\x0c\x50\x0e\x81\x56\x6d\x71\x8d\x50\x66\x02\x6d\xa0\x97\x05\x4a\x86\x63\x10\x16\xdd\xfb\x70\x6a\x56\x77\xd5\x02\xef\x84\xaa\x73\xb5\x86\x3b\xc4\x0f\xdc\x42\xcb\x73\x21\xac\x5f\x00\xe2\x92\x8f\xed\x7b\x04\x18\x59\x6d\xb4\xb6\x15\x1d\xd6\xbc\x6e\x81\x8f\x02\x53\x55\x2b\xf1\x37\x41\xe6\x96\x80\xe9\x66\xc9\x2c\x29\x3e\x13\xc9\x0f\x7c\x99\x99\xbd\x1e\xc6\xaf\xe3\xb4\xaf\xfb\x47\x34\x0c\x89\x85\x98\x29\xfe\xb5\x99\xdb\x3a\x8c\x3d\x33\xfc\x8d\x45\xfa\x53\x81\x07\x8a\xe9\xf7\x5d\x85\xc1\x49\x6f\x5f\xb5\xad\xdf\x4e\x40\x09\xb7\x64\xbc\xc9\x11\x8e\x92\x75\xdc\x72\x19\xf2\x81\xd0\xd1\xef\x71\x58"}, -{{0x49,0x84,0x6a,0xda,0x7a,0xe6,0x84,0x97,0x1d,0xd9,0x17,0x10,0x79,0x90,0x90,0xb3,0x7f,0xe5,0xad,0x56,0x1d,0x72,0xa3,0x5f,0x2e,0xfb,0x40,0x5f,0x19,0x6a,0xb0,0xec,},{0x4d,0x37,0x0a,0x81,0x94,0xa3,0x04,0x5b,0x09,0xb3,0xbd,0xaf,0xa2,0x7f,0xb9,0xac,0xd5,0x99,0x43,0xa5,0x4a,0xe1,0x4c,0xba,0xaa,0x22,0x00,0xeb,0x0f,0x3d,0xa7,0x1b,},{0xa5,0xc8,0x09,0xd1,0xca,0x4c,0xfb,0xb3,0xdc,0x70,0xa2,0xa3,0xa1,0xf2,0x67,0xc2,0x73,0x30,0x42,0x07,0x19,0xe3,0x60,0x62,0x18,0xa1,0x47,0x1c,0xac,0x57,0xcb,0x67,0x4b,0x9b,0x42,0x82,0x7c,0x5e,0x9a,0x7b,0x25,0xc8,0x13,0x9c,0x13,0xdf,0xf6,0x0b,0xde,0x6c,0x2d,0xba,0xd3,0xa8,0x36,0x11,0x97,0xc1,0xfb,0x19,0xd2,0xcd,0x52,0x0b,},"\xab\x39\x8d\x94\xf9\x28\xb1\xd4\x21\x02\xa3\xe5\x13\xcc\xd1\xcb\x10\x89\x90\x11\x03\x94\x10\xa8\x88\x8b\xba\x26\xdf\x1a\x03\x72\xbd\xba\x0c\xe8\xd8\x54\xaf\x51\xe9\x33\x0a\x8d\xaa\x93\xc1\x05\x80\x90\x6a\x8a\xc7\x2d\x29\x4a\xeb\x95\x66\xfe\x1c\x78\xba\x84\x71\xc0\x6c\x4a\x8a\x75\x11\x3b\x34\x89\x3f\x62\x76\xed\x81\x32\x92\x05\x3b\x95\x6a\x46\x5d\x84\x7d\x2e\xce\x86\xe2\xda\x8a\x9f\x0f\xe3\xdb\x52\xa5\xaa\xc7\x46\xef\x96\x48\x5e\xf8\x1f\x13\x62\xb5\xa4\x2e\xaa\xee\x1f\xbb\x06\x46\x70\x44\x71\xa2\x1b\xf7\x63\x67\xbe\xaa\x07\x81\x2b\x3d\x32\xad\xcd\xed\xde\xd7\x53\x9e\x3a\x50\x1b\x83\xc0\x5b\x19\xa4\x9b\x52\x0e\xde\xdc\x9a\x78\xa5\xfc\x2d\x50\x12\xf1\xd4\xe3\x81\x84\x4e\x79\x2e\xd9\x0b\x0f\x57\xbc\xe3\x75\xc7\x5a\x65\x8b\x2c\x78\xc6\xff\x7d\x9e\xfc\xd4\xbf\xa3\x5c\x47\x68\xcb\xb1\x95\xe4\x82\x3d\x9b\xbd\x83\x5a\x37\x4f\xa0\x4c\xa1\xea\xae\x9c\x56\x6d\x8f\xd5\xaa\x7c\xa5\xef\xe0\xdf\xc3\x17\xff\xfa\x40\x9e\xf1\x02\x2f\x1c\x3b\x37\x6a\x93\x5a\xf5\x57\x08\x3e\x95\x28\x7b\x07\xa9\x8a\xc6\xc1\xb7\xbd\x8b\xb2\x6b\x60\xfa\x7c\x4b\xc9\x19\x73\xb2\x01\xb2\x99\x22\xb4\xb9\xd0\x3d\xd6\x88\x2a\x0b\xd3\xb7\xd9\xe5\xb8\x1e\xe7\x4c\x36\xbe\xc6\x65\xe4\x34\x3c\x8c\x9a\xd3\x36\xda\x38\x50\xc9\xb2\x69\x7f\xe1\xcc\xe2\x9c\x37\x86\x22\xa3\x3c\x24\x8f\x44\x8c\x88\xf4\x8d\xf0\x26\x01\x43\xb2\xa3\x42\xf1\xdd\xee\x74\xd3\xb9\x7c\xa3\xe1\x16\x6b\x15\x69\x93\xda\xd3\x0c\x49\xd8\x10\xd7\x40\x48\xbc\x6d\x46\x76\x52\x00\x4d\x7e\xdb\x65\xc6\xda\xc3\xa2\xc5\xd3\x00\xb9\x7e\xe3\xa1\x0a\x9e\x14\xb6\x9f\x3c\xad\x67\x59\x72\x96\x2e\x1f\x8e\xd9\x75\x47\xad\xed\xc4\x7d\x1c\xf3\x47\x1e\xf3\xb2\x2f\xdb\xf7\x8e\x34\xf3\x1a\x3b\xb7\x66\x9c\x41\xbd\x92\x92\xc3\x80\xbc\xe9\xa4\x2d\x84\xbc\x27\xac\x92\x8b\x8b\xfc\x3c\x63\xd2\x0c\xcd\xb4\x78\xdf\x7d\xdf\x42\x1f\xb1\xcd\x90\x5f\xfc\x4c\x04\x78\x6f\xd9\xae\xf0\x6b\x89\x38\xab\x8e\xf5\x22\x21\x7b\x2c\x04\x51\x5f\x61\xa1\xc3\x12\xea\x83\x25\x3f\x84\x58\xc0\x91\x8f\xcf\xe8\x74\xe6\xe7\xfb\x11\x27\x5d\xb2\xa2\xec\x79\xa2\xd8\x68\x30\x32\x33\xc1\xb6\x97\x95\x2a\x3b\xfd\x3a\xd0\xa6\xf6\xcd\xd5\xe7\x2c\xc9\x40\x9f\x74\x10\xa4\x0d\x5b\x45\x36\xdd\x46\xeb\x16\x11\xae\x86\x70\x36\x71\xb3\xa0\x51\x5a\x03\x77\xbe\xa1\x56\x54\xba\x0a\x0d\x1e\x4e\x96\x02\x63\x28\x42\xf2\xac\xd4\xef\x99\x32\x36\xe9\x93\xf2\x65\x0d\x59\x92\x3f\x24\xe2\xcd\x30\x93\x2d\x8b\xf8\xae\xec\x64\x44\x72\xba\x46\xa0\x78\x81\x49\x6c\x92\xa0\x13\x5c\x67\x5a\xeb\x0c\xe6\x18\x10\x88\xdb\x8f\x15\x6c\xfe\x74\x35\xca\xc6\xc9\x7d\xa6\x37\xdb\x4a\x89\xf5\x13\x31\xda\x13\x73\x1e\x74\x1f\xcc\xc0\x35\x55\x42\xce\x11\xef\xa6\x9d\x05\x38\xd3\xef\x12\x7a\xa6\x87\x45\xed\x30\x85\xd2\x9d\xa9\x0d\xc5\x83\x70\x1b\x6b\x3a\x70\xa3\xef\x3e\x16\xa9\x24\xb3\x32\x03\xb9\x23\x96\xc4\xb9\x45\xf1\x27\xa7\x88\x8f\xa0\x50\x15\xc0\x60\x30\x07\x56\x67\x29\x23\x7c\xc0\x78\x2b\x30\xc0\x20\xd9\x95\x95\x47\xfe\xec\x9f\x4d\x67\x64\x60\xbf\xe0\xc5\xc1\x9c\xea\xba\xee\x06\x82\xdb\x8b\xe6\x91\x35\x18\x1e\xc0\xfd\xd9\xf7\xa6\x6d\x50\xbd\xc3\x79\xe4\xa2\xc5\x98\x17\x8f\x95\x93\x94\x6a\xca\x64\x05\xb1\x77\xfc\xad\xe0\xf8\x64\x21\x58\x3e\xd6\x7e\xba\x18\x72\x22\xa1\xe4\x44\x95\xb3\xae\x54\x4f\xdc\xa2\x8e\x2c\x14\x48\x5e\xab\x04\x71\xaa\xa8\x03\xc2\x9a\x9d\x8a\x48\x92\x67\x64\xfc\xa1\xdf\x51\x40\x7a\xd3\x3e\xc1\x7e\x94\x1e\x6e\x26\x17\x23\x7a\x84\x30\x98\x73\xdc\x71\x36\x55\x87\xbd\xe4\x27\x4b\x5d\xc3\x27\xcc\xb1\xe1\xe9\xc8\x57\xe0\x42\xcc\xca\x8d\x85\x52\xba\x28\x8c\x97\x8c\xfa\x0a\xf9\x9d\x67\xcd\x03\x40\x60\x62\x8e\x23\x52\x5d\xbc\xa2\x07\x67\x9c\xe2\x96\x90\x87\x84\x48\x55\x3c\xd3\x86\x75\xbc\xe0\x7b\xf9\x7b\x93\x17\xdc\x44\x46\x8b\x76\x8b\x15\x8b\x0c\x11\x1d\x63\xa5\x72\x23\x56\x55\xc4\x0e\x16\x59\x7c\xa0\x59\xf4\x0c\x3d\x8a\xc5\xbd\x61\xa4\x87\xc1\x53\x13\x84\x6a\x70\x4a\x78\x11\xb8\xbc\x0c\xee\x61\xe3\x47\x62\xb6\xc1\xb7\xce\xa1\xc4\x6e\x60\x87\xe9\xa3\x6f\x89\x91\x8a\x25\x8b\x3f\xa7\x76\x20\xbe\x10\xc1\x84\xc3\xfc\x39\x73\x90\x24\xe9\x82\x78\xfd\x65\xb8\x2c\xad\x83\x69\x9f\x3a\xd8\xc6\xec\xcb\xec\x8b\x7b\x1b\xd7\x91\x4d\x3f\x6c\x3d\x02\xbf\x40\x28\x3b\x1c\x1f\x1e\x98\xe3\x08\xbe\xae\xbb\xf8\x94\xb8\xf5\xe9\x1b\xbb\xc6\x25\x35\xf9\x23"}, -{{0x83,0x34,0x3e,0x37,0xad,0x09,0x1a,0x85,0xee,0xc3,0x70,0x70,0x1b,0x81,0xa5,0x8f,0x93,0x70,0xa4,0xb0,0x42,0x3a,0x07,0x0d,0x60,0xf9,0x2d,0x8d,0x18,0x09,0x84,0x4e,},{0x50,0xb6,0x8b,0xf7,0x26,0xea,0xbc,0xa5,0x3a,0xc6,0xc9,0x0d,0x4e,0xac,0x55,0x47,0x03,0x71,0x2d,0x22,0x10,0x55,0x54,0xf0,0x5b,0xf7,0x9f,0x9d,0x08,0xfc,0xc4,0x93,},{0x9c,0x69,0x89,0xcb,0xe1,0x7e,0x16,0xca,0xa2,0x53,0xff,0xb1,0xa6,0x4a,0x10,0x6f,0xb0,0x17,0x82,0xc9,0x9b,0x17,0x22,0xba,0xf1,0xac,0xaa,0x42,0xae,0x5b,0x36,0xb7,0x9b,0x2a,0x2c,0xd8,0xfc,0x91,0xf5,0xad,0x89,0x23,0x81,0x70,0x25,0xa7,0x78,0x25,0xa0,0x5d,0xf8,0xc4,0x17,0xec,0x53,0xc4,0xa3,0xaa,0x1c,0x0e,0xfd,0x5b,0xbe,0x0f,},"\xc7\xda\xdc\xac\x5d\x87\x95\xe1\x74\xb6\x91\x38\x91\x2e\x70\xff\x41\xe7\xa7\x25\xfa\xf3\x85\xb7\x73\xed\x15\x09\x89\x72\xb3\x0d\x9b\x73\x93\x72\xd9\x75\xb4\x80\xcc\xfd\xfc\x58\x0e\x2e\x2d\xdf\x5e\x3c\x27\xee\x79\x12\x79\xab\x95\xe4\x38\x2b\x14\x59\xdd\x8d\x41\xae\x36\x0d\x4a\x87\x88\x46\x69\x29\x24\xfe\xef\x39\x0c\x0d\xbb\xfa\x35\xe4\xb8\x2d\x7c\xbc\x33\xee\x15\x81\xc5\x2b\xd9\x49\x38\x5b\x2e\xe4\x02\x63\xa5\x7d\xa1\x17\x4b\xb4\xac\xad\x37\xcd\x8a\xe2\xa6\xb4\x5f\x7a\x6d\x6b\xbe\xf5\xa7\x98\xce\x85\xb9\xe0\x5e\x76\x47\xe3\x34\xec\xfc\x77\x63\x78\xde\x17\x4c\x49\x7c\x0f\x40\x75\xe6\x25\xaf\x7a\xed\x50\x2c\xd1\xcf\x7f\x58\x8d\x0d\x80\x7f\x02\xe3\x2f\x43\x00\xf2\x28\xa5\x0a\x66\x7b\x5a\xd1\xfb\xbc\x17\xe0\xb3\xc5\x70\x51\xdd\xc6\x02\xf5\x76\x07\x9f\x6f\xc5\x88\x9b\x7f\x29\x00\x71\x13\x34\x42\x0f\xc6\x66\xf6\x6d\xba\xff\x41\x26\x33\x6c\x35\x3f\x1e\x5b\x56\x4a\x66\x45\x37\xf8\x37\x86\xda\x5c\x56\x27\x74\x54\x06\xd7\xb2\xfe\x32\x33\xbf\xd5\x8e\xf4\x64\xa0\x6c\x95\xcf\xd0\xb9\x88\xa7\x6d\x05\x3a\x64\x4b\xcc\x15\x9c\xad\x53\xa7\xc5\xdb\xb4\x0e\xef\x5c\xd0\x47\x05\x6a\x3f\x09\x26\x5b\x13\x25\x69\x9c\x7d\x15\x9d\x5c\x90\x24\x40\x17\x33\x57\xff\xab\x8f\x7a\x5e\x38\x9f\x46\x8c\x33\x3b\x78\x2f\x80\x17\x0a\xe9\x09\x83\xaf\x15\x3f\x2e\x73\xbd\x2b\xef\x12\x5e\x3d\x38\x68\xc2\xab\x9e\xcf\x03\xaf\xf7\x6e\xcb\xeb\x18\x16\x7c\xa2\xf7\x11\xcd\x56\x58\x51\xd7\xf0\x4e\xe9\xd9\xb0\x1b\x6d\x83\xa7\x60\x57\x22\x62\x0d\x28\xc8\x4d\x6c\x1a\xf4\x2f\x6a\x76\x92\x58\xf5\x3c\x1f\x66\xda\x36\x66\x6d\xa5\xca\xa9\xbd\x9e\x8f\xbc\x16\x92\x11\xb1\xae\xd9\xc2\x55\x8f\x6a\xaf\x5b\x14\x5a\xbc\x72\x1a\xbb\x00\x72\x01\x94\xe0\x27\x03\x54\x68\xbd\xe3\xfe\x0b\x88\x88\x4f\x4e\x9b\x26\xe7\x71\xe6\xc7\xa0\xa5\x5e\xa3\x6f\xc5\x0d\xec\x8c\xef\x16\x2f\x9b\xba\x5b\x4b\x16\x10\x5a\xfd\x6e\x37\x4e\x03\x8d\x5c\x85\x87\xcf\xd7\xdd\x88\x29\x0b\x2c\x9c\xab\x45\xa2\x64\xd6\x54\x0e\xa1\x41\x6e\x6e\x4e\x74\xa1\x2f\x45\xa2\xef\x13\xcc\x8a\x36\xe7\xb0\xa2\x6b\x90\x2c\x3d\x96\xe2\xe2\x22\x92\x02\xe2\x57\x65\x69\x4b\x94\x33\x73\xd1\x6e\x60\x0b\xd7\x86\xd9\x55\xa4\xb3\xf1\x02\x16\x40\xc3\x9a\x0b\x6c\x69\x15\x00\x28\x1a\xe0\xd0\x98\xcc\x7f\x38\x5e\x18\xa0\x7e\x62\xfa\x4a\x10\x1e\xf5\xb7\x85\x51\xfa\x29\xbd\x15\xee\x03\x53\xa1\xa5\xef\x9b\x21\x6e\x8b\x0f\xa5\x07\x50\xa3\x41\x62\xb6\x35\xa0\xbc\x5e\x5d\x72\x30\xaa\x19\xaf\xa1\x28\xab\xa6\x42\x2d\x38\xeb\x77\xa3\xf0\xbb\x9d\xd8\xe4\x65\x2f\x12\x07\x0a\x37\x36\x1c\x37\x25\x50\x3c\x9d\x22\xe2\xfa\xce\x2e\xa7\x4a\x70\x02\x40\x62\x47\xdd\x86\x97\x5f\x07\x57\x5c\x9e\x7c\x6f\x41\xb5\x3b\x26\xd5\xcf\x52\xc5\xac\xc2\xc5\xd9\x82\x71\x43\x4e\x9f\xa5\x09\xc6\xdf\xbd\x72\x43\x72\xaa\x5c\x13\x45\x1a\xae\x39\x3d\xe0\xa1\x86\x46\x4f\x5d\x33\x7e\x9f\x62\x7b\x4f\x1c\x29\x09\x46\x70\x65\xe8\x9a\x42\x2e\xc4\x0e\xe1\xd8\x0a\x13\x39\x00\xa6\x2f\x4e\x4f\x7e\x94\xeb\x72\x61\x5e\x7e\xc2\x99\x6c\x6c\x24\x30\xc3\xe9\x57\xce\xae\x21\x05\xa1\xe9\x0e\xae\xac\x0d\x31\xaf\xfa\x9f\x57\x92\x6d\x71\xd9\x72\xa9\xa2\xde\x11\x25\x8c\xc1\xe7\x28\x59\x9c\x9f\xb3\x87\x24\x91\x84\x7e\x10\xc6\x7e\xfa\xef\x6b\x69\x6a\x03\x0f\xf0\x53\x3a\x58\x3b\xea\x1d\x04\xdf\x25\xf7\xee\xf3\xa1\x3b\x8e\x31\xaa\xd1\x33\x85\x7d\xf1\xb4\xe5\xff\xbd\xee\x37\xf4\x0f\x38\xd2\x24\xc7\x0a\xe0\x4e\xf3\x3b\x41\xb0\x2e\x71\x91\xa8\x66\x56\xb0\xd7\x2b\x2c\xbb\x53\xc4\x90\x8c\xa2\x06\xf7\x57\x34\xb2\x77\x08\x15\x4f\xcd\x8a\x97\x42\x9c\xfd\x1f\x2d\xa2\x42\x97\x78\x43\x80\x03\xf5\xb5\xb9\xc2\x1d\x9e\xd2\x3b\x8a\xd8\xa2\x28\xeb\x4f\x65\xc2\x4c\x1c\x59\x69\x9a\x5c\x90\xaf\xf7\x73\xe5\xc6\x76\xdb\x36\x2a\x19\x30\xba\x16\xab\xa7\x6e\xf8\xda\xa4\x2b\x3e\xb2\xcc\xc4\x5c\x93\x4d\x23\xd4\x92\x9a\x7a\xd9\xe3\xef\x46\x8b\x06\xa4\x99\x5c\x80\xdd\x23\x6a\x7b\xcf\x38\x79\xd8\xb7\x94\x67\xf7\x2b\x33\x84\xc1\x60\xcc\x18\x17\x14\xe9\x2f\x20\x35\xe7\xb9\x72\xa2\xcc\x52\x42\xd9\x32\x52\x5e\xae\x7c\x50\xbd\x26\x3b\x0f\xa0\x9c\xbd\x9d\x6f\x98\x4b\x9c\xf6\x15\x2d\x9a\x13\x3c\x27\x84\x32\x02\xd1\xe8\x7f\xa5\xa6\xe1\x23\x5d\x9c\x75\x6b\xb8\xe6\x8b\x05\xb9\x8d\xa5\x41\x95\x22\x3f\xdf\x02\x10\x25\x32\x50\x63\x3c\x11\xc5\xf6\x0b\x5e\x67\xd7\xee\xfc\xaa\x6c\x2d\xaa\x52\x31\x37"}, -{{0xda,0x01,0x32,0x21,0xb2,0xf5,0x88,0xaf,0x40,0xe2,0x11,0xa0,0xf9,0x75,0xd4,0x4f,0x9d,0x65,0x02,0x81,0x60,0x51,0x4c,0x39,0x61,0x89,0xf2,0x7c,0x7b,0x06,0x66,0xea,},{0x07,0x11,0x7c,0x6b,0x0d,0xb5,0xb6,0xfd,0xa1,0xed,0xc4,0x39,0x6c,0x47,0xc2,0x2b,0x54,0xee,0x0c,0xe5,0x37,0x5c,0x3e,0xc6,0x33,0xc8,0x3a,0xfc,0x53,0xad,0x6c,0xe4,},{0x10,0xcb,0x52,0xd6,0x10,0xe4,0xa8,0x1d,0x32,0x86,0x9b,0xff,0xce,0x38,0x07,0xe6,0x39,0x1f,0x78,0x2f,0xcd,0x53,0x8b,0x55,0x4d,0x09,0x03,0x7f,0xda,0x72,0x28,0x5b,0x96,0x62,0xb1,0xb1,0x10,0x7c,0x40,0x81,0x78,0xac,0x00,0x9f,0x05,0x25,0x96,0x73,0x88,0xa7,0xd8,0x5f,0xa1,0x23,0x59,0xd3,0xce,0x38,0x75,0x03,0x7d,0xcf,0x6a,0x04,},"\xbc\x93\xee\x1e\xc4\x72\x8a\xc6\x36\xa6\x24\x8f\xcc\x45\x51\xc9\xd1\x59\x80\xdb\x8e\x5f\x54\xb0\xef\x07\x5a\x71\x97\x0e\x17\x6a\x3c\xb9\x18\x2e\x32\xda\x7a\x8c\x2a\xc0\xcd\x7e\x59\x57\x74\x57\x5f\x9c\x83\x50\x6a\x60\x6f\xac\xe8\x95\x12\x13\x5d\x03\x2a\xb0\x5e\x39\xff\xf9\xc8\xca\x6c\x25\xcd\x5d\x78\xec\xc3\xac\x32\x32\x90\xc9\xc8\x16\x26\x73\x5e\x19\x0e\xb5\xae\x34\x5c\xa7\xa9\x58\x40\x9f\x77\x43\xb0\xb1\x61\x49\x16\x83\x22\x17\xc5\x7e\xee\x1b\x4f\x8e\x62\x2a\xc0\x52\xa9\x3d\xd5\xb3\x9d\x07\x61\xe4\x0e\x9f\xbd\x83\x96\xf6\x0a\x3b\xf6\x66\x0c\x5f\xa9\x9c\xd8\x13\x9f\x68\xcb\xe0\x89\x4e\x5c\x67\xe1\x68\xcc\x74\xb2\x72\x4e\x9d\x91\xd6\x00\x0a\x0c\xec\x58\x7a\x11\x46\x3f\x72\xee\x6e\xd2\x55\xbd\x87\xeb\x30\xfd\x45\x75\x96\xf6\x88\xca\x0e\xa7\x3f\x30\x49\x72\x38\xde\x21\xc9\x3f\xbb\x12\x94\xdb\x61\xe4\xa5\x60\x89\x10\x6d\x1c\xf7\xce\x5a\x65\xec\x3d\x12\x17\x0c\xe7\x84\x0f\x08\x8a\x8d\x0e\x3a\xef\x17\xe5\x31\xde\x47\x80\x03\x57\x02\x58\xe9\x27\xf1\x56\xe7\x96\x10\x65\xaf\xa6\x66\xaf\x38\x58\x2b\x35\x3c\xc4\x77\xba\x77\x5c\xae\x45\x94\x6d\x08\xdb\x75\x21\x59\x14\xda\x32\x61\xb6\x22\x94\xe9\x2a\xfb\x38\x14\x59\xc2\x1d\xda\x4e\xa6\xed\x79\x5f\x79\x25\x7c\x09\x4d\xd6\x08\xdc\x8e\x1b\x7c\x40\xcd\x29\xfe\xa2\x22\x08\x8f\x65\x69\x7e\xa8\x88\x95\xd1\x0a\xce\xa8\x79\x73\x60\xdc\xba\xce\xe2\x69\xc6\x06\x60\x0a\xdf\xfd\xcf\x9c\x7c\x38\x1d\x0a\xd6\x69\x69\x67\xd9\xff\x03\xe6\x1a\x24\x90\x65\x02\xb2\x95\xe7\x6f\x4d\x08\x75\x65\x5b\x01\xe6\xff\xca\xcc\x8e\xf0\x11\x29\xc7\x2a\x58\x46\xb6\x0e\xc8\x00\x17\x37\x4e\x75\xd3\x06\x40\x3d\x9e\xcc\xf2\x64\x95\xd2\x98\x12\x0a\x06\x33\x83\x5c\x5d\x1e\xff\x17\xc9\xc6\x24\x76\xf7\x52\xc8\x97\x10\xad\xfa\x4d\x51\x61\x7b\x59\x18\x17\x3c\xba\x72\x25\x40\xe3\x88\xff\xbf\xfb\x96\x68\x74\xdb\x00\x40\x4d\x06\xb0\xce\x11\x39\xba\x74\x14\x3c\x76\xb8\xf4\xd3\x3b\x21\x16\xe1\xcc\xe1\x75\x17\x3a\x96\xfc\x15\x1e\xa2\x39\xbf\xc2\x0d\x66\xfb\xb6\xf5\x2a\x66\x6c\x0e\x81\xcc\x2b\x80\x20\x91\x06\xe2\x48\x0e\x41\x11\xc7\x0e\x7b\xe4\xaa\xbb\x68\x42\x2f\x0b\x8c\x6b\xa1\x5c\x14\x2f\x82\xe6\xc7\xf3\x78\xd7\x80\x0a\x09\xea\xa4\xda\x25\x3c\x2f\xd9\x1e\x12\x63\xc6\xb6\x55\xbf\x70\x25\x5d\x7e\x3b\xb4\x77\x55\x23\xa0\xa9\xe7\xff\x03\x79\x7e\xe3\xff\xca\x8a\x50\xd1\x0f\x20\xd5\xe5\xa8\x89\xec\x5e\x33\x4e\xf2\x6c\xf7\x99\x8b\x08\x36\xf6\x56\x45\x68\x88\xe1\x37\xf3\x9d\x3e\x43\xe2\xce\x3c\x6e\xf5\x40\xd9\x5d\x9a\x20\xc4\x2c\xb8\xae\x2d\x9d\x0f\x25\xa8\x91\xc3\x63\xea\xd9\xcc\x42\x3f\x9a\x32\x3f\xe2\x32\x28\x1f\xb6\x7f\x5b\xe1\xc0\x78\x43\x61\x46\x04\x68\xa8\x7e\x95\xdf\xa3\x5d\x7f\x0f\xfa\x22\x11\xbe\x6b\x5f\xb3\x2d\x42\xba\x65\x18\xab\x6e\xa9\x37\x80\xf4\x31\xd3\x00\x67\x31\xbe\x44\x40\xe7\x12\x97\x4f\x74\xba\xea\x41\x9f\x40\x22\xfa\x25\x02\xe1\xb2\x39\x8e\x93\x86\x16\x7d\x93\xec\xa9\x2c\xa6\x0d\xd7\xd9\x1f\xe8\x23\x24\xf6\x82\xd9\x4a\xa7\xa8\x6a\xb0\x34\xf8\xa9\xe9\x52\xe8\xfc\x95\xbf\xf4\xdf\xed\x6a\x43\x31\x3a\xbb\x92\x40\x1b\x30\xc3\x3c\x79\xa7\xba\x3e\xfd\xbe\x16\x28\x04\x0f\xba\xf4\x43\xf3\xf9\x80\x84\x6f\xdb\x28\x3d\xcc\xd9\x3f\xab\x09\x70\x8b\x7d\x54\x86\x1d\x74\xb1\xfe\x8f\x10\x70\x1f\x21\x1b\xa3\xd3\x90\xe8\xa6\xae\x40\x77\x39\x64\x6a\x79\xa5\x83\x37\xa7\x17\xa8\x72\x00\x9c\x2d\xf6\x76\x1c\x24\x25\xa3\x2a\x00\x18\xaa\xf9\x64\x64\x70\xcb\xc8\x7c\x3a\x65\xc0\xe0\xef\xfb\xaa\x52\x8f\xe4\x78\x3c\x77\x2a\xb2\x66\xb8\xf2\x82\x68\xcf\x14\xaf\x23\x4b\x15\x81\x6d\x1a\x3a\x49\x1a\xf5\xf2\x97\xe3\x3d\x57\x29\x71\x5d\x51\x2c\x37\x3f\xef\x5e\xcc\x3f\x39\x54\xa6\x0a\x2a\x0f\x64\xd8\x29\x47\x41\x19\xca\x1a\x18\xf1\x05\x78\xd0\x4d\x63\x8d\x5e\xea\xfc\x37\x1a\x94\x6f\x6c\xe7\xef\xbd\x2a\xcc\xe3\x4e\x20\x44\x1c\xde\x9a\x37\xd5\xa8\x7d\xc6\x19\xb0\xa7\x27\x59\x6c\xd1\x2e\x15\xcd\x97\x84\xbb\x91\xf1\x39\x9a\x59\xfc\x0a\x7a\x4a\xf6\x8b\x0d\x57\x5d\x93\x38\x71\x72\x97\x33\x75\xc4\x65\xdf\x5d\x2d\x5e\x06\x1a\x2a\x9b\x23\xb4\x91\x5a\x0a\x8b\x8c\x1f\x09\x42\x09\x4a\xf7\x28\xc8\xc3\x11\x45\xfa\x7a\xaf\x74\xa2\x1a\x3b\x03\x2b\xb0\x9c\x39\x22\x05\xbf\x09\x5b\xda\x98\x6e\x5d\xd6\x62\x7c\x1e\x41\x7f\x65\x03\x26\xdf\xe3\xa9\xc9\x99\x4c\x6e\x0e\x01\x27\x6f\x91\xf2\x98\x7d\x2b\x85\xde\xda\x96\x54\x91"}, -{{0x5a,0x86,0x8f,0xb7,0x5e,0xa0,0x72,0x1f,0x7e,0x86,0xc7,0xbc,0x10,0x6d,0x74,0x13,0xc8,0xcf,0x4d,0x03,0x3c,0xe1,0x40,0x05,0xdf,0x23,0xce,0x4c,0x15,0x5b,0xbd,0x27,},{0x6d,0x1e,0x29,0xf3,0x9d,0xed,0xa2,0xbb,0xfb,0xb5,0x7c,0xb0,0x1c,0xb3,0x9e,0x58,0x80,0x82,0x78,0xe5,0x19,0x6a,0xda,0x1c,0x02,0x76,0x46,0xf2,0x04,0x87,0xd2,0x52,},{0x38,0xc4,0x8d,0xba,0x99,0xa6,0x52,0x4a,0x18,0x8d,0x5c,0xd7,0x8a,0x98,0xe6,0x77,0xdd,0x26,0x3e,0xf6,0xb4,0xdf,0x44,0x6b,0x31,0x0b,0x3d,0xd8,0x9c,0xaf,0xdd,0xb9,0xb1,0x7a,0x65,0xbb,0xa8,0xe1,0x39,0x68,0xbd,0xc2,0x5b,0x1d,0x84,0xb6,0xe2,0x43,0x6e,0xdf,0x31,0xaa,0x75,0x6e,0x3a,0x48,0x72,0x6d,0x6f,0x91,0xc8,0x08,0xee,0x0e,},"\xd5\xaa\x11\x82\x5b\x99\x44\x8c\x80\x63\x06\x23\xd8\xc7\x46\x01\x7c\xfe\x3d\xe6\xfa\x8a\x0c\x6e\xd6\x62\x71\x27\xcf\xc1\xf8\x4d\x4e\x0a\x54\xe6\xa7\xd9\x08\xd3\x71\x9f\x14\x21\xd1\xd4\xc7\x8b\x3c\xdd\x94\x76\x9a\xb6\x03\x3b\xce\x97\x9d\xd9\x0e\x10\x68\x02\xeb\xa9\xa0\x32\x95\xd4\x8f\x9b\x9a\x95\xd5\x7e\xe7\x74\x54\x02\xa4\x80\x23\xbf\x3b\xdd\xd5\xc6\xb9\x1c\x77\x3e\x49\x19\x13\xa3\x8a\xc3\x46\x26\x05\xcf\x28\x2d\xea\xc7\x57\x42\xfb\xd2\x75\x29\x27\x6e\x81\xdc\xce\x8d\xff\x96\x05\x03\x5e\x8c\xf0\x5d\xf6\xa4\x3d\xb1\x51\xf0\x41\x57\x65\xbc\xbd\x1f\x1b\xb6\x68\xad\x62\x73\xb8\x91\xc0\xdc\x4f\x3d\xba\x59\x0e\xa8\x2f\x83\x63\x76\x9b\x9c\x77\x51\x19\x47\x11\x73\x75\xdc\x49\x04\xd4\x8b\x88\xb6\x8a\x25\x5b\x28\x01\x1b\x11\x04\x81\x94\x09\x3e\x98\x20\x7a\xb1\xcf\x75\x6a\xb8\x33\x1f\x8d\x6f\x9d\x5b\xe2\xe1\x19\x05\x73\xe9\x5e\x71\x0f\x2a\x35\x01\xb5\x3a\xa0\x82\x5d\x6c\x12\xdc\xfb\x94\xac\x80\xdc\x10\x82\xcb\x4a\xd2\x62\xe6\xd4\x93\xad\xce\xb6\xbc\x19\x14\x5f\xbf\x73\x8d\xf7\x6f\x21\x34\xfa\x04\xcb\xbe\x44\xff\xc5\x5f\xfe\x5f\x9d\x3e\x9b\xeb\xd1\x59\xa0\x01\xaa\x9b\xf7\x88\x92\xa1\x65\x38\xa5\x20\x82\x3c\xde\x5d\x61\xe2\x9a\x56\xa7\x7a\xb9\x6e\x49\xe3\x00\xd9\x86\x59\x62\xc7\xe7\xfb\x8b\xcf\x5d\xe0\xb9\x38\x29\x7c\x3f\x4d\x6f\x60\x21\xe2\x4d\xfd\xad\x98\x61\x65\x2f\x34\x0f\x42\x1e\x7a\xf2\xc7\x1e\xd9\xa7\x15\x87\xfc\x75\x3b\x11\x55\x49\xb2\xf7\xf7\xcb\x29\x69\x0e\xa2\xb1\x58\xa9\x4c\xd2\xbc\x42\xe7\x06\x3d\x61\x9b\x93\x9d\x52\x3e\x3c\x23\x7e\xb1\xf4\x08\x10\xde\x0b\x44\xaa\x69\x37\x86\x3d\x62\x9e\xdd\x55\x75\xe6\xc0\x47\x52\x61\xb6\x27\x47\x30\x92\x77\x5c\x84\x36\x00\x11\xd5\x7c\x57\x20\x9c\x2e\x87\x5a\x3f\x89\x63\xe8\xb2\x41\xa7\xaa\x75\xef\x30\xc4\xa7\x18\xac\x4d\xd4\x66\xdc\x7a\x3e\x40\xe5\x87\x4f\x15\x7a\x84\x9e\xd3\xa3\xa9\xd4\xae\xb7\xd9\x4d\xf0\x9b\xb5\x5a\x0b\x2b\xc9\xf8\xb6\x95\xc3\x71\x79\x30\x23\x67\x60\x63\x67\xc5\xf3\x24\x82\x8c\xe7\x5a\x94\x4f\x50\x70\x3a\x47\x90\x6a\x80\x88\xf3\xa1\x1c\xfe\x4a\x85\x4e\x01\xf1\x74\x12\x52\xc4\x86\x33\x7d\x06\xb1\xcc\x6c\x6b\x9b\x12\x95\x43\x1e\xe0\x73\x59\x35\x7b\x3a\x78\xef\x50\x75\xb6\x5d\x7f\xed\x5e\xb7\x42\xe5\x10\x15\x98\x44\x4b\x46\x62\x3f\x89\xa3\x03\xac\xc1\x0c\x73\x24\x49\x51\x3b\x70\xdc\x45\x6a\x79\xd3\x7c\x48\xe5\xe7\x26\xc2\xf5\x58\xda\x0a\x1c\x46\xef\xbd\x2d\x92\x03\x26\xa6\x78\xb8\xa2\x2f\x09\x44\xbe\x4a\xf5\x5b\x6c\x71\xf4\x53\xfb\xae\x40\x0e\x6a\xcc\x04\xe0\xe9\x5c\xa2\x00\x16\x7e\x96\xee\x98\xea\x83\x93\x16\xda\x93\xa1\x2c\x2d\x76\xf1\x1a\xee\xbe\xb7\x8e\x65\xea\x48\xf7\xfe\xeb\xbb\x13\x7b\x2a\xc6\x7e\xae\xf0\x2a\x2d\x9e\x64\x71\xdd\x63\x4a\x03\x7d\x4f\x5d\x35\xa2\xf7\x8a\xf4\x1a\x8e\xa5\xaf\x5b\xc8\x15\x0a\x99\xed\x68\xa6\xa0\xcc\xff\x2b\x1d\x79\x65\xd8\xbc\x3e\xf9\x28\x5b\xa6\x42\x1d\x87\xc3\x3a\xad\x81\x03\xa5\x87\xbe\x01\x92\x68\x45\xbf\xbd\xdb\xaf\xc6\x9c\x4b\x92\x52\x88\x67\x20\xd4\x18\x50\x9f\x40\xf3\xdc\xf5\x57\x65\xdc\xcc\x3d\xee\xd8\x27\x72\x15\xe6\x9f\x05\x6b\xa3\x1b\x8a\x30\xb5\x00\x94\xea\x8f\x14\x47\x20\x76\x0c\x8f\x8c\x05\x5c\xf1\xa8\x69\x64\xff\xcb\xb8\xee\x1b\xb2\x18\x12\x76\xea\x99\xa7\xb8\xe7\x10\x67\xfa\x31\x0b\xa4\x47\x1e\x84\x27\x90\x37\xbc\x49\x2a\x55\xde\x20\x55\x48\xe7\x7b\x01\x45\x04\xee\x66\x64\xc4\x98\x8c\xbb\x9e\xd9\x1f\xf3\x2e\x22\x59\xed\x4c\xfd\x61\xa1\x97\xd0\xdb\xc3\x2c\x68\xf6\x54\x9c\x0d\x29\xfc\x45\xf3\x6a\xcb\x26\xb1\x64\xde\x97\xcc\xdc\x37\x90\x0d\x93\xcd\xbc\xf9\x68\x7e\xf5\x3f\x1f\x4d\xa1\xb1\xae\x42\x25\xb8\x84\x20\x9e\x81\xba\x43\x11\x52\x04\x77\xed\x42\x11\xb0\x92\x40\xbd\x7b\x82\x5e\x54\x73\x9f\xe2\x5d\x86\x24\xaf\x04\xb8\x6f\x6d\x11\x06\xd1\x81\x70\xe5\x06\x4d\x1a\x73\xc1\xfb\x1a\x27\xb2\x89\xa9\x48\xd7\x71\xa2\xf6\xb8\xb0\x9a\x63\x5d\xb9\x6c\x62\x51\xc3\x5a\x18\x76\xd3\x69\x62\x66\x99\x41\x6c\x0e\x40\x29\x8a\x68\x1f\xda\xf5\x25\x5f\x58\xc2\x55\x77\x59\xd8\xf5\xdf\x14\x8d\xec\x9d\xbe\x1c\xe6\xdf\x04\x1c\x36\xf8\x3e\x69\xcc\xfb\x4a\xac\xa5\xcb\x48\xfa\x6a\x85\xc8\xff\x66\x06\x15\x24\xd8\xb1\x1b\xd7\xff\xae\xd9\x9d\x0c\xd4\x5c\x42\x01\x0f\x21\xd3\x6c\xc3\x16\xca\x86\x09\x55\x63\x5b\xff\xaa\x7d\x9a\xac\x57\x2d\xcc\xf3\x15\x3d\x42\xee\x8a\x2b\x12\xba\xa5\x7c\x16\x0b\xd0\xad"}, -{{0xc5,0x4b,0xd3,0x43,0x1f,0x26,0x59,0x28,0x1d,0x31,0xe9,0x3b,0x30,0x78,0x76,0x68,0xbc,0xba,0x6e,0x5e,0xe4,0x7d,0xb4,0x6e,0x50,0xde,0xab,0xe3,0xf4,0x8c,0x9e,0xd8,},{0x1e,0xba,0x6e,0xb3,0xf7,0xf2,0x4c,0xdf,0x80,0xab,0xf8,0xa1,0x9d,0x30,0x8c,0x24,0xf1,0xe2,0x5b,0xa1,0x59,0x70,0xed,0xa7,0x11,0x67,0x07,0xb0,0xf1,0x2c,0xf9,0x32,},{0xdf,0x45,0x41,0xdf,0xf1,0xa9,0x79,0x7f,0xeb,0x61,0x7f,0x98,0xe4,0xb5,0x7a,0xa7,0x71,0x41,0x31,0xee,0x8f,0xf5,0x45,0xed,0x50,0x82,0xe3,0x56,0x8e,0xfd,0x1c,0x39,0x9c,0xdc,0x56,0xf5,0x58,0x29,0x91,0xeb,0x87,0x85,0xfb,0x33,0x86,0x4e,0xef,0x7f,0x55,0x3f,0x3e,0x24,0x82,0x62,0xed,0x54,0x8a,0x1a,0x68,0x88,0xf9,0x2e,0x92,0x0e,},"\x6f\x8c\xdd\x75\xe1\xb8\x56\xbb\xbe\x9c\xdc\x25\x53\x7f\xdf\x7e\x82\x36\xcb\x02\x9a\xcd\x39\x84\x49\x21\x10\xd0\xc3\x04\x41\xd4\x21\x84\xb5\xfb\x18\x3d\xa9\xf3\x14\x03\x78\xdf\xa7\xd7\x4c\xcc\x9e\xf5\x00\x19\x3c\xc9\x57\x9f\xff\xa6\x0b\xd2\xa8\xab\x9e\x09\x58\x15\x00\xcf\x06\xcd\x35\xab\xc1\x71\xd9\xd1\x2c\x65\x80\xd9\x68\x2f\x9f\x49\xfe\x36\xd0\xa3\x17\x72\x38\xfa\x50\xe7\xeb\x4c\x27\xe4\x60\xf5\xe4\x58\x0a\x56\x56\x8a\x19\xe0\x3d\x95\xb0\xff\x4f\x4a\x23\x18\x24\xcd\x2f\x34\x42\xe0\xba\x40\x0b\xc1\x1b\x7a\x98\x9d\x50\x1f\x5d\xf3\x5e\x43\x01\x50\x8f\x72\xa8\x52\x01\x4b\xfb\xf4\x00\x1e\x28\x09\x54\x73\xd9\x65\x9e\xed\x60\x67\xba\xf6\x8f\x92\xbe\xf3\x12\xc0\x9b\x19\xaa\xf7\xc4\xfb\xa3\xd9\x02\xb9\xf6\xcf\x95\x2e\xb9\xb9\xa5\x3c\xa8\xbc\xbd\x04\x2d\x84\x2e\x98\x53\xb6\x72\xa1\xd0\x09\xd8\x23\x83\x8b\xeb\xe5\x63\x7c\x4c\x07\xed\x1b\x19\x48\x55\x4b\x23\xb3\x2d\xe1\xd6\xc1\x16\xf9\x33\xb3\x54\xf2\x8b\xbb\x77\x9f\xa6\x54\x8c\x48\x29\x2b\x61\x2c\x7f\x55\x1a\x75\xfb\xc4\x6c\x02\x73\x6b\xf9\x9e\x9c\x8e\xad\x56\xf0\x5a\xb0\x42\x7a\x6e\xc6\x16\xe3\xdc\xc7\x75\x7e\xfd\xb7\x62\x8d\x4e\x96\x32\x5f\xe0\xae\x25\x4c\xef\x5c\xb7\xa7\x04\xb3\x5a\x92\x0c\xb3\xfa\x2a\x03\xe9\x61\xda\xf3\x71\x82\x1b\xe0\xb3\x0f\x19\xae\x49\x52\x44\x1e\x08\xa7\xd2\x2f\x54\x31\x39\x0a\x5b\xe8\x09\x7f\xd5\x79\x7a\x1a\x62\x97\x66\x4d\xa4\x2c\x20\x08\xd0\x32\x10\x60\xeb\xe3\x18\x1e\xb7\x95\xa7\x28\x92\x58\x08\xda\x78\x67\x29\x3b\x72\x08\xf3\x77\xd3\xa7\x71\x18\x5e\x6d\x2c\x1c\x8c\xe1\x83\x76\xfe\x3c\x0c\x14\x58\xc7\xf5\xbe\x34\xf4\x28\xa0\xd5\x75\x93\x10\x74\xc9\x7c\xbf\xce\x8a\xd8\x13\x13\xec\xca\x73\xa9\xf3\xdb\x43\x4f\xba\xd4\xbb\xbf\xf5\x02\xbf\x72\x97\xe1\x7a\x97\xa8\x86\x42\x11\xe6\x78\x9b\xa1\x92\x03\x6e\xa5\x9a\x34\xd8\x4f\xf2\xa1\x11\x07\x4c\x3f\x23\x73\xb1\x01\x11\xb5\xda\xa7\x89\x56\x0c\xb3\x54\x90\x95\x4c\x88\xea\x00\xc4\x10\xdf\x85\x0a\xd0\x0c\xae\x2f\x28\xe7\x19\xfb\x06\x71\x69\x88\xa9\xbb\x0b\xfc\x6c\x98\x9d\x58\x7e\x56\x85\xae\x88\x3c\x2c\x2e\x74\xdd\xbf\x91\x5c\x98\x56\xaa\xe8\xf3\x28\x8f\xc6\x25\xbf\xb2\xfe\x26\x8d\x74\xf5\x9f\x8b\x7d\x83\x63\x74\x97\x69\x16\x90\x07\xd5\xe6\x7b\x7d\x0b\x8c\x8f\x5a\x9d\x9f\x9c\x7b\x74\x5c\x0a\x42\x94\x76\x2c\xbe\xca\x42\xd5\x38\x49\x61\xe9\x21\xa7\xef\xb6\x5d\xa8\xd1\xe0\x3b\x67\x45\xcd\xf3\x08\x09\x7f\xb1\x3d\x64\xfd\x2f\x8c\x10\xfa\x95\x09\xeb\x2d\x91\x38\x7f\x00\x64\x5c\xa7\xd0\x48\x3b\x2c\xd1\x4c\x20\x6b\x8d\x7a\xe0\xa3\xfb\x7c\x09\xbc\x68\x43\xd1\x02\xad\xcd\xa1\x9f\x8b\xbd\x85\x1e\xb6\x83\xc4\x43\x5c\xeb\x4b\x3d\x23\xd3\x8f\x56\xd4\xd1\x11\x4e\xef\x0f\xc6\xf2\x4d\xf5\x27\x70\xd8\xf1\xf3\xf8\x2f\x47\x20\xe8\x92\xb3\x15\x24\x4e\xf5\x6c\x36\xb2\x3f\xcd\x40\x79\x78\x52\x41\x40\x38\x2e\x11\x74\x0f\xd4\x6f\xe4\x29\x99\x23\xf5\x2b\x88\xb4\xa9\xcf\xf4\xb2\xb4\xb2\x3a\x2e\x76\x0a\xd8\x1c\x78\xba\x87\x69\x31\xd9\xaa\xa4\xbe\xed\x40\xfb\x10\xa7\x99\xeb\x30\xd3\x7f\x75\x47\x78\xba\xc8\x5b\xf0\x63\x1d\x85\x2b\xe7\xd7\x4a\x64\x31\xf3\x84\xa4\x02\x5c\x10\x91\x42\x1d\x67\xa4\xe9\xc9\x4c\x1b\xe3\x69\x0c\x6b\xf8\x1d\x06\xbd\xaf\x32\xfe\xab\xba\xf1\xdc\x26\x3f\x27\x3a\x0b\x9e\xd6\x54\x60\xba\xef\xce\xfc\xf6\xac\xcc\xda\x0e\xdd\x23\xdf\x9e\x05\x12\x8e\x29\xd6\x61\xc4\xb4\x4b\xd9\x2d\x64\x0f\xaa\x85\x3a\xfd\x83\x70\xe5\x63\xb4\x0a\xe0\x14\x9a\x14\x28\xe0\x6e\x3d\xd8\xe6\x6b\x79\xda\x21\xcc\x75\x3d\xdc\x47\x6e\x3d\x76\xe2\xf3\x6f\x2b\x6c\x6b\xc1\xb6\x50\x87\xd5\xf8\x6c\x8a\xc3\x54\x71\x1a\x8c\x08\xf3\x48\x6e\x47\x9d\x6a\xe9\x43\xf8\x84\x63\x32\xd4\xe5\xb4\xbb\x2e\x82\x57\xe3\x08\x3d\xf4\xf8\x1d\xd4\xf0\xc1\xee\x1d\x97\x18\x21\x66\x16\x1a\x18\x59\x7e\xe0\xb9\x59\xde\x1c\x45\x59\x1a\xbf\x7c\x51\x03\x3d\x7c\x66\x35\x2d\xee\xb6\x82\xe7\x77\xae\xae\x2f\xa8\xd3\xa7\x7f\x47\x0d\xb7\x8d\xdc\x1b\x1f\xc8\x28\x40\xc4\x06\x57\x76\xd9\xbf\xca\x9d\x39\x2d\x92\x88\xee\x91\x32\xaa\x3e\x4f\x2d\x19\xd0\xd9\x3e\x01\xb6\x66\xf3\x64\x7a\xba\xf2\x25\xc2\x92\x41\x9c\x8a\x82\xeb\xa3\xe1\x1a\xb1\x03\x84\x6f\xcd\x49\x35\xf4\x12\x41\x47\x7c\x0f\x15\x2b\x79\x65\xad\x54\xbb\x72\xbc\x3d\xe2\xe0\xb7\x9d\x62\x25\xe8\xfa\x7a\x62\x86\xb5\xfc\xcb\xb3\x58\x22\xe8\x0c\x8b\xfe\xa7\x4c\xb4\x8a\x22\xd2\x41\x38\x53\x95\xc2"}, -{{0xea,0x60,0xda,0x01,0x79,0xbc,0xaf,0x6b,0x21,0x81,0x42,0xb1,0x11,0x90,0x46,0xff,0xe6,0xd8,0x5a,0x74,0x1b,0x0d,0x16,0x62,0x30,0xbc,0x6d,0xe3,0x30,0x4f,0x67,0x73,},{0x50,0x6b,0x2e,0xbb,0x49,0xbd,0x9b,0x9f,0xf6,0x6e,0x6b,0x7b,0x1f,0xab,0x96,0x68,0xcb,0x18,0x1b,0x4f,0xb5,0xe4,0x34,0x3d,0xdd,0xd3,0xf8,0xa9,0xd7,0x02,0x03,0x1c,},{0x27,0xfb,0x6b,0x5f,0x06,0x52,0x8a,0x64,0x19,0x8a,0x3e,0x7d,0x67,0xc7,0x38,0x84,0x0a,0x8c,0xff,0x4b,0x48,0x2b,0x4d,0x52,0x4b,0x12,0x2d,0x17,0xd2,0xae,0xbc,0xc0,0x38,0x9b,0xe2,0xc6,0xe2,0x8e,0x2c,0xdf,0xc4,0x84,0xc1,0x8d,0xe4,0x25,0xdb,0x56,0xcd,0xfa,0x56,0x1c,0x50,0x7c,0xd9,0x70,0x60,0x2d,0x3a,0x38,0x5d,0x3a,0xea,0x0f,},"\x61\x2d\x6e\xf6\xe4\x34\x9f\xfa\xe5\x16\xe9\x83\xe8\xfa\x7b\x52\xd9\xfd\x13\x42\x82\x24\x0d\x95\x14\x38\x24\xbd\x4a\xae\x03\x23\x4b\x76\xa8\xcd\x6d\x40\x68\xcf\x00\x9e\x48\x1c\x26\x85\x36\x1c\x75\x50\x42\xc4\xe6\xab\x87\x03\xec\xbf\x8f\x02\x0c\xf5\x73\x9a\x4c\x2a\x03\xc3\x73\x1e\x9c\xf7\x5a\xee\x25\x96\x61\x53\xb9\x71\x15\x15\xc6\xc3\x9a\xfa\x95\xf2\x21\xac\x33\x95\xb0\x89\xc9\x7a\xc9\xb5\x14\xe1\x7d\x55\xf7\x96\xa3\xec\xc1\x35\xfa\xaa\xee\x90\x7a\xab\x10\x29\x64\x7b\x48\xac\x81\x74\x9b\xab\x26\x62\x7c\xf7\x09\x5d\x74\xc2\xfc\xee\x35\x67\x1c\x8b\xb4\x60\x53\xf5\x15\x1b\x0c\x2e\x5d\xab\xe0\xf2\xd6\xaa\x20\x41\x33\x05\x02\x0b\x2a\xfd\x9e\xe3\x38\x7b\x2c\x9e\xd0\xbc\x3f\xe2\x90\x2a\xf4\x10\x0c\xec\x23\x32\x7b\x0f\x1e\x4c\xa3\x9e\xf6\xea\xf6\xfd\xf5\xd5\xac\xf9\x3f\xc8\x68\x53\x6d\x8c\xba\x40\x17\x69\x32\x9f\xbe\x93\xef\xfc\x7e\xe6\xbf\x93\xa6\xe5\x88\xbd\x55\x1e\xaa\x51\x28\x53\x95\x2c\x81\xb2\x45\xe5\xd2\x29\xd2\x94\xe4\x13\x70\xb8\x67\x80\x86\x67\x88\x7a\x6f\x9e\xba\x2a\x8d\x56\xa7\xa7\x04\xe6\x6b\x1c\x02\xf9\x6e\x73\x89\x5f\x48\x3e\x44\xa5\xc5\x66\xcb\x1a\xf2\x65\x73\xbf\xe2\xaf\xce\x06\xb1\xfb\x58\x77\xe5\x1e\xf3\x12\x6a\x3f\x21\x0f\xbf\x21\x3e\xd6\x5d\x5c\xa4\x6c\x46\xce\x4a\xa9\x45\xbd\x8c\xa6\x11\xe3\x83\x62\x50\xf5\x64\xf7\xea\x35\x42\x39\x82\xf9\x70\x5f\xcd\x6b\xef\x46\xae\x16\xcb\x0f\x6b\xc9\x12\xc3\xf2\x86\x42\xb8\xd8\x77\x75\xb8\x18\xe4\xe4\xe8\x06\x11\x67\x89\x9b\xd2\x7a\x7e\x2f\xb8\x18\x7e\xe9\x91\x7d\x2d\x58\x6b\xf9\xd4\x99\xe8\xfa\xbc\xa8\x3d\xdf\x58\xc7\x43\x7e\xaa\xce\xc4\xf4\x44\xfb\x2b\xf7\x45\xdc\xcd\x8c\xae\x38\x94\x45\x71\xde\xde\x20\x37\xdc\x41\xf0\x81\x8a\x3d\x91\xe3\x02\x0a\x72\x74\xc6\x67\x42\x47\x87\x60\x83\xd0\xe3\x97\x46\xc9\x68\x40\x61\xbf\x74\xad\x58\x84\x36\xce\x1b\x76\x3d\xbf\x4b\xfc\xf8\xde\x6e\x35\xc5\xa7\x62\x66\x75\xc1\x27\x29\x2b\x21\xdf\x3c\x16\xf8\x10\x63\x32\x2a\x75\xf3\x43\x88\x86\xf1\xf0\xce\xbf\xc1\xa9\x6f\x41\x38\x4c\xbd\xd8\x61\xb0\x4f\x51\x9f\xf6\xa9\x34\x4d\x94\xf3\xd3\xa0\xab\xa8\x40\x9d\xfc\xf1\x8d\x01\xf2\xb5\xb4\x55\x17\x16\x39\xee\xa7\x7d\xee\x70\x6e\xa8\x3d\xcd\x2b\x8b\x1f\xc5\xec\x0d\x74\x07\x61\xa5\xf0\x5f\x7e\xc8\xd8\x7a\xd1\xf2\x92\xa5\x0c\x8b\xae\x0a\xd3\x2b\x03\x41\x9a\x95\x0d\x9f\xe3\xb3\xec\xc4\xd8\xd3\xaa\x95\xe0\x2b\x51\xb1\x83\x1d\x83\xea\xde\xaa\x44\x23\x86\x35\xf9\xc6\x5e\xfe\x2f\x67\x44\xa7\x0b\x9a\xe4\x1e\xf1\x5d\x97\x90\x8c\x05\x33\x93\x44\x12\xf7\x95\x83\xd0\xe9\xb3\xd7\x06\xa1\x28\xe8\x8f\xb5\x1e\xed\xb6\x5e\x46\xd8\xa2\xb3\x8b\xbd\xd6\x45\x55\x54\x96\x7a\x8d\xc0\xc6\x8b\xdd\xfe\xae\x0f\x8f\x72\xf0\xb8\x86\xc3\xc7\x41\xfa\xc4\xf9\x1e\x5c\x49\x1d\xba\xe9\xda\x45\x94\x83\x6c\xf1\xd9\xfb\x6e\xe1\x30\x02\x50\x89\xae\xd3\x50\xef\x24\x7b\xc9\x88\x7a\x20\x50\x15\x9d\xde\xd1\x42\x8f\xfd\x9b\x07\xb9\xec\x2e\x3d\x4b\xbd\xc2\xdd\xb5\x4e\x87\x3b\x63\xf2\x47\x52\x33\xe1\x91\x33\xa1\x4b\x66\x58\x50\x94\x57\x00\x81\x86\xd6\x22\x59\x95\xa9\x67\x26\xb5\x29\xf4\x42\x81\xaa\x24\xfe\xfd\x1c\xff\x8f\x81\x5d\x93\xa5\x98\x69\x31\x66\x22\x90\xb3\xee\x16\x83\x3c\x60\xf0\xaf\xce\xf2\xcb\xc0\x00\x62\x3f\x39\x31\x90\x9c\xa9\x76\xa0\x94\xe2\xb0\xfd\xb7\xdc\xf7\xc4\x85\xe1\x49\x88\xa3\x6f\x19\xb6\x64\x25\x38\x5f\x56\x32\xce\xf6\x5d\x1d\x34\x14\x62\x3a\xe3\xee\x81\x6e\x76\x3a\x5f\x60\x64\x66\x62\x2b\xe6\x60\x21\x14\x50\x29\x51\xcf\x0c\x09\x7c\x16\x48\xa7\x2e\x2c\x43\xd9\xaf\xa9\x68\x9f\x2c\x3c\xfe\x02\x6c\xdc\xe3\xbd\x1b\xf9\xeb\xf7\x77\x56\x2e\xcd\x8f\xf1\xb0\xd7\x75\x30\x6d\x90\x04\x43\xf3\x0a\x84\x33\x10\xb8\xde\x6a\x38\xff\x10\x8b\x72\x39\x13\xd7\x89\x9b\x9f\xbe\x7c\x3d\x76\x6e\xf8\xbd\xfb\x6d\x8b\x0b\x52\x95\x6c\xb1\xce\xc9\x93\x6d\x70\xb4\x87\xc0\x14\x40\xa8\x42\xb2\xfa\xbe\x38\xe7\xb8\x85\x1a\x38\x7d\x35\x8b\xe7\xef\x12\xa7\xe4\xf2\xb5\x27\xe8\x30\x90\xd6\x7e\xb0\x13\xc9\xc2\xcf\xd3\xde\x5a\x1a\x3f\x99\x74\x8a\x41\xf4\x81\x9d\x90\x36\xe5\x00\xc5\x04\xc9\x88\xbf\xd2\x4f\x61\x7d\x6e\xbd\xca\xb2\xdd\xea\xa6\x15\x79\x41\x4f\x36\x0b\x46\x9a\x33\xa6\xde\xd9\x6b\xa1\xd8\xc1\x40\xc4\xff\xc9\x49\x90\xd8\xad\xf7\x8c\xd3\x87\x80\xbd\x68\x66\x3d\x1a\x0e\xe3\x3f\x53\x7c\xdf\x89\x2d\x56\x2e\x82\xdc\xd1\xd9\x12\xca\xd3\x8d\x65\x56\x7d\x29\x14\x06"}, -{{0xb6,0x2c,0x24,0x18,0x78,0x27,0x35,0x13,0xe0,0xbf,0x6f,0x33,0xd2,0x10,0x43,0x65,0xb2,0xce,0x9c,0x5a,0x1b,0x78,0x60,0x58,0xe9,0xc5,0xb4,0xd1,0xd1,0x92,0xf8,0x7f,},{0xbb,0xf6,0xfc,0x51,0x98,0xf3,0xfb,0xa5,0xab,0x00,0x7f,0x8a,0x63,0x2d,0x28,0xd1,0xaf,0x86,0x5d,0x29,0x0f,0xa0,0xa9,0x0f,0xaa,0x9a,0x9b,0x5b,0x9c,0x13,0xf3,0xfb,},{0xc5,0x90,0x39,0x58,0x7b,0x38,0xdc,0x14,0x1e,0x05,0x5a,0x93,0x85,0x01,0x04,0xd6,0x29,0xe3,0x80,0x70,0x5b,0x8f,0xc9,0x18,0x84,0x7c,0x5e,0x2a,0x35,0x2d,0xa3,0xa0,0x2f,0xce,0x7f,0x71,0x99,0xf4,0xae,0x2b,0x1e,0x2a,0x59,0x48,0x34,0x18,0x93,0x2e,0x18,0x5f,0x7e,0x45,0xb5,0x05,0x0c,0x64,0x2c,0xec,0xc7,0xe7,0x81,0x99,0x85,0x07,},"\x26\xa3\xc2\x6a\x5a\x18\x9c\xad\x40\x7c\xba\xa3\xa6\x86\x7a\xc0\xa2\x60\x88\xc7\x5f\x9d\x0f\xa1\x9b\xd5\x02\x74\xce\xc5\x75\x5a\x49\x71\x09\xa4\x73\x28\x4d\x6f\xc8\x1a\xd4\xb9\xec\x29\xfa\x7e\xc9\x76\x4f\xd3\x09\x9f\x06\x0e\x36\x83\x65\x52\xff\x24\x13\xe3\xd5\x09\x5f\xe0\xb1\xa8\xbf\xcf\x67\xee\x06\xaa\x90\x32\xe7\xbb\x32\x49\x69\x80\x47\x71\x4d\x28\x14\x15\x27\x3c\x98\x34\xad\x9e\xb6\x65\xa7\xd9\x72\x20\xe7\x2d\x9c\xa7\x3f\x31\xaf\xa7\x73\x86\x75\xba\x31\x62\xef\xef\xe7\x47\x9a\x5b\xc4\xbc\xe2\xe8\xb7\xaf\x47\x41\xd7\x03\xdc\x9b\xbd\x60\xb4\xcf\x4b\x90\x87\xf6\xcf\x86\xcf\x53\xae\xd0\x2b\xf4\xca\x6a\x18\xf6\x07\xcb\x52\xa3\x03\xd7\x8e\x85\xad\x88\xfd\xfc\x86\xdc\xb7\x18\x77\x27\xb0\x3b\xe2\x27\x74\x5b\xea\x74\x4f\xd0\x06\x52\x5b\xc5\x9a\x4d\xdd\xab\x91\x5c\xef\x40\xa8\xf3\x08\x02\x91\x3b\x79\x13\xea\xf9\x74\x33\x65\x52\xe2\xf1\x45\x6a\xd8\x03\xdc\x58\xc9\xb4\xb1\x8e\xfa\xf7\xf7\xe3\x57\xe2\xcd\x77\xd1\x38\xd9\x00\x80\xe2\x96\xd1\x36\x4a\x2f\x32\x4d\x3e\x0d\x6e\xdc\x20\xb8\xbd\xaa\x9d\x2e\x87\x1f\x5e\x7b\x05\x1f\xb6\xfc\xdb\x55\x95\xf2\x1d\x3f\x8d\xe2\x9f\xb7\x86\x78\xfa\x47\x9e\xaa\x32\x57\x9c\x78\x4d\x51\x3a\xc5\xf8\x36\xd9\x54\xd0\xd3\xfc\x0e\x5f\xc8\xa6\xee\xab\x90\x20\x2b\x4c\x4a\x2b\xec\x24\xcf\x63\xea\x67\xc4\x70\x09\x62\x18\xcd\x43\x1e\x88\x31\x05\xfc\x9c\x27\xf9\xea\x77\xc1\x8e\xda\x69\xbc\x00\xa2\x24\x2b\xd4\x20\xf0\x95\xc9\xb9\xa9\x2d\x95\x6c\xcc\x5a\x85\x72\xb0\x57\xa7\xfe\x17\x3e\xeb\x2a\x31\x66\xcb\x20\x89\xd1\x13\xa8\x16\x46\x2b\x25\x80\x5b\x8a\xba\xff\x5b\x0b\x22\x87\xc5\x08\xec\x2b\x8c\x34\xb2\x19\x5c\x33\x28\x70\xd3\xcc\x39\x60\x17\xa1\x6b\x9e\x0d\xa6\x18\x2d\x07\x1d\x3b\xf3\x63\xd3\xf1\xe7\xb7\xda\x11\xd7\x11\x25\x0a\x58\xaf\xd7\x4e\xd3\xe3\x15\x8d\x47\x18\xba\xd4\xd2\x74\xbb\x34\x44\xcf\xc3\x18\x07\x4b\x53\xbe\xba\x44\xa2\xa3\x4f\xf8\xeb\x72\x6e\x4a\x1d\xaa\x91\x10\x51\x62\x16\x51\x89\x8b\x88\x71\x69\xf6\x2b\x9c\x0f\x40\x20\x48\x3e\xf5\x44\xf8\xf5\x72\xfa\x6a\x66\x40\xa4\xcf\xfc\xe9\x76\xcb\x70\x24\xf8\x47\xbd\xc9\x5d\x1d\x7c\xe6\x53\x50\x5d\xeb\xfc\x69\x88\xed\x28\x9d\xd4\x7a\x9e\xb2\x61\x25\x9e\x3e\x65\xe4\x5f\xc9\xd7\x14\x94\x69\x35\xcd\x8e\xa1\x3b\xc6\xdb\x5e\xaa\xb9\xe8\xb1\x0d\xae\x0f\xdd\x69\x79\xc2\x03\x5c\xfb\x80\x98\x25\x2f\x22\x05\x44\x3b\x80\x88\x16\xbf\x77\x87\xb7\xf1\xe7\x8b\xc9\x8a\x72\x85\xe7\x33\xd4\x5f\xc4\x61\x0c\x20\x97\x7c\xa3\x22\x98\x89\xbb\x8c\xd2\xb6\x94\xce\x9e\x3f\xe7\x83\x03\xaf\x83\xe1\x06\x42\x25\x42\xfb\x79\x61\xd3\x2e\xb1\xd2\xc5\xfb\xe6\x07\x51\x67\x4b\x07\x47\x73\xee\x06\x16\xe0\x29\x73\xf6\xa7\x4a\x3a\xe4\x66\x4a\x26\x50\x91\x5a\x3e\x10\x49\x3b\x9e\x66\xa3\x9f\xa5\xc8\x9c\x61\xd4\x47\x35\xf1\x07\xd3\x37\x57\xae\x67\x9b\x43\xa8\xd4\x3a\x01\x75\x7a\xe1\xf3\x27\x9e\x86\x24\x42\xe1\x50\x71\x55\x50\xee\x82\xe4\x9c\x0d\x49\x43\xfa\xf1\x3f\x22\x79\x1f\x0e\x66\xf2\x4a\xc5\x0a\xb3\xc0\x03\x85\x2b\x21\xe1\x5b\x2f\x00\x6e\xdc\x2c\xd6\xa8\x79\xc4\x76\xab\x5b\x35\x2e\xb1\x09\x9d\xad\x4c\x50\x37\x24\x00\xfa\xa5\x49\x8d\x78\xc6\xb8\x57\x03\x4c\x25\xca\xf7\xb9\x33\xfa\xf6\xbd\x7c\x59\xfa\x3d\xa5\x73\x97\xb6\x03\xde\x9c\xb9\xd8\x0e\x51\xf7\x99\x7b\xaa\x46\x2a\xcd\x53\x7e\x2c\x41\x94\xc7\x6c\x7e\x0b\xe6\x51\x2b\xce\x4d\x63\x66\x0b\x36\xc7\xcc\x46\x63\x1f\xb9\x67\x1a\xd8\xc5\xd2\x8e\x2f\x2e\xe2\xed\xce\x81\x95\x44\x21\xb8\xa3\xd9\xff\x6f\x66\x69\x9f\x4b\xce\x88\xbc\xb8\xef\x19\x2c\x26\x2a\x74\xab\x7e\x19\x1e\xee\x91\x01\xa2\x8d\x4b\x66\x28\x2b\x51\x22\x09\x3d\x14\x1c\x64\x96\xc7\xab\xa4\xd3\x52\xe4\x72\xee\x74\x40\xe0\x5a\xf6\x0d\xa0\xcf\xc9\x3e\x30\x36\x42\xba\x8f\xb8\xe5\xc5\x68\x68\x7a\xbd\x63\xaf\xb3\xed\x6a\x32\xb6\xda\xe5\x6a\x7e\x5d\x73\xde\xba\xf4\x1d\x35\xca\x36\xad\xb9\x7a\x22\xc0\xad\xbe\x71\x8b\xec\x1f\xa5\x19\x98\xde\x9b\x4b\x96\xa7\x9c\x5b\x96\x55\xb0\x16\x5d\x5e\x1b\x9a\x8c\xc5\x52\xe8\xc9\x32\x9e\xde\x58\xdf\x74\xc6\x7b\x2b\xa1\xa8\x42\xfd\x3e\x81\x58\xc1\xfe\xa3\xa9\x9b\x56\xa2\xc2\xa9\x62\x07\x85\x3d\x26\x02\x2c\xec\x17\x0d\x7e\x79\x94\x4d\x2f\x56\xaa\xb1\xf1\x91\xbf\xd4\x8d\x72\x54\x90\xca\x82\xb8\xd9\x06\xf0\x68\x0e\x69\xee\xb9\x57\x57\x74\xfb\x9d\x60\x45\x13\xfb\xc2\x6f\x5d\x30\x3b\x68\x85\xca\xc0\xbf\x8e\xfe\xe0\x53\x8f\x92"}, -{{0x0f,0x77,0xf7,0x7a,0x1c,0x7e,0x04,0xbd,0xa8,0xe5,0x34,0xf4,0xe3,0xef,0xf9,0xa2,0x38,0xcc,0x14,0x87,0x6b,0x7e,0x3e,0xca,0x8b,0xed,0xe1,0x92,0x3a,0x33,0x64,0x06,},{0x10,0x45,0xea,0x9f,0xe2,0x14,0x58,0x3a,0x0c,0xdb,0xc4,0x94,0x93,0x2b,0xc4,0x4a,0xfe,0xeb,0x08,0x0b,0xec,0x48,0x5c,0xc2,0x34,0xfd,0xdc,0xff,0x13,0x9c,0xce,0x00,},{0xb2,0x0b,0x9c,0x42,0x46,0xf0,0xd2,0x97,0x01,0x38,0xaf,0x7d,0xc9,0xaf,0x62,0x9b,0x68,0xfb,0xc3,0x7d,0xf8,0x7a,0xfd,0xca,0xdc,0xb5,0x45,0xc1,0x76,0x83,0x76,0xa0,0x9c,0x3b,0xab,0xc3,0xeb,0x1a,0xf3,0xb7,0x51,0x98,0x52,0xf7,0x5f,0xab,0x1c,0x9c,0x11,0x9c,0x66,0x2c,0x58,0x77,0xfb,0x2f,0x72,0x99,0xca,0xb5,0x7f,0xad,0x3d,0x0e,},"\x0e\xcb\x74\x6d\xbd\xb0\x16\x14\x21\xaf\xeb\x7a\xde\xa7\xa3\x7c\x2e\xa4\x40\x8a\x59\x2c\x9d\x78\x1e\xd6\xac\x6f\x4e\xe5\xcc\x65\xd5\x27\x0e\x4c\xf2\x76\x32\xf7\xc5\xc1\x33\xd4\x39\xb7\x8d\x1f\x71\xaa\x6d\xd8\x07\x13\xd9\x0b\x15\x1e\x19\x12\x1b\xfa\x87\x71\x0e\x84\xa4\x85\x0a\x3b\x5b\x02\x65\xba\x26\x03\xd0\x71\x6e\x9b\x7e\x11\x22\x10\x9c\x39\xc6\xf1\x02\x7f\xce\x18\x79\x8c\xbb\x4f\x6b\xc5\xe4\xd7\xac\xa4\x70\x46\x90\xf5\xc9\x81\x51\x08\x71\xc3\x13\x59\x57\x98\x33\x86\x81\x10\x7f\x2b\x57\x94\xd4\x6f\x6e\x0b\xde\x2c\xd0\x64\xb3\xb1\xfc\x00\xca\x47\x18\x8b\xbb\xc1\xf4\xa0\xce\x30\x5c\xc6\xd8\xa8\x96\x92\x0e\xb9\xeb\xae\x57\x9f\xd3\x38\x5f\x8f\x1f\x35\x97\x62\x88\xf4\xc5\x8f\xfc\x47\x60\xf3\x59\xb0\x03\xc8\x72\xe9\xa2\x40\x55\x35\x5e\xa9\x58\x5e\x95\x10\x69\xdc\xa2\x5f\xd0\xcc\x0b\x9d\xb5\x2a\xae\xaf\x19\xd4\x3f\x2e\xab\x4f\x83\x56\x03\xad\x12\xd2\xdc\x49\xb3\x10\x25\x6b\x94\xbe\xd5\x48\x96\xa1\x6b\x69\xb0\x9c\xb4\xc8\xff\x5c\x23\xcc\xe5\x59\x3d\x87\xad\xe2\xa8\x2a\xda\x50\x85\x9e\x15\x44\xc1\x86\x18\xa6\x5c\x00\x7e\xf4\x24\xc9\x85\x4a\x17\x5b\x6e\x6c\x0e\x64\xb2\xc8\xeb\x8a\xd4\xd2\x8b\x97\x7d\x68\xe7\x81\x69\x91\x51\x98\x97\x53\x94\xd3\xb9\xb2\x69\xca\xb0\xd3\x26\x1b\x2b\x56\xcd\x2c\xc4\xbd\xdb\xd4\xf1\x43\x9e\x0d\xbe\x2c\x9b\x3f\x3f\x75\x14\xed\xac\x5e\xbb\x46\x22\xb9\x2a\x69\xa8\x40\xa9\x02\x85\x50\xb2\x21\xdb\x59\xdd\xfb\x00\x13\x96\xf8\x63\x92\xa1\x7f\x08\xcc\xb1\x94\xcd\x9e\x1a\x00\x81\xd7\xdd\x9c\xca\x23\x57\xfe\xb8\xb7\x95\xe5\x17\x02\x9f\x79\xc8\x2a\x3b\xe6\xf9\xa0\x31\xdd\x1a\xf1\xe7\x9e\x49\x82\xbf\x8e\x76\xb3\x10\xf9\xd3\x55\xef\xcd\x5b\x1e\xfa\x9f\x35\x9c\x17\xcf\x3b\x51\x0d\x51\x3e\x8c\xd5\x78\x6a\x0d\x34\x45\xdc\x59\xa8\x43\x3a\x46\x48\x86\x87\xb0\xf5\x8b\x1b\xd6\x56\x7c\x2a\xf4\x87\x3b\x51\xfc\x84\x5e\x76\x7e\x24\x30\x05\x19\x2f\x8f\x06\x74\xf2\x81\x26\x5a\x55\xd7\x6c\xea\x32\x22\x60\xc9\x32\xce\xa6\x71\x7a\xdb\x98\xa2\xdd\xa8\xc6\x98\xe2\xe8\x92\x55\xfe\xb7\x7d\xa7\x64\x81\x67\xbc\x1e\x58\x87\x7f\xeb\x72\xd1\xd1\x4b\x0c\x30\x4f\x07\x37\x2d\x95\x56\x75\x23\x7c\x49\xf7\xa6\xdb\xc9\x15\xe6\x81\x4a\xba\xe6\xcc\xe4\xca\xf9\xf4\x80\x87\xe9\xdf\xb2\x82\xd8\xf3\x40\x37\x7c\x1e\x29\xc6\x73\x1c\xcc\x26\x67\xda\x66\x95\xb7\x12\xbe\x03\x12\xd8\x65\x11\x19\x34\xf1\x68\xd5\x54\x43\x65\xdd\xae\x27\xab\xc6\x4a\xef\xbc\xb3\x22\xdb\x7d\x97\xd9\x0d\x95\x7a\x63\x7b\xd8\x26\xc2\x27\xe9\xeb\x18\x0b\x45\xa4\x31\x62\x6a\x6f\xd8\x90\xc0\xe5\xf4\xed\x7e\x85\x64\x74\x75\x2f\x80\xb5\xae\xf6\xe7\x3e\xfd\xaa\x6c\x2c\x45\x1b\xd7\x4c\x1e\xf4\x66\xca\x3a\xaa\x25\x73\xbb\x52\xcb\x2b\x1c\xa9\x6a\x1b\x57\x44\x03\xce\xae\x1c\xf0\x5f\xfc\x53\x43\x0e\x1e\x4c\xd5\x59\x3b\xd1\xef\x84\xbc\xbf\xe2\x19\xf0\x81\x60\xd1\x66\xf2\x73\x1d\x99\xb8\xd7\xa3\x2b\x12\x99\x1f\x77\x77\x5a\x26\x7e\xc0\x82\x97\xec\x51\x2d\x7b\x72\x43\x56\x32\x52\x5c\x04\x00\x0f\xb0\x0a\x79\x3f\x8b\x5f\x8f\x37\x47\xb5\x53\x59\xdf\x21\xb7\xe2\xc4\x9f\x2b\x0b\x9a\xe0\x82\xaf\xc7\x0a\x14\x68\x71\x37\x0b\x8d\x50\x08\x6d\xe0\x0f\x94\x48\xbe\x89\x02\x17\x4b\xa2\xcc\x85\x1f\xa3\x79\xdd\x70\x31\xca\x45\x7a\x88\x69\xaf\x4b\x6c\x27\x29\xda\xc5\x19\x55\x6b\x8b\xb4\xab\x51\x9e\xf1\xbb\x02\x4e\xa8\xb7\xf0\x17\x71\xc9\xaa\xb7\x48\xe5\x73\x81\xa0\x19\x2a\x6e\x39\x8c\xbe\x6d\xd9\xf3\x67\xcc\x7b\x33\x54\xf8\x3b\x79\xbc\xda\x46\xb7\x93\xa4\xad\xa8\x55\x49\xc8\xd6\xbd\xd6\x16\x81\x24\x36\x2f\xf9\x08\xaa\x1a\x0c\xb7\x8a\xa3\x30\xc4\x2d\x5a\x5d\x48\x12\x35\xac\xac\x3a\x91\x9b\x96\x9c\x50\x98\x72\x66\xd4\x04\xd1\x5d\x0e\x70\x6f\xd9\x00\x76\x34\xf6\x9e\x13\xc5\x6e\xc4\x71\x33\x88\x4f\xca\xdd\xc1\x6b\xee\xee\xd1\x9e\x0c\xd9\x17\xaa\x49\x63\x67\x86\x7d\xfc\xea\x27\x4e\x1a\x47\xda\x77\x4f\x3c\x93\x63\x02\x1e\x7c\x8d\x6b\xf8\xf0\x00\x53\xfa\xcc\x11\xcb\x68\xa9\xd6\xe1\xfc\x2d\x6d\x19\x17\x5d\x63\x24\xff\x7c\xa6\xc2\x30\x58\xb8\xb6\x93\xd8\xfd\x4e\x0b\x51\xdc\xbb\x11\x35\x43\xf2\xfc\xc0\x45\x2e\xb9\xd9\x67\xac\x0f\xa9\xb2\x3e\x9e\x0b\x1d\xa8\xd8\x3a\x3c\x1f\xc9\xe9\xec\x97\x1f\x0f\x67\xfc\x74\x5b\xb1\x73\x76\xbc\x46\x24\x5f\x52\x8c\xb6\xe5\xfe\xe1\x1b\xcd\xda\x86\x7b\x7f\x79\x01\x9c\xf9\xdb\x59\x18\x58\x23\x0a\xec\xb4\xd1\xe9\x3d\x16\x7c\xd8\x6b\x42\xdd\x87\x9a\x13\xfa\x0e"}, -{{0xc5,0xa5,0x05,0x34,0x77,0xae,0x31,0x15,0x8e,0x74,0x69,0xdd,0x15,0x04,0x86,0x76,0x50,0xd4,0x6f,0x15,0x89,0x06,0x7f,0x5c,0xd8,0x81,0xca,0xf2,0x5c,0x26,0xcb,0x21,},{0x70,0xf8,0x5d,0xb9,0x80,0x7b,0x26,0xfc,0xf3,0xe6,0x69,0x0b,0x91,0x72,0x4f,0x7a,0xe3,0xd2,0x0e,0xc3,0x60,0x4a,0xb7,0xd6,0x30,0x8d,0x90,0x94,0x30,0x8b,0x2d,0x59,},{0xf5,0x19,0x1b,0x44,0xbd,0x6c,0xc3,0xea,0x28,0x17,0x71,0xdf,0x12,0x54,0x9b,0xa2,0xbe,0x22,0x8b,0x51,0xeb,0x79,0x1b,0x9e,0x5e,0xd2,0x81,0x5f,0x86,0x2a,0xa6,0x30,0xb5,0x69,0x67,0xcd,0xef,0x8b,0x6a,0xf0,0xb9,0xd2,0x1a,0xb8,0xc9,0x7a,0x6d,0xff,0x68,0x1c,0xce,0xd9,0xf5,0x01,0x97,0x13,0xd4,0x35,0x7c,0xb3,0xe5,0x4c,0x0d,0x08,},"\x85\x71\xff\x39\x03\x48\x6a\x43\xa6\x12\x6c\x32\x3e\x7b\x3a\x74\x14\x1d\x13\x85\xd4\xbd\x70\x3f\x19\xe2\xd1\xb6\x4b\x50\x28\x1d\x27\x16\x8a\xe3\xe7\x69\xc6\xdd\x9d\xf7\xd9\x78\x64\xfb\x37\x82\x2f\x00\x21\x85\x2e\x31\x68\xab\x7d\x84\x5a\x65\x45\xed\x0c\x37\x7d\x9f\x7c\x04\x8a\x2b\x96\xe8\xdc\xf4\x45\x77\x96\x84\xa0\x58\xc2\xb9\xc2\x1a\xc6\x8a\x0c\x34\x1d\x1d\x6c\x09\x81\x45\x64\x57\x45\x8e\xb7\xce\xbf\x66\x67\x87\x40\x77\x7e\xca\x26\xe0\x1e\x1c\x8f\x53\xb5\xd4\x75\x6c\xc5\xf0\xb9\x0f\x0c\x5d\xb0\x53\x93\xcd\x4b\x8e\x44\xf6\x81\x0c\xaa\x5a\x11\x6a\x33\x57\x77\x24\x39\x5d\x41\x3a\xf6\x19\x63\x2a\x6f\xed\x14\xe2\x15\xc2\xf1\x9d\x10\x5c\xe2\xbf\x14\x98\xe6\xd2\xab\x4f\x65\x0f\x61\xba\x5c\xf6\xd0\xc7\x3b\xbb\xde\x98\xe3\x04\x29\x91\x0a\x4e\x67\xdf\xbc\x71\x7c\xb0\x91\x18\x2d\x59\x70\x58\xb5\xd7\x65\xd0\x97\xe6\x87\x58\x31\xb5\x88\xaa\xeb\x3e\x73\x27\xe8\x56\xb4\x2f\xa9\x83\xfd\x25\x4e\xf1\xf9\x18\xb0\x43\xd1\xdd\x3d\x7b\x7e\x30\xb3\x15\x38\x6e\xec\x91\xe7\xf9\x4d\x59\x8f\x4b\xeb\x3b\x27\xb4\x2f\x4e\xe1\xfb\xf7\xaf\xb4\x86\xbd\xcc\x60\x81\xcc\xb8\x67\xf0\x41\x11\x04\x4f\x4b\xbb\xe3\xc8\x12\x2e\xde\xad\xef\xa9\xd6\x93\x90\x6e\x0d\x6e\x13\x3b\xf6\xf2\xda\x61\x58\xfe\xed\xbd\xa0\x24\x41\x0f\x12\x08\x6e\x7a\xcc\xf1\xc6\x8e\x15\x57\xf0\x0c\x14\xe9\xc7\xea\x76\xa5\xed\x13\x37\xa0\x54\xac\x2c\x94\x9c\x05\x97\x7e\x03\x02\x74\xf6\xa4\xf2\xa6\xb3\x0a\x15\xc5\x70\xec\x94\x33\xf7\x4f\x47\x52\x80\x87\xc9\xce\x9a\x62\x92\x95\x1c\x54\x35\x49\x96\xfb\x28\x3c\x0d\xc4\xcf\x33\xc0\x01\xbc\x96\x87\x5e\xa6\xe1\xf4\x6f\x83\x7f\xf1\x8d\xd9\x54\x5f\xb9\x93\x46\x55\x34\x2b\x12\xc2\x99\x0b\x9f\x1c\x6f\xf4\xd6\x64\x89\xd6\xae\xdc\xe7\x5c\x7c\xb0\x3a\xc1\x34\xbf\xd3\x9b\x18\x1d\xfb\x7f\x9a\x97\xce\x73\x7f\xe5\x70\xad\x5f\x81\x34\x59\x39\xa6\xde\x5a\x40\xa3\x3a\x0e\x44\xbf\x95\x75\x03\xd5\xca\x02\x83\x51\x2e\x57\xfb\xa8\xa3\xa6\xf2\xc3\x90\x68\x7b\x1b\x77\x08\x67\x6e\x0f\xd0\x3b\x7c\x18\x8d\x45\x61\xc1\x87\x91\x63\xea\xf2\xb5\x96\xdd\xd5\xf3\xc1\xf4\xda\xdb\xc1\x39\xc2\x16\x48\x92\x82\x0b\x2f\xe0\x9c\xbc\x3d\x19\x08\x80\x76\x36\x45\x10\x25\x4f\x2b\x6d\x41\x03\x29\xe7\x0f\x2e\x5a\x94\x5b\xba\xcd\x2c\xa8\x9b\xd4\xb6\xe1\xf5\xe2\xe1\xd4\xf4\xed\x2f\xe0\x11\x3b\xcf\x32\x96\x2f\x00\xd5\xc3\x3b\x1d\xf9\x88\x40\x2b\xa0\xdc\x88\x04\xc1\xaf\x66\xcc\xae\x26\x70\xef\xa3\x13\x4c\x67\xfc\x90\xfe\xed\x8d\x8d\xee\xdc\xcf\x6a\x46\xf2\x29\x40\x45\x4a\xf2\xbb\x67\x54\xcf\x23\x5d\xdb\xb0\x00\x1c\x6c\x74\x1b\xf8\x74\xbc\xd8\xd4\x1d\x9d\xba\x81\x62\x58\x1c\x37\x46\xd7\xf3\x0e\x73\xde\xf6\x94\x15\xaf\x51\x81\xc1\x49\x91\x42\x95\x12\x2d\x45\x98\x2f\x94\x94\x3e\x20\xb0\xff\xc7\xfe\x6d\xdf\x19\xa0\x22\xe8\x7a\x52\x13\x33\x57\xa1\xe8\x0f\x37\xf2\x8a\x4c\x4a\x8a\x61\xc1\x48\xdd\x87\x5c\x1e\x8e\xcd\xcd\x84\x0d\xd8\x63\xe4\x4d\x9b\xcb\x16\xb6\xe5\xaf\x01\x47\xb3\x4a\x7a\x90\x52\xc8\xd3\xf4\x52\x01\x3d\x2d\x35\x4f\x68\x03\xf9\xea\xf6\x05\x6f\x3b\x01\x3c\x61\x6e\x47\xf3\x98\x81\x91\x46\x32\x0a\x5e\x3d\xbd\xf1\x68\x43\xea\x29\xde\xf2\x62\xcc\x9a\x34\x36\x72\xcf\x96\xbc\xcc\x6e\x87\xe6\xa6\xba\xf0\x71\x2e\x6e\xe8\x9a\xa6\x04\x89\xf1\x7c\xb7\x2d\xdc\x44\xba\xd1\x61\x58\x7d\x87\xf5\x4d\x67\xcc\x0a\x27\x78\x49\x7d\x83\x10\x88\x31\x5f\xfe\xee\x3d\x26\x8c\x59\xbe\xfe\x88\x4c\x3a\xa0\xe0\xae\x22\x96\xbb\xb6\x0e\xac\x90\x97\xcd\xf8\xdc\x09\x87\xce\xb1\x74\x2b\x05\x86\xdf\xce\x79\xec\x10\x42\x5b\x28\xf4\xe6\x45\x20\xd7\x12\xe3\xf4\x6e\xa8\x3b\xe2\xde\x6a\x15\x74\x07\x3b\xc5\xc7\x55\x7b\x8e\x25\xb6\x41\x11\x84\xea\x28\x3d\x88\x00\x23\x2c\x79\x06\x94\x21\x81\x1f\x88\x3c\x29\x94\xe7\xb7\xe2\xad\x9f\x8d\xc4\x89\xc9\x34\x77\x24\x39\x46\x09\xc9\x89\x09\xa6\xc2\x60\x17\xb5\x0f\x20\xd5\x0c\xca\xcb\xde\x36\xb7\x6b\xa6\x46\xa7\x6d\xc6\xa5\xb0\xf5\x06\x49\xc5\x65\x8b\xbd\xfd\xd3\xb5\xca\xfc\x54\x79\xa2\xf4\x8e\xe5\x15\x42\xf2\x3e\x9f\xc9\x21\x32\x06\x0f\xd6\x35\xef\xf4\x52\x11\x1c\xda\xf3\xef\xbd\xb7\xdb\x9e\x7d\x47\x16\xd0\xd6\x01\x1c\x29\x11\x8a\x55\xd4\xc1\xa4\x36\xab\xe2\x4e\x3c\xbf\x40\x23\x5b\x76\xdd\x19\x23\x50\x3c\x5f\x35\x98\x12\x4e\x2d\xf5\x5a\x2d\x1f\x24\x6e\x90\xde\x4b\x71\x64\x5d\x51\x75\xb6\x1b\x01\x74\xe7\xe5\x7d\xf1\x28\x5c\xcf\x8c\x86\xb8\x38\x2c\x25\x80\x79"}, -{{0x05,0xc7,0x19,0xca,0xe0,0x6e,0x2b,0xb7,0xd8,0x78,0x63,0xab,0x31,0x50,0x27,0x2c,0xb2,0xf8,0xc3,0xaa,0x24,0x21,0x91,0x2d,0x87,0xf9,0x8e,0x75,0x89,0x63,0x8c,0xe9,},{0x90,0x21,0x17,0x96,0xfe,0xd3,0xd5,0x3b,0x81,0xf8,0xfe,0xeb,0x1b,0xad,0x1f,0xfc,0x93,0x3e,0x5f,0x10,0xd3,0xbc,0x1b,0x36,0xdd,0xf2,0x10,0xa4,0x79,0x23,0xdf,0x03,},{0xba,0x6e,0xb7,0x51,0x37,0x1d,0xf7,0x21,0xb7,0x70,0x7a,0x5b,0x33,0x39,0xed,0xb5,0x5f,0x13,0x86,0x40,0xb9,0x7b,0xe6,0x33,0x4d,0x6c,0xda,0x51,0x91,0xa3,0xff,0x63,0x67,0x91,0x17,0x61,0x88,0x2a,0x4a,0x00,0x7f,0x16,0x1b,0x74,0x8c,0xec,0x95,0xb1,0x9e,0x99,0x5f,0x28,0x58,0xc2,0x57,0xcd,0x61,0x69,0x25,0x66,0x62,0x30,0x11,0x02,},"\xec\x24\x19\x18\x41\x8e\x60\x52\x20\x42\xe6\x73\x39\xe6\x64\x94\x99\xf3\x1a\x6c\x7c\xf8\x92\x5f\x1f\x61\xdd\xe8\x94\x60\x36\x02\xae\x8b\xb5\xf5\x88\x09\x82\x1f\x83\x34\x4f\x23\xcd\x31\xe6\x4e\xc9\xff\xe7\x9a\x98\x6b\x7e\x29\xe4\x31\x9a\x63\x41\x43\x16\xbd\x6e\xe2\x0e\x02\xa5\x0d\xa4\x40\x12\xbd\x2d\x6f\x9f\x67\x9e\x88\xed\x0c\x8b\xb1\xe2\xca\xd5\x5e\x56\x57\x89\x88\x33\x45\xb7\x54\x6f\x3d\x54\xb1\xb3\x62\xb1\xc6\x50\x50\x2c\x01\x9d\x73\x13\xaf\xbc\x82\x68\x9b\x23\xa3\xa5\x2d\x8f\x1a\xf9\xf8\x1e\x18\x8d\xbd\xf2\x03\xfb\x53\x00\xb4\x22\x5b\xfb\x67\x73\x33\x7b\xe6\x75\x0b\x3d\xb8\x8c\xe0\x97\x34\x3f\x62\xee\x2c\x11\x85\x74\xef\x15\x0c\xbd\x4c\x62\x76\x0c\x3e\x43\xdc\xbc\x39\x21\x8b\xd6\xd9\x85\x65\xfa\x38\x98\x11\xb1\xa6\x74\xf6\x17\xfd\x75\x67\x33\xdc\xb5\x67\xa9\x2d\xbf\x38\x55\xb5\x7b\x1f\x4a\x46\xd5\xb8\x97\x4b\x39\xac\x0d\x0e\x24\xd9\x9d\x20\x37\xc0\x4f\x60\xd9\x14\x0f\x64\xb0\x7a\x77\xd7\xea\xa1\xce\x8a\x78\xe8\x44\xb1\xdc\xf0\xe3\x74\x24\xf3\xf9\xd2\x53\xa5\x48\x56\x1a\x03\x75\xa8\xd4\x34\x12\x97\xbf\xed\xb7\x04\x8c\x79\x35\xe1\x48\x14\x18\xf9\xbb\xa9\x27\x1f\x9f\xd6\x02\x62\x24\xe7\x8e\x05\x5d\x8a\x09\x39\xfa\x2f\xe1\xdb\xc0\xfc\x7b\x58\x3e\x4c\xff\x34\x90\xe1\xd0\xf6\x10\xb2\x52\xe3\x0d\x84\x97\xd0\x0e\x4a\xac\xb3\x75\xf1\x9a\x47\x19\xf7\x9c\xa1\xea\x58\x3a\x2f\x8b\x14\x06\xa4\xaa\x5c\xb5\x5c\x08\xb6\x59\x3b\x67\x6e\xb5\xc3\x4a\xbe\x89\x39\x2d\x62\xd2\x33\x08\xa3\x34\x8b\x57\xaf\xfb\xba\x77\x39\xcd\xe8\xe1\x90\x9d\x34\x25\xee\xb2\x09\x26\xa9\x77\xd3\xa9\x4a\x86\xe0\xba\x10\xb3\x86\x92\x66\x98\x82\x7e\x86\xb4\xfd\x6c\x61\x80\x04\x7c\x87\xec\x3b\x31\x61\x9d\x05\xa9\xdf\x34\xef\xd3\xd7\x6a\x83\x69\x62\xb2\xef\x60\x4d\x07\xaf\x09\x75\xeb\x8f\x3d\xd2\x25\x94\x32\x38\x02\x56\x4c\x92\x9b\x3f\x65\xda\xcb\x57\x2b\x32\x55\x3d\x69\xb3\x1a\x19\x76\x90\xa9\xbb\x86\x0b\x08\x0a\x77\xcf\xbb\x3c\x17\x5a\xaf\xce\x01\x46\xa8\x2a\x4d\x06\xe8\xc7\x50\x52\x1b\x72\x6e\xf1\xcb\x29\xd0\x21\xe5\x91\x5e\x5e\x84\x62\xed\xe5\x39\x54\x45\x24\x5c\x9a\xe8\x82\xee\xc4\xb1\x74\x5e\x11\x79\x1f\x76\x21\xd3\xfe\x70\x2c\xac\x15\x25\xe1\xf7\xb4\x6e\x11\x05\xcd\xd0\x6d\xa2\xaf\xde\x26\x47\x5d\xc1\xf7\x8d\xf8\xe2\xd7\x2b\x0e\xc3\xef\x7d\xd9\x56\x19\x3c\x99\x68\x42\xa4\x32\x69\x65\x38\xcf\x12\x3d\x76\x87\x21\x1f\xfc\xd0\x90\xb9\x38\x1e\xab\xec\x87\x9f\x76\x9a\xac\x0d\x35\x64\xe1\x6d\xf7\x94\xfa\x24\x72\x8d\x71\x72\xfd\x07\x73\x2e\xab\x07\x7e\xd8\x1c\x22\x08\x4f\x6f\x78\x1b\x62\x6d\xac\x67\x42\x8a\x9d\xdf\x3b\x0d\xb0\x46\x52\x51\x22\x0d\x18\xb8\xbf\x62\x04\x64\xc5\x1a\x57\x8d\xec\xcc\xbb\xab\xa5\x45\xed\x44\x2c\xf1\x2c\x4c\x66\xf6\xcb\x6e\x69\x01\xea\x54\xae\xda\x23\x6e\xc4\x5e\xef\x88\x6a\x7d\xdd\x2c\x04\x1c\xab\xa3\xa6\xce\xe3\x39\x71\x5b\x6c\xe9\x7e\x76\x5e\xc3\x47\x9f\x3d\x52\x82\x4a\x81\x94\xbe\xc2\xa8\x96\x47\xe8\xc6\x3f\xf7\x64\x5f\xf6\xd0\x53\x67\xc7\x67\xbc\x48\xcc\x96\xba\xf0\x5d\x6a\x41\x5b\x2a\x5a\xff\x9b\xfb\x21\x79\x48\xfa\xd3\x57\xb9\x8f\x47\xdf\xed\x62\xff\x12\x85\xeb\x9f\x46\x8f\x0f\x29\xed\xd7\x5a\xdc\x0c\x8c\x2f\xf6\xa5\x65\xed\xb8\xed\xfb\x48\xbe\xa0\x3b\x70\xc4\x47\x36\x9c\x52\xd8\x81\xee\xa0\xee\xdb\x08\xc3\x15\xcd\xf0\xbf\xeb\x97\x9c\x1c\x02\x50\x94\x6b\xb1\x00\xc2\x86\x6b\x41\x69\xb8\xcb\xd4\x4d\x65\x8f\x02\x36\xe1\xe9\xf3\xaa\x13\xbb\x8e\x80\x22\xa3\x8c\xe9\x97\xc9\x4b\x5b\xaf\x97\xe0\xba\x62\x1f\x7e\x09\x67\x1c\xe6\x38\xc2\xa3\x9e\xe6\xc6\xe2\x5a\x68\x80\x19\xdd\x16\x76\x75\xce\xae\xc2\x1c\x6b\x42\xa7\xc8\xc4\x76\xd1\x29\xdc\xc6\x93\xc3\x92\xa0\x2b\xe9\x1b\x87\x43\x7a\x08\xa0\xeb\xf1\xa7\xbd\x97\x6b\xa2\x37\x74\x76\x68\x38\xb8\xd6\x02\x4f\x5b\xb9\xb0\x7f\x3c\x6b\x71\x9b\x4d\xe1\x5b\x72\x44\x80\x48\xab\x70\xdb\x3d\x4b\xea\x77\xba\x35\x9b\x51\xb1\xec\x17\xdb\xe8\x01\x0a\xef\x02\x44\xa8\x07\x9c\xa8\xb9\xa2\xa7\x97\xf3\xb1\xfe\x04\x7c\x8d\xd5\xca\xb7\xfb\x48\x68\x29\x23\x9c\x4e\xf6\xd9\xa3\x83\x70\xd4\x88\xc4\x7b\x7c\x03\x0e\x49\xa5\x50\x0c\x9a\xbb\x39\xa9\xa5\xab\xfe\x72\xe9\x18\xb7\x63\x84\xec\xaa\xfe\x16\x27\x26\x6c\xd1\x4e\x69\x6c\x09\xd2\x51\x2e\x31\x25\x82\xa8\xa9\x11\xe7\xb7\xbf\xa0\x4c\x21\x81\x9a\xf6\x87\xf0\x4c\x5e\x0c\xbe\x9a\x2c\xe2\x4d\x4d\x3f\xd1\x21\x90\xb2\x53\xda\xbc\x12\xc6\x3c\xab\xfa\x94"}, -{{0x53,0x11,0xf3,0xc9,0x61,0x01,0xcb,0x8b,0x7a,0xbc,0x62,0x2b,0xb9,0x32,0x6b,0x8f,0x51,0x3c,0x2b,0x16,0xd2,0x94,0xdf,0x79,0x7f,0x56,0xdf,0xd8,0x20,0x3d,0xda,0x27,},{0x23,0x0b,0x70,0x02,0xf5,0x7c,0x79,0xae,0x2e,0x6b,0xfd,0xb8,0xdf,0x30,0xdb,0x3e,0x90,0x07,0x56,0xb5,0x4a,0xf3,0x96,0x8c,0x67,0x0e,0xe2,0xf3,0x2b,0xb1,0x1e,0x0a,},{0x3c,0xbb,0xb2,0x60,0x88,0x70,0xde,0xa1,0xef,0xee,0xbb,0x3f,0xbf,0x68,0x1e,0x27,0x70,0x5c,0x35,0xe4,0xdd,0xee,0xa8,0x6c,0x1b,0x34,0x2a,0x77,0xdc,0x29,0x6b,0x49,0x84,0x19,0x80,0x8e,0xac,0xbc,0x78,0x85,0x56,0x11,0xff,0xbc,0x92,0x65,0xa7,0x47,0x98,0xe5,0x18,0x27,0xe6,0xe5,0xd8,0x11,0x81,0x6d,0x3c,0xa2,0x1e,0x8b,0x9c,0x06,},"\x61\xb1\x5b\xe3\x7c\x4e\xb3\x97\xd9\xe7\x7e\x00\x15\x1a\x28\xed\x3e\x86\xd5\x0a\x95\x52\xbb\x48\x50\xb6\x21\x76\x3f\x01\x2e\x7e\x77\xbb\x5d\xb8\xf3\xdf\x7d\xcf\x76\x9f\x2d\x1d\x46\xd8\xd6\x0b\xae\x40\xc8\xca\x6e\x25\xc6\x41\x0b\x60\x07\x8a\x93\xfd\x05\x90\x21\x14\xbd\x91\x04\x5c\x06\x19\x2c\x70\xc4\x2c\x9f\x41\xf8\x16\x1c\xa4\x65\x64\xeb\xc2\x1a\x4b\xdd\x81\x90\xeb\xa2\xae\xb3\x09\x82\x30\x72\xec\x2c\x02\x00\xce\x64\x98\xf9\xd7\x2b\x37\xb3\xfb\x46\x67\x74\x32\x6d\xf3\x7a\xd8\x80\xd8\xed\xdb\x32\xaf\x67\x3e\x45\xd8\x8e\xec\x49\xb1\x57\x7b\x43\xb8\x63\x91\x11\xc2\xe0\xb9\x41\x87\xd2\xd4\xe0\x17\x3c\x00\x0f\x4c\x37\xbe\x84\x5d\x68\x81\x0b\x78\x89\xff\x2a\x04\x9f\x3f\x9f\x24\x5e\xc7\x0f\x21\xde\xf9\x77\x80\xb6\x11\x40\x0a\x83\xc3\x1a\x79\xd9\x3a\x8e\x98\xb6\x08\xfd\xcf\x24\x88\xb0\x68\xfe\x1a\xe4\x21\x72\x93\xa9\x36\x7b\xb7\x34\xb5\xbc\x7b\xd8\x81\x9b\x37\x7f\x09\x0b\x4f\x8f\xdb\xff\x50\x79\x9c\x76\x88\x0d\x19\x13\x35\x80\xe1\xdd\xfc\x2b\x9b\xaa\xdd\xba\xb3\x4f\xc6\xfd\xc0\x78\x01\x4b\xd1\xff\x73\x9d\xaa\xfe\x54\x76\xf3\xf7\x9d\x4d\xbe\xc2\x16\xfa\x76\x80\xee\x8e\x84\x00\x2d\xcb\x9d\xdb\xc7\xfc\x1e\x1c\x8e\xf4\xf1\xb2\xa2\x08\x1b\x92\x82\x24\x3d\xa6\x15\x3c\x1f\xce\x09\x05\xcf\x35\xf8\x3a\x68\x4c\x01\xb0\x45\x57\xec\x84\xf7\xe9\xa9\x4f\xc2\x88\x2e\x2f\xf1\x9f\xea\x21\xd2\xce\x61\x67\x86\x1c\xe0\x1d\xf8\xb8\xd3\xc3\xe8\xd2\x55\x61\x0b\x7a\xf2\x59\x6c\xd5\xcf\x00\x16\x73\x49\x42\xcc\x71\x4c\x27\x2c\x05\xfd\xa9\xd3\x47\x23\x62\x66\x46\xa4\x61\x30\x18\x2c\xeb\xcf\x17\x9e\xc0\x0a\x6a\x17\x3b\xd8\x57\x7f\xa8\x45\xc4\x4d\x19\xc6\x99\x79\x44\x75\x5f\x2b\x4e\x46\x85\x63\xa7\x5e\x90\x16\x52\x3b\x87\xdd\xac\x3e\xee\x21\xbc\xbc\xa0\x8f\xcc\x29\x54\x6a\x43\xcb\xe0\xd8\xd1\x0a\x0e\x8d\xdc\xba\x17\x2d\x1d\xed\x15\x03\x78\xe1\x8b\x36\x8c\x77\x63\x91\x3e\x4b\x40\x70\x12\xfd\x76\xa8\x72\xd2\xcb\x04\x93\x0b\x8e\x22\xb3\x08\x24\x3d\x4c\xc2\x78\xfd\xf2\xe1\xf9\x40\xae\x89\xac\x89\x1b\x9e\x06\x61\xae\xe5\x53\x93\x7b\xf3\x50\xb4\x07\x07\x0a\x1b\xdf\xc4\xf7\xa3\x78\x7e\xf3\x99\xd2\xca\xf4\xec\x74\x43\x9c\x58\x73\x76\xc7\x7b\xe0\xc3\xde\x53\x9d\x3a\xc2\x60\x89\x76\x5b\x9b\xe1\x0b\x90\x38\x69\x46\x36\xe2\x62\xd7\xba\xa0\xb3\xa8\x94\x1a\x20\x15\x96\x76\x39\xf6\x04\x4c\x67\xe5\x9b\xc8\x1c\xf2\xfb\xa7\x04\xac\x0d\xf4\x8d\xa6\x03\x74\x05\xa8\xe8\xb8\xa7\xce\x3c\x58\xef\x38\xa8\x83\x53\x8b\x24\x7f\xfe\x18\x09\x7a\xf0\x95\x24\x2b\x05\x8b\xdd\x1e\x3e\x24\x5e\xec\xe0\xa7\x1b\x75\xb9\x7d\x52\xf2\x0d\x6d\x51\xbb\x97\x66\xb0\xda\x0f\xc0\x9c\x8a\xc2\xa3\x0f\xb6\xe7\xb3\x2e\xe0\x6d\xad\xf4\x6d\x73\x59\xcc\x06\x6a\xa9\x47\x85\xd8\xa8\x82\xff\x09\x7d\x78\xa8\x6b\xe2\xd4\x56\x00\xdd\x3d\x30\x60\x12\x5f\x01\xc0\x63\xe4\x88\xd5\xc3\xef\xee\x1b\xca\x1e\x58\x51\x64\x55\xff\xca\xec\x1b\x81\xef\x43\x38\x76\xbf\x09\xff\xa5\x1d\x6f\x50\x18\x58\x52\x24\x57\x9c\xb6\x7b\x56\xce\x1c\x21\x6e\xc0\xa8\x83\xe0\x6c\x8e\x15\x63\x42\x1e\xa7\x2b\x0c\x10\xd4\xbb\x31\xe4\x91\xc2\xae\x2f\xe8\x13\x9f\x24\x9e\xc9\x27\xd8\x06\xba\x08\xdb\x52\xb1\xb5\x06\x66\x90\x47\xf0\xc1\x16\xff\x37\xac\x5b\xa6\xcd\xb1\xea\xaf\x33\xfd\xad\xb0\x70\x5c\x79\x9d\x35\xac\x6d\x9c\x80\xda\x90\xc1\x43\x8b\x58\x5f\xfd\x59\x35\x0a\x26\x86\xb1\xec\x35\x16\x6c\xb9\xb6\x9a\xd0\xf5\x65\x86\xaa\x03\x27\x4d\x78\x2e\x3f\x85\x8d\xb6\x4a\xdf\xbf\x04\xd5\x22\x8a\x7b\x1c\x4a\x20\x48\xbb\xcd\xb9\x41\x15\x3a\x43\x6d\x74\x2c\x38\xb5\x8b\x4d\x7d\x13\xc9\xf1\xd6\x0e\x15\x2a\xa2\x79\x23\x49\xa3\xd9\x4e\x7e\x6b\x11\x04\xaa\x1b\x87\x09\x98\xc1\x8d\xd7\x06\x56\x54\xa8\x52\x81\xbb\x6f\x02\x7f\xaa\xd5\x56\xb1\xf5\x32\xe7\xa1\xe2\x2d\x56\x40\x69\x28\x95\x87\xa0\xef\xc9\xc1\x58\x5d\x13\x5f\x31\x23\x3c\x41\xf4\x40\x46\x6e\x71\xfe\x90\x12\xe5\xf9\xa0\xd7\x4a\x72\x82\xee\x39\x2f\xb0\x16\x5d\xb7\x9f\xf1\xd3\x17\x6e\xd0\x8a\xfe\x1d\xaa\x66\xcf\xbf\x43\x05\xae\x16\xac\x17\x92\x33\x43\x99\xf7\x1b\x19\x17\xdd\xec\x27\x0a\xcf\xf6\x65\xea\x05\xd1\x84\xc2\xc5\xcd\x2c\xcd\x90\x2b\x22\xf9\xb7\x19\x5e\x66\xa6\x55\x56\xca\x88\x4b\xa6\xf5\xda\x04\xdc\xd4\x61\x7f\x33\xdc\x2b\x44\xa0\xea\x74\x2a\xeb\x2b\x93\xf3\xa4\x1d\xf7\x95\x7a\x02\x67\x97\xa5\x85\xce\xee\x81\x4b\x19\x75\xf5\x23\xd2\xdb\x5d\xbb\x9b\xe0\xca\x64\x9d\x1d\x45\xdc\xfd"}, -{{0xd2,0x90,0xff,0xd9,0x33,0x95,0xbd,0x5f,0xc5,0x87,0xd1,0xab,0x51,0x18,0x66,0xe7,0x2b,0x37,0x1a,0x17,0x35,0x73,0x2d,0x9d,0x5c,0x6a,0x18,0xdd,0x46,0x5e,0x93,0x63,},{0xfd,0x4a,0xad,0x73,0xb0,0x32,0x46,0x1c,0xa0,0xaa,0xe8,0x71,0xca,0x70,0x16,0x38,0x3b,0x2b,0xe0,0x16,0x90,0x53,0xfd,0xbf,0x6c,0x59,0x14,0xfd,0xd6,0xdd,0x6f,0x92,},{0x21,0x70,0x4d,0x5e,0x62,0x6d,0xcf,0x6a,0x9d,0xcd,0xef,0x93,0x54,0x29,0xeb,0x7f,0xb5,0xb2,0x57,0xee,0xcd,0x7b,0xf7,0x4a,0xcb,0x0c,0xd3,0x0e,0xcf,0xcf,0x60,0x8d,0x0c,0x5b,0x63,0x3a,0x4a,0x8a,0x9b,0xa2,0xcc,0x82,0xa2,0x1e,0x03,0x35,0x5e,0x01,0xd8,0x5d,0xae,0x7e,0xca,0xc8,0x89,0x6d,0xc1,0x5d,0xae,0x04,0x85,0x70,0x71,0x04,},"\xeb\xd9\x00\xbc\x91\x0c\x5e\xcc\x4d\x97\xda\xf7\xcb\x5e\xbb\x54\x91\x50\x0b\x7a\xd1\x16\xe3\x06\x60\x95\x07\x09\xd8\x08\x4b\xb6\x43\x4c\x5b\xea\x4a\x8c\xcc\x1e\xd5\xa8\x01\xbe\xbb\x1a\x11\x78\x78\xc0\x37\x47\x00\x3e\x14\x8e\xd9\x14\x34\x83\x2e\x89\x66\x24\x1a\x7f\xff\x22\xfe\x1d\x6d\x8c\x3c\x3d\xdd\x72\x15\xa1\xef\xaf\x4b\x07\xaf\xee\x1b\x25\x67\x3a\x14\x39\xea\xac\x32\x4e\x89\x5d\x4b\xe8\x39\xe9\x76\xc0\x3a\xc0\x01\x25\x48\x76\x88\x8c\xca\xaf\x39\x12\x72\x7a\x60\x10\x6a\x87\xbe\x69\x24\x7c\x9e\x43\x8c\x31\xfc\xa8\xd9\xc6\x1b\xae\x36\x8c\x83\xe4\x09\x01\xa9\x97\x00\xdf\xf8\x39\xb5\x13\xba\x8d\xc4\x2d\x93\xce\x09\x87\xa2\x33\x34\x70\xa9\xf9\x83\x31\x3f\x91\x98\x86\x59\xda\x54\x03\x9e\x49\x9c\xd1\xaf\x2b\x8f\xa0\xeb\xe7\x50\xe2\x4d\x55\xc2\xa5\xbd\x1a\xde\x3f\x68\x00\x92\x54\x2b\xd1\xbe\x0b\x97\x35\xba\x39\x3a\xd5\x69\x7d\x24\x1e\x8e\x8b\x28\x64\x6d\xb2\x7d\x2f\xb5\xa9\x40\xe8\xfa\xea\xf0\xb6\xc9\xef\xda\x88\x61\x5d\xec\x89\x1c\xe7\x32\x93\x08\x13\xbf\xbb\xd0\xbc\x5f\x82\x10\xab\xe8\x43\xbe\xb5\xe4\xf0\x28\xf4\x9b\xea\x34\xf1\xe5\xb0\x9e\xac\x4c\x66\x62\xc7\x4f\xba\x39\xde\x4a\x96\x02\xa9\x69\x4a\x85\xc7\xc1\x37\x5f\xda\xdf\xda\x6a\x19\x57\xfc\x5b\x59\x87\xa6\x87\xb0\x39\x95\xe5\x16\x97\xa1\xab\x5b\xb6\xcb\x11\xb6\x63\xc1\x37\x2f\xad\xe4\xc0\xac\xa8\xfb\xeb\xb4\xeb\x54\xce\x7c\xe3\x6c\x69\x04\xea\xf6\xea\xb2\xf3\x4f\xac\xd8\xc7\x68\xc8\xd3\x6d\xa2\x39\x7b\x1a\x02\x73\x5a\xea\x72\xcf\xaa\xd0\x39\x34\x10\xdb\x52\x7a\x8a\xb2\x36\xd4\xcd\xab\xdc\x88\x8f\xac\x6f\x18\x21\x48\xb1\x32\x61\x44\x25\xd3\x90\xff\x03\x6e\x54\x85\x5e\x42\x03\xc5\x12\x03\xc1\xf4\x3e\x37\xbb\xf6\xb9\xbf\x27\xf5\xb7\xe7\xc6\x65\x15\x14\x65\x40\x1a\xc3\x2c\xbe\x9e\x33\x50\x53\x5e\xdf\x48\xa7\xbc\x36\x03\xe2\x23\x2e\x93\x8f\x9a\x81\x5a\xc4\xd1\xde\xec\x99\x1e\xf9\x62\x09\x48\x44\x1f\x7a\x2f\x4a\x46\xe2\xc4\x00\xab\x91\x4c\x4b\xe5\x1d\xca\xad\x8e\xd8\x23\x9c\xbb\xe9\x77\xa9\xf0\x9c\x02\x69\x83\x19\xd9\xfe\x2a\x8c\x6e\xb6\x0b\x79\x9f\x29\xae\x76\x59\x97\x0d\x2e\xbd\xff\x3c\x6c\xf7\x09\xbb\xf6\xf4\xbb\x55\xb9\xdf\x4f\x61\xa2\x41\xde\xc1\x44\xb5\x99\x3f\x08\x7e\x78\x4b\x97\xbe\x1e\x53\x60\x8c\x2e\x81\x7c\xe3\xd9\xaa\xf9\x14\xe6\xb7\x23\xf5\xb4\xaf\xff\xd2\xa6\xb9\xfe\x9d\x2d\x73\x91\x5c\x7a\xd1\xff\xb1\x3e\xfc\xb7\x3c\x56\x23\x81\x95\x64\x52\x03\x98\x4c\x99\xaa\xfd\x02\x35\xf7\x3b\x3f\x88\x2e\x07\x39\x39\xbf\x78\x66\x57\x28\x01\x38\xdb\x05\xb8\x6f\xcc\x94\x60\xb3\x85\xef\x45\x59\x20\x4e\xcd\x81\xe2\xf1\x2f\x5f\x06\x2a\xa4\x48\xdc\xcc\x82\xea\x8d\x89\x46\x6d\xd1\xbe\x46\xf8\x2c\x4f\x87\xbf\x0d\xb2\xb8\x78\xac\xbb\x0d\x91\x12\xc8\xdb\x6f\x51\xd3\x5f\x6d\x42\xf7\x49\x85\x6b\x99\xe5\x50\xb6\xc4\x54\xe9\xe8\xbe\x4d\xa1\x75\xf0\xb5\xe8\x6b\xe6\x6c\x97\x9f\xd8\x78\x23\x7e\x57\xf6\x91\xf0\xd2\xac\xd0\x28\xfb\xff\xa5\xb0\x66\x87\x75\x03\x4d\xb1\xf2\x1d\xdb\xe7\x11\x4e\xe3\xdc\x0b\x44\xda\xca\x64\xc5\xa0\x3a\x2f\xee\xae\xab\xeb\x70\x63\xbf\xcc\xcc\x55\x9b\xaf\x27\xf1\xcc\xb2\x20\x2f\xa4\xd1\xb2\xbf\x44\xc0\x4b\x2c\x2f\x81\xf9\x4e\x28\x1b\x1a\x5a\xdc\x85\x0d\xa1\xb9\x47\x9f\xca\xbd\xda\xde\xa5\x6a\x11\x5b\xb5\xf0\x6c\xc0\x16\xf1\x41\xc0\xfc\xb5\xe8\x3a\xb2\x48\xea\xec\x90\x15\x8d\x8b\xe6\x47\xaf\xf1\x2e\x7e\xeb\x5e\x57\xdb\xcc\x29\x3c\xb3\xb6\xaa\xcb\x55\x23\x6d\x4a\x83\x9a\x06\x20\xf4\x76\x23\x87\xdd\x17\x14\xdf\x5c\x13\x5e\x3d\x9d\x68\x24\xf9\x3b\x7c\x90\xd3\xae\x38\xc5\x18\xd6\x07\x12\x0c\x83\x95\x70\x41\x3b\x46\xb8\xcc\xd7\x37\x04\x92\xd8\xae\x5c\x60\x9e\x00\xcf\x82\x51\xe2\xe7\xdf\x81\xe5\xb4\xf9\xc1\x6a\x5a\x53\x9f\x0a\xfc\xce\x41\xbb\x43\x62\xe5\xea\xa5\xf9\x40\xa1\x70\x6f\x4a\xfb\x6b\x14\x43\x2c\x81\xd4\xba\x1a\x33\xd3\x22\xdb\xf1\x06\x45\xab\x63\x73\x7e\xad\xc8\x6f\xe6\xe0\x97\x6f\x76\x33\x97\xfb\x89\x86\x37\x59\x5d\xfd\x36\x93\x47\x92\xd7\x79\xe2\x4c\x2a\x3f\x0b\xac\xf5\x3e\x04\x73\xc5\xfd\xa9\xc6\x12\x84\xe4\x41\x9b\xdc\x0e\xef\x5d\x22\xf4\xd9\xbf\x42\xe8\xc0\x49\x33\xbb\x93\xb5\x3c\x29\x5d\x7a\xc9\x39\x5a\xbb\x6d\xcb\xd7\x42\xb1\xe1\xbc\x3b\x0e\xa4\x43\x4e\xa2\x1b\x8e\xca\x9a\xe6\x82\xd3\x31\x5a\x41\xe9\xc3\xc3\x37\x18\x40\x76\x1d\xc5\x9c\xac\x45\xda\x7e\x38\x13\xe2\x87\x88\xdc\x89\xde\x35\x5b\x5a\xee\x08\x80\x90\xa3\x8d\xd3\x9d\x83\xe5\xe4"}, -{{0xd7,0xfd,0x73,0xd1,0xd2,0x29,0xa6,0x58,0x94,0x42,0x0e,0x4b,0xa7,0x34,0x27,0x0d,0x5a,0x20,0x75,0x83,0x64,0xde,0x89,0x7d,0x85,0x55,0xe2,0x41,0x97,0x45,0x3c,0x19,},{0x3c,0x22,0x77,0x2a,0xec,0x0a,0x0c,0x15,0x59,0x07,0x7f,0x2c,0xfd,0x1f,0x24,0x65,0xd4,0xb4,0x84,0x95,0xc5,0xd0,0x5f,0x1f,0x83,0x7c,0x31,0x84,0x5f,0x34,0xca,0xd1,},{0x40,0x0c,0x35,0x05,0xf1,0xdf,0xa8,0x0d,0xf4,0xb2,0x6d,0xb2,0x4c,0x02,0x7e,0xb8,0x19,0x77,0xf0,0xfb,0x9b,0x5a,0xca,0x52,0x4a,0xd5,0x12,0x00,0xf4,0xbf,0xb1,0x33,0xdb,0x83,0x48,0x23,0x31,0x41,0x95,0xf4,0xed,0xc2,0x92,0xd5,0xf5,0x30,0xd0,0x85,0x56,0xe7,0x80,0x9c,0xaf,0x23,0x39,0x76,0x8a,0xa3,0x80,0x29,0xfd,0xbc,0x28,0x0f,},"\xc9\x22\x58\x59\xd5\x55\xbc\x42\x01\x1a\xf1\xb4\xf1\x49\x98\xe6\xe9\xb0\xa6\x5e\x21\x72\x71\x3e\x96\x83\x80\xfb\x6c\xee\xdd\xa2\x2e\x02\x2c\x51\x30\x30\x31\xd9\x93\x1c\xce\xf2\xf7\xbc\x70\x5c\x9e\x21\x5c\x1d\x08\x9d\x48\x8d\xad\xda\xee\x15\x5c\x93\x9b\x62\x02\xca\x53\xbf\xc7\xf6\xe8\x8e\x15\x29\xd8\x2f\xb4\x5e\x02\xb5\xd0\x5a\x82\xbb\xb9\xdb\x5f\x41\x5c\x58\xba\x8b\xd5\x6c\xff\xd9\x22\x70\xb2\x47\x49\xe5\x6d\x12\xc9\x9a\xe9\x0c\x78\x00\xf5\x4f\x55\x25\x4e\xa4\x2d\xa5\xdc\xfb\xe0\xe1\xd9\x89\xcd\x2f\x68\x97\xe2\x32\xdf\x04\x70\x7b\x34\xaf\x75\xfa\x7f\xec\x33\xe5\x5e\xd5\x6a\xee\x39\xc2\x2b\x04\x5b\xed\xd1\x61\x08\x3b\xc5\x51\x4c\x1f\x81\xca\x90\x7b\x7c\x76\x03\x17\xa7\xfd\x5a\x5a\x02\xa5\xd4\x0e\x2e\x82\x3e\x24\xad\x96\xae\xf6\xda\x8e\xa9\x82\xb5\x16\x1c\xc3\x9d\x84\xaa\x2f\xfd\x95\x44\xc1\x1b\x63\x40\x37\xab\x0a\x1c\x8e\x36\xac\x63\x01\x9d\xa1\xb2\xd9\x95\xcb\x7b\xd3\xd6\x2f\xe5\x74\xde\xab\xcc\xbd\x0d\x3a\xe7\xa5\x6e\x5b\xec\x91\xe4\xba\x3f\x3d\xb8\xbf\xea\x88\xe6\x7d\xa6\x2e\x88\x27\x8a\x6e\x3b\x41\x8d\xce\xea\x05\x89\xf2\x5f\x7d\xd8\xad\x19\xdd\x84\x50\x89\x41\x9b\x47\x2e\xfc\xcc\x87\x9c\x17\x2b\x32\xee\x4a\x4d\xbc\x2e\x6c\x2e\x86\x5b\xb3\xb8\xca\x0a\xdc\xb7\x1f\xdf\x89\xe1\x97\x39\x10\xef\x24\x29\x15\xf3\x3e\x23\x6d\x2f\x7c\x8e\x9f\x1e\xe5\xb0\x7c\x6e\x3c\x25\x36\x0f\x8c\xb1\x46\x0b\xe8\x7d\xb3\x1a\x29\x1d\x4d\xee\x34\x95\x3e\x75\xc6\x75\xbf\x18\x1b\xb7\xa0\xb7\xb5\xc1\xbe\xfd\xc8\x6a\xda\x07\x2a\x48\xf6\xac\x75\x5d\x49\x9b\xd6\x8d\x62\x5d\x85\x14\x52\x5c\xc3\xab\x8f\x54\xce\x15\xa8\x71\x29\x17\x78\xde\x13\x05\xd2\x21\x93\x61\xaa\x30\xe3\x32\xa2\xe0\x69\x07\x7c\x5c\x53\x45\x75\x20\x37\x9d\x8b\x90\xd2\x4b\xd8\xa3\xa7\x70\x0f\xf7\x66\x23\x1c\xb5\x69\x7f\x9a\xce\x52\x1a\x99\xe8\x96\xda\x54\xc4\x07\x93\xbc\x7c\x1f\xb1\x58\x4b\xb1\xc8\x61\x94\xd2\xfb\x7a\x4b\x80\x2f\x30\x88\x5e\x0e\xe8\xaf\x88\xd6\x88\x6e\x3a\x3a\x4d\x4c\x85\x46\x49\xcc\x01\xab\xdf\x35\x31\x9a\x08\x56\xcc\x65\xd0\x92\xa3\x86\xf8\x86\x96\x25\xcd\x0a\xca\xc0\x87\xe9\x35\x17\x90\xcc\xb4\xa8\x65\xf6\x51\xa8\x81\xc3\xeb\xf1\x09\x07\x27\x74\xf9\x40\xf5\xaa\x98\xa2\xa2\xaa\x3d\xd3\x66\x47\xd0\xde\x83\x00\x1a\xa7\xcd\xc0\x31\xcc\x4a\x4d\x75\xdc\x11\xce\x55\x16\x76\xa2\xad\x43\xa3\xf6\xa1\x6a\x4b\xc5\xae\xe8\x0e\x53\x64\x20\x60\x87\x36\x4e\xb8\xb2\xb1\x5f\xb7\x05\x38\x0a\x07\x2d\x7c\x8b\x51\x99\x59\x43\xaa\x76\x2e\x8d\xeb\x4c\x56\x8c\xda\xa1\x41\x1a\xb6\x8f\x28\x48\x9e\x13\x23\xbb\x61\x56\xce\x25\x00\xb0\x6e\x77\x93\xc5\x10\xa3\xde\x29\x15\x08\x40\xbf\xdb\x0b\x2b\x7b\x21\xc2\xbb\x8a\x77\x46\x16\x7c\x92\x9d\xd0\xad\xad\x44\xfe\xd8\xf3\x6e\x83\x81\xb3\x42\x08\x0b\x2a\x7d\x82\xa3\xf8\x1f\xf7\x26\x30\xcb\x78\xdf\x91\xf7\xb6\x5a\x44\xef\xf6\xed\x64\xd4\x8a\xfe\xd1\x09\xdd\x7a\x69\x3a\x1b\xa8\xc3\x7e\x00\x8f\xcb\x15\x7e\x37\x29\x7d\x32\xeb\xa7\x65\xa6\xc7\x19\x3e\x73\xbd\x97\x64\x79\x85\xb1\x60\x38\xc7\x4a\x08\x4a\x8f\x25\x65\x4c\xd8\xcd\x2c\xdd\x27\xff\x17\x33\x4e\x06\xad\xaa\x05\x82\x64\x01\x7a\x3b\x2d\xa7\x8e\x57\x38\xa2\x7e\x35\x0d\x88\x2f\x5f\xae\x19\x92\x78\xd4\xe5\x0b\x8b\xad\xf5\x7c\x21\x41\xdf\xdc\x3c\xff\x99\xdf\x5d\xe8\x6f\xec\x29\x3c\x76\xcb\x94\xb6\xb1\x9b\xa3\x03\x4e\x46\x0f\x84\xc2\x80\xa2\xe6\x41\x2f\xab\x56\x98\xce\x89\x02\x07\xca\xba\xbc\xa0\xa9\x5b\x5a\xd5\x33\xce\x11\x4b\xf7\x1a\x40\x4a\x87\x59\x0d\x35\xfa\x7c\xed\xba\x43\x13\x1c\x4e\xe9\x23\x44\x83\x9f\x25\xcb\xfa\xeb\x12\xae\xeb\xc8\x04\x08\x93\x95\x1a\x34\x6b\xd2\x8f\xdd\x16\x7b\xd2\x0f\x71\xa1\xe5\x9f\xb6\x0d\x55\xe1\xc5\x67\xf4\x78\xf0\x27\xcf\x67\x9a\x37\xd1\xd9\xdb\x86\x7e\x17\xbf\xdd\x60\xb3\x47\xd8\x9d\x32\x26\x39\xd3\x15\xbb\x7a\x2c\x91\x34\xf0\x0e\xa0\x3a\x36\x7f\x30\x5e\xa4\xd6\x0d\xc9\xd5\x67\xcf\x92\x48\x51\xe4\x69\xea\x95\x4e\xd3\xea\x63\xea\x86\x06\xf7\x9f\x07\x73\x39\xbf\xa2\xb5\x1a\xe4\x9b\xaa\x0f\xb2\x53\x77\x82\x1d\x7c\x11\xef\x9a\xd4\xbb\x4c\x0f\xe4\x89\xac\xba\xb0\xef\x00\x0d\x61\x8c\x7a\xf5\xef\xd2\x05\xd6\x85\x99\xfc\xbd\xd9\x5e\x28\xf8\x36\xe0\x91\x6f\x9f\xf5\x48\xd0\xba\x17\xda\x62\x53\x6e\x74\x64\x68\x01\xee\xb6\x12\x2b\xa3\x2c\x41\x07\x3a\xe0\x4e\x42\xc6\xc1\xd5\xd8\xd2\x29\x76\xa5\x62\x26\xdd\xf4\xb6\xac\x95\x45\x5f\xb5\x30\x99\xf2\x02\x15\xb2\xeb\xc9\x07"}, -{{0xfd,0xa7,0xcb,0x08,0x40,0x16,0xba,0x51,0x3c,0x7c,0x4f,0x8f,0x71,0x80,0x48,0x0b,0xb1,0x81,0xe9,0x56,0x95,0xea,0x68,0x73,0x7f,0xa3,0x4a,0x40,0xec,0xbd,0xf3,0xef,},{0xa2,0xde,0x3a,0x0e,0xf9,0x72,0x98,0xfd,0x71,0x61,0x06,0xe2,0xf3,0xf5,0x45,0x13,0x05,0x7a,0x40,0x07,0x2d,0x23,0x4c,0x35,0x18,0x15,0x4c,0x1b,0xd1,0x2d,0xe0,0x37,},{0x33,0x61,0x4b,0x7a,0x94,0xf7,0x5e,0x03,0x65,0x34,0xd7,0x6e,0x30,0x14,0x7e,0xcc,0xdd,0x2a,0x04,0xe0,0x0c,0xd4,0x70,0x4a,0xb6,0xe8,0x07,0xd6,0xa2,0xac,0xc1,0xe1,0xd9,0x63,0xb8,0xee,0xe0,0x81,0x0d,0x41,0x2d,0x9d,0x56,0xe5,0x45,0x56,0x30,0x2b,0x10,0x73,0x0c,0x15,0xab,0xf8,0x9c,0x29,0xa0,0x27,0x30,0x3e,0xa8,0x8a,0xe7,0x01,},"\xc2\x1b\xb3\xf8\xe3\x7b\xef\xa3\x67\xc9\x13\x67\x31\x01\xba\x30\xd3\xb5\xc7\x4b\xd8\xbd\xb0\x9c\xd2\x86\x40\x01\x2d\xb4\x11\x20\xc2\xbc\xc4\x08\x5d\xe2\xa0\xf9\x5c\x92\x15\xdd\xef\x8c\xb5\xfc\x8d\x8b\x12\x51\xb4\x15\x27\xc6\x7d\xfa\xa3\xf9\x5b\xa3\x57\x83\x91\xea\x5a\x66\x29\xa7\x33\x09\x5f\xd0\xa4\x3f\xdb\xa4\x0f\xfe\x26\x0f\xff\x82\xac\xee\x2e\xbe\x98\x0e\x9e\xce\xcc\xfe\x7e\x10\xb2\xed\x8c\x2e\x6b\x41\x0d\x54\x7a\x12\x86\x57\x1d\xf3\xd7\x01\x17\x4e\x57\x9f\xcf\x19\xd3\xbd\x80\x86\xc0\x42\x3f\x37\x11\x77\x89\xf3\x05\xd9\x67\x0a\xd2\x8c\x99\x67\x4f\x52\xcf\x64\x21\x1a\x08\x1d\x0c\x6c\x30\x96\xda\x2c\x71\xbf\x5f\x57\x99\xa7\x91\x0e\x6f\x38\x10\x4a\x37\xa6\x55\x7c\x2d\xae\xf3\x40\x81\x4a\x1f\x83\x0d\x59\x37\x73\xc6\xcf\x48\xd8\x3e\xa0\x72\x94\xb9\x4e\xb0\x80\xb8\x5d\x69\x70\xe2\x8f\x40\x51\xd5\x06\x6d\xb1\x0e\x96\x19\x73\xa6\x26\xa8\x26\xae\xaf\x8a\x06\xec\x0d\x56\x6b\x7e\x0c\x4e\xf6\x0f\x0c\x56\x78\xfc\xbb\x5b\x2a\xc6\x3f\x7b\xed\x06\x44\x8a\x24\x7b\x3d\x42\x7b\x87\x08\x6d\x33\x57\x3f\xb2\xd7\x22\x8c\x5c\x34\xea\x66\x40\xee\xfa\x95\x64\x48\x5a\x79\x63\x8e\x9c\x97\xc0\xaf\x84\xcf\xee\x7c\xe4\xa7\x39\x22\x0c\x84\x29\xe0\x67\x14\x39\x53\xd5\x50\x66\x8d\xad\xc8\x4e\x7b\xed\x9a\xb0\x70\xa5\x94\x33\x90\xc6\x11\xd7\x5b\x1c\xb1\x28\x73\xa3\x7d\x98\x50\x66\x1a\x00\x77\xbf\xa9\xca\x9b\x8b\x26\x37\x66\xc1\x49\xff\x0e\xe4\xb4\xad\xba\x25\xea\xf7\xd7\xf5\x01\xf3\x62\x45\x42\x56\xbc\x12\x69\x37\x8e\xf3\x35\x9a\x8e\xd6\xb9\x60\xb8\x66\x21\xfa\x3b\x61\x3e\xb1\x32\x12\x2f\x49\xf2\xeb\x2c\xeb\x68\x32\xa3\x99\x1e\x96\x1c\xb0\xe7\x8b\x74\x2e\xf4\xd6\x5e\x8d\xe3\x46\x96\x66\xfe\xc7\xc5\xb8\x74\x78\x95\x71\xc5\xc9\x9a\x2c\x02\xa0\x53\xff\x7d\x2f\xc9\x00\x76\xba\xfe\x1f\x26\x7f\xa8\x1a\x39\x90\xf2\x7f\xf1\x4f\x03\x00\x0a\xf0\x0c\x59\x28\x6c\xb9\xbb\x98\xe2\x04\xe9\x01\x90\xae\x2a\x50\xed\xef\x04\x9e\xa9\x2a\x1f\x78\x50\x88\xf9\x4a\xdf\x65\x88\xfb\x43\xbb\x40\xfb\xe2\x32\x42\x35\xcc\x7e\x16\x8b\x80\x26\x4b\x06\x9f\x94\x4f\x50\x36\x92\xc9\x49\x23\x4d\x5b\x76\xbc\xff\xab\xe2\x9f\xf9\x06\x4b\xd7\xcb\xed\x9e\x00\xe5\xb7\xfd\xda\x43\x12\xeb\x80\x14\x65\xf1\x27\xd0\xca\x68\x83\x2a\x7f\x4e\xd0\xea\xed\x8f\x55\x9c\x16\x31\xcd\x4d\x34\xf0\xdc\x41\x4d\x9f\xcf\xe8\x49\xa9\x1e\x25\xf3\xe0\xff\x01\x3a\x8c\xff\xa8\x06\xed\x8e\x93\xd0\x8a\x1e\x5a\x75\x76\x82\xca\x3d\x26\xab\xc8\x69\xc7\x6f\x1c\x79\x00\x7d\x55\x9d\xfe\x67\xe7\x8d\x8a\xf0\x19\x58\x08\xb0\xe7\x71\xc7\x1e\x64\xb5\x71\x6f\xb3\x63\x09\xc2\x50\x25\xfa\xe6\x41\x4c\x28\xbb\xdb\xd4\xde\x59\x7a\x74\x99\x6c\x9d\xa9\x74\x92\x0d\x59\xe6\xf4\xc2\xed\xfe\x11\x0f\xf8\x17\xfd\x48\x0a\x50\x80\x97\x80\x48\x86\x57\x12\x05\x8c\x5f\xe7\xb5\x60\xb1\x2b\x67\xf7\x37\xea\x6e\x2a\xf9\x24\x2c\xf0\x7a\xd0\xa8\xa6\x79\xf2\x64\x30\x04\x6a\xdc\x3e\x70\x66\x4c\xc9\xc0\xee\x5a\xbc\xef\x6d\x72\x6b\x4e\x04\x17\x60\x48\xb7\x95\xbe\x12\x85\x1b\xdb\x74\x00\x3a\x13\x20\x41\x19\xb8\x68\x64\xd6\x53\x5b\xa0\x95\x04\x0a\x85\xd9\x78\x1c\xf4\xf3\x48\x0a\x30\x4e\x22\x7f\x78\x7a\xd5\x38\xe6\x8f\x4b\xab\x01\x41\x79\xe3\x0d\x3f\xde\xf9\xef\xf1\x1b\xcf\x47\x1f\xa3\xa0\xbc\x74\xb5\x57\x6f\x30\x2d\x3a\x6b\x49\x9f\x11\xf2\xef\x32\x6a\xc0\x26\xc9\x8d\xb1\x0e\x27\x41\x41\x3f\x32\x22\x28\xb3\xcf\xf0\xf3\x37\xba\x2f\x29\x4c\x78\xef\x73\xf0\xe8\x77\x87\x8f\x8f\xc7\xff\x6d\x10\xbc\xe6\x6a\xd6\x28\x43\x79\xb8\x0c\xa8\x93\x27\xd4\xdb\x0b\xf1\x4e\x6d\x8f\x01\xb2\x2a\xb2\x02\xb7\x16\xcc\x07\xe3\xc8\x86\x6d\x16\x8a\x50\x94\xba\xc5\xa4\x95\xe7\x38\x68\xee\xdc\x27\x22\x2e\x64\x44\xf8\x3b\xcf\x65\xac\xdc\x3e\xc8\x91\x20\xbb\x50\xe8\xab\xfc\x28\xb7\x8e\x6d\x98\x0c\x77\x5f\x48\x49\xa0\xe8\xca\xda\x80\x24\x0b\xca\x24\x5e\x39\x96\x6e\x89\xa0\x34\x4d\xf8\x36\x3a\x7d\xcc\x81\xb2\x01\xce\x9c\x75\x3a\xd5\x44\xe1\x12\x4e\x21\x02\x0d\x4c\x62\xde\xda\x9e\xd9\xb9\xd1\xf2\xfb\x7c\x54\xca\x7a\xb0\x9f\x38\x3b\xef\x48\xcf\xc6\x84\x8c\x27\x13\x02\xa1\x0f\xa6\x87\xf5\x6e\x00\xe0\xa7\xd0\x93\xc9\x27\xb4\xfd\xd8\xf1\xbe\xdf\x62\x88\xa0\xe3\x02\x84\x8a\x80\x12\xf1\x27\xa7\x9d\x2d\x30\xa0\x6c\xe1\x7d\x94\xaa\x6f\x7f\x8a\x1e\x6e\xb9\xd0\x68\x1c\x37\x74\xf6\x14\xcc\x6d\xbc\xb2\xa8\x13\xf9\x25\xc6\x30\x6a\x63\x05\x72\xa8\x3e\xc1\x09\xd5\xf5\x33\xc0\x58\x4c\xb4\x21\xd9\x19"}, -{{0xa1,0xac,0x48,0xaa,0x5f,0xfa,0x3d,0x80,0x08,0x19,0xd0,0x3b,0x7f,0x62,0xba,0xbf,0x29,0x1f,0x20,0x90,0x4c,0x11,0xa6,0x40,0x0e,0x4f,0x45,0x20,0x5f,0x10,0x3e,0x38,},{0x08,0x54,0xe0,0x34,0x0f,0x81,0x49,0x85,0xfb,0x12,0x2b,0x78,0x72,0x94,0x79,0xe3,0xfd,0xe8,0x55,0xc2,0x11,0xca,0xde,0xae,0x56,0xf0,0xd4,0xdc,0x08,0x28,0xd5,0xfa,},{0xc5,0x7e,0x3c,0x09,0x1e,0xd2,0x4e,0x5e,0x84,0x66,0x5b,0xd9,0xbb,0x10,0x2d,0xb4,0x97,0x97,0xdf,0x90,0x08,0xf0,0x55,0x57,0xfa,0x0d,0x5a,0xd7,0xa2,0x95,0xe5,0xe4,0xd2,0xa4,0x71,0x6b,0x17,0xf8,0xc9,0x1c,0xb1,0x2f,0x5a,0xbf,0xb1,0xaf,0x02,0x7f,0xb0,0x41,0x11,0x99,0xac,0xc5,0xd2,0x85,0xd8,0x42,0xa4,0xb6,0x5b,0xde,0x49,0x02,},"\xd6\xf1\x24\xed\x75\x20\x21\xc1\x09\x26\x97\x2a\x0c\x26\xf3\xb1\x83\x8b\x3c\x7a\xf2\x47\xc1\x80\x09\xa2\x31\xec\xce\x96\x4b\xf6\x69\x86\x37\x83\x3f\x60\x7d\xca\x83\x6f\x8a\x60\x6c\x72\xae\x3c\xb1\x70\x17\x44\x47\xa2\xcc\xe5\x83\xf6\xe2\x44\xdb\xc1\x63\xe2\x15\xb9\x82\x0d\xe7\x49\x6f\xfc\x5b\x70\x50\xc4\x8f\x28\x30\x24\x66\x78\xcb\xa4\xdc\x5c\xaa\x07\xc1\x45\x85\x63\xaa\x2d\x10\xdc\xb7\x77\x0e\xf8\xfe\xde\x02\x7d\xd7\xf2\x0d\xdc\x8c\xc7\x8c\x3a\x2e\x2e\x95\x8b\xd1\x8c\x00\x06\xcf\x8f\xb8\x2d\x44\xe5\x3e\x1d\xa7\xaa\x80\xfd\x10\x06\xf3\xb2\x30\x0c\x9b\x07\x9d\x8a\x66\xf1\xe4\xa3\xf4\x70\x61\xf9\xe2\xf4\x5d\xae\x35\xdc\x29\x52\x04\xb1\x94\x60\xca\x57\x07\xab\x57\xce\x21\x5a\x24\xc1\x0f\xaa\xb3\xfa\x20\xbc\xcd\x10\x1e\x7a\x7d\x70\x07\x75\x99\xf3\xd6\x72\x57\x07\x55\x21\x29\xca\xd7\x57\xd6\x51\x4c\x1b\x28\x99\x7e\x47\x1f\x94\xb0\xfd\xed\x8f\xbb\xd0\x65\xde\xad\x19\x6d\x2c\x07\xd3\xdf\xa7\xb9\xfb\x3b\xae\x76\x80\xf7\x66\x21\x20\x0d\x09\x9e\xeb\xeb\xbe\xa0\xe8\x95\x7d\xf5\xb5\xe2\x04\xca\x3e\x9e\x29\x52\xb8\xa3\x0f\x0a\x13\x1a\x68\x67\xb1\x38\x1e\x39\x4b\x1b\x44\x43\x10\xf0\x76\x32\x66\x56\xcf\x93\x41\x67\x80\x08\xe9\x52\x51\x47\xd8\xd6\x1c\xe9\x3d\x3b\xf5\x39\x00\xca\xb9\x12\x66\x37\x17\xe0\x98\x72\x93\x83\x3d\x19\x02\xd7\xfb\x04\x7b\x99\x7b\x86\x02\x6c\x46\x7d\x7b\xb1\x7c\xf4\x57\x96\x73\x8f\x7a\x77\x4a\xc1\x26\x76\x4e\xd4\xeb\x45\x12\x43\x09\xf4\x58\x62\x60\x17\x6b\xa4\x65\x91\x8d\x48\x33\x0a\x9c\xc1\x8c\x4e\xce\xa0\xdd\xaf\x38\x94\x6a\xcc\x0e\x36\x1d\xd4\x0a\x7e\x91\x33\xce\xb5\x0e\x1c\x31\x7e\xa4\x2b\xd0\x98\x0a\x72\xb8\xba\x3d\x8a\x6c\x76\x93\xdd\x56\x02\xf3\x74\xf2\x66\x4d\xf4\xba\x56\xdf\x01\xe8\x82\xfc\xa4\x2c\xb4\xdb\x62\x1f\x47\x6c\x76\xe1\xea\x9f\xd1\x05\x91\x1a\x74\xb7\x79\x52\xd9\x91\x4a\x5a\xc0\xf9\x8a\x90\x0c\x1b\x2e\x1a\x56\xc4\xea\x85\x18\xa9\xee\x47\xc4\xed\x14\xd0\xbd\x35\xec\xa5\x60\x31\x9c\x8e\xa2\x47\x55\xd7\x1a\x4e\x03\x08\x50\xbc\x4d\xc6\x03\x89\xf3\x25\x80\x40\x21\x20\x4c\xce\xbc\x25\xfe\xdb\xd3\x2e\xdd\x8d\x84\x46\xaa\x23\xce\x56\xa8\x5f\x77\x9e\x85\x8d\x36\xaf\x7c\x07\x3c\x11\x5e\x34\x1f\x41\x2c\x66\x0f\xab\x80\x0f\xe7\x4c\x50\xe7\x14\xee\x08\x6e\x2f\xbc\x8d\x7a\xbb\xf3\xe9\x8f\xb4\x0c\xa2\x7f\x1f\x01\xa9\xaa\xdd\x8c\xc2\x27\x5c\x2d\xd3\xf7\x6e\x4c\x1d\x81\xc4\xb7\x92\xda\xec\xc9\xfe\x66\x04\x49\x41\xb8\xb2\x91\x84\x86\xdd\x4a\xcb\x56\x2a\x7b\x58\xad\x8c\x60\xc2\x1b\x83\xcf\x48\xae\xfa\x72\x56\xa1\xed\x80\x9e\x66\x98\x11\xf4\x84\x36\x49\x70\xbc\x56\x95\x08\x99\x19\xbc\x32\xd2\x8e\xa7\x52\xe8\xe3\x18\xce\xff\x46\x7f\x77\xae\x19\x77\xc5\xff\xd7\x9c\x17\xc2\xda\x8b\xc7\xf8\x23\xdd\x94\x39\x86\x83\x18\x99\x45\xf8\xb7\x92\x38\xa4\xe8\x15\xb1\x42\xb8\x66\xac\xbd\xbc\xb7\xae\xa7\xf1\x43\xff\xfb\x7c\xc2\xb4\xb5\x4b\xbf\x36\x1a\xfd\xa9\x13\xad\x6d\xf1\xe4\x9d\xfd\x6b\x53\x26\x42\xe6\x3f\x55\xd8\x93\xa4\x70\xd4\x03\x70\x66\x5c\xfb\x74\xef\xd3\xf5\x9c\xb0\xff\x60\x06\x17\x4c\xa3\x5f\x53\xb9\x7c\x54\x3e\x08\xaf\x4b\xf5\xbb\x75\xff\x90\x31\x61\x06\x52\xa3\xf6\xf2\xa0\xcf\xe9\x7e\x7a\x52\x1f\x3d\x2a\x28\x91\x14\xde\xd3\x47\x72\xb0\xe4\x98\x17\xbd\xe1\xcb\x92\x4f\xf5\x14\xe2\x86\x6a\x09\xe3\xed\xe0\x78\x2d\x2c\x0c\x98\xe6\x81\x4b\x8c\x1e\x77\x8c\xf8\x30\x63\x48\xc9\x33\xad\xb2\xe4\x72\xdb\xa0\x9d\xb9\x54\xff\x49\x64\x83\x73\x39\x5a\x2f\x01\x81\x95\x8f\xeb\x1e\xa2\x83\x4c\x99\x53\x28\x73\xdb\x5c\x88\xeb\x52\x89\xc7\x7e\x90\x01\x52\x03\xef\x50\x2a\xc8\xe1\xc4\x8f\xa1\xa0\x6d\xaf\xa6\x51\x9d\x52\xda\xe3\xc5\x56\x75\x70\xdd\x24\x34\xe6\x71\x92\x7c\x66\x36\x3f\x78\x31\x56\x89\x3f\x13\x8a\x84\xc7\x56\x64\xb3\x0a\xe4\x27\x51\x12\x73\x6d\x53\xd4\xf3\x99\xdd\xda\x3d\x23\x06\x7c\x07\x3f\x52\x1a\xfb\xa1\xf7\xbe\x58\x55\x13\xc2\xce\xc9\xc8\xf0\x8d\x2a\x22\xc3\xc8\x53\x92\xcd\x2a\xe5\x0f\x39\x28\x25\x1f\x86\xb3\x10\xc6\x9a\x0f\x8c\x4e\x85\x3a\xb3\xf3\xe8\x12\x9b\x05\x66\xef\x4b\xbb\xe8\x0b\x8c\x02\xc8\x92\x8a\x4d\xe5\x6c\x0d\x11\x9a\x45\xbb\xf5\xaf\x18\x08\xd4\x88\x85\x2d\x8a\x45\xbe\xb0\xd6\x83\x24\x8a\x4d\x65\xde\x15\x26\xb3\xd1\xd2\xff\xc1\xf2\x22\x15\xb6\x08\x46\x8c\xbc\x3b\xd3\x95\x14\xb3\x97\xfc\x0d\xb0\xf1\x13\xdb\xe6\xfc\xe4\x65\x2e\x82\xff\x89\x5b\x2b\x43\x87\xe0\x41\xd7\xe4\xe7\xbd\xe4\x69\x47\x69\x66\x5e\x81"}, -{{0xf5,0xe5,0x76,0x7c,0xf1,0x53,0x31,0x95,0x17,0x63,0x0f,0x22,0x68,0x76,0xb8,0x6c,0x81,0x60,0xcc,0x58,0x3b,0xc0,0x13,0x74,0x4c,0x6b,0xf2,0x55,0xf5,0xcc,0x0e,0xe5,},{0x27,0x81,0x17,0xfc,0x14,0x4c,0x72,0x34,0x0f,0x67,0xd0,0xf2,0x31,0x6e,0x83,0x86,0xce,0xff,0xbf,0x2b,0x24,0x28,0xc9,0xc5,0x1f,0xef,0x7c,0x59,0x7f,0x1d,0x42,0x6e,},{0x0a,0xab,0x4c,0x90,0x05,0x01,0xb3,0xe2,0x4d,0x7c,0xdf,0x46,0x63,0x32,0x6a,0x3a,0x87,0xdf,0x5e,0x48,0x43,0xb2,0xcb,0xdb,0x67,0xcb,0xf6,0xe4,0x60,0xfe,0xc3,0x50,0xaa,0x53,0x71,0xb1,0x50,0x8f,0x9f,0x45,0x28,0xec,0xea,0x23,0xc4,0x36,0xd9,0x4b,0x5e,0x8f,0xcd,0x4f,0x68,0x1e,0x30,0xa6,0xac,0x00,0xa9,0x70,0x4a,0x18,0x8a,0x03,},"\x08\xb8\xb2\xb7\x33\x42\x42\x43\x76\x0f\xe4\x26\xa4\xb5\x49\x08\x63\x21\x10\xa6\x6c\x2f\x65\x91\xea\xbd\x33\x45\xe3\xe4\xeb\x98\xfa\x6e\x26\x4b\xf0\x9e\xfe\x12\xee\x50\xf8\xf5\x4e\x9f\x77\xb1\xe3\x55\xf6\xc5\x05\x44\xe2\x3f\xb1\x43\x3d\xdf\x73\xbe\x84\xd8\x79\xde\x7c\x00\x46\xdc\x49\x96\xd9\xe7\x73\xf4\xbc\x9e\xfe\x57\x38\x82\x9a\xdb\x26\xc8\x1b\x37\xc9\x3a\x1b\x27\x0b\x20\x32\x9d\x65\x86\x75\xfc\x6e\xa5\x34\xe0\x81\x0a\x44\x32\x82\x6b\xf5\x8c\x94\x1e\xfb\x65\xd5\x7a\x33\x8b\xbd\x2e\x26\x64\x0f\x89\xff\xbc\x1a\x85\x8e\xfc\xb8\x55\x0e\xe3\xa5\xe1\x99\x8b\xd1\x77\xe9\x3a\x73\x63\xc3\x44\xfe\x6b\x19\x9e\xe5\xd0\x2e\x82\xd5\x22\xc4\xfe\xba\x15\x45\x2f\x80\x28\x8a\x82\x1a\x57\x91\x16\xec\x6d\xad\x2b\x3b\x31\x0d\xa9\x03\x40\x1a\xa6\x21\x00\xab\x5d\x1a\x36\x55\x3e\x06\x20\x3b\x33\x89\x0c\xc9\xb8\x32\xf7\x9e\xf8\x05\x60\xcc\xb9\xa3\x9c\xe7\x67\x96\x7e\xd6\x28\xc6\xad\x57\x3c\xb1\x16\xdb\xef\xef\xd7\x54\x99\xda\x96\xbd\x68\xa8\xa9\x7b\x92\x8a\x8b\xbc\x10\x3b\x66\x21\xfc\xde\x2b\xec\xa1\x23\x1d\x20\x6b\xe6\xcd\x9e\xc7\xaf\xf6\xf6\xc9\x4f\xcd\x72\x04\xed\x34\x55\xc6\x8c\x83\xf4\xa4\x1d\xa4\xaf\x2b\x74\xef\x5c\x53\xf1\xd8\xac\x70\xbd\xcb\x7e\xd1\x85\xce\x81\xbd\x84\x35\x9d\x44\x25\x4d\x95\x62\x9e\x98\x55\xa9\x4a\x7c\x19\x58\xd1\xf8\xad\xa5\xd0\x53\x2e\xd8\xa5\xaa\x3f\xb2\xd1\x7b\xa7\x0e\xb6\x24\x8e\x59\x4e\x1a\x22\x97\xac\xbb\xb3\x9d\x50\x2f\x1a\x8c\x6e\xb6\xf1\xce\x22\xb3\xde\x1a\x1f\x40\xcc\x24\x55\x41\x19\xa8\x31\xa9\xaa\xd6\x07\x9c\xad\x88\x42\x5d\xe6\xbd\xe1\xa9\x18\x7e\xbb\x60\x92\xcf\x67\xbf\x2b\x13\xfd\x65\xf2\x70\x88\xd7\x8b\x7e\x88\x3c\x87\x59\xd2\xc4\xf5\xc6\x5a\xdb\x75\x53\x87\x8a\xd5\x75\xf9\xfa\xd8\x78\xe8\x0a\x0c\x9b\xa6\x3b\xcb\xcc\x27\x32\xe6\x94\x85\xbb\xc9\xc9\x0b\xfb\xd6\x24\x81\xd9\x08\x9b\xec\xcf\x80\xcf\xe2\xdf\x16\xa2\xcf\x65\xbd\x92\xdd\x59\x7b\x07\x07\xe0\x91\x7a\xf4\x8b\xbb\x75\xfe\xd4\x13\xd2\x38\xf5\x55\x5a\x7a\x56\x9d\x80\xc3\x41\x4a\x8d\x08\x59\xdc\x65\xa4\x61\x28\xba\xb2\x7a\xf8\x7a\x71\x31\x4f\x31\x8c\x78\x2b\x23\xeb\xfe\x80\x8b\x82\xb0\xce\x26\x40\x1d\x2e\x22\xf0\x4d\x83\xd1\x25\x5d\xc5\x1a\xdd\xd3\xb7\x5a\x2b\x1a\xe0\x78\x45\x04\xdf\x54\x3a\xf8\x96\x9b\xe3\xea\x70\x82\xff\x7f\xc9\x88\x8c\x14\x4d\xa2\xaf\x58\x42\x9e\xc9\x60\x31\xdb\xca\xd3\xda\xd9\xaf\x0d\xcb\xaa\xaf\x26\x8c\xb8\xfc\xff\xea\xd9\x4f\x3c\x7c\xa4\x95\xe0\x56\xa9\xb4\x7a\xcd\xb7\x51\xfb\x73\xe6\x66\xc6\xc6\x55\xad\xe8\x29\x72\x97\xd0\x7a\xd1\xba\x5e\x43\xf1\xbc\xa3\x23\x01\x65\x13\x39\xe2\x29\x04\xcc\x8c\x42\xf5\x8c\x30\xc0\x4a\xaf\xdb\x03\x8d\xda\x08\x47\xdd\x98\x8d\xcd\xa6\xf3\xbf\xd1\x5c\x4b\x4c\x45\x25\x00\x4a\xa0\x6e\xef\xf8\xca\x61\x78\x3a\xac\xec\x57\xfb\x3d\x1f\x92\xb0\xfe\x2f\xd1\xa8\x5f\x67\x24\x51\x7b\x65\xe6\x14\xad\x68\x08\xd6\xf6\xee\x34\xdf\xf7\x31\x0f\xdc\x82\xae\xbf\xd9\x04\xb0\x1e\x1d\xc5\x4b\x29\x27\x09\x4b\x2d\xb6\x8d\x6f\x90\x3b\x68\x40\x1a\xde\xbf\x5a\x7e\x08\xd7\x8f\xf4\xef\x5d\x63\x65\x3a\x65\x04\x0c\xf9\xbf\xd4\xac\xa7\x98\x4a\x74\xd3\x71\x45\x98\x67\x80\xfc\x0b\x16\xac\x45\x16\x49\xde\x61\x88\xa7\xdb\xdf\x19\x1f\x64\xb5\xfc\x5e\x2a\xb4\x7b\x57\xf7\xf7\x27\x6c\xd4\x19\xc1\x7a\x3c\xa8\xe1\xb9\x39\xae\x49\xe4\x88\xac\xba\x6b\x96\x56\x10\xb5\x48\x01\x09\xc8\xb1\x7b\x80\xe1\xb7\xb7\x50\xdf\xc7\x59\x8d\x5d\x50\x11\xfd\x2d\xcc\x56\x00\xa3\x2e\xf5\xb5\x2a\x1e\xcc\x82\x0e\x30\x8a\xa3\x42\x72\x1a\xac\x09\x43\xbf\x66\x86\xb6\x4b\x25\x79\x37\x65\x04\xcc\xc4\x93\xd9\x7e\x6a\xed\x3f\xb0\xf9\xcd\x71\xa4\x3d\xd4\x97\xf0\x1f\x17\xc0\xe2\xcb\x37\x97\xaa\x2a\x2f\x25\x66\x56\x16\x8e\x6c\x49\x6a\xfc\x5f\xb9\x32\x46\xf6\xb1\x11\x63\x98\xa3\x46\xf1\xa6\x41\xf3\xb0\x41\xe9\x89\xf7\x91\x4f\x90\xcc\x2c\x7f\xff\x35\x78\x76\xe5\x06\xb5\x0d\x33\x4b\xa7\x7c\x22\x5b\xc3\x07\xba\x53\x71\x52\xf3\xf1\x61\x0e\x4e\xaf\xe5\x95\xf6\xd9\xd9\x0d\x11\xfa\xa9\x33\xa1\x5e\xf1\x36\x95\x46\x86\x8a\x7f\x3a\x45\xa9\x67\x68\xd4\x0f\xd9\xd0\x34\x12\xc0\x91\xc6\x31\x5c\xf4\xfd\xe7\xcb\x68\x60\x69\x37\x38\x0d\xb2\xea\xaa\x70\x7b\x4c\x41\x85\xc3\x2e\xdd\xcd\xd3\x06\x70\x5e\x4d\xc1\xff\xc8\x72\xee\xee\x47\x5a\x64\xdf\xac\x86\xab\xa4\x1c\x06\x18\x98\x3f\x87\x41\xc5\xef\x68\xd3\xa1\x01\xe8\xa3\xb8\xca\xc6\x0c\x90\x5c\x15\xfc\x91\x08\x40\xb9\x4c\x00\xa0\xb9\xd0"}, -}; - -static const unsigned char non_canonical_p[32] = { - 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f -}; - -static void add_l(unsigned char * const S) -{ - static const unsigned char l[32] = - { 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, - 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10 }; - - sodium_add(S, l, sizeof l); -} - -int main(void) -{ - crypto_sign_state st; - unsigned char extracted_seed[crypto_sign_ed25519_SEEDBYTES]; - unsigned char extracted_pk[crypto_sign_ed25519_PUBLICKEYBYTES]; - unsigned char sig[crypto_sign_BYTES]; - unsigned char sm[1024 + crypto_sign_BYTES]; - unsigned char m[1024]; - unsigned char skpk[crypto_sign_SECRETKEYBYTES]; - unsigned char pk[crypto_sign_PUBLICKEYBYTES]; - unsigned char sk[crypto_sign_SECRETKEYBYTES]; - char sig_hex[crypto_sign_BYTES * 2 + 1]; - char pk_hex[crypto_sign_PUBLICKEYBYTES * 2 + 1]; - char sk_hex[crypto_sign_SECRETKEYBYTES * 2 + 1]; - unsigned long long siglen; - unsigned long long smlen; - unsigned long long mlen; - unsigned int i; - unsigned int j; - - memset(sig, 0, sizeof sig); - for (i = 0U; i < (sizeof test_data) / (sizeof test_data[0]); i++) { -#ifdef BROWSER_TESTS - if (i % 128U != 127U) { - continue; - } -#endif - memcpy(skpk, test_data[i].sk, crypto_sign_SEEDBYTES); - memcpy(skpk + crypto_sign_SEEDBYTES, test_data[i].pk, - crypto_sign_PUBLICKEYBYTES); - if (crypto_sign(sm, &smlen, (const unsigned char *)test_data[i].m, i, - skpk) != 0) { - printf("crypto_sign() failure: [%u]\n", i); - continue; - } - if (memcmp(test_data[i].sig, sm, crypto_sign_BYTES) != 0) { - printf("signature failure: [%u]\n", i); - continue; - } - if (crypto_sign_open(m, NULL, sm, smlen, test_data[i].pk) != 0) { - printf("crypto_sign_open() failure: [%u]\n", i); - continue; - } - add_l(sm + 32); -#ifndef ED25519_COMPAT - if (crypto_sign_open(m, &mlen, sm, smlen, test_data[i].pk) != -1) { - printf("crypto_sign_open(): signature [%u] is malleable\n", i); - continue; - } -#else - if (crypto_sign_open(m, &mlen, sm, smlen, test_data[i].pk) != 0) { - printf("crypto_sign_open(): signature [%u] is not malleable\n", i); - continue; - } -#endif - if (memcmp(test_data[i].m, m, (size_t)mlen) != 0) { - printf("message verification failure: [%u]\n", i); - continue; - } - sm[i + crypto_sign_BYTES - 1U]++; - if (crypto_sign_open(m, &mlen, sm, smlen, test_data[i].pk) == 0) { - printf("message can be forged: [%u]\n", i); - continue; - } - if (crypto_sign_open(m, &mlen, sm, i % crypto_sign_BYTES, - test_data[i].pk) == 0) { - printf("short signed message verifies: [%u]\n", - i % crypto_sign_BYTES); - continue; - } - if (crypto_sign_detached(sig, &siglen, - (const unsigned char *)test_data[i].m, i, skpk) - != 0) { - printf("detached signature failed: [%u]\n", i); - continue; - } - if (siglen == 0U || siglen > crypto_sign_BYTES) { - printf("detached signature has an unexpected length: [%u]\n", i); - continue; - } - if (memcmp(test_data[i].sig, sig, crypto_sign_BYTES) != 0) { - printf("detached signature failure: [%u]\n", i); - continue; - } - if (crypto_sign_verify_detached(sig, - (const unsigned char *)test_data[i].m, - i, test_data[i].pk) != 0) { - printf("detached signature verification failed: [%u]\n", i); - continue; - } - } - printf("%u tests\n", i); - - i--; - - memcpy(sm, test_data[i].m, i); - if (crypto_sign(sm, &smlen, sm, i, skpk) != 0) { - printf("crypto_sign() with overlap failed\n"); - } - if (crypto_sign_open(sm, &mlen, sm, smlen, test_data[i].pk) != 0) { - printf("crypto_sign_open() with overlap failed\n"); - } - if (memcmp(test_data[i].m, sm, (size_t)mlen) != 0) { - printf("crypto_sign_open() with overlap failed (content)\n"); - } - - for (j = 1U; j < 8U; j++) { - sig[63] ^= (j << 5); - if (crypto_sign_verify_detached(sig, - (const unsigned char *)test_data[i].m, - i, test_data[i].pk) != -1) { - printf("detached signature verification should have failed\n"); - continue; - } - sig[63] ^= (j << 5); - } - -#ifndef ED25519_COMPAT - if (crypto_sign_verify_detached(sig, - (const unsigned char *)test_data[i].m, - i, non_canonical_p) != -1) { - printf("detached signature verification with non-canonical key should have failed\n"); - } -#endif - memset(pk, 0, sizeof pk); - if (crypto_sign_verify_detached(sig, - (const unsigned char *)test_data[i].m, - i, pk) != -1) { - printf("detached signature verification should have failed\n"); - } - - memset(sig, 0xff, 32); - sig[0] = 0xdb; - if (crypto_sign_verify_detached(sig, - (const unsigned char *)test_data[i].m, - i, pk) != -1) { - printf("detached signature verification should have failed\n"); - } - assert(crypto_sign_detached(sig, NULL, - (const unsigned char *)test_data[i].m, i, skpk) == 0); - - sodium_hex2bin(pk, crypto_sign_PUBLICKEYBYTES, - "3eee494fb9eac773144e34b0c755affaf33ea782c0722e5ea8b150e61209ab36", - crypto_sign_PUBLICKEYBYTES * 2, NULL, NULL, NULL); - if (crypto_sign_verify_detached(sig, - (const unsigned char *)test_data[i].m, - i, pk) != -1) { - printf("signature with an invalid public key should have failed\n"); - } - - sodium_hex2bin(pk, crypto_sign_PUBLICKEYBYTES, - "0200000000000000000000000000000000000000000000000000000000000000", - crypto_sign_PUBLICKEYBYTES * 2, NULL, NULL, NULL); - if (crypto_sign_verify_detached(sig, - (const unsigned char *)test_data[i].m, - i, pk) != -1) { - printf("signature with an invalid public key should have failed\n"); - } - - sodium_hex2bin(pk, crypto_sign_PUBLICKEYBYTES, - "0500000000000000000000000000000000000000000000000000000000000000", - crypto_sign_PUBLICKEYBYTES * 2, NULL, NULL, NULL); - if (crypto_sign_verify_detached(sig, - (const unsigned char *)test_data[i].m, - i, pk) != -1) { - printf("signature with an invalid public key should have failed\n"); - } - - if (crypto_sign_seed_keypair(pk, sk, keypair_seed) != 0) { - printf("crypto_sign_seed_keypair() failure\n"); - return -1; - } - crypto_sign_init(&st); - crypto_sign_update(&st, (const unsigned char *)test_data[i].m, i); - crypto_sign_final_create(&st, sig, NULL, sk); - sodium_bin2hex(sig_hex, sizeof sig_hex, sig, sizeof sig); - printf("ed25519ph sig: [%s]\n", sig_hex); - - crypto_sign_init(&st); - crypto_sign_update(&st, (const unsigned char *)test_data[i].m, i); - if (crypto_sign_final_verify(&st, sig, pk) != 0) { - printf("ed5519ph verification failed\n"); - } - crypto_sign_init(&st); - crypto_sign_update(&st, (const unsigned char *)test_data[i].m, 0); - crypto_sign_update(&st, (const unsigned char *)test_data[i].m, i / 2); - crypto_sign_update(&st, ((const unsigned char *)test_data[i].m) + i / 2, - i - i / 2); - if (crypto_sign_final_verify(&st, sig, pk) != 0) { - printf("ed5519ph verification failed\n"); - } - sig[0]++; - if (crypto_sign_final_verify(&st, sig, pk) != -1) { - printf("ed5519ph verification could be forged\n"); - } - sig[0]--; - pk[0]++; - if (crypto_sign_final_verify(&st, sig, pk) != -1) { - printf("ed5519ph verification could be forged\n"); - } - sodium_hex2bin(sk, crypto_sign_SECRETKEYBYTES, - "833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42", - 2 * crypto_sign_SECRETKEYBYTES / 2, NULL, NULL, NULL); - sodium_hex2bin(pk, crypto_sign_PUBLICKEYBYTES, - "ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf", - 2 * crypto_sign_PUBLICKEYBYTES, NULL, NULL, NULL); - memcpy(sk + crypto_sign_SECRETKEYBYTES - crypto_sign_PUBLICKEYBYTES, - pk, crypto_sign_PUBLICKEYBYTES); - crypto_sign_init(&st); - crypto_sign_update(&st, (const unsigned char *) "abc", 3); - crypto_sign_final_create(&st, sig, &siglen, sk); - if (siglen == 0U || siglen > crypto_sign_BYTES) { - printf("ed25519ph signature has an unexpected length\n"); - } - sodium_bin2hex(sig_hex, sizeof sig_hex, sig, sizeof sig); - printf("ed25519ph tv sig: [%s]\n", sig_hex); - - crypto_sign_init(&st); - crypto_sign_update(&st, (const unsigned char *) "abc", 3); - if (crypto_sign_final_verify(&st, sig, pk) != 0) { - printf("ed25519ph verification failed\n"); - } - if (crypto_sign_keypair(pk, sk) != 0) { - printf("crypto_sign_keypair() failure\n"); - } - if (crypto_sign_seed_keypair(pk, sk, keypair_seed) != 0) { - printf("crypto_sign_seed_keypair() failure\n"); - return -1; - } - crypto_sign_ed25519_sk_to_seed(extracted_seed, sk); - if (memcmp(extracted_seed, keypair_seed, crypto_sign_ed25519_SEEDBYTES) - != 0) { - printf("crypto_sign_ed25519_sk_to_seed() failure\n"); - } - crypto_sign_ed25519_sk_to_pk(extracted_pk, sk); - if (memcmp(extracted_pk, pk, crypto_sign_ed25519_PUBLICKEYBYTES) != 0) { - printf("crypto_sign_ed25519_sk_to_pk() failure\n"); - } - sodium_bin2hex(pk_hex, sizeof pk_hex, pk, sizeof pk); - sodium_bin2hex(sk_hex, sizeof sk_hex, sk, sizeof sk); - - printf("pk: [%s]\n", pk_hex); - printf("sk: [%s]\n", sk_hex); - - assert(crypto_sign_bytes() > 0U); - assert(crypto_sign_seedbytes() > 0U); - assert(crypto_sign_publickeybytes() > 0U); - assert(crypto_sign_secretkeybytes() > 0U); - assert(crypto_sign_messagebytes_max() > 0U); - assert(strcmp(crypto_sign_primitive(), "ed25519") == 0); - assert(crypto_sign_bytes() == crypto_sign_ed25519_bytes()); - assert(crypto_sign_seedbytes() == crypto_sign_ed25519_seedbytes()); - assert(crypto_sign_messagebytes_max() == crypto_sign_ed25519_messagebytes_max()); - assert(crypto_sign_publickeybytes() - == crypto_sign_ed25519_publickeybytes()); - assert(crypto_sign_secretkeybytes() - == crypto_sign_ed25519_secretkeybytes()); - assert(crypto_sign_statebytes() == crypto_sign_ed25519ph_statebytes()); - -#ifdef ED25519_NONDETERMINISTIC - exit(0); -#endif - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/sign.exp b/libsodium-1.0.18-RELEASE/test/default/sign.exp deleted file mode 100644 index 1c4285f..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sign.exp +++ /dev/null @@ -1,5 +0,0 @@ -1024 tests -ed25519ph sig: [10c5411e40bd10170fb890d4dfdb6d338c8cb11d2764a216ee54df10977dcdefd8ff755b1eeb3f16fce80e40e7aafc99083dbff43d5031baf04157b48423960d] -ed25519ph tv sig: [98a70222f0b8121aa9d30f813d683f809e462b469c7ff87639499bb94e6dae4131f85042463c2a355a2003d062adf5aaa10b8c61e636062aaad11c2a26083406] -pk: [b5076a8474a832daee4dd5b4040983b6623b5f344aca57d4d6ee4baf3f259e6e] -sk: [421151a459faeade3d247115f94aedae42318124095afabe4d1451a559faedeeb5076a8474a832daee4dd5b4040983b6623b5f344aca57d4d6ee4baf3f259e6e] diff --git a/libsodium-1.0.18-RELEASE/test/default/siphashx24.c b/libsodium-1.0.18-RELEASE/test/default/siphashx24.c deleted file mode 100644 index 8ece23e..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/siphashx24.c +++ /dev/null @@ -1,33 +0,0 @@ - -#define TEST_NAME "siphashx24" -#include "cmptest.h" - -#define MAXLEN 64 - -int -main(void) -{ - unsigned char in[MAXLEN]; - unsigned char out[crypto_shorthash_siphashx24_BYTES]; - unsigned char k[crypto_shorthash_siphashx24_KEYBYTES]; - size_t i; - size_t j; - - for (i = 0; i < crypto_shorthash_siphashx24_KEYBYTES; ++i) { - k[i] = (unsigned char) i; - } - for (i = 0; i < MAXLEN; ++i) { - in[i] = (unsigned char) i; - crypto_shorthash_siphashx24(out, in, (unsigned long long) i, k); - for (j = 0; j < crypto_shorthash_siphashx24_BYTES; ++j) { - printf("%02x", (unsigned int) out[j]); - } - printf("\n"); - } - assert(crypto_shorthash_siphashx24_KEYBYTES >= crypto_shorthash_siphash24_KEYBYTES); - assert(crypto_shorthash_siphashx24_BYTES > crypto_shorthash_siphash24_BYTES); - assert(crypto_shorthash_siphashx24_bytes() == crypto_shorthash_siphashx24_BYTES); - assert(crypto_shorthash_siphashx24_keybytes() == crypto_shorthash_siphashx24_KEYBYTES); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/siphashx24.exp b/libsodium-1.0.18-RELEASE/test/default/siphashx24.exp deleted file mode 100644 index 7218445..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/siphashx24.exp +++ /dev/null @@ -1,64 +0,0 @@ -a3817f04ba25a8e66df67214c7550293 -da87c1d86b99af44347659119b22fc45 -8177228da4a45dc7fca38bdef60affe4 -9c70b60c5267a94e5f33b6b02985ed51 -f88164c12d9c8faf7d0f6e7c7bcd5579 -1368875980776f8854527a07690e9627 -14eeca338b208613485ea0308fd7a15e -a1f1ebbed8dbc153c0b84aa61ff08239 -3b62a9ba6258f5610f83e264f31497b4 -264499060ad9baabc47f8b02bb6d71ed -00110dc378146956c95447d3f3d0fbba -0151c568386b6677a2b4dc6f81e5dc18 -d626b266905ef35882634df68532c125 -9869e247e9c08b10d029934fc4b952f7 -31fcefac66d7de9c7ec7485fe4494902 -5493e99933b0a8117e08ec0f97cfc3d9 -6ee2a4ca67b054bbfd3315bf85230577 -473d06e8738db89854c066c47ae47740 -a426e5e423bf4885294da481feaef723 -78017731cf65fab074d5208952512eb1 -9e25fc833f2290733e9344a5e83839eb -568e495abe525a218a2214cd3e071d12 -4a29b54552d16b9a469c10528eff0aae -c9d184ddd5a9f5e0cf8ce29a9abf691c -2db479ae78bd50d8882a8a178a6132ad -8ece5f042d5e447b5051b9eacb8d8f6f -9c0b53b4b3c307e87eaee08678141f66 -abf248af69a6eae4bfd3eb2f129eeb94 -0664da1668574b88b935f3027358aef4 -aa4b9dc4bf337de90cd4fd3c467c6ab7 -ea5c7f471faf6bde2b1ad7d4686d2287 -2939b0183223fafc1723de4f52c43d35 -7c3956ca5eeafc3e363e9d556546eb68 -77c6077146f01c32b6b69d5f4ea9ffcf -37a6986cb8847edf0925f0f1309b54de -a705f0e69da9a8f907241a2e923c8cc8 -3dc47d1f29c448461e9e76ed904f6711 -0d62bf01e6fc0e1a0d3c4751c5d3692b -8c03468bca7c669ee4fd5e084bbee7b5 -528a5bb93baf2c9c4473cce5d0d22bd9 -df6a301e95c95dad97ae0cc8c6913bd8 -801189902c857f39e73591285e70b6db -e617346ac9c231bb3650ae34ccca0c5b -27d93437efb721aa401821dcec5adf89 -89237d9ded9c5e78d8b1c9b166cc7342 -4a6d8091bf5e7d651189fa94a250b14c -0e33f96055e7ae893ffc0e3dcf492902 -e61c432b720b19d18ec8d84bdc63151b -f7e5aef549f782cf379055a608269b16 -438d030fd0b7a54fa837f2ad201a6403 -a590d3ee4fbf04e3247e0d27f286423f -5fe2c1a172fe93c4b15cd37caef9f538 -2c97325cbd06b36eb2133dd08b3a017c -92c814227a6bca949ff0659f002ad39e -dce850110bd8328cfbd50841d6911d87 -67f14984c7da791248e32bb5922583da -1938f2cf72d54ee97e94166fa91d2a36 -74481e9646ed49fe0f6224301604698e -57fca5de98a9d6d8006438d0583d8a1d -9fecde1cefdc1cbed4763674d9575359 -e3040c00eb28f15366ca73cbd872e740 -7697009a6a831dfecca91c5993670f7a -5853542321f567a005d547a4f04759bd -5150d1772f50834a503e069a973fbd7c diff --git a/libsodium-1.0.18-RELEASE/test/default/sodium_core.c b/libsodium-1.0.18-RELEASE/test/default/sodium_core.c deleted file mode 100644 index a3985b0..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sodium_core.c +++ /dev/null @@ -1,42 +0,0 @@ - -#define TEST_NAME "sodium_core" -#include "cmptest.h" - -static void -misuse_handler(void) -{ - printf("misuse_handler()\n"); - exit(0); -} - -int -main(void) -{ - sodium_set_misuse_handler(NULL); - sodium_set_misuse_handler(misuse_handler); - sodium_set_misuse_handler(NULL); - - assert(sodium_init() == 1); - - (void) sodium_runtime_has_neon(); - (void) sodium_runtime_has_sse2(); - (void) sodium_runtime_has_sse3(); - (void) sodium_runtime_has_ssse3(); - (void) sodium_runtime_has_sse41(); - (void) sodium_runtime_has_avx(); - (void) sodium_runtime_has_avx2(); - (void) sodium_runtime_has_avx512f(); - (void) sodium_runtime_has_pclmul(); - (void) sodium_runtime_has_aesni(); - (void) sodium_runtime_has_rdrand(); - - sodium_set_misuse_handler(misuse_handler); -#ifndef __EMSCRIPTEN__ - sodium_misuse(); - printf("Misuse handler returned\n"); -#else - printf("misuse_handler()\n"); -#endif - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/sodium_core.exp b/libsodium-1.0.18-RELEASE/test/default/sodium_core.exp deleted file mode 100644 index 68a17b0..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sodium_core.exp +++ /dev/null @@ -1 +0,0 @@ -misuse_handler() diff --git a/libsodium-1.0.18-RELEASE/test/default/sodium_utils.c b/libsodium-1.0.18-RELEASE/test/default/sodium_utils.c deleted file mode 100644 index 844e16c..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sodium_utils.c +++ /dev/null @@ -1,224 +0,0 @@ -#define TEST_NAME "sodium_utils" -#include "cmptest.h" - -int -main(void) -{ - unsigned char buf_add[1000]; - unsigned char buf1[1000]; - unsigned char buf2[1000]; - unsigned char buf1_rev[1000]; - unsigned char buf2_rev[1000]; - unsigned char nonce[24]; - char nonce_hex[49]; - unsigned char *bin_padded; - size_t bin_len, bin_len2; - size_t bin_padded_len; - size_t bin_padded_maxlen; - size_t blocksize; - unsigned int i; - unsigned int j; - - randombytes_buf(buf1, sizeof buf1); - memcpy(buf2, buf1, sizeof buf2); - printf("%d\n", sodium_memcmp(buf1, buf2, sizeof buf1)); - sodium_memzero(buf1, 0U); - printf("%d\n", sodium_memcmp(buf1, buf2, sizeof buf1)); - sodium_memzero(buf1, sizeof buf1 / 2); - printf("%d\n", sodium_memcmp(buf1, buf2, sizeof buf1)); - printf("%d\n", sodium_memcmp(buf1, buf2, 0U)); - sodium_memzero(buf2, sizeof buf2 / 2); - printf("%d\n", sodium_memcmp(buf1, buf2, sizeof buf1)); - printf("%d\n", sodium_memcmp(buf1, guard_page, 0U)); - printf("%d\n", sodium_memcmp(guard_page, buf2, 0U)); - printf("%d\n", sodium_memcmp(guard_page, guard_page, 0U)); - sodium_memzero(guard_page, 0U); - - memset(nonce, 0, sizeof nonce); - sodium_increment(nonce, sizeof nonce); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - memset(nonce, 255, sizeof nonce); - sodium_increment(nonce, sizeof nonce); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - nonce[1] = 1U; - sodium_increment(nonce, sizeof nonce); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - nonce[1] = 0U; - sodium_increment(nonce, sizeof nonce); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - nonce[0] = 255U; - nonce[2] = 255U; - sodium_increment(nonce, sizeof nonce); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - for (i = 0U; i < 1000U; i++) { - bin_len = (size_t) randombytes_uniform(sizeof buf1); - randombytes_buf(buf1, bin_len); - randombytes_buf(buf2, bin_len); - for (j = 0U; j < bin_len; j++) { - buf1_rev[bin_len - 1 - j] = buf1[j]; - buf2_rev[bin_len - 1 - j] = buf2[j]; - } - if (memcmp(buf1_rev, buf2_rev, bin_len) * - sodium_compare(buf1, buf2, bin_len) < 0) { - printf("sodium_compare() failure with length=%u\n", - (unsigned int) bin_len); - } - memcpy(buf1, buf2, bin_len); - if (sodium_compare(buf1, buf2, bin_len)) { - printf("sodium_compare() equality failure with length=%u\n", - (unsigned int) bin_len); - } - } - printf("%d\n", sodium_compare(buf1, NULL, 0U)); - printf("%d\n", sodium_compare(NULL, buf1, 0U)); - memset(buf1, 0, sizeof buf1); - if (sodium_is_zero(buf1, sizeof buf1) != 1) { - printf("sodium_is_zero() failed\n"); - } - for (i = 0U; i < sizeof buf1; i++) { - buf1[i]++; - if (sodium_is_zero(buf1, sizeof buf1) != 0) { - printf("sodium_is_zero() failed\n"); - } - buf1[i]--; - } - bin_len = randombytes_uniform(sizeof buf1); - randombytes_buf(buf1, bin_len); - memcpy(buf2, buf1, bin_len); - memset(buf_add, 0, bin_len); - j = randombytes_uniform(10000); - for (i = 0U; i < j; i++) { - sodium_increment(buf1, bin_len); - sodium_increment(buf_add, bin_len); - } - sodium_add(buf2, buf_add, bin_len); - if (sodium_compare(buf1, buf2, bin_len) != 0) { - printf("sodium_add() failed\n"); - } - bin_len = randombytes_uniform(sizeof buf1); - randombytes_buf(buf1, bin_len); - memcpy(buf2, buf1, bin_len); - memset(buf_add, 0xff, bin_len); - sodium_increment(buf2, bin_len); - sodium_increment(buf2, 0U); - sodium_add(buf2, buf_add, bin_len); - sodium_add(buf2, buf_add, 0U); - if (sodium_compare(buf1, buf2, bin_len) != 0) { - printf("sodium_add() failed\n"); - } - for (i = 0U; i < 1000U; i++) { - randombytes_buf(buf1, bin_len); - randombytes_buf(buf2, bin_len); - sodium_add(buf1, buf2, bin_len); - sodium_sub(buf1, buf2, bin_len); - sodium_sub(buf1, buf2, 0U); - if (sodium_is_zero(buf1, bin_len) && - !sodium_is_zero(buf1, bin_len)) { - printf("sodium_sub() failed\n"); - } - sodium_sub(buf1, buf1, bin_len); - if (!sodium_is_zero(buf1, bin_len)) { - printf("sodium_sub() failed\n"); - } - } - assert(sizeof nonce >= 24U); - memset(nonce, 0xfe, 24U); - memset(nonce, 0xff, 6U); - sodium_increment(nonce, 8U); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - memset(nonce, 0xfe, 24U); - memset(nonce, 0xff, 10U); - sodium_increment(nonce, 12U); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - memset(nonce, 0xff, 22U); - sodium_increment(nonce, 24U); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - - assert(sizeof nonce >= 24U); - memset(nonce, 0xfe, 24U); - memset(nonce, 0xff, 6U); - sodium_add(nonce, nonce, 7U); - sodium_add(nonce, nonce, 8U); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - memset(nonce, 0xfe, 24U); - memset(nonce, 0xff, 10U); - sodium_add(nonce, nonce, 11U); - sodium_add(nonce, nonce, 12U); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - memset(nonce, 0xff, 22U); - sodium_add(nonce, nonce, 23U); - sodium_add(nonce, nonce, 24U); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - sodium_add(nonce, nonce, 0U); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - sodium_add(nonce, guard_page, 0U); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - sodium_add(guard_page, nonce, 0U); - - sodium_sub(nonce, nonce, 0U); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - sodium_sub(nonce, guard_page, 0U); - printf("%s\n", - sodium_bin2hex(nonce_hex, sizeof nonce_hex, nonce, sizeof nonce)); - sodium_sub(guard_page, nonce, 0U); - - randombytes_buf(buf1, 64U); - randombytes_buf(buf2, 64U); - memset(buf_add, 0, 64U); - sodium_add(buf_add, buf1, 64U); - assert(!sodium_is_zero(buf_add, 64U)); - sodium_add(buf_add, buf2, 64U); - assert(!sodium_is_zero(buf_add, 64U)); - sodium_sub(buf_add, buf1, 64U); - assert(!sodium_is_zero(buf_add, 64U)); - sodium_sub(buf_add, buf2, 64U); - assert(sodium_is_zero(buf_add, 64U)); - - for (i = 0; i < 2000U; i++) { - bin_len = randombytes_uniform(200U); - blocksize = 1U + randombytes_uniform(500U); - bin_padded_maxlen = bin_len + (blocksize - bin_len % blocksize); - bin_padded = (unsigned char *) sodium_malloc(bin_padded_maxlen); - randombytes_buf(bin_padded, bin_padded_maxlen); - - assert(sodium_pad(&bin_padded_len, bin_padded, bin_len, - blocksize, bin_padded_maxlen - 1U) == -1); - assert(sodium_pad(NULL, bin_padded, bin_len, - blocksize, bin_padded_maxlen + 1U) == 0); - assert(sodium_pad(&bin_padded_len, bin_padded, bin_len, - blocksize, bin_padded_maxlen + 1U) == 0); - assert(sodium_pad(&bin_padded_len, bin_padded, bin_len, - 0U, bin_padded_maxlen) == -1); - assert(sodium_pad(&bin_padded_len, bin_padded, bin_len, - blocksize, bin_padded_maxlen) == 0); - assert(bin_padded_len == bin_padded_maxlen); - - assert(sodium_unpad(&bin_len2, bin_padded, bin_padded_len, - bin_padded_len + 1U) == -1); - assert(sodium_unpad(&bin_len2, bin_padded, bin_padded_len, - 0U) == -1); - assert(sodium_unpad(&bin_len2, bin_padded, bin_padded_len, - blocksize) == 0); - assert(bin_len2 == bin_len); - - sodium_free(bin_padded); - } - - sodium_stackzero(512); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/sodium_utils.exp b/libsodium-1.0.18-RELEASE/test/default/sodium_utils.exp deleted file mode 100644 index c97a1db..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sodium_utils.exp +++ /dev/null @@ -1,25 +0,0 @@ -0 -0 --1 -0 -0 -0 -0 -0 -010000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000 -010100000000000000000000000000000000000000000000 -020000000000000000000000000000000000000000000000 -0001ff000000000000000000000000000000000000000000 -0 -0 -000000000000fffefefefefefefefefefefefefefefefefe -00000000000000000000fffefefefefefefefefefefefefe -00000000000000000000000000000000000000000000fffe -fcfffffffffffbfdfefefefefefefefefefefefefefefefe -fcfffffffffffffffffffbfdfefefefefefefefefefefefe -fcfffffffffffffffffffffffffffffffffffffffffffbfd -fcfffffffffffffffffffffffffffffffffffffffffffbfd -fcfffffffffffffffffffffffffffffffffffffffffffbfd -fcfffffffffffffffffffffffffffffffffffffffffffbfd -fcfffffffffffffffffffffffffffffffffffffffffffbfd diff --git a/libsodium-1.0.18-RELEASE/test/default/sodium_utils2.c b/libsodium-1.0.18-RELEASE/test/default/sodium_utils2.c deleted file mode 100644 index a1801b1..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sodium_utils2.c +++ /dev/null @@ -1,105 +0,0 @@ - -#include -#include - -#include -#include - -#define TEST_NAME "sodium_utils2" -#include "cmptest.h" - -#ifdef __SANITIZE_ADDRESS__ -# warning The sodium_utils2 test is expected to fail with address sanitizer -#endif - -#undef sodium_malloc -#undef sodium_free -#undef sodium_allocarray - -__attribute__((noreturn)) static void -segv_handler(int sig) -{ - (void) sig; - - printf("Intentional segfault / bus error caught\n"); - printf("OK\n"); -#ifdef SIG_DFL -# ifdef SIGSEGV - signal(SIGSEGV, SIG_DFL); -# endif -# ifdef SIGBUS - signal(SIGBUS, SIG_DFL); -# endif -# ifdef SIGABRT - signal(SIGABRT, SIG_DFL); -# endif -#endif - exit(0); -} - -int -main(void) -{ - void * buf; - size_t size; - unsigned int i; - - if (sodium_malloc(SIZE_MAX - 1U) != NULL) { - return 1; - } - if (sodium_malloc(0U) == NULL) { - return 1; - } - if (sodium_allocarray(SIZE_MAX / 2U + 1U, SIZE_MAX / 2U) != NULL) { - return 1; - } - sodium_free(sodium_allocarray(0U, 0U)); - sodium_free(sodium_allocarray(0U, 1U)); - sodium_free(sodium_allocarray(1U, 0U)); - - buf = sodium_allocarray(1000U, 50U); - memset(buf, 0, 50000U); - sodium_free(buf); - - sodium_free(sodium_malloc(0U)); - sodium_free(NULL); - for (i = 0U; i < 10000U; i++) { - size = 1U + randombytes_uniform(100000U); - buf = sodium_malloc(size); - assert(buf != NULL); - memset(buf, i, size); - sodium_mprotect_noaccess(buf); - sodium_free(buf); - } - printf("OK\n"); -#ifdef SIG_DFL -# ifdef SIGSEGV - signal(SIGSEGV, segv_handler); -# endif -# ifdef SIGBUS - signal(SIGBUS, segv_handler); -# endif -# ifdef SIGABRT - signal(SIGABRT, segv_handler); -# endif -#endif - size = 1U + randombytes_uniform(100000U); - buf = sodium_malloc(size); - assert(buf != NULL); - -/* old versions of asan emit a warning because they don't support mlock*() */ -#ifndef __SANITIZE_ADDRESS__ - sodium_mprotect_readonly(buf); - sodium_mprotect_readwrite(buf); -#endif - -#if defined(HAVE_CATCHABLE_SEGV) && !defined(__EMSCRIPTEN__) && !defined(__SANITIZE_ADDRESS__) - sodium_memzero(((unsigned char *) buf) + size, 1U); - sodium_mprotect_noaccess(buf); - sodium_free(buf); - printf("Overflow not caught\n"); -#else - segv_handler(0); -#endif - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/sodium_utils2.exp b/libsodium-1.0.18-RELEASE/test/default/sodium_utils2.exp deleted file mode 100644 index f796351..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sodium_utils2.exp +++ /dev/null @@ -1,3 +0,0 @@ -OK -Intentional segfault / bus error caught -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/sodium_utils3.c b/libsodium-1.0.18-RELEASE/test/default/sodium_utils3.c deleted file mode 100644 index a39f0ee..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sodium_utils3.c +++ /dev/null @@ -1,72 +0,0 @@ - -#include -#include - -#include -#include - -#define TEST_NAME "sodium_utils3" -#include "cmptest.h" - -#ifdef __SANITIZE_ADDRESS__ -# warning The sodium_utils3 test is expected to fail with address sanitizer -#endif - -__attribute__((noreturn)) static void -segv_handler(int sig) -{ - (void) sig; - - printf("Intentional segfault / bus error caught\n"); - printf("OK\n"); -#ifdef SIG_DFL -# ifdef SIGSEGV - signal(SIGSEGV, SIG_DFL); -# endif -# ifdef SIGBUS - signal(SIGBUS, SIG_DFL); -# endif -# ifdef SIGABRT - signal(SIGABRT, SIG_DFL); -# endif -#endif - exit(0); -} - -int -main(void) -{ - void * buf; - size_t size; - -#ifdef SIG_DFL -# ifdef SIGSEGV - signal(SIGSEGV, segv_handler); -# endif -# ifdef SIGBUS - signal(SIGBUS, segv_handler); -# endif -# ifdef SIGABRT - signal(SIGABRT, segv_handler); -# endif -#endif - size = 1U + randombytes_uniform(100000U); - buf = sodium_malloc(size); - assert(buf != NULL); - -/* old versions of asan emit a warning because they don't support mlock*() */ -#ifndef __SANITIZE_ADDRESS__ - sodium_mprotect_noaccess(buf); - sodium_mprotect_readwrite(buf); -#endif - -#if defined(HAVE_CATCHABLE_SEGV) && !defined(__EMSCRIPTEN__) && !defined(__SANITIZE_ADDRESS__) - sodium_memzero(((unsigned char *) buf) - 8, 8U); - sodium_mprotect_readonly(buf); - sodium_free(buf); - printf("Underflow not caught\n"); -#else - segv_handler(0); -#endif - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/sodium_utils3.exp b/libsodium-1.0.18-RELEASE/test/default/sodium_utils3.exp deleted file mode 100644 index 37e114f..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sodium_utils3.exp +++ /dev/null @@ -1,2 +0,0 @@ -Intentional segfault / bus error caught -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/sodium_version.c b/libsodium-1.0.18-RELEASE/test/default/sodium_version.c deleted file mode 100644 index 2a8fddb..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sodium_version.c +++ /dev/null @@ -1,18 +0,0 @@ - -#define TEST_NAME "sodium_version" -#include "cmptest.h" - -int -main(void) -{ - printf("%d\n", sodium_version_string() != NULL); - printf("%d\n", sodium_library_version_major() > 0); - printf("%d\n", sodium_library_version_minor() >= 0); -#ifdef SODIUM_LIBRARY_MINIMAL - assert(sodium_library_minimal() == 1); -#else - assert(sodium_library_minimal() == 0); -#endif - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/sodium_version.exp b/libsodium-1.0.18-RELEASE/test/default/sodium_version.exp deleted file mode 100644 index e8183f0..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/sodium_version.exp +++ /dev/null @@ -1,3 +0,0 @@ -1 -1 -1 diff --git a/libsodium-1.0.18-RELEASE/test/default/stream.c b/libsodium-1.0.18-RELEASE/test/default/stream.c deleted file mode 100644 index 87ef371..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/stream.c +++ /dev/null @@ -1,84 +0,0 @@ - -#define TEST_NAME "stream" -#include "cmptest.h" - -static const unsigned char firstkey[32] = { - 0x1b, 0x27, 0x55, 0x64, 0x73, 0xe9, 0x85, - 0xd4, 0x62, 0xcd, 0x51, 0x19, 0x7a, 0x9a, - 0x46, 0xc7, 0x60, 0x09, 0x54, 0x9e, 0xac, - 0x64, 0x74, 0xf2, 0x06, 0xc4, 0xee, 0x08, - 0x44, 0xf6, 0x83, 0x89 -}; - -static const unsigned char nonce[24] = { - 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, - 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8, - 0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19, - 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 -}; - -int -main(void) -{ - unsigned char h[32]; - char *hex; - unsigned char *output; - size_t sizeof_hex = 17 * 64 * 2 + 1; - size_t sizeof_output = 4194304; - int i; - - output = (unsigned char *) sodium_malloc(sizeof_output); - hex = (char *) sodium_malloc(sizeof_hex); - - randombytes_buf(output, sizeof_output); - crypto_stream(output, sizeof_output, nonce, firstkey); - crypto_hash_sha256(h, output, sizeof_output); - sodium_bin2hex(hex, sizeof_hex, h, sizeof h); - printf("%s\n", hex); - - assert(sizeof_output > 4000); - - crypto_stream_xsalsa20_xor_ic(output, output, 4000, nonce, 0U, firstkey); - for (i = 0; i < 4000; i++) { - assert(output[i] == 0); - } - crypto_stream_xsalsa20_xor_ic(output, output, 4000, nonce, 1U, firstkey); - crypto_hash_sha256(h, output, sizeof_output); - sodium_bin2hex(hex, sizeof_hex, h, sizeof h); - printf("%s\n", hex); - - for (i = 0; i < 64; i++) { - memset(output, i, 64); - crypto_stream(output, (int) (i & 0xff), nonce, firstkey); - sodium_bin2hex(hex, sizeof_hex, output, 64); - printf("%s\n", hex); - } - - memset(output, 0, 192); - crypto_stream_xsalsa20_xor_ic(output, output, 192, nonce, - (1ULL << 32) - 1ULL, firstkey); - sodium_bin2hex(hex, 192 * 2 + 1, output, 192); - printf("%s\n", hex); - - for (i = 16; i > 0; i--) { - memset(output, 0, 17 * 64); - crypto_stream_xsalsa20_xor_ic(output, output, 17 * 64, nonce, - (1ULL << 32) - (unsigned long long) i, - firstkey); - sodium_bin2hex(hex, 2 * 17 * 64 + 1, output, 17 * 64); - printf("%s\n", hex); - } - - sodium_free(hex); - sodium_free(output); - - assert(crypto_stream_keybytes() > 0U); - assert(crypto_stream_noncebytes() > 0U); - assert(crypto_stream_messagebytes_max() > 0U); - assert(strcmp(crypto_stream_primitive(), "xsalsa20") == 0); - assert(crypto_stream_keybytes() == crypto_stream_xsalsa20_keybytes()); - assert(crypto_stream_noncebytes() == crypto_stream_xsalsa20_noncebytes()); - assert(crypto_stream_messagebytes_max() == crypto_stream_xsalsa20_messagebytes_max()); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/stream.exp b/libsodium-1.0.18-RELEASE/test/default/stream.exp deleted file mode 100644 index 68ff67b..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/stream.exp +++ /dev/null @@ -1,83 +0,0 @@ -662b9d0e3463029156069b12f918691a98f7dfb2ca0393c96bbfc6b1fbd630a2 -0cc9ffaf60a99d221b548e9762385a231121ab226d1c610d2661ced26b6ad5ee -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -ee010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 -eea60202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202 -eea6a703030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303 -eea6a725040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404 -eea6a7251c0505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505 -eea6a7251c1e06060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606 -eea6a7251c1e72070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707 -eea6a7251c1e72910808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808 -eea6a7251c1e72916d09090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909 -eea6a7251c1e72916d110a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a -eea6a7251c1e72916d11c20b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b -eea6a7251c1e72916d11c2cb0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c -eea6a7251c1e72916d11c2cb210d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d -eea6a7251c1e72916d11c2cb214d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e -eea6a7251c1e72916d11c2cb214d3c0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f -eea6a7251c1e72916d11c2cb214d3c25101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 -eea6a7251c1e72916d11c2cb214d3c25251111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 -eea6a7251c1e72916d11c2cb214d3c25253912121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212 -eea6a7251c1e72916d11c2cb214d3c25253912131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313 -eea6a7251c1e72916d11c2cb214d3c252539121d1414141414141414141414141414141414141414141414141414141414141414141414141414141414141414 -eea6a7251c1e72916d11c2cb214d3c252539121d8e15151515151515151515151515151515151515151515151515151515151515151515151515151515151515 -eea6a7251c1e72916d11c2cb214d3c252539121d8e23161616161616161616161616161616161616161616161616161616161616161616161616161616161616 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e1717171717171717171717171717171717171717171717171717171717171717171717171717171717 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e6518181818181818181818181818181818181818181818181818181818181818181818181818181818 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d191919191919191919191919191919191919191919191919191919191919191919191919191919 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651f1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa41c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c81d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cf1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff81f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff8802020202020202020202020202020202020202020202020202020202020202020 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff8803021212121212121212121212121212121212121212121212121212121212121 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e222222222222222222222222222222222222222222222222222222222222 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e642323232323232323232323232323232323232323232323232323232323 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a24242424242424242424242424242424242424242424242424242424 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74252525252525252525252525252525252525252525252525252525 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e92626262626262626262626262626262626262626262626262626 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e027272727272727272727272727272727272727272727272727 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a6282828282828282828282828282828282828282828282828 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d2929292929292929292929292929292929292929292929 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d822a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d82432b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243ac2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd92d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9172e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177a2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab530303030303030303030303030303030 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a313131313131313131313131313131 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1b3232323232323232323232323232 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb33333333333333333333333333 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d343434343434343434343434 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a3535353535353535353535 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f36363636363636363636 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d373737373737373737 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d703838383838383838 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c39393939393939 -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c093a3a3a3a3a3a -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c093c3b3b3b3b3b -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c093c5e3c3c3c3c -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c093c5e553d3d3d -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c093c5e55853e3e -eea6a7251c1e72916d11c2cb214d3c252539121d8e234e652d651fa4c8cff880309e645a74e9e0a60d8243acd9177ab51a1beb8d5a2f5d700c093c5e5585573f -b46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44 -e825afc24db1b82ca241ef61bbd68003af106fbc07c41df1493b963b5ce45b72540ababca323c71ca3c903e1eec355121fbe9fad8bef90721c819eeba906ef7300b84696929a86d2a95aacebef2f38c489617398a39bc36762b5de6ccf544dde7fa47a839e3bf36903e3b7e9539c5c1c1794cfc991a414e2eef16bcf1b16d07cfb1ff0d77e5940a858f9025563334efeea808e3a82a54a0998e5587fddcb8b48e05de4cdb6ed1df7ddfca886d7122590844bc060178e13ba22a3c60f6fd53bb48f12931a32c81cbdde25e2fe3141682ff0443a9fb890e0520d328f91e19c4c0b0d05bd391351459dd5b15da237cfb3c36c95cfbfb076637b9181d9d9b42ae8ee3655eef4662a0c8737e5620ed7760a577afac32aa37baa35323a52287dfba632abcbff3e40aee172648c3d6f8e468262a49bbc2fb7876e97bb9d06ce6038e9eb425927287fb9ac67e41be494a883668602f4fcf76cc2c6bc62c3240bb63c233316630a645d5309af5c49813b8cc23e149ce40db089c7124431935e93fcc34dd1326fc6b1b8e71c37a3ee97a334f2c6bf579c5e986858a88b07136dd6b254543b16e14f38c7cb22cdb41a9028e3a6af9233c45ba06d1667746d48fc7b5c47601237fb2bde1e5a5551a1b4bf848734310103edb75a815e4ced8be43163ca13b3e399e91bf32b28de0b37c17d155f7129e23aec3deb2416122d7008a5684d5d0080f15e5eef787d292097cd781b3f95449b5f5a059a2cfbcd2cb10cc88a4759f2227f20d550c4cee567ab3e297191e8f1c3d537f1fc265c93ce900ae588d7d6a971cb0f0ae663a41347797bc4384568e439e10fa3cb24fefddf51202b17e35e5e3aba42fb067d15854bdeb400e8e96dfd097d5ffa793f3135cc819edefbf18c26c7e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe -00b84696929a86d2a95aacebef2f38c489617398a39bc36762b5de6ccf544dde7fa47a839e3bf36903e3b7e9539c5c1c1794cfc991a414e2eef16bcf1b16d07cfb1ff0d77e5940a858f9025563334efeea808e3a82a54a0998e5587fddcb8b48e05de4cdb6ed1df7ddfca886d7122590844bc060178e13ba22a3c60f6fd53bb48f12931a32c81cbdde25e2fe3141682ff0443a9fb890e0520d328f91e19c4c0b0d05bd391351459dd5b15da237cfb3c36c95cfbfb076637b9181d9d9b42ae8ee3655eef4662a0c8737e5620ed7760a577afac32aa37baa35323a52287dfba632abcbff3e40aee172648c3d6f8e468262a49bbc2fb7876e97bb9d06ce6038e9eb425927287fb9ac67e41be494a883668602f4fcf76cc2c6bc62c3240bb63c233316630a645d5309af5c49813b8cc23e149ce40db089c7124431935e93fcc34dd1326fc6b1b8e71c37a3ee97a334f2c6bf579c5e986858a88b07136dd6b254543b16e14f38c7cb22cdb41a9028e3a6af9233c45ba06d1667746d48fc7b5c47601237fb2bde1e5a5551a1b4bf848734310103edb75a815e4ced8be43163ca13b3e399e91bf32b28de0b37c17d155f7129e23aec3deb2416122d7008a5684d5d0080f15e5eef787d292097cd781b3f95449b5f5a059a2cfbcd2cb10cc88a4759f2227f20d550c4cee567ab3e297191e8f1c3d537f1fc265c93ce900ae588d7d6a971cb0f0ae663a41347797bc4384568e439e10fa3cb24fefddf51202b17e35e5e3aba42fb067d15854bdeb400e8e96dfd097d5ffa793f3135cc819edefbf18c26c7e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44 -fb1ff0d77e5940a858f9025563334efeea808e3a82a54a0998e5587fddcb8b48e05de4cdb6ed1df7ddfca886d7122590844bc060178e13ba22a3c60f6fd53bb48f12931a32c81cbdde25e2fe3141682ff0443a9fb890e0520d328f91e19c4c0b0d05bd391351459dd5b15da237cfb3c36c95cfbfb076637b9181d9d9b42ae8ee3655eef4662a0c8737e5620ed7760a577afac32aa37baa35323a52287dfba632abcbff3e40aee172648c3d6f8e468262a49bbc2fb7876e97bb9d06ce6038e9eb425927287fb9ac67e41be494a883668602f4fcf76cc2c6bc62c3240bb63c233316630a645d5309af5c49813b8cc23e149ce40db089c7124431935e93fcc34dd1326fc6b1b8e71c37a3ee97a334f2c6bf579c5e986858a88b07136dd6b254543b16e14f38c7cb22cdb41a9028e3a6af9233c45ba06d1667746d48fc7b5c47601237fb2bde1e5a5551a1b4bf848734310103edb75a815e4ced8be43163ca13b3e399e91bf32b28de0b37c17d155f7129e23aec3deb2416122d7008a5684d5d0080f15e5eef787d292097cd781b3f95449b5f5a059a2cfbcd2cb10cc88a4759f2227f20d550c4cee567ab3e297191e8f1c3d537f1fc265c93ce900ae588d7d6a971cb0f0ae663a41347797bc4384568e439e10fa3cb24fefddf51202b17e35e5e3aba42fb067d15854bdeb400e8e96dfd097d5ffa793f3135cc819edefbf18c26c7e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef5 -8f12931a32c81cbdde25e2fe3141682ff0443a9fb890e0520d328f91e19c4c0b0d05bd391351459dd5b15da237cfb3c36c95cfbfb076637b9181d9d9b42ae8ee3655eef4662a0c8737e5620ed7760a577afac32aa37baa35323a52287dfba632abcbff3e40aee172648c3d6f8e468262a49bbc2fb7876e97bb9d06ce6038e9eb425927287fb9ac67e41be494a883668602f4fcf76cc2c6bc62c3240bb63c233316630a645d5309af5c49813b8cc23e149ce40db089c7124431935e93fcc34dd1326fc6b1b8e71c37a3ee97a334f2c6bf579c5e986858a88b07136dd6b254543b16e14f38c7cb22cdb41a9028e3a6af9233c45ba06d1667746d48fc7b5c47601237fb2bde1e5a5551a1b4bf848734310103edb75a815e4ced8be43163ca13b3e399e91bf32b28de0b37c17d155f7129e23aec3deb2416122d7008a5684d5d0080f15e5eef787d292097cd781b3f95449b5f5a059a2cfbcd2cb10cc88a4759f2227f20d550c4cee567ab3e297191e8f1c3d537f1fc265c93ce900ae588d7d6a971cb0f0ae663a41347797bc4384568e439e10fa3cb24fefddf51202b17e35e5e3aba42fb067d15854bdeb400e8e96dfd097d5ffa793f3135cc819edefbf18c26c7e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0 -3655eef4662a0c8737e5620ed7760a577afac32aa37baa35323a52287dfba632abcbff3e40aee172648c3d6f8e468262a49bbc2fb7876e97bb9d06ce6038e9eb425927287fb9ac67e41be494a883668602f4fcf76cc2c6bc62c3240bb63c233316630a645d5309af5c49813b8cc23e149ce40db089c7124431935e93fcc34dd1326fc6b1b8e71c37a3ee97a334f2c6bf579c5e986858a88b07136dd6b254543b16e14f38c7cb22cdb41a9028e3a6af9233c45ba06d1667746d48fc7b5c47601237fb2bde1e5a5551a1b4bf848734310103edb75a815e4ced8be43163ca13b3e399e91bf32b28de0b37c17d155f7129e23aec3deb2416122d7008a5684d5d0080f15e5eef787d292097cd781b3f95449b5f5a059a2cfbcd2cb10cc88a4759f2227f20d550c4cee567ab3e297191e8f1c3d537f1fc265c93ce900ae588d7d6a971cb0f0ae663a41347797bc4384568e439e10fa3cb24fefddf51202b17e35e5e3aba42fb067d15854bdeb400e8e96dfd097d5ffa793f3135cc819edefbf18c26c7e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58 -425927287fb9ac67e41be494a883668602f4fcf76cc2c6bc62c3240bb63c233316630a645d5309af5c49813b8cc23e149ce40db089c7124431935e93fcc34dd1326fc6b1b8e71c37a3ee97a334f2c6bf579c5e986858a88b07136dd6b254543b16e14f38c7cb22cdb41a9028e3a6af9233c45ba06d1667746d48fc7b5c47601237fb2bde1e5a5551a1b4bf848734310103edb75a815e4ced8be43163ca13b3e399e91bf32b28de0b37c17d155f7129e23aec3deb2416122d7008a5684d5d0080f15e5eef787d292097cd781b3f95449b5f5a059a2cfbcd2cb10cc88a4759f2227f20d550c4cee567ab3e297191e8f1c3d537f1fc265c93ce900ae588d7d6a971cb0f0ae663a41347797bc4384568e439e10fa3cb24fefddf51202b17e35e5e3aba42fb067d15854bdeb400e8e96dfd097d5ffa793f3135cc819edefbf18c26c7e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbb -326fc6b1b8e71c37a3ee97a334f2c6bf579c5e986858a88b07136dd6b254543b16e14f38c7cb22cdb41a9028e3a6af9233c45ba06d1667746d48fc7b5c47601237fb2bde1e5a5551a1b4bf848734310103edb75a815e4ced8be43163ca13b3e399e91bf32b28de0b37c17d155f7129e23aec3deb2416122d7008a5684d5d0080f15e5eef787d292097cd781b3f95449b5f5a059a2cfbcd2cb10cc88a4759f2227f20d550c4cee567ab3e297191e8f1c3d537f1fc265c93ce900ae588d7d6a971cb0f0ae663a41347797bc4384568e439e10fa3cb24fefddf51202b17e35e5e3aba42fb067d15854bdeb400e8e96dfd097d5ffa793f3135cc819edefbf18c26c7e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbbf757c4d17aa607bc1decad9a65b8120adb7ef3b9d18a9c07226adf6f73f93c2ff79956f5e19b7c613dff1e907a8381863eb9ca536b44a3034cd522d6caa1766e -37fb2bde1e5a5551a1b4bf848734310103edb75a815e4ced8be43163ca13b3e399e91bf32b28de0b37c17d155f7129e23aec3deb2416122d7008a5684d5d0080f15e5eef787d292097cd781b3f95449b5f5a059a2cfbcd2cb10cc88a4759f2227f20d550c4cee567ab3e297191e8f1c3d537f1fc265c93ce900ae588d7d6a971cb0f0ae663a41347797bc4384568e439e10fa3cb24fefddf51202b17e35e5e3aba42fb067d15854bdeb400e8e96dfd097d5ffa793f3135cc819edefbf18c26c7e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbbf757c4d17aa607bc1decad9a65b8120adb7ef3b9d18a9c07226adf6f73f93c2ff79956f5e19b7c613dff1e907a8381863eb9ca536b44a3034cd522d6caa1766eda2dadd40a0f32380a30c0a0be3ad991007c8778ec855f0c2e9869718f07562ef2bce1d6fa7b551454eda2f86a514d0cd754188715d5f73cbe47d940b8a98a2d -f15e5eef787d292097cd781b3f95449b5f5a059a2cfbcd2cb10cc88a4759f2227f20d550c4cee567ab3e297191e8f1c3d537f1fc265c93ce900ae588d7d6a971cb0f0ae663a41347797bc4384568e439e10fa3cb24fefddf51202b17e35e5e3aba42fb067d15854bdeb400e8e96dfd097d5ffa793f3135cc819edefbf18c26c7e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbbf757c4d17aa607bc1decad9a65b8120adb7ef3b9d18a9c07226adf6f73f93c2ff79956f5e19b7c613dff1e907a8381863eb9ca536b44a3034cd522d6caa1766eda2dadd40a0f32380a30c0a0be3ad991007c8778ec855f0c2e9869718f07562ef2bce1d6fa7b551454eda2f86a514d0cd754188715d5f73cbe47d940b8a98a2de9cb66cba3830b2e732aa836df30b279f434ac98182114990d0b8d423813f75b5527dfa7982a167712380786bda08836976c21358a0d50e735f3efcb59ff69ac -cb0f0ae663a41347797bc4384568e439e10fa3cb24fefddf51202b17e35e5e3aba42fb067d15854bdeb400e8e96dfd097d5ffa793f3135cc819edefbf18c26c7e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbbf757c4d17aa607bc1decad9a65b8120adb7ef3b9d18a9c07226adf6f73f93c2ff79956f5e19b7c613dff1e907a8381863eb9ca536b44a3034cd522d6caa1766eda2dadd40a0f32380a30c0a0be3ad991007c8778ec855f0c2e9869718f07562ef2bce1d6fa7b551454eda2f86a514d0cd754188715d5f73cbe47d940b8a98a2de9cb66cba3830b2e732aa836df30b279f434ac98182114990d0b8d423813f75b5527dfa7982a167712380786bda08836976c21358a0d50e735f3efcb59ff69ace37ddc48ef2b83bcc1931cf6673dfa726ac5229b83be548b60416ed5c7daf3a3201db9aadd1ffe632a7d3012d94668d5191010dd35d8ba9dc881005e112f2808 -e7a830988e8e1612a06c2d1f3bc03efb7ce5ca6538c4be7ba033a8f369fc479d527ca82cbc8198ef815ba7946fb7f4e7f503d280bddc767e39c4fb0ed54c86065a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbbf757c4d17aa607bc1decad9a65b8120adb7ef3b9d18a9c07226adf6f73f93c2ff79956f5e19b7c613dff1e907a8381863eb9ca536b44a3034cd522d6caa1766eda2dadd40a0f32380a30c0a0be3ad991007c8778ec855f0c2e9869718f07562ef2bce1d6fa7b551454eda2f86a514d0cd754188715d5f73cbe47d940b8a98a2de9cb66cba3830b2e732aa836df30b279f434ac98182114990d0b8d423813f75b5527dfa7982a167712380786bda08836976c21358a0d50e735f3efcb59ff69ace37ddc48ef2b83bcc1931cf6673dfa726ac5229b83be548b60416ed5c7daf3a3201db9aadd1ffe632a7d3012d94668d5191010dd35d8ba9dc881005e112f28083f085c8094de717acd2516b631760110c176bff91d3e8cd4d2df79f79d450e54a5007e34caf791d9ac10aa98f45e52d987addf59f4beb5e62ef59e2e1b199413 -5a301ce502d083eeabcbcfd79dfc0de676d444c500d83d123367639d741e4fc4d87eea89f203fadd7e38f9a17b01a34ffe48f2469565751aca063c59614007c41aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbbf757c4d17aa607bc1decad9a65b8120adb7ef3b9d18a9c07226adf6f73f93c2ff79956f5e19b7c613dff1e907a8381863eb9ca536b44a3034cd522d6caa1766eda2dadd40a0f32380a30c0a0be3ad991007c8778ec855f0c2e9869718f07562ef2bce1d6fa7b551454eda2f86a514d0cd754188715d5f73cbe47d940b8a98a2de9cb66cba3830b2e732aa836df30b279f434ac98182114990d0b8d423813f75b5527dfa7982a167712380786bda08836976c21358a0d50e735f3efcb59ff69ace37ddc48ef2b83bcc1931cf6673dfa726ac5229b83be548b60416ed5c7daf3a3201db9aadd1ffe632a7d3012d94668d5191010dd35d8ba9dc881005e112f28083f085c8094de717acd2516b631760110c176bff91d3e8cd4d2df79f79d450e54a5007e34caf791d9ac10aa98f45e52d987addf59f4beb5e62ef59e2e1b1994131fa61652a5574f50fa159d47f8f28776e25e21b51103b91afc8345cfbedf46586e17269bfb521ae07f2cd202d308110abcb2b6f0157a55bc6aa6936812c1074d -1aff83247f8daae106f5cd50177b4b98388e6963cf51baaa1de17e90831b5977016aa71973485b4d8524b7aa4f6b7e0a8d994662b922aaab519ab0f8e0d1513ccf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbbf757c4d17aa607bc1decad9a65b8120adb7ef3b9d18a9c07226adf6f73f93c2ff79956f5e19b7c613dff1e907a8381863eb9ca536b44a3034cd522d6caa1766eda2dadd40a0f32380a30c0a0be3ad991007c8778ec855f0c2e9869718f07562ef2bce1d6fa7b551454eda2f86a514d0cd754188715d5f73cbe47d940b8a98a2de9cb66cba3830b2e732aa836df30b279f434ac98182114990d0b8d423813f75b5527dfa7982a167712380786bda08836976c21358a0d50e735f3efcb59ff69ace37ddc48ef2b83bcc1931cf6673dfa726ac5229b83be548b60416ed5c7daf3a3201db9aadd1ffe632a7d3012d94668d5191010dd35d8ba9dc881005e112f28083f085c8094de717acd2516b631760110c176bff91d3e8cd4d2df79f79d450e54a5007e34caf791d9ac10aa98f45e52d987addf59f4beb5e62ef59e2e1b1994131fa61652a5574f50fa159d47f8f28776e25e21b51103b91afc8345cfbedf46586e17269bfb521ae07f2cd202d308110abcb2b6f0157a55bc6aa6936812c1074dcd3dc1365d431608687e158b5b3622375e0ddda9cfccb2f16b4a966fc3ecababaa3ea4f8311b37c4578c4692a0d2bdd251c18a886c9b48671531db2759828959 -cf9906615f1bb36a01a9916b27484414e3f3b559e52cf3380b422df71eda463fd1ef24a8d84e82d9718fb46d51d13687352ea76737209d618e77119b066161e2d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbbf757c4d17aa607bc1decad9a65b8120adb7ef3b9d18a9c07226adf6f73f93c2ff79956f5e19b7c613dff1e907a8381863eb9ca536b44a3034cd522d6caa1766eda2dadd40a0f32380a30c0a0be3ad991007c8778ec855f0c2e9869718f07562ef2bce1d6fa7b551454eda2f86a514d0cd754188715d5f73cbe47d940b8a98a2de9cb66cba3830b2e732aa836df30b279f434ac98182114990d0b8d423813f75b5527dfa7982a167712380786bda08836976c21358a0d50e735f3efcb59ff69ace37ddc48ef2b83bcc1931cf6673dfa726ac5229b83be548b60416ed5c7daf3a3201db9aadd1ffe632a7d3012d94668d5191010dd35d8ba9dc881005e112f28083f085c8094de717acd2516b631760110c176bff91d3e8cd4d2df79f79d450e54a5007e34caf791d9ac10aa98f45e52d987addf59f4beb5e62ef59e2e1b1994131fa61652a5574f50fa159d47f8f28776e25e21b51103b91afc8345cfbedf46586e17269bfb521ae07f2cd202d308110abcb2b6f0157a55bc6aa6936812c1074dcd3dc1365d431608687e158b5b3622375e0ddda9cfccb2f16b4a966fc3ecababaa3ea4f8311b37c4578c4692a0d2bdd251c18a886c9b48671531db27598289593cf82813da4f43eb854142ef39c4e5950f86b29e291737413396ae4c62f4472fe12659e12b61b84619a96b03a386dd6adb6b74ce09bc11330482e01564d3eb1a -d93cc6ac5cb77a7a0d14988e3355e07a2f02bed2f8cec08807c544efd8ccc5ca3475e8be3143997d402aecfb56e80697f57179e6d631e38741ff3ef57a7ff80cb46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbbf757c4d17aa607bc1decad9a65b8120adb7ef3b9d18a9c07226adf6f73f93c2ff79956f5e19b7c613dff1e907a8381863eb9ca536b44a3034cd522d6caa1766eda2dadd40a0f32380a30c0a0be3ad991007c8778ec855f0c2e9869718f07562ef2bce1d6fa7b551454eda2f86a514d0cd754188715d5f73cbe47d940b8a98a2de9cb66cba3830b2e732aa836df30b279f434ac98182114990d0b8d423813f75b5527dfa7982a167712380786bda08836976c21358a0d50e735f3efcb59ff69ace37ddc48ef2b83bcc1931cf6673dfa726ac5229b83be548b60416ed5c7daf3a3201db9aadd1ffe632a7d3012d94668d5191010dd35d8ba9dc881005e112f28083f085c8094de717acd2516b631760110c176bff91d3e8cd4d2df79f79d450e54a5007e34caf791d9ac10aa98f45e52d987addf59f4beb5e62ef59e2e1b1994131fa61652a5574f50fa159d47f8f28776e25e21b51103b91afc8345cfbedf46586e17269bfb521ae07f2cd202d308110abcb2b6f0157a55bc6aa6936812c1074dcd3dc1365d431608687e158b5b3622375e0ddda9cfccb2f16b4a966fc3ecababaa3ea4f8311b37c4578c4692a0d2bdd251c18a886c9b48671531db27598289593cf82813da4f43eb854142ef39c4e5950f86b29e291737413396ae4c62f4472fe12659e12b61b84619a96b03a386dd6adb6b74ce09bc11330482e01564d3eb1a688a80b912ad6d8ce2b939e06e7ecc18c358772ea0c92e82ef26d9bbe342a18babc0d54f676ed9c380fc990a7d576c958d19f6e15fda4fe08752bb8d1eedb05f -b46af0bf761b78533e01a0dd7e07216c9710ef35f09a28d1e5fa469b602472ca5085f6dbcc6a6b51fb89986f8feca85658d05701f5677d0bb340a1f2c769547219f5420c62ffff7d1304dad82b6dec2bdc59ec12a9e18a774eed128c2c90610a9d4c75c0817d64817a76bbc12746971ae897af210a072c1bc9fb044e086b7bfe85fad95d5c2bbb28c12de5755b1ccde63e93cc892b4d2bcbd7dc0706b094c2492e329e3b9a98a9cbc7d01031cf1d5861f576e1291df6286c28146b0b4df9ad44a8d40ce05f73fa3de1a92f948c38fe88a296db696a16742c5073aed1f26c6289675c28c763ab90a070b643ecf1c50f4165b82cf5b8eda4137903765f42cbaef571f6303486a899aef83ca9c8c1e53af717293a6e219675aa1f479eac02d30df16649fc1c83b24855617385b5330b054c13f8fe8670ea2383552fe7fa096a6ff0d90d3922c26b77fb632041df8a3c585f295488aa98d73bc6a3a43eac5644b59440e02ed8a6b9a8acb9f33e732c1850ed6f811975a84b65cb8775df2f55f15f58af8a27936cf507dcc7ec480ffce410373c81374fddcbad758a1976894d58e68d84f3da8a0bbbfd3d62d09679378ee94686866e0ef101e05ccb7cc8fdf6f31cbbf757c4d17aa607bc1decad9a65b8120adb7ef3b9d18a9c07226adf6f73f93c2ff79956f5e19b7c613dff1e907a8381863eb9ca536b44a3034cd522d6caa1766eda2dadd40a0f32380a30c0a0be3ad991007c8778ec855f0c2e9869718f07562ef2bce1d6fa7b551454eda2f86a514d0cd754188715d5f73cbe47d940b8a98a2de9cb66cba3830b2e732aa836df30b279f434ac98182114990d0b8d423813f75b5527dfa7982a167712380786bda08836976c21358a0d50e735f3efcb59ff69ace37ddc48ef2b83bcc1931cf6673dfa726ac5229b83be548b60416ed5c7daf3a3201db9aadd1ffe632a7d3012d94668d5191010dd35d8ba9dc881005e112f28083f085c8094de717acd2516b631760110c176bff91d3e8cd4d2df79f79d450e54a5007e34caf791d9ac10aa98f45e52d987addf59f4beb5e62ef59e2e1b1994131fa61652a5574f50fa159d47f8f28776e25e21b51103b91afc8345cfbedf46586e17269bfb521ae07f2cd202d308110abcb2b6f0157a55bc6aa6936812c1074dcd3dc1365d431608687e158b5b3622375e0ddda9cfccb2f16b4a966fc3ecababaa3ea4f8311b37c4578c4692a0d2bdd251c18a886c9b48671531db27598289593cf82813da4f43eb854142ef39c4e5950f86b29e291737413396ae4c62f4472fe12659e12b61b84619a96b03a386dd6adb6b74ce09bc11330482e01564d3eb1a688a80b912ad6d8ce2b939e06e7ecc18c358772ea0c92e82ef26d9bbe342a18babc0d54f676ed9c380fc990a7d576c958d19f6e15fda4fe08752bb8d1eedb05fbb420713aa2c9df64fc3fcb136d739466a36b38c515e44b1fd8e04717ab838bb8ad38ee6613c173d1d973f478cb0abcd6e69ac2570b8c9b78264ceb9d4a975c8 diff --git a/libsodium-1.0.18-RELEASE/test/default/stream2.c b/libsodium-1.0.18-RELEASE/test/default/stream2.c deleted file mode 100644 index 1e178a4..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/stream2.c +++ /dev/null @@ -1,59 +0,0 @@ - -#define TEST_NAME "stream2" -#include "cmptest.h" - -static const unsigned char secondkey[32] = { - 0xdc, 0x90, 0x8d, 0xda, 0x0b, 0x93, 0x44, - 0xa9, 0x53, 0x62, 0x9b, 0x73, 0x38, 0x20, - 0x77, 0x88, 0x80, 0xf3, 0xce, 0xb4, 0x21, - 0xbb, 0x61, 0xb9, 0x1c, 0xbd, 0x4c, 0x3e, - 0x66, 0x25, 0x6c, 0xe4 -}; - -static const unsigned char noncesuffix[8] = { - 0x82, 0x19, 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 -}; - - - -int -main(void) -{ - unsigned char *output; - char *hex; - unsigned char h[32]; - size_t sizeof_hex = 32 * 2 + 1; - size_t sizeof_output = 4194304; - int i; - - output = (unsigned char *) sodium_malloc(sizeof_output); - hex = (char *) sodium_malloc(sizeof_hex); - - crypto_stream_salsa20(output, sizeof_output, noncesuffix, secondkey); - crypto_hash_sha256(h, output, sizeof_output); - sodium_bin2hex(hex, sizeof_hex, h, sizeof h); - printf("%s\n", hex); - - assert(sizeof_output > 4000); - - crypto_stream_salsa20_xor_ic(output, output, 4000, noncesuffix, 0U, - secondkey); - for (i = 0; i < 4000; i++) { - assert(output[i] == 0); - } - - crypto_stream_salsa20_xor_ic(output, output, 4000, noncesuffix, 1U, - secondkey); - crypto_hash_sha256(h, output, sizeof_output); - sodium_bin2hex(hex, sizeof_hex, h, sizeof h); - printf("%s\n", hex); - - sodium_free(hex); - sodium_free(output); - - assert(crypto_stream_salsa20_keybytes() > 0U); - assert(crypto_stream_salsa20_noncebytes() > 0U); - assert(crypto_stream_salsa20_messagebytes_max() > 0U); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/stream2.exp b/libsodium-1.0.18-RELEASE/test/default/stream2.exp deleted file mode 100644 index 23054b7..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/stream2.exp +++ /dev/null @@ -1,2 +0,0 @@ -662b9d0e3463029156069b12f918691a98f7dfb2ca0393c96bbfc6b1fbd630a2 -0cc9ffaf60a99d221b548e9762385a231121ab226d1c610d2661ced26b6ad5ee diff --git a/libsodium-1.0.18-RELEASE/test/default/stream3.c b/libsodium-1.0.18-RELEASE/test/default/stream3.c deleted file mode 100644 index 4ed646f..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/stream3.c +++ /dev/null @@ -1,31 +0,0 @@ - -#define TEST_NAME "stream3" -#include "cmptest.h" - -static unsigned char firstkey[32] = { 0x1b, 0x27, 0x55, 0x64, 0x73, 0xe9, 0x85, - 0xd4, 0x62, 0xcd, 0x51, 0x19, 0x7a, 0x9a, - 0x46, 0xc7, 0x60, 0x09, 0x54, 0x9e, 0xac, - 0x64, 0x74, 0xf2, 0x06, 0xc4, 0xee, 0x08, - 0x44, 0xf6, 0x83, 0x89 }; - -static unsigned char nonce[24] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, - 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8, - 0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19, - 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 }; - -static unsigned char rs[32]; - -int -main(void) -{ - int i; - - crypto_stream(rs, 32, nonce, firstkey); - - for (i = 0; i < 32; ++i) { - printf(",0x%02x", (unsigned int) rs[i]); - if (i % 8 == 7) - printf("\n"); - } - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/stream3.exp b/libsodium-1.0.18-RELEASE/test/default/stream3.exp deleted file mode 100644 index 9cd7879..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/stream3.exp +++ /dev/null @@ -1,4 +0,0 @@ -,0xee,0xa6,0xa7,0x25,0x1c,0x1e,0x72,0x91 -,0x6d,0x11,0xc2,0xcb,0x21,0x4d,0x3c,0x25 -,0x25,0x39,0x12,0x1d,0x8e,0x23,0x4e,0x65 -,0x2d,0x65,0x1f,0xa4,0xc8,0xcf,0xf8,0x80 diff --git a/libsodium-1.0.18-RELEASE/test/default/stream4.c b/libsodium-1.0.18-RELEASE/test/default/stream4.c deleted file mode 100644 index 38f43f8..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/stream4.c +++ /dev/null @@ -1,50 +0,0 @@ - -#define TEST_NAME "stream4" -#include "cmptest.h" - -static unsigned char firstkey[32] = { 0x1b, 0x27, 0x55, 0x64, 0x73, 0xe9, 0x85, - 0xd4, 0x62, 0xcd, 0x51, 0x19, 0x7a, 0x9a, - 0x46, 0xc7, 0x60, 0x09, 0x54, 0x9e, 0xac, - 0x64, 0x74, 0xf2, 0x06, 0xc4, 0xee, 0x08, - 0x44, 0xf6, 0x83, 0x89 }; - -static unsigned char nonce[24] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, - 0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8, - 0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19, - 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 }; - -static unsigned char m[163] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0xbe, 0x07, 0x5f, 0xc5, - 0x3c, 0x81, 0xf2, 0xd5, 0xcf, 0x14, 0x13, 0x16, 0xeb, 0xeb, 0x0c, 0x7b, - 0x52, 0x28, 0xc5, 0x2a, 0x4c, 0x62, 0xcb, 0xd4, 0x4b, 0x66, 0x84, 0x9b, - 0x64, 0x24, 0x4f, 0xfc, 0xe5, 0xec, 0xba, 0xaf, 0x33, 0xbd, 0x75, 0x1a, - 0x1a, 0xc7, 0x28, 0xd4, 0x5e, 0x6c, 0x61, 0x29, 0x6c, 0xdc, 0x3c, 0x01, - 0x23, 0x35, 0x61, 0xf4, 0x1d, 0xb6, 0x6c, 0xce, 0x31, 0x4a, 0xdb, 0x31, - 0x0e, 0x3b, 0xe8, 0x25, 0x0c, 0x46, 0xf0, 0x6d, 0xce, 0xea, 0x3a, 0x7f, - 0xa1, 0x34, 0x80, 0x57, 0xe2, 0xf6, 0x55, 0x6a, 0xd6, 0xb1, 0x31, 0x8a, - 0x02, 0x4a, 0x83, 0x8f, 0x21, 0xaf, 0x1f, 0xde, 0x04, 0x89, 0x77, 0xeb, - 0x48, 0xf5, 0x9f, 0xfd, 0x49, 0x24, 0xca, 0x1c, 0x60, 0x90, 0x2e, 0x52, - 0xf0, 0xa0, 0x89, 0xbc, 0x76, 0x89, 0x70, 0x40, 0xe0, 0x82, 0xf9, 0x37, - 0x76, 0x38, 0x48, 0x64, 0x5e, 0x07, 0x05 -}; - -static unsigned char c[163]; - -int -main(void) -{ - int i; - - crypto_stream_xor(c, m, 163, nonce, firstkey); - - for (i = 32; i < 163; ++i) { - printf(",0x%02x", (unsigned int) c[i]); - if (i % 8 == 7) - printf("\n"); - } - printf("\n"); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/stream4.exp b/libsodium-1.0.18-RELEASE/test/default/stream4.exp deleted file mode 100644 index 0d3d8e9..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/stream4.exp +++ /dev/null @@ -1,17 +0,0 @@ -,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73 -,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce -,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4 -,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a -,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b -,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72 -,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2 -,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38 -,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a -,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae -,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea -,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda -,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde -,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3 -,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6 -,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74 -,0xe3,0x55,0xa5 diff --git a/libsodium-1.0.18-RELEASE/test/default/verify1.c b/libsodium-1.0.18-RELEASE/test/default/verify1.c deleted file mode 100644 index 68257c9..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/verify1.c +++ /dev/null @@ -1,76 +0,0 @@ - -#define TEST_NAME "verify1" -#include "cmptest.h" - -int -main(void) -{ - unsigned char *v16, *v16x; - unsigned char *v32, *v32x; - unsigned char *v64, *v64x; - uint32_t r; - uint8_t o; - int i; - - v16 = (unsigned char *) sodium_malloc(16); - v16x = (unsigned char *) sodium_malloc(16); - v32 = (unsigned char *) sodium_malloc(32); - v32x = (unsigned char *) sodium_malloc(32); - v64 = (unsigned char *) sodium_malloc(64); - v64x = (unsigned char *) sodium_malloc(64); - for (i = 0; i < 10000; i++) { - randombytes_buf(v16, 16); - randombytes_buf(v32, 32); - randombytes_buf(v64, 64); - - memcpy(v16x, v16, 16); - memcpy(v32x, v32, 32); - memcpy(v64x, v64, 64); - - if (crypto_verify_16(v16, v16x) != 0 || - crypto_verify_32(v32, v32x) != 0 || - crypto_verify_64(v64, v64x) != 0 || - sodium_memcmp(v16, v16x, 16) != 0 || - sodium_memcmp(v32, v32x, 32) != 0 || - sodium_memcmp(v64, v64x, 64) != 0) { - printf("Failed\n"); - } - } - printf("OK\n"); - - for (i = 0; i < 100000; i++) { - r = randombytes_random(); - o = (uint8_t) randombytes_random(); - if (o == 0) { - continue; - } - v16x[r & 15U] ^= o; - v32x[r & 31U] ^= o; - v64x[r & 63U] ^= o; - if (crypto_verify_16(v16, v16x) != -1 || - crypto_verify_32(v32, v32x) != -1 || - crypto_verify_64(v64, v64x) != -1 || - sodium_memcmp(v16, v16x, 16) != -1 || - sodium_memcmp(v32, v32x, 32) != -1 || - sodium_memcmp(v64, v64x, 64) != -1) { - printf("Failed\n"); - } - v16x[r & 15U] ^= o; - v32x[r & 31U] ^= o; - v64x[r & 63U] ^= o; - } - printf("OK\n"); - - assert(crypto_verify_16_bytes() == 16U); - assert(crypto_verify_32_bytes() == 32U); - assert(crypto_verify_64_bytes() == 64U); - - sodium_free(v16); - sodium_free(v16x); - sodium_free(v32); - sodium_free(v32x); - sodium_free(v64); - sodium_free(v64x); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/verify1.exp b/libsodium-1.0.18-RELEASE/test/default/verify1.exp deleted file mode 100644 index 2c94e48..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/verify1.exp +++ /dev/null @@ -1,2 +0,0 @@ -OK -OK diff --git a/libsodium-1.0.18-RELEASE/test/default/wasi-test-wrapper.sh b/libsodium-1.0.18-RELEASE/test/default/wasi-test-wrapper.sh deleted file mode 100644 index af64884..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/wasi-test-wrapper.sh +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/sh - -MAX_MEMORY_TESTS="67108864" - -if [ -z "$WASI_RUNTIME" ] || [ "$WASI_RUNTIME" = "wasmtime" ]; then - if command -v wasmtime >/dev/null; then - wasmtime -o --dir=. "$1" && exit 0 - fi -fi - -if [ -z "$WASI_RUNTIME" ] || [ "$WASI_RUNTIME" = "lucet" ]; then - if command -v lucetc-wasi >/dev/null && command -v lucet-wasi >/dev/null; then - lucetc-wasi \ - --reserved-size "${MAX_MEMORY_TESTS}" \ - -o "${1}.so" --opt-level fast "$1" && - lucet-wasi --dir=.:. --max-heap-size "${MAX_MEMORY_TESTS}" "${1}.so" && - rm -f "${1}.so" && exit 0 - fi -fi - -if [ -z "$WASI_RUNTIME" ] || [ "$WASI_RUNTIME" = "wasmer" ]; then - if command -v wasmer >/dev/null; then - wasmer run "$1" --backend "${WASMER_BACKEND:-cranelift}" --dir=. && exit 0 - fi -fi - -echo "WebAssembly runtime failed" >&2 -exit 1 diff --git a/libsodium-1.0.18-RELEASE/test/default/wintest.bat b/libsodium-1.0.18-RELEASE/test/default/wintest.bat deleted file mode 100644 index e50fb49..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/wintest.bat +++ /dev/null @@ -1,56 +0,0 @@ -@ECHO OFF - -if "%1" == "" ( - echo "Usage: wintest.bat NUL 2>&1 - if not exist %%f.exe ( - echo %%f compile failed - goto :END - ) - %%f.exe - if errorlevel 1 ( - echo %%f failed - ) else ( - echo %%f ok - ) -) -REM Remove temporary files -del *.exe *.obj *.res -:END diff --git a/libsodium-1.0.18-RELEASE/test/default/xchacha20.c b/libsodium-1.0.18-RELEASE/test/default/xchacha20.c deleted file mode 100644 index 07eafcc..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/xchacha20.c +++ /dev/null @@ -1,428 +0,0 @@ - -#define TEST_NAME "xchacha20" -#include "cmptest.h" - -typedef struct HChaCha20TV_ { - const char key[crypto_core_hchacha20_KEYBYTES * 2 + 1]; - const char in[crypto_core_hchacha20_INPUTBYTES * 2 + 1]; - const char out[crypto_core_hchacha20_OUTPUTBYTES * 2 + 1]; -} HChaCha20TV; - -static const unsigned char small_order_p[crypto_scalarmult_BYTES] = { - 0xe0, 0xeb, 0x7a, 0x7c, 0x3b, 0x41, 0xb8, 0xae, 0x16, 0x56, 0xe3, - 0xfa, 0xf1, 0x9f, 0xc4, 0x6a, 0xda, 0x09, 0x8d, 0xeb, 0x9c, 0x32, - 0xb1, 0xfd, 0x86, 0x62, 0x05, 0x16, 0x5f, 0x49, 0xb8, 0x00 -}; - -static void -tv_hchacha20(void) -{ - static const HChaCha20TV tvs[] = { - { "24f11cce8a1b3d61e441561a696c1c1b7e173d084fd4812425435a8896a013dc", "d9660c5900ae19ddad28d6e06e45fe5e", "5966b3eec3bff1189f831f06afe4d4e3be97fa9235ec8c20d08acfbbb4e851e3" }, - { "80a5f6272031e18bb9bcd84f3385da65e7731b7039f13f5e3d475364cd4d42f7", "c0eccc384b44c88e92c57eb2d5ca4dfa", "6ed11741f724009a640a44fce7320954c46e18e0d7ae063bdbc8d7cf372709df" }, - { "cb1fc686c0eec11a89438b6f4013bf110e7171dace3297f3a657a309b3199629", "fcd49b93e5f8f299227e64d40dc864a3", "84b7e96937a1a0a406bb7162eeaad34308d49de60fd2f7ec9dc6a79cbab2ca34" }, - { "6640f4d80af5496ca1bc2cfff1fefbe99638dbceaabd7d0ade118999d45f053d", "31f59ceeeafdbfe8cae7914caeba90d6", "9af4697d2f5574a44834a2c2ae1a0505af9f5d869dbe381a994a18eb374c36a0" }, - { "0693ff36d971225a44ac92c092c60b399e672e4cc5aafd5e31426f123787ac27", "3a6293da061da405db45be1731d5fc4d", "f87b38609142c01095bfc425573bb3c698f9ae866b7e4216840b9c4caf3b0865" }, - { "809539bd2639a23bf83578700f055f313561c7785a4a19fc9114086915eee551", "780c65d6a3318e479c02141d3f0b3918", "902ea8ce4680c09395ce71874d242f84274243a156938aaa2dd37ac5be382b42" }, - { "1a170ddf25a4fd69b648926e6d794e73408805835c64b2c70efddd8cd1c56ce0", "05dbee10de87eb0c5acb2b66ebbe67d3", "a4e20b634c77d7db908d387b48ec2b370059db916e8ea7716dc07238532d5981" }, - { "3b354e4bb69b5b4a1126f509e84cad49f18c9f5f29f0be0c821316a6986e15a6", "d8a89af02f4b8b2901d8321796388b6c", "9816cb1a5b61993735a4b161b51ed2265b696e7ded5309c229a5a99f53534fbc" }, - { "4b9a818892e15a530db50dd2832e95ee192e5ed6afffb408bd624a0c4e12a081", "a9079c551de70501be0286d1bc78b045", "ebc5224cf41ea97473683b6c2f38a084bf6e1feaaeff62676db59d5b719d999b" }, - { "c49758f00003714c38f1d4972bde57ee8271f543b91e07ebce56b554eb7fa6a7", "31f0204e10cf4f2035f9e62bb5ba7303", "0dd8cc400f702d2c06ed920be52048a287076b86480ae273c6d568a2e9e7518c" } - }; - const HChaCha20TV *tv; - unsigned char *constant; - unsigned char *key; - unsigned char *in; - unsigned char *out; - unsigned char *out2; - size_t i; - - constant = (unsigned char *) sodium_malloc(crypto_core_hchacha20_CONSTBYTES); - key = (unsigned char *) sodium_malloc(crypto_core_hchacha20_KEYBYTES); - in = (unsigned char *) sodium_malloc(crypto_core_hchacha20_INPUTBYTES); - out = (unsigned char *) sodium_malloc(crypto_core_hchacha20_OUTPUTBYTES); - out2 = (unsigned char *) sodium_malloc(crypto_core_hchacha20_OUTPUTBYTES); - for (i = 0; i < (sizeof tvs) / (sizeof tvs[0]); i++) { - tv = &tvs[i]; - sodium_hex2bin(key, crypto_core_hchacha20_KEYBYTES, - tv->key, strlen(tv->key), NULL, NULL, NULL); - sodium_hex2bin(in, crypto_core_hchacha20_INPUTBYTES, - tv->in, strlen(tv->in), NULL, NULL, NULL); - sodium_hex2bin(out, crypto_core_hchacha20_OUTPUTBYTES, - tv->out, strlen(tv->out), NULL, NULL, NULL); - crypto_core_hchacha20(out2, in, key, NULL); - assert(memcmp(out, out2, crypto_core_hchacha20_OUTPUTBYTES) == 0); - } - - sodium_hex2bin(constant, crypto_core_hchacha20_CONSTBYTES, - "0d29b795c1ca70c1652e823364d32417", - crypto_core_hchacha20_CONSTBYTES * 2 + 1, NULL, NULL, NULL); - sodium_hex2bin(out, crypto_core_hchacha20_OUTPUTBYTES, - "934d941d78eb9bfc2f0376f7ccd4a11ecf0c6a44104618a9749ef47fe97037a2", - crypto_core_hchacha20_OUTPUTBYTES * 2 + 1, NULL, NULL, NULL); - - crypto_core_hchacha20(out2, in, key, constant); - assert(memcmp(out, out2, crypto_core_hchacha20_OUTPUTBYTES) == 0); - - sodium_free(out2); - sodium_free(out); - sodium_free(in); - sodium_free(key); - sodium_free(constant); - - assert(crypto_core_hchacha20_outputbytes() == crypto_core_hchacha20_OUTPUTBYTES); - assert(crypto_core_hchacha20_inputbytes() == crypto_core_hchacha20_INPUTBYTES); - assert(crypto_core_hchacha20_keybytes() == crypto_core_hchacha20_KEYBYTES); - assert(crypto_core_hchacha20_constbytes() == crypto_core_hchacha20_CONSTBYTES); - - printf("tv_hchacha20: ok\n"); -} - -#define XCHACHA20_OUT_MAX 100 - -typedef struct XChaCha20TV_ { - const char key[crypto_stream_xchacha20_KEYBYTES * 2 + 1]; - const char nonce[crypto_stream_xchacha20_NONCEBYTES * 2 + 1]; - const char out[XCHACHA20_OUT_MAX * 2 + 1]; -} XChaCha20TV; - -static void -tv_stream_xchacha20(void) -{ - static const XChaCha20TV tvs[] = { - { "79c99798ac67300bbb2704c95c341e3245f3dcb21761b98e52ff45b24f304fc4", "b33ffd3096479bcfbc9aee49417688a0a2554f8d95389419", "c6e9758160083ac604ef90e712ce6e75d7797590744e0cf060f013739c" }, - { "ddf7784fee099612c40700862189d0397fcc4cc4b3cc02b5456b3a97d1186173", "a9a04491e7bf00c3ca91ac7c2d38a777d88993a7047dfcc4", "2f289d371f6f0abc3cb60d11d9b7b29adf6bc5ad843e8493e928448d" }, - { "3d12800e7b014e88d68a73f0a95b04b435719936feba60473f02a9e61ae60682", "56bed2599eac99fb27ebf4ffcb770a64772dec4d5849ea2d", "a2c3c1406f33c054a92760a8e0666b84f84fa3a618f0" }, - { "5f5763ff9a30c95da5c9f2a8dfd7cc6efd9dfb431812c075aa3e4f32e04f53e4", "a5fa890efa3b9a034d377926ce0e08ee6d7faccaee41b771", "8a1a5ba898bdbcff602b1036e469a18a5e45789d0e8d9837d81a2388a52b0b6a0f51891528f424c4a7f492a8dd7bce8bac19fbdbe1fb379ac0" }, - { "eadc0e27f77113b5241f8ca9d6f9a5e7f09eee68d8a5cf30700563bf01060b4e", "a171a4ef3fde7c4794c5b86170dc5a099b478f1b852f7b64", "23839f61795c3cdbcee2c749a92543baeeea3cbb721402aa42e6cae140447575f2916c5d71108e3b13357eaf86f060cb" }, - { "91319c9545c7c804ba6b712e22294c386fe31c4ff3d278827637b959d3dbaab2", "410e854b2a911f174aaf1a56540fc3855851f41c65967a4e", "cbe7d24177119b7fdfa8b06ee04dade4256ba7d35ffda6b89f014e479faef6" }, - { "6a6d3f412fc86c4450fc31f89f64ed46baa3256ffcf8616e8c23a06c422842b6", "6b7773fce3c2546a5db4829f53a9165f41b08faae2fb72d5", "8b23e35b3cdd5f3f75525fc37960ec2b68918e8c046d8a832b9838f1546be662e54feb1203e2" }, - { "d45e56368ebc7ba9be7c55cfd2da0feb633c1d86cab67cd5627514fd20c2b391", "fd37da2db31e0c738754463edadc7dafb0833bd45da497fc", "47950efa8217e3dec437454bd6b6a80a287e2570f0a48b3fa1ea3eb868be3d486f6516606d85e5643becc473b370871ab9ef8e2a728f73b92bd98e6e26ea7c8ff96ec5a9e8de95e1eee9300c" }, - { "aface41a64a9a40cbc604d42bd363523bd762eb717f3e08fe2e0b4611eb4dcf3", "6906e0383b895ab9f1cf3803f42f27c79ad47b681c552c63", "a5fa7c0190792ee17675d52ad7570f1fb0892239c76d6e802c26b5b3544d13151e67513b8aaa1ac5af2d7fd0d5e4216964324838" }, - { "9d23bd4149cb979ccf3c5c94dd217e9808cb0e50cd0f67812235eaaf601d6232", "c047548266b7c370d33566a2425cbf30d82d1eaf5294109e", "a21209096594de8c5667b1d13ad93f744106d054df210e4782cd396fec692d3515a20bf351eec011a92c367888bc464c32f0807acd6c203a247e0db854148468e9f96bee4cf718d68d5f637cbd5a376457788e6fae90fc31097cfc" }, - }; - const XChaCha20TV *tv; - char *hex; - unsigned char *key; - unsigned char *nonce; - unsigned char *out; - unsigned char *out2; - size_t out_len; - size_t i; - - key = (unsigned char *) sodium_malloc(crypto_stream_xchacha20_KEYBYTES); - nonce = (unsigned char *) sodium_malloc(crypto_stream_xchacha20_NONCEBYTES); - out = (unsigned char *) sodium_malloc(XCHACHA20_OUT_MAX); - for (i = 0; i < (sizeof tvs) / (sizeof tvs[0]); i++) { - tv = &tvs[i]; - - sodium_hex2bin(key, crypto_stream_xchacha20_KEYBYTES, - tv->key, strlen(tv->key), NULL, NULL, NULL); - sodium_hex2bin(nonce, crypto_stream_xchacha20_NONCEBYTES, - tv->nonce, strlen(tv->nonce), NULL, NULL, NULL); - sodium_hex2bin(out, XCHACHA20_OUT_MAX, - tv->out, strlen(tv->out), NULL, &out_len, NULL); - out2 = (unsigned char *) sodium_malloc(out_len); - crypto_stream_xchacha20(out2, out_len, nonce, key); - assert(memcmp(out, out2, out_len) == 0); - crypto_stream_xchacha20_xor(out2, out, out_len, nonce, key); - assert(sodium_is_zero(out2, out_len)); - crypto_stream_xchacha20_xor_ic(out2, out, out_len, nonce, 0, key); - assert(sodium_is_zero(out2, out_len)); - crypto_stream_xchacha20_xor_ic(out2, out, out_len, nonce, 1, key); - assert(!sodium_is_zero(out2, out_len)); - crypto_stream_xchacha20_xor(out, out, out_len, nonce, key); - assert(sodium_is_zero(out, out_len)); - sodium_free(out2); - } - - out2 = (unsigned char *) sodium_malloc(0); - crypto_stream_xchacha20(out2, 0, nonce, key); - crypto_stream_xchacha20_xor(out2, out2, 0, nonce, key); - crypto_stream_xchacha20_xor_ic(out2, out2, 0, nonce, 1, key); - sodium_free(out2); - sodium_free(out); - - out = (unsigned char *) sodium_malloc(64); - out2 = (unsigned char *) sodium_malloc(128); - randombytes_buf(out, 64); - randombytes_buf(out2, 64); - memcpy(out2 + 64, out, 64); - crypto_stream_xchacha20_xor_ic(out, out, 64, nonce, 1, key); - crypto_stream_xchacha20_xor(out2, out2, 128, nonce, key); - assert(memcmp(out, out2 + 64, 64) == 0); - sodium_free(out); - sodium_free(out2); - - out = (unsigned char *) sodium_malloc(192); - out2 = (unsigned char *) sodium_malloc(192); - memset(out, 0, 192); - memset(out2, 0, 192); - crypto_stream_xchacha20_xor_ic(out2, out2, 192, nonce, - (1ULL << 32) - 1ULL, key); - crypto_stream_xchacha20_xor_ic(out, out, 64, nonce, - (1ULL << 32) - 1ULL, key); - crypto_stream_xchacha20_xor_ic(out + 64, out + 64, 64, nonce, - (1ULL << 32), key); - crypto_stream_xchacha20_xor_ic(out + 128, out + 128, 64, nonce, - (1ULL << 32) + 1, key); - assert(memcmp(out, out2, 192) == 0); - hex = (char *) sodium_malloc(192 * 2 + 1); - sodium_bin2hex(hex, 192 * 2 + 1, out, 192); - printf("%s\n", hex); - - memset(key, 0, crypto_stream_xchacha20_KEYBYTES); - crypto_stream_xchacha20_keygen(key); - assert(sodium_is_zero(key, crypto_stream_xchacha20_KEYBYTES) == 0); - - sodium_free(hex); - sodium_free(out); - sodium_free(out2); - - sodium_free(nonce); - sodium_free(key); - - assert(crypto_stream_xchacha20_keybytes() == crypto_stream_xchacha20_KEYBYTES); - assert(crypto_stream_xchacha20_noncebytes() == crypto_stream_xchacha20_NONCEBYTES); - assert(crypto_stream_xchacha20_messagebytes_max() == crypto_stream_xchacha20_MESSAGEBYTES_MAX); - - printf("tv_stream_xchacha20: ok\n"); -} - -typedef struct XChaCha20Poly1305TV_ { - const char key[crypto_secretbox_xchacha20poly1305_KEYBYTES * 2 + 1]; - const char nonce[crypto_secretbox_xchacha20poly1305_NONCEBYTES * 2 + 1]; - const char *m; - const char *out; -} XChaCha20Poly1305TV; - -static void -tv_secretbox_xchacha20poly1305(void) -{ - static const XChaCha20Poly1305TV tvs[] = { - { "065ff46a9dddb1ab047ee5914d6d575a828b8cc1f454b24e8cd0f57efdc49a34", "f83262646ce01293b9923a65a073df78c54b2e799cd6c4e5", "", "4c72340416339dcdea01b760db5adaf7" }, - { "d3c71d54e6b13506e07aa2e7b412a17a7a1f34df3d3148cd3f45b91ccaa5f4d9", "943b454a853aa514c63cf99b1e197bbb99da24b2e2d93e47", "76bd706e07741e713d90efdb34ad202067263f984942aae8bda159f30dfccc72200f8093520b85c5ad124ff7c8b2d920946e5cfff4b819abf84c7b35a6205ca72c9f8747c3044dd73fb4bebda1b476", "0384276f1cfa5c82c3e58f0f2acc1f821c6f526d2c19557cf8bd270fcde43fba1d88890663f7b2f5c6b1d7deccf5c91b4df5865dc55cc7e04d6793fc2db8f9e3b418f95cb796d67a7f3f7e097150cb607c435dacf82eac3d669866e5092ace" }, - { "9498fdb922e0596e32af7f8108def2068f5a32a5ac70bd33ade371701f3d98d0", "a0056f24be0d20106fe750e2ee3684d4457cbdcb3a74e566", "b1bc9cfedb340fb06a37eba80439189e48aa0cfd37020eec0afa09165af12864671b3fbddbbb20ac18f586f2f66d13b3ca40c9a7e21c4513a5d87a95319f8ca3c2151e2a1b8b86a35653e77f90b9e63d2a84be9b9603876a89d60fd708edcd64b41be1064b8ad1046553aaeb51dc70b8112c9915d94f2a5dad1e14e7009db6c703c843a4f64b77d44b179b9579ac497dac2d33", "4918790d46893fa3dca74d8abc57eef7fca2c6393d1beef5efa845ac20475db38d1a068debf4c5dbd8614eb072877c565dc52bd40941f0b590d2079a5028e426bf50bcbaadcbebf278bddceedc578a5e31379523dee15026ec82d34e56f2871fdf13255db199ac48f163d5ee7e4f4e09a39451356959d9242a39aea33990ab960a4c25346e3d9397fc5e7cb6266c2476411cd331f2bcb4486750c746947ec6401865d5" }, - { "fa2d915e044d0519248150e7c815b01f0f2a691c626f8d22c3ef61e7f16eea47", "c946065dc8befa9cc9f292ea2cf28f0256285565051792b7", "d5be1a24c7872115dc5c5b4234dbee35a6f89ae3a91b3e33d75249a0aecfed252341295f49296f7ee14d64de1ea6355cb8facd065052d869aeb1763cda7e418a7e33b6f7a81327181df6cd4de3a126d9df1b5e8b0b1a6b281e63f2", "6d32e3571afec58b0acabb54a287118b3ed6691f56cc8ead12d735352c9a050c2ca173c78b6092f9ad4b7c21c36fb0ce18560956395bab3099c54760a743051ac6a898a0b0034b5e953340c975cf7a873c56b27e66bca2bff1dd977addefc7935bb7550753dd13d1f1a43d" }, - { "6f149c2ec27af45176030c8dd7ab0e1e488f5803f26f75045d7a56f59a587a85", "952aff2f39bc70016f04ac7fb8b55fd22764ba16b56e255d", "8fde598c4bde5786abdc6ab83fce66d59782b6ce36afe028c447ad4086a748764afa88a520e837a9d56d0b7693b0476649f24c2aa44b94615a1efc75", "9bccf07974836fa4609d32d9527d928d184d9c6c0823af2f703e0e257a162d26d3678fa15ab1c4db76ac42084d32cefca8efaf77814c199b310999e327a3e3daa2e235b175979504ede87b58" }, - { "b964b7fdf442efbcc2cd3e4cd596035bdfb05ed7d44f7fd4dce2d5614af5c8c4", "2886fbfa4b35b68f28d31df6243a4fbc56475b69e24820a4", "", "b83fbdd112bf0f7d62eff96c9faa8850" }, - { "10c0ad4054b48d7d1de1d9ab6f782ca883d886573e9d18c1d47b6ee6b5208189", "977edf57428d0e0247a3c88c9a9ec321bbaae1a4da8353b5", "518e4a27949812424b2a381c3efea6055ee5e75eff", "0c801a037c2ed0500d6ef68e8d195eceb05a15f8edb68b35773e81ac2aca18e9be53416f9a" }, - { "7db0a81d01699c86f47a3ec76d46aa32660adad7f9ac72cf8396419f789f6bb1", "e7cb57132ce954e28f4470cca1dbda20b534cdf32fbe3658", "ee6511d403539e611ab312205f0c3b8f36a33d36f1dc44bb33d6836f0ab93b9f1747167bf0150f045fcd12a39479641d8bdde6fe01475196e8fe2c435e834e30a59f6aaa01ebcd", "ae8b1d4df4f982b2702626feca07590fedd0dfa7ae34e6a098372a1aa32f9fbf0ce2a88b5c16a571ef48f3c9fda689ce8ebb9947c9e2a28e01b1191efc81ad2ce0ed6e6fc7c164b1fc7f3d50b7f5e47a895db3c1fc46c0" }, - { "7b043dd27476cf5a2baf2907541d8241ecd8b97d38d08911737e69b0846732fb", "74706a2855f946ed600e9b453c1ac372520b6a76a3c48a76", "dbf165bb8352d6823991b99f3981ba9c8153635e5695477cba54e96a2a8c4dc5f9dbe817887d7340e3f48a", "ce57261afba90a9598de15481c43f26f7b8c8cb2806c7c977752dba898dc51b92a3f1a62ebf696747bfccf72e0edda97f2ccd6d496f55aefbb3ec2" }, - { "e588e418d658df1b2b1583122e26f74ca3506b425087bea895d81021168f8164", "4f4d0ffd699268cd841ce4f603fe0cd27b8069fcf8215fbb", "f91bcdcf4d08ba8598407ba8ef661e66c59ca9d89f3c0a3542e47246c777091e4864e63e1e3911dc01257255e551527a53a34481be", "22dc88de7cacd4d9ce73359f7d6e16e74caeaa7b0d1ef2bb10fda4e79c3d5a9aa04b8b03575fd27bc970c9ed0dc80346162469e0547030ddccb8cdc95981400907c87c9442" } - }; - const XChaCha20Poly1305TV *tv; - unsigned char *m; - unsigned char *nonce; - unsigned char *key; - unsigned char *out; - unsigned char *out2; - size_t m_len; - size_t n; - size_t i; - - key = (unsigned char *) sodium_malloc - (crypto_secretbox_xchacha20poly1305_KEYBYTES); - nonce = (unsigned char *) sodium_malloc - (crypto_secretbox_xchacha20poly1305_NONCEBYTES); - for (i = 0; i < (sizeof tvs) / (sizeof tvs[0]); i++) { - tv = &tvs[i]; - m_len = strlen(tv->m) / 2; - m = (unsigned char *) sodium_malloc(m_len); - sodium_hex2bin(key, crypto_secretbox_xchacha20poly1305_KEYBYTES, - tv->key, strlen(tv->key), NULL, NULL, NULL); - sodium_hex2bin(nonce, crypto_secretbox_xchacha20poly1305_NONCEBYTES, - tv->nonce, strlen(tv->nonce), NULL, NULL, NULL); - sodium_hex2bin(m, m_len, tv->m, strlen(tv->m), NULL, NULL, NULL); - out = (unsigned char *) sodium_malloc - (crypto_secretbox_xchacha20poly1305_MACBYTES + m_len); - out2 = (unsigned char *) sodium_malloc - (crypto_secretbox_xchacha20poly1305_MACBYTES + m_len); - sodium_hex2bin(out, crypto_secretbox_xchacha20poly1305_MACBYTES + m_len, - tv->out, strlen(tv->out), NULL, NULL, NULL); - assert(crypto_secretbox_xchacha20poly1305_easy(out2, m, 0, nonce, key) == 0); - assert(crypto_secretbox_xchacha20poly1305_easy(out2, m, m_len, nonce, key) == 0); - assert(memcmp(out, out2, - crypto_secretbox_xchacha20poly1305_MACBYTES + m_len) == 0); - n = randombytes_uniform(crypto_secretbox_xchacha20poly1305_MACBYTES + (uint32_t) m_len); - assert(crypto_secretbox_xchacha20poly1305_open_easy - (out2, out2, crypto_secretbox_xchacha20poly1305_MACBYTES - 1, - nonce, key) == -1); - assert(crypto_secretbox_xchacha20poly1305_open_easy - (out2, out2, 0, - nonce, key) == -1); - out2[n]++; - assert(crypto_secretbox_xchacha20poly1305_open_easy - (out2, out2, crypto_secretbox_xchacha20poly1305_MACBYTES + m_len, - nonce, key) == -1); - out2[n]--; - nonce[0]++; - assert(crypto_secretbox_xchacha20poly1305_open_easy - (out2, out2, crypto_secretbox_xchacha20poly1305_MACBYTES + m_len, - nonce, key) == -1); - nonce[0]--; - assert(crypto_secretbox_xchacha20poly1305_open_easy - (out2, out2, crypto_secretbox_xchacha20poly1305_MACBYTES + m_len, - nonce, key) == 0); - assert(crypto_secretbox_xchacha20poly1305_open_easy - (out2, out2, crypto_secretbox_xchacha20poly1305_MACBYTES - 1, - nonce, key) == -1); - assert(crypto_secretbox_xchacha20poly1305_open_easy - (out2, out2, 0, nonce, key) == -1); - assert(memcmp(m, out2, m_len) == 0); - assert(crypto_secretbox_xchacha20poly1305_open_detached - (out2, out + crypto_secretbox_xchacha20poly1305_MACBYTES, out, - m_len, nonce, key) == 0); - assert(crypto_secretbox_xchacha20poly1305_open_detached - (NULL, out + crypto_secretbox_xchacha20poly1305_MACBYTES, out, - m_len, nonce, key) == 0); - crypto_secretbox_xchacha20poly1305_detached - (out2 + crypto_secretbox_xchacha20poly1305_MACBYTES, out2, m, - m_len, nonce, key); - assert(memcmp(out, out2, - crypto_secretbox_xchacha20poly1305_MACBYTES + m_len) == 0); - sodium_free(out); - sodium_free(out2); - sodium_free(m); - } - sodium_free(nonce); - sodium_free(key); - - assert(crypto_secretbox_xchacha20poly1305_keybytes() == crypto_secretbox_xchacha20poly1305_KEYBYTES); - assert(crypto_secretbox_xchacha20poly1305_noncebytes() == crypto_secretbox_xchacha20poly1305_NONCEBYTES); - assert(crypto_secretbox_xchacha20poly1305_macbytes() == crypto_secretbox_xchacha20poly1305_MACBYTES); - assert(crypto_secretbox_xchacha20poly1305_messagebytes_max() == crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX); - - printf("tv_secretbox_xchacha20: ok\n"); -} - -static void -tv_box_xchacha20poly1305(void) -{ - char hex[65]; - unsigned char *pk; - unsigned char *sk; - unsigned char *m; - unsigned char *m2; - unsigned char *mac; - unsigned char *nonce; - unsigned char *out; - unsigned char *pc; - unsigned char *seed; - size_t m_len; - int i; - - pk = (unsigned char *) sodium_malloc(crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES); - sk = (unsigned char *) sodium_malloc(crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES); - nonce = (unsigned char *) sodium_malloc(crypto_box_curve25519xchacha20poly1305_NONCEBYTES); - mac = (unsigned char *) sodium_malloc(crypto_box_curve25519xchacha20poly1305_MACBYTES); - pc = (unsigned char *) sodium_malloc(crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES); - for (i = 0; i < 10; i++) { - m_len = (i == 0) ? 0 : randombytes_uniform(150); - m = (unsigned char *) sodium_malloc(m_len); - m2 = (unsigned char *) sodium_malloc(m_len); - - out = (unsigned char *) sodium_malloc - (crypto_box_curve25519xchacha20poly1305_MACBYTES + m_len); - randombytes_buf(nonce, crypto_box_curve25519xchacha20poly1305_NONCEBYTES); - randombytes_buf(m, m_len); - assert(crypto_box_curve25519xchacha20poly1305_keypair(pk, sk) == 0); - assert(crypto_box_curve25519xchacha20poly1305_easy(out, m, 0, nonce, - pk, sk) == 0); - assert(crypto_box_curve25519xchacha20poly1305_easy(out, m, m_len, nonce, - pk, sk) == 0); - assert(crypto_box_curve25519xchacha20poly1305_open_easy - (m2, out, crypto_box_curve25519xchacha20poly1305_MACBYTES + m_len, - nonce, small_order_p, sk) == -1); - assert(crypto_box_curve25519xchacha20poly1305_open_easy - (m2, out, crypto_box_curve25519xchacha20poly1305_MACBYTES - 1, - nonce, pk, sk) == -1); - assert(crypto_box_curve25519xchacha20poly1305_open_easy - (m2, out, 0, nonce, pk, sk) == -1); - assert(crypto_box_curve25519xchacha20poly1305_open_easy - (m2, out, crypto_box_curve25519xchacha20poly1305_MACBYTES + m_len, - nonce, pk, sk) == 0); - assert(memcmp(m2, m, m_len) == 0); - sodium_free(out); - - out = (unsigned char *) sodium_malloc - (crypto_box_curve25519xchacha20poly1305_MACBYTES + m_len); - assert(crypto_box_curve25519xchacha20poly1305_beforenm(pc, small_order_p, sk) == -1); - assert(crypto_box_curve25519xchacha20poly1305_beforenm(pc, pk, sk) == 0); - assert(crypto_box_curve25519xchacha20poly1305_easy_afternm - (out, m, 0, nonce, pc) == 0); - assert(crypto_box_curve25519xchacha20poly1305_easy_afternm - (out, m, m_len, nonce, pc) == 0); - assert(crypto_box_curve25519xchacha20poly1305_open_easy_afternm - (m2, out, crypto_box_curve25519xchacha20poly1305_MACBYTES - 1, - nonce, pc) == -1); - assert(crypto_box_curve25519xchacha20poly1305_open_easy_afternm - (m2, out, 0, - nonce, pc) == -1); - assert(crypto_box_curve25519xchacha20poly1305_open_easy_afternm - (m2, out, crypto_box_curve25519xchacha20poly1305_MACBYTES + m_len, - nonce, pc) == 0); - assert(memcmp(m2, m, m_len) == 0); - sodium_free(out); - - out = (unsigned char *) sodium_malloc(m_len); - assert(crypto_box_curve25519xchacha20poly1305_detached(out, mac, m, m_len, - nonce, small_order_p, sk) == -1); - assert(crypto_box_curve25519xchacha20poly1305_detached(out, mac, m, m_len, - nonce, pk, sk) == 0); - assert(crypto_box_curve25519xchacha20poly1305_open_detached - (m2, out, mac, m_len, nonce, small_order_p, sk) == -1); - assert(crypto_box_curve25519xchacha20poly1305_open_detached - (m2, out, mac, m_len, nonce, pk, sk) == 0); - sodium_free(out); - - out = (unsigned char *) sodium_malloc(m_len); - assert(crypto_box_curve25519xchacha20poly1305_detached_afternm - (out, mac, m, m_len, nonce, pc) == 0); - assert(crypto_box_curve25519xchacha20poly1305_open_detached_afternm - (m2, out, mac, m_len, nonce, pc) == 0); - sodium_free(out); - - sodium_free(m2); - sodium_free(m); - } - sodium_free(pc); - sodium_free(mac); - sodium_free(nonce); - - seed = (unsigned char *) sodium_malloc - (crypto_box_curve25519xchacha20poly1305_SEEDBYTES); - for (i = 0; i <(int) crypto_box_curve25519xchacha20poly1305_SEEDBYTES; i++) { - seed[i] = (unsigned char) i; - } - crypto_box_curve25519xchacha20poly1305_seed_keypair(pk, sk, seed); - sodium_bin2hex(hex, sizeof hex, pk, crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES); - assert(strcmp(hex, "4701d08488451f545a409fb58ae3e58581ca40ac3f7f114698cd71deac73ca01") == 0); - sodium_bin2hex(hex, sizeof hex, sk, crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES); - assert(strcmp(hex, "3d94eea49c580aef816935762be049559d6d1440dede12e6a125f1841fff8e6f") == 0); - sodium_free(seed); - - sodium_free(sk); - sodium_free(pk); - - assert(crypto_box_curve25519xchacha20poly1305_seedbytes() == crypto_box_curve25519xchacha20poly1305_SEEDBYTES); - assert(crypto_box_curve25519xchacha20poly1305_publickeybytes() == crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES); - assert(crypto_box_curve25519xchacha20poly1305_secretkeybytes() == crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES); - assert(crypto_box_curve25519xchacha20poly1305_beforenmbytes() == crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES); - assert(crypto_box_curve25519xchacha20poly1305_noncebytes() == crypto_box_curve25519xchacha20poly1305_NONCEBYTES); - assert(crypto_box_curve25519xchacha20poly1305_macbytes() == crypto_box_curve25519xchacha20poly1305_MACBYTES); - assert(crypto_box_curve25519xchacha20poly1305_messagebytes_max() == crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX); - - printf("tv_box_xchacha20poly1305: ok\n"); -} - -int -main(void) -{ - tv_hchacha20(); - tv_stream_xchacha20(); - tv_secretbox_xchacha20poly1305(); - tv_box_xchacha20poly1305(); - - return 0; -} diff --git a/libsodium-1.0.18-RELEASE/test/default/xchacha20.exp b/libsodium-1.0.18-RELEASE/test/default/xchacha20.exp deleted file mode 100644 index 0ac74c6..0000000 --- a/libsodium-1.0.18-RELEASE/test/default/xchacha20.exp +++ /dev/null @@ -1,5 +0,0 @@ -tv_hchacha20: ok -3e34c160a966ddfbd52d38f6a440a77256c1134ad54653db427dfdfc72f0f995768039052ec2ec4e6fe02c655d7d95681fabd417c087ad17f177510ba09d4cfe7beb8f7c9b8330d746310f9e29583e9ef240156015faafeb24a4d002d6337b7bcec8b54a64ef704e1ae3247d79625d267cbacd1c90e4a2df2f72d4090babf88c90e65a086c464ec1753c49d3b8ad02f2a3c0808e1695c5d77cec6f6f12578ae4ed077a2046e06644d14af65ae90f2869a6f1f910b83a7a3cfec8dd390621a511 -tv_stream_xchacha20: ok -tv_secretbox_xchacha20: ok -tv_box_xchacha20poly1305: ok diff --git a/libsodium-1.0.18-RELEASE/test/quirks/quirks.h b/libsodium-1.0.18-RELEASE/test/quirks/quirks.h deleted file mode 100644 index 69fe369..0000000 --- a/libsodium-1.0.18-RELEASE/test/quirks/quirks.h +++ /dev/null @@ -1,34 +0,0 @@ - -#include - -/* C++Builder defines a "random" macro */ -#undef random - -#ifdef __EMSCRIPTEN__ -# define strcmp(s1, s2) xstrcmp(s1, s2) - -static int -strcmp(const char *s1, const char *s2) -{ - while (*s1 == *s2++) { - if (*s1++ == 0) { - return 0; - } - } - return *(unsigned char *) s1 - *(unsigned char *) --s2; -} -#endif - -#ifdef _WIN32 -static void -srandom(unsigned seed) -{ - srand(seed); -} - -static long -random(void) -{ - return (long) rand(); -} -#endif

r4Zn%&}G{IG)JcsG#3{v-s@TX_G@Vn~6-O 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%0D)aa2N~g)z&$*5rWcL0R z9Ca->&K}bk=O~P-gNum}nQ=P)v0-o;#V!yDvm|QYm?o||Ii_V}SU$)&cpiCstHg0N z#Za}^bgwvn#+9_&XcHRl+ecuaKQk1ikiz(ef3n2k`7z${#&{&~hJJEYf~}aRUe#1f z(mU*OofOmQrT*t(dmA4fe<-Stb-JJ_=U2xM!6gKzwNio>dY$I5mAz-{%T=tW2&&4M?n zCp5zKO;WS~%kbR=FbqEQ%gqK*P8V#HASqTMX#^<}8E}`_w8dPO{mI=9YJb+rYo^qm zS=Uw^+xZM@9gI=3t|O7S<0avW#21aQ zWv56YehCxVUCih2DVPwS6FaELXc1fX;R5Z9ry`q($ewS35GXgwBUWM_J$Fv>IvHM-Pan4yOC?g z_n$2lu9gboee)8NZ{&yhtrX(l>_Cs?5MAAH;+S`r2fep=O zPtGgE=$hdWJ@INyWr58_a+pA#;4Euu+@D&S1qKkOIOQxhaBV~LK{!1-Qy^vA1U_B@ zZPJWWQ4IK#xur*7&_-&is4v`5l>LJExo*nIPc!;8=mcDMlv^3nnv`@V-E)aZoeIjG zGw!=Di^?IdQej_%JL_0rH4#$A(sQf-f$k%|yx#AroFDfaAwH0As*Nce9B`=Q<^oU^kK&oJ|Rqih(R`;`1*x{>p)oE9oP;UX2H1OH`csk((*`QUqZ(O`}R0n zKi6KX_dC=1h^Q&Be>>?z+OYXhb3{!z_$ z{|XxV>zwyCM(^%PX1F$tMOyTit0C}E__(Tjsf{-g4JYO63fdJB@#-&45Kz6_Wp*2( zAE&HN?Ks$E=a;n1;&Wr8U0pi-(9HkCXXhDD1oc1ypOO%*iFL{AaLI9P+PA!ThgKD^ z-C-N=;cz*$9H3cz8 z-kc_N_94sF>5AzTCd=w=|Iw4&=BAB-ZWq>0SsKpna^jr)Y0P^c3P*6$&E>GQrggZM z2!bNC>xDnX1?ADx1bAa@i@-tYx2@;%I2HOOOZy4-v)@fjh>~t?!EYYf3QMqZD~nwQ z3omLo<^-~isoveb?9vMyxj(9|ohI-?cfEDVteLrQ;IR+&RryVXm=`F zbXG|Qo;5}XAmPXZo6HCCB@Qj6NtISqB_#U$YLKlz$6pyCW}0=(!CV90$v=Q`gG#9L zif7Q1i?{*3vG5j=7B7+4d^KJ22(r`HZKj}oabU$k6+_Zq=Qh%oH@_8l-zzu zSFLoV1q>ioZAmnAQPo8yf<>zU$rnQ158?wgOzbfmW?+e~+=~c*%fHbxst!3jzH!g~a1UL!*=Fe<^CPgp^HD5mUyyz2_iO-F@J&%5 zcfV16TS*0{k9&e^A2;7X_2W-Z@%2c|;F^QeA!novx3ZJnU0P519IR4qe10Ob(t$XynWh$N&<-iwSrfZPE=@?KToCTbU*pSl!|@!y`$)A5~Y2}Y4-+c zmBgBaG}(&=xrKDADFj!w?halnPk@kuYnfxK!JeN#NrI90O#44y-A}rhcsuwPb#s0F z0yyD~tt>MT&nO0WYZKSHnA~=_B||RqSXDmSX1(2dQ#+{&Tun6`c1i=Wi&gXt%OT23 z1{B~Y6$ntSEQnIX7d%#7rw8wW>J!>fQLlgU+Ag$Pk>k{gr%+HO5b8q$Kh<(s#GPCj z6p=TPWP`+bR@W23dUr02b%u+A4sAq}b{EF()kmBa7w9`pr%Nug`u-&?%qPDB_ zoqJ^OKRup0QwttkRZ;gUU+OQzY-j#dTPZHVYz@P%3hzKznRkeLTq@e&h7e&_7pdxW zlF~@`fq7peJV{f5IXxmSw+;+pDbyT@?K$|RPXIs8(V6t6Q~cu;R=D=weH;y)zu5Rg z3eB$F5vv2*d6PDt_#waBwe4*%*KWNjC4tc-&7jjx&01R|ldX*(uF_kd>{x0nN3H2c zsf3yhhQAFb5WJ{XX)^q#P;h}pD-tBOc(I9?zqlZlt>L7kWOQFuV`(}@0mm0IG)Op{%joES zeBL=}@;?dg4;jGc(V(4nSqmUzN%Eu;Qmmi-Ywh+AV5S6CdH?i!rz0Jx{>+@@ZjBZe z5(-4c8aCFME+orTCqHKrSqZ6|iiV7XPV7`ttZH>^CVb*eLYZX0dD(bF|MHWOU25ov zMuhJMC*}kA)^U%D;(RotlmKgLfVqGm3DpdnD6L{hdB4`kK)TJt1+cMLWrvfj{DD@H zr&a3}O6%gT=TA87s1$XV4g*OV~>Wai3+&Wvc}pd~wZPH@@H`9<8x6Fz9OC=TfZT zu=hz``eRih&KjGgPpcl*lK`-cfxdiQ*a+w*)xX=V6zeue73+o;O0cGUJ6OFLri_en zSuOLohxiVwK6U-f&$V{Q`M9NCy0oXa= zXjZ-!T!LA;;2h;Zg?srCb+-8jDf?ibDaa#UzE*Qs2yug#BGDm=|7?qvgd<{ObGCFWr``_Q zdd8rdnxl%O$!Z9dtXMplCJ|XW(;(Lh-JE_4!H6^xKQn)ocVHa8;PFz6=ad86y5x{nB~AGo=;Md))ALGZPm(q+cd zoNJKf#pBg00Ex+d|Kf-jO;syEyJi+FJQm?$JuP+IZfum|Rot7LpdAmcy$mV_s`LDU zyjaK{6N(xa`8e^jpGKA@y5wp&JlBtcrNqA7R|6H{EgImj4QDkkP&H@G^M#FG&V@Q$ zuE7D-yH0}O{y4G36jv5WwitCib>bjpKDKtQJ5Edi>_wqqJ|vvvQpDu?uDrG=__ngD z4bYx1^ZUgO8_Q7!ts=dq?@hi)#!1l`1|=8#qagDVLGu<5WC(xV!K(wV+UvQx?Z-^% zX}mFb|J7)?fa|a3Z*8#GhjQPoRo|LD9QArA57)09Un1@duv_F=#G3U;(*`@Rl}SnfJl=*n_a7uR|)b@!E}k%6Di&$v`Bbp)ge<# zA~e3UCX;{BzT#eEC>%g*g6K8Z{sP$xvYJ!fK`3~Ju|_lCTs-0U!^dfvloZDt&Og}M*P6f-r_pAzL z3H;L7Fe``zM1c!|y{&WG*vT)9AwPXcU^S0&JZgVySdGA#iy~eA043x!|E{W4;gf|? zCxd>WGwNk~2AvM^*(FHUlA{k*Rg`O=&s!t4R@#^-`J(696@REUDVb(qr#S-@_xjIP z`V~nVjJ@|=noJN$9qQfIk(1kk=sySQpRjvXMR18jWQ0*DLEV$ofFVv4u++g%>I=HF z&G>j|(nOqGE@G|~X~8LjFN2Z;LsZ+%{0DV@x3~%Pi2JrmDoc#JC2Z|*Pozx~sSa-y zCG7Gw2o-NhcTMU6;&|6c46(U2UVZL&*!z57j)hThRTEw!60slmitgk?}h)<3}o zTtHqf@s7^#d)VfqN4teGEtTy!2ZlKNR0wp|R-UMw`eh^SVs~_}GyTd8i)-G0xc_y8 z*5!|ks0x07E2iQ!9zeW~RfqIWxHMG4)8FhI%?n6yA-`~n^*A73Ufsg*@zGjL!z`J< zWxXF9YI5=&x_CXp+V3uz^+Pu4AKvL5^U=j5!S+pKz2b)fR{e$sMlE}WK1kk zY;n>zEeD~z1gJRddC0NHHrXjl{C{O~OkbHYT7Gn)ZUwF|@ptuLEY#@*@J0y}PuOmi zuv&)0_riowX|(F}@GYxm=^?4QfnZaD0lJLk!VQ~$5#H4H5LvGY)4(7*9714NlrV@K z`u5e(2{rQV9J*_nd&NPeg%#dl;8W){c7Ukl*q}D*YXU6Yse2`cl1X2m+(jg_4asQ{ z7tm7BWdSMi5?pjP+hY+S8<9ddVk%RM>zIQA$gh z^|#YqV^fmO>{DUnHc_TNtyg70j|S&51Te+h1w?fTrAvS>#u-M1f9tRVbP&7e$wnnS z;Unwko5fiL37soHWUgkR+tcCYGb*9AhY2Wn-tQpV#T2E_+bvD&wkzvIOoRqI_t`jY z*==OR&^t#ngfO?=3Rt&n_TE^-@@Z_gU4Q`BRf2uLkicnxhC_4Wb+-@W%|;_O@!}ly z2p7swLBAYvsRo0g#HVh*F5zCygH@1$ygn~s0VV6e5u_d5ouD*y%$LyK=b|551JXtmWos<5dIud(J(5yj>3xwNI{>kM{!)L1S(T#i@mrd#6 z+^(SShd!U@gPy~rU{pGAhO^k|^*E5ukaklFSj*V!!$|4?Z)2jvWL+Zq3;iEakDT0# zR-%`W=FL$$$L;iBfbtfa7?HY2NI1#y>pSXQ8M3S@;O9Z(tW&8T6kd5I<)tv*Ycpx{ zY;u-xxYl#C1#*IjE&ZclL8_QCQ;19~WBWAkaA3`>BA>xC=QgKgaf((FJc?i+fdRzN z*xgsWt>Rcc`E{@}9A9+8Eh;7X|Ly@Q&c6^=UhZ^BjT5t{<6G3bnw&Xt4T)eOiBTUQh7MHPWs;URq(-JX0o|Xg^mj8A4u>GiWM) zR%z7sG?D#$_?u83NF{4AOe!Ge&}M!*VpTfH5_UKsuS(tshG{eu+FA@thwCfc!KYYY zm(W&;MrEtkmF;mw&q$?%5LBDb0m_*8UX*!G(WVuw?RFO&5Pd@mS|N<7dxOHD`gmQw z)?Zuj(B2m`%HdZF^b5N}Op-r>$5_rHC!imcUpjsmd7B*$%Bn^{mhqOu%2u%u<|CLH z#)UFk0s_4YM_Du!S`58urtRUfXE-eW=*DzC@-e(7=}R5!J!e{UHXlqaUzG^o7f<6p ztKA_Kxf{?Yf0AV=|2dS(upO)#^TA+!2$i){s{cvYHP(hM*LA;~?lG5qqCefJkj}z* z_q55&K@GV9qnQKm&k?(Iw23)YxaC;<8TnQ-geirZ$`jzAW%OG(Icfbkq{zfl7Zs6I zgi}oEd+7LuiP-W1iDaxOrChMRLCDm3&f)8|k%n3xz`0v6jvQ$p)8Uy03vCefcB0&j zn_D3=Yw6#f?gp@DX;7VWui*h}3*M5jF6$OejZ0-`tuHLgLrJtN^k=W+>rER?4G$-z zRP`6+bb&9=6jaU|Es=iTJ_YMHZZm=o%=9~^KHH2d8GrkIhLM$ghJs!TydRe7D$N4S zw!KB7P3v*2W5nY7w0Fq90s!v#0{10>L}bh$ixHJ8B=`*rW-pVxd~{T-@uXpq_<}>q zKY~5a(uB}_rI>9Kns_)T$-}BzvkhJzGAv%JWHhLzq4DLcVF&K>0{6q1^8|D*tNnO$ zj(7EXDPtRQ%Xwph+jDx4bNUwh$6rA!^{~$SqTx~D_NdG-e0;f^nZ^I7A+8Y=rWly; z;DZ2(=h{Sh;f6Cd7gtkCxaBds-%x`UfCkTmDbG}UgGgR|nzSiF!{8)j`3KF*DeMm_ zZk+kJNi>d05-Mqlb}|#0#COSZ;IgA{VT{ic@WyXhs_GT*J7~H{lL$-5_An2_JlLWh?RvDWkqnfc2ZK_B7NT@N0>I-Vb z`Tb3mhL?kq!9c~9Vua#SaHG;U8t#g!s$IOPQg=~ZwqJUkG3BiXbz`i0PZ*;OAy@}> zwO|l^|BV({b0^p-Mqeo~VV&q*Dg40y>(KGDcr&_DP_}BP)M7N**gCoef1yGCL_ny~ z2%gmrsB`mqx;iAO=|ii2Sg5^nL#I7?84@Jwyx&|QI9e3@76w_RODxzR1d_eI?6ab9 zlJf+0ad{>y7NXr?tPld*{;_2?!1l%qt8$rX(}TR10T)V`UB0EChGcvv1!^U-A*RvL zFS-UDexpcj@L^&!SB@j%#2&zDLvdsT6P=1;^{Zwnpv1_lUrum9u z+>cywfedDYd#}!mdnE^lKG}u^Vy&9agr?VGP2I6u7f?*=%Ix+ms?ahJrBf|`0LrLE zi^lx$WE@blFi0wKJZiB|9Y)?)cN=xWvaUW^#dS2No*cKJ&boe_g2cE|OVcl>+|9yN zH%hk!FiR?^JMePsH07(NJxr9e1B{Vm4hkvJvV0P;O zIQva=?Yu1Y3RLf2UX3@e!%IB^6%>O!OvCProv~^0RIS*PfnCdXfkWyD$PU9yRu$Xe z>k;GdYS<&Nm2a$R7NvH^6pLuSrmm#}6c4K#yK8=$V7)i=2cd-Uq=0gAwp)~x&*6JZ zDrf31)cK%Qh#B#wzO&WeKSgirNh1UNC%x!oMhFl=`I%F7u@s`^lewtEU0xGVualrB za<^BK1V7nA-+$Lfz?036Aw)_XKI%LJij{mc$C9BAT8W$i6THzd%W}+pdTc3%sF#JC zy-?AWnNdO$J+Tu{VgI~d%bPgCYfTD1Qu>5f^N@&rnX=|9*pAq1=5UWZhjI05L!r&( zzh})`O12S)eUI*3rPbd(ER+U_QdxOjdYS4VbfYaAc5DOdNzTyxwg-WhVoVpc;45<| zN_fY<2l_32tBAPncxvvnis8!XXI>KPuoS~e*VJh&TougsXX*|9DtIVwmz0qpPDf#x z&7Pj9NKN*j8V|S5meD_W?XPJn25=!c^J7&F91EMYFbZ=a3V){4t}ElH@{(x6(Tz#x zy!>8YTXpmOgu2>#O7sy_;;`(4o@=6r^R4tO;hX*`*Vx=?tdP!+&RAZ@pV3OXo?0Pe zUs-f%Wx5sv24Q(7m<;>#lj*DQ1n1VyFLRU>okTr?**5v~k%hbcrBBoaY6=}sn%!b-@x7b%KMpAI+*0UTB;_h{G#bp38z$uy2pzY_CnwVz}t%a zh$>D(G91-v*iTHIo@72hUXolhrFIK?3)9FHtW2eJFI7}SSsN%C^uR-&Sx=(vmo&~M zoU>JjyO$*ao214v^!rbB+3Gk6qa+4x~zb;5*pgF`OM4BUw>GwCFnha#~EfgxcH z%Ralj3f%&Y|6wY6nnwV{wp48Wvw}^+4j#}M4omXJ7n}T+@xWPbh|) z3&n@H(jK=_ImwR4C=XnQoAFOsVFP?-PjE-uFK z=9d$)U6&ifo%r9huT7BKPAj@$VSlbkReVJmmBC%oMRfGU!LK4=rm(cIZ zHmk2>hsJdd1n>sb_XU@36I!}S(#6v>HO9vW<;*dIR%*svFOVlZv!nE(L_Z&oOjF-v z5f<&DFV7B50|D8+5RC|)wOpNJ;7QQ6vL6sh$SJxq1#riP$3{MMHa*-=tHhu{^cC)q z*MbeqtbL?(ER9*0Lg|5^=#AxK$-afIG>d z11d1Uqh@AgKLVcOVrEuK8^zXj!yT8!l5AB>!HtVu=tM)O<5REFSAomdykf2>%u-q= zgc(5NQD|5&fzcYEk)&}@Ew#+hlSAXE#SDb%Qm3I0D|0pB){~b5lbmD~a-*YQb1R<(5`dnzYsq|9fK_tr z68bXo=%3$dDpCr77gzeAb)1KGymJ=negCN0FL0@kFR`kQLC#OTez+i8TFgj%rei)v z_fITXvmxB2|Ii^3>DI`LN0k0KW{rX(etYzxO6cw~tGS${+p(u;OS;!f+Q?x%;5z_m zS&0^~N-w&HD&fqx)>L zkXTlgAsV+>B}9Eu+!Ym1e$zT?t#Dj zs(WPB(WY50blj6x<7c*`@juV?8NwFnKHhtw>^A_)<@;IsL$mh}2p=LE>iCN1%ca<{-1O{Uk7SsB4V8oE2Si@g^~r`%@(K=!zjU&oQ#n#|KOci>9b)$MDoE zfcb;!g2SPvW84i+Hq}dgsT9Uq!W`5rVY220x&Hdi4KIIyLNC0Fh;^!=ji1y7$btxK zE%~;*p+R^WzNCKjGw0>K%$vn&r1$Iz8{R;f(%q)2TJ%V}@-R8K<1Fq9pkiAXQ8Cap zIsq`G9#7znSxWbp8VmCchFwM;F(=P-lc0);PlhDe!xY$?sycy!tI1ZJh-4td4--#8 z;=V3LWKj@6Lfo0HmLUifvHGm82#cz3?`=YAIp~{w9dX!9GKJRqa|-oEaVG4wTuz2M zhry=G8E1-sSf|8Rpmh++^%Y~o*9+SIq@B|Md}#fDGV}I@LX7xWSGCP4FBRvUZ2Y06 zp2#yf1ACF0)ic9$-v>9M0I>20sC_6Vn(B(}VIigHv3ToD=Fi zkw#+Q!jC%2Dx0mIpJ$btD}MxY^U-RMxSXSsjd_WfqN~}iy*$pEvO!Nt)9}^7C3F0p zT|Vi{$hj|XYvuC6!fk@v=5FsXX|6ns-M0glsd&W^FEu z`kOVko(R=boTJ7@f`vv-+Uq;n9TYsDa6*(?#bxA3(Y}Iy)jVlc^+`q-^0M;u-_ToesBXj$8 z?se;SLTlHTqxVU3_t?i8g7%R8T$o$jaU;*2>s?3uCMiM@WrK~)E}x*6#`=uC9cxGG zr+YBSda|nf7oNn2CxezJ5&{An6<3elwo~&0?!Krl%z zyaFqcnl`l6x?wTO%ixU@u3EB>T&2#UYg{LT1$oeThq2AJ z*V!Vs)L!zIj|{p_?6af@*E7arF^=(LUGM4W>|Cp4=dMT%e)}zOjLl{G zWH*kq24%E%(aQCT0ceS;ptGR*V|q>I3|Q`EeglJ7958{VH*i1x!50qnpJoUpm#@B( zJDJH7xG9D^xQtjSv=5r+WbK6I--Del9~i5PFQ}UpbpN79_b9h0qX3@$I!-t&y7q1( z=gXTwTK75=3f@FVeW;|yuD6vlzeP9Wr=}VY1+-X-U6%7o>IpO& zK*~n08#pFm-A^G%lJ41NUutx=`jdZ$^GP3e6Kt}#xS@~zTOAyyn6}zyd;vqdEE%?C z(hk8{ZI0?T1Gy7+cVg$7vtA=wbFxZc@xIWdU=nVoDRm!r25kA#whAr!u=iM7HH`4w zjh015!;s_tJo#AhtQg(8HF^9fC+6AUT!AyPd&3LUlYqOgba62y(=bO=Fs+C z8&mowFGKRK*sA!H#kNL+)8IG(A~Hq9%17Yy(PE#wJY@+{mzk2uGhR)y2Kdqf5&Bz& z(N1WMz_aoykPnmbWX@0R(jz0_Nb+z6X}Fl;uQ9O70iEL?|KPJ=pT61oDj+%XVoUYm z0O{DkIuaC&xnl)7UWDk_KU-3!d$ANq4XmI4yE=YXatil+bw##>PK_ zj>sl_Sh0tWl#zYsXcC`xtBYI+^U6p?9|ue)37t6t93A#@+Pk9Gmk@IE-dG*xtU}k7LhVfyL6!4#t@_( zt8{i8cODzf*|i|e_^_BX!srYY0o%7-P2Cv6)>_O9OL7U-jmtq5%l=@Z`RZn5b6wul zvav8&1%yuZ2oaab-4UF3|EbpqIDvSvFGKbArA%dsp!Iss2p-BS<%kFE7=S-k-YJ$V33M!AT1&9AhMx9hZNg6e^wSkzax zv7iLLIn^@k`>$)7j|J3ffr`#xFRU9o4$FnEm~&`9XffN<#6fZY(BF z#_%%XM1yr}!pecY53^dXs;IE&4;C6ig= zb&9x6oX;9pUn0d3uf4CF+TpzEW35BFl=xWJXI7;t%*Ol!cETT(|5859R>#x%4$Yx*h1j%|2dVPz z26$KoVJ0qg@&~u8X<+;v zz~F_DoD6=t&l9sOtS{M~XUKiAI_&38^-!!tt*dZYXx~{Vb>cf~95i_l;bjd)2YkE$nBc<3=JphUbMKE^q z4Xc-(>3+*VB`UCvM~5N_oVx}A8twfU5|Vn17N17Vp%9$@k_B7$Gauf2fMZ4 zad`UJ@Qm%o)bd0jg2a)x4OT*F9f&1W!Q^9#Zns{WD(y(y$@!Ohbs`($0C$#huJdZg zbmLnbTO!q#Lg`0|Px+-R^04Q5?xkuxJ8tx??IeB#C1OJMG$nSM1=NIAVmZPYz zY|Xl-y`&&p0>)aTN3kkyAU967{F`I^W60p$sEz!PZoVDlrQ4UUR!fq)d=NU+?D@xQ z3Yp}8k4X^X&BYQ#a+uVDueK^fb{=xZxE(!#N9QmQyoYOYmk5(m+hMJt0xv#65e@%E z7C?mN;?PQsNr}N(UO5zpinNKF*;L&U)n=DkgXUqVPqL@dSY8m(TtY-Wj_iw9F+h59 z(0iIo4%}=@rCAy!r}8|^_G#N6ddHeHuBL67J9vk!T~x@zp3H)%cf$%ZnijL+@bGBC zkdv2$0-+v?<$^#`{9PcD%^Ytz!D>OGnD=>YfPyzcr{Z9h1!#oPnIWr;x4PyAmb-_$25q4Nv5*A{(kT$Vc31-wwrOVO!`?_LnlIwQZ6M zVhUH_Nazg)Xe{=Z^aoFg46T)N2YabKvADT?Xtv20vE8b}v{BiH`LuK?56Ei2fAuZ7 z*Y|g(x+sRNYRzRWp+5cVbB}_FP!}k)oIE%O*uXF4pSXD*$;_$eS4A=; zIH$>Qq@n=_prSIwFr?AQ>nrkF!IN{h&K7Af1}snUOzFnp7-cMrRor|(+N~QIV8Z#! zhL8_kOB6rX9jlvl<~v)CD|IwulLqlxWA#*>JEd`9Fj(#dB+-;K{#YH?Y4gB9%x19D zT%CX#p3l6sut_KJTj!!3Drx7Yik=GFsYYqlg~vfISly&&`!s(*N3_rfCho-J-*hBh zne9684BJlx-B1;H>Udu|L_tn?Wxj-~@^wx#FjIShyf+TgKjY=7^=w^H`b3G6ETCFT zjuH57DjX{f@|(GfGz*3Zo!;_c-J^?M^WV8?yD0)Bwu86qWxs5o~QN;;{W8Qqg)6m%F)rJvUN%eECbr=z7B+sfm_po{+U zE*l{S;P``u`7Olcr`$Qy;R=gWKU)CD(ae?O`Ew#QuS&X+WX8zN?vzOoT?0ts9Wzzms?s%Q=80Vx#hF?Su5eot%Mt-NI*3jm?3%8{+ zcL=!i(5WTCi$cOZa!KCiMay*WjLf}~JPn(!!2TDTC&t2bBIFy+Q=o$y!-OZ)VA_$T zfEAk*FHvjrHQXz^idiYl=WJMI<_bgkF`ss&bu3>QBVt2wC!_9PEk=)WDiKbaU#I0^ za2t|S;0b7y#Id@M-Tk)Bf)UkWcsgoWHsI`cYdWNMkLHB7KKHP`IS>q@z~2Ayb`!;+ zuLE+FwoRw}g2=dpQ4J7zezJrWONg$x%p(qF4(x%uc9ieYH0*>#0QLA`#&L?sd^c}ikEw(Mn)+;Hi%q@?wCL4xFF1pgbk5v8cxqtm>`?nG zQS}g7o+BBlv?sLK(;GhFNMIx+QNupC9Y)tBpK17$qg)##^~XR1P`Vqqwc!tQZ@d@t zPr^bR#TV8Isfl;%j{j_ILjh<5Pal@VJ?)1SL4sB^G)_ixvxE+Gk_i7Q)iv>`lT&nG zK82Kgle8EYP+CP2nyd|J_)>!$m!fUQXj0Fh-o3jqbEdQ>p^HHE{TzcXlK~kBDE-d? zATC@~NZv!1{ydsnZWSjatYlCoBN}6I6 z*^X0RaP*Hf8!Io!r(Rhq+O@?{Zn8X5e6cWL zU;`kdELHkW>MW$b`8pVg+SnY!#c&IXamNCEr8cUctt#8NVN^oHwR;?!k&gKl|G49+ zv;Xn;@NX8f3RZ;9>Ek)MNvIl5n_1fH?t$)!qMe9%bwD=+peMOnFSyFV?15N^9)aNx zJjZo20`?I7*2rd4&Rr6lqh$a3OghwK7g zY|q)(5TNX$`vBITxzCIs;FphDlsTE(QgJbnFyUQ;d1x6S&iVZbcf1YmBW$;Uvq>I1BW{R9*YehiA*#;q8a`Oj_T1?=6& zp`S&Qy;+3fX064X9vMwp(|mT}QfBwlG8hWGC3Orqf&46q{H=|}+Ep`!=&*EMWvpvd zm~t;j_f#ei;jG`~sRzOO;Kj!$by}$T?w{H%!*)0UG+@1i)j6ygavX2bls1-fhD2>5 z;+_SDkQ*b`UtjJF@s?kM_i)@7)s}>U<3dwBj4j^r=<}R{b)~}!kxiveFfy+U5wSdw8TAfi^l>Udx(u2m;q?Xx+=Jo<(yk~LA z2)h1psrJzSIEWWfj&oMoy4o|P)hCRo4-H+@h8Ru97S`Uk!syr9irhd?VqFds7WE`3 z7bnoQbdJX5ctV_wIrr+_h&(-U>K;(^)F|nysN}s8SNt#m$;pk+GoXkxp}6Y1Y#$d_ zgv5RFCQ(5-Ch>@sdJcZPsTKJgXmj1JrgE?Kk2=|*BX%qxl(ISzg)puOxh9!TGT;BZ z=!_`h*PU>?9l&hU7`V~hcqESAH=CAR7hR_z0bA>Pk%o@7I-wmV^Gd_UfvrKXYdSMj zzD&r{(rH^F8%{t+ipjWQI)gietT}X+0|~R`W&mj0-rUuoA7CQth@^}hf0kBNRx2tB zi4j~AIFwvmA4|Vu_d~|IW4#+%adctV2;$&)t-gIaEk128MFaMOYhAJQ`UIu#7r>v& z_h$mO?#aoK=!uDTN`68^1EhF^&({g z`h?<(D%He!GB1QiJO5voO>gauRw~1}F^Q7M&Uaa-7JHc19{{v9KMQcTb?51$-U#Ub zV0+DAUvq`pX=aSUaXTsY`X`eUN)b_C08bXseZ_Pg@Z)p=5+{DrHeK|hEZeb9uVJhl zc|($Op4Xv24}nmwwqpzUT$avX1eqhoZ@81BXj@lLzJ3Uf$Ijy z7P_km!z$gNt(T7IiVihkWd#yZLb1H0{ zYe0w2o2sn0hPp=)T|L0fB9qHZ_$|Nha@Z9tJ)PN-27O#6NHhZgdHLfvja}E@rzi^aMsKEzz}IX$Z8>{Xm^;eMq2C zWx%FF1HL!*Y3sCS9Ko*|OIra0WNHE;Tyt^9@9iFz!PvnU`{+aKc0t4@*!W~0P3|z@ zofA8dpPW4XgW<-y??6%;ndMiETkTWLDnN?`RDh{FGV^Y?=rqA@;P2cIIjC_Rha4}v z;0Z{@XT|W=lo0rlcEC5KXw6F?+Hr9qKZaE5s@uC>d&rz>)N`%S^TN-%{hAT&V~^Qe z=mk9lCa)qe1f8og&Xn2%;I-cU(Nj zz9Bj(r)X#Me{$ujt|>1vxksLqk#Z%ILlus+aYMZHg8y$ekkGCb#U}I0Orw=3_tmhziQm4hd_PX3lmhQYp#AY0E_J5d zk6?bgx+N7Nbf8i~!JUQycw+}oh2qOu-&J7W( zD;bNngb{?gPAF|-75uuBt;V7h!QR6nz=tu;eBFJfVfitcFApMRwXzGhV6j;yrIzZ; zHCKylzlkJLLn*Q;_gxU0#i;&KY8kW5ja zLyW;5mc z)^i7Kr(pZZsdbF;n&_k0Gb@bZU-#w0Tyvlk0Fip781__JD6q2BpbztU#*!ahBGJ^0 z$^5DCf^md?9MjS0IF-T^kpL@Wp10*zQI(EvFz%-D0M$=jsBxIxa560MdiL9j48&fW z1$1BYsU#%v{{ z3JiLeUWLd1h4GgsAArZ1T(|uyC^zptWi|XMV53df+y#2XxdoRc^YgLn#7-oO-SH*o z;BJ8ve6h@5#IEvulcQ+Gw#N6nkSOj+;63{s8?7BqTry(hFy}ABvp{sz%;x%&_9nBn z4Pr2pcE>;rTPp^VV=zr;n|u^rEeo%+4IAAq7$kM*sBY#cC*XW$h)<%{R#c0jXK*sC z-G>n`qI3)JIPS5C$9h_>XSGI(`gd3Nuke(=D|I>+?gL`Wy`)i~Qx0%|htjK&esAXV z5VH&wj>JteU*ULH&(VU%p%B}kF6}xyPlvEYsP~w(;&R{p&~`6{+gFD44Np#!0~Fvt zu1?(`F{uA$;!#d(v6wvEx4ph;d19qTx)u?BYyq4^F$j8Vju+JA`e##iWW1FF(qZ}( zH2!7A9UAAnnJ>`geukclifH@-;I+qiEqQZijpqh+of8ECXeaxVLzqewmH?g{FN1gd z7<=Nr_HZr|nMjM}#dp>&6+KaZY(X`?Lsl}WJZwuXx?akQtWx5$O~mSCkT}$XCS&@~ z%80y=^*}4Wf6P#A8iTTDWblXJGkg;$kWRg(i0*~vLwf1WBij%-ZBGmX<||#lVj{FQ ztF=QO3vaT&`1(-Q4zk6T!9z(z!b<^_>(y>NJrt2sGV*Fqo~PC#eLFL_Xloe$46Q|t zi3d&3>4%oI>M)(qrx~*#PvN+Gq74Ll+_YVLn8kh*=V}mIG07$PYWQ_4jPPy%qU$a= zcV&^1rjYzOndYd}6Kz}E~*?lf(!>A}-D8~Hy zZUoQ#UJ5wc5E@@_-!^o_^zegHhcAO3Jzv{EjmQ-TM7%=@K0p>IF3JyP1_LaJ(NA*; zmXe*Qxtr2+%0pOHzKhTc=C$N<=0`K3KypY{b>aGyx7+{Nn&+}harFb5Ok|dG~ zXFu3&q#`a0pEmiY%VJo2^z)2UVPD6WXnPxUIUi(J6!QrOFPx#AL81SeuM_K{-YZ84g{;V4$$;A__WX+O_1 zG=|5G47WO~*>XBVq=&%eX)L~wByh6X$i&Vp*V6+c0cx~XcN!?S)xc_+b#4FvVF6)nl(3R zQ(91##6QXawCM8vt}FWS2LvVS{d$%nD^ii?c5xI#dDz>w8)aF%BAD0*xHMM`iD~LaZS5GG4U6DU1ski*;b5-y z_+F-ha|h^E0bdmU>zHw_+1Z1>PH&V+G4(jWTO2QK-cWtqNsqG6reFHIawZVU5e>EO zY&+iV9_X*$p}x^1ogUIw%QwPu)NFV|bUrzV#f~UiLNMZl=$&T(|J2=3<#7cwfM$%I z_Kb%*!zP@wSL%U1=#6|!as)$`M3m4iZZKB6=#~LgGU3Z9V3n7;!~a>A9{au6CF_9g zFyt)``|kACvmJ8uT>9#->OMk6D;&vdmxFYM-rkOX2`)MVvYqe(Ed<2d$l{U3ojyMU ziX9`sfo7$O6i+7L+n&21?N&dm+nU+G@=n{+cXJy|%h+)%WZHv)8GQSb|Xzk`vQYyekfbYx1CSX|z7|aW5=Z459 zEJ!%{my}O!!txFL%Ec@Nw#G*v8O;H?84^k8l`yX8`2_PiBm4yJurx>2_8wklbMfm( z7G0OYj6f1rSNxVQ^mUaxZP^+$$6G&@1@e-^!X^+7Gjl^iDB?2fzR189cwKJQs5uo; z0&W{McXYB&OYW`zpeC0aYsbA6wjt(}{#$x#m)G9iP*t?0A+&rKw}V;m0{#(GC%57D zZ&N0Su=-b43}l?d)9QFqyZk{7J63x=wSy0^w)}2mI8E%e1?6rLCsw_Bs+04P_F=?J z)z>Cj1hRgj#C8)Q;xtoiGa!YynX{JhJl9MUvRNOJMA)>Iqx+p=ESjz17oz;yTU5_DoV;dRZSujFlrUC}-JX4kSiQrheSgo-9);TV z2(!quGL$WpaL+jLT81MpJOd|*!Bz8`g;nC- zQiSCzZ95=idO2M|zs;lpI}fpQxl%Nc{7Bfwl!C>0u5y-t9}gd`;>~Ly$CqhR zm^`gzsaO!_+&>HJizr(2$XJS10#`;P(a;rc+dg3Hbe}oUVSS9XsZO_M+E6b|YSXYx z86X!;5alV0yoFm{h_z&AXb#Y%(nh!%1od+Yj*zTFAJ@!09Uj2)^_0=8xG%rR`ZD5 z)pXuLH#>sptd(-k1eA!&LLH1rHrC{sUYB~;8frYPB*oG@?I~j>o2b8hFp)xPOX(C5 z5P&`n1&h3`{ccQlLY{Vu5BeLWtU4#^b|j{&K7G{@{qY>q4HYBdRu$EX+u)*~)m=%O6h8qbTUd_JEiQ0qows9Frk zysv-=nknIW2O{D+ONB7&2qf&FL-#41&Ml;|5dx3x?Xl0(=;YHc<5qs>bWPsx^+WS9 zp#79Ug~PiHr5zK&hlNe*xdw`IJY4AGR8K|fb@76duIZDjSoyRveyd|_;y_(Ib#o-{ z#qJDvjeCfams+_GcC~Z;57<5Ax%26->6Q%yA;)RXt)I;KyN9#nJn#@ zbWgAn7J*_IT))xK9}hK%@Bpr5G7p$xM@mhwU$a-0Nutv1`rFe5i&N9_de(bGydHfyVo*>SsONt`~piz|oXV|ihf{M35PFOs)$-SF-rGk?Ekw9|U)BDB8^kkpB4Z=}v1ze1_WnP+e5q_5b$ArRjep6^B!@^eG5{ zLh~rietrb~>%Um-x$wV;EWDav)?Vsx`2V0ODwGi=zeZAmeXi9x0$Cg<3$EcnCExq< z16->1WjwRJMzr)DyzevpaKv3+VvH&Ad7ebx&GSN|hw6#@am5R40tCx0n$ZvshP;0c z?UYI;-!37%k^p`Im|IYl%wzEiMl4MR>giW}H^XM0+qWhX|D4SaA_a;H3dV(Eu1Ign|ixx7S&5wX;QnVh`44 z3YQCe)M=X2@zjgxrNKC4kMIEDAO&+cIu3>6JXDu+QZkH`RBaZ&)=RLcP9~Acygz1m z;{5iP=VvK6o;)i58r)vk_O=y#sl{=|M@?ry&^8X=+1~2Zl$SRfW3vWUOIN(e0Cz?| ztaitu4(gb#iw!kn4@u92u zKQO~699F3M5p)Uxpmg*0k%liW1FX*?@XJw)(9Rka`H%XjGs)vRcH_0;(ed(urJIvn z4*t(NCP{b11re&$R342Heg@y!;Jqdgm{j4ew7709E@tbBJY@ve?6xI86@`N>^tfXJ zgu5(|+*@{>-vH#$abttFvGpdRq`6`}QP;dkQurTLFGZQV>hiZNJ?c5^R0vd!K z?!-B#>Q45~=|94xPy(x*Kce2cOD3IU@cT@(Q>+esMCCwxK9_l)+`Lu6n3BUGBw8Ue zB<#8fyPWzP1=MV*VI(Z|i=- z_7%8eHj<**nDl~672N~uM5H2uk_L)m2^|CpE2u803&D4Ygg)M?e(p^)bK0T_C_Z!T zz)(m+-jO3tjXuUL>_`-7kaBnX_E9Lh?He8!p)OB_|5TQTBbsy)B+5?M*Y?6jK_UPv z=%eqrIEdrD&?E{If2 zeG6U{d2fgt3E!6pFIU(>v+;4r2j-#Z$NqH)GXsrNj&fTbJU$lV=3aQVVg;O2Yo|QI zL1aWCsF1Hkb<{8gGWf3{i8#>lVOJbRP5m_r2QAR8YHrYVG;Z+!G*qTDu_}dTxTZ#a zqM#0WT!5kkx|ZK+@FA#EgNJ-sGJ#Q37{S~y^tJ~_Ku}c1RPe1>1S8ZPtRv0Z(t6-N za^x>G05VFWsP2j zL%=EFDo_n*9&OQN0R%LtSxiP+1twrM?3~3M}y`r zC0uH83%(2_jR)dIdn_u2JC+T}E3Bu60z^eLhn@APMdcuLnvr~Gj%J`1 z9`c2{?GeXV>DL9bM;(5*R@akE%SphR9_8w!hDhR}KZZy@1o5JEMHN(-+TpG*Yst+Z ziyxRWyp@p8u)%AIdopkSai5JMW~08He&su@4mgW9EcjPG4_)Xg_o6r%d7KJr`J1G& z1B_NSyV{1|wY^xf&jl1)8*=I+Lz9`bLEz(7N+^3W?zH!;A_283HcKdsn!f=nLg6O; z@rv>NCJ^mRh*A$EYD!|I4Oa(O>B~l_DKLF8;`l{f3m@~#!Xk#`9lV>&v2!VIWiF-d zbDpLR)a(|nG3%4K!bxe!Pj(-`99{C15ntG-#yqpvs*v+d&XvQXnojiV#3%_4GPf0yxxAuI_Hi- zPTmL#ySlC0ISoJvT_YSS50$DU=JV25&%5E80dM%9vYdt_RJ);uNNX*$ik{^Q8P_>k z@3T(tRWTV(tD3=MmugVX3aj!I08hVmyo5U2lBQEcJ-{|>ro=GoG(s~%2?G77($^$fj+nK{x-J)(g;5 zOTpgh2ro(>eR%_gEmYA-kdb_^d;igwqcIW=M76Kl&tU7Vo7Fc@%ik=@sFw*~*+KJe z0CX(2M)p`~hqWLEfSc|Rb4N-Vn;z{mhkYQ!qAN%h+(xS9WNU0tLZl~md{;$=5rAD{U*e0wDqIMc0yjPVt zu1Soo!Wk|&cGlRBij78AU6)o+2<}AYJLC-U(328%Jj|Dk80)JTB&fn1|% zv0hO8bU4(7@Y z8({Wm0L1UG4k-0-c;`TG>U zBK3H+=T)pqvp=jkBxn28qyZB{t%^^KoqTs9RDOwWfFViNc5A&x!2s=sqG3)qyF?~G zPK=I{kefjrP|*+kW1+$ij7!A+Go4z;8H9yw--g!&1pi;!9 z?f^(5Uz8r}k?Dt?a{JV7?ZBjDVK2Y8D=?r%(|zpQhqka5rf4$A~9)z%8n~4 zzHdN&k^*5U5^p$;huK~FIyE<5bg%A-Pdd zgy^OVyd%FpAv72HN43A1{4&7|?XClu5oZibjvX;4v3&VH`|AoqPK1RCR+}m3DT1o&1!>n&fH=Ivi5*wB z4tjIk*MtuXLL(r)fmiJlTHA!VLC^7Wp{<=78J;9`J`oNGOxys*WOb=a20Vm>$RTuQJBhJU(p|^D@<^r!Y6>AGr(g6SQ{gI)vk(%`r8F2iUkS=11Dxn&S;NUY znCf+(?W4LTnhh1(%q${Hc0#>Y=?%KbLIhYr+on2^8BcMQVt-$7h|e7bm= zp9|_G_CWDQSt%flryIzVEJ|0**gdIcN}X#?^k9>B`D3?Z;Y{z1CWemaSas9^dmpo8 z%|ByvuYL6POAr6O8JB+K8r|nmW7VuB)Pv*;BH{~6iG4Th4$Bg9 z9pN`J(0SH*1fp4751svQoSD*f|)J&hSvC0$zrpE5Yy%q(ruL* zIme!O?NlU->}2(0Qm`pmyuTB<*kkxQ{UKw0Jy2t3V0KU1qz>XDQ*8d$iq;a zXoKK{6Xkq5gy1NpCFCwBgGn0^b7anSDnOcLm`0;Yw2VR>Hh!+>ji&+POTe(I8etF4 zSHBZp1ZUakRE%JCkof;|B42fFK5D)QRKQ4iKtv-LBuA<*Q$Sl1@R5Hx>GEw*qO+Sb zU#iE`IQH5!JM~t=bf}zeuU=jbf!Y@(oYx|&S5>(FV|tCF*m1nh6H-PSY$n$90_ydD z&h9fH2)aRmjbWV%Q|V|{I2B{0OCbYVe;k{XT0F2$Z;GjKz~AsdY1BY$7D?8igdA1- zo{RzcR;OH^EQ}NK@OBjcks8g)nR>uFvmK3J`1)s*yy~UfP=+`=#S2Y6yFngH73a)ra&ZqxtFknRJSt?Vzfd_)Siv%l~uT&JfFBPaR}c7S@Wpx;o02W z3Y1j5hcxM+B8ur*yptYEbmCh!uQAkxu&PT)83SF(7Bx=e#Cu2=xoPv<(8MJSs+a>I z4PoA5&w4}kF7#wjONx#5B7pW%*eB#fWy5)-shOUbwa-I;hIjymWEuYJNBy@4C&gNy zkNig>yKrA;0;i#U}Y%Rd4BlsH;N!G~3WnFKmPK*a|?i>UzK5 zv0O)coMksf<#a1i2D{W9Y8nX8t*@2G#M##PjZJix*M5m(`YoHt}TP zcoeYeB1nF=w81T1SVPV4#V2^Q%YvNUGd|}Tnt`F2ih5}DFq;-diFAvR9`6gcd3$54 z`UXGb0=*Ry`LWUrs7l00hI-l{;lgFqOY`qf@lKti%AdjU`4}^{>C8K`RpHJS5p=8& zWmi8Cla|aQ$TCa>g8`*fS|dtp1T&6z>4HZRf#fN*{Uy7QvLK+!fPjJOzooVzSuK^Z zuvgzc=YPwKzo(BsOG?~yfJ)Qo%2yc`z`H&jx0B`m%dEzPLTw9W8*iMC!`i4dhsO&M zTEBMVN6f>bX7p*tq@+g4x2hm8ZRKG1W;%Jbb`dJmgc`m*)9I5;zq%S}k$Zu1Ldk39 zn$)SNewdK-*6R%o`H_g~rZ?E2g<*kVk+1#VAQyUOT_{i$g^I6X7?_pB#?>!w3XO5I zl`sJxLyRS-E?HwN7FoxWRmZSFD6Rm+`jSopgnb3YL3Ypb!QD29(ngkiT+4aZ9@d~h z@#*oS&DjwHwh2{_Qc@P&4)c7E*-9^g_M`5s?1yz$YHC9K?H)Mw7@80Pj26j3BhOHU zI9%1a0iv34l~G`?BZ`l=41Tw)>``?drSkB6;4Z$lqC#Qn=Kb8hjGOUf3Bz4u@>qCL znnwcTA=G!HffU{7V;uP*s>{y*OP28vlkTcAy$8yrBg%aRnd-(SQgIRGU5B!6>UrpV zZ}h|%Ub!|3qmccFV3XpWm@wzp>Gxgfk@`Of9I5*AEKY}%Vw#KFJ>c9@3W$Y}u_F^g z?kr8tpKvot5N#32&{|@`((Q{Gd5&DxJi3X`&X#o@L%=F&*}d)IXH-`>vGsS8AObn| zbNN#F-#BW1p?v$|sWQXM&leOpK!uQejpMNMKf4X|(KJ(9sNnkEG`}aUS{)0T#?ze9)zL2^+}g1$?=eFFM|VBC$lPpvm4u% zYDre*%_al>yBc=SY5nf|O$3I*YU98$5qddeqc_{VtC}KPZ`p+adIi(8vqe}@;9k=? z&2%A^KAj}WjklhJfOYL~Y^&ofG_RN*4K|vA1_HTsn0h{ihEbAgJ znHZ0EeB51{?mmdTe(e7%_$i<-T_Yd)r;h)(>#<2B{h`oU3ISlm%OLRwMq+mW!Rq(w ziS&Ne#tOMrE3-b{zKaZL4aLO)>8cwer*VtNcLrYF-hwXTAA#%`mC<+YcR{gvV3LPZ!8P%X)MaUZ$!vF z#&(9tF~pKayEIJHwxhQ~VYQcjd!MG=PQ3+|BCJ>nmVq>{i>hujYbE0&h!<%-D*i{( z@+gvWCF|>Un*qddZ#(^|Q9qwx*(BUPS=HFjf7(*)lA{!%#B%2B9hP%bPaA~)Axn$R za;N&gdz`4I;x|p(^dr#Alo>hp+;4D{|H%KnkF+oVM`+2RD(JtlhG5LzCa*(XFY>A0 zu%ej3P1!!}#SP_uHviV6+5Kr$I90=!O!4A;%D?cWq2YW^63@&wpW^th*Xg`s+xU+D zCCwgB>OMk3iLh-u)^^1gDjolbdc-GT(oLWWR+^)^J?w!A5PCro$#~Pl3(y_F*`u^U zzN}E*qnC{VAjo2s&I&g6-(TUVSy3g>JaUX0-0AP<@_>m=M1MJ}$d?B!L;LvtH=RXmCU17`q@*9jBQaUbitZLj ztQ}EjuC?`(=lQc!RD46gA&K-Jwp*w-`MS6Q5x+HhWLe|}5}e$vih9brDt9Lw<7U~FcI2z&s7;?9<(GDcUW6~IosvGlARs0=03KtWqj zD?oUR(z^LZ?uRymcS`>GQ^cqtrnx4N6%r0iB9!lx&tu4^vGDxB)t>-IVcV@$A|5eZ zALi#1O+DlDwN`-S@uwjbwfu()R}PEB{`^ZvE2-61Nf=TyT)u3weD%e9LE~3w*r+~# zcDhxZ7lZ1o(C5&s(4}8?GF9Xq^I!0psV)}WXZX0wfYgf*0)xJ;>weRIT$EMAvV~hE zOSB>l7X06149PN~f$a+)MDBk@SBiG+acJu(>25J0I&W5NOeG`)+{ERC(F76rlYCyU z;)h9oY7&Qyq?QUsu&b}KKSfd7I(}|}jo&urF}<@8bWP}UgL#5Unl%luSd6BE$?RjO zW0vS=OOG0_)T;YTzk_s|H&AljX!p@j#JnVoSu~>msGL zV>7~_)4PyBJwBN)rhxX8&_yj+tg0VJPbhQoz zK$j1z@-rYZRrq(hu5Cak@Goc@l^Lq{Ey9qat{t{bB4f%1?vO04J)L(Li8<#T7$m-a z&_!Z00d!)U-#AECxbxn5iB|2Bj5>viPt7tZ1OhCbB`IlTRE96`Z7=G$#<8UHRDPHU zM22mZj7UIGV*?m>M30znW18mwq*SRkRvh`@(AI$u%ztNp&2n}k7Rb1z1h(yS5oZ?` z)Ypf68~hJDZk^Hq#)t>iG`h`&VE1Q{=2irGSXZVJw3v9h)KzNnr6g=vMt5CBhPcrNs7)WrgBD0EDoFMe=irirUx0>Ar( zzor@8Vj*1wqcT*~AWHVe5@e|yk-gyP)w;O4({yShMg5ZQ;QW8wrSd%Oov}Svm6~mX zqxXwtsJL!`+&WqXfpTP-Xg?)Q#NV^lZnJ&>won4(ObOwnp(d`=CC=T&E-~0VwE1n~ zz2)#U)yftzFRRUy&n%}(c=T>fj9gu|k#`cvLuFJ3>IRu!CGCNAI8!!f)|!{rQJ3id zSo5!DVSWN!4lO)qp=w6o@bZaykKVTIOBrwP^i zKNnkldVIsx8&GPomML&ul}(H#6Zisp>|k-Na~B$&kN}0nls_w~hf)$_@I{NCn=Jfs z1=bbbMWww!Wis#Hi_{oSl|Ep@mbSFOE~)Rwr39yDE-Jmij1=mGGDm{E{BdO|t^-i$ zPcjb(95lHVY(-lwDmLm}QPp8&(ea9T#)RF#iA(O$J>Q+LaC7WVzZPJk@ntKut(?-X zD=;l&A4thR6|G)Cq$Ub*+|he8vC$Y_*pUu% zpN-_1Vcg24;)xWYc{T}N^wztM{+viqs$3m?3dS0)NltT=I+M9Y2ypPwnyZx!U5e>h zT5)7dBx~cmyJG`|sc}hKDUf?;{oKC@&0YlmxbQiE#0j~s=IS+qwH+@On8O86nJZM{ zYaEu|`oo%h4BL=u7E^>XOprBouf1Vq#p0@D^Jq;AzJTUJA5?Fk;%`s!s37iLsrI$# zEMP0L2J?I3Il$dK5hbx}p*$xy@<_W;qgx1aS(BnAZ)b5FyLmBoWym&{1k`Ax!#dALGYM36pd57ZH%%7zV*I$^UOx znd{;06$^Nry7!F4WP{tW>Rc1aRrSa&OZ;H4PdHIk>ag=ht&f@u0GL(7?Adl9DB#2i zeZ7pi9S8oHM+jxiGV6x;s}O8Cs6gR$#na)%lkj)28Mb}$uB;t9i3*??)@D{n$x8A;+0%*?dPby^?A1%2jf*ba>@b28IrV#^~;nj z5K4Xm0C$K)>3ZF7qCXyqQw6EnQDA`5(NrnIJ$EE3QNS%lTBZ*kO2>{wZxczcV_hlR zULKCXaXT9r#gpao^pZ#_!^RemIabbP37+tMfC?&XN@$7?%xCKUN*0o`*W!9y+27 z;tl&$IwcUuw17!H3ldVO_p-XEV-b7zbvv{9{niHQl+rd`zk%6O_Z|!|N+)bQwM4TD zgI3nzH(bWV@MXdSLai41Gh`sT2R#Q4J1ZKD>Ec|7x5!V`%<17m!P*~vr#l48bCCpT zOS(0XJr)GM+4{oHdr&fNRx}HqEjew9B|LkkacVxW$KXEkk|`4O?}ZQt*Rqm!?IZ3? z_DI<$(UJMMP<((Rnfie=qjB&RqrG*_gjHeG{3;45$qr^W6p%6!Hfo$nxjD&DE5In> zlhT)YY?LA^dgcM8X2Z6OWcRbX!L@3ubtY@rDvoZD`uQ|34M0EBkv(YLg5phlC*KCz+O>nj+`dnU2zCl94)4 ze;a1@!-)thUFj*Iv!r&-08@FVCr{tgmnnG;h&n=@K*`u7(tpS2HOfBeZ$t0beBcSf zrc$$WcTx4&mybZ9v+$dAAA?_TxV@L3xW7&Bo2T>?_K2W9pGjX7CR`CJL%sB3ZUMp) zAS=$8;BS@z*&$eDhgWWkQ6wPp3l`uT{qyPK)>%KtB^AP{cfOaRKWJ-dH7)vfbB}n zSW?HBB<*=)<;DJ`9*A#@{0WEA@lH(R$@rD)#Z#t73l3y9(R@?7_!dqw#;u_}{j($; z;pfnSx%Ypg#B=45xzSGwPEDD$T*ch`#?gR5S)Kb+dY;DM19nGfC12C0MbihPp(h9; zc3-k)HwC7hO?%m)E5L5`6%Sz)qNYgTb2!hbX1NSG-PS3-*4dj)3hX!Jym5f~VLD+T zrTSW)&!w3`TMLV>-sEOM-iEVL$do-j@Pk%d_9m2~RJ;Ql{Mmg4G;ODXtiTW1JaZKJ z@`axc^dD&@`C@}SI)$h+if4hhjEeq*613FZp|%?Dpn}J&;KG-J(tQrS#QLAp3ic@b zvFhsHJCEY?@3^#QN|jfzy_HfXhKG4ky#sUzmGwX%q@yAp6GwoWiNG=xe^!0N>{I*k zXj@hCeKR#FTam~|wY4!vVJ_Z@h--O1bH$!-WIK)?tsEjnbH#K)!&TMpGVtw-S%YHR z&CoOPiV2L#a~g-O6@q455~l)HT8v2K&uHo}$xRtTUv)U$INoQ3SD_45;!{$|;6<4~ zQWl>&Oh=I?t`xC&tKAxsGXT%PBo}p3E@+b~5)=8^iDUnElKNkHzFd5>+p6u9TW)2Q z@}wL&Z3%2iVp#Z%{!jlg21Z9uLvc6~flWn(M!!Yv)(A3DIFmYNNE{~c6X>4$JluAy7_)(5gpTKh zAnAuOV1r^Jc{Ym%i0J3?3@Lg8AhyhmKgzqS%`j4)C*mDtX*(zB-@#F>UA=2hL2ebW zri7x3c}v#Rv`%So8lhXsIO8gJXzvF_&Blq)O~*+%(Aap?OlZmt;zQ!Pl@^riXIW4>FM`uEr$C^=*!hfF@)vpXB+pQ$hDtoP-^H+$lf|#Jiu?6yY+t_p z^;ABZXNh~Wk815fEbkRb6x;MKYCejI@QQ`I)I%W(dO2O@9Lt<@ zhz%ynK@(9vbw0&-yCuB)yK9gzjDvPZM5K~5U{&eT8tNVNNhDsUNf@JpPCtYHjb648 z+HT_wPGUH;^hgm(Z+%;$N9`%-Ec>ISXkyS}P*T<3EZTjK!bsCziWQ zy%oW{M5l-1dAqv>bZ_M~1=OT^f+$W2c~+wuxF$G&Vt!UApx3S{1p1_((3wBffi&n_ z#tFr76}6Rxb>=Is5!@lM83my3m$(;@6p^$*JUIPgw#khNA5VGv8I``?!B|+>GaEq@ zg$4F=EgJoA^Zm?at2JcTZ?<3&KQ(>s9@k&X@7YvbR(WPDv+K2!%wp?S>V-SHeLI5; zeC@&ecQ6Zq;V@%FZ>Rh#s0$EsQwyL1@w)6g<77jcYIekQE>~@GYqllnpJ=i| z_l|JYP<^$gHR$V-wO($qG-;Xi43Ke2K(6?)`(Col9O^n*aw{X{OyzkcdJY1HYL?ID z-|=ZCLk+=~_br%_bdjnVL~7=;ueoM)HIISp07>(@`t!~G^hmqbl@8Z#8NA8L{KP5# z1^nWh#HCs}R7@k;rT<-3Z%T9`<_b!Viz;%G>-a_GS%OO`!WojoHHHX^0BD)*E|J)? zm_xwu7>cqcu!J9WA1>be>YZ8SUdDP}8r>alN!l0q-Op1Ph~d_EO#cqwgDvu+O8n(Z zQAn3dNOE^WYqyBA$TjpAPt~vXcwi|Csyvps8Du+=u-UX`BWJUvy*Z>HWuC@S;jc3i z9}XO#szl*>L&gOd$hVGeB*7AU8TVCOt6MF6Jl5j66o<*x3*B9!boI)V&AsLH2G)0% zHl@KgGIzVaWc}K%3D#hZ!+s9P!(?mZ`_EZ- z4Pq+X#L5IJkW`_B+27s-NZuBbcl3ail~Pu1vaM>?=3Wk6!gZ}ArHZ`>3(9)0z=XIi zy^s~WVK+&P`RGy_eNei7xCl2aPz^Iac_?lb@vt*Ib5T-X8t=BSV*OBnBT+(dr%)f(^>=wRYDr{02fTrCW=-YPg0F$4 zn6wLX#l7Ps2NeKoa=_Sqhdrk_zVpp4nAxYt9Ph^thhfp#?AL~=|j47biXPQ+z`ogs>Bgqo%GNV;W8B(aYI}oD!gs%zm+CXP?%n_q~bfTE`njj$NXK6dXjyD z3M5mWZjPl793ff6Ce(*gLsYQ9xTW3D9+=b2%D5G`83KP2ERNyd!MDmZLHZ+u&LqEv4T7Ri?_+JlK zQ~SYh3dnlm%xw#>S;!vUpnBvoBakgz@aVpDCM_7sMZpMKKcm}qjSxTYTr#hn==E}`Iric(T zicOa?~%4+>vWp~C_mYwmKJcDP`L=Z+GfMHCX)IUj@0g7z3MPDTh_9yol% z!;2}jMfde#!;=wPl{=IP#~XbfCGwUdWm>!|GlTSGD4t~^Zs|&tM#& zK%M?OO7_?IR9$z>F7=Vr?#~T7h-uUr`}tIgkh zAj7#(;4+DeIjHfpilFguy$H00^OEj+__HEC5+tk`>kW|WS8lK$`P^TVSTQW52yFOb z-J^?_Q{t)a-N5YS2Wce6m6Sq|Rkx38O+3HZ8{fG!H>!c&;usenjFl({$Hm2My47MT zt`G2?tN>wT6>YB0jPpt<0mzy!w>cREdyi2evXT6(e*hSO;r!yt6P~x@6R*7seOCAw zWwp1DHpV6M6dz&5FG#OB&U!xd9UI44H4q|dRw1-Gh$CCBp-gC2g1aV@$&x;$Os(Ex z*QaRVO`>SeT-#3k%_!L-86?_1MX`&gsvC4F!^}|3*MD{AwO$#8O7?(zqSoO9ei$P6 z3UECJk@wtx@UgPJuPL{K`qmFu4oS=zB4($IuQ@2sK!D<&RKmYpJ4@)*bw}!Dj`uuA z>8D^;aryW}FOVH9PZdh3>RpODbHh$^ibmHZ0+n*wP<`qLFm_z3Q>Lt{=DHyW4d>B^ zYXrE2dZD9Vg$ax%1OFK*jNR4j>dC%!lqDh3eqjhIA8JU0&DX8LrcHxY=~8h`eiPF` zW7Ei^4JD6E6@>gLECc$j zKGdSC=oTEoph~0eGliV&;xM7o-PWR@eLY zmFyBFk74Ixan2D`PXCjPkioe_cFdzKSMg#*xxwPUBHG?(zemt=)M>}%Jh^GocP7CI zu-SL*=*7K)A7Q#JBpUHYA1Q3S&6_{Prk>(Fl}DOBw9Ele+g`Bn+;K@t)BCvfR-JYQ zTN5jt3UuAqL4*b6MQ?;~M>mZiI$mf72hHVgtLY}YZ>a7|HEw-}JO!m~;kfmI;kZSg zm%7R1*}nZN%=)KmF2$YwYCPN+)#Kh{5rX19GCFqOV*!5_kM=4c-*+?RetIBMi$U3K zALtuy|N0L~+Gts)x`Ag|8dj(P3tjpy!|j%%%CW-xao4_{gPjPt1=S(LMd#BJE<4IC zk^{XdQJWYa-#rT-bs2K~gJLn3Nn+#J-nf)aM4LBH0d2qSsvAv>AJ;>@d4}>b&)4sW z$o~o;IKwtQFVb{om1+{A)r;`vVsAUkAKNmqVFG2bNs@`gpgqclXnip2p0&&|1!!FN zssdBj&}c($3S9B_ha2un(6{%PFq!HV@C9JX$-OcKq-#Zp@NP%-b*$vaRXchbyVIe)pW$TpbTaEVNyw2i3pGJN_jmquaJ6@u(tiSK8 z0u7YjJk=F{d`~!hCt1*SC9x7bPlwcu(eLQs4+^RqwHDXqeL->}+n|YT^sI5QZTFM> zy{XAXvvYEE(fWOYksC>xFdQjmjqtQ|z+#DfP$cJ2OKt9r{srf#*6f#TVz&azWuTTF z-CGw)@~7jgQ(tx-^rQLSr<3!_?C;&5jSWJ7>qwaj6*gZHOVLacn;W({o+xP!4g-!KJ5>tsH8Rs>LVI#qGc~v}L*iP2P9=3T8Wdm{i=(pqT z!zpF(QO-#P__dH9qJK;r?U}3jA%1RoshjtIl%iRTy95 z%j^!(U2h6Fq;&2dkvu;aPM(>1LA{*}Zci9x;s?Os;u*1E6j)nOoL4hgyM7b8_?4o= z699|G{-^lctTu9)1((XT8K)+;2S(@2NfYi3_dVxP0S8p00_4Q2EvwR;qnoJyPOMWu(z9Gn$S@Ea8oLR6&< zhLeJGbKmf^lw{>E6L(fVYj*=%MDaiM`NcGjRh$WP4mhVej+X?=z88SM^Bq8j#We{C zj4@gI-kcI^RXUPMbAWewo|!Zs3Ht)(3hZ;(U#b>BycSYJ3tD?nZd_V*-T=dcewblwNuXm#pH6e=9hS@+Oe%;A5F2pTlMHLR(jfr{tW%ZnE*Xdh8P=KM6==`Wo}j) zFI!`1h@ZA?AylfHwS@T*X?{x_ICT!bE6dJFk%L$mBc&YFGE$xcf9@S#;!P{WS7zki zBgBk1ogK1$_3g@cVz7B>CPCwI+pVp+r&{_8;3DrT{5t!@!WutXNUr~t4?!7%b(sev ziDJO5C_tAsnGEVm)h(BB?6A#B^h$&BJv{joFD+!^0&O@My4&0aE@qQeF35^+k=jwg zf&=xt|K-e_C+3w9ofpq+%Cwm^W3rw69!5rUUxisl?bHY_n&(Nas}kAL>f6;W<|+sZN$T1X%8 z4dG`S{T&98{_Gxx9V3!Di4Kbm&{xSmCh!zNcHnEaNt8gLECH-LeDMVKj0dqwJNzOc}Me_#?l&f5FAaI&BL zkF+x3&Fb4Qx}S|B5Brrc>{k#LjVh=mXk7B&fmr`6Cr?}n*x<#KVyHa@z@MYU114$| zR|&XF)zG`4)(n!iNp~unYn??~wO1eSLWD3{kJn$bdX=YQ8~*$2BwT^Up#}ba*ywR9 zn|rQ#qtjczM)QW7$O$Sn6xu3wZ&Q62Q2sT?6%@SvAGP$MbOIjHKQr}N+360Q@QjEH zK)fZ?gB}}obf9Q$OuY)RN(5~`iWMM)APFB`IobNa>(xpAa)D6MGYI%TNg4d^0l7_F zpyCi2CXK+~KA5TFf7{>apOSP;ev)*Vt&w)uCqna0<%pfT>9_E zs(iYts=!%Y!5DeJwd2HVf@_-%7QISRUdfFt$+^``lW|)5k;GN5VKH4EL@9eM7!_=? zhL1yqk@%$-W=ErUxYl6Oq;g@i=E_RbO(Gj4P8Jg7Ja&)G)fQ^8zI2br_fX&ZgO%+? z(Qx)ENuxM@eq2?YK5a?yMkOP5(l%!5gu))boT2Vx=gFasMFh9Nc5gj%9rNqg8x*~& zu5@Yo8`1NLos?{WE#jPoY(_la#HkIKhQLn77lFtPM|M@2TxhTbi1sgP4|;AAXcoE@ z?_`|mYlw(P=2g2Cn!rDO2-f|%kToYafdhd;HPXB8^_bZFxzKzx!h2ek!6p0xa{l_Zqq~cYi#E#k~tc=Lb`8P0-KVB@R7v!0TS`A7`R}%4TBhGYYYvH`apwFt8=LE+Ov12HCDU>Ym_YV;`Z^IJ`buZs43SM6aFfpkdZq zwg?ZdfMzLF+eDNzxv1Qva-=>if~Q2r6wo>KO*~McJ|XtvOccJ=$XHgJIDjF{*xEZe zwGEdJc`0nKD5J6fv{VUg_9)?jk4Phr=JND-U01Ad)<^$hdI%%d=(^Nm0!0@Ej25M ztQ&30a*wnL$z}5G$N^WBvfJ~3&H@)(_TDFqPQ1xV*-e*;5<7iqZbQk6bE}?`NpGqB z9CvT#1tP9iT?IErqY5s04YeIzA!8KBMWhik=Jz0@ClKCQDfx<~+!(x7iU2N25Sksq zvJrTSLhyscJp?o3Ib4D}&SOA{d^^kZCZJYdHh!?muP{4X-g(D{VLNM;C_dIz9W@bm z^O^+E*7>^-UCJp}m05s$#)QJga7H1%oZ8@Z#Ic>}*+U9pLOgXS=^nVARqQ zWy$}-22kc zQFa06Zij^GI)cj=^g}9+zWykmXVc{*ZSSRMwv}R6N?h)swpLABRL5G;#!0RuQv9bp zPJQ^7`TCQ&SEKU*$zsL&3qvVc+NviLS^sF%IEiW9+bFiy4YxQYyv9P^0dL?P(_}Kf zXir_bJ7*0X3cU`X zdqZ^qxt-d-)U;tylJuERU1_sr9r#1fzTymH&93TzRXvZrJZ;xl9_L-?r>2G}=9gVv z$jW~Kh=Xz_h+IoV`^$uz96l5p1xqj9%ngktvf9@Hk@#>h61%_ME+s;^!-)IQ_B1+G zqK8L^N=ddwHQwo;#fAW1QBCKo3`48_SCCHu?y~`TFx{Z_2nlRA)A&9tb86f89Iy@< zeSBGLj~^fYMMrk+=wTpyW7)9JPSbSalKvaxzChTtJPX@w&`lq+dRtv|mMJr0M)>YP zME0i?MBqtT$_gl{T{L)B9G{)bNGxPkP9-E~J2tg`H2|r0*rDg6=?6hpYXK1)jg2&_ z;6`3ppJnLJV%w!IcOk6-?k7`m$YjYLTLI`MQ^{OD*8F6}d{Pf6HYW9KXZ^+@ks1vp z%jUSh>}zJ^UP|U?zhnIB*J#ypCQU=w;E3rAe)QYz0`PoD1~un2UX5b(EggS(O^r&} zG=C+uR_n@0%d_7nD7VtqDR#5xf+(aLizkhMF^<{e%W0h_XI4kX+l7bwv+c1udba1r zBnnYtwhbSB)_|21)ia4Q*d0Rt(7d2m{v6WpjE&rWFaJv5MH7!F9yG|KfW->>w0H`V zSp>0y_7;n}bGH-NOynuZi4?XMdG z&*C8v5{3dh5H6#E7@R)DbOm)0=*wsarykyFQp&cF7$_E2yV-Ht5l?2efhs|~MVNdg z7l-$Y$7Nl^p7yk`PyY?2byJ2NmEb@r8)I-SE$!o9cw}XQ8JSJ=rV31E8#t?ftHfu1 zN8<(iAO~4*S}qJX;*2MaVu+}+MgRYzoit)F6)w*geg(VifL7GiH zd^pa6j;yQ!K}-8(?be7aONsMA( zRPQKPRlWmWXv~fuW3b!fK0R6~t1bcH#lGM~%S?aF&v{e2gR>GoL|FPFyk+BOa5<*u zf_Gx1WcbKrRn6T3S6>DuUHgiTh%@Mo#uGlD%fjv_PBmnG9%R_`F)?K?R(7hORw-4j zv-i5ajyz4iaw^BcG@ig2gxw$9XlJ)e^ZrZq^wpr0rQ(S(5Up~z@Q=48&s zBE%Q~8>0JL;01-i5`gM{HPt3e7=t{ylMwN$X)vg9?y*R&LtBZ65kwOdJy40m+dA>i zbMu2*aJGiKjk0rmwP~JN>=DbO7)J0>#Z4mjZ*p#jrLeZK+GB^K@)O>*4fY<|liiY= zK6$$URt|-1TQXN`xR10IXcXhKtpY{Np5jp-uc{8V;qGO*0?}|~7dOYpX;}eiGH+|M zOA}Yo98N92+qkw&WmpD#OxV*!E}wyzkhuKCX{lH7>9=_{@0!bvz=_S99=E1X-YiF|tW}k!d>`(1*Xm*H#S2p%gfRcaaD;092uC z`iAg_>?p9nd3vTkcywl1oTjud(LP^XIf&CmQ6}0-#4ni~1j`UT=Py>CAgR2%orlU! zxS|+%g2fvqQfweWv8v=#YvK1etwV7}ZFN0ti7z4-QQ^`eO3h(=#u=haChp-htHyGON;W%jh=L)wa?fE)824&6eH` z{@0TQR1=Ke99_yS)ns$GAGC}#HWkg=!!5SgFd5%?d;?Etnl+&SYd|lE>TZAvKo`Je zWS>gXzO=Y%mVhHdVId3x?(ZPL$jY`6SZ7s&7c!%yLnkWj8P$giFXpU4*ff*CoJ@VK zn@oB+x^iN!Pku7K`oXRT3)0X0m1u2r^K`3%*5D@^(C2abdZS{QXDaGY2>?E6PI8o} z7ved7HAg0rH@XeM1i>};8L-HC7GD2Yl0qRGs%L`D+FY;1fG&_CA(@h>9&;FS4nxtl zzl>`G9y#=-rfkYXp`Y9tDdp0=i;CBL3eaE1ChOt`&b-%Ktq!<2sC(@3oY zieQi2^nRLVExx=Dl_$`>Ne-*V^`>rRuc5J9pyr&*vo_--ccG(BABR#hqc!J&-;qSm35Q)q^h%U|p zQxqsAdAhn*(Qf6Ae=quFYy9<84`Y`~CL8nTMBYy};mVZQYTwQ_`od;Ue6zC%Pd zI|*_BglnpwjeTOmWcOqHul`Kh3Sts63vGbU&l+^1G@Eh=LN-7#uzJJ=uoFeNGCfSO zV4uuhT$F%Wkma?RnuT*me;4M4_^(S@JjgOX5Z~OH5n0NqLZq?+LnliU*O{M$E6zp_*ZxRQ^!SyoE_+_P#sQFp(1uV?Ub`T z@vTr-{UtjakB#R>*IY0FpyUmP7+oaWDt)ye(rkA8PM>z~w|OSEooXm3!Utl_VHN zmP_OTU|jeJ_bIkwI~se}8k_bIWF}o2Ed-AF35pWhCh$5LlsrowCu8yQav~NH%~Uf` zr!9bN^sOp|UJ<}pdRx5nU<^?T1y!f#X+V?mt~Lu&aDJT0xCtB5q8Hh=D1H5NG3O=-?>1